plot(cars)

Hello world!
No non-system installation of Python could be found.
Would you like to download and install Miniconda?
Miniconda is an open source environment management system for Python.
See https://docs.conda.io/en/latest/miniconda.html for more details.


Would you like to install Miniconda? [Y/n]: y
* Downloading 'https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh' ...
trying URL 'https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh'
Content type 'application/x-sh' length 52755183 bytes (50.3 MB)
==================================================
downloaded 50.3 MB

* Installing Miniconda -- please wait a moment ...
PREFIX=/Users/johnqu/Library/r-miniconda
Unpacking payload ...
Collecting package metadata (current_repodata.json): ...working... done                                       
Solving environment: ...working... done

## Package Plan ##

  environment location: /Users/johnqu/Library/r-miniconda

  added / updated specs:
    - asn1crypto==1.3.0=py37_0
    - ca-certificates==2020.1.1=0
    - certifi==2019.11.28=py37_0
    - cffi==1.14.0=py37hb5b8e2f_0
    - chardet==3.0.4=py37_1003
    - conda-package-handling==1.6.0=py37h1de35cc_0
    - conda==4.8.2=py37_0
    - cryptography==2.8=py37ha12b0ac_0
    - idna==2.8=py37_0
    - libcxx==4.0.1=hcfea43d_1
    - libcxxabi==4.0.1=hcfea43d_1
    - libedit==3.1.20181209=hb402a30_0
    - libffi==3.2.1=h475c297_4
    - ncurses==6.2=h0a44026_0
    - openssl==1.1.1d=h1de35cc_4
    - pip==20.0.2=py37_1
    - pycosat==0.6.3=py37h1de35cc_0
    - pycparser==2.19=py37_0
    - pyopenssl==19.1.0=py37_0
    - pysocks==1.7.1=py37_0
    - python.app==2=py37_10
    - python==3.7.6=h359304d_2
    - readline==7.0=h1de35cc_5
    - requests==2.22.0=py37_1
    - ruamel_yaml==0.15.87=py37h1de35cc_0
    - setuptools==45.2.0=py37_0
    - six==1.14.0=py37_0
    - sqlite==3.31.1=ha441bb4_0
    - tk==8.6.8=ha441bb4_0
    - tqdm==4.42.1=py_0
    - urllib3==1.25.8=py37_0
    - wheel==0.34.2=py37_0
    - xz==5.2.4=h1de35cc_4
    - yaml==0.1.7=hc338f04_2
    - zlib==1.2.11=h1de35cc_3


The following NEW packages will be INSTALLED:

  asn1crypto         pkgs/main/osx-64::asn1crypto-1.3.0-py37_0
  ca-certificates    pkgs/main/osx-64::ca-certificates-2020.1.1-0
  certifi            pkgs/main/osx-64::certifi-2019.11.28-py37_0
  cffi               pkgs/main/osx-64::cffi-1.14.0-py37hb5b8e2f_0
  chardet            pkgs/main/osx-64::chardet-3.0.4-py37_1003
  conda              pkgs/main/osx-64::conda-4.8.2-py37_0
  conda-package-han~ pkgs/main/osx-64::conda-package-handling-1.6.0-py37h1de35cc_0
  cryptography       pkgs/main/osx-64::cryptography-2.8-py37ha12b0ac_0
  idna               pkgs/main/osx-64::idna-2.8-py37_0
  libcxx             pkgs/main/osx-64::libcxx-4.0.1-hcfea43d_1
  libcxxabi          pkgs/main/osx-64::libcxxabi-4.0.1-hcfea43d_1
  libedit            pkgs/main/osx-64::libedit-3.1.20181209-hb402a30_0
  libffi             pkgs/main/osx-64::libffi-3.2.1-h475c297_4
  ncurses            pkgs/main/osx-64::ncurses-6.2-h0a44026_0
  openssl            pkgs/main/osx-64::openssl-1.1.1d-h1de35cc_4
  pip                pkgs/main/osx-64::pip-20.0.2-py37_1
  pycosat            pkgs/main/osx-64::pycosat-0.6.3-py37h1de35cc_0
  pycparser          pkgs/main/osx-64::pycparser-2.19-py37_0
  pyopenssl          pkgs/main/osx-64::pyopenssl-19.1.0-py37_0
  pysocks            pkgs/main/osx-64::pysocks-1.7.1-py37_0
  python             pkgs/main/osx-64::python-3.7.6-h359304d_2
  python.app         pkgs/main/osx-64::python.app-2-py37_10
  readline           pkgs/main/osx-64::readline-7.0-h1de35cc_5
  requests           pkgs/main/osx-64::requests-2.22.0-py37_1
  ruamel_yaml        pkgs/main/osx-64::ruamel_yaml-0.15.87-py37h1de35cc_0
  setuptools         pkgs/main/osx-64::setuptools-45.2.0-py37_0
  six                pkgs/main/osx-64::six-1.14.0-py37_0
  sqlite             pkgs/main/osx-64::sqlite-3.31.1-ha441bb4_0
  tk                 pkgs/main/osx-64::tk-8.6.8-ha441bb4_0
  tqdm               pkgs/main/noarch::tqdm-4.42.1-py_0
  urllib3            pkgs/main/osx-64::urllib3-1.25.8-py37_0
  wheel              pkgs/main/osx-64::wheel-0.34.2-py37_0
  xz                 pkgs/main/osx-64::xz-5.2.4-h1de35cc_4
  yaml               pkgs/main/osx-64::yaml-0.1.7-hc338f04_2
  zlib               pkgs/main/osx-64::zlib-1.2.11-h1de35cc_3


Preparing transaction: ...working... done
Executing transaction: ...working... done
installation finished.
Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... done

## Package Plan ##

  environment location: /Users/johnqu/Library/r-miniconda

  added / updated specs:
    - conda


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    certifi-2020.4.5.1         |           py37_0         155 KB
    conda-4.8.3                |           py37_0         2.8 MB
    conda-package-handling-1.6.1|   py37h1de35cc_0         1.3 MB
    cryptography-2.9.2         |   py37ha12b0ac_0         547 KB
    idna-2.9                   |             py_1          49 KB
    libcxx-10.0.0              |                1         760 KB
    libffi-3.2.1               |       h0a44026_6          39 KB
    ncurses-6.2                |       h0a44026_1         749 KB
    openssl-1.1.1g             |       h1de35cc_0         2.2 MB
    pip-20.0.2                 |           py37_3         1.7 MB
    pycparser-2.20             |             py_0          92 KB
    requests-2.23.0            |           py37_0          92 KB
    setuptools-46.4.0          |           py37_0         522 KB
    sqlite-3.31.1              |       h5c1f38d_1         1.3 MB
    tqdm-4.46.0                |             py_0          60 KB
    xz-5.2.5                   |       h1de35cc_0         240 KB
    ------------------------------------------------------------
                                           Total:        12.5 MB

The following packages will be REMOVED:

  asn1crypto-1.3.0-py37_0
  libcxxabi-4.0.1-hcfea43d_1

The following packages will be UPDATED:

  certifi                                 2019.11.28-py37_0 --> 2020.4.5.1-py37_0
  conda                                        4.8.2-py37_0 --> 4.8.3-py37_0
  conda-package-han~                   1.6.0-py37h1de35cc_0 --> 1.6.1-py37h1de35cc_0
  cryptography                           2.8-py37ha12b0ac_0 --> 2.9.2-py37ha12b0ac_0
  idna                    pkgs/main/osx-64::idna-2.8-py37_0 --> pkgs/main/noarch::idna-2.9-py_1
  libcxx                                   4.0.1-hcfea43d_1 --> 10.0.0-1
  libffi                                   3.2.1-h475c297_4 --> 3.2.1-h0a44026_6
  ncurses                                    6.2-h0a44026_0 --> 6.2-h0a44026_1
  openssl                                 1.1.1d-h1de35cc_4 --> 1.1.1g-h1de35cc_0
  pip                                         20.0.2-py37_1 --> 20.0.2-py37_3
  pycparser          pkgs/main/osx-64::pycparser-2.19-py37~ --> pkgs/main/noarch::pycparser-2.20-py_0
  requests                                    2.22.0-py37_1 --> 2.23.0-py37_0
  setuptools                                  45.2.0-py37_0 --> 46.4.0-py37_0
  sqlite                                  3.31.1-ha441bb4_0 --> 3.31.1-h5c1f38d_1
  tqdm                                          4.42.1-py_0 --> 4.46.0-py_0
  xz                                       5.2.4-h1de35cc_4 --> 5.2.5-h1de35cc_0



Downloading and Extracting Packages
setuptools-46.4.0    | 522 KB    | ########## | 100% 
conda-package-handli | 1.3 MB    | ########## | 100% 
pycparser-2.20       | 92 KB     | ########## | 100% 
pip-20.0.2           | 1.7 MB    | ########## | 100% 
openssl-1.1.1g       | 2.2 MB    | ########## | 100% 
xz-5.2.5             | 240 KB    | ########## | 100% 
idna-2.9             | 49 KB     | ########## | 100% 
sqlite-3.31.1        | 1.3 MB    | ########## | 100% 
certifi-2020.4.5.1   | 155 KB    | ########## | 100% 
ncurses-6.2          | 749 KB    | ########## | 100% 
libcxx-10.0.0        | 760 KB    | ########## | 100% 
tqdm-4.46.0          | 60 KB     | ########## | 100% 
requests-2.23.0      | 92 KB     | ########## | 100% 
cryptography-2.9.2   | 547 KB    | ########## | 100% 
conda-4.8.3          | 2.8 MB    | ########## | 100% 
libffi-3.2.1         | 39 KB     | ########## | 100% 
Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... done

## Package Plan ##

  environment location: /Users/johnqu/Library/r-miniconda/envs/r-reticulate

  added / updated specs:
    - numpy
    - python=3.6


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    blas-1.0                   |              mkl           6 KB
    certifi-2020.4.5.1         |           py36_0         155 KB
    intel-openmp-2019.4        |              233         887 KB
    libffi-3.3                 |       h0a44026_1          45 KB
    libgfortran-3.0.1          |       h93005f0_2         426 KB
    mkl-2019.4                 |              233       101.9 MB
    mkl-service-2.3.0          |   py36hfbe908c_0         202 KB
    mkl_fft-1.0.15             |   py36h5e564d8_0         139 KB
    mkl_random-1.1.0           |   py36ha771720_0         287 KB
    numpy-1.18.1               |   py36h7241aed_0           5 KB
    numpy-base-1.18.1          |   py36h3304bdc_1         4.0 MB
    pip-20.0.2                 |           py36_3         1.7 MB
    python-3.6.10              |       hf48f09d_2        17.1 MB
    readline-8.0               |       h1de35cc_0         326 KB
    setuptools-46.4.0          |           py36_0         513 KB
    six-1.14.0                 |           py36_0          26 KB
    wheel-0.34.2               |           py36_0          50 KB
    ------------------------------------------------------------
                                           Total:       127.7 MB

The following NEW packages will be INSTALLED:

  blas               pkgs/main/osx-64::blas-1.0-mkl
  ca-certificates    pkgs/main/osx-64::ca-certificates-2020.1.1-0
  certifi            pkgs/main/osx-64::certifi-2020.4.5.1-py36_0
  intel-openmp       pkgs/main/osx-64::intel-openmp-2019.4-233
  libcxx             pkgs/main/osx-64::libcxx-10.0.0-1
  libedit            pkgs/main/osx-64::libedit-3.1.20181209-hb402a30_0
  libffi             pkgs/main/osx-64::libffi-3.3-h0a44026_1
  libgfortran        pkgs/main/osx-64::libgfortran-3.0.1-h93005f0_2
  mkl                pkgs/main/osx-64::mkl-2019.4-233
  mkl-service        pkgs/main/osx-64::mkl-service-2.3.0-py36hfbe908c_0
  mkl_fft            pkgs/main/osx-64::mkl_fft-1.0.15-py36h5e564d8_0
  mkl_random         pkgs/main/osx-64::mkl_random-1.1.0-py36ha771720_0
  ncurses            pkgs/main/osx-64::ncurses-6.2-h0a44026_1
  numpy              pkgs/main/osx-64::numpy-1.18.1-py36h7241aed_0
  numpy-base         pkgs/main/osx-64::numpy-base-1.18.1-py36h3304bdc_1
  openssl            pkgs/main/osx-64::openssl-1.1.1g-h1de35cc_0
  pip                pkgs/main/osx-64::pip-20.0.2-py36_3
  python             pkgs/main/osx-64::python-3.6.10-hf48f09d_2
  readline           pkgs/main/osx-64::readline-8.0-h1de35cc_0
  setuptools         pkgs/main/osx-64::setuptools-46.4.0-py36_0
  six                pkgs/main/osx-64::six-1.14.0-py36_0
  sqlite             pkgs/main/osx-64::sqlite-3.31.1-h5c1f38d_1
  tk                 pkgs/main/osx-64::tk-8.6.8-ha441bb4_0
  wheel              pkgs/main/osx-64::wheel-0.34.2-py36_0
  xz                 pkgs/main/osx-64::xz-5.2.5-h1de35cc_0
  zlib               pkgs/main/osx-64::zlib-1.2.11-h1de35cc_3



Downloading and Extracting Packages
mkl-2019.4           | 101.9 MB  | #######6   |  77% 
libgfortran-3.0.1    | 426 KB    | ########## | 100% 
libffi-3.3           | 45 KB     | ########## | 100% 
python-3.6.10        | 17.1 MB   | ########## | 100% 
wheel-0.34.2         | 50 KB     | ########## | 100% 
mkl_fft-1.0.15       | 139 KB    | ########## | 100% 
mkl-service-2.3.0    | 202 KB    | ########## | 100% 
blas-1.0             | 6 KB      | ########## | 100% 
numpy-1.18.1         | 5 KB      | ########## | 100% 
numpy-base-1.18.1    | 4.0 MB    | ########## | 100% 
pip-20.0.2           | 1.7 MB    | ########## | 100% 
readline-8.0         | 326 KB    | ########## | 100% 
setuptools-46.4.0    | 513 KB    | ########## | 100% 
six-1.14.0           | 26 KB     | ########## | 100% 
intel-openmp-2019.4  | 887 KB    | ########## | 100% 
certifi-2020.4.5.1   | 155 KB    | ########## | 100% 
mkl_random-1.1.0     | 287 KB    | ########## | 100% 

CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/main/osx-64/mkl-2019.4-233.conda>
Elapsed: -

An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.


Error: Error 1 occurred creating conda environment r-reticulate
Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... done

## Package Plan ##

  environment location: /Users/johnqu/Library/r-miniconda/envs/r-reticulate

  added / updated specs:
    - numpy
    - python=3.6


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    mkl-2019.4                 |              233       101.9 MB
    ------------------------------------------------------------
                                           Total:       101.9 MB

The following NEW packages will be INSTALLED:

  blas               pkgs/main/osx-64::blas-1.0-mkl
  ca-certificates    pkgs/main/osx-64::ca-certificates-2020.1.1-0
  certifi            pkgs/main/osx-64::certifi-2020.4.5.1-py36_0
  intel-openmp       pkgs/main/osx-64::intel-openmp-2019.4-233
  libcxx             pkgs/main/osx-64::libcxx-10.0.0-1
  libedit            pkgs/main/osx-64::libedit-3.1.20181209-hb402a30_0
  libffi             pkgs/main/osx-64::libffi-3.3-h0a44026_1
  libgfortran        pkgs/main/osx-64::libgfortran-3.0.1-h93005f0_2
  mkl                pkgs/main/osx-64::mkl-2019.4-233
  mkl-service        pkgs/main/osx-64::mkl-service-2.3.0-py36hfbe908c_0
  mkl_fft            pkgs/main/osx-64::mkl_fft-1.0.15-py36h5e564d8_0
  mkl_random         pkgs/main/osx-64::mkl_random-1.1.0-py36ha771720_0
  ncurses            pkgs/main/osx-64::ncurses-6.2-h0a44026_1
  numpy              pkgs/main/osx-64::numpy-1.18.1-py36h7241aed_0
  numpy-base         pkgs/main/osx-64::numpy-base-1.18.1-py36h3304bdc_1
  openssl            pkgs/main/osx-64::openssl-1.1.1g-h1de35cc_0
  pip                pkgs/main/osx-64::pip-20.0.2-py36_3
  python             pkgs/main/osx-64::python-3.6.10-hf48f09d_2
  readline           pkgs/main/osx-64::readline-8.0-h1de35cc_0
  setuptools         pkgs/main/osx-64::setuptools-46.4.0-py36_0
  six                pkgs/main/osx-64::six-1.14.0-py36_0
  sqlite             pkgs/main/osx-64::sqlite-3.31.1-h5c1f38d_1
  tk                 pkgs/main/osx-64::tk-8.6.8-ha441bb4_0
  wheel              pkgs/main/osx-64::wheel-0.34.2-py36_0
  xz                 pkgs/main/osx-64::xz-5.2.5-h1de35cc_0
  zlib               pkgs/main/osx-64::zlib-1.2.11-h1de35cc_3



Downloading and Extracting Packages
mkl-2019.4           | 101.9 MB  | ########## | 100% 
Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
#
# To activate this environment, use
#
#     $ conda activate /Users/johnqu/Library/r-miniconda/envs/r-reticulate
#
# To deactivate an active environment, use
#
#     $ conda deactivate
LS0tCnRpdGxlOiBJbnN0YWxsIG1pbmljb25kYSB3aXRoaW4gcnN0dWRpbwpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKYXV0aG9yOiDmm7LmlL8KZGF0ZTogJzIwMjAtMDUtMjMnCnNsdWc6IGluc3RhbGwtbWluaWNvbmRhLXdpdGhpbi1yc3R1ZGlvCmNhdGVnb3JpZXM6IFtdCnRhZ3M6IFtdCgotLS0KYGBge3J9CnBsb3QoY2FycykKYGBgCgpgYGB7cHl0aG9ufQp4ID0gIkhlbGxvIHdvcmxkIgpwcmludCh4ICsgIiEiKQpgYGAKCmBgYHtjb25zb2xlfQpObyBub24tc3lzdGVtIGluc3RhbGxhdGlvbiBvZiBQeXRob24gY291bGQgYmUgZm91bmQuCldvdWxkIHlvdSBsaWtlIHRvIGRvd25sb2FkIGFuZCBpbnN0YWxsIE1pbmljb25kYT8KTWluaWNvbmRhIGlzIGFuIG9wZW4gc291cmNlIGVudmlyb25tZW50IG1hbmFnZW1lbnQgc3lzdGVtIGZvciBQeXRob24uClNlZSBodHRwczovL2RvY3MuY29uZGEuaW8vZW4vbGF0ZXN0L21pbmljb25kYS5odG1sIGZvciBtb3JlIGRldGFpbHMuCgoKV291bGQgeW91IGxpa2UgdG8gaW5zdGFsbCBNaW5pY29uZGE/IFtZL25dOiB5CiogRG93bmxvYWRpbmcgJ2h0dHBzOi8vcmVwby5hbmFjb25kYS5jb20vbWluaWNvbmRhL01pbmljb25kYTMtbGF0ZXN0LU1hY09TWC14ODZfNjQuc2gnIC4uLgp0cnlpbmcgVVJMICdodHRwczovL3JlcG8uYW5hY29uZGEuY29tL21pbmljb25kYS9NaW5pY29uZGEzLWxhdGVzdC1NYWNPU1gteDg2XzY0LnNoJwpDb250ZW50IHR5cGUgJ2FwcGxpY2F0aW9uL3gtc2gnIGxlbmd0aCA1Mjc1NTE4MyBieXRlcyAoNTAuMyBNQikKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZG93bmxvYWRlZCA1MC4zIE1CCgoqIEluc3RhbGxpbmcgTWluaWNvbmRhIC0tIHBsZWFzZSB3YWl0IGEgbW9tZW50IC4uLgpQUkVGSVg9L1VzZXJzL2pvaG5xdS9MaWJyYXJ5L3ItbWluaWNvbmRhClVucGFja2luZyBwYXlsb2FkIC4uLgpDb2xsZWN0aW5nIHBhY2thZ2UgbWV0YWRhdGEgKGN1cnJlbnRfcmVwb2RhdGEuanNvbik6IC4uLndvcmtpbmcuLi4gZG9uZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApTb2x2aW5nIGVudmlyb25tZW50OiAuLi53b3JraW5nLi4uIGRvbmUKCiMjIFBhY2thZ2UgUGxhbiAjIwoKICBlbnZpcm9ubWVudCBsb2NhdGlvbjogL1VzZXJzL2pvaG5xdS9MaWJyYXJ5L3ItbWluaWNvbmRhCgogIGFkZGVkIC8gdXBkYXRlZCBzcGVjczoKICAgIC0gYXNuMWNyeXB0bz09MS4zLjA9cHkzN18wCiAgICAtIGNhLWNlcnRpZmljYXRlcz09MjAyMC4xLjE9MAogICAgLSBjZXJ0aWZpPT0yMDE5LjExLjI4PXB5MzdfMAogICAgLSBjZmZpPT0xLjE0LjA9cHkzN2hiNWI4ZTJmXzAKICAgIC0gY2hhcmRldD09My4wLjQ9cHkzN18xMDAzCiAgICAtIGNvbmRhLXBhY2thZ2UtaGFuZGxpbmc9PTEuNi4wPXB5MzdoMWRlMzVjY18wCiAgICAtIGNvbmRhPT00LjguMj1weTM3XzAKICAgIC0gY3J5cHRvZ3JhcGh5PT0yLjg9cHkzN2hhMTJiMGFjXzAKICAgIC0gaWRuYT09Mi44PXB5MzdfMAogICAgLSBsaWJjeHg9PTQuMC4xPWhjZmVhNDNkXzEKICAgIC0gbGliY3h4YWJpPT00LjAuMT1oY2ZlYTQzZF8xCiAgICAtIGxpYmVkaXQ9PTMuMS4yMDE4MTIwOT1oYjQwMmEzMF8wCiAgICAtIGxpYmZmaT09My4yLjE9aDQ3NWMyOTdfNAogICAgLSBuY3Vyc2VzPT02LjI9aDBhNDQwMjZfMAogICAgLSBvcGVuc3NsPT0xLjEuMWQ9aDFkZTM1Y2NfNAogICAgLSBwaXA9PTIwLjAuMj1weTM3XzEKICAgIC0gcHljb3NhdD09MC42LjM9cHkzN2gxZGUzNWNjXzAKICAgIC0gcHljcGFyc2VyPT0yLjE5PXB5MzdfMAogICAgLSBweW9wZW5zc2w9PTE5LjEuMD1weTM3XzAKICAgIC0gcHlzb2Nrcz09MS43LjE9cHkzN18wCiAgICAtIHB5dGhvbi5hcHA9PTI9cHkzN18xMAogICAgLSBweXRob249PTMuNy42PWgzNTkzMDRkXzIKICAgIC0gcmVhZGxpbmU9PTcuMD1oMWRlMzVjY181CiAgICAtIHJlcXVlc3RzPT0yLjIyLjA9cHkzN18xCiAgICAtIHJ1YW1lbF95YW1sPT0wLjE1Ljg3PXB5MzdoMWRlMzVjY18wCiAgICAtIHNldHVwdG9vbHM9PTQ1LjIuMD1weTM3XzAKICAgIC0gc2l4PT0xLjE0LjA9cHkzN18wCiAgICAtIHNxbGl0ZT09My4zMS4xPWhhNDQxYmI0XzAKICAgIC0gdGs9PTguNi44PWhhNDQxYmI0XzAKICAgIC0gdHFkbT09NC40Mi4xPXB5XzAKICAgIC0gdXJsbGliMz09MS4yNS44PXB5MzdfMAogICAgLSB3aGVlbD09MC4zNC4yPXB5MzdfMAogICAgLSB4ej09NS4yLjQ9aDFkZTM1Y2NfNAogICAgLSB5YW1sPT0wLjEuNz1oYzMzOGYwNF8yCiAgICAtIHpsaWI9PTEuMi4xMT1oMWRlMzVjY18zCgoKVGhlIGZvbGxvd2luZyBORVcgcGFja2FnZXMgd2lsbCBiZSBJTlNUQUxMRUQ6CgogIGFzbjFjcnlwdG8gICAgICAgICBwa2dzL21haW4vb3N4LTY0Ojphc24xY3J5cHRvLTEuMy4wLXB5MzdfMAogIGNhLWNlcnRpZmljYXRlcyAgICBwa2dzL21haW4vb3N4LTY0OjpjYS1jZXJ0aWZpY2F0ZXMtMjAyMC4xLjEtMAogIGNlcnRpZmkgICAgICAgICAgICBwa2dzL21haW4vb3N4LTY0OjpjZXJ0aWZpLTIwMTkuMTEuMjgtcHkzN18wCiAgY2ZmaSAgICAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OmNmZmktMS4xNC4wLXB5MzdoYjViOGUyZl8wCiAgY2hhcmRldCAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OmNoYXJkZXQtMy4wLjQtcHkzN18xMDAzCiAgY29uZGEgICAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OmNvbmRhLTQuOC4yLXB5MzdfMAogIGNvbmRhLXBhY2thZ2UtaGFufiBwa2dzL21haW4vb3N4LTY0Ojpjb25kYS1wYWNrYWdlLWhhbmRsaW5nLTEuNi4wLXB5MzdoMWRlMzVjY18wCiAgY3J5cHRvZ3JhcGh5ICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OmNyeXB0b2dyYXBoeS0yLjgtcHkzN2hhMTJiMGFjXzAKICBpZG5hICAgICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6aWRuYS0yLjgtcHkzN18wCiAgbGliY3h4ICAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OmxpYmN4eC00LjAuMS1oY2ZlYTQzZF8xCiAgbGliY3h4YWJpICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OmxpYmN4eGFiaS00LjAuMS1oY2ZlYTQzZF8xCiAgbGliZWRpdCAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OmxpYmVkaXQtMy4xLjIwMTgxMjA5LWhiNDAyYTMwXzAKICBsaWJmZmkgICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6bGliZmZpLTMuMi4xLWg0NzVjMjk3XzQKICBuY3Vyc2VzICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6bmN1cnNlcy02LjItaDBhNDQwMjZfMAogIG9wZW5zc2wgICAgICAgICAgICBwa2dzL21haW4vb3N4LTY0OjpvcGVuc3NsLTEuMS4xZC1oMWRlMzVjY180CiAgcGlwICAgICAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnBpcC0yMC4wLjItcHkzN18xCiAgcHljb3NhdCAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnB5Y29zYXQtMC42LjMtcHkzN2gxZGUzNWNjXzAKICBweWNwYXJzZXIgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6cHljcGFyc2VyLTIuMTktcHkzN18wCiAgcHlvcGVuc3NsICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnB5b3BlbnNzbC0xOS4xLjAtcHkzN18wCiAgcHlzb2NrcyAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnB5c29ja3MtMS43LjEtcHkzN18wCiAgcHl0aG9uICAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnB5dGhvbi0zLjcuNi1oMzU5MzA0ZF8yCiAgcHl0aG9uLmFwcCAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnB5dGhvbi5hcHAtMi1weTM3XzEwCiAgcmVhZGxpbmUgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnJlYWRsaW5lLTcuMC1oMWRlMzVjY181CiAgcmVxdWVzdHMgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnJlcXVlc3RzLTIuMjIuMC1weTM3XzEKICBydWFtZWxfeWFtbCAgICAgICAgcGtncy9tYWluL29zeC02NDo6cnVhbWVsX3lhbWwtMC4xNS44Ny1weTM3aDFkZTM1Y2NfMAogIHNldHVwdG9vbHMgICAgICAgICBwa2dzL21haW4vb3N4LTY0OjpzZXR1cHRvb2xzLTQ1LjIuMC1weTM3XzAKICBzaXggICAgICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6c2l4LTEuMTQuMC1weTM3XzAKICBzcWxpdGUgICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6c3FsaXRlLTMuMzEuMS1oYTQ0MWJiNF8wCiAgdGsgICAgICAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnRrLTguNi44LWhhNDQxYmI0XzAKICB0cWRtICAgICAgICAgICAgICAgcGtncy9tYWluL25vYXJjaDo6dHFkbS00LjQyLjEtcHlfMAogIHVybGxpYjMgICAgICAgICAgICBwa2dzL21haW4vb3N4LTY0Ojp1cmxsaWIzLTEuMjUuOC1weTM3XzAKICB3aGVlbCAgICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6d2hlZWwtMC4zNC4yLXB5MzdfMAogIHh6ICAgICAgICAgICAgICAgICBwa2dzL21haW4vb3N4LTY0Ojp4ei01LjIuNC1oMWRlMzVjY180CiAgeWFtbCAgICAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnlhbWwtMC4xLjctaGMzMzhmMDRfMgogIHpsaWIgICAgICAgICAgICAgICBwa2dzL21haW4vb3N4LTY0Ojp6bGliLTEuMi4xMS1oMWRlMzVjY18zCgoKUHJlcGFyaW5nIHRyYW5zYWN0aW9uOiAuLi53b3JraW5nLi4uIGRvbmUKRXhlY3V0aW5nIHRyYW5zYWN0aW9uOiAuLi53b3JraW5nLi4uIGRvbmUKaW5zdGFsbGF0aW9uIGZpbmlzaGVkLgpDb2xsZWN0aW5nIHBhY2thZ2UgbWV0YWRhdGEgKGN1cnJlbnRfcmVwb2RhdGEuanNvbik6IC4uLndvcmtpbmcuLi4gZG9uZQpTb2x2aW5nIGVudmlyb25tZW50OiAuLi53b3JraW5nLi4uIGRvbmUKCiMjIFBhY2thZ2UgUGxhbiAjIwoKICBlbnZpcm9ubWVudCBsb2NhdGlvbjogL1VzZXJzL2pvaG5xdS9MaWJyYXJ5L3ItbWluaWNvbmRhCgogIGFkZGVkIC8gdXBkYXRlZCBzcGVjczoKICAgIC0gY29uZGEKCgpUaGUgZm9sbG93aW5nIHBhY2thZ2VzIHdpbGwgYmUgZG93bmxvYWRlZDoKCiAgICBwYWNrYWdlICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgYnVpbGQKICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLQogICAgY2VydGlmaS0yMDIwLjQuNS4xICAgICAgICAgfCAgICAgICAgICAgcHkzN18wICAgICAgICAgMTU1IEtCCiAgICBjb25kYS00LjguMyAgICAgICAgICAgICAgICB8ICAgICAgICAgICBweTM3XzAgICAgICAgICAyLjggTUIKICAgIGNvbmRhLXBhY2thZ2UtaGFuZGxpbmctMS42LjF8ICAgcHkzN2gxZGUzNWNjXzAgICAgICAgICAxLjMgTUIKICAgIGNyeXB0b2dyYXBoeS0yLjkuMiAgICAgICAgIHwgICBweTM3aGExMmIwYWNfMCAgICAgICAgIDU0NyBLQgogICAgaWRuYS0yLjkgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICBweV8xICAgICAgICAgIDQ5IEtCCiAgICBsaWJjeHgtMTAuMC4wICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgIDEgICAgICAgICA3NjAgS0IKICAgIGxpYmZmaS0zLjIuMSAgICAgICAgICAgICAgIHwgICAgICAgaDBhNDQwMjZfNiAgICAgICAgICAzOSBLQgogICAgbmN1cnNlcy02LjIgICAgICAgICAgICAgICAgfCAgICAgICBoMGE0NDAyNl8xICAgICAgICAgNzQ5IEtCCiAgICBvcGVuc3NsLTEuMS4xZyAgICAgICAgICAgICB8ICAgICAgIGgxZGUzNWNjXzAgICAgICAgICAyLjIgTUIKICAgIHBpcC0yMC4wLjIgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHB5MzdfMyAgICAgICAgIDEuNyBNQgogICAgcHljcGFyc2VyLTIuMjAgICAgICAgICAgICAgfCAgICAgICAgICAgICBweV8wICAgICAgICAgIDkyIEtCCiAgICByZXF1ZXN0cy0yLjIzLjAgICAgICAgICAgICB8ICAgICAgICAgICBweTM3XzAgICAgICAgICAgOTIgS0IKICAgIHNldHVwdG9vbHMtNDYuNC4wICAgICAgICAgIHwgICAgICAgICAgIHB5MzdfMCAgICAgICAgIDUyMiBLQgogICAgc3FsaXRlLTMuMzEuMSAgICAgICAgICAgICAgfCAgICAgICBoNWMxZjM4ZF8xICAgICAgICAgMS4zIE1CCiAgICB0cWRtLTQuNDYuMCAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIHB5XzAgICAgICAgICAgNjAgS0IKICAgIHh6LTUuMi41ICAgICAgICAgICAgICAgICAgIHwgICAgICAgaDFkZTM1Y2NfMCAgICAgICAgIDI0MCBLQgogICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb3RhbDogICAgICAgIDEyLjUgTUIKClRoZSBmb2xsb3dpbmcgcGFja2FnZXMgd2lsbCBiZSBSRU1PVkVEOgoKICBhc24xY3J5cHRvLTEuMy4wLXB5MzdfMAogIGxpYmN4eGFiaS00LjAuMS1oY2ZlYTQzZF8xCgpUaGUgZm9sbG93aW5nIHBhY2thZ2VzIHdpbGwgYmUgVVBEQVRFRDoKCiAgY2VydGlmaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMTkuMTEuMjgtcHkzN18wIC0tPiAyMDIwLjQuNS4xLXB5MzdfMAogIGNvbmRhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuOC4yLXB5MzdfMCAtLT4gNC44LjMtcHkzN18wCiAgY29uZGEtcGFja2FnZS1oYW5+ICAgICAgICAgICAgICAgICAgIDEuNi4wLXB5MzdoMWRlMzVjY18wIC0tPiAxLjYuMS1weTM3aDFkZTM1Y2NfMAogIGNyeXB0b2dyYXBoeSAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuOC1weTM3aGExMmIwYWNfMCAtLT4gMi45LjItcHkzN2hhMTJiMGFjXzAKICBpZG5hICAgICAgICAgICAgICAgICAgICBwa2dzL21haW4vb3N4LTY0OjppZG5hLTIuOC1weTM3XzAgLS0+IHBrZ3MvbWFpbi9ub2FyY2g6OmlkbmEtMi45LXB5XzEKICBsaWJjeHggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuMC4xLWhjZmVhNDNkXzEgLS0+IDEwLjAuMC0xCiAgbGliZmZpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjIuMS1oNDc1YzI5N180IC0tPiAzLjIuMS1oMGE0NDAyNl82CiAgbmN1cnNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYuMi1oMGE0NDAyNl8wIC0tPiA2LjItaDBhNDQwMjZfMQogIG9wZW5zc2wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjEuMWQtaDFkZTM1Y2NfNCAtLT4gMS4xLjFnLWgxZGUzNWNjXzAKICBwaXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwLjAuMi1weTM3XzEgLS0+IDIwLjAuMi1weTM3XzMKICBweWNwYXJzZXIgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6cHljcGFyc2VyLTIuMTktcHkzN34gLS0+IHBrZ3MvbWFpbi9ub2FyY2g6OnB5Y3BhcnNlci0yLjIwLXB5XzAKICByZXF1ZXN0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMjIuMC1weTM3XzEgLS0+IDIuMjMuMC1weTM3XzAKICBzZXR1cHRvb2xzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ1LjIuMC1weTM3XzAgLS0+IDQ2LjQuMC1weTM3XzAKICBzcWxpdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy4zMS4xLWhhNDQxYmI0XzAgLS0+IDMuMzEuMS1oNWMxZjM4ZF8xCiAgdHFkbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNDIuMS1weV8wIC0tPiA0LjQ2LjAtcHlfMAogIHh6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS4yLjQtaDFkZTM1Y2NfNCAtLT4gNS4yLjUtaDFkZTM1Y2NfMAoKCgpEb3dubG9hZGluZyBhbmQgRXh0cmFjdGluZyBQYWNrYWdlcwpzZXR1cHRvb2xzLTQ2LjQuMCAgICB8IDUyMiBLQiAgICB8ICMjIyMjIyMjIyMgfCAxMDAlIApjb25kYS1wYWNrYWdlLWhhbmRsaSB8IDEuMyBNQiAgICB8ICMjIyMjIyMjIyMgfCAxMDAlIApweWNwYXJzZXItMi4yMCAgICAgICB8IDkyIEtCICAgICB8ICMjIyMjIyMjIyMgfCAxMDAlIApwaXAtMjAuMC4yICAgICAgICAgICB8IDEuNyBNQiAgICB8ICMjIyMjIyMjIyMgfCAxMDAlIApvcGVuc3NsLTEuMS4xZyAgICAgICB8IDIuMiBNQiAgICB8ICMjIyMjIyMjIyMgfCAxMDAlIAp4ei01LjIuNSAgICAgICAgICAgICB8IDI0MCBLQiAgICB8ICMjIyMjIyMjIyMgfCAxMDAlIAppZG5hLTIuOSAgICAgICAgICAgICB8IDQ5IEtCICAgICB8ICMjIyMjIyMjIyMgfCAxMDAlIApzcWxpdGUtMy4zMS4xICAgICAgICB8IDEuMyBNQiAgICB8ICMjIyMjIyMjIyMgfCAxMDAlIApjZXJ0aWZpLTIwMjAuNC41LjEgICB8IDE1NSBLQiAgICB8ICMjIyMjIyMjIyMgfCAxMDAlIApuY3Vyc2VzLTYuMiAgICAgICAgICB8IDc0OSBLQiAgICB8ICMjIyMjIyMjIyMgfCAxMDAlIApsaWJjeHgtMTAuMC4wICAgICAgICB8IDc2MCBLQiAgICB8ICMjIyMjIyMjIyMgfCAxMDAlIAp0cWRtLTQuNDYuMCAgICAgICAgICB8IDYwIEtCICAgICB8ICMjIyMjIyMjIyMgfCAxMDAlIApyZXF1ZXN0cy0yLjIzLjAgICAgICB8IDkyIEtCICAgICB8ICMjIyMjIyMjIyMgfCAxMDAlIApjcnlwdG9ncmFwaHktMi45LjIgICB8IDU0NyBLQiAgICB8ICMjIyMjIyMjIyMgfCAxMDAlIApjb25kYS00LjguMyAgICAgICAgICB8IDIuOCBNQiAgICB8ICMjIyMjIyMjIyMgfCAxMDAlIApsaWJmZmktMy4yLjEgICAgICAgICB8IDM5IEtCICAgICB8ICMjIyMjIyMjIyMgfCAxMDAlIApQcmVwYXJpbmcgdHJhbnNhY3Rpb246IC4uLndvcmtpbmcuLi4gZG9uZQpWZXJpZnlpbmcgdHJhbnNhY3Rpb246IC4uLndvcmtpbmcuLi4gZG9uZQpFeGVjdXRpbmcgdHJhbnNhY3Rpb246IC4uLndvcmtpbmcuLi4gZG9uZQpDb2xsZWN0aW5nIHBhY2thZ2UgbWV0YWRhdGEgKGN1cnJlbnRfcmVwb2RhdGEuanNvbik6IC4uLndvcmtpbmcuLi4gZG9uZQpTb2x2aW5nIGVudmlyb25tZW50OiAuLi53b3JraW5nLi4uIGRvbmUKCiMjIFBhY2thZ2UgUGxhbiAjIwoKICBlbnZpcm9ubWVudCBsb2NhdGlvbjogL1VzZXJzL2pvaG5xdS9MaWJyYXJ5L3ItbWluaWNvbmRhL2VudnMvci1yZXRpY3VsYXRlCgogIGFkZGVkIC8gdXBkYXRlZCBzcGVjczoKICAgIC0gbnVtcHkKICAgIC0gcHl0aG9uPTMuNgoKClRoZSBmb2xsb3dpbmcgcGFja2FnZXMgd2lsbCBiZSBkb3dubG9hZGVkOgoKICAgIHBhY2thZ2UgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICBidWlsZAogICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tCiAgICBibGFzLTEuMCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICBta2wgICAgICAgICAgIDYgS0IKICAgIGNlcnRpZmktMjAyMC40LjUuMSAgICAgICAgIHwgICAgICAgICAgIHB5MzZfMCAgICAgICAgIDE1NSBLQgogICAgaW50ZWwtb3Blbm1wLTIwMTkuNCAgICAgICAgfCAgICAgICAgICAgICAgMjMzICAgICAgICAgODg3IEtCCiAgICBsaWJmZmktMy4zICAgICAgICAgICAgICAgICB8ICAgICAgIGgwYTQ0MDI2XzEgICAgICAgICAgNDUgS0IKICAgIGxpYmdmb3J0cmFuLTMuMC4xICAgICAgICAgIHwgICAgICAgaDkzMDA1ZjBfMiAgICAgICAgIDQyNiBLQgogICAgbWtsLTIwMTkuNCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgMjMzICAgICAgIDEwMS45IE1CCiAgICBta2wtc2VydmljZS0yLjMuMCAgICAgICAgICB8ICAgcHkzNmhmYmU5MDhjXzAgICAgICAgICAyMDIgS0IKICAgIG1rbF9mZnQtMS4wLjE1ICAgICAgICAgICAgIHwgICBweTM2aDVlNTY0ZDhfMCAgICAgICAgIDEzOSBLQgogICAgbWtsX3JhbmRvbS0xLjEuMCAgICAgICAgICAgfCAgIHB5MzZoYTc3MTcyMF8wICAgICAgICAgMjg3IEtCCiAgICBudW1weS0xLjE4LjEgICAgICAgICAgICAgICB8ICAgcHkzNmg3MjQxYWVkXzAgICAgICAgICAgIDUgS0IKICAgIG51bXB5LWJhc2UtMS4xOC4xICAgICAgICAgIHwgICBweTM2aDMzMDRiZGNfMSAgICAgICAgIDQuMCBNQgogICAgcGlwLTIwLjAuMiAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgcHkzNl8zICAgICAgICAgMS43IE1CCiAgICBweXRob24tMy42LjEwICAgICAgICAgICAgICB8ICAgICAgIGhmNDhmMDlkXzIgICAgICAgIDE3LjEgTUIKICAgIHJlYWRsaW5lLTguMCAgICAgICAgICAgICAgIHwgICAgICAgaDFkZTM1Y2NfMCAgICAgICAgIDMyNiBLQgogICAgc2V0dXB0b29scy00Ni40LjAgICAgICAgICAgfCAgICAgICAgICAgcHkzNl8wICAgICAgICAgNTEzIEtCCiAgICBzaXgtMS4xNC4wICAgICAgICAgICAgICAgICB8ICAgICAgICAgICBweTM2XzAgICAgICAgICAgMjYgS0IKICAgIHdoZWVsLTAuMzQuMiAgICAgICAgICAgICAgIHwgICAgICAgICAgIHB5MzZfMCAgICAgICAgICA1MCBLQgogICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb3RhbDogICAgICAgMTI3LjcgTUIKClRoZSBmb2xsb3dpbmcgTkVXIHBhY2thZ2VzIHdpbGwgYmUgSU5TVEFMTEVEOgoKICBibGFzICAgICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6Ymxhcy0xLjAtbWtsCiAgY2EtY2VydGlmaWNhdGVzICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OmNhLWNlcnRpZmljYXRlcy0yMDIwLjEuMS0wCiAgY2VydGlmaSAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OmNlcnRpZmktMjAyMC40LjUuMS1weTM2XzAKICBpbnRlbC1vcGVubXAgICAgICAgcGtncy9tYWluL29zeC02NDo6aW50ZWwtb3Blbm1wLTIwMTkuNC0yMzMKICBsaWJjeHggICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6bGliY3h4LTEwLjAuMC0xCiAgbGliZWRpdCAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OmxpYmVkaXQtMy4xLjIwMTgxMjA5LWhiNDAyYTMwXzAKICBsaWJmZmkgICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6bGliZmZpLTMuMy1oMGE0NDAyNl8xCiAgbGliZ2ZvcnRyYW4gICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OmxpYmdmb3J0cmFuLTMuMC4xLWg5MzAwNWYwXzIKICBta2wgICAgICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6bWtsLTIwMTkuNC0yMzMKICBta2wtc2VydmljZSAgICAgICAgcGtncy9tYWluL29zeC02NDo6bWtsLXNlcnZpY2UtMi4zLjAtcHkzNmhmYmU5MDhjXzAKICBta2xfZmZ0ICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6bWtsX2ZmdC0xLjAuMTUtcHkzNmg1ZTU2NGQ4XzAKICBta2xfcmFuZG9tICAgICAgICAgcGtncy9tYWluL29zeC02NDo6bWtsX3JhbmRvbS0xLjEuMC1weTM2aGE3NzE3MjBfMAogIG5jdXJzZXMgICAgICAgICAgICBwa2dzL21haW4vb3N4LTY0OjpuY3Vyc2VzLTYuMi1oMGE0NDAyNl8xCiAgbnVtcHkgICAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6Om51bXB5LTEuMTguMS1weTM2aDcyNDFhZWRfMAogIG51bXB5LWJhc2UgICAgICAgICBwa2dzL21haW4vb3N4LTY0OjpudW1weS1iYXNlLTEuMTguMS1weTM2aDMzMDRiZGNfMQogIG9wZW5zc2wgICAgICAgICAgICBwa2dzL21haW4vb3N4LTY0OjpvcGVuc3NsLTEuMS4xZy1oMWRlMzVjY18wCiAgcGlwICAgICAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnBpcC0yMC4wLjItcHkzNl8zCiAgcHl0aG9uICAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnB5dGhvbi0zLjYuMTAtaGY0OGYwOWRfMgogIHJlYWRsaW5lICAgICAgICAgICBwa2dzL21haW4vb3N4LTY0OjpyZWFkbGluZS04LjAtaDFkZTM1Y2NfMAogIHNldHVwdG9vbHMgICAgICAgICBwa2dzL21haW4vb3N4LTY0OjpzZXR1cHRvb2xzLTQ2LjQuMC1weTM2XzAKICBzaXggICAgICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6c2l4LTEuMTQuMC1weTM2XzAKICBzcWxpdGUgICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6c3FsaXRlLTMuMzEuMS1oNWMxZjM4ZF8xCiAgdGsgICAgICAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnRrLTguNi44LWhhNDQxYmI0XzAKICB3aGVlbCAgICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6d2hlZWwtMC4zNC4yLXB5MzZfMAogIHh6ICAgICAgICAgICAgICAgICBwa2dzL21haW4vb3N4LTY0Ojp4ei01LjIuNS1oMWRlMzVjY18wCiAgemxpYiAgICAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnpsaWItMS4yLjExLWgxZGUzNWNjXzMKCgoKRG93bmxvYWRpbmcgYW5kIEV4dHJhY3RpbmcgUGFja2FnZXMKbWtsLTIwMTkuNCAgICAgICAgICAgfCAxMDEuOSBNQiAgfCAjIyMjIyMjNiAgIHwgIDc3JSAKbGliZ2ZvcnRyYW4tMy4wLjEgICAgfCA0MjYgS0IgICAgfCAjIyMjIyMjIyMjIHwgMTAwJSAKbGliZmZpLTMuMyAgICAgICAgICAgfCA0NSBLQiAgICAgfCAjIyMjIyMjIyMjIHwgMTAwJSAKcHl0aG9uLTMuNi4xMCAgICAgICAgfCAxNy4xIE1CICAgfCAjIyMjIyMjIyMjIHwgMTAwJSAKd2hlZWwtMC4zNC4yICAgICAgICAgfCA1MCBLQiAgICAgfCAjIyMjIyMjIyMjIHwgMTAwJSAKbWtsX2ZmdC0xLjAuMTUgICAgICAgfCAxMzkgS0IgICAgfCAjIyMjIyMjIyMjIHwgMTAwJSAKbWtsLXNlcnZpY2UtMi4zLjAgICAgfCAyMDIgS0IgICAgfCAjIyMjIyMjIyMjIHwgMTAwJSAKYmxhcy0xLjAgICAgICAgICAgICAgfCA2IEtCICAgICAgfCAjIyMjIyMjIyMjIHwgMTAwJSAKbnVtcHktMS4xOC4xICAgICAgICAgfCA1IEtCICAgICAgfCAjIyMjIyMjIyMjIHwgMTAwJSAKbnVtcHktYmFzZS0xLjE4LjEgICAgfCA0LjAgTUIgICAgfCAjIyMjIyMjIyMjIHwgMTAwJSAKcGlwLTIwLjAuMiAgICAgICAgICAgfCAxLjcgTUIgICAgfCAjIyMjIyMjIyMjIHwgMTAwJSAKcmVhZGxpbmUtOC4wICAgICAgICAgfCAzMjYgS0IgICAgfCAjIyMjIyMjIyMjIHwgMTAwJSAKc2V0dXB0b29scy00Ni40LjAgICAgfCA1MTMgS0IgICAgfCAjIyMjIyMjIyMjIHwgMTAwJSAKc2l4LTEuMTQuMCAgICAgICAgICAgfCAyNiBLQiAgICAgfCAjIyMjIyMjIyMjIHwgMTAwJSAKaW50ZWwtb3Blbm1wLTIwMTkuNCAgfCA4ODcgS0IgICAgfCAjIyMjIyMjIyMjIHwgMTAwJSAKY2VydGlmaS0yMDIwLjQuNS4xICAgfCAxNTUgS0IgICAgfCAjIyMjIyMjIyMjIHwgMTAwJSAKbWtsX3JhbmRvbS0xLjEuMCAgICAgfCAyODcgS0IgICAgfCAjIyMjIyMjIyMjIHwgMTAwJSAKCkNvbmRhSFRUUEVycm9yOiBIVFRQIDAwMCBDT05ORUNUSU9OIEZBSUxFRCBmb3IgdXJsIDxodHRwczovL3JlcG8uYW5hY29uZGEuY29tL3BrZ3MvbWFpbi9vc3gtNjQvbWtsLTIwMTkuNC0yMzMuY29uZGE+CkVsYXBzZWQ6IC0KCkFuIEhUVFAgZXJyb3Igb2NjdXJyZWQgd2hlbiB0cnlpbmcgdG8gcmV0cmlldmUgdGhpcyBVUkwuCkhUVFAgZXJyb3JzIGFyZSBvZnRlbiBpbnRlcm1pdHRlbnQsIGFuZCBhIHNpbXBsZSByZXRyeSB3aWxsIGdldCB5b3Ugb24geW91ciB3YXkuCgoKRXJyb3I6IEVycm9yIDEgb2NjdXJyZWQgY3JlYXRpbmcgY29uZGEgZW52aXJvbm1lbnQgci1yZXRpY3VsYXRlCkNvbGxlY3RpbmcgcGFja2FnZSBtZXRhZGF0YSAoY3VycmVudF9yZXBvZGF0YS5qc29uKTogLi4ud29ya2luZy4uLiBkb25lClNvbHZpbmcgZW52aXJvbm1lbnQ6IC4uLndvcmtpbmcuLi4gZG9uZQoKIyMgUGFja2FnZSBQbGFuICMjCgogIGVudmlyb25tZW50IGxvY2F0aW9uOiAvVXNlcnMvam9obnF1L0xpYnJhcnkvci1taW5pY29uZGEvZW52cy9yLXJldGljdWxhdGUKCiAgYWRkZWQgLyB1cGRhdGVkIHNwZWNzOgogICAgLSBudW1weQogICAgLSBweXRob249My42CgoKVGhlIGZvbGxvd2luZyBwYWNrYWdlcyB3aWxsIGJlIGRvd25sb2FkZWQ6CgogICAgcGFja2FnZSAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIGJ1aWxkCiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0KICAgIG1rbC0yMDE5LjQgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgIDIzMyAgICAgICAxMDEuOSBNQgogICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb3RhbDogICAgICAgMTAxLjkgTUIKClRoZSBmb2xsb3dpbmcgTkVXIHBhY2thZ2VzIHdpbGwgYmUgSU5TVEFMTEVEOgoKICBibGFzICAgICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6Ymxhcy0xLjAtbWtsCiAgY2EtY2VydGlmaWNhdGVzICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OmNhLWNlcnRpZmljYXRlcy0yMDIwLjEuMS0wCiAgY2VydGlmaSAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OmNlcnRpZmktMjAyMC40LjUuMS1weTM2XzAKICBpbnRlbC1vcGVubXAgICAgICAgcGtncy9tYWluL29zeC02NDo6aW50ZWwtb3Blbm1wLTIwMTkuNC0yMzMKICBsaWJjeHggICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6bGliY3h4LTEwLjAuMC0xCiAgbGliZWRpdCAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OmxpYmVkaXQtMy4xLjIwMTgxMjA5LWhiNDAyYTMwXzAKICBsaWJmZmkgICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6bGliZmZpLTMuMy1oMGE0NDAyNl8xCiAgbGliZ2ZvcnRyYW4gICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OmxpYmdmb3J0cmFuLTMuMC4xLWg5MzAwNWYwXzIKICBta2wgICAgICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6bWtsLTIwMTkuNC0yMzMKICBta2wtc2VydmljZSAgICAgICAgcGtncy9tYWluL29zeC02NDo6bWtsLXNlcnZpY2UtMi4zLjAtcHkzNmhmYmU5MDhjXzAKICBta2xfZmZ0ICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6bWtsX2ZmdC0xLjAuMTUtcHkzNmg1ZTU2NGQ4XzAKICBta2xfcmFuZG9tICAgICAgICAgcGtncy9tYWluL29zeC02NDo6bWtsX3JhbmRvbS0xLjEuMC1weTM2aGE3NzE3MjBfMAogIG5jdXJzZXMgICAgICAgICAgICBwa2dzL21haW4vb3N4LTY0OjpuY3Vyc2VzLTYuMi1oMGE0NDAyNl8xCiAgbnVtcHkgICAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6Om51bXB5LTEuMTguMS1weTM2aDcyNDFhZWRfMAogIG51bXB5LWJhc2UgICAgICAgICBwa2dzL21haW4vb3N4LTY0OjpudW1weS1iYXNlLTEuMTguMS1weTM2aDMzMDRiZGNfMQogIG9wZW5zc2wgICAgICAgICAgICBwa2dzL21haW4vb3N4LTY0OjpvcGVuc3NsLTEuMS4xZy1oMWRlMzVjY18wCiAgcGlwICAgICAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnBpcC0yMC4wLjItcHkzNl8zCiAgcHl0aG9uICAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnB5dGhvbi0zLjYuMTAtaGY0OGYwOWRfMgogIHJlYWRsaW5lICAgICAgICAgICBwa2dzL21haW4vb3N4LTY0OjpyZWFkbGluZS04LjAtaDFkZTM1Y2NfMAogIHNldHVwdG9vbHMgICAgICAgICBwa2dzL21haW4vb3N4LTY0OjpzZXR1cHRvb2xzLTQ2LjQuMC1weTM2XzAKICBzaXggICAgICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6c2l4LTEuMTQuMC1weTM2XzAKICBzcWxpdGUgICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6c3FsaXRlLTMuMzEuMS1oNWMxZjM4ZF8xCiAgdGsgICAgICAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnRrLTguNi44LWhhNDQxYmI0XzAKICB3aGVlbCAgICAgICAgICAgICAgcGtncy9tYWluL29zeC02NDo6d2hlZWwtMC4zNC4yLXB5MzZfMAogIHh6ICAgICAgICAgICAgICAgICBwa2dzL21haW4vb3N4LTY0Ojp4ei01LjIuNS1oMWRlMzVjY18wCiAgemxpYiAgICAgICAgICAgICAgIHBrZ3MvbWFpbi9vc3gtNjQ6OnpsaWItMS4yLjExLWgxZGUzNWNjXzMKCgoKRG93bmxvYWRpbmcgYW5kIEV4dHJhY3RpbmcgUGFja2FnZXMKbWtsLTIwMTkuNCAgICAgICAgICAgfCAxMDEuOSBNQiAgfCAjIyMjIyMjIyMjIHwgMTAwJSAKUHJlcGFyaW5nIHRyYW5zYWN0aW9uOiAuLi53b3JraW5nLi4uIGRvbmUKVmVyaWZ5aW5nIHRyYW5zYWN0aW9uOiAuLi53b3JraW5nLi4uIGRvbmUKRXhlY3V0aW5nIHRyYW5zYWN0aW9uOiAuLi53b3JraW5nLi4uIGRvbmUKIwojIFRvIGFjdGl2YXRlIHRoaXMgZW52aXJvbm1lbnQsIHVzZQojCiMgICAgICQgY29uZGEgYWN0aXZhdGUgL1VzZXJzL2pvaG5xdS9MaWJyYXJ5L3ItbWluaWNvbmRhL2VudnMvci1yZXRpY3VsYXRlCiMKIyBUbyBkZWFjdGl2YXRlIGFuIGFjdGl2ZSBlbnZpcm9ubWVudCwgdXNlCiMKIyAgICAgJCBjb25kYSBkZWFjdGl2YXRlCmBgYA==