From 01e14f0aa89e7bc6801535b17d574b93df5db905 Mon Sep 17 00:00:00 2001 From: Gitea Action Date: Sat, 20 Jun 2026 08:27:40 +0000 Subject: [PATCH] VI3DGL: v1.4.2 (2026-06-20T08:27) --- VI3DGL/MANIFEST.txt | 76 + VI3DGL/VERSION | 1 + VI3DGL/sync-bundle-01.txt | 14021 ++++++++++++++++++++++++++++++ VI3DGL/sync-bundle-02.txt | 14546 +++++++++++++++++++++++++++++++ VI3DGL/sync-bundle-03.txt | 15034 ++++++++++++++++++++++++++++++++ VI3DGL/sync-bundle-04.txt | 860 ++ VI3DGL/sync-bundle-05.txt | 16704 ++++++++++++++++++++++++++++++++++++ VI3DGL/sync-entpacken.bat | 58 + 8 files changed, 61300 insertions(+) create mode 100644 VI3DGL/MANIFEST.txt create mode 100644 VI3DGL/VERSION create mode 100644 VI3DGL/sync-bundle-01.txt create mode 100644 VI3DGL/sync-bundle-02.txt create mode 100644 VI3DGL/sync-bundle-03.txt create mode 100644 VI3DGL/sync-bundle-04.txt create mode 100644 VI3DGL/sync-bundle-05.txt create mode 100644 VI3DGL/sync-entpacken.bat diff --git a/VI3DGL/MANIFEST.txt b/VI3DGL/MANIFEST.txt new file mode 100644 index 0000000..343afee --- /dev/null +++ b/VI3DGL/MANIFEST.txt @@ -0,0 +1,76 @@ +# 75 Dateien in 5 Bundles +sync-bundle-01.txt VERSION +sync-bundle-01.txt Wochenplan.template.html +sync-bundle-01.txt app.js +sync-bundle-01.txt data/mainframe.html +sync-bundle-01.txt data/sanitizer.html +sync-bundle-01.txt dgl.bat +sync-bundle-01.txt diagnose.html +sync-bundle-01.txt diagnose.js +sync-bundle-01.txt favicon.ico +sync-bundle-01.txt heartbeat-worker.js +sync-bundle-01.txt icons/VI3_Planung_Logo.png +sync-bundle-01.txt icons/VI3_Planung_Logo_alt.png +sync-bundle-01.txt icons/bike_8979898.png +sync-bundle-01.txt icons/calculator_3788148.png +sync-bundle-01.txt icons/comparison_7732609.png +sync-bundle-01.txt icons/deadline_5541978.png +sync-bundle-01.txt icons/eMail_speichern.png +sync-bundle-01.txt icons/email_7732651.png +sync-bundle-01.txt icons/excavator_8383815.png +sync-bundle-01.txt icons/hurdle_6716177.png +sync-bundle-01.txt icons/idea_5541534.png +sync-bundle-01.txt icons/kommentar_kontext.png +sync-bundle-01.txt icons/kontext.png +sync-bundle-01.txt icons/light-bulb_5541476.png +sync-bundle-01.txt icons/list_3837408.png +sync-bundle-01.txt icons/organization_5541954.png +sync-bundle-01.txt icons/plane_2918661.png +sync-bundle-01.txt icons/planung.png +sync-bundle-01.txt icons/server_diagnose.png +sync-bundle-01.txt icons/sync_check_diagnose_im_impressum.png +sync-bundle-01.txt icons/team_2636184.png +sync-bundle-02.txt index.html +sync-bundle-02.txt info.html +sync-bundle-02.txt js/admin.js +sync-bundle-02.txt js/admin_codes.js +sync-bundle-02.txt js/admin_common.js +sync-bundle-02.txt js/admin_erscheinungsbild.js +sync-bundle-02.txt js/admin_kalender.js +sync-bundle-02.txt js/admin_mitteilungen.js +sync-bundle-02.txt js/admin_personal.js +sync-bundle-02.txt js/admin_rollen.js +sync-bundle-02.txt js/admin_standardrechte.js +sync-bundle-02.txt js/admin_statistik.js +sync-bundle-02.txt js/admin_statistik_builder.js +sync-bundle-02.txt js/besetzung.js +sync-bundle-02.txt js/core_api.js +sync-bundle-02.txt js/core_datenLaden.js +sync-bundle-02.txt js/core_permissions.js +sync-bundle-02.txt js/core_state.js +sync-bundle-02.txt js/core_util.js +sync-bundle-02.txt js/email_vorlagen.js +sync-bundle-02.txt js/export_plan.js +sync-bundle-02.txt js/feiertage_de.js +sync-bundle-02.txt js/grid_editor.js +sync-bundle-02.txt js/grid_interaction.js +sync-bundle-02.txt js/grid_render.js +sync-bundle-02.txt js/hinweise.js +sync-bundle-03.txt js/import_excel.js +sync-bundle-03.txt js/logbuch.js +sync-bundle-03.txt js/schichtteam.js +sync-bundle-03.txt js/statistik.js +sync-bundle-03.txt js/statistik_charts.js +sync-bundle-03.txt js/statistik_engine.js +sync-bundle-03.txt js/sync.js +sync-bundle-03.txt js/ui_dialog.js +sync-bundle-03.txt js/ui_rte.js +sync-bundle-03.txt js/wochenplan.js +sync-bundle-03.txt server.ps1 +sync-bundle-03.txt stop.bat +sync-bundle-03.txt style.css +sync-bundle-03.txt sync-check.html +sync-bundle-04.txt sync-check.js +sync-bundle-04.txt sync-manifest.json +sync-bundle-04.txt sync-worker.js +sync-bundle-05.txt xlsx.full.min.js diff --git a/VI3DGL/VERSION b/VI3DGL/VERSION new file mode 100644 index 0000000..9df886c --- /dev/null +++ b/VI3DGL/VERSION @@ -0,0 +1 @@ +1.4.2 diff --git a/VI3DGL/sync-bundle-01.txt b/VI3DGL/sync-bundle-01.txt new file mode 100644 index 0000000..767e556 --- /dev/null +++ b/VI3DGL/sync-bundle-01.txt @@ -0,0 +1,14021 @@ +### SYNC-TRANSFER 1/5 -- mit sync-entpacken.bat entpacken +### Base64 - NICHT von Hand bearbeiten. +### FILE: VERSION | 6 +MS40LjIK +### FILE: Wochenplan.template.html | 26380 +PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImRlIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9IlVU +Ri04Ij4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg +aW5pdGlhbC1zY2FsZT0xIj4KPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJub2luZGV4Ij4K +PHRpdGxlPlZJMyDigJQgV29jaGVucGxhbiAoT2ZmbGluZS1TbmFwc2hvdCk8L3RpdGxlPgo8c3R5 +bGU+CiosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBtYXJn +aW46IDA7IHBhZGRpbmc6IDA7IH0KCjpyb290IHsKICAgIC0tYmctcHJpbWFyeTogIzJDM0U1MDsK +ICAgIC0tYmctcHJpbWFyeS1kYXJrOiAjMjQzMzQyOwogICAgLS1iZy1ib2R5OiAjRjBGMUYzOwog +ICAgLS1iZy1jYXJkOiAjRkZGRkZGOwogICAgLS1iZy1jYXJkLWFsdDogI0Y1RjZGODsKICAgIC0t +YmctdG9vbGJhcjogI0U4RUFFRDsKICAgIC0tYmctaG92ZXI6ICNFOEVERjI7CiAgICAtLXRleHQt +cHJpbWFyeTogIzJDM0U1MDsKICAgIC0tdGV4dC1zZWNvbmRhcnk6ICM1RDZEN0U7CiAgICAtLXRl +eHQtbXV0ZWQ6ICM2MzZFNzI7CiAgICAtLXRleHQtaGVhZGluZzogIzJDM0U1MDsKICAgIC0tdGV4 +dC1vbi1wcmltYXJ5OiAjRUNGMEYxOwogICAgLS1ib3JkZXItY29sb3I6ICNENUQ4REM7CiAgICAt +LWJvcmRlci1saWdodDogI0U1RThFQjsKICAgIC0tYm9yZGVyLXN0cm9uZzogI0FFQjZCRjsKICAg +IC0tdGFnLXdvY2hlbmVuZGU6ICNFREYyRjg7CiAgICAtLXRhZy1mZWllcnRhZzogI0Q3RTRGMDsK +ICAgIC0tdGFnLWhldXRlOiAjMkMzRTUwOwogICAgLS1mYXJiZS1mcnVlaDogI0I3MUMxQzsKICAg +IC0tZmFyYmUtc3BhZXQ6ICMxQTUyNzY7CiAgICAtLWZhcmJlLW5hY2h0OiAjMUI1RTIwOwogICAg +LS1mYXJiZS1lcmZvbGc6ICMyNzg5NkQ7CiAgICAtLWZhcmJlLWZlaGxlcjogI0IwM0EyRTsKICAg +IC0tZmFyYmUtd2FybnVuZzogI0NBNkYxRTsKfQoKaHRtbCwgYm9keSB7CiAgICBoZWlnaHQ6IDEw +MCU7CiAgICBmb250LWZhbWlseTogIlNlZ29lIFVJIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNT +eXN0ZW1Gb250LCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIEFyaWFsLCBzYW5zLXNlcmlmOwog +ICAgZm9udC1zaXplOiAxMnB4OwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgIGNvbG9yOiB2YXIo +LS10ZXh0LXByaW1hcnkpOwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctYm9keSk7CiAgICBvdmVy +ZmxvdzogaGlkZGVuOwp9Cgoud3AtYXBwIHsKICAgIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0 +aW9uOiBjb2x1bW47CiAgICBoZWlnaHQ6IDEwMHZoOwp9Cgouc25hcHNob3QtYmFubmVyIHsKICAg +IGJhY2tncm91bmQ6ICNGRkY0RDA7IGNvbG9yOiAjOEE2RDFGOwogICAgYm9yZGVyLWJvdHRvbTog +MXB4IHNvbGlkICNFM0M5N0E7CiAgICBwYWRkaW5nOiA2cHggMTZweDsgZm9udC1zaXplOiAxMXB4 +OwogICAgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGln +bi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxMnB4Owp9Ci5zbmFwc2hvdC1iYW5uZXIgc3Ryb25n +IHsgY29sb3I6ICM2QTRFMEY7IH0KLnNuYXBzaG90LWJhbm5lciAuc2ItcmVjaHRzIHsgY29sb3I6 +ICM4NDY0MjE7IH0KCi53cC10b29sYmFyIHsKICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1z +OiBjZW50ZXI7IGdhcDogNnB4OwogICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICBiYWNrZ3JvdW5k +OiB2YXIoLS1iZy10b29sYmFyKTsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1i +b3JkZXItY29sb3IpOwp9Ci50b29sYmFyLWJ0biB7CiAgICBwYWRkaW5nOiA2cHggMTRweDsKICAg +IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7CiAgICBib3JkZXItcmFkaXVz +OiAzcHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBiYWNr +Z3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7CiAgICB0 +cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKfQoudG9vbGJhci1idG46aG92ZXI6bm90KDpkaXNh +YmxlZCkgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7IGJvcmRlci1jb2xvcjogdmFyKC0t +dGV4dC1oZWFkaW5nKTsgfQoudG9vbGJhci1idG46ZGlzYWJsZWQgeyBvcGFjaXR5OiAwLjQ7IGN1 +cnNvcjogbm90LWFsbG93ZWQ7IH0KLnRvb2xiYXItdHJlbm5lciB7IHdpZHRoOiAxcHg7IGhlaWdo +dDogMjJweDsgYmFja2dyb3VuZDogdmFyKC0tYm9yZGVyLWNvbG9yKTsgbWFyZ2luOiAwIDZweDsg +fQoud3AtemVpdHJhdW0tYW56ZWlnZSB7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDcw +MDsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IG1hcmdpbi1sZWZ0OiA4cHg7IH0KCi53cC1z +Y3JvbGwgeyBmbGV4OiAxOyBvdmVyZmxvdzogYXV0bzsgcGFkZGluZzogMTZweDsgfQoKLndwLWxl +Z2VuZGUgewogICAgZGlzcGxheTogZmxleDsgZ2FwOiAxNnB4OyBwYWRkaW5nOiA4cHggMTZweDsK +ICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXRvb2xiYXIpOwogICAgYm9yZGVyLXRvcDogMXB4IHNv +bGlkIHZhcigtLWJvcmRlci1jb2xvcik7CiAgICBmb250LXNpemU6IDExcHg7IGNvbG9yOiB2YXIo +LS10ZXh0LXNlY29uZGFyeSk7Cn0KLndwLWxlZy1pdGVtIHsgZGlzcGxheTogZmxleDsgYWxpZ24t +aXRlbXM6IGNlbnRlcjsgZ2FwOiA1cHg7IH0KLndwLWxlZy1kb3QgeyB3aWR0aDogMTBweDsgaGVp +Z2h0OiAxMHB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQoK +LyogPT09PT0gV29jaGVucGxhbi1TZWl0ZW4tTGF5b3V0ID09PT09ICovCi53cC1zZWl0ZSB7CiAg +ICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgcGFkZGluZzogMTZweCAxOHB4OwogICAgbWFy +Z2luOiAxMnB4IGF1dG87IG1heC13aWR0aDogMTIwMHB4OwogICAgYm94LXNoYWRvdzogMCAycHgg +MTBweCByZ2JhKDAsMCwwLDAuMDYpOwogICAgYm9yZGVyLXJhZGl1czogNHB4Owp9Ci53cC1zZWl0 +ZS1rb3BmIHsgbWFyZ2luLWJvdHRvbTogMTBweDsgcGFkZGluZy1ib3R0b206IDhweDsgYm9yZGVy +LWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWJnLXByaW1hcnkpOyB9Ci53cC1zZWl0ZS1rb3BmIGgx +IHsKICAgIGZvbnQtc2l6ZTogMTVweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLXRl +eHQtaGVhZGluZyk7CiAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7IG1hcmdpbjogMDsKfQoud3At +c2VpdGUta29wZiBoMSBzdHJvbmcgeyBjb2xvcjogdmFyKC0tYmctcHJpbWFyeSk7IH0KCi53cC10 +YWdibG9jayB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAx +NDBweCAxZnI7CiAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2 +YXIoLS1iZy1wcmltYXJ5KTsKICAgIGJhY2tncm91bmQ6ICNmZmY7Cn0KCi53cC10YWdibG9jay1s +YWJlbCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTsgY29sb3I6ICNmZmY7CiAg +ICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogc3Ry +ZXRjaDsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgcGFkZGluZzogNnB4IDhweDsg +dGV4dC1hbGlnbjogbGVmdDsgZ2FwOiAwOwp9Ci53cC10bC1rb3BmIHsKICAgIGRpc3BsYXk6IGZs +ZXg7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgZ2FwOiA2cHg7CiAgICBwYWRkaW5nLWJvdHRvbTog +NHB4OwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4yKTsK +fQoud3AtdGwtd3QgeyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxldHRlci1z +cGFjaW5nOiAwLjVweDsgfQoud3AtdGwtZGF0dW0geyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFt +aWx5OiBtb25vc3BhY2U7IG9wYWNpdHk6IDAuOTsgfQoud3AtdGwtenVzYXR6LWJveCB7CiAgICBk +aXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDNweDsgbWFyZ2luLXRv +cDogMTRweDsgd2lkdGg6IDEwMCU7Cn0KLndwLXRsLXp1c2F0eiB7CiAgICBmb250LXNpemU6IDEw +cHg7IHBhZGRpbmc6IDJweCA1cHg7IGJvcmRlci1yYWRpdXM6IDJweDsKICAgIGJhY2tncm91bmQ6 +IHJnYmEoMjU1LDI1NSwyNTUsMC4xNSk7IGxpbmUtaGVpZ2h0OiAxLjM7CiAgICB3aGl0ZS1zcGFj +ZTogbm93cmFwOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAg +IHRleHQtYWxpZ246IGxlZnQ7Cn0KLndwLXRsLXotZnQgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwy +MDAsMjAwLDAuMjUpOyBmb250LXdlaWdodDogNzAwOyB9Ci53cC10bC16LXdhcm51bmcgeyBiYWNr +Z3JvdW5kOiByZ2JhKDI1NSwxODAsMTAwLDAuMyk7IH0KCi53cC10YWdibG9jay1pbmhhbHQgeyBw +YWRkaW5nOiAwOyB9Cgoud3AtdGFnYmxvY2stdGFiZWxsZSB7CiAgICB3aWR0aDogMTAwJTsgYm9y +ZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgdGFibGUtbGF5b3V0OiBmaXhlZDsKICAgIGZvbnQtc2l6 +ZTogMTJweDsKfQoud3AtdGFnYmxvY2stdGFiZWxsZSB0aCwKLndwLXRhZ2Jsb2NrLXRhYmVsbGUg +dGQgewogICAgYm9yZGVyOiAxcHggc29saWQgI2M4Y2VkNDsKICAgIHBhZGRpbmc6IDNweCA2cHg7 +CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgdGV4dC1hbGlnbjogbGVmdDsKfQoKLndw +LXRhZy1oMSB0aCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTsgY29sb3I6ICNm +ZmY7CiAgICBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IDEycHg7IHRleHQtYWxpZ246IGNl +bnRlcjsKICAgIHBhZGRpbmc6IDRweCA2cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1i +Zy1wcmltYXJ5KTsKfQoud3AtdGFnLWgxIHRoLndwLWgxLWRnbCB7IGJvcmRlci1yaWdodDogMnB4 +IHNvbGlkICNmZmY7IH0KCi53cC10YWctaDIgdGggewogICAgYmFja2dyb3VuZDogdmFyKC0tYmct +cHJpbWFyeS1kYXJrKTsgY29sb3I6ICNmZmY7CiAgICBmb250LXdlaWdodDogNjAwOyBmb250LXNp +emU6IDExcHg7IHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICBi +b3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iZy1wcmltYXJ5KTsKICAgIHRleHQtdHJhbnNmb3JtOiB1 +cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAwLjNweDsKfQoKLndwLXRhZ2Jsb2NrLXRhYmVsbGUg +dGQgewogICAgaGVpZ2h0OiAyMnB4OyBtaW4taGVpZ2h0OiAyMnB4OwogICAgZm9udC1zaXplOiAx +MXB4Owp9Ci53cC10YWdibG9jay10YWJlbGxlIHRkLndwLXNjaGljaHQtZnJ1ZWggeyBiYWNrZ3Jv +dW5kOiByZ2JhKDE4MywyOCwyOCwwLjA1KTsgfQoud3AtdGFnYmxvY2stdGFiZWxsZSB0ZC53cC1z +Y2hpY2h0LXNwYWV0IHsgYmFja2dyb3VuZDogcmdiYSgyNiw4MiwxMTgsMC4wNSk7IH0KLndwLXRh +Z2Jsb2NrLXRhYmVsbGUgdGQud3Atc2NoaWNodC1uYWNodCB7IGJhY2tncm91bmQ6IHJnYmEoMjcs +OTQsMzIsMC4wNSk7IH0KCi53cC10YWdibG9jay10YWJlbGxlIHRkOm50aC1jaGlsZCgzKSwKLndw +LXRhZ2Jsb2NrLXRhYmVsbGUgLndwLXRhZy1oMiB0aDpudGgtY2hpbGQoMykgeyBib3JkZXItcmln +aHQ6IDJweCBzb2xpZCB2YXIoLS1iZy1wcmltYXJ5KTsgfQoKLndwLW5hbWUgeyBmb250LXNpemU6 +IDExcHg7IHdoaXRlLXNwYWNlOiBub3dyYXA7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZs +b3c6IGVsbGlwc2lzOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1heC13aWR0aDogMTAwJTsgfQou +d3AtbmFtZS1mYnAgeyBmb250LXN0eWxlOiBpdGFsaWM7IH0KLndwLW5hbWUtZmJwIHN1cCB7IGNv +bG9yOiAjRDRBMDE3OyBmb250LXdlaWdodDogNzAwOyBtYXJnaW4tbGVmdDogMXB4OyB9Cgoud3At +dGFnYmxvY2staGV1dGUgeyBvdXRsaW5lOiAycHggc29saWQgI0Q0QTAxNzsgb3V0bGluZS1vZmZz +ZXQ6IC0xcHg7IH0KLndwLXRhZ2Jsb2NrLWZ0IC53cC10YWdibG9jay1sYWJlbCB7IGJhY2tncm91 +bmQ6ICM0QTZBOEM7IH0KLndwLXRhZ2Jsb2NrLWZ0LXdpY2h0aWcgLndwLXRhZ2Jsb2NrLWxhYmVs +IHsgYmFja2dyb3VuZDogIzJDM0U1MDsgfQoud3AtdGFnYmxvY2std2UgLndwLXRhZ2Jsb2NrLWxh +YmVsIHsgYmFja2dyb3VuZDogIzUyODJBNjsgfQoud3AtdGFnYmxvY2stbnMgLndwLXRhZ2Jsb2Nr +LWxhYmVsIHsgYmFja2dyb3VuZDogIzFBNTI3NjsgfQoKLndwLXNlaXRlLWZ1c3MgewogICAgbWFy +Z2luLXRvcDogMTJweDsgcGFkZGluZy10b3A6IDEwcHg7CiAgICBib3JkZXItdG9wOiAxcHggc29s +aWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsKICAgIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVu +dDogc3BhY2UtYmV0d2VlbjsKICAgIGZvbnQtc2l6ZTogMTBweDsgY29sb3I6IHZhcigtLXRleHQt +bXV0ZWQpOwp9Ci53cC1mdXNzLW5vdGUgc3VwIHsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICNk +NGEwMTc7IH0KLndwLWZ1c3MtZHJ1Y2sgeyBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOyBm +b250LXdlaWdodDogNjAwOyB9Cgoud3AtbGVlci1oaW53ZWlzIHsKICAgIG1hcmdpbjogNDBweCBh +dXRvOyBtYXgtd2lkdGg6IDYwMHB4OwogICAgcGFkZGluZzogMjBweDsgYm9yZGVyOiAxcHggZGFz +aGVkIHZhcigtLWJvcmRlci1jb2xvcik7IGJvcmRlci1yYWRpdXM6IDRweDsKICAgIHRleHQtYWxp +Z246IGNlbnRlcjsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBiYWNrZ3JvdW5kOiB2YXIoLS1i +Zy1jYXJkKTsKfQoKLyogPT09PT0gRHJ1Y2stTGF5b3V0OiA3IFRhZ2UgYXVmIGVpbmUgQTQtU2Vp +dGUgPT09PT0gKi8KQG1lZGlhIHByaW50IHsKICAgIEBwYWdlIHsgc2l6ZTogQTQgcG9ydHJhaXQ7 +IG1hcmdpbjogN21tIDltbTsgfQoKICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC5zbmFwc2hv +dC1iYW5uZXIsCiAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAud3AtdG9vbGJhciwKICAgIGJv +ZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC1sZWdlbmRlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0 +YW50OyB9CgogICAgYm9keS5kcnVja2VuLXdvY2hlbnBsYW4geyBiYWNrZ3JvdW5kOiAjZmZmICFp +bXBvcnRhbnQ7IG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH0KICAgIGJvZHkuZHJ1Y2tl +bi13b2NoZW5wbGFuIC53cC1hcHAgeyBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfQogICAgYm9k +eS5kcnVja2VuLXdvY2hlbnBsYW4gLndwLXNjcm9sbCB7CiAgICAgICAgb3ZlcmZsb3c6IHZpc2li +bGUgIWltcG9ydGFudDsgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50OyBoZWlnaHQ6IGF1dG8g +IWltcG9ydGFudDsKICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IG1hcmdpbjogMCAhaW1w +b3J0YW50OyBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7CiAgICAgICAgZGlzcGxheTogYmxv +Y2sgIWltcG9ydGFudDsKICAgIH0KICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC1zZWl0 +ZSB7CiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50OyBib3gtc2hhZG93OiBub25l +ICFpbXBvcnRhbnQ7CiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgIWlt +cG9ydGFudDsKICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1 +czogMCAhaW1wb3J0YW50OwogICAgfQogICAgYm9keS5kcnVja2VuLXdvY2hlbnBsYW4gLndwLXNl +aXRlLWtvcGYgewogICAgICAgIG1hcmdpbi1ib3R0b206IDNweDsgcGFkZGluZy1ib3R0b206IDNw +eDsKICAgICAgICBib3JkZXItYm90dG9tOiAxLjVweCBzb2xpZCB2YXIoLS1iZy1wcmltYXJ5KTsK +ICAgIH0KICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC1zZWl0ZS1rb3BmIGgxIHsgZm9u +dC1zaXplOiAxMXB0OyBsaW5lLWhlaWdodDogMS4xOyB9CiAgICBib2R5LmRydWNrZW4td29jaGVu +cGxhbiAud3AtdGFnYmxvY2staGV1dGUgeyBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7IH0KICAg +IGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC10YWdibG9jayB7CiAgICAgICAgcGFnZS1icmVh +ay1pbnNpZGU6IGF2b2lkICFpbXBvcnRhbnQ7IGJyZWFrLWluc2lkZTogYXZvaWQgIWltcG9ydGFu +dDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxcHg7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1 +bW5zOiA5MHB4IDFmciAhaW1wb3J0YW50OwogICAgICAgIGJvcmRlci13aWR0aDogMC41cHg7CiAg +ICB9CiAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAud3AtdGFnYmxvY2stbGFiZWwgeyBwYWRk +aW5nOiAycHggNHB4OyB9CiAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAud3AtdGwta29wZiB7 +CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAg +ICAgIGdhcDogNHB4OyBwYWRkaW5nLWJvdHRvbTogMnB4OwogICAgICAgIGJvcmRlci1ib3R0b206 +IDAuNXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4zKTsKICAgIH0KICAgIGJvZHkuZHJ1Y2tl +bi13b2NoZW5wbGFuIC53cC10bC13dCB7IGZvbnQtc2l6ZTogOXB0OyBmb250LXdlaWdodDogNzAw +OyB9CiAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAud3AtdGwtZGF0dW0geyBmb250LXNpemU6 +IDdwdDsgfQogICAgYm9keS5kcnVja2VuLXdvY2hlbnBsYW4gLndwLXRsLXp1c2F0ei1ib3ggeyBt +YXJnaW4tdG9wOiA2cHg7IGdhcDogMS41cHg7IH0KICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFu +IC53cC10bC16dXNhdHogeyBmb250LXNpemU6IDZwdDsgcGFkZGluZzogMCAycHg7IGxpbmUtaGVp +Z2h0OiAxLjI7IHRleHQtYWxpZ246IGxlZnQ7IH0KICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFu +IC53cC10YWdibG9jay10YWJlbGxlIHsgZm9udC1zaXplOiA3cHQ7IH0KICAgIGJvZHkuZHJ1Y2tl +bi13b2NoZW5wbGFuIC53cC10YWdibG9jay10YWJlbGxlIHRoLAogICAgYm9keS5kcnVja2VuLXdv +Y2hlbnBsYW4gLndwLXRhZ2Jsb2NrLXRhYmVsbGUgdGQgewogICAgICAgIHBhZGRpbmc6IDAgMS41 +bW0gIWltcG9ydGFudDsKICAgICAgICBib3JkZXItd2lkdGg6IDAuNXB4OwogICAgICAgIGxpbmUt +aGVpZ2h0OiAxLjA1ICFpbXBvcnRhbnQ7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsK +ICAgIH0KICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC10YWctaDEgdGggeyBmb250LXNp +emU6IDhwdDsgaGVpZ2h0OiAzLjVtbSAhaW1wb3J0YW50OyBwYWRkaW5nOiAwIDEuNW1tICFpbXBv +cnRhbnQ7IH0KICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC10YWctaDIgdGggeyBmb250 +LXNpemU6IDYuOHB0OyBoZWlnaHQ6IDIuOW1tICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgMS41bW0g +IWltcG9ydGFudDsgfQogICAgYm9keS5kcnVja2VuLXdvY2hlbnBsYW4gLndwLXRhZ2Jsb2NrLXRh +YmVsbGUgdGQgewogICAgICAgIGZvbnQtc2l6ZTogN3B0OyBoZWlnaHQ6IDMuM21tICFpbXBvcnRh +bnQ7IG1pbi1oZWlnaHQ6IDMuM21tICFpbXBvcnRhbnQ7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRl +bjsKICAgIH0KICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC1uYW1lIHsgZm9udC1zaXpl +OiA3cHQ7IGxpbmUtaGVpZ2h0OiAxLjA1OyB9CiAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAu +d3Atc2VpdGUtZnVzcyB7IG1hcmdpbi10b3A6IDRweDsgcGFkZGluZy10b3A6IDNweDsgZm9udC1z +aXplOiA2LjVwdDsgfQoKICAgIEBtZWRpYSAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgewogICAg +ICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC10YWdibG9jayB7IGdyaWQtdGVtcGxhdGUt +Y29sdW1uczogMTMwcHggMWZyICFpbXBvcnRhbnQ7IH0KICAgICAgICBib2R5LmRydWNrZW4td29j +aGVucGxhbiAud3AtdGFnYmxvY2stdGFiZWxsZSB7IGZvbnQtc2l6ZTogOXB0OyB9CiAgICAgICAg +Ym9keS5kcnVja2VuLXdvY2hlbnBsYW4gLndwLXRhZ2Jsb2NrLXRhYmVsbGUgdGQgeyBmb250LXNp +emU6IDlwdDsgfQogICAgICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC1uYW1lIHsgZm9u +dC1zaXplOiA5cHQ7IH0KICAgICAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAud3AtdGwtd3Qg +eyBmb250LXNpemU6IDExcHQ7IH0KICAgICAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAud3At +dGwtZGF0dW0geyBmb250LXNpemU6IDlwdDsgfQogICAgICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5w +bGFuIC53cC10bC16dXNhdHogeyBmb250LXNpemU6IDdwdDsgcGFkZGluZzogMXB4IDNweDsgfQog +ICAgICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC10bC16dXNhdHotYm94IHsgbWFyZ2lu +LXRvcDogOHB4OyBnYXA6IDJweDsgfQogICAgICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53 +cC10YWctaDEgdGggeyBmb250LXNpemU6IDEwcHQ7IH0KICAgICAgICBib2R5LmRydWNrZW4td29j +aGVucGxhbiAud3AtdGFnLWgyIHRoIHsgZm9udC1zaXplOiA4cHQ7IH0KICAgIH0KCiAgICBib2R5 +LmRydWNrZW4td29jaGVucGxhbiwKICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuICogewogICAg +ICAgIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdCAhaW1wb3J0YW50OwogICAgICAg +IHByaW50LWNvbG9yLWFkanVzdDogZXhhY3QgIWltcG9ydGFudDsKICAgICAgICBjb2xvci1hZGp1 +c3Q6IGV4YWN0ICFpbXBvcnRhbnQ7CiAgICB9Cn0KPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KPGRp +diBjbGFzcz0id3AtYXBwIj4KCiAgICA8ZGl2IGNsYXNzPSJzbmFwc2hvdC1iYW5uZXIiPgogICAg +ICAgIDxzcGFuPjxzdHJvbmc+T2ZmbGluZS1TbmFwc2hvdDwvc3Ryb25nPiDigJQgU3RhbmQ6IDxz +cGFuIGlkPSJzbmFwLXplaXQiPl9fU05BUFNIT1RfWkVJVF9fPC9zcGFuPi4gRGF0ZWkgd2lyZCB2 +b20gU2VydmVyIGJlaSBqZWRlciBQbGFudW5ncy3DhG5kZXJ1bmcgbmV1IGVyemV1Z3QuPC9zcGFu +PgogICAgICAgIDxzcGFuIGNsYXNzPSJzYi1yZWNodHMiPk5hdmlnYXRpb24gbWF4LiA2IFdvY2hl +biB2b3J3w6RydHMgKEZvbGdlbW9uYXRlIHZvbSBTZXJ2ZXIgw7xiZXJ0cmFnZW4pLjwvc3Bhbj4K +ICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9IndwLXRvb2xiYXIiPgogICAgICAgIDxidXR0b24g +aWQ9IndwLXZvcndvY2hlIiBjbGFzcz0idG9vbGJhci1idG4iPiZsYXJyOyBWb3J3b2NoZTwvYnV0 +dG9uPgogICAgICAgIDxidXR0b24gaWQ9IndwLWFrdHVlbGxlLXdvY2hlIiBjbGFzcz0idG9vbGJh +ci1idG4iPkFrdHVlbGxlIFdvY2hlPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBpZD0id3AtbmFl +Y2hzdGUtd29jaGUiIGNsYXNzPSJ0b29sYmFyLWJ0biI+TsOkY2hzdGUgV29jaGUgJnJhcnI7PC9i +dXR0b24+CiAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci10cmVubmVyIj48L2Rpdj4KICAgICAg +ICA8c3BhbiBpZD0id3AtemVpdHJhdW0iIGNsYXNzPSJ3cC16ZWl0cmF1bS1hbnplaWdlIj48L3Nw +YW4+CiAgICAgICAgPGJ1dHRvbiBpZD0id3AtZHJ1Y2tlbiIgY2xhc3M9InRvb2xiYXItYnRuIiBz +dHlsZT0ibWFyZ2luLWxlZnQ6YXV0byIgdGl0bGU9IldvY2hlbnBsYW4gZHJ1Y2tlbiAoZWluZSBT +ZWl0ZSkiPiYjMTI4NDI0OyBEcnVja2VuPC9idXR0b24+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNs +YXNzPSJ3cC1zY3JvbGwiIGlkPSJ3cC1zY3JvbGwiPjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Indw +LWxlZ2VuZGUiPgogICAgICAgIDxzcGFuIGNsYXNzPSJ3cC1sZWctaXRlbSI+PHNwYW4gY2xhc3M9 +IndwLWxlZy1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOnZhcigtLWZhcmJlLWZydWVoKSI+PC9zcGFu +PiBGcsO8aGRpZW5zdDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0id3AtbGVnLWl0ZW0iPjxz +cGFuIGNsYXNzPSJ3cC1sZWctZG90IiBzdHlsZT0iYmFja2dyb3VuZDp2YXIoLS1mYXJiZS1zcGFl +dCkiPjwvc3Bhbj4gU3DDpHRkaWVuc3Q8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9IndwLWxl +Zy1pdGVtIj48c3BhbiBjbGFzcz0id3AtbGVnLWRvdCIgc3R5bGU9ImJhY2tncm91bmQ6dmFyKC0t +ZmFyYmUtbmFjaHQpIj48L3NwYW4+IE5hY2h0ZGllbnN0PC9zcGFuPgogICAgICAgIDxzcGFuIGNs +YXNzPSJ3cC1sZWctaXRlbSI+KiA9IEJlc2V0enVuZyBlaW5lciBTdHJlaWZlIGF1cyBkZW0gRnVu +a3Rpb25zYmVzZXR6dW5nc3BsYW48L3NwYW4+CiAgICA8L2Rpdj4KPC9kaXY+Cgo8c2NyaXB0Pgov +LyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT0KLy8gREFURU4gKHZvbSBTZXJ2ZXIgZWluZ2ViZXR0ZXQpCi8vID09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQp2YXIgREFURU4g +PSBfX0RBVEVOX0pTT05fXzsKCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PQovLyBIZWxwZXIKLy8gPT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmZ1bmN0aW9uIGVzY2Fw +ZUhUTUwocykgewogICAgaWYgKHMgPT0gbnVsbCB8fCBzID09PSAnJykgcmV0dXJuICcnOwogICAg +dmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgZGl2LnRleHRDb250 +ZW50ID0gU3RyaW5nKHMpOwogICAgcmV0dXJuIGRpdi5pbm5lckhUTUw7Cn0KZnVuY3Rpb24gZXNj +YXBlQXR0cihzKSB7CiAgICBpZiAocyA9PSBudWxsIHx8IHMgPT09ICcnKSByZXR1cm4gJyc7CiAg +ICByZXR1cm4gU3RyaW5nKHMpLnJlcGxhY2UoLyYvZywgJyZhbXA7JykucmVwbGFjZSgvIi9nLCAn +JnF1b3Q7JykucmVwbGFjZSgvJy9nLCAnJiMzOTsnKS5yZXBsYWNlKC88L2csICcmbHQ7JykucmVw +bGFjZSgvPi9nLCAnJmd0OycpOwp9CmZ1bmN0aW9uIHBhZDIobikgeyByZXR1cm4gKG4gPCAxMCA/ +ICcwJyA6ICcnKSArIG47IH0KZnVuY3Rpb24gZGF0dW1TdHIoZCkgeyByZXR1cm4gZC5nZXRGdWxs +WWVhcigpICsgJy0nICsgcGFkMihkLmdldE1vbnRoKCkgKyAxKSArICctJyArIHBhZDIoZC5nZXRE +YXRlKCkpOyB9CmZ1bmN0aW9uIGRhdHVtRm9ybWF0REUocykgeyBpZiAoIXMpIHJldHVybiAnJzsg +dmFyIHQgPSBzLnNwbGl0KCctJyk7IHJldHVybiB0WzJdICsgJy4nICsgdFsxXSArICcuJyArIHRb +MF07IH0KZnVuY3Rpb24gZGF0dW1LdXJ6REUoZCkgeyByZXR1cm4gcGFkMihkLmdldERhdGUoKSkg +KyAnLicgKyBwYWQyKGQuZ2V0TW9udGgoKSArIDEpICsgJy4nOyB9CmZ1bmN0aW9uIGlzdFdvY2hl +bmVuZGUoZCkgeyB2YXIgdCA9IGQuZ2V0RGF5KCk7IHJldHVybiB0ID09PSAwIHx8IHQgPT09IDY7 +IH0KZnVuY3Rpb24gc29uZGVyVGl0ZWxBdXNUZXh0KGh0bWwpIHsKICAgIGlmICghaHRtbCkgcmV0 +dXJuICcnOwogICAgdmFyIHRtcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAg +dG1wLmlubmVySFRNTCA9IGh0bWw7CiAgICB2YXIgdHh0ID0gKHRtcC50ZXh0Q29udGVudCB8fCAn +JykudHJpbSgpLnNwbGl0KC9ccj9cbi8pWzBdOwogICAgaWYgKHR4dC5sZW5ndGggPiA2MCkgdHh0 +ID0gdHh0LnN1YnN0cigwLCA1NykgKyAn4oCmJzsKICAgIHJldHVybiB0eHQ7Cn0KCi8vID09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQov +LyBQZXJzb25lbi1GaWx0ZXIgKyBTb3J0aWVydW5nIChQb3J0IGF1cyBjb3JlX2RhdGVuTGFkZW4u +anMpCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PQpmdW5jdGlvbiBwZXJzb25lbkZpbHRlcm4oKSB7CiAgICB2YXIgZ3J1cHBlblJh +bmcgPSB7fTsKICAgIChEQVRFTi5ncnVwcGVuIHx8IFtdKS5mb3JFYWNoKGZ1bmN0aW9uKGcsIGkp +IHsgaWYgKGcgJiYgZy5uYW1lKSBncnVwcGVuUmFuZ1tnLm5hbWVdID0gaTsgfSk7CiAgICB2YXIg +dmVyc3RlY2t0ZUZ1bmt0aW9uZW4gPSB7fTsKICAgIChEQVRFTi5mdW5rdGlvbmVuIHx8IFtdKS5m +b3JFYWNoKGZ1bmN0aW9uKGYpIHsKICAgICAgICBpZiAoZiAmJiBmLmNvZGUgJiYgZi5pblBsYW51 +bmcgPT09IGZhbHNlKSB2ZXJzdGVja3RlRnVua3Rpb25lbltmLmNvZGVdID0gdHJ1ZTsKICAgIH0p +OwogICAgdmFyIHZlcnN0ZWNrdGVHcnVwcGVuID0ge307CiAgICAoREFURU4uZ3J1cHBlbiB8fCBb +XSkuZm9yRWFjaChmdW5jdGlvbihnKSB7CiAgICAgICAgaWYgKGcgJiYgZy5uYW1lICYmIGcuaW5Q +bGFudW5nID09PSBmYWxzZSkgdmVyc3RlY2t0ZUdydXBwZW5bZy5uYW1lXSA9IHRydWU7CiAgICB9 +KTsKICAgIHJldHVybiAoREFURU4ucGVyc29uZW4gfHwgW10pCiAgICAgICAgLmZpbHRlcihmdW5j +dGlvbihwKSB7CiAgICAgICAgICAgIGlmICghcC5ha3RpdikgcmV0dXJuIGZhbHNlOwogICAgICAg +ICAgICBpZiAocC5mdW5rdGlvbiAmJiB2ZXJzdGVja3RlRnVua3Rpb25lbltwLmZ1bmt0aW9uXSkg +cmV0dXJuIGZhbHNlOwogICAgICAgICAgICBpZiAocC5ncnVwcGUgICAmJiB2ZXJzdGVja3RlR3J1 +cHBlbltwLmdydXBwZV0pICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIHJldHVybiB0cnVl +OwogICAgICAgIH0pCiAgICAgICAgLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgICAgICB2 +YXIgckEgPSAoYS5ncnVwcGUgaW4gZ3J1cHBlblJhbmcpID8gZ3J1cHBlblJhbmdbYS5ncnVwcGVd +IDogOTk5OwogICAgICAgICAgICB2YXIgckIgPSAoYi5ncnVwcGUgaW4gZ3J1cHBlblJhbmcpID8g +Z3J1cHBlblJhbmdbYi5ncnVwcGVdIDogOTk5OwogICAgICAgICAgICBpZiAockEgIT09IHJCKSBy +ZXR1cm4gckEgLSByQjsKICAgICAgICAgICAgcmV0dXJuIChhLnBvc2l0aW9uIHx8IDk5OSkgLSAo +Yi5wb3NpdGlvbiB8fCA5OTkpOwogICAgICAgIH0pOwp9CgovLyA9PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8gVGFnLUluZm9zIChQ +b3J0IGF1cyBncmlkX3JlbmRlci5qcykKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmZ1bmN0aW9uIHRhZ0luZm9zQmVyZWNobmVu +KCkgewogICAgdmFyIHRpID0ge307CiAgICB2YXIgamFociA9IERBVEVOLmphaHIgfHwgKG5ldyBE +YXRlKCkpLmdldEZ1bGxZZWFyKCk7CiAgICAvLyBQbGFudW5nc2JlcmVpY2g6IDEuIEphbiBiaXMg +MzEuIEphbiBGb2xnZWphaHIKICAgIHZhciBkID0gbmV3IERhdGUoamFociwgMCwgMSk7CiAgICB2 +YXIgZW5kZSA9IG5ldyBEYXRlKGphaHIgKyAxLCAxLCAxKTsKICAgIHdoaWxlIChkIDwgZW5kZSkg +ewogICAgICAgIHZhciBrZXkgPSBkYXR1bVN0cihkKTsKICAgICAgICB0aVtrZXldID0geyB0eXA6 +ICdub3JtYWwnLCBuYW1lOiAnJywgZ2VidXJ0c3RhZ2U6IFtdIH07CiAgICAgICAgaWYgKGlzdFdv +Y2hlbmVuZGUoZCkpIHRpW2tleV0udHlwID0gJ3dvY2hlbmVuZGUnOwogICAgICAgIGQuc2V0RGF0 +ZShkLmdldERhdGUoKSArIDEpOwogICAgfQoKICAgIChEQVRFTi5mZXJpZW4gfHwgW10pLmZvckVh +Y2goZnVuY3Rpb24oZikgewogICAgICAgIGlmICghZi52b24gfHwgIWYuYmlzKSByZXR1cm47CiAg +ICAgICAgdmFyIHggPSBuZXcgRGF0ZShmLnZvbiArICdUMDA6MDA6MDAnKTsKICAgICAgICB2YXIg +YmlzID0gbmV3IERhdGUoZi5iaXMgKyAnVDAwOjAwOjAwJyk7CiAgICAgICAgd2hpbGUgKHggPD0g +YmlzKSB7CiAgICAgICAgICAgIHZhciBrID0gZGF0dW1TdHIoeCk7CiAgICAgICAgICAgIGlmICh0 +aVtrXSAmJiB0aVtrXS50eXAgPT09ICdub3JtYWwnKSB7CiAgICAgICAgICAgICAgICB0aVtrXS50 +eXAgPSAnZmVyaWVuJzsKICAgICAgICAgICAgICAgIHRpW2tdLm5hbWUgPSBmLm5hbWU7CiAgICAg +ICAgICAgIH0KICAgICAgICAgICAgeC5zZXREYXRlKHguZ2V0RGF0ZSgpICsgMSk7CiAgICAgICAg +fQogICAgfSk7CgogICAgKERBVEVOLmZlaWVydGFnZSB8fCBbXSkuZm9yRWFjaChmdW5jdGlvbihm +KSB7CiAgICAgICAgaWYgKGYuYWt0aXYgPT09IGZhbHNlKSByZXR1cm47CiAgICAgICAgaWYgKHRp +W2YuZGF0dW1dKSB7CiAgICAgICAgICAgIHRpW2YuZGF0dW1dLnR5cCA9ICdmZWllcnRhZyc7CiAg +ICAgICAgICAgIHRpW2YuZGF0dW1dLm5hbWUgPSBmLmJlemVpY2hudW5nIHx8IGYubmFtZSB8fCAn +JzsKICAgICAgICAgICAgdGlbZi5kYXR1bV0ud2ljaHRpZyA9ICEhZi53aWNodGlnOwogICAgICAg +ICAgICB0aVtmLmRhdHVtXS5rYXRlZ29yaWUgPSBmLmthdGVnb3JpZSB8fCAnZ2VzZXR6bGljaCc7 +CiAgICAgICAgfQogICAgfSk7CgogICAgLy8gU29uZGVydGVybWluZSAoRGF0dW0gb2RlciBEYXR1 +bS1CZXJlaWNoKQogICAgKERBVEVOLnNvbmRlcnRlcm1pbmUgfHwgW10pLmZvckVhY2goZnVuY3Rp +b24ocykgewogICAgICAgIGlmICghcy5kYXR1bSkgcmV0dXJuOwogICAgICAgIHZhciB2b24gPSBz +LmRhdHVtOwogICAgICAgIHZhciBiaXMgPSBzLmRhdHVtQmlzIHx8IHMuZGF0dW07CiAgICAgICAg +dmFyIHggPSBuZXcgRGF0ZSh2b24gKyAnVDAwOjAwOjAwJyk7CiAgICAgICAgdmFyIGIgPSBuZXcg +RGF0ZShiaXMgKyAnVDAwOjAwOjAwJyk7CiAgICAgICAgaWYgKGlzTmFOKHguZ2V0VGltZSgpKSB8 +fCBpc05hTihiLmdldFRpbWUoKSkgfHwgYiA8IHgpIHsKICAgICAgICAgICAgaWYgKHRpW3Zvbl0p +IHRpW3Zvbl0uc29uZGVyID0gczsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAg +ICB3aGlsZSAoeCA8PSBiKSB7IHZhciBrID0gZGF0dW1TdHIoeCk7IGlmICh0aVtrXSkgdGlba10u +c29uZGVyID0gczsgeC5zZXREYXRlKHguZ2V0RGF0ZSgpICsgMSk7IH0KICAgIH0pOwoKICAgIC8v +IEdlYnVydHN0YWdlCiAgICAoREFURU4ucGVyc29uZW4gfHwgW10pLmZvckVhY2goZnVuY3Rpb24o +cCkgewogICAgICAgIGlmICghcC5nZWJ1cnRzZGF0dW0gfHwgIXAuYWt0aXYpIHJldHVybjsKICAg +ICAgICB2YXIgdGVpbGUgPSBwLmdlYnVydHNkYXR1bS5zcGxpdCgnLScpOwogICAgICAgIGlmICh0 +ZWlsZS5sZW5ndGggIT09IDMpIHJldHVybjsKICAgICAgICB2YXIgbmFtZSA9IChwLnZvcm5hbWUg +PyBwLnZvcm5hbWUgKyAnICcgOiAnJykgKyBwLm5hbWU7CiAgICAgICAgdmFyIGphaHJBbHQgPSBw +YXJzZUludCh0ZWlsZVswXSwgMTApIHx8IG51bGw7CiAgICAgICAgW2phaHIsIGphaHIgKyAxXS5m +b3JFYWNoKGZ1bmN0aW9uKGopIHsKICAgICAgICAgICAgdmFyIGsgPSBqICsgJy0nICsgdGVpbGVb +MV0gKyAnLScgKyB0ZWlsZVsyXTsKICAgICAgICAgICAgaWYgKHRpW2tdKSB0aVtrXS5nZWJ1cnRz +dGFnZS5wdXNoKHsgaWQ6IHAuaWQsIG5hbWU6IG5hbWUsIGphaHI6IGphaHJBbHQgfSk7CiAgICAg +ICAgfSk7CiAgICB9KTsKCiAgICByZXR1cm4gdGk7Cn0KCi8vID09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyBTdGF0ZSArIFdvY2hl +bi1Mb2dpawovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT0KdmFyIFBFUlNPTkVOID0gcGVyc29uZW5GaWx0ZXJuKCk7CnZhciBUQUdJ +TkZPUyA9IHRhZ0luZm9zQmVyZWNobmVuKCk7CnZhciBFSU5UUkFFR0UgPSBEQVRFTi5laW50cmFl +Z2UgfHwge307CnZhciBIRVVURV9TVFIgPSBkYXR1bVN0cihuZXcgRGF0ZSgpKTsKCnZhciBXUF9N +QVhfT0ZGU0VUID0gNjsgICAgIC8vIG1heGltYWwgNiBXb2NoZW4gaW4gZGllIFp1a3VuZnQKdmFy +IFdQX01JTl9PRkZTRVQgPSAtNTI7ICAgLy8gZWluIEphaHIgenVyw7xjayByZWljaHQKdmFyIHdw +T2Zmc2V0ID0gMDsKCmZ1bmN0aW9uIHdwV29jaGVUYWdlKG9mZnNldCkgewogICAgdmFyIGhldXRl +ID0gbmV3IERhdGUoKTsKICAgIHZhciB0YWcgPSBoZXV0ZS5nZXREYXkoKTsKICAgIHZhciBkaWZm +ID0gdGFnID09PSAwID8gLTYgOiAxIC0gdGFnOwogICAgdmFyIG1vbnRhZyA9IG5ldyBEYXRlKGhl +dXRlKTsKICAgIG1vbnRhZy5zZXREYXRlKG1vbnRhZy5nZXREYXRlKCkgKyBkaWZmICsgKG9mZnNl +dCAqIDcpKTsKICAgIG1vbnRhZy5zZXRIb3VycygwLCAwLCAwLCAwKTsKICAgIHZhciB0YWdlID0g +W107CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDc7IGkrKykgewogICAgICAgIHZhciBkID0gbmV3 +IERhdGUobW9udGFnKTsKICAgICAgICBkLnNldERhdGUoZC5nZXREYXRlKCkgKyBpKTsKICAgICAg +ICB0YWdlLnB1c2goZCk7CiAgICB9CiAgICByZXR1cm4gdGFnZTsKfQoKLy8gPT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vIFJlbmRl +cmluZyAoUG9ydCBhdXMgd29jaGVucGxhbi5qcyB3cFJlbmRlcm4pCi8vID09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpmdW5jdGlvbiB3 +cFJlbmRlcm4oKSB7CiAgICB2YXIgdGFnZSA9IHdwV29jaGVUYWdlKHdwT2Zmc2V0KTsKICAgIHZh +ciBoZXV0ZUtleSA9IEhFVVRFX1NUUjsKICAgIHZhciB2b24gPSB0YWdlWzBdLCBiaXMgPSB0YWdl +WzZdOwoKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3cC16ZWl0cmF1bScpLmlubmVySFRN +TCA9CiAgICAgICAgJzxzdHJvbmc+VkkzIOKAlCBXb2NoZW5wbGFuICcgKyBkYXR1bUt1cnpERSh2 +b24pICsgJ+KAkycgKyBkYXR1bUt1cnpERShiaXMpICsgJyAnICsgdm9uLmdldEZ1bGxZZWFyKCkg +KyAnPC9zdHJvbmc+JzsKCiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd3Atdm9yd29jaGUn +KS5kaXNhYmxlZCA9ICh3cE9mZnNldCA8PSBXUF9NSU5fT0ZGU0VUKTsKICAgIGRvY3VtZW50Lmdl +dEVsZW1lbnRCeUlkKCd3cC1uYWVjaHN0ZS13b2NoZScpLmRpc2FibGVkID0gKHdwT2Zmc2V0ID49 +IFdQX01BWF9PRkZTRVQpOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dwLWFrdHVlbGxl +LXdvY2hlJykuZGlzYWJsZWQgPSAod3BPZmZzZXQgPT09IDApOwoKICAgIHZhciBzcGFsdGVuID0g +WwogICAgICAgIHsgY2xzOiAnd3Atc2NoaWNodC1mcnVlaCcsIHByZWZpeGU6IFt7IGNvZGU6J0Yt +REdMJywgc3Rlcm46ZmFsc2UgfV0gfSwKICAgICAgICB7IGNsczogJ3dwLXNjaGljaHQtc3BhZXQn +LCBwcmVmaXhlOiBbeyBjb2RlOidTLURHTCcsIHN0ZXJuOmZhbHNlIH1dIH0sCiAgICAgICAgeyBj +bHM6ICd3cC1zY2hpY2h0LW5hY2h0JywgcHJlZml4ZTogW3sgY29kZTonTi1ER0wnLCBzdGVybjpm +YWxzZSB9XSB9LAogICAgICAgIHsgY2xzOiAnd3Atc2NoaWNodC1mcnVlaCcsIHByZWZpeGU6IFt7 +IGNvZGU6J0YtV0RGJywgc3Rlcm46ZmFsc2UgfSx7IGNvZGU6J0YtRkJQJywgc3Rlcm46dHJ1ZSB9 +XSB9LAogICAgICAgIHsgY2xzOiAnd3Atc2NoaWNodC1zcGFldCcsIHByZWZpeGU6IFt7IGNvZGU6 +J1MtV0RGJywgc3Rlcm46ZmFsc2UgfSx7IGNvZGU6J1MtRkJQJywgc3Rlcm46dHJ1ZSB9XSB9LAog +ICAgICAgIHsgY2xzOiAnd3Atc2NoaWNodC1uYWNodCcsIHByZWZpeGU6IFt7IGNvZGU6J04tV0RG +Jywgc3Rlcm46ZmFsc2UgfSx7IGNvZGU6J04tRkJQJywgc3Rlcm46dHJ1ZSB9XSB9CiAgICBdOwog +ICAgdmFyIHd0TmFtZW4gPSBbJ01vJywnRGknLCdNaScsJ0RvJywnRnInLCdTYScsJ1NvJ107Cgog +ICAgdmFyIGJsb2Vja2VIdG1sID0gJyc7CiAgICB0YWdlLmZvckVhY2goZnVuY3Rpb24oZCwgZGkp +IHsKICAgICAgICB2YXIgZFN0ciA9IGRhdHVtU3RyKGQpOwogICAgICAgIHZhciBpbmZvID0gVEFH +SU5GT1NbZFN0cl0gfHwgeyB0eXA6ICdub3JtYWwnIH07CiAgICAgICAgdmFyIGVpbnRyID0gRUlO +VFJBRUdFW2RTdHJdIHx8IHt9OwogICAgICAgIHZhciBpc3RIZXV0ZSA9IGRTdHIgPT09IGhldXRl +S2V5OwogICAgICAgIHZhciBpc3RGVCA9IGluZm8udHlwID09PSAnZmVpZXJ0YWcnOwogICAgICAg +IHZhciBpc3RXRSA9IGRpID49IDU7CgogICAgICAgIHZhciBibG9ja0NscyA9ICd3cC10YWdibG9j +ayc7CiAgICAgICAgaWYgKGlzdEhldXRlKSBibG9ja0NscyArPSAnIHdwLXRhZ2Jsb2NrLWhldXRl +JzsKICAgICAgICBpZiAoaXN0RlQpIGJsb2NrQ2xzICs9ICcgd3AtdGFnYmxvY2stZnQnICsgKGlu +Zm8ud2ljaHRpZyA/ICcgd3AtdGFnYmxvY2stZnQtd2ljaHRpZycgOiAnJyk7CiAgICAgICAgZWxz +ZSBpZiAoaXN0V0UpIGJsb2NrQ2xzICs9ICcgd3AtdGFnYmxvY2std2UnOwogICAgICAgIGVsc2Ug +aWYgKGluZm8udHlwID09PSAnZmVyaWVuJykgYmxvY2tDbHMgKz0gJyB3cC10YWdibG9jay1ucyc7 +CgogICAgICAgIHZhciBzcGFsdGVuRGF0ZW4gPSBzcGFsdGVuLm1hcChmdW5jdGlvbihzcCkgewog +ICAgICAgICAgICB2YXIgZXJnID0gW107CiAgICAgICAgICAgIFBFUlNPTkVOLmZvckVhY2goZnVu +Y3Rpb24ocCkgewogICAgICAgICAgICAgICAgdmFyIHcgPSBlaW50cltTdHJpbmcocC5pZCldIHx8 +ICcnOwogICAgICAgICAgICAgICAgc3AucHJlZml4ZS5mb3JFYWNoKGZ1bmN0aW9uKHByZWYpIHsK +ICAgICAgICAgICAgICAgICAgICBpZiAodyA9PT0gcHJlZi5jb2RlKSBlcmcucHVzaCh7IGlkOiBw +LmlkLCBuYW1lOiBwLm5hbWUsIHBvczogcC5wb3NpdGlvbiB8fCA5OTksIHN0ZXJuOiBwcmVmLnN0 +ZXJuIH0pOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBl +cmcuc29ydChmdW5jdGlvbihhLCBiKSB7IHJldHVybiBhLnBvcyAtIGIucG9zOyB9KTsKICAgICAg +ICAgICAgcmV0dXJuIGVyZzsKICAgICAgICB9KTsKICAgICAgICB2YXIgbWF4Um93cyA9IDg7Cgog +ICAgICAgIHZhciB6dXNhdHogPSAnJzsKICAgICAgICBpZiAoaXN0RlQpIHp1c2F0eiA9ICc8c3Bh +biBjbGFzcz0id3AtdGwtenVzYXR6IHdwLXRsLXotZnQiIHRpdGxlPSInICsgZXNjYXBlQXR0cihp +bmZvLm5hbWUgfHwgJ0ZlaWVydGFnJykgKyAnIj7wn46JICcgKyBlc2NhcGVIVE1MKGluZm8ubmFt +ZSB8fCAnRmVpZXJ0YWcnKSArICc8L3NwYW4+JzsKICAgICAgICBlbHNlIGlmIChpbmZvLnR5cCA9 +PT0gJ2ZlcmllbicpIHp1c2F0eiA9ICc8c3BhbiBjbGFzcz0id3AtdGwtenVzYXR6IHdwLXRsLXot +ZmVyaWVuIiB0aXRsZT0iJyArIGVzY2FwZUF0dHIoaW5mby5uYW1lIHx8ICdTY2h1bGZlcmllbicp +ICsgJyI+8J+Plu+4jyAnICsgZXNjYXBlSFRNTChpbmZvLm5hbWUgfHwgJ1NjaHVsZmVyaWVuJykg +KyAnPC9zcGFuPic7CiAgICAgICAgaWYgKGluZm8uc29uZGVyKSB7CiAgICAgICAgICAgIHZhciBz +SWNvbiA9IGluZm8uc29uZGVyLmljb24gfHwgKGluZm8uc29uZGVyLnR5cCA9PT0gJ3dhcm51bmcn +ID8gJ+KaoCcgOiAn4oS5Jyk7CiAgICAgICAgICAgIHZhciBzVGl0ID0gaW5mby5zb25kZXIudGl0 +ZWwgfHwgc29uZGVyVGl0ZWxBdXNUZXh0KGluZm8uc29uZGVyLnRleHQpIHx8ICdIaW53ZWlzJzsK +ICAgICAgICAgICAgenVzYXR6ICs9ICc8c3BhbiBjbGFzcz0id3AtdGwtenVzYXR6IHdwLXRsLXot +JyArIChpbmZvLnNvbmRlci50eXAgfHwgJ2hpbndlaXMnKSArICciIHRpdGxlPSInICsgZXNjYXBl +QXR0cihzVGl0KSArICciPicgKyBlc2NhcGVIVE1MKHNJY29uKSArICcgJyArIGVzY2FwZUhUTUwo +c1RpdCkgKyAnPC9zcGFuPic7CiAgICAgICAgfQogICAgICAgIGlmIChpbmZvLmdlYnVydHN0YWdl +ICYmIGluZm8uZ2VidXJ0c3RhZ2UubGVuZ3RoKSB7CiAgICAgICAgICAgIHp1c2F0eiArPSAnPHNw +YW4gY2xhc3M9IndwLXRsLXp1c2F0eiB3cC10bC16LWdiIiB0aXRsZT0iR2VidXJ0c3RhZyI+8J+O +giAnICsgZXNjYXBlSFRNTChpbmZvLmdlYnVydHN0YWdlLm1hcChmdW5jdGlvbihnKXtyZXR1cm4g +Zy5uYW1lO30pLmpvaW4oJywgJykpICsgJzwvc3Bhbj4nOwogICAgICAgIH0KCiAgICAgICAgdmFy +IHRhZ0xhYmVsID0gJzxkaXYgY2xhc3M9IndwLXRhZ2Jsb2NrLWxhYmVsIj4nICsKICAgICAgICAg +ICAgJzxkaXYgY2xhc3M9IndwLXRsLWtvcGYiPicgKwogICAgICAgICAgICAgICAgJzxzcGFuIGNs +YXNzPSJ3cC10bC13dCI+JyArIHd0TmFtZW5bZGldICsgJy48L3NwYW4+JyArCiAgICAgICAgICAg +ICAgICAnPHNwYW4gY2xhc3M9IndwLXRsLWRhdHVtIj4nICsgZGF0dW1Gb3JtYXRERShkU3RyKSAr +ICc8L3NwYW4+JyArCiAgICAgICAgICAgICc8L2Rpdj4nICsKICAgICAgICAgICAgKHp1c2F0eiA/ +ICc8ZGl2IGNsYXNzPSJ3cC10bC16dXNhdHotYm94Ij4nICsgenVzYXR6ICsgJzwvZGl2PicgOiAn +JykgKwogICAgICAgICc8L2Rpdj4nOwoKICAgICAgICB2YXIgdGFiID0gJzx0YWJsZSBjbGFzcz0i +d3AtdGFnYmxvY2stdGFiZWxsZSI+JyArCiAgICAgICAgICAgICc8dGhlYWQ+JyArCiAgICAgICAg +ICAgICAgICAnPHRyIGNsYXNzPSJ3cC10YWctaDEiPicgKwogICAgICAgICAgICAgICAgICAgICc8 +dGggY29sc3Bhbj0iMyIgY2xhc3M9IndwLWgxLWRnbCI+REdMPC90aD4nICsKICAgICAgICAgICAg +ICAgICAgICAnPHRoIGNvbHNwYW49IjMiIGNsYXNzPSJ3cC1oMS13ZGYiPldERi9GQlA8L3RoPicg +KwogICAgICAgICAgICAgICAgJzwvdHI+JyArCiAgICAgICAgICAgICAgICAnPHRyIGNsYXNzPSJ3 +cC10YWctaDIiPicgKwogICAgICAgICAgICAgICAgICAgICc8dGggY2xhc3M9IndwLXNjaGljaHQt +ZnJ1ZWgiPkZyw7xoPC90aD4nICsKICAgICAgICAgICAgICAgICAgICAnPHRoIGNsYXNzPSJ3cC1z +Y2hpY2h0LXNwYWV0Ij5TcMOkdDwvdGg+JyArCiAgICAgICAgICAgICAgICAgICAgJzx0aCBjbGFz +cz0id3Atc2NoaWNodC1uYWNodCI+TmFjaHQ8L3RoPicgKwogICAgICAgICAgICAgICAgICAgICc8 +dGggY2xhc3M9IndwLXNjaGljaHQtZnJ1ZWgiPkZyw7xoPC90aD4nICsKICAgICAgICAgICAgICAg +ICAgICAnPHRoIGNsYXNzPSJ3cC1zY2hpY2h0LXNwYWV0Ij5TcMOkdDwvdGg+JyArCiAgICAgICAg +ICAgICAgICAgICAgJzx0aCBjbGFzcz0id3Atc2NoaWNodC1uYWNodCI+TmFjaHQ8L3RoPicgKwog +ICAgICAgICAgICAgICAgJzwvdHI+JyArCiAgICAgICAgICAgICc8L3RoZWFkPicgKwogICAgICAg +ICAgICAnPHRib2R5Pic7CiAgICAgICAgZm9yICh2YXIgciA9IDA7IHIgPCBtYXhSb3dzOyByKysp +IHsKICAgICAgICAgICAgdGFiICs9ICc8dHI+JzsKICAgICAgICAgICAgc3BhbHRlbkRhdGVuLmZv +ckVhY2goZnVuY3Rpb24oc3AsIHNpKSB7CiAgICAgICAgICAgICAgICB2YXIgcCA9IHNwW3JdOwog +ICAgICAgICAgICAgICAgdmFyIHNjaGljaHRDbHMgPSBzcGFsdGVuW3NpXS5jbHM7CiAgICAgICAg +ICAgICAgICB2YXIgY2VsbCA9ICcnOwogICAgICAgICAgICAgICAgaWYgKHApIHsKICAgICAgICAg +ICAgICAgICAgICBjZWxsID0gJzxzcGFuIGNsYXNzPSJ3cC1uYW1lJyArIChwLnN0ZXJuID8gJyB3 +cC1uYW1lLWZicCcgOiAnJykgKyAnIiBkYXRhLXBlcnNvbi1pZD0iJyArIHAuaWQgKyAnIj4nICsK +ICAgICAgICAgICAgICAgICAgICAgICAgZXNjYXBlSFRNTChwLm5hbWUpICsgKHAuc3Rlcm4gPyAn +PHN1cD4qPC9zdXA+JyA6ICcnKSArICc8L3NwYW4+JzsKICAgICAgICAgICAgICAgIH0KICAgICAg +ICAgICAgICAgIHRhYiArPSAnPHRkIGNsYXNzPSJ3cC10ZC1uYW1lICcgKyBzY2hpY2h0Q2xzICsg +JyI+JyArIGNlbGwgKyAnPC90ZD4nOwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgdGFiICs9 +ICc8L3RyPic7CiAgICAgICAgfQogICAgICAgIHRhYiArPSAnPC90Ym9keT48L3RhYmxlPic7Cgog +ICAgICAgIGJsb2Vja2VIdG1sICs9ICc8ZGl2IGNsYXNzPSInICsgYmxvY2tDbHMgKyAnIj4nICsg +dGFnTGFiZWwgKyAnPGRpdiBjbGFzcz0id3AtdGFnYmxvY2staW5oYWx0Ij4nICsgdGFiICsgJzwv +ZGl2PjwvZGl2Pic7CiAgICB9KTsKCiAgICB2YXIgamV0enQgPSBuZXcgRGF0ZSgpOwogICAgdmFy +IGRydWNrWmVpdCA9IGRhdHVtRm9ybWF0REUoSEVVVEVfU1RSKSArICcgJyArIHBhZDIoamV0enQu +Z2V0SG91cnMoKSkgKyAnOicgKyBwYWQyKGpldHp0LmdldE1pbnV0ZXMoKSk7CiAgICB2YXIgZm9v +dGVyID0gJzxkaXYgY2xhc3M9IndwLXNlaXRlLWZ1c3MiPicgKwogICAgICAgICc8c3BhbiBjbGFz +cz0id3AtZnVzcy1ub3RlIj48c3VwPio8L3N1cD4gQmVzZXR6dW5nIGVpbmVyIFN0cmVpZmUgYXVz +IGRlbSBGdW5rdGlvbnNiZXNldHp1bmdzcGxhbjwvc3Bhbj4nICsKICAgICAgICAnPHNwYW4gY2xh +c3M9IndwLWZ1c3MtZHJ1Y2siPkRydWNrOiAnICsgZHJ1Y2taZWl0ICsgJzwvc3Bhbj4nICsKICAg +ICc8L2Rpdj4nOwoKICAgIHZhciBzZWl0ZUtvcGYgPSAnPGRpdiBjbGFzcz0id3Atc2VpdGUta29w +ZiI+JyArCiAgICAgICAgJzxoMT5WZXJrZWhyc2luc3Bla3Rpb24gMyDigJQgV29jaGVucGxhbiB2 +b24gPHN0cm9uZz4nICsgZGF0dW1LdXJ6REUodm9uKSArICc8L3N0cm9uZz4gYmlzIDxzdHJvbmc+ +JyArIGRhdHVtS3VyekRFKGJpcykgKyAnPC9zdHJvbmc+ICcgKyB2b24uZ2V0RnVsbFllYXIoKSAr +ICc8L2gxPicgKwogICAgJzwvZGl2Pic7CgogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dw +LXNjcm9sbCcpLmlubmVySFRNTCA9ICc8ZGl2IGNsYXNzPSJ3cC1zZWl0ZSI+JyArIHNlaXRlS29w +ZiArIGJsb2Vja2VIdG1sICsgZm9vdGVyICsgJzwvZGl2Pic7Cn0KCi8vID09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyBOYXZpZ2F0 +aW9uICsgRHJ1Y2tlbgovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT0KZnVuY3Rpb24gd3BWb3J3b2NoZSgpICAgICAgeyBpZiAod3BP +ZmZzZXQgPiBXUF9NSU5fT0ZGU0VUKSB7IHdwT2Zmc2V0LS07IHdwUmVuZGVybigpOyB9IH0KZnVu +Y3Rpb24gd3BOYWVjaHN0ZVdvY2hlKCkgeyBpZiAod3BPZmZzZXQgPCBXUF9NQVhfT0ZGU0VUKSB7 +IHdwT2Zmc2V0Kys7IHdwUmVuZGVybigpOyB9IH0KZnVuY3Rpb24gd3BBa3R1ZWxsZVdvY2hlKCkg +eyB3cE9mZnNldCA9IDA7IHdwUmVuZGVybigpOyB9CgpmdW5jdGlvbiB3cERydWNrZW4oKSB7CiAg +ICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ2RydWNrZW4td29jaGVucGxhbicpOwogICAg +d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpIHsKICAgICAgICB3aW5kb3cu +cHJpbnQoKTsKICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAg +ICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdkcnVja2VuLXdvY2hlbnBsYW4nKTsK +ICAgICAgICB9LCAyMDApOwogICAgfSk7Cn0KCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3cC12 +b3J3b2NoZScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgd3BWb3J3b2NoZSk7CmRvY3VtZW50 +LmdldEVsZW1lbnRCeUlkKCd3cC1ha3R1ZWxsZS13b2NoZScpLmFkZEV2ZW50TGlzdGVuZXIoJ2Ns +aWNrJywgd3BBa3R1ZWxsZVdvY2hlKTsKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dwLW5hZWNo +c3RlLXdvY2hlJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB3cE5hZWNoc3RlV29jaGUpOwpk +b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd3AtZHJ1Y2tlbicpLmFkZEV2ZW50TGlzdGVuZXIoJ2Ns +aWNrJywgd3BEcnVja2VuKTsKCndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVu +Y3Rpb24oZXYpIHsKICAgIGlmIChldi50YXJnZXQgJiYgKGV2LnRhcmdldC50YWdOYW1lID09PSAn +SU5QVVQnIHx8IGV2LnRhcmdldC50YWdOYW1lID09PSAnVEVYVEFSRUEnKSkgcmV0dXJuOwogICAg +aWYgKGV2LmtleSA9PT0gJ0Fycm93TGVmdCcpICB7IHdwVm9yd29jaGUoKTsgICAgICBldi5wcmV2 +ZW50RGVmYXVsdCgpOyB9CiAgICBpZiAoZXYua2V5ID09PSAnQXJyb3dSaWdodCcpIHsgd3BOYWVj +aHN0ZVdvY2hlKCk7IGV2LnByZXZlbnREZWZhdWx0KCk7IH0KICAgIGlmIChldi5rZXkgPT09ICdI +b21lJykgICAgICAgeyB3cEFrdHVlbGxlV29jaGUoKTsgZXYucHJldmVudERlZmF1bHQoKTsgfQp9 +KTsKCnRyeSB7CiAgICB3cFJlbmRlcm4oKTsKfSBjYXRjaCAoZSkgewogICAgZG9jdW1lbnQuZ2V0 +RWxlbWVudEJ5SWQoJ3dwLXNjcm9sbCcpLmlubmVySFRNTCA9CiAgICAgICAgJzxkaXYgY2xhc3M9 +IndwLWxlZXItaGlud2VpcyI+PHN0cm9uZz5GZWhsZXIgYmVpbSBBdWZiYXUgZGVzIFdvY2hlbnBs +YW5zPC9zdHJvbmc+PGJyPicgKwogICAgICAgIGVzY2FwZUhUTUwoZS5tZXNzYWdlIHx8IFN0cmlu +ZyhlKSkgKyAnPC9kaXY+JzsKfQo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg== +### FILE: app.js | 143098 +LyogPT09IFZJMyBER0wtUGxhbnVuZyDigJQgQW53ZW5kdW5nc2xvZ2lrIChFeGNlbC10cmV1ZXMg +TGF5b3V0KQoKICAgICAgIEVTTS1NaWdyYXRpb24gbGFldWZ0IOKAlCBzaWVoZSBkb2NzL01PRFVM +X0tBUlRFLm1kLiA9PT0gKi8KCnZhciBfdXBkYXRlVG9hc3RTaG93biA9IGZhbHNlOwoKaW1wb3J0 +IHsgWiB9IGZyb20gJy4vanMvY29yZV9zdGF0ZS5qcyc7CmltcG9ydCB7CiAgICBlc2NhcGVIVE1M +LCBlc2NhcGVBdHRyLAogICAgZGF0dW1TdHIsIGRhdHVtRm9ybWF0REUsIGRhdHVtS3VyekRFLCB3 +b2NoZW50YWdLdXJ6LCBpc3RXb2NoZW5lbmRlLAogICAgZnVua3Rpb25zUmFuZywKICAgIF9wZXJz +b25BbnplaWdlLCBhYnNlbmRlck5hbWVFcm1pdHRlbG4KfSBmcm9tICcuL2pzL2NvcmVfdXRpbC5q +cyc7CmltcG9ydCB7IGFwaSwgYXBpUG9zdCwgYXBpUHV0LCBhcGlEZWxldGUgfSBmcm9tICcuL2pz +L2NvcmVfYXBpLmpzJzsKaW1wb3J0IHsKICAgIEVOVFdVUkZfVFRMX1RBR0UsCiAgICB0b2FzdCwg +YmVzdGFldGlnZW4sCiAgICBlbnR3dXJmRnVlciwgZW50d3VyZlNwZWljaGVybiwgZW50d3VyZkxv +ZXNjaGVuLCBlbnR3dXJmQXV0b0NsZWFudXAsCiAgICBtb2RhbEZvcm1EYXRlbkxlc2VuLCBtb2Rh +bEZvcm1EYXRlblNjaHJlaWJlbiwKICAgIG1vZGFsRGlydHlUcmFja2luZ0FrdGl2aWVyZW4sIG1v +ZGFsU3BlaWNoZXJCdXR0b25CaW5kZW4sCiAgICBtb2RhbFplaWdlbiwgbW9kYWxTY2hsaWVzc2Vu +LCBtb2RhbERpcnR5QmVzdGFldGlndW5nWmVpZ2VuLCBtb2RhbEVudHd1cmZCYW5uZXJaZWlnZW4s +CiAgICBkaXJ0eVJlZ2lzdHJpZXJlLCBkaXJ0eVNldHplbiwgZGlydHlJc3QsIGRpcnR5S2VubnQs +IGRpcnR5QWt0aXZlLCBkaXJ0eVBydWVmZW4sIGRpcnR5U3BlaWNoZXJuLAogICAgdGFiRHJhZnRM +b2VzY2hlbiwKICAgIHRoZW1lVW1zY2hhbHRlbiwgdGhlbWVXaWVkZXJoZXJzdGVsbGVuLAogICAg +bGFkZU92ZXJsYXlaZWlnZW4sIGxhZGVPdmVybGF5VmVyc3RlY2tlbgp9IGZyb20gJy4vanMvdWlf +ZGlhbG9nLmpzJzsKaW1wb3J0IHsKICAgIHNhbml0aXplUmljaEh0bWwsIEVNT0pJX1NFVCwKICAg +IGVtb2ppUGlja2VyWmVpZ2VuLCBlbW9qaVBpY2tlclNjaGxpZXNzZW4sCiAgICBydGVJbml0LCBy +dGVCdXR0b25TdGF0ZXMKfSBmcm9tICcuL2pzL3VpX3J0ZS5qcyc7CmltcG9ydCB7CiAgICBwZXJt +aXNzaW9uSG9va3MsCiAgICByZWNodGVBdXNJbmZvLAogICAgZGFyZkFkbWluVGFiLCBkYXJmU3Rh +dGlzdGlrLCBkYXJmTG9nYnVjaCwKICAgIGRhcmZBZG1pblN1YnRhYiwgZGFyZlN0YXRpc3Rpa1N1 +YiwgZGFyZlplbGxlRWRpdGllcmVuLAogICAgYmVyZWNobmVGYWNoYXVmc2ljaHRSZWNodGUsIGJl +cmVjaG5lUmVndWxhZXJSZWNodGUsCiAgICBpbXBlcnNvbmF0aW9uQWt0aXYsCiAgICBpbXBlcnNv +bmF0ZUFud2VuZGVuLCBpbXBlcnNvbmF0ZVN0YXJ0LCBpbXBlcnNvbmF0ZVJlZ3VsYWVyLCBpbXBl +cnNvbmF0ZVBlcnNvbiwgaW1wZXJzb25hdGVFbmQsCiAgICBpbXBlcnNvbmF0ZUJhbm5lclplaWdl +biwgaW1wZXJzb25hdGVCYW5uZXJWZXJzdGVja2VuLAogICAgYWRtaW5TdWJ0YWJGaWx0ZXJBbndl +bmRlbiwgbmF2U2ljaHRiYXJrZWl0QW53ZW5kZW4sCiAgICBkYXR1bUluVmVyYmluZGxpY2hrZWl0 +Cn0gZnJvbSAnLi9qcy9jb3JlX3Blcm1pc3Npb25zLmpzJzsKaW1wb3J0IHsKICAgIGRhdGVuTGFk +ZW5Ib29rcywKICAgIEFETUlOX0xJU1RfRkVMREVSLCBhZG1pbkxpc3Rlbk5vcm1hbGlzaWVyZW4s +CiAgICBwZXJzb25lbk5ldUF1ZmJhdWVuLCBoZXV0ZUJsb2NrQWt0dWFsaXNpZXJlbiwKICAgIGhl +YXJ0YmVhdFN0YXJ0ZW4KfSBmcm9tICcuL2pzL2NvcmVfZGF0ZW5MYWRlbi5qcyc7CmltcG9ydCB7 +CiAgICByZW5kZXJIb29rcywKICAgIHRhZ2VFcnpldWdlbiwgdGFnSW5mb3NCZXJlY2huZW4sCiAg +ICBzdGFlcmtlQmVyZWNobmVuLCBzY2hyYWZmdXJCZXJlY2huZW4sCiAgICBncmlkUmVuZGVybiwg +a29wZlJlbmRlcm4sIG5hbWVuUmVuZGVybiwgZGF0ZW5HcmlkUmVuZGVybiwKICAgIHplbGxlVmlz +dWVsbEFrdHVhbGlzaWVyZW4sIHN0YWVya2VaZWxsZUFrdHVhbGlzaWVyZW4sCiAgICBzY3JvbGxT +eW5jLCB6dW1IZXV0aWdlbkRhdHVtLCBhbnNpY2h0V2VjaHNlbG4KfSBmcm9tICcuL2pzL2dyaWRf +cmVuZGVyLmpzJzsKaW1wb3J0IHsgc2NoaWNodFRlYW1Nb2RhbE9lZmZuZW4gfSBmcm9tICcuL2pz +L3NjaGljaHR0ZWFtLmpzJzsKaW1wb3J0IHsKICAgIGludGVyYWN0aW9uSG9va3MsCiAgICBCS19I +T1JJWk9OVF9UQUdFLAogICAgaXN0V2FjaGxlaXR1bmdBa3R1ZWxsZXJVc2VyLCB1bnRlcmJlc2V0 +enVuZ0FuYWx5c2VWaTMsCiAgICB6dURhdHVtU2Nyb2xsZW4sIHVudGVyYmVzZXR6dW5nV2FybnVu +Z1plaWdlbiwKICAgIGtvbW1lbnRhckVpbnRyYWcsIGtvbW1lbnRhclRleHQsIGtvbW1lbnRhck1l +dGEsCiAgICBrb21tZW50YXJMYWRlbiwga29tbWVudGFyU3BlaWNoZXJuLCBrb21tZW50YXJIaW56 +dWZ1ZWdlbiwga29tbWVudGFyTG9lc2NoZW4sCiAgICBrb21tZW50YXJlSW1HcmlkQW56ZWlnZW4s +CiAgICBrb21tZW50YXJQb3BvdmVyWmVpZ2VuLCBrb21tZW50YXJQb3BvdmVyVmVyc3RlY2tlbiwg +a29tbWVudGFyUG9wb3ZlckZlc3RoYWx0ZW4sCiAgICBmdWVsbEluaXQsIGZ1ZWxsSGFuZGxlQW5a +ZWxsZSwgZnVlbGxIYW5kbGVWZXJzdGVja2VuLCBmdWVsbElzdEFrdGl2Cn0gZnJvbSAnLi9qcy9n +cmlkX2ludGVyYWN0aW9uLmpzJzsKaW1wb3J0IHsKICAgIGVkaXRvckhvb2tzLAogICAgRlVFSFJV +TkdfU09MTCwKICAgIGZ1ZWhydW5nc1NjaGljaHQsIGZ1ZWhydW5nc1phZWhsZW4sIGRnbHNJblNj +aGljaHQsIGFrdGl2ZUZ1ZWhydW5nLAogICAgZ2VzYW10dmVyYW50d29ydGxpY2hFbWFpbCwKICAg +IGZ1ZWhydW5nc1VudGVyYmVzZXR6dW5nUHJ1ZWZlbiwKICAgIGVkaXRvckFrdGl2LCBlZGl0b3JE +YXR1bSwgZWRpdG9yUGVyc29uSWQsIGVkaXRvcktvbW1lbnRhclZlcmxhdWZSZW5kZXJuLAogICAg +bmFjaGJhckRhdHVtLCBzY2hpY2h0VHlwLCBydWhlemVpdFBydWVmZW4sCiAgICBlZGl0b3JPZWZm +bmVuLCBlZGl0b3JTY2hsaWVzc2VuLCBlZGl0b3JBdXN3YWhsCn0gZnJvbSAnLi9qcy9ncmlkX2Vk +aXRvci5qcyc7CmltcG9ydCB7CiAgICBiZXNldHp1bmdIb29rcywKICAgIGJlc2V0enVuZ3NBbmFs +eXNlLCBkZWZpeml0QnJpZWZpbmdPZWZmbmVuLAogICAgYmVzZXR6dW5nc1RhYkZhcmJlQWt0dWFs +aXNpZXJlbiwgZ2VzYW10dmVyYW50d29ydGxpY2hWb3JuYW1lRXJtaXR0ZWxuLAogICAgYmVzZXR6 +dW5nc2tvbnRyb2xsZVJlbmRlcm4sIGJlc2V0enVuZ3Nrb250cm9sbGVUYWdVcGRhdGVuLCBiZXNl +dHp1bmdza29udHJvbGxlRXZlbnRzQXVmaGFlbmdlbiwKICAgIGZyZWlQZXJzb25lbkZ1ZXIKfSBm +cm9tICcuL2pzL2Jlc2V0enVuZy5qcyc7CmltcG9ydCB7CiAgICBlbWFpbEhvb2tzLAogICAgRU1B +SUxfVk9STEFHRU5fREVGQVVMVCwgRU1BSUxfVkFSSUFCTEVOX0JFU0NIUkVJQlVORywKICAgIEVN +UEZBRU5HRVJfT1BUSU9ORU4sIEVNQUlMX1ZPUkxBR0VOX01FVEEsCiAgICBlbWFpbFZvcmxhZ2Vu +SG9sZW4sIGVtYWlsVm9ybGFnZW5SZW5kZXJuLCBlbWFpbFZvcmxhZ2VCZWFyYmVpdGVuTW9kYWws +CiAgICBodG1sWnVQbGFpblRleHQsIGVtYWlsVm9ybGFnZUJlZnVlbGxlbiwKICAgIG1haWxUcmln +Z2VyRmV1ZXJuLCB2ZXJhbnR3b3J0dW5nc01haWx0b0ZldWVybgp9IGZyb20gJy4vanMvZW1haWxf +dm9ybGFnZW4uanMnOwovLyBBZG1pbi1Nb2R1bGU6IG5hY2ggUGhhc2UgOS1CIEM1IGRpcmVrdGUg +SW1wb3J0ZSBwcm8gU3ViLU1vZHVsLgovLyBhZG1pbi5qcyBzZWxic3QgaGFlbHQgbnVyIG5vY2gg +Qm9vdHN0cmFwLUZ1bmt0aW9uZW4gKERpc3BhdGNoZXIsCi8vIFNpY2h0YmFya2VpdCwgQmFja3Vw +cywgRGllbnN0Z3J1cHBlbiwgQmV6ZWljaG51bmdlbiwgRWluc3RlbGx1bmdlbiwKLy8gSW5mbytI +aWxmZSwgU3RhbmRvcnRlK1NjaGljaHRmb2xnZSwgRmVhdHVyZXMsIERpcnR5LVRyYWNrZXIpLgpp +bXBvcnQgewogICAgYWRtaW5Ib29rcywKICAgIEJFRElFTlVOR19ERUZBVUxULCBJTVBSRVNTVU1f +REVGQVVMVCwgU1VQUE9SVF9NQUlMX0RFRkFVTFQsIEJVR1JFUE9SVF9NQUlMX0RFRkFVTFQsCiAg +ICBhZG1pblJlbmRlcm4sIGFkbWluRHJhZnRCYW5uZXJBbmJpZXRlbiwgc2ljaHRiYXJrZWl0V2Vy +dCwgc2ljaHRiYXJrZWl0UmVuZGVybiwKICAgIGJhY2t1cFRhYmVsbGVMYWRlbiwgYmFja3VwR3Jv +ZXNzZUZvcm1hdCwgYmFja3VwWmVpdHB1bmt0Rm9ybWF0LCBiYWNrdXBUYWJlbGxlUmVuZGVybiwK +ICAgIGdydXBwZW5QZXJzb25lblphZWhsZW4sIGdydXBwZW5UYWJlbGxlUmVuZGVybiwKICAgIGh0 +bWxBdXNGZWxkLAogICAgaW5mb0hpbGZlUmVuZGVybiwgaW5mb0hpbGZlQXVzRmVsZGVybkxlc2Vu +LAogICAgYmV6LCBiZXplaWNobnVuZ2VuQW53ZW5kZW4sIGJlemVpY2hudW5nZW5SZW5kZXJuLCBi +ZXplaWNobnVuZ2VuQXVzVGFiZWxsZUxlc2VuLAogICAgbGlzdGVuUmVuZGVybiwgbGlzdGVuRGll +bnN0Z3JhZGVSZW5kZXJuLCBsaXN0ZW5GdW5rdGlvbmVuUmVuZGVybiwKICAgIGRpZW5zdGdyYWRl +QXVzVGFiZWxsZUxlc2VuLCBmdW5rdGlvbmVuQXVzVGFiZWxsZUxlc2VuLAogICAgbWlrcm90ZWFt +c1JlbmRlcm4sIG1pa3JvdGVhbXNBdXNUYWJlbGxlTGVzZW4sIG1pa3JvdGVhbVBlcnNvbmVuRGlh +bG9nLAogICAgZWluc3RlbGx1bmdlblJlbmRlcm4sCiAgICBzdGFuZG9ydGVSZW5kZXJuLCBzdGFu +ZG9ydGVBdXNUYWJlbGxlTGVzZW4sIHJoeXRobXVzR2VuZXJhdG9yRGlhbG9nLAogICAgYWRtaW5J +bmZvSW5pdCwKICAgIGZlYXR1cmVzUmVuZGVybiwgZmVhdHVyZUlzdEFrdGl2LCBmZWF0dXJlTGFi +ZWxzLAogICAgZGlydHlUcmFja2VyRWlucmljaHRlbgp9IGZyb20gJy4vanMvYWRtaW4uanMnOwpp +bXBvcnQgeyBtaXR0ZWlsdW5nTmV1T2VmZm5lbiB9IGZyb20gJy4vanMvYWRtaW5fbWl0dGVpbHVu +Z2VuLmpzJzsKaW1wb3J0IHsKICAgIHBlcnNvbmFsVGFiZWxsZVJlbmRlcm4sIHBlcnNvblN0YXR1 +c1NldHplbiwKICAgIG5ldWltcG9ydEJsb2NrUmVuZGVybiwgbmV1aW1wb3J0RmVsZFNwZWljaGVy +biwgbmV1aW1wb3J0RXJsZWRpZ3QsIG5ldWltcG9ydEFsbGVFcmxlZGlndCwgbmV1aW1wb3J0VmVy +d2VyZmVuLAogICAgcGVyc29uQmVhcmJlaXRlbkRpYWxvZywgcGVyc29uTmV1RGlhbG9nLCBtYW51 +ZWxsZVNvcnRpZXJ1bmdEaWFsb2csCiAgICByYW5nSW5saW5lRWRpdCwgZGllbnN0Z3JhZElubGlu +ZUVkaXQsIGZ1bmt0aW9uSW5saW5lRWRpdCwgcGVyc29uYWxGZWxkSW5saW5lRWRpdCwKICAgIGVs +ZGdsSW5saW5lVG9nZ2xlLCBhbnNwcmVjaHBhcnRuZXJJbmxpbmVUb2dnbGUsIGluUGxhbnVuZ0lu +bGluZVRvZ2dsZSwKICAgIHBlcnNvbkVtYWlsRGlhbG9nLAogICAgZ2VidXJ0c3RhZ01vZGFsS2xp +Y2ssCiAgICBtZWluUHJvZmlsTW9kYWxPZWZmbmVuLCBtZWluQXZhdGFyVG9wYmFyQWt0dWFsaXNp +ZXJlbiwKICAgIHBlcnNvblBvcG92ZXJaZWlnZW4sIHBlcnNvblBvcG92ZXJWZXJzdGVja2VuCn0g +ZnJvbSAnLi9qcy9hZG1pbl9wZXJzb25hbC5qcyc7CmltcG9ydCB7CiAgICBmZWllcnRhZ2VUYWJl +bGxlUmVuZGVybiwgZmVpZXJ0YWdlQXVzVGFiZWxsZUxlc2VuLAogICAgZmVpZXJ0YWdlRmlsdGVy +QW53ZW5kZW4sIGZlaWVydGFnZUZpbHRlckZ1ZWxsZW4sIGZlaWVydGFnZUluZm9Nb2RhbFplaWdl +biwKICAgIGZlcmllblRhYmVsbGVSZW5kZXJuLCBmZXJpZW5BdXNUYWJlbGxlTGVzZW4sCiAgICBz +b25kZXJ0ZXJtaW5lUmVuZGVybiwKICAgIHNvbmRlclRpdGVsQXVzVGV4dCwgc29uZGVyRnVlckRh +dHVtLCBzb25kZXJCeUlkLCBzb25kZXJEYXR1bUxhYmVsLAogICAgc29uZGVySW5oYWx0SHRtbCwg +c29uZGVyV2Fybk1vZGFsWmVpZ2VuLCBzb25kZXJBbnNpY2h0TW9kYWxaZWlnZW4sIHNvbmRlckVk +aXRNb2RhbFplaWdlbgp9IGZyb20gJy4vanMvYWRtaW5fa2FsZW5kZXIuanMnOwppbXBvcnQgewog +ICAgaXN0Q29kZUFrdGl2LCBjb2RlVmVyd2VuZHVuZ1phZWhsZW4sIHNjaGljaHRjb2RlS2F0ZWdv +cmllLAogICAgc2NoaWNodGNvZGVWb3JzY2hhdVJlbmRlcm4sIHNjaGljaHRjb2RlRHJhZ1ZlcmRy +YWh0ZW4sCiAgICBzY2hpY2h0Y29kZVRvZ2dsZUFrdGl2LCBzY2hpY2h0Y29kZUxpc3RlU3BlaWNo +ZXJuLCBzY2hpY2h0Y29kZUVkaXRNb2RhbFplaWdlbgp9IGZyb20gJy4vanMvYWRtaW5fY29kZXMu +anMnOwppbXBvcnQgewogICAgc3VwZXJVc2VyUmVuZGVybiwgc3VwZXJVc2VyQXVzVGFiZWxsZUxl +c2VuLAogICAgZmFjaGF1ZnNpY2h0UmVuZGVybiwgZmFjaGF1ZnNpY2h0RGlydHlTZXR6ZW4sIGZh +Y2hhdWZzaWNodElzdERpcnR5LAogICAgZmFjaGF1ZnNpY2h0U3ViU2ljaHRMYWJlbCwgZmFjaGF1 +ZnNpY2h0U3ViU2ljaHRNb2RhbCwKICAgIGZhY2hhdWZzaWNodFBsYW5MYWJlbCwgZmFjaGF1ZnNp +Y2h0QXVzVGFiZWxsZUxlc2VuLAogICAgZmFjaGF1ZnNpY2h0TmV1TW9kYWwsIGZhY2hhdWZzaWNo +dERldGFpbE1vZGFsLAogICAgcm9sbGVuVGFiZWxsZVJlbmRlcm4sIHJvbGxlbk5ldUVpbnRyYWcs +IHJvbGxlbkVpbnRyYWdMb2VzY2hlbiwKICAgIHJvbGxlblNwZWljaGVybiwgcm9sbGVuU3ViU2lj +aHRNb2RhbCwgcm9sbGVuUGxhblJlY2h0ZU1vZGFsLAogICAgcm9sbGVuQXVzVGFiZWxsZUxlc2Vu +LCByb2xsZW5EaXJ0eVNldHplbgp9IGZyb20gJy4vanMvYWRtaW5fcm9sbGVuLmpzJzsKaW1wb3J0 +IHsKICAgIHdwV29jaGVUYWdlLCB3cFJlbmRlcm4sIHBwUmVuZGVybiwKICAgIHdwVm9yd29jaGUs +IHdwTmFlY2hzdGVXb2NoZSwgd3BBa3R1ZWxsZVdvY2hlCn0gZnJvbSAnLi9qcy93b2NoZW5wbGFu +LmpzJzsKLy8gU3RhdGlzdGlrICsgTG9nYnVjaCB3ZXJkZW4gYmV3dXNzdCBOSUNIVCBzdGF0aXNj +aCBpbXBvcnRpZXJ0LCBkYW1pdAovLyByZWd1bGFlcmUgVXNlciAob2huZSBzZWhlbi5zdGF0aXN0 +aWsvc2VoZW4ubG9nYnVjaCkgaW0gVmlldy1Tb3VyY2UgKwovLyBOZXR3b3JrLVRhYiBrZWluZW4g +SGlud2VpcyBhdWYgZGllIEV4aXN0ZW56IGRpZXNlciBCZXJlaWNoZSBiZWtvbW1lbi4KLy8gU3Rh +dHRkZXNzZW4gd2VyZGVuIGRpZSBNb2R1bGUgenVyIExhdWZ6ZWl0IHVlYmVyIG9wdGlvbmFsZU1v +ZHVsZUxhZGVuKCkKLy8gcGVyIGR5bmFtaWMgaW1wb3J0KCkgZ2Vob2x0IOKAlCBudXIgZnVlciBC +ZXJlY2h0aWd0ZSwgc2FtdCB6dWdlaG9lcmlnZW0KLy8gSFRNTC1NYXJrdXAgKGRhdGEvbWFpbmZy +YW1lLmh0bWwgLyBkYXRhL3Nhbml0aXplci5odG1sIOKAlCBUYXJuLVBmYWRlLAovLyBkaWUgaW0g +Vmlldy1Tb3VyY2UvTmV0d29yay1UYWIgbmljaHQgYWxzIFN0YXRpc3Rpay9Mb2didWNoIGVya2Vu +bmJhcgovLyBzaW5kKSB1bmQgSGVhZGVyLU5hdi1CdXR0b24uCi8vIERpZSBDbG9zdXJlLVZhcmlh +YmxlbiB1bnRlbiBzdGFydGVuIGFscyBuby1vcCB1bmQgd2VyZGVuIG5hY2ggZGVtCi8vIExvYWQg +ZHVyY2ggZGllIGVjaHRlbiBGdW5rdGlvbmVuIGVyc2V0enQgKExpc3RlbmVyIGJsZWliZW4gZGFt +aXQKLy8gSU1NRVIgYXVmcnVmYmFyLCBhdWNoIG9obmUgZ2VsYWRlbmVzIE1vZHVsKS4KdmFyIHN0 +YXRpc3Rpa1JlbmRlcm4gPSBmdW5jdGlvbigpIHt9Owp2YXIgc3RhdGlzdGlrTGFkZW4gICA9IGZ1 +bmN0aW9uKCkge307CnZhciBzdGF0RmlsdGVyU2V0emVuID0gZnVuY3Rpb24oKSB7fTsKdmFyIHN0 +YXRJbmZvWmVpZ2VuICAgPSBmdW5jdGlvbigpIHt9Owp2YXIgbG9nYnVjaExhZGVuICAgICA9IGZ1 +bmN0aW9uKCkge307CnZhciBsb2didWNoRmlsdGVybiAgID0gZnVuY3Rpb24oKSB7fTsKdmFyIGxv +Z2J1Y2hIb29rcyAgICAgPSB7IGFmdGVyUmVzdG9yZTogbnVsbCB9OwppbXBvcnQgewogICAgaW1w +UmFuZ1BhcnNlbiwgaW1wRXhjZWxTZXJpYWxUb0lzbywKICAgIGltcERhdGVpVmVyYXJiZWl0ZW4s +IGltcEZlaGxlciwgaW1wQW5hbHlzaWVyZW4sCiAgICBpbXBTdGF0dXNSZW5kZXJuLCBpbXBTY2hy +ZWliZW5TdGFydGVuLAogICAgaW1wUHJvZ3Jlc3NNb2RhbE9lZmZuZW4sIGltcFByb2dyZXNzVXBk +YXRlLCBpbXBQcm9ncmVzc0ZlaGxlciwgaW1wUHJvZ3Jlc3NFcmZvbGcsCiAgICBpbXBTY2hyZWli +ZW5BdXNmdWVocmVuLCBpbXBTY2hyZWliZW5QaGFzZTIsIGltcFNjaHJlaWJlblBoYXNlMlRyYW5z +Zm9ybSwgaW1wU2NocmVpYmVuUGhhc2UzLAogICAgaW1wTWFwcGluZ01vZGFsCn0gZnJvbSAnLi9q +cy9pbXBvcnRfZXhjZWwuanMnOwppbXBvcnQgeyBzeW5jSG9va3MsIHN5bmNXb3JrZXJTdGFydGVu +LCBhbGxlRWlnZW5lbkxvY2tzRnJlaWdlYmVuQmVhY29uIH0gZnJvbSAnLi9qcy9zeW5jLmpzJzsK +aW1wb3J0IHsKICAgIG1hcmtpZXJ1bmdlbkFud2VuZGVuLCBlcnNjaGVpbnVuZ3NiaWxkU3BlaWNo +ZXJuLCBlcnNjaGVpbnVuZ3NiaWxkWnVydWVja3NldHplbiwKICAgIHZvcnNjaGF1QWt0dWFsaXNp +ZXJlbiwgc3luY0ZsYXNoVm9yc2NoYXUsIGVyc2NoZWludW5nc2JpbGRSZW5kZXJuLAogICAgZXJz +Y2hlaW51bmdzVGFiV2VjaHNlbG4sIGVyc2NoZWludW5nc1R5cFp1cnVlY2tzZXR6ZW4sIGVyc2No +ZWludW5nRmFyYmVUb2dnbGUKfSBmcm9tICcuL2pzL2FkbWluX2Vyc2NoZWludW5nc2JpbGQuanMn +OwppbXBvcnQgeyBoaW53ZWlzZUxhZGVuLCBoaW53ZWlzZUFuemVpZ2VBa3R1YWxpc2llcmVuLCBo +aW53ZWlzZU1vZGFsT2VmZm5lbiwgaGlud2Vpc2VTaWNodGJhciwgaGlud2Vpc2VQcm90b2tvbGxS +ZW5kZXJuIH0gZnJvbSAnLi9qcy9oaW53ZWlzZS5qcyc7CmltcG9ydCB7IHN0YXRpc3Rpa0xheW91 +dFJlbmRlcm4gfSBmcm9tICcuL2pzL2FkbWluX3N0YXRpc3Rpay5qcyc7CmltcG9ydCB7IHN0YXRp +c3Rpa0J1aWxkZXJSZW5kZXJuIH0gZnJvbSAnLi9qcy9hZG1pbl9zdGF0aXN0aWtfYnVpbGRlci5q +cyc7CmltcG9ydCB7IGV4cG9ydFJlbmRlcm4gfSBmcm9tICcuL2pzL2V4cG9ydF9wbGFuLmpzJzsK +aW1wb3J0IHsgc3RhbmRhcmRyZWNodGVSZW5kZXJuIH0gZnJvbSAnLi9qcy9hZG1pbl9zdGFuZGFy +ZHJlY2h0ZS5qcyc7CgooZnVuY3Rpb24oKSB7CiAgICAndXNlIHN0cmljdCc7CgogICAgLy8gWiAo +R2xvYmFsZXIgWnVzdGFuZCkgICAgICAgICAgICAgICAgIC0+IGpzL2NvcmUvc3RhdGUuanMKICAg +IC8vIEZVTktUSU9ORU4sIGZ1bmt0aW9uc1JhbmcsIERJRU5TVEdSQURFIC0+IGpzL2NvcmUvdXRp +bC5qcwoKICAgIC8vID09PT09IENyb3NzLU1vZHVsLUhvb2tzID09PT09CiAgICAvLyBIaWVyIHJl +Z2lzdHJpZXJlbiB3aXIgRnVua3Rpb25lbiBhdXMgYXBwLmpzIGJlaSBNb2R1bGVuLCBkaWUgc2ll +CiAgICAvLyBhdWZydWZlbiBtdWVzc2VuLCBhYmVyIG5vY2ggbmljaHQgZGlyZWt0IGltcG9ydGll +cmVuIGtvZW5uZW4KICAgIC8vIChGdW5rdGlvbmVuIHdhbmRlcm4gZXJzdCBpbiBzcGFldGVyZW4g +UGhhc2VuIGluIGlocmUgTW9kdWxlKS4KICAgIC8vIEZ1bmN0aW9uLUhvaXN0aW5nIGlubmVyaGFs +YiBkZXIgSUlGRTogZGllIHJlZmVyZW56aWVydGVuIE5hbWVuCiAgICAvLyBleGlzdGllcmVuIGJl +cmVpdHMgenUgZGllc2VtIFplaXRwdW5rdC4KICAgIHBlcm1pc3Npb25Ib29rcy5hZG1pblJlbmRl +cm4gICAgICAgICAgICAgPSBhZG1pblJlbmRlcm47CiAgICBwZXJtaXNzaW9uSG9va3Mua29wZlJl +bmRlcm4gICAgICAgICAgICAgID0ga29wZlJlbmRlcm47CiAgICBwZXJtaXNzaW9uSG9va3MuZ3Jp +ZFJlbmRlcm4gICAgICAgICAgICAgID0gZ3JpZFJlbmRlcm47CiAgICAvLyBwZXJtaXNzaW9uSG9v +a3Muc3RhdGlzdGlrUmVuZGVybiArIHJlbmRlckhvb2tzLnN0YXRpc3Rpa0xhZGVuLwogICAgLy8g +bG9nYnVjaExhZGVuICsgbG9nYnVjaEhvb2tzLmFmdGVyUmVzdG9yZSB3ZXJkZW4gaW4KICAgIC8v +IG9wdGlvbmFsZU1vZHVsZUxhZGVuKCkgZ2VzZXR6dCwgc29iYWxkIGRpZSBNb2R1bGUgZ2VsYWRl +biBzaW5kLgogICAgcGVybWlzc2lvbkhvb2tzLmJlc2V0enVuZ3Nrb250cm9sbGVSZW5kZXJuID0g +YmVzZXR6dW5nc2tvbnRyb2xsZVJlbmRlcm47CiAgICBwZXJtaXNzaW9uSG9va3MuYW5zaWNodFdl +Y2hzZWxuICAgICAgICAgID0gYW5zaWNodFdlY2hzZWxuOwogICAgZGF0ZW5MYWRlbkhvb2tzLmFk +bWluSG90UmVsb2FkICAgICAgICAgICA9IGFkbWluSG90UmVsb2FkOwogICAgZGF0ZW5MYWRlbkhv +b2tzLnBsYW51bmdIb3RSZWxvYWQgICAgICAgICA9IHBsYW51bmdIb3RSZWxvYWQ7CiAgICByZW5k +ZXJIb29rcy5mZWF0dXJlSXN0QWt0aXYgICAgICAgICAgICAgID0gZmVhdHVyZUlzdEFrdGl2Owog +ICAgcmVuZGVySG9va3Muc29uZGVyVGl0ZWxBdXNUZXh0ICAgICAgICAgICA9IHNvbmRlclRpdGVs +QXVzVGV4dDsKICAgIHJlbmRlckhvb2tzLmJlc2V0enVuZ3NUYWJGYXJiZUFrdHVhbGlzaWVyZW4g +PSBiZXNldHp1bmdzVGFiRmFyYmVBa3R1YWxpc2llcmVuOwogICAgcmVuZGVySG9va3Mua29tbWVu +dGFyZUltR3JpZEFuemVpZ2VuICAgICA9IGtvbW1lbnRhcmVJbUdyaWRBbnplaWdlbjsKICAgIHJl +bmRlckhvb2tzLmJleiAgICAgICAgICAgICAgICAgICAgICAgICAgPSBiZXo7CiAgICByZW5kZXJI +b29rcy53cFJlbmRlcm4gICAgICAgICAgICAgICAgICAgID0gd3BSZW5kZXJuOwogICAgcmVuZGVy +SG9va3MucHBSZW5kZXJuICAgICAgICAgICAgICAgICAgICA9IHBwUmVuZGVybjsKICAgIHJlbmRl +ckhvb2tzLmFkbWluUmVuZGVybiAgICAgICAgICAgICAgICAgPSBhZG1pblJlbmRlcm47CiAgICBy +ZW5kZXJIb29rcy5iZXNldHp1bmdza29udHJvbGxlUmVuZGVybiAgID0gYmVzZXR6dW5nc2tvbnRy +b2xsZVJlbmRlcm47CiAgICBpbnRlcmFjdGlvbkhvb2tzLmZlYXR1cmVJc3RBa3RpdiAgICAgICAg +ID0gZmVhdHVyZUlzdEFrdGl2OwogICAgZWRpdG9ySG9va3MuZmVhdHVyZUlzdEFrdGl2ICAgICAg +ICAgICAgICA9IGZlYXR1cmVJc3RBa3RpdjsKICAgIGVkaXRvckhvb2tzLnNvbmRlckZ1ZXJEYXR1 +bSAgICAgICAgICAgICAgPSBzb25kZXJGdWVyRGF0dW07CiAgICBlZGl0b3JIb29rcy5zb25kZXJX +YXJuTW9kYWxaZWlnZW4gICAgICAgID0gc29uZGVyV2Fybk1vZGFsWmVpZ2VuOwogICAgZWRpdG9y +SG9va3MuaXN0Q29kZUFrdGl2ICAgICAgICAgICAgICAgICA9IGlzdENvZGVBa3RpdjsKICAgIGVk +aXRvckhvb2tzLmVtYWlsVm9ybGFnZW5Ib2xlbiAgICAgICAgICAgPSBlbWFpbFZvcmxhZ2VuSG9s +ZW47CiAgICBlZGl0b3JIb29rcy5lbWFpbFZvcmxhZ2VCZWZ1ZWxsZW4gICAgICAgID0gZW1haWxW +b3JsYWdlQmVmdWVsbGVuOwogICAgZWRpdG9ySG9va3MubWFpbFRyaWdnZXJGZXVlcm4gICAgICAg +ICAgICA9IG1haWxUcmlnZ2VyRmV1ZXJuOwogICAgZWRpdG9ySG9va3MuYmVzZXR6dW5nc2tvbnRy +b2xsZVJlbmRlcm4gICA9IGJlc2V0enVuZ3Nrb250cm9sbGVSZW5kZXJuOwogICAgZWRpdG9ySG9v +a3MuYmVzZXR6dW5nc2tvbnRyb2xsZVRhZ1VwZGF0ZW4gPSBiZXNldHp1bmdza29udHJvbGxlVGFn +VXBkYXRlbjsKICAgIGJlc2V0enVuZ0hvb2tzLmJleiAgICAgICAgICAgICAgICAgICAgICAgPSBi +ZXo7CiAgICBiZXNldHp1bmdIb29rcy5lbWFpbFZvcmxhZ2VuSG9sZW4gICAgICAgID0gZW1haWxW +b3JsYWdlbkhvbGVuOwogICAgYmVzZXR6dW5nSG9va3MuZW1haWxWb3JsYWdlQmVmdWVsbGVuICAg +ICA9IGVtYWlsVm9ybGFnZUJlZnVlbGxlbjsKICAgIGJlc2V0enVuZ0hvb2tzLm1haWxUcmlnZ2Vy +RmV1ZXJuICAgICAgICAgPSBtYWlsVHJpZ2dlckZldWVybjsKICAgIGVtYWlsSG9va3MuaHRtbEF1 +c0ZlbGQgICAgICAgICAgICAgICAgICAgPSBodG1sQXVzRmVsZDsKICAgIGFkbWluSG9va3MuYmVk +aWVudW5nWmVpbGVuUmVuZGVybiAgICAgICAgPSBiZWRpZW51bmdaZWlsZW5SZW5kZXJuOwogICAg +Ly8gTGl2ZS1TeW5jOiBlcmxhdWJ0IHN5bmMtY2xpZW50ICsgY2VsbC1sb2NrLCBkZW4gRWRpdG9y +IChpbiBQaGFzZSA1CiAgICAvLyBleHRyYWhpZXJ0KSB6dSBzY2hsaWVzc2VuIHVuZCBaZWxsZW4g +dmlzdWVsbCB6dSBha3R1YWxpc2llcmVuLgogICAgc3luY0hvb2tzLmVkaXRvclNjaGxpZXNzZW4g +ICAgICAgICAgICAgICA9IGVkaXRvclNjaGxpZXNzZW47CiAgICBzeW5jSG9va3MuemVsbGVWaXN1 +ZWxsQWt0dWFsaXNpZXJlbiAgICAgID0gemVsbGVWaXN1ZWxsQWt0dWFsaXNpZXJlbjsKICAgIHN5 +bmNIb29rcy5oaW53ZWlzZUFrdHVhbGlzaWVydCAgICAgICAgICAgPSBmdW5jdGlvbihsaXN0ZSkg +ewogICAgICAgIFouaGlud2Vpc2UgPSBsaXN0ZSB8fCBbXTsKICAgICAgICBoaW53ZWlzZUFuemVp +Z2VBa3R1YWxpc2llcmVuKCk7CiAgICB9OwoKICAgIC8vIHBlcnNvbmVuTmV1QXVmYmF1ZW4gLT4g +anMvY29yZS9kYXRlbkxhZGVuLmpzCgogICAgLy8gPT09PT0gSGlsZnNmdW5rdGlvbmVuID09PT09 +CiAgICAvLyBlc2NhcGVIVE1ML2VzY2FwZUF0dHIsIGRhdHVtU3RyL2RhdHVtRm9ybWF0REUvZGF0 +dW1LdXJ6REUvd29jaGVudGFnS3Vyei8KICAgIC8vIGlzdFdvY2hlbmVuZGU6IGpldHp0IGluIGpz +L2NvcmUvdXRpbC5qcyAoc2llaGUgSW1wb3J0cyBhbSBEYXRlaWFuZmFuZykuCgogICAgLy8gdG9h +c3QsIGJlc3RhZXRpZ2VuIC0+IGpzL3VpL2RpYWxvZy5qcwoKICAgIC8vIGFwaSwgYXBpUG9zdCwg +YXBpUHV0IC0+IGpzL2NvcmUvYXBpLmpzCgogICAgLy8gPT09PT0gRGF0ZW4gbGFkZW4gPT09PT0K +ICAgIC8vIEFETUlOX0xJU1RfRkVMREVSICsgYWRtaW5MaXN0ZW5Ob3JtYWxpc2llcmVuIC0+IGpz +L2NvcmUvZGF0ZW5MYWRlbi5qcwoKICAgIGZ1bmN0aW9uIGRhdGVuTGFkZW4oKSB7CiAgICAgICAg +Ly8gUGFrZXQtQyAoMjAyNi0wNS0yOSk6IFNwaW5uZXIgdWViZXIgZGllIFBsYW50YWZlbCB3YWVo +cmVuZCBkZXIKICAgICAgICAvLyBpbml0aWFsZW4gZHJlaSBBUEktQ2FsbHMuIEF1ZiBsYW5nc2Ft +ZW4gUG9saXplaS1QQ3MgZGF1ZXJ0IGRhcwogICAgICAgIC8vIGJpcyB6dSAxLTIgU2VrdW5kZW4s +IHZvcmhlciBzYWggbWFuIGJsYW5rZW4gU2NyZWVuLiBXaXJkIGltCiAgICAgICAgLy8gbmF2U2lj +aHRiYXJrZWl0QW53ZW5kZW4tQmxvY2sgYW0gRW5kZSB2b24gZGF0ZW5MYWRlbigpIHdlZy0KICAg +ICAgICAvLyBnZW5vbW1lbiAoc2llaGUgb3B0aW9uYWxlTW9kdWxlTGFkZW4udGhlbikuCiAgICAg +ICAgbGFkZU92ZXJsYXlaZWlnZW4oJ2Fuc2ljaHQtcGxhbnVuZycsICdQbGFudGFmZWwgd2lyZCBn +ZWxhZGVuIOKApicpOwogICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbYXBpKCcvYXBpL2FkbWlu +JyksIGFwaSgnL2FwaS9wbGFudW5nJyksIGFwaSgnL2FwaS9pbmZvJyldKQogICAgICAgICAgICAu +dGhlbihmdW5jdGlvbihyKSB7CiAgICAgICAgICAgICAgICBaLmFkbWluID0gYWRtaW5MaXN0ZW5O +b3JtYWxpc2llcmVuKHJbMF0pOwogICAgICAgICAgICAgICAgWi5wbGFudW5nID0gclsxXTsKICAg +ICAgICAgICAgICAgIHZhciBpbmZvID0gclsyXTsKICAgICAgICAgICAgICAgIFouYmVudXR6ZXIg +PSBpbmZvLmJlbnV0emVyOwoKICAgICAgICAgICAgICAgIFoucmVjaHRlID0gcmVjaHRlQXVzSW5m +byhpbmZvKTsKCiAgICAgICAgICAgICAgICBaLmNvZGVNYXAgPSB7fTsKICAgICAgICAgICAgICAg +IChaLmFkbWluLnNjaGljaHRjb2RlcyB8fCBbXSkuZm9yRWFjaChmdW5jdGlvbihzYykgewogICAg +ICAgICAgICAgICAgICAgIFouY29kZU1hcFtzYy5jb2RlXSA9IHsgaGludGVyZ3J1bmQ6IHNjLmhp +bnRlcmdydW5kLCBzY2hyaWZ0OiBzYy5zY2hyaWZ0LCBrdWVyemVsOiBzYy5jb2RlIH07CiAgICAg +ICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIFouZ3J1cHBlbk1hcCA9IHt9OwogICAgICAg +ICAgICAgICAgKFouYWRtaW4uZ3J1cHBlbiB8fCBbXSkuZm9yRWFjaChmdW5jdGlvbihncikgewog +ICAgICAgICAgICAgICAgICAgIFouZ3J1cHBlbk1hcFtnci5uYW1lXSA9IHsgaGludGVyZ3J1bmQ6 +IGdyLmhpbnRlcmdydW5kLCBzY2hyaWZ0OiBnci5zY2hyaWZ0LCBiZXplaWNobnVuZzogZ3IuYmV6 +ZWljaG51bmcgfTsKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIHBlcnNvbmVu +TmV1QXVmYmF1ZW4oKTsKCiAgICAgICAgICAgICAgICAvLyBNZWluZSBQZXJzb24tSUQ6IHZvbSBT +ZXJ2ZXIgYmVyZWNobmV0IChud0tlbm51bmctTWF0Y2gpLCBvZGVyCiAgICAgICAgICAgICAgICAv +LyBsb2thbCBlcm1pdHRlbG4gYWxzIEZhbGxiYWNrIChhZWx0ZXJlIFNlcnZlci1WZXJzaW9uKS4K +ICAgICAgICAgICAgICAgIFoubWVpbmVQZXJzb25JZCA9IG51bGw7CiAgICAgICAgICAgICAgICBp +ZiAoaW5mby5tZWluZVBlcnNvbklkICE9IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICBaLm1l +aW5lUGVyc29uSWQgPSBTdHJpbmcoaW5mby5tZWluZVBlcnNvbklkKTsKICAgICAgICAgICAgICAg +IH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGJlbnV0emVyTG93ZXIgPSAoWi5iZW51 +dHplciB8fCAnJykudG9Mb3dlckNhc2UoKTsKICAgICAgICAgICAgICAgICAgICBaLnBlcnNvbmVu +LmZvckVhY2goZnVuY3Rpb24ocCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAocC5ud0tl +bm51bmcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBrTG93ZXIgPSBwLm53S2Vu +bnVuZy50b0xvd2VyQ2FzZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGtMb3dl +ciA9PT0gYmVudXR6ZXJMb3dlciB8fCBiZW51dHplckxvd2VyLmVuZHNXaXRoKCdcXCcgKyBrTG93 +ZXIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWi5tZWluZVBlcnNvbklkID0g +U3RyaW5nKHAuaWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg +ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9Cgog +ICAgICAgICAgICAgICAgLy8gVXBkYXRlLUJhbm5lcjogc2VydmVyLnBzMSBwcnVlZnQgVkVSU0lP +TiBnZWdlbiBWSTNER0wtZGlzdCBhbGxlIDYwIE1pbi4KICAgICAgICAgICAgICAgIGlmIChpbmZv +LnVwZGF0ZUF2YWlsYWJsZSAmJiAhX3VwZGF0ZVRvYXN0U2hvd24pIHsKICAgICAgICAgICAgICAg +ICAgICBfdXBkYXRlVG9hc3RTaG93biA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgdG9hc3Qo +CiAgICAgICAgICAgICAgICAgICAgICAgICdVcGRhdGUgdmVyZsO8Z2JhcjogdicgKyAoaW5mby5y +ZW1vdGVWZXJzaW9uIHx8ICc/JykgKwogICAgICAgICAgICAgICAgICAgICAgICAnIOKAlCB1cGRh +dGUuYmF0IGF1c2bDvGhyZW4gdW5kIFNlcnZlciBuZXUgc3RhcnRlbicsCiAgICAgICAgICAgICAg +ICAgICAgICAgICdpbmZvJywgeyBkYXVlcjogMjAwMDAgfQogICAgICAgICAgICAgICAgICAgICk7 +CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gSWRlbnRpdGFldHMtVmVybHVz +dC1IaW53ZWlzIChTcHJpbnQgMiDigJQgRGF0ZW5tb2RlbGwtS29uc2lzdGVuegogICAgICAgICAg +ICAgICAgLy8gMjAyNi0wNS0yOCk6IHdlbm4ga2VpbmUgUGxhbi1QZXJzb24genVyIGVpbmdlbG9n +Z3RlbiBOVy1LZW5udW5nCiAgICAgICAgICAgICAgICAvLyBnZWZ1bmRlbiB3dXJkZSBVTkQgZGVy +IFVzZXIgYXVjaCBrZWluIFNVL0ZhY2hhdWZzaWNodCBpc3QgKGRpZQogICAgICAgICAgICAgICAg +Ly8gYXJiZWl0ZW4gZnVlciBhbmRlcmUsIGhhYmVuIGdnZi4gYmV3dXNzdCBrZWluZSBlaWdlbmUg +UGxhbi0KICAgICAgICAgICAgICAgIC8vIFBlcnNvbiksIHdhcm5lbiB3aXIgYWt0aXYuIEZydWVo +ZXIgZmllbGVuIFNlbGYtU2VydmljZS1GZWF0dXJlcwogICAgICAgICAgICAgICAgLy8gKE1laW4g +UHJvZmlsLCBNZWluIFNjaGljaHQtVGVhbSwgZWlnZW5lIFNjaGljaHQtSGlnaGxpZ2h0cykKICAg +ICAgICAgICAgICAgIC8vIGVpbmZhY2ggc3RpbGwgYXVzIOKAlCBkZXIgVXNlciBzYWggbGVlcmUg +S25vZXBmZSBvaG5lIEVya2xhZXJ1bmcuCiAgICAgICAgICAgICAgICBpZiAoIVoubWVpbmVQZXJz +b25JZCAmJiAhWi5yZWNodGUuaXN0U3VwZXJVc2VyICYmICFaLnJlY2h0ZS5pc3RGYWNoYXVmc2lj +aHQpIHsKICAgICAgICAgICAgICAgICAgICB0b2FzdCgnRGVpbmUgTlctS2VubnVuZyDigJ4nICsg +KFouYmVudXR6ZXIgfHwgJz8nKSArICciIGlzdCBrZWluZXIgUGxhbi1QZXJzb24genVnZW9yZG5l +dC4gJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VpZ2VuZXMgUHJvZmlsIHVuZCDigJ5N +ZWluIFNjaGljaHQtVGVhbSIgc2luZCBkZXNoYWxiIG5pY2h0IHZlcmbDvGdiYXIg4oCUICcgKwog +ICAgICAgICAgICAgICAgICAgICAgICAgICdiaXR0ZSBkZW4gQWRtaW4gdW0gWnVvcmRudW5nIGRl +aW5lciBLZW5udW5nIGluIGRlciBQZXJzb25hbHZlcndhbHR1bmcuJywKICAgICAgICAgICAgICAg +ICAgICAgICAgICAnd2FybnVuZycsIHsgZGF1ZXI6IDEyMDAwIH0pOwogICAgICAgICAgICAgICAg +fQoKICAgICAgICAgICAgICAgIC8vIFVYLUF1ZGl0IFNwcmludCAxLjQgKDIwMjYtMDUtMjkpOiBT +ZWxmLVNlcnZpY2UtQnV0dG9ucwogICAgICAgICAgICAgICAgLy8gKFNjaGljaHQtVGVhbSwgUHJv +ZmlsLUF2YXRhcikgdmVyc3RlY2tlbiB3ZW5uIGtlaW5lIFBlcnNvbgogICAgICAgICAgICAgICAg +Ly8genVnZW9yZG5ldCDigJQgc29uc3QgY2xpY2t0IFVzZXIgdW5kIGtyaWVndCBlcnN0IGRhbm4g +ZGVuCiAgICAgICAgICAgICAgICAvLyBUb2FzdC4gRGFzIHZlcmhpbmRlcnQgIktsaWNrIOKGkiBG +ZWhsZXIiLUZyaWN0aW9uLgogICAgICAgICAgICAgICAgdmFyIGJ0blRlYW0gPSBkb2N1bWVudC5n +ZXRFbGVtZW50QnlJZCgnYnRuLXNjaGljaHR0ZWFtJyk7CiAgICAgICAgICAgICAgICBpZiAoYnRu +VGVhbSkgYnRuVGVhbS5jbGFzc0xpc3QudG9nZ2xlKCd2ZXJzdGVja3QnLCAhWi5tZWluZVBlcnNv +bklkKTsKCiAgICAgICAgICAgICAgICB0YWdlRXJ6ZXVnZW4oKTsKICAgICAgICAgICAgICAgIHRh +Z0luZm9zQmVyZWNobmVuKCk7CiAgICAgICAgICAgICAgICBaLmhldXRlU3RyID0gZGF0dW1TdHIo +bmV3IERhdGUoKSk7CgogICAgICAgICAgICAgICAgYmV6ZWljaG51bmdlbkFud2VuZGVuKCk7CiAg +ICAgICAgICAgICAgICBtYXJraWVydW5nZW5BbndlbmRlbigpOwogICAgICAgICAgICAgICAgcmV0 +dXJuIG9wdGlvbmFsZU1vZHVsZUxhZGVuKCkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAg +ICAgICAgICBuYXZTaWNodGJhcmtlaXRBbndlbmRlbigpOwogICAgICAgICAgICAgICAgICAgIGhl +dXRlQmxvY2tBa3R1YWxpc2llcmVuKCk7CiAgICAgICAgICAgICAgICAgICAgbGFkZU92ZXJsYXlW +ZXJzdGVja2VuKCdhbnNpY2h0LXBsYW51bmcnKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAg +ICAgICB9KQogICAgICAgICAgICAuY2F0Y2goZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAg +Ly8gQmVpIEZlaGxlciB0cm90emRlbSBPdmVybGF5IHdlZywgc29uc3Qgc2l0enQgZGVyIFVzZXIK +ICAgICAgICAgICAgICAgIC8vIHVudGVyIGRlbSBTcGlubmVyIGZlc3QuCiAgICAgICAgICAgICAg +ICBsYWRlT3ZlcmxheVZlcnN0ZWNrZW4oJ2Fuc2ljaHQtcGxhbnVuZycpOwogICAgICAgICAgICAg +ICAgdGhyb3cgZTsKICAgICAgICAgICAgfSk7CiAgICB9CgogICAgLy8gPT09PT0gT3B0aW9uYWwt +TW9kdWxlOiBTdGF0aXN0aWsgKyBMb2didWNoID09PT09CiAgICAvLyBTdGF0aXNjaGUgSW1wb3J0 +cyB3dWVyZGVuIGltIFZpZXctU291cmNlICsgTmV0d29yay1UYWIgZnVlciBBTExFCiAgICAvLyBV +c2VyIHNpY2h0YmFyIG1hY2hlbiwgZGFzcyBlcyBlaW5lbiBTdGF0aXN0aWstIHVuZCBlaW5lbiBM +b2didWNoLQogICAgLy8gQmVyZWljaCBnaWJ0LiBTdGF0dGRlc3NlbiB3ZXJkZW4gTW9kdWwgKyBN +YXJrdXAgKyBOYXYtQnV0dG9uIGVyc3QKICAgIC8vIHp1ciBMYXVmemVpdCBuYWNoZ2VsYWRlbiDi +gJQgdW5kIGF1Y2ggbnVyLCB3ZW5uIGRlciBlaW5nZWxvZ2d0ZSBVc2VyCiAgICAvLyBkaWUgamV3 +ZWlsaWdlIHNlaGVuLUJlcmVjaHRpZ3VuZyBoYXQuIFNlcnZlci1zaWRlIGJsb2NrdCB6dXNhZXR6 +bGljaAogICAgLy8gZWluIDQwNC1GaWx0ZXIgZGlyZWt0ZW4gWnVncmlmZiBhdWYgL2pzL3N0YXRp +c3Rpay5qcywgL2pzL2xvZ2J1Y2guanMsCiAgICAvLyAvZGF0YS9tYWluZnJhbWUuaHRtbCwgL2Rh +dGEvc2FuaXRpemVyLmh0bWwg4oCUIGZ1ZXIgVW5iZXJlY2h0aWd0ZSBpc3QgbmljaHRzCiAgICAv +LyBkYXZvbiBpbSBEZXZUb29scy1OZXR3b3JrLVRhYiBzaWNodGJhci4KICAgIHZhciBfb3B0TW9k +dWxlR2VsYWRlbiA9IHsgc3RhdGlzdGlrOiBmYWxzZSwgbG9nYnVjaDogZmFsc2UgfTsKICAgIGZ1 +bmN0aW9uIF9uYXZCdG5FaW5mdWVnZW4oaWQsIGxhYmVsLCBhbnNpY2h0KSB7CiAgICAgICAgaWYg +KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSkgcmV0dXJuOwogICAgICAgIHZhciBidG4gPSBk +b2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICAgICAgICBidG4uY2xhc3NOYW1lID0g +J25hdi1idG4nOwogICAgICAgIGJ0bi5pZCA9IGlkOwogICAgICAgIGJ0bi50ZXh0Q29udGVudCA9 +IGxhYmVsOwogICAgICAgIGJ0bi5zZXRBdHRyaWJ1dGUoJ2RhdGEtYW5zaWNodCcsIGFuc2ljaHQp +OwogICAgICAgIHZhciBuYXYgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuaGVhZGVyLW5hdicp +OwogICAgICAgIHZhciBuYXZBZG1pbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduYXYtYWRt +aW4nKTsKICAgICAgICBpZiAobmF2ICYmIG5hdkFkbWluKSBuYXYuaW5zZXJ0QmVmb3JlKGJ0biwg +bmF2QWRtaW4pOwogICAgICAgIGVsc2UgaWYgKG5hdikgbmF2LmFwcGVuZENoaWxkKGJ0bik7CiAg +ICB9CiAgICBmdW5jdGlvbiBfbWFya3VwRWluZnVlZ2VuKGh0bWwpIHsKICAgICAgICB2YXIgYW5j +aG9yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGFsLW92ZXJsYXknKTsKICAgICAgICBp +ZiAoYW5jaG9yKSBhbmNob3IuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmViZWdpbicsIGh0bWwp +OwogICAgICAgIGVsc2UgZG9jdW1lbnQuYm9keS5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVu +ZCcsIGh0bWwpOwogICAgfQogICAgZnVuY3Rpb24gb3B0aW9uYWxlTW9kdWxlTGFkZW4oKSB7CiAg +ICAgICAgdmFyIHNlaGVuID0gKFoucmVjaHRlICYmIFoucmVjaHRlLnNlaGVuKSB8fCB7fTsKICAg +ICAgICB2YXIgZGFyZlN0YXQgPSAhIShaLnJlY2h0ZSAmJiAoWi5yZWNodGUuaXN0U3VwZXJVc2Vy +IHx8IHNlaGVuLnN0YXRpc3RpaykpOwogICAgICAgIHZhciBkYXJmTG9nICA9ICEhKFoucmVjaHRl +ICYmIChaLnJlY2h0ZS5pc3RTdXBlclVzZXIgfHwgc2VoZW4ubG9nYnVjaCkpOwogICAgICAgIHZh +ciBhdWZnYWJlbiA9IFtdOwogICAgICAgIGlmIChkYXJmU3RhdCAmJiAhX29wdE1vZHVsZUdlbGFk +ZW4uc3RhdGlzdGlrKSB7CiAgICAgICAgICAgIGF1ZmdhYmVuLnB1c2goX29wdE1vZHVsTGFkZW4o +J3N0YXRpc3RpaycsICdTdGF0aXN0aWsnLCAnL2RhdGEvbWFpbmZyYW1lLmh0bWwnLCAnLi9qcy9z +dGF0aXN0aWsuanMnLCBmdW5jdGlvbihtb2QsIGh0bWwpIHsKICAgICAgICAgICAgICAgIHN0YXRp +c3Rpa1JlbmRlcm4gICA9IG1vZC5zdGF0aXN0aWtSZW5kZXJuOwogICAgICAgICAgICAgICAgc3Rh +dGlzdGlrTGFkZW4gICAgID0gbW9kLnN0YXRpc3Rpa0xhZGVuOwogICAgICAgICAgICAgICAgc3Rh +dEZpbHRlclNldHplbiAgID0gbW9kLnN0YXRGaWx0ZXJTZXR6ZW47CiAgICAgICAgICAgICAgICBz +dGF0SW5mb1plaWdlbiAgICAgPSBtb2Quc3RhdEluZm9aZWlnZW47CiAgICAgICAgICAgICAgICBw +ZXJtaXNzaW9uSG9va3Muc3RhdGlzdGlrUmVuZGVybiA9IHN0YXRpc3Rpa1JlbmRlcm47CiAgICAg +ICAgICAgICAgICByZW5kZXJIb29rcy5zdGF0aXN0aWtMYWRlbiAgICAgICA9IHN0YXRpc3Rpa0xh +ZGVuOwogICAgICAgICAgICB9KSk7CiAgICAgICAgfQogICAgICAgIGlmIChkYXJmTG9nICYmICFf +b3B0TW9kdWxlR2VsYWRlbi5sb2didWNoKSB7CiAgICAgICAgICAgIGF1ZmdhYmVuLnB1c2goX29w +dE1vZHVsTGFkZW4oJ2xvZ2J1Y2gnLCAnTG9nYnVjaCcsICcvZGF0YS9zYW5pdGl6ZXIuaHRtbCcs +ICcuL2pzL2xvZ2J1Y2guanMnLCBmdW5jdGlvbihtb2QsIGh0bWwpIHsKICAgICAgICAgICAgICAg +IGxvZ2J1Y2hMYWRlbiAgID0gbW9kLmxvZ2J1Y2hMYWRlbjsKICAgICAgICAgICAgICAgIGxvZ2J1 +Y2hGaWx0ZXJuID0gbW9kLmxvZ2J1Y2hGaWx0ZXJuOwogICAgICAgICAgICAgICAgbG9nYnVjaEhv +b2tzICAgPSBtb2QubG9nYnVjaEhvb2tzOwogICAgICAgICAgICAgICAgbG9nYnVjaEhvb2tzLmFm +dGVyUmVzdG9yZSA9IGZ1bmN0aW9uKCkgeyBkYXRlbkxhZGVuKCk7IH07CiAgICAgICAgICAgICAg +ICByZW5kZXJIb29rcy5sb2didWNoTGFkZW4gPSBsb2didWNoTGFkZW47CiAgICAgICAgICAgIH0p +KTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKGF1ZmdhYmVuKTsKICAgIH0K +CiAgICAvLyBHZW1laW5zYW1lciBMb2FkZXIgZnVlciBTdGF0aXN0aWsgKyBMb2didWNoOiBsYWVk +dCBKUy1Nb2R1bCArIEhUTUwtCiAgICAvLyBGcmFnbWVudCBwYXJhbGxlbCwgZnVlZ3QgZGVuIE5h +di1CdXR0b24gTlVSIGVpbiB3ZW5uIGJlaWRlcyBnZWtsYXBwdAogICAgLy8gaGF0IChzb25zdCBr +b21tdCBkZXIgVGFiIG5pY2h0IGltIERPTSBhbiB1bmQgZGVyIFVzZXIgd2FlcmUgbWl0IGVpbmVy +CiAgICAvLyBsZWVyZW4gU2VpdGUga29uZnJvbnRpZXJ0KS4gTGFkZS1GZWhsZXIgd2VyZGVuIGlu +IGRlciBCcm93c2VyLUtvbnNvbGUKICAgIC8vIHByb3Rva29sbGllcnQgKyBkZW0gU3VwZXJVc2Vy +IGFscyBUb2FzdCBhbmdlemVpZ3QuCiAgICBmdW5jdGlvbiBfb3B0TW9kdWxMYWRlbihrZXksIGxh +YmVsLCBodG1sUGZhZCwgbW9kdWxQZmFkLCBiaW5kaW5ncykgewogICAgICAgIHJldHVybiBQcm9t +aXNlLmFsbChbCiAgICAgICAgICAgIGltcG9ydChtb2R1bFBmYWQpLmNhdGNoKGZ1bmN0aW9uKGUp +IHsKICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tWSTNdICcgKyBsYWJlbCArICctTW9k +dWwtSW1wb3J0IGZlaGxnZXNjaGxhZ2VuICgnICsgbW9kdWxQZmFkICsgJyk6JywgZSk7CiAgICAg +ICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgfSksCiAgICAgICAgICAgIGZldGNo +KGh0bWxQZmFkKS50aGVuKGZ1bmN0aW9uKHIpIHsKICAgICAgICAgICAgICAgIGlmICghci5vaykg +eyBjb25zb2xlLmVycm9yKCdbVkkzXSAnICsgbGFiZWwgKyAnLU1hcmt1cCBIVFRQICcgKyByLnN0 +YXR1cyArICcgKCcgKyBodG1sUGZhZCArICcpJyk7IHJldHVybiAnJzsgfQogICAgICAgICAgICAg +ICAgcmV0dXJuIHIudGV4dCgpOwogICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlKSB7CiAg +ICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdbVkkzXSAnICsgbGFiZWwgKyAnLU1hcmt1cC1G +ZXRjaCBmZWhsZ2VzY2hsYWdlbiAoJyArIGh0bWxQZmFkICsgJyk6JywgZSk7CiAgICAgICAgICAg +ICAgICByZXR1cm4gJyc7CiAgICAgICAgICAgIH0pCiAgICAgICAgXSkudGhlbihmdW5jdGlvbihh +cnIpIHsKICAgICAgICAgICAgdmFyIG1vZCA9IGFyclswXSwgaHRtbCA9IGFyclsxXTsKICAgICAg +ICAgICAgaWYgKCFtb2QgfHwgIWh0bWwpIHsKICAgICAgICAgICAgICAgIGlmIChaLnJlY2h0ZSAm +JiBaLnJlY2h0ZS5pc3RTdXBlclVzZXIpIHsKICAgICAgICAgICAgICAgICAgICB0b2FzdChsYWJl +bCArICcga29ubnRlIG5pY2h0IGdlbGFkZW4gd2VyZGVuIOKAlCBEZXRhaWxzIHNpZWhlIERldlRv +b2xzLUtvbnNvbGUnLCAnZmVobGVyJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg +ICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAg +IGJpbmRpbmdzKG1vZCwgaHRtbCk7CiAgICAgICAgICAgICAgICBfbWFya3VwRWluZnVlZ2VuKGh0 +bWwpOwogICAgICAgICAgICAgICAgX25hdkJ0bkVpbmZ1ZWdlbignbmF2LScgKyBrZXksIGxhYmVs +LCBrZXkpOwogICAgICAgICAgICAgICAgX29wdE1vZHVsZUdlbGFkZW5ba2V5XSA9IHRydWU7CiAg +ICAgICAgICAgICAgICBjb25zb2xlLmluZm8oJ1tWSTNdICcgKyBsYWJlbCArICctTW9kdWwgZ2Vs +YWRlbicpOwogICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgICBjb25zb2xl +LmVycm9yKCdbVkkzXSAnICsgbGFiZWwgKyAnLUJpbmRpbmdzL01hcmt1cCBmZWhsZ2VzY2hsYWdl +bjonLCBlKTsKICAgICAgICAgICAgICAgIGlmIChaLnJlY2h0ZSAmJiBaLnJlY2h0ZS5pc3RTdXBl +clVzZXIpIHsKICAgICAgICAgICAgICAgICAgICB0b2FzdChsYWJlbCArICcgSW5pdGlhbGlzaWVy +dW5nIGZlaGxnZXNjaGxhZ2VuIOKAlCBEZXRhaWxzIHNpZWhlIERldlRvb2xzLUtvbnNvbGUnLCAn +ZmVobGVyJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAg +IH0KCiAgICAvLyBIb3QtUmVsb2FkOiBhZG1pbi5qc29uIHd1cmRlIGF1ZiBkZW0gU2hhcmUgZ2Vh +ZW5kZXJ0IChhbmRlcmVyIFNVIGhhdAogICAgLy8gZ2VzcGVpY2hlcnQpLiBXaXIgaG9sZW4gQWRt +aW4tRGF0ZW4gKyBSZWNodGUgbmV1IHVuZCByZW5kZXJuIGRpZQogICAgLy8gcmVsZXZhbnRlbiBC +ZXJlaWNoZS4gRGVyIFRhYi1XZWNoc2VsIHdpcmQgbmljaHQgYXVzZ2Vsb2VzdDsgVXNlcgogICAg +Ly8gYmxlaWJ0IGRvcnQsIHdvIGVyIGdlcmFkZSBpc3QuIFdlbm4gZ2VyYWRlIGVpbiBDaGVjay1N +b2RhbCBvZGVyCiAgICAvLyBJbXBlcnNvbmF0aW9uLUJhbm5lciBha3RpdiBpc3QsIHVlYmVyc3By +aW5nZW4gd2lyIGRpZSBBa3R1YWxpc2llcnVuZywKICAgIC8vIGRhbWl0IGtlaW5lIEFyYmVpdCB2 +ZXJsb3JlbiBnZWh0IGJ6dy4gZGVyIFRlc3QtS29udGV4dCBpbnRha3QgYmxlaWJ0LgogICAgZnVu +Y3Rpb24gYWRtaW5Ib3RSZWxvYWQoKSB7CiAgICAgICAgaWYgKGRpcnR5QWt0aXZlICYmIGRpcnR5 +QWt0aXZlKCkubGVuZ3RoID4gMCkgcmV0dXJuOyAgLy8gVXNlciBiZWFyYmVpdGV0IGdlcmFkZSB3 +YXMKICAgICAgICBpZiAoaW1wZXJzb25hdGlvbkFrdGl2KCkpIHJldHVybjsgIC8vIGltIEltcGVy +c29uYXRpb25zLU1vZHVzCiAgICAgICAgUHJvbWlzZS5hbGwoW2FwaSgnL2FwaS9hZG1pbicpLCBh +cGkoJy9hcGkvaW5mbycpXSkudGhlbihmdW5jdGlvbihyKSB7CiAgICAgICAgICAgIHZhciBhZG1p +bk5ldSA9IGFkbWluTGlzdGVuTm9ybWFsaXNpZXJlbihyWzBdKTsKICAgICAgICAgICAgdmFyIGlu +Zm8gPSByWzFdOwogICAgICAgICAgICB2YXIgcm9sbGVuRGlmZiA9IChaLnJlY2h0ZSAmJiBaLnJl +Y2h0ZS5yb2xsZSkgIT09IGluZm8ucm9sbGU7CiAgICAgICAgICAgIFouYWRtaW4gPSBhZG1pbk5l +dTsKICAgICAgICAgICAgWi5yZWNodGUgPSByZWNodGVBdXNJbmZvKGluZm8pOwogICAgICAgICAg +ICAvLyBDb2RlLU1hcCArIEdydXBwZW4tTWFwIG5ldSBhdWZiYXVlbiwgZmFsbHMgU2NoaWNodGNv +ZGVzL0dydXBwZW4gbWl0LWdlYWVuZGVydCB3dXJkZW4KICAgICAgICAgICAgWi5jb2RlTWFwID0g +e307CiAgICAgICAgICAgIChaLmFkbWluLnNjaGljaHRjb2RlcyB8fCBbXSkuZm9yRWFjaChmdW5j +dGlvbihzYykgewogICAgICAgICAgICAgICAgWi5jb2RlTWFwW3NjLmNvZGVdID0geyBoaW50ZXJn +cnVuZDogc2MuaGludGVyZ3J1bmQsIHNjaHJpZnQ6IHNjLnNjaHJpZnQsIGt1ZXJ6ZWw6IHNjLmNv +ZGUgfTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIFouZ3J1cHBlbk1hcCA9IHt9OwogICAg +ICAgICAgICAoWi5hZG1pbi5ncnVwcGVuIHx8IFtdKS5mb3JFYWNoKGZ1bmN0aW9uKGdyKSB7CiAg +ICAgICAgICAgICAgICBaLmdydXBwZW5NYXBbZ3IubmFtZV0gPSB7IGhpbnRlcmdydW5kOiBnci5o +aW50ZXJncnVuZCwgc2NocmlmdDogZ3Iuc2NocmlmdCwgYmV6ZWljaG51bmc6IGdyLmJlemVpY2hu +dW5nIH07CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBiZXplaWNobnVuZ2VuQW53ZW5kZW4o +KTsKICAgICAgICAgICAgbWFya2llcnVuZ2VuQW53ZW5kZW4oKTsKICAgICAgICAgICAgLy8gT3B0 +aW9uYWwtTW9kdWxlIG5hY2hsYWRlbiwgZmFsbHMgZGVyIFVzZXIgZ2VyYWRlIGZyaXNjaAogICAg +ICAgICAgICAvLyBTdGF0aXN0aWstL0xvZ2J1Y2gtUmVjaHRlIGJla29tbWVuIGhhdCAoaWRlbXBv +dGVudDogYmVyZWl0cwogICAgICAgICAgICAvLyBnZWxhZGVuZSBNb2R1bGUgd2VyZGVuIHVlYmVy +c3BydW5nZW4pLgogICAgICAgICAgICBvcHRpb25hbGVNb2R1bGVMYWRlbigpOwogICAgICAgICAg +ICBuYXZTaWNodGJhcmtlaXRBbndlbmRlbigpOwogICAgICAgICAgICBhZG1pblN1YnRhYkZpbHRl +ckFud2VuZGVuKCk7CiAgICAgICAgICAgIGlmICh0eXBlb2YgYWRtaW5SZW5kZXJuID09PSAnZnVu +Y3Rpb24nKSBhZG1pblJlbmRlcm4oKTsKICAgICAgICAgICAgLy8gVGFnLUluZm9zIChGZWllcnRh +Z2UsIEZlcmllbiwgU29uZGVydGVybWluZSkgYXVmIEJhc2lzIGRlciBuZXVlbgogICAgICAgICAg +ICAvLyBhZG1pbi5qc29uIG5ldSBiZXJlY2huZW4sIGRhbWl0IGFsbGUgYW5kZXJlbiBVc2VyIGRp +ZSBBZW5kZXJ1bmdlbgogICAgICAgICAgICAvLyBvaG5lIEY1IHNlaGVuIOKAlCBrb3BmUmVuZGVy +biBsaWVzdCBhdXMgWi50YWdJbmZvcy4KICAgICAgICAgICAgaWYgKHR5cGVvZiB0YWdJbmZvc0Jl +cmVjaG5lbiA9PT0gJ2Z1bmN0aW9uJykgdGFnSW5mb3NCZXJlY2huZW4oKTsKICAgICAgICAgICAg +aWYgKHR5cGVvZiBrb3BmUmVuZGVybiA9PT0gJ2Z1bmN0aW9uJykga29wZlJlbmRlcm4oKTsKICAg +ICAgICAgICAgaWYgKHJvbGxlbkRpZmYpIHRvYXN0KCdEZWluZSBSZWNodGUgd3VyZGVuIGdlcmFk +ZSBha3R1YWxpc2llcnQnLCAnaW5mbycpOwogICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKCkgeyAv +KiBzdHVtbSDigJQgVmVyc3VjaCBzcGFldGVyIHVlYmVyIG5hZWNoc3RlbiBIZWFydGJlYXQgKi8g +fSk7CiAgICB9CgogICAgLy8gcGxhbnVuZ0hvdFJlbG9hZDogbGVpY2h0Z2V3aWNodGlnZSBWYXJp +YW50ZSBmdWVyIHBsYW51bmcuanNvbi1tdGltZS0KICAgIC8vIEFlbmRlcnVuZ2VuLiBXaXJkIHZv +bSBoZWFydGJlYXQtd29ya2VyIGdldHJpZ2dlcnQsIHNvYmFsZCBwbGFudW5nLmpzb24KICAgIC8v +IHNlcnZlcnNlaXRpZyB2ZXJhZW5kZXJ0IHd1cmRlLiBMaXZlLVN5bmMgZGVja3QgWmVsbC0vS29t +bWVudGFyLVVwZGF0ZXMKICAgIC8vIGJlcmVpdHMgYWIg4oCUIGhpZXIgZ2VodCBlcyBudXIgZGFy +dW0sIGVpZ2VuZSBlZGl0UmVjaHRlL3NlaGVuLQogICAgLy8gQWVuZGVydW5nZW4gbWl0enViZWtv +bW1lbi4gRGFoZXIgcG9sbGVuIHdpciBudXIgL2FwaS9pbmZvIHVuZCBzY2hhdWVuLAogICAgLy8g +b2IgdW5zZXJlIGVpZ2VuZW4gUmVjaHRlIHNpY2ggYWVuZGVybjsgd2VubiBqYSwgbmV1IHJlbmRl +cm4uCiAgICAvLyAoQ2hlcnJ5LVBpY2sgMWFlZmUyNiBCdWcgIzMuKQogICAgZnVuY3Rpb24gcGxh +bnVuZ0hvdFJlbG9hZCgpIHsKICAgICAgICBpZiAoZGlydHlBa3RpdmUgJiYgZGlydHlBa3RpdmUo +KS5sZW5ndGggPiAwKSByZXR1cm47CiAgICAgICAgaWYgKGltcGVyc29uYXRpb25Ba3RpdigpKSBy +ZXR1cm47CiAgICAgICAgYXBpKCcvYXBpL2luZm8nKS50aGVuKGZ1bmN0aW9uKGluZm8pIHsKICAg +ICAgICAgICAgaWYgKCFpbmZvKSByZXR1cm47CiAgICAgICAgICAgIGlmIChpbmZvLnVwZGF0ZUF2 +YWlsYWJsZSAmJiAhX3VwZGF0ZVRvYXN0U2hvd24pIHsKICAgICAgICAgICAgICAgIF91cGRhdGVU +b2FzdFNob3duID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHRvYXN0KAogICAgICAgICAgICAgICAg +ICAgICdVcGRhdGUgdmVyZsO8Z2JhcjogdicgKyAoaW5mby5yZW1vdGVWZXJzaW9uIHx8ICc/Jykg +KwogICAgICAgICAgICAgICAgICAgICcg4oCUIHVwZGF0ZS5iYXQgYXVzZsO8aHJlbiB1bmQgU2Vy +dmVyIG5ldSBzdGFydGVuJywKICAgICAgICAgICAgICAgICAgICAnaW5mbycsIHsgZGF1ZXI6IDIw +MDAwIH0KICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIGFs +dFJlY2h0ZSA9IFoucmVjaHRlIHx8IHt9OwogICAgICAgICAgICB2YXIgYWx0U2VyaWFsID0gSlNP +Ti5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgc2VoZW46ICAgICBhbHRSZWNodGUuc2VoZW4s +CiAgICAgICAgICAgICAgICBlZGl0aWVyZW46IGFsdFJlY2h0ZS5lZGl0aWVyZW4sCiAgICAgICAg +ICAgICAgICByb2xsZTogICAgIGFsdFJlY2h0ZS5yb2xsZQogICAgICAgICAgICB9KTsKICAgICAg +ICAgICAgdmFyIG5ldVNlcmlhbCA9IEpTT04uc3RyaW5naWZ5KHsKICAgICAgICAgICAgICAgIHNl +aGVuOiAgICAgaW5mby5zZWhlbiwKICAgICAgICAgICAgICAgIGVkaXRpZXJlbjogaW5mby5lZGl0 +aWVyZW4sCiAgICAgICAgICAgICAgICByb2xsZTogICAgIGluZm8ucm9sbGUKICAgICAgICAgICAg +fSk7CiAgICAgICAgICAgIGlmIChhbHRTZXJpYWwgPT09IG5ldVNlcmlhbCkgcmV0dXJuOyAgLy8g +bmljaHRzIFJlbGV2YW50ZXMgZ2VhZW5kZXJ0CiAgICAgICAgICAgIFoucmVjaHRlID0gcmVjaHRl +QXVzSW5mbyhpbmZvKTsKICAgICAgICAgICAgbmF2U2ljaHRiYXJrZWl0QW53ZW5kZW4oKTsKICAg +ICAgICAgICAgYWRtaW5TdWJ0YWJGaWx0ZXJBbndlbmRlbigpOwogICAgICAgICAgICBpZiAodHlw +ZW9mIGRhdGVuR3JpZFJlbmRlcm4gPT09ICdmdW5jdGlvbicpIGRhdGVuR3JpZFJlbmRlcm4oKTsK +ICAgICAgICAgICAgaWYgKHR5cGVvZiBuYW1lblJlbmRlcm4gPT09ICdmdW5jdGlvbicpIG5hbWVu +UmVuZGVybigpOwogICAgICAgICAgICB0b2FzdCgnRGVpbmUgUmVjaHRlIHd1cmRlbiBnZXJhZGUg +YWt0dWFsaXNpZXJ0JywgJ2luZm8nKTsKICAgICAgICB9KS5jYXRjaChmdW5jdGlvbigpIHsgLyog +c3R1bW0g4oCUIG5hZWNoc3RlciBIZWFydGJlYXQgdmVyc3VjaHQncyB3aWVkZXIgKi8gfSk7CiAg +ICB9CgogICAgLy8gaGV1dGVCbG9ja0FrdHVhbGlzaWVyZW4gLT4ganMvY29yZS9kYXRlbkxhZGVu +LmpzCiAgICAvLwogICAgLy8gPT09PT0gU2ljaHRiYXJrZWl0IFN0YXRpc3RpayAvIExvZ2J1Y2gg +LyBBZG1pbmlzdHJhdGlvbiAvIEJhY2t1cHMgPT09PT0KICAgIC8vIGRhcmZBZG1pblRhYi9kYXJm +U3RhdGlzdGlrL2RhcmZMb2didWNoLAogICAgLy8gZGFyZkFkbWluU3VidGFiL2RhcmZTdGF0aXN0 +aWtTdWIsCiAgICAvLyBiZXJlY2huZUZhY2hhdWZzaWNodFJlY2h0ZS9iZXJlY2huZVJlZ3VsYWVy +UmVjaHRlLAogICAgLy8gaW1wZXJzb25hdGUqLUZ1bmt0aW9uZW4gKDUpLAogICAgLy8gQURNSU5f +U1VCVEFCU19OSUVNQUxTX0ZVRVJfRkFDSEFVRlNJQ0hULCBhZG1pblN1YnRhYkZpbHRlckFud2Vu +ZGVuLAogICAgLy8gZGFyZlplbGxlRWRpdGllcmVuLCBuYXZTaWNodGJhcmtlaXRBbndlbmRlbgog +ICAgLy8gICAtPiBqcy9jb3JlL3Blcm1pc3Npb25zLmpzCgogICAgLy8gdGFnZUVyemV1Z2VuLCB0 +YWdJbmZvc0JlcmVjaG5lbiwgc3RhZXJrZUJlcmVjaG5lbiAtPiBqcy9ncmlkL3JlbmRlci5qcwoK +ICAgIC8vIEZ1ZWhydW5ncy1Mb2dpayAoZnVlaHJ1bmdzU2NoaWNodCwgZnVlaHJ1bmdzWmFlaGxl +biwgZGdsc0luU2NoaWNodCwgYWt0aXZlRnVlaHJ1bmcsIEZVRUhSVU5HX1NPTEwpLAogICAgLy8g +VmVyYW50d29ydHVuZ3N3ZWNoc2VsLVNhbW1lbC1NYWlsICh2ZXJhbnR3b3J0dW5nc1dlY2hzZWxE +aWFsb2daZWlnZW4vRW1haWxPZWZmbmVuLCBpbnRlcm4gaW4gZWRpdG9yLmpzKSwKICAgIC8vIGdl +c2FtdHZlcmFudHdvcnRsaWNoRW1haWwsIGZ1ZWhydW5nc1VudGVyYmVzZXR6dW5nUHJ1ZWZlbiAt +PiBqcy9ncmlkL2VkaXRvci5qcwogICAgLy8KICAgIC8vIGlzdFdhY2hsZWl0dW5nQWt0dWVsbGVy +VXNlciwgdW50ZXJiZXNldHp1bmdBbmFseXNlVmkzLCB6dURhdHVtU2Nyb2xsZW4sCiAgICAvLyB1 +bnRlcmJlc2V0enVuZ1dhcm51bmdaZWlnZW4gLT4ganMvZ3JpZC9pbnRlcmFjdGlvbi5qcwoKICAg +IC8vID09PT09IEJlc2V0enVuZ3Nrb250cm9sbGUgKEdlc2FtdHZlcmFudHdvcnRsaWNoZSwgSGVh +ZGVyLVRhYikgPT09PT0KICAgIC8vIGJlc2V0enVuZ0hvb2tzLCBiZXNldHp1bmdzQW5hbHlzZSwg +ZGVmaXppdEJyaWVmaW5nT2VmZm5lbiwKICAgIC8vIGJlc2V0enVuZ3NUYWJGYXJiZUFrdHVhbGlz +aWVyZW4sIGdlc2FtdHZlcmFudHdvcnRsaWNoVm9ybmFtZUVybWl0dGVsbiwKICAgIC8vIGJlc2V0 +enVuZ3Nrb250cm9sbGVSZW5kZXJuLCBiZXNldHp1bmdza29udHJvbGxlRXZlbnRzQXVmaGFlbmdl +biwKICAgIC8vIGZyZWlQZXJzb25lbkZ1ZXIsIGJlc2V0enVuZ01haWxNb2RhbCAtPiBqcy9iZXNl +dHp1bmcvYmVzZXR6dW5nLmpzCgogICAgLy8gc2NocmFmZnVyQmVyZWNobmVuLCBncmlkUmVuZGVy +biAtPiBqcy9ncmlkL3JlbmRlci5qcwoKICAgIC8vIGtvcGZSZW5kZXJuLCBuYW1lblJlbmRlcm4s +IGRhdGVuR3JpZFJlbmRlcm4sIHplbGxlVmlzdWVsbEFrdHVhbGlzaWVyZW4sIHN0YWVya2VaZWxs +ZUFrdHVhbGlzaWVyZW4gLT4ganMvZ3JpZC9yZW5kZXIuanMKCiAgICAvLyBlZGl0b3IgKE1vZHVs +LVN0YXRlKSwgZWRpdG9yT2VmZm5lbiwgZWRpdG9yU2NobGllc3NlbiwgZWRpdG9yQXVzd2FobCwg +bmFjaGJhckRhdHVtLCBzY2hpY2h0VHlwLCBydWhlemVpdFBydWVmZW4gLT4ganMvZ3JpZC9lZGl0 +b3IuanMKCiAgICAvLyBzY3JvbGxTeW5jLCB6dW1IZXV0aWdlbkRhdHVtLCBhbnNpY2h0V2VjaHNl +bG4gLT4ganMvZ3JpZC9yZW5kZXIuanMKCiAgICAvLyA9PT09PSBBZG1pbiAoa29uc29saWRpZXJ0 +OiBEaXNwYXRjaGVyICsgUGVyc29uZW4gKyBMaXN0ZW4gKwogICAgLy8gICBCZXplaWNobnVuZ2Vu +ICsgQmFja3VwcyArIFNjaGljaHRjb2RlcyArIEZlYXR1cmVzICsgU3VwZXJVc2VyICsKICAgIC8v +ICAgRmFjaGF1ZnNpY2h0ICsgU3ViLVNpY2h0YmFya2VpdCkgLT4ganMvYWRtaW4vYWRtaW4uanMK +CiAgICAvLyA9PT09PSBTdGF0aXN0aWsgPT09PT0gLT4ganMvc3RhdGlzdGlrLmpzCiAgICAvLyA9 +PT09PSBXb2NoZW5wbGFuICsgUGVyc29uZW4tUGxhbiA9PT09PSAtPiBqcy93b2NoZW5wbGFuL3dv +Y2hlbnBsYW4uanMKICAgIC8vID09PT09IEluZm9ybWF0aW9uc2ZlbnN0ZXIgPT09PT0KCiAgICAv +LyBEZWZhdWx0LUJlZGllbnVuZ3MtSGlud2Vpc2Ug4oCUIGdyZWlmZW4gd2VubiBhZG1pbi5iZWRp +ZW51bmdzdGV4dGUgbGVlcgogICAgLy8gb2RlciBuaWNodCB2b3JoYW5kZW4gaXN0LiBKZWRlIFpl +aWxlIHdpcmQgYWxzIGVpZ2VuZXIgTGlzdGVuZWludHJhZwogICAgLy8gZ2VyZW5kZXJ0OyBGb3Jt +YXQgIlRpdGVsOiBUZXh0IiAtPiBUaXRlbCBmZXR0LgogICAgdmFyIEJFRElFTlVOR19ERUZBVUxU +ID0KICAgICAgICAnUGxhbnVuZzogQXVmIGVpbmUgWmVsbGUga2xpY2tlbiB1bSBkZW4gU2NoaWNo +dGNvZGUgenUgw6RuZGVybi4gS29tbWVudGFyIMO8YmVyIGRhcyBFaW5nYWJlZmVsZCBpbSBFZGl0 +b3IuXG4nICsKICAgICAgICAnV29jaGVucGxhbjogREdMIHVuZCBXREYvRkJQIGdldHJlbm50IGRh +cmdlc3RlbGx0LCBtaXQgRGllbnN0bnVtbWVybi4gKiBtYXJraWVydCBCZXNldHp1bmcgYXVzIGRl +bSBGdW5rdGlvbnNiZXNldHp1bmdzcGxhbi5cbicgKwogICAgICAgICdQZXJzLiBQbGFuOiBKYWhy +ZXPDvGJlcnNpY2h0IGbDvHIgZWluZSBlaW56ZWxuZSBQZXJzb24gbWl0IE1vbmF0c2thbGVuZGVy +bi5cbicgKwogICAgICAgICdIZXV0ZS1CdXR0b246IFNjcm9sbHQgenVtIGhldXRpZ2VuIERhdHVt +LlxuJyArCiAgICAgICAgJ0JhY2t1cDogRXJzdGVsbHQgZWluZSBTaWNoZXJ1bmdza29waWUgZGVy +IGFrdHVlbGxlbiBQbGFudW5nLlxuJyArCiAgICAgICAgJ1ZlcmFudHdvcnRsaWNoOiBEaWUgcmFu +Z2jDtmNoc3RlIFBlcnNvbiBwcm8gU2NoaWNodCB3aXJkIGdvbGRmYXJiZW4gbWFya2llcnQuXG4n +ICsKICAgICAgICAnS29tbWVudGFyZTogWmVsbGVuIG1pdCBLb21tZW50YXIgaGFiZW4gZWluIGdv +bGRlbmVzIERyZWllY2sgb2JlbiByZWNodHMuXG4nICsKICAgICAgICAnQmFkZ2VzIGltIEhlYWRl +cjog8J+OgiBHZWJ1cnRzdGFnLCDimqAgV2FybnVuZywg4oS5IEhpbndlaXMg4oCUIGRpcmVrdCBh +bSBqZXdlaWxpZ2VuIFRhZy4nOwoKICAgIGZ1bmN0aW9uIGJlZGllbnVuZ1plaWxlblJlbmRlcm4o +dHh0KSB7CiAgICAgICAgdmFyIHF1ZWxsZSA9IHR4dCB8fCAnJzsKICAgICAgICBpZiAoIXF1ZWxs +ZS50cmltKCkpIHJldHVybiAnJzsKICAgICAgICByZXR1cm4gcXVlbGxlLnNwbGl0KC9ccj9cbi8p +Lm1hcChmdW5jdGlvbih6ZWlsZSkgewogICAgICAgICAgICB6ZWlsZSA9IHplaWxlLnRyaW0oKTsK +ICAgICAgICAgICAgaWYgKCF6ZWlsZSkgcmV0dXJuICcnOwogICAgICAgICAgICB2YXIgbSA9IHpl +aWxlLm1hdGNoKC9eKFteOl17Miw0MH0pOlxzKiguKykkLyk7CiAgICAgICAgICAgIGlmIChtKSB7 +CiAgICAgICAgICAgICAgICByZXR1cm4gJzxsaT48c3Ryb25nPicgKyBlc2NhcGVIVE1MKG1bMV0p +ICsgJzo8L3N0cm9uZz4gJyArIGVzY2FwZUhUTUwobVsyXSkgKyAnPC9saT4nOwogICAgICAgICAg +ICB9CiAgICAgICAgICAgIHJldHVybiAnPGxpPicgKyBlc2NhcGVIVE1MKHplaWxlKSArICc8L2xp +Pic7CiAgICAgICAgfSkuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJycpOwogICAgfQoKICAgIC8vIEdy +dXBwaWVydCBkaWUgU2NoaWNodGNvZGVzIG5hY2ggZGVyIHZvcmhhbmRlbmVuIEthdGVnb3JpZS1M +b2dpayB1bmQKICAgIC8vIGxpZWZlcnQgSFRNTCBmdWVyIGVpbiAzLXNwYWx0aWdlcyBSYXN0ZXIg +cHJvIEdydXBwZS4KICAgIGZ1bmN0aW9uIHNjaGljaHRjb2RlTGVnZW5kZUh0bWwoKSB7CiAgICAg +ICAgdmFyIGxpc3RlID0gKFouYWRtaW4uc2NoaWNodGNvZGVzIHx8IFtdKS5maWx0ZXIoaXN0Q29k +ZUFrdGl2KTsKICAgICAgICB2YXIgZ3J1cHBlbiA9IHt9OwogICAgICAgIGxpc3RlLmZvckVhY2go +ZnVuY3Rpb24oc2MpIHsKICAgICAgICAgICAgdmFyIGsgPSBzY2hpY2h0Y29kZUthdGVnb3JpZShz +Yy5jb2RlKTsKICAgICAgICAgICAgaWYgKCFncnVwcGVuW2sua2V5XSkgZ3J1cHBlbltrLmtleV0g +PSB7IGxhYmVsOiBrLmxhYmVsLCBpdGVtczogW10gfTsKICAgICAgICAgICAgZ3J1cHBlbltrLmtl +eV0uaXRlbXMucHVzaChzYyk7CiAgICAgICAgfSk7CiAgICAgICAgZnVuY3Rpb24gdGlsZShzYykg +ewogICAgICAgICAgICByZXR1cm4gJzxkaXYgY2xhc3M9InNjLWxlZ2VuZGUtemVsbGUiPicgKwog +ICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJzYy1sZWdlbmRlLWZhcmJmZWxkIiBzdHlsZT0i +YmFja2dyb3VuZDonICsgZXNjYXBlQXR0cihzYy5oaW50ZXJncnVuZCB8fCAnIzg4OCcpICsgJztj +b2xvcjonICsgZXNjYXBlQXR0cihzYy5zY2hyaWZ0IHx8ICcjZmZmJykgKyAnIj4nICsgZXNjYXBl +SFRNTChzYy5jb2RlKSArICc8L3NwYW4+JyArCiAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9 +InNjLWxlZ2VuZGUtdGV4dCI+PHN0cm9uZz4nICsgZXNjYXBlSFRNTChzYy5jb2RlKSArICc8L3N0 +cm9uZz48YnI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB4O2NvbG9yOnZhcigtLXRleHQtbXV0 +ZWQpIj4nICsgZXNjYXBlSFRNTChzYy5iZXplaWNobnVuZyB8fCAnJykgKyAnPC9zcGFuPjwvc3Bh +bj4nICsKICAgICAgICAgICAgICAgICc8L2Rpdj4nOwogICAgICAgIH0KICAgICAgICB2YXIgaHRt +bCA9ICcnOwogICAgICAgIE9iamVjdC5rZXlzKGdydXBwZW4pLnNvcnQoKS5mb3JFYWNoKGZ1bmN0 +aW9uKGspIHsKICAgICAgICAgICAgdmFyIGcgPSBncnVwcGVuW2tdOwogICAgICAgICAgICBnLml0 +ZW1zLnNvcnQoZnVuY3Rpb24oYSwgYikgeyByZXR1cm4gKGEuY29kZSB8fCAnJykubG9jYWxlQ29t +cGFyZShiLmNvZGUgfHwgJycsICdkZScpOyB9KTsKICAgICAgICAgICAgaHRtbCArPSAnPGRpdiBj +bGFzcz0ic2MtbGVnZW5kZS1ncnVwcGUiPicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9 +InNjLWxlZ2VuZGUtdGl0ZWwiPicgKyBlc2NhcGVIVE1MKGcubGFiZWwpICsgJyA8c3BhbiBzdHls +ZT0iZm9udC13ZWlnaHQ6NTAwO29wYWNpdHk6MC42Ij4oJyArIGcuaXRlbXMubGVuZ3RoICsgJyk8 +L3NwYW4+PC9kaXY+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ic2MtbGVnZW5kZS1n +cmlkIj4nICsgZy5pdGVtcy5tYXAodGlsZSkuam9pbignJykgKyAnPC9kaXY+JyArCiAgICAgICAg +ICAgICc8L2Rpdj4nOwogICAgICAgIH0pOwogICAgICAgIHJldHVybiBodG1sOwogICAgfQoKICAg +IGZ1bmN0aW9uIGluZm9GZW5zdGVyWmVpZ2VuKCkgewogICAgICAgIHZhciBpbmZvQmxvY2sgPSAn +JzsKICAgICAgICBpZiAoWi5hZG1pbi5pbmZvdGV4dCkgewogICAgICAgICAgICBpbmZvQmxvY2sg +Kz0gJzxkaXYgY2xhc3M9ImluZm8ta2FydGUgaW5mby1rYXJ0ZS1pbmZvIj48c3Ryb25nPkluZm90 +ZXh0Ojwvc3Ryb25nPjxicj4nICsKICAgICAgICAgICAgICAgIGh0bWxBdXNGZWxkKFouYWRtaW4u +aW5mb3RleHQpICsgJzwvZGl2Pic7CiAgICAgICAgfQogICAgICAgIGlmIChaLmFkbWluLnN1cHBv +cnRpbmZvKSB7CiAgICAgICAgICAgIGluZm9CbG9jayArPSAnPGRpdiBjbGFzcz0iaW5mby1rYXJ0 +ZSBpbmZvLWthcnRlLXN1cHBvcnQiPjxzdHJvbmc+U3VwcG9ydDo8L3N0cm9uZz48YnI+JyArCiAg +ICAgICAgICAgICAgICBodG1sQXVzRmVsZChaLmFkbWluLnN1cHBvcnRpbmZvKSArICc8L2Rpdj4n +OwogICAgICAgIH0KICAgICAgICAvLyBBbnNwcmVjaHBhcnRuZXI6IFBlcnNvbmVuIG1pdCBGbGFn +IGlzdEFuc3ByZWNocGFydG5lcj10cnVlLiBTZWl0CiAgICAgICAgLy8gMjAyNi0wNS0yNSBvaG5l +IEZ1bmt0aW9ucy0gb2RlciBEaWVuc3RncnVwcGVuLUdhdGluZyAodGhlb3JldGlzY2gKICAgICAg +ICAvLyBrYW5uIGplZGUgUGVyc29uIGFscyBBbnNwcmVjaHBhcnRuZXIgYmVuYW5udCB3ZXJkZW4p +LiBEaWUgYWx0ZW4KICAgICAgICAvLyBGZWxkZXIgRnVua3Rpb24uaW5QbGFudW5nIHVuZCBEaWVu +c3RncnVwcGUuZGFyZkFuc3ByZWNocGFydG5lcgogICAgICAgIC8vIHdlcmRlbiBoaWVyIG5pY2h0 +IG1laHIgYXVzZ2V3ZXJ0ZXQuCiAgICAgICAgdmFyIGFwTGlzdGUgPSAoWi5wbGFudW5nLnBlcnNv +bmVuIHx8IFtdKQogICAgICAgICAgICAuZmlsdGVyKGZ1bmN0aW9uKHApIHsKICAgICAgICAgICAg +ICAgIHJldHVybiBwLmlzdEFuc3ByZWNocGFydG5lciAmJiAhcC5nZWxvZXNjaHRBbTsKICAgICAg +ICAgICAgfSkKICAgICAgICAgICAgLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgICAgICAg +ICAgdmFyIHJhID0gKChaLmFkbWluLmZ1bmt0aW9uZW4gfHwgW10pLmZpbmQoZnVuY3Rpb24oeCkg +eyByZXR1cm4geC5jb2RlID09PSBhLmZ1bmt0aW9uOyB9KSB8fCB7fSkucmFuZzsKICAgICAgICAg +ICAgICAgIHZhciByYiA9ICgoWi5hZG1pbi5mdW5rdGlvbmVuIHx8IFtdKS5maW5kKGZ1bmN0aW9u +KHgpIHsgcmV0dXJuIHguY29kZSA9PT0gYi5mdW5rdGlvbjsgfSkgfHwge30pLnJhbmc7CiAgICAg +ICAgICAgICAgICBpZiAocmEgPT0gbnVsbCkgcmEgPSA5OTsKICAgICAgICAgICAgICAgIGlmIChy +YiA9PSBudWxsKSByYiA9IDk5OwogICAgICAgICAgICAgICAgaWYgKHJhICE9PSByYikgcmV0dXJu +IHJhIC0gcmI7CiAgICAgICAgICAgICAgICByZXR1cm4gKChhLm5hbWUgfHwgJycpICsgJyAnICsg +KGEudm9ybmFtZSB8fCAnJykpLmxvY2FsZUNvbXBhcmUoKChiLm5hbWUgfHwgJycpICsgJyAnICsg +KGIudm9ybmFtZSB8fCAnJykpLCAnZGUnKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgaWYgKGFw +TGlzdGUubGVuZ3RoID4gMCkgewogICAgICAgICAgICAvLyBNYWlsLUJ1dHRvbiBwcm8gQW5zcHJl +Y2hwYXJ0bmVyOiBvZWZmbmV0IE91dGxvb2sgKG1haWx0bzopCiAgICAgICAgICAgIC8vIG1pdCB2 +b3JiZWZ1ZWxsdGVtIEJldHJlZmYgKyBFaW5sZWl0dW5nLiBCb2R5IG51dHp0IGRpZQogICAgICAg +ICAgICAvLyBkdC4gQW5yZWRlICsgQmV6dWcgYXVmIGRpZSBTY2hpY2h0cGxhbnVuZzsgQWJzZW5k +ZXIgd2lyZCBpbgogICAgICAgICAgICAvLyBkZXIgTWFpbC1TaWduYXR1ciBsZWVyIGdlbGFzc2Vu +LCB3ZWlsIE91dGxvb2sgZGFzIHNlbGJzdAogICAgICAgICAgICAvLyBhbmhhZW5ndC4KICAgICAg +ICAgICAgdmFyIGFwcFRpdGVsID0gYmV6KCdhcHAudGl0ZWwnKTsKICAgICAgICAgICAgdmFyIGFw +SHRtbCA9IGFwTGlzdGUubWFwKGZ1bmN0aW9uKHApIHsKICAgICAgICAgICAgICAgIHZhciBuYW1l +ID0gKChwLmRpZW5zdGdyYWQgPyBwLmRpZW5zdGdyYWQgKyAnICcgOiAnJykgKwogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgKHAudm9ybmFtZSA/IHAudm9ybmFtZSArICcgJyA6ICcnKSArIChw +Lm5hbWUgfHwgJycpKS50cmltKCk7CiAgICAgICAgICAgICAgICB2YXIgemVpbGUgPSAnPHN0cm9u +Zz4nICsgZXNjYXBlSFRNTChuYW1lKSArICc8L3N0cm9uZz4nOwogICAgICAgICAgICAgICAgdmFy +IHJlY2h0cyA9IFtdOwogICAgICAgICAgICAgICAgaWYgKHAuZnVua3Rpb24pIHJlY2h0cy5wdXNo +KGVzY2FwZUhUTUwocC5mdW5rdGlvbikpOwogICAgICAgICAgICAgICAgaWYgKHAub2UpICAgICAg +IHJlY2h0cy5wdXNoKGVzY2FwZUhUTUwocC5vZSkpOwogICAgICAgICAgICAgICAgaWYgKHAudGVs +ZWZvbikgIHJlY2h0cy5wdXNoKCdUZWwuIDxzdHJvbmc+JyArIGVzY2FwZUhUTUwocC50ZWxlZm9u +KSArICc8L3N0cm9uZz4nKTsKICAgICAgICAgICAgICAgIGlmIChyZWNodHMubGVuZ3RoKSB6ZWls +ZSArPSAnIOKAlCAnICsgcmVjaHRzLmpvaW4oJywgJyk7CiAgICAgICAgICAgICAgICB2YXIgbWFp +bEJ0biA9ICcnOwogICAgICAgICAgICAgICAgaWYgKHAuZW1haWwpIHsKICAgICAgICAgICAgICAg +ICAgICB2YXIgYW5yZWRlID0gKHAudm9ybmFtZSA/IHAudm9ybmFtZSArICcgJyArIChwLm5hbWUg +fHwgJycpIDogKHAubmFtZSB8fCAnJykpLnRyaW0oKTsKICAgICAgICAgICAgICAgICAgICB2YXIg +YmV0cmVmZiA9ICdBbmZyYWdlIHp1ciBTY2hpY2h0cGxhbnVuZyDigJQgJyArIGFwcFRpdGVsOwog +ICAgICAgICAgICAgICAgICAgIHZhciBib2R5ID0gJ0hhbGxvICcgKyBhbnJlZGUgKyAnLFxuXG4n +ICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpY2ggaGFiZSBlaW5lIEZyYWdlIHp1 +ciBTY2hpY2h0cGxhbnVuZyB1bmQgbWVsZGUgbWljaCBiZWkgRGlyLCB3ZWlsIER1IGFscyBBbnNw +cmVjaHBhcnRuZXIgaGludGVybGVndCBiaXN0LlxuXG4nICsKICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICdbaGllciBrdXJ6IEFubGllZ2VuIGJlc2NocmVpYmVuXVxuXG4nICsKICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICdWaWVsZW4gRGFuayB1bmQgdmllbGUgR3LDvMOfZSc7 +CiAgICAgICAgICAgICAgICAgICAgdmFyIGhyZWYgPSAnbWFpbHRvOicgKyBlbmNvZGVVUklDb21w +b25lbnQocC5lbWFpbCkgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJz9zdWJqZWN0 +PScgKyBlbmNvZGVVUklDb21wb25lbnQoYmV0cmVmZikgKwogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgJyZib2R5PScgKyBlbmNvZGVVUklDb21wb25lbnQoYm9keSk7CiAgICAgICAgICAg +ICAgICAgICAgbWFpbEJ0biA9ICcgPGEgY2xhc3M9ImluZm8tYXAtbWFpbGJ0biIgaHJlZj0iJyAr +IGVzY2FwZUF0dHIoaHJlZikgKyAnIicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn +IHRpdGxlPSJFLU1haWwgYW4gJyArIGVzY2FwZUF0dHIobmFtZSkgKyAnICgnICsgZXNjYXBlQXR0 +cihwLmVtYWlsKSArICcpIMO2ZmZuZW4iPk1haWw8L2E+JzsKICAgICAgICAgICAgICAgIH0gZWxz +ZSB7CiAgICAgICAgICAgICAgICAgICAgbWFpbEJ0biA9ICcgPHNwYW4gY2xhc3M9ImluZm8tYXAt +a2Vpbm1haWwiIHRpdGxlPSJLZWluZSBFLU1haWwtQWRyZXNzZSBoaW50ZXJsZWd0Ij7igJQga2Vp +bmUgRS1NYWlsIOKAlDwvc3Bhbj4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg +cmV0dXJuICc8bGkgc3R5bGU9Im1hcmdpbi1ib3R0b206NHB4Ij4nICsgemVpbGUgKyBtYWlsQnRu +ICsgJzwvbGk+JzsKICAgICAgICAgICAgfSkuam9pbignJyk7CiAgICAgICAgICAgIGluZm9CbG9j +ayArPSAnPGRpdiBjbGFzcz0iaW5mby1rYXJ0ZSBpbmZvLWthcnRlLXN1cHBvcnQiPicgKwogICAg +ICAgICAgICAgICAgJzxzdHJvbmc+QW5zcHJlY2hwYXJ0bmVyOjwvc3Ryb25nPicgKwogICAgICAg +ICAgICAgICAgJzx1bCBzdHlsZT0ibWFyZ2luOjZweCAwIDAgMThweDtwYWRkaW5nOjA7bGlzdC1z +dHlsZTpkaXNjIj4nICsgYXBIdG1sICsgJzwvdWw+PC9kaXY+JzsKICAgICAgICB9CgogICAgICAg +IC8vIEFsbGdlbWVpbmUgSGlsZmUg4oCUIG9wdGlvbmFsIGF1cyBhZG1pbi5qc29uLmhpbGZldGV4 +dCAoUmljaC1UZXh0KQogICAgICAgIHZhciBoaWxmZUJsb2NrID0gJyc7CiAgICAgICAgaWYgKFou +YWRtaW4uaGlsZmV0ZXh0ICYmIFN0cmluZyhaLmFkbWluLmhpbGZldGV4dCkudHJpbSgpKSB7CiAg +ICAgICAgICAgIGhpbGZlQmxvY2sgPSAnPGgzIHN0eWxlPSJjb2xvcjp2YXIoLS10ZXh0LWhlYWRp +bmcpO21hcmdpbi1ib3R0b206OHB4O21hcmdpbi10b3A6MTJweCI+QWxsZ2VtZWluZSBIaWxmZTwv +aDM+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBzdHlsZT0iZm9udC1zaXplOjEzcHg7bGluZS1o +ZWlnaHQ6MS42O21hcmdpbi1ib3R0b206MTZweCI+JyArCiAgICAgICAgICAgICAgICBodG1sQXVz +RmVsZChaLmFkbWluLmhpbGZldGV4dCkgKyAnPC9kaXY+JzsKICAgICAgICB9CgogICAgICAgIC8v +IEJlZGllbnVuZyDigJQgYXVzIGFkbWluLmpzb24uYmVkaWVudW5nc3RleHRlIChSaWNoLVRleHQg +b2RlciBQbGFpbiksCiAgICAgICAgLy8gc29uc3QgRGVmYXVsdC4gV2VubiBIVE1MIHZvcmhhbmRl +biAoZW50aGFlbHQgPHVsPi88bGk+KSwgZGlyZWt0IGVpbmZ1ZWdlbjsKICAgICAgICAvLyBzb25z +dCBaZWlsZW4tenUtQnVsbGV0cy1VbXdhbmRsdW5nLgogICAgICAgIHZhciBiZWRpZW51bmdRdWVs +bGUgPSBaLmFkbWluLmJlZGllbnVuZ3N0ZXh0ZTsKICAgICAgICB2YXIgYmVkaWVudW5nOwogICAg +ICAgIGlmIChiZWRpZW51bmdRdWVsbGUgJiYgU3RyaW5nKGJlZGllbnVuZ1F1ZWxsZSkudHJpbSgp +KSB7CiAgICAgICAgICAgIGlmICgvPFwvPyh1bHxvbHxsaSlcYi9pLnRlc3QoYmVkaWVudW5nUXVl +bGxlKSkgewogICAgICAgICAgICAgICAgLy8gU2Nob24gZmVydGlnZXMgSFRNTCBtaXQgTGlzdGVu +IOKAlCBkaXJla3QgdWViZXJuZWhtZW4gKHNhbml0aXplZCkuCiAgICAgICAgICAgICAgICAvLyBD +U1MtUmVnZWxuIGZ1ZXIgLmluZm8tYWJzY2huaXR0IHVsL2xpIHN0ZXVlcm4gRWlucnVlY2t1bmcg +JiBBYnN0YW5kLgogICAgICAgICAgICAgICAgYmVkaWVudW5nID0gc2FuaXRpemVSaWNoSHRtbChi +ZWRpZW51bmdRdWVsbGUpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgYmVk +aWVudW5nID0gJzx1bD4nICsgYmVkaWVudW5nWmVpbGVuUmVuZGVybihiZWRpZW51bmdRdWVsbGUp +ICsgJzwvdWw+JzsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGJl +ZGllbnVuZyA9ICc8dWw+JyArIGJlZGllbnVuZ1plaWxlblJlbmRlcm4oQkVESUVOVU5HX0RFRkFV +TFQpICsgJzwvdWw+JzsKICAgICAgICB9CgogICAgICAgIC8vIFdlcmt6ZXVnZS1TZWt0aW9uIChV +WC1BdWRpdCBTcHJpbnQgMi41LCAyMDI2LTA1LTI5KTogU3luYy1DaGVjawogICAgICAgIC8vIHVu +ZCBEaWFnbm9zZS1TZWl0ZSBleGlzdGllcmVuIGFscyAvc3luYy1jaGVjay5odG1sIGJ6dy4KICAg +ICAgICAvLyAvZGlhZ25vc2UuaHRtbCwgc2luZCBhYmVyIHZvbiBrZWluZXIgYW5kZXJlbiBTdGVs +bGUgaW4gZGVyIEFwcAogICAgICAgIC8vIHZlcmxpbmt0LiBIaWVyIGluIGRlciBJbmZvLU1vZGFs +IGF1Zm5laG1lbiwgZGFtaXQgQWRtaW5zK1NVIHNpZQogICAgICAgIC8vIG9obmUgVVJMLVRpcHBl +cmVpIG9lZmZuZW4ga29lbm5lbi4KICAgICAgICB2YXIgd2Vya3pldWdlQmxvY2sgPSAnJzsKICAg +ICAgICBpZiAoZGFyZkFkbWluVGFiKCkpIHsKICAgICAgICAgICAgd2Vya3pldWdlQmxvY2sgPSAn +PGRpdiBjbGFzcz0iaW5mby1hYnNjaG5pdHQiPjxoMz5XZXJremV1Z2U8L2gzPicgKwogICAgICAg +ICAgICAgICAgJzxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDtnYXA6OHB4O2ZsZXgtd3JhcDp3cmFw +Ij4nICsKICAgICAgICAgICAgICAgICAgICAnPGEgY2xhc3M9ImJ0biBidG4tc2VrIiBocmVmPSIv +c3luYy1jaGVjay5odG1sIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgdGl0bGU9Ik1v +ZHVsLUxhZGUtRGlhZ25vc2U6IHBydWVmdCwgb2IgYWxsZSBKUy9DU1MtRGF0ZWllbiBmZWhsZXJm +cmVpIGdlbGFkZW4gd2VyZGVuIj5TeW5jLUNoZWNrIMO2ZmZuZW48L2E+JyArCiAgICAgICAgICAg +ICAgICAgICAgJzxhIGNsYXNzPSJidG4gYnRuLXNlayIgaHJlZj0iL2RpYWdub3NlLmh0bWwiIHRh +cmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiB0aXRsZT0iU3lzdGVtLURpYWdub3NlOiBTZXJ2 +ZXItVmVyc2lvbiwgSGVhcnRiZWF0LCBQZXJtaXNzaW9ucyI+RGlhZ25vc2Ugw7ZmZm5lbjwvYT4n +ICsKICAgICAgICAgICAgICAgICc8L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8L2Rpdj4nOwog +ICAgICAgIH0KCiAgICAgICAgLy8gVGFzdGF0dXJrdWVyemVsLVNla3Rpb24gKFVYLUF1ZGl0IFNw +cmludCAzLjcsIDIwMjYtMDUtMjkpOgogICAgICAgIC8vIFBvd2VyLVVzZXItRG9rdSBpbSBJbmZv +LU1vZGFsLCBkYW1pdCBkaWUgdm9yaGFuZGVuZW4gU2hvcnRjdXRzCiAgICAgICAgLy8gKEVTQyBm +dWVyIE1vZGFsLCBUYWIgZnVlciBGb2t1cy1UcmFwLCBFbnRlciB6dW0gU3BlaWNoZXJuLAogICAg +ICAgIC8vIERvcHBlbGtsaWNrIGltIEdyaWQpIGRpc2NvdmVyYWJsZSB3ZXJkZW4uCiAgICAgICAg +dmFyIHRhc3RhdHVyQmxvY2sgPQogICAgICAgICAgICAnPGRpdiBjbGFzcz0iaW5mby1hYnNjaG5p +dHQiPjxoMz5UYXN0YXR1cmvDvHJ6ZWw8L2gzPicgKwogICAgICAgICAgICAgICAgJzx0YWJsZSBj +bGFzcz0iaW5mby1zaG9ydGN1dHMiPicgKwogICAgICAgICAgICAgICAgICAgICc8dHI+PHRoPlRh +c3RlbmtvbWJpbmF0aW9uPC90aD48dGg+V2lya3VuZzwvdGg+PC90cj4nICsKICAgICAgICAgICAg +ICAgICAgICAnPHRyPjx0ZD48a2JkPkVzYzwva2JkPjwvdGQ+PHRkPlNjaGxpZXNzdCBkYXMgb2Jl +cnN0ZSBNb2RhbCAoTElGTyBiZWkgdmVyc2NoYWNodGVsdGVuIERpYWxvZ2VuKTwvdGQ+PC90cj4n +ICsKICAgICAgICAgICAgICAgICAgICAnPHRyPjx0ZD48a2JkPlRhYjwva2JkPiAvIDxrYmQ+U2hp +ZnQrVGFiPC9rYmQ+PC90ZD48dGQ+Rm9rdXMgaW5uZXJoYWxiIGRlcyBNb2RhbHMgd2VpdGVyIC8g +enVydWVjayAoRm9jdXMtVHJhcCk8L3RkPjwvdHI+JyArCiAgICAgICAgICAgICAgICAgICAgJzx0 +cj48dGQ+PGtiZD5FbnRlcjwva2JkPjwvdGQ+PHRkPkltIE1vZGFsOiBTcGVpY2hlcm4uIEltIEtv +bW1lbnRhci1FZGl0b3I6IEtvbW1lbnRhciBoaW56dWZ1ZWdlbjwvdGQ+PC90cj4nICsKICAgICAg +ICAgICAgICAgICAgICAnPHRyPjx0ZD48a2JkPkxpbmtza2xpY2s8L2tiZD4gYXVmIFplbGxlPC90 +ZD48dGQ+WmVsbGUgbWFya2llcmVuIChhdXN3YWVobGVuKTwvdGQ+PC90cj4nICsKICAgICAgICAg +ICAgICAgICAgICAnPHRyPjx0ZD48a2JkPlJlY2h0c2tsaWNrPC9rYmQ+IGF1ZiBaZWxsZTwvdGQ+ +PHRkPlNjaGljaHQtRWRpdG9yIG9lZmZuZW4gKEF1c2zDtnNlLUFrdGlvbiBpbSBCYWNrZW5kIGVp +bnN0ZWxsYmFyOiBMaW5rcy0vUmVjaHRzLS9NYXVzcmFkLS9Eb3BwZWxrbGljayk8L3RkPjwvdHI+ +JyArCiAgICAgICAgICAgICAgICAgICAgJzx0cj48dGQ+PGtiZD5LbGljazwva2JkPiBhdWYgVGFn +LUhlYWRlcjwvdGQ+PHRkPlRhZy1EZXRhaWwtTW9kYWwgKGFsbGUgUGVyc29uZW4gYW0gVGFnKTwv +dGQ+PC90cj4nICsKICAgICAgICAgICAgICAgICAgICAnPHRyPjx0ZD48a2JkPkhvdmVyPC9rYmQ+ +IGF1ZiBLb21tZW50YXItTWFya2VyPC90ZD48dGQ+S29tbWVudGFyLVBvcG92ZXIgKDI1MCBtcyBW +ZXJ6b2VnZXJ1bmcpPC90ZD48L3RyPicgKwogICAgICAgICAgICAgICAgICAgICc8dHI+PHRkPjxr +YmQ+RHJhZzwva2JkPiBhdWYgRmlsbC1IYW5kbGU8L3RkPjx0ZD5XZXJ0IG5hY2ggbGlua3MvcmVj +aHRzIGluIGRlcnNlbGJlbiBaZWlsZSBrb3BpZXJlbiAoRXhjZWwtYWVobmxpY2g7IGtlaW4gQXVz +ZnVlbGxlbiBuYWNoIG9iZW4vdW50ZW4pPC90ZD48L3RyPicgKwogICAgICAgICAgICAgICAgJzwv +dGFibGU+JyArCiAgICAgICAgICAgICc8L2Rpdj4nOwoKICAgICAgICB2YXIga29lcnBlciA9ICc8 +ZGl2IHN0eWxlPSJsaW5lLWhlaWdodDoxLjciPicgKwogICAgICAgICAgICAoaW5mb0Jsb2NrID8g +aW5mb0Jsb2NrIDogJycpICsKICAgICAgICAgICAgKGhpbGZlQmxvY2sgPyAnPGRpdiBjbGFzcz0i +aW5mby1hYnNjaG5pdHQiPicgKyBoaWxmZUJsb2NrICsgJzwvZGl2PicgOiAnJykgKwogICAgICAg +ICAgICAoYmVkaWVudW5nCiAgICAgICAgICAgICAgICA/ICc8ZGl2IGNsYXNzPSJpbmZvLWFic2No +bml0dCI+PGgzPkJlZGllbnVuZzwvaDM+JyArIGJlZGllbnVuZyArICc8L2Rpdj4nCiAgICAgICAg +ICAgICAgICA6ICcnKSArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJpbmZvLWFic2Nobml0dCI+ +PGgzPlNjaGljaHRjb2RlLUxlZ2VuZGU8L2gzPicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xh +c3M9InNjLWxlZ2VuZGUtY29udGFpbmVyIj4nICsgc2NoaWNodGNvZGVMZWdlbmRlSHRtbCgpICsg +JzwvZGl2PicgKwogICAgICAgICAgICAnPC9kaXY+JyArCiAgICAgICAgICAgIHRhc3RhdHVyQmxv +Y2sgKwogICAgICAgICAgICB3ZXJremV1Z2VCbG9jayArCiAgICAgICAgICAgICc8ZGl2IGNsYXNz +PSJpbmZvLWZ1c3MiPicgKwogICAgICAgICAgICAgICAgZXNjYXBlSFRNTChiZXooJ2FwcC50aXRl +bCcpKSArICcgJyArIChaLmFkbWluLmphaHIgfHwgJycpICsgJyDigJQgQmVudXR6ZXI6ICcgKyBl +c2NhcGVIVE1MKFouYmVudXR6ZXIpICsKICAgICAgICAgICAgJzwvZGl2PjwvZGl2Pic7CgogICAg +ICAgIG1vZGFsWmVpZ2VuKCdJbmZvcm1hdGlvbiAmIEhpbGZlJywga29lcnBlciwKICAgICAgICAg +ICAgJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWsiIGlkPSJpbmZvLWlt +cHJlc3N1bS1idG4iPkltcHJlc3N1bTwvYnV0dG9uPicgKwogICAgICAgICAgICAnPGJ1dHRvbiB0 +eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hZXIiIGlkPSJpbmZvLXNjaGxpZXNzZW4t +YnRuIj5TY2hsaWXDn2VuPC9idXR0b24+JywKICAgICAgICAgICAgbnVsbCwgbnVsbCwgeyByZWlu +ZXJEaWFsb2c6IHRydWUgfSk7CiAgICAgICAgdmFyIGJ0bkltcHJlc3N1bSA9IGRvY3VtZW50Lmdl +dEVsZW1lbnRCeUlkKCdpbmZvLWltcHJlc3N1bS1idG4nKTsKICAgICAgICBpZiAoYnRuSW1wcmVz +c3VtKSBidG5JbXByZXNzdW0uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBpbXByZXNzdW1Nb2Rh +bE9lZmZuZW4pOwogICAgICAgIHZhciBidG5TY2hsaWVzc2VuID0gZG9jdW1lbnQuZ2V0RWxlbWVu +dEJ5SWQoJ2luZm8tc2NobGllc3Nlbi1idG4nKTsKICAgICAgICBpZiAoYnRuU2NobGllc3Nlbikg +YnRuU2NobGllc3Nlbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgeyBtb2Rh +bFNjaGxpZXNzZW4odHJ1ZSk7IH0pOwogICAgfQoKICAgIC8vIEJhdXQgZGVuIHZvcmF1c2dlZnVl +bGx0ZW4gU3VwcG9ydC1NYWlsLUJvZHkuIFBsYWluLVRleHQsIGtsYXIKICAgIC8vIHN0cnVrdHVy +aWVydCBpbiBBYnNjaG5pdHRlbiDigJQgVXNlciBzb2xsIGRpZSBMdWVla2VuIGF1c2Z1ZWxsZW4s +CiAgICAvLyBzdGF0dCB2b24gTnVsbCBhbiB6dSBzY2hyZWliZW4uIEF1dG8tU2VrdGlvbiBhbSBF +bmRlIGlzdCBtaXQKICAgIC8vIExpdmUtRGF0ZW4gdm9yYmVmdWVsbHQgKE5XLUtlbm51bmcsIGFr +dHVlbGxlIEFuc2ljaHQsIEJyb3dzZXIsCiAgICAvLyBBdWZsb2VzdW5nLCBCdWlsZC1KYWhyKSwg +ZGFtaXQgUGhpbGlwcCBuaWNodCBtZWhyZmFjaCBuYWNoZnJhZ2VuCiAgICAvLyBtdXNzLgogICAg +ZnVuY3Rpb24gX21haWxQbGF0emhhbHRlckVyc2V0emVuKHRlbXBsYXRlKSB7CiAgICAgICAgdmFy +IGpldHp0ID0gbmV3IERhdGUoKTsKICAgICAgICB2YXIgcGFkID0gZnVuY3Rpb24obikgeyByZXR1 +cm4gKG4gPCAxMCA/ICcwJyA6ICcnKSArIG47IH07CiAgICAgICAgdmFyIGFrdGl2ID0gJyc7CiAg +ICAgICAgdHJ5IHsgYWt0aXYgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd2aTMuYWt0aXZlQW5z +aWNodCcpIHx8ICdwbGFudW5nJzsgfSBjYXRjaCAoZSkgeyBha3RpdiA9ICdwbGFudW5nJzsgfQog +ICAgICAgIHZhciBjdHggPSB7CiAgICAgICAgICAgICd7bndfa2VubnVuZ30nOiAgICAgICBaLmJl +bnV0emVyIHx8ICc/JywKICAgICAgICAgICAgJ3tha3R1ZWxsZV9hbnNpY2h0fSc6IGFrdGl2LAog +ICAgICAgICAgICAne2RhdHVtfSc6ICAgICAgICAgICAgcGFkKGpldHp0LmdldERhdGUoKSkgKyAn +LicgKyBwYWQoamV0enQuZ2V0TW9udGgoKSArIDEpICsgJy4nICsgamV0enQuZ2V0RnVsbFllYXIo +KSwKICAgICAgICAgICAgJ3t1aHJ6ZWl0fSc6ICAgICAgICAgIHBhZChqZXR6dC5nZXRIb3Vycygp +KSArICc6JyArIHBhZChqZXR6dC5nZXRNaW51dGVzKCkpLAogICAgICAgICAgICAne2F1ZmxvZXN1 +bmd9JzogICAgICAgKHdpbmRvdy5pbm5lcldpZHRoIHx8ICc/JykgKyAneCcgKyAod2luZG93Lmlu +bmVySGVpZ2h0IHx8ICc/JyksCiAgICAgICAgICAgICd7YXBwX2phaHJ9JzogICAgICAgICBTdHJp +bmcoKFouYWRtaW4gJiYgWi5hZG1pbi5qYWhyKSA/IFouYWRtaW4uamFociA6IG5ldyBEYXRlKCku +Z2V0RnVsbFllYXIoKSksCiAgICAgICAgICAgICd7YnJvd3Nlcn0nOiAgICAgICAgICAobmF2aWdh +dG9yICYmIG5hdmlnYXRvci51c2VyQWdlbnQpID8gbmF2aWdhdG9yLnVzZXJBZ2VudC5zdWJzdHJp +bmcoMCwgMTIwKSA6ICc/JwogICAgICAgIH07CiAgICAgICAgdmFyIG91dCA9IHRlbXBsYXRlOwog +ICAgICAgIE9iamVjdC5rZXlzKGN0eCkuZm9yRWFjaChmdW5jdGlvbihrKSB7IG91dCA9IG91dC5z +cGxpdChrKS5qb2luKGN0eFtrXSk7IH0pOwogICAgICAgIHJldHVybiBvdXQ7CiAgICB9CiAgICBm +dW5jdGlvbiBzdXBwb3J0TWFpbEJvZHlCYXVlbigpIHsKICAgICAgICB2YXIgdGVtcGxhdGUgPSAo +Wi5hZG1pbiAmJiBaLmFkbWluLnN1cHBvcnRNYWlsVGV4dCAmJiBTdHJpbmcoWi5hZG1pbi5zdXBw +b3J0TWFpbFRleHQpLnRyaW0oKSkKICAgICAgICAgICAgPyBaLmFkbWluLnN1cHBvcnRNYWlsVGV4 +dAogICAgICAgICAgICA6IFNVUFBPUlRfTUFJTF9ERUZBVUxUOwogICAgICAgIHJldHVybiBfbWFp +bFBsYXR6aGFsdGVyRXJzZXR6ZW4odGVtcGxhdGUpOwogICAgfQogICAgZnVuY3Rpb24gYnVnUmVw +b3J0TWFpbEJvZHlCYXVlbigpIHsKICAgICAgICB2YXIgdGVtcGxhdGUgPSAoWi5hZG1pbiAmJiBa +LmFkbWluLmJ1Z1JlcG9ydE1haWxUZXh0ICYmIFN0cmluZyhaLmFkbWluLmJ1Z1JlcG9ydE1haWxU +ZXh0KS50cmltKCkpCiAgICAgICAgICAgID8gWi5hZG1pbi5idWdSZXBvcnRNYWlsVGV4dAogICAg +ICAgICAgICA6IEJVR1JFUE9SVF9NQUlMX0RFRkFVTFQ7CiAgICAgICAgcmV0dXJuIF9tYWlsUGxh +dHpoYWx0ZXJFcnNldHplbih0ZW1wbGF0ZSk7CiAgICB9CgogICAgLy8gQnVnLVJlcG9ydC1Nb2Rh +bCBoaW50ZXIgZGVtIEhlYWRlci1CdXR0b24g4oCeQnVnUmVwb3J0Ii4gU3BpZWdlbHQgZGllCiAg +ICAvLyBTdXBwb3J0LUFuZnJhZ2UgKEltcHJlc3N1bS1Nb2RhbCksIGFiZXIgenVnZXNwaXR6dCBh +dWYgQlVHUy9Qcm9ibGVtZToKICAgIC8vIGVpbiB2b3JzdHJ1a3R1cmllcnRlcyBtYWlsdG86IGFu +IFBISyBSb2VzZ2VuLgogICAgZnVuY3Rpb24gYnVnUmVwb3J0TW9kYWxPZWZmbmVuKCkgewogICAg +ICAgIHZhciBtYWlsdG8gPSAnbWFpbHRvOnBoaWxpcHAucm9lc2dlbkBwb2xpemVpLm5ydy5kZScK +ICAgICAgICAgICAgKyAnP3N1YmplY3Q9JyArIGVuY29kZVVSSUNvbXBvbmVudCgnVkkzIERHTCBQ +bGFudW5nIC0gQlVHIC8gUHJvYmxlbSAoRG9ydG11bmQpJykKICAgICAgICAgICAgKyAnJmJvZHk9 +JyArIGVuY29kZVVSSUNvbXBvbmVudChidWdSZXBvcnRNYWlsQm9keUJhdWVuKCkpOwogICAgICAg +IHZhciBrb2VycGVyID0KICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJ1Z3JlcG9ydC1ib3giPicg +KwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJ1Z3JlcG9ydC1ib3gtdGl0ZWwiPkJ1ZyBv +ZGVyIFByb2JsZW0gbWVsZGVuPC9kaXY+JyArCiAgICAgICAgICAgICAgICAnPHAgY2xhc3M9ImJ1 +Z3JlcG9ydC1ib3gtdGV4dCI+RXR3YXMgZnVua3Rpb25pZXJ0IG5pY2h0IHdpZSBlcndhcnRldD8g +TWl0IGRlbSBCdXR0b24gdW50ZW4gw7ZmZm5ldCBzaWNoIGVpbmUgPHN0cm9uZz52b3JzdHJ1a3R1 +cmllcnRlIEUtTWFpbDwvc3Ryb25nPiBhbiBQSEsgUm9lc2dlbiAoTlcwNTM2MDkpLiBCaXR0ZSBh +bGxlIEFic2Nobml0dGUgYXVzZsO8bGxlbiDigJQgYmVzb25kZXJzIGRpZSA8c3Ryb25nPlNjaHJp +dHRlIHp1bSBSZXByb2R1emllcmVuPC9zdHJvbmc+IHVuZCBtaW5kZXN0ZW5zIDxzdHJvbmc+ZWlu +ZW4gU2NyZWVuc2hvdDwvc3Ryb25nPiBkZXIgRmVobGVyc3RlbGxlLiBEaWUgdGVjaG5pc2NoZW4g +SW5mb3MgYW0gRW5kZSBiaXR0ZSB1bnZlcsOkbmRlcnQgbGFzc2VuLCBzaWUgaGVsZmVuIGJlaSBk +ZXIgRWluZ3Jlbnp1bmcuPC9wPicgKwogICAgICAgICAgICAgICAgJzxhIGNsYXNzPSJidG4gYnVn +cmVwb3J0LW1haWwtYnRuIiBocmVmPSInICsgZXNjYXBlQXR0cihtYWlsdG8pICsgJyI+JyArCiAg +ICAgICAgICAgICAgICAgICAgJ0J1ZyBwZXIgRS1NYWlsIG1lbGRlbiAoT3V0bG9vayDDtmZmbmVu +KScgKwogICAgICAgICAgICAgICAgJzwvYT4nICsKICAgICAgICAgICAgJzwvZGl2Pic7CiAgICAg +ICAgdmFyIGZ1c3MgPSAnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXNlayIg +aWQ9ImJ1Z3JlcG9ydC1zY2hsaWVzc2VuLWJ0biI+U2NobGllw59lbjwvYnV0dG9uPic7CiAgICAg +ICAgbW9kYWxaZWlnZW4oJ0J1ZyAvIFByb2JsZW0gbWVsZGVuJywga29lcnBlciwgZnVzcywgbnVs +bCwgbnVsbCwgeyByZWluZXJEaWFsb2c6IHRydWUgfSk7CiAgICAgICAgdmFyIHNiID0gZG9jdW1l +bnQuZ2V0RWxlbWVudEJ5SWQoJ2J1Z3JlcG9ydC1zY2hsaWVzc2VuLWJ0bicpOwogICAgICAgIGlm +IChzYikgc2IuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsgbW9kYWxTY2hs +aWVzc2VuKHRydWUpOyB9KTsKICAgIH0KCiAgICAvLyBJbXByZXNzdW1zLU1vZGFsIG1pdCBOb3Rm +YWxsLUJveCArIHZvcmF1c2dlZnVlbGx0ZW0gbWFpbHRvOi1CdXR0b24uCiAgICAvLyBJbmhhbHQ6 +IGFkbWluLmpzb24uaW1wcmVzc3VtIChmYWxscyBsZWVyLCBJTVBSRVNTVU1fREVGQVVMVCBhdXMg +YWRtaW4uanMpLgogICAgZnVuY3Rpb24gaW1wcmVzc3VtTW9kYWxPZWZmbmVuKCkgewogICAgICAg +IHZhciBpbmhhbHQgPSAoWi5hZG1pbiAmJiBaLmFkbWluLmltcHJlc3N1bSAmJiBTdHJpbmcoWi5h +ZG1pbi5pbXByZXNzdW0pLnRyaW0oKSkKICAgICAgICAgICAgPyBzYW5pdGl6ZVJpY2hIdG1sKFou +YWRtaW4uaW1wcmVzc3VtKQogICAgICAgICAgICA6IHNhbml0aXplUmljaEh0bWwoSU1QUkVTU1VN +X0RFRkFVTFQpOwogICAgICAgIHZhciBtYWlsdG8gPSAnbWFpbHRvOnBoaWxpcHAucm9lc2dlbkBw +b2xpemVpLm5ydy5kZScKICAgICAgICAgICAgKyAnP3N1YmplY3Q9JyArIGVuY29kZVVSSUNvbXBv +bmVudCgnVkkzIERHTCBQbGFudW5nIC0gRG9ydG11bmQnKQogICAgICAgICAgICArICcmYm9keT0n +ICsgZW5jb2RlVVJJQ29tcG9uZW50KHN1cHBvcnRNYWlsQm9keUJhdWVuKCkpOwoKICAgICAgICB2 +YXIgbm90ZmFsbEJveCA9CiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJpbXByZXNzdW0tbm90ZmFs +bCI+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iaW1wcmVzc3VtLW5vdGZhbGwtdGl0 +ZWwiPk5vdGZhbGwtUsO8Y2tmYWxsZWJlbmU8L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8cCBj +bGFzcz0iaW1wcmVzc3VtLW5vdGZhbGwtdGV4dCI+RGllIE5XLUtlbm51bmcgPGNvZGU+TlcwNTM2 +MDk8L2NvZGU+ICg8c3Ryb25nPlBISyBSb2VzZ2VuPC9zdHJvbmc+KSBpc3QgaW0gU2VydmVyIGhh +cnQgYWxzIFN1cGVyVXNlciBoaW50ZXJsZWd0IHVuZCBnaWx0IGF1Y2ggZGFubiwgd2VubiBkaWUg +U3VwZXJVc2VyLUxpc3RlIGxlZXIgb2RlciB1bmxlc2JhciBpc3QuIEJlaSBQcm9ibGVtZW4gbWl0 +IFJlY2h0ZW4sIEJ1Z3Mgb2RlciBGcmFnZW4genVyIEFud2VuZHVuZyBzdGVodCBQSEsgUm9lc2dl +biBhbHMgQW5zcHJlY2hwYXJ0bmVyIHVuZCBSw7xja2ZhbGxlYmVuZSBiZXJlaXQuPC9wPicgKwog +ICAgICAgICAgICAgICAgJzxhIGNsYXNzPSJidG4gYnRuLXByaW1hZXIgaW1wcmVzc3VtLW1haWwt +YnRuIiBocmVmPSInICsgZXNjYXBlQXR0cihtYWlsdG8pICsgJyI+JyArCiAgICAgICAgICAgICAg +ICAgICAgJ1N1cHBvcnQtQW5mcmFnZSBwZXIgRS1NYWlsIChPdXRsb29rIMO2ZmZuZW4pJyArCiAg +ICAgICAgICAgICAgICAnPC9hPicgKwogICAgICAgICAgICAnPC9kaXY+JzsKCiAgICAgICAgdmFy +IGtvZXJwZXIgPSAnPGRpdiBjbGFzcz0iaW1wcmVzc3VtLWluaGFsdCIgc3R5bGU9ImxpbmUtaGVp +Z2h0OjEuNiI+JyArIGluaGFsdCArICc8L2Rpdj4nICsgbm90ZmFsbEJveDsKICAgICAgICB2YXIg +ZnVzcyA9ICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tcHJpbWFlciIgaWQ9 +ImltcHJlc3N1bS1zY2hsaWVzc2VuLWJ0biI+U2NobGllw59lbjwvYnV0dG9uPic7CiAgICAgICAg +bW9kYWxaZWlnZW4oJ0ltcHJlc3N1bScsIGtvZXJwZXIsIGZ1c3MsIG51bGwsIG51bGwsIHsgcmVp +bmVyRGlhbG9nOiB0cnVlIH0pOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbXBy +ZXNzdW0tc2NobGllc3Nlbi1idG4nKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9u +KCkgewogICAgICAgICAgICBtb2RhbFNjaGxpZXNzZW4odHJ1ZSk7CiAgICAgICAgfSk7CiAgICB9 +CgogICAgLy8gPT09PT0gTG9nYnVjaCA9PT09PSAtPiBqcy9sb2didWNoLmpzCiAgICAvLyA9PT09 +PSBFeGNlbC1JbXBvcnRlciA9PT09PSAtPiBqcy9pbXBvcnQvZXhjZWwtaW1wb3J0LmpzCiAgICAv +LyA9PT09PSBFdmVudC1MaXN0ZW5lciA9PT09PQogICAgLy8gVG9wLUxldmVsLVdyYXBwZXIuIERp +ZSBkcmVpIFN1Yi1GdW5rdGlvbmVuIHNpbmQgaW0gQm9vdHN0cmFwLVNjb3BlCiAgICAvLyBkZWZp +bmllcnQgdW5kIGdyZWlmZW4gdmlhIENsb3N1cmUgYXVmIGFsbGVzIGluIGRlciBJSUZFIHp1LgoK +ICAgIGZ1bmN0aW9uIGV2ZW50TGlzdGVuZXJFaW5yaWNodGVuKCkgewogICAgICAgIGdyaWRMaXN0 +ZW5lckVpbnJpY2h0ZW4oKTsKICAgICAgICBhZG1pbkxpc3RlbmVyRWlucmljaHRlbigpOwogICAg +ICAgIHJlc3RMaXN0ZW5lckVpbnJpY2h0ZW4oKTsKICAgIH0KCiAgICBmdW5jdGlvbiBncmlkTGlz +dGVuZXJFaW5yaWNodGVuKCkgewogICAgICAgIC8vIERpcnR5LVRyYWNraW5nOiBhbGxlIGJlYXJi +ZWl0YmFyZW4gQWRtaW4tU2VrdGlvbmVuIGFubWVsZGVuICsKICAgICAgICAvLyBEZWxlZ2F0ZWQt +TGlzdGVuZXIsIGRlciBJbnB1dHMvQ2hhbmdlcyBhbiBkZW4gcGFzc2VuZGVuIERpcnR5LUtleQog +ICAgICAgIC8vIHJvdXRldC4gU2llaGUgZGlydHlSZWdpc3RyaWVyZS9kaXJ0eVBydWVmZW4gb2Jl +bi4KICAgICAgICBkaXJ0eVRyYWNrZXJFaW5yaWNodGVuKCk7CgogICAgICAgIC8vIE5hdmlnYXRp +b24KICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubmF2LWJ0bicpLmZvckVhY2go +ZnVuY3Rpb24oYnRuKSB7CiAgICAgICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycs +IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgLy8gVm9yIEhlYWRlci1UYWItV2VjaHNlbDog +Q2hlY2stTW9kYWwgYmVpIHVuZ2VzcGVpY2hlcnRlbiBBZW5kZXJ1bmdlbgogICAgICAgICAgICAg +ICAgZGlydHlQcnVlZmVuKGZ1bmN0aW9uKCkgeyBhbnNpY2h0V2VjaHNlbG4oYnRuLmdldEF0dHJp +YnV0ZSgnZGF0YS1hbnNpY2h0JykpOyB9KTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAg +ICAgICAgYmVzZXR6dW5nc2tvbnRyb2xsZUV2ZW50c0F1ZmhhZW5nZW4oKTsKCiAgICAgICAgLy8g +QWRtaW4tVGFicyAoU2lkZWJhcikKICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcu +YWRtaW4tbmF2LWJ0bicpLmZvckVhY2goZnVuY3Rpb24oYnRuKSB7CiAgICAgICAgICAgIGJ0bi5h +ZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgZGly +dHlQcnVlZmVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5 +U2VsZWN0b3JBbGwoJy5hZG1pbi1uYXYtYnRuJykuZm9yRWFjaChmdW5jdGlvbihiKSB7IGIuY2xh +c3NMaXN0LnJlbW92ZSgnYWt0aXYnKTsgfSk7CiAgICAgICAgICAgICAgICAgICAgYnRuLmNsYXNz +TGlzdC5hZGQoJ2FrdGl2Jyk7CiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxl +Y3RvckFsbCgnLmFkbWluLXRhYicpLmZvckVhY2goZnVuY3Rpb24odCkgeyB0LmNsYXNzTGlzdC5h +ZGQoJ3ZlcnN0ZWNrdCcpOyB9KTsKICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZSA9IGJ0bi5n +ZXRBdHRyaWJ1dGUoJ2RhdGEtYWRtaW4tdGFiJyk7CiAgICAgICAgICAgICAgICAgICAgdmFyIHRh +YiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhZG1pbi10YWItJyArIG5hbWUpOwogICAgICAg +ICAgICAgICAgICAgIGlmICh0YWIpIHRhYi5jbGFzc0xpc3QucmVtb3ZlKCd2ZXJzdGVja3QnKTsK +ICAgICAgICAgICAgICAgICAgICAvLyBIaW53ZWlzZS1Qcm90b2tvbGwgbGF6eSBsYWRlbiwgc29i +YWxkIGRlciBTdWItVGFiIGFrdGl2IHdpcmQuCiAgICAgICAgICAgICAgICAgICAgaWYgKG5hbWUg +PT09ICdoaW53ZWlzZS1wcm90b2tvbGwnKSBoaW53ZWlzZVByb3Rva29sbFJlbmRlcm4oKTsKICAg +ICAgICAgICAgICAgICAgICAvLyBFcnNjaGVpbnVuZ3NiaWxkOiBkZWZlbnNpdmVyIHJlLXJlbmRl +ciBiZWltIEtsaWNrIGF1ZiBkZW4KICAgICAgICAgICAgICAgICAgICAvLyBTdWItVGFiLCBkYW1p +dCBkZXIgRWRpdG9yIGF1Y2ggZGFubiBlcnNjaGVpbnQsIHdlbm4KICAgICAgICAgICAgICAgICAg +ICAvLyBhZG1pblJlbmRlcm4oKSB2b3IgZGVtIGVyc3RlbiBUYWItU3dpdGNoIG5vY2ggbmljaHQg +bGllZi4KICAgICAgICAgICAgICAgICAgICBpZiAobmFtZSA9PT0gJ2Vyc2NoZWludW5nc2JpbGQn +KSBlcnNjaGVpbnVuZ3NiaWxkUmVuZGVybigpOwogICAgICAgICAgICAgICAgICAgIC8vIFN0YXRp +c3Rpay1MYXlvdXQ6IHJlLXJlbmRlcm4gYmVpbSBUYWItV2VjaHNlbCwgZGFtaXQgZnJpc2NoCiAg +ICAgICAgICAgICAgICAgICAgLy8gZ2ViYXV0ZSBCYXVrYXN0ZW4tS2FjaGVsbiBzb2ZvcnQgaW0g +UmFzdGVyIGVyc2NoZWluZW4uCiAgICAgICAgICAgICAgICAgICAgaWYgKG5hbWUgPT09ICdzdGF0 +aXN0aWstbGF5b3V0Jykgc3RhdGlzdGlrTGF5b3V0UmVuZGVybigpOwogICAgICAgICAgICAgICAg +ICAgIC8vIFN0YXRpc3Rpay1CdWlsZGVyOiBsYXp5IHJlbmRlcm4gKEVuZ2luZSBiYXV0IEZha3Rl +bnRhYmVsbGUpLgogICAgICAgICAgICAgICAgICAgIGlmIChuYW1lID09PSAnc3RhdGlzdGlrLWJ1 +aWxkZXInKSBzdGF0aXN0aWtCdWlsZGVyUmVuZGVybigpOwogICAgICAgICAgICAgICAgICAgIC8v +IEV4Y2VsLUV4cG9ydDogbGF6eSByZW5kZXJuLCB3ZW5uIGRlciBUYWIgYWt0aXYgd2lyZC4KICAg +ICAgICAgICAgICAgICAgICBpZiAobmFtZSA9PT0gJ2V4cG9ydCcpIGV4cG9ydFJlbmRlcm4oKTsK +ICAgICAgICAgICAgICAgICAgICAvLyBTdGFuZGFyZHJlY2h0ZSAoVXNlcik6IGxhenkgcmVuZGVy +bi4KICAgICAgICAgICAgICAgICAgICBpZiAobmFtZSA9PT0gJ3N0YW5kYXJkcmVjaHRlJykgc3Rh +bmRhcmRyZWNodGVSZW5kZXJuKCk7CiAgICAgICAgICAgICAgICAgICAgLy8gRHJhZnQtUmVzdG9y +ZS1CYW5uZXIgYW5iaWV0ZW4sIGZhbGxzIGZ1ZXIgZGllc2VuIFRhYiBlaW4KICAgICAgICAgICAg +ICAgICAgICAvLyBBdXRvLVNhdmUtRHJhZnQgaW0gbG9jYWxTdG9yYWdlIGxpZWd0IChQaGFzZSA5 +KS4KICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGFkbWluRHJhZnRCYW5uZXJBbmJpZXRl +biA9PT0gJ2Z1bmN0aW9uJykgYWRtaW5EcmFmdEJhbm5lckFuYmlldGVuKG5hbWUpOwogICAgICAg +ICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgICAgIGFkbWluU3Vi +dGFiRmlsdGVyQW53ZW5kZW4oKTsKCiAgICAgICAgLy8gQWRtaW4tU3ViLU5hdmlnYXRpb24gKGlu +bmVyaGFsYiBlaW5lcyBUb3AtVGFicykuCiAgICAgICAgLy8gS2xpY2sgYXVmIGVpbmVuIC5hZG1p +bi1zdWJuYXYtYnRuIHNjaGFsdGV0IGltIHVtc2NobGllc3NlbmRlbiAuYWRtaW4tdGFiCiAgICAg +ICAgLy8gendpc2NoZW4gU3ViLVNla3Rpb25lbiB1bSwgZGllIHBlciBkYXRhLXN1YnRhYj0iLi4u +IiBtYXJraWVydCBzaW5kLgogICAgICAgIC8vIEJzcDogIkZlaWVydGFnZSAmIEZlcmllbiIgLT4g +U3ViLVRhYnMgIkZlaWVydGFnZSIgLyAiU2NodWxmZXJpZW4iLgogICAgICAgIGRvY3VtZW50LnF1 +ZXJ5U2VsZWN0b3JBbGwoJy5hZG1pbi1zdWJuYXYnKS5mb3JFYWNoKGZ1bmN0aW9uKG5hdikgewog +ICAgICAgICAgICBuYXYuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihldikgewog +ICAgICAgICAgICAgICAgdmFyIGJ0biA9IGV2LnRhcmdldC5jbG9zZXN0KCcuYWRtaW4tc3VibmF2 +LWJ0bicpOwogICAgICAgICAgICAgICAgaWYgKCFidG4gfHwgIW5hdi5jb250YWlucyhidG4pKSBy +ZXR1cm47CiAgICAgICAgICAgICAgICB2YXIgemllbCA9IGJ0bi5nZXRBdHRyaWJ1dGUoJ2RhdGEt +c3VidGFiJyk7CiAgICAgICAgICAgICAgICBpZiAoIXppZWwpIHJldHVybjsKICAgICAgICAgICAg +ICAgIHZhciB0YWIgPSBuYXYuY2xvc2VzdCgnLmFkbWluLXRhYicpIHx8IG5hdi5wYXJlbnRFbGVt +ZW50OwogICAgICAgICAgICAgICAgaWYgKCF0YWIpIHJldHVybjsKICAgICAgICAgICAgICAgIG5h +di5xdWVyeVNlbGVjdG9yQWxsKCcuYWRtaW4tc3VibmF2LWJ0bicpLmZvckVhY2goZnVuY3Rpb24o +YikgewogICAgICAgICAgICAgICAgICAgIGIuY2xhc3NMaXN0LnRvZ2dsZSgnYWt0aXYnLCBiID09 +PSBidG4pOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0YWIucXVlcnlTZWxl +Y3RvckFsbCgnW2RhdGEtc3VidGFiLXNla3Rpb25dJykuZm9yRWFjaChmdW5jdGlvbihzZWspIHsK +ICAgICAgICAgICAgICAgICAgICB2YXIgaXN0ID0gc2VrLmdldEF0dHJpYnV0ZSgnZGF0YS1zdWJ0 +YWItc2VrdGlvbicpID09PSB6aWVsOwogICAgICAgICAgICAgICAgICAgIHNlay5jbGFzc0xpc3Qu +dG9nZ2xlKCd2ZXJzdGVja3QnLCAhaXN0KTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAg +ICB9KTsKICAgICAgICB9KTsKCiAgICAgICAgLy8gSGlud2Vpc2UtUHJvdG9rb2xsOiBGaWx0ZXIg +KyBBa3R1YWxpc2llcmVuLUJ1dHRvbgogICAgICAgIChmdW5jdGlvbigpIHsKICAgICAgICAgICAg +dmFyIGJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdocC1ha3R1YWxpc2llcmVuJyk7CiAg +ICAgICAgICAgIGlmIChidG4pIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGhpbndlaXNl +UHJvdG9rb2xsUmVuZGVybik7CiAgICAgICAgICAgIFsnaHAtZmlsdGVyLXR5cCcsICdocC1maWx0 +ZXItdm9uJywgJ2hwLWZpbHRlci1iaXMnXS5mb3JFYWNoKGZ1bmN0aW9uKGlkKSB7CiAgICAgICAg +ICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7CiAgICAgICAgICAg +ICAgICBpZiAoZWwpIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGhpbndlaXNlUHJvdG9r +b2xsUmVuZGVybik7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pKCk7CgogICAgICAgIC8vIEdy +aWQtSW50ZXJha3Rpb246CiAgICAgICAgLy8gICBIb3ZlciB1ZWJlciBlaW5lIFplbGxlICAtPiBE +cmFnLUZ1ZWxsLUdyaWZmIGVyc2NoZWludCB1bnRlbiByZWNodHMKICAgICAgICAvLyAgIEVpbmZh +Y2gtS2xpY2sgICAgICAgICAgIC0+IFNjaGljaHQtRWRpdG9yIG9lZmZuZXQgc2ljaCBkaXJla3QK +ICAgICAgICAvLyBCZWltIFZlcmxhc3NlbiBkZXMgR3JpZHMgdmVyc2Nod2luZGV0IGRhcyBIYW5k +bGUgd2llZGVyLCBhdXNzZXIKICAgICAgICAvLyB3ZW5uIGRpZSBNYXVzIGF1ZiBkYXMgSGFuZGxl +IHdhbmRlcnQgb2RlciBnZXJhZGUgZWluIERyYWcgbGFldWZ0LgogICAgICAgIHZhciBncmlkRGF0 +ZW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ3JpZC1kYXRlbicpOwogICAgICAgIHZhciBo +b3ZlclplbGxlID0gbnVsbDsKICAgICAgICBncmlkRGF0ZW4uYWRkRXZlbnRMaXN0ZW5lcignbW91 +c2VvdmVyJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBpZiAoZnVlbGxJc3RBa3RpdigpKSBy +ZXR1cm47IC8vIGxhdWZlbmRlciBEcmFnIC0gSGFuZGxlIG5pY2h0IHVtc2V0emVuCiAgICAgICAg +ICAgIHZhciB6ZWxsZSA9IGUudGFyZ2V0LmNsb3Nlc3QoJy5ncmlkLXplbGxlJyk7CiAgICAgICAg +ICAgIGlmICghemVsbGUgfHwgemVsbGUgPT09IGhvdmVyWmVsbGUpIHJldHVybjsKICAgICAgICAg +ICAgaG92ZXJaZWxsZSA9IHplbGxlOwogICAgICAgICAgICBmdWVsbEhhbmRsZUFuWmVsbGUoemVs +bGUpOwogICAgICAgICAgICAvLyBLb21tZW50YXItUG9wb3ZlcjogbnVyIGF1ZiBaZWxsZW4gbWl0 +IE1hcmtlci4gVmVyem9lZ2VydGVyCiAgICAgICAgICAgIC8vIFRyaWdnZXIgKGluIGRlciBGdW5r +dGlvbiBzZWxic3QpIHZlcmhpbmRlcnQgRmxhY2tlcm4gYmVpbQogICAgICAgICAgICAvLyBzY2hu +ZWxsZW4gVWViZXJ3aXNjaGVuIOKAlCBkaWUgUG9wb3Zlci1GdW5rdGlvbiBpc3Qgbm8tb3AgZnVl +cgogICAgICAgICAgICAvLyBaZWxsZW4gb2huZSBoYXQta29tbWVudGFyLgogICAgICAgICAgICBp +ZiAoemVsbGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdoYXQta29tbWVudGFyJykpIHsKICAgICAgICAg +ICAgICAgIGtvbW1lbnRhclBvcG92ZXJaZWlnZW4oemVsbGUpOwogICAgICAgICAgICB9IGVsc2Ug +ewogICAgICAgICAgICAgICAga29tbWVudGFyUG9wb3ZlclZlcnN0ZWNrZW4oKTsKICAgICAgICAg +ICAgfQogICAgICAgIH0pOwogICAgICAgIGdyaWREYXRlbi5hZGRFdmVudExpc3RlbmVyKCdtb3Vz +ZWxlYXZlJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBpZiAoZnVlbGxJc3RBa3RpdigpKSBy +ZXR1cm47CiAgICAgICAgICAgIHZhciBydCA9IGUucmVsYXRlZFRhcmdldDsKICAgICAgICAgICAg +aWYgKHJ0ICYmIHJ0LmlkID09PSAnZmlsbC1oYW5kbGUnKSByZXR1cm47CiAgICAgICAgICAgIC8v +IFdlbm4gZGVyIFBvaW50ZXIgYXVmIGRhcyBLb21tZW50YXItUG9wb3ZlciB3YW5kZXJ0LCBOSUNI +VAogICAgICAgICAgICAvLyBzY2hsaWVzc2VuIOKAlCBkZXIgUG9wb3Zlci1IYW5kbGVyIGhhZWx0 +IGVzIG9mZmVuLgogICAgICAgICAgICBpZiAocnQgJiYgcnQuY2xvc2VzdCAmJiBydC5jbG9zZXN0 +KCcjdmkzLWtvbW1lbnRhci1wb3BvdmVyJykpIHJldHVybjsKICAgICAgICAgICAgaG92ZXJaZWxs +ZSA9IG51bGw7CiAgICAgICAgICAgIGZ1ZWxsSGFuZGxlVmVyc3RlY2tlbigpOwogICAgICAgICAg +ICBrb21tZW50YXJQb3BvdmVyVmVyc3RlY2tlbigpOwogICAgICAgIH0pOwogICAgICAgIC8vIElu +dGVyYWt0aW9uIChVbWJhdSAyMDI2LTA2LTE1LCBVc2VyLVd1bnNjaCk6IExpbmtza2xpY2sgTUFS +S0lFUlQgZGllCiAgICAgICAgLy8gWmVsbGUgbnVyIChrZWluIExvY2ssIGtlaW4gRWRpdG9yKSDi +gJQgc28gZXJ6ZXVndCBiZWlsYWV1ZmlnZXMgS2xpY2tlbgogICAgICAgIC8vIGtlaW5lIEdlaXN0 +ZXItU3BlcnJlbiBtZWhyLiBXRUxDSEUgQWt0aW9uIGRlbiBTY2hpY2h0LUVkaXRvciBvZWZmbmV0 +LAogICAgICAgIC8vIGlzdCBpbSBBZG1pbi1CYWNrZW5kIGVpbnN0ZWxsYmFyIChhZG1pbi5lZGl0 +b3JUcmlnZ2VyKTogJ3JlY2h0cycKICAgICAgICAvLyAoRGVmYXVsdCksICdsaW5rcycsICdtaXR0 +ZScgKE1hdXNyYWQtS2xpY2spIG9kZXIgJ2RvcHBlbCcuCiAgICAgICAgZnVuY3Rpb24gemVsbGVN +YXJraWVyZW4oemVsbGUpIHsKICAgICAgICAgICAgdmFyIGFsdCA9IGdyaWREYXRlbi5xdWVyeVNl +bGVjdG9yKCcuZ3JpZC16ZWxsZS1tYXJraWVydCcpOwogICAgICAgICAgICBpZiAoYWx0ICYmIGFs +dCAhPT0gemVsbGUpIGFsdC5jbGFzc0xpc3QucmVtb3ZlKCdncmlkLXplbGxlLW1hcmtpZXJ0Jyk7 +CiAgICAgICAgICAgIGlmICh6ZWxsZSkgemVsbGUuY2xhc3NMaXN0LmFkZCgnZ3JpZC16ZWxsZS1t +YXJraWVydCcpOwogICAgICAgIH0KICAgICAgICBmdW5jdGlvbiBlZGl0b3JUcmlnZ2VyKCkgewog +ICAgICAgICAgICB2YXIgdCA9IChaLmFkbWluICYmIFouYWRtaW4uZWRpdG9yVHJpZ2dlcikgfHwg +J3JlY2h0cyc7CiAgICAgICAgICAgIHJldHVybiAodCA9PT0gJ2xpbmtzJyB8fCB0ID09PSAnbWl0 +dGUnIHx8IHQgPT09ICdkb3BwZWwnKSA/IHQgOiAncmVjaHRzJzsKICAgICAgICB9CiAgICAgICAg +ZnVuY3Rpb24gZWRpdG9yQW5aZWxsZU9lZmZuZW4oemVsbGUpIHsgemVsbGVNYXJraWVyZW4oemVs +bGUpOyBlZGl0b3JPZWZmbmVuKHplbGxlKTsgfQogICAgICAgIC8vIEVpbm1hbGlnZXIgRGlzY292 +ZXJ5LUhpbnQ6IGVya2xhZXJ0IGRpZSBha3R1ZWxsIGtvbmZpZ3VyaWVydGUgQmVsZWd1bmcKICAg +ICAgICAvLyBiZWltIGVyc3RlbiBMaW5rc2tsaWNrLCBkYW5hY2ggbmllIHdpZWRlciAobG9jYWxT +dG9yYWdlLUZsYWc7IFJlc2V0CiAgICAgICAgLy8gYmVpIFRyaWdnZXItV2VjaHNlbCB1ZWJlciBk +YXMgU3VmZml4IGltIEtleSkuCiAgICAgICAgdmFyIFRSSUdHRVJfTEFCRUwgPSB7IHJlY2h0czog +J1JlY2h0c2tsaWNrJywgbGlua3M6ICdMaW5rc2tsaWNrJywgbWl0dGU6ICdNYXVzcmFkLUtsaWNr +IChNaXR0ZSknLCBkb3BwZWw6ICdEb3BwZWxrbGljaycgfTsKICAgICAgICBmdW5jdGlvbiBlZGl0 +b3JUcmlnZ2VySGludEVpbm1hbGlnKCkgewogICAgICAgICAgICB2YXIgdCA9IGVkaXRvclRyaWdn +ZXIoKTsKICAgICAgICAgICAgaWYgKHQgPT09ICdsaW5rcycpIHJldHVybjsgLy8gTGlua3NrbGlj +ayBvZWZmbmV0IGphIGRpcmVrdCDigJQga2VpbiBIaW53ZWlzIG5vZXRpZwogICAgICAgICAgICB0 +cnkgewogICAgICAgICAgICAgICAgdmFyIGtleSA9ICd2aTMuZWRpdG9yVHJpZ2dlckhpbnQuJyAr +IHQ7CiAgICAgICAgICAgICAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSA9PT0gJzEn +KSByZXR1cm47CiAgICAgICAgICAgICAgICB0b2FzdCgnTGlua3NrbGljayBtYXJraWVydCBkaWUg +WmVsbGUuIERlbiBTY2hpY2h0LUVkaXRvciDDtmZmbmVzdCBkdSBtaXQgJyArIChUUklHR0VSX0xB +QkVMW3RdIHx8ICdSZWNodHNrbGljaycpICsgJyBhdWYgZGllIFplbGxlLicsICdpbmZvJywgeyBk +YXVlcjogOTAwMCB9KTsKICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwg +JzEnKTsKICAgICAgICAgICAgfSBjYXRjaCAoXykgeyAvKiBsb2NhbFN0b3JhZ2UgZ2dmLiBibG9j +a2llcnQgKi8gfQogICAgICAgIH0KICAgICAgICAvLyBMaW5rc2tsaWNrOiBtYXJraWVydCBpbW1l +ci4gSXN0IExpbmtza2xpY2sgZGVyIGtvbmZpZ3VyaWVydGUgVHJpZ2dlciwKICAgICAgICAvLyBv +ZWZmbmV0IGVyIHp1c2FldHpsaWNoIGRlbiBFZGl0b3IuCiAgICAgICAgZ3JpZERhdGVuLmFkZEV2 +ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgemVsbGUg +PSBlLnRhcmdldC5jbG9zZXN0KCcuZ3JpZC16ZWxsZScpOwogICAgICAgICAgICBpZiAoIXplbGxl +KSByZXR1cm47CiAgICAgICAgICAgIGlmIChlZGl0b3JUcmlnZ2VyKCkgPT09ICdsaW5rcycpIHsg +ZWRpdG9yQW5aZWxsZU9lZmZuZW4oemVsbGUpOyByZXR1cm47IH0KICAgICAgICAgICAgemVsbGVN +YXJraWVyZW4oemVsbGUpOwogICAgICAgICAgICBpZiAoZGFyZlplbGxlRWRpdGllcmVuKHplbGxl +LmdldEF0dHJpYnV0ZSgnZGF0YS1wZXJzb24nKSkpIGVkaXRvclRyaWdnZXJIaW50RWlubWFsaWco +KTsKICAgICAgICB9KTsKICAgICAgICAvLyBSZWNodHNrbGljazogb2VmZm5ldCBkZW4gRWRpdG9y +IHdlbm4ga29uZmlndXJpZXJ0IChuYXRpdmVzIEtvbnRleHRtZW51CiAgICAgICAgLy8gZGFubiB1 +bnRlcmRydWVja2VuKTsgc29uc3QgYmxlaWJ0IGRhcyBuYXRpdmUgQnJvd3Nlci1NZW51IGVyaGFs +dGVuLgogICAgICAgIGdyaWREYXRlbi5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1 +bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIHplbGxlID0gZS50YXJnZXQuY2xvc2VzdCgnLmdy +aWQtemVsbGUnKTsKICAgICAgICAgICAgaWYgKCF6ZWxsZSB8fCBlZGl0b3JUcmlnZ2VyKCkgIT09 +ICdyZWNodHMnKSByZXR1cm47CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAg +ICAgICAgZWRpdG9yQW5aZWxsZU9lZmZuZW4oemVsbGUpOwogICAgICAgIH0pOwogICAgICAgIC8v +IE1hdXNyYWQtL01pdHRlbGtsaWNrLiBtb3VzZWRvd24gdmVyaGluZGVydCBkZW4gQXV0b3Njcm9s +bC1DdXJzb3IsCiAgICAgICAgLy8gYXV4Y2xpY2sgKGJ1dHRvbiAxID0gTWl0dGUpIG9lZmZuZXQg +ZGFubiBkZW4gRWRpdG9yLgogICAgICAgIGdyaWREYXRlbi5hZGRFdmVudExpc3RlbmVyKCdtb3Vz +ZWRvd24nLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGlmIChlLmJ1dHRvbiA9PT0gMSAmJiBl +ZGl0b3JUcmlnZ2VyKCkgPT09ICdtaXR0ZScgJiYgZS50YXJnZXQuY2xvc2VzdCgnLmdyaWQtemVs +bGUnKSkgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIH0pOwogICAgICAgIGdyaWREYXRlbi5h +ZGRFdmVudExpc3RlbmVyKCdhdXhjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgaWYg +KGUuYnV0dG9uICE9PSAxIHx8IGVkaXRvclRyaWdnZXIoKSAhPT0gJ21pdHRlJykgcmV0dXJuOwog +ICAgICAgICAgICB2YXIgemVsbGUgPSBlLnRhcmdldC5jbG9zZXN0KCcuZ3JpZC16ZWxsZScpOwog +ICAgICAgICAgICBpZiAoIXplbGxlKSByZXR1cm47CiAgICAgICAgICAgIGUucHJldmVudERlZmF1 +bHQoKTsKICAgICAgICAgICAgZWRpdG9yQW5aZWxsZU9lZmZuZW4oemVsbGUpOwogICAgICAgIH0p +OwogICAgICAgIC8vIERvcHBlbGtsaWNrLgogICAgICAgIGdyaWREYXRlbi5hZGRFdmVudExpc3Rl +bmVyKCdkYmxjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgaWYgKGVkaXRvclRyaWdn +ZXIoKSAhPT0gJ2RvcHBlbCcpIHJldHVybjsKICAgICAgICAgICAgdmFyIHplbGxlID0gZS50YXJn +ZXQuY2xvc2VzdCgnLmdyaWQtemVsbGUnKTsKICAgICAgICAgICAgaWYgKHplbGxlKSBlZGl0b3JB +blplbGxlT2VmZm5lbih6ZWxsZSk7CiAgICAgICAgfSk7CgogICAgICAgIC8vIEtvbWJpbmllcnRl +IEFubGFzcy1aZWlsZSAoTWFpIDIwMjYpOiBGZWllcnRhZyArIFNvbmRlcnRlcm1pbiArCiAgICAg +ICAgLy8gR2VidXJ0c3RhZyBpbiBlaW5lciBaZWlsZS4gQ2xpY2stUm91dGluZyBuYWNoIGdldHJv +ZmZlbmVtIEVsZW1lbnQ6CiAgICAgICAgLy8gLSBTb25kZXJ0ZXJtaW4tSWNvbiAtPiBiZXN0ZWhl +bmRlcyBTb25kZXItTW9kYWwvRWRpdCAoamUgbmFjaCBSb2xsZSkKICAgICAgICAvLyAtIEZlaWVy +dGFnLVplbGxlICAgIC0+IEZlaWVydGFnLURldGFpbC1Nb2RhbCAoQmVzY2hyZWlidW5nICsgTGlu +aykKICAgICAgICAvLyAtIGxlZXJlIFplbGxlICsgU1UgIC0+IG5ldWVyIFNvbmRlcnRlcm1pbgog +ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXR1bS16ZWlsZS1hbmxhc3MnKS5hZGRF +dmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIHNvbmRl +ckljb24gPSBlLnRhcmdldC5jbG9zZXN0KCcua2QtZXZlbnQtc29uZGVyJyk7CiAgICAgICAgICAg +IGlmIChzb25kZXJJY29uKSB7CiAgICAgICAgICAgICAgICB2YXIgc29uZGVyRGF0dW0gPSBzb25k +ZXJJY29uLmdldEF0dHJpYnV0ZSgnZGF0YS1zb25kZXItZGF0dW0nKTsKICAgICAgICAgICAgICAg +IHZhciBzb25kZXIgPSBzb25kZXJEYXR1bSA/IHNvbmRlckZ1ZXJEYXR1bShzb25kZXJEYXR1bSkg +OiBudWxsOwogICAgICAgICAgICAgICAgaWYgKFoucmVjaHRlLmlzdFN1cGVyVXNlcikgewogICAg +ICAgICAgICAgICAgICAgIHNvbmRlckVkaXRNb2RhbFplaWdlbihzb25kZXIgPyBzb25kZXIuZGF0 +dW0gOiBudWxsKTsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc29uZGVyKSB7CiAgICAgICAg +ICAgICAgICAgICAgc29uZGVyQW5zaWNodE1vZGFsWmVpZ2VuKHNvbmRlcik7CiAgICAgICAgICAg +ICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAg +dmFyIGZ0WmVsbGUgPSBlLnRhcmdldC5jbG9zZXN0KCcua2QtYW5sYXNzLWZlaWVydGFnJyk7CiAg +ICAgICAgICAgIGlmIChmdFplbGxlKSB7CiAgICAgICAgICAgICAgICB2YXIgZGF0dW0gPSBmdFpl +bGxlLmdldEF0dHJpYnV0ZSgnZGF0YS1kYXR1bScpOwogICAgICAgICAgICAgICAgdmFyIGluZm8g +PSAoWi50YWdJbmZvcyB8fCB7fSlbZGF0dW1dIHx8IHt9OwogICAgICAgICAgICAgICAgaWYgKGlu +Zm8udHlwID09PSAnZmVpZXJ0YWcnKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG5hbWUgPSBp +bmZvLm5hbWUgfHwgJ0ZlaWVydGFnJzsKICAgICAgICAgICAgICAgICAgICB2YXIga3VyeiA9IGlu +Zm8ua3VyemJlc2NocmVpYnVuZyB8fCAnJzsKICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0g +aW5mby5pbmZvVXJsIHx8ICcnOwogICAgICAgICAgICAgICAgICAgIHZhciBrb2VycGVyID0gJzxk +aXYgc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuNTUiPicgKwogICAgICAgICAg +ICAgICAgICAgICAgICAoa3VyeiA/IGVzY2FwZUhUTUwoa3VyeikgOiAnPGVtIHN0eWxlPSJjb2xv +cjp2YXIoLS10ZXh0LW11dGVkKSI+S2VpbmUgQmVzY2hyZWlidW5nIGhpbnRlcmxlZ3QuPC9lbT4n +KSArCiAgICAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nOwogICAgICAgICAgICAgICAgICAg +IHZhciBmdXNzID0gJyc7CiAgICAgICAgICAgICAgICAgICAgaWYgKHVybCkgewogICAgICAgICAg +ICAgICAgICAgICAgICBmdXNzICs9ICc8YSBjbGFzcz0iYnRuIGJ0bi1zZWsgYnRuLWtsZWluIiBo +cmVmPSInICsgZXNjYXBlQXR0cih1cmwpICsgJyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVu +ZXIgbm9yZWZlcnJlciI+TWVociBiZWkgV2lraXBlZGlhIOKGlzwvYT4nOwogICAgICAgICAgICAg +ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdXNzICs9ICc8YnV0dG9uIGNsYXNzPSJidG4g +YnRuLXByaW1hZXIgYnRuLWtsZWluIiBpZD0iZnQtbW9kYWwtc2NobGllc3NlbiI+U2NobGllw59l +bjwvYnV0dG9uPic7CiAgICAgICAgICAgICAgICAgICAgbW9kYWxaZWlnZW4obmFtZSwga29lcnBl +ciwgZnVzcyk7CiAgICAgICAgICAgICAgICAgICAgdmFyIHNjaGxpZXNzZW4gPSBkb2N1bWVudC5n +ZXRFbGVtZW50QnlJZCgnZnQtbW9kYWwtc2NobGllc3NlbicpOwogICAgICAgICAgICAgICAgICAg +IGlmIChzY2hsaWVzc2VuKSBzY2hsaWVzc2VuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVu +Y3Rpb24oKSB7IG1vZGFsU2NobGllc3NlbigpOyB9KTsKICAgICAgICAgICAgICAgICAgICByZXR1 +cm47CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gS2xpY2sg +YXVmIGxlZXJlIFplbGxlIChrZWluIEZlaWVydGFnL1NvbmRlcnRlcm1pbik6IFN1cGVyVXNlcgog +ICAgICAgICAgICAvLyBrYW5uIGVpbmVuIG5ldWVuIFNvbmRlcnRlcm1pbiBmdWVyIGRpZXNlbiBU +YWcgYW5sZWdlbi4KICAgICAgICAgICAgaWYgKFoucmVjaHRlLmlzdFN1cGVyVXNlcikgewogICAg +ICAgICAgICAgICAgdmFyIGxlZXJaZWxsZSA9IGUudGFyZ2V0LmNsb3Nlc3QoJy5rZC16ZWxsZVtk +YXRhLWRhdHVtXScpOwogICAgICAgICAgICAgICAgaWYgKGxlZXJaZWxsZSkgc29uZGVyRWRpdE1v +ZGFsWmVpZ2VuKGxlZXJaZWxsZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZGF0dW0nKSk7CiAgICAgICAg +ICAgIH0KICAgICAgICB9KTsKCiAgICAgICAgLy8gRWRpdG9yCiAgICAgICAgZG9jdW1lbnQuZ2V0 +RWxlbWVudEJ5SWQoJ2VkaXRvci1hdXN3YWhsJykuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywg +ZnVuY3Rpb24oKSB7IGVkaXRvckF1c3dhaGwodGhpcy52YWx1ZSk7IH0pOwogICAgICAgIGRvY3Vt +ZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBp +ZiAoIWVkaXRvckFrdGl2KCkpIHJldHVybjsKICAgICAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQu +Z2V0RWxlbWVudEJ5SWQoJ3plbGwtZWRpdG9yJyk7CiAgICAgICAgICAgIC8vIEpFREVSIEtsaWNr +IGF1c3NlcmhhbGIgZGVzIEVkaXRvcnMgc2NobGllc3N0IGlobiAodW5kIGdpYnQgZGVuCiAgICAg +ICAgICAgIC8vIExvY2sgZnJlaSkg4oCUIGF1Y2ggYXVmIGVpbmUgYW5kZXJlIFplbGxlIG9kZXIg +aXJnZW5kd28gc29uc3QgaW0KICAgICAgICAgICAgLy8gQnJvd3Nlci4gKEZydWVoZXIgYmxpZWIg +ZGVyIEVkaXRvciBiZWkgS2xpY2sgYXVmIGVpbmUgR3JpZC1aZWxsZQogICAgICAgICAgICAvLyBv +ZmZlbiwgd2VpbCBkb3J0IGRlciBFZGl0b3IgZGlyZWt0IG5ldSBnZW9lZmZuZXQgd3VyZGU7IHNl +aXQgZGVyCiAgICAgICAgICAgIC8vIExpbmtza2xpY2sgbnVyIG5vY2ggbWFya2llcnQsIHNvbGwg +ZXIgaGllciBzY2hsaWVzc2VuLikKICAgICAgICAgICAgaWYgKCFlbC5jb250YWlucyhlLnRhcmdl +dCkpIGVkaXRvclNjaGxpZXNzZW4oKTsKICAgICAgICB9KTsKICAgICAgICAvLyBSZWNodHNrbGlj +ayBhdXNzZXJoYWxiIGRlciBQbGFudGFmZWwgc2NobGllc3N0IGVpbmVuIG9mZmVuZW4gRWRpdG9y +CiAgICAgICAgLy8gZWJlbmZhbGxzIChzb25zdCBibGllYmUgZXIgYmVpbSBLb250ZXh0bWVudSB3 +b2FuZGVycyBzdGVoZW4pLgogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NvbnRl +eHRtZW51JywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBpZiAoIWVkaXRvckFrdGl2KCkpIHJl +dHVybjsKICAgICAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3plbGwt +ZWRpdG9yJyk7CiAgICAgICAgICAgIHZhciBpbUdyaWQgPSBlLnRhcmdldC5jbG9zZXN0ICYmIGUu +dGFyZ2V0LmNsb3Nlc3QoJyNncmlkLWRhdGVuIC5ncmlkLXplbGxlJyk7CiAgICAgICAgICAgIGlm +ICghZWwuY29udGFpbnMoZS50YXJnZXQpICYmICFpbUdyaWQpIGVkaXRvclNjaGxpZXNzZW4oKTsK +ICAgICAgICB9KTsKICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywg +ZnVuY3Rpb24oZSkgewogICAgICAgICAgICAvLyBFU0Mgc2NobGllc3N0IGRlbiBaZWxsLUVkaXRv +ci4gTW9kYWwtRVNDIGlzdCBzZWl0IFNwcmludCA2YQogICAgICAgICAgICAvLyAoYTExeSwgMjAy +Ni0wNS0yOSkgaW0gTW9kYWwtQ29udGFpbmVyIHNlbGJzdCBhbmdlc2llZGVsdAogICAgICAgICAg +ICAvLyAoZm9rdXNUcmFwQWt0aXZpZXJlbiBpbiB1aV9kaWFsb2cuanMpIOKAlCBkZXIgc2NobGll +c3N0IGRhbm4KICAgICAgICAgICAgLy8gbnVyIGRhcyBvYmVyc3RlIE92ZXJsYXkgaW0gU3RhY2sg +KExJRk8pLiBIaWVyIGtlaW4KICAgICAgICAgICAgLy8gbW9kYWxTY2hsaWVzc2VuLUF1ZnJ1ZiBt +ZWhyLCBzb25zdCB3dWVyZGVuIGJlaWRlIEhhbmRsZXIKICAgICAgICAgICAgLy8gZG9wcGVsdCBm +ZXVlcm4gKENvbmZpcm0genUgKyBIYXVwdG1vZGFsIHp1KS4KICAgICAgICAgICAgaWYgKGUua2V5 +ID09PSAnRXNjYXBlJykgZWRpdG9yU2NobGllc3NlbigpOwogICAgICAgIH0pOwoKICAgICAgICAv +LyBIZXV0ZS1CbG9jayBsaW5rcyBvYmVuIChlcnNldHp0IGRpZSBhbHRlIFRvb2xiYXIpCiAgICAg +ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J0bi1oZXV0ZScpLmFkZEV2ZW50TGlzdGVuZXIo +J2NsaWNrJywgenVtSGV1dGlnZW5EYXR1bSk7CiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 +SWQoJ2J0bi1zY2hpY2h0dGVhbScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgc2NoaWNodFRl +YW1Nb2RhbE9lZmZuZW4pOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tdGhl +bWUnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoZW1lVW1zY2hhbHRlbik7CiAgICAgICAg +ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J0bi1pbmZvJykuYWRkRXZlbnRMaXN0ZW5lcignY2xp +Y2snLCBpbmZvRmVuc3RlclplaWdlbik7CiAgICAgICAgdmFyIGJ0bkJ1ZyA9IGRvY3VtZW50Lmdl +dEVsZW1lbnRCeUlkKCdidG4tYnVncmVwb3J0Jyk7CiAgICAgICAgaWYgKGJ0bkJ1ZykgYnRuQnVn +LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgYnVnUmVwb3J0TW9kYWxPZWZmbmVuKTsKCiAgICAg +ICAgLy8gSGlud2Vpcy1TeXN0ZW06IEtsaWNrIGF1ZiBCYWRnZSBPREVSIFVzZXItTmFtZW4gb2Vm +Zm5ldCBkaWUKICAgICAgICAvLyBIaW53ZWlzLU1vZGFsLUxpc3RlLiBOdXIgZnVlciBTVS9HZXNh +bXR2ZXJhbnR3b3J0bGljaGUgYWt0aXYsCiAgICAgICAgLy8gZGFtaXQgbm9ybWFsZSBVc2VyIGR1 +cmNoIHZlcnNlaGVudGxpY2hlcyBLbGlja2VuIG5pY2h0cyBlcmxlYmVuLgogICAgICAgIChmdW5j +dGlvbigpIHsKICAgICAgICAgICAgZnVuY3Rpb24gb2VmZm5lbigpIHsKICAgICAgICAgICAgICAg +IGlmIChoaW53ZWlzZVNpY2h0YmFyKCkpIGhpbndlaXNlTW9kYWxPZWZmbmVuKCk7CiAgICAgICAg +ICAgIH0KICAgICAgICAgICAgdmFyIGJFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdoaW53 +ZWlzLWJhZGdlJyk7CiAgICAgICAgICAgIGlmIChiRWwpIHsKICAgICAgICAgICAgICAgIGJFbC5h +ZGRFdmVudExpc3RlbmVyKCdjbGljaycsIG9lZmZuZW4pOwogICAgICAgICAgICAgICAgYkVsLmFk +ZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAg +ICAgaWYgKGUua2V5ID09PSAnRW50ZXInIHx8IGUua2V5ID09PSAnICcpIHsgZS5wcmV2ZW50RGVm +YXVsdCgpOyBvZWZmbmVuKCk7IH0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAg +ICAgICAgICAgIHZhciB1RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmVudXR6ZXItYW56 +ZWlnZScpOwogICAgICAgICAgICBpZiAodUVsKSB1RWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2sn +LCBvZWZmbmVuKTsKICAgICAgICAgICAgLy8gVG9wYmFyLUF2YXRhcjogS2xpY2sgb2VmZm5ldCAi +TWVpbiBQcm9maWwiLU1vZGFsIG1pdCBCaWxkLVVwbG9hZAogICAgICAgICAgICB2YXIgYXZCdG4g +PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWVpbi1hdmF0YXItYnRuJyk7CiAgICAgICAgICAg +IGlmIChhdkJ0bikgewogICAgICAgICAgICAgICAgYXZCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xp +Y2snLCBtZWluUHJvZmlsTW9kYWxPZWZmbmVuKTsKICAgICAgICAgICAgICAgIGF2QnRuLmFkZEV2 +ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAg +aWYgKGUua2V5ID09PSAnRW50ZXInIHx8IGUua2V5ID09PSAnICcpIHsgZS5wcmV2ZW50RGVmYXVs +dCgpOyBtZWluUHJvZmlsTW9kYWxPZWZmbmVuKCk7IH0KICAgICAgICAgICAgICAgIH0pOwogICAg +ICAgICAgICB9CiAgICAgICAgfSkoKTsKCiAgICAgICAgLy8gUGVycy4gUGxhbjogUGVyc29uIHdl +Y2hzZWxuCiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BwLXBlcnNvbi1hdXN3YWhs +JykuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgcHBSZW5kZXJuKTsKICAgICAgICBkb2N1bWVu +dC5nZXRFbGVtZW50QnlJZCgncHAtZHJ1Y2tlbicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywg +ZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIC8vIERydWNrLU1vZHVzIGFuYWxvZyB6dW0gV29jaGVu +cGxhbjogYm9keS1DbGFzcyBzZXR6dCBkYXMgQG1lZGlhLXByaW50LUxheW91dAogICAgICAgICAg +ICAvLyAoSGVhZGVyL1Rvb2xiYXIvVGFicyBhdXMsIGFsbGUgMTIgTW9uYXRlIGF1ZiBlaW5lciBB +NC1RdWVyc2VpdGUpLgogICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ2Ry +dWNrZW4tcGVyc3BsYW4nKTsKICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAg +ICAgICAgICAgICAgIHdpbmRvdy5wcmludCgpOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChm +dW5jdGlvbigpIHsgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdkcnVja2VuLXBlcnNw +bGFuJyk7IH0sIDUwMCk7CiAgICAgICAgICAgIH0sIDUwKTsKICAgICAgICB9KTsKCiAgICAgICAg +Ly8gS29tbWVudGFyLUVkaXRvciAoU3R1ZmUgMik6IFZlcmxhdWZzbGlzdGUgb2JlbiArIEVpbmdh +YmVmZWxkIHVudGVuLgogICAgICAgIC8vICJIaW56dWZ1ZWdlbiIgaGFlbmd0IGVpbmVuIG5ldWVu +IEtvbW1lbnRhciBhbiBkaWUgTGlzdGUgYW4gc3RhdHQKICAgICAgICAvLyBkZW4gdm9yaGFuZGVu +ZW4genUgdWViZXJzY2hyZWliZW4uIExvZXNjaC1JY29ucyBpbm5lcmhhbGIgZGVyCiAgICAgICAg +Ly8gVmVybGF1ZnNsaXN0ZSBzaW5kIG51ciBmdWVyIFNVL0dlc2FtdHZlcmFudHdvcnRsaWNoZSBz +aWNodGJhcgogICAgICAgIC8vIChzaWVoZSBlZGl0b3JLb21tZW50YXJWZXJsYXVmUmVuZGVybigp +IC8gZGFyZktvbW1lbnRhckxvZXNjaGVuKCkpLgogICAgICAgIHZhciBpbnB1dEVsID0gZG9jdW1l +bnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXRvci1rb21tZW50YXItaW5wdXQnKTsKICAgICAgICB2YXIg +YnRuSGluenUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnRuLWtvbW1lbnRhci1oaW56dScp +OwogICAgICAgIGZ1bmN0aW9uIGtvbW1lbnRhckhpbnp1Vm9tRWRpdG9yKCkgewogICAgICAgICAg +ICBpZiAoIWVkaXRvckFrdGl2KCkpIHJldHVybjsKICAgICAgICAgICAgdmFyIHRleHQgPSBpbnB1 +dEVsLnZhbHVlLnRyaW0oKTsKICAgICAgICAgICAgaWYgKCF0ZXh0KSByZXR1cm47CiAgICAgICAg +ICAgIGtvbW1lbnRhckhpbnp1ZnVlZ2VuKGVkaXRvckRhdHVtKCksIGVkaXRvclBlcnNvbklkKCks +IHRleHQsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgZWRpdG9yS29tbWVudGFyVmVybGF1 +ZlJlbmRlcm4oKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGlucHV0RWwudmFsdWUgPSAn +JzsKICAgICAgICAgICAgLy8gT3B0aW1pc3Rpc2NoZSBzb2ZvcnRpZ2UgUmUtUmVuZGVyIChTZXJ2 +ZXItQW50d29ydCBrb21tdCBhc3luY2hyb24pLgogICAgICAgICAgICBlZGl0b3JLb21tZW50YXJW +ZXJsYXVmUmVuZGVybigpOwogICAgICAgIH0KICAgICAgICBidG5IaW56dS5hZGRFdmVudExpc3Rl +bmVyKCdjbGljaycsIGtvbW1lbnRhckhpbnp1Vm9tRWRpdG9yKTsKICAgICAgICBpbnB1dEVsLmFk +ZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIC8vIEVu +dGVyIGltIEVpbmdhYmVmZWxkIC0+IGRpcmVrdCBhbmhhZW5nZW4gKGtlaW4gRm9ybS1TdWJtaXQs +IGRhaGVyCiAgICAgICAgICAgIC8vIGV4cGxpeml0IHZlcmRyYWh0ZXQpLgogICAgICAgICAgICBp +ZiAoZS5rZXkgPT09ICdFbnRlcicpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyBrb21tZW50YXJIaW56 +dVZvbUVkaXRvcigpOyB9CiAgICAgICAgfSk7CiAgICAgICAgLy8gTG9lc2NoLUljb24tRGVsZWdh +dGlvbiBhdWYgZGVuIFZlcmxhdWYtQ29udGFpbmVyIOKAlCBFaW50cmFlZ2Ugd2VyZGVuCiAgICAg +ICAgLy8gYmVpIGplZGVtIFJlcmVuZGVyIG5ldSBlcnpldWd0LCBlaW56ZWxuZSBMaXN0ZW5lciB3 +dWVyZGVuIHZlcmdlc3Nlbi4KICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWRpdG9y +LWtvbW1lbnRhci12ZXJsYXVmJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihl +KSB7CiAgICAgICAgICAgIHZhciBidG4gPSBlLnRhcmdldC5jbG9zZXN0KCcuZWt2LWxvZXNjaGVu +Jyk7CiAgICAgICAgICAgIGlmICghYnRuIHx8ICFlZGl0b3JBa3RpdigpKSByZXR1cm47CiAgICAg +ICAgICAgIHZhciBraWQgPSBidG4uZ2V0QXR0cmlidXRlKCdkYXRhLWlkJyk7CiAgICAgICAgICAg +IGlmICgha2lkKSByZXR1cm47CiAgICAgICAgICAgIGJlc3RhZXRpZ2VuKCdEaWVzZW4gS29tbWVu +dGFyIHdpcmtsaWNoIGzDtnNjaGVuPyBEaWUgQWt0aW9uIHdpcmQgaW0gTG9nYnVjaCBwcm90b2tv +bGxpZXJ0LicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAga29tbWVudGFyTG9lc2NoZW4o +ZWRpdG9yRGF0dW0oKSwgZWRpdG9yUGVyc29uSWQoKSwga2lkLCBmdW5jdGlvbihvaykgewogICAg +ICAgICAgICAgICAgICAgIGlmIChvaykgZWRpdG9yS29tbWVudGFyVmVybGF1ZlJlbmRlcm4oKTsK +ICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9LCB7IGphRGFuZ2VyOiB0cnVlLCBqYVRl +eHQ6ICdMw7ZzY2hlbicgfSk7CiAgICAgICAgfSk7CgogICAgICAgIC8vIFBlcnNvbi1Ib3Zlci1Q +b3BvdmVyOiB6ZWlndCBTdGFtbWRhdGVuICsgMTQtVGFnZS1TY2hpY2h0dm9yc2NoYXUKICAgICAg +ICAvLyBiZWltIEhvdmVyIHVlYmVyIE5hbWVuIGluIFBsYW51bmcgLyBQZXJzb25hbHZlcndhbHR1 +bmcgLyBXb2NoZW5wbGFuLgogICAgICAgIC8vIEtsaWNrIGF1ZiBkZW4gTmFtZW4gb2VmZm5ldCB3 +ZWl0ZXJoaW4gZGFzIGpld2VpbGlnZSBNb2RhbC4KICAgICAgICBmdW5jdGlvbiBwcF9wZXJzb25J +ZEF1c0V2ZW50KGV2KSB7CiAgICAgICAgICAgIC8vIFJlaWhlbmZvbGdlOiB6dWVyc3Qgc3Blemlm +aXNjaGUgU2VsZWt0b3JlbiAobWl0IGRhdGEtaWQgYXVmCiAgICAgICAgICAgIC8vIGVpbmVtIElu +bmVyLVNwYW4pLCBkYW5uIGdlbmVyaXNjaGUgLm5hbWVuLXplaWxlLUNvbnRhaW5lci4KICAgICAg +ICAgICAgdmFyIGVsID0KICAgICAgICAgICAgICAgIGV2LnRhcmdldC5jbG9zZXN0KCcucGVyc29u +LW5hbWUtbGlua1tkYXRhLWlkXScpIHx8CiAgICAgICAgICAgICAgICBldi50YXJnZXQuY2xvc2Vz +dCgnLndwLW5hbWVbZGF0YS1wZXJzb24taWRdJykgfHwKICAgICAgICAgICAgICAgIGV2LnRhcmdl +dC5jbG9zZXN0KCcubmFtZW4temVpbGVbZGF0YS1wZXJzb24taWRdJyk7CiAgICAgICAgICAgIGlm +ICghZWwpIHJldHVybiBudWxsOwogICAgICAgICAgICByZXR1cm4geyBpZDogZWwuZ2V0QXR0cmli +dXRlKCdkYXRhLWlkJykgfHwgZWwuZ2V0QXR0cmlidXRlKCdkYXRhLXBlcnNvbi1pZCcpLCBhbmtl +cjogZWwgfTsKICAgICAgICB9CiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91 +c2VvdmVyJywgZnVuY3Rpb24oZXYpIHsKICAgICAgICAgICAgdmFyIGhpdCA9IHBwX3BlcnNvbklk +QXVzRXZlbnQoZXYpOwogICAgICAgICAgICBpZiAoaGl0KSBwZXJzb25Qb3BvdmVyWmVpZ2VuKGhp +dC5pZCwgaGl0LmFua2VyKTsKICAgICAgICB9KTsKICAgICAgICBkb2N1bWVudC5hZGRFdmVudExp +c3RlbmVyKCdtb3VzZW91dCcsIGZ1bmN0aW9uKGV2KSB7CiAgICAgICAgICAgIHZhciBoaXQgPSBw +cF9wZXJzb25JZEF1c0V2ZW50KGV2KTsKICAgICAgICAgICAgaWYgKCFoaXQpIHJldHVybjsKICAg +ICAgICAgICAgLy8gV2VubiBNYXVzIGF1ZiBlaW5lIGFuZGVyZSBQZXJzb24tVHJpZ2dlci1aZWxs +ZSBnbGVpdGV0LCBOSUNIVAogICAgICAgICAgICAvLyB2ZXJzdGVja2VuIOKAlCBkZXIgbW91c2Vv +dmVyLUhhbmRsZXIgemVpY2huZXQgZWluZmFjaCBuZXUuCiAgICAgICAgICAgIHZhciByZWwgPSBl +di5yZWxhdGVkVGFyZ2V0OwogICAgICAgICAgICBpZiAocmVsICYmIHJlbC5jbG9zZXN0ICYmICgK +ICAgICAgICAgICAgICAgIHJlbC5jbG9zZXN0KCcucGVyc29uLW5hbWUtbGlua1tkYXRhLWlkXScp +IHx8CiAgICAgICAgICAgICAgICByZWwuY2xvc2VzdCgnLndwLW5hbWVbZGF0YS1wZXJzb24taWRd +JykgfHwKICAgICAgICAgICAgICAgIHJlbC5jbG9zZXN0KCcubmFtZW4temVpbGVbZGF0YS1wZXJz +b24taWRdJykgfHwKICAgICAgICAgICAgICAgIHJlbC5jbG9zZXN0KCcjdmkzLXBlcnNvbi1wb3Bv +dmVyJykKICAgICAgICAgICAgKSkgcmV0dXJuOwogICAgICAgICAgICBwZXJzb25Qb3BvdmVyVmVy +c3RlY2tlbigpOwogICAgICAgIH0pOwogICAgICAgIC8vIFBvcG92ZXIgc2VsYnN0IHNvbGx0ZSBi +ZWltIEhvdmVyLUluIG5pY2h0IGF1c2JsZW5kZW4gKFVzZXIgZGFyZgogICAgICAgIC8vIGhpbmVp +bmtsaWNrZW4sIHouQi4gdW0gVGV4dCB6dSBrb3BpZXJlbikuCiAgICAgICAgdmFyIHBwRWwgPSBk +b2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmkzLXBlcnNvbi1wb3BvdmVyJyk7CiAgICAgICAgaWYg +KHBwRWwpIHsKICAgICAgICAgICAgcHBFbC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywg +ZnVuY3Rpb24oKSB7IC8qIHplaWdlVGltZXIgZWggaW5ha3RpdiAqLyB9KTsKICAgICAgICAgICAg +cHBFbC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgcGVyc29uUG9wb3ZlclZlcnN0ZWNr +ZW4pOwogICAgICAgIH0KICAgICAgICAvLyBLb21tZW50YXItUG9wb3ZlciBhbmFsb2c6IEhvdmVy +LUluIGhhZWx0IG9mZmVuLCBIb3Zlci1PdXQgc2NobGllc3N0CiAgICAgICAgLy8gbWl0IGt1cnpl +ciBWZXJ6b2VnZXJ1bmcg4oCUIFVzZXIgc29sbCBaZWl0IGhhYmVuLCB1ZWJlciBkaWUgWmVsbGUg +PC0+CiAgICAgICAgLy8gUG9wb3Zlci1CcnVlY2tlIHp1IHdhbmRlcm4gdW5kIFRleHQgenUga29w +aWVyZW4uCiAgICAgICAgdmFyIGtwRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmkzLWtv +bW1lbnRhci1wb3BvdmVyJyk7CiAgICAgICAgaWYgKGtwRWwpIHsKICAgICAgICAgICAga3BFbC5h +ZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywga29tbWVudGFyUG9wb3ZlckZlc3RoYWx0ZW4p +OwogICAgICAgICAgICBrcEVsLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBrb21tZW50 +YXJQb3BvdmVyVmVyc3RlY2tlbik7CiAgICAgICAgfQoKICAgICAgICAvLyBNb2RhbAogICAgICAg +IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbC1zY2hsaWVzc2VuLWJ0bicpLmFkZEV2ZW50 +TGlzdGVuZXIoJ2NsaWNrJywgbW9kYWxTY2hsaWVzc2VuKTsKICAgICAgICBkb2N1bWVudC5nZXRF +bGVtZW50QnlJZCgnbW9kYWwtb3ZlcmxheScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVu +Y3Rpb24oZSkgewogICAgICAgICAgICAvLyBRdWljay1XaW4gbmFjaCBVWC1BdWRpdCAoMjAyNi0w +NS0yOSk6IGRhdGEtbm8tY2xvc2UgcmVzcGVrdGllcmVuLAogICAgICAgICAgICAvLyBkYW1pdCBN +b2RhbHMgd2llIGRhcyBFeGNlbC1JbXBvcnQtUHJvZ3Jlc3MgKGxhZXVmdCwgZGFyZiBuaWNodAog +ICAgICAgICAgICAvLyBhYmdlYnJvY2hlbiB3ZXJkZW4pIG5pY2h0IGR1cmNoIHZlcnNlaGVudGxp +Y2hlbiBCYWNrZHJvcC1LbGljawogICAgICAgICAgICAvLyBzY2hsaWVzc2VuLiBEYXMgQXR0cmli +dXQgd2lyZCB2b20gQXVmcnVmZXIgZ2VzZXR6dCArIGluCiAgICAgICAgICAgIC8vIG1vZGFsU2No +bGllc3NlbiB3aWVkZXIgZ2VyYWV1bXQuCiAgICAgICAgICAgIGlmIChlLnRhcmdldCA9PT0gdGhp +cyAmJiB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1uby1jbG9zZScpICE9PSAnMScpIG1vZGFsU2No +bGllc3NlbigpOwogICAgICAgIH0pOwoKICAgICAgICAvLyBHZWJ1cnRzdGFnLU1vZGFsOiBLbGlj +ayBhdWYgZWluZW4gVGFnL01vbmF0L0phaHItQnV0dG9uLiBFdmVudC0KICAgICAgICAvLyBEZWxl +Z2F0aW9uIGF1ZiBtb2RhbC1vdmVybGF5LCB3ZWlsIGRlciBJbmhhbHQgYmVpIGplZGVtIEtsaWNr +CiAgICAgICAgLy8gbmV1IGdlcmVuZGVydCB3aXJkIChpbm5lckhUTUwgYXVmICNnYi1tb2RhbC1p +bmhhbHQpLgogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbC1vdmVybGF5Jyku +YWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciBi +dG4gPSBlLnRhcmdldC5jbG9zZXN0KCcuZ2ItYnRuJyk7CiAgICAgICAgICAgIGlmICghYnRuKSBy +ZXR1cm47CiAgICAgICAgICAgIHZhciB0eXAgPSBidG4uZ2V0QXR0cmlidXRlKCdkYXRhLWdiLXR5 +cCcpOwogICAgICAgICAgICB2YXIgd2VydCA9IHBhcnNlSW50KGJ0bi5nZXRBdHRyaWJ1dGUoJ2Rh +dGEtZ2Itd2VydCcpLCAxMCk7CiAgICAgICAgICAgIGdlYnVydHN0YWdNb2RhbEtsaWNrKHR5cCwg +d2VydCk7CiAgICAgICAgfSk7CgogICAgfQoKICAgIGZ1bmN0aW9uIGFkbWluTGlzdGVuZXJFaW5y +aWNodGVuKCkgewogICAgICAgIC8vID09PT09IEFkbWluIEV2ZW50cyA9PT09PQoKICAgICAgICBk +b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnRuLXBlcnNvbi1uZXUnKS5hZGRFdmVudExpc3RlbmVy +KCdjbGljaycsIHBlcnNvbk5ldURpYWxvZyk7CiAgICAgICAgdmFyIGJ0blNvcnQgPSBkb2N1bWVu +dC5nZXRFbGVtZW50QnlJZCgnYnRuLW1hbnVlbGxlLXNvcnRpZXJ1bmcnKTsKICAgICAgICBpZiAo +YnRuU29ydCkgYnRuU29ydC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIG1hbnVlbGxlU29ydGll +cnVuZ0RpYWxvZyk7CgogICAgICAgIC8vIEVpbmZhY2gtS2xpY2sgYXVmIGlubGluZS1tYXJraWVy +dGUgRGF0ZW4tWmVsbGVuLiBCdXR0b25zIGluIGRlcnNlbGJlbgogICAgICAgIC8vIFplaWxlIGhh +YmVuIGRhdGEtYWt0aW9uICsgd2VyZGVuIGltIHp3ZWl0ZW4gQ2xpY2stSGFuZGxlciBhdXNnZXdl +cnRldCwKICAgICAgICAvLyBkb3J0IGdld2lubnQgZGVyIEJ1dHRvbiAoZWlnZW5lciBjbG9zZXN0 +KCkgbWF0Y2gpLgogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwZXJzb25hbC10Ym9k +eScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAv +LyBXZW5uIGVpbiBBa3Rpb25zLUJ1dHRvbiBnZXRyb2ZmZW4gd2lyZCwgTklDSFQgYWxzIElubGlu +ZS1LbGljayB3ZXJ0ZW4uCiAgICAgICAgICAgIGlmIChlLnRhcmdldC5jbG9zZXN0KCdidXR0b25b +ZGF0YS1ha3Rpb25dJykpIHJldHVybjsKICAgICAgICAgICAgdmFyIGlubGluZSA9IGUudGFyZ2V0 +LmNsb3Nlc3QoJy5wZXJzb25hbC1pbmxpbmUnKTsKICAgICAgICAgICAgaWYgKCFpbmxpbmUpIHJl +dHVybjsKICAgICAgICAgICAgcGVyc29uYWxGZWxkSW5saW5lRWRpdChwYXJzZUludChpbmxpbmUu +Z2V0QXR0cmlidXRlKCdkYXRhLWlkJyksIDEwKSwgaW5saW5lKTsKICAgICAgICB9KTsKCiAgICAg +ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BlcnNvbmFsLXRib2R5JykuYWRkRXZlbnRMaXN0 +ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciByYW5nU3BhbiA9IGUu +dGFyZ2V0LmNsb3Nlc3QoJy5yYW5nLWVkaXQnKTsKICAgICAgICAgICAgaWYgKHJhbmdTcGFuKSB7 +CiAgICAgICAgICAgICAgICByYW5nSW5saW5lRWRpdChwYXJzZUludChyYW5nU3Bhbi5nZXRBdHRy +aWJ1dGUoJ2RhdGEtaWQnKSwgMTApLCByYW5nU3Bhbik7CiAgICAgICAgICAgICAgICByZXR1cm47 +CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIGZ1bmtTcGFuID0gZS50YXJnZXQuY2xvc2Vz +dCgnLmZ1bmt0aW9uLWVkaXQnKTsKICAgICAgICAgICAgaWYgKGZ1bmtTcGFuKSB7CiAgICAgICAg +ICAgICAgICBmdW5rdGlvbklubGluZUVkaXQocGFyc2VJbnQoZnVua1NwYW4uZ2V0QXR0cmlidXRl +KCdkYXRhLWlkJyksIDEwKSwgZnVua1NwYW4pOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAg +ICAgICAgICB9CiAgICAgICAgICAgIHZhciBkZ3JkU3BhbiA9IGUudGFyZ2V0LmNsb3Nlc3QoJy5k +aWVuc3RncmFkLWVkaXQnKTsKICAgICAgICAgICAgaWYgKGRncmRTcGFuKSB7CiAgICAgICAgICAg +ICAgICBkaWVuc3RncmFkSW5saW5lRWRpdChwYXJzZUludChkZ3JkU3Bhbi5nZXRBdHRyaWJ1dGUo +J2RhdGEtaWQnKSwgMTApLCBkZ3JkU3Bhbik7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAg +ICAgICAgIH0KICAgICAgICAgICAgdmFyIGVsZGdsQ2VsbCA9IGUudGFyZ2V0LmNsb3Nlc3QoJy5l +bGRnbC1lZGl0Jyk7CiAgICAgICAgICAgIGlmIChlbGRnbENlbGwpIHsKICAgICAgICAgICAgICAg +IGVsZGdsSW5saW5lVG9nZ2xlKHBhcnNlSW50KGVsZGdsQ2VsbC5nZXRBdHRyaWJ1dGUoJ2RhdGEt +aWQnKSwgMTApKTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAg +ICAgICB2YXIgYXBDZWxsID0gZS50YXJnZXQuY2xvc2VzdCgnLmFuc3ByZWNocGFydG5lci1lZGl0 +Jyk7CiAgICAgICAgICAgIGlmIChhcENlbGwpIHsKICAgICAgICAgICAgICAgIGFuc3ByZWNocGFy +dG5lcklubGluZVRvZ2dsZShwYXJzZUludChhcENlbGwuZ2V0QXR0cmlidXRlKCdkYXRhLWlkJyks +IDEwKSk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAg +dmFyIGlwQ2VsbCA9IGUudGFyZ2V0LmNsb3Nlc3QoJy5pbnBsYW51bmctZWRpdCcpOwogICAgICAg +ICAgICBpZiAoaXBDZWxsKSB7CiAgICAgICAgICAgICAgICBpblBsYW51bmdJbmxpbmVUb2dnbGUo +cGFyc2VJbnQoaXBDZWxsLmdldEF0dHJpYnV0ZSgnZGF0YS1pZCcpLCAxMCkpOwogICAgICAgICAg +ICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBuYW1lTGluayA9IGUu +dGFyZ2V0LmNsb3Nlc3QoJy5wZXJzb24tbmFtZS1saW5rJyk7CiAgICAgICAgICAgIGlmIChuYW1l +TGluaykgewogICAgICAgICAgICAgICAgcGVyc29uQmVhcmJlaXRlbkRpYWxvZyhwYXJzZUludChu +YW1lTGluay5nZXRBdHRyaWJ1dGUoJ2RhdGEtaWQnKSwgMTApKTsKICAgICAgICAgICAgICAgIHJl +dHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgYnRuID0gZS50YXJnZXQuY2xvc2Vz +dCgnYnV0dG9uJyk7CiAgICAgICAgICAgIGlmICghYnRuKSByZXR1cm47CiAgICAgICAgICAgIHZh +ciBpZCA9IHBhcnNlSW50KGJ0bi5nZXRBdHRyaWJ1dGUoJ2RhdGEtaWQnKSk7CiAgICAgICAgICAg +IHZhciBha3Rpb24gPSBidG4uZ2V0QXR0cmlidXRlKCdkYXRhLWFrdGlvbicpOwogICAgICAgICAg +ICBpZiAoYWt0aW9uID09PSAnYmVhcmJlaXRlbicpIHBlcnNvbkJlYXJiZWl0ZW5EaWFsb2coaWQp +OwogICAgICAgICAgICBlbHNlIGlmIChha3Rpb24gPT09ICdwZXJzb24tdGVzdGVuJykgaW1wZXJz +b25hdGVQZXJzb24oaWQpOwogICAgICAgICAgICBlbHNlIGlmIChha3Rpb24gPT09ICdlbWFpbCcp +IHBlcnNvbkVtYWlsRGlhbG9nKGlkKTsKICAgICAgICAgICAgZWxzZSBpZiAoYWt0aW9uID09PSAn +dW1zZXR6ZW4nKSB7CiAgICAgICAgICAgICAgICBiZXN0YWV0aWdlbignUGVyc29uIGF1cyBkZXIg +UGxhbnVuZyBlbnRmZXJuZW4/IEJlc3RlaGVuZGUgRWludHLDpGdlIGJsZWliZW4gZXJoYWx0ZW4g +dW5kIGvDtm5uZW4gcGVyIOKAnlVtZ2VzZXR6dGUgZWluYmxlbmRlbiIgd2llZGVyIHNpY2h0YmFy +IGdlbWFjaHQgd2VyZGVuLicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHBlcnNv +blN0YXR1c1NldHplbihpZCwgZmFsc2UpOwogICAgICAgICAgICAgICAgfSwgeyB0aXRlbDogJ1Bl +cnNvbiB1bXNldHplbicsIGphVGV4dDogJ1Vtc2V0emVuJyB9KTsKICAgICAgICAgICAgfSBlbHNl +IGlmIChha3Rpb24gPT09ICdyZWFrdGl2aWVyZW4nKSB7CiAgICAgICAgICAgICAgICBwZXJzb25T +dGF0dXNTZXR6ZW4oaWQsIHRydWUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIFBhcGll +cmtvcmItTGlmZWN5Y2xlIChDaGVycnktUGljayAzMDA5ZWE4LCBoaW50ZXIgVG9nZ2xlIGBmZWF0 +dXJlcy5wYXBpZXJrb3JiVUlgKS4KICAgICAgICAgICAgZWxzZSBpZiAoYWt0aW9uID09PSAnaW4t +cGFwaWVya29yYicpIHsKICAgICAgICAgICAgICAgIHZhciB0YWdlID0gWi5hZG1pbi5wYXBpZXJr +b3JiVGFnZUF1ZmJld2FocnVuZyAhPSBudWxsID8gWi5hZG1pbi5wYXBpZXJrb3JiVGFnZUF1ZmJl +d2FocnVuZyA6IDMwOwogICAgICAgICAgICAgICAgYmVzdGFldGlnZW4oJ1BlcnNvbiBpbiBkZW4g +UGFwaWVya29yYiB2ZXJzY2hpZWJlbj9cblxuU2llIHdpcmQgbmFjaCAnICsgdGFnZSArICcgVGFn +ZW4gYXV0b21hdGlzY2ggZW5kZ8O8bHRpZyBnZWzDtnNjaHQuIEJpcyBkYWhpbiBrYW5uIHNpZSB3 +aWVkZXJoZXJnZXN0ZWxsdCB3ZXJkZW4uJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAg +ICAgYXBpRGVsZXRlKCcvYXBpL3BlcnNvbmVuLycgKyBpZCkudGhlbihmdW5jdGlvbigpIHsKICAg +ICAgICAgICAgICAgICAgICAgICAgdmFyIHAgPSBaLnBsYW51bmcucGVyc29uZW4uZmluZChmdW5j +dGlvbih4KSB7IHJldHVybiB4LmlkID09PSBpZDsgfSk7CiAgICAgICAgICAgICAgICAgICAgICAg +IGlmIChwKSBwLmdlbG9lc2NodEFtID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpOwogICAgICAg +ICAgICAgICAgICAgICAgICBwZXJzb25lbk5ldUF1ZmJhdWVuKCk7CiAgICAgICAgICAgICAgICAg +ICAgICAgIHBlcnNvbmFsVGFiZWxsZVJlbmRlcm4oKTsKICAgICAgICAgICAgICAgICAgICAgICAg +aWYgKHR5cGVvZiBuYW1lblJlbmRlcm4gPT09ICdmdW5jdGlvbicpIHsgbmFtZW5SZW5kZXJuKCk7 +IGRhdGVuR3JpZFJlbmRlcm4oKTsga29wZlJlbmRlcm4oKTsgfQogICAgICAgICAgICAgICAgICAg +ICAgICB0b2FzdCgnUGVyc29uIGluIFBhcGllcmtvcmIgdmVyc2Nob2JlbicsICdlcmZvbGcnKTsK +ICAgICAgICAgICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlKSB7IHRvYXN0KCdGZWhsZXI6 +ICcgKyBlLm1lc3NhZ2UsICdmZWhsZXInKTsgfSk7CiAgICAgICAgICAgICAgICB9LCB7IHRpdGVs +OiAnSW4gUGFwaWVya29yYicsIGphVGV4dDogJ0luIFBhcGllcmtvcmInLCBqYURhbmdlcjogdHJ1 +ZSB9KTsKICAgICAgICAgICAgfSBlbHNlIGlmIChha3Rpb24gPT09ICd3aWVkZXJoZXJzdGVsbGVu +JykgewogICAgICAgICAgICAgICAgYXBpUHV0KCcvYXBpL3BlcnNvbmVuLycgKyBpZCwgeyBnZWxv +ZXNjaHRBbTogbnVsbCwgYWt0aXY6IHRydWUgfSkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAg +ICAgICAgICAgICB2YXIgcCA9IFoucGxhbnVuZy5wZXJzb25lbi5maW5kKGZ1bmN0aW9uKHgpIHsg +cmV0dXJuIHguaWQgPT09IGlkOyB9KTsKICAgICAgICAgICAgICAgICAgICBpZiAocCkgeyBwLmdl +bG9lc2NodEFtID0gbnVsbDsgcC5ha3RpdiA9IHRydWU7IH0KICAgICAgICAgICAgICAgICAgICBw +ZXJzb25lbk5ldUF1ZmJhdWVuKCk7CiAgICAgICAgICAgICAgICAgICAgcGVyc29uYWxUYWJlbGxl +UmVuZGVybigpOwogICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgbmFtZW5SZW5kZXJuID09 +PSAnZnVuY3Rpb24nKSB7IG5hbWVuUmVuZGVybigpOyBkYXRlbkdyaWRSZW5kZXJuKCk7IGtvcGZS +ZW5kZXJuKCk7IH0KICAgICAgICAgICAgICAgICAgICB0b2FzdCgnUGVyc29uIHdpZWRlcmhlcmdl +c3RlbGx0JywgJ2VyZm9sZycpOwogICAgICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZSkg +eyB0b2FzdCgnRmVobGVyOiAnICsgZS5tZXNzYWdlLCAnZmVobGVyJyk7IH0pOwogICAgICAgICAg +ICB9IGVsc2UgaWYgKGFrdGlvbiA9PT0gJ2VuZGd1ZWx0aWctbG9lc2NoZW4nKSB7CiAgICAgICAg +ICAgICAgICBiZXN0YWV0aWdlbignUGVyc29uIEVOREfDnExUSUcgbMO2c2NoZW4/XG5cbkVpbnRy +w6RnZSBpbiBkZXIgUGxhbnVuZyB2ZXJ3YWlzZW4gKGJsZWliZW4gYWJlciB0ZWNobmlzY2ggZXJo +YWx0ZW4pLiBMb2didWNoLSB1bmQgU3RhdGlzdGlrLUhpc3RvcmllIGJsZWliZW4gc2ljaHRiYXIu +IERpZXNlIEFrdGlvbiBrYW5uIG5pY2h0IHLDvGNrZ8OkbmdpZyBnZW1hY2h0IHdlcmRlbi4nLCBm +dW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBhcGlEZWxldGUoJy9hcGkvcGVyc29uZW4v +JyArIGlkICsgJz9lbmRndWVsdGlnPTEnKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAg +ICAgICAgICAgICBaLnBsYW51bmcucGVyc29uZW4gPSAoWi5wbGFudW5nLnBlcnNvbmVuIHx8IFtd +KS5maWx0ZXIoZnVuY3Rpb24oeCkgeyByZXR1cm4geC5pZCAhPT0gaWQ7IH0pOwogICAgICAgICAg +ICAgICAgICAgICAgICBwZXJzb25lbk5ldUF1ZmJhdWVuKCk7CiAgICAgICAgICAgICAgICAgICAg +ICAgIHBlcnNvbmFsVGFiZWxsZVJlbmRlcm4oKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYg +KHR5cGVvZiBuYW1lblJlbmRlcm4gPT09ICdmdW5jdGlvbicpIHsgbmFtZW5SZW5kZXJuKCk7IGRh +dGVuR3JpZFJlbmRlcm4oKTsga29wZlJlbmRlcm4oKTsgfQogICAgICAgICAgICAgICAgICAgICAg +ICB0b2FzdCgnUGVyc29uIGVuZGfDvGx0aWcgZ2Vsw7ZzY2h0JywgJ2VyZm9sZycpOwogICAgICAg +ICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsgdG9hc3QoJ0ZlaGxlcjogJyArIGUu +bWVzc2FnZSwgJ2ZlaGxlcicpOyB9KTsKICAgICAgICAgICAgICAgIH0sIHsgdGl0ZWw6ICdFbmRn +w7xsdGlnIGzDtnNjaGVuJywgamFUZXh0OiAnRW5kZ8O8bHRpZyBsw7ZzY2hlbicsIGphRGFuZ2Vy +OiB0cnVlIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CgogICAgICAgIHZhciBmaWx0ZXJD +aGsgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWRtaW4tcGVyc29uYWwtZmlsdGVyJyk7CiAg +ICAgICAgaWYgKGZpbHRlckNoaykgZmlsdGVyQ2hrLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScs +IHBlcnNvbmFsVGFiZWxsZVJlbmRlcm4pOwogICAgICAgIHZhciBwYXBpZXJrb3JiRmlsdGVyQ2hr +ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FkbWluLXBhcGllcmtvcmItZmlsdGVyJyk7CiAg +ICAgICAgaWYgKHBhcGllcmtvcmJGaWx0ZXJDaGspIHBhcGllcmtvcmJGaWx0ZXJDaGsuYWRkRXZl +bnRMaXN0ZW5lcignY2hhbmdlJywgcGVyc29uYWxUYWJlbGxlUmVuZGVybik7CgogICAgICAgIHZh +ciB1bWdDaGsgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hrLXVtZ2VzZXR6dGUtZWluYmxl +bmRlbicpOwogICAgICAgIGlmICh1bWdDaGspIHVtZ0Noay5hZGRFdmVudExpc3RlbmVyKCdjaGFu +Z2UnLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgWi51bWdlc2V0enRlRWluYmxlbmRlbiA9IHVt +Z0Noay5jaGVja2VkOwogICAgICAgICAgICBwZXJzb25lbk5ldUF1ZmJhdWVuKCk7CiAgICAgICAg +ICAgIG5hbWVuUmVuZGVybigpOwogICAgICAgICAgICBkYXRlbkdyaWRSZW5kZXJuKCk7CiAgICAg +ICAgICAgIGtvcGZSZW5kZXJuKCk7CiAgICAgICAgfSk7CgogICAgICAgIC8vIFN0YW5kb3J0ZQog +ICAgICAgIHZhciBidG5TdE5ldSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tc3RhbmRv +cnQtbmV1Jyk7CiAgICAgICAgaWYgKGJ0blN0TmV1KSBidG5TdE5ldS5hZGRFdmVudExpc3RlbmVy +KCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICBaLmFkbWluLnN0YW5kb3J0ZSA9IFou +YWRtaW4uc3RhbmRvcnRlIHx8IFtdOwogICAgICAgICAgICBaLmFkbWluLnN0YW5kb3J0ZS5wdXNo +KHsgbmFtZTogJ05ldWVyIFN0YW5kb3J0Jywga3VlcnplbDogJycsIGlzdFBvb2w6IHRydWUgfSk7 +CiAgICAgICAgICAgIHN0YW5kb3J0ZVJlbmRlcm4oKTsKICAgICAgICB9KTsKICAgICAgICB2YXIg +c3RUYm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGFuZG9ydGUtdGJvZHknKTsKICAg +ICAgICBpZiAoc3RUYm9keSkgc3RUYm9keS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0 +aW9uKGUpIHsKICAgICAgICAgICAgdmFyIGJ0biA9IGUudGFyZ2V0LmNsb3Nlc3QoJ2J1dHRvbicp +OwogICAgICAgICAgICBpZiAoIWJ0bikgcmV0dXJuOwogICAgICAgICAgICB2YXIgaWR4ID0gcGFy +c2VJbnQoYnRuLmdldEF0dHJpYnV0ZSgnZGF0YS1pZHgnKSk7CiAgICAgICAgICAgIHZhciBha3Rp +b24gPSBidG4uZ2V0QXR0cmlidXRlKCdkYXRhLWFrdGlvbicpOwogICAgICAgICAgICBpZiAoYWt0 +aW9uID09PSAnc3RhbmRvcnQtbG9lc2NoZW4nKSB7CiAgICAgICAgICAgICAgICB2YXIgc3ROYW1l +ID0gWi5hZG1pbi5zdGFuZG9ydGVbaWR4XS5uYW1lIHx8ICcnOwogICAgICAgICAgICAgICAgYmVz +dGFldGlnZW4oJ1N0YW5kb3J0IOKAnicgKyBzdE5hbWUgKyAnIiB3aXJrbGljaCBsw7ZzY2hlbj8n +LCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBaLmFkbWluLnN0YW5kb3J0ZS5zcGxp +Y2UoaWR4LCAxKTsKICAgICAgICAgICAgICAgICAgICBzdGFuZG9ydGVSZW5kZXJuKCk7CiAgICAg +ICAgICAgICAgICB9LCB7IHRpdGVsOiAnU3RhbmRvcnQgbMO2c2NoZW4nLCBqYURhbmdlcjogdHJ1 +ZSB9KTsKICAgICAgICAgICAgfSBlbHNlIGlmIChha3Rpb24gPT09ICdzdGFuZG9ydC1yaHl0aG11 +cycpIHsKICAgICAgICAgICAgICAgIHJoeXRobXVzR2VuZXJhdG9yRGlhbG9nKGlkeCk7CiAgICAg +ICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICB2YXIgYnRuU3RTcGVpY2hlcm4gPSBkb2N1bWVu +dC5nZXRFbGVtZW50QnlJZCgnYnRuLXN0YW5kb3J0ZS1zcGVpY2hlcm4nKTsKICAgICAgICBpZiAo +YnRuU3RTcGVpY2hlcm4pIGJ0blN0U3BlaWNoZXJuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywg +ZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBkYXRlbiA9IHN0YW5kb3J0ZUF1c1RhYmVsbGVM +ZXNlbigpOwogICAgICAgICAgICBhcGlQdXQoJy9hcGkvYWRtaW4vc3RhbmRvcnRlJywgZGF0ZW4p +LnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBaLmFkbWluLnN0YW5kb3J0ZSA9IGRh +dGVuOwogICAgICAgICAgICAgICAga29wZlJlbmRlcm4oKTsKICAgICAgICAgICAgICAgIGRpcnR5 +U2V0emVuKCdzdGFuZG9ydGUnLCBmYWxzZSk7CiAgICAgICAgICAgICAgICB0YWJEcmFmdExvZXNj +aGVuKCdzdGFuZG9ydGUnKTsKICAgICAgICAgICAgICAgIHRvYXN0KCdTdGFuZG9ydGUgZ2VzcGVp +Y2hlcnQnLCAnZXJmb2xnJyk7CiAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsgdG9h +c3QoJ0ZlaGxlcjogJyArIGUubWVzc2FnZSwgJ2ZlaGxlcicpOyB9KTsKICAgICAgICB9KTsKCiAg +ICAgICAgLy8gRGllbnN0Z3J1cHBlbiDigJQgS3VlcnplbCwgQmV6ZWljaG51bmcsIEZhcmJlbi4g +QmVpIEt1ZXJ6ZWwtQWVuZGVydW5nCiAgICAgICAgLy8gd2VyZGVuIGFsbGUgUGVyc29uZW4gZGll +c2VyIEdydXBwZSBhdXRvbWF0aXNjaCB1bWdlc2NocmllYmVuCiAgICAgICAgLy8gKGNhc2NhZGUg +cmVuYW1lKS4KICAgICAgICB2YXIgYnRuR3J1TmV1ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo +J2J0bi1ncnVwcGVuLW5ldScpOwogICAgICAgIGlmIChidG5HcnVOZXUpIGJ0bkdydU5ldS5hZGRF +dmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICBaLmFkbWluLmdy +dXBwZW4gPSAoWi5hZG1pbi5ncnVwcGVuIHx8IFtdKS5zbGljZSgpOwogICAgICAgICAgICBaLmFk +bWluLmdydXBwZW4ucHVzaCh7IG5hbWU6ICcnLCBiZXplaWNobnVuZzogJycsIGhpbnRlcmdydW5k +OiAnIzU0NkU3QScsIHNjaHJpZnQ6ICcjRkZGRkZGJyB9KTsKICAgICAgICAgICAgZ3J1cHBlblRh +YmVsbGVSZW5kZXJuKCk7CiAgICAgICAgICAgIC8vIEZva3VzIGF1ZiBkYXMgZ2VyYWRlIGFuZ2Vs +ZWd0ZSBLdWVyemVsLUZlbGQKICAgICAgICAgICAgdmFyIGxldHp0ZVplaWxlID0gZG9jdW1lbnQu +cXVlcnlTZWxlY3RvcignI2dydXBwZW4tdGJvZHkgdHI6bGFzdC1jaGlsZCAuZ3J1cHBlLWt1ZXJ6 +ZWwtaW5wdXQnKTsKICAgICAgICAgICAgaWYgKGxldHp0ZVplaWxlKSBsZXR6dGVaZWlsZS5mb2N1 +cygpOwogICAgICAgIH0pOwoKICAgICAgICB2YXIgZ3J1cHBlblRib2R5ID0gZG9jdW1lbnQuZ2V0 +RWxlbWVudEJ5SWQoJ2dydXBwZW4tdGJvZHknKTsKICAgICAgICBpZiAoZ3J1cHBlblRib2R5KSBn +cnVwcGVuVGJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAg +ICAgICAgIHZhciBidG5Tb3J0ID0gZS50YXJnZXQuY2xvc2VzdCgnW2RhdGEtYWt0aW9uPSJncnVw +cGUtcmF1ZiJdLFtkYXRhLWFrdGlvbj0iZ3J1cHBlLXJ1bnRlciJdJyk7CiAgICAgICAgICAgIGlm +IChidG5Tb3J0ICYmICFidG5Tb3J0LmRpc2FibGVkKSB7CiAgICAgICAgICAgICAgICB2YXIgc29y +dElkeCA9IHBhcnNlSW50KGJ0blNvcnQuZ2V0QXR0cmlidXRlKCdkYXRhLWlkeCcpLCAxMCk7CiAg +ICAgICAgICAgICAgICB2YXIgcmF1ZiA9IGJ0blNvcnQuZ2V0QXR0cmlidXRlKCdkYXRhLWFrdGlv +bicpID09PSAnZ3J1cHBlLXJhdWYnOwogICAgICAgICAgICAgICAgdmFyIHppZWxJZHggPSByYXVm +ID8gc29ydElkeCAtIDEgOiBzb3J0SWR4ICsgMTsKICAgICAgICAgICAgICAgIHZhciBncnAgPSBa +LmFkbWluLmdydXBwZW47CiAgICAgICAgICAgICAgICBpZiAoemllbElkeCA+PSAwICYmIHppZWxJ +ZHggPCBncnAubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHRtcCA9IGdycFtzb3J0 +SWR4XTsKICAgICAgICAgICAgICAgICAgICBncnBbc29ydElkeF0gPSBncnBbemllbElkeF07CiAg +ICAgICAgICAgICAgICAgICAgZ3JwW3ppZWxJZHhdID0gdG1wOwogICAgICAgICAgICAgICAgICAg +IGdydXBwZW5UYWJlbGxlUmVuZGVybigpOwogICAgICAgICAgICAgICAgICAgIGRpcnR5U2V0emVu +KCdncnVwcGVuJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1 +cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIGJ0biA9IGUudGFyZ2V0LmNsb3Nlc3Qo +J1tkYXRhLWFrdGlvbj0iZ3J1cHBlLWxvZXNjaGVuIl0nKTsKICAgICAgICAgICAgaWYgKCFidG4g +fHwgYnRuLmRpc2FibGVkKSByZXR1cm47CiAgICAgICAgICAgIHZhciBpZHggPSBwYXJzZUludChi +dG4uZ2V0QXR0cmlidXRlKCdkYXRhLWlkeCcpLCAxMCk7CiAgICAgICAgICAgIHZhciBnciA9ICha +LmFkbWluLmdydXBwZW4gfHwgW10pW2lkeF07CiAgICAgICAgICAgIGlmICghZ3IpIHJldHVybjsK +ICAgICAgICAgICAgLy8gRG9wcGVsdGUgU2ljaGVyaGVpdDogUGVyc29uZW4tWmFlaGx1bmcgZXJu +ZXV0IHBydWVmZW4KICAgICAgICAgICAgdmFyIHphZWhsID0gZ3J1cHBlblBlcnNvbmVuWmFlaGxl +bigpOwogICAgICAgICAgICBpZiAoKHphZWhsW2dyLm5hbWVdIHx8IDApID4gMCkgewogICAgICAg +ICAgICAgICAgdG9hc3QoJ0dydXBwZSAiJyArIGdyLm5hbWUgKyAnIiBoYXQgbm9jaCAnICsgemFl +aGxbZ3IubmFtZV0gKyAnIGFrdGl2ZSBQZXJzb25lbiDigJQga2FubiBuaWNodCBnZWzDtnNjaHQg +d2VyZGVuJywgJ3dhcm51bmcnKTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAg +fQogICAgICAgICAgICBiZXN0YWV0aWdlbignRGllbnN0Z3J1cHBlICInICsgZ3IubmFtZSArICci +ICgnICsgKGdyLmJlemVpY2hudW5nIHx8ICcnKSArICcpIHdpcmtsaWNoIGzDtnNjaGVuP1xuXG5E +aWUgR3J1cHBlIHdpcmQgbmljaHQgYXVzIFBlcnNvbmVuLUVpbnRyw6RnZW4gZW50ZmVybnQsIGRp +ZSBzaWUgYmVyZWl0cyBnZW51dHp0IGhhYmVuIChha3R1ZWxsOiBrZWluZSkg4oCUIG51ciBhdXMg +ZGVyIEFkbWluLUxpc3RlLicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgWi5hZG1pbi5n +cnVwcGVuLnNwbGljZShpZHgsIDEpOwogICAgICAgICAgICAgICAgZ3J1cHBlblRhYmVsbGVSZW5k +ZXJuKCk7CiAgICAgICAgICAgICAgICB0b2FzdCgnR3J1cHBlIGxva2FsIGVudGZlcm50IOKAlCBq +ZXR6dCAiU3BlaWNoZXJuIiBkcsO8Y2tlbicsICdpbmZvJyk7CiAgICAgICAgICAgIH0sIHsgdGl0 +ZWw6ICdHcnVwcGUgbMO2c2NoZW4nLCBqYURhbmdlcjogdHJ1ZSB9KTsKICAgICAgICB9KTsKCiAg +ICAgICAgdmFyIGJ0bkdydVNwZWljaGVybiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4t +Z3J1cHBlbi1zcGVpY2hlcm4nKTsKICAgICAgICBpZiAoYnRuR3J1U3BlaWNoZXJuKSBidG5HcnVT +cGVpY2hlcm4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAg +ICAgdmFyIGt1ZXJJbnB1dHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ3J1cHBlLWt1 +ZXJ6ZWwtaW5wdXQnKTsKICAgICAgICAgICAgdmFyIGJleklucHV0cyAgPSBkb2N1bWVudC5xdWVy +eVNlbGVjdG9yQWxsKCcuZ3J1cHBlLWJlei1pbnB1dCcpOwogICAgICAgICAgICB2YXIgaGdJbnB1 +dHMgICA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5ncnVwcGUtaGctaW5wdXQnKTsKICAg +ICAgICAgICAgdmFyIHNmSW5wdXRzICAgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ3J1 +cHBlLXNmLWlucHV0Jyk7CiAgICAgICAgICAgIHZhciBuZXVlR3IgPSAoWi5hZG1pbi5ncnVwcGVu +IHx8IFtdKS5tYXAoZnVuY3Rpb24oZykgeyByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgZyk7IH0p +OwogICAgICAgICAgICB2YXIgcmVuYW1lTWFwID0ge307ICAgICAvLyBhbHRlc0t1ZXJ6ZWwgLT4g +bmV1ZXNLdWVyemVsCiAgICAgICAgICAgIHZhciBkdXBsaWNhdGVDaGVjayA9IHt9OwogICAgICAg +ICAgICB2YXIgZmVobGVyID0gbnVsbDsKCiAgICAgICAgICAgIGt1ZXJJbnB1dHMuZm9yRWFjaChm +dW5jdGlvbihpbnApIHsKICAgICAgICAgICAgICAgIGlmIChmZWhsZXIpIHJldHVybjsKICAgICAg +ICAgICAgICAgIHZhciBpZHggPSBwYXJzZUludChpbnAuZ2V0QXR0cmlidXRlKCdkYXRhLWlkeCcp +KTsKICAgICAgICAgICAgICAgIHZhciBhbHRLdWVyemVsID0gaW5wLmdldEF0dHJpYnV0ZSgnZGF0 +YS1hbHQnKTsKICAgICAgICAgICAgICAgIHZhciBuZXVLdWVyemVsID0gaW5wLnZhbHVlLnRyaW0o +KTsKICAgICAgICAgICAgICAgIGlmIChpc05hTihpZHgpIHx8ICFuZXVlR3JbaWR4XSkgcmV0dXJu +OwogICAgICAgICAgICAgICAgaWYgKCFuZXVLdWVyemVsKSB7IGZlaGxlciA9ICdLw7xyemVsIGRh +cmYgbmljaHQgbGVlciBzZWluIChaZWlsZSAnICsgKGlkeCArIDEpICsgJyknOyByZXR1cm47IH0K +ICAgICAgICAgICAgICAgIGlmIChkdXBsaWNhdGVDaGVja1tuZXVLdWVyemVsXSkgeyBmZWhsZXIg +PSAnS8O8cnplbCAiJyArIG5ldUt1ZXJ6ZWwgKyAnIiBpc3QgbWVocmZhY2ggdmVyZ2ViZW4nOyBy +ZXR1cm47IH0KICAgICAgICAgICAgICAgIGR1cGxpY2F0ZUNoZWNrW25ldUt1ZXJ6ZWxdID0gdHJ1 +ZTsKICAgICAgICAgICAgICAgIC8vIFJlbmFtZSBudXIgd2VubiBlcyBlaW4gZWNodGVzIGFsdGVz +IEt1ZXJ6ZWwgZ2FiIOKAlCBuZXVlIEdydXBwZW4gKGFsdEt1ZXJ6ZWwgPT09ICcnKQogICAgICAg +ICAgICAgICAgLy8gYnJhdWNoZW4ga2VpbmVuIENhc2NhZGUuCiAgICAgICAgICAgICAgICBpZiAo +YWx0S3VlcnplbCAmJiBuZXVLdWVyemVsICE9PSBhbHRLdWVyemVsKSByZW5hbWVNYXBbYWx0S3Vl +cnplbF0gPSBuZXVLdWVyemVsOwogICAgICAgICAgICAgICAgbmV1ZUdyW2lkeF0ubmFtZSA9IG5l +dUt1ZXJ6ZWw7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBpZiAoZmVobGVyKSB7IHRvYXN0 +KGZlaGxlciwgJ3dhcm51bmcnKTsgcmV0dXJuOyB9CgogICAgICAgICAgICBiZXpJbnB1dHMuZm9y +RWFjaChmdW5jdGlvbihpbnApIHsKICAgICAgICAgICAgICAgIHZhciBpZHggPSBwYXJzZUludChp +bnAuZ2V0QXR0cmlidXRlKCdkYXRhLWlkeCcpKTsKICAgICAgICAgICAgICAgIGlmICghaXNOYU4o +aWR4KSAmJiBuZXVlR3JbaWR4XSkgbmV1ZUdyW2lkeF0uYmV6ZWljaG51bmcgPSBpbnAudmFsdWUu +dHJpbSgpOwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgaGdJbnB1dHMuZm9yRWFjaChmdW5j +dGlvbihpbnApIHsKICAgICAgICAgICAgICAgIHZhciBpZHggPSBwYXJzZUludChpbnAuZ2V0QXR0 +cmlidXRlKCdkYXRhLWlkeCcpKTsKICAgICAgICAgICAgICAgIGlmICghaXNOYU4oaWR4KSAmJiBu +ZXVlR3JbaWR4XSkgbmV1ZUdyW2lkeF0uaGludGVyZ3J1bmQgPSBpbnAudmFsdWU7CiAgICAgICAg +ICAgIH0pOwogICAgICAgICAgICBzZklucHV0cy5mb3JFYWNoKGZ1bmN0aW9uKGlucCkgewogICAg +ICAgICAgICAgICAgdmFyIGlkeCA9IHBhcnNlSW50KGlucC5nZXRBdHRyaWJ1dGUoJ2RhdGEtaWR4 +JykpOwogICAgICAgICAgICAgICAgaWYgKCFpc05hTihpZHgpICYmIG5ldWVHcltpZHhdKSBuZXVl +R3JbaWR4XS5zY2hyaWZ0ID0gaW5wLnZhbHVlOwogICAgICAgICAgICB9KTsKICAgICAgICAgICAg +Ly8gIkluIFBsYW51bmcgc2ljaHRiYXIiLUNoZWNrYm94IGVpbmxlc2VuIChEZWZhdWx0IHRydWUp +LgogICAgICAgICAgICB2YXIgaW5wbElucHV0cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwo +Jy5ncnVwcGUtaW5wbGFudW5nLWlucHV0Jyk7CiAgICAgICAgICAgIGlucGxJbnB1dHMuZm9yRWFj +aChmdW5jdGlvbihpbnApIHsKICAgICAgICAgICAgICAgIHZhciBpZHggPSBwYXJzZUludChpbnAu +Z2V0QXR0cmlidXRlKCdkYXRhLWlkeCcpKTsKICAgICAgICAgICAgICAgIGlmICghaXNOYU4oaWR4 +KSAmJiBuZXVlR3JbaWR4XSkgbmV1ZUdyW2lkeF0uaW5QbGFudW5nID0gISFpbnAuY2hlY2tlZDsK +ICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIC8vICJBbnNwcmVjaHBhcnRuZXIgbcO2Z2xpY2gi +LUNoZWNrYm94IGVpbmxlc2VuIChEZWZhdWx0IHRydWUpLgogICAgICAgICAgICAvLyBQZW5kYW50 +IHp1ciBpblBsYW51bmctTG9naWs6IHN0ZXVlcnQsIG9iIFBlcnNvbmVuIGRpZXNlciBHcnVwcGUK +ICAgICAgICAgICAgLy8gaW0gUGVyc29uYWwtVGFiIGFscyBBbnNwcmVjaHBhcnRuZXIgbWFya2ll +cnQgd2VyZGVuIGR1ZXJmZW4KICAgICAgICAgICAgLy8gdW5kIGltIEluZm8tTW9kYWwgbWl0IE1h +aWwtQnV0dG9uIGVyc2NoZWluZW4uCiAgICAgICAgICAgIHZhciBkYXJmQXBJbnB1dHMgPSBkb2N1 +bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ3J1cHBlLWRhcmZhcC1pbnB1dCcpOwogICAgICAgICAg +ICBkYXJmQXBJbnB1dHMuZm9yRWFjaChmdW5jdGlvbihpbnApIHsKICAgICAgICAgICAgICAgIHZh +ciBpZHggPSBwYXJzZUludChpbnAuZ2V0QXR0cmlidXRlKCdkYXRhLWlkeCcpKTsKICAgICAgICAg +ICAgICAgIGlmICghaXNOYU4oaWR4KSAmJiBuZXVlR3JbaWR4XSkgbmV1ZUdyW2lkeF0uZGFyZkFu +c3ByZWNocGFydG5lciA9ICEhaW5wLmNoZWNrZWQ7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAg +ICAgdmFyIHJlbmFtZUtleXMgPSBPYmplY3Qua2V5cyhyZW5hbWVNYXApOwogICAgICAgICAgICBm +dW5jdGlvbiBuYWNoU3BlaWNoZXJuKCkgewogICAgICAgICAgICAgICAgWi5hZG1pbi5ncnVwcGVu +ID0gbmV1ZUdyOwogICAgICAgICAgICAgICAgWi5ncnVwcGVuTWFwID0ge307CiAgICAgICAgICAg +ICAgICBuZXVlR3IuZm9yRWFjaChmdW5jdGlvbihncikgewogICAgICAgICAgICAgICAgICAgIFou +Z3J1cHBlbk1hcFtnci5uYW1lXSA9IHsgaGludGVyZ3J1bmQ6IGdyLmhpbnRlcmdydW5kLCBzY2hy +aWZ0OiBnci5zY2hyaWZ0LCBiZXplaWNobnVuZzogZ3IuYmV6ZWljaG51bmcgfTsKICAgICAgICAg +ICAgICAgIH0pOwogICAgICAgICAgICAgICAgLy8gaW5QbGFudW5nLUZsYWcgKG9kZXIgVW1iZW5l +bm51bmcpIGthbm4gZGllIFNpY2h0YmFya2VpdAogICAgICAgICAgICAgICAgLy8gZ2FuemVyIEdy +dXBwZW4gdmVyYWVuZGVybiDigJQgUGVyc29uZW4tRmlsdGVyIG5ldSBncmVpZmVuCiAgICAgICAg +ICAgICAgICAvLyBsYXNzZW4gdW5kIFBsYW50YWZlbCBrb21wbGV0dCBuZXUgYXVmYmF1ZW4uCiAg +ICAgICAgICAgICAgICBwZXJzb25lbk5ldUF1ZmJhdWVuKCk7CiAgICAgICAgICAgICAgICBpZiAo +dHlwZW9mIG5hbWVuUmVuZGVybiA9PT0gJ2Z1bmN0aW9uJykgbmFtZW5SZW5kZXJuKCk7CiAgICAg +ICAgICAgICAgICBpZiAodHlwZW9mIGtvcGZSZW5kZXJuID09PSAnZnVuY3Rpb24nKSBrb3BmUmVu +ZGVybigpOwogICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBkYXRlbkdyaWRSZW5kZXJuID09PSAn +ZnVuY3Rpb24nKSBkYXRlbkdyaWRSZW5kZXJuKCk7CiAgICAgICAgICAgICAgICBwZXJzb25hbFRh +YmVsbGVSZW5kZXJuKCk7CiAgICAgICAgICAgICAgICBncnVwcGVuVGFiZWxsZVJlbmRlcm4oKTsK +ICAgICAgICAgICAgICAgIHZhciBzdWZmaXggPSByZW5hbWVLZXlzLmxlbmd0aCA/ICcgKCcgKyBy +ZW5hbWVLZXlzLmxlbmd0aCArICcgS8O8cnplbCB1bWJlbmFubnQgKyBQZXJzb25lbiBtaWdyaWVy +dCknIDogJyc7CiAgICAgICAgICAgICAgICBkaXJ0eVNldHplbignZ3J1cHBlbicsIGZhbHNlKTsK +ICAgICAgICAgICAgICAgIHRhYkRyYWZ0TG9lc2NoZW4oJ2dydXBwZW4nKTsKICAgICAgICAgICAg +ICAgIHRvYXN0KCdEaWVuc3RncnVwcGVuIGdlc3BlaWNoZXJ0JyArIHN1ZmZpeCwgJ2VyZm9sZycp +OwogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBhdXNmdWVocmVuKCkgewogICAg +ICAgICAgICAgICAgYXBpUHV0KCcvYXBpL2FkbWluJywgT2JqZWN0LmFzc2lnbih7fSwgWi5hZG1p +biwgeyBncnVwcGVuOiBuZXVlR3IgfSkpLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAg +ICAgICAgaWYgKCFyZW5hbWVLZXlzLmxlbmd0aCkgeyBuYWNoU3BlaWNoZXJuKCk7IHJldHVybjsg +fQogICAgICAgICAgICAgICAgICAgIChaLnBsYW51bmcucGVyc29uZW4gfHwgW10pLmZvckVhY2go +ZnVuY3Rpb24ocCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAocC5ncnVwcGUgJiYgcmVu +YW1lTWFwW3AuZ3J1cHBlXSkgcC5ncnVwcGUgPSByZW5hbWVNYXBbcC5ncnVwcGVdOwogICAgICAg +ICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBhcGlQdXQoJy9hcGkv +cGxhbnVuZycsIFoucGxhbnVuZykudGhlbihuYWNoU3BlaWNoZXJuKTsKICAgICAgICAgICAgICAg +IH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsgdG9hc3QoJ0ZlaGxlcjogJyArIGUubWVzc2FnZSwgJ2Zl +aGxlcicpOyB9KTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gS2Fza2FkZW4tV2FybnVu +Zzogd2VubiBLdWVyemVsIHVtYmVuYW5udCB3ZXJkZW4sIHNpbmQgQUxMRQogICAgICAgICAgICAv +LyBQZXJzb25lbiBtaXQgZGVtIGFsdGVuIEt1ZXJ6ZWwgYmV0cm9mZmVuIOKAlCB2b3JoZXIgemVp +Z2VuLAogICAgICAgICAgICAvLyB3aWUgdmllbGUgZGFzIHNpbmQsIGJldm9yIHN0aWxsc2Nod2Vp +Z2VuZCBtaWdyaWVydCB3aXJkLgogICAgICAgICAgICAvLyBiZXN0YWV0aWdlbigpIGVzY2FwdCBI +VE1MOyBtaXQgXG4gdW5kIHByZS1saW5lIHdpcmQgZGVyIEJsb2NrCiAgICAgICAgICAgIC8vIHRy +b3R6ZGVtIG1laHJ6ZWlsaWcgZGFyZ2VzdGVsbHQuCiAgICAgICAgICAgIGlmIChyZW5hbWVLZXlz +Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgdmFyIGJldHJvZmZlbiA9IDA7CiAgICAgICAgICAg +ICAgICB2YXIgZGV0YWlscyA9IHJlbmFtZUtleXMubWFwKGZ1bmN0aW9uKGFsdCkgewogICAgICAg +ICAgICAgICAgICAgIHZhciBuID0gKFoucGxhbnVuZy5wZXJzb25lbiB8fCBbXSkuZmlsdGVyKGZ1 +bmN0aW9uKHApIHsgcmV0dXJuIHAuZ3J1cHBlID09PSBhbHQ7IH0pLmxlbmd0aDsKICAgICAgICAg +ICAgICAgICAgICBiZXRyb2ZmZW4gKz0gbjsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJyAg +4oCiICcgKyBhbHQgKyAnIOKGkiAnICsgcmVuYW1lTWFwW2FsdF0gKyAnICAoJyArIG4gKyAnIFBl +cnNvbicgKyAobiA9PT0gMSA/ICcnIDogJ2VuJykgKyAnKSc7CiAgICAgICAgICAgICAgICB9KS5q +b2luKCdcbicpOwogICAgICAgICAgICAgICAgYmVzdGFldGlnZW4oCiAgICAgICAgICAgICAgICAg +ICAgJ0ZvbGdlbmRlIERpZW5zdGdydXBwZW4tS8O8cnplbCB3ZXJkZW4gdW1iZW5hbm50IOKAlCBh +bGxlIHp1Z2VvcmRuZXRlbiBQZXJzb25lbiB3ZXJkZW4gYXV0b21hdGlzY2ggbWlncmllcnQ6XG5c +bicgKwogICAgICAgICAgICAgICAgICAgIGRldGFpbHMgKwogICAgICAgICAgICAgICAgICAgICdc +blxuSW5zZ2VzYW10ICcgKyBiZXRyb2ZmZW4gKyAnIFBlcnNvbicgKyAoYmV0cm9mZmVuID09PSAx +ID8gJycgOiAnZW4nKSArICcgYmV0cm9mZmVuLicsCiAgICAgICAgICAgICAgICAgICAgYXVzZnVl +aHJlbiwKICAgICAgICAgICAgICAgICAgICB7IHRpdGVsOiAnRGllbnN0Z3J1cHBlbiB1bWJlbmVu +bmVuJywgamFUZXh0OiAnVW1zZXR6ZW4nIH0KICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAg +ICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYXVzZnVlaHJlbigpOwogICAg +ICAgIH0pOwoKICAgICAgICAvLyBFeGNlbC1JbXBvcnQKICAgICAgICB2YXIgaW1wRmlsZSA9IGRv +Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbXAtZGF0ZWknKTsKICAgICAgICBpZiAoaW1wRmlsZSkg +aW1wRmlsZS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbihlKSB7CiAgICAgICAg +ICAgIHZhciBmID0gZS50YXJnZXQuZmlsZXMgJiYgZS50YXJnZXQuZmlsZXNbMF07CiAgICAgICAg +ICAgIGlmIChmKSBpbXBEYXRlaVZlcmFyYmVpdGVuKGYpOwogICAgICAgIH0pOwoKICAgICAgICAv +LyBCZXplaWNobnVuZ2VuCiAgICAgICAgdmFyIGJ0bkJlelNwZWljaGVybiA9IGRvY3VtZW50Lmdl +dEVsZW1lbnRCeUlkKCdidG4tYmV6ZWljaG51bmdlbi1zcGVpY2hlcm4nKTsKICAgICAgICBpZiAo +YnRuQmV6U3BlaWNoZXJuKSBidG5CZXpTcGVpY2hlcm4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2sn +LCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIG1hcCA9IGJlemVpY2hudW5nZW5BdXNUYWJl +bGxlTGVzZW4oKTsKICAgICAgICAgICAgYXBpUHV0KCcvYXBpL2FkbWluL2JlemVpY2hudW5nZW4n +LCBtYXApLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBaLmFkbWluLmJlemVpY2hu +dW5nZW4gPSBtYXA7CiAgICAgICAgICAgICAgICBiZXplaWNobnVuZ2VuQW53ZW5kZW4oKTsKICAg +ICAgICAgICAgICAgIGRpcnR5U2V0emVuKCdiZXplaWNobnVuZ2VuJywgZmFsc2UpOwogICAgICAg +ICAgICAgICAgdG9hc3QoJ0JlemVpY2hudW5nZW4gZ2VzcGVpY2hlcnQg4oCUIFJlbG9hZCBmw7xy +IGFsbGUgTnV0emVyIG7DtnRpZycsICdlcmZvbGcnKTsKICAgICAgICAgICAgfSkuY2F0Y2goZnVu +Y3Rpb24oZSkgeyB0b2FzdCgnRmVobGVyOiAnICsgZS5tZXNzYWdlLCAnZmVobGVyJyk7IH0pOwog +ICAgICAgIH0pOwogICAgICAgIHZhciBidG5CZXpSZXNldCA9IGRvY3VtZW50LmdldEVsZW1lbnRC +eUlkKCdidG4tYmV6ZWljaG51bmdlbi1yZXNldCcpOwogICAgICAgIGlmIChidG5CZXpSZXNldCkg +YnRuQmV6UmVzZXQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAg +ICAgICAgYmVzdGFldGlnZW4oJ0FsbGUgZWlnZW5lbiBCZXplaWNobnVuZ2VuIGzDtnNjaGVuIHVu +ZCBhdWYgRGVmYXVsdHMgenVyw7xja3NldHplbj8nLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAg +ICAgIGFwaVB1dCgnL2FwaS9hZG1pbi9iZXplaWNobnVuZ2VuJywge30pLnRoZW4oZnVuY3Rpb24o +KSB7CiAgICAgICAgICAgICAgICAgICAgWi5hZG1pbi5iZXplaWNobnVuZ2VuID0ge307CiAgICAg +ICAgICAgICAgICAgICAgYmV6ZWljaG51bmdlblJlbmRlcm4oKTsKICAgICAgICAgICAgICAgICAg +ICBiZXplaWNobnVuZ2VuQW53ZW5kZW4oKTsKICAgICAgICAgICAgICAgICAgICB0b2FzdCgnQmV6 +ZWljaG51bmdlbiB6dXLDvGNrZ2VzZXR6dCcsICdlcmZvbGcnKTsKICAgICAgICAgICAgICAgIH0p +LmNhdGNoKGZ1bmN0aW9uKGUpIHsgdG9hc3QoJ0ZlaGxlcjogJyArIGUubWVzc2FnZSwgJ2ZlaGxl +cicpOyB9KTsKICAgICAgICAgICAgfSwgeyB0aXRlbDogJ0JlemVpY2hudW5nZW4genVyw7xja3Nl +dHplbicsIGphVGV4dDogJ1p1csO8Y2tzZXR6ZW4nLCBqYURhbmdlcjogdHJ1ZSB9KTsKICAgICAg +ICB9KTsKCiAgICAgICAgLy8gQmV6ZWljaG51bmdlbiAmIExpc3RlbiDigJQgRGllbnN0Z3JhZGUg +KyBGdW5rdGlvbmVuIGVkaXRpZXJiYXIKICAgICAgICAvLyAoUGhhc2UgMSAvIDIwMjYtMDUtMTkp +LiBCZWlkZSBMaXN0ZW4gd2VyZGVuIGFscyBUZWlsIHZvbgogICAgICAgIC8vIFouYWRtaW4gdmlh +IC9hcGkvYWRtaW4gZ2VzcGVpY2hlcnQgKGtlaW4gZWlnZW5lciBFbmRwb2ludCwgd2VpbAogICAg +ICAgIC8vIGJlaWRlcyByZWluZSBBcnJheS1GZWxkZXIgc2luZCB1bmQgZGVyIExlc2UtUGZhZCBv +aG5laGluIGFsbGVzCiAgICAgICAgLy8gYXVmIGVpbm1hbCBob2x0KS4KICAgICAgICB2YXIgYnRu +RGdyZE5ldSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tZGllbnN0Z3JhZC1uZXUnKTsK +ICAgICAgICBpZiAoYnRuRGdyZE5ldSkgYnRuRGdyZE5ldS5hZGRFdmVudExpc3RlbmVyKCdjbGlj +aycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICBpZiAoIVouYWRtaW4uZGllbnN0Z3JhZGUpIFou +YWRtaW4uZGllbnN0Z3JhZGUgPSBbXTsKICAgICAgICAgICAgWi5hZG1pbi5kaWVuc3RncmFkZS5w +dXNoKCcnKTsKICAgICAgICAgICAgbGlzdGVuRGllbnN0Z3JhZGVSZW5kZXJuKCk7CiAgICAgICAg +ICAgIC8vIEZva3VzIGF1ZnMgbmV1ZSBJbnB1dGZlbGQKICAgICAgICAgICAgdmFyIGlucHV0cyA9 +IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5kZ3JhZC1pbnB1dCcpOwogICAgICAgICAgICBp +ZiAoaW5wdXRzLmxlbmd0aCkgaW5wdXRzW2lucHV0cy5sZW5ndGggLSAxXS5mb2N1cygpOwogICAg +ICAgIH0pOwogICAgICAgIHZhciBidG5EZ3JkU3BlaWNoZXJuID0gZG9jdW1lbnQuZ2V0RWxlbWVu +dEJ5SWQoJ2J0bi1kaWVuc3RncmFkZS1zcGVpY2hlcm4nKTsKICAgICAgICBpZiAoYnRuRGdyZFNw +ZWljaGVybikgYnRuRGdyZFNwZWljaGVybi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0 +aW9uKCkgewogICAgICAgICAgICB2YXIgbGlzdGUgPSBkaWVuc3RncmFkZUF1c1RhYmVsbGVMZXNl +bigpOwogICAgICAgICAgICBaLmFkbWluLmRpZW5zdGdyYWRlID0gbGlzdGU7CiAgICAgICAgICAg +IGFwaVB1dCgnL2FwaS9hZG1pbicsIFouYWRtaW4pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAg +ICAgICAgICBsaXN0ZW5EaWVuc3RncmFkZVJlbmRlcm4oKTsKICAgICAgICAgICAgICAgIHRvYXN0 +KCdEaWVuc3RncmFkZSBnZXNwZWljaGVydCcsICdlcmZvbGcnKTsKICAgICAgICAgICAgfSkuY2F0 +Y2goZnVuY3Rpb24oZSkgeyB0b2FzdCgnRmVobGVyOiAnICsgZS5tZXNzYWdlLCAnZmVobGVyJyk7 +IH0pOwogICAgICAgIH0pOwoKICAgICAgICB2YXIgYnRuRnVua05ldSA9IGRvY3VtZW50LmdldEVs +ZW1lbnRCeUlkKCdidG4tZnVua3Rpb24tbmV1Jyk7CiAgICAgICAgaWYgKGJ0bkZ1bmtOZXUpIGJ0 +bkZ1bmtOZXUuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAg +ICAgaWYgKCFaLmFkbWluLmZ1bmt0aW9uZW4pIFouYWRtaW4uZnVua3Rpb25lbiA9IFtdOwogICAg +ICAgICAgICBaLmFkbWluLmZ1bmt0aW9uZW4ucHVzaCh7IGNvZGU6ICcnLCByYW5nOiA5OSB9KTsK +ICAgICAgICAgICAgbGlzdGVuRnVua3Rpb25lblJlbmRlcm4oKTsKICAgICAgICAgICAgdmFyIGlu +cHV0cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mdW5rLWlucHV0LWNvZGUnKTsKICAg +ICAgICAgICAgaWYgKGlucHV0cy5sZW5ndGgpIGlucHV0c1tpbnB1dHMubGVuZ3RoIC0gMV0uZm9j +dXMoKTsKICAgICAgICB9KTsKICAgICAgICB2YXIgYnRuRnVua1NwZWljaGVybiA9IGRvY3VtZW50 +LmdldEVsZW1lbnRCeUlkKCdidG4tZnVua3Rpb25lbi1zcGVpY2hlcm4nKTsKICAgICAgICBpZiAo +YnRuRnVua1NwZWljaGVybikgYnRuRnVua1NwZWljaGVybi5hZGRFdmVudExpc3RlbmVyKCdjbGlj +aycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgbGlzdGUgPSBmdW5rdGlvbmVuQXVzVGFi +ZWxsZUxlc2VuKCk7CiAgICAgICAgICAgIFouYWRtaW4uZnVua3Rpb25lbiA9IGxpc3RlOwogICAg +ICAgICAgICBhcGlQdXQoJy9hcGkvYWRtaW4nLCBaLmFkbWluKS50aGVuKGZ1bmN0aW9uKCkgewog +ICAgICAgICAgICAgICAgbGlzdGVuRnVua3Rpb25lblJlbmRlcm4oKTsKICAgICAgICAgICAgICAg +IHRvYXN0KCdGdW5rdGlvbmVuIGdlc3BlaWNoZXJ0JywgJ2VyZm9sZycpOwogICAgICAgICAgICB9 +KS5jYXRjaChmdW5jdGlvbihlKSB7IHRvYXN0KCdGZWhsZXI6ICcgKyBlLm1lc3NhZ2UsICdmZWhs +ZXInKTsgfSk7CiAgICAgICAgfSk7CgogICAgICAgIC8vIFJlaWhlbmZvbGdlIC8gTG9lc2NoZW4g +4oCUIEV2ZW50LURlbGVnYXRpb24gYXVmIGJlaWRlIFRhYmVsbGVuLAogICAgICAgIC8vIGRpZXNl +bGJlIExvZ2lrIGZ1ZXIgRGdyYWQgdW5kIEZ1bmt0aW9uZW4sIG51ciB1bnRlcnNjaGllZGxpY2hl +cgogICAgICAgIC8vIFN0YXRlLVNsb3QgaW4gWi5hZG1pbi4KICAgICAgICB2YXIgbGlzdGVuVGFi +ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FkbWluLXRhYi1saXN0ZW4nKTsKICAgICAgICBp +ZiAobGlzdGVuVGFiKSBsaXN0ZW5UYWIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlv +bihlKSB7CiAgICAgICAgICAgIHZhciBidG4gPSBlLnRhcmdldC5jbG9zZXN0KCdidXR0b25bZGF0 +YS1ha3Rpb25dJyk7CiAgICAgICAgICAgIGlmICghYnRuKSByZXR1cm47CiAgICAgICAgICAgIHZh +ciBha3Rpb24gPSBidG4uZ2V0QXR0cmlidXRlKCdkYXRhLWFrdGlvbicpOwogICAgICAgICAgICB2 +YXIgaWR4ICAgID0gcGFyc2VJbnQoYnRuLmdldEF0dHJpYnV0ZSgnZGF0YS1pZHgnKSwgMTApOwog +ICAgICAgICAgICAvLyBEaWVuc3RncmFkZS1Ba3Rpb25lbgogICAgICAgICAgICBpZiAoYWt0aW9u +ID09PSAnZGdyYWQtdXAnIHx8IGFrdGlvbiA9PT0gJ2RncmFkLWRvd24nIHx8IGFrdGlvbiA9PT0g +J2RncmFkLWxvZXNjaGVuJykgewogICAgICAgICAgICAgICAgLy8gVm9yIGplZGVyIFN0cnVrdHVy +YWVuZGVydW5nOiBha3R1ZWxsZSBJbnB1dC1XZXJ0ZSBlaW5zYW1tZWxuLAogICAgICAgICAgICAg +ICAgLy8gZGFtaXQgbmljaHQtZ2VzcGVpY2hlcnRlIEVkaXRpZXJ1bmdlbiBlcmhhbHRlbiBibGVp +YmVuLgogICAgICAgICAgICAgICAgWi5hZG1pbi5kaWVuc3RncmFkZSA9IGRpZW5zdGdyYWRlQXVz +VGFiZWxsZUxlc2VuKCk7CiAgICAgICAgICAgICAgICBpZiAoYWt0aW9uID09PSAnZGdyYWQtdXAn +ICYmIGlkeCA+IDApIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdG1wID0gWi5hZG1pbi5kaWVu +c3RncmFkZVtpZHgtMV07CiAgICAgICAgICAgICAgICAgICAgWi5hZG1pbi5kaWVuc3RncmFkZVtp +ZHgtMV0gPSBaLmFkbWluLmRpZW5zdGdyYWRlW2lkeF07CiAgICAgICAgICAgICAgICAgICAgWi5h +ZG1pbi5kaWVuc3RncmFkZVtpZHhdICAgPSB0bXA7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYg +KGFrdGlvbiA9PT0gJ2RncmFkLWRvd24nICYmIGlkeCA8IFouYWRtaW4uZGllbnN0Z3JhZGUubGVu +Z3RoIC0gMSkgewogICAgICAgICAgICAgICAgICAgIHZhciB0bXAyID0gWi5hZG1pbi5kaWVuc3Rn +cmFkZVtpZHgrMV07CiAgICAgICAgICAgICAgICAgICAgWi5hZG1pbi5kaWVuc3RncmFkZVtpZHgr +MV0gPSBaLmFkbWluLmRpZW5zdGdyYWRlW2lkeF07CiAgICAgICAgICAgICAgICAgICAgWi5hZG1p +bi5kaWVuc3RncmFkZVtpZHhdICAgPSB0bXAyOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmIChh +a3Rpb24gPT09ICdkZ3JhZC1sb2VzY2hlbicpIHsKICAgICAgICAgICAgICAgICAgICBaLmFkbWlu +LmRpZW5zdGdyYWRlLnNwbGljZShpZHgsIDEpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAg +ICAgICAgbGlzdGVuRGllbnN0Z3JhZGVSZW5kZXJuKCk7CiAgICAgICAgICAgICAgICByZXR1cm47 +CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gRnVua3Rpb25lbi1Ba3Rpb25lbgogICAgICAg +ICAgICBpZiAoYWt0aW9uID09PSAnZnVuay11cCcgfHwgYWt0aW9uID09PSAnZnVuay1kb3duJyB8 +fCBha3Rpb24gPT09ICdmdW5rLWxvZXNjaGVuJykgewogICAgICAgICAgICAgICAgWi5hZG1pbi5m +dW5rdGlvbmVuID0gZnVua3Rpb25lbkF1c1RhYmVsbGVMZXNlbigpOwogICAgICAgICAgICAgICAg +aWYgKGFrdGlvbiA9PT0gJ2Z1bmstdXAnICYmIGlkeCA+IDApIHsKICAgICAgICAgICAgICAgICAg +ICB2YXIgdCA9IFouYWRtaW4uZnVua3Rpb25lbltpZHgtMV07CiAgICAgICAgICAgICAgICAgICAg +Wi5hZG1pbi5mdW5rdGlvbmVuW2lkeC0xXSA9IFouYWRtaW4uZnVua3Rpb25lbltpZHhdOwogICAg +ICAgICAgICAgICAgICAgIFouYWRtaW4uZnVua3Rpb25lbltpZHhdICAgPSB0OwogICAgICAgICAg +ICAgICAgfSBlbHNlIGlmIChha3Rpb24gPT09ICdmdW5rLWRvd24nICYmIGlkeCA8IFouYWRtaW4u +ZnVua3Rpb25lbi5sZW5ndGggLSAxKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQyID0gWi5h +ZG1pbi5mdW5rdGlvbmVuW2lkeCsxXTsKICAgICAgICAgICAgICAgICAgICBaLmFkbWluLmZ1bmt0 +aW9uZW5baWR4KzFdID0gWi5hZG1pbi5mdW5rdGlvbmVuW2lkeF07CiAgICAgICAgICAgICAgICAg +ICAgWi5hZG1pbi5mdW5rdGlvbmVuW2lkeF0gICA9IHQyOwogICAgICAgICAgICAgICAgfSBlbHNl +IGlmIChha3Rpb24gPT09ICdmdW5rLWxvZXNjaGVuJykgewogICAgICAgICAgICAgICAgICAgIFou +YWRtaW4uZnVua3Rpb25lbi5zcGxpY2UoaWR4LCAxKTsKICAgICAgICAgICAgICAgIH0KICAgICAg +ICAgICAgICAgIGxpc3RlbkZ1bmt0aW9uZW5SZW5kZXJuKCk7CiAgICAgICAgICAgIH0KICAgICAg +ICB9KTsKCiAgICAgICAgLy8gTWlrcm90ZWFtcy1FZGl0b3Ig4oCUIFBoYXNlIDIgKDIwMjYtMDUt +MTkpLiBaLmFkbWluLm1pa3JvdGVhbXMgYWxzCiAgICAgICAgLy8gZ2VwZmxlZ3RlIExpc3RlLiBQ +ZXJzb25lbiBwcm8gVGVhbSB2aWEgTW9kYWwgKG1pa3JvdGVhbVBlcnNvbmVuRGlhbG9nKS4KICAg +ICAgICB2YXIgYnRuTXROZXUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnRuLW1pa3JvdGVh +bS1uZXUnKTsKICAgICAgICBpZiAoYnRuTXROZXUpIGJ0bk10TmV1LmFkZEV2ZW50TGlzdGVuZXIo +J2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmICghWi5hZG1pbi5taWtyb3RlYW1z +KSBaLmFkbWluLm1pa3JvdGVhbXMgPSBbXTsKICAgICAgICAgICAgLy8gU3RydWt0dXJpZXJ0ZSBJ +RC1Wb3JzY2hsYWc6IHRfPFN0YW5kb3J0Pl88R3J1cHBlPjsgYmVpIGxlZXJlbgogICAgICAgICAg +ICAvLyBTdGFtbS1GZWxkZXJuIGJsZWlidCBkZXIgVXNlciBzZWxic3QgenVzdGFlbmRpZy4KICAg +ICAgICAgICAgWi5hZG1pbi5taWtyb3RlYW1zID0gbWlrcm90ZWFtc0F1c1RhYmVsbGVMZXNlbigp +OwogICAgICAgICAgICBaLmFkbWluLm1pa3JvdGVhbXMucHVzaCh7IGlkOiAndF9ORVVfJyArIERh +dGUubm93KCkudG9TdHJpbmcoMzYpLCBuYW1lOiAnJywgc3RhbmRvcnQ6ICcnLCBncnVwcGU6ICcn +LCBwZXJzb25JZHM6IFtdIH0pOwogICAgICAgICAgICBtaWtyb3RlYW1zUmVuZGVybigpOwogICAg +ICAgIH0pOwogICAgICAgIHZhciBidG5NdFNwZWljaGVybiA9IGRvY3VtZW50LmdldEVsZW1lbnRC +eUlkKCdidG4tbWlrcm90ZWFtcy1zcGVpY2hlcm4nKTsKICAgICAgICBpZiAoYnRuTXRTcGVpY2hl +cm4pIGJ0bk10U3BlaWNoZXJuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7 +CiAgICAgICAgICAgIHZhciBsaXN0ZSA9IG1pa3JvdGVhbXNBdXNUYWJlbGxlTGVzZW4oKTsKICAg +ICAgICAgICAgWi5hZG1pbi5taWtyb3RlYW1zID0gbGlzdGU7CiAgICAgICAgICAgIGFwaVB1dCgn +L2FwaS9hZG1pbicsIFouYWRtaW4pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBt +aWtyb3RlYW1zUmVuZGVybigpOwogICAgICAgICAgICAgICAgdG9hc3QobGlzdGUubGVuZ3RoICsg +JyBNaWtyb3RlYW1zIGdlc3BlaWNoZXJ0JywgJ2VyZm9sZycpOwogICAgICAgICAgICB9KS5jYXRj +aChmdW5jdGlvbihlKSB7IHRvYXN0KCdGZWhsZXI6ICcgKyBlLm1lc3NhZ2UsICdmZWhsZXInKTsg +fSk7CiAgICAgICAgfSk7CgogICAgICAgIC8vIFRhYmVsbGVuLUV2ZW50LURlbGVnYXRpb246IFVw +L0Rvd24vTG9lc2NoZW4vUGVyc29uZW4tTW9kYWwKICAgICAgICB2YXIgbXRUYWIgPSBkb2N1bWVu +dC5nZXRFbGVtZW50QnlJZCgnYWRtaW4tdGFiLW1pa3JvdGVhbXMnKTsKICAgICAgICBpZiAobXRU +YWIpIG10VGFiLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAg +ICAgICB2YXIgYnRuID0gZS50YXJnZXQuY2xvc2VzdCgnYnV0dG9uW2RhdGEtYWt0aW9uXScpOwog +ICAgICAgICAgICBpZiAoIWJ0bikgcmV0dXJuOwogICAgICAgICAgICB2YXIgYWt0aW9uID0gYnRu +LmdldEF0dHJpYnV0ZSgnZGF0YS1ha3Rpb24nKTsKICAgICAgICAgICAgdmFyIGlkeCAgICA9IHBh +cnNlSW50KGJ0bi5nZXRBdHRyaWJ1dGUoJ2RhdGEtaWR4JyksIDEwKTsKICAgICAgICAgICAgaWYg +KGlzTmFOKGlkeCkpIHJldHVybjsKICAgICAgICAgICAgaWYgKGFrdGlvbiA9PT0gJ210LXBlcnNv +bmVuJykgewogICAgICAgICAgICAgICAgbWlrcm90ZWFtUGVyc29uZW5EaWFsb2coaWR4KTsKICAg +ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBTdHJ1a3R1 +cmFlbmRlcnVuZ2VuIOKAlCB2b3JoZXIgZGllIElucHV0cyBlaW5zYW1tZWxuLgogICAgICAgICAg +ICBaLmFkbWluLm1pa3JvdGVhbXMgPSBtaWtyb3RlYW1zQXVzVGFiZWxsZUxlc2VuKCk7CiAgICAg +ICAgICAgIHZhciBsID0gWi5hZG1pbi5taWtyb3RlYW1zOwogICAgICAgICAgICBpZiAoYWt0aW9u +ID09PSAnbXQtdXAnICYmIGlkeCA+IDApIHsKICAgICAgICAgICAgICAgIHZhciB0ID0gbFtpZHgt +MV07IGxbaWR4LTFdID0gbFtpZHhdOyBsW2lkeF0gPSB0OwogICAgICAgICAgICB9IGVsc2UgaWYg +KGFrdGlvbiA9PT0gJ210LWRvd24nICYmIGlkeCA8IGwubGVuZ3RoIC0gMSkgewogICAgICAgICAg +ICAgICAgdmFyIHQyID0gbFtpZHgrMV07IGxbaWR4KzFdID0gbFtpZHhdOyBsW2lkeF0gPSB0MjsK +ICAgICAgICAgICAgfSBlbHNlIGlmIChha3Rpb24gPT09ICdtdC1sb2VzY2hlbicpIHsKICAgICAg +ICAgICAgICAgIGwuc3BsaWNlKGlkeCwgMSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbWlr +cm90ZWFtc1JlbmRlcm4oKTsKICAgICAgICB9KTsKCiAgICAgICAgLy8gRS1NYWlsLVZvcmxhZ2Vu +IOKAlCBLYXJ0ZW4tTGF5b3V0IChGaW5kaW5nIEMuNyAvIFNwZWMgRi4xKQogICAgICAgIC8vIEts +aWNrIGF1ZiBlaW5lIEthcnRlIG9lZmZuZXQgZW1haWxWb3JsYWdlQmVhcmJlaXRlbk1vZGFsKCk7 +IFNhdmUKICAgICAgICAvLyBlcmZvbGd0IGF1cyBkZW0gTW9kYWwgaGVyYXVzLiBEZXIgZnJ1ZWhl +ciB6ZW50cmFsZSAiVm9ybGFnZW4KICAgICAgICAvLyBzcGVpY2hlcm4iLUJ1dHRvbiBpc3Qgd2Vn +LCB3ZWlsIFNhdmUgamV0enQgcHJvIFZvcmxhZ2Ugc3RhdHRmaW5kZXQuCiAgICAgICAgdmFyIGVt +YWlsS2FydGVuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VtYWlsdm9ybGFnZW4taW5oYWx0 +Jyk7CiAgICAgICAgaWYgKGVtYWlsS2FydGVuKSBlbWFpbEthcnRlbi5hZGRFdmVudExpc3RlbmVy +KCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgLy8gSGlkZSAvIFNob3cgdG9nZ2xl +OiBWb3JsYWdlIGF1cyBkZXIgUHJpbWFlcmFuc2ljaHQgYXVzYmxlbmRlbgogICAgICAgICAgICAv +LyBiencuIHdpZWRlciBlaW5ibGVuZGVuLiBQZXJzaXN0aWVydW5nIGFscwogICAgICAgICAgICAv +LyBhZG1pbi5lbWFpbFZvcmxhZ2VuW2tleV0udmVyc3RlY2t0ID0gYm9vbCwgZ2VzcGVpY2hlcnQg +dWViZXIKICAgICAgICAgICAgLy8gL2FwaS9hZG1pbi4gRGllIEhpZGUtS2xpY2tzIGJyYXVjaGVu +IHN0b3BQcm9wYWdhdGlvbiwgc29uc3QKICAgICAgICAgICAgLy8gd3VlcmRlIGRlciBLYXJ0ZW4t +Q2xpY2stSGFuZGxlciBkYXJ1bnRlciBkYXMgQmVhcmJlaXRlbi1Nb2RhbAogICAgICAgICAgICAv +LyBvZWZmbmVuLgogICAgICAgICAgICB2YXIgaGlkZUJ0biA9IGUudGFyZ2V0LmNsb3Nlc3QoJ1tk +YXRhLWFrdGlvbj0iZXYtaGlkZSJdLCBbZGF0YS1ha3Rpb249ImV2LXNob3ciXScpOwogICAgICAg +ICAgICBpZiAoaGlkZUJ0bikgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsK +ICAgICAgICAgICAgICAgIHZhciBrZXkgPSBoaWRlQnRuLmdldEF0dHJpYnV0ZSgnZGF0YS12b3Js +YWdlJyk7CiAgICAgICAgICAgICAgICB2YXIgdmVyc3RlY2t0ID0gaGlkZUJ0bi5nZXRBdHRyaWJ1 +dGUoJ2RhdGEtYWt0aW9uJykgPT09ICdldi1oaWRlJzsKICAgICAgICAgICAgICAgIGlmICghWi5h +ZG1pbi5lbWFpbFZvcmxhZ2VuKSBaLmFkbWluLmVtYWlsVm9ybGFnZW4gPSB7fTsKICAgICAgICAg +ICAgICAgIGlmICghWi5hZG1pbi5lbWFpbFZvcmxhZ2VuW2tleV0pIFouYWRtaW4uZW1haWxWb3Js +YWdlbltrZXldID0ge307CiAgICAgICAgICAgICAgICBaLmFkbWluLmVtYWlsVm9ybGFnZW5ba2V5 +XS52ZXJzdGVja3QgPSB2ZXJzdGVja3Q7CiAgICAgICAgICAgICAgICBhcGlQdXQoJy9hcGkvYWRt +aW4nLCBaLmFkbWluKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGVtYWls +Vm9ybGFnZW5SZW5kZXJuKCk7CiAgICAgICAgICAgICAgICAgICAgdG9hc3QodmVyc3RlY2t0ID8g +J1ZvcmxhZ2UgYXVzZ2VibGVuZGV0JyA6ICdWb3JsYWdlIGVpbmdlYmxlbmRldCcsICdlcmZvbGcn +KTsKICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycikgeyB0b2FzdCgnRmVobGVy +OiAnICsgZXJyLm1lc3NhZ2UsICdmZWhsZXInKTsgfSk7CiAgICAgICAgICAgICAgICByZXR1cm47 +CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIGthcnRlID0gZS50YXJnZXQuY2xvc2VzdCgn +LmVtYWlsdm9ybGFnZS1rYXJ0ZScpOwogICAgICAgICAgICBpZiAoa2FydGUpIGVtYWlsVm9ybGFn +ZUJlYXJiZWl0ZW5Nb2RhbChrYXJ0ZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtdm9ybGFnZScpKTsKICAg +ICAgICB9KTsKICAgICAgICAvLyBUYXN0YXR1ci1Ba3RpdmllcnVuZyBkZXIgS2FydGVuIChyb2xl +PWJ1dHRvbiwga2VpbiBuYXRpdmVzIDxidXR0b24+CiAgICAgICAgLy8gbWVociDigJQgRW50ZXIv +U3BhY2UgbXVlc3NlbiB3aXIgc2VsYnN0IGJlaGFuZGVsbikuCiAgICAgICAgaWYgKGVtYWlsS2Fy +dGVuKSBlbWFpbEthcnRlbi5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24oZSkg +ewogICAgICAgICAgICBpZiAoZS5rZXkgIT09ICdFbnRlcicgJiYgZS5rZXkgIT09ICcgJyAmJiBl +LmtleSAhPT0gJ1NwYWNlYmFyJykgcmV0dXJuOwogICAgICAgICAgICB2YXIga2FydGUgPSBlLnRh +cmdldC5jbG9zZXN0KCcuZW1haWx2b3JsYWdlLWthcnRlJyk7CiAgICAgICAgICAgIGlmICgha2Fy +dGUgfHwgZS50YXJnZXQuY2xvc2VzdCgnLmV2ay1oaWRlLWJ0bicpKSByZXR1cm47CiAgICAgICAg +ICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgZW1haWxWb3JsYWdlQmVhcmJlaXRl +bk1vZGFsKGthcnRlLmdldEF0dHJpYnV0ZSgnZGF0YS12b3JsYWdlJykpOwogICAgICAgIH0pOwoK +ICAgICAgICAvLyBFaW5zdGVsbHVuZ2VuIOKAlCBKYWhyICsgSW5ha3Rpdml0YWV0ICsgUGFwaWVy +a29yYi1BdWZiZXdhaHJ1bmcgKyBFLU1haWwtCiAgICAgICAgLy8gRG9tYWluIChJbmZvdGV4dGUg +c2luZCBpbSBUYWIgIkluZm9ybWF0aW9uICYgSGlsZmUiKS4KICAgICAgICAvLyBLb25maWd1cmF0 +aW9uOiBlaW56ZWxuZSwgYXRvbWFyZSArIHZhbGlkaWVydGUgRmVsZGVyLiBEZXIgRW5kcG9pbnQK +ICAgICAgICAvLyAvYXBpL2FkbWluL2VpbnN0ZWxsdW5nZW4gaXN0IFBhcnRpYWwtTWVyZ2UtZsOk +aGlnIChrZWluIFZvbGwtT3ZlcndyaXRlKSwKICAgICAgICAvLyBkYWhlciBpc3QgZmVsZHdlaXNl +cyBBVVRPLVNQRUlDSEVSTiBoaWVyIHNpY2hlcjogamVkZSDDhG5kZXJ1bmcgd2lyZAogICAgICAg +IC8vIG5hY2gga3VyemVyIFRpcHAtUGF1c2UgYXV0b21hdGlzY2ggcGVyc2lzdGllcnQuIERlciDi +gJ5TcGVpY2hlcm4iLUJ1dHRvbgogICAgICAgIC8vIGJsZWlidCBhbHMgZXhwbGl6aXRlciBGYWxs +YmFjayBlcmhhbHRlbi4KICAgICAgICBmdW5jdGlvbiBlaW5zdGVsbHVuZ2VuTGVzZW4oKSB7CiAg +ICAgICAgICAgIHZhciBwYXBpZXJrb3JiRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWlu +cy1wYXBpZXJrb3JiLXRhZ2UnKTsKICAgICAgICAgICAgdmFyIGVtYWlsRG9tYWluRWwgPSBkb2N1 +bWVudC5nZXRFbGVtZW50QnlJZCgnZWlucy1lbWFpbC1kb21haW4nKTsKICAgICAgICAgICAgdmFy +IGF2YXRhckdyb2Vzc2VFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlaW5zLWF2YXRhci1n +cm9lc3NlJyk7CiAgICAgICAgICAgIC8vIEF2YXRhci1Hcm9lc3NlIHp3aXNjaGVuIDEwMCB1bmQg +NjAwIGNsYW1wZW4sIGRhbWl0IGJlbGllYmlnIGdyb3NzZQogICAgICAgICAgICAvLyBCaWxkZXIg +ZGVuIERhdGFEaXIgbmljaHQgdWViZXJyYXNjaGVuZCBtaXQgTUItRmlsZXMgZnVlbGxlbi4KICAg +ICAgICAgICAgdmFyIGF2YXRhckdyID0gYXZhdGFyR3JvZXNzZUVsID8gcGFyc2VJbnQoYXZhdGFy +R3JvZXNzZUVsLnZhbHVlLCAxMCkgOiAyMDA7CiAgICAgICAgICAgIGlmIChpc05hTihhdmF0YXJH +cikgfHwgYXZhdGFyR3IgPCAxMDApIGF2YXRhckdyID0gMTAwOwogICAgICAgICAgICBlbHNlIGlm +IChhdmF0YXJHciA+IDYwMCkgYXZhdGFyR3IgPSA2MDA7CiAgICAgICAgICAgIHZhciBlZGl0b3JU +cmlnZ2VyRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWlucy1lZGl0b3ItdHJpZ2dlcicp +OwogICAgICAgICAgICB2YXIgZWRpdG9yVHJpZ2dlcldlcnQgPSBlZGl0b3JUcmlnZ2VyRWwgPyBl +ZGl0b3JUcmlnZ2VyRWwudmFsdWUgOiAncmVjaHRzJzsKICAgICAgICAgICAgaWYgKFsncmVjaHRz +JywgJ2xpbmtzJywgJ21pdHRlJywgJ2RvcHBlbCddLmluZGV4T2YoZWRpdG9yVHJpZ2dlcldlcnQp +IDwgMCkgZWRpdG9yVHJpZ2dlcldlcnQgPSAncmVjaHRzJzsKICAgICAgICAgICAgLy8gSGlud2Vp +czogYGphaHJgIGlzdCBoaWVyIEJFV1VTU1QgbmljaHQgZW50aGFsdGVuLiBEYXMgUGxhbnVuZ3Nq +YWhyCiAgICAgICAgICAgIC8vIHdpcmQgYXVzc2NobGllc3NsaWNoIHVlYmVyIGRlbiBkZWRpemll +cnRlbiDigJ5KYWhyIHdlY2hzZWxuIi1CdXR0b24KICAgICAgICAgICAgLy8gZ2VhZW5kZXJ0ICht +aXQgQmVzdGFldGlndW5nICsgUmVsb2FkKSwgZGFtaXQgU3RhdHVzIHVuZCBBbnNpY2h0CiAgICAg +ICAgICAgIC8vIG5pZSBhdXNlaW5hbmRlcmxhdWZlbi4gRGFzIGVpbnMtamFoci1GZWxkIGlzdCBu +dXIgZGllIFppZWxhdXN3YWhsLgogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAg +cGFwaWVya29yYlRhZ2VBdWZiZXdhaHJ1bmc6IHBhcGllcmtvcmJFbCA/IChwYXJzZUludChwYXBp +ZXJrb3JiRWwudmFsdWUsIDEwKSB8fCAwKSA6IDMwLAogICAgICAgICAgICAgICAgZW1haWxBdXRv +RG9tYWluOiBlbWFpbERvbWFpbkVsID8gZW1haWxEb21haW5FbC52YWx1ZSA6ICdAcG9saXplaS5u +cncuZGUnLAogICAgICAgICAgICAgICAgYXZhdGFyR3JvZXNzZTogYXZhdGFyR3IsCiAgICAgICAg +ICAgICAgICBlZGl0b3JUcmlnZ2VyOiBlZGl0b3JUcmlnZ2VyV2VydAogICAgICAgICAgICB9Owog +ICAgICAgIH0KICAgICAgICBmdW5jdGlvbiBlaW5zdGVsbHVuZ2VuU3BlaWNoZXJuKGF1dG8pIHsK +ICAgICAgICAgICAgdmFyIGRhdGVuID0gZWluc3RlbGx1bmdlbkxlc2VuKCk7CiAgICAgICAgICAg +IHJldHVybiBhcGlQdXQoJy9hcGkvYWRtaW4vZWluc3RlbGx1bmdlbicsIGRhdGVuKS50aGVuKGZ1 +bmN0aW9uKCkgewogICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihaLmFkbWluLCBkYXRlbik7 +CiAgICAgICAgICAgICAgICBkaXJ0eVNldHplbignZWluc3RlbGx1bmdlbicsIGZhbHNlKTsKICAg +ICAgICAgICAgICAgIHRvYXN0KGF1dG8gPyAnR2VzcGVpY2hlcnQnIDogJ0VpbnN0ZWxsdW5nZW4g +Z2VzcGVpY2hlcnQnLCAnZXJmb2xnJyk7CiAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUp +IHsgdG9hc3QoJ0ZlaGxlcjogJyArIGUubWVzc2FnZSwgJ2ZlaGxlcicpOyB9KTsKICAgICAgICB9 +CiAgICAgICAgdmFyIGJ0bkVpbnNTcGVpY2hlcm4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn +YnRuLWVpbnN0ZWxsdW5nZW4tc3BlaWNoZXJuJyk7CiAgICAgICAgaWYgKGJ0bkVpbnNTcGVpY2hl +cm4pIGJ0bkVpbnNTcGVpY2hlcm4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigp +IHsgZWluc3RlbGx1bmdlblNwZWljaGVybihmYWxzZSk7IH0pOwogICAgICAgIC8vIEF1dG8tU2F2 +ZTogw4RuZGVydW5nIGFuIGVpbmVtIEtvbmZpZy1GZWxkIOKGkiBuYWNoIDcwMCBtcyBUaXBwLVBh +dXNlCiAgICAgICAgLy8gYXV0b21hdGlzY2ggc3BlaWNoZXJuIChkZWJvdW5jZWQsIGVpbiBUb2Fz +dCBwcm8gUnVoZXBoYXNlKS4KICAgICAgICB2YXIgX2VpbnNBdXRvVGltZXIgPSBudWxsOwogICAg +ICAgIFsnZWlucy1wYXBpZXJrb3JiLXRhZ2UnLCAnZWlucy1lbWFpbC1kb21haW4nLCAnZWlucy1h +dmF0YXItZ3JvZXNzZScsICdlaW5zLWVkaXRvci10cmlnZ2VyJ10uZm9yRWFjaChmdW5jdGlvbihp +ZCkgewogICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7CiAg +ICAgICAgICAgIGlmICghZWwpIHJldHVybjsKICAgICAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5l +cignY2hhbmdlJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoX2VpbnNBdXRvVGlt +ZXIpIGNsZWFyVGltZW91dChfZWluc0F1dG9UaW1lcik7CiAgICAgICAgICAgICAgICBfZWluc0F1 +dG9UaW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGVpbnN0ZWxsdW5nZW5TcGVpY2hlcm4o +dHJ1ZSk7IH0sIDcwMCk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwoKICAgICAgICAvLyBJ +bmZvcm1hdGlvbiAmIEhpbGZlIOKAlCBSaWNoLVRleHQtRWRpdG9yZW4gKyBTY2hsaWXDn2luZm8K +ICAgICAgICB2YXIgYnRuSWhTcGVpY2hlcm4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnRu +LWluZm9oaWxmZS1zcGVpY2hlcm4nKTsKICAgICAgICBpZiAoYnRuSWhTcGVpY2hlcm4pIGJ0bklo +U3BlaWNoZXJuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAg +ICAgIHZhciBkYXRlbiA9IGluZm9IaWxmZUF1c0ZlbGRlcm5MZXNlbigpOwogICAgICAgICAgICBh +cGlQdXQoJy9hcGkvYWRtaW4vZWluc3RlbGx1bmdlbicsIGRhdGVuKS50aGVuKGZ1bmN0aW9uKCkg +ewogICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihaLmFkbWluLCBkYXRlbik7CiAgICAgICAg +ICAgICAgICBkaXJ0eVNldHplbignaW5mb2hpbGZlJywgZmFsc2UpOwogICAgICAgICAgICAgICAg +dG9hc3QoJ0luZm9ybWF0aW9uICYgSGlsZmUgZ2VzcGVpY2hlcnQnLCAnZXJmb2xnJyk7CiAgICAg +ICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsgdG9hc3QoJ0ZlaGxlcjogJyArIGUubWVzc2Fn +ZSwgJ2ZlaGxlcicpOyB9KTsKICAgICAgICB9KTsKCiAgICAgICAgLy8gU3VwcG9ydC1NYWlsLVZv +cmxhZ2UgKG51ciBQaGlsaXBwIFJvZXNnZW4pLiBTYXZlIC8gRGVmYXVsdCAvIFZvcnNjaGF1Lgog +ICAgICAgIHZhciBzbVRleHRhcmVhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1cHBvcnRt +YWlsLXRleHQnKTsKICAgICAgICB2YXIgc21EaXJ0eSAgICA9IGRvY3VtZW50LmdldEVsZW1lbnRC +eUlkKCdzdXBwb3J0bWFpbC1kaXJ0eS1oaW53ZWlzJyk7CiAgICAgICAgaWYgKHNtVGV4dGFyZWEg +JiYgc21EaXJ0eSkgewogICAgICAgICAgICBzbVRleHRhcmVhLmFkZEV2ZW50TGlzdGVuZXIoJ2lu +cHV0JywgZnVuY3Rpb24oKSB7IHNtRGlydHkuc3R5bGUuZGlzcGxheSA9ICcnOyB9KTsKICAgICAg +ICB9CiAgICAgICAgdmFyIGJ0blNtU3BlaWNoZXJuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo +J2J0bi1zdXBwb3J0bWFpbC1zcGVpY2hlcm4nKTsKICAgICAgICBpZiAoYnRuU21TcGVpY2hlcm4p +IGJ0blNtU3BlaWNoZXJuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAg +ICAgICAgICAgIHZhciB0YSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdXBwb3J0bWFpbC10 +ZXh0Jyk7CiAgICAgICAgICAgIGlmICghdGEpIHJldHVybjsKICAgICAgICAgICAgdmFyIGRhdGVu +ID0geyBzdXBwb3J0TWFpbFRleHQ6IHRhLnZhbHVlIH07CiAgICAgICAgICAgIGFwaVB1dCgnL2Fw +aS9hZG1pbi9laW5zdGVsbHVuZ2VuJywgZGF0ZW4pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAg +ICAgICAgICBaLmFkbWluLnN1cHBvcnRNYWlsVGV4dCA9IGRhdGVuLnN1cHBvcnRNYWlsVGV4dDsK +ICAgICAgICAgICAgICAgIGlmIChzbURpcnR5KSBzbURpcnR5LnN0eWxlLmRpc3BsYXkgPSAnbm9u +ZSc7CiAgICAgICAgICAgICAgICB0b2FzdCgnU3VwcG9ydC1NYWlsLVZvcmxhZ2UgZ2VzcGVpY2hl +cnQnLCAnZXJmb2xnJyk7CiAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsgdG9hc3Qo +J0ZlaGxlcjogJyArIGUubWVzc2FnZSwgJ2ZlaGxlcicpOyB9KTsKICAgICAgICB9KTsKICAgICAg +ICB2YXIgYnRuU21EZWZhdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J0bi1zdXBwb3J0 +bWFpbC1kZWZhdWx0Jyk7CiAgICAgICAgaWYgKGJ0blNtRGVmYXVsdCkgYnRuU21EZWZhdWx0LmFk +ZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGJlc3RhZXRp +Z2VuKCdWb3JsYWdlIGtvbXBsZXR0IGF1ZiBkZW4gZWluZ2ViYXV0ZW4gRGVmYXVsdCB6dXLDvGNr +c2V0emVuP1xuXG5EZWluZSBha3R1ZWxsZW4gw4RuZGVydW5nZW4gZ2VoZW4gdmVybG9yZW4uJywg +ZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBhcGlQdXQoJy9hcGkvYWRtaW4vZWluc3RlbGx1 +bmdlbicsIHsgc3VwcG9ydE1haWxUZXh0OiAnJyB9KS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAg +ICAgICAgICAgICAgIFouYWRtaW4uc3VwcG9ydE1haWxUZXh0ID0gJyc7CiAgICAgICAgICAgICAg +ICAgICAgdmFyIHRhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1cHBvcnRtYWlsLXRleHQn +KTsKICAgICAgICAgICAgICAgICAgICBpZiAodGEpIHRhLnZhbHVlID0gJyc7CiAgICAgICAgICAg +ICAgICAgICAgaWYgKHNtRGlydHkpIHNtRGlydHkuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAg +ICAgICAgICAgICAgICAgICB0b2FzdCgnQXVmIERlZmF1bHQgenVyw7xja2dlc2V0enQnLCAnZXJm +b2xnJyk7CiAgICAgICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlKSB7IHRvYXN0KCdGZWhs +ZXI6ICcgKyBlLm1lc3NhZ2UsICdmZWhsZXInKTsgfSk7CiAgICAgICAgICAgIH0sIHsgdGl0ZWw6 +ICdEZWZhdWx0LVZvcmxhZ2Ugd2llZGVyaGVyc3RlbGxlbicsIGphVGV4dDogJ1p1csO8Y2tzZXR6 +ZW4nLCBqYURhbmdlcjogdHJ1ZSB9KTsKICAgICAgICB9KTsKICAgICAgICB2YXIgYnRuU21Wb3Jz +Y2hhdSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tc3VwcG9ydG1haWwtdm9yc2NoYXUn +KTsKICAgICAgICBpZiAoYnRuU21Wb3JzY2hhdSkgYnRuU21Wb3JzY2hhdS5hZGRFdmVudExpc3Rl +bmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAvLyBBa3R1ZWxsZSBFaW5nYWJl +IHRlbXBvcmFlciBhbHMgVm9ybGFnZSBiZW51dHplbiDigJQgYXVjaCB3ZW5uCiAgICAgICAgICAg +IC8vIG5vY2ggbmljaHQgZ2VzcGVpY2hlcnQ7IHNwYXJ0IGRhcyAiZXJzdCBzcGVpY2hlcm4sIGRh +bm4KICAgICAgICAgICAgLy8gdGVzdGVuIi1IaW4tdW5kLUhlci4KICAgICAgICAgICAgdmFyIHRh +ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1cHBvcnRtYWlsLXRleHQnKTsKICAgICAgICAg +ICAgdmFyIGFsdCA9IFouYWRtaW4uc3VwcG9ydE1haWxUZXh0OwogICAgICAgICAgICBpZiAodGEg +JiYgdGEudmFsdWUudHJpbSgpKSBaLmFkbWluLnN1cHBvcnRNYWlsVGV4dCA9IHRhLnZhbHVlOwog +ICAgICAgICAgICB2YXIgbWFpbHRvID0gJ21haWx0bzpwaGlsaXBwLnJvZXNnZW5AcG9saXplaS5u +cncuZGUnCiAgICAgICAgICAgICAgICArICc/c3ViamVjdD0nICsgZW5jb2RlVVJJQ29tcG9uZW50 +KCdWSTMgREdMIFBsYW51bmcgLSBEb3J0bXVuZCcpCiAgICAgICAgICAgICAgICArICcmYm9keT0n +ICsgZW5jb2RlVVJJQ29tcG9uZW50KHN1cHBvcnRNYWlsQm9keUJhdWVuKCkpOwogICAgICAgICAg +ICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IG1haWx0bzsKICAgICAgICAgICAgLy8gU3RhdGUgenVy +dWVja3JvbGxlbiwgZGFtaXQgVm9yc2NoYXUgbmljaHQgdmVyc2VoZW50bGljaCBwZXJzaXN0aWVy +dAogICAgICAgICAgICBaLmFkbWluLnN1cHBvcnRNYWlsVGV4dCA9IGFsdDsKICAgICAgICB9KTsK +CiAgICAgICAgLy8gSmFociB3ZWNoc2VsbjogUGxhbnVuZ3NqYWhyIGF1ZiBkYXMgaW0gRmVsZCBH +RVfDhEhMVEUgSmFociBzZXR6ZW4g4oCUIHZvcgogICAgICAgIC8vIE9ERVIgenVyw7xjay4gRGF0 +ZW4gbmV1IGxhZGVuLCBhbGxlIFZpZXdzIHJlbmRlcm4uIEVpbnRyYWVnZSBibGVpYmVuCiAgICAg +ICAgLy8gdW50ZXIgaWhyZW4gYWJzb2x1dGVuIERhdHVtc3NjaGx1ZXNzZWxuIGVyaGFsdGVuIChr +ZWluIERhdGVudmVybHVzdCk7CiAgICAgICAgLy8gZGVyIEJ1ZmZlci1KYW51YXIgZGVzIEZvbGdl +amFocmVzIHdpcmQgaW4gZGVyIG5ldWVuIEFuc2ljaHQgc2ljaHRiYXIuCiAgICAgICAgLy8gKEZy +dWVoZXI6IGhhcnRlcyBhbHQrMSDigJQgaWdub3JpZXJ0ZSBkaWUgQXVzd2FobCB1bmQgc3ByYW5n +IHouQi4gdm9uCiAgICAgICAgLy8gIDIwMjcgdHJvdHogRWluZ2FiZSAyMDI2IGF1ZiAyMDI4LiBK +ZXR6dCB6aWVsZ2VuYXUuKQogICAgICAgIHZhciBidG5KYWhyZXN3ZWNoc2VsID0gZG9jdW1lbnQu +Z2V0RWxlbWVudEJ5SWQoJ2J0bi1qYWhyZXN3ZWNoc2VsJyk7CiAgICAgICAgaWYgKGJ0bkphaHJl +c3dlY2hzZWwpIGJ0bkphaHJlc3dlY2hzZWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5j +dGlvbigpIHsKICAgICAgICAgICAgdmFyIGFsdCA9IFouYWRtaW4uamFociB8fCBuZXcgRGF0ZSgp +LmdldEZ1bGxZZWFyKCk7CiAgICAgICAgICAgIHZhciBmZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVu +dEJ5SWQoJ2VpbnMtamFocicpOwogICAgICAgICAgICB2YXIgbmV1ID0gcGFyc2VJbnQoZmVsZCA/ +IGZlbGQudmFsdWUgOiAnJywgMTApOwogICAgICAgICAgICBpZiAoIW5ldSB8fCBuZXUgPCAyMDIw +IHx8IG5ldSA+IDIwOTkpIHsKICAgICAgICAgICAgICAgIHRvYXN0KCdCaXR0ZSBlaW4gZ8O8bHRp +Z2VzIEphaHIgendpc2NoZW4gMjAyMCB1bmQgMjA5OSB3w6RobGVuJywgJ3dhcm51bmcnKTsKICAg +ICAgICAgICAgICAgIGlmIChmZWxkKSBmZWxkLnZhbHVlID0gYWx0OwogICAgICAgICAgICAgICAg +cmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChuZXUgPT09IGFsdCkgewogICAg +ICAgICAgICAgICAgdG9hc3QoJ0RhcyBQbGFudW5nc2phaHIgaXN0IGJlcmVpdHMgJyArIGFsdCAr +ICcuJywgJ2luZm8nKTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAg +ICAgICAgICB2YXIgcmljaHR1bmcgPSBuZXUgPiBhbHQgPyAndm9yJyA6ICd6dXLDvGNrJzsKICAg +ICAgICAgICAgYmVzdGFldGlnZW4oJ1BsYW51bmdzamFociB2b24gJyArIGFsdCArICcgYXVmICcg +KyBuZXUgKyAnIHdlY2hzZWxuICgnICsgcmljaHR1bmcgKyAnKT9cblxuJyArCiAgICAgICAgICAg +ICAgICAnRGllIFBsYW51bmdzYW5zaWNodCB6ZWlndCBkYW5hY2ggSmFudWFyICcgKyBuZXUgKyAn +IGJpcyBKYW51YXIgJyArIChuZXUgKyAxKSArICcuXG4nICsKICAgICAgICAgICAgICAgICdLZWlu +IERhdGVudmVybHVzdCDigJQgYWxsZSBFaW50csOkZ2UgYmxlaWJlbiB1bnRlciBpaHJlbSBEYXR1 +bSBlcmhhbHRlbi4nLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGFwaVB1dCgnL2FwaS9h +ZG1pbi9laW5zdGVsbHVuZ2VuJywgeyBqYWhyOiBuZXUgfSkudGhlbihmdW5jdGlvbigpIHsKICAg +ICAgICAgICAgICAgICAgICB0b2FzdCgnUGxhbnVuZ3NqYWhyICcgKyBuZXUgKyAnIOKAlCBTZWl0 +ZSB3aXJkIG5ldSBnZWxhZGVuJywgJ2VyZm9sZycpOwogICAgICAgICAgICAgICAgICAgIHNldFRp +bWVvdXQoZnVuY3Rpb24oKSB7IHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTsgfSwgODAwKTsKICAg +ICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsgdG9hc3QoJ0ZlaGxlcjogJyArIGUu +bWVzc2FnZSwgJ2ZlaGxlcicpOyB9KTsKICAgICAgICAgICAgfSwgeyB0aXRlbDogJ0phaHIgd2Vj +aHNlbG4nLCBqYVRleHQ6ICdXZWNoc2VsbicgfSk7CiAgICAgICAgfSk7CgogICAgICAgIC8vIEZl +aWVydGFnZQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tZmVpZXJ0YWctbmV1 +JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgWi5h +ZG1pbi5mZWllcnRhZ2UgPSBaLmFkbWluLmZlaWVydGFnZSB8fCBbXTsKICAgICAgICAgICAgLy8g +RXJzdCBha3R1ZWxsIHNpY2h0YmFyZSBFaW5nYWJlbiBpbnMgTW9kZWxsIHp1cnVlY2tzcGllbGVu +LCBkYW1pdAogICAgICAgICAgICAvLyB1bmJla2FubnRlIEVkaXRzIGJlaW0gUmUtUmVuZGVyIG5p +Y2h0IHZlcmxvcmVuIGdlaGVuLgogICAgICAgICAgICB2YXIgYWt0dWVsbCA9IGZlaWVydGFnZUF1 +c1RhYmVsbGVMZXNlbigpOwogICAgICAgICAgICBpZiAoYWt0dWVsbC5sZW5ndGgpIFouYWRtaW4u +ZmVpZXJ0YWdlID0gYWt0dWVsbDsKICAgICAgICAgICAgLy8gRGVmYXVsdC1LYXRlZ29yaWUgYXVz +IGRlbSBha3R1ZWxsZW4gRmlsdGVyIChmYWxscyBlaW5lIGJlc3RpbW10ZQogICAgICAgICAgICAv +LyBLYXRlZ29yaWUgZ2VmaWx0ZXJ0IGlzdCksIHNvbnN0IGdlc2V0emxpY2guCiAgICAgICAgICAg +IHZhciBrYXRGaWx0ZXIgPSAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZlaWVydGFnZS1maWx0 +ZXIta2F0ZWdvcmllJykgfHwge30pLnZhbHVlOwogICAgICAgICAgICB2YXIga2F0TmV1ID0gKGth +dEZpbHRlciAmJiBrYXRGaWx0ZXIgIT09ICdhbGxlJykgPyBrYXRGaWx0ZXIgOiAnZ2VzZXR6bGlj +aCc7CiAgICAgICAgICAgIFouYWRtaW4uZmVpZXJ0YWdlLnB1c2goewogICAgICAgICAgICAgICAg +ZGF0dW06ICcnLAogICAgICAgICAgICAgICAgYmV6ZWljaG51bmc6ICcnLAogICAgICAgICAgICAg +ICAga2F0ZWdvcmllOiBrYXROZXUsCiAgICAgICAgICAgICAgICBha3RpdjogdHJ1ZSwKICAgICAg +ICAgICAgICAgIHdpY2h0aWc6IGZhbHNlLAogICAgICAgICAgICAgICAgaWNvbjogJycsCiAgICAg +ICAgICAgICAgICBrdXJ6YmVzY2hyZWlidW5nOiAnJywKICAgICAgICAgICAgICAgIGluZm9Vcmw6 +ICcnCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBmZWllcnRhZ2VUYWJlbGxlUmVuZGVybigp +OwogICAgICAgIH0pOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmZWllcnRhZ2Ut +dGJvZHknKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAg +ICAgLy8gSWNvbi1QaWNrZXIgKGFuYWxvZyB6dSBTb25kZXJ0ZXJtaW5lbikuIFNldHp0IGRhcyBo +aWRkZW4gZmllbGQKICAgICAgICAgICAgLy8gJ2ljb24nIHVuZCBha3R1YWxpc2llcnQgZGVuIEJ1 +dHRvbi1UZXh0LiBSZXNldCBhdWYgS2F0ZWdvcmllLURlZmF1bHQKICAgICAgICAgICAgLy8gZXJm +b2xndCwgaW5kZW0gZGVyIFVzZXIgaW0gUGlja2VyIGRhcyBSZXNldC1TeW1ib2wgd2FlaGx0IOKA +lCBkYQogICAgICAgICAgICAvLyBlbW9qaVBpY2tlclplaWdlbiBkYXMgbmljaHQgZGlyZWt0IGFu +YmlldGV0LCBrYW5uIGRlciBVc2VyIGF1Y2gKICAgICAgICAgICAgLy8gZGFzIGFrdHVlbGxlIElj +b24tRmVsZCBtYW51ZWxsIGxlZXJlbiB1ZWJlciBEZXZUb29sczsgZWluZmFjaHN0ZQogICAgICAg +ICAgICAvLyBQcmF4aXMtTG9lc3VuZzogZWluZmFjaCBlaW4gYW5kZXJlcyBJY29uIHdhZWhsZW4u +CiAgICAgICAgICAgIHZhciBpY29uQnRuID0gZS50YXJnZXQuY2xvc2VzdCgnLmZlaWVydGFnLWlj +b24tYnRuJyk7CiAgICAgICAgICAgIGlmIChpY29uQnRuKSB7CiAgICAgICAgICAgICAgICBlLnN0 +b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICAgZW1vamlQaWNrZXJaZWlnZW4oaWNvbkJ0 +biwgZnVuY3Rpb24odikgewogICAgICAgICAgICAgICAgICAgIHZhciBpZHggPSBpY29uQnRuLmdl +dEF0dHJpYnV0ZSgnZGF0YS1pZHgnKTsKICAgICAgICAgICAgICAgICAgICB2YXIgaGlkZGVuID0g +ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmZlaWVydGFnLWlucHV0W2RhdGEtZmVsZD0iaWNvbiJd +W2RhdGEtaWR4PSInICsgaWR4ICsgJyJdJyk7CiAgICAgICAgICAgICAgICAgICAgaWYgKGhpZGRl +bikgewogICAgICAgICAgICAgICAgICAgICAgICBoaWRkZW4udmFsdWUgPSB2IHx8ICcnOwogICAg +ICAgICAgICAgICAgICAgICAgICBoaWRkZW4uZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2NoYW5n +ZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg +ICAgICAgICAgIGljb25CdG4udGV4dENvbnRlbnQgPSB2IHx8ICfigJQnOwogICAgICAgICAgICAg +ICAgfSk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAg +dmFyIGluZm9CdG4gPSBlLnRhcmdldC5jbG9zZXN0KCcuZmVpZXJ0YWctaW5mby1idG4nKTsKICAg +ICAgICAgICAgaWYgKGluZm9CdG4pIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9u +KCk7CiAgICAgICAgICAgICAgICBmZWllcnRhZ2VJbmZvTW9kYWxaZWlnZW4oaW5mb0J0bi5nZXRB +dHRyaWJ1dGUoJ2RhdGEtaWR4JykpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAg +ICB9CiAgICAgICAgICAgIHZhciBidG4gPSBlLnRhcmdldC5jbG9zZXN0KCdbZGF0YS1ha3Rpb249 +ImZlaWVydGFnLWxvZXNjaGVuIl0nKTsKICAgICAgICAgICAgaWYgKGJ0bikgeyBaLmFkbWluLmZl +aWVydGFnZS5zcGxpY2UocGFyc2VJbnQoYnRuLmdldEF0dHJpYnV0ZSgnZGF0YS1pZHgnKSksIDEp +OyBmZWllcnRhZ2VUYWJlbGxlUmVuZGVybigpOyB9CiAgICAgICAgfSk7CiAgICAgICAgLy8gRmls +dGVyIChLYXRlZ29yaWUgLyBKYWhyIC8gbnVyIGFrdGl2ZSkKICAgICAgICBbJ2ZlaWVydGFnZS1m +aWx0ZXIta2F0ZWdvcmllJywgJ2ZlaWVydGFnZS1maWx0ZXItamFocicsICdmZWllcnRhZ2UtZmls +dGVyLW51ci1ha3RpdiddLmZvckVhY2goZnVuY3Rpb24oaWQpIHsKICAgICAgICAgICAgdmFyIGVs +ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOwogICAgICAgICAgICBpZiAoZWwpIGVsLmFk +ZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGZlaWVydGFnZUZpbHRlckFud2VuZGVuKTsKICAgICAg +ICB9KTsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnRuLWZlaWVydGFnZS1zcGVp +Y2hlcm4nKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAg +ICB2YXIgZGF0ZW4gPSBmZWllcnRhZ2VBdXNUYWJlbGxlTGVzZW4oKTsKICAgICAgICAgICAgYXBp +UHV0KCcvYXBpL2FkbWluL2ZlaWVydGFnZScsIGRhdGVuKS50aGVuKGZ1bmN0aW9uKCkgewogICAg +ICAgICAgICAgICAgWi5hZG1pbi5mZWllcnRhZ2UgPSBkYXRlbjsKICAgICAgICAgICAgICAgIHRh +Z0luZm9zQmVyZWNobmVuKCk7CiAgICAgICAgICAgICAgICBrb3BmUmVuZGVybigpOyAgICAgICAg +Ly8gRmVpZXJ0YWdzLUhpZ2hsaWdodCBpbiBkZXIgSGF1cHRwbGFudW5ncy1IZWFkZXItWmVpbGUg +YXVmZnJpc2NoZW4KICAgICAgICAgICAgICAgIGRpcnR5U2V0emVuKCdmZWllcnRhZ2UnLCBmYWxz +ZSk7CiAgICAgICAgICAgICAgICAvLyAiTnVyIGFrdGl2ZSB6ZWlnZW4iLUZpbHRlciB6dXJ1ZWNr +c2V0emVuIOKAlCBzb25zdCBzaWVodCBkZXIgVXNlcgogICAgICAgICAgICAgICAgLy8gZ2VyYWRl +IGhpbnp1Z2VmdWVndGUgKGluYWt0aXZlKSBGZWllcnRhZ2UgbmFjaCBkZW0gU2F2ZSBuaWNodAog +ICAgICAgICAgICAgICAgLy8gdW5kIGdsYXVidCwgZGllIExpc3RlIHNlaSB2ZXJzY2h3dW5kZW4u +CiAgICAgICAgICAgICAgICB2YXIgbnVyQWt0aXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn +ZmVpZXJ0YWdlLWZpbHRlci1udXItYWt0aXYnKTsKICAgICAgICAgICAgICAgIGlmIChudXJBa3Rp +diAmJiBudXJBa3Rpdi5jaGVja2VkKSB7CiAgICAgICAgICAgICAgICAgICAgbnVyQWt0aXYuY2hl +Y2tlZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGZlaWVydGFnZUZpbHRlckFud2VuZGVu +KCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB0b2FzdCgnRmVpZXJ0YWdlIGdl +c3BlaWNoZXJ0JywgJ2VyZm9sZycpOwogICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlKSB7 +IHRvYXN0KCdGZWhsZXI6ICcgKyBlLm1lc3NhZ2UsICdmZWhsZXInKTsgfSk7CiAgICAgICAgfSk7 +CgogICAgICAgIC8vIEZlcmllbgogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4t +ZmVyaWVuLW5ldScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAg +ICAgICAgIFouYWRtaW4uZmVyaWVuID0gWi5hZG1pbi5mZXJpZW4gfHwgW107CiAgICAgICAgICAg +IFouYWRtaW4uZmVyaWVuLnB1c2goeyB2b246ICcnLCBiaXM6ICcnLCBuYW1lOiAnJyB9KTsKICAg +ICAgICAgICAgZmVyaWVuVGFiZWxsZVJlbmRlcm4oKTsKICAgICAgICB9KTsKICAgICAgICBkb2N1 +bWVudC5nZXRFbGVtZW50QnlJZCgnZmVyaWVuLXRib2R5JykuYWRkRXZlbnRMaXN0ZW5lcignY2xp +Y2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciBidG4gPSBlLnRhcmdldC5jbG9zZXN0 +KCdbZGF0YS1ha3Rpb249ImZlcmllbi1sb2VzY2hlbiJdJyk7CiAgICAgICAgICAgIGlmIChidG4p +IHsgWi5hZG1pbi5mZXJpZW4uc3BsaWNlKHBhcnNlSW50KGJ0bi5nZXRBdHRyaWJ1dGUoJ2RhdGEt +aWR4JykpLCAxKTsgZmVyaWVuVGFiZWxsZVJlbmRlcm4oKTsgfQogICAgICAgIH0pOwogICAgICAg +IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tZmVyaWVuLXNwZWljaGVybicpLmFkZEV2ZW50 +TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBkYXRlbiA9IGZl +cmllbkF1c1RhYmVsbGVMZXNlbigpOwogICAgICAgICAgICBhcGlQdXQoJy9hcGkvYWRtaW4vZmVy +aWVuJywgZGF0ZW4pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBaLmFkbWluLmZl +cmllbiA9IGRhdGVuOwogICAgICAgICAgICAgICAgdGFnSW5mb3NCZXJlY2huZW4oKTsKICAgICAg +ICAgICAgICAgIGtvcGZSZW5kZXJuKCk7ICAgICAgICAvLyBGZXJpZW4tTWFya2llcnVuZyBpbiBk +ZXIgSGF1cHRwbGFudW5ncy1IZWFkZXItWmVpbGUgYXVmZnJpc2NoZW4KICAgICAgICAgICAgICAg +IGRpcnR5U2V0emVuKCdmZXJpZW4nLCBmYWxzZSk7CiAgICAgICAgICAgICAgICB0YWJEcmFmdExv +ZXNjaGVuKCdmZXJpZW4nKTsKICAgICAgICAgICAgICAgIHRvYXN0KCdGZXJpZW4gZ2VzcGVpY2hl +cnQnLCAnZXJmb2xnJyk7CiAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsgdG9hc3Qo +J0ZlaGxlcjogJyArIGUubWVzc2FnZSwgJ2ZlaGxlcicpOyB9KTsKICAgICAgICB9KTsKCiAgICAg +ICAgLy8gU29uZGVydGVybWluZSDigJQgTmV1YW5sYWdlIMO2ZmZuZXQgTW9kYWwKICAgICAgICBk +b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnRuLXNvbmRlcnRlcm1pbi1uZXUnKS5hZGRFdmVudExp +c3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICBzb25kZXJFZGl0TW9kYWxa +ZWlnZW4oJycpOwogICAgICAgIH0pOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdz +b25kZXJ0ZXJtaW5lLXRib2R5JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihl +KSB7CiAgICAgICAgICAgIHZhciBiZWFyYiA9IGUudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWFrdGlv +bj0ic29uZGVyLWJlYXJiZWl0ZW4iXScpOwogICAgICAgICAgICBpZiAoYmVhcmIpIHsgc29uZGVy +RWRpdE1vZGFsWmVpZ2VuKGJlYXJiLmdldEF0dHJpYnV0ZSgnZGF0YS1pZCcpKTsgcmV0dXJuOyB9 +CiAgICAgICAgICAgIHZhciBsb2VzY2ggPSBlLnRhcmdldC5jbG9zZXN0KCdbZGF0YS1ha3Rpb249 +InNvbmRlci1sb2VzY2hlbiJdJyk7CiAgICAgICAgICAgIGlmIChsb2VzY2gpIHsKICAgICAgICAg +ICAgICAgIHZhciBpZCA9IGxvZXNjaC5nZXRBdHRyaWJ1dGUoJ2RhdGEtaWQnKTsKICAgICAgICAg +ICAgICAgIHZhciBzID0gc29uZGVyQnlJZChpZCk7CiAgICAgICAgICAgICAgICBpZiAoIXMpIHJl +dHVybjsKICAgICAgICAgICAgICAgIHZhciBzTGFiZWwgPSBzLnRpdGVsIHx8IHNvbmRlclRpdGVs +QXVzVGV4dChzLnRleHQpIHx8ICcob2huZSBUaXRlbCknOwogICAgICAgICAgICAgICAgYmVzdGFl +dGlnZW4oJ0hpbndlaXMg4oCeJyArIHNMYWJlbCArICciICgnICsgc29uZGVyRGF0dW1MYWJlbChz +KSArICcpIHdpcmtsaWNoIGzDtnNjaGVuPycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAg +ICAgIHZhciBsaXN0ZSA9IChaLmFkbWluLnNvbmRlcnRlcm1pbmUgfHwgW10pLmZpbHRlcihmdW5j +dGlvbih4KSB7IHJldHVybiB4LmlkICE9PSBpZDsgfSk7CiAgICAgICAgICAgICAgICAgICAgYXBp +UHV0KCcvYXBpL2FkbWluL3NvbmRlcnRlcm1pbmUnLCBsaXN0ZSkudGhlbihmdW5jdGlvbigpIHsK +ICAgICAgICAgICAgICAgICAgICAgICAgWi5hZG1pbi5zb25kZXJ0ZXJtaW5lID0gbGlzdGU7CiAg +ICAgICAgICAgICAgICAgICAgICAgIHRhZ0luZm9zQmVyZWNobmVuKCk7CiAgICAgICAgICAgICAg +ICAgICAgICAgIGtvcGZSZW5kZXJuKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNvbmRlcnRl +cm1pbmVSZW5kZXJuKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHRvYXN0KCdIaW53ZWlzIGdl +bMO2c2NodCcsICdlcmZvbGcnKTsKICAgICAgICAgICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlv +bihlKSB7IHRvYXN0KCdGZWhsZXI6ICcgKyBlLm1lc3NhZ2UsICdmZWhsZXInKTsgfSk7CiAgICAg +ICAgICAgICAgICB9LCB7IHRpdGVsOiAnSGlud2VpcyBsw7ZzY2hlbicsIGphRGFuZ2VyOiB0cnVl +IH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CgogICAgICAgIC8vIEJhY2t1cHMKICAgICAg +ICB2YXIgYnRuQmtOZXUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnRuLWJhY2t1cC1uZXUn +KTsKICAgICAgICBpZiAoYnRuQmtOZXUpIGJ0bkJrTmV1LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNr +JywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGFwaVBvc3QoJy9hcGkvcGxhbnVuZy9iYWNrdXAn +LCB7fSkudGhlbihmdW5jdGlvbihyKSB7CiAgICAgICAgICAgICAgICB0b2FzdCgnQmFja3VwIGVy +c3RlbGx0OiAnICsgci5kYXRlaW5hbWUsICdlcmZvbGcnKTsKICAgICAgICAgICAgICAgIGJhY2t1 +cFRhYmVsbGVMYWRlbigpOwogICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlKSB7IHRvYXN0 +KCdGZWhsZXI6ICcgKyBlLm1lc3NhZ2UsICdmZWhsZXInKTsgfSk7CiAgICAgICAgfSk7CiAgICAg +ICAgdmFyIGJrVGJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmFja3VwLXRib2R5Jyk7 +CiAgICAgICAgaWYgKGJrVGJvZHkpIGJrVGJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBm +dW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciBidG4gPSBlLnRhcmdldC5jbG9zZXN0KCdbZGF0 +YS1ha3Rpb25dJyk7CiAgICAgICAgICAgIGlmICghYnRuKSByZXR1cm47CiAgICAgICAgICAgIHZh +ciBkYXRlaSA9IGJ0bi5nZXRBdHRyaWJ1dGUoJ2RhdGEtZGF0ZWknKTsKICAgICAgICAgICAgdmFy +IGFrdGlvbiA9IGJ0bi5nZXRBdHRyaWJ1dGUoJ2RhdGEtYWt0aW9uJyk7CiAgICAgICAgICAgIGlm +IChha3Rpb24gPT09ICdiYWNrdXAtZG93bmxvYWQnKSB7CiAgICAgICAgICAgICAgICB3aW5kb3cu +b3BlbignL2FwaS9wbGFudW5nL2JhY2t1cC9kb3dubG9hZC8nICsgZW5jb2RlVVJJQ29tcG9uZW50 +KGRhdGVpKSwgJ19ibGFuaycpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9 +CiAgICAgICAgICAgIGlmIChha3Rpb24gPT09ICdiYWNrdXAtbG9lc2NoZW4nKSB7CiAgICAgICAg +ICAgICAgICBiZXN0YWV0aWdlbignQmFja3VwIOKAnicgKyBkYXRlaSArICciIGVuZGfDvGx0aWcg +bMO2c2NoZW4/XG5cbkRpZXNlIEFrdGlvbiBrYW5uIG5pY2h0IHLDvGNrZ8OkbmdpZyBnZW1hY2h0 +IHdlcmRlbi4nLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBhcGlQb3N0KCcvYXBp +L3BsYW51bmcvYmFja3VwL2xvZXNjaGVuJywgeyBkYXRlaW5hbWU6IGRhdGVpIH0pLnRoZW4oZnVu +Y3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRvYXN0KCdCYWNrdXAgZ2Vsw7ZzY2h0 +JywgJ2VyZm9sZycpOwogICAgICAgICAgICAgICAgICAgICAgICBiYWNrdXBUYWJlbGxlTGFkZW4o +KTsKICAgICAgICAgICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlcnIpIHsgdG9hc3QoJ0Zl +aGxlcjogJyArIGVyci5tZXNzYWdlLCAnZmVobGVyJyk7IH0pOwogICAgICAgICAgICAgICAgfSwg +eyB0aXRlbDogJ0JhY2t1cCBsw7ZzY2hlbicsIGphRGFuZ2VyOiB0cnVlIH0pOwogICAgICAgICAg +ICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChha3Rpb24gPT09ICdi +YWNrdXAtd2llZGVyaGVyc3RlbGxlbicpIHsKICAgICAgICAgICAgICAgIGJlc3RhZXRpZ2VuKCdB +a3R1ZWxsZSBQbGFudW5nIGR1cmNoIEJhY2t1cCDigJ4nICsgZGF0ZWkgKyAnIiBlcnNldHplbj9c +blxuRXMgd2lyZCB2b3JoZXIgYXV0b21hdGlzY2ggZWluIFNpY2hlcmhlaXRzLUJhY2t1cCBkZXIg +YWt0dWVsbGVuIFBsYW51bmcgZXJzdGVsbHQuXG5cbk5hY2ggZGVtIFdpZWRlcmhlcnN0ZWxsZW4g +d2lyZCBkaWUgU2VpdGUgbmV1IGdlbGFkZW4uJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAg +ICAgICAgYXBpUG9zdCgnL2FwaS9wbGFudW5nL2JhY2t1cC93aWVkZXJoZXJzdGVsbGVuJywgeyBk +YXRlaW5hbWU6IGRhdGVpIH0pLnRoZW4oZnVuY3Rpb24ocikgewogICAgICAgICAgICAgICAgICAg +ICAgICB0b2FzdCgnV2llZGVyaGVyZ2VzdGVsbHQuIFNpY2hlcnVuZzogJyArIHIuc2ljaGVydW5n +LCAnZXJmb2xnJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJhY2t1cC1SZXN0b3JlIGVy +emV1Z3Qgc2VpdCBQaGFzZSA0ICgyMDI2LTA1LTIwKSBlaW5lbgogICAgICAgICAgICAgICAgICAg +ICAgICAvLyBTZXJ2ZXItc2VpdGlnZW4gSW4tQXBwLUhpbndlaXMgc3RhdHQgbWFpbHRvLgogICAg +ICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB3aW5kb3cubG9jYXRp +b24ucmVsb2FkKCk7IH0sIDEyMDApOwogICAgICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0 +aW9uKGVycikgeyB0b2FzdCgnRmVobGVyOiAnICsgZXJyLm1lc3NhZ2UsICdmZWhsZXInKTsgfSk7 +CiAgICAgICAgICAgICAgICB9LCB7IHRpdGVsOiAnQmFja3VwIHdpZWRlcmhlcnN0ZWxsZW4nLCBq +YVRleHQ6ICdXaWVkZXJoZXJzdGVsbGVuJywgamFEYW5nZXI6IHRydWUgfSk7CiAgICAgICAgICAg +IH0KICAgICAgICB9KTsKCiAgICAgICAgLy8gU2NoaWNodGNvZGVzCiAgICAgICAgdmFyIGJ0blNj +TmV1ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J0bi1zY2hpY2h0Y29kZS1uZXUnKTsKICAg +ICAgICBpZiAoYnRuU2NOZXUpIGJ0blNjTmV1LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVu +Y3Rpb24oKSB7IHNjaGljaHRjb2RlRWRpdE1vZGFsWmVpZ2VuKG51bGwpOyB9KTsKICAgICAgICB2 +YXIgc2NWb3JzY2hhdSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY2hpY2h0Y29kZS12b3Jz +Y2hhdScpOwogICAgICAgIGlmIChzY1ZvcnNjaGF1KSBzY1ZvcnNjaGF1LmFkZEV2ZW50TGlzdGVu +ZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgZWRpdCA9IGUudGFyZ2V0 +LmNsb3Nlc3QoJ1tkYXRhLWFrdGlvbj0ic2NoaWNodGNvZGUtYmVhcmJlaXRlbiJdJyk7CiAgICAg +ICAgICAgIGlmIChlZGl0KSB7IHNjaGljaHRjb2RlRWRpdE1vZGFsWmVpZ2VuKGVkaXQuZ2V0QXR0 +cmlidXRlKCdkYXRhLWNvZGUnKSk7IHJldHVybjsgfQogICAgICAgICAgICB2YXIgdG9nID0gZS50 +YXJnZXQuY2xvc2VzdCgnW2RhdGEtYWt0aW9uPSJzY2hpY2h0Y29kZS10b2dnbGUiXScpOwogICAg +ICAgICAgICBpZiAodG9nKSBzY2hpY2h0Y29kZVRvZ2dsZUFrdGl2KHRvZy5nZXRBdHRyaWJ1dGUo +J2RhdGEtY29kZScpKTsKICAgICAgICB9KTsKCiAgICAgICAgLy8gU29uZGVydGVybWluLUtsaWNr +cyBsYXVmZW4gc2VpdCBNYWkgMjAyNiB1ZWJlciBkZW4gQW5sYXNzLVplaWxlbi0KICAgICAgICAv +LyBIYW5kbGVyIChzaWVoZSBvYmVuKSwgd2VpbCBkaWUgZWhlbWFscyBzZXBhcmF0ZSBFdmVudHMt +WmVpbGUgaW4KICAgICAgICAvLyBkaWUgQW5sYXNzLVplaWxlIHp1c2FtbWVuZ2VmdWVocnQgd3Vy +ZGUuCgogICAgICAgIC8vIEVyc2NoZWludW5nc2JpbGQtRWRpdG9yOiBiZWkgamVkZW0gSW5wdXQg +bGl2ZSBhbndlbmRlbiAobnVyIFouYWRtaW4ubWFya2llcnVuZ2VuCiAgICAgICAgLy8gaW4tbWVt +b3J5LCBwZXJzaXN0aWVydCB3aXJkIGVyc3QgYmVpbSBTcGVpY2hlcm4tS2xpY2spLgogICAgICAg +IC8vIFJhbmdlICsgTnVtYmVyLUlucHV0IGZ1ZXIgZGFzc2VsYmUgRmVsZCB3ZXJkZW4gaGllciBz +eW5jaHJvbmlzaWVydC4KICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcs +IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgaWYgKCFlLnRhcmdldC5jbGFzc0xpc3QgfHwgIWUu +dGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnZXJzY2hlaW51bmctaW5wdXQnKSkgcmV0dXJuOwog +ICAgICAgICAgICAvLyBSYW5nZSA8LT4gTnVtYmVyOiBQYXJ0bmVyLUlucHV0IG1pdCBnbGVpY2hl +bSBkYXRhLWtleS9kYXRhLWZlbGQKICAgICAgICAgICAgLy8gYXVmIGRlbiBnbGVpY2hlbiBXZXJ0 +IHNldHplbiAoZ2xlaWNoZXIgQ29udGFpbmVyKS4KICAgICAgICAgICAgaWYgKGUudGFyZ2V0LmNs +YXNzTGlzdC5jb250YWlucygnZXJzY2hlaW51bmctaW5wdXQtcmFuZ2UnKSB8fAogICAgICAgICAg +ICAgICAgZS50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdlcnNjaGVpbnVuZy1pbnB1dC1udW0n +KSkgewogICAgICAgICAgICAgICAgdmFyIGsgPSBlLnRhcmdldC5nZXRBdHRyaWJ1dGUoJ2RhdGEt +a2V5Jyk7CiAgICAgICAgICAgICAgICB2YXIgZiA9IGUudGFyZ2V0LmdldEF0dHJpYnV0ZSgnZGF0 +YS1mZWxkJyk7CiAgICAgICAgICAgICAgICB2YXIgd3JhcCA9IGUudGFyZ2V0LmNsb3Nlc3QoJy5l +cnNjaGVpbnVuZy1zbGlkZXItd3JhcCcpOwogICAgICAgICAgICAgICAgaWYgKHdyYXApIHsKICAg +ICAgICAgICAgICAgICAgICB3cmFwLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLWtleT0iJyArIGsg +KyAnIl1bZGF0YS1mZWxkPSInICsgZiArICciXScpLmZvckVhY2goZnVuY3Rpb24oaW5wKSB7CiAg +ICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnAgIT09IGUudGFyZ2V0ICYmIGlucC52YWx1ZSAh +PT0gZS50YXJnZXQudmFsdWUpIGlucC52YWx1ZSA9IGUudGFyZ2V0LnZhbHVlOwogICAgICAgICAg +ICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAg +IHZvcnNjaGF1QWt0dWFsaXNpZXJlbigpOwogICAgICAgIH0pOwogICAgICAgIGRvY3VtZW50LmFk +ZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgaWYgKCFl +LnRhcmdldC5jbGFzc0xpc3QpIHJldHVybjsKICAgICAgICAgICAgaWYgKGUudGFyZ2V0LmNsYXNz +TGlzdC5jb250YWlucygnZXJzY2hlaW51bmctaW5wdXQnKSkgewogICAgICAgICAgICAgICAgdm9y +c2NoYXVBa3R1YWxpc2llcmVuKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICBk +b2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAg +ICAgaWYgKCFlLnRhcmdldCkgcmV0dXJuOwogICAgICAgICAgICB2YXIgZWwgPSBlLnRhcmdldDsK +ICAgICAgICAgICAgaWYgKGVsLmlkID09PSAnZXJzY2hlaW51bmctc3BlaWNoZXJuJykgeyBlcnNj +aGVpbnVuZ3NiaWxkU3BlaWNoZXJuKCk7IHJldHVybjsgfQogICAgICAgICAgICBpZiAoZWwuaWQg +PT09ICdlcnNjaGVpbnVuZy16dXJ1ZWNrc2V0emVuJykgeyBlcnNjaGVpbnVuZ3NiaWxkWnVydWVj +a3NldHplbigpOyByZXR1cm47IH0KICAgICAgICAgICAgaWYgKGVsLmNsYXNzTGlzdCAmJiBlbC5j +bGFzc0xpc3QuY29udGFpbnMoJ2Vyc2NoZWludW5nLWZsYXNoLXRlc3QnKSkgeyBzeW5jRmxhc2hW +b3JzY2hhdSgpOyByZXR1cm47IH0KICAgICAgICAgICAgLy8gVGFiLVdlY2hzZWwgaW0gbmV1ZW4g +TGF5b3V0IChLbGljayBhdWYgVGFiLUJ1dHRvbiBvZGVyIHNlaW5lbiBJbmhhbHQpCiAgICAgICAg +ICAgIHZhciB0YWJCdG4gPSBlbC5jbG9zZXN0ICYmIGVsLmNsb3Nlc3QoJ1tkYXRhLWVyc2NoZWlu +dW5nLXRhYl0nKTsKICAgICAgICAgICAgaWYgKHRhYkJ0bikgeyBlcnNjaGVpbnVuZ3NUYWJXZWNo +c2Vsbih0YWJCdG4uZ2V0QXR0cmlidXRlKCdkYXRhLWVyc2NoZWludW5nLXRhYicpKTsgcmV0dXJu +OyB9CiAgICAgICAgICAgIC8vIEtsaWNrIGF1ZiBlaW5lIFZvcnNjaGF1LVplaWxlIHdlY2hzZWx0 +IGViZW5mYWxscyBkZW4gRWRpdG9yLVRhYgogICAgICAgICAgICB2YXIgdm9yc2NoYXVaZWlsZSA9 +IGVsLmNsb3Nlc3QgJiYgZWwuY2xvc2VzdCgnLmVyc2NoZWludW5nLXZvcnNjaGF1LXplaWxlJyk7 +CiAgICAgICAgICAgIGlmICh2b3JzY2hhdVplaWxlICYmIHZvcnNjaGF1WmVpbGUuZ2V0QXR0cmli +dXRlKCdkYXRhLXR5cCcpKSB7CiAgICAgICAgICAgICAgICBlcnNjaGVpbnVuZ3NUYWJXZWNoc2Vs +bih2b3JzY2hhdVplaWxlLmdldEF0dHJpYnV0ZSgnZGF0YS10eXAnKSk7CiAgICAgICAgICAgICAg +ICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gRmFyYi1YIChUb2dnbGUgbGVl +ci9TdGFuZGFyZCkKICAgICAgICAgICAgaWYgKGVsLmNsYXNzTGlzdCAmJiBlbC5jbGFzc0xpc3Qu +Y29udGFpbnMoJ2Vyc2NoZWludW5nLWZhcmIteCcpKSB7CiAgICAgICAgICAgICAgICBlcnNjaGVp +bnVuZ0ZhcmJlVG9nZ2xlKGVsLmdldEF0dHJpYnV0ZSgnZGF0YS1rZXknKSwgZWwuZ2V0QXR0cmli +dXRlKCdkYXRhLWZlbGQnKSk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0K +ICAgICAgICAgICAgLy8gVHlwLVJlc2V0IChwcm8gYWt0aXZlbSBCbG9jaykKICAgICAgICAgICAg +aWYgKGVsLmNsYXNzTGlzdCAmJiBlbC5jbGFzc0xpc3QuY29udGFpbnMoJ2Vyc2NoZWludW5nLXR5 +cC1yZXNldCcpKSB7CiAgICAgICAgICAgICAgICBlcnNjaGVpbnVuZ3NUeXBadXJ1ZWNrc2V0emVu +KGVsLmdldEF0dHJpYnV0ZSgnZGF0YS10eXAnKSk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAg +ICAgICAgICAgIH0KICAgICAgICB9KTsKCiAgICAgICAgLy8gRmVhdHVyZS1Ub2dnbGVzCiAgICAg +ICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgZnVuY3Rpb24oZSkgewogICAg +ICAgICAgICBpZiAoIWUudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnZmVhdHVyZS1jaGVja2Jv +eCcpKSByZXR1cm47CiAgICAgICAgICAgIHZhciBrZXkgPSBlLnRhcmdldC5nZXRBdHRyaWJ1dGUo +J2RhdGEtZmVhdHVyZScpOwogICAgICAgICAgICBpZiAoIVouYWRtaW4uZmVhdHVyZXMpIFouYWRt +aW4uZmVhdHVyZXMgPSB7fTsKICAgICAgICAgICAgWi5hZG1pbi5mZWF0dXJlc1trZXldID0gZS50 +YXJnZXQuY2hlY2tlZDsKICAgICAgICAgICAgYXBpUHV0KCcvYXBpL2FkbWluJywgWi5hZG1pbiku +dGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHRvYXN0KGZlYXR1cmVMYWJlbHNba2V5 +XS5sYWJlbCArIChlLnRhcmdldC5jaGVja2VkID8gJyBha3RpdmllcnQnIDogJyBkZWFrdGl2aWVy +dCcpLCAnZXJmb2xnJyk7CiAgICAgICAgICAgICAgICBmZWF0dXJlc1JlbmRlcm4oKTsKICAgICAg +ICAgICAgICAgIGlmICh0eXBlb2Yga29wZlJlbmRlcm4gPT09ICdmdW5jdGlvbicpIGtvcGZSZW5k +ZXJuKCk7CiAgICAgICAgICAgICAgICBpZiAoWi5zdGF0aXN0aWspIHN0YXRpc3Rpa1JlbmRlcm4o +KTsKICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZXJyKSB7IHRvYXN0KCdGZWhsZXI6ICcg +KyBlcnIubWVzc2FnZSwgJ2ZlaGxlcicpOyB9KTsKICAgICAgICB9KTsKCiAgICAgICAgLy8gR2xv +YmFsZSAiU2ljaHRiYXJrZWl0IGZ1ZXIgcmVndWxhZXJlIEFkbWlucyItVG9nZ2xlcyB3dXJkZW4K +ICAgICAgICAvLyAyMDI2LTA1LTIzIGVudGZlcm50IOKAlCBzaWVoZSBhZG1pbi5qcyBTdHViLUtv +bW1lbnRhci4KCiAgICAgICAgLy8gVGVzdGRhdGVuIOKAlCBhbmltaWVydGUgRm9ydHNjaHJpdHRz +LUJveCAoU3Bpbm5lciArIHVuYmVzdGltbXRlciBCYWxrZW4pCiAgICAgICAgLy8gc3RhdHQgc3Rh +dGlzY2hlbSBUZXh0LCBkYSBSZXNldC9EdW1teWRhdGVuIGplIG5hY2ggUEMgMS0yIHMgZGF1ZXJu +LgogICAgICAgIGZ1bmN0aW9uIHRlc3RkYXRlbkZvcnRzY2hyaXR0WmVpZ2VuKGVyZywgdGV4dCkg +ewogICAgICAgICAgICBlcmcuY2xhc3NOYW1lID0gJ2dlbi1wcm9ncmVzcy13cmFwJzsKICAgICAg +ICAgICAgZXJnLmlubmVySFRNTCA9ICc8ZGl2IGNsYXNzPSJnZW4tcHJvZ3Jlc3MtbGFiZWwiPicg +KyBlc2NhcGVIVE1MKHRleHQpICsgJzwvZGl2PicgKwogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgJzxkaXYgY2xhc3M9Imdlbi1wcm9ncmVzcy1iYXIiPjxzcGFuPjwvc3Bhbj48L2Rpdj4nOwog +ICAgICAgICAgICBlcmcuY2xhc3NMaXN0LnJlbW92ZSgndmVyc3RlY2t0Jyk7CiAgICAgICAgfQog +ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tZHVtbXlkYXRlbicpLmFkZEV2ZW50 +TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGJlc3RhZXRpZ2VuKAog +ICAgICAgICAgICAgICAgJ0R1bW15ZGF0ZW4gZWluc3BpZWxlbj9cblxuRGllcyDDvGJlcnNjaHJl +aWJ0IGFsbGUgYmVzdGVoZW5kZW4gRWludHLDpGdlIChKYW7igJNBcHIgMjAyNikuXG5FaW4gQmFj +a3VwIHdpcmQgYXV0b21hdGlzY2ggZXJzdGVsbHQuJywKICAgICAgICAgICAgICAgIGZ1bmN0aW9u +KCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlcmcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ +ZCgndGVzdGRhdGVuLWVyZ2VibmlzJyk7CiAgICAgICAgICAgICAgICAgICAgdGVzdGRhdGVuRm9y +dHNjaHJpdHRaZWlnZW4oZXJnLCAnRHVtbXlkYXRlbiB3ZXJkZW4gZ2VuZXJpZXJ0IOKApicpOwog +ICAgICAgICAgICAgICAgICAgIGFwaVBvc3QoJy9hcGkvcGxhbnVuZy9kdW1teWRhdGVuJywge30p +LnRoZW4oZnVuY3Rpb24ocikgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGJsID0gZXJn +LnF1ZXJ5U2VsZWN0b3IoJy5nZW4tcHJvZ3Jlc3MtbGFiZWwnKTsKICAgICAgICAgICAgICAgICAg +ICAgICAgaWYgKGxibCkgbGJsLnRleHRDb250ZW50ID0gJ0RhdGVuIGVyemV1Z3Qg4oCUIEFuc2lj +aHQgd2lyZCBha3R1YWxpc2llcnQg4oCmJzsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gRGly +ZWt0IG5ldSByZW5kZXJuIHN0YXR0IHNldFRpbWVvdXQrRjU6IGRhdGVuTGFkZW4gaG9sdCBkaWUK +ICAgICAgICAgICAgICAgICAgICAgICAgLy8gZnJpc2NoZW4gRGF0ZW4sIGdyaWRSZW5kZXJuIGJh +dXQgZGllIFRhZmVsIGtvbXBsZXR0IG5ldSBhdWYuCiAgICAgICAgICAgICAgICAgICAgICAgIHJl +dHVybiBkYXRlbkxhZGVuKCkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAg +ICAgICAgIGdyaWRSZW5kZXJuKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcmcuY2xh +c3NOYW1lID0gJ2dlbi1lcmZvbGcnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJnLnRl +eHRDb250ZW50ID0gKHIgJiYgci5laW50cmFlZ2UgIT0gbnVsbCA/IHIuZWludHJhZWdlICsgJyBF +aW50csOkZ2UgZ2VuZXJpZXJ0LiAnIDogJ0R1bW15ZGF0ZW4gZ2VuZXJpZXJ0LiAnKSArCiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHIgJiYgci5iYWNrdXAgPyAnQmFja3VwIGdlc2lj +aGVydDogJyArIHIuYmFja3VwICsgJy4nIDogJ0VpbiBCYWNrdXAgd3VyZGUgZ2VzaWNoZXJ0Licp +OwogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB9KS5jYXRj +aChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGVyZy5jbGFzc05hbWUgPSAn +Z2VuLWZlaGxlcic7CiAgICAgICAgICAgICAgICAgICAgICAgIGVyZy50ZXh0Q29udGVudCA9ICdG +ZWhsZXI6ICcgKyAoZSAmJiBlLm1lc3NhZ2UgPyBlLm1lc3NhZ2UgOiBlKTsKICAgICAgICAgICAg +ICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7IHRpdGVsOiAn +RHVtbXlkYXRlbiBlaW5zcGllbGVuJywgamFUZXh0OiAnRWluc3BpZWxlbicsIGphRGFuZ2VyOiB0 +cnVlIH0KICAgICAgICAgICAgKTsKICAgICAgICB9KTsKICAgICAgICBkb2N1bWVudC5nZXRFbGVt +ZW50QnlJZCgnYnRuLXJlc2V0JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigp +IHsKICAgICAgICAgICAgYmVzdGFldGlnZW4oCiAgICAgICAgICAgICAgICAnUGxhbnVuZyB3aXJr +bGljaCB6dXLDvGNrc2V0emVuP1xuXG5BTExFIEVpbnRyw6RnZSB1bmQgS29tbWVudGFyZSB3ZXJk +ZW4gZ2Vsw7ZzY2h0IVxuUGVyc29uZW4gdW5kIEVpbnN0ZWxsdW5nZW4gYmxlaWJlbiBlcmhhbHRl +bi5cbkVpbiBCYWNrdXAgd2lyZCBhdXRvbWF0aXNjaCBlcnN0ZWxsdC4nLAogICAgICAgICAgICAg +ICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGVyZyA9IGRvY3VtZW50Lmdl +dEVsZW1lbnRCeUlkKCd0ZXN0ZGF0ZW4tZXJnZWJuaXMnKTsKICAgICAgICAgICAgICAgICAgICB0 +ZXN0ZGF0ZW5Gb3J0c2Nocml0dFplaWdlbihlcmcsICdQbGFudW5nIHdpcmQgenVyw7xja2dlc2V0 +enQg4oCmJyk7CiAgICAgICAgICAgICAgICAgICAgYXBpUG9zdCgnL2FwaS9wbGFudW5nL3Jlc2V0 +Jywge30pLnRoZW4oZnVuY3Rpb24ocikgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGJs +ID0gZXJnLnF1ZXJ5U2VsZWN0b3IoJy5nZW4tcHJvZ3Jlc3MtbGFiZWwnKTsKICAgICAgICAgICAg +ICAgICAgICAgICAgaWYgKGxibCkgbGJsLnRleHRDb250ZW50ID0gJ0dlbGVlcnQg4oCUIEFuc2lj +aHQgd2lyZCBha3R1YWxpc2llcnQg4oCmJzsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGxh +bnVuZy1SZXNldCBlcnpldWd0IHNlaXQgUGhhc2UgNCAoMjAyNi0wNS0yMCkgZWluZW4KICAgICAg +ICAgICAgICAgICAgICAgICAgLy8gU2VydmVyLXNlaXRpZ2VuIEluLUFwcC1IaW53ZWlzIHN0YXR0 +IG1haWx0by4KICAgICAgICAgICAgICAgICAgICAgICAgLy8gRGlyZWt0IG5ldSByZW5kZXJuIHN0 +YXR0IHNldFRpbWVvdXQrRjU6IHNvbnN0IGJsaWViZW4gZGllCiAgICAgICAgICAgICAgICAgICAg +ICAgIC8vIGFsdGVuIFplbGxlbiBzaWNodGJhciBiaXMgenVtIG1hbnVlbGxlbiBSZWxvYWQuCiAg +ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRlbkxhZGVuKCkudGhlbihmdW5jdGlvbigp +IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWRSZW5kZXJuKCk7CiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICBlcmcuY2xhc3NOYW1lID0gJ2dlbi1lcmZvbGcnOwogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgZXJnLnRleHRDb250ZW50ID0gJ1BsYW51bmcgenVyw7xja2dlc2V0 +enQg4oCUIGFsbGUgRWludHLDpGdlIHVuZCBLb21tZW50YXJlIGdlbMO2c2NodC4nICsKICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAociAmJiByLmJhY2t1cCA/ICcgQmFja3VwIGdlc2lj +aGVydDogJyArIHIuYmFja3VwICsgJy4nIDogJyBFaW4gQmFja3VwIHd1cmRlIGF1dG9tYXRpc2No +IGdlc2ljaGVydC4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAg +ICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICBlcmcu +Y2xhc3NOYW1lID0gJ2dlbi1mZWhsZXInOwogICAgICAgICAgICAgICAgICAgICAgICBlcmcudGV4 +dENvbnRlbnQgPSAnRmVobGVyOiAnICsgKGUgJiYgZS5tZXNzYWdlID8gZS5tZXNzYWdlIDogZSk7 +CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAg +ICAgeyB0aXRlbDogJ1BsYW51bmcgenVyw7xja3NldHplbicsIGphVGV4dDogJ1p1csO8Y2tzZXR6 +ZW4nLCBqYURhbmdlcjogdHJ1ZSB9CiAgICAgICAgICAgICk7CiAgICAgICAgfSk7CgogICAgICAg +IC8vIFByb3Rva29sbCBsb2VzY2hlbiAoTG9nYnVjaCArIEFQSS1Mb2cpLiBEZXN0cnVrdGl2Lgog +ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tcHJvdG9rb2xsLWxvZXNjaGVuJyku +YWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgYmVzdGFl +dGlnZW4oCiAgICAgICAgICAgICAgICAnUHJvdG9rb2xsIHdpcmtsaWNoIGzDtnNjaGVuP1xuXG5M +b2didWNoIHdpcmQgYXVmIDAgRWludHLDpGdlIHp1csO8Y2tnZXNldHp0LCBkaWUgQVBJLUxvZy1E +YXRlaSB3aXJkIGdlbMO2c2NodC5cbkRpZXNlIEFrdGlvbiBpc3QgbmljaHQgcsO8Y2tnw6RuZ2ln +IG1hY2hiYXIuJywKICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAg +ICAgIHZhciBlcmcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdGRhdGVuLWVyZ2Vibmlz +Jyk7CiAgICAgICAgICAgICAgICAgICAgZXJnLmNsYXNzTmFtZSA9ICdnZW4taW5mbyc7CiAgICAg +ICAgICAgICAgICAgICAgZXJnLnRleHRDb250ZW50ID0gJ1Byb3Rva29sbCB3aXJkIGdlbMO2c2No +dC4uLic7CiAgICAgICAgICAgICAgICAgICAgZXJnLmNsYXNzTGlzdC5yZW1vdmUoJ3ZlcnN0ZWNr +dCcpOwogICAgICAgICAgICAgICAgICAgIGFwaVBvc3QoJy9hcGkvYWRtaW4vcHJvdG9rb2xsLWxv +ZXNjaGVuJywge30pLnRoZW4oZnVuY3Rpb24ocikgewogICAgICAgICAgICAgICAgICAgICAgICBl +cmcuY2xhc3NOYW1lID0gJ2dlbi1lcmZvbGcnOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIg +Ynl0ZXMgPSAoci5hcGlMb2dCeXRlcyA+PSAwKSA/IChyLmFwaUxvZ0J5dGVzICsgJyBCeXRlcycp +IDogJ0RhdGVpIHdhciBnZXNwZXJydCc7CiAgICAgICAgICAgICAgICAgICAgICAgIGVyZy50ZXh0 +Q29udGVudCA9ICdQcm90b2tvbGwgZ2Vsw7ZzY2h0LiBMb2didWNoLUVpbnRyw6RnZSB2b3JoZXI6 +ICcgKyByLmxvZ2J1Y2hFaW50cmFlZ2VWb3JoZXIgKyAnLiBBUEktTG9nOiAnICsgYnl0ZXMgKyAn +Lic7CiAgICAgICAgICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZSkgewogICAgICAgICAg +ICAgICAgICAgICAgICBlcmcuY2xhc3NOYW1lID0gJ2dlbi1mZWhsZXInOwogICAgICAgICAgICAg +ICAgICAgICAgICBlcmcudGV4dENvbnRlbnQgPSAnRmVobGVyOiAnICsgZS5tZXNzYWdlOwogICAg +ICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsg +dGl0ZWw6ICdQcm90b2tvbGwgbMO2c2NoZW4nLCBqYVRleHQ6ICdMw7ZzY2hlbicsIGphRGFuZ2Vy +OiB0cnVlIH0KICAgICAgICAgICAgKTsKICAgICAgICB9KTsKCiAgICAgICAgLy8gTWl0dGVpbHVu +Z2VuIChTcHJpbnQgRC0zYywgMjAyNi0wNS0yOSk6ICIrIE5ldWUgTWl0dGVpbHVuZyItQnV0dG9u +CiAgICAgICAgdmFyIGJ0bk1pdE5ldSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tbWl0 +dGVpbHVuZy1uZXUnKTsKICAgICAgICBpZiAoYnRuTWl0TmV1KSBidG5NaXROZXUuYWRkRXZlbnRM +aXN0ZW5lcignY2xpY2snLCBtaXR0ZWlsdW5nTmV1T2VmZm5lbik7CgogICAgICAgIC8vIFN1cGVy +VXNlcgogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tc3VwZXJ1c2VyLW5ldScp +LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIFouYWRt +aW4uc3VwZXJVc2VyID0gWi5hZG1pbi5zdXBlclVzZXIgfHwgW107CiAgICAgICAgICAgIFouYWRt +aW4uc3VwZXJVc2VyLnB1c2goeyBuYW1lOiAnJywgbndLZW5udW5nOiAnJyB9KTsKICAgICAgICAg +ICAgc3VwZXJVc2VyUmVuZGVybigpOwogICAgICAgIH0pOwogICAgICAgIGRvY3VtZW50LmdldEVs +ZW1lbnRCeUlkKCdzdXBlcnVzZXItdGJvZHknKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1 +bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIGJ0biA9IGUudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRh +LWFrdGlvbj0ic3VwZXJ1c2VyLWxvZXNjaGVuIl0nKTsKICAgICAgICAgICAgaWYgKGJ0bikgewog +ICAgICAgICAgICAgICAgdmFyIGlkeCA9IHBhcnNlSW50KGJ0bi5nZXRBdHRyaWJ1dGUoJ2RhdGEt +aWR4JykpOwogICAgICAgICAgICAgICAgWi5hZG1pbi5zdXBlclVzZXIuc3BsaWNlKGlkeCwgMSk7 +CiAgICAgICAgICAgICAgICBzdXBlclVzZXJSZW5kZXJuKCk7CiAgICAgICAgICAgIH0KICAgICAg +ICB9KTsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnRuLXN1cGVydXNlci1zcGVp +Y2hlcm4nKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAg +ICB2YXIgZGF0ZW4gPSBzdXBlclVzZXJBdXNUYWJlbGxlTGVzZW4oKTsKICAgICAgICAgICAgaWYg +KGRhdGVuLmxlbmd0aCA9PT0gMCkgewogICAgICAgICAgICAgICAgdG9hc3QoJ01pbmRlc3RlbnMg +ZWluIFN1cGVyVXNlciBtdXNzIGV4aXN0aWVyZW4nLCAnd2FybnVuZycpOwogICAgICAgICAgICAg +ICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFwaVB1dCgnL2FwaS9hZG1pbi9z +dXBlcnVzZXInLCBkYXRlbikudGhlbihmdW5jdGlvbihyKSB7CiAgICAgICAgICAgICAgICBaLmFk +bWluLnN1cGVyVXNlciA9IGRhdGVuOwogICAgICAgICAgICAgICAgZGlydHlTZXR6ZW4oJ3N1cGVy +dXNlcicsIGZhbHNlKTsKICAgICAgICAgICAgICAgIHRvYXN0KCdTdXBlclVzZXIgZ2VzcGVpY2hl +cnQnLCAnZXJmb2xnJyk7CiAgICAgICAgICAgICAgICAvLyBTZXJ2ZXIgbGllZmVydCBiZWkgU1Ut +UmVpbi9SYXVzIF9icmF1Y2h0X21haWx0byBpbSBSZXNwb25zZS4KICAgICAgICAgICAgICAgIC8v +IFZlcmFudHdvcnR1bmdzLVVlYmVyZ2FuZ3MtTWFpbHRvIHdpcmQgaGllciBnZW9lZmZuZXQgKFBo +YXNlIDUpLgogICAgICAgICAgICAgICAgaWYgKHIgJiYgci5fYnJhdWNodF9tYWlsdG8pIHZlcmFu +dHdvcnR1bmdzTWFpbHRvRmV1ZXJuKHIuX2JyYXVjaHRfbWFpbHRvKTsKICAgICAgICAgICAgfSku +Y2F0Y2goZnVuY3Rpb24oZSkgeyB0b2FzdCgnRmVobGVyOiAnICsgZS5tZXNzYWdlLCAnZmVobGVy +Jyk7IH0pOwogICAgICAgIH0pOwoKICAgICAgICAvLyBGYWNoYXVmc2ljaHQg4oCUICJOZXUiLUJ1 +dHRvbiBvZWZmbmV0IE1vZGFsIG1pdCBEcm9wZG93bi1BdXN3YWhsCiAgICAgICAgLy8gKFdhY2hs +ZWl0dW5nZW4pIG9kZXIgbWFudWVsbGVyIEFubGFnZSAoUGVyc29uIGVyc2NoZWludCBOSUNIVCBp +bgogICAgICAgIC8vIGRlciBQbGFudW5nKS4gVm9yaGVyOiBsZWVyZSBSZWloZW4gd3VyZGVuIGRp +cmVrdCBpbiBkaWUgVGFiZWxsZQogICAgICAgIC8vIGdlcHVzaHQg4oCUIHdhcyB6dSBEb3BwZWwt +UmVpaGVuIGJlaSB2ZXJzZWhlbnRsaWNoZW0gRG9wcGVsLUtsaWNrCiAgICAgICAgLy8gdW5kIHp1 +ciBMb2VzY2gtQXBva2FseXBzZSBmdWVocnRlIChzaWVoZSBmYWNoYXVmc2ljaHRBdXNUYWJlbGxl +TGVzZW4pLgogICAgICAgIHZhciBidG5GQU5ldSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdi +dG4tZmFjaGF1ZnNpY2h0LW5ldScpOwogICAgICAgIGlmIChidG5GQU5ldSkgYnRuRkFOZXUuYWRk +RXZlbnRMaXN0ZW5lcignY2xpY2snLCBmYWNoYXVmc2ljaHROZXVNb2RhbCk7CiAgICAgICAgdmFy +IGZhVGJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmFjaGF1ZnNpY2h0LXRib2R5Jyk7 +CiAgICAgICAgLy8gTGl2ZS1VcGRhdGUgZGVyIFN1Yi1TaWNodC1CdXR0b24tTGFiZWxzICsgZGlz +YWJsZWQtU3RhdGUsIHdlbm4gZGVyCiAgICAgICAgLy8gVXNlciBkaWUgQWRtaW4tIGJ6dy4gU3Rh +dGlzdGlrLUNoZWNrYm94IGluIGRlciBaZWlsZSB1bXNjaGFsdGV0LgogICAgICAgIC8vIFNvbnN0 +IHplaWd0IGRlciBTdWItU2ljaHQtQnV0dG9uIHdlaXRlciAiQWxsZSBBZG1pbi1UYWJzIiBvYndv +aGwKICAgICAgICAvLyBkZXIgVGFiIGdlcmFkZSBlYmVuIGdlc3BlcnJ0IHd1cmRlICh1bmQgdW1n +ZWtlaHJ0KS4KICAgICAgICBpZiAoZmFUYm9keSkgZmFUYm9keS5hZGRFdmVudExpc3RlbmVyKCdj +aGFuZ2UnLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGlmICghZS50YXJnZXQuY2xhc3NMaXN0 +IHx8ICFlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2ZhY2hhdWZzaWNodC1jaGsnKSkgcmV0 +dXJuOwogICAgICAgICAgICB2YXIgZmVsZCA9IGUudGFyZ2V0LmdldEF0dHJpYnV0ZSgnZGF0YS1m +ZWxkJyk7CiAgICAgICAgICAgIGlmIChmZWxkICE9PSAnYWRtaW5pc3RyYXRpb24nICYmIGZlbGQg +IT09ICdzdGF0aXN0aWsnKSByZXR1cm47CiAgICAgICAgICAgIHZhciBpZHggPSBwYXJzZUludChl +LnRhcmdldC5nZXRBdHRyaWJ1dGUoJ2RhdGEtaWR4JykpOwogICAgICAgICAgICB2YXIgZnJlaWdl +Z2ViZW4gPSBlLnRhcmdldC5jaGVja2VkOwogICAgICAgICAgICB2YXIgYWt0aW9uID0gZmVsZCA9 +PT0gJ2FkbWluaXN0cmF0aW9uJyA/ICdmYWNoYXVmc2ljaHQtc3Vic2ljaHQnIDogJ2ZhY2hhdWZz +aWNodC1zdGF0c2ljaHQnOwogICAgICAgICAgICB2YXIgYnRuID0gZmFUYm9keS5xdWVyeVNlbGVj +dG9yKCdbZGF0YS1ha3Rpb249IicgKyBha3Rpb24gKyAnIl1bZGF0YS1pZHg9IicgKyBpZHggKyAn +Il0nKTsKICAgICAgICAgICAgaWYgKCFidG4pIHJldHVybjsKICAgICAgICAgICAgdmFyIHR5cCA9 +IGZlbGQgPT09ICdhZG1pbmlzdHJhdGlvbicgPyAnYWRtaW4nIDogJ3N0YXQnOwogICAgICAgICAg +ICB2YXIgZmEgPSAoWi5hZG1pbi5mYWNoYXVmc2ljaHQgfHwgW10pW2lkeF0gfHwge307CiAgICAg +ICAgICAgIHZhciBtYXAgPSB0eXAgPT09ICdhZG1pbicgPyBmYS5hZG1pblNpY2h0YmFya2VpdCA6 +IGZhLnN0YXRpc3Rpa1NpY2h0YmFya2VpdDsKICAgICAgICAgICAgYnRuLnRleHRDb250ZW50ID0g +ZmFjaGF1ZnNpY2h0U3ViU2ljaHRMYWJlbCh0eXAsIG1hcCwgZnJlaWdlZ2ViZW4pOwogICAgICAg +ICAgICBidG4uZGlzYWJsZWQgPSAhZnJlaWdlZ2ViZW47CiAgICAgICAgICAgIGJ0bi50aXRsZSA9 +IGZyZWlnZWdlYmVuCiAgICAgICAgICAgICAgICA/ICh0eXAgPT09ICdhZG1pbicgPyAnV2VsY2hl +IEFkbWluLVN1Yi1UYWJzIGRhcmYgZGllc2UgRmFjaGF1ZnNpY2h0IHNlaGVuPycgOiAnV2VsY2hl +IFN0YXRpc3Rpay1CZXJlaWNoZSBkYXJmIGRpZXNlIEZhY2hhdWZzaWNodCBzZWhlbj8nKQogICAg +ICAgICAgICAgICAgOiAoJ0Vyc3QgIicgKyAodHlwID09PSAnYWRtaW4nID8gJ0FkbWluJyA6ICdT +dGF0aXN0aWsnKSArICciLUjDpGtjaGVuIG9iZW4gc2V0emVuJyk7CiAgICAgICAgfSk7CiAgICAg +ICAgaWYgKGZhVGJvZHkpIGZhVGJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlv +bihlKSB7CiAgICAgICAgICAgIHZhciBkZWxCdG4gPSBlLnRhcmdldC5jbG9zZXN0KCdbZGF0YS1h +a3Rpb249ImZhY2hhdWZzaWNodC1sb2VzY2hlbiJdJyk7CiAgICAgICAgICAgIGlmIChkZWxCdG4p +IHsKICAgICAgICAgICAgICAgIHZhciBpZHggPSBwYXJzZUludChkZWxCdG4uZ2V0QXR0cmlidXRl +KCdkYXRhLWlkeCcpKTsKICAgICAgICAgICAgICAgIC8vIFRleHRmZWxkLVp3aXNjaGVuc3RhbmQg +dWViZXJuZWhtZW4sIGRhbm4gRWludHJhZyBlbnRmZXJuZW4KICAgICAgICAgICAgICAgIHZhciB6 +dyA9IGZhY2hhdWZzaWNodEF1c1RhYmVsbGVMZXNlbigpOwogICAgICAgICAgICAgICAgWi5hZG1p +bi5mYWNoYXVmc2ljaHQgPSB6dzsKICAgICAgICAgICAgICAgIFouYWRtaW4uZmFjaGF1ZnNpY2h0 +LnNwbGljZShpZHgsIDEpOwogICAgICAgICAgICAgICAgZmFjaGF1ZnNpY2h0UmVuZGVybigpOwog +ICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBkZXRC +dG4gPSBlLnRhcmdldC5jbG9zZXN0KCdbZGF0YS1ha3Rpb249ImZhY2hhdWZzaWNodC1kZXRhaWxz +Il0nKTsKICAgICAgICAgICAgaWYgKGRldEJ0bikgewogICAgICAgICAgICAgICAgZmFjaGF1ZnNp +Y2h0RGV0YWlsTW9kYWwocGFyc2VJbnQoZGV0QnRuLmdldEF0dHJpYnV0ZSgnZGF0YS1pZHgnKSkp +OwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIEdy +YW51bGFyZSBTdWItU2ljaHQtQnV0dG9ucyAoU3BlYyBGLjIpCiAgICAgICAgICAgIHZhciBzdWJB +ZG1pbiA9IGUudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWFrdGlvbj0iZmFjaGF1ZnNpY2h0LXN1YnNp +Y2h0Il0nKTsKICAgICAgICAgICAgaWYgKHN1YkFkbWluKSB7CiAgICAgICAgICAgICAgICBmYWNo +YXVmc2ljaHRTdWJTaWNodE1vZGFsKHBhcnNlSW50KHN1YkFkbWluLmdldEF0dHJpYnV0ZSgnZGF0 +YS1pZHgnKSksICdhZG1pbicpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9 +CiAgICAgICAgICAgIHZhciBzdWJTdGF0ID0gZS50YXJnZXQuY2xvc2VzdCgnW2RhdGEtYWt0aW9u +PSJmYWNoYXVmc2ljaHQtc3RhdHNpY2h0Il0nKTsKICAgICAgICAgICAgaWYgKHN1YlN0YXQpIHsK +ICAgICAgICAgICAgICAgIGZhY2hhdWZzaWNodFN1YlNpY2h0TW9kYWwocGFyc2VJbnQoc3ViU3Rh +dC5nZXRBdHRyaWJ1dGUoJ2RhdGEtaWR4JykpLCAnc3RhdCcpOwogICAgICAgICAgICAgICAgcmV0 +dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIEltcGVyc29uYXRpb246IFRlc3RhbnNp +Y2h0IGFscyBkaWVzZSBGYWNoYXVmc2ljaHQKICAgICAgICAgICAgdmFyIHRlc3RCdG4gPSBlLnRh +cmdldC5jbG9zZXN0KCdbZGF0YS1ha3Rpb249ImZhY2hhdWZzaWNodC10ZXN0ZW4iXScpOwogICAg +ICAgICAgICBpZiAodGVzdEJ0bikgewogICAgICAgICAgICAgICAgaW1wZXJzb25hdGVTdGFydChw +YXJzZUludCh0ZXN0QnRuLmdldEF0dHJpYnV0ZSgnZGF0YS1pZHgnKSkpOwogICAgICAgICAgICAg +ICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CgogICAgICAgIC8vIC0tLS0tIERp +cmVrdGlvbnNsZWl0dW5nICsgRnVlaHJ1bmdzc3RlbGxlIC0tLS0tCiAgICAgICAgLy8gSWRlbnRp +c2NoZSBIYW5kbGVyLVN0cnVrdHVyIHdpZSBGYWNoYXVmc2ljaHQsIGR1cmNoIEV2ZW50LURlbGUt +CiAgICAgICAgLy8gZ2F0aW9uIG1pdCBkYXRhLXR5cC1BdHRyaWJ1dCB6d2lzY2hlbiBkZW4gYmVp +ZGVuIG5ldWVuIExpc3RlbgogICAgICAgIC8vIHVudGVyc2NoZWlkYmFyLgogICAgICAgIGRvY3Vt +ZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2 +YXIgZWw7CiAgICAgICAgICAgIGVsID0gZS50YXJnZXQuY2xvc2VzdCgnW2RhdGEtYWt0aW9uPSJy +b2xsZS1sb2VzY2hlbiJdJyk7CiAgICAgICAgICAgIGlmIChlbCkgeyByb2xsZW5FaW50cmFnTG9l +c2NoZW4oZWwuZ2V0QXR0cmlidXRlKCdkYXRhLXR5cCcpLCBwYXJzZUludChlbC5nZXRBdHRyaWJ1 +dGUoJ2RhdGEtaWR4JyksIDEwKSk7IHJldHVybjsgfQogICAgICAgICAgICBlbCA9IGUudGFyZ2V0 +LmNsb3Nlc3QoJ1tkYXRhLWFrdGlvbj0icm9sbGUtZGV0YWlscyJdJyk7CiAgICAgICAgICAgIGlm +IChlbCkgeyByb2xsZW5QbGFuUmVjaHRlTW9kYWwoZWwuZ2V0QXR0cmlidXRlKCdkYXRhLXR5cCcp +LCBwYXJzZUludChlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtaWR4JyksIDEwKSk7IHJldHVybjsgfQog +ICAgICAgICAgICBlbCA9IGUudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWFrdGlvbj0icm9sbGUtc3Vi +c2ljaHQiXScpOwogICAgICAgICAgICBpZiAoZWwpIHsgcm9sbGVuU3ViU2ljaHRNb2RhbChlbC5n +ZXRBdHRyaWJ1dGUoJ2RhdGEtdHlwJyksIHBhcnNlSW50KGVsLmdldEF0dHJpYnV0ZSgnZGF0YS1p +ZHgnKSwgMTApLCAnYWRtaW4nKTsgcmV0dXJuOyB9CiAgICAgICAgICAgIGVsID0gZS50YXJnZXQu +Y2xvc2VzdCgnW2RhdGEtYWt0aW9uPSJyb2xsZS1zdGF0c2ljaHQiXScpOwogICAgICAgICAgICBp +ZiAoZWwpIHsgcm9sbGVuU3ViU2ljaHRNb2RhbChlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdHlwJyks +IHBhcnNlSW50KGVsLmdldEF0dHJpYnV0ZSgnZGF0YS1pZHgnKSwgMTApLCAnc3RhdCcpOyByZXR1 +cm47IH0KICAgICAgICB9KTsKICAgICAgICAvLyAiTmV1ZXIgRWludHJhZyItQnV0dG9ucwogICAg +ICAgIFsnZGlyZWt0aW9uc2xlaXR1bmcnLCAnZnVlaHJ1bmdzc3RlbGxlJ10uZm9yRWFjaChmdW5j +dGlvbih0eXApIHsKICAgICAgICAgICAgdmFyIGJ0bk5ldSA9IGRvY3VtZW50LmdldEVsZW1lbnRC +eUlkKCdidG4tJyArIHR5cCArICctbmV1Jyk7CiAgICAgICAgICAgIGlmIChidG5OZXUpIGJ0bk5l +dS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgeyByb2xsZW5OZXVFaW50cmFn +KHR5cCk7IH0pOwogICAgICAgICAgICB2YXIgYnRuU2F2ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRC +eUlkKCdidG4tJyArIHR5cCArICctc3BlaWNoZXJuJyk7CiAgICAgICAgICAgIGlmIChidG5TYXZl +KSBidG5TYXZlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7IHJvbGxlblNw +ZWljaGVybih0eXApOyB9KTsKICAgICAgICAgICAgLy8gRGlydHktTWFya2llcnVuZyBiZWkgamVk +ZXIgRWluZ2FiZSBpbiBkZXIgamV3ZWlsaWdlbiBUYWJlbGxlLgogICAgICAgICAgICB2YXIgdGJv +ZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0eXAgKyAnLXRib2R5Jyk7CiAgICAgICAgICAg +IGlmICh0Ym9keSkgewogICAgICAgICAgICAgICAgdGJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2hh +bmdlJywgZnVuY3Rpb24oKSB7IHJvbGxlbkRpcnR5U2V0emVuKHR5cCwgdHJ1ZSk7IH0pOwogICAg +ICAgICAgICAgICAgdGJvZHkuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBmdW5jdGlvbigpIHsg +cm9sbGVuRGlydHlTZXR6ZW4odHlwLCB0cnVlKTsgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9 +KTsKCiAgICAgICAgLy8gR2xvYmFsZXIgVGVzdGVuLUJ1dHRvbjogYWxzIHJlZ3VsYWVyZXIgRW5k +YW53ZW5kZXIgYW5zZWhlbgogICAgICAgIHZhciBidG5UZXN0UmVndWxhZXIgPSBkb2N1bWVudC5n +ZXRFbGVtZW50QnlJZCgnYnRuLXRlc3QtcmVndWxhZXInKTsKICAgICAgICBpZiAoYnRuVGVzdFJl +Z3VsYWVyKSBidG5UZXN0UmVndWxhZXIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBpbXBlcnNv +bmF0ZVJlZ3VsYWVyKTsKICAgICAgICB2YXIgYnRuRkFTYXZlID0gZG9jdW1lbnQuZ2V0RWxlbWVu +dEJ5SWQoJ2J0bi1mYWNoYXVmc2ljaHQtc3BlaWNoZXJuJyk7CiAgICAgICAgaWYgKGJ0bkZBU2F2 +ZSkgYnRuRkFTYXZlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAg +ICAgICAgIC8vIEJlaW0gU2F2ZTogbGVlcmUgUmVpaGVuIChrb21wbGV0dCBvaG5lIE5hbWUgVU5E +IG9obmUgTlctS2VubnVuZykKICAgICAgICAgICAgLy8gd2VyZGVuIGdlZmlsdGVydC4gQW5kZXJl +IEF1ZnJ1ZmUgKExvZXNjaGVuLCBNb2RhbC1TcHJ1bmcpIGxhc3NlbgogICAgICAgICAgICAvLyBk +aWUgTGlzdGUgdW52ZXJhZW5kZXJ0IChzaWVoZSBmYWNoYXVmc2ljaHRBdXNUYWJlbGxlTGVzZW4p +LgogICAgICAgICAgICB2YXIgZGF0ZW4gPSBmYWNoYXVmc2ljaHRBdXNUYWJlbGxlTGVzZW4odHJ1 +ZSk7CiAgICAgICAgICAgIGFwaVB1dCgnL2FwaS9hZG1pbi9mYWNoYXVmc2ljaHQnLCBkYXRlbiku +dGhlbihmdW5jdGlvbihyKSB7CiAgICAgICAgICAgICAgICBaLmFkbWluLmZhY2hhdWZzaWNodCA9 +IGRhdGVuOwogICAgICAgICAgICAgICAgZmFjaGF1ZnNpY2h0UmVuZGVybigpOwogICAgICAgICAg +ICAgICAgZmFjaGF1ZnNpY2h0RGlydHlTZXR6ZW4oZmFsc2UpOwogICAgICAgICAgICAgICAgdG9h +c3QoJ0ZhY2hhdWZzaWNodCBnZXNwZWljaGVydCAoJyArIGRhdGVuLmxlbmd0aCArICcgRWludHLD +pGdlKScsICdlcmZvbGcnKTsKICAgICAgICAgICAgICAgIC8vIFNlcnZlci1SZXNwb25zZTogX2Jy +YXVjaHRfbWFpbHRvIG51ciBiZWkgR2VzYW10dmVyYW50d29ydGxpY2gtCiAgICAgICAgICAgICAg +ICAvLyBXZWNoc2VsOyBGQS1TZWhlbi1GbGFnLURpZmZzIHNpbmQgSW4tQXBwLUhpbndlaXNlLgog +ICAgICAgICAgICAgICAgaWYgKHIgJiYgci5fYnJhdWNodF9tYWlsdG8pIHZlcmFudHdvcnR1bmdz +TWFpbHRvRmV1ZXJuKHIuX2JyYXVjaHRfbWFpbHRvKTsKICAgICAgICAgICAgfSkuY2F0Y2goZnVu +Y3Rpb24oZSkgeyB0b2FzdCgnRmVobGVyOiAnICsgZS5tZXNzYWdlLCAnZmVobGVyJyk7IH0pOwog +ICAgICAgIH0pOwogICAgICAgIC8vIERpcnR5LU1hcmtlcjogamVkZSBUYWJlbGxlbi1FaW5nYWJl +IHNldHp0IGRhcyBGbGFnLiBEZWxlZ2F0aW9uIGFtCiAgICAgICAgLy8gdGJvZHkgcmVpY2h0IOKA +lCBnaWx0IGF1Y2ggZnVlciBzcGFldGVyIGR5bmFtaXNjaCBnZXJlbmRlcnRlIFJvd3MuCiAgICAg +ICAgdmFyIGZhVGJvZHlEaXJ0eSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmYWNoYXVmc2lj +aHQtdGJvZHknKTsKICAgICAgICBpZiAoZmFUYm9keURpcnR5KSB7CiAgICAgICAgICAgIGZhVGJv +ZHlEaXJ0eS5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAg +ICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QgJiYgKGUudGFyZ2V0LmNsYXNzTGlzdC5jb250 +YWlucygnZmFjaGF1ZnNpY2h0LWlucHV0JykgfHwgZS50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5z +KCdmYWNoYXVmc2ljaHQtY2hrJykgfHwgZS50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdmYWNo +YXVmc2ljaHQtZ2VzYW10LWNoaycpKSkgewogICAgICAgICAgICAgICAgICAgIGZhY2hhdWZzaWNo +dERpcnR5U2V0emVuKHRydWUpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAg +ICAgICAgICAgZmFUYm9keURpcnR5LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGZ1bmN0aW9u +KGUpIHsKICAgICAgICAgICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QgJiYgKGUudGFyZ2V0 +LmNsYXNzTGlzdC5jb250YWlucygnZmFjaGF1ZnNpY2h0LWNoaycpIHx8IGUudGFyZ2V0LmNsYXNz +TGlzdC5jb250YWlucygnZmFjaGF1ZnNpY2h0LWdlc2FtdC1jaGsnKSkpIHsKICAgICAgICAgICAg +ICAgICAgICBmYWNoYXVmc2ljaHREaXJ0eVNldHplbih0cnVlKTsKICAgICAgICAgICAgICAgIH0K +ICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIHJlc3RMaXN0ZW5l +ckVpbnJpY2h0ZW4oKSB7CiAgICAgICAgLy8gV29jaGVucGxhbgogICAgICAgIGRvY3VtZW50Lmdl +dEVsZW1lbnRCeUlkKCd3cC12b3J3b2NoZScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgd3BW +b3J3b2NoZSk7CiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dwLW5hZWNoc3RlLXdv +Y2hlJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB3cE5hZWNoc3RlV29jaGUpOwogICAgICAg +IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3cC1ha3R1ZWxsZS13b2NoZScpLmFkZEV2ZW50TGlz +dGVuZXIoJ2NsaWNrJywgd3BBa3R1ZWxsZVdvY2hlKTsKICAgICAgICB2YXIgYnRuV3BEcnVjayA9 +IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3cC1kcnVja2VuJyk7CiAgICAgICAgaWYgKGJ0bldw +RHJ1Y2spIGJ0bldwRHJ1Y2suYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsK +ICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdkcnVja2VuLXdvY2hlbnBs +YW4nKTsKICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAg +IHdpbmRvdy5wcmludCgpOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsg +ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdkcnVja2VuLXdvY2hlbnBsYW4nKTsgfSwg +NTAwKTsKICAgICAgICAgICAgfSwgNTApOwogICAgICAgIH0pOwoKICAgICAgICAvLyBTdGF0aXN0 +aWsgKyBMb2didWNoOiBMaXN0ZW5lciB2aWEgRXZlbnQtRGVsZWdhdGlvbiwgd2VpbCBkaWUKICAg +ICAgICAvLyBNYXJrdXAtQmxvZWNrZSBmdWVyIFVuYmVyZWNodGlndGUgendhciBpbSBET00gc3Rl +aGVuLCBkaWUKICAgICAgICAvLyBLbGljay1aaWVsZSBhYmVyIG51ciBmdWVyIEJlcmVjaHRpZ3Rl +IHNpY2h0YmFyIHdlcmRlbi4KICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGlj +aycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgaWYgKGUudGFyZ2V0ICYmIGUudGFyZ2V0Lmlk +ID09PSAnYnRuLXN0YXRzLWxhZGVuJykgewogICAgICAgICAgICAgICAgc3RhdGlzdGlrTGFkZW4o +KTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIg +aW5mbyA9IGUudGFyZ2V0LmNsb3Nlc3QgJiYgZS50YXJnZXQuY2xvc2VzdCgnLnN0YXRzLWluZm8t +YnRuJyk7CiAgICAgICAgICAgIGlmIChpbmZvKSBzdGF0SW5mb1plaWdlbihpbmZvLmdldEF0dHJp +YnV0ZSgnZGF0YS1zdGF0cy1pbmZvJykpOwogICAgICAgIH0pOwogICAgICAgIGRvY3VtZW50LmFk +ZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgaWYgKGUu +dGFyZ2V0ICYmIGUudGFyZ2V0LmlkID09PSAnc3RhdHMtZ3J1cHBlbi1maWx0ZXInKSB7CiAgICAg +ICAgICAgICAgICBzdGF0RmlsdGVyU2V0emVuKGUudGFyZ2V0LnZhbHVlKTsKICAgICAgICAgICAg +ICAgIGlmIChaLnN0YXRpc3Rpaykgc3RhdGlzdGlrUmVuZGVybigpOwogICAgICAgICAgICB9CiAg +ICAgICAgfSk7CiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBmdW5j +dGlvbihlKSB7CiAgICAgICAgICAgIGlmIChlLnRhcmdldCAmJiBlLnRhcmdldC5pZCA9PT0gJ2xv +Zy1zdWNoZScpIGxvZ2J1Y2hGaWx0ZXJuKCk7CiAgICAgICAgfSk7CiAgICB9CgogICAgLy8gPT09 +PT0gSW5pdCA9PT09PQoKICAgIGZ1bmN0aW9uIGluaXQoKSB7CiAgICAgICAgdGhlbWVXaWVkZXJo +ZXJzdGVsbGVuKCk7CiAgICAgICAgaGVhcnRiZWF0U3RhcnRlbigpOwogICAgICAgIGVudHd1cmZB +dXRvQ2xlYW51cCgpOyAgICAvLyBTcGVjIEYuNDogYWx0ZSBNb2RhbC1FbnR3dWVyZmUgKD4xNCBU +YWdlKSBsb2VzY2hlbgoKICAgICAgICBkYXRlbkxhZGVuKCkudGhlbihmdW5jdGlvbigpIHsKICAg +ICAgICAgICAgZ3JpZFJlbmRlcm4oKTsKICAgICAgICAgICAgc2Nyb2xsU3luYygpOwogICAgICAg +ICAgICBldmVudExpc3RlbmVyRWlucmljaHRlbigpOwogICAgICAgICAgICB6dW1IZXV0aWdlbkRh +dHVtKCk7CiAgICAgICAgICAgIC8vIFp1bGV0enQgYWt0aXZlIEFuc2ljaHQgd2llZGVyaGVyc3Rl +bGxlbiwgZGFtaXQgZWluIEJyb3dzZXItUmVmcmVzaAogICAgICAgICAgICAvLyAoRjUpIGRlbiBV +c2VyIG5pY2h0IGF1cyBTdGF0aXN0aWsvTG9nYnVjaC9BZG1pbiBpbiBkaWUgUGxhbnVuZ3MtCiAg +ICAgICAgICAgIC8vIGFuc2ljaHQgenVydWVja3dpcmZ0LiBMaWVndCBpbSBzZXNzaW9uU3RvcmFn +ZSDigJQgYmVpbSBTdGFydCB1ZWJlcgogICAgICAgICAgICAvLyBkZ2wuYmF0ICg9IG5ldWVyIFRh +YiwgbGVlcmVzIHNlc3Npb25TdG9yYWdlKSBibGVpYnQgZXMgYmVpCiAgICAgICAgICAgIC8vICdw +bGFudW5nJzsgbnVyIEluLVRhYi1SZWZyZXNoIGhhZWx0IGRpZSBsZXR6dGUgQW5zaWNodC4KICAg +ICAgICAgICAgLy8gYW5zaWNodFdlY2hzZWxuKCkgcHJ1ZWZ0IGRpZSBSZWNodGUgc2VsYnN0IHVu +ZCBmYWVsbHQgbm90ZmFsbHMKICAgICAgICAgICAgLy8gYXVmICdwbGFudW5nJyB6dXJ1ZWNrLgog +ICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgdmFyIGxldHp0ZUFuc2ljaHQgPSBzZXNz +aW9uU3RvcmFnZS5nZXRJdGVtKCd2aTMuYWt0aXZlQW5zaWNodCcpOwogICAgICAgICAgICAgICAg +aWYgKGxldHp0ZUFuc2ljaHQgJiYgbGV0enRlQW5zaWNodCAhPT0gJ3BsYW51bmcnKSB7CiAgICAg +ICAgICAgICAgICAgICAgYW5zaWNodFdlY2hzZWxuKGxldHp0ZUFuc2ljaHQpOwogICAgICAgICAg +ICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlKSB7IC8qIGlnbm9yZSAqLyB9CiAgICAgICAg +ICAgIC8vIEZhbGxzIG5vY2ggYWx0ZSBsb2NhbFN0b3JhZ2UtRWludHJhZWdlIHJ1bWxpZWdlbiAo +TWlncmF0aW9uKToKICAgICAgICAgICAgLy8gZWlubWFsaWcgYXVmcmFldW1lbiwgZGFtaXQgbmlj +aHQgdmVyc2VoZW50bGljaCBkZXIgV2VydAogICAgICAgICAgICAvLyB3aWVkZXIgcmVpbmtvbW10 +LCBmYWxscyBpY2ggYXVzIFZlcnNlaGVuIGRhcmF1ZiBncmVpZmUuCiAgICAgICAgICAgIHRyeSB7 +IGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCd2aTMuYWt0aXZlQW5zaWNodCcpOyB9IGNhdGNoIChl +KSB7IC8qIGlnbm9yZSAqLyB9CiAgICAgICAgICAgIC8vIFRvcGJhci1BdmF0YXIgZnVlciBkaWUg +ZWlnZW5lIFBlcnNvbiBzZXR6ZW4gKHNpY2h0YmFyIG51ciwKICAgICAgICAgICAgLy8gd2VubiBl +aW5lIFBlcnNvbklkIHp1Z2VvcmRuZXQgaXN0IOKAlCBzb25zdCBibGVpYnQgZGVyIFNsb3QgbGVl +cikuCiAgICAgICAgICAgIG1laW5BdmF0YXJUb3BiYXJBa3R1YWxpc2llcmVuKCk7CiAgICAgICAg +ICAgIC8vIExpdmUtU3luYyBzdGFydGVuOiBwb2xsdCAvYXBpL3BsYW51bmcvY2hhbmdlcyArIC9h +cGkvbG9jay96ZWxsZW4KICAgICAgICAgICAgLy8gYWxsZSAzcywgYmxlbmRldCBmcmVtZGUgTG9j +ay1JbmRpa2F0b3JlbiBlaW4gdW5kIGxhZXNzdCByZW1vdGUKICAgICAgICAgICAgLy8gZ2VhZW5k +ZXJ0ZSBaZWxsZW4ga3VyeiBhdWZsZXVjaHRlbi4KICAgICAgICAgICAgc3luY1dvcmtlclN0YXJ0 +ZW4oKTsKICAgICAgICAgICAgZnVlbGxJbml0KCk7ICAgLy8gRXhjZWwtYWVobmxpY2hlciBGdWVs +bC1HcmlmZjogZ2xvYmFsZSBMaXN0ZW5lcgogICAgICAgICAgICAvLyBIaW53ZWlzLVN5c3RlbTog +ZWlubWFsIGluaXRpYWwgbGFkZW4sIGRhbm4gcG9sbGVkIGRlciBTeW5jLVdvcmtlci4KICAgICAg +ICAgICAgLy8gU2ljaHRiYXIgbnVyIGZ1ZXIgU1UgKyBHZXNhbXR2ZXJhbnR3b3J0bGljaGUgKGhp +bndlaXNlLmpzIHBydWVmdCBzZWxic3QpLgogICAgICAgICAgICBoaW53ZWlzZUxhZGVuKCkudGhl +bihoaW53ZWlzZUFuemVpZ2VBa3R1YWxpc2llcmVuKTsKICAgICAgICAgICAgdG9hc3QoJ1ZJMyBE +R0wtUGxhbnVuZyBnZWxhZGVuIOKAlCAnICsgWi5wZXJzb25lbi5sZW5ndGggKyAnIFBlcnNvbmVu +JywgJ2luZm8nKTsKICAgICAgICAgICAgLy8gVW50ZXJiZXNldHp1bmdzLVdhcm51bmcgZnVlciBX +YWNobGVpdHVuZy9TVSAobGVpY2h0IHZlcnpvZWdlcnQsCiAgICAgICAgICAgIC8vIGRhbWl0IGRl +ciBCZWdydWVzc3VuZ3MtVG9hc3Qgdm9yaGVyIHNpY2h0YmFyIGlzdCkKICAgICAgICAgICAgc2V0 +VGltZW91dCh1bnRlcmJlc2V0enVuZ1dhcm51bmdaZWlnZW4sIDE1MDApOwogICAgICAgIH0pLmNh +dGNoKGZ1bmN0aW9uKGVycikgewogICAgICAgICAgICB0b2FzdCgnRmVobGVyIGJlaW0gTGFkZW46 +ICcgKyBlcnIubWVzc2FnZSwgJ2ZlaGxlcicpOwogICAgICAgICAgICBjb25zb2xlLmVycm9yKCdM +YWRlZmVobGVyOicsIGVycik7CiAgICAgICAgfSk7CgogICAgICAgIC8vIEJlaW0gU2NobGllc3Nl +bjogZWlnZW5lcyBFZGl0LUxvY2sgbm9jaCBmcmVpZ2ViZW4sIGRhbWl0IGtlaW4KICAgICAgICAv +LyB2ZXJ3YWlzdGVyIExvY2sgaW0gRmlsZXN5c3RlbSB6dXJ1ZWNrYmxlaWJ0LgogICAgICAgIHdp +bmRvdy5hZGRFdmVudExpc3RlbmVyKCdiZWZvcmV1bmxvYWQnLCBhbGxlRWlnZW5lbkxvY2tzRnJl +aWdlYmVuQmVhY29uKTsKICAgIH0KCiAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2xv +YWRpbmcnKSBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgaW5p +dCk7CiAgICBlbHNlIGluaXQoKTsKCn0pKCk7Cg== +### FILE: data/mainframe.html | 7724 +PGRpdiBpZD0iYW5zaWNodC1zdGF0aXN0aWsiIGNsYXNzPSJhbnNpY2h0IHZlcnN0ZWNrdCI+CiAg +ICA8ZGl2IGNsYXNzPSJsYXlvdXQtc3RhdGlzdGlrIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhZG1p +bi1rb3BmIj4KICAgICAgICAgICAgPGgyPlN0YXRpc3RpayAmYW1wOyBBdXN3ZXJ0dW5nZW48L2gy +PgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjhweDthbGlnbi1pdGVt +czpjZW50ZXIiPgogICAgICAgICAgICAgICAgPHNlbGVjdCBpZD0ic3RhdHMtZ3J1cHBlbi1maWx0 +ZXIiIGNsYXNzPSJmb3JtLWlucHV0IiBzdHlsZT0id2lkdGg6MTgwcHg7Zm9udC1zaXplOjEycHgi +PgogICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImFsbGUiPkFsbGUgRGllbnN0Z3J1 +cHBlbjwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgIDwhLS0gT3B0aW9uZW4gd2VyZGVuIGR5 +bmFtaXNjaCBhdXMgWi5hZG1pbi5ncnVwcGVuIGJlc3R1ZWNrdCAtLT4KICAgICAgICAgICAgICAg +IDwvc2VsZWN0PgogICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLXN0YXRzLWxhZGVuIiBj +bGFzcz0iYnRuIGJ0bi1wcmltYWVyIj5Ba3R1YWxpc2llcmVuPC9idXR0b24+CiAgICAgICAgICAg +IDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIEtQSS1LYWNoZWxuIChvYmVuIGdl +cGlubnQsIG5pY2h0IFRlaWwgZGVzIGtvbmZpZ3VyaWVyYmFyZW4gUmFzdGVycykgLS0+CiAgICAg +ICAgPGRpdiBpZD0ic3RhdHMta3BpcyIgY2xhc3M9InN0YXRzLWtwaXMiPjwvZGl2PgoKICAgICAg +ICA8IS0tIEVpbmhlaXRsaWNoZXMgNi1TcGFsdGVuLVJhc3RlcjogZmVzdGUgUGFuZWxzICsgQmF1 +a2FzdGVuLUthY2hlbG4uCiAgICAgICAgICAgICBSZWloZW5mb2xnZS9CcmVpdGUvU2ljaHRiYXJr +ZWl0IGtvbW1lbiBhdXMgWi5hZG1pbi5zdGF0aXN0aWtMYXlvdXQgdW5kCiAgICAgICAgICAgICB3 +ZXJkZW4gdm9uIHN0YXRpc3Rpay5qcyAobGF5b3V0QW53ZW5kZW4pIG5hY2ggZGVtIFJlbmRlciBn +ZXNldHp0LiBKZWRlCiAgICAgICAgICAgICBLYWNoZWwgdHJhZWd0IGRhdGEtdGlsZS1pZCAoUGFu +ZWwtS2V5IGJ6dy4gS2FjaGVsLWlkKSB1bmQgZGF0YS1taW4tYnJlaXRlCiAgICAgICAgICAgICAo +TWluZGVzdGJyZWl0ZSwgdW50ZXIgZGllIGRhcyBSYXN0ZXIgc2llIG5pY2h0IHp3aW5nZW4gZGFy +ZikuIC0tPgogICAgICAgIDxkaXYgaWQ9InN0YXRzLWdyaWQiIGNsYXNzPSJzdGF0cy1ncmlkIj4K +ICAgICAgICAgICAgPCEtLSBTY2hpY2h0dmVydGVpbHVuZyBhbHMgQmFsa2VuIHBybyBQZXJzb24s +IEthdGVnb3JpZS11bXNjaGFsdGJhciAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHMt +cGFuZWwiIGRhdGEtdGlsZS1pZD0idmVydGVpbHVuZyIgZGF0YS1taW4tYnJlaXRlPSJkcml0dGVs +Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXRzLXBhbmVsLWtvcGYiPgogICAgICAg +ICAgICAgICAgICAgIDxoMz5TY2hpY2h0dmVydGVpbHVuZyA8YnV0dG9uIGNsYXNzPSJzdGF0cy1p +bmZvLWJ0biIgZGF0YS1zdGF0cy1pbmZvPSJ2ZXJ0ZWlsdW5nIiB0aXRsZT0iRXJrbMOkcnVuZyBh +bnplaWdlbiI+aTwvYnV0dG9uPjwvaDM+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0i +c3RhdHMta2F0LWdydXBwZSIgcm9sZT0idGFibGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAg +IDxidXR0b24gY2xhc3M9InN0YXRzLWthdC1idG4gYWt0aXYiIGRhdGEtc3RhdHMta2F0PSJzY2hp +Y2h0ZW4iPlNjaGljaHRlbjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9u +IGNsYXNzPSJzdGF0cy1rYXQtYnRuIiBkYXRhLXN0YXRzLWthdD0id29jaGVuZW5kZSI+V29jaGVu +ZW5kZGllbnN0ZTwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNz +PSJzdGF0cy1rYXQtYnRuIiBkYXRhLXN0YXRzLWthdD0iZm9ydGJpbGR1bmciPkZvcnRiaWxkdW5n +PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InN0YXRzLWth +dC1idG4iIGRhdGEtc3RhdHMta2F0PSJhYndlc2VuaGVpdCI+QWJ3ZXNlbmhlaXQ8L2J1dHRvbj4K +ICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ic3RhdHMta2F0LWJ0biIgZGF0 +YS1zdGF0cy1rYXQ9ImVpbmdlc3BydW5nZW4iPkVpbmdlc3BydW5nZW48L2J1dHRvbj4KICAgICAg +ICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0ic3RhdHMtc29ydC1yaWNodHVuZyIgY2xhc3M9 +ImJ0bi1pY29uIHN0YXRzLXNvcnQtcmljaHR1bmciIHRpdGxlPSJTb3J0aWVyLVJpY2h0dW5nIHVt +c2NoYWx0ZW4iIGFyaWEtbGFiZWw9IlNvcnRpZXItUmljaHR1bmciPjxzcGFuIGNsYXNzPSJzdGF0 +cy1zb3J0LXBmZWlsIj7ihpM8L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPC9k +aXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9InN0YXRz +LWNoYXJ0LWJhbGtlbiIgY2xhc3M9InN0YXRzLWNoYXJ0LWFyZWEiPjwvZGl2PgogICAgICAgICAg +ICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gRmFpcm5lc3MgLS0+CiAgICAgICAgICAgIDxkaXYg +Y2xhc3M9InN0YXRzLXBhbmVsIiBkYXRhLXRpbGUtaWQ9ImZhaXJuZXNzIiBkYXRhLW1pbi1icmVp +dGU9ImRyaXR0ZWwiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHMtcGFuZWwta29w +ZiI+CiAgICAgICAgICAgICAgICAgICAgPGgzPldFLSAmYW1wOyBGVC1GYWlybmVzcyA8YnV0dG9u +IGNsYXNzPSJzdGF0cy1pbmZvLWJ0biIgZGF0YS1zdGF0cy1pbmZvPSJmYWlybmVzcyIgdGl0bGU9 +IkVya2zDpHJ1bmcgYW56ZWlnZW4iPmk8L2J1dHRvbj48L2gzPgogICAgICAgICAgICAgICAgPC9k +aXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzdGF0cy1mYWlybmVzcyIgY2xhc3M9InN0YXRz +LWNoYXJ0LWFyZWEiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0g +TWlrcm90ZWFtLUhlYXRtYXA6IHZvbGxicmVpdGUgVGFiZWxsZSBKYW4tYmlzLVZlcmJpbmRsaWNo +a2VpdHNlbmRlIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0cy1wYW5lbCIgZGF0YS10 +aWxlLWlkPSJtaWtyb3RlYW1zIiBkYXRhLW1pbi1icmVpdGU9InZvbGwiPgogICAgICAgICAgICAg +ICAgPGRpdiBjbGFzcz0ic3RhdHMtcGFuZWwta29wZiI+CiAgICAgICAgICAgICAgICAgICAgPGgz +Pk1pa3JvdGVhbXMg4oCUIGdlbWVpbnNhbWUgVmVyZsO8Z2JhcmtlaXQgPGJ1dHRvbiBjbGFzcz0i +c3RhdHMtaW5mby1idG4iIGRhdGEtc3RhdHMtaW5mbz0ibWlrcm90ZWFtcyIgdGl0bGU9IkVya2zD +pHJ1bmcgYW56ZWlnZW4iPmk8L2J1dHRvbj48L2gzPgogICAgICAgICAgICAgICAgPC9kaXY+CiAg +ICAgICAgICAgICAgICA8ZGl2IGlkPSJzdGF0cy10ZWFtLWhlYXRtYXAiIGNsYXNzPSJzdGF0cy10 +ZWFtLWhlYXRtYXAiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0g +VkkzLURHTC1WZXJhbnR3b3J0dW5nIE5lYmVud2FjaGVuIC0tPgogICAgICAgICAgICA8ZGl2IGNs +YXNzPSJzdGF0cy1wYW5lbCIgZGF0YS10aWxlLWlkPSJuZWJlbndhY2hlbiIgZGF0YS1taW4tYnJl +aXRlPSJ2b2xsIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXRzLXBhbmVsLWtvcGYi +PgogICAgICAgICAgICAgICAgICAgIDxoMz5WSTMtREdMLVZlcmFudHdvcnR1bmcgTmViZW53YWNo +ZW4g4oCUIEJvY2h1bSAvIEFybnNiZXJnIC8gRnJldWRlbmJlcmcgPGJ1dHRvbiBjbGFzcz0ic3Rh +dHMtaW5mby1idG4iIGRhdGEtc3RhdHMtaW5mbz0ibmViZW53YWNoZW4iIHRpdGxlPSJFcmtsw6Ry +dW5nIGFuemVpZ2VuIj5pPC9idXR0b24+PC9oMz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAg +ICAgICAgICAgICAgPGRpdiBpZD0ic3RhdHMtdGVhbS1oZWF0bWFwLW5lYmVuIiBjbGFzcz0ic3Rh +dHMtdGVhbS1oZWF0bWFwIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8 +IS0tIFRhZ2VzLUFudGVpbGUgcHJvIFRlYW0gLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0 +YXRzLXBhbmVsIiBkYXRhLXRpbGUtaWQ9InRhZ2VzYW50ZWlsZSIgZGF0YS1taW4tYnJlaXRlPSJ2 +b2xsIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXRzLXBhbmVsLWtvcGYiPgogICAg +ICAgICAgICAgICAgICAgIDxoMz5UYWdlcy1BbnRlaWxlIHBybyBUZWFtIDxidXR0b24gY2xhc3M9 +InN0YXRzLWluZm8tYnRuIiBkYXRhLXN0YXRzLWluZm89InRhZ2VzYW50ZWlsZSIgdGl0bGU9IkVy +a2zDpHJ1bmcgYW56ZWlnZW4iPmk8L2J1dHRvbj48L2gzPgogICAgICAgICAgICAgICAgICAgIDxk +aXYgY2xhc3M9InN0YXRzLWthdC1ncnVwcGUgc3RhdHMtdGVhbS1zb3J0LWdydXBwZSI+CiAgICAg +ICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InN0YXRzLWthdC1idG4gYWt0aXYiIGRh +dGEtdGVhbS1zb3J0PSJyZWloZW5mb2xnZSI+UmVpaGVuZm9sZ2U8L2J1dHRvbj4KICAgICAgICAg +ICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ic3RhdHMta2F0LWJ0biIgZGF0YS10ZWFtLXNv +cnQ9Imx1ZWNrZW4iPkzDvGNrZW4genVlcnN0PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAg +ICAgIDxidXR0b24gY2xhc3M9InN0YXRzLWthdC1idG4iIGRhdGEtdGVhbS1zb3J0PSJ2b2xsc3Rh +ZW5kaWciPkdvbGQgenVlcnN0PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0 +b24gY2xhc3M9InN0YXRzLWthdC1idG4iIGRhdGEtdGVhbS1zb3J0PSJhYmRlY2t1bmciPk1pbmQu +IDEgZGE8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAg +IDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0ic3RhdHMtdGVhbS1iYWxrZW4iIGNsYXNz +PSJzdGF0cy10ZWFtLWJhbGtlbiI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAg +ICAgPCEtLSBEZXRhaWxhbmFseXNlIHBybyBQZXJzb24gLS0+CiAgICAgICAgICAgIDxkaXYgY2xh +c3M9InN0YXRzLXBhbmVsIiBkYXRhLXRpbGUtaWQ9InByb3NhIiBkYXRhLW1pbi1icmVpdGU9InZv +bGwiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHMtcGFuZWwta29wZiI+CiAgICAg +ICAgICAgICAgICAgICAgPGgzPkRldGFpbGFuYWx5c2UgcHJvIFBlcnNvbiA8YnV0dG9uIGNsYXNz +PSJzdGF0cy1pbmZvLWJ0biIgZGF0YS1zdGF0cy1pbmZvPSJwcm9zYSIgdGl0bGU9IkVya2zDpHJ1 +bmcgYW56ZWlnZW4iPmk8L2J1dHRvbj48L2gzPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAg +ICAgICAgICAgICA8ZGl2IGlkPSJzdGF0cy1wcm9zYSIgY2xhc3M9InN0YXRzLXByb3NhLWNvbnRh +aW5lciI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPCEtLSBCYXVrYXN0 +ZW4tS2FjaGVsbiB3ZXJkZW4gaGllciB2b24gc3RhdGlzdGlrLmpzIGFuZ2VoYWVuZ3QgLS0+CiAg +ICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gRGV0YWlsLVRhYmVsbGU6IGtvbGxhYmllcmJhciAt +LT4KICAgICAgICA8ZGV0YWlscyBjbGFzcz0ic3RhdHMtZGV0YWlscyI+CiAgICAgICAgICAgIDxz +dW1tYXJ5IGNsYXNzPSJzdGF0cy1kZXRhaWxzLXN1bW1hcnkiPkRldGFpbHRhYmVsbGUgYW56ZWln +ZW48L3N1bW1hcnk+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmVsbGUtc2Nyb2xsIiBzdHls +ZT0ibWFyZ2luLXRvcDoxMnB4Ij4KICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iYWRtaW4t +dGFiZWxsZSBzdGF0cy10YWJlbGxlIiBpZD0ic3RhdHMtdWViZXJzaWNodCI+CiAgICAgICAgICAg +ICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICA8dGggZGF0YS1zb3J0PSJuYW1lIj5OYW1lPC90aD4KICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIDx0aCBkYXRhLXNvcnQ9Im9lIj5TdGFuZG9ydDwvdGg+CiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICA8dGggZGF0YS1zb3J0PSJvZUdydXBwZSI+U3RhbmRvcnQg +KyBHcnVwcGU8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtc29ydD0i +Z3J1cHBlIj5EaWVuc3RncnVwcGU8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRo +IGNsYXNzPSJ6YWhsIiBkYXRhLXNvcnQ9Imdlc2FtdCI+R2VzYW10PC90aD4KICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iemFobCBmcnVlaC1rb3BmIiBkYXRhLXNvcnQ9ImZy +dWVoIj5GcsO8aDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Inph +aGwgc3BhZXQta29wZiIgZGF0YS1zb3J0PSJzcGFldCI+U3DDpHQ8L3RoPgogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJ6YWhsIG5hY2h0LWtvcGYiIGRhdGEtc29ydD0ibmFj +aHQiPk5hY2h0PC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iemFo +bCIgZGF0YS1zb3J0PSJzb25kZXJkaWVuc3QiIHRpdGxlPSJTRCArIFNFIj5Tb25kZXI8L3RoPgog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJ6YWhsIiBkYXRhLXNvcnQ9ImRn +bCIgdGl0bGU9IkFuemFobCBER0wtRWluc8OkdHplIChGL1MvTiB6dXNhbW1lbikiPkRHTDwvdGg+ +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9InphaGwiIGRhdGEtc29ydD0i +d2RmIiB0aXRsZT0iQW56YWhsIFdERi1FaW5zw6R0emUgKEYvUy9OIHp1c2FtbWVuKSI+V0RGPC90 +aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iemFobCIgZGF0YS1zb3J0 +PSJmYnAiIHRpdGxlPSJBbnphaGwgRkJQLUVpbnPDpHR6ZSAoRi9TL04genVzYW1tZW4pIj5GQlA8 +L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJ6YWhsIiBkYXRhLXNv +cnQ9IndvY2hlbmVuZFRhZ2UiPldFPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0 +aCBjbGFzcz0iemFobCIgZGF0YS1zb3J0PSJmZWllcnRhZ1RhZ2UiPkZUPC90aD4KICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iemFobCB3YXJuLWtvcGYiIGRhdGEtc29ydD0i +a3JhbmsiPktyYW5rPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0i +emFobCIgZGF0YS1zb3J0PSJ1cmxhdWIiPlVybGF1YjwvdGg+CiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICA8dGggY2xhc3M9InphaGwiIGRhdGEtc29ydD0ibGVocmdhbmciIHRpdGxlPSJMZWhy +Z2FuZyArIEZvcnRiaWxkdW5nOiBMRy9UVC9BdUYvRkIvU2VtL0VUTS9EVSI+TEc8L3RoPgogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJ6YWhsIiBkYXRhLXNvcnQ9ImF6QXVz +Z2xlaWNoIiB0aXRsZT0iQVotQXVzZ2xlaWNoIC8gMjFlci1UYWdlOiDCpzIxLzIxYS9BWkEiPkFa +QTwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAg +PC90aGVhZD4KICAgICAgICAgICAgICAgICAgICA8dGJvZHkgaWQ9InN0YXRzLXRib2R5Ij48L3Ri +b2R5PgogICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAg +PC9kZXRhaWxzPgogICAgPC9kaXY+CjwvZGl2Pgo= +### FILE: data/sanitizer.html | 948 +PGRpdiBpZD0iYW5zaWNodC1sb2didWNoIiBjbGFzcz0iYW5zaWNodCB2ZXJzdGVja3QiPgogICAg +PGRpdiBjbGFzcz0ibGF5b3V0LWxvZ2J1Y2giPgogICAgICAgIDxkaXYgY2xhc3M9ImFkbWluLWtv +cGYiPgogICAgICAgICAgICA8aDI+w4RuZGVydW5nc3Byb3Rva29sbDwvaDI+CiAgICAgICAgICAg +IDxkaXY+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImxvZy1zdWNoZSIg +Y2xhc3M9ImZvcm0taW5wdXQiIHBsYWNlaG9sZGVyPSJTdWNoZSBuYWNoIFBlcnNvbiwgQmVudXR6 +ZXIsIEFrdGlvbi4uLiIgc3R5bGU9IndpZHRoOjMwMHB4Ij4KICAgICAgICAgICAgPC9kaXY+CiAg +ICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idGFiZWxsZS1zY3JvbGwiPgogICAgICAg +ICAgICA8dGFibGUgY2xhc3M9ImFkbWluLXRhYmVsbGUiIGlkPSJsb2ctdGFiZWxsZSI+CiAgICAg +ICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAg +ICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjE0MHB4Ij5aZWl0cHVua3Q8L3RoPgogICAgICAg +ICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjE3MHB4Ij5Ba3Rpb248L3RoPgogICAg +ICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjE2MHB4Ij5CZW51dHplcjwvdGg+ +CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5EZXRhaWxzPC90aD4KICAgICAgICAgICAgICAg +ICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDoxNDBweCI+V2llZGVyaGVyc3RlbGxlbjwvdGg+CiAg +ICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAg +ICAgICAgICA8dGJvZHkgaWQ9ImxvZy10Ym9keSI+PC90Ym9keT4KICAgICAgICAgICAgPC90YWJs +ZT4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L2Rpdj4K +### FILE: dgl.bat | 22587 +QGVjaG8gb2ZmDQpzZXRsb2NhbCBlbmFibGVkZWxheWVkZXhwYW5zaW9uDQpjaGNwIDY1MDAxID5u +dWwgMj4mMQ0KdGl0bGUgVkkzIEtyw6RmdGVwbGFudW5nDQoNCjo6ID09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KOjogIFZJMyBLcsOk +ZnRlcGxhbnVuZyDigJQgU3RhcnRza3JpcHQNCjo6DQo6OiAgQWxsZSBQZmFkZSByZWxhdGl2IHp1 +bSBPcmRuZXIgZGVyIGRnbC5iYXQgKCV+ZHAwKS4gRGllIGtvbXBsZXR0ZQ0KOjogIFZJM1wtQWJs +YWdlIGlzdCBwb3J0YWJlbCDigJQgZWluZmFjaCBhdWYgZWluIGFuZGVyZXMgTGF1Zndlcmsgemll +aGVuLA0KOjogIGtlaW4gUGZhZCBpc3QgaGFydGNvZGllcnQuDQo6Og0KOjogIFN0YXJ0LVZhcmlh +bnRlbjoNCjo6ICAgIHN0YXJ0LnZicyAgICAgICAgIHVuc2ljaHRiYXJlciBTdGFydCAoRW1wZmVo +bHVuZyBmdWVyIEVuZG51dHplcikNCjo6ICAgIGRnbC5iYXQgICAgICAgICAgIGZyZXVuZGxpY2hl +ciBTcGxhc2ggKyBEb3RzLCBQUy1TZXJ2ZXIgaW0gSGludGVyZ3J1bmQNCjo6ICAgIGRnbC5iYXQg +L2RlYnVnICAgIHZlcmJvc2UgQXVzZ2FiZSArIHNpY2h0YmFyZXMgUFMtRmVuc3RlciBtaXQgTGl2 +ZS1Mb2cNCjo6ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PQ0KDQpzZXQgIkRFQlVHPSINCmlmIC9pICIlfjEiPT0iL2RlYnVnIiAgc2V0 +ICJERUJVRz0xIg0KaWYgL2kgIiV+MSI9PSItZGVidWciICBzZXQgIkRFQlVHPTEiDQppZiAvaSAi +JX4xIj09Ii0tZGVidWciIHNldCAiREVCVUc9MSINCmlmIC9pICIlfjEiPT0iZGVidWciICAgc2V0 +ICJERUJVRz0xIg0KDQpzZXQgIkFQUF9ST09UPSV+ZHAwIg0Kc2V0ICJBUFBfUk9PVD0lQVBQX1JP +T1Q6fjAsLTElIg0Kc2V0ICJQT1JUPSINCnNldCAiU0VSVkVSX1NSQz0lQVBQX1JPT1QlXHNlcnZl +ci5wczEiDQo6OiBTZWhyIGJyZWl0ZSBTdHJldXVuZywgZGFtaXQgYmVpIHN0YXJrIHJlc2Vydmll +cnRlbiBIeXBlci1WLVJhbmdlcw0KOjogdHJvdHpkZW0gc2ljaGVyIGVpbiBQb3J0IHVlYnJpZyBi +bGVpYnQuIFJlaWhlbmZvbGdlIGlzdCBuYWNoDQo6OiAiV2llZGVyZXJrZW5uYmFya2VpdCIgc29y +dGllcnQgLSBiZWthbm50ZSBQb3J0cyB6dWVyc3QuDQpzZXQgIlBPUlRfS0FORElEQVRFTj04MDgw +IDgwODggODE4MSA4NzY1IDkwODAgOTEyMyAzMDAwIDMwMzAgNDAwMCA0MDQwIDUwMDAgNTU1NSA2 +MDYwIDcwNzAgNzc3NyA5OTk5IDExMDAwIDEyMDAwIDEzNTc5IDE0MzIxIDE3ODkwIDIxMDAxIDI0 +NjgwIDI1OTEyIDI4MDgwIDMxNDE1IDM3ODUxIDM4MDgwIDQyNDI0IDQ4NTkxIDUyNTI1IDU1NTU1 +IDYwMDAwIDYzMDAwIg0KDQo6OiAtLS0gTlctSG9tZSBlcm1pdHRlbG4gKHN0dW1tIGltIE5vcm1h +bC1Nb2RlKSAtLS0NCnNldCAiTldfSE9NRT0iDQoNCmlmIGRlZmluZWQgSE9NRVNIQVJFICgNCiAg +ICBpZiBleGlzdCAiIUhPTUVTSEFSRSEiICggc2V0ICJOV19IT01FPSFIT01FU0hBUkUhIiAmIGdv +dG8gOm53Rm91bmQgKQ0KKQ0KaWYgZGVmaW5lZCBIT01FRFJJVkUgKA0KICAgIGlmIC9pIG5vdCAi +IUhPTUVEUklWRSEiPT0iQzoiICgNCiAgICAgICAgaWYgZXhpc3QgIiFIT01FRFJJVkUhIUhPTUVQ +QVRIISIgKCBzZXQgIk5XX0hPTUU9IUhPTUVEUklWRSEhSE9NRVBBVEghIiAmIGdvdG8gOm53Rm91 +bmQgKQ0KICAgICkNCikNCmZvciAlJUggaW4gKDAxIDAyIDAzIDA0IDA1IDA2IDA3IDA4IDA5IDEw +IDExIDEyIDEzIDE0IDE1IDE2IDE3IDE4IDE5IDIwIF4NCiAgICAgICAgICAgIDIxIDIyIDIzIDI0 +IDI1IDMwIDQwIDUwIDYwIDcwIDgwIDgxIDgyIDgzIDg0IDg1IDg2IDg3IDg4IDg5IDkwIDkxIDky +IDk5KSBkbyAoDQogICAgaWYgbm90IGRlZmluZWQgTldfSE9NRSAoDQogICAgICAgIGlmIGV4aXN0 +ICJcXEZpcm1hLnVrLmRlXEhvbWUtJSVIIiAoDQogICAgICAgICAgICBmb3IgL2YgImRlbGltcz0i +ICUlRCBpbiAoJ2RpciAvYiAvYWQgIlxcRmlybWEudWsuZGVcSG9tZS0lJUgiIDJePm51bCBefCBm +aW5kc3RyIC9pIC94ICIlVVNFUk5BTUUlIicpIGRvICgNCiAgICAgICAgICAgICAgICBpZiBub3Qg +ZGVmaW5lZCBOV19IT01FICgNCiAgICAgICAgICAgICAgICAgICAgc2V0ICJOV19IT01FPVxcRmly +bWEudWsuZGVcSG9tZS0lJUhcJSVEIg0KICAgICAgICAgICAgICAgICAgICBnb3RvIDpud0ZvdW5k +DQogICAgICAgICAgICAgICAgKQ0KICAgICAgICAgICAgKQ0KICAgICAgICApDQogICAgKQ0KKQ0K +aWYgbm90IGRlZmluZWQgTldfSE9NRSAoDQogICAgZm9yIC9mICJ0b2tlbnM9MiwzIiAlJWEgaW4g +KCduZXQgdXNlIDJePm51bCBefCBmaW5kc3RyIC9pICJIb21lLSInKSBkbyAoDQogICAgICAgIGlm +IGV4aXN0ICIlJWEiICggc2V0ICJOV19IT01FPSUlYSIgJiBnb3RvIDpud0ZvdW5kICkNCiAgICAg +ICAgaWYgZXhpc3QgIiUlYiIgKCBzZXQgIk5XX0hPTUU9JSViIiAmIGdvdG8gOm53Rm91bmQgKQ0K +ICAgICkNCikNCmlmIG5vdCBkZWZpbmVkIE5XX0hPTUUgKA0KICAgIGZvciAvZiAiZGVsaW1zPSIg +JSVEIGluICgnZGlyIC9iIC9hZCAiQzpcVXNlcnMiIDJePm51bCcpIGRvICgNCiAgICAgICAgaWYg +L2kgIiUlRCI9PSIlVVNFUk5BTUUlIiAoDQogICAgICAgICAgICBpZiBleGlzdCAiQzpcVXNlcnNc +JSVEIiAoIHNldCAiTldfSE9NRT1DOlxVc2Vyc1wlJUQiICYgZ290byA6bndGb3VuZCApDQogICAg +ICAgICkNCiAgICApDQopDQppZiBleGlzdCAiSDpcIiAoIHNldCAiTldfSE9NRT1IOiIgJiBnb3Rv +IDpud0ZvdW5kICkNCmlmIGV4aXN0ICIlVVNFUlBST0ZJTEUlIiAoIHNldCAiTldfSE9NRT0lVVNF +UlBST0ZJTEUlIiAmIGdvdG8gOm53Rm91bmQgKQ0Kc2V0ICJOV19IT01FPSVURU1QJSINCg0KOm53 +Rm91bmQNCnNldCAiTE9DQUxfRElSPSFOV19IT01FIVxWSTNfREdMX1NlcnZlciINCjo6IExPQ0FM +X1NFUlZFUiB3aXJkIGdsZWljaCBtaXQgZWluZW0gWmVpdHN0ZW1wZWwtTmFtZW4gZ2VzZXR6dCwg +ZGFtaXQNCjo6IG5pZSBlaW5lIGFsdGUgS29waWUgd2llZGVydmVyd2VuZGV0IHdlcmRlbiBrYW5u +IChzaWVoZSBTY2hyaXR0IDMvNCkuDQoNCjo6IC0tLSBBTlNJLUZhcmJlbiBha3RpdmllcmVuIChW +VC1TZXF1ZW56ZW4sIFdpbjEwKykgLS0tDQpmb3IgL2YgInVzZWJhY2txIGRlbGltcz0iICUlZSBp +biAoYHBvd2Vyc2hlbGwgLU5vUHJvZmlsZSAtQ29tbWFuZCAiW2NoYXJdMjciYCkgZG8gc2V0ICJF +U0M9JSVlIg0Kc2V0ICJDX1JFU0VUPSFFU0MhWzBtIg0Kc2V0ICJDX0RJTT0hRVNDIVszODs1OzI0 +NW0iDQpzZXQgIkNfQUNDRU5UPSFFU0MhWzM4OzU7MzltIg0Kc2V0ICJDX0FDQ0VOVDI9IUVTQyFb +Mzg7NTs0NW0iDQpzZXQgIkNfT0s9IUVTQyFbMzg7NTsxMTRtIg0Kc2V0ICJDX1dBUk49IUVTQyFb +Mzg7NTsyMTRtIg0Kc2V0ICJDX0JPTEQ9IUVTQyFbMW0iDQoNCjo6IC0tLSBTcHJ1Y2gtUG9vbCBm +dWVyIFdhcnRlemVpdGVuIC0tLQ0KOjogU3BydWVjaGUgd2VyZGVuIGltIFNlcnZlci1Qb2xsaW5n +LUxvb3AgZWluZ2VibGVuZGV0LCB3ZW5uIGRlciBTdGFydA0KOjogbGFlbmdlciBkYXVlcnQgKHou +Qi4gQVYtU2Nhbiwga2FsdGVyIFNoYXJlKS4gQmVpIHNjaG5lbGxlbSBTdGFydA0KOjogc2llaHQg +ZGVyIE51dHplciBrZWluZW4gZWluemlnZW4gU3BydWNoLg0Kc2V0ICJTUFJVQ0hfQU5aPTIwIg0K +c2V0ICJTUFJVQ0hbMF09U2NoaWNodGthbGVuZGVyIHdpcmQgZW50cm9sbHQuLi4iDQpzZXQgIlNQ +UlVDSFsxXT1FeGNlbCB3YWVyZSBzdG9seiBhdWYgdW5zLiINCnNldCAiU1BSVUNIWzJdPUJ5dGVz +IGxlcm5lbiBGcnVlaC0sIFNwYWV0LSB1bmQgTmFjaHRzY2hpY2h0LiINCnNldCAiU1BSVUNIWzNd +PUphdmFTY3JpcHQgdGF1dCBsYW5nc2FtIGF1Zi4iDQpzZXQgIlNQUlVDSFs0XT1Qb3dlclNoZWxs +IHN0cmVja3Qgc2ljaCBrdXJ6LiINCnNldCAiU1BSVUNIWzVdPUhlYXJ0YmVhdCBzeW5jaHJvbmlz +aWVydCBzaWNoIG1pdCBkZW0gQnVlcm8tS2FmZmVlLiINCnNldCAiU1BSVUNIWzZdPUFud2VzZW5o +ZWl0c2xpc3RlIHdpcmQgZ2VnZW5nZWxlc2VuLiINCnNldCAiU1BSVUNIWzddPU1vZHVsLUltcG9y +dHMgd2FydGVuIGFuIGRlciBTcHJlY2hzdHVuZGUuIg0Kc2V0ICJTUFJVQ0hbOF09RGllbnN0Z3J1 +cHBlbiBzb3J0aWVyZW4gc2ljaCBhbHBoYWJldGlzY2guIg0Kc2V0ICJTUFJVQ0hbOV09REdMLVZl +cmFudHdvcnR1bmcgc3VjaHQgaWhyZSBTY2hyYWZmdXIuIg0Kc2V0ICJTUFJVQ0hbMTBdPVdvY2hl +bmZyZWkgZnJldXQgc2ljaCBhdWZzIFdvY2hlbmVuZGUuIg0Kc2V0ICJTUFJVQ0hbMTFdPVZlcmJp +bmRsaWNoa2VpdHNmZW5zdGVyIHdpcmQgYWJnZWtsZWJ0LiINCnNldCAiU1BSVUNIWzEyXT1QcmUt +RmxpZ2h0LUNoZWNrczogYWxsZXMgaW0gZ3J1ZW5lbiBCZXJlaWNoLiINCnNldCAiU1BSVUNIWzEz +XT1CcmllZmthc3RlbiBkZXIgU3RhdGlzdGlrIHdpcmQgZ2VsZWVydC4iDQpzZXQgIlNQUlVDSFsx +NF09QXVmcnVmLVB1ZmZlcnNwZWljaGVyIHdpcmQgbGllYmtvc3QuIg0Kc2V0ICJTUFJVQ0hbMTVd +PURpZSBIZWF0bWFwIHByb2J0IHNjaG9uIG1hbCBlaW5lIFdlbGxlLiINCnNldCAiU1BSVUNIWzE2 +XT1Ccm93c2VyLUNvb2tpZXMgd2VyZGVuIHp1bSBLYWZmZWUgc2VydmllcnQuIg0Kc2V0ICJTUFJV +Q0hbMTddPVZvcm5hbWUtTmFjaG5hbWUtS29tbWEgd2lyZCBqdXN0aWVydC4iDQpzZXQgIlNQUlVD +SFsxOF09RnVlbGwtR3JpZmYgbGVndCBzZWluZW4gQW56dWcgYW4uIg0Kc2V0ICJTUFJVQ0hbMTld +PVNvbmRlcnRlcm1pbmUgcGFja2VuIGRpZSBNYXJraWVydW5nZW4gYXVzLiINCg0KOjogLS0tIEhl +YWRlciAtLS0NCmlmIGRlZmluZWQgREVCVUcgZ290byA6ZGVidWdIZWFkZXINCg0KY2xzDQplY2hv +Lg0KZWNoby4NCmVjaG8gICAgICFDX0FDQ0VOVCHilZTilZDilZDilZDilZDilZDilZDilZDilZDi +lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi +lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi +lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZchQ19SRVNFVCENCmVjaG8gICAg +ICFDX0FDQ0VOVCHilZEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAg4pWRIUNfUkVTRVQhDQplY2hvICAgICAhQ19BQ0NFTlQh4pWRICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKVkSFD +X1JFU0VUIQ0KZWNobyAgICAgIUNfQUNDRU5UIeKVkSFDX1JFU0VUISAgICAgICAgICAgICAhQ19C +T0xEIVYgSSAzICDCtyAgRCBHIEwgLSBQIEwgQSBOIFUgTiBHIUNfUkVTRVQhICAgICAgICAgICAg +ICAhQ19BQ0NFTlQh4pWRIUNfUkVTRVQhDQplY2hvICAgICAhQ19BQ0NFTlQh4pWRICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKVkSFDX1JF +U0VUIQ0KZWNobyAgICAgIUNfQUNDRU5UIeKVkSFDX1JFU0VUISAgICAgICAgICAgICAgICAgICAg +IUNfRElNIURpZW5zdHBsYW4gZGVyIFZJMyFDX1JFU0VUISAgICAgICAgICAgICAgICAgICAgIUNf +QUNDRU5UIeKVkSFDX1JFU0VUIQ0KZWNobyAgICAgIUNfQUNDRU5UIeKVkSAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilZEhQ19SRVNFVCEN +CmVjaG8gICAgICFDX0FDQ0VOVCHilZEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAg4pWRIUNfUkVTRVQhDQplY2hvICAgICAhQ19BQ0NFTlQh +4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ +4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ +4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ +4pWQ4pWQ4pWdIUNfUkVTRVQhDQplY2hvLg0KZWNobyAgICAgICAgICAgICFDX0RJTSFTZXJ2ZXIg +c3RhcnRrbGFyIG1hY2hlbiDigJQgZWluZW4gTW9tZW50IGJpdHRlIUNfUkVTRVQhDQplY2hvLg0K +Z290byA6YWZ0ZXJIZWFkZXINCg0KOmRlYnVnSGVhZGVyDQplY2hvLg0KZWNobyAgPT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCmVjaG8gICBWSTMgS3JhZWZ0ZXBs +YW51bmcgIC0gIERFQlVHLU1vZHVzDQplY2hvICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PQ0KZWNoby4NCmVjaG8gICBRdWVsbGU6ICAgJUFQUF9ST09UJQ0KZWNo +byAgIFNlcnZlcjogICAhTE9DQUxfRElSIQ0KZWNobyAgIEJlbnV0emVyOiAlVVNFUk5BTUUlDQpl +Y2hvLg0KDQo6YWZ0ZXJIZWFkZXINCg0KOjogLS0tIFNjaHJpdHQgMTogYWx0ZSBzZXJ2ZXIucHMx +LVByb3plc3NlIGJlZW5kZW4gKHBvd2Vyc2hlbGwuZXhlICsgcHdzaC5leGUpIC0tLQ0Kc2V0ICJH +RUtJTExUPTAiDQpmb3IgL2YgInVzZWJhY2txIHRva2Vucz0qIiAlJVAgaW4gKGBwb3dlcnNoZWxs +IC1Ob1Byb2ZpbGUgLUNvbW1hbmQgIkdldC1DaW1JbnN0YW5jZSBXaW4zMl9Qcm9jZXNzIC1FcnJv +ckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlIHwgV2hlcmUtT2JqZWN0IHsgKCRfLk5hbWUgLWVxICdw +b3dlcnNoZWxsLmV4ZScgLW9yICRfLk5hbWUgLWVxICdwd3NoLmV4ZScpIC1hbmQgJF8uQ29tbWFu +ZExpbmUgLWFuZCAkXy5Db21tYW5kTGluZSAtbWF0Y2ggJ3NlcnZlcltcXHcuXSpcLnBzMScgfSB8 +IFNlbGVjdC1PYmplY3QgLUV4cGFuZFByb3BlcnR5IFByb2Nlc3NJZCIgMl4+bnVsYCkgZG8gKA0K +ICAgIHRhc2traWxsIC9QSUQgJSVQIC9GID5udWwgMj4mMQ0KICAgIHNldCAvYSBHRUtJTExUPSFH +RUtJTExUISsxDQopDQppZiAhR0VLSUxMVCEgZ3RyIDAgKA0KICAgIGlmIGRlZmluZWQgREVCVUcg +ZWNobyAgICFHRUtJTExUISBhbHRlXihuXikgU2VydmVyLVByb3plc3NeKGVeKSBiZWVuZGV0LiBX +YXJ0ZSBhdWYgSGFuZGxlLVJlbGVhc2UuLi4NCiAgICB0aW1lb3V0IC90IDIgL25vYnJlYWsgPm51 +bA0KICAgIGlmIG5vdCBkZWZpbmVkIERFQlVHIGVjaG8gICAgICAgIUNfT0sh4pyTIUNfUkVTRVQh +ICFDX0RJTSFBbHRlIFNlcnZlci1JbnN0YW56ZW4gdmVyYWJzY2hpZWRldCAhQ19SRVNFVCFeKCFH +RUtJTExUIV4pDQopIGVsc2UgKA0KICAgIGlmIG5vdCBkZWZpbmVkIERFQlVHIGVjaG8gICAgICAg +IUNfT0sh4pyTIUNfUkVTRVQhICFDX0RJTSFLZWluZSBhbHRlbiBJbnN0YW56ZW4gaW0gV2VnIUNf +UkVTRVQhDQopDQoNCjo6IC0tLSBTY2hyaXR0IDI6IGZyZWllbiBQb3J0IGZpbmRlbiAtLS0NCjo6 +IEVJTiBQb3dlclNoZWxsLUF1ZnJ1ZiBwcnVlZnQgYWxsZSBLYW5kaWRhdGVuIHZpYSBUY3BMaXN0 +ZW5lci1CaW5kaW5nDQo6OiAoZWNodGVyIEJpbmQtVmVyc3VjaCBpc3Qgcm9idXN0ZXIgYWxzIG51 +ciBHZXQtTmV0VENQQ29ubmVjdGlvbiwgd2VpbA0KOjogYXVjaCBIeXBlci1WLXJlc2VydmllcnRl +IFBvcnRzIGtvcnJla3QgYWxzIGJlbGVndCBlcmthbm50IHdlcmRlbikuDQo6OiBWb3JoZXI6IDM0 +eCBzZXBhcmF0ZSBQUy1DYWxscyDDoSAyMDAtNTAwIG1zID0gMTUtMjAgcyBhdWYgQmVob2VyZGVu +LVBDcy4NCjo6IEpldHp0OiAgMSBQUy1DYWxsIG1pdCBJbmxpbmUtTG9vcCwgfjAsNS0yIHMgZ2Vz +YW10Lg0KaWYgbm90IGRlZmluZWQgREVCVUcgZWNobyAgICAgICAhQ19ESU0hLi4uIUNfUkVTRVQh +ICFDX0RJTSFGcmVpZXIgUG9ydCB3aXJkIGdlc3VjaHQhQ19SRVNFVCENCmZvciAvZiAidXNlYmFj +a3EgdG9rZW5zPSoiICUlUCBpbiAoYHBvd2Vyc2hlbGwgLU5vUHJvZmlsZSAtQ29tbWFuZCAiJGs9 +JyVQT1JUX0tBTkRJREFURU4lJyAtc3BsaXQgJyAnOyBmb3JlYWNoICgkcyBpbiAkaykgeyAkcD1b +aW50XSRzOyB0cnkgeyAkbD1OZXctT2JqZWN0IE5ldC5Tb2NrZXRzLlRjcExpc3RlbmVyKFtOZXQu +SVBBZGRyZXNzXTo6TG9vcGJhY2ssJHApOyAkbC5TdGFydCgpOyAkbC5TdG9wKCk7IFdyaXRlLU91 +dHB1dCAkcDsgZXhpdCB9IGNhdGNoIHsgdHJ5IHsgJGM9R2V0LU5ldFRDUENvbm5lY3Rpb24gLUxv +Y2FsUG9ydCAkcCAtU3RhdGUgTGlzdGVuIC1FQSBTaWxlbnRseUNvbnRpbnVlIF58IFNlbGVjdC1P +YmplY3QgLUZpcnN0IDE7IGlmICgkYykgeyAkcHI9R2V0LUNpbUluc3RhbmNlIFdpbjMyX1Byb2Nl +c3MgLUZpbHRlciAoJ1Byb2Nlc3NJZD0nICsgJGMuT3duaW5nUHJvY2VzcykgLUVBIFNpbGVudGx5 +Q29udGludWU7IGlmICgkcHIgLWFuZCAkcHIuQ29tbWFuZExpbmUgLW1hdGNoICdwb3dlcnNoZWxs +LipzZXJ2ZXJcLnBzMScpIHsgU3RvcC1Qcm9jZXNzIC1JZCAkYy5Pd25pbmdQcm9jZXNzIC1Gb3Jj +ZSAtRUEgU2lsZW50bHlDb250aW51ZTsgU3RhcnQtU2xlZXAgLU1pbGxpc2Vjb25kcyA3MDA7IFdy +aXRlLU91dHB1dCAkcDsgZXhpdCB9IH0gfSBjYXRjaCB7fSB9IH0iYCkgZG8gc2V0ICJQT1JUPSUl +UCINCmlmIG5vdCBkZWZpbmVkIFBPUlQgKA0KICAgIGlmIG5vdCBkZWZpbmVkIERFQlVHIGVjaG8u +DQogICAgZWNoby4NCiAgICBlY2hvICAgRkVITEVSOiBLZWluZXIgZGVyIFBvcnQtS2FuZGlkYXRl +biBpc3QgZnJlaS4NCiAgICBlY2hvICAgICAgICAgICBIeXBlci1WIG9kZXIgV2luZG93cyByZXNl +cnZpZXJ0IGF1ZiBkZWluZW0gUmVjaG5lciBlaW5lbg0KICAgIGVjaG8gICAgICAgICAgIGdyb3Nz +ZW4gVENQLVBvcnRiZXJlaWNoLiBXaW5kb3dzLXJlc2VydmllcnRlIEJlcmVpY2hlOg0KICAgIGVj +aG8uDQogICAgbmV0c2ggaW50IGlwdjQgc2hvdyBleGNsdWRlZHBvcnRyYW5nZSBwcm90b2NvbD10 +Y3ANCiAgICBlY2hvLg0KICAgIGVjaG8gICBTdWNoZSBlaW5lbiBQb3J0IGF1c3NlcmhhbGIgZGll +c2VyIEJlcmVpY2hlIHVuZCB0cmFnZSBpaG4gb2JlbiBpbg0KICAgIGVjaG8gICBQT1JUX0tBTkRJ +REFURU4gZWluIF4oVmFyaWFibGUgaW0gS29wZiBkZXIgZGdsLmJhdF4pLCBkYW5uIG5ldSBzdGFy +dGVuLg0KICAgIHBhdXNlDQogICAgZXhpdCAvYiAxDQopDQppZiBkZWZpbmVkIERFQlVHIGVjaG8g +ICBQb3J0OiAgICAgJVBPUlQlDQppZiBub3QgZGVmaW5lZCBERUJVRyAoDQogICAgOjogS2xlaW5l +ciBodW1vcnZvbGxlciBLb21tZW50YXIgamUgbmFjaCBQb3J0DQogICAgc2V0ICJQT1JUX0tPTU1F +TlRBUj0iDQogICAgaWYgIiFQT1JUISI9PSI4MDgwIiBzZXQgIlBPUlRfS09NTUVOVEFSPSBeKFN0 +YW5kYXJkcG9ydCwgR2x1ZWNrc3RhZ14pIg0KICAgIGlmICIhUE9SVCEiPT0iODA4OCIgc2V0ICJQ +T1JUX0tPTU1FTlRBUj0gXig4MDgwIHdhciB3aWVkZXIgdmVyZ2ViZW4sIG5laG1lbiB3aXIgZGVu +IE5hY2hiYXJuXikiDQogICAgaWYgIiFQT1JUISI9PSI1NTU1NSIgc2V0ICJQT1JUX0tPTU1FTlRB +Uj0gXih3ZXIgZmluZGV0IGRlbiBQb3J0LCB3aXJkIGJlbG9obnReKSINCiAgICBpZiAiIVBPUlQh +Ij09IjQyNDI0IiBzZXQgIlBPUlRfS09NTUVOVEFSPSBeKEFudHdvcnQgYXVmIGFsbGVzLCB2ZXJk +b3BwZWx0XikiDQogICAgaWYgIiFQT1JUISI9PSIzMTQxNSIgc2V0ICJQT1JUX0tPTU1FTlRBUj0g +Xih1bmdlZmFlaHIgUGkgbWFsIERhdW1lbl4pIg0KICAgIGlmICIhUE9SVCEiPT0iMTM1NzkiIHNl +dCAiUE9SVF9LT01NRU5UQVI9IF4oYWxsZXMgdW5nZXJhZGUsIGFsbGVzIGd1dF4pIg0KICAgIGlm +ICIhUE9SVCEiPT0iNjAwMDAiIHNldCAiUE9SVF9LT01NRU5UQVI9IF4oaG9jaCBoaW5hdXNeKSIN +CiAgICBlY2hvICAgICAgICFDX09LIeKckyFDX1JFU0VUISAhQ19ESU0hRnJlaWVyIFBvcnQgZ2Vm +dW5kZW46IUNfUkVTRVQhICFQT1JUISFDX0RJTSEhUE9SVF9LT01NRU5UQVIhIUNfUkVTRVQhDQop +DQoNCjo6IC0tLSBTY2hyaXR0IDM6IFplaXRzdGVtcGVsIGhvbGVuICsgc2VydmVyLnBzMSBtaXQg +ZnJpc2NoZW0gTmFtZW4ga29waWVyZW4gLS0tDQo6OiBKZWRlIFNlc3Npb24gYmVrb21tdCBlaW5l +IGVpZ2VuZSBzZXJ2ZXJfPFRTPi5wczEgaW0gQ2FjaGUtRGlyLg0KOjogRGFkdXJjaCBrYW5uIG5p +ZSBlaW5lIGFsdGUgS29waWUgd2llZGVydmVyd2VuZGV0IHdlcmRlbi4gQmVpIERhdGVpLQ0KOjog +TG9jayBpc3QgbnVyIGRlciBhbHRlIE5hbWUgZ2Vsb2NrdCwgZGVyIG5ldWUgTmFtZSBpc3QgZnJl +aS4NCmZvciAvZiAidXNlYmFja3EgdG9rZW5zPSoiICUlVCBpbiAoYHBvd2Vyc2hlbGwgLU5vUHJv +ZmlsZSAtQ29tbWFuZCAiKEdldC1EYXRlKS5Ub1N0cmluZygneXl5eU1NZGRfSEhtbXNzJykiYCkg +ZG8gc2V0ICJMT0dfVFM9JSVUIg0Kc2V0ICJMT0NBTF9TRVJWRVI9IUxPQ0FMX0RJUiFcc2VydmVy +XyFMT0dfVFMhLnBzMSINCnNldCAiU0VSVkVSX0xPRz0hTE9DQUxfRElSIVxzZXJ2ZXJfIUxPR19U +UyEubG9nIg0KDQppZiBub3QgZXhpc3QgIiFMT0NBTF9ESVIhIiBta2RpciAiIUxPQ0FMX0RJUiEi +IDI+bnVsDQoNCjo6IEFsdGUgQ2FjaGUtRGF0ZWllbiBhdWZyYWV1bWVuIChzaWxlbnQgLSB3YXMg +Z2Vsb2NrdCBpc3QsIGJsZWlidCBzdGVoZW4pDQpkZWwgL2YgL3EgIiFMT0NBTF9ESVIhXHNlcnZl +ci5wczEiID5udWwgMj4mMQ0KZGVsIC9mIC9xICIhTE9DQUxfRElSIVxzZXJ2ZXJfKi5wczEiID5u +dWwgMj4mMQ0KZGVsIC9mIC9xICIhTE9DQUxfRElSIVxzZXJ2ZXIubG9nIiA+bnVsIDI+JjENCmRl +bCAvZiAvcSAiIUxPQ0FMX0RJUiFcc2VydmVyXyoubG9nIiA+bnVsIDI+JjENCjo6IEFsdGUgQXNz +ZXQtU2Vzc2lvbi1PcmRuZXIgKGFzc2V0c188dHM+XCkgZW50ZmVybmVuLCBkYW1pdCBzaWNoIG5p +Y2h0DQo6OiB1ZWJlciBXb2NoZW4gYXVmYmxhZWhlbi4gV2FzIGdlcmFkZSB2b24gZWluZXIgcGFy +YWxsZWxlbiBTZXNzaW9uIGdlbG9ja3QNCjo6IGlzdCwgYmxlaWJ0IHN0ZWhlbiB1bmQgd2lyZCBi +ZWltIG5hZWNoc3RlbiBTdGFydCBlbnRmZXJudC4NCmZvciAvZCAlJUQgaW4gKCIhTE9DQUxfRElS +IVxhc3NldHNfKiIpIGRvIHJtZGlyIC9zIC9xICIlJUQiID5udWwgMj4mMQ0KDQpjb3B5IC9ZICIh +U0VSVkVSX1NSQyEiICIhTE9DQUxfU0VSVkVSISIgPm51bCAyPiYxDQppZiAhZXJyb3JsZXZlbCEg +bmVxIDAgKA0KICAgIGlmIG5vdCBkZWZpbmVkIERFQlVHIGVjaG8uDQogICAgZWNoby4NCiAgICBl +Y2hvICAgRkVITEVSOiBzZXJ2ZXIucHMxIGtvbm50ZSBuaWNodCBuYWNoICFMT0NBTF9ESVIhIGtv +cGllcnQgd2VyZGVuLg0KICAgIGVjaG8gICAgICAgICAgIFF1ZWxsZTogICAhU0VSVkVSX1NSQyEN +CiAgICBlY2hvICAgICAgICAgICBaaWVsbmFtZTogIUxPQ0FMX1NFUlZFUiENCiAgICBwYXVzZQ0K +ICAgIGV4aXQgL2IgMQ0KKQ0KcG93ZXJzaGVsbCAtTm9Qcm9maWxlIC1Db21tYW5kICJVbmJsb2Nr +LUZpbGUgLUxpdGVyYWxQYXRoICchTE9DQUxfU0VSVkVSISciID5udWwgMj4mMQ0KDQo6OiAtLS0g +U2Nocml0dCAzYjogU3RhdGlzY2hlIEFzc2V0cyBsb2thbCBjYWNoZW4gLS0tDQo6OiBEYW1pdCBk +ZXIgU2hhcmUgamVkZXJ6ZWl0IGFrdHVhbGlzaWVyYmFyIGJsZWlidCAoa2VpbmUgRmlsZS1Mb2Nr +cyBhdWYNCjo6IGFwcC5qcywgaW5kZXguaHRtbCwgc3R5bGUuY3NzLCBpY29ucywgaGVhcnRiZWF0 +LXdvcmtlci5qcyksIGtvcGllcmVuDQo6OiB3aXIgZGllIFdlYi1Bc3NldHMgaW4gZGVuIGxva2Fs +ZW4gQ2FjaGUuIFNlcnZlciBzdGFydGV0IG1pdA0KOjogLVJvb3RQYXRoPUxPQ0FMX0RJUiAoQXNz +ZXRzKSArIC1EYXRhUGF0aD08U2hhcmU+XGRhdGEgKEpTT04gZ2VtZWluc2FtKQ0KOjogKyAtQXNz +ZXRGYWxsYmFjaz08U2hhcmU+ICh4bHN4LmZ1bGwubWluLmpzIHdpcmQgYmVpIEJlZGFyZiB2b20g +U2hhcmUNCjo6IG5hY2hnZWxhZGVuLCBpc3QgbnVyIGZ1ZXIgRXhjZWwtSW1wb3J0IHJlbGV2YW50 +KS4NCnNldCAiQVNTRVRfRElSPSFMT0NBTF9ESVIhXGFzc2V0c18hTE9HX1RTISINCmlmIG5vdCBl +eGlzdCAiIUFTU0VUX0RJUiEiIG1rZGlyICIhQVNTRVRfRElSISIgMj5udWwNCjo6IFJvYm9jb3B5 +IHN0YXR0IGVpbnplbG5lciBjb3B5L3hjb3B5LUF1ZnJ1ZmU6IGVpbiBQcm96ZXNzIHN0YXR0IDEw +Kw0KOjogY21kLVN1YnNoZWxscywgcGx1cyAvTVQ6OCBmdWVyIHBhcmFsbGVsZSBEYXRlaS1Lb3Bp +ZW4uIEF1ZiBsYW5nc2FtZW4NCjo6IFNoYXJlcyAzLTV4IHNjaG5lbGxlci4gUm9ib2NvcHktRXhp +dC1Db2RlcyAwLTcgc2luZCBhbGxlIEVyZm9sZw0KOjogKD49OCBlcnN0IGVjaHRlIEZlaGxlciks +IHdpciByb3V0ZW4gT3V0cHV0IHN0dW1tLg0KOjogL1I6MCAvVzowID0gbm8gcmV0cnksIC9ORkwg +L05ETCAvTkpIIC9OSlMgL05QID0gc3RpbGxlIEF1c2dhYmUuDQpzZXQgIlJDX09QVD0vUjowIC9X +OjAgL05GTCAvTkRMIC9OSkggL05KUyAvTlAiDQo6OiBSb290LUxldmVsLURhdGVpZW4gaW4gZWlu +ZW0gUm9ib2NvcHktQXVmcnVmLiBGZWhsZW5kZSBEYXRlaWVuDQo6OiAoei5CLiBpbmZvLmh0bWws +IGRpYWdub3NlLmh0bWwsIHhsc3guZnVsbC5taW4uanMpIHdlcmRlbiBlaW5mYWNoDQo6OiB1ZWJl +cnNwcnVuZ2VuIOKAlCBrZWluIEZlaGxlci4NCjo6IFdJQ0hUSUc6IGRpYWdub3NlLmh0bWwvc3lu +Yy1jaGVjay5odG1sIGxhZGVuIGlociBTa3JpcHQgZXh0ZXJuDQo6OiAoZGlhZ25vc2UuanMvc3lu +Yy1jaGVjay5qcykg4oCUIENTUCAnc2NyaXB0LXNyYyBzZWxmJyB2ZXJiaWV0ZXQgSW5saW5lLg0K +OjogQmVpZGUgLmpzIE1VRVNTRU4gZGFoZXIgaW4gZGVyIExpc3RlIHN0ZWhlbiwgc29uc3QgNDA0 +ICsgbGVlcmUgU2VpdGUuDQo6OiBXb2NoZW5wbGFuLnRlbXBsYXRlLmh0bWwgKyBzeW5jLW1hbmlm +ZXN0Lmpzb24gc2luZCB6d2luZ2VuZCBub2V0aWc6DQo6OiAgIC0gVGVtcGxhdGU6IEdlbmVyYXRl +LVdvY2hlbnBsYW5TbmFwc2hvdCBzdWNodCBlcyBpbiAkUm9vdCAoQVNTRVRfRElSKSwNCjo6ICAg +ICBvaG5lIGVzIHNjaGxhZWd0IGRlciBTbmFwc2hvdCBzdGlsbCBmZWhsIHVuZCBXb2NoZW5wbGFu +Lmh0bWwgYmxlaWJ0IDQwNC4NCjo6ICAgLSBNYW5pZmVzdDogU3luYy1DaGVjayBicmF1Y2h0IGVz +IGZ1ZXIgZGVuIFNIQTI1Ni1WZXJnbGVpY2ggKHNvbnN0IG51cg0KOjogICAgIEFua2VyLUNoZWNr +LCBIYXNoLURyaWZ0IHdpcmQgbmljaHQgZXJrYW5udCkuDQo6OiBXb2NoZW5wbGFuLmh0bWwgd2ly +ZCB2b20gU2VydmVyIHNlbGJzdCByZWdlbmVyaWVydCDigJQgd2lyIGtvcGllcmVuIEtFSU5FTg0K +OjogYWx0ZW4gU25hcHNob3QgbWl0LCBzb25zdCB6ZWlndCBkZXIgQnJvd3NlciB2ZXJhbHRldGUg +RGF0ZW4gYmlzIHp1ciBlcnN0ZW4NCjo6IFBsYW51bmdzYWVuZGVydW5nLg0Kcm9ib2NvcHkgIiVB +UFBfUk9PVCUiICIhQVNTRVRfRElSISIgYXBwLmpzIGluZGV4Lmh0bWwgc3R5bGUuY3NzIGhlYXJ0 +YmVhdC13b3JrZXIuanMgc3luYy13b3JrZXIuanMgeGxzeC5mdWxsLm1pbi5qcyBmYXZpY29uLmlj +byBpbmZvLmh0bWwgZGlhZ25vc2UuaHRtbCBkaWFnbm9zZS5qcyBzeW5jLWNoZWNrLmh0bWwgc3lu +Yy1jaGVjay5qcyBXb2NoZW5wbGFuLnRlbXBsYXRlLmh0bWwgc3luYy1tYW5pZmVzdC5qc29uICFS +Q19PUFQhID5udWwgMj4mMQ0KOjogeGxzeC1DaGVjayBzZXBhcmF0IOKAlCByb2JvY29weSBzY2hs +dWNrdCBmZWhsZW5kZSBGaWxlcyBzdHVtbSwgd2lyDQo6OiB3b2xsZW4gYWJlciBkZW4gV2Fybmhp +bndlaXMgaW0gVUkuDQpzZXQgIlhMU1hfRkVITFQ9Ig0KaWYgbm90IGV4aXN0ICIlQVBQX1JPT1Ql +XHhsc3guZnVsbC5taW4uanMiIHNldCAiWExTWF9GRUhMVD0xIg0KOjogU3ViZGlyZWN0b3JpZXMg +cmVrdXJzaXYgKyBtdWx0aS10aHJlYWRlZC4NCmlmIGV4aXN0ICIlQVBQX1JPT1QlXGljb25zIiBy +b2JvY29weSAiJUFQUF9ST09UJVxpY29ucyIgIiFBU1NFVF9ESVIhXGljb25zIiAvRSAvTVQ6OCAh +UkNfT1BUISA+bnVsIDI+JjENCmlmIGV4aXN0ICIlQVBQX1JPT1QlXGpzIiAgICByb2JvY29weSAi +JUFQUF9ST09UJVxqcyIgICAgIiFBU1NFVF9ESVIhXGpzIiAgICAvRSAvTVQ6OCAhUkNfT1BUISA+ +bnVsIDI+JjENCjo6IFRhcm4tTWFya3VwcyB1bnRlciBkYXRhLyDigJQgd2VyZGVuIHZvbSBTZXJ2 +ZXIgbnVyIGFuIEJlcmVjaHRpZ3RlDQo6OiBhdXNnZWxpZWZlcnQgKFRlc3QtRGFyZkJlcmVpY2gt +RmlsdGVyKS4gSGllciBleHBsaXppdCBudXIgZGllIGJlaWRlbg0KOjogSFRNTC1GaWxlcywgbmlj +aHQgZGFzIGdhbnplIGRhdGEvLVZlcnplaWNobmlzIChhZG1pbi5qc29uLCBwbGFudW5nLmpzb24N +Cjo6IGV0Yy4gd2VyZGVuIGRpcmVrdCBhdXMgRGF0YVBhdGggdm9tIFNoYXJlIGdlbGVzZW4sIE5J +Q0hUIGF1cyBkZW0NCjo6IGxva2FsZW4gQXNzZXQtQ2FjaGUpLg0KaWYgZXhpc3QgIiVBUFBfUk9P +VCVcZGF0YSIgcm9ib2NvcHkgIiVBUFBfUk9PVCVcZGF0YSIgIiFBU1NFVF9ESVIhXGRhdGEiIG1h +aW5mcmFtZS5odG1sIHNhbml0aXplci5odG1sICFSQ19PUFQhID5udWwgMj4mMQ0KOjogVW5ibG9j +ay1GaWxlIG51ciBlaW5tYWwgcmVrdXJzaXYgdWViZXIgYWxsZSBmcmlzY2gga29waWVydGVuIERh +dGVpZW4uDQo6OiBCZWkgQmVob2VyZGVuLVNoYXJlcyBzdGFtbXQgZGVyIE1hcmstb2YtdGhlLVdl +YiBtZWlzdCB2b24gZGVyIFNoYXJlLQ0KOjogUXVlbGxlLCByb2JvY29weSB1ZWJlcm5pbW10IGRl +biBTdHJlYW0g4oCUIHdpciBtdWVzc2VuIGV4cGxpeml0IHVuYmxvY2tlbi4NCnBvd2Vyc2hlbGwg +LU5vUHJvZmlsZSAtQ29tbWFuZCAiR2V0LUNoaWxkSXRlbSAtTGl0ZXJhbFBhdGggJyFBU1NFVF9E +SVIhJyAtUmVjdXJzZSAtRmlsZSB8IEZvckVhY2gtT2JqZWN0IHsgVW5ibG9jay1GaWxlIC1MaXRl +cmFsUGF0aCAkXy5GdWxsTmFtZSB9IiA+bnVsIDI+JjENCmlmIG5vdCBkZWZpbmVkIERFQlVHIGVj +aG8gICAgICAgIUNfT0sh4pyTIUNfUkVTRVQhICFDX0RJTSFGcmlzY2hlIFNlcnZlci1WZXJzaW9u +ICsgV2ViLUFzc2V0cyBlaW5nZXNwaWVsdCFDX1JFU0VUIQ0KaWYgZGVmaW5lZCBYTFNYX0ZFSExU +ICgNCiAgICBpZiBkZWZpbmVkIERFQlVHICgNCiAgICAgICAgZWNobyAgIFdBUk5VTkc6IHhsc3gu +ZnVsbC5taW4uanMgZmVobHQgaW0gU2hhcmUtUXVlbGxvcmRuZXIuDQogICAgICAgIGVjaG8gICAg +ICAgICAgICBFeGNlbC1JbXBvcnQgd2lyZCBuaWNodCBmdW5rdGlvbmllcmVuLg0KICAgICAgICBl +Y2hvICAgICAgICAgICAgRGF0ZWkgYXVzIGRlbSBHaXRlYS1SZXBvIG5hY2ggJUFQUF9ST09UJSBr +b3BpZXJlbiBeKH44OTAgS0JeKS4NCiAgICApIGVsc2UgKA0KICAgICAgICBlY2hvICAgICAgICFD +X1dBUk4hISEhQ19SRVNFVCEgIUNfRElNIXhsc3guZnVsbC5taW4uanMgZmVobHQgaW0gU2hhcmUg +4oCUIEV4Y2VsLUltcG9ydCBkZWFrdGl2aWVydCFDX1JFU0VUIQ0KICAgICkNCikNCg0KOjogLS0t +IFByZWZsaWdodDogRGF0ZW5vcmRuZXIgcHJ1ZWZlbiAtLS0NCjo6IERlciBTZXJ2ZXIgZmluZGV0 +IHNlaW5lIEpTT04gcm9idXN0IHVlYmVyIG1laHJlcmUgRmFsbGJhY2tzIChzaWVoZQ0KOjogc2Vy +dmVyLnBzMTogLURhdGFQYXRoIC0+IEFzc2V0RmFsbGJhY2tcZGF0YSAtPiBSb290XGRhdGEgLT4g +U2NyaXB0XGRhdGEpLg0KOjogV2VubiBhYmVyIHNjaG9uIGhpZXIga2VpbiBkYXRhXGFkbWluLmpz +b24gbmViZW4gZGVyIGRnbC5iYXQgbGllZ3QsIHd1cmRlDQo6OiBiZWltIFZlcnNjaGllYmVuIGRl +cyBPcmRuZXJzIHZlcm11dGxpY2ggZGVyIGRhdGFcLVVudGVyb3JkbmVyIHZlcmdlc3Nlbi4NCnNl +dCAiREFUQV9XQVJOPSINCmlmIG5vdCBleGlzdCAiJUFQUF9ST09UJVxkYXRhXGFkbWluLmpzb24i +IHNldCAiREFUQV9XQVJOPTEiDQppZiBkZWZpbmVkIERBVEFfV0FSTiAoDQogICAgaWYgZGVmaW5l +ZCBERUJVRyAoDQogICAgICAgIGVjaG8gICBXQVJOVU5HOiAlQVBQX1JPT1QlXGRhdGFcYWRtaW4u +anNvbiBmZWhsdC4NCiAgICAgICAgZWNobyAgICAgICAgICAgIFd1cmRlIGJlaW0gVmVyc2NoaWVi +ZW4gZGVyIGRhdGFcLU9yZG5lciB2ZXJnZXNzZW4/DQogICAgKSBlbHNlICgNCiAgICAgICAgZWNo +byAgICAgICAhQ19XQVJOISEhIUNfUkVTRVQhICFDX0RJTSFLZWluIGRhdGFcYWRtaW4uanNvbiBu +ZWJlbiBkZ2wuYmF0IOKAlCBkYXRhXC1PcmRuZXIgbWl0bmVobWVuISFDX1JFU0VUIQ0KICAgICkN +CikNCg0KaWYgZGVmaW5lZCBERUJVRyAoDQogICAgZWNobyAgIFN0YXJ0ZSBhdWYgaHR0cDovL2xv +Y2FsaG9zdDolUE9SVCUgLi4uDQogICAgZWNobyAgIExvZzogICAgICAhU0VSVkVSX0xPRyENCiAg +ICBlY2hvICAgTW9kdXM6ICAgIERFQlVHIF4oUFMtRmVuc3RlciBibGVpYnQgb2ZmZW5eKQ0KICAg +IGVjaG8uDQogICAgc3RhcnQgIlZJMyBLcmFlZnRlcGxhbnVuZyAoRGVidWcpIiBwb3dlcnNoZWxs +IC1Ob1Byb2ZpbGUgLU5vRXhpdCAtRXhlY3V0aW9uUG9saWN5IEJ5cGFzcyAtRmlsZSAiIUxPQ0FM +X1NFUlZFUiEiIC1Qb3J0ICVQT1JUJSAtUm9vdFBhdGggIiFBU1NFVF9ESVIhIiAtRGF0YVBhdGgg +IiVBUFBfUk9PVCVcZGF0YSIgLUFzc2V0RmFsbGJhY2sgIiVBUFBfUk9PVCUiDQopIGVsc2UgKA0K +ICAgIHN0YXJ0ICIiIC9iIGNtZCAvYyAicG93ZXJzaGVsbCAtTm9Qcm9maWxlIC1XaW5kb3dTdHls +ZSBIaWRkZW4gLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLUZpbGUgIiIhTE9DQUxfU0VSVkVSISIi +IC1Qb3J0ICVQT1JUJSAtUm9vdFBhdGggIiIhQVNTRVRfRElSISIiIC1EYXRhUGF0aCAiIiVBUFBf +Uk9PVCVcZGF0YSIiIC1Bc3NldEZhbGxiYWNrICIiJUFQUF9ST09UJSIiID4gIiIhU0VSVkVSX0xP +RyEiIiAyPiYxIg0KKQ0KDQo6OiAtLS0gU2Nocml0dCA1OiBXYXJ0ZW4gYmlzIGRlciBTZXJ2ZXIg +dGF0c2FlY2hsaWNoIGFudHdvcnRldCAtLS0NCjo6IFdlbGxlbi1Qb2xsaW5nIHN0YXR0IDEyIHNl +cGFyYXRlciBQb3dlclNoZWxsLUF1ZnJ1ZmUgw6AgMXMuIEVpbmUNCjo6IFdlbGxlID0gMSBQb3dl +clNoZWxsLCBkaWUgaW50ZXJuIDZ4IG1pdCA0MDAgbXMgUGF1c2UgcHJ1ZWZ0ICh+Miw1IHMpLg0K +OjogUG93ZXJTaGVsbC1Db2xkLVN0YXJ0ICgyMDAtMzAwIG1zKSBmYWVsbHQgbnVyIDF4IHBybyBX +ZWxsZSBhbiBzdGF0dA0KOjogMXggcHJvIFNla3VuZGUg4oCUIGJlaSBTZXJ2ZXItU3RhcnQgaW4g +MS0yIHMgc3BhcnQgZGFzIHNwdWVyYmFyIFplaXQuDQo6OiA0IFdlbGxlbiA9IG1heCB+MTAgcyBU +aW1lb3V0ICh2b3JoZXIgMTIgcykuDQppZiBkZWZpbmVkIERFQlVHIGVjaG8gICBXYXJ0ZSBiaXMg +U2VydmVyIGF1ZiBQb3J0ICVQT1JUJSBob2VydC4uLg0KaWYgbm90IGRlZmluZWQgREVCVUcgZWNo +byAgICAgICAhQ19ESU0hLi4uIUNfUkVTRVQhICFDX0RJTSFTZXJ2ZXIgd2FlY2h0IGF1ZiFDX1JF +U0VUIQ0Kc2V0ICJTRVJWRVJfVVA9Ig0KZm9yIC9sICUldyBpbiAoMSwxLDQpIGRvICgNCiAgICBp +ZiBub3QgZGVmaW5lZCBTRVJWRVJfVVAgKA0KICAgICAgICBpZiBub3QgZGVmaW5lZCBERUJVRyAo +DQogICAgICAgICAgICBpZiAiJSV3Ij09IjIiIGNhbGwgOnplaWdlU3BydWNoDQogICAgICAgICAg +ICBpZiAiJSV3Ij09IjMiIGNhbGwgOnplaWdlU3BydWNoDQogICAgICAgICAgICBpZiAiJSV3Ij09 +IjQiIGNhbGwgOnplaWdlU3BydWNoDQogICAgICAgICkNCiAgICAgICAgcG93ZXJzaGVsbCAtTm9Q +cm9maWxlIC1Db21tYW5kICIkcD0lUE9SVCU7IGZvciAoJGk9MDsgJGkgLWx0IDY7ICRpKyspIHsg +dHJ5IHsgJGM9TmV3LU9iamVjdCBTeXN0ZW0uTmV0LlNvY2tldHMuVGNwQ2xpZW50OyAkYy5Db25u +ZWN0KCcxMjcuMC4wLjEnLCRwKTsgJGMuQ2xvc2UoKTsgZXhpdCAwIH0gY2F0Y2ggeyBTdGFydC1T +bGVlcCAtTWlsbGlzZWNvbmRzIDQwMCB9IH07IGV4aXQgMSIgPm51bCAyPiYxDQogICAgICAgIGlm +ICFlcnJvcmxldmVsISBlcXUgMCBzZXQgIlNFUlZFUl9VUD0xIg0KICAgICkNCikNCg0KaWYgbm90 +IGRlZmluZWQgU0VSVkVSX1VQICgNCiAgICBpZiBub3QgZGVmaW5lZCBERUJVRyBlY2hvLg0KICAg +IGVjaG8uDQogICAgZWNobyAgIEZFSExFUjogU2VydmVyIGlzdCBuYWNoIDEwIFNla3VuZGVuIG5p +Y2h0IGVycmVpY2hiYXIuDQogICAgaWYgZGVmaW5lZCBERUJVRyAoDQogICAgICAgIGVjaG8gICAg +ICAgICAgIEltIERFQlVHLUZlbnN0ZXIgc3RlaHQgZGllIFBvd2VyU2hlbGwtRmVobGVybWVsZHVu +Zy4NCiAgICAgICAgcGF1c2UNCiAgICApIGVsc2UgKA0KICAgICAgICBpZiBleGlzdCAiJVVTRVJQ +Uk9GSUxFJVxEZXNrdG9wIiAoDQogICAgICAgICAgICBjb3B5IC9ZICIhU0VSVkVSX0xPRyEiICIl +VVNFUlBST0ZJTEUlXERlc2t0b3BcVkkzX0RHTF9GRUhMRVIubG9nIiA+bnVsIDI+JjENCiAgICAg +ICAgICAgIGVjaG8gICAgICAgICAgIEZlaGxlci1Mb2cgd3VyZGUgYXVmIGRlbiBEZXNrdG9wIGtv +cGllcnQ6IFZJM19ER0xfRkVITEVSLmxvZw0KICAgICAgICApDQogICAgICAgIHBhdXNlDQogICAg +KQ0KICAgIGV4aXQgL2IgMQ0KKQ0KDQo6OiAtLS0gU2Nocml0dCA2OiBCcm93c2VyIG9lZmZuZW4g +KyBBYnNjaGx1c3MgLS0tDQppZiBub3QgZGVmaW5lZCBERUJVRyAoDQogICAgZWNobyAgICAgICAh +Q19PSyHinJMhQ19SRVNFVCEgIUNfRElNIVNlcnZlciBhbnR3b3J0ZXQhQ19SRVNFVCENCiAgICBl +Y2hvLg0KICAgIGVjaG8gICAgICAgIUNfT0sh4pyTIEJlcmVpdCFDX1JFU0VUISDigJQgZGllIFBs +YW51bmcgb2VmZm5ldCBzaWNoIGltIEJyb3dzZXIuDQogICAgZWNoby4NCiAgICBlY2hvICAgICAg +ICFDX0RJTSFUaXBwOiBUYWIgc2NobGllc3NlbiA9IFNlcnZlciBiZWVuZGV0IHNpY2ggYXV0b21h +dGlzY2ggXigzMHNeKSFDX1JFU0VUIQ0KICAgIGVjaG8uDQopDQoNCjo6IEJyb3dzZXItU3VjaHJl +aWhlbmZvbGdlOg0KOjogICBFZGdlIChTdGFuZGFyZCBhdWYgZGVuIFBvbGl6ZWktUENzLCB2b3Jo +ZXJzYWdiYXJlcyBDYWNoZS1WZXJoYWx0ZW4pDQo6OiAgICAgLT4gSFAgU3VyZSBDbGljayAtPiBD +aHJvbWl1bSAtPiBHb29nbGUgQ2hyb21lIC0+IFN5c3RlbS1EZWZhdWx0Lg0KOjogJVByb2dyYW1G +aWxlcyh4ODYpJSB3aXJkIHdlZ2VuIGRlciBLbGFtbWVybiBpbiBlaW5lIEhpbGZzdmFyaWFibGUg +a29waWVydC4NCnNldCAiX1BGODY9JVByb2dyYW1GaWxlcyh4ODYpJSINCnNldCAiQlJPV1NFUl9F +WEU9Ig0KY2FsbCA6ZmluZEJyb3dzZXIgIiVQcm9ncmFtRmlsZXMlXE1pY3Jvc29mdFxFZGdlXEFw +cGxpY2F0aW9uXG1zZWRnZS5leGUiDQpjYWxsIDpmaW5kQnJvd3NlciAiIV9QRjg2IVxNaWNyb3Nv +ZnRcRWRnZVxBcHBsaWNhdGlvblxtc2VkZ2UuZXhlIg0KY2FsbCA6ZmluZEJyb3dzZXIgIiVQcm9n +cmFtRmlsZXMlXEhQXFN1cmUgQ2xpY2tcU2VydmVyc1xjaHJvbWUuZXhlIg0KY2FsbCA6ZmluZEJy +b3dzZXIgIiFfUEY4NiFcSFBcU3VyZSBDbGlja1xTZXJ2ZXJzXGNocm9tZS5leGUiDQpjYWxsIDpm +aW5kQnJvd3NlciAiJUxvY2FsQXBwRGF0YSVcQ2hyb21pdW1cQXBwbGljYXRpb25cY2hyb21lLmV4 +ZSINCmNhbGwgOmZpbmRCcm93c2VyICIlUHJvZ3JhbUZpbGVzJVxDaHJvbWl1bVxBcHBsaWNhdGlv +blxjaHJvbWUuZXhlIg0KY2FsbCA6ZmluZEJyb3dzZXIgIiFfUEY4NiFcQ2hyb21pdW1cQXBwbGlj +YXRpb25cY2hyb21lLmV4ZSINCmNhbGwgOmZpbmRCcm93c2VyICIlTG9jYWxBcHBEYXRhJVxHb29n +bGVcQ2hyb21lXEFwcGxpY2F0aW9uXGNocm9tZS5leGUiDQpjYWxsIDpmaW5kQnJvd3NlciAiJVBy +b2dyYW1GaWxlcyVcR29vZ2xlXENocm9tZVxBcHBsaWNhdGlvblxjaHJvbWUuZXhlIg0KY2FsbCA6 +ZmluZEJyb3dzZXIgIiFfUEY4NiFcR29vZ2xlXENocm9tZVxBcHBsaWNhdGlvblxjaHJvbWUuZXhl +Ig0KDQppZiBkZWZpbmVkIEJST1dTRVJfRVhFICgNCiAgICBpZiBkZWZpbmVkIERFQlVHIGVjaG8g +ICBCcm93c2VyOiAhQlJPV1NFUl9FWEUhDQogICAgOjogLS1uZXctd2luZG93ICsgLS1zdGFydC1t +YXhpbWl6ZWQ6IGVpZ2VuZXMsIG1heGltaWVydGVzIEZlbnN0ZXINCiAgICA6OiAoVGFiLS9BZHJl +c3NsZWlzdGUgYmxlaWJ0IHNpY2h0YmFyLCBkYW1pdCBkZXIgVXNlciBkZW4gVGFiIHNjaGxpZXNz +ZW4NCiAgICA6OiBrYW5uIOKAlCBUYWIgc2NobGllc3NlbiB0cmlnZ2VydCBTZXJ2ZXItU2h1dGRv +d24gbmFjaCAzMCBzKS4NCiAgICBzdGFydCAiIiAiIUJST1dTRVJfRVhFISIgLS1uZXctd2luZG93 +IC0tc3RhcnQtbWF4aW1pemVkICJodHRwOi8vbG9jYWxob3N0OiVQT1JUJSINCikgZWxzZSAoDQog +ICAgaWYgZGVmaW5lZCBERUJVRyBlY2hvICAgS2VpbiBDaHJvbWl1bS9DaHJvbWUgZ2VmdW5kZW4g +LSBvZWZmbmUgU3RhbmRhcmQtQnJvd3Nlcg0KICAgIHN0YXJ0ICIiIC9NQVggImh0dHA6Ly9sb2Nh +bGhvc3Q6JVBPUlQlIg0KKQ0KDQo6OiAtLS0gRmVuc3RlciBpbiBkZW4gVm9yZGVyZ3J1bmQgaG9s +ZW4gLS0tDQo6OiBCcm93c2VyLVN0YXJ0IGlzdCBhc3luY2hyb24gdW5kIGRhcyBGZW5zdGVyIGVy +c2NoZWludCBtYW5jaG1hbCBoaW50ZXINCjo6IGFuZGVyZW4gQW53ZW5kdW5nZW4sIHZvciBhbGxl +bSB3ZW5uIGRlciBVc2VyIHdhZWhyZW5kIGRlcyBTdGFydHMgbWl0DQo6OiB3YXMgYW5kZXJlbSBh +cmJlaXRldC4gV2lyIHdhcnRlbiBrdXJ6LCBkYW5uIHp3aW5nZW4gd2lyIGRhcyBGZW5zdGVyDQo6 +OiBtaXQgVGl0bGUtTWF0Y2ggIlZJMyBER0wtUGxhbnVuZyIgdmlhIFdpbjMyIFNldEZvcmVncm91 +bmRXaW5kb3cgbmFjaA0KOjogdm9ybmUuIEFwcEFjdGl2YXRlIGFsbGVpbmUgcmVpY2h0IG5pY2h0 +IHp1dmVybGFlc3NpZy4NCnBvd2Vyc2hlbGwgLU5vUHJvZmlsZSAtQ29tbWFuZCAiU3RhcnQtU2xl +ZXAgLU1pbGxpc2Vjb25kcyAxMjAwOyBBZGQtVHlwZSAtTmFtZXNwYWNlIFcgLU5hbWUgRiAtTWVt +YmVyRGVmaW5pdGlvbiAnW0RsbEltcG9ydChcInVzZXIzMi5kbGxcIildIHB1YmxpYyBzdGF0aWMg +ZXh0ZXJuIGJvb2wgU2V0Rm9yZWdyb3VuZFdpbmRvdyhTeXN0ZW0uSW50UHRyIGhXbmQpOyBbRGxs +SW1wb3J0KFwidXNlcjMyLmRsbFwiKV0gcHVibGljIHN0YXRpYyBleHRlcm4gYm9vbCBTaG93V2lu +ZG93KFN5c3RlbS5JbnRQdHIgaFduZCwgaW50IG5DbWRTaG93KTsnIC1FcnJvckFjdGlvbiBTaWxl +bnRseUNvbnRpbnVlOyAkcCA9IEdldC1Qcm9jZXNzIHwgV2hlcmUtT2JqZWN0IHsgJF8uTWFpbldp +bmRvd1RpdGxlIC1saWtlICcqVkkzIERHTC1QbGFudW5nKicgLW9yICRfLk1haW5XaW5kb3dUaXRs +ZSAtbGlrZSAnKmxvY2FsaG9zdDolUE9SVCUqJyB9IHwgU2VsZWN0LU9iamVjdCAtRmlyc3QgMTsg +aWYgKCRwKSB7IFtXLkZdOjpTaG93V2luZG93KCRwLk1haW5XaW5kb3dIYW5kbGUsIDMpIHwgT3V0 +LU51bGw7IFtXLkZdOjpTZXRGb3JlZ3JvdW5kV2luZG93KCRwLk1haW5XaW5kb3dIYW5kbGUpIHwg +T3V0LU51bGwgfSIgPm51bCAyPiYxDQoNCmlmIGRlZmluZWQgREVCVUcgKA0KICAgIGVjaG8uDQog +ICAgZWNobyAgIFNlcnZlciBsYWV1ZnQgYXVmIGh0dHA6Ly9sb2NhbGhvc3Q6JVBPUlQlDQogICAg +ZWNobyAgIERhcyBEZWJ1Zy1GZW5zdGVyIGJsZWlidCBvZmZlbiwgZGllc2VyIExhdW5jaGVyIGJl +ZW5kZXQgc2ljaCBqZXR6dC4NCiAgICBlY2hvLg0KICAgIHRpbWVvdXQgL3QgMyAvbm9icmVhayA+ +bnVsDQopIGVsc2UgKA0KICAgIHRpbWVvdXQgL3QgMyAvbm9icmVhayA+bnVsDQopDQpleGl0IC9i +IDANCg0KDQo6OiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT0NCjo6IFVudGVycm91dGluZW4NCjo6ID09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQo6ZG90DQo6OiBHZWZ1 +ZWxsdGVyIEJsb2NrIGltIE5vcm1hbC1Nb2RlIChtb2Rlcm4pLCBsZWlzZSBpbSBEZWJ1Zw0KaWYg +bm90IGRlZmluZWQgREVCVUcgPG51bCBzZXQgL3A9IiFDX0FDQ0VOVDIh4pawIUNfUkVTRVQhIg0K +Z290byA6ZW9mDQoNCjp6ZWlnZVNwcnVjaA0KOjogWmllaHQgZWluZW4genVmYWVsbGlnZW4gU3By +dWNoIGF1cyBTUFJVQ0hbMC4uU1BSVUNIX0FOWi0xXSB1bmQgZ2lidA0KOjogaWhuIGFscyBnZWRp +bW10ZSBaZWlsZSBhdXMuIFdpcmQgaW0gU2VydmVyLVBvbGxpbmcgYWxsZSAzIFNla3VuZGVuDQo6 +OiBhdWZnZXJ1ZmVuLCBkYW1pdCBXYXJ0ZXplaXRlbiBuaWNodCBzdHVtbSBzaW5kLiBBdWZydWYg +bnVyIGltDQo6OiBOb24tRGVidWctTW9kZSAoRGVidWctRmVuc3RlciBzb2xsIGxlaXNlIHNlaW4p +Lg0Kc2V0IC9hICJfU1BSX0lEWD0hUkFORE9NISAlJSAhU1BSVUNIX0FOWiEiDQpjYWxsIHNldCAi +X1NQUl9NU0c9JSVTUFJVQ0hbIV9TUFJfSURYIV0lJSINCmVjaG8gICAgICAgIUNfRElNIeKUgiFD +X1JFU0VUISAhQ19ESU0hIV9TUFJfTVNHISFDX1JFU0VUIQ0KZ290byA6ZW9mDQoNCjpmaW5kQnJv +d3Nlcg0KOjogU2V0enQgQlJPV1NFUl9FWEUsIHNvYmFsZCBkZXIgZXJzdGUgZGVyIHVlYmVyZ2Vi +ZW5lbiBQZmFkZSBleGlzdGllcnQuDQo6OiBTcGFldGVyZSBBdWZydWZlIHdlcmRlbiBpZ25vcmll +cnQsIGRhbWl0IGRpZSBTdWNocmVpaGVuZm9sZ2Ugc3RhYmlsIGJsZWlidC4NCmlmIGRlZmluZWQg +QlJPV1NFUl9FWEUgZ290byA6ZW9mDQppZiBleGlzdCAiJX4xIiBzZXQgIkJST1dTRVJfRVhFPSV+ +MSINCmdvdG8gOmVvZg0K +### FILE: diagnose.html | 2538 +PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImRlIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9IlVU +Ri04Ij4KPHRpdGxlPlZJMyBER0wtUGxhbnVuZyDigJQgRGlhZ25vc2U8L3RpdGxlPgo8c3R5bGU+ +CiAgYm9keSB7IGZvbnQtZmFtaWx5OiBDb25zb2xhcywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNl +OyBiYWNrZ3JvdW5kOiAjMWUxZTFlOyBjb2xvcjogI2U0ZTRlNDsgbWFyZ2luOiAwOyBwYWRkaW5n +OiAyNHB4OyB9CiAgaDEgeyBjb2xvcjogIzRmYzNmNzsgZm9udC1zaXplOiAyMHB4OyBtYXJnaW46 +IDAgMCAxNnB4IDA7IH0KICBoMiB7IGNvbG9yOiAjZmZjYTI4OyBmb250LXNpemU6IDE1cHg7IG1h +cmdpbjogMjBweCAwIDhweCAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzU1NTsgcGFkZGlu +Zy1ib3R0b206IDRweDsgfQogIC5ib3ggeyBiYWNrZ3JvdW5kOiAjMmIyYjJiOyBib3JkZXI6IDFw +eCBzb2xpZCAjNDQ0OyBib3JkZXItcmFkaXVzOiA0cHg7IHBhZGRpbmc6IDEycHg7IG1hcmdpbi1i +b3R0b206IDEycHg7IH0KICAub2sgeyBjb2xvcjogIzgxYzc4NDsgfQogIC5mZWhsZXIgeyBjb2xv +cjogI2U1NzM3MzsgfQogIC53YXJuIHsgY29sb3I6ICNmZmI3NGQ7IH0KICBwcmUgeyBiYWNrZ3Jv +dW5kOiAjMTExOyBib3JkZXItcmFkaXVzOiAzcHg7IHBhZGRpbmc6IDEwcHg7IG92ZXJmbG93LXg6 +IGF1dG87IG1hcmdpbjogNnB4IDA7IGZvbnQtc2l6ZTogMTJweDsgd2hpdGUtc3BhY2U6IHByZS13 +cmFwOyB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH0KICB0YWJsZSB7IHdpZHRoOiAxMDAlOyBib3Jk +ZXItY29sbGFwc2U6IGNvbGxhcHNlOyBtYXJnaW46IDRweCAwOyB9CiAgdGQsIHRoIHsgcGFkZGlu +ZzogNnB4IDEwcHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzMzOyB0ZXh0LWFsaWduOiBs +ZWZ0OyBmb250LXNpemU6IDEzcHg7IH0KICB0aCB7IGNvbG9yOiAjOTBjYWY5OyBiYWNrZ3JvdW5k +OiAjMjIyOyB9CiAgLmxhYmVsIHsgY29sb3I6ICNhYWE7IGRpc3BsYXk6IGlubGluZS1ibG9jazsg +bWluLXdpZHRoOiAxMTBweDsgfQogIGJ1dHRvbiB7IGJhY2tncm91bmQ6ICM0ZmMzZjc7IGNvbG9y +OiAjMDAwOyBib3JkZXI6IDA7IHBhZGRpbmc6IDhweCAxNnB4OyBib3JkZXItcmFkaXVzOiAzcHg7 +IGN1cnNvcjogcG9pbnRlcjsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbi1yaWdodDogOHB4OyB9 +CiAgYnV0dG9uOmhvdmVyIHsgYmFja2dyb3VuZDogIzI5YjZmNjsgfQogIC5uYXYgeyBtYXJnaW4t +dG9wOiAxNnB4OyB9CiAgLm5hdiBhIHsgY29sb3I6ICM0ZmMzZjc7IG1hcmdpbi1yaWdodDogMTJw +eDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9CiAgLm5hdiBhOmhvdmVyIHsgdGV4dC1kZWNvcmF0 +aW9uOiB1bmRlcmxpbmU7IH0KPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KICA8aDE+VkkzIERHTC1Q +bGFudW5nIOKAlCBTZXJ2ZXItRGlhZ25vc2U8L2gxPgoKICA8ZGl2IGNsYXNzPSJib3giPgogICAg +PGRpdj48c3BhbiBjbGFzcz0ibGFiZWwiPlVSTDo8L3NwYW4+IDxzcGFuIGlkPSJ1cmwiPjwvc3Bh +bj48L2Rpdj4KICAgIDxkaXY+PHNwYW4gY2xhc3M9ImxhYmVsIj5Vc2VyLUFnZW50Ojwvc3Bhbj4g +PHNwYW4gaWQ9InVhIj48L3NwYW4+PC9kaXY+CiAgICA8ZGl2PjxzcGFuIGNsYXNzPSJsYWJlbCI+ +WmVpdDo8L3NwYW4+IDxzcGFuIGlkPSJ6ZWl0Ij48L3NwYW4+PC9kaXY+CiAgPC9kaXY+CgogIDxk +aXYgY2xhc3M9Im5hdiI+CiAgICA8YnV0dG9uIG9uY2xpY2s9ImFsbGVzKCkiPkFsbGUgVGVzdHMg +bGF1ZmVuPC9idXR0b24+CiAgICA8YSBocmVmPSJpbmRleC5odG1sIj56dXIgQXBwICZyYXJyOzwv +YT4KICA8L2Rpdj4KCiAgPGgyPjEuIC9hcGkvaW5mbyAmbWRhc2g7IFNlcnZlciBhbnR3b3J0ZXQg +dWViZXJoYXVwdD88L2gyPgogIDxkaXYgY2xhc3M9ImJveCIgaWQ9ImluZm8tYm94Ij48ZW0+bm9j +aCBuaWNodCBnZXBydWVmdDwvZW0+PC9kaXY+CgogIDxoMj4yLiAvYXBpL2RlYnVnICZtZGFzaDsg +V2VsY2hlIFBmYWRlIC8gRGF0ZWllbiBzaWVodCBkZXIgU2VydmVyPzwvaDI+CiAgPGRpdiBjbGFz +cz0iYm94IiBpZD0iZGVidWctYm94Ij48ZW0+bm9jaCBuaWNodCBnZXBydWVmdDwvZW0+PC9kaXY+ +CgogIDxoMj4zLiAvYXBpL2FkbWluICZtZGFzaDsgTGFlZHQgYWRtaW4uanNvbj88L2gyPgogIDxk +aXYgY2xhc3M9ImJveCIgaWQ9ImFkbWluLWJveCI+PGVtPm5vY2ggbmljaHQgZ2VwcnVlZnQ8L2Vt +PjwvZGl2PgoKICA8aDI+NC4gL2FwaS9wbGFudW5nICZtZGFzaDsgTGFlZHQgcGxhbnVuZy5qc29u +PzwvaDI+CiAgPGRpdiBjbGFzcz0iYm94IiBpZD0icGxhbnVuZy1ib3giPjxlbT5ub2NoIG5pY2h0 +IGdlcHJ1ZWZ0PC9lbT48L2Rpdj4KCiAgPGgyPjUuIC9hcGkvbG9nYnVjaCAmbWRhc2g7IExhZWR0 +IGxvZ2J1Y2guanNvbj88L2gyPgogIDxkaXYgY2xhc3M9ImJveCIgaWQ9ImxvZ2J1Y2gtYm94Ij48 +ZW0+bm9jaCBuaWNodCBnZXBydWVmdDwvZW0+PC9kaXY+Cgo8c2NyaXB0IHNyYz0iZGlhZ25vc2Uu +anMiPjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4K +### FILE: diagnose.js | 5285 +KGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgZnVuY3Rpb24gZXNjYXBlSFRNTChzKSB7 +CiAgICB2YXIgZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgZC50ZXh0Q29u +dGVudCA9IChzID09PSBudWxsIHx8IHMgPT09IHVuZGVmaW5lZCkgPyAnJyA6IFN0cmluZyhzKTsK +ICAgIHJldHVybiBkLmlubmVySFRNTDsKICB9CgogIGZ1bmN0aW9uIGZvcm1hdEJ5dGVzKG4pIHsK +ICAgIGlmIChuID09IG51bGwpIHJldHVybiAnLSc7CiAgICBpZiAobiA8IDEwMjQpIHJldHVybiBu +ICsgJyBCJzsKICAgIGlmIChuIDwgMTAyNCAqIDEwMjQpIHJldHVybiAobiAvIDEwMjQpLnRvRml4 +ZWQoMSkgKyAnIEtCJzsKICAgIHJldHVybiAobiAvIDEwMjQgLyAxMDI0KS50b0ZpeGVkKDIpICsg +JyBNQic7CiAgfQoKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXJsJykudGV4dENvbnRlbnQg +PSBsb2NhdGlvbi5ocmVmOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd1YScpLnRleHRDb250 +ZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnemVp +dCcpLnRleHRDb250ZW50ID0gbmV3IERhdGUoKS50b0xvY2FsZVN0cmluZygnZGUtREUnKTsKCiAg +ZnVuY3Rpb24gcHJ1ZWZlbihwZmFkLCBib3hJZCwgYmVzY2hyZWlidW5nKSB7CiAgICB2YXIgYm94 +ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYm94SWQpOwogICAgYm94LmlubmVySFRNTCA9ICc8 +ZW0+bGFlZHQgJmhlbGxpcDs8L2VtPic7CiAgICB2YXIgc3RhcnQgPSBwZXJmb3JtYW5jZS5ub3co +KTsKICAgIHJldHVybiBmZXRjaChwZmFkKS50aGVuKGZ1bmN0aW9uKHIpIHsKICAgICAgdmFyIGRh +dWVyID0gTWF0aC5yb3VuZChwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0KTsKICAgICAgcmV0dXJu +IHIudGV4dCgpLnRoZW4oZnVuY3Rpb24odHh0KSB7CiAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBy +LnN0YXR1cywgb2s6IHIub2ssIGNvbnRlbnRUeXBlOiByLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5 +cGUnKSB8fCAnJywgdGV4dDogdHh0LCBkYXVlcjogZGF1ZXIgfTsKICAgICAgfSk7CiAgICB9KS50 +aGVuKGZ1bmN0aW9uKHJlcykgewogICAgICB2YXIga2xhc3NlID0gcmVzLm9rID8gJ29rJyA6ICdm +ZWhsZXInOwogICAgICB2YXIga2VubnogPSByZXMub2sgPyAnW09LXScgOiAnW0ZFSExFUl0nOwog +ICAgICB2YXIgaHRtbCA9ICc8ZGl2IGNsYXNzPSInICsga2xhc3NlICsgJyI+PGI+JyArIGtlbm56 +ICsgJyBIVFRQICcgKyByZXMuc3RhdHVzICsgJzwvYj4gJm1pZGRvdDsgJyArIHJlcy5kYXVlciAr +ICcgbXMgJm1pZGRvdDsgJyArIGVzY2FwZUhUTUwocmVzLmNvbnRlbnRUeXBlKSArICc8L2Rpdj4n +OwoKICAgICAgLy8gSlNPTi1WYWxpZGl0YWV0IHBydWVmZW4KICAgICAgdmFyIG9iaiA9IG51bGw7 +CiAgICAgIHZhciBwYXJzZUZlaGxlciA9IG51bGw7CiAgICAgIHRyeSB7IG9iaiA9IEpTT04ucGFy +c2UocmVzLnRleHQpOyB9IGNhdGNoIChlKSB7IHBhcnNlRmVobGVyID0gZS5tZXNzYWdlOyB9Cgog +ICAgICBpZiAocGFyc2VGZWhsZXIpIHsKICAgICAgICBodG1sICs9ICc8ZGl2IGNsYXNzPSJmZWhs +ZXIiPkpTT04tUGFyc2UtRmVobGVyOiAnICsgZXNjYXBlSFRNTChwYXJzZUZlaGxlcikgKyAnPC9k +aXY+JzsKICAgICAgICBodG1sICs9ICc8cHJlPicgKyBlc2NhcGVIVE1MKHJlcy50ZXh0LnN1YnN0 +cmluZygwLCAyMDAwKSkgKyAocmVzLnRleHQubGVuZ3RoID4gMjAwMCA/ICdcbi4uLicgOiAnJykg +KyAnPC9wcmU+JzsKICAgICAgfSBlbHNlIHsKICAgICAgICBodG1sICs9ICc8ZGl2PkpTT04gZ3Vl +bHRpZyAmbWlkZG90OyAnICsgZm9ybWF0Qnl0ZXMocmVzLnRleHQubGVuZ3RoKSArICc8L2Rpdj4n +OwoKICAgICAgICAvLyBTcGV6aWVsbGUgQXVzd2VydHVuZyBwcm8gRW5kcHVua3QKICAgICAgICBp +ZiAocGZhZCA9PT0gJy9hcGkvZGVidWcnICYmIG9iaiAmJiBvYmouRmlsZXMpIHsKICAgICAgICAg +IGh0bWwgKz0gJzx0YWJsZT48dHI+PHRoPkVpbnRyYWc8L3RoPjx0aD5XZXJ0PC90aD48L3RyPic7 +CiAgICAgICAgICBodG1sICs9ICc8dHI+PHRkPlJvb3Q8L3RkPjx0ZD4nICsgZXNjYXBlSFRNTChv +YmouUm9vdCkgKyAnPC90ZD48L3RyPic7CiAgICAgICAgICBodG1sICs9ICc8dHI+PHRkPkRhdGFE +aXI8L3RkPjx0ZD4nICsgZXNjYXBlSFRNTChvYmouRGF0YURpcikgKyAnPC90ZD48L3RyPic7CiAg +ICAgICAgICBPYmplY3Qua2V5cyhvYmouRmlsZXMpLmZvckVhY2goZnVuY3Rpb24oZikgewogICAg +ICAgICAgICB2YXIgaW5mbyA9IG9iai5GaWxlc1tmXTsKICAgICAgICAgICAgdmFyIHR4dCA9IGlu +Zm8uZXhpc3RzID8gKCd2b3JoYW5kZW4sICcgKyBmb3JtYXRCeXRlcyhpbmZvLnNpemUpKSA6ICdG +RUhMVCc7CiAgICAgICAgICAgIHZhciBjbHMgPSBpbmZvLmV4aXN0cyA/ICdvaycgOiAnZmVobGVy +JzsKICAgICAgICAgICAgaHRtbCArPSAnPHRyPjx0ZD4nICsgZXNjYXBlSFRNTChmKSArICc8L3Rk +Pjx0ZCBjbGFzcz0iJyArIGNscyArICciPicgKyB0eHQgKyAnPC90ZD48L3RyPic7CiAgICAgICAg +ICB9KTsKICAgICAgICAgIGh0bWwgKz0gJzwvdGFibGU+JzsKICAgICAgICB9IGVsc2UgaWYgKHBm +YWQgPT09ICcvYXBpL2FkbWluJyAmJiBvYmopIHsKICAgICAgICAgIGh0bWwgKz0gJzx0YWJsZT4n +OwogICAgICAgICAgaHRtbCArPSAnPHRyPjx0ZD5qYWhyPC90ZD48dGQ+JyArIGVzY2FwZUhUTUwo +b2JqLmphaHIpICsgJzwvdGQ+PC90cj4nOwogICAgICAgICAgaHRtbCArPSAnPHRyPjx0ZD5zY2hp +Y2h0Y29kZXM8L3RkPjx0ZD4nICsgKChvYmouc2NoaWNodGNvZGVzIHx8IFtdKS5sZW5ndGgpICsg +JzwvdGQ+PC90cj4nOwogICAgICAgICAgaHRtbCArPSAnPHRyPjx0ZD5ncnVwcGVuPC90ZD48dGQ+ +JyArICgob2JqLmdydXBwZW4gfHwgW10pLmxlbmd0aCkgKyAnPC90ZD48L3RyPic7CiAgICAgICAg +ICBodG1sICs9ICc8dHI+PHRkPmZlaWVydGFnZTwvdGQ+PHRkPicgKyAoKG9iai5mZWllcnRhZ2Ug +fHwgW10pLmxlbmd0aCkgKyAnPC90ZD48L3RyPic7CiAgICAgICAgICBodG1sICs9ICc8dHI+PHRk +PmZlcmllbjwvdGQ+PHRkPicgKyAoKG9iai5mZXJpZW4gfHwgW10pLmxlbmd0aCkgKyAnPC90ZD48 +L3RyPic7CiAgICAgICAgICBodG1sICs9ICc8L3RhYmxlPic7CiAgICAgICAgfSBlbHNlIGlmIChw +ZmFkID09PSAnL2FwaS9wbGFudW5nJyAmJiBvYmopIHsKICAgICAgICAgIHZhciBkYXRlQ291bnQg +PSBvYmouZWludHJhZWdlID8gT2JqZWN0LmtleXMob2JqLmVpbnRyYWVnZSkubGVuZ3RoIDogMDsK +ICAgICAgICAgIHZhciBlaW50cmFnQ291bnQgPSAwOwogICAgICAgICAgaWYgKG9iai5laW50cmFl +Z2UpIHsKICAgICAgICAgICAgT2JqZWN0LmtleXMob2JqLmVpbnRyYWVnZSkuZm9yRWFjaChmdW5j +dGlvbihkKSB7IGVpbnRyYWdDb3VudCArPSBPYmplY3Qua2V5cyhvYmouZWludHJhZWdlW2RdKS5s +ZW5ndGg7IH0pOwogICAgICAgICAgfQogICAgICAgICAgaHRtbCArPSAnPHRhYmxlPic7CiAgICAg +ICAgICBodG1sICs9ICc8dHI+PHRkPmphaHI8L3RkPjx0ZD4nICsgZXNjYXBlSFRNTChvYmouamFo +cikgKyAnPC90ZD48L3RyPic7CiAgICAgICAgICBodG1sICs9ICc8dHI+PHRkPnBlcnNvbmVuPC90 +ZD48dGQ+JyArICgob2JqLnBlcnNvbmVuIHx8IFtdKS5sZW5ndGgpICsgJzwvdGQ+PC90cj4nOwog +ICAgICAgICAgaHRtbCArPSAnPHRyPjx0ZD5UYWdlIG1pdCBFaW50cmFlZ2VuPC90ZD48dGQ+JyAr +IGRhdGVDb3VudCArICc8L3RkPjwvdHI+JzsKICAgICAgICAgIGh0bWwgKz0gJzx0cj48dGQ+RWlu +dHJhZWdlIGdlc2FtdDwvdGQ+PHRkPicgKyBlaW50cmFnQ291bnQgKyAnPC90ZD48L3RyPic7CiAg +ICAgICAgICBodG1sICs9ICc8L3RhYmxlPic7CiAgICAgICAgfSBlbHNlIGlmIChwZmFkID09PSAn +L2FwaS9sb2didWNoJyAmJiBvYmopIHsKICAgICAgICAgIGh0bWwgKz0gJzxkaXY+RWludHJhZWdl +OiAnICsgKEFycmF5LmlzQXJyYXkob2JqKSA/IG9iai5sZW5ndGggOiAwKSArICc8L2Rpdj4nOwog +ICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSAmJiBvYmoubGVuZ3RoID4gMCkgewogICAg +ICAgICAgICB2YXIgZSA9IG9ialswXTsKICAgICAgICAgICAgaHRtbCArPSAnPGRpdj5MZXR6dGVy +IEVpbnRyYWc6ICcgKyBlc2NhcGVIVE1MKGUuemVpdHN0ZW1wZWwpICsgJyAmbWlkZG90OyAnICsg +ZXNjYXBlSFRNTChlLmFrdGlvbikgKyAnPC9kaXY+JzsKICAgICAgICAgIH0KICAgICAgICB9IGVs +c2UgaWYgKHBmYWQgPT09ICcvYXBpL2luZm8nICYmIG9iaikgewogICAgICAgICAgaHRtbCArPSAn +PHRhYmxlPic7CiAgICAgICAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goZnVuY3Rpb24oaykg +ewogICAgICAgICAgICBodG1sICs9ICc8dHI+PHRkPicgKyBlc2NhcGVIVE1MKGspICsgJzwvdGQ+ +PHRkPicgKyBlc2NhcGVIVE1MKG9ialtrXSkgKyAnPC90ZD48L3RyPic7CiAgICAgICAgICB9KTsK +ICAgICAgICAgIGh0bWwgKz0gJzwvdGFibGU+JzsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGJv +eC5pbm5lckhUTUwgPSBodG1sOwogICAgfSkuY2F0Y2goZnVuY3Rpb24oZXJyKSB7CiAgICAgIGJv +eC5pbm5lckhUTUwgPSAnPGRpdiBjbGFzcz0iZmVobGVyIj48Yj5bTkVUWldFUkstRkVITEVSXTwv +Yj4gJyArIGVzY2FwZUhUTUwoZXJyLm1lc3NhZ2UpICsgJzwvZGl2PicgKwogICAgICAgICAgICAg +ICAgICAgICAgJzxkaXYgY2xhc3M9Indhcm4iPkRlciBTZXJ2ZXIgYW50d29ydGV0IGF1ZiAnICsg +ZXNjYXBlSFRNTChwZmFkKSArICcgbmljaHQuIFBydWVmZSwgb2IgZGllIFBvd2VyU2hlbGwgbm9j +aCBsYWV1ZnQuPC9kaXY+JzsKICAgIH0pOwogIH0KCiAgZnVuY3Rpb24gYWxsZXMoKSB7CiAgICBw +cnVlZmVuKCcvYXBpL2luZm8nLCAnaW5mby1ib3gnKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICBy +ZXR1cm4gcHJ1ZWZlbignL2FwaS9kZWJ1ZycsICdkZWJ1Zy1ib3gnKTsKICAgIH0pLnRoZW4oZnVu +Y3Rpb24oKSB7CiAgICAgIHJldHVybiBwcnVlZmVuKCcvYXBpL2FkbWluJywgJ2FkbWluLWJveCcp +OwogICAgfSkudGhlbihmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIHBydWVmZW4oJy9hcGkvcGxh +bnVuZycsICdwbGFudW5nLWJveCcpOwogICAgfSkudGhlbihmdW5jdGlvbigpIHsKICAgICAgcmV0 +dXJuIHBydWVmZW4oJy9hcGkvbG9nYnVjaCcsICdsb2didWNoLWJveCcpOwogICAgfSk7CiAgfQoK +ICB3aW5kb3cuYWxsZXMgPSBhbGxlczsKICBhbGxlcygpOwp9KSgpOwo= +### FILE: favicon.ico | 4443 +iVBORw0KGgoAAAANSUhEUgAAADQAAAAzCAYAAADYfStTAAAFPmlUWHRYTUw6Y29tLmFkb2JlLnht +cAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi +Pz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUg +NS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIy +LXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1s +bnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczpwaG90b3No +b3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICB4bWxuczp0aWZmPSJo +dHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFk +b2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hh +cC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9z +VHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgZXhpZjpDb2xvclNwYWNlPSIxIgogICBleGlmOlBpeGVs +WERpbWVuc2lvbj0iNTIiCiAgIGV4aWY6UGl4ZWxZRGltZW5zaW9uPSI1MSIKICAgcGhvdG9zaG9w +OkNvbG9yTW9kZT0iMyIKICAgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4x +IgogICB0aWZmOkltYWdlTGVuZ3RoPSI1MSIKICAgdGlmZjpJbWFnZVdpZHRoPSI1MiIKICAgdGlm +ZjpSZXNvbHV0aW9uVW5pdD0iMiIKICAgdGlmZjpYUmVzb2x1dGlvbj0iOTYvMSIKICAgdGlmZjpZ +UmVzb2x1dGlvbj0iOTYvMSIKICAgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNi0wMy0yNVQxOToxMzow +NyswMTowMCIKICAgeG1wOk1vZGlmeURhdGU9IjIwMjYtMDMtMjVUMTk6MTM6MDcrMDE6MDAiPgog +ICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgeG1wTU06 +YWN0aW9uPSJwcm9kdWNlZCIKICAgICAgeG1wTU06c29mdHdhcmVBZ2VudD0iQWZmaW5pdHkgUGhv +dG8gMiAyLjYuNCIKICAgICAgeG1wTU06d2hlbj0iMjAyNS0xMC0yMFQyMDowNjowMCswMjowMCIv +PgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJwcm9kdWNlZCIKICAgICAgc3RFdnQ6 +c29mdHdhcmVBZ2VudD0iQWZmaW5pdHkgUGhvdG8gMiAyLjYuNSIKICAgICAgc3RFdnQ6d2hlbj0i +MjAyNi0wMy0yNVQxOToxMzowNyswMTowMCIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhp +c3Rvcnk+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hw +YWNrZXQgZW5kPSJyIj8+F+Tf+AAAAYFpQ0NQc1JHQiBJRUM2MTk2Ni0yLjEAACiRdZHfK4NRGMc/ +24hsmnBBuVgaV6aZWtwok1BLa6b8utne/VLbvL3vJLlVbhUlbvy64C/gVrlWikjJtVwSN6zX826r +Ldlzes7zOd9znqdzngPWSEbJ6nVeyObyWngi4JqbX3A1vGGjk1bs+KKKro6GQkFq2tcDFjPeecxa +tc/9a/Z4QlfA0ig8oqhaXnhSOLiWV03eFW5X0tG48LlwnyYXFL439ViJX01OlfjHZC0SHgNri7Ar +VcWxKlbSWlZYXo47m1lVyvcxX+JI5GZnJHaLd6ETZoIALqYYZww/AwzL7MeDj35ZUSPfW8yfZkVy +FZlV1tFYJkWaPH2irkr1hMSk6AkZGdbN/v/tq54c9JWqOwJQ/2IYHz3QsAOFbcP4PjaMwgnYnuEq +V8lfOYKhT9G3K5r7EJybcHFd0WJ7cLkFHU9qVIsWJZu4NZmE9zNonoe2W2haLPWsvM/pI0Q25Ktu +YP8AeuW8c+kXbBln6GNQQzUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAo2SURBVGiB3ZpXcxvXFYC/ +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 +### FILE: heartbeat-worker.js | 2751 +Ly8gSGVhcnRiZWF0IFdlYiBXb3JrZXIg4oCUIGxhZXVmdCBpbiBlaWdlbmVtIFRocmVhZCwgZGFt +aXQgZGVyIEJyb3dzZXIgZGVuCi8vIEhlYXJ0YmVhdCBOSUNIVCBkcm9zc2VsdCwgd2VubiBkZXIg +VGFiIGluIGRlbiBIaW50ZXJncnVuZCB3ZWNoc2VsdC4KLy8KLy8gS2VybnJlZ2VsOiBTb2xhbmdl +IGRpZXNlciBXb3JrZXIgbGFldWZ0LCBsZWJ0IGRlciBUYWIg4oCUIGFsc28gcGluZ3QgZXIgZGVu +Ci8vIFNlcnZlciBhbGxlIDUgU2VrdW5kZW4sIGVnYWwgb2IgZGVyIFRhYiBzaWNodGJhciBpc3Qu +IEVyc3Qgd2VubiBkZXIgVGFiCi8vIHdpcmtsaWNoIGdlc2NobG9zc2VuIHdpcmQsIGVuZGV0IGRl +ciBXb3JrZXItVGhyZWFkIG1pdCBkZW0gVGFiLCBrZWluZQovLyBIQnMga29tbWVuIG1laHIsIHVu +ZCBkZXIgU2VydmVyLVdhdGNoZG9nIGZhZWhydCBuYWNoIDMwIHMgcnVudGVyLgovLwovLyAoRGVy +IENsb3NlLVBmYWQgdWViZXIgYmVmb3JldW5sb2FkL3BhZ2VoaWRlICsgc2VuZEJlYWNvbignL2Fw +aS9zaHV0ZG93bicpCi8vIGJlZW5kZXQgZGVuIFNlcnZlciBzb2ZvcnQgaW0gTm9ybWFsZmFsbCDi +gJQgZGVyIDMwLXMtVGltZW91dCBpc3QgbnVyIEZhbGxiYWNrLikKdmFyIElOVEVSVkFMTCA9IDUw +MDA7CnZhciB0aW1lciA9IG51bGw7CnZhciBsZXR6dGVBZG1pblZlcnNpb24gPSBudWxsOwp2YXIg +bGV0enRlUGxhbnVuZ1ZlcnNpb24gPSBudWxsOwoKZnVuY3Rpb24gaGVhcnRiZWF0U2VuZGVuKCkg +ewogICAgZmV0Y2goJy9hcGkvaGVhcnRiZWF0JywgeyBtZXRob2Q6ICdQT1NUJyB9KS50aGVuKGZ1 +bmN0aW9uKHIpIHsKICAgICAgICBpZiAoIXIub2spIHJldHVybjsKICAgICAgICByZXR1cm4gci5q +c29uKCk7CiAgICB9KS50aGVuKGZ1bmN0aW9uKGRhdGVuKSB7CiAgICAgICAgaWYgKCFkYXRlbikg +cmV0dXJuOwogICAgICAgIGlmIChkYXRlbi5hZG1pblZlcnNpb24gIT09IHVuZGVmaW5lZCkgewog +ICAgICAgICAgICBpZiAobGV0enRlQWRtaW5WZXJzaW9uID09PSBudWxsKSB7IGxldHp0ZUFkbWlu +VmVyc2lvbiA9IGRhdGVuLmFkbWluVmVyc2lvbjsgfQogICAgICAgICAgICBlbHNlIGlmIChkYXRl +bi5hZG1pblZlcnNpb24gIT09IGxldHp0ZUFkbWluVmVyc2lvbikgewogICAgICAgICAgICAgICAg +bGV0enRlQWRtaW5WZXJzaW9uID0gZGF0ZW4uYWRtaW5WZXJzaW9uOwogICAgICAgICAgICAgICAg +c2VsZi5wb3N0TWVzc2FnZSh7IHR5cDogJ2FkbWluLWdlYWVuZGVydCcsIHZlcnNpb246IGRhdGVu +LmFkbWluVmVyc2lvbiB9KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoZGF0 +ZW4ucGxhbnVuZ1ZlcnNpb24gIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBpZiAobGV0enRl +UGxhbnVuZ1ZlcnNpb24gPT09IG51bGwpIHsgbGV0enRlUGxhbnVuZ1ZlcnNpb24gPSBkYXRlbi5w +bGFudW5nVmVyc2lvbjsgfQogICAgICAgICAgICBlbHNlIGlmIChkYXRlbi5wbGFudW5nVmVyc2lv +biAhPT0gbGV0enRlUGxhbnVuZ1ZlcnNpb24pIHsKICAgICAgICAgICAgICAgIGxldHp0ZVBsYW51 +bmdWZXJzaW9uID0gZGF0ZW4ucGxhbnVuZ1ZlcnNpb247CiAgICAgICAgICAgICAgICAvLyBUcmln +Z2VydCBwbGFudW5nSG90UmVsb2FkIGltIENsaWVudCDigJQgbnVyIGZ1ZXIgUGVyc29uZW4tQWVu +ZGVydW5nZW4KICAgICAgICAgICAgICAgIC8vIHdpcmtsaWNoIHJlbGV2YW50LiBMaXZlLVN5bmMg +ZGVja3QgWmVsbC0vS29tbWVudGFyLVVwZGF0ZXMgb2huZWhpbgogICAgICAgICAgICAgICAgLy8g +dWViZXIgL2FwaS9wbGFudW5nL2NoYW5nZXMgYWI7IHBsYW51bmdIb3RSZWxvYWQgc29sbCBkYWhl +cgogICAgICAgICAgICAgICAgLy8gbWluZC4gZWRpdFJlY2h0ZS9zZWhlbi1BZW5kZXJ1bmdlbiBl +cmtlbm5lbi4KICAgICAgICAgICAgICAgIHNlbGYucG9zdE1lc3NhZ2UoeyB0eXA6ICdwbGFudW5n +LWdlYWVuZGVydCcsIHZlcnNpb246IGRhdGVuLnBsYW51bmdWZXJzaW9uIH0pOwogICAgICAgICAg +ICB9CiAgICAgICAgfQogICAgfSkuY2F0Y2goZnVuY3Rpb24oKSB7CiAgICAgICAgLy8gU2VydmVy +IG5pY2h0IGVycmVpY2hiYXIg4oCUIGlnbm9yaWVyZW4sIG5hZWNoc3RlciBWZXJzdWNoIGluIDUg +cwogICAgfSk7Cn0KCmZ1bmN0aW9uIHN0YXJ0ZW4oKSB7CiAgICBpZiAodGltZXIpIGNsZWFySW50 +ZXJ2YWwodGltZXIpOwogICAgaGVhcnRiZWF0U2VuZGVuKCk7CiAgICB0aW1lciA9IHNldEludGVy +dmFsKGhlYXJ0YmVhdFNlbmRlbiwgSU5URVJWQUxMKTsKfQoKc2VsZi5vbm1lc3NhZ2UgPSBmdW5j +dGlvbihlKSB7CiAgICBpZiAoZS5kYXRhID09PSAnc2ljaHRiYXInKSB7CiAgICAgICAgLy8gVGFi +IGdlcmFkZSB3aWVkZXIgc2ljaHRiYXIgZ2V3b3JkZW4g4oCUIHNvZm9ydCBlaW5lbiBleHRyYSBI +QiBzZW5kZW4sCiAgICAgICAgLy8gZGFtaXQgZGVyIFNlcnZlciBhdWNoIG5hY2gga3VyeiBnZXNj +aGxhZmVuZXIgTWFzY2hpbmUgb2RlcgogICAgICAgIC8vIE5ldHp3ZXJrLVVudGVyYnJlY2h1bmcg +c29mb3J0IHdpZWRlciBlcmZhZWhydCwgZGFzcyB3aXIgbGViZW4uCiAgICAgICAgaGVhcnRiZWF0 +U2VuZGVuKCk7CiAgICB9IGVsc2UgaWYgKGUuZGF0YSA9PT0gJ3N0YXJ0JykgewogICAgICAgIHN0 +YXJ0ZW4oKTsKICAgIH0gZWxzZSBpZiAoZS5kYXRhID09PSAnc3RvcCcpIHsKICAgICAgICBpZiAo +dGltZXIpIGNsZWFySW50ZXJ2YWwodGltZXIpOwogICAgICAgIHRpbWVyID0gbnVsbDsKICAgIH0K +fTsKCnN0YXJ0ZW4oKTsK +### FILE: icons/VI3_Planung_Logo.png | 27869 +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 +### FILE: icons/VI3_Planung_Logo_alt.png | 41610 +iVBORw0KGgoAAAANSUhEUgAAAYgAAAFMCAYAAADROiuEAAABgWlDQ1BzUkdCIElFQzYxOTY2LTIu +MQAAKM+Vkd8rg1EYxz9+LLJpKy4kF0vjatNQixtl0qglzZThZnvt3dTe7e19tyS3yq2ixI1fF/wF +3CrXShEpueaWuGG9ntfUpFw4p/M8n/M953k6z3OgNp5TNLM+CFq+aMQiYe9MYtbb8ISTdjw48CQV +Ux+enIzy53i7ocb2VwE7F/8bzoW0qUBNo/CQohtF4THh6FJRt3lTuFXJJheEj4X9hjxQ+NrWUxV+ +tDlT4Q+bjXhsRGrzCHszPzj1g5WsoQlL5fi0XEn5fo9diSudn54S3ymrA5MYEcJ4GWeUEUL0Mig2 +RIA+emTHH/HBr/gJChKriNVZxmCRDFmK+EUtSfa0eFX0tMwcy3b/f/fVVPv7KtldYXA8WNZLFzRs +QHndst73Lat8AHX3cJavxhf2YOBV9PWq5tsF9yqcnFe11BacrkHbnZ40kl9SnaxaVYXnI2hOQMsl +NM1VevZ9zuEtxFfkqy5gewe65b57/hMhv2fGvPCjZAAAAAlwSFlzAAAOxAAADsQBlSsOGwAABLdp +VFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1w +Q2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8i +IHg6eG1wdGs9IlhNUCBDb3JlIDUuNS4wIj4KIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3 +dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgPHJkZjpEZXNjcmlwdGlvbiBy +ZGY6YWJvdXQ9IiIKICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAv +IgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxu +czpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICB4bWxu +czp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICB4bWxuczp4bXBNTT0iaHR0 +cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMu +YWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgIHRpZmY6SW1hZ2VMZW5n +dGg9IjMzMyIKICAgdGlmZjpJbWFnZVdpZHRoPSIxMjI1IgogICB0aWZmOlJlc29sdXRpb25Vbml0 +PSIyIgogICB0aWZmOlhSZXNvbHV0aW9uPSI3Mi8xIgogICB0aWZmOllSZXNvbHV0aW9uPSI3Mi8x +IgogICBleGlmOlBpeGVsWERpbWVuc2lvbj0iMTIyNSIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249 +IjMzMyIKICAgZXhpZjpDb2xvclNwYWNlPSIxIgogICBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIgog +ICBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiCiAgIHhtcDpNb2RpZnlE +YXRlPSIyMDI1LTExLTI2VDE3OjEyOjA2KzAxOjAwIgogICB4bXA6TWV0YWRhdGFEYXRlPSIyMDI1 +LTExLTI2VDE3OjEyOjA2KzAxOjAwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4K +ICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0icHJvZHVjZWQiCiAgICAgIHN0RXZ0OnNv +ZnR3YXJlQWdlbnQ9IkFmZmluaXR5IFBob3RvIDIgMi42LjUiCiAgICAgIHN0RXZ0OndoZW49IjIw +MjUtMTEtMjZUMTc6MTI6MDYrMDE6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0 +b3J5PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KPD94cGFj +a2V0IGVuZD0iciI/Pg5TgUcAAJvsSURBVHhe7Z2JduM8jKydOOn9n/d/yrnnTO8d27n1FQCKkuUk +vWRnJRZJAKQkLgBJUdTZtbAZGBgYGBhY4DzdgYGBgYGBGYaBGBgYGBhYxTAQAwMDAwOrGAZiYGBg +YGAVw0AMDAwMDKxiGIiBgYGBgVUMAzEwMDAwsIphIAYGBgYGVjEMxMDAwMDAKoaBGBgYGBhYxTAQ +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 +### FILE: icons/bike_8979898.png | 34623 +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 +is3/A0FcOC0lPvLWAAAAAElFTkSuQmCC +### FILE: icons/calculator_3788148.png | 6651 +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 +### FILE: icons/comparison_7732609.png | 14188 +iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAA +GXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAIABJREFUeJzt3Xe4JmV5+PHv2cou +LIv03lSaIN0OgooRFVs0Ek1QI8aaKMSIMfpj1KCmGBOMNYrYC5ZEEBONYkGx0FUEjLAW+lJ3KVvP +74973+zhcM7u+87zTDvz/VzXXMCyM3NPeee555mngCRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ +kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ +kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ +kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ +kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkqRWGGs6gIx2AXYHNgUWNRtKL60FbgIuB+6q +ed97AHsBm9e8X0n9sQy4G1gC/K7ZUPLocgJwMHAc8ATgMKLgV/NWAOcAbwF+WeF+xoAXAH8DPKzC +/UjSZMuBC4FvA2cDlzYbTjldSwAWAH8GvALYv+FYtGErgJcBn6xg2wuBTwB/WMG2JWlUPwM+CJwB +3NdwLDPObODVwI3AuEtnljXAM6e4ninGgC+24NhcXFxcJi83AK8EZtEBXagB2B84Ezi04ThUzi3A +Q8jXLuCFwKcybUuSqnAh8GLgFw3HsUGzmw5gI14CfAXYrelAVNqmwK3ABZm29xlg20zbkqQq7Egk +ANcBlzUbyvTaXE3xduJ7ysKmA1Gy4zJtZ09s+yGpGxYStddvbTiOabU1AXgP8Oamg1A2e2XazkMy +bUeS6vL/gH9uOoiptDEBeBPwuqaDUFbzW7YdSarTScAbmw5isrYlAE8F/q7pIJTd7zNt57pM25Gk +up0GHNt0EBO1KQHYkejb3YWeCRrN/2TazmXA0kzbkqQ6zSLKuO2bDmSgTb0APgw8oukglN1q4ETy +FNzjwBbAERm2JUl1W0i87H656UCgPW/bjwe+03QQqsQ/Am/IuL3FwMVEjwBJ6ppx4Ejg/KYDacsn +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 +ziHGAU+1Bvhahu1ISvNzYoyP44mBfpJVMRzhGNEV4S1EOwFJ9VoDHMSQfYGHcABwKfleGCQN73Lg +3cCnid92NlU17rka+AgxhPA84MFEoyRJ1SvI+0lu0O336IzblDS9+4AvAa9ft1xGzP2RVV2TeGxB +fCJ4NnAE0T1JUl7jwDuI2rfcD4sx4DRi9k4n/5HyW04MuPcV4CxqaHvTxA95LtFt4WhijoG9gL2J +/saSRreWeHCcuu6fVXo88FYikfeTgFTOfcBVRG35ZcS0wD8hxu+oTVsy+VnEFKPbELUDg0XSht0M +/JL6R+fcjmiJvE3N+5W6aDnrp7lfClxPnka6kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ +kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ +kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ +kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ +kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkmaC/w+mWo4aifwbCAAAAABJRU5ErkJggg== +### FILE: icons/deadline_5541978.png | 9655 +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 +2WLCvBwpTsadvzRkZzOx84dnXkN4NuGThKT+ObXl8ZK6axnw2al/MTLNDy0ClgM7NVGRpGzWAHsl +jn9eplokdcdDhKt5nnay8HSzCN0GnAisb6AoSfns0vJ4Sd2znrBPf8aVQrFpBH9EuAZ4Q301Scrs +/pbHS+qW9YRze3483T9ubR7hi4E3AQ/XUJSk/K5KHJ9yXxBJ3fIQYR9+SewHZrqRwI8Ic/x7YqDU +fRe0PF5SNywjfOc/7Sf/SdOdBDidbYEPTjycJ0DqnmXA4aTNAzBKOIrgLb6lfvoN4Wq+zzKLr/Bn +2wBMOgD4KPBvcdpgqSvWEnb+qzI81wGEmQC9xbfUHxsJ8/t/kinX+c9krg3ApP2AdwK/T7hsUFI7 +lhEmAJr1Rj8L+xPuBbAk43NKym8FYcf/FSam952Lqg3AVC8EXkN4sziQ0Bxsj/MISHXYBNxHOFR/ +AWFHXdfdAN9OmBxoKbAH7d8NUCrVw8CjhPv23ESYq+cHE/8tSZIkSZIkSZIkSZIkSZIkSZIkSZIk +SZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIk +SZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSeqy +/wc5LAQ/U92ohQAAAABJRU5ErkJggg== +### FILE: icons/eMail_speichern.png | 47881 +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 +gg== +### FILE: icons/email_7732651.png | 15742 +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 +AABJRU5ErkJggg== +### FILE: icons/excavator_8383815.png | 20733 +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 +### FILE: icons/hurdle_6716177.png | 20179 +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 +N4+RwJn4t3fRcSEwJof2i90kbDVD7/YuMrqwVU5jXaFTJDkHAc/h/+MOHUuAzwCD8mm2ZBxLNeZ9 +zAPel1ObpaID+AT2Osu7/UPHC2iyn0gQEyj30+LdwPa5tVZ61gb+hP95CBV/BzbMrbXSsxlwA/7n +IVRcDKyeV2OJSG1vAB7E/wefV8zGZk4PzrOREnYk5Xp3/AxwNHFu6lO0QcCHgZn4n5e8Yhq2homI +FGQocDJp30iWAj/F3pPKqkYBXyLtNSEWYNvmjs65bcpgIvAj0v4cdDb2ea7e9Ys4GY0NBGbgf0No +NpYCF2ApUWlsEjYJNKW9IhZgk8DWyb85SmctbIGrRfift2ZjFnZNxrxTo0iljAY+BNyP/w2iXjyP +PRGuG6gNymwitgdCzDtHPgF8GlgtTBOU2tpYpxrzQP5BbM+DKny9IZKsvYFziGNW+TLsM6ij0N7f +eRgEHAz8jjieGhdjk78ORXM48jAMeDtwOZYp8z6/84DzsB0tNYdDJCEjgMOxwUCRnxC+DPwZOB7N +Cg5pLDa57iLsfWxR53cONgA5BhgXvJbVNQn4AHApxa4q+DzW6b8NW6dCJFcaSRavA9gO2B3bengX +7B18Ht/bPwfcAfwbW/3rVuzpRYozGFs18bXY+d0Z2Dinv/0kcDsrz+/t2MJUUpxh2HndreefrwbW +y+HvdmGvlW7riZuxz3G7c/jbIjVpABCHEcCUnlgPeze/FvZkOQZbhXAINlN5CfZk/yK22McM4GHs +E6C5RRdcmjKGVc/vOsCa2PkdhX1J0oG9plmMPWW+iA3oZmDn9mFsUp/EZzwwFTu/62LzCHrP7wjs +ldsKbKfFhaw8vzOAZ7HzOw079yIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi +IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi +IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIF6/AugIiIFG48MBmYAqzX +859H98Q4YDGwEJgPzAPmANOBh4HnHMorAWgAIDEbjd2kem9U44ExwISefw4D5gILWHmzehKY1hO6 +UYnAEGBnYF9gL2AbYO02/t587Pd1E3Ad8K+efyciktlk4EPAxVhH3gV0txHzgBuBrwF7A8MLq4mI +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 +gg== +### FILE: icons/idea_5541534.png | 17329 +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 +gg== +### FILE: icons/kommentar_kontext.png | 130579 +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 +27KKqRM7GFQ7GhQqos5QOrviRMp1YTj+6Ft+1l+pVKJvpxA2jotQzi/H4H95WsGmy/9WjuPChmHT +6tPB8LOCqcGF6CLn9byyh4i4exD+Gt2Qwce1g/GIPPFGCf6zV9kzxECa43kK9i+i62ChsWT3ub3C +thfRbTDbPpXYk7CPlbK0NE7cmd1wcnbCkO4RbBtWCq+95/9g270SQmOIUiGM4+zqgqHd2TRcldiX +eABObBtXjbMvcT+btjOGdokQpskJDSps3ky6hwtj7Qq/PU7D2p/HWWoatYkaWwghxIx4RdxsPSyM +6MlhqJyz5HyoyDVudTWriKYKB5vCS1clkcfDyvjrcOIVKT4xRv63T0c2jlQuvqRyaTxxHFW+cfNF +DS5EFzmv53Lo4ULkRdXrw9A9W3Tdw0WplC7nYWU7z9yf5ptj5TTO7IZSdfkPy+evODZM5XTZ311n +d4P3hlMNE3eWTUNtHF7Oa6+a86H+OYbSKtau8Nf2NFSs9Xm2Mo3axlZXQggh5sQr/FwFe+lrFDCm +nNP3RB/OULnZ5kNHTw8Vs3+egbisFreOYbSpSUXU1HE0h+dMHccS80XkQ87r+X09XBijG0BU43Js +fJPGs+LnERlh60Vlo4TUC8TYNKfqKaLeC4YzNs1pTtfUNKc5XUNpFWtV+G1lGirW+jxbmUZtohvk +WhHFLS8Ut7zwuO+OiZJSIvWKvKoBQJNqGEPlnC1Ow33dNtnG7bUqWkrJR8G4rXSDXBnhcct1PVe/ +Qa422houqjVu6KE5rq2Mx28MTDfIlQ85b9/8RrE1rbybWtG3lWmobpBrrc+zlWnQDXIJIcRB8co5 +b8221j1EjLmXib7eIMaU8zkxuoeLhT9PGIb9NVTOp2PJ758QIj+VDRbi7kH4a2zPEWFcOxiPEEem +Xjlv6V/1+87zVZuLtsq8tjx+mGBMxV+V31IjTzrM0DkNbfNnyuepps+pxud0fp6W+TPp89hLW77O +z7Pg91/bFOwgUhUPIYQQQgghhBBCCHlAirbrn7N6Y8vXTd8UnusuPIKLEa65Y3NRmVZdX6ejnBOG +UWhcg2dCmuPT5U1Nwk2fapDm+N2t+U2XVNMV0uyval7Vy1dM3YwfWdwP/Hnsr7bpV6bZX13lnKHv +11A5Z8r3zeOWa/dMsyxvte/V1OXPmbp8Ncs5Wt6GyfkyA8UbT0kp+ahYuEa2casuG+M9ffhNTNnu +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 +### FILE: icons/kontext.png | 21379 +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 +rkJggg== +### FILE: icons/light-bulb_5541476.png | 25171 +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 +### FILE: icons/list_3837408.png | 18651 +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 +AAAAAElFTkSuQmCC +### FILE: icons/organization_5541954.png | 24558 +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 +### FILE: icons/plane_2918661.png | 23919 +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 +### FILE: icons/planung.png | 11040 +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 +xXVZXqOpoeQ8p8dm7/HMe/t+WA+fr9/0fsvT1vAus+N+b6fjPN487+p+Xz+BZ87m/Tmcc/zcrrU/ +X5zno2mvpvvbfR3cHu2u+ZK5Nu6m116ex7q/y+O3tRGPX15n8VrO6f2ja5+cU/s6+/dEnMPGfXn9 +5efleQPrw+Y6bo612Zcmm2s25Hx7rrks67U7qNmD567PW3L0fmvXL49xcV2W/dgcd7rO681hr4Yb +e9/2WONez/vVq9dOddG+9u48z9l5J3Vzsc/N7Ys92vlcq91zr924DtncbvpK22tHv2V9Pea4H5v3 ++NG1n859Obf99VzWl+Xz9dwcN9vP9nwb5yG3uu7z89vntbm2n+Ot+fyOnp/Foece8SL9QwZRjFOh +rW+yc0PavImb9YsCn95w6+0rb4B9cY+35zfSrkmd37CbtM3u8jjTm2vbTKb7d01yfO70uM1xDp0j +7WvsX6/N+tqRbePZn8PW5ewfe9E21HN2x20etz3XbbbXbj23c/YfEJGjtTjPhfZ8m8eGc/vU7XVZ +vdu9H38e3KbnrZ4XXrtrtCSe3+7ZeDvOcfPY3T4353J4nLZGx+V43WQPx9da1vP62B+jvb3do+n2 +sjfb5zWvPZ5bc9/+mjW3270+J7lu02Omfdo+vvVrsj/mmL3/+tzNeRxcy33GPb84xpzl+JvXiuPH +8bbncbzfax10S5znfH7n8zjv3Q3n2ezReHu5c3xee7vJXBubvV58D697m8tzunx/rfe316g9/83r +tNdof+2vnNP29dpsa/L8nNG1vZ7t9Y2fmz1rrss+231ZX2O7vs1633b/ztl5jsnWlvM809bq6hzP +bc8ljr9el6k+xpe+2PvhPOdjLud86bU71pzxGBe1sK2P8/mfvdb9u7ie53NrzndZH15j89gx7d7e +cp+b29s9mm/P912t3fZc2v2MNLcv93HI/vHN+ezfW8NKuu/5+t5/fczmPPbHP8x03dY9WDPu0+Fr +TNcu6qB97s29YK2Lp4lDzz3iRRp6zm+8KMClMpe1XdNYi3f/xhtu794I6Zs+krzxltcd31DRJFva +c2rW8/NYX+uczRured2R6Y123BjWN3HL9Pr7RrPNeh7xuPkcB4f9nqzHTvb0orlF9ue0PuZwz4dM +v8Ubf8pfd3etp8clfhePm7Nfb+tpyP66nG+f93vep/MeDcefr8PxNd3nwC0ef3a59Fpe/9px2tp8 ++dGji3qfsj1+vN5+ONofo719fPwrdbjfi/11aG/Hz8vz5hy/57K9vLa/2YC0e90b329ZJvejuh5z +dozHztc2WxuXj/f7Yv/bzI5bnytcrY+51jdr2709Ps/2uXP213xJsrfLax1f9/FBm/X8PKbXuLzm +i1/zuu3rtOe0O79r53Tt2qz3NXszOOxrZj3f7V5f3l6zP6fzORzt+ZB4zno+214z5uK5cfzkcYfn +lZz/bh9b9/X2ej7TOa7PWz4f9s+9/TnMGd8ni0s8Zuu1XKuL67mvi2XPh7X8r6du9zZeb99rL/a5 +uX3secvajVy7HcdanrdkXtswP/6yvo/2fT6/9rjjY3ev+6V67ZrL/VlydF5tpvOZfG7az+E4ae3f +HIeee8QLNfTMRbz562jzmyN+jdu+Edc35q7wkzfT4ZsmeezyuofPiWbRPOfwPIZcNI/z8Y7frMeN +YdtYt7l235ClwTaNNn7e+63H3p/f0fleOe5un9a0r3Xwuu15Drl6LTYbPOdifXue++uy3l4eN5zX +uDD8dzg0e3VxLkfncOQ2ZH2Ny/07rL9buy7Jjh9rQ6Ofr8vxPlzeN5zQXItXrvn+/bQ/t+Rc4zjp +h+ImRy75/kbitc4faFceuzlm0g/WXPFu0zrOP69D/nEdXrsWvTIeI/4ay9l5Pr/dX1E7Ps9kX4/q +Mdnb5bUOr3u8VvOc4/PIXmM5t1vW6+78jmvx8tibLP67Oti/1vr6+z28Za22iXNPn9O6H+zD7nod +ex+d1+V6uz/712tvLz8/fjg9f3qfDK+3XIfduY2euxqacps9u/Q/rL/9cc85Ok62t/HYtddevGZz +++L45+PcsnYjN90eEr7n3ygdOk6P2951vL9jxvobXnt80m2uxXjj4Fpe5nJ/ltxwXkvOrjfs57A3 +Lw9D0cG2XI1Dzz3ixRp6pqLc/gtH2Vr7xtwXfjy+Ldy4/+BPZ+dCP9813p5fK94oyRsq3oBrs5he +Oz+PeImlEUyJ29N5TOeYndO1xrB/vTVX3sxj4v6Hwxf5vWv7nDj/5fbe5dJtyrXjTo7b8532a/U+ +eN22Ie/2YJOjxp2tD2vLcfdNvb0d+/8w/ofo8+34IN7UXlsjs2N2Cm2dvP84Pr6WtPu8fdzmtW91 +nO1rbXPzNTuu5fA+qt3L+87ZX6uNw/HzzjV/8J4b7khcjvyanOtg2r+17tacjz3duFpr2fMvsqm9 +aU/XL+7r3kfaumt/jpxvXzunZ8zoPpxP65Wt3XSe62OnfT6sjTvrtZfnMT622af2ufHYw3NanrPf +58NavDz2NrEHPXrt5HRUg6Pjpk7212Jbe+e09brfg02OzitZj9eZX3N/zpvb4+Nir+Znx3tsU3vt +PsXdx+/hxaFfrz0+/vScZG/b9c0xptc6n3Oc17PU7pjENbmWsT46jOeTnfN0zO0hj659m+Ux0/4d +Xafz+sX5H2Xr1abdp02GOmqXn24/43iNf/v+uBKHnnvEizX0zAW6ezOMhZqsTbWYvCHHN/TwnJHd +b47ajIU+vEHiw2F87PbNNZ7L+XXa4y1r0bCPz2M8x6Gpn19j8+ZpX2dg9ts0hmFl/OAa7p+eut6e +WI93PtfNMdZk+zq+oc+vtRwjsndJ9njMUbNfM1679BiR3R4s958bzd43edxmfT7HtFGtDmvtTNnc +HmuncY3X2u1bWxdtXW1c2+cc7vOU9XnH9bcep92za3vfXrPtPuav1dbydE7HtXtQh8kHWbsn4+vN +r9O6tXu1WY/njA9vXZZka0M2e93e37oOzMeM4x2/39bsz2tk/6DIrvbieevN7fulrbv258j5drKn +d5ax1nc1NO7fdu3aeQ4rzb4Oz7v6DxncVa+9PI/xOg711f5VpPXlb1Ovl9c+P6chS40dXJfxefv7 +DnvAvo4P6nrI6Li5WNvsz3f72P0ezPef6/Xy/oXpXHfvn836/nzXOt+f8/b2dMztXmT1OB9zfeB4 +/c/r7V4f7vOU9XnH9deeb3uc7X62WX0Xp5tea98Ln612p2wc4vXm+9v1a3u1nOv+vTWsHNTktia2 +13FdX46ZXfvt8+aMfWl9fnv/4XXfZLdnm8fdZj/n848Dn98f1+PQc4940YYeY3olmu4t+leRHH1Q +3S6XH3z3Lc/mZ4zpmOHL4vGQUC3xRXo3rD1FtsPAfYy99qY49NwjHHqMIWb507Yv92F8r4ee859Q ++kFsjPmqc+W3FrfIvR567LW3ikPPPcKhxxjztLn/v+kxxpgXP/f/Nz3mpjj03CMceowxxhhjjLn7 +OPTcIxx6jDHGGGOMufs49NwjHHqMMcYYY4y5+zj03CMceowxxhhjjLn73KuhZz4n8xUnikJERERE +pBL3Jf6m5578pud5ozcLsnf7pzwUop//4N1PcPzBH74+f7SxEnVOjN6skL2zPl8d/3pbB6KYsvXq +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 +### FILE: icons/server_diagnose.png | 36627 +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 +### FILE: icons/sync_check_diagnose_im_impressum.png | 12973 +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 +### FILE: icons/team_2636184.png | 19352 +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 diff --git a/VI3DGL/sync-bundle-02.txt b/VI3DGL/sync-bundle-02.txt new file mode 100644 index 0000000..fb85e5d --- /dev/null +++ b/VI3DGL/sync-bundle-02.txt @@ -0,0 +1,14546 @@ +### SYNC-TRANSFER 2/5 -- mit sync-entpacken.bat entpacken +### Base64 - NICHT von Hand bearbeiten. +### FILE: index.html | 129211 +PCFET0NUWVBFIGh0bWw+CjwhLS0gU3RhbmQ6IDIwMjYtMDUtMTQgLS0+CjxodG1sIGxhbmc9ImRl +Ij4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3 +cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAg +ICA8dGl0bGU+VkkzIERHTC1QbGFudW5nPC90aXRsZT4KICAgIDxsaW5rIHJlbD0iaWNvbiIgdHlw +ZT0iaW1hZ2UveC1pY29uIiBocmVmPSJmYXZpY29uLmljbyI+CiAgICA8bGluayByZWw9InN0eWxl +c2hlZXQiIGhyZWY9InN0eWxlLmNzcyI+CiAgICA8IS0tIFNoZWV0SlMgKHhsc3guZnVsbC5taW4u +anMpIHdpcmQgbnVyIGltIEFkbWluLVRhYiAiSW1wb3J0IiBnZWJyYXVjaHQuCiAgICAgICAgIExv +a2FsIGVpbmdlYnVuZGVuLCBrZWluIENETi4gTGl6ZW56OiBBcGFjaGUtMi4wIChTaGVldEpTIENF +KS4gLS0+CiAgICA8c2NyaXB0IHNyYz0ieGxzeC5mdWxsLm1pbi5qcyIgZGVmZXI+PC9zY3JpcHQ+ +CjwvaGVhZD4KPGJvZHk+CgogICAgPCEtLSA9PT09PT09PT09IFBlcnNvbi1Ib3Zlci1Qb3BvdmVy +IChnbG9iYWwsIG51ciBlaW4gQ29udGFpbmVyKSA9PT09PT09PT09IC0tPgogICAgPGRpdiBpZD0i +dmkzLXBlcnNvbi1wb3BvdmVyIiBjbGFzcz0idmkzLXBlcnNvbi1wb3BvdmVyIHZlcnN0ZWNrdCIg +cm9sZT0idG9vbHRpcCIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PgogICAgPCEtLSBLb21tZW50 +YXItUG9wb3ZlcjogemVpZ3QgZGVuIEluaGFsdCBlaW5lciBaZWxsLU5vdGl6IGJlaW0gSG92ZXIu +CiAgICAgICAgIFNhdWJlcmVyIEVyc2F0eiBmdWVyIGRlbiBlaW56ZWlsaWdlbiBuYXRpdmUgdGl0 +bGUtVG9vbHRpcCwgZGVyCiAgICAgICAgIFNjaGljaHQgdW5kIEtvbW1lbnRhciB6dXNhbW1lbmts +YXRzY2h0ZS4gR2VzY2hsb3NzZW5lciBIZWFkZXIsCiAgICAgICAgIE1laHJ6ZWlsZXItQm9keSwg +Rm9vdGVyIG1pdCBWZXJmYXNzZXIgKyBEYXR1bS4gLS0+CiAgICA8ZGl2IGlkPSJ2aTMta29tbWVu +dGFyLXBvcG92ZXIiIGNsYXNzPSJ2aTMta29tbWVudGFyLXBvcG92ZXIgdmVyc3RlY2t0IiByb2xl +PSJ0b29sdGlwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+CgogICAgPCEtLSA9PT09PT09PT09 +IEhpbndlaXMtQmFubmVyIChudXIgU1UgKyBHZXNhbXR2ZXJhbnR3b3J0bGljaCkgPT09PT09PT09 +PSAtLT4KICAgIDxkaXYgaWQ9ImhpbndlaXMtYmFubmVyIiBjbGFzcz0iaGlud2Vpcy1iYW5uZXIg +dmVyc3RlY2t0IiByb2xlPSJzdGF0dXMiIGFyaWEtbGl2ZT0icG9saXRlIj48L2Rpdj4KCiAgICA8 +IS0tID09PT09PT09PT0gSGVhZGVyIG1pdCBOYXZpZ2F0aW9uID09PT09PT09PT0gLS0+CiAgICA8 +aGVhZGVyIGlkPSJrb3BmbGVpc3RlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItbGlua3Mi +PgogICAgICAgICAgICA8aDE+PGltZyBzcmM9Imljb25zL1ZJM19QbGFudW5nX0xvZ28ucG5nIiBh +bHQ9IiIgY2xhc3M9ImhlYWRlci1sb2dvIj48c3BhbiBkYXRhLWJlej0iYXBwLnRpdGVsIj5WSTMg +REdMLVBsYW51bmc8L3NwYW4+IDxzcGFuIGlkPSJhbnplaWdlLWphaHIiIGNsYXNzPSJoZWFkZXIt +amFociI+PC9zcGFuPjwvaDE+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPG5hdiBjbGFzcz0iaGVh +ZGVyLW5hdiI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im5hdi1idG4gYWt0aXYiIGRhdGEt +YW5zaWNodD0icGxhbnVuZyIgZGF0YS1iZXo9Im5hdi5wbGFudW5nIj5QbGFudW5nPC9idXR0b24+ +CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im5hdi1idG4iIGRhdGEtYW5zaWNodD0id29jaGVu +cGxhbiIgZGF0YS1iZXo9Im5hdi53b2NoZW5wbGFuIj5Xb2NoZW5wbGFuPC9idXR0b24+CiAgICAg +ICAgICAgIDxidXR0b24gY2xhc3M9Im5hdi1idG4iIGRhdGEtYW5zaWNodD0icGVyc3BsYW4iIGRh +dGEtYmV6PSJuYXYucGVyc3BsYW4iPlBlcnMuIFBsYW48L2J1dHRvbj4KICAgICAgICAgICAgPGJ1 +dHRvbiBjbGFzcz0ibmF2LWJ0biIgZGF0YS1hbnNpY2h0PSJiZXNldHp1bmciIGlkPSJuYXYtYmVz +ZXR6dW5nIiB0aXRsZT0iUHLDvGZ1bmcg4oCUIDQgV29jaGVuLVZvcnNjaGF1IiBkYXRhLWJlej0i +bmF2LmJlc2V0enVuZyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+UHLDvGZ1bmc8L2J1dHRvbj4KICAg +ICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWJ0biIgZGF0YS1hbnNpY2h0PSJhZG1pbiIgICAg +aWQ9Im5hdi1hZG1pbiIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+QWRtaW5pc3RyYXRpb248L2J1dHRv +bj4KICAgICAgICA8L25hdj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItcmVjaHRzIj4KICAg +ICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWJ1Z3JlcG9ydCIgY2xhc3M9Imljb24tYnRuIGJ1Z3Jl +cG9ydC1idG4iIHRpdGxlPSJCdWcgb2RlciBQcm9ibGVtIG1lbGRlbiI+QnVnUmVwb3J0PC9idXR0 +b24+CiAgICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1pbmZvIiBjbGFzcz0iaWNvbi1idG4iIHRp +dGxlPSJJbmZvcm1hdGlvbmVuICZhbXA7IEhpbGZlIj5JbmZvPC9idXR0b24+CiAgICAgICAgICAg +IDxzcGFuIGlkPSJiZW51dHplci13cmFwIiBjbGFzcz0iYmVudXR6ZXItd3JhcCI+CiAgICAgICAg +ICAgICAgICA8c3BhbiBpZD0ibWVpbi1hdmF0YXItYnRuIiBjbGFzcz0ibWVpbi1hdmF0YXItYnRu +IHZlcnN0ZWNrdCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgdGl0bGU9Ik1laW4gUHJvZmls +YmlsZCBiZWFyYmVpdGVuIiBhcmlhLWxhYmVsPSJNZWluIFByb2ZpbGJpbGQgYmVhcmJlaXRlbiI+ +PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gaWQ9ImJlbnV0emVyLWFuemVpZ2UiIGNsYXNz +PSJiZW51dHplci1iYWRnZSI+PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gaWQ9Imhpbndl +aXMtYmFkZ2UiIGNsYXNzPSJoaW53ZWlzLWJhZGdlIHZlcnN0ZWNrdCIgcm9sZT0iYnV0dG9uIiB0 +YWJpbmRleD0iMCIgYXJpYS1sYWJlbD0iT2ZmZW5lIEhpbndlaXNlIGFuemVpZ2VuIj48L3NwYW4+ +CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLXRoZW1lIiBj +bGFzcz0iaWNvbi1idG4iIHRpdGxlPSJUYWcvTmFjaHQgdW1zY2hhbHRlbiI+TmFjaHQ8L2J1dHRv +bj4KICAgICAgICA8L2Rpdj4KICAgIDwvaGVhZGVyPgoKICAgIDwhLS0gPT09PT09PT09PSBBTlNJ +Q0hUOiBQTEFOVU5HID09PT09PT09PT0gLS0+CiAgICA8ZGl2IGlkPSJhbnNpY2h0LXBsYW51bmci +IGNsYXNzPSJhbnNpY2h0Ij4KICAgICAgICA8IS0tIFBsYW51bmdzZ3JpZCDigJQgRXhjZWwtdHJl +dWVzIExheW91dCAtLT4KICAgICAgICA8ZGl2IGlkPSJwbGFudW5nLWNvbnRhaW5lciI+CiAgICAg +ICAgICAgIDwhLS0gRml4aWVydGUgbGlua2UgU3BhbHRlIC0tPgogICAgICAgICAgICA8ZGl2IGlk +PSJuYW1lbi1zcGFsdGUiPgogICAgICAgICAgICAgICAgPCEtLSBLb3BmYmVyZWljaCBsaW5rczog +SGV1dGUtQmFubmVyIHVlYmVybGFnZXJ0IGRpZSBkcmVpIERhdHVtc3plaWxlbiAtLT4KICAgICAg +ICAgICAgICAgIDxkaXYgaWQ9ImtvcGYtbGlua3MiPgogICAgICAgICAgICAgICAgICAgIDwhLS0g +UGxhdHpoYWx0ZXItWmVpbGVuIGZ1ZXIgSG9laGVuLVN5bmMgbWl0IEtvcGYgcmVjaHRzLgogICAg +ICAgICAgICAgICAgICAgICAgICAgSmVkZSBaZWlsZSBsaW5rcyBlbnRzcHJpY2h0IEVYQUtUIGVp +bmVyIFplaWxlIHJlY2h0cwogICAgICAgICAgICAgICAgICAgICAgICAgKGdsZWljaGUgSG9laGUh +KSwgc29uc3QgdmVyc2NoaWVidCBzaWNoIGRpZSBOYW1lbnNzcGFsdGUKICAgICAgICAgICAgICAg +ICAgICAgICAgIGdlZ2VudWViZXIgZGVtIERhdGVuLUdyaWQuIC0tPgogICAgICAgICAgICAgICAg +ICAgIDxkaXYgY2xhc3M9ImtvcGYtemVpbGUga3otZGF0dW0iPjwvZGl2PiAgICAgICAgIDwhLS0g +PSAjZGF0dW0temVpbGUtdGFnICgyMHB4KSAtLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNs +YXNzPSJrb3BmLXplaWxlIGt6LXdvY2hlbnRhZyI+PC9kaXY+ICAgICA8IS0tID0gI2RhdHVtLXpl +aWxlLXdvY2hlbnRhZyAoMjBweCkgLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0i +a29wZi16ZWlsZSBrei1hbmxhc3MiPjwvZGl2PiAgICAgICAgPCEtLSA9ICNkYXR1bS16ZWlsZS1h +bmxhc3MgKDM4cHgsIE1haSAyMDI2IG1pdCBFdmVudHMga29tYmluaWVydCkgLS0+CiAgICAgICAg +ICAgICAgICAgICAgPCEtLSBPdmVybGF5OiBIZXV0ZS1MZWlzdGUgKEJ1dHRvbiArIERhdHVtICsg +V29jaGVudGFnKSBkZWNrdAogICAgICAgICAgICAgICAgICAgICAgICAgZGllIG9iZXJlbiBQbGF0 +emhhbHRlci1aZWlsZW4gYWIgKGt6LWRhdHVtK3dvY2hlbnRhZythbmxhc3MpLiAtLT4KICAgICAg +ICAgICAgICAgICAgICA8ZGl2IGlkPSJrbC1oZXV0ZS1iYW5uZXIiPgogICAgICAgICAgICAgICAg +ICAgICAgICA8YnV0dG9uIGlkPSJidG4taGV1dGUiIGNsYXNzPSJrbC1oZXV0ZS1idXR0b24iIHRp +dGxlPSJIZXV0ZSDigJQgc3ByaW5ndCBpbiBkZXIgUGxhbnRhZmVsIHNvZm9ydCB6dW0gaGV1dGln +ZW4gRGF0dW0gdW5kIHNjcm9sbHQgZGllIEFuc2ljaHQgZG9ydGhpbi4gUHJha3Rpc2NoLCB1bSBu +YWNoIGRlbSBCbMOkdHRlcm4gaW4gYW5kZXJlIFdvY2hlbiBvZGVyIE1vbmF0ZSBzY2huZWxsIHp1 +ciBha3R1ZWxsZW4gV29jaGUgenVyw7xja3p1a2VocmVuLiI+SGV1dGU8L2J1dHRvbj4KICAgICAg +ICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLXNjaGljaHR0ZWFtIiBjbGFzcz0ia2wt +aGV1dGUtYnV0dG9uIiB0aXRsZT0iVGVhbSDigJQgTWVpbiBTY2hpY2h0LVRlYW0gZsO8ciBkaWUg +bsOkY2hzdGVuIDE0IFRhZ2U6IHplaWd0IGFsbGUgUGVyc29uZW4gYXVzIGRlaW5lciBTY2hpY2h0 +LVJvdGF0aW9uIChiYXNpZXJlbmQgYXVmIGRlaW5lciBoZXV0aWdlbiBTY2hpY2h0IEZyw7xoL1Nw +w6R0L05hY2h0KS4gUHJha3Rpc2NoIGbDvHIgU2NoaWNodHRhdXNjaC1BbmZyYWdlbiB1bmQgdW0g +enUgc2VoZW4sIHdlciB3YW5uIG1pdCBkaXIgYXJiZWl0ZXQuIE51ciBzaWNodGJhciwgd2VubiBk +ZWluZSBOVy1LZW5udW5nIGVpbmVyIFBsYW4tUGVyc29uIHp1Z2VvcmRuZXQgaXN0LiIgYXJpYS1s +YWJlbD0iTWVpbiBTY2hpY2h0LVRlYW0g4oCUIDE0LVRhZ2Utw5xiZXJzaWNodCI+VGVhbTwvYnV0 +dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJrbC1oZXV0ZS1pbmZvIj4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImtsLWhldXRlLWRhdHVtLXR4 +dCIgaWQ9ImtsLWhldXRlLWRhdHVtIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg +IDxkaXYgY2xhc3M9ImtsLWhldXRlLXd0YWctdHh0IiBpZD0ia2wtaGV1dGUtd3RhZyI+PC9kaXY+ +CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2 +PgogICAgICAgICAgICAgICAgICAgIDwhLS0gWmVpbGUgNTogU3TDpHJrZSAtLT4KICAgICAgICAg +ICAgICAgICAgICA8ZGl2IGNsYXNzPSJrb3BmLXplaWxlIGt6LXN0YWVya2UiPgogICAgICAgICAg +ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2wtbGFiZWwiPlN0w6Rya2U8L3NwYW4+CiAgICAg +ICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrbC13ZXJ0Ij5ER0wgaW4gVkkgMzwvc3Bh +bj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8IS0tIFpl +aWxlbiA1LTExOiBTY2hpY2h0Zm9sZ2UgcHJvIFN0YW5kb3J0IC0tPgogICAgICAgICAgICAgICAg +ICAgIDxkaXYgaWQ9InNjaGljaHRmb2xnZS1saW5rcyI+CiAgICAgICAgICAgICAgICAgICAgICAg +IDxkaXYgY2xhc3M9ImtvcGYtemVpbGUga3otc2NoaWNodGZvbGdlIGt6LXNmLWVyc3RlIj4KICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrbC1sYWJlbCI+U2NoaWNodDwv +c3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrbC13ZXJ0IiBk +YXRhLXN0YW5kb3J0PSIwIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pgog +ICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAg +ICAgICAgICA8IS0tIFBlcnNvbmVubGlzdGUgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJu +YW1lbi1saXN0ZSIgcm9sZT0icm93aGVhZGVyIiBhcmlhLWxhYmVsPSJQZXJzb25lbmxpc3RlIGRl +ciBQbGFudGFmZWwiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0g +U2Nyb2xsYmFyZXIgcmVjaHRlciBCZXJlaWNoLiByb2xlPWdyaWQgbWFjaHQgZGllIFN0cnVrdHVy +IGZ1ZXIKICAgICAgICAgICAgICAgICBTY3JlZW5yZWFkZXIgZXhwbGl6aXQgKFNwcmludCA2YSAy +MDI2LTA1LTI5KS4gVGFiLU5hdmlnYXRpb24KICAgICAgICAgICAgICAgICBkZXIgZWluemVsbmVu +IFplbGxlbiBrb21tdCBpbiBTcHJpbnQgNmIgKEdyaWQtUmVmYWN0b3IpLiAtLT4KICAgICAgICAg +ICAgPGRpdiBpZD0iZ3JpZC1zY3JvbGwtY29udGFpbmVyIiByb2xlPSJncmlkIiBhcmlhLWxhYmVs +PSJEaWVuc3RwbGFuLVRhZmVsIj4KICAgICAgICAgICAgICAgIDwhLS0gS29wZmJlcmVpY2ggcmVj +aHRzIC0tPgogICAgICAgICAgICAgICAgPGRpdiBpZD0ia29wZi1yZWNodHMiIHJvbGU9InJvd2dy +b3VwIj4KICAgICAgICAgICAgICAgICAgICA8IS0tIFplaWxlIDE6IERhdHVtIC0tPgogICAgICAg +ICAgICAgICAgICAgIDxkaXYgaWQ9ImRhdHVtLXplaWxlLXRhZyIgY2xhc3M9ImtvcGYtZGF0ZW4t +emVpbGUiIHJvbGU9InJvdyIgYXJpYS1sYWJlbD0iVGFnZXNkYXR1bSI+PC9kaXY+CiAgICAgICAg +ICAgICAgICAgICAgPCEtLSBaZWlsZSAyOiBXb2NoZW50YWcgLS0+CiAgICAgICAgICAgICAgICAg +ICAgPGRpdiBpZD0iZGF0dW0temVpbGUtd29jaGVudGFnIiBjbGFzcz0ia29wZi1kYXRlbi16ZWls +ZSIgcm9sZT0icm93IiBhcmlhLWxhYmVsPSJXb2NoZW50YWciPjwvZGl2PgogICAgICAgICAgICAg +ICAgICAgIDwhLS0gWmVpbGUgMzogSWNvbnMgJiBBbmzDpHNzZSAoRmVpZXJ0YWcvU29uZGVydGVy +bWluL0dlYnVydHN0YWcgaW4gZWluZXIKICAgICAgICAgICAgICAgICAgICAgICAgIGtvbXBha3Rl +biBaZWlsZSwgZGF6dSBkaWUgRmVyaWVuLVJhbmdlLUJhciBhbHMgT3ZlcmxheSkgLS0+CiAgICAg +ICAgICAgICAgICAgICAgPGRpdiBpZD0iZGF0dW0temVpbGUtYW5sYXNzIiBjbGFzcz0ia29wZi1k +YXRlbi16ZWlsZSIgcm9sZT0icm93IiBhcmlhLWxhYmVsPSJBbmzDpHNzZSI+PC9kaXY+CiAgICAg +ICAgICAgICAgICAgICAgPCEtLSBaZWlsZSA1OiBTdMOkcmtlIEZ8U3xOIC0tPgogICAgICAgICAg +ICAgICAgICAgIDxkaXYgaWQ9InN0YWVya2UtemVpbGUiIGNsYXNzPSJrb3BmLWRhdGVuLXplaWxl +IiByb2xlPSJyb3ciIGFyaWEtbGFiZWw9IlNjaGljaHRzdMOkcmtlIj48L2Rpdj4KICAgICAgICAg +ICAgICAgICAgICA8IS0tIFplaWxlbiA1KzogU2NoaWNodGZvbGdlIHBybyBTdGFuZG9ydCAtLT4K +ICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzY2hpY2h0Zm9sZ2UtcmVjaHRzIiByb2xlPSJy +b3dncm91cCIgYXJpYS1sYWJlbD0iU2NoaWNodGZvbGdlIHBybyBTdGFuZG9ydCI+PC9kaXY+CiAg +ICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gRGF0ZW4tR3JpZCAtLT4K +ICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImdyaWQtZGF0ZW4iIHJvbGU9InJvd2dyb3VwIiBhcmlh +LWxhYmVsPSJTY2hpY2h0ZW4gZGVyIFBlcnNvbmVuIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+ +CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gWmVsbGVuLUVkaXRvciAtLT4KICAgICAgICA8 +ZGl2IGlkPSJ6ZWxsLWVkaXRvciIgY2xhc3M9InZlcnN0ZWNrdCI+CiAgICAgICAgICAgIDxzZWxl +Y3QgaWQ9ImVkaXRvci1hdXN3YWhsIiBzaXplPSIxMCI+PC9zZWxlY3Q+CiAgICAgICAgICAgIDxk +aXYgY2xhc3M9ImVkaXRvci1rb21tZW50YXIiPgogICAgICAgICAgICAgICAgPCEtLSBWZXJsYXVm +c2xpc3RlOiBnZXJlbmRlcnQgdm9uIGVkaXRvcktvbW1lbnRhclZlcmxhdWZSZW5kZXJuKCkuCiAg +ICAgICAgICAgICAgICAgICAgIFBybyBFaW50cmFnOiBUZXh0LCBNZXRhLVplaWxlIChWZXJmYXNz +ZXIgKyBaZWl0KSwgb3B0aW9uYWwKICAgICAgICAgICAgICAgICAgICAgTG9lc2NoLUljb24gZnVl +ciBTdXBlclVzZXIvR2VzYW10dmVyYW50d29ydGxpY2hlLiAtLT4KICAgICAgICAgICAgICAgIDxk +aXYgaWQ9ImVkaXRvci1rb21tZW50YXItdmVybGF1ZiIgY2xhc3M9ImVkaXRvci1rb21tZW50YXIt +dmVybGF1ZiI+PC9kaXY+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImVk +aXRvci1rb21tZW50YXItaW5wdXQiIGNsYXNzPSJmb3JtLWlucHV0IiBwbGFjZWhvbGRlcj0iTmV1 +ZXIgS29tbWVudGFyLi4uIiBzdHlsZT0id2lkdGg6MTAwJTtmb250LXNpemU6MTFweDtwYWRkaW5n +OjRweCA2cHgiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yLWtvbW1lbnRhci1i +dG5zIj4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJidG4ta29tbWVudGFyLWhpbnp1 +IiBjbGFzcz0iYnRuIGJ0bi1wcmltYWVyIGJ0bi1rbGVpbiI+SGluenVmw7xnZW48L2J1dHRvbj4K +ICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4K +ICAgIDwvZGl2PgoKICAgIDwhLS0gPT09PT09PT09PSBBTlNJQ0hUOiBXT0NIRU5QTEFOID09PT09 +PT09PT0gLS0+CiAgICA8ZGl2IGlkPSJhbnNpY2h0LXdvY2hlbnBsYW4iIGNsYXNzPSJhbnNpY2h0 +IHZlcnN0ZWNrdCI+CiAgICAgICAgPGRpdiBjbGFzcz0id3AtbGF5b3V0Ij4KICAgICAgICAgICAg +PCEtLSBUb29sYmFyIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3cC10b29sYmFyIj4KICAg +ICAgICAgICAgICAgIDxidXR0b24gaWQ9IndwLXZvcndvY2hlIiBjbGFzcz0idG9vbGJhci1idG4i +PiZsYXJyOyBWb3J3b2NoZTwvYnV0dG9uPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0id3At +YWt0dWVsbGUtd29jaGUiIGNsYXNzPSJ0b29sYmFyLWJ0biI+QWt0dWVsbGUgV29jaGU8L2J1dHRv +bj4KICAgICAgICAgICAgICAgIDxidXR0b24gaWQ9IndwLW5hZWNoc3RlLXdvY2hlIiBjbGFzcz0i +dG9vbGJhci1idG4iPk7DpGNoc3RlIFdvY2hlICZyYXJyOzwvYnV0dG9uPgogICAgICAgICAgICAg +ICAgPGRpdiBjbGFzcz0idG9vbGJhci10cmVubmVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxz +cGFuIGlkPSJ3cC16ZWl0cmF1bSIgY2xhc3M9IndwLXplaXRyYXVtLWFuemVpZ2UiPjwvc3Bhbj4K +ICAgICAgICAgICAgICAgIDxidXR0b24gaWQ9IndwLWRydWNrZW4iIGNsYXNzPSJ0b29sYmFyLWJ0 +biIgc3R5bGU9Im1hcmdpbi1sZWZ0OmF1dG8iIHRpdGxlPSJXb2NoZW5wbGFuIGRydWNrZW4gKGVp +bmUgU2VpdGUpIj5EcnVja2VuPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAg +ICA8IS0tIFdvY2hlbnBsYW4tUmVuZGVyLVppZWw6IHdvY2hlbnBsYW4uanMgZXJzZXR6dCBkZW4g +SW5oYWx0IHZvbgogICAgICAgICAgICAgICAgIC53cC1zY3JvbGwgYmVpIGplZGVtIFJlbmRlciBk +dXJjaCAud3Atc2VpdGUgKFRhZ2Jsb2NrLUxheW91dCkuCiAgICAgICAgICAgICAgICAgRnJ1ZWhl +ciBzdGFuZCBoaWVyIGVpbmUgc3RhdGlzY2hlIDx0YWJsZT4sIGRpZSBzb2ZvcnQKICAgICAgICAg +ICAgICAgICB1ZWJlcnNjaHJpZWJlbiB3dXJkZSDigJQgZW50ZmVybnQgKEF1ZGl0IDIwMjYtMDYt +MTUpLiAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0id3Atc2Nyb2xsIj48L2Rpdj4KICAgICAg +ICAgICAgPCEtLSBMZWdlbmRlIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3cC1sZWdlbmRl +Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3cC1sZWctaXRlbSI+PHNwYW4gY2xhc3M9 +IndwLWxlZy1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOnZhcigtLWZhcmJlLWZydWVoKSI+PC9zcGFu +PiBGcsO8aGRpZW5zdDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3cC1sZWct +aXRlbSI+PHNwYW4gY2xhc3M9IndwLWxlZy1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOnZhcigtLWZh +cmJlLXNwYWV0KSI+PC9zcGFuPiBTcMOkdGRpZW5zdDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxz +cGFuIGNsYXNzPSJ3cC1sZWctaXRlbSI+PHNwYW4gY2xhc3M9IndwLWxlZy1kb3QiIHN0eWxlPSJi +YWNrZ3JvdW5kOnZhcigtLWZhcmJlLW5hY2h0KSI+PC9zcGFuPiBOYWNodGRpZW5zdDwvc3Bhbj4K +ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tID09 +PT09PT09PT0gQU5TSUNIVDogUEVSU8OWTkxJQ0hFUiBQTEFOID09PT09PT09PT0gLS0+CiAgICA8 +ZGl2IGlkPSJhbnNpY2h0LXBlcnNwbGFuIiBjbGFzcz0iYW5zaWNodCB2ZXJzdGVja3QiPgogICAg +ICAgIDxkaXYgY2xhc3M9InBwLWxheW91dCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBwLXRv +b2xiYXIiPgogICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0icHAtcGVyc29uLWF1c3dhaGwiIHN0 +eWxlPSJmb250LXdlaWdodDo2MDA7bWFyZ2luLXJpZ2h0OjZweCI+UGVyc29uOjwvbGFiZWw+CiAg +ICAgICAgICAgICAgICA8c2VsZWN0IGlkPSJwcC1wZXJzb24tYXVzd2FobCIgY2xhc3M9ImZvcm0t +aW5wdXQiIHN0eWxlPSJ3aWR0aDoyNTBweCI+PC9zZWxlY3Q+CiAgICAgICAgICAgICAgICA8ZGl2 +IGNsYXNzPSJ0b29sYmFyLXRyZW5uZXIiPjwvZGl2PgogICAgICAgICAgICAgICAgPGJ1dHRvbiBp +ZD0icHAtZHJ1Y2tlbiIgY2xhc3M9InRvb2xiYXItYnRuIj5EcnVja2VuPC9idXR0b24+CiAgICAg +ICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcC1zY3JvbGwiIGlkPSJwcC1z +Y3JvbGwiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHAtdGl0ZWwiIGlkPSJwcC10aXRl +bCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcC1tb25hdGUiIGlkPSJwcC1t +b25hdGUiPjwvZGl2PgogICAgICAgICAgICAgICAgPCEtLSBadXNhbW1lbmZhc3N1bmcgLS0+CiAg +ICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcC1zdW1tYXJ5IiBpZD0icHAtc3VtbWFyeSI+PC9k +aXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEt +LSA9PT09PT09PT09IEFOU0lDSFQ6IEJFU0VUWlVOR1NLT05UUk9MTEUgPT09PT09PT09PSAtLT4K +ICAgIDxkaXYgaWQ9ImFuc2ljaHQtYmVzZXR6dW5nIiBjbGFzcz0iYW5zaWNodCB2ZXJzdGVja3Qi +PgogICAgICAgIDxkaXYgY2xhc3M9ImJrLWxheW91dCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9 +ImJrLWtvcGYiPgogICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICA8aDIg +c3R5bGU9Im1hcmdpbjowIiBkYXRhLWJlej0ibmF2LmJlc2V0enVuZyI+UHLDvGZ1bmc8L2gyPgog +ICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigt +LXRleHQtbXV0ZWQpO21hcmdpbi10b3A6NHB4IiBpZD0iYmstdW50ZXJ0aXRlbCI+NC1Xb2NoZW4t +Vm9yc2NoYXUgYWIgaGV1dGUg4oCUIEFtcGVsOiDiiaQxIEZrID0gcm90LCA9MiBGayA9IGdlbGIs +IOKJpTMgRmsgPSBncsO8biBwcm8gU2NoaWNodDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+ +CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiay1rb3BmLXN0YXRzIj4KICAgICAgICAgICAg +ICAgICAgICA8ZGl2IGNsYXNzPSJiay1rcGkiIGlkPSJiay1rcGktZ2VzYW10Ij48ZGl2IGNsYXNz +PSJiay1rcGktemFobCI+4oCTPC9kaXY+PGRpdiBjbGFzcz0iYmsta3BpLWxhYmVsIj5UYWdlIGlt +IEZlbnN0ZXI8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiay1r +cGkgYmsta3BpLXdhcm4iIGlkPSJiay1rcGktZGVmaXppdCI+PGRpdiBjbGFzcz0iYmsta3BpLXph +aGwiPuKAkzwvZGl2PjxkaXYgY2xhc3M9ImJrLWtwaS1sYWJlbCI+cm90ICjiiaQxKTwvZGl2Pjwv +ZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJrLWtwaSBiay1rcGktb2siIGlk +PSJiay1rcGktb2siPjxkaXYgY2xhc3M9ImJrLWtwaS16YWhsIj7igJM8L2Rpdj48ZGl2IGNsYXNz +PSJiay1rcGktbGFiZWwiPmdyw7xuICjiiaUzKTwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAg +PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJiay1iZWdydWVz +c3VuZyI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJrLWluaGFsdCIgaWQ9ImJrLWlu +aGFsdCI+CiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOjQwcHg7dGV4dC1hbGln +bjpjZW50ZXI7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCkiPldpcmQgZ2VsYWRlbiDigKY8L2Rpdj4K +ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tID09 +PT09PT09PT0gQU5TSUNIVDogQURNSU5JU1RSQVRJT04gPT09PT09PT09PSAtLT4KICAgIDxkaXYg +aWQ9ImFuc2ljaHQtYWRtaW4iIGNsYXNzPSJhbnNpY2h0IHZlcnN0ZWNrdCI+CiAgICAgICAgPGRp +diBjbGFzcz0iYWRtaW4tbGF5b3V0Ij4KICAgICAgICAgICAgPCEtLSBBZG1pbi1TaWRlYmFyOiBD +bHVzdGVyIG1pdCBVZWJlcnNjaHJpZnRlbiAodHlwb2dyYWZpc2NoIGdydXBwaWVydCwgb2huZSBJ +Y29ucykuCiAgICAgICAgICAgICAgICAgR3J1cHBlbiBmb2xnZW4gbWVudGFsZW4gS2F0ZWdvcmll +bjogIldlciBhcmJlaXRldCBoaWVyPyIgKFBlcnNvbmVuKQogICAgICAgICAgICAgICAgIC0+ICJX +aWUgaXN0IGVzIG9yZ2FuaXNpZXJ0PyIgKE9yZ2FuaXNhdGlvbikgLT4gSW5oYWx0ZSAoU2NoaWNo +dGVuLAogICAgICAgICAgICAgICAgIEthbGVuZGVyKSAtPiBLb21tdW5pa2F0aW9uIC0+IFNpY2hl +cmhlaXQgKFJlY2h0ZSkgLT4gRGFyc3RlbGx1bmcgLT4gU3lzdGVtLgogICAgICAgICAgICAgICAg +IGRhdGEtYWRtaW4tdGFiLVdlcnRlIHVuZCBUYWItSURzIGJsZWliZW4gdW52ZXJhZW5kZXJ0IOKA +lCBudXIgR3J1cHBpZXJ1bmcKICAgICAgICAgICAgICAgICB1bmQgUmVpaGVuZm9sZ2Ugd3VyZGVu +IGltIFBoYXNlLTMtUmVkZXNpZ24gbmV1IHNvcnRpZXJ0LiAtLT4KICAgICAgICAgICAgPGFzaWRl +IGNsYXNzPSJhZG1pbi1zaWRlYmFyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFkbWlu +LW5hdi1ncnVwcGUiPgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0iYWRtaW4tbmF2LXRp +dGVsIj5QZXJzb25lbjwvaDM+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWRt +aW4tbmF2LWJ0biBha3RpdiIgZGF0YS1hZG1pbi10YWI9InBlcnNvbmFsIj5QZXJzb25hbHZlcndh +bHR1bmc8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhZG1pbi1u +YXYtYnRuIiBkYXRhLWFkbWluLXRhYj0ibGlzdGVuIiBpZD0ibmF2LWxpc3RlbiI+RGllbnN0Z3Jh +ZGUgJmFtcDsgRnVua3Rpb25lbjwvYnV0dG9uPgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAg +ICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRtaW4tbmF2LWdydXBwZSI+CiAgICAgICAgICAgICAg +ICAgICAgPGgzIGNsYXNzPSJhZG1pbi1uYXYtdGl0ZWwiPk9yZ2FuaXNhdGlvbjwvaDM+CiAgICAg +ICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWRtaW4tbmF2LWJ0biIgZGF0YS1hZG1pbi10 +YWI9ImdydXBwZW4iPkRpZW5zdGdydXBwZW48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8 +YnV0dG9uIGNsYXNzPSJhZG1pbi1uYXYtYnRuIiBkYXRhLWFkbWluLXRhYj0ic3RhbmRvcnRlIj5T +dGFuZG9ydGUgJmFtcDsgU2NoaWNodGZvbGdlPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAg +PGJ1dHRvbiBjbGFzcz0iYWRtaW4tbmF2LWJ0biIgZGF0YS1hZG1pbi10YWI9Im1pa3JvdGVhbXMi +Pk1pa3JvdGVhbXM8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAg +ICAgIDxkaXYgY2xhc3M9ImFkbWluLW5hdi1ncnVwcGUiPgogICAgICAgICAgICAgICAgICAgIDxo +MyBjbGFzcz0iYWRtaW4tbmF2LXRpdGVsIj5TY2hpY2h0LUthdGFsb2c8L2gzPgogICAgICAgICAg +ICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFkbWluLW5hdi1idG4iIGRhdGEtYWRtaW4tdGFiPSJz +Y2hpY2h0Y29kZXMiPlNjaGljaHRjb2RlcyAmYW1wOyBGYXJiZW48L2J1dHRvbj4KICAgICAgICAg +ICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFkbWluLW5hdi1ncnVw +cGUiPgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0iYWRtaW4tbmF2LXRpdGVsIj5LYWxl +bmRlcjwvaDM+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWRtaW4tbmF2LWJ0 +biIgZGF0YS1hZG1pbi10YWI9ImZlaWVydGFnZSI+RmVpZXJ0YWdlICZhbXA7IEZlcmllbjwvYnV0 +dG9uPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFkbWluLW5hdi1idG4iIGRh +dGEtYWRtaW4tdGFiPSJzb25kZXJ0ZXJtaW5lIj5Tb25kZXJ0ZXJtaW5lPC9idXR0b24+CiAgICAg +ICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi1uYXYt +Z3J1cHBlIj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9ImFkbWluLW5hdi10aXRlbCI+ +S29tbXVuaWthdGlvbjwvaDM+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWRt +aW4tbmF2LWJ0biIgZGF0YS1hZG1pbi10YWI9ImVtYWlsdm9ybGFnZW4iIGlkPSJuYXYtZW1haWx2 +b3JsYWdlbiI+RS1NYWlsLVZvcmxhZ2VuPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPGJ1 +dHRvbiBjbGFzcz0iYWRtaW4tbmF2LWJ0biIgZGF0YS1hZG1pbi10YWI9Im1pdHRlaWx1bmdlbiIg +aWQ9Im5hdi1taXR0ZWlsdW5nZW4iPk1pdHRlaWx1bmdlbjwvYnV0dG9uPgogICAgICAgICAgICAg +ICAgICAgIDxidXR0b24gY2xhc3M9ImFkbWluLW5hdi1idG4iIGRhdGEtYWRtaW4tdGFiPSJiZXpl +aWNobnVuZ2VuIiBpZD0ibmF2LWJlemVpY2hudW5nZW4iPkJlc2NocmlmdHVuZ2VuICZhbXA7IEhp +bGZldGV4dGU8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAg +IDxkaXYgY2xhc3M9ImFkbWluLW5hdi1ncnVwcGUiPgogICAgICAgICAgICAgICAgICAgIDxoMyBj +bGFzcz0iYWRtaW4tbmF2LXRpdGVsIj5SZWNodGUgJmFtcDsgUm9sbGVuPC9oMz4KICAgICAgICAg +ICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhZG1pbi1uYXYtYnRuIiBkYXRhLWFkbWluLXRhYj0i +c3VwZXJ1c2VyIiBpZD0ibmF2LXN1cGVydXNlciI+UmVjaHRlICZhbXA7IFNpY2h0YmFya2VpdDwv +YnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFkbWluLW5hdi1idG4i +IGRhdGEtYWRtaW4tdGFiPSJzdGFuZGFyZHJlY2h0ZSIgaWQ9Im5hdi1zdGFuZGFyZHJlY2h0ZSI+ +U3RhbmRhcmRyZWNodGUgKFVzZXIpPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAg +ICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi1uYXYtZ3J1cHBlIj4KICAgICAgICAgICAg +ICAgICAgICA8aDMgY2xhc3M9ImFkbWluLW5hdi10aXRlbCI+RGFyc3RlbGx1bmc8L2gzPgogICAg +ICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFkbWluLW5hdi1idG4iIGRhdGEtYWRtaW4t +dGFiPSJlcnNjaGVpbnVuZ3NiaWxkIiBpZD0ibmF2LWVyc2NoZWludW5nc2JpbGQiPkVyc2NoZWlu +dW5nc2JpbGQ8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhZG1p +bi1uYXYtYnRuIiBkYXRhLWFkbWluLXRhYj0ic3RhdGlzdGlrLWxheW91dCIgaWQ9Im5hdi1zdGF0 +aXN0aWstbGF5b3V0Ij5TdGF0aXN0aWstTGF5b3V0PC9idXR0b24+CiAgICAgICAgICAgICAgICAg +ICAgPGJ1dHRvbiBjbGFzcz0iYWRtaW4tbmF2LWJ0biIgZGF0YS1hZG1pbi10YWI9InN0YXRpc3Rp +ay1idWlsZGVyIiBpZD0ibmF2LXN0YXRpc3Rpay1idWlsZGVyIj5TdGF0aXN0aWstQnVpbGRlcjwv +YnV0dG9uPgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPGRpdiBjbGFz +cz0iYWRtaW4tbmF2LWdydXBwZSI+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJhZG1p +bi1uYXYtdGl0ZWwiPlN5c3RlbTwvaDM+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFz +cz0iYWRtaW4tbmF2LWJ0biIgZGF0YS1hZG1pbi10YWI9ImVpbnN0ZWxsdW5nZW4iPktvbmZpZ3Vy +YXRpb24gJmFtcDsgRnVua3Rpb25lbjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDxidXR0 +b24gY2xhc3M9ImFkbWluLW5hdi1idG4iIGRhdGEtYWRtaW4tdGFiPSJiYWNrdXBzIj5CYWNrdXBz +PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWRtaW4tbmF2LWJ0 +biIgZGF0YS1hZG1pbi10YWI9ImhpbndlaXNlLXByb3Rva29sbCIgaWQ9Im5hdi1oaW53ZWlzZS1w +cm90b2tvbGwiPkhpbndlaXNlLVByb3Rva29sbDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAg +IDxidXR0b24gY2xhc3M9ImFkbWluLW5hdi1idG4iIGRhdGEtYWRtaW4tdGFiPSJpbXBvcnQiIGlk +PSJuYXYtaW1wb3J0Ij5FeGNlbC1JbXBvcnQ8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8 +YnV0dG9uIGNsYXNzPSJhZG1pbi1uYXYtYnRuIiBkYXRhLWFkbWluLXRhYj0iZXhwb3J0IiBpZD0i +bmF2LWV4cG9ydCI+RXhjZWwtRXhwb3J0PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPGJ1 +dHRvbiBjbGFzcz0iYWRtaW4tbmF2LWJ0biIgZGF0YS1hZG1pbi10YWI9InRlc3RkYXRlbiI+VGVz +dGRhdGVuPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9hc2lk +ZT4KCiAgICAgICAgICAgIDwhLS0gQWRtaW4tSW5oYWx0IC0tPgogICAgICAgICAgICA8bWFpbiBj +bGFzcz0iYWRtaW4taW5oYWx0Ij4KCiAgICAgICAgICAgICAgICA8IS0tIFJlYWQtb25seS1CYW5u +ZXI6IGVyc2NoZWludCwgd2VubiBkZXIgZWluZ2Vsb2dndGUgQmVudXR6ZXIKICAgICAgICAgICAg +ICAgICAgICAgZGVuIEFkbWluLUJlcmVpY2ggbnVyIGxlc2VuZCBzZWhlbiBkYXJmIChhbGxlIFJv +bGxlbgogICAgICAgICAgICAgICAgICAgICBhdXNzZXIgU3VwZXJVc2VyKS4gV2lyZCB2b24gYWRt +aW5CYW5uZXJBa3R1YWxpc2llcmVuKCkKICAgICAgICAgICAgICAgICAgICAgaW4gYWRtaW4uanMg +ZWluLS9hdXNnZWJsZW5kZXQgdW5kIG1pdCBSb2xsZSBiZWZ1ZWxsdC4gLS0+CiAgICAgICAgICAg +ICAgICA8ZGl2IGlkPSJhZG1pbi1yZWFkb25seS1iYW5uZXIiIGNsYXNzPSJhZG1pbi1iYW5uZXIg +YWRtaW4tYmFubmVyLWluZm8gdmVyc3RlY2t0IiByb2xlPSJzdGF0dXMiIGFyaWEtbGl2ZT0icG9s +aXRlIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWRtaW4tYmFubmVyLWljb24i +IGFyaWEtaGlkZGVuPSJ0cnVlIj4mIzk0MzI7PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxk +aXYgY2xhc3M9ImFkbWluLWJhbm5lci10ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRp +diBjbGFzcz0iYWRtaW4tYmFubmVyLXRpdGVsIj5OdXItTGVzZS1Nb2R1czwvZGl2PgogICAgICAg +ICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi1iYW5uZXItYm9keSIgaWQ9ImFkbWlu +LXJlYWRvbmx5LWJhbm5lci10ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIER1IHNp +ZWhzdCBkaWVzZW4gQmVyZWljaCBudXIgbGVzZW5kLiAmQXVtbDtuZGVydW5nZW4gc2luZCBkZW0g +U3VwZXJVc2VyIHZvcmJlaGFsdGVuLgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAg +ICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAg +ICAgICAgIDwhLS0gRHJhZnQtUmVzdG9yZS1CYW5uZXI6IGVyc2NoZWludCwgd2VubiBiZWltIFRh +Yi1XZWNoc2VsIGVpbgogICAgICAgICAgICAgICAgICAgICB1bmdlc2ljaGVydGVyIEF1dG8tU2F2 +ZS1EcmFmdCBpbSBsb2NhbFN0b3JhZ2UgZ2VmdW5kZW4gd3VyZGUKICAgICAgICAgICAgICAgICAg +ICAgKEJyb3dzZXItQ3Jhc2gsIEY1LVJlbG9hZCwgdmVyc2VoZW50bGljaGVzIFNjaGxpZXNzZW4p +LgogICAgICAgICAgICAgICAgICAgICBhZG1pbkRyYWZ0QmFubmVyQW5iaWV0ZW4oKSBpbiBhZG1p +bi5qcyBiZXN0dWVja3QgVGV4dCArIEJ1dHRvbnMuIC0tPgogICAgICAgICAgICAgICAgPGRpdiBp +ZD0iYWRtaW4tZHJhZnQtYmFubmVyIiBjbGFzcz0iYWRtaW4tYmFubmVyIGFkbWluLWJhbm5lci13 +YXJuIHZlcnN0ZWNrdCIgcm9sZT0ic3RhdHVzIiBhcmlhLWxpdmU9InBvbGl0ZSI+CiAgICAgICAg +ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFkbWluLWJhbm5lci1pY29uIiBhcmlhLWhpZGRlbj0i +dHJ1ZSI+JiM5MjAxOzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1p +bi1iYW5uZXItdGV4dCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFkbWlu +LWJhbm5lci10aXRlbCI+VW5nZXNpY2hlcnRlICZBdW1sO25kZXJ1bmdlbiB3aWVkZXJoZXJzdGVs +bGVuPzwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi1iYW5u +ZXItYm9keSIgaWQ9ImFkbWluLWRyYWZ0LWJhbm5lci10ZXh0Ij4KICAgICAgICAgICAgICAgICAg +ICAgICAgICAgIER1IGhhc3QgaW4gZGllc2VtIFRhYiAmQXVtbDtuZGVydW5nZW4sIGRpZSBub2No +IG5pY2h0IGdlc3BlaWNoZXJ0IHNpbmQuCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pgog +ICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOjhweDtkaXNwbGF5 +OmZsZXg7Z2FwOjhweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9 +ImJ1dHRvbiIgaWQ9ImFkbWluLWRyYWZ0LXJlc3RvcmUiIGNsYXNzPSJidG4gYnRuLXByaW1hZXIg +YnRuLWtsZWluIj5XaWVkZXJoZXJzdGVsbGVuPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImFkbWluLWRyYWZ0LXZlcndlcmZlbiIg +Y2xhc3M9ImJ0biBidG4tc2VrIGJ0bi1rbGVpbiI+VmVyd2VyZmVuPC9idXR0b24+CiAgICAgICAg +ICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAg +ICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPCEtLSBUYWI6IFBlcnNvbmFsIC0tPgog +ICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRtaW4tdGFiIiBpZD0iYWRtaW4tdGFiLXBlcnNv +bmFsIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi1rb3BmIj4KICAgICAg +ICAgICAgICAgICAgICAgICAgPGgyPlBlcnNvbmFsdmVyd2FsdHVuZzwvaDI+CiAgICAgICAgICAg +ICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDtnYXA6MTJweDthbGlnbi1pdGVt +czpjZW50ZXI7ZmxleC13cmFwOndyYXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxh +YmVsIHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7Zm9udC1z +aXplOjEzcHg7Y3Vyc29yOnBvaW50ZXIiIHRpdGxlPSJVbWdlc2V0enRlIGluIGRpZXNlciBUYWJl +bGxlIGFuemVpZ2VuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlw +ZT0iY2hlY2tib3giIGlkPSJhZG1pbi1wZXJzb25hbC1maWx0ZXIiPiBVbWdlc2V0enRlIGVpbmJs +ZW5kZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICA8bGFiZWwgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50 +ZXI7Z2FwOjZweDtmb250LXNpemU6MTNweDtjdXJzb3I6cG9pbnRlciIgdGl0bGU9IlVtZ2VzZXR6 +dGUgYXVjaCBpbiBkZXIgUGxhbnVuZ3MtQW5zaWNodCBlaW5ibGVuZGVuIChuaWNodCBlZGl0aWVy +YmFyLCBudXIgenVyIFJlY2hlcmNoZSkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +IDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNoay11bWdlc2V0enRlLWVpbmJsZW5kZW4iPiBJ +biBQbGFudW5ncy1BbnNpY2h0IGVpbmJsZW5kZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAg +IDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgaWQ9InBhcGllcmtv +cmItZmlsdGVyLXplaWxlIiBjbGFzcz0idmVyc3RlY2t0IiBzdHlsZT0iZGlzcGxheTpmbGV4O2Fs +aWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZvbnQtc2l6ZToxM3B4O2N1cnNvcjpwb2ludGVyIiB0 +aXRsZT0iU29mdC1nZWzDtnNjaHRlIFBlcnNvbmVuIGltIFBhcGllcmtvcmIgYW56ZWlnZW4gKG51 +ciBiZWkgYWt0aXZlbSBGZWF0dXJlKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iYWRtaW4tcGFwaWVya29yYi1maWx0ZXIiPiBQYXBp +ZXJrb3JiIGVpbmJsZW5kZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tbWFudWVsbGUtc29ydGll +cnVuZyIgY2xhc3M9ImJ0biBidG4tc2VrIiB0aXRsZT0iRsO8aHJ1bmdza3LDpGZ0ZSAoQeKAk0Mg +dW5kIFdEKSBwZXIgRHJhZyAmYW1wOyBEcm9wIGluIG5ldWUgUmVpaGVuZm9sZ2UgYnJpbmdlbiI+ +TWFudWVsbGUgU29ydGllcnVuZzwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg +PGJ1dHRvbiBpZD0iYnRuLXBlcnNvbi1uZXUiIGNsYXNzPSJidG4gYnRuLWVyZm9sZyI+TmV1ZSBQ +ZXJzb248L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAg +ICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBOZXVpbXBvcnQtQmxvY2s6 +IGVyc2NoZWludCwgd2VubiBQZXJzb25lbiBtaXQgaW1wb3J0TmV1QW0tTWFya2VyCiAgICAgICAg +ICAgICAgICAgICAgICAgICB2b3JoYW5kZW4gc2luZCAoRXhjZWwtSW1wb3J0ICJuZXUgYW5sZWdl +biIpLiBVc2VyIGthbm4gZGllIFBlcnNvbmVuCiAgICAgICAgICAgICAgICAgICAgICAgICBoaWVy +IGRpcmVrdCBuYWNocGZsZWdlbiB1bmQgZWluemVsbiBhdWYgIkVybGVkaWd0IiBzZXR6ZW4uCiAg +ICAgICAgICAgICAgICAgICAgICAgICBCbG9jayB2ZXJzY2h3aW5kZXQgYXV0b21hdGlzY2gsIHNv +YmFsZCBhbGxlIE1hcmtlciB3ZWcgc2luZC4gLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBp +ZD0icGVyc29uYWwtbmV1aW1wb3J0LWJsb2NrIiBjbGFzcz0idmVyc3RlY2t0Ij48L2Rpdj4KICAg +ICAgICAgICAgICAgICAgICA8ZGV0YWlscyBjbGFzcz0iYWRtaW4taW5mbyIgZGF0YS1pbmZvLWtl +eT0icGVyc29uYWwiIG9wZW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5PjxzcGFu +IGNsYXNzPSJhZG1pbi1pbmZvLWNoZXYiPuKWuDwvc3Bhbj5IaW53ZWlzZSB6dXIgUGVyc29uYWx2 +ZXJ3YWx0dW5nPHNwYW4gY2xhc3M9ImFkbWluLWluZm8tYmFkZ2UiPkF1ZmtsYXBwZW4gLyBadWts +YXBwZW48L3NwYW4+PC9zdW1tYXJ5PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNz +PSJhZG1pbi1pbmZvLWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9u +Zz5ad2Vjazo8L3N0cm9uZz4gWmVudHJhbGUgVmVyd2FsdHVuZyBhbGxlciBNaXRhcmJlaXRlciwg +ZGllIGluIGRlciBEaWVuc3RwbGFudW5nIGVyc2NoZWluZW4uIEplZGUgUGVyc29uIGJla29tbXQg +U3RhbW1kYXRlbiAoTmFtZSwgRGllbnN0Z3JhZCwgVGVsZWZvbiwgTlctS2VubnVuZywgRGllbnN0 +Z3J1cHBlLCBTdGFuZG9ydCkgc293aWUgZWluZW4gYWt0aXZlbiBvZGVyIHVtZ2VzZXR6dGVuIFN0 +YXR1cy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48c3Ryb25nPlJhbmdmb2xn +ZTo8L3N0cm9uZz4gRGllIFJhbmctU3BhbHRlIHplaWd0IGRlbiByb2hlbiBQb3NpdGlvbnMtV2Vy +dCAoei5CLiA8Y29kZT4xMTE8L2NvZGU+IOKAlCDDvGJlcm5vbW1lbiBhdXMgZGVtIEV4Y2VsLUlt +cG9ydCkuIFp1bSBVbXNvcnRpZXJlbiBudXR6ZSBkZW4gQnV0dG9uIDxlbT5NYW51ZWxsZSBTb3J0 +aWVydW5nPC9lbT4gb2JlbiDigJQgZG9ydCBrw7ZubmVuIEbDvGhydW5nc2tyw6RmdGUgKEHigJND +IHVuZCBXRCkgcGVyIERyYWcgJmFtcDsgRHJvcCBuZXUgYW5nZW9yZG5ldCB3ZXJkZW4uPC9wPgog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5EaWVuc3RncmFkOjwvc3Ryb25n +PiBPcHRpb25hbCDigJQgei4gQi4gUEhLLCBQT0ssIFBLLiBXaXJkIGluIGRlciBOYW1lbnNzcGFs +dGUgYWxzIFByw6RmaXggdm9yIGRlbSBOYWNobmFtZW4gYW5nZXplaWd0LjwvcD4KICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+RGllbnN0Z3J1cHBlIChBL0IvQy9XRC9XTCk6 +PC9zdHJvbmc+IEJlc3RpbW10IGRpZSBSb3RhdGlvbiBhbiBkZW4gU3RhbmRvcnRlbi4gQS9CL0Mg +cm90aWVyZW4gaW4gQUJDLS9CQ0EtL0NBQi1TY2hpY2h0Zm9sZ2UgZHVyY2ggRnLDvGgvU3DDpHQv +TmFjaHQuIFdEIChXYWNoZGllbnN0KSB1bmQgV0wgKFdhY2hsZWl0dW5nKSBzaW5kIGZlc3RlIFNv +bmRlcmdydXBwZW4gb2huZSBSb3RhdGlvbi4gS8O8cnplbCB1bmQgQmV6ZWljaG51bmdlbiBsYXNz +ZW4gc2ljaCBpbSBUYWIgPGI+RGllbnN0Z3J1cHBlbjwvYj4gYW5wYXNzZW4g4oCUIFVtYmVuZW5u +dW5nIGthc2thZGllcnQgYXV0b21hdGlzY2ggYXVmIGFsbGUgUGVyc29uZW4uPC9wPgogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5OVy1LZW5udW5nOjwvc3Ryb25nPiBEaWUg +TmV0endlcmstS2VubnVuZyAoei5CLiA8Y29kZT5ET01BSU5cbWF4Lm11c3Rlcm1hbm48L2NvZGU+ +KSB3aXJkIGF1dG9tYXRpc2NoIGRlbSBhbmdlbWVsZGV0ZW4gV2luZG93cy1CZW51dHplciB6dWdl +b3JkbmV0LiBPaG5lIEtlbm51bmcgZXJrZW5udCBkYXMgU3lzdGVtIGRpZSBQZXJzb24gbmljaHQg +4oCUIEZ1bmt0aW9uZW4gd2llIOKAnkZyZW1kLcOEbmRlcnVuZyBXYXJudW5nIiBvZGVyIHBlcnPD +tm5saWNoZXIgUGxhbiBmdW5rdGlvbmllcmVuIGRhbm4gbmljaHQuPC9wPgogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5FLU1haWw6PC9zdHJvbmc+IE9wdGlvbmFsLiBXaXJk +IHZlcndlbmRldCwgd2VubiBkaWUgQmVuYWNocmljaHRpZ3VuZ3NmdW5rdGlvbiBha3RpdmllcnQg +aXN0IChUYWIgPGI+RWluc3RlbGx1bmdlbjwvYj4pLjwvcD4KICAgICAgICAgICAgICAgICAgICAg +ICAgICAgIDxwPjxzdHJvbmc+VW1nZXNldHp0Ojwvc3Ryb25nPiBQZXJzb25lbiBtaXQgU3RhdHVz +IOKAnlVtZ2VzZXR6dCIgd2VyZGVuIGF1cyBkZXIgbGF1ZmVuZGVuIFBsYW51bmcgZW50ZmVybnQs +IGlocmUgSGlzdG9yaWUgYmxlaWJ0IGFiZXIgZXJoYWx0ZW4gKHp1ciBSZWNoZXJjaGUpLiBFaW50 +csOkZ2Uga8O2bm5lbiB3ZWl0ZXJoaW4gYW5nZXplaWd0IHdlcmRlbiwgc2luZCBhYmVyIG5pY2h0 +IG1laHIgZWRpdGllcmJhci4gRGllIENoZWNrYm94IG9iZW4gcmVjaHRzIGJsZW5kZXQgc2llIGJl +aSBCZWRhcmYgZWluLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+ +TMO2c2NoZW4gdnMuIFVtc2V0emVuOjwvc3Ryb25nPiBOdXIgYXVzbmFobXN3ZWlzZSBsw7ZzY2hl +biDigJQgdmVybG9yZW5lIEhpc3RvcmllLiBJbSBSZWdlbGZhbGwg4oCeVW1zZXR6ZW4iIChkZWFr +dGl2aWVyZW4pIGJldm9yenVnZW4uPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4K +ICAgICAgICAgICAgICAgICAgICA8L2RldGFpbHM+CiAgICAgICAgICAgICAgICAgICAgPHRhYmxl +IGlkPSJwZXJzb25hbC10YWJlbGxlIiBjbGFzcz0iYWRtaW4tdGFiZWxsZSI+CiAgICAgICAgICAg +ICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+TmFtZTwvdGg+CiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgPHRoPlZvcm5hbWU8L3RoPgogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6MTIwcHgiIHRpdGxlPSJTdGFtbS1GdW5rdGlvbiAo +REdML0RHTGluL1dERi9XREZpbi8zLiBNYW5uLzMuIEZyYXUvV2FjaGxlaXR1bmcvR3J1cHBlbmbD +vGhydW5nKS4gQmVzdGltbXQgZGllIFZlcmFudHdvcnR1bmdzLVJlaWhlbmZvbGdlIGluIGRlciBT +Y2hpY2h0LiI+RnVua3Rpb248L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0 +aCBzdHlsZT0id2lkdGg6ODVweCIgdGl0bGU9IkRpZW5zdGdyYWQgKGbDvHIgU3VwZXJVc2VyIHBl +ciBLbGljayBlZGl0aWVyYmFyKSI+RGllbnN0Z3JhZDwvdGg+CiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDo2NXB4IiB0aXRsZT0iRGllbnN0cmFuZyDigJQg +cm9oZSBQb3NpdGlvbiAoYXVzIEV4Y2VsLUltcG9ydCkuIFVtc29ydGllcmVuIHZpYSDigJ5NYW51 +ZWxsZSBTb3J0aWVydW5nIiBvYmVuLiI+RGllbnN0cmFuZzwvdGg+CiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDo1MHB4IiB0aXRsZT0iT3JnYW5pc2F0aW9u +c2VpbmhlaXQgKFN0YW5kb3J0LUt1ZXJ6ZWwgYXVzIGRlbSBUYWIg4oCeU3RhbmRvcnRlIiDigJQg +ei5CLiBLQSwgSEEsIEJPKS4iPk9FPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICA8dGggc3R5bGU9IndpZHRoOjYwcHgiIHRpdGxlPSJUZWxlZm9uLUR1cmNod2FobCAoaW50ZXJu +KS4iPlRlbC48L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0i +d2lkdGg6MTE1cHgiIHRpdGxlPSJOVy1LZW5udW5nIOKAlCBpLmQuUi4gOCBaZWljaGVuLCBsYW5n +ZSBET01BSU4tUHJhZWZpeGUgd2VyZGVuIGdnZi4gYWJnZXNjaG5pdHRlbiI+TlctS2VubnVuZzwv +dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDo0OHB4 +IiB0aXRsZT0iSGV1dGlnZSBTY2hpY2h0cm90YXRpb24gKEZydWVoZGllbnN0IC8gU3BhZXRkaWVu +c3QgLyBOYWNodGRpZW5zdCkuIFdpcmQgYXVzIGRlciBTdGFuZG9ydC1TY2hpY2h0Zm9sZ2UgdW5k +IGRlciBEaWVuc3RncnVwcGUgZGVyIFBlcnNvbiBhYmdlbGVpdGV0LiBIb3ZlciB6ZWlndCBkZW4g +bmFlY2hzdGVuIFdlY2hzZWx0YWcuIj5Sb3RhPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICA8dGggc3R5bGU9IndpZHRoOjkwcHgiPkUtTWFpbDwvdGg+CiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDo5NXB4Ij5HZWJ1cnRzdGFnPC90aD4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjcwcHgiIHRp +dGxlPSJRdWFsaWZpa2F0aW9uIGFscyBEaWVuc3RncnVwcGVuLUxlaXRlciAoREdMKSBiencuIOKA +njMuIE1hbm4vRnJhdSIgZGVyIFZlcmtlaHJzaW5zcGVrdGlvbiAzLiBNYXJraWVydCBkaWUgUGVy +c29uIGFscyB1ZWJlcmJlc2V0enVuZ3MtZmFlaGlnIGZ1ZXIgbGVlcmUgU2NoaWNodGVuIGluIGlo +cmVyIERpZW5zdGdydXBwZS4iPlZJMyBER0w8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgIDx0aCBzdHlsZT0id2lkdGg6OTBweCIgdGl0bGU9IkFuc3ByZWNocGFydG5lciBpbSBJ +bmZvLUZlbnN0ZXIg4oCUIG51ciBmw7xyIExlaXR1bmdzLUZ1bmt0aW9uZW4gYWt0aXZpZXJiYXIg +KEZ1bmt0aW9uZW4gbWl0IOKAnkluIFBsYW51bmcgc2ljaHRiYXIgPSBuZWluIikiPkFuc3ByZWNo +LcKtcGFydG5lcjwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxl +PSJ3aWR0aDo2NHB4IiB0aXRsZT0iRGllc2UgUGVyc29uIGVpbnplbG4gYXVzIGRlciBQbGFudW5n +c2Fuc2ljaHQgLyBXb2NoZW5wbGFuIC8gUGVycy4gUGxhbiBhdXNibGVuZGVuIChncsO8biA9IHNp +Y2h0YmFyLCByb3QgPSBhdXNnZWJsZW5kZXQpLiBTdXBlclVzZXItb25seS4iPkluIFBsYW51bmc8 +L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6ODBw +eCI+U3RhdHVzPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9 +IndpZHRoOjIxMHB4Ij5Ba3Rpb25lbjwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 +L3RyPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICAgICAgICAg +ICAgICA8dGJvZHkgaWQ9InBlcnNvbmFsLXRib2R5Ij48L3Rib2R5PgogICAgICAgICAgICAgICAg +ICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8IS0t +IFRhYjogRmVpZXJ0YWdlIC0tPgogICAgICAgICAgICAgICAgPCEtLSBUYWI6IERpZW5zdGdydXBw +ZW4gLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi10YWIgdmVyc3RlY2t0IiBp +ZD0iYWRtaW4tdGFiLWdydXBwZW4iPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFk +bWluLWtvcGYiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDI+RGllbnN0Z3J1cHBlbjwvaDI+ +CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRldGFpbHMg +Y2xhc3M9ImFkbWluLWluZm8iIGRhdGEtaW5mby1rZXk9ImdydXBwZW4iIG9wZW4+CiAgICAgICAg +ICAgICAgICAgICAgICAgIDxzdW1tYXJ5PjxzcGFuIGNsYXNzPSJhZG1pbi1pbmZvLWNoZXYiPuKW +uDwvc3Bhbj5IaW53ZWlzZSB6dSBEaWVuc3RncnVwcGVuPHNwYW4gY2xhc3M9ImFkbWluLWluZm8t +YmFkZ2UiPkF1ZmtsYXBwZW4gLyBadWtsYXBwZW48L3NwYW4+PC9zdW1tYXJ5PgogICAgICAgICAg +ICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi1pbmZvLWJvZHkiPgogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5XYXMgc2luZCBEaWVuc3RncnVwcGVuPzwvc3Ryb25n +PiBEaWVuc3RncnVwcGVuIGLDvG5kZWxuIE1pdGFyYmVpdGVyIG1pdCBkZW1zZWxiZW4gUm90YXRp +b25zcmh5dGhtdXMuIEJlaSBkZXIgVkkzIHNpbmQgZGFzIGRpZSBrbGFzc2lzY2hlbiA8Yj5BIC8g +QiAvIEM8L2I+IChXZWNoc2VsZGllbnN0LVJvdGF0aW9uKSwgcGx1cyBTb25kZXJncnVwcGVuIHdp +ZSA8Yj5LPC9iPiAoV2FjaGRpZW5zdCkgdW5kIDxiPkw8L2I+IChXYWNobGVpdHVuZykuPC9wPgog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5Lw7xyemVsIHZzLiBCZXplaWNo +bnVuZzo8L3N0cm9uZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5EYXMgPGI+S8O8cnplbDwvYj4gKHou +Qi4gPGNvZGU+QTwvY29kZT4sIDxjb2RlPldEPC9jb2RlPikgaXN0IGRpZSB0ZWNobmlzY2hlIEtl +bm51bmcgaW4gZGVuIERhdGVuIHVuZCB3aXJkIGluIGRlciBQZXJzb25lbi1aZWlsZSBhbmdlemVp +Z3QuIFdlbm4gZHUgZXMgw6RuZGVyc3QsIHdlcmRlbiBhdXRvbWF0aXNjaCBhbGxlIFBlcnNvbmVu +IGRlciBHcnVwcGUgYXVmIGRhcyBuZXVlIEvDvHJ6ZWwgbWlncmllcnQgKGthc2thZGllcnRlcyBV +cGRhdGUgaW4gPGNvZGU+cGxhbnVuZy5qc29uPC9jb2RlPikuPC9saT4KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgPGxpPkRpZSA8Yj5CZXplaWNobnVuZzwvYj4gKHouQi4g4oCe +V2FjaGRpZW5zdCIsIOKAnldhY2hsZWl0dW5nIikgZXJzY2hlaW50IGFscyBUcmVubmVyIGluIGRl +ciBOYW1lbnNsaXN0ZSBkZXIgUGxhbnVuZy4gRGllc2Uga2FubnN0IGR1IGZyZWkgYW5wYXNzZW4s +IG9obmUgRGF0ZW4genUgdmVybGllcmVuLjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+RmFyYmVuOjwvc3Ryb25nPiBIaW50ZXJncnVuZCB1 +bmQgU2NocmlmdGZhcmJlIHBybyBHcnVwcGUgZGlyZWt0IGVkaXRpZXJiYXIuIEVpbmUgTGl2ZS1W +b3JzY2hhdSB6ZWlndCBkYXMgcmVzdWx0aWVyZW5kZSBCYWRnZS4gRGllIEZhcmJlbiB3ZXJkZW4g +w7xiZXJhbGwgaW0gU3lzdGVtIHZlcndlbmRldCAoUGVyc29uZW4tQmFkZ2VzLCBHcnVwcGVuLVRy +ZW5uZXIgaW4gZGVyIFBlcnNvbmFsdmVyd2FsdHVuZywgR3J1cHBlbi1MYWJlbCBpbiBkZXIgUGxh +bnVuZ3MtWmVpbGUpLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+ +TmV1ZSBHcnVwcGUgYW5sZWdlbjo8L3N0cm9uZz4gQnV0dG9uIDxlbT7igJ5OZXVlIERpZW5zdGdy +dXBwZSI8L2VtPiDDtmZmbmV0IGVpbmUgRWluZ2FiZXplaWxlLiBQZmxpY2h0ZmVsZGVyIHNpbmQg +S8O8cnplbCB1bmQgQmV6ZWljaG51bmc7IEZhcmJlbiBrw7ZubmVuIHp1bsOkY2hzdCDDvGJlcm5v +bW1lbiB3ZXJkZW4gdW5kIHNww6R0ZXIgYW5nZXBhc3N0IHdlcmRlbi48L3A+CiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICA8cD48c3Ryb25nPkdydXBwZSBsw7ZzY2hlbjo8L3N0cm9uZz4gTnVy +IG3DtmdsaWNoLCB3ZW5uIGtlaW5lIGFrdGl2ZSBQZXJzb24gbWVociBpbiBkZXIgR3J1cHBlIGlz +dC4gU2luZCBub2NoIFBlcnNvbmVuIHp1Z2V3aWVzZW4sIHplaWd0IGRlciBEaWFsb2cgZGllIEFu +emFobCB1bmQgYnJpY2h0IGFiIOKAlCBkYW5uIGVyc3QgZGllIFBlcnNvbmVuIGF1ZiBlaW5lIGFu +ZGVyZSBHcnVwcGUgdW1zZXR6ZW4gb2RlciB1bWdydXBwaWVyZW4uPC9wPgogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5TcGVpY2hlcm46PC9zdHJvbmc+IE5hY2ggw4RuZGVy +dW5nZW4gYXVmIOKAnkRpZW5zdGdydXBwZW4gc3BlaWNoZXJuIiBrbGlja2VuLiBCZWkgZ2XDpG5k +ZXJ0ZW4gS8O8cnplbG4gd2VyZGVuIGFsbGUgdmVya27DvHBmdGVuIFBlcnNvbmVuIGF1dG9tYXRp +c2NoIGF1ZiBkYXMgbmV1ZSBLw7xyemVsIHVtZ2VzY2hyaWViZW4gKGtlaW4gRGF0ZW52ZXJsdXN0 +KS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAg +IDwvZGV0YWlscz4KICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9ImFkbWluLXRhYmVs +bGUiIGlkPSJncnVwcGVuLXRhYmVsbGUiIHN0eWxlPSJtYXgtd2lkdGg6MTA0MHB4Ij4KICAgICAg +ICAgICAgICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRy +PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6OTBweCI+ +S8O8cnplbDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkJlemVpY2hu +dW5nPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRo +OjcwcHgiPkhpbnRlcmdydW5kPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 +dGggc3R5bGU9IndpZHRoOjcwcHgiPlNjaHJpZnQ8L3RoPgogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6ODBweCI+Vm9yc2NoYXU8L3RoPgogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6NzBweCI+UGVyc29uZW48L3Ro +PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6MTIwcHg7 +dGV4dC1hbGlnbjpjZW50ZXIiIHRpdGxlPSJXZW5uIGRlYWt0aXZpZXJ0LCB3ZXJkZW4gUGVyc29u +ZW4gZGllc2VyIEdydXBwZSBOSUNIVCBpbiBkZXIgUGxhbnVuZ3NhbnNpY2h0LCBpbSBXb2NoZW5w +bGFuIHVuZCBpbSBQZXJzLiBQbGFuIGFuZ2V6ZWlndCDigJQgYmxlaWJlbiBhYmVyIGluIGRlciBQ +ZXJzb25hbHZlcndhbHR1bmcgcGZsZWdiYXIuIj5JbiBQbGFudW5nIHNpY2h0YmFyPC90aD4KICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjEzMHB4O3RleHQt +YWxpZ246Y2VudGVyIiB0aXRsZT0iV2VubiBha3RpdmllcnQsIGTDvHJmZW4gUGVyc29uZW4gZGll +c2VyIEdydXBwZSBpbSBQZXJzb25hbC1UYWIgYWxzIEFuc3ByZWNocGFydG5lciBtYXJraWVydCB3 +ZXJkZW4gKGdpbHQgenVzw6R0emxpY2ggenVyIEZ1bmt0aW9ucy1CZWRpbmd1bmcpLiBNYXJraWVy +dGUgUGVyc29uZW4gZXJzY2hlaW5lbiBtaXQgTWFpbC1CdXR0b24gaW0gSW5mby1GZW5zdGVyLiI+ +QW5zcHJlY2hwYXJ0bmVyIG3DtmdsaWNoPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICA8dGggc3R5bGU9IndpZHRoOjcwcHg7dGV4dC1hbGlnbjpjZW50ZXIiIHRpdGxlPSJSZWlo +ZW5mb2xnZSBpbiBkZXIgUGxhbnVuZ3NhbnNpY2h0IMOkbmRlcm4iPlJlaWhlbmZvbGdlPC90aD4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjYwcHgiPjwv +dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAg +ICAgICA8L3RoZWFkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHkgaWQ9ImdydXBwZW4t +dGJvZHkiPjwvdGJvZHk+CiAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAg +ICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOjE2cHg7ZGlzcGxheTpmbGV4O2dhcDoxMHB4 +Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWdydXBwZW4tbmV1IiBj +bGFzcz0iYnRuIGJ0bi1lcmZvbGciPk5ldWUgRGllbnN0Z3J1cHBlPC9idXR0b24+CiAgICAgICAg +ICAgICAgICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1ncnVwcGVuLXNwZWljaGVybiIgY2xhc3M9 +ImJ0biBidG4tcHJpbWFlciI+RGllbnN0Z3J1cHBlbiBzcGVpY2hlcm48L2J1dHRvbj4KICAgICAg +ICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAg +ICAgIDwhLS0gVGFiOiBGZWllcnRhZ2UgJiBGZXJpZW4gKE1lcmdlIFBoYXNlIDEg4oCUIGJlaWRl +IEthbGVuZGVyLUJsb2NrZXIgYW4gZWluZW0gT3J0KSAtLT4KICAgICAgICAgICAgICAgIDxkaXYg +Y2xhc3M9ImFkbWluLXRhYiB2ZXJzdGVja3QiIGlkPSJhZG1pbi10YWItZmVpZXJ0YWdlIj4KICAg +ICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi1rb3BmIj4KICAgICAgICAgICAgICAg +ICAgICAgICAgPGgyPkthbGVuZGVyIOKAlCBGZWllcnRhZ2UgJmFtcDsgRmVyaWVuPC9oMj4KICAg +ICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPCEtLSBTdWItVGFi +LUxlaXN0ZTogdHJlbm50IGRpZSB6d2VpIGxvZ2lzY2ggZGlzanVua3RlbgogICAgICAgICAgICAg +ICAgICAgICAgICAgVGhlbWVuIHZpc3VlbGwuIERlZmF1bHQ6IEZlaWVydGFnZSBha3Rpdi4gLS0+ +CiAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0iYWRtaW4tc3VibmF2IiBhcmlhLWxhYmVs +PSJLYWxlbmRlci1TdWItTmF2aWdhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0 +b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYWRtaW4tc3VibmF2LWJ0biBha3RpdiIgZGF0YS1zdWJ0 +YWI9ImZlaWVydGFnZSI+RmVpZXJ0YWdlPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAg +IDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYWRtaW4tc3VibmF2LWJ0biIgZGF0YS1zdWJ0 +YWI9ImZlcmllbiI+U2NodWxmZXJpZW48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8L25h +dj4KCiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImFkbWluLXNla3Rpb24iIGlk +PSJhZG1pbi1zZWt0aW9uLWZlaWVydGFnZSIgZGF0YS1zdWJ0YWItc2VrdGlvbj0iZmVpZXJ0YWdl +Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRtaW4tc2VrdGlvbi1rb3Bm +Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz5GZWllcnRhZ2U8L2gzPgogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWZlaWVydGFnLW5ldSIgY2xhc3M9 +ImJ0biBidG4tZXJmb2xnIj5OZXVlciBGZWllcnRhZzwvYnV0dG9uPgogICAgICAgICAgICAgICAg +ICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRldGFpbHMgY2xhc3M9ImFk +bWluLWluZm8iIGRhdGEtaW5mby1rZXk9ImZlaWVydGFnZSIgb3Blbj4KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDxzdW1tYXJ5PjxzcGFuIGNsYXNzPSJhZG1pbi1pbmZvLWNoZXYiPuKWuDwv +c3Bhbj5IaW53ZWlzZSB6dSBGZWllcnRhZ2VuPHNwYW4gY2xhc3M9ImFkbWluLWluZm8tYmFkZ2Ui +PkF1ZmtsYXBwZW4gLyBadWtsYXBwZW48L3NwYW4+PC9zdW1tYXJ5PgogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRtaW4taW5mby1ib2R5Ij4KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICA8cD48c3Ryb25nPldhcyBwYXNzaWVydCBtaXQgRmVpZXJ0YWdlbj88 +L3N0cm9uZz4gQW4gYWt0aXZlbiBGZWllcnRhZ2VuIHdpcmQgZGllIGVudHNwcmVjaGVuZGUgRGF0 +dW1zLVNwYWx0ZSBpbSBQbGFudW5nc3Jhc3RlciBmYXJibGljaCBoZXJ2b3JnZWhvYmVuIHVuZCBp +biBkZXIgQW5sYXNzLVplaWxlIG1pdCBkZXIgQmV6ZWljaG51bmcgZGVzIEZlaWVydGFncyB2ZXJz +ZWhlbi4gRGllIFN0YXRpc3Rpay1BdXN3ZXJ0dW5nIOKAnkZlaWVydGFncy1EaWVuc3RlIiBiZXLD +vGNrc2ljaHRpZ3QgbnVyIFRhZ2UgYXVzIGRpZXNlciBMaXN0ZSwgZGVyZW4gPGVtPkFrdGl2PC9l +bT4tSMOka2NoZW4gZ2VzZXR6dCBpc3QuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIDxwPjxzdHJvbmc+S2F0ZWdvcmllbjo8L3N0cm9uZz4gTmViZW4gZGVuIGdlc2V0emxpY2hl +biBGZWllcnRhZ2VuIChTdGFuZGFyZCwgTlJXKSBzaW5kIGrDvGRpc2NoZSwgbXVzbGltaXNjaGUg +dW5kIHTDvHJraXNjaGUgRmVpZXJ0YWdlIGFscyBEYXRlbmJhc2lzIGJlcmVpdHMgaGludGVybGVn +dCDigJQgZsO8ciAyMDI2IGJpcyAyMDM1LiBEaWVzZSBzaW5kIHBlciBEZWZhdWx0IGRlYWt0aXZp +ZXJ0OyBwZXIgPGVtPkFrdGl2PC9lbT4tSMOka2NoZW4gbGFzc2VuIHNpZSBzaWNoIGVpbnplbG4g +ZWluYmxlbmRlbi4gSmVkZSBLYXRlZ29yaWUgYmVrb21tdCBpbiBkZXIgQW5sYXNzLVplaWxlIGVp +bmUgZWlnZW5lIEZhcmJlIChnZXNldHpsaWNoID0gYmxhdSwgasO8ZGlzY2ggPSBsaWxhLCBtdXNs +aW1pc2NoID0gZ3LDvG4sIHTDvHJraXNjaCA9IHJvdCkuPC9wPgogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDxwPjxzdHJvbmc+RmlsdGVyOjwvc3Ryb25nPiDDnGJlciBkZXIgVGFiZWxs +ZSBuYWNoIEthdGVnb3JpZSwgSmFociBvZGVyIOKAnm51ciBha3RpdmUiIGZpbHRlcm4g4oCUIGRp +ZSB2b2xsZSBMaXN0ZSB1bWZhc3N0IHJ1bmQgMzEyIEVpbnRyw6RnZS48L3A+CiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5XaWNodGlnIChIZXJ2b3JoZWJ1bmcpOjwv +c3Ryb25nPiBEaWUgQ2hlY2tib3ggaW4gZGVyIFNwYWx0ZSDigJ5XaWNodGlnIiBtYXJraWVydCBi +ZXNvbmRlcnMgaGVydm9yenVoZWJlbmRlIEZlaWVydGFnZSAoei5CLiBIZWlsaWdhYmVuZCwgU2ls +dmVzdGVyLCBXZWlobmFjaHRlbikuIFNvbGNoZSBUYWdlIGJla29tbWVuIGltIFBsYW51bmdzLUhl +YWRlciBlaW5lIHZlcnN0w6Rya3RlIEVpbmbDpHJidW5nIChyb3QgbWl0IGdvbGRlbmVtIFJhaG1l +bikgdW5kIMO8YmVybGFnZXJuIGRpZSBLYXRlZ29yaWUtRmFyYmUuIERpZSBUYWJlbGxlbnplaWxl +IGltIEFkbWluIGVyaMOkbHQgZWluZSByw7Z0bGljaGUgVMO2bnVuZy48L3A+CiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5XZWNoc2Vsd2lya3VuZyBtaXQgU29uZGVy +dGVybWluZTo8L3N0cm9uZz4gTGllZ3QgenVzw6R0emxpY2ggZWluIFNvbmRlcnRlcm1pbiBhbiBl +aW5lbSBGZWllcnRhZywgYmxlaWJ0IGRlciBGZWllcnRhZ3MtSGlud2VpcyBzaWNodGJhciwgZGll +IFplbGxlIGlzdCBhYmVyIGtsaWNrYmFyIHVuZCB6ZWlndCBIaW53ZWlzLVRleHQga29tYmluaWVy +dCBhbi48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAg +ICAgICAgICAgICAgPC9kZXRhaWxzPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJm +ZWllcnRhZ2UtZmlsdGVyIiBjbGFzcz0iZmVpZXJ0YWdlLWZpbHRlciI+CiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICA8bGFiZWw+S2F0ZWdvcmllOgogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgIDxzZWxlY3QgaWQ9ImZlaWVydGFnZS1maWx0ZXIta2F0ZWdvcmllIj4KICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iYWxsZSI+QWxsZTwvb3B0 +aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJn +ZXNldHpsaWNoIj5HZXNldHpsaWNoIChOUlcpPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Imp1ZWRpc2NoIj5Kw7xkaXNjaDwvb3B0aW9u +PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJtdXNs +aW1pc2NoIj5NdXNsaW1pc2NoPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgIDxvcHRpb24gdmFsdWU9InR1ZXJraXNjaCI+VMO8cmtpc2NoPC9vcHRpb24+CiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPkphaHI6 +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBpZD0iZmVpZXJ0YWdlLWZp +bHRlci1qYWhyIj48L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+ +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgc3R5bGU9Im1hcmdpbi1sZWZ0OmF1 +dG87ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweCI+CiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iZmVp +ZXJ0YWdlLWZpbHRlci1udXItYWt0aXYiPiBudXIgYWt0aXZlIHplaWdlbgogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAg +ICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iYWRtaW4tdGFiZWxsZSIgaWQ9ImZl +aWVydGFnZS10YWJlbGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD48dHI+ +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDoxMzBweCI+ +RGF0dW08L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0ibWF4 +LXdpZHRoOjI2MHB4Ij5CZXplaWNobnVuZzwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgPHRoIHN0eWxlPSJ3aWR0aDo2MHB4O3RleHQtYWxpZ246Y2VudGVyIiB0aXRsZT0iUHJv +IEVpbnRyYWcgd8OkaGxiYXI7IGxlZXIgPSBLYXRlZ29yaWUtRGVmYXVsdCI+SWNvbjwvdGg+CiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDoxNzBweCI+S2F0 +ZWdvcmllPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9Indp +ZHRoOjgwcHg7dGV4dC1hbGlnbjpjZW50ZXIiPkFrdGl2PC90aD4KICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjE0MHB4O3RleHQtYWxpZ246Y2VudGVyIj5X +aWNodGlnPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9Indp +ZHRoOjE2MHB4Ij5Ba3Rpb25lbjwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Ry +PjwvdGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHkgaWQ9ImZlaWVydGFn +ZS10Ym9keSI+PC90Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAg +ICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWZlaWVydGFnZS1zcGVpY2hlcm4iIGNs +YXNzPSJidG4gYnRuLXByaW1hZXIiIHN0eWxlPSJtYXJnaW4tdG9wOjEycHgiPkZlaWVydGFnZSBz +cGVpY2hlcm48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CgogICAgICAg +ICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJhZG1pbi1zZWt0aW9uIHZlcnN0ZWNrdCIgaWQ9 +ImFkbWluLXNla3Rpb24tZmVyaWVuIiBkYXRhLXN1YnRhYi1zZWt0aW9uPSJmZXJpZW4iPgogICAg +ICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi1zZWt0aW9uLWtvcGYiPgogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgPGgzPlNjaHVsZmVyaWVuPC9oMz4KICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1mZXJpZW4tbmV1IiBjbGFzcz0iYnRuIGJ0 +bi1lcmZvbGciPk5ldWVyIEZlcmllbnplaXRyYXVtPC9idXR0b24+CiAgICAgICAgICAgICAgICAg +ICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGV0YWlscyBjbGFzcz0iYWRt +aW4taW5mbyIgZGF0YS1pbmZvLWtleT0iZmVyaWVuIiBvcGVuPgogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgPHN1bW1hcnk+PHNwYW4gY2xhc3M9ImFkbWluLWluZm8tY2hldiI+4pa4PC9zcGFu +PkhpbndlaXNlIHp1IEZlcmllbjxzcGFuIGNsYXNzPSJhZG1pbi1pbmZvLWJhZGdlIj5BdWZrbGFw +cGVuIC8gWnVrbGFwcGVuPC9zcGFuPjwvc3VtbWFyeT4KICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIDxkaXYgY2xhc3M9ImFkbWluLWluZm8tYm9keSI+CiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgPHA+PHN0cm9uZz5XYXJ1bSBGZXJpZW4gZXJmYXNzZW4/PC9zdHJvbmc+IE5SVy1T +Y2h1bGZlcmllbiB3ZXJkZW4gaW0gV29jaGVucGxhbiBtaXQgZGVtIFN5bWJvbCDwn4+W77iPIHVu +ZCBkZXIgQmV6ZWljaG51bmcgbWFya2llcnQ7IGluIGRlciBQbGFudW5nc2Fuc2ljaHQgbGVndCBz +aWNoIGVpbmUgZHVyY2hnZWhlbmRlIGdyw7xuZSBCYXIgw7xiZXIgZGVuIFplaXRyYXVtLiBEYXMg +aGlsZnQgYmVpIGRlciBVcmxhdWJzdmVyZ2FiZSB1bmQgQmVzZXR6dW5nc3BsYW51bmcsIGJlc29u +ZGVycyBiZWkgUGVyc29uYWwgbWl0IHNjaHVscGZsaWNodGlnZW4gS2luZGVybi48L3A+CiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5aZWl0cmF1bS1FaW50csOkZ2U6 +PC9zdHJvbmc+IEZlcmllbiB3ZXJkZW4gbWl0IDxiPlZvbjwvYj4tIHVuZCA8Yj5CaXM8L2I+LURh +dHVtIGVyZmFzc3QgKGlua2x1c2l2ZSBiZWlkZXIgVGFnZSkuIEJlaXNwaWVsOiBPc3RlcmZlcmll +biAzMC4wMy7igJMxMS4wNC4gRGllIDxiPkJlemVpY2hudW5nPC9iPiB3aXJkIGltIFRvb2x0aXAg +dW5kIGluIGRlciBXb2NoZW5wbGFuLU1hcmtpZXJ1bmcgYW5nZXplaWd0LjwvcD4KICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICA8cD48c3Ryb25nPlBmbGVnZTo8L3N0cm9uZz4gRWlubWFs +IHBybyBKYWhyIGFrdHVhbGlzaWVyZW4uIERpZSBvZmZpemllbGxlbiBOUlctRmVyaWVudGVybWlu +ZSBzaW5kIGJlaW0gU2NodWxtaW5pc3Rlcml1bSBOUlcgenUgZmluZGVuLiDDnGJlcmxhcHBlbmRl +IEVpbnRyw6RnZSB3ZXJkZW4gdm9tIFN5c3RlbSBha3plcHRpZXJ0OyBQcmlvcml0w6R0OiBGZWll +cnRhZyA+IEZlcmllbiA+IFdvY2hlbmVuZGUgPiBOb3JtYWwuPC9wPgogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGV0YWlscz4KICAg +ICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJhZG1pbi10YWJlbGxlIiBpZD0iZmVy +aWVuLXRhYmVsbGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPjx0cj48dGg+ +Vm9uPC90aD48dGg+QmlzPC90aD48dGg+QmV6ZWljaG51bmc8L3RoPjx0aCBzdHlsZT0id2lkdGg6 +ODBweCI+QWt0aW9uZW48L3RoPjwvdHI+PC90aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIDx0Ym9keSBpZD0iZmVyaWVuLXRib2R5Ij48L3Rib2R5PgogICAgICAgICAgICAgICAgICAg +ICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tZmVy +aWVuLXNwZWljaGVybiIgY2xhc3M9ImJ0biBidG4tcHJpbWFlciIgc3R5bGU9Im1hcmdpbi10b3A6 +MTJweCI+RmVyaWVuIHNwZWljaGVybjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDwvc2Vj +dGlvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgICAgICA8IS0tIFRhYjog +U29uZGVydGVybWluZSAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFkbWluLXRhYiB2 +ZXJzdGVja3QiIGlkPSJhZG1pbi10YWItc29uZGVydGVybWluZSI+CiAgICAgICAgICAgICAgICAg +ICAgPGRpdiBjbGFzcz0iYWRtaW4ta29wZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5T +b25kZXJ0ZXJtaW5lICZhbXA7IEhpbndlaXNlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAg +PGJ1dHRvbiBpZD0iYnRuLXNvbmRlcnRlcm1pbi1uZXUiIGNsYXNzPSJidG4gYnRuLWVyZm9sZyI+ +TmV1ZXIgSGlud2VpczwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAg +ICAgICAgICAgICAgICA8ZGV0YWlscyBjbGFzcz0iYWRtaW4taW5mbyIgZGF0YS1pbmZvLWtleT0i +c29uZGVydGVybWluZSIgb3Blbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+PHNw +YW4gY2xhc3M9ImFkbWluLWluZm8tY2hldiI+4pa4PC9zcGFuPkhpbndlaXNlIHp1IFNvbmRlcnRl +cm1pbmVuPHNwYW4gY2xhc3M9ImFkbWluLWluZm8tYmFkZ2UiPkF1ZmtsYXBwZW4gLyBadWtsYXBw +ZW48L3NwYW4+PC9zdW1tYXJ5PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJh +ZG1pbi1pbmZvLWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5X +YXMgaXN0IGRhcz88L3N0cm9uZz4gU29uZGVydGVybWluZSBzaW5kIEhpbndlaXNlIG9kZXIgV2Fy +bnVuZ2VuLCBkaWUgYW4gZWluZW0gYmVzdGltbXRlbiBUYWcgKG9kZXIgWmVpdHJhdW0pIGbDvHIg +YWxsZSBOdXR6ZXIgc2ljaHRiYXIgd2VyZGVuIOKAlCB6LkIuIFZlcmFuc3RhbHR1bmdlbiwgZXJo +w7ZodGVyIFBlcnNvbmFsYmVkYXJmLCB3aWNodGlnZSBGcmlzdGVuLCBTcGVycnRlcm1pbmUsIEZl +aWVybiBvZGVyIEVyaW5uZXJ1bmdlbi48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 +cD48c3Ryb25nPldpZSBzZWhlbiBkaWUgTnV0emVyIGRhcz88L3N0cm9uZz48L3A+CiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +PGxpPjxiPkltIFBsYW51bmdzLUhlYWRlcjwvYj4gZXJzY2hlaW50IGluIGRlciBIaW53ZWlzLVpl +aWxlICh1bnRlciBkZW0gV29jaGVudGFnKSBkYXMgZ2V3w6RobHRlIEljb24gb2RlciBkZXIgRmFs +bGJhY2sgKDxjb2RlPuKEuTwvY29kZT4gZsO8ciBIaW53ZWlzLCA8Y29kZT4hISE8L2NvZGU+IGbD +vHIgV2FybnVuZykuIEhvdmVyIHplaWd0IGRlbiBUaXRlbCBhbHMgVG9vbHRpcC48L2xpPgogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5LbGljayBhdWYgZGllIFplbGxlPC9i +PiDDtmZmbmV0IGVpbiBBbnNpY2h0cy1Nb2RhbCBtaXQgSWNvbiwgVGl0ZWwsIGZvcm1hdGllcnRl +bSBUZXh0IHVuZCBEYXR1bS4gU3VwZXJVc2VyIGvDtm5uZW4gZGlyZWt0IGJlYXJiZWl0ZW4gb2Rl +ciBuZXVlIEhpbndlaXNlIGbDvHIgamVkZXMgRGF0dW0gYW5sZWdlbi48L2xpPgogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5CZWltIFBsYW5lbi9VbXBsYW5lbiBlaW5lciBT +Y2hpY2h0PC9iPiBhbiBlaW5lbSBUYWcgbWl0IEhpbndlaXMgZXJzY2hlaW50IOKAlCBqZSBuYWNo +IFdhcm5tb2R1cyDigJQgZWluIFdhcm4tTW9kYWwsIGRhcyB2b3IgZGVyIEVpbmdhYmUgYmVzdMOk +dGlndCB3ZXJkZW4gbXVzcy48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+RmVsZGVyIGltIERldGFpbDo8 +L3N0cm9uZz48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkRhdHVtIChWb24pPC9iPiDigJQgUGZsaWNodGZl +bGQuIFN0YXJ0IGRlcyBHw7xsdGlna2VpdHNiZXJlaWNocy48L2xpPgogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIDxsaT48Yj5EYXR1bSAoQmlzKTwvYj4g4oCUIG9wdGlvbmFsLiBMZWVy +IGxhc3NlbiA9IGdpbHQgbnVyIGbDvHIgZGVuIFN0YXJ0LVRhZy4gR2VzZXR6dCA9IFplaXRyYXVt +IChWb24gYmlzIEJpcyBpbmtsdXNpdmUpLiBKZWRlciBUYWcgaW0gWmVpdHJhdW0gemVpZ3QgZGVu +IEhpbndlaXMuPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+VGl0 +ZWw8L2I+IOKAlCBrdXJ6ZSBCZXplaWNobnVuZyAobWF4LiAxMDAgWmVpY2hlbiksIGVyc2NoZWlu +dCBpbSBUb29sdGlwIHVuZCBhbHMgw5xiZXJzY2hyaWZ0IGltIE1vZGFsLiBJc3Qga2VpbiBUaXRl +bCBnZXNldHp0LCB3aXJkIGRlciBBbmZhbmcgZGVzIFRleHRzIHZlcndlbmRldC48L2xpPgogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5UZXh0PC9iPiDigJQgYXVzZsO8aHJs +aWNoZXIgSW5oYWx0IG1pdCBtaW5pbWFsZW0gUmljaC1UZXh0LUVkaXRvci4gVW50ZXJzdMO8dHp0 +IDxiPmZldHQ8L2I+LCA8aT5rdXJzaXY8L2k+LCA8dT51bnRlcnN0cmljaGVuPC91PiwgQXVmesOk +aGx1bmdlbiAo4oCiIC8gMS4pIHVuZCBFbnRmZXJuZW4gZGVyIEZvcm1hdGllcnVuZy4gRWluZsO8 +Z2VuIGF1cyBhbmRlcmVuIFF1ZWxsZW4gKFdvcmQsIE1haWwpIGZ1bmt0aW9uaWVydCDigJQgRm9y +bWF0aWVydW5nIHdpcmQgYXVmIGRhcyBadWzDpHNzaWdlIGJlcmVpbmlndC48L2xpPgogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5JY29uPC9iPiDigJQgRW1vamkgYXVzIGRl +bSBQaWNrZXIgKDUgR3J1cHBlbikgb2RlciDigJ5rZWlucyIuIEVyc2V0enQgaW0gSGVhZGVyLUJh +ZGdlIGRhcyBnZW5lcmlzY2hlIFN5bWJvbC48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgIDxsaT48Yj5UeXA8L2I+IOKAlCA8aT5IaW53ZWlzPC9pPiAobmV1dHJhbCwgYmxhdSkg +b2RlciA8aT5XYXJudW5nPC9pPiAocm90LW9yYW5nZSwgZsO8ciB3aWNodGlnZSBUaGVtZW4pLjwv +bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPldhcm5tb2R1czwvYj4g +4oCUIHN0ZXVlcnQsIHdhbm4gZGFzIFdhcm4tTW9kYWwgYmVpbSBQbGFuZW4gZXJzY2hlaW50Ogog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+SW1tZXI8L2I+IOKAlCBiZWkgamVkZXIgUGxh +bnVuZyBpbSBaZWl0cmF1bSBlcnNjaGVpbnQgZGFzIE1vZGFsIGVybmV1dC48L2xpPgogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkVpbm1hbGlnIHBybyBVc2Vy +PC9iPiDigJQgZXJzY2hlaW50IG51ciBiZWltIGVyc3RlbiBLbGljayBwcm8gTnV0emVyIHVuZCBU +ZXJtaW4gKFNwZWljaGVydW5nIGxva2FsIGltIEJyb3dzZXIsIHBybyBUZXJtaW4tSUQpLjwvbGk+ +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+QXVzPC9iPiDi +gJQgbnVyIGFscyBIZWFkZXItSWNvbiBzaWNodGJhciwga2VpbiBNb2RhbCBiZWltIFBsYW5lbi48 +L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 +L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5UaXBwOjwvc3Ryb25n +PiBGw7xyIHdpZWRlcmtlaHJlbmRlIEdyb8OfdmVyYW5zdGFsdHVuZ2VuIGVpbmZhY2ggbWl0IFpl +aXRyYXVtIGFubGVnZW4gKHouQi4gS2FybmV2YWxzd29jaGUgTW9udGFn4oCTRnJlaXRhZykuIERl +ciBIaW53ZWlzIGVyc2NoZWludCBkYW5uIGF1ZiBhbGxlbiBUYWdlbjsgZGFzIFdhcm4tTW9kYWwg +ZXJzY2hlaW50IGltIE1vZHVzIOKAnkVpbm1hbGlnIiBudXIgZWlubWFsIHBybyBOdXR6ZXIgdW5k +IFRlcm1pbiwgbmljaHQgZsO8ciBqZWRlbiBUYWcgbmV1LjwvcD4KICAgICAgICAgICAgICAgICAg +ICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kZXRhaWxzPgoKICAgICAgICAgICAg +ICAgICAgICA8dGFibGUgY2xhc3M9ImFkbWluLXRhYmVsbGUiIGlkPSJzb25kZXJ0ZXJtaW5lLXRh +YmVsbGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+PHRyPjx0aCBzdHlsZT0id2lk +dGg6NTJweCI+SWNvbjwvdGg+PHRoIHN0eWxlPSJ3aWR0aDoxODBweCI+RGF0dW0gLyBaZWl0cmF1 +bTwvdGg+PHRoPlRpdGVsPC90aD48dGggc3R5bGU9IndpZHRoOjExMHB4Ij5UeXA8L3RoPjx0aCBz +dHlsZT0id2lkdGg6MTYwcHgiPldhcm5tb2R1czwvdGg+PHRoIHN0eWxlPSJ3aWR0aDoxNzBweCI+ +QWt0aW9uZW48L3RoPjwvdHI+PC90aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5 +IGlkPSJzb25kZXJ0ZXJtaW5lLXRib2R5Ij48L3Rib2R5PgogICAgICAgICAgICAgICAgICAgIDwv +dGFibGU+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8IS0tIFRhYjog +U2NoaWNodGNvZGVzICYgRmFyYmNvZGllcnVuZyAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xh +c3M9ImFkbWluLXRhYiB2ZXJzdGVja3QiIGlkPSJhZG1pbi10YWItc2NoaWNodGNvZGVzIj4KICAg +ICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi1rb3BmIj4KICAgICAgICAgICAgICAg +ICAgICAgICAgPGgyPlNjaGljaHRjb2RlcyAmYW1wOyBGYXJiY29kaWVydW5nPC9oMj4KICAgICAg +ICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLXNjaGljaHRjb2RlLW5ldSIgY2xhc3M9 +ImJ0biBidG4tZXJmb2xnIj5OZXVlciBTY2hpY2h0Y29kZTwvYnV0dG9uPgogICAgICAgICAgICAg +ICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkZXRhaWxzIGNsYXNzPSJhZG1pbi1p +bmZvIiBkYXRhLWluZm8ta2V5PSJzY2hpY2h0Y29kZXMiIG9wZW4+CiAgICAgICAgICAgICAgICAg +ICAgICAgIDxzdW1tYXJ5PjxzcGFuIGNsYXNzPSJhZG1pbi1pbmZvLWNoZXYiPuKWuDwvc3Bhbj5I +aW53ZWlzZSB6dSBTY2hpY2h0Y29kZXMgJmFtcDsgRmFyYmNvZGllcnVuZzxzcGFuIGNsYXNzPSJh +ZG1pbi1pbmZvLWJhZGdlIj5BdWZrbGFwcGVuIC8gWnVrbGFwcGVuPC9zcGFuPjwvc3VtbWFyeT4K +ICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRtaW4taW5mby1ib2R5Ij4KICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+V2FzIGlzdCBlaW4gU2NoaWNodGNv +ZGU/PC9zdHJvbmc+IEVpbiBTY2hpY2h0Y29kZSBpc3QgZWluIEvDvHJ6ZWwsIGRhcyBlaW5lbiBi +ZXN0aW1tdGVuIERpZW5zdCwgZWluZSBBYndlc2VuaGVpdCBvZGVyIGVpbmVuIGJlc29uZGVyZW4g +U3RhdHVzIGVpbmVzIE1pdGFyYmVpdGVycyBhbiBlaW5lbSBUYWcgYmVzY2hyZWlidC4gSmVkZXIg +Q29kZSBoYXQgZWluZSA8Yj5GYXJiY29kaWVydW5nPC9iPiAoSGludGVyZ3J1bmQgKyBTY2hyaWZ0 +ZmFyYmUpLCBkaWUgaW0gUGxhbnVuZ3NyYXN0ZXIgZGlyZWt0IGFibGVzYmFyIGlzdC48L3A+CiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48c3Ryb25nPlNwYWx0ZW4gaW4gZGVyIMOcYmVy +c2ljaHQ6PC9zdHJvbmc+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5GYXJiZmVsZDwvYj4g4oCUIFZvcnNj +aGF1IGRlciBoaW50ZXJsZWd0ZW4gSGludGVyZ3J1bmRmYXJiZS48L2xpPgogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIDxsaT48Yj5Db2RlPC9iPiDigJQgZGVyIHRlY2huaXNjaGUgU2No +bMO8c3NlbCBpbiBkZXIgRGF0ZW5oYWx0dW5nICh6LkIuIDxjb2RlPkYtREdMPC9jb2RlPiwgPGNv +ZGU+a3I8L2NvZGU+LCA8Y29kZT5Vcmw8L2NvZGU+KS48L2xpPgogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDxsaT48Yj5Lw7xyemVsPC9iPiDigJQgZGllIEt1cnpmb3JtLCBkaWUgaW0g +UGxhbnVuZ3NyYXN0ZXIgaW4gZGVyIFplbGxlIGFuZ2V6ZWlndCB3aXJkICh6LkIuIDxjb2RlPkY8 +L2NvZGU+LCA8Y29kZT5rcjwvY29kZT4pLiBLYW5uIG1pdCBkZW0gQ29kZSBpZGVudGlzY2ggc2Vp +bi48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5CZXplaWNobnVu +ZzwvYj4g4oCUIGRlciBMYW5nbmFtZSB6dXIgRXJsw6R1dGVydW5nICh6LkIuIOKAnkZyw7xoZGll +bnN0IERHTCIpLjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5HcnVwcGllcnVuZzo8L3N0cm9uZz4gTWl0 +IGRlbSBBdXN3YWhsbWVuw7wgb2JlbiBrYW5uc3QgZHUgendpc2NoZW4gdmVyc2NoaWVkZW5lbiBE +YXJzdGVsbHVuZ2VuIHdlY2hzZWxuOjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1 +bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+TmFjaCBTY2hpY2h0dHlw +PC9iPiAoU3RhbmRhcmQpIOKAlCDDvGJlcnNpY2h0bGljaCBncnVwcGllcnQgbmFjaCBGcsO8aC0v +U3DDpHQtL05hY2h0ZGllbnN0LCBGcmVpLCBVcmxhdWIsIEtyYW5raGVpdC9BdXNmYWxsLCBGb3J0 +YmlsZHVuZywgRGllbnN0ZS9FaW5zw6R0emUsIFNvbmRlcmZvcm1lbi4gRGllIFp1b3JkbnVuZyBl +cmZvbGd0IGF1dG9tYXRpc2NoIGFuaGFuZCBkZXMgQ29kZS1NdXN0ZXJzLjwvbGk+CiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkFscGhhYmV0aXNjaCAoQ29kZSk8L2I+IOKA +lCBhbGxlIENvZGVzIGluIGVpbmVyIExpc3RlIG5hY2ggS8O8cnplbCBzb3J0aWVydC48L2xpPgog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5BbHBoYWJldGlzY2ggKEJlemVp +Y2hudW5nKTwvYj4g4oCUIGFsbGUgQ29kZXMgbmFjaCBMYW5nbmFtZSBzb3J0aWVydCAoaGlsZnJl +aWNoIHdlbm4gbWFuIG51ciBkZW4gTmFtZW4gZXJpbm5lcnQsIG5pY2h0IGRhcyBLw7xyemVsKS48 +L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5LZWluZSBHcnVwcGll +cnVuZzwvYj4g4oCUIHVuc29ydGllcnRlIE9yaWdpbmFscmVpaGVuZm9sZ2Ugd2llIGluIGRlciBE +YXRlaS48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+UGZsZWdlIGltIFVJOjwvc3Ryb25nPiBNaXQgPGI+ +4oCeTmV1ZXIgU2NoaWNodGNvZGUiPC9iPiBsZWdzdCBkdSBlaW5lbiBuZXVlbiBDb2RlIGFuLiBB +dWYgamVkZSBLYXJ0ZSBrbGlja3N0IGR1IGRhcyA8Yj5CZWFyYmVpdGVuLVN5bWJvbCAo4pyOKTwv +Yj4sIHVtIEvDvHJ6ZWwsIEJlemVpY2hudW5nLCBIaW50ZXJncnVuZC0gdW5kIFNjaHJpZnRmYXJi +ZSB6dSDDpG5kZXJuLiBFaW5lIExpdmUtVm9yc2NoYXUgemVpZ3QgZGlyZWt0IGRhcyBFcmdlYm5p +cy4gR2Vsw7ZzY2h0IHdpcmQgw7xiZXIgZGVuIEzDtnNjaGVuLUJ1dHRvbiBpbSBFZGl0LURpYWxv +ZyDigJQgYmVzdGVoZW5kZSBFaW50csOkZ2UgaW4gZGVyIFBsYW51bmcgbWl0IGRpZXNlbSBDb2Rl +IGJsZWliZW4gZXJoYWx0ZW4sIHdlcmRlbiBhYmVyIG9obmUgRmFyYmUgZGFyZ2VzdGVsbHQuPC9w +PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5Db2RlIC8gdGVjaG5pc2No +ZXIgU2NobMO8c3NlbDo8L3N0cm9uZz4gRGVyIENvZGUgaXN0IGRlciBJZGVudGlmaWVyIGluIGRl +ciBEYXRlbmhhbHR1bmcgdW5kIG1pdCBhbGxlbiBQbGFudW5ncy1FaW50csOkZ2VuIHZlcmtuw7xw +ZnQuIEJlaW0gTmV1YW5sZWdlbiBmcmVpIHfDpGhsYmFyLCBiZWltIHNww6R0ZXJlbiBCZWFyYmVp +dGVuIHNjaHJlaWJnZXNjaMO8dHp0IOKAlCBlaW5lIMOEbmRlcnVuZyB3w7xyZGUgYWxsZSBiZXN0 +ZWhlbmRlbiBFaW50csOkZ2UgaW5rb25zaXN0ZW50IG1hY2hlbi4gV2VubiBkZXIgQ29kZSB1bWJl +bmFubnQgd2VyZGVuIG11c3M6IG5ldSBhbmxlZ2VuLCBhbHRlIEVpbnRyw6RnZSBtYW51ZWxsIMOk +bmRlcm4sIGFsdGVuIENvZGUgbMO2c2NoZW4uPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgPHA+PHN0cm9uZz5UaXBwOjwvc3Ryb25nPiBGYXJiZmFtaWxpZW4ga29uc2lzdGVudCBlaW5z +ZXR6ZW46IHJvdCA9IEZyw7xoZGllbnN0LCBibGF1ID0gU3DDpHRkaWVuc3QsIGdyw7xuID0gTmFj +aHRkaWVuc3QsIGdyYXUgPSBGcmVpL0hPLCByb3PDqSA9IEtyYW5raGVpdCwgbGlsYSA9IExlaHJn +YW5nLiBTbyBlcmtlbm50IGRhcyBBdWdlIG9obmUgTGVzZW4gZGllIFNjaGljaHQuPC9wPgogICAg +ICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2RldGFpbHM+ +CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic2NoaWNodGNvZGUtdm9yc2NoYXUiPjwvZGl2 +PgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPCEtLSBUYWI6IE1pa3Jv +dGVhbXMg4oCUIFBlcnNvbmVuLUdydXBwZW4gcHJvIFN0YW5kb3J0K0RpZW5zdGdydXBwZSAtLT4K +ICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFkbWluLXRhYiB2ZXJzdGVja3QiIGlkPSJhZG1p +bi10YWItbWlrcm90ZWFtcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRtaW4t +a29wZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5NaWtyb3RlYW1zPC9oMj4KICAgICAg +ICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGV0YWlscyBjbGFzcz0i +YWRtaW4taW5mbyIgZGF0YS1pbmZvLWtleT0ibWlrcm90ZWFtcyI+CiAgICAgICAgICAgICAgICAg +ICAgICAgIDxzdW1tYXJ5PjxzcGFuIGNsYXNzPSJhZG1pbi1pbmZvLWNoZXYiPuKWuDwvc3Bhbj5X +b3p1IE1pa3JvdGVhbXM/PHNwYW4gY2xhc3M9ImFkbWluLWluZm8tYmFkZ2UiPkF1ZmtsYXBwZW4g +LyBadWtsYXBwZW48L3NwYW4+PC9zdW1tYXJ5PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2 +IGNsYXNzPSJhZG1pbi1pbmZvLWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+ +PHN0cm9uZz5XYXMgc2luZCBNaWtyb3RlYW1zPzwvc3Ryb25nPiBFaW5lIE1pa3JvdGVhbS1EZWZp +bml0aW9uIGZhc3N0IGRpZSBQZXJzb25lbiB6dXNhbW1lbiwgZGllIGFuIGVpbmVtIFN0YW5kb3J0 +IGdlbWVpbnNhbSBlaW5lIERpZW5zdGdydXBwZSBiaWxkZW4gKHouQi4g4oCeS2FtZW4tQSIgPSBk +aWUgREdMLVZlcmFudHdvcnRsaWNoZW4gZGVyIEdydXBwZSBBIGFtIFN0YW5kb3J0IEthbWVuKS4g +RGllIFN0YXRpc3RpayAoSGVhdG1hcCArIFRhZ2VzLUFudGVpbGUgcHJvIFRlYW0pIHdlcnRldCBk +YW1pdCBhdXMsIHdpZSBvZnQgZGllIGVpbnplbG5lbiBUZWFtcyBnZW1laW5zYW0gaW0gRGllbnN0 +IHNpbmQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5QZmxlZ2U6 +PC9zdHJvbmc+IFBybyBFaW50cmFnIE5hbWUsIFN0YW5kb3J0LUvDvHJ6ZWwgKDIgQnVjaHN0YWJl +biBhdXMgZGVyIFN0YW5kb3J0ZS1MaXN0ZSwgei5CLiBLQS9IQS9CTyksIERpZW5zdGdydXBwZW4t +S8O8cnplbCAoQS9CL0MvV0QpIHVuZCBkaWUgenVnZXdpZXNlbmVuIFBlcnNvbmVuLiBSZWloZW5m +b2xnZSBpbiBkZXIgVGFiZWxsZSB3aXJrdCBzaWNoIGF1ZiBkaWUgU3RhdGlzdGlrLURhcnN0ZWxs +dW5nIGF1cy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48c3Ryb25nPkRlZmF1 +bHQtUmVpaGVuZm9sZ2UgbmFjaCBTdGFuZG9ydDo8L3N0cm9uZz4gSGF1cHR3YWNoZW4gb2JlbiAo +S0EsIEhBKSwgZGFubiBkaWUgYW5kZXJlbi4gRGllIElEIGlzdCB0ZWNobmlzY2ggdW5kIHNvbGx0 +ZSBzcHJlY2hlbmQgYmxlaWJlbiAoei5CLiA8Y29kZT50X0tBX0E8L2NvZGU+KS48L3A+CiAgICAg +ICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGV0YWlscz4K +CiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImFkbWluLXNla3Rpb24iIGlkPSJh +ZG1pbi1zZWt0aW9uLW1pa3JvdGVhbXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNs +YXNzPSJhZG1pbi1zZWt0aW9uLWtvcGYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgz +Pk1pa3JvdGVhbS1MaXN0ZTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9u +IGlkPSJidG4tbWlrcm90ZWFtLW5ldSIgY2xhc3M9ImJ0biBidG4tZXJmb2xnIj5OZXVlcyBNaWty +b3RlYW08L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAg +ICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iYWRtaW4tdGFiZWxsZSIgaWQ9Im1pa3JvdGVhbXMt +dGFiZWxsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICA8dGggc3R5bGU9IndpZHRoOjUwcHgiPlBvczwvdGg+CiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6MTMwcHgiPklEPC90aD4KICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk5hbWU8L3RoPgogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjkwcHgiIHRpdGxlPSJTdGFuZG9y +dC1Lw7xyemVsIGF1cyBkZXIgU3RhbmRvcnRlLUxpc3RlIChLQS9IQS9CTy8uLi4pIj5TdGFuZG9y +dDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lk +dGg6OTBweCIgdGl0bGU9IkRpZW5zdGdydXBwZW4tS8O8cnplbCAoQS9CL0MvV0QvLi4uKSI+R3J1 +cHBlPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3 +aWR0aDo5MHB4IiB0aXRsZT0iQW56YWhsIHp1Z2V3aWVzZW5lIFBlcnNvbmVuIj5QZXJzb25lbjwv +dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6 +MjAwcHgiPkFrdGlvbmVuPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Ry +PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgICAg +ICAgICAgICAgIDx0Ym9keSBpZD0ibWlrcm90ZWFtcy10Ym9keSI+PC90Ym9keT4KICAgICAgICAg +ICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBp +ZD0iYnRuLW1pa3JvdGVhbXMtc3BlaWNoZXJuIiBjbGFzcz0iYnRuIGJ0bi1wcmltYWVyIiBzdHls +ZT0ibWFyZ2luLXRvcDoxMnB4Ij5NaWtyb3RlYW1zIHNwZWljaGVybjwvYnV0dG9uPgogICAgICAg +ICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAg +ICAgICAgIDwhLS0gVGFiOiBTdGFuZG9ydGUgJiBTY2hpY2h0Zm9sZ2UgLS0+CiAgICAgICAgICAg +ICAgICA8ZGl2IGNsYXNzPSJhZG1pbi10YWIgdmVyc3RlY2t0IiBpZD0iYWRtaW4tdGFiLXN0YW5k +b3J0ZSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRtaW4ta29wZiI+CiAgICAg +ICAgICAgICAgICAgICAgICAgIDxoMj5TdGFuZG9ydGUgJmFtcDsgU2NoaWNodGZvbGdlPC9oMj4K +ICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLXN0YW5kb3J0LW5ldSIgY2xh +c3M9ImJ0biBidG4tZXJmb2xnIj5OZXVlciBTdGFuZG9ydDwvYnV0dG9uPgogICAgICAgICAgICAg +ICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkZXRhaWxzIGNsYXNzPSJhZG1pbi1p +bmZvIiBkYXRhLWluZm8ta2V5PSJzdGFuZG9ydGUiIG9wZW4+CiAgICAgICAgICAgICAgICAgICAg +ICAgIDxzdW1tYXJ5PjxzcGFuIGNsYXNzPSJhZG1pbi1pbmZvLWNoZXYiPuKWuDwvc3Bhbj5IaW53 +ZWlzZSB6dSBTdGFuZG9ydGVuICZhbXA7IFNjaGljaHRmb2xnZTxzcGFuIGNsYXNzPSJhZG1pbi1p +bmZvLWJhZGdlIj5BdWZrbGFwcGVuIC8gWnVrbGFwcGVuPC9zcGFuPjwvc3VtbWFyeT4KICAgICAg +ICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRtaW4taW5mby1ib2R5Ij4KICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+U3RhbmRvcnRlPC9zdHJvbmc+IHNpbmQgZGll +IEFyYmVpdHNvcnRlIGRlciBWSTMgKEFybnNiZXJnLCBCb2NodW0sIERvcnRtdW5kIOKApikuIEpl +ZGVyIFN0YW5kb3J0IGhhdCBlaW5lIGVpZ2VuZSBTY2hpY2h0cm90YXRpb24gZsO8ciBkaWUgRGll +bnN0Z3J1cHBlbiBBL0IvQywgZGllIGltIEhlYWRlciBkZXIgUGxhbnVuZyBhbHMg4oCeU2NoaWNo +dGZvbGdlIi1aZWlsZSBhbmdlemVpZ3Qgd2lyZCAoc29mZXJuIGRpZSBBbnplaWdlIGltIFRhYiA8 +Yj5GdW5rdGlvbmVuPC9iPiBha3RpdmllcnQgaXN0KS48L3A+CiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICA8cD48c3Ryb25nPlJvdGF0aW9ucy1NdXN0ZXI6PC9zdHJvbmc+PC9wPgogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +IDxsaT48Yj5BQkM8L2I+ID0gQS1GcsO8aCAvIEItU3DDpHQgLyBDLU5hY2h0PC9saT4KICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+QkNBPC9iPiA9IEItRnLDvGggLyBDLVNw +w6R0IC8gQS1OYWNodDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxi +PkNBQjwvYj4gPSBDLUZyw7xoIC8gQS1TcMOkdCAvIEItTmFjaHQ8L2xpPgogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIDxsaT48Yj5Qb29sPC9iPiA9IGluZGl2aWR1ZWxsZSBFaW50ZWls +dW5nLCBrZWluZSBmZXN0ZSBSb3RhdGlvbiAoZsO8ciBmbGV4aWJsZSBFaW5zYXR6cG9vbHMpPC9s +aT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICA8cD48c3Ryb25nPlJoeXRobXVzIHBmbGVnZW46PC9zdHJvbmc+IERlciBrb25rcmV0 +ZSBaeWtsdXMgKHouQi4gd8O2Y2hlbnRsaWNoIHdlY2hzZWxuZCBvZGVyIDMtVGFnZS1SaHl0aG11 +cykgd2lyZCDDvGJlciBkZW4gUmh5dGhtdXMtR2VuZXJhdG9yIHBybyBTdGFuZG9ydCBlaW5nZXN0 +ZWxsdC4gRGVyIEdlbmVyYXRvciBzY2hyZWlidCBmw7xyIGplZGVzIERhdHVtIGVpbmUgU2NoaWNo +dGZvbGdlIGluIGRpZSBKU09OIOKAlCBkaWUgQW56ZWlnZSBpbSBIZWFkZXIgemllaHQgZGFubiBm +w7xyIGplZGVuIFRhZyBkZW4gaGludGVybGVndGVuIFdlcnQuPC9wPgogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgPHA+PHN0cm9uZz5TcGFsdGVuOjwvc3Ryb25nPjwvcD4KICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+ +PGI+TmFtZTwvYj4g4oCUIHZvbGxlciBTdGFuZG9ydC1OYW1lICh6LkIuIOKAnkFybnNiZXJnIiku +PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+S8O8cnplbDwvYj4g +4oCUIEt1cnpmb3JtIGbDvHIgZGllIE9FLVp1b3JkbnVuZyBpbiBkZXIgUGVyc29uYWwtTGlzdGUg +KHouQi4g4oCeQVIiKS48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48 +Yj5Qb29sPC9iPiDigJQgQ2hlY2tib3g7IHNjaGFsdGV0IGRpZSBmZXN0ZSBSb3RhdGlvbiBhdXMu +PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+U2NoaWNodGZvbGdl +ICgxNCBUYWdlKTwvYj4g4oCUIFZvcnNjaGF1IGRlciBuw6RjaHN0ZW4gMTQgVGFnZSwgZmFyYmxp +Y2ggY29kaWVydC48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5B +a3Rpb25lbjwvYj4g4oCUIFJoeXRobXVzLUdlbmVyYXRvciDDtmZmbmVuIG9kZXIgU3RhbmRvcnQg +bMO2c2NoZW4uPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA8cD48c3Ryb25nPkhpbndlaXM6PC9zdHJvbmc+IERpZSBSZWlo +ZW5mb2xnZSBkZXIgU3RhbmRvcnRlIGluIGRlciBUYWJlbGxlIGJlc3RpbW10IGF1Y2ggZGllIFJl +aWhlbmZvbGdlIGRlciBaZWlsZW4gaW0gSGVhZGVyIChvYmVuID0gZXJzdGUgWmVpbGUpLjwvcD4K +ICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kZXRh +aWxzPgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iYWRtaW4tdGFiZWxsZSIgaWQ9 +InN0YW5kb3J0ZS10YWJlbGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPgogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIDx0aD5OYW1lPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5 +bGU9IndpZHRoOjYwcHgiPkvDvHJ6ZWw8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIDx0aCBzdHlsZT0id2lkdGg6NzBweCI+UG9vbDwvdGg+CiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgPHRoPlNjaGljaHRmb2xnZSAoZXJzdGUgMTQgVGFnZSBhYiBoZXV0ZSk8L3Ro +PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6MTYwcHgi +PkFrdGlvbmVuPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAg +ICAgICAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keSBp +ZD0ic3RhbmRvcnRlLXRib2R5Ij48L3Rib2R5PgogICAgICAgICAgICAgICAgICAgIDwvdGFibGU+ +CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLXN0YW5kb3J0ZS1zcGVpY2hlcm4i +IGNsYXNzPSJidG4gYnRuLXByaW1hZXIiIHN0eWxlPSJtYXJnaW4tdG9wOjE2cHgiPlN0YW5kb3J0 +ZSBzcGVpY2hlcm48L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAg +ICAgIDwhLS0gVGFiOiBFcnNjaGVpbnVuZ3NiaWxkIOKAlCBNYXJraWVydW5ncy1FZGl0b3IgbWl0 +IExpdmUtVm9yc2NoYXUgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi10YWIg +dmVyc3RlY2t0IiBpZD0iYWRtaW4tdGFiLWVyc2NoZWludW5nc2JpbGQiPgogICAgICAgICAgICAg +ICAgICAgIDxkaXYgY2xhc3M9ImFkbWluLWtvcGYiPgogICAgICAgICAgICAgICAgICAgICAgICA8 +aDI+RXJzY2hlaW51bmdzYmlsZDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxl +PSJtYXJnaW46NnB4IDAgMCAwO2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQp +Ij5WaXN1ZWxsZSBNYXJraWVydW5nZW4gaW0gUGxhbnRhZmVsLUtvcGYgdW5kIGJlaW0gTGl2ZS1T +eW5jIGluZGl2aWR1ZWxsIGFucGFzc2VuLiDDhG5kZXJ1bmdlbiBzaW5kIHNvZm9ydCBzaWNodGJh +cjsgc2llIHdlcmRlbiBlcnN0IGJlaW0gS2xpY2sgYXVmIOKAnlNwZWljaGVybiIgcGVyc2lzdGll +cnQuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxk +aXYgaWQ9ImVyc2NoZWludW5nc2JpbGQtaW5oYWx0Ij48L2Rpdj4KICAgICAgICAgICAgICAgIDwv +ZGl2PgoKICAgICAgICAgICAgICAgIDwhLS0gVGFiOiBTdGF0aXN0aWstTGF5b3V0IChTVS1vbmx5 +KSDigJQgUmVpaGVuZm9sZ2UvQnJlaXRlL1NpY2h0YmFya2VpdAogICAgICAgICAgICAgICAgICAg +ICBhbGxlciBTdGF0aXN0aWstS2FjaGVsbiBpbSB2aXN1ZWxsZW4gNi1TcGFsdGVuLVJhc3Rlci4g +LS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi10YWIgdmVyc3RlY2t0IiBpZD0i +YWRtaW4tdGFiLXN0YXRpc3Rpay1sYXlvdXQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xh +c3M9ImFkbWluLWtvcGYiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDI+U3RhdGlzdGlrLUxh +eW91dDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW46NnB4IDAg +MCAwO2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpIj5CcmVpdGUgKDE6MSB2 +b2xsIMK3IDE6MiBoYWxiIMK3IDE6MyBkcml0dGVsKSB1bmQgUmVpaGVuZm9sZ2UgZGVyIFN0YXRp +c3Rpay1LYWNoZWxuIGbDvHIgPHN0cm9uZz5hbGxlPC9zdHJvbmc+IGZlc3RsZWdlbi4gS2xpY2sg +YXVmIGVpbmUgS2FjaGVsIHdlY2hzZWx0IGRpZSBCcmVpdGUsIFppZWhlbiDDpG5kZXJ0IGRpZSBS +ZWloZW5mb2xnZSwgZGFzIEF1Z2Ugc2NoYWx0ZXQgc2llIHNpY2h0YmFyL3Vuc2ljaHRiYXIuIFNj +aHdlcmUgUGFuZWxzIChIZWF0bWFwcywgRGV0YWlsYW5hbHlzZSkgYmxlaWJlbiBhdWYgdm9sbGVy +IEJyZWl0ZS48L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAg +ICAgPGRpdiBpZD0ic3RhdGlzdGlrLWxheW91dC1pbmhhbHQiPjwvZGl2PgogICAgICAgICAgICAg +ICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPCEtLSBUYWI6IFN0YXRpc3Rpay1CdWlsZGVyIOKA +lCBtZWhyZGltZW5zaW9uYWxlciBOb0NvZGUtWnVzYW1tZW5iYXUKICAgICAgICAgICAgICAgICAg +ICAgZWlnZW5lciBBdXN3ZXJ0dW5nZW4gKEZpbHRlciAtPiBEaW1lbnNpb25lbiAtPiBLZW5uemFo +bCAtPgogICAgICAgICAgICAgICAgICAgICBEaWFncmFtbXR5cCkgbWl0IExpdmUtRmx1c3NkaWFn +cmFtbSwgVGVzdGVuLVZvcnNjaGF1IHVuZAogICAgICAgICAgICAgICAgICAgICBTcGVpY2hlcm4g +YWxzIEthY2hlbC4gLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi10YWIgdmVy +c3RlY2t0IiBpZD0iYWRtaW4tdGFiLXN0YXRpc3Rpay1idWlsZGVyIj4KICAgICAgICAgICAgICAg +ICAgICA8ZGl2IGNsYXNzPSJhZG1pbi1rb3BmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgy +PlN0YXRpc3Rpay1CdWlsZGVyPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9 +Im1hcmdpbjo2cHggMCAwIDA7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCki +PkVpZ2VuZSBBdXN3ZXJ0dW5nZW4genVzYW1tZW5rbGlja2VuOiBEYXRlbiBmaWx0ZXJuLCBEaW1l +bnNpb25lbiB3w6RobGVuLCBLZW5uemFobCArIERpYWdyYW1tdHlwIGJlc3RpbW1lbi4gRGFzIEZs +dXNzZGlhZ3JhbW0gemVpZ3QgZGllIExvZ2lrIGxpdmUsIOKAnlRlc3RlbiIgYmF1dCBkaWUgU3Rh +dGlzdGlrIHNvZm9ydC4g4oCeQWxzIEthY2hlbCBzcGVpY2hlcm4iIG1hY2h0IHNpZSBmw7xyIGFs +bGUgaW0gU3RhdGlzdGlrLVRhYiBzaWNodGJhciAoQW5vcmRudW5nIGltIFN0YXRpc3Rpay1MYXlv +dXQpLjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8 +ZGl2IGlkPSJzdGF0aXN0aWstYnVpbGRlci1pbmhhbHQiPjwvZGl2PgogICAgICAgICAgICAgICAg +PC9kaXY+CgogICAgICAgICAgICAgICAgPCEtLSBUYWI6IEtvbmZpZ3VyYXRpb24gKyBGdW5rdGlv +bmVuIChwZXIgU3ViLU5hdiB1bXNjaGFsdGJhcikgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNs +YXNzPSJhZG1pbi10YWIgdmVyc3RlY2t0IiBpZD0iYWRtaW4tdGFiLWVpbnN0ZWxsdW5nZW4iPgog +ICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFkbWluLWtvcGYiPgogICAgICAgICAgICAg +ICAgICAgICAgICA8aDI+S29uZmlndXJhdGlvbiAmYW1wOyBGdW5rdGlvbmVuPC9oMj4KICAgICAg +ICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0iYWRt +aW4tc3VibmF2IiBhcmlhLWxhYmVsPSJTeXN0ZW0tS29uZmlndXJhdGlvbi1TdWItTmF2aWdhdGlv +biI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0i +YWRtaW4tc3VibmF2LWJ0biBha3RpdiIgZGF0YS1zdWJ0YWI9ImVpbnN0ZWxsdW5nZW4iPkdsb2Jh +bGUgRWluc3RlbGx1bmdlbjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9u +IHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImFkbWluLXN1Ym5hdi1idG4iIGRhdGEtc3VidGFiPSJmZWF0 +dXJlcyI+RnVua3Rpb25lbiBlaW4tL2F1c2JsZW5kZW48L2J1dHRvbj4KICAgICAgICAgICAgICAg +ICAgICA8L25hdj4KCiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImFkbWluLXNl +a3Rpb24iIGlkPSJhZG1pbi1zZWt0aW9uLWVpbnN0ZWxsdW5nZW4iIGRhdGEtc3VidGFiLXNla3Rp +b249ImVpbnN0ZWxsdW5nZW4iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJh +ZG1pbi1zZWt0aW9uLWtvcGYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPkdsb2Jh +bGUgRWluc3RlbGx1bmdlbjwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAg +ICAgICAgICAgICAgICAgICAgICA8ZGV0YWlscyBjbGFzcz0iYWRtaW4taW5mbyIgZGF0YS1pbmZv +LWtleT0iZWluc3RlbGx1bmdlbiIgb3Blbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxz +dW1tYXJ5PjxzcGFuIGNsYXNzPSJhZG1pbi1pbmZvLWNoZXYiPuKWuDwvc3Bhbj5IaW53ZWlzZSB6 +dSBkZW4gZ2xvYmFsZW4gRWluc3RlbGx1bmdlbjxzcGFuIGNsYXNzPSJhZG1pbi1pbmZvLWJhZGdl +Ij5BdWZrbGFwcGVuIC8gWnVrbGFwcGVuPC9zcGFuPjwvc3VtbWFyeT4KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFkbWluLWluZm8tYm9keSI+CiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5QbGFudW5nc2phaHI6PC9zdHJvbmc+IERhcyBK +YWhyLCBmw7xyIGRhcyBkaWUgUGxhbnVuZyBha3R1ZWxsIGdlcGZsZWd0IHdpcmQuIEJlZWluZmx1 +c3N0IGRpZSBHZWJ1cnRzdGFnLUFuemVpZ2UgKHJlY2huZXQgQWx0ZXIgYmFzaWVyZW5kIGF1ZiBk +aWVzZW0gSmFocikgdW5kIGRpZSBWb3JzY2hsw6RnZSBiZWltIEFubGVnZW4gdm9uIEZlaWVydGFn +ZW4vRmVyaWVuLiBadW0gSmFocmVzd2VjaHNlbCBoaWVyIGFrdHVhbGlzaWVyZW4uPC9wPgogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+SW5mb3RleHQ6PC9zdHJvbmc+ +IEt1cnplciBIaW53ZWlzdGV4dCAoei5CLiDigJ5SZWloZW5mb2xnZSBhdWYgV3Vuc2NoIGRlciBG +w7xzdCBhbmdlcGFzc3QuIC9XaXQiKSwgZGVyIGltIEluZm9ybWF0aW9uc2ZlbnN0ZXIgb2JlbiBw +cm9taW5lbnQgZXJzY2hlaW50LiBHdXQgZ2VlaWduZXQgZsO8ciBrdXJ6ZSDigJ5CcmVha2luZyBO +ZXdzIiBhbiBkaWUgTnV0emVyLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 +cD48c3Ryb25nPlN1cHBvcnRpbmZvOjwvc3Ryb25nPiBBbnNwcmVjaHBhcnRuZXIgYmVpIGZhY2hs +aWNoZW4gb2RlciB0ZWNobmlzY2hlbiBGcmFnZW4uIEVyc2NoZWludCBpbSBJbmZvcm1hdGlvbnNm +ZW5zdGVyIGRhcnVudGVyLiBIaWVyIFRlbGVmb25udW1tZXJuLCBNYWlsYWRyZXNzZW4gdW5kIGRp +ZSBmYWNobGljaGUgVmVyYW50d29ydHVuZyBhbmdlYmVuLjwvcD4KICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICA8cD48c3Ryb25nPlNjaGxpZcOfaW5mbzo8L3N0cm9uZz4gSGlud2VpcyB6 +dW0gQXV0by1TaHV0ZG93bi1WZXJoYWx0ZW4sIGRlciBpbSBJbmZvcm1hdGlvbnNmZW5zdGVyIGFu +Z2V6ZWlndCB3aXJkLiBQbGF0emhhbHRlciA8Y29kZT57bWludXRlbn08L2NvZGU+IHdpcmQgYXV0 +b21hdGlzY2ggZXJzZXR6dC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+ +PHN0cm9uZz5TcGVpY2hlcm46PC9zdHJvbmc+IMOEbmRlcnVuZ2VuIHdlcmRlbiBudXIgZHVyY2gg +ZGVuIFNwZWljaGVybi1CdXR0b24gw7xiZXJub21tZW4uIEVpbiBSZWxvYWQgZGVyIFNlaXRlIGlz +dCBkYW5hY2ggbmljaHQgbsO2dGlnLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwv +ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2RldGFpbHM+CiAgICAgICAgICAgICAgICAg +ICAgICAgIDxkaXYgY2xhc3M9ImVpbnN0ZWxsdW5nZW4tZm9ybSI+CiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSI+CiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgPGxhYmVsIGZvcj0iZWlucy1qYWhyIj5QbGFudW5nc2phaHI8L2xhYmVsPgog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDtn +YXA6MTJweDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC13cmFwOndyYXAiPgogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBpZD0iZWlucy1qYWhy +IiBjbGFzcz0iZm9ybS1pbnB1dCIgbWluPSIyMDIwIiBtYXg9IjIwOTkiIHN0eWxlPSJ3aWR0aDox +MjBweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gaWQ9ImJ0 +bi1qYWhyZXN3ZWNoc2VsIiBjbGFzcz0iYnRuIGJ0bi1zZWsiIHR5cGU9ImJ1dHRvbiIgdGl0bGU9 +IldlY2hzZWx0IGRhcyBQbGFudW5nc2phaHIgYXVmIGRhcyBsaW5rcyBlaW5nZXN0ZWxsdGUgSmFo +ciDigJQgdm9yIG9kZXIgenVyw7xjay4gQmVzdMOkdGlndW5nICsgUmVsb2FkLCBrZWluIERhdGVu +dmVybHVzdC4iPkF1ZiBlaW5nZXN0ZWxsdGVzIEphaHIgd2VjaHNlbG48L2J1dHRvbj4KICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICA8c21hbGwgc3R5bGU9ImRpc3BsYXk6YmxvY2s7Y29sb3I6dmFyKC0tdGV4dC1tdXRl +ZCk7bWFyZ2luLXRvcDo2cHgiPkdld8O8bnNjaHRlcyBKYWhyIGxpbmtzIGVpbnN0ZWxsZW4gdW5k +IGF1ZiDigJ5BdWYgZWluZ2VzdGVsbHRlcyBKYWhyIHdlY2hzZWxuIiBrbGlja2VuIOKAlCBkaWUg +QW5zaWNodCBzcHJpbmd0IGF1ZiBkYXMgZ2V3w6RobHRlIEphaHIgKDxiPnZvciBvZGVyIHp1csO8 +Y2s8L2I+KSB1bmQgd2lyZCBuZXUgZ2VsYWRlbi4gRGFzIGJsb8OfZSDDhG5kZXJuIGRlcyBGZWxk +ZXMgc3BlaWNoZXJ0IG5vY2ggbmljaHRzOyBlcnN0IGRlciBCdXR0b24gd2VjaHNlbHQuIERpZSBQ +bGFudW5nc2Fuc2ljaHQgemVpZ3QgenVzw6R0emxpY2ggZGVuIEphbnVhciBkZXMgRm9sZ2VqYWhy +ZXMgYWxzIFZvcnBsYW51bmdzYmVyZWljaDsgYmVyZWl0cyBkb3J0IGdlcGxhbnRlIERpZW5zdGUg +YmxlaWJlbiB1bnRlciBpaHJlbSBEYXR1bSBlcmhhbHRlbi4gS2VpbiBEYXRlbnZlcmx1c3QuPC9z +bWFsbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncnVwcGUiPgogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDxsYWJlbCBmb3I9ImVpbnMtcGFwaWVya29yYi10YWdlIj5QYXBpZXJrb3Ji +LUF1ZmJld2FocnVuZyAoVGFnZSk8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIGlkPSJlaW5zLXBhcGllcmtvcmItdGFnZSIgY2xhc3M9 +ImZvcm0taW5wdXQiIG1pbj0iMCIgbWF4PSIzNjUiIHN0eWxlPSJ3aWR0aDoxMjBweCI+CiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIHN0eWxlPSJkaXNwbGF5OmJsb2NrO2Nv +bG9yOnZhcigtLXRleHQtbXV0ZWQpO21hcmdpbi10b3A6NHB4Ij5XaWUgdmllbGUgVGFnZSBzb2Z0 +LWdlbMO2c2NodGUgUGVyc29uZW4gaW0gUGFwaWVya29yYiB2ZXJibGVpYmVuLCBiZXZvciBzaWUg +YmVpbSBuw6RjaHN0ZW4gTMO2c2NoLVZvcmdhbmcgZW5kZ8O8bHRpZyBlbnRmZXJudCB3ZXJkZW4u +IDxjb2RlPjA8L2NvZGU+ID0gc29mb3J0IGJlaW0gbsOkY2hzdGVuIEzDtnNjaC1Wb3JnYW5nIGF1 +ZnLDpHVtZW4uPC9zbWFsbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncnVwcGUiPgogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9ImVpbnMtZW1haWwtZG9tYWluIj5F +LU1haWwgQXV0by1TdWZmaXggRG9tYWluPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImVpbnMtZW1haWwtZG9tYWluIiBjbGFzcz0i +Zm9ybS1pbnB1dCIgcGxhY2Vob2xkZXI9IkBwb2xpemVpLm5ydy5kZSIgc3R5bGU9IndpZHRoOjI0 +MHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgc3R5bGU9ImRpc3Bs +YXk6YmxvY2s7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWFyZ2luLXRvcDo0cHgiPkRpZXNlIERv +bWFpbiB3aXJkIGF1dG9tYXRpc2NoIGFuZ2Vow6RuZ3QsIHdlbm4gYmVpbSBCZWFyYmVpdGVuIGVp +bmVyIFBlcnNvbmVuLUUtTWFpbCBudXIgZGVyIGxva2FsZSBUZWlsIGVpbmdlZ2ViZW4gd2lyZCAo +ei4gQi4gPGVtPk11ZWxsZXI8L2VtPiDihpIgPGVtPk11ZWxsZXJAcG9saXplaS5ucncuZGU8L2Vt +PikuIFdpcmt0IG51ciwgd2VubiBkYXMgRmVhdHVyZSA8ZW0+4oCeRS1NYWlsOiBBdXRvLVN1ZmZp +eCI8L2VtPiBha3RpdiBpc3QuPC9zbWFsbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwv +ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncnVwcGUi +PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9ImVpbnMtYXZhdGFy +LWdyb2Vzc2UiPlByb2ZpbGJpbGQtWmllbGdyw7bDn2UgKFBpeGVsLCBxdWFkcmF0aXNjaCk8L2xh +YmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIi +IGlkPSJlaW5zLWF2YXRhci1ncm9lc3NlIiBjbGFzcz0iZm9ybS1pbnB1dCIgbWluPSIxMDAiIG1h +eD0iNjAwIiBzdGVwPSIyMCIgc3R5bGU9IndpZHRoOjEyMHB4Ij4KICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICA8c21hbGwgc3R5bGU9ImRpc3BsYXk6YmxvY2s7Y29sb3I6dmFyKC0tdGV4 +dC1tdXRlZCk7bWFyZ2luLXRvcDo0cHgiPkJlaW0gVXBsb2FkIHdpcmQgZGFzIGhvY2hnZWxhZGVu +ZSBCaWxkIGF1ZiBkaWVzZSBLYW50ZW5sw6RuZ2UgaGVydW50ZXJnZXJlY2huZXQgdW5kIGFscyBK +UEVHIGdlc3BlaWNoZXJ0LiBHcsO2w59lciA9IHNjaMOkcmZlciwgYWJlciBtZWhyIFNwZWljaGVy +IHBybyBCaWxkLiBTdGFuZGFyZDogPGNvZGU+MjAwPC9jb2RlPiAofjEw4oCTMjUmbmJzcDtLQiBw +cm8gRGF0ZWkpLiBXZXJ0ZSB6d2lzY2hlbiAxMDAgdW5kIDYwMCBlcmxhdWJ0Ljwvc21hbGw+CiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3J1cHBlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICA8bGFiZWwgZm9yPSJlaW5zLWVkaXRvci10cmlnZ2VyIj5TY2hpY2h0LUVkaXRvciDDtmZm +bmVuIG1pdDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBp +ZD0iZWlucy1lZGl0b3ItdHJpZ2dlciIgY2xhc3M9ImZvcm0taW5wdXQiIHN0eWxlPSJ3aWR0aDoy +NDBweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9 +InJlY2h0cyI+UmVjaHRza2xpY2sgKFN0YW5kYXJkKTwvb3B0aW9uPgogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJsaW5rcyI+TGlua3NrbGljazwvb3B0 +aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJt +aXR0ZSI+TWF1c3JhZC1LbGljayAoTWl0dGUpPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImRvcHBlbCI+RG9wcGVsa2xpY2s8L29wdGlv +bj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA8c21hbGwgc3R5bGU9ImRpc3BsYXk6YmxvY2s7Y29sb3I6dmFy +KC0tdGV4dC1tdXRlZCk7bWFyZ2luLXRvcDo0cHgiPkxlZ3QgZmVzdCwgd2VsY2hlIE1hdXMtQWt0 +aW9uIGluIGRlciBQbGFudGFmZWwgZGFzIERyb3Bkb3duIHp1ciBTY2hpY2h0YXVzd2FobCDDtmZm +bmV0LiBFaW4gZWluZmFjaGVyIDxzdHJvbmc+TGlua3NrbGljayBtYXJraWVydDwvc3Ryb25nPiBk +aWUgWmVsbGUgaW1tZXIgbnVyIChhdcOfZXIg4oCeTGlua3NrbGljayIgaXN0IGhpZXIgZ2V3w6Ro +bHQpLiBXaXJrdCBmw7xyIGFsbGUgTnV0emVyOyBncmVpZnQgbmFjaCBkZW0gbsOkY2hzdGVuIE5l +dWxhZGVuIGRlciBTZWl0ZS48L3NtYWxsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9k +aXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSIg +c3R5bGU9InBhZGRpbmc6MTJweCAxNHB4O2JhY2tncm91bmQ6dmFyKC0tYmctY2FyZCk7Ym9yZGVy +OjFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpO2JvcmRlci1yYWRpdXM6NnB4Ij4KICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPkluZm8tL1N1cHBvcnR0ZXh0ZSB1bmQg +QmVkaWVudW5ncy1IaW53ZWlzZTwvc3Ryb25nPiB3ZXJkZW4gaW0gVGFiIDxlbT7igJ5CZXNjaHJp +ZnR1bmdlbiAmYW1wOyBUZXh0ZSI8L2VtPiBnZXBmbGVndCAobWl0IEZvcm1hdGllcnVuZ3MtRWRp +dG9yKS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWVpbnN0ZWxsdW5nZW4tc3BlaWNoZXJuIiBjbGFz +cz0iYnRuIGJ0bi1wcmltYWVyIiBzdHlsZT0ibWFyZ2luLXRvcDoxMnB4Ij5FaW5zdGVsbHVuZ2Vu +IHNwZWljaGVybjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAg +ICAgICAgICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNs +YXNzPSJhZG1pbi1zZWt0aW9uIHZlcnN0ZWNrdCIgaWQ9ImFkbWluLXNla3Rpb24tZmVhdHVyZXMi +IGRhdGEtc3VidGFiLXNla3Rpb249ImZlYXR1cmVzIj4KICAgICAgICAgICAgICAgICAgICAgICAg +PGRpdiBjbGFzcz0iYWRtaW4tc2VrdGlvbi1rb3BmIj4KICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIDxoMz5GdW5rdGlvbmVuIGVpbi0vYXVzYmxlbmRlbjwvaDM+CiAgICAgICAgICAgICAgICAg +ICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGV0YWlscyBjbGFzcz0iYWRt +aW4taW5mbyIgZGF0YS1pbmZvLWtleT0iZmVhdHVyZXMiIG9wZW4+CiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICA8c3VtbWFyeT48c3BhbiBjbGFzcz0iYWRtaW4taW5mby1jaGV2Ij7ilrg8L3Nw +YW4+SGlud2Vpc2UgenUgZGVuIEZ1bmt0aW9uZW48c3BhbiBjbGFzcz0iYWRtaW4taW5mby1iYWRn +ZSI+QXVma2xhcHBlbiAvIFp1a2xhcHBlbjwvc3Bhbj48L3N1bW1hcnk+CiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi1pbmZvLWJvZHkiPgogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+WndlY2s6PC9zdHJvbmc+IEhpZXIga8O2bm5l +biBlaW56ZWxuZSwga29tcGxleGVyZSBGdW5rdGlvbmVuIGRlciBBbndlbmR1bmcgZWluLSBvZGVy +IGF1c2dlc2NoYWx0ZXQgd2VyZGVuLiBEYXMgaGlsZnQsIGRpZSBVSSBqZSBuYWNoIEFud2VuZHVu +Z3NiZWRhcmYgenUgZW50c2NobGFja2VuIOKAlCB3YXMgbmljaHQgZ2VicmF1Y2h0IHdpcmQsIHdp +cmQgYXVzZ2VibGVuZGV0LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48 +c3Ryb25nPlZlcmbDvGdiYXJlIFNjaGFsdGVyOjwvc3Ryb25nPjwvcD4KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +IDxsaT48Yj5TY2hpY2h0Zm9sZ2VuLUFuemVpZ2U8L2I+IOKAlCB6ZWlndCBpbSBIZWFkZXIgcHJv +IFN0YW5kb3J0IGRpZSBBQkMvQkNBL0NBQi1Sb3RhdGlvbi4gV2VyIGRpZSBSb3RhdGlvbiBuaWNo +dCBha3RpdiBwZmxlZ3QsIGthbm4gZGFzIGF1c2JsZW5kZW4uPC9saT4KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPlN0w6Rya2UtQW56ZWlnZTwvYj4g4oCUIEZ8U3xO +LUJlc2V0enVuZ3N6YWhsIHBybyBUYWcgaW0gSGVhZGVyLiBLZXJuLUZlYXR1cmUgZsO8ciBkaWUg +QmVzZXR6dW5nc3BsYW51bmcuPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgPGxpPjxiPlJ1aGV6ZWl0LVByw7xmdW5nPC9iPiDigJQgd2FybnQgYmVpICZsdDsgMTFoIFJ1 +aGV6ZWl0IHp3aXNjaGVuIHp3ZWkgU2NoaWNodGVuIGRlcnNlbGJlbiBQZXJzb24uIEF1cyBBcmJa +Ry1TaWNodCB3aWNodGlnLjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +IDxsaT48Yj5GcmVtZC3DhG5kZXJ1bmcgV2FybnVuZzwvYj4g4oCUIEJlc3TDpHRpZ3VuZywgd2Vu +biBtYW4gZGllIFNjaGljaHQgZWluZXIgYW5kZXJlbiBQZXJzb24gw6RuZGVydC4gU2Now7x0enQg +dm9yIHZlcnNlaGVudGxpY2hlbiDDhG5kZXJ1bmdlbi48L2xpPgogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICA8bGk+PGI+RmFpcm5lc3MtQW56ZWlnZTwvYj4g4oCUIHplaWd0IHBy +byBQZXJzb24gZGFzIFZlcmjDpGx0bmlzIHZvbiBXb2NoZW5lbmQtL0ZlaWVydGFnc2RpZW5zdGVu +IGluIGRlciBTdGF0aXN0aWstQXVzd2VydHVuZy48L2xpPgogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICA8bGk+PGI+TXVzdGVyLUFuYWx5c2U8L2I+IOKAlCBlcmtlbm50IEF1ZmbD +pGxsaWdrZWl0ZW4gKHouQi4gd2llZGVyaG9sdGUgRnLDvGgtbmFjaC1OYWNodC1Gb2xnZW4sIHVu +Z2xlaWNoZSBWZXJ0ZWlsdW5nKS48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICA8bGk+PGI+QWJ3ZXNlbmhlaXRzLUthY2hlbG48L2I+IOKAlCB6ZWlndCBwcm8gUGVyc29u +IGVpbmUga29tcGFrdGUgQWJ3ZXNlbmhlaXRzLcOcYmVyc2ljaHQgKEtyYW5rL1VybGF1Yi9MRy9B +WkEpLjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5EZXRh +aWwtVGFiZWxsZTwvYj4g4oCUIGF1c2tsYXBwYmFyZSBTdGF0aXN0aWstVGFiZWxsZSBtaXQgYWxs +ZW4gRWluemVsd2VydGVuLjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91 +bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48c3Ryb25nPlNvZm9ydC1XaXJr +dW5nOjwvc3Ryb25nPiDDhG5kZXJ1bmdlbiB3ZXJkZW4gc29mb3J0IGdlc3BlaWNoZXJ0IHVuZCBn +cmVpZmVuIGRpcmVrdCAob2huZSBTZWl0ZW4tUmVsb2FkKSDigJQgZGVyIGVudHNwcmVjaGVuZGUg +QmVyZWljaCBlcnNjaGVpbnQvdmVyc2Nod2luZGV0IHVtZ2VoZW5kLjwvcD4KICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2RldGFpbHM+ +CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImZlYXR1cmVzLWluaGFsdCI+PC9kaXY+ +CiAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgPC9kaXY+CgoK +CiAgICAgICAgICAgICAgICA8IS0tIFRhYjogQmFja3VwcyAtLT4KICAgICAgICAgICAgICAgIDxk +aXYgY2xhc3M9ImFkbWluLXRhYiB2ZXJzdGVja3QiIGlkPSJhZG1pbi10YWItYmFja3VwcyI+CiAg +ICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRtaW4ta29wZiI+CiAgICAgICAgICAgICAg +ICAgICAgICAgIDxoMj5CYWNrdXBzICZhbXA7IFdpZWRlcmhlcnN0ZWxsdW5nPC9oMj4KICAgICAg +ICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWJhY2t1cC1uZXUiIGNsYXNzPSJidG4g +YnRuLWVyZm9sZyI+TmV1ZXMgQmFja3VwIGpldHp0IGVyc3RlbGxlbjwvYnV0dG9uPgogICAgICAg +ICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkZXRhaWxzIGNsYXNzPSJh +ZG1pbi1pbmZvIiBkYXRhLWluZm8ta2V5PSJiYWNrdXBzIiBvcGVuPgogICAgICAgICAgICAgICAg +ICAgICAgICA8c3VtbWFyeT48c3BhbiBjbGFzcz0iYWRtaW4taW5mby1jaGV2Ij7ilrg8L3NwYW4+ +SGlud2Vpc2UgenUgQmFja3VwczxzcGFuIGNsYXNzPSJhZG1pbi1pbmZvLWJhZGdlIj5BdWZrbGFw +cGVuIC8gWnVrbGFwcGVuPC9zcGFuPjwvc3VtbWFyeT4KICAgICAgICAgICAgICAgICAgICAgICAg +PGRpdiBjbGFzcz0iYWRtaW4taW5mby1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAg +IDxwPjxzdHJvbmc+V2FzIGlzdCBpbiBlaW5lbSBCYWNrdXA/PC9zdHJvbmc+IEVpbmUgMToxLUtv +cGllIGRlciBEYXRlaSA8Y29kZT5wbGFudW5nLmpzb248L2NvZGU+IOKAlCBhbHNvIGFsbGUgU2No +aWNodC1FaW50csOkZ2UgdW5kIEtvbW1lbnRhcmUgenVtIFplaXRwdW5rdCBkZXMgQmFja3Vwcy4g +UGVyc29uZW5saXN0ZSwgRmVpZXJ0YWdlLCBGZXJpZW4gdW5kIGFuZGVyZSBBZG1pbi1Lb25maWd1 +cmF0aW9uIHNpbmQgPGVtPm5pY2h0PC9lbT4gVGVpbCBkZXMgQmFja3VwcyAoZGllIGxpZWdlbiBp +biA8Y29kZT5hZG1pbi5qc29uPC9jb2RlPikuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgPHA+PHN0cm9uZz5XYW5uIHdlcmRlbiBCYWNrdXBzIGVyc3RlbGx0Pzwvc3Ryb25nPjwvcD4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICA8bGk+PGI+TWFudWVsbDwvYj4g4oCUIEtsaWNrIGF1ZiDigJ5OZXVlcyBCYWNrdXAg +amV0enQgZXJzdGVsbGVuIiBvZGVyIGF1ZiBkYXMgQmFja3VwLVN5bWJvbCBpbiBkZXIgSGF1cHQt +VG9vbGJhci48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5Wb3Ig +RHVtbXlkYXRlbjwvYj4g4oCUIGF1dG9tYXRpc2NoIHZvciBkZW0gRWluc3BpZWxlbiB2b24gVGVz +dGRhdGVuLjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPlZvciBS +ZXNldDwvYj4g4oCUIGF1dG9tYXRpc2NoIHZvciBkZW0g4oCeUGxhbnVuZyB6dXLDvGNrc2V0emVu +Ii48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5Wb3IgV2llZGVy +aGVyc3RlbGx1bmc8L2I+IOKAlCBhdXRvbWF0aXNjaCBiZXZvciBlaW4gQmFja3VwIGVpbmdlc3Bp +ZWx0IHdpcmQgKFNpY2hlcmhlaXRza29waWUgZGVyIGFrdHVlbGxlbiBQbGFudW5nKS48L2xpPgog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIDxwPjxzdHJvbmc+U3BlaWNoZXJvcnQ6PC9zdHJvbmc+IDxjb2RlPlZJMy9kYXRhL3BsYW51 +bmdfYmFja3VwXyouanNvbjwvY29kZT4gKGJlaW0gV2luZG93cy1EZXBsb3ltZW50OiA8Y29kZT4l +TldfSE9NRSVcVkkzX0RHTF9TZXJ2ZXJcZGF0YVw8L2NvZGU+KS4gRGllIEJhY2t1cHMgbGllZ2Vu +IG51ciBsb2thbCBpbSBEYXRlbm9yZG5lciB1bmQgd2VyZGVuIG5pY2h0IGluIGdlbWVpbnNhbWVu +IEFibGFnZW4gbWl0Z2Vmw7xocnQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+ +PHN0cm9uZz5Ba3Rpb25lbiBwcm8gQmFja3VwOjwvc3Ryb25nPjwvcD4KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+ +V2llZGVyaGVyc3RlbGxlbjwvYj4g4oCUIGVyc2V0enQgZGllIGFrdHVlbGxlIFBsYW51bmcgZHVy +Y2ggZGFzIEJhY2t1cC4gVm9yaGVyIHdpcmQgZWluZSBTaWNoZXJoZWl0c2tvcGllIGRlciBqZXR6 +aWdlbiBQbGFudW5nIGVyc3RlbGx0ICg8Y29kZT5wbGFudW5nX2JhY2t1cF92b3Jfd2llZGVyaGVy +c3RlbGx1bmdf4oCmPC9jb2RlPiksIGZhbGxzIGR1IHZlcnNlaGVudGxpY2ggZGFzIGZhbHNjaGUg +QmFja3VwIGVpbmdlc3BpZWx0IGhhc3QuPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICA8bGk+PGI+SGVydW50ZXJsYWRlbjwvYj4g4oCUIGzDpGR0IGRpZSBKU09OLURhdGVpIGFs +cyBEb3dubG9hZC4gTsO8dHpsaWNoIGbDvHIgQXJjaGl2aWVydW5nIG9kZXIgV2VpdGVyZ2FiZS48 +L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5Mw7ZzY2hlbjwvYj4g +4oCUIGVudGZlcm50IGRpZSBCYWNrdXAtRGF0ZWkgcGVybWFuZW50LjwvbGk+CiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PHN0 +cm9uZz5XaWNodGlnIHZvciBkZW0gV2llZGVyaGVyc3RlbGxlbjo8L3N0cm9uZz4gQW0gYmVzdGVu +IHZvcmhlciBhbGxlIEJlYXJiZWl0ZXIgaW5mb3JtaWVyZW4uIEVpbmUgV2llZGVyaGVyc3RlbGx1 +bmcgw7xiZXJzY2hyZWlidCBkaWUgYWt0aXZlIFBsYW51bmcgc29mb3J0IOKAlCDDhG5kZXJ1bmdl +biwgZGllIG5hY2ggZGVtIFplaXRwdW5rdCBkZXMgQmFja3VwcyBnZW1hY2h0IHd1cmRlbiwgc2lu +ZCBkYW5uIGluIGRlciBTaWNoZXJoZWl0c2tvcGllIGFicnVmYmFyLCBhYmVyIG5pY2h0IG1laHIg +aW4gZGVyIGFrdGl2ZW4gUGxhbnVuZy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2 +PgogICAgICAgICAgICAgICAgICAgIDwvZGV0YWlscz4KICAgICAgICAgICAgICAgICAgICA8ZGl2 +IGlkPSJiYWNrdXAtbGlzdGUtZXJnZWJuaXMiIGNsYXNzPSJnZW4taW5mbyB2ZXJzdGVja3QiIHN0 +eWxlPSJtYXJnaW4tYm90dG9tOjEycHgiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDx0YWJs +ZSBjbGFzcz0iYWRtaW4tdGFiZWxsZSIgaWQ9ImJhY2t1cC10YWJlbGxlIj4KICAgICAgICAgICAg +ICAgICAgICAgICAgPHRoZWFkPjx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBz +dHlsZT0id2lkdGg6MTgwcHgiPkVyc3RlbGx0IGFtPC90aD4KICAgICAgICAgICAgICAgICAgICAg +ICAgICAgIDx0aCBzdHlsZT0id2lkdGg6MTMwcHgiPlR5cDwvdGg+CiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjIwMHB4Ij5JbmhhbHQ8L3RoPgogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgPHRoPkRhdGVpbmFtZTwvdGg+CiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICA8dGggc3R5bGU9IndpZHRoOjkwcHg7dGV4dC1hbGlnbjpyaWdodCI+R3LDtsOfZTwv +dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjMwMHB4Ij5B +a3Rpb25lbjwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+PC90aGVhZD4KICAgICAg +ICAgICAgICAgICAgICAgICAgPHRib2R5IGlkPSJiYWNrdXAtdGJvZHkiPjwvdGJvZHk+CiAgICAg +ICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAg +ICAgICAgIDwhLS0gVGFiOiBIaW53ZWlzZS1Qcm90b2tvbGwgKG51ciBTdXBlclVzZXIpIC0tPgog +ICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRtaW4tdGFiIHZlcnN0ZWNrdCIgaWQ9ImFkbWlu +LXRhYi1oaW53ZWlzZS1wcm90b2tvbGwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9 +ImFkbWluLWtvcGYiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDI+SGlud2Vpc2UtUHJvdG9r +b2xsPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImFkbWluLWtvcGYtc3Vi +Ij5BbGxlIGFrdGl2ZW4gSW4tQXBwLUhpbndlaXNlIG1pdCBFbXBmw6RuZ2VyLUxpc3RlIHVuZCBM +ZXNlLVN0YXR1cy4gTnVyIHNpY2h0YmFyIGbDvHIgU3VwZXJVc2VyLiDDhGx0ZXJlIEhpbndlaXNl +ICgmZ3Q7IDMwIFRhZ2UgVU5EIHZvbiBhbGxlbiBFbXBmw6RuZ2VybiBnZWxlc2VuKSB3ZXJkZW4g +YXV0b21hdGlzY2ggYXVzZ2Vyw6R1bXQuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2Pgog +ICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpbndlaXNlLXByb3Rva29sbC10b29sYmFy +Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlR5cDoKICAgICAgICAgICAgICAgICAg +ICAgICAgICAgIDxzZWxlY3QgaWQ9ImhwLWZpbHRlci10eXAiIGNsYXNzPSJmb3JtLWlucHV0IiBz +dHlsZT0id2lkdGg6MjAwcHgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRp +b24gdmFsdWU9IiI+4oCUIGFsbGUg4oCUPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iaWRlbnRpdGFldF9nZWFlbmRlcnQiPklkZW50aXTDpHQg +Z2XDpG5kZXJ0PC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlv +biB2YWx1ZT0icm9sbGVfZ2VhZW5kZXJ0Ij5Sb2xsZSBnZcOkbmRlcnQ8L29wdGlvbj4KICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJiYWNrdXBfd2llZGVyaGVy +Z2VzdGVsbHQiPkJhY2t1cCB3aWVkZXJoZXJnZXN0ZWxsdDwvb3B0aW9uPgogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InBsYW51bmdfcmVzZXQiPlBsYW51bmcg +enVyw7xja2dlc2V0enQ8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 +b3B0aW9uIHZhbHVlPSJrcmFua21lbGR1bmciPktyYW5rbWVsZHVuZzwvb3B0aW9uPgogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgIDwv +bGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5BYjogICAgPGlucHV0IHR5cGU9 +ImRhdGUiIGlkPSJocC1maWx0ZXItdm9uIiBjbGFzcz0iZm9ybS1pbnB1dCIgc3R5bGU9IndpZHRo +OjE0MHB4Ij48L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+QmlzOiAgIDxp +bnB1dCB0eXBlPSJkYXRlIiBpZD0iaHAtZmlsdGVyLWJpcyIgY2xhc3M9ImZvcm0taW5wdXQiIHN0 +eWxlPSJ3aWR0aDoxNDBweCI+PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRv +biB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXNlayBidG4ta2xlaW4iIGlkPSJocC1ha3R1 +YWxpc2llcmVuIj5Ba3R1YWxpc2llcmVuPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPC9k +aXY+CiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJhZG1pbi10YWJlbGxlIGhpbndl +aXNlLXByb3Rva29sbC10YWJlbGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPjx0 +cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6MTIwcHgiPldh +bm48L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDoxNTBw +eCI+VHlwPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6 +MTIwcHgiPkF1c2dlbMO2c3Qgdm9uPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0 +aD5Lb250ZXh0PC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lk +dGg6MzAwcHgiPkVtcGbDpG5nZXIgJmFtcDsgTGVzZXN0YXR1czwvdGg+CiAgICAgICAgICAgICAg +ICAgICAgICAgIDwvdHI+PC90aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5IGlk +PSJoaW53ZWlzZS1wcm90b2tvbGwtdGJvZHkiPjwvdGJvZHk+CiAgICAgICAgICAgICAgICAgICAg +PC90YWJsZT4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDwhLS0gVGFi +OiBJbXBvcnQgKEV4Y2VsKSAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFkbWluLXRh +YiB2ZXJzdGVja3QiIGlkPSJhZG1pbi10YWItaW1wb3J0Ij4KICAgICAgICAgICAgICAgICAgICA8 +ZGl2IGNsYXNzPSJhZG1pbi1rb3BmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgyPkV4Y2Vs +LUltcG9ydDwvaDI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAg +ICAgPGRldGFpbHMgY2xhc3M9ImFkbWluLWluZm8iIGRhdGEtaW5mby1rZXk9ImltcG9ydCIgb3Bl +bj4KICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+PHNwYW4gY2xhc3M9ImFkbWluLWlu +Zm8tY2hldiI+4pa4PC9zcGFuPkhpbndlaXNlIHp1bSBFeGNlbC1JbXBvcnQ8c3BhbiBjbGFzcz0i +YWRtaW4taW5mby1iYWRnZSI+QXVma2xhcHBlbiAvIFp1a2xhcHBlbjwvc3Bhbj48L3N1bW1hcnk+ +CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFkbWluLWluZm8tYm9keSI+CiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48c3Ryb25nPldhcyB3aXJkIGltcG9ydGllcnQ/ +PC9zdHJvbmc+IFNjaGljaHRlaW50csOkZ2UgdW5kIEtvbW1lbnRhcmUgYXVzIGVpbmVyIEV4Y2Vs +LURhdGVpIGltIEZvcm1hdCBkZXIgYmlzaGVyaWdlbiA8Y29kZT4yMDI2LVZJMy1ER0wtUGxhbnVu +Zy54bHNtPC9jb2RlPi4gRGllIERhdGVpIHdpcmQgaW0gQnJvd3NlciBnZWxlc2VuIOKAlCBlcyB3 +ZXJkZW4ga2VpbmUgRGF0ZW4gYW4gZWluZW4gZXh0ZXJuZW4gU2VydmVyIGdlc2VuZGV0LjwvcD4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+RXJ3YXJ0ZXRlcyBTaGVldC1M +YXlvdXQ6PC9zdHJvbmc+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5TaGVldCBtaXQgTmFtZW4gPGI+4oCeUGxh +bnVuZyI8L2I+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+RGF0dW1z +LVNwYWx0ZW4gYWIgU3BhbHRlIDxiPko8L2I+IChFeGNlbC1TZXJpYWwtRGF0ZXMgaW4gWmVpbGUg +MSk8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5QZXJzb25lbi1aZWls +ZW4gYWIgWmVpbGUgPGI+MjE8L2I+LCA8Yj5OYWNobmFtZSBpbiBTcGFsdGUgQzwvYj48L2xpPgog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5aZWxsd2VydGUgPSBTY2hpY2h0Y29k +ZXMgKDxjb2RlPkYtREdMPC9jb2RlPiwgPGNvZGU+VXJsPC9jb2RlPiwg4oCmKTwvbGk+CiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlplbGwtS29tbWVudGFyZSAoRXhjZWwtS29t +bWVudGFyZSkgd2VyZGVuIGFscyBLb21tZW50YXIgw7xiZXJub21tZW48L2xpPgogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxz +dHJvbmc+QWJnbGVpY2g6PC9zdHJvbmc+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg +PHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5QZXJzb25lbjwvYj4g +d2VyZGVuIMO8YmVyIGRlbiA8Yj5OYWNobmFtZW48L2I+IGdlbWF0Y2h0LiBVbmJla2FubnRlIFBl +cnNvbmVuIG9kZXIgTmFtZW4gbWl0IG1laHJlcmVuIFRyZWZmZXJuIG3DvHNzZW4gbWFudWVsbCB6 +dWdlb3JkbmV0IG9kZXIgaWdub3JpZXJ0IHdlcmRlbi48L2xpPgogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDxsaT48Yj5TY2hpY2h0Y29kZXM8L2I+IHdlcmRlbiBnZWdlbiBkaWUgYWt0 +aXZlbiBDb2RlcyBhYmdlZ2xpY2hlbi4gQmVrYW5udGUgPGNvZGU+aW1wb3J0QWxpYXNlPC9jb2Rl +PiAoei5CLiA8Y29kZT5GV0RGPC9jb2RlPiDihpIgPGNvZGU+Ri1XREY8L2NvZGU+KSB3ZXJkZW4g +YXV0b21hdGlzY2ggZXJzZXR6dC4gVW5iZWthbm50ZSBDb2RlcyB6ZWlndCBkZXIgRGlhbG9nIG1p +dCBlaW5lbSBEcm9wZG93biB6dW0gTWFwcGluZyBvZGVyIOKAnmlnbm9yaWVyZW4iLjwvbGk+CiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgPHA+PHN0cm9uZz5Nb2R1czo8L3N0cm9uZz4gRGVyIEltcG9ydCBlcnNldHp0IDxiPmFsbGU8 +L2I+IEVpbnRyw6RnZSB1bmQgS29tbWVudGFyZSBpbSBnZXfDpGhsdGVuIFplaXRyYXVtIGtvbXBs +ZXR0LiBWb3IgZGVtIFNjaHJlaWJlbiB3aXJkIGF1dG9tYXRpc2NoIGVpbiBCYWNrdXAgZGVyIDxj +b2RlPnBsYW51bmcuanNvbjwvY29kZT4gZXJzdGVsbHQuPC9wPgogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgPHA+PHN0cm9uZz5BYmxhdWY6PC9zdHJvbmc+IDxlbT5EYXRlaSBhdXN3w6RobGVu +IOKGkiBBbmFseXNlIGzDpHVmdCDihpIgTWFwcGluZy1EaWFsb2cg4oaSIEltcG9ydCBzdGFydGVu +LjwvZW0+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAg +ICAgICA8L2RldGFpbHM+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW1wLXVwbG9h +ZC1ib3giPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJpbXAtZGF0ZWkiIGNs +YXNzPSJidG4gYnRuLXByaW1hZXIiIHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jayI+CiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iZmlsZSIgaWQ9ImltcC1kYXRlaSIg +YWNjZXB0PSIueGxzeCwueGxzbSwueGxzIiBzdHlsZT0iZGlzcGxheTpub25lIj4KICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIEV4Y2VsLURhdGVpIHfDpGhsZW4KICAgICAgICAgICAgICAgICAg +ICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9ImltcC1kYXRl +aS1uYW1lIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MTJweDtmb250LXNpemU6MTNweDtjb2xvcjp2YXIo +LS10ZXh0LW11dGVkKSI+4oCUIG5vY2gga2VpbmUgRGF0ZWkgZ2V3w6RobHQg4oCUPC9zcGFuPgog +ICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImhpbGZl +LWljb24iIGFyaWEtbGFiZWw9IkhpbGZlIEV4Y2VsLUZvcm1hdCBhbnplaWdlbiIgdGl0bGU9IkVy +d2FydGV0IGRpZSBWSTMtREdMLUV4Y2VsLVZvcmxhZ2UiIGRhdGEtaGlsZmU9IkVyd2FydGV0IGRp +ZSBWSTMtREdMLUV4Y2VsLVZvcmxhZ2U6IFBlcnNvbmVuIGFiIFplaWxlIDIxIChOYWNobmFtZSBp +biBTcGFsdGUgQyksIERhdHVtc2FuZ2FiZW4gaW4gWmVpbGUgMSAoYWIgU3BhbHRlIEopLiBTcHJl +Y2hibGFzZW4tS29tbWVudGFyZSB3ZXJkZW4gYWxzIFRhZy1Lb21tZW50YXJlIHVlYmVybm9tbWVu +LiBGb3JtYXQgLnhsc3gvLnhsc20vLnhscy4iPj88L2J1dHRvbj4KICAgICAgICAgICAgICAgICAg +ICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpbXAtc3RhdHVzIiBzdHlsZT0i +bWFyZ2luLXRvcDoyMHB4Ij48L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAg +ICAgICAgIDwhLS0gVGFiOiBFeHBvcnQgKEV4Y2VsL0NTVikgLS0+CiAgICAgICAgICAgICAgICA8 +ZGl2IGNsYXNzPSJhZG1pbi10YWIgdmVyc3RlY2t0IiBpZD0iYWRtaW4tdGFiLWV4cG9ydCI+CiAg +ICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRtaW4ta29wZiI+CiAgICAgICAgICAgICAg +ICAgICAgICAgIDxoMj5FeGNlbC1FeHBvcnQ8L2gyPgogICAgICAgICAgICAgICAgICAgIDwvZGl2 +PgogICAgICAgICAgICAgICAgICAgIDxkZXRhaWxzIGNsYXNzPSJhZG1pbi1pbmZvIiBkYXRhLWlu +Zm8ta2V5PSJleHBvcnQiIG9wZW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5Pjxz +cGFuIGNsYXNzPSJhZG1pbi1pbmZvLWNoZXYiPuKWuDwvc3Bhbj5IaW53ZWlzZSB6dW0gRXhwb3J0 +PHNwYW4gY2xhc3M9ImFkbWluLWluZm8tYmFkZ2UiPkF1ZmtsYXBwZW4gLyBadWtsYXBwZW48L3Nw +YW4+PC9zdW1tYXJ5PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi1p +bmZvLWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5XYXMgd2ly +ZCBleHBvcnRpZXJ0Pzwvc3Ryb25nPiBQcm8gUGVyc29uIHVuZCBUYWcgbWl0IEVpbnRyYWcgZWlu +ZSBaZWlsZSBtaXQgPGI+TmFtZSwgRGllbnN0Z3J1cHBlLCBEYXR1bSwgTW9uYXQsIFRhZywgV29j +aGVudGFnLCBLVywgU2NoaWNodDwvYj4gKENvZGUpIHVuZCA8Yj5TY2hpY2h0LUtsYXJ0ZXh0PC9i +Pi4gRXMgd2VyZGVuIG51ciBUYWdlIG1pdCBoaW50ZXJsZWd0ZXIgU2NoaWNodCBhdXNnZWdlYmVu +LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+SW5mb2JveCB1bnRl +cmhhbGI6PC9zdHJvbmc+IE9wdGlvbmFsIGZvbGd0IHVudGVyIGRlciBUYWJlbGxlIGVpbiB6d2Vp +dGVyIEJsb2NrIOKAnkhpbndlaXNlIHp1IFRhZ2VuIG1pdCBCZXNvbmRlcmhlaXRlbiIg4oCUIGRp +ZSBpbSBQbGFuLUhlYWRlciBlcmthbm50ZW4gPGI+RmVpZXJ0YWdlLCBGZXJpZW4gdW5kIFNvbmRl +cnRlcm1pbmU8L2I+IGRlcyBleHBvcnRpZXJ0ZW4gWmVpdHJhdW1zIChEYXR1bSwgVHlwLCBCZXpl +aWNobnVuZywgQmVzY2hyZWlidW5nKS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 +cD48c3Ryb25nPlVtZmFuZzo8L3N0cm9uZz4gR2FuemVzIFBsYW51bmdzamFociwgZWluemVsbmUv +bWVocmVyZSBLYWxlbmRlcndvY2hlbiAodm9u4oCTYmlzKSBvZGVyIGVpbiBmcmVpZXIgRGF0dW1z +YmVyZWljaC4gPHN0cm9uZz5QZXJzb25lbmtyZWlzOjwvc3Ryb25nPiBhbGxlLCBiZXN0aW1tdGUg +RGllbnN0Z3J1cHBlbiBvZGVyIGVpbnplbG5lIFBlcnNvbmVuICg9IGluZGl2aWR1ZWxsZXIgRXhw +b3J0KS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48c3Ryb25nPkZvcm1hdDo8 +L3N0cm9uZz4gRm9ybWF0aWVydGVzIDxiPlhMU1g8L2I+IChwYXNzZW5kZSBTcGFsdGVuYnJlaXRl +biwgVGl0ZWx6ZWlsZSwgQXV0by1GaWx0ZXIgw7xiZXIgZGVyIFRhYmVsbGUpIG9kZXIgPGI+Q1NW +PC9iPiAoVVRGLTggbWl0IEJPTSwgU2VtaWtvbG9uLWdldHJlbm50IOKAlCBkaXJla3QgaW4gRXhj +ZWwtREUgbGVzYmFyKS4gQWxsZXMgbMOkdWZ0IGltIEJyb3dzZXI7IGVzIHdlcmRlbiBrZWluZSBE +YXRlbiBhbiBlaW5lbiBleHRlcm5lbiBTZXJ2ZXIgZ2VzZW5kZXQuPC9wPgogICAgICAgICAgICAg +ICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2RldGFpbHM+CiAgICAgICAg +ICAgICAgICAgICAgPGRpdiBpZD0iZXhwb3J0LWluaGFsdCI+PC9kaXY+CiAgICAgICAgICAgICAg +ICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8IS0tIFRhYjogVGVzdGRhdGVuIC0tPgogICAgICAg +ICAgICAgICAgPGRpdiBjbGFzcz0iYWRtaW4tdGFiIHZlcnN0ZWNrdCIgaWQ9ImFkbWluLXRhYi10 +ZXN0ZGF0ZW4iPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFkbWluLWtvcGYiPgog +ICAgICAgICAgICAgICAgICAgICAgICA8aDI+VGVzdGRhdGVuIC8gRHVtbXlkYXRlbjwvaDI+CiAg +ICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRldGFpbHMgY2xh +c3M9ImFkbWluLWluZm8iIGRhdGEtaW5mby1rZXk9InRlc3RkYXRlbiIgb3Blbj4KICAgICAgICAg +ICAgICAgICAgICAgICAgPHN1bW1hcnk+PHNwYW4gY2xhc3M9ImFkbWluLWluZm8tY2hldiI+4pa4 +PC9zcGFuPkhpbndlaXNlIHp1IFRlc3RkYXRlbiAvIFJlc2V0PHNwYW4gY2xhc3M9ImFkbWluLWlu +Zm8tYmFkZ2UiPkF1ZmtsYXBwZW4gLyBadWtsYXBwZW48L3NwYW4+PC9zdW1tYXJ5PgogICAgICAg +ICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi1pbmZvLWJvZHkiPgogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5Xb2bDvHI/PC9zdHJvbmc+IERpZXNlIEZ1bmt0 +aW9uZW4gc2luZCBhdXNzY2hsaWXDn2xpY2ggZsO8ciBUZXN0LSwgRGVtby0gdW5kIEVpbmFyYmVp +dHVuZ3N6d2Vja2UgZ2VkYWNodC4gQmVpZGUgZXJzdGVsbGVuIDxiPmF1dG9tYXRpc2NoIGVpbiBC +YWNrdXA8L2I+IGRlciBha3R1ZWxsZW4gUGxhbnVuZywgYmV2b3Igc2llIGF1c2dlZsO8aHJ0IHdl +cmRlbiDigJQgZGllIEJhY2t1cHMgbGllZ2VuIGluIDxjb2RlPlZJMy9kYXRhL3BsYW51bmdfYmFj +a3VwX3Zvcl8qLmpzb248L2NvZGU+LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxw +PjxzdHJvbmc+RHVtbXlkYXRlbiBlaW5zcGllbGVuOjwvc3Ryb25nPiBGw7xsbHQgZGVuIFplaXRy +YXVtIChha3R1ZWxsIEphbnVhciBiaXMgQXByaWwgMjAyNikgbWl0IHJlYWxpc3Rpc2NoZW4gU2No +aWNodHBsw6RuZW4sIFVybGF1YiwgS3JhbmtoZWl0LCBMZWhyZ8OkbmdlbiwgRWluc2F0enRyYWlu +aW5nIHVuZCBBWi1BdXNnbGVpY2guIERpZSBHcnVwcGVuIEEvQi9DIHJvdGllcmVuIHfDtmNoZW50 +bGljaCBkdXJjaCBGcsO8aC0vU3DDpHQtL05hY2h0ZGllbnN0LiBQZXJzb25lbmxpc3RlLCBHcnVw +cGVuYmV6ZWljaG51bmdlbiB1bmQgRWluc3RlbGx1bmdlbiBibGVpYmVuIHVudmVyw6RuZGVydC48 +L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48c3Ryb25nPlBsYW51bmcgenVyw7xj +a3NldHplbjo8L3N0cm9uZz4gTMO2c2NodCA8Yj5hbGxlPC9iPiBTY2hpY2h0LUVpbnRyw6RnZSB1 +bmQgS29tbWVudGFyZS4gRGllIFBlcnNvbmVubGlzdGUsIEdydXBwZW4sIEZlaWVydGFnZSB1bmQg +YWxsZSBhbmRlcmVuIEVpbnN0ZWxsdW5nZW4gYmxlaWJlbiBlcmhhbHRlbi4gQmFja3VwIHdpcmQg +dm9yaGVyIGVyc3RlbGx0LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxzdHJv +bmc+V2llZGVyaGVyc3RlbGx1bmc6PC9zdHJvbmc+IEF1cyBCYWNrdXAtRGF0ZWllbiBrYW5uIGFr +dHVlbGwgbnVyIHBlciBEYXRlaW1hbmlwdWxhdGlvbiAoPGNvZGU+cGxhbnVuZ19iYWNrdXBfLi4u +PC9jb2RlPiB1bWJlbmVubmVuIHp1IDxjb2RlPnBsYW51bmcuanNvbjwvY29kZT4pIHdpZWRlcmhl +cmdlc3RlbGx0IHdlcmRlbi4gQmFja3VwcyB3ZXJkZW4gbnVyIGltIERhdGVub3JkbmVyIGxva2Fs +IGdlaGFsdGVuLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+Vm9y +c2ljaHQgaW0gUHJvZHVrdGl2YmV0cmllYjo8L3N0cm9uZz4gSW0gbGF1ZmVuZGVuIFBsYW51bmdz +YmV0cmllYiBkaWVzZSBCdXR0b25zIG51ciBtaXQgQWJzcHJhY2hlIG51dHplbiEgQXVjaCB3ZW5u +IEJhY2t1cHMgZXJzdGVsbHQgd2VyZGVuIOKAlCBiZWkgYWt0aXZlbiBCZWFyYmVpdGVybiBlbnRz +dGVoZW4gS29uZmxpa3RlLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAg +ICAgICAgICAgICAgICAgPC9kZXRhaWxzPgogICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9 +ImRpc3BsYXk6ZmxleDsgZ2FwOjE2cHg7IGZsZXgtd3JhcDp3cmFwOyBtYXJnaW4tdG9wOjE2cHgi +PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmbGV4OjE7IG1pbi13aWR0aDoy +ODBweDsgYm9yZGVyOjFweCBzb2xpZCB2YXIoLS1yYWhtZW4pOyBib3JkZXItcmFkaXVzOjhweDsg +cGFkZGluZzoyMHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0ibWFy +Z2luOjAgMCA4cHggMCI+RHVtbXlkYXRlbiBlaW5zcGllbGVuPC9oMz4KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjp2YXIoLS10ZXh0LWdlZGltbXQpOyBtYXJnaW46 +MCAwIDE2cHggMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRsO8bGx0IEphbnVh +ciBiaXMgQXByaWwgMjAyNiBtaXQgcmVhbGlzdGlzY2hlbiBTY2hpY2h0cGzDpG5lbiwgVXJsYXVi +LCBLcmFua2hlaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGVocmfDpG5nZW4s +IEVpbnNhdHp0cmFpbmluZyB1bmQgQVotQXVzZ2xlaWNoLiBHcnVwcGVuIEEvQi9DIHJvdGllcmVu +IHfDtmNoZW50bGljaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmNoIEZyw7xo +LS9TcMOkdC0vTmFjaHRkaWVuc3QuIERpZSBiZXN0ZWhlbmRlbiBQZXJzb25lbiB1bmQgQmV6ZWlj +aG51bmdlbiBibGVpYmVuIGVyaGFsdGVuLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9w +PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWR1bW15ZGF0ZW4i +IGNsYXNzPSJidG4gYnRuLXByaW1hZXIiPkR1bW15ZGF0ZW4gZWluc3BpZWxlbjwvYnV0dG9uPgog +ICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRp +diBzdHlsZT0iZmxleDoxOyBtaW4td2lkdGg6MjgwcHg7IGJvcmRlcjoxcHggc29saWQgdmFyKC0t +cmFobWVuKTsgYm9yZGVyLXJhZGl1czo4cHg7IHBhZGRpbmc6MjBweCI+CiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICA8aDMgc3R5bGU9Im1hcmdpbjowIDAgOHB4IDAiPlBsYW51bmcgenVyw7xj +a3NldHplbjwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT0iY29sb3I6 +dmFyKC0tdGV4dC1nZWRpbW10KTsgbWFyZ2luOjAgMCAxNnB4IDAiPgogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIEzDtnNjaHQgPHN0cm9uZz5hbGxlPC9zdHJvbmc+IEVpbnRyw6RnZSB1 +bmQgS29tbWVudGFyZS4gRGllIFBlcnNvbmVubGlzdGUsIEdydXBwZW4sCiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgRmVpZXJ0YWdlIHVuZCBhbGxlIGFuZGVyZW4gRWluc3RlbGx1bmdl +biBibGVpYmVuIGVyaGFsdGVuLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLXJlc2V0IiBjbGFzcz0iYnRu +IGJ0bi1nZWZhaHIiPlBsYW51bmcgenVyw7xja3NldHplbjwvYnV0dG9uPgogICAgICAgICAgICAg +ICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZmxl +eDoxOyBtaW4td2lkdGg6MjgwcHg7IGJvcmRlcjoxcHggc29saWQgdmFyKC0tcmFobWVuKTsgYm9y +ZGVyLXJhZGl1czo4cHg7IHBhZGRpbmc6MjBweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICA8aDMgc3R5bGU9Im1hcmdpbjowIDAgOHB4IDAiPlByb3Rva29sbCBsw7ZzY2hlbjwvaDM+CiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT0iY29sb3I6dmFyKC0tdGV4dC1nZWRp +bW10KTsgbWFyZ2luOjAgMCAxNnB4IDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +IExlZXJ0IGRhcyA8c3Ryb25nPkxvZ2J1Y2g8L3N0cm9uZz4gdW5kIGRpZSA8c3Ryb25nPkFQSS1M +b2ctRGF0ZWk8L3N0cm9uZz4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2lubnZv +bGwgdm9yIGRlbSBMaXZlLUdhbmcgb2RlciBuYWNoIFRlc3RzLCB1bSBEaWFnbm9zZS1TcHVyZW4g +enUgZW50ZmVybmVuLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVpbiBlaW56ZWxu +ZXIgTG9nYnVjaC1FaW50cmFnIDxjb2RlPnByb3Rva29sbC5nZWxvZXNjaHQ8L2NvZGU+IGJsZWli +dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVyaGFsdGVuLCBkYW1pdCBkYXMgRXJl +aWduaXMgc2VsYnN0IG5hY2h2b2xsemllaGJhciBibGVpYnQuCiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJidG4t +cHJvdG9rb2xsLWxvZXNjaGVuIiBjbGFzcz0iYnRuIGJ0bi1nZWZhaHIiPlByb3Rva29sbCBsw7Zz +Y2hlbjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAg +ICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ0ZXN0ZGF0ZW4tZXJn +ZWJuaXMiIGNsYXNzPSJ2ZXJzdGVja3QiIHN0eWxlPSJtYXJnaW4tdG9wOjE2cHgiPjwvZGl2Pgog +ICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPCEtLSBUYWI6IEJlc2Nocmlm +dHVuZ2VuICYgVGV4dGUgKE1lcmdlIOKAlCBCZXplaWNobnVuZ2VuICsgSW5mb3JtYXRpb24gJiBI +aWxmZSkgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi10YWIgdmVyc3RlY2t0 +IiBpZD0iYWRtaW4tdGFiLWJlemVpY2hudW5nZW4iPgogICAgICAgICAgICAgICAgICAgIDxkaXYg +Y2xhc3M9ImFkbWluLWtvcGYiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDI+QmVzY2hyaWZ0 +dW5nZW4gJmFtcDsgVGV4dGU8L2gyPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAg +ICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iYWRtaW4tc2VrdGlvbiIgaWQ9ImFkbWluLXNl +a3Rpb24tYmV6ZWljaG51bmdlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9 +ImFkbWluLXNla3Rpb24ta29wZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+VUkt +QmV6ZWljaG51bmdlbjwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAg +ICAgICAgICAgICAgICAgICA8ZGV0YWlscyBjbGFzcz0iYWRtaW4taW5mbyIgZGF0YS1pbmZvLWtl +eT0iYmV6ZWljaG51bmdlbiIgb3Blbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1t +YXJ5PjxzcGFuIGNsYXNzPSJhZG1pbi1pbmZvLWNoZXYiPuKWuDwvc3Bhbj5IaW53ZWlzZSB6dSBC +ZXplaWNobnVuZ2VuPHNwYW4gY2xhc3M9ImFkbWluLWluZm8tYmFkZ2UiPkF1ZmtsYXBwZW4gLyBa +dWtsYXBwZW48L3NwYW4+PC9zdW1tYXJ5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRp +diBjbGFzcz0iYWRtaW4taW5mby1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICA8cD48c3Ryb25nPldhcyBpc3QgZGFzPzwvc3Ryb25nPiBBbGxlIGhhcnQgaW0gQ29kZSBoaW50 +ZXJsZWd0ZW4gVUktTGFiZWxzIChUaXRlbCBkZXIgQXBwLCBOYW1lbiBkZXIgUmVpdGVyIGltIEhl +YWRlciwg4oCmKSBsYXNzZW4gc2ljaCBoaWVyIGluZGl2aWR1ZWxsIGJlbmVubmVuLiBOw7x0emxp +Y2gsIHdlbm4gaW50ZXJuIGFuZGVyZSBCZWdyaWZmZSDDvGJsaWNoIHNpbmQgb2RlciBlaW4gVGFi +IHVtYmVuYW5udCB3ZXJkZW4gc29sbC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgPHA+PHN0cm9uZz5GdW5rdGlvbjo8L3N0cm9uZz4gTGVlcmUgRmVsZGVyIGZhbGxlbiB6dXLD +vGNrIGF1ZiBkZW4gRGVmYXVsdC1XZXJ0LiA8ZW0+U3BlaWNoZXJuPC9lbT4gbGVndCBkaWUgV2Vy +dGUgaW4gPGNvZGU+YWRtaW4uanNvbi5iZXplaWNobnVuZ2VuPC9jb2RlPiBhYiDigJQgc2ljaHRi +YXIgd2lyZCBkaWUgw4RuZGVydW5nIG5hY2ggZWluZW0gU2VpdGVuLVJlbG9hZCAoRjUpIGbDvHIg +YWxsZSBOdXR6ZXIuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxzdHJv +bmc+WnVyw7xja3NldHplbjwvc3Ryb25nPiBsw7ZzY2h0IGFsbGUgaW5kaXZpZHVlbGxlbiBXZXJ0 +ZSB1bmQgc3RlbGx0IGRpZSBEZWZhdWx0cyB3aWVkZXIgaGVyLjwvcD4KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2RldGFpbHM+CiAg +ICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iYWRtaW4tdGFiZWxsZSIgaWQ9ImJl +emVpY2hudW5nZW4tdGFiZWxsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+ +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjE4MHB4Ij5TY2hsw7xzc2VsPC90aD4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDoyMjBw +eCI+RGVmYXVsdDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5F +aWdlbmUgQmV6ZWljaG51bmc8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwv +dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgPHRib2R5IGlkPSJiZXplaWNobnVuZ2VuLXRib2R5Ij48L3Rib2R5PgogICAg +ICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2 +IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjhweDttYXJnaW4tdG9wOjEycHgiPgogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWJlemVpY2hudW5nZW4tcmVzZXQiIGNs +YXNzPSJidG4gYnRuLXNlayIgdGl0bGU9IkFsbGUgV2VydGUgYXVmIGRlbiBEZWZhdWx0IHp1csO8 +Y2tzZXR6ZW4iPlp1csO8Y2tzZXR6ZW48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIDxidXR0b24gaWQ9ImJ0bi1iZXplaWNobnVuZ2VuLXNwZWljaGVybiIgY2xhc3M9ImJ0biBi +dG4tcHJpbWFlciI+QmV6ZWljaG51bmdlbiBzcGVpY2hlcm48L2J1dHRvbj4KICAgICAgICAgICAg +ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgoKICAgICAg +ICAgICAgICAgICAgICA8aHIgY2xhc3M9ImFkbWluLXNla3Rpb24tdHJlbm5lciI+CgogICAgICAg +ICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJhZG1pbi1zZWt0aW9uIiBpZD0iYWRtaW4tc2Vr +dGlvbi1pbmZvaGlsZmUiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1p +bi1zZWt0aW9uLWtvcGYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPkluZm9ybWF0 +aW9uICZhbXA7IEhpbGZlPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAg +ICAgICAgICAgICAgICAgICAgIDxkZXRhaWxzIGNsYXNzPSJhZG1pbi1pbmZvIiBkYXRhLWluZm8t +a2V5PSJpbmZvaGlsZmUiIG9wZW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFy +eT48c3BhbiBjbGFzcz0iYWRtaW4taW5mby1jaGV2Ij7ilrg8L3NwYW4+SGlud2Vpc2UgenUgSW5m +b3JtYXRpb24gJmFtcDsgSGlsZmU8c3BhbiBjbGFzcz0iYWRtaW4taW5mby1iYWRnZSI+QXVma2xh +cHBlbiAvIFp1a2xhcHBlbjwvc3Bhbj48L3N1bW1hcnk+CiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICA8ZGl2IGNsYXNzPSJhZG1pbi1pbmZvLWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgIDxwPjxzdHJvbmc+V2FzIHdpcmQgaGllciBnZXBmbGVndD88L3N0cm9uZz4gQWxs +ZSBUZXh0ZSwgZGllIGltIEluZm8tRmVuc3RlciBlcnNjaGVpbmVuIChLbGljayBhdWYg4oCeSW5m +byIgb2JlbiByZWNodHMgaW4gZGVyIEtvcGZsZWlzdGUpLiBEaWUgRWRpdG9yZW4gdW50ZXJzdMO8 +dHplbiBlaW5mYWNoZSBGb3JtYXRpZXJ1bmcgw7xiZXIgZGllIFRvb2xiYXI6IDxiPkZldHQ8L2I+ +LCA8ZW0+S3Vyc2l2PC9lbT4sIDx1PlVudGVyc3RyaWNoZW48L3U+LCBBdWZ6w6RobHVuZ2VuLCBF +aW5yw7xja2VuL0F1c3LDvGNrZW4uPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +IDxwPjxzdHJvbmc+UmVpaGVuZm9sZ2UgaW0gSW5mby1GZW5zdGVyOjwvc3Ryb25nPiBJbmZvdGV4 +dCDihpIgU3VwcG9ydC1JbmZvIOKGkiBTdXBlclVzZXItTGlzdGUg4oaSIEFsbGdlbWVpbmUgSGls +ZmUg4oaSIEJlZGllbnVuZ3MtSGlud2Vpc2Ug4oaSIFNjaGljaHRjb2RlLUxlZ2VuZGUgKGF1dG9t +YXRpc2NoIGdlbmVyaWVydCkuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxw +PjxzdHJvbmc+QmVkaWVudW5ncy1IaW53ZWlzZTo8L3N0cm9uZz4gSmVkZXIgTGlzdGVuZWludHJh +ZyB3aXJkIGFscyBlaWdlbmVyIEJ1bGxldCBnZXJlbmRlcnQuIEZvcm1hdCA8Y29kZT5UaXRlbDog +QmVzY2hyZWlidW5nPC9jb2RlPiAoZWluIERvcHBlbHB1bmt0IHp3aXNjaGVuIFRpdGVsIHVuZCBF +cmtsw6RydW5nKSBsw6Rzc3QgZGVuIFRpdGVsIGF1dG9tYXRpc2NoIGZldHQgd2VyZGVuLjwvcD4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48c3Ryb25nPlNjaGxpZcOfLUluZm86 +PC9zdHJvbmc+IFdpcmQgaW0gSW5mby1GZW5zdGVyIDxiPm5pY2h0PC9iPiBhbmdlemVpZ3QsIHNv +bmRlcm4gYmVpbSBhdXRvbWF0aXNjaGVuIFNlcnZlci1TdG9wIG5hY2ggSW5ha3Rpdml0w6R0LiBQ +bGF0emhhbHRlciA8Y29kZT57bWludXRlbn08L2NvZGU+IHdpcmQgZHVyY2ggZGllIGtvbmZpZ3Vy +aWVydGUgU2NobGllw596ZWl0IGVyc2V0enQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGV0YWlscz4KCiAgICAgICAgICAg +ICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtn +YXA6MThweDttYXgtd2lkdGg6OTAwcHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pgog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIHN0eWxlPSJkaXNwbGF5OmJsb2NrO2Zv +bnQtd2VpZ2h0OjYwMDttYXJnaW4tYm90dG9tOjZweCI+SW5mb3RleHQgKGVyc2NoZWludCBpbSBJ +bmZvLUZlbnN0ZXIpPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xh +c3M9InJ0ZS10b29sYmFyIiBkYXRhLXJ0ZS1mb3I9ImloLWluZm90ZXh0Ij4KICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InJ0ZS1idG4i +IGRhdGEtY21kPSJib2xkIiB0aXRsZT0iRmV0dCAoQ3RybCtCKSI+PHN0cm9uZz5CPC9zdHJvbmc+ +PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJi +dXR0b24iIGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0iaXRhbGljIiB0aXRsZT0iS3Vyc2l2IChD +dHJsK0kpIj48ZW0+STwvZW0+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0idW5kZXJs +aW5lIiB0aXRsZT0iVW50ZXJzdHJpY2hlbiAoQ3RybCtVKSI+PHU+VTwvdT48L2J1dHRvbj4KICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icnRlLXNlcCI+PC9zcGFu +PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBj +bGFzcz0icnRlLWJ0biIgZGF0YS1jbWQ9Imluc2VydFVub3JkZXJlZExpc3QiIHRpdGxlPSJBdWZ6 +w6RobHVuZyI+4oCiPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1 +dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0iaW5zZXJ0T3JkZXJl +ZExpc3QiIHRpdGxlPSJOdW1tZXJpZXJ0Ij4xLjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJydGUtc2VwIj48L3NwYW4+CiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJydGUtYnRuIiBk +YXRhLWNtZD0ib3V0ZGVudCIgdGl0bGU9IkF1c3LDvGNrZW4iPuKHpDwvYnV0dG9uPgogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0icnRl +LWJ0biIgZGF0YS1jbWQ9ImluZGVudCIgdGl0bGU9IkVpbnLDvGNrZW4iPuKHpTwvYnV0dG9uPgog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJydGUtc2VwIj48L3Nw +YW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24i +IGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0icmVtb3ZlRm9ybWF0IiB0aXRsZT0iRm9ybWF0aWVy +dW5nIGVudGZlcm5lbiI+4pyVPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 +L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImloLWluZm90ZXh0IiBj +bGFzcz0icnRlLWVkaXRvciIgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJ0cnVl +IiBzdHlsZT0ibWluLWhlaWdodDo4MHB4Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAg +PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICA8bGFiZWwgc3R5bGU9ImRpc3BsYXk6YmxvY2s7Zm9udC13ZWlnaHQ6NjAwO21hcmdp +bi1ib3R0b206NnB4Ij5TdXBwb3J0LUluZm8gKEFuc3ByZWNocGFydG5lciBiZWkgRnJhZ2VuKTwv +bGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJydGUtdG9vbGJh +ciIgZGF0YS1ydGUtZm9yPSJpaC1zdXBwb3J0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InJ0ZS1idG4iIGRhdGEtY21kPSJib2xk +IiB0aXRsZT0iRmV0dCAoQ3RybCtCKSI+PHN0cm9uZz5CPC9zdHJvbmc+PC9idXR0b24+CiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJy +dGUtYnRuIiBkYXRhLWNtZD0iaXRhbGljIiB0aXRsZT0iS3Vyc2l2IChDdHJsK0kpIj48ZW0+STwv +ZW0+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBl +PSJidXR0b24iIGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0idW5kZXJsaW5lIiB0aXRsZT0iVW50 +ZXJzdHJpY2hlbiAoQ3RybCtVKSI+PHU+VTwvdT48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icnRlLXNlcCI+PC9zcGFuPgogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0icnRlLWJ0biIg +ZGF0YS1jbWQ9Imluc2VydFVub3JkZXJlZExpc3QiIHRpdGxlPSJBdWZ6w6RobHVuZyI+4oCiPC9i +dXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0 +b24iIGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0iaW5zZXJ0T3JkZXJlZExpc3QiIHRpdGxlPSJO +dW1tZXJpZXJ0Ij4xLjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxz +cGFuIGNsYXNzPSJydGUtc2VwIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0ib3V0ZGVu +dCIgdGl0bGU9IkF1c3LDvGNrZW4iPuKHpDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0icnRlLWJ0biIgZGF0YS1jbWQ9 +ImluZGVudCIgdGl0bGU9IkVpbnLDvGNrZW4iPuKHpTwvYnV0dG9uPgogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJydGUtc2VwIj48L3NwYW4+CiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJydGUtYnRu +IiBkYXRhLWNtZD0icmVtb3ZlRm9ybWF0IiB0aXRsZT0iRm9ybWF0aWVydW5nIGVudGZlcm5lbiI+ +4pyVPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImloLXN1cHBvcnQiIGNsYXNzPSJydGUtZWRpdG9y +IiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9InRydWUiIHN0eWxlPSJtaW4taGVp +Z2h0OjEwMHB4Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAg +ICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwg +c3R5bGU9ImRpc3BsYXk6YmxvY2s7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbi1ib3R0b206NnB4Ij5B +bGxnZW1laW5lIEhpbGZlIChmcmVpZXIgVGV4dCk8L2xhYmVsPgogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgPGRpdiBjbGFzcz0icnRlLXRvb2xiYXIiIGRhdGEtcnRlLWZvcj0iaWgtaGlsZmUi +PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBj +bGFzcz0icnRlLWJ0biIgZGF0YS1jbWQ9ImJvbGQiIHRpdGxlPSJGZXR0IChDdHJsK0IpIj48c3Ry +b25nPkI8L3N0cm9uZz48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 +YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InJ0ZS1idG4iIGRhdGEtY21kPSJpdGFsaWMiIHRp +dGxlPSJLdXJzaXYgKEN0cmwrSSkiPjxlbT5JPC9lbT48L2J1dHRvbj4KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InJ0ZS1idG4iIGRh +dGEtY21kPSJ1bmRlcmxpbmUiIHRpdGxlPSJVbnRlcnN0cmljaGVuIChDdHJsK1UpIj48dT5VPC91 +PjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJy +dGUtc2VwIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0 +eXBlPSJidXR0b24iIGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0iaW5zZXJ0VW5vcmRlcmVkTGlz +dCIgdGl0bGU9IkF1ZnrDpGhsdW5nIj7igKI8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InJ0ZS1idG4iIGRhdGEtY21k +PSJpbnNlcnRPcmRlcmVkTGlzdCIgdGl0bGU9Ik51bW1lcmllcnQiPjEuPC9idXR0b24+CiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJ0ZS1zZXAiPjwvc3Bhbj4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xh +c3M9InJ0ZS1idG4iIGRhdGEtY21kPSJvdXRkZW50IiB0aXRsZT0iQXVzcsO8Y2tlbiI+4oekPC9i +dXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0 +b24iIGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0iaW5kZW50IiB0aXRsZT0iRWlucsO8Y2tlbiI+ +4oelPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9 +InJ0ZS1zZXAiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9u +IHR5cGU9ImJ1dHRvbiIgY2xhc3M9InJ0ZS1idG4iIGRhdGEtY21kPSJyZW1vdmVGb3JtYXQiIHRp +dGxlPSJGb3JtYXRpZXJ1bmcgZW50ZmVybmVuIj7inJU8L2J1dHRvbj4KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0i +aWgtaGlsZmUiIGNsYXNzPSJydGUtZWRpdG9yIiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxs +Y2hlY2s9InRydWUiIHN0eWxlPSJtaW4taGVpZ2h0OjEyMHB4Ij48L2Rpdj4KICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIDxzbWFsbCBzdHlsZT0iZGlzcGxheTpibG9jaztjb2xvcjp2YXIoLS10 +ZXh0LW11dGVkKTttYXJnaW4tdG9wOjRweCI+UGxhdHogZsO8ciBnZW5lcmVsbGUgSGlsZmV0ZXh0 +ZSwgRkFRcywgVmVyd2Vpc2UuIEVyc2NoZWludCBpbSBJbmZvLUZlbnN0ZXIgw7xiZXIgZGVuIEJl +ZGllbnVuZ3MtSGlud2Vpc2VuLjwvc21hbGw+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2 +PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgPGxhYmVsIHN0eWxlPSJkaXNwbGF5OmJsb2NrO2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW4tYm90 +dG9tOjZweCI+QmVkaWVudW5ncy1IaW53ZWlzZSAoamVkZXIgQnVsbGV0ID0gZWluZSBaZWlsZSAv +IGVpbiBMaXN0ZW5wdW5rdCk8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRp +diBjbGFzcz0icnRlLXRvb2xiYXIiIGRhdGEtcnRlLWZvcj0iaWgtYmVkaWVudW5nIj4KICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InJ0 +ZS1idG4iIGRhdGEtY21kPSJib2xkIiB0aXRsZT0iRmV0dCAoQ3RybCtCKSI+PHN0cm9uZz5CPC9z +dHJvbmc+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0 +eXBlPSJidXR0b24iIGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0iaXRhbGljIiB0aXRsZT0iS3Vy +c2l2IChDdHJsK0kpIj48ZW0+STwvZW0+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0i +dW5kZXJsaW5lIiB0aXRsZT0iVW50ZXJzdHJpY2hlbiAoQ3RybCtVKSI+PHU+VTwvdT48L2J1dHRv +bj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icnRlLXNlcCI+ +PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0 +dG9uIiBjbGFzcz0icnRlLWJ0biIgZGF0YS1jbWQ9Imluc2VydFVub3JkZXJlZExpc3QiIHRpdGxl +PSJBdWZ6w6RobHVuZyI+4oCiPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0iaW5zZXJ0 +T3JkZXJlZExpc3QiIHRpdGxlPSJOdW1tZXJpZXJ0Ij4xLjwvYnV0dG9uPgogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJydGUtc2VwIj48L3NwYW4+CiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJydGUt +YnRuIiBkYXRhLWNtZD0ib3V0ZGVudCIgdGl0bGU9IkF1c3LDvGNrZW4iPuKHpDwvYnV0dG9uPgog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFz +cz0icnRlLWJ0biIgZGF0YS1jbWQ9ImluZGVudCIgdGl0bGU9IkVpbnLDvGNrZW4iPuKHpTwvYnV0 +dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJydGUtc2Vw +Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJi +dXR0b24iIGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0icmVtb3ZlRm9ybWF0IiB0aXRsZT0iRm9y +bWF0aWVydW5nIGVudGZlcm5lbiI+4pyVPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImloLWJlZGll +bnVuZyIgY2xhc3M9InJ0ZS1lZGl0b3IiIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVj +az0idHJ1ZSIgc3R5bGU9Im1pbi1oZWlnaHQ6MTYwcHgiPjwvZGl2PgogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgPHNtYWxsIHN0eWxlPSJkaXNwbGF5OmJsb2NrO2NvbG9yOnZhcigtLXRleHQt +bXV0ZWQpO21hcmdpbi10b3A6NHB4Ij5adXLDvGNrc2V0emVuIGF1ZiBEZWZhdWx0OiBFZGl0b3Ig +bGVlcmVuIHVuZCBzcGVpY2hlcm4g4oCUIGRlciBJbmZvLUJsb2NrIHplaWd0IGRhbm4gZGllIGVp +bmdlYmF1dGVuIERlZmF1bHQtSGlud2Vpc2UuPC9zbWFsbD4KICAgICAgICAgICAgICAgICAgICAg +ICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICA8bGFiZWwgc3R5bGU9ImRpc3BsYXk6YmxvY2s7Zm9udC13ZWlnaHQ6NjAwO21h +cmdpbi1ib3R0b206NnB4Ij5TY2hsaWXDny1JbmZvIChIaW53ZWlzIGJlaW0gQXV0by1TaHV0ZG93 +bik8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIGlkPSJpaC1z +Y2hsaWVzc2luZm8iIGNsYXNzPSJmb3JtLWlucHV0IiByb3dzPSIzIiBzdHlsZT0id2lkdGg6MTAw +JSIgcGxhY2Vob2xkZXI9InouQi4gJ0RpZXNlIEFud2VuZHVuZyBzY2hsaWXDn3QgbmFjaCB7bWlu +dXRlbn0gTWludXRlbiBJbmFrdGl2aXTDpHQgYXV0b21hdGlzY2guJyI+PC90ZXh0YXJlYT4KICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBzdHlsZT0iZGlzcGxheTpibG9jaztjb2xv +cjp2YXIoLS10ZXh0LW11dGVkKTttYXJnaW4tdG9wOjRweCI+UGxhdHpoYWx0ZXIgPGNvZGU+e21p +bnV0ZW59PC9jb2RlPiB3aXJkIGR1cmNoIGRpZSBTY2hsaWXDn3plaXQgZXJzZXR6dC4gS2VpbiBS +aWNoLVRleHQg4oCUIHdpcmQgYWxzIHJlaW5lciBUZXh0IHZlcndlbmRldC48L3NtYWxsPgogICAg +ICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBzdHlsZT0iZGlzcGxheTpibG9jaztm +b250LXdlaWdodDo2MDA7bWFyZ2luLWJvdHRvbTo2cHgiPkltcHJlc3N1bSAoZXJzY2hlaW50IMO8 +YmVyIGRlbiBCdXR0b24g4oCeSW1wcmVzc3VtIiBpbSBJbmZvLUZlbnN0ZXIpPC9sYWJlbD4KICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJ0ZS10b29sYmFyIiBkYXRhLXJ0 +ZS1mb3I9ImloLWltcHJlc3N1bSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1 +dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0iYm9sZCIgdGl0bGU9 +IkZldHQgKEN0cmwrQikiPjxzdHJvbmc+Qjwvc3Ryb25nPjwvYnV0dG9uPgogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0icnRlLWJ0biIg +ZGF0YS1jbWQ9Iml0YWxpYyIgdGl0bGU9Ikt1cnNpdiAoQ3RybCtJKSI+PGVtPkk8L2VtPjwvYnV0 +dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9u +IiBjbGFzcz0icnRlLWJ0biIgZGF0YS1jbWQ9InVuZGVybGluZSIgdGl0bGU9IlVudGVyc3RyaWNo +ZW4gKEN0cmwrVSkiPjx1PlU8L3U+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgPHNwYW4gY2xhc3M9InJ0ZS1zZXAiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InJ0ZS1idG4iIGRhdGEtY21k +PSJpbnNlcnRVbm9yZGVyZWRMaXN0IiB0aXRsZT0iQXVmesOkaGx1bmciPuKAojwvYnV0dG9uPgog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFz +cz0icnRlLWJ0biIgZGF0YS1jbWQ9Imluc2VydE9yZGVyZWRMaXN0IiB0aXRsZT0iTnVtbWVyaWVy +dCI+MS48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFz +cz0icnRlLXNlcCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0 +b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0icnRlLWJ0biIgZGF0YS1jbWQ9Im91dGRlbnQiIHRpdGxl +PSJBdXNyw7xja2VuIj7ih6Q8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InJ0ZS1idG4iIGRhdGEtY21kPSJpbmRlbnQi +IHRpdGxlPSJFaW5yw7xja2VuIj7ih6U8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICA8c3BhbiBjbGFzcz0icnRlLXNlcCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0icnRlLWJ0biIgZGF0YS1j +bWQ9InJlbW92ZUZvcm1hdCIgdGl0bGU9IkZvcm1hdGllcnVuZyBlbnRmZXJuZW4iPuKclTwvYnV0 +dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICA8ZGl2IGlkPSJpaC1pbXByZXNzdW0iIGNsYXNzPSJydGUtZWRpdG9yIiBjb250 +ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9InRydWUiIHN0eWxlPSJtaW4taGVpZ2h0OjE4 +MHB4Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBzdHlsZT0iZGlz +cGxheTpibG9jaztjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTttYXJnaW4tdG9wOjRweCI+SW5pdGlh +bCBtaXQgZWluZW0gc2lubnZvbGxlbiBEZWZhdWx0IGJlZsO8bGx0IChQb2xpemVpcHLDpHNpZGl1 +bSBEb3J0bXVuZCAvIFZJIDMgLyB0ZWNobmlzY2hlIEtvbnplcHRpb24gLyBMaXplbnpoaW53ZWlz +ZSAvIEhhZnR1bmdzYXVzc2NobHVzcykuIEJpdHRlIEFuc2NocmlmdCBlcmfDpG56ZW4gdW5kIGdn +Zi4gYW4gZGllIHRhdHPDpGNobGljaGUgRGllbnN0c3RlbGxlIGFucGFzc2VuLiA8c3Ryb25nPk5p +Y2h0IGdlbMO2c2NodDwvc3Ryb25nPiB3aXJkIGRlciBOb3RmYWxsLUhpbndlaXMgYXVmIFBISyBS +b2VzZ2VuIOKAlCBkZXIgaXN0IGltIEltcHJlc3N1bXMtTW9kYWwgZmVzdCB1bnRlbiB2ZXJhbmtl +cnQgdW5kIGthbm4gaGllciBuaWNodCBlbnRmZXJudCB3ZXJkZW4uPC9zbWFsbD4KICAgICAgICAg +ICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAg +ICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWluZm9oaWxmZS1zcGVpY2hlcm4iIGNsYXNzPSJi +dG4gYnRuLXByaW1hZXIiIHN0eWxlPSJtYXJnaW4tdG9wOjEycHgiPkluZm9ybWF0aW9uICZhbXA7 +IEhpbGZlIHNwZWljaGVybjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4K +ICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDwhLS0gVGFiOiBCZXplaWNo +bnVuZ2VuICYgTGlzdGVuIOKAlCBlZGl0aWVyYmFyZSBTdGFtbWRhdGVuLUxpc3RlbgogICAgICAg +ICAgICAgICAgICAgICAoRGllbnN0Z3JhZGUsIEZ1bmt0aW9uZW4pIHN0YXR0IGhhcnRjb2RpZXJ0 +ZSBDb2RlLUtvbnN0YW50ZW4uIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRtaW4t +dGFiIHZlcnN0ZWNrdCIgaWQ9ImFkbWluLXRhYi1saXN0ZW4iPgogICAgICAgICAgICAgICAgICAg +IDxkaXYgY2xhc3M9ImFkbWluLWtvcGYiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDI+QmV6 +ZWljaG51bmdlbiAmYW1wOyBMaXN0ZW48L2gyPgogICAgICAgICAgICAgICAgICAgIDwvZGl2Pgog +ICAgICAgICAgICAgICAgICAgIDxkZXRhaWxzIGNsYXNzPSJhZG1pbi1pbmZvIiBkYXRhLWluZm8t +a2V5PSJsaXN0ZW4iPgogICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT48c3BhbiBjbGFz +cz0iYWRtaW4taW5mby1jaGV2Ij7ilrg8L3NwYW4+V2FzIHdpcmQgaGllciBnZXBmbGVndD88c3Bh +biBjbGFzcz0iYWRtaW4taW5mby1iYWRnZSI+QXVma2xhcHBlbiAvIFp1a2xhcHBlbjwvc3Bhbj48 +L3N1bW1hcnk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFkbWluLWluZm8t +Ym9keSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48c3Ryb25nPkRpZW5zdGdyYWRl +PC9zdHJvbmc+IOKAlCBkaWUgRGllbnN0Z3JhZC1BdXN3YWhsIGluIGRlciBQZXJzb25hbHZlcndh +bHR1bmcgKHouQi4gUE9LLCBQSEssIEVQSEspLiBSZWloZW5mb2xnZSBiZXN0aW1tdCBkaWUgU29y +dGllcnVuZyBpbSBEcm9wZG93bjogPGVtPm9iZW4gPSBow7ZoZXIgZ2VzdGVsbHQ8L2VtPi4gVmVy +d2VuZGUgZGVuIFN0ZXJuIDxjb2RlPio8L2NvZGU+IGbDvHIgWndpc2NoZW5zdHVmZW4gd2llIDxj +b2RlPlBISyo8L2NvZGU+IChBMTIgendpc2NoZW4gUEhLIEExMSB1bmQgRVBISyBBMTMpLjwvcD4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+RnVua3Rpb25lbjwvc3Ryb25n +PiDigJQgU3RhbW0tRnVua3Rpb24gZWluZXIgUGVyc29uIChER0wsIFdERiwgV2FjaGxlaXR1bmcs +IC4uLikuIERlciA8c3Ryb25nPlJhbmc8L3N0cm9uZz4gYmVzdGltbXQgZGllIFZlcmFudHdvcnR1 +bmdzLVJlaWhlbmZvbGdlIGluIGRlciBTY2hpY2h0ICgwID0gaMO2Y2hzdGUgVmVyYW50d29ydHVu +ZykuIFBlcnNvbmVuIG1pdCBnbGVpY2hlbSBSYW5nIHdlcmRlbiDDvGJlciBpaHJlIHJvaGUgUG9z +aXRpb25zLVphaGwgc29ydGllcnQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+ +PHN0cm9uZz5Wb3JzaWNodCBiZWltIEzDtnNjaGVuOjwvc3Ryb25nPiBQZXJzb25lbiwgZGllIGVp +bmVuIGVudGZlcm50ZW4gRGllbnN0Z3JhZCBvZGVyIGVpbmUgZW50ZmVybnRlIEZ1bmt0aW9uIHRy +YWdlbiwgYmVoYWx0ZW4gZGVuIGFsdGVuIFdlcnQsIGvDtm5uZW4gaWhuIGFiZXIgbmljaHQgbWVo +ciBuZXUgYXVzd8OkaGxlbiwgYmlzIGVyIHdpZWRlciBpbiBkZXIgTGlzdGUgc3RlaHQuPC9wPgog +ICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2RldGFp +bHM+CgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJhZG1pbi1zZWt0aW9uIiBp +ZD0iYWRtaW4tc2VrdGlvbi1saXN0ZW4tZGllbnN0Z3JhZGUiPgogICAgICAgICAgICAgICAgICAg +ICAgICA8ZGl2IGNsYXNzPSJhZG1pbi1zZWt0aW9uLWtvcGYiPgogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgPGgzPkRpZW5zdGdyYWRlPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAg +IDxidXR0b24gaWQ9ImJ0bi1kaWVuc3RncmFkLW5ldSIgY2xhc3M9ImJ0biBidG4tZXJmb2xnIj5O +ZXVlciBEaWVuc3RncmFkPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pgog +ICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9ImFkbWluLXRhYmVsbGUiIGlkPSJk +aWVuc3RncmFkZS10YWJlbGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6NjBweCI+UmFuZzwvdGg+CiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5CZXplaWNobnVuZzwvdGg+CiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6MTMwcHgiPkFrdGlv +bmVuPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0 +Ym9keSBpZD0iZGllbnN0Z3JhZGUtdGJvZHkiPjwvdGJvZHk+CiAgICAgICAgICAgICAgICAgICAg +ICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJhZG1pbi1oaW53 +ZWlzIj48ZW0+UmVpaGVuZm9sZ2UgcGVyIOKGkSDihpMgw6RuZGVybi4gSG9lY2hzdGVyIERpZW5z +dGdyYWQgenVlcnN0LjwvZW0+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlk +PSJidG4tZGllbnN0Z3JhZGUtc3BlaWNoZXJuIiBjbGFzcz0iYnRuIGJ0bi1wcmltYWVyIiBzdHls +ZT0ibWFyZ2luLXRvcDoxMnB4Ij5EaWVuc3RncmFkZSBzcGVpY2hlcm48L2J1dHRvbj4KICAgICAg +ICAgICAgICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNs +YXNzPSJhZG1pbi1zZWt0aW9uIiBpZD0iYWRtaW4tc2VrdGlvbi1saXN0ZW4tZnVua3Rpb25lbiI+ +CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFkbWluLXNla3Rpb24ta29wZiI+ +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+RnVua3Rpb25lbjwvaDM+CiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tZnVua3Rpb24tbmV1IiBjbGFzcz0i +YnRuIGJ0bi1lcmZvbGciPk5ldWUgRnVua3Rpb248L2J1dHRvbj4KICAgICAgICAgICAgICAgICAg +ICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iYWRtaW4t +dGFiZWxsZSIgaWQ9ImZ1bmt0aW9uZW4tdGFiZWxsZSI+CiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjYwcHgiPlBvczwv +dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5CZXplaWNobnVuZzwv +dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6 +ODBweCIgdGl0bGU9IjAgPSBob2VjaHN0ZSBWZXJhbnR3b3J0dW5nLCA5OSA9IHVucmVsZXZhbnQu +IFBlcnNvbmVuIG1pdCBnbGVpY2hlbSBSYW5nIHdlcmRlbiBkdXJjaCBkaWUgcm9oZSBQb3NpdGlv +bnMtWmFobCBzb3J0aWVydC4iPlJhbmc8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICA8dGggc3R5bGU9IndpZHRoOjE0MHB4O3RleHQtYWxpZ246Y2VudGVyIiB0aXRsZT0i +V2VubiBkZWFrdGl2aWVydCwgd2VyZGVuIFBlcnNvbmVuIG1pdCBkaWVzZXIgRnVua3Rpb24gTklD +SFQgaW4gZGVyIFBsYW51bmdzYW5zaWNodCwgaW0gV29jaGVucGxhbiB1bmQgaW0gUGVycy4gUGxh +biBhbmdlemVpZ3Qg4oCUIGJsZWliZW4gYWJlciBpbiBkZXIgUGVyc29uYWx2ZXJ3YWx0dW5nIHBm +bGVnYmFyLiI+SW4gUGxhbnVuZyBzaWNodGJhcjwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6MTMwcHgiPkFrdGlvbmVuPC90aD4KICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgPC90aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keSBpZD0iZnVua3Rp +b25lbi10Ym9keSI+PC90Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAg +ICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImFkbWluLWhpbndlaXMiPjxlbT5SZWloZW5m +b2xnZSBwZXIg4oaRIOKGkyDDpG5kZXJuLjwvZW0+PC9wPgogICAgICAgICAgICAgICAgICAgICAg +ICA8YnV0dG9uIGlkPSJidG4tZnVua3Rpb25lbi1zcGVpY2hlcm4iIGNsYXNzPSJidG4gYnRuLXBy +aW1hZXIiIHN0eWxlPSJtYXJnaW4tdG9wOjEycHgiPkZ1bmt0aW9uZW4gc3BlaWNoZXJuPC9idXR0 +b24+CiAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgPC9kaXY+ +CgoKICAgICAgICAgICAgICAgIDwhLS0gVGFiOiBFLU1haWwtVm9ybGFnZW4g4oCUIEthcnRlbi1M +YXlvdXQgKEZpbmRpbmcgQy43IC8gU3BlYyBGLjEpIC0tPgogICAgICAgICAgICAgICAgPGRpdiBj +bGFzcz0iYWRtaW4tdGFiIHZlcnN0ZWNrdCIgaWQ9ImFkbWluLXRhYi1lbWFpbHZvcmxhZ2VuIj4K +ICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi1rb3BmIj4KICAgICAgICAgICAg +ICAgICAgICAgICAgPGgyPkUtTWFpbC1Wb3JsYWdlbjwvaDI+CiAgICAgICAgICAgICAgICAgICAg +PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRldGFpbHMgY2xhc3M9ImFkbWluLWluZm8iIGRh +dGEtaW5mby1rZXk9ImVtYWlsdm9ybGFnZW4iIG9wZW4+CiAgICAgICAgICAgICAgICAgICAgICAg +IDxzdW1tYXJ5PjxzcGFuIGNsYXNzPSJhZG1pbi1pbmZvLWNoZXYiPuKWuDwvc3Bhbj5Xb3p1IGRp +ZXNlIFZvcmxhZ2VuPzxzcGFuIGNsYXNzPSJhZG1pbi1pbmZvLWJhZGdlIj5BdWZrbGFwcGVuIC8g +WnVrbGFwcGVuPC9zcGFuPjwvc3VtbWFyeT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBj +bGFzcz0iYWRtaW4taW5mby1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkhp +ZXIgd2VyZGVuIEJldHJlZmYgdW5kIFRleHQgYWxsZXIgRS1NYWlsLVZvcmxhZ2VuIGdlcGZsZWd0 +LiBWYXJpYWJsZW4gd2llIDxjb2RlPntkYXR1bX08L2NvZGU+IG9kZXIgPGNvZGU+e3BlcnNvbl9u +YW1lfTwvY29kZT4gd2VyZGVuIGJlaW0gw5ZmZm5lbiBkZXIgTWFpbCBhdXRvbWF0aXNjaCBkdXJj +aCBrb25rcmV0ZSBXZXJ0ZSBlcnNldHp0LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAg +IDxwPjxzdHJvbmc+VmVyc2FuZCBhdXNzY2hsaWXDn2xpY2ggw7xiZXIgZGFzIFN0YW5kYXJkLU1h +aWxwcm9ncmFtbSAoT3V0bG9vayk8L3N0cm9uZz4g4oCUIGJlaW0gYXVzbMO2c2VuZGVuIEVyZWln +bmlzICh6LkIuIEVpbnRyYWcgZWluZXIgS3JhbmttZWxkdW5nKSDDtmZmbmV0IHNpY2ggZWluZSB2 +b3JhdXNnZWbDvGxsdGUgTWFpbCBtaXQgRW1wZsOkbmdlcm4sIEJldHJlZmYgdW5kIFRleHQuIER1 +IHByw7xmc3QgZGllIE1haWwgdW5kIHZlcnNjaGlja3N0IHNpZSBtYW51ZWxsIHBlciBLbGljayBh +dWYg4oCeU2VuZGVuIi4gS2VpbiBhdXRvbWF0aXNjaGVyIFZlcnNhbmQuPC9wPgogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5BdXRvLVRyaWdnZXIgYWt0aXZpZXJlbjwvc3Ry +b25nPiDigJQgaW0gRWRpdG9yLU1vZGFsIGVpbmVyIFZvcmxhZ2UgcHJvIFRyaWdnZXIgZWluc3Rl +bGxiYXIgKEFrdGl2aWVyZW4gKyBFbXBmw6RuZ2VyIHfDpGhsZW4pLiBTb2xhbmdlIGVpbiBUcmln +Z2VyIGRlYWt0aXZpZXJ0IGlzdCwgw7ZmZm5ldCBzaWNoIGJlaW0gRXJlaWduaXMga2VpbiBQb3B1 +cC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48c3Ryb25nPkRlZml6aXQtQnJp +ZWZpbmc8L3N0cm9uZz4g4oCUIHdpcmQgbWFudWVsbCBwZXIgQnV0dG9uIGltIFRhYiA8ZW0+UHLD +vGZ1bmc8L2VtPiBhdXNnZWzDtnN0IChrZWluIFNjaGVkdWxlcikuIERlciBCdXR0b24gw7ZmZm5l +dCBPdXRsb29rIG1pdCBlaW5lciDDnGJlcnNpY2h0IGFsbGVyIFVudGVyYmVzZXR6dW5nZW4gZGVy +IG7DpGNoc3RlbiA0IFdvY2hlbi48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pgog +ICAgICAgICAgICAgICAgICAgIDwvZGV0YWlscz4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlk +PSJlbWFpbHZvcmxhZ2VuLWluaGFsdCI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDwhLS0g +U3VwcG9ydC1NYWlsLVZvcmxhZ2U6IG51ciBmdWVyIFBoaWxpcHAgUm9lc2dlbiBzaWNodGJhci4K +ICAgICAgICAgICAgICAgICAgICAgICAgIFdpcmQgcGVyIEpTIGluIGFwcC5qcyAvIGFkbWluLmpz +IGVpbmdlYmxlbmRldCwKICAgICAgICAgICAgICAgICAgICAgICAgIHdlbm4gWi5iZW51dHplciBt +aXQgTlcwNTM2MDkgbWF0Y2hlZC4gLS0+CiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xh +c3M9ImFkbWluLXNla3Rpb24gdmVyc3RlY2t0IiBpZD0iYWRtaW4tc2VrdGlvbi1zdXBwb3J0bWFp +bCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFkbWluLXNla3Rpb24ta29w +ZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+U3VwcG9ydC1NYWlsLVZvcmxhZ2Ug +KEltcHJlc3N1bXMtTW9kYWwpPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFu +IGNsYXNzPSJyZWNodGUtZGlydHktaGlud2VpcyIgc3R5bGU9ImZvbnQtc3R5bGU6aXRhbGljIj5O +dXIgZsO8ciBQSEsgUm9lc2dlbiBzaWNodGJhcjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAg +ICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkZXRhaWxzIGNsYXNzPSJhZG1pbi1p +bmZvIiBkYXRhLWluZm8ta2V5PSJzdXBwb3J0bWFpbCI+CiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICA8c3VtbWFyeT48c3BhbiBjbGFzcz0iYWRtaW4taW5mby1jaGV2Ij7ilrg8L3NwYW4+V2Fz +IGlzdCBkYXM/PHNwYW4gY2xhc3M9ImFkbWluLWluZm8tYmFkZ2UiPkF1ZmtsYXBwZW4gLyBadWts +YXBwZW48L3NwYW4+PC9zdW1tYXJ5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBj +bGFzcz0iYWRtaW4taW5mby1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 +cD5IaWVyIGthbm5zdCBkdSBkZW4gQm9keSBkZXIgU3VwcG9ydC1NYWlsIGFucGFzc2VuLCBkaWUg +YmVpbSBLbGljayBhdWYgPGVtPuKAnlN1cHBvcnQtQW5mcmFnZSBwZXIgRS1NYWlsIjwvZW0+IGlt +IEltcHJlc3N1bXMtTW9kYWwgdm9yYXVzZ2Vmw7xsbHQgd2lyZC4gUGxhaW4tVGV4dCwga2VpbiBI +VE1MIOKAlCBPdXRsb29rIMO8YmVybmltbXQncyAxOjEuPC9wPgogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDxwPjxzdHJvbmc+UGxhdHpoYWx0ZXI8L3N0cm9uZz4gKHdlcmRlbiBiZWlt +IFNlbmRlbiBhdXRvbWF0aXNjaCBlcnNldHp0KTo8L3A+CiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGNv +ZGU+e253X2tlbm51bmd9PC9jb2RlPiDigJQgV2luZG93cy1Vc2VyIGRlcyBBYnNlbmRlcnMgKHou +Jm5ic3A7Qi4gPGNvZGU+UE9MSVpFSVxOVzA1NTgwMTwvY29kZT4pPC9saT4KICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxjb2RlPntha3R1ZWxsZV9hbnNpY2h0fTwvY29k +ZT4g4oCUIFRhYiwgZGVuIGRlciBVc2VyIHp1bGV0enQgb2ZmZW4gaGF0dGU8L2xpPgogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGNvZGU+e2RhdHVtfTwvY29kZT4g4oCU +IGhldXRlLCA8Y29kZT5kZC5tbS5qampqPC9jb2RlPjwvbGk+CiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIDxsaT48Y29kZT57dWhyemVpdH08L2NvZGU+IOKAlCBqZXR6dCwgPGNv +ZGU+aGg6bW08L2NvZGU+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +PGxpPjxjb2RlPnthdWZsb2VzdW5nfTwvY29kZT4g4oCUIFZpZXdwb3J0LCB6LiZuYnNwO0IuIDxj +b2RlPjE5MjB4MTA4MDwvY29kZT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICA8bGk+PGNvZGU+e2FwcF9qYWhyfTwvY29kZT4g4oCUIFdlcnQgYXVzIGFkbWluLmpzb248 +L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGNvZGU+e2Jyb3dz +ZXJ9PC9jb2RlPiDigJQgQnJvd3Nlci1Vc2VyLUFnZW50IChtYXggMTIwIFplaWNoZW4pPC9saT4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDxwPjxzdHJvbmc+RW1wZsOkbmdlciB1bmQgQmV0cmVmZjwvc3Ryb25nPiBz +aW5kIGhhcnRjb2RpZXJ0ICg8Y29kZT5waGlsaXBwLnJvZXNnZW5AcG9saXplaS5ucncuZGU8L2Nv +ZGU+IC8gPGNvZGU+VkkzIERHTCBQbGFudW5nIC0gRG9ydG11bmQ8L2NvZGU+KSDigJQgbmljaHQg +w7xiZXIgZGllc2VuIEVkaXRvciDDpG5kZXJiYXIuPC9wPgogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGV0YWlscz4KICAgICAgICAg +ICAgICAgICAgICAgICAgPHRleHRhcmVhIGlkPSJzdXBwb3J0bWFpbC10ZXh0IiBjbGFzcz0iZm9y +bS1pbnB1dCIgcm93cz0iMjIiIHN0eWxlPSJ3aWR0aDoxMDAlO2ZvbnQtZmFtaWx5OnVpLW1vbm9z +cGFjZSxTRk1vbm8tUmVndWxhcixNZW5sbyxDb25zb2xhcyxtb25vc3BhY2U7Zm9udC1zaXplOjEy +cHg7bGluZS1oZWlnaHQ6MS41IiBwbGFjZWhvbGRlcj0iKGxlZXIgPSBlaW5nZWJhdXRlciBEZWZh +dWx0IHdpcmQgdmVyd2VuZGV0KSI+PC90ZXh0YXJlYT4KICAgICAgICAgICAgICAgICAgICAgICAg +PGRpdiBzdHlsZT0ibWFyZ2luLXRvcDoxMHB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50 +ZXI7Z2FwOjEwcHg7ZmxleC13cmFwOndyYXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg +PGJ1dHRvbiBpZD0iYnRuLXN1cHBvcnRtYWlsLXNwZWljaGVybiIgY2xhc3M9ImJ0biBidG4tcHJp +bWFlciI+Vm9ybGFnZSBzcGVpY2hlcm48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIDxidXR0b24gaWQ9ImJ0bi1zdXBwb3J0bWFpbC1kZWZhdWx0IiBjbGFzcz0iYnRuIGJ0bi1z +ZWsgYnRuLWtsZWluIj5BdWYgRGVmYXVsdCB6dXLDvGNrc2V0emVuPC9idXR0b24+CiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tc3VwcG9ydG1haWwtdm9yc2NoYXUi +IGNsYXNzPSJidG4gYnRuLXNlayBidG4ta2xlaW4iIHRpdGxlPSJPdXRsb29rIG1pdCBha3R1ZWxs +ZXIgVm9ybGFnZSArIExpdmUtV2VydGVuIMO2ZmZuZW4iPk91dGxvb2stVm9yc2NoYXUgw7ZmZm5l +bjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9InN1cHBvcnRt +YWlsLWRpcnR5LWhpbndlaXMiIGNsYXNzPSJyZWNodGUtZGlydHktaGlud2VpcyIgc3R5bGU9ImRp +c3BsYXk6bm9uZSI+4pePIFVuZ2VzcGVpY2hlcnRlIMOEbmRlcnVuZ2VuPC9zcGFuPgogICAgICAg +ICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAg +ICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8IS0tIFRhYjogTWl0dGVpbHVu +Z2VuIChTcHJpbnQgRC0zYywgMjAyNi0wNS0yOSkg4oCUIFNVLW9ubHkuCiAgICAgICAgICAgICAg +ICAgICAgIFZvbSBTdXBlclVzZXIgZ2VwZmxlZ3RlIE1vZGFsZS1IaW53ZWlzZSBhbiBQZXJzb25l +bi8KICAgICAgICAgICAgICAgICAgICAgR3J1cHBlbi9Sb2xsZW4gbWl0IFRyaWdnZXIgKyBBbmhh +ZW5nZW4uIEtvbXBsZXR0ZSBVSQogICAgICAgICAgICAgICAgICAgICB3aXJkIHp1ciBMYXVmemVp +dCBhdXMganMvYWRtaW5fbWl0dGVpbHVuZ2VuLmpzIGdlcmVuZGVydC4gLS0+CiAgICAgICAgICAg +ICAgICA8ZGl2IGNsYXNzPSJhZG1pbi10YWIgdmVyc3RlY2t0IiBpZD0iYWRtaW4tdGFiLW1pdHRl +aWx1bmdlbiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRtaW4ta29wZiI+CiAg +ICAgICAgICAgICAgICAgICAgICAgIDxoMj5NaXR0ZWlsdW5nZW48L2gyPgogICAgICAgICAgICAg +ICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkZXRhaWxzIGNsYXNzPSJhZG1pbi1p +bmZvIiBkYXRhLWluZm8ta2V5PSJtaXR0ZWlsdW5nZW4iPgogICAgICAgICAgICAgICAgICAgICAg +ICA8c3VtbWFyeT48c3BhbiBjbGFzcz0iYWRtaW4taW5mby1jaGV2Ij7ilrg8L3NwYW4+V2FzIHNp +bmQgTWl0dGVpbHVuZ2VuPzxzcGFuIGNsYXNzPSJhZG1pbi1pbmZvLWJhZGdlIj5BdWZrbGFwcGVu +IC8gWnVrbGFwcGVuPC9zcGFuPjwvc3VtbWFyeT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRp +diBjbGFzcz0iYWRtaW4taW5mby1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxw +PjxzdHJvbmc+V296dT88L3N0cm9uZz4gU3VwZXJVc2VyIGvDtm5uZW4gaGllciBIaW53ZWlzZSBm +w7xyIGF1c2dld8OkaGx0ZSBQZXJzb25lbiwgR3J1cHBlbiBvZGVyIFJvbGxlbiBhbmxlZ2VuLiBE +aWVzZSBlcnNjaGVpbmVuIGJlaW0gbsOkY2hzdGVuIEFwcC1TdGFydCBhbHMgTW9kYWwtU3RhY2sg +KG9iZW4gZHVyY2hnZWhlbmQsIG9kZXIgZWlubWFsIHBybyBUYWcg4oCUIGplIG5hY2ggVHJpZ2dl +cikuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5FbXBmw6RuZ2Vy +PC9zdHJvbmc+IHNpbmQga29tYmluaWVyYmFyOiBlaW56ZWxuZSBQZXJzb25lbiwgZ2FuemUgRGll +bnN0Z3J1cHBlbiwgUm9sbGVuIChER0wvV0RGL+KApiwgU1UsIEdlc2FtdHZlcmFudHdvcnRsaWNo +KSBvZGVyIOKAnkFsbGUiIChqZWRlciBlaW5nZWxvZ2d0ZSBVc2VyKS48L3A+CiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICA8cD48c3Ryb25nPlRyaWdnZXI6PC9zdHJvbmc+IDxlbT5laW5tYWw8 +L2VtPiA9IFVzZXIgc2llaHQgZGllIE1pdHRlaWx1bmcgZ2VuYXUgZWluIE1hbCB1bmQgbmllIHdp +ZWRlci4gPGVtPmplZGVzIE1hbDwvZW0+ID0gYmVpIGplZGVtIExvZ2luIChtYXguIDHDlyBwcm8g +S2FsZW5kZXJ0YWcpLiA8ZW0+YmlzIERhdHVtPC9lbT4gPSB0w6RnbGljaCBiaXMgenVtIFN0aWNo +dGFnLCBkYW5hY2ggbmllIHdpZWRlci48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 +cD48c3Ryb25nPkFuaMOkbmdlOjwvc3Ryb25nPiBlaW4gVGh1bWJuYWlsLUJpbGQgKG1heC4gMiBN +QiwgSlBHL1BORy9XZWJQKSB1bmQvb2RlciBlaW4gUERGIChtYXguIDEwIE1CKSBrw7ZubmVuIGJl +aWdlZsO8Z3Qgd2VyZGVuLiBLbGljayBhdWYgZGVuIEFuaGFuZyDDtmZmbmV0IGlobiBpbSBWb2xs +YmlsZC1TdWItTW9kYWwuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9u +Zz5XYXMncyBuZXUgbWFjaHQ6PC9zdHJvbmc+IGVpbmUgZ2xvYmFsZSBNaXR0ZWlsdW5nIG1pdCBF +bXBmw6RuZ2VyIOKAnkFsbGUiIHVuZCBUcmlnZ2VyIOKAnmVpbm1hbCIgaXN0IGVmZmVrdGl2IGVp +biDigJ5XaGF0J3MgTmV3Ii1FaW50cmFnLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9k +aXY+CiAgICAgICAgICAgICAgICAgICAgPC9kZXRhaWxzPgogICAgICAgICAgICAgICAgICAgIDxk +aXYgY2xhc3M9ImFkbWluLWtvcGYiIHN0eWxlPSJtYXJnaW4tdG9wOjhweDtqdXN0aWZ5LWNvbnRl +bnQ6ZmxleC1lbmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tbWl0 +dGVpbHVuZy1uZXUiIGNsYXNzPSJidG4gYnRuLWVyZm9sZyI+KyBOZXVlIE1pdHRlaWx1bmc8L2J1 +dHRvbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2 +IGlkPSJtaXR0ZWlsdW5nZW4taW5oYWx0Ij48L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoK +ICAgICAgICAgICAgICAgIDwhLS0gVGFiOiBSZWNodGUgJiBTaWNodGJhcmtlaXQgKE1lcmdlIOKA +lCBTdXBlclVzZXIgKyBGYWNoYXVmc2ljaHQgKyBTaWNodGJhcmtlaXQpIC0tPgogICAgICAgICAg +ICAgICAgPGRpdiBjbGFzcz0iYWRtaW4tdGFiIHZlcnN0ZWNrdCIgaWQ9ImFkbWluLXRhYi1zdXBl +cnVzZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFkbWluLWtvcGYiPgogICAg +ICAgICAgICAgICAgICAgICAgICA8aDI+UmVjaHRlICZhbXA7IFNpY2h0YmFya2VpdDwvaDI+CiAg +ICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJyZWNodGUtdGFiLXN1YiI+Um9sbGVuLVNs +b3RzIG1pdCBrb25maWd1cmllcmJhcmVyIFNlaGVuLS9CZWFyYmVpdGVuLVNpY2h0YmFya2VpdC4g +U3VwZXJVc2VyIHN0aWNodCBhbGxlIGFuZGVyZW4g4oCUIHNpZSBzZWhlbiB1bmQga8O2bm5lbiBp +bW1lciBhbGxlcy4gV2VyIGluIGtlaW5lciBkaWVzZXIgTGlzdGVuIHN0ZWh0LCBzaWVodCB3ZWRl +ciBTdGF0aXN0aWsgbm9jaCBMb2didWNoIG5vY2ggQWRtaW5pc3RyYXRpb24uPC9wPgogICAgICAg +ICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0i +YWRtaW4tc2VrdGlvbiByZWNodGUtY2FyZCByZWNodGUtY2FyZC1zdSIgaWQ9ImFkbWluLXNla3Rp +b24tc3VwZXJ1c2VyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRldGFpbHMgY2xhc3M9InJl +Y2h0ZS1yb2xsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5IGNsYXNzPSJyZWNo +dGUtcm9sbGUtc3VtbWFyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFz +cz0icmVjaHRlLWNhcmQtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPvCfm6E8L3NwYW4+CiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVjaHRlLXJvbGxlLXRpdGVsIj48 +c3Ryb25nPlN1cGVyVXNlcjwvc3Ryb25nPjxzcGFuIGNsYXNzPSJyZWNodGUtY2FyZC1zdWIiPlZv +bGx6dWdyaWZmIGF1ZiBhbGxlIEZ1bmt0aW9uZW4uIFZlcndhbHRldCBhbmRlcmUgUm9sbGVuLjwv +c3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVj +aHRlLXJvbGxlLWNoZXYiIGFyaWEtaGlkZGVuPSJ0cnVlIj7ilrg8L3NwYW4+CiAgICAgICAgICAg +ICAgICAgICAgICAgIDwvc3VtbWFyeT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFz +cz0icmVjaHRlLXJvbGxlLWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBj +bGFzcz0icmVjaHRlLXJvbGxlLWFrdGlvbiI+PGJ1dHRvbiBpZD0iYnRuLXN1cGVydXNlci1uZXUi +IGNsYXNzPSJidG4gYnRuLWVyZm9sZyI+TmV1ZXIgU3VwZXJVc2VyPC9idXR0b24+PC9kaXY+CiAg +ICAgICAgICAgICAgICAgICAgICAgIDxkZXRhaWxzIGNsYXNzPSJhZG1pbi1pbmZvIiBkYXRhLWlu +Zm8ta2V5PSJzdXBlcnVzZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+ +PHNwYW4gY2xhc3M9ImFkbWluLWluZm8tY2hldiI+4pa4PC9zcGFuPkhpbndlaXNlIHp1IFN1cGVy +VXNlcm48c3BhbiBjbGFzcz0iYWRtaW4taW5mby1iYWRnZSI+QXVma2xhcHBlbiAvIFp1a2xhcHBl +bjwvc3Bhbj48L3N1bW1hcnk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNz +PSJhZG1pbi1pbmZvLWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxz +dHJvbmc+V2FzIGlzdCBlaW4gU3VwZXJVc2VyPzwvc3Ryb25nPiBTdXBlclVzZXIgaGFiZW4gdW5l +aW5nZXNjaHLDpG5rdGVuIFp1Z3JpZmYgYXVmIGFsbGUgQWRtaW5pc3RyYXRpb25zZnVua3Rpb25l +biwgZWluc2NobGllw59saWNoIGRlciBWZXJ3YWx0dW5nIGFuZGVyZXIgU3VwZXJVc2VyLCBkZW0g +U2V0emVuIHZvbiBTb25kZXJ0ZXJtaW5lLUhpbndlaXNlbiBkaXJla3QgaW4gZGVyIFBsYW51bmcg +dW5kIGRlciBQZmxlZ2UgZGVyIGdsb2JhbGVuIEVpbnN0ZWxsdW5nZW4uPC9wPgogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+U2ljaGVyaGVpdHNoaW53ZWlzOjwvc3Ry +b25nPiBOdXIgYmVzdGVoZW5kZSBTdXBlclVzZXIga8O2bm5lbiBkaWVzZSBMaXN0ZSBiZWFyYmVp +dGVuLiBEYW1pdCB3aXJkIHZlcmhpbmRlcnQsIGRhc3MgQWRtaW4tUmVjaHRlIHZlcmxvcmVuIGdl +aGVuIG9kZXIgdW5iZXJlY2h0aWd0IGVyd2VpdGVydCB3ZXJkZW4uIDxiPk1pbmRlc3RlbnMgZWlu +IFN1cGVyVXNlciBtdXNzIGltbWVyIGVpbmdldHJhZ2VuIHNlaW48L2I+IOKAlCBzb25zdCBpc3Qg +bmllbWFuZCBtZWhyIGluIGRlciBMYWdlLCBhZG1pbmlzdHJhdGl2ZSDDhG5kZXJ1bmdlbiB2b3J6 +dW5laG1lbi48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5G +ZWxkZXI6PC9zdHJvbmc+IE5hbWUgKEtsYXJ0ZXh0IHp1ciBJZGVudGlmaWthdGlvbiksIE5XLUtl +bm51bmcgKFdpbmRvd3MtQmVudXR6ZXJuYW1lLCB3aXJkIGF1dG9tYXRpc2NoIGJlaW0gTG9naW4g +YWJnZWdsaWNoZW4pLCBPRSAoT3JnYW5pc2F0aW9uc2VpbmhlaXQpLCBUZWxlZm9uL0R1cmNod2Fo +bC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5BbnplaWdl +IGltIEluZm8tRmVuc3Rlcjo8L3N0cm9uZz4gQWxsZSBTdXBlclVzZXIgd2VyZGVuIGltIEluZm9y +bWF0aW9uc2ZlbnN0ZXIgKEJ1dHRvbiDigJ7ihLkiIG9iZW4gcmVjaHRzKSBhbHMgQW5zcHJlY2hw +YXJ0bmVyIGF1ZmdlZsO8aHJ0LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2 +PgogICAgICAgICAgICAgICAgICAgICAgICA8L2RldGFpbHM+CiAgICAgICAgICAgICAgICAgICAg +ICAgIDxkaXYgY2xhc3M9ImluZm8tYm94IHJlY2h0ZS1ub3RmYWxsLWJveCI+CiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICA8c3Ryb25nPk5vdGZhbGwtUsO8Y2tmYWxsZWJlbmU6PC9zdHJvbmc+ +IERpZSBOVy1LZW5udW5nIDxjb2RlPk5XMDUzNjA5PC9jb2RlPiAoUEhLIFJvZXNnZW4pIGlzdCBp +bSBTZXJ2ZXIgaGFydCBhbHMgU3VwZXJVc2VyIGhpbnRlcmxlZ3QgdW5kIGdpbHQgYXVjaCBkYW5u +LCB3ZW5uIGRpZSBTdXBlclVzZXItTGlzdGUgbGVlciBvZGVyIHVubGVzYmFyIGlzdC4KICAgICAg +ICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBj +bGFzcz0iYWRtaW4tdGFiZWxsZSIgaWQ9InN1cGVydXNlci10YWJlbGxlIj4KICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 +dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5OYW1lPC90aD4KICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk5XLUtlbm51bmc8L3RoPgogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+T3JnYW5pc2F0aW9uc2VpbmhlaXQ8 +L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRo +OjE1MHB4Ij5UZWxlZm9uIC8gRHVyY2h3YWhsPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDo4MHB4Ij5Ba3Rpb25lbjwvdGg+CiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg +IDwvdGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHkgaWQ9InN1cGVydXNl +ci10Ym9keSI+PC90Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAg +ICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVjaHRlLWNhcmQtZnVzcyI+CiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tc3VwZXJ1c2VyLXNwZWljaGVybiIg +Y2xhc3M9ImJ0biBidG4tcHJpbWFlciI+U3VwZXJVc2VyIHNwZWljaGVybjwvYnV0dG9uPgogICAg +ICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBp +ZD0ic3VwZXJ1c2VyLWtlaW4tcmVjaHQiIGNsYXNzPSJ2ZXJzdGVja3QgcmVjaHRlLWtlaW4tcmVj +aHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1ib3giIHN0 +eWxlPSJib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1mYXJiZS1mZWhsZXIpIj4KICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPktlaW4gWnVncmlmZjo8L3N0cm9uZz4gTnVyIGJl +c3RlaGVuZGUgU3VwZXJVc2VyIGvDtm5uZW4gZGllc2UgTGlzdGUgYmVhcmJlaXRlbi4KICAgICAg +ICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rp +dj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kZXRhaWxzPgogICAgICAgICAgICAg +ICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImFk +bWluLXNla3Rpb24gcmVjaHRlLWNhcmQgcmVjaHRlLWNhcmQtZmEiIGlkPSJhZG1pbi1zZWt0aW9u +LWZhY2hhdWZzaWNodCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkZXRhaWxzIGNsYXNzPSJy +ZWNodGUtcm9sbGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeSBjbGFzcz0icmVj +aHRlLXJvbGxlLXN1bW1hcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xh +c3M9InJlY2h0ZS1jYXJkLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj7wn5GBPC9zcGFuPgogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJlY2h0ZS1yb2xsZS10aXRlbCI+ +PHN0cm9uZz5GYWNoYXVmc2ljaHQ8L3N0cm9uZz48c3BhbiBjbGFzcz0icmVjaHRlLWNhcmQtc3Vi +Ij5LbGFzc2lzY2hlIEF1ZnNpY2h0cy1Sb2xsZSBtaXQgZ3JhbnVsYXJlbiBTZWhlbi0gdW5kIFBs +YW51bmdzLVJlY2h0ZW4uIE9wdGlvbmFsIOKAnkdlc2FtdHZlcmFudHdvcnRsaWNoIiBmw7xyIFNj +aGljaHRiZXNldHp1bmcuPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg +IDxzcGFuIGNsYXNzPSJyZWNodGUtcm9sbGUtY2hldiIgYXJpYS1oaWRkZW49InRydWUiPuKWuDwv +c3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zdW1tYXJ5PgogICAgICAgICAgICAgICAg +ICAgICAgICA8ZGl2IGNsYXNzPSJyZWNodGUtcm9sbGUtYm9keSI+CiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWNodGUtcm9sbGUtYWt0aW9uIj48YnV0dG9uIGlkPSJi +dG4tZmFjaGF1ZnNpY2h0LW5ldSIgY2xhc3M9ImJ0biBidG4tZXJmb2xnIj5OZXVlciBGYWNoYXVm +c2ljaHQtRWludHJhZzwvYnV0dG9uPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGV0 +YWlscyBjbGFzcz0iYWRtaW4taW5mbyIgZGF0YS1pbmZvLWtleT0iZmFjaGF1ZnNpY2h0Ij4KICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5PjxzcGFuIGNsYXNzPSJhZG1pbi1pbmZv +LWNoZXYiPuKWuDwvc3Bhbj5IaW53ZWlzZSB6dXIgRmFjaGF1ZnNpY2h0PHNwYW4gY2xhc3M9ImFk +bWluLWluZm8tYmFkZ2UiPkF1ZmtsYXBwZW4gLyBadWtsYXBwZW48L3NwYW4+PC9zdW1tYXJ5Pgog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRtaW4taW5mby1ib2R5Ij4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48c3Ryb25nPlJvbGxlbi1IaWVyYXJj +aGllOjwvc3Ryb25nPiA8Y29kZT5TdXBlclVzZXIg4oaSIEZhY2hhdWZzaWNodCAvIERpcmVrdGlv +bnNsZWl0dW5nIC8gRsO8aHJ1bmdzc3RlbGxlIOKGkiBVc2VyPC9jb2RlPi4gU3VwZXJVc2VyIHN0 +aWNodCBhbGxlcy4gV2VyIGluIGtlaW5lciBSb2xsZW4tTGlzdGUgc3RlaHQsIHNpZWh0IHdlZGVy +IFN0YXRpc3RpayBub2NoIExvZ2J1Y2ggbm9jaCBBZG1pbmlzdHJhdGlvbi48L3A+CiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5TZWhlbi1CZXJlaWNoZTwvc3Ryb25n +PiAoSGFrZW4gPSBUYWIgaXN0IGbDvHIgZGllc2UgUGVyc29uIHNpY2h0YmFyKTo8L3A+CiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICA8bGk+PGI+QWRtaW5pc3RyYXRpb248L2I+IOKAlCBrb21wbGV0dGVyIEFkbWlu +LVRhYi4gPGI+QXVzZ2Vub21tZW46PC9iPiBTdXBlclVzZXItIHVuZCBSb2xsZW4tTGlzdGVuIChi +bGVpYmVuIFN1cGVyVXNlci1vbmx5KS48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICA8bGk+PGI+U3RhdGlzdGlrPC9iPiwgPGI+TG9nYnVjaDwvYj4sIDxiPkJhY2t1cHM8 +L2I+IOKAlCBqZXdlaWxzIGRlciBnYW56ZSBUYWIuPC9saT4KICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxzdHJv +bmc+UGxhbnVuZzo8L3N0cm9uZz4gUHJvIEZhY2hhdWZzaWNodCBmZXN0bGVnYmFyLCB3ZWxjaGUg +UGVyc29uZW4vR3J1cHBlbi9TdGFuZG9ydGUgZWRpdGllcnQgd2VyZGVuIGTDvHJmZW4g4oCUIGRp +ZSBlaWdlbmUgWmVpbGUgaXN0IGltbWVyIGltcGxpeml0IGVybGF1YnQuPC9wPgogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+R2VzYW10dmVyYW50d29ydHVuZzo8L3N0 +cm9uZz4gQmVrb21tdCBkZW4gSGVhZGVyLVRhYiA8ZW0+UHLDvGZ1bmc8L2VtPiBtaXQgNC1Xb2No +ZW4tw5xiZXJzaWNodCBpbmtsLiB2b3JnZWZlcnRpZ3RlciBFLU1haWwgYW4gYmV0cm9mZmVuZSBQ +ZXJzb25lbi48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAg +ICAgICAgICAgICAgICAgPC9kZXRhaWxzPgogICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUg +Y2xhc3M9ImFkbWluLXRhYmVsbGUiIGlkPSJmYWNoYXVmc2ljaHQtdGFiZWxsZSI+CiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+TmFtZTwvdGg+ +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5OVy1LZW5udW5nPC90aD4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDo2MHB4 +O3RleHQtYWxpZ246Y2VudGVyIiB0aXRsZT0iQWRtaW4tVGFiIHNlaGVuIj5BZG1pbjwvdGg+CiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6NzBweDt0 +ZXh0LWFsaWduOmNlbnRlciIgdGl0bGU9IkJlcmVpY2gtQS1UYWIgc2VoZW4iIGRhdGEtYmV6PSJm +YS5zcGFsdGVBIj5BdXN3ZXJ0dW5nPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgPHRoIHN0eWxlPSJ3aWR0aDo3MHB4O3RleHQtYWxpZ246Y2VudGVyIiB0aXRsZT0iQmVy +ZWljaC1CLVRhYiBzZWhlbiIgZGF0YS1iZXo9ImZhLnNwYWx0ZUIiPlByb3Rva29sbDwvdGg+CiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6NzBweDt0 +ZXh0LWFsaWduOmNlbnRlciIgdGl0bGU9IkJhY2t1cC1UYWIgc2VoZW4iPkJhY2t1cHM8L3RoPgog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjkwcHg7 +dGV4dC1hbGlnbjpjZW50ZXIiIHRpdGxlPSJHZXNhbXR2ZXJhbnR3b3J0bGljaCBmw7xyIGRpZSBC +ZXNldHp1bmcgYWxsZXIgRGllbnN0ZSI+R2VzYW10dmVyYW50dy48L3RoPgogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjIyMHB4IiB0aXRsZT0iR3Jh +bnVsYXJlIFNpY2h0YmFya2VpdCBwcm8gU3ViLVRhYiBkZXMgQWRtaW4tQmVyZWljaHMgKyBwcm8g +QmVyZWljaC1BIj5TdWItU2ljaHQ8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICA8dGggc3R5bGU9IndpZHRoOjIwMHB4Ij5QbGFudW5nPC90aD4KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDo4MHB4Ij5Ba3Rpb25lbjwvdGg+ +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAg +ICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHkgaWQ9 +ImZhY2hhdWZzaWNodC10Ym9keSI+PC90Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICAgPC90 +YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVjaHRlLWNhcmQtZnVz +cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tZmFjaGF1ZnNp +Y2h0LXNwZWljaGVybiIgY2xhc3M9ImJ0biBidG4tcHJpbWFlciI+RmFjaGF1ZnNpY2h0IHNwZWlj +aGVybjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9ImZhY2hh +dWZzaWNodC1kaXJ0eS1oaW53ZWlzIiBjbGFzcz0icmVjaHRlLWRpcnR5LWhpbndlaXMiIHN0eWxl +PSJkaXNwbGF5Om5vbmUiPuKXjyBVbmdlc3BlaWNoZXJ0ZSDDhG5kZXJ1bmdlbjwvc3Bhbj4KICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi10ZXN0LXJlZ3VsYWVyIiBj +bGFzcz0iYnRuIGJ0bi1zZWsgYnRuLWtsZWluIiBzdHlsZT0ibWFyZ2luLWxlZnQ6YXV0byIgdGl0 +bGU9Ik9iZXJmbMOkY2hlIGF1cyBTaWNodCBlaW5lcyBVc2VycyBvaG5lIFJvbGxlIHRlc3RlbiAo +a2VpbiBTVSwga2VpbmUgRmFjaGF1ZnNpY2h0L0RpcmVrdGlvbnNsZWl0dW5nL0bDvGhydW5nc3N0 +ZWxsZSkiPkFscyBVc2VyIG9obmUgUm9sbGUgdGVzdGVuPC9idXR0b24+CiAgICAgICAgICAgICAg +ICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJmYWNoYXVm +c2ljaHQta2Vpbi1yZWNodCIgY2xhc3M9InZlcnN0ZWNrdCByZWNodGUta2Vpbi1yZWNodCI+CiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWJveCIgc3R5bGU9ImJv +cmRlci1sZWZ0LWNvbG9yOnZhcigtLWZhcmJlLWZlaGxlcikiPgogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDxzdHJvbmc+S2VpbiBadWdyaWZmOjwvc3Ryb25nPiBOdXIgU3VwZXJVc2Vy +IGvDtm5uZW4gRmFjaGF1ZnNpY2h0LUVpbnRyw6RnZSBiZWFyYmVpdGVuLgogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAg +ICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2RldGFpbHM+CiAgICAgICAgICAgICAgICAgICAg +PC9zZWN0aW9uPgoKICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iYWRtaW4tc2Vr +dGlvbiByZWNodGUtY2FyZCByZWNodGUtY2FyZC1kbCIgaWQ9ImFkbWluLXNla3Rpb24tZGlyZWt0 +aW9uc2xlaXR1bmciPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGV0YWlscyBjbGFzcz0icmVj +aHRlLXJvbGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnkgY2xhc3M9InJlY2h0 +ZS1yb2xsZS1zdW1tYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz +PSJyZWNodGUtY2FyZC1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+4piFPC9zcGFuPgogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJlY2h0ZS1yb2xsZS10aXRlbCI+PHN0 +cm9uZz5EaXJla3Rpb25zbGVpdHVuZzwvc3Ryb25nPjxzcGFuIGNsYXNzPSJyZWNodGUtY2FyZC1z +dWIiPk1pdGdsaWVkZXIgZGVyIERpcmVrdGlvbnNsZWl0dW5nICh6LiBCLiBML0RpclYsIExQRGlu +KSDigJQgZ2xlaWNoZSBHcmFudWxhcml0w6R0IHdpZSBGYWNoYXVmc2ljaHQuPC9zcGFuPjwvc3Bh +bj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyZWNodGUtcm9sbGUt +Y2hldiIgYXJpYS1oaWRkZW49InRydWUiPuKWuDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAg +ICAgPC9zdW1tYXJ5PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWNodGUt +cm9sbGUtYm9keSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWNo +dGUtcm9sbGUtYWt0aW9uIj48YnV0dG9uIGlkPSJidG4tZGlyZWt0aW9uc2xlaXR1bmctbmV1IiBj +bGFzcz0iYnRuIGJ0bi1lcmZvbGciPk5ldWVyIERpcmVrdGlvbnNsZWl0dW5nLUVpbnRyYWc8L2J1 +dHRvbj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRldGFpbHMgY2xhc3M9ImFkbWlu +LWluZm8iIGRhdGEtaW5mby1rZXk9ImRpcmVrdGlvbnNsZWl0dW5nIj4KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDxzdW1tYXJ5PjxzcGFuIGNsYXNzPSJhZG1pbi1pbmZvLWNoZXYiPuKWuDwv +c3Bhbj5IaW53ZWlzZSB6dXIgRGlyZWt0aW9uc2xlaXR1bmc8c3BhbiBjbGFzcz0iYWRtaW4taW5m +by1iYWRnZSI+QXVma2xhcHBlbiAvIFp1a2xhcHBlbjwvc3Bhbj48L3N1bW1hcnk+CiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZG1pbi1pbmZvLWJvZHkiPgogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlBlcnNvbmVuIHdlcmRlbiDDvGJlciBkYXMgRHJv +cGRvd24gPGVtPlBlcnNvbjwvZW0+IGRpcmVrdCBhdXMgZGVyIFBlcnNvbmFsdmVyd2FsdHVuZyBn +ZXfDpGhsdCDigJQgTmFtZSB1bmQgTlctS2VubnVuZyB3ZXJkZW4gYXV0b21hdGlzY2ggw7xiZXJu +b21tZW4uIFN1Yi1TaWNodC0gdW5kIFBsYW51bmdzLVJlY2h0ZSBmdW5rdGlvbmllcmVuIHdpZSBi +ZWkgZGVyIEZhY2hhdWZzaWNodC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rp +dj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kZXRhaWxzPgogICAgICAgICAgICAgICAgICAg +ICAgICA8dGFibGUgY2xhc3M9ImFkbWluLXRhYmVsbGUgcm9sbGVuLXRhYmVsbGUiIGlkPSJkaXJl +a3Rpb25zbGVpdHVuZy10YWJlbGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVh +ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIDx0aD5QZXJzb248L3RoPgogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjYwcHg7dGV4dC1hbGlnbjpjZW50ZXIiIHRp +dGxlPSJBZG1pbi1UYWIgc2VoZW4iPkFkbWluPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDo3MHB4O3RleHQtYWxpZ246Y2VudGVyIiB0aXRs +ZT0iU3RhdGlzdGlrLVRhYiBzZWhlbiI+U3RhdGlzdGlrPC90aD4KICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDo3MHB4O3RleHQtYWxpZ246Y2VudGVy +IiB0aXRsZT0iTG9nYnVjaC1UYWIgc2VoZW4iPkxvZ2J1Y2g8L3RoPgogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjcwcHg7dGV4dC1hbGlnbjpjZW50 +ZXIiIHRpdGxlPSJCYWNrdXAtVGFiIHNlaGVuIj5CYWNrdXBzPC90aD4KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDoyMjBweCIgdGl0bGU9IkdyYW51 +bGFyZSBTaWNodGJhcmtlaXQgcHJvIFN1Yi1UYWIiPlN1Yi1TaWNodDwvdGg+CiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6MjAwcHgiPlBsYW51bmc8 +L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRo +OjgwcHgiPkFrdGlvbmVuPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Ry +PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgICAg +ICAgICAgICAgIDx0Ym9keSBpZD0iZGlyZWt0aW9uc2xlaXR1bmctdGJvZHkiPjwvdGJvZHk+CiAg +ICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxk +aXYgY2xhc3M9InJlY2h0ZS1jYXJkLWZ1c3MiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg +PGJ1dHRvbiBpZD0iYnRuLWRpcmVrdGlvbnNsZWl0dW5nLXNwZWljaGVybiIgY2xhc3M9ImJ0biBi +dG4tcHJpbWFlciI+RGlyZWt0aW9uc2xlaXR1bmcgc3BlaWNoZXJuPC9idXR0b24+CiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0iZGlyZWt0aW9uc2xlaXR1bmctZGlydHktaGlu +d2VpcyIgY2xhc3M9InJlY2h0ZS1kaXJ0eS1oaW53ZWlzIiBzdHlsZT0iZGlzcGxheTpub25lIj7i +l48gVW5nZXNwZWljaGVydGUgw4RuZGVydW5nZW48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAg +ICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJkaXJla3Rpb25zbGVp +dHVuZy1rZWluLXJlY2h0IiBjbGFzcz0idmVyc3RlY2t0IHJlY2h0ZS1rZWluLXJlY2h0Ij4KICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8tYm94IiBzdHlsZT0iYm9y +ZGVyLWxlZnQtY29sb3I6dmFyKC0tZmFyYmUtZmVobGVyKSI+CiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgPHN0cm9uZz5LZWluIFp1Z3JpZmY6PC9zdHJvbmc+IE51ciBTdXBlclVzZXIg +a8O2bm5lbiBEaXJla3Rpb25zbGVpdHVuZ3MtRWludHLDpGdlIGJlYXJiZWl0ZW4uCiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ +CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGV0YWlscz4KICAgICAgICAgICAgICAg +ICAgICA8L3NlY3Rpb24+CgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJhZG1p +bi1zZWt0aW9uIHJlY2h0ZS1jYXJkIHJlY2h0ZS1jYXJkLWZzIiBpZD0iYWRtaW4tc2VrdGlvbi1m +dWVocnVuZ3NzdGVsbGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGV0YWlscyBjbGFzcz0i +cmVjaHRlLXJvbGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnkgY2xhc3M9InJl +Y2h0ZS1yb2xsZS1zdW1tYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNs +YXNzPSJyZWNodGUtY2FyZC1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+4peGPC9zcGFuPgogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJlY2h0ZS1yb2xsZS10aXRlbCI+ +PHN0cm9uZz5Gw7xocnVuZ3NzdGVsbGU8L3N0cm9uZz48c3BhbiBjbGFzcz0icmVjaHRlLWNhcmQt +c3ViIj5NaXRhcmJlaXRlbmRlIGRlciBGw7xocnVuZ3NzdGVsbGUgKHouIEIuIEwvVkkzIHVuZCBT +dGFiKSDigJQgZ2xlaWNoZSBHcmFudWxhcml0w6R0IHdpZSBGYWNoYXVmc2ljaHQuPC9zcGFuPjwv +c3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyZWNodGUtcm9s +bGUtY2hldiIgYXJpYS1oaWRkZW49InRydWUiPuKWuDwvc3Bhbj4KICAgICAgICAgICAgICAgICAg +ICAgICAgPC9zdW1tYXJ5PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWNo +dGUtcm9sbGUtYm9keSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJy +ZWNodGUtcm9sbGUtYWt0aW9uIj48YnV0dG9uIGlkPSJidG4tZnVlaHJ1bmdzc3RlbGxlLW5ldSIg +Y2xhc3M9ImJ0biBidG4tZXJmb2xnIj5OZXVlciBGw7xocnVuZ3NzdGVsbGUtRWludHJhZzwvYnV0 +dG9uPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGV0YWlscyBjbGFzcz0iYWRtaW4t +aW5mbyIgZGF0YS1pbmZvLWtleT0iZnVlaHJ1bmdzc3RlbGxlIj4KICAgICAgICAgICAgICAgICAg +ICAgICAgICAgIDxzdW1tYXJ5PjxzcGFuIGNsYXNzPSJhZG1pbi1pbmZvLWNoZXYiPuKWuDwvc3Bh +bj5IaW53ZWlzZSB6dXIgRsO8aHJ1bmdzc3RlbGxlPHNwYW4gY2xhc3M9ImFkbWluLWluZm8tYmFk +Z2UiPkF1ZmtsYXBwZW4gLyBadWtsYXBwZW48L3NwYW4+PC9zdW1tYXJ5PgogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRtaW4taW5mby1ib2R5Ij4KICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA8cD5QZXJzb25lbiB3ZXJkZW4gw7xiZXIgZGFzIERyb3Bkb3du +IDxlbT5QZXJzb248L2VtPiBkaXJla3QgYXVzIGRlciBQZXJzb25hbHZlcndhbHR1bmcgZ2V3w6Ro +bHQuIFNjaGVtYSB1bmQgR3JhbnVsYXJpdMOkdCBhbmFsb2cgenVyIERpcmVrdGlvbnNsZWl0dW5n +LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAg +ICAgICAgICA8L2RldGFpbHM+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0i +YWRtaW4tdGFiZWxsZSByb2xsZW4tdGFiZWxsZSIgaWQ9ImZ1ZWhydW5nc3N0ZWxsZS10YWJlbGxl +Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0 +aD5QZXJzb248L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5 +bGU9IndpZHRoOjYwcHg7dGV4dC1hbGlnbjpjZW50ZXIiIHRpdGxlPSJBZG1pbi1UYWIgc2VoZW4i +PkFkbWluPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxl +PSJ3aWR0aDo3MHB4O3RleHQtYWxpZ246Y2VudGVyIiB0aXRsZT0iU3RhdGlzdGlrLVRhYiBzZWhl +biI+U3RhdGlzdGlrPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRo +IHN0eWxlPSJ3aWR0aDo3MHB4O3RleHQtYWxpZ246Y2VudGVyIiB0aXRsZT0iTG9nYnVjaC1UYWIg +c2VoZW4iPkxvZ2J1Y2g8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 +dGggc3R5bGU9IndpZHRoOjcwcHg7dGV4dC1hbGlnbjpjZW50ZXIiIHRpdGxlPSJCYWNrdXAtVGFi +IHNlaGVuIj5CYWNrdXBzPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +PHRoIHN0eWxlPSJ3aWR0aDoyMjBweCIgdGl0bGU9IkdyYW51bGFyZSBTaWNodGJhcmtlaXQgcHJv +IFN1Yi1UYWIiPlN1Yi1TaWNodDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIDx0aCBzdHlsZT0id2lkdGg6MjAwcHgiPlBsYW51bmc8L3RoPgogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjgwcHgiPkFrdGlvbmVuPC90aD4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keSBpZD0i +ZnVlaHJ1bmdzc3RlbGxlLXRib2R5Ij48L3Rib2R5PgogICAgICAgICAgICAgICAgICAgICAgICA8 +L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWNodGUtY2FyZC1m +dXNzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1mdWVocnVu +Z3NzdGVsbGUtc3BlaWNoZXJuIiBjbGFzcz0iYnRuIGJ0bi1wcmltYWVyIj5Gw7xocnVuZ3NzdGVs +bGUgc3BlaWNoZXJuPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBp +ZD0iZnVlaHJ1bmdzc3RlbGxlLWRpcnR5LWhpbndlaXMiIGNsYXNzPSJyZWNodGUtZGlydHktaGlu +d2VpcyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+4pePIFVuZ2VzcGVpY2hlcnRlIMOEbmRlcnVuZ2Vu +PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAg +ICAgICAgPGRpdiBpZD0iZnVlaHJ1bmdzc3RlbGxlLWtlaW4tcmVjaHQiIGNsYXNzPSJ2ZXJzdGVj +a3QgcmVjaHRlLWtlaW4tcmVjaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBj +bGFzcz0iaW5mby1ib3giIHN0eWxlPSJib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1mYXJiZS1mZWhs +ZXIpIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPktlaW4gWnVncmlm +Zjo8L3N0cm9uZz4gTnVyIFN1cGVyVXNlciBrw7ZubmVuIEbDvGhydW5nc3N0ZWxsZW4tRWludHLD +pGdlIGJlYXJiZWl0ZW4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAg +ICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pjwv +ZGV0YWlscz4KICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgICAgICAgICAg +PC9kaXY+CgogICAgICAgICAgICAgICAgPCEtLSBUYWI6IFN0YW5kYXJkcmVjaHRlIHJlZ3VsYWVy +ZXIgVXNlciAoU1Utb25seSkg4oCUIGdydW5kc2FldHpsaWNoZQogICAgICAgICAgICAgICAgICAg +ICBQbGFudW5nc3JlY2h0ZSBmdWVyIGFsbGUgb2huZSBSb2xsZSAoZ2VnZW5zZWl0aWdlIFBsYW51 +bmcgamUKICAgICAgICAgICAgICAgICAgICAgRGllbnN0Z3J1cHBlL1N0YW5kb3J0KSArIExpc3Rl +IGRlciBVc2VyIG1pdCBadXNhdHpyZWNodGVuLiAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xh +c3M9ImFkbWluLXRhYiB2ZXJzdGVja3QiIGlkPSJhZG1pbi10YWItc3RhbmRhcmRyZWNodGUiPgog +ICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFkbWluLWtvcGYiPgogICAgICAgICAgICAg +ICAgICAgICAgICA8aDI+U3RhbmRhcmRyZWNodGUgcmVndWzDpHJlciBVc2VyPC9oMj4KICAgICAg +ICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbjo2cHggMCAwIDA7Zm9udC1zaXplOjEy +cHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCkiPkdydW5kcmVnZWxuLCBkaWUgZsO8ciA8c3Ryb25n +PmFsbGU8L3N0cm9uZz4gTWl0YXJiZWl0ZW5kZW4gb2huZSBlaWdlbmUgUm9sbGUgZ2VsdGVuIOKA +lCB6LkIuIOKAnmFsbGUgZWluZXIgRGllbnN0Z3J1cHBlIHBsYW5lbiBzaWNoIGdlZ2Vuc2VpdGln +IiBvZGVyIOKAnmFsbGUgZWluZXMgU3RhbmRvcnRzIHBsYW5lbiBzaWNoIGdlZ2Vuc2VpdGlnIi4g +RGFydW50ZXI6IMOcYmVyc2ljaHQgYWxsZXIgVXNlciwgZGllIGluIGRlciBQZXJzb25hbHZlcndh +bHR1bmcgPHN0cm9uZz56dXPDpHR6bGljaGU8L3N0cm9uZz4gaW5kaXZpZHVlbGxlIFJlY2h0ZSBi +ZWtvbW1lbiBoYWJlbi48L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAg +ICAgICAgICAgPGRpdiBpZD0ic3RhbmRhcmRyZWNodGUtaW5oYWx0Ij48L2Rpdj4KICAgICAgICAg +ICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgIDwvbWFpbj4KICAgICAgICA8L2Rpdj4KICAgIDwv +ZGl2PgoKICAgIDwhLS0gPT09PT09PT09PSBNb2RhbGVyIERpYWxvZyAod2llZGVydmVyd2VuZGJh +cikgPT09PT09PT09PSAtLT4KICAgIDwhLS0gYTExeSAoU3ByaW50IDZhIDIwMjYtMDUtMjkpOiBy +b2xlPWRpYWxvZyArIGFyaWEtbW9kYWwgKyBsYWJlbGxlZGJ5CiAgICAgICAgIG1hY2h0IGRlbiBN +b2RhbC1Lb250ZXh0IGZ1ZXIgU2NyZWVucmVhZGVyIGV4cGxpeml0LiBhcmlhLWhpZGRlbiB3aXJk +CiAgICAgICAgIHZvbSBtb2RhbFplaWdlbigpLUNvZGUgYmVpbSBPcGVuL0Nsb3NlIGdlc2V0enQu +IC0tPgogICAgPGRpdiBpZD0ibW9kYWwtb3ZlcmxheSIgY2xhc3M9Im1vZGFsIHZlcnN0ZWNrdCIg +cm9sZT0iZGlhbG9nIiBhcmlhLW1vZGFsPSJ0cnVlIiBhcmlhLWxhYmVsbGVkYnk9Im1vZGFsLXRp +dGVsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtaW5oYWx0 +IiBpZD0ibW9kYWwtYm94Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwta29wZiI+CiAg +ICAgICAgICAgICAgICA8aDIgaWQ9Im1vZGFsLXRpdGVsIj48L2gyPgogICAgICAgICAgICAgICAg +PGJ1dHRvbiBjbGFzcz0ibW9kYWwtc2NobGllc3NlbiIgaWQ9Im1vZGFsLXNjaGxpZXNzZW4tYnRu +IiBhcmlhLWxhYmVsPSJTY2hsaWXDn2VuIj4mdGltZXM7PC9idXR0b24+CiAgICAgICAgICAgIDwv +ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1rb2VycGVyIiBpZD0ibW9kYWwta29l +cnBlciI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWZ1c3MiIGlkPSJtb2Rh +bC1mdXNzIj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gQ29uZmly +bS1PdmVybGF5IChTcHJpbnQgNSDigJQgTW9kYWwtU3RhY2sgMjAyNi0wNS0yOSk6CiAgICAgICAg +IEVpZ2VuZXIgQ29udGFpbmVyIG1pdCBob2VoZXJlbSB6LWluZGV4LCBkYW1pdCBiZXN0YWV0aWdl +bigpLURpYWxvZ2UKICAgICAgICAgSU5ORVJIQUxCIGVpbmVzIGdlb2VmZm5ldGVuIEhhdXB0bW9k +YWxzIGVyc2NoZWluZW4ga29lbm5lbiwgb2huZQogICAgICAgICBkZXNzZW4gSW5oYWx0IHp1IHVl +YmVyc2NocmVpYmVuLiBWb3JoZXIgaGFiZW4gQ29uZmlybS1BdWZydWZlCiAgICAgICAgICh6LkIu +ICJXaXJrbGljaCBsb2VzY2hlbj8iIGJlaW0gUGVyc29uLUJlYXJiZWl0ZW4pIGRhcyB1bWdlYmVu +ZGUKICAgICAgICAgTW9kYWwgemVyc3RvZXJ0OyBuYWNoICJBYmJyZWNoZW4iIHdhciBkaWUgQmVh +cmJlaXR1bmcgd2VnLiAtLT4KICAgIDxkaXYgaWQ9ImNvbmZpcm0tb3ZlcmxheSIgY2xhc3M9Im1v +ZGFsIHZlcnN0ZWNrdCIgcm9sZT0iZGlhbG9nIiBhcmlhLW1vZGFsPSJ0cnVlIiBhcmlhLWxhYmVs +bGVkYnk9ImNvbmZpcm0tdGl0ZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0iei1pbmRleDpj +YWxjKHZhcigtLXotb3ZlcmxheSkgKyAxMCkiPgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWlu +aGFsdCIgaWQ9ImNvbmZpcm0tYm94IiBzdHlsZT0ibWF4LXdpZHRoOjQ4MHB4Ij4KICAgICAgICAg +ICAgPGRpdiBjbGFzcz0ibW9kYWwta29wZiI+CiAgICAgICAgICAgICAgICA8aDIgaWQ9ImNvbmZp +cm0tdGl0ZWwiPkJlc3TDpHRpZ3VuZzwvaDI+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNz +PSJtb2RhbC1zY2hsaWVzc2VuIiBpZD0iY29uZmlybS1zY2hsaWVzc2VuLWJ0biIgYXJpYS1sYWJl +bD0iU2NobGllw59lbiI+JnRpbWVzOzwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAg +ICAgICAgPGRpdiBjbGFzcz0ibW9kYWwta29lcnBlciIgaWQ9ImNvbmZpcm0ta29lcnBlciI+PC9k +aXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWZ1c3MiIGlkPSJjb25maXJtLWZ1c3Mi +PjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBUb2FzdC1Db250YWlu +ZXIgLS0+CiAgICA8ZGl2IGlkPSJ0b2FzdC1jb250YWluZXIiIHJvbGU9InN0YXR1cyIgYXJpYS1s +aXZlPSJwb2xpdGUiIGFyaWEtYXRvbWljPSJmYWxzZSI+PC9kaXY+CgogICAgPHNjcmlwdCB0eXBl +PSJtb2R1bGUiIHNyYz0iYXBwLmpzIj48L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg== +### FILE: info.html | 12765 +PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9ImRlIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9InV0 +Zi04Ij4KPHRpdGxlPlZJMyBER0wtUGxhbnVuZyDigJQgS3VyemluZm9ybWF0aW9uPC90aXRsZT4K +PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFs +LXNjYWxlPTEiPgo8c3R5bGU+CiAgOnJvb3QgewogICAgLS1iZzogI0VFRjFGMjsKICAgIC0tY2Fy +ZDogI0ZGRkZGRjsKICAgIC0tY2FyZC1hbHQ6ICNGN0Y5Rjk7CiAgICAtLXRleHQ6ICMxRTJBMzA7 +CiAgICAtLW11dGVkOiAjNjE3MjdCOwogICAgLS1saW5lOiAjRERFM0U1OwogICAgLS1hY2NlbnQ6 +ICMxRjRFNUY7CiAgICAtLWFjY2VudC0yOiAjMkU3Mjg2OwogICAgLS1vazogIzJFN0QzMjsKICAg +IC0td2FybjogI0M3NzgwMDsKICAgIC0tZXJyOiAjQjcxQzFDOwogICAgLS1yYWRpdXM6IDEwcHg7 +CiAgfQogICogeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9CiAgaHRtbCB7IC13ZWJraXQtdGV4 +dC1zaXplLWFkanVzdDogMTAwJTsgfQogIGJvZHkgewogICAgZm9udC1mYW1pbHk6ICJTZWdvZSBV +SSIsIFJvYm90bywgLWFwcGxlLXN5c3RlbSwgVGFob21hLCBzYW5zLXNlcmlmOwogICAgYmFja2dy +b3VuZDogdmFyKC0tYmcpOwogICAgY29sb3I6IHZhcigtLXRleHQpOwogICAgbWFyZ2luOiAwOwog +ICAgcGFkZGluZzogMjhweCAxNnB4IDcycHg7CiAgICBsaW5lLWhlaWdodDogMS41NTsKICAgIGZv +bnQtc2l6ZTogMTVweDsKICB9CiAgLmNvbnRhaW5lciB7IG1heC13aWR0aDogOTIwcHg7IG1hcmdp +bjogMCBhdXRvOyB9CgogIC8qIC0tLS0gS29wZiAtLS0tICovCiAgaGVhZGVyIHsKICAgIGJhY2tn +cm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWFjY2VudCkgMCUsICMxNjM2M2Yg +MTAwJSk7CiAgICBjb2xvcjogI2ZmZjsKICAgIHBhZGRpbmc6IDMwcHggMzJweCAyNnB4OwogICAg +Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKSB2YXIoLS1yYWRpdXMpIDAgMDsKICB9CiAgLmtp +Y2tlciB7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgbGV0dGVyLXNwYWNpbmc6 +IDEuNXB4OwogICAgZm9udC1zaXplOiAxMXB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGNv +bG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNzIpOwogICAgbWFyZ2luOiAwIDAgOHB4OwogIH0KICBo +ZWFkZXIgaDEgeyBtYXJnaW46IDAgMCA2cHg7IGZvbnQtc2l6ZTogMjdweDsgZm9udC13ZWlnaHQ6 +IDcwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMnB4OyB9CiAgaGVhZGVyIC5zdWIgeyBtYXJnaW46IDA7 +IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuODgpOyBmb250LXNpemU6IDE0LjVweDsgbWF4LXdp +ZHRoOiA2NDBweDsgfQogIC5jaGlwcyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsg +Z2FwOiA4cHg7IG1hcmdpbi10b3A6IDE4cHg7IH0KICAuY2hpcCB7CiAgICBiYWNrZ3JvdW5kOiBy +Z2JhKDI1NSwyNTUsMjU1LDAuMTMpOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1 +LDI1NSwwLjIyKTsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgcGFk +ZGluZzogNHB4IDExcHg7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICB3aGl0ZS1zcGFjZTog +bm93cmFwOwogIH0KCiAgbWFpbiB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkKTsKICAgIGJv +cmRlci1yYWRpdXM6IDAgMCB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cyk7CiAgICBwYWRkaW5n +OiA4cHggMzJweCAzMHB4OwogICAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDAsMCwwLDAu +MDcpOwogIH0KCiAgaDIgewogICAgY29sb3I6IHZhcigtLWFjY2VudCk7CiAgICBmb250LXNpemU6 +IDE3cHg7CiAgICBtYXJnaW46IDM0cHggMCAxNHB4OwogICAgcGFkZGluZy1ib3R0b206IDdweDsK +ICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1saW5lKTsKICAgIGRpc3BsYXk6IGZs +ZXg7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgZ2FwOiAxMHB4OwogIH0KICBoMiAubnVtIHsKICAg +IGZvbnQtc2l6ZTogMTJweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICNmZmY7CiAgICBiYWNr +Z3JvdW5kOiB2YXIoLS1hY2NlbnQtMik7CiAgICBib3JkZXItcmFkaXVzOiA1cHg7IHBhZGRpbmc6 +IDJweCA3cHg7IGxpbmUtaGVpZ2h0OiAxLjQ7CiAgfQogIHAgeyBtYXJnaW46IDEwcHggMDsgfQog +IC5sZWFkIHsgZm9udC1zaXplOiAxNS41cHg7IGNvbG9yOiB2YXIoLS10ZXh0KTsgfQogIC5tdXRl +ZCB7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IH0KCiAgLyogLS0tLSBLYXJ0ZW4tUmFzdGVyIC0tLS0g +Ki8KICAuZ3JpZCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5z +OiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNTBweCwgMWZyKSk7CiAgICBnYXA6IDE0cHg7CiAg +ICBtYXJnaW46IDE2cHggMDsKICB9CiAgLmNhcmQgewogICAgYm9yZGVyOiAxcHggc29saWQgdmFy +KC0tbGluZSk7CiAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICBwYWRkaW5nOiAxNXB4IDE3cHg7 +CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkLWFsdCk7CiAgfQogIC5jYXJkIGgzIHsgbWFyZ2lu +OiAwIDAgOXB4OyBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLWFjY2VudCk7IGRpc3Bs +YXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyB9CiAgLmNhcmQgdWwgeyBt +YXJnaW46IDA7IHBhZGRpbmctbGVmdDogMThweDsgfQogIC5jYXJkIGxpIHsgbWFyZ2luOiA1cHgg +MDsgZm9udC1zaXplOiAxMy41cHg7IH0KICAuY2FyZC5yb2xsZSBwIHsgZm9udC1zaXplOiAxMy41 +cHg7IG1hcmdpbjogMDsgY29sb3I6ICMzNjQ3NGY7IH0KCiAgLmJhZGdlIHsKICAgIGRpc3BsYXk6 +IGlubGluZS1ibG9jazsgcGFkZGluZzogMnB4IDlweDsgYm9yZGVyLXJhZGl1czogNHB4OwogICAg +Zm9udC1zaXplOiAxMXB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogI2ZmZjsgbGluZS1oZWln +aHQ6IDEuNTsKICB9CiAgLmItc3UgICB7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7IH0KICAu +Yi1mYSAgIHsgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LTIpOyB9CiAgLmItdXNlciB7IGJhY2tn +cm91bmQ6IHZhcigtLW11dGVkKTsgfQoKICAuaW5mby1ib3ggewogICAgYmFja2dyb3VuZDogI0VB +RjJGNTsKICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tYWNjZW50LTIpOwogICAgcGFk +ZGluZzogMTFweCAxNXB4OyBtYXJnaW46IDE2cHggMDsgYm9yZGVyLXJhZGl1czogMCA2cHggNnB4 +IDA7CiAgICBmb250LXNpemU6IDEzLjVweDsKICB9CgogIHVsLmZsYXQgeyBtYXJnaW46IDhweCAw +OyBwYWRkaW5nOiAwOyBsaXN0LXN0eWxlOiBub25lOyB9CiAgdWwuZmxhdCBsaSB7IHBhZGRpbmc6 +IDdweCAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGZvbnQtc2l6ZTog +MTMuNXB4OyB9CiAgdWwuZmxhdCBsaTpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsg +fQoKICBjb2RlIHsKICAgIGJhY2tncm91bmQ6ICNFN0VDRUU7IGNvbG9yOiAjMjQ0MDQ5OyBwYWRk +aW5nOiAxcHggNnB4OwogICAgYm9yZGVyLXJhZGl1czogNHB4OyBmb250LXNpemU6IDEyLjVweDsK +ICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsICJDYXNjYWRpYSBDb2RlIiwgQ29uc29sYXMs +IG1vbm9zcGFjZTsKICB9CgogIHRhYmxlIHsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgd2lk +dGg6IDEwMCU7IGZvbnQtc2l6ZTogMTMuNXB4OyBtYXJnaW46IDEwcHggMDsgfQogIHRoLCB0ZCB7 +IHBhZGRpbmc6IDhweCAxMXB4OyB0ZXh0LWFsaWduOiBsZWZ0OyBib3JkZXItYm90dG9tOiAxcHgg +c29saWQgdmFyKC0tbGluZSk7IH0KICB0aCB7IGJhY2tncm91bmQ6IHZhcigtLWNhcmQtYWx0KTsg +Y29sb3I6IHZhcigtLWFjY2VudCk7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KICB0ZCBjb2RlIHsgYmFj +a2dyb3VuZDogI0U3RUNFRTsgfQoKICBmb290ZXIgewogICAgdGV4dC1hbGlnbjogY2VudGVyOyBj +b2xvcjogdmFyKC0tbXV0ZWQpOyBmb250LXNpemU6IDEycHg7CiAgICBtYXJnaW4tdG9wOiAzMHB4 +OyBwYWRkaW5nLXRvcDogMTRweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpOwog +IH0KICBAbWVkaWEgKG1heC13aWR0aDogNTYwcHgpIHsKICAgIG1haW4sIGhlYWRlciB7IHBhZGRp +bmctbGVmdDogMjBweDsgcGFkZGluZy1yaWdodDogMjBweDsgfQogICAgaGVhZGVyIGgxIHsgZm9u +dC1zaXplOiAyM3B4OyB9CiAgfQo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgogIDxkaXYgY2xhc3M9 +ImNvbnRhaW5lciI+CiAgICA8aGVhZGVyPgogICAgICA8cCBjbGFzcz0ia2lja2VyIj5BbndlbmR1 +bmdzLUluZm9ybWF0aW9uPC9wPgogICAgICA8aDE+VkkzIERHTC1QbGFudW5nPC9oMT4KICAgICAg +PHAgY2xhc3M9InN1YiI+V2ViLWJhc2llcnRlIERpZW5zdHBsYW51bmcgZGVyIFZlcmtlaHJzaW5z +cGVrdGlvbiAzIOKAlCBBYmzDtnN1bmcgZGVyIGZyw7xoZXJlbiBFeGNlbC1NYWtyby1Mw7ZzdW5n +LCBhdXNnZWxlZ3QgZsO8ciBtZWhyZXJlIGdsZWljaHplaXRpZ2UgQmVhcmJlaXRlciBvaG5lIERh +dGVpLUtvbmZsaWt0ZS48L3A+CiAgICAgIDxkaXYgY2xhc3M9ImNoaXBzIj4KICAgICAgICA8c3Bh +biBjbGFzcz0iY2hpcCI+TMOkdWZ0IG9mZmxpbmUgYXVmIGxvY2FsaG9zdDwvc3Bhbj4KICAgICAg +ICA8c3BhbiBjbGFzcz0iY2hpcCI+S2VpbmUgQ2xvdWQsIGtlaW4gSW50ZXJuZXQ8L3NwYW4+CiAg +ICAgICAgPHNwYW4gY2xhc3M9ImNoaXAiPn40NiBQZXJzb25lbiDCtyA2IERpZW5zdGdydXBwZW48 +L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNoaXAiPkpTT04tRGF0ZW5oYWx0dW5nPC9zcGFu +PgogICAgICA8L2Rpdj4KICAgIDwvaGVhZGVyPgogICAgPG1haW4+CgogICAgICA8aDI+PHNwYW4g +Y2xhc3M9Im51bSI+MTwvc3Bhbj4gw5xiZXJibGljazwvaDI+CiAgICAgIDxwIGNsYXNzPSJsZWFk +Ij4KICAgICAgICBEaWUgVkkzIERHTC1QbGFudW5nIHZlcndhbHRldCBkaWUgU2NoaWNodHBsYW51 +bmcgdm9uIHJ1bmQgNDYgUGVyc29uZW4KICAgICAgICBpbiA2IERpZW5zdGdydXBwZW4gw7xiZXIg +bWVocmVyZSBTdGFuZG9ydGUuIFNpZSBsw6R1ZnQgbG9rYWw6IERlciBCcm93c2VyCiAgICAgICAg +dmVyYmluZGV0IHNpY2ggYXVzc2NobGllw59saWNoIG1pdCA8Y29kZT5sb2NhbGhvc3Q8L2NvZGU+ +LCBkaWUgRGF0ZW4KICAgICAgICBsaWVnZW4gYWxzIEpTT04tRGF0ZWllbiBhdWYgZGVtIGRpZW5z +dGxpY2hlbiBOZXR6bGF1ZndlcmsuIE1laHJlcmUKICAgICAgICBCZWFyYmVpdGVyIGFyYmVpdGVu +IGdsZWljaHplaXRpZyDigJQgw4RuZGVydW5nZW4gd2VyZGVuIGxpdmUgYWJnZWdsaWNoZW4sCiAg +ICAgICAgS29uZmxpa3RlIGVya2FubnQgdW5kIGdlbWVsZGV0LgogICAgICA8L3A+CgogICAgICA8 +aDI+PHNwYW4gY2xhc3M9Im51bSI+Mjwvc3Bhbj4gUm9sbGVuICZhbXA7IFJlY2h0ZTwvaDI+CiAg +ICAgIDxkaXYgY2xhc3M9ImdyaWQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgcm9sbGUiPgog +ICAgICAgICAgPGgzPjxzcGFuIGNsYXNzPSJiYWRnZSBiLXN1Ij5TdXBlclVzZXI8L3NwYW4+PC9o +Mz4KICAgICAgICAgIDxwPlZvbGxlciBadWdyaWZmLiBQZmxlZ3QgU3RhbW1kYXRlbiwgRGllbnN0 +Z3J1cHBlbiwgU3RhbmRvcnRlLAogICAgICAgICAgU2NoaWNodGNvZGVzLCBLYWxlbmRlciB1bmQg +4oCUIGV4a2x1c2l2IOKAlCBkaWUgU3VwZXJVc2VyLSB1bmQKICAgICAgICAgIEZhY2hhdWZzaWNo +dC1MaXN0ZW4uIE1pbmRlc3RlbnMgZWluIFN1cGVyVXNlciBpc3QgaW1tZXIgYWt0aXYuPC9wPgog +ICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgcm9sbGUiPgogICAgICAgICAg +PGgzPjxzcGFuIGNsYXNzPSJiYWRnZSBiLWZhIj5GYWNoYXVmc2ljaHQ8L3NwYW4+PC9oMz4KICAg +ICAgICAgIDxwPkdyYW51bGFyIGZyZWlzY2hhbHRiYXI6IEFkbWluaXN0cmF0aW9uLCBTdGF0aXN0 +aWssIExvZ2J1Y2gsCiAgICAgICAgICBCYWNrdXBzIOKAlCBzb3dpZSB3ZWxjaGUgUGVyc29uZW4s +IERpZW5zdGdydXBwZW4gb2RlciBTdGFuZG9ydGUgZWRpdGllcnQKICAgICAgICAgIHdlcmRlbiBk +w7xyZmVuLiBPcHRpb25hbCDigJ5nZXNhbXR2ZXJhbnR3b3J0bGljaCIgKGVyaMOkbHQgSGlud2Vp +c2UpLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHJvbGxlIj4K +ICAgICAgICAgIDxoMz48c3BhbiBjbGFzcz0iYmFkZ2UgYi11c2VyIj5SZWd1bMOkcmVyIFVzZXI8 +L3NwYW4+PC9oMz4KICAgICAgICAgIDxwPlNpZWh0IFBsYW51bmcsIFdvY2hlbnBsYW4gdW5kIHBl +cnPDtm5saWNoZW4gUGxhbi4gQmVhcmJlaXRldCBkaWUKICAgICAgICAgIGVpZ2VuZSBaZWlsZSB1 +bmQgZGFzIGVpZ2VuZSBNaWtyb3RlYW0uIEFkbWluL1N0YXRpc3Rpay9Mb2didWNoIGJsZWliZW4K +ICAgICAgICAgIGF1c2dlYmxlbmRldCDigJQgYmVpIEJlZGFyZiBnZXppZWx0IGVyd2VpdGVyYmFy +LjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImluZm8t +Ym94Ij4KICAgICAgICA8Yj5QcmluemlwOjwvYj4gU3VwZXJVc2VyJm5ic3A7Jmd0OyZuYnNwO0Zh +Y2hhdWZzaWNodCZuYnNwOyZndDsmbmJzcDtyZWd1bMOkcmVyJm5ic3A7VXNlci4KICAgICAgICBK +ZWRlciBaZWxsLUtsaWNrIHdpcmQgc2VydmVyc2VpdGlnIGdlZ2VuIGRpZSBlaWdlbmVuIFJlY2h0 +ZSBnZXByw7xmdDsKICAgICAgICBuaWNodCBlZGl0aWVyYmFyZSBaZWxsZW4gZXJzY2hlaW5lbiBn +ZWTDpG1wZnQgdW5kIHNpbmQgZ2VzcGVycnQuCiAgICAgIDwvZGl2PgoKICAgICAgPGgyPjxzcGFu +IGNsYXNzPSJudW0iPjM8L3NwYW4+IEZ1bmt0aW9uZW48L2gyPgogICAgICA8ZGl2IGNsYXNzPSJn +cmlkIj4KCiAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgICA8aDM+UGxhbnVuZyAm +YW1wOyBBbnNpY2h0ZW48L2gzPgogICAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+SmFocmVz +cGxhbnVuZyBtaXQgcnVuZCAzMCBmYXJiY29kaWVydGVuIFNjaGljaHRjb2RlcyAoRnLDvGgtL1Nw +w6R0LS9OYWNodC1ER0wsIFdERiwgRkJQLCBBYndlc2VuaGVpdGVuLCBTb25kZXJkaWVuc3RlKTwv +bGk+CiAgICAgICAgICAgIDxsaT5UYWdlcy1TdMOkcmtlIGplIFNjaGljaHQsIFVudGVyYmVzZXR6 +dW5nIGZhcmJsaWNoIG1hcmtpZXJ0PC9saT4KICAgICAgICAgICAgPGxpPkF1dG9tYXRpc2NoZXIg +4oCedmVyYW50d29ydGxpY2hlciBER0wiIG5hY2ggUmFuZzwvbGk+CiAgICAgICAgICAgIDxsaT5T +Y2hpY2h0cm90YXRpb24gcHJvIFN0YW5kb3J0IChBQkMvQkNBL0NBQik8L2xpPgogICAgICAgICAg +ICA8bGk+V29jaGVucGxhbiBpbiBBdXNoYW5nLU9wdGlrICZhbXA7IHBlcnPDtm5saWNoZXIgMTIt +TW9uYXRzLVBsYW48L2xpPgogICAgICAgICAgICA8bGk+4oCeTWVpbiBTY2hpY2h0LVRlYW0iIOKA +lCAxNC1UYWdlLcOcYmVyc2ljaHQgZGVyIGVpZ2VuZW4gU2NoaWNodC1Lb2hvcnRlIHBlciBLbm9w +ZmRydWNrPC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYg +Y2xhc3M9ImNhcmQiPgogICAgICAgICAgPGgzPlN0ZXVlcnVuZyAmYW1wOyBSZWNodGU8L2gzPgog +ICAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+TWlrcm90ZWFtcyBmw7xyIGdlbWVpbnNhbWUg +UGxhbnVuZyBkZWZpbmllcnRlciBQZXJzb25lbmdydXBwZW48L2xpPgogICAgICAgICAgICA8bGk+ +VGVzdGFuc2ljaHQ6IFN1cGVyVXNlciBwcsO8ZnQgZGllIE9iZXJmbMOkY2hlIGF1cyBTaWNodCBq +ZWRlciBQZXJzb24gb2RlciBGYWNoYXVmc2ljaHQgKHJlaW4gbG9rYWwpPC9saT4KICAgICAgICAg +ICAgPGxpPlNpY2h0YmFya2VpdCBzdGV1ZXJuOiBlaW56ZWxuZSBQZXJzb25lbiwgRGllbnN0Z3J1 +cHBlbiBvZGVyIEZ1bmt0aW9uZW4gYXVzIGRlciBQbGFudW5nIGF1c2JsZW5kZW48L2xpPgogICAg +ICAgICAgICA8bGk+RXJzY2hlaW51bmdzYmlsZC1FZGl0b3I6IE1hcmtpZXJ1bmdlbiBmw7xyIFNv +bmRlcnRhZ2UsIHdpY2h0aWdlIEZlaWVydGFnZSwgRmVyaWVuIHVuZCBIZXV0ZS1TcGFsdGUgZnJl +aSBrb25maWd1cmllcmJhcjwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgoKICAg +ICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICAgIDxoMz5Lb21tdW5pa2F0aW9uICZhbXA7 +IEhpbndlaXNlPC9oMz4KICAgICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPkluLUFwcC1IaW53 +ZWlzc3lzdGVtIGbDvHIgU3VwZXJVc2VyICZhbXA7IEdlc2FtdHZlcmFudHdvcnRsaWNoZSAoS3Jh +bmttZWxkdW5nLCBSb2xsZW4tL1ZlcmFudHdvcnR1bmdzwq13ZWNoc2VsLCBCYWNrdXAtUmVzdG9y +ZSwgUGxhbnVuZ3MtUmVzZXQpIHN0YXR0IEUtTWFpbC1GbHV0PC9saT4KICAgICAgICAgICAgPGxp +PkdlemllbHRlIG1haWx0by1Wb3JsYWdlbiBmw7xyIFZlcmFudHdvcnR1bmdzwq3DvGJlcmdhbmcg +JmFtcDsgQmVzZXR6dW5nc2FuZnJhZ2VuPC9saT4KICAgICAgICAgICAgPGxpPkFuc3ByZWNocGFy +dG5lciBpbSBJbmZvLUZlbnN0ZXIgZGVyIEFwcCBoaW50ZXJsZWdiYXI8L2xpPgogICAgICAgICAg +ICA8bGk+QmVpIGVpbmVtIFZlcmFudHdvcnR1bmdzd2VjaHNlbCBlaW5lIGVpbnppZ2UgU2FtbWVs +LUUtTWFpbCBhbiBhbGxlIEJldHJvZmZlbmVuIChBdWZyw7xja2VyICZhbXA7IFZlcmRyw6RuZ3Rl +KSBtaXQgbnVyIGVpbmVtIEtsaWNrPC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+ +CgogICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgICAgPGgzPkF1c3dlcnR1bmcgJmFt +cDsgQmVzZXR6dW5nPC9oMz4KICAgICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPlN0YXRpc3Rp +ay1EYXNoYm9hcmQgbWl0IEtQSXMsIEZhaXJuZXNzLVZlcnRlaWx1bmcgKFdvY2hlbmVuZGUvRmVp +ZXJ0YWcpLCBBYndlc2VuaGVpdGVuICZhbXA7IEF1ZnLDvGNrZXI8L2xpPgogICAgICAgICAgICA8 +bGk+QmVzZXR6dW5nc2tvbnRyb2xsZSBtaXQgRGVmaXppdC1Wb3JzY2hhdSDDvGJlciBtZWhyZXJl +IFdvY2hlbjwvbGk+CiAgICAgICAgICAgIDxsaT7igJ5LYW5kaWRhdGVuIGFuc2NocmVpYmVuIiBi +ZWkgdW50ZXJiZXNldHp0ZW4gU2NoaWNodGVuPC9saT4KICAgICAgICAgICAgPGxpPkxvZ2J1Y2gg +YWxsZXIgw4RuZGVydW5nZW4gbWl0IFplaXRzdGVtcGVsICZhbXA7IEJlbnV0emVyPC9saT4KICAg +ICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgog +ICAgICAgICAgPGgzPkRhdGVuICZhbXA7IEJldHJpZWI8L2gzPgogICAgICAgICAgPHVsPgogICAg +ICAgICAgICA8bGk+RXhjZWwtSW1wb3J0IGF1cyBkZXIgYWx0ZW4gVm9ybGFnZSAoaW5rbC4gQXV0 +by1Lb3JyZWt0dXJlbik8L2xpPgogICAgICAgICAgICA8bGk+QXV0b21hdGlzY2hlIEJhY2t1cHMg +dm9yIFJlc2V0LCBEZW1vLURhdGVuICZhbXA7IFdpZWRlcmhlcnN0ZWxsdW5nOyBtYW51ZWxsZSBC +YWNrdXBzIGplZGVyemVpdDwvbGk+CiAgICAgICAgICAgIDxsaT5MaXZlLVN5bmMgbWVocmVyZXIg +QmVhcmJlaXRlcjsgZ2xlaWNoemVpdGlnZSBaZWxsLUJlYXJiZWl0dW5nIHdpcmQgZXJrYW5udDwv +bGk+CiAgICAgICAgICAgIDxsaT5UYWctL05hY2h0LU1vZHVzLCBBdmF0YXJlICZhbXA7IFBlcnNv +bmVuLVNjaG5lbGxpbmZvPC9saT4KICAgICAgICAgICAgPGxpPkRpYWdub3NlLVNlaXRlIDxjb2Rl +PnN5bmMtY2hlY2suaHRtbDwvY29kZT4gbWl0IFN0YXJ0LURpYWdub3NlIChNb2R1bC1MYWRldGVz +dCk8L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KCiAgICAgIDwvZGl2PgoKICAg +ICAgPGgyPjxzcGFuIGNsYXNzPSJudW0iPjQ8L3NwYW4+IFNpY2hlcmhlaXQgJmFtcDsgRGF0ZW5z +Y2h1dHo8L2gyPgogICAgICA8cD4KICAgICAgICBHZXNwZWljaGVydCB3aXJkIG51ciwgd2FzIGRp +ZSBEaWVuc3RwbGFudW5nIGVyZm9yZGVydDogTmFtZSwgVm9ybmFtZSwKICAgICAgICBEaWVuc3Rn +cmFkIChvcHRpb25hbCksIERpZW5zdGdydXBwZSwgU3RhbmRvcnQsIERpZW5zdC1UZWxlZm9uLAog +ICAgICAgIE5XLUtlbm51bmcgc293aWUgb3B0aW9uYWwgRS1NYWlsIHVuZCBHZWJ1cnRzZGF0dW0u +IERpZSBEYXRlbiB2ZXJsYXNzZW4KICAgICAgICBkYXMgZGllbnN0bGljaGUgTmV0emxhdWZ3ZXJr +IG5pY2h0IOKAlCBrZWluZSDDnGJlcnRyYWd1bmcgaW5zIEludGVybmV0IG9kZXIKICAgICAgICBh +biBEcml0dGUuCiAgICAgIDwvcD4KICAgICAgPHVsIGNsYXNzPSJmbGF0Ij4KICAgICAgICA8bGk+ +PGI+WnVncmlmZnNzY2h1dHo6PC9iPiBqZWRlciBaZWxsLUtsaWNrIHdpcmQgc2VydmVyc2VpdGln +IGdlZ2VuIGRpZSBlaWdlbmVuIFJlY2h0ZSBnZXByw7xmdCDigJQgUmVjaHRlIGxhc3NlbiBzaWNo +IG5pY2h0IGNsaWVudHNlaXRpZyBlcndlaXRlcm4uPC9saT4KICAgICAgICA8bGk+PGI+TmFjaHZv +bGx6aWVoYmFya2VpdDo8L2I+IGRhcyBMb2didWNoIGRva3VtZW50aWVydCDDhG5kZXJ1bmdlbiBt +aXQgWmVpdHN0ZW1wZWwgdW5kIE5XLUtlbm51bmc7IGVpbnNlaGJhciBudXIgZsO8ciBTdXBlclVz +ZXIgdW5kIGZyZWlnZXNjaGFsdGV0ZSBGYWNoYXVmc2ljaHQuPC9saT4KICAgICAgICA8bGk+PGI+ +S2VpbmUgTmV0emZyZWlnYWJlOjwvYj4gZGVyIFNlcnZlciBiaW5kZXQgYXVzc2NobGllw59saWNo +IGF1ZiA8Y29kZT5sb2NhbGhvc3Q8L2NvZGU+OyBTZWN1cml0eS1IZWFkZXIgKDxjb2RlPlgtQ29u +dGVudC1UeXBlLU9wdGlvbnM8L2NvZGU+LCA8Y29kZT5YLUZyYW1lLU9wdGlvbnM8L2NvZGU+LCA8 +Y29kZT5SZWZlcnJlci1Qb2xpY3k8L2NvZGU+KSBhdWYgYWxsZW4gQW50d29ydGVuLjwvbGk+CiAg +ICAgIDwvdWw+CgogICAgICA8aDI+PHNwYW4gY2xhc3M9Im51bSI+NTwvc3Bhbj4gVGVjaG5pazwv +aDI+CiAgICAgIDx1bCBjbGFzcz0iZmxhdCI+CiAgICAgICAgPGxpPjxiPkZyb250ZW5kOjwvYj4g +VmFuaWxsYSBIVE1ML0NTUy9KUyBhbHMgRVMtTW9kdWxlIOKAlCBrZWluIEJ1aWxkLVN0ZXAsIGtl +aW5lIGV4dGVybmVuIEFiaMOkbmdpZ2tlaXRlbi48L2xpPgogICAgICAgIDxsaT48Yj5CYWNrZW5k +OjwvYj4gbG9rYWxlciBQb3dlclNoZWxsLVNlcnZlciAoPGNvZGU+c2VydmVyLnBzMTwvY29kZT4p +IGF1ZiBkZW0gZWlnZW5lbiBSZWNobmVyLCBnZWJ1bmRlbiBhbiA8Y29kZT5sb2NhbGhvc3Q8L2Nv +ZGU+LjwvbGk+CiAgICAgICAgPGxpPjxiPkRhdGVuOjwvYj4gSlNPTi1EYXRlaWVuIGbDvHIgS29u +ZmlndXJhdGlvbiwgUGxhbnVuZywgTG9nYnVjaCB1bmQgSGlud2Vpc2Ug4oCUIGtlaW5lIERhdGVu +YmFuaywga2VpbmUgQ2xvdWQuPC9saT4KICAgICAgICA8bGk+PGI+QXV0by1TaHV0ZG93bjo8L2I+ +IGRlciBTZXJ2ZXIgYmVlbmRldCBzaWNoIGJlaW0gU2NobGllw59lbiBkZXMgQnJvd3Nlci1UYWJz +IChwZXIgPGNvZGU+c2VuZEJlYWNvbjwvY29kZT4pIGJ6dy4gc3DDpHRlc3RlbnMgMzAmbmJzcDtz +IG5hY2ggZGVtIGxldHp0ZW4gSGVhcnRiZWF0LjwvbGk+CiAgICAgICAgPGxpPjxiPkhlYXJ0YmVh +dDo8L2I+IGzDpHVmdCBpbiBlaW5lbSBXZWItV29ya2VyIOKAlCBXZWNoc2VsIGluIGVpbmVuIEhp +bnRlcmdydW5kLVRhYiBiZWVuZGV0IGRlbiBTZXJ2ZXIgbmljaHQsIGVyc3QgZGFzIHRhdHPDpGNo +bGljaGUgU2NobGllw59lbi48L2xpPgogICAgICA8L3VsPgoKICAgICAgPGgyPjxzcGFuIGNsYXNz +PSJudW0iPjY8L3NwYW4+IFN0YXJ0LVZhcmlhbnRlbjwvaDI+CiAgICAgIDx0YWJsZT4KICAgICAg +ICA8dHI+PHRoIHN0eWxlPSJ3aWR0aDozNCUiPlZhcmlhbnRlPC90aD48dGg+WndlY2s8L3RoPjwv +dHI+CiAgICAgICAgPHRyPjx0ZD48Y29kZT5zdGFydC52YnM8L2NvZGU+PC90ZD48dGQ+U3RhbmRh +cmQgcGVyIERvcHBlbGtsaWNrIOKAlCBzdGFydGV0IHVuc2ljaHRiYXIsIEJyb3dzZXIgw7ZmZm5l +dCBhdXRvbWF0aXNjaDwvdGQ+PC90cj4KICAgICAgICA8dHI+PHRkPjxjb2RlPmRnbC5iYXQ8L2Nv +ZGU+PC90ZD48dGQ+TGF1bmNoZXIgbWl0IHNpY2h0YmFyZW0gRmVuc3RlciB3w6RocmVuZCBkZXMg +U3RhcnRzPC90ZD48L3RyPgogICAgICAgIDx0cj48dGQ+PGNvZGU+ZGdsLmJhdCAvZGVidWc8L2Nv +ZGU+PC90ZD48dGQ+UG93ZXJTaGVsbC1GZW5zdGVyIG1pdCBMaXZlLUxvZyB6dXIgRmVobGVyc3Vj +aGU8L3RkPjwvdHI+CiAgICAgIDwvdGFibGU+CgogICAgICA8aDI+PHNwYW4gY2xhc3M9Im51bSI+ +Nzwvc3Bhbj4gQW5zcHJlY2hwYXJ0bmVyPC9oMj4KICAgICAgPHA+CiAgICAgICAgRnJhZ2VuIHp1 +IEFud2VuZHVuZywgU2NoaWNodGNvZGVzLCBSZWNodGV2ZXJnYWJlIG9kZXIgUGxhbnVuZ3PCrWVu +dHNjaGVpZHVuZ2VuCiAgICAgICAgcmljaHRlbiBTaWUgYW4gZGllIFN1cGVyVXNlciDigJQgZXJy +ZWljaGJhciBpbiBkZXIgQW53ZW5kdW5nIG9iZW4gcmVjaHRzIMO8YmVyCiAgICAgICAgZGFzIElu +Zm8tU3ltYm9sIDxjb2RlPuKEuTwvY29kZT4uCiAgICAgIDwvcD4KCiAgICAgIDxmb290ZXI+CiAg +ICAgICAgVkkzIERHTC1QbGFudW5nIMK3IFZlcmtlaHJzaW5zcGVrdGlvbiAzIMK3IERpZXNlIFNl +aXRlIGlzdCByZWluIGluZm9ybWF0aXYgdW5kIHNwZWljaGVydCBzZWxic3Qga2VpbmUgRGF0ZW4u +CiAgICAgIDwvZm9vdGVyPgogICAgPC9tYWluPgogIDwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K +### FILE: js/admin.js | 77365 +Ly8gPT09IGFkbWluL2FkbWluLmpzID09PQovLyBLb25zb2xpZGllcnRlcyBBZG1pbi1Nb2R1bDog +RGlzcGF0Y2hlciwgU2ljaHRiYXJrZWl0LCBCYWNrdXBzLCBHcnVwcGVuLAovLyBCZXplaWNobnVu +Z2VuLCBCZWRpZW51bmdzLUhpbGZlLCBFaW5zdGVsbHVuZ2VuLCBTdGFuZG9ydGUrU2NoaWNodGZv +bGdlLAovLyBQZXJzb25hbC1WZXJ3YWx0dW5nIChpbmtsLiBJbmxpbmUtRWRpdHMpLCBGZWllcnRh +Z2UsIEZlcmllbiwgU29uZGVydGVybWluZSwKLy8gU2NoaWNodGNvZGVzLCBGZWF0dXJlcywgU3Vw +ZXJVc2VyLUxpc3RlLCBGYWNoYXVmc2ljaHQtVmVyd2FsdHVuZwovLyAoaW5rbC4gU3ViLVNpY2h0 +YmFya2VpdCkuIEJld3Vzc3RlIEtvbnNvbGlkaWVydW5nIGdlZ2VuIEZMRDogVkkzIGVudGZhbGxl +bgovLyBNZWRpZW4vUm90YXRpb24vSW5mby1SVEUsIFBlcnNvbmVuLUxpc3RlIGRldXRsaWNoIGts +ZWluZXIgYWxzIEZMRC4KLy8KLy8gSG9va3MtS29uc3VtZW50ZW4gaW4gYW5kZXJlbiBNb2R1bGVu +IChQaGFzZSA0LTcpIGJla29tbWVuIGlocmUgVmVyd2Vpc2UKLy8gdWViZXIgZGllIGpld2VpbGln +ZW4gKi1Ib29rcy1PYmpla3RlIGdlc2V0enQ7IHNpZWhlIGFwcC5qcyBpbml0LgoKaW1wb3J0IHsg +WiB9IGZyb20gJy4vY29yZV9zdGF0ZS5qcyc7CmltcG9ydCB7CiAgICBlc2NhcGVIVE1MLCBlc2Nh +cGVBdHRyLAogICAgZGF0dW1TdHIsIGRhdHVtRm9ybWF0REUsIGRhdHVtS3VyekRFLCB3b2NoZW50 +YWdLdXJ6LCBpc3RXb2NoZW5lbmRlLAogICAgZnVua3Rpb25zUmFuZywgZ2V0RnVua3Rpb25lbiwg +Z2V0RGllbnN0Z3JhZGUsCiAgICBGVU5LVElPTkVOX0RFRkFVTFQsIERJRU5TVEdSQURFX0RFRkFV +TFQsCiAgICBfcGVyc29uQW56ZWlnZSwgYWJzZW5kZXJOYW1lRXJtaXR0ZWxuCn0gZnJvbSAnLi9j +b3JlX3V0aWwuanMnOwppbXBvcnQgeyBhcGksIGFwaVBvc3QsIGFwaVB1dCB9IGZyb20gJy4vY29y +ZV9hcGkuanMnOwppbXBvcnQgewogICAgdG9hc3QsIGJlc3RhZXRpZ2VuLAogICAgbW9kYWxaZWln +ZW4sIG1vZGFsU2NobGllc3NlbiwgbW9kYWxEaXJ0eVRyYWNraW5nQWt0aXZpZXJlbiwKICAgIGVu +dHd1cmZGdWVyLCBlbnR3dXJmU3BlaWNoZXJuLCBlbnR3dXJmTG9lc2NoZW4sCiAgICBkaXJ0eVJl +Z2lzdHJpZXJlLCBkaXJ0eVNldHplbiwgZGlydHlJc3QsIGRpcnR5S2VubnQsIGRpcnR5QWt0aXZl +LAogICAgZGlydHlFaW50cmFnLAogICAgdGFiRHJhZnRGdWVyLCB0YWJEcmFmdFNwZWljaGVybiwg +dGFiRHJhZnRMb2VzY2hlbiwgdGFiRHJhZnRBdXRvQ2xlYW51cAp9IGZyb20gJy4vdWlfZGlhbG9n +LmpzJzsKaW1wb3J0IHsKICAgIHNhbml0aXplUmljaEh0bWwsIEVNT0pJX1NFVCwKICAgIGVtb2pp +UGlja2VyWmVpZ2VuLCBlbW9qaVBpY2tlclNjaGxpZXNzZW4sCiAgICBydGVJbml0LCBydGVCdXR0 +b25TdGF0ZXMKfSBmcm9tICcuL3VpX3J0ZS5qcyc7CmltcG9ydCB7CiAgICBkYXJmQWRtaW5TdWJ0 +YWIsIGRhdHVtSW5WZXJiaW5kbGljaGtlaXQKfSBmcm9tICcuL2NvcmVfcGVybWlzc2lvbnMuanMn +OwppbXBvcnQgewogICAgQURNSU5fTElTVF9GRUxERVIsIGFkbWluTGlzdGVuTm9ybWFsaXNpZXJl +biwKICAgIHBlcnNvbmVuTmV1QXVmYmF1ZW4KfSBmcm9tICcuL2NvcmVfZGF0ZW5MYWRlbi5qcyc7 +CmltcG9ydCB7CiAgICB0YWdlRXJ6ZXVnZW4sIHRhZ0luZm9zQmVyZWNobmVuLAogICAgZ3JpZFJl +bmRlcm4sIGtvcGZSZW5kZXJuLCBhbnNpY2h0V2VjaHNlbG4sCiAgICBuYW1lblJlbmRlcm4sIGRh +dGVuR3JpZFJlbmRlcm4sCiAgICBLQVRFR09SSUVfSUNPTl9ERUZBVUxUCn0gZnJvbSAnLi9ncmlk +X3JlbmRlci5qcyc7CmltcG9ydCB7IGZ1ZWhydW5nc1phZWhsZW4gfSBmcm9tICcuL2dyaWRfZWRp +dG9yLmpzJzsKaW1wb3J0IHsKICAgIGJlc2V0enVuZ3NUYWJGYXJiZUFrdHVhbGlzaWVyZW4sIGJl +c2V0enVuZ3Nrb250cm9sbGVSZW5kZXJuCn0gZnJvbSAnLi9iZXNldHp1bmcuanMnOwppbXBvcnQg +ewogICAgRU1BSUxfVk9STEFHRU5fREVGQVVMVCwgRU1BSUxfVk9STEFHRU5fTUVUQSwKICAgIGVt +YWlsVm9ybGFnZW5Ib2xlbiwgZW1haWxWb3JsYWdlblJlbmRlcm4sIGVtYWlsVm9ybGFnZUJlYXJi +ZWl0ZW5Nb2RhbAp9IGZyb20gJy4vZW1haWxfdm9ybGFnZW4uanMnOwppbXBvcnQgeyBtaXR0ZWls +dW5nZW5UYWJSZW5kZXJuLCBtaXR0ZWlsdW5nTmV1T2VmZm5lbiB9IGZyb20gJy4vYWRtaW5fbWl0 +dGVpbHVuZ2VuLmpzJzsKLy8gTG9rYWxlIEF1ZnJ1ZmVyIHZvbiBzdXBlclVzZXJSZW5kZXJuICsg +ZmFjaGF1ZnNpY2h0UmVuZGVybiBicmF1Y2hlbgovLyBuYWNoIFBoYXNlIDktQiBDMSBleHBsaXpp +dGUgSW1wb3J0cyDigJQgZGFzIFBhc3MtVGhyb3VnaC1SZS1FeHBvcnQgYW0KLy8gRGF0ZWktRW5k +ZSBzdGVsbHQgZGllIFN5bWJvbGUgbnVyIGZ1ZXIgZXh0ZXJuZSBLb25zdW1lbnRlbiBiZXJlaXQs +Ci8vIG5pY2h0IGltIE1vZHVsLVNjb3BlIHZvbiBhZG1pbi5qcyBzZWxic3QuCmltcG9ydCB7IHN1 +cGVyVXNlclJlbmRlcm4sIGZhY2hhdWZzaWNodFJlbmRlcm4sIHJvbGxlblRhYmVsbGVSZW5kZXJu +IH0gZnJvbSAnLi9hZG1pbl9yb2xsZW4uanMnOwovLyBBbmFsb2cgUGhhc2UgOS1CIEMyOiBzY2hp +Y2h0Y29kZVZvcnNjaGF1UmVuZGVybiB3aXJkIGF1cwovLyBhZG1pblJlbmRlcm4oKSBoZXJhdXMg +YXVmZ2VydWZlbiwgZGFoZXIgZXhwbGl6aXQgbG9rYWwgaW1wb3J0aWVyZW4uCmltcG9ydCB7IHNj +aGljaHRjb2RlVm9yc2NoYXVSZW5kZXJuIH0gZnJvbSAnLi9hZG1pbl9jb2Rlcy5qcyc7Ci8vIFBo +YXNlIDktQiBDMzogZmVpZXJ0YWdlVGFiZWxsZVJlbmRlcm4sIGZlcmllblRhYmVsbGVSZW5kZXJu +LAovLyBzb25kZXJ0ZXJtaW5lUmVuZGVybiB3ZXJkZW4gdm9uIGFkbWluUmVuZGVybigpIGF1Zmdl +cnVmZW4uCmltcG9ydCB7CiAgICBmZWllcnRhZ2VUYWJlbGxlUmVuZGVybiwgZmVyaWVuVGFiZWxs +ZVJlbmRlcm4sIHNvbmRlcnRlcm1pbmVSZW5kZXJuLAogICAgZmVyaWVuQXVzVGFiZWxsZUxlc2Vu +Cn0gZnJvbSAnLi9hZG1pbl9rYWxlbmRlci5qcyc7Ci8vIFBoYXNlIDktQiBDNDogcGVyc29uYWxU +YWJlbGxlUmVuZGVybiB3aXJkIHZvbiBhZG1pblJlbmRlcm4oKSBhdWZnZXJ1ZmVuLgppbXBvcnQg +eyBwZXJzb25hbFRhYmVsbGVSZW5kZXJuIH0gZnJvbSAnLi9hZG1pbl9wZXJzb25hbC5qcyc7Cmlt +cG9ydCB7IHN0YXRpc3Rpa0xheW91dFJlbmRlcm4gfSBmcm9tICcuL2FkbWluX3N0YXRpc3Rpay5q +cyc7CmltcG9ydCB7IHN0YXRpc3Rpa0J1aWxkZXJSZW5kZXJuIH0gZnJvbSAnLi9hZG1pbl9zdGF0 +aXN0aWtfYnVpbGRlci5qcyc7CmltcG9ydCB7CiAgICBlcnNjaGVpbnVuZ3NiaWxkUmVuZGVybiwg +ZXJzY2hlaW51bmdzYmlsZFNwZWljaGVybiwgZXJzY2hlaW51bmdzYmlsZFp1cnVlY2tzZXR6ZW4s +CiAgICB2b3JzY2hhdUFrdHVhbGlzaWVyZW4sIHN5bmNGbGFzaFZvcnNjaGF1LCBtYXJraWVydW5n +ZW5BbndlbmRlbgp9IGZyb20gJy4vYWRtaW5fZXJzY2hlaW51bmdzYmlsZC5qcyc7CgovLyA9PT09 +PSBIb29rcyA9PT09PQoKZXhwb3J0IHZhciBhZG1pbkhvb2tzID0gewogICAgYmVkaWVudW5nWmVp +bGVuUmVuZGVybjogbnVsbCAgIC8vIGJsZWlidCBpbiBhcHAuanMgKEluZm8tRmVuc3RlcikKfTsK +Ci8vIEJFRElFTlVOR19ERUZBVUxUIOKAlCBEZWZhdWx0LUJlZGllbnVuZ3MtSGlud2Vpc2UsIGdy +ZWlmZW4gd2VubgovLyBhZG1pbi5iZWRpZW51bmdzdGV4dGUgbGVlciBpc3QuIEZvcm1hdCAiVGl0 +ZWw6IFRleHQiIHBybyBaZWlsZS4KdmFyIEJFRElFTlVOR19ERUZBVUxUID0KICAgICdQbGFudW5n +OiBFaW5mYWNoLUtsaWNrIGFrdGl2aWVydCBkaWUgWmVsbGUgKGtsZWluZXMgZHVua2Vscm90ZXMg +UXVhZHJhdCB1bnRlbiByZWNodHMpLiBEb3BwZWxrbGljayDDtmZmbmV0IGRlbiBTY2hpY2h0Y29k +ZS1FZGl0b3IuIEtvbW1lbnRhciDDvGJlciBkYXMgRWluZ2FiZWZlbGQgaW0gRWRpdG9yLlxuJyAr +CiAgICAnRHJhZy1GaWxsIChFeGNlbC1Gw7xsbGvDpHN0Y2hlbik6IEF1ZiBkYXMgZHVua2Vscm90 +ZSBRdWFkcmF0IGtsaWNrZW4sIGdlZHLDvGNrdCBoYWx0ZW4gdW5kIHNlaXRsaWNoIMO8YmVyIGRp +ZSBaZWxsZW4gZGVyc2VsYmVuIFBlcnNvbiB6aWVoZW4g4oCUIGRlciBXZXJ0IHdpcmQgYXVmIGFs +bGUgw7xiZXJzdHJpY2hlbmVuIFRhZ2Ugw7xiZXJ0cmFnZW4uXG4nICsKICAgICdXb2NoZW5wbGFu +OiBER0wgdW5kIFdERi9GQlAgZ2V0cmVubnQgZGFyZ2VzdGVsbHQsIG1pdCBEaWVuc3RudW1tZXJu +LiAqIG1hcmtpZXJ0IEJlc2V0enVuZyBhdXMgZGVtIEZ1bmt0aW9uc2Jlc2V0enVuZ3NwbGFuLlxu +JyArCiAgICAnUGVycy4gUGxhbjogSmFocmVzw7xiZXJzaWNodCBmw7xyIGVpbmUgZWluemVsbmUg +UGVyc29uIG1pdCBNb25hdHNrYWxlbmRlcm4uXG4nICsKICAgICdIZXV0ZS1CdXR0b246IFNjcm9s +bHQgenVtIGhldXRpZ2VuIERhdHVtLlxuJyArCiAgICAnQmFja3VwOiBFcnN0ZWxsdCBlaW5lIFNp +Y2hlcnVuZ3Nrb3BpZSBkZXIgYWt0dWVsbGVuIFBsYW51bmcuXG4nICsKICAgICdWZXJhbnR3b3J0 +bGljaDogRGllIHJhbmdow7ZjaHN0ZSBQZXJzb24gcHJvIFNjaGljaHQgd2lyZCBnb2xkZmFyYmVu +IG1hcmtpZXJ0LlxuJyArCiAgICAnS29tbWVudGFyZTogWmVsbGVuIG1pdCBLb21tZW50YXIgaGFi +ZW4gZWluIGdvbGRlbmVzIERyZWllY2sgb2JlbiByZWNodHMuXG4nICsKICAgICdCYWRnZXMgaW0g +SGVhZGVyOiDwn46CIEdlYnVydHN0YWcsIOKaoCBXYXJudW5nLCDihLkgSGlud2VpcyDigJQgZGly +ZWt0IGFtIGpld2VpbGlnZW4gVGFnLic7CgovLyA9PT09PSBBZG1pbjogRW1wdHktU3RhdGUtSGVs +cGVyID09PT09Ci8vCi8vIFJlbmRlcnQgZWluZSAuYWRtaW4tZW1wdHktS2FydGUgYWxzIDx0cj4g +aW5uZXJoYWxiIGVpbmVyIGxlZXJlbiBUYWJlbGxlLgovLyBQYXR0ZXJuIGZ1ZXIgYWxsZSBBZG1p +bi1MaXN0ZW4sIGRpZSBub2NoIGtlaW5lIEVpbnRyYWVnZSBoYWJlbiDigJQgc3RhdHQKLy8gZWlu +ZXIga2FsdGVuIGxlZXJlbiBUYWJlbGxlIGJla29tbWVuIE51dHplciBlaW5lIGt1cnplIE9uYm9h +cmRpbmctS2FydGUKLy8gbWl0IEljb24sIFRpdGVsLCBFcmtsYWVydW5nIHVuZCBvcHRpb25hbCBl +aW5lbSBBa3Rpb25zLUhpbndlaXMuCi8vICJoaW53ZWlzIiB2ZXJ3ZWlzdCBtZWlzdCBhdWYgZWlu +ZW4gZXhpc3RpZXJlbmRlbiAiTmV1Ii1CdXR0b24gaW0gVGFiLUtvcGYKLy8g4oCUIGtlaW4gQnV0 +dG9uIGltIEVtcHR5LVN0YXRlLCBkYW1pdCBlcyBrZWluZSBEb3BwZWx1bmcgZ2lidC4KZXhwb3J0 +IGZ1bmN0aW9uIGFkbWluRW1wdHlaZWlsZShjb2xzcGFuLCBpY29uLCB0aXRlbCwgdGV4dCkgewog +ICAgcmV0dXJuICc8dHIgY2xhc3M9ImFkbWluLWVtcHR5LXplaWxlIj48dGQgY29sc3Bhbj0iJyAr +IGNvbHNwYW4gKwogICAgICAgICciIHN0eWxlPSJiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRl +cjowO3BhZGRpbmc6OHB4IDAiPicgKwogICAgICAgICc8ZGl2IGNsYXNzPSJhZG1pbi1lbXB0eSI+ +JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJhZG1pbi1lbXB0eS1pY29uIiBhcmlhLWhpZGRl +bj0idHJ1ZSI+JyArIGljb24gKyAnPC9kaXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJh +ZG1pbi1lbXB0eS10aXRlbCI+JyArIGVzY2FwZUhUTUwodGl0ZWwpICsgJzwvZGl2PicgKwogICAg +ICAgICAgICAnPGRpdiBjbGFzcz0iYWRtaW4tZW1wdHktdGV4dCI+JyArIGVzY2FwZUhUTUwodGV4 +dCkgKyAnPC9kaXY+JyArCiAgICAgICAgJzwvZGl2PicgKwogICAgJzwvdGQ+PC90cj4nOwp9Cgov +LyA9PT09PSBBZG1pbjogUmVhZC1vbmx5LUJhbm5lciA9PT09PQovLwovLyBCbGVuZGV0IGltIEFk +bWluLUJlcmVpY2ggb2JlbiBlaW5lbiBIaW53ZWlzIGVpbiwgd2VubiBkZXIgZWluZ2Vsb2dndGUK +Ly8gVXNlciBrZWluZSBCZWFyYmVpdHVuZ3MtUmVjaHRlIGhhdCAoYWxsZSBSb2xsZW4gYXVzc2Vy +IFN1cGVyVXNlcikuCi8vIEF1ZnJ1ZjogYW0gRW5kZSB2b24gYWRtaW5SZW5kZXJuKCkgdW5kIG5h +Y2ggamVkZW0gVGFiLVN3aXRjaCAoYXBwLmpzKS4KZXhwb3J0IGZ1bmN0aW9uIGFkbWluQmFubmVy +QWt0dWFsaXNpZXJlbigpIHsKICAgIHZhciBiYW5uZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ +ZCgnYWRtaW4tcmVhZG9ubHktYmFubmVyJyk7CiAgICBpZiAoIWJhbm5lcikgcmV0dXJuOwogICAg +aWYgKCFaLnJlY2h0ZSB8fCBaLnJlY2h0ZS5pc3RTdXBlclVzZXIpIHsKICAgICAgICBiYW5uZXIu +Y2xhc3NMaXN0LmFkZCgndmVyc3RlY2t0Jyk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgLy8g +Um9sbGUgaW4gbGVzYmFyZW4gVGV4dCB1bXNldHplbiDigJQga2VpbiBHbG9zc2FyLUxlaHJnYW5n +LCBudXIgS29udGV4dAogICAgLy8gZGFtaXQgZGVyIFVzZXIgdmVyc3RlaHQsICp3YXJ1bSogZXIg +bmljaHQgZWRpdGllcmVuIGRhcmYuCiAgICB2YXIgcm9sbGVUZXh0ID0gJ0ZhY2hhdWZzaWNodCc7 +CiAgICBpZiAoWi5yZWNodGUucm9sbGUgPT09ICdkaXJla3Rpb25zbGVpdHVuZycpIHJvbGxlVGV4 +dCA9ICdEaXJla3Rpb25zbGVpdHVuZyc7CiAgICBlbHNlIGlmIChaLnJlY2h0ZS5yb2xsZSA9PT0g +J2Z1ZWhydW5nc3N0ZWxsZScpIHJvbGxlVGV4dCA9ICdGdWVocnVuZ3NzdGVsbGUnOwogICAgZWxz +ZSBpZiAoIVoucmVjaHRlLmlzdEZhY2hhdWZzaWNodCkgcm9sbGVUZXh0ID0gJ01pdGFyYmVpdGVy +JzsKICAgIHZhciB0ZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FkbWluLXJlYWRvbmx5 +LWJhbm5lci10ZXh0Jyk7CiAgICBpZiAodGV4dCkgewogICAgICAgIHRleHQuaW5uZXJIVE1MID0g +J0R1IHNpZWhzdCBkaWVzZW4gQmVyZWljaCBudXIgbGVzZW5kIChSb2xsZTogPHN0cm9uZz4nICsK +ICAgICAgICAgICAgZXNjYXBlSFRNTChyb2xsZVRleHQpICsKICAgICAgICAgICAgJzwvc3Ryb25n +PikuIEJlYXJiZWl0dW5nIGltIEFkbWluLUJlcmVpY2ggaXN0IGF1ZiBTdXBlclVzZXIgYmVzY2hy +JmF1bWw7bmt0Lic7CiAgICB9CiAgICBiYW5uZXIuY2xhc3NMaXN0LnJlbW92ZSgndmVyc3RlY2t0 +Jyk7Cn0KCi8vID09PT09IEFkbWluOiBQZXJzb25hbHZlcndhbHR1bmcgPT09PT0KCmZ1bmN0aW9u +IGFkbWluUmVuZGVybigpIHsKICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Fuc2lj +aHQtYWRtaW4nKSkgcmV0dXJuOwogICAgYWRtaW5CYW5uZXJBa3R1YWxpc2llcmVuKCk7CiAgICBw +ZXJzb25hbFRhYmVsbGVSZW5kZXJuKCk7CiAgICBncnVwcGVuVGFiZWxsZVJlbmRlcm4oKTsKICAg +IGZlaWVydGFnZVRhYmVsbGVSZW5kZXJuKCk7CiAgICBmZXJpZW5UYWJlbGxlUmVuZGVybigpOwog +ICAgc29uZGVydGVybWluZVJlbmRlcm4oKTsKICAgIHNjaGljaHRjb2RlVm9yc2NoYXVSZW5kZXJu +KCk7CiAgICBzdGFuZG9ydGVSZW5kZXJuKCk7CiAgICBmZWF0dXJlc1JlbmRlcm4oKTsKICAgIHN1 +cGVyVXNlclJlbmRlcm4oKTsKICAgIGZhY2hhdWZzaWNodFJlbmRlcm4oKTsKICAgIHJvbGxlblRh +YmVsbGVSZW5kZXJuKCdkaXJla3Rpb25zbGVpdHVuZycpOwogICAgcm9sbGVuVGFiZWxsZVJlbmRl +cm4oJ2Z1ZWhydW5nc3N0ZWxsZScpOwogICAgZWluc3RlbGx1bmdlblJlbmRlcm4oKTsKICAgIGVy +c2NoZWludW5nc2JpbGRSZW5kZXJuKCk7CiAgICBzdGF0aXN0aWtMYXlvdXRSZW5kZXJuKCk7CiAg +ICBiZXplaWNobnVuZ2VuUmVuZGVybigpOwogICAgbGlzdGVuUmVuZGVybigpOwogICAgbWlrcm90 +ZWFtc1JlbmRlcm4oKTsKICAgIGluZm9IaWxmZVJlbmRlcm4oKTsKICAgIGVtYWlsVm9ybGFnZW5S +ZW5kZXJuKCk7CiAgICBzdXBwb3J0TWFpbFNla3Rpb25SZW5kZXJuKCk7CiAgICBtaXR0ZWlsdW5n +ZW5UYWJSZW5kZXJuKCk7CiAgICBiYWNrdXBUYWJlbGxlTGFkZW4oKTsKICAgIGFkbWluSW5mb0lu +aXQoKTsKfQoKLy8gR2xvYmFsZSBTaWNodGJhcmtlaXRzLVNla3Rpb24gZnVlciAicmVndWxhZXJl +IEFkbWlucyIgd3VyZGUgMjAyNi0wNS0yMwovLyBlbnRmZXJudC4gS29uemVwdCBleGlzdGllcnQg +bmljaHQgbWVociDigJQgU3RhdGlzdGlrL0xvZ2J1Y2gvCi8vIEFkbWluaXN0cmF0aW9uIHNpbmQg +bnVyIGZ1ZXIgU1UgKyBSb2xsZW4tTGlzdGVuIHNpY2h0YmFyIChGYWNoLQovLyBhdWZzaWNodCAv +IERpcmVrdGlvbnNsZWl0dW5nIC8gRnVlaHJ1bmdzc3RlbGxlKSwgdW5kIGdyYW51bGFyIHBybwov +LyBQZXJzb24vUm9sbGUgdWViZXIgZGllIGpld2VpbGlnZSBTdWItU2ljaHQtTWFwLiBFeHBvcnQt +U3R1YiBibGVpYnQKLy8gaGllciBudXIsIGZhbGxzIGV4dGVybmUgTW9kdWxlIG5vY2ggZGVuIE5h +bWVuIGltcG9ydGllcmVuIChuby1vcCkuCmZ1bmN0aW9uIHNpY2h0YmFya2VpdFJlbmRlcm4oKSB7 +IC8qIGVudGZlcm50ICovIH0KZnVuY3Rpb24gc2ljaHRiYXJrZWl0V2VydCgpICAgIHsgcmV0dXJu +IGZhbHNlOyB9CgovLyA9PT09PSBBZG1pbjogQmFja3VwcyA9PT09PQpmdW5jdGlvbiBiYWNrdXBU +YWJlbGxlTGFkZW4oKSB7CiAgICB2YXIgdGJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn +YmFja3VwLXRib2R5Jyk7CiAgICBpZiAoIXRib2R5KSByZXR1cm47CiAgICBhcGkoJy9hcGkvcGxh +bnVuZy9iYWNrdXBzJykudGhlbihmdW5jdGlvbihsaXN0ZSkgewogICAgICAgIGJhY2t1cFRhYmVs +bGVSZW5kZXJuKGxpc3RlIHx8IFtdKTsKICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsKICAgICAg +ICB0Ym9keS5pbm5lckhUTUwgPSAnPHRyPjx0ZCBjb2xzcGFuPSI1IiBzdHlsZT0idGV4dC1hbGln +bjpjZW50ZXI7cGFkZGluZzoxNnB4O2NvbG9yOnZhcigtLWZhcmJlLWZlaGxlcikiPkZlaGxlciBi +ZWltIExhZGVuOiAnICsgZXNjYXBlSFRNTChlLm1lc3NhZ2UpICsgJzwvdGQ+PC90cj4nOwogICAg +fSk7Cn0KCmZ1bmN0aW9uIGJhY2t1cEdyb2Vzc2VGb3JtYXQoYnl0ZXMpIHsKICAgIGlmIChieXRl +cyA8IDEwMjQpIHJldHVybiBieXRlcyArICcgQic7CiAgICBpZiAoYnl0ZXMgPCAxMDQ4NTc2KSBy +ZXR1cm4gKGJ5dGVzIC8gMTAyNCkudG9GaXhlZCgxKSArICcgS0InOwogICAgcmV0dXJuIChieXRl +cyAvIDEwNDg1NzYpLnRvRml4ZWQoMSkgKyAnIE1CJzsKfQoKZnVuY3Rpb24gYmFja3VwWmVpdHB1 +bmt0Rm9ybWF0KGlzbykgewogICAgaWYgKCFpc28pIHJldHVybiAn4oCUJzsKICAgIHZhciBkID0g +bmV3IERhdGUoaXNvKTsKICAgIGlmIChpc05hTihkLmdldFRpbWUoKSkpIHJldHVybiBpc287CiAg +ICB2YXIgcGFkID0gZnVuY3Rpb24obikgeyByZXR1cm4gKG4gPCAxMCA/ICcwJyA6ICcnKSArIG47 +IH07CiAgICByZXR1cm4gcGFkKGQuZ2V0RGF0ZSgpKSArICcuJyArIHBhZChkLmdldE1vbnRoKCkg +KyAxKSArICcuJyArIGQuZ2V0RnVsbFllYXIoKSArCiAgICAgICAgICAgJyAnICsgcGFkKGQuZ2V0 +SG91cnMoKSkgKyAnOicgKyBwYWQoZC5nZXRNaW51dGVzKCkpICsgJzonICsgcGFkKGQuZ2V0U2Vj +b25kcygpKTsKfQoKZnVuY3Rpb24gYmFja3VwVGFiZWxsZVJlbmRlcm4obGlzdGUpIHsKICAgIHZh +ciB0Ym9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiYWNrdXAtdGJvZHknKTsKICAgIGlm +ICghdGJvZHkpIHJldHVybjsKICAgIGlmICghbGlzdGUubGVuZ3RoKSB7CiAgICAgICAgdGJvZHku +aW5uZXJIVE1MID0gYWRtaW5FbXB0eVplaWxlKDYsICdcdXsxRjRFNn0nLAogICAgICAgICAgICAn +Tm9jaCBrZWluZSBCYWNrdXBzIHZvcmhhbmRlbicsCiAgICAgICAgICAgICdCYWNrdXBzIHNpY2hl +cm4gZGVuIHZvbGxzdGFlbmRpZ2VuIFBsYW51bmdzLSB1bmQgQWRtaW4tU3RhbmQuIEF1dG9tYXRp +c2NoIHdlcmRlbiBCYWNrdXBzIHZvciByaXNrYW50ZW4gQWt0aW9uZW4gKFJlc2V0LCBEdW1teWRh +dGVuLCBXaWVkZXJoZXJzdGVsbHVuZykgYW5nZWxlZ3QuIE1hbnVlbGwgbWl0IOKAnk5ldWVzIEJh +Y2t1cCBqZXR6dCBlcnN0ZWxsZW4iLicpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIHZhciBo +dG1sID0gJyc7CiAgICBsaXN0ZS5mb3JFYWNoKGZ1bmN0aW9uKGIpIHsKICAgICAgICB2YXIgdHlw +QmFkZ2UgPSAnYmstdHlwLW1hbnVlbGwnOwogICAgICAgIGlmIChiLnR5cCA9PT0gJ3ZvciBEdW1t +eWRhdGVuJykgdHlwQmFkZ2UgPSAnYmstdHlwLWF1dG8nOwogICAgICAgIGVsc2UgaWYgKGIudHlw +ID09PSAndm9yIFJlc2V0JykgdHlwQmFkZ2UgPSAnYmstdHlwLWF1dG8nOwogICAgICAgIGVsc2Ug +aWYgKGIudHlwID09PSAndm9yIFdpZWRlcmhlcnN0ZWxsdW5nJykgdHlwQmFkZ2UgPSAnYmstdHlw +LXNpY2hlcnVuZyc7CiAgICAgICAgLy8gaW5oYWx0OiBLb21wbGV0dCAoQnVuZGxlKSB2cyBOdXIg +UGxhbnVuZyAoTGVnYWN5KSDigJQgRmluZGluZyBDLjUKICAgICAgICB2YXIgaW5oYWx0ID0gYi5p +bmhhbHQgfHwgKGIuaXN0QnVuZGxlID8gJ0tvbXBsZXR0IChQbGFudW5nICsgQWRtaW4pJyA6ICdO +dXIgUGxhbnVuZycpOwogICAgICAgIHZhciBpbmhhbHRDbHMgPSBiLmlzdEJ1bmRsZSA/ICdiay1p +bmhhbHRzdHlwLWtvbXBsZXR0JyA6ICdiay1pbmhhbHRzdHlwLXBsYW51bmcnOwogICAgICAgIHZh +ciByZXN0b3JlVGl0bGUgPSBiLmlzdEJ1bmRsZQogICAgICAgICAgICA/ICdBa3R1ZWxsZSBQbGFu +dW5nIFVORCBBZG1pbi1Lb25maWd1cmF0aW9uIGR1cmNoIGRpZXNlcyBCdW5kbGUtQmFja3VwIGVy +c2V0emVuJwogICAgICAgICAgICA6ICdBa3R1ZWxsZSBQbGFudW5nIGR1cmNoIGRpZXNlcyBCYWNr +dXAgZXJzZXR6ZW4gKEFkbWluLUtvbmZpZ3VyYXRpb24gYmxlaWJ0IHVudmVyYWVuZGVydCknOwog +ICAgICAgIC8vIEFrdGlvbnMtQnV0dG9ucyAoQ2hlcnJ5LVBpY2sgNGRiNjQ5Myk6IGluIGVpbmVy +IFplaWxlLCBuaWNodAogICAgICAgIC8vIHVtYnJlY2hlbmQuIERhdGVpbmFtZS9Hcm9lc3NlIG1p +dCBlbGxpcHNpcywgZmFsbHMgZW5nLiBLZWluZQogICAgICAgIC8vIEZ1bmt0aW9uc2FlbmRlcnVu +ZyDigJQgbnVyIGtvbXBha3RlcmUgRGFyc3RlbGx1bmcuCiAgICAgICAgaHRtbCArPSAnPHRyPicg +KwogICAgICAgICAgICAnPHRkPjxjb2RlIHN0eWxlPSJmb250LXNpemU6MTFweCI+JyArIGVzY2Fw +ZUhUTUwoYmFja3VwWmVpdHB1bmt0Rm9ybWF0KGIuZXJzdGVsbHRBbSkpICsgJzwvY29kZT48L3Rk +PicgKwogICAgICAgICAgICAnPHRkPjxzcGFuIGNsYXNzPSJiay10eXAgJyArIHR5cEJhZGdlICsg +JyI+JyArIGVzY2FwZUhUTUwoYi50eXApICsgJzwvc3Bhbj48L3RkPicgKwogICAgICAgICAgICAn +PHRkPjxzcGFuIGNsYXNzPSJiay1pbmhhbHRzdHlwICcgKyBpbmhhbHRDbHMgKyAnIj4nICsgZXNj +YXBlSFRNTChpbmhhbHQpICsgJzwvc3Bhbj48L3RkPicgKwogICAgICAgICAgICAnPHRkIHN0eWxl +PSJmb250LWZhbWlseTptb25vc3BhY2U7Zm9udC1zaXplOjExcHg7b3ZlcmZsb3c6aGlkZGVuO3Rl +eHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO21heC13aWR0aDoyODBweCIg +dGl0bGU9IicgKyBlc2NhcGVBdHRyKGIuZGF0ZWluYW1lKSArICciPicgKyBlc2NhcGVIVE1MKGIu +ZGF0ZWluYW1lKSArICc8L3RkPicgKwogICAgICAgICAgICAnPHRkIHN0eWxlPSJ0ZXh0LWFsaWdu +OnJpZ2h0O2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTtmb250LXNpemU6MTFweDt3aGl0ZS1zcGFjZTpu +b3dyYXAiPicgKyBlc2NhcGVIVE1MKGJhY2t1cEdyb2Vzc2VGb3JtYXQoYi5ncm9lc3NlKSkgKyAn +PC90ZD4nICsKICAgICAgICAgICAgJzx0ZD48ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjZw +eDtmbGV4LXdyYXA6bm93cmFwO3doaXRlLXNwYWNlOm5vd3JhcCI+JyArCiAgICAgICAgICAgICAg +ICAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1wcmltYWVyIGJ0bi1rbGVpbiIgZGF0YS1ha3Rpb249 +ImJhY2t1cC13aWVkZXJoZXJzdGVsbGVuIiBkYXRhLWRhdGVpPSInICsgZXNjYXBlQXR0cihiLmRh +dGVpbmFtZSkgKyAnIiB0aXRsZT0iJyArIGVzY2FwZUF0dHIocmVzdG9yZVRpdGxlKSArICciIHN0 +eWxlPSJ3aGl0ZS1zcGFjZTpub3dyYXAiPuKGuiBXaWVkZXJoZXJzdGVsbGVuPC9idXR0b24+JyAr +CiAgICAgICAgICAgICAgICAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWsgYnRuLWtsZWluIiBk +YXRhLWFrdGlvbj0iYmFja3VwLWRvd25sb2FkIiBkYXRhLWRhdGVpPSInICsgZXNjYXBlQXR0cihi +LmRhdGVpbmFtZSkgKyAnIiB0aXRsZT0iSlNPTi1EYXRlaSBoZXJ1bnRlcmxhZGVuIiBzdHlsZT0i +d2hpdGUtc3BhY2U6bm93cmFwIj7ipJMgRG93bmxvYWQ8L2J1dHRvbj4nICsKICAgICAgICAgICAg +ICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWdlZmFociBidG4ta2xlaW4gYnRuLWxvZXNjaGVu +IiBkYXRhLWFrdGlvbj0iYmFja3VwLWxvZXNjaGVuIiBkYXRhLWRhdGVpPSInICsgZXNjYXBlQXR0 +cihiLmRhdGVpbmFtZSkgKyAnIiB0aXRsZT0iQmFja3VwIGVuZGfDvGx0aWcgbMO2c2NoZW4iIHN0 +eWxlPSJ3aGl0ZS1zcGFjZTpub3dyYXAiPkzDtnNjaGVuPC9idXR0b24+JyArCiAgICAgICAgICAg +ICc8L2Rpdj48L3RkPicgKwogICAgICAgICc8L3RyPic7CiAgICB9KTsKICAgIHRib2R5LmlubmVy +SFRNTCA9IGh0bWw7Cn0KCi8vID09PT09IEFkbWluOiBEaWVuc3RncnVwcGVuID09PT09CgovLyBa +YWVobHQgd2llIHZpZWxlIGFrdGl2ZSBQZXJzb25lbiBlaW5lciBHcnVwcGUgenVnZW9yZG5ldCBz +aW5kLgovLyBXaXJkIGZ1ZXIgZGllIExvZXNjaC1TcGVycmUgdW5kIGRpZSBTcGFsdGUgIlBlcnNv +bmVuIiBnZW51dHp0LgpmdW5jdGlvbiBncnVwcGVuUGVyc29uZW5aYWVobGVuKCkgewogICAgdmFy +IG1hcCA9IHt9OwogICAgKFoucGxhbnVuZy5wZXJzb25lbiB8fCBbXSkuZm9yRWFjaChmdW5jdGlv +bihwKSB7CiAgICAgICAgaWYgKCFwLmFrdGl2IHx8ICFwLmdydXBwZSkgcmV0dXJuOwogICAgICAg +IG1hcFtwLmdydXBwZV0gPSAobWFwW3AuZ3J1cHBlXSB8fCAwKSArIDE7CiAgICB9KTsKICAgIHJl +dHVybiBtYXA7Cn0KCmZ1bmN0aW9uIGdydXBwZW5UYWJlbGxlUmVuZGVybigpIHsKICAgIHZhciB0 +Ym9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdncnVwcGVuLXRib2R5Jyk7CiAgICBpZiAo +IXRib2R5KSByZXR1cm47CiAgICB2YXIgemFlaGwgPSBncnVwcGVuUGVyc29uZW5aYWVobGVuKCk7 +CiAgICBpZiAoIShaLmFkbWluLmdydXBwZW4gfHwgW10pLmxlbmd0aCkgewogICAgICAgIHRib2R5 +LmlubmVySFRNTCA9IGFkbWluRW1wdHlaZWlsZSg3LCAnXHV7MUY0NjV9JywKICAgICAgICAgICAg +J05vY2gga2VpbmUgRGllbnN0Z3J1cHBlbiBhbmdlbGVndCcsCiAgICAgICAgICAgICdEaWVuc3Rn +cnVwcGVuIHNpbmQgZGllIG9yZ2FuaXNhdG9yaXNjaGUgS2xhbW1lciBmdWVyIFBlcnNvbmVuICh6 +LkIuIEEvQi9DLCBXTCwgVkQpLiBLbGlja2Ugb2JlbiBhdWYg4oCeTmV1ZSBEaWVuc3RncnVwcGUi +LCB1bSB6dSBiZWdpbm5lbi4nKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICB2YXIgaHRtbCA9 +ICcnOwogICAgdmFyIGxldHp0ZXJJZHggPSAoWi5hZG1pbi5ncnVwcGVuIHx8IFtdKS5sZW5ndGgg +LSAxOwogICAgKFouYWRtaW4uZ3J1cHBlbiB8fCBbXSkuZm9yRWFjaChmdW5jdGlvbihnciwgaWR4 +KSB7CiAgICAgICAgdmFyIGFuemFobCA9IHphZWhsW2dyLm5hbWVdIHx8IDA7CiAgICAgICAgdmFy +IGhnID0gZ3IuaGludGVyZ3J1bmQgfHwgJyM4ODgnOwogICAgICAgIHZhciBzZiA9IGdyLnNjaHJp +ZnQgfHwgJyNmZmZmZmYnOwogICAgICAgIC8vIEJhY2t3YXJkcy1Db21wYXQ6IGZlaGxlbmRlcyBp +blBsYW51bmctRmVsZCA9IHNpY2h0YmFyIChBbHRkYXRlbgogICAgICAgIC8vIGhhYmVuIGRhcyBG +ZWxkIG5pY2h0OyBudXIgZXhwbGl6aXQgZmFsc2UgYmxlbmRldCBhdXMpLgogICAgICAgIHZhciBp +blBsYW51bmcgPSBnci5pblBsYW51bmcgIT09IGZhbHNlOwogICAgICAgIC8vIEJhY2t3YXJkcy1D +b21wYXQgZnVlciBkYXJmQW5zcHJlY2hwYXJ0bmVyOiBmZWhsZW5kZXMgRmVsZCA9IGVybGF1YnQu +CiAgICAgICAgLy8gU3VwZXJVc2VyIGthbm4gcHJvIEdydXBwZSBzcGVycmVuIOKAlCBkYW5uIGZh +bGxlbiBQZXJzb25lbiBkZXIgR3J1cHBlCiAgICAgICAgLy8gYXVzIGRlbSBBbnNwcmVjaHBhcnRu +ZXItUG9vbCwgYmVzdGVoZW5kZSBNYXJraWVydW5nZW4gc2luZCB1bndpcmtzYW0uCiAgICAgICAg +dmFyIGRhcmZBcCA9IGdyLmRhcmZBbnNwcmVjaHBhcnRuZXIgIT09IGZhbHNlOwogICAgICAgIGh0 +bWwgKz0gJzx0ciBkYXRhLWlkeD0iJyArIGlkeCArICciJyArIChpblBsYW51bmcgPyAnJyA6ICcg +Y2xhc3M9ImdydXBwZS16ZWlsZS12ZXJzdGVja3QiJykgKyAnPicgKwogICAgICAgICAgICAnPHRk +PjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZ3J1cHBlLWt1ZXJ6ZWwtaW5wdXQiIGRhdGEtaWR4 +PSInICsgaWR4ICsgJyIgZGF0YS1hbHQ9IicgKyBlc2NhcGVBdHRyKGdyLm5hbWUpICsgJyIgdmFs +dWU9IicgKyBlc2NhcGVBdHRyKGdyLm5hbWUpICsgJyIgc3R5bGU9IndpZHRoOjEwMCU7Zm9udC1m +YW1pbHk6bW9ub3NwYWNlO2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LWFsaWduOmNlbnRlciIgbWF4bGVu +Z3RoPSI0IiB0aXRsZT0iS8O8cnplbCDDpG5kZXJuIOKAlCBhbGxlIFBlcnNvbmVuIGRpZXNlciBH +cnVwcGUgd2VyZGVuIGF1dG9tYXRpc2NoIG1pZ3JpZXJ0Ij48L3RkPicgKwogICAgICAgICAgICAn +PHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZ3J1cHBlLWJlei1pbnB1dCIgZGF0YS1pZHg9 +IicgKyBpZHggKyAnIiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIoZ3IuYmV6ZWljaG51bmcgfHwgJycp +ICsgJyIgc3R5bGU9IndpZHRoOjEwMCUiIHBsYWNlaG9sZGVyPSJ6LkIuIFdhY2hsZWl0dW5nIj48 +L3RkPicgKwogICAgICAgICAgICAnPHRkPjxpbnB1dCB0eXBlPSJjb2xvciIgY2xhc3M9ImdydXBw +ZS1oZy1pbnB1dCIgZGF0YS1pZHg9IicgKyBpZHggKyAnIiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIo +aGcpICsgJyIgc3R5bGU9IndpZHRoOjUwcHg7aGVpZ2h0OjI4cHg7cGFkZGluZzoycHg7Y3Vyc29y +OnBvaW50ZXIiPjwvdGQ+JyArCiAgICAgICAgICAgICc8dGQ+PGlucHV0IHR5cGU9ImNvbG9yIiBj +bGFzcz0iZ3J1cHBlLXNmLWlucHV0IiBkYXRhLWlkeD0iJyArIGlkeCArICciIHZhbHVlPSInICsg +ZXNjYXBlQXR0cihzZikgKyAnIiBzdHlsZT0id2lkdGg6NTBweDtoZWlnaHQ6MjhweDtwYWRkaW5n +OjJweDtjdXJzb3I6cG9pbnRlciI+PC90ZD4nICsKICAgICAgICAgICAgJzx0ZCBzdHlsZT0idGV4 +dC1hbGlnbjpjZW50ZXIiPicgKwogICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJncnVwcGVu +LWJhZGdlIGdydXBwZS12b3JzY2hhdSIgZGF0YS1pZHg9IicgKyBpZHggKyAnIiBzdHlsZT0iYmFj +a2dyb3VuZDonICsgZXNjYXBlQXR0cihoZykgKyAnO2NvbG9yOicgKyBlc2NhcGVBdHRyKHNmKSAr +ICciPicgKyBlc2NhcGVIVE1MKGdyLm5hbWUpICsgJzwvc3Bhbj4nICsKICAgICAgICAgICAgJzwv +dGQ+JyArCiAgICAgICAgICAgICc8dGQgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6 +ZToxMnB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpIiB0aXRsZT0iQW56YWhsIGFrdGl2ZSBQZXJz +b25lbiBpbiBkaWVzZXIgR3J1cHBlIj4nICsgYW56YWhsICsgJzwvdGQ+JyArCiAgICAgICAgICAg +ICc8dGQgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj4nICsKICAgICAgICAgICAgICAgICc8bGFi +ZWwgY2xhc3M9ImdydXBwZS1pbnBsYW51bmctbGFiZWwiIHRpdGxlPSJXZW5uIGF1c2dlc2NoYWx0 +ZXQsIHdlcmRlbiBQZXJzb25lbiBkaWVzZXIgR3J1cHBlIG5pY2h0IGluIGRlciBQbGFudW5nc2Fu +c2ljaHQgLyBpbSBXb2NoZW5wbGFuIC8gaW0gUGVycy4gUGxhbiBhbmdlemVpZ3Qg4oCUIGJsZWli +ZW4gYWJlciBpbiBkZXIgUGVyc29uYWx2ZXJ3YWx0dW5nIHBmbGVnYmFyLiI+JyArCiAgICAgICAg +ICAgICAgICAgICAgJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9ImdydXBwZS1pbnBsYW51 +bmctaW5wdXQiIGRhdGEtaWR4PSInICsgaWR4ICsgJyInICsgKGluUGxhbnVuZyA/ICcgY2hlY2tl +ZCcgOiAnJykgKyAnPicgKwogICAgICAgICAgICAgICAgJzwvbGFiZWw+JyArCiAgICAgICAgICAg +ICc8L3RkPicgKwogICAgICAgICAgICAnPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciI+JyAr +CiAgICAgICAgICAgICAgICAnPGxhYmVsIGNsYXNzPSJncnVwcGUtaW5wbGFudW5nLWxhYmVsIiB0 +aXRsZT0iV2VubiBha3RpdmllcnQsIGTDvHJmZW4gUGVyc29uZW4gZGllc2VyIEdydXBwZSBpbSBQ +ZXJzb25hbC1UYWIgYWxzIEFuc3ByZWNocGFydG5lciBtYXJraWVydCB3ZXJkZW4gKHp1c8OkdHps +aWNoIHp1ciBGdW5rdGlvbnMtQmVkaW5ndW5nKS4gTWFya2llcnRlIFBlcnNvbmVuIGVyc2NoZWlu +ZW4gbWl0IE1haWwtQnV0dG9uIGltIEluZm8tRmVuc3Rlci4iPicgKwogICAgICAgICAgICAgICAg +ICAgICc8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJncnVwcGUtZGFyZmFwLWlucHV0IiBk +YXRhLWlkeD0iJyArIGlkeCArICciJyArIChkYXJmQXAgPyAnIGNoZWNrZWQnIDogJycpICsgJz4n +ICsKICAgICAgICAgICAgICAgICc8L2xhYmVsPicgKwogICAgICAgICAgICAnPC90ZD4nICsKICAg +ICAgICAgICAgJzx0ZCBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFw +Ij4nICsKICAgICAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXNlayBidG4ta2xl +aW4iIGRhdGEtYWt0aW9uPSJncnVwcGUtcmF1ZiIgZGF0YS1pZHg9IicgKyBpZHggKyAnIiB0aXRs +ZT0iTmFjaCBvYmVuIHZlcnNjaGllYmVuIicgKyAoaWR4ID09PSAwID8gJyBkaXNhYmxlZCcgOiAn +JykgKyAnPiYjOTY1MDs8L2J1dHRvbj4nICsKICAgICAgICAgICAgICAgICcgJyArCiAgICAgICAg +ICAgICAgICAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWsgYnRuLWtsZWluIiBkYXRhLWFrdGlv +bj0iZ3J1cHBlLXJ1bnRlciIgZGF0YS1pZHg9IicgKyBpZHggKyAnIiB0aXRsZT0iTmFjaCB1bnRl +biB2ZXJzY2hpZWJlbiInICsgKGlkeCA9PT0gbGV0enRlcklkeCA/ICcgZGlzYWJsZWQnIDogJycp +ICsgJz4mIzk2NjA7PC9idXR0b24+JyArCiAgICAgICAgICAgICc8L3RkPicgKwogICAgICAgICAg +ICAnPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciI+JyArCiAgICAgICAgICAgICAgICAnPGJ1 +dHRvbiBjbGFzcz0iYnRuIGJ0bi1nZWZhaHIgYnRuLWtsZWluIGJ0bi1sb2VzY2hlbiIgZGF0YS1h +a3Rpb249ImdydXBwZS1sb2VzY2hlbiIgZGF0YS1pZHg9IicgKyBpZHggKyAnIiB0aXRsZT0iR3J1 +cHBlIGzDtnNjaGVuIChudXIgd2VubiBrZWluZSBQZXJzb25lbiBtZWhyIHp1Z2VvcmRuZXQpIicg +KyAoYW56YWhsID4gMCA/ICcgZGlzYWJsZWQnIDogJycpICsgJz5Mw7ZzY2hlbjwvYnV0dG9uPicg +KwogICAgICAgICAgICAnPC90ZD4nICsKICAgICAgICAnPC90cj4nOwogICAgfSk7CiAgICB0Ym9k +eS5pbm5lckhUTUwgPSBodG1sOwoKICAgIC8vIExpdmUtVm9yc2NoYXU6IEZhcmJlbi9Lw7xyemVs +LcOEbmRlcnVuZ2VuIHNvZm9ydCBpbSBCYWRnZSBzcGllZ2VsbgogICAgZnVuY3Rpb24gdm9yc2No +YXVVcGRhdGUoaWR4KSB7CiAgICAgICAgdmFyIHJvdyA9IHRib2R5LnF1ZXJ5U2VsZWN0b3IoJ3Ry +W2RhdGEtaWR4PSInICsgaWR4ICsgJyJdJyk7CiAgICAgICAgaWYgKCFyb3cpIHJldHVybjsKICAg +ICAgICB2YXIgayA9IHJvdy5xdWVyeVNlbGVjdG9yKCcuZ3J1cHBlLWt1ZXJ6ZWwtaW5wdXQnKS52 +YWx1ZSB8fCAnJzsKICAgICAgICB2YXIgaCA9IHJvdy5xdWVyeVNlbGVjdG9yKCcuZ3J1cHBlLWhn +LWlucHV0JykudmFsdWU7CiAgICAgICAgdmFyIHMgPSByb3cucXVlcnlTZWxlY3RvcignLmdydXBw +ZS1zZi1pbnB1dCcpLnZhbHVlOwogICAgICAgIHZhciB2ID0gcm93LnF1ZXJ5U2VsZWN0b3IoJy5n +cnVwcGUtdm9yc2NoYXUnKTsKICAgICAgICBpZiAodikgeyB2LnN0eWxlLmJhY2tncm91bmQgPSBo +OyB2LnN0eWxlLmNvbG9yID0gczsgdi50ZXh0Q29udGVudCA9IGs7IH0KICAgIH0KICAgIHRib2R5 +LnF1ZXJ5U2VsZWN0b3JBbGwoJy5ncnVwcGUta3VlcnplbC1pbnB1dCwgLmdydXBwZS1oZy1pbnB1 +dCwgLmdydXBwZS1zZi1pbnB1dCcpLmZvckVhY2goZnVuY3Rpb24oaW5wKSB7CiAgICAgICAgaW5w +LmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZvcnNj +aGF1VXBkYXRlKGlucC5nZXRBdHRyaWJ1dGUoJ2RhdGEtaWR4JykpOwogICAgICAgIH0pOwogICAg +fSk7Cn0KCi8vID09PT09IEFkbWluOiBHbG9iYWxlIEVpbnN0ZWxsdW5nZW4gPT09PT0KCi8vID09 +PT09IEFkbWluOiBJbmZvcm1hdGlvbiAmIEhpbGZlID09PT09CgovLyBEZWZhdWx0LUltcHJlc3N1 +bSAoSFRNTCkuIFdpcmQgaW0gUlRFLUVkaXRvciBhbmdlemVpZ3QsIHdlbm4KLy8gYWRtaW4uanNv +bi5pbXByZXNzdW0gbGVlciBpc3Qg4oCUIGRlciBVc2VyIGthbm4gZnJlaSB1ZWJlcnNjaHJlaWJl +bgovLyB1bmQgbWl0ICJTcGVpY2hlcm4iIHBlcnNpc3RpZXJlbi4gVGV4dGUgc2luZCBiZXd1c3N0 +IG5ldXRyYWwKLy8gZm9ybXVsaWVydCB1bmQgYXVmIGRpZSBWSTMtREdMLVJlYWxpdGFldCB6dWdl +c2Nobml0dGVuLgovLyA9PT09PSBTdXBwb3J0LU1haWwtVm9ybGFnZSAoU2VrdGlvbiBpbSBFLU1h +aWwtVm9ybGFnZW4tVGFiKSA9PT09PQovLwovLyBOdXIgZnVlciBQaGlsaXBwIFJvZXNnZW4gc2lj +aHRiYXIgKE5XLUtlbm51bmcgZW50aGFlbHQgTlcwNTM2MDkpLgovLyBFZGl0aWVydCB3aXJkIGRh +cyByYXcgUGxhaW4tVGV4dC1UZW1wbGF0ZSBpbmtsLiBQbGF0emhhbHRlcm47IGFwcC5qcwovLyBz +dXBwb3J0TWFpbEJvZHlCYXVlbigpIG1hY2h0IGRpZSBTdWJzdGl0dXRpb24gYmVpbSBCYXVlbiBk +ZXIgbWFpbHRvLVVSTC4KCmZ1bmN0aW9uIGlzdFBoaWxpcHBSb2VzZ2VuKCkgewogICAgdmFyIGIg +PSAoWi5iZW51dHplciB8fCAnJykudG9Mb3dlckNhc2UoKTsKICAgIHJldHVybiBiLmluZGV4T2Yo +J253MDUzNjA5JykgPj0gMDsKfQoKZXhwb3J0IGZ1bmN0aW9uIHN1cHBvcnRNYWlsU2VrdGlvblJl +bmRlcm4oKSB7CiAgICB2YXIgc2VrID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FkbWluLXNl +a3Rpb24tc3VwcG9ydG1haWwnKTsKICAgIGlmICghc2VrKSByZXR1cm47CiAgICBpZiAoIWlzdFBo +aWxpcHBSb2VzZ2VuKCkpIHsKICAgICAgICBzZWsuY2xhc3NMaXN0LmFkZCgndmVyc3RlY2t0Jyk7 +CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgc2VrLmNsYXNzTGlzdC5yZW1vdmUoJ3ZlcnN0ZWNr +dCcpOwogICAgdmFyIHRhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1cHBvcnRtYWlsLXRl +eHQnKTsKICAgIGlmICh0YSkgdGEudmFsdWUgPSAoWi5hZG1pbiAmJiBaLmFkbWluLnN1cHBvcnRN +YWlsVGV4dCkgfHwgJyc7CiAgICB2YXIgaGlud2VpcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk +KCdzdXBwb3J0bWFpbC1kaXJ0eS1oaW53ZWlzJyk7CiAgICBpZiAoaGlud2VpcykgaGlud2Vpcy5z +dHlsZS5kaXNwbGF5ID0gJ25vbmUnOwp9CgovLyBEZWZhdWx0LVZvcmxhZ2UgZnVlciBkaWUgU3Vw +cG9ydC1NYWlsIGltIEltcHJlc3N1bXMtTW9kYWwuIFBsYXR6aGFsdGVyCi8vIGluIHtnZXNjaHdl +aWZ0ZW4ga2xhbW1lcm59IHdlcmRlbiB2b20gQ2xpZW50IGJlaW0gbWFpbHRvOi1CYXUgZHVyY2gK +Ly8gTGl2ZS1XZXJ0ZSBlcnNldHp0IOKAlCBzaWVoZSBhcHAuanMgc3VwcG9ydE1haWxCb2R5QmF1 +ZW4uIEVkaXRpZXJiYXIgbnVyCi8vIGZ1ZXIgUGhpbGlwcCBSb2VzZ2VuIChOVzA1MzYwOSkgaW0g +QWRtaW4tVGFiIEUtTWFpbC1Wb3JsYWdlbi4KLy8KLy8gVmVyZnVlZ2JhcmUgUGxhdHpoYWx0ZXI6 +Ci8vICAge253X2tlbm51bmd9ICAgICAgICDigJQgWi5iZW51dHplciAoei5CLiBQT0xJWkVJXE5X +MDU1ODAxKQovLyAgIHtha3R1ZWxsZV9hbnNpY2h0fSAg4oCUIGFrdGl2ZXIgVGFiIChwbGFudW5n +L3dvY2hlbnBsYW4vcGVyc3BsYW4vLi4uKQovLyAgIHtkYXR1bX0gICAgICAgICAgICAg4oCUIGhl +dXRlLCBGb3JtYXQgZGQubW0uampqagovLyAgIHt1aHJ6ZWl0fSAgICAgICAgICAg4oCUIGpldHp0 +LCBGb3JtYXQgaGg6bW0KLy8gICB7YXVmbG9lc3VuZ30gICAgICAgIOKAlCBWaWV3cG9ydCwgei5C +LiAxOTIweDEwODAKLy8gICB7YXBwX2phaHJ9ICAgICAgICAgIOKAlCBaLmFkbWluLmphaHIKLy8g +ICB7YnJvd3Nlcn0gICAgICAgICAgIOKAlCBuYXZpZ2F0b3IudXNlckFnZW50IChtYXggMTIwIFpl +aWNoZW4pCmV4cG9ydCB2YXIgU1VQUE9SVF9NQUlMX0RFRkFVTFQgPQogICAgJ0hhbGxvIFBoaWxp +cHAsXG5cbicgKwogICAgJ1toaWVyIGJpdHRlIGt1cnogZGFzIEFubGllZ2VuIGluIDHigJMyIFPD +pHR6ZW4gYmVzY2hyZWliZW5dXG5cblxuJyArCiAgICAn4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ +4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ +4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4nICsK +ICAgICcxKSBXQVMgSVNUIFBBU1NJRVJUIC8gV0FTIFfDnE5TQ0hTVCBEVSBESVI/XG4nICsKICAg +ICfilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi +lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi +lIDilIDilIDilIDilIDilIDilIBcbicgKwogICAgJ1tEZXRhaWxsaWVydGUgQmVzY2hyZWlidW5n +OiBCdWctQmVyaWNodCBPREVSIFZlcmJlc3NlcnVuZ3MtXG4nICsKICAgICcgdm9yc2NobGFnLiBC +aXR0ZSBrb25rcmV0IOKAlCAiZ2VodCBuaWNodCIgaXN0IHp1IHdlbmlnLl1cblxuXG4nICsKICAg +ICfilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi +lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi +lZDilZDilZDilZDilZDilZDilZBcbicgKwogICAgJzIpIFdPIElNIFBST0dSQU1NXG4nICsKICAg +ICfilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi +lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi +lIDilIDilIDilIDilIDilIDilIBcbicgKwogICAgJ1RhYiAvIEFuc2ljaHQ6IFtQbGFudW5nIHwg +V29jaGVucGxhbiB8IFBlcnMuIFBsYW4gfCBQcsO8ZnVuZyB8XG4nICsKICAgICcgICAgICAgICAg +ICAgICAgU3RhdGlzdGlrIHwgTG9nYnVjaCB8IEFkbWluaXN0cmF0aW9uXVxuJyArCiAgICAnR2Vu +YXVlcmUgU3RlbGxlOiBbei4gQi4gQWRtaW5pc3RyYXRpb24g4oaSIFBlcnNvbmFsdmVyd2FsdHVu +ZyDihpJcbicgKwogICAgJyAgICAgICAgICAgICAgICAgIFBlcnNvbiBiZWFyYmVpdGVuIOKGkiBH +ZWJ1cnRzdGFnLU1vZGFsXVxuXG5cbicgKwogICAgJ+KVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV +kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV +kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuJyArCiAg +ICAnMykgV0lFIEtBTk4gSUNIIERBUyBSRVBST0RVWklFUkVOP1xuJyArCiAgICAn4pSA4pSA4pSA +4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA +4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA +4pSA4pSA4pSAXG4nICsKICAgICdTY2hyaXR0IDE6IFsuLi5dXG4nICsKICAgICdTY2hyaXR0IDI6 +IFsuLi5dXG4nICsKICAgICdTY2hyaXR0IDM6IFsuLi5dXG4nICsKICAgICfihpIgV2FzIHBhc3Np +ZXJ0IHRhdHPDpGNobGljaDogWy4uLl1cbicgKwogICAgJ+KGkiBXYXMgaMOkdHRlIHN0YXR0ZGVz +c2VuIHBhc3NpZXJlbiBzb2xsZW46IFsuLi5dXG5cblxuJyArCiAgICAn4pWQ4pWQ4pWQ4pWQ4pWQ +4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ +4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ +4pWQXG4nICsKICAgICc0KSBXRVIgLyBXQVMgSVNUIEJFVFJPRkZFTlxuJyArCiAgICAn4pSA4pSA +4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA +4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA +4pSA4pSA4pSA4pSAXG4nICsKICAgICdCZXRyb2ZmZW5lIFBlcnNvbiAvIERhdGVuc2F0eiAoZmFs +bHMgcmVsZXZhbnQpOiBbLi4uXVxuJyArCiAgICAnVHJpdHQgZXMgbnVyIGJlaSBtaXIgYXVmIOKA +lCBvZGVyIGF1Y2ggYmVpIEtvbGxlZzppbm5lbj8gWy4uLl1cbicgKwogICAgJ1JlcHJvZHV6aWVy +YmFyIG5hY2ggQnJvd3Nlci1SZWZyZXNoIC8gTmV1c3RhcnQ/IFsuLi5dXG5cblxuJyArCiAgICAn +4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ +4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ +4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4nICsKICAgICc1KSBXSUUgRFJJTkdFTkQgSVNUIERBUz9cbicg +KwogICAgJ+KUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU +gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU +gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJyArCiAgICAnWyBdIEJsb2NraWVydCBtZWluZSBB +cmJlaXQga29tcGxldHRcbicgKwogICAgJ1sgXSBTdMO2cnQsIGljaCBoYWJlIGFiZXIgZWluZW4g +V29ya2Fyb3VuZFxuJyArCiAgICAnWyBdIFZlcmJlc3NlcnVuZ3N2b3JzY2hsYWcg4oCUIGtlaW4g +YWt1dGVyIEJlZGFyZlxuXG5cbicgKwogICAgJ+KVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV +kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV +kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuJyArCiAgICAn +NikgU0NSRUVOU0hPVFMgLyBBTkjDhE5HRSDigJQgQklUVEUgQkVJTEVHRU4hXG4nICsKICAgICfi +lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi +lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi +lIDilIDilIDilIDilIDilIBcbicgKwogICAgJ01pbmRlc3RlbnMgMSBTY3JlZW5zaG90IGRlciBy +ZWxldmFudGVuIFN0ZWxsZS4gU28gZ2VodHM6XG4nICsKICAgICcgIOKAoiBTdHJnICsgRHJ1Y2sg +ICAgIOKGkiBnYW56ZXIgQmlsZHNjaGlybSBpbiBkaWUgWndpc2NoZW5hYmxhZ2VcbicgKwogICAg +JyAg4oCiIEFsdCArIERydWNrICAgICAg4oaSIG51ciBkYXMgYWt0aXZlIEZlbnN0ZXJcbicgKwog +ICAgJyAg4oCiIFBhaW50IMO2ZmZuZW4gICAgIOKGkiBTdHJnICsgViBlaW5mw7xnZW4g4oaSIFNw +ZWljaGVybiBhbHMgUE5HXG4nICsKICAgICcgIOKAoiBEYXRlaShlbikgYW4gZGllc2UgTWFpbCBh +bmjDpG5nZW5cbicgKwogICAgJ0JpdHRlIGRlbiBHQU5aRU4gQnJvd3Nlci1UYWIgZWluZmFuZ2Vu +IChuaWNodCBudXIgZGFzIE1vZGFsKSxcbicgKwogICAgJ2RhbWl0IGRlciBLb250ZXh0IChUYWIs +IERhdHVtLCBhbmRlcmUgSGlud2Vpc2UpIHNpY2h0YmFyIGlzdC5cblxuXG4nICsKICAgICdWaWVs +ZSBHcsO8w59lXG4nICsKICAgICdbVm9yLSB1bmQgTmFjaG5hbWUsIERpZW5zdGdyYWRdXG4nICsK +ICAgICdbRGllbnN0c3RlbGxlIC8gSGF1c2R1cmNod2FobF1cblxuXG4nICsKICAgICfilZDilZDi +lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi +lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi +lZDilZDilZDilZBcbicgKwogICAgJ1RFQ0hOSVNDSEUgSU5GTyDigJQgYml0dGUgdW52ZXLDpG5k +ZXJ0IGxhc3NlbiAodm9tIFN5c3RlbSBlcmfDpG56dClcbicgKwogICAgJ+KUgOKUgOKUgOKUgOKU +gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU +gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU +gOKUgFxuJyArCiAgICAnTlctS2VubnVuZzogICAgICAge253X2tlbm51bmd9XG4nICsKICAgICdB +a3R1ZWxsZSBBbnNpY2h0OiB7YWt0dWVsbGVfYW5zaWNodH1cbicgKwogICAgJ0RhdHVtIC8gVWhy +emVpdDogIHtkYXR1bX0ge3VocnplaXR9XG4nICsKICAgICdBdWZsw7ZzdW5nOiAgICAgICAge2F1 +ZmxvZXN1bmd9XG4nICsKICAgICdBcHAtSmFocjogICAgICAgICB7YXBwX2phaHJ9XG4nICsKICAg +ICdCcm93c2VyOiAgICAgICAgICB7YnJvd3Nlcn1cbicgKwogICAgJ+KVkOKVkOKVkOKVkOKVkOKV +kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV +kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV +kFxuJzsKCi8vIFZvcnN0cnVrdHVyaWVydGUgVm9ybGFnZSBmdWVyIGRlbiBIZWFkZXItQnV0dG9u +IOKAnkJ1Z1JlcG9ydCIg4oCUIHdpZSBkaWUKLy8gU3VwcG9ydC1Wb3JsYWdlLCBhYmVyIHp1Z2Vz +cGl0enQgYXVmIGVya2FubnRlIEJVR1MgLyBGZWhsZnVua3Rpb25lbiAoa2VpbmUKLy8gVmVyYmVz +c2VydW5nc3ZvcnNjaGxhZWdlKS4gR2xlaWNoZSBQbGF0emhhbHRlciB3aWUgU1VQUE9SVF9NQUlM +X0RFRkFVTFQ7Ci8vIGFwcC5qcyBidWdSZXBvcnRNYWlsQm9keUJhdWVuKCkgZXJzZXR6dCBzaWUg +YmVpbSBtYWlsdG86LUJhdS4KZXhwb3J0IHZhciBCVUdSRVBPUlRfTUFJTF9ERUZBVUxUID0KICAg +ICdIYWxsbyBQaGlsaXBwLFxuXG4nICsKICAgICdpY2ggbWVsZGUgZWluZW4gQnVnIC8gZWluIFBy +b2JsZW0gaW4gZGVyIFZJMyBER0wtUGxhbnVuZy5cblxuXG4nICsKICAgICfilZDilZDilZDilZDi +lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi +lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi +lZDilZBcbicgKwogICAgJzEpIFdBUyBHRUhUIE5JQ0hUPyAoa3VyeiBpbiAx4oCTMiBTw6R0emVu +KVxuJyArCiAgICAn4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA +4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA +4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4nICsKICAgICdbV2FzIGZ1bmt0aW9uaWVy +dCBuaWNodCB3aWUgZXJ3YXJ0ZXQ/IEJpdHRlIGtvbmtyZXQg4oCUXG4nICsKICAgICcgImdlaHQg +bmljaHQiIGlzdCB6dSB3ZW5pZy5dXG5cblxuJyArCiAgICAn4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ +4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ +4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4n +ICsKICAgICcyKSBXTyBJTSBQUk9HUkFNTSBUUklUVCBERVIgRkVITEVSIEFVRj9cbicgKwogICAg +J+KUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU +gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU +gOKUgOKUgOKUgOKUgOKUgOKUgFxuJyArCiAgICAnVGFiIC8gQW5zaWNodDogW1BsYW51bmcgfCBX +b2NoZW5wbGFuIHwgUGVycy4gUGxhbiB8IFByw7xmdW5nIHxcbicgKwogICAgJyAgICAgICAgICAg +ICAgICBTdGF0aXN0aWsgfCBMb2didWNoIHwgQWRtaW5pc3RyYXRpb25dXG4nICsKICAgICdHZW5h +dWVyZSBTdGVsbGU6IFt6LiBCLiBBZG1pbmlzdHJhdGlvbiDihpIgUGVyc29uYWx2ZXJ3YWx0dW5n +IOKGklxuJyArCiAgICAnICAgICAgICAgICAgICAgICAgUGVyc29uIGJlYXJiZWl0ZW4g4oaSIEdl +YnVydHN0YWctTW9kYWxdXG5cblxuJyArCiAgICAn4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ +4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ +4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4nICsKICAg +ICczKSBTQ0hSSVRURSBaVU0gUkVQUk9EVVpJRVJFTlxuJyArCiAgICAn4pSA4pSA4pSA4pSA4pSA +4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA +4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA +4pSAXG4nICsKICAgICdTY2hyaXR0IDE6IFsuLi5dXG4nICsKICAgICdTY2hyaXR0IDI6IFsuLi5d +XG4nICsKICAgICdTY2hyaXR0IDM6IFsuLi5dXG4nICsKICAgICfihpIgV2FzIHBhc3NpZXJ0IHRh +dHPDpGNobGljaCAoZGVyIEZlaGxlcik6IFsuLi5dXG4nICsKICAgICfihpIgV2FzIGjDpHR0ZSBz +dGF0dGRlc3NlbiBwYXNzaWVyZW4gc29sbGVuOiBbLi4uXVxuJyArCiAgICAn4oaSIEthbSBlaW5l +IEZlaGxlcm1lbGR1bmc/IFdlbm4gamEsIFdvcnRsYXV0OiBbLi4uXVxuXG5cbicgKwogICAgJ+KV +kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV +kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV +kOKVkOKVkOKVkOKVkOKVkFxuJyArCiAgICAnNCkgV0VSIC8gV0FTIElTVCBCRVRST0ZGRU5cbicg +KwogICAgJ+KUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU +gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU +gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJyArCiAgICAnQmV0cm9mZmVuZSBQZXJzb24gLyBE +YXRlbnNhdHogKGZhbGxzIHJlbGV2YW50KTogWy4uLl1cbicgKwogICAgJ1RyaXR0IGVzIG51ciBi +ZWkgbWlyIGF1ZiDigJQgb2RlciBhdWNoIGJlaSBLb2xsZWc6aW5uZW4/IFsuLi5dXG4nICsKICAg +ICdSZXByb2R1emllcmJhciBuYWNoIEJyb3dzZXItUmVmcmVzaCAvIE5ldXN0YXJ0PyBbLi4uXVxu +XG5cbicgKwogICAgJ+KVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV +kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV +kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuJyArCiAgICAnNSkgV0lFIFNUQVJLIEJM +T0NLSUVSVCBERVIgQlVHP1xuJyArCiAgICAn4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA +4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA +4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4nICsKICAgICdb +IF0gQmxvY2tpZXJ0IG1laW5lIEFyYmVpdCBrb21wbGV0dFxuJyArCiAgICAnWyBdIFN0w7ZydCwg +aWNoIGhhYmUgYWJlciBlaW5lbiBXb3JrYXJvdW5kXG4nICsKICAgICdbIF0gS2xlaW5lciBTY2jD +tm5oZWl0c2ZlaGxlclxuXG5cbicgKwogICAgJ+KVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV +kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV +kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuJyArCiAgICAn +NikgU0NSRUVOU0hPVFMg4oCUIEJJVFRFIFVOQkVESU5HVCBCRUlMRUdFTiFcbicgKwogICAgJ+KU +gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU +gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU +gOKUgOKUgOKUgOKUgOKUgFxuJyArCiAgICAnTWluZGVzdGVucyAxIFNjcmVlbnNob3QgZGVyIEZl +aGxlcnN0ZWxsZS4gU28gZ2VodHM6XG4nICsKICAgICcgIOKAoiBTdHJnICsgRHJ1Y2sgICAgIOKG +kiBnYW56ZXIgQmlsZHNjaGlybSBpbiBkaWUgWndpc2NoZW5hYmxhZ2VcbicgKwogICAgJyAg4oCi +IEFsdCArIERydWNrICAgICAg4oaSIG51ciBkYXMgYWt0aXZlIEZlbnN0ZXJcbicgKwogICAgJyAg +4oCiIFBhaW50IMO2ZmZuZW4gICAgIOKGkiBTdHJnICsgViBlaW5mw7xnZW4g4oaSIFNwZWljaGVy +biBhbHMgUE5HXG4nICsKICAgICcgIOKAoiBEYXRlaShlbikgYW4gZGllc2UgTWFpbCBhbmjDpG5n +ZW5cbicgKwogICAgJ0JpdHRlIGRlbiBHQU5aRU4gQnJvd3Nlci1UYWIgZWluZmFuZ2VuIChuaWNo +dCBudXIgZGFzIE1vZGFsKSxcbicgKwogICAgJ2RhbWl0IGRlciBLb250ZXh0IChUYWIsIERhdHVt +LCBhbmRlcmUgSGlud2Vpc2UpIHNpY2h0YmFyIGlzdC5cblxuXG4nICsKICAgICdWaWVsZSBHcsO8 +w59lXG4nICsKICAgICdbVm9yLSB1bmQgTmFjaG5hbWUsIERpZW5zdGdyYWRdXG4nICsKICAgICdb +RGllbnN0c3RlbGxlIC8gSGF1c2R1cmNod2FobF1cblxuXG4nICsKICAgICfilZDilZDilZDilZDi +lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi +lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi +lZDilZBcbicgKwogICAgJ1RFQ0hOSVNDSEUgSU5GTyDigJQgYml0dGUgdW52ZXLDpG5kZXJ0IGxh +c3NlbiAodm9tIFN5c3RlbSBlcmfDpG56dClcbicgKwogICAgJ+KUgOKUgOKUgOKUgOKUgOKUgOKU +gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU +gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxu +JyArCiAgICAnTlctS2VubnVuZzogICAgICAge253X2tlbm51bmd9XG4nICsKICAgICdBa3R1ZWxs +ZSBBbnNpY2h0OiB7YWt0dWVsbGVfYW5zaWNodH1cbicgKwogICAgJ0RhdHVtIC8gVWhyemVpdDog +IHtkYXR1bX0ge3VocnplaXR9XG4nICsKICAgICdBdWZsw7ZzdW5nOiAgICAgICAge2F1ZmxvZXN1 +bmd9XG4nICsKICAgICdBcHAtSmFocjogICAgICAgICB7YXBwX2phaHJ9XG4nICsKICAgICdCcm93 +c2VyOiAgICAgICAgICB7YnJvd3Nlcn1cbicgKwogICAgJ+KVkOKVkOKVkOKVkOKVkOKVkOKVkOKV +kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV +kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuJzsK +CmV4cG9ydCB2YXIgSU1QUkVTU1VNX0RFRkFVTFQgPQogICAgJzxoND5IZXJhdXNnZWJlciAvIFZl +cmFudHdvcnRsaWNoIGbDvHIgZGVuIEluaGFsdDwvaDQ+JyArCiAgICAnPHA+UG9saXplaXByw6Rz +aWRpdW0gRG9ydG11bmQ8YnI+JyArCiAgICAnVmVya2VocnNpbnNwZWt0aW9uIDMgKFZJIDMpPGJy +PicgKwogICAgJzxlbT5bQW5zY2hyaWZ0IGJpdHRlIGVyZ8Okbnplbl08L2VtPjwvcD4nICsKICAg +ICc8aDQ+VGVjaG5pc2NoZSBLb256ZXB0aW9uICZhbXA7IEVudHdpY2tsdW5nPC9oND4nICsKICAg +ICc8cD5QaGlsaXBwIFJvZXNnZW4sIFBISzxicj4nICsKICAgICdFLU1haWw6IHBoaWxpcHAucm9l +c2dlbkBwb2xpemVpLm5ydy5kZTwvcD4nICsKICAgICc8aDQ+QmV0cmllYiAmYW1wOyBEYXRlbmhh +bHR1bmc8L2g0PicgKwogICAgJzxwPkRpZXNlIEFud2VuZHVuZyBsw6R1ZnQgYXVzc2NobGllw59s +aWNoIGltIGludGVybmVuIFBvbGl6ZWktTmV0endlcmsuICcgKwogICAgJ0RpZSBEYXRlbiB3ZXJk +ZW4gbG9rYWwgaW4gSlNPTi1EYXRlaWVuIGdlaGFsdGVuIHVuZCDDvGJlciBkYXMgUG9saXplaS1O +ZXR6bGF1ZndlcmsgJyArCiAgICAnc3luY2hyb25pc2llcnQuIEtlaW5lIENsb3VkLURpZW5zdGUs +IGtlaW5lIGV4dGVybmVuIFRyYWNrZXIsIGtlaW5lIFRlbGVtZXRyaWUuPC9wPicgKwogICAgJzxo +ND5MaXplbnpoaW53ZWlzZSBleHRlcm5lciBLb21wb25lbnRlbjwvaDQ+JyArCiAgICAnPHVsPicg +KwogICAgJzxsaT5TaGVldEpTIENvbW11bml0eSBFZGl0aW9uIOKAlCBBcGFjaGUtMi4wLUxpemVu +eiwgbG9rYWwgZWluZ2VidW5kZW4gKHhsc3guZnVsbC5taW4uanMpPC9saT4nICsKICAgICc8L3Vs +PicgKwogICAgJzxoND5IYWZ0dW5nc2F1c3NjaGx1c3M8L2g0PicgKwogICAgJzxwPkRpZSBpbiBk +aWVzZXIgQW53ZW5kdW5nIGRhcmdlc3RlbGx0ZW4gRGllbnN0cGzDpG5lIHVuZCBQZXJzb25hbGRh +dGVuICcgKwogICAgJ2RpZW5lbiBkZXIgaW50ZXJuZW4gQXJiZWl0c29yZ2FuaXNhdGlvbi4gRsO8 +ciBWb2xsc3TDpG5kaWdrZWl0IHVuZCBBa3R1YWxpdMOkdCAnICsKICAgICd3aXJkIGtlaW5lIEdl +d8OkaHIgw7xiZXJub21tZW4uIFZlcmJpbmRsaWNoIGlzdCBhbGxlaW4gZGVyIG9mZml6aWVsbGUg +RGllbnN0cGxhbi48L3A+JzsKCi8vIEhlbHBlcjogd2FuZGVsdCBlaW5lbiBXZXJ0IGF1cyBhZG1p +bi5qc29uIChTdHJpbmcgLSBlbnR3ZWRlciBwbGFpbiBvZGVyCi8vIEhUTUwpIGluIEhUTUwgdW0s +IGRhcyBkaXJla3QgaW4gZGFzIEluZm8tRmVuc3RlciBvZGVyIGVpbmVuIFJURS1FZGl0b3IKLy8g +ZWluZ2VzZXR6dCB3ZXJkZW4ga2Fubi4gUGxhaW4gU3RyaW5ncyB3ZXJkZW4gZXNjYXBlZCB1bmQg +XG4gLT4gPGJyPjsKLy8gYmVyZWl0cy1IVE1MIHdpcmQgZHVyY2ggc2FuaXRpemVSaWNoSHRtbCBn +ZWZpbHRlcnQuCmZ1bmN0aW9uIGh0bWxBdXNGZWxkKHMpIHsKICAgIHMgPSBzIHx8ICcnOwogICAg +aWYgKCFzKSByZXR1cm4gJyc7CiAgICBpZiAoLzxcLz8oYnxzdHJvbmd8aXxlbXx1fHVsfG9sfGxp +fHB8YnJ8ZGl2fHNwYW58YXxoM3xoNClcYi9pLnRlc3QocykpIHsKICAgICAgICByZXR1cm4gc2Fu +aXRpemVSaWNoSHRtbChzKTsKICAgIH0KICAgIHJldHVybiBlc2NhcGVIVE1MKHMpLnJlcGxhY2Uo +L1xyP1xuL2csICc8YnI+Jyk7Cn0KCmZ1bmN0aW9uIGluZm9IaWxmZVJlbmRlcm4oKSB7CiAgICB2 +YXIgaW5mbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpaC1pbmZvdGV4dCcpOwogICAgaWYg +KCFpbmZvKSByZXR1cm47CiAgICBpbmZvLmlubmVySFRNTCA9IGh0bWxBdXNGZWxkKFouYWRtaW4u +aW5mb3RleHQpOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2loLXN1cHBvcnQnKS5pbm5l +ckhUTUwgICAgID0gaHRtbEF1c0ZlbGQoWi5hZG1pbi5zdXBwb3J0aW5mbyk7CiAgICBkb2N1bWVu +dC5nZXRFbGVtZW50QnlJZCgnaWgtaGlsZmUnKS5pbm5lckhUTUwgICAgICAgID0gaHRtbEF1c0Zl +bGQoWi5hZG1pbi5oaWxmZXRleHQpOwogICAgLy8gQmVkaWVudW5nc3RleHRlOiB3ZW5uIGxlZXIg +LT4gRGVmYXVsdCB6ZWlnZW4gKGFscyBVTCBnZXJlbmRlcnQsIGRhbWl0CiAgICAvLyBkZXIgVXNl +ciBzb2ZvcnQgc2llaHQgd2llIGVzIGF1c3NlaGVuIHNvbGwpCiAgICB2YXIgYmVkID0gWi5hZG1p +bi5iZWRpZW51bmdzdGV4dGU7CiAgICBpZiAoIWJlZCB8fCAhU3RyaW5nKGJlZCkudHJpbSgpKSB7 +CiAgICAgICAgLy8gRGVmYXVsdCBhbHMgPHVsPjxsaT4uLi48L2xpPjwvdWw+IGVpbmZ1ZWdlbiwg +ZGFtaXQgZGVyIFJURSBnbGVpY2gKICAgICAgICAvLyBBdWZ6YWVobHVuZ3MtRm9ybWF0IHplaWd0 +LgogICAgICAgIHZhciB1bCA9ICc8dWw+JyArIChhZG1pbkhvb2tzLmJlZGllbnVuZ1plaWxlblJl +bmRlcm4gPyBhZG1pbkhvb2tzLmJlZGllbnVuZ1plaWxlblJlbmRlcm4oQkVESUVOVU5HX0RFRkFV +TFQpIDogJycpICsgJzwvdWw+JzsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWgt +YmVkaWVudW5nJykuaW5uZXJIVE1MID0gdWw7CiAgICB9IGVsc2UgewogICAgICAgIGRvY3VtZW50 +LmdldEVsZW1lbnRCeUlkKCdpaC1iZWRpZW51bmcnKS5pbm5lckhUTUwgPSBodG1sQXVzRmVsZChi +ZWQpOwogICAgfQogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2loLXNjaGxpZXNzaW5mbycp +LnZhbHVlID0gWi5hZG1pbi5zY2hsaWVzc2luZm8gfHwgJyc7CiAgICAvLyBJbXByZXNzdW06IGxl +ZXIgLT4gRGVmYXVsdC1IVE1MIHplaWdlbiAoVXNlciBrYW5uIGZyZWkgdWViZXJzY2hyZWliZW4p +CiAgICB2YXIgaW1wRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWgtaW1wcmVzc3VtJyk7 +CiAgICBpZiAoaW1wRWwpIHsKICAgICAgICB2YXIgaW1wV2VydCA9IFouYWRtaW4uaW1wcmVzc3Vt +OwogICAgICAgIGltcEVsLmlubmVySFRNTCA9IChpbXBXZXJ0ICYmIFN0cmluZyhpbXBXZXJ0KS50 +cmltKCkpCiAgICAgICAgICAgID8gaHRtbEF1c0ZlbGQoaW1wV2VydCkKICAgICAgICAgICAgOiBz +YW5pdGl6ZVJpY2hIdG1sKElNUFJFU1NVTV9ERUZBVUxUKTsKICAgIH0KCiAgICAvLyBSVEUtVG9v +bGJhcnMgdmVyZHJhaHRlbiDigJQgZWlubWFsIHBybyBFZGl0b3IgcmVpY2h0LiBXaXIgbWFya2ll +cmVuCiAgICAvLyBtaXQgZGF0YS1ydGUtaW5pdCwgZGFtaXQgcnRlSW5pdCgpIG5pY2h0IGRvcHBl +bHQgaGFlbmd0LgogICAgWydpaC1pbmZvdGV4dCcsJ2loLXN1cHBvcnQnLCdpaC1oaWxmZScsJ2lo +LWJlZGllbnVuZycsJ2loLWltcHJlc3N1bSddLmZvckVhY2goZnVuY3Rpb24oaWQpIHsKICAgICAg +ICB2YXIgZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7CiAgICAgICAgaWYgKGVkICYm +ICFlZC5nZXRBdHRyaWJ1dGUoJ2RhdGEtcnRlLWluaXQnKSkgewogICAgICAgICAgICBydGVJbml0 +KGVkKTsKICAgICAgICAgICAgZWQuc2V0QXR0cmlidXRlKCdkYXRhLXJ0ZS1pbml0JywgJzEnKTsK +ICAgICAgICB9CiAgICB9KTsKfQoKZnVuY3Rpb24gaW5mb0hpbGZlQXVzRmVsZGVybkxlc2VuKCkg +ewogICAgdmFyIGltcEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2loLWltcHJlc3N1bScp +OwogICAgcmV0dXJuIHsKICAgICAgICBpbmZvdGV4dDogICAgICAgIHNhbml0aXplUmljaEh0bWwo +ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2loLWluZm90ZXh0JykuaW5uZXJIVE1MKSwKICAgICAg +ICBzdXBwb3J0aW5mbzogICAgIHNhbml0aXplUmljaEh0bWwoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 +SWQoJ2loLXN1cHBvcnQnKS5pbm5lckhUTUwpLAogICAgICAgIGhpbGZldGV4dDogICAgICAgc2Fu +aXRpemVSaWNoSHRtbChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWgtaGlsZmUnKS5pbm5lckhU +TUwpLAogICAgICAgIGJlZGllbnVuZ3N0ZXh0ZTogc2FuaXRpemVSaWNoSHRtbChkb2N1bWVudC5n +ZXRFbGVtZW50QnlJZCgnaWgtYmVkaWVudW5nJykuaW5uZXJIVE1MKSwKICAgICAgICBzY2hsaWVz +c2luZm86ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpaC1zY2hsaWVzc2luZm8nKS52YWx1 +ZSwKICAgICAgICBpbXByZXNzdW06ICAgICAgIGltcEVsID8gc2FuaXRpemVSaWNoSHRtbChpbXBF +bC5pbm5lckhUTUwpIDogJycKICAgIH07Cn0KCi8vID09PT09IEFkbWluOiBCZXplaWNobnVuZ2Vu +IChlZGl0aWVyYmFyZSBVSS1MYWJlbHMpID09PT09CgovLyBEZWZhdWx0LVdlcnRlIGZ1ZXIgYWxs +ZSBlZGl0aWVyYmFyZW4gTGFiZWxzLiBkYXRhLWJlei1BdHRyaWJ1dGUgaW0gSFRNTAovLyB2ZXJ3 +ZWlzZW4gbWl0IGlocmVtIFdlcnQgYXVmIGRpZXNlIEtleXM7IGJlemVpY2hudW5nZW5BbndlbmRl +bigpIHNldHp0Ci8vIGJlaW0gTG9naW4gZGVuIFRleHQuIExlZXJlIE92ZXJyaWRlcyBpbiBhZG1p +bi5qc29uLmJlemVpY2hudW5nZW4gZmFsbGVuCi8vIGF1ZiBkZW4gRGVmYXVsdCB6dXJ1ZWNrLgp2 +YXIgQkVaRUlDSE5VTkdFTl9ERUZBVUxUID0gewogICAgJ2FwcC50aXRlbCc6ICAgICAgICdWSTMg +REdMLVBsYW51bmcnLAogICAgJ25hdi5wbGFudW5nJzogICAgICdQbGFudW5nJywKICAgICduYXYu +d29jaGVucGxhbic6ICAnV29jaGVucGxhbicsCiAgICAnbmF2LnBlcnNwbGFuJzogICAgJ1BlcnMu +IFBsYW4nLAogICAgJ25hdi5iZXNldHp1bmcnOiAgICdQcsO8ZnVuZycsCiAgICAnbmF2LmFkbWlu +JzogICAgICAgJ0FkbWluaXN0cmF0aW9uJywKICAgICduYXYuc3RhdGlzdGlrJzogICAnU3RhdGlz +dGlrJywKICAgICduYXYubG9nYnVjaCc6ICAgICAnTG9nYnVjaCcKfTsKCmZ1bmN0aW9uIGJleihr +ZXkpIHsKICAgIHZhciBiID0gKFouYWRtaW4gJiYgWi5hZG1pbi5iZXplaWNobnVuZ2VuKSB8fCB7 +fTsKICAgIGlmIChrZXkgaW4gYiAmJiBiW2tleV0pIHJldHVybiBiW2tleV07CiAgICByZXR1cm4g +QkVaRUlDSE5VTkdFTl9ERUZBVUxUW2tleV0gfHwga2V5Owp9CgovLyBTZXR6dCBhbGxlIGRhdGEt +YmV6LUVsZW1lbnRlIGltIERPTSBhdWYgZGVuIHBhc3NlbmRlbiBUZXh0LiBFaW5tYWwgbmFjaAov +LyBMb2dpbiBhdWZydWZlbiB1bmQgYmVpIGplZGVyIEFlbmRlcnVuZyB2b24gYWRtaW4uYmV6ZWlj +aG51bmdlbi4KZnVuY3Rpb24gYmV6ZWljaG51bmdlbkFud2VuZGVuKCkgewogICAgZG9jdW1lbnQu +cXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtYmV6XScpLmZvckVhY2goZnVuY3Rpb24oZWwpIHsKICAg +ICAgICB2YXIgayA9IGVsLmdldEF0dHJpYnV0ZSgnZGF0YS1iZXonKTsKICAgICAgICBpZiAoaykg +ZWwudGV4dENvbnRlbnQgPSBiZXooayk7CiAgICB9KTsKICAgIC8vIEF1Y2ggZGVyIEhUTUwtPHRp +dGxlPiBzcGllZ2VsdCBkZW4gQXBwLVRpdGVsCiAgICB0cnkgeyBkb2N1bWVudC50aXRsZSA9IGJl +eignYXBwLnRpdGVsJyk7IH0gY2F0Y2ggKF8pIHt9Cn0KCmZ1bmN0aW9uIGJlemVpY2hudW5nZW5S +ZW5kZXJuKCkgewogICAgdmFyIHRib2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JlemVp +Y2hudW5nZW4tdGJvZHknKTsKICAgIGlmICghdGJvZHkpIHJldHVybjsKICAgIHZhciBvdmVycmlk +ZXMgPSAoWi5hZG1pbiAmJiBaLmFkbWluLmJlemVpY2hudW5nZW4pIHx8IHt9OwogICAgdmFyIGh0 +bWwgPSAnJzsKICAgIE9iamVjdC5rZXlzKEJFWkVJQ0hOVU5HRU5fREVGQVVMVCkuZm9yRWFjaChm +dW5jdGlvbihrZXkpIHsKICAgICAgICB2YXIgZGVmID0gQkVaRUlDSE5VTkdFTl9ERUZBVUxUW2tl +eV07CiAgICAgICAgdmFyIGN1ciA9IG92ZXJyaWRlc1trZXldIHx8ICcnOwogICAgICAgIGh0bWwg +Kz0gJzx0cj4nICsKICAgICAgICAgICAgJzx0ZD48Y29kZSBzdHlsZT0iZm9udC1zaXplOjExcHgi +PicgKyBlc2NhcGVIVE1MKGtleSkgKyAnPC9jb2RlPjwvdGQ+JyArCiAgICAgICAgICAgICc8dGQg +c3R5bGU9ImNvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZToxMnB4Ij4nICsgZXNjYXBl +SFRNTChkZWYpICsgJzwvdGQ+JyArCiAgICAgICAgICAgICc8dGQ+PGlucHV0IHR5cGU9InRleHQi +IGNsYXNzPSJiZXotaW5wdXQiIGRhdGEta2V5PSInICsgZXNjYXBlQXR0cihrZXkpICsgJyIgdmFs +dWU9IicgKyBlc2NhcGVBdHRyKGN1cikgKyAnIiBwbGFjZWhvbGRlcj0iJyArIGVzY2FwZUF0dHIo +ZGVmKSArICciIHN0eWxlPSJ3aWR0aDoxMDAlIj48L3RkPicgKwogICAgICAgICAgICAnPC90cj4n +OwogICAgfSk7CiAgICB0Ym9keS5pbm5lckhUTUwgPSBodG1sOwp9CgpmdW5jdGlvbiBiZXplaWNo +bnVuZ2VuQXVzVGFiZWxsZUxlc2VuKCkgewogICAgdmFyIG1hcCA9IHt9OwogICAgZG9jdW1lbnQu +cXVlcnlTZWxlY3RvckFsbCgnLmJlei1pbnB1dCcpLmZvckVhY2goZnVuY3Rpb24oaW5wKSB7CiAg +ICAgICAgdmFyIGsgPSBpbnAuZ2V0QXR0cmlidXRlKCdkYXRhLWtleScpOwogICAgICAgIHZhciB2 +ID0gaW5wLnZhbHVlLnRyaW0oKTsKICAgICAgICBpZiAoayAmJiB2KSBtYXBba10gPSB2OwogICAg +fSk7CiAgICByZXR1cm4gbWFwOwp9CgovLyA9PT09PSBBZG1pbjogRS1NYWlsLVZvcmxhZ2VuIChm +dWVyIEJlc2V0enVuZ3Nrb250cm9sbGUpID09PT09Ci8vIEVNQUlMX1ZPUkxBR0VOX0RFRkFVTFQs +IEVNQUlMX1ZBUklBQkxFTl9CRVNDSFJFSUJVTkcsIEVNUEZBRU5HRVJfT1BUSU9ORU4sCi8vIEVN +QUlMX1ZPUkxBR0VOX01FVEEsIGVtYWlsVm9ybGFnZW5Ib2xlbiwgZW1haWxWb3JsYWdlblJlbmRl +cm4sCi8vIGVtYWlsVm9ybGFnZUJlYXJiZWl0ZW5Nb2RhbCwgaHRtbFp1UGxhaW5UZXh0LCBlbWFp +bFZvcmxhZ2VCZWZ1ZWxsZW4sCi8vIGVtYWlsRW1wZmFlbmdlclJlc29sdmUsIG1haWxUcmlnZ2Vy +RmV1ZXJuLCByb2xsZURpZmZUcmlnZ2VybgovLyAgIC0+IGpzL2VtYWlsL2VtYWlsLXZvcmxhZ2Vu +LmpzCgpmdW5jdGlvbiBlaW5zdGVsbHVuZ2VuUmVuZGVybigpIHsKICAgIHZhciBlbCA9IGRvY3Vt +ZW50LmdldEVsZW1lbnRCeUlkKCdlaW5zLWphaHInKTsKICAgIGlmICghZWwpIHJldHVybjsKICAg +IGVsLnZhbHVlID0gWi5hZG1pbi5qYWhyIHx8IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTsKICAg +IHZhciBwYXBpZXJrb3JiRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWlucy1wYXBpZXJr +b3JiLXRhZ2UnKTsKICAgIGlmIChwYXBpZXJrb3JiRWwpIHBhcGllcmtvcmJFbC52YWx1ZSA9IFou +YWRtaW4ucGFwaWVya29yYlRhZ2VBdWZiZXdhaHJ1bmcgIT0gbnVsbCA/IFouYWRtaW4ucGFwaWVy +a29yYlRhZ2VBdWZiZXdhaHJ1bmcgOiAzMDsKICAgIHZhciBlbWFpbERvbWFpbkVsID0gZG9jdW1l +bnQuZ2V0RWxlbWVudEJ5SWQoJ2VpbnMtZW1haWwtZG9tYWluJyk7CiAgICBpZiAoZW1haWxEb21h +aW5FbCkgZW1haWxEb21haW5FbC52YWx1ZSA9IFouYWRtaW4uZW1haWxBdXRvRG9tYWluIHx8ICdA +cG9saXplaS5ucncuZGUnOwogICAgdmFyIGF2YXRhckdyb2Vzc2VFbCA9IGRvY3VtZW50LmdldEVs +ZW1lbnRCeUlkKCdlaW5zLWF2YXRhci1ncm9lc3NlJyk7CiAgICBpZiAoYXZhdGFyR3JvZXNzZUVs +KSBhdmF0YXJHcm9lc3NlRWwudmFsdWUgPSBaLmFkbWluLmF2YXRhckdyb2Vzc2UgfHwgMjAwOwog +ICAgdmFyIGVkaXRvclRyaWdnZXJFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlaW5zLWVk +aXRvci10cmlnZ2VyJyk7CiAgICBpZiAoZWRpdG9yVHJpZ2dlckVsKSB7CiAgICAgICAgdmFyIHQg +PSBaLmFkbWluLmVkaXRvclRyaWdnZXI7CiAgICAgICAgZWRpdG9yVHJpZ2dlckVsLnZhbHVlID0g +KFsncmVjaHRzJywgJ2xpbmtzJywgJ21pdHRlJywgJ2RvcHBlbCddLmluZGV4T2YodCkgPj0gMCkg +PyB0IDogJ3JlY2h0cyc7CiAgICB9Cn0KCi8vID09PT09IEFkbWluOiBTdGFuZG9ydGUgJiBTY2hp +Y2h0Zm9sZ2UgPT09PT0KCmZ1bmN0aW9uIHN0YW5kb3J0ZVJlbmRlcm4oKSB7CiAgICB2YXIgdGJv +ZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhbmRvcnRlLXRib2R5Jyk7CiAgICBpZiAo +IXRib2R5KSByZXR1cm47CiAgICBpZiAoIShaLmFkbWluLnN0YW5kb3J0ZSB8fCBbXSkubGVuZ3Ro +KSB7CiAgICAgICAgdGJvZHkuaW5uZXJIVE1MID0gYWRtaW5FbXB0eVplaWxlKDUsICdcdXsxRjNF +Mn0nLAogICAgICAgICAgICAnTm9jaCBrZWluZSBTdGFuZG9ydGUgYW5nZWxlZ3QnLAogICAgICAg +ICAgICAnU3RhbmRvcnRlIHNpbmQgZGllIEFyYmVpdHNvcnRlIGRlciBWSTMgKHouQi4gQXJuc2Jl +cmcsIEJvY2h1bSkuIEplZGVyIFN0YW5kb3J0IGJyYXVjaHQgZWluZSBTY2hpY2h0Zm9sZ2UgZnVl +ciBBL0IvQyDigJQgbGVnIGRlbiBlcnN0ZW4gb2JlbiBtaXQg4oCeTmV1ZXIgU3RhbmRvcnQiIGFu +LicpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIHZhciBoZXV0ZSA9IG5ldyBEYXRlKFouaGV1 +dGVTdHIgKyAnVDAwOjAwOjAwJyk7CiAgICB2YXIgaHRtbCA9ICcnOwogICAgKFouYWRtaW4uc3Rh +bmRvcnRlIHx8IFtdKS5mb3JFYWNoKGZ1bmN0aW9uKHNvLCBpZHgpIHsKICAgICAgICB2YXIgdm9y +c2NoYXUgPSAnJzsKICAgICAgICBpZiAoc28uaXN0UG9vbCkgewogICAgICAgICAgICB2b3JzY2hh +dSA9ICc8c3BhbiBjbGFzcz0ic2Ytdm9yc2NoYXUgc2Ytdm9yc2NoYXUtcG9vbCI+UG9vbCAoZmxl +eGliZWwpPC9zcGFuPic7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZm9yICh2YXIgaSA9 +IDA7IGkgPCAxNDsgaSsrKSB7CiAgICAgICAgICAgICAgICB2YXIgZCA9IG5ldyBEYXRlKGhldXRl +LmdldFRpbWUoKSArIGkgKiA4NjQwMDAwMCk7CiAgICAgICAgICAgICAgICB2YXIga2V5ID0gZGF0 +dW1TdHIoZCk7CiAgICAgICAgICAgICAgICB2YXIgd2VydCA9IChzby5zY2hpY2h0Zm9sZ2UgfHwg +e30pW2tleV0gfHwgJ+KAkyc7CiAgICAgICAgICAgICAgICB2YXIgY2xzID0gd2VydCA9PT0gJ0FC +QycgPyAnc2YtYWJjJyA6IHdlcnQgPT09ICdCQ0EnID8gJ3NmLWJjYScgOiB3ZXJ0ID09PSAnQ0FC +JyA/ICdzZi1jYWInIDogJyc7CiAgICAgICAgICAgICAgICB2b3JzY2hhdSArPSAnPHNwYW4gY2xh +c3M9InNmLXZvcnNjaGF1ICcgKyBjbHMgKyAnIiB0aXRsZT0iJyArIGtleSArICciPicgKyBlc2Nh +cGVIVE1MKHdlcnQpICsgJzwvc3Bhbj4nOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAg +IGh0bWwgKz0gJzx0cj4nICsKICAgICAgICAgICAgJzx0ZD48aW5wdXQgdHlwZT0idGV4dCIgdmFs +dWU9IicgKyBlc2NhcGVBdHRyKHNvLm5hbWUgfHwgJycpICsgJyIgZGF0YS1pZHg9IicgKyBpZHgg +KyAnIiBkYXRhLWZlbGQ9Im5hbWUiIGNsYXNzPSJzdGFuZG9ydC1pbnB1dCI+PC90ZD4nICsKICAg +ICAgICAgICAgJzx0ZD48aW5wdXQgdHlwZT0idGV4dCIgdmFsdWU9IicgKyBlc2NhcGVBdHRyKHNv +Lmt1ZXJ6ZWwgfHwgJycpICsgJyIgZGF0YS1pZHg9IicgKyBpZHggKyAnIiBkYXRhLWZlbGQ9Imt1 +ZXJ6ZWwiIGNsYXNzPSJzdGFuZG9ydC1pbnB1dCIgbWF4bGVuZ3RoPSI0IiBzdHlsZT0id2lkdGg6 +NTBweCI+PC90ZD4nICsKICAgICAgICAgICAgJzx0ZCBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIi +PjxpbnB1dCB0eXBlPSJjaGVja2JveCIgJyArIChzby5pc3RQb29sID8gJ2NoZWNrZWQnIDogJycp +ICsgJyBkYXRhLWlkeD0iJyArIGlkeCArICciIGRhdGEtZmVsZD0iaXN0UG9vbCIgY2xhc3M9InN0 +YW5kb3J0LWlucHV0Ij48L3RkPicgKwogICAgICAgICAgICAnPHRkPicgKyB2b3JzY2hhdSArICc8 +L3RkPicgKwogICAgICAgICAgICAnPHRkPicgKwogICAgICAgICAgICAgICAgJzxkaXYgc3R5bGU9 +ImRpc3BsYXk6ZmxleDtnYXA6NnB4O2FsaWduLWl0ZW1zOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dy +YXAiPicgKwogICAgICAgICAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXNlayBi +dG4ta2xlaW4gYnRuLWljb24gYnRuLXJoeXRobXVzIiBkYXRhLWFrdGlvbj0ic3RhbmRvcnQtcmh5 +dGhtdXMiIGRhdGEtaWR4PSInICsgaWR4ICsgJyIgdGl0bGU9IlJoeXRobXVzIGVyemV1Z2VuIj5S +aHl0aG11czwvYnV0dG9uPicgKwogICAgICAgICAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJi +dG4gYnRuLWdlZmFociBidG4ta2xlaW4gYnRuLWxvZXNjaGVuIiBkYXRhLWFrdGlvbj0ic3RhbmRv +cnQtbG9lc2NoZW4iIGRhdGEtaWR4PSInICsgaWR4ICsgJyIgdGl0bGU9IlN0YW5kb3J0IGzDtnNj +aGVuIj5Mw7ZzY2hlbjwvYnV0dG9uPicgKwogICAgICAgICAgICAgICAgJzwvZGl2PicgKwogICAg +ICAgICAgICAnPC90ZD4nICsKICAgICAgICAnPC90cj4nOwogICAgfSk7CiAgICB0Ym9keS5pbm5l +ckhUTUwgPSBodG1sOwp9CgpmdW5jdGlvbiBzdGFuZG9ydGVBdXNUYWJlbGxlTGVzZW4oKSB7CiAg +ICB2YXIgYWx0ZSA9IFouYWRtaW4uc3RhbmRvcnRlIHx8IFtdOwogICAgdmFyIGZlbGRlciA9IGRv +Y3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zdGFuZG9ydC1pbnB1dCcpOwogICAgdmFyIG5ldSA9 +IGFsdGUubWFwKGZ1bmN0aW9uKHMpIHsgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHMpOyB9KTsK +ICAgIGZlbGRlci5mb3JFYWNoKGZ1bmN0aW9uKGYpIHsKICAgICAgICB2YXIgaWR4ID0gcGFyc2VJ +bnQoZi5nZXRBdHRyaWJ1dGUoJ2RhdGEtaWR4JykpOwogICAgICAgIHZhciBmZWxkID0gZi5nZXRB +dHRyaWJ1dGUoJ2RhdGEtZmVsZCcpOwogICAgICAgIGlmICghbmV1W2lkeF0pIHJldHVybjsKICAg +ICAgICBpZiAoZmVsZCA9PT0gJ2lzdFBvb2wnKSBuZXVbaWR4XS5pc3RQb29sID0gZi5jaGVja2Vk +OwogICAgICAgIGVsc2UgbmV1W2lkeF1bZmVsZF0gPSBmLnZhbHVlOwogICAgfSk7CiAgICBuZXUu +Zm9yRWFjaChmdW5jdGlvbihzKSB7CiAgICAgICAgaWYgKHMuaXN0UG9vbCkgZGVsZXRlIHMuc2No +aWNodGZvbGdlOwogICAgfSk7CiAgICByZXR1cm4gbmV1LmZpbHRlcihmdW5jdGlvbihzKSB7IHJl +dHVybiBzLm5hbWU7IH0pOwp9CgpmdW5jdGlvbiByaHl0aG11c0dlbmVyYXRvckRpYWxvZyhpZHgp +IHsKICAgIHZhciBzbyA9IChaLmFkbWluLnN0YW5kb3J0ZSB8fCBbXSlbaWR4XTsKICAgIGlmICgh +c28pIHJldHVybjsKICAgIHZhciBqYWhyID0gWi5hZG1pbi5qYWhyIHx8IG5ldyBEYXRlKCkuZ2V0 +RnVsbFllYXIoKTsKICAgIHZhciBrb2VycGVyID0gJzxwIHN0eWxlPSJtYXJnaW4tdG9wOjAiPkVy +emV1Z2UgZWluZW4gd2llZGVya2VocmVuZGVuIFJoeXRobXVzIGbDvHIgPHN0cm9uZz4nICsgZXNj +YXBlSFRNTChzby5uYW1lKSArICc8L3N0cm9uZz4uIERlciBSaHl0aG11cyB3aXJkIGFiIFN0YXJ0 +ZGF0dW0gamV3ZWlscyBmw7xyIGRpZSBhbmdlZ2ViZW5lIEJsb2NrbMOkbmdlIGFuZ2V3ZW5kZXQg +dW5kIHp5a2xpc2NoIHdpZWRlcmhvbHQgYmlzIEphaHJlc2VuZGUuPC9wPicgKwogICAgICAgICc8 +ZGl2IHN0eWxlPSJkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2Fw +OjAgMTZweCI+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9ImZvcm0tZ3J1cHBlIj48bGFiZWw+U3Rh +cnRkYXR1bSAod28gWnlrbHVzIGJlZ2lubnQpPC9sYWJlbD48aW5wdXQgdHlwZT0iZGF0ZSIgaWQ9 +InJoLXN0YXJ0IiBjbGFzcz0iZm9ybS1pbnB1dCIgc3R5bGU9IndpZHRoOjEwMCUiIHZhbHVlPSIn +ICsgamFociArICctMDEtMDEiPjwvZGl2PicgKwogICAgICAgICc8ZGl2IGNsYXNzPSJmb3JtLWdy +dXBwZSI+PGxhYmVsPkJsb2NrbMOkbmdlIGluIFRhZ2VuPC9sYWJlbD48aW5wdXQgdHlwZT0ibnVt +YmVyIiBpZD0icmgtYmxvY2siIGNsYXNzPSJmb3JtLWlucHV0IiBzdHlsZT0id2lkdGg6MTAwJSIg +dmFsdWU9IjciIG1pbj0iMSIgbWF4PSIzMSI+PC9kaXY+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9 +ImZvcm0tZ3J1cHBlIiBzdHlsZT0iZ3JpZC1jb2x1bW46c3BhbiAyIj48bGFiZWw+UmVpaGVuZm9s +Z2UgKGtvbW1hZ2V0cmVubnQsIHouQi4gQUJDLEJDQSxDQUIpPC9sYWJlbD48aW5wdXQgdHlwZT0i +dGV4dCIgaWQ9InJoLWZvbGdlIiBjbGFzcz0iZm9ybS1pbnB1dCIgc3R5bGU9IndpZHRoOjEwMCUi +IHZhbHVlPSJBQkMsQkNBLENBQiI+PC9kaXY+JyArCiAgICAgICAgJzwvZGl2Pic7CgogICAgbW9k +YWxaZWlnZW4oJ1NjaGljaHRmb2xnZS1SaHl0aG11cyBmw7xyICcgKyBzby5uYW1lLCBrb2VycGVy +LAogICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXByaW1hZXIiIGlkPSJyaC1hbndlbmRl +biI+QW53ZW5kZW48L2J1dHRvbj4nLAogICAgICAgIGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2 +YXIgc3RhcnQgPSBuZXcgRGF0ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmgtc3RhcnQnKS52 +YWx1ZSArICdUMDA6MDA6MDAnKTsKICAgICAgICAgICAgdmFyIGJsb2NrID0gcGFyc2VJbnQoZG9j +dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JoLWJsb2NrJykudmFsdWUsIDEwKSB8fCA3OwogICAgICAg +ICAgICB2YXIgZm9sZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmgtZm9sZ2UnKS52YWx1 +ZS5zcGxpdCgnLCcpLm1hcChmdW5jdGlvbihzKXtyZXR1cm4gcy50cmltKCkudG9VcHBlckNhc2Uo +KTt9KS5maWx0ZXIoQm9vbGVhbik7CiAgICAgICAgICAgIGlmICghZm9sZ2UubGVuZ3RoIHx8IGlz +TmFOKHN0YXJ0LmdldFRpbWUoKSkpIHsgdG9hc3QoJ1VuZ8O8bHRpZ2UgRWluZ2FiZScsICd3YXJu +dW5nJyk7IHJldHVybjsgfQoKICAgICAgICAgICAgdmFyIHNjaGljaHRmb2xnZSA9IHt9OwogICAg +ICAgICAgICB2YXIgamFoclN0YXJ0ID0gbmV3IERhdGUoamFociArICctMDEtMDFUMDA6MDA6MDAn +KTsKICAgICAgICAgICAgdmFyIGphaHJFbmRlID0gbmV3IERhdGUoamFociArICctMTItMzFUMDA6 +MDA6MDAnKTsKICAgICAgICAgICAgdmFyIHRhZyA9IG5ldyBEYXRlKGphaHJTdGFydCk7CiAgICAg +ICAgICAgIHdoaWxlICh0YWcgPD0gamFockVuZGUpIHsKICAgICAgICAgICAgICAgIHZhciBkaWZm +VGFnZSA9IE1hdGguZmxvb3IoKHRhZyAtIHN0YXJ0KSAvIDg2NDAwMDAwKTsKICAgICAgICAgICAg +ICAgIGlmIChkaWZmVGFnZSA+PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHp5a2x1c0lk +eCA9IE1hdGguZmxvb3IoZGlmZlRhZ2UgLyBibG9jaykgJSBmb2xnZS5sZW5ndGg7CiAgICAgICAg +ICAgICAgICAgICAgc2NoaWNodGZvbGdlW2RhdHVtU3RyKHRhZyldID0gZm9sZ2VbenlrbHVzSWR4 +XTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHRhZy5zZXREYXRlKHRhZy5nZXRE +YXRlKCkgKyAxKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBzby5zY2hpY2h0Zm9sZ2UgPSBz +Y2hpY2h0Zm9sZ2U7CiAgICAgICAgICAgIHNvLmlzdFBvb2wgPSBmYWxzZTsKICAgICAgICAgICAg +bW9kYWxTY2hsaWVzc2VuKCk7CiAgICAgICAgICAgIHN0YW5kb3J0ZVJlbmRlcm4oKTsKICAgICAg +ICAgICAgdG9hc3QoJ1JoeXRobXVzIGbDvHIgJyArIHNvLm5hbWUgKyAnIGVyemV1Z3Qg4oCUIOKA +nlNwZWljaGVybiIgbmljaHQgdmVyZ2Vzc2VuJywgJ2VyZm9sZycpOwogICAgICAgIH0KICAgICk7 +Cn0KCi8vID09PT09IEFkbWluOiBQZXJzb25hbC1UYWJlbGxlLCBOZXVpbXBvcnQsIEJ1bGssIElu +bGluZS1FZGl0cywgRS1NYWlsID09PT09Ci8vIFBoYXNlIDktQiBDNDoga29tcGxldHRlciBQZXJz +b25hbC1CbG9jayAofjEzMjcgWi4pIG5hY2gKLy8gVkkzL2pzL2FkbWluX3BlcnNvbmFsLmpzIGF1 +c2dlbGFnZXJ0LiBLb25zdW1lbnRlbiAoYXBwLmpzKQovLyBpbXBvcnRpZXJlbiBhYiBQaGFzZSA5 +LUIgQzUgZGlyZWt0IGF1cyBhZG1pbl9wZXJzb25hbC5qcy4KCi8vID09PT09IEFkbWluOiBGZWll +cnRhZ2UgKyBGZXJpZW4gKyBTb25kZXJ0ZXJtaW5lID09PT09Ci8vIFBoYXNlIDktQiBDMzogbmFj +aCBWSTMvanMvYWRtaW5fa2FsZW5kZXIuanMgYXVzZ2VsYWdlcnQKLy8gKGZlaWVydGFnZSosIGZl +cmllbiosIHNvbmRlcnRlcm1pbmUqLCBzb25kZXIqLUhlbGZlcikuCi8vIHdvY2hlbnBsYW4uanMg +KyBhcHAuanMgaW1wb3J0aWVyZW4gYWIgUGhhc2UgOS1CIEM1IGRpcmVrdCBhdXMKLy8gYWRtaW5f +a2FsZW5kZXIuanMuCgovLyBydGVJbml0LCBydGVCdXR0b25TdGF0ZXMgLT4ganMvdWkvcnRlLmpz +CgovLyA9PT09PSBBZG1pbjogU2NoaWNodGNvZGUtVm9yc2NoYXUgKyBFZGl0ICsgVG9nZ2xlID09 +PT09Ci8vIFBoYXNlIDktQiBDMjogbmFjaCBWSTMvanMvYWRtaW5fY29kZXMuanMgYXVzZ2VsYWdl +cnQKLy8gKGlzdENvZGVBa3RpdiwgY29kZVZlcndlbmR1bmdaYWVobGVuLCBzY2hpY2h0Y29kZUth +dGVnb3JpZSwKLy8gc2NoaWNodGNvZGVWb3JzY2hhdVJlbmRlcm4sIHNjaGljaHRjb2RlRHJhZ1Zl +cmRyYWh0ZW4sCi8vIHNjaGljaHRjb2RlVG9nZ2xlQWt0aXYsIHNjaGljaHRjb2RlTGlzdGVTcGVp +Y2hlcm4sCi8vIHNjaGljaHRjb2RlRWRpdE1vZGFsWmVpZ2VuKS4gaW1wb3J0X2V4Y2VsLmpzICsg +YXBwLmpzCi8vIGltcG9ydGllcmVuIGFiIFBoYXNlIDktQiBDNSBkaXJla3QgYXVzIGFkbWluX2Nv +ZGVzLmpzLgoKLy8gQ29sbGFwc2libGUgSW5mby1CbG9ja3M6IFp1c3RhbmQgaW4gbG9jYWxTdG9y +YWdlCmZ1bmN0aW9uIGFkbWluSW5mb0luaXQoKSB7CiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9y +QWxsKCdkZXRhaWxzLmFkbWluLWluZm9bZGF0YS1pbmZvLWtleV0nKS5mb3JFYWNoKGZ1bmN0aW9u +KGRldCkgewogICAgICAgIHZhciBrZXkgPSAnYWRtaW4taW5mby0nICsgZGV0LmdldEF0dHJpYnV0 +ZSgnZGF0YS1pbmZvLWtleScpOwogICAgICAgIHZhciBzYXZlZCA9IGxvY2FsU3RvcmFnZS5nZXRJ +dGVtKGtleSk7CiAgICAgICAgaWYgKHNhdmVkID09PSAnenUnKSBkZXQucmVtb3ZlQXR0cmlidXRl +KCdvcGVuJyk7CiAgICAgICAgZWxzZSBpZiAoc2F2ZWQgPT09ICdhdWYnKSBkZXQuc2V0QXR0cmli +dXRlKCdvcGVuJywgJycpOwogICAgICAgIGRldC5hZGRFdmVudExpc3RlbmVyKCd0b2dnbGUnLCBm +dW5jdGlvbigpIHsKICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBkZXQub3Bl +biA/ICdhdWYnIDogJ3p1Jyk7CiAgICAgICAgfSk7CiAgICB9KTsKfQoKLy8gPT09PT0gQWRtaW46 +IEZlYXR1cmUtVG9nZ2xlcyA9PT09PQoKLy8gZmVhdHVyZUxhYmVscyB3aXJkIGF1Y2ggYXVzIGFw +cC5qcyBnZWxlc2VuIChUb2FzdC1NZWxkdW5nIGJlaW0gVG9nZ2xlLQovLyBLbGljayksIGRlc2hh +bGIgZXhwbGl6aXQgZXhwb3J0aWVydC4gTmljaHQgaW4gZGVyIFBhc3MtVGhyb3VnaC0KLy8gUmUt +RXhwb3J0LUxpc3RlLCB3ZWlsIGRpZSBEZWZpbml0aW9uIGhpZXIgaW4gYWRtaW4uanMgc2l0enQu +CmV4cG9ydCB2YXIgZmVhdHVyZUxhYmVscyA9IHsKICAgIHNjaGljaHRmb2xnZW46IHsgbGFiZWw6 +ICdTY2hpY2h0Zm9sZ2VuLUFuemVpZ2UnLCBiZXNjaHJlaWJ1bmc6ICdaZWlndCBkaWUgU2NoaWNo +dHJvdGF0aW9uIHBybyBTdGFuZG9ydCBpbSBIZWFkZXIgYW4nIH0sCiAgICBzdGFlcmtlQW56ZWln +ZTogeyBsYWJlbDogJ1N0w6Rya2UtQW56ZWlnZScsIGJlc2NocmVpYnVuZzogJ0Z8U3xOIEJlc2V0 +enVuZ3N6w6RobGVyIHBybyBUYWcgaW0gUGxhbnVuZ3MtSGVhZGVyJyB9LAogICAgcnVoZXplaXRQ +cnVlZnVuZzogeyBsYWJlbDogJ1J1aGV6ZWl0LVByw7xmdW5nJywgYmVzY2hyZWlidW5nOiAnV2Fy +bnVuZyBiZWkgPCAxMWggUnVoZXplaXQgendpc2NoZW4gU2NoaWNodGVuJyB9LAogICAgZnJlbWRB +ZW5kZXJ1bmdXYXJudW5nOiB7IGxhYmVsOiAnRnJlbWQtw4RuZGVydW5nIFdhcm51bmcnLCBiZXNj +aHJlaWJ1bmc6ICdCZXN0w6R0aWd1bmcgYmVpbSDDhG5kZXJuIGRlciBTY2hpY2h0IGFuZGVyZXIg +UGVyc29uZW4nIH0sCiAgICB1bnRlcmJlc2V0enVuZ1dhcm51bmc6IHsgbGFiZWw6ICdVbnRlcmJl +c2V0enVuZ3MtV2FybnVuZyAoV2FjaGxlaXR1bmcpJywgYmVzY2hyZWlidW5nOiAnQmVpbSBMb2dp +biBmw7xyIEdydXBwZSBMIChXYWNobGVpdHVuZykgdW5kIFN1cGVyVXNlcjogVG9hc3QgbWl0IEFu +emFobCBUYWdlIG1pdCBGw7xocnVuZ3MtVW50ZXJiZXNldHp1bmcgaW4gZGVuIG7DpGNoc3RlbiA0 +IFdvY2hlbiArIFNwcnVuZyB6dW0gZXJzdGVuIFRhZycgfSwKICAgIGZhaXJuZXNzQW56ZWlnZTog +eyBsYWJlbDogJ0ZhaXJuZXNzLUFuemVpZ2UnLCBiZXNjaHJlaWJ1bmc6ICdXRS0vRmVpZXJ0YWdz +LUZhaXJuZXNzIGluIGRlciBTdGF0aXN0aWsnIH0sCiAgICAvLyBtdXN0ZXJBbmFseXNlICsgYWJ3 +ZXNlbmhlaXRLYWNoZWxuIGFtIDIwMjYtMDUtMTkgZW50ZmVybnQg4oCUIGRpZSB6dWdlaG9lcmln +ZW4KICAgIC8vIFBhbmVscyBnaWJ0IGVzIGltIGFrdHVlbGxlbiBTdGF0aXN0aWstTGF5b3V0IG5p +Y2h0IG1laHIgKE11c3RlciBpc3QgaW4gZGllCiAgICAvLyBQcm9zYS1EZXRhaWxhbmFseXNlIGF1 +ZmdlZ2FuZ2VuLCBBYndlc2VuaGVpdCBpc3QgZWluIEthdGVnb3JpZS1GaWx0ZXIgaW4KICAgIC8v +IGRlbiBTY2hpY2h0dmVydGVpbHVuZ3MtQmFsa2VuKS4gZmVhdHVyZUlzdEFrdGl2KCkgd3VyZGUg +ZGFmdWVyIG9obmVoaW4KICAgIC8vIG5pZSBhdWZnZXJ1ZmVuLCBkZXIgVG9nZ2xlIHdhciBEZWFk +LUxldHRlci1VSS4KICAgIGRldGFpbFRhYmVsbGU6IHsgbGFiZWw6ICdEZXRhaWwtVGFiZWxsZScs +IGJlc2NocmVpYnVuZzogJ0F1c2tsYXBwYmFyZSDDnGJlcnNpY2h0c3RhYmVsbGUgcHJvIFBlcnNv +bicgfSwKICAgIHBlcnNvbmFsSW5saW5lRWRpdDogeyBsYWJlbDogJ1BlcnNvbmFsOiBJbmxpbmUt +RWRpdCcsIGJlc2NocmVpYnVuZzogJ0RvcHBlbGtsaWNrIGF1ZiBUYWJlbGxlbi1aZWxsZW4gZXJs +YXVidCBkaXJla3RlcyBCZWFyYmVpdGVuIChOYW1lLCBWb3JuYW1lLCBEaWVuc3RudW1tZXIsIE9F +LCBUZWxlZm9uKScgfSwKICAgIGVtYWlsQXV0b1N1ZmZpeDogeyBsYWJlbDogJ0UtTWFpbDogQXV0 +by1TdWZmaXgnLCBiZXNjaHJlaWJ1bmc6ICdXZW5uIGJlaW0gU3BlaWNoZXJuIGVpbmVyIEUtTWFp +bCBrZWluICJAIiBlbnRoYWx0ZW4gaXN0LCB3aXJkIGRpZSBEb21haW4gYXVzIGRlbiBFaW5zdGVs +bHVuZ2VuIGF1dG9tYXRpc2NoIGFuZ2Vow6RuZ3QnIH0sCiAgICBrb2xsZWdlbkhlcnZvcmhlYmVu +OiB7IGxhYmVsOiAnUGVyc29uLUVkaXQ6IERpcmVrdGUgS29sbGVnZW4gaGVydm9yaGViZW4nLCBi +ZXNjaHJlaWJ1bmc6ICdJbSBFZGl0aWVyLUJlcmVjaHRpZ3VuZ3MtQmxvY2sgd2VyZGVuIFBlcnNv +bmVuIG1pdCBnbGVpY2hlciBPRStEaWVuc3RncnVwcGUgYWxzICJEaXJla3RlIEtvbGxlZ2VuIiBh +Ymdlc2V0enQnIH0sCiAgICBwYXBpZXJrb3JiVUk6IHsgbGFiZWw6ICdQZXJzb25hbHZlcndhbHR1 +bmc6IFBhcGllcmtvcmItVUknLCBiZXNjaHJlaWJ1bmc6ICdGaWx0ZXIgIlBhcGllcmtvcmIgZWlu +YmxlbmRlbiIgKyBMZWJlbnN6eWtsdXMtQnV0dG9ucyBpbSBQZXJzb24tTW9kYWwuIFNjaGVtYS1I +b29rcyAoZ2Vsb2VzY2h0QW0pIGJsZWliZW4gdW5hYmjDpG5naWcgdm9tIFRvZ2dsZSBha3Rpdicg +fSwKICAgIHBlclBlcnNvblNpY2h0YmFya2VpdDogeyBsYWJlbDogJ1Byby1QZXJzb24tU2ljaHRi +YXJrZWl0JywgYmVzY2hyZWlidW5nOiAnSW0gUGVyc29uLU1vZGFsIChTVS1vbmx5KSBsYXNzZW4g +c2ljaCBMb2didWNoLSB1bmQgU3RhdGlzdGlrLVNpY2h0YmFya2VpdCBwcm8gUGVyc29uIMO8YmVy +c2NocmVpYmVuIChTdGFuZGFyZC9TaWNodGJhci9WZXJzdGVja3QpJyB9LAogICAgc3RhdGlzdGlr +QW5vbnltOiB7IGxhYmVsOiAnU3RhdGlzdGlrOiBBbm9ueW1pc2llcnVuZycsIGJlc2NocmVpYnVu +ZzogJ1BlcnNvbmVuIHdlcmRlbiBpbiBkZXIgU3RhdGlzdGlrIGFscyAiUGVyc29uIDEsIFBlcnNv +biAyIOKApiIgc3RhdHQgbWl0IEtsYXJuYW1lbiBhbmdlemVpZ3QnIH0sCiAgICBzb25kZXJ0ZXJt +aW5lV2ljaHRpZzogeyBsYWJlbDogJ1NvbmRlcnRlcm1pbmU6IFdpY2h0aWctRmxhZycsIGJlc2No +cmVpYnVuZzogJ05ldWUgU3BhbHRlICJNYXJraWVydW5nIiBpbSBTb25kZXJ0ZXJtaW5lLVRhYjsg +bWFya2llcnRlIFRhZ2UgYmVrb21tZW4gZWluZW4gYm9yZGVhdXhyb3RlbiBSYWhtZW4gaW0gR3Jp +ZCcgfSwKICAgIGZlaWVydGFnZVdpY2h0aWdCZXRvbmVuOiB7IGxhYmVsOiAnRmVpZXJ0YWdlOiDi +gJ5XaWNodGlnIi1IZXJ2b3JoZWJ1bmcnLCBiZXNjaHJlaWJ1bmc6ICdQcm8gRmVpZXJ0YWcgaW0g +QWRtaW4tS2FsZW5kZXIgYWxzIOKAnldpY2h0aWciIG1hcmtpZXJ0ZSBUYWdlIGJla29tbWVuIGVp +bmUgZ29sZGVuZSBCb2RlbmxpbmllIGltIEtvcGZiZXJlaWNoLiBBVVMgPSBXaWNodGlnLU1hcmtp +ZXJ1bmcgd2lyZCBpZ25vcmllcnQsIGFsbGUgRmVpZXJ0YWdlIGVyc2NoZWluZW4gZWluaGVpdGxp +Y2gnIH0sCn07CgpmdW5jdGlvbiBmZWF0dXJlc1JlbmRlcm4oKSB7CiAgICB2YXIgZmVhdHVyZXMg +PSBaLmFkbWluLmZlYXR1cmVzIHx8IHt9OwogICAgdmFyIGh0bWwgPSAnPGRpdiBzdHlsZT0iZGlz +cGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4O21heC13aWR0aDo2MDBweCI+ +JzsKCiAgICBPYmplY3Qua2V5cyhmZWF0dXJlTGFiZWxzKS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkg +ewogICAgICAgIHZhciBmbCA9IGZlYXR1cmVMYWJlbHNba2V5XTsKICAgICAgICB2YXIgYWt0aXYg +PSBmZWF0dXJlSXN0QWt0aXYoa2V5KTsKICAgICAgICBodG1sICs9ICc8bGFiZWwgY2xhc3M9ImZl +YXR1cmUtdG9nZ2xlLXplaWxlIiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRl +cjtnYXA6MTJweDtwYWRkaW5nOjEwcHggMTRweDsnICsKICAgICAgICAgICAgJ2JhY2tncm91bmQ6 +dmFyKC0tYmctY2FyZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpO2JvcmRl +ci1yYWRpdXM6OHB4O2N1cnNvcjpwb2ludGVyIj4nICsKICAgICAgICAgICAgJzxpbnB1dCB0eXBl +PSJjaGVja2JveCIgY2xhc3M9ImZlYXR1cmUtY2hlY2tib3giIGRhdGEtZmVhdHVyZT0iJyArIGtl +eSArICciJyArIChha3RpdiA/ICcgY2hlY2tlZCcgOiAnJykgKwogICAgICAgICAgICAnIHN0eWxl +PSJ3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2FjY2VudC1jb2xvcjp2YXIoLS1mYXJiZS1lcmZvbGcp +O2N1cnNvcjpwb2ludGVyIj4nICsKICAgICAgICAgICAgJzxkaXYgc3R5bGU9ImZsZXg6MSI+PGRp +diBzdHlsZT0iZm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLXRleHQt +aGVhZGluZykiPicgKwogICAgICAgICAgICBlc2NhcGVIVE1MKGZsLmxhYmVsKSArICc8L2Rpdj4n +ICsKICAgICAgICAgICAgJzxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLXRl +eHQtbXV0ZWQpIj4nICsgZXNjYXBlSFRNTChmbC5iZXNjaHJlaWJ1bmcpICsgJzwvZGl2PjwvZGl2 +PicgKwogICAgICAgICAgICAnPHNwYW4gY2xhc3M9ImZlYXR1cmUtc3RhdHVzIiBzdHlsZT0iZm9u +dC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NjAwO3BhZGRpbmc6M3B4IDhweDtib3JkZXItcmFkaXVz +OjRweDsnICsKICAgICAgICAgICAgKGFrdGl2ID8gJ2JhY2tncm91bmQ6cmdiYSgzOSwxMzcsMTA5 +LDAuMTIpO2NvbG9yOnZhcigtLWZhcmJlLWVyZm9sZykiPkFOJyA6ICdiYWNrZ3JvdW5kOnJnYmEo +MTc2LDU4LDQ2LDAuMSk7Y29sb3I6dmFyKC0tZmFyYmUtZmVobGVyKSI+QVVTJykgKwogICAgICAg +ICAgICAnPC9zcGFuPjwvbGFiZWw+JzsKICAgIH0pOwoKICAgIGh0bWwgKz0gJzwvZGl2Pic7CiAg +ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmVhdHVyZXMtaW5oYWx0JykuaW5uZXJIVE1MID0g +aHRtbDsKfQoKdmFyIGZlYXR1cmVEZWZhdWx0cyA9IHsKICAgIGZhaXJuZXNzQW56ZWlnZTogZmFs +c2UsCiAgICAvLyBJbmxpbmUtRWRpdCArIFBhcGllcmtvcmItVUkgYWIgMjAyNi0wNS0xOSBzdGFu +ZGFyZG1hZXNzaWcgQU4sIGRhbWl0CiAgICAvLyBTdXBlclVzZXIgZGlyZWt0IGF1cyBkZXIgUGVy +c29uYWx2ZXJ3YWx0dW5nIGhlcmF1cyBsb2VzY2hlbiB1bmQKICAgIC8vIEZlbGRlciBvaG5lIE1v +ZGFsLVVtd2VnIGFlbmRlcm4ga29lbm5lbiDigJQgdm9yaGVyIG11c3N0ZSBkZXIgVG9nZ2xlCiAg +ICAvLyBleHBsaXppdCB1bWdlbGVndCB3ZXJkZW4sIHdhcyBpbSBMaXZlLVRlc3QgaXJyaXRpZXJ0 +ZS4KICAgIHBlcnNvbmFsSW5saW5lRWRpdDogdHJ1ZSwKICAgIGVtYWlsQXV0b1N1ZmZpeDogZmFs +c2UsCiAgICBrb2xsZWdlbkhlcnZvcmhlYmVuOiBmYWxzZSwKICAgIHBhcGllcmtvcmJVSTogdHJ1 +ZSwKICAgIHBlclBlcnNvblNpY2h0YmFya2VpdDogZmFsc2UsCiAgICBzdGF0aXN0aWtBbm9ueW06 +IGZhbHNlLAogICAgc29uZGVydGVybWluZVdpY2h0aWc6IGZhbHNlLAogICAgZmVpZXJ0YWdlV2lj +aHRpZ0JldG9uZW46IHRydWUKfTsKZnVuY3Rpb24gZmVhdHVyZUlzdEFrdGl2KGtleSkgewogICAg +dmFyIGYgPSBaLmFkbWluLmZlYXR1cmVzIHx8IHt9OwogICAgaWYgKGtleSBpbiBmKSByZXR1cm4g +ISFmW2tleV07CiAgICByZXR1cm4gZmVhdHVyZURlZmF1bHRzW2tleV0gIT09IHVuZGVmaW5lZCA/ +IGZlYXR1cmVEZWZhdWx0c1trZXldIDogdHJ1ZTsKfQoKLy8gPT09PT0gQWRtaW46IFN1cGVyVXNl +ci1WZXJ3YWx0dW5nICsgRmFjaGF1ZnNpY2h0ID09PT09Ci8vIFBoYXNlIDktQiBDMTogbmFjaCBW +STMvanMvYWRtaW5fcm9sbGVuLmpzIGF1c2dlbGFnZXJ0IChGdW5rdGlvbmVuCi8vIHN1cGVyVXNl +clJlbmRlcm4vLUF1c1RhYmVsbGVMZXNlbiwgZmFjaGF1ZnNpY2h0UmVuZGVybiB1bmQgYWxsZQov +LyBTdWItU2ljaHQtL1BsYW4tL0RldGFpbC1Nb2RhbC1IZWxmZXIgcGx1cyBkaWUgRkFDSEFVRlNJ +Q0hUXyotCi8vIEtvbnN0YW50ZW4pLiBhcHAuanMgaW1wb3J0aWVydCBhYiBQaGFzZSA5LUIgQzUg +ZGlyZWt0IGF1cwovLyBhZG1pbl9yb2xsZW4uanMuIHN0YXRpc3Rpay5qcyBudXR6dCBudXIgZmVh +dHVyZUlzdEFrdGl2LAovLyBkYXMgaW0gQm9vdHN0cmFwLUJlcmVpY2ggdm9uIGFkbWluLmpzIHZl +cmJsZWlidC4KCi8vID09PT09IFplbnRyYWxlciBEaXJ0eS1UcmFja2VyID09PT09Ci8vIERJUlRZ +LVJlZ2lzdHJ5ICsgZGlydHlSZWdpc3RyaWVyZS9kaXJ0eVNldHplbi9kaXJ0eUlzdC9kaXJ0eUtl +bm50LwovLyBkaXJ0eUFrdGl2ZS9kaXJ0eVBydWVmZW4vZGlydHlTcGVpY2hlcm4gLT4ganMvdWkv +ZGlhbG9nLmpzCi8vCi8vIFRhYi1zcGV6aWZpc2NoZSBSZWdpc3RyYXRpb25lbiArIERPTS1FdmVu +dC1MaXN0ZW5lciBibGVpYmVuIGhpZXIKLy8gKHdhbmRlcnQgaW4gUGhhc2UgOCBuYWNoIGFkbWlu +L2FkbWluLmpzIHp1c2FtbWVuIG1pdCBkZW4gQWRtaW4tVGFicykuCgovLyBBYndhZXJ0c2tvbXBh +dGlibGUgRmFjaGF1ZnNpY2h0LUFkYXB0ZXIgKGZhY2hhdWZzaWNodERpcnR5U2V0emVuLwovLyBm +YWNoYXVmc2ljaHRJc3REaXJ0eSkgbGViZW4gc2VpdCBQaGFzZSA5LUIgQzEgaW4gYWRtaW5fcm9s +bGVuLmpzLgoKLy8gWmVudHJhbGUgUmVnaXN0cmllcnVuZyBhbGxlciBkaXJ0eS1mYWVoaWdlbiBB +ZG1pbi1TZWt0aW9uZW4gKyBnbG9iYWxlcgovLyBJbnB1dC9DaGFuZ2UtTGlzdGVuZXIuIFdpcmQg +ZWlubWFsaWcgYXVzIGV2ZW50TGlzdGVuZXJFaW5yaWNodGVuCi8vIGF1ZmdlcnVmZW4uIE1hcHBp +bmcgdm9uIERPTS1FbGVtZW50IHp1IERpcnR5LUtleToKLy8gICAxLiBTZWN0aW9uLmlkICJhZG1p +bi1zZWt0aW9uLTxrZXk+IiAgIChmZWllcnRhZ2UsIGZlcmllbiwgc3VwZXJ1c2VyLCBmYWNoYXVm +c2ljaHQsIOKApikKLy8gICAyLiBUYWJlbGxlLmlkICI8a2V5Pi10YWJlbGxlIiAgICAgICAgKEZh +bGxiYWNrIGZ1ZXIgVGFicyBvaG5lIFNla3Rpb25lbikKLy8gICAzLiBUYWIuaWQgImFkbWluLXRh +Yi08a2V5PiIgICAgICAgICAgKGdlbmVyZWxsZXIgRmFsbGJhY2spCi8vIFByYWdtYXRpc2NoZXIg +TGlzdGVuLURpZmYgZnVlciBjaGFuZ2VTdW1tYXJ5LiBWZXJnbGVpY2h0IGFsdGUgKFNlcnZlci0p +TGlzdGUKLy8gbWl0IG5ldWVyIChET00tKUxpc3RlIGF1ZiBJZGVudGl0YWV0IHZpYSBpZEZlbGQg +KyBGZWxkd2VydC1BZW5kZXJ1bmdlbi4KLy8gTGllZmVydCBtYXggbWF4WmVpbGVuIEJlc2NocmVp +YnVuZ2VuICsgZ2dmLiAiKCtOIHdlaXRlcmUpIi4KZnVuY3Rpb24gYWRtaW5MaXN0ZURpZmYoYWx0 +TGlzdGUsIG5ldUxpc3RlLCBpZEZlbGQsIGxhYmVsRm4sIG1heFplaWxlbikgewogICAgYWx0TGlz +dGUgPSBhbHRMaXN0ZSB8fCBbXTsgbmV1TGlzdGUgPSBuZXVMaXN0ZSB8fCBbXTsgbWF4WmVpbGVu +ID0gbWF4WmVpbGVuIHx8IDY7CiAgICB2YXIgYWx0TWFwID0ge307CiAgICBhbHRMaXN0ZS5mb3JF +YWNoKGZ1bmN0aW9uKGl0LCBpKSB7IGFsdE1hcFtTdHJpbmcoaXRbaWRGZWxkXSAhPSBudWxsID8g +aXRbaWRGZWxkXSA6ICdAJyArIGkpXSA9IGl0OyB9KTsKICAgIHZhciBuZXVNYXAgPSB7fTsKICAg +IG5ldUxpc3RlLmZvckVhY2goZnVuY3Rpb24oaXQsIGkpIHsgbmV1TWFwW1N0cmluZyhpdFtpZEZl +bGRdICE9IG51bGwgPyBpdFtpZEZlbGRdIDogJ0AnICsgaSldID0gaXQ7IH0pOwogICAgdmFyIHpl +aWxlbiA9IFtdOwogICAgT2JqZWN0LmtleXMobmV1TWFwKS5mb3JFYWNoKGZ1bmN0aW9uKGspIHsK +ICAgICAgICB2YXIgbiA9IG5ldU1hcFtrXTsgdmFyIGEgPSBhbHRNYXBba107CiAgICAgICAgaWYg +KCFhKSB7IHplaWxlbi5wdXNoKCdOZXU6ICcgKyBsYWJlbEZuKG4pKTsgcmV0dXJuOyB9CiAgICAg +ICAgdmFyIGRpZmZGZWxkZXIgPSBbXTsKICAgICAgICBPYmplY3Qua2V5cyhuKS5mb3JFYWNoKGZ1 +bmN0aW9uKGYpIHsKICAgICAgICAgICAgaWYgKGYgPT09IGlkRmVsZCkgcmV0dXJuOwogICAgICAg +ICAgICB2YXIgYXYgPSBhW2ZdOyB2YXIgbnYgPSBuW2ZdOwogICAgICAgICAgICAvLyBUaWVmZXIg +VmVyZ2xlaWNoIG51ciBmdWVyIHByaW1pdGl2ZSBXZXJ0ZSAvIEpTT04tdmVyZ2xlaWNoIGZ1ZXIg +T2JqZWN0cwogICAgICAgICAgICB2YXIgdW50ZXJzY2hpZWQgPSAodHlwZW9mIGF2ID09PSAnb2Jq +ZWN0JyB8fCB0eXBlb2YgbnYgPT09ICdvYmplY3QnKQogICAgICAgICAgICAgICAgPyBKU09OLnN0 +cmluZ2lmeShhdikgIT09IEpTT04uc3RyaW5naWZ5KG52KQogICAgICAgICAgICAgICAgOiAoYXYg +fHwgJycpICE9PSAobnYgfHwgJycpOwogICAgICAgICAgICBpZiAodW50ZXJzY2hpZWQpIGRpZmZG +ZWxkZXIucHVzaChmKTsKICAgICAgICB9KTsKICAgICAgICBpZiAoZGlmZkZlbGRlci5sZW5ndGgp +IHplaWxlbi5wdXNoKGxhYmVsRm4obikgKyAnIOKAlCAnICsgZGlmZkZlbGRlci5qb2luKCcsICcp +ICsgJyBnZWFlbmRlcnQnKTsKICAgIH0pOwogICAgT2JqZWN0LmtleXMoYWx0TWFwKS5mb3JFYWNo +KGZ1bmN0aW9uKGspIHsKICAgICAgICBpZiAoIW5ldU1hcFtrXSkgemVpbGVuLnB1c2goJ0dlbG9l +c2NodDogJyArIGxhYmVsRm4oYWx0TWFwW2tdKSk7CiAgICB9KTsKICAgIGlmICh6ZWlsZW4ubGVu +Z3RoID4gbWF4WmVpbGVuKSB7CiAgICAgICAgdmFyIHJlc3QgPSB6ZWlsZW4ubGVuZ3RoIC0gbWF4 +WmVpbGVuOwogICAgICAgIHplaWxlbiA9IHplaWxlbi5zbGljZSgwLCBtYXhaZWlsZW4pOwogICAg +ICAgIHplaWxlbi5wdXNoKCfigKYgdW5kICcgKyByZXN0ICsgJyB3ZWl0ZXJlIEFlbmRlcnVuZycg +KyAocmVzdCA9PT0gMSA/ICcnIDogJ2VuJykpOwogICAgfQogICAgcmV0dXJuIHplaWxlbjsKfQoK +ZnVuY3Rpb24gZGlydHlUcmFja2VyRWlucmljaHRlbigpIHsKICAgIC8vIGNoYW5nZVN1bW1hcnkt +RnVua3Rpb25lbiBsZXNlbiBha3R1ZWxsZW4gRE9NLVN0YW5kIHZpYSBkaWUgamV3ZWlsaWdlbgog +ICAgLy8gKkF1c1RhYmVsbGVMZXNlbi1SZWFkZXIgdW5kIHZlcmdsZWljaGVuIG1pdCBaLmFkbWlu +LlggKFNlcnZlci1TdGFuZCkuCiAgICAvLyBXZW5uIGVpbiBSZWFkZXIgbm9jaCBuaWNodCBnZXJl +bmRlcnQgaXN0IChUYWIgbm9jaCBuaWUgZ2VvZWZmbmV0KSwKICAgIC8vIHdpcmQgdHJ5L2NhdGNo +IGltIGRpcnR5UHJ1ZWZlbi1EaWFsb2cgZ2VmYW5nZW4gdW5kIGRlciBUYWIgbnVyIG1pdAogICAg +Ly8gTGFiZWwgZ2V6ZWlndC4KICAgIGRpcnR5UmVnaXN0cmllcmUoJ2ZhY2hhdWZzaWNodCcsICAg +ICB7IGxhYmVsOiAnRmFjaGF1ZnNpY2h0JywgICAgICAgYnRuSWQ6ICdidG4tZmFjaGF1ZnNpY2h0 +LXNwZWljaGVybicsIGhpbnRJZDogJ2ZhY2hhdWZzaWNodC1kaXJ0eS1oaW53ZWlzJyB9KTsKICAg +IGRpcnR5UmVnaXN0cmllcmUoJ2RpcmVrdGlvbnNsZWl0dW5nJyx7IGxhYmVsOiAnRGlyZWt0aW9u +c2xlaXR1bmcnLCAgYnRuSWQ6ICdidG4tZGlyZWt0aW9uc2xlaXR1bmctc3BlaWNoZXJuJywgaGlu +dElkOiAnZGlyZWt0aW9uc2xlaXR1bmctZGlydHktaGlud2VpcycgfSk7CiAgICBkaXJ0eVJlZ2lz +dHJpZXJlKCdmdWVocnVuZ3NzdGVsbGUnLCAgeyBsYWJlbDogJ0bDvGhydW5nc3N0ZWxsZScsICAg +ICBidG5JZDogJ2J0bi1mdWVocnVuZ3NzdGVsbGUtc3BlaWNoZXJuJywgIGhpbnRJZDogJ2Z1ZWhy +dW5nc3N0ZWxsZS1kaXJ0eS1oaW53ZWlzJyB9KTsKICAgIGRpcnR5UmVnaXN0cmllcmUoJ3N1cGVy +dXNlcicsICAgICAgeyBsYWJlbDogJ1N1cGVyVXNlci1MaXN0ZScsICAgIGJ0bklkOiAnYnRuLXN1 +cGVydXNlci1zcGVpY2hlcm4nIH0pOwogICAgLy8gSGVscGVyLCBkZXIgZGVuIGFrdHVlbGxlbiBE +aWVuc3RncnVwcGVuLURPTS1TdGFuZCBhbHMgQXJyYXkgdm9uCiAgICAvLyBQbGFpbi1PYmplY3Rz +IGxpZXN0LiBXaWVkZXJ2ZXJ3ZW5kZXQgZnVlciBjaGFuZ2VTdW1tYXJ5LCBzbmFwc2hvdEZuLgog +ICAgZnVuY3Rpb24gZ3J1cHBlbkF1c0RPTUxlc2VuKCkgewogICAgICAgIHZhciBuZXUgPSBbXTsK +ICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ3J1cHBlLWt1ZXJ6ZWwtaW5wdXQn +KS5mb3JFYWNoKGZ1bmN0aW9uKGlucCkgewogICAgICAgICAgICB2YXIgaWR4ID0gcGFyc2VJbnQo +aW5wLmdldEF0dHJpYnV0ZSgnZGF0YS1pZHgnKSk7CiAgICAgICAgICAgIHZhciBpbnBsQ2IgID0g +ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmdydXBwZS1pbnBsYW51bmctaW5wdXRbZGF0YS1pZHg9 +IicgKyBpZHggKyAnIl0nKTsKICAgICAgICAgICAgdmFyIGRhcmZBcENiID0gZG9jdW1lbnQucXVl +cnlTZWxlY3RvcignLmdydXBwZS1kYXJmYXAtaW5wdXRbZGF0YS1pZHg9IicgKyBpZHggKyAnIl0n +KTsKICAgICAgICAgICAgbmV1LnB1c2goewogICAgICAgICAgICAgICAgbmFtZTogaW5wLnZhbHVl +LAogICAgICAgICAgICAgICAgX2FsdEt1ZXJ6ZWw6IGlucC5nZXRBdHRyaWJ1dGUoJ2RhdGEtYWx0 +JykgfHwgJycsCiAgICAgICAgICAgICAgICBiZXplaWNobnVuZzogKGRvY3VtZW50LnF1ZXJ5U2Vs +ZWN0b3IoJy5ncnVwcGUtYmV6LWlucHV0W2RhdGEtaWR4PSInICsgaWR4ICsgJyJdJykgfHwge30p +LnZhbHVlIHx8ICcnLAogICAgICAgICAgICAgICAgaGludGVyZ3J1bmQ6IChkb2N1bWVudC5xdWVy +eVNlbGVjdG9yKCcuZ3J1cHBlLWhnLWlucHV0W2RhdGEtaWR4PSInICsgaWR4ICsgJyJdJykgfHwg +e30pLnZhbHVlIHx8ICcnLAogICAgICAgICAgICAgICAgc2NocmlmdDogICAgIChkb2N1bWVudC5x +dWVyeVNlbGVjdG9yKCcuZ3J1cHBlLXNmLWlucHV0W2RhdGEtaWR4PSInICsgaWR4ICsgJyJdJykg +fHwge30pLnZhbHVlIHx8ICcnLAogICAgICAgICAgICAgICAgLy8gRGVmYXVsdDogc2ljaHRiYXIu +IE51ciBleHBsaXppdCBhdWYgZmFsc2Ugd2VubiBDaGVja2JveCBhYmdld2FlaGx0LgogICAgICAg +ICAgICAgICAgaW5QbGFudW5nOiAgIGlucGxDYiA/ICEhaW5wbENiLmNoZWNrZWQgOiB0cnVlLAog +ICAgICAgICAgICAgICAgLy8gRGVmYXVsdDogZXJsYXVidC4gUGVuZGFudCB6dXIgaW5QbGFudW5n +LUxvZ2lrLgogICAgICAgICAgICAgICAgZGFyZkFuc3ByZWNocGFydG5lcjogZGFyZkFwQ2IgPyAh +IWRhcmZBcENiLmNoZWNrZWQgOiB0cnVlCiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAg +ICAgIHJldHVybiBuZXU7CiAgICB9CiAgICBkaXJ0eVJlZ2lzdHJpZXJlKCdncnVwcGVuJywgICAg +ICAgIHsKICAgICAgICBsYWJlbDogJ0RpZW5zdGdydXBwZW4nLAogICAgICAgIGJ0bklkOiAnYnRu +LWdydXBwZW4tc3BlaWNoZXJuJywKICAgICAgICBjaGFuZ2VTdW1tYXJ5OiBmdW5jdGlvbigpIHsK +ICAgICAgICAgICAgdmFyIG5ldSA9IGdydXBwZW5BdXNET01MZXNlbigpLm1hcChmdW5jdGlvbihn +KSB7IHJldHVybiB7IF9pZDogZy5fYWx0S3VlcnplbCB8fCAoJ0BuZXUnICsgZy5uYW1lKSwgbmFt +ZTogZy5uYW1lLCBiZXplaWNobnVuZzogZy5iZXplaWNobnVuZywgaGludGVyZ3J1bmQ6IGcuaGlu +dGVyZ3J1bmQsIHNjaHJpZnQ6IGcuc2NocmlmdCwgaW5QbGFudW5nOiBnLmluUGxhbnVuZyAhPT0g +ZmFsc2UsIGRhcmZBbnNwcmVjaHBhcnRuZXI6IGcuZGFyZkFuc3ByZWNocGFydG5lciAhPT0gZmFs +c2UgfTsgfSk7CiAgICAgICAgICAgIHZhciBhbHQgPSAoWi5hZG1pbi5ncnVwcGVuIHx8IFtdKS5t +YXAoZnVuY3Rpb24oZykgeyByZXR1cm4geyBfaWQ6IGcubmFtZSwgbmFtZTogZy5uYW1lLCBiZXpl +aWNobnVuZzogZy5iZXplaWNobnVuZyB8fCAnJywgaGludGVyZ3J1bmQ6IGcuaGludGVyZ3J1bmQg +fHwgJycsIHNjaHJpZnQ6IGcuc2NocmlmdCB8fCAnJywgaW5QbGFudW5nOiBnLmluUGxhbnVuZyAh +PT0gZmFsc2UsIGRhcmZBbnNwcmVjaHBhcnRuZXI6IGcuZGFyZkFuc3ByZWNocGFydG5lciAhPT0g +ZmFsc2UgfTsgfSk7CiAgICAgICAgICAgIHJldHVybiBhZG1pbkxpc3RlRGlmZihhbHQsIG5ldSwg +J19pZCcsIGZ1bmN0aW9uKGcpIHsgcmV0dXJuICdHcnVwcGUgJyArIChnLm5hbWUgfHwgJyhsZWVy +KScpOyB9KTsKICAgICAgICB9LAogICAgICAgIC8vIEF1dG8tU2F2ZTogc25hcHNob3RGbiBsaWVm +ZXJ0IGRlbiBET00tU3RhbmQgenVtIFBlcnNpc3RpZXJlbiBhbHMKICAgICAgICAvLyBEcmFmdDsg +cmVzdG9yZUZuIHNjaHJlaWJ0IGVpbmVuIERyYWZ0IHdpZWRlciBpbiBkZW4gU3RhdGUgKyBSZW5k +ZXIuCiAgICAgICAgZHJhZnRLZXk6ICdncnVwcGVuJywKICAgICAgICBzbmFwc2hvdEZuOiBmdW5j +dGlvbigpIHsgcmV0dXJuIGdydXBwZW5BdXNET01MZXNlbigpOyB9LAogICAgICAgIHJlc3RvcmVG +bjogZnVuY3Rpb24oZGF0ZW4pIHsKICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGRhdGVu +KSkgcmV0dXJuOwogICAgICAgICAgICBaLmFkbWluLmdydXBwZW4gPSBkYXRlbi5tYXAoZnVuY3Rp +b24oZykgewogICAgICAgICAgICAgICAgcmV0dXJuIHsgbmFtZTogZy5uYW1lLCBiZXplaWNobnVu +ZzogZy5iZXplaWNobnVuZywgaGludGVyZ3J1bmQ6IGcuaGludGVyZ3J1bmQsIHNjaHJpZnQ6IGcu +c2NocmlmdCwgaW5QbGFudW5nOiBnLmluUGxhbnVuZyAhPT0gZmFsc2UsIGRhcmZBbnNwcmVjaHBh +cnRuZXI6IGcuZGFyZkFuc3ByZWNocGFydG5lciAhPT0gZmFsc2UgfTsKICAgICAgICAgICAgfSk7 +CiAgICAgICAgICAgIGdydXBwZW5UYWJlbGxlUmVuZGVybigpOwogICAgICAgIH0KICAgIH0pOwog +ICAgZGlydHlSZWdpc3RyaWVyZSgnZmVpZXJ0YWdlJywgICAgICB7IGxhYmVsOiAnRmVpZXJ0YWdl +JywgICAgICAgICAgYnRuSWQ6ICdidG4tZmVpZXJ0YWdlLXNwZWljaGVybicgfSk7CiAgICBkaXJ0 +eVJlZ2lzdHJpZXJlKCdmZXJpZW4nLCAgICAgICAgIHsKICAgICAgICBsYWJlbDogJ0Zlcmllbics +CiAgICAgICAgYnRuSWQ6ICdidG4tZmVyaWVuLXNwZWljaGVybicsCiAgICAgICAgY2hhbmdlU3Vt +bWFyeTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBuZXUgPSBmZXJpZW5BdXNUYWJlbGxl +TGVzZW4oKS5tYXAoZnVuY3Rpb24oZiwgaSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHsgX2lk +OiBmLm5hbWUgfHwgZi52b24gfHwgKCdAJyArIGkpLCB2b246IGYudm9uIHx8ICcnLCBiaXM6IGYu +YmlzIHx8ICcnLCBuYW1lOiBmLm5hbWUgfHwgJycgfTsKICAgICAgICAgICAgfSk7CiAgICAgICAg +ICAgIHZhciBhbHQgPSAoWi5hZG1pbi5mZXJpZW4gfHwgW10pLm1hcChmdW5jdGlvbihmLCBpKSB7 +IHJldHVybiB7IF9pZDogZi5uYW1lIHx8IGYudm9uIHx8ICgnQCcgKyBpKSwgdm9uOiBmLnZvbiB8 +fCAnJywgYmlzOiBmLmJpcyB8fCAnJywgbmFtZTogZi5uYW1lIHx8ICcnIH07IH0pOwogICAgICAg +ICAgICByZXR1cm4gYWRtaW5MaXN0ZURpZmYoYWx0LCBuZXUsICdfaWQnLCBmdW5jdGlvbihmKSB7 +IHJldHVybiBmLm5hbWUgfHwgJyh1bmJlbmFubnQpJzsgfSk7CiAgICAgICAgfSwKICAgICAgICBk +cmFmdEtleTogJ2ZlcmllbicsCiAgICAgICAgc25hcHNob3RGbjogZnVuY3Rpb24oKSB7IHJldHVy +biBmZXJpZW5BdXNUYWJlbGxlTGVzZW4oKTsgfSwKICAgICAgICByZXN0b3JlRm46IGZ1bmN0aW9u +KGRhdGVuKSB7CiAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShkYXRlbikpIHJldHVybjsK +ICAgICAgICAgICAgWi5hZG1pbi5mZXJpZW4gPSBkYXRlbjsKICAgICAgICAgICAgZmVyaWVuVGFi +ZWxsZVJlbmRlcm4oKTsKICAgICAgICB9CiAgICB9KTsKICAgIGRpcnR5UmVnaXN0cmllcmUoJ3N0 +YW5kb3J0ZScsICAgICAgewogICAgICAgIGxhYmVsOiAnU3RhbmRvcnRlICYgU2NoaWNodGZvbGdl +JywKICAgICAgICBidG5JZDogJ2J0bi1zdGFuZG9ydGUtc3BlaWNoZXJuJywKICAgICAgICBjaGFu +Z2VTdW1tYXJ5OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgLy8gc3RhbmRvcnRlQXVzVGFiZWxs +ZUxlc2VuIGxpZWZlcnQga29tcGxldHRlIFN0YW5kb3J0LU9iamVrdGU7CiAgICAgICAgICAgIC8v +IHdpciByZWR1emllcmVuIGF1ZiBkaWUgZnVlciBkZW4gVXNlciBzaWNodGJhcmVuIEZlbGRlci4K +ICAgICAgICAgICAgdmFyIG5ldSA9ICh0eXBlb2Ygc3RhbmRvcnRlQXVzVGFiZWxsZUxlc2VuID09 +PSAnZnVuY3Rpb24nID8gc3RhbmRvcnRlQXVzVGFiZWxsZUxlc2VuKCkgOiBbXSkKICAgICAgICAg +ICAgICAgIC5tYXAoZnVuY3Rpb24ocykgeyByZXR1cm4geyBfaWQ6IHMua3VlcnplbCB8fCBzLm5h +bWUsIG5hbWU6IHMubmFtZSB8fCAnJywga3VlcnplbDogcy5rdWVyemVsIHx8ICcnLCBpc3RQb29s +OiAhIXMuaXN0UG9vbCB9OyB9KTsKICAgICAgICAgICAgdmFyIGFsdCA9IChaLmFkbWluLnN0YW5k +b3J0ZSB8fCBbXSkubWFwKGZ1bmN0aW9uKHMpIHsgcmV0dXJuIHsgX2lkOiBzLmt1ZXJ6ZWwgfHwg +cy5uYW1lLCBuYW1lOiBzLm5hbWUgfHwgJycsIGt1ZXJ6ZWw6IHMua3VlcnplbCB8fCAnJywgaXN0 +UG9vbDogISFzLmlzdFBvb2wgfTsgfSk7CiAgICAgICAgICAgIHJldHVybiBhZG1pbkxpc3RlRGlm +ZihhbHQsIG5ldSwgJ19pZCcsIGZ1bmN0aW9uKHMpIHsgcmV0dXJuICdTdGFuZG9ydCAnICsgKHMu +bmFtZSB8fCBzLmt1ZXJ6ZWwgfHwgJyhsZWVyKScpOyB9KTsKICAgICAgICB9LAogICAgICAgIGRy +YWZ0S2V5OiAnc3RhbmRvcnRlJywKICAgICAgICBzbmFwc2hvdEZuOiBmdW5jdGlvbigpIHsgcmV0 +dXJuIHR5cGVvZiBzdGFuZG9ydGVBdXNUYWJlbGxlTGVzZW4gPT09ICdmdW5jdGlvbicgPyBzdGFu +ZG9ydGVBdXNUYWJlbGxlTGVzZW4oKSA6IG51bGw7IH0sCiAgICAgICAgcmVzdG9yZUZuOiBmdW5j +dGlvbihkYXRlbikgewogICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGF0ZW4pKSByZXR1 +cm47CiAgICAgICAgICAgIFouYWRtaW4uc3RhbmRvcnRlID0gZGF0ZW47CiAgICAgICAgICAgIHN0 +YW5kb3J0ZVJlbmRlcm4oKTsKICAgICAgICB9CiAgICB9KTsKICAgIGRpcnR5UmVnaXN0cmllcmUo +J2VpbnN0ZWxsdW5nZW4nLCAgeyBsYWJlbDogJ0tvbmZpZ3VyYXRpb24nLCAgICAgIGJ0bklkOiAn +YnRuLWVpbnN0ZWxsdW5nZW4tc3BlaWNoZXJuJyB9KTsKICAgIGRpcnR5UmVnaXN0cmllcmUoJ2Jl +emVpY2hudW5nZW4nLCAgeyBsYWJlbDogJ0Jlc2NocmlmdHVuZ2VuJywgICAgIGJ0bklkOiAnYnRu +LWJlemVpY2hudW5nZW4tc3BlaWNoZXJuJyB9KTsKICAgIGRpcnR5UmVnaXN0cmllcmUoJ2luZm9o +aWxmZScsICAgICAgeyBsYWJlbDogJ0luZm9ybWF0aW9uICYgSGlsZmUnLCBidG5JZDogJ2J0bi1p +bmZvaGlsZmUtc3BlaWNoZXJuJyB9KTsKCiAgICAvLyBEZWJvdW5jZS1UaW1lciBwcm8gVGFiIGZ1 +ZXIgQXV0by1TYXZlIGluIGxvY2FsU3RvcmFnZSAoUGhhc2UgOSkuCiAgICAvLyBXaXJkIGJlaW0g +ZXJzdGVuIGlucHV0L2NoYW5nZS1FdmVudCBpbiBlaW5lbSBUYWIgZ2VzdGFydGV0OyBuYWNoCiAg +ICAvLyAycyBvaG5lIHdlaXRlcmVuIElucHV0IHNjaHJlaWJ0IGVzIGRlbiBTbmFwc2hvdCBpbiB2 +aTMudGFiRHJhZnRzLgogICAgdmFyIGRyYWZ0VGltZXIgPSB7fTsKICAgIHZhciBEUkFGVF9ERUJP +VU5DRV9NUyA9IDIwMDA7CiAgICBmdW5jdGlvbiBkcmFmdFNjaGVkdWxlU2F2ZSh0YWJLZXkpIHsK +ICAgICAgICB2YXIgaW5mbyA9IGRpcnR5RWludHJhZyh0YWJLZXkpOwogICAgICAgIGlmICghaW5m +byB8fCAhaW5mby5kcmFmdEtleSB8fCB0eXBlb2YgaW5mby5zbmFwc2hvdEZuICE9PSAnZnVuY3Rp +b24nKSByZXR1cm47CiAgICAgICAgaWYgKGRyYWZ0VGltZXJbdGFiS2V5XSkgY2xlYXJUaW1lb3V0 +KGRyYWZ0VGltZXJbdGFiS2V5XSk7CiAgICAgICAgZHJhZnRUaW1lclt0YWJLZXldID0gc2V0VGlt +ZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgZHJhZnRUaW1lclt0YWJLZXldID0gbnVsbDsK +ICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIHZhciBkYXRlbiA9IGluZm8uc25hcHNo +b3RGbigpOwogICAgICAgICAgICAgICAgaWYgKGRhdGVuID09IG51bGwpIHJldHVybjsKICAgICAg +ICAgICAgICAgIHRhYkRyYWZ0U3BlaWNoZXJuKGluZm8uZHJhZnRLZXksIGRhdGVuLCAwKTsKICAg +ICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgLy8gU25hcHNob3Qga2FubiBm +ZWhsc2NobGFnZW4gd2VubiBET00gdW5lcndhcnRldCBhdXNzaWVodCDigJQKICAgICAgICAgICAg +ICAgIC8vIGRhbm4gZWJlbiBrZWluIERyYWZ0LiBTZXJ2ZXItU2F2ZSBibGVpYnQgZGVyIHp1dmVy +bGFlc3NpZ2UgV2VnLgogICAgICAgICAgICB9CiAgICAgICAgfSwgRFJBRlRfREVCT1VOQ0VfTVMp +OwogICAgfQoKICAgIGZ1bmN0aW9uIG1hcmtpZXJlQXVzRXZlbnQoZSkgewogICAgICAgIGlmICgh +ZS50YXJnZXQpIHJldHVybjsKICAgICAgICAvLyBJbm5lcmhhbGIgZGVzIEltcGVyc29uYXRpb24t +QmFubmVycyBvZGVyIGVpbmVzIE1vZGFsLUluaGFsdHM6CiAgICAgICAgLy8gbmljaHQgaW5zIFRh +Yi1EaXJ0eS1UcmFja2luZyBlaW5taXNjaGVuLgogICAgICAgIGlmIChlLnRhcmdldC5jbG9zZXN0 +KCcjaW1wZXJzb25hdGUtYmFubmVyJykpIHJldHVybjsKICAgICAgICBpZiAoZS50YXJnZXQuY2xv +c2VzdCgnI21vZGFsLW92ZXJsYXknKSkgcmV0dXJuOwogICAgICAgIHZhciBzZWt0aW9uID0gZS50 +YXJnZXQuY2xvc2VzdCgnLmFkbWluLXNla3Rpb24nKTsKICAgICAgICBpZiAoc2VrdGlvbiAmJiBz +ZWt0aW9uLmlkKSB7CiAgICAgICAgICAgIHZhciBrMSA9IHNla3Rpb24uaWQucmVwbGFjZSgnYWRt +aW4tc2VrdGlvbi0nLCAnJyk7CiAgICAgICAgICAgIGlmIChkaXJ0eUtlbm50KGsxKSkgeyBkaXJ0 +eVNldHplbihrMSwgdHJ1ZSk7IGRyYWZ0U2NoZWR1bGVTYXZlKGsxKTsgcmV0dXJuOyB9CiAgICAg +ICAgfQogICAgICAgIHZhciB0YWJlbGxlID0gZS50YXJnZXQuY2xvc2VzdCgnLmFkbWluLXRhYmVs +bGUnKTsKICAgICAgICBpZiAodGFiZWxsZSAmJiB0YWJlbGxlLmlkKSB7CiAgICAgICAgICAgIHZh +ciBrMiA9IHRhYmVsbGUuaWQucmVwbGFjZSgnLXRhYmVsbGUnLCAnJyk7CiAgICAgICAgICAgIGlm +IChkaXJ0eUtlbm50KGsyKSkgeyBkaXJ0eVNldHplbihrMiwgdHJ1ZSk7IGRyYWZ0U2NoZWR1bGVT +YXZlKGsyKTsgcmV0dXJuOyB9CiAgICAgICAgfQogICAgICAgIHZhciB0YWIgPSBlLnRhcmdldC5j +bG9zZXN0KCcuYWRtaW4tdGFiJyk7CiAgICAgICAgaWYgKHRhYiAmJiB0YWIuaWQpIHsKICAgICAg +ICAgICAgdmFyIGszID0gdGFiLmlkLnJlcGxhY2UoJ2FkbWluLXRhYi0nLCAnJyk7CiAgICAgICAg +ICAgIGlmIChkaXJ0eUtlbm50KGszKSkgeyBkaXJ0eVNldHplbihrMywgdHJ1ZSk7IGRyYWZ0U2No +ZWR1bGVTYXZlKGszKTsgfQogICAgICAgIH0KICAgIH0KICAgIGRvY3VtZW50LmFkZEV2ZW50TGlz +dGVuZXIoJ2lucHV0JywgbWFya2llcmVBdXNFdmVudCk7CiAgICBkb2N1bWVudC5hZGRFdmVudExp +c3RlbmVyKCdjaGFuZ2UnLCBtYXJraWVyZUF1c0V2ZW50KTsKCiAgICAvLyBDbGVhbnVwIHZlcmFs +dGV0ZXIgRHJhZnRzIGJlaW0gSW5pdCAoc2VsYmVyIDE0LVRhZ2UtVFRMIHdpZSBNb2RhbC1FbnR3 +dWVyZmUpLgogICAgdGFiRHJhZnRBdXRvQ2xlYW51cCgpOwoKICAgIC8vIEJyb3dzZXItV2FybnVu +ZyBiZWltIFNjaGxpZXNzZW4vUmVsb2FkIGRlciBTZWl0ZSwgd2VubiBpcmdlbmRlaW4KICAgIC8v +IEFkbWluLVRhYiBub2NoIGRpcnR5IGlzdC4gRGVyIFRleHQgaXN0IG1pdHRsZXJ3ZWlsZSBicm93 +c2Vyc2VpdGlnCiAgICAvLyBzdGFuZGFyZGlzaWVydCAoa2VpbiBDdXN0b20tVGV4dCBtZWhyKSDi +gJQgcmVpY2h0IGFscyBIaW53ZWlzLgogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2JlZm9y +ZXVubG9hZCcsIGZ1bmN0aW9uKGUpIHsKICAgICAgICBpZiAoZGlydHlBa3RpdmUoKS5sZW5ndGgg +PiAwKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgZS5yZXR1 +cm5WYWx1ZSA9ICcnOwogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQogICAgfSk7Cn0K +Ci8vID09PT09IFBoYXNlIDkg4oCUIERyYWZ0LVJlc3RvcmUtQmFubmVyID09PT09Ci8vCi8vIFdp +cmQgYmVpbSBPZWZmbmVuIGRlcyBBZG1pbi1CZXJlaWNocyB1bmQgYmVpbSBUYWItV2VjaHNlbCBh +dWZnZXJ1ZmVuLgovLyBQcnVlZnQsIG9iIGZ1ZXIgZGVuIGFrdHVlbGwgYWt0aXZlbiBUYWIgZWlu +IERyYWZ0IGltIGxvY2FsU3RvcmFnZSBsaWVndCwKLy8gdW5kIGJpZXRldCB2aWEgQmFubmVyIFdp +ZWRlcmhlcnN0ZWxsZW4gLyBWZXJ3ZXJmZW4gYW4uIEJhbm5lci1FbGVtZW50Ci8vIGxlYnQgc3Rh +dGlzY2ggaW0gaW5kZXguaHRtbCAoI2FkbWluLWRyYWZ0LWJhbm5lcikuIFJlc3RvcmUgcnVmdCBk +aWUKLy8gdm9tIFRhYiByZWdpc3RyaWVydGUgcmVzdG9yZUZuIGF1ZiwgZGFuYWNoIERyYWZ0IGxv +ZXNjaGVuIChlciBpc3QgamV0enQKLy8gaW0gRE9NIGFrdGl2LCBkaXJ0eS1UcmFja2luZyBuaW1t +dCBpaG4gYWIgZGEgbGl2ZSBtaXQpLgpleHBvcnQgZnVuY3Rpb24gYWRtaW5EcmFmdEJhbm5lckFu +YmlldGVuKHRhYktleSkgewogICAgdmFyIGJhbm5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk +KCdhZG1pbi1kcmFmdC1iYW5uZXInKTsKICAgIGlmICghYmFubmVyKSByZXR1cm47CiAgICBiYW5u +ZXIuY2xhc3NMaXN0LmFkZCgndmVyc3RlY2t0Jyk7CiAgICBpZiAoIXRhYktleSkgcmV0dXJuOwog +ICAgdmFyIGluZm8gPSBkaXJ0eUVpbnRyYWcodGFiS2V5KTsKICAgIGlmICghaW5mbyB8fCAhaW5m +by5kcmFmdEtleSB8fCB0eXBlb2YgaW5mby5yZXN0b3JlRm4gIT09ICdmdW5jdGlvbicpIHJldHVy +bjsKICAgIHZhciBkcmFmdCA9IHRhYkRyYWZ0RnVlcihpbmZvLmRyYWZ0S2V5KTsKICAgIGlmICgh +ZHJhZnQpIHJldHVybjsKICAgIHZhciBhbHRlciA9ICcnOwogICAgdHJ5IHsKICAgICAgICB2YXIg +ZCA9IG5ldyBEYXRlKGRyYWZ0LnRzKTsKICAgICAgICB2YXIgcGFkID0gZnVuY3Rpb24obikgeyBy +ZXR1cm4gKG4gPCAxMCA/ICcwJyA6ICcnKSArIG47IH07CiAgICAgICAgYWx0ZXIgPSBwYWQoZC5n +ZXREYXRlKCkpICsgJy4nICsgcGFkKGQuZ2V0TW9udGgoKSArIDEpICsgJy4gJyArIHBhZChkLmdl +dEhvdXJzKCkpICsgJzonICsgcGFkKGQuZ2V0TWludXRlcygpKTsKICAgIH0gY2F0Y2ggKGUpIHsg +YWx0ZXIgPSAnKFplaXRwdW5rdCB1bmJla2FubnQpJzsgfQogICAgdmFyIHRleHQgPSBkb2N1bWVu +dC5nZXRFbGVtZW50QnlJZCgnYWRtaW4tZHJhZnQtYmFubmVyLXRleHQnKTsKICAgIGlmICh0ZXh0 +KSB7CiAgICAgICAgdGV4dC5pbm5lckhUTUwgPSAnSW0gVGFiIDxzdHJvbmc+JyArIGVzY2FwZUhU +TUwoaW5mby5sYWJlbCkgKwogICAgICAgICAgICAnPC9zdHJvbmc+IGxpZWd0IGVpbiBuaWNodCBh +bnMgU3lzdGVtIGdlc2VuZGV0ZXIgU3RhbmQgdm9tIDxzdHJvbmc+JyArCiAgICAgICAgICAgIGVz +Y2FwZUhUTUwoYWx0ZXIpICsgJzwvc3Ryb25nPi4gV2llZGVyaGVyc3RlbGxlbiBvZGVyIHZlcndl +cmZlbj8nOwogICAgfQogICAgdmFyIGJ0blIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWRt +aW4tZHJhZnQtcmVzdG9yZScpOwogICAgdmFyIGJ0blYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ +ZCgnYWRtaW4tZHJhZnQtdmVyd2VyZmVuJyk7CiAgICBpZiAoYnRuUikgewogICAgICAgIC8vIE5l +dWVyIENsaWNrLUhhbmRsZXIgb2huZSBMaXN0ZW5lci1Ba2t1bXVsYXRpb246IEVsZW1lbnQgY2xv +bmVuLgogICAgICAgIHZhciBjbG9uZWRSID0gYnRuUi5jbG9uZU5vZGUodHJ1ZSk7CiAgICAgICAg +YnRuUi5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChjbG9uZWRSLCBidG5SKTsKICAgICAgICBjbG9u +ZWRSLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHRy +eSB7IGluZm8ucmVzdG9yZUZuKGRyYWZ0LmRhdGVuKTsgfSBjYXRjaCAoZSkgeyB0b2FzdCgnRHJh +ZnQga29ubnRlIG5pY2h0IHdpZWRlcmhlcmdlc3RlbGx0IHdlcmRlbjogJyArIGUubWVzc2FnZSwg +J2ZlaGxlcicpOyByZXR1cm47IH0KICAgICAgICAgICAgZGlydHlTZXR6ZW4odGFiS2V5LCB0cnVl +KTsKICAgICAgICAgICAgYmFubmVyLmNsYXNzTGlzdC5hZGQoJ3ZlcnN0ZWNrdCcpOwogICAgICAg +ICAgICB0b2FzdCgnU3RhbmQgd2llZGVyaGVyZ2VzdGVsbHQg4oCUIGJpdHRlIHNwZWljaGVybics +ICdpbmZvJyk7CiAgICAgICAgfSk7CiAgICB9CiAgICBpZiAoYnRuVikgewogICAgICAgIHZhciBj +bG9uZWRWID0gYnRuVi5jbG9uZU5vZGUodHJ1ZSk7CiAgICAgICAgYnRuVi5wYXJlbnROb2RlLnJl +cGxhY2VDaGlsZChjbG9uZWRWLCBidG5WKTsKICAgICAgICBjbG9uZWRWLmFkZEV2ZW50TGlzdGVu +ZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHRhYkRyYWZ0TG9lc2NoZW4oaW5m +by5kcmFmdEtleSk7CiAgICAgICAgICAgIGJhbm5lci5jbGFzc0xpc3QuYWRkKCd2ZXJzdGVja3Qn +KTsKICAgICAgICB9KTsKICAgIH0KICAgIGJhbm5lci5jbGFzc0xpc3QucmVtb3ZlKCd2ZXJzdGVj +a3QnKTsKfQoKLy8gPT09PT0gQWRtaW46IEJlemVpY2hudW5nZW4gJiBMaXN0ZW4gKERpZW5zdGdy +YWRlICsgRnVua3Rpb25lbikgPT09PT0KLy8gU3RhbW0tTGlzdGVuLCBkaWUgZnJ1ZWhlcmUgQ29k +ZS1Lb25zdGFudGVuIGVyc2V0emVuLiBMaWVnZW4gaW4KLy8gWi5hZG1pbi5kaWVuc3RncmFkZSAo +QXJyYXkgb2YgU3RyaW5nKSB1bmQgWi5hZG1pbi5mdW5rdGlvbmVuCi8vIChBcnJheSBvZiB7IGNv +ZGUsIHJhbmcgfSkuIEVkaXRvciBpbiBBZG1pbiAtPiBCZXplaWNobnVuZ2VuICYgTGlzdGVuLgoK +ZnVuY3Rpb24gbGlzdGVuUmVuZGVybigpIHsKICAgIGxpc3RlbkRpZW5zdGdyYWRlUmVuZGVybigp +OwogICAgbGlzdGVuRnVua3Rpb25lblJlbmRlcm4oKTsKfQoKLy8gPT09PT0gQWRtaW46IE1pa3Jv +dGVhbS1FZGl0b3IgPT09PT0KLy8gWi5hZG1pbi5taWtyb3RlYW1zID0gW3sgaWQsIG5hbWUsIHN0 +YW5kb3J0LCBncnVwcGUsIHBlcnNvbklkczogW10gfV0KCmZ1bmN0aW9uIG1pa3JvdGVhbXNSZW5k +ZXJuKCkgewogICAgdmFyIHRib2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21pa3JvdGVh +bXMtdGJvZHknKTsKICAgIGlmICghdGJvZHkpIHJldHVybjsKICAgIHZhciBsaXN0ZSA9IChaLmFk +bWluLm1pa3JvdGVhbXMgfHwgW10pOwogICAgaWYgKCFsaXN0ZS5sZW5ndGgpIHsKICAgICAgICB0 +Ym9keS5pbm5lckhUTUwgPSBhZG1pbkVtcHR5WmVpbGUoNywgJ1x1ezFGOTFEfScsCiAgICAgICAg +ICAgICdOb2NoIGtlaW5lIE1pa3JvdGVhbXMgYW5nZWxlZ3QnLAogICAgICAgICAgICAnTWlrcm90 +ZWFtcyBncnVwcGllcmVuIFBlcnNvbmVuLCBkaWUgcmVnZWxtYWVzc2lnIHp1c2FtbWVuIHBsYW5l +biDigJQgei5CLiBlaW5lIFN0cmVpZmUgb2RlciBlaW4gMmVyLVRlYW0uIE1pdGdsaWVkZXIgZWlu +ZXMgTWlrcm90ZWFtcyBkdWVyZmVuIGRpZSBTY2hpY2h0ZW4gZGVyIGFuZGVyZW4gVGVhbS1QZXJz +b25lbiBtaXQtcGxhbmVuLiBMZWcgZGFzIGVyc3RlIG9iZW4gbWl0IOKAnk5ldWVzIE1pa3JvdGVh +bSIgYW4uJyk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHN0YW5kb3J0ZSA9IChaLmFk +bWluLnN0YW5kb3J0ZSB8fCBbXSkubWFwKGZ1bmN0aW9uKHMpIHsgcmV0dXJuIHMua3VlcnplbCB8 +fCBzLm5hbWU7IH0pLmZpbHRlcihCb29sZWFuKTsKICAgIHZhciBncnVwcGVuICAgPSAoWi5hZG1p +bi5ncnVwcGVuICAgfHwgW10pLm1hcChmdW5jdGlvbihnKSB7IHJldHVybiBnLm5hbWU7IH0pLmZp +bHRlcihCb29sZWFuKTsKICAgIGZ1bmN0aW9uIGRyb3Bkb3duKGtsYXNzZSwgbmFtZSwgb3B0aW9u +ZW4sIGN1cnJlbnQpIHsKICAgICAgICB2YXIgb3B0cyA9IG9wdGlvbmVuLm1hcChmdW5jdGlvbihv +KSB7CiAgICAgICAgICAgIHJldHVybiAnPG9wdGlvbiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIobykg +KyAnIicgKyAobyA9PT0gY3VycmVudCA/ICcgc2VsZWN0ZWQnIDogJycpICsgJz4nICsgZXNjYXBl +SFRNTChvKSArICc8L29wdGlvbj4nOwogICAgICAgIH0pLmpvaW4oJycpOwogICAgICAgIHJldHVy +biAnPHNlbGVjdCBjbGFzcz0iJyArIGtsYXNzZSArICciIGRhdGEtbmFtZT0iJyArIGVzY2FwZUF0 +dHIobmFtZSkgKyAnIiBzdHlsZT0id2lkdGg6MTAwJSI+JyArCiAgICAgICAgICAgICc8b3B0aW9u +IHZhbHVlPSIiJyArIChjdXJyZW50ID8gJycgOiAnIHNlbGVjdGVkJykgKyAnPuKAlDwvb3B0aW9u +PicgKyBvcHRzICsKICAgICAgICAnPC9zZWxlY3Q+JzsKICAgIH0KICAgIHZhciBodG1sID0gJyc7 +CiAgICBsaXN0ZS5mb3JFYWNoKGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICB2YXIgcGVyc29uZW5B +bnphaGwgPSAodC5wZXJzb25JZHMgfHwgW10pLmxlbmd0aDsKICAgICAgICBodG1sICs9ICc8dHIg +ZGF0YS1pZHg9IicgKyBpICsgJyI+JyArCiAgICAgICAgICAgICc8dGQgc3R5bGU9InRleHQtYWxp +Z246Y2VudGVyO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtd2VpZ2h0OjcwMCI+JyArIChp +ICsgMSkgKyAnPC90ZD4nICsKICAgICAgICAgICAgJzx0ZD48aW5wdXQgdHlwZT0idGV4dCIgY2xh +c3M9Im10LWlucHV0IiBkYXRhLWZlbGQ9ImlkIiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIodC5pZCB8 +fCAnJykgKyAnIiBwbGFjZWhvbGRlcj0idF9LQV9BIiBzdHlsZT0id2lkdGg6MTAwJTtmb250LWZh +bWlseTptb25vc3BhY2U7Zm9udC1zaXplOjExcHgiPjwvdGQ+JyArCiAgICAgICAgICAgICc8dGQ+ +PGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJtdC1pbnB1dCIgZGF0YS1mZWxkPSJuYW1lIiB2YWx1 +ZT0iJyArIGVzY2FwZUF0dHIodC5uYW1lIHx8ICcnKSArICciIHBsYWNlaG9sZGVyPSJ6LkIuIEth +bWVuLUEiIHN0eWxlPSJ3aWR0aDoxMDAlIj48L3RkPicgKwogICAgICAgICAgICAnPHRkPicgKyBk +cm9wZG93bignbXQtaW5wdXQnLCAnc3RhbmRvcnQnLCBzdGFuZG9ydGUsIHQuc3RhbmRvcnQgfHwg +JycpICsgJzwvdGQ+JyArCiAgICAgICAgICAgICc8dGQ+JyArIGRyb3Bkb3duKCdtdC1pbnB1dCcs +ICdncnVwcGUnLCAgIGdydXBwZW4sICAgdC5ncnVwcGUgICB8fCAnJykgKyAnPC90ZD4nICsKICAg +ICAgICAgICAgJzx0ZCBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIiPjxzcGFuIGNsYXNzPSJtdC1w +ZXJzb25lbi16YWhsIiBkYXRhLWlkeD0iJyArIGkgKyAnIj4nICsgcGVyc29uZW5BbnphaGwgKyAn +PC9zcGFuPjwvdGQ+JyArCiAgICAgICAgICAgICc8dGQgc3R5bGU9IndoaXRlLXNwYWNlOm5vd3Jh +cCI+JyArCiAgICAgICAgICAgICAgICAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWsgYnRuLWts +ZWluIiBkYXRhLWFrdGlvbj0ibXQtcGVyc29uZW4iIGRhdGEtaWR4PSInICsgaSArICciIHRpdGxl +PSJQZXJzb25lbiB6dXdlaXNlbiI+UGVyc29uZW7igKY8L2J1dHRvbj4gJyArCiAgICAgICAgICAg +ICAgICAoaSA+IDAgICAgICAgICAgICAgID8gJzxidXR0b24gY2xhc3M9ImJ0biBidG4tc2VrIGJ0 +bi1rbGVpbiIgZGF0YS1ha3Rpb249Im10LXVwIiBkYXRhLWlkeD0iJyArIGkgKyAnIiB0aXRsZT0i +SG9laGVyIj7ihpE8L2J1dHRvbj4nIDogJycpICsKICAgICAgICAgICAgICAgIChpIDwgbGlzdGUu +bGVuZ3RoLTEgPyAnIDxidXR0b24gY2xhc3M9ImJ0biBidG4tc2VrIGJ0bi1rbGVpbiIgZGF0YS1h +a3Rpb249Im10LWRvd24iIGRhdGEtaWR4PSInICsgaSArICciIHRpdGxlPSJUaWVmZXIiPuKGkzwv +YnV0dG9uPicgOiAnJykgKwogICAgICAgICAgICAgICAgJyA8YnV0dG9uIGNsYXNzPSJidG4gYnRu +LWdlZmFociBidG4ta2xlaW4iIGRhdGEtYWt0aW9uPSJtdC1sb2VzY2hlbiIgZGF0YS1pZHg9Iicg +KyBpICsgJyIgdGl0bGU9IkxvZXNjaGVuIj7DlzwvYnV0dG9uPicgKwogICAgICAgICAgICAnPC90 +ZD4nICsKICAgICAgICAgICAgJzwvdHI+JzsKICAgIH0pOwogICAgLy8gRW1wdHktU3RhdGUgd2ly +ZCBhbSBGdW5rdGlvbnMtQW5mYW5nIGJlaGFuZGVsdCAoZnJ1ZWhlciBSZXR1cm4pOwogICAgLy8g +ZGllc2VyIHRvdGUgRmFsbGJhY2sgaXN0IG1pdCBQaGFzZSA1IG9ic29sZXQgZ2V3b3JkZW4uCiAg +ICB0Ym9keS5pbm5lckhUTUwgPSBodG1sOwp9CgovLyBMaWVzdCBkaWUgRWluZ2FiZWZlbGRlciBh +dXMgZGVyIE1pa3JvdGVhbXMtVGFiZWxsZS4gUGVyc29uZW4tTGlzdGVuCi8vIHBmbGVndCBkaWUg +RnVua3Rpb24gbWlrcm90ZWFtUGVyc29uZW5EaWFsb2cgc2VwYXJhdCBpbiBaLmFkbWluLm1pa3Jv +dGVhbXMsCi8vIGhpZXIgZGVzaGFsYiBudXIgU3RhbW0tRmVsZGVyLgpmdW5jdGlvbiBtaWtyb3Rl +YW1zQXVzVGFiZWxsZUxlc2VuKCkgewogICAgdmFyIGxpc3RlID0gKFouYWRtaW4ubWlrcm90ZWFt +cyB8fCBbXSkuc2xpY2UoKTsKICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNtaWtyb3Rl +YW1zLXRib2R5IHRyW2RhdGEtaWR4XScpLmZvckVhY2goZnVuY3Rpb24odHIpIHsKICAgICAgICB2 +YXIgaWR4ID0gcGFyc2VJbnQodHIuZ2V0QXR0cmlidXRlKCdkYXRhLWlkeCcpLCAxMCk7CiAgICAg +ICAgaWYgKGlzTmFOKGlkeCkgfHwgIWxpc3RlW2lkeF0pIHJldHVybjsKICAgICAgICB0ci5xdWVy +eVNlbGVjdG9yQWxsKCcubXQtaW5wdXQnKS5mb3JFYWNoKGZ1bmN0aW9uKGVsKSB7CiAgICAgICAg +ICAgIHZhciBmZWxkID0gZWwuZ2V0QXR0cmlidXRlKCdkYXRhLWZlbGQnKSB8fCBlbC5nZXRBdHRy +aWJ1dGUoJ2RhdGEtbmFtZScpOwogICAgICAgICAgICBpZiAoIWZlbGQpIHJldHVybjsKICAgICAg +ICAgICAgbGlzdGVbaWR4XVtmZWxkXSA9IGVsLnZhbHVlOwogICAgICAgIH0pOwogICAgfSk7CiAg +ICByZXR1cm4gbGlzdGU7Cn0KCi8vIFBlcnNvbmVuLUF1c3dhaGwtTW9kYWwgZnVlciBlaW4gTWlr +cm90ZWFtLgpmdW5jdGlvbiBtaWtyb3RlYW1QZXJzb25lbkRpYWxvZyhpZHgpIHsKICAgIFouYWRt +aW4ubWlrcm90ZWFtcyA9IG1pa3JvdGVhbXNBdXNUYWJlbGxlTGVzZW4oKTsKICAgIHZhciB0ID0g +Wi5hZG1pbi5taWtyb3RlYW1zW2lkeF07CiAgICBpZiAoIXQpIHJldHVybjsKICAgIHZhciBwZXJz +b25lbiA9IChaLnBsYW51bmcucGVyc29uZW4gfHwgW10pLmZpbHRlcihmdW5jdGlvbihwKSB7IHJl +dHVybiBwLmFrdGl2OyB9KQogICAgICAgIC5zbGljZSgpLnNvcnQoZnVuY3Rpb24oYSwgYikgeyBy +ZXR1cm4gKChhLm5hbWUgfHwgJycpICsgKGEudm9ybmFtZSB8fCAnJykpLmxvY2FsZUNvbXBhcmUo +KGIubmFtZSB8fCAnJykgKyAoYi52b3JuYW1lIHx8ICcnKSwgJ2RlJyk7IH0pOwogICAgdmFyIGFr +dGl2ZSA9IG5ldyBTZXQoKHQucGVyc29uSWRzIHx8IFtdKS5tYXAoZnVuY3Rpb24oeCkgeyByZXR1 +cm4gTnVtYmVyKHgpOyB9KSk7CgogICAgdmFyIGh0bWwgPSAnPHAgY2xhc3M9ImV2bS1iZXNjaHJl +aWJ1bmciPlBlcnNvbmVuLCBkaWUgenVtIE1pa3JvdGVhbSDigJ48Yj4nICsgZXNjYXBlSFRNTCh0 +Lm5hbWUgfHwgdC5pZCB8fCAnKG9obmUgTmFtZSknKSArICc8L2I+IiBnZWhvZXJlbi4gQXVzd2Fo +bCBnaWx0IGZ1ZXIgU3RhdGlzdGlrIChNaWtyb3RlYW0tSGVhdG1hcCArIFRhZ2VzLUFudGVpbGUp +LjwvcD4nICsKICAgICAgICAnPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2dhcDo4cHg7bWFyZ2lu +LWJvdHRvbTo4cHgiPicgKwogICAgICAgICAgICAnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNz +PSJidG4gYnRuLWtsZWluIiBpZD0ibXQtcGVycy1hbGxlIj5BbGxlIG1hcmtpZXJlbjwvYnV0dG9u +PicgKwogICAgICAgICAgICAnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWts +ZWluIiBpZD0ibXQtcGVycy1rZWluZSI+QXVzd2FobCBsZWVyZW48L2J1dHRvbj4nICsKICAgICAg +ICAnPC9kaXY+JyArCiAgICAgICAgJzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6MzgwcHg7b3ZlcmZs +b3c6YXV0bztib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7Ym9yZGVyLXJhZGl1 +czo0cHg7cGFkZGluZzo4cHgiPic7CiAgICBwZXJzb25lbi5mb3JFYWNoKGZ1bmN0aW9uKHApIHsK +ICAgICAgICB2YXIgbGFiZWwgPSAoKHAudm9ybmFtZSA/IHAudm9ybmFtZSArICcgJyA6ICcnKSAr +IChwLm5hbWUgfHwgJycpKS50cmltKCkgKyAnIMK3ICcgKyAocC5ncnVwcGUgfHwgJz8nKSArICcg +wrcgJyArIChwLm9lIHx8ICc/Jyk7CiAgICAgICAgaHRtbCArPSAnPGxhYmVsIHN0eWxlPSJkaXNw +bGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7Y3Vyc29yOnBvaW50ZXI7cGFkZGlu +ZzoycHggNHB4Ij4nICsKICAgICAgICAgICAgJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9 +Im10LXBlcnMtY2hrIiBkYXRhLWlkPSInICsgcC5pZCArICciJyArIChha3RpdmUuaGFzKE51bWJl +cihwLmlkKSkgPyAnIGNoZWNrZWQnIDogJycpICsgJz4nICsKICAgICAgICAgICAgJzxzcGFuPicg +KyBlc2NhcGVIVE1MKGxhYmVsKSArICc8L3NwYW4+JyArCiAgICAgICAgJzwvbGFiZWw+JzsKICAg +IH0pOwogICAgaHRtbCArPSAnPC9kaXY+JzsKCiAgICB2YXIgZnVzcyA9ICc8YnV0dG9uIGNsYXNz +PSJidG4iIGlkPSJtdC1wZXJzLWFiYnIiIHR5cGU9ImJ1dHRvbiI+QWJicmVjaGVuPC9idXR0b24+ +JyArCiAgICAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXByaW1hZXIiIGlkPSJk +bGctc3BlaWNoZXJuIiB0eXBlPSJidXR0b24iPsOcYmVybmVobWVuPC9idXR0b24+JzsKICAgIG1v +ZGFsWmVpZ2VuKCdQZXJzb25lbiDigJQgJyArICh0Lm5hbWUgfHwgdC5pZCksIGh0bWwsIGZ1c3Ms +IGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBpZHMgPSBbXTsKICAgICAgICBkb2N1bWVudC5xdWVy +eVNlbGVjdG9yQWxsKCcubXQtcGVycy1jaGsnKS5mb3JFYWNoKGZ1bmN0aW9uKGMpIHsKICAgICAg +ICAgICAgaWYgKGMuY2hlY2tlZCkgaWRzLnB1c2gocGFyc2VJbnQoYy5nZXRBdHRyaWJ1dGUoJ2Rh +dGEtaWQnKSwgMTApKTsKICAgICAgICB9KTsKICAgICAgICB0LnBlcnNvbklkcyA9IGlkczsKICAg +ICAgICBtb2RhbFNjaGxpZXNzZW4odHJ1ZSk7CiAgICAgICAgbWlrcm90ZWFtc1JlbmRlcm4oKTsK +ICAgICAgICB0b2FzdChpZHMubGVuZ3RoICsgJyBQZXJzb25lbiB6dWdld2llc2VuIOKAlCDigJ5T +cGVpY2hlcm4iIGRydWVja2VuLCB1bSBkYXVlcmhhZnQgenUgc2ljaGVybicsICdpbmZvJyk7CiAg +ICB9KTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtdC1wZXJzLWFiYnInKS5hZGRFdmVu +dExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgeyBtb2RhbFNjaGxpZXNzZW4oKTsgfSk7CiAg +ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXQtcGVycy1hbGxlJykuYWRkRXZlbnRMaXN0ZW5l +cignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxs +KCcubXQtcGVycy1jaGsnKS5mb3JFYWNoKGZ1bmN0aW9uKGMpIHsgYy5jaGVja2VkID0gdHJ1ZTsg +fSk7CiAgICAgICAgWi5tb2RhbERpcnR5ID0gdHJ1ZTsKICAgIH0pOwogICAgZG9jdW1lbnQuZ2V0 +RWxlbWVudEJ5SWQoJ210LXBlcnMta2VpbmUnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1 +bmN0aW9uKCkgewogICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tdC1wZXJzLWNo +aycpLmZvckVhY2goZnVuY3Rpb24oYykgeyBjLmNoZWNrZWQgPSBmYWxzZTsgfSk7CiAgICAgICAg +Wi5tb2RhbERpcnR5ID0gdHJ1ZTsKICAgIH0pOwp9CgpmdW5jdGlvbiBsaXN0ZW5EaWVuc3RncmFk +ZVJlbmRlcm4oKSB7CiAgICB2YXIgdGJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGll +bnN0Z3JhZGUtdGJvZHknKTsKICAgIGlmICghdGJvZHkpIHJldHVybjsKICAgIHZhciBsaXN0ZSA9 +IChaLmFkbWluLmRpZW5zdGdyYWRlICYmIFouYWRtaW4uZGllbnN0Z3JhZGUubGVuZ3RoKQogICAg +ICAgID8gWi5hZG1pbi5kaWVuc3RncmFkZSA6IERJRU5TVEdSQURFX0RFRkFVTFQuc2xpY2UoKTsK +ICAgIHZhciBodG1sID0gJyc7CiAgICBsaXN0ZS5mb3JFYWNoKGZ1bmN0aW9uKGQsIGkpIHsKICAg +ICAgICBodG1sICs9ICc8dHI+JyArCiAgICAgICAgICAgICc8dGQgc3R5bGU9InRleHQtYWxpZ246 +Y2VudGVyO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtd2VpZ2h0OjcwMCI+JyArIChpICsg +MSkgKyAnPC90ZD4nICsKICAgICAgICAgICAgJzx0ZD48aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9 +ImRncmFkLWlucHV0IiBkYXRhLWlkeD0iJyArIGkgKyAnIiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIo +ZCkgKyAnIiBwbGFjZWhvbGRlcj0iei5CLiBQSEsqIiBzdHlsZT0id2lkdGg6MTAwJSI+PC90ZD4n +ICsKICAgICAgICAgICAgJzx0ZCBzdHlsZT0id2hpdGUtc3BhY2U6bm93cmFwIj4nICsKICAgICAg +ICAgICAgICAgIChpID4gMCAgICAgICAgICAgICAgPyAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1z +ZWsgYnRuLWtsZWluIiBkYXRhLWFrdGlvbj0iZGdyYWQtdXAiIGRhdGEtaWR4PSInICsgaSArICci +IHRpdGxlPSJFaW5lIFBvc2l0aW9uIGhvZWhlciI+4oaRPC9idXR0b24+JyA6ICcnKSArCiAgICAg +ICAgICAgICAgICAoaSA8IGxpc3RlLmxlbmd0aC0xID8gJyA8YnV0dG9uIGNsYXNzPSJidG4gYnRu +LXNlayBidG4ta2xlaW4iIGRhdGEtYWt0aW9uPSJkZ3JhZC1kb3duIiBkYXRhLWlkeD0iJyArIGkg +KyAnIiB0aXRsZT0iRWluZSBQb3NpdGlvbiB0aWVmZXIiPuKGkzwvYnV0dG9uPicgOiAnJykgKwog +ICAgICAgICAgICAgICAgJyA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWdlZmFociBidG4ta2xlaW4i +IGRhdGEtYWt0aW9uPSJkZ3JhZC1sb2VzY2hlbiIgZGF0YS1pZHg9IicgKyBpICsgJyIgdGl0bGU9 +IkxvZXNjaGVuIj7DlzwvYnV0dG9uPicgKwogICAgICAgICAgICAnPC90ZD4nICsKICAgICAgICAg +ICAgJzwvdHI+JzsKICAgIH0pOwogICAgdGJvZHkuaW5uZXJIVE1MID0gaHRtbDsKfQoKZnVuY3Rp +b24gbGlzdGVuRnVua3Rpb25lblJlbmRlcm4oKSB7CiAgICB2YXIgdGJvZHkgPSBkb2N1bWVudC5n +ZXRFbGVtZW50QnlJZCgnZnVua3Rpb25lbi10Ym9keScpOwogICAgaWYgKCF0Ym9keSkgcmV0dXJu +OwogICAgdmFyIGxpc3RlID0gKFouYWRtaW4uZnVua3Rpb25lbiAmJiBaLmFkbWluLmZ1bmt0aW9u +ZW4ubGVuZ3RoKQogICAgICAgID8gWi5hZG1pbi5mdW5rdGlvbmVuIDogRlVOS1RJT05FTl9ERUZB +VUxULnNsaWNlKCk7CiAgICB2YXIgaHRtbCA9ICcnOwogICAgbGlzdGUuZm9yRWFjaChmdW5jdGlv +bihmLCBpKSB7CiAgICAgICAgdmFyIGNvZGUgPSBmLmNvZGUgfHwgJyc7CiAgICAgICAgdmFyIHJh +bmcgPSAoZi5yYW5nICE9IG51bGwpID8gZi5yYW5nIDogOTk7CiAgICAgICAgdmFyIGluUGwgPSBm +LmluUGxhbnVuZyAhPT0gZmFsc2U7ICAvLyBEZWZhdWx0OiBzaWNodGJhcgogICAgICAgIGh0bWwg +Kz0gJzx0cj4nICsKICAgICAgICAgICAgJzx0ZCBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7Y29s +b3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC13ZWlnaHQ6NzAwIj4nICsgKGkgKyAxKSArICc8L3Rk +PicgKwogICAgICAgICAgICAnPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZnVuay1pbnB1 +dC1jb2RlIiBkYXRhLWlkeD0iJyArIGkgKyAnIiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIoY29kZSkg +KyAnIiBwbGFjZWhvbGRlcj0iei5CLiBER0wiIHN0eWxlPSJ3aWR0aDoxMDAlIj48L3RkPicgKwog +ICAgICAgICAgICAnPHRkPjxpbnB1dCB0eXBlPSJudW1iZXIiIGNsYXNzPSJmdW5rLWlucHV0LXJh +bmciIGRhdGEtaWR4PSInICsgaSArICciIHZhbHVlPSInICsgcmFuZyArICciIG1pbj0iLTkiIG1h +eD0iOTkiIHN0eWxlPSJ3aWR0aDo2MHB4O3RleHQtYWxpZ246cmlnaHQiPjwvdGQ+JyArCiAgICAg +ICAgICAgICc8dGQgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj48aW5wdXQgdHlwZT0iY2hlY2ti +b3giIGNsYXNzPSJmdW5rLWlucHV0LWlucGxhbnVuZyIgZGF0YS1pZHg9IicgKyBpICsgJyInICsg +KGluUGwgPyAnIGNoZWNrZWQnIDogJycpICsgJyB0aXRsZT0iV2VubiBkZWFrdGl2aWVydDogUGVy +c29uZW4gbWl0IGRpZXNlciBGdW5rdGlvbiBlcnNjaGVpbmVuIE5JQ0hUIGluIFBsYW51bmcvV29j +aGVucGxhbi9QZXJzLiBQbGFuIj48L3RkPicgKwogICAgICAgICAgICAnPHRkIHN0eWxlPSJ3aGl0 +ZS1zcGFjZTpub3dyYXAiPicgKwogICAgICAgICAgICAgICAgKGkgPiAwICAgICAgICAgICAgICA/ +ICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXNlayBidG4ta2xlaW4iIGRhdGEtYWt0aW9uPSJmdW5r +LXVwIiBkYXRhLWlkeD0iJyArIGkgKyAnIiB0aXRsZT0iRWluZSBQb3NpdGlvbiBob2VoZXIiPuKG +kTwvYnV0dG9uPicgOiAnJykgKwogICAgICAgICAgICAgICAgKGkgPCBsaXN0ZS5sZW5ndGgtMSA/ +ICcgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWsgYnRuLWtsZWluIiBkYXRhLWFrdGlvbj0iZnVu +ay1kb3duIiBkYXRhLWlkeD0iJyArIGkgKyAnIiB0aXRsZT0iRWluZSBQb3NpdGlvbiB0aWVmZXIi +PuKGkzwvYnV0dG9uPicgOiAnJykgKwogICAgICAgICAgICAgICAgJyA8YnV0dG9uIGNsYXNzPSJi +dG4gYnRuLWdlZmFociBidG4ta2xlaW4iIGRhdGEtYWt0aW9uPSJmdW5rLWxvZXNjaGVuIiBkYXRh +LWlkeD0iJyArIGkgKyAnIiB0aXRsZT0iTG9lc2NoZW4iPsOXPC9idXR0b24+JyArCiAgICAgICAg +ICAgICc8L3RkPicgKwogICAgICAgICAgICAnPC90cj4nOwogICAgfSk7CiAgICB0Ym9keS5pbm5l +ckhUTUwgPSBodG1sOwp9CgovLyBMaWVzdCBkaWUgYWt0dWVsbGVuIFdlcnRlIGF1cyBkZXIgRGll +bnN0Z3JhZGUtVGFiZWxsZSAodm9yIGRlbSBTcGVpY2hlcm4pLgpmdW5jdGlvbiBkaWVuc3RncmFk +ZUF1c1RhYmVsbGVMZXNlbigpIHsKICAgIHZhciBsaXN0ZSA9IFtdOwogICAgZG9jdW1lbnQucXVl +cnlTZWxlY3RvckFsbCgnLmRncmFkLWlucHV0JykuZm9yRWFjaChmdW5jdGlvbihpbnApIHsKICAg +ICAgICB2YXIgdiA9IChpbnAudmFsdWUgfHwgJycpLnRyaW0oKTsKICAgICAgICBpZiAodikgbGlz +dGUucHVzaCh2KTsKICAgIH0pOwogICAgcmV0dXJuIGxpc3RlOwp9CgovLyBMaWVzdCBkaWUgYWt0 +dWVsbGVuIFdlcnRlIGF1cyBkZXIgRnVua3Rpb25lbi1UYWJlbGxlICh2b3IgZGVtIFNwZWljaGVy +bikuCmZ1bmN0aW9uIGZ1bmt0aW9uZW5BdXNUYWJlbGxlTGVzZW4oKSB7CiAgICB2YXIgbWFwID0g +e307CiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZnVuay1pbnB1dC1jb2RlJykuZm9y +RWFjaChmdW5jdGlvbihpbnApIHsKICAgICAgICB2YXIgaWR4ID0gaW5wLmdldEF0dHJpYnV0ZSgn +ZGF0YS1pZHgnKTsKICAgICAgICB2YXIgdiA9IChpbnAudmFsdWUgfHwgJycpLnRyaW0oKTsKICAg +ICAgICBpZiAoIW1hcFtpZHhdKSBtYXBbaWR4XSA9IHt9OwogICAgICAgIG1hcFtpZHhdLmNvZGUg +PSB2OwogICAgfSk7CiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZnVuay1pbnB1dC1y +YW5nJykuZm9yRWFjaChmdW5jdGlvbihpbnApIHsKICAgICAgICB2YXIgaWR4ID0gaW5wLmdldEF0 +dHJpYnV0ZSgnZGF0YS1pZHgnKTsKICAgICAgICB2YXIgciA9IHBhcnNlSW50KGlucC52YWx1ZSwg +MTApOwogICAgICAgIGlmICghbWFwW2lkeF0pIG1hcFtpZHhdID0ge307CiAgICAgICAgbWFwW2lk +eF0ucmFuZyA9IGlzTmFOKHIpID8gOTkgOiByOwogICAgfSk7CiAgICBkb2N1bWVudC5xdWVyeVNl +bGVjdG9yQWxsKCcuZnVuay1pbnB1dC1pbnBsYW51bmcnKS5mb3JFYWNoKGZ1bmN0aW9uKGlucCkg +ewogICAgICAgIHZhciBpZHggPSBpbnAuZ2V0QXR0cmlidXRlKCdkYXRhLWlkeCcpOwogICAgICAg +IGlmICghbWFwW2lkeF0pIG1hcFtpZHhdID0ge307CiAgICAgICAgbWFwW2lkeF0uaW5QbGFudW5n +ID0gISFpbnAuY2hlY2tlZDsKICAgIH0pOwogICAgdmFyIGxpc3RlID0gW107CiAgICBPYmplY3Qu +a2V5cyhtYXApLnNvcnQoZnVuY3Rpb24oYSwgYikgeyByZXR1cm4gcGFyc2VJbnQoYSkgLSBwYXJz +ZUludChiKTsgfSkuZm9yRWFjaChmdW5jdGlvbihrKSB7CiAgICAgICAgaWYgKCFtYXBba10uY29k +ZSkgcmV0dXJuOwogICAgICAgIHZhciBlID0geyBjb2RlOiBtYXBba10uY29kZSwgcmFuZzogbWFw +W2tdLnJhbmcgfTsKICAgICAgICAvLyBpblBsYW51bmcgbnVyIHNwZWljaGVybiB3ZW5uIGV4cGxp +eml0IGZhbHNlIOKAlCBEZWZhdWx0IGlzdCB0cnVlLAogICAgICAgIC8vIG11c3MgZGFoZXIgbmlj +aHQgaW4gYWRtaW4uanNvbiBzdGVoZW4gKGtsZWluZXJlciBEYXRlbnNhdHopLgogICAgICAgIGlm +IChtYXBba10uaW5QbGFudW5nID09PSBmYWxzZSkgZS5pblBsYW51bmcgPSBmYWxzZTsKICAgICAg +ICBsaXN0ZS5wdXNoKGUpOwogICAgfSk7CiAgICByZXR1cm4gbGlzdGU7Cn0KCi8vID09PT09IEV4 +cG9ydHMgPT09PT0KLy8KLy8gS29uc3RhbnRlbgpleHBvcnQgeyBCRURJRU5VTkdfREVGQVVMVCB9 +OwovLyBJTVBSRVNTVU1fREVGQVVMVCB3aXJkIHZpYSAiZXhwb3J0IHZhciIgb2JlbiBzY2hvbiBl +eHBvcnRpZXJ0LAovLyBhYmVyIHp1ciBLb25zaXN0ZW56IGF1Y2ggaGllciBhdWZnZWZ1ZWhydCDi +gJQgZGVyIG5hbWVkIGV4cG9ydAovLyBtYXRjaGVkLCB3YXMgYXBwLmpzIGltcG9ydGllcnQuCgov +LyBGdW5rdGlvbmVuIOKAlCBhbGxlIFRvcC1MZXZlbC1GdW5rdGlvbmVuIGF1cyBkZW0gQWRtaW4t +QmxvY2suCmV4cG9ydCB7CiAgICBhZG1pblJlbmRlcm4sCiAgICBzaWNodGJhcmtlaXRXZXJ0LCBz +aWNodGJhcmtlaXRSZW5kZXJuLAogICAgYmFja3VwVGFiZWxsZUxhZGVuLCBiYWNrdXBHcm9lc3Nl +Rm9ybWF0LCBiYWNrdXBaZWl0cHVua3RGb3JtYXQsIGJhY2t1cFRhYmVsbGVSZW5kZXJuLAogICAg +Z3J1cHBlblBlcnNvbmVuWmFlaGxlbiwgZ3J1cHBlblRhYmVsbGVSZW5kZXJuLAogICAgaHRtbEF1 +c0ZlbGQsCiAgICBpbmZvSGlsZmVSZW5kZXJuLCBpbmZvSGlsZmVBdXNGZWxkZXJuTGVzZW4sCiAg +ICBiZXosIGJlemVpY2hudW5nZW5BbndlbmRlbiwgYmV6ZWljaG51bmdlblJlbmRlcm4sIGJlemVp +Y2hudW5nZW5BdXNUYWJlbGxlTGVzZW4sCiAgICBsaXN0ZW5SZW5kZXJuLCBsaXN0ZW5EaWVuc3Rn +cmFkZVJlbmRlcm4sIGxpc3RlbkZ1bmt0aW9uZW5SZW5kZXJuLAogICAgZGllbnN0Z3JhZGVBdXNU +YWJlbGxlTGVzZW4sIGZ1bmt0aW9uZW5BdXNUYWJlbGxlTGVzZW4sCiAgICBtaWtyb3RlYW1zUmVu +ZGVybiwgbWlrcm90ZWFtc0F1c1RhYmVsbGVMZXNlbiwgbWlrcm90ZWFtUGVyc29uZW5EaWFsb2cs +CiAgICBlaW5zdGVsbHVuZ2VuUmVuZGVybiwKICAgIHN0YW5kb3J0ZVJlbmRlcm4sIHN0YW5kb3J0 +ZUF1c1RhYmVsbGVMZXNlbiwgcmh5dGhtdXNHZW5lcmF0b3JEaWFsb2csCiAgICBhZG1pbkluZm9J +bml0LAogICAgZmVhdHVyZXNSZW5kZXJuLCBmZWF0dXJlSXN0QWt0aXYsCiAgICBkaXJ0eVRyYWNr +ZXJFaW5yaWNodGVuCn07Cg== +### FILE: js/admin_codes.js | 26055 +Ly8gPT09IGFkbWluX2NvZGVzLmpzID09PQovLyBQaGFzZSA5LUIgQzI6IGF1cyBhZG1pbi5qcyBl +eHRyYWhpZXJ0LiBWZXJ3YWx0ZXQgZGllIFNjaGljaHRjb2RlLQovLyBWb3JzY2hhdSB1bmQgZGFz +IEVkaXQtL1RvZ2dsZS0vRHJhZy1Nb2RhbDoKLy8gICAtIGlzdENvZGVBa3RpdiAvIGNvZGVWZXJ3 +ZW5kdW5nWmFlaGxlbiAvIHNjaGljaHRjb2RlS2F0ZWdvcmllCi8vICAgICAoa2xlaW5lIEhlbHBl +cikKLy8gICAtIHNjaGljaHRjb2RlVm9yc2NoYXVSZW5kZXJuIChIYXVwdGFuc2ljaHQgaW0gQWRt +aW4tVGFiLAovLyAgICAgZHJlaSBTb3J0aWVyLU1vZGkgKyBmbGFjaC9kcmFnKQovLyAgIC0gc2No +aWNodGNvZGVEcmFnVmVyZHJhaHRlbiAoRHJhZyZEcm9wIG51ciBpbSBmbGFjaC1Nb2R1cykKLy8g +ICAtIHNjaGljaHRjb2RlVG9nZ2xlQWt0aXYgLyBzY2hpY2h0Y29kZUxpc3RlU3BlaWNoZXJuIChE +ZWFrdGl2aWVyZW4KLy8gICAgIG1pdCBPcHRpb25lbjogc3RpbGxsZWdlbiAvIGVyc2V0emVuIC8g +bGVlcmVuKQovLyAgIC0gc2NoaWNodGNvZGVFZGl0TW9kYWxaZWlnZW4gKE5ldSArIEJlYXJiZWl0 +ZW4gKyBMb2VzY2hlbikKLy8KLy8gRXh0ZXJuZXIgS29uc3VtZW50OiBpbXBvcnRfZXhjZWwuanMg +aW1wb3J0aWVydCB3ZWl0ZXJoaW4gaXN0Q29kZUFrdGl2Ci8vIGF1cyAnLi9hZG1pbi5qcycgKFBh +c3MtVGhyb3VnaC1SZS1FeHBvcnQpOyBhYiBQaGFzZSA5LUIgQzUgZGFubiBkaXJla3QKLy8gYXVz +ICcuL2FkbWluX2NvZGVzLmpzJy4KCmltcG9ydCB7IFogfSBmcm9tICcuL2NvcmVfc3RhdGUuanMn +OwppbXBvcnQgeyBlc2NhcGVIVE1MLCBlc2NhcGVBdHRyIH0gZnJvbSAnLi9jb3JlX3V0aWwuanMn +OwppbXBvcnQgeyBhcGlQdXQgfSBmcm9tICcuL2NvcmVfYXBpLmpzJzsKaW1wb3J0IHsKdG9hc3Qs +IGJlc3RhZXRpZ2VuLAptb2RhbFplaWdlbiwgbW9kYWxTY2hsaWVzc2VuLApwZmxpY2h0ZmVsZEZl +aGxlcgp9IGZyb20gJy4vdWlfZGlhbG9nLmpzJzsKaW1wb3J0IHsgZGF0ZW5HcmlkUmVuZGVybiB9 +IGZyb20gJy4vZ3JpZF9yZW5kZXIuanMnOwoKLy8gPT09PT0gQWRtaW46IFNjaGljaHRjb2RlLVZv +cnNjaGF1ID09PT09CgovLyBFaW4gU2NoaWNodGNvZGUgZ2lsdCBhbHMgYWt0aXYsIHNvbGFuZ2Ug +ZXIgbmljaHQgZXhwbGl6aXQgYXVmIGZhbHNlIHN0ZWh0Ci8vIChBYndhZXJ0c2tvbXBhdGliaWxp +dGFldDogYWx0ZSBEYXRlbiBvaG5lIGFrdGl2LUZsYWcgc2luZCBha3RpdikuCmV4cG9ydCBmdW5j +dGlvbiBpc3RDb2RlQWt0aXYoc2MpIHsgcmV0dXJuICFzYyB8fCBzYy5ha3RpdiAhPT0gZmFsc2U7 +IH0KCi8vIFphZWhsdCBwcm8gQ29kZSwgd2llIG9mdCBlciBpbiBwbGFudW5nLmVpbnRyYWVnZSB2 +b3Jrb21tdC4KLy8gR2lidCBlaW4gTWFwIHsgY29kZTogYW56YWhsIH0genVydWVjay4KZXhwb3J0 +IGZ1bmN0aW9uIGNvZGVWZXJ3ZW5kdW5nWmFlaGxlbigpIHsKICAgIHZhciBtYXAgPSB7fTsKICAg +IHZhciBlID0gWi5wbGFudW5nICYmIFoucGxhbnVuZy5laW50cmFlZ2U7CiAgICBpZiAoIWUpIHJl +dHVybiBtYXA7CiAgICBPYmplY3Qua2V5cyhlKS5mb3JFYWNoKGZ1bmN0aW9uKGQpIHsKICAgICAg +ICB2YXIgdGFnID0gZVtkXSB8fCB7fTsKICAgICAgICBPYmplY3Qua2V5cyh0YWcpLmZvckVhY2go +ZnVuY3Rpb24ocGlkKSB7CiAgICAgICAgICAgIHZhciBjID0gdGFnW3BpZF07CiAgICAgICAgICAg +IGlmIChjKSBtYXBbY10gPSAobWFwW2NdIHx8IDApICsgMTsKICAgICAgICB9KTsKICAgIH0pOwog +ICAgcmV0dXJuIG1hcDsKfQoKZXhwb3J0IGZ1bmN0aW9uIHNjaGljaHRjb2RlS2F0ZWdvcmllKGNv +ZGUpIHsKICAgIHZhciBjID0gY29kZSB8fCAnJzsKICAgIGlmICgvXkYtL2kudGVzdChjKSkgcmV0 +dXJuIHsga2V5OiAnMS1mcnVlaCcsICBsYWJlbDogJ0Zyw7xoZGllbnN0JyB9OwogICAgaWYgKC9e +Uy0vaS50ZXN0KGMpKSByZXR1cm4geyBrZXk6ICcyLXNwYWV0JywgIGxhYmVsOiAnU3DDpHRkaWVu +c3QnIH07CiAgICBpZiAoL15OLS9pLnRlc3QoYykpIHJldHVybiB7IGtleTogJzMtbmFjaHQnLCAg +bGFiZWw6ICdOYWNodGRpZW5zdCcgfTsKICAgIGlmIChbJ3dmcicsJ2RmciddLmluZGV4T2YoYykg +Pj0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g +eyBrZXk6ICc0LWZyZWknLCAgICAgbGFiZWw6ICdGcmVpJyB9OwogICAgaWYgKFsnVXJsJywnU1Un +XS5pbmRleE9mKGMpID49IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgIHJldHVybiB7IGtleTogJzUtdXJsYXViJywgICBsYWJlbDogJ1VybGF1YicgfTsKICAg +IGlmIChbJ2tyJywnS3VyJywnRFUnLCdYWFgnXS5pbmRleE9mKGMpID49IDApICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBrZXk6ICc2LWF1c2ZhbGwnLCAgbGFiZWw6 +ICdLcmFua2hlaXQgLyBBdXNmYWxsJyB9OwogICAgaWYgKFsnTEcnLCdTZW0nLCdFVE0nLCdBdUYn +LCdhbncnLCdhbncuJ10uaW5kZXhPZihjKSA+PSAwKSAgICAgICAgICAgICAgICAgICAgIHJldHVy +biB7IGtleTogJzctZm9ydGJpbGQnLCBsYWJlbDogJ0ZvcnRiaWxkdW5nJyB9OwogICAgaWYgKFsn +QV8nLCdCXycsJ0NfJywnWicsJ1NEJywnQkFPJywnU0UnLCdFTVNBJywnOGEnLCdHVCcsJ2FiZycs +J0FaQScsJ2FidycsJ3NBQldCJ10uaW5kZXhPZihjKSA+PSAwKQogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICByZXR1cm4geyBrZXk6ICc4LWVpbnNhdHonLCAgbGFiZWw6ICdEaWVuc3RlIC8gRWlu +c8OkdHplJyB9OwogICAgaWYgKFsnSE8nLCdUekYnLCdCVicsJ01EJ10uaW5kZXhPZihjKSA+PSAw +KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGtleTogJzktc29u +ZGVyZm9ybScsIGxhYmVsOiAnU29uZGVyZm9ybWVuJyB9OwogICAgcmV0dXJuIHsga2V5OiAnOTkt +c29uc3RpZ2VzJywgbGFiZWw6ICdTb25zdGlnZXMnIH07Cn0KCmV4cG9ydCBmdW5jdGlvbiBzY2hp +Y2h0Y29kZVZvcnNjaGF1UmVuZGVybigpIHsKICAgIHZhciBsaXN0ZSA9IChaLmFkbWluLnNjaGlj +aHRjb2RlcyB8fCBbXSkuc2xpY2UoKTsKICAgIHZhciBjb250ID0gZG9jdW1lbnQuZ2V0RWxlbWVu +dEJ5SWQoJ3NjaGljaHRjb2RlLXZvcnNjaGF1Jyk7CiAgICBpZiAoIWNvbnQpIHJldHVybjsKCiAg +ICB2YXIgdmVyd2VuZHVuZyA9IGNvZGVWZXJ3ZW5kdW5nWmFlaGxlbigpOwogICAgdmFyIGFrdGl2 +QW56YWhsID0gbGlzdGUuZmlsdGVyKGlzdENvZGVBa3RpdikubGVuZ3RoOwogICAgdmFyIGluYWt0 +aXZBbnphaGwgPSBsaXN0ZS5sZW5ndGggLSBha3RpdkFuemFobDsKCiAgICB2YXIgbW9kdXMgPSBs +b2NhbFN0b3JhZ2UuZ2V0SXRlbSgnc2MtZ3J1cHBlLW1vZHVzJykgfHwgJ2thdGVnb3JpZSc7CiAg +ICB2YXIgdG9vbGJhciA9ICc8ZGl2IGNsYXNzPSJzYy12b3JzY2hhdS10b29sYmFyIj4nICsKICAg +ICAgICAnPGxhYmVsIGZvcj0ic2MtbW9kdXMiPkdydXBwaWVydW5nOjwvbGFiZWw+JyArCiAgICAg +ICAgJzxzZWxlY3QgaWQ9InNjLW1vZHVzIj4nICsKICAgICAgICAgICAgJzxvcHRpb24gdmFsdWU9 +ImthdGVnb3JpZSInICsgKG1vZHVzID09PSAna2F0ZWdvcmllJyA/ICcgc2VsZWN0ZWQnIDogJycp +ICsgJz5OYWNoIFNjaGljaHR0eXA8L29wdGlvbj4nICsKICAgICAgICAgICAgJzxvcHRpb24gdmFs +dWU9ImFscGhhIicgICAgICsgKG1vZHVzID09PSAnYWxwaGEnICAgICA/ICcgc2VsZWN0ZWQnIDog +JycpICsgJz5BbHBoYWJldGlzY2ggKENvZGUpPC9vcHRpb24+JyArCiAgICAgICAgICAgICc8b3B0 +aW9uIHZhbHVlPSJiZXoiJyAgICAgICArIChtb2R1cyA9PT0gJ2JleicgICAgICAgPyAnIHNlbGVj +dGVkJyA6ICcnKSArICc+QWxwaGFiZXRpc2NoIChCZXplaWNobnVuZyk8L29wdGlvbj4nICsKICAg +ICAgICAgICAgJzxvcHRpb24gdmFsdWU9ImZsYWNoIicgICAgICsgKG1vZHVzID09PSAnZmxhY2gn +ICAgICA/ICcgc2VsZWN0ZWQnIDogJycpICsgJz5LZWluZSBHcnVwcGllcnVuZzwvb3B0aW9uPicg +KwogICAgICAgICc8L3NlbGVjdD4nICsKICAgICAgICAnPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox +MXB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO21hcmdpbi1sZWZ0OmF1dG8iPicgKwogICAgICAg +ICAgICBha3RpdkFuemFobCArICcgYWt0aXYgwrcgJyArIGluYWt0aXZBbnphaGwgKyAnIGluYWt0 +aXYgwrcgJyArIGxpc3RlLmxlbmd0aCArICcgZ2VzYW10JyArCiAgICAgICAgICAgIChtb2R1cyA9 +PT0gJ2ZsYWNoJyA/ICcgwrcgPHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLWZhcmJlLXByaW1hZXIp +Ij5EcmFnLVNvcnRpZXJ1bmcgYWt0aXY8L3NwYW4+JyA6ICcnKSArCiAgICAgICAgJzwvc3Bhbj4n +ICsKICAgICc8L2Rpdj4nOwoKICAgIGZ1bmN0aW9uIHRpbGUoc2MpIHsKICAgICAgICB2YXIgYWt0 +aXYgPSBpc3RDb2RlQWt0aXYoc2MpOwogICAgICAgIHZhciBhbnphaGwgPSB2ZXJ3ZW5kdW5nW3Nj +LmNvZGVdIHx8IDA7CiAgICAgICAgdmFyIGRyYWcgPSBtb2R1cyA9PT0gJ2ZsYWNoJyA/ICcgZHJh +Z2dhYmxlPSJ0cnVlIicgOiAnJzsKICAgICAgICB2YXIgZHJhZ0NscyA9IG1vZHVzID09PSAnZmxh +Y2gnID8gJyBzYy1kcmFnJyA6ICcnOwogICAgICAgIHZhciBpbmFrdGl2Q2xzID0gYWt0aXYgPyAn +JyA6ICcgc2MtaW5ha3Rpdic7CiAgICAgICAgdmFyIGFuemFobENscyA9IGFuemFobCA+IDAgPyAn +c2MtYW56YWhsLWJhZGdlJyA6ICdzYy1hbnphaGwtYmFkZ2Ugc2MtYW56YWhsLW51bGwnOwogICAg +ICAgIHZhciB0b2dnbGVUaXRsZSA9IGFrdGl2ID8gJ0RlYWt0aXZpZXJlbiAobmljaHQgbWVociBm +w7xyIE5ldS1FaW5nYWJlIHp1bGFzc2VuKScgOiAnV2llZGVyIGFrdGl2aWVyZW4nOwogICAgICAg +IHZhciB0b2dnbGVTeW1ib2wgPSBha3RpdiA/ICfil48nIDogJ+KXiyc7CiAgICAgICAgdmFyIHRv +Z2dsZUNscyA9IGFrdGl2ID8gJ3NjLXRvZ2dsZSBzYy10b2dnbGUtYWt0aXYnIDogJ3NjLXRvZ2ds +ZSBzYy10b2dnbGUtaW5ha3Rpdic7CiAgICAgICAgcmV0dXJuICc8ZGl2IGNsYXNzPSJzY2hpY2h0 +Y29kZS1rYXJ0ZScgKyBkcmFnQ2xzICsgaW5ha3RpdkNscyArICciIGRhdGEtY29kZT0iJyArIGVz +Y2FwZUF0dHIoc2MuY29kZSkgKyAnIicgKyBkcmFnICsKICAgICAgICAgICAgJyBzdHlsZT0iYmFj +a2dyb3VuZDp2YXIoLS1iZy1jYXJkKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdo +dCk7cG9zaXRpb246cmVsYXRpdmUiPicgKwogICAgICAgICAgICAobW9kdXMgPT09ICdmbGFjaCcK +ICAgICAgICAgICAgICAgID8gJzxkaXYgY2xhc3M9InNjLWRyYWctaGFuZGxlIiB0aXRsZT0iWmll +aGVuIHp1bSBVbXNvcnRpZXJlbiI+JiM5Nzc2OzwvZGl2PicKICAgICAgICAgICAgICAgIDogJycp +ICsKICAgICAgICAgICAgJzxkaXYgY2xhc3M9InNjaGljaHRjb2RlLWZhcmJmZWxkIiBzdHlsZT0i +YmFja2dyb3VuZDonICsgZXNjYXBlQXR0cihzYy5oaW50ZXJncnVuZCB8fCAnIzg4OCcpICsgJztj +b2xvcjonICsgZXNjYXBlQXR0cihzYy5zY2hyaWZ0IHx8ICcjZmZmJykgKyAnIj4nICsgZXNjYXBl +SFRNTChzYy5jb2RlKSArICc8L2Rpdj4nICsKICAgICAgICAgICAgJzxkaXYgc3R5bGU9ImZsZXg6 +MTttaW4td2lkdGg6MCI+PHN0cm9uZz4nICsgZXNjYXBlSFRNTChzYy5jb2RlKSArICc8L3N0cm9u +Zz4nICsKICAgICAgICAgICAgICAgICcgPHNwYW4gY2xhc3M9IicgKyBhbnphaGxDbHMgKyAnIiB0 +aXRsZT0iJyArIGFuemFobCArICcgbWFsIGluIGRlciBQbGFudW5nIHZlcndlbmRldCI+JyArIGFu +emFobCArICfDlzwvc3Bhbj4nICsKICAgICAgICAgICAgICAgICc8YnI+PHNwYW4gc3R5bGU9ImZv +bnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KSI+JyArIGVzY2FwZUhUTUwo +c2MuYmV6ZWljaG51bmcgfHwgJycpICsgJzwvc3Bhbj48L2Rpdj4nICsKICAgICAgICAgICAgJzxi +dXR0b24gY2xhc3M9IicgKyB0b2dnbGVDbHMgKyAnIiBkYXRhLWFrdGlvbj0ic2NoaWNodGNvZGUt +dG9nZ2xlIiBkYXRhLWNvZGU9IicgKyBlc2NhcGVBdHRyKHNjLmNvZGUpICsgJyIgdGl0bGU9Iicg +KyBlc2NhcGVBdHRyKHRvZ2dsZVRpdGxlKSArICciPicgKyB0b2dnbGVTeW1ib2wgKyAnPC9idXR0 +b24+JyArCiAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXNlayBidG4ta2xlaW4g +YnRuLWljb24gYnRuLWJlYXJiZWl0ZW4gc2MtZWRpdC1idG4iIGRhdGEtYWt0aW9uPSJzY2hpY2h0 +Y29kZS1iZWFyYmVpdGVuIiBkYXRhLWNvZGU9IicgKyBlc2NhcGVBdHRyKHNjLmNvZGUpICsgJyIg +dGl0bGU9IkJlYXJiZWl0ZW4iPjwvYnV0dG9uPicgKwogICAgICAgICAgICAnPC9kaXY+JzsKICAg +IH0KCiAgICAvLyBTb3J0aWVyLUhlbGZlcjogYWt0aXZlIHZvciBpbmFrdGl2ZW47IGlubmVyaGFs +YiBnbGVpY2hlciBBa3Rpdml0YWV0CiAgICAvLyBuYWNoIGRlbSBnZXd1ZW5zY2h0ZW4gS3JpdGVy +aXVtIChBcnJheS1JbmRleCBiZWkgJ2ZsYWNoJywKICAgIC8vIENvZGUvQmV6ZWljaG51bmcgYmVp +IGRlbiBBbHBoYS1Nb2RpKS4gV2lyZCBudXIgbm9jaCBpbSAnZmxhY2gnLU1vZHVzCiAgICAvLyBi +ZW51dHp0IOKAlCBkaWUgYW5kZXJlbiBNb2RpIHJlbmRlcm4gQWt0aXZlICsgSW5ha3RpdmUgaW4g +c2VwYXJhdGUKICAgIC8vIFNla3Rpb25lbiwgZGFtaXQgIkV4dHJhLUF1c3dhaGwgdW50ZW4iIG9w +dGlzY2gga2xhciB3aXJkLgogICAgZnVuY3Rpb24gc29ydEFrdGl2WnVlcnN0KGFyciwgc2VrdW5k +YWVyKSB7CiAgICAgICAgdmFyIGlkeCA9IHt9OwogICAgICAgIGxpc3RlLmZvckVhY2goZnVuY3Rp +b24oc2MsIGkpIHsgaWR4W3NjLmNvZGVdID0gaTsgfSk7CiAgICAgICAgcmV0dXJuIGFyci5zbGlj +ZSgpLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgICAgICB2YXIgYWEgPSBpc3RDb2RlQWt0 +aXYoYSkgPyAwIDogMTsKICAgICAgICAgICAgdmFyIGFiID0gaXN0Q29kZUFrdGl2KGIpID8gMCA6 +IDE7CiAgICAgICAgICAgIGlmIChhYSAhPT0gYWIpIHJldHVybiBhYSAtIGFiOwogICAgICAgICAg +ICBpZiAoc2VrdW5kYWVyKSByZXR1cm4gc2VrdW5kYWVyKGEsIGIpOwogICAgICAgICAgICByZXR1 +cm4gaWR4W2EuY29kZV0gLSBpZHhbYi5jb2RlXTsKICAgICAgICB9KTsKICAgIH0KCiAgICAvLyBF +aWdlbmUgU2VrdGlvbiBmdWVyIGluYWt0aXZlIENvZGVzIOKAlCB3aXJkIGluIGFsbGVuIE1vZGkg +KGF1c3NlcgogICAgLy8gJ2ZsYWNoJykgYW5zIEVuZGUgYW5nZWhhZW5ndCwgb3B0aXNjaCBhYmdl +c2V0enQuCiAgICBmdW5jdGlvbiBpbmFrdGl2QmxvY2soYXJyLCBzZWt1bmRhZXIpIHsKICAgICAg +ICBpZiAoIWFyci5sZW5ndGgpIHJldHVybiAnJzsKICAgICAgICB2YXIgc29ydGllcnQgPSBzZWt1 +bmRhZXIgPyBhcnIuc2xpY2UoKS5zb3J0KHNla3VuZGFlcikgOiBhcnIuc2xpY2UoKTsKICAgICAg +ICByZXR1cm4gJzxkaXYgY2xhc3M9InNjLWdydXBwZSBzYy1ncnVwcGUtaW5ha3RpdiI+JyArCiAg +ICAgICAgICAgICc8ZGl2IGNsYXNzPSJzYy1ncnVwcGUtdGl0ZWwgc2MtZ3J1cHBlLXRpdGVsLWlu +YWt0aXYiPicgKwogICAgICAgICAgICAgICAgJ0luYWt0aXZlIENvZGVzIDxzcGFuIHN0eWxlPSJm +b250LXdlaWdodDo1MDAiPignICsgYXJyLmxlbmd0aCArICcpPC9zcGFuPicgKwogICAgICAgICAg +ICAgICAgJzxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVk +KTtmb250LXdlaWdodDo0MDA7bWFyZ2luLWxlZnQ6OHB4Ij7igJQgZXJzY2hlaW5lbiBuaWNodCBp +bSBQbGFudW5ncy1Ecm9wZG93biwgYmVzdGVoZW5kZSBFaW50csOkZ2UgYmxlaWJlbiBzaWNodGJh +cjwvc3Bhbj4nICsKICAgICAgICAgICAgJzwvZGl2PicgKwogICAgICAgICAgICAnPGRpdiBjbGFz +cz0ic2MtZ3J1cHBlLWxpc3RlIj4nICsgc29ydGllcnQubWFwKHRpbGUpLmpvaW4oJycpICsgJzwv +ZGl2PjwvZGl2Pic7CiAgICB9CgogICAgdmFyIGFrdGl2ZSA9IGxpc3RlLmZpbHRlcihpc3RDb2Rl +QWt0aXYpOwogICAgdmFyIGluYWt0aXZlID0gbGlzdGUuZmlsdGVyKGZ1bmN0aW9uKHNjKSB7IHJl +dHVybiAhaXN0Q29kZUFrdGl2KHNjKTsgfSk7CgogICAgdmFyIGJvZHkgPSAnJzsKICAgIGlmICht +b2R1cyA9PT0gJ2FscGhhJykgewogICAgICAgIHZhciBzb3J0QWxwaGEgPSBmdW5jdGlvbihhLGIp +eyByZXR1cm4gKGEuY29kZXx8JycpLmxvY2FsZUNvbXBhcmUoYi5jb2RlfHwnJywnZGUnKTsgfTsK +ICAgICAgICBib2R5ID0gJzxkaXYgY2xhc3M9InNjLWdydXBwZS1saXN0ZSI+JyArCiAgICAgICAg +ICAgIGFrdGl2ZS5zbGljZSgpLnNvcnQoc29ydEFscGhhKS5tYXAodGlsZSkuam9pbignJykgKyAn +PC9kaXY+JzsKICAgICAgICBib2R5ICs9IGluYWt0aXZCbG9jayhpbmFrdGl2ZSwgc29ydEFscGhh +KTsKICAgIH0gZWxzZSBpZiAobW9kdXMgPT09ICdiZXonKSB7CiAgICAgICAgdmFyIHNvcnRCZXog +PSBmdW5jdGlvbihhLGIpeyByZXR1cm4gKGEuYmV6ZWljaG51bmd8fCcnKS5sb2NhbGVDb21wYXJl +KGIuYmV6ZWljaG51bmd8fCcnLCdkZScpOyB9OwogICAgICAgIGJvZHkgPSAnPGRpdiBjbGFzcz0i +c2MtZ3J1cHBlLWxpc3RlIj4nICsKICAgICAgICAgICAgYWt0aXZlLnNsaWNlKCkuc29ydChzb3J0 +QmV6KS5tYXAodGlsZSkuam9pbignJykgKyAnPC9kaXY+JzsKICAgICAgICBib2R5ICs9IGluYWt0 +aXZCbG9jayhpbmFrdGl2ZSwgc29ydEJleik7CiAgICB9IGVsc2UgaWYgKG1vZHVzID09PSAnZmxh +Y2gnKSB7CiAgICAgICAgLy8gRHJhZy1Nb2R1czogQWt0aXZlICsgSW5ha3RpdmUgenVzYW1tZW4s +IGRhbWl0IFVzZXIgcGVyIERyYWcgamVkZQogICAgICAgIC8vIFJlaWhlbmZvbGdlIGJhdWVuIGth +bm4uCiAgICAgICAgYm9keSA9ICc8ZGl2IGNsYXNzPSJzYy1ncnVwcGUtbGlzdGUiIGlkPSJzYy1k +cmFnLWNvbnRhaW5lciI+JyArCiAgICAgICAgICAgIHNvcnRBa3Rpdlp1ZXJzdChsaXN0ZSkubWFw +KHRpbGUpLmpvaW4oJycpICsgJzwvZGl2Pic7CiAgICB9IGVsc2UgewogICAgICAgIHZhciBncnVw +cGVuID0ge307CiAgICAgICAgYWt0aXZlLmZvckVhY2goZnVuY3Rpb24oc2MpIHsKICAgICAgICAg +ICAgdmFyIGsgPSBzY2hpY2h0Y29kZUthdGVnb3JpZShzYy5jb2RlKTsKICAgICAgICAgICAgaWYg +KCFncnVwcGVuW2sua2V5XSkgZ3J1cHBlbltrLmtleV0gPSB7IGxhYmVsOiBrLmxhYmVsLCBpdGVt +czogW10gfTsKICAgICAgICAgICAgZ3J1cHBlbltrLmtleV0uaXRlbXMucHVzaChzYyk7CiAgICAg +ICAgfSk7CiAgICAgICAgdmFyIHNvcnRDb2RlID0gZnVuY3Rpb24oYSxiKXsgcmV0dXJuIChhLmNv +ZGV8fCcnKS5sb2NhbGVDb21wYXJlKGIuY29kZXx8JycsJ2RlJyk7IH07CiAgICAgICAgT2JqZWN0 +LmtleXMoZ3J1cHBlbikuc29ydCgpLmZvckVhY2goZnVuY3Rpb24oaykgewogICAgICAgICAgICB2 +YXIgZyA9IGdydXBwZW5ba107CiAgICAgICAgICAgIHZhciBzb3J0aWVydCA9IGcuaXRlbXMuc2xp +Y2UoKS5zb3J0KHNvcnRDb2RlKTsKICAgICAgICAgICAgYm9keSArPSAnPGRpdiBjbGFzcz0ic2Mt +Z3J1cHBlIj48ZGl2IGNsYXNzPSJzYy1ncnVwcGUtdGl0ZWwiPicgKyBlc2NhcGVIVE1MKGcubGFi +ZWwpICsgJyA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6NTAwIj4oJyArIGcuaXRlbXMubGVuZ3Ro +ICsgJyk8L3NwYW4+PC9kaXY+JyArCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InNj +LWdydXBwZS1saXN0ZSI+JyArIHNvcnRpZXJ0Lm1hcCh0aWxlKS5qb2luKCcnKSArICc8L2Rpdj48 +L2Rpdj4nOwogICAgICAgIH0pOwogICAgICAgIGJvZHkgKz0gaW5ha3RpdkJsb2NrKGluYWt0aXZl +LCBzb3J0Q29kZSk7CiAgICB9CgogICAgY29udC5pbm5lckhUTUwgPSB0b29sYmFyICsgYm9keTsK +ICAgIHZhciBzZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2MtbW9kdXMnKTsKICAgIGlm +IChzZWwpIHNlbC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbigpIHsKICAgICAg +ICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnc2MtZ3J1cHBlLW1vZHVzJywgdGhpcy52YWx1ZSk7CiAg +ICAgICAgc2NoaWNodGNvZGVWb3JzY2hhdVJlbmRlcm4oKTsKICAgIH0pOwogICAgaWYgKG1vZHVz +ID09PSAnZmxhY2gnKSBzY2hpY2h0Y29kZURyYWdWZXJkcmFodGVuKCk7Cn0KCi8vIERyYWcmRHJv +cCBudXIgaW0gJ2ZsYWNoJy1Nb2R1czogcGVyc2lzdGllcnQgZGllIG5ldWUgUmVpaGVuZm9sZ2Ug +aW0KLy8gc2NoaWNodGNvZGVzW10tQXJyYXkuIERpZSBhbmRlcmVuIE1vZGkgc29ydGllcmVuIG5h +Y2ggZWlnZW5lbiBLcml0ZXJpZW4KLy8gdW5kIHd1ZXJkZW4gRHJhZy1SZWloZW5mb2xnZSBuaWNo +dCBzaWNodGJhciB3aWVkZXJnZWJlbi4KZXhwb3J0IGZ1bmN0aW9uIHNjaGljaHRjb2RlRHJhZ1Zl +cmRyYWh0ZW4oKSB7CiAgICB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo +J3NjLWRyYWctY29udGFpbmVyJyk7CiAgICBpZiAoIWNvbnRhaW5lcikgcmV0dXJuOwogICAgdmFy +IGRyYWdDb2RlID0gbnVsbDsKICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdkcmFnc3Rh +cnQnLCBmdW5jdGlvbihlKSB7CiAgICAgICAgdmFyIGNhcmQgPSBlLnRhcmdldC5jbG9zZXN0KCcu +c2NoaWNodGNvZGUta2FydGUnKTsKICAgICAgICBpZiAoIWNhcmQpIHJldHVybjsKICAgICAgICBk +cmFnQ29kZSA9IGNhcmQuZ2V0QXR0cmlidXRlKCdkYXRhLWNvZGUnKTsKICAgICAgICBjYXJkLmNs +YXNzTGlzdC5hZGQoJ3NjLWRyYWdnaW5nJyk7CiAgICAgICAgZS5kYXRhVHJhbnNmZXIuZWZmZWN0 +QWxsb3dlZCA9ICdtb3ZlJzsKICAgICAgICB0cnkgeyBlLmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0 +ZXh0L3BsYWluJywgZHJhZ0NvZGUpOyB9IGNhdGNoIChfKSB7fQogICAgfSk7CiAgICBjb250YWlu +ZXIuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ2VuZCcsIGZ1bmN0aW9uKGUpIHsKICAgICAgICB2YXIg +Y2FyZCA9IGUudGFyZ2V0LmNsb3Nlc3QoJy5zY2hpY2h0Y29kZS1rYXJ0ZScpOwogICAgICAgIGlm +IChjYXJkKSBjYXJkLmNsYXNzTGlzdC5yZW1vdmUoJ3NjLWRyYWdnaW5nJyk7CiAgICAgICAgY29u +dGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5zYy1kcm9wLWluZGljYXRvcicpLmZvckVhY2goZnVu +Y3Rpb24oYykgeyBjLmNsYXNzTGlzdC5yZW1vdmUoJ3NjLWRyb3AtaW5kaWNhdG9yJyk7IH0pOwog +ICAgfSk7CiAgICBjb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCBmdW5jdGlv +bihlKSB7CiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIHZhciBjYXJkID0gZS50 +YXJnZXQuY2xvc2VzdCgnLnNjaGljaHRjb2RlLWthcnRlJyk7CiAgICAgICAgY29udGFpbmVyLnF1 +ZXJ5U2VsZWN0b3JBbGwoJy5zYy1kcm9wLWluZGljYXRvcicpLmZvckVhY2goZnVuY3Rpb24oYykg +eyBjLmNsYXNzTGlzdC5yZW1vdmUoJ3NjLWRyb3AtaW5kaWNhdG9yJyk7IH0pOwogICAgICAgIGlm +IChjYXJkICYmIGNhcmQuZ2V0QXR0cmlidXRlKCdkYXRhLWNvZGUnKSAhPT0gZHJhZ0NvZGUpIHsK +ICAgICAgICAgICAgY2FyZC5jbGFzc0xpc3QuYWRkKCdzYy1kcm9wLWluZGljYXRvcicpOwogICAg +ICAgIH0KICAgIH0pOwogICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCBmdW5j +dGlvbihlKSB7CiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIHZhciB6aWVsID0g +ZS50YXJnZXQuY2xvc2VzdCgnLnNjaGljaHRjb2RlLWthcnRlJyk7CiAgICAgICAgaWYgKCF6aWVs +IHx8ICFkcmFnQ29kZSB8fCB6aWVsLmdldEF0dHJpYnV0ZSgnZGF0YS1jb2RlJykgPT09IGRyYWdD +b2RlKSByZXR1cm47CiAgICAgICAgdmFyIGxpc3RlID0gKFouYWRtaW4uc2NoaWNodGNvZGVzIHx8 +IFtdKS5zbGljZSgpOwogICAgICAgIHZhciB2b25JZHggPSBsaXN0ZS5maW5kSW5kZXgoZnVuY3Rp +b24oYykgeyByZXR1cm4gYy5jb2RlID09PSBkcmFnQ29kZTsgfSk7CiAgICAgICAgdmFyIGJpc0lk +eCA9IGxpc3RlLmZpbmRJbmRleChmdW5jdGlvbihjKSB7IHJldHVybiBjLmNvZGUgPT09IHppZWwu +Z2V0QXR0cmlidXRlKCdkYXRhLWNvZGUnKTsgfSk7CiAgICAgICAgaWYgKHZvbklkeCA8IDAgfHwg +YmlzSWR4IDwgMCkgcmV0dXJuOwogICAgICAgIHZhciBtb3ZlZCA9IGxpc3RlLnNwbGljZSh2b25J +ZHgsIDEpWzBdOwogICAgICAgIGxpc3RlLnNwbGljZShiaXNJZHgsIDAsIG1vdmVkKTsKICAgICAg +ICBhcGlQdXQoJy9hcGkvYWRtaW4nLCBPYmplY3QuYXNzaWduKHt9LCBaLmFkbWluLCB7IHNjaGlj +aHRjb2RlczogbGlzdGUgfSkpLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIFouYWRtaW4u +c2NoaWNodGNvZGVzID0gbGlzdGU7CiAgICAgICAgICAgIHNjaGljaHRjb2RlVm9yc2NoYXVSZW5k +ZXJuKCk7CiAgICAgICAgICAgIHRvYXN0KCdSZWloZW5mb2xnZSBnZXNwZWljaGVydCcsICdlcmZv +bGcnKTsKICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlKSB7IHRvYXN0KCdGZWhsZXI6ICcgKyBl +Lm1lc3NhZ2UsICdmZWhsZXInKTsgfSk7CiAgICAgICAgZHJhZ0NvZGUgPSBudWxsOwogICAgfSk7 +Cn0KCi8vIERlYWt0aXZpZXJlbiAvIEFrdGl2aWVyZW4gZWluZXMgU2NoaWNodGNvZGVzLiBCZWlt +IERlYWt0aXZpZXJlbiBlaW5lcwovLyBub2NoIHZlcndlbmRldGVuIENvZGVzIHdpcmQgZWluIE1v +ZGFsIGdlemVpZ3QgbWl0IE9wdGlvbmVuOgovLyAgKGEpIG51ciBzdGlsbGxlZ2VuIChiZXN0ZWhl +bmRlIEVpbnRyYWVnZSBiZWhhbHRlbiBkZW4gQ29kZSkKLy8gIChiKSBhbGxlIGJlc3RlaGVuZGVu +IEVpbnRyYWVnZSBkdXJjaCBlaW5lbiBhbmRlcmVuIGFrdGl2ZW4gQ29kZSBlcnNldHplbgovLyAg +KGMpIGFsbGUgYmVzdGVoZW5kZW4gRWludHJhZWdlIGxlZXJlbgovLyBCZWltIEFrdGl2aWVyZW4g +d2lyZCBkaXJla3QgdW1nZXNjaGFsdGV0IChrZWluZSBSdWVja2ZyYWdlIG5vZXRpZykuCmV4cG9y +dCBmdW5jdGlvbiBzY2hpY2h0Y29kZVRvZ2dsZUFrdGl2KGNvZGVLZXkpIHsKICAgIHZhciBsaXN0 +ZSA9IChaLmFkbWluLnNjaGljaHRjb2RlcyB8fCBbXSkuc2xpY2UoKTsKICAgIHZhciBpZHggPSBs +aXN0ZS5maW5kSW5kZXgoZnVuY3Rpb24oYykgeyByZXR1cm4gYy5jb2RlID09PSBjb2RlS2V5OyB9 +KTsKICAgIGlmIChpZHggPCAwKSByZXR1cm47CiAgICB2YXIgc2MgPSBsaXN0ZVtpZHhdOwogICAg +dmFyIHdhckFrdGl2ID0gaXN0Q29kZUFrdGl2KHNjKTsKCiAgICBpZiAoIXdhckFrdGl2KSB7CiAg +ICAgICAgLy8gQWt0aXZpZXJlbjogZGlyZWt0IHVtc2NoYWx0ZW4KICAgICAgICBsaXN0ZVtpZHhd +ID0gT2JqZWN0LmFzc2lnbih7fSwgc2MsIHsgYWt0aXY6IHRydWUgfSk7CiAgICAgICAgc2NoaWNo +dGNvZGVMaXN0ZVNwZWljaGVybihsaXN0ZSwgJ0NvZGUgIicgKyBzYy5jb2RlICsgJyIgYWt0aXZp +ZXJ0Jyk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8vIFZvbiBha3RpdiAtPiBpbmFrdGl2 +CiAgICB2YXIgdmVyd2VuZHVuZyA9IGNvZGVWZXJ3ZW5kdW5nWmFlaGxlbigpOwogICAgdmFyIGFu +emFobCA9IHZlcndlbmR1bmdbc2MuY29kZV0gfHwgMDsKICAgIGlmIChhbnphaGwgPT09IDApIHsK +ICAgICAgICBsaXN0ZVtpZHhdID0gT2JqZWN0LmFzc2lnbih7fSwgc2MsIHsgYWt0aXY6IGZhbHNl +IH0pOwogICAgICAgIHNjaGljaHRjb2RlTGlzdGVTcGVpY2hlcm4obGlzdGUsICdDb2RlICInICsg +c2MuY29kZSArICciIGRlYWt0aXZpZXJ0Jyk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8v +IE1vZGFsIG1pdCBPcHRpb25lbgogICAgdmFyIGFrdGl2ZUNvZGVzID0gbGlzdGUuZmlsdGVyKGZ1 +bmN0aW9uKGMpIHsgcmV0dXJuIGMuY29kZSAhPT0gc2MuY29kZSAmJiBpc3RDb2RlQWt0aXYoYyk7 +IH0pOwogICAgYWt0aXZlQ29kZXMuc29ydChmdW5jdGlvbihhLCBiKSB7IHJldHVybiAoYS5jb2Rl +IHx8ICcnKS5sb2NhbGVDb21wYXJlKGIuY29kZSB8fCAnJywgJ2RlJyk7IH0pOwogICAgdmFyIG9w +dGlvbnNIdG1sID0gYWt0aXZlQ29kZXMubWFwKGZ1bmN0aW9uKGMpIHsKICAgICAgICByZXR1cm4g +JzxvcHRpb24gdmFsdWU9IicgKyBlc2NhcGVBdHRyKGMuY29kZSkgKyAnIj4nICsgZXNjYXBlSFRN +TChjLmt1ZXJ6ZWwgfHwgYy5jb2RlKSArICcg4oCUICcgKyBlc2NhcGVIVE1MKGMuYmV6ZWljaG51 +bmcgfHwgJycpICsgJzwvb3B0aW9uPic7CiAgICB9KS5qb2luKCcnKTsKCiAgICB2YXIga29lcnBl +ciA9ICc8cCBzdHlsZT0ibWFyZ2luOjAgMCAxMnB4IDAiPkRlciBDb2RlIDxiPicgKyBlc2NhcGVI +VE1MKHNjLmNvZGUpICsgJzwvYj4gKCcgKyBlc2NhcGVIVE1MKHNjLmJlemVpY2hudW5nIHx8ICcn +KSArICcpIGlzdCBpbiA8Yj4nICsgYW56YWhsICsgJzwvYj4gJyArCiAgICAgICAgKGFuemFobCA9 +PT0gMSA/ICdFaW50cmFnJyA6ICdFaW50csOkZ2VuJykgKyAnIGRlciBQbGFudW5nIHZlcndlbmRl +dC4gV2FzIHNvbGwgZGFtaXQgZ2VzY2hlaGVuPzwvcD4nICsKICAgICAgICAnPGRpdiBzdHlsZT0i +ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDttYXJnaW4tdG9wOjZw +eCI+JyArCiAgICAgICAgICAgICc8bGFiZWwgc3R5bGU9ImRpc3BsYXk6ZmxleDtnYXA6OHB4O2Fs +aWduLWl0ZW1zOmZsZXgtc3RhcnQ7Y3Vyc29yOnBvaW50ZXIiPicgKwogICAgICAgICAgICAgICAg +JzxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ic2MtZGVha3QtbW9kdXMiIHZhbHVlPSJudXItc3Rp +bGxsZWdlbiIgY2hlY2tlZCBzdHlsZT0ibWFyZ2luLXRvcDozcHgiPicgKwogICAgICAgICAgICAg +ICAgJzxzcGFuPjxiPk51ciBzdGlsbGxlZ2VuPC9iPiAmbWRhc2g7IGJlc3RlaGVuZGUgRWludHLD +pGdlIGJlaGFsdGVuIGRlbiBDb2RlLCBudXIgenVyIE5ldS1FaW5nYWJlIG5pY2h0IG1laHIgenVs +YXNzZW4uPC9zcGFuPicgKwogICAgICAgICAgICAnPC9sYWJlbD4nICsKICAgICAgICAgICAgJzxs +YWJlbCBzdHlsZT0iZGlzcGxheTpmbGV4O2dhcDo4cHg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtj +dXJzb3I6cG9pbnRlciI+JyArCiAgICAgICAgICAgICAgICAnPGlucHV0IHR5cGU9InJhZGlvIiBu +YW1lPSJzYy1kZWFrdC1tb2R1cyIgdmFsdWU9ImVyc2V0emVuIiBzdHlsZT0ibWFyZ2luLXRvcDoz +cHgiPicgKwogICAgICAgICAgICAgICAgJzxzcGFuPjxiPkR1cmNoIGFuZGVyZW4gYWt0aXZlbiBD +b2RlIGVyc2V0emVuPC9iPicgKwogICAgICAgICAgICAgICAgJzxicj48c2VsZWN0IGlkPSJzYy1l +cnNldHplbi1kdXJjaCIgY2xhc3M9ImZvcm0taW5wdXQiIHN0eWxlPSJtYXJnaW4tdG9wOjRweDtt +YXgtd2lkdGg6NDAwcHgiICcgKyAoYWt0aXZlQ29kZXMubGVuZ3RoID8gJycgOiAnZGlzYWJsZWQn +KSArICc+JyArCiAgICAgICAgICAgICAgICAoYWt0aXZlQ29kZXMubGVuZ3RoID8gb3B0aW9uc0h0 +bWwgOiAnPG9wdGlvbj7igJQga2VpbmUgYWt0aXZlbiBBbHRlcm5hdGl2ZW4gdm9yaGFuZGVuIOKA +lDwvb3B0aW9uPicpICsKICAgICAgICAgICAgICAgICc8L3NlbGVjdD48L3NwYW4+JyArCiAgICAg +ICAgICAgICc8L2xhYmVsPicgKwogICAgICAgICAgICAnPGxhYmVsIHN0eWxlPSJkaXNwbGF5OmZs +ZXg7Z2FwOjhweDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2N1cnNvcjpwb2ludGVyIj4nICsKICAg +ICAgICAgICAgICAgICc8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InNjLWRlYWt0LW1vZHVzIiB2 +YWx1ZT0ibGVlcmVuIiBzdHlsZT0ibWFyZ2luLXRvcDozcHgiPicgKwogICAgICAgICAgICAgICAg +JzxzcGFuPjxiPkJlc3RlaGVuZGUgRWludHLDpGdlIGxlZXJlbjwvYj4gJm1kYXNoOyBhbGxlICcg +KyBhbnphaGwgKyAnIFplbGxlbiBtaXQg4oCeJyArIGVzY2FwZUhUTUwoc2MuY29kZSkgKyAnIiB3 +ZXJkZW4gYXVmIDxlbT5sZWVyPC9lbT4gZ2VzZXR6dC48L3NwYW4+JyArCiAgICAgICAgICAgICc8 +L2xhYmVsPicgKwogICAgICAgICc8L2Rpdj4nOwogICAgdmFyIGZ1c3MgPSAnPGJ1dHRvbiBjbGFz +cz0iYnRuIiBpZD0ic2MtZGVha3QtYWJicmVjaGVuIj5BYmJyZWNoZW48L2J1dHRvbj4nICsKICAg +ICAgICAgICAgICAgJzxidXR0b24gY2xhc3M9ImJ0biBidG4tZ2VmYWhyIiBpZD0ic2MtZGVha3Qt +b2siPkRlYWt0aXZpZXJlbjwvYnV0dG9uPic7CiAgICBtb2RhbFplaWdlbignQ29kZSDigJ4nICsg +c2MuY29kZSArICciIGRlYWt0aXZpZXJlbicsIGtvZXJwZXIsIGZ1c3MsIG51bGwpOwogICAgZG9j +dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NjLWRlYWt0LWFiYnJlY2hlbicpLmFkZEV2ZW50TGlzdGVu +ZXIoJ2NsaWNrJywgbW9kYWxTY2hsaWVzc2VuKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk +KCdzYy1kZWFrdC1vaycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAg +ICAgICAgdmFyIG1vZHVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT0ic2Mt +ZGVha3QtbW9kdXMiXTpjaGVja2VkJyk7CiAgICAgICAgaWYgKCFtb2R1cykgcmV0dXJuOwogICAg +ICAgIG1vZHVzID0gbW9kdXMudmFsdWU7CiAgICAgICAgdmFyIGVyc2F0eiA9IG51bGw7CiAgICAg +ICAgaWYgKG1vZHVzID09PSAnZXJzZXR6ZW4nKSB7CiAgICAgICAgICAgIGlmICghYWt0aXZlQ29k +ZXMubGVuZ3RoKSB7IHRvYXN0KCdLZWluZSBFcnNhdHotQ29kZXMgdm9yaGFuZGVuJywgJ3dhcm51 +bmcnKTsgcmV0dXJuOyB9CiAgICAgICAgICAgIGVyc2F0eiA9IGRvY3VtZW50LmdldEVsZW1lbnRC +eUlkKCdzYy1lcnNldHplbi1kdXJjaCcpLnZhbHVlOwogICAgICAgIH0KCiAgICAgICAgLy8gU2No +cml0dCAxOiBBZG1pbi1MaXN0ZSBtaXQgYWt0aXY6ZmFsc2UgbmV1IHNjaHJlaWJlbi4KICAgICAg +ICAvLyBTY2hyaXR0IDI6IHBsYW51bmcuanNvbiB1bXNjaHJlaWJlbiAobnVyIGJlaSBlcnNldHpl +bi9sZWVyZW4pLgogICAgICAgIGxpc3RlW2lkeF0gPSBPYmplY3QuYXNzaWduKHt9LCBzYywgeyBh +a3RpdjogZmFsc2UgfSk7CiAgICAgICAgdmFyIG5ldWVQbGFudW5nID0gbnVsbDsKICAgICAgICBp +ZiAobW9kdXMgPT09ICdlcnNldHplbicgfHwgbW9kdXMgPT09ICdsZWVyZW4nKSB7CiAgICAgICAg +ICAgIHZhciBuZXVlcldlcnQgPSBtb2R1cyA9PT0gJ2Vyc2V0emVuJyA/IGVyc2F0eiA6ICcnOwog +ICAgICAgICAgICBuZXVlUGxhbnVuZyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoWi5wbGFu +dW5nKSk7CiAgICAgICAgICAgIHZhciBlaW50ciA9IG5ldWVQbGFudW5nLmVpbnRyYWVnZSB8fCB7 +fTsKICAgICAgICAgICAgT2JqZWN0LmtleXMoZWludHIpLmZvckVhY2goZnVuY3Rpb24oZCkgewog +ICAgICAgICAgICAgICAgdmFyIHRhZyA9IGVpbnRyW2RdIHx8IHt9OwogICAgICAgICAgICAgICAg +T2JqZWN0LmtleXModGFnKS5mb3JFYWNoKGZ1bmN0aW9uKHBpZCkgewogICAgICAgICAgICAgICAg +ICAgIGlmICh0YWdbcGlkXSA9PT0gc2MuY29kZSkgewogICAgICAgICAgICAgICAgICAgICAgICBp +ZiAobmV1ZXJXZXJ0KSB0YWdbcGlkXSA9IG5ldWVyV2VydDsKICAgICAgICAgICAgICAgICAgICAg +ICAgZWxzZSBkZWxldGUgdGFnW3BpZF07CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg +ICAgICAgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KCiAgICAgICAgYXBpUHV0KCcvYXBp +L2FkbWluJywgT2JqZWN0LmFzc2lnbih7fSwgWi5hZG1pbiwgeyBzY2hpY2h0Y29kZXM6IGxpc3Rl +IH0pKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICBaLmFkbWluLnNjaGljaHRjb2RlcyA9 +IGxpc3RlOwogICAgICAgICAgICBpZiAobmV1ZVBsYW51bmcpIHsKICAgICAgICAgICAgICAgIHJl +dHVybiBhcGlQdXQoJy9hcGkvcGxhbnVuZycsIG5ldWVQbGFudW5nKS50aGVuKGZ1bmN0aW9uKCkg +ewogICAgICAgICAgICAgICAgICAgIFoucGxhbnVuZyA9IG5ldWVQbGFudW5nOwogICAgICAgICAg +ICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KS50aGVuKGZ1bmN0aW9uKCkgewogICAg +ICAgICAgICBtb2RhbFNjaGxpZXNzZW4oKTsKICAgICAgICAgICAgc2NoaWNodGNvZGVWb3JzY2hh +dVJlbmRlcm4oKTsKICAgICAgICAgICAgaWYgKHR5cGVvZiBkYXRlbkdyaWRSZW5kZXJuID09PSAn +ZnVuY3Rpb24nKSBkYXRlbkdyaWRSZW5kZXJuKCk7CiAgICAgICAgICAgIHZhciBtc2cgPSBtb2R1 +cyA9PT0gJ2Vyc2V0emVuJyA/IChhbnphaGwgKyAnIEVpbnRyw6RnZSBhdWYgIicgKyBlcnNhdHog +KyAnIiB1bWdlc3RlbGx0IHVuZCBDb2RlIGRlYWt0aXZpZXJ0JykKICAgICAgICAgICAgICAgICAg +ICA6IG1vZHVzID09PSAnbGVlcmVuJyAgICA/IChhbnphaGwgKyAnIEVpbnRyw6RnZSBnZWxlZXJ0 +IHVuZCBDb2RlIGRlYWt0aXZpZXJ0JykKICAgICAgICAgICAgICAgICAgICA6ICAgICAgICAgICAg +ICAgICAgICAgICAgICdDb2RlIGRlYWt0aXZpZXJ0IChiZXN0ZWhlbmRlIEVpbnRyw6RnZSB1bnZl +cmFlbmRlcnQpJzsKICAgICAgICAgICAgdG9hc3QobXNnLCAnZXJmb2xnJyk7CiAgICAgICAgfSku +Y2F0Y2goZnVuY3Rpb24oZSkgewogICAgICAgICAgICB0b2FzdCgnRmVobGVyOiAnICsgZS5tZXNz +YWdlLCAnZmVobGVyJyk7CiAgICAgICAgfSk7CiAgICB9KTsKfQoKZXhwb3J0IGZ1bmN0aW9uIHNj +aGljaHRjb2RlTGlzdGVTcGVpY2hlcm4obGlzdGUsIHRvYXN0VGV4dCkgewogICAgYXBpUHV0KCcv +YXBpL2FkbWluJywgT2JqZWN0LmFzc2lnbih7fSwgWi5hZG1pbiwgeyBzY2hpY2h0Y29kZXM6IGxp +c3RlIH0pKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgIFouYWRtaW4uc2NoaWNodGNvZGVzID0g +bGlzdGU7CiAgICAgICAgc2NoaWNodGNvZGVWb3JzY2hhdVJlbmRlcm4oKTsKICAgICAgICB0b2Fz +dCh0b2FzdFRleHQgfHwgJ0dlc3BlaWNoZXJ0JywgJ2VyZm9sZycpOwogICAgfSkuY2F0Y2goZnVu +Y3Rpb24oZSkgeyB0b2FzdCgnRmVobGVyOiAnICsgZS5tZXNzYWdlLCAnZmVobGVyJyk7IH0pOwp9 +CgpleHBvcnQgZnVuY3Rpb24gc2NoaWNodGNvZGVFZGl0TW9kYWxaZWlnZW4oY29kZUtleSkgewog +ICAgdmFyIHZvcmggPSBjb2RlS2V5ID8gKFouYWRtaW4uc2NoaWNodGNvZGVzIHx8IFtdKS5maW5k +KGZ1bmN0aW9uKGMpIHsgcmV0dXJuIGMuY29kZSA9PT0gY29kZUtleTsgfSkgOiBudWxsOwogICAg +dmFyIHNjID0gdm9yaCA/IE9iamVjdC5hc3NpZ24oe30sIHZvcmgpIDogeyBjb2RlOiAnJywga3Vl +cnplbDogJycsIGJlemVpY2hudW5nOiAnJywgaGludGVyZ3J1bmQ6ICcjQjcxQzFDJywgc2Nocmlm +dDogJyNGRkZGRkYnIH07CiAgICB2YXIgaXN0TmV1ID0gIXZvcmg7CiAgICB2YXIgY29kZUZlbGRS +ZWFkT25seSA9ICFpc3ROZXUgPyAnIHJlYWRvbmx5IHN0eWxlPSJiYWNrZ3JvdW5kOnZhcigtLWJn +LWNhcmQtYWx0KTtjdXJzb3I6bm90LWFsbG93ZWQiJyA6ICcnOwogICAgdmFyIGNvZGVIaW53ZWlz +ID0gaXN0TmV1ID8gJzxzbWFsbCBzdHlsZT0iY29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1z +aXplOjExcHgiPlRlY2huaXNjaGVyIFNjaGzDvHNzZWwsIG5hY2ggQW5sYWdlIG5pY2h0IG1laHIg +w6RuZGVyYmFyLjwvc21hbGw+JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzxzbWFs +bCBzdHlsZT0iY29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOjExcHgiPlRlY2huaXNj +aGVyIFNjaGzDvHNzZWwg4oCUIG5pY2h0IMOkbmRlcmJhciwgZGEgbWl0IGJlc3RlaGVuZGVuIEVp +bnRyw6RnZW4gdmVya27DvHBmdC48L3NtYWxsPic7CiAgICB2YXIga29lcnBlciA9ICc8ZGl2IHN0 +eWxlPSJkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMnB4Ij4nICsKICAg +ICAgICAnPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2dhcDoxMnB4O2ZsZXgtd3JhcDp3cmFwIj4n +ICsKICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImZvcm0tZ3J1cHBlIGZvcm0tcGZsaWNodCIgc3R5 +bGU9ImZsZXg6MTttaW4td2lkdGg6MTQwcHgiPjxsYWJlbD5Db2RlIChTY2hsw7xzc2VsKTwvbGFi +ZWw+PGlucHV0IHR5cGU9InRleHQiIGlkPSJzYy1jb2RlIiBjbGFzcz0iZm9ybS1pbnB1dCIgdmFs +dWU9IicgKyBlc2NhcGVBdHRyKHNjLmNvZGUpICsgJyIgbWF4bGVuZ3RoPSIxMCIgZGF0YS1tYXhs +ZW5ndGgtY291bnRlcj0iMSIgcGxhY2Vob2xkZXI9InouQi4gRi1ER0wiJyArIGNvZGVGZWxkUmVh +ZE9ubHkgKyAnPicgKyBjb2RlSGlud2VpcyArICc8L2Rpdj4nICsKICAgICAgICAgICAgJzxkaXYg +Y2xhc3M9ImZvcm0tZ3J1cHBlIiBzdHlsZT0iZmxleDoxO21pbi13aWR0aDoxNDBweCI+PGxhYmVs +PkvDvHJ6ZWwgKEFuemVpZ2UpPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InNjLWt1ZXJ6 +ZWwiIGNsYXNzPSJmb3JtLWlucHV0IiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIoc2Mua3VlcnplbCB8 +fCAnJykgKyAnIiBtYXhsZW5ndGg9IjEwIiBkYXRhLW1heGxlbmd0aC1jb3VudGVyPSIxIiBwbGFj +ZWhvbGRlcj0iei5CLiBGIj48c21hbGwgc3R5bGU9ImNvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2Zv +bnQtc2l6ZTp2YXIoLS1mcy1zbSkiPkt1cnpmb3JtIGluIGRlciBQbGFudW5nc3plbGxlLiBLYW5u +IG1pdCBkZW0gQ29kZSBpZGVudGlzY2ggc2Vpbi48L3NtYWxsPjwvZGl2PicgKwogICAgICAgICc8 +L2Rpdj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0iZm9ybS1ncnVwcGUgZm9ybS1wZmxpY2h0Ij48 +bGFiZWw+QmV6ZWljaG51bmcgKExhbmduYW1lKTwvbGFiZWw+PGlucHV0IHR5cGU9InRleHQiIGlk +PSJzYy1iZXplaWNobnVuZyIgY2xhc3M9ImZvcm0taW5wdXQiIHZhbHVlPSInICsgZXNjYXBlQXR0 +cihzYy5iZXplaWNobnVuZyB8fCAnJykgKyAnIiBtYXhsZW5ndGg9IjYwIiBkYXRhLW1heGxlbmd0 +aC1jb3VudGVyPSIxIiBwbGFjZWhvbGRlcj0iei5CLiBGcsO8aGRpZW5zdCBER0wiPjwvZGl2Picg +KwogICAgICAgICc8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjEycHg7ZmxleC13cmFwOndy +YXA7YWxpZ24taXRlbXM6ZmxleC1lbmQiPicgKwogICAgICAgICAgICAnPGRpdiBjbGFzcz0iZm9y +bS1ncnVwcGUiIHN0eWxlPSJmbGV4OjE7bWluLXdpZHRoOjEzMHB4Ij48bGFiZWw+SGludGVyZ3J1 +bmRmYXJiZTwvbGFiZWw+PGlucHV0IHR5cGU9ImNvbG9yIiBpZD0ic2MtaGludGVyZ3J1bmQiIGNs +YXNzPSJmb3JtLWlucHV0IiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIoc2MuaGludGVyZ3J1bmQgfHwg +JyNCNzFDMUMnKSArICciIHN0eWxlPSJoZWlnaHQ6MzhweDtwYWRkaW5nOjJweCA0cHg7Y3Vyc29y +OnBvaW50ZXIiPjwvZGl2PicgKwogICAgICAgICAgICAnPGRpdiBjbGFzcz0iZm9ybS1ncnVwcGUi +IHN0eWxlPSJmbGV4OjE7bWluLXdpZHRoOjEzMHB4Ij48bGFiZWw+U2NocmlmdGZhcmJlPC9sYWJl +bD48aW5wdXQgdHlwZT0iY29sb3IiIGlkPSJzYy1zY2hyaWZ0IiBjbGFzcz0iZm9ybS1pbnB1dCIg +dmFsdWU9IicgKyBlc2NhcGVBdHRyKHNjLnNjaHJpZnQgfHwgJyNGRkZGRkYnKSArICciIHN0eWxl +PSJoZWlnaHQ6MzhweDtwYWRkaW5nOjJweCA0cHg7Y3Vyc29yOnBvaW50ZXIiPjwvZGl2PicgKwog +ICAgICAgICAgICAnPGRpdiBjbGFzcz0iZm9ybS1ncnVwcGUiIHN0eWxlPSJmbGV4OjE7bWluLXdp +ZHRoOjE0MHB4Ij48bGFiZWw+Vm9yc2NoYXU8L2xhYmVsPjxkaXYgaWQ9InNjLXZvcnNjaGF1IiBz +dHlsZT0icGFkZGluZzo4cHggMTJweDtib3JkZXItcmFkaXVzOjZweDtmb250LXdlaWdodDo3MDA7 +dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZDonICsgZXNjYXBlQXR0cihzYy5oaW50ZXJncnVu +ZCB8fCAnI0I3MUMxQycpICsgJztjb2xvcjonICsgZXNjYXBlQXR0cihzYy5zY2hyaWZ0IHx8ICcj +RkZGRkZGJykgKyAnIj4nICsgZXNjYXBlSFRNTChzYy5jb2RlIHx8ICdWb3JzY2hhdScpICsgJzwv +ZGl2PjwvZGl2PicgKwogICAgICAgICc8L2Rpdj4nICsKICAgICc8L2Rpdj4nOwogICAgdmFyIGZv +b3RlciA9ICh2b3JoID8gJzxidXR0b24gY2xhc3M9ImJ0biBidG4tZ2VmYWhyIiBpZD0ic2MtbG9l +c2NoZW4iIHN0eWxlPSJtYXJnaW4tcmlnaHQ6YXV0byI+TMO2c2NoZW48L2J1dHRvbj4nIDogJycp +ICsKICAgICAgICAnPGJ1dHRvbiBjbGFzcz0iYnRuIiBpZD0ic2MtYWJicmVjaGVuIj5BYmJyZWNo +ZW48L2J1dHRvbj4nICsKICAgICAgICAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1wcmltYWVyIiBp +ZD0ic2Mtc3BlaWNoZXJuIj5TcGVpY2hlcm48L2J1dHRvbj4nOwogICAgbW9kYWxaZWlnZW4odm9y +aCA/ICdTY2hpY2h0Y29kZSBiZWFyYmVpdGVuJyA6ICdOZXVlciBTY2hpY2h0Y29kZScsIGtvZXJw +ZXIsIGZvb3RlciwgbnVsbCk7CgogICAgZnVuY3Rpb24gdm9yc2NoYXVVcGRhdGUoKSB7CiAgICAg +ICAgdmFyIGhnID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NjLWhpbnRlcmdydW5kJykudmFs +dWU7CiAgICAgICAgdmFyIHNmID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NjLXNjaHJpZnQn +KS52YWx1ZTsKICAgICAgICB2YXIga3UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2Mta3Vl +cnplbCcpLnZhbHVlIHx8IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYy1jb2RlJykudmFsdWUg +fHwgJ1ZvcnNjaGF1JzsKICAgICAgICB2YXIgdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdz +Yy12b3JzY2hhdScpOwogICAgICAgIHYuc3R5bGUuYmFja2dyb3VuZCA9IGhnOyB2LnN0eWxlLmNv +bG9yID0gc2Y7IHYudGV4dENvbnRlbnQgPSBrdTsKICAgIH0KICAgIFsnc2MtaGludGVyZ3J1bmQn +LCdzYy1zY2hyaWZ0Jywnc2Mta3VlcnplbCcsJ3NjLWNvZGUnXS5mb3JFYWNoKGZ1bmN0aW9uKGlk +KSB7CiAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOyBpZiAoZWwp +IGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0Jywgdm9yc2NoYXVVcGRhdGUpOwogICAgfSk7Cgog +ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NjLWFiYnJlY2hlbicpLmFkZEV2ZW50TGlzdGVu +ZXIoJ2NsaWNrJywgbW9kYWxTY2hsaWVzc2VuKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk +KCdzYy1zcGVpY2hlcm4nKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewog +ICAgICAgIHZhciBkYXRlbiA9IHsKICAgICAgICAgICAgY29kZTogZG9jdW1lbnQuZ2V0RWxlbWVu +dEJ5SWQoJ3NjLWNvZGUnKS52YWx1ZS50cmltKCksCiAgICAgICAgICAgIGt1ZXJ6ZWw6IGRvY3Vt +ZW50LmdldEVsZW1lbnRCeUlkKCdzYy1rdWVyemVsJykudmFsdWUudHJpbSgpIHx8IGRvY3VtZW50 +LmdldEVsZW1lbnRCeUlkKCdzYy1jb2RlJykudmFsdWUudHJpbSgpLAogICAgICAgICAgICBiZXpl +aWNobnVuZzogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NjLWJlemVpY2hudW5nJykudmFsdWUu +dHJpbSgpLAogICAgICAgICAgICBoaW50ZXJncnVuZDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo +J3NjLWhpbnRlcmdydW5kJykudmFsdWUsCiAgICAgICAgICAgIHNjaHJpZnQ6IGRvY3VtZW50Lmdl +dEVsZW1lbnRCeUlkKCdzYy1zY2hyaWZ0JykudmFsdWUKICAgICAgICB9OwogICAgICAgIGlmICgh +ZGF0ZW4uY29kZSkgeyBwZmxpY2h0ZmVsZEZlaGxlcignc2MtY29kZScsICdDb2RlIGlzdCBQZmxp +Y2h0ZmVsZCcpOyByZXR1cm47IH0KICAgICAgICBpZiAoIWRhdGVuLmJlemVpY2hudW5nKSB7IHBm +bGljaHRmZWxkRmVobGVyKCdzYy1iZXplaWNobnVuZycsICdCZXplaWNobnVuZyBpc3QgUGZsaWNo +dGZlbGQnKTsgcmV0dXJuOyB9CiAgICAgICAgaWYgKGlzdE5ldSAmJiAoWi5hZG1pbi5zY2hpY2h0 +Y29kZXMgfHwgW10pLnNvbWUoZnVuY3Rpb24oYykgeyByZXR1cm4gYy5jb2RlID09PSBkYXRlbi5j +b2RlOyB9KSkgewogICAgICAgICAgICB0b2FzdCgnQ29kZSDigJ4nICsgZGF0ZW4uY29kZSArICci +IGV4aXN0aWVydCBiZXJlaXRzJywgJ3dhcm51bmcnKTsgcmV0dXJuOwogICAgICAgIH0KICAgICAg +ICB2YXIgbGlzdGUgPSAoWi5hZG1pbi5zY2hpY2h0Y29kZXMgfHwgW10pLnNsaWNlKCk7CiAgICAg +ICAgaWYgKGlzdE5ldSkgbGlzdGUucHVzaChkYXRlbik7CiAgICAgICAgZWxzZSB7CiAgICAgICAg +ICAgIHZhciBpZHggPSBsaXN0ZS5maW5kSW5kZXgoZnVuY3Rpb24oYykgeyByZXR1cm4gYy5jb2Rl +ID09PSB2b3JoLmNvZGU7IH0pOwogICAgICAgICAgICBpZiAoaWR4ID49IDApIGxpc3RlW2lkeF0g +PSBkYXRlbjsKICAgICAgICB9CiAgICAgICAgYXBpUHV0KCcvYXBpL2FkbWluJywgT2JqZWN0LmFz +c2lnbih7fSwgWi5hZG1pbiwgeyBzY2hpY2h0Y29kZXM6IGxpc3RlIH0pKS50aGVuKGZ1bmN0aW9u +KCkgewogICAgICAgICAgICBaLmFkbWluLnNjaGljaHRjb2RlcyA9IGxpc3RlOwogICAgICAgICAg +ICAvLyBjb2RlTWFwIGFrdHVhbGlzaWVyZW4KICAgICAgICAgICAgWi5jb2RlTWFwID0ge307CiAg +ICAgICAgICAgIGxpc3RlLmZvckVhY2goZnVuY3Rpb24oYykgeyBaLmNvZGVNYXBbYy5jb2RlXSA9 +IHsgaGludGVyZ3J1bmQ6IGMuaGludGVyZ3J1bmQsIHNjaHJpZnQ6IGMuc2NocmlmdCwga3Vlcnpl +bDogYy5rdWVyemVsIHx8IGMuY29kZSB9OyB9KTsKICAgICAgICAgICAgc2NoaWNodGNvZGVWb3Jz +Y2hhdVJlbmRlcm4oKTsKICAgICAgICAgICAgaWYgKHR5cGVvZiBkYXRlbkdyaWRSZW5kZXJuID09 +PSAnZnVuY3Rpb24nKSBkYXRlbkdyaWRSZW5kZXJuKCk7CiAgICAgICAgICAgIG1vZGFsU2NobGll +c3NlbigpOwogICAgICAgICAgICB0b2FzdCgnU2NoaWNodGNvZGUgZ2VzcGVpY2hlcnQnLCAnZXJm +b2xnJyk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZSkgeyB0b2FzdCgnRmVobGVyOiAnICsg +ZS5tZXNzYWdlLCAnZmVobGVyJyk7IH0pOwogICAgfSk7CiAgICBpZiAodm9yaCkgewogICAgICAg +IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYy1sb2VzY2hlbicpLmFkZEV2ZW50TGlzdGVuZXIo +J2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGJlc3RhZXRpZ2VuKCdTY2hpY2h0Y29k +ZSDigJ4nICsgdm9yaC5jb2RlICsgJyIgd2lya2xpY2ggbMO2c2NoZW4/XG5cbkJlc3RlaGVuZGUg +RWludHLDpGdlIG1pdCBkaWVzZW0gQ29kZSBibGVpYmVuIGluIGRlciBQbGFudW5nIGVyaGFsdGVu +LCB3ZXJkZW4gYWJlciBvaG5lIEZhcmJlIGRhcmdlc3RlbGx0LicsIGZ1bmN0aW9uKCkgewogICAg +ICAgICAgICAgICAgdmFyIGxpc3RlID0gKFouYWRtaW4uc2NoaWNodGNvZGVzIHx8IFtdKS5maWx0 +ZXIoZnVuY3Rpb24oYykgeyByZXR1cm4gYy5jb2RlICE9PSB2b3JoLmNvZGU7IH0pOwogICAgICAg +ICAgICAgICAgYXBpUHV0KCcvYXBpL2FkbWluJywgT2JqZWN0LmFzc2lnbih7fSwgWi5hZG1pbiwg +eyBzY2hpY2h0Y29kZXM6IGxpc3RlIH0pKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAg +ICAgICAgIFouYWRtaW4uc2NoaWNodGNvZGVzID0gbGlzdGU7CiAgICAgICAgICAgICAgICAgICAg +Wi5jb2RlTWFwID0ge307CiAgICAgICAgICAgICAgICAgICAgbGlzdGUuZm9yRWFjaChmdW5jdGlv +bihjKSB7IFouY29kZU1hcFtjLmNvZGVdID0geyBoaW50ZXJncnVuZDogYy5oaW50ZXJncnVuZCwg +c2NocmlmdDogYy5zY2hyaWZ0LCBrdWVyemVsOiBjLmt1ZXJ6ZWwgfHwgYy5jb2RlIH07IH0pOwog +ICAgICAgICAgICAgICAgICAgIHNjaGljaHRjb2RlVm9yc2NoYXVSZW5kZXJuKCk7CiAgICAgICAg +ICAgICAgICAgICAgaWYgKHR5cGVvZiBkYXRlbkdyaWRSZW5kZXJuID09PSAnZnVuY3Rpb24nKSBk +YXRlbkdyaWRSZW5kZXJuKCk7CiAgICAgICAgICAgICAgICAgICAgbW9kYWxTY2hsaWVzc2VuKCk7 +CiAgICAgICAgICAgICAgICAgICAgdG9hc3QoJ1NjaGljaHRjb2RlIGdlbMO2c2NodCcsICdlcmZv +bGcnKTsKICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsgdG9hc3QoJ0ZlaGxl +cjogJyArIGUubWVzc2FnZSwgJ2ZlaGxlcicpOyB9KTsKICAgICAgICAgICAgfSwgeyB0aXRlbDog +J1NjaGljaHRjb2RlIGzDtnNjaGVuJywgamFEYW5nZXI6IHRydWUgfSk7CiAgICAgICAgfSk7CiAg +ICB9Cn0K +### FILE: js/admin_common.js | 1528 +Ly8gPT09IGFkbWluX2NvbW1vbi5qcyA9PT0KLy8gV2llZGVydmVyd2VuZGJhcmUgVGFiZWxsZW4t +SGVsZmVyIGZ1ZXIgQWRtaW4tU3ViLU1vZHVsZS4KCi8vIExpZXN0IGFsbGUgVGFiZWxsZW4tRmVs +ZGVyIG1pdCBLbGFzc2UgYGtsYXNzZWAgKHouQi4gJ2ZlaWVydGFnLWlucHV0JykKLy8gaW4gZWlu +ZSBMaXN0ZSB2b24gT2JqZWt0ZW4gZWluLiBKZWRlcyBGZWxkIG11c3MgYGRhdGEtaWR4YCAoWmVp +bGVuLUluZGV4KQovLyB1bmQgYGRhdGEtZmVsZGAgKFByb3BlcnR5LU5hbWUpIHRyYWdlbi4KLy8K +Ly8gYm9vbEZlbGRlcjogTGlzdGUgdm9uIEZlbGQtTmFtZW4sIGRpZSBhbHMgQ2hlY2tib3ggaW50 +ZXJwcmV0aWVydCB3ZXJkZW4KLy8gKGYuY2hlY2tlZCBzdGF0dCBmLnZhbHVlKS4gRGVmYXVsdDog +bGVlci4KLy8KLy8gdHJpbTogd2VubiB0cnVlLCB3ZXJkZW4gU3RyaW5nLVdlcnRlIGJlaW0gRWlu +bGVzZW4gLnRyaW0oKS1hdWZnZXJ1ZmVuLgovLwovLyBSdWVja2dhYmU6IEFycmF5IHZvbiBPYmpl +a3RlbiBpbiBkZXIgUmVpaGVuZm9sZ2UgZGVyIGRhdGEtaWR4LVdlcnRlLgpleHBvcnQgZnVuY3Rp +b24gdGFiZWxsZUZlbGRlckxlc2VuKGtsYXNzZSwgb3B0cykgewogICAgb3B0cyA9IG9wdHMgfHwg +e307CiAgICB2YXIgYm9vbFNldCA9IHt9OwogICAgKG9wdHMuYm9vbEZlbGRlciB8fCBbXSkuZm9y +RWFjaChmdW5jdGlvbihrKSB7IGJvb2xTZXRba10gPSB0cnVlOyB9KTsKICAgIHZhciB0cmltID0g +ISFvcHRzLnRyaW07CiAgICB2YXIgZmVsZGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgn +LicgKyBrbGFzc2UpOwogICAgdmFyIG1hcCA9IHt9OwogICAgZmVsZGVyLmZvckVhY2goZnVuY3Rp +b24oZikgewogICAgICAgIHZhciBpZHggPSBmLmdldEF0dHJpYnV0ZSgnZGF0YS1pZHgnKTsKICAg +ICAgICB2YXIgZmVsZCA9IGYuZ2V0QXR0cmlidXRlKCdkYXRhLWZlbGQnKTsKICAgICAgICBpZiAo +IW1hcFtpZHhdKSBtYXBbaWR4XSA9IHt9OwogICAgICAgIGlmIChib29sU2V0W2ZlbGRdKSB7CiAg +ICAgICAgICAgIG1hcFtpZHhdW2ZlbGRdID0gZi5jaGVja2VkOwogICAgICAgIH0gZWxzZSB7CiAg +ICAgICAgICAgIHZhciB2ID0gZi52YWx1ZTsKICAgICAgICAgICAgbWFwW2lkeF1bZmVsZF0gPSB0 +cmltID8gdi50cmltKCkgOiB2OwogICAgICAgIH0KICAgIH0pOwogICAgLy8gU3RhYmlsIHNvcnRp +ZXJ0IG5hY2ggbnVtZXJpc2NoZW0gZGF0YS1pZHgsIGRhbWl0IGRpZSBSZWloZW5mb2xnZQogICAg +Ly8gZGVyIERPTS1aZWlsZW4gZXJoYWx0ZW4gYmxlaWJ0IChPYmplY3Qua2V5cyBpc3QgaW4gTW9k +ZXJuLUJyb3dzZXJuCiAgICAvLyBzY2hvbiBzb3J0aWVydCwgYWJlciBleHBsaXppdCBpc3Qgc2lj +aGVyZXIpLgogICAgcmV0dXJuIE9iamVjdC5rZXlzKG1hcCkKICAgICAgICAuc29ydChmdW5jdGlv +bihhLCBiKSB7IHJldHVybiBwYXJzZUludChhLCAxMCkgLSBwYXJzZUludChiLCAxMCk7IH0pCiAg +ICAgICAgLm1hcChmdW5jdGlvbihrKSB7IHJldHVybiBtYXBba107IH0pOwp9Cg== +### FILE: js/admin_erscheinungsbild.js | 31741 +Ly8gPT09IGFkbWluX2Vyc2NoZWludW5nc2JpbGQuanMgPT09Ci8vIEtvbmZpZ3VyaWVyYmFyZSB2 +aXN1ZWxsZSBNYXJraWVydW5nZW4gZnVlciBLb3BmLVplbGxlbiArIExpdmUtU3luYy1GbGFzaC4K +Ly8gRGF0ZW5tb2RlbGwgdW50ZXIgWi5hZG1pbi5tYXJraWVydW5nZW4gbWl0IGZ1ZW5mIFR5cGVu +OgovLyAgIHNvbmRlcnRhZ0hpbndlaXMsIHNvbmRlcnRhZ1dhcm51bmcsIGZlaWVydGFnV2ljaHRp +ZywgaGV1dGVTcGFsdGUsIHN5bmNGbGFzaAovLyBKZWRlIE1hcmtpZXJ1bmcgaGF0IGRpZXNlbGJl +IFBhcmFtZXRlci1TdHJ1a3R1ciAoc2llaGUgTUFSS0lFUlVOR19ERUZBVUxUUykuCi8vIEJlaW0g +QW53ZW5kZW4gd2VyZGVuIENTUy1DdXN0b20tUHJvcGVydGllcyBhbSA6cm9vdCBnZXNldHp0IHVu +ZCBkaWUgZW50LQovLyBzcHJlY2hlbmRlbiBLbGFzc2VuIGluIHN0eWxlLmNzcyBncmVpZmVuIGRh +cmF1ZiB6dSAodmFyKC0tbWgtYmcpIGV0Yy4pLgoKaW1wb3J0IHsgWiB9IGZyb20gJy4vY29yZV9z +dGF0ZS5qcyc7CmltcG9ydCB7IGVzY2FwZUhUTUwsIGVzY2FwZUF0dHIgfSBmcm9tICcuL2NvcmVf +dXRpbC5qcyc7CmltcG9ydCB7IGFwaVB1dCB9IGZyb20gJy4vY29yZV9hcGkuanMnOwppbXBvcnQg +eyB0b2FzdCwgZGlydHlSZWdpc3RyaWVyZSwgZGlydHlTZXR6ZW4sIGRpcnR5S2VubnQgfSBmcm9t +ICcuL3VpX2RpYWxvZy5qcyc7CgovLyA9PT09PSBEZWZhdWx0cyA9PT09PQoKdmFyIEZFTERfTkFN +RU4gPSB7CiAgICBoaW50ZXJncnVuZDogICAgICAgICAgICdIaW50ZXJncnVuZCcsCiAgICB0ZXh0 +OiAgICAgICAgICAgICAgICAgICdUZXh0ZmFyYmUnLAogICAgc2NocmlmdGdld2ljaHQ6ICAgICAg +ICAnU2NocmlmdGdld2ljaHQnLAogICAgc2NocmlmdGdyb2Vzc2VGYWt0b3I6ICAnU2NocmlmdGdy +w7bDn2UnLAogICAgcmFobWVuT2JlbjogICAgICAgICAgICAnUmFobWVuIG9iZW4nLAogICAgcmFo +bWVuVW50ZW46ICAgICAgICAgICAnUmFobWVuIHVudGVuJywKICAgIHJhaG1lbkxpbmtzOiAgICAg +ICAgICAgJ1JhaG1lbiBsaW5rcycsCiAgICByYWhtZW5SZWNodHM6ICAgICAgICAgICdSYWhtZW4g +cmVjaHRzJywKICAgIHJhaG1lbkZhcmJlOiAgICAgICAgICAgJ1JhaG1lbmZhcmJlJywKICAgIGds +b3dGYXJiZTogICAgICAgICAgICAgJ0dsb3ctRmFyYmUnLAogICAgZ2xvd0RlY2trcmFmdDogICAg +ICAgICAnR2xvdy1JbnRlbnNpdMOkdCcsCiAgICBnbG93V2VpdGU6ICAgICAgICAgICAgICdHbG93 +LVdlaXRlJywKICAgIGdsb3dQdWxzOiAgICAgICAgICAgICAgJ0dsb3cgcHVsc2llcnQnLAogICAg +c3BhbHRlSGludGVyZ3J1bmQ6ICAgICAnU3BhbHRlbi1Uw7ZudW5nIChHcmlkKScKfTsKCmV4cG9y +dCB2YXIgTUFSS0lFUlVOR0VOX01FVEEgPSBbCiAgICB7IGtleTogJ3NvbmRlcnRhZ0hpbndlaXMn +LCAgbGFiZWw6ICdTb25kZXJ0YWcg4oCUIEhpbndlaXMnLCAgIGJlc2NocmVpYnVuZzogJ1RhZyBt +aXQgU29uZGVydGVybWluIFR5cCDigJ5IaW53ZWlzIicgfSwKICAgIHsga2V5OiAnc29uZGVydGFn +V2FybnVuZycsICBsYWJlbDogJ1NvbmRlcnRhZyDigJQgV2FybnVuZycsICAgYmVzY2hyZWlidW5n +OiAnVGFnIG1pdCBTb25kZXJ0ZXJtaW4gVHlwIOKAnldhcm51bmciJyB9LAogICAgeyBrZXk6ICdm +ZWllcnRhZ1dpY2h0aWcnLCAgIGxhYmVsOiAnV2ljaHRpZ2VyIEZlaWVydGFnJywgICAgYmVzY2hy +ZWlidW5nOiAnRmVpZXJ0YWcgbWl0IOKAnldpY2h0aWciLUZsYWcgaW0gQWRtaW4tS2FsZW5kZXIn +IH0sCiAgICB7IGtleTogJ2ZlcmllbicsICAgICAgICAgICAgbGFiZWw6ICdGZXJpZW4nLCAgICAg +ICAgICAgICAgICBiZXNjaHJlaWJ1bmc6ICdTY2h1bGZlcmllbi1aZWl0cmF1bSDigJQg4oCeSGlu +dGVyZ3J1bmQvU2NocmlmdCIgc3R5bGVuIGRlbiBCYWxrZW4gaW0gS29wZiwg4oCeU3BhbHRlbi1U +w7ZudW5nIiBmw6RyYnQgZGllIEZlcmllbnRhZ2UgaW0gR3JpZCcgfSwKICAgIHsga2V5OiAnaGV1 +dGVTcGFsdGUnLCAgICAgICBsYWJlbDogJ0hFVVRFIOKAlCBUYWdlc3NwYWx0ZScsICAgYmVzY2hy +ZWlidW5nOiAnTWFya2llcnVuZyBkZXIgaGV1dGlnZW4gVGFnZXNzcGFsdGUgKERhdGVuLVplbGxl +biwgbmljaHQgZGVyIEhlYWRlciknIH0sCiAgICB7IGtleTogJ3N5bmNGbGFzaCcsICAgICAgICAg +bGFiZWw6ICdMaXZlLVN5bmMg4oCUIEF1ZmxldWNodGVuJywgYmVzY2hyZWlidW5nOiAnS3VyemVz +IEF1ZmxldWNodGVuLCB3ZW5uIGVpbiBhbmRlcmVyIFVzZXIgZWluZSBaZWxsZSDDpG5kZXJ0JyB9 +Cl07CgovLyBEZWZhdWx0cyBvcmllbnRpZXJlbiBzaWNoIGFtIGJpc2hlcmlnZW4gU3R5bGUgKHZv +ciBkaWVzZW0gRmVhdHVyZSkuIFdlcgovLyBuaWNodHMgc3BlaWNoZXJ0LCBzaWVodCB3ZWl0ZXJo +aW4gZGVuIHZlcnRyYXV0ZW4gTG9vay4KZXhwb3J0IHZhciBNQVJLSUVSVU5HRU5fREVGQVVMVFMg +PSB7CiAgICBzb25kZXJ0YWdIaW53ZWlzOiB7CiAgICAgICAgaGludGVyZ3J1bmQ6ICcnLCB0ZXh0 +OiAnJywKICAgICAgICBzY2hyaWZ0Z2V3aWNodDogNDAwLCBzY2hyaWZ0Z3JvZXNzZUZha3Rvcjog +MS4wLAogICAgICAgIHJhaG1lbk9iZW46IDAsIHJhaG1lblVudGVuOiA0LCByYWhtZW5MaW5rczog +MCwgcmFobWVuUmVjaHRzOiAwLAogICAgICAgIHJhaG1lbkZhcmJlOiAnIzRhOTBlMicsCiAgICAg +ICAgZ2xvd0ZhcmJlOiAnIzRhOTBlMicsIGdsb3dEZWNra3JhZnQ6IDAuNTUsIGdsb3dXZWl0ZTog +MSwgZ2xvd1B1bHM6IGZhbHNlCiAgICB9LAogICAgc29uZGVydGFnV2FybnVuZzogewogICAgICAg +IGhpbnRlcmdydW5kOiAnJywgdGV4dDogJycsCiAgICAgICAgc2NocmlmdGdld2ljaHQ6IDQwMCwg +c2NocmlmdGdyb2Vzc2VGYWt0b3I6IDEuMCwKICAgICAgICByYWhtZW5PYmVuOiAwLCByYWhtZW5V +bnRlbjogNCwgcmFobWVuTGlua3M6IDAsIHJhaG1lblJlY2h0czogMCwKICAgICAgICByYWhtZW5G +YXJiZTogJyNlNjdlMjInLAogICAgICAgIGdsb3dGYXJiZTogJyNlNjdlMjInLCBnbG93RGVja2ty +YWZ0OiAwLjcsIGdsb3dXZWl0ZTogMSwgZ2xvd1B1bHM6IHRydWUKICAgIH0sCiAgICBmZWllcnRh +Z1dpY2h0aWc6IHsKICAgICAgICBoaW50ZXJncnVuZDogJyM0QTZBOEMnLCB0ZXh0OiAnI0ZGRkZG +RicsCiAgICAgICAgc2NocmlmdGdld2ljaHQ6IDcwMCwgc2NocmlmdGdyb2Vzc2VGYWt0b3I6IDEu +MCwKICAgICAgICByYWhtZW5PYmVuOiAwLCByYWhtZW5VbnRlbjogMywgcmFobWVuTGlua3M6IDAs +IHJhaG1lblJlY2h0czogMCwKICAgICAgICByYWhtZW5GYXJiZTogJyNENEEwMTcnLAogICAgICAg +IGdsb3dGYXJiZTogJyNENEEwMTcnLCBnbG93RGVja2tyYWZ0OiAwLCBnbG93V2VpdGU6IDAsIGds +b3dQdWxzOiBmYWxzZQogICAgfSwKICAgIGZlcmllbjogewogICAgICAgIC8vIGhpbnRlcmdydW5k +L3RleHQvLi4uIHN0eWxlbiBkZW4gRmVyaWVuLUJBTEtFTiBpbSBLb3BmIChCYWxrZW4gaGF0dGUK +ICAgICAgICAvLyBiaXNoZXIga2VpbmVuIEZpbGwgLT4gRGVmYXVsdCB0cmFuc3BhcmVudCwgZ3J1 +ZW5lciBMYWJlbC1UZXh0KS4KICAgICAgICBoaW50ZXJncnVuZDogJycsIHRleHQ6ICcjMjU2MDI5 +JywKICAgICAgICBzY2hyaWZ0Z2V3aWNodDogNzAwLCBzY2hyaWZ0Z3JvZXNzZUZha3RvcjogMS4w +LAogICAgICAgIHJhaG1lbk9iZW46IDAsIHJhaG1lblVudGVuOiAwLCByYWhtZW5MaW5rczogMCwg +cmFobWVuUmVjaHRzOiAwLAogICAgICAgIHJhaG1lbkZhcmJlOiAnIzJFN0QzMicsCiAgICAgICAg +Z2xvd0ZhcmJlOiAnIzJFN0QzMicsIGdsb3dEZWNra3JhZnQ6IDAsIGdsb3dXZWl0ZTogMCwgZ2xv +d1B1bHM6IGZhbHNlLAogICAgICAgIC8vIGZlcmllbi1zcGV6aWZpc2NoOiBIaW50ZXJncnVuZC1U +b2VudW5nIGRlciBGZXJpZW50YWdlIGltIEdyaWQuCiAgICAgICAgc3BhbHRlSGludGVyZ3J1bmQ6 +ICcjRTBGMEU0JwogICAgfSwKICAgIGhldXRlU3BhbHRlOiB7CiAgICAgICAgaGludGVyZ3J1bmQ6 +ICcjRkZGNEQ0JywgdGV4dDogJycsCiAgICAgICAgc2NocmlmdGdld2ljaHQ6IDQwMCwgc2Nocmlm +dGdyb2Vzc2VGYWt0b3I6IDEuMCwKICAgICAgICByYWhtZW5PYmVuOiAwLCByYWhtZW5VbnRlbjog +MCwgcmFobWVuTGlua3M6IDIsIHJhaG1lblJlY2h0czogMiwKICAgICAgICByYWhtZW5GYXJiZTog +JyNENEEwMTcnLAogICAgICAgIGdsb3dGYXJiZTogJyNENEEwMTcnLCBnbG93RGVja2tyYWZ0OiAw +LCBnbG93V2VpdGU6IDAsIGdsb3dQdWxzOiBmYWxzZQogICAgfSwKICAgIHN5bmNGbGFzaDogewog +ICAgICAgIGhpbnRlcmdydW5kOiAnI0ZGRTY4MCcsIHRleHQ6ICcnLAogICAgICAgIHNjaHJpZnRn +ZXdpY2h0OiA0MDAsIHNjaHJpZnRncm9lc3NlRmFrdG9yOiAxLjAsCiAgICAgICAgcmFobWVuT2Jl +bjogMCwgcmFobWVuVW50ZW46IDAsIHJhaG1lbkxpbmtzOiAwLCByYWhtZW5SZWNodHM6IDAsCiAg +ICAgICAgcmFobWVuRmFyYmU6ICcjRDRBMDE3JywKICAgICAgICBnbG93RmFyYmU6ICcjRkZENzAw +JywgZ2xvd0RlY2trcmFmdDogMC44NSwgZ2xvd1dlaXRlOiAxMiwgZ2xvd1B1bHM6IGZhbHNlLAog +ICAgICAgIC8vIHN5bmNGbGFzaCBoYXQgYWxzIGVpbnppZ2UgTWFya2llcnVuZyBlaW5lIERhdWVy +IGluIG1zIOKAlCB3aWUgbGFuZ2UKICAgICAgICAvLyBkaWUgQW5pbWF0aW9uIGxhZXVmdCwgYmV2 +b3IgZGllIFplbGxlIGluIGRlbiBOb3JtYWx6dXN0YW5kIHp1cnVlY2stCiAgICAgICAgLy8ga2Vo +cnQuIFdpcmQgbnVyIGJlaSBzeW5jRmxhc2ggZ2VsZXNlbi4KICAgICAgICBkYXVlck1zOiAxNTAw +CiAgICB9Cn07CgovLyA9PT09PSBBdWZsb2VzZW4gPT09PT0KLy8gTWVyZ3QgVXNlci1XZXJ0ZSAo +Wi5hZG1pbi5tYXJraWVydW5nZW5ba2V5XSkgbWl0IERlZmF1bHRzIOKAlCBmZWhsZW5kZSBGZWxk +ZXIKLy8ga29tbWVuIGF1cyBkZW0gRGVmYXVsdC4KCmV4cG9ydCBmdW5jdGlvbiBtYXJraWVydW5n +QXVmbG9lc2VuKGtleSkgewogICAgdmFyIGRlZiA9IE1BUktJRVJVTkdFTl9ERUZBVUxUU1trZXld +IHx8IHt9OwogICAgdmFyIHVzZXIgPSAoWi5hZG1pbiAmJiBaLmFkbWluLm1hcmtpZXJ1bmdlbiAm +JiBaLmFkbWluLm1hcmtpZXJ1bmdlbltrZXldKSB8fCB7fTsKICAgIHZhciBvdXQgPSB7fTsKICAg +IE9iamVjdC5rZXlzKGRlZikuZm9yRWFjaChmdW5jdGlvbihrKSB7CiAgICAgICAgb3V0W2tdID0g +KGsgaW4gdXNlcikgPyB1c2VyW2tdIDogZGVmW2tdOwogICAgfSk7CiAgICByZXR1cm4gb3V0Owp9 +CgovLyA9PT09PSBDU1MtQW53ZW5kdW5nID09PT09Ci8vIFNldHp0IGZ1ZXIgamVkZW4gTWFya2ll +cnVuZ3N0eXAgZWluZSBHcnVwcGUgQ1NTLUN1c3RvbS1Qcm9wZXJ0aWVzIGFtCi8vIDpyb290LiBQ +cmFlZml4IC0tbWFyay08a2V5Pi08ZmVsZD4uIERpZSBzdHlsZS5jc3MtUmVnZWxuIGxlc2VuIGRp +ZXNlLgoKdmFyIENTU19QUkFFRklYID0gewogICAgc29uZGVydGFnSGlud2VpczogJ21oaW4nLAog +ICAgc29uZGVydGFnV2FybnVuZzogJ213YXInLAogICAgZmVpZXJ0YWdXaWNodGlnOiAgJ21md2kn +LAogICAgaGV1dGVTcGFsdGU6ICAgICAgJ21oZScsCiAgICBzeW5jRmxhc2g6ICAgICAgICAnbXNm +Jwp9Owp2YXIgUFVMU19BTklNX05BTUUgPSB7CiAgICBzb25kZXJ0YWdIaW53ZWlzOiAncHVsc0hp +bndlaXMnLAogICAgc29uZGVydGFnV2FybnVuZzogJ3B1bHNXYXJudW5nJywKICAgIGZlaWVydGFn +V2ljaHRpZzogICdwdWxzRmVpZXJ0YWcnLAogICAgaGV1dGVTcGFsdGU6ICAgICAgJ3B1bHNIZXV0 +ZScKICAgIC8vIHN5bmNGbGFzaCBoYXQgZWluZW4gZWlnZW5lbiBlaW5tYWxpZ2VuICd6ZWxsZS1m +bGFzaCctS2V5ZnJhbWUsIGtlaW4gUHVscwp9OwoKZnVuY3Rpb24gaGV4WnVSZ2JhKGhleCwgZGVj +a2tyYWZ0KSB7CiAgICBpZiAoIWhleCB8fCBoZXguY2hhckF0KDApICE9PSAnIycpIHJldHVybiAn +cmdiYSgwLDAsMCwnICsgZGVja2tyYWZ0ICsgJyknOwogICAgdmFyIGMgPSBoZXguc3Vic3RyKDEp +OwogICAgaWYgKGMubGVuZ3RoID09PSAzKSBjID0gYy5jaGFyQXQoMCkgKyBjLmNoYXJBdCgwKSAr +IGMuY2hhckF0KDEpICsgYy5jaGFyQXQoMSkgKyBjLmNoYXJBdCgyKSArIGMuY2hhckF0KDIpOwog +ICAgdmFyIHIgPSBwYXJzZUludChjLnN1YnN0cigwLDIpLCAxNiksIGcgPSBwYXJzZUludChjLnN1 +YnN0cigyLDIpLCAxNiksIGIgPSBwYXJzZUludChjLnN1YnN0cig0LDIpLCAxNik7CiAgICByZXR1 +cm4gJ3JnYmEoJyArIHIgKyAnLCcgKyBnICsgJywnICsgYiArICcsJyArIGRlY2trcmFmdCArICcp +JzsKfQoKZnVuY3Rpb24gYm94U2hhZG93QmF1ZW4obSkgewogICAgdmFyIHBhcnRzID0gW107CiAg +ICBpZiAobS5yYWhtZW5PYmVuICAgPiAwKSBwYXJ0cy5wdXNoKCdpbnNldCAwICcgICsgbS5yYWht +ZW5PYmVuICAgKyAncHggMCAnICsgbS5yYWhtZW5GYXJiZSk7CiAgICBpZiAobS5yYWhtZW5VbnRl +biAgPiAwKSBwYXJ0cy5wdXNoKCdpbnNldCAwIC0nICsgbS5yYWhtZW5VbnRlbiAgKyAncHggMCAn +ICsgbS5yYWhtZW5GYXJiZSk7CiAgICBpZiAobS5yYWhtZW5MaW5rcyAgPiAwKSBwYXJ0cy5wdXNo +KCdpbnNldCAnICAgKyBtLnJhaG1lbkxpbmtzICAgKyAncHggMCAwICcgKyBtLnJhaG1lbkZhcmJl +KTsKICAgIGlmIChtLnJhaG1lblJlY2h0cyA+IDApIHBhcnRzLnB1c2goJ2luc2V0IC0nICArIG0u +cmFobWVuUmVjaHRzICArICdweCAwIDAgJyArIG0ucmFobWVuRmFyYmUpOwogICAgaWYgKG0uZ2xv +d0RlY2trcmFmdCA+IDAgJiYgbS5nbG93V2VpdGUgPiAwKSB7CiAgICAgICAgcGFydHMucHVzaCgn +MCAwICcgKyBtLmdsb3dXZWl0ZSArICdweCAnICsgTWF0aC5tYXgoMCwgbS5nbG93V2VpdGUgLSA0 +KSArICdweCAnICsgaGV4WnVSZ2JhKG0uZ2xvd0ZhcmJlLCBtLmdsb3dEZWNra3JhZnQpKTsKICAg +IH0gZWxzZSBpZiAobS5nbG93RGVja2tyYWZ0ID4gMCkgewogICAgICAgIC8vIEdsb3cgb2huZSBX +ZWl0ZSAtPiAxcHggT3V0bGluZS1FZmZla3QKICAgICAgICBwYXJ0cy5wdXNoKCcwIDAgMCAxcHgg +JyArIGhleFp1UmdiYShtLmdsb3dGYXJiZSwgbS5nbG93RGVja2tyYWZ0KSk7CiAgICB9CiAgICBy +ZXR1cm4gcGFydHMubGVuZ3RoID8gcGFydHMuam9pbignLCAnKSA6ICdub25lJzsKfQoKLy8gUHVs +c2UtVmFyaWFudGU6IHN0YXJrZXJlciBHbG93IGltIDUwJS1LZXlmcmFtZSwgYW5oYW5kIGRlciBn +bGVpY2hlbgovLyBGYXJiLVdlcnRlIGFiZXIgaG9laGVyZXIgV2VpdGUgKyBEZWNra3JhZnQuIFdp +cmQgYWxzIHp3ZWl0ZSBCb3gtU2hhZG93LQovLyBEZWZpbml0aW9uIGdlbGllZmVydCwgZGllIGRp +ZSBBbmltYXRpb24gaW50ZXJwb2xpZXJ0LgpmdW5jdGlvbiBib3hTaGFkb3dQdWxzQmF1ZW4obSkg +ewogICAgdmFyIHBhcnRzID0gW107CiAgICBpZiAobS5yYWhtZW5PYmVuICAgPiAwKSBwYXJ0cy5w +dXNoKCdpbnNldCAwICcgICsgbS5yYWhtZW5PYmVuICAgKyAncHggMCAnICsgbS5yYWhtZW5GYXJi +ZSk7CiAgICBpZiAobS5yYWhtZW5VbnRlbiAgPiAwKSBwYXJ0cy5wdXNoKCdpbnNldCAwIC0nICsg +bS5yYWhtZW5VbnRlbiAgKyAncHggMCAnICsgbS5yYWhtZW5GYXJiZSk7CiAgICBpZiAobS5yYWht +ZW5MaW5rcyAgPiAwKSBwYXJ0cy5wdXNoKCdpbnNldCAnICAgKyBtLnJhaG1lbkxpbmtzICAgKyAn +cHggMCAwICcgKyBtLnJhaG1lbkZhcmJlKTsKICAgIGlmIChtLnJhaG1lblJlY2h0cyA+IDApIHBh +cnRzLnB1c2goJ2luc2V0IC0nICArIG0ucmFobWVuUmVjaHRzICArICdweCAwIDAgJyArIG0ucmFo +bWVuRmFyYmUpOwogICAgLy8gUHVsc2UtU3BpdHplOiBkb3BwZWx0ZSBXZWl0ZSwgZXR3YXMgd2Vu +aWdlciBEZWNra3JhZnQKICAgIHZhciBwdWxzV2VpdGUgPSBNYXRoLm1heCg2LCBtLmdsb3dXZWl0 +ZSAqIDIpOwogICAgcGFydHMucHVzaCgnMCAwICcgKyBwdWxzV2VpdGUgKyAncHggJyArIE1hdGgu +bWF4KDAsIHB1bHNXZWl0ZSAtIDQpICsgJ3B4ICcgKyBoZXhadVJnYmEobS5nbG93RmFyYmUsIE1h +dGgubWluKDEsIG0uZ2xvd0RlY2trcmFmdCArIDAuMSkpKTsKICAgIHJldHVybiBwYXJ0cy5qb2lu +KCcsICcpOwp9CgpleHBvcnQgZnVuY3Rpb24gbWFya2llcnVuZ2VuQW53ZW5kZW4oKSB7CiAgICB2 +YXIgcm9vdCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDsKICAgIE9iamVjdC5rZXlzKENTU19Q +UkFFRklYKS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkgewogICAgICAgIHZhciBwID0gJy0tJyArIENT +U19QUkFFRklYW2tleV07CiAgICAgICAgdmFyIG0gPSBtYXJraWVydW5nQXVmbG9lc2VuKGtleSk7 +CiAgICAgICAgcm9vdC5zdHlsZS5zZXRQcm9wZXJ0eShwICsgJy1iZycsICAgICAgICAgbS5oaW50 +ZXJncnVuZCB8fCAndHJhbnNwYXJlbnQnKTsKICAgICAgICByb290LnN0eWxlLnNldFByb3BlcnR5 +KHAgKyAnLXRleHQnLCAgICAgICBtLnRleHQgfHwgJ2luaGVyaXQnKTsKICAgICAgICByb290LnN0 +eWxlLnNldFByb3BlcnR5KHAgKyAnLWZ3JywgICAgICAgICBTdHJpbmcobS5zY2hyaWZ0Z2V3aWNo +dCB8fCA0MDApKTsKICAgICAgICByb290LnN0eWxlLnNldFByb3BlcnR5KHAgKyAnLWZzJywgICAg +ICAgICBTdHJpbmcobS5zY2hyaWZ0Z3JvZXNzZUZha3RvciB8fCAxKSk7CiAgICAgICAgcm9vdC5z +dHlsZS5zZXRQcm9wZXJ0eShwICsgJy1zaGFkb3cnLCAgICAgYm94U2hhZG93QmF1ZW4obSkpOwog +ICAgICAgIHJvb3Quc3R5bGUuc2V0UHJvcGVydHkocCArICctc2hhZG93LXB1bHMnLCBtLmdsb3dQ +dWxzID8gYm94U2hhZG93UHVsc0JhdWVuKG0pIDogYm94U2hhZG93QmF1ZW4obSkpOwogICAgICAg +IHZhciBhbmltTmFtZSA9IFBVTFNfQU5JTV9OQU1FW2tleV07CiAgICAgICAgcm9vdC5zdHlsZS5z +ZXRQcm9wZXJ0eShwICsgJy1hbmltJywgKG0uZ2xvd1B1bHMgJiYgYW5pbU5hbWUpID8gKGFuaW1O +YW1lICsgJyAzcyBlYXNlLWluLW91dCBpbmZpbml0ZScpIDogJ25vbmUnKTsKICAgIH0pOwogICAg +Ly8gU3luYy1GbGFzaC1EYXVlciBzZXBhcmF0IOKAlCB3aXJkIHZvbSBBbmltYXRpb25zLVRyaWdn +ZXIgaW4gc3luYy5qcwogICAgLy8gZ2VsZXNlbiAoZGF0YS1BdHRyaWJ1dCBhdWYgLnplbGxlLWZs +YXNoIHNldHp0IENTUy1BbmltYXRpb24tRGF1ZXIpLgogICAgdmFyIHNmID0gbWFya2llcnVuZ0F1 +ZmxvZXNlbignc3luY0ZsYXNoJyk7CiAgICByb290LnN0eWxlLnNldFByb3BlcnR5KCctLW1zZi1k +YXVlcicsIChzZi5kYXVlck1zIHx8IDE1MDApICsgJ21zJyk7CgogICAgLy8gRmVyaWVuIGdlc29u +ZGVydDogLS1tZmVyLSogc3RldWVybiBkZW4gQmFsa2VuIChLb3BmKSBVTkQgLS1tZmVyLXNwYWx0 +ZS1iZwogICAgLy8gZGllIFNwYWx0ZW4tVG9lbnVuZyBpbSBHcmlkLiBCZXd1c3N0IE5JQ0hUIGlt +IENTU19QUkFFRklYLUxvb3A6IGRpZSBWYXJzCiAgICAvLyB3ZXJkZW4gbnVyIGdlc2V0enQsIHdl +bm4gZGVyIFVzZXIgRmVyaWVuIHdpcmtsaWNoIGtvbmZpZ3VyaWVydCBoYXQg4oCUIHNvbnN0CiAg +ICAvLyBncmVpZmVuIGRpZSB0aGVtZS1zcGV6aWZpc2NoZW4gQ1NTLURlZmF1bHRzIChUYWcvTmFj +aHQpIGluIHN0eWxlLmNzcwogICAgLy8gd2VpdGVyIChzb25zdCB3dWVyZGUgZGFzIGhlbGxlIERl +ZmF1bHQtR3J1ZW4gYXVjaCBpbSBOYWNodG1vZHVzIGVyc2NoZWluZW4pLgogICAgdmFyIGZlclBy +b3BzID0gWyctLW1mZXItYmcnLCctLW1mZXItdGV4dCcsJy0tbWZlci1mdycsJy0tbWZlci1mcycs +Jy0tbWZlci1zaGFkb3cnLCctLW1mZXItc2hhZG93LXB1bHMnLCctLW1mZXItYW5pbScsJy0tbWZl +ci1zcGFsdGUtYmcnXTsKICAgIHZhciBmZXJLb25maWd1cmllcnQgPSAhIShaLmFkbWluICYmIFou +YWRtaW4ubWFya2llcnVuZ2VuICYmIFouYWRtaW4ubWFya2llcnVuZ2VuLmZlcmllbgogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICYmIE9iamVjdC5rZXlzKFouYWRtaW4ubWFya2llcnVuZ2Vu +LmZlcmllbikubGVuZ3RoKTsKICAgIGlmIChmZXJLb25maWd1cmllcnQpIHsKICAgICAgICB2YXIg +bWYgPSBtYXJraWVydW5nQXVmbG9lc2VuKCdmZXJpZW4nKTsKICAgICAgICByb290LnN0eWxlLnNl +dFByb3BlcnR5KCctLW1mZXItYmcnLCAgICAgICAgIG1mLmhpbnRlcmdydW5kIHx8ICd0cmFuc3Bh +cmVudCcpOwogICAgICAgIHJvb3Quc3R5bGUuc2V0UHJvcGVydHkoJy0tbWZlci10ZXh0JywgICAg +ICAgbWYudGV4dCB8fCAnaW5oZXJpdCcpOwogICAgICAgIHJvb3Quc3R5bGUuc2V0UHJvcGVydHko +Jy0tbWZlci1mdycsICAgICAgICAgU3RyaW5nKG1mLnNjaHJpZnRnZXdpY2h0IHx8IDcwMCkpOwog +ICAgICAgIHJvb3Quc3R5bGUuc2V0UHJvcGVydHkoJy0tbWZlci1mcycsICAgICAgICAgU3RyaW5n +KG1mLnNjaHJpZnRncm9lc3NlRmFrdG9yIHx8IDEpKTsKICAgICAgICByb290LnN0eWxlLnNldFBy +b3BlcnR5KCctLW1mZXItc2hhZG93JywgICAgIGJveFNoYWRvd0JhdWVuKG1mKSk7CiAgICAgICAg +cm9vdC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1tZmVyLXNoYWRvdy1wdWxzJywgbWYuZ2xvd1B1bHMg +PyBib3hTaGFkb3dQdWxzQmF1ZW4obWYpIDogYm94U2hhZG93QmF1ZW4obWYpKTsKICAgICAgICBy +b290LnN0eWxlLnNldFByb3BlcnR5KCctLW1mZXItYW5pbScsICAgICAgIG1mLmdsb3dQdWxzID8g +J3B1bHNGZXJpZW4gM3MgZWFzZS1pbi1vdXQgaW5maW5pdGUnIDogJ25vbmUnKTsKICAgICAgICBy +b290LnN0eWxlLnNldFByb3BlcnR5KCctLW1mZXItc3BhbHRlLWJnJywgIG1mLnNwYWx0ZUhpbnRl +cmdydW5kIHx8ICd0cmFuc3BhcmVudCcpOwogICAgfSBlbHNlIHsKICAgICAgICBmZXJQcm9wcy5m +b3JFYWNoKGZ1bmN0aW9uKHApIHsgcm9vdC5zdHlsZS5yZW1vdmVQcm9wZXJ0eShwKTsgfSk7CiAg +ICB9Cn0KCi8vID09PT09IEFkbWluLVVJOiBFZGl0b3IgKyBMaXZlLVZvcnNjaGF1ID09PT09Ci8v +Ci8vIExheW91dCAoendlaSBTcGFsdGVuKToKLy8gICDilIzilIDilIDilIDilIDilIDilIDilIDi +lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDi +lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi +lIDilIDilIDilIDilIDilIDilIDilJAKLy8gICDilIIgTGl2ZS1Wb3JzY2hhdSAgICAgICDilIIg +VGFiLUJhciAoNSBUeXBlbikgICAgICAgICAgICDilIIKLy8gICDilIIgKHN0aWNreSwgbGlua3Mp +ICAgICDilIIgRWRpdG9yIChha3RpdmVyIFR5cCByZWNodHMpICDilIIKLy8gICDilIIgIC0gNSBC +ZWlzcGllbHplaWxlbiDilIIgICAtIFNla3Rpb25lbiBIaW50ZXJncnVuZCAmICDilIIKLy8gICDi +lIIgIC0gRmxhc2gtVGVzdC1CdG4gICDilIIgICAgIFNjaHJpZnQgLyBSYWhtZW4gLyBHbG93ICDi +lIIKLy8gICDilIIgICAgICAgICAgICAgICAgICAgICDilIIgICAtIFJlc2V0LUtub3BmIChwcm8g +VHlwKSAgICDilIIKLy8gICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi +lIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilIDi +lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi +lIDilIDilJgKLy8gICBTdGlja3kgRm9vdGVyOiBTcGVpY2hlcm4gKHJlY2h0cykgKyBBbGxlIHp1 +cnVlY2tzZXR6ZW4gKGxpbmtzKQovLwovLyBUYWItU3RhdGUgaGFlbHQgZGVyIEVkaXRvciBzZWxi +c3QgKE1vZHVsZS1WYXIpLiBXaXJkIGJlaW0gUmUtUmVuZGVyCi8vIHVlYmVybm9tbWVuLCBkYW1p +dCBkZXIgS2xpY2sgYXVmICJTcGVpY2hlcm4iIG5pY2h0IHp1bSBlcnN0ZW4gVGFiCi8vIHp1cnVl +Y2tzcHJpbmd0LgoKdmFyIGFrdGl2ZXJUYWIgPSAnc29uZGVydGFnSGlud2Vpcyc7Ci8vIFNuYXBz +aG90IGRlcyBsZXR6dGVuIGdlc3BlaWNoZXJ0ZW4gU3RhbmRzIHZvbiBaLmFkbWluLm1hcmtpZXJ1 +bmdlbiDigJQgd2lyZAovLyBmdWVyICJWZXJ3ZXJmZW4iIGJlaW0gQmVzdGFldGlndW5ncy1Nb2Rh +bCBnZWJyYXVjaHQuIEJlaW0gZXJzdGVuIFJlbmRlcgovLyBpbml0aWFsIGdlc2V0enQsIGRhbmFj +aCBuYWNoIGplZGVtIFNwZWljaGVybiBha3R1YWxpc2llcnQuCnZhciBzbmFwc2hvdE1hcmtpZXJ1 +bmdlbiA9IG51bGw7CgpmdW5jdGlvbiBzbmFwc2hvdEFrdHVhbGlzaWVyZW4oKSB7CiAgICBzbmFw +c2hvdE1hcmtpZXJ1bmdlbiA9IEpTT04uc3RyaW5naWZ5KFouYWRtaW4ubWFya2llcnVuZ2VuIHx8 +IHt9KTsKfQoKZnVuY3Rpb24gZGlydHlUcmFja2VyU2ljaGVyc3RlbGxlbigpIHsKICAgIGlmIChk +aXJ0eUtlbm50KCdlcnNjaGVpbnVuZ3NiaWxkJykpIHJldHVybjsKICAgIGRpcnR5UmVnaXN0cmll +cmUoJ2Vyc2NoZWludW5nc2JpbGQnLCB7CiAgICAgICAgbGFiZWw6ICdFcnNjaGVpbnVuZ3NiaWxk +JywKICAgICAgICBidG5JZHM6IFsnZXJzY2hlaW51bmctc3BlaWNoZXJuJ10sCiAgICAgICAgc2F2 +ZUZuOiBmdW5jdGlvbigpIHsgcmV0dXJuIGVyc2NoZWludW5nc2JpbGRTcGVpY2hlcm4oKTsgfSwK +ICAgICAgICBkaXNjYXJkRm46IGZ1bmN0aW9uKCkgeyByZXR1cm4gZXJzY2hlaW51bmdzYmlsZFZl +cndlcmZlbigpOyB9CiAgICB9KTsKfQoKLy8gQmVpc3BpZWwtRGF0ZW4gZnVlciBkaWUgVm9yc2No +YXUtWmVpbGVuIChEYXR1bS9Xb2NoZW50YWcgcHJvIFR5cCkuCnZhciBWT1JTQ0hBVV9CRUlTUElF +TCA9IHsKICAgIHNvbmRlcnRhZ0hpbndlaXM6IHsgdGFnOiAnMjIuMDUuJywgd3Q6ICdNbycsIG5v +dGl6OiAnQnNwLiDigJ5IaW53ZWlzIi1UYWcnIH0sCiAgICBzb25kZXJ0YWdXYXJudW5nOiB7IHRh +ZzogJzIzLjA1LicsIHd0OiAnRGknLCBub3RpejogJ0JzcC4g4oCeV2FybnVuZyItVGFnJyB9LAog +ICAgZmVpZXJ0YWdXaWNodGlnOiAgeyB0YWc6ICcyNS4wNS4nLCB3dDogJ01vJywgbm90aXo6ICdC +c3AuIFBmaW5nc3Rtb250YWcnIH0sCiAgICBmZXJpZW46ICAgICAgICAgICB7IHRhZzogJzIwLjA3 +LicsIHd0OiAnTW8nLCBub3RpejogJ0JzcC4gU29tbWVyZmVyaWVuJyB9LAogICAgaGV1dGVTcGFs +dGU6ICAgICAgeyB0YWc6ICcyMy4wNS4nLCB3dDogJ0ZyJywgbm90aXo6ICdCc3AuIGhldXRpZ2Ug +VGFnZXNzcGFsdGUnIH0sCiAgICBzeW5jRmxhc2g6ICAgICAgICB7IHRhZzogJ0YtREdMJywgIHd0 +OiAnJywgICBub3RpejogJ0JzcC4gTGl2ZS1TeW5jLUF1ZmxldWNodGVuJyB9Cn07CgovLyA9PT09 +PSBGb3JtLUtvbXBvbmVudGVuID09PT09CgpmdW5jdGlvbiBmYXJicGlja2VySHRtbChrZXksIGZl +bGQsIHdlcnQsIGxlZXJFcmxhdWJ0KSB7CiAgICB2YXIgbGVlciA9ICghd2VydCB8fCB3ZXJ0ID09 +PSAnaW5oZXJpdCcgfHwgd2VydCA9PT0gJ3RyYW5zcGFyZW50Jyk7CiAgICB2YXIgZmFyYmUgPSBs +ZWVyID8gJyMwMDAwMDAnIDogd2VydDsKICAgIC8vIEtvbXBha3RlciBGYXJicGlja2VyOiAzMngy +OCBTd2F0Y2ggKyDDlyB6dW0gTGVlcmVuIChudXIgd2VubiBsZWVyRXJsYXVidCkuCiAgICAvLyBE +aXNhYmxlZC1TdGF0ZSB1ZWJlciBDU1MgdmlzdWVsbCBnZWRhZW1wZnQsIG5pY2h0IHVlYmVyIGRh +cyBIVE1MLWF0dHIg4oCUCiAgICAvLyBkYW1pdCBkZXIgS2xpY2stSGFuZGxlciBpbW1lciBmZXVl +cnQgdW5kIGRlciBUb2dnbGUgcmVhZ2llcmVuIGthbm4uCiAgICByZXR1cm4gJzxzcGFuIGNsYXNz +PSJlcnNjaGVpbnVuZy1mYXJiLXdyYXAnICsgKGxlZXIgPyAnIGxlZXInIDogJycpICsgJyI+JyAr +CiAgICAgICAgJzxpbnB1dCB0eXBlPSJjb2xvciIgY2xhc3M9ImVyc2NoZWludW5nLWlucHV0IGVy +c2NoZWludW5nLWZhcmIiIGRhdGEta2V5PSInICsga2V5ICsgJyIgZGF0YS1mZWxkPSInICsgZmVs +ZCArICciIHZhbHVlPSInICsgZXNjYXBlQXR0cihmYXJiZSkgKyAnIj4nICsKICAgICAgICAobGVl +ckVybGF1YnQKICAgICAgICAgICAgPyAnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJlcnNj +aGVpbnVuZy1mYXJiLXgiIGRhdGEta2V5PSInICsga2V5ICsgJyIgZGF0YS1mZWxkPSInICsgZmVs +ZCArICciIHRpdGxlPSJGYXJiZSBlbnRmZXJuZW4gLyBTdGFuZGFyZCB2ZXJ3ZW5kZW4iPicgKyAo +bGVlciA/ICcrJyA6ICfDlycpICsgJzwvYnV0dG9uPicKICAgICAgICAgICAgOiAnJykgKwogICAg +Jzwvc3Bhbj4nOwp9CgpmdW5jdGlvbiBzbGlkZXJIdG1sKGtleSwgZmVsZCwgd2VydCwgbWluLCBt +YXgsIHN0ZXAsIGVpbmhlaXQpIHsKICAgIC8vIFJhbmdlLVNsaWRlciArIHN5bmNocm9uaXNpZXJ0 +ZXIgTnVtYmVyLUlucHV0IChiZWlkZSB0cmFnZW4gZGVuc2VsYmVuCiAgICAvLyBkYXRhLWtleS9k +YXRhLWZlbGQ7IGVpbiBFdmVudC1IYW5kbGVyIGltIGFwcC5qcyBzcGllZ2VsdCBkZW4gV2VydCku +CiAgICB2YXIgdiA9ICh3ZXJ0ID09IG51bGwpID8gbWluIDogd2VydDsKICAgIHZhciBhdHRycyA9 +ICdkYXRhLWtleT0iJyArIGtleSArICciIGRhdGEtZmVsZD0iJyArIGZlbGQgKyAnIiBtaW49Iicg +KyBtaW4gKyAnIiBtYXg9IicgKyBtYXggKyAnIiBzdGVwPSInICsgc3RlcCArICciIHZhbHVlPSIn +ICsgZXNjYXBlQXR0cihTdHJpbmcodikpICsgJyInOwogICAgcmV0dXJuICc8ZGl2IGNsYXNzPSJl +cnNjaGVpbnVuZy1zbGlkZXItd3JhcCI+JyArCiAgICAgICAgJzxpbnB1dCB0eXBlPSJyYW5nZSIg +IGNsYXNzPSJlcnNjaGVpbnVuZy1pbnB1dCBlcnNjaGVpbnVuZy1pbnB1dC1yYW5nZSIgJyArIGF0 +dHJzICsgJz4nICsKICAgICAgICAnPGlucHV0IHR5cGU9Im51bWJlciIgY2xhc3M9ImVyc2NoZWlu +dW5nLWlucHV0IGVyc2NoZWludW5nLWlucHV0LW51bSIgICAnICsgYXR0cnMgKyAnPicgKwogICAg +ICAgIChlaW5oZWl0ID8gJzxzcGFuIGNsYXNzPSJlcnNjaGVpbnVuZy1laW5oZWl0Ij4nICsgZXNj +YXBlSFRNTChlaW5oZWl0KSArICc8L3NwYW4+JyA6ICcnKSArCiAgICAnPC9kaXY+JzsKfQoKZnVu +Y3Rpb24gc2VsZWN0SHRtbChrZXksIGZlbGQsIHdlcnQsIG9wdGlvbmVuKSB7CiAgICB2YXIgb3B0 +cyA9IG9wdGlvbmVuLm1hcChmdW5jdGlvbihvKSB7CiAgICAgICAgcmV0dXJuICc8b3B0aW9uIHZh +bHVlPSInICsgZXNjYXBlQXR0cihvLnYpICsgJyInICsgKFN0cmluZyhvLnYpID09PSBTdHJpbmco +d2VydCkgPyAnIHNlbGVjdGVkJyA6ICcnKSArICc+JyArIGVzY2FwZUhUTUwoby5sKSArICc8L29w +dGlvbj4nOwogICAgfSkuam9pbignJyk7CiAgICByZXR1cm4gJzxzZWxlY3QgY2xhc3M9ImVyc2No +ZWludW5nLWlucHV0IiBkYXRhLWtleT0iJyArIGtleSArICciIGRhdGEtZmVsZD0iJyArIGZlbGQg +KyAnIj4nICsgb3B0cyArICc8L3NlbGVjdD4nOwp9CgpmdW5jdGlvbiB0b2dnbGVIdG1sKGtleSwg +ZmVsZCwgd2VydCwgYmVzY2hyaWZ0dW5nKSB7CiAgICByZXR1cm4gJzxsYWJlbCBjbGFzcz0iZXJz +Y2hlaW51bmctdG9nZ2xlIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJlcnNjaGVpbnVu +Zy1pbnB1dCBlcnNjaGVpbnVuZy1pbnB1dC1jaGVjayIgZGF0YS1rZXk9IicgKyBrZXkgKyAnIiBk +YXRhLWZlbGQ9IicgKyBmZWxkICsgJyInICsgKHdlcnQgPyAnIGNoZWNrZWQnIDogJycpICsgJz48 +c3BhbiBjbGFzcz0iZXJzY2hlaW51bmctdG9nZ2xlLXJhaWwiPjwvc3Bhbj48c3BhbiBjbGFzcz0i +ZXJzY2hlaW51bmctdG9nZ2xlLWxhYmVsIj4nICsgZXNjYXBlSFRNTChiZXNjaHJpZnR1bmcgfHwg +KHdlcnQgPyAnQU4nIDogJ0FVUycpKSArICc8L3NwYW4+PC9sYWJlbD4nOwp9CgovLyA9PT09PSBW +b3JzY2hhdSAobGlua3MsIHN0aWNreSkgPT09PT0KCmZ1bmN0aW9uIHZvcnNjaGF1SHRtbCgpIHsK +ICAgIHZhciBzdGFjayA9ICcnOwogICAgTUFSS0lFUlVOR0VOX01FVEEuZm9yRWFjaChmdW5jdGlv +bihtZXRhKSB7CiAgICAgICAgdmFyIGIgPSBWT1JTQ0hBVV9CRUlTUElFTFttZXRhLmtleV0gfHwg +eyB0YWc6ICc/Jywgd3Q6ICc/Jywgbm90aXo6ICcnIH07CiAgICAgICAgdmFyIGFrdGl2ID0gKG1l +dGEua2V5ID09PSBha3RpdmVyVGFiKSA/ICcgYWt0aXYnIDogJyc7CiAgICAgICAgaWYgKG1ldGEu +a2V5ID09PSAnc3luY0ZsYXNoJykgewogICAgICAgICAgICBzdGFjayArPSAnPGRpdiBjbGFzcz0i +ZXJzY2hlaW51bmctdm9yc2NoYXUtemVpbGUnICsgYWt0aXYgKyAnIiBkYXRhLXR5cD0iJyArIG1l +dGEua2V5ICsgJyI+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iZXJzY2hlaW51bmct +dm9yc2NoYXUtY2VsbHMiPicgKwogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJlcnNj +aGVpbnVuZy12b3JzY2hhdS16ZWxsZSBlcnNjaGVpbnVuZy12b3JzY2hhdS1mbGFzaCIgZGF0YS12 +b3JzY2hhdS1rZXk9IicgKyBtZXRhLmtleSArICciPicgKyBlc2NhcGVIVE1MKGIudGFnKSArICc8 +L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8ZGl2 +IGNsYXNzPSJlcnNjaGVpbnVuZy12b3JzY2hhdS1tZXRhIj4nICsKICAgICAgICAgICAgICAgICAg +ICAnPGRpdiBjbGFzcz0iZXJzY2hlaW51bmctdm9yc2NoYXUtdHlwIj4nICsgZXNjYXBlSFRNTCht +ZXRhLmxhYmVsKSArICc8L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAnPGJ1dHRvbiB0eXBl +PSJidXR0b24iIGNsYXNzPSJlcnNjaGVpbnVuZy1mbGFzaC10ZXN0IGJ0bi1taW5pIj7ilrYgRmxh +c2ggdGVzdGVuPC9idXR0b24+JyArCiAgICAgICAgICAgICAgICAnPC9kaXY+JyArCiAgICAgICAg +ICAgICc8L2Rpdj4nOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHN0YWNrICs9ICc8ZGl2 +IGNsYXNzPSJlcnNjaGVpbnVuZy12b3JzY2hhdS16ZWlsZScgKyBha3RpdiArICciIGRhdGEtdHlw +PSInICsgbWV0YS5rZXkgKyAnIj4nICsKICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJlcnNj +aGVpbnVuZy12b3JzY2hhdS1jZWxscyI+JyArCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xh +c3M9ImVyc2NoZWludW5nLXZvcnNjaGF1LXplbGxlIiBkYXRhLXZvcnNjaGF1LWtleT0iJyArIG1l +dGEua2V5ICsgJyI+JyArIGVzY2FwZUhUTUwoYi50YWcpICsgJzwvZGl2PicgKwogICAgICAgICAg +ICAgICAgICAgICc8ZGl2IGNsYXNzPSJlcnNjaGVpbnVuZy12b3JzY2hhdS16ZWxsZSIgZGF0YS12 +b3JzY2hhdS1rZXk9IicgKyBtZXRhLmtleSArICciPicgKyBlc2NhcGVIVE1MKGIud3QpICsgJzwv +ZGl2PicgKwogICAgICAgICAgICAgICAgJzwvZGl2PicgKwogICAgICAgICAgICAgICAgJzxkaXYg +Y2xhc3M9ImVyc2NoZWludW5nLXZvcnNjaGF1LW1ldGEiPicgKwogICAgICAgICAgICAgICAgICAg +ICc8ZGl2IGNsYXNzPSJlcnNjaGVpbnVuZy12b3JzY2hhdS10eXAiPicgKyBlc2NhcGVIVE1MKG1l +dGEubGFiZWwpICsgJzwvZGl2PicgKwogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJl +cnNjaGVpbnVuZy12b3JzY2hhdS1ub3RpeiI+JyArIGVzY2FwZUhUTUwoYi5ub3RpeikgKyAnPC9k +aXY+JyArCiAgICAgICAgICAgICAgICAnPC9kaXY+JyArCiAgICAgICAgICAgICc8L2Rpdj4nOwog +ICAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuICc8YXNpZGUgY2xhc3M9ImVyc2NoZWludW5nLXZv +cnNjaGF1LXBhbmVsIj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0iZXJzY2hlaW51bmctdm9yc2No +YXUtdGl0ZWwiPkxpdmUtVm9yc2NoYXU8L2Rpdj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0iZXJz +Y2hlaW51bmctdm9yc2NoYXUtc3RhY2siPicgKyBzdGFjayArICc8L2Rpdj4nICsKICAgICAgICAn +PGRpdiBjbGFzcz0iZXJzY2hlaW51bmctdm9yc2NoYXUtaGlud2VpcyI+S2xpY2sgYXVmIGVpbmUg +WmVpbGUgd2VjaHNlbHQgZGVuIGFrdGl2ZW4gRWRpdG9yLVRhYi48L2Rpdj4nICsKICAgICc8L2Fz +aWRlPic7Cn0KCi8vID09PT09IFRhYi1CYXIgKHJlY2h0cyBvYmVuKSA9PT09PQovLyBKZWRlciBU +YWIgaXN0IGVpbmUgS2FydGUgbWl0IGVjaHRlciBWb3JzY2hhdSBkZXIgTWFya2llcnVuZyDigJQg +RGF0dW0rCi8vIFdvY2hlbnRhZyAoYW5hbG9nIFBsYW50YWZlbC1Lb3BmKSBiencuIFNjaGljaHRj +b2RlIGJlaSBTeW5jLUZsYXNoIOKAlAovLyB1bmQga3VyemVtIExhYmVsIGRhcnVudGVyLiBBa3Rp +dmUgS2FydGUgbWl0IGRpY2tlbSBBa3plbnQtQm9yZGVyLgoKZnVuY3Rpb24gdGFiQmFySHRtbCgp +IHsKICAgIHZhciB0YWJzID0gTUFSS0lFUlVOR0VOX01FVEEubWFwKGZ1bmN0aW9uKG1ldGEpIHsK +ICAgICAgICB2YXIgY2xzID0gJ2Vyc2NoZWludW5nLXRhYicgKyAobWV0YS5rZXkgPT09IGFrdGl2 +ZXJUYWIgPyAnIGFrdGl2JyA6ICcnKTsKICAgICAgICB2YXIgYiA9IFZPUlNDSEFVX0JFSVNQSUVM +W21ldGEua2V5XSB8fCB7IHRhZzogJz8nLCB3dDogJycgfTsKICAgICAgICB2YXIgY2hpcEluaGFs +dDsKICAgICAgICBpZiAobWV0YS5rZXkgPT09ICdzeW5jRmxhc2gnKSB7CiAgICAgICAgICAgIGNo +aXBJbmhhbHQgPQogICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJlcnNjaGVpbnVuZy10YWIt +Y2hpcC10ZXh0Ij4nICsgZXNjYXBlSFRNTChiLnRhZykgKyAnPC9zcGFuPic7CiAgICAgICAgfSBl +bHNlIHsKICAgICAgICAgICAgY2hpcEluaGFsdCA9CiAgICAgICAgICAgICAgICAnPHNwYW4gY2xh +c3M9ImVyc2NoZWludW5nLXRhYi1jaGlwLXRhZyI+JyArIGVzY2FwZUhUTUwoYi50YWcpICsgJzwv +c3Bhbj4nICsKICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0iZXJzY2hlaW51bmctdGFiLWNo +aXAtd3QiPicgKyBlc2NhcGVIVE1MKGIud3QpICsgJzwvc3Bhbj4nOwogICAgICAgIH0KICAgICAg +ICAvLyBMYWJlbCBpbiB6d2VpIFplaWxlbiBhdWZ0ZWlsZW4gYW0gR2VkYW5rZW5zdHJpY2gsIGRh +bWl0IEthcnRlbgogICAgICAgIC8vIGtvbnNpc3RlbnQgYnJlaXQgKyBMYWJlbCBnbGVpY2ggaG9j +aCB3aXJrZW4uCiAgICAgICAgdmFyIGxhYmVsVGVpbGUgPSBtZXRhLmxhYmVsLnNwbGl0KCcg4oCU +ICcpOwogICAgICAgIHZhciBsYWJlbEh0bWwgPSBsYWJlbFRlaWxlLmxlbmd0aCA+IDEKICAgICAg +ICAgICAgPyAnPHNwYW4gY2xhc3M9ImVyc2NoZWludW5nLXRhYi1sYWJlbC10b3AiPicgKyBlc2Nh +cGVIVE1MKGxhYmVsVGVpbGVbMF0pICsgJzwvc3Bhbj4nICsKICAgICAgICAgICAgICAnPHNwYW4g +Y2xhc3M9ImVyc2NoZWludW5nLXRhYi1sYWJlbC1ib3QiPicgKyBlc2NhcGVIVE1MKGxhYmVsVGVp +bGVbMV0pICsgJzwvc3Bhbj4nCiAgICAgICAgICAgIDogJzxzcGFuIGNsYXNzPSJlcnNjaGVpbnVu +Zy10YWItbGFiZWwtdG9wIj4nICsgZXNjYXBlSFRNTChtZXRhLmxhYmVsKSArICc8L3NwYW4+JzsK +ICAgICAgICByZXR1cm4gJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iJyArIGNscyArICci +IGRhdGEtZXJzY2hlaW51bmctdGFiPSInICsgbWV0YS5rZXkgKyAnIj4nICsKICAgICAgICAgICAg +JzxzcGFuIGNsYXNzPSJlcnNjaGVpbnVuZy10YWItY2hpcCIgZGF0YS12b3JzY2hhdS1rZXk9Iicg +KyBtZXRhLmtleSArICciPicgKyBjaGlwSW5oYWx0ICsgJzwvc3Bhbj4nICsKICAgICAgICAgICAg +JzxzcGFuIGNsYXNzPSJlcnNjaGVpbnVuZy10YWItbGFiZWwiPicgKyBsYWJlbEh0bWwgKyAnPC9z +cGFuPicgKwogICAgICAgICc8L2J1dHRvbj4nOwogICAgfSkuam9pbignJyk7CiAgICByZXR1cm4g +JzxkaXYgY2xhc3M9ImVyc2NoZWludW5nLXRhYi1iYXIiPicgKyB0YWJzICsgJzwvZGl2Pic7Cn0K +Ci8vID09PT09IEVkaXRvciAocmVjaHRzIHVudGVuLCBmdWVyIGFrdGl2ZW4gVHlwKSA9PT09PQoK +ZnVuY3Rpb24gZWRpdG9ySHRtbCgpIHsKICAgIHZhciBtZXRhID0gTUFSS0lFUlVOR0VOX01FVEEu +ZmluZChmdW5jdGlvbihtKSB7IHJldHVybiBtLmtleSA9PT0gYWt0aXZlclRhYjsgfSk7CiAgICBp +ZiAoIW1ldGEpIHJldHVybiAnJzsKICAgIHZhciBtID0gbWFya2llcnVuZ0F1ZmxvZXNlbihtZXRh +LmtleSk7CiAgICB2YXIgayA9IG1ldGEua2V5OwogICAgdmFyIHNjaHJpZnRnZXdpY2h0T3B0aW9u +ZW4gPSBbCiAgICAgICAgeyB2OiA0MDAsIGw6ICdOb3JtYWwnIH0sCiAgICAgICAgeyB2OiA1MDAs +IGw6ICdNZWRpdW0nIH0sCiAgICAgICAgeyB2OiA2MDAsIGw6ICdIYWxiZmV0dCcgfSwKICAgICAg +ICB7IHY6IDcwMCwgbDogJ0ZldHQnIH0sCiAgICAgICAgeyB2OiA4MDAsIGw6ICdFeHRyYSBGZXR0 +JyB9CiAgICBdOwoKICAgIGZ1bmN0aW9uIHNla3Rpb24odGl0ZWwsIGluaGFsdCkgewogICAgICAg +IHJldHVybiAnPHNlY3Rpb24gY2xhc3M9ImVyc2NoZWludW5nLXNla3Rpb24iPicgKwogICAgICAg +ICAgICAnPGgzIGNsYXNzPSJlcnNjaGVpbnVuZy1zZWt0aW9uLXRpdGVsIj4nICsgZXNjYXBlSFRN +TCh0aXRlbCkgKyAnPC9oMz4nICsKICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImVyc2NoZWludW5n +LXNla3Rpb24tZ3JpZCI+JyArIGluaGFsdCArICc8L2Rpdj4nICsKICAgICAgICAnPC9zZWN0aW9u +Pic7CiAgICB9CgogICAgZnVuY3Rpb24gZmVsZChsYWJlbCwgY29udHJvbCkgewogICAgICAgIHJl +dHVybiAnPGRpdiBjbGFzcz0iZXJzY2hlaW51bmctZmVsZCI+JyArCiAgICAgICAgICAgICc8bGFi +ZWwgY2xhc3M9ImVyc2NoZWludW5nLWZlbGQtbGFiZWwiPicgKyBlc2NhcGVIVE1MKGxhYmVsKSAr +ICc8L2xhYmVsPicgKwogICAgICAgICAgICAnPGRpdiBjbGFzcz0iZXJzY2hlaW51bmctZmVsZC1j +b250cm9sIj4nICsgY29udHJvbCArICc8L2Rpdj4nICsKICAgICAgICAnPC9kaXY+JzsKICAgIH0K +CiAgICB2YXIgaGludGVyZ3J1bmRTY2hyaWZ0ID0KICAgICAgICBmZWxkKEZFTERfTkFNRU4uaGlu +dGVyZ3J1bmQsICAgICAgICAgIGZhcmJwaWNrZXJIdG1sKGssICdoaW50ZXJncnVuZCcsIG0uaGlu +dGVyZ3J1bmQsIHRydWUpKSArCiAgICAgICAgZmVsZChGRUxEX05BTUVOLnRleHQsICAgICAgICAg +ICAgICAgICBmYXJicGlja2VySHRtbChrLCAndGV4dCcsICAgICAgICBtLnRleHQsICAgICAgICB0 +cnVlKSkgKwogICAgICAgIGZlbGQoRkVMRF9OQU1FTi5zY2hyaWZ0Z2V3aWNodCwgICAgICAgc2Vs +ZWN0SHRtbChrLCAnc2NocmlmdGdld2ljaHQnLCAgbS5zY2hyaWZ0Z2V3aWNodCwgc2NocmlmdGdl +d2ljaHRPcHRpb25lbikpICsKICAgICAgICBmZWxkKEZFTERfTkFNRU4uc2NocmlmdGdyb2Vzc2VG +YWt0b3IsIHNsaWRlckh0bWwoaywgJ3NjaHJpZnRncm9lc3NlRmFrdG9yJywgbS5zY2hyaWZ0Z3Jv +ZXNzZUZha3RvciwgMC44LCAxLjQsIDAuMDUsICfDlycpKSArCiAgICAgICAgLy8gRmVyaWVuIGhh +dCB6dXNhZXR6bGljaCBlaW5lIFNwYWx0ZW4tVG9lbnVuZyBmdWVyIGRpZSBGZXJpZW50YWdlIGlt +CiAgICAgICAgLy8gR3JpZCAoQmFsa2VuIG9iZW4gd2lyZCBkdXJjaCBIaW50ZXJncnVuZC9UZXh0 +Ly4uLiBnZXN0eWx0KS4KICAgICAgICAoayA9PT0gJ2ZlcmllbicgPyBmZWxkKEZFTERfTkFNRU4u +c3BhbHRlSGludGVyZ3J1bmQsIGZhcmJwaWNrZXJIdG1sKGssICdzcGFsdGVIaW50ZXJncnVuZCcs +IG0uc3BhbHRlSGludGVyZ3J1bmQsIHRydWUpKSA6ICcnKTsKCiAgICB2YXIgcmFobWVuID0KICAg +ICAgICBmZWxkKEZFTERfTkFNRU4ucmFobWVuT2JlbiwgICBzbGlkZXJIdG1sKGssICdyYWhtZW5P +YmVuJywgICBtLnJhaG1lbk9iZW4sICAgMCwgOCwgMSwgJ3B4JykpICsKICAgICAgICBmZWxkKEZF +TERfTkFNRU4ucmFobWVuVW50ZW4sICBzbGlkZXJIdG1sKGssICdyYWhtZW5VbnRlbicsICBtLnJh +aG1lblVudGVuLCAgMCwgOCwgMSwgJ3B4JykpICsKICAgICAgICBmZWxkKEZFTERfTkFNRU4ucmFo +bWVuTGlua3MsICBzbGlkZXJIdG1sKGssICdyYWhtZW5MaW5rcycsICBtLnJhaG1lbkxpbmtzLCAg +MCwgOCwgMSwgJ3B4JykpICsKICAgICAgICBmZWxkKEZFTERfTkFNRU4ucmFobWVuUmVjaHRzLCBz +bGlkZXJIdG1sKGssICdyYWhtZW5SZWNodHMnLCBtLnJhaG1lblJlY2h0cywgMCwgOCwgMSwgJ3B4 +JykpICsKICAgICAgICBmZWxkKEZFTERfTkFNRU4ucmFobWVuRmFyYmUsICBmYXJicGlja2VySHRt +bChrLCAncmFobWVuRmFyYmUnLCBtLnJhaG1lbkZhcmJlLCBmYWxzZSkpOwoKICAgIHZhciBnbG93 +ID0KICAgICAgICBmZWxkKEZFTERfTkFNRU4uZ2xvd0ZhcmJlLCAgICAgZmFyYnBpY2tlckh0bWwo +aywgJ2dsb3dGYXJiZScsIG0uZ2xvd0ZhcmJlLCBmYWxzZSkpICsKICAgICAgICBmZWxkKEZFTERf +TkFNRU4uZ2xvd0RlY2trcmFmdCwgc2xpZGVySHRtbChrLCAnZ2xvd0RlY2trcmFmdCcsIG0uZ2xv +d0RlY2trcmFmdCwgMCwgMSwgMC4wNSwgJycpKSArCiAgICAgICAgZmVsZChGRUxEX05BTUVOLmds +b3dXZWl0ZSwgICAgIHNsaWRlckh0bWwoaywgJ2dsb3dXZWl0ZScsIG0uZ2xvd1dlaXRlLCAwLCAy +NCwgMSwgJ3B4JykpICsKICAgICAgICBmZWxkKEZFTERfTkFNRU4uZ2xvd1B1bHMsICAgICAgdG9n +Z2xlSHRtbChrLCAnZ2xvd1B1bHMnLCBtLmdsb3dQdWxzLCBtLmdsb3dQdWxzID8gJ3B1bHNpZXJ0 +JyA6ICduaWNodCBwdWxzaWVyZW5kJykpOwoKICAgIHJldHVybiAnPGRpdiBjbGFzcz0iZXJzY2hl +aW51bmctZWRpdG9yIj4nICsKICAgICAgICAnPGhlYWRlciBjbGFzcz0iZXJzY2hlaW51bmctZWRp +dG9yLWtvcGYiPicgKwogICAgICAgICAgICAnPGRpdiBjbGFzcz0iZXJzY2hlaW51bmctZWRpdG9y +LXRpdGVsemVpbGUiPicgKwogICAgICAgICAgICAgICAgJzxoMiBjbGFzcz0iZXJzY2hlaW51bmct +ZWRpdG9yLXRpdGVsIj4nICsgZXNjYXBlSFRNTChtZXRhLmxhYmVsKSArICc8L2gyPicgKwogICAg +ICAgICAgICAgICAgJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuLW1pbmkgZXJzY2hl +aW51bmctdHlwLXJlc2V0IiBkYXRhLXR5cD0iJyArIGsgKyAnIj7ihrogRGllc2VuIFR5cCB6dXLD +vGNrc2V0emVuPC9idXR0b24+JyArCiAgICAgICAgICAgICc8L2Rpdj4nICsKICAgICAgICAgICAg +JzxwIGNsYXNzPSJlcnNjaGVpbnVuZy1lZGl0b3Itc3ViIj4nICsgZXNjYXBlSFRNTChtZXRhLmJl +c2NocmVpYnVuZykgKyAnPC9wPicgKwogICAgICAgICc8L2hlYWRlcj4nICsKICAgICAgICAnPGRp +diBjbGFzcz0iZXJzY2hlaW51bmctZWRpdG9yLWJvZHkiPicgKwogICAgICAgICAgICBzZWt0aW9u +KCdIaW50ZXJncnVuZCAmIFNjaHJpZnQnLCBoaW50ZXJncnVuZFNjaHJpZnQpICsKICAgICAgICAg +ICAgc2VrdGlvbignUmFobWVuJywgICAgICAgICAgICAgICAgcmFobWVuKSArCiAgICAgICAgICAg +IHNla3Rpb24oJ0dsb3cnICsgKGsgPT09ICdzeW5jRmxhc2gnID8gJyAmIEFuaW1hdGlvbicgOiAn +JyksIGdsb3cgKyAoayA9PT0gJ3N5bmNGbGFzaCcgPyBmZWxkKCdBbmltYXRpb25zLURhdWVyJywg +c2xpZGVySHRtbChrLCAnZGF1ZXJNcycsIG0uZGF1ZXJNcyB8fCAxNTAwLCAyMDAsIDUwMDAsIDEw +MCwgJ21zJykpIDogJycpKSArCiAgICAgICAgJzwvZGl2PicgKwogICAgJzwvZGl2Pic7Cn0KCi8v +ID09PT09IFJlbmRlci1FaW5zdGllZyA9PT09PQoKZXhwb3J0IGZ1bmN0aW9uIGVyc2NoZWludW5n +c2JpbGRSZW5kZXJuKCkgewogICAgdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn +ZXJzY2hlaW51bmdzYmlsZC1pbmhhbHQnKTsKICAgIGlmICghaG9zdCkgewogICAgICAgIGNvbnNv +bGUud2FybignW1ZJM10gRXJzY2hlaW51bmdzYmlsZDogQ29udGFpbmVyICNlcnNjaGVpbnVuZ3Ni +aWxkLWluaGFsdCBuaWNodCBpbSBET00gZ2VmdW5kZW4g4oCUIEVkaXRvciBrYW5uIG5pY2h0IGdl +cmVuZGVydCB3ZXJkZW4uIFNlcnZlci1Bc3NldC1DYWNoZSBtb2VnbGljaGVyd2Vpc2UgdmVyYWx0 +ZXQgKFNlcnZlciBuZXUgc3RhcnRlbiArIFN0cmcrU2hpZnQrUikuJyk7CiAgICAgICAgcmV0dXJu +OwogICAgfQogICAgaWYgKHNuYXBzaG90TWFya2llcnVuZ2VuID09PSBudWxsKSBzbmFwc2hvdEFr +dHVhbGlzaWVyZW4oKTsKICAgIGRpcnR5VHJhY2tlclNpY2hlcnN0ZWxsZW4oKTsKICAgIHRyeSB7 +CiAgICAgICAgaG9zdC5pbm5lckhUTUwgPQogICAgICAgICAgICAnPGRpdiBjbGFzcz0iZXJzY2hl +aW51bmctbGF5b3V0Ij4nICsKICAgICAgICAgICAgICAgIHZvcnNjaGF1SHRtbCgpICsKICAgICAg +ICAgICAgICAgICc8bWFpbiBjbGFzcz0iZXJzY2hlaW51bmctZWRpdG9yLXNwYWx0ZSI+JyArCiAg +ICAgICAgICAgICAgICAgICAgdGFiQmFySHRtbCgpICsKICAgICAgICAgICAgICAgICAgICBlZGl0 +b3JIdG1sKCkgKwogICAgICAgICAgICAgICAgJzwvbWFpbj4nICsKICAgICAgICAgICAgJzwvZGl2 +PicgKwogICAgICAgICAgICAnPGZvb3RlciBjbGFzcz0iZXJzY2hlaW51bmctZm9vdGVyIj4nICsK +ICAgICAgICAgICAgICAgICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tc2Vj +IiBpZD0iZXJzY2hlaW51bmctenVydWVja3NldHplbiI+QWxsZSBhdWYgU3RhbmRhcmQgenVyw7xj +a3NldHplbjwvYnV0dG9uPicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImVyc2NoZWlu +dW5nLWZvb3Rlci1pbmZvIj7DhG5kZXJ1bmdlbiB3aXJrZW4gc29mb3J0IGFscyBWb3JzY2hhdS4g +RXJzdCDigJ5TcGVpY2hlcm4iIHBlcnNpc3RpZXJ0IHNpZS48L2Rpdj4nICsKICAgICAgICAgICAg +ICAgICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgaWQ9ImVy +c2NoZWludW5nLXNwZWljaGVybiI+U3BlaWNoZXJuPC9idXR0b24+JyArCiAgICAgICAgICAgICc8 +L2Zvb3Rlcj4nOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tWSTNd +IEVyc2NoZWludW5nc2JpbGQtUmVuZGVyIGZlaGxnZXNjaGxhZ2VuOicsIGUpOwogICAgICAgIGhv +c3QuaW5uZXJIVE1MID0gJzxkaXYgc3R5bGU9InBhZGRpbmc6MTZweDtjb2xvcjojYjAyMDIwO2Jh +Y2tncm91bmQ6I2ZmZjRmNDtib3JkZXI6MXB4IHNvbGlkICNmMGMwYzA7Ym9yZGVyLXJhZGl1czo2 +cHgiPicgKwogICAgICAgICAgICAnPHN0cm9uZz5FZGl0b3Iga29ubnRlIG5pY2h0IGdlcmVuZGVy +dCB3ZXJkZW4uPC9zdHJvbmc+PGJyPicgKwogICAgICAgICAgICBlc2NhcGVIVE1MKGUgJiYgZS5t +ZXNzYWdlID8gZS5tZXNzYWdlIDogU3RyaW5nKGUpKSArCiAgICAgICAgICAgICc8YnI+PGJyPjxz +cGFuIHN0eWxlPSJmb250LXNpemU6MTFweDtjb2xvcjojNjY2Ij5EZXRhaWxzIGluIGRlciBEZXZU +b29scy1Lb25zb2xlIChGMTIpLjwvc3Bhbj48L2Rpdj4nOwogICAgfQp9CgovLyBXZWNoc2VsdCBk +ZW4gYWt0aXZlbiBUYWIgKEVkaXRvci1TcGFsdGUpIHVuZCByZS1yZW5kZXJ0IG9obmUgVm9yc2No +YXUgenUKLy8gcmVzZXR0ZW4gKFZvcnNjaGF1IGlzdCBvaG5laGluIHRoZW1lLXVlYmVyZ3JlaWZl +bmQgZ2VzcGllZ2VsdCkuCmV4cG9ydCBmdW5jdGlvbiBlcnNjaGVpbnVuZ3NUYWJXZWNoc2Vsbihu +ZXVlclRhYikgewogICAgaWYgKCFNQVJLSUVSVU5HRU5fTUVUQS5maW5kKGZ1bmN0aW9uKG0pIHsg +cmV0dXJuIG0ua2V5ID09PSBuZXVlclRhYjsgfSkpIHJldHVybjsKICAgIGFrdGl2ZXJUYWIgPSBu +ZXVlclRhYjsKICAgIGVyc2NoZWludW5nc2JpbGRSZW5kZXJuKCk7Cn0KCi8vIEVpbnplbG5lbiBU +eXAgYXVmIERlZmF1bHQgenVydWVja3NldHplbiAoaW4tbWVtb3J5OyBzcGVpY2hlcnQgZXJzdCBi +ZWltCi8vICJTcGVpY2hlcm4iLUtsaWNrKS4KZXhwb3J0IGZ1bmN0aW9uIGVyc2NoZWludW5nc1R5 +cFp1cnVlY2tzZXR6ZW4odHlwKSB7CiAgICBpZiAoWi5hZG1pbi5tYXJraWVydW5nZW4gJiYgWi5h +ZG1pbi5tYXJraWVydW5nZW5bdHlwXSkgewogICAgICAgIGRlbGV0ZSBaLmFkbWluLm1hcmtpZXJ1 +bmdlblt0eXBdOwogICAgfQogICAgbWFya2llcnVuZ2VuQW53ZW5kZW4oKTsKICAgIGVyc2NoZWlu +dW5nc2JpbGRSZW5kZXJuKCk7CiAgICBpZiAoZGlydHlLZW5udCgnZXJzY2hlaW51bmdzYmlsZCcp +KSB7CiAgICAgICAgdmFyIGpldHp0ID0gSlNPTi5zdHJpbmdpZnkoWi5hZG1pbi5tYXJraWVydW5n +ZW4gfHwge30pOwogICAgICAgIGRpcnR5U2V0emVuKCdlcnNjaGVpbnVuZ3NiaWxkJywgamV0enQg +IT09IHNuYXBzaG90TWFya2llcnVuZ2VuKTsKICAgIH0KfQoKLy8gRmFyYi1YLUJ1dHRvbjogVG9n +Z2xlIHp3aXNjaGVuICJGYXJiZSBnZXNldHp0IiB1bmQgIlN0YW5kYXJkIgpleHBvcnQgZnVuY3Rp +b24gZXJzY2hlaW51bmdGYXJiZVRvZ2dsZShrZXksIGZlbGQpIHsKICAgIGlmICghWi5hZG1pbi5t +YXJraWVydW5nZW4pIFouYWRtaW4ubWFya2llcnVuZ2VuID0ge307CiAgICBpZiAoIVouYWRtaW4u +bWFya2llcnVuZ2VuW2tleV0pIFouYWRtaW4ubWFya2llcnVuZ2VuW2tleV0gPSB7fTsKICAgIHZh +ciBha3R1ZWxsID0gWi5hZG1pbi5tYXJraWVydW5nZW5ba2V5XVtmZWxkXTsKICAgIGlmIChha3R1 +ZWxsID09PSAnJyB8fCBha3R1ZWxsID09PSBudWxsKSB7CiAgICAgICAgLy8gQXVmIERlZmF1bHQg +enVydWVja3NldHplbgogICAgICAgIGRlbGV0ZSBaLmFkbWluLm1hcmtpZXJ1bmdlbltrZXldW2Zl +bGRdOwogICAgfSBlbHNlIHsKICAgICAgICAvLyBMZWVyIHNldHplbgogICAgICAgIFouYWRtaW4u +bWFya2llcnVuZ2VuW2tleV1bZmVsZF0gPSAnJzsKICAgIH0KICAgIG1hcmtpZXJ1bmdlbkFud2Vu +ZGVuKCk7CiAgICBlcnNjaGVpbnVuZ3NiaWxkUmVuZGVybigpOwogICAgaWYgKGRpcnR5S2VubnQo +J2Vyc2NoZWludW5nc2JpbGQnKSkgewogICAgICAgIHZhciBqZXR6dCA9IEpTT04uc3RyaW5naWZ5 +KFouYWRtaW4ubWFya2llcnVuZ2VuIHx8IHt9KTsKICAgICAgICBkaXJ0eVNldHplbignZXJzY2hl +aW51bmdzYmlsZCcsIGpldHp0ICE9PSBzbmFwc2hvdE1hcmtpZXJ1bmdlbik7CiAgICB9Cn0KCi8v +ID09PT09IFdlcnRlIGVpbnNhbW1lbG4gKyBTcGVpY2hlcm4gPT09PT0KLy8KLy8gV2ljaHRpZzog +bnVyIGRpZSBpbSBET00gdm9yaGFuZGVuZW4gSW5wdXRzIHdlcmRlbiBhdXNnZWxlc2VuLiBEYSBk +ZXIKLy8gbmV1ZSBFZGl0b3IgamV3ZWlscyBudXIgZWluZW4gVHlwLUJsb2NrIHNpY2h0YmFyIHpl +aWd0IChUYWItU3dpdGNoZXIpLAovLyBkdWVyZmVuIG5pY2h0LXNpY2h0YmFyZSBUeXBlbiBOSUNI +VCBhdWYge30genVydWVja2dlc2V0enQgd2VyZGVuIOKAlCBkYWhlcgovLyBsaWVmZXJ0IGlucHV0 +c0F1c2xlc2VuKCkgZWluIHBhcnRpZWxsZXMgT2JqZWt0IHVuZCBkZXIgQXVmcnVmZXIgbWVyZ3Qu +CgpmdW5jdGlvbiBpbnB1dHNBdXNsZXNlbigpIHsKICAgIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0 +RWxlbWVudEJ5SWQoJ2Vyc2NoZWludW5nc2JpbGQtaW5oYWx0Jyk7CiAgICBpZiAoIWhvc3QpIHJl +dHVybiBudWxsOwogICAgdmFyIHJlc3VsdCA9IHt9OwogICAgdmFyIGlucHV0cyA9IGhvc3QucXVl +cnlTZWxlY3RvckFsbCgnLmVyc2NoZWludW5nLWlucHV0Jyk7CiAgICBpbnB1dHMuZm9yRWFjaChm +dW5jdGlvbihpbnApIHsKICAgICAgICB2YXIga2V5ID0gaW5wLmdldEF0dHJpYnV0ZSgnZGF0YS1r +ZXknKTsKICAgICAgICB2YXIgZmVsZCA9IGlucC5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmVsZCcpOwog +ICAgICAgIGlmICgha2V5IHx8ICFmZWxkKSByZXR1cm47CiAgICAgICAgdmFyIHdlcnQ7CiAgICAg +ICAgaWYgKGlucC50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgIHdlcnQgPSBpbnAu +Y2hlY2tlZDsKICAgICAgICB9IGVsc2UgaWYgKGlucC50eXBlID09PSAnbnVtYmVyJyB8fCBpbnAu +dHlwZSA9PT0gJ3JhbmdlJykgewogICAgICAgICAgICB3ZXJ0ID0gcGFyc2VGbG9hdChpbnAudmFs +dWUpOwogICAgICAgICAgICBpZiAoaXNOYU4od2VydCkpIHdlcnQgPSAwOwogICAgICAgIH0gZWxz +ZSBpZiAoaW5wLnR5cGUgPT09ICdjb2xvcicpIHsKICAgICAgICAgICAgLy8gRmFyYnBpY2tlci1X +cmFwIG1pdCBLbGFzc2UgLmxlZXIgPSAiU3RhbmRhcmQgdmVyd2VuZGVuIgogICAgICAgICAgICB2 +YXIgd3JhcCA9IGlucC5jbG9zZXN0KCcuZXJzY2hlaW51bmctZmFyYi13cmFwJyk7CiAgICAgICAg +ICAgIGlmICh3cmFwICYmIHdyYXAuY2xhc3NMaXN0LmNvbnRhaW5zKCdsZWVyJykpIHdlcnQgPSAn +JzsKICAgICAgICAgICAgZWxzZSB3ZXJ0ID0gaW5wLnZhbHVlOwogICAgICAgIH0gZWxzZSB7CiAg +ICAgICAgICAgIHdlcnQgPSBpbnAudmFsdWU7CiAgICAgICAgICAgIGlmIChmZWxkID09PSAnc2No +cmlmdGdld2ljaHQnKSB3ZXJ0ID0gcGFyc2VJbnQod2VydCwgMTApIHx8IDQwMDsKICAgICAgICB9 +CiAgICAgICAgaWYgKCFyZXN1bHRba2V5XSkgcmVzdWx0W2tleV0gPSB7fTsKICAgICAgICByZXN1 +bHRba2V5XVtmZWxkXSA9IHdlcnQ7CiAgICB9KTsKICAgIHJldHVybiByZXN1bHQ7Cn0KCi8vIE1l +cmdlLUhlbHBlcjogc2NocmVpYnQgbnVyIGRpZSBleHBsaXppdCBnZWxlc2VuZW4gRmVsZGVyIGlu +Ci8vIFouYWRtaW4ubWFya2llcnVuZ2VuIOKAlCBhbmRlcmUgVGFiLVdlcnRlIGJsZWliZW4gdW5h +bmdldGFzdGV0LgpmdW5jdGlvbiBtZXJnZU5hY2hTdGF0ZSh3ZXJ0ZSkgewogICAgaWYgKCF3ZXJ0 +ZSkgcmV0dXJuOwogICAgaWYgKCFaLmFkbWluLm1hcmtpZXJ1bmdlbikgWi5hZG1pbi5tYXJraWVy +dW5nZW4gPSB7fTsKICAgIE9iamVjdC5rZXlzKHdlcnRlKS5mb3JFYWNoKGZ1bmN0aW9uKGspIHsK +ICAgICAgICBpZiAoIVouYWRtaW4ubWFya2llcnVuZ2VuW2tdKSBaLmFkbWluLm1hcmtpZXJ1bmdl +bltrXSA9IHt9OwogICAgICAgIE9iamVjdC5rZXlzKHdlcnRlW2tdKS5mb3JFYWNoKGZ1bmN0aW9u +KGYpIHsKICAgICAgICAgICAgWi5hZG1pbi5tYXJraWVydW5nZW5ba11bZl0gPSB3ZXJ0ZVtrXVtm +XTsKICAgICAgICB9KTsKICAgIH0pOwp9CgpleHBvcnQgZnVuY3Rpb24gZXJzY2hlaW51bmdzYmls +ZFNwZWljaGVybigpIHsKICAgIC8vIEFrdGl2ZSBUYWItSW5wdXRzIGF1c2xlc2VuICsgaW4gWi5h +ZG1pbi5tYXJraWVydW5nZW4gbWVyZ2VuIChXZXJ0ZQogICAgLy8gYW5kZXJlciBUYWJzIHNpbmQg +ZG9ydCBkdXJjaCB2b3JhdXNnZWdhbmdlbmUgdm9yc2NoYXVBa3R1YWxpc2llcmVuLQogICAgLy8g +Q2FsbHMgYnp3LiBJbml0aWFsLUxvYWQgc2Nob24ga29ycmVrdCkuCiAgICBtZXJnZU5hY2hTdGF0 +ZShpbnB1dHNBdXNsZXNlbigpKTsKICAgIHJldHVybiBhcGlQdXQoJy9hcGkvYWRtaW4nLCBaLmFk +bWluKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgIHRvYXN0KCdFcnNjaGVpbnVuZ3NiaWxkIGdl +c3BlaWNoZXJ0JywgJ2VyZm9sZycpOwogICAgICAgIG1hcmtpZXJ1bmdlbkFud2VuZGVuKCk7CiAg +ICAgICAgc25hcHNob3RBa3R1YWxpc2llcmVuKCk7CiAgICAgICAgZGlydHlTZXR6ZW4oJ2Vyc2No +ZWludW5nc2JpbGQnLCBmYWxzZSk7CiAgICB9KS5jYXRjaChmdW5jdGlvbihlcnIpIHsKICAgICAg +ICB0b2FzdCgnU3BlaWNoZXJuIGZlaGxnZXNjaGxhZ2VuOiAnICsgKGVyciAmJiBlcnIubWVzc2Fn +ZSB8fCAndW5iZWthbm50JyksICdmZWhsZXInKTsKICAgICAgICB0aHJvdyBlcnI7CiAgICB9KTsK +fQoKZXhwb3J0IGZ1bmN0aW9uIGVyc2NoZWludW5nc2JpbGRadXJ1ZWNrc2V0emVuKCkgewogICAg +aWYgKFouYWRtaW4ubWFya2llcnVuZ2VuKSBkZWxldGUgWi5hZG1pbi5tYXJraWVydW5nZW47CiAg +ICByZXR1cm4gYXBpUHV0KCcvYXBpL2FkbWluJywgWi5hZG1pbikudGhlbihmdW5jdGlvbigpIHsK +ICAgICAgICB0b2FzdCgnQXVmIFN0YW5kYXJkIHp1csO8Y2tnZXNldHp0JywgJ2VyZm9sZycpOwog +ICAgICAgIG1hcmtpZXJ1bmdlbkFud2VuZGVuKCk7CiAgICAgICAgc25hcHNob3RBa3R1YWxpc2ll +cmVuKCk7CiAgICAgICAgZGlydHlTZXR6ZW4oJ2Vyc2NoZWludW5nc2JpbGQnLCBmYWxzZSk7CiAg +ICAgICAgZXJzY2hlaW51bmdzYmlsZFJlbmRlcm4oKTsKICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVy +cikgewogICAgICAgIHRvYXN0KCdadXLDvGNrc2V0emVuIGZlaGxnZXNjaGxhZ2VuOiAnICsgKGVy +ciAmJiBlcnIubWVzc2FnZSB8fCAndW5iZWthbm50JyksICdmZWhsZXInKTsKICAgIH0pOwp9Cgov +LyBWZXJ3aXJmdCBkaWUgaW4tbWVtb3J5LUFlbmRlcnVuZ2VuIHVuZCBzdGVsbHQgZGVuIGxldHp0 +ZW4gZ2VzcGVpY2hlcnRlbgovLyBTdGFuZCAoU25hcHNob3QpIHdpZWRlciBoZXIg4oCUIEF1ZnJ1 +ZmVyIGlzdCBkZXIgIlZlcndlcmZlbiItQnV0dG9uIGltCi8vIGRpcnR5UHJ1ZWZlbi1Nb2RhbCBi +ZWltIFZlcmxhc3NlbiBkZXMgVGFicy4KZXhwb3J0IGZ1bmN0aW9uIGVyc2NoZWludW5nc2JpbGRW +ZXJ3ZXJmZW4oKSB7CiAgICBpZiAoc25hcHNob3RNYXJraWVydW5nZW4pIHsKICAgICAgICB0cnkg +eyBaLmFkbWluLm1hcmtpZXJ1bmdlbiA9IEpTT04ucGFyc2Uoc25hcHNob3RNYXJraWVydW5nZW4p +OyB9CiAgICAgICAgY2F0Y2goZSkgeyBaLmFkbWluLm1hcmtpZXJ1bmdlbiA9IHt9OyB9CiAgICB9 +IGVsc2UgewogICAgICAgIGRlbGV0ZSBaLmFkbWluLm1hcmtpZXJ1bmdlbjsKICAgIH0KICAgIG1h +cmtpZXJ1bmdlbkFud2VuZGVuKCk7CiAgICBlcnNjaGVpbnVuZ3NiaWxkUmVuZGVybigpOwogICAg +cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwp9CgovLyA9PT09PSBMaXZlLVZvcnNjaGF1IGJlaSBq +ZWRlciBBZW5kZXJ1bmcgPT09PT0KLy8gV2lyZCB2b20gRXZlbnQtSGFuZGxlciBhdWZnZXJ1ZmVu +LCBvaG5lIHp1IHNwZWljaGVybi4KCmV4cG9ydCBmdW5jdGlvbiB2b3JzY2hhdUFrdHVhbGlzaWVy +ZW4oKSB7CiAgICAvLyBOdXIgZGllIGFrdHVlbGwgaW0gRE9NIHNpY2h0YmFyZW4gSW5wdXRzICg9 +IGFrdGl2ZXIgRWRpdG9yLVRhYikKICAgIC8vIGluIGRlbiBTdGF0ZSBtZXJnZW4uIFdlcnRlIGFu +ZGVyZXIgVGFicyBibGVpYmVuIHNvIGVyaGFsdGVuIOKAlAogICAgLy8gd2ljaHRpZywgd2VpbCBk +aWUgbmljaHQtc2ljaHRiYXJlbiBFZGl0b3JlbiBiZWltIFRhYi1Td2l0Y2gKICAgIC8vIHJlLXJl +bmRlcnQgd2VyZGVuIHVuZCBpaHJlIFdlcnRlIGF1cyBaLmFkbWluLm1hcmtpZXJ1bmdlbiB6aWVo +ZW4uCiAgICBtZXJnZU5hY2hTdGF0ZShpbnB1dHNBdXNsZXNlbigpKTsKICAgIG1hcmtpZXJ1bmdl +bkFud2VuZGVuKCk7CiAgICAvLyBTb2JhbGQgZGVyIFN0YXRlIHZvbSBTbmFwc2hvdCBhYndlaWNo +dCwgZ2lsdCBkZXIgVGFiIGFscyBkaXJ0eS4KICAgIC8vIFdpciB2ZXJnbGVpY2hlbiBKU09OLXNl +cmlhbGlzaWVydCDigJQgYXVzcmVpY2hlbmQgZ2VuYXUgZnVlciBkZW4gVXNlLQogICAgLy8gQ2Fz +ZSAoa2VpbmUgZ3Jvc3NlbiBPYmpla3RlLCBrZWluIFJlaWhlbmZvbGdlbi1BZXJnZXIpLgogICAg +aWYgKGRpcnR5S2VubnQoJ2Vyc2NoZWludW5nc2JpbGQnKSkgewogICAgICAgIHZhciBqZXR6dCA9 +IEpTT04uc3RyaW5naWZ5KFouYWRtaW4ubWFya2llcnVuZ2VuIHx8IHt9KTsKICAgICAgICBkaXJ0 +eVNldHplbignZXJzY2hlaW51bmdzYmlsZCcsIGpldHp0ICE9PSBzbmFwc2hvdE1hcmtpZXJ1bmdl +bik7CiAgICB9Cn0KCi8vID09PT09IFN5bmMtRmxhc2ggZ2V6aWVsdCBhYnNwaWVsZW4gPT09PT0K +Ly8gTWFudWVsbCB1ZWJlciBkZW4gIkZsYXNoLVZvcnNjaGF1IGFic3BpZWxlbiItQnV0dG9uLgoK +ZXhwb3J0IGZ1bmN0aW9uIHN5bmNGbGFzaFZvcnNjaGF1KCkgewogICAgdmFyIHplbGxlID0gZG9j +dW1lbnQucXVlcnlTZWxlY3RvcignLmVyc2NoZWludW5nLXZvcnNjaGF1LWZsYXNoJyk7CiAgICBp +ZiAoIXplbGxlKSByZXR1cm47CiAgICB6ZWxsZS5jbGFzc0xpc3QucmVtb3ZlKCd6ZWxsZS1mbGFz +aCcpOwogICAgdm9pZCB6ZWxsZS5vZmZzZXRXaWR0aDsKICAgIHplbGxlLmNsYXNzTGlzdC5hZGQo +J3plbGxlLWZsYXNoJyk7CiAgICB2YXIgc2YgPSBtYXJraWVydW5nQXVmbG9lc2VuKCdzeW5jRmxh +c2gnKTsKICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHplbGxlLmNsYXNzTGlzdC5yZW1vdmUo +J3plbGxlLWZsYXNoJyk7IH0sIChzZi5kYXVlck1zIHx8IDE1MDApICsgNTApOwp9Cg== +### FILE: js/admin_kalender.js | 26489 +Ly8gPT09IGFkbWluX2thbGVuZGVyLmpzID09PQovLyBQaGFzZSA5LUIgQzM6IGF1cyBhZG1pbi5q +cyBleHRyYWhpZXJ0LiBCdWVuZGVsdCBkaWUgZHJlaSBLYWxlbmRlci0KLy8gbmFoZW4gQWRtaW4t +RnVua3Rpb25lbjoKLy8gICAxLiBGZWllcnRhZ2UgKFouYWRtaW4uZmVpZXJ0YWdlKQovLyAgIDIu +IEZlcmllbiAoWi5hZG1pbi5mZXJpZW4pCi8vICAgMy4gU29uZGVydGVybWluZSAoWi5hZG1pbi5z +b25kZXJ0ZXJtaW5lIOKAlCBmcmVpIGRhdGllcmJhcmUgSGlud2Vpc2UKLy8gICAgICBhdWYgZWlu +emVsbmUgVGFnZSBvZGVyIFRhZ2VzYmVyZWljaGUsIFJpY2gtVGV4dCB2aWEgUlRFKQovLwovLyBF +eHRlcm5lciBLb25zdW1lbnQ6IHdvY2hlbnBsYW4uanMgaW1wb3J0aWVydCBzb25kZXJUaXRlbEF1 +c1RleHQKLy8gYXVzICcuL2FkbWluLmpzJyAoUGFzcy1UaHJvdWdoLVJlLUV4cG9ydCk7IGFiIFBo +YXNlIDktQiBDNSBkYW5uCi8vIGRpcmVrdCBhdXMgJy4vYWRtaW5fa2FsZW5kZXIuanMnLgoKaW1w +b3J0IHsgWiB9IGZyb20gJy4vY29yZV9zdGF0ZS5qcyc7CmltcG9ydCB7IGVzY2FwZUhUTUwsIGVz +Y2FwZUF0dHIsIGRhdHVtRm9ybWF0REUgfSBmcm9tICcuL2NvcmVfdXRpbC5qcyc7CmltcG9ydCB7 +IGFwaVB1dCB9IGZyb20gJy4vY29yZV9hcGkuanMnOwppbXBvcnQgeyB0YWJlbGxlRmVsZGVyTGVz +ZW4gfSBmcm9tICcuL2FkbWluX2NvbW1vbi5qcyc7CmltcG9ydCB7CnRvYXN0LCBiZXN0YWV0aWdl +biwKbW9kYWxaZWlnZW4sIG1vZGFsU2NobGllc3NlbiwKZW50d3VyZkxvZXNjaGVuCn0gZnJvbSAn +Li91aV9kaWFsb2cuanMnOwppbXBvcnQgewpzYW5pdGl6ZVJpY2hIdG1sLCBydGVJbml0LCBFTU9K +SV9TRVQsCmVtb2ppUGlja2VyWmVpZ2VuLCBlbW9qaVBpY2tlclNjaGxpZXNzZW4KfSBmcm9tICcu +L3VpX3J0ZS5qcyc7CmltcG9ydCB7CktBVEVHT1JJRV9JQ09OX0RFRkFVTFQsCmtvcGZSZW5kZXJu +LCB0YWdJbmZvc0JlcmVjaG5lbgp9IGZyb20gJy4vZ3JpZF9yZW5kZXIuanMnOwovLyBmZWF0dXJl +SXN0QWt0aXYgbGVidCBpbSBCb290c3RyYXAtVGVpbCB2b24gYWRtaW4uanMgKEZlYXR1cmUtVG9n +Z2xlcykuCi8vIFdpcmQgaGllciBmdWVyIGRhcyBzb25kZXJ0ZXJtaW5lV2ljaHRpZy1GbGFnIGdl +YnJhdWNodCAoU29uZGVydGVybWluLQovLyBNYXJraWVydW5nICd3aWNodGlnJyBVSSBvcHRpb25h +bCBlaW4tL2F1c2JsZW5kZW4pLgovLyBhZG1pbkVtcHR5WmVpbGU6IEVtcHR5LVN0YXRlLUthcnRl +IGFscyA8dHI+IGZ1ZXIgbGVlcmUgTGlzdGVuLgppbXBvcnQgeyBmZWF0dXJlSXN0QWt0aXYsIGFk +bWluRW1wdHlaZWlsZSB9IGZyb20gJy4vYWRtaW4uanMnOwoKLy8gPT09PT0gQWRtaW46IEZlaWVy +dGFnZSA9PT09PQoKdmFyIEZFSUVSVEFHX0tBVEVHT1JJRU4gPSBbJ2dlc2V0emxpY2gnLCAnanVl +ZGlzY2gnLCAnbXVzbGltaXNjaCcsICd0dWVya2lzY2gnXTsKdmFyIEZFSUVSVEFHX0tBVF9MQUJF +TCA9IHsKICAgIGdlc2V0emxpY2g6ICdHZXNldHpsaWNoIChOUlcpJywKICAgIGp1ZWRpc2NoOiAn +SsO8ZGlzY2gnLAogICAgbXVzbGltaXNjaDogJ011c2xpbWlzY2gnLAogICAgdHVlcmtpc2NoOiAn +VMO8cmtpc2NoJwp9OwoKZnVuY3Rpb24gZmVpZXJ0YWdlSmFocmVPcHRpb25lbigpIHsKICAgIC8v +IEVpbnppZ2FydGlnZSBKYWhyZSBhdXMgZGVuIHZvcmhhbmRlbmVuIERhdGVuICsgYWt0dWVsbGVz +IEphaHIgKwogICAgLy8gMjAyNi4uMjAzNSAoU3RhbmRhcmQtRGF0ZW5iYXNpcyksIGF1ZnN0ZWln +ZW5kLgogICAgdmFyIHNldCA9IHt9OwogICAgKFouYWRtaW4uZmVpZXJ0YWdlIHx8IFtdKS5mb3JF +YWNoKGZ1bmN0aW9uKGYpIHsKICAgICAgICBpZiAoZi5kYXR1bSAmJiBmLmRhdHVtLmxlbmd0aCA+ +PSA0KSBzZXRbZi5kYXR1bS5zdWJzdHIoMCwgNCldID0gdHJ1ZTsKICAgIH0pOwogICAgZm9yICh2 +YXIgaiA9IDIwMjY7IGogPD0gMjAzNTsgaisrKSBzZXRbU3RyaW5nKGopXSA9IHRydWU7CiAgICB2 +YXIgaGV1dGUgPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7CiAgICBzZXRbU3RyaW5nKGhldXRl +KV0gPSB0cnVlOwogICAgdmFyIGphaHJlID0gT2JqZWN0LmtleXMoc2V0KS5zb3J0KCk7CiAgICBy +ZXR1cm4gamFocmU7Cn0KCmV4cG9ydCBmdW5jdGlvbiBmZWllcnRhZ2VGaWx0ZXJGdWVsbGVuKCkg +ewogICAgdmFyIHNlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmZWllcnRhZ2UtZmlsdGVy +LWphaHInKTsKICAgIGlmICghc2VsKSByZXR1cm47CiAgICB2YXIgYWt0dWVsbCA9IHNlbC52YWx1 +ZSB8fCBTdHJpbmcoWi5hZG1pbi5qYWhyIHx8IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSk7CiAg +ICB2YXIgaHRtbCA9ICc8b3B0aW9uIHZhbHVlPSJhbGxlIj5BbGxlIEphaHJlPC9vcHRpb24+JzsK +ICAgIGZlaWVydGFnZUphaHJlT3B0aW9uZW4oKS5mb3JFYWNoKGZ1bmN0aW9uKGopIHsKICAgICAg +ICBodG1sICs9ICc8b3B0aW9uIHZhbHVlPSInICsgZXNjYXBlQXR0cihqKSArICciJyArIChqID09 +PSBha3R1ZWxsID8gJyBzZWxlY3RlZCcgOiAnJykgKyAnPicgKyBlc2NhcGVIVE1MKGopICsgJzwv +b3B0aW9uPic7CiAgICB9KTsKICAgIHNlbC5pbm5lckhUTUwgPSBodG1sOwp9CgpleHBvcnQgZnVu +Y3Rpb24gZmVpZXJ0YWdlVGFiZWxsZVJlbmRlcm4oKSB7CiAgICAvLyBTb3J0aWVydW5nOiBuYWNo +IERhdHVtLCBkYW5uIEthdGVnb3JpZS4gZGF0YS1pZHggPSBET00tUmVpaGVuZm9sZ2UsCiAgICAv +LyB3aXJkIGJlaW0gU2F2ZSBhbHMgbmV1ZXMgQXJyYXkgenVydWVja2dlc2NocmllYmVuICh2Z2wu +CiAgICAvLyBmZWllcnRhZ2VBdXNUYWJlbGxlTGVzZW4pLgogICAgdmFyIGxpc3RlID0gKFouYWRt +aW4uZmVpZXJ0YWdlIHx8IFtdKS5zbGljZSgpLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAg +IHJldHVybiAoYS5kYXR1bSB8fCAnJykubG9jYWxlQ29tcGFyZShiLmRhdHVtIHx8ICcnKTsKICAg +IH0pOwogICAgdmFyIGh0bWwgPSAnJzsKICAgIGxpc3RlLmZvckVhY2goZnVuY3Rpb24oZiwgaSkg +ewogICAgICAgIHZhciBrYXQgPSBmLmthdGVnb3JpZSB8fCAnZ2VzZXR6bGljaCc7CiAgICAgICAg +dmFyIGFrdGl2ID0gZi5ha3RpdiAhPT0gZmFsc2U7CiAgICAgICAgdmFyIGphaHIgPSAoZi5kYXR1 +bSB8fCAnJykuc3Vic3RyKDAsIDQpOwogICAgICAgIHZhciBiZXplaWNobnVuZyA9IGYuYmV6ZWlj +aG51bmcgfHwgZi5uYW1lIHx8ICcnOwogICAgICAgIC8vIEljb24tQW56ZWlnZTogYmVpIGxlZXJl +bSBGZWxkIHplaWd0IGRlciBCdXR0b24gZGFzIEthdGVnb3JpZS1EZWZhdWx0CiAgICAgICAgLy8g +KHZpc3VlbGxlIEtvbnNpc3RlbnopLiBEYXMgaGlkZGVuIGZpZWxkIGJsZWlidCBsZWVyLCBkYW1p +dCBkZXIKICAgICAgICAvLyBEZWZhdWx0IOKAnmxlYmVuZGlnIiBtaXQgZGVyIEthdGVnb3JpZSBt +aXR3YW5kZXJ0LgogICAgICAgIHZhciBpY29uV2VydCA9IGYuaWNvbiB8fCAnJzsKICAgICAgICB2 +YXIgaWNvbkFuemVpZ2UgPSBpY29uV2VydCB8fCBLQVRFR09SSUVfSUNPTl9ERUZBVUxUW2thdF0g +fHwgS0FURUdPUklFX0lDT05fREVGQVVMVC5nZXNldHpsaWNoOwogICAgICAgIHZhciByb3dDbHMg +PSAnZmVpZXJ0YWctcm93IGZlaWVydGFnLXJvdy1rYXQtJyArIGthdCArICcgZmVpZXJ0YWctcm93 +LWphaHItJyArIGphaHI7CiAgICAgICAgaWYgKCFha3Rpdikgcm93Q2xzICs9ICcgZmVpZXJ0YWct +cm93LWluYWt0aXYnOwogICAgICAgIGlmIChmLndpY2h0aWcpIHJvd0NscyArPSAnIGZlaWVydGFn +LXdpY2h0aWcnOwoKICAgICAgICB2YXIga2F0T3B0aW9ucyA9IEZFSUVSVEFHX0tBVEVHT1JJRU4u +bWFwKGZ1bmN0aW9uKGspIHsKICAgICAgICAgICAgcmV0dXJuICc8b3B0aW9uIHZhbHVlPSInICsg +ayArICciJyArIChrID09PSBrYXQgPyAnIHNlbGVjdGVkJyA6ICcnKSArICc+JyArIGVzY2FwZUhU +TUwoRkVJRVJUQUdfS0FUX0xBQkVMW2tdKSArICc8L29wdGlvbj4nOwogICAgICAgIH0pLmpvaW4o +JycpOwoKICAgICAgICBodG1sICs9ICc8dHIgY2xhc3M9IicgKyByb3dDbHMgKyAnIj4nICsKICAg +ICAgICAgICAgJzx0ZD48aW5wdXQgdHlwZT0iZGF0ZSIgdmFsdWU9IicgKyBlc2NhcGVBdHRyKGYu +ZGF0dW0gfHwgJycpICsgJyIgZGF0YS1pZHg9IicgKyBpICsgJyIgZGF0YS1mZWxkPSJkYXR1bSIg +Y2xhc3M9ImZlaWVydGFnLWlucHV0Ij48L3RkPicgKwogICAgICAgICAgICAnPHRkPjxpbnB1dCB0 +eXBlPSJ0ZXh0IiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIoYmV6ZWljaG51bmcpICsgJyIgZGF0YS1p +ZHg9IicgKyBpICsgJyIgZGF0YS1mZWxkPSJiZXplaWNobnVuZyIgY2xhc3M9ImZlaWVydGFnLWlu +cHV0IiBwbGFjZWhvbGRlcj0iQmV6ZWljaG51bmcuLi4iPjwvdGQ+JyArCiAgICAgICAgICAgICc8 +dGQgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj4nICsKICAgICAgICAgICAgICAgICc8YnV0dG9u +IHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImVtb2ppLWJ0biBmZWllcnRhZy1pY29uLWJ0biIgZGF0YS1p +ZHg9IicgKyBpICsgJyIgdGl0bGU9Ikljb24gd8OkaGxlbiAobGVlciA9IEthdGVnb3JpZS1EZWZh +dWx0KSI+JyArIGVzY2FwZUhUTUwoaWNvbkFuemVpZ2UpICsgJzwvYnV0dG9uPicgKwogICAgICAg +ICAgICAgICAgJzxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJmZWllcnRhZy1pbnB1dCIgZGF0 +YS1pZHg9IicgKyBpICsgJyIgZGF0YS1mZWxkPSJpY29uIiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIo +aWNvbldlcnQpICsgJyI+JyArCiAgICAgICAgICAgICc8L3RkPicgKwogICAgICAgICAgICAnPHRk +PjxzZWxlY3QgZGF0YS1pZHg9IicgKyBpICsgJyIgZGF0YS1mZWxkPSJrYXRlZ29yaWUiIGNsYXNz +PSJmZWllcnRhZy1pbnB1dCI+JyArIGthdE9wdGlvbnMgKyAnPC9zZWxlY3Q+PC90ZD4nICsKICAg +ICAgICAgICAgJzx0ZCBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIiPjxpbnB1dCB0eXBlPSJjaGVj +a2JveCInICsgKGFrdGl2ID8gJyBjaGVja2VkJyA6ICcnKSArICcgZGF0YS1pZHg9IicgKyBpICsg +JyIgZGF0YS1mZWxkPSJha3RpdiIgY2xhc3M9ImZlaWVydGFnLWlucHV0IiB0aXRsZT0iQW56ZWln +ZW4gLyBhdXNibGVuZGVuIj48L3RkPicgKwogICAgICAgICAgICAnPHRkIHN0eWxlPSJ0ZXh0LWFs +aWduOmNlbnRlciI+PGxhYmVsIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1m +bGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4IiB0aXRsZT0iQWxzIGJlc29uZGVycyB3aWNo +dGlnZW4gRmVpZXJ0YWcgbWFya2llcmVuICh2ZXJzdMOkcmt0ZSBIZXJ2b3JoZWJ1bmcgaW0gSGVh +ZGVyKSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IicgKyAoZi53aWNodGlnID8gJyBjaGVja2VkJyA6 +ICcnKSArICcgZGF0YS1pZHg9IicgKyBpICsgJyIgZGF0YS1mZWxkPSJ3aWNodGlnIiBjbGFzcz0i +ZmVpZXJ0YWctaW5wdXQiPiAnICsKICAgICAgICAgICAgKGYud2ljaHRpZyA/ICc8c3BhbiBjbGFz +cz0iZmVpZXJ0YWctd2ljaHRpZy1iYWRnZSI+V2ljaHRpZzwvc3Bhbj4nIDogJzxzcGFuIHN0eWxl +PSJmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKSI+4oCUPC9zcGFuPicpICsg +JzwvbGFiZWw+PC90ZD4nICsKICAgICAgICAgICAgJzx0ZD4nICsKICAgICAgICAgICAgICAgICc8 +aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0iZmVpZXJ0YWctaW5wdXQiIGRhdGEtaWR4PSInICsg +aSArICciIGRhdGEtZmVsZD0ia3VyemJlc2NocmVpYnVuZyIgdmFsdWU9IicgKyBlc2NhcGVBdHRy +KGYua3VyemJlc2NocmVpYnVuZyB8fCAnJykgKyAnIj4nICsKICAgICAgICAgICAgICAgICc8aW5w +dXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0iZmVpZXJ0YWctaW5wdXQiIGRhdGEtaWR4PSInICsgaSAr +ICciIGRhdGEtZmVsZD0iaW5mb1VybCIgdmFsdWU9IicgKyBlc2NhcGVBdHRyKGYuaW5mb1VybCB8 +fCAnJykgKyAnIj4nICsKICAgICAgICAgICAgICAgICc8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7 +Z2FwOjRweDtmbGV4LXdyYXA6d3JhcCI+JyArCiAgICAgICAgICAgICAgICAgICAgJzxidXR0b24g +Y2xhc3M9ImJ0biBidG4tc2VrIGJ0bi1rbGVpbiBmZWllcnRhZy1pbmZvLWJ0biIgZGF0YS1pZHg9 +IicgKyBpICsgJyIgdGl0bGU9IkJlc2NocmVpYnVuZyB1bmQgV2lraXBlZGlhLUxpbmsgYmVhcmJl +aXRlbiI+4pyOIEluZm88L2J1dHRvbj4nICsKICAgICAgICAgICAgICAgICAgICAnPGJ1dHRvbiBj +bGFzcz0iYnRuIGJ0bi1nZWZhaHIgYnRuLWtsZWluIGJ0bi1sb2VzY2hlbiIgZGF0YS1ha3Rpb249 +ImZlaWVydGFnLWxvZXNjaGVuIiBkYXRhLWlkeD0iJyArIGkgKyAnIiB0aXRsZT0iTMO2c2NoZW4i +PkzDtnNjaGVuPC9idXR0b24+JyArCiAgICAgICAgICAgICAgICAnPC9kaXY+JyArCiAgICAgICAg +ICAgICc8L3RkPjwvdHI+JzsKICAgIH0pOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zl +aWVydGFnZS10Ym9keScpLmlubmVySFRNTCA9IGh0bWw7CiAgICAvLyBMaXN0ZSBpbiBkZXIgZ2xl +aWNoZW4gUmVpaGVuZm9sZ2UgYWJsZWdlbiwgZGFtaXQgZGF0YS1pZHggenVyIEZvbGdlc2ljaHQg +cGFzc3QuCiAgICBaLmFkbWluLmZlaWVydGFnZSA9IGxpc3RlOwogICAgZmVpZXJ0YWdlRmlsdGVy +RnVlbGxlbigpOwogICAgZmVpZXJ0YWdlRmlsdGVyQW53ZW5kZW4oKTsKfQoKZXhwb3J0IGZ1bmN0 +aW9uIGZlaWVydGFnZUZpbHRlckFud2VuZGVuKCkgewogICAgdmFyIHRib2R5ID0gZG9jdW1lbnQu +Z2V0RWxlbWVudEJ5SWQoJ2ZlaWVydGFnZS10Ym9keScpOwogICAgaWYgKCF0Ym9keSkgcmV0dXJu +OwogICAgLy8gQmVzdGVoZW5kZSBGaWx0ZXItS2xhc3NlbiBlbnRmZXJuZW4KICAgIHRib2R5LmNs +YXNzTmFtZSA9IHRib2R5LmNsYXNzTmFtZS5yZXBsYWNlKC9ccypmaWx0ZXItKGthdC1cUyt8amFo +ci1cUyt8bnVyLWFrdGl2KS9nLCAnJykudHJpbSgpOwogICAgdmFyIGthdCA9IChkb2N1bWVudC5n +ZXRFbGVtZW50QnlJZCgnZmVpZXJ0YWdlLWZpbHRlci1rYXRlZ29yaWUnKSB8fCB7fSkudmFsdWUg +fHwgJ2FsbGUnOwogICAgdmFyIGphaHIgPSAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZlaWVy +dGFnZS1maWx0ZXItamFocicpIHx8IHt9KS52YWx1ZSB8fCAnYWxsZSc7CiAgICB2YXIgbnVyQWt0 +aXYgPSAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZlaWVydGFnZS1maWx0ZXItbnVyLWFrdGl2 +JykgfHwge30pLmNoZWNrZWQ7CiAgICB2YXIgYWRkID0gW107CiAgICBpZiAoa2F0ICE9PSAnYWxs +ZScpIGFkZC5wdXNoKCdmaWx0ZXIta2F0LScgKyBrYXQpOwogICAgaWYgKGphaHIgIT09ICdhbGxl +JykgYWRkLnB1c2goJ2ZpbHRlci1qYWhyLScgKyBqYWhyKTsKICAgIGlmIChudXJBa3RpdikgYWRk +LnB1c2goJ2ZpbHRlci1udXItYWt0aXYnKTsKICAgIGlmIChhZGQubGVuZ3RoKSB0Ym9keS5jbGFz +c05hbWUgPSAodGJvZHkuY2xhc3NOYW1lICsgJyAnICsgYWRkLmpvaW4oJyAnKSkudHJpbSgpOwp9 +CgpleHBvcnQgZnVuY3Rpb24gZmVpZXJ0YWdlQXVzVGFiZWxsZUxlc2VuKCkgewogICAgcmV0dXJu +IHRhYmVsbGVGZWxkZXJMZXNlbignZmVpZXJ0YWctaW5wdXQnLCB7IGJvb2xGZWxkZXI6IFsnd2lj +aHRpZycsICdha3RpdiddIH0pCiAgICAgICAgLmZpbHRlcihmdW5jdGlvbihmKSB7IHJldHVybiBm +LmRhdHVtICYmIGYuYmV6ZWljaG51bmc7IH0pCiAgICAgICAgLm1hcChmdW5jdGlvbihmKSB7CiAg +ICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICBkYXR1bTogZi5kYXR1bSwKICAgICAg +ICAgICAgICAgIGJlemVpY2hudW5nOiBmLmJlemVpY2hudW5nLAogICAgICAgICAgICAgICAga2F0 +ZWdvcmllOiBmLmthdGVnb3JpZSB8fCAnZ2VzZXR6bGljaCcsCiAgICAgICAgICAgICAgICBha3Rp +djogZi5ha3RpdiAhPT0gZmFsc2UsCiAgICAgICAgICAgICAgICB3aWNodGlnOiAhIWYud2ljaHRp +ZywKICAgICAgICAgICAgICAgIGljb246IGYuaWNvbiB8fCAnJywKICAgICAgICAgICAgICAgIGt1 +cnpiZXNjaHJlaWJ1bmc6IGYua3VyemJlc2NocmVpYnVuZyB8fCAnJywKICAgICAgICAgICAgICAg +IGluZm9Vcmw6IGYuaW5mb1VybCB8fCAnJwogICAgICAgICAgICB9OwogICAgICAgIH0pOwp9Cgov +LyBNb2RhbCB6dW0gQmVhcmJlaXRlbiBkZXIgRGV0YWlsLUZlbGRlciAoS3VyemJlc2NocmVpYnVu +ZyArIEluZm8tVVJMKS4KLy8gSW5kaXplcyByZWZlcmVuemllcmVuIGRpZSBET00tUmVpaGVuZm9s +Z2UgZGVyIFRhYmVsbGUsIGlkZW50aXNjaCB6dSBkZW4KLy8gYW5kZXJlbiBmZWllcnRhZy1pbnB1 +dCBkYXRhLWlkeC1XZXJ0ZW4uIFdlcnRlIHdlcmRlbiBpbiBkaWUgaGlkZGVuCi8vIEZpZWxkcyBn +ZXNjaHJpZWJlbiwgZGFtaXQgZmVpZXJ0YWdlQXVzVGFiZWxsZUxlc2VuIHNpZSBiZWltIFNwZWlj +aGVybgovLyBtaXRuaW1tdC4gRGlydHktVHJhY2tpbmcgbGFldWZ0IHVlYmVyIGRhcyBjaGFuZ2Ut +RXZlbnQgYXVmIGRlbiBoaWRkZW4KLy8gSW5wdXRzIChzaWVoZSBkaXJ0eVRyYWNrZXJFaW5yaWNo +dGVuKS4KZXhwb3J0IGZ1bmN0aW9uIGZlaWVydGFnZUluZm9Nb2RhbFplaWdlbihpZHgpIHsKICAg +IHZhciBoaWRkZW5LdXJ6ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmZlaWVydGFnLWlucHV0 +W2RhdGEtZmVsZD0ia3VyemJlc2NocmVpYnVuZyJdW2RhdGEtaWR4PSInICsgaWR4ICsgJyJdJyk7 +CiAgICB2YXIgaGlkZGVuVXJsICA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5mZWllcnRhZy1p +bnB1dFtkYXRhLWZlbGQ9ImluZm9VcmwiXVtkYXRhLWlkeD0iJyArIGlkeCArICciXScpOwogICAg +dmFyIGJleklucHV0ICAgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuZmVpZXJ0YWctaW5wdXRb +ZGF0YS1mZWxkPSJiZXplaWNobnVuZyJdW2RhdGEtaWR4PSInICsgaWR4ICsgJyJdJyk7CiAgICBp +ZiAoIWhpZGRlbkt1cnogfHwgIWhpZGRlblVybCkgcmV0dXJuOwogICAgdmFyIGJleiA9IGJleklu +cHV0ID8gYmV6SW5wdXQudmFsdWUgOiAnJzsKICAgIHZhciBrb2VycGVyID0gJzxkaXYgY2xhc3M9 +ImZvcm0tZ3J1cHBlIj48bGFiZWw+QmV6ZWljaG51bmc8L2xhYmVsPicgKwogICAgICAgICc8ZGl2 +IHN0eWxlPSJmb250LXNpemU6MTRweDtmb250LXdlaWdodDo2MDA7cGFkZGluZzo2cHggMCI+JyAr +IGVzY2FwZUhUTUwoYmV6IHx8ICcobGVlciknKSArICc8L2Rpdj48L2Rpdj4nICsKICAgICAgICAn +PGRpdiBjbGFzcz0iZm9ybS1ncnVwcGUiPjxsYWJlbCBmb3I9ImZ0LWluZm8ta3VyeiI+S3VyemJl +c2NocmVpYnVuZzwvbGFiZWw+JyArCiAgICAgICAgJzx0ZXh0YXJlYSBpZD0iZnQtaW5mby1rdXJ6 +IiBjbGFzcz0iZm9ybS1pbnB1dCIgcm93cz0iMyIgc3R5bGU9IndpZHRoOjEwMCUiIHBsYWNlaG9s +ZGVyPSIx4oCTMiBTw6R0emUuLi4iPicgKyBlc2NhcGVIVE1MKGhpZGRlbkt1cnoudmFsdWUpICsg +JzwvdGV4dGFyZWE+PC9kaXY+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9ImZvcm0tZ3J1cHBlIj48 +bGFiZWwgZm9yPSJmdC1pbmZvLXVybCI+SW5mby1VUkwgKHouQi4gV2lraXBlZGlhKTwvbGFiZWw+ +JyArCiAgICAgICAgJzxpbnB1dCBpZD0iZnQtaW5mby11cmwiIHR5cGU9InVybCIgY2xhc3M9ImZv +cm0taW5wdXQiIHN0eWxlPSJ3aWR0aDoxMDAlIiBwbGFjZWhvbGRlcj0iaHR0cHM6Ly9kZS53aWtp +cGVkaWEub3JnL3dpa2kvLi4uIiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIoaGlkZGVuVXJsLnZhbHVl +KSArICciPjwvZGl2Pic7CiAgICB2YXIgZnVzcyA9ICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXNl +ayBidG4ta2xlaW4iIGlkPSJmdC1pbmZvLWFiYnJlY2hlbiI+QWJicmVjaGVuPC9idXR0b24+JyAr +CiAgICAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXByaW1hZXIgYnRuLWtsZWlu +IiBpZD0iZnQtaW5mby11ZWJlcm5laG1lbiI+w5xiZXJuZWhtZW48L2J1dHRvbj4nOwogICAgbW9k +YWxaZWlnZW4oJ0ZlaWVydGFnLUluZm8gYmVhcmJlaXRlbicsIGtvZXJwZXIsIGZ1c3MpOwogICAg +ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Z0LWluZm8tYWJicmVjaGVuJykuYWRkRXZlbnRMaXN0 +ZW5lcignY2xpY2snLCBtb2RhbFNjaGxpZXNzZW4pOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 +SWQoJ2Z0LWluZm8tdWViZXJuZWhtZW4nKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0 +aW9uKCkgewogICAgICAgIGhpZGRlbkt1cnoudmFsdWUgPSAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 +SWQoJ2Z0LWluZm8ta3VyeicpLnZhbHVlIHx8ICcnKS50cmltKCk7CiAgICAgICAgaGlkZGVuVXJs +LnZhbHVlICA9IChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnQtaW5mby11cmwnKS52YWx1ZSB8 +fCAnJykudHJpbSgpOwogICAgICAgIC8vIGNoYW5nZS1FdmVudCBhdXNsb2VzZW4sIGRhbWl0IGRl +ciBEaXJ0eS1UcmFja2VyIGdyZWlmdC4KICAgICAgICBoaWRkZW5LdXJ6LmRpc3BhdGNoRXZlbnQo +bmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpOwogICAgICAgIGhpZGRlblVy +bC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTsK +ICAgICAgICBtb2RhbFNjaGxpZXNzZW4odHJ1ZSk7CiAgICB9KTsKfQoKLy8gPT09PT0gQWRtaW46 +IEZlcmllbiA9PT09PQoKZXhwb3J0IGZ1bmN0aW9uIGZlcmllblRhYmVsbGVSZW5kZXJuKCkgewog +ICAgdmFyIHRib2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zlcmllbi10Ym9keScpOwog +ICAgaWYgKCF0Ym9keSkgcmV0dXJuOwogICAgaWYgKCEoWi5hZG1pbi5mZXJpZW4gfHwgW10pLmxl +bmd0aCkgewogICAgICAgIHRib2R5LmlubmVySFRNTCA9IGFkbWluRW1wdHlaZWlsZSg0LCAnXHV7 +MUYzRDZ977iPJywKICAgICAgICAgICAgJ05vY2gga2VpbmUgRmVyaWVuemVpdHLDpHVtZSBlcmZh +c3N0JywKICAgICAgICAgICAgJ05SVy1TY2h1bGZlcmllbiB3ZXJkZW4gaW0gV29jaGVucGxhbiBt +YXJraWVydCB1bmQgaGVsZmVuIGJlaSBkZXIgVXJsYXVic3ZlcmdhYmUuIEVpbnRyYWdlbiBtaXQg +Vm9uLS9CaXMtRGF0dW0gdW5kIEJlemVpY2hudW5nICh6LkIuIE9zdGVyZmVyaWVuIDMwLjAzLuKA +kzExLjA0LikuIEtsaWNrZSBvYmVuIGF1ZiDigJ5OZXVlciBGZXJpZW56ZWl0cmF1bSIuJyk7CiAg +ICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIGh0bWwgPSAnJzsKICAgIChaLmFkbWluLmZlcmll +biB8fCBbXSkuZm9yRWFjaChmdW5jdGlvbihmLCBpKSB7CiAgICAgICAgaHRtbCArPSAnPHRyPjx0 +ZD48aW5wdXQgdHlwZT0iZGF0ZSIgdmFsdWU9IicgKyBlc2NhcGVBdHRyKGYudm9uIHx8ICcnKSAr +ICciIGRhdGEtaWR4PSInICsgaSArICciIGRhdGEtZmVsZD0idm9uIiBjbGFzcz0iZmVyaWVuLWlu +cHV0Ij48L3RkPicgKwogICAgICAgICAgICAnPHRkPjxpbnB1dCB0eXBlPSJkYXRlIiB2YWx1ZT0i +JyArIGVzY2FwZUF0dHIoZi5iaXMgfHwgJycpICsgJyIgZGF0YS1pZHg9IicgKyBpICsgJyIgZGF0 +YS1mZWxkPSJiaXMiIGNsYXNzPSJmZXJpZW4taW5wdXQiPjwvdGQ+JyArCiAgICAgICAgICAgICc8 +dGQ+PGlucHV0IHR5cGU9InRleHQiIHZhbHVlPSInICsgZXNjYXBlQXR0cihmLm5hbWUpICsgJyIg +ZGF0YS1pZHg9IicgKyBpICsgJyIgZGF0YS1mZWxkPSJuYW1lIiBjbGFzcz0iZmVyaWVuLWlucHV0 +Ij48L3RkPicgKwogICAgICAgICAgICAnPHRkPjxidXR0b24gY2xhc3M9ImJ0biBidG4tZ2VmYWhy +IGJ0bi1rbGVpbiBidG4tbG9lc2NoZW4iIGRhdGEtYWt0aW9uPSJmZXJpZW4tbG9lc2NoZW4iIGRh +dGEtaWR4PSInICsgaSArICciIHRpdGxlPSJMw7ZzY2hlbiI+TMO2c2NoZW48L2J1dHRvbj48L3Rk +PjwvdHI+JzsKICAgIH0pOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zlcmllbi10Ym9k +eScpLmlubmVySFRNTCA9IGh0bWw7Cn0KCmV4cG9ydCBmdW5jdGlvbiBmZXJpZW5BdXNUYWJlbGxl +TGVzZW4oKSB7CiAgICByZXR1cm4gdGFiZWxsZUZlbGRlckxlc2VuKCdmZXJpZW4taW5wdXQnKQog +ICAgICAgIC5maWx0ZXIoZnVuY3Rpb24oZikgeyByZXR1cm4gZi52b24gJiYgZi5iaXMgJiYgZi5u +YW1lOyB9KTsKfQoKLy8gPT09PT0gQWRtaW46IFNvbmRlcnRlcm1pbmUgPT09PT0KCmV4cG9ydCBm +dW5jdGlvbiBzb25kZXJ0ZXJtaW5lUmVuZGVybigpIHsKICAgIC8vICJNYXJraWVydW5nIi1TcGFs +dGUgKENoZXJyeS1QaWNrIDg0ZmIwZjcsIGhpbnRlciBUb2dnbGUKICAgIC8vIGBmZWF0dXJlcy5z +b25kZXJ0ZXJtaW5lV2ljaHRpZ2ApLiBCYWNrd2FyZHMtY29tcGF0OiBFaW50cmFlZ2UgbWl0CiAg +ICAvLyBhbHRlbiBgdHlwOid3YXJudW5nJ2Agd2VyZGVuIGFscyAid2ljaHRpZyIgZXJrYW5udC4K +ICAgIHZhciB3aWNodGlnVUkgPSBmZWF0dXJlSXN0QWt0aXYoJ3NvbmRlcnRlcm1pbmVXaWNodGln +Jyk7CiAgICB2YXIgbGlzdGUgPSAoWi5hZG1pbi5zb25kZXJ0ZXJtaW5lIHx8IFtdKS5zbGljZSgp +LnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiAoYS5kYXR1bSB8fCAnJykubG9j +YWxlQ29tcGFyZShiLmRhdHVtIHx8ICcnKTsKICAgIH0pOwogICAgdmFyIGh0bWwgPSAnJzsKICAg +IGlmIChsaXN0ZS5sZW5ndGggPT09IDApIHsKICAgICAgICBodG1sID0gYWRtaW5FbXB0eVplaWxl +KDYsICdcdXsxRjRDNX0nLAogICAgICAgICAgICAnTm9jaCBrZWluZSBTb25kZXJ0ZXJtaW5lIGFu +Z2VsZWd0JywKICAgICAgICAgICAgJ1NvbmRlcnRlcm1pbmUgc2luZCBIaW53ZWlzZSBvZGVyIFdh +cm51bmdlbiwgZGllIGFuIGJlc3RpbW10ZW4gVGFnZW4gZnVlciBhbGxlIHNpY2h0YmFyIHdlcmRl +biDigJQgVmVyYW5zdGFsdHVuZ2VuLCBlcmhvZWh0ZXIgUGVyc29uYWxiZWRhcmYsIFNwZXJydGVy +bWluZS4gS2xpY2tlIG9iZW4gYXVmIOKAnk5ldWVyIEhpbndlaXMiLCB1bSBkZW4gZXJzdGVuIHp1 +IGVyc3RlbGxlbi4nKTsKICAgIH0KICAgIGxpc3RlLmZvckVhY2goZnVuY3Rpb24ocykgewogICAg +ICAgIGlmICghcy5pZCkgcy5pZCA9ICdzdF8nICsgKHMuZGF0dW0gfHwgJ3gnKSArICdfJyArIE1h +dGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyLCA2KTsKICAgICAgICB2YXIgaWNvbkh0 +bWwgPSBzLmljb24gPyBlc2NhcGVIVE1MKHMuaWNvbikgOiAn4oCUJzsKICAgICAgICB2YXIgaWNv +bkNscyA9IHMuaWNvbiA/ICdzb25kZXItaWNvbi16ZWxsZScgOiAnc29uZGVyLWljb24temVsbGUg +bGVlcic7CiAgICAgICAgdmFyIGlzdFdpY2h0aWcgPSAhIXMud2ljaHRpZyB8fCBzLnR5cCA9PT0g +J3dhcm51bmcnOwogICAgICAgIHZhciB0eXBMYWJlbCwgdHlwQmFkZ2U7CiAgICAgICAgaWYgKHdp +Y2h0aWdVSSkgewogICAgICAgICAgICB0eXBMYWJlbCA9IGlzdFdpY2h0aWcgPyAnV2ljaHRpZycg +OiAnU3RhbmRhcmQnOwogICAgICAgICAgICB0eXBCYWRnZSA9IGlzdFdpY2h0aWcgPyAnc29uZGVy +LXR5cC13YXJuJyA6ICdzb25kZXItdHlwLWluZm8nOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAg +ICAgIHR5cExhYmVsID0gcy50eXAgPT09ICd3YXJudW5nJyA/ICdXYXJudW5nJyA6ICdIaW53ZWlz +JzsKICAgICAgICAgICAgdHlwQmFkZ2UgPSBzLnR5cCA9PT0gJ3dhcm51bmcnID8gJ3NvbmRlci10 +eXAtd2FybicgOiAnc29uZGVyLXR5cC1pbmZvJzsKICAgICAgICB9CiAgICAgICAgdmFyIHdtID0g +cy53YXJuTW9kdXMgfHwgJ2ltbWVyJzsKICAgICAgICB2YXIgd21MYWJlbCA9IHdtID09PSAnaW1t +ZXInID8gJ0ltbWVyJyA6ICh3bSA9PT0gJ2Vpbm1hbGlnJyA/ICdFaW5tYWxpZyAvIFVzZXInIDog +J0F1cycpOwogICAgICAgIHZhciB0aXRlbCA9IHMudGl0ZWwgfHwgc29uZGVyVGl0ZWxBdXNUZXh0 +KHMudGV4dCkgfHwgJyhvaG5lIFRpdGVsKSc7CiAgICAgICAgaHRtbCArPSAnPHRyPicgKwogICAg +ICAgICAgICAnPHRkPjxzcGFuIGNsYXNzPSInICsgaWNvbkNscyArICciPicgKyBpY29uSHRtbCAr +ICc8L3NwYW4+PC90ZD4nICsKICAgICAgICAgICAgJzx0ZD4nICsgZXNjYXBlSFRNTChzb25kZXJE +YXR1bUxhYmVsKHMpKSArICc8L3RkPicgKwogICAgICAgICAgICAnPHRkPicgKyBlc2NhcGVIVE1M +KHRpdGVsKSArICc8L3RkPicgKwogICAgICAgICAgICAnPHRkPjxzcGFuIGNsYXNzPSJzb25kZXIt +dHlwLWJhZGdlICcgKyB0eXBCYWRnZSArICciPicgKyB0eXBMYWJlbCArICc8L3NwYW4+PC90ZD4n +ICsKICAgICAgICAgICAgJzx0ZD4nICsgZXNjYXBlSFRNTCh3bUxhYmVsKSArICc8L3RkPicgKwog +ICAgICAgICAgICAnPHRkPjxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDtnYXA6NnB4O2FsaWduLWl0 +ZW1zOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXAiPicgKwogICAgICAgICAgICAgICAgJzxidXR0 +b24gY2xhc3M9ImJ0biBidG4tc2VrIGJ0bi1rbGVpbiBidG4taWNvbiBidG4tYmVhcmJlaXRlbiIg +ZGF0YS1ha3Rpb249InNvbmRlci1iZWFyYmVpdGVuIiBkYXRhLWlkPSInICsgZXNjYXBlQXR0cihz +LmlkKSArICciIHRpdGxlPSJIaW53ZWlzIGJlYXJiZWl0ZW4iPkJlYXJiZWl0ZW48L2J1dHRvbj4n +ICsKICAgICAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWdlZmFociBidG4ta2xl +aW4gYnRuLWxvZXNjaGVuIiBkYXRhLWFrdGlvbj0ic29uZGVyLWxvZXNjaGVuIiBkYXRhLWlkPSIn +ICsgZXNjYXBlQXR0cihzLmlkKSArICciIHRpdGxlPSJIaW53ZWlzIGzDtnNjaGVuIj5Mw7ZzY2hl +bjwvYnV0dG9uPicgKwogICAgICAgICAgICAnPC9kaXY+PC90ZD4nICsKICAgICAgICAnPC90cj4n +OwogICAgfSk7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc29uZGVydGVybWluZS10Ym9k +eScpLmlubmVySFRNTCA9IGh0bWw7Cn0KCmV4cG9ydCBmdW5jdGlvbiBzb25kZXJUaXRlbEF1c1Rl +eHQoaHRtbCkgewogICAgaWYgKCFodG1sKSByZXR1cm4gJyc7CiAgICB2YXIgdG1wID0gZG9jdW1l +bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICB0bXAuaW5uZXJIVE1MID0gaHRtbDsKICAgIHZh +ciB0eHQgPSAodG1wLnRleHRDb250ZW50IHx8ICcnKS50cmltKCkuc3BsaXQoL1xyP1xuLylbMF07 +CiAgICBpZiAodHh0Lmxlbmd0aCA+IDYwKSB0eHQgPSB0eHQuc3Vic3RyKDAsIDU3KSArICfigKYn +OwogICAgcmV0dXJuIHR4dDsKfQoKLy8gc2FuaXRpemVSaWNoSHRtbCwgRU1PSklfU0VULCBlbW9q +aVBpY2tlclplaWdlbiwgZW1vamlQaWNrZXJTY2hsaWVzc2VuIC0+IGpzL3VpL3J0ZS5qcwoKLy8g +PT09PT0gU29uZGVydGVybWluLUhlbGZlciA9PT09PQpleHBvcnQgZnVuY3Rpb24gc29uZGVyRnVl +ckRhdHVtKGRhdHVtKSB7CiAgICBpZiAoIWRhdHVtKSByZXR1cm4gbnVsbDsKICAgIHJldHVybiAo +Wi5hZG1pbi5zb25kZXJ0ZXJtaW5lIHx8IFtdKS5maW5kKGZ1bmN0aW9uKHMpIHsKICAgICAgICB2 +YXIgYmlzID0gcy5kYXR1bUJpcyB8fCBzLmRhdHVtOwogICAgICAgIHJldHVybiBzLmRhdHVtICYm +IGRhdHVtID49IHMuZGF0dW0gJiYgZGF0dW0gPD0gYmlzOwogICAgfSk7Cn0KZXhwb3J0IGZ1bmN0 +aW9uIHNvbmRlckJ5SWQoaWQpIHsKICAgIHJldHVybiAoWi5hZG1pbi5zb25kZXJ0ZXJtaW5lIHx8 +IFtdKS5maW5kKGZ1bmN0aW9uKHMpIHsgcmV0dXJuIHMuaWQgPT09IGlkOyB9KTsKfQpleHBvcnQg +ZnVuY3Rpb24gc29uZGVyRGF0dW1MYWJlbChzKSB7CiAgICBpZiAoIXMuZGF0dW0pIHJldHVybiAn +4oCUJzsKICAgIGlmIChzLmRhdHVtQmlzICYmIHMuZGF0dW1CaXMgIT09IHMuZGF0dW0pIHJldHVy +biBkYXR1bUZvcm1hdERFKHMuZGF0dW0pICsgJyDigJMgJyArIGRhdHVtRm9ybWF0REUocy5kYXR1 +bUJpcyk7CiAgICByZXR1cm4gZGF0dW1Gb3JtYXRERShzLmRhdHVtKTsKfQoKZXhwb3J0IGZ1bmN0 +aW9uIHNvbmRlckluaGFsdEh0bWwoc29uZGVyKSB7CiAgICB2YXIgaWNvbiA9IHNvbmRlci5pY29u +IHx8IChzb25kZXIudHlwID09PSAnd2FybnVuZycgPyAn4pqg77iPJyA6ICfihLnvuI8nKTsKICAg +IHZhciB0aXRlbEh0bWwgPSBzb25kZXIudGl0ZWwgPyAnPGRpdiBjbGFzcz0ic29uZGVyLXdhcm4t +dGl0ZWwiPicgKyBlc2NhcGVIVE1MKHNvbmRlci50aXRlbCkgKyAnPC9kaXY+JyA6ICcnOwogICAg +dmFyIHRleHRIdG1sID0gc2FuaXRpemVSaWNoSHRtbChzb25kZXIudGV4dCB8fCAnJyk7CiAgICBy +ZXR1cm4gJzxkaXYgY2xhc3M9InNvbmRlci13YXJuLWljb24iPicgKyBlc2NhcGVIVE1MKGljb24p +ICsgJzwvZGl2PicgKwogICAgICAgIHRpdGVsSHRtbCArCiAgICAgICAgJzxkaXYgY2xhc3M9InNv +bmRlci13YXJuLXRleHQiPicgKyB0ZXh0SHRtbCArICc8L2Rpdj4nICsKICAgICAgICAnPGRpdiBj +bGFzcz0ic29uZGVyLXdhcm4tZGF0dW0iPicgKyBlc2NhcGVIVE1MKHNvbmRlckRhdHVtTGFiZWwo +c29uZGVyKSkgKyAnPC9kaXY+JzsKfQoKZXhwb3J0IGZ1bmN0aW9uIHNvbmRlcldhcm5Nb2RhbFpl +aWdlbihzb25kZXIsIG9uV2VpdGVyKSB7CiAgICB2YXIgdHlwQ2xzID0gJ3R5cC0nICsgKHNvbmRl +ci50eXAgfHwgJ2hpbndlaXMnKTsKICAgIHZhciB0aXRlbEtvcGYgPSAoc29uZGVyLnR5cCA9PT0g +J3dhcm51bmcnID8gJ1dhcm5oaW53ZWlzJyA6ICdIaW53ZWlzJykgKyAnIGbDvHIgZGllc2VuIFRh +Zyc7CiAgICB2YXIgZm9vdGVyID0gJzxidXR0b24gY2xhc3M9ImJ0biBidG4tcHJpbWFlciIgaWQ9 +InNvbmRlci13YXJuLW9rIj5WZXJzdGFuZGVuLCB3ZWl0ZXI8L2J1dHRvbj4nOwogICAgbW9kYWxa +ZWlnZW4odGl0ZWxLb3BmLCBzb25kZXJJbmhhbHRIdG1sKHNvbmRlciksIGZvb3RlciwgbnVsbCk7 +CiAgICB2YXIgbW9kID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGFsLWJveCcpOwogICAg +aWYgKG1vZCkgbW9kLmNsYXNzTGlzdC5hZGQoJ3NvbmRlci13YXJuLW1vZGFsJywgdHlwQ2xzKTsK +ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzb25kZXItd2Fybi1vaycpLmFkZEV2ZW50TGlz +dGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKG1vZCkgbW9kLmNsYXNzTGlz +dC5yZW1vdmUoJ3NvbmRlci13YXJuLW1vZGFsJywgdHlwQ2xzKTsKICAgICAgICBtb2RhbFNjaGxp +ZXNzZW4oKTsKICAgICAgICBpZiAodHlwZW9mIG9uV2VpdGVyID09PSAnZnVuY3Rpb24nKSBvbldl +aXRlcigpOwogICAgfSk7Cn0KCmV4cG9ydCBmdW5jdGlvbiBzb25kZXJBbnNpY2h0TW9kYWxaZWln +ZW4oc29uZGVyKSB7CiAgICB2YXIgdGl0ZWxLb3BmID0gc29uZGVyLnR5cCA9PT0gJ3dhcm51bmcn +ID8gJ1dhcm5oaW53ZWlzJyA6ICdIaW53ZWlzJzsKICAgIG1vZGFsWmVpZ2VuKHRpdGVsS29wZiwg +c29uZGVySW5oYWx0SHRtbChzb25kZXIpLAogICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRu +LXByaW1hZXIiIGlkPSJzb25kZXItYW5zaWNodC1vayI+U2NobGllw59lbjwvYnV0dG9uPicsCiAg +ICAgICAgbnVsbCk7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc29uZGVyLWFuc2ljaHQt +b2snKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIG1vZGFsU2NobGllc3Nlbik7Cn0KCmV4cG9y +dCBmdW5jdGlvbiBzb25kZXJFZGl0TW9kYWxaZWlnZW4oaWRPZGVyRGF0dW0pIHsKICAgIC8vIFBh +cmFtZXRlcjogInN0Xy4uLiItSUQgKGJlYXJiZWl0ZW4pIG9kZXIgIllZWVktTU0tREQiIChuZXUg +ZsO8ciBkaWVzZW4gVGFnKSBvZGVyICIiIChuZXUgb2huZSBEYXR1bSkKICAgIHZhciB2b3JoID0g +bnVsbDsKICAgIGlmIChpZE9kZXJEYXR1bSAmJiBpZE9kZXJEYXR1bS5pbmRleE9mKCdzdF8nKSA9 +PT0gMCkgdm9yaCA9IHNvbmRlckJ5SWQoaWRPZGVyRGF0dW0pOwogICAgZWxzZSBpZiAoaWRPZGVy +RGF0dW0pIHZvcmggPSBzb25kZXJGdWVyRGF0dW0oaWRPZGVyRGF0dW0pOwogICAgdmFyIHN0YXJ0 +RGF0dW0gPSAoaWRPZGVyRGF0dW0gJiYgaWRPZGVyRGF0dW0uaW5kZXhPZignc3RfJykgIT09IDAp +ID8gaWRPZGVyRGF0dW0gOiAnJzsKICAgIHZhciBzID0gdm9yaCA/IE9iamVjdC5hc3NpZ24oe30s +IHZvcmgpIDogeyBkYXR1bTogc3RhcnREYXR1bSwgZGF0dW1CaXM6ICcnLCB0aXRlbDogJycsIHRl +eHQ6ICcnLCB0eXA6ICdoaW53ZWlzJywgaWNvbjogJycsIHdhcm5Nb2R1czogJ2ltbWVyJyB9Owog +ICAgdmFyIGljb25Wb3JzY2hhdSA9IHMuaWNvbiB8fCAn4oCUJzsKICAgIHZhciB0b29sYmFySHRt +bCA9CiAgICAgICAgJzxkaXYgY2xhc3M9InJ0ZS10b29sYmFyIj4nICsKICAgICAgICAgICAgJzxi +dXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0icnRlLWJ0biIgZGF0YS1jbWQ9ImJvbGQiIHRpdGxl +PSJGZXR0IChDdHJsK0IpIj48c3Ryb25nPkI8L3N0cm9uZz48L2J1dHRvbj4nICsKICAgICAgICAg +ICAgJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0icnRlLWJ0biIgZGF0YS1jbWQ9Iml0YWxp +YyIgdGl0bGU9Ikt1cnNpdiAoQ3RybCtJKSI+PGVtPkk8L2VtPjwvYnV0dG9uPicgKwogICAgICAg +ICAgICAnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0idW5k +ZXJsaW5lIiB0aXRsZT0iVW50ZXJzdHJpY2hlbiAoQ3RybCtVKSI+PHU+VTwvdT48L2J1dHRvbj4n +ICsKICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJydGUtc2VwIj48L3NwYW4+JyArCiAgICAgICAg +ICAgICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InJ0ZS1idG4iIGRhdGEtY21kPSJpbnNl +cnRVbm9yZGVyZWRMaXN0IiB0aXRsZT0iQXVmesOkaGx1bmciPuKAojwvYnV0dG9uPicgKwogICAg +ICAgICAgICAnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0i +aW5zZXJ0T3JkZXJlZExpc3QiIHRpdGxlPSJOdW1tZXJpZXJ0Ij4xLjwvYnV0dG9uPicgKwogICAg +ICAgICAgICAnPHNwYW4gY2xhc3M9InJ0ZS1zZXAiPjwvc3Bhbj4nICsKICAgICAgICAgICAgJzxi +dXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0icnRlLWJ0biIgZGF0YS1jbWQ9Im91dGRlbnQiIHRp +dGxlPSJBdXNyw7xja2VuIj7ih6Q8L2J1dHRvbj4nICsKICAgICAgICAgICAgJzxidXR0b24gdHlw +ZT0iYnV0dG9uIiBjbGFzcz0icnRlLWJ0biIgZGF0YS1jbWQ9ImluZGVudCIgdGl0bGU9IkVpbnLD +vGNrZW4iPuKHpTwvYnV0dG9uPicgKwogICAgICAgICAgICAnPHNwYW4gY2xhc3M9InJ0ZS1zZXAi +Pjwvc3Bhbj4nICsKICAgICAgICAgICAgJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0icnRl +LWJ0biIgZGF0YS1jbWQ9InJlbW92ZUZvcm1hdCIgdGl0bGU9IkZvcm1hdGllcnVuZyBlbnRmZXJu +ZW4iPkzDtnNjaGVuPC9idXR0b24+JyArCiAgICAgICAgJzwvZGl2Pic7CiAgICB2YXIga29lcnBl +ciA9ICc8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDox +MnB4Ij4nICsKICAgICAgICAnPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2dhcDoxMnB4O2ZsZXgt +d3JhcDp3cmFwIj4nICsKICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImZvcm0tZ3J1cHBlIiBzdHls +ZT0iZmxleDoxO21pbi13aWR0aDoxNTBweCI+PGxhYmVsPkRhdHVtIChWb24pPC9sYWJlbD48aW5w +dXQgdHlwZT0iZGF0ZSIgaWQ9InNlLWRhdHVtIiBjbGFzcz0iZm9ybS1pbnB1dCIgdmFsdWU9Iicg +KyBlc2NhcGVBdHRyKHMuZGF0dW0pICsgJyI+PC9kaXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNs +YXNzPSJmb3JtLWdydXBwZSIgc3R5bGU9ImZsZXg6MTttaW4td2lkdGg6MTUwcHgiPjxsYWJlbD5E +YXR1bSAoQmlzKSA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6NDAwO2NvbG9yOnZhcigtLXRleHQt +bXV0ZWQpO2ZvbnQtc2l6ZToxMXB4Ij7igJQgbGVlciBsYXNzZW4gZsO8ciBlaW5lbiBUYWc8L3Nw +YW4+PC9sYWJlbD48aW5wdXQgdHlwZT0iZGF0ZSIgaWQ9InNlLWRhdHVtLWJpcyIgY2xhc3M9ImZv +cm0taW5wdXQiIHZhbHVlPSInICsgZXNjYXBlQXR0cihzLmRhdHVtQmlzIHx8ICcnKSArICciPjwv +ZGl2PicgKwogICAgICAgICc8L2Rpdj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0iZm9ybS1ncnVw +cGUiPjxsYWJlbD5UaXRlbDwvbGFiZWw+PGlucHV0IHR5cGU9InRleHQiIGlkPSJzZS10aXRlbCIg +Y2xhc3M9ImZvcm0taW5wdXQiIHZhbHVlPSInICsgZXNjYXBlQXR0cihzLnRpdGVsIHx8ICcnKSAr +ICciIHBsYWNlaG9sZGVyPSJLdXJ6ZXIgVGl0ZWwsIHouQi4g4oCeS2FybmV2YWwiIiBtYXhsZW5n +dGg9IjEwMCI+PC9kaXY+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9ImZvcm0tZ3J1cHBlIj48bGFi +ZWw+VGV4dDwvbGFiZWw+JyArIHRvb2xiYXJIdG1sICsKICAgICAgICAgICAgJzxkaXYgaWQ9InNl +LXRleHQiIGNsYXNzPSJydGUtZWRpdG9yIiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hl +Y2s9InRydWUiPicgKyBzYW5pdGl6ZVJpY2hIdG1sKHMudGV4dCB8fCAnJykgKyAnPC9kaXY+JyAr +CiAgICAgICAgJzwvZGl2PicgKwogICAgICAgICc8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2Fw +OjEycHg7ZmxleC13cmFwOndyYXAiPicgKwogICAgICAgICAgICAnPGRpdiBjbGFzcz0iZm9ybS1n +cnVwcGUiPjxsYWJlbD5JY29uPC9sYWJlbD48ZGl2PjxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0i +c2UtaWNvbi1idG4iIGNsYXNzPSJlbW9qaS1idG4iPicgKyBlc2NhcGVIVE1MKGljb25Wb3JzY2hh +dSkgKyAnPC9idXR0b24+PGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9InNlLWljb24iIHZhbHVlPSIn +ICsgZXNjYXBlQXR0cihzLmljb24gfHwgJycpICsgJyI+PC9kaXY+PC9kaXY+JyArCiAgICAgICAg +ICAgICc8ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSIgc3R5bGU9ImZsZXg6MTttaW4td2lkdGg6MTIw +cHgiPjxsYWJlbD5UeXA8L2xhYmVsPjxzZWxlY3QgaWQ9InNlLXR5cCIgY2xhc3M9ImZvcm0taW5w +dXQiPicgKwogICAgICAgICAgICAgICAgJzxvcHRpb24gdmFsdWU9ImhpbndlaXMiJyArIChzLnR5 +cCA9PT0gJ2hpbndlaXMnID8gJyBzZWxlY3RlZCcgOiAnJykgKyAnPkhpbndlaXMgKOKEuSk8L29w +dGlvbj4nICsKICAgICAgICAgICAgICAgICc8b3B0aW9uIHZhbHVlPSJ3YXJudW5nIicgKyAocy50 +eXAgPT09ICd3YXJudW5nJyA/ICcgc2VsZWN0ZWQnIDogJycpICsgJz5XYXJudW5nICjimqApPC9v +cHRpb24+JyArCiAgICAgICAgICAgICc8L3NlbGVjdD48L2Rpdj4nICsKICAgICAgICAgICAgLy8g +IldpY2h0aWciLUNoZWNrYm94IChDaGVycnktUGljayA4NGZiMGY3KS4gTnVyIHNpY2h0YmFyIHdl +bm4KICAgICAgICAgICAgLy8gRmVhdHVyZSBha3RpdiDigJQgc29uc3QgYmVoYWVsdCBkZXIgVXNl +ciBkaWUgYmluYWVyZSAiVHlwOgogICAgICAgICAgICAvLyBIaW53ZWlzL1dhcm51bmciLVN0ZXVl +cnVuZy4gQmFja3dhcmRzLWNvbXBhdDogYWx0ZQogICAgICAgICAgICAvLyB0eXA6J3dhcm51bmcn +LUVpbnRyYWVnZSB3ZXJkZW4gaW0gUmVuZGVyIGF1Y2ggb2huZSB3aWNodGlnOnRydWUKICAgICAg +ICAgICAgLy8gYWxzIHdpY2h0aWcgbWFya2llcnQuCiAgICAgICAgICAgIChmZWF0dXJlSXN0QWt0 +aXYoJ3NvbmRlcnRlcm1pbmVXaWNodGlnJykKICAgICAgICAgICAgICAgID8gJzxkaXYgY2xhc3M9 +ImZvcm0tZ3J1cHBlIiBzdHlsZT0iZmxleDoxO21pbi13aWR0aDoxNDBweCI+PGxhYmVsPk1hcmtp +ZXJ1bmc8L2xhYmVsPicgKwogICAgICAgICAgICAgICAgICAgICc8bGFiZWwgc3R5bGU9ImRpc3Bs +YXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzo2cHggMDtj +dXJzb3I6cG9pbnRlciI+JyArCiAgICAgICAgICAgICAgICAgICAgICAnPGlucHV0IHR5cGU9ImNo +ZWNrYm94IiBpZD0ic2Utd2ljaHRpZyInICsgKChzLndpY2h0aWcgfHwgcy50eXAgPT09ICd3YXJu +dW5nJykgPyAnIGNoZWNrZWQnIDogJycpICsgJz4gQWxzIOKAnndpY2h0aWciIG1hcmtpZXJlbicg +KwogICAgICAgICAgICAgICAgICAgICc8L2xhYmVsPicgKwogICAgICAgICAgICAgICAgICAnPC9k +aXY+JwogICAgICAgICAgICAgICAgOiAnJykgKwogICAgICAgICAgICAnPGRpdiBjbGFzcz0iZm9y +bS1ncnVwcGUiIHN0eWxlPSJmbGV4OjE7bWluLXdpZHRoOjE0MHB4Ij48bGFiZWw+V2Fybm1vZHVz +PC9sYWJlbD48c2VsZWN0IGlkPSJzZS13bSIgY2xhc3M9ImZvcm0taW5wdXQiPicgKwogICAgICAg +ICAgICAgICAgJzxvcHRpb24gdmFsdWU9ImltbWVyIicgKyAoKHMud2Fybk1vZHVzIHx8ICdpbW1l +cicpID09PSAnaW1tZXInID8gJyBzZWxlY3RlZCcgOiAnJykgKyAnPkltbWVyIGJlaSBQbGFudW5n +PC9vcHRpb24+JyArCiAgICAgICAgICAgICAgICAnPG9wdGlvbiB2YWx1ZT0iZWlubWFsaWciJyAr +IChzLndhcm5Nb2R1cyA9PT0gJ2Vpbm1hbGlnJyA/ICcgc2VsZWN0ZWQnIDogJycpICsgJz5FaW5t +YWxpZyBwcm8gVXNlcjwvb3B0aW9uPicgKwogICAgICAgICAgICAgICAgJzxvcHRpb24gdmFsdWU9 +ImF1cyInICsgKHMud2Fybk1vZHVzID09PSAnYXVzJyA/ICcgc2VsZWN0ZWQnIDogJycpICsgJz5B +dXMgKG51ciBIZWFkZXItSWNvbik8L29wdGlvbj4nICsKICAgICAgICAgICAgJzwvc2VsZWN0Pjwv +ZGl2PicgKwogICAgICAgICc8L2Rpdj48L2Rpdj4nOwogICAgdmFyIGZvb3RlciA9ICh2b3JoID8g +JzxidXR0b24gY2xhc3M9ImJ0biBidG4tZ2VmYWhyIiBpZD0ic2UtbG9lc2NoZW4iIHN0eWxlPSJt +YXJnaW4tcmlnaHQ6YXV0byI+TMO2c2NoZW48L2J1dHRvbj4nIDogJycpICsKICAgICAgICAnPGJ1 +dHRvbiBjbGFzcz0iYnRuIiBpZD0ic2UtYWJicmVjaGVuIj5BYmJyZWNoZW48L2J1dHRvbj4nICsK +ICAgICAgICAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1wcmltYWVyIiBpZD0ic2Utc3BlaWNoZXJu +Ij5TcGVpY2hlcm48L2J1dHRvbj4nOwogICAgLy8gU3BlYyBGLjQ6IG1vZGFsS2V5IGFrdGl2aWVy +dCBFbnR3dXJmLVN5c3RlbSBwcm8gU29uZGVydGVybWluCiAgICB2YXIgc29uZGVyTW9kYWxLZXkg +PSB2b3JoID8gKCdzb25kZXJfZWRpdF8nICsgdm9yaC5pZCkgOiAoJ3NvbmRlcl9uZXVfJyArIChp +ZE9kZXJEYXR1bSB8fCAnJykpOwogICAgbW9kYWxaZWlnZW4odm9yaCA/ICdIaW53ZWlzIGJlYXJi +ZWl0ZW4nIDogJ05ldWVyIEhpbndlaXMnLCBrb2VycGVyLCBmb290ZXIsIG51bGwsIHNvbmRlck1v +ZGFsS2V5KTsKCiAgICB2YXIgZWRpdG9yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlLXRl +eHQnKTsKICAgIHJ0ZUluaXQoZWRpdG9yKTsKCiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn +c2UtaWNvbi1idG4nKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAg +ICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIGVtb2ppUGlja2VyWmVpZ2VuKHRoaXMs +IGZ1bmN0aW9uKHYpIHsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlLWlj +b24nKS52YWx1ZSA9IHY7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZS1p +Y29uLWJ0bicpLnRleHRDb250ZW50ID0gdiB8fCAn4oCUJzsKICAgICAgICB9KTsKICAgIH0pOwog +ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlLWFiYnJlY2hlbicpLmFkZEV2ZW50TGlzdGVu +ZXIoJ2NsaWNrJywgbW9kYWxTY2hsaWVzc2VuKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk +KCdzZS1zcGVpY2hlcm4nKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewog +ICAgICAgIHZhciB0ZXh0SHRtbCA9IHNhbml0aXplUmljaEh0bWwoZWRpdG9yLmlubmVySFRNTCB8 +fCAnJyk7CiAgICAgICAgdmFyIGRCaXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2UtZGF0 +dW0tYmlzJykudmFsdWU7CiAgICAgICAgdmFyIGRhdGVuID0gewogICAgICAgICAgICBpZDogKHZv +cmggJiYgdm9yaC5pZCkgfHwgKCdzdF8nICsgRGF0ZS5ub3coKS50b1N0cmluZygzNikgKyBNYXRo +LnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiwgNSkpLAogICAgICAgICAgICBkYXR1bTog +ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlLWRhdHVtJykudmFsdWUsCiAgICAgICAgICAgIGRh +dHVtQmlzOiBkQmlzIHx8ICcnLAogICAgICAgICAgICB0aXRlbDogZG9jdW1lbnQuZ2V0RWxlbWVu +dEJ5SWQoJ3NlLXRpdGVsJykudmFsdWUudHJpbSgpLAogICAgICAgICAgICB0ZXh0OiB0ZXh0SHRt +bCwKICAgICAgICAgICAgaWNvbjogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlLWljb24nKS52 +YWx1ZSwKICAgICAgICAgICAgdHlwOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2UtdHlwJyku +dmFsdWUsCiAgICAgICAgICAgIHdhcm5Nb2R1czogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Nl +LXdtJykudmFsdWUKICAgICAgICB9OwogICAgICAgIC8vICJ3aWNodGlnIi1GbGFnIGF1cyBvcHRp +b25hbGVyIENoZWNrYm94IChUb2dnbGUtYWJoYWVuZ2lnKS4KICAgICAgICAvLyBXZW5uIENoZWNr +Ym94IG5pY2h0IGltIERPTSBpc3QgKEZlYXR1cmUgYXVzKSwgYmVzdGVoZW5kZW4gV2VydAogICAg +ICAgIC8vIGJlaWJlaGFsdGVuIOKAlCBzb25zdCB3dWVyZGVuIGJlc3RlaGVuZGUgRWludHJhZWdl +IGlociBGbGFnIHZlcmxpZXJlbi4KICAgICAgICB2YXIgd2ljaHRpZ0VsID0gZG9jdW1lbnQuZ2V0 +RWxlbWVudEJ5SWQoJ3NlLXdpY2h0aWcnKTsKICAgICAgICBpZiAod2ljaHRpZ0VsKSBkYXRlbi53 +aWNodGlnID0gd2ljaHRpZ0VsLmNoZWNrZWQ7CiAgICAgICAgZWxzZSBpZiAocy53aWNodGlnICE9 +PSB1bmRlZmluZWQpIGRhdGVuLndpY2h0aWcgPSBzLndpY2h0aWc7CiAgICAgICAgdmFyIHBsYWlu +Q2hlY2sgPSBlZGl0b3IudGV4dENvbnRlbnQudHJpbSgpOwogICAgICAgIGlmICghZGF0ZW4uZGF0 +dW0gfHwgIXBsYWluQ2hlY2spIHsgdG9hc3QoJ1N0YXJ0LURhdHVtIHVuZCBUZXh0IHNpbmQgUGZs +aWNodGZlbGRlcicsICd3YXJudW5nJyk7IHJldHVybjsgfQogICAgICAgIGlmIChkYXRlbi5kYXR1 +bUJpcyAmJiBkYXRlbi5kYXR1bUJpcyA8IGRhdGVuLmRhdHVtKSB7IHRvYXN0KCdFbmQtRGF0dW0g +bXVzcyBuYWNoIGRlbSBTdGFydC1EYXR1bSBsaWVnZW4nLCAnd2FybnVuZycpOyByZXR1cm47IH0K +ICAgICAgICBpZiAoZGF0ZW4uZGF0dW1CaXMgPT09IGRhdGVuLmRhdHVtKSBkYXRlbi5kYXR1bUJp +cyA9ICcnOyAvLyBub3JtYWxpc2llcmVuOiBnbGVpY2ggPSBsZWVyID0gRWluemVsdGFnCiAgICAg +ICAgdmFyIGxpc3RlID0gKFouYWRtaW4uc29uZGVydGVybWluZSB8fCBbXSkuc2xpY2UoKTsKICAg +ICAgICB2YXIgaWR4ID0gbGlzdGUuZmluZEluZGV4KGZ1bmN0aW9uKHgpIHsgcmV0dXJuIHguaWQg +PT09IGRhdGVuLmlkOyB9KTsKICAgICAgICBpZiAoaWR4ID49IDApIGxpc3RlW2lkeF0gPSBkYXRl +bjsgZWxzZSBsaXN0ZS5wdXNoKGRhdGVuKTsKICAgICAgICBhcGlQdXQoJy9hcGkvYWRtaW4vc29u +ZGVydGVybWluZScsIGxpc3RlKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICBaLmFkbWlu +LnNvbmRlcnRlcm1pbmUgPSBsaXN0ZTsKICAgICAgICAgICAgdGFnSW5mb3NCZXJlY2huZW4oKTsK +ICAgICAgICAgICAga29wZlJlbmRlcm4oKTsKICAgICAgICAgICAgc29uZGVydGVybWluZVJlbmRl +cm4oKTsKICAgICAgICAgICAgZW50d3VyZkxvZXNjaGVuKHNvbmRlck1vZGFsS2V5KTsKICAgICAg +ICAgICAgbW9kYWxTY2hsaWVzc2VuKHRydWUpOwogICAgICAgICAgICB0b2FzdCgnSGlud2VpcyBn +ZXNwZWljaGVydCcsICdlcmZvbGcnKTsKICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlKSB7IHRv +YXN0KCdGZWhsZXI6ICcgKyBlLm1lc3NhZ2UsICdmZWhsZXInKTsgfSk7CiAgICB9KTsKICAgIGlm +ICh2b3JoKSB7CiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlLWxvZXNjaGVuJyku +YWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgYmVzdGFl +dGlnZW4oJ0hpbndlaXMgd2lya2xpY2ggbMO2c2NoZW4/JywgZnVuY3Rpb24oKSB7CiAgICAgICAg +ICAgICAgICB2YXIgbGlzdGUgPSAoWi5hZG1pbi5zb25kZXJ0ZXJtaW5lIHx8IFtdKS5maWx0ZXIo +ZnVuY3Rpb24oeCkgeyByZXR1cm4geC5pZCAhPT0gdm9yaC5pZDsgfSk7CiAgICAgICAgICAgICAg +ICBhcGlQdXQoJy9hcGkvYWRtaW4vc29uZGVydGVybWluZScsIGxpc3RlKS50aGVuKGZ1bmN0aW9u +KCkgewogICAgICAgICAgICAgICAgICAgIFouYWRtaW4uc29uZGVydGVybWluZSA9IGxpc3RlOwog +ICAgICAgICAgICAgICAgICAgIHRhZ0luZm9zQmVyZWNobmVuKCk7CiAgICAgICAgICAgICAgICAg +ICAga29wZlJlbmRlcm4oKTsKICAgICAgICAgICAgICAgICAgICBzb25kZXJ0ZXJtaW5lUmVuZGVy +bigpOwogICAgICAgICAgICAgICAgICAgIGVudHd1cmZMb2VzY2hlbihzb25kZXJNb2RhbEtleSk7 +CiAgICAgICAgICAgICAgICAgICAgbW9kYWxTY2hsaWVzc2VuKHRydWUpOwogICAgICAgICAgICAg +ICAgICAgIHRvYXN0KCdIaW53ZWlzIGdlbMO2c2NodCcsICdlcmZvbGcnKTsKICAgICAgICAgICAg +ICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsgdG9hc3QoJ0ZlaGxlcjogJyArIGUubWVzc2FnZSwg +J2ZlaGxlcicpOyB9KTsKICAgICAgICAgICAgfSwgeyB0aXRlbDogJ0hpbndlaXMgbMO2c2NoZW4n +LCBqYURhbmdlcjogdHJ1ZSB9KTsKICAgICAgICB9KTsKICAgIH0KfQo= +### FILE: js/admin_mitteilungen.js | 19959 +Ly8gPT09IGFkbWluX21pdHRlaWx1bmdlbi5qcyA9PT0KLy8gQWRtaW4tRWRpdG9yIGZ1ZXIgZGFz +IE1pdHRlaWx1bmdzLVN5c3RlbSAoU3ByaW50IEQtM2MsIDIwMjYtMDUtMjkpLgovLyBOdXIgZnVl +ciBTdXBlclVzZXIgc2ljaHRiYXIvenVncmVpZmJhciAoU2VydmVyIGdhdGVkIGJlaWRlIFdlZ2U6 +Ci8vIEdFVCAvYXBpL21pdHRlaWx1bmdlbi9hbGxlIGlzdCBTVS1vbmx5LCBQT1NUL1BVVC9ERUxF +VEUgZWJlbmZhbGxzKS4KLy8KLy8gRnVua3Rpb25zdW1mYW5nOgovLyAgIC0gTGlzdGUgYWxsZXIg +TWl0dGVpbHVuZ2VuIChha3RpdmUsIGFiZ2VsYXVmZW5lLCBvaG5lIFN0aWNodGFnKQovLyAgIC0g +TmV1ZSBNaXR0ZWlsdW5nIGFubGVnZW4gLyBiZWFyYmVpdGVuIC8gbG9lc2NoZW4KLy8gICAtIFJU +RS1UZXh0LUVkaXRvciAoc2FuaXRpemVSaWNoSHRtbCBiZWltIFNhdmUpCi8vICAgLSBNdWx0aS1T +ZWxlY3QgZnVlciBQZXJzb25lbiwgRGllbnN0Z3J1cHBlbiwgUm9sbGVuICgrIEFsbGUtQ2hlY2ti +b3gpCi8vICAgLSBUcmlnZ2VyOiBlaW5tYWwgfCBqZWRlc21hbCB8IGJpc0RhdHVtICgrIERhdGVw +aWNrZXIgYmVpIGxldHp0ZXJlbSkKLy8gICAtIE9wdGlvbmFsZXIgQmlsZC0gdW5kIFBERi1Bbmhh +bmcgKEZpbGVSZWFkZXIgLT4gZGF0YTpVUkwgLT4gL3VwbG9hZCkKCmltcG9ydCB7IFogfSBmcm9t +ICcuL2NvcmVfc3RhdGUuanMnOwppbXBvcnQgeyBlc2NhcGVIVE1MLCBlc2NhcGVBdHRyLCBkYXR1 +bUZvcm1hdERFLCBnZXRGdW5rdGlvbmVuIH0gZnJvbSAnLi9jb3JlX3V0aWwuanMnOwppbXBvcnQg +eyBhcGksIGFwaVBvc3QsIGFwaVB1dCwgYXBpRGVsZXRlIH0gZnJvbSAnLi9jb3JlX2FwaS5qcyc7 +CmltcG9ydCB7IHRvYXN0LCBtb2RhbFplaWdlbiwgbW9kYWxTY2hsaWVzc2VuLCBiZXN0YWV0aWdl +biwgcGZsaWNodGZlbGRGZWhsZXIgfSBmcm9tICcuL3VpX2RpYWxvZy5qcyc7CmltcG9ydCB7IHNh +bml0aXplUmljaEh0bWwsIHJ0ZUluaXQgfSBmcm9tICcuL3VpX3J0ZS5qcyc7CgovLyA9PT09PSBM +aXN0ZSByZW5kZXJuID09PT09CgpleHBvcnQgZnVuY3Rpb24gbWl0dGVpbHVuZ2VuVGFiUmVuZGVy +bigpIHsKICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWl0dGVp +bHVuZ2VuLWluaGFsdCcpOwogICAgaWYgKCFjb250YWluZXIpIHJldHVybjsKICAgIGNvbnRhaW5l +ci5pbm5lckhUTUwgPSAnPGRpdiBjbGFzcz0iYWRtaW4tZW1wdHkiPjxkaXYgY2xhc3M9ImFkbWlu +LWVtcHR5LXRleHQiPkxhZGUgTWl0dGVpbHVuZ2VuIOKApjwvZGl2PjwvZGl2Pic7CiAgICBhcGko +Jy9hcGkvbWl0dGVpbHVuZ2VuL2FsbGUnKS50aGVuKGZ1bmN0aW9uKGRhdGVuKSB7CiAgICAgICAg +dmFyIGxpc3RlID0gKGRhdGVuICYmIGRhdGVuLm1pdHRlaWx1bmdlbikgfHwgW107CiAgICAgICAg +aWYgKCFsaXN0ZS5sZW5ndGgpIHsKICAgICAgICAgICAgY29udGFpbmVyLmlubmVySFRNTCA9ICc8 +ZGl2IGNsYXNzPSJhZG1pbi1lbXB0eSI+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0i +YWRtaW4tZW1wdHktdGl0ZWwiPk5vY2gga2VpbmUgTWl0dGVpbHVuZ2VuPC9kaXY+JyArCiAgICAg +ICAgICAgICAgICAnPGRpdiBjbGFzcz0iYWRtaW4tZW1wdHktdGV4dCI+S2xpY2sgb2JlbiByZWNo +dHMgYXVmIOKAnisgTmV1ZSBNaXR0ZWlsdW5nIiwgdW0gZGVuIGVyc3RlbiBIaW53ZWlzIGZ1ZXIg +UGVyc29uZW4sIEdydXBwZW4gb2RlciBSb2xsZW4gYW56dWxlZ2VuLjwvZGl2PicgKwogICAgICAg +ICAgICAgICAgJzwvZGl2Pic7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAg +dmFyIGhldXRlID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnNsaWNlKDAsIDEwKTsKICAgICAg +ICB2YXIgaHRtbCA9ICc8dGFibGUgY2xhc3M9ImFkbWluLXRhYmVsbGUiPicgKwogICAgICAgICAg +ICAnPHRoZWFkPjx0cj4nICsKICAgICAgICAgICAgICAgICc8dGg+VGl0ZWw8L3RoPicgKwogICAg +ICAgICAgICAgICAgJzx0aCBzdHlsZT0id2lkdGg6MTMwcHgiPlRyaWdnZXI8L3RoPicgKwogICAg +ICAgICAgICAgICAgJzx0aCBzdHlsZT0id2lkdGg6MTIwcHgiPmJpcyBEYXR1bTwvdGg+JyArCiAg +ICAgICAgICAgICAgICAnPHRoPkVtcGZhZW5nZXI8L3RoPicgKwogICAgICAgICAgICAgICAgJzx0 +aCBzdHlsZT0id2lkdGg6MTIwcHgiPlN0YXR1czwvdGg+JyArCiAgICAgICAgICAgICAgICAnPHRo +IHN0eWxlPSJ3aWR0aDoxNDBweCI+QWt0aW9uPC90aD4nICsKICAgICAgICAgICAgJzwvdHI+PC90 +aGVhZD48dGJvZHk+JzsKICAgICAgICBsaXN0ZS5mb3JFYWNoKGZ1bmN0aW9uKG0pIHsKICAgICAg +ICAgICAgdmFyIGFiZ2VsYXVmZW4gPSBtLmJpc0RhdHVtICYmIGhldXRlID4gbS5iaXNEYXR1bTsK +ICAgICAgICAgICAgaHRtbCArPSAnPHRyIGRhdGEtbWlkPSInICsgZXNjYXBlQXR0cihtLmlkKSAr +ICciPicgKwogICAgICAgICAgICAgICAgJzx0ZD48c3Ryb25nPicgKyBlc2NhcGVIVE1MKG0udGl0 +ZWwpICsgJzwvc3Ryb25nPicgKwogICAgICAgICAgICAgICAgICAgIChtLnRodW1ibmFpbCA/ICcg +PHNwYW4gdGl0bGU9IkJpbGQtQW5oYW5nIj7wn5a8PC9zcGFuPicgOiAnJykgKwogICAgICAgICAg +ICAgICAgICAgIChtLnBkZiA/ICcgPHNwYW4gdGl0bGU9IlBERi1BbmhhbmciPvCfk4Q8L3NwYW4+ +JyA6ICcnKSArCiAgICAgICAgICAgICAgICAnPC90ZD4nICsKICAgICAgICAgICAgICAgICc8dGQ+ +JyArIGVzY2FwZUhUTUwobS50cmlnZ2VyIHx8ICdlaW5tYWwnKSArICc8L3RkPicgKwogICAgICAg +ICAgICAgICAgJzx0ZD4nICsgKG0uYmlzRGF0dW0gPyBkYXR1bUZvcm1hdERFKG0uYmlzRGF0dW0p +IDogJ+KAlCcpICsgJzwvdGQ+JyArCiAgICAgICAgICAgICAgICAnPHRkPicgKyBfZW1wZmFlbmdl +ckxhYmVsKG0uZW1wZmFlbmdlcikgKyAnPC90ZD4nICsKICAgICAgICAgICAgICAgICc8dGQ+JyAr +IChhYmdlbGF1ZmVuCiAgICAgICAgICAgICAgICAgICAgPyAnPHNwYW4gc3R5bGU9ImNvbG9yOnZh +cigtLXRleHQtbXV0ZWQpIj5hYmdlbGF1ZmVuPC9zcGFuPicKICAgICAgICAgICAgICAgICAgICA6 +ICc8c3BhbiBzdHlsZT0iY29sb3I6dmFyKC0tZmFyYmUtZXJmb2xnKTtmb250LXdlaWdodDo2MDAi +PmFrdGl2PC9zcGFuPicpICsgJzwvdGQ+JyArCiAgICAgICAgICAgICAgICAnPHRkPicgKwogICAg +ICAgICAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXNlayBidG4ta2xlaW4iIGRh +dGEtYWN0PSJiZWFyYmVpdGVuIj5CZWFyYmVpdGVuPC9idXR0b24+ICcgKwogICAgICAgICAgICAg +ICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWdlZmFociBidG4ta2xlaW4iIGRhdGEtYWN0 +PSJsb2VzY2hlbiI+TMO2c2NoZW48L2J1dHRvbj4nICsKICAgICAgICAgICAgICAgICc8L3RkPicg +KwogICAgICAgICAgICAnPC90cj4nOwogICAgICAgIH0pOwogICAgICAgIGh0bWwgKz0gJzwvdGJv +ZHk+PC90YWJsZT4nOwogICAgICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSBodG1sOwogICAgICAg +IGNvbnRhaW5lci5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgYnRuID0g +ZS50YXJnZXQgJiYgZS50YXJnZXQuY2xvc2VzdCAmJiBlLnRhcmdldC5jbG9zZXN0KCdidXR0b25b +ZGF0YS1hY3RdJyk7CiAgICAgICAgICAgIGlmICghYnRuKSByZXR1cm47CiAgICAgICAgICAgIHZh +ciB0ciA9IGJ0bi5jbG9zZXN0KCd0cltkYXRhLW1pZF0nKTsKICAgICAgICAgICAgaWYgKCF0cikg +cmV0dXJuOwogICAgICAgICAgICB2YXIgbWlkID0gdHIuZ2V0QXR0cmlidXRlKCdkYXRhLW1pZCcp +OwogICAgICAgICAgICB2YXIgbSA9IGxpc3RlLmZpbmQoZnVuY3Rpb24oeCkgeyByZXR1cm4geC5p +ZCA9PT0gbWlkOyB9KTsKICAgICAgICAgICAgaWYgKCFtKSByZXR1cm47CiAgICAgICAgICAgIGlm +IChidG4uZ2V0QXR0cmlidXRlKCdkYXRhLWFjdCcpID09PSAnYmVhcmJlaXRlbicpIG1pdHRlaWx1 +bmdFZGl0b3JPZWZmbmVuKG0pOwogICAgICAgICAgICBlbHNlIGlmIChidG4uZ2V0QXR0cmlidXRl +KCdkYXRhLWFjdCcpID09PSAnbG9lc2NoZW4nKSBtaXR0ZWlsdW5nTG9lc2NoZW4obSk7CiAgICAg +ICAgfTsKICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsKICAgICAgICBjb250YWluZXIuaW5uZXJI +VE1MID0gJzxkaXYgY2xhc3M9ImFkbWluLWVtcHR5Ij4nICsKICAgICAgICAgICAgJzxkaXYgY2xh +c3M9ImFkbWluLWVtcHR5LXRpdGVsIj5GZWhsZXIgYmVpbSBMYWRlbjwvZGl2PicgKwogICAgICAg +ICAgICAnPGRpdiBjbGFzcz0iYWRtaW4tZW1wdHktdGV4dCI+JyArIGVzY2FwZUhUTUwoZS5tZXNz +YWdlIHx8IFN0cmluZyhlKSkgKyAnPC9kaXY+JyArCiAgICAgICAgICAgICc8L2Rpdj4nOwogICAg +fSk7Cn0KCmZ1bmN0aW9uIF9lbXBmYWVuZ2VyTGFiZWwoZW1wKSB7CiAgICBpZiAoIWVtcCkgcmV0 +dXJuICfigJQnOwogICAgaWYgKGVtcC5hbGxlKSByZXR1cm4gJzxzcGFuIHN0eWxlPSJmb250LXdl +aWdodDo2MDAiPkFsbGU8L3NwYW4+JzsKICAgIHZhciB0ZWlsZSA9IFtdOwogICAgdmFyIG5QID0g +KGVtcC5wZXJzb25lbiB8fCBbXSkubGVuZ3RoOwogICAgdmFyIG5HID0gKGVtcC5ncnVwcGVuIHx8 +IFtdKS5sZW5ndGg7CiAgICB2YXIgblIgPSAoZW1wLnJvbGxlbiB8fCBbXSkubGVuZ3RoOwogICAg +aWYgKG5QKSB0ZWlsZS5wdXNoKG5QICsgJyBQZXJzb24nICsgKG5QID09PSAxID8gJycgOiAnZW4n +KSk7CiAgICBpZiAobkcpIHRlaWxlLnB1c2goKGVtcC5ncnVwcGVuIHx8IFtdKS5qb2luKCcsICcp +KTsKICAgIGlmIChuUikgdGVpbGUucHVzaCgoZW1wLnJvbGxlbiB8fCBbXSkuam9pbignLCAnKSk7 +CiAgICByZXR1cm4gdGVpbGUubGVuZ3RoID8gZXNjYXBlSFRNTCh0ZWlsZS5qb2luKCcgwrcgJykp +IDogJzxzcGFuIHN0eWxlPSJjb2xvcjp2YXIoLS10ZXh0LW11dGVkKSI+4oCUIG5pZW1hbmQg4oCU +PC9zcGFuPic7Cn0KCi8vID09PT09IExvZXNjaGVuID09PT09CgpmdW5jdGlvbiBtaXR0ZWlsdW5n +TG9lc2NoZW4obSkgewogICAgYmVzdGFldGlnZW4oCiAgICAgICAgJ01pdHRlaWx1bmcg4oCeJyAr +IG0udGl0ZWwgKyAnIiBlbmRndWVsdGlnIGxvZXNjaGVuP1xuXG5EaWUgRWludHJhZWdlIHdlcmRl +biBhdXMgbWl0dGVpbHVuZ2VuLmpzb24gZW50ZmVybnQg4oCUIEFuaGFlbmdlIChCaWxkL1BERikg +YmxlaWJlbiBpbSBVcGxvYWQtT3JkbmVyIHVuZCBrb2VubmVuIG1hbnVlbGwgYXVmZ2VyYWV1bXQg +d2VyZGVuLicsCiAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGFwaURlbGV0ZSgnL2Fw +aS9taXR0ZWlsdW5nZW4vJyArIGVuY29kZVVSSUNvbXBvbmVudChtLmlkKSkKICAgICAgICAgICAg +ICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHRvYXN0KCdNaXR0ZWls +dW5nIGdlbG9lc2NodCcsICdlcmZvbGcnKTsKICAgICAgICAgICAgICAgICAgICBtaXR0ZWlsdW5n +ZW5UYWJSZW5kZXJuKCk7CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgLmNhdGNo +KGZ1bmN0aW9uKGUpIHsgdG9hc3QoJ0ZlaGxlcjogJyArIGUubWVzc2FnZSwgJ2ZlaGxlcicpOyB9 +KTsKICAgICAgICB9LAogICAgICAgIHsgdGl0ZWw6ICdNaXR0ZWlsdW5nIGxvZXNjaGVuJywgamFU +ZXh0OiAnRW5kZ3VlbHRpZyBsb2VzY2hlbicsIGphRGFuZ2VyOiB0cnVlIH0KICAgICk7Cn0KCi8v +ID09PT09IEVkaXRvci1Nb2RhbCAoTmV1ICsgQmVhcmJlaXRlbikgPT09PT0KCmV4cG9ydCBmdW5j +dGlvbiBtaXR0ZWlsdW5nTmV1T2VmZm5lbigpIHsKICAgIG1pdHRlaWx1bmdFZGl0b3JPZWZmbmVu +KG51bGwpOwp9CgpmdW5jdGlvbiBtaXR0ZWlsdW5nRWRpdG9yT2VmZm5lbihtKSB7CiAgICB2YXIg +aXN0TmV1ID0gIW07CiAgICBtID0gbSB8fCB7CiAgICAgICAgaWQ6IG51bGwsCiAgICAgICAgdGl0 +ZWw6ICcnLAogICAgICAgIHRleHQ6ICcnLAogICAgICAgIHRodW1ibmFpbDogbnVsbCwKICAgICAg +ICBwZGY6IG51bGwsCiAgICAgICAgdHJpZ2dlcjogJ2Vpbm1hbCcsCiAgICAgICAgYmlzRGF0dW06 +ICcnLAogICAgICAgIGVtcGZhZW5nZXI6IHsgYWxsZTogdHJ1ZSwgcGVyc29uZW46IFtdLCBncnVw +cGVuOiBbXSwgcm9sbGVuOiBbXSB9LAogICAgfTsKICAgIHZhciBncnVwcGVuID0gKFouYWRtaW4u +Z3J1cHBlbiB8fCBbXSkubWFwKGZ1bmN0aW9uKGcpIHsgcmV0dXJuIGcubmFtZTsgfSk7CiAgICB2 +YXIgZnVua3Rpb25lbiA9IGdldEZ1bmt0aW9uZW4oKS5tYXAoZnVuY3Rpb24oZikgeyByZXR1cm4g +Zi5jb2RlOyB9KTsKICAgIHZhciBwZXJzb25lbiA9IChaLnBsYW51bmcucGVyc29uZW4gfHwgW10p +LmZpbHRlcihmdW5jdGlvbihwKSB7IHJldHVybiBwLmFrdGl2ICYmICFwLmdlbG9lc2NodEFtOyB9 +KQogICAgICAgICAgICAgICAgICAgICAgIC5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsgcmV0dXJuIChh +Lm5hbWUgfHwgJycpLmxvY2FsZUNvbXBhcmUoYi5uYW1lIHx8ICcnLCAnZGUnKTsgfSk7CgogICAg +dmFyIGtvZXJwZXIgPSAnJyArCiAgICAgICAgJzxkaXYgY2xhc3M9ImZvcm0tZ3J1cHBlIGZvcm0t +cGZsaWNodCI+PGxhYmVsPlRpdGVsPC9sYWJlbD4nICsKICAgICAgICAgICAgJzxpbnB1dCB0eXBl +PSJ0ZXh0IiBpZD0ibWl0LXRpdGVsIiBjbGFzcz0iZm9ybS1pbnB1dCIgc3R5bGU9IndpZHRoOjEw +MCUiIG1heGxlbmd0aD0iMTIwIiBkYXRhLW1heGxlbmd0aC1jb3VudGVyPSIxIiB2YWx1ZT0iJyAr +IGVzY2FwZUF0dHIobS50aXRlbCkgKyAnIiBwbGFjZWhvbGRlcj0iei5CLiBOZXVlIFNjaGljaHRj +b2RlLUtvbnZlbnRpb24gYWIgSnVuaSI+PC9kaXY+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9ImZv +cm0tZ3J1cHBlIGZvcm0tcGZsaWNodCI+PGxhYmVsPlRleHQ8L2xhYmVsPicgKwogICAgICAgICAg +ICAnPGRpdiBpZD0ibWl0LXRleHQiIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgY2xhc3M9ImZvcm0t +aW5wdXQiIHN0eWxlPSJtaW4taGVpZ2h0OjE0MHB4O3dpZHRoOjEwMCU7bGluZS1oZWlnaHQ6MS41 +Ij4nICsgc2FuaXRpemVSaWNoSHRtbChtLnRleHQgfHwgJycpICsgJzwvZGl2PicgKwogICAgICAg +ICAgICAnPHNtYWxsIHN0eWxlPSJjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6dmFy +KC0tZnMtc20pIj5SaWNoLVRleHQ6IGZldHQva3Vyc2l2L0xpc3RlbiB1ZWJlciBkZW4gUlRFLUZs +b2F0aW5nLUJhciBiZWkgRm9rdXMuPC9zbWFsbD48L2Rpdj4nICsKCiAgICAgICAgJzxkaXYgc3R5 +bGU9ImRpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MCAxNnB4 +O2FsaWduLWl0ZW1zOmVuZCI+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJmb3JtLWdydXBw +ZSI+PGxhYmVsPlRyaWdnZXI8L2xhYmVsPicgKwogICAgICAgICAgICAgICAgJzxzZWxlY3QgaWQ9 +Im1pdC10cmlnZ2VyIiBjbGFzcz0iZm9ybS1pbnB1dCIgc3R5bGU9IndpZHRoOjEwMCUiPicgKwog +ICAgICAgICAgICAgICAgICAgICc8b3B0aW9uIHZhbHVlPSJlaW5tYWwiJyArIChtLnRyaWdnZXIg +PT09ICdlaW5tYWwnID8gJyBzZWxlY3RlZCcgOiAnJykgKyAnPkVpbm1hbCAoc2llaHQgZGVyIFVz +ZXIgZ2VuYXUgMcOXKTwvb3B0aW9uPicgKwogICAgICAgICAgICAgICAgICAgICc8b3B0aW9uIHZh +bHVlPSJqZWRlc21hbCInICsgKG0udHJpZ2dlciA9PT0gJ2plZGVzbWFsJyA/ICcgc2VsZWN0ZWQn +IDogJycpICsgJz5KZWRlcyBNYWwgKDHDlyBwcm8gS2FsZW5kZXJ0YWcpPC9vcHRpb24+JyArCiAg +ICAgICAgICAgICAgICAgICAgJzxvcHRpb24gdmFsdWU9ImJpc0RhdHVtIicgKyAobS50cmlnZ2Vy +ID09PSAnYmlzRGF0dW0nID8gJyBzZWxlY3RlZCcgOiAnJykgKyAnPkJpcyBEYXR1bSAodGFlZ2xp +Y2ggYmlzIFN0aWNodGFnKTwvb3B0aW9uPicgKwogICAgICAgICAgICAgICAgJzwvc2VsZWN0Pjwv +ZGl2PicgKwogICAgICAgICAgICAnPGRpdiBjbGFzcz0iZm9ybS1ncnVwcGUiIGlkPSJtaXQtYmlz +RGF0dW0tZ3J1cHBlIiBzdHlsZT0iJyArIChtLnRyaWdnZXIgPT09ICdiaXNEYXR1bScgPyAnJyA6 +ICdkaXNwbGF5Om5vbmUnKSArICciPjxsYWJlbD5iaXMgRGF0dW08L2xhYmVsPicgKwogICAgICAg +ICAgICAgICAgJzxpbnB1dCB0eXBlPSJkYXRlIiBpZD0ibWl0LWJpc0RhdHVtIiBjbGFzcz0iZm9y +bS1pbnB1dCIgc3R5bGU9IndpZHRoOjEwMCUiIHZhbHVlPSInICsgZXNjYXBlQXR0cihtLmJpc0Rh +dHVtIHx8ICcnKSArICciPjwvZGl2PicgKwogICAgICAgICc8L2Rpdj4nICsKCiAgICAgICAgJzxm +aWVsZHNldCBjbGFzcz0iZm9ybS1ncnVwcGUiIHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkIHZhcigt +LWJvcmRlci1saWdodCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO3BhZGRpbmc6dmFy +KC0tc3AtMykiPicgKwogICAgICAgICAgICAnPGxlZ2VuZCBzdHlsZT0icGFkZGluZzowIHZhcigt +LXNwLTIpO2ZvbnQtd2VpZ2h0OjYwMCI+RW1wZmFlbmdlcjwvbGVnZW5kPicgKwogICAgICAgICAg +ICAnPGxhYmVsIHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7 +bWFyZ2luLWJvdHRvbTp2YXIoLS1zcC0zKSI+JyArCiAgICAgICAgICAgICAgICAnPGlucHV0IHR5 +cGU9ImNoZWNrYm94IiBpZD0ibWl0LWVtcC1hbGxlIicgKyAobS5lbXBmYWVuZ2VyLmFsbGUgPyAn +IGNoZWNrZWQnIDogJycpICsgJz4gJyArCiAgICAgICAgICAgICAgICAnPHN0cm9uZz5BbGxlIGVp +bmdlbG9nZ3RlbiBVc2VyPC9zdHJvbmc+ICh1ZWJlcnNjaHJlaWJ0IGRpZSBBdXN3YWhsIHVudGVu +KScgKwogICAgICAgICAgICAnPC9sYWJlbD4nICsKICAgICAgICAgICAgJzxkaXYgaWQ9Im1pdC1l +bXAtc3BleiIgc3R5bGU9IicgKyAobS5lbXBmYWVuZ2VyLmFsbGUgPyAnb3BhY2l0eTowLjU7cG9p +bnRlci1ldmVudHM6bm9uZScgOiAnJykgKyAnIj4nICsKICAgICAgICAgICAgICAgICc8ZGl2IGNs +YXNzPSJmb3JtLWdydXBwZSI+PGxhYmVsPkRpZW5zdGdydXBwZW48L2xhYmVsPicgKwogICAgICAg +ICAgICAgICAgICAgICc8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOnZhcigtLXNwLTMpO2Zs +ZXgtd3JhcDp3cmFwIj4nICsKICAgICAgICAgICAgICAgICAgICBncnVwcGVuLm1hcChmdW5jdGlv +bihnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjayA9IChtLmVtcGZhZW5nZXIuZ3J1 +cHBlbiB8fCBbXSkuaW5kZXhPZihnKSA+PSAwID8gJyBjaGVja2VkJyA6ICcnOwogICAgICAgICAg +ICAgICAgICAgICAgICByZXR1cm4gJzxsYWJlbCBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0 +ZW1zOmNlbnRlcjtnYXA6NHB4Ij4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aW5w +dXQgdHlwZT0iY2hlY2tib3giIGRhdGEtZW1wLWdydXBwZT0iJyArIGVzY2FwZUF0dHIoZykgKyAn +IicgKyBjayArICc+ICcgKyBlc2NhcGVIVE1MKGcpICsKICAgICAgICAgICAgICAgICAgICAgICAg +JzwvbGFiZWw+JzsKICAgICAgICAgICAgICAgICAgICB9KS5qb2luKCcnKSArCiAgICAgICAgICAg +ICAgICAgICAgJzwvZGl2PjwvZGl2PicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImZv +cm0tZ3J1cHBlIj48bGFiZWw+Um9sbGVuIC8gRnVua3Rpb25lbjwvbGFiZWw+JyArCiAgICAgICAg +ICAgICAgICAgICAgJzxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDtnYXA6dmFyKC0tc3AtMyk7Zmxl +eC13cmFwOndyYXAiPicgKwogICAgICAgICAgICAgICAgICAgIFsnU1UnLCAnR2VzYW10dmVyYW50 +d29ydGxpY2gnXS5jb25jYXQoZnVua3Rpb25lbikubWFwKGZ1bmN0aW9uKHIpIHsKICAgICAgICAg +ICAgICAgICAgICAgICAgdmFyIGNrID0gKG0uZW1wZmFlbmdlci5yb2xsZW4gfHwgW10pLmluZGV4 +T2YocikgPj0gMCA/ICcgY2hlY2tlZCcgOiAnJzsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0 +dXJuICc8bGFiZWwgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRw +eCI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGlucHV0IHR5cGU9ImNoZWNrYm94 +IiBkYXRhLWVtcC1yb2xsZT0iJyArIGVzY2FwZUF0dHIocikgKyAnIicgKyBjayArICc+ICcgKyBl +c2NhcGVIVE1MKHIpICsKICAgICAgICAgICAgICAgICAgICAgICAgJzwvbGFiZWw+JzsKICAgICAg +ICAgICAgICAgICAgICB9KS5qb2luKCcnKSArCiAgICAgICAgICAgICAgICAgICAgJzwvZGl2Pjwv +ZGl2PicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImZvcm0tZ3J1cHBlIj48bGFiZWw+ +RWluemVsbmUgUGVyc29uZW4gKE1laHJmYWNoYXVzd2FobCBtaXQgU3RyZy9DbWQpPC9sYWJlbD4n +ICsKICAgICAgICAgICAgICAgICAgICAnPHNlbGVjdCBpZD0ibWl0LWVtcC1wZXJzb25lbiIgY2xh +c3M9ImZvcm0taW5wdXQiIG11bHRpcGxlIHNpemU9IjYiIHN0eWxlPSJ3aWR0aDoxMDAlIj4nICsK +ICAgICAgICAgICAgICAgICAgICBwZXJzb25lbi5tYXAoZnVuY3Rpb24ocCkgewogICAgICAgICAg +ICAgICAgICAgICAgICB2YXIgY2sgPSAobS5lbXBmYWVuZ2VyLnBlcnNvbmVuIHx8IFtdKS5zb21l +KGZ1bmN0aW9uKGlkKSB7IHJldHVybiBTdHJpbmcoaWQpID09PSBTdHJpbmcocC5pZCk7IH0pID8g +JyBzZWxlY3RlZCcgOiAnJzsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG5hbWUgPSAoKHAu +dm9ybmFtZSA/IHAudm9ybmFtZSArICcgJyA6ICcnKSArIChwLm5hbWUgfHwgJycpKS50cmltKCk7 +CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnPG9wdGlvbiB2YWx1ZT0iJyArIHAuaWQg +KyAnIicgKyBjayArICc+JyArIGVzY2FwZUhUTUwobmFtZSkgKyAnICgnICsgZXNjYXBlSFRNTChw +LmdydXBwZSB8fCAn4oCTJykgKyAnKTwvb3B0aW9uPic7CiAgICAgICAgICAgICAgICAgICAgfSku +am9pbignJykgKwogICAgICAgICAgICAgICAgICAgICc8L3NlbGVjdD48L2Rpdj4nICsKICAgICAg +ICAgICAgJzwvZGl2PicgKwogICAgICAgICc8L2ZpZWxkc2V0PicgKwoKICAgICAgICAnPGZpZWxk +c2V0IGNsYXNzPSJmb3JtLWdydXBwZSIgc3R5bGU9ImJvcmRlcjoxcHggc29saWQgdmFyKC0tYm9y +ZGVyLWxpZ2h0KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7cGFkZGluZzp2YXIoLS1z +cC0zKSI+JyArCiAgICAgICAgICAgICc8bGVnZW5kIHN0eWxlPSJwYWRkaW5nOjAgdmFyKC0tc3At +Mik7Zm9udC13ZWlnaHQ6NjAwIj5BbmhhZW5nZSAob3B0aW9uYWwpPC9sZWdlbmQ+JyArCiAgICAg +ICAgICAgICc8ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSI+PGxhYmVsPlRodW1ibmFpbC1CaWxkICht +YXguIDIgTUIsIEpQRy9QTkcvV2ViUCk8L2xhYmVsPicgKwogICAgICAgICAgICAgICAgJzxpbnB1 +dCB0eXBlPSJmaWxlIiBpZD0ibWl0LWJpbGQtaW5wdXQiIGFjY2VwdD0iaW1hZ2UvanBlZyxpbWFn +ZS9wbmcsaW1hZ2Uvd2VicCIgY2xhc3M9ImZvcm0taW5wdXQiPicgKwogICAgICAgICAgICAgICAg +JzxkaXYgaWQ9Im1pdC1iaWxkLXZvcnNjaGF1IiBzdHlsZT0ibWFyZ2luLXRvcDp2YXIoLS1zcC0y +KSI+JyArCiAgICAgICAgICAgICAgICAgICAgKG0udGh1bWJuYWlsID8gJzxhIGhyZWY9IicgKyBl +c2NhcGVBdHRyKG0udGh1bWJuYWlsKSArICciIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iJyAr +IGVzY2FwZUF0dHIobS50aHVtYm5haWwpICsgJyIgYWx0PSJBbmhhbmciIHN0eWxlPSJtYXgtd2lk +dGg6MjAwcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pIj48L2E+IDxidXR0b24gdHlw +ZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWsgYnRuLWtsZWluIiBpZD0ibWl0LWJpbGQtZW50 +ZmVybmVuIj5FbnRmZXJuZW48L2J1dHRvbj4nIDogJzxzcGFuIHN0eWxlPSJjb2xvcjp2YXIoLS10 +ZXh0LW11dGVkKSI+4oCUIGtlaW4gQmlsZCDigJQ8L3NwYW4+JykgKwogICAgICAgICAgICAgICAg +JzwvZGl2PicgKwogICAgICAgICAgICAnPC9kaXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNz +PSJmb3JtLWdydXBwZSI+PGxhYmVsPlBERi1BbmhhbmcgKG1heC4gMTAgTUIpPC9sYWJlbD4nICsK +ICAgICAgICAgICAgICAgICc8aW5wdXQgdHlwZT0iZmlsZSIgaWQ9Im1pdC1wZGYtaW5wdXQiIGFj +Y2VwdD0iYXBwbGljYXRpb24vcGRmIiBjbGFzcz0iZm9ybS1pbnB1dCI+JyArCiAgICAgICAgICAg +ICAgICAnPGRpdiBpZD0ibWl0LXBkZi12b3JzY2hhdSIgc3R5bGU9Im1hcmdpbi10b3A6dmFyKC0t +c3AtMikiPicgKwogICAgICAgICAgICAgICAgICAgIChtLnBkZiA/ICc8YSBocmVmPSInICsgZXNj +YXBlQXR0cihtLnBkZikgKyAnIiB0YXJnZXQ9Il9ibGFuayI+8J+ThCAnICsgZXNjYXBlSFRNTCht +LnBkZi5zcGxpdCgnLycpLnBvcCgpKSArICc8L2E+IDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFz +cz0iYnRuIGJ0bi1zZWsgYnRuLWtsZWluIiBpZD0ibWl0LXBkZi1lbnRmZXJuZW4iPkVudGZlcm5l +bjwvYnV0dG9uPicgOiAnPHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLXRleHQtbXV0ZWQpIj7igJQg +a2VpbiBQREYg4oCUPC9zcGFuPicpICsKICAgICAgICAgICAgICAgICc8L2Rpdj4nICsKICAgICAg +ICAgICAgJzwvZGl2PicgKwogICAgICAgICc8L2ZpZWxkc2V0Pic7CgogICAgdmFyIGZ1c3MgPSAn +PGJ1dHRvbiBjbGFzcz0iYnRuIiBpZD0ibWl0LWFiYnJlY2hlbiIgdHlwZT0iYnV0dG9uIj5BYmJy +ZWNoZW48L2J1dHRvbj4nICsKICAgICAgICAgICAgICAgJzxidXR0b24gY2xhc3M9ImJ0biBidG4t +cHJpbWFlciIgaWQ9ImRsZy1zcGVpY2hlcm4iIHR5cGU9ImJ1dHRvbiI+JyArIChpc3ROZXUgPyAn +QW5sZWdlbicgOiAnU3BlaWNoZXJuJykgKyAnPC9idXR0b24+JzsKCiAgICAvLyBTdGF0ZSBmdWVy +IGRpZSBBbmhhZW5nZSDigJQgd2lyZCBkdXJjaCBVcGxvYWRzL0VudGZlcm5lbiB1ZWJlcnNjaHJp +ZWJlbi4KICAgIHZhciBzdGF0ZSA9IHsKICAgICAgICB0aHVtYm5haWw6IG0udGh1bWJuYWlsIHx8 +IG51bGwsCiAgICAgICAgcGRmOiBtLnBkZiB8fCBudWxsLAogICAgfTsKCiAgICBtb2RhbFplaWdl +bihpc3ROZXUgPyAnTmV1ZSBNaXR0ZWlsdW5nJyA6ICdNaXR0ZWlsdW5nIGJlYXJiZWl0ZW4nLCBr +b2VycGVyLCBmdXNzLAogICAgICAgIGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdGl0ZWwg +PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWl0LXRpdGVsJykudmFsdWUudHJpbSgpOwogICAg +ICAgICAgICB2YXIgdGV4dFJhdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtaXQtdGV4dCcp +LmlubmVySFRNTDsKICAgICAgICAgICAgaWYgKCF0aXRlbCkgeyBwZmxpY2h0ZmVsZEZlaGxlcign +bWl0LXRpdGVsJywgJ1RpdGVsIGlzdCBQZmxpY2h0ZmVsZCcpOyByZXR1cm47IH0KICAgICAgICAg +ICAgLy8gUlRFIGxpZWZlcnQgSFRNTDsgZGVmZW5zaXYgc2FuaXRpemVuICsgYXVmIFBsYWluLUxl +bmd0aCBwcnVlZmVuCiAgICAgICAgICAgIHZhciB0ZXh0U2FuID0gc2FuaXRpemVSaWNoSHRtbCh0 +ZXh0UmF3KTsKICAgICAgICAgICAgdmFyIHBsYWluTGVuID0gdGV4dFNhbi5yZXBsYWNlKC88W14+ +XSs+L2csICcnKS50cmltKCkubGVuZ3RoOwogICAgICAgICAgICBpZiAocGxhaW5MZW4gPT09IDAp +IHsgcGZsaWNodGZlbGRGZWhsZXIoJ21pdC10ZXh0JywgJ1RleHQgaXN0IFBmbGljaHRmZWxkJyk7 +IHJldHVybjsgfQogICAgICAgICAgICB2YXIgdHJpZ2dlciA9IGRvY3VtZW50LmdldEVsZW1lbnRC +eUlkKCdtaXQtdHJpZ2dlcicpLnZhbHVlOwogICAgICAgICAgICB2YXIgYmlzRGF0dW0gPSB0cmln +Z2VyID09PSAnYmlzRGF0dW0nID8gKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtaXQtYmlzRGF0 +dW0nKS52YWx1ZSB8fCBudWxsKSA6IG51bGw7CiAgICAgICAgICAgIGlmICh0cmlnZ2VyID09PSAn +YmlzRGF0dW0nICYmICFiaXNEYXR1bSkgewogICAgICAgICAgICAgICAgcGZsaWNodGZlbGRGZWhs +ZXIoJ21pdC1iaXNEYXR1bScsICdiaXMgRGF0dW0gaXN0IFBmbGljaHQgYmVpIFRyaWdnZXIg4oCe +YmlzRGF0dW0iJyk7IHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgYWxsZSA9 +IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtaXQtZW1wLWFsbGUnKS5jaGVja2VkOwogICAgICAg +ICAgICB2YXIgZ3J1cHBlbiA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFs +bCgnaW5wdXRbZGF0YS1lbXAtZ3J1cHBlXTpjaGVja2VkJykpCiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIC5tYXAoZnVuY3Rpb24oZWwpIHsgcmV0dXJuIGVsLmdldEF0dHJpYnV0ZSgn +ZGF0YS1lbXAtZ3J1cHBlJyk7IH0pOwogICAgICAgICAgICB2YXIgcm9sbGVuID0gW10uc2xpY2Uu +Y2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdpbnB1dFtkYXRhLWVtcC1yb2xsZV06Y2hl +Y2tlZCcpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKGZ1bmN0aW9uKGVs +KSB7IHJldHVybiBlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtZW1wLXJvbGxlJyk7IH0pOwogICAgICAg +ICAgICB2YXIgcGVyc29uZW5TZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWl0LWVtcC1w +ZXJzb25lbicpOwogICAgICAgICAgICB2YXIgcGVyc29uZW5JZHMgPSBbXS5zbGljZS5jYWxsKHBl +cnNvbmVuU2VsLnNlbGVjdGVkT3B0aW9ucykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAubWFwKGZ1bmN0aW9uKG8pIHsgcmV0dXJuIHBhcnNlSW50KG8udmFsdWUsIDEwKTsgfSk7CiAg +ICAgICAgICAgIGlmICghYWxsZSAmJiBncnVwcGVuLmxlbmd0aCA9PT0gMCAmJiByb2xsZW4ubGVu +Z3RoID09PSAwICYmIHBlcnNvbmVuSWRzLmxlbmd0aCA9PT0gMCkgewogICAgICAgICAgICAgICAg +dG9hc3QoJ01pbmRlc3RlbnMgZWluZW4gRW1wZmFlbmdlciB3YWVobGVuIChvZGVyIOKAnkFsbGUi +IGFrdGl2aWVyZW4pJywgJ3dhcm51bmcnKTsgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAg +ICAgIHZhciBwYXlsb2FkID0gewogICAgICAgICAgICAgICAgdGl0ZWw6IHRpdGVsLAogICAgICAg +ICAgICAgICAgdGV4dDogdGV4dFNhbiwKICAgICAgICAgICAgICAgIHRyaWdnZXI6IHRyaWdnZXIs +CiAgICAgICAgICAgICAgICBiaXNEYXR1bTogYmlzRGF0dW0sCiAgICAgICAgICAgICAgICBlbXBm +YWVuZ2VyOiB7CiAgICAgICAgICAgICAgICAgICAgYWxsZTogYWxsZSwKICAgICAgICAgICAgICAg +ICAgICBwZXJzb25lbjogYWxsZSA/IFtdIDogcGVyc29uZW5JZHMsCiAgICAgICAgICAgICAgICAg +ICAgZ3J1cHBlbjogIGFsbGUgPyBbXSA6IGdydXBwZW4sCiAgICAgICAgICAgICAgICAgICAgcm9s +bGVuOiAgIGFsbGUgPyBbXSA6IHJvbGxlbiwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAg +ICAgICB0aHVtYm5haWw6IHN0YXRlLnRodW1ibmFpbCwKICAgICAgICAgICAgICAgIHBkZjogc3Rh +dGUucGRmLAogICAgICAgICAgICB9OwogICAgICAgICAgICB2YXIgdXJsID0gaXN0TmV1ID8gJy9h +cGkvbWl0dGVpbHVuZ2VuJyA6ICcvYXBpL21pdHRlaWx1bmdlbi8nICsgZW5jb2RlVVJJQ29tcG9u +ZW50KG0uaWQpOwogICAgICAgICAgICB2YXIgcCA9IGlzdE5ldSA/IGFwaVBvc3QodXJsLCBwYXls +b2FkKSA6IGFwaVB1dCh1cmwsIHBheWxvYWQpOwogICAgICAgICAgICBwLnRoZW4oZnVuY3Rpb24o +KSB7CiAgICAgICAgICAgICAgICBtb2RhbFNjaGxpZXNzZW4odHJ1ZSk7CiAgICAgICAgICAgICAg +ICB0b2FzdChpc3ROZXUgPyAnTWl0dGVpbHVuZyBhbmdlbGVndCcgOiAnTWl0dGVpbHVuZyBha3R1 +YWxpc2llcnQnLCAnZXJmb2xnJyk7CiAgICAgICAgICAgICAgICBtaXR0ZWlsdW5nZW5UYWJSZW5k +ZXJuKCk7CiAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsgdG9hc3QoJ0ZlaGxlcjog +JyArIGUubWVzc2FnZSwgJ2ZlaGxlcicpOyB9KTsKICAgICAgICB9CiAgICApOwoKICAgIC8vIFJU +RSBhdWYgZGFzIGNvbnRlbnRlZGl0YWJsZS1UZXh0ZmVsZAogICAgdmFyIHJ0ZSA9IGRvY3VtZW50 +LmdldEVsZW1lbnRCeUlkKCdtaXQtdGV4dCcpOwogICAgaWYgKHJ0ZSAmJiB0eXBlb2YgcnRlSW5p +dCA9PT0gJ2Z1bmN0aW9uJykgcnRlSW5pdChydGUpOwoKICAgIC8vIFRyaWdnZXItV2VjaHNlbDog +YmlzRGF0dW0tRmVsZCBlaW4tL2F1c2JsZW5kZW4KICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk +KCdtaXQtdHJpZ2dlcicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGZ1bmN0aW9uKCkgewog +ICAgICAgIHZhciBnID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21pdC1iaXNEYXR1bS1ncnVw +cGUnKTsKICAgICAgICBpZiAoZykgZy5zdHlsZS5kaXNwbGF5ID0gKHRoaXMudmFsdWUgPT09ICdi +aXNEYXR1bScgPyAnJyA6ICdub25lJyk7CiAgICB9KTsKCiAgICAvLyBFbXBmYWVuZ2VyIOKAnkFs +bGUiIHRvZ2dlbHQgZGllIHNwZXppZmlzY2hlbiBBdXN3YWhsZW4gdmlzdWVsbCBhdXMKICAgIGRv +Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdtaXQtZW1wLWFsbGUnKS5hZGRFdmVudExpc3RlbmVyKCdj +aGFuZ2UnLCBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgcyA9IGRvY3VtZW50LmdldEVsZW1lbnRC +eUlkKCdtaXQtZW1wLXNwZXonKTsKICAgICAgICBpZiAocykgewogICAgICAgICAgICBzLnN0eWxl +Lm9wYWNpdHkgPSB0aGlzLmNoZWNrZWQgPyAnMC41JyA6ICcnOwogICAgICAgICAgICBzLnN0eWxl +LnBvaW50ZXJFdmVudHMgPSB0aGlzLmNoZWNrZWQgPyAnbm9uZScgOiAnJzsKICAgICAgICB9CiAg +ICB9KTsKCiAgICAvLyBCaWxkLVVwbG9hZAogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21p +dC1iaWxkLWlucHV0JykuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgZnVuY3Rpb24oKSB7CiAg +ICAgICAgX2RhdFVwbG9hZFZlcmFyYmVpdGVuKHRoaXMuZmlsZXMgJiYgdGhpcy5maWxlc1swXSwg +J2JpbGQnLCBmdW5jdGlvbihwZmFkKSB7CiAgICAgICAgICAgIHN0YXRlLnRodW1ibmFpbCA9IHBm +YWQ7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtaXQtYmlsZC12b3JzY2hh +dScpLmlubmVySFRNTCA9CiAgICAgICAgICAgICAgICAnPGEgaHJlZj0iJyArIGVzY2FwZUF0dHIo +cGZhZCkgKyAnIiB0YXJnZXQ9Il9ibGFuayI+JyArCiAgICAgICAgICAgICAgICAgICAgJzxpbWcg +c3JjPSInICsgZXNjYXBlQXR0cihwZmFkKSArICciIGFsdD0iQW5oYW5nIiBzdHlsZT0ibWF4LXdp +ZHRoOjIwMHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKSI+JyArCiAgICAgICAgICAg +ICAgICAnPC9hPiA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tc2VrIGJ0bi1r +bGVpbiIgaWQ9Im1pdC1iaWxkLWVudGZlcm5lbiI+RW50ZmVybmVuPC9idXR0b24+JzsKICAgICAg +ICAgICAgX2JpbGRFbnRmZXJuZW5CaW5kZW4oc3RhdGUpOwogICAgICAgIH0pOwogICAgfSk7CiAg +ICBfYmlsZEVudGZlcm5lbkJpbmRlbihzdGF0ZSk7CgogICAgLy8gUERGLVVwbG9hZAogICAgZG9j +dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21pdC1wZGYtaW5wdXQnKS5hZGRFdmVudExpc3RlbmVyKCdj +aGFuZ2UnLCBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZmlsZSA9IHRoaXMuZmlsZXMgJiYgdGhp +cy5maWxlc1swXTsKICAgICAgICB2YXIgbmFtZSA9IGZpbGUgPyBmaWxlLm5hbWUgOiAnZG9rdS5w +ZGYnOwogICAgICAgIF9kYXRVcGxvYWRWZXJhcmJlaXRlbihmaWxlLCAncGRmJywgZnVuY3Rpb24o +cGZhZCkgewogICAgICAgICAgICBzdGF0ZS5wZGYgPSBwZmFkOwogICAgICAgICAgICBkb2N1bWVu +dC5nZXRFbGVtZW50QnlJZCgnbWl0LXBkZi12b3JzY2hhdScpLmlubmVySFRNTCA9CiAgICAgICAg +ICAgICAgICAnPGEgaHJlZj0iJyArIGVzY2FwZUF0dHIocGZhZCkgKyAnIiB0YXJnZXQ9Il9ibGFu +ayI+8J+ThCAnICsgZXNjYXBlSFRNTChuYW1lKSArICc8L2E+ICcgKwogICAgICAgICAgICAgICAg +JzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWsgYnRuLWtsZWluIiBpZD0i +bWl0LXBkZi1lbnRmZXJuZW4iPkVudGZlcm5lbjwvYnV0dG9uPic7CiAgICAgICAgICAgIF9wZGZF +bnRmZXJuZW5CaW5kZW4oc3RhdGUpOwogICAgICAgIH0pOwogICAgfSk7CiAgICBfcGRmRW50ZmVy +bmVuQmluZGVuKHN0YXRlKTsKCiAgICAvLyBBYmJyZWNoZW4KICAgIGRvY3VtZW50LmdldEVsZW1l +bnRCeUlkKCdtaXQtYWJicmVjaGVuJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlv +bigpIHsgbW9kYWxTY2hsaWVzc2VuKHRydWUpOyB9KTsKfQoKZnVuY3Rpb24gX2JpbGRFbnRmZXJu +ZW5CaW5kZW4oc3RhdGUpIHsKICAgIHZhciBidG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn +bWl0LWJpbGQtZW50ZmVybmVuJyk7CiAgICBpZiAoIWJ0bikgcmV0dXJuOwogICAgYnRuLmFkZEV2 +ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgc3RhdGUudGh1bWJuYWls +ID0gbnVsbDsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWl0LWJpbGQtdm9yc2No +YXUnKS5pbm5lckhUTUwgPSAnPHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLXRleHQtbXV0ZWQpIj7i +gJQga2VpbiBCaWxkIOKAlDwvc3Bhbj4nOwogICAgICAgIHZhciBpbnAgPSBkb2N1bWVudC5nZXRF +bGVtZW50QnlJZCgnbWl0LWJpbGQtaW5wdXQnKTsKICAgICAgICBpZiAoaW5wKSBpbnAudmFsdWUg +PSAnJzsKICAgIH0pOwp9CgpmdW5jdGlvbiBfcGRmRW50ZmVybmVuQmluZGVuKHN0YXRlKSB7CiAg +ICB2YXIgYnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21pdC1wZGYtZW50ZmVybmVuJyk7 +CiAgICBpZiAoIWJ0bikgcmV0dXJuOwogICAgYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywg +ZnVuY3Rpb24oKSB7CiAgICAgICAgc3RhdGUucGRmID0gbnVsbDsKICAgICAgICBkb2N1bWVudC5n +ZXRFbGVtZW50QnlJZCgnbWl0LXBkZi12b3JzY2hhdScpLmlubmVySFRNTCA9ICc8c3BhbiBzdHls +ZT0iY29sb3I6dmFyKC0tdGV4dC1tdXRlZCkiPuKAlCBrZWluIFBERiDigJQ8L3NwYW4+JzsKICAg +ICAgICB2YXIgaW5wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21pdC1wZGYtaW5wdXQnKTsK +ICAgICAgICBpZiAoaW5wKSBpbnAudmFsdWUgPSAnJzsKICAgIH0pOwp9CgpmdW5jdGlvbiBfZGF0 +VXBsb2FkVmVyYXJiZWl0ZW4oZmlsZSwgYXJ0LCBvbkZlcnRpZykgewogICAgaWYgKCFmaWxlKSBy +ZXR1cm47CiAgICB2YXIgbWF4ID0gYXJ0ID09PSAncGRmJyA/IDEwICogMTAyNCAqIDEwMjQgOiAy +ICogMTAyNCAqIDEwMjQ7CiAgICBpZiAoZmlsZS5zaXplID4gbWF4KSB7CiAgICAgICAgdmFyIGxp +bWl0S2IgPSBtYXggLyAxMDI0OwogICAgICAgIHRvYXN0KGFydCArICc6IERhdGVpIHp1IGdyb3Nz +IChtYXggJyArIGxpbWl0S2IgKyAnIEtCKScsICdmZWhsZXInKTsgcmV0dXJuOwogICAgfQogICAg +dmFyIHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7CiAgICByZWFkZXIub25sb2FkID0gZnVuY3Rp +b24oKSB7CiAgICAgICAgdmFyIGRhdGFVcmwgPSByZWFkZXIucmVzdWx0OwogICAgICAgIGFwaVBv +c3QoJy9hcGkvbWl0dGVpbHVuZ2VuL3VwbG9hZCcsIHsgYXJ0OiBhcnQsIGRhdGVpbmFtZTogZmls +ZS5uYW1lLCBkYXRhVXJsOiBkYXRhVXJsIH0pCiAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKHJl +cykgewogICAgICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMucGZhZCkgb25GZXJ0aWcocmVzLnBm +YWQpOwogICAgICAgICAgICAgICAgZWxzZSB0b2FzdCgnVXBsb2FkLUFudHdvcnQgb2huZSBQZmFk +JywgJ2ZlaGxlcicpOwogICAgICAgICAgICB9KQogICAgICAgICAgICAuY2F0Y2goZnVuY3Rpb24o +ZSkgeyB0b2FzdCgnVXBsb2FkLUZlaGxlcjogJyArIGUubWVzc2FnZSwgJ2ZlaGxlcicpOyB9KTsK +ICAgIH07CiAgICByZWFkZXIub25lcnJvciA9IGZ1bmN0aW9uKCkgeyB0b2FzdCgnS29ubnRlIERh +dGVpIG5pY2h0IGxlc2VuJywgJ2ZlaGxlcicpOyB9OwogICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwo +ZmlsZSk7Cn0K +### FILE: js/admin_personal.js | 108762 +Ly8gPT09IGFkbWluX3BlcnNvbmFsLmpzID09PQovLyBQaGFzZSA5LUIgQzQ6IGF1cyBhZG1pbi5q +cyBleHRyYWhpZXJ0LiBHcm9lc3N0ZXMgU3ViLU1vZHVsIGRlciBQaGFzZSwKLy8gYnVlbmRlbHQg +YWxsZSBQZXJzb25hbC1iZXpvZ2VuZW4gQWRtaW4tRnVua3Rpb25lbjoKLy8KLy8gICAtIFBlcnNv +bmFsLVRhYmVsbGUgKG1pdCBOZXVpbXBvcnQtQmxvY2ssIElubGluZS1FZGl0cywgUGFwaWVya29y +Yi0KLy8gICAgIEZpbHRlciwgR3J1cHBlbi1UcmVubmVyKQovLyAgIC0gUGVyc29uIE5ldS9CZWFy +YmVpdGVuL0xvZXNjaGVuICsgTWFudWVsbGUgU29ydGllcnVuZwovLyAgIC0gSW5saW5lLUVkaXRv +cmVuIGZ1ZXIgUmFuZywgRGllbnN0Z3JhZCwgRnVua3Rpb24gdW5kIGJlbGllYmlnZQovLyAgICAg +RGF0ZW4tRmVsZGVyIChUZWxlZm9uLCBFLU1haWwsIE5XLUtlbm51bmcsIE9FLCAuLi4pCi8vICAg +LSBFLU1haWwtQWt0aW9uIGF1cyBkZXIgUGVyc29uYWwtVGFiZWxsZQovLwovLyBFeHRlcm5lciBL +b25zdW1lbnQ6IGFwcC5qcyBiaW5kZXQgfjE1IGRpZXNlciBTeW1ib2xlOyBibGVpYnQgdWViZXIK +Ly8gZGFzIFBhc3MtVGhyb3VnaC1SZS1FeHBvcnQgaW4gYWRtaW4uanMgdW52ZXJhZW5kZXJ0IGJp +cyBQaGFzZSA5LUIgQzUuCgppbXBvcnQgeyBaIH0gZnJvbSAnLi9jb3JlX3N0YXRlLmpzJzsKaW1w +b3J0IHsKZXNjYXBlSFRNTCwgZXNjYXBlQXR0ciwgZGF0dW1Gb3JtYXRERSwgZGF0dW1TdHIsCmdl +dEZ1bmt0aW9uZW4sIGdldERpZW5zdGdyYWRlLApfcGVyc29uQW56ZWlnZSwgYWJzZW5kZXJOYW1l +RXJtaXR0ZWxuLAphdmF0YXJLcmVpc0h0bWwsIHBlcnNvblNjaGljaHRBbQp9IGZyb20gJy4vY29y +ZV91dGlsLmpzJzsKCi8vIHBlcnNvblNjaGljaHRBbSAoUm90YXRpb25zLVNjaGljaHQgRi9TL04g +YXVzIGRlciBTdGFuZG9ydC1TY2hpY2h0Zm9sZ2UpCi8vIGxpZWd0IHNlaXQgMjAyNi0wNS0yNyBp +biBjb3JlX3V0aWwuanMg4oCUIHdpcmQgaGllciBpbXBvcnRpZXJ0IHVuZCBhdWNoIHZvbQovLyBT +Y2hpY2h0LVRlYW0tTW9kdWwgZ2VudXR6dC4KLy8gX2lzdERyaXR0ZUZ1bmt0aW9uIHd1cmRlIGFt +IDIwMjYtMDUtMjMgZW50ZmVybnQ6IGRpZSBWSTMtREdMLQovLyBRdWFsaWZpemllcnVuZyBpc3Qg +c2VpdGRlbSBmdWVyIGFsbGUgRnVua3Rpb25lbiBwZmxlZ2JhciwgbmljaHQKLy8gbWVociBudXIg +ZnVlciAiMy4gTWFubi9GcmF1Ii4KCi8vIE5hZWNoc3RlciBXZWNoc2VsdGFnIGZ1ZXIgZWluZSBQ +ZXJzb24gYWIgZ2VnZWJlbmVtIERhdHVtLiBXZWNoc2VsdGFnID0KLy8gVGFnLCBhbiBkZW0gZGll +IGFiZ2VsZWl0ZXRlIFNjaGljaHQgc2ljaCBnZWdlbnVlYmVyIGRlbSBWb3J0YWcgYWVuZGVydC4K +Ly8gTGllZmVydCB7IGRhdHVtLCB2b24sIG5hY2ggfSBvZGVyIG51bGwuCmZ1bmN0aW9uIF9wZXJz +b25OYWVjaHN0ZXJXZWNoc2VsKHBlcnNvbiwgYWJEYXR1bSkgewogICAgaWYgKCFwZXJzb24gfHwg +IXBlcnNvbi5ncnVwcGUgfHwgIXBlcnNvbi5vZSkgcmV0dXJuIG51bGw7CiAgICB2YXIgc3RhbmRv +cnQgPSAoWi5hZG1pbi5zdGFuZG9ydGUgfHwgW10pLmZpbmQoZnVuY3Rpb24ocykgeyByZXR1cm4g +KHMua3VlcnplbCB8fCAnJykgPT09IHBlcnNvbi5vZTsgfSk7CiAgICBpZiAoIXN0YW5kb3J0IHx8 +IHN0YW5kb3J0LmlzdFBvb2wpIHJldHVybiBudWxsOwogICAgdmFyIGhldXRlID0gYWJEYXR1bSA/ +IG5ldyBEYXRlKGFiRGF0dW0gKyAnVDAwOjAwOjAwJykgOiBuZXcgRGF0ZSgpOwogICAgdmFyIGFr +dHVlbGwgPSBwZXJzb25TY2hpY2h0QW0ocGVyc29uLCBkYXR1bVN0cihoZXV0ZSkpOwogICAgaWYg +KCFha3R1ZWxsKSByZXR1cm4gbnVsbDsKICAgIGZvciAodmFyIGkgPSAxOyBpIDw9IDYwOyBpKysp +IHsKICAgICAgICB2YXIgZCA9IG5ldyBEYXRlKGhldXRlKTsKICAgICAgICBkLnNldERhdGUoZC5n +ZXREYXRlKCkgKyBpKTsKICAgICAgICB2YXIgZHMgPSBkYXR1bVN0cihkKTsKICAgICAgICB2YXIg +cyA9IHBlcnNvblNjaGljaHRBbShwZXJzb24sIGRzKTsKICAgICAgICBpZiAocyAmJiBzICE9PSBh +a3R1ZWxsKSByZXR1cm4geyBkYXR1bTogZHMsIHZvbjogYWt0dWVsbCwgbmFjaDogcyB9OwogICAg +fQogICAgcmV0dXJuIG51bGw7Cn0KCi8vIEtvbXBha3RlIEFuemVpZ2UgZnVlciBkaWUgIlJvdGEi +LVNwYWx0ZTogRi9TL04tUGlsbGUgKyBIb3Zlci1Ub29sdGlwCi8vIG1pdCBha3R1ZWxsZXIgU2No +aWNodCArIG5hZWNoc3RlbSBXZWNoc2VsdGFnLgpmdW5jdGlvbiBfcGVyc29uUm90YVBpbGxlKHBl +cnNvbikgewogICAgdmFyIGhldXRlID0gZGF0dW1TdHIobmV3IERhdGUoKSk7CiAgICB2YXIgYWt0 +dWVsbCA9IHBlcnNvblNjaGljaHRBbShwZXJzb24sIGhldXRlKTsKICAgIGlmICghYWt0dWVsbCkg +cmV0dXJuICc8c3BhbiBjbGFzcz0icm90YS1waWxsZSByb3RhLWxlZXIiIHRpdGxlPSJLZWluZSBT +Y2hpY2h0cm90YXRpb24gKFN0YW5kb3J0L0dydXBwZSBuaWNodCB6dW9yZGVuYmFyKSI+4oCUPC9z +cGFuPic7CiAgICB2YXIgZmFyYmUgPSBha3R1ZWxsID09PSAnRicgPyAncm90YS1mJyA6IGFrdHVl +bGwgPT09ICdTJyA/ICdyb3RhLXMnIDogJ3JvdGEtbic7CiAgICB2YXIgbGFiZWwgPSB7IEY6ICdG +csO8aGRpZW5zdCcsIFM6ICdTcMOkdGRpZW5zdCcsIE46ICdOYWNodGRpZW5zdCcgfVtha3R1ZWxs +XTsKICAgIHZhciB3ID0gX3BlcnNvbk5hZWNoc3RlcldlY2hzZWwocGVyc29uLCBoZXV0ZSk7CiAg +ICB2YXIgdGlwID0gbGFiZWwgKyAnIGhldXRlJzsKICAgIGlmICh3KSB7CiAgICAgICAgdmFyIG5h +Y2hMYWJlbCA9IHsgRjogJ0Zyw7xoJywgUzogJ1Nww6R0JywgTjogJ05hY2h0JyB9W3cubmFjaF07 +CiAgICAgICAgdGlwICs9ICdcbldlY2hzZWw6ICcgKyBkYXR1bUZvcm1hdERFKHcuZGF0dW0pICsg +JyDihpIgJyArIG5hY2hMYWJlbDsKICAgIH0KICAgIHJldHVybiAnPHNwYW4gY2xhc3M9InJvdGEt +cGlsbGUgJyArIGZhcmJlICsgJyIgdGl0bGU9IicgKyBlc2NhcGVBdHRyKHRpcCkgKyAnIj4nICsg +YWt0dWVsbCArICc8L3NwYW4+JzsKfQppbXBvcnQgeyBhcGksIGFwaVBvc3QsIGFwaVB1dCwgYXBp +RGVsZXRlIH0gZnJvbSAnLi9jb3JlX2FwaS5qcyc7CmltcG9ydCB7CnRvYXN0LCBiZXN0YWV0aWdl +biwKbW9kYWxaZWlnZW4sIG1vZGFsU2NobGllc3NlbiwKZW50d3VyZkxvZXNjaGVuLCBwZmxpY2h0 +ZmVsZEZlaGxlciwgaGlsZmVJY29uCn0gZnJvbSAnLi91aV9kaWFsb2cuanMnOwppbXBvcnQgeyBw +ZXJzb25lbk5ldUF1ZmJhdWVuIH0gZnJvbSAnLi9jb3JlX2RhdGVuTGFkZW4uanMnOwppbXBvcnQg +ewprb3BmUmVuZGVybiwgbmFtZW5SZW5kZXJuLCBkYXRlbkdyaWRSZW5kZXJuCn0gZnJvbSAnLi9n +cmlkX3JlbmRlci5qcyc7CmltcG9ydCB7IG1haWxUcmlnZ2VyRmV1ZXJuIH0gZnJvbSAnLi9lbWFp +bF92b3JsYWdlbi5qcyc7Ci8vIGZlYXR1cmVJc3RBa3RpdiBsZWJ0IGltIEJvb3RzdHJhcC1UZWls +IHZvbiBhZG1pbi5qcyAoRmVhdHVyZS1Ub2dnbGVzLAovLyBuaWNodCBpbiBlaW5lbSBkZXIgUGhh +c2UtOS1CLVN1Yi1Nb2R1bGUpLiBXaXJkIGhpZXIgZnVlcgovLyBwYXBpZXJrb3JiVUkgLyBwZXJz +b25hbElubGluZUVkaXQgLyBrb2xsZWdlbkhlcnZvcmhlYmVuIC8KLy8gcGVyUGVyc29uU2ljaHRi +YXJrZWl0IC8gZW1haWxBdXRvU3VmZml4IGdlYnJhdWNodC4KLy8gYWRtaW5FbXB0eVplaWxlOiBF +bXB0eS1TdGF0ZS1LYXJ0ZSBhbHMgPHRyPiBmdWVyIGxlZXJlIExpc3Rlbi4KaW1wb3J0IHsgZmVh +dHVyZUlzdEFrdGl2LCBhZG1pbkVtcHR5WmVpbGUgfSBmcm9tICcuL2FkbWluLmpzJzsKCmV4cG9y +dCBmdW5jdGlvbiBwZXJzb25hbFRhYmVsbGVSZW5kZXJuKCkgewogICAgLy8gTmV1aW1wb3J0LUJs +b2NrIG9iZW4gcmVuZGVybiAoZnJpc2NoIGltcG9ydGllcnRlIFBlcnNvbmVuKS4KICAgIC8vIFdl +bm4ga2VpbmUgdm9yaGFuZGVuLCBibGVuZGV0IGRpZSBGdW5rdGlvbiBkZW4gQ29udGFpbmVyIGF1 +cy4KICAgIG5ldWltcG9ydEJsb2NrUmVuZGVybigpOwogICAgLy8gUGFwaWVya29yYi1GZWF0dXJl +OiBGaWx0ZXItWmVpbGUgaW4gZGVyIFRvb2xiYXIgamUgbmFjaCBUb2dnbGUtU3RhdHVzCiAgICAv +LyBlaW4tIG9kZXIgYXVzYmxlbmRlbiAoQ2hlcnJ5LVBpY2sgMzAwOWVhOCkuCiAgICB2YXIgcGFw +aWVya29yYkFrdGl2ID0gZmVhdHVyZUlzdEFrdGl2KCdwYXBpZXJrb3JiVUknKTsKICAgIHZhciBw +YXBpZXJrb3JiRmlsdGVyWmVpbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFwaWVya29y +Yi1maWx0ZXItemVpbGUnKTsKICAgIGlmIChwYXBpZXJrb3JiRmlsdGVyWmVpbGUpIHBhcGllcmtv +cmJGaWx0ZXJaZWlsZS5jbGFzc0xpc3QudG9nZ2xlKCd2ZXJzdGVja3QnLCAhcGFwaWVya29yYkFr +dGl2KTsKCiAgICB2YXIgZmlsdGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FkbWluLXBl +cnNvbmFsLWZpbHRlcicpOwogICAgdmFyIHplaWdlVW1nZXNldHp0ZSA9IGZpbHRlciA/IGZpbHRl +ci5jaGVja2VkIDogZmFsc2U7CiAgICB2YXIgcGFwaWVya29yYkZpbHRlciA9IGRvY3VtZW50Lmdl +dEVsZW1lbnRCeUlkKCdhZG1pbi1wYXBpZXJrb3JiLWZpbHRlcicpOwogICAgdmFyIHplaWdlUGFw +aWVya29yYiA9IHBhcGllcmtvcmJBa3RpdiAmJiBwYXBpZXJrb3JiRmlsdGVyICYmIHBhcGllcmtv +cmJGaWx0ZXIuY2hlY2tlZDsKCiAgICBmdW5jdGlvbiBpc3RQYXBpZXJrb3JiKHApIHsgcmV0dXJu +ICEhcC5nZWxvZXNjaHRBbTsgfQogICAgZnVuY3Rpb24gcGFwaWVya29yYlJlc3RUZXh0KHApIHsK +ICAgICAgICBpZiAoIXAuZ2Vsb2VzY2h0QW0pIHJldHVybiAnJzsKICAgICAgICB2YXIgYXVmYmV3 +YWhydW5nID0gWi5hZG1pbi5wYXBpZXJrb3JiVGFnZUF1ZmJld2FocnVuZyAhPSBudWxsID8gWi5h +ZG1pbi5wYXBpZXJrb3JiVGFnZUF1ZmJld2FocnVuZyA6IDMwOwogICAgICAgIHZhciBzZWl0ID0g +bmV3IERhdGUocC5nZWxvZXNjaHRBbSk7CiAgICAgICAgaWYgKGlzTmFOKHNlaXQuZ2V0VGltZSgp +KSkgcmV0dXJuICcnOwogICAgICAgIHZhciB0YWdlVmVyZ2FuZ2VuID0gTWF0aC5mbG9vcigoRGF0 +ZS5ub3coKSAtIHNlaXQuZ2V0VGltZSgpKSAvIDg2NDAwMDAwKTsKICAgICAgICB2YXIgcmVzdCA9 +IE1hdGgubWF4KDAsIGF1ZmJld2FocnVuZyAtIHRhZ2VWZXJnYW5nZW4pOwogICAgICAgIHJldHVy +biAnIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjEwcHg7Y29sb3I6dmFy +KC0tdGV4dC1tdXRlZCkiPihub2NoICcgKyByZXN0ICsgJyBUYWcnICsgKHJlc3QgPT09IDEgPyAn +JyA6ICdlJykgKyAnKTwvc3Bhbj4nOwogICAgfQoKICAgIHZhciBhbGxlUGVyc29uZW4gPSAoWi5w +bGFudW5nLnBlcnNvbmVuIHx8IFtdKS5zbGljZSgpCiAgICAgICAgLmZpbHRlcihmdW5jdGlvbihw +KSB7CiAgICAgICAgICAgIGlmIChpc3RQYXBpZXJrb3JiKHApKSByZXR1cm4gemVpZ2VQYXBpZXJr +b3JiOwogICAgICAgICAgICByZXR1cm4gcC5ha3RpdiB8fCB6ZWlnZVVtZ2VzZXR6dGU7CiAgICAg +ICAgfSkKICAgICAgICAuc29ydChmdW5jdGlvbihhLCBiKSB7IHJldHVybiAoYS5wb3NpdGlvbiB8 +fCA5OTkpIC0gKGIucG9zaXRpb24gfHwgOTk5KTsgfSk7CgogICAgLy8gR3J1cHBlbi1SZWloZW5m +b2xnZSBhdXMgYWRtaW4uZ3J1cHBlbiDigJQgc28gZXJzY2hlaW5lbiBkaWUgVHJlbm5lcgogICAg +Ly8gaW4gZGVyIEFkbWluLWRlZmluaWVydGVuIEZvbGdlIChBLCBCLCBDLCBXRCwgV0wsIFZELCAu +Li4pLgogICAgdmFyIGdydXBwZW5SZWloZW5mb2xnZSA9IChaLmFkbWluLmdydXBwZW4gfHwgW10p +Lm1hcChmdW5jdGlvbihnKSB7IHJldHVybiBnLm5hbWU7IH0pOwogICAgdmFyIHBlcnNvbmVuUHJv +R3J1cHBlID0ge307CiAgICB2YXIgdW5iZWthbm50ZUdydXBwZSA9IFtdOwogICAgYWxsZVBlcnNv +bmVuLmZvckVhY2goZnVuY3Rpb24ocCkgewogICAgICAgIHZhciBnID0gcC5ncnVwcGUgfHwgJyc7 +CiAgICAgICAgaWYgKGdydXBwZW5SZWloZW5mb2xnZS5pbmRleE9mKGcpID49IDApIHsKICAgICAg +ICAgICAgaWYgKCFwZXJzb25lblByb0dydXBwZVtnXSkgcGVyc29uZW5Qcm9HcnVwcGVbZ10gPSBb +XTsKICAgICAgICAgICAgcGVyc29uZW5Qcm9HcnVwcGVbZ10ucHVzaChwKTsKICAgICAgICB9IGVs +c2UgewogICAgICAgICAgICB1bmJla2FubnRlR3J1cHBlLnB1c2gocCk7CiAgICAgICAgfQogICAg +fSk7CgogICAgdmFyIGlubGluZUVkaXRBa3RpdiA9IGZlYXR1cmVJc3RBa3RpdigncGVyc29uYWxJ +bmxpbmVFZGl0JykgJiYgWi5yZWNodGUgJiYgWi5yZWNodGUuaXN0U3VwZXJVc2VyOwogICAgLy8g +RGF0ZW5mZWxkZXIsIGRpZSBwZXIgRWluZmFjaC1LbGljayBpbmxpbmUgYmVhcmJlaXRldCB3ZXJk +ZW4gZHVlcmZlbi4KICAgIC8vIE5hbWUgbGFldWZ0IHdlaXRlciB1ZWJlciBkZW4gTW9kYWwtRWRp +dCAoUGZsaWNodGZlbGQgKyBEaWZmLVRyaWdnZXIpLgogICAgLy8gUG9zaXRpb24vRGllbnN0Z3Jh +ZC9GdW5rdGlvbiBoYWJlbiBpaHJlIGVpZ2VuZW4gSW5saW5lLUVkaXRvcmVuLgogICAgLy8gQmVp +IGxlZXJlbiBXZXJ0ZW4gd2lyZCBlaW4gIisiLVBsYWNlaG9sZGVyIGdlemVpZ3QsIGRhbWl0IGRl +ciBLbGljay0KICAgIC8vIEJlcmVpY2ggYXVjaCBvaG5lIEluaGFsdCBleGlzdGllcnQgKFVzZXIt +RmVlZGJhY2sgMjAyNi0wNS0yMykuCiAgICBmdW5jdGlvbiBpbmxpbmVXcmFwKHAsIGZlbGQsIGFu +emVpZ2UsIG9wdHMpIHsKICAgICAgICBpZiAoIWlubGluZUVkaXRBa3RpdikgcmV0dXJuIGFuemVp +Z2UgfHwgJyc7CiAgICAgICAgdmFyIHR5cCA9IChvcHRzICYmIG9wdHMudHlwKSB8fCAndGV4dCc7 +CiAgICAgICAgdmFyIGxlZXIgPSAhYW56ZWlnZSB8fCBhbnplaWdlID09PSAnJzsKICAgICAgICB2 +YXIgaW5uZXIgPSBsZWVyCiAgICAgICAgICAgID8gJzxzcGFuIGNsYXNzPSJwZXJzb25hbC1pbmxp +bmUtcGxhY2Vob2xkZXIiPmVpbnRyYWdlbjwvc3Bhbj4nCiAgICAgICAgICAgIDogYW56ZWlnZTsK +ICAgICAgICB2YXIgY2xzID0gJ3BlcnNvbmFsLWlubGluZScgKyAobGVlciA/ICcgcGVyc29uYWwt +aW5saW5lLWxlZXInIDogJycpOwogICAgICAgIHJldHVybiAnPHNwYW4gY2xhc3M9IicgKyBjbHMg +KyAnIiBkYXRhLWlkPSInICsgcC5pZCArICciIGRhdGEtZmVsZD0iJyArIGZlbGQgKyAnIiBkYXRh +LXR5cD0iJyArIHR5cCArICciIHRpdGxlPSJLbGlja2VuIHp1bSBCZWFyYmVpdGVuIj4nICsgaW5u +ZXIgKyAnPC9zcGFuPic7CiAgICB9CgogICAgZnVuY3Rpb24gcGVyc29uWmVpbGUocCkgewogICAg +ICAgIHZhciBnciA9IFouZ3J1cHBlbk1hcFtwLmdydXBwZV0gfHwge307CiAgICAgICAgdmFyIHVt +Z2VzZXR6dCA9ICFwLmFrdGl2OwogICAgICAgIHZhciBwb3MgPSBwLnBvc2l0aW9uICE9IG51bGwg +PyBwLnBvc2l0aW9uIDogJ+KAlCc7CiAgICAgICAgdmFyIHJhbmdJbm5lciA9IFoucmVjaHRlLmlz +dFN1cGVyVXNlcgogICAgICAgICAgICA/ICc8c3BhbiBjbGFzcz0icmFuZy1lZGl0IiBkYXRhLWlk +PSInICsgcC5pZCArICciIHRpdGxlPSJLbGlja2VuIHp1bSBCZWFyYmVpdGVuIj4nICsgcG9zICsg +Jzwvc3Bhbj4nCiAgICAgICAgICAgIDogcG9zOwoKICAgICAgICB2YXIgZGdyZCA9IHAuZGllbnN0 +Z3JhZCB8fCAnJzsKICAgICAgICB2YXIgZGdyZEFuemVpZ2UgPSBkZ3JkID8gZXNjYXBlSFRNTChk +Z3JkKSA6ICc8c3BhbiBzdHlsZT0iY29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zdHlsZTpp +dGFsaWMiPuKAlDwvc3Bhbj4nOwogICAgICAgIHZhciBkZ3JkSW5uZXIgPSBaLnJlY2h0ZS5pc3RT +dXBlclVzZXIKICAgICAgICAgICAgPyAnPHNwYW4gY2xhc3M9ImRpZW5zdGdyYWQtZWRpdCIgZGF0 +YS1pZD0iJyArIHAuaWQgKyAnIiB0aXRsZT0iS2xpY2tlbiB6dW0gQmVhcmJlaXRlbiI+JyArIGRn +cmRBbnplaWdlICsgJzwvc3Bhbj4nCiAgICAgICAgICAgIDogZGdyZEFuemVpZ2U7CgogICAgICAg +IHZhciBmdW5rdGlvbiA9IHAuZnVua3Rpb24gfHwgJyc7CiAgICAgICAgdmFyIGZ1bmt0aW9uQW56 +ZWlnZSA9IGZ1bmt0aW9uID8gZXNjYXBlSFRNTChmdW5rdGlvbikgOiAnPHNwYW4gc3R5bGU9ImNv +bG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc3R5bGU6aXRhbGljIj7igJQgb2huZSDigJQ8L3Nw +YW4+JzsKICAgICAgICB2YXIgZnVua3Rpb25Jbm5lciA9IFoucmVjaHRlLmlzdFN1cGVyVXNlcgog +ICAgICAgICAgICA/ICc8c3BhbiBjbGFzcz0iZnVua3Rpb24tZWRpdCIgZGF0YS1pZD0iJyArIHAu +aWQgKyAnIiB0aXRsZT0iS2xpY2tlbiB6dW0gQmVhcmJlaXRlbiI+JyArIGZ1bmt0aW9uQW56ZWln +ZSArICc8L3NwYW4+JwogICAgICAgICAgICA6IGZ1bmt0aW9uQW56ZWlnZTsKCiAgICAgICAgLy8g +RW1haWwtQnV0dG9uLVN0aWw6CiAgICAgICAgLy8gICBrZWluZSBBZHJlc3NlICAgICAgICAgICAt +PiByb3QgKEdlZmFocikKICAgICAgICAvLyAgIEFkcmVzc2UgQHBvbGl6ZWkubnJ3LmRlIC0+IGdy +dWVuIChFcmZvbGcpCiAgICAgICAgLy8gICBzb25zdGlnZSBEb21haW4gICAgICAgICAtPiBncnVl +biArIHJvdGVyIHJlY2h0ZXIgUmFuZAogICAgICAgIC8vICAgKFRlc3QtQWRyZXNzZSwgb3B0aXNj +aCBzb2ZvcnQgZXJrZW5uYmFyKQogICAgICAgIHZhciBlbWFpbERvbWFpbk9rID0gISEocC5lbWFp +bCAmJiAvQHBvbGl6ZWlcLm5yd1wuZGUkL2kudGVzdChwLmVtYWlsKSk7CiAgICAgICAgdmFyIGVt +YWlsQ2xzOwogICAgICAgIGlmICghcC5lbWFpbCkgICAgICAgICAgICAgIGVtYWlsQ2xzID0gJ2J0 +bi1nZWZhaHInOwogICAgICAgIGVsc2UgaWYgKGVtYWlsRG9tYWluT2spICAgIGVtYWlsQ2xzID0g +J2J0bi1lcmZvbGcnOwogICAgICAgIGVsc2UgICAgICAgICAgICAgICAgICAgICAgIGVtYWlsQ2xz +ID0gJ2J0bi1lcmZvbGcgYnRuLWVtYWlsLXRlc3QnOwogICAgICAgIHZhciBlbWFpbFRpdGxlOwog +ICAgICAgIGlmICghcC5lbWFpbCkgICAgICAgICAgICAgIGVtYWlsVGl0bGUgPSAnTm9jaCBrZWlu +ZSBFLU1haWwtQWRyZXNzZSBoaW50ZXJsZWd0IOKAlCBLbGljayB6dW0gUGZsZWdlbic7CiAgICAg +ICAgZWxzZSBpZiAoZW1haWxEb21haW5PaykgICAgZW1haWxUaXRsZSA9IHAuZW1haWw7CiAgICAg +ICAgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgZW1haWxUaXRsZSA9IHAuZW1haWwgKyAnXG7i +mqAgVGVzdC0vRnJlbWQtQWRyZXNzZSAobmljaHQgQHBvbGl6ZWkubnJ3LmRlKSc7CiAgICAgICAg +Ly8gUGFwaWVya29yYi1MZWJlbnN6eWtsdXMgKENoZXJyeS1QaWNrIDMwMDllYTgpLiBXZW5uIGRh +cyBGZWF0dXJlCiAgICAgICAgLy8gYWt0aXYgaXN0IHVuZCBgZ2Vsb2VzY2h0QW1gIGdlc2V0enQ6 +IFplaWxlIHdpcmQgcm90LCBzdGF0dAogICAgICAgIC8vIFVtc2V0emVuL1JlYWt0aXZpZXJlbiBz +dGVoZW4gIldpZWRlcmhlcnN0ZWxsZW4iIHVuZCAiSmV0enQgbMO2c2NoZW4iCiAgICAgICAgLy8g +enVyIFZlcmZ1ZWd1bmcuIEFrdGl2ZS9VbWdlc2V0enRlIGJla29tbWVuIHp1c2FldHpsaWNoIGVp +bmVuCiAgICAgICAgLy8gVW1zZXR6ZW4gKyBMb2VzY2hlbiB3dXJkZW4gMjAyNi0wNS0yMyBpbnMg +QmVhcmJlaXRlbi1Nb2RhbCB2ZXJsYWdlcnQKICAgICAgICAvLyAoWmVpbGUgd2FyIHp1IHZvbGwp +LiBOdXIgIldpZWRlcmhlcnN0ZWxsZW4iIHVuZCAiSmV0enQgbG9lc2NoZW4iCiAgICAgICAgLy8g +YmxlaWJlbiBpbiBkZXIgWmVpbGUgZnVlciBQYXBpZXJrb3JiLUVpbnRyYWVnZSBzaWNodGJhciDi +gJQgZGEgZ2lidCdzCiAgICAgICAgLy8ga2VpbmVuIE1vZGFsLVBmYWQuCiAgICAgICAgdmFyIGlt +UGFwaWVya29yYiA9IHBhcGllcmtvcmJBa3RpdiAmJiBpc3RQYXBpZXJrb3JiKHApOwogICAgICAg +IHZhciBha3Rpb25CdG4gPSAnJzsKICAgICAgICBpZiAoaW1QYXBpZXJrb3JiKSB7CiAgICAgICAg +ICAgIGFrdGlvbkJ0biA9CiAgICAgICAgICAgICAgICAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1l +cmZvbGcgYnRuLWtsZWluIiBkYXRhLWFrdGlvbj0id2llZGVyaGVyc3RlbGxlbiIgZGF0YS1pZD0i +JyArIHAuaWQgKyAnIiB0aXRsZT0iQXVzIFBhcGllcmtvcmIgenVyw7xja2hvbGVuIChQZXJzb24g +d2lyZCB3aWVkZXIgYWt0aXYpIj5XaWVkZXJoZXJzdGVsbGVuPC9idXR0b24+JyArCiAgICAgICAg +ICAgICAgICAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1nZWZhaHIgYnRuLWtsZWluIGJ0bi1sb2Vz +Y2hlbiIgZGF0YS1ha3Rpb249ImVuZGd1ZWx0aWctbG9lc2NoZW4iIGRhdGEtaWQ9IicgKyBwLmlk +ICsgJyIgdGl0bGU9IlBlcnNvbiBlbmRnw7xsdGlnIGVudGZlcm5lbiAoRWludHJhZWdlIHZlcndh +aXNlbiwgTG9nYnVjaCBibGVpYnQpIj5KZXR6dCBsw7ZzY2hlbjwvYnV0dG9uPic7CiAgICAgICAg +fQoKICAgICAgICB2YXIgbmFtZVplbGxlID0gJzxkaXYgY2xhc3M9InBlcnNvbmFsLW5hbWUtemVs +bGUiPicgKwogICAgICAgICAgICBhdmF0YXJLcmVpc0h0bWwocCwgMjYpICsKICAgICAgICAgICAg +JzxzcGFuIGNsYXNzPSJwZXJzb24tbmFtZS1saW5rIiBkYXRhLWlkPSInICsgcC5pZCArICciIHRp +dGxlPSJLbGlja2VuIHp1bSBCZWFyYmVpdGVuIj4nICsgZXNjYXBlSFRNTChwLm5hbWUpICsgJzwv +c3Bhbj4nICsKICAgICAgICAnPC9kaXY+JzsKICAgICAgICB2YXIgdm9ybmFtZUFuemVpZ2UgPSBl +c2NhcGVIVE1MKHAudm9ybmFtZSB8fCAnJyk7CiAgICAgICAgdmFyIG9lQW56ZWlnZSAgICAgID0g +ZXNjYXBlSFRNTChwLm9lIHx8ICcnKTsKICAgICAgICB2YXIgdGVsZWZvbkFuemVpZ2UgPSBlc2Nh +cGVIVE1MKHAudGVsZWZvbiB8fCAnJyk7CiAgICAgICAgdmFyIG53QW56ZWlnZSAgICAgID0gZXNj +YXBlSFRNTChwLm53S2VubnVuZyB8fCAnJyk7CiAgICAgICAgdmFyIGdlYkFuemVpZ2UgICAgID0g +cC5nZWJ1cnRzZGF0dW0gPyBkYXR1bUZvcm1hdERFKHAuZ2VidXJ0c2RhdHVtKSA6ICcnOwogICAg +ICAgIHZhciB6ZWlsZW5LbGFzc2UgPSBpbVBhcGllcmtvcmIgPyAnIGNsYXNzPSJ6ZWlsZS1wYXBp +ZXJrb3JiIicgOiAodW1nZXNldHp0ID8gJyBjbGFzcz0iemVpbGUtdW1nZXNldHp0IicgOiAnJyk7 +CiAgICAgICAgcmV0dXJuICc8dHIgZGF0YS1pZD0iJyArIHAuaWQgKyAnIicgKyB6ZWlsZW5LbGFz +c2UgKyAnPicgKwogICAgICAgICAgICAnPHRkPjxzdHJvbmc+JyArIG5hbWVaZWxsZSArICc8L3N0 +cm9uZz48L3RkPicgKwogICAgICAgICAgICAnPHRkPicgKyBpbmxpbmVXcmFwKHAsICd2b3JuYW1l +JywgICAgIHZvcm5hbWVBbnplaWdlKSArICc8L3RkPicgKwogICAgICAgICAgICAnPHRkIHN0eWxl +PSJ0ZXh0LWFsaWduOmxlZnQ7Zm9udC1zaXplOjEycHgiPicgKyBmdW5rdGlvbklubmVyICsgJzwv +dGQ+JyArCiAgICAgICAgICAgICc8dGQgc3R5bGU9InRleHQtYWxpZ246bGVmdDtmb250LXNpemU6 +MTJweCI+JyArIGRncmRJbm5lciArICc8L3RkPicgKwogICAgICAgICAgICAnPHRkIHN0eWxlPSJ0 +ZXh0LWFsaWduOmxlZnQ7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigt +LXRleHQtbXV0ZWQpIiB0aXRsZT0iUm9oZSBQb3NpdGlvbnMtWmFobCAoYXVzIEV4Y2VsLUltcG9y +dCknICsgKFoucmVjaHRlLmlzdFN1cGVyVXNlciA/ICcg4oCUIGtsaWNrYmFyIHp1bSBCZWFyYmVp +dGVuJyA6ICcnKSArICciPicgKyByYW5nSW5uZXIgKyAnPC90ZD4nICsKICAgICAgICAgICAgJzx0 +ZCBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O2ZvbnQtc2l6ZToxMnB4Ij4nICsgaW5saW5lV3JhcChw +LCAnb2UnLCAgICAgICBvZUFuemVpZ2UpICsgJzwvdGQ+JyArCiAgICAgICAgICAgICc8dGQgc3R5 +bGU9InRleHQtYWxpZ246bGVmdDtmb250LXNpemU6MTJweCI+JyArIGlubGluZVdyYXAocCwgJ3Rl +bGVmb24nLCAgdGVsZWZvbkFuemVpZ2UpICsgJzwvdGQ+JyArCiAgICAgICAgICAgICc8dGQgc3R5 +bGU9ImZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO21heC13aWR0aDoxMTVw +eDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dy +YXAiIHRpdGxlPSInICsgZXNjYXBlQXR0cihwLm53S2VubnVuZyB8fCAnJykgKyAnIj4nICsgaW5s +aW5lV3JhcChwLCAnbndLZW5udW5nJywgbndBbnplaWdlKSArICc8L3RkPicgKwogICAgICAgICAg +ICAnPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciI+JyArIF9wZXJzb25Sb3RhUGlsbGUocCkg +KyAnPC90ZD4nICsKICAgICAgICAgICAgJzx0ZCBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0Ij48YnV0 +dG9uIGNsYXNzPSJidG4gJyArIGVtYWlsQ2xzICsgJyBidG4ta2xlaW4iIGRhdGEtYWt0aW9uPSJl +bWFpbCIgZGF0YS1pZD0iJyArIHAuaWQgKyAnIiB0aXRsZT0iJyArIGVzY2FwZUF0dHIoZW1haWxU +aXRsZSkgKyAnIiBzdHlsZT0id2hpdGUtc3BhY2U6bm93cmFwIj5FLU1haWw8L2J1dHRvbj48L3Rk +PicgKwogICAgICAgICAgICAnPHRkIHN0eWxlPSJmb250LXNpemU6MTFweDt0ZXh0LWFsaWduOmxl +ZnQiPicgKyBpbmxpbmVXcmFwKHAsICdnZWJ1cnRzZGF0dW0nLCBnZWJBbnplaWdlLCB7IHR5cDog +J2RhdGUnIH0pICsgJzwvdGQ+JyArCiAgICAgICAgICAgIChmdW5jdGlvbigpIHsKICAgICAgICAg +ICAgICAgIC8vIFNwYWx0ZSDigJ5WSTMgREdMIi4gUXVhZHJhdGlzY2hlciBCdXR0b246CiAgICAg +ICAgICAgICAgICAvLyAgIGdydWVuICsg4pyTICAgPSBxdWFsaWZpemllcnQKICAgICAgICAgICAg +ICAgIC8vICAgcm90ICsgd2Vpc3NlciBRdWVyYmFsa2VuIChWZXJrZWhyc3NjaGlsZCDigJ5WZXJi +b3QgZGVyCiAgICAgICAgICAgICAgICAvLyAgIEVpbmZhaHJ0Ii1PcHRpaykgPSBuaWNodCBxdWFs +aWZpemllcnQuCiAgICAgICAgICAgICAgICAvLyBLbGljayB0b2dnbGV0IGRhcyBGbGFnIGZ1ZXIg +SkVERSBQZXJzb24gKFN1cGVyVXNlciBvbmx5KS4KICAgICAgICAgICAgICAgIHZhciBrbGlja2Jh +ciA9IFoucmVjaHRlLmlzdFN1cGVyVXNlcjsKICAgICAgICAgICAgICAgIHZhciBvayA9ICEhcC5l +bERnbFF1YWxpZml6aWVydDsKICAgICAgICAgICAgICAgIHZhciB0aXRlbCA9IGtsaWNrYmFyCiAg +ICAgICAgICAgICAgICAgICAgPyAnS2xpY2s6IFZJMy1ER0wtUXVhbGlmaXppZXJ1bmcgdW1zY2hh +bHRlbiDigJQgYWt0dWVsbCAnICsgKG9rID8gJ2FrdGl2JyA6ICdpbmFrdGl2JykKICAgICAgICAg +ICAgICAgICAgICA6IChvayA/ICdWSTMtREdMIHF1YWxpZml6aWVydCcgOiAnTmljaHQgVkkzLURH +TCBxdWFsaWZpemllcnQnKTsKICAgICAgICAgICAgICAgIHZhciBidG4gPSAnPHNwYW4gY2xhc3M9 +InZpM2RnbC1idG4gJyArIChvayA/ICd2aTNkZ2wtYnRuLW9rJyA6ICd2aTNkZ2wtYnRuLW5vJykg +KyAnIiBhcmlhLWxhYmVsPSInICsgZXNjYXBlQXR0cih0aXRlbCkgKyAnIj48L3NwYW4+JzsKICAg +ICAgICAgICAgICAgIHZhciBjbHMgPSBrbGlja2JhciA/ICcgY2xhc3M9ImVsZGdsLWVkaXQiJyA6 +ICcnOwogICAgICAgICAgICAgICAgdmFyIGRhdGFJZCA9IGtsaWNrYmFyID8gJyBkYXRhLWlkPSIn +ICsgcC5pZCArICciJyA6ICcnOwogICAgICAgICAgICAgICAgdmFyIHN0eWxlID0ga2xpY2tiYXIg +PyAndGV4dC1hbGlnbjpjZW50ZXI7Y3Vyc29yOnBvaW50ZXInIDogJ3RleHQtYWxpZ246Y2VudGVy +JzsKICAgICAgICAgICAgICAgIHJldHVybiAnPHRkJyArIGNscyArIGRhdGFJZCArICcgc3R5bGU9 +IicgKyBzdHlsZSArICciIHRpdGxlPSInICsgZXNjYXBlQXR0cih0aXRlbCkgKyAnIj4nICsgYnRu +ICsgJzwvdGQ+JzsKICAgICAgICAgICAgfSkoKSArCiAgICAgICAgICAgIChmdW5jdGlvbigpIHsK +ICAgICAgICAgICAgICAgIC8vIFNwYWx0ZSDigJ5BbnNwcmVjaHBhcnRuZXIiOiBUb2dnbGUgZnVl +ciBFaW50cmFnIGltIEluZm8tCiAgICAgICAgICAgICAgICAvLyBGZW5zdGVyICjigJ5JbmZvcm1h +dGlvbiAmIEhpbGZlIikuIFNlaXQgMjAyNi0wNS0yNSBvaG5lCiAgICAgICAgICAgICAgICAvLyBG +dW5rdGlvbnMtIG9kZXIgRGllbnN0Z3J1cHBlbi1HYXRpbmcg4oCUIHRoZW9yZXRpc2NoIGthbm4K +ICAgICAgICAgICAgICAgIC8vIGplZGUgUGVyc29uIGFscyBBbnNwcmVjaHBhcnRuZXIgYmVuYW5u +dCB3ZXJkZW4uIFZpc3VlbGwKICAgICAgICAgICAgICAgIC8vIGlkZW50aXNjaCB6dW0gVkkzLURH +TC1CdXR0b246IGdydWVuZXIgSGFrZW4gKGFrdGl2KSBvZGVyCiAgICAgICAgICAgICAgICAvLyBn +cmF1ZXIgTWludXMtQmFsa2VuIChpbmFrdGl2KS4KICAgICAgICAgICAgICAgIHZhciBrbGlja2Jh +ckFwID0gWi5yZWNodGUuaXN0U3VwZXJVc2VyOwogICAgICAgICAgICAgICAgdmFyIGlzdEFwID0g +ISFwLmlzdEFuc3ByZWNocGFydG5lcjsKICAgICAgICAgICAgICAgIHZhciB0aXRlbEFwID0ga2xp +Y2tiYXJBcAogICAgICAgICAgICAgICAgICAgID8gJ0tsaWNrOiBBbnNwcmVjaHBhcnRuZXItRmxh +ZyB1bXNjaGFsdGVuIOKAlCBha3R1ZWxsICcgKyAoaXN0QXAgPyAnYWt0aXYnIDogJ2luYWt0aXYn +KQogICAgICAgICAgICAgICAgICAgIDogKGlzdEFwID8gJ0ltIEluZm8tRmVuc3RlciBhbHMgQW5z +cHJlY2hwYXJ0bmVyIGdlbGlzdGV0JyA6ICdOaWNodCBhbHMgQW5zcHJlY2hwYXJ0bmVyIGdlbGlz +dGV0Jyk7CiAgICAgICAgICAgICAgICB2YXIgYnRuQXAgPSAnPHNwYW4gY2xhc3M9InZpM2RnbC1i +dG4gJyArIChpc3RBcCA/ICd2aTNkZ2wtYnRuLW9rJyA6ICd2aTNkZ2wtYnRuLW9mZicpICsgJyIg +YXJpYS1sYWJlbD0iJyArIGVzY2FwZUF0dHIodGl0ZWxBcCkgKyAnIj48L3NwYW4+JzsKICAgICAg +ICAgICAgICAgIHZhciBjbHNBcCA9IGtsaWNrYmFyQXAgPyAnIGNsYXNzPSJhbnNwcmVjaHBhcnRu +ZXItZWRpdCInIDogJyc7CiAgICAgICAgICAgICAgICB2YXIgaWRBcCA9IGtsaWNrYmFyQXAgPyAn +IGRhdGEtaWQ9IicgKyBwLmlkICsgJyInIDogJyc7CiAgICAgICAgICAgICAgICB2YXIgc3R5bGVB +cCA9IGtsaWNrYmFyQXAgPyAndGV4dC1hbGlnbjpjZW50ZXI7Y3Vyc29yOnBvaW50ZXInIDogJ3Rl +eHQtYWxpZ246Y2VudGVyJzsKICAgICAgICAgICAgICAgIHJldHVybiAnPHRkJyArIGNsc0FwICsg +aWRBcCArICcgc3R5bGU9IicgKyBzdHlsZUFwICsgJyIgdGl0bGU9IicgKyBlc2NhcGVBdHRyKHRp +dGVsQXApICsgJyI+JyArIGJ0bkFwICsgJzwvdGQ+JzsKICAgICAgICAgICAgfSkoKSArCiAgICAg +ICAgICAgIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIFNwYWx0ZSDigJ5JbiBQbGFu +dW5nIjogYmxlbmRldCBkaWVzZSBlaW5lIFBlcnNvbiBhdXMgZGVyCiAgICAgICAgICAgICAgICAv +LyBQbGFudW5nc2Fuc2ljaHQvV29jaGVucGxhbi9QZXJzLiBQbGFuIGF1cyAoYW5hbG9nIEdydXBw +ZW4tLwogICAgICAgICAgICAgICAgLy8gRnVua3Rpb25zLWluUGxhbnVuZywgYWJlciBwcm8gUGVy +c29uKS4gR3J1ZW4gPSBzaWNodGJhciwKICAgICAgICAgICAgICAgIC8vIHJvdCA9IGF1c2dlYmxl +bmRldC4gU3VwZXJVc2VyLW9ubHkuCiAgICAgICAgICAgICAgICB2YXIga2xpY2tiYXJJcCA9IFou +cmVjaHRlLmlzdFN1cGVyVXNlciAmJiAhaW1QYXBpZXJrb3JiOwogICAgICAgICAgICAgICAgdmFy +IHNpY2h0YmFyID0gcC5pblBsYW51bmcgIT09IGZhbHNlOwogICAgICAgICAgICAgICAgdmFyIHRp +dGVsSXAgPSBrbGlja2JhcklwCiAgICAgICAgICAgICAgICAgICAgPyAnS2xpY2s6IFBlcnNvbiBp +biBkZXIgUGxhbnVuZyAnICsgKHNpY2h0YmFyID8gJ2F1c2JsZW5kZW4nIDogJ2VpbmJsZW5kZW4n +KSArICcg4oCUIGFrdHVlbGwgJyArIChzaWNodGJhciA/ICdzaWNodGJhcicgOiAnYXVzZ2VibGVu +ZGV0JykKICAgICAgICAgICAgICAgICAgICA6IChzaWNodGJhciA/ICdJbiBkZXIgUGxhbnVuZ3Nh +bnNpY2h0IHNpY2h0YmFyJyA6ICdJbiBkZXIgUGxhbnVuZ3NhbnNpY2h0IGF1c2dlYmxlbmRldCcp +OwogICAgICAgICAgICAgICAgdmFyIGJ0bklwID0gJzxzcGFuIGNsYXNzPSJ2aTNkZ2wtYnRuICcg +KyAoc2ljaHRiYXIgPyAndmkzZGdsLWJ0bi1vaycgOiAndmkzZGdsLWJ0bi1ubycpICsgJyIgYXJp +YS1sYWJlbD0iJyArIGVzY2FwZUF0dHIodGl0ZWxJcCkgKyAnIj48L3NwYW4+JzsKICAgICAgICAg +ICAgICAgIHZhciBjbHNJcCA9IGtsaWNrYmFySXAgPyAnIGNsYXNzPSJpbnBsYW51bmctZWRpdCIn +IDogJyc7CiAgICAgICAgICAgICAgICB2YXIgaWRJcCA9IGtsaWNrYmFySXAgPyAnIGRhdGEtaWQ9 +IicgKyBwLmlkICsgJyInIDogJyc7CiAgICAgICAgICAgICAgICB2YXIgc3R5bGVJcCA9IGtsaWNr +YmFySXAgPyAndGV4dC1hbGlnbjpjZW50ZXI7Y3Vyc29yOnBvaW50ZXInIDogJ3RleHQtYWxpZ246 +Y2VudGVyJzsKICAgICAgICAgICAgICAgIHJldHVybiAnPHRkJyArIGNsc0lwICsgaWRJcCArICcg +c3R5bGU9IicgKyBzdHlsZUlwICsgJyIgdGl0bGU9IicgKyBlc2NhcGVBdHRyKHRpdGVsSXApICsg +JyI+JyArIGJ0bklwICsgJzwvdGQ+JzsKICAgICAgICAgICAgfSkoKSArCiAgICAgICAgICAgICc8 +dGQgc3R5bGU9InRleHQtYWxpZ246bGVmdCI+JyArIChpbVBhcGllcmtvcmIKICAgICAgICAgICAg +ICAgID8gJzxzcGFuIGNsYXNzPSJ0ZXh0LWZlaGxlciIgdGl0bGU9IkltIFBhcGllcmtvcmIgc2Vp +dCAnICsgZXNjYXBlQXR0cihwLmdlbG9lc2NodEFtKSArICciPlBhcGllcmtvcmInICsgcGFwaWVy +a29yYlJlc3RUZXh0KHApICsgJzwvc3Bhbj4nCiAgICAgICAgICAgICAgICA6ICh1bWdlc2V0enQK +ICAgICAgICAgICAgICAgICAgICA/ICc8c3BhbiBjbGFzcz0idGV4dC1mZWhsZXIiIHRpdGxlPSJV +bWdlc2V0enQg4oCUIG5pY2h0IGluIGRlciBQbGFudW5nIj5VbWdlc2V0enQ8L3NwYW4+JwogICAg +ICAgICAgICAgICAgICAgIDogJzxzcGFuIGNsYXNzPSJ0ZXh0LWVyZm9sZyI+QWt0aXY8L3NwYW4+ +JykpICsgJzwvdGQ+JyArCiAgICAgICAgICAgICc8dGQ+PGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4 +O2dhcDo2cHg7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7d2hpdGUtc3BhY2U6bm93cmFwIj4n +ICsKICAgICAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXByaW1hZXIgYnRuLWts +ZWluIiBkYXRhLWFrdGlvbj0iYmVhcmJlaXRlbiIgZGF0YS1pZD0iJyArIHAuaWQgKyAnIj5CZWFy +YmVpdGVuPC9idXR0b24+JyArCiAgICAgICAgICAgICAgICAoWi5yZWNodGUuaXN0U3VwZXJVc2Vy +ICYmICFpbVBhcGllcmtvcmIKICAgICAgICAgICAgICAgICAgICA/ICc8YnV0dG9uIGNsYXNzPSJi +dG4gYnRuLXNlayBidG4ta2xlaW4iIGRhdGEtYWt0aW9uPSJwZXJzb24tdGVzdGVuIiBkYXRhLWlk +PSInICsgcC5pZCArICciIHRpdGxlPSJPYmVyZmzDpGNoZSBhbHMgZGllc2UgUGVyc29uIHRlc3Rl +biAobnVyIGxva2FsLCBTZXJ2ZXItUmVjaHRlIGJsZWliZW4gU1UpIj5UZXN0ZW48L2J1dHRvbj4n +CiAgICAgICAgICAgICAgICAgICAgOiAnJykgKwogICAgICAgICAgICAgICAgYWt0aW9uQnRuICsK +ICAgICAgICAgICAgJzwvZGl2PjwvdGQ+JyArCiAgICAgICAgJzwvdHI+JzsKICAgIH0KCiAgICBm +dW5jdGlvbiB0cmVubmVyWmVpbGUoZ3JOYW1lKSB7CiAgICAgICAgdmFyIGcgPSAoWi5hZG1pbi5n +cnVwcGVuIHx8IFtdKS5maW5kKGZ1bmN0aW9uKHgpIHsgcmV0dXJuIHgubmFtZSA9PT0gZ3JOYW1l +OyB9KSB8fCB7fTsKICAgICAgICB2YXIgYmV6ID0gZy5iZXplaWNobnVuZyB8fCBnck5hbWU7CiAg +ICAgICAgcmV0dXJuICc8dHIgY2xhc3M9ImdydXBwZW4tdHJlbm5lci16ZWlsZSIgc3R5bGU9ImJh +Y2tncm91bmQ6JyArIGVzY2FwZUF0dHIoKGcuaGludGVyZ3J1bmQgfHwgJyM4ODgnKSArICcyMicp +ICsgJyI+JyArCiAgICAgICAgICAgICc8dGQgY29sc3Bhbj0iMTYiIHN0eWxlPSJwYWRkaW5nOjhw +eCAxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtib3JkZXItdG9wOjJweCBzb2xpZCAnICsgZXNjYXBlQXR0 +cihnLmhpbnRlcmdydW5kIHx8ICcjODg4JykgKyAnO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZh +cigtLWJvcmRlci1saWdodCkiPicgKwogICAgICAgICAgICAnPHNwYW4gY2xhc3M9ImdydXBwZW4t +YmFkZ2UiIHN0eWxlPSJiYWNrZ3JvdW5kOicgKyBlc2NhcGVBdHRyKGcuaGludGVyZ3J1bmQgfHwg +JyM2NjYnKSArICc7Y29sb3I6JyArIGVzY2FwZUF0dHIoZy5zY2hyaWZ0IHx8ICcjZmZmJykgKyAn +O21hcmdpbi1yaWdodDo4cHgiPicgKyBlc2NhcGVIVE1MKGdyTmFtZSkgKyAnPC9zcGFuPicgKwog +ICAgICAgICAgICAnPHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLXRleHQtaGVhZGluZykiPicgKyBl +c2NhcGVIVE1MKGJleikgKyAnPC9zcGFuPicgKwogICAgICAgICAgICAnPC90ZD48L3RyPic7CiAg +ICB9CgogICAgdmFyIGh0bWwgPSAnJzsKICAgIGdydXBwZW5SZWloZW5mb2xnZS5mb3JFYWNoKGZ1 +bmN0aW9uKGdyTmFtZSkgewogICAgICAgIHZhciBsaXN0ZSA9IHBlcnNvbmVuUHJvR3J1cHBlW2dy +TmFtZV07CiAgICAgICAgaWYgKCFsaXN0ZSB8fCAhbGlzdGUubGVuZ3RoKSByZXR1cm47CiAgICAg +ICAgaHRtbCArPSB0cmVubmVyWmVpbGUoZ3JOYW1lKTsKICAgICAgICBsaXN0ZS5mb3JFYWNoKGZ1 +bmN0aW9uKHApIHsgaHRtbCArPSBwZXJzb25aZWlsZShwKTsgfSk7CiAgICB9KTsKICAgIGlmICh1 +bmJla2FubnRlR3J1cHBlLmxlbmd0aCkgewogICAgICAgIGh0bWwgKz0gJzx0ciBjbGFzcz0iZ3J1 +cHBlbi10cmVubmVyLXplaWxlIj48dGQgY29sc3Bhbj0iMTUiIHN0eWxlPSJwYWRkaW5nOjhweCAx +MnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtib3JkZXItdG9wOjJw +eCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpIj7igJQgb2huZSBHcnVwcGUg4oCUPC90ZD48L3Ry +Pic7CiAgICAgICAgdW5iZWthbm50ZUdydXBwZS5mb3JFYWNoKGZ1bmN0aW9uKHApIHsgaHRtbCAr +PSBwZXJzb25aZWlsZShwKTsgfSk7CiAgICB9CiAgICAvLyBXZW5uIHVlYmVyaGF1cHQga2VpbmUg +UGVyc29uZW4gZ2VyZW5kZXJ0IHdlcmRlbiAoZnJpc2NoZXIgU3RhbmQgLwogICAgLy8gUmVzZXQg +LyBoYXJ0ZSBGaWx0ZXIpLCBFbXB0eS1TdGF0ZSB6ZWlnZW4gc3RhdHQgbGVlcmVuIDx0Ym9keT4u +CiAgICBpZiAoIWh0bWwpIHsKICAgICAgICBodG1sID0gYWRtaW5FbXB0eVplaWxlKDE1LCAnXHV7 +MUY0NjR9JywKICAgICAgICAgICAgJ05vY2gga2VpbmUgUGVyc29uZW4gZXJmYXNzdCcsCiAgICAg +ICAgICAgICdQZXJzb25lbiB3ZXJkZW4gaW4gZGVyIFRhYmVsbGUgcHJvIERpZW5zdGdydXBwZSBn +cnVwcGllcnQuIEtsaWNrZSBvYmVuIGF1ZiDigJ5OZXVlIFBlcnNvbiIsIG9kZXIgaW1wb3J0aWVy +ZSBlaW5lIHZvcmhhbmRlbmUgRXhjZWwtTGlzdGUgaW0gVGFiIOKAnkV4Y2VsLUltcG9ydCIuJyk7 +CiAgICB9CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGVyc29uYWwtdGJvZHknKS5pbm5l +ckhUTUwgPSBodG1sOwp9CgovLyA9PT09PSBBZG1pbjogTmV1aW1wb3J0LUJsb2NrID09PT09Ci8v +Ci8vIFBlcnNvbmVuLCBkaWUgZGVyIEV4Y2VsLUltcG9ydCBmcmlzY2ggYW5nZWxlZ3QgaGF0LCB0 +cmFnZW4gZWluZW4KLy8gYGltcG9ydE5ldUFtYC1NYXJrZXIuIFNvbGFuZ2UgZGllc2VyIGdlc2V0 +enQgaXN0LCBlcnNjaGVpbnQgZGllIFBlcnNvbgovLyBpbSBCbG9jayBvYmVuIMO8YmVyIGRlciBU +YWJlbGxlIOKAlCBtaXQgSW5saW5lLVNlbGVjdHMgZnVlciBEaWVuc3RncnVwcGUKLy8gdW5kIEZ1 +bmt0aW9uIChkaWUgYmVpZGVuIFBmbGljaHRmZWxkZXIsIGRpZSBkZXIgRXhjZWwtSW1wb3J0IG5p +Y2h0Ci8vIGF1dG9tYXRpc2NoIGhlcmxlaXRlbiBrYW5uKS4gUGVyIEtsaWNrIGF1ZiAiRXJsZWRp +Z3QiIHdpcmQgZGVyIE1hcmtlcgovLyBlbnRmZXJudCB1bmQgZGllIFBlcnNvbiB3YW5kZXJ0IGlu +IGRpZSBub3JtYWxlIFRhYmVsbGUuCmV4cG9ydCBmdW5jdGlvbiBuZXVpbXBvcnRCbG9ja1JlbmRl +cm4oKSB7CiAgICB2YXIgYm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BlcnNvbmFsLW5l +dWltcG9ydC1ibG9jaycpOwogICAgaWYgKCFib3gpIHJldHVybjsKICAgIHZhciBuZXVlID0gKFou +cGxhbnVuZy5wZXJzb25lbiB8fCBbXSkuZmlsdGVyKGZ1bmN0aW9uKHApIHsKICAgICAgICByZXR1 +cm4gcC5pbXBvcnROZXVBbSAmJiAhcC5nZWxvZXNjaHRBbTsKICAgIH0pLnNvcnQoZnVuY3Rpb24o +YSwgYikgeyByZXR1cm4gKGEucG9zaXRpb24gfHwgOTk5KSAtIChiLnBvc2l0aW9uIHx8IDk5OSk7 +IH0pOwogICAgaWYgKCFuZXVlLmxlbmd0aCkgewogICAgICAgIGJveC5jbGFzc0xpc3QuYWRkKCd2 +ZXJzdGVja3QnKTsKICAgICAgICBib3guaW5uZXJIVE1MID0gJyc7CiAgICAgICAgcmV0dXJuOwog +ICAgfQogICAgYm94LmNsYXNzTGlzdC5yZW1vdmUoJ3ZlcnN0ZWNrdCcpOwogICAgdmFyIGdydXBw +ZW4gPSAoWi5hZG1pbi5ncnVwcGVuIHx8IFtdKS5tYXAoZnVuY3Rpb24oZykgeyByZXR1cm4gZy5u +YW1lOyB9KTsKICAgIHZhciB6ZWlsZW4gPSBuZXVlLm1hcChmdW5jdGlvbihwKSB7CiAgICAgICAg +dmFyIHBpZCA9IHAuaWQ7CiAgICAgICAgdmFyIGdycE9wdCA9ICc8b3B0aW9uIHZhbHVlPSIiJyAr +ICghcC5ncnVwcGUgPyAnIHNlbGVjdGVkJyA6ICcnKSArICc+4oCUIEdydXBwZSB3w6RobGVuIOKA +lDwvb3B0aW9uPicgKwogICAgICAgICAgICBncnVwcGVuLm1hcChmdW5jdGlvbihnKSB7CiAgICAg +ICAgICAgICAgICByZXR1cm4gJzxvcHRpb24gdmFsdWU9IicgKyBlc2NhcGVBdHRyKGcpICsgJyIn +ICsgKGcgPT09IHAuZ3J1cHBlID8gJyBzZWxlY3RlZCcgOiAnJykgKyAnPicgKyBlc2NhcGVIVE1M +KGcpICsgJzwvb3B0aW9uPic7CiAgICAgICAgICAgIH0pLmpvaW4oJycpOwogICAgICAgIHZhciBm +dW5rT3B0ID0gJzxvcHRpb24gdmFsdWU9IiInICsgKCFwLmZ1bmt0aW9uID8gJyBzZWxlY3RlZCcg +OiAnJykgKyAnPuKAlCBvaG5lIEZ1bmt0aW9uIOKAlDwvb3B0aW9uPicgKwogICAgICAgICAgICAo +Z2V0RnVua3Rpb25lbigpIHx8IFtdKS5tYXAoZnVuY3Rpb24oZikgewogICAgICAgICAgICAgICAg +cmV0dXJuICc8b3B0aW9uIHZhbHVlPSInICsgZXNjYXBlQXR0cihmLmNvZGUpICsgJyInICsgKGYu +Y29kZSA9PT0gcC5mdW5rdGlvbiA/ICcgc2VsZWN0ZWQnIDogJycpICsgJz4nICsgZXNjYXBlSFRN +TChmLmNvZGUpICsgJzwvb3B0aW9uPic7CiAgICAgICAgICAgIH0pLmpvaW4oJycpOwogICAgICAg +IHZhciBkZXRhaWwgPSBbXTsKICAgICAgICBpZiAocC5vZSkgICAgICBkZXRhaWwucHVzaCgnT0U6 +IDxzdHJvbmc+JyArIGVzY2FwZUhUTUwocC5vZSkgKyAnPC9zdHJvbmc+Jyk7CiAgICAgICAgaWYg +KHAudGVsZWZvbikgZGV0YWlsLnB1c2goJ1RlbDogJyArIGVzY2FwZUhUTUwocC50ZWxlZm9uKSk7 +CiAgICAgICAgaWYgKHAucG9zaXRpb24gIT0gbnVsbCkgZGV0YWlsLnB1c2goJ1Jhbmc6ICcgKyBl +c2NhcGVIVE1MKFN0cmluZyhwLnBvc2l0aW9uKSkpOwogICAgICAgIHZhciBkZXRhaWxIdG1sID0g +ZGV0YWlsLmxlbmd0aCA/ICc8ZGl2IGNsYXNzPSJuZXVpbXBvcnQtZGV0YWlsIj4nICsgZGV0YWls +LmpvaW4oJyAmbmJzcDvCtyZuYnNwOyAnKSArICc8L2Rpdj4nIDogJyc7CiAgICAgICAgcmV0dXJu +ICc8ZGl2IGNsYXNzPSJuZXVpbXBvcnQtemVpbGUiIGRhdGEtaWQ9IicgKyBwaWQgKyAnIj4nICsK +ICAgICAgICAgICAgJzxkaXYgY2xhc3M9Im5ldWltcG9ydC1uYW1lIj4nICsKICAgICAgICAgICAg +ICAgICc8c3Ryb25nPicgKyBlc2NhcGVIVE1MKHAubmFtZSB8fCAnJykgKyAnPC9zdHJvbmc+JyAr +CiAgICAgICAgICAgICAgICAnPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWlucHV0IG5l +dWltcG9ydC12b3JuYW1lIiBkYXRhLWlkPSInICsgcGlkICsgJyIgZGF0YS1mZWxkPSJ2b3JuYW1l +IiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIocC52b3JuYW1lIHx8ICcnKSArICciIHBsYWNlaG9sZGVy +PSJWb3JuYW1lIOKApiIgc3R5bGU9Im1hcmdpbi1sZWZ0OjhweDt3aWR0aDoxNjBweDtmb250LXNp +emU6MTNweCI+JyArCiAgICAgICAgICAgICAgICBkZXRhaWxIdG1sICsKICAgICAgICAgICAgJzwv +ZGl2PicgKwogICAgICAgICAgICAnPGRpdiBjbGFzcz0ibmV1aW1wb3J0LWZlbGRlciI+JyArCiAg +ICAgICAgICAgICAgICAnPHNlbGVjdCBjbGFzcz0iZm9ybS1pbnB1dCBuZXVpbXBvcnQtZmVsZCIg +ZGF0YS1pZD0iJyArIHBpZCArICciIGRhdGEtZmVsZD0iZ3J1cHBlIiBzdHlsZT0id2lkdGg6MTMw +cHgiIHRpdGxlPSJEaWVuc3RncnVwcGUg4oCUIFBmbGljaHRmZWxkLCBkYW1pdCBkaWUgUGVyc29u +IGluIGRlciBQbGFudW5nIGVyc2NoZWludCI+JyArIGdycE9wdCArICc8L3NlbGVjdD4nICsKICAg +ICAgICAgICAgICAgICc8c2VsZWN0IGNsYXNzPSJmb3JtLWlucHV0IG5ldWltcG9ydC1mZWxkIiBk +YXRhLWlkPSInICsgcGlkICsgJyIgZGF0YS1mZWxkPSJmdW5rdGlvbiIgc3R5bGU9IndpZHRoOjE2 +MHB4IiB0aXRsZT0iU3RhbW0tRnVua3Rpb24gKG9wdGlvbmFsLCBrYW5uIHNww6R0ZXIgZ2VzZXR6 +dCB3ZXJkZW4pIj4nICsgZnVua09wdCArICc8L3NlbGVjdD4nICsKICAgICAgICAgICAgJzwvZGl2 +PicgKwogICAgICAgICAgICAnPGRpdiBjbGFzcz0ibmV1aW1wb3J0LWFrdGlvbmVuIj4nICsKICAg +ICAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXByaW1hZXIgYnRuLWtsZWluIiBk +YXRhLW5ldWltcG9ydC1ha3Rpb249ImJlYXJiZWl0ZW4iIGRhdGEtaWQ9IicgKyBwaWQgKyAnIiB0 +aXRsZT0iVm9sbHN0w6RuZGlnZW4gQmVhcmJlaXRlbi1EaWFsb2cgw7ZmZm5lbiI+QmVhcmJlaXRl +bjwvYnV0dG9uPicgKwogICAgICAgICAgICAgICAgJzxidXR0b24gY2xhc3M9ImJ0biBidG4tZXJm +b2xnIGJ0bi1rbGVpbiIgZGF0YS1uZXVpbXBvcnQtYWt0aW9uPSJlcmxlZGlndCIgZGF0YS1pZD0i +JyArIHBpZCArICciIHRpdGxlPSJBdXMgZGVtIE5ldWltcG9ydC1CbG9jayBlbnRmZXJuZW4g4oCU +IFBlcnNvbiBibGVpYnQgYWt0aXYiPkVybGVkaWd0PC9idXR0b24+JyArCiAgICAgICAgICAgICAg +ICAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1nZWZhaHIgYnRuLWtsZWluIiBkYXRhLW5ldWltcG9y +dC1ha3Rpb249InZlcndlcmZlbiIgZGF0YS1pZD0iJyArIHBpZCArICciIHRpdGxlPSJQZXJzb24g +a29tcGxldHQgbMO2c2NoZW4gKEV4Y2VsLUltcG9ydCB3YXIgZWluIEZlaGxpbXBvcnQpIj5WZXJ3 +ZXJmZW48L2J1dHRvbj4nICsKICAgICAgICAgICAgJzwvZGl2PicgKwogICAgICAgICc8L2Rpdj4n +OwogICAgfSkuam9pbignJyk7CiAgICB2YXIgYWxsZUVybGVkaWdlbkJ0biA9IG5ldWUubGVuZ3Ro +ID49IDIKICAgICAgICA/ICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXNlayBidG4ta2xlaW4iIGlk +PSJuZXVpbXBvcnQtYWxsZS1lcmxlZGlndCIgdGl0bGU9Ik1hcmtlciBiZWkgYWxsZW4gUGVyc29u +ZW4gaW0gQmxvY2sgZW50ZmVybmVuIOKAlCBTdGFtbWRhdGVuIGJsZWliZW4gZXJoYWx0ZW4iPkFs +bGUgYWxzIGVybGVkaWd0IG1hcmtpZXJlbjwvYnV0dG9uPicKICAgICAgICA6ICcnOwogICAgYm94 +LmlubmVySFRNTCA9CiAgICAgICAgJzxkaXYgY2xhc3M9Im5ldWltcG9ydC1rb3BmIj4nICsKICAg +ICAgICAgICAgJzxkaXY+JyArCiAgICAgICAgICAgICAgICAnPGgzPk5ldSBpbXBvcnRpZXJ0IMK3 +ICcgKyBuZXVlLmxlbmd0aCArICcgUGVyc29uJyArIChuZXVlLmxlbmd0aCA9PT0gMSA/ICcnIDog +J2VuJykgKyAnPC9oMz4nICsKICAgICAgICAgICAgICAgICc8cD5EaWVzZSBQZXJzb25lbiB3dXJk +ZW4gZ2VyYWRlIHBlciBFeGNlbC1JbXBvcnQgYW5nZWxlZ3QuIEJpdHRlIERpZW5zdGdydXBwZSAo +UGZsaWNodCkgdW5kIG9wdGlvbmFsIFZvcm5hbWUvRnVua3Rpb24gZXJnw6RuemVuLCBkYW5uIGF1 +ZiA8ZW0+RXJsZWRpZ3Q8L2VtPiBrbGlja2VuLjwvcD4nICsKICAgICAgICAgICAgJzwvZGl2Picg +KwogICAgICAgICAgICAnPGRpdj4nICsgYWxsZUVybGVkaWdlbkJ0biArICc8L2Rpdj4nICsKICAg +ICAgICAnPC9kaXY+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9Im5ldWltcG9ydC1saXN0ZSI+JyAr +IHplaWxlbiArICc8L2Rpdj4nOwogICAgLy8gRXZlbnQtQmluZGluZ3MKICAgIGJveC5xdWVyeVNl +bGVjdG9yQWxsKCcubmV1aW1wb3J0LWZlbGQnKS5mb3JFYWNoKGZ1bmN0aW9uKHNlbCkgewogICAg +ICAgIHNlbC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbigpIHsKICAgICAgICAg +ICAgbmV1aW1wb3J0RmVsZFNwZWljaGVybihwYXJzZUludChzZWwuZ2V0QXR0cmlidXRlKCdkYXRh +LWlkJyksIDEwKSwgc2VsLmdldEF0dHJpYnV0ZSgnZGF0YS1mZWxkJyksIHNlbC52YWx1ZSk7CiAg +ICAgICAgfSk7CiAgICB9KTsKICAgIGJveC5xdWVyeVNlbGVjdG9yQWxsKCcubmV1aW1wb3J0LXZv +cm5hbWUnKS5mb3JFYWNoKGZ1bmN0aW9uKGlucCkgewogICAgICAgIGlucC5hZGRFdmVudExpc3Rl +bmVyKCdibHVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIG5ldWltcG9ydEZlbGRTcGVpY2hl +cm4ocGFyc2VJbnQoaW5wLmdldEF0dHJpYnV0ZSgnZGF0YS1pZCcpLCAxMCksICd2b3JuYW1lJywg +aW5wLnZhbHVlLnRyaW0oKSk7CiAgICAgICAgfSk7CiAgICAgICAgaW5wLmFkZEV2ZW50TGlzdGVu +ZXIoJ2tleWRvd24nLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJ0Vu +dGVyJykgeyBlLnByZXZlbnREZWZhdWx0KCk7IGlucC5ibHVyKCk7IH0KICAgICAgICB9KTsKICAg +IH0pOwogICAgYm94LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLW5ldWltcG9ydC1ha3Rpb25dJyku +Zm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcignY2xp +Y2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGlkID0gcGFyc2VJbnQoYnRuLmdldEF0 +dHJpYnV0ZSgnZGF0YS1pZCcpLCAxMCk7CiAgICAgICAgICAgIHZhciBha3QgPSBidG4uZ2V0QXR0 +cmlidXRlKCdkYXRhLW5ldWltcG9ydC1ha3Rpb24nKTsKICAgICAgICAgICAgaWYgKGFrdCA9PT0g +J2VybGVkaWd0JykgICAgbmV1aW1wb3J0RXJsZWRpZ3QoaWQpOwogICAgICAgICAgICBlbHNlIGlm +IChha3QgPT09ICd2ZXJ3ZXJmZW4nKSAgIG5ldWltcG9ydFZlcndlcmZlbihpZCk7CiAgICAgICAg +ICAgIGVsc2UgaWYgKGFrdCA9PT0gJ2JlYXJiZWl0ZW4nKSAgcGVyc29uQmVhcmJlaXRlbkRpYWxv +ZyhpZCk7CiAgICAgICAgfSk7CiAgICB9KTsKICAgIHZhciBhbGxlQnRuID0gZG9jdW1lbnQuZ2V0 +RWxlbWVudEJ5SWQoJ25ldWltcG9ydC1hbGxlLWVybGVkaWd0Jyk7CiAgICBpZiAoYWxsZUJ0bikg +YWxsZUJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgIGJl +c3RhZXRpZ2VuKAogICAgICAgICAgICAnQWxsZSAnICsgbmV1ZS5sZW5ndGggKyAnIFBlcnNvbmVu +IGF1cyBkZW0gTmV1aW1wb3J0LUJsb2NrIGVudGZlcm5lbj9cblxuJyArCiAgICAgICAgICAgICdE +aWUgU3RhbW1kYXRlbiBibGVpYmVuIGVyaGFsdGVuLCBudXIgZGVyIE5ldWltcG9ydC1NYXJrZXIg +d2lyZCB6dXLDvGNrZ2VzZXR6dC4nLAogICAgICAgICAgICBmdW5jdGlvbigpIHsgbmV1aW1wb3J0 +QWxsZUVybGVkaWd0KG5ldWUubWFwKGZ1bmN0aW9uKHApIHsgcmV0dXJuIHAuaWQ7IH0pKTsgfSwK +ICAgICAgICAgICAgeyB0aXRlbDogJ0FsbGUgYWxzIGVybGVkaWd0IG1hcmtpZXJlbicsIGphVGV4 +dDogJ0VybGVkaWd0IG1hcmtpZXJlbicgfQogICAgICAgICk7CiAgICB9KTsKfQoKZXhwb3J0IGZ1 +bmN0aW9uIG5ldWltcG9ydEZlbGRTcGVpY2hlcm4oaWQsIGZlbGQsIHdlcnQpIHsKICAgIHZhciBw +ZXJzb24gPSAoWi5wbGFudW5nLnBlcnNvbmVuIHx8IFtdKS5maW5kKGZ1bmN0aW9uKHApIHsgcmV0 +dXJuIHAuaWQgPT09IGlkOyB9KTsKICAgIGlmICghcGVyc29uKSByZXR1cm47CiAgICBpZiAoU3Ry +aW5nKHBlcnNvbltmZWxkXSB8fCAnJykgPT09IFN0cmluZyh3ZXJ0IHx8ICcnKSkgcmV0dXJuOwog +ICAgdmFyIHVwZGF0ZSA9IHt9OyB1cGRhdGVbZmVsZF0gPSB3ZXJ0OwogICAgYXBpUHV0KCcvYXBp +L3BlcnNvbmVuLycgKyBpZCwgdXBkYXRlKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgIHBlcnNv +bltmZWxkXSA9IHdlcnQ7CiAgICAgICAgcGVyc29uZW5OZXVBdWZiYXVlbigpOwogICAgICAgIC8v +IFRhYmVsbGUgKyBCbG9jayBuZXUsIGZhbGxzIEdydXBwZW4tQWVuZGVydW5nIGRpZSBTb3J0aWVy +dW5nIGJlZWluZmx1c3N0CiAgICAgICAgcGVyc29uYWxUYWJlbGxlUmVuZGVybigpOwogICAgICAg +IGlmICh0eXBlb2YgbmFtZW5SZW5kZXJuID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgIG5h +bWVuUmVuZGVybigpOwogICAgICAgICAgICBkYXRlbkdyaWRSZW5kZXJuKCk7CiAgICAgICAgICAg +IGtvcGZSZW5kZXJuKCk7CiAgICAgICAgfQogICAgfSkuY2F0Y2goZnVuY3Rpb24oZSkgeyB0b2Fz +dCgnRmVobGVyOiAnICsgZS5tZXNzYWdlLCAnZmVobGVyJyk7IH0pOwp9CgpleHBvcnQgZnVuY3Rp +b24gbmV1aW1wb3J0RXJsZWRpZ3QoaWQpIHsKICAgIC8vIE1hcmtlciBlbnRmZXJuZW46IFBVVCBt +aXQgaW1wb3J0TmV1QW09bnVsbC4gU2VydmVyIHNjaHJlaWJ0IGRhcyBGZWxkCiAgICAvLyBlaW5m +YWNoIHVtLCBpbiBkZXIgRGF0ZWkgc3RlaHQgZGFubiBpbXBvcnROZXVBbTogbnVsbCDigJQgZGVy +IEZpbHRlcgogICAgLy8gInAuaW1wb3J0TmV1QW0iIGlzdCBmYWxzeSB1bmQgZGllIFBlcnNvbiBl +cnNjaGVpbnQgbmljaHQgbWVociBpbSBCbG9jay4KICAgIGFwaVB1dCgnL2FwaS9wZXJzb25lbi8n +ICsgaWQsIHsgaW1wb3J0TmV1QW06IG51bGwgfSkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICB2 +YXIgcCA9IChaLnBsYW51bmcucGVyc29uZW4gfHwgW10pLmZpbmQoZnVuY3Rpb24oeCkgeyByZXR1 +cm4geC5pZCA9PT0gaWQ7IH0pOwogICAgICAgIGlmIChwKSBwLmltcG9ydE5ldUFtID0gbnVsbDsK +ICAgICAgICBwZXJzb25hbFRhYmVsbGVSZW5kZXJuKCk7CiAgICAgICAgdG9hc3QoJ1BlcnNvbiBh +dXMgTmV1aW1wb3J0LUJsb2NrIGVudGZlcm50JywgJ2VyZm9sZycpOwogICAgfSkuY2F0Y2goZnVu +Y3Rpb24oZSkgeyB0b2FzdCgnRmVobGVyOiAnICsgZS5tZXNzYWdlLCAnZmVobGVyJyk7IH0pOwp9 +CgpleHBvcnQgZnVuY3Rpb24gbmV1aW1wb3J0QWxsZUVybGVkaWd0KGlkcykgewogICAgLy8gU2Vx +dWVuemllbGwgZHVyY2hnZWhlbiwgZGFtaXQgU2VydmVyLUxhc3QgYmVncmVuenQgYmxlaWJ0IHVu +ZCBkZXIKICAgIC8vIGxldHp0ZSBQVVQgZGllIFJlbmRlcmluZy1Ba3R1YWxpc2llcnVuZyB0cmln +Z2VybiBrYW5uLgogICAgdmFyIGkgPSAwOwogICAgZnVuY3Rpb24gbmFlY2hzdGUoKSB7CiAgICAg +ICAgaWYgKGkgPj0gaWRzLmxlbmd0aCkgewogICAgICAgICAgICB0b2FzdChpZHMubGVuZ3RoICsg +JyBQZXJzb24nICsgKGlkcy5sZW5ndGggPT09IDEgPyAnJyA6ICdlbicpICsgJyBhdXMgTmV1aW1w +b3J0LUJsb2NrIGVudGZlcm50JywgJ2VyZm9sZycpOwogICAgICAgICAgICBwZXJzb25hbFRhYmVs +bGVSZW5kZXJuKCk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGlk +ID0gaWRzW2krK107CiAgICAgICAgYXBpUHV0KCcvYXBpL3BlcnNvbmVuLycgKyBpZCwgeyBpbXBv +cnROZXVBbTogbnVsbCB9KS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgcCA9ICha +LnBsYW51bmcucGVyc29uZW4gfHwgW10pLmZpbmQoZnVuY3Rpb24oeCkgeyByZXR1cm4geC5pZCA9 +PT0gaWQ7IH0pOwogICAgICAgICAgICBpZiAocCkgcC5pbXBvcnROZXVBbSA9IG51bGw7CiAgICAg +ICAgICAgIG5hZWNoc3RlKCk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZSkgewogICAgICAg +ICAgICB0b2FzdCgnRmVobGVyIGJlaSBJRCAnICsgaWQgKyAnOiAnICsgZS5tZXNzYWdlLCAnZmVo +bGVyJyk7CiAgICAgICAgICAgIHBlcnNvbmFsVGFiZWxsZVJlbmRlcm4oKTsKICAgICAgICB9KTsK +ICAgIH0KICAgIG5hZWNoc3RlKCk7Cn0KCmV4cG9ydCBmdW5jdGlvbiBuZXVpbXBvcnRWZXJ3ZXJm +ZW4oaWQpIHsKICAgIHZhciBwZXJzb24gPSAoWi5wbGFudW5nLnBlcnNvbmVuIHx8IFtdKS5maW5k +KGZ1bmN0aW9uKHApIHsgcmV0dXJuIHAuaWQgPT09IGlkOyB9KTsKICAgIGlmICghcGVyc29uKSBy +ZXR1cm47CiAgICBiZXN0YWV0aWdlbigKICAgICAgICAnUGVyc29uICInICsgKHBlcnNvbi5uYW1l +IHx8ICgnSUQgJyArIGlkKSkgKyAnIiBlbmRnw7xsdGlnIGzDtnNjaGVuP1xuXG4nICsKICAgICAg +ICAnVmVyd2VuZGUgZGFzIG51ciwgd2VubiBkZXIgRXhjZWwtSW1wb3J0IGRpZXNlIFBlcnNvbiBm +w6Rsc2NobGljaCBhbmdlbGVndCBoYXQuICcgKwogICAgICAgICdEaWUgU3RhbW1kYXRlbiBnZWhl +biB2ZXJsb3Jlbi4nLAogICAgICAgIGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmZXRjaCgnL2Fw +aS9wZXJzb25lbi8nICsgaWQgKyAnP2VuZGd1ZWx0aWc9MScsIHsgbWV0aG9kOiAnREVMRVRFJyB9 +KS50aGVuKGZ1bmN0aW9uKHIpIHsKICAgICAgICAgICAgICAgIGlmICghci5vaykgcmV0dXJuIHIu +anNvbigpLnRoZW4oZnVuY3Rpb24oYikgeyB0aHJvdyBuZXcgRXJyb3IoYi5mZWhsZXIgfHwgKCdI +VFRQICcgKyByLnN0YXR1cykpOyB9KTsKICAgICAgICAgICAgICAgIFoucGxhbnVuZy5wZXJzb25l +biA9IChaLnBsYW51bmcucGVyc29uZW4gfHwgW10pLmZpbHRlcihmdW5jdGlvbih4KSB7IHJldHVy +biB4LmlkICE9PSBpZDsgfSk7CiAgICAgICAgICAgICAgICBwZXJzb25lbk5ldUF1ZmJhdWVuKCk7 +CiAgICAgICAgICAgICAgICBwZXJzb25hbFRhYmVsbGVSZW5kZXJuKCk7CiAgICAgICAgICAgICAg +ICBpZiAodHlwZW9mIG5hbWVuUmVuZGVybiA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgICAgICAg +ICAgICAgIG5hbWVuUmVuZGVybigpOwogICAgICAgICAgICAgICAgICAgIGRhdGVuR3JpZFJlbmRl +cm4oKTsKICAgICAgICAgICAgICAgICAgICBrb3BmUmVuZGVybigpOwogICAgICAgICAgICAgICAg +fQogICAgICAgICAgICAgICAgdG9hc3QoJ1BlcnNvbiB2ZXJ3b3JmZW4nLCAnZXJmb2xnJyk7CiAg +ICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsgdG9hc3QoJ0ZlaGxlcjogJyArIGUubWVz +c2FnZSwgJ2ZlaGxlcicpOyB9KTsKICAgICAgICB9LAogICAgICAgIHsgdGl0ZWw6ICdQZXJzb24g +dmVyd2VyZmVuJywgamFUZXh0OiAnRW5kZ8O8bHRpZyBsw7ZzY2hlbicsIGphRGFuZ2VyOiB0cnVl +IH0KICAgICk7Cn0KCmV4cG9ydCBmdW5jdGlvbiBwZXJzb25TdGF0dXNTZXR6ZW4oaWQsIGFrdGl2 +KSB7CiAgICBhcGlQdXQoJy9hcGkvcGVyc29uZW4vJyArIGlkLCB7IGFrdGl2OiBha3RpdiB9KS50 +aGVuKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBwID0gWi5wbGFudW5nLnBlcnNvbmVuLmZpbmQo +ZnVuY3Rpb24oeCkgeyByZXR1cm4geC5pZCA9PT0gaWQ7IH0pOwogICAgICAgIGlmIChwKSBwLmFr +dGl2ID0gYWt0aXY7CiAgICAgICAgcGVyc29uZW5OZXVBdWZiYXVlbigpOwogICAgICAgIHBlcnNv +bmFsVGFiZWxsZVJlbmRlcm4oKTsKICAgICAgICBpZiAodHlwZW9mIG5hbWVuUmVuZGVybiA9PT0g +J2Z1bmN0aW9uJykgewogICAgICAgICAgICBuYW1lblJlbmRlcm4oKTsKICAgICAgICAgICAgZGF0 +ZW5HcmlkUmVuZGVybigpOwogICAgICAgICAgICBrb3BmUmVuZGVybigpOwogICAgICAgIH0KICAg +ICAgICB0b2FzdChha3RpdiA/ICdQZXJzb24gcmVha3RpdmllcnQnIDogJ1BlcnNvbiB1bWdlc2V0 +enQnLCAnZXJmb2xnJyk7CiAgICB9KS5jYXRjaChmdW5jdGlvbihlKSB7IHRvYXN0KCdGZWhsZXI6 +ICcgKyBlLm1lc3NhZ2UsICdmZWhsZXInKTsgfSk7Cn0KCmV4cG9ydCBmdW5jdGlvbiBwZXJzb25C +ZWFyYmVpdGVuRGlhbG9nKGlkKSB7CiAgICB2YXIgcGVyc29uID0gKFoucGxhbnVuZy5wZXJzb25l +biB8fCBbXSkuZmluZChmdW5jdGlvbihwKSB7IHJldHVybiBwLmlkID09PSBpZDsgfSk7CiAgICBp +ZiAoIXBlcnNvbikgcmV0dXJuOwogICAgdmFyIGdydXBwZW4gPSAoWi5hZG1pbi5ncnVwcGVuIHx8 +IFtdKS5tYXAoZnVuY3Rpb24oZykgeyByZXR1cm4gZy5uYW1lOyB9KTsKCiAgICAvLyBBa3R1ZWxs +ZSBSYW5nLVBvc2l0aW9uIChQbGF0eiBpbiBkZXIgYWt0aXYgc29ydGllcnRlbiBMaXN0ZSkg4oCU +IHJlYWQtb25seSwKICAgIC8vIHdpcmQgdmlhIFBmZWlsZSDilrIv4pa8IGluIGRlciBQZXJzb25h +bC1UYWJlbGxlIGdlYWVuZGVydCwgbmljaHQgaGllci4KICAgIC8vIFp1c2FldHpsaWNoIHplaWdl +biB3aXIgZGllIHJvaGUgcG9zaXRpb24gKEV4Y2VsLVJhbmd6YWhsKSwgZGFtaXQgZGVyCiAgICAv +LyBVc2VyIGVya2VubnQsIG9iIGRpZSBSYW5nb3JkbnVuZyBhdXMgZWluZW0gSW1wb3J0IHVlYmVy +bm9tbWVuIHd1cmRlLgogICAgdmFyIGFrdGl2ZSA9IChaLnBsYW51bmcucGVyc29uZW4gfHwgW10p +CiAgICAgICAgLmZpbHRlcihmdW5jdGlvbih4KSB7IHJldHVybiB4LmFrdGl2OyB9KQogICAgICAg +IC5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsgcmV0dXJuIChhLnBvc2l0aW9uIHx8IDk5OSkgLSAoYi5w +b3NpdGlvbiB8fCA5OTkpOyB9KTsKICAgIHZhciByYW5nSWR4ID0gYWt0aXZlLmZpbmRJbmRleChm +dW5jdGlvbih4KSB7IHJldHVybiB4LmlkID09PSBpZDsgfSk7CiAgICB2YXIgcmFuZ1RleHQgPSAn +4oCUJzsKICAgIGlmIChwZXJzb24uYWt0aXYgJiYgcmFuZ0lkeCA+PSAwKSB7CiAgICAgICAgcmFu +Z1RleHQgPSAnUmFuZyAnICsgKHJhbmdJZHggKyAxKSArICcgdm9uICcgKyBha3RpdmUubGVuZ3Ro +OwogICAgICAgIGlmIChwZXJzb24ucG9zaXRpb24gIT0gbnVsbCkgcmFuZ1RleHQgKz0gJyDCtyBQ +b3NpdGlvbiAnICsgcGVyc29uLnBvc2l0aW9uOwogICAgfQoKICAgIHZhciBrb2VycGVyID0gYXZh +dGFyQmxvY2tIdG1sKHBlcnNvbikgKwogICAgICAgICc8ZGl2IHN0eWxlPSJkaXNwbGF5OmdyaWQ7 +Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjAgMTZweCI+JyArCiAgICAgICAgJzxk +aXYgY2xhc3M9ImZvcm0tZ3J1cHBlIGZvcm0tcGZsaWNodCI+PGxhYmVsPk5hbWU8L2xhYmVsPjxp +bnB1dCB0eXBlPSJ0ZXh0IiBpZD0iZGxnLW5hbWUiIGNsYXNzPSJmb3JtLWlucHV0IiBzdHlsZT0i +d2lkdGg6MTAwJSIgdmFsdWU9IicgKyBlc2NhcGVBdHRyKHBlcnNvbi5uYW1lKSArICciPjwvZGl2 +PicgKwogICAgICAgICc8ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSI+PGxhYmVsPlZvcm5hbWU8L2xh +YmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iZGxnLXZvcm5hbWUiIGNsYXNzPSJmb3JtLWlucHV0 +IiBzdHlsZT0id2lkdGg6MTAwJSIgdmFsdWU9IicgKyBlc2NhcGVBdHRyKHBlcnNvbi52b3JuYW1l +IHx8ICcnKSArICciPjwvZGl2PicgKwogICAgICAgICc8ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSI+ +PGxhYmVsPkRpZW5zdGdyYWQ8L2xhYmVsPjxzZWxlY3QgaWQ9ImRsZy1kaWVuc3RncmFkIiBjbGFz +cz0iZm9ybS1pbnB1dCIgc3R5bGU9IndpZHRoOjEwMCUiPicgKwogICAgICAgICc8b3B0aW9uIHZh +bHVlPSIiJyArICghcGVyc29uLmRpZW5zdGdyYWQgPyAnIHNlbGVjdGVkJyA6ICcnKSArICc+4oCU +IG9obmUg4oCUPC9vcHRpb24+JyArCiAgICAgICAgZ2V0RGllbnN0Z3JhZGUoKS5tYXAoZnVuY3Rp +b24oZykgewogICAgICAgICAgICByZXR1cm4gJzxvcHRpb24gdmFsdWU9IicgKyBlc2NhcGVBdHRy +KGcpICsgJyInICsgKGcgPT09IHBlcnNvbi5kaWVuc3RncmFkID8gJyBzZWxlY3RlZCcgOiAnJykg +KyAnPicgKyBlc2NhcGVIVE1MKGcpICsgJzwvb3B0aW9uPic7CiAgICAgICAgfSkuam9pbignJykg +KwogICAgICAgICc8L3NlbGVjdD48L2Rpdj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0iZm9ybS1n +cnVwcGUiPjxsYWJlbD5EaWVuc3RncnVwcGU8L2xhYmVsPjxzZWxlY3QgaWQ9ImRsZy1ncnVwcGUi +IGNsYXNzPSJmb3JtLWlucHV0IiBzdHlsZT0id2lkdGg6MTAwJSI+JyArCiAgICAgICAgZ3J1cHBl +bi5tYXAoZnVuY3Rpb24oZykgeyByZXR1cm4gJzxvcHRpb24nICsgKGcgPT09IHBlcnNvbi5ncnVw +cGUgPyAnIHNlbGVjdGVkJyA6ICcnKSArICc+JyArIGVzY2FwZUhUTUwoZykgKyAnPC9vcHRpb24+ +JzsgfSkuam9pbignJykgKwogICAgICAgICc8L3NlbGVjdD48L2Rpdj4nICsKICAgICAgICAnPGRp +diBjbGFzcz0iZm9ybS1ncnVwcGUiPjxsYWJlbD5GdW5rdGlvbjwvbGFiZWw+PHNlbGVjdCBpZD0i +ZGxnLWZ1bmt0aW9uIiBjbGFzcz0iZm9ybS1pbnB1dCIgc3R5bGU9IndpZHRoOjEwMCUiIHRpdGxl +PSJTdGFtbS1GdW5rdGlvbjogYmVzdGltbXQgZGllIFZlcmFudHdvcnR1bmdzLVJlaWhlbmZvbGdl +IGluIGRlciBTY2hpY2h0Ij4nICsKICAgICAgICAnPG9wdGlvbiB2YWx1ZT0iIicgKyAoIXBlcnNv +bi5mdW5rdGlvbiA/ICcgc2VsZWN0ZWQnIDogJycpICsgJz7igJQgb2huZSBGdW5rdGlvbiDigJQ8 +L29wdGlvbj4nICsKICAgICAgICBnZXRGdW5rdGlvbmVuKCkubWFwKGZ1bmN0aW9uKGYpIHsKICAg +ICAgICAgICAgcmV0dXJuICc8b3B0aW9uIHZhbHVlPSInICsgZXNjYXBlQXR0cihmLmNvZGUpICsg +JyInICsgKGYuY29kZSA9PT0gcGVyc29uLmZ1bmt0aW9uID8gJyBzZWxlY3RlZCcgOiAnJykgKyAn +PicgKyBlc2NhcGVIVE1MKGYuY29kZSkgKyAnPC9vcHRpb24+JzsKICAgICAgICB9KS5qb2luKCcn +KSArCiAgICAgICAgJzwvc2VsZWN0PjwvZGl2PicgKwogICAgICAgICc8ZGl2IGNsYXNzPSJmb3Jt +LWdydXBwZSIgaWQ9ImRsZy1lbGRnbC1ncnVwcGUiPicgKwogICAgICAgICAgICAnPGxhYmVsPlZJ +MyBER0w8L2xhYmVsPicgKwogICAgICAgICAgICBlbGRnbFRvZ2dsZUh0bWwocGVyc29uLmVsRGds +UXVhbGlmaXppZXJ0KSArCiAgICAgICAgJzwvZGl2PicgKwogICAgICAgICc8ZGl2IGNsYXNzPSJm +b3JtLWdydXBwZSI+PGxhYmVsPk9FIChTdGFuZG9ydCk8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0 +IiBpZD0iZGxnLW9lIiBjbGFzcz0iZm9ybS1pbnB1dCIgc3R5bGU9IndpZHRoOjEwMCUiIHZhbHVl +PSInICsgZXNjYXBlQXR0cihwZXJzb24ub2UgfHwgJycpICsgJyIgcGxhY2Vob2xkZXI9InouQi4g +S0EsIEhBLCBCTyI+PC9kaXY+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9ImZvcm0tZ3J1cHBlIj48 +bGFiZWw+VGVsZWZvbjwvbGFiZWw+PGlucHV0IHR5cGU9InRleHQiIGlkPSJkbGctdGVsZWZvbiIg +Y2xhc3M9ImZvcm0taW5wdXQiIHN0eWxlPSJ3aWR0aDoxMDAlIiB2YWx1ZT0iJyArIGVzY2FwZUF0 +dHIocGVyc29uLnRlbGVmb24gfHwgJycpICsgJyIgcGxhY2Vob2xkZXI9InouQi4gNDUyMCI+PC9k +aXY+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9ImZvcm0tZ3J1cHBlIj48bGFiZWw+TlctS2VubnVu +ZzwvbGFiZWw+PGlucHV0IHR5cGU9InRleHQiIGlkPSJkbGctbndrZW5udW5nIiBjbGFzcz0iZm9y +bS1pbnB1dCIgc3R5bGU9IndpZHRoOjEwMCUiIHZhbHVlPSInICsgZXNjYXBlQXR0cihwZXJzb24u +bndLZW5udW5nIHx8ICcnKSArICciIHBsYWNlaG9sZGVyPSJET01BSU5cXHVzZXIiPjwvZGl2Picg +KwogICAgICAgICc8ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSI+PGxhYmVsPkUtTWFpbDwvbGFiZWw+ +PGlucHV0IHR5cGU9ImVtYWlsIiBpZD0iZGxnLWVtYWlsIiBjbGFzcz0iZm9ybS1pbnB1dCIgc3R5 +bGU9IndpZHRoOjEwMCUiIHZhbHVlPSInICsgZXNjYXBlQXR0cihwZXJzb24uZW1haWwgfHwgJycp +ICsgJyIgcGxhY2Vob2xkZXI9IkJlbmFjaHJpY2h0aWd1bmcgYmVpIMOEbmRlcnVuZ2VuIj48L2Rp +dj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0iZm9ybS1ncnVwcGUiPjxsYWJlbD5HZWJ1cnRzZGF0 +dW08L2xhYmVsPjxpbnB1dCB0eXBlPSJkYXRlIiBpZD0iZGxnLWdlYnVydHNkYXR1bSIgY2xhc3M9 +ImZvcm0taW5wdXQiIHN0eWxlPSJ3aWR0aDoxMDAlIiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIocGVy +c29uLmdlYnVydHNkYXR1bSB8fCAnJykgKyAnIj48L2Rpdj4nICsKICAgICAgICAnPGRpdiBjbGFz +cz0iZm9ybS1ncnVwcGUiPjxsYWJlbD5SYW5nZm9sZ2U8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0 +IiBjbGFzcz0iZm9ybS1pbnB1dCIgc3R5bGU9IndpZHRoOjEwMCU7YmFja2dyb3VuZDp2YXIoLS1i +Zy1tdXRlZCk7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCkiIHZhbHVlPSInICsgZXNjYXBlQXR0cihy +YW5nVGV4dCkgKyAnIiByZWFkb25seSB0aXRsZT0iV2lyZCB1ZWJlciBkaWUgUGZlaWxlIOKWsi/i +lrwgaW4gZGVyIFBlcnNvbmFsLVRhYmVsbGUgZ2VhZW5kZXJ0Ij48L2Rpdj4nICsKICAgICAgICAv +LyBTY2hpY2h0cm90YXRpb24gYXVzIFN0YW5kb3J0ICsgRGllbnN0Z3J1cHBlIGFiZ2VsZWl0ZXQg +KFBoYXNlIDMsCiAgICAgICAgLy8gcmVhZC1vbmx5KS4gUGZsZWdlIGVyZm9sZ3QgaW5kaXJla3Q6 +IFN0YW5kb3J0LVNjaGljaHRmb2xnZSBpbQogICAgICAgIC8vIEFkbWluLVRhYiAiU3RhbmRvcnRl +IiArIERpZW5zdGdydXBwZSBvYmVuIGltIHNlbGJlbiBNb2RhbC4KICAgICAgICAoZnVuY3Rpb24o +KSB7CiAgICAgICAgICAgIHZhciBoZXV0ZSA9IGRhdHVtU3RyKG5ldyBEYXRlKCkpOwogICAgICAg +ICAgICB2YXIgc2NoaWNodCA9IHBlcnNvblNjaGljaHRBbShwZXJzb24sIGhldXRlKTsKICAgICAg +ICAgICAgdmFyIHcgPSBfcGVyc29uTmFlY2hzdGVyV2VjaHNlbChwZXJzb24sIGhldXRlKTsKICAg +ICAgICAgICAgaWYgKCFzY2hpY2h0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJzxkaXYgY2xh +c3M9ImZvcm0tZ3J1cHBlIj48bGFiZWw+U2NoaWNodHJvdGF0aW9uPC9sYWJlbD4nICsKICAgICAg +ICAgICAgICAgICAgICAnPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWlucHV0IiBzdHls +ZT0id2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnZhcigtLWJnLW11dGVkKTtjb2xvcjp2YXIoLS10ZXh0 +LW11dGVkKSIgcmVhZG9ubHkgdmFsdWU9IuKAlCBuaWNodCB6dW9yZGVuYmFyIChTdGFuZG9ydC9H +cnVwcGUgZmVobHQgb2RlciBQb29sKSIgdGl0bGU9IlBlcnNvbiBoYXQga2VpbmUgU3RhbmRvcnQt +Um90YXRpb24uIFouQi4gV0wvVkQvUG9vbC1NaXRhcmJlaXRlci4iPjwvZGl2Pic7CiAgICAgICAg +ICAgIH0KICAgICAgICAgICAgdmFyIGFrdHVlbGxMYWJlbCA9IHsgRjogJ0Zyw7xoc2NoaWNodCcs +IFM6ICdTcMOkdHNjaGljaHQnLCBOOiAnTmFjaHRzY2hpY2h0JyB9W3NjaGljaHRdOwogICAgICAg +ICAgICB2YXIgaW5mbyA9IGFrdHVlbGxMYWJlbDsKICAgICAgICAgICAgaWYgKHcpIHsKICAgICAg +ICAgICAgICAgIHZhciBuYWNoTGFiZWwgPSB7IEY6ICdGcsO8aCcsIFM6ICdTcMOkdCcsIE46ICdO +YWNodCcgfVt3Lm5hY2hdOwogICAgICAgICAgICAgICAgaW5mbyArPSAnIMK3IFdlY2hzZWwgJyAr +IGRhdHVtRm9ybWF0REUody5kYXR1bSkgKyAnIOKGkiAnICsgbmFjaExhYmVsOwogICAgICAgICAg +ICB9CiAgICAgICAgICAgIHJldHVybiAnPGRpdiBjbGFzcz0iZm9ybS1ncnVwcGUiPjxsYWJlbD5T +Y2hpY2h0cm90YXRpb24gKGF1cyBTdGFuZG9ydCArIEdydXBwZSk8L2xhYmVsPicgKwogICAgICAg +ICAgICAgICAgJzxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1pbnB1dCIgc3R5bGU9Indp +ZHRoOjEwMCU7YmFja2dyb3VuZDp2YXIoLS1iZy1tdXRlZCk7Y29sb3I6dmFyKC0tdGV4dC1tdXRl +ZCkiIHJlYWRvbmx5IHZhbHVlPSInICsgZXNjYXBlQXR0cihpbmZvKSArICciIHRpdGxlPSJIZXV0 +aWdlciBTdGFuZCBsYXV0IFN0YW5kb3J0LVNjaGljaHRmb2xnZSB1bmQgRGllbnN0Z3J1cHBlLiBB +ZW5kZXJ1bmdlbiBlcmZvbGdlbiB1ZWJlciBkaWUgU3RhbmRvcnQtU2NoaWNodGZvbGdlIGltIFRh +YiBTdGFuZG9ydGUgKyBEaWVuc3RncnVwcGVuIG9iZW4uIj48L2Rpdj4nOwogICAgICAgIH0pKCkg +KwogICAgICAgICc8ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSI+PGxhYmVsPlN0YXR1czwvbGFiZWw+ +PHNlbGVjdCBpZD0iZGxnLWFrdGl2IiBjbGFzcz0iZm9ybS1pbnB1dCIgc3R5bGU9IndpZHRoOjEw +MCUiPicgKwogICAgICAgICc8b3B0aW9uIHZhbHVlPSJ0cnVlIicgKyAocGVyc29uLmFrdGl2ID8g +JyBzZWxlY3RlZCcgOiAnJykgKyAnPkFrdGl2IChpbiBkZXIgUGxhbnVuZyk8L29wdGlvbj4nICsK +ICAgICAgICAnPG9wdGlvbiB2YWx1ZT0iZmFsc2UiJyArICghcGVyc29uLmFrdGl2ID8gJyBzZWxl +Y3RlZCcgOiAnJykgKyAnPlVtZ2VzZXR6dCAobmljaHQgaW4gZGVyIFBsYW51bmcpPC9vcHRpb24+ +JyArCiAgICAgICAgJzwvc2VsZWN0PjwvZGl2PicgKwogICAgICAgIC8vIFByby1QZXJzb24gYXVz +IGRlciBQbGFudW5nIGF1c2JsZW5kZW4gKFN1cGVyVXNlci1vbmx5KSDigJQgUGVuZGFudCB6dXIK +ICAgICAgICAvLyBUb2dnbGUtU3BhbHRlIGluIGRlciBQZXJzb25hbC1UYWJlbGxlLgogICAgICAg +IChaLnJlY2h0ZS5pc3RTdXBlclVzZXIKICAgICAgICAgICAgPyAnPGRpdiBjbGFzcz0iZm9ybS1n +cnVwcGUiPjxsYWJlbD5QbGFudW5nc2Fuc2ljaHQ8L2xhYmVsPicgKwogICAgICAgICAgICAgICc8 +bGFiZWwgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtmb250 +LXNpemU6MTNweDtjdXJzb3I6cG9pbnRlciI+JyArCiAgICAgICAgICAgICAgJzxpbnB1dCB0eXBl +PSJjaGVja2JveCIgaWQ9ImRsZy1pbnBsYW51bmciJyArIChwZXJzb24uaW5QbGFudW5nID09PSBm +YWxzZSA/ICcgY2hlY2tlZCcgOiAnJykgKyAnPiAnICsKICAgICAgICAgICAgICAnSW4gUGxhbnVu +ZyAvIFdvY2hlbnBsYW4gLyBQZXJzLiBQbGFuIGF1c2JsZW5kZW48L2xhYmVsPicgKwogICAgICAg +ICAgICAgICc8ZGl2IHN0eWxlPSJmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVk +KTttYXJnaW4tdG9wOjJweCI+UGVyc29uIGJsZWlidCBpbiBkZXIgUGVyc29uYWx2ZXJ3YWx0dW5n +IHBmbGVnYmFyLCBlcnNjaGVpbnQgYWJlciBuaWNodCBpbiBkZW4gUGxhbnVuZ3NhbnNpY2h0ZW4u +PC9kaXY+PC9kaXY+JwogICAgICAgICAgICA6ICcnKSArCiAgICAgICAgJzwvZGl2Pic7CgogICAg +Ly8gWmVsbC1FZGl0LVJlY2h0ZS1TZWt0aW9uIOKAlCBudXIgZnVlciBTdXBlclVzZXIgc2ljaHRi +YXIgKGFuZGVyZSBzb2xsZW4KICAgIC8vIGtlaW5lIFp1Z3JpZmZzcmVjaHRlIHZlcmFlbmRlcm4g +a29lbm5lbiwgYXVjaCBuaWNodCBpaHJlIGVpZ2VuZW4pLgogICAgaWYgKFoucmVjaHRlLmlzdFN1 +cGVyVXNlcikgewogICAgICAgIHZhciBlciA9IHBlcnNvbi5lZGl0UmVjaHRlIHx8IHt9OwogICAg +ICAgIC8vIFNvcnRpZXJ1bmcgYWxwaGFiZXRpc2NoIG5hY2ggTmFjaG5hbWUsIFRpZWJyZWFrZXIg +Vm9ybmFtZSAoVXNlci1XdW5zY2ggQy4yOgogICAgICAgIC8vIE1pdGJlYXJiZWl0ZXIgc29sbGVu +IGltbWVyIGFscGhhYmV0aXNjaCBlcnNjaGVpbmVuLCB1bmFiaGFlbmdpZyB2b24gRXhjZWwtUG9z +aXRpb24pLgogICAgICAgIHZhciBwZXJzb25lbiA9IChaLnBsYW51bmcucGVyc29uZW4gfHwgW10p +LnNsaWNlKCkKICAgICAgICAgICAgLmZpbHRlcihmdW5jdGlvbih4KSB7IHJldHVybiB4LmFrdGl2 +ICYmIHguaWQgIT09IHBlcnNvbi5pZDsgfSkKICAgICAgICAgICAgLnNvcnQoZnVuY3Rpb24oYSwg +YikgewogICAgICAgICAgICAgICAgdmFyIGMgPSAoYS5uYW1lIHx8ICcnKS5sb2NhbGVDb21wYXJl +KGIubmFtZSB8fCAnJywgJ2RlJyk7CiAgICAgICAgICAgICAgICBpZiAoYyAhPT0gMCkgcmV0dXJu +IGM7CiAgICAgICAgICAgICAgICByZXR1cm4gKGEudm9ybmFtZSB8fCAnJykubG9jYWxlQ29tcGFy +ZShiLnZvcm5hbWUgfHwgJycsICdkZScpOwogICAgICAgICAgICB9KTsKICAgICAgICB2YXIgc3Rh +bmRvcnRlID0gKFouYWRtaW4uc3RhbmRvcnRlIHx8IFtdKS5tYXAoZnVuY3Rpb24ocykgeyByZXR1 +cm4gcy5rdWVyemVsIHx8IHMubmFtZTsgfSkuZmlsdGVyKEJvb2xlYW4pOwogICAgICAgIGZ1bmN0 +aW9uIGVyQ2hrKGlkLCBsYWJlbCwgY2hlY2tlZCkgewogICAgICAgICAgICByZXR1cm4gJzxsYWJl +bCBzdHlsZT0iZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtt +YXJnaW46MnB4IDEycHggMnB4IDA7Y3Vyc29yOnBvaW50ZXIiPjxpbnB1dCB0eXBlPSJjaGVja2Jv +eCIgY2xhc3M9ImVkaXQtcmVjaHQtY2hrIiBkYXRhLXdlcnQ9IicgKyBlc2NhcGVBdHRyKGlkKSAr +ICciJyArIChjaGVja2VkID8gJyBjaGVja2VkJyA6ICcnKSArICc+PHNwYW4+JyArIGVzY2FwZUhU +TUwobGFiZWwpICsgJzwvc3Bhbj48L2xhYmVsPic7CiAgICAgICAgfQogICAgICAgIC8vIE1pa3Jv +dGVhbS1Lb2xsZWdlbiBkZXIgYmVhcmJlaXRldGVuIFBlcnNvbiAoVW5pb24gdWViZXIgYWxsZSBU +ZWFtcywKICAgICAgICAvLyBpbiBkZW5lbiBzaWUgTWl0Z2xpZWQgaXN0OyBvaG5lIHNpZSBzZWxi +c3QpLiBXaXJkIGdlbnV0enQgZnVlciBlaW5lCiAgICAgICAgLy8gZWlnZW5lIFNla3Rpb24gIk1l +aW4gTWlrcm90ZWFtIiBtaXQgVm9yaGFrZW4gYmVpbSBFcnN0LUtvbmZpZ3VyaWVyZW4uCiAgICAg +ICAgdmFyIG1pa3JvSWRzID0gW107CiAgICAgICAgKFouYWRtaW4ubWlrcm90ZWFtcyB8fCBbXSku +Zm9yRWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIGlmICghdCB8fCAhdC5wZXJzb25JZHMg +fHwgdC5wZXJzb25JZHMuaW5kZXhPZihwZXJzb24uaWQpIDwgMCkgcmV0dXJuOwogICAgICAgICAg +ICB0LnBlcnNvbklkcy5mb3JFYWNoKGZ1bmN0aW9uKHBpZCkgewogICAgICAgICAgICAgICAgdmFy +IG4gPSBOdW1iZXIocGlkKTsKICAgICAgICAgICAgICAgIGlmIChuICE9PSBOdW1iZXIocGVyc29u +LmlkKSAmJiBtaWtyb0lkcy5pbmRleE9mKG4pIDwgMCkgbWlrcm9JZHMucHVzaChuKTsKICAgICAg +ICAgICAgfSk7CiAgICAgICAgfSk7CiAgICAgICAgLy8gTWlrcm90ZWFtIHdpcmQgbnVyIGJlaW0g +ZXJzdGVuIE9lZmZuZW4gZWluZXMgbm9jaCBuaWUga29uZmlndXJpZXJ0ZW4KICAgICAgICAvLyBF +aW50cmFncyB2b3JnZWhha3Qg4oCUIHNvbnN0IHJlc3Bla3RpZXJlbiB3aXIgZGllIGV4cGxpeml0 +ZSBTVS1XYWhsLgogICAgICAgIHZhciBtaWtyb1ByZXNlbGVjdCA9ICFwZXJzb24uZWRpdFJlY2h0 +ZTsKICAgICAgICAvLyBQZXJzb25lbiB3ZXJkZW4gYWxzIEJsb2NrLUxhYmVscyBnZXJlbmRlcnQs +IGRhbWl0IGRhcyBFbHRlcm4tQ29udGFpbmVyCiAgICAgICAgLy8gcGVyIENTUyBjb2x1bW4tY291 +bnQgZGllIExpc3RlIGFscGhhYmV0aXNjaCBpbiBTcGFsdGVuIGZsb3d0LgogICAgICAgIGZ1bmN0 +aW9uIGVyQ2hrUGVyc29uKHApIHsKICAgICAgICAgICAgdmFyIHBpZCA9IE51bWJlcihwLmlkKTsK +ICAgICAgICAgICAgdmFyIGNoZWNrZWQgPSAoZXIucGVyc29uZW5JZHMgfHwgW10pLmluZGV4T2Yo +cGlkKSA+PSAwOwogICAgICAgICAgICBpZiAobWlrcm9QcmVzZWxlY3QgJiYgbWlrcm9JZHMuaW5k +ZXhPZihwaWQpID49IDApIGNoZWNrZWQgPSB0cnVlOwogICAgICAgICAgICB2YXIgbmFtZSA9ICgo +cC52b3JuYW1lID8gcC52b3JuYW1lICsgJyAnIDogJycpICsgcC5uYW1lKTsKICAgICAgICAgICAg +cmV0dXJuICc8bGFiZWwgY2xhc3M9ImVyLXBlcnNvbmVuLXplaWxlIj4nICsKICAgICAgICAgICAg +ICAgICc8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJlZGl0LXJlY2h0LWNoayIgZGF0YS13 +ZXJ0PSJQXycgKyBwLmlkICsgJyInICsgKGNoZWNrZWQgPyAnIGNoZWNrZWQnIDogJycpICsgJz4n +ICsKICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0iZXItcGVyc29uZW4tbmFtZSI+JyArIGVz +Y2FwZUhUTUwobmFtZSkgKyAnPC9zcGFuPicgKwogICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNz +PSJlci1wZXJzb25lbi1ncnVwcGUiPicgKyBlc2NhcGVIVE1MKHAuZ3J1cHBlIHx8ICcnKSArICc8 +L3NwYW4+JyArCiAgICAgICAgICAgICc8L2xhYmVsPic7CiAgICAgICAgfQogICAgICAgIC8vIE1p +a3JvdGVhbS1NaXRnbGllZGVyIHdlcmRlbiBhdXMgZGVuIG5hY2hmb2xnZW5kZW4gU2VrdGlvbmVu +IGhlcmF1cy0KICAgICAgICAvLyBnZWZpbHRlcnQsIGRhbWl0IHNpZSBuaWNodCBkb3BwZWx0IGVy +c2NoZWluZW4uCiAgICAgICAgdmFyIG1pa3JvUGVyc29uZW4gPSBwZXJzb25lbi5maWx0ZXIoZnVu +Y3Rpb24ocCkgeyByZXR1cm4gbWlrcm9JZHMuaW5kZXhPZihOdW1iZXIocC5pZCkpID49IDA7IH0p +OwogICAgICAgIHZhciByZXN0UGVyc29uZW4gID0gcGVyc29uZW4uZmlsdGVyKGZ1bmN0aW9uKHAp +IHsgcmV0dXJuIG1pa3JvSWRzLmluZGV4T2YoTnVtYmVyKHAuaWQpKSA8IDA7IH0pOwogICAgICAg +IHZhciBtaWtyb0ZpZWxkc2V0ID0gJyc7CiAgICAgICAgaWYgKG1pa3JvUGVyc29uZW4ubGVuZ3Ro +KSB7CiAgICAgICAgICAgIG1pa3JvRmllbGRzZXQgPQogICAgICAgICAgICAgICAgJzxmaWVsZHNl +dCBjbGFzcz0ia29sbGVnZW4tbWlrcm8iPicgKwogICAgICAgICAgICAgICAgICAgICc8bGVnZW5k +Pk1laW4gTWlrcm90ZWFtICcgKwogICAgICAgICAgICAgICAgICAgICc8YnV0dG9uIHR5cGU9ImJ1 +dHRvbiIgY2xhc3M9ImJ0biBidG4tc2VrIGJ0bi1rbGVpbiIgZGF0YS1ha3Rpb249ImtvbGxlZ2Vu +LW1pa3JvLWFsbGUiIHN0eWxlPSJtYXJnaW4tbGVmdDo4cHgiPkFsbGUgbWFya2llcmVuPC9idXR0 +b24+PC9sZWdlbmQ+JyArCiAgICAgICAgICAgICAgICAgICAgbWlrcm9QZXJzb25lbi5tYXAoZXJD +aGtQZXJzb24pLmpvaW4oJycpICsKICAgICAgICAgICAgICAgICc8L2ZpZWxkc2V0Pic7CiAgICAg +ICAgfQogICAgICAgIC8vIENoZXJyeS1QaWNrIDg5ZWIzYzcgKGhpbnRlciBUb2dnbGUgYGZlYXR1 +cmVzLmtvbGxlZ2VuSGVydm9yaGViZW5gKToKICAgICAgICAvLyBEaXJla3RlIEtvbGxlZ2VuIChn +bGVpY2hlciBTdGFuZG9ydCArIGdsZWljaGUgRGllbnN0Z3J1cHBlIHdpZSBkaWUKICAgICAgICAv +LyBiZWFyYmVpdGV0ZSBQZXJzb24pIHdlcmRlbiBpbiBlaW5lciBlaWdlbmVuIFNla3Rpb24gbWl0 +IEhlcnZvcmhlYnVuZwogICAgICAgIC8vIHVuZCAiQWxsZSBtYXJraWVyZW4iLUJ1dHRvbiBnZXJl +bmRlcnQ7IGFsbGUgYW5kZXJlbiBQZXJzb25lbiBmb2xnZW4KICAgICAgICAvLyBkYXJ1bnRlciBt +aXQgZWlnZW5lbSBCdXR0b24uCiAgICAgICAgdmFyIHBlcnNDYnM7CiAgICAgICAgaWYgKGZlYXR1 +cmVJc3RBa3Rpdigna29sbGVnZW5IZXJ2b3JoZWJlbicpKSB7CiAgICAgICAgICAgIHZhciBtZWlu +ZU9lICAgICA9IHBlcnNvbi5vZSB8fCAnJzsKICAgICAgICAgICAgdmFyIG1laW5lR3J1cHBlID0g +cGVyc29uLmdydXBwZSB8fCAnJzsKICAgICAgICAgICAgdmFyIGRpcmVrdGUgPSByZXN0UGVyc29u +ZW4uZmlsdGVyKGZ1bmN0aW9uKHApIHsgcmV0dXJuIChwLm9lIHx8ICcnKSA9PT0gbWVpbmVPZSAm +JiAocC5ncnVwcGUgfHwgJycpID09PSBtZWluZUdydXBwZTsgfSk7CiAgICAgICAgICAgIHZhciBy +ZXN0ICAgID0gcmVzdFBlcnNvbmVuLmZpbHRlcihmdW5jdGlvbihwKSB7IHJldHVybiAhKChwLm9l +IHx8ICcnKSA9PT0gbWVpbmVPZSAmJiAocC5ncnVwcGUgfHwgJycpID09PSBtZWluZUdydXBwZSk7 +IH0pOwogICAgICAgICAgICB2YXIga29udGV4dExhYmVsID0gJ09FOiAnICsgZXNjYXBlSFRNTCht +ZWluZU9lIHx8ICfigJQnKSArICcsIEdydXBwZTogJyArIGVzY2FwZUhUTUwobWVpbmVHcnVwcGUg +fHwgJ+KAlCcpOwogICAgICAgICAgICBwZXJzQ2JzID0gbWlrcm9GaWVsZHNldCArCiAgICAgICAg +ICAgICAgICAnPGZpZWxkc2V0IGNsYXNzPSJrb2xsZWdlbi1kaXJla3QiPicgKwogICAgICAgICAg +ICAgICAgICAgICc8bGVnZW5kPkRpcmVrdGUgS29sbGVnZW4gPHNwYW4gc3R5bGU9ImNvbG9yOnZh +cigtLXRleHQtbXV0ZWQpO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTFweCI+KCcgKyBrb250 +ZXh0TGFiZWwgKyAnKTwvc3Bhbj4gJyArCiAgICAgICAgICAgICAgICAgICAgJzxidXR0b24gdHlw +ZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWsgYnRuLWtsZWluIiBkYXRhLWFrdGlvbj0ia29s +bGVnZW4tZGlyZWt0LWFsbGUiIHN0eWxlPSJtYXJnaW4tbGVmdDo4cHgiPkFsbGUgbWFya2llcmVu +PC9idXR0b24+PC9sZWdlbmQ+JyArCiAgICAgICAgICAgICAgICAgICAgKGRpcmVrdGUubGVuZ3Ro +ID8gZGlyZWt0ZS5tYXAoZXJDaGtQZXJzb24pLmpvaW4oJycpIDogJzxzcGFuIHN0eWxlPSJjb2xv +cjp2YXIoLS10ZXh0LW11dGVkKSI+4oCUIGtlaW5lIGRpcmVrdGVuIEtvbGxlZ2VuIHZvcmhhbmRl +biDigJQ8L3NwYW4+JykgKwogICAgICAgICAgICAgICAgJzwvZmllbGRzZXQ+JyArCiAgICAgICAg +ICAgICAgICAnPGZpZWxkc2V0IGNsYXNzPSJrb2xsZWdlbi1yZXN0Ij4nICsKICAgICAgICAgICAg +ICAgICAgICAnPGxlZ2VuZD5BbGxlIMO8YnJpZ2VuICcgKwogICAgICAgICAgICAgICAgICAgICc8 +YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tc2VrIGJ0bi1rbGVpbiIgZGF0YS1h +a3Rpb249ImtvbGxlZ2VuLXJlc3QtYWxsZSIgc3R5bGU9Im1hcmdpbi1sZWZ0OjhweCI+QWxsZSBt +YXJraWVyZW48L2J1dHRvbj48L2xlZ2VuZD4nICsKICAgICAgICAgICAgICAgICAgICAocmVzdC5s +ZW5ndGggPyByZXN0Lm1hcChlckNoa1BlcnNvbikuam9pbignJykgOiAnPHNwYW4gc3R5bGU9ImNv +bG9yOnZhcigtLXRleHQtbXV0ZWQpIj7igJQga2VpbmUg4oCUPC9zcGFuPicpICsKICAgICAgICAg +ICAgICAgICc8L2ZpZWxkc2V0Pic7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcGVyc0Ni +cyA9IG1pa3JvRmllbGRzZXQgKyByZXN0UGVyc29uZW4ubWFwKGVyQ2hrUGVyc29uKS5qb2luKCcn +KTsKICAgICAgICB9CiAgICAgICAgdmFyIGdyQ2JzID0gKFouYWRtaW4uZ3J1cHBlbiB8fCBbXSku +bWFwKGZ1bmN0aW9uKGdyKSB7CiAgICAgICAgICAgIHJldHVybiBlckNoaygnR18nICsgZ3IubmFt +ZSwgKGdyLmJlemVpY2hudW5nIHx8IGdyLm5hbWUpLCAoZXIuZGllbnN0Z3J1cHBlbiB8fCBbXSku +aW5kZXhPZihnci5uYW1lKSA+PSAwKTsKICAgICAgICB9KS5qb2luKCcnKTsKICAgICAgICB2YXIg +c3RDYnMgPSBzdGFuZG9ydGUubWFwKGZ1bmN0aW9uKHMpIHsKICAgICAgICAgICAgcmV0dXJuIGVy +Q2hrKCdTXycgKyBzLCBzLCAoZXIuc3RhbmRvcnRlIHx8IFtdKS5pbmRleE9mKHMpID49IDApOwog +ICAgICAgIH0pLmpvaW4oJycpOwoKICAgICAgICBrb2VycGVyICs9CiAgICAgICAgICAgICc8ZGV0 +YWlscyBzdHlsZT0ibWFyZ2luLXRvcDoxNnB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVy +LWxpZ2h0KTtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjhweCAxMnB4Ij4nICsKICAgICAgICAg +ICAgJzxzdW1tYXJ5IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjtmb250LXdlaWdodDo2MDAiPlBsYW51 +bmcgKG51ciBTdXBlclVzZXIpJyArCiAgICAgICAgICAgICAgICAnPHNwYW4gc3R5bGU9ImZvbnQt +d2VpZ2h0OjQwMDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6MTFweDttYXJnaW4t +bGVmdDo4cHgiPuKAlCBlaWdlbmUgWmVpbGUgaXN0IGltbWVyIGVybGF1YnQ8L3NwYW4+JyArCiAg +ICAgICAgICAgICc8L3N1bW1hcnk+JyArCiAgICAgICAgICAgICc8cCBzdHlsZT0ibWFyZ2luOjhw +eCAwO2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpIj5EaWVzZSBQZXJzb24g +ZGFyZiB6dXPDpHR6bGljaCBkaWUgUGxhbnVuZ3N6ZWxsZW4gZm9sZ2VuZGVyIEVpbnRyw6RnZSDD +pG5kZXJuOjwvcD4nICsKICAgICAgICAgICAgJzxoNCBzdHlsZT0ibWFyZ2luOjhweCAwIDRweCI+ +RWluemVsbmUgUGVyc29uZW48L2g0PicgKwogICAgICAgICAgICAnPGRpdiBpZD0iZXItcGVyc29u +ZW4iIGNsYXNzPSJlci1wZXJzb25lbi1ncmlkIj4nICsKICAgICAgICAgICAgICAgIChwZXJzQ2Jz +IHx8ICc8c3BhbiBzdHlsZT0iY29sb3I6dmFyKC0tdGV4dC1tdXRlZCkiPktlaW5lIHdlaXRlcmVu +IGFrdGl2ZW4gUGVyc29uZW48L3NwYW4+JykgKwogICAgICAgICAgICAnPC9kaXY+JyArCiAgICAg +ICAgICAgICc8aDQgc3R5bGU9Im1hcmdpbjo4cHggMCA0cHgiPkdhbnplIERpZW5zdGdydXBwZW48 +L2g0PicgKwogICAgICAgICAgICAnPGRpdiBpZD0iZXItZGllbnN0Z3J1cHBlbiI+JyArIChnckNi +cyB8fCAnPHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLXRleHQtbXV0ZWQpIj5LZWluZSBEaWVuc3Rn +cnVwcGVuIGtvbmZpZ3VyaWVydDwvc3Bhbj4nKSArICc8L2Rpdj4nICsKICAgICAgICAgICAgJzxo +NCBzdHlsZT0ibWFyZ2luOjhweCAwIDRweCI+R2FuemUgU3RhbmRvcnRlIChPRSk8L2g0PicgKwog +ICAgICAgICAgICAnPGRpdiBpZD0iZXItc3RhbmRvcnRlIj4nICsgKHN0Q2JzIHx8ICc8c3BhbiBz +dHlsZT0iY29sb3I6dmFyKC0tdGV4dC1tdXRlZCkiPktlaW5lIFN0YW5kb3J0ZSBrb25maWd1cmll +cnQ8L3NwYW4+JykgKyAnPC9kaXY+JyArCiAgICAgICAgICAgICc8L2RldGFpbHM+JzsKCiAgICAg +ICAgLy8gQ2hlcnJ5LVBpY2sgN2FmNjViMTogUGVyLVBlcnNvbi1TaWNodGJhcmtlaXQgKFNVLW9u +bHkpLiBUb2dnbGUKICAgICAgICAvLyBgZmVhdHVyZXMucGVyUGVyc29uU2ljaHRiYXJrZWl0YCBz +Y2hhbHRldCBudXIgZGllIFVJIGZyZWk7IGRlcgogICAgICAgIC8vIFNjaGVtYS1PdmVycmlkZSBg +cGVyc29uLnNlaGVuYCBncmVpZnQgc2VydmVyc2VpdGlnIGltbWVyLgogICAgICAgIGlmIChmZWF0 +dXJlSXN0QWt0aXYoJ3BlclBlcnNvblNpY2h0YmFya2VpdCcpKSB7CiAgICAgICAgICAgIHZhciBw +cyA9IChwZXJzb24uc2VoZW4gJiYgdHlwZW9mIHBlcnNvbi5zZWhlbiA9PT0gJ29iamVjdCcpID8g +cGVyc29uLnNlaGVuIDoge307CiAgICAgICAgICAgIGZ1bmN0aW9uIHNlaGVuU2VsZWN0KGlkQXR0 +ciwgbGFiZWwsIGFrdHVlbGxlcldlcnQpIHsKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIG9wdCh2 +LCB0eHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgc2VsID0gKGFrdHVlbGxlcldlcnQgPT09 +IHYgfHwgKHYgPT09IG51bGwgJiYgKGFrdHVlbGxlcldlcnQgPT0gbnVsbCkpKSA/ICcgc2VsZWN0 +ZWQnIDogJyc7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICc8b3B0aW9uIHZhbHVlPSInICsg +KHYgPT09IG51bGwgPyAnJyA6IFN0cmluZyh2KSkgKyAnIicgKyBzZWwgKyAnPicgKyBlc2NhcGVI +VE1MKHR4dCkgKyAnPC9vcHRpb24+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg +IHJldHVybiAnPGRpdiBjbGFzcz0iZm9ybS1ncnVwcGUiPjxsYWJlbCBmb3I9IicgKyBpZEF0dHIg +KyAnIj4nICsgZXNjYXBlSFRNTChsYWJlbCkgKyAnPC9sYWJlbD4nICsKICAgICAgICAgICAgICAg +ICAgICAnPHNlbGVjdCBpZD0iJyArIGlkQXR0ciArICciIGNsYXNzPSJmb3JtLWlucHV0IiBzdHls +ZT0id2lkdGg6MjAwcHgiPicgKwogICAgICAgICAgICAgICAgICAgICAgICBvcHQobnVsbCwgICfi +gJQgU3RhbmRhcmQg4oCUJykgKwogICAgICAgICAgICAgICAgICAgICAgICBvcHQodHJ1ZSwgICdT +aWNodGJhcicpICsKICAgICAgICAgICAgICAgICAgICAgICAgb3B0KGZhbHNlLCAnVmVyc3RlY2t0 +JykgKwogICAgICAgICAgICAgICAgICAgICc8L3NlbGVjdD48L2Rpdj4nOwogICAgICAgICAgICB9 +CiAgICAgICAgICAgIGtvZXJwZXIgKz0KICAgICAgICAgICAgICAgICc8ZGV0YWlscyBzdHlsZT0i +bWFyZ2luLXRvcDoxNnB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTtib3Jk +ZXItcmFkaXVzOjRweDtwYWRkaW5nOjhweCAxMnB4Ij4nICsKICAgICAgICAgICAgICAgICc8c3Vt +bWFyeSBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7Zm9udC13ZWlnaHQ6NjAwIj5Qcm8tUGVyc29uLVNp +Y2h0YmFya2VpdCAobnVyIFN1cGVyVXNlciknICsKICAgICAgICAgICAgICAgICAgICAnPHNwYW4g +c3R5bGU9ImZvbnQtd2VpZ2h0OjQwMDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6 +MTFweDttYXJnaW4tbGVmdDo4cHgiPuKAlCBTdGFuZGFyZCBmb2xndCBkZXIgUm9sbGU8L3NwYW4+ +JyArCiAgICAgICAgICAgICAgICAnPC9zdW1tYXJ5PicgKwogICAgICAgICAgICAgICAgJzxwIHN0 +eWxlPSJtYXJnaW46OHB4IDA7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCki +PsOcYmVyc2NocmVpYnQgZGllIHJvbGxlbmJhc2llcnRlIFRhYi1TaWNodGJhcmtlaXQgZsO8ciBk +aWVzZSBlaW5lIFBlcnNvbi4g4oCeU3RhbmRhcmQiIGJlZGV1dGV0OiBWZXJoYWx0ZW4gcmljaHRl +dCBzaWNoIG5hY2ggaWhyZXIgUm9sbGUgKHJlZ3Vsw6RyIC8gRmFjaGF1ZnNpY2h0IC8gU1UpLjwv +cD4nICsKICAgICAgICAgICAgICAgICc8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjI0cHg7 +ZmxleC13cmFwOndyYXAiPicgKwogICAgICAgICAgICAgICAgICAgIHNlaGVuU2VsZWN0KCdkbGct +c2VoZW4tbG9nYnVjaCcsICAgJ0xvZ2J1Y2ggc2VoZW4nLCAgIHBzLmxvZ2J1Y2ggICA9PT0gdW5k +ZWZpbmVkID8gbnVsbCA6IHBzLmxvZ2J1Y2gpICsKICAgICAgICAgICAgICAgICAgICBzZWhlblNl +bGVjdCgnZGxnLXNlaGVuLXN0YXRpc3RpaycsICdTdGF0aXN0aWsgc2VoZW4nLCBwcy5zdGF0aXN0 +aWsgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBwcy5zdGF0aXN0aWspICsKICAgICAgICAgICAgICAg +ICc8L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8L2RldGFpbHM+JzsKICAgICAgICB9CiAgICB9 +CgogICAgdmFyIGRsZ1RpdGVsID0gKHBlcnNvbi52b3JuYW1lID8gcGVyc29uLnZvcm5hbWUgKyAn +ICcgOiAnJykgKyBwZXJzb24ubmFtZTsKICAgIHZhciBwYXBpZXJrb3JiQWt0aXZMb2thbCA9IGZl +YXR1cmVJc3RBa3RpdigncGFwaWVya29yYlVJJyk7CiAgICB2YXIgdW1zZXR6ZW5MYWJlbCA9IHBl +cnNvbi5ha3RpdiA9PT0gZmFsc2UgPyAnUmVha3RpdmllcmVuJyA6ICdVbXNldHplbic7CiAgICB2 +YXIgdW1zZXR6ZW5DbHMgICA9IHBlcnNvbi5ha3RpdiA9PT0gZmFsc2UgPyAnYnRuLWVyZm9sZycg +OiAnYnRuLWdlZmFocic7CiAgICB2YXIgdW1zZXR6ZW5UaXRsZSA9IHBlcnNvbi5ha3RpdiA9PT0g +ZmFsc2UKICAgICAgICA/ICdQZXJzb24gd2llZGVyIGluIGRpZSBQbGFudW5nIGF1Zm5laG1lbicK +ICAgICAgICA6ICdQZXJzb24gYXVzIGRlciBQbGFudW5nIGVudGZlcm5lbiAoRWludHLDpGdlIGJs +ZWliZW4gZXJoYWx0ZW4pJzsKICAgIHZhciBmdXNzSHRtbCA9CiAgICAgICAgJzxidXR0b24gdHlw +ZT0iYnV0dG9uIiBjbGFzcz0iYnRuICcgKyB1bXNldHplbkNscyArICciIGlkPSJkbGctdW1zZXR6 +ZW4iIHRpdGxlPSInICsgZXNjYXBlQXR0cih1bXNldHplblRpdGxlKSArICciPicgKyB1bXNldHpl +bkxhYmVsICsgJzwvYnV0dG9uPicgKwogICAgICAgIChwYXBpZXJrb3JiQWt0aXZMb2thbAogICAg +ICAgICAgICA/ICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZ2VmYWhyIiBp +ZD0iZGxnLWxvZXNjaGVuIiB0aXRsZT0iUGVyc29uIHVuZCBBTExFIFBsYW5kYXRlbiBlbmRnw7xs +dGlnIGVudGZlcm5lbiI+TMO2c2NoZW48L2J1dHRvbj4nCiAgICAgICAgICAgIDogJycpICsKICAg +ICAgICAnPHNwYW4gc3R5bGU9ImZsZXg6MSI+PC9zcGFuPicgKwogICAgICAgICc8YnV0dG9uIHR5 +cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tcHJpbWFlciIgaWQ9ImRsZy1zcGVpY2hlcm4iPlNw +ZWljaGVybjwvYnV0dG9uPic7CiAgICBtb2RhbFplaWdlbignUGVyc29uIGJlYXJiZWl0ZW46ICcg +KyBkbGdUaXRlbCwga29lcnBlciwgZnVzc0h0bWwsCiAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAg +ICAgICAgIHZhciBkbGdGdW5rID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RsZy1mdW5rdGlv +bicpLnZhbHVlOwogICAgICAgICAgICB2YXIgZGxnRWxkZ2xFbCA9IGRvY3VtZW50LmdldEVsZW1l +bnRCeUlkKCdkbGctZWxkZ2wnKTsKICAgICAgICAgICAgdmFyIGRhdGVuID0gewogICAgICAgICAg +ICAgICAgbmFtZTogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RsZy1uYW1lJykudmFsdWUudHJp +bSgpLAogICAgICAgICAgICAgICAgdm9ybmFtZTogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rs +Zy12b3JuYW1lJykudmFsdWUsCiAgICAgICAgICAgICAgICBncnVwcGU6IGRvY3VtZW50LmdldEVs +ZW1lbnRCeUlkKCdkbGctZ3J1cHBlJykudmFsdWUsCiAgICAgICAgICAgICAgICBmdW5rdGlvbjog +ZGxnRnVuaywKICAgICAgICAgICAgICAgIG9lOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGxn +LW9lJykudmFsdWUsCiAgICAgICAgICAgICAgICBkaWVuc3RncmFkOiBkb2N1bWVudC5nZXRFbGVt +ZW50QnlJZCgnZGxnLWRpZW5zdGdyYWQnKS52YWx1ZSwKICAgICAgICAgICAgICAgIHRlbGVmb246 +IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkbGctdGVsZWZvbicpLnZhbHVlLAogICAgICAgICAg +ICAgICAgbndLZW5udW5nOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGxnLW53a2VubnVuZycp +LnZhbHVlLAogICAgICAgICAgICAgICAgZW1haWw6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdk +bGctZW1haWwnKS52YWx1ZSwKICAgICAgICAgICAgICAgIGdlYnVydHNkYXR1bTogZG9jdW1lbnQu +Z2V0RWxlbWVudEJ5SWQoJ2RsZy1nZWJ1cnRzZGF0dW0nKS52YWx1ZSwKICAgICAgICAgICAgICAg +IGFrdGl2OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGxnLWFrdGl2JykudmFsdWUgPT09ICd0 +cnVlJywKICAgICAgICAgICAgICAgIGVsRGdsUXVhbGlmaXppZXJ0OiBkbGdFbGRnbEVsID8gZGxn +RWxkZ2xFbC5jaGVja2VkIDogZmFsc2UKICAgICAgICAgICAgfTsKICAgICAgICAgICAgaWYgKCFk +YXRlbi5uYW1lKSB7IHBmbGljaHRmZWxkRmVobGVyKCdkbGctbmFtZScsICdOYW1lIGlzdCBlaW4g +UGZsaWNodGZlbGQnKTsgcmV0dXJuOyB9CiAgICAgICAgICAgIC8vIFByby1QZXJzb24tQXVzYmxl +bmRlbiAoU1Utb25seSkuIENoZWNrYm94IGFrdGl2ID0gYXVzYmxlbmRlbiAtPgogICAgICAgICAg +ICAvLyBpblBsYW51bmc9ZmFsc2UuIE51ciBzZW5kZW4sIHdlbm4gZGFzIEZlbGQgaW0gRE9NIGlz +dCAoU1UpLCBzb25zdAogICAgICAgICAgICAvLyBibGVpYnQgZWluIGV2dGwuIHZvcmhhbmRlbmVy +IFdlcnQgdW5hbmdldGFzdGV0LgogICAgICAgICAgICB2YXIgZGxnSW5QbGFudW5nRWwgPSBkb2N1 +bWVudC5nZXRFbGVtZW50QnlJZCgnZGxnLWlucGxhbnVuZycpOwogICAgICAgICAgICBpZiAoZGxn +SW5QbGFudW5nRWwpIGRhdGVuLmluUGxhbnVuZyA9ICFkbGdJblBsYW51bmdFbC5jaGVja2VkOwog +ICAgICAgICAgICAvLyBQcm8tUGVyc29uLVNpY2h0YmFya2VpdDogbnVyIGxlc2VuIHdlbm4gVG9n +Z2xlIGFrdGl2IFVORCBTVQogICAgICAgICAgICAvLyAoRHJvcGRvd25zIGV4aXN0aWVyZW4gc29u +c3QgbmljaHQgaW0gRE9NKS4gV2VydGU6ICcnID0gbnVsbAogICAgICAgICAgICAvLyAoU3RhbmRh +cmQvUm9sbGUpLCAndHJ1ZScgPSBleHBsaXppdCBzaWNodGJhciwgJ2ZhbHNlJyA9CiAgICAgICAg +ICAgIC8vIGV4cGxpeml0IHZlcnN0ZWNrdC4gV2lyIHNlbmRlbiBkYXMgT2JqZWt0IGltbWVyIGtv +bXBsZXR0LAogICAgICAgICAgICAvLyBkYW1pdCBTZXJ2ZXIgYWx0ZSBPdmVycmlkZXMgZW50ZmVy +bmVuIGthbm4uCiAgICAgICAgICAgIGlmIChaLnJlY2h0ZS5pc3RTdXBlclVzZXIgJiYgZmVhdHVy +ZUlzdEFrdGl2KCdwZXJQZXJzb25TaWNodGJhcmtlaXQnKSkgewogICAgICAgICAgICAgICAgdmFy +IHNlTG9nRWwgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RsZy1zZWhlbi1sb2didWNoJyk7 +CiAgICAgICAgICAgICAgICB2YXIgc2VTdGF0RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn +ZGxnLXNlaGVuLXN0YXRpc3RpaycpOwogICAgICAgICAgICAgICAgaWYgKHNlTG9nRWwgJiYgc2VT +dGF0RWwpIHsKICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBsZXNlKHYpIHsKICAgICAgICAg +ICAgICAgICAgICAgICAgaWYgKHYgPT09ICcnKSAgICAgIHJldHVybiBudWxsOwogICAgICAgICAg +ICAgICAgICAgICAgICBpZiAodiA9PT0gJ3RydWUnKSAgcmV0dXJuIHRydWU7CiAgICAgICAgICAg +ICAgICAgICAgICAgIGlmICh2ID09PSAnZmFsc2UnKSByZXR1cm4gZmFsc2U7CiAgICAgICAgICAg +ICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg +ICAgICAgICAgICBkYXRlbi5zZWhlbiA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nYnVj +aDogICBsZXNlKHNlTG9nRWwudmFsdWUpLAogICAgICAgICAgICAgICAgICAgICAgICBzdGF0aXN0 +aWs6IGxlc2Uoc2VTdGF0RWwudmFsdWUpCiAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAg +ICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBaZWxsLUVkaXQtUmVjaHRlOiBu +dXIgdWViZXJuZWhtZW4gd2VubiBTVSAoU2VrdGlvbiBleGlzdGllcnQgc29uc3QgbmljaHQpCiAg +ICAgICAgICAgIGlmIChaLnJlY2h0ZS5pc3RTdXBlclVzZXIpIHsKICAgICAgICAgICAgICAgIHZh +ciBlclAgPSBbXSwgZXJHID0gW10sIGVyUyA9IFtdOwogICAgICAgICAgICAgICAgZG9jdW1lbnQu +cXVlcnlTZWxlY3RvckFsbCgnI2VyLXBlcnNvbmVuIC5lZGl0LXJlY2h0LWNoaycpLmZvckVhY2go +ZnVuY3Rpb24oYykgewogICAgICAgICAgICAgICAgICAgIGlmIChjLmNoZWNrZWQpIGVyUC5wdXNo +KHBhcnNlSW50KGMuZ2V0QXR0cmlidXRlKCdkYXRhLXdlcnQnKS5zbGljZSgyKSkpOwogICAgICAg +ICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcj +ZXItZGllbnN0Z3J1cHBlbiAuZWRpdC1yZWNodC1jaGsnKS5mb3JFYWNoKGZ1bmN0aW9uKGMpIHsK +ICAgICAgICAgICAgICAgICAgICBpZiAoYy5jaGVja2VkKSBlckcucHVzaChjLmdldEF0dHJpYnV0 +ZSgnZGF0YS13ZXJ0Jykuc2xpY2UoMikpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAg +ICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjZXItc3RhbmRvcnRlIC5lZGl0LXJlY2h0 +LWNoaycpLmZvckVhY2goZnVuY3Rpb24oYykgewogICAgICAgICAgICAgICAgICAgIGlmIChjLmNo +ZWNrZWQpIGVyUy5wdXNoKGMuZ2V0QXR0cmlidXRlKCdkYXRhLXdlcnQnKS5zbGljZSgyKSk7CiAg +ICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGRhdGVuLmVkaXRSZWNodGUgPSB7IHBl +cnNvbmVuSWRzOiBlclAsIGRpZW5zdGdydXBwZW46IGVyRywgc3RhbmRvcnRlOiBlclMgfTsKICAg +ICAgICAgICAgfQogICAgICAgICAgICBhcGlQdXQoJy9hcGkvcGVyc29uZW4vJyArIGlkLCBkYXRl +bikudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBwID0gWi5wbGFudW5nLnBl +cnNvbmVuLmZpbmQoZnVuY3Rpb24oeCkgeyByZXR1cm4geC5pZCA9PT0gaWQ7IH0pOwogICAgICAg +ICAgICAgICAgaWYgKHApIE9iamVjdC5hc3NpZ24ocCwgZGF0ZW4pOwogICAgICAgICAgICAgICAg +ZW50d3VyZkxvZXNjaGVuKCdwZXJzb25fZWRpdF8nICsgaWQpOwogICAgICAgICAgICAgICAgcGVy +c29uZW5OZXVBdWZiYXVlbigpOwogICAgICAgICAgICAgICAgbW9kYWxTY2hsaWVzc2VuKHRydWUp +OwogICAgICAgICAgICAgICAgcGVyc29uYWxUYWJlbGxlUmVuZGVybigpOwogICAgICAgICAgICAg +ICAgaWYgKHR5cGVvZiBuYW1lblJlbmRlcm4gPT09ICdmdW5jdGlvbicpIHsKICAgICAgICAgICAg +ICAgICAgICBuYW1lblJlbmRlcm4oKTsKICAgICAgICAgICAgICAgICAgICBkYXRlbkdyaWRSZW5k +ZXJuKCk7CiAgICAgICAgICAgICAgICAgICAga29wZlJlbmRlcm4oKTsKICAgICAgICAgICAgICAg +IH0KICAgICAgICAgICAgICAgIHRvYXN0KCdQZXJzb24gYWt0dWFsaXNpZXJ0JywgJ2VyZm9sZycp +OwogICAgICAgICAgICAgICAgLy8gSWRlbnRpdGFldHMtQWVuZGVydW5nZW4gKG53S2VubnVuZy9l +bWFpbCkgZXJ6ZXVnZW4gc2VpdCBQaGFzZSA0CiAgICAgICAgICAgICAgICAvLyAoMjAyNi0wNS0y +MCkgZWluZW4gU2VydmVyLXNlaXRpZ2VuIEluLUFwcC1IaW53ZWlzIHN0YXR0IG1haWx0by4KICAg +ICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZSkgeyB0b2FzdCgnRmVobGVyOiAnICsgZS5tZXNz +YWdlLCAnZmVobGVyJyk7IH0pOwogICAgICAgIH0sCiAgICAgICAgJ3BlcnNvbl9lZGl0XycgKyBp +ZCwgIC8vIFNwZWMgRi40OiBtb2RhbEtleSBha3RpdmllcnQgRW50d3VyZi1TeXN0ZW0KICAgICAg +ICB7IGF1dG9TYXZlOiB0cnVlIH0gICAgLy8gUGFrZXQtQyAoMjAyNi0wNS0yOSk6IFNjaGxpZXNz +ZW4gc3BlaWNoZXJ0IGF1dG9tYXRpc2NoCiAgICApOwoKICAgIC8vIERpZSBWSTMtREdMLUNoZWNr +Ym94IGlzdCBzZWl0IDIwMjYtMDUtMjMgZnVlciBhbGxlIEZ1bmt0aW9uZW4KICAgIC8vIHNpY2h0 +YmFyIOKAlCBrZWluIEZ1bmt0aW9ucy1hYmhhZW5naWdlciBUb2dnbGUgbWVociBub2V0aWcuCiAg +ICBlbGRnbFRvZ2dsZUxpc3RlbmVyQmluZGVuKCk7CiAgICBhdmF0YXJVcGxvYWRIYW5kbGVyQmlu +ZGVuKHBlcnNvbik7CgogICAgLy8gVW1zZXR6ZW4vUmVha3RpdmllcmVuLUJ1dHRvbiBpbSBNb2Rh +bC1Gb290ZXIgKHNlaXQgMjAyNi0wNS0yMywKICAgIC8vIGZydWVoZXIgaW5saW5lIGluIGRlciBU +YWJlbGxlbnplaWxlKS4KICAgIHZhciBkbGdVbXNldHplbkJ0biA9IGRvY3VtZW50LmdldEVsZW1l +bnRCeUlkKCdkbGctdW1zZXR6ZW4nKTsKICAgIGlmIChkbGdVbXNldHplbkJ0bikgewogICAgICAg +IGRsZ1Vtc2V0emVuQnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAg +ICAgICAgICAgIHZhciB3aWxsQWt0aXYgPSBwZXJzb24uYWt0aXYgPT09IGZhbHNlOwogICAgICAg +ICAgICBiZXN0YWV0aWdlbigKICAgICAgICAgICAgICAgIHdpbGxBa3RpdgogICAgICAgICAgICAg +ICAgICAgID8gcGVyc29uLm5hbWUgKyAnIHdpZWRlciBpbiBkaWUgUGxhbnVuZyBhdWZuZWhtZW4/ +JwogICAgICAgICAgICAgICAgICAgIDogcGVyc29uLm5hbWUgKyAnIGF1cyBkZXIgUGxhbnVuZyBl +bnRmZXJuZW4/XG5cbkRpZSBiaXNoZXJpZ2VuIEVpbnRyw6RnZSBibGVpYmVuIGVyaGFsdGVuIHVu +ZCB0YXVjaGVuIHdpZWRlciBhdWYsIHdlbm4gZGllIFBlcnNvbiBzcMOkdGVyIHJlYWt0aXZpZXJ0 +IHdpcmQuJywKICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAg +IHBlcnNvblN0YXR1c1NldHplbihpZCwgd2lsbEFrdGl2KTsKICAgICAgICAgICAgICAgICAgICBt +b2RhbFNjaGxpZXNzZW4odHJ1ZSk7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAg +eyB0aXRlbDogd2lsbEFrdGl2ID8gJ1JlYWt0aXZpZXJlbicgOiAnVW1zZXR6ZW4nLCBqYVRleHQ6 +IHdpbGxBa3RpdiA/ICdSZWFrdGl2aWVyZW4nIDogJ1Vtc2V0emVuJywgamFEYW5nZXI6ICF3aWxs +QWt0aXYgfQogICAgICAgICAgICApOwogICAgICAgIH0pOwogICAgfQogICAgLy8gRW5kZ3VlbHRp +Zy1Mb2VzY2hlbi1CdXR0b24gaW0gTW9kYWwtRm9vdGVyIG1pdCBrcmFlZnRpZ2VyIEhUTUwtV2Fy +bnVuZy4KICAgIC8vIGJlc3RhZXRpZ2VuKCkgZXNjYXBlZCBkZW4gVGV4dCwgZGFoZXIgbnV0emVu +IHdpciBoaWVyIG1vZGFsWmVpZ2VuKCkKICAgIC8vIGRpcmVrdCBmdWVyIGRhcyBIVE1MLWZvcm1h +dGllcnRlIFdhcm4tTW9kYWwuCiAgICB2YXIgZGxnTG9lQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVu +dEJ5SWQoJ2RsZy1sb2VzY2hlbicpOwogICAgaWYgKGRsZ0xvZUJ0bikgewogICAgICAgIGRsZ0xv +ZUJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2 +YXIgcE5hbWUgPSAocGVyc29uLnZvcm5hbWUgPyBwZXJzb24udm9ybmFtZSArICcgJyA6ICcnKSAr +IHBlcnNvbi5uYW1lOwogICAgICAgICAgICAvLyBBbnphaGwgZGVyIGhpbnRlcmxlZ3RlbiBFaW50 +cmFlZ2UgZnVlciBQZXJzb24gemFlaGxlbiwgZGFtaXQgZGVyCiAgICAgICAgICAgIC8vIFVzZXIg +aW4gZGVyIFdhcm51bmcgd2Vpc3MsIHdpZSB2aWVsIHZlcmxvcmVuIGdlaHQuCiAgICAgICAgICAg +IHZhciBhbnpFaW50cmFlZ2UgPSAwOwogICAgICAgICAgICBpZiAoWi5wbGFudW5nICYmIFoucGxh +bnVuZy5laW50cmFlZ2UpIHsKICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKFoucGxhbnVuZy5l +aW50cmFlZ2UpLmZvckVhY2goZnVuY3Rpb24oZCkgewogICAgICAgICAgICAgICAgICAgIHZhciBl +ID0gWi5wbGFudW5nLmVpbnRyYWVnZVtkXTsKICAgICAgICAgICAgICAgICAgICBpZiAoZSAmJiBl +W1N0cmluZyhpZCldKSBhbnpFaW50cmFlZ2UrKzsKICAgICAgICAgICAgICAgIH0pOwogICAgICAg +ICAgICB9CiAgICAgICAgICAgIHZhciBhbnpLb21tZW50YXJlID0gMDsKICAgICAgICAgICAgaWYg +KFoucGxhbnVuZyAmJiBaLnBsYW51bmcua29tbWVudGFyZSkgewogICAgICAgICAgICAgICAgT2Jq +ZWN0LmtleXMoWi5wbGFudW5nLmtvbW1lbnRhcmUpLmZvckVhY2goZnVuY3Rpb24oZCkgewogICAg +ICAgICAgICAgICAgICAgIHZhciBrID0gWi5wbGFudW5nLmtvbW1lbnRhcmVbZF07CiAgICAgICAg +ICAgICAgICAgICAgaWYgKGsgJiYga1tTdHJpbmcoaWQpXSkgYW56S29tbWVudGFyZSsrOwogICAg +ICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIGtvZXJwZXIgPQog +ICAgICAgICAgICAgICAgJzxkaXYgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuNTUiPicgKwogICAgICAg +ICAgICAgICAgICAgICc8cCBzdHlsZT0ibWFyZ2luLXRvcDowIj48c3Ryb25nPicgKyBlc2NhcGVI +VE1MKHBOYW1lKSArICc8L3N0cm9uZz4gd2lya2xpY2ggZW5kZ8O8bHRpZyBsw7ZzY2hlbj88L3A+ +JyArCiAgICAgICAgICAgICAgICAgICAgJzxwIHN0eWxlPSJjb2xvcjp2YXIoLS1mYXJiZS1mZWhs +ZXIpO2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW46MTBweCAwIDRweCI+RGllc2UgQWt0aW9uIGVudGZl +cm50IHVud2lkZXJydWZsaWNoOjwvcD4nICsKICAgICAgICAgICAgICAgICAgICAnPHVsIHN0eWxl +PSJtYXJnaW46MCAwIDEwcHggMjBweCI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICc8bGk+ +YWxsZSBTdGFtbWRhdGVuIGRlciBQZXJzb24gKE5hbWUsIEZ1bmt0aW9uLCBEaWVuc3RncmFkLCBU +ZWxlZm9uLCBOVy1LZW5udW5nLCDigKYpPC9saT4nICsKICAgICAgICAgICAgICAgICAgICAgICAg +JzxsaT48c3Ryb25nPicgKyBhbnpFaW50cmFlZ2UgKyAnPC9zdHJvbmc+IGhpbnRlcmxlZ3RlIFNj +aGljaHQtRWludHInICsgKGFuekVpbnRyYWVnZSA9PT0gMSA/ICdhZycgOiAnw6RnZScpICsgJyBp +bSBnZXNhbXRlbiBQbGFudW5ncy1aZWl0cmF1bTwvbGk+JyArCiAgICAgICAgICAgICAgICAgICAg +ICAgICc8bGk+PHN0cm9uZz4nICsgYW56S29tbWVudGFyZSArICc8L3N0cm9uZz4gS29tbWVudGFy +JyArIChhbnpLb21tZW50YXJlID09PSAxID8gJycgOiAnZScpICsgJyB6dSBkaWVzZXIgUGVyc29u +PC9saT4nICsKICAgICAgICAgICAgICAgICAgICAnPC91bD4nICsKICAgICAgICAgICAgICAgICAg +ICAnPHAgc3R5bGU9ImNvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZToxMnB4O21hcmdp +bjo4cHggMCAwIj5EYXMgTG9nYnVjaCBibGVpYnQgYWxzIEF1ZGl0LVNwdXIgZXJoYWx0ZW4g4oCU +IGRpZSBBa3Rpb24gaXN0IG5pY2h0IMO8YmVyIOKAnldpZWRlcmhlcnN0ZWxsZW4iIHp1csO8Y2tu +ZWhtYmFyLjwvcD4nICsKICAgICAgICAgICAgICAgICc8L2Rpdj4nOwogICAgICAgICAgICB2YXIg +ZnVzcyA9CiAgICAgICAgICAgICAgICAnPGJ1dHRvbiBjbGFzcz0iYnRuIiBpZD0ibG9lLWFiYnJl +Y2hlbiIgdHlwZT0iYnV0dG9uIj5BYmJyZWNoZW48L2J1dHRvbj4nICsKICAgICAgICAgICAgICAg +ICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWdlZmFociIgaWQ9ImxvZS1iZXN0YWV0aWdlbiIgdHlw +ZT0iYnV0dG9uIj5FbmRnw7xsdGlnIGzDtnNjaGVuPC9idXR0b24+JzsKICAgICAgICAgICAgbW9k +YWxaZWlnZW4oJ1BlcnNvbiBlbmRnw7xsdGlnIGzDtnNjaGVuIOKAlCAnICsgcE5hbWUsIGtvZXJw +ZXIsIGZ1c3MsIG51bGwsIG51bGwsIHsgcmVpbmVyRGlhbG9nOiB0cnVlIH0pOwogICAgICAgICAg +ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9lLWFiYnJlY2hlbicpLmFkZEV2ZW50TGlzdGVu +ZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBtb2RhbFNjaGxpZXNzZW4o +dHJ1ZSk7CiAgICAgICAgICAgICAgICAvLyBCZWFyYmVpdGVuLU1vZGFsIG5ldSB6ZWlnZW4sIGRh +bWl0IGRlciBVc2VyIGRvcnQgd2VpdGVybWFjaGVuIGthbm4KICAgICAgICAgICAgICAgIHBlcnNv +bkJlYXJiZWl0ZW5EaWFsb2coaWQpOwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgZG9jdW1l +bnQuZ2V0RWxlbWVudEJ5SWQoJ2xvZS1iZXN0YWV0aWdlbicpLmFkZEV2ZW50TGlzdGVuZXIoJ2Ns +aWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBhcGlEZWxldGUoJy9hcGkvcGVyc29u +ZW4vJyArIGlkICsgJz9lbmRndWVsdGlnPTEnKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAg +ICAgICAgICAgIFoucGxhbnVuZy5wZXJzb25lbiA9IChaLnBsYW51bmcucGVyc29uZW4gfHwgW10p +LmZpbHRlcihmdW5jdGlvbih4KSB7IHJldHVybiB4LmlkICE9PSBpZDsgfSk7CiAgICAgICAgICAg +ICAgICAgICAgaWYgKFoucGxhbnVuZy5laW50cmFlZ2UpIHsKICAgICAgICAgICAgICAgICAgICAg +ICAgT2JqZWN0LmtleXMoWi5wbGFudW5nLmVpbnRyYWVnZSkuZm9yRWFjaChmdW5jdGlvbihkKSB7 +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoWi5wbGFudW5nLmVpbnRyYWVnZVtkXSkg +ZGVsZXRlIFoucGxhbnVuZy5laW50cmFlZ2VbZF1bU3RyaW5nKGlkKV07CiAgICAgICAgICAgICAg +ICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBp +ZiAoWi5wbGFudW5nLmtvbW1lbnRhcmUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0 +LmtleXMoWi5wbGFudW5nLmtvbW1lbnRhcmUpLmZvckVhY2goZnVuY3Rpb24oZCkgewogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgaWYgKFoucGxhbnVuZy5rb21tZW50YXJlW2RdKSBkZWxldGUg +Wi5wbGFudW5nLmtvbW1lbnRhcmVbZF1bU3RyaW5nKGlkKV07CiAgICAgICAgICAgICAgICAgICAg +ICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbnR3dXJm +TG9lc2NoZW4oJ3BlcnNvbl9lZGl0XycgKyBpZCk7CiAgICAgICAgICAgICAgICAgICAgbW9kYWxT +Y2hsaWVzc2VuKHRydWUpOwogICAgICAgICAgICAgICAgICAgIHBlcnNvbmVuTmV1QXVmYmF1ZW4o +KTsKICAgICAgICAgICAgICAgICAgICBwZXJzb25hbFRhYmVsbGVSZW5kZXJuKCk7CiAgICAgICAg +ICAgICAgICAgICAgaWYgKHR5cGVvZiBuYW1lblJlbmRlcm4gPT09ICdmdW5jdGlvbicpIHsKICAg +ICAgICAgICAgICAgICAgICAgICAgbmFtZW5SZW5kZXJuKCk7CiAgICAgICAgICAgICAgICAgICAg +ICAgIGRhdGVuR3JpZFJlbmRlcm4oKTsKICAgICAgICAgICAgICAgICAgICAgICAga29wZlJlbmRl +cm4oKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgdG9hc3QoJ1Bl +cnNvbiBlbmRnw7xsdGlnIGdlbMO2c2NodCcsICdlcmZvbGcnKTsKICAgICAgICAgICAgICAgIH0p +LmNhdGNoKGZ1bmN0aW9uKGUpIHsgdG9hc3QoJ0ZlaGxlcjogJyArIGUubWVzc2FnZSwgJ2ZlaGxl +cicpOyB9KTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9CgogICAgLy8gIkFsbGUg +bWFya2llcmVuIi1CdXR0b25zIGZ1ZXIgZGllIERpcmVrdGUtS29sbGVnZW4vUmVzdC1TZWt0aW9u +ZW4sCiAgICAvLyB3ZW5uIGRlciBUb2dnbGUgYWt0aXYgaXN0IChDaGVycnktUGljayA4OWViM2M3 +KS4gV2VubiBkaWUgQnV0dG9ucwogICAgLy8gaW0gTWFya3VwIGZlaGxlbiAoRmVhdHVyZSBhdXMp +LCBwYXNzaWVydCBoaWVyIG5pY2h0cy4KICAgIHZhciBlclBlcnNvbmVuID0gZG9jdW1lbnQuZ2V0 +RWxlbWVudEJ5SWQoJ2VyLXBlcnNvbmVuJyk7CiAgICBpZiAoZXJQZXJzb25lbikgZXJQZXJzb25l +bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICB2YXIgYnRu +ID0gZS50YXJnZXQuY2xvc2VzdCgnYnV0dG9uW2RhdGEtYWt0aW9uXScpOwogICAgICAgIGlmICgh +YnRuKSByZXR1cm47CiAgICAgICAgdmFyIGFrdGlvbiA9IGJ0bi5nZXRBdHRyaWJ1dGUoJ2RhdGEt +YWt0aW9uJyk7CiAgICAgICAgdmFyIHNlbGVjdG9yID0gYWt0aW9uID09PSAna29sbGVnZW4tZGly +ZWt0LWFsbGUnCiAgICAgICAgICAgID8gJy5rb2xsZWdlbi1kaXJla3QgLmVkaXQtcmVjaHQtY2hr +JwogICAgICAgICAgICA6IChha3Rpb24gPT09ICdrb2xsZWdlbi1yZXN0LWFsbGUnICA/ICcua29s +bGVnZW4tcmVzdCAuZWRpdC1yZWNodC1jaGsnCiAgICAgICAgICAgIDogKGFrdGlvbiA9PT0gJ2tv +bGxlZ2VuLW1pa3JvLWFsbGUnID8gJy5rb2xsZWdlbi1taWtybyAuZWRpdC1yZWNodC1jaGsnIDog +bnVsbCkpOwogICAgICAgIGlmICghc2VsZWN0b3IpIHJldHVybjsKICAgICAgICAvLyBUb2dnbGUt +VmVyaGFsdGVuOiB3ZW5uIGFsbGUgYmVyZWl0cyBhbiwgYWxsZSBhdXMg4oCUIHNvbnN0IGFsbGUg +YW4uCiAgICAgICAgdmFyIGJveGVuID0gZXJQZXJzb25lbi5xdWVyeVNlbGVjdG9yQWxsKHNlbGVj +dG9yKTsKICAgICAgICB2YXIgYWxsZUFuID0gYm94ZW4ubGVuZ3RoID4gMCAmJiBBcnJheS5wcm90 +b3R5cGUuZXZlcnkuY2FsbChib3hlbiwgZnVuY3Rpb24oYykgeyByZXR1cm4gYy5jaGVja2VkOyB9 +KTsKICAgICAgICBib3hlbi5mb3JFYWNoKGZ1bmN0aW9uKGMpIHsgYy5jaGVja2VkID0gIWFsbGVB +bjsgfSk7CiAgICB9KTsKfQoKZXhwb3J0IGZ1bmN0aW9uIHBlcnNvbk5ldURpYWxvZygpIHsKICAg +IHZhciBncnVwcGVuID0gKFouYWRtaW4uZ3J1cHBlbiB8fCBbXSkubWFwKGZ1bmN0aW9uKGcpIHsg +cmV0dXJuIGcubmFtZTsgfSk7CiAgICB2YXIgYWxsZSA9IChaLnBsYW51bmcucGVyc29uZW4gfHwg +W10pLnNsaWNlKCkKICAgICAgICAuZmlsdGVyKGZ1bmN0aW9uKHApIHsgcmV0dXJuIHAuYWt0aXY7 +IH0pCiAgICAgICAgLnNvcnQoZnVuY3Rpb24oYSwgYikgeyByZXR1cm4gKGEucG9zaXRpb24gfHwg +OTk5KSAtIChiLnBvc2l0aW9uIHx8IDk5OSk7IH0pOwogICAgdmFyIHJlZk9wdGlvbmVuID0gYWxs +ZS5tYXAoZnVuY3Rpb24ocCkgewogICAgICAgIHZhciBsYWJlbCA9IChwLnZvcm5hbWUgPyBwLnZv +cm5hbWUgKyAnICcgOiAnJykgKyBwLm5hbWUgKyAnICgnICsgcC5ncnVwcGUgKyAnKSc7CiAgICAg +ICAgcmV0dXJuICc8b3B0aW9uIHZhbHVlPSInICsgcC5pZCArICciPicgKyBlc2NhcGVIVE1MKGxh +YmVsKSArICc8L29wdGlvbj4nOwogICAgfSkuam9pbignJyk7CgogICAgdmFyIGtvZXJwZXIgPSAn +PGRpdiBzdHlsZT0iZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dh +cDowIDE2cHgiPicgKwogICAgICAgICc8ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSBmb3JtLXBmbGlj +aHQiPjxsYWJlbD5OYW1lPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImRsZy1uYW1lIiBj +bGFzcz0iZm9ybS1pbnB1dCIgc3R5bGU9IndpZHRoOjEwMCUiPjwvZGl2PicgKwogICAgICAgICc8 +ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSI+PGxhYmVsPlZvcm5hbWU8L2xhYmVsPjxpbnB1dCB0eXBl +PSJ0ZXh0IiBpZD0iZGxnLXZvcm5hbWUiIGNsYXNzPSJmb3JtLWlucHV0IiBzdHlsZT0id2lkdGg6 +MTAwJSI+PC9kaXY+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9ImZvcm0tZ3J1cHBlIj48bGFiZWw+ +RGllbnN0Z3JhZDwvbGFiZWw+PHNlbGVjdCBpZD0iZGxnLWRpZW5zdGdyYWQiIGNsYXNzPSJmb3Jt +LWlucHV0IiBzdHlsZT0id2lkdGg6MTAwJSI+JyArCiAgICAgICAgJzxvcHRpb24gdmFsdWU9IiIg +c2VsZWN0ZWQ+4oCUIG9obmUg4oCUPC9vcHRpb24+JyArCiAgICAgICAgZ2V0RGllbnN0Z3JhZGUo +KS5tYXAoZnVuY3Rpb24oZykgewogICAgICAgICAgICByZXR1cm4gJzxvcHRpb24gdmFsdWU9Iicg +KyBlc2NhcGVBdHRyKGcpICsgJyI+JyArIGVzY2FwZUhUTUwoZykgKyAnPC9vcHRpb24+JzsKICAg +ICAgICB9KS5qb2luKCcnKSArCiAgICAgICAgJzwvc2VsZWN0PjwvZGl2PicgKwogICAgICAgICc8 +ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSBmb3JtLXBmbGljaHQiPjxsYWJlbD5EaWVuc3RncnVwcGU8 +L2xhYmVsPjxzZWxlY3QgaWQ9ImRsZy1ncnVwcGUiIGNsYXNzPSJmb3JtLWlucHV0IiBzdHlsZT0i +d2lkdGg6MTAwJSI+JyArCiAgICAgICAgZ3J1cHBlbi5tYXAoZnVuY3Rpb24oZykgeyByZXR1cm4g +JzxvcHRpb24+JyArIGVzY2FwZUhUTUwoZykgKyAnPC9vcHRpb24+JzsgfSkuam9pbignJykgKwog +ICAgICAgICc8L3NlbGVjdD48L2Rpdj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0iZm9ybS1ncnVw +cGUiPjxsYWJlbD5GdW5rdGlvbjwvbGFiZWw+PHNlbGVjdCBpZD0iZGxnLWZ1bmt0aW9uIiBjbGFz +cz0iZm9ybS1pbnB1dCIgc3R5bGU9IndpZHRoOjEwMCUiIHRpdGxlPSJTdGFtbS1GdW5rdGlvbjog +YmVzdGltbXQgZGllIFZlcmFudHdvcnR1bmdzLVJlaWhlbmZvbGdlIGluIGRlciBTY2hpY2h0Ij4n +ICsKICAgICAgICAnPG9wdGlvbiB2YWx1ZT0iIiBzZWxlY3RlZD7igJQgb2huZSBGdW5rdGlvbiDi +gJQ8L29wdGlvbj4nICsKICAgICAgICBnZXRGdW5rdGlvbmVuKCkubWFwKGZ1bmN0aW9uKGYpIHsK +ICAgICAgICAgICAgcmV0dXJuICc8b3B0aW9uIHZhbHVlPSInICsgZXNjYXBlQXR0cihmLmNvZGUp +ICsgJyI+JyArIGVzY2FwZUhUTUwoZi5jb2RlKSArICc8L29wdGlvbj4nOwogICAgICAgIH0pLmpv +aW4oJycpICsKICAgICAgICAnPC9zZWxlY3Q+PC9kaXY+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9 +ImZvcm0tZ3J1cHBlIiBpZD0iZGxnLWVsZGdsLWdydXBwZSI+JyArCiAgICAgICAgICAgICc8bGFi +ZWw+VkkzIERHTDwvbGFiZWw+JyArCiAgICAgICAgICAgIGVsZGdsVG9nZ2xlSHRtbChmYWxzZSkg +KwogICAgICAgICc8L2Rpdj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0iZm9ybS1ncnVwcGUiPjxs +YWJlbD5PRSAoU3RhbmRvcnQpPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImRsZy1vZSIg +Y2xhc3M9ImZvcm0taW5wdXQiIHN0eWxlPSJ3aWR0aDoxMDAlIiBwbGFjZWhvbGRlcj0iei5CLiBL +QSwgSEEsIEJPIj48L2Rpdj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0iZm9ybS1ncnVwcGUiPjxs +YWJlbD5UZWxlZm9uPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImRsZy10ZWxlZm9uIiBj +bGFzcz0iZm9ybS1pbnB1dCIgc3R5bGU9IndpZHRoOjEwMCUiIHBsYWNlaG9sZGVyPSJ6LkIuIDQ1 +MjAiPjwvZGl2PicgKwogICAgICAgICc8ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSI+PGxhYmVsPk5X +LUtlbm51bmc8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iZGxnLW53a2VubnVuZyIgY2xh +c3M9ImZvcm0taW5wdXQiIHN0eWxlPSJ3aWR0aDoxMDAlIiBwbGFjZWhvbGRlcj0iRE9NQUlOXFx1 +c2VyIj48L2Rpdj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0iZm9ybS1ncnVwcGUiPjxsYWJlbD5F +LU1haWw8L2xhYmVsPjxpbnB1dCB0eXBlPSJlbWFpbCIgaWQ9ImRsZy1lbWFpbCIgY2xhc3M9ImZv +cm0taW5wdXQiIHN0eWxlPSJ3aWR0aDoxMDAlIiBwbGFjZWhvbGRlcj0iQmVuYWNocmljaHRpZ3Vu +ZyBiZWkgw4RuZGVydW5nZW4iPjwvZGl2PicgKwogICAgICAgICc8ZGl2IGNsYXNzPSJmb3JtLWdy +dXBwZSI+PGxhYmVsPkdlYnVydHNkYXR1bTwvbGFiZWw+PGlucHV0IHR5cGU9ImRhdGUiIGlkPSJk +bGctZ2VidXJ0c2RhdHVtIiBjbGFzcz0iZm9ybS1pbnB1dCIgc3R5bGU9IndpZHRoOjEwMCUiPjwv +ZGl2PicgKwogICAgICAgICc8L2Rpdj4nICsKICAgICAgICAnPGhyIHN0eWxlPSJtYXJnaW46MTJw +eCAwO2JvcmRlcjpub25lO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCki +PicgKwogICAgICAgICc8ZGl2IHN0eWxlPSJkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1 +bW5zOjFmciAyZnI7Z2FwOjAgMTZweCI+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJmb3Jt +LWdydXBwZSI+PGxhYmVsPkVpbnJlaWhlbjwvbGFiZWw+PHNlbGVjdCBpZD0iZGxnLWVpbnJlaWhl +biIgY2xhc3M9ImZvcm0taW5wdXQiIHN0eWxlPSJ3aWR0aDoxMDAlIj4nICsKICAgICAgICAgICAg +ICAgICc8b3B0aW9uIHZhbHVlPSJ1bnRlbiIgc2VsZWN0ZWQ+R2FueiB1bnRlbiBhbmjDpG5nZW48 +L29wdGlvbj4nICsKICAgICAgICAgICAgICAgICc8b3B0aW9uIHZhbHVlPSJ2b3IiPlZvciBQZXJz +b27igKY8L29wdGlvbj4nICsKICAgICAgICAgICAgICAgICc8b3B0aW9uIHZhbHVlPSJuYWNoIj5O +YWNoIFBlcnNvbuKApjwvb3B0aW9uPicgKwogICAgICAgICAgICAnPC9zZWxlY3Q+PC9kaXY+JyAr +CiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSI+PGxhYmVsPlJlZmVyZW56cGVy +c29uPC9sYWJlbD48c2VsZWN0IGlkPSJkbGctcmVmIiBjbGFzcz0iZm9ybS1pbnB1dCIgc3R5bGU9 +IndpZHRoOjEwMCUiIGRpc2FibGVkPicgKwogICAgICAgICAgICAgICAgJzxvcHRpb24gdmFsdWU9 +IiI+4oCUIGtlaW5lIOKAlDwvb3B0aW9uPicgKyByZWZPcHRpb25lbiArCiAgICAgICAgICAgICc8 +L3NlbGVjdD48L2Rpdj4nICsKICAgICAgICAnPC9kaXY+JzsKCiAgICBtb2RhbFplaWdlbignTmV1 +ZSBQZXJzb24gYW5sZWdlbicsIGtvZXJwZXIsCiAgICAgICAgJzxidXR0b24gY2xhc3M9ImJ0biBi +dG4tZXJmb2xnIiBpZD0iZGxnLXNwZWljaGVybiI+QW5sZWdlbjwvYnV0dG9uPicsCiAgICAgICAg +ZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBlaW5yZWloZW4gPSBkb2N1bWVudC5nZXRFbGVt +ZW50QnlJZCgnZGxnLWVpbnJlaWhlbicpLnZhbHVlOwogICAgICAgICAgICB2YXIgcmVmU2VsID0g +ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RsZy1yZWYnKTsKICAgICAgICAgICAgdmFyIHJlZklk +ID0gcmVmU2VsLnZhbHVlID8gcGFyc2VJbnQocmVmU2VsLnZhbHVlKSA6IG51bGw7CiAgICAgICAg +ICAgIGlmICgoZWlucmVpaGVuID09PSAndm9yJyB8fCBlaW5yZWloZW4gPT09ICduYWNoJykgJiYg +IXJlZklkKSB7CiAgICAgICAgICAgICAgICB0b2FzdCgnQml0dGUgZWluZSBSZWZlcmVuenBlcnNv +biB3w6RobGVuIG9kZXIgIkdhbnogdW50ZW4iIGF1c3fDpGhsZW4nLCAnd2FybnVuZycpOwogICAg +ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBkbGdGdW5r +MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkbGctZnVua3Rpb24nKS52YWx1ZTsKICAgICAg +ICAgICAgdmFyIGRsZ0VsZGdsRWwyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RsZy1lbGRn +bCcpOwogICAgICAgICAgICB2YXIgZGF0ZW4gPSB7CiAgICAgICAgICAgICAgICBuYW1lOiBkb2N1 +bWVudC5nZXRFbGVtZW50QnlJZCgnZGxnLW5hbWUnKS52YWx1ZS50cmltKCksCiAgICAgICAgICAg +ICAgICB2b3JuYW1lOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGxnLXZvcm5hbWUnKS52YWx1 +ZSwKICAgICAgICAgICAgICAgIGdydXBwZTogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RsZy1n +cnVwcGUnKS52YWx1ZSwKICAgICAgICAgICAgICAgIGZ1bmt0aW9uOiBkbGdGdW5rMiwKICAgICAg +ICAgICAgICAgIG9lOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGxnLW9lJykudmFsdWUsCiAg +ICAgICAgICAgICAgICBkaWVuc3RncmFkOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGxnLWRp +ZW5zdGdyYWQnKS52YWx1ZSwKICAgICAgICAgICAgICAgIHRlbGVmb246IGRvY3VtZW50LmdldEVs +ZW1lbnRCeUlkKCdkbGctdGVsZWZvbicpLnZhbHVlLAogICAgICAgICAgICAgICAgbndLZW5udW5n +OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGxnLW53a2VubnVuZycpLnZhbHVlLAogICAgICAg +ICAgICAgICAgZW1haWw6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkbGctZW1haWwnKS52YWx1 +ZSwKICAgICAgICAgICAgICAgIGdlYnVydHNkYXR1bTogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo +J2RsZy1nZWJ1cnRzZGF0dW0nKS52YWx1ZSwKICAgICAgICAgICAgICAgIGVsRGdsUXVhbGlmaXpp +ZXJ0OiBkbGdFbGRnbEVsMiA/IGRsZ0VsZGdsRWwyLmNoZWNrZWQgOiBmYWxzZSwKICAgICAgICAg +ICAgICAgIGVpbnJlaWhlbjogZWlucmVpaGVuLAogICAgICAgICAgICAgICAgcmVmZXJlbnpJZDog +cmVmSWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgaWYgKCFkYXRlbi5uYW1lKSB7IHBmbGlj +aHRmZWxkRmVobGVyKCdkbGctbmFtZScsICdOYW1lIGlzdCBlaW4gUGZsaWNodGZlbGQnKTsgcmV0 +dXJuOyB9CiAgICAgICAgICAgIGFwaVBvc3QoJy9hcGkvcGVyc29uZW4nLCBkYXRlbikudGhlbihm +dW5jdGlvbihyKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gYXBpKCcvYXBpL3BsYW51bmcnKS50 +aGVuKGZ1bmN0aW9uKHApIHsKICAgICAgICAgICAgICAgICAgICBaLnBsYW51bmcgPSBwOwogICAg +ICAgICAgICAgICAgICAgIHBlcnNvbmVuTmV1QXVmYmF1ZW4oKTsKICAgICAgICAgICAgICAgICAg +ICBtb2RhbFNjaGxpZXNzZW4oKTsKICAgICAgICAgICAgICAgICAgICBwZXJzb25hbFRhYmVsbGVS +ZW5kZXJuKCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBuYW1lblJlbmRlcm4gPT09 +ICdmdW5jdGlvbicpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbmFtZW5SZW5kZXJuKCk7CiAg +ICAgICAgICAgICAgICAgICAgICAgIGRhdGVuR3JpZFJlbmRlcm4oKTsKICAgICAgICAgICAgICAg +ICAgICAgICAga29wZlJlbmRlcm4oKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg +ICAgICAgICAgdG9hc3QoJ1BlcnNvbiBhbmdlbGVndCAoUG9zLiAnICsgci5wb3NpdGlvbiArICcp +JywgJ2VyZm9sZycpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pLmNhdGNoKGZ1 +bmN0aW9uKGUpIHsgdG9hc3QoJ0ZlaGxlcjogJyArIGUubWVzc2FnZSwgJ2ZlaGxlcicpOyB9KTsK +ICAgICAgICB9CiAgICApOwoKICAgIHZhciBlaW5TZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ +ZCgnZGxnLWVpbnJlaWhlbicpOwogICAgdmFyIHJlZkRkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 +SWQoJ2RsZy1yZWYnKTsKICAgIGVpblNlbC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5j +dGlvbigpIHsKICAgICAgICByZWZEZC5kaXNhYmxlZCA9IChlaW5TZWwudmFsdWUgPT09ICd1bnRl +bicpOwogICAgfSk7CgogICAgLy8gVkkzLURHTC1DaGVja2JveCBibGVpYnQgZnVlciBhbGxlIEZ1 +bmt0aW9uZW4gc2ljaHRiYXIgKHNlaXQgMjAyNi0wNS0yMykuCiAgICBlbGRnbFRvZ2dsZUxpc3Rl +bmVyQmluZGVuKCk7Cn0KCi8vID09PT09IEFkbWluOiBNYW51ZWxsZSBTb3J0aWVydW5nIChEcmFn +ICYgRHJvcCkgPT09PT0KCi8vIExpc3RldCBhbGxlIGFrdGl2ZW4gRnVlaHJ1bmdza3JhZWZ0ZSAo +R3J1cHBlbiBB4oCTQyB1bmQgV0QpIHVuZCBlcmxhdWJ0Ci8vIGRlcmVuIE5ldWFub3JkbnVuZyBw +ZXIgRHJhZyZEcm9wLiBCZWltIFNwZWljaGVybiB3ZXJkZW4gZGllIFBvc2l0aW9uZW4KLy8gYWxz +IDEuLk4gaW4gZGVyIG5ldWVuIFJlaWhlbmZvbGdlIHZlcmdlYmVuIOKAlCBpbm5lcmhhbGIgZWlu +ZXIgR3J1cHBlCi8vIHNvcnRpZXJ0IHBlcnNvbmVuTmV1QXVmYmF1ZW4oKSBvaG5laGluIG5hY2gg +R3J1cHBlIHByaW1hZXIuCmV4cG9ydCBmdW5jdGlvbiBtYW51ZWxsZVNvcnRpZXJ1bmdEaWFsb2co +KSB7CiAgICB2YXIgZXJsYXVidGUgPSBbJ0EnLCAnQicsICdDJywgJ1dEJ107CiAgICB2YXIgZ3J1 +cHBlblJhbmcgPSB7fTsKICAgIGVybGF1YnRlLmZvckVhY2goZnVuY3Rpb24oZywgaSkgeyBncnVw +cGVuUmFuZ1tnXSA9IGk7IH0pOwogICAgdmFyIHBlcnNvbmVuID0gKFoucGxhbnVuZy5wZXJzb25l +biB8fCBbXSkKICAgICAgICAuZmlsdGVyKGZ1bmN0aW9uKHApIHsgcmV0dXJuIHAuYWt0aXYgJiYg +ZXJsYXVidGUuaW5kZXhPZihwLmdydXBwZSkgPj0gMDsgfSkKICAgICAgICAuc29ydChmdW5jdGlv +bihhLCBiKSB7CiAgICAgICAgICAgIHZhciByQSA9IGdydXBwZW5SYW5nW2EuZ3J1cHBlXSwgckIg +PSBncnVwcGVuUmFuZ1tiLmdydXBwZV07CiAgICAgICAgICAgIGlmIChyQSAhPT0gckIpIHJldHVy +biByQSAtIHJCOwogICAgICAgICAgICByZXR1cm4gKGEucG9zaXRpb24gfHwgOTk5KSAtIChiLnBv +c2l0aW9uIHx8IDk5OSk7CiAgICAgICAgfSk7CgogICAgdmFyIGtvZXJwZXIgPSAnPHAgc3R5bGU9 +Im1hcmdpbjowIDAgMTBweCAwO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZToxM3B4 +Ij5aaWVoZSBQZXJzb25lbiBhbSDimLAtR3JpZmYgaW4gZGllIGdld8O8bnNjaHRlIFJlaWhlbmZv +bGdlIOKAlCBvZGVyIG51dHplIOKWsiAvIOKWvCBuZWJlbiBqZWRlciBaZWlsZSAoVGFzdGF0dXIt +VmFyaWFudGUpLiDigJ5TcGVpY2hlcm4iIMO8YmVybmltbXQgZGllIG5ldWUgUmFuZ2ZvbGdlLicg +KwogICAgICAgIGhpbGZlSWNvbignRGllIFJlaWhlbmZvbGdlIGJlc3RpbW10IG51ciBkaWUgQW56 +ZWlnZSBpbiBkZXIgUGxhbnRhZmVsIHVuZCBpbSBXb2NoZW5wbGFuLCBuaWNodCBkaWUgZmFjaGxp +Y2hlIFJhbmdvcmRudW5nIChGdW5rdGlvbikuIERpZSBQb3NpdGlvbnMtWmFobGVuIGF1cyBkZW0g +RXhjZWwtSW1wb3J0IGJsZWliZW4gZXJoYWx0ZW4g4oCUIHNpZSB3ZXJkZW4gbnVyIG5ldSB6dWdl +b3JkbmV0LCBzb2Rhc3MgZGllIFNvcnRpZXJ1bmcgZGVpbmVyIERyYWcmRHJvcC1SZWloZW5mb2xn +ZSBlbnRzcHJpY2h0LicpICsKICAgICAgICAnPC9wPicgKwogICAgICAgICc8ZGl2IGlkPSJtcy1s +aXN0ZSIgY2xhc3M9Im1zLWxpc3RlIj4nOwogICAgcGVyc29uZW4uZm9yRWFjaChmdW5jdGlvbihw +KSB7CiAgICAgICAgdmFyIGcgPSBaLmdydXBwZW5NYXBbcC5ncnVwcGVdIHx8IHt9OwogICAgICAg +IHZhciBkaWVuc3RncmFkID0gcC5kaWVuc3RncmFkID8gZXNjYXBlSFRNTChwLmRpZW5zdGdyYWQp +ICsgJyAnIDogJyc7CiAgICAgICAga29lcnBlciArPSAnPGRpdiBjbGFzcz0ibXMtemVpbGUiIGRy +YWdnYWJsZT0idHJ1ZSIgZGF0YS1pZD0iJyArIHAuaWQgKyAnIj4nICsKICAgICAgICAgICAgJzxz +cGFuIGNsYXNzPSJtcy1ncmlmZiIgdGl0bGU9IlppZWhlbiI+4piwPC9zcGFuPicgKwogICAgICAg +ICAgICAnPHNwYW4gY2xhc3M9ImdydXBwZW4tYmFkZ2UiIHN0eWxlPSJiYWNrZ3JvdW5kOicgKyBl +c2NhcGVBdHRyKGcuaGludGVyZ3J1bmQgfHwgJyM2NjYnKSArICc7Y29sb3I6JyArIGVzY2FwZUF0 +dHIoZy5zY2hyaWZ0IHx8ICcjZmZmJykgKyAnIj4nICsgZXNjYXBlSFRNTChwLmdydXBwZSkgKyAn +PC9zcGFuPicgKwogICAgICAgICAgICAnPHNwYW4gY2xhc3M9Im1zLW5hbWUiPicgKyBkaWVuc3Rn +cmFkICsgZXNjYXBlSFRNTChwLm5hbWUpICsgKHAudm9ybmFtZSA/ICcsICcgKyBlc2NhcGVIVE1M +KHAudm9ybmFtZSkgOiAnJykgKyAnPC9zcGFuPicgKwogICAgICAgICAgICAnPHNwYW4gY2xhc3M9 +Im1zLXJhbmciIHRpdGxlPSJBa3R1ZWxsZSBQb3NpdGlvbnMtWmFobCI+UG9zaXRpb24gJyArIChw +LnBvc2l0aW9uICE9IG51bGwgPyBwLnBvc2l0aW9uIDogJ+KAlCcpICsgJzwvc3Bhbj4nICsKICAg +ICAgICAgICAgLy8gVVgtQXVkaXQgU3ByaW50IDMuNiAoMjAyNi0wNS0yOSk6IFRhc3RhdHVyLUJ1 +dHRvbnMgYWxzCiAgICAgICAgICAgIC8vIGExMXktQWx0ZXJuYXRpdmUgenVtIERyYWcmRHJvcC4K +ICAgICAgICAgICAgJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibXMtcGZlaWwiIGRhdGEt +cmljaHR1bmc9ImhvY2giIHRpdGxlPSJFaW5lIFBvc2l0aW9uIGhvY2giIGFyaWEtbGFiZWw9IkVp +bmUgUG9zaXRpb24gaG9jaCI+4payPC9idXR0b24+JyArCiAgICAgICAgICAgICc8YnV0dG9uIHR5 +cGU9ImJ1dHRvbiIgY2xhc3M9Im1zLXBmZWlsIiBkYXRhLXJpY2h0dW5nPSJydW50ZXIiIHRpdGxl +PSJFaW5lIFBvc2l0aW9uIHJ1bnRlciIgYXJpYS1sYWJlbD0iRWluZSBQb3NpdGlvbiBydW50ZXIi +PuKWvDwvYnV0dG9uPicgKwogICAgICAgICc8L2Rpdj4nOwogICAgfSk7CiAgICBrb2VycGVyICs9 +ICc8L2Rpdj4nOwoKICAgIHZhciBmdXNzID0gJzxidXR0b24gY2xhc3M9ImJ0biIgaWQ9Im1zLWFi +YnJlY2hlbiI+QWJicmVjaGVuPC9idXR0b24+JyArCiAgICAgICAgICAgICAgICc8YnV0dG9uIGNs +YXNzPSJidG4gYnRuLXByaW1hZXIiIGlkPSJtcy1zcGVpY2hlcm4iPlNwZWljaGVybjwvYnV0dG9u +Pic7CiAgICBtb2RhbFplaWdlbignTWFudWVsbGUgU29ydGllcnVuZyDigJQgRsO8aHJ1bmdza3LD +pGZ0ZSAoQeKAk0MsIFdEKScsIGtvZXJwZXIsIGZ1c3MsIG51bGwpOwoKICAgIHZhciBsaXN0ZSA9 +IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtcy1saXN0ZScpOwogICAgdmFyIGdlem9nZW4gPSBu +dWxsOwoKICAgIGxpc3RlLmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdzdGFydCcsIGZ1bmN0aW9uKGUp +IHsKICAgICAgICB2YXIgemVpbGUgPSBlLnRhcmdldC5jbG9zZXN0ID8gZS50YXJnZXQuY2xvc2Vz +dCgnLm1zLXplaWxlJykgOiBudWxsOwogICAgICAgIGlmICghemVpbGUpIHJldHVybjsKICAgICAg +ICBnZXpvZ2VuID0gemVpbGU7CiAgICAgICAgemVpbGUuY2xhc3NMaXN0LmFkZCgnbXMtZHJhZ2dp +bmcnKTsKICAgICAgICB0cnkgeyBlLmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkID0gJ21vdmUn +OyBlLmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3BsYWluJywgemVpbGUuZ2V0QXR0cmlidXRl +KCdkYXRhLWlkJykpOyB9IGNhdGNoIChfKSB7fQogICAgfSk7CiAgICBsaXN0ZS5hZGRFdmVudExp +c3RlbmVyKCdkcmFnZW5kJywgZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKGdlem9nZW4pIGdlem9n +ZW4uY2xhc3NMaXN0LnJlbW92ZSgnbXMtZHJhZ2dpbmcnKTsKICAgICAgICBnZXpvZ2VuID0gbnVs +bDsKICAgIH0pOwogICAgbGlzdGUuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCBmdW5jdGlv +bihlKSB7CiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIGlmICghZ2V6b2dlbikg +cmV0dXJuOwogICAgICAgIHZhciB6aWVsID0gZS50YXJnZXQuY2xvc2VzdCA/IGUudGFyZ2V0LmNs +b3Nlc3QoJy5tcy16ZWlsZScpIDogbnVsbDsKICAgICAgICBpZiAoIXppZWwgfHwgemllbCA9PT0g +Z2V6b2dlbikgcmV0dXJuOwogICAgICAgIHZhciByZWN0ID0gemllbC5nZXRCb3VuZGluZ0NsaWVu +dFJlY3QoKTsKICAgICAgICB2YXIgb2JlcmhhbGIgPSAoZS5jbGllbnRZIC0gcmVjdC50b3ApIDwg +KHJlY3QuaGVpZ2h0IC8gMik7CiAgICAgICAgaWYgKG9iZXJoYWxiKSB6aWVsLnBhcmVudE5vZGUu +aW5zZXJ0QmVmb3JlKGdlem9nZW4sIHppZWwpOwogICAgICAgIGVsc2UgICAgICAgICAgemllbC5w +YXJlbnROb2RlLmluc2VydEJlZm9yZShnZXpvZ2VuLCB6aWVsLm5leHRTaWJsaW5nKTsKICAgIH0p +OwoKICAgIC8vIFVYLUF1ZGl0IFNwcmludCAzLjYgKDIwMjYtMDUtMjkpOiBUYXN0YXR1ci1OYXZp +Z2F0aW9uIHZpYSDilrIv4pa8LUJ1dHRvbnMKICAgIC8vIGFscyBBbHRlcm5hdGl2ZSB6dW0gRHJh +ZyZEcm9wIChhMTF5LUFuZm9yZGVydW5nLCBkYSBEcmFnJkRyb3AgZnVlcgogICAgLy8gVGFzdGF0 +dXItL1NjcmVlbnJlYWRlci1OdXR6ZXIgbmljaHQgYmVkaWVuYmFyIGlzdCkuCiAgICBsaXN0ZS5h +ZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICB2YXIgYnRuID0g +ZS50YXJnZXQgJiYgZS50YXJnZXQuY2xvc2VzdCAmJiBlLnRhcmdldC5jbG9zZXN0KCcubXMtcGZl +aWwnKTsKICAgICAgICBpZiAoIWJ0bikgcmV0dXJuOwogICAgICAgIHZhciB6ZWlsZSA9IGJ0bi5j +bG9zZXN0KCcubXMtemVpbGUnKTsKICAgICAgICBpZiAoIXplaWxlKSByZXR1cm47CiAgICAgICAg +dmFyIHJpY2h0dW5nID0gYnRuLmdldEF0dHJpYnV0ZSgnZGF0YS1yaWNodHVuZycpOwogICAgICAg +IGlmIChyaWNodHVuZyA9PT0gJ2hvY2gnKSB7CiAgICAgICAgICAgIHZhciBwcmV2ID0gemVpbGUu +cHJldmlvdXNFbGVtZW50U2libGluZzsKICAgICAgICAgICAgaWYgKHByZXYpIHplaWxlLnBhcmVu +dE5vZGUuaW5zZXJ0QmVmb3JlKHplaWxlLCBwcmV2KTsKICAgICAgICB9IGVsc2UgewogICAgICAg +ICAgICB2YXIgbmV4dCA9IHplaWxlLm5leHRFbGVtZW50U2libGluZzsKICAgICAgICAgICAgaWYg +KG5leHQpIHplaWxlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG5leHQsIHplaWxlKTsKICAgICAg +ICB9CiAgICAgICAgLy8gRm9rdXMgYXVmIGdsZWljaGVtIEJ1dHRvbiBiZWhhbHRlbiwgZGFtaXQg +d2VpdGVyZSDilrIv4pa8LUtsaWNrcwogICAgICAgIC8vIChvZGVyIEVudGVyIHZpYSBLZXlib2Fy +ZCkgb2huZSBNYXVzIHdlaXRlcmdlaGVuIGtvZW5uZW4uCiAgICAgICAgdHJ5IHsgYnRuLmZvY3Vz +KCk7IH0gY2F0Y2ggKF8pIHt9CiAgICB9KTsKCiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn +bXMtYWJicmVjaGVuJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBtb2RhbFNjaGxpZXNzZW4p +OwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21zLXNwZWljaGVybicpLmFkZEV2ZW50TGlz +dGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgLy8gTmV1ZSBET00tUmVpaGVuZm9s +Z2UgZWluc2FtbWVsbgogICAgICAgIHZhciBpZHNOZXUgPSBbXTsKICAgICAgICBkb2N1bWVudC5x +dWVyeVNlbGVjdG9yQWxsKCcjbXMtbGlzdGUgLm1zLXplaWxlJykuZm9yRWFjaChmdW5jdGlvbihl +bCkgewogICAgICAgICAgICBpZHNOZXUucHVzaChwYXJzZUludChlbC5nZXRBdHRyaWJ1dGUoJ2Rh +dGEtaWQnKSwgMTApKTsKICAgICAgICB9KTsKICAgICAgICAvLyBCaXNoZXJpZ2UgUG9zaXRpb25z +LVphaGxlbiBkZXIgYmV0ZWlsaWd0ZW4gUGVyc29uZW4gKHNvcnRpZXJ0IGF1ZnN0ZWlnZW5kKQog +ICAgICAgIC8vIGJsZWliZW4gZXJoYWx0ZW4g4oCUIHNpZSB3ZXJkZW4gbnVyIG5ldSB6dWdlb3Jk +bmV0LiBTbyBnZWh0IGRpZSBTdHJ1a3R1cgogICAgICAgIC8vIGF1cyBkZW0gRXhjZWwtSW1wb3J0 +ICgxMTEsIDExMiwgMTIxLCAuLi4pIG5pY2h0IHZlcmxvcmVuLgogICAgICAgIHZhciBwb3NpdGlv +bmVuQWx0ID0gaWRzTmV1Lm1hcChmdW5jdGlvbihpZCkgewogICAgICAgICAgICB2YXIgcCA9ICha +LnBsYW51bmcucGVyc29uZW4gfHwgW10pLmZpbmQoZnVuY3Rpb24oeCkgeyByZXR1cm4geC5pZCA9 +PT0gaWQ7IH0pOwogICAgICAgICAgICByZXR1cm4gcCAmJiBwLnBvc2l0aW9uICE9IG51bGwgPyBw +LnBvc2l0aW9uIDogOTk5OTsKICAgICAgICB9KS5zbGljZSgpLnNvcnQoZnVuY3Rpb24oYSwgYikg +eyByZXR1cm4gYSAtIGI7IH0pOwogICAgICAgIHZhciByZWloZSA9IGlkc05ldS5tYXAoZnVuY3Rp +b24oaWQsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIHsgaWQ6IGlkLCBwb3NpdGlvbjogcG9zaXRp +b25lbkFsdFtpXSB9OwogICAgICAgIH0pOwogICAgICAgIGFwaVB1dCgnL2FwaS9wZXJzb25lbi9y +ZWloZW5mb2xnZScsIHJlaWhlKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZWloZS5m +b3JFYWNoKGZ1bmN0aW9uKHIpIHsKICAgICAgICAgICAgICAgIHZhciBwID0gKFoucGxhbnVuZy5w +ZXJzb25lbiB8fCBbXSkuZmluZChmdW5jdGlvbih4KSB7IHJldHVybiB4LmlkID09PSByLmlkOyB9 +KTsKICAgICAgICAgICAgICAgIGlmIChwKSBwLnBvc2l0aW9uID0gci5wb3NpdGlvbjsKICAgICAg +ICAgICAgfSk7CiAgICAgICAgICAgIG1vZGFsU2NobGllc3NlbigpOwogICAgICAgICAgICBwZXJz +b25lbk5ldUF1ZmJhdWVuKCk7CiAgICAgICAgICAgIHBlcnNvbmFsVGFiZWxsZVJlbmRlcm4oKTsK +ICAgICAgICAgICAgaWYgKHR5cGVvZiBuYW1lblJlbmRlcm4gPT09ICdmdW5jdGlvbicpIHsKICAg +ICAgICAgICAgICAgIG5hbWVuUmVuZGVybigpOwogICAgICAgICAgICAgICAgZGF0ZW5HcmlkUmVu +ZGVybigpOwogICAgICAgICAgICAgICAga29wZlJlbmRlcm4oKTsKICAgICAgICAgICAgfQogICAg +ICAgICAgICB0b2FzdCgnUmVpaGVuZm9sZ2UgZ2VzcGVpY2hlcnQgKCcgKyByZWloZS5sZW5ndGgg +KyAnIFBlcnNvbmVuKScsICdlcmZvbGcnKTsKICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlKSB7 +IHRvYXN0KCdGZWhsZXI6ICcgKyBlLm1lc3NhZ2UsICdmZWhsZXInKTsgfSk7CiAgICB9KTsKfQoK +Ly8gPT09PT0gQWRtaW46IFJhbmcgaW5saW5lIGVkaXRpZXJlbiAobnVyIFN1cGVyVXNlcikgPT09 +PT0KCi8vIEVyc2V0enQgZGFzIC5yYW5nLWVkaXQtU3BhbiBkdXJjaCBlaW4gbnVtYmVyLUlucHV0 +LiBFbnRlci9CbHVyIHNwZWljaGVydCwKLy8gRXNjYXBlIGJyaWNodCBhYi4gQmVpbSBTcGVpY2hl +cm4gd2lyZCBudXIgZGllIFJvaHphaGwgcGVyc2lzdGllcnQg4oCUIGRpZQovLyBTb3J0aWVydW5n +IGluIGRlciBQbGFudGFmZWwgZXJnaWJ0IHNpY2ggdWViZXIgcGVyc29uZW5OZXVBdWZiYXVlbigp +LgpleHBvcnQgZnVuY3Rpb24gcmFuZ0lubGluZUVkaXQoaWQsIHNwYW4pIHsKICAgIGlmICghWi5y +ZWNodGUuaXN0U3VwZXJVc2VyKSByZXR1cm47CiAgICB2YXIgcGVyc29uID0gKFoucGxhbnVuZy5w +ZXJzb25lbiB8fCBbXSkuZmluZChmdW5jdGlvbihwKSB7IHJldHVybiBwLmlkID09PSBpZDsgfSk7 +CiAgICBpZiAoIXBlcnNvbikgcmV0dXJuOwogICAgdmFyIGFsdCA9IHBlcnNvbi5wb3NpdGlvbiAh +PSBudWxsID8gcGVyc29uLnBvc2l0aW9uIDogJyc7CgogICAgdmFyIGlucHV0ID0gZG9jdW1lbnQu +Y3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKICAgIGlucHV0LnR5cGUgPSAnbnVtYmVyJzsKICAgIGlu +cHV0Lm1pbiA9ICcwJzsKICAgIGlucHV0LnN0ZXAgPSAnMSc7CiAgICBpbnB1dC52YWx1ZSA9IFN0 +cmluZyhhbHQpOwogICAgaW5wdXQuY2xhc3NOYW1lID0gJ3JhbmctZWRpdC1pbnB1dCc7CiAgICBz +cGFuLnJlcGxhY2VXaXRoKGlucHV0KTsKICAgIGlucHV0LmZvY3VzKCk7CiAgICBpbnB1dC5zZWxl +Y3QoKTsKCiAgICB2YXIgYWJnZXNjaGxvc3NlbiA9IGZhbHNlOwogICAgZnVuY3Rpb24gdWViZXJu +ZWhtZW4oKSB7CiAgICAgICAgaWYgKGFiZ2VzY2hsb3NzZW4pIHJldHVybjsKICAgICAgICBhYmdl +c2NobG9zc2VuID0gdHJ1ZTsKICAgICAgICB2YXIgdiA9IGlucHV0LnZhbHVlLnRyaW0oKTsKICAg +ICAgICB2YXIgbmV1ID0gdiA9PT0gJycgPyBudWxsIDogcGFyc2VJbnQodiwgMTApOwogICAgICAg +IGlmICh2ICE9PSAnJyAmJiAoaXNOYU4obmV1KSB8fCBuZXUgPCAwKSkgewogICAgICAgICAgICB0 +b2FzdCgnVW5nw7xsdGlnZSBSYW5nemFobCcsICd3YXJudW5nJyk7CiAgICAgICAgICAgIHBlcnNv +bmFsVGFiZWxsZVJlbmRlcm4oKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAg +ICBpZiAobmV1ID09PSBhbHQgfHwgKG5ldSA9PSBudWxsICYmIGFsdCA9PT0gJycpKSB7CiAgICAg +ICAgICAgIHBlcnNvbmFsVGFiZWxsZVJlbmRlcm4oKTsKICAgICAgICAgICAgcmV0dXJuOwogICAg +ICAgIH0KICAgICAgICBhcGlQdXQoJy9hcGkvcGVyc29uZW4vJyArIGlkLCB7IHBvc2l0aW9uOiBu +ZXUgfSkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAgcGVyc29uLnBvc2l0aW9uID0gbmV1 +OwogICAgICAgICAgICBwZXJzb25lbk5ldUF1ZmJhdWVuKCk7CiAgICAgICAgICAgIHBlcnNvbmFs +VGFiZWxsZVJlbmRlcm4oKTsKICAgICAgICAgICAgaWYgKHR5cGVvZiBuYW1lblJlbmRlcm4gPT09 +ICdmdW5jdGlvbicpIHsKICAgICAgICAgICAgICAgIG5hbWVuUmVuZGVybigpOwogICAgICAgICAg +ICAgICAgZGF0ZW5HcmlkUmVuZGVybigpOwogICAgICAgICAgICAgICAga29wZlJlbmRlcm4oKTsK +ICAgICAgICAgICAgfQogICAgICAgICAgICB0b2FzdCgnUmFuZyBha3R1YWxpc2llcnQnLCAnZXJm +b2xnJyk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZSkgewogICAgICAgICAgICB0b2FzdCgn +RmVobGVyOiAnICsgZS5tZXNzYWdlLCAnZmVobGVyJyk7CiAgICAgICAgICAgIHBlcnNvbmFsVGFi +ZWxsZVJlbmRlcm4oKTsKICAgICAgICB9KTsKICAgIH0KICAgIGZ1bmN0aW9uIGFiYnJlY2hlbigp +IHsKICAgICAgICBpZiAoYWJnZXNjaGxvc3NlbikgcmV0dXJuOwogICAgICAgIGFiZ2VzY2hsb3Nz +ZW4gPSB0cnVlOwogICAgICAgIHBlcnNvbmFsVGFiZWxsZVJlbmRlcm4oKTsKICAgIH0KCiAgICBp +bnB1dC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24oZSkgewogICAgICAgIGlm +IChlLmtleSA9PT0gJ0VudGVyJykgICAgICAgeyBlLnByZXZlbnREZWZhdWx0KCk7IHVlYmVybmVo +bWVuKCk7IH0KICAgICAgICBlbHNlIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHsgZS5wcmV2ZW50 +RGVmYXVsdCgpOyBhYmJyZWNoZW4oKTsgfQogICAgfSk7CiAgICBpbnB1dC5hZGRFdmVudExpc3Rl +bmVyKCdibHVyJywgdWViZXJuZWhtZW4pOwp9CgovLyA9PT09PSBBZG1pbjogRGllbnN0Z3JhZCBp +bmxpbmUgZWRpdGllcmVuIChudXIgU3VwZXJVc2VyKSA9PT09PQoKZXhwb3J0IGZ1bmN0aW9uIGRp +ZW5zdGdyYWRJbmxpbmVFZGl0KGlkLCBzcGFuKSB7CiAgICBpZiAoIVoucmVjaHRlLmlzdFN1cGVy +VXNlcikgcmV0dXJuOwogICAgdmFyIHBlcnNvbiA9IChaLnBsYW51bmcucGVyc29uZW4gfHwgW10p +LmZpbmQoZnVuY3Rpb24ocCkgeyByZXR1cm4gcC5pZCA9PT0gaWQ7IH0pOwogICAgaWYgKCFwZXJz +b24pIHJldHVybjsKICAgIHZhciBhbHQgPSBwZXJzb24uZGllbnN0Z3JhZCB8fCAnJzsKCiAgICB2 +YXIgc2VsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2VsZWN0Jyk7CiAgICBzZWwuY2xhc3NO +YW1lID0gJ2RpZW5zdGdyYWQtZWRpdC1pbnB1dCc7CiAgICB2YXIgbGVlck9wdCA9IGRvY3VtZW50 +LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicpOwogICAgbGVlck9wdC52YWx1ZSA9ICcnOwogICAgbGVl +ck9wdC50ZXh0Q29udGVudCA9ICfigJQgb2huZSDigJQnOwogICAgaWYgKCFhbHQpIGxlZXJPcHQu +c2VsZWN0ZWQgPSB0cnVlOwogICAgc2VsLmFwcGVuZENoaWxkKGxlZXJPcHQpOwogICAgZ2V0RGll +bnN0Z3JhZGUoKS5mb3JFYWNoKGZ1bmN0aW9uKGcpIHsKICAgICAgICB2YXIgbyA9IGRvY3VtZW50 +LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicpOwogICAgICAgIG8udmFsdWUgPSBnOwogICAgICAgIG8u +dGV4dENvbnRlbnQgPSBnOwogICAgICAgIGlmIChnID09PSBhbHQpIG8uc2VsZWN0ZWQgPSB0cnVl +OwogICAgICAgIHNlbC5hcHBlbmRDaGlsZChvKTsKICAgIH0pOwogICAgc3Bhbi5yZXBsYWNlV2l0 +aChzZWwpOwogICAgc2VsLmZvY3VzKCk7CgogICAgdmFyIGFiZ2VzY2hsb3NzZW4gPSBmYWxzZTsK +ICAgIGZ1bmN0aW9uIHVlYmVybmVobWVuKCkgewogICAgICAgIGlmIChhYmdlc2NobG9zc2VuKSBy +ZXR1cm47CiAgICAgICAgYWJnZXNjaGxvc3NlbiA9IHRydWU7CiAgICAgICAgdmFyIG5ldSA9IHNl +bC52YWx1ZSB8fCAnJzsKICAgICAgICBpZiAobmV1ID09PSBhbHQpIHsgcGVyc29uYWxUYWJlbGxl +UmVuZGVybigpOyByZXR1cm47IH0KICAgICAgICBhcGlQdXQoJy9hcGkvcGVyc29uZW4vJyArIGlk +LCB7IGRpZW5zdGdyYWQ6IG5ldSB9KS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICBwZXJz +b24uZGllbnN0Z3JhZCA9IG5ldTsKICAgICAgICAgICAgcGVyc29uYWxUYWJlbGxlUmVuZGVybigp +OwogICAgICAgICAgICBpZiAodHlwZW9mIG5hbWVuUmVuZGVybiA9PT0gJ2Z1bmN0aW9uJykgbmFt +ZW5SZW5kZXJuKCk7CiAgICAgICAgICAgIHRvYXN0KG5ldSA/ICgnRGllbnN0Z3JhZDogJyArIG5l +dSkgOiAnRGllbnN0Z3JhZCBlbnRmZXJudCcsICdlcmZvbGcnKTsKICAgICAgICB9KS5jYXRjaChm +dW5jdGlvbihlKSB7CiAgICAgICAgICAgIHRvYXN0KCdGZWhsZXI6ICcgKyBlLm1lc3NhZ2UsICdm +ZWhsZXInKTsKICAgICAgICAgICAgcGVyc29uYWxUYWJlbGxlUmVuZGVybigpOwogICAgICAgIH0p +OwogICAgfQogICAgZnVuY3Rpb24gYWJicmVjaGVuKCkgewogICAgICAgIGlmIChhYmdlc2NobG9z +c2VuKSByZXR1cm47CiAgICAgICAgYWJnZXNjaGxvc3NlbiA9IHRydWU7CiAgICAgICAgcGVyc29u +YWxUYWJlbGxlUmVuZGVybigpOwogICAgfQogICAgc2VsLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5n +ZScsIHVlYmVybmVobWVuKTsKICAgIHNlbC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgdWViZXJu +ZWhtZW4pOwogICAgc2VsLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbihlKSB7 +CiAgICAgICAgaWYgKGUua2V5ID09PSAnRXNjYXBlJykgeyBlLnByZXZlbnREZWZhdWx0KCk7IGFi +YnJlY2hlbigpOyB9CiAgICB9KTsKfQoKLy8gPT09PT0gQWRtaW46IEZ1bmt0aW9uIGlubGluZSBl +ZGl0aWVyZW4gKG51ciBTdXBlclVzZXIpID09PT09CgovLyBFcnNldHp0IGRhcyAuZnVua3Rpb24t +ZWRpdC1TcGFuIGR1cmNoIGVpbiBEcm9wZG93bi4gQ2hhbmdlL0JsdXIgc3BlaWNoZXJ0LAovLyBF +c2NhcGUgYnJpY2h0IGFiLiBBZW5kZXJ1bmcgZ3JlaWZ0IGRpcmVrdCBpbiBkZ2xzSW5TY2hpY2h0 +KCkg4oCUIGRpZSBQbGFuLQovLyB0YWZlbCB1bmQgQmVzZXR6dW5nc2tvbnRyb2xsZSByZWNobmVu +IGF1dG9tYXRpc2NoIG5hY2guCmV4cG9ydCBmdW5jdGlvbiBmdW5rdGlvbklubGluZUVkaXQoaWQs +IHNwYW4pIHsKICAgIGlmICghWi5yZWNodGUuaXN0U3VwZXJVc2VyKSByZXR1cm47CiAgICB2YXIg +cGVyc29uID0gKFoucGxhbnVuZy5wZXJzb25lbiB8fCBbXSkuZmluZChmdW5jdGlvbihwKSB7IHJl +dHVybiBwLmlkID09PSBpZDsgfSk7CiAgICBpZiAoIXBlcnNvbikgcmV0dXJuOwogICAgdmFyIGFs +dCA9IHBlcnNvbi5mdW5rdGlvbiB8fCAnJzsKCiAgICB2YXIgc2VsID0gZG9jdW1lbnQuY3JlYXRl +RWxlbWVudCgnc2VsZWN0Jyk7CiAgICBzZWwuY2xhc3NOYW1lID0gJ2Z1bmt0aW9uLWVkaXQtaW5w +dXQnOwogICAgdmFyIGxlZXJPcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTsK +ICAgIGxlZXJPcHQudmFsdWUgPSAnJzsKICAgIGxlZXJPcHQudGV4dENvbnRlbnQgPSAn4oCUIG9o +bmUg4oCUJzsKICAgIGlmICghYWx0KSBsZWVyT3B0LnNlbGVjdGVkID0gdHJ1ZTsKICAgIHNlbC5h +cHBlbmRDaGlsZChsZWVyT3B0KTsKICAgIGdldEZ1bmt0aW9uZW4oKS5mb3JFYWNoKGZ1bmN0aW9u +KGYpIHsKICAgICAgICB2YXIgbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicpOwog +ICAgICAgIG8udmFsdWUgPSBmLmNvZGU7CiAgICAgICAgby50ZXh0Q29udGVudCA9IGYuY29kZTsK +ICAgICAgICBpZiAoZi5jb2RlID09PSBhbHQpIG8uc2VsZWN0ZWQgPSB0cnVlOwogICAgICAgIHNl +bC5hcHBlbmRDaGlsZChvKTsKICAgIH0pOwogICAgc3Bhbi5yZXBsYWNlV2l0aChzZWwpOwogICAg +c2VsLmZvY3VzKCk7CgogICAgdmFyIGFiZ2VzY2hsb3NzZW4gPSBmYWxzZTsKICAgIGZ1bmN0aW9u +IHVlYmVybmVobWVuKCkgewogICAgICAgIGlmIChhYmdlc2NobG9zc2VuKSByZXR1cm47CiAgICAg +ICAgYWJnZXNjaGxvc3NlbiA9IHRydWU7CiAgICAgICAgdmFyIG5ldSA9IHNlbC52YWx1ZSB8fCAn +JzsKICAgICAgICBpZiAobmV1ID09PSBhbHQpIHsgcGVyc29uYWxUYWJlbGxlUmVuZGVybigpOyBy +ZXR1cm47IH0KICAgICAgICBhcGlQdXQoJy9hcGkvcGVyc29uZW4vJyArIGlkLCB7IGZ1bmt0aW9u +OiBuZXUgfSkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAgcGVyc29uLmZ1bmt0aW9uID0g +bmV1OwogICAgICAgICAgICBwZXJzb25hbFRhYmVsbGVSZW5kZXJuKCk7CiAgICAgICAgICAgIHRv +YXN0KG5ldSA/ICgnRnVua3Rpb24gZ2VzZXR6dDogJyArIG5ldSkgOiAnRnVua3Rpb24gZW50ZmVy +bnQnLCAnZXJmb2xnJyk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZSkgewogICAgICAgICAg +ICB0b2FzdCgnRmVobGVyOiAnICsgZS5tZXNzYWdlLCAnZmVobGVyJyk7CiAgICAgICAgICAgIHBl +cnNvbmFsVGFiZWxsZVJlbmRlcm4oKTsKICAgICAgICB9KTsKICAgIH0KICAgIGZ1bmN0aW9uIGFi +YnJlY2hlbigpIHsKICAgICAgICBpZiAoYWJnZXNjaGxvc3NlbikgcmV0dXJuOwogICAgICAgIGFi +Z2VzY2hsb3NzZW4gPSB0cnVlOwogICAgICAgIHBlcnNvbmFsVGFiZWxsZVJlbmRlcm4oKTsKICAg +IH0KICAgIHNlbC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB1ZWJlcm5laG1lbik7CiAgICBz +ZWwuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsIHVlYmVybmVobWVuKTsKICAgIHNlbC5hZGRFdmVu +dExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24oZSkgewogICAgICAgIGlmIChlLmtleSA9PT0g +J0VzY2FwZScpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyBhYmJyZWNoZW4oKTsgfQogICAgfSk7Cn0K +Ci8vID09PT09IEFkbWluOiBBbnNwcmVjaHBhcnRuZXItRmxhZyBpbmxpbmUgdG9nZ2xlbiAoU3Vw +ZXJVc2VyIG9ubHkpID09PT09Ci8vCi8vIEtsaWNrIGF1ZiBkYXMgU3ltYm9sIGluIGRlciBTcGFs +dGUg4oCeQW5zcHJlY2hwYXJ0bmVyIiB0b2dnbGV0IGRhcyBGbGFnCi8vIHAuaXN0QW5zcHJlY2hw +YXJ0bmVyLiBTZWl0IDIwMjYtMDUtMjUgb2huZSBGdW5rdGlvbnMtL0RpZW5zdGdydXBwZW4tCi8v +IEdhdGluZyDigJQgamVkZSBQZXJzb24ga2FubiB0aGVvcmV0aXNjaCBhbHMgQW5zcHJlY2hwYXJ0 +bmVyIGJlbmFubnQgd2VyZGVuLgpleHBvcnQgZnVuY3Rpb24gYW5zcHJlY2hwYXJ0bmVySW5saW5l +VG9nZ2xlKGlkKSB7CiAgICBpZiAoIVoucmVjaHRlLmlzdFN1cGVyVXNlcikgcmV0dXJuOwogICAg +dmFyIHBlcnNvbiA9IChaLnBsYW51bmcucGVyc29uZW4gfHwgW10pLmZpbmQoZnVuY3Rpb24ocCkg +eyByZXR1cm4gcC5pZCA9PT0gaWQ7IH0pOwogICAgaWYgKCFwZXJzb24pIHJldHVybjsKICAgIHZh +ciBuZXUgPSAhcGVyc29uLmlzdEFuc3ByZWNocGFydG5lcjsKICAgIGFwaVB1dCgnL2FwaS9wZXJz +b25lbi8nICsgaWQsIHsgaXN0QW5zcHJlY2hwYXJ0bmVyOiBuZXUgfSkudGhlbihmdW5jdGlvbigp +IHsKICAgICAgICBwZXJzb24uaXN0QW5zcHJlY2hwYXJ0bmVyID0gbmV1OwogICAgICAgIHBlcnNv +bmFsVGFiZWxsZVJlbmRlcm4oKTsKICAgICAgICB0b2FzdChuZXUgPyAnQWxzIEFuc3ByZWNocGFy +dG5lciBtYXJraWVydCcgOiAnQW5zcHJlY2hwYXJ0bmVyLU1hcmtpZXJ1bmcgZW50ZmVybnQnLCAn +ZXJmb2xnJyk7CiAgICB9KS5jYXRjaChmdW5jdGlvbihlKSB7CiAgICAgICAgdG9hc3QoJ0ZlaGxl +cjogJyArIGUubWVzc2FnZSwgJ2ZlaGxlcicpOwogICAgICAgIHBlcnNvbmFsVGFiZWxsZVJlbmRl +cm4oKTsKICAgIH0pOwp9CgovLyA9PT09PSBBZG1pbjogUGVyc29uIGF1cyBkZXIgUGxhbnVuZyBl +aW4tL2F1c2JsZW5kZW4gKFN1cGVyVXNlcikgPT09PT0KCi8vIFByby1QZXJzb24tU2ljaHRiYXJr +ZWl0IGluIFBsYW51bmdzYW5zaWNodC9Xb2NoZW5wbGFuL1BlcnMuIFBsYW4uIFNldHp0Ci8vIHBl +cnNvbi5pblBsYW51bmcgKGZhbHNlID0gYXVzZ2VibGVuZGV0KSB1bmQgYmF1dCBkaWUgUGVyc29u +ZW5saXN0ZSArCi8vIGRhcyBHcmlkIG5ldSBhdWYsIGRhbWl0IGRpZSBQZXJzb24gc29mb3J0IGVy +c2NoZWludC92ZXJzY2h3aW5kZXQuCmV4cG9ydCBmdW5jdGlvbiBpblBsYW51bmdJbmxpbmVUb2dn +bGUoaWQpIHsKICAgIGlmICghWi5yZWNodGUuaXN0U3VwZXJVc2VyKSByZXR1cm47CiAgICB2YXIg +cGVyc29uID0gKFoucGxhbnVuZy5wZXJzb25lbiB8fCBbXSkuZmluZChmdW5jdGlvbihwKSB7IHJl +dHVybiBwLmlkID09PSBpZDsgfSk7CiAgICBpZiAoIXBlcnNvbikgcmV0dXJuOwogICAgdmFyIG5l +dVNpY2h0YmFyID0gcGVyc29uLmluUGxhbnVuZyA9PT0gZmFsc2U7ICAgLy8gYWt0dWVsbCBhdXNn +ZWJsZW5kZXQgLT4gd2llZGVyIGVpbmJsZW5kZW4KICAgIHZhciBuZXVJblBsYW51bmcgPSAhIW5l +dVNpY2h0YmFyOyAgICAgICAgICAgICAgIC8vIHRydWUgPSBzaWNodGJhciwgZmFsc2UgPSBhdXNn +ZWJsZW5kZXQKICAgIGFwaVB1dCgnL2FwaS9wZXJzb25lbi8nICsgaWQsIHsgaW5QbGFudW5nOiBu +ZXVJblBsYW51bmcgfSkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICBwZXJzb24uaW5QbGFudW5n +ID0gbmV1SW5QbGFudW5nOwogICAgICAgIHBlcnNvbmFsVGFiZWxsZVJlbmRlcm4oKTsKICAgICAg +ICAvLyBQbGFudW5ncy1HcmlkIG5ldSBhdWZiYXVlbiDigJQgUGVyc29uIGVyc2NoZWludC92ZXJz +Y2h3aW5kZXQgc29mb3J0LgogICAgICAgIHBlcnNvbmVuTmV1QXVmYmF1ZW4oKTsKICAgICAgICBp +ZiAodHlwZW9mIG5hbWVuUmVuZGVybiA9PT0gJ2Z1bmN0aW9uJykgeyBuYW1lblJlbmRlcm4oKTsg +ZGF0ZW5HcmlkUmVuZGVybigpOyBrb3BmUmVuZGVybigpOyB9CiAgICAgICAgdG9hc3QobmV1SW5Q +bGFudW5nID8gJ1BlcnNvbiB3aXJkIGluIGRlciBQbGFudW5nIGFuZ2V6ZWlndCcgOiAnUGVyc29u +IGluIGRlciBQbGFudW5nIGF1c2dlYmxlbmRldCcsICdlcmZvbGcnKTsKICAgIH0pLmNhdGNoKGZ1 +bmN0aW9uKGUpIHsKICAgICAgICB0b2FzdCgnRmVobGVyOiAnICsgZS5tZXNzYWdlLCAnZmVobGVy +Jyk7CiAgICAgICAgcGVyc29uYWxUYWJlbGxlUmVuZGVybigpOwogICAgfSk7Cn0KCi8vID09PT09 +IEFkbWluOiBWSTMgREdMIGlubGluZSB0b2dnbGVuIChTdXBlclVzZXIsIGZ1ZXIgYWxsZSBQZXJz +b25lbikgPT09PT0KCi8vIEJvb2wtSW5saW5lLUVkaXQgb2huZSBFZGl0LU1vZHVzOiBTaW5nbGUt +S2xpY2sgYXVmIGRhcyBTeW1ib2wgdG9nZ2xldAovLyBkYXMgYGVsRGdsUXVhbGlmaXppZXJ0YC1G +bGFnIGRlciBQZXJzb24sIHNwZWljaGVydCB2aWEgUFVUIHVuZCByZW5kZXJ0Ci8vIGRpZSBUYWJl +bGxlIG5ldS4gRnJ1ZWhlciBudXIgZnVlciAzLiBNYW5uL0ZyYXUsIHNlaXQgMjAyNi0wNS0yMyBm +dWVyCi8vIGFsbGUgUGVyc29uZW4gKGF1Y2ggREdML0RHTGluL0F0LURHTC9XREYgbXVlc3NlbiBl +eHBsaXppdCBxdWFsaWZpemllcnQKLy8gd2VyZGVuLCB3ZW5uIGRhcyBnZXd1ZW5zY2h0IGlzdCDi +gJQgSW1wbGljaXQtREdMLUxvZ2lrIGluCi8vIGlzdERnbFF1YWxpZml6aWVydCgpIGJsZWlidCBh +YmVyIGFscyBGYWxsYmFjayBiZXN0ZWhlbikuCmV4cG9ydCBmdW5jdGlvbiBlbGRnbElubGluZVRv +Z2dsZShpZCkgewogICAgaWYgKCFaLnJlY2h0ZS5pc3RTdXBlclVzZXIpIHJldHVybjsKICAgIHZh +ciBwZXJzb24gPSAoWi5wbGFudW5nLnBlcnNvbmVuIHx8IFtdKS5maW5kKGZ1bmN0aW9uKHApIHsg +cmV0dXJuIHAuaWQgPT09IGlkOyB9KTsKICAgIGlmICghcGVyc29uKSByZXR1cm47CiAgICB2YXIg +bmV1ID0gIXBlcnNvbi5lbERnbFF1YWxpZml6aWVydDsKICAgIGFwaVB1dCgnL2FwaS9wZXJzb25l +bi8nICsgaWQsIHsgZWxEZ2xRdWFsaWZpemllcnQ6IG5ldSB9KS50aGVuKGZ1bmN0aW9uKCkgewog +ICAgICAgIHBlcnNvbi5lbERnbFF1YWxpZml6aWVydCA9IG5ldTsKICAgICAgICBwZXJzb25hbFRh +YmVsbGVSZW5kZXJuKCk7CiAgICAgICAgdG9hc3QobmV1ID8gJ1ZJMyBER0wgcXVhbGlmaXppZXJ0 +JyA6ICdWSTMgREdMIFF1YWxpZml6aWVydW5nIGVudGZlcm50JywgJ2VyZm9sZycpOwogICAgfSku +Y2F0Y2goZnVuY3Rpb24oZSkgewogICAgICAgIHRvYXN0KCdGZWhsZXI6ICcgKyBlLm1lc3NhZ2Us +ICdmZWhsZXInKTsKICAgICAgICBwZXJzb25hbFRhYmVsbGVSZW5kZXJuKCk7CiAgICB9KTsKfQoK +Ly8gYXZhdGFyVXJsIC8gYXZhdGFySW5pdGlhbGVuIC8gYXZhdGFyS3JlaXNIdG1sIGxlYmVuIGlu +IGNvcmVfdXRpbC5qcywKLy8gZGFtaXQgZ3JpZF9yZW5kZXIuanMgLyB3b2NoZW5wbGFuLmpzIHNp +ZSBlYmVuZmFsbHMgbnV0emVuIGtvZW5uZW4uCgovLyA9PT09PSBQZXJzb24tSG92ZXItUG9wb3Zl +ciA9PT09PQovLyBTY2h3ZWJlbmRlcyBNaW5pLU1vZGFsIG1pdCBBdmF0YXIsIFN0YW1tZGF0ZW4g +KyAxNC1UYWdlLVNjaGljaHQtVm9yc2NoYXUuCi8vIFdpcmQgZHVyY2ggbW91c2VvdmVyIGF1ZiAu +bmFtZW4temVpbGUgLyAucGVyc29uYWwtbmFtZS16ZWxsZSAvIFdvY2hlbi0KLy8gcGxhbi1OYW1l +bnMtRWxlbWVudGUgZ2V0cmlnZ2VydCAoRXZlbnQtRGVsZWdhdGlvbiBpbiBhcHAuanMpLiBTaW5n +bGUtCi8vIEluc3RhbnogaW0gQm9keSwgbmV1IGJlZnVlbGx0ICsgcG9zaXRpb25pZXJ0IGJlaSBq +ZWRlbSBUcmlnZ2VyLgoKdmFyIHBwX3plaWdlVGltZXIgPSBudWxsOwp2YXIgcHBfdmVyc3RlY2tU +aW1lciA9IG51bGw7CgpmdW5jdGlvbiBwcF9uYWVjaHN0ZTE0VGFnZSgpIHsKICAgIHZhciB0YWdl +ID0gW107CiAgICB2YXIgaGV1dGUgPSBuZXcgRGF0ZSgpOwogICAgaGV1dGUuc2V0SG91cnMoMCwg +MCwgMCwgMCk7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDE0OyBpKyspIHsKICAgICAgICB2YXIg +ZCA9IG5ldyBEYXRlKGhldXRlLmdldFRpbWUoKSArIGkgKiA4NjQwMDAwMCk7CiAgICAgICAgdGFn +ZS5wdXNoKGQpOwogICAgfQogICAgcmV0dXJuIHRhZ2U7Cn0KCmZ1bmN0aW9uIHBwX2h0bWwocGVy +c29uKSB7CiAgICB2YXIgZGcgICA9IHBlcnNvbi5kaWVuc3RncmFkIHx8ICcnOwogICAgdmFyIG5h +bWUgPSAoKHBlcnNvbi52b3JuYW1lIHx8ICcnKSArICcgJyArIHBlcnNvbi5uYW1lKS50cmltKCk7 +CiAgICB2YXIgZmt0ICA9IHBlcnNvbi5mdW5rdGlvbiB8fCAn4oCUJzsKICAgIC8vIERpZW5zdGdy +dXBwZW4tQmV6ZWljaG51bmcgc3RhdHQgbnVyIEt1ZXJ6ZWwgKCJBIiAtPiAiR3J1cHBlIEEg4oCU +IFdlc3RmYWxlbiBOb3JkIiBvLmFlLikKICAgIHZhciBncnVwcGUgPSBwZXJzb24uZ3J1cHBlIHx8 +ICcnOwogICAgdmFyIGdydXBwZUFueiA9IGdydXBwZTsKICAgIGlmIChncnVwcGUgJiYgWi5ncnVw +cGVuTWFwICYmIFouZ3J1cHBlbk1hcFtncnVwcGVdICYmIFouZ3J1cHBlbk1hcFtncnVwcGVdLmJl +emVpY2hudW5nKSB7CiAgICAgICAgZ3J1cHBlQW56ID0gZ3J1cHBlICsgJyDigJQgJyArIFouZ3J1 +cHBlbk1hcFtncnVwcGVdLmJlemVpY2hudW5nOwogICAgfQogICAgaWYgKCFncnVwcGVBbnopIGdy +dXBwZUFueiA9ICfigJQnOwogICAgLy8gU3RhbmRvcnQtS3VlcnplbCAtPiBWb2xsZXIgTmFtZSAo +VXNlci1GZWVkYmFjayAyMDI2LTA1LTIzKTogIkFSIiAtPiAiQXJuc2JlcmciLgogICAgdmFyIG9l +S3VlcnplbCA9IHBlcnNvbi5vZSB8fCAnJzsKICAgIHZhciBvZUFueiA9IG9lS3VlcnplbDsKICAg +IGlmIChvZUt1ZXJ6ZWwgJiYgWi5hZG1pbiAmJiBaLmFkbWluLnN0YW5kb3J0ZSkgewogICAgICAg +IHZhciBzdCA9IFouYWRtaW4uc3RhbmRvcnRlLmZpbmQoZnVuY3Rpb24ocykgewogICAgICAgICAg +ICByZXR1cm4gKHMua3VlcnplbCB8fCAnJykudG9Mb3dlckNhc2UoKSA9PT0gb2VLdWVyemVsLnRv +TG93ZXJDYXNlKCk7CiAgICAgICAgfSk7CiAgICAgICAgaWYgKHN0ICYmIHN0Lm5hbWUpIG9lQW56 +ID0gc3QubmFtZTsKICAgIH0KICAgIGlmICghb2VBbnopIG9lQW56ID0gJ+KAlCc7CiAgICB2YXIg +dGVsICA9IHBlcnNvbi50ZWxlZm9uIHx8ICcnOwoKICAgIHZhciBoZXV0ZVRzID0gbmV3IERhdGUo +bmV3IERhdGUoKS5zZXRIb3VycygwLDAsMCwwKSkuZ2V0VGltZSgpOwogICAgdmFyIHRhZ2VIdG1s +ID0gcHBfbmFlY2hzdGUxNFRhZ2UoKS5tYXAoZnVuY3Rpb24oZCkgewogICAgICAgIHZhciBkU3Ry +ID0gZGF0dW1TdHIoZCk7CiAgICAgICAgdmFyIGUgPSAoWi5wbGFudW5nLmVpbnRyYWVnZSB8fCB7 +fSlbZFN0cl0gfHwge307CiAgICAgICAgdmFyIGNvZGUgPSBlW1N0cmluZyhwZXJzb24uaWQpXSB8 +fCAnJzsKICAgICAgICB2YXIgZmFyYmVuID0gKFouY29kZU1hcCB8fCB7fSlbY29kZV0gfHwge307 +CiAgICAgICAgdmFyIGJnID0gZmFyYmVuLmhpbnRlcmdydW5kIHx8ICcnOwogICAgICAgIHZhciBm +ZyA9IGZhcmJlbi5zY2hyaWZ0IHx8ICcnOwogICAgICAgIHZhciB3dCA9IFsnU28nLCdNbycsJ0Rp +JywnTWknLCdEbycsJ0ZyJywnU2EnXVtkLmdldERheSgpXTsKICAgICAgICB2YXIgaXN0V0UgPSAo +ZC5nZXREYXkoKSA9PT0gMCB8fCBkLmdldERheSgpID09PSA2KTsKICAgICAgICB2YXIgZGQgPSAo +JzAnICsgZC5nZXREYXRlKCkpLnNsaWNlKC0yKTsKICAgICAgICB2YXIgbW0gPSAoJzAnICsgKGQu +Z2V0TW9udGgoKSArIDEpKS5zbGljZSgtMik7CiAgICAgICAgdmFyIGlzdEhldXRlID0gKGQuZ2V0 +VGltZSgpID09PSBoZXV0ZVRzKTsKICAgICAgICB2YXIgYW56ZWlnZSA9IGZhcmJlbi5rdWVyemVs +IHx8IGNvZGUgfHwgJ+KAlCc7CiAgICAgICAgdmFyIGNvZGVTdHlsZSA9ICcnOwogICAgICAgIGlm +IChiZykgY29kZVN0eWxlID0gJ2JhY2tncm91bmQ6JyArIGVzY2FwZUF0dHIoYmcpICsgJztjb2xv +cjonICsgZXNjYXBlQXR0cihmZyB8fCAnIzAwMCcpOwogICAgICAgIHZhciBjbHMgPSAncHB2LXRh +Zyc7CiAgICAgICAgaWYgKGlzdEhldXRlKSBjbHMgKz0gJyBwcHYtdGFnLWhldXRlJzsKICAgICAg +ICBpZiAoaXN0V0UpICAgIGNscyArPSAnIHBwdi10YWctd2UnOwogICAgICAgIGlmICghY29kZSkg +ICAgY2xzICs9ICcgcHB2LXRhZy1sZWVyJzsKICAgICAgICByZXR1cm4gJzxkaXYgY2xhc3M9Iicg +KyBjbHMgKyAnIj4nICsKICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJwcHYtdGFnLXd0Ij4nICsg +d3QgKyAnPC9zcGFuPicgKwogICAgICAgICAgICAnPHNwYW4gY2xhc3M9InBwdi10YWctZGF0dW0i +PicgKyBkZCArICcuJyArIG1tICsgJy48L3NwYW4+JyArCiAgICAgICAgICAgICc8c3BhbiBjbGFz +cz0icHB2LXRhZy1jb2RlIiBzdHlsZT0iJyArIGNvZGVTdHlsZSArICciPicgKyBlc2NhcGVIVE1M +KGFuemVpZ2UpICsgJzwvc3Bhbj4nICsKICAgICAgICAnPC9kaXY+JzsKICAgIH0pLmpvaW4oJycp +OwoKICAgIHJldHVybiAnPGRpdiBjbGFzcz0icHB2LWtvcGYiPicgKwogICAgICAgICAgICAnPGRp +diBjbGFzcz0icHB2LWF2YXRhciI+JyArIGF2YXRhcktyZWlzSHRtbChwZXJzb24sIDU2KSArICc8 +L2Rpdj4nICsKICAgICAgICAgICAgJzxkaXYgY2xhc3M9InBwdi1rb3BmLXRleHQiPicgKwogICAg +ICAgICAgICAgICAgJzxkaXYgY2xhc3M9InBwdi1uYW1lIj4nICsgKGRnID8gZXNjYXBlSFRNTChk +ZykgKyAnICcgOiAnJykgKyBlc2NhcGVIVE1MKG5hbWUpICsgJzwvZGl2PicgKwogICAgICAgICAg +ICAgICAgJzxkaXYgY2xhc3M9InBwdi1tZXRhIj4nICsgZXNjYXBlSFRNTChma3QpICsgJyDCtyAn +ICsgZXNjYXBlSFRNTChncnVwcGVBbnopICsgKG9lQW56ICE9PSAn4oCUJyA/ICcgwrcgJyArIGVz +Y2FwZUhUTUwob2VBbnopIDogJycpICsgJzwvZGl2PicgKwogICAgICAgICAgICAgICAgKHRlbCA/ +ICc8ZGl2IGNsYXNzPSJwcHYtbWV0YSI+VGVsLiAnICsgZXNjYXBlSFRNTCh0ZWwpICsgJzwvZGl2 +PicgOiAnJykgKwogICAgICAgICAgICAnPC9kaXY+JyArCiAgICAgICAgJzwvZGl2PicgKwogICAg +ICAgICc8ZGl2IGNsYXNzPSJwcHYtdGFnZS10aXRlbCI+TsOkY2hzdGUgMTQgVGFnZTwvZGl2Picg +KwogICAgICAgICc8ZGl2IGNsYXNzPSJwcHYtdGFnZSI+JyArIHRhZ2VIdG1sICsgJzwvZGl2Pic7 +Cn0KCmZ1bmN0aW9uIHBwX3Bvc2l0aW9uaWVyZW4ocG9wb3ZlciwgYW5rZXIpIHsKICAgIHZhciBh +ciA9IGFua2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgdmFyIHZ3ID0gd2luZG93Lmlu +bmVyV2lkdGg7CiAgICB2YXIgdmggPSB3aW5kb3cuaW5uZXJIZWlnaHQ7CiAgICAvLyBQb3BvdmVy +IHVuc2ljaHRiYXIgbWVzc2VuLCBkYW5uIHBvc2l0aW9uaWVyZW4KICAgIHBvcG92ZXIuY2xhc3NM +aXN0LnJlbW92ZSgndmVyc3RlY2t0Jyk7CiAgICBwb3BvdmVyLnN0eWxlLnZpc2liaWxpdHkgPSAn +aGlkZGVuJzsKICAgIHZhciBwdyA9IHBvcG92ZXIub2Zmc2V0V2lkdGg7CiAgICB2YXIgcGggPSBw +b3BvdmVyLm9mZnNldEhlaWdodDsKICAgIHZhciByYW5kID0gODsKICAgIC8vIEJldm9yenVndCBy +ZWNodHMgbmViZW4gZGVtIEFua2VyLCBzb25zdCBsaW5rcwogICAgdmFyIGxlZnQgPSBhci5yaWdo +dCArIHJhbmQ7CiAgICBpZiAobGVmdCArIHB3ID4gdncgLSA2KSBsZWZ0ID0gYXIubGVmdCAtIHB3 +IC0gcmFuZDsKICAgIGlmIChsZWZ0IDwgNikgbGVmdCA9IDY7CiAgICAvLyBWZXJ0aWthbDogdG9w +IGFtIEFua2VyLCBhYmVyIG5pY2h0IGFiZ2VzY2huaXR0ZW4KICAgIHZhciB0b3AgPSBhci50b3A7 +CiAgICBpZiAodG9wICsgcGggPiB2aCAtIDYpIHRvcCA9IHZoIC0gcGggLSA2OwogICAgaWYgKHRv +cCA8IDYpIHRvcCA9IDY7CiAgICBwb3BvdmVyLnN0eWxlLmxlZnQgPSBNYXRoLnJvdW5kKGxlZnQp +ICsgJ3B4JzsKICAgIHBvcG92ZXIuc3R5bGUudG9wICA9IE1hdGgucm91bmQodG9wKSAgKyAncHgn +OwogICAgcG9wb3Zlci5zdHlsZS52aXNpYmlsaXR5ID0gJyc7Cn0KCmV4cG9ydCBmdW5jdGlvbiBw +ZXJzb25Qb3BvdmVyWmVpZ2VuKHBlcnNvbklkLCBhbmtlckVsKSB7CiAgICBpZiAocHBfdmVyc3Rl +Y2tUaW1lcikgeyBjbGVhclRpbWVvdXQocHBfdmVyc3RlY2tUaW1lcik7IHBwX3ZlcnN0ZWNrVGlt +ZXIgPSBudWxsOyB9CiAgICBpZiAocHBfemVpZ2VUaW1lcikgICB7IGNsZWFyVGltZW91dChwcF96 +ZWlnZVRpbWVyKTsgcHBfemVpZ2VUaW1lciA9IG51bGw7IH0KICAgIHBwX3plaWdlVGltZXIgPSBz +ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgIHBwX3plaWdlVGltZXIgPSBudWxsOwogICAg +ICAgIHZhciBwZXJzb24gPSAoWi5wbGFudW5nLnBlcnNvbmVuIHx8IFtdKS5maW5kKGZ1bmN0aW9u +KHApIHsgcmV0dXJuIFN0cmluZyhwLmlkKSA9PT0gU3RyaW5nKHBlcnNvbklkKTsgfSk7CiAgICAg +ICAgaWYgKCFwZXJzb24pIHJldHVybjsKICAgICAgICB2YXIgcG9wID0gZG9jdW1lbnQuZ2V0RWxl +bWVudEJ5SWQoJ3ZpMy1wZXJzb24tcG9wb3ZlcicpOwogICAgICAgIGlmICghcG9wKSByZXR1cm47 +CiAgICAgICAgcG9wLmlubmVySFRNTCA9IHBwX2h0bWwocGVyc29uKTsKICAgICAgICBwb3Auc2V0 +QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICdmYWxzZScpOwogICAgICAgIHBwX3Bvc2l0aW9uaWVy +ZW4ocG9wLCBhbmtlckVsKTsKICAgIH0sIDM4MCk7Cn0KCmV4cG9ydCBmdW5jdGlvbiBwZXJzb25Q +b3BvdmVyVmVyc3RlY2tlbigpIHsKICAgIGlmIChwcF96ZWlnZVRpbWVyKSB7IGNsZWFyVGltZW91 +dChwcF96ZWlnZVRpbWVyKTsgcHBfemVpZ2VUaW1lciA9IG51bGw7IH0KICAgIGlmIChwcF92ZXJz +dGVja1RpbWVyKSBjbGVhclRpbWVvdXQocHBfdmVyc3RlY2tUaW1lcik7CiAgICBwcF92ZXJzdGVj +a1RpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgcG9wID0gZG9jdW1l +bnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpMy1wZXJzb24tcG9wb3ZlcicpOwogICAgICAgIGlmIChwb3Ap +IHsKICAgICAgICAgICAgcG9wLmNsYXNzTGlzdC5hZGQoJ3ZlcnN0ZWNrdCcpOwogICAgICAgICAg +ICBwb3Auc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJyk7CiAgICAgICAgfQogICAg +fSwgMTIwKTsKfQoKLy8gU2VsZi1TZXJ2aWNlOiBrbGVpbmVzIE1pbmktTW9kYWwgbnVyIGZ1ZXIg +ZGVuIEF2YXRhci1CbG9jayBkZXIgZWlnZW5lbgovLyBQZXJzb24uIFdpcmQgdm9tICJtZWluLWF2 +YXRhci1idG4iIGluIGRlciBUb3BiYXIgZ2V0cmlnZ2VydC4gU2VydmVyLQovLyBzZWl0aWcgaGFi +ZW4gYWxsZSBVc2VyIGRhcyBSZWNodCwgaWhyZW4gZWlnZW5lbiBBdmF0YXIgenUgcGZsZWdlbgov +LyAoUE9TVCAvYXBpL3BlcnNvbmVuLzxlaWdlbmVJZD4vYXZhdGFyIOKAlCBDaGVjayB2aWEgbWVp +bmVQZXJzb25JZCkuCmV4cG9ydCBmdW5jdGlvbiBtZWluUHJvZmlsTW9kYWxPZWZmbmVuKCkgewog +ICAgaWYgKCFaLnJlY2h0ZSB8fCAhWi5yZWNodGUubWVpbmVQZXJzb25JZCkgewogICAgICAgIHRv +YXN0KCdFaWdlbmUgUGVyc29uIG5pY2h0IHp1Z2VvcmRuZXQg4oCUIFByb2ZpbGJpbGQga2FubiBu +aWNodCBnZXBmbGVndCB3ZXJkZW4nLCAnd2FybnVuZycpOwogICAgICAgIHJldHVybjsKICAgIH0K +ICAgIHZhciBpZCA9IFoucmVjaHRlLm1laW5lUGVyc29uSWQ7CiAgICB2YXIgcGVyc29uID0gKFou +cGxhbnVuZy5wZXJzb25lbiB8fCBbXSkuZmluZChmdW5jdGlvbihwKSB7IHJldHVybiBTdHJpbmco +cC5pZCkgPT09IFN0cmluZyhpZCk7IH0pOwogICAgaWYgKCFwZXJzb24pIHsgdG9hc3QoJ0VpZ2Vu +ZSBQZXJzb24gbmljaHQgaW4gZGVyIFBlcnNvbmFsbGlzdGUgZ2VmdW5kZW4nLCAnd2FybnVuZycp +OyByZXR1cm47IH0KCiAgICB2YXIga29lcnBlciA9IGF2YXRhckJsb2NrSHRtbChwZXJzb24pICsK +ICAgICAgICAnPGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRl +ZCk7bWFyZ2luLXRvcDo0cHgiPicgKwogICAgICAgICAgICAnSGllciBrYW5uc3QgZHUgZGVpbiBQ +cm9maWxiaWxkIGhvY2hsYWRlbiBvZGVyIGVudGZlcm5lbi4gQW5kZXJlIFN0YW1tZGF0ZW4gJyAr +CiAgICAgICAgICAgICdwZmxlZ3QgZGllIEFkbWluaXN0cmF0aW9uIMO8YmVyIGRpZSBQZXJzb25h +bHZlcndhbHR1bmcuJyArCiAgICAgICAgJzwvZGl2Pic7CiAgICBtb2RhbFplaWdlbignTWVpbiBQ +cm9maWwg4oCUICcgKyAoKHBlcnNvbi52b3JuYW1lIHx8ICcnKSArICcgJyArIHBlcnNvbi5uYW1l +KS50cmltKCksIGtvZXJwZXIsCiAgICAgICAgJzxidXR0b24gY2xhc3M9ImJ0biBidG4tcHJpbWFl +ciIgdHlwZT0iYnV0dG9uIiBpZD0icHJvZmlsLXNjaGxpZXNzZW4iPlNjaGxpZcOfZW48L2J1dHRv +bj4nLAogICAgICAgIG51bGwsIG51bGwsIHsgcmVpbmVyRGlhbG9nOiB0cnVlIH0pOwogICAgYXZh +dGFyVXBsb2FkSGFuZGxlckJpbmRlbihwZXJzb24sIGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBh +dkJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtZWluLWF2YXRhci1idG4nKTsKICAgICAg +ICBpZiAoYXZCdG4pIGF2QnRuLmlubmVySFRNTCA9IGF2YXRhcktyZWlzSHRtbChwZXJzb24sIDI4 +KTsKICAgIH0pOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Byb2ZpbC1zY2hsaWVzc2Vu +JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsgbW9kYWxTY2hsaWVzc2Vu +KHRydWUpOyB9KTsKfQoKLy8gQmVmdWVsbHQgZGVuIFRvcGJhci1BdmF0YXIgbWl0IGRlbSBha3R1 +ZWxsZW4gQmlsZCBkZXIgZWluZ2Vsb2dndGVuIFBlcnNvbi4KLy8gV2lyZCBiZWltIExvZ2luICsg +bmFjaCBqZWRlbSBBdmF0YXItVXBsb2FkIGF1ZmdlcnVmZW4uCmV4cG9ydCBmdW5jdGlvbiBtZWlu +QXZhdGFyVG9wYmFyQWt0dWFsaXNpZXJlbigpIHsKICAgIHZhciBidG4gPSBkb2N1bWVudC5nZXRF +bGVtZW50QnlJZCgnbWVpbi1hdmF0YXItYnRuJyk7CiAgICBpZiAoIWJ0bikgcmV0dXJuOwogICAg +aWYgKCFaLnJlY2h0ZSB8fCAhWi5yZWNodGUubWVpbmVQZXJzb25JZCkgewogICAgICAgIGJ0bi5j +bGFzc0xpc3QuYWRkKCd2ZXJzdGVja3QnKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICB2YXIg +cGVyc29uID0gKFoucGxhbnVuZy5wZXJzb25lbiB8fCBbXSkuZmluZChmdW5jdGlvbihwKSB7IHJl +dHVybiBTdHJpbmcocC5pZCkgPT09IFN0cmluZyhaLnJlY2h0ZS5tZWluZVBlcnNvbklkKTsgfSk7 +CiAgICBpZiAoIXBlcnNvbikgeyBidG4uY2xhc3NMaXN0LmFkZCgndmVyc3RlY2t0Jyk7IHJldHVy +bjsgfQogICAgYnRuLmNsYXNzTGlzdC5yZW1vdmUoJ3ZlcnN0ZWNrdCcpOwogICAgYnRuLmlubmVy +SFRNTCA9IGF2YXRhcktyZWlzSHRtbChwZXJzb24sIDI4KTsKfQoKZnVuY3Rpb24gYXZhdGFyQmxv +Y2tIdG1sKHBlcnNvbikgewogICAgdmFyIGhhdEJpbGQgPSAhIXBlcnNvbi5hdmF0YXJUczsKICAg +IHZhciBkYXJmRWRpdGllcmVuID0gWi5yZWNodGUgJiYgKAogICAgICAgIFoucmVjaHRlLmlzdFN1 +cGVyVXNlciB8fAogICAgICAgIFoucmVjaHRlLmlzdEZhY2hhdWZzaWNodCB8fAogICAgICAgICha +LnJlY2h0ZS5tZWluZVBlcnNvbklkICYmIFN0cmluZyhaLnJlY2h0ZS5tZWluZVBlcnNvbklkKSA9 +PT0gU3RyaW5nKHBlcnNvbi5pZCkpCiAgICApOwogICAgcmV0dXJuICc8ZGl2IGNsYXNzPSJkbGct +YXZhdGFyLWJsb2NrIj4nICsKICAgICAgICAnPGRpdiBpZD0iZGxnLWF2YXRhci12b3JzY2hhdSIg +Y2xhc3M9ImRsZy1hdmF0YXItdm9yc2NoYXUiPicgKyBhdmF0YXJLcmVpc0h0bWwocGVyc29uLCA3 +MikgKyAnPC9kaXY+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9ImRsZy1hdmF0YXItYWt0aW9uZW4i +PicgKwogICAgICAgICAgICAnPGRpdiBjbGFzcz0iZGxnLWF2YXRhci1uYW1lIj4nICsgZXNjYXBl +SFRNTCgoKHBlcnNvbi52b3JuYW1lIHx8ICcnKSArICcgJyArIChwZXJzb24ubmFtZSB8fCAnJykp +LnRyaW0oKSB8fCAnUGVyc29uJykgKyAnPC9kaXY+JyArCiAgICAgICAgICAgIChkYXJmRWRpdGll +cmVuCiAgICAgICAgICAgICAgICA/ICc8aW5wdXQgdHlwZT0iZmlsZSIgaWQ9ImRsZy1hdmF0YXIt +ZmlsZSIgYWNjZXB0PSJpbWFnZS9qcGVnLGltYWdlL3BuZyxpbWFnZS93ZWJwIiBzdHlsZT0iZGlz +cGxheTpub25lIj4nICsKICAgICAgICAgICAgICAgICAgJzxidXR0b24gdHlwZT0iYnV0dG9uIiBp +ZD0iZGxnLWF2YXRhci11cGxvYWQiIGNsYXNzPSJidG4gYnRuLXNlayBidG4ta2xlaW4iPicgKyAo +aGF0QmlsZCA/ICdCaWxkIMOkbmRlcm4nIDogJ0JpbGQgaG9jaGxhZGVuJykgKyAnPC9idXR0b24+ +JyArCiAgICAgICAgICAgICAgICAgIChoYXRCaWxkID8gJzxidXR0b24gdHlwZT0iYnV0dG9uIiBp +ZD0iZGxnLWF2YXRhci1sb2VzY2hlbiIgY2xhc3M9ImJ0biBidG4tc2VrIGJ0bi1rbGVpbiI+Qmls +ZCBlbnRmZXJuZW48L2J1dHRvbj4nIDogJycpCiAgICAgICAgICAgICAgICA6ICc8ZGl2IGNsYXNz +PSJkbGctYXZhdGFyLWhpbndlaXMiPlByb2ZpbGJpbGQtUGZsZWdlIGlzdCBkZWFrdGl2aWVydCAo +a2VpbmUgQmVyZWNodGlndW5nKS48L2Rpdj4nKSArCiAgICAgICAgJzwvZGl2PicgKwogICAgJzwv +ZGl2Pic7Cn0KCi8vIFNrYWxpZXJ0IGVpbiBGaWxlIGF1ZiAoa29uZmlndXJpZXJiYXJlcykgTnhO +LVF1YWRyYXQgcGVyIGNlbnRlci1jcm9wCi8vIHVuZCBnaWJ0IGVpbmUgSlBFRy1EYXRhLVVSTCB6 +dXJ1ZWNrLiBaaWVsZ3JvZXNzZSBzdGV1ZXJ0Ci8vIFouYWRtaW4uYXZhdGFyR3JvZXNzZSAoRGVm +YXVsdCAyMDApLiBTZXJ2ZXIgcHJ1ZWZ0IHp1c2FldHpsaWNoIGRlbgovLyAyNTAtS0ItQnl0ZS1D +YXA7IGRhbWl0IGlzdCBhdWNoIGJlaSA2MDAgcHggZGllIERhdGVpIGtsZWluIGdlbnVnLgpmdW5j +dGlvbiBhdmF0YXJTa2FsaWVyZW4oZmlsZSkgewogICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0 +aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgIGlmICghZmlsZSkgeyByZWplY3QobmV3IEVy +cm9yKCdLZWluIEZpbGUnKSk7IHJldHVybjsgfQogICAgICAgIGlmIChmaWxlLnNpemUgPiA4ICog +MTAyNCAqIDEwMjQpIHsgcmVqZWN0KG5ldyBFcnJvcignRGF0ZWkgenUgZ3Jvc3MgKG1heCA4IE1C +IE9yaWdpbmFsKScpKTsgcmV0dXJuOyB9CiAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBGaWxlUmVh +ZGVyKCk7CiAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsgcmVqZWN0KG5ldyBF +cnJvcignRGF0ZWkga29ubnRlIG5pY2h0IGdlbGVzZW4gd2VyZGVuJykpOyB9OwogICAgICAgIHJl +YWRlci5vbmxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciBpbWcgPSBuZXcgSW1h +Z2UoKTsKICAgICAgICAgICAgaW1nLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsgcmVqZWN0KG5ldyBF +cnJvcignS2VpbiBnw7xsdGlnZXMgQmlsZCcpKTsgfTsKICAgICAgICAgICAgaW1nLm9ubG9hZCA9 +IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHppZWwgPSBwYXJzZUludCgoWi5hZG1p +biAmJiBaLmFkbWluLmF2YXRhckdyb2Vzc2UpLCAxMCk7CiAgICAgICAgICAgICAgICBpZiAoaXNO +YU4oemllbCkgfHwgemllbCA8IDEwMCkgemllbCA9IDIwMDsKICAgICAgICAgICAgICAgIGVsc2Ug +aWYgKHppZWwgPiA2MDApIHppZWwgPSA2MDA7CiAgICAgICAgICAgICAgICB2YXIgY2FudmFzID0g +ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiAgICAgICAgICAgICAgICBjYW52YXMu +d2lkdGggPSB6aWVsOyBjYW52YXMuaGVpZ2h0ID0gemllbDsKICAgICAgICAgICAgICAgIHZhciBj +dHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKICAgICAgICAgICAgICAgIC8vIENlbnRlci1D +cm9wOiBrbGVpbmVyZSBEaW1lbnNpb24gZGVmaW5pZXJ0IGRhcyBRdWFkcmF0CiAgICAgICAgICAg +ICAgICB2YXIgc3JjID0gTWF0aC5taW4oaW1nLndpZHRoLCBpbWcuaGVpZ2h0KTsKICAgICAgICAg +ICAgICAgIHZhciBzeCA9IChpbWcud2lkdGggIC0gc3JjKSAvIDI7CiAgICAgICAgICAgICAgICB2 +YXIgc3kgPSAoaW1nLmhlaWdodCAtIHNyYykgLyAyOwogICAgICAgICAgICAgICAgY3R4LmZpbGxT +dHlsZSA9ICcjZmZmJzsKICAgICAgICAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCB6aWVsLCB6 +aWVsKTsKICAgICAgICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoaW1nLCBzeCwgc3ksIHNyYywgc3Jj +LCAwLCAwLCB6aWVsLCB6aWVsKTsKICAgICAgICAgICAgICAgIHJlc29sdmUoY2FudmFzLnRvRGF0 +YVVSTCgnaW1hZ2UvanBlZycsIDAuODUpKTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgaW1n +LnNyYyA9IGUudGFyZ2V0LnJlc3VsdDsKICAgICAgICB9OwogICAgICAgIHJlYWRlci5yZWFkQXNE +YXRhVVJMKGZpbGUpOwogICAgfSk7Cn0KCmZ1bmN0aW9uIGF2YXRhclVwbG9hZEhhbmRsZXJCaW5k +ZW4ocGVyc29uLCByZWZyZXNoSG9vaykgewogICAgdmFyIGZpbGVJbnAgPSBkb2N1bWVudC5nZXRF +bGVtZW50QnlJZCgnZGxnLWF2YXRhci1maWxlJyk7CiAgICB2YXIgYnRuVXAgICA9IGRvY3VtZW50 +LmdldEVsZW1lbnRCeUlkKCdkbGctYXZhdGFyLXVwbG9hZCcpOwogICAgdmFyIGJ0bkRlbCAgPSBk +b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGxnLWF2YXRhci1sb2VzY2hlbicpOwogICAgdmFyIHZv +cnNjaGF1ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RsZy1hdmF0YXItdm9yc2NoYXUnKTsK +ICAgIGlmIChidG5VcCAmJiBmaWxlSW5wKSB7CiAgICAgICAgYnRuVXAuYWRkRXZlbnRMaXN0ZW5l +cignY2xpY2snLCBmdW5jdGlvbigpIHsgZmlsZUlucC5jbGljaygpOyB9KTsKICAgICAgICBmaWxl +SW5wLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2 +YXIgZmlsZSA9IGZpbGVJbnAuZmlsZXMgJiYgZmlsZUlucC5maWxlc1swXTsKICAgICAgICAgICAg +aWYgKCFmaWxlKSByZXR1cm47CiAgICAgICAgICAgIGF2YXRhclNrYWxpZXJlbihmaWxlKS50aGVu +KGZ1bmN0aW9uKGRhdGFVcmwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBhcGlQb3N0KCcvYXBp +L3BlcnNvbmVuLycgKyBwZXJzb24uaWQgKyAnL2F2YXRhcicsIHsgZGF0YVVybDogZGF0YVVybCB9 +KTsKICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHBlcnNv +bi5hdmF0YXJUcyA9IERhdGUubm93KCk7CiAgICAgICAgICAgICAgICBpZiAodm9yc2NoYXUpIHZv +cnNjaGF1LmlubmVySFRNTCA9IGF2YXRhcktyZWlzSHRtbChwZXJzb24sIDcyKTsKICAgICAgICAg +ICAgICAgIGlmIChidG5VcCkgYnRuVXAudGV4dENvbnRlbnQgPSAnQmlsZCDDpG5kZXJuJzsKICAg +ICAgICAgICAgICAgIHBlcnNvbmVuTmV1QXVmYmF1ZW4oKTsKICAgICAgICAgICAgICAgIHBlcnNv +bmFsVGFiZWxsZVJlbmRlcm4oKTsKICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgbmFtZW5SZW5k +ZXJuID09PSAnZnVuY3Rpb24nKSBuYW1lblJlbmRlcm4oKTsKICAgICAgICAgICAgICAgIGlmIChy +ZWZyZXNoSG9vaykgcmVmcmVzaEhvb2soKTsKICAgICAgICAgICAgICAgIHRvYXN0KCdQcm9maWxi +aWxkIGdlc3BlaWNoZXJ0JywgJ2VyZm9sZycpOwogICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlv +bihlKSB7CiAgICAgICAgICAgICAgICB0b2FzdCgnRmVobGVyOiAnICsgKGUgJiYgZS5tZXNzYWdl +IHx8IGUpLCAnZmVobGVyJyk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgfQogICAg +aWYgKGJ0bkRlbCkgewogICAgICAgIGJ0bkRlbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1 +bmN0aW9uKCkgewogICAgICAgICAgICBhcGlEZWxldGUoJy9hcGkvcGVyc29uZW4vJyArIHBlcnNv +bi5pZCArICcvYXZhdGFyJykudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHBlcnNv +bi5hdmF0YXJUcyA9IG51bGw7CiAgICAgICAgICAgICAgICBpZiAodm9yc2NoYXUpIHZvcnNjaGF1 +LmlubmVySFRNTCA9IGF2YXRhcktyZWlzSHRtbChwZXJzb24sIDcyKTsKICAgICAgICAgICAgICAg +IGlmIChidG5EZWwpIGJ0bkRlbC5yZW1vdmUoKTsKICAgICAgICAgICAgICAgIGlmIChidG5VcCkg +YnRuVXAudGV4dENvbnRlbnQgPSAnQmlsZCBob2NobGFkZW4nOwogICAgICAgICAgICAgICAgcGVy +c29uZW5OZXVBdWZiYXVlbigpOwogICAgICAgICAgICAgICAgcGVyc29uYWxUYWJlbGxlUmVuZGVy +bigpOwogICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBuYW1lblJlbmRlcm4gPT09ICdmdW5jdGlv +bicpIG5hbWVuUmVuZGVybigpOwogICAgICAgICAgICAgICAgaWYgKHJlZnJlc2hIb29rKSByZWZy +ZXNoSG9vaygpOwogICAgICAgICAgICAgICAgdG9hc3QoJ1Byb2ZpbGJpbGQgZW50ZmVybnQnLCAn +ZXJmb2xnJyk7CiAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAg +ICAgIHRvYXN0KCdGZWhsZXI6ICcgKyAoZSAmJiBlLm1lc3NhZ2UgfHwgZSksICdmZWhsZXInKTsK +ICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9Cn0KCi8vID09PT09IFZJMy1ER0wtVG9n +Z2xlIGltIFBlcnNvbi1Nb2RhbCA9PT09PQovLyBWaXN1ZWxsZSBWYXJpYW50ZSBkZXMgU3RhdHVz +LUJ1dHRvbnMgYXVzIGRlciBQZXJzb25hbC1UYWJlbGxlOgovLyBncm9zc2Uga2xpY2tiYXJlIEth +cnRlIG1pdCBncnVlbmVtIEhha2VuIG9kZXIgcm90ZW0gUXVlcmJhbGtlbiBwbHVzCi8vIEtsYXJ0 +ZXh0LVN0YXR1cy4gSGlkZGVuIENoZWNrYm94ICNkbGctZWxkZ2wgaGFlbHQgZGVuIFN0YXRlIChT +YXZlLQovLyBIYW5kbGVyIGxpZXN0IC5jaGVja2VkIHdpZSB6dXZvciDigJQga2VpbiBCcnVjaCku +CmZ1bmN0aW9uIGVsZGdsVG9nZ2xlSHRtbChha3RpdikgewogICAgdmFyIG9rID0gISFha3RpdjsK +ICAgIHJldHVybiAnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJkbGctZWxkZ2wtdG9nZ2xlIiBj +bGFzcz0iZGxnLWVsZGdsLXRvZ2dsZSAnICsgKG9rID8gJ2FrdGl2JyA6ICdpbmFrdGl2JykgKyAn +IiBhcmlhLXByZXNzZWQ9IicgKyAob2sgPyAndHJ1ZScgOiAnZmFsc2UnKSArICciPicgKwogICAg +ICAgICc8c3BhbiBjbGFzcz0idmkzZGdsLWJ0biAnICsgKG9rID8gJ3ZpM2RnbC1idG4tb2snIDog +J3ZpM2RnbC1idG4tbm8nKSArICciPjwvc3Bhbj4nICsKICAgICAgICAnPHNwYW4gY2xhc3M9ImRs +Zy1lbGRnbC10ZXh0Ij4nICsKICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJkbGctZWxkZ2wtc3Rh +dHVzIj4nICsgKG9rID8gJ3F1YWxpZml6aWVydCcgOiAnbmljaHQgcXVhbGlmaXppZXJ0JykgKyAn +PC9zcGFuPicgKwogICAgICAgICAgICAnPHNwYW4gY2xhc3M9ImRsZy1lbGRnbC1oaW50Ij5LbGlj +a2VuIHp1bSAnICsgKG9rID8gJ0F1ZmhlYmVuJyA6ICdBa3RpdmllcmVuJykgKyAnPC9zcGFuPicg +KwogICAgICAgICc8L3NwYW4+JyArCiAgICAnPC9idXR0b24+JyArCiAgICAnPGlucHV0IHR5cGU9 +ImNoZWNrYm94IiBpZD0iZGxnLWVsZGdsIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7bGVmdDot +OTk5OXB4IicgKyAob2sgPyAnIGNoZWNrZWQnIDogJycpICsgJz4nOwp9CgovLyBDbGljay1IYW5k +bGVyIGZ1ZXIgZGVuIFRvZ2dsZS1CdXR0b24uIFdpcmQgbmFjaCBtb2RhbFplaWdlbigpIGltCi8v +IFBlcnNvbi1Nb2RhbCBhbmdlaGFlbmd0LiBUb2dnbGV0IGhpZGRlbiBDaGVja2JveCArIHZpc3Vl +bGxlIEtsYXNzZW4uCmZ1bmN0aW9uIGVsZGdsVG9nZ2xlTGlzdGVuZXJCaW5kZW4oKSB7CiAgICB2 +YXIgYnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RsZy1lbGRnbC10b2dnbGUnKTsKICAg +IHZhciBjaGsgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGxnLWVsZGdsJyk7CiAgICBpZiAo +IWJ0biB8fCAhY2hrKSByZXR1cm47CiAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBm +dW5jdGlvbigpIHsKICAgICAgICBjaGsuY2hlY2tlZCA9ICFjaGsuY2hlY2tlZDsKICAgICAgICAv +LyBNb2RhbC1EaXJ0eS1UcmFja2luZzogbWFudWVsbGVzIGNoYW5nZS1FdmVudCwgd2VpbCB3aXIg +ZGllCiAgICAgICAgLy8gQ2hlY2tib3ggcHJvZ3JhbW1hdGlzY2ggdG9nZ2xlbiAoa2VpbiBVc2Vy +LUlucHV0LUV2ZW50KS4KICAgICAgICBjaGsuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2NoYW5n +ZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7CiAgICAgICAgdmFyIG9rID0gY2hrLmNoZWNrZWQ7CiAg +ICAgICAgYnRuLmNsYXNzTGlzdC50b2dnbGUoJ2FrdGl2Jywgb2spOwogICAgICAgIGJ0bi5jbGFz +c0xpc3QudG9nZ2xlKCdpbmFrdGl2JywgIW9rKTsKICAgICAgICBidG4uc2V0QXR0cmlidXRlKCdh +cmlhLXByZXNzZWQnLCBvayA/ICd0cnVlJyA6ICdmYWxzZScpOwogICAgICAgIHZhciBxdWFkID0g +YnRuLnF1ZXJ5U2VsZWN0b3IoJy52aTNkZ2wtYnRuJyk7CiAgICAgICAgaWYgKHF1YWQpIHsKICAg +ICAgICAgICAgcXVhZC5jbGFzc0xpc3QudG9nZ2xlKCd2aTNkZ2wtYnRuLW9rJywgb2spOwogICAg +ICAgICAgICBxdWFkLmNsYXNzTGlzdC50b2dnbGUoJ3ZpM2RnbC1idG4tbm8nLCAhb2spOwogICAg +ICAgIH0KICAgICAgICB2YXIgc3RhdHVzID0gYnRuLnF1ZXJ5U2VsZWN0b3IoJy5kbGctZWxkZ2wt +c3RhdHVzJyk7CiAgICAgICAgaWYgKHN0YXR1cykgc3RhdHVzLnRleHRDb250ZW50ID0gb2sgPyAn +cXVhbGlmaXppZXJ0JyA6ICduaWNodCBxdWFsaWZpemllcnQnOwogICAgICAgIHZhciBoaW50ID0g +YnRuLnF1ZXJ5U2VsZWN0b3IoJy5kbGctZWxkZ2wtaGludCcpOwogICAgICAgIGlmIChoaW50KSBo +aW50LnRleHRDb250ZW50ID0gJ0tsaWNrZW4genVtICcgKyAob2sgPyAnQXVmaGViZW4nIDogJ0Fr +dGl2aWVyZW4nKTsKICAgIH0pOwp9CgovLyA9PT09PSBHZWJ1cnRzdGFnLUF1c3dhaGwgYWxzIEJ1 +dHRvbi1HcmlkLU1vZGFsID09PT09Ci8vCi8vIDMxIFRhZy1CdXR0b25zICg1LXplaWxpZywgNy1z +cGFsdGlnKSArIDEyIE1vbmF0LUJ1dHRvbnMgKDN4NCkgKyAzNyBKYWhyLQovLyBCdXR0b25zIGZ1 +ZXIgMTk2NC0yMDAwICg1eDgpLiBBa3R1ZWxsIGdld2FlaGx0ZSBCdXR0b25zIHNpbmQgaGVydm9y +LQovLyBnZWhvYmVuLiBEaXJ0eS1UcmFja2luZyBudXR6dCBkYXMgZWluZ2ViYXV0ZSBNb2RhbC1T +eXN0ZW0gKFoubW9kYWxEaXJ0eQovLyArIG1vZGFsRGlydHlCZXN0YWV0aWd1bmdaZWlnZW4gYmVp +bSBTY2hsaWVzc2VuKS4KCnZhciBHQl9KQUhSRV9WT04gPSAxOTY0Owp2YXIgR0JfSkFIUkVfQklT +ID0gMjAwMDsKdmFyIEdCX01PTkFURSA9IFsnSmFuJywnRmViJywnTcOkcicsJ0FwcicsJ01haScs +J0p1bicsJ0p1bCcsJ0F1ZycsJ1NlcCcsJ09rdCcsJ05vdicsJ0RleiddOwovLyBNb2R1bC1TdGF0 +ZTogbnVyIHdhZWhyZW5kIGRhcyBNb2RhbCBvZmZlbiBpc3QgZ2VzZXR6dC4gQ2xpY2stSGFuZGxl +ciBpbgovLyBhcHAuanMgbGllc3QgaGllciBhYi4KZXhwb3J0IHZhciBnZWJ1cnRzdGFnTW9kYWxT +dGF0ZSA9IHsgb2ZmZW46IGZhbHNlLCBwZXJzb25JZDogbnVsbCwgd2VydGU6IHsgdGFnOiBudWxs +LCBtb25hdDogbnVsbCwgamFocjogbnVsbCB9LCB1cnNwcnVuZzogJycgfTsKCmZ1bmN0aW9uIGdi +UGFkKG4pIHsgcmV0dXJuIG4gPCAxMCA/ICcwJyArIG4gOiAnJyArIG47IH0KCmZ1bmN0aW9uIGdi +UGFyc2VEYXR1bShzdHIpIHsKICAgIGlmICghc3RyIHx8IHN0ci5sZW5ndGggPCAxMCkgcmV0dXJu +IHsgdGFnOiBudWxsLCBtb25hdDogbnVsbCwgamFocjogbnVsbCB9OwogICAgdmFyIHQgPSBzdHIu +c3BsaXQoJy0nKTsKICAgIHJldHVybiB7CiAgICAgICAgamFocjogIHBhcnNlSW50KHRbMF0sIDEw +KSB8fCBudWxsLAogICAgICAgIG1vbmF0OiBwYXJzZUludCh0WzFdLCAxMCkgfHwgbnVsbCwKICAg +ICAgICB0YWc6ICAgcGFyc2VJbnQodFsyXSwgMTApIHx8IG51bGwKICAgIH07Cn0KCmZ1bmN0aW9u +IGdiQnRuR3JpZCh0eXAsIHZvbiwgYmlzLCBsYWJlbHMpIHsKICAgIHZhciBzID0gZ2VidXJ0c3Rh +Z01vZGFsU3RhdGUud2VydGU7CiAgICB2YXIgaHRtbCA9ICcnOwogICAgZm9yICh2YXIgaSA9IHZv +bjsgaSA8PSBiaXM7IGkrKykgewogICAgICAgIHZhciBsYmwgPSBsYWJlbHMgPyBsYWJlbHNbaSAt +IHZvbl0gOiBTdHJpbmcoaSk7CiAgICAgICAgdmFyIGNscyA9ICdnYi1idG4nICsgKHNbdHlwXSA9 +PT0gaSA/ICcgYWt0aXYnIDogJycpOwogICAgICAgIGh0bWwgKz0gJzxidXR0b24gdHlwZT0iYnV0 +dG9uIiBjbGFzcz0iJyArIGNscyArICciIGRhdGEtZ2ItdHlwPSInICsgdHlwICsgJyIgZGF0YS1n +Yi13ZXJ0PSInICsgaSArICciPicgKyBlc2NhcGVIVE1MKGxibCkgKyAnPC9idXR0b24+JzsKICAg +IH0KICAgIHJldHVybiBodG1sOwp9CgpmdW5jdGlvbiBnYkFuemVpZ2UoKSB7CiAgICB2YXIgcyA9 +IGdlYnVydHN0YWdNb2RhbFN0YXRlLndlcnRlOwogICAgaWYgKCFzLnRhZyB8fCAhcy5tb25hdCB8 +fCAhcy5qYWhyKSByZXR1cm4gJzxlbSBzdHlsZT0iY29sb3I6dmFyKC0tdGV4dC1tdXRlZCkiPkJp +dHRlIFRhZywgTW9uYXQgdW5kIEphaHIgYXVzd8OkaGxlbi48L2VtPic7CiAgICByZXR1cm4gJzxz +dHJvbmc+JyArIGdiUGFkKHMudGFnKSArICcuJyArIGdiUGFkKHMubW9uYXQpICsgJy4nICsgcy5q +YWhyICsgJzwvc3Ryb25nPic7Cn0KCmV4cG9ydCBmdW5jdGlvbiBnZWJ1cnRzdGFnTW9kYWxJbmhh +bHRSZW5kZXJuKCkgewogICAgcmV0dXJuICc8ZGl2IGNsYXNzPSJnYi1ha3R1ZWxsIj5HZXfDpGhs +dDogJyArIGdiQW56ZWlnZSgpICsgJzwvZGl2PicgKwogICAgICAgICc8ZGl2IGNsYXNzPSJnYi1z +ZWt0aW9uIj48ZGl2IGNsYXNzPSJnYi1zZWt0aW9uLXRpdGVsIj5UYWc8L2Rpdj4nICsKICAgICAg +ICAgICAgJzxkaXYgY2xhc3M9ImdiLWdyaWQgZ2ItZ3JpZC10YWciPicgKyBnYkJ0bkdyaWQoJ3Rh +ZycsIDEsIDMxKSArICc8L2Rpdj4nICsKICAgICAgICAnPC9kaXY+JyArCiAgICAgICAgJzxkaXYg +Y2xhc3M9ImdiLXNla3Rpb24iPjxkaXYgY2xhc3M9ImdiLXNla3Rpb24tdGl0ZWwiPk1vbmF0PC9k +aXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJnYi1ncmlkIGdiLWdyaWQtbW9uYXQiPicg +KyBnYkJ0bkdyaWQoJ21vbmF0JywgMSwgMTIsIEdCX01PTkFURSkgKyAnPC9kaXY+JyArCiAgICAg +ICAgJzwvZGl2PicgKwogICAgICAgICc8ZGl2IGNsYXNzPSJnYi1zZWt0aW9uIj48ZGl2IGNsYXNz +PSJnYi1zZWt0aW9uLXRpdGVsIj5KYWhyPC9kaXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNz +PSJnYi1ncmlkIGdiLWdyaWQtamFociI+JyArIGdiQnRuR3JpZCgnamFocicsIEdCX0pBSFJFX1ZP +TiwgR0JfSkFIUkVfQklTKSArICc8L2Rpdj4nICsKICAgICAgICAnPC9kaXY+JzsKfQoKZXhwb3J0 +IGZ1bmN0aW9uIGdlYnVydHN0YWdNb2RhbFJlZnJlc2goKSB7CiAgICB2YXIgYyA9IGRvY3VtZW50 +LmdldEVsZW1lbnRCeUlkKCdnYi1tb2RhbC1pbmhhbHQnKTsKICAgIGlmICghYykgcmV0dXJuOwog +ICAgYy5pbm5lckhUTUwgPSBnZWJ1cnRzdGFnTW9kYWxJbmhhbHRSZW5kZXJuKCk7CiAgICBpZiAo +SlNPTi5zdHJpbmdpZnkoZ2VidXJ0c3RhZ01vZGFsU3RhdGUud2VydGUpICE9PSBnZWJ1cnRzdGFn +TW9kYWxTdGF0ZS51cnNwcnVuZykgewogICAgICAgIFoubW9kYWxEaXJ0eSA9IHRydWU7CiAgICB9 +Cn0KCmV4cG9ydCBmdW5jdGlvbiBnZWJ1cnRzdGFnTW9kYWxPZWZmbmVuKGlkKSB7CiAgICB2YXIg +cGVyc29uID0gKFoucGxhbnVuZy5wZXJzb25lbiB8fCBbXSkuZmluZChmdW5jdGlvbihwKSB7IHJl +dHVybiBwLmlkID09PSBpZDsgfSk7CiAgICBpZiAoIXBlcnNvbikgcmV0dXJuOwogICAgdmFyIHRl +aWxlID0gZ2JQYXJzZURhdHVtKHBlcnNvbi5nZWJ1cnRzZGF0dW0gfHwgJycpOwogICAgZ2VidXJ0 +c3RhZ01vZGFsU3RhdGUub2ZmZW4gPSB0cnVlOwogICAgZ2VidXJ0c3RhZ01vZGFsU3RhdGUucGVy +c29uSWQgPSBpZDsKICAgIGdlYnVydHN0YWdNb2RhbFN0YXRlLndlcnRlID0geyB0YWc6IHRlaWxl +LnRhZywgbW9uYXQ6IHRlaWxlLm1vbmF0LCBqYWhyOiB0ZWlsZS5qYWhyIH07CiAgICBnZWJ1cnRz +dGFnTW9kYWxTdGF0ZS51cnNwcnVuZyA9IEpTT04uc3RyaW5naWZ5KGdlYnVydHN0YWdNb2RhbFN0 +YXRlLndlcnRlKTsKCiAgICB2YXIgdGl0ZWwgPSAoKHBlcnNvbi52b3JuYW1lIHx8ICcnKSArICcg +JyArIChwZXJzb24ubmFtZSB8fCAnJykpLnRyaW0oKSB8fCAnUGVyc29uJzsKICAgIHZhciBrb2Vy +cGVyID0gJzxkaXYgaWQ9ImdiLW1vZGFsLWluaGFsdCI+JyArIGdlYnVydHN0YWdNb2RhbEluaGFs +dFJlbmRlcm4oKSArICc8L2Rpdj4nOwogICAgdmFyIGZ1c3MgPQogICAgICAgICc8YnV0dG9uIHR5 +cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biIgaWQ9ImdiLWxvZXNjaGVuIiB0aXRsZT0iR2VidXJ0c2Rh +dHVtIGVudGZlcm5lbiI+TMO2c2NoZW48L2J1dHRvbj4nICsKICAgICAgICAnPHNwYW4gc3R5bGU9 +ImZsZXg6MSI+PC9zcGFuPicgKwogICAgICAgICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9 +ImJ0biIgaWQ9ImdiLWFiYnJlY2hlbiI+QWJicmVjaGVuPC9idXR0b24+JyArCiAgICAgICAgJzxi +dXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1wcmltYWVyIiBpZD0iZGxnLXNwZWlj +aGVybiI+U3BlaWNoZXJuPC9idXR0b24+JzsKCiAgICBtb2RhbFplaWdlbignR2VidXJ0c3RhZyDi +gJQgJyArIHRpdGVsLCBrb2VycGVyLCBmdXNzLCBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgcyA9 +IGdlYnVydHN0YWdNb2RhbFN0YXRlLndlcnRlOwogICAgICAgIGlmICghcy50YWcgfHwgIXMubW9u +YXQgfHwgIXMuamFocikgewogICAgICAgICAgICB0b2FzdCgnQml0dGUgVGFnLCBNb25hdCB1bmQg +SmFociBhdXN3w6RobGVuJywgJ3dhcm51bmcnKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAg +IH0KICAgICAgICAvLyBWYWxpZGllcnVuZzogMzEuMDIgZXRjLiBlcmtlbm5lbgogICAgICAgIHZh +ciBkID0gbmV3IERhdGUocy5qYWhyLCBzLm1vbmF0IC0gMSwgcy50YWcpOwogICAgICAgIGlmIChk +LmdldERhdGUoKSAhPT0gcy50YWcgfHwgZC5nZXRNb250aCgpICE9PSBzLm1vbmF0IC0gMSB8fCBk +LmdldEZ1bGxZZWFyKCkgIT09IHMuamFocikgewogICAgICAgICAgICB0b2FzdCgnVW5nw7xsdGln +ZXMgRGF0dW0gKHouQi4gMzEuIEZlYnJ1YXIpIOKAlCBiaXR0ZSBrb3JyaWdpZXJlbicsICd3YXJu +dW5nJyk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGRhdHVtU3Ry +ID0gcy5qYWhyICsgJy0nICsgZ2JQYWQocy5tb25hdCkgKyAnLScgKyBnYlBhZChzLnRhZyk7CiAg +ICAgICAgYXBpUHV0KCcvYXBpL3BlcnNvbmVuLycgKyBpZCwgeyBnZWJ1cnRzZGF0dW06IGRhdHVt +U3RyIH0pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHBlcnNvbi5nZWJ1cnRzZGF0dW0g +PSBkYXR1bVN0cjsKICAgICAgICAgICAgZ2VidXJ0c3RhZ01vZGFsU3RhdGUub2ZmZW4gPSBmYWxz +ZTsKICAgICAgICAgICAgcGVyc29uYWxUYWJlbGxlUmVuZGVybigpOwogICAgICAgICAgICB0b2Fz +dCgnR2VidXJ0c3RhZyBnZXNwZWljaGVydCcsICdlcmZvbGcnKTsKICAgICAgICAgICAgbW9kYWxT +Y2hsaWVzc2VuKHRydWUpOwogICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsKICAgICAgICAg +ICAgdG9hc3QoJ0ZlaGxlcjogJyArIGUubWVzc2FnZSwgJ2ZlaGxlcicpOwogICAgICAgIH0pOwog +ICAgfSk7CgogICAgLy8gRm9vdGVyLUJ1dHRvbnMgYmluZGVuCiAgICBkb2N1bWVudC5nZXRFbGVt +ZW50QnlJZCgnZ2ItYWJicmVjaGVuJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlv +bigpIHsKICAgICAgICAvLyBtb2RhbFNjaGxpZXNzZW4oKSBsb2VzdCBiZWkgWi5tb2RhbERpcnR5 +IGF1dG9tYXRpc2NoIGRhcwogICAgICAgIC8vIEJlc3RhZXRpZ3VuZ3MtTW9kYWwgYXVzIChTcGVp +Y2hlcm4gLyBWZXJ3ZXJmZW4gLyBBYmJyZWNoZW4pLgogICAgICAgIG1vZGFsU2NobGllc3Nlbigp +OwogICAgfSk7CiAgICB2YXIgbG9lQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2diLWxv +ZXNjaGVuJyk7CiAgICBpZiAobG9lQnRuKSB7CiAgICAgICAgbG9lQnRuLmFkZEV2ZW50TGlzdGVu +ZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGFwaVB1dCgnL2FwaS9wZXJzb25l +bi8nICsgaWQsIHsgZ2VidXJ0c2RhdHVtOiAnJyB9KS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAg +ICAgICAgICAgcGVyc29uLmdlYnVydHNkYXR1bSA9ICcnOwogICAgICAgICAgICAgICAgZ2VidXJ0 +c3RhZ01vZGFsU3RhdGUub2ZmZW4gPSBmYWxzZTsKICAgICAgICAgICAgICAgIHBlcnNvbmFsVGFi +ZWxsZVJlbmRlcm4oKTsKICAgICAgICAgICAgICAgIHRvYXN0KCdHZWJ1cnRzZGF0dW0gZW50ZmVy +bnQnLCAnZXJmb2xnJyk7CiAgICAgICAgICAgICAgICBtb2RhbFNjaGxpZXNzZW4odHJ1ZSk7CiAg +ICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsgdG9hc3QoJ0ZlaGxlcjogJyArIGUubWVz +c2FnZSwgJ2ZlaGxlcicpOyB9KTsKICAgICAgICB9KTsKICAgIH0KfQoKLy8gQ2xpY2stSGFuZGxl +ciBmdWVyIGVpbnplbG5lIFRhZy9Nb25hdC9KYWhyLUJ1dHRvbnMgaW0gTW9kYWwuIFdpcmQgcGVy +Ci8vIEV2ZW50LURlbGVnYXRpb24gaW0gYXBwLmpzIG1vZGFsLUNvbnRhaW5lci1IYW5kbGVyIGF1 +ZmdlcnVmZW4uCmV4cG9ydCBmdW5jdGlvbiBnZWJ1cnRzdGFnTW9kYWxLbGljayh0eXAsIHdlcnQp +IHsKICAgIGlmICghZ2VidXJ0c3RhZ01vZGFsU3RhdGUub2ZmZW4pIHJldHVybjsKICAgIGdlYnVy +dHN0YWdNb2RhbFN0YXRlLndlcnRlW3R5cF0gPSB3ZXJ0OwogICAgZ2VidXJ0c3RhZ01vZGFsUmVm +cmVzaCgpOwp9CgovLyA9PT09PSBBZG1pbjogR2VuZXJpc2NoZXIgSW5saW5lLUVkaXQgZnVlciBi +ZWxpZWJpZ2UgRGF0ZW4tRmVsZGVyID09PT09Ci8vCi8vIE51dHp0IGRhcyBgcGVyc29uYWwtaW5s +aW5lYC1TcGFuLU1hcmt1cCBhdXMgcGVyc29uWmVpbGUgKENoZXJyeS1QaWNrCi8vIGQ0MzQ2MWEs +IGhpbnRlciBUb2dnbGUgYGZlYXR1cmVzLnBlcnNvbmFsSW5saW5lRWRpdGApLiBEb3BwZWxrbGlj +ayBhdWYKLy8gZWluIG1hcmtpZXJ0ZXMgU3BhbiBlcnNldHp0IGVzIGR1cmNoIGVpbiA8aW5wdXQ+ +LCBCbHVyL0VudGVyIHNwZWljaGVydCwKLy8gRXNjYXBlIHJvbGx0IHp1cnVlY2suIFVudGVyc3R1 +ZXR6dGUgZGF0YS10eXAtV2VydGU6ICd0ZXh0JywgJ2RhdGUnLgpleHBvcnQgZnVuY3Rpb24gcGVy +c29uYWxGZWxkSW5saW5lRWRpdChpZCwgc3BhbikgewogICAgaWYgKCFaLnJlY2h0ZSB8fCAhWi5y +ZWNodGUuaXN0U3VwZXJVc2VyKSByZXR1cm47CiAgICB2YXIgcGVyc29uID0gKFoucGxhbnVuZy5w +ZXJzb25lbiB8fCBbXSkuZmluZChmdW5jdGlvbihwKSB7IHJldHVybiBwLmlkID09PSBpZDsgfSk7 +CiAgICBpZiAoIXBlcnNvbikgcmV0dXJuOwogICAgdmFyIGZlbGQgPSBzcGFuLmdldEF0dHJpYnV0 +ZSgnZGF0YS1mZWxkJyk7CiAgICB2YXIgdHlwICA9IHNwYW4uZ2V0QXR0cmlidXRlKCdkYXRhLXR5 +cCcpIHx8ICd0ZXh0JzsKICAgIGlmICghZmVsZCkgcmV0dXJuOwogICAgLy8gR2VidXJ0c2RhdHVt +IG51dHp0IGVpbmVuIGRlZGl6aWVydGVuIEJ1dHRvbi1HcmlkLURpYWxvZyBzdGF0dAogICAgLy8g +SW5saW5lLURhdGUtSW5wdXQgKFVzZXItRmVlZGJhY2sgMjAyNi0wNS0yMykuCiAgICBpZiAoZmVs +ZCA9PT0gJ2dlYnVydHNkYXR1bScpIHsgZ2VidXJ0c3RhZ01vZGFsT2VmZm5lbihpZCk7IHJldHVy +bjsgfQoKICAgIHZhciBha3R1ZWxsZXJXZXJ0ID0gcGVyc29uW2ZlbGRdOwogICAgaWYgKGFrdHVl +bGxlcldlcnQgPT0gbnVsbCkgYWt0dWVsbGVyV2VydCA9ICcnOwoKICAgIHZhciBpbnB1dCA9IGRv +Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CiAgICBpbnB1dC50eXBlID0gdHlwID09PSAn +ZGF0ZScgPyAnZGF0ZScgOiAndGV4dCc7CiAgICBpbnB1dC52YWx1ZSA9IFN0cmluZyhha3R1ZWxs +ZXJXZXJ0KTsKICAgIGlucHV0LmNsYXNzTmFtZSA9ICdwZXJzb25hbC1pbmxpbmUtaW5wdXQnOwog +ICAgaW5wdXQuc3R5bGUuZm9udCA9ICdpbmhlcml0JzsKICAgIGlucHV0LnN0eWxlLnBhZGRpbmcg +PSAnMnB4IDRweCc7CiAgICBpbnB1dC5zdHlsZS53aWR0aCA9IHR5cCA9PT0gJ2RhdGUnID8gJzE0 +MHB4JyA6ICcxMDAlJzsKICAgIHNwYW4ucmVwbGFjZVdpdGgoaW5wdXQpOwogICAgaW5wdXQuZm9j +dXMoKTsKICAgIHRyeSB7IGlucHV0LnNlbGVjdCgpOyB9IGNhdGNoIChlKSB7fQoKICAgIHZhciBh +Ymdlc2NobG9zc2VuID0gZmFsc2U7CiAgICBmdW5jdGlvbiB1ZWJlcm5laG1lbigpIHsKICAgICAg +ICBpZiAoYWJnZXNjaGxvc3NlbikgcmV0dXJuOwogICAgICAgIGFiZ2VzY2hsb3NzZW4gPSB0cnVl +OwogICAgICAgIHZhciBuZXUgPSBpbnB1dC52YWx1ZTsKICAgICAgICBpZiAodHlwICE9PSAnZGF0 +ZScpIG5ldSA9IG5ldS50cmltKCk7CiAgICAgICAgaWYgKFN0cmluZyhuZXUpID09PSBTdHJpbmco +YWt0dWVsbGVyV2VydCB8fCAnJykpIHsKICAgICAgICAgICAgcGVyc29uYWxUYWJlbGxlUmVuZGVy +bigpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHZhciB1cGRhdGUgPSB7 +fTsKICAgICAgICB1cGRhdGVbZmVsZF0gPSBuZXU7CiAgICAgICAgYXBpUHV0KCcvYXBpL3BlcnNv +bmVuLycgKyBpZCwgdXBkYXRlKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICBwZXJzb25b +ZmVsZF0gPSBuZXU7CiAgICAgICAgICAgIHBlcnNvbmVuTmV1QXVmYmF1ZW4oKTsKICAgICAgICAg +ICAgcGVyc29uYWxUYWJlbGxlUmVuZGVybigpOwogICAgICAgICAgICBpZiAodHlwZW9mIG5hbWVu +UmVuZGVybiA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgICAgICAgICAgbmFtZW5SZW5kZXJuKCk7 +CiAgICAgICAgICAgICAgICBkYXRlbkdyaWRSZW5kZXJuKCk7CiAgICAgICAgICAgICAgICBrb3Bm +UmVuZGVybigpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRvYXN0KCdHZXNwZWljaGVydCcs +ICdlcmZvbGcnKTsKICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHRv +YXN0KCdGZWhsZXI6ICcgKyBlLm1lc3NhZ2UsICdmZWhsZXInKTsKICAgICAgICAgICAgcGVyc29u +YWxUYWJlbGxlUmVuZGVybigpOwogICAgICAgIH0pOwogICAgfQogICAgZnVuY3Rpb24gYWJicmVj +aGVuKCkgewogICAgICAgIGlmIChhYmdlc2NobG9zc2VuKSByZXR1cm47CiAgICAgICAgYWJnZXNj +aGxvc3NlbiA9IHRydWU7CiAgICAgICAgcGVyc29uYWxUYWJlbGxlUmVuZGVybigpOwogICAgfQog +ICAgaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGZ1bmN0aW9uKGUpIHsKICAgICAg +ICBpZiAoZS5rZXkgPT09ICdFbnRlcicpICAgICAgIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyB1ZWJl +cm5laG1lbigpOyB9CiAgICAgICAgZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7IGUucHJl +dmVudERlZmF1bHQoKTsgYWJicmVjaGVuKCk7IH0KICAgIH0pOwogICAgaW5wdXQuYWRkRXZlbnRM +aXN0ZW5lcignYmx1cicsIHVlYmVybmVobWVuKTsKfQoKLy8gPT09PT0gQWRtaW46IEUtTWFpbC1B +a3Rpb24gYXVzIGRlciBQZXJzb25hbC1UYWJlbGxlID09PT09CgovLyBLbGVpbmVzIE1vZGFsIG1p +dCB6d2VpIEFrdGlvbmVuOiBBZHJlc3NlIGJlYXJiZWl0ZW4gb2RlciBNYWlsIHNjaHJlaWJlbi4K +Ly8gS2xpY2sgYXVmIGRhcyBPdmVybGF5IHNjaGxpZXNzdCBkYXMgTW9kYWwgKGdsb2JhbCBpbiBt +b2RhbC1vdmVybGF5LUhhbmRsZXIpLgpleHBvcnQgZnVuY3Rpb24gcGVyc29uRW1haWxEaWFsb2co +aWQpIHsKICAgIHZhciBwZXJzb24gPSAoWi5wbGFudW5nLnBlcnNvbmVuIHx8IFtdKS5maW5kKGZ1 +bmN0aW9uKHApIHsgcmV0dXJuIHAuaWQgPT09IGlkOyB9KTsKICAgIGlmICghcGVyc29uKSByZXR1 +cm47CiAgICB2YXIgYWt0dWVsbGUgPSBwZXJzb24uZW1haWwgfHwgJyc7CiAgICB2YXIgdGl0ZWwg +PSAoKHBlcnNvbi52b3JuYW1lIHx8ICcnKSArICcgJyArIChwZXJzb24ubmFtZSB8fCAnJykpLnRy +aW0oKTsKCiAgICB2YXIga29lcnBlciA9CiAgICAgICAgJzxkaXYgY2xhc3M9ImZvcm0tZ3J1cHBl +Ij4nICsKICAgICAgICAgICAgJzxsYWJlbD5IaW50ZXJsZWd0ZSBFLU1haWwtQWRyZXNzZTwvbGFi +ZWw+JyArCiAgICAgICAgICAgICc8aW5wdXQgdHlwZT0iZW1haWwiIGlkPSJwZW1sLWFkcmVzc2Ui +IGNsYXNzPSJmb3JtLWlucHV0IiBzdHlsZT0id2lkdGg6MTAwJSIgdmFsdWU9IicgKyBlc2NhcGVB +dHRyKGFrdHVlbGxlKSArICciIHBsYWNlaG9sZGVyPSJiZWlzcGllbEBwb2xpemVpLm5ydy5kZSI+ +JyArCiAgICAgICAgJzwvZGl2PicgKwogICAgICAgICc8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7 +Z2FwOjEwcHg7bWFyZ2luLXRvcDoxNnB4O2ZsZXgtd3JhcDp3cmFwIj4nICsKICAgICAgICAgICAg +JzxidXR0b24gY2xhc3M9ImJ0biBidG4tcHJpbWFlciIgaWQ9InBlbWwtc3BlaWNoZXJuIj5BZHJl +c3NlIHNwZWljaGVybjwvYnV0dG9uPicgKwogICAgICAgICAgICAnPGJ1dHRvbiBjbGFzcz0iYnRu +IGJ0bi1lcmZvbGciIGlkPSJwZW1sLXNjaHJlaWJlbiInICsgKGFrdHVlbGxlID8gJycgOiAnIGRp +c2FibGVkIHRpdGxlPSJFcnN0IGVpbmUgQWRyZXNzZSBoaW50ZXJsZWdlbiInKSArICc+RS1NYWls +IHNjaHJlaWJlbjwvYnV0dG9uPicgKwogICAgICAgICc8L2Rpdj4nOwoKICAgIG1vZGFsWmVpZ2Vu +KCdFLU1haWwg4oCUICcgKyB0aXRlbCwga29lcnBlciwgJycsIG51bGwpOwoKICAgIGRvY3VtZW50 +LmdldEVsZW1lbnRCeUlkKCdwZW1sLXNwZWljaGVybicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNr +JywgZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIG5ldSA9IChkb2N1bWVudC5nZXRFbGVtZW50QnlJ +ZCgncGVtbC1hZHJlc3NlJykudmFsdWUgfHwgJycpLnRyaW0oKTsKICAgICAgICAvLyBBdXRvLVN1 +ZmZpeDogV2VubiBGZWF0dXJlIGFrdGl2IGlzdCB1bmQgZGllIEVpbmdhYmUga2VpbiAiQCIgZW50 +aGFlbHQsCiAgICAgICAgLy8gaGFlbmdlbiB3aXIgZGllIGluIGRlciBBZG1pbi1Lb25maWcgaGlu +dGVybGVndGUgRG9tYWluIGFuLgogICAgICAgIC8vIChDaGVycnktUGljayAxYjg3Y2Q1LikgRGVm +YXVsdC1Eb21haW4gZmFsbHMgbmljaHRzIGtvbmZpZ3VyaWVydDoKICAgICAgICAvLyAiQHBvbGl6 +ZWkubnJ3LmRlIiAoc2llaGUgYWRtaW4uanNvbi9TZXJ2ZXItQWxsb3dsaXN0KS4KICAgICAgICBp +ZiAobmV1ICYmIGZlYXR1cmVJc3RBa3RpdignZW1haWxBdXRvU3VmZml4JykgJiYgbmV1LmluZGV4 +T2YoJ0AnKSA8IDApIHsKICAgICAgICAgICAgdmFyIGRvbWFpbiA9IChaLmFkbWluICYmIFouYWRt +aW4uZW1haWxBdXRvRG9tYWluKSB8fCAnQHBvbGl6ZWkubnJ3LmRlJzsKICAgICAgICAgICAgaWYg +KGRvbWFpbi5jaGFyQXQoMCkgIT09ICdAJykgZG9tYWluID0gJ0AnICsgZG9tYWluOwogICAgICAg +ICAgICBuZXUgPSBuZXUgKyBkb21haW47CiAgICAgICAgfQogICAgICAgIGlmIChuZXUgJiYgIS9e +W15cc0BdK0BbXlxzQF0rXC5bXlxzQF0rJC8udGVzdChuZXUpKSB7CiAgICAgICAgICAgIHRvYXN0 +KCdVbmfDvGx0aWdlIEUtTWFpbC1BZHJlc3NlJywgJ3dhcm51bmcnKTsKICAgICAgICAgICAgcmV0 +dXJuOwogICAgICAgIH0KICAgICAgICBhcGlQdXQoJy9hcGkvcGVyc29uZW4vJyArIGlkLCB7IGVt +YWlsOiBuZXUgfSkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAgcGVyc29uLmVtYWlsID0g +bmV1OwogICAgICAgICAgICAvLyBmb3JjZT10cnVlOiBkaWUgQWRyZXNzZSBJU1QgZ2VzcGVpY2hl +cnQgLT4gZGlyZWt0IHNjaGxpZXNzZW4sIHNvbnN0CiAgICAgICAgICAgIC8vIHNjaGxhZWd0IGRh +cyBEaXJ0eS1UcmFja2luZyAoVXNlciBoYXQgamEgaW5zIEZlbGQgZ2V0aXBwdCkgZmFlbHNjaC0K +ICAgICAgICAgICAgLy8gbGljaGVyd2Vpc2UgZGllICJVbmdlc3BlaWNoZXJ0ZSDDhG5kZXJ1bmdl +biItUnVlY2tmcmFnZSB2b3IuCiAgICAgICAgICAgIG1vZGFsU2NobGllc3Nlbih0cnVlKTsKICAg +ICAgICAgICAgcGVyc29uYWxUYWJlbGxlUmVuZGVybigpOwogICAgICAgICAgICB0b2FzdChuZXUg +PyAnRS1NYWlsIGdlc3BlaWNoZXJ0JyA6ICdFLU1haWwgZW50ZmVybnQnLCAnZXJmb2xnJyk7CiAg +ICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZSkgeyB0b2FzdCgnRmVobGVyOiAnICsgZS5tZXNzYWdl +LCAnZmVobGVyJyk7IH0pOwogICAgfSk7CgogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Bl +bWwtc2NocmVpYmVuJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAg +ICAgICB2YXIgemllbCA9IChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGVtbC1hZHJlc3NlJyku +dmFsdWUgfHwgJycpLnRyaW0oKTsKICAgICAgICBpZiAoIXppZWwpIHsgdG9hc3QoJ0tlaW5lIEFk +cmVzc2UgaGludGVybGVndCcsICd3YXJudW5nJyk7IHJldHVybjsgfQogICAgICAgIHdpbmRvdy5s +b2NhdGlvbi5ocmVmID0gJ21haWx0bzonICsgZW5jb2RlVVJJQ29tcG9uZW50KHppZWwpOwogICAg +fSk7Cn0K +### FILE: js/admin_rollen.js | 43278 +Ly8gPT09IGFkbWluX3JvbGxlbi5qcyA9PT0KLy8gUGhhc2UgOS1CIEMxOiBhdXMgYWRtaW4uanMg +ZXh0cmFoaWVydC4gVmVyd2FsdGV0IGRpZSB6d2VpIHJvbGxlbi0KLy8gbmFoZW4gQWRtaW4tVGFi +czoKLy8gICAxLiBTdXBlclVzZXItTGlzdGUgKFouYWRtaW4uc3VwZXJVc2VyKQovLyAgIDIuIEZh +Y2hhdWZzaWNodC1MaXN0ZSAoWi5hZG1pbi5mYWNoYXVmc2ljaHQpIGlua2wuIGdyYW51bGFyZSBT +dWItCi8vICAgICAgU2ljaHRiYXJrZWl0IGZ1ZXIgQWRtaW4tU3ViLVRhYnMgKyBTdGF0aXN0aWst +QmVyZWljaGUgdW5kCi8vICAgICAgUGxhbnVuZ3MtUmVjaHRlIChQZXJzb25lbi9HcnVwcGVuL1N0 +YW5kb3J0ZSkuCi8vCi8vIEZlYXR1cmVzLVRvZ2dsZXMgKGZlYXR1cmVzUmVuZGVybi9mZWF0dXJl +SXN0QWt0aXYpIGJsZWliZW4gYmV3dXNzdAovLyBpbiBhZG1pbi5qcyDigJQgQm9vdHN0cmFwLVZl +cmFudHdvcnR1bmcsIGtlaW4gZWlnZW5lcyBSb2xsZW4tS29uemVwdC4KLy8gWmVudHJhbGVyIERp +cnR5LVRyYWNrZXIgKGRpcnR5VHJhY2tlckVpbnJpY2h0ZW4pIGJsZWlidCBlYmVuZmFsbHMKLy8g +aW4gYWRtaW4uanMgKGNyb3NzY3V0dGluZykuCi8vCi8vIFBhc3MtVGhyb3VnaC1SZS1FeHBvcnRz +IGluIGFkbWluLmpzIHN0ZWxsZW4gc2ljaGVyLCBkYXNzIGV4dGVybmUKLy8gS29uc3VtZW50ZW4g +KGFwcC5qcywgc3RhdGlzdGlrLmpzLCDigKYpIHVudmVyYWVuZGVydCBibGVpYmVuLgoKaW1wb3J0 +IHsgWiB9IGZyb20gJy4vY29yZV9zdGF0ZS5qcyc7CmltcG9ydCB7IGVzY2FwZUhUTUwsIGVzY2Fw +ZUF0dHIgfSBmcm9tICcuL2NvcmVfdXRpbC5qcyc7CmltcG9ydCB7IGFwaVB1dCB9IGZyb20gJy4v +Y29yZV9hcGkuanMnOwppbXBvcnQgewogICAgdG9hc3QsCiAgICBtb2RhbFplaWdlbiwgbW9kYWxT +Y2hsaWVzc2VuLAogICAgZGlydHlTZXR6ZW4sIGRpcnR5SXN0Cn0gZnJvbSAnLi91aV9kaWFsb2cu +anMnOwppbXBvcnQgeyB2ZXJhbnR3b3J0dW5nc01haWx0b0ZldWVybiB9IGZyb20gJy4vZW1haWxf +dm9ybGFnZW4uanMnOwppbXBvcnQgeyB0YWJlbGxlRmVsZGVyTGVzZW4gfSBmcm9tICcuL2FkbWlu +X2NvbW1vbi5qcyc7CgovLyA9PT09PSBBZG1pbjogU3VwZXJVc2VyLVZlcndhbHR1bmcgPT09PT0K +CmV4cG9ydCBmdW5jdGlvbiBzdXBlclVzZXJSZW5kZXJuKCkgewogICAgdmFyIG5hdkJ0biA9IGRv +Y3VtZW50LmdldEVsZW1lbnRCeUlkKCduYXYtc3VwZXJ1c2VyJyk7CiAgICBpZiAobmF2QnRuKSBu +YXZCdG4uc3R5bGUuZGlzcGxheSA9IFoucmVjaHRlLmlzdFN1cGVyVXNlciA/ICcnIDogJ25vbmUn +OwoKICAgIHZhciB0Ym9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdXBlcnVzZXItdGJv +ZHknKTsKICAgIHZhciBidG5OZXUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnRuLXN1cGVy +dXNlci1uZXUnKTsKICAgIHZhciBidG5TcGVpY2hlcm4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ +ZCgnYnRuLXN1cGVydXNlci1zcGVpY2hlcm4nKTsKICAgIHZhciBrZWluUmVjaHQgPSBkb2N1bWVu +dC5nZXRFbGVtZW50QnlJZCgnc3VwZXJ1c2VyLWtlaW4tcmVjaHQnKTsKCiAgICBpZiAoIVoucmVj +aHRlLmlzdFN1cGVyVXNlcikgewogICAgICAgIGlmIChidG5OZXUpIGJ0bk5ldS5zdHlsZS5kaXNw +bGF5ID0gJ25vbmUnOwogICAgICAgIGlmIChidG5TcGVpY2hlcm4pIGJ0blNwZWljaGVybi5zdHls +ZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgIGlmIChrZWluUmVjaHQpIGtlaW5SZWNodC5jbGFz +c0xpc3QucmVtb3ZlKCd2ZXJzdGVja3QnKTsKICAgICAgICBpZiAodGJvZHkpIHRib2R5LmlubmVy +SFRNTCA9ICcnOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBpZiAoYnRuTmV1KSBidG5OZXUu +c3R5bGUuZGlzcGxheSA9ICcnOwogICAgaWYgKGJ0blNwZWljaGVybikgYnRuU3BlaWNoZXJuLnN0 +eWxlLmRpc3BsYXkgPSAnJzsKICAgIGlmIChrZWluUmVjaHQpIGtlaW5SZWNodC5jbGFzc0xpc3Qu +YWRkKCd2ZXJzdGVja3QnKTsKCiAgICB2YXIgbGlzdGUgPSBaLmFkbWluLnN1cGVyVXNlciB8fCBb +XTsKICAgIHZhciBodG1sID0gJyc7CiAgICBsaXN0ZS5mb3JFYWNoKGZ1bmN0aW9uKHN1LCBpKSB7 +CiAgICAgICAgaHRtbCArPSAnPHRyPicgKwogICAgICAgICAgICAnPHRkPjxpbnB1dCB0eXBlPSJ0 +ZXh0IiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIoc3UubmFtZSB8fCAnJykgKyAnIiBkYXRhLWlkeD0i +JyArIGkgKyAnIiBkYXRhLWZlbGQ9Im5hbWUiIGNsYXNzPSJzdXBlcnVzZXItaW5wdXQiIHN0eWxl +PSJ3aWR0aDoxMDAlIj48L3RkPicgKwogICAgICAgICAgICAnPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0 +IiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIoc3UubndLZW5udW5nIHx8ICcnKSArICciIGRhdGEtaWR4 +PSInICsgaSArICciIGRhdGEtZmVsZD0ibndLZW5udW5nIiBjbGFzcz0ic3VwZXJ1c2VyLWlucHV0 +IiBzdHlsZT0id2lkdGg6MTAwJSI+PC90ZD4nICsKICAgICAgICAgICAgJzx0ZD48aW5wdXQgdHlw +ZT0idGV4dCIgdmFsdWU9IicgKyBlc2NhcGVBdHRyKHN1Lm9lIHx8ICcnKSArICciIGRhdGEtaWR4 +PSInICsgaSArICciIGRhdGEtZmVsZD0ib2UiIGNsYXNzPSJzdXBlcnVzZXItaW5wdXQiIHBsYWNl +aG9sZGVyPSJ6LkIuIFZJMyBLYW1lbiIgc3R5bGU9IndpZHRoOjEwMCUiPjwvdGQ+JyArCiAgICAg +ICAgICAgICc8dGQ+PGlucHV0IHR5cGU9InRleHQiIHZhbHVlPSInICsgZXNjYXBlQXR0cihzdS50 +ZWxlZm9uIHx8ICcnKSArICciIGRhdGEtaWR4PSInICsgaSArICciIGRhdGEtZmVsZD0idGVsZWZv +biIgY2xhc3M9InN1cGVydXNlci1pbnB1dCIgcGxhY2Vob2xkZXI9InouQi4gNDUyMCIgc3R5bGU9 +IndpZHRoOjEwMCUiPjwvdGQ+JyArCiAgICAgICAgICAgICc8dGQ+PGJ1dHRvbiBjbGFzcz0iYnRu +IGJ0bi1nZWZhaHIgYnRuLWtsZWluIGJ0bi1sb2VzY2hlbiIgZGF0YS1ha3Rpb249InN1cGVydXNl +ci1sb2VzY2hlbiIgZGF0YS1pZHg9IicgKyBpICsgJyIgdGl0bGU9IkzDtnNjaGVuIj5Mw7ZzY2hl +bjwvYnV0dG9uPjwvdGQ+PC90cj4nOwogICAgfSk7CiAgICB0Ym9keS5pbm5lckhUTUwgPSBodG1s +Owp9CgpleHBvcnQgZnVuY3Rpb24gc3VwZXJVc2VyQXVzVGFiZWxsZUxlc2VuKCkgewogICAgcmV0 +dXJuIHRhYmVsbGVGZWxkZXJMZXNlbignc3VwZXJ1c2VyLWlucHV0JykKICAgICAgICAuZmlsdGVy +KGZ1bmN0aW9uKHN1KSB7IHJldHVybiBzdS5uYW1lICYmIHN1Lm53S2VubnVuZzsgfSk7Cn0KCi8v +ID09PT09IEFkbWluOiBGYWNoYXVmc2ljaHQgPT09PT0KLy8gTnVyIFN1cGVyVXNlciBkYXJmIEVp +bnRyYWVnZSBoaWVyIGFlbmRlcm4gKGFuYWxvZyB6dXIgU3VwZXJVc2VyLVZlcndhbHR1bmcpLgov +LyBEYXRlbnN0cnVrdHVyIHBybyBFaW50cmFnOgovLyAgIHsgbmFtZSwgbndLZW5udW5nLCBzZWhl +bjp7YWRtaW5pc3RyYXRpb24sc3RhdGlzdGlrLGxvZ2J1Y2gsYmFja3Vwc30sCi8vICAgICBlZGl0 +aWVyZW46e3BlcnNvbmVuSWRzW10sIGRpZW5zdGdydXBwZW5bXSwgc3RhbmRvcnRlW119IH0KCmV4 +cG9ydCBmdW5jdGlvbiBmYWNoYXVmc2ljaHRSZW5kZXJuKCkgewogICAgdmFyIHRib2R5ID0gZG9j +dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZhY2hhdWZzaWNodC10Ym9keScpOwogICAgdmFyIGJ0bk5l +dSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tZmFjaGF1ZnNpY2h0LW5ldScpOwogICAg +dmFyIGJ0blNwZWljaGVybiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tZmFjaGF1ZnNp +Y2h0LXNwZWljaGVybicpOwogICAgdmFyIGtlaW5SZWNodCA9IGRvY3VtZW50LmdldEVsZW1lbnRC +eUlkKCdmYWNoYXVmc2ljaHQta2Vpbi1yZWNodCcpOwogICAgaWYgKCF0Ym9keSkgcmV0dXJuOwoK +ICAgIGlmICghWi5yZWNodGUuaXN0U3VwZXJVc2VyKSB7CiAgICAgICAgaWYgKGJ0bk5ldSkgYnRu +TmV1LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgaWYgKGJ0blNwZWljaGVybikgYnRu +U3BlaWNoZXJuLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgaWYgKGtlaW5SZWNodCkg +a2VpblJlY2h0LmNsYXNzTGlzdC5yZW1vdmUoJ3ZlcnN0ZWNrdCcpOwogICAgICAgIHRib2R5Lmlu +bmVySFRNTCA9ICcnOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChidG5OZXUpIGJ0bk5l +dS5zdHlsZS5kaXNwbGF5ID0gJyc7CiAgICBpZiAoYnRuU3BlaWNoZXJuKSBidG5TcGVpY2hlcm4u +c3R5bGUuZGlzcGxheSA9ICcnOwogICAgaWYgKGtlaW5SZWNodCkga2VpblJlY2h0LmNsYXNzTGlz +dC5hZGQoJ3ZlcnN0ZWNrdCcpOwoKICAgIHZhciBsaXN0ZSA9IFouYWRtaW4uZmFjaGF1ZnNpY2h0 +IHx8IFtdOwogICAgZnVuY3Rpb24gY2hrKGlkeCwgZmVsZCwgY2hlY2tlZCkgewogICAgICAgIHJl +dHVybiAnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0iZmFjaGF1ZnNpY2h0LWNoayIgZGF0 +YS1pZHg9IicgKyBpZHggKyAnIiBkYXRhLWZlbGQ9IicgKyBmZWxkICsgJyInICsgKGNoZWNrZWQg +PyAnIGNoZWNrZWQnIDogJycpICsgJz4nOwogICAgfQogICAgdmFyIGh0bWwgPSAnJzsKICAgIGxp +c3RlLmZvckVhY2goZnVuY3Rpb24oZmEsIGkpIHsKICAgICAgICB2YXIgcyA9IGZhLnNlaGVuIHx8 +IHt9OwogICAgICAgIHZhciBlZCA9IGZhLmVkaXRpZXJlbiB8fCB7fTsKICAgICAgICB2YXIgcGxh +bkxhYmVsID0gZmFjaGF1ZnNpY2h0UGxhbkxhYmVsKGVkKTsKICAgICAgICAvLyBHcmFudWxhcmUg +U3ViLVNpY2h0LUJ1dHRvbnMgKEZpbmRpbmcgQy45IC8gU3BlYyBGLjIpOiB6ZWlnZW4KICAgICAg +ICAvLyBrb256aXNlIHdpZSB2aWVsZSBBZG1pbi1TdWJ0YWJzIC8gU3RhdGlzdGlrLUJlcmVpY2hl +IHNpY2h0YmFyCiAgICAgICAgLy8gc2luZC4gS2xpY2sgb2VmZm5ldCBqZXdlaWxpZ2VzIERldGFp +bC1Nb2RhbC4KICAgICAgICB2YXIgYWRtaW5MYWJlbCA9IGZhY2hhdWZzaWNodFN1YlNpY2h0TGFi +ZWwoJ2FkbWluJywgZmEuYWRtaW5TaWNodGJhcmtlaXQsIHMuYWRtaW5pc3RyYXRpb24pOwogICAg +ICAgIHZhciBzdGF0TGFiZWwgID0gZmFjaGF1ZnNpY2h0U3ViU2ljaHRMYWJlbCgnc3RhdCcsICBm +YS5zdGF0aXN0aWtTaWNodGJhcmtlaXQsIHMuc3RhdGlzdGlrKTsKCiAgICAgICAgaHRtbCArPSAn +PHRyPicgKwogICAgICAgICAgICAnPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiB2YWx1ZT0iJyArIGVz +Y2FwZUF0dHIoZmEubmFtZSB8fCAnJykgKyAnIiBkYXRhLWlkeD0iJyArIGkgKyAnIiBkYXRhLWZl +bGQ9Im5hbWUiIGNsYXNzPSJmYWNoYXVmc2ljaHQtaW5wdXQiIHN0eWxlPSJ3aWR0aDoxMDAlIj48 +L3RkPicgKwogICAgICAgICAgICAnPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiB2YWx1ZT0iJyArIGVz +Y2FwZUF0dHIoZmEubndLZW5udW5nIHx8ICcnKSArICciIGRhdGEtaWR4PSInICsgaSArICciIGRh +dGEtZmVsZD0ibndLZW5udW5nIiBjbGFzcz0iZmFjaGF1ZnNpY2h0LWlucHV0IiBzdHlsZT0id2lk +dGg6MTAwJSIgcGxhY2Vob2xkZXI9IkRPTUFJTlxcdXNlciBvZGVyIE5XMDUzNjA5Ij48L3RkPicg +KwogICAgICAgICAgICAnPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciI+JyArIGNoayhpLCAn +YWRtaW5pc3RyYXRpb24nLCAhIXMuYWRtaW5pc3RyYXRpb24pICsgJzwvdGQ+JyArCiAgICAgICAg +ICAgICc8dGQgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj4nICsgY2hrKGksICdzdGF0aXN0aWsn +LCAgICAgICEhcy5zdGF0aXN0aWspICsgJzwvdGQ+JyArCiAgICAgICAgICAgICc8dGQgc3R5bGU9 +InRleHQtYWxpZ246Y2VudGVyIj4nICsgY2hrKGksICdsb2didWNoJywgICAgICAgICEhcy5sb2di +dWNoKSArICc8L3RkPicgKwogICAgICAgICAgICAnPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRl +ciI+JyArIGNoayhpLCAnYmFja3VwcycsICAgICAgICAhIXMuYmFja3VwcykgKyAnPC90ZD4nICsK +ICAgICAgICAgICAgJzx0ZCBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIiPicgKwogICAgICAgICAg +ICAgICAgJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9ImZhY2hhdWZzaWNodC1nZXNhbXQt +Y2hrIiBkYXRhLWlkeD0iJyArIGkgKyAnIicgKyAoZmEuZ2VzYW10dmVyYW50d29ydGxpY2ggPyAn +IGNoZWNrZWQnIDogJycpICsgJyB0aXRsZT0iR2VzYW10dmVyYW50d29ydGxpY2ggZsO8ciBkaWUg +QmVzZXR6dW5nIOKAlCBzY2hhbHRldCBkZW4gSGVhZGVyLVRhYiBQcsO8ZnVuZyBmcmVpIj4nICsK +ICAgICAgICAgICAgJzwvdGQ+JyArCiAgICAgICAgICAgICc8dGQ+JyArCiAgICAgICAgICAgICAg +ICAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWsgYnRuLWtsZWluIGZhY2hhdWZzaWNodC1zdWJz +aWNodC1idG4iIGRhdGEtYWt0aW9uPSJmYWNoYXVmc2ljaHQtc3Vic2ljaHQiIGRhdGEtaWR4PSIn +ICsgaSArICciJyArIChzLmFkbWluaXN0cmF0aW9uID8gJycgOiAnIGRpc2FibGVkJykgKyAnIHRp +dGxlPSInICsgZXNjYXBlQXR0cihzLmFkbWluaXN0cmF0aW9uID8gJ1dlbGNoZSBBZG1pbi1TdWIt +VGFicyBkYXJmIGRpZXNlIEZhY2hhdWZzaWNodCBzZWhlbj8nIDogJ0Vyc3QgIkFkbWluIi1Iw6Rr +Y2hlbiBvYmVuIHNldHplbicpICsgJyIgc3R5bGU9IndpZHRoOjEwMCU7dGV4dC1hbGlnbjpsZWZ0 +Ij4nICsgZXNjYXBlSFRNTChhZG1pbkxhYmVsKSArICc8L2J1dHRvbj4nICsKICAgICAgICAgICAg +ICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXNlayBidG4ta2xlaW4gZmFjaGF1ZnNpY2h0LXN1 +YnNpY2h0LWJ0biIgZGF0YS1ha3Rpb249ImZhY2hhdWZzaWNodC1zdGF0c2ljaHQiIGRhdGEtaWR4 +PSInICsgaSArICciJyArIChzLnN0YXRpc3RpayA/ICcnIDogJyBkaXNhYmxlZCcpICsgJyB0aXRs +ZT0iJyArIGVzY2FwZUF0dHIocy5zdGF0aXN0aWsgPyAnV2VsY2hlIFN0YXRpc3Rpay1CZXJlaWNo +ZSBkYXJmIGRpZXNlIEZhY2hhdWZzaWNodCBzZWhlbj8nIDogJ0Vyc3QgIlN0YXRpc3RpayItSMOk +a2NoZW4gb2JlbiBzZXR6ZW4nKSArICciIHN0eWxlPSJ3aWR0aDoxMDAlO3RleHQtYWxpZ246bGVm +dDttYXJnaW4tdG9wOjNweCI+JyArIGVzY2FwZUhUTUwoc3RhdExhYmVsKSArICc8L2J1dHRvbj4n +ICsKICAgICAgICAgICAgJzwvdGQ+JyArCiAgICAgICAgICAgICc8dGQ+JyArCiAgICAgICAgICAg +ICAgICAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWsgYnRuLWtsZWluIGZhY2hhdWZzaWNodC1w +bGFuLWJ0biIgZGF0YS1ha3Rpb249ImZhY2hhdWZzaWNodC1kZXRhaWxzIiBkYXRhLWlkeD0iJyAr +IGkgKyAnIiB0aXRsZT0iS2xpY2tlbiB6dW0gQmVhcmJlaXRlbiBkZXIgUGxhbnVuZ3MtUmVjaHRl +IiBzdHlsZT0id2lkdGg6MTAwJTt0ZXh0LWFsaWduOmxlZnQiPicgKwogICAgICAgICAgICAgICAg +ICAgIGVzY2FwZUhUTUwocGxhbkxhYmVsKSArCiAgICAgICAgICAgICAgICAnPC9idXR0b24+JyAr +CiAgICAgICAgICAgICc8L3RkPicgKwogICAgICAgICAgICAnPHRkIHN0eWxlPSJ3aGl0ZS1zcGFj +ZTpub3dyYXAiPicgKwogICAgICAgICAgICAgICAgJzxidXR0b24gY2xhc3M9ImJ0biBidG4tc2Vr +IGJ0bi1rbGVpbiIgZGF0YS1ha3Rpb249ImZhY2hhdWZzaWNodC10ZXN0ZW4iIGRhdGEtaWR4PSIn +ICsgaSArICciIHRpdGxlPSJPYmVyZmzDpGNoZSBhbHMgZGllc2UgRmFjaGF1ZnNpY2h0IHRlc3Rl +biAobnVyIGxva2FsLCBTZXJ2ZXItUmVjaHRlIGJsZWliZW4gU1UpIiBzdHlsZT0ibWFyZ2luLXJp +Z2h0OjRweCI+VGVzdGVuPC9idXR0b24+JyArCiAgICAgICAgICAgICAgICAnPGJ1dHRvbiBjbGFz +cz0iYnRuIGJ0bi1nZWZhaHIgYnRuLWtsZWluIGJ0bi1sb2VzY2hlbiIgZGF0YS1ha3Rpb249ImZh +Y2hhdWZzaWNodC1sb2VzY2hlbiIgZGF0YS1pZHg9IicgKyBpICsgJyIgdGl0bGU9IkzDtnNjaGVu +Ij5Mw7ZzY2hlbjwvYnV0dG9uPicgKwogICAgICAgICAgICAnPC90ZD4nICsKICAgICAgICAgICAg +JzwvdHI+JzsKICAgIH0pOwogICAgdGJvZHkuaW5uZXJIVE1MID0gaHRtbDsKICAgIGZhY2hhdWZz +aWNodERpcnR5U2V0emVuKGZhbHNlKTsKfQoKLy8gQWJ3YWVydHNrb21wYXRpYmxlIEFkYXB0ZXIg +4oCUIGVpbmlnZSBleGlzdGllcmVuZGUgQXVmcnVmZXIgbnV0emVuIGRpZQovLyBhbHRlbiBGYWNo +YXVmc2ljaHQtTmFtZW4uIFVtbGVpdGVuIGF1ZiBkZW4gemVudHJhbGVuIFRyYWNrZXIKLy8gKFJl +Z2lzdHJ5IGluIGFkbWluLmpzIGRpcnR5VHJhY2tlckVpbnJpY2h0ZW4pLgpleHBvcnQgZnVuY3Rp +b24gZmFjaGF1ZnNpY2h0RGlydHlTZXR6ZW4oaXN0RGlydHkpIHsgZGlydHlTZXR6ZW4oJ2ZhY2hh +dWZzaWNodCcsIGlzdERpcnR5KTsgfQpleHBvcnQgZnVuY3Rpb24gZmFjaGF1ZnNpY2h0SXN0RGly +dHkoKSB7IHJldHVybiBkaXJ0eUlzdCgnZmFjaGF1ZnNpY2h0Jyk7IH0KCi8vIEtvbmZpZ3VyaWVy +YmFyZSBBZG1pbi1TdWItVGFicyBmdWVyIEZhY2hhdWZzaWNodC1HcmFudWxhci1TaWNodGJhcmtl +aXQuCi8vIFNpY2hlcmhlaXRzLVRhYnMgKHN1cGVydXNlciwgZmFjaGF1ZnNpY2h0LCBzaWNodGJh +cmtlaXQsIGZlYXR1cmVzLAovLyB0ZXN0ZGF0ZW4pIHNpbmQgaGFydGNvZGllcnQgU1Utb25seSB1 +bmQgc3RlaGVuIE5JQ0hUIGluIGRpZXNlciBMaXN0ZS4KZXhwb3J0IHZhciBGQUNIQVVGU0lDSFRf +QURNSU5fU1VCVEFCUyA9IFsKICAgIHsga2V5OiAncGVyc29uYWwnLCAgICAgIGxhYmVsOiAnUGVy +c29uYWx2ZXJ3YWx0dW5nJyB9LAogICAgeyBrZXk6ICdncnVwcGVuJywgICAgICAgbGFiZWw6ICdE +aWVuc3RncnVwcGVuJyB9LAogICAgeyBrZXk6ICdmZWllcnRhZ2UnLCAgICAgbGFiZWw6ICdGZWll +cnRhZ2UnIH0sCiAgICB7IGtleTogJ2ZlcmllbicsICAgICAgICBsYWJlbDogJ0ZlcmllbicgfSwK +ICAgIHsga2V5OiAnc29uZGVydGVybWluZScsIGxhYmVsOiAnU29uZGVydGVybWluZScgfSwKICAg +IHsga2V5OiAnc2NoaWNodGNvZGVzJywgIGxhYmVsOiAnU2NoaWNodGNvZGVzJyB9LAogICAgeyBr +ZXk6ICdzdGFuZG9ydGUnLCAgICAgbGFiZWw6ICdTdGFuZG9ydGUnIH0sCiAgICB7IGtleTogJ2Vp +bnN0ZWxsdW5nZW4nLCBsYWJlbDogJ0VpbnN0ZWxsdW5nZW4nIH0sCiAgICB7IGtleTogJ2JhY2t1 +cHMnLCAgICAgICBsYWJlbDogJ0JhY2t1cHMnIH0sCiAgICB7IGtleTogJ2ltcG9ydCcsICAgICAg +ICBsYWJlbDogJ0V4Y2VsLUltcG9ydCcgfSwKICAgIHsga2V5OiAnYmV6ZWljaG51bmdlbicsIGxh +YmVsOiAnQmV6ZWljaG51bmdlbicgfSwKICAgIHsga2V5OiAnaW5mb2hpbGZlJywgICAgIGxhYmVs +OiAnSW5mb3JtYXRpb24gJiBIaWxmZScgfSwKICAgIHsga2V5OiAnZW1haWx2b3JsYWdlbicsIGxh +YmVsOiAnRS1NYWlsLVZvcmxhZ2VuJyB9Cl07CmV4cG9ydCB2YXIgRkFDSEFVRlNJQ0hUX1NUQVRf +QkVSRUlDSEUgPSBbCiAgICB7IGtleTogJ2twaXMnLCAgICAgICAgICAgICAgbGFiZWw6ICdLUEkt +S2FjaGVsbiAob2JlbiknIH0sCiAgICB7IGtleTogJ3N0YXRGYWlybmVzcycsICAgICAgbGFiZWw6 +ICdGYWlybmVzcy1BbnplaWdlJyB9LAogICAgeyBrZXk6ICdzdGF0TXVzdGVyJywgICAgICAgIGxh +YmVsOiAnQXVmZsOkbGxpZ2tlaXRlbiAvIE11c3RlcicgfSwKICAgIHsga2V5OiAnc3RhdEFid2Vz +ZW5oZWl0JywgICBsYWJlbDogJ0Fid2VzZW5oZWl0cy1LYWNoZWxuJyB9LAogICAgeyBrZXk6ICdz +dGF0RGV0YWlsVGFiZWxsZScsIGxhYmVsOiAnRGV0YWlsLVRhYmVsbGUnIH0KXTsKCi8vIExhYmVs +LUhlbHBlciBmdWVyIGRlbiBTdWItU2ljaHQtQnV0dG9uLiB0eXA6ICdhZG1pbid8J3N0YXQnLgov +LyBzaWNodGJhcmtlaXRNYXA6IGRhcyBmYS5hZG1pblNpY2h0YmFya2VpdCAvIGZhLnN0YXRpc3Rp +a1NpY2h0YmFya2VpdC1PYmpla3QuCi8vIERlZmF1bHQtVmVyaGFsdGVuIChNYXAgbGVlci91bmRl +ZmluZWQpOiAiQWxsZSBlcmxhdWJ0IiB3ZW5uIFRhYiBmcmVpZ2VnZWJlbiwKLy8gIuKAlCIgd2Vu +biBUYWIgbmljaHQgZnJlaWdlZ2ViZW4uCmV4cG9ydCBmdW5jdGlvbiBmYWNoYXVmc2ljaHRTdWJT +aWNodExhYmVsKHR5cCwgc2ljaHRiYXJrZWl0TWFwLCB0YWJGcmVpZ2VnZWJlbikgewogICAgdmFy +IGxpc3RlID0gdHlwID09PSAnYWRtaW4nID8gRkFDSEFVRlNJQ0hUX0FETUlOX1NVQlRBQlMgOiBG +QUNIQVVGU0lDSFRfU1RBVF9CRVJFSUNIRTsKICAgIHZhciBiZXJlaWNoID0gdHlwID09PSAnYWRt +aW4nID8gJ0FkbWluLVRhYnMnIDogJ1N0YXRpc3Rpay1CZXJlaWNoZSc7CiAgICBpZiAoIXRhYkZy +ZWlnZWdlYmVuKSByZXR1cm4gJ+KAlCAoJyArICh0eXAgPT09ICdhZG1pbicgPyAnQWRtaW4nIDog +J1N0YXRpc3RpaycpICsgJyBuaWNodCBmcmVpZ2VnZWJlbiknOwogICAgdmFyIG0gPSBzaWNodGJh +cmtlaXRNYXAgfHwge307CiAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG0pOwogICAgaWYgKGtl +eXMubGVuZ3RoID09PSAwKSByZXR1cm4gJ0FsbGUgJyArIGJlcmVpY2ggKyAnIChTdGFuZGFyZCkn +OwogICAgdmFyIHZlcnN0ZWNrdCA9IGtleXMuZmlsdGVyKGZ1bmN0aW9uKGspIHsgcmV0dXJuIG1b +a10gPT09IGZhbHNlOyB9KS5sZW5ndGg7CiAgICB2YXIgc2ljaHRiYXIgPSBsaXN0ZS5sZW5ndGgg +LSB2ZXJzdGVja3Q7CiAgICBpZiAodmVyc3RlY2t0ID09PSAwKSByZXR1cm4gJ0FsbGUgJyArIGJl +cmVpY2g7CiAgICBpZiAoc2ljaHRiYXIgPT09IDApIHJldHVybiAnS2VpbmUgJyArIGJlcmVpY2g7 +CiAgICByZXR1cm4gc2ljaHRiYXIgKyAnIHZvbiAnICsgbGlzdGUubGVuZ3RoICsgJyAnICsgYmVy +ZWljaDsKfQoKLy8gR2VuZXJpc2NoZXIgTW9kYWwtS29udGV4dC4gS2Fwc2VsdCwgQVVGIFdFTENI +RSBaLmFkbWluLUxpc3RlLCB1ZWJlcgovLyB3ZWxjaGVuIEVuZHBvaW50IHVuZCBtaXQgd2VsY2hl +bSBUYWJlbGxlbi1SZWFkZXIvUmVuZGVyZXIgZWluCi8vIFN1Yi1TaWNodC0vUGxhbi1Nb2RhbCBh +cmJlaXRldC4gRnJ1ZWhlciB3dXJkZSBkYWZ1ZXIga3VyenplaXRpZwovLyBaLmFkbWluLmZhY2hh +dWZzaWNodCB1bWdlYm9nZW4gKyBuYWNoIDUwbXMgcGVyIHNldFRpbWVvdXQgenVydWVjay0KLy8g +Z2VzcGllZ2VsdCDigJQgZGFzIGZldWVydGUgYWJlciwgQkVWT1IgZGVyIFVzZXIgaW0gTW9kYWwg +IlNwZWljaGVybiIKLy8gZHJ1ZWNrdGUsIHNvZGFzcyBkZXIgTW9kYWwtU2F2ZSBkaWUgRUNIVEUg +RmFjaGF1ZnNpY2h0LUxpc3RlIG1pdAovLyBSb2xsZW4tRGF0ZW4gdWViZXJzY2hyaWViIChDUklU +SUNBTCBEYXRlbmtvcnJ1cHR1cikuIERlciBLb250ZXh0Ci8vIG1hY2h0IGRlbiBTd2FwIHVlYmVy +Zmx1ZXNzaWc6IGplZGVzIE1vZGFsIHNjaHJlaWJ0IGRpcmVrdCBhdWYgZGllCi8vIHJpY2h0aWdl +IExpc3RlLgpmdW5jdGlvbiBmYWNoYXVmc2ljaHRNb2RhbEN0eCgpIHsKICAgIHJldHVybiB7CiAg +ICAgICAgZ2V0TGlzdGU6ICAgICAgICBmdW5jdGlvbigpIHsgcmV0dXJuIFouYWRtaW4uZmFjaGF1 +ZnNpY2h0IHx8IFtdOyB9LAogICAgICAgIHNldExpc3RlOiAgICAgICAgZnVuY3Rpb24oZCkgeyBa +LmFkbWluLmZhY2hhdWZzaWNodCA9IGQ7IH0sCiAgICAgICAgYXVzVGFiZWxsZUxlc2VuOiBmdW5j +dGlvbigpIHsgcmV0dXJuIGZhY2hhdWZzaWNodEF1c1RhYmVsbGVMZXNlbigpOyB9LAogICAgICAg +IGVuZHBvaW50OiAgICAgICAgJy9hcGkvYWRtaW4vZmFjaGF1ZnNpY2h0JywKICAgICAgICByZW5k +ZXJuOiAgICAgICAgIGZhY2hhdWZzaWNodFJlbmRlcm4sCiAgICAgICAgLy8gRmFjaGF1ZnNpY2h0 +LVBsYW4tTW9kYWwgbnV0enQgZWluZW4gSW5mby1Ub2FzdCBhbHMgU3BlaWNoZXItCiAgICAgICAg +Ly8gSGlud2VpcyB1bmQgbGFlc3N0IGRhcyBEaXJ0eS1GbGFnIGluIFJ1aGUgKGtlaW4gUmVzZXQg +aW4KICAgICAgICAvLyBmYWNoYXVmc2ljaHRSZW5kZXJuKS4KICAgICAgICBtYXJrRGlydHk6ICAg +ICAgIGZ1bmN0aW9uKCkge30KICAgIH07Cn0KZnVuY3Rpb24gcm9sbGVNb2RhbEN0eCh0eXApIHsK +ICAgIHJldHVybiB7CiAgICAgICAgZ2V0TGlzdGU6ICAgICAgICBmdW5jdGlvbigpIHsgcmV0dXJu +IFouYWRtaW5bdHlwXSB8fCBbXTsgfSwKICAgICAgICBzZXRMaXN0ZTogICAgICAgIGZ1bmN0aW9u +KGQpIHsgWi5hZG1pblt0eXBdID0gZDsgfSwKICAgICAgICBhdXNUYWJlbGxlTGVzZW46IGZ1bmN0 +aW9uKCkgeyByZXR1cm4gcm9sbGVuQXVzVGFiZWxsZUxlc2VuKHR5cCwgZmFsc2UpOyB9LAogICAg +ICAgIGVuZHBvaW50OiAgICAgICAgKFJPTExFTl9UWVBFTlt0eXBdIHx8IHt9KS5lbmRwb2ludCwK +ICAgICAgICByZW5kZXJuOiAgICAgICAgIGZ1bmN0aW9uKCkgeyByb2xsZW5UYWJlbGxlUmVuZGVy +bih0eXApOyB9LAogICAgICAgIC8vIHJvbGxlblRhYmVsbGVSZW5kZXJuIHNldHp0IERpcnR5PWZh +bHNlIGFtIEVuZGUg4oCUIG5hY2ggZWluZXIKICAgICAgICAvLyBuaWNodC1wZXJzaXN0aWVydGVu +IFBsYW4tQWVuZGVydW5nIG11c3MgZXMgd2llZGVyIHRydWUgc2Vpbi4KICAgICAgICBtYXJrRGly +dHk6ICAgICAgIGZ1bmN0aW9uKCkgeyByb2xsZW5EaXJ0eVNldHplbih0eXAsIHRydWUpOyB9CiAg +ICB9Owp9CgovLyBNb2RhbCBmdWVyIGdyYW51bGFyZSBTdWItU2ljaHRiYXJrZWl0LiBzaWNodFR5 +cDogJ2FkbWluJ3wnc3RhdCcuCi8vIGN0eCBvcHRpb25hbCDigJQgRGVmYXVsdCBGYWNoYXVmc2lj +aHQ7IFJvbGxlbiByZWljaGVuIHJvbGxlTW9kYWxDdHgodHlwKS4KZXhwb3J0IGZ1bmN0aW9uIGZh +Y2hhdWZzaWNodFN1YlNpY2h0TW9kYWwoaWR4LCBzaWNodFR5cCwgY3R4KSB7CiAgICBpZiAoIVou +cmVjaHRlLmlzdFN1cGVyVXNlcikgcmV0dXJuOwogICAgY3R4ID0gY3R4IHx8IGZhY2hhdWZzaWNo +dE1vZGFsQ3R4KCk7CiAgICB2YXIgdHlwID0gc2ljaHRUeXA7CiAgICAvLyBLb21wbGV0dGUgVGFi +ZWxsZSBpbiBkZW4gU3RhdGUgc3BpZWdlbG4gKGFsbGUgWmVpbGVuLCBuaWNodCBudXIgZGllCiAg +ICAvLyBlZGl0aWVydGUpIOKAlCBzb25zdCBnZWhlbiBwYXJhbGxlbGUgVGFiZWxsZW4tRWRpdHMg +YmVpbSBNb2RhbC1TcHJ1bmcKICAgIC8vIHZlcmxvcmVuLgogICAgY3R4LnNldExpc3RlKGN0eC5h +dXNUYWJlbGxlTGVzZW4oKSk7CiAgICB2YXIgbGlzdGUgPSBjdHguZ2V0TGlzdGUoKTsKICAgIGlm +ICghbGlzdGVbaWR4XSkgcmV0dXJuOwogICAgdmFyIGZhID0gbGlzdGVbaWR4XTsKICAgIHZhciBm +ZWxkID0gdHlwID09PSAnYWRtaW4nID8gJ2FkbWluU2ljaHRiYXJrZWl0JyA6ICdzdGF0aXN0aWtT +aWNodGJhcmtlaXQnOwogICAgdmFyIHN1Ykxpc3RlID0gdHlwID09PSAnYWRtaW4nID8gRkFDSEFV +RlNJQ0hUX0FETUlOX1NVQlRBQlMgOiBGQUNIQVVGU0lDSFRfU1RBVF9CRVJFSUNIRTsKICAgIHZh +ciB0aXRlbCA9IHR5cCA9PT0gJ2FkbWluJyA/ICdBZG1pbi1TaWNodCcgOiAnU3RhdGlzdGlrLVNp +Y2h0JzsKICAgIHZhciBiZXNjaHIgPSB0eXAgPT09ICdhZG1pbicKICAgICAgICA/ICdXZWxjaGUg +U3ViLVRhYnMgZGVzIEFkbWluLUJlcmVpY2hzIGRhcmYgZGllc2UgRmFjaGF1ZnNpY2h0IHNlaGVu +PyBTaWNoZXJoZWl0c2tyaXRpc2NoZSBUYWJzIChTdXBlclVzZXIsIEZhY2hhdWZzaWNodCwgU2lj +aHRiYXJrZWl0LCBGdW5rdGlvbmVuLCBUZXN0ZGF0ZW4pIHNpbmQgZ3J1bmRzw6R0emxpY2ggU1Ut +b25seSB1bmQgbmljaHQgZnJlaWdlYmJhci4nCiAgICAgICAgOiAnV2VsY2hlIEJlcmVpY2hlIGRl +cyBTdGF0aXN0aWstVGFicyBkYXJmIGRpZXNlIEZhY2hhdWZzaWNodCBzZWhlbj8nOwogICAgdmFy +IGFrdHVlbGxlTWFwID0gZmFbZmVsZF0gfHwge307CgogICAgdmFyIGxpc3RlX2h0bWwgPSBzdWJM +aXN0ZS5tYXAoZnVuY3Rpb24oaXRlbSkgewogICAgICAgIHZhciBzaWNodGJhciA9IGFrdHVlbGxl +TWFwW2l0ZW0ua2V5XSAhPT0gZmFsc2U7ICAvLyBEZWZhdWx0OiBzaWNodGJhcgogICAgICAgIHJl +dHVybiAnPGxhYmVsIGNsYXNzPSJmYS1zdWJzaWNodC16ZWlsZSI+JyArCiAgICAgICAgICAgICc8 +aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJmYS1zdWJzaWNodC1jaGsiIGRhdGEta2V5PSIn +ICsgZXNjYXBlQXR0cihpdGVtLmtleSkgKyAnIicgKyAoc2ljaHRiYXIgPyAnIGNoZWNrZWQnIDog +JycpICsgJz4nICsKICAgICAgICAgICAgJzxzcGFuPicgKyBlc2NhcGVIVE1MKGl0ZW0ubGFiZWwp +ICsgJzwvc3Bhbj4nICsKICAgICAgICAnPC9sYWJlbD4nOwogICAgfSkuam9pbignJyk7CgogICAg +dmFyIGtvZXJwZXIgPQogICAgICAgICc8cCBjbGFzcz0iZXZtLWJlc2NocmVpYnVuZyI+JyArIGVz +Y2FwZUhUTUwoYmVzY2hyKSArICc8L3A+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9ImZhLXN1YnNp +Y2h0LWFrdGlvbmVuIj4nICsKICAgICAgICAgICAgJzxidXR0b24gY2xhc3M9ImJ0biBidG4ta2xl +aW4iIHR5cGU9ImJ1dHRvbiIgaWQ9ImZhLXN1YnNpY2h0LWFsbGUiPkFsbGUgYWt0aXZpZXJlbjwv +YnV0dG9uPicgKwogICAgICAgICAgICAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1rbGVpbiIgdHlw +ZT0iYnV0dG9uIiBpZD0iZmEtc3Vic2ljaHQta2VpbmUiPkFsbGUgZGVha3RpdmllcmVuPC9idXR0 +b24+JyArCiAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWtsZWluIiB0eXBlPSJi +dXR0b24iIGlkPSJmYS1zdWJzaWNodC1kZWZhdWx0Ij5BdWYgU3RhbmRhcmQgenVyw7xja3NldHpl +bjwvYnV0dG9uPicgKwogICAgICAgICc8L2Rpdj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0iZmEt +c3Vic2ljaHQtbGlzdGUiPicgKyBsaXN0ZV9odG1sICsgJzwvZGl2Pic7CgogICAgdmFyIGZ1c3Mg +PSAnPGJ1dHRvbiBjbGFzcz0iYnRuIiBpZD0iZmEtc3ViLWFiYnIiIHR5cGU9ImJ1dHRvbiI+QWJi +cmVjaGVuPC9idXR0b24+JyArCiAgICAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRu +LXByaW1hZXIiIGlkPSJkbGctc3BlaWNoZXJuIiB0eXBlPSJidXR0b24iPsOcYmVybmVobWVuPC9i +dXR0b24+JzsKCiAgICBtb2RhbFplaWdlbih0aXRlbCArICc6ICcgKyAoZmEubmFtZSB8fCAnKG9o +bmUgTmFtZSknKSwga29lcnBlciwgZnVzcywgZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIG5ldSA9 +IHt9OwogICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mYS1zdWJzaWNodC1jaGsn +KS5mb3JFYWNoKGZ1bmN0aW9uKGMpIHsKICAgICAgICAgICAgdmFyIGsgPSBjLmdldEF0dHJpYnV0 +ZSgnZGF0YS1rZXknKTsKICAgICAgICAgICAgaWYgKCFjLmNoZWNrZWQpIG5ldVtrXSA9IGZhbHNl +OyAgLy8gTnVyIGV4cGxpeml0ZSBWZXJzdGVja2VyIHNwZWljaGVybgogICAgICAgIH0pOwogICAg +ICAgIC8vIFZvcmhlciBudXIgQ2xpZW50LVN0YXRlIOKAlCBoYXQgenUgIkdhbGVja2kgc2llaHQg +dHJvdHpkZW0gYWxsZXMiCiAgICAgICAgLy8gZ2VmdWVocnQsIHdlaWwgVXNlciBkYXMgc2VwYXJh +dGUgIkZhY2hhdWZzaWNodCBzcGVpY2hlcm4iIHVudGVuCiAgICAgICAgLy8gdmVyZ2lzc3QuIEpl +dHp0IGRpcmVrdCBhbnMgQmFja2VuZCAoa29tcGxldHRlIGZhY2hhdWZzaWNodC1MaXN0ZQogICAg +ICAgIC8vIG1pdCBkZW0gZWluZW4gYWt0dWFsaXNpZXJ0ZW4gRWludHJhZykuCiAgICAgICAgZmFb +ZmVsZF0gPSBuZXU7CiAgICAgICAgdmFyIGRhdGVuID0gY3R4LmF1c1RhYmVsbGVMZXNlbigpOwog +ICAgICAgIGlmICghZGF0ZW5baWR4XSkgeyB0b2FzdCgnRWludHJhZyBuaWNodCBtZWhyIHZvcmhh +bmRlbicsICdmZWhsZXInKTsgcmV0dXJuOyB9CiAgICAgICAgZGF0ZW5baWR4XVtmZWxkXSA9IG5l +dTsKICAgICAgICBhcGlQdXQoY3R4LmVuZHBvaW50LCBkYXRlbikudGhlbihmdW5jdGlvbihyKSB7 +CiAgICAgICAgICAgIGN0eC5zZXRMaXN0ZShkYXRlbik7CiAgICAgICAgICAgIG1vZGFsU2NobGll +c3Nlbih0cnVlKTsKICAgICAgICAgICAgY3R4LnJlbmRlcm4oKTsKICAgICAgICAgICAgdG9hc3Qo +dGl0ZWwgKyAnIGdlc3BlaWNoZXJ0JywgJ2VyZm9sZycpOwogICAgICAgICAgICBpZiAociAmJiBy +Ll9icmF1Y2h0X21haWx0bykgdmVyYW50d29ydHVuZ3NNYWlsdG9GZXVlcm4oci5fYnJhdWNodF9t +YWlsdG8pOwogICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdG9hc3Qo +J0ZlaGxlcjogJyArIGUubWVzc2FnZSwgJ2ZlaGxlcicpOwogICAgICAgIH0pOwogICAgfSk7CiAg +ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmEtc3ViLWFiYnInKS5hZGRFdmVudExpc3RlbmVy +KCdjbGljaycsIGZ1bmN0aW9uKCkgeyBtb2RhbFNjaGxpZXNzZW4oKTsgfSk7CiAgICBkb2N1bWVu +dC5nZXRFbGVtZW50QnlJZCgnZmEtc3Vic2ljaHQtYWxsZScpLmFkZEV2ZW50TGlzdGVuZXIoJ2Ns +aWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmZh +LXN1YnNpY2h0LWNoaycpLmZvckVhY2goZnVuY3Rpb24oYykgeyBjLmNoZWNrZWQgPSB0cnVlOyB9 +KTsKICAgICAgICBaLm1vZGFsRGlydHkgPSB0cnVlOwogICAgfSk7CiAgICBkb2N1bWVudC5nZXRF +bGVtZW50QnlJZCgnZmEtc3Vic2ljaHQta2VpbmUnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycs +IGZ1bmN0aW9uKCkgewogICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mYS1zdWJz +aWNodC1jaGsnKS5mb3JFYWNoKGZ1bmN0aW9uKGMpIHsgYy5jaGVja2VkID0gZmFsc2U7IH0pOwog +ICAgICAgIFoubW9kYWxEaXJ0eSA9IHRydWU7CiAgICB9KTsKICAgIGRvY3VtZW50LmdldEVsZW1l +bnRCeUlkKCdmYS1zdWJzaWNodC1kZWZhdWx0JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBm +dW5jdGlvbigpIHsKICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZmEtc3Vic2lj +aHQtY2hrJykuZm9yRWFjaChmdW5jdGlvbihjKSB7IGMuY2hlY2tlZCA9IHRydWU7IH0pOwogICAg +ICAgIFoubW9kYWxEaXJ0eSA9IHRydWU7CiAgICB9KTsKfQoKLy8gRXJ6ZXVndCBkYXMgZHluYW1p +c2NoZSBMYWJlbCBmdWVyIGRlbiBQbGFudW5ncy1CdXR0b24gKEMuMTEpOgovLyAiTnVyIGVpZ2Vu +ZSBaZWlsZSIgd2VubiBuaWNodHMgZ2VzZXR6dDsgIkFsbGUgRGllbnN0Z3J1cHBlbiIsICJBbGxl +Ci8vIFN0YW5kb3J0ZSIsICJBbGxlIFBlcnNvbmVuIiB3ZW5uIGpld2VpbHMga29tcGxldHRlIEF1 +c3dhaGw7IHNvbnN0Ci8vIEFuemFobCArIEJlcmVpY2guIE1laHJlcmUgQmVyZWljaGUgd2VyZGVu +IG1pdCAiIMK3ICIgdmVyYnVuZGVuLgpleHBvcnQgZnVuY3Rpb24gZmFjaGF1ZnNpY2h0UGxhbkxh +YmVsKGVkKSB7CiAgICBlZCA9IGVkIHx8IHt9OwogICAgdmFyIG5QID0gKGVkLnBlcnNvbmVuSWRz +IHx8IFtdKS5sZW5ndGg7CiAgICB2YXIgbkcgPSAoZWQuZGllbnN0Z3J1cHBlbiB8fCBbXSkubGVu +Z3RoOwogICAgdmFyIG5TID0gKGVkLnN0YW5kb3J0ZSB8fCBbXSkubGVuZ3RoOwogICAgaWYgKG5Q +ID09PSAwICYmIG5HID09PSAwICYmIG5TID09PSAwKSByZXR1cm4gJ051ciBlaWdlbmUgWmVpbGUn +OwogICAgdmFyIGdlc2FtdEcgPSAoWi5hZG1pbi5ncnVwcGVuIHx8IFtdKS5sZW5ndGg7CiAgICB2 +YXIgZ2VzYW10UyA9IChaLmFkbWluLnN0YW5kb3J0ZSB8fCBbXSkuZmlsdGVyKGZ1bmN0aW9uKHgp +IHsgcmV0dXJuIHgua3VlcnplbCB8fCB4Lm5hbWU7IH0pLmxlbmd0aDsKICAgIC8vIFBlcnNvbmVu +LVRvdGFsID0gYWt0aXZlIG1pbnVzIDEgKGVpZ2VuZSBQZXJzb24gaXN0IGltbWVyIGltcGxpeml0 +IGVybGF1YnQpCiAgICB2YXIgZ2VzYW10UCA9IChaLnBsYW51bmcucGVyc29uZW4gfHwgW10pLmZp +bHRlcihmdW5jdGlvbihwKSB7IHJldHVybiBwLmFrdGl2OyB9KS5sZW5ndGggLSAxOwogICAgdmFy +IHRlaWxlID0gW107CiAgICBpZiAobkcgPiAwKSB0ZWlsZS5wdXNoKG5HID09PSBnZXNhbXRHICYm +IGdlc2FtdEcgPiAwID8gJ0FsbGUgRGllbnN0Z3J1cHBlbicgOiBuRyArIChuRyA9PT0gMSA/ICcg +RGllbnN0Z3J1cHBlJyA6ICcgRGllbnN0Z3J1cHBlbicpKTsKICAgIGlmIChuUyA+IDApIHRlaWxl +LnB1c2goblMgPT09IGdlc2FtdFMgJiYgZ2VzYW10UyA+IDAgPyAnQWxsZSBTdGFuZG9ydGUnIDog +blMgKyAoblMgPT09IDEgPyAnIFN0YW5kb3J0JyA6ICcgU3RhbmRvcnRlJykpOwogICAgaWYgKG5Q +ID4gMCkgdGVpbGUucHVzaChuUCA9PT0gZ2VzYW10UCAmJiBnZXNhbXRQID4gMCA/ICdBbGxlIFBl +cnNvbmVuJyA6IG5QICsgKG5QID09PSAxID8gJyBQZXJzb24nIDogJyBQZXJzb25lbicpKTsKICAg +IC8vIFdlbm4gYWxsZSBkcmVpICJBbGxlIC4uLiIgLT4ga29tcGFrdGVyICJEYXJmIGFsbGVzIHBs +YW5lbiIKICAgIGlmICh0ZWlsZS5sZW5ndGggPT09IDMgJiYKICAgICAgICB0ZWlsZVswXS5pbmRl +eE9mKCdBbGxlICcpID09PSAwICYmCiAgICAgICAgdGVpbGVbMV0uaW5kZXhPZignQWxsZSAnKSA9 +PT0gMCAmJgogICAgICAgIHRlaWxlWzJdLmluZGV4T2YoJ0FsbGUgJykgPT09IDApIHsKICAgICAg +ICByZXR1cm4gJ0RhcmYgYWxsZXMgcGxhbmVuJzsKICAgIH0KICAgIHJldHVybiB0ZWlsZS5qb2lu +KCcgwrcgJyk7Cn0KCi8vIGZpbHRlckxlZXI6IHRydWUgPSBFaW50cmFlZ2Ugb2huZSBOYW1lIFVO +RCBvaG5lIE5XLUtlbm51bmcgcmF1c3dlcmZlbi4KLy8gRGVmYXVsdCBmYWxzZSwgZGFtaXQgU3Rh +dGUtVWViZXJuYWhtZW4gKExvZXNjaGVuLCBNb2RhbC1TcHJ1bmcpIGtlaW5lCi8vIGJlcmVpdHMg +Z2VzcGVpY2hlcnRlbiBFaW50cmFlZ2UgbWl0IGZlaGxlbmRlciBud0tlbm51bmcgd2VnZmVnZW4u +Ci8vIE51ciBkZXIgIkZhY2hhdWZzaWNodCBzcGVpY2hlcm4iLUJ1dHRvbiBydWZ0IG1pdCBmaWx0 +ZXJMZWVyPXRydWUgYXVmLgpleHBvcnQgZnVuY3Rpb24gZmFjaGF1ZnNpY2h0QXVzVGFiZWxsZUxl +c2VuKGZpbHRlckxlZXIpIHsKICAgIHZhciBhbHRlTGlzdGUgPSBaLmFkbWluLmZhY2hhdWZzaWNo +dCB8fCBbXTsKICAgIHZhciBmZWxkZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZmFj +aGF1ZnNpY2h0LWlucHV0Jyk7CiAgICB2YXIgbWFwID0ge307CiAgICBmZWxkZXIuZm9yRWFjaChm +dW5jdGlvbihmKSB7CiAgICAgICAgdmFyIGlkeCA9IGYuZ2V0QXR0cmlidXRlKCdkYXRhLWlkeCcp +OwogICAgICAgIHZhciBmZWxkID0gZi5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmVsZCcpOwogICAgICAg +IGlmICghbWFwW2lkeF0pIG1hcFtpZHhdID0ge307CiAgICAgICAgbWFwW2lkeF1bZmVsZF0gPSBm +LnZhbHVlLnRyaW0oKTsKICAgIH0pOwogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmZh +Y2hhdWZzaWNodC1jaGsnKS5mb3JFYWNoKGZ1bmN0aW9uKGMpIHsKICAgICAgICB2YXIgaWR4ID0g +Yy5nZXRBdHRyaWJ1dGUoJ2RhdGEtaWR4Jyk7CiAgICAgICAgdmFyIGZlbGQgPSBjLmdldEF0dHJp +YnV0ZSgnZGF0YS1mZWxkJyk7CiAgICAgICAgaWYgKCFtYXBbaWR4XSkgbWFwW2lkeF0gPSB7fTsK +ICAgICAgICBpZiAoIW1hcFtpZHhdLnNlaGVuKSBtYXBbaWR4XS5zZWhlbiA9IHt9OwogICAgICAg +IG1hcFtpZHhdLnNlaGVuW2ZlbGRdID0gYy5jaGVja2VkOwogICAgfSk7CiAgICBkb2N1bWVudC5x +dWVyeVNlbGVjdG9yQWxsKCcuZmFjaGF1ZnNpY2h0LWdlc2FtdC1jaGsnKS5mb3JFYWNoKGZ1bmN0 +aW9uKGMpIHsKICAgICAgICB2YXIgaWR4ID0gYy5nZXRBdHRyaWJ1dGUoJ2RhdGEtaWR4Jyk7CiAg +ICAgICAgaWYgKCFtYXBbaWR4XSkgbWFwW2lkeF0gPSB7fTsKICAgICAgICBtYXBbaWR4XS5nZXNh +bXR2ZXJhbnR3b3J0bGljaCA9IGMuY2hlY2tlZDsKICAgIH0pOwogICAgdmFyIGVyZ2VibmlzID0g +W107CiAgICBPYmplY3Qua2V5cyhtYXApLnNvcnQoZnVuY3Rpb24oYSwgYikgeyByZXR1cm4gcGFy +c2VJbnQoYSkgLSBwYXJzZUludChiKTsgfSkuZm9yRWFjaChmdW5jdGlvbihrKSB7CiAgICAgICAg +dmFyIGFsdCA9IGFsdGVMaXN0ZVtwYXJzZUludChrKV0gfHwge307CiAgICAgICAgdmFyIGUgPSBt +YXBba107CiAgICAgICAgLy8gTnVyIHdlbm4gZXhwbGl6aXQgZmlsdGVyTGVlcj10cnVlIGdlc2V0 +enQgaXN0OiBFaW50cmFlZ2UgZ2FuegogICAgICAgIC8vIG9obmUgTmFtZSBVTkQgb2huZSBOVy1L +ZW5udW5nIHZlcndlcmZlbiAoPSBsZWVyZSBuZXUtYW5nZWxlZ3RlCiAgICAgICAgLy8gUmVpaGVu +KS4gQW5zb25zdGVuIElNTUVSIGR1cmNocmVpY2hlbiwgZGFtaXQgTG9lc2NoLUFrdGlvbmVuCiAg +ICAgICAgLy8ga2VpbmUgYmVzdGVoZW5kZW4gRWludHJhZWdlIG1pdHJlaXNzZW4uCiAgICAgICAg +aWYgKGZpbHRlckxlZXIgJiYgIWUubmFtZSAmJiAhZS5ud0tlbm51bmcpIHJldHVybjsKICAgICAg +ICAvLyBHcmFudWxhcmUgU3ViLVNpY2h0YmFya2VpdCAoU3BlYyBGLjIpOiB3aXJkIGltIERldGFp +bC1Nb2RhbCBnZXBmbGVndCwKICAgICAgICAvLyBoaWVyIG51ciBkdXJjaGdlcmVpY2h0LiBGYWxs +cyBuaWNodCB2b3JoYW5kZW4gLT4gbGVlcmUgTWFwICg9IGFsbGVzIGVybGF1YnQpLgogICAgICAg +IGVyZ2VibmlzLnB1c2goewogICAgICAgICAgICBuYW1lOiAgICAgIGUubmFtZSwKICAgICAgICAg +ICAgbndLZW5udW5nOiBlLm53S2VubnVuZywKICAgICAgICAgICAgc2VoZW46IHsKICAgICAgICAg +ICAgICAgIGFkbWluaXN0cmF0aW9uOiAhIShlLnNlaGVuICYmIGUuc2VoZW4uYWRtaW5pc3RyYXRp +b24pLAogICAgICAgICAgICAgICAgc3RhdGlzdGlrOiAgICAgICEhKGUuc2VoZW4gJiYgZS5zZWhl +bi5zdGF0aXN0aWspLAogICAgICAgICAgICAgICAgbG9nYnVjaDogICAgICAgICEhKGUuc2VoZW4g +JiYgZS5zZWhlbi5sb2didWNoKSwKICAgICAgICAgICAgICAgIGJhY2t1cHM6ICAgICAgICAhIShl +LnNlaGVuICYmIGUuc2VoZW4uYmFja3VwcykKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZ2Vz +YW10dmVyYW50d29ydGxpY2g6ICEhZS5nZXNhbXR2ZXJhbnR3b3J0bGljaCwKICAgICAgICAgICAg +YWRtaW5TaWNodGJhcmtlaXQ6ICAgICBhbHQuYWRtaW5TaWNodGJhcmtlaXQgICAgIHx8IHt9LAog +ICAgICAgICAgICBzdGF0aXN0aWtTaWNodGJhcmtlaXQ6IGFsdC5zdGF0aXN0aWtTaWNodGJhcmtl +aXQgfHwge30sCiAgICAgICAgICAgIGVkaXRpZXJlbjogYWx0LmVkaXRpZXJlbiB8fCB7IHBlcnNv +bmVuSWRzOiBbXSwgZGllbnN0Z3J1cHBlbjogW10sIHN0YW5kb3J0ZTogW10gfQogICAgICAgIH0p +OwogICAgfSk7CiAgICByZXR1cm4gZXJnZWJuaXM7Cn0KCi8vID09PT09IEdlbmVyaXNjaGUgUm9s +bGVuLVZlcndhbHR1bmc6IERpcmVrdGlvbnNsZWl0dW5nICsgRnVlaHJ1bmdzc3RlbGxlID09PT09 +Ci8vCi8vIFNjaGVtYS1pZGVudGlzY2ggenVyIEZhY2hhdWZzaWNodCwgYWJlciB6d2VpIHdlc2Vu +dGxpY2hlIFVYLVVudGVyLQovLyBzY2hpZWRlOgovLyAgIC0gUGVyc29uZW4tU2VsZWN0b3IgKERy +b3Bkb3duIGRlciBha3RpdmVuIFBlcnNvbmVuKSBzdGF0dCBmcmVpZXIKLy8gICAgIG5hbWUvbndL +ZW5udW5nLUVpbmdhYmUg4oCUIG5hbWUgKyBud0tlbm51bmcgd2VyZGVuIGF1dG9tYXRpc2NoIGF1 +cwovLyAgICAgZGVyIGdld2FlaGx0ZW4gUGVyc29uYWx2ZXJ3YWx0dW5ncy1QZXJzb24gdWViZXJu +b21tZW4uCi8vICAgLSBLZWluZSAiR2VzYW10dmVyYW50d29ydGxpY2giLVNwYWx0ZSwga2VpbiBU +ZXN0ZW4tQnV0dG9uIChkaWUKLy8gICAgIGJlaWRlbiBuZXVlbiBSb2xsZW4gc2luZCBrZWluZSBW +ZXJ0cmV0dW5ncy1Sb2xsZW4gZnVlciBER0wtCi8vICAgICBWZXJhbnR3b3J0dW5nOyBkYXMgYmxl +aWJ0IGRlciBGYWNoYXVmc2ljaHQgdm9yYmVoYWx0ZW4pLgovLwovLyBTdWItU2ljaHQtQnV0dG9u +cyArIFBsYW51bmdzLVJlY2h0ZSB0ZWlsZW4gc2ljaCBNb2RhbGUgdW5kIExvZ2lrIG1pdAovLyBk +ZXIgRmFjaGF1ZnNpY2h0IChTcGVjIEYuMikuIEJlaW0gTGVzZW4gYXVzIGRlbiBNb2RhbGVuIHNj +aHJlaWJ0IGRlcgovLyBnZW5lcmlzY2hlIFBmYWQgYXVmIFouYWRtaW5bdHlwXSAodHlwID0gJ2Rp +cmVrdGlvbnNsZWl0dW5nJyBvZGVyCi8vICdmdWVocnVuZ3NzdGVsbGUnKS4KCmV4cG9ydCB2YXIg +Uk9MTEVOX1RZUEVOID0gewogICAgZGlyZWt0aW9uc2xlaXR1bmc6IHsgbGFiZWw6ICdEaXJla3Rp +b25zbGVpdHVuZycsIGVuZHBvaW50OiAnL2FwaS9hZG1pbi9kaXJla3Rpb25zbGVpdHVuZycgfSwK +ICAgIGZ1ZWhydW5nc3N0ZWxsZTogICB7IGxhYmVsOiAnRsO8aHJ1bmdzc3RlbGxlJywgICAgZW5k +cG9pbnQ6ICcvYXBpL2FkbWluL2Z1ZWhydW5nc3N0ZWxsZScgICB9Cn07CgpmdW5jdGlvbiByb2xs +ZVBlcnNvbk9wdGlvbnNIdG1sKGFrdHVlbGxlS2VubnVuZykgewogICAgdmFyIHBlcnNvbmVuID0g +KFoucGxhbnVuZy5wZXJzb25lbiB8fCBbXSkKICAgICAgICAuZmlsdGVyKGZ1bmN0aW9uKHApIHsg +cmV0dXJuIHAuYWt0aXYgJiYgIXAuZ2Vsb2VzY2h0QW07IH0pCiAgICAgICAgLnNsaWNlKCkKICAg +ICAgICAuc29ydChmdW5jdGlvbihhLCBiKSB7CiAgICAgICAgICAgIHJldHVybiAoKGEubmFtZSB8 +fCAnJykgKyAnICcgKyAoYS52b3JuYW1lIHx8ICcnKSkubG9jYWxlQ29tcGFyZSgoKGIubmFtZSB8 +fCAnJykgKyAnICcgKyAoYi52b3JuYW1lIHx8ICcnKSksICdkZScpOwogICAgICAgIH0pOwogICAg +dmFyIGh0bWwgPSAnPG9wdGlvbiB2YWx1ZT0iIj7igJQgUGVyc29uIHfDpGhsZW4g4oCUPC9vcHRp +b24+JzsKICAgIHZhciBtaXRLZW5udW5nID0gW107CiAgICB2YXIgb2huZUtlbm51bmcgPSBbXTsK +ICAgIHBlcnNvbmVuLmZvckVhY2goZnVuY3Rpb24ocCkgewogICAgICAgIGlmIChwLm53S2VubnVu +ZyAmJiBwLm53S2VubnVuZy50cmltKCkpIG1pdEtlbm51bmcucHVzaChwKTsKICAgICAgICBlbHNl +IG9obmVLZW5udW5nLnB1c2gocCk7CiAgICB9KTsKICAgIG1pdEtlbm51bmcuZm9yRWFjaChmdW5j +dGlvbihwKSB7CiAgICAgICAgdmFyIGxhYmVsID0gKHAuZGllbnN0Z3JhZCA/IHAuZGllbnN0Z3Jh +ZCArICcgJyA6ICcnKSArCiAgICAgICAgICAgICAgICAgICAgKHAudm9ybmFtZSA/IHAudm9ybmFt +ZSArICcgJyA6ICcnKSArIChwLm5hbWUgfHwgJycpICsKICAgICAgICAgICAgICAgICAgICAocC5n +cnVwcGUgPyAnICgnICsgcC5ncnVwcGUgKyAnKScgOiAnJyk7CiAgICAgICAgdmFyIGtlbm51bmcg +PSBwLm53S2VubnVuZzsKICAgICAgICB2YXIgc2VsID0gKGtlbm51bmcudG9Mb3dlckNhc2UoKSA9 +PT0gKGFrdHVlbGxlS2VubnVuZyB8fCAnJykudG9Mb3dlckNhc2UoKSkgPyAnIHNlbGVjdGVkJyA6 +ICcnOwogICAgICAgIGh0bWwgKz0gJzxvcHRpb24gdmFsdWU9IicgKyBlc2NhcGVBdHRyKGtlbm51 +bmcpICsgJyIgZGF0YS1uYW1lPSInICsgZXNjYXBlQXR0cigoKHAudm9ybmFtZSA/IHAudm9ybmFt +ZSArICcgJyA6ICcnKSArIChwLm5hbWUgfHwgJycpKS50cmltKCkpICsgJyInICsgc2VsICsgJz4n +ICsgZXNjYXBlSFRNTChsYWJlbCkgKyAnPC9vcHRpb24+JzsKICAgIH0pOwogICAgLy8gUGVyc29u +ZW4gb2huZSBOVy1LZW5udW5nIGRpc2FibGVkLCBtaXQgR3J1cHBlbi1MYWJlbCB1bmQgSGlud2Vp +cy4gRWluZQogICAgLy8gUm9sbGUgb2huZSBOVy1LZW5udW5nIGthbm4gYmVpbSBMb2dpbiBuaWNo +dCB6dWdlb3JkbmV0IHdlcmRlbiDigJQgZGFoZXIKICAgIC8vIHNwZXJyZW4gd2lyIGRpZSBBdXN3 +YWhsIHVuZCB6ZWlnZW4gZGVuIEdydW5kIGltIExpc3Rlbi1UZXh0IGFuLgogICAgaWYgKG9obmVL +ZW5udW5nLmxlbmd0aCkgewogICAgICAgIGh0bWwgKz0gJzxvcHRncm91cCBsYWJlbD0i4oCUIGtl +aW5lIE5XLUtlbm51bmcgaW4gUGVyc29uYWx2ZXJ3YWx0dW5nIGdlcGZsZWd0IOKAlCI+JzsKICAg +ICAgICBvaG5lS2VubnVuZy5mb3JFYWNoKGZ1bmN0aW9uKHApIHsKICAgICAgICAgICAgdmFyIGxh +YmVsID0gKHAuZGllbnN0Z3JhZCA/IHAuZGllbnN0Z3JhZCArICcgJyA6ICcnKSArCiAgICAgICAg +ICAgICAgICAgICAgICAgIChwLnZvcm5hbWUgPyBwLnZvcm5hbWUgKyAnICcgOiAnJykgKyAocC5u +YW1lIHx8ICcnKSArCiAgICAgICAgICAgICAgICAgICAgICAgIChwLmdydXBwZSA/ICcgKCcgKyBw +LmdydXBwZSArICcpJyA6ICcnKSArICcg4oCUIE5XLUtlbm51bmcgZmVobHQnOwogICAgICAgICAg +ICBodG1sICs9ICc8b3B0aW9uIHZhbHVlPSIiIGRpc2FibGVkPicgKyBlc2NhcGVIVE1MKGxhYmVs +KSArICc8L29wdGlvbj4nOwogICAgICAgIH0pOwogICAgICAgIGh0bWwgKz0gJzwvb3B0Z3JvdXA+ +JzsKICAgIH0KICAgIHJldHVybiBodG1sOwp9CgpleHBvcnQgZnVuY3Rpb24gcm9sbGVuVGFiZWxs +ZVJlbmRlcm4odHlwKSB7CiAgICB2YXIgdGJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0 +eXAgKyAnLXRib2R5Jyk7CiAgICB2YXIgYnRuTmV1ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo +J2J0bi0nICsgdHlwICsgJy1uZXUnKTsKICAgIHZhciBidG5TcGVpY2hlcm4gPSBkb2N1bWVudC5n +ZXRFbGVtZW50QnlJZCgnYnRuLScgKyB0eXAgKyAnLXNwZWljaGVybicpOwogICAgdmFyIGtlaW5S +ZWNodCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHR5cCArICcta2Vpbi1yZWNodCcpOwogICAg +aWYgKCF0Ym9keSkgcmV0dXJuOwoKICAgIGlmICghWi5yZWNodGUuaXN0U3VwZXJVc2VyKSB7CiAg +ICAgICAgaWYgKGJ0bk5ldSkgYnRuTmV1LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAg +aWYgKGJ0blNwZWljaGVybikgYnRuU3BlaWNoZXJuLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAg +ICAgICAgaWYgKGtlaW5SZWNodCkga2VpblJlY2h0LmNsYXNzTGlzdC5yZW1vdmUoJ3ZlcnN0ZWNr +dCcpOwogICAgICAgIHRib2R5LmlubmVySFRNTCA9ICcnOwogICAgICAgIHJldHVybjsKICAgIH0K +ICAgIGlmIChidG5OZXUpIGJ0bk5ldS5zdHlsZS5kaXNwbGF5ID0gJyc7CiAgICBpZiAoYnRuU3Bl +aWNoZXJuKSBidG5TcGVpY2hlcm4uc3R5bGUuZGlzcGxheSA9ICcnOwogICAgaWYgKGtlaW5SZWNo +dCkga2VpblJlY2h0LmNsYXNzTGlzdC5hZGQoJ3ZlcnN0ZWNrdCcpOwoKICAgIHZhciBsaXN0ZSA9 +IFouYWRtaW5bdHlwXSB8fCBbXTsKICAgIGZ1bmN0aW9uIGNoayhpZHgsIGZlbGQsIGNoZWNrZWQp +IHsKICAgICAgICByZXR1cm4gJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9InJvbGxlLWNo +ayIgZGF0YS10eXA9IicgKyB0eXAgKyAnIiBkYXRhLWlkeD0iJyArIGlkeCArICciIGRhdGEtZmVs +ZD0iJyArIGZlbGQgKyAnIicgKyAoY2hlY2tlZCA/ICcgY2hlY2tlZCcgOiAnJykgKyAnPic7CiAg +ICB9CiAgICB2YXIgaHRtbCA9ICcnOwogICAgbGlzdGUuZm9yRWFjaChmdW5jdGlvbihlLCBpKSB7 +CiAgICAgICAgdmFyIHMgPSBlLnNlaGVuIHx8IHt9OwogICAgICAgIHZhciBlZCA9IGUuZWRpdGll +cmVuIHx8IHt9OwogICAgICAgIHZhciBwbGFuTGFiZWwgPSBmYWNoYXVmc2ljaHRQbGFuTGFiZWwo +ZWQpOwogICAgICAgIHZhciBhZG1pbkxhYmVsID0gZmFjaGF1ZnNpY2h0U3ViU2ljaHRMYWJlbCgn +YWRtaW4nLCBlLmFkbWluU2ljaHRiYXJrZWl0LCBzLmFkbWluaXN0cmF0aW9uKTsKICAgICAgICB2 +YXIgc3RhdExhYmVsICA9IGZhY2hhdWZzaWNodFN1YlNpY2h0TGFiZWwoJ3N0YXQnLCAgZS5zdGF0 +aXN0aWtTaWNodGJhcmtlaXQsIHMuc3RhdGlzdGlrKTsKCiAgICAgICAgaHRtbCArPSAnPHRyPicg +KwogICAgICAgICAgICAnPHRkPjxzZWxlY3QgY2xhc3M9InJvbGxlLWlucHV0IHJvbGxlLXBlcnNv +bi1zZWxlY3QiIGRhdGEtdHlwPSInICsgdHlwICsgJyIgZGF0YS1pZHg9IicgKyBpICsgJyIgZGF0 +YS1mZWxkPSJud0tlbm51bmciIHN0eWxlPSJ3aWR0aDoxMDAlIj4nICsKICAgICAgICAgICAgICAg +IHJvbGxlUGVyc29uT3B0aW9uc0h0bWwoZS5ud0tlbm51bmcgfHwgJycpICsKICAgICAgICAgICAg +Jzwvc2VsZWN0PjwvdGQ+JyArCiAgICAgICAgICAgICc8dGQgc3R5bGU9InRleHQtYWxpZ246Y2Vu +dGVyIj4nICsgY2hrKGksICdhZG1pbmlzdHJhdGlvbicsICEhcy5hZG1pbmlzdHJhdGlvbikgKyAn +PC90ZD4nICsKICAgICAgICAgICAgJzx0ZCBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIiPicgKyBj +aGsoaSwgJ3N0YXRpc3RpaycsICAgICAgISFzLnN0YXRpc3RpaykgKyAnPC90ZD4nICsKICAgICAg +ICAgICAgJzx0ZCBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIiPicgKyBjaGsoaSwgJ2xvZ2J1Y2gn +LCAgICAgICAgISFzLmxvZ2J1Y2gpICsgJzwvdGQ+JyArCiAgICAgICAgICAgICc8dGQgc3R5bGU9 +InRleHQtYWxpZ246Y2VudGVyIj4nICsgY2hrKGksICdiYWNrdXBzJywgICAgICAgICEhcy5iYWNr +dXBzKSArICc8L3RkPicgKwogICAgICAgICAgICAnPHRkPicgKwogICAgICAgICAgICAgICAgJzxi +dXR0b24gY2xhc3M9ImJ0biBidG4tc2VrIGJ0bi1rbGVpbiByb2xsZS1zdWJzaWNodC1idG4iIGRh +dGEtYWt0aW9uPSJyb2xsZS1zdWJzaWNodCIgZGF0YS10eXA9IicgKyB0eXAgKyAnIiBkYXRhLWlk +eD0iJyArIGkgKyAnIicgKyAocy5hZG1pbmlzdHJhdGlvbiA/ICcnIDogJyBkaXNhYmxlZCcpICsg +JyBzdHlsZT0id2lkdGg6MTAwJTt0ZXh0LWFsaWduOmxlZnQiPicgKyBlc2NhcGVIVE1MKGFkbWlu +TGFiZWwpICsgJzwvYnV0dG9uPicgKwogICAgICAgICAgICAgICAgJzxidXR0b24gY2xhc3M9ImJ0 +biBidG4tc2VrIGJ0bi1rbGVpbiByb2xsZS1zdWJzaWNodC1idG4iIGRhdGEtYWt0aW9uPSJyb2xs +ZS1zdGF0c2ljaHQiIGRhdGEtdHlwPSInICsgdHlwICsgJyIgZGF0YS1pZHg9IicgKyBpICsgJyIn +ICsgKHMuc3RhdGlzdGlrID8gJycgOiAnIGRpc2FibGVkJykgKyAnIHN0eWxlPSJ3aWR0aDoxMDAl +O3RleHQtYWxpZ246bGVmdDttYXJnaW4tdG9wOjNweCI+JyArIGVzY2FwZUhUTUwoc3RhdExhYmVs +KSArICc8L2J1dHRvbj4nICsKICAgICAgICAgICAgJzwvdGQ+JyArCiAgICAgICAgICAgICc8dGQ+ +JyArCiAgICAgICAgICAgICAgICAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWsgYnRuLWtsZWlu +IHJvbGxlLXBsYW4tYnRuIiBkYXRhLWFrdGlvbj0icm9sbGUtZGV0YWlscyIgZGF0YS10eXA9Iicg +KyB0eXAgKyAnIiBkYXRhLWlkeD0iJyArIGkgKyAnIiBzdHlsZT0id2lkdGg6MTAwJTt0ZXh0LWFs +aWduOmxlZnQiPicgKwogICAgICAgICAgICAgICAgICAgIGVzY2FwZUhUTUwocGxhbkxhYmVsKSAr +CiAgICAgICAgICAgICAgICAnPC9idXR0b24+JyArCiAgICAgICAgICAgICc8L3RkPicgKwogICAg +ICAgICAgICAnPHRkPicgKwogICAgICAgICAgICAgICAgJzxidXR0b24gY2xhc3M9ImJ0biBidG4t +Z2VmYWhyIGJ0bi1rbGVpbiBidG4tbG9lc2NoZW4iIGRhdGEtYWt0aW9uPSJyb2xsZS1sb2VzY2hl +biIgZGF0YS10eXA9IicgKyB0eXAgKyAnIiBkYXRhLWlkeD0iJyArIGkgKyAnIiB0aXRsZT0iTMO2 +c2NoZW4iPkzDtnNjaGVuPC9idXR0b24+JyArCiAgICAgICAgICAgICc8L3RkPicgKwogICAgICAg +ICAgICAnPC90cj4nOwogICAgfSk7CiAgICB0Ym9keS5pbm5lckhUTUwgPSBodG1sOwogICAgcm9s +bGVuRGlydHlTZXR6ZW4odHlwLCBmYWxzZSk7Cn0KCmV4cG9ydCBmdW5jdGlvbiByb2xsZW5EaXJ0 +eVNldHplbih0eXAsIGlzdERpcnR5KSB7IGRpcnR5U2V0emVuKHR5cCwgaXN0RGlydHkpOyB9Cgov +LyBCZWltIEF1c2xlc2VuOiBud0tlbm51bmcga29tbXQgYXVzIGRlbSBTZWxlY3QtV2VydCwgbmFt +ZSBhdXMgZGVtCi8vIGRhdGEtbmFtZS1BdHRyaWJ1dCBkZXMgc2VsZWt0aWVydGVuIE9wdGlvbnMu +CmV4cG9ydCBmdW5jdGlvbiByb2xsZW5BdXNUYWJlbGxlTGVzZW4odHlwLCBmaWx0ZXJMZWVyKSB7 +CiAgICB2YXIgYWx0ZUxpc3RlID0gWi5hZG1pblt0eXBdIHx8IFtdOwogICAgdmFyIG1hcCA9IHt9 +OwogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnJvbGxlLWlucHV0W2RhdGEtdHlwPSIn +ICsgdHlwICsgJyJdJykuZm9yRWFjaChmdW5jdGlvbihmKSB7CiAgICAgICAgdmFyIGlkeCA9IGYu +Z2V0QXR0cmlidXRlKCdkYXRhLWlkeCcpOwogICAgICAgIHZhciBmZWxkID0gZi5nZXRBdHRyaWJ1 +dGUoJ2RhdGEtZmVsZCcpOwogICAgICAgIGlmICghbWFwW2lkeF0pIG1hcFtpZHhdID0ge307CiAg +ICAgICAgdmFyIHdlcnQgPSBmLnZhbHVlLnRyaW0oKTsKICAgICAgICBtYXBbaWR4XVtmZWxkXSA9 +IHdlcnQ7CiAgICAgICAgaWYgKGZlbGQgPT09ICdud0tlbm51bmcnICYmIGYudGFnTmFtZSA9PT0g +J1NFTEVDVCcgJiYgZi5zZWxlY3RlZEluZGV4ID49IDApIHsKICAgICAgICAgICAgdmFyIG9wdCA9 +IGYub3B0aW9uc1tmLnNlbGVjdGVkSW5kZXhdOwogICAgICAgICAgICBtYXBbaWR4XS5uYW1lID0g +b3B0ID8gKG9wdC5nZXRBdHRyaWJ1dGUoJ2RhdGEtbmFtZScpIHx8ICcnKSA6ICcnOwogICAgICAg +IH0KICAgIH0pOwogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnJvbGxlLWNoa1tkYXRh +LXR5cD0iJyArIHR5cCArICciXScpLmZvckVhY2goZnVuY3Rpb24oYykgewogICAgICAgIHZhciBp +ZHggPSBjLmdldEF0dHJpYnV0ZSgnZGF0YS1pZHgnKTsKICAgICAgICB2YXIgZmVsZCA9IGMuZ2V0 +QXR0cmlidXRlKCdkYXRhLWZlbGQnKTsKICAgICAgICBpZiAoIW1hcFtpZHhdKSBtYXBbaWR4XSA9 +IHt9OwogICAgICAgIGlmICghbWFwW2lkeF0uc2VoZW4pIG1hcFtpZHhdLnNlaGVuID0ge307CiAg +ICAgICAgbWFwW2lkeF0uc2VoZW5bZmVsZF0gPSBjLmNoZWNrZWQ7CiAgICB9KTsKICAgIHZhciBl +cmdlYm5pcyA9IFtdOwogICAgT2JqZWN0LmtleXMobWFwKS5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsg +cmV0dXJuIHBhcnNlSW50KGEpIC0gcGFyc2VJbnQoYik7IH0pLmZvckVhY2goZnVuY3Rpb24oaykg +ewogICAgICAgIHZhciBhbHQgPSBhbHRlTGlzdGVbcGFyc2VJbnQoayldIHx8IHt9OwogICAgICAg +IHZhciBlID0gbWFwW2tdOwogICAgICAgIGlmIChmaWx0ZXJMZWVyICYmICFlLm53S2VubnVuZykg +cmV0dXJuOwogICAgICAgIGVyZ2VibmlzLnB1c2goewogICAgICAgICAgICBuYW1lOiAgICAgIGUu +bmFtZSB8fCAnJywKICAgICAgICAgICAgbndLZW5udW5nOiBlLm53S2VubnVuZyB8fCAnJywKICAg +ICAgICAgICAgc2VoZW46IHsKICAgICAgICAgICAgICAgIGFkbWluaXN0cmF0aW9uOiAhIShlLnNl +aGVuICYmIGUuc2VoZW4uYWRtaW5pc3RyYXRpb24pLAogICAgICAgICAgICAgICAgc3RhdGlzdGlr +OiAgICAgICEhKGUuc2VoZW4gJiYgZS5zZWhlbi5zdGF0aXN0aWspLAogICAgICAgICAgICAgICAg +bG9nYnVjaDogICAgICAgICEhKGUuc2VoZW4gJiYgZS5zZWhlbi5sb2didWNoKSwKICAgICAgICAg +ICAgICAgIGJhY2t1cHM6ICAgICAgICAhIShlLnNlaGVuICYmIGUuc2VoZW4uYmFja3VwcykKICAg +ICAgICAgICAgfSwKICAgICAgICAgICAgYWRtaW5TaWNodGJhcmtlaXQ6ICAgICBhbHQuYWRtaW5T +aWNodGJhcmtlaXQgICAgIHx8IHt9LAogICAgICAgICAgICBzdGF0aXN0aWtTaWNodGJhcmtlaXQ6 +IGFsdC5zdGF0aXN0aWtTaWNodGJhcmtlaXQgfHwge30sCiAgICAgICAgICAgIGVkaXRpZXJlbjog +YWx0LmVkaXRpZXJlbiB8fCB7IHBlcnNvbmVuSWRzOiBbXSwgZGllbnN0Z3J1cHBlbjogW10sIHN0 +YW5kb3J0ZTogW10gfQogICAgICAgIH0pOwogICAgfSk7CiAgICByZXR1cm4gZXJnZWJuaXM7Cn0K +CmV4cG9ydCBmdW5jdGlvbiByb2xsZW5OZXVFaW50cmFnKHR5cCkgewogICAgaWYgKCFaLnJlY2h0 +ZS5pc3RTdXBlclVzZXIpIHJldHVybjsKICAgIHZhciBha3R1ZWxsID0gcm9sbGVuQXVzVGFiZWxs +ZUxlc2VuKHR5cCwgZmFsc2UpOwogICAgYWt0dWVsbC5wdXNoKHsKICAgICAgICBuYW1lOiAnJywg +bndLZW5udW5nOiAnJywKICAgICAgICBzZWhlbjogeyBhZG1pbmlzdHJhdGlvbjogZmFsc2UsIHN0 +YXRpc3RpazogZmFsc2UsIGxvZ2J1Y2g6IGZhbHNlLCBiYWNrdXBzOiBmYWxzZSB9LAogICAgICAg +IGFkbWluU2ljaHRiYXJrZWl0OiB7fSwgc3RhdGlzdGlrU2ljaHRiYXJrZWl0OiB7fSwKICAgICAg +ICBlZGl0aWVyZW46IHsgcGVyc29uZW5JZHM6IFtdLCBkaWVuc3RncnVwcGVuOiBbXSwgc3RhbmRv +cnRlOiBbXSB9CiAgICB9KTsKICAgIFouYWRtaW5bdHlwXSA9IGFrdHVlbGw7CiAgICByb2xsZW5U +YWJlbGxlUmVuZGVybih0eXApOwogICAgcm9sbGVuRGlydHlTZXR6ZW4odHlwLCB0cnVlKTsKfQoK +ZXhwb3J0IGZ1bmN0aW9uIHJvbGxlbkVpbnRyYWdMb2VzY2hlbih0eXAsIGlkeCkgewogICAgaWYg +KCFaLnJlY2h0ZS5pc3RTdXBlclVzZXIpIHJldHVybjsKICAgIHZhciBha3R1ZWxsID0gcm9sbGVu +QXVzVGFiZWxsZUxlc2VuKHR5cCwgZmFsc2UpOwogICAgYWt0dWVsbC5zcGxpY2UoaWR4LCAxKTsK +ICAgIFouYWRtaW5bdHlwXSA9IGFrdHVlbGw7CiAgICByb2xsZW5UYWJlbGxlUmVuZGVybih0eXAp +OwogICAgcm9sbGVuRGlydHlTZXR6ZW4odHlwLCB0cnVlKTsKfQoKZXhwb3J0IGZ1bmN0aW9uIHJv +bGxlblNwZWljaGVybih0eXApIHsKICAgIGlmICghWi5yZWNodGUuaXN0U3VwZXJVc2VyKSByZXR1 +cm4gUHJvbWlzZS5yZXNvbHZlKCk7CiAgICB2YXIgbWV0YSA9IFJPTExFTl9UWVBFTlt0eXBdOwog +ICAgaWYgKCFtZXRhKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7CiAgICAvLyBLb21wbGV0dGUg +TGlzdGUgbGVzZW4gKGF1Y2ggRWludHJhZWdlIG9obmUgS2VubnVuZyDigJQgZGllc2UgdmVybGll +cmVuIHdpcgogICAgLy8gc29uc3Qgc3RpbGxzY2h3ZWlnZW5kLCB3ZW5uIHouQi4gZGVyIFVzZXIg +dmVyZ2Vzc2VuIGhhdCBlaW5lIFBlcnNvbgogICAgLy8gYXVzenV3YWVobGVuKS4KICAgIHZhciBh +bGxlID0gcm9sbGVuQXVzVGFiZWxsZUxlc2VuKHR5cCwgZmFsc2UpOwogICAgdmFyIGxlZXIgPSBh +bGxlLmZpbHRlcihmdW5jdGlvbihlKSB7IHJldHVybiAhZS5ud0tlbm51bmc7IH0pOwogICAgaWYg +KGxlZXIubGVuZ3RoID4gMCkgewogICAgICAgIHRvYXN0KG1ldGEubGFiZWwgKyAnOiAnICsgbGVl +ci5sZW5ndGggKyAnIEVpbnRyYWcvRWludHLDpGdlIG9obmUgUGVyc29uZW4tQXVzd2FobCDigJQg +Yml0dGUgdm9yIGRlbSBTcGVpY2hlcm4gZWluZSBQZXJzb24gd8OkaGxlbiBvZGVyIGRlbiBsZWVy +ZW4gRWludHJhZyBsw7ZzY2hlbicsICd3YXJudW5nJyk7CiAgICAgICAgcmV0dXJuIFByb21pc2Uu +cmVzb2x2ZSgpOwogICAgfQogICAgdmFyIGRhdGVuID0gYWxsZTsKICAgIFouYWRtaW5bdHlwXSA9 +IGRhdGVuOwogICAgcmV0dXJuIGFwaVB1dChtZXRhLmVuZHBvaW50LCBkYXRlbikudGhlbihmdW5j +dGlvbigpIHsKICAgICAgICB0b2FzdChtZXRhLmxhYmVsICsgJyBnZXNwZWljaGVydCAoJyArIGRh +dGVuLmxlbmd0aCArICcgRWludHJhZycgKyAoZGF0ZW4ubGVuZ3RoID09PSAxID8gJycgOiAnZScp +ICsgJyknLCAnZXJmb2xnJyk7CiAgICAgICAgcm9sbGVuRGlydHlTZXR6ZW4odHlwLCBmYWxzZSk7 +CiAgICAgICAgcm9sbGVuVGFiZWxsZVJlbmRlcm4odHlwKTsKICAgIH0pLmNhdGNoKGZ1bmN0aW9u +KGUpIHsKICAgICAgICB0b2FzdCgnRmVobGVyOiAnICsgKGUgJiYgZS5tZXNzYWdlIHx8IGUpLCAn +ZmVobGVyJyk7CiAgICAgICAgdGhyb3cgZTsKICAgIH0pOwp9CgovLyBTdWItU2ljaHQtTW9kYWwg +ZnVlciBkaWUgbmV1ZW4gUm9sbGVuIChEaXJla3Rpb25zbGVpdHVuZy9GdWVocnVuZ3MtCi8vIHN0 +ZWxsZSkuIE51dHp0IGpldHp0IGRhcyBnZW5lcmlzY2hlIGZhY2hhdWZzaWNodFN1YlNpY2h0TW9k +YWwgbWl0IGVpbmVtCi8vIFJvbGxlbi1Lb250ZXh0IOKAlCBLRUlOIHRlbXBvcmFlcmVzIFVtYmll +Z2VuIHZvbiBaLmFkbWluLmZhY2hhdWZzaWNodCArCi8vIHNldFRpbWVvdXQtUnVlY2tzcGllZ2Vs +dW5nIG1laHIuIERlciBmcnVlaGVyZSBTd2FwLVRyaWNrIGZldWVydGUgZGFzCi8vIFp1cnVlY2tz +cGllZ2VsbiBuYWNoIDUwbXMsIGFsc28gYmV2b3IgZGVyIFVzZXIgaW0gTW9kYWwgIlNwZWljaGVy +biIKLy8gZHJ1Y2t0ZSwgc29kYXNzIGRlciBNb2RhbC1TYXZlIGRpZSBlY2h0ZSBGYWNoYXVmc2lj +aHQtTGlzdGUgbWl0Ci8vIFJvbGxlbi1EYXRlbiB1ZWJlcnNjaHJpZWIgKENSSVRJQ0FMIERhdGVu +a29ycnVwdHVyKSBiencuIGVpbmVuCi8vIFR5cGVFcnJvciBhdXNsb2VzdGUuIEVybGVkaWd0Lgpl +eHBvcnQgZnVuY3Rpb24gcm9sbGVuU3ViU2ljaHRNb2RhbCh0eXAsIGlkeCwgc2ljaHRUeXApIHsK +ICAgIGlmICghWi5yZWNodGUuaXN0U3VwZXJVc2VyKSByZXR1cm47CiAgICBpZiAoIVJPTExFTl9U +WVBFTlt0eXBdKSByZXR1cm47CiAgICBmYWNoYXVmc2ljaHRTdWJTaWNodE1vZGFsKGlkeCwgc2lj +aHRUeXAsIHJvbGxlTW9kYWxDdHgodHlwKSk7Cn0KCi8vIFBsYW4tUmVjaHRlLU1vZGFsOiBhbmFs +b2cgdWViZXIgZGVuIGdlbmVyaXNjaGVuIERldGFpbC1Nb2RhbC1QZmFkLgpleHBvcnQgZnVuY3Rp +b24gcm9sbGVuUGxhblJlY2h0ZU1vZGFsKHR5cCwgaWR4KSB7CiAgICBpZiAoIVoucmVjaHRlLmlz +dFN1cGVyVXNlcikgcmV0dXJuOwogICAgaWYgKCFST0xMRU5fVFlQRU5bdHlwXSkgcmV0dXJuOwog +ICAgZmFjaGF1ZnNpY2h0RGV0YWlsTW9kYWwoaWR4LCByb2xsZU1vZGFsQ3R4KHR5cCkpOwp9Cgov +LyBNb2RhbCBmdWVyICJOZXVlciBGYWNoYXVmc2ljaHQtRWludHJhZyIg4oCUIFVzZXItV3Vuc2No +OgovLyBWYXJpYW50ZSBBOiBEcm9wZG93biBkZXIgV2FjaGxlaXR1bmdlbiAoR3J1cHBlIFdMKSBh +bHMgUXVpY2stUGljawovLyBWYXJpYW50ZSBCOiBNYW51ZWxsZSBBbmxhZ2UgKFBlcnNvbiBlcnNj +aGVpbnQgTklDSFQgaW4gZGVyIFBsYW51bmcsCi8vICAgICAgICAgICAgIGlzdCBudXIgRmFjaGF1 +ZnNpY2h0LUVpbnRyYWcgbWl0IE5hbWUgKyBud0tlbm51bmcpCmV4cG9ydCBmdW5jdGlvbiBmYWNo +YXVmc2ljaHROZXVNb2RhbCgpIHsKICAgIGlmICghWi5yZWNodGUuaXN0U3VwZXJVc2VyKSByZXR1 +cm47CiAgICB2YXIgd2FjaGxlaXR1bmdlbiA9IChaLnBsYW51bmcucGVyc29uZW4gfHwgW10pLmZp +bHRlcihmdW5jdGlvbihwKSB7CiAgICAgICAgcmV0dXJuIHAuYWt0aXYgJiYgcC5ncnVwcGUgPT09 +ICdXTCc7CiAgICB9KS5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsKICAgICAgICB2YXIgYW4gPSAoKGEu +dm9ybmFtZSB8fCAnJykgKyAnICcgKyAoYS5uYW1lIHx8ICcnKSkudHJpbSgpOwogICAgICAgIHZh +ciBibiA9ICgoYi52b3JuYW1lIHx8ICcnKSArICcgJyArIChiLm5hbWUgfHwgJycpKS50cmltKCk7 +CiAgICAgICAgcmV0dXJuIGFuLmxvY2FsZUNvbXBhcmUoYm4sICdkZScpOwogICAgfSk7CiAgICB2 +YXIgc2Nob25EcmluID0ge307CiAgICAoWi5hZG1pbi5mYWNoYXVmc2ljaHQgfHwgW10pLmZvckVh +Y2goZnVuY3Rpb24oZmEpIHsKICAgICAgICBpZiAoZmEubndLZW5udW5nKSBzY2hvbkRyaW5bZmEu +bndLZW5udW5nLnRvTG93ZXJDYXNlKCldID0gdHJ1ZTsKICAgIH0pOwoKICAgIHZhciBvcHRpb25l +biA9IHdhY2hsZWl0dW5nZW4ubWFwKGZ1bmN0aW9uKHApIHsKICAgICAgICB2YXIgYW56ZWlnZSA9 +ICgocC52b3JuYW1lID8gcC52b3JuYW1lICsgJyAnIDogJycpICsgcC5uYW1lKS50cmltKCk7CiAg +ICAgICAgdmFyIG9lID0gcC5vZSA/ICcgKCcgKyBwLm9lICsgJyknIDogJyc7CiAgICAgICAgdmFy +IGV4aXN0aWVydCA9IHAubndLZW5udW5nICYmIHNjaG9uRHJpbltwLm53S2VubnVuZy50b0xvd2Vy +Q2FzZSgpXTsKICAgICAgICByZXR1cm4gJzxvcHRpb24gdmFsdWU9IicgKyBwLmlkICsgJyInICsg +KGV4aXN0aWVydCA/ICcgZGlzYWJsZWQnIDogJycpICsgJz4nICsKICAgICAgICAgICAgICAgZXNj +YXBlSFRNTChhbnplaWdlICsgb2UgKyAoZXhpc3RpZXJ0ID8gJyDigJQgYmVyZWl0cyBGYWNoYXVm +c2ljaHQnIDogJycpKSArICc8L29wdGlvbj4nOwogICAgfSkuam9pbignJyk7CgogICAgdmFyIGtv +ZXJwZXIgPQogICAgICAgICc8cCBjbGFzcz0iZXZtLWJlc2NocmVpYnVuZyI+V8OkaGxlIGVpbmUg +YmVzdGVoZW5kZSBQZXJzb24gYXVzIGRlciA8c3Ryb25nPldhY2hsZWl0dW5nIChHcnVwcGUgV0wp +PC9zdHJvbmc+IG9kZXIgbGVnZSBtYW51ZWxsIGVpbmUgbmV1ZSBGYWNoYXVmc2ljaHQgYW4uIE1h +bnVlbGwgYW5nZWxlZ3RlIFBlcnNvbmVuIGVyc2NoZWluZW4gPHN0cm9uZz5uaWNodDwvc3Ryb25n +PiBpbiBkZXIgUGxhbnVuZyDigJQgc2llIGV4aXN0aWVyZW4gbnVyIGFscyBGYWNoYXVmc2ljaHQt +RWludHJhZy48L3A+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9ImZhLW5ldS1tb2R1cy16ZWlsZSI+ +JyArCiAgICAgICAgICAgICc8bGFiZWwgY2xhc3M9ImZhLW5ldS1tb2R1cy1vcHQiPjxpbnB1dCB0 +eXBlPSJyYWRpbyIgbmFtZT0iZmEtbmV1LW1vZHVzIiB2YWx1ZT0iZHJvcGRvd24iJyArICh3YWNo +bGVpdHVuZ2VuLmxlbmd0aCA/ICcgY2hlY2tlZCcgOiAnJykgKyAod2FjaGxlaXR1bmdlbi5sZW5n +dGggPyAnJyA6ICcgZGlzYWJsZWQnKSArICc+IEF1cyBXYWNobGVpdHVuZyB3w6RobGVuPC9sYWJl +bD4nICsKICAgICAgICAgICAgJzxsYWJlbCBjbGFzcz0iZmEtbmV1LW1vZHVzLW9wdCI+PGlucHV0 +IHR5cGU9InJhZGlvIiBuYW1lPSJmYS1uZXUtbW9kdXMiIHZhbHVlPSJtYW51ZWxsIicgKyAod2Fj +aGxlaXR1bmdlbi5sZW5ndGggPyAnJyA6ICcgY2hlY2tlZCcpICsgJz4gTWFudWVsbCBhbmxlZ2Vu +IChuaWNodCBpbiBQbGFudW5nKTwvbGFiZWw+JyArCiAgICAgICAgJzwvZGl2PicgKwogICAgICAg +ICc8ZGl2IGlkPSJmYS1uZXUtZHJvcGRvd24tYmVyZWljaCIgY2xhc3M9ImZhLW5ldS1iZXJlaWNo +IicgKyAod2FjaGxlaXR1bmdlbi5sZW5ndGggPyAnJyA6ICcgc3R5bGU9ImRpc3BsYXk6bm9uZSIn +KSArICc+JyArCiAgICAgICAgICAgICc8bGFiZWwgY2xhc3M9ImRsZy1sYWJlbCIgZm9yPSJmYS1u +ZXUtcGVyc29uIj5XYWNobGVpdHVuZzwvbGFiZWw+JyArCiAgICAgICAgICAgICc8c2VsZWN0IGlk +PSJmYS1uZXUtcGVyc29uIiBjbGFzcz0iZm9ybS1pbnB1dCIgc3R5bGU9IndpZHRoOjEwMCUiPicg +KwogICAgICAgICAgICAgICAgKG9wdGlvbmVuIHx8ICc8b3B0aW9uIHZhbHVlPSIiPktlaW5lIGFr +dGl2ZW4gV2FjaGxlaXR1bmdlbiB2b3JoYW5kZW48L29wdGlvbj4nKSArCiAgICAgICAgICAgICc8 +L3NlbGVjdD4nICsKICAgICAgICAnPC9kaXY+JyArCiAgICAgICAgJzxkaXYgaWQ9ImZhLW5ldS1t +YW51ZWxsLWJlcmVpY2giIGNsYXNzPSJmYS1uZXUtYmVyZWljaCInICsgKHdhY2hsZWl0dW5nZW4u +bGVuZ3RoID8gJyBzdHlsZT0iZGlzcGxheTpub25lIicgOiAnJykgKyAnPicgKwogICAgICAgICAg +ICAnPGRpdiBjbGFzcz0iZmEtbmV1LWdyaWQiPicgKwogICAgICAgICAgICAgICAgJzxkaXY+PGxh +YmVsIGNsYXNzPSJkbGctbGFiZWwiIGZvcj0iZmEtbmV1LXZvcm5hbWUiPlZvcm5hbWU8L2xhYmVs +PjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iZmEtbmV1LXZvcm5hbWUiIGNsYXNzPSJmb3JtLWlucHV0 +Ij48L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8ZGl2PjxsYWJlbCBjbGFzcz0iZGxnLWxhYmVs +IiBmb3I9ImZhLW5ldS1uYW1lIj5OYWNobmFtZSAqPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIg +aWQ9ImZhLW5ldS1uYW1lIiBjbGFzcz0iZm9ybS1pbnB1dCI+PC9kaXY+JyArCiAgICAgICAgICAg +ICAgICAnPGRpdiBzdHlsZT0iZ3JpZC1jb2x1bW46MS8tMSI+PGxhYmVsIGNsYXNzPSJkbGctbGFi +ZWwiIGZvcj0iZmEtbmV1LW53ayI+TlctS2VubnVuZyAqPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4 +dCIgaWQ9ImZhLW5ldS1ud2siIGNsYXNzPSJmb3JtLWlucHV0IiBwbGFjZWhvbGRlcj0iRE9NQUlO +XFx1c2VyIG9kZXIgTlcwNTM2MDkiPjwvZGl2PicgKwogICAgICAgICAgICAnPC9kaXY+JyArCiAg +ICAgICAgICAgICc8c21hbGwgY2xhc3M9ImV2bS1oaW53ZWlzIj5EaWVzZSBQZXJzb24gdGF1Y2h0 +IDxzdHJvbmc+bmljaHQ8L3N0cm9uZz4gaW4gZGVyIFBsYW51bmdzLVRhYmVsbGUgYXVmIOKAlCBz +aWUgaXN0IG51ciBhbHMgRmFjaGF1ZnNpY2h0ICh1bmQgZ2dmLiBTdXBlclVzZXIpIGtvbmZpZ3Vy +aWVyYmFyLiBOVy1LZW5udW5nIGlzdCBQZmxpY2h0LCBzb25zdCBrYW5uIHNpY2ggZGllIFBlcnNv +biBuaWNodCBhdXN3ZWlzZW4uPC9zbWFsbD4nICsKICAgICAgICAnPC9kaXY+JzsKCiAgICB2YXIg +ZnVzcyA9ICc8YnV0dG9uIGNsYXNzPSJidG4iIGlkPSJmYS1uZXUtYWJiciIgdHlwZT0iYnV0dG9u +Ij5BYmJyZWNoZW48L2J1dHRvbj4nICsKICAgICAgICAgICAgICAgJzxidXR0b24gY2xhc3M9ImJ0 +biBidG4tcHJpbWFlciIgaWQ9ImRsZy1zcGVpY2hlcm4iIHR5cGU9ImJ1dHRvbiI+w5xiZXJuZWht +ZW48L2J1dHRvbj4nOwoKICAgIG1vZGFsWmVpZ2VuKCdOZXVlciBGYWNoYXVmc2ljaHQtRWludHJh +ZycsIGtvZXJwZXIsIGZ1c3MsIGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBtb2R1cyA9IGRvY3Vt +ZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W25hbWU9ImZhLW5ldS1tb2R1cyJdOmNoZWNrZWQnKTsK +ICAgICAgICBpZiAoIW1vZHVzKSByZXR1cm47CiAgICAgICAgdmFyIG5ldSA9IG51bGw7CiAgICAg +ICAgaWYgKG1vZHVzLnZhbHVlID09PSAnZHJvcGRvd24nKSB7CiAgICAgICAgICAgIHZhciBwaWQg +PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmEtbmV1LXBlcnNvbicpLnZhbHVlOwogICAgICAg +ICAgICBpZiAoIXBpZCkgeyB0b2FzdCgnQml0dGUgZWluZSBXYWNobGVpdHVuZyB3w6RobGVuJywg +J3dhcm51bmcnKTsgcmV0dXJuOyB9CiAgICAgICAgICAgIHZhciBwID0gKFoucGxhbnVuZy5wZXJz +b25lbiB8fCBbXSkuZmluZChmdW5jdGlvbih4KSB7IHJldHVybiBTdHJpbmcoeC5pZCkgPT09IFN0 +cmluZyhwaWQpOyB9KTsKICAgICAgICAgICAgaWYgKCFwKSB7IHRvYXN0KCdQZXJzb24gbmljaHQg +Z2VmdW5kZW4nLCAnZmVobGVyJyk7IHJldHVybjsgfQogICAgICAgICAgICBpZiAocC5ud0tlbm51 +bmcgJiYgc2Nob25EcmluW3AubndLZW5udW5nLnRvTG93ZXJDYXNlKCldKSB7CiAgICAgICAgICAg +ICAgICB0b2FzdCgnRGllc2UgUGVyc29uIGlzdCBiZXJlaXRzIEZhY2hhdWZzaWNodCcsICd3YXJu +dW5nJyk7IHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgICBuZXUgPSB7CiAgICAgICAg +ICAgICAgICBuYW1lOiAgICAgICgocC52b3JuYW1lID8gcC52b3JuYW1lICsgJyAnIDogJycpICsg +cC5uYW1lKS50cmltKCksCiAgICAgICAgICAgICAgICBud0tlbm51bmc6IHAubndLZW5udW5nIHx8 +ICcnCiAgICAgICAgICAgIH07CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdmFyIG5hbWUg +PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmEtbmV1LW5hbWUnKS52YWx1ZS50cmltKCk7CiAg +ICAgICAgICAgIHZhciB2biAgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZhLW5ldS12b3Ju +YW1lJykudmFsdWUudHJpbSgpOwogICAgICAgICAgICB2YXIgbndrICA9IGRvY3VtZW50LmdldEVs +ZW1lbnRCeUlkKCdmYS1uZXUtbndrJykudmFsdWUudHJpbSgpOwogICAgICAgICAgICBpZiAoIW5h +bWUpIHsgdG9hc3QoJ05hY2huYW1lIGlzdCBQZmxpY2h0JywgJ3dhcm51bmcnKTsgcmV0dXJuOyB9 +CiAgICAgICAgICAgIGlmICghbndrKSAgeyB0b2FzdCgnTlctS2VubnVuZyBpc3QgUGZsaWNodCAo +c29uc3Qga2FubiBzaWNoIGRpZSBQZXJzb24gbmljaHQgYXVzd2Vpc2VuKScsICd3YXJudW5nJyk7 +IHJldHVybjsgfQogICAgICAgICAgICBpZiAoc2Nob25EcmluW253ay50b0xvd2VyQ2FzZSgpXSkg +eyB0b2FzdCgnRGllc2UgTlctS2VubnVuZyBpc3QgYmVyZWl0cyBGYWNoYXVmc2ljaHQnLCAnd2Fy +bnVuZycpOyByZXR1cm47IH0KICAgICAgICAgICAgbmV1ID0gewogICAgICAgICAgICAgICAgbmFt +ZTogICAgICB2biA/ICh2biArICcgJyArIG5hbWUpIDogbmFtZSwKICAgICAgICAgICAgICAgIG53 +S2VubnVuZzogbndrCiAgICAgICAgICAgIH07CiAgICAgICAgfQogICAgICAgIC8vIEFrdHVlbGxl +IFRhYmVsbGVuLVN0YXRlIHVlYmVybmVobWVuIChvaG5lIEZpbHRlciksIGRhbm4gYW5oYWVuZ2Vu +CiAgICAgICAgWi5hZG1pbi5mYWNoYXVmc2ljaHQgPSBmYWNoYXVmc2ljaHRBdXNUYWJlbGxlTGVz +ZW4oKTsKICAgICAgICBaLmFkbWluLmZhY2hhdWZzaWNodC5wdXNoKHsKICAgICAgICAgICAgbmFt +ZTogbmV1Lm5hbWUsCiAgICAgICAgICAgIG53S2VubnVuZzogbmV1Lm53S2VubnVuZywKICAgICAg +ICAgICAgc2VoZW46IHsgYWRtaW5pc3RyYXRpb246IGZhbHNlLCBzdGF0aXN0aWs6IGZhbHNlLCBs +b2didWNoOiBmYWxzZSwgYmFja3VwczogZmFsc2UgfSwKICAgICAgICAgICAgZ2VzYW10dmVyYW50 +d29ydGxpY2g6IGZhbHNlLAogICAgICAgICAgICBhZG1pblNpY2h0YmFya2VpdDoge30sCiAgICAg +ICAgICAgIHN0YXRpc3Rpa1NpY2h0YmFya2VpdDoge30sCiAgICAgICAgICAgIGVkaXRpZXJlbjog +eyBwZXJzb25lbklkczogW10sIGRpZW5zdGdydXBwZW46IFtdLCBzdGFuZG9ydGU6IFtdIH0KICAg +ICAgICB9KTsKICAgICAgICBtb2RhbFNjaGxpZXNzZW4odHJ1ZSk7CiAgICAgICAgZmFjaGF1ZnNp +Y2h0UmVuZGVybigpOwogICAgICAgIHRvYXN0KCdGYWNoYXVmc2ljaHQtRWludHJhZyAiJyArIG5l +dS5uYW1lICsgJyIgYW5nZWxlZ3Qg4oCUICJTcGVpY2hlcm4iIGRyw7xja2VuIHVtIGRhdWVyaGFm +dCB6dSBzaWNoZXJuJywgJ2luZm8nKTsKICAgIH0pOwoKICAgIGRvY3VtZW50LmdldEVsZW1lbnRC +eUlkKCdmYS1uZXUtYWJicicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7 +IG1vZGFsU2NobGllc3NlbigpOyB9KTsKICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lu +cHV0W25hbWU9ImZhLW5ldS1tb2R1cyJdJykuZm9yRWFjaChmdW5jdGlvbihyKSB7CiAgICAgICAg +ci5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFy +IHNlbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W25hbWU9ImZhLW5ldS1tb2R1cyJd +OmNoZWNrZWQnKTsKICAgICAgICAgICAgaWYgKCFzZWwpIHJldHVybjsKICAgICAgICAgICAgZG9j +dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZhLW5ldS1kcm9wZG93bi1iZXJlaWNoJykuc3R5bGUuZGlz +cGxheSA9IHNlbC52YWx1ZSA9PT0gJ2Ryb3Bkb3duJyA/ICcnIDogJ25vbmUnOwogICAgICAgICAg +ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmEtbmV1LW1hbnVlbGwtYmVyZWljaCcpLnN0eWxl +LmRpc3BsYXkgID0gc2VsLnZhbHVlID09PSAnbWFudWVsbCcgID8gJycgOiAnbm9uZSc7CiAgICAg +ICAgfSk7CiAgICB9KTsKfQoKLy8gY3R4IG9wdGlvbmFsIOKAlCBEZWZhdWx0IEZhY2hhdWZzaWNo +dDsgUm9sbGVuIHJlaWNoZW4gcm9sbGVNb2RhbEN0eCh0eXApLgpleHBvcnQgZnVuY3Rpb24gZmFj +aGF1ZnNpY2h0RGV0YWlsTW9kYWwoaWR4LCBjdHgpIHsKICAgIC8vIE1vZGFsIG1pdCBkcmVpIExp +c3RlbjogUGVyc29uZW4gKGNoZWNrYm94IGplIFBlcnNvbiksCiAgICAvLyBEaWVuc3RncnVwcGVu +IChjaGVja2JveCBqZSBHcnVwcGUpLCBTdGFuZG9ydGUgKGNoZWNrYm94IGplIE9FKS4KICAgIC8v +IEVkaXQtUmVjaHRlIHdlcmRlbiBkaXJla3QgaW4gY3R4LUxpc3RlW2lkeF0uZWRpdGllcmVuIGdl +c3BlaWNoZXJ0LgogICAgaWYgKCFaLnJlY2h0ZS5pc3RTdXBlclVzZXIpIHJldHVybjsKICAgIGN0 +eCA9IGN0eCB8fCBmYWNoYXVmc2ljaHRNb2RhbEN0eCgpOwogICAgLy8gS29tcGxldHRlIFRhYmVs +bGUgaW4gZGVuIFN0YXRlIHNwaWVnZWxuIChhbGxlIFplaWxlbikg4oCUIHNvbnN0IGdlaGVuCiAg +ICAvLyBwYXJhbGxlbGUgVGFiZWxsZW4tRWRpdHMgYmVpbSBNb2RhbC1TcHJ1bmcgdmVybG9yZW4u +CiAgICBjdHguc2V0TGlzdGUoY3R4LmF1c1RhYmVsbGVMZXNlbigpKTsKICAgIHZhciBsaXN0ZSA9 +IGN0eC5nZXRMaXN0ZSgpOwogICAgaWYgKCFsaXN0ZVtpZHhdKSByZXR1cm47CiAgICB2YXIgZmEg +PSBsaXN0ZVtpZHhdOwogICAgdmFyIGVkID0gZmEuZWRpdGllcmVuIHx8IHsgcGVyc29uZW5JZHM6 +IFtdLCBkaWVuc3RncnVwcGVuOiBbXSwgc3RhbmRvcnRlOiBbXSB9OwoKICAgIHZhciBwZXJzb25l +biA9IChaLnBsYW51bmcucGVyc29uZW4gfHwgW10pLnNsaWNlKCkKICAgICAgICAuZmlsdGVyKGZ1 +bmN0aW9uKHApIHsgcmV0dXJuIHAuYWt0aXY7IH0pCiAgICAgICAgLnNvcnQoZnVuY3Rpb24oYSwg +YikgeyByZXR1cm4gKGEucG9zaXRpb24gfHwgOTk5KSAtIChiLnBvc2l0aW9uIHx8IDk5OSk7IH0p +OwoKICAgIHZhciBzdGFuZG9ydGUgPSAoWi5hZG1pbi5zdGFuZG9ydGUgfHwgW10pLm1hcChmdW5j +dGlvbihzKSB7IHJldHVybiBzLmt1ZXJ6ZWwgfHwgcy5uYW1lOyB9KS5maWx0ZXIoQm9vbGVhbik7 +CgogICAgZnVuY3Rpb24gY2hrYm94KGlkLCBsYWJlbCwgY2hlY2tlZCkgewogICAgICAgIHJldHVy +biAnPGxhYmVsIHN0eWxlPSJkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtn +YXA6NnB4O21hcmdpbjoycHggMTJweCAycHggMDtjdXJzb3I6cG9pbnRlciI+JyArCiAgICAgICAg +ICAgICc8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJlZGl0LWNoayIgZGF0YS13ZXJ0PSIn +ICsgZXNjYXBlQXR0cihpZCkgKyAnIicgKyAoY2hlY2tlZCA/ICcgY2hlY2tlZCcgOiAnJykgKyAn +PicgKwogICAgICAgICAgICAnPHNwYW4+JyArIGVzY2FwZUhUTUwobGFiZWwpICsgJzwvc3Bhbj48 +L2xhYmVsPic7CiAgICB9CgogICAgdmFyIHBlcnNDYnMgPSBwZXJzb25lbi5tYXAoZnVuY3Rpb24o +cCkgewogICAgICAgIHZhciBuYW1lTGFiZWwgPSAoKHAudm9ybmFtZSA/IHAudm9ybmFtZSArICcg +JyA6ICcnKSArIHAubmFtZSkgKyAnIMK3ICcgKyBwLmdydXBwZTsKICAgICAgICByZXR1cm4gY2hr +Ym94KFN0cmluZyhwLmlkKSwgbmFtZUxhYmVsLCAoZWQucGVyc29uZW5JZHMgfHwgW10pLmluZGV4 +T2YoTnVtYmVyKHAuaWQpKSA+PSAwKTsKICAgIH0pLmpvaW4oJycpOwogICAgdmFyIGdydXBwZW5D +YnMgPSAoWi5hZG1pbi5ncnVwcGVuIHx8IFtdKS5tYXAoZnVuY3Rpb24oZ3IpIHsKICAgICAgICBy +ZXR1cm4gY2hrYm94KGdyLm5hbWUsIChnci5iZXplaWNobnVuZyB8fCBnci5uYW1lKSArICcgKCcg +KyBnci5uYW1lICsgJyknLCAoZWQuZGllbnN0Z3J1cHBlbiB8fCBbXSkuaW5kZXhPZihnci5uYW1l +KSA+PSAwKTsKICAgIH0pLmpvaW4oJycpOwogICAgdmFyIHN0YW5kb3J0ZUNicyA9IHN0YW5kb3J0 +ZS5tYXAoZnVuY3Rpb24ocykgewogICAgICAgIHJldHVybiBjaGtib3gocywgcywgKGVkLnN0YW5k +b3J0ZSB8fCBbXSkuaW5kZXhPZihzKSA+PSAwKTsKICAgIH0pLmpvaW4oJycpOwoKICAgIHZhciBr +b2VycGVyID0KICAgICAgICAnPHAgc3R5bGU9Im1hcmdpbi10b3A6MCI+WnVzw6R0emxpY2ggenVy +IDxiPmVpZ2VuZW4gWmVpbGU8L2I+IChpc3QgaW1tZXIgZXJsYXVidCkgZGFyZiBkaWVzZSBGYWNo +YXVmc2ljaHQgZGllIFBsYW51bmdzemVsbGVuIGZvbGdlbmRlciBFaW50csOkZ2Ugw6RuZGVybjo8 +L3A+JyArCiAgICAgICAgJzxoMyBzdHlsZT0ibWFyZ2luOjEycHggMCA0cHgiPkVpbnplbG5lIFBl +cnNvbmVuPC9oMz4nICsKICAgICAgICAnPGRpdiBpZD0iZGV0YWlsLXBlcnNvbmVuIiBzdHlsZT0i +bWF4LWhlaWdodDoyODBweDtvdmVyZmxvdzphdXRvO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9y +ZGVyLWxpZ2h0KTtwYWRkaW5nOjhweDtib3JkZXItcmFkaXVzOjRweCI+JyArCiAgICAgICAgICAg +IChwZXJzQ2JzIHx8ICc8c3BhbiBzdHlsZT0iY29sb3I6dmFyKC0tdGV4dC1tdXRlZCkiPktlaW5l +IGFrdGl2ZW4gUGVyc29uZW48L3NwYW4+JykgKwogICAgICAgICc8L2Rpdj4nICsKICAgICAgICAn +PGgzIHN0eWxlPSJtYXJnaW46MTJweCAwIDRweCI+R2FuemUgRGllbnN0Z3J1cHBlbjwvaDM+JyAr +CiAgICAgICAgJzxkaXYgaWQ9ImRldGFpbC1kaWVuc3RncnVwcGVuIiBzdHlsZT0icGFkZGluZzo0 +cHgiPicgKyAoZ3J1cHBlbkNicyB8fCAnPHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLXRleHQtbXV0 +ZWQpIj5LZWluZSBEaWVuc3RncnVwcGVuIGtvbmZpZ3VyaWVydDwvc3Bhbj4nKSArICc8L2Rpdj4n +ICsKICAgICAgICAnPGgzIHN0eWxlPSJtYXJnaW46MTJweCAwIDRweCI+R2FuemUgU3RhbmRvcnRl +IChPRSk8L2gzPicgKwogICAgICAgICc8ZGl2IGlkPSJkZXRhaWwtc3RhbmRvcnRlIiBzdHlsZT0i +cGFkZGluZzo0cHgiPicgKyAoc3RhbmRvcnRlQ2JzIHx8ICc8c3BhbiBzdHlsZT0iY29sb3I6dmFy +KC0tdGV4dC1tdXRlZCkiPktlaW5lIFN0YW5kb3J0ZSBrb25maWd1cmllcnQ8L3NwYW4+JykgKyAn +PC9kaXY+JzsKCiAgICBtb2RhbFplaWdlbignUGxhbnVuZzogJyArIChmYS5uYW1lIHx8ICcob2hu +ZSBOYW1lKScpLCBrb2VycGVyLAogICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4iIGlkPSJkbGct +YWJicmVjaGVuIj5BYmJyZWNoZW48L2J1dHRvbj4nICsKICAgICAgICAnPGJ1dHRvbiBjbGFzcz0i +YnRuIGJ0bi1wcmltYWVyIiBpZD0iZGxnLXNwZWljaGVybiI+w5xiZXJuZWhtZW48L2J1dHRvbj4n +LAogICAgICAgIGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgbmV1UCA9IFtdLCBuZXVHID0g +W10sIG5ldVMgPSBbXTsKICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI2Rl +dGFpbC1wZXJzb25lbiAuZWRpdC1jaGsnKS5mb3JFYWNoKGZ1bmN0aW9uKGMpIHsKICAgICAgICAg +ICAgICAgIGlmIChjLmNoZWNrZWQpIG5ldVAucHVzaChwYXJzZUludChjLmdldEF0dHJpYnV0ZSgn +ZGF0YS13ZXJ0JykpKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5 +U2VsZWN0b3JBbGwoJyNkZXRhaWwtZGllbnN0Z3J1cHBlbiAuZWRpdC1jaGsnKS5mb3JFYWNoKGZ1 +bmN0aW9uKGMpIHsKICAgICAgICAgICAgICAgIGlmIChjLmNoZWNrZWQpIG5ldUcucHVzaChjLmdl +dEF0dHJpYnV0ZSgnZGF0YS13ZXJ0JykpOwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgZG9j +dW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI2RldGFpbC1zdGFuZG9ydGUgLmVkaXQtY2hrJykuZm9y +RWFjaChmdW5jdGlvbihjKSB7CiAgICAgICAgICAgICAgICBpZiAoYy5jaGVja2VkKSBuZXVTLnB1 +c2goYy5nZXRBdHRyaWJ1dGUoJ2RhdGEtd2VydCcpKTsKICAgICAgICAgICAgfSk7CiAgICAgICAg +ICAgIGZhLmVkaXRpZXJlbiA9IHsgcGVyc29uZW5JZHM6IG5ldVAsIGRpZW5zdGdydXBwZW46IG5l +dUcsIHN0YW5kb3J0ZTogbmV1UyB9OwogICAgICAgICAgICBtb2RhbFNjaGxpZXNzZW4oKTsKICAg +ICAgICAgICAgY3R4LnJlbmRlcm4oKTsKICAgICAgICAgICAgY3R4Lm1hcmtEaXJ0eSgpOwogICAg +ICAgICAgICB0b2FzdCgnUGxhbnVuZ3MtUmVjaHRlIMO8YmVybm9tbWVuIOKAlCAiU3BlaWNoZXJu +IiBkcsO8Y2tlbiwgdW0gZGF1ZXJoYWZ0IHp1IHNpY2hlcm4nLCAnaW5mbycpOwogICAgICAgIH0K +ICAgICk7CiAgICB2YXIgYWJiciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkbGctYWJicmVj +aGVuJyk7CiAgICBpZiAoYWJicikgYWJici5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIG1vZGFs +U2NobGllc3Nlbik7Cn0K +### FILE: js/admin_standardrechte.js | 9237 +Ly8gPT09IGFkbWluX3N0YW5kYXJkcmVjaHRlLmpzID09PQovLyBBZG1pbi1UYWIgIlN0YW5kYXJk +cmVjaHRlIChVc2VyKSIg4oCUIFNVLW9ubHkuIFp3ZWkgVGVpbGU6Ci8vCi8vICAxKSBHcnVuZHNh +ZXR6bGljaGUgUGxhbnVuZ3NyZWNodGUgZnVlciBBTExFIHJlZ3VsYWVyZW4gVXNlcjogZ2VnZW5z +ZWl0aWdlCi8vICAgICBQbGFudW5nIGplIERpZW5zdGdydXBwZSB1bmQvb2RlciBqZSBTdGFuZG9y +dC4gU3RlaHQgZGllIGVpZ2VuZSBHcnVwcGUvCi8vICAgICBkZXIgZWlnZW5lIFN0YW5kb3J0IGhp +ZXIsIGRhcmYgbWFuIGFsbGUgTWl0Z2xpZWRlciBkaWVzZXIgR3J1cHBlL2RpZXNlcwovLyAgICAg +U3RhbmRvcnRzIG1pdHBsYW5lbi4gV2lyZCBzZXJ2ZXJzZWl0aWcgKGJlcmVjaG5lX3JlY2h0ZS9H +ZXQtUmVjaHRlKQovLyAgICAgYWRkaXRpdiBpbiBgZWRpdGllcmVuYCBlaW5nZXdvYmVuIC0+IGdy +ZWlmdCBpbiBkZXIgYmVzdGVoZW5kZW4gWmVsbC1FZGl0LQovLyAgICAgUHJ1ZWZ1bmcgb2huZSBT +b25kZXJsb2dpay4gUGVyc2lzdGVuejogUFVUIC9hcGkvYWRtaW4vc3RhbmRhcmRyZWNodGUuCi8v +Ci8vICAyKSBMaXN0ZSAiVXNlciBtaXQgenVzYWV0emxpY2hlbiBSZWNodGVuIjogYWxsZSBQZXJz +b25lbiwgZGllIGluIGRlcgovLyAgICAgUGVyc29uYWx2ZXJ3YWx0dW5nIGluZGl2aWR1ZWxsZSBl +ZGl0UmVjaHRlIGJla29tbWVuIGhhYmVuICh6LkIuIGhvY2gtCi8vICAgICByYW5naWdlIE1BKSwg +aW5rbC4gVmlzdWFsaXNpZXJ1bmcgaWhyZXIgWnVzYXR6cmVjaHRlICsgQmVhcmJlaXRlbi1MaW5r +LgoKaW1wb3J0IHsgWiB9IGZyb20gJy4vY29yZV9zdGF0ZS5qcyc7CmltcG9ydCB7IGVzY2FwZUhU +TUwsIGVzY2FwZUF0dHIgfSBmcm9tICcuL2NvcmVfdXRpbC5qcyc7CmltcG9ydCB7IHRvYXN0IH0g +ZnJvbSAnLi91aV9kaWFsb2cuanMnOwppbXBvcnQgeyBhcGkgfSBmcm9tICcuL2NvcmVfYXBpLmpz +JzsKaW1wb3J0IHsgcGVyc29uQmVhcmJlaXRlbkRpYWxvZyB9IGZyb20gJy4vYWRtaW5fcGVyc29u +YWwuanMnOwoKZnVuY3Rpb24gX2RhcmYoKSB7IHJldHVybiAhIShaLnJlY2h0ZSAmJiBaLnJlY2h0 +ZS5pc3RTdXBlclVzZXIpOyB9CmZ1bmN0aW9uIF9hcnIodikgeyByZXR1cm4gQXJyYXkuaXNBcnJh +eSh2KSA/IHYgOiAodiA9PSBudWxsID8gW10gOiBbdl0pOyB9CgpmdW5jdGlvbiBfc3RhbmRhcmRS +ZWNodGUoKSB7CiAgICB2YXIgc3IgPSAoWi5hZG1pbiAmJiBaLmFkbWluLnN0YW5kYXJkUmVjaHRl +KSB8fCB7fTsKICAgIHJldHVybiB7CiAgICAgICAgZ2VnZW5zZWl0aWdHcnVwcGVuOiAgIF9hcnIo +c3IuZ2VnZW5zZWl0aWdHcnVwcGVuKS5tYXAoU3RyaW5nKSwKICAgICAgICBnZWdlbnNlaXRpZ1N0 +YW5kb3J0ZTogX2Fycihzci5nZWdlbnNlaXRpZ1N0YW5kb3J0ZSkubWFwKFN0cmluZykKICAgIH07 +Cn0KCmZ1bmN0aW9uIF9ncnVwcGVuTGFiZWwobmFtZSkgewogICAgdmFyIGcgPSAoWi5hZG1pbi5n +cnVwcGVuIHx8IFtdKS5maWx0ZXIoZnVuY3Rpb24oeCl7IHJldHVybiB4Lm5hbWUgPT09IG5hbWU7 +IH0pWzBdOwogICAgcmV0dXJuIGcgPyAoZy5iZXplaWNobnVuZyB8fCBnLm5hbWUpIDogbmFtZTsK +fQpmdW5jdGlvbiBfc3RhbmRvcnRMYWJlbChrdWVyemVsKSB7CiAgICB2YXIgcyA9IChaLmFkbWlu +LnN0YW5kb3J0ZSB8fCBbXSkuZmlsdGVyKGZ1bmN0aW9uKHgpeyByZXR1cm4geC5rdWVyemVsID09 +PSBrdWVyemVsOyB9KVswXTsKICAgIGlmIChzICYmIHMubmFtZSkgcmV0dXJuIHMubmFtZSArICcg +KCcgKyBrdWVyemVsICsgJyknOwogICAgcmV0dXJuIGt1ZXJ6ZWw7Cn0KZnVuY3Rpb24gX3BlcnNv +bk5hbWUoaWQpIHsKICAgIHZhciBwID0gKChaLnBsYW51bmcgJiYgWi5wbGFudW5nLnBlcnNvbmVu +KSB8fCBbXSkuZmlsdGVyKGZ1bmN0aW9uKHgpeyByZXR1cm4gU3RyaW5nKHguaWQpID09PSBTdHJp +bmcoaWQpOyB9KVswXTsKICAgIGlmICghcCkgcmV0dXJuICcjJyArIGlkOwogICAgdmFyIG4gPSAo +cC5uYW1lIHx8ICcnKS50cmltKCksIHYgPSAocC52b3JuYW1lIHx8ICcnKS50cmltKCk7CiAgICBy +ZXR1cm4gdiA/IChuICsgJywgJyArIHYpIDogbjsKfQoKLy8gPT09PT0gUmVuZGVyID09PT09Cgpl +eHBvcnQgZnVuY3Rpb24gc3RhbmRhcmRyZWNodGVSZW5kZXJuKCkgewogICAgdmFyIGNvbnQgPSBk +b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhbmRhcmRyZWNodGUtaW5oYWx0Jyk7CiAgICBpZiAo +IWNvbnQpIHJldHVybjsKICAgIGlmICghX2RhcmYoKSkgewogICAgICAgIGNvbnQuaW5uZXJIVE1M +ID0gJzxkaXYgY2xhc3M9ImFkbWluLWVtcHR5Ij48ZGl2IGNsYXNzPSJhZG1pbi1lbXB0eS10ZXh0 +Ij5OdXIgU3VwZXJVc2VyIGTDvHJmZW4gU3RhbmRhcmRyZWNodGUgdmVyd2FsdGVuLjwvZGl2Pjwv +ZGl2Pic7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHNyID0gX3N0YW5kYXJkUmVjaHRl +KCk7CiAgICBjb250LmlubmVySFRNTCA9IF9lcmtsYWVydW5nSHRtbCgpICsgX2tvbmZpZ0h0bWwo +c3IpICsgX3p1c2F0ekxpc3RlSHRtbCgpOwogICAgX3ZlcmRyYWh0ZW4oY29udCk7Cn0KCmZ1bmN0 +aW9uIF9lcmtsYWVydW5nSHRtbCgpIHsKICAgIHJldHVybiAnJyArCiAgICAnPGRldGFpbHMgY2xh +c3M9ImFkbWluLWluZm8iIGRhdGEtaW5mby1rZXk9InN0YW5kYXJkcmVjaHRlIiBvcGVuPicgKwog +ICAgICAgICc8c3VtbWFyeT48c3BhbiBjbGFzcz0iYWRtaW4taW5mby1jaGV2Ij7ilrg8L3NwYW4+ +V2FzIHNpbmQgU3RhbmRhcmRyZWNodGU/PHNwYW4gY2xhc3M9ImFkbWluLWluZm8tYmFkZ2UiPkF1 +ZmtsYXBwZW4gLyBadWtsYXBwZW48L3NwYW4+PC9zdW1tYXJ5PicgKwogICAgICAgICc8ZGl2IGNs +YXNzPSJhZG1pbi1pbmZvLWJvZHkiPicgKwogICAgICAgICAgICAnPHA+PHN0cm9uZz5TdGFuZGFy +ZHJlY2h0ZTwvc3Ryb25nPiBnZWx0ZW4gZsO8ciA8Yj5hbGxlPC9iPiBNaXRhcmJlaXRlbmRlbiwg +ZGllIGluIGtlaW5lciBSb2xsZW4tTGlzdGUgKFN1cGVyVXNlciAvIEZhY2hhdWZzaWNodCAvIERp +cmVrdGlvbnNsZWl0dW5nIC8gRsO8aHJ1bmdzc3RlbGxlKSBzdGVoZW4g4oCUIGFsc28gZGVuIOKA +nm5vcm1hbGVuIiBVc2VyLjwvcD4nICsKICAgICAgICAgICAgJzxwPjxzdHJvbmc+SW1tZXIgZXJs +YXVidCAoQmFzaXMsIG5pY2h0IGFic2NoYWx0YmFyKTo8L3N0cm9uZz48L3A+JyArCiAgICAgICAg +ICAgICc8dWw+JyArCiAgICAgICAgICAgICAgICAnPGxpPjxiPkVpZ2VuZSBaZWlsZTwvYj4g4oCU +IGplZGUgUGVyc29uIGRhcmYgaWhyZSBlaWdlbmVuIFRhZ2UgZWludHJhZ2VuLjwvbGk+JyArCiAg +ICAgICAgICAgICAgICAnPGxpPjxiPk1pa3JvdGVhbTwvYj4g4oCUIE1pdGdsaWVkZXIgZGVzc2Vs +YmVuIE1pa3JvdGVhbXMgcGxhbmVuIHNpY2ggZ2VnZW5zZWl0aWcgKFBmbGVnZSB1bnRlciA8ZW0+ +TWlrcm90ZWFtczwvZW0+KS48L2xpPicgKwogICAgICAgICAgICAnPC91bD4nICsKICAgICAgICAg +ICAgJzxwPjxzdHJvbmc+WnVzw6R0emxpY2gga29uZmlndXJpZXJiYXIgKHVudGVuKTo8L3N0cm9u +Zz4g4oCeZ2VnZW5zZWl0aWdlIFBsYW51bmciIGplIERpZW5zdGdydXBwZSBvZGVyIFN0YW5kb3J0 +LiBCZWlzcGllbDogSXN0IGRpZSBTY2hpY2h0Z3J1cHBlIDxjb2RlPkE8L2NvZGU+IGFrdGl2aWVy +dCwgZGFyZiA8Yj5qZWRlczwvYj4gTWl0Z2xpZWQgZGVyIEdydXBwZSBBIDxiPmplZGVzIGFuZGVy +ZTwvYj4gTWl0Z2xpZWQgZGVyIEdydXBwZSBBIG1pdHBsYW5lbi4gQW5hbG9nIGRlciBTdGFuZG9y +dCAoei5CLiBhbGxlIGRlciBBUFcgS2FtZW4pLjwvcD4nICsKICAgICAgICAgICAgJzxwPjxzdHJv +bmc+SW5kaXZpZHVlbGxlIFp1c2F0enJlY2h0ZTwvc3Ryb25nPiBlaW56ZWxuZXIgUGVyc29uZW4g +d2VyZGVuIHdlaXRlcmhpbiBpbiBkZXIgPGVtPlBlcnNvbmFsdmVyd2FsdHVuZzwvZW0+IHBybyBQ +ZXJzb24gZ2VzZXR6dCDigJQgc2llIHNpbmQgdW50ZW4gaW4gZGVyIMOcYmVyc2ljaHQgYXVmZ2Vm +w7xocnQuPC9wPicgKwogICAgICAgICc8L2Rpdj4nICsKICAgICc8L2RldGFpbHM+JzsKfQoKZnVu +Y3Rpb24gX2NoaXBzKGdycCwgb3B0aW9uZW4sIHNlbGVjdGVkKSB7CiAgICB2YXIgY2hpcHMgPSBv +cHRpb25lbi5tYXAoZnVuY3Rpb24obykgewogICAgICAgIHZhciBhbiA9IHNlbGVjdGVkLmluZGV4 +T2YoU3RyaW5nKG8ud2VydCkpID49IDA7CiAgICAgICAgcmV0dXJuICc8bGFiZWwgY2xhc3M9ImJs +ZC1jaGlwJyArIChhbiA/ICcgYW4nIDogJycpICsgJyI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBk +YXRhLXNyY2hpcD0iJyArIGVzY2FwZUF0dHIoZ3JwKSArICciIHZhbHVlPSInICsgZXNjYXBlQXR0 +cihTdHJpbmcoby53ZXJ0KSkgKyAnIicgKyAoYW4gPyAnIGNoZWNrZWQnIDogJycpICsgJz48c3Bh +bj4nICsgZXNjYXBlSFRNTChvLmxhYmVsKSArICc8L3NwYW4+PC9sYWJlbD4nOwogICAgfSkuam9p +bignJyk7CiAgICByZXR1cm4gJzxkaXYgY2xhc3M9ImJsZC1jaGlwcyI+JyArIChjaGlwcyB8fCAn +PHNwYW4gY2xhc3M9ImJsZC1saXN0ZS1sZWVyIj7igJQ8L3NwYW4+JykgKyAnPC9kaXY+JzsKfQoK +ZnVuY3Rpb24gX2tvbmZpZ0h0bWwoc3IpIHsKICAgIHZhciBnck9wdCA9IChaLmFkbWluLmdydXBw +ZW4gfHwgW10pLm1hcChmdW5jdGlvbihnKXsgcmV0dXJuIHsgd2VydDogZy5uYW1lLCBsYWJlbDog +Zy5iZXplaWNobnVuZyB8fCBnLm5hbWUgfTsgfSk7CiAgICB2YXIgc3RPcHQgPSAoWi5hZG1pbi5z +dGFuZG9ydGUgfHwgW10pLm1hcChmdW5jdGlvbihzKXsgcmV0dXJuIHsgd2VydDogcy5rdWVyemVs +LCBsYWJlbDogcy5uYW1lID8gKHMubmFtZSArICcgKCcgKyBzLmt1ZXJ6ZWwgKyAnKScpIDogcy5r +dWVyemVsIH07IH0pOwogICAgcmV0dXJuICcnICsKICAgICc8c2VjdGlvbiBjbGFzcz0iYWRtaW4t +c2VrdGlvbiBzci1rb25maWciPicgKwogICAgICAgICc8aDM+R2VnZW5zZWl0aWdlIFBsYW51bmc8 +L2gzPicgKwogICAgICAgICc8ZGl2IGNsYXNzPSJibGQtZmVsZCI+PHNwYW4gY2xhc3M9ImJsZC1m +ZWxkLXRpdGVsIj5EaWVuc3RncnVwcGVuLCBkZXJlbiBNaXRnbGllZGVyIHNpY2ggZ2VnZW5zZWl0 +aWcgcGxhbmVuPC9zcGFuPicgKwogICAgICAgICAgICBfY2hpcHMoJ2dydXBwZW4nLCBnck9wdCwg +c3IuZ2VnZW5zZWl0aWdHcnVwcGVuKSArICc8L2Rpdj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0i +YmxkLWZlbGQiPjxzcGFuIGNsYXNzPSJibGQtZmVsZC10aXRlbCI+U3RhbmRvcnRlLCBkZXJlbiBN +aXRnbGllZGVyIHNpY2ggZ2VnZW5zZWl0aWcgcGxhbmVuPC9zcGFuPicgKwogICAgICAgICAgICBf +Y2hpcHMoJ3N0YW5kb3J0ZScsIHN0T3B0LCBzci5nZWdlbnNlaXRpZ1N0YW5kb3J0ZSkgKyAnPC9k +aXY+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9InJlY2h0ZS1jYXJkLWZ1c3MiPjxidXR0b24gY2xh +c3M9ImJ0biBidG4tcHJpbWFlciIgdHlwZT0iYnV0dG9uIiBpZD0ic3Itc3BlaWNoZXJuIj5TdGFu +ZGFyZHJlY2h0ZSBzcGVpY2hlcm48L2J1dHRvbj4nICsKICAgICAgICAgICAgJzxzcGFuIGNsYXNz +PSJzci1oaW53ZWlzIj5HaWx0IHNvZm9ydCBmw7xyIGFsbGUgcmVndWzDpHJlbiBVc2VyIChncmVp +ZnQgYmVpbSBuw6RjaHN0ZW4gTGFkZW4gaWhyZXIgUGxhbnVuZykuPC9zcGFuPjwvZGl2PicgKwog +ICAgJzwvc2VjdGlvbj4nOwp9CgpmdW5jdGlvbiBfenVzYXR6TGlzdGVIdG1sKCkgewogICAgdmFy +IGxldXRlID0gKChaLnBsYW51bmcgJiYgWi5wbGFudW5nLnBlcnNvbmVuKSB8fCBbXSkuZmlsdGVy +KGZ1bmN0aW9uKHApIHsKICAgICAgICB2YXIgZXIgPSBwLmVkaXRSZWNodGU7CiAgICAgICAgaWYg +KCFlcikgcmV0dXJuIGZhbHNlOwogICAgICAgIHJldHVybiAoX2Fycihlci5wZXJzb25lbklkcyku +bGVuZ3RoICsgX2Fycihlci5kaWVuc3RncnVwcGVuKS5sZW5ndGggKyBfYXJyKGVyLnN0YW5kb3J0 +ZSkubGVuZ3RoKSA+IDA7CiAgICB9KTsKICAgIHZhciBpbmhhbHQ7CiAgICBpZiAoIWxldXRlLmxl +bmd0aCkgewogICAgICAgIGluaGFsdCA9ICc8ZGl2IGNsYXNzPSJibGQtbGlzdGUtbGVlciI+QWt0 +dWVsbCBoYXQga2VpbmUgUGVyc29uIGluZGl2aWR1ZWxsZSBadXNhdHpyZWNodGUuIERpZXNlIHdl +cmRlbiBpbiBkZXIgUGVyc29uYWx2ZXJ3YWx0dW5nIHBybyBQZXJzb24gZ2VzZXR6dCAobnVyIFN1 +cGVyVXNlcikuPC9kaXY+JzsKICAgIH0gZWxzZSB7CiAgICAgICAgaW5oYWx0ID0gJzxkaXYgY2xh +c3M9InNyLXp1c2F0ei1pdGVtcyI+JyArIGxldXRlLm1hcChmdW5jdGlvbihwKSB7CiAgICAgICAg +ICAgIHZhciBlciA9IHAuZWRpdFJlY2h0ZSB8fCB7fTsKICAgICAgICAgICAgdmFyIHRlaWxlID0g +W107CiAgICAgICAgICAgIHZhciBwaXMgPSBfYXJyKGVyLnBlcnNvbmVuSWRzKTsKICAgICAgICAg +ICAgaWYgKHBpcy5sZW5ndGgpIHRlaWxlLnB1c2goJzxzcGFuIGNsYXNzPSJzci10YWcgc3ItdGFn +LXBlcnNvbiI+UGVyc29uZW46ICcgKyBwaXMubWFwKGZ1bmN0aW9uKGlkKXsgcmV0dXJuIGVzY2Fw +ZUhUTUwoX3BlcnNvbk5hbWUoaWQpKTsgfSkuam9pbignLCAnKSArICc8L3NwYW4+Jyk7CiAgICAg +ICAgICAgIF9hcnIoZXIuZGllbnN0Z3J1cHBlbikuZm9yRWFjaChmdW5jdGlvbihnKXsgdGVpbGUu +cHVzaCgnPHNwYW4gY2xhc3M9InNyLXRhZyBzci10YWctZ3JwIj5HcnVwcGUgJyArIGVzY2FwZUhU +TUwoX2dydXBwZW5MYWJlbChnKSkgKyAnPC9zcGFuPicpOyB9KTsKICAgICAgICAgICAgX2Fycihl +ci5zdGFuZG9ydGUpLmZvckVhY2goZnVuY3Rpb24ocyl7IHRlaWxlLnB1c2goJzxzcGFuIGNsYXNz +PSJzci10YWcgc3ItdGFnLW9ydCI+U3RhbmRvcnQgJyArIGVzY2FwZUhUTUwoX3N0YW5kb3J0TGFi +ZWwocykpICsgJzwvc3Bhbj4nKTsgfSk7CiAgICAgICAgICAgIHZhciBwTmFtZSA9IChwLm5hbWUg +fHwgJycpICsgKHAudm9ybmFtZSA/ICgnLCAnICsgcC52b3JuYW1lKSA6ICcnKTsKICAgICAgICAg +ICAgdmFyIG1ldGEgPSBbcC5mdW5rdGlvbiwgcC5ncnVwcGUsIHAub2VdLmZpbHRlcihCb29sZWFu +KS5qb2luKCcgwrcgJyk7CiAgICAgICAgICAgIHJldHVybiAnPGRpdiBjbGFzcz0ic3ItenVzYXR6 +LWl0ZW0iPicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InNyLXp1c2F0ei1rb3BmIj48 +c3BhbiBjbGFzcz0ic3ItenVzYXR6LW5hbWUiPicgKyBlc2NhcGVIVE1MKHBOYW1lKSArICc8L3Nw +YW4+JyArCiAgICAgICAgICAgICAgICAgICAgKG1ldGEgPyAnPHNwYW4gY2xhc3M9InNyLXp1c2F0 +ei1tZXRhIj4nICsgZXNjYXBlSFRNTChtZXRhKSArICc8L3NwYW4+JyA6ICcnKSArCiAgICAgICAg +ICAgICAgICAgICAgJzxidXR0b24gY2xhc3M9ImJ0biBidG4tbWluaSIgdHlwZT0iYnV0dG9uIiBk +YXRhLXNyLWVkaXQ9IicgKyBlc2NhcGVBdHRyKFN0cmluZyhwLmlkKSkgKyAnIj5CZWFyYmVpdGVu +PC9idXR0b24+PC9kaXY+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ic3ItenVzYXR6 +LXJlY2h0ZSI+JyArIHRlaWxlLmpvaW4oJycpICsgJzwvZGl2PicgKwogICAgICAgICAgICAnPC9k +aXY+JzsKICAgICAgICB9KS5qb2luKCcnKSArICc8L2Rpdj4nOwogICAgfQogICAgcmV0dXJuICc8 +c2VjdGlvbiBjbGFzcz0iYWRtaW4tc2VrdGlvbiBzci16dXNhdHoiPicgKwogICAgICAgICc8aDM+ +VXNlciBtaXQgenVzw6R0emxpY2hlbiBSZWNodGVuPC9oMz4nICsKICAgICAgICAnPHAgY2xhc3M9 +InNyLXp1c2F0ei1zdWIiPkRpZXNlIFBlcnNvbmVuIGTDvHJmZW4gw7xiZXIgZGllIEJhc2lzLS9T +dGFuZGFyZHJlY2h0ZSBoaW5hdXMgd2VpdGVyZSBQZXJzb25lbiwgR3J1cHBlbiBvZGVyIFN0YW5k +b3J0ZSBwbGFuZW4gKGluZGl2aWR1ZWxsIGluIGRlciBQZXJzb25hbHZlcndhbHR1bmcgdmVyZ2Vi +ZW4pLjwvcD4nICsKICAgICAgICBpbmhhbHQgKyAnPC9zZWN0aW9uPic7Cn0KCi8vID09PT09IFNw +ZWljaGVybiAvIFZlcmRyYWh0dW5nID09PT09CgpmdW5jdGlvbiBfbGVzZUNoaXBzKGdycCkgewog +ICAgdmFyIG91dCA9IFtdOwogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtc3Jj +aGlwPSInICsgZ3JwICsgJyJdOmNoZWNrZWQnKS5mb3JFYWNoKGZ1bmN0aW9uKGMpeyBvdXQucHVz +aChjLnZhbHVlKTsgfSk7CiAgICByZXR1cm4gb3V0Owp9CmZ1bmN0aW9uIF9zcGVpY2hlcm4oKSB7 +CiAgICB2YXIgZGF0ZW4gPSB7IGdlZ2Vuc2VpdGlnR3J1cHBlbjogX2xlc2VDaGlwcygnZ3J1cHBl +bicpLCBnZWdlbnNlaXRpZ1N0YW5kb3J0ZTogX2xlc2VDaGlwcygnc3RhbmRvcnRlJykgfTsKICAg +IGFwaSgnL2FwaS9hZG1pbi9zdGFuZGFyZHJlY2h0ZScsIHsgbWV0aG9kOiAnUFVUJywgaGVhZGVy +czogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sIGJvZHk6IEpTT04uc3Ry +aW5naWZ5KGRhdGVuKSB9KQogICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICBa +LmFkbWluLnN0YW5kYXJkUmVjaHRlID0gZGF0ZW47CiAgICAgICAgICAgIHRvYXN0KCdTdGFuZGFy +ZHJlY2h0ZSBnZXNwZWljaGVydCcsICdlcmZvbGcnKTsKICAgICAgICAgICAgc3RhbmRhcmRyZWNo +dGVSZW5kZXJuKCk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZSl7IHRvYXN0KCdTcGVpY2hl +cm4gZmVobGdlc2NobGFnZW46ICcgKyBlLm1lc3NhZ2UsICdmZWhsZXInKTsgfSk7Cn0KCmZ1bmN0 +aW9uIF92ZXJkcmFodGVuKGNvbnQpIHsKICAgIGNvbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdl +JywgZnVuY3Rpb24oZSkgewogICAgICAgIHZhciB0ID0gZS50YXJnZXQ7CiAgICAgICAgaWYgKHQu +bWF0Y2hlcyAmJiB0Lm1hdGNoZXMoJ1tkYXRhLXNyY2hpcF0nKSkgewogICAgICAgICAgICB2YXIg +bGFiID0gdC5jbG9zZXN0KCcuYmxkLWNoaXAnKTsgaWYgKGxhYikgbGFiLmNsYXNzTGlzdC50b2dn +bGUoJ2FuJywgdC5jaGVja2VkKTsKICAgICAgICB9CiAgICB9KTsKICAgIHZhciBzYiA9IGRvY3Vt +ZW50LmdldEVsZW1lbnRCeUlkKCdzci1zcGVpY2hlcm4nKTsKICAgIGlmIChzYikgc2IuYWRkRXZl +bnRMaXN0ZW5lcignY2xpY2snLCBfc3BlaWNoZXJuKTsKICAgIGNvbnQucXVlcnlTZWxlY3RvckFs +bCgnW2RhdGEtc3ItZWRpdF0nKS5mb3JFYWNoKGZ1bmN0aW9uKGIpIHsKICAgICAgICBiLmFkZEV2 +ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgcGVyc29uQmVhcmJlaXRlbkRpYWxvZyhw +YXJzZUludChiLmdldEF0dHJpYnV0ZSgnZGF0YS1zci1lZGl0JyksIDEwKSk7IH0pOwogICAgfSk7 +Cn0K +### FILE: js/admin_statistik.js | 8259 +Ly8gPT09IGFkbWluX3N0YXRpc3Rpay5qcyA9PT0KLy8gU3VwZXJVc2VyLUxheW91dC1SYXN0ZXIg +ZnVlciBkZW4gU3RhdGlzdGlrLVRhYi4gT3JkbmV0IEFMTEUgU3RhdGlzdGlrLQovLyBLYWNoZWxu +IChmZXN0ZSBQYW5lbHMgKyBzZWxic3RnZWJhdXRlIEJhdWthc3Rlbi1LYWNoZWxuKSBpbiBlaW5l +bSB2aXN1ZWxsZW4KLy8gNi1TcGFsdGVuLVJhc3RlciBhbjogQnJlaXRlICgxOjEgdm9sbCAvIDE6 +MiBoYWxiIC8gMTozIGRyaXR0ZWwpLCBSZWloZW5mb2xnZQovLyAoRHJhZykgdW5kIFNpY2h0YmFy +a2VpdCAoQXVnZSkuIFBlcnNpc3RlbnogdmlhIFBVVCAvYXBpL2FkbWluL3N0YXRpc3RpawovLyAo +UGFydGlhbC1NZXJnZSBudXIgc3RhdGlzdGlrTGF5b3V0KS4gUGVuZGFudC1EYXRlbmZsdXNzIHp1 +IHN0YXRpc3Rpay5qcwovLyAoZG9ydCBsaWVzdCBsYXlvdXRBbndlbmRlbigpIFouYWRtaW4uc3Rh +dGlzdGlrTGF5b3V0KS4KLy8KLy8gTXVzdGVyIGZ1ZXIgRHJhZyZEcm9wIHVlYmVybm9tbWVuIGF1 +cyBhZG1pbl9jb2Rlcy5qcyAoc2NoaWNodGNvZGVEcmFnVmVyZHJhaHRlbikuCgppbXBvcnQgeyBa +IH0gZnJvbSAnLi9jb3JlX3N0YXRlLmpzJzsKaW1wb3J0IHsgZXNjYXBlSFRNTCwgZXNjYXBlQXR0 +ciB9IGZyb20gJy4vY29yZV91dGlsLmpzJzsKaW1wb3J0IHsgdG9hc3QgfSBmcm9tICcuL3VpX2Rp +YWxvZy5qcyc7CmltcG9ydCB7IGFwaSB9IGZyb20gJy4vY29yZV9hcGkuanMnOwppbXBvcnQgeyBz +dGF0aXN0aWtUaWxlc0FsbGUsIEJSRUlURV9TUEFOIH0gZnJvbSAnLi9zdGF0aXN0aWsuanMnOwoK +dmFyIEJSRUlURV9SQU5HICA9IHsgZHJpdHRlbDogMCwgaGFsYjogMSwgdm9sbDogMiB9Owp2YXIg +QlJFSVRFX1JFSUhFID0gWyd2b2xsJywgJ2hhbGInLCAnZHJpdHRlbCddOwp2YXIgQlJFSVRFX0xB +QkVMID0geyB2b2xsOiAnMToxIMK3IHZvbGwnLCBoYWxiOiAnMToyIMK3IGhhbGInLCBkcml0dGVs +OiAnMTozIMK3IGRyaXR0ZWwnIH07CgovLyBBa3R1ZWxsZXMgQXJiZWl0cy1MYXlvdXQgKGdlbWlz +Y2h0IGF1cyBaLmFkbWluLnN0YXRpc3Rpa0xheW91dCArIFRpbGUtU3RhbW1kYXRlbikuCnZhciBf +cmFzdGVyID0gW107CgpmdW5jdGlvbiBfZGFyZkVkaXRpZXJlbigpIHsKICAgIHJldHVybiAhISha +LnJlY2h0ZSAmJiBaLnJlY2h0ZS5pc3RTdXBlclVzZXIpOwp9CgpmdW5jdGlvbiBfY2xhbXAoYnJl +aXRlLCBtaW5CcmVpdGUpIHsKICAgIGlmICghQlJFSVRFX1NQQU5bYnJlaXRlXSkgYnJlaXRlID0g +J3ZvbGwnOwogICAgaWYgKCFCUkVJVEVfU1BBTlttaW5CcmVpdGVdKSBtaW5CcmVpdGUgPSAnZHJp +dHRlbCc7CiAgICByZXR1cm4gKEJSRUlURV9SQU5HW2JyZWl0ZV0gPCBCUkVJVEVfUkFOR1ttaW5C +cmVpdGVdKSA/IG1pbkJyZWl0ZSA6IGJyZWl0ZTsKfQoKLy8gTWVyZ2UgZ2VzcGVpY2hlcnRlcyBM +YXlvdXQgKFJlaWhlbmZvbGdlL0JyZWl0ZS9TaWNodGJhcmtlaXQpIG1pdCBkZXIKLy8gdm9sbHN0 +YWVuZGlnZW4gVGlsZS1MaXN0ZSDigJQgbmV1ZSBUaWxlcyBoaW50ZW4gYW5oYWVuZ2VuLCB2ZXJ3 +YWlzdGUgZHJvcHBlbi4KZnVuY3Rpb24gX2JhdWVSYXN0ZXIoKSB7CiAgICB2YXIgdGlsZXMgPSBz +dGF0aXN0aWtUaWxlc0FsbGUoKTsKICAgIHZhciBieUlkID0ge307CiAgICB0aWxlcy5mb3JFYWNo +KGZ1bmN0aW9uKHQpeyBieUlkW3QuaWRdID0gdDsgfSk7CiAgICB2YXIgZ2VzcGVpY2hlcnQgPSAo +Wi5hZG1pbiAmJiBBcnJheS5pc0FycmF5KFouYWRtaW4uc3RhdGlzdGlrTGF5b3V0KSkgPyBaLmFk +bWluLnN0YXRpc3Rpa0xheW91dCA6IFtdOwogICAgdmFyIG91dCA9IFtdLCBnZXNlaGVuID0ge307 +CiAgICBnZXNwZWljaGVydC5mb3JFYWNoKGZ1bmN0aW9uKGUpewogICAgICAgIGlmICghZSB8fCAh +ZS5pZCkgcmV0dXJuOwogICAgICAgIHZhciB0ID0gYnlJZFtlLmlkXTsKICAgICAgICBpZiAoIXQp +IHJldHVybjsKICAgICAgICBvdXQucHVzaCh7CiAgICAgICAgICAgIGlkOiB0LmlkLCB0aXRlbDog +dC50aXRlbCwgbWluQnJlaXRlOiB0Lm1pbkJyZWl0ZSwgaXN0S2FjaGVsOiB0LmlzdEthY2hlbCwK +ICAgICAgICAgICAgYnJlaXRlOiBfY2xhbXAoZS5icmVpdGUgfHwgdC5kZWZhdWx0QnJlaXRlLCB0 +Lm1pbkJyZWl0ZSksCiAgICAgICAgICAgIHNpY2h0YmFyOiBlLnNpY2h0YmFyICE9PSBmYWxzZQog +ICAgICAgIH0pOwogICAgICAgIGdlc2VoZW5bdC5pZF0gPSB0cnVlOwogICAgfSk7CiAgICB0aWxl +cy5mb3JFYWNoKGZ1bmN0aW9uKHQpewogICAgICAgIGlmIChnZXNlaGVuW3QuaWRdKSByZXR1cm47 +CiAgICAgICAgb3V0LnB1c2goewogICAgICAgICAgICBpZDogdC5pZCwgdGl0ZWw6IHQudGl0ZWws +IG1pbkJyZWl0ZTogdC5taW5CcmVpdGUsIGlzdEthY2hlbDogdC5pc3RLYWNoZWwsCiAgICAgICAg +ICAgIGJyZWl0ZTogdC5kZWZhdWx0QnJlaXRlLCBzaWNodGJhcjogdHJ1ZQogICAgICAgIH0pOwog +ICAgfSk7CiAgICByZXR1cm4gb3V0Owp9CgpmdW5jdGlvbiBfcGVyc2lzdGllcmVuKCkgewogICAg +dmFyIG51ciA9IF9yYXN0ZXIubWFwKGZ1bmN0aW9uKGUpeyByZXR1cm4geyBpZDogZS5pZCwgYnJl +aXRlOiBlLmJyZWl0ZSwgc2ljaHRiYXI6IGUuc2ljaHRiYXIgfTsgfSk7CiAgICByZXR1cm4gYXBp +KCcvYXBpL2FkbWluL3N0YXRpc3RpaycsIHsKICAgICAgICBtZXRob2Q6ICdQVVQnLAogICAgICAg +IGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LAogICAgICAg +IGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgc3RhdGlzdGlrTGF5b3V0OiBudXIgfSkKICAgIH0pLnRo +ZW4oZnVuY3Rpb24oKXsKICAgICAgICBaLmFkbWluLnN0YXRpc3Rpa0xheW91dCA9IG51cjsKICAg +ICAgICB0b2FzdCgnU3RhdGlzdGlrLUxheW91dCBnZXNwZWljaGVydCcsICdlcmZvbGcnKTsKICAg +IH0pLmNhdGNoKGZ1bmN0aW9uKGUpewogICAgICAgIHRvYXN0KCdTcGVpY2hlcm4gZmVobGdlc2No +bGFnZW46ICcgKyBlLm1lc3NhZ2UsICdmZWhsZXInKTsKICAgIH0pOwp9CgpmdW5jdGlvbiBfbmFl +Y2hzdGVCcmVpdGUoY3VyLCBtaW5CcmVpdGUpIHsKICAgIHZhciBlcmxhdWJ0ID0gQlJFSVRFX1JF +SUhFLmZpbHRlcihmdW5jdGlvbihiKXsgcmV0dXJuIEJSRUlURV9SQU5HW2JdID49IEJSRUlURV9S +QU5HW21pbkJyZWl0ZV07IH0pOwogICAgdmFyIGkgPSBlcmxhdWJ0LmluZGV4T2YoY3VyKTsKICAg +IGlmIChpIDwgMCkgaSA9IDA7CiAgICByZXR1cm4gZXJsYXVidFsoaSArIDEpICUgZXJsYXVidC5s +ZW5ndGhdOwp9CgpmdW5jdGlvbiBfdGlsZUh0bWwoZSkgewogICAgdmFyIHNwYW4gPSBCUkVJVEVf +U1BBTltlLmJyZWl0ZV0gfHwgNjsKICAgIHZhciBtaW5IaW53ZWlzID0gKGUubWluQnJlaXRlID09 +PSAndm9sbCcpID8gJyA8c3BhbiBjbGFzcz0ic2wtbWluIj4obnVyIHZvbGwpPC9zcGFuPicgOiAn +JzsKICAgIHJldHVybiAnPGRpdiBjbGFzcz0ic2wtdGlsZScgKyAoZS5zaWNodGJhciA/ICcnIDog +JyBzbC11bnNpY2h0YmFyJykgKyAnIiAnICsKICAgICAgICAgICAgJ2RhdGEtdGlsZS1pZD0iJyAr +IGVzY2FwZUF0dHIoZS5pZCkgKyAnIiBkcmFnZ2FibGU9InRydWUiICcgKwogICAgICAgICAgICAn +c3R5bGU9ImdyaWQtY29sdW1uOnNwYW4gJyArIHNwYW4gKyAnIiAnICsKICAgICAgICAgICAgJ3Rp +dGxlPSJLbGljayB3ZWNoc2VsdCBkaWUgQnJlaXRlLCBaaWVoZW4gw6RuZGVydCBkaWUgUmVpaGVu +Zm9sZ2UiPicgKwogICAgICAgICc8ZGl2IGNsYXNzPSJzbC10aWxlLWtvcGYiPicgKwogICAgICAg +ICAgICAoZS5pc3RLYWNoZWwgPyAnPHNwYW4gY2xhc3M9InNsLWJhZGdlIj5CYXVrYXN0ZW48L3Nw +YW4+JyA6ICc8c3BhbiBjbGFzcz0ic2wtYmFkZ2Ugc2wtYmFkZ2UtZmVzdCI+UGFuZWw8L3NwYW4+ +JykgKwogICAgICAgICAgICAnPGJ1dHRvbiBjbGFzcz0ic2wtYXVnZSIgdHlwZT0iYnV0dG9uIiBk +YXRhLXNsLWF1Z2U9IicgKyBlc2NhcGVBdHRyKGUuaWQpICsgJyIgJyArCiAgICAgICAgICAgICAg +ICAndGl0bGU9IicgKyAoZS5zaWNodGJhciA/ICdTaWNodGJhciDigJQgS2xpY2sgYmxlbmRldCBh +dXMnIDogJ0F1c2dlYmxlbmRldCDigJQgS2xpY2sgYmxlbmRldCBlaW4nKSArICciICcgKwogICAg +ICAgICAgICAgICAgJ2FyaWEtbGFiZWw9IlNpY2h0YmFya2VpdCB1bXNjaGFsdGVuIj4nICsgKGUu +c2ljaHRiYXIgPyAnU2ljaHRiYXInIDogJ0F1cycpICsgJzwvYnV0dG9uPicgKwogICAgICAgICc8 +L2Rpdj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0ic2wtdGlsZS10aXRlbCI+JyArIGVzY2FwZUhU +TUwoZS50aXRlbCkgKyAnPC9kaXY+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9InNsLXRpbGUtYnJl +aXRlIj4nICsgZXNjYXBlSFRNTChCUkVJVEVfTEFCRUxbZS5icmVpdGVdIHx8IGUuYnJlaXRlKSAr +IG1pbkhpbndlaXMgKyAnPC9kaXY+JyArCiAgICAnPC9kaXY+JzsKfQoKZXhwb3J0IGZ1bmN0aW9u +IHN0YXRpc3Rpa0xheW91dFJlbmRlcm4oKSB7CiAgICB2YXIgY29udCA9IGRvY3VtZW50LmdldEVs +ZW1lbnRCeUlkKCdzdGF0aXN0aWstbGF5b3V0LWluaGFsdCcpOwogICAgaWYgKCFjb250KSByZXR1 +cm47CiAgICBpZiAoIV9kYXJmRWRpdGllcmVuKCkpIHsKICAgICAgICBjb250LmlubmVySFRNTCA9 +ICc8ZGl2IGNsYXNzPSJhZG1pbi1lbXB0eSI+PGRpdiBjbGFzcz0iYWRtaW4tZW1wdHktdGV4dCI+ +TnVyIFN1cGVyVXNlciBkw7xyZmVuIGRhcyBTdGF0aXN0aWstTGF5b3V0IGFub3JkbmVuLjwvZGl2 +PjwvZGl2Pic7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgX3Jhc3RlciA9IF9iYXVlUmFzdGVy +KCk7CiAgICBpZiAoIV9yYXN0ZXIubGVuZ3RoKSB7CiAgICAgICAgY29udC5pbm5lckhUTUwgPSAn +PGRpdiBjbGFzcz0iYWRtaW4tZW1wdHkiPjxkaXYgY2xhc3M9ImFkbWluLWVtcHR5LXRleHQiPktl +aW5lIFN0YXRpc3Rpay1LYWNoZWxuIHZvcmhhbmRlbi48L2Rpdj48L2Rpdj4nOwogICAgICAgIHJl +dHVybjsKICAgIH0KICAgIGNvbnQuaW5uZXJIVE1MID0KICAgICAgICAnPGRpdiBjbGFzcz0ic2wt +bGVnZW5kZSI+Ni1TcGFsdGVuLVJhc3RlciDigJQgc28gZXJzY2hlaW50IGRlciBTdGF0aXN0aWst +VGFiIGbDvHIgYWxsZS4gJyArCiAgICAgICAgJ0tsaWNrIGF1ZiBlaW5lIEthY2hlbCB3ZWNoc2Vs +dCBkaWUgQnJlaXRlICh2b2xsIOKGkiBoYWxiIOKGkiBkcml0dGVsKSwgWmllaGVuIG9yZG5ldCBu +ZXUsIGRhcyBBdWdlIGJsZW5kZXQgYXVzLjwvZGl2PicgKwogICAgICAgICc8ZGl2IGlkPSJzbC1y +YXN0ZXIiIGNsYXNzPSJzbC1yYXN0ZXIgc3RhdHMtZ3JpZCI+JyArIF9yYXN0ZXIubWFwKF90aWxl +SHRtbCkuam9pbignJykgKyAnPC9kaXY+JzsKICAgIF92ZXJkcmFodGVuKGNvbnQpOwp9CgpmdW5j +dGlvbiBfdmVyZHJhaHRlbihjb250KSB7CiAgICB2YXIgcmFzdGVyID0gZG9jdW1lbnQuZ2V0RWxl +bWVudEJ5SWQoJ3NsLXJhc3RlcicpOwogICAgaWYgKCFyYXN0ZXIpIHJldHVybjsKCiAgICAvLyBL +bGljazogQnJlaXRlIGN5Y2xlbiAoQXVnZS1LbGljayBzZXBhcmF0IGJlaGFuZGVsbikuCiAgICBy +YXN0ZXIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKXsKICAgICAgICB2YXIg +YXVnZSA9IGUudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLXNsLWF1Z2VdJyk7CiAgICAgICAgaWYgKGF1 +Z2UpIHsKICAgICAgICAgICAgdmFyIGFpZCA9IGF1Z2UuZ2V0QXR0cmlidXRlKCdkYXRhLXNsLWF1 +Z2UnKTsKICAgICAgICAgICAgdmFyIGFlID0gX3Jhc3Rlci5maWx0ZXIoZnVuY3Rpb24oeCl7IHJl +dHVybiB4LmlkID09PSBhaWQ7IH0pWzBdOwogICAgICAgICAgICBpZiAoYWUpIHsgYWUuc2ljaHRi +YXIgPSAhYWUuc2ljaHRiYXI7IF9wZXJzaXN0aWVyZW4oKS50aGVuKGZ1bmN0aW9uKCl7IHN0YXRp +c3Rpa0xheW91dFJlbmRlcm4oKTsgfSk7IH0KICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0K +ICAgICAgICB2YXIgdGlsZSA9IGUudGFyZ2V0LmNsb3Nlc3QoJy5zbC10aWxlJyk7CiAgICAgICAg +aWYgKCF0aWxlKSByZXR1cm47CiAgICAgICAgdmFyIGlkID0gdGlsZS5nZXRBdHRyaWJ1dGUoJ2Rh +dGEtdGlsZS1pZCcpOwogICAgICAgIHZhciB0ZSA9IF9yYXN0ZXIuZmlsdGVyKGZ1bmN0aW9uKHgp +eyByZXR1cm4geC5pZCA9PT0gaWQ7IH0pWzBdOwogICAgICAgIGlmICghdGUpIHJldHVybjsKICAg +ICAgICB2YXIgbmV1ID0gX25hZWNoc3RlQnJlaXRlKHRlLmJyZWl0ZSwgdGUubWluQnJlaXRlKTsK +ICAgICAgICBpZiAobmV1ID09PSB0ZS5icmVpdGUpIHsKICAgICAgICAgICAgdG9hc3QoJ0RpZXNl +cyBQYW5lbCBpc3QgYXVmIHZvbGxlIEJyZWl0ZSBmZXN0Z2VsZWd0JywgJ2luZm8nKTsKICAgICAg +ICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICB0ZS5icmVpdGUgPSBuZXU7CiAgICAgICAg +X3BlcnNpc3RpZXJlbigpLnRoZW4oZnVuY3Rpb24oKXsgc3RhdGlzdGlrTGF5b3V0UmVuZGVybigp +OyB9KTsKICAgIH0pOwoKICAgIC8vIERyYWcmRHJvcC1SZWloZW5mb2xnZSAoTXVzdGVyIGF1cyBh +ZG1pbl9jb2Rlcy5qcykuCiAgICB2YXIgZHJhZ0lkID0gbnVsbDsKICAgIHJhc3Rlci5hZGRFdmVu +dExpc3RlbmVyKCdkcmFnc3RhcnQnLCBmdW5jdGlvbihlKXsKICAgICAgICB2YXIgdGlsZSA9IGUu +dGFyZ2V0LmNsb3Nlc3QoJy5zbC10aWxlJyk7CiAgICAgICAgaWYgKCF0aWxlKSByZXR1cm47CiAg +ICAgICAgZHJhZ0lkID0gdGlsZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGlsZS1pZCcpOwogICAgICAg +IHRpbGUuY2xhc3NMaXN0LmFkZCgnc2wtZHJhZ2dpbmcnKTsKICAgICAgICBlLmRhdGFUcmFuc2Zl +ci5lZmZlY3RBbGxvd2VkID0gJ21vdmUnOwogICAgICAgIHRyeSB7IGUuZGF0YVRyYW5zZmVyLnNl +dERhdGEoJ3RleHQvcGxhaW4nLCBkcmFnSWQpOyB9IGNhdGNoIChfKSB7fQogICAgfSk7CiAgICBy +YXN0ZXIuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ2VuZCcsIGZ1bmN0aW9uKCl7CiAgICAgICAgcmFz +dGVyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5zbC10aWxlJykuZm9yRWFjaChmdW5jdGlvbih0KXsgdC5j +bGFzc0xpc3QucmVtb3ZlKCdzbC1kcmFnZ2luZycsICdzbC1kcm9wLXppZWwnKTsgfSk7CiAgICB9 +KTsKICAgIHJhc3Rlci5hZGRFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIGZ1bmN0aW9uKGUpewog +ICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICB2YXIgdGlsZSA9IGUudGFyZ2V0LmNs +b3Nlc3QoJy5zbC10aWxlJyk7CiAgICAgICAgcmFzdGVyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5zbC1k +cm9wLXppZWwnKS5mb3JFYWNoKGZ1bmN0aW9uKHQpeyB0LmNsYXNzTGlzdC5yZW1vdmUoJ3NsLWRy +b3AtemllbCcpOyB9KTsKICAgICAgICBpZiAodGlsZSAmJiB0aWxlLmdldEF0dHJpYnV0ZSgnZGF0 +YS10aWxlLWlkJykgIT09IGRyYWdJZCkgdGlsZS5jbGFzc0xpc3QuYWRkKCdzbC1kcm9wLXppZWwn +KTsKICAgIH0pOwogICAgcmFzdGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCBmdW5jdGlvbihl +KXsKICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgdmFyIHppZWwgPSBlLnRhcmdl +dC5jbG9zZXN0KCcuc2wtdGlsZScpOwogICAgICAgIGlmICghemllbCB8fCAhZHJhZ0lkIHx8IHpp +ZWwuZ2V0QXR0cmlidXRlKCdkYXRhLXRpbGUtaWQnKSA9PT0gZHJhZ0lkKSB7IGRyYWdJZCA9IG51 +bGw7IHJldHVybjsgfQogICAgICAgIHZhciB6aWVsSWQgPSB6aWVsLmdldEF0dHJpYnV0ZSgnZGF0 +YS10aWxlLWlkJyk7CiAgICAgICAgdmFyIHZvbklkeCA9IF9yYXN0ZXIuZmluZEluZGV4KGZ1bmN0 +aW9uKHgpeyByZXR1cm4geC5pZCA9PT0gZHJhZ0lkOyB9KTsKICAgICAgICB2YXIgYmlzSWR4ID0g +X3Jhc3Rlci5maW5kSW5kZXgoZnVuY3Rpb24oeCl7IHJldHVybiB4LmlkID09PSB6aWVsSWQ7IH0p +OwogICAgICAgIGlmICh2b25JZHggPCAwIHx8IGJpc0lkeCA8IDApIHsgZHJhZ0lkID0gbnVsbDsg +cmV0dXJuOyB9CiAgICAgICAgdmFyIG1vdmVkID0gX3Jhc3Rlci5zcGxpY2Uodm9uSWR4LCAxKVsw +XTsKICAgICAgICAvLyBOYWNoIEVudGZlcm5lbiBnZ2YuIFppZWxpbmRleCBrb3JyaWdpZXJlbi4K +ICAgICAgICBiaXNJZHggPSBfcmFzdGVyLmZpbmRJbmRleChmdW5jdGlvbih4KXsgcmV0dXJuIHgu +aWQgPT09IHppZWxJZDsgfSk7CiAgICAgICAgX3Jhc3Rlci5zcGxpY2UoYmlzSWR4LCAwLCBtb3Zl +ZCk7CiAgICAgICAgZHJhZ0lkID0gbnVsbDsKICAgICAgICBfcGVyc2lzdGllcmVuKCkudGhlbihm +dW5jdGlvbigpeyBzdGF0aXN0aWtMYXlvdXRSZW5kZXJuKCk7IH0pOwogICAgfSk7Cn0K +### FILE: js/admin_statistik_builder.js | 30494 +Ly8gPT09IGFkbWluX3N0YXRpc3Rpa19idWlsZGVyLmpzID09PQovLyBTdGF0aXN0aWstQnVpbGRl +ciBpbSBBZG1pbiAoVGFiICJTdGF0aXN0aWstQnVpbGRlciIsIHVudGVyIFN0YXRpc3Rpay1MYXlv +dXQpLgovLyBEQVUtdGF1Z2xpY2hlciBLbGljay1adXNhbW1lbmJhdSBlaW5lciBtZWhyZGltZW5z +aW9uYWxlbiBBdXN3ZXJ0dW5nOgovLwovLyAgIERhdGVuIC0+IEZpbHRlciAtPiBEaW1lbnNpb24o +ZW4pIC0+IEtlbm56YWhsIC0+IERpYWdyYW1tdHlwIC0+IEVyZ2VibmlzCi8vCi8vIERpZSBQaXBl +bGluZSB3aXJkIGxpdmUgYWxzIEZsdXNzZGlhZ3JhbW0gZ2V6ZWlndDsgIlRlc3RlbiIgYmF1dCBk +aWUgU3RhdGlzdGlrCi8vIChFbmdpbmUgKyBuYXRpdmUgU1ZHLUNoYXJ0cykgdW5kIHplaWd0IHNp +ZSB1bnRlcmhhbGIuICJBbHMgS2FjaGVsIHNwZWljaGVybiIKLy8gbGVndCBkaWUgRGVmaW5pdGlv +biBnbG9iYWwgYWIgKFBVVCAvYXBpL2FkbWluL3N0YXRpc3RpaykgLT4gZXJzY2hlaW50IGltCi8v +IFN0YXRpc3Rpay1UYWIuIEVuZ2luZS9DaGFydHMga29tbWVuIGF1cyBzdGF0aXN0aWtfZW5naW5l +LmpzICsgc3RhdGlzdGlrX2NoYXJ0cy5qcy4KCmltcG9ydCB7IFogfSBmcm9tICcuL2NvcmVfc3Rh +dGUuanMnOwppbXBvcnQgeyBlc2NhcGVIVE1MLCBlc2NhcGVBdHRyLCBkYXR1bVN0ciB9IGZyb20g +Jy4vY29yZV91dGlsLmpzJzsKaW1wb3J0IHsgdG9hc3QsIGJlc3RhZXRpZ2VuIH0gZnJvbSAnLi91 +aV9kaWFsb2cuanMnOwppbXBvcnQgeyBhcGkgfSBmcm9tICcuL2NvcmVfYXBpLmpzJzsKaW1wb3J0 +IHsgRElNRU5TSU9ORU4sIEtFTk5aQUhMRU4sIFBFUlNPTl9NQVNTRSwgYXVzd2VydGVuIH0gZnJv +bSAnLi9zdGF0aXN0aWtfZW5naW5lLmpzJzsKaW1wb3J0IHsgZGlhZ3JhbW1UeXBlbiwgZGlhZ3Jh +bW1SZW5kZXJuIH0gZnJvbSAnLi9zdGF0aXN0aWtfY2hhcnRzLmpzJzsKCnZhciBUQUdfS0FURUdP +UklFTiA9IFsnRGllbnN0JywgJ1NvbmRlcmRpZW5zdCcsICdBdXMtL0ZvcnRiaWxkdW5nJywgJ1Vy +bGF1YicsICdLcmFuay9LdXInLCAnRnJlaScsICdTb25zdGlnZXMnXTsKdmFyIFdPQ0hFTlRBR0Vf +T1BUID0gW3sgdzogMSwgbDogJ01vJyB9LCB7IHc6IDIsIGw6ICdEaScgfSwgeyB3OiAzLCBsOiAn +TWknIH0sIHsgdzogNCwgbDogJ0RvJyB9LCB7IHc6IDUsIGw6ICdGcicgfSwgeyB3OiA2LCBsOiAn +U2EnIH0sIHsgdzogMCwgbDogJ1NvJyB9XTsKCnZhciBfZWRpdElkID0gbnVsbDsgICAvLyBpZCBk +ZXIgZ2VyYWRlIGJlYXJiZWl0ZXRlbiBLYWNoZWwgKG51bGwgPSBuZXVlKQoKLy8gPT09PT0gWmVp +dHJhdW0tSGVsZmVyIChEYXR1bSAvIEthbGVuZGVyd29jaGUgLyBRdWFydGFsIC8gR2VzYW10KSA9 +PT09PQoKLy8gTW9udGFnIGRlciBJU08tS2FsZW5kZXJ3b2NoZSAod29jaGUgMSA9IGRpZSBXb2No +ZSBtaXQgZGVtIDQuIEphbnVhcikuCmZ1bmN0aW9uIF9pc29Xb2NoZW5Nb250YWcoamFociwgd29j +aGUpIHsKICAgIHZhciBqYW40ID0gbmV3IERhdGUoamFociwgMCwgNCk7CiAgICB2YXIgdGFnID0g +KGphbjQuZ2V0RGF5KCkgKyA2KSAlIDc7ICAgICAgICAgICAgICAgICAvLyBNbz0wIOKApiBTbz02 +CiAgICB2YXIgdzFNb250YWcgPSBuZXcgRGF0ZShqYW40LmdldEZ1bGxZZWFyKCksIGphbjQuZ2V0 +TW9udGgoKSwgamFuNC5nZXREYXRlKCkgLSB0YWcpOwogICAgcmV0dXJuIG5ldyBEYXRlKHcxTW9u +dGFnLmdldEZ1bGxZZWFyKCksIHcxTW9udGFnLmdldE1vbnRoKCksIHcxTW9udGFnLmdldERhdGUo +KSArICh3b2NoZSAtIDEpICogNyk7Cn0KLy8gJ1lZWVktV3d3JyAoV2VydCBlaW5lcyA8aW5wdXQg +dHlwZT0id2VlayI+KSAtPiB7IHZvbiwgYmlzIH0gYWxzIERhdHVtc3N0cmluZ3MKLy8gKE1vIOKA +piBTbykuIExlZXJlci91bmd1ZWx0aWdlciBJbnB1dCAtPiBudWxsLgpmdW5jdGlvbiBfa3dHcmVu +emVuKHdrU3RyKSB7CiAgICB2YXIgbSA9IC9eKFxkezR9KS1XKFxkezEsMn0pJC8uZXhlYyh3a1N0 +ciB8fCAnJyk7CiAgICBpZiAoIW0pIHJldHVybiBudWxsOwogICAgdmFyIG1vID0gX2lzb1dvY2hl +bk1vbnRhZyhwYXJzZUludChtWzFdLCAxMCksIHBhcnNlSW50KG1bMl0sIDEwKSk7CiAgICB2YXIg +c28gPSBuZXcgRGF0ZShtby5nZXRGdWxsWWVhcigpLCBtby5nZXRNb250aCgpLCBtby5nZXREYXRl +KCkgKyA2KTsKICAgIHJldHVybiB7IHZvbjogZGF0dW1TdHIobW8pLCBiaXM6IGRhdHVtU3RyKHNv +KSB9Owp9Ci8vICdZWVlZLVFuJyAtPiB7IHZvbiwgYmlzIH0gKGVyc3Rlci9sZXR6dGVyIFRhZyBk +ZXMgUXVhcnRhbHMpLiBudWxsIGJlaSBGZWhsZXIuCmZ1bmN0aW9uIF9xdWFydGFsR3Jlbnplbihx +U3RyKSB7CiAgICB2YXIgbSA9IC9eKFxkezR9KS1RKFsxLTRdKSQvLmV4ZWMocVN0ciB8fCAnJyk7 +CiAgICBpZiAoIW0pIHJldHVybiBudWxsOwogICAgdmFyIGphaHIgPSBwYXJzZUludChtWzFdLCAx +MCksIHEgPSBwYXJzZUludChtWzJdLCAxMCk7CiAgICB2YXIgc3RhcnRNb25hdCA9IChxIC0gMSkg +KiAzOyAgICAgICAgICAgICAgICAgICAgICAgLy8gMCwzLDYsOQogICAgdmFyIHZvbiA9IG5ldyBE +YXRlKGphaHIsIHN0YXJ0TW9uYXQsIDEpOwogICAgdmFyIGJpcyA9IG5ldyBEYXRlKGphaHIsIHN0 +YXJ0TW9uYXQgKyAzLCAwKTsgICAgICAgIC8vIFRhZyAwID0gbGV0enRlciBUYWcgZGVzIFZvcm1v +bmF0cwogICAgcmV0dXJuIHsgdm9uOiBkYXR1bVN0cih2b24pLCBiaXM6IGRhdHVtU3RyKGJpcykg +fTsKfQovLyBEaXN0aW5rdGUgSmFocmUgYXVzIGRlbiBQbGFuZGF0ZW4gKGZ1ZXIgZGllIFF1YXJ0 +YWxzLURyb3Bkb3ducyk7IEZhbGxiYWNrIGF1ZgovLyBkYXMgUGxhbnVuZ3NqYWhyIGF1cyBhZG1p +bi5qc29uIGJ6dy4gZGFzIGFrdHVlbGxlIEphaHIuCmZ1bmN0aW9uIF9kYXRlbkphaHJlKCkgewog +ICAgdmFyIHNldCA9IHt9OwogICAgdmFyIGVpbnRyID0gKFoucGxhbnVuZyAmJiBaLnBsYW51bmcu +ZWludHJhZWdlKSB8fCB7fTsKICAgIE9iamVjdC5rZXlzKGVpbnRyKS5mb3JFYWNoKGZ1bmN0aW9u +KGQpeyBpZiAoZCAmJiBkLmxlbmd0aCA+PSA0KSBzZXRbZC5zdWJzdHJpbmcoMCwgNCldID0gdHJ1 +ZTsgfSk7CiAgICB2YXIgamFocmUgPSBPYmplY3Qua2V5cyhzZXQpLnNvcnQoKTsKICAgIGlmICgh +amFocmUubGVuZ3RoKSBqYWhyZSA9IFtTdHJpbmcoKFouYWRtaW4gJiYgWi5hZG1pbi5qYWhyKSB8 +fCBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkpXTsKICAgIHJldHVybiBqYWhyZTsKfQoKZnVuY3Rp +b24gX2RhcmYoKSB7IHJldHVybiAhIShaLnJlY2h0ZSAmJiAoWi5yZWNodGUuaXN0U3VwZXJVc2Vy +IHx8IFoucmVjaHRlLmlzdEdlc2FtdHZlcmFudHdvcnRsaWNoIHx8IChaLnJlY2h0ZS5pc3RGYWNo +YXVmc2ljaHQgJiYgWi5yZWNodGUuc2VoZW4gJiYgWi5yZWNodGUuc2VoZW4uYWRtaW5pc3RyYXRp +b24pKSk7IH0KCmZ1bmN0aW9uIF9zdGFuZGFyZFNwZWMoKSB7CiAgICByZXR1cm4gewogICAgICAg +IHY6IDIsIGlkOiBudWxsLCB0aXRlbDogJycsCiAgICAgICAgZGlhZ3JhbW06ICdiYWxrZW4nLAog +ICAgICAgIHplaXRNb2R1czogJ2RhdHVtJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv +LyBkYXR1bSB8IGt3IHwgcXVhcnRhbCB8IGdlc2FtdAogICAgICAgIHplaXRWb246ICcnLCB6ZWl0 +QmlzOiAnJywgICAgICAgICAgICAgICAgICAgICAgICAvLyB3aXJrc2FtZXIgQmVyZWljaCAoRW5n +aW5lKTsgYmVpIGt3L3F1YXJ0YWwgYWJnZWxlaXRldAogICAgICAgIHplaXRLd1ZvbjogJycsIHpl +aXRLd0JpczogJycsICAgICAgICAgICAgICAgICAgICAvLyBSb2gtRWluZ2FiZW4gS2FsZW5kZXJ3 +b2NoZSAoJ1lZWVktV3d3JykKICAgICAgICB6ZWl0UVZvbjogJycsIHplaXRRQmlzOiAnJywgICAg +ICAgICAgICAgICAgICAgICAgLy8gUm9oLUVpbmdhYmVuIFF1YXJ0YWwgKCdZWVlZLVFuJykKICAg +ICAgICBmaWx0ZXI6IHsgcGVyc29uZW46IFtdLCBncnVwcGVuOiBbXSwgZnVua3Rpb25lbjogW10s +IHN0YW5kb3J0ZTogW10sIGRpZW5zdGdyYWRlOiBbXSwgY29kZXM6IFtdLCBrYXRlZ29yaWVuOiBb +XSwgd29jaGVudGFnZTogW10sIG51ckRpZW5zdDogZmFsc2UsIG51cldFOiBmYWxzZSwgbnVyRmVp +ZXJ0YWc6IGZhbHNlLCBudXJGZWllcnRhZ0J1bmQ6IGZhbHNlLCBudXJGZWllcnRhZ05SVzogZmFs +c2UgfSwKICAgICAgICBkaW1YOiAnZ3J1cHBlJywgZGltU2VyaWU6ICcnLCBrZW5uemFobDogJ2Fu +emFobCcsCiAgICAgICAgc2NhdHRlclg6ICduYWNodCcsIHNjYXR0ZXJZOiAndXJsYXViJywKICAg +ICAgICBzb3J0OiAnd2VydC1kZXNjJywgdG9wTjogMAogICAgfTsKfQoKLy8gPT09PT0gUmVuZGVy +ID09PT09CgpleHBvcnQgZnVuY3Rpb24gc3RhdGlzdGlrQnVpbGRlclJlbmRlcm4oKSB7CiAgICB2 +YXIgY29udCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGF0aXN0aWstYnVpbGRlci1pbmhh +bHQnKTsKICAgIGlmICghY29udCkgcmV0dXJuOwogICAgaWYgKCFfZGFyZigpKSB7CiAgICAgICAg +Y29udC5pbm5lckhUTUwgPSAnPGRpdiBjbGFzcz0iYWRtaW4tZW1wdHkiPjxkaXYgY2xhc3M9ImFk +bWluLWVtcHR5LXRleHQiPk51ciBTdXBlclVzZXIsIEdlc2FtdHZlcmFudHdvcnRsaWNoZSB1bmQg +QWRtaW5zIGTDvHJmZW4gU3RhdGlzdGlrZW4gYmF1ZW4uPC9kaXY+PC9kaXY+JzsKICAgICAgICBy +ZXR1cm47CiAgICB9CiAgICB2YXIgc3BlYyA9IF9lZGl0SWQgPyAoX2thY2hlbEZpbmRlbihfZWRp +dElkKSB8fCBfc3RhbmRhcmRTcGVjKCkpIDogX3N0YW5kYXJkU3BlYygpOwogICAgY29udC5pbm5l +ckhUTUwgPQogICAgICAgICc8ZGl2IGNsYXNzPSJibGQtZ3JpZCI+JyArCiAgICAgICAgICAgICc8 +ZGl2IGNsYXNzPSJibGQtc3BhbHRlLWZvcm0iPicgKyBfZm9ybUh0bWwoc3BlYykgKyAnPC9kaXY+ +JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJibGQtc3BhbHRlLWF1cyI+JyArCiAgICAgICAg +ICAgICAgICAnPGRpdiBjbGFzcz0iYmxkLWZsdXNzIiBpZD0iYmxkLWZsdXNzIj48L2Rpdj4nICsK +ICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJibGQtYWt0aW9uZW4iPicgKwogICAgICAgICAg +ICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXByaW1hZXIiIHR5cGU9ImJ1dHRvbiIg +aWQ9ImJsZC10ZXN0ZW4iPuKWtiBUZXN0ZW48L2J1dHRvbj4nICsKICAgICAgICAgICAgICAgICAg +ICAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWsiIHR5cGU9ImJ1dHRvbiIgaWQ9ImJsZC1zcGVp +Y2hlcm4iPicgKyAoX2VkaXRJZCA/ICfDhG5kZXJ1bmdlbiBzcGVpY2hlcm4nIDogJ0FscyBLYWNo +ZWwgc3BlaWNoZXJuJykgKyAnPC9idXR0b24+JyArCiAgICAgICAgICAgICAgICAgICAgKF9lZGl0 +SWQgPyAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWsiIHR5cGU9ImJ1dHRvbiIgaWQ9ImJsZC1u +ZXUiPk5ldTwvYnV0dG9uPicgOiAnJykgKwogICAgICAgICAgICAgICAgJzwvZGl2PicgKwogICAg +ICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJsZC1lcmdlYm5pcyIgaWQ9ImJsZC1lcmdlYm5pcyI+ +PGRpdiBjbGFzcz0iYmxkLWVyZ2VibmlzLWhpbnQiPktvbmZpZ3VyYXRpb24gbGlua3Mgd8OkaGxl +biB1bmQgYXVmIDxiPlRlc3RlbjwvYj4ga2xpY2tlbi48L2Rpdj48L2Rpdj4nICsKICAgICAgICAg +ICAgJzwvZGl2PicgKwogICAgICAgICc8L2Rpdj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0iYmxk +LWxpc3RlIiBpZD0iYmxkLWxpc3RlIj4nICsgX2xpc3RlSHRtbCgpICsgJzwvZGl2Pic7CiAgICBf +dmVyZHJhaHRlbihjb250KTsKICAgIF9mbHVzc0FrdHVhbGlzaWVyZW4oKTsKICAgIF90ZXN0ZW4o +KTsgLy8gZGlyZWt0ZSBWb3JzY2hhdQp9CgovLyAtLS0tLSBGb3JtdWxhciAtLS0tLQoKZnVuY3Rp +b24gX2NoaXBHcnVwcGUoZ3JwLCB0aXRlbCwgb3B0aW9uZW4sIHNlbGVjdGVkKSB7CiAgICB2YXIg +Y2hpcHMgPSBvcHRpb25lbi5tYXAoZnVuY3Rpb24obykgewogICAgICAgIHZhciBhbiA9IHNlbGVj +dGVkLmluZGV4T2Yoby53ZXJ0KSA+PSAwOwogICAgICAgIHJldHVybiAnPGxhYmVsIGNsYXNzPSJi +bGQtY2hpcCcgKyAoYW4gPyAnIGFuJyA6ICcnKSArICciPjxpbnB1dCB0eXBlPSJjaGVja2JveCIg +ZGF0YS1jaGlwPSInICsgZXNjYXBlQXR0cihncnApICsgJyIgdmFsdWU9IicgKyBlc2NhcGVBdHRy +KFN0cmluZyhvLndlcnQpKSArICciJyArIChhbiA/ICcgY2hlY2tlZCcgOiAnJykgKyAnPjxzcGFu +PicgKyBlc2NhcGVIVE1MKG8ubGFiZWwpICsgJzwvc3Bhbj48L2xhYmVsPic7CiAgICB9KS5qb2lu +KCcnKTsKICAgIHJldHVybiAnPGRpdiBjbGFzcz0iYmxkLWZlbGQiPjxzcGFuIGNsYXNzPSJibGQt +ZmVsZC10aXRlbCI+JyArIGVzY2FwZUhUTUwodGl0ZWwpICsgJzwvc3Bhbj48ZGl2IGNsYXNzPSJi +bGQtY2hpcHMiIGRhdGEtY2hpcGdycD0iJyArIGVzY2FwZUF0dHIoZ3JwKSArICciPicgKyBjaGlw +cyArICc8L2Rpdj48L2Rpdj4nOwp9CgovLyBQZXJzb25lbnNjaGFyZmUgQXVzd2FobCwgbmFjaCBE +aWVuc3RncnVwcGUgKEEvQi9DLCBXRCwgVkQsIOKApikgZ3J1cHBpZXJ0LAovLyBtaXQgImFsbGUv +a2VpbmUiLVNjaG5lbGxzY2hhbHRlciBqZSBHcnVwcGUuIFdlcnRlIHNpbmQgUGVyc29uLUlEcyAo +U3RyaW5nKS4KZnVuY3Rpb24gX3BlcnNvbmVuU2VrdGlvbkh0bWwoc2VsZWN0ZWQpIHsKICAgIHNl +bGVjdGVkID0gKHNlbGVjdGVkIHx8IFtdKS5tYXAoU3RyaW5nKTsKICAgIHZhciBieUdycCA9IHt9 +OwogICAgKFoucGVyc29uZW4gfHwgW10pLmZvckVhY2goZnVuY3Rpb24ocCkgewogICAgICAgIHZh +ciBnID0gcC5ncnVwcGUgfHwgJ+KAlCc7CiAgICAgICAgKGJ5R3JwW2ddIHx8IChieUdycFtnXSA9 +IFtdKSkucHVzaChwKTsKICAgIH0pOwogICAgdmFyIG9yZGVyID0gKFouYWRtaW4uZ3J1cHBlbiB8 +fCBbXSkubWFwKGZ1bmN0aW9uKGcpeyByZXR1cm4gZy5uYW1lOyB9KTsKICAgIHZhciBncnBOYW1l +biA9IG9yZGVyLmZpbHRlcihmdW5jdGlvbihuKXsgcmV0dXJuIGJ5R3JwW25dOyB9KQogICAgICAg +IC5jb25jYXQoT2JqZWN0LmtleXMoYnlHcnApLmZpbHRlcihmdW5jdGlvbihuKXsgcmV0dXJuIG9y +ZGVyLmluZGV4T2YobikgPCAwOyB9KSk7CiAgICB2YXIgYmxvY2tzID0gZ3JwTmFtZW4ubWFwKGZ1 +bmN0aW9uKGduKSB7CiAgICAgICAgdmFyIGdPYmogPSAoWi5hZG1pbi5ncnVwcGVuIHx8IFtdKS5m +aWx0ZXIoZnVuY3Rpb24oeCl7IHJldHVybiB4Lm5hbWUgPT09IGduOyB9KVswXTsKICAgICAgICB2 +YXIgZ0xhYmVsID0gZ09iaiA/IChnT2JqLmJlemVpY2hudW5nIHx8IGdPYmoubmFtZSkgOiAoZ24g +PT09ICfigJQnID8gJ29obmUgR3J1cHBlJyA6IGduKTsKICAgICAgICB2YXIgbGV1dGUgPSBieUdy +cFtnbl0uc2xpY2UoKS5zb3J0KGZ1bmN0aW9uKGEsIGIpeyByZXR1cm4gKGEubmFtZSB8fCAnJyku +bG9jYWxlQ29tcGFyZShiLm5hbWUgfHwgJycsICdkZScpOyB9KTsKICAgICAgICB2YXIgY2hpcHMg +PSBsZXV0ZS5tYXAoZnVuY3Rpb24ocCkgewogICAgICAgICAgICB2YXIgaWQgPSBTdHJpbmcocC5p +ZCk7CiAgICAgICAgICAgIHZhciBhbiA9IHNlbGVjdGVkLmluZGV4T2YoaWQpID49IDA7CiAgICAg +ICAgICAgIHZhciBubSA9IChwLm5hbWUgfHwgJycpICsgKHAudm9ybmFtZSA/ICgnLCAnICsgcC52 +b3JuYW1lKSA6ICcnKTsKICAgICAgICAgICAgcmV0dXJuICc8bGFiZWwgY2xhc3M9ImJsZC1jaGlw +JyArIChhbiA/ICcgYW4nIDogJycpICsgJyIgZGF0YS1wZ3JwPSInICsgZXNjYXBlQXR0cihnbikg +KyAnIj4nICsKICAgICAgICAgICAgICAgICc8aW5wdXQgdHlwZT0iY2hlY2tib3giIGRhdGEtY2hp +cD0icGVyc29uZW4iIHZhbHVlPSInICsgZXNjYXBlQXR0cihpZCkgKyAnIicgKyAoYW4gPyAnIGNo +ZWNrZWQnIDogJycpICsgJz48c3Bhbj4nICsgZXNjYXBlSFRNTChubSkgKyAnPC9zcGFuPjwvbGFi +ZWw+JzsKICAgICAgICB9KS5qb2luKCcnKTsKICAgICAgICByZXR1cm4gJzxkaXYgY2xhc3M9ImJs +ZC1wZXJzLWdycCI+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJibGQtcGVycy1ncnAta29w +ZiI+PHNwYW4+JyArIGVzY2FwZUhUTUwoZ0xhYmVsKSArICcgPHNwYW4gY2xhc3M9ImJsZC1wZXJz +LXphaGwiPignICsgbGV1dGUubGVuZ3RoICsgJyk8L3NwYW4+PC9zcGFuPicgKwogICAgICAgICAg +ICAnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLW1pbmkiIGRhdGEtZ3JwLXRv +Z2dsZT0iJyArIGVzY2FwZUF0dHIoZ24pICsgJyI+YWxsZSAvIGtlaW5lPC9idXR0b24+PC9kaXY+ +JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJibGQtY2hpcHMiPicgKyBjaGlwcyArICc8L2Rp +dj48L2Rpdj4nOwogICAgfSkuam9pbignJyk7CiAgICB2YXIgYW56YWhsID0gKFoucGVyc29uZW4g +fHwgW10pLmxlbmd0aDsKICAgIHJldHVybiAnPGRldGFpbHMgY2xhc3M9ImJsZC1zZWt0aW9uIj48 +c3VtbWFyeT5FaW56ZWxuZSBQZXJzb25lbiBhdXN3w6RobGVuICgnICsgYW56YWhsICsgJyk8L3N1 +bW1hcnk+JyArCiAgICAgICAgJzxwIGNsYXNzPSJibGQtcGVycy1oaW53ZWlzIj5CZXN0aW1tdGUg +TWl0YXJiZWl0ZXIgZ2V6aWVsdCBlaW5iZXppZWhlbiDigJQgei5CLiBtZWhyZXJlIGF1cyBERyBB +L0IvQyBvZGVyIFdhY2gtL1ZlcmtlaHJzZGllbnN0LCB1bmQgbWl0IERpbWVuc2lvbiDigJ5QZXJz +b24iIGRpcmVrdCB2ZXJnbGVpY2hlbi4gTmljaHRzIGdld8OkaGx0ID0gYWxsZS48L3A+JyArCiAg +ICAgICAgKGJsb2NrcyB8fCAnPGRpdiBjbGFzcz0iYmxkLWxpc3RlLWxlZXIiPktlaW5lIFBlcnNv +bmVuIGdlbGFkZW4uPC9kaXY+JykgKyAnPC9kZXRhaWxzPic7Cn0KCmZ1bmN0aW9uIF9vcHQobGlz +dGUsIHNlbCkgewogICAgcmV0dXJuIGxpc3RlLm1hcChmdW5jdGlvbihvKSB7CiAgICAgICAgcmV0 +dXJuICc8b3B0aW9uIHZhbHVlPSInICsgZXNjYXBlQXR0cihvLndlcnQpICsgJyInICsgKG8ud2Vy +dCA9PT0gc2VsID8gJyBzZWxlY3RlZCcgOiAnJykgKyAnPicgKyBlc2NhcGVIVE1MKG8ubGFiZWwp +ICsgJzwvb3B0aW9uPic7CiAgICB9KS5qb2luKCcnKTsKfQoKLy8gWmVpdHJhdW0tQmxvY2s6IE1v +ZHVzLUF1c3dhaGwgKERhdHVtIC8gS2FsZW5kZXJ3b2NoZSAvIFF1YXJ0YWwgLyBHZXNhbXQpICsK +Ly8gZGllIHp1bSBNb2R1cyBwYXNzZW5kZW4gRWluZ2FiZW4uIFNpY2h0YmFya2VpdCBzdGV1ZXJ0 +IF96ZWl0U2ljaHRiYXJrZWl0KCkuCmZ1bmN0aW9uIF96ZWl0cmF1bUh0bWwoc3BlYykgewogICAg +dmFyIG1vZHVzID0gc3BlYy56ZWl0TW9kdXMgfHwgJ2RhdHVtJzsKICAgIHZhciBxdWFydE9wdCA9 +ICc8b3B0aW9uIHZhbHVlPSIiPuKAlCB3w6RobGVuIOKAlDwvb3B0aW9uPicgKyBfZGF0ZW5KYWhy +ZSgpLm1hcChmdW5jdGlvbihqKSB7CiAgICAgICAgcmV0dXJuIFsxLCAyLCAzLCA0XS5tYXAoZnVu +Y3Rpb24ocSkgewogICAgICAgICAgICB2YXIgdyA9IGogKyAnLVEnICsgcTsKICAgICAgICAgICAg +cmV0dXJuICc8b3B0aW9uIHZhbHVlPSInICsgZXNjYXBlQXR0cih3KSArICciPlEnICsgcSArICcg +JyArIGVzY2FwZUhUTUwoaikgKyAnPC9vcHRpb24+JzsKICAgICAgICB9KS5qb2luKCcnKTsKICAg +IH0pLmpvaW4oJycpOwogICAgZnVuY3Rpb24gcVNlbChpZCwgdmFsKSB7CiAgICAgICAgcmV0dXJu +ICc8c2VsZWN0IGlkPSInICsgaWQgKyAnIiBjbGFzcz0iZm9ybS1pbnB1dCI+JyArIHF1YXJ0T3B0 +LnJlcGxhY2UoJ3ZhbHVlPSInICsgZXNjYXBlQXR0cih2YWwpICsgJyInLCAndmFsdWU9IicgKyBl +c2NhcGVBdHRyKHZhbCkgKyAnIiBzZWxlY3RlZCcpICsgJzwvc2VsZWN0Pic7CiAgICB9CiAgICBy +ZXR1cm4gJycgKwogICAgJzxkaXYgY2xhc3M9ImJsZC1mZWxkIj48c3BhbiBjbGFzcz0iYmxkLWZl +bGQtdGl0ZWwiPlplaXRyYXVtPC9zcGFuPicgKwogICAgICAgICc8c2VsZWN0IGlkPSJibGQtemVp +dG1vZHVzIiBjbGFzcz0iZm9ybS1pbnB1dCI+JyArCiAgICAgICAgICAgICc8b3B0aW9uIHZhbHVl +PSJkYXR1bSInICsgKG1vZHVzID09PSAnZGF0dW0nID8gJyBzZWxlY3RlZCcgOiAnJykgKyAnPlZv +buKAk0JpcyAoVGFnIGdlbmF1KTwvb3B0aW9uPicgKwogICAgICAgICAgICAnPG9wdGlvbiB2YWx1 +ZT0ia3ciJyArIChtb2R1cyA9PT0gJ2t3JyA/ICcgc2VsZWN0ZWQnIDogJycpICsgJz5LYWxlbmRl +cndvY2hlbiAodm9u4oCTYmlzKTwvb3B0aW9uPicgKwogICAgICAgICAgICAnPG9wdGlvbiB2YWx1 +ZT0icXVhcnRhbCInICsgKG1vZHVzID09PSAncXVhcnRhbCcgPyAnIHNlbGVjdGVkJyA6ICcnKSAr +ICc+UXVhcnRhbGUgKHZvbuKAk2Jpcyk8L29wdGlvbj4nICsKICAgICAgICAgICAgJzxvcHRpb24g +dmFsdWU9Imdlc2FtdCInICsgKG1vZHVzID09PSAnZ2VzYW10JyA/ICcgc2VsZWN0ZWQnIDogJycp +ICsgJz5HZXNhbXQgKGFsbGUgRGF0ZW4pPC9vcHRpb24+JyArCiAgICAgICAgJzwvc2VsZWN0Pjwv +ZGl2PicgKwogICAgJzxkaXYgY2xhc3M9ImJsZC1mZWxkIGJsZC1mZWxkLTIiIGRhdGEtemVpdD0i +ZGF0dW0iJyArIChtb2R1cyA9PT0gJ2RhdHVtJyA/ICcnIDogJyBzdHlsZT0iZGlzcGxheTpub25l +IicpICsgJz4nICsKICAgICAgICAnPGxhYmVsIGNsYXNzPSJibGQtbWluaSI+Vm9uPGlucHV0IGlk +PSJibGQtdm9uIiBjbGFzcz0iZm9ybS1pbnB1dCIgdHlwZT0iZGF0ZSIgdmFsdWU9IicgKyBlc2Nh +cGVBdHRyKHNwZWMuemVpdFZvbiB8fCAnJykgKyAnIj48L2xhYmVsPicgKwogICAgICAgICc8bGFi +ZWwgY2xhc3M9ImJsZC1taW5pIj5CaXM8aW5wdXQgaWQ9ImJsZC1iaXMiIGNsYXNzPSJmb3JtLWlu +cHV0IiB0eXBlPSJkYXRlIiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIoc3BlYy56ZWl0QmlzIHx8ICcn +KSArICciPjwvbGFiZWw+PC9kaXY+JyArCiAgICAnPGRpdiBjbGFzcz0iYmxkLWZlbGQgYmxkLWZl +bGQtMiIgZGF0YS16ZWl0PSJrdyInICsgKG1vZHVzID09PSAna3cnID8gJycgOiAnIHN0eWxlPSJk +aXNwbGF5Om5vbmUiJykgKyAnPicgKwogICAgICAgICc8bGFiZWwgY2xhc3M9ImJsZC1taW5pIj5W +b24gS1c8aW5wdXQgaWQ9ImJsZC1rdy12b24iIGNsYXNzPSJmb3JtLWlucHV0IiB0eXBlPSJ3ZWVr +IiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIoc3BlYy56ZWl0S3dWb24gfHwgJycpICsgJyI+PC9sYWJl +bD4nICsKICAgICAgICAnPGxhYmVsIGNsYXNzPSJibGQtbWluaSI+QmlzIEtXPGlucHV0IGlkPSJi +bGQta3ctYmlzIiBjbGFzcz0iZm9ybS1pbnB1dCIgdHlwZT0id2VlayIgdmFsdWU9IicgKyBlc2Nh +cGVBdHRyKHNwZWMuemVpdEt3QmlzIHx8ICcnKSArICciPjwvbGFiZWw+PC9kaXY+JyArCiAgICAn +PGRpdiBjbGFzcz0iYmxkLWZlbGQgYmxkLWZlbGQtMiIgZGF0YS16ZWl0PSJxdWFydGFsIicgKyAo +bW9kdXMgPT09ICdxdWFydGFsJyA/ICcnIDogJyBzdHlsZT0iZGlzcGxheTpub25lIicpICsgJz4n +ICsKICAgICAgICAnPGxhYmVsIGNsYXNzPSJibGQtbWluaSI+Vm9uIFF1YXJ0YWwnICsgcVNlbCgn +YmxkLXEtdm9uJywgc3BlYy56ZWl0UVZvbiB8fCAnJykgKyAnPC9sYWJlbD4nICsKICAgICAgICAn +PGxhYmVsIGNsYXNzPSJibGQtbWluaSI+QmlzIFF1YXJ0YWwnICsgcVNlbCgnYmxkLXEtYmlzJywg +c3BlYy56ZWl0UUJpcyB8fCAnJykgKyAnPC9sYWJlbD48L2Rpdj4nICsKICAgICc8ZGl2IGNsYXNz +PSJibGQtZmVsZCIgZGF0YS16ZWl0PSJnZXNhbXQiJyArIChtb2R1cyA9PT0gJ2dlc2FtdCcgPyAn +JyA6ICcgc3R5bGU9ImRpc3BsYXk6bm9uZSInKSArICc+JyArCiAgICAgICAgJzxwIGNsYXNzPSJi +bGQtcGVycy1oaW53ZWlzIj5FcyB3ZXJkZW4gYWxsZSB2b3JoYW5kZW5lbiBQbGFuZGF0ZW4gb2hu +ZSBaZWl0YmVncmVuenVuZyBhdXNnZXdlcnRldC48L3A+PC9kaXY+JzsKfQoKZnVuY3Rpb24gX2Zv +cm1IdG1sKHNwZWMpIHsKICAgIHZhciBmaSA9IHNwZWMuZmlsdGVyIHx8IHt9OwogICAgdmFyIGdy +T3B0ID0gKFouYWRtaW4uZ3J1cHBlbiB8fCBbXSkubWFwKGZ1bmN0aW9uKGcpeyByZXR1cm4geyB3 +ZXJ0OiBnLm5hbWUsIGxhYmVsOiBnLmJlemVpY2hudW5nIHx8IGcubmFtZSB9OyB9KTsKICAgIHZh +ciBmbk9wdCA9IChaLmFkbWluLmZ1bmt0aW9uZW4gfHwgW10pLm1hcChmdW5jdGlvbihmKXsgcmV0 +dXJuIHsgd2VydDogKGYuY29kZSB8fCBmKSwgbGFiZWw6IChmLmNvZGUgfHwgZikgfTsgfSk7CiAg +ICB2YXIgc3RPcHQgPSAoWi5hZG1pbi5zdGFuZG9ydGUgfHwgW10pLm1hcChmdW5jdGlvbihzKXsg +cmV0dXJuIHsgd2VydDogcy5rdWVyemVsLCBsYWJlbDogcy5rdWVyemVsIH07IH0pOwogICAgdmFy +IGRnT3B0ID0gKFouYWRtaW4uZGllbnN0Z3JhZGUgfHwgW10pLm1hcChmdW5jdGlvbihkKXsgcmV0 +dXJuIHsgd2VydDogKGQuY29kZSB8fCBkKSwgbGFiZWw6IChkLmNvZGUgfHwgZCkgfTsgfSk7CiAg +ICB2YXIgY29PcHQgPSAoWi5hZG1pbi5zY2hpY2h0Y29kZXMgfHwgW10pLmZpbHRlcihmdW5jdGlv +bihjKXsgcmV0dXJuIGMuYWt0aXYgIT09IGZhbHNlOyB9KS5tYXAoZnVuY3Rpb24oYyl7IHJldHVy +biB7IHdlcnQ6IGMuY29kZSwgbGFiZWw6IGMuY29kZSB9OyB9KTsKICAgIHZhciBrYXRPcHQgPSBU +QUdfS0FURUdPUklFTi5tYXAoZnVuY3Rpb24oayl7IHJldHVybiB7IHdlcnQ6IGssIGxhYmVsOiBr +IH07IH0pOwogICAgdmFyIHdkT3B0ID0gV09DSEVOVEFHRV9PUFQubWFwKGZ1bmN0aW9uKHcpeyBy +ZXR1cm4geyB3ZXJ0OiB3LncsIGxhYmVsOiB3LmwgfTsgfSk7CgogICAgdmFyIGRpbUxpc3RlID0g +RElNRU5TSU9ORU4ubWFwKGZ1bmN0aW9uKGQpeyByZXR1cm4geyB3ZXJ0OiBkLmtleSwgbGFiZWw6 +IGQubGFiZWwgfTsgfSk7CiAgICB2YXIgZGltU2VyaWVMaXN0ZSA9IFt7IHdlcnQ6ICcnLCBsYWJl +bDogJ+KAlCBrZWluZSDigJQnIH1dLmNvbmNhdChkaW1MaXN0ZSk7CiAgICB2YXIga3pMaXN0ZSA9 +IEtFTk5aQUhMRU4ubWFwKGZ1bmN0aW9uKGspeyByZXR1cm4geyB3ZXJ0OiBrLmtleSwgbGFiZWw6 +IGsubGFiZWwgfTsgfSk7CiAgICB2YXIgcG1MaXN0ZSA9IFBFUlNPTl9NQVNTRS5tYXAoZnVuY3Rp +b24ocCl7IHJldHVybiB7IHdlcnQ6IHAua2V5LCBsYWJlbDogcC5sYWJlbCB9OyB9KTsKICAgIHZh +ciBkdExpc3RlID0gZGlhZ3JhbW1UeXBlbigpLm1hcChmdW5jdGlvbih0KXsgcmV0dXJuIHsgd2Vy +dDogdC5rZXksIGxhYmVsOiB0LmxhYmVsIH07IH0pOwoKICAgIHJldHVybiAnJyArCiAgICAnPGRp +diBjbGFzcz0iYmxkLWZlbGQiPjxzcGFuIGNsYXNzPSJibGQtZmVsZC10aXRlbCI+VGl0ZWwgZGVy +IEthY2hlbDwvc3Bhbj4nICsKICAgICAgICAnPGlucHV0IGlkPSJibGQtdGl0ZWwiIGNsYXNzPSJm +b3JtLWlucHV0IiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjYwIiBwbGFjZWhvbGRlcj0iei5CLiBO +YWNodGRpZW5zdGUgamUgRGllbnN0Z3J1cHBlIiB2YWx1ZT0iJyArIGVzY2FwZUF0dHIoc3BlYy50 +aXRlbCB8fCAnJykgKyAnIj48L2Rpdj4nICsKICAgICc8ZGl2IGNsYXNzPSJibGQtZmVsZCI+PHNw +YW4gY2xhc3M9ImJsZC1mZWxkLXRpdGVsIj5EaWFncmFtbXR5cDwvc3Bhbj4nICsKICAgICAgICAn +PHNlbGVjdCBpZD0iYmxkLWRpYWdyYW1tIiBjbGFzcz0iZm9ybS1pbnB1dCI+JyArIF9vcHQoZHRM +aXN0ZSwgc3BlYy5kaWFncmFtbSkgKyAnPC9zZWxlY3Q+PC9kaXY+JyArCgogICAgJzxkZXRhaWxz +IGNsYXNzPSJibGQtc2VrdGlvbiIgb3Blbj48c3VtbWFyeT5EYXRlbiAmYW1wOyBGaWx0ZXI8L3N1 +bW1hcnk+JyArCiAgICAgICAgX3plaXRyYXVtSHRtbChzcGVjKSArCiAgICAgICAgX2NoaXBHcnVw +cGUoJ2dydXBwZW4nLCAnRGllbnN0Z3J1cHBlbicsIGdyT3B0LCBmaS5ncnVwcGVuIHx8IFtdKSAr +CiAgICAgICAgX2NoaXBHcnVwcGUoJ2Z1bmt0aW9uZW4nLCAnRnVua3Rpb25lbicsIGZuT3B0LCBm +aS5mdW5rdGlvbmVuIHx8IFtdKSArCiAgICAgICAgX2NoaXBHcnVwcGUoJ3N0YW5kb3J0ZScsICdT +dGFuZG9ydGUnLCBzdE9wdCwgZmkuc3RhbmRvcnRlIHx8IFtdKSArCiAgICAgICAgX2NoaXBHcnVw +cGUoJ2RpZW5zdGdyYWRlJywgJ0RpZW5zdGdyYWRlJywgZGdPcHQsIGZpLmRpZW5zdGdyYWRlIHx8 +IFtdKSArCiAgICAgICAgX2NoaXBHcnVwcGUoJ2thdGVnb3JpZW4nLCAnVGFnLUthdGVnb3JpZW4n +LCBrYXRPcHQsIGZpLmthdGVnb3JpZW4gfHwgW10pICsKICAgICAgICBfY2hpcEdydXBwZSgnY29k +ZXMnLCAnU2NoaWNodGNvZGVzJywgY29PcHQsIGZpLmNvZGVzIHx8IFtdKSArCiAgICAgICAgX2No +aXBHcnVwcGUoJ3dvY2hlbnRhZ2UnLCAnV29jaGVudGFnZScsIHdkT3B0LCAoZmkud29jaGVudGFn +ZSB8fCBbXSkubWFwKFN0cmluZykpICsKICAgICAgICAnPGRpdiBjbGFzcz0iYmxkLXRvZ2dsZXMi +PicgKwogICAgICAgICAgICAnPGxhYmVsIGNsYXNzPSJibGQtdG9nZ2xlIj48aW5wdXQgdHlwZT0i +Y2hlY2tib3giIGlkPSJibGQtbnVyRGllbnN0IicgKyAoZmkubnVyRGllbnN0ID8gJyBjaGVja2Vk +JyA6ICcnKSArICc+IG51ciBEaWVuc3RlPC9sYWJlbD4nICsKICAgICAgICAgICAgJzxsYWJlbCBj +bGFzcz0iYmxkLXRvZ2dsZSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iYmxkLW51cldFIicg +KyAoZmkubnVyV0UgPyAnIGNoZWNrZWQnIDogJycpICsgJz4gbnVyIFdvY2hlbmVuZGU8L2xhYmVs +PicgKwogICAgICAgICAgICAnPGxhYmVsIGNsYXNzPSJibGQtdG9nZ2xlIj48aW5wdXQgdHlwZT0i +Y2hlY2tib3giIGlkPSJibGQtbnVyRmVpZXJ0YWciJyArIChmaS5udXJGZWllcnRhZyA/ICcgY2hl +Y2tlZCcgOiAnJykgKyAnPiBudXIgRmVpZXJ0YWdlPC9sYWJlbD4nICsKICAgICAgICAgICAgJzxs +YWJlbCBjbGFzcz0iYmxkLXRvZ2dsZSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iYmxkLW51 +ckZlaWVydGFnQnVuZCInICsgKGZpLm51ckZlaWVydGFnQnVuZCA/ICcgY2hlY2tlZCcgOiAnJykg +KyAnPiBudXIgYnVuZGVzd2VpdGUgRmVpZXJ0YWdlPC9sYWJlbD4nICsKICAgICAgICAgICAgJzxs +YWJlbCBjbGFzcz0iYmxkLXRvZ2dsZSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iYmxkLW51 +ckZlaWVydGFnTlJXIicgKyAoZmkubnVyRmVpZXJ0YWdOUlcgPyAnIGNoZWNrZWQnIDogJycpICsg +Jz4gbnVyIE5SVy1GZWllcnRhZ2U8L2xhYmVsPicgKwogICAgICAgICc8L2Rpdj4nICsKICAgICAg +ICAnPHAgY2xhc3M9ImJsZC1wZXJzLWhpbndlaXMiPkZlaWVydGFnZSB3ZXJkZW4gYnVuZGVzd2Vp +dCBiencuIE5SVy1zcGV6aWZpc2NoIChGcm9ubGVpY2huYW0sIEFsbGVyaGVpbGlnZW4pIGVya2Fu +bnQuIFp1bSBBdWZzY2hsw7xzc2VsbiBkaWUgRGltZW5zaW9uIOKAnkZlaWVydGFnIChOYW1lKSIg +b2RlciDigJ5GZWllcnRhZyAoQnVuZC9OUlcpIiB3w6RobGVuLjwvcD4nICsKICAgICc8L2RldGFp +bHM+JyArCgogICAgX3BlcnNvbmVuU2VrdGlvbkh0bWwoZmkucGVyc29uZW4gfHwgW10pICsKCiAg +ICAnPGRldGFpbHMgY2xhc3M9ImJsZC1zZWt0aW9uIiBvcGVuPjxzdW1tYXJ5PkF1c3dlcnR1bmc8 +L3N1bW1hcnk+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9ImJsZC1mZWxkIiBkYXRhLW51cj0ia2F0 +ZWdvcmlhbCI+PHNwYW4gY2xhc3M9ImJsZC1mZWxkLXRpdGVsIj5EaW1lbnNpb24gKFgtQWNoc2Up +PC9zcGFuPicgKwogICAgICAgICAgICAnPHNlbGVjdCBpZD0iYmxkLWRpbVgiIGNsYXNzPSJmb3Jt +LWlucHV0Ij4nICsgX29wdChkaW1MaXN0ZSwgc3BlYy5kaW1YKSArICc8L3NlbGVjdD48L2Rpdj4n +ICsKICAgICAgICAnPGRpdiBjbGFzcz0iYmxkLWZlbGQiIGRhdGEtbnVyPSJrYXRlZ29yaWFsIj48 +c3BhbiBjbGFzcz0iYmxkLWZlbGQtdGl0ZWwiPjIuIERpbWVuc2lvbiAoU2VyaWUvU3RhcGVsL01h +dHJpeCk8L3NwYW4+JyArCiAgICAgICAgICAgICc8c2VsZWN0IGlkPSJibGQtZGltU2VyaWUiIGNs +YXNzPSJmb3JtLWlucHV0Ij4nICsgX29wdChkaW1TZXJpZUxpc3RlLCBzcGVjLmRpbVNlcmllIHx8 +ICcnKSArICc8L3NlbGVjdD48L2Rpdj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0iYmxkLWZlbGQi +IGRhdGEtbnVyPSJrYXRlZ29yaWFsIj48c3BhbiBjbGFzcz0iYmxkLWZlbGQtdGl0ZWwiPktlbm56 +YWhsPC9zcGFuPicgKwogICAgICAgICAgICAnPHNlbGVjdCBpZD0iYmxkLWtlbm56YWhsIiBjbGFz +cz0iZm9ybS1pbnB1dCI+JyArIF9vcHQoa3pMaXN0ZSwgc3BlYy5rZW5uemFobCkgKyAnPC9zZWxl +Y3Q+PC9kaXY+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9ImJsZC1mZWxkIGJsZC1mZWxkLTIiIGRh +dGEtbnVyPSJzY2F0dGVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4nICsKICAgICAgICAgICAgJzxs +YWJlbCBjbGFzcz0iYmxkLW1pbmkiPlgtTWHDnyAocHJvIFBlcnNvbik8c2VsZWN0IGlkPSJibGQt +c2NhdHRlclgiIGNsYXNzPSJmb3JtLWlucHV0Ij4nICsgX29wdChwbUxpc3RlLCBzcGVjLnNjYXR0 +ZXJYKSArICc8L3NlbGVjdD48L2xhYmVsPicgKwogICAgICAgICAgICAnPGxhYmVsIGNsYXNzPSJi +bGQtbWluaSI+WS1NYcOfIChwcm8gUGVyc29uKTxzZWxlY3QgaWQ9ImJsZC1zY2F0dGVyWSIgY2xh +c3M9ImZvcm0taW5wdXQiPicgKyBfb3B0KHBtTGlzdGUsIHNwZWMuc2NhdHRlclkpICsgJzwvc2Vs +ZWN0PjwvbGFiZWw+PC9kaXY+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9ImJsZC1mZWxkIGJsZC1m +ZWxkLTIiIGRhdGEtbnVyPSJrYXRlZ29yaWFsIj48bGFiZWwgY2xhc3M9ImJsZC1taW5pIj5Tb3J0 +aWVydW5nPHNlbGVjdCBpZD0iYmxkLXNvcnQiIGNsYXNzPSJmb3JtLWlucHV0Ij4nICsKICAgICAg +ICAgICAgJzxvcHRpb24gdmFsdWU9IndlcnQtZGVzYyInICsgKHNwZWMuc29ydCA9PT0gJ3dlcnQt +ZGVzYycgPyAnIHNlbGVjdGVkJyA6ICcnKSArICc+SMO2Y2hzdGVyIHp1ZXJzdDwvb3B0aW9uPicg +KwogICAgICAgICAgICAnPG9wdGlvbiB2YWx1ZT0id2VydC1hc2MiJyArIChzcGVjLnNvcnQgPT09 +ICd3ZXJ0LWFzYycgPyAnIHNlbGVjdGVkJyA6ICcnKSArICc+TmllZHJpZ3N0ZXIgenVlcnN0PC9v +cHRpb24+JyArCiAgICAgICAgICAgICc8b3B0aW9uIHZhbHVlPSJsYWJlbCInICsgKHNwZWMuc29y +dCA9PT0gJ2xhYmVsJyA/ICcgc2VsZWN0ZWQnIDogJycpICsgJz5OYWNoIEJlemVpY2hudW5nPC9v +cHRpb24+JyArCiAgICAgICAgJzwvc2VsZWN0PjwvbGFiZWw+JyArCiAgICAgICAgJzxsYWJlbCBj +bGFzcz0iYmxkLW1pbmkiPkJlZ3JlbnplbjxzZWxlY3QgaWQ9ImJsZC10b3BuIiBjbGFzcz0iZm9y +bS1pbnB1dCI+JyArCiAgICAgICAgICAgIFswLCA1LCAxMCwgMTUsIDIwLCAzMF0ubWFwKGZ1bmN0 +aW9uKG4peyByZXR1cm4gJzxvcHRpb24gdmFsdWU9IicgKyBuICsgJyInICsgKHNwZWMudG9wTiA9 +PT0gbiA/ICcgc2VsZWN0ZWQnIDogJycpICsgJz4nICsgKG4gPT09IDAgPyAnQWxsZScgOiAnVG9w +ICcgKyBuKSArICc8L29wdGlvbj4nOyB9KS5qb2luKCcnKSArCiAgICAgICAgJzwvc2VsZWN0Pjwv +bGFiZWw+PC9kaXY+JyArCiAgICAnPC9kZXRhaWxzPic7Cn0KCi8vIC0tLS0tIFNwZWMgYXVzIEZv +cm11bGFyIGxlc2VuIC0tLS0tCgpmdW5jdGlvbiBfdmFsKGlkKSB7IHZhciBlID0gZG9jdW1lbnQu +Z2V0RWxlbWVudEJ5SWQoaWQpOyByZXR1cm4gZSA/IGUudmFsdWUgOiAnJzsgfQpmdW5jdGlvbiBf +Y2hrKGlkKSB7IHZhciBlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOyByZXR1cm4gISEo +ZSAmJiBlLmNoZWNrZWQpOyB9CmZ1bmN0aW9uIF9jaGlwcyhncnApIHsKICAgIHZhciBvdXQgPSBb +XTsKICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLWNoaXA9IicgKyBncnAgKyAn +Il06Y2hlY2tlZCcpLmZvckVhY2goZnVuY3Rpb24oYyl7IG91dC5wdXNoKGMudmFsdWUpOyB9KTsK +ICAgIHJldHVybiBvdXQ7Cn0KCi8vIEF1cyBkZW0gWmVpdHJhdW0tTW9kdXMgZGVuIHdpcmtzYW1l +biBEYXR1bXNiZXJlaWNoICh6ZWl0Vm9uL3plaXRCaXMpIGFibGVpdGVuLgovLyBrdy9xdWFydGFs +IHdlcmRlbiBhdWYgVGFnZXNncmVuemVuIHVtZ2VyZWNobmV0LCAnZ2VzYW10JyBsb2VzY2h0IGRl +biBCZXJlaWNoLgpmdW5jdGlvbiBfemVpdEJlcmVpY2gobW9kdXMsIHJvaCkgewogICAgaWYgKG1v +ZHVzID09PSAnZ2VzYW10JykgcmV0dXJuIHsgdm9uOiAnJywgYmlzOiAnJyB9OwogICAgaWYgKG1v +ZHVzID09PSAna3cnKSB7CiAgICAgICAgdmFyIGt2ID0gX2t3R3Jlbnplbihyb2gua3dWb24pLCBr +YiA9IF9rd0dyZW56ZW4ocm9oLmt3QmlzKTsKICAgICAgICByZXR1cm4geyB2b246IGt2ID8ga3Yu +dm9uIDogJycsIGJpczoga2IgPyBrYi5iaXMgOiAnJyB9OwogICAgfQogICAgaWYgKG1vZHVzID09 +PSAncXVhcnRhbCcpIHsKICAgICAgICB2YXIgcXYgPSBfcXVhcnRhbEdyZW56ZW4ocm9oLnFWb24p +LCBxYiA9IF9xdWFydGFsR3Jlbnplbihyb2gucUJpcyk7CiAgICAgICAgcmV0dXJuIHsgdm9uOiBx +diA/IHF2LnZvbiA6ICcnLCBiaXM6IHFiID8gcWIuYmlzIDogJycgfTsKICAgIH0KICAgIHJldHVy +biB7IHZvbjogcm9oLnZvbiwgYmlzOiByb2guYmlzIH07ICAgICAgICAgICAgICAgLy8gJ2RhdHVt +Jwp9CgpmdW5jdGlvbiBfc3BlY0F1c0Zvcm0oKSB7CiAgICB2YXIgbW9kdXMgPSBfdmFsKCdibGQt +emVpdG1vZHVzJykgfHwgJ2RhdHVtJzsKICAgIHZhciBrd1ZvbiA9IF92YWwoJ2JsZC1rdy12b24n +KSwga3dCaXMgPSBfdmFsKCdibGQta3ctYmlzJyk7CiAgICB2YXIgcVZvbiA9IF92YWwoJ2JsZC1x +LXZvbicpLCAgcUJpcyA9IF92YWwoJ2JsZC1xLWJpcycpOwogICAgdmFyIGJlcmVpY2ggPSBfemVp +dEJlcmVpY2gobW9kdXMsIHsKICAgICAgICB2b246IF92YWwoJ2JsZC12b24nKSwgYmlzOiBfdmFs +KCdibGQtYmlzJyksCiAgICAgICAga3dWb246IGt3Vm9uLCBrd0Jpczoga3dCaXMsIHFWb246IHFW +b24sIHFCaXM6IHFCaXMKICAgIH0pOwogICAgcmV0dXJuIHsKICAgICAgICB2OiAyLAogICAgICAg +IGlkOiBfZWRpdElkLAogICAgICAgIHRpdGVsOiAoX3ZhbCgnYmxkLXRpdGVsJykgfHwgJycpLnRy +aW0oKSwKICAgICAgICBkaWFncmFtbTogX3ZhbCgnYmxkLWRpYWdyYW1tJykgfHwgJ2JhbGtlbics +CiAgICAgICAgemVpdE1vZHVzOiBtb2R1cywKICAgICAgICB6ZWl0Vm9uOiBiZXJlaWNoLnZvbiwK +ICAgICAgICB6ZWl0QmlzOiBiZXJlaWNoLmJpcywKICAgICAgICB6ZWl0S3dWb246IGt3Vm9uLCB6 +ZWl0S3dCaXM6IGt3QmlzLAogICAgICAgIHplaXRRVm9uOiBxVm9uLCB6ZWl0UUJpczogcUJpcywK +ICAgICAgICBmaWx0ZXI6IHsKICAgICAgICAgICAgcGVyc29uZW46IF9jaGlwcygncGVyc29uZW4n +KSwKICAgICAgICAgICAgZ3J1cHBlbjogX2NoaXBzKCdncnVwcGVuJyksCiAgICAgICAgICAgIGZ1 +bmt0aW9uZW46IF9jaGlwcygnZnVua3Rpb25lbicpLAogICAgICAgICAgICBzdGFuZG9ydGU6IF9j +aGlwcygnc3RhbmRvcnRlJyksCiAgICAgICAgICAgIGRpZW5zdGdyYWRlOiBfY2hpcHMoJ2RpZW5z +dGdyYWRlJyksCiAgICAgICAgICAgIGthdGVnb3JpZW46IF9jaGlwcygna2F0ZWdvcmllbicpLAog +ICAgICAgICAgICBjb2RlczogX2NoaXBzKCdjb2RlcycpLAogICAgICAgICAgICB3b2NoZW50YWdl +OiBfY2hpcHMoJ3dvY2hlbnRhZ2UnKS5tYXAoZnVuY3Rpb24oeCl7IHJldHVybiBwYXJzZUludCh4 +LCAxMCk7IH0pLAogICAgICAgICAgICBudXJEaWVuc3Q6IF9jaGsoJ2JsZC1udXJEaWVuc3QnKSwK +ICAgICAgICAgICAgbnVyV0U6IF9jaGsoJ2JsZC1udXJXRScpLAogICAgICAgICAgICBudXJGZWll +cnRhZzogX2NoaygnYmxkLW51ckZlaWVydGFnJyksCiAgICAgICAgICAgIG51ckZlaWVydGFnQnVu +ZDogX2NoaygnYmxkLW51ckZlaWVydGFnQnVuZCcpLAogICAgICAgICAgICBudXJGZWllcnRhZ05S +VzogX2NoaygnYmxkLW51ckZlaWVydGFnTlJXJykKICAgICAgICB9LAogICAgICAgIGRpbVg6IF92 +YWwoJ2JsZC1kaW1YJykgfHwgJ2dydXBwZScsCiAgICAgICAgZGltU2VyaWU6IF92YWwoJ2JsZC1k +aW1TZXJpZScpIHx8ICcnLAogICAgICAgIGtlbm56YWhsOiBfdmFsKCdibGQta2VubnphaGwnKSB8 +fCAnYW56YWhsJywKICAgICAgICBzY2F0dGVyWDogX3ZhbCgnYmxkLXNjYXR0ZXJYJykgfHwgJ25h +Y2h0JywKICAgICAgICBzY2F0dGVyWTogX3ZhbCgnYmxkLXNjYXR0ZXJZJykgfHwgJ3VybGF1Yics +CiAgICAgICAgc29ydDogX3ZhbCgnYmxkLXNvcnQnKSB8fCAnd2VydC1kZXNjJywKICAgICAgICB0 +b3BOOiBwYXJzZUludChfdmFsKCdibGQtdG9wbicpIHx8ICcwJywgMTApIHx8IDAKICAgIH07Cn0K +Ci8vIC0tLS0tIEZsdXNzZGlhZ3JhbW0gKGxpdmUpIC0tLS0tCgpmdW5jdGlvbiBfZmx1c3NBa3R1 +YWxpc2llcmVuKCkgewogICAgdmFyIHppZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmxk +LWZsdXNzJyk7CiAgICBpZiAoIXppZWwpIHJldHVybjsKICAgIHZhciBzcGVjID0gX3NwZWNBdXNG +b3JtKCk7CiAgICB2YXIgc2NhdHRlciA9IHNwZWMuZGlhZ3JhbW0gPT09ICdzY2F0dGVyJzsKICAg +IHZhciBkdExhYmVsID0gKGRpYWdyYW1tVHlwZW4oKS5maWx0ZXIoZnVuY3Rpb24odCl7IHJldHVy +biB0LmtleSA9PT0gc3BlYy5kaWFncmFtbTsgfSlbMF0gfHwge30pLmxhYmVsIHx8IHNwZWMuZGlh +Z3JhbW07CiAgICB2YXIgZGltWExhYmVsID0gKERJTUVOU0lPTkVOLmZpbHRlcihmdW5jdGlvbihk +KXsgcmV0dXJuIGQua2V5ID09PSBzcGVjLmRpbVg7IH0pWzBdIHx8IHt9KS5sYWJlbCB8fCBzcGVj +LmRpbVg7CiAgICB2YXIgZGltU0xhYmVsID0gc3BlYy5kaW1TZXJpZSA/IChESU1FTlNJT05FTi5m +aWx0ZXIoZnVuY3Rpb24oZCl7IHJldHVybiBkLmtleSA9PT0gc3BlYy5kaW1TZXJpZTsgfSlbMF0g +fHwge30pLmxhYmVsIDogJyc7CiAgICB2YXIga3pMYWJlbCA9IChLRU5OWkFITEVOLmZpbHRlcihm +dW5jdGlvbihrKXsgcmV0dXJuIGsua2V5ID09PSBzcGVjLmtlbm56YWhsOyB9KVswXSB8fCB7fSku +bGFiZWwgfHwgc3BlYy5rZW5uemFobDsKICAgIHZhciBwbVggPSAoUEVSU09OX01BU1NFLmZpbHRl +cihmdW5jdGlvbihwKXsgcmV0dXJuIHAua2V5ID09PSBzcGVjLnNjYXR0ZXJYOyB9KVswXSB8fCB7 +fSkubGFiZWwgfHwgc3BlYy5zY2F0dGVyWDsKICAgIHZhciBwbVkgPSAoUEVSU09OX01BU1NFLmZp +bHRlcihmdW5jdGlvbihwKXsgcmV0dXJuIHAua2V5ID09PSBzcGVjLnNjYXR0ZXJZOyB9KVswXSB8 +fCB7fSkubGFiZWwgfHwgc3BlYy5zY2F0dGVyWTsKCiAgICB2YXIgc3RhdGlvbmVuID0gW3sgdDog +J1BsYW5kYXRlbicsIHM6ICdhbGxlIEVpbnRyw6RnZScgfSwgeyB0OiAnRmlsdGVyJywgczogX2Zp +bHRlckt1cnooc3BlYykgfV07CiAgICBpZiAoc2NhdHRlcikgewogICAgICAgIHN0YXRpb25lbi5w +dXNoKHsgdDogJ0tvcnJlbGF0aW9uJywgczogcG1YICsgJyDDlyAnICsgcG1ZICsgJyBqZSBQZXJz +b24nIH0pOwogICAgfSBlbHNlIHsKICAgICAgICBzdGF0aW9uZW4ucHVzaCh7IHQ6ICdEaW1lbnNp +b24nLCBzOiBkaW1YTGFiZWwgKyAoZGltU0xhYmVsID8gJyDDlyAnICsgZGltU0xhYmVsIDogJycp +IH0pOwogICAgICAgIHN0YXRpb25lbi5wdXNoKHsgdDogJ0tlbm56YWhsJywgczoga3pMYWJlbCB9 +KTsKICAgIH0KICAgIHN0YXRpb25lbi5wdXNoKHsgdDogJ0RpYWdyYW1tJywgczogZHRMYWJlbCB9 +KTsKCiAgICB6aWVsLmlubmVySFRNTCA9ICc8ZGl2IGNsYXNzPSJmbHVzcy10aXRlbCI+TG9naWsg +ZGllc2VyIFN0YXRpc3RpazwvZGl2PjxkaXYgY2xhc3M9ImZsdXNzLWtldHRlIj4nICsKICAgICAg +ICBzdGF0aW9uZW4ubWFwKGZ1bmN0aW9uKHN0LCBpKSB7CiAgICAgICAgICAgIHJldHVybiAoaSA/ +ICc8c3BhbiBjbGFzcz0iZmx1c3MtcGZlaWwiPuKGkjwvc3Bhbj4nIDogJycpICsKICAgICAgICAg +ICAgICAgICc8ZGl2IGNsYXNzPSJmbHVzcy1zdGF0aW9uIj48ZGl2IGNsYXNzPSJmbHVzcy10Ij4n +ICsgZXNjYXBlSFRNTChzdC50KSArICc8L2Rpdj48ZGl2IGNsYXNzPSJmbHVzcy1zIj4nICsgZXNj +YXBlSFRNTChzdC5zKSArICc8L2Rpdj48L2Rpdj4nOwogICAgICAgIH0pLmpvaW4oJycpICsgJzwv +ZGl2Pic7Cn0KCmZ1bmN0aW9uIF9maWx0ZXJLdXJ6KHNwZWMpIHsKICAgIHZhciBmaSA9IHNwZWMu +ZmlsdGVyIHx8IHt9LCB0ZWlsZSA9IFtdOwogICAgaWYgKGZpLnBlcnNvbmVuICYmIGZpLnBlcnNv +bmVuLmxlbmd0aCkgdGVpbGUucHVzaChmaS5wZXJzb25lbi5sZW5ndGggKyAnIFBlcnNvbmVuJyk7 +CiAgICBbJ2dydXBwZW4nLCAnZnVua3Rpb25lbicsICdzdGFuZG9ydGUnLCAnZGllbnN0Z3JhZGUn +LCAna2F0ZWdvcmllbicsICdjb2RlcyddLmZvckVhY2goZnVuY3Rpb24oaykgewogICAgICAgIGlm +IChmaVtrXSAmJiBmaVtrXS5sZW5ndGgpIHRlaWxlLnB1c2goZmlba10ubGVuZ3RoICsgJ8OXICcg +KyBrKTsKICAgIH0pOwogICAgaWYgKGZpLndvY2hlbnRhZ2UgJiYgZmkud29jaGVudGFnZS5sZW5n +dGgpIHRlaWxlLnB1c2goZmkud29jaGVudGFnZS5sZW5ndGggKyAnw5cgV29jaGVudGFnJyk7CiAg +ICBpZiAoZmkubnVyRGllbnN0KSB0ZWlsZS5wdXNoKCdudXIgRGllbnN0ZScpOwogICAgaWYgKGZp +Lm51cldFKSB0ZWlsZS5wdXNoKCdudXIgV0UnKTsKICAgIGlmIChmaS5udXJGZWllcnRhZykgdGVp +bGUucHVzaCgnbnVyIEZlaWVydGFnZScpOwogICAgaWYgKGZpLm51ckZlaWVydGFnQnVuZCkgdGVp +bGUucHVzaCgnbnVyIGJ1bmRlc3dlaXRlIEZUJyk7CiAgICBpZiAoZmkubnVyRmVpZXJ0YWdOUlcp +IHRlaWxlLnB1c2goJ251ciBOUlctRlQnKTsKICAgIHZhciB6bCA9IF96ZWl0cmF1bUt1cnooc3Bl +Yyk7CiAgICBpZiAoemwpIHRlaWxlLnB1c2goemwpOwogICAgcmV0dXJuIHRlaWxlLmxlbmd0aCA/ +IHRlaWxlLmpvaW4oJywgJykgOiAna2VpbiBGaWx0ZXInOwp9CgovLyBLdXJ6YmVzY2hyaWZ0dW5n +IGRlcyBha3RpdmVuIFplaXRyYXVtcyBmdWVyIGRhcyBGbHVzc2RpYWdyYW1tLgpmdW5jdGlvbiBf +emVpdHJhdW1LdXJ6KHNwZWMpIHsKICAgIHZhciBtID0gc3BlYy56ZWl0TW9kdXMgfHwgJ2RhdHVt +JzsKICAgIGlmIChtID09PSAnZ2VzYW10JykgcmV0dXJuICdHZXNhbXQnOwogICAgaWYgKG0gPT09 +ICdrdycpIHJldHVybiAoc3BlYy56ZWl0S3dWb24gfHwgc3BlYy56ZWl0S3dCaXMpID8gJ0tXLUJl +cmVpY2gnIDogJyc7CiAgICBpZiAobSA9PT0gJ3F1YXJ0YWwnKSByZXR1cm4gKHNwZWMuemVpdFFW +b24gfHwgc3BlYy56ZWl0UUJpcykgPyAnUXVhcnRhbHMtQmVyZWljaCcgOiAnJzsKICAgIHJldHVy +biAoc3BlYy56ZWl0Vm9uIHx8IHNwZWMuemVpdEJpcykgPyAnWmVpdHJhdW0nIDogJyc7Cn0KCi8v +IC0tLS0tIFRlc3RlbiAtLS0tLQoKZnVuY3Rpb24gX3Rlc3RlbigpIHsKICAgIHZhciB6aWVsID0g +ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JsZC1lcmdlYm5pcycpOwogICAgaWYgKCF6aWVsKSBy +ZXR1cm47CiAgICB2YXIgc3BlYyA9IF9zcGVjQXVzRm9ybSgpOwogICAgdHJ5IHsKICAgICAgICB2 +YXIgZXJnID0gYXVzd2VydGVuKHNwZWMpOwogICAgICAgIHZhciBhbm9uID0gZmFsc2U7IC8vIEJ1 +aWxkZXIgemVpZ3QgS2xhcmRhdGVuIChBZG1pbi1Lb250ZXh0KQogICAgICAgIHppZWwuaW5uZXJI +VE1MID0gJzxkaXYgY2xhc3M9ImJsZC1lcmdlYm5pcy10aXRlbCI+JyArIGVzY2FwZUhUTUwoc3Bl +Yy50aXRlbCB8fCAnVm9yc2NoYXUnKSArICc8L2Rpdj4nICsKICAgICAgICAgICAgJzxkaXYgY2xh +c3M9ImJsZC1lcmdlYm5pcy1jaGFydCI+JyArIGRpYWdyYW1tUmVuZGVybihzcGVjLmRpYWdyYW1t +LCBlcmcsIHNwZWMpICsgJzwvZGl2Pic7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgemllbC5p +bm5lckhUTUwgPSAnPGRpdiBjbGFzcz0icmVuZGVyLWZlaGxlci1ib3giPjxkaXYgY2xhc3M9InJl +bmRlci1mZWhsZXItdGV4dCI+PGRpdiBjbGFzcz0icmVuZGVyLWZlaGxlci10aXRlbCI+RmVobGVy +IGJlaW0gQmF1ZW48L2Rpdj48ZGl2IGNsYXNzPSJyZW5kZXItZmVobGVyLWRldGFpbCI+JyArIGVz +Y2FwZUhUTUwoZS5tZXNzYWdlIHx8IFN0cmluZyhlKSkgKyAnPC9kaXY+PC9kaXY+PC9kaXY+JzsK +ICAgICAgICB0cnkgeyBjb25zb2xlLmVycm9yKCdbc3RhdGlzdGlrLWJ1aWxkZXJdJywgZSk7IH0g +Y2F0Y2ggKF8pIHt9CiAgICB9Cn0KCi8vIC0tLS0tIFNwZWljaGVybiAvIExpc3RlIC0tLS0tCgpm +dW5jdGlvbiBfa2FjaGVsRmluZGVuKGlkKSB7CiAgICB2YXIgYXJyID0gKFouYWRtaW4gJiYgWi5h +ZG1pbi5zdGF0aXN0aWtLYWNoZWxuKSB8fCBbXTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJy +Lmxlbmd0aDsgaSsrKSBpZiAoYXJyW2ldLmlkID09PSBpZCkgcmV0dXJuIGFycltpXTsKICAgIHJl +dHVybiBudWxsOwp9CmZ1bmN0aW9uIF9uZXVlSWQoKSB7CiAgICB2YXIgbWF4ID0gMDsKICAgICgo +Wi5hZG1pbiAmJiBaLmFkbWluLnN0YXRpc3Rpa0thY2hlbG4pIHx8IFtdKS5mb3JFYWNoKGZ1bmN0 +aW9uKGspIHsKICAgICAgICB2YXIgbSA9IC9ea18oXGQrKSQvLmV4ZWMoay5pZCB8fCAnJyk7IGlm +IChtKSBtYXggPSBNYXRoLm1heChtYXgsIHBhcnNlSW50KG1bMV0sIDEwKSk7CiAgICB9KTsKICAg +IHJldHVybiAna18nICsgKG1heCArIDEpOwp9CmZ1bmN0aW9uIF9wZXJzaXN0KGxpc3RlLCBvbk9r +KSB7CiAgICBhcGkoJy9hcGkvYWRtaW4vc3RhdGlzdGlrJywgeyBtZXRob2Q6ICdQVVQnLCBoZWFk +ZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSwgYm9keTogSlNPTi5z +dHJpbmdpZnkoeyBzdGF0aXN0aWtLYWNoZWxuOiBsaXN0ZSB9KSB9KQogICAgICAgIC50aGVuKGZ1 +bmN0aW9uKCl7IFouYWRtaW4uc3RhdGlzdGlrS2FjaGVsbiA9IGxpc3RlOyBvbk9rKCk7IH0pCiAg +ICAgICAgLmNhdGNoKGZ1bmN0aW9uKGUpeyB0b2FzdCgnU3BlaWNoZXJuIGZlaGxnZXNjaGxhZ2Vu +OiAnICsgZS5tZXNzYWdlLCAnZmVobGVyJyk7IH0pOwp9CmZ1bmN0aW9uIF9zcGVpY2hlcm4oKSB7 +CiAgICB2YXIgc3BlYyA9IF9zcGVjQXVzRm9ybSgpOwogICAgaWYgKCFzcGVjLnRpdGVsKSB7IHRv +YXN0KCdCaXR0ZSBlaW5lbiBUaXRlbCB2ZXJnZWJlbicsICd3YXJudW5nJyk7IHJldHVybjsgfQog +ICAgc3BlYy5pZCA9IF9lZGl0SWQgfHwgX25ldWVJZCgpOwogICAgdmFyIGxpc3RlID0gKChaLmFk +bWluICYmIFouYWRtaW4uc3RhdGlzdGlrS2FjaGVsbikgfHwgW10pLnNsaWNlKCk7CiAgICB2YXIg +aWR4ID0gLTE7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3RlLmxlbmd0aDsgaSsrKSBpZiAo +bGlzdGVbaV0uaWQgPT09IHNwZWMuaWQpIHsgaWR4ID0gaTsgYnJlYWs7IH0KICAgIGlmIChpZHgg +Pj0gMCkgbGlzdGVbaWR4XSA9IHNwZWM7IGVsc2UgbGlzdGUucHVzaChzcGVjKTsKICAgIF9wZXJz +aXN0KGxpc3RlLCBmdW5jdGlvbigpIHsKICAgICAgICBfZWRpdElkID0gc3BlYy5pZDsKICAgICAg +ICB0b2FzdChpZHggPj0gMCA/ICdLYWNoZWwgZ2VzcGVpY2hlcnQnIDogJ0thY2hlbCBhbmdlbGVn +dCDigJQgZXJzY2hlaW50IGltIFN0YXRpc3Rpay1UYWInLCAnZXJmb2xnJyk7CiAgICAgICAgc3Rh +dGlzdGlrQnVpbGRlclJlbmRlcm4oKTsKICAgIH0pOwp9CmZ1bmN0aW9uIF9sb2VzY2hlbihpZCkg +ewogICAgYmVzdGFldGlnZW4oJ0RpZXNlIFN0YXRpc3Rpay1LYWNoZWwgZsO8ciBhbGxlIGzDtnNj +aGVuPycsIGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBsaXN0ZSA9ICgoWi5hZG1pbiAmJiBaLmFk +bWluLnN0YXRpc3Rpa0thY2hlbG4pIHx8IFtdKS5maWx0ZXIoZnVuY3Rpb24oayl7IHJldHVybiBr +LmlkICE9PSBpZDsgfSk7CiAgICAgICAgdmFyIGxheW91dCA9ICgoWi5hZG1pbiAmJiBaLmFkbWlu +LnN0YXRpc3Rpa0xheW91dCkgfHwgW10pLmZpbHRlcihmdW5jdGlvbihlKXsgcmV0dXJuIGUuaWQg +IT09IGlkOyB9KTsKICAgICAgICBhcGkoJy9hcGkvYWRtaW4vc3RhdGlzdGlrJywgeyBtZXRob2Q6 +ICdQVVQnLCBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSwg +Ym9keTogSlNPTi5zdHJpbmdpZnkoeyBzdGF0aXN0aWtLYWNoZWxuOiBsaXN0ZSwgc3RhdGlzdGlr +TGF5b3V0OiBsYXlvdXQgfSkgfSkKICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAg +ICAgICAgICAgICBaLmFkbWluLnN0YXRpc3Rpa0thY2hlbG4gPSBsaXN0ZTsgWi5hZG1pbi5zdGF0 +aXN0aWtMYXlvdXQgPSBsYXlvdXQ7CiAgICAgICAgICAgICAgICBpZiAoX2VkaXRJZCA9PT0gaWQp +IF9lZGl0SWQgPSBudWxsOwogICAgICAgICAgICAgICAgdG9hc3QoJ0thY2hlbCBnZWzDtnNjaHQn +LCAnZXJmb2xnJyk7CiAgICAgICAgICAgICAgICBzdGF0aXN0aWtCdWlsZGVyUmVuZGVybigpOwog +ICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlKXsgdG9hc3QoJ0zDtnNjaGVuIGZlaGxnZXNj +aGxhZ2VuOiAnICsgZS5tZXNzYWdlLCAnZmVobGVyJyk7IH0pOwogICAgfSwgeyBqYVRleHQ6ICdM +w7ZzY2hlbicsIGphRGFuZ2VyOiB0cnVlIH0pOwp9CmZ1bmN0aW9uIF9saXN0ZUh0bWwoKSB7CiAg +ICB2YXIgYXJyID0gKFouYWRtaW4gJiYgWi5hZG1pbi5zdGF0aXN0aWtLYWNoZWxuKSB8fCBbXTsK +ICAgIGlmICghYXJyLmxlbmd0aCkgcmV0dXJuICc8ZGl2IGNsYXNzPSJibGQtbGlzdGUtdGl0ZWwi +PlZvcmhhbmRlbmUgS2FjaGVsbjwvZGl2PjxkaXYgY2xhc3M9ImJsZC1saXN0ZS1sZWVyIj5Ob2No +IGtlaW5lIEthY2hlbG4gZ2ViYXV0LjwvZGl2Pic7CiAgICB2YXIgZHQgPSBkaWFncmFtbVR5cGVu +KCk7CiAgICB2YXIgaXRlbXMgPSBhcnIubWFwKGZ1bmN0aW9uKGspIHsKICAgICAgICB2YXIgdHlw +ID0gKGR0LmZpbHRlcihmdW5jdGlvbih0KXsgcmV0dXJuIHQua2V5ID09PSBrLmRpYWdyYW1tOyB9 +KVswXSB8fCB7fSkubGFiZWwgfHwgKGsuZGlhZ3JhbW0gPyBrLmRpYWdyYW1tIDogJ1Jhbmtpbmcg +KGFsdCknKTsKICAgICAgICByZXR1cm4gJzxkaXYgY2xhc3M9ImJsZC1saXN0ZS1pdGVtJyArIChr +LmlkID09PSBfZWRpdElkID8gJyBha3RpdicgOiAnJykgKyAnIj4nICsKICAgICAgICAgICAgJzxz +cGFuIGNsYXNzPSJibGQtbGlzdGUtbmFtZSI+JyArIGVzY2FwZUhUTUwoay50aXRlbCB8fCAnKG9o +bmUgVGl0ZWwpJykgKyAnPC9zcGFuPicgKwogICAgICAgICAgICAnPHNwYW4gY2xhc3M9ImJsZC1s +aXN0ZS10eXAiPicgKyBlc2NhcGVIVE1MKHR5cCkgKyAnPC9zcGFuPicgKwogICAgICAgICAgICAn +PGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1taW5pIiB0eXBlPSJidXR0b24iIGRhdGEtYmxkLWVkaXQ9 +IicgKyBlc2NhcGVBdHRyKGsuaWQpICsgJyI+QmVhcmJlaXRlbjwvYnV0dG9uPicgKwogICAgICAg +ICAgICAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1taW5pIGJ0bi1nZWZhaHIiIHR5cGU9ImJ1dHRv +biIgZGF0YS1ibGQtZGVsPSInICsgZXNjYXBlQXR0cihrLmlkKSArICciPkzDtnNjaGVuPC9idXR0 +b24+JyArCiAgICAgICAgJzwvZGl2Pic7CiAgICB9KS5qb2luKCcnKTsKICAgIHJldHVybiAnPGRp +diBjbGFzcz0iYmxkLWxpc3RlLXRpdGVsIj5Wb3JoYW5kZW5lIEthY2hlbG48L2Rpdj48ZGl2IGNs +YXNzPSJibGQtbGlzdGUtaXRlbXMiPicgKyBpdGVtcyArICc8L2Rpdj4nOwp9CgovLyAtLS0tLSBW +ZXJkcmFodHVuZyAtLS0tLQoKZnVuY3Rpb24gX2RpYWdyYW1tU2ljaHRiYXJrZWl0KCkgewogICAg +dmFyIHNwZWMgPSBfc3BlY0F1c0Zvcm0oKTsKICAgIHZhciBzY2F0dGVyID0gc3BlYy5kaWFncmFt +bSA9PT0gJ3NjYXR0ZXInOwogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI3N0YXRpc3Rp +ay1idWlsZGVyLWluaGFsdCBbZGF0YS1udXI9ImthdGVnb3JpYWwiXScpLmZvckVhY2goZnVuY3Rp +b24oZWwpeyBlbC5zdHlsZS5kaXNwbGF5ID0gc2NhdHRlciA/ICdub25lJyA6ICcnOyB9KTsKICAg +IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNzdGF0aXN0aWstYnVpbGRlci1pbmhhbHQgW2Rh +dGEtbnVyPSJzY2F0dGVyIl0nKS5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsgZWwuc3R5bGUuZGlzcGxh +eSA9IHNjYXR0ZXIgPyAnJyA6ICdub25lJzsgfSk7Cn0KCi8vIFplaXRyYXVtLUVpbmdhYmVncnVw +cGVuIGplIG5hY2ggTW9kdXMgZWluLS9hdXNibGVuZGVuLgpmdW5jdGlvbiBfemVpdFNpY2h0YmFy +a2VpdCgpIHsKICAgIHZhciBtb2R1cyA9IF92YWwoJ2JsZC16ZWl0bW9kdXMnKSB8fCAnZGF0dW0n +OwogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI3N0YXRpc3Rpay1idWlsZGVyLWluaGFs +dCBbZGF0YS16ZWl0XScpLmZvckVhY2goZnVuY3Rpb24oZWwpewogICAgICAgIGVsLnN0eWxlLmRp +c3BsYXkgPSAoZWwuZ2V0QXR0cmlidXRlKCdkYXRhLXplaXQnKSA9PT0gbW9kdXMpID8gJycgOiAn +bm9uZSc7CiAgICB9KTsKfQoKZnVuY3Rpb24gX3ZlcmRyYWh0ZW4oY29udCkgewogICAgLy8gQ2hp +cC1Ub2dnbGVzIChhbi9hdXMtT3B0aWspICsgTGl2ZS1VcGRhdGUuCiAgICBjb250LmFkZEV2ZW50 +TGlzdGVuZXIoJ2NoYW5nZScsIGZ1bmN0aW9uKGUpIHsKICAgICAgICB2YXIgdCA9IGUudGFyZ2V0 +OwogICAgICAgIGlmICh0Lm1hdGNoZXMgJiYgdC5tYXRjaGVzKCdbZGF0YS1jaGlwXScpKSB7CiAg +ICAgICAgICAgIHZhciBsYWIgPSB0LmNsb3Nlc3QoJy5ibGQtY2hpcCcpOyBpZiAobGFiKSBsYWIu +Y2xhc3NMaXN0LnRvZ2dsZSgnYW4nLCB0LmNoZWNrZWQpOwogICAgICAgIH0KICAgICAgICBpZiAo +dC5pZCA9PT0gJ2JsZC1kaWFncmFtbScpIF9kaWFncmFtbVNpY2h0YmFya2VpdCgpOwogICAgICAg +IGlmICh0LmlkID09PSAnYmxkLXplaXRtb2R1cycpIF96ZWl0U2ljaHRiYXJrZWl0KCk7CiAgICAg +ICAgX2ZsdXNzQWt0dWFsaXNpZXJlbigpOwogICAgfSk7CiAgICBjb250LmFkZEV2ZW50TGlzdGVu +ZXIoJ2lucHV0JywgZnVuY3Rpb24oZSkgewogICAgICAgIHZhciBpZHMgPSBbJ2JsZC10aXRlbCcs +ICdibGQtdm9uJywgJ2JsZC1iaXMnLCAnYmxkLWt3LXZvbicsICdibGQta3ctYmlzJ107CiAgICAg +ICAgaWYgKGUudGFyZ2V0ICYmIGlkcy5pbmRleE9mKGUudGFyZ2V0LmlkKSA+PSAwKSBfZmx1c3NB +a3R1YWxpc2llcmVuKCk7CiAgICB9KTsKICAgIC8vICJhbGxlIC8ga2VpbmUiIGplIERpZW5zdGdy +dXBwZSAoUGVyc29uZW4tU2VrdGlvbikuCiAgICBjb250LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNr +JywgZnVuY3Rpb24oZSkgewogICAgICAgIHZhciBndCA9IGUudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRh +LWdycC10b2dnbGVdJyk7CiAgICAgICAgaWYgKCFndCkgcmV0dXJuOwogICAgICAgIHZhciBnbiA9 +IGd0LmdldEF0dHJpYnV0ZSgnZGF0YS1ncnAtdG9nZ2xlJyk7CiAgICAgICAgdmFyIGNoaXBzID0g +W107CiAgICAgICAgY29udC5xdWVyeVNlbGVjdG9yQWxsKCcuYmxkLWNoaXBbZGF0YS1wZ3JwXScp +LmZvckVhY2goZnVuY3Rpb24obGFiKSB7CiAgICAgICAgICAgIGlmIChsYWIuZ2V0QXR0cmlidXRl +KCdkYXRhLXBncnAnKSA9PT0gZ24pIGNoaXBzLnB1c2gobGFiKTsKICAgICAgICB9KTsKICAgICAg +ICB2YXIgYWxsZUFuID0gY2hpcHMubGVuZ3RoID4gMCAmJiBjaGlwcy5ldmVyeShmdW5jdGlvbihs +YWIpeyB2YXIgaSA9IGxhYi5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpOyByZXR1cm4gaSAmJiBpLmNo +ZWNrZWQ7IH0pOwogICAgICAgIGNoaXBzLmZvckVhY2goZnVuY3Rpb24obGFiKSB7CiAgICAgICAg +ICAgIHZhciBpbnAgPSBsYWIucXVlcnlTZWxlY3RvcignaW5wdXQnKTsKICAgICAgICAgICAgaWYg +KCFpbnApIHJldHVybjsKICAgICAgICAgICAgaW5wLmNoZWNrZWQgPSAhYWxsZUFuOwogICAgICAg +ICAgICBsYWIuY2xhc3NMaXN0LnRvZ2dsZSgnYW4nLCBpbnAuY2hlY2tlZCk7CiAgICAgICAgfSk7 +CiAgICAgICAgX2ZsdXNzQWt0dWFsaXNpZXJlbigpOwogICAgfSk7CiAgICB2YXIgYnQgPSBkb2N1 +bWVudC5nZXRFbGVtZW50QnlJZCgnYmxkLXRlc3RlbicpOwogICAgaWYgKGJ0KSBidC5hZGRFdmVu +dExpc3RlbmVyKCdjbGljaycsIF90ZXN0ZW4pOwogICAgdmFyIGJzID0gZG9jdW1lbnQuZ2V0RWxl +bWVudEJ5SWQoJ2JsZC1zcGVpY2hlcm4nKTsKICAgIGlmIChicykgYnMuYWRkRXZlbnRMaXN0ZW5l +cignY2xpY2snLCBfc3BlaWNoZXJuKTsKICAgIHZhciBibiA9IGRvY3VtZW50LmdldEVsZW1lbnRC +eUlkKCdibGQtbmV1Jyk7CiAgICBpZiAoYm4pIGJuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywg +ZnVuY3Rpb24oKXsgX2VkaXRJZCA9IG51bGw7IHN0YXRpc3Rpa0J1aWxkZXJSZW5kZXJuKCk7IH0p +OwogICAgY29udC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1ibGQtZWRpdF0nKS5mb3JFYWNoKGZ1 +bmN0aW9uKGIpeyBiLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgX2VkaXRJ +ZCA9IGIuZ2V0QXR0cmlidXRlKCdkYXRhLWJsZC1lZGl0Jyk7IHN0YXRpc3Rpa0J1aWxkZXJSZW5k +ZXJuKCk7IH0pOyB9KTsKICAgIGNvbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtYmxkLWRlbF0n +KS5mb3JFYWNoKGZ1bmN0aW9uKGIpeyBiLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rp +b24oKXsgX2xvZXNjaGVuKGIuZ2V0QXR0cmlidXRlKCdkYXRhLWJsZC1kZWwnKSk7IH0pOyB9KTsK +ICAgIF9kaWFncmFtbVNpY2h0YmFya2VpdCgpOwogICAgX3plaXRTaWNodGJhcmtlaXQoKTsKfQo= +### FILE: js/besetzung.js | 59595 +Ly8gPT09IGJlc2V0enVuZy9iZXNldHp1bmcuanMgPT09Ci8vIFN0YW5kOiAyMDI2LTA1LTE0Ci8v +IFZJMy1zcGV6aWZpc2NoZXIgVGFiICJCZXNldHp1bmdza29udHJvbGxlIiBmdWVyIEdlc2FtdHZl +cmFudHdvcnRsaWNoZToKLy8gNC1Xb2NoZW4tVm9yc2NoYXUgYXVmIGRpZSBGdWVocnVuZ3MtQmVz +ZXR6dW5nIHBybyBTY2hpY2h0LiBGdWVyIERlZml6aXQtCi8vIFRhZ2UgZ2lidCBlcyBlaW5lbiBS +dW5kbWFpbC1Nb2RhbCBhbiBhbGxlIGZyZWkgZWluZ2VwbGFudGVuIFBlcnNvbmVuLgovLwovLyBI +b29rczogYmV6IChCZXplaWNobnVuZ2VuIGF1cyBhZG1pbi5qc29uLCBQaGFzZSA4KSwgZW1haWxW +b3JsYWdlbkhvbGVuLwovLyBlbWFpbFZvcmxhZ2VCZWZ1ZWxsZW4gKFBoYXNlIDcpLCBtYWlsVHJp +Z2dlckZldWVybiAoUGhhc2UgNykuCgppbXBvcnQgeyBaIH0gZnJvbSAnLi9jb3JlX3N0YXRlLmpz +JzsKaW1wb3J0IHsKICAgIGVzY2FwZUhUTUwsIGVzY2FwZUF0dHIsCiAgICBkYXR1bVN0ciwgZGF0 +dW1Gb3JtYXRERSwgd29jaGVudGFnS3VyeiwKICAgIGFic2VuZGVyTmFtZUVybWl0dGVsbgp9IGZy +b20gJy4vY29yZV91dGlsLmpzJzsKaW1wb3J0IHsgdG9hc3QsIG1vZGFsWmVpZ2VuLCBtb2RhbFNj +aGxpZXNzZW4gfSBmcm9tICcuL3VpX2RpYWxvZy5qcyc7CmltcG9ydCB7CiAgICBCS19IT1JJWk9O +VF9UQUdFLAogICAga29tbWVudGFyVGV4dCwgenVEYXR1bVNjcm9sbGVuCn0gZnJvbSAnLi9ncmlk +X2ludGVyYWN0aW9uLmpzJzsKaW1wb3J0IHsgZnVlaHJ1bmdzWmFlaGxlbiwgZGdsc0luU2NoaWNo +dCwgZ2VzYW10dmVyYW50d29ydGxpY2hFbWFpbCwgaXN0RGdsUXVhbGlmaXppZXJ0LCBpc3RHZXNh +bXR2ZXJhbnR3b3J0bGljaCB9IGZyb20gJy4vZ3JpZF9lZGl0b3IuanMnOwppbXBvcnQgeyBhbnNp +Y2h0V2VjaHNlbG4gfSBmcm9tICcuL2dyaWRfcmVuZGVyLmpzJzsKCi8vID09PT09IEhvb2tzID09 +PT09CgpleHBvcnQgdmFyIGJlc2V0enVuZ0hvb2tzID0gewogICAgYmV6OiBudWxsLAogICAgZW1h +aWxWb3JsYWdlbkhvbGVuOiBudWxsLAogICAgZW1haWxWb3JsYWdlQmVmdWVsbGVuOiBudWxsLAog +ICAgbWFpbFRyaWdnZXJGZXVlcm46IG51bGwKfTsKCmZ1bmN0aW9uIGJlek9kZXIoa2V5LCBmYWxs +YmFjaykgewogICAgaWYgKGJlc2V0enVuZ0hvb2tzLmJleikgewogICAgICAgIHZhciB2ID0gYmVz +ZXR6dW5nSG9va3MuYmV6KGtleSk7CiAgICAgICAgaWYgKHYpIHJldHVybiB2OwogICAgfQogICAg +cmV0dXJuIGZhbGxiYWNrOwp9CgovLyA9PT09PSBBbmFseXNlID09PT09CgovLyA0LVdvY2hlbi1B +bmFseXNlIGZ1ZXIgZGVuIEJlc2V0enVuZ3Nrb250cm9sbC1UYWIuIERyZWktU3RhdHVzLUFtcGVs +OgovLyAgIHJvdCAgID0gaXJnZW5kZWluZSBTY2hpY2h0IGhhdCDiiaQgMSBGdWVocnVuZ3NrcmFm +dCAoYWt1dGUgVW50ZXJiZXNldHp1bmcpCi8vICAgZ2VsYiAgPSBpcmdlbmRlaW5lIFNjaGljaHQg +aGF0IGdlbmF1IDIgRnVlaHJ1bmdza3JhZWZ0ZSAoa25hcHBlIE1pbmRlc3QtCi8vICAgICAgICAg +ICAgQmVzZXR6dW5nIOKAlCBrZWluIFB1ZmZlciBmdWVyIGt1cnpmcmlzdGlnZSBBdXNmYWVsbGUp +Ci8vICAgZ3J1ZW4gPSBhbGxlIFNjaGljaHRlbiBoYWJlbiDiiaUgMyBGdWVocnVuZ3NrcmFlZnRl +IChrb21mb3J0YWJlbCBiZXNldHp0KQovLyBSdWVja2dhYmUgcHJvIFRhZzogeyBkYXR1bSwgZGF0 +ZU9iaiwgd29jaGVudGFnLCBzdGF0dXMsIHNjaGljaHRlbjoKLy8gICB7Rjp7aXN0LHN0YXR1c30s +IFM6Li4uLCBOOi4uLn0gfQpleHBvcnQgZnVuY3Rpb24gYmVzZXR6dW5nc0FuYWx5c2UoKSB7CiAg +ICB2YXIgaGV1dGUgPSBuZXcgRGF0ZSgpOyBoZXV0ZS5zZXRIb3VycygwLDAsMCwwKTsKICAgIHZh +ciB0YWdlID0gW107CiAgICB2YXIgcm90ID0gMCwgZ2VsYiA9IDAsIGdydWVuID0gMDsKICAgIGZ1 +bmN0aW9uIHNjaGljaHRTdGF0dXMoaXN0KSB7CiAgICAgICAgaWYgKGlzdCA8PSAxKSByZXR1cm4g +J3JvdCc7CiAgICAgICAgaWYgKGlzdCA9PT0gMikgcmV0dXJuICdnZWxiJzsKICAgICAgICByZXR1 +cm4gJ2dydWVuJzsKICAgIH0KICAgIGZ1bmN0aW9uIHRhZ1N0YXR1cyhmLCBzLCBuKSB7CiAgICAg +ICAgaWYgKGYgPD0gMSB8fCBzIDw9IDEgfHwgbiA8PSAxKSByZXR1cm4gJ3JvdCc7CiAgICAgICAg +aWYgKGYgPT09IDIgfHwgcyA9PT0gMiB8fCBuID09PSAyKSByZXR1cm4gJ2dlbGInOwogICAgICAg +IHJldHVybiAnZ3J1ZW4nOwogICAgfQogICAgKFoudGFnZSB8fCBbXSkuZm9yRWFjaChmdW5jdGlv +bihkKSB7CiAgICAgICAgaWYgKGQgPCBoZXV0ZSkgcmV0dXJuOwogICAgICAgIHZhciBkaWZmID0g +TWF0aC5mbG9vcigoZCAtIGhldXRlKSAvIDg2NDAwMDAwKTsKICAgICAgICBpZiAoZGlmZiA+PSBC +S19IT1JJWk9OVF9UQUdFKSByZXR1cm47CiAgICAgICAgdmFyIGRTdHIgPSBkYXR1bVN0cihkKTsK +ICAgICAgICB2YXIgZiA9IGZ1ZWhydW5nc1phZWhsZW4oZFN0ciwgJ0YnKTsKICAgICAgICB2YXIg +cyA9IGZ1ZWhydW5nc1phZWhsZW4oZFN0ciwgJ1MnKTsKICAgICAgICB2YXIgbiA9IGZ1ZWhydW5n +c1phZWhsZW4oZFN0ciwgJ04nKTsKICAgICAgICB2YXIgc3QgPSB0YWdTdGF0dXMoZiwgcywgbik7 +CiAgICAgICAgaWYgKHN0ID09PSAncm90Jykgcm90Kys7CiAgICAgICAgZWxzZSBpZiAoc3QgPT09 +ICdnZWxiJykgZ2VsYisrOwogICAgICAgIGVsc2UgZ3J1ZW4rKzsKICAgICAgICB0YWdlLnB1c2go +ewogICAgICAgICAgICBkYXR1bTogZFN0ciwKICAgICAgICAgICAgZGF0ZU9iajogZCwKICAgICAg +ICAgICAgd29jaGVudGFnOiB3b2NoZW50YWdLdXJ6KGQpLAogICAgICAgICAgICBzdGF0dXM6IHN0 +LAogICAgICAgICAgICBzY2hpY2h0ZW46IHsKICAgICAgICAgICAgICAgIEY6IHsgaXN0OiBmLCBz +dGF0dXM6IHNjaGljaHRTdGF0dXMoZikgfSwKICAgICAgICAgICAgICAgIFM6IHsgaXN0OiBzLCBz +dGF0dXM6IHNjaGljaHRTdGF0dXMocykgfSwKICAgICAgICAgICAgICAgIE46IHsgaXN0OiBuLCBz +dGF0dXM6IHNjaGljaHRTdGF0dXMobikgfQogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9 +KTsKICAgIHJldHVybiB7CiAgICAgICAgdGFnZTogdGFnZSwKICAgICAgICBnZXNhbXRUYWdlOiB0 +YWdlLmxlbmd0aCwKICAgICAgICByb3RUYWdlOiByb3QsIGdlbGJUYWdlOiBnZWxiLCBncnVlblRh +Z2U6IGdydWVuLAogICAgICAgIC8vIEtvbXBhdC1GZWxkZXIgZnVlciBhZWx0ZXJlbiBDb2RlIChk +ZWZpeml0VGFnZSA9IHJvdCtnZWxiKQogICAgICAgIGRlZml6aXRUYWdlOiByb3QgKyBnZWxiLCBv +a1RhZ2U6IGdydWVuCiAgICB9Owp9CgovLyBEZWZpeml0LUJyaWVmaW5nLUJ1dHRvbiAoUHJ1ZWZ1 +bmdzLUFuc2ljaHQpOiBvZWZmbmV0IGVpbiBJbnRlcnZpZXctCi8vIE1vZGFsLCBpbiBkZW0gZGVy +IE51dHplciBaZWl0cmF1bSAoMS8yLzQgV29jaGVuKSwgU3RyZW5nZSAobnVyIGtyaXRpc2NoCi8v +IG9kZXIgYXVjaCBrZWluLVB1ZmZlcikgdW5kIGRpZSBlaW56dWxhZGVuZGVuIGZyZWktZWluZ2Vw +bGFudGVuIFBlcnNvbmVuCi8vIHdhZWhsdC4gQW5zY2hsaWVzc2VuZCBiYXV0IGVpbiBQbGFpbi1U +ZXh0LU1haWx0byBkaWUgTWFpbCB2b3Ig4oCUIE91dGxvb2sKLy8gYXVmIGRlbiBCZWhvZXJkZW4t +UENzIHVlYmVybmltbXQgSFRNTC1Cb2RpZXMgYXVzIG1haWx0bzogbmljaHQgenV2ZXItCi8vIGxh +ZXNzaWcuIEVtcGZhZW5nZXI6IGF1c2dld2FlaGx0ZSB3ZnIvZGZyLVBlcnNvbmVuIGluICJBbiIs +IEdlc2FtdC0KLy8gdmVyYW50d29ydGxpY2hlL3IgaW1tZXIgaW4gIkNjIiB6dXIgRHVyY2hmdWVo +cnVuZ3Nrb250cm9sbGUuCnZhciBERUZJWklUX0ZSRUlfQ09ERVMgPSB7ICd3ZnInOiAxLCAnZGZy +JzogMSB9OwoKZXhwb3J0IGZ1bmN0aW9uIGRlZml6aXRCcmllZmluZ09lZmZuZW4oKSB7CiAgICB2 +YXIga29lcnBlciA9ICcnCiAgICAgICAgKyAnPGRpdiBjbGFzcz0iZGVmaXppdC1icmllZmluZy1t +b2RhbCI+JwogICAgICAgICsgJzxoNCBjbGFzcz0iZGJtLWZyYWdlIj4xLiBXZWxjaGVyIFplaXRy +YXVtPzwvaDQ+JwogICAgICAgICsgJzxkaXYgY2xhc3M9ImRibS1vcHRpb25lbiIgaWQ9ImRibS13 +b2NoZW4tZ3J1cHBlIj4nCiAgICAgICAgKyAgICc8bGFiZWw+PGlucHV0IHR5cGU9InJhZGlvIiBu +YW1lPSJkYm0td29jaGVuIiB2YWx1ZT0iMSI+IDEgV29jaGU8L2xhYmVsPicKICAgICAgICArICAg +JzxsYWJlbD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImRibS13b2NoZW4iIHZhbHVlPSIyIiBj +aGVja2VkPiAyIFdvY2hlbjwvbGFiZWw+JwogICAgICAgICsgICAnPGxhYmVsPjxpbnB1dCB0eXBl +PSJyYWRpbyIgbmFtZT0iZGJtLXdvY2hlbiIgdmFsdWU9IjQiPiA0IFdvY2hlbjwvbGFiZWw+Jwog +ICAgICAgICsgJzwvZGl2PicKCiAgICAgICAgKyAnPGg0IGNsYXNzPSJkYm0tZnJhZ2UiPjIuIFdh +cyBzb2xsIGltIEJyaWVmaW5nIGVyd8OkaG50IHdlcmRlbj88L2g0PicKICAgICAgICArICc8ZGl2 +IGNsYXNzPSJkYm0tb3B0aW9uZW4iIGlkPSJkYm0tc3RyZW5nZS1ncnVwcGUiPicKICAgICAgICAr +ICAgJzxsYWJlbD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImRibS1zdHJlbmdlIiB2YWx1ZT0i +cm90IiBjaGVja2VkPiBOdXIga3JpdGlzY2hlIFRhZ2UgKOKJpCAxIEbDvGhydW5nc2tyYWZ0IGlu +IG1pbmRlc3RlbnMgZWluZXIgU2NoaWNodCk8L2xhYmVsPicKICAgICAgICArICAgJzxsYWJlbD48 +aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImRibS1zdHJlbmdlIiB2YWx1ZT0icm90X2dlbGIiPiBB +dWNoIFRhZ2UgbWl0IGdlbmF1IDIgRsO8aHJ1bmdza3LDpGZ0ZW4gKGtlaW4gUHVmZmVyKTwvbGFi +ZWw+JwogICAgICAgICsgJzwvZGl2PicKCiAgICAgICAgKyAnPGg0IGNsYXNzPSJkYm0tZnJhZ2Ui +PjMuIFdlciBzb2xsIGFuZ2VzY2hyaWViZW4gd2VyZGVuPzwvaDQ+JwogICAgICAgICsgJzxwIGNs +YXNzPSJkYm0taGludCI+UGVyc29uZW4sIGRpZSBhbiBkZW4gYmV0cm9mZmVuZW4gVGFnZW4gd2Fj +aC0gb2RlciBkaWVuc3RmcmVpICh3ZnIvZGZyKSBoYWJlbi4gSMOka2NoZW4gZW50ZmVybmVuLCB1 +bSBqZW1hbmRlbiBhdXN6dWxhc3Nlbi48L3A+JwogICAgICAgICsgJzxkaXYgaWQ9ImRibS1lbXBm +YWVuZ2VyLWxpc3RlIiBjbGFzcz0iZGJtLWVtcGZhZW5nZXItbGlzdGUiPjwvZGl2PicKICAgICAg +ICArICc8cCBjbGFzcz0iZGJtLWNjLWhpbnQiPkNjOiA8c3Ryb25nIGlkPSJkYm0tY2MtdGV4dCI+ +4oCmPC9zdHJvbmc+IDxzcGFuIGNsYXNzPSJ0ZXh0LW11dGVkIj4oaW1tZXIgbWl0LCB6dXIgRHVy +Y2hmw7xocnVuZ3Nrb250cm9sbGUpPC9zcGFuPjwvcD4nCiAgICAgICAgKyAnPC9kaXY+JzsKCiAg +ICB2YXIgZnVzcyA9ICc8YnV0dG9uIGNsYXNzPSJidG4iIGlkPSJkYm0tYWJicmVjaGVuIiB0eXBl +PSJidXR0b24iPkFiYnJlY2hlbjwvYnV0dG9uPicKICAgICAgICAgICAgICsgJzxidXR0b24gY2xh +c3M9ImJ0biBidG4tcHJpbWFlciIgaWQ9ImRibS12b3JiZXJlaXRlbiIgdHlwZT0iYnV0dG9uIj5N +YWlsIHZvcmJlcmVpdGVuPC9idXR0b24+JzsKCiAgICBtb2RhbFplaWdlbignRGVmaXppdC1Ccmll +ZmluZyB6dXNhbW1lbnN0ZWxsZW4nLCBrb2VycGVyLCBmdXNzLCBudWxsLCBudWxsLCB7IHJlaW5l +ckRpYWxvZzogdHJ1ZSB9KTsKCiAgICB2YXIgZ3YgPSBfZGVmaXppdEd2SW5mbygpOwogICAgdmFy +IGNjVGV4dCA9IGd2Lm5hbWUgfHwgJyhrZWluIEdlc2FtdHZlcmFudHdvcnRsaWNoZXIgZ2VwZmxl +Z3QpJzsKICAgIGlmIChndi5uYW1lICYmICFndi5lbWFpbCkgY2NUZXh0ICs9ICcg4oCUIGtlaW5l +IEUtTWFpbCBoaW50ZXJsZWd0ISc7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGJtLWNj +LXRleHQnKS50ZXh0Q29udGVudCA9IGNjVGV4dDsKCiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ +ZCgnZGJtLWFiYnJlY2hlbicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgbW9kYWxTY2hsaWVz +c2VuKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYm0tdm9yYmVyZWl0ZW4nKS5hZGRF +dmVudExpc3RlbmVyKCdjbGljaycsIF9kZWZpeml0QnJpZWZpbmdNYWlsVm9yYmVyZWl0ZW4pOwoK +ICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNkYm0td29jaGVuLWdydXBwZSBpbnB1dCwg +I2RibS1zdHJlbmdlLWdydXBwZSBpbnB1dCcpLmZvckVhY2goZnVuY3Rpb24oaW5wKSB7CiAgICAg +ICAgaW5wLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIF9kZWZpeml0RW1wZmFlbmdlckFrdHVh +bGlzaWVyZW4pOwogICAgfSk7CgogICAgX2RlZml6aXRFbXBmYWVuZ2VyQWt0dWFsaXNpZXJlbigp +Owp9CgovLyBMaWVmZXJ0IHtuYW1lLCBlbWFpbH0gZnVlciBkZW4vZGllIEdlc2FtdHZlcmFudHdv +cnRsaWNoZS9uIGF1cwovLyBhZG1pbi5mYWNoYXVmc2ljaHQuIEVtYWlsIGtvbW10IGF1cyBlZGl0 +b3IuZ2VzYW10dmVyYW50d29ydGxpY2hFbWFpbCgpOwovLyBOYW1lIGJhdWVuIHdpciBoaWVyIGF1 +Ziwgd2VpbCBkb3J0IG51ciBWb3JuYW1lLUhlbHBlciBleGlzdGllcnQuCmZ1bmN0aW9uIF9kZWZp +eml0R3ZJbmZvKCkgewogICAgdmFyIGZhID0gKChaLmFkbWluICYmIFouYWRtaW4uZmFjaGF1ZnNp +Y2h0KSB8fCBbXSkuZmluZChmdW5jdGlvbihmKSB7IHJldHVybiBmLmdlc2FtdHZlcmFudHdvcnRs +aWNoOyB9KTsKICAgIGlmICghZmEpIHJldHVybiB7IG5hbWU6ICcnLCBlbWFpbDogJycgfTsKICAg +IHZhciBuYW1lID0gJyc7CiAgICBpZiAoZmEubndLZW5udW5nKSB7CiAgICAgICAgdmFyIHAgPSAo +KFoucGxhbnVuZyAmJiBaLnBsYW51bmcucGVyc29uZW4pIHx8IFtdKS5maW5kKGZ1bmN0aW9uKHgp +IHsKICAgICAgICAgICAgcmV0dXJuICh4Lm53S2VubnVuZyB8fCAnJykudG9Mb3dlckNhc2UoKSA9 +PT0gZmEubndLZW5udW5nLnRvTG93ZXJDYXNlKCk7CiAgICAgICAgfSk7CiAgICAgICAgaWYgKHAp +IG5hbWUgPSAoKHAudm9ybmFtZSA/IHAudm9ybmFtZSArICcgJyA6ICcnKSArIChwLm5hbWUgfHwg +JycpKS50cmltKCk7CiAgICB9CiAgICBpZiAoIW5hbWUpIG5hbWUgPSBmYS5uYW1lIHx8IGZhLm53 +S2VubnVuZyB8fCAnJzsKICAgIHJldHVybiB7IG5hbWU6IG5hbWUsIGVtYWlsOiBnZXNhbXR2ZXJh +bnR3b3J0bGljaEVtYWlsKCkgfHwgJycgfTsKfQoKLy8gTGllZmVydCBkaWUgRGVmaXppdC1UYWdl +IGZ1ZXIgYmVsaWViaWdlbiBXb2NoZW4tSG9yaXpvbnQgKyBTdHJlbmdlLgovLyBzdHJlbmdlOiAn +cm90JyAobnVyIFNjaGljaHRlbiBtaXQg4omkMSBGaykgb2RlciAncm90X2dlbGInIChhdWNoID0y +IEZrKS4KLy8gRm9ybWF0OiB7IHRhZ2U6IFt7ZGF0dW0sIHdvY2hlbnRhZywgZmVobGVuZDpbe3Nj +aGljaHQsaXN0fV19XSwgZ2VzYW10VGFnZSwgZGVmaXppdFRhZ2UgfS4KZnVuY3Rpb24gX2RlZml6 +aXRBbmFseXNlRnVlcih3b2NoZW4sIHN0cmVuZ2UpIHsKICAgIHZhciBob3Jpem9udFRhZ2UgPSB3 +b2NoZW4gKiA3OwogICAgdmFyIGhldXRlID0gbmV3IERhdGUoKTsgaGV1dGUuc2V0SG91cnMoMCww +LDAsMCk7CiAgICB2YXIgdGFnZSA9IFtdOwogICAgKFoudGFnZSB8fCBbXSkuZm9yRWFjaChmdW5j +dGlvbihkKSB7CiAgICAgICAgaWYgKGQgPCBoZXV0ZSkgcmV0dXJuOwogICAgICAgIHZhciBkaWZm +ID0gTWF0aC5mbG9vcigoZCAtIGhldXRlKSAvIDg2NDAwMDAwKTsKICAgICAgICBpZiAoZGlmZiA+ +PSBob3Jpem9udFRhZ2UpIHJldHVybjsKICAgICAgICB2YXIgZFN0ciA9IGRhdHVtU3RyKGQpOwog +ICAgICAgIHZhciBmID0gZnVlaHJ1bmdzWmFlaGxlbihkU3RyLCAnRicpOwogICAgICAgIHZhciBz +ID0gZnVlaHJ1bmdzWmFlaGxlbihkU3RyLCAnUycpOwogICAgICAgIHZhciBuID0gZnVlaHJ1bmdz +WmFlaGxlbihkU3RyLCAnTicpOwogICAgICAgIHZhciBmZWhsZW5kID0gW107CiAgICAgICAgZnVu +Y3Rpb24gcHJ1ZWZlKGxhYmVsLCBpc3QpIHsKICAgICAgICAgICAgaWYgKGlzdCA8PSAxKSAgICAg +ICAgICAgICAgICAgIGZlaGxlbmQucHVzaCh7IHNjaGljaHQ6IGxhYmVsLCBpc3Q6IGlzdCB9KTsK +ICAgICAgICAgICAgZWxzZSBpZiAoaXN0ID09PSAyICYmIHN0cmVuZ2UgPT09ICdyb3RfZ2VsYicp +IGZlaGxlbmQucHVzaCh7IHNjaGljaHQ6IGxhYmVsLCBpc3Q6IGlzdCB9KTsKICAgICAgICB9CiAg +ICAgICAgcHJ1ZWZlKCdGJywgZik7IHBydWVmZSgnUycsIHMpOyBwcnVlZmUoJ04nLCBuKTsKICAg +ICAgICBpZiAoIWZlaGxlbmQubGVuZ3RoKSByZXR1cm47CiAgICAgICAgdGFnZS5wdXNoKHsKICAg +ICAgICAgICAgZGF0dW06ICAgICBkU3RyLAogICAgICAgICAgICB3b2NoZW50YWc6IHdvY2hlbnRh +Z0t1cnooZCksCiAgICAgICAgICAgIGZlaGxlbmQ6ICAgZmVobGVuZAogICAgICAgIH0pOwogICAg +fSk7CiAgICByZXR1cm4geyB0YWdlOiB0YWdlLCBnZXNhbXRUYWdlOiBob3Jpem9udFRhZ2UsIGRl +Zml6aXRUYWdlOiB0YWdlLmxlbmd0aCB9Owp9CgovLyBTYW1tZWx0IFBlcnNvbmVuIG1pdCBGcmVp +LUNvZGUgKHdmci9kZnIpIGFuIGRlbiBiZXRyb2ZmZW5lbiBUYWdlbi4KLy8gQWdncmVnaWVydCBw +cm8gUGVyc29uIGlocmUgRnJlaS1UYWdlLiBQZXJzb25lbiBvaG5lIEUtTWFpbCB3ZXJkZW4gbWl0 +Ci8vIG1hcmtpZXJ0IChpbSBNb2RhbCBkaXNhYmxlZCArIEhpbndlaXMpLgpmdW5jdGlvbiBfZGVm +aXppdEZyZWllUGVyc29uZW4odGFnZSkgewogICAgdmFyIGVpbnRyYWVnZSA9IChaLnBsYW51bmcg +JiYgWi5wbGFudW5nLmVpbnRyYWVnZSkgfHwge307CiAgICB2YXIgcGVyc29uZW4gID0gKChaLnBs +YW51bmcgJiYgWi5wbGFudW5nLnBlcnNvbmVuKSB8fCBbXSk7CiAgICB2YXIgbWFwID0ge307ICAg +Ly8gcGlkIC0+IHsgaWQsIG5hbWUsIHZvcm5hbWUsIGVtYWlsLCB0YWdlU3RyW10gfQogICAgdGFn +ZS5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsKICAgICAgICB2YXIgZSA9IGVpbnRyYWVnZVt0LmRhdHVt +XSB8fCB7fTsKICAgICAgICBwZXJzb25lbi5mb3JFYWNoKGZ1bmN0aW9uKHApIHsKICAgICAgICAg +ICAgaWYgKCFwLmFrdGl2KSByZXR1cm47CiAgICAgICAgICAgIHZhciBjb2RlID0gZVtTdHJpbmco +cC5pZCldIHx8ICcnOwogICAgICAgICAgICBpZiAoIURFRklaSVRfRlJFSV9DT0RFU1tjb2RlXSkg +cmV0dXJuOwogICAgICAgICAgICBpZiAoIW1hcFtwLmlkXSkgewogICAgICAgICAgICAgICAgbWFw +W3AuaWRdID0gewogICAgICAgICAgICAgICAgICAgIGlkOiBwLmlkLCBuYW1lOiBwLm5hbWUgfHwg +JycsIHZvcm5hbWU6IHAudm9ybmFtZSB8fCAnJywKICAgICAgICAgICAgICAgICAgICBlbWFpbDog +cC5lbWFpbCB8fCAnJywgdGFnZVN0cjogW10KICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAg +IH0KICAgICAgICAgICAgbWFwW3AuaWRdLnRhZ2VTdHIucHVzaCh0LndvY2hlbnRhZyArICcgJyAr +IGRhdHVtRm9ybWF0REUodC5kYXR1bSkpOwogICAgICAgIH0pOwogICAgfSk7CiAgICB2YXIgbGlz +dGUgPSBPYmplY3Qua2V5cyhtYXApLm1hcChmdW5jdGlvbihrKSB7IHJldHVybiBtYXBba107IH0p +OwogICAgbGlzdGUuc29ydChmdW5jdGlvbihhLCBiKSB7CiAgICAgICAgcmV0dXJuIChhLm5hbWUg +KyBhLnZvcm5hbWUpLmxvY2FsZUNvbXBhcmUoYi5uYW1lICsgYi52b3JuYW1lLCAnZGUnKTsKICAg +IH0pOwogICAgcmV0dXJuIGxpc3RlOwp9CgovLyBMaWVzdCBkZW4gYWt0dWVsbGVuIEludGVydmll +dy1TdGFuZCAoV29jaGVuICsgU3RyZW5nZSkgdW5kIHJlbmRlcnQgZGllCi8vIEVtcGZhZW5nZXIt +TGlzdGUgbmV1IOKAlCB3aXJkIGJlaSBqZWRlbSBPcHRpb25zd2VjaHNlbCBhdWZnZXJ1ZmVuLgpm +dW5jdGlvbiBfZGVmaXppdEVtcGZhZW5nZXJBa3R1YWxpc2llcmVuKCkgewogICAgdmFyIGxpc3Rl +RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGJtLWVtcGZhZW5nZXItbGlzdGUnKTsKICAg +IGlmICghbGlzdGVFbCkgcmV0dXJuOwogICAgdmFyIHdvY2hlbklucCA9IGRvY3VtZW50LnF1ZXJ5 +U2VsZWN0b3IoJ2lucHV0W25hbWU9ImRibS13b2NoZW4iXTpjaGVja2VkJyk7CiAgICB2YXIgc3Ry +ZW5nZUlucCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W25hbWU9ImRibS1zdHJlbmdl +Il06Y2hlY2tlZCcpOwogICAgdmFyIHdvY2hlbiA9IHdvY2hlbklucCA/IHBhcnNlSW50KHdvY2hl +bklucC52YWx1ZSwgMTApIDogMjsKICAgIHZhciBzdHJlbmdlID0gc3RyZW5nZUlucCA/IHN0cmVu +Z2VJbnAudmFsdWUgOiAncm90JzsKCiAgICB2YXIgYW5hbHlzZSA9IF9kZWZpeml0QW5hbHlzZUZ1 +ZXIod29jaGVuLCBzdHJlbmdlKTsKICAgIGlmIChhbmFseXNlLmRlZml6aXRUYWdlID09PSAwKSB7 +CiAgICAgICAgbGlzdGVFbC5pbm5lckhUTUwgPSAnPHAgY2xhc3M9ImRibS1sZWVyIj5LZWluZSBE +ZWZpeml0LVRhZ2UgaW4gZGVuIG7DpGNoc3RlbiAnICsgd29jaGVuICsgJyBXb2NoZW4g4oCUIGtl +aW4gQnJpZWZpbmcgbsO2dGlnLjwvcD4nOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIHZhciBw +ZXJzb25lbiA9IF9kZWZpeml0RnJlaWVQZXJzb25lbihhbmFseXNlLnRhZ2UpOwogICAgaWYgKCFw +ZXJzb25lbi5sZW5ndGgpIHsKICAgICAgICBsaXN0ZUVsLmlubmVySFRNTCA9ICc8cCBjbGFzcz0i +ZGJtLWxlZXIiPicgKyBhbmFseXNlLmRlZml6aXRUYWdlICsgJyBEZWZpeml0LVRhZyhlKSBnZWZ1 +bmRlbiwgYWJlciBuaWVtYW5kIGlzdCBhbiBkaWVzZW4gVGFnZW4gd2ZyL2RmciDigJQgbmllbWFu +ZCB6dW0gQW5zY2hyZWliZW4uPC9wPic7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIGh0 +bWwgPSAnPGRpdiBjbGFzcz0iZGJtLWluZm8iPicgKyBhbmFseXNlLmRlZml6aXRUYWdlICsgJyBE +ZWZpeml0LVRhZyhlKSwgJyArIHBlcnNvbmVuLmxlbmd0aCArICcgbcO2Z2xpY2hlIEVtcGbDpG5n +ZXI6PC9kaXY+JzsKICAgIGh0bWwgKz0gJzx1bCBjbGFzcz0iZGJtLXBlcnNvbmVuIj4nOwogICAg +cGVyc29uZW4uZm9yRWFjaChmdW5jdGlvbihwKSB7CiAgICAgICAgdmFyIGhhdE1haWwgPSAhIXAu +ZW1haWw7CiAgICAgICAgdmFyIGNoZWNrZWQgPSBoYXRNYWlsID8gJyBjaGVja2VkJyA6ICcnOwog +ICAgICAgIHZhciBkaXNhYmxlZCA9ICFoYXRNYWlsID8gJyBkaXNhYmxlZCcgOiAnJzsKICAgICAg +ICB2YXIgYW56ZWlnZSA9ICgocC52b3JuYW1lID8gcC52b3JuYW1lICsgJyAnIDogJycpICsgcC5u +YW1lKS50cmltKCkgfHwgKCcjJyArIHAuaWQpOwogICAgICAgIHZhciB0YWdlS3VyeiA9IHAudGFn +ZVN0ci5qb2luKCcsICcpOwogICAgICAgIGh0bWwgKz0gJzxsaT48bGFiZWwgY2xhc3M9IicgKyAo +aGF0TWFpbCA/ICcnIDogJ2RibS1kaXNhYmxlZCcpICsgJyI+JwogICAgICAgICAgICAgICsgJzxp +bnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9ImRibS1lbXBmLWNiIiBkYXRhLXBpZD0iJyArIGVz +Y2FwZUF0dHIoU3RyaW5nKHAuaWQpKSArICciIGRhdGEtZW1haWw9IicgKyBlc2NhcGVBdHRyKHAu +ZW1haWwpICsgJyIgZGF0YS1uYW1lPSInICsgZXNjYXBlQXR0cihhbnplaWdlKSArICciJyArIGNo +ZWNrZWQgKyBkaXNhYmxlZCArICc+JwogICAgICAgICAgICAgICsgJyA8c3Ryb25nPicgKyBlc2Nh +cGVIVE1MKGFuemVpZ2UpICsgJzwvc3Ryb25nPicKICAgICAgICAgICAgICArICcgPHNwYW4gY2xh +c3M9ImRibS10YWdlIj4oJyArIGVzY2FwZUhUTUwodGFnZUt1cnopICsgJyk8L3NwYW4+JwogICAg +ICAgICAgICAgICsgKGhhdE1haWwgPyAnJyA6ICcgPHNwYW4gY2xhc3M9ImRibS1uby1tYWlsIj7i +gJQga2VpbmUgRS1NYWlsIGhpbnRlcmxlZ3Q8L3NwYW4+JykKICAgICAgICAgICAgICArICc8L2xh +YmVsPjwvbGk+JzsKICAgIH0pOwogICAgaHRtbCArPSAnPC91bD4nOwogICAgbGlzdGVFbC5pbm5l +ckhUTUwgPSBodG1sOwp9CgovLyBCYXV0IGRlbiBQbGFpbi1UZXh0LU1haWwtQm9keSB1bmQgb2Vm +Zm5ldCBkaWUgbWFpbHRvOi1VUkwuIEZvcm1hdDoKLy8gZnJldW5kbGljaC1tb2Rlcm4gKER1LUZv +cm0pLCBrZWluZSBIVE1MLVRhZ3Mg4oCUIE91dGxvb2sgYmVpIGRlciBCZWhvZXJkZQovLyB1ZWJl +cm5pbW10IG1haWx0by1IVE1MIG5pY2h0IHp1dmVybGFlc3NpZy4KZnVuY3Rpb24gX2RlZml6aXRC +cmllZmluZ01haWxWb3JiZXJlaXRlbigpIHsKICAgIHZhciB3b2NoZW5JbnAgPSBkb2N1bWVudC5x +dWVyeVNlbGVjdG9yKCdpbnB1dFtuYW1lPSJkYm0td29jaGVuIl06Y2hlY2tlZCcpOwogICAgdmFy +IHN0cmVuZ2VJbnAgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dFtuYW1lPSJkYm0tc3Ry +ZW5nZSJdOmNoZWNrZWQnKTsKICAgIHZhciB3b2NoZW4gPSB3b2NoZW5JbnAgPyBwYXJzZUludCh3 +b2NoZW5JbnAudmFsdWUsIDEwKSA6IDI7CiAgICB2YXIgc3RyZW5nZSA9IHN0cmVuZ2VJbnAgPyBz +dHJlbmdlSW5wLnZhbHVlIDogJ3JvdCc7CgogICAgdmFyIGFuYWx5c2UgPSBfZGVmaXppdEFuYWx5 +c2VGdWVyKHdvY2hlbiwgc3RyZW5nZSk7CiAgICBpZiAoYW5hbHlzZS5kZWZpeml0VGFnZSA9PT0g +MCkgewogICAgICAgIHRvYXN0KCdLZWluZSBEZWZpeml0LVRhZ2UgaW0gZ2V3w6RobHRlbiBaZWl0 +cmF1bS4nLCAnaW5mbycpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBFbXBmYWVuZ2Vy +IGF1cyBkZW4gYW5nZWhha3RlbiBDaGVja2JveGVuIHNhbW1lbG4KICAgIHZhciBhbkVtYWlscyA9 +IFtdOwogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmRibS1lbXBmLWNiOmNoZWNrZWQn +KS5mb3JFYWNoKGZ1bmN0aW9uKGNiKSB7CiAgICAgICAgdmFyIG1haWwgPSBjYi5nZXRBdHRyaWJ1 +dGUoJ2RhdGEtZW1haWwnKTsKICAgICAgICBpZiAobWFpbCkgYW5FbWFpbHMucHVzaChtYWlsKTsK +ICAgIH0pOwoKICAgIHZhciBndiA9IF9kZWZpeml0R3ZJbmZvKCk7CgogICAgaWYgKCFhbkVtYWls +cy5sZW5ndGggJiYgIWd2LmVtYWlsKSB7CiAgICAgICAgdG9hc3QoJ1dlZGVyIGF1c2dld8OkaGx0 +ZSBFbXBmw6RuZ2VyIG5vY2ggR2VzYW10dmVyYW50d29ydGxpY2hlL3IgaGFiZW4gZWluZSBFLU1h +aWwtQWRyZXNzZSBoaW50ZXJsZWd0LicsICd3YXJudW5nJyk7CiAgICAgICAgcmV0dXJuOwogICAg +fQoKICAgIC8vIFNjaGljaHQtQmV6ZWljaG5lciBsYWVuZ2VyIGFscyBkYXMgS3VlcnplbAogICAg +dmFyIHNjaGljaHROYW1lID0geyBGOiAnRnLDvGgnLCBTOiAnU3DDpHQnLCBOOiAnTmFjaHQnIH07 +CgogICAgLy8gQXVzZ2V3YWVobHRlIFBlcnNvbmVuIHNhbW1lbG4gdW5kIG5hY2ggVGFnIG1hcHBl +biDigJQgcHJvIERlZml6aXQtVGFnCiAgICAvLyBiYXVlbiB3aXIgZWluZW4gQmxvY2sgbWl0IERh +dHVtICsgTHVlY2tlbi1TY2hpY2h0ZW4gb2JlbiB1bmQgZGVuCiAgICAvLyB3ZnIvZGZyLVBlcnNv +bmVuLCBkaWUgYW4gZ2VuYXUgZGllc2VtIFRhZyBmcmVpIHNpbmQsIGRhcnVudGVyLgogICAgdmFy +IGF1c2dld0lkcyA9IHt9OwogICAgdmFyIGF1c2dld01hcCA9IHt9OyAgIC8vIHBpZCAtPiB7IG5h +bWUsIGVtYWlsIH0KICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5kYm0tZW1wZi1jYjpj +aGVja2VkJykuZm9yRWFjaChmdW5jdGlvbihjYikgewogICAgICAgIHZhciBwaWQgPSBjYi5nZXRB +dHRyaWJ1dGUoJ2RhdGEtcGlkJyk7CiAgICAgICAgYXVzZ2V3SWRzW3BpZF0gPSB0cnVlOwogICAg +ICAgIGF1c2dld01hcFtwaWRdID0gewogICAgICAgICAgICBuYW1lOiAgY2IuZ2V0QXR0cmlidXRl +KCdkYXRhLW5hbWUnKSwKICAgICAgICAgICAgZW1haWw6IGNiLmdldEF0dHJpYnV0ZSgnZGF0YS1l +bWFpbCcpCiAgICAgICAgfTsKICAgIH0pOwogICAgdmFyIGVpbnRyYWVnZSA9IChaLnBsYW51bmcg +JiYgWi5wbGFudW5nLmVpbnRyYWVnZSkgfHwge307CiAgICBmdW5jdGlvbiBwZXJzb25lbkFuVGFn +KGRhdHVtKSB7CiAgICAgICAgdmFyIGUgPSBlaW50cmFlZ2VbZGF0dW1dIHx8IHt9OwogICAgICAg +IHZhciBsaXN0ZSA9IFtdOwogICAgICAgIE9iamVjdC5rZXlzKGF1c2dld0lkcykuZm9yRWFjaChm +dW5jdGlvbihwaWQpIHsKICAgICAgICAgICAgdmFyIGNvZGUgPSBlW1N0cmluZyhwaWQpXSB8fCAn +JzsKICAgICAgICAgICAgaWYgKERFRklaSVRfRlJFSV9DT0RFU1tjb2RlXSkgbGlzdGUucHVzaChh +dXNnZXdNYXBbcGlkXSk7CiAgICAgICAgfSk7CiAgICAgICAgbGlzdGUuc29ydChmdW5jdGlvbihh +LCBiKSB7IHJldHVybiAoYS5uYW1lIHx8ICcnKS5sb2NhbGVDb21wYXJlKGIubmFtZSB8fCAnJywg +J2RlJyk7IH0pOwogICAgICAgIHJldHVybiBsaXN0ZTsKICAgIH0KCiAgICAvLyBCbG9jayBwcm8g +RGVmaXppdC1UYWc6IEhlYWRlciA9IERhdHVtICsgTHVlY2tlbi1TY2hpY2h0ZW4sCiAgICAvLyBk +YXJ1bnRlciBlaW5nZXJ1ZWNrdCBkaWUgTmFtZW4gZGVyIGFuZ2VzY2hyaWViZW5lbiBGcmVpLVBl +cnNvbmVuLgogICAgdmFyIHRhZ0Jsb2Vja2UgPSBhbmFseXNlLnRhZ2UubWFwKGZ1bmN0aW9uKHQp +IHsKICAgICAgICB2YXIgZmVobExpc3QgPSB0LmZlaGxlbmQubWFwKGZ1bmN0aW9uKGYpIHsKICAg +ICAgICAgICAgcmV0dXJuIHNjaGljaHROYW1lW2Yuc2NoaWNodF0gKyAnICcgKyBmLmlzdCArICcv +Mic7CiAgICAgICAgfSkuam9pbignLCAnKTsKICAgICAgICB2YXIgaGVhZGVyID0gdC53b2NoZW50 +YWcgKyAnICcgKyBkYXR1bUZvcm1hdERFKHQuZGF0dW0pICsgJyAg4oCUICBMw7xja2U6ICcgKyBm +ZWhsTGlzdDsKICAgICAgICB2YXIgcGVycyA9IHBlcnNvbmVuQW5UYWcodC5kYXR1bSk7CiAgICAg +ICAgdmFyIHBlcnNvbmVuWmVpbGVuID0gcGVycy5sZW5ndGgKICAgICAgICAgICAgPyAnXG4gIEvD +tm5uZW4gZWluc3ByaW5nZW4gKHdmci9kZnIpOlxuJyArIHBlcnMubWFwKGZ1bmN0aW9uKHApIHsg +cmV0dXJuICcgICAgLSAnICsgcC5uYW1lOyB9KS5qb2luKCdcbicpCiAgICAgICAgICAgIDogJyc7 +CiAgICAgICAgcmV0dXJuIGhlYWRlciArIHBlcnNvbmVuWmVpbGVuOwogICAgfSkuam9pbignXG5c +bicpOwoKICAgIC8vIFN0cmVuZ2UtSGlud2VpcyBmdWVyIGRlbiBCb2R5CiAgICB2YXIgc3RyZW5n +ZUluZm8gPSAoc3RyZW5nZSA9PT0gJ3JvdF9nZWxiJykKICAgICAgICA/ICdrcml0aXNjaGUgVGFn +ZSAo4omkIDEgRmspIHVuZCBUYWdlIG9obmUgUHVmZmVyICg9IDIgRmspJwogICAgICAgIDogJ2ty +aXRpc2NoZSBUYWdlICjiiaQgMSBGw7xocnVuZ3NrcmFmdCBpbiBtaW5kZXN0ZW5zIGVpbmVyIFNj +aGljaHQpJzsKCiAgICB2YXIgYWJzZW5kZXIgPSBhYnNlbmRlck5hbWVFcm1pdHRlbG4oKSB8fCAn +ZGllIERpZW5zdGdydXBwZW5sZWl0dW5nJzsKCiAgICB2YXIgYmV0cmVmZiA9ICdEZWZpeml0LUJy +aWVmaW5nOiAnICsgYW5hbHlzZS5kZWZpeml0VGFnZSArICcgVGFnKGUpIG1pdCBMw7xja2VuIGlu +IGRlciBGw7xocnVuZ3MtQmVzZXR6dW5nICgnICsgd29jaGVuICsgKHdvY2hlbiA9PT0gMSA/ICcg +V29jaGUnIDogJyBXb2NoZW4nKSArICcpJzsKCiAgICB2YXIgYm9keSA9CiAgICAgICAgJ0hhbGxv +IHp1c2FtbWVuLFxuJyArCiAgICAgICAgJ1xuJyArCiAgICAgICAgJ2t1cnplciBTdGFuZCB6dXIg +RsO8aHJ1bmdzLUJlc2V0enVuZyBpbiBkZW4gbsOkY2hzdGVuICcgKyB3b2NoZW4gKyAod29jaGVu +ID09PSAxID8gJyBXb2NoZScgOiAnIFdvY2hlbicpICsgJzpcbicgKwogICAgICAgICdcbicgKwog +ICAgICAgIGFuYWx5c2UuZGVmaXppdFRhZ2UgKyAnIHZvbiAnICsgYW5hbHlzZS5nZXNhbXRUYWdl +ICsgJyBUYWdlbiBzaW5kIG5pY2h0IGF1c3JlaWNoZW5kIGJlc2V0enQuXG4nICsKICAgICAgICAn +QXVmZ2Vmw7xocnQgc2luZCAnICsgc3RyZW5nZUluZm8gKyAnLlxuJyArCiAgICAgICAgJ1xuJyAr +CiAgICAgICAgdGFnQmxvZWNrZSArCiAgICAgICAgJ1xuXG4nICsKICAgICAgICAnRmFsbHMgZHUg +ZWluc3ByaW5nZW4ga2FubnN0IOKAlCBhdWNoIGbDvHIgZWluZSBlaW56ZWxuZSBTY2hpY2h0IOKA +lCBtZWxkIGRpY2ggZ2VybmUga3VyeiB6dXLDvGNrIHVuZCBrbGlja2UgZWluZmFjaCBhdWYgIkFs +bGVuIEFudHdvcnRlbiIgKFN0cmcgKyBVbXNjaGFsdCArIFIpLCBzbyBkYXNzIGFsbGUgS2VubnRu +aXMgZGF2b24ga3JpZWdlbiwgZGFzcyBkYXMgRGVmaXppdCBlcmxlZGlndCBpc3QuXG4nICsKICAg +ICAgICAnXG4nICsKICAgICAgICAnRGFua2UgZXVjaCFcbicgKwogICAgICAgICdcbicgKwogICAg +ICAgICdWaWVsZSBHcsO8w59lXG4nICsKICAgICAgICBhYnNlbmRlcjsKCiAgICB2YXIgdXJsID0g +J21haWx0bzonICsgZW5jb2RlVVJJQ29tcG9uZW50KGFuRW1haWxzLmpvaW4oJywnKSk7CiAgICB2 +YXIgcXVlcnkgPSBbXTsKICAgIGlmIChndi5lbWFpbCkgcXVlcnkucHVzaCgnY2M9JyArIGVuY29k +ZVVSSUNvbXBvbmVudChndi5lbWFpbCkpOwogICAgcXVlcnkucHVzaCgnc3ViamVjdD0nICsgZW5j +b2RlVVJJQ29tcG9uZW50KGJldHJlZmYpKTsKICAgIHF1ZXJ5LnB1c2goJ2JvZHk9JyArIGVuY29k +ZVVSSUNvbXBvbmVudChib2R5KSk7CiAgICB1cmwgKz0gJz8nICsgcXVlcnkuam9pbignJicpOwoK +ICAgIG1vZGFsU2NobGllc3NlbigpOwogICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7Cn0K +Ci8vIEZhZXJidCBkZW4gUHJ1ZWZ1bmdzLVRhYiBpbSBIZWFkZXIgKG5hdi1iZXNldHp1bmcpIGpl +IG5hY2ggU3RhdHVzLQovLyBIb3Jpem9udCByb3QvZ2VsYi4gV2lyZCBhdXMga29wZlJlbmRlcm4g +KyBiZWkgU2NoaWNodC1FZGl0cyBhdWZnZXJ1ZmVuLAovLyBkYW1pdCBkaWUgRmFlcmJ1bmcgaW1t +ZXIgYWt0dWVsbCBpc3QgKG5pY2h0IG51ciBuYWNoIFRhYi1CZXN1Y2gpLgovLyAgIHJvdCAgKCdi +ay10YWItZGVmaXppdC0ydycpICA6IG1pbmQuIGVpbiBST1QtVGFnICjiiaQxIEZrIGluIGVpbmVy +IFNjaGljaHQpCi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZGVuIG5hZWNo +c3RlbiAxNCBUYWdlbgovLyAgIGdlbGIgKCdiay10YWItZGVmaXppdC00dycpIDogUk9ULVRhZyBp +biAxNC0yOCBPREVSIEdFTEItVGFnICg9MiBGaykgaW4gMC0yOAovLyAgIHNvbnN0ICAgICAgICAg +ICAgICAgICAgICAgICA6IG5ldXRyYWwgKGFsbGUgVGFnZSBncnVlbiwg4omlMyBGayBwcm8gU2No +aWNodCkKZXhwb3J0IGZ1bmN0aW9uIGJlc2V0enVuZ3NUYWJGYXJiZUFrdHVhbGlzaWVyZW4oKSB7 +CiAgICB2YXIgYnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25hdi1iZXNldHp1bmcnKTsK +ICAgIGlmICghYnRuKSByZXR1cm47CiAgICBidG4uY2xhc3NMaXN0LnJlbW92ZSgnYmstdGFiLWRl +Zml6aXQtMncnLCAnYmstdGFiLWRlZml6aXQtNHcnKTsKICAgIHZhciBsYWJlbCA9IGJlek9kZXIo +J25hdi5iZXNldHp1bmcnLCAnQmVzZXR6dW5nJyk7CiAgICBidG4udGl0bGUgPSBsYWJlbCArICcg +4oCUIDQgV29jaGVuLVZvcnNjaGF1JzsKICAgIGlmICghKFoucmVjaHRlICYmIFoucmVjaHRlLmlz +dEdlc2FtdHZlcmFudHdvcnRsaWNoKSkgcmV0dXJuOwogICAgdmFyIGhldXRlID0gbmV3IERhdGUo +KTsgaGV1dGUuc2V0SG91cnMoMCwwLDAsMCk7CiAgICB2YXIgZGVmaXppdDJ3ID0gMCwgZGVmaXpp +dDR3ID0gMDsKICAgIChaLnRhZ2UgfHwgW10pLmZvckVhY2goZnVuY3Rpb24oZCkgewogICAgICAg +IGlmIChkIDwgaGV1dGUpIHJldHVybjsKICAgICAgICB2YXIgZGlmZiA9IE1hdGguZmxvb3IoKGQg +LSBoZXV0ZSkgLyA4NjQwMDAwMCk7CiAgICAgICAgaWYgKGRpZmYgPj0gMjgpIHJldHVybjsKICAg +ICAgICB2YXIgZFN0ciA9IGRhdHVtU3RyKGQpOwogICAgICAgIHZhciBmID0gZnVlaHJ1bmdzWmFl +aGxlbihkU3RyLCAnRicpOwogICAgICAgIHZhciBzID0gZnVlaHJ1bmdzWmFlaGxlbihkU3RyLCAn +UycpOwogICAgICAgIHZhciBuID0gZnVlaHJ1bmdzWmFlaGxlbihkU3RyLCAnTicpOwogICAgICAg +IHZhciByb3QgID0gKGYgPD0gMSB8fCBzIDw9IDEgfHwgbiA8PSAxKTsKICAgICAgICB2YXIgZ2Vs +YiA9ICFyb3QgJiYgKGYgPT09IDIgfHwgcyA9PT0gMiB8fCBuID09PSAyKTsKICAgICAgICBpZiAo +cm90ICYmIGRpZmYgPCAxNCkgZGVmaXppdDJ3Kys7CiAgICAgICAgZWxzZSBpZiAocm90IHx8IGdl +bGIpIGRlZml6aXQ0dysrOwogICAgfSk7CiAgICBpZiAoZGVmaXppdDJ3ID4gMCkgewogICAgICAg +IGJ0bi5jbGFzc0xpc3QuYWRkKCdiay10YWItZGVmaXppdC0ydycpOwogICAgICAgIGJ0bi50aXRs +ZSA9IGxhYmVsICsgJyDigJQgQWNodHVuZzogJyArIGRlZml6aXQydyArICcgVGFnJyArIChkZWZp +eml0MncgPT09IDEgPyAnJyA6ICdlJykgKyAnIG1pdCBVbnRlcmJlc2V0enVuZyBpbiBkZW4gbsOk +Y2hzdGVuIDE0IFRhZ2VuJzsKICAgIH0gZWxzZSBpZiAoZGVmaXppdDR3ID4gMCkgewogICAgICAg +IGJ0bi5jbGFzc0xpc3QuYWRkKCdiay10YWItZGVmaXppdC00dycpOwogICAgICAgIGJ0bi50aXRs +ZSA9IGxhYmVsICsgJyDigJQgSGlud2VpczogJyArIGRlZml6aXQ0dyArICcgVGFnJyArIChkZWZp +eml0NHcgPT09IDEgPyAnJyA6ICdlJykgKyAnIG1pdCBVbnRlcmJlc2V0enVuZyBpbiBXb2NoZSAz +4oCTNCc7CiAgICB9Cn0KCi8vIFZvcm5hbWVuIGRlcyBha3R1ZWxsZW4gR2VzYW10dmVyYW50d29y +dGxpY2hlbiBlcm1pdHRlbG4uIFN1Y2hyZWloZW5mb2xnZToKLy8gICAxKSBhZG1pbi5mYWNoYXVm +c2ljaHQgIChoYXQgZGllIG1laXN0ZW4gRGV0YWlsLUZlbGRlciwgaW5rbC4gZXhwbGl6aXRlcgov +LyAgICAgIFZvcm5hbWUvTmFjaG5hbWUtVHJlbm51bmcgaW4gRm9ybSB2b24gIlZvcm5hbWUgTmFj +aG5hbWUiKQovLyAgIDIpIGFkbWluLnN1cGVyVXNlciAgICAgKFNVIHNpbmQgZWJlbmZhbGxzIEdl +c2FtdHZlcmFudHdvcnRsaWNoZSwgc3RlaGVuCi8vICAgICAgYWJlciBzZWx0ZW4gaW4gZGVyIEZh +Y2hhdWZzaWNodC1MaXN0ZSkKLy8gICAzKSBwbGFudW5nLnBlcnNvbmVuICAgIChlaWdlbmVyIFBl +cnNvbmFsdmVyd2FsdHVuZ3MtRWludHJhZyDigJQgaGF0Ci8vICAgICAgdHlwaXNjaGVyd2Vpc2Ug +c2F1YmVyIGdldHJlbm50ZSBGZWxkZXIgdm9ybmFtZSAvIG5hbWUpCi8vIEF1cyBhZG1pbi1MaXN0 +ZW4tRWludHJhZWdlbiB3aXJkIGRlciBlcnN0ZSBUb2tlbiBhdXMgJ25hbWUnIGdlbm9tbWVuLAov +LyBhdXMgZGVtIFBlcnNvbmVuLUVpbnRyYWcgZGFzIGVjaHRlICd2b3JuYW1lJy1GZWxkIGJldm9y +enVndC4KZXhwb3J0IGZ1bmN0aW9uIGdlc2FtdHZlcmFudHdvcnRsaWNoVm9ybmFtZUVybWl0dGVs +bigpIHsKICAgIHZhciBiID0gKFouYmVudXR6ZXIgfHwgJycpLnRvTG93ZXJDYXNlKCk7CiAgICB2 +YXIgYkt1cnogPSBiLnNwbGl0KCdcXCcpLnBvcCgpOwogICAgZnVuY3Rpb24gcGFzc3Qoa2VubnVu +ZykgewogICAgICAgIGlmICgha2VubnVuZykgcmV0dXJuIGZhbHNlOwogICAgICAgIHZhciBrID0g +U3RyaW5nKGtlbm51bmcpLnRvTG93ZXJDYXNlKCk7CiAgICAgICAgcmV0dXJuIChrID09PSBiIHx8 +IGsgPT09IGJLdXJ6IHx8IGIuZW5kc1dpdGgoJ1xcJyArIGspKTsKICAgIH0KICAgIHZhciBmYSA9 +IChaLmFkbWluLmZhY2hhdWZzaWNodCB8fCBbXSkuZmluZChmdW5jdGlvbihmKSB7IHJldHVybiBw +YXNzdChmLm53S2VubnVuZyk7IH0pOwogICAgaWYgKGZhICYmIGZhLm5hbWUpIHJldHVybiBTdHJp +bmcoZmEubmFtZSkudHJpbSgpLnNwbGl0KC9ccysvKVswXTsKICAgIHZhciBzdSA9IChaLmFkbWlu +LnN1cGVyVXNlciB8fCBbXSkuZmluZChmdW5jdGlvbihzKSB7IHJldHVybiBwYXNzdChzLm53S2Vu +bnVuZyk7IH0pOwogICAgaWYgKHN1ICYmIHN1Lm5hbWUpIHJldHVybiBTdHJpbmcoc3UubmFtZSku +dHJpbSgpLnNwbGl0KC9ccysvKVswXTsKICAgIHZhciBwICA9IChaLnBsYW51bmcgJiYgWi5wbGFu +dW5nLnBlcnNvbmVuIHx8IFtdKS5maW5kKGZ1bmN0aW9uKHBwKSB7IHJldHVybiBwYXNzdChwcC5u +d0tlbm51bmcpOyB9KTsKICAgIGlmIChwKSB7CiAgICAgICAgaWYgKHAudm9ybmFtZSkgcmV0dXJu +IFN0cmluZyhwLnZvcm5hbWUpLnRyaW0oKS5zcGxpdCgvXHMrLylbMF07CiAgICAgICAgaWYgKHAu +bmFtZSkgICAgcmV0dXJuIFN0cmluZyhwLm5hbWUpLnRyaW0oKS5zcGxpdCgvXHMrLylbMF07CiAg +ICB9CiAgICByZXR1cm4gJyc7Cn0KCmV4cG9ydCBmdW5jdGlvbiBiZXNldHp1bmdza29udHJvbGxl +UmVuZGVybigpIHsKICAgIGlmICghKFoucmVjaHRlICYmIFoucmVjaHRlLmlzdEdlc2FtdHZlcmFu +dHdvcnRsaWNoKSkgcmV0dXJuOwogICAgdmFyIGFuYWx5c2UgPSBiZXNldHp1bmdzQW5hbHlzZSgp +OwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JrLWtwaS1nZXNhbXQnKS5xdWVyeVNlbGVj +dG9yKCcuYmsta3BpLXphaGwnKS50ZXh0Q29udGVudCA9IGFuYWx5c2UuZ2VzYW10VGFnZTsKICAg +IC8vIEtQSXMgamV0enQgbWl0IDMtU3RhdHVzLUFtcGVsIHN0YXR0IG51ciBkZWZpeml0L29rLiBX +aXIgdmVyd2VuZGVuIGRpZQogICAgLy8gYmVzdGVoZW5kZW4gQ29udGFpbmVyIHdlaXRlciAoYmst +a3BpLWRlZml6aXQgLT4gcm90LCBiay1rcGktb2sgLT4gZ3J1ZW4pCiAgICAvLyB1bmQgZXJnYWVu +emVuIExhYmVsLVRleHQgdmlhIHRpdGxlLgogICAgdmFyIGVsRGVmID0gZG9jdW1lbnQuZ2V0RWxl +bWVudEJ5SWQoJ2JrLWtwaS1kZWZpeml0Jyk7CiAgICB2YXIgZWxPayAgPSBkb2N1bWVudC5nZXRF +bGVtZW50QnlJZCgnYmsta3BpLW9rJyk7CiAgICBpZiAoZWxEZWYpIHsKICAgICAgICBlbERlZi5x +dWVyeVNlbGVjdG9yKCcuYmsta3BpLXphaGwnKS50ZXh0Q29udGVudCAgPSBhbmFseXNlLnJvdFRh +Z2U7CiAgICAgICAgZWxEZWYucXVlcnlTZWxlY3RvcignLmJrLWtwaS1sYWJlbCcpLnRleHRDb250 +ZW50ID0gJ3JvdCAo4omkMSknOwogICAgfQogICAgaWYgKGVsT2spIHsKICAgICAgICBlbE9rLnF1 +ZXJ5U2VsZWN0b3IoJy5iay1rcGktemFobCcpLnRleHRDb250ZW50ICA9IGFuYWx5c2UuZ3J1ZW5U +YWdlOwogICAgICAgIGVsT2sucXVlcnlTZWxlY3RvcignLmJrLWtwaS1sYWJlbCcpLnRleHRDb250 +ZW50ID0gJ2dyw7xuICjiiaUzKSc7CiAgICB9CgogICAgLy8gUGVyc29lbmxpY2hlIEJlZ3J1ZXNz +dW5nICsgRXJrbGFlcnVuZy4gQW5yZWRlICsgQnJpZWZpbmctQnV0dG9uIGltbWVyCiAgICAvLyBz +aWNodGJhcjsgZGllIGF1c2Z1ZWhybGljaGUgRXJrbGFlcnVuZyBpbiBlaW5lbSBhdWZrbGFwcGJh +cmVuIDxkZXRhaWxzPi4KICAgIHZhciBiZ0VsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Jr +LWJlZ3J1ZXNzdW5nJyk7CiAgICBpZiAoYmdFbCkgewogICAgICAgIHZhciB2b3JuYW1lID0gZ2Vz +YW10dmVyYW50d29ydGxpY2hWb3JuYW1lRXJtaXR0ZWxuKCk7CiAgICAgICAgdmFyIGFucmVkZSA9 +IHZvcm5hbWUgPyAoJ0hhbGxvICcgKyBlc2NhcGVIVE1MKHZvcm5hbWUpICsgJyEnKSA6ICdIYWxs +byEnOwogICAgICAgIHZhciBuYXZCZXNMYWJlbCA9IGJlek9kZXIoJ25hdi5iZXNldHp1bmcnLCAn +QmVzZXR6dW5nJyk7CiAgICAgICAgYmdFbC5pbm5lckhUTUwgPQogICAgICAgICAgICAnPGRpdiBj +bGFzcz0iYmstYmVncnVlc3N1bmciPicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJr +LWJlZ3Ita29wZiI+JyArCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJrLWJlZ3It +YW5yZWRlIj4nICsgYW5yZWRlICsgJzwvZGl2PicgKwogICAgICAgICAgICAgICAgICAgICc8YnV0 +dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tc2VrIGJ0bi1rbGVpbiIgaWQ9ImJ0bi1k +ZWZpeml0LWJyaWVmaW5nIj5EZWZpeml0LUJyaWVmaW5nIGFscyBNYWlsIHZvcmJlcmVpdGVuPC9i +dXR0b24+JyArCiAgICAgICAgICAgICAgICAnPC9kaXY+JyArCiAgICAgICAgICAgICAgICAnPHAg +Y2xhc3M9ImJrLWJlZ3ItcXVpY2tpbnRybyI+S2xpY2sgYXVmIGVpbmVuIFRhZyBpbSBLYWxlbmRl +ciB1bnRlbiB6ZWlndCBkaXIgZGllIGVpbmdlcGxhbnRlbiBGw7xocnVuZ3NrcsOkZnRlLiBCZWkg +PHNwYW4gY2xhc3M9ImJrLWJlZ3ItcGlsbCBiay1iZWdyLXBpbGwtcm90Ij5Sb3Q8L3NwYW4+LVRh +Z2VuIHp1c8OkdHpsaWNoIGRpZSBQZXJzb25lbiwgZGllIGR1IHBlcnPDtm5saWNoIGFuc2NocmVp +YmVuIGthbm5zdC48L3A+JyArCiAgICAgICAgICAgICAgICAnPGRldGFpbHMgY2xhc3M9ImJrLWJl +Z3ItZGV0YWlscyI+JyArCiAgICAgICAgICAgICAgICAgICAgJzxzdW1tYXJ5Pk1laHIgSW5mb3Mg +enVyIExvZ2lrICZhbXA7IGRlbiBNYWlsLUZ1bmt0aW9uZW48L3N1bW1hcnk+JyArCiAgICAgICAg +ICAgICAgICAgICAgJzxwPkRpZXNlIEFuc2ljaHQgdW5kIGRlciBUYWIgPHN0cm9uZz4nICsgZXNj +YXBlSFRNTChuYXZCZXNMYWJlbCkgKyAnPC9zdHJvbmc+IG9iZW4gaW0gSGVhZGVyIHNpbmQgPHN0 +cm9uZz5hdXNzY2hsaWXDn2xpY2ggZsO8ciBkaWNoPC9zdHJvbmc+IGFscyBHZXNhbXR2ZXJhbnR3 +b3J0bGljaGUvciBlaW5nZXJpY2h0ZXQg4oCUIHNpZSBzb2xsZW4gZGlyIGRpZSBXYWhybmVobXVu +ZyBkZWluZXIgVmVyYW50d29ydHVuZ3PCrXp1d2Vpc3VuZyBlcmxlaWNodGVybi48L3A+JyArCiAg +ICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJrLWJlZ3ItbGVnZW5kZSI+JyArCiAgICAg +ICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJiay1iZWdyLWVpbnRyYWciPicgKwogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJiay1iZWdyLXBpbGwgYmstYmVn +ci1waWxsLXJvdCI+Um90PC9zcGFuPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxz +cGFuPk1pbmRlc3RlbnMgZWluZSBTY2hpY2h0IG1pdCBudXIgPHN0cm9uZz4xIEbDvGhydW5nc2ty +YWZ0PC9zdHJvbmc+IG9kZXIgd2VuaWdlciDigJQga3JpdGlzY2guPC9zcGFuPicgKwogICAgICAg +ICAgICAgICAgICAgICAgICAnPC9kaXY+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2 +IGNsYXNzPSJiay1iZWdyLWVpbnRyYWciPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAg +JzxzcGFuIGNsYXNzPSJiay1iZWdyLXBpbGwgYmstYmVnci1waWxsLWdlbGIiPkdlbGI8L3NwYW4+ +JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4+TWluZGVzdGVucyBlaW5lIFNj +aGljaHQgbWl0IDxzdHJvbmc+Z2VuYXUgMjwvc3Ryb25nPiDigJQga2VpbiBQdWZmZXIgZsO8ciBB +dXNmw6RsbGUuPC9zcGFuPicgKwogICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArCiAg +ICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJiay1iZWdyLWVpbnRyYWciPicgKwog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJiay1iZWdyLXBpbGwgYmst +YmVnci1waWxsLWdydWVuIj5HcsO8bjwvc3Bhbj4nICsKICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICc8c3Bhbj5BbGxlIFNjaGljaHRlbiBtaXQgPHN0cm9uZz4zIG9kZXIgbWVocjwvc3Ryb25n +PiBGw7xocnVuZ3NrcsOkZnRlbiDigJQga29tZm9ydGFiZWwgYmVzZXR6dC48L3NwYW4+JyArCiAg +ICAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAnPC9k +aXY+JyArCiAgICAgICAgICAgICAgICAgICAgJzxwIGNsYXNzPSJiay1iZWdyLW1haWwiPjxzdHJv +bmc+VGFnIMO2ZmZuZW46PC9zdHJvbmc+IGJlaSBSb3Qgd2VyZGVuIHp1c8OkdHpsaWNoIGRpZSBQ +ZXJzb25lbiBtaXQgPGNvZGU+ZGZyPC9jb2RlPi88Y29kZT53ZnI8L2NvZGU+IChwb3RlbnppZWxs +IHZlcmbDvGdiYXIpIHVuZCBtaXQgU2NodWx1bmdzLUNvZGVzIHdpZSA8Y29kZT5BdUY8L2NvZGU+ +Lzxjb2RlPkxHPC9jb2RlPi88Y29kZT5TZW08L2NvZGU+IChudXIgTm90ZmFsbCkgZ2VsaXN0ZXQg +4oCUIEtsaWNrIGF1ZiBlaW5lIFBlcnNvbiDDtmZmbmV0IGVpbmUgcGVyc8O2bmxpY2hlIE1haWwg +aW4gZGVpbmVtIE1haWxwcm9ncmFtbS48L3A+JyArCiAgICAgICAgICAgICAgICAgICAgJzxwIGNs +YXNzPSJiay1iZWdyLW1haWwiPjxzdHJvbmc+RGVmaXppdC1CcmllZmluZy1CdXR0b246PC9zdHJv +bmc+IE91dGxvb2sgbWl0IGVpbmVyIHp1c2FtbWVuZ2VmYXNzdGVuIMOcYmVyc2ljaHQgYWxsZXIg +RsO8aHJ1bmdzLVVudGVyYmVzZXR6dW5nZW4gZGVyIG7DpGNoc3RlbiA0IFdvY2hlbi48L3A+JyAr +CiAgICAgICAgICAgICAgICAnPC9kZXRhaWxzPicgKwogICAgICAgICAgICAnPC9kaXY+JzsKICAg +ICAgICB2YXIgYnRuREIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnRuLWRlZml6aXQtYnJp +ZWZpbmcnKTsKICAgICAgICBpZiAoYnRuREIpIGJ0bkRCLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNr +JywgZGVmaXppdEJyaWVmaW5nT2VmZm5lbik7CiAgICB9CgogICAgLy8gPT09PT0gS2FsZW5kZXIt +QW5zaWNodCA9PT09PQogICAgLy8gV2lyIHplaWdlbiA1IFdvY2hlbi1SZWloZW4gYWIgZGVtIE1v +bnRhZyBkZXIgYWt0dWVsbGVuIFdvY2hlLgogICAgLy8gVGFnZSBWT1IgaGV1dGUgb2RlciBOQUNI +IGhldXRlKzI4IHNpbmQgZ3JhdS9pbmFrdGl2LCBkYXp3aXNjaGVuCiAgICAvLyB3ZXJkZW4gc2ll +IG5hY2ggU3RhdHVzIChyb3QvZ2VsYi9ncnVlbikgZWluZ2VmYWVyYnQgdW5kIHNpbmQga2xpY2ti +YXIuCiAgICB2YXIgaW5oYWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JrLWluaGFsdCcp +OwogICAgdmFyIGhldXRlICA9IG5ldyBEYXRlKCk7IGhldXRlLnNldEhvdXJzKDAsMCwwLDApOwog +ICAgdmFyIGhldXRlU3RyID0gZGF0dW1TdHIoaGV1dGUpOwogICAgdmFyIGVuZGVTdHI7CiAgICB7 +CiAgICAgICAgdmFyIGVuZGUgPSBuZXcgRGF0ZShoZXV0ZSk7CiAgICAgICAgZW5kZS5zZXREYXRl +KGVuZGUuZ2V0RGF0ZSgpICsgQktfSE9SSVpPTlRfVEFHRSk7CiAgICAgICAgZW5kZVN0ciA9IGRh +dHVtU3RyKGVuZGUpOwogICAgfQogICAgLy8gTWFwIGRhdHVtIC0+IHRhZ0RhdGVuIChhdXMgYW5h +bHlzZS50YWdlLCBmdWVyIHNjaG5lbGxlbiBadWdyaWZmKQogICAgdmFyIHRhZ01hcCA9IHt9Owog +ICAgYW5hbHlzZS50YWdlLmZvckVhY2goZnVuY3Rpb24odCkgeyB0YWdNYXBbdC5kYXR1bV0gPSB0 +OyB9KTsKICAgIC8vIE1vbnRhZyBkaWVzZXIgV29jaGUgYmVzdGltbWVuCiAgICB2YXIgc3RhcnRN +byA9IG5ldyBEYXRlKGhldXRlKTsKICAgIHZhciBkb3cgPSBzdGFydE1vLmdldERheSgpOyAvLyAw +PVNvLCAxPU1vLCAuLi4sIDY9U2EKICAgIHZhciBkaWZmTW8gPSAoZG93ID09PSAwKSA/IC02IDog +KDEgLSBkb3cpOwogICAgc3RhcnRNby5zZXREYXRlKHN0YXJ0TW8uZ2V0RGF0ZSgpICsgZGlmZk1v +KTsKCiAgICB2YXIgbW9OYW1lbiA9IFsnSmFudWFyJywnRmVicnVhcicsJ03DpHJ6JywnQXByaWwn +LCdNYWknLCdKdW5pJywnSnVsaScsJ0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09rdG9iZXInLCdOb3Zl +bWJlcicsJ0RlemVtYmVyJ107CiAgICB2YXIgaHRtbCA9ICc8ZGl2IGNsYXNzPSJiay1rYWwiPic7 +CiAgICAvLyBXb2NoZW50YWctSGVhZGVyIChNby1TbykKICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9 +ImJrLWthbC13dC1rb3BmIj4nICsKICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJrLWthbC13dCI+ +TW88L2Rpdj4nICsKICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJrLWthbC13dCI+RGk8L2Rpdj4n +ICsKICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJrLWthbC13dCI+TWk8L2Rpdj4nICsKICAgICAg +ICAgICAgJzxkaXYgY2xhc3M9ImJrLWthbC13dCI+RG88L2Rpdj4nICsKICAgICAgICAgICAgJzxk +aXYgY2xhc3M9ImJrLWthbC13dCI+RnI8L2Rpdj4nICsKICAgICAgICAgICAgJzxkaXYgY2xhc3M9 +ImJrLWthbC13dCBiay1rYWwtd3Qtd2UiPlNhPC9kaXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNs +YXNzPSJiay1rYWwtd3QgYmsta2FsLXd0LXdlIj5TbzwvZGl2PicgKwogICAgICAgICAgICAnPC9k +aXY+JzsKICAgIC8vIDUgV29jaGVuIMOXIDcgVGFnZSA9IDM1IFplbGxlbiDigJQgZGVja3QgMjgg +VGFnZSBIb3Jpem9udCBzaWNoZXIgYWIsCiAgICAvLyBlZ2FsIGFuIHdlbGNoZW0gV29jaGVudGFn +IHdpciBzdGFydGVuLgogICAgZm9yICh2YXIgdyA9IDA7IHcgPCA1OyB3KyspIHsKICAgICAgICBo +dG1sICs9ICc8ZGl2IGNsYXNzPSJiay1rYWwtd29jaGUiPic7CiAgICAgICAgZm9yICh2YXIgZCA9 +IDA7IGQgPCA3OyBkKyspIHsKICAgICAgICAgICAgdmFyIHRhZyA9IG5ldyBEYXRlKHN0YXJ0TW8p +OwogICAgICAgICAgICB0YWcuc2V0RGF0ZSh0YWcuZ2V0RGF0ZSgpICsgdyAqIDcgKyBkKTsKICAg +ICAgICAgICAgdmFyIHRhZ1MgPSBkYXR1bVN0cih0YWcpOwogICAgICAgICAgICB2YXIgaW1GZW5z +dGVyID0gKHRhZ1MgPj0gaGV1dGVTdHIgJiYgdGFnUyA8IGVuZGVTdHIpOwogICAgICAgICAgICB2 +YXIgaXN0SGV1dGUgPSAodGFnUyA9PT0gaGV1dGVTdHIpOwogICAgICAgICAgICB2YXIgaXN0V0Ug +PSAoZCA+PSA1KTsKICAgICAgICAgICAgdmFyIGRhdGEgPSB0YWdNYXBbdGFnU107CiAgICAgICAg +ICAgIHZhciBzdGF0dXNDbHMgPSAnJzsKICAgICAgICAgICAgaWYgKGltRmVuc3RlciAmJiBkYXRh +KSBzdGF0dXNDbHMgPSAnIGJrLWthbC0nICsgZGF0YS5zdGF0dXM7CiAgICAgICAgICAgIGVsc2Ug +c3RhdHVzQ2xzID0gJyBiay1rYWwtYXVzc2VuJzsKICAgICAgICAgICAgaWYgKGlzdEhldXRlKSBz +dGF0dXNDbHMgKz0gJyBiay1rYWwtaGV1dGUnOwogICAgICAgICAgICBpZiAoaXN0V0UpIHN0YXR1 +c0NscyArPSAnIGJrLWthbC13ZSc7CiAgICAgICAgICAgIC8vIE1vbmF0c25hbWUgYW0gMS4gYW56 +ZWlnZW4sIHNvbnN0IG51ciBaYWhsCiAgICAgICAgICAgIHZhciBsYWJlbCA9ICc8c3BhbiBjbGFz +cz0iYmsta2FsLXRhZ25yIj4nICsgdGFnLmdldERhdGUoKSArICc8L3NwYW4+JzsKICAgICAgICAg +ICAgaWYgKHRhZy5nZXREYXRlKCkgPT09IDEpIGxhYmVsICs9ICc8c3BhbiBjbGFzcz0iYmsta2Fs +LW1vIj4nICsgbW9OYW1lblt0YWcuZ2V0TW9udGgoKV0uc3Vic3RyaW5nKDAsMykgKyAnPC9zcGFu +Pic7CiAgICAgICAgICAgIC8vIFNjaGljaHQtTWluaS1JbmRpa2F0b3JlbiBiZWkgaW1GZW5zdGVy +CiAgICAgICAgICAgIHZhciBtaW5pID0gJyc7CiAgICAgICAgICAgIGlmIChpbUZlbnN0ZXIgJiYg +ZGF0YSkgewogICAgICAgICAgICAgICAgbWluaSA9ICc8c3BhbiBjbGFzcz0iYmsta2FsLW1pbmki +PicgKwogICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0iYmsta2FsLW1pbmktemVsbGUg +Ymsta2FsLW1pbmktJyArIGRhdGEuc2NoaWNodGVuLkYuc3RhdHVzICsgJyIgdGl0bGU9IkZyw7xo +c2NoaWNodDogJyArIGRhdGEuc2NoaWNodGVuLkYuaXN0ICsgJyBGayI+RicgKyBkYXRhLnNjaGlj +aHRlbi5GLmlzdCArICc8L3NwYW4+JyArCiAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNz +PSJiay1rYWwtbWluaS16ZWxsZSBiay1rYWwtbWluaS0nICsgZGF0YS5zY2hpY2h0ZW4uUy5zdGF0 +dXMgKyAnIiB0aXRsZT0iU3DDpHRzY2hpY2h0OiAnICsgZGF0YS5zY2hpY2h0ZW4uUy5pc3QgKyAn +IEZrIj5TJyArIGRhdGEuc2NoaWNodGVuLlMuaXN0ICsgJzwvc3Bhbj4nICsKICAgICAgICAgICAg +ICAgICAgICAnPHNwYW4gY2xhc3M9ImJrLWthbC1taW5pLXplbGxlIGJrLWthbC1taW5pLScgKyBk +YXRhLnNjaGljaHRlbi5OLnN0YXR1cyArICciIHRpdGxlPSJOYWNodHNjaGljaHQ6ICcgKyBkYXRh +LnNjaGljaHRlbi5OLmlzdCArICcgRmsiPk4nICsgZGF0YS5zY2hpY2h0ZW4uTi5pc3QgKyAnPC9z +cGFuPicgKwogICAgICAgICAgICAgICAgICAgICc8L3NwYW4+JzsKICAgICAgICAgICAgfQogICAg +ICAgICAgICB2YXIgY2xpY2sgPSBpbUZlbnN0ZXIgPyAnIGRhdGEtYWt0aW9uPSJiay10YWciIGRh +dGEtZGF0dW09IicgKyBlc2NhcGVBdHRyKHRhZ1MpICsgJyInIDogJyc7CiAgICAgICAgICAgIGh0 +bWwgKz0gJzxkaXYgY2xhc3M9ImJrLWthbC10YWcnICsgc3RhdHVzQ2xzICsgJyInICsgY2xpY2sg +KyAnPicgKwogICAgICAgICAgICAgICAgbGFiZWwgKyBtaW5pICsgJzwvZGl2Pic7CiAgICAgICAg +fQogICAgICAgIGh0bWwgKz0gJzwvZGl2Pic7CiAgICB9CiAgICBodG1sICs9ICc8L2Rpdj4nOwog +ICAgaW5oYWx0LmlubmVySFRNTCA9IGh0bWw7Cn0KCi8vIERlbHRhLVVwZGF0ZSBmdWVyIGVpbmVu +IGVpbnplbG5lbiBUYWcg4oCUIHZlcm1laWRldCBkZW4gdm9sbHN0YWVuZGlnZW4KLy8gaW5uZXJI +VE1MLVJlYnVpbGQgZGVzIDUtV29jaGVuLUthbGVuZGVycyBuYWNoIGplZGVtIFplbGwtRWRpdC4g +V2lyZCBhdXMKLy8gZGVtIEVkaXRvciBhdWZnZXJ1ZmVuLCB3ZW5uIGRlciBQcnVlZnVuZ3MtVGFi +IHNpY2h0YmFyIGlzdC4gQXVmZ2FiZToKLy8gICAxLiBTdGF0dXMtS2xhc3NlIChyb3QvZ2VsYi9n +cnVlbikgZGVyIGVpbmVuIEthY2hlbCBwYXRjaGVuCi8vICAgMi4gTWluaS1JbmRpa2F0b3JlbiBG +L1MvTiBtaXQgZGVuIG5ldWVuIFphZWhsdW5nZW4gYWt0dWFsaXNpZXJlbgovLyAgIDMuIEtQSS1a +YWhsZW4gKGdlc2FtdC9yb3QvZ3J1ZW4pIG5ldSB6YWVobGVuCi8vIFdlbm4gZGVyIFRhYiBuaWUg +Z2VyZW5kZXJ0IHd1cmRlIChrZWluIGJrLWluaGFsdCkgb2RlciBkYXMgRGF0dW0KLy8gYXVzc2Vy +aGFsYiBkZXMgNC1Xb2NoZW4tRmVuc3RlcnMgbGllZ3Q6IG5vLW9wLiBLUEktUmVjb3VudCBudXR6 +dAovLyBiZXNldHp1bmdzQW5hbHlzZSgpIOKAlCBkYXMgaXN0IGJpbGxpZyAoTygyOCBUYWdlICog +NDUgUGVyc29uZW4pKSwKLy8gdGV1ZXIgaXN0IGRlciBET00tUmVidWlsZCwgZGVuIHdpciBkYW1p +dCBzcGFyZW4uCmV4cG9ydCBmdW5jdGlvbiBiZXNldHp1bmdza29udHJvbGxlVGFnVXBkYXRlbihk +YXR1bSkgewogICAgaWYgKCEoWi5yZWNodGUgJiYgWi5yZWNodGUuaXN0R2VzYW10dmVyYW50d29y +dGxpY2gpKSByZXR1cm47CiAgICB2YXIgaW5oYWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo +J2JrLWluaGFsdCcpOwogICAgaWYgKCFpbmhhbHQpIHJldHVybjsKICAgIHZhciB0YWdFbCA9IGlu +aGFsdC5xdWVyeVNlbGVjdG9yKCcuYmsta2FsLXRhZ1tkYXRhLWRhdHVtPSInICsgZGF0dW0gKyAn +Il0nKTsKICAgIGlmICghdGFnRWwpIHJldHVybjsgIC8vIGF1c3NlcmhhbGIgZGVzIDQtV29jaGVu +LUZlbnN0ZXJzCgogICAgZnVuY3Rpb24gc2NoaWNodFN0YXR1cyhpc3QpIHsKICAgICAgICBpZiAo +aXN0IDw9IDEpIHJldHVybiAncm90JzsKICAgICAgICBpZiAoaXN0ID09PSAyKSByZXR1cm4gJ2dl +bGInOwogICAgICAgIHJldHVybiAnZ3J1ZW4nOwogICAgfQogICAgZnVuY3Rpb24gdGFnU3RhdHVz +KGYsIHMsIG4pIHsKICAgICAgICBpZiAoZiA8PSAxIHx8IHMgPD0gMSB8fCBuIDw9IDEpIHJldHVy +biAncm90JzsKICAgICAgICBpZiAoZiA9PT0gMiB8fCBzID09PSAyIHx8IG4gPT09IDIpIHJldHVy +biAnZ2VsYic7CiAgICAgICAgcmV0dXJuICdncnVlbic7CiAgICB9CgogICAgdmFyIGYgPSBmdWVo +cnVuZ3NaYWVobGVuKGRhdHVtLCAnRicpOwogICAgdmFyIHMgPSBmdWVocnVuZ3NaYWVobGVuKGRh +dHVtLCAnUycpOwogICAgdmFyIG4gPSBmdWVocnVuZ3NaYWVobGVuKGRhdHVtLCAnTicpOwogICAg +dmFyIHN0ID0gdGFnU3RhdHVzKGYsIHMsIG4pOwoKICAgIHRhZ0VsLmNsYXNzTGlzdC5yZW1vdmUo +J2JrLWthbC1yb3QnLCAnYmsta2FsLWdlbGInLCAnYmsta2FsLWdydWVuJyk7CiAgICB0YWdFbC5j +bGFzc0xpc3QuYWRkKCdiay1rYWwtJyArIHN0KTsKCiAgICB2YXIgbWluaSA9IHRhZ0VsLnF1ZXJ5 +U2VsZWN0b3IoJy5iay1rYWwtbWluaScpOwogICAgaWYgKG1pbmkpIHsKICAgICAgICBtaW5pLmlu +bmVySFRNTCA9CiAgICAgICAgICAgICc8c3BhbiBjbGFzcz0iYmsta2FsLW1pbmktemVsbGUgYmst +a2FsLW1pbmktJyArIHNjaGljaHRTdGF0dXMoZikgKyAnIiB0aXRsZT0iRnLDvGhzY2hpY2h0OiAn +ICsgZiArICcgRmsiPkYnICsgZiArICc8L3NwYW4+JyArCiAgICAgICAgICAgICc8c3BhbiBjbGFz +cz0iYmsta2FsLW1pbmktemVsbGUgYmsta2FsLW1pbmktJyArIHNjaGljaHRTdGF0dXMocykgKyAn +IiB0aXRsZT0iU3DDpHRzY2hpY2h0OiAnICsgcyArICcgRmsiPlMnICsgcyArICc8L3NwYW4+JyAr +CiAgICAgICAgICAgICc8c3BhbiBjbGFzcz0iYmsta2FsLW1pbmktemVsbGUgYmsta2FsLW1pbmkt +JyArIHNjaGljaHRTdGF0dXMobikgKyAnIiB0aXRsZT0iTmFjaHRzY2hpY2h0OiAnICsgbiArICcg +RmsiPk4nICsgbiArICc8L3NwYW4+JzsKICAgIH0KCiAgICB2YXIgYW5hbHlzZSA9IGJlc2V0enVu +Z3NBbmFseXNlKCk7CiAgICB2YXIgZ2VzRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmst +a3BpLWdlc2FtdCcpOwogICAgdmFyIGRlZkVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Jr +LWtwaS1kZWZpeml0Jyk7CiAgICB2YXIgb2tFbCAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn +Ymsta3BpLW9rJyk7CiAgICBpZiAoZ2VzRWwpIGdlc0VsLnF1ZXJ5U2VsZWN0b3IoJy5iay1rcGkt +emFobCcpLnRleHRDb250ZW50ID0gYW5hbHlzZS5nZXNhbXRUYWdlOwogICAgaWYgKGRlZkVsKSBk +ZWZFbC5xdWVyeVNlbGVjdG9yKCcuYmsta3BpLXphaGwnKS50ZXh0Q29udGVudCA9IGFuYWx5c2Uu +cm90VGFnZTsKICAgIGlmIChva0VsKSAgb2tFbCAucXVlcnlTZWxlY3RvcignLmJrLWtwaS16YWhs +JykudGV4dENvbnRlbnQgPSBhbmFseXNlLmdydWVuVGFnZTsKfQoKLy8gS2xpY2stSGFuZGxlciBm +dWVyIEthbGVuZGVyLVRhZ2UuIEtsaWNrIGF1ZiBlaW5lbiBha3RpdmVuIFRhZyBvZWZmbmV0Ci8v +IGRhcyBEZXRhaWwtTW9kYWwgbWl0IFNjaGljaHQtQXVmc3RlbGx1bmcgKyAoYmVpIHJvdCkgQXVz +aGlsZmUtS2FuZGlkYXRlbi4KZXhwb3J0IGZ1bmN0aW9uIGJlc2V0enVuZ3Nrb250cm9sbGVFdmVu +dHNBdWZoYWVuZ2VuKCkgewogICAgdmFyIGluaGFsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk +KCdiay1pbmhhbHQnKTsKICAgIGlmICghaW5oYWx0KSByZXR1cm47CiAgICBpbmhhbHQuYWRkRXZl +bnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgdmFyIHRhZyA9IGUudGFy +Z2V0LmNsb3Nlc3QoJ1tkYXRhLWFrdGlvbj0iYmstdGFnIl0nKTsKICAgICAgICBpZiAodGFnKSB7 +CiAgICAgICAgICAgIHRhZ0RldGFpbE1vZGFsWmVpZ2VuKHRhZy5nZXRBdHRyaWJ1dGUoJ2RhdGEt +ZGF0dW0nKSk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9KTsKfQoKLy8gTGll +ZmVydCBkaWUgUGVyc29uZW4sIGRpZSBhbSBnZWdlYmVuZW4gRGF0dW0gZWluZW4gRnJlaS1Db2Rl +IChkZnIsIHdmcikKLy8gZWluZ2V0cmFnZW4gaGFiZW4uIEthbmRpZGF0ZW4gZnVlciBkaWUgUnVu +ZG1haWwuCmV4cG9ydCBmdW5jdGlvbiBmcmVpUGVyc29uZW5GdWVyKGRhdHVtKSB7CiAgICByZXR1 +cm4gdmVyZnVlZ2JhcmVQZXJzb25lbkZ1ZXIoZGF0dW0pLmZpbHRlcihmdW5jdGlvbihwKSB7CiAg +ICAgICAgcmV0dXJuIHAua2F0ZWdvcmllID09PSAnZnJlaSc7CiAgICB9KTsKfQoKLy8gUG90ZW50 +aWVsbCB2ZXJmdWVnYmFyZSBQZXJzb25lbiBhbSBEYXR1bSDigJQgS2FuZGlkYXRlbiBmdWVyIGRp +ZQovLyBTY2hpY2h0LUF1c2hpbGZlLiBOdXIgRnJlaS1Db2RlcyAoZGZyL3dmcik6IGRpZSBoYWJl +biBhbSBUYWcgb2ZmaXppZWxsCi8vIG5pY2h0cyB2b3IgdW5kIGtvZW5uZW4gdGhlb3JldGlzY2gg +ZWluc3ByaW5nZW4uIFRlcm1pbi1Db2RlcyAoQXVGL0xHLwovLyBTZW0vVHpGL0FaQS9FVE0pIHNp +bmQgdGFnc3VlYmVyIGJsb2NraWVydCB1bmQga29tbWVuIGZ1ZXIgZWluZQovLyBrbGFzc2lzY2hl +IFNjaGljaHQtQXVzaGlsZmUgbmljaHQgaW4gRnJhZ2Ug4oCUIGRpZSB3dXJkZW4gZnJ1ZWhlciBh +bHMKLy8gIk5vdGZhbGwiLUJsb2NrIGFuZ2V6ZWlndCwgd2FzIGltIExpdmUtQmV0cmllYiBtZWhy +IHZlcndpcnJ0IGhhdCBhbHMKLy8gZ2VudXR6dCwgZGFoZXIgMjAyNi0wNS0xOSByYXVzLgpleHBv +cnQgZnVuY3Rpb24gdmVyZnVlZ2JhcmVQZXJzb25lbkZ1ZXIoZGF0dW0pIHsKICAgIHZhciBlID0g +KFoucGxhbnVuZy5laW50cmFlZ2UgfHwge30pW2RhdHVtXSB8fCB7fTsKICAgIHZhciBrb21tZW50 +YXJlID0gKChaLnBsYW51bmcua29tbWVudGFyZSB8fCB7fSlbZGF0dW1dKSB8fCB7fTsKICAgIHZh +ciBGUkVJX0NPREVTID0geyBkZnI6IDEsIHdmcjogMSB9OwogICAgdmFyIGxpc3RlID0gW107CiAg +ICAoWi5wbGFudW5nLnBlcnNvbmVuIHx8IFtdKS5mb3JFYWNoKGZ1bmN0aW9uKHApIHsKICAgICAg +ICBpZiAoIXAuYWt0aXYpIHJldHVybjsKICAgICAgICB2YXIgdyA9IGVbU3RyaW5nKHAuaWQpXSB8 +fCAnJzsKICAgICAgICBpZiAoIUZSRUlfQ09ERVNbd10pIHJldHVybjsKICAgICAgICBsaXN0ZS5w +dXNoKHsKICAgICAgICAgICAgaWQ6IHAuaWQsCiAgICAgICAgICAgIG5hbWU6ICgocC52b3JuYW1l +IHx8ICcnKSArICcgJyArIChwLm5hbWUgfHwgJycpKS50cmltKCksCiAgICAgICAgICAgIHZvcm5h +bWU6IHAudm9ybmFtZSB8fCAnJywKICAgICAgICAgICAgd2VydDogdywKICAgICAgICAgICAgZW1h +aWw6IHAuZW1haWwgfHwgJycsCiAgICAgICAgICAgIGtvbW1lbnRhcjoga29tbWVudGFyVGV4dChr +b21tZW50YXJlW1N0cmluZyhwLmlkKV0pLAogICAgICAgICAgICBncnVwcGU6IHAuZ3J1cHBlIHx8 +ICcnCiAgICAgICAgfSk7CiAgICB9KTsKICAgIGxpc3RlLnNvcnQoZnVuY3Rpb24oYSwgYikgeyBy +ZXR1cm4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKTsgfSk7CiAgICByZXR1cm4gbGlzdGU7 +Cn0KCi8vIEthbmRpZGF0ZW4tUmVzb2x2ZXIgZnVlciBlaW5lIGtvbmtyZXQgdW50ZXJiZXNldHp0 +ZSBTY2hpY2h0LgovLyBWSTMtREdMLXF1YWxpZml6aWVydGUgUGVyc29uZW4gYXVzIGRlciB2b3Jn +ZWdlYmVuZW4gRGllbnN0Z3J1cHBlLCBuaWNodAovLyBHZXNhbXR2ZXJhbnR3b3J0bGljaC4gUmV0 +dXJucyB6d2VpIEdydXBwZW46Ci8vICAgLmZyZWkgIOKAlCBhbSBUYWcgd2lya2xpY2ggZnJlaSAo +bGVlcmVyIEVpbnRyYWcsIGRmci93ZnIvwqcyMS8yMWEpCi8vICAgLnVtZGlzcG9uaWVyYmFyIOKA +lCBhbSBUYWcgaW4gV0RGIG9kZXIgRkJQIGVpbmdlcGxhbnQgaW4gZGVyc2VsYmVuCi8vICAgICBT +Y2hpY2h0IChGL1MvTik6IGtvZW5uZW4gREdMIHVlYmVybmVobWVuLCBicmF1Y2hlbiBhYmVyIEVy +c2F0eiBmdWVyCi8vICAgICBpaHJlIGJpc2hlcmlnZSBXREYvRkJQLVJvbGxlIChVc2VyLUZlZWRi +YWNrIDIwMjYtMDUtMjMpLgpleHBvcnQgZnVuY3Rpb24gYmVzZXR6dW5nc0thbmRpZGF0ZW5Fcm1p +dHRlbG4oZGF0dW0sIHNjaGljaHRMZXR0ZXIsIGRpZW5zdGdydXBwZSkgewogICAgdmFyIGUgPSAo +Wi5wbGFudW5nLmVpbnRyYWVnZSB8fCB7fSlbZGF0dW1dIHx8IHt9OwogICAgdmFyIEZSRUkgPSB7 +ICcnOiAxLCBkZnI6IDEsIHdmcjogMSwgJ8KnMjEnOiAxLCAnMjFhJzogMSB9OwogICAgdmFyIGVy +Z2VibmlzID0geyBmcmVpOiBbXSwgdW1kaXNwb25pZXJiYXI6IFtdIH07CiAgICAoWi5wbGFudW5n +LnBlcnNvbmVuIHx8IFtdKS5mb3JFYWNoKGZ1bmN0aW9uKHApIHsKICAgICAgICBpZiAoIXAuYWt0 +aXYpIHJldHVybjsKICAgICAgICBpZiAocC5nZWxvZXNjaHRBbSkgcmV0dXJuOwogICAgICAgIGlm +ICghaXN0RGdsUXVhbGlmaXppZXJ0KHApKSByZXR1cm47CiAgICAgICAgaWYgKGRpZW5zdGdydXBw +ZSAmJiAocC5ncnVwcGUgfHwgJycpICE9PSBkaWVuc3RncnVwcGUpIHJldHVybjsKICAgICAgICBp +ZiAoaXN0R2VzYW10dmVyYW50d29ydGxpY2gocCkpIHJldHVybjsKICAgICAgICB2YXIgdyA9IFN0 +cmluZyhlW1N0cmluZyhwLmlkKV0gfHwgJycpOwogICAgICAgIGlmICh3IGluIEZSRUkpIHsKICAg +ICAgICAgICAgZXJnZWJuaXMuZnJlaS5wdXNoKHApOwogICAgICAgICAgICByZXR1cm47CiAgICAg +ICAgfQogICAgICAgIC8vIFVtZGlzcG9uaWVyYmFyOiBQZXJzb24gaXN0IGluIGRlcnNlbGJlbiBT +Y2hpY2h0IEYvUy9OCiAgICAgICAgLy8gZWluZ2VwbGFudCBhbHMgV0RGIG9kZXIgRkJQIC0+IGth +bm4gREdMIHVlYmVybmVobWVuLCB3ZW5uCiAgICAgICAgLy8gamVtYW5kIGFuZGVyZXMgaWhyZSBS +b2xsZSB1ZWJlcm5pbW10LgogICAgICAgIGlmICh3Lmxlbmd0aCA+PSA1ICYmIHcuY2hhckF0KDAp +ID09PSBzY2hpY2h0TGV0dGVyICYmIHcuY2hhckF0KDEpID09PSAnLScpIHsKICAgICAgICAgICAg +dmFyIHJvbGxlID0gdy5zdWJzdHJpbmcoMiwgNSk7CiAgICAgICAgICAgIGlmIChyb2xsZSA9PT0g +J1dERicgfHwgcm9sbGUgPT09ICdGQlAnKSB7CiAgICAgICAgICAgICAgICBlcmdlYm5pcy51bWRp +c3BvbmllcmJhci5wdXNoKHsgcGVyc29uOiBwLCBvcmlnaW5hbENvZGU6IHcsIHJvbGxlOiByb2xs +ZSB9KTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAg +IH0pOwogICAgZnVuY3Rpb24gc29ydEJ5TmFtZShhLCBiKSB7CiAgICAgICAgdmFyIHBhID0gYS5w +ZXJzb24gfHwgYSwgcGIgPSBiLnBlcnNvbiB8fCBiOwogICAgICAgIHZhciBhbiA9ICgocGEudm9y +bmFtZSB8fCAnJykgKyAnICcgKyAocGEubmFtZSB8fCAnJykpLnRyaW0oKTsKICAgICAgICB2YXIg +Ym4gPSAoKHBiLnZvcm5hbWUgfHwgJycpICsgJyAnICsgKHBiLm5hbWUgfHwgJycpKS50cmltKCk7 +CiAgICAgICAgcmV0dXJuIGFuLmxvY2FsZUNvbXBhcmUoYm4sICdkZScpOwogICAgfQogICAgZXJn +ZWJuaXMuZnJlaS5zb3J0KHNvcnRCeU5hbWUpOwogICAgZXJnZWJuaXMudW1kaXNwb25pZXJiYXIu +c29ydChzb3J0QnlOYW1lKTsKICAgIHJldHVybiBlcmdlYm5pczsKfQoKLy8gTGVpdGV0IGRpZSBm +dWVyIGVpbmUgU2NoaWNodCByZWxldmFudGUgRGllbnN0Z3J1cHBlIGFiOiBuaW1tdCBkaWUgR3J1 +cHBlCi8vIGRlciBiZXJlaXRzIGVpbmdlcGxhbnRlbiBER0wtUGVyc29uZW4uIFdlbm4gbWVocmVy +ZSB1bnRlcnNjaGllZGxpY2hlCi8vIEdydXBwZW4gYW53ZXNlbmQgc2luZCwgd2lyZCBkaWUgZXJz +dGUgZ2Vub21tZW4gKHR5cGlzY2hlcndlaXNlIHNpbmQKLy8gYWxsZSBhbndlc2VuZGVuIERHTCBh +dXMgZGVyc2VsYmVuIFJvdGF0aW9ucy1HcnVwcGUpLiBCZWkgMCBQZXJzb25lbgovLyBpbiBkZXIg +U2NoaWNodCByZXR1cm5zIG51bGwgLT4gS2FuZGlkYXRlbiBrb21tZW4gYXVzIGFsbGVuIEdydXBw +ZW4uCmV4cG9ydCBmdW5jdGlvbiBkaWVuc3RncnVwcGVGdWVyU2NoaWNodChkYXR1bSwgc2NoaWNo +dExldHRlcikgewogICAgdmFyIGZrTGlzdGUgPSBkZ2xzSW5TY2hpY2h0KGRhdHVtLCBzY2hpY2h0 +TGV0dGVyKTsKICAgIGlmICghZmtMaXN0ZSB8fCBma0xpc3RlLmxlbmd0aCA9PT0gMCkgcmV0dXJu +IG51bGw7CiAgICByZXR1cm4gZmtMaXN0ZVswXS5ncnVwcGUgfHwgbnVsbDsKfQoKLy8gVGFnLURl +dGFpbC1Nb2RhbCDigJQgZGllIHplbnRyYWxlIEtsaWNrLUFrdGlvbiBpbSBuZXVlbiBLYWxlbmRl +ci4KLy8gWmVpZ3QgZnVlciBkZW4gZ2V3YWVobHRlbiBUYWc6Ci8vICAtIFN0YXR1cyBwcm8gU2No +aWNodCAoQW56YWhsICsgQW1wZWwtRmFyYmUpCi8vICAtIEFsbGUgZWluZ2VwbGFudGVuIEZ1ZWhy +dW5nc2tyYWVmdGUgamUgU2NoaWNodCAoTmFtZSwgRnVua3Rpb24sIENvZGUpCi8vICAtIEJlaSBy +b3QtU3RhdHVzIHp1c2FldHpsaWNoIGRpZSBBdXNoaWxmZS1LYW5kaWRhdGVuIGluIHp3ZWkgQmxv +ZWNrZW4KLy8gICAgKEZyZWkgLyBUZXJtaW4pIOKAlCBLbGljayBhdWYgZWluZSBQZXJzb24gb2Vm +Zm5ldCBlaW5lIHBlcnNvZW5saWNoZQovLyAgICBNYWlsIHBlciBtYWlsdG86LgpleHBvcnQgZnVu +Y3Rpb24gdGFnRGV0YWlsTW9kYWxaZWlnZW4oZGF0dW0pIHsKICAgIHZhciBkID0gbmV3IERhdGUo +ZGF0dW0gKyAnVDAwOjAwOjAwJyk7CiAgICB2YXIgd3QgPSBbJ1Nvbm50YWcnLCdNb250YWcnLCdE +aWVuc3RhZycsJ01pdHR3b2NoJywnRG9ubmVyc3RhZycsJ0ZyZWl0YWcnLCdTYW1zdGFnJ11bZC5n +ZXREYXkoKV07CiAgICB2YXIgZiA9IGZ1ZWhydW5nc1phZWhsZW4oZGF0dW0sICdGJyk7CiAgICB2 +YXIgcyA9IGZ1ZWhydW5nc1phZWhsZW4oZGF0dW0sICdTJyk7CiAgICB2YXIgbiA9IGZ1ZWhydW5n +c1phZWhsZW4oZGF0dW0sICdOJyk7CiAgICBmdW5jdGlvbiBzdGF0dXNPZihpc3QpIHsKICAgICAg +ICBpZiAoaXN0IDw9IDEpIHJldHVybiAncm90JzsKICAgICAgICBpZiAoaXN0ID09PSAyKSByZXR1 +cm4gJ2dlbGInOwogICAgICAgIHJldHVybiAnZ3J1ZW4nOwogICAgfQogICAgZnVuY3Rpb24gc3Rh +dHVzTGFiZWwoc3QpIHsKICAgICAgICByZXR1cm4gc3QgPT09ICdyb3QnID8gJ2tyaXRpc2NoICji +iaQgMSknIDogc3QgPT09ICdnZWxiJyA/ICdrbmFwcCAoPSAyKScgOiAnZ3V0ICjiiaUgMyknOwog +ICAgfQogICAgdmFyIHRhZ1N0ID0gKGYgPD0gMSB8fCBzIDw9IDEgfHwgbiA8PSAxKSA/ICdyb3Qn +IDoKICAgICAgICAgICAgICAgIChmID09PSAyIHx8IHMgPT09IDIgfHwgbiA9PT0gMikgPyAnZ2Vs +YicgOiAnZ3J1ZW4nOwoKICAgIGZ1bmN0aW9uIHNjaGljaHRCbG9jayhsZXR0ZXIsIG5hbWUpIHsK +ICAgICAgICB2YXIgaXN0ID0gbGV0dGVyID09PSAnRicgPyBmIDogbGV0dGVyID09PSAnUycgPyBz +IDogbjsKICAgICAgICB2YXIgc3QgID0gc3RhdHVzT2YoaXN0KTsKICAgICAgICB2YXIgZmtMaXN0 +ZSA9IGRnbHNJblNjaGljaHQoZGF0dW0sIGxldHRlcik7CiAgICAgICAgLy8gSG9lY2hzdHN0dWZl +IChpc3Q9MCkgYmVrb21tdCBlaW5lIHp1c2FldHpsaWNoZSBLbGFzc2UgZnVlcgogICAgICAgIC8v +IHZlcnN0YWVya3RlIHZpc3VlbGxlIFdpcmt1bmcgKFBoYXNlIDYsIDIwMjYtMDUtMjEpLgogICAg +ICAgIHZhciBrcml0aXNjaCA9IChpc3QgPT09IDApID8gJyBiay1kZXRhaWwtc2NoaWNodC1rcml0 +aXNjaCcgOiAnJzsKICAgICAgICB2YXIgaHRtbCA9ICc8ZGl2IGNsYXNzPSJiay1kZXRhaWwtc2No +aWNodCBiay1kZXRhaWwtc2NoaWNodC0nICsgc3QgKyBrcml0aXNjaCArICciIGRhdGEtc2NoaWNo +dC1sZXR0ZXI9IicgKyBsZXR0ZXIgKyAnIj4nICsKICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJr +LWRldGFpbC1zY2hpY2h0LWtvcGYiPicgKwogICAgICAgICAgICAgICAgJzxzdHJvbmc+JyArIG5h +bWUgKyAnc2NoaWNodDwvc3Ryb25nPicgKwogICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJi +ay1kZXRhaWwtc2NoaWNodC16YWhsIj4nICsgaXN0ICsgJyBGw7xocnVuZ3NrcsOkZnRlPC9zcGFu +PicgKwogICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJiay1iZWdyLXBpbGwgYmstYmVnci1w +aWxsLScgKyBzdCArICciPicgKyAoaXN0ID09PSAwID8gJ3VuYmVzZXR6dCAoMCknIDogc3RhdHVz +TGFiZWwoc3QpKSArICc8L3NwYW4+JyArCiAgICAgICAgICAgICc8L2Rpdj4nOwogICAgICAgIGlm +IChma0xpc3RlLmxlbmd0aCA9PT0gMCkgewogICAgICAgICAgICBodG1sICs9ICc8ZGl2IGNsYXNz +PSJiay1kZXRhaWwtbGVlciI+4oCUIG5pZW1hbmQgZWluZ2VwbGFudCDigJQ8L2Rpdj4nOwogICAg +ICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGh0bWwgKz0gJzx1bCBjbGFzcz0iYmstZGV0YWlsLWZr +LWxpc3RlIj4nOwogICAgICAgICAgICBma0xpc3RlLmZvckVhY2goZnVuY3Rpb24ocCkgewogICAg +ICAgICAgICAgICAgdmFyIGUyID0gKFoucGxhbnVuZy5laW50cmFlZ2UgfHwge30pW2RhdHVtXSB8 +fCB7fTsKICAgICAgICAgICAgICAgIHZhciBjb2RlID0gZTJbU3RyaW5nKHAuaWQpXSB8fCAnJzsK +ICAgICAgICAgICAgICAgIHZhciBubSA9ICgocC52b3JuYW1lIHx8ICcnKSArICcgJyArIChwLm5h +bWUgfHwgJycpKS50cmltKCkgfHwgKCdQZXJzb24gJyArIHAuaWQpOwogICAgICAgICAgICAgICAg +dmFyIGZrdCA9IHAuZnVua3Rpb24gPyAoJyDCtyAnICsgZXNjYXBlSFRNTChwLmZ1bmt0aW9uKSkg +OiAnJzsKICAgICAgICAgICAgICAgIHZhciBncnAgPSBwLmdydXBwZSA/ICgnIMK3ICcgKyBlc2Nh +cGVIVE1MKHAuZ3J1cHBlKSkgOiAnJzsKICAgICAgICAgICAgICAgIGh0bWwgKz0gJzxsaT48c3Bh +biBjbGFzcz0iYmstZGV0YWlsLWZrLW5hbWUiPicgKyBlc2NhcGVIVE1MKG5tKSArICc8L3NwYW4+ +JyArCiAgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0iYmstZGV0YWlsLWZrLW1l +dGEiPicgKyBlc2NhcGVIVE1MKGNvZGUpICsgZmt0ICsgZ3JwICsgJzwvc3Bhbj48L2xpPic7CiAg +ICAgICAgICAgIH0pOwogICAgICAgICAgICBodG1sICs9ICc8L3VsPic7CiAgICAgICAgfQogICAg +ICAgIC8vIFNjaGljaHQtS2FuZGlkYXRlbi1CbG9jayAoUGhhc2UgNiwgMjAyNi0wNS0yMSk6IGJl +aSA8IDIgUGVyc29uZW4gcHJvCiAgICAgICAgLy8gU2NoaWNodCBlcnNjaGVpbnQgaGllciBlaW4g +QnV0dG9uLCBkZXIgZGllIGluIEZyYWdlIGtvbW1lbmRlbgogICAgICAgIC8vIEF1c2hpbGZlbiBh +dWZrbGFwcHQgKERHTC1xdWFsaWZpemllcnQsIGZyZWkgYW0gVGFnLCBnbGVpY2hlCiAgICAgICAg +Ly8gRGllbnN0Z3J1cHBlLCBrZWluZSBHZXNhbXR2ZXJhbnR3b3J0bGljaGVuKS4gSW5saW5lIHN0 +YXR0IFN1Yi1Nb2RhbCwKICAgICAgICAvLyBkYW1pdCBkYXMgVGFnLURldGFpbC1Nb2RhbCBuaWNo +dCB1ZWJlcmxhZ2VydCB3aXJkLgogICAgICAgIGlmIChpc3QgPCAyKSB7CiAgICAgICAgICAgIGh0 +bWwgKz0gJzxkaXYgY2xhc3M9ImJrLXNjaGljaHQta2FuZGlkYXRlbiIgZGF0YS1zY2hpY2h0LWxl +dHRlcj0iJyArIGxldHRlciArICciPicgKwogICAgICAgICAgICAgICAgJzxidXR0b24gdHlwZT0i +YnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWsgYnRuLWtsZWluIGJrLWthbmRpZGF0ZW4tdG9nZ2xl +IiBkYXRhLXNjaGljaHQtbGV0dGVyPSInICsgbGV0dGVyICsgJyIgYXJpYS1leHBhbmRlZD0iZmFs +c2UiPicgKwogICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0iYmsta2FuZC1sYWJlbCI+ +S2FuZGlkYXRlbiBhbnNjaHJlaWJlbjwvc3Bhbj4nICsKICAgICAgICAgICAgICAgICAgICAnPHNw +YW4gY2xhc3M9ImJrLWthbmQtcGZlaWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj7ilr48L3NwYW4+JyAr +CiAgICAgICAgICAgICAgICAnPC9idXR0b24+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFz +cz0iYmsta2FuZGlkYXRlbi1wYW5lbCB2ZXJzdGVja3QiIGRhdGEtc2NoaWNodC1sZXR0ZXI9Iicg +KyBsZXR0ZXIgKyAnIj48L2Rpdj4nICsKICAgICAgICAgICAgJzwvZGl2Pic7CiAgICAgICAgfQog +ICAgICAgIGh0bWwgKz0gJzwvZGl2Pic7CiAgICAgICAgcmV0dXJuIGh0bWw7CiAgICB9CgogICAg +dmFyIGtvZXJwZXIgPSAnPGRpdiBjbGFzcz0iYmstZGV0YWlsLWtvcGYgYmstZGV0YWlsLWtvcGYt +JyArIHRhZ1N0ICsgJyI+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9ImJrLWRldGFpbC10aXRlbCI+ +JyArIGVzY2FwZUhUTUwoZGF0dW1Gb3JtYXRERShkYXR1bSkpICsgJyDCtyAnICsgZXNjYXBlSFRN +TCh3dCkgKyAnPC9kaXY+JyArCiAgICAgICAgJzxzcGFuIGNsYXNzPSJiay1iZWdyLXBpbGwgYmst +YmVnci1waWxsLScgKyB0YWdTdCArICciPlN0YXR1czogJyArIHN0YXR1c0xhYmVsKHRhZ1N0KSAr +ICc8L3NwYW4+JyArCiAgICAgICAgJzwvZGl2Pic7CiAgICBrb2VycGVyICs9ICc8ZGl2IGNsYXNz +PSJiay1kZXRhaWwtc2NoaWNodGVuIj4nOwogICAga29lcnBlciArPSBzY2hpY2h0QmxvY2soJ0Yn +LCAnRnLDvGgnKTsKICAgIGtvZXJwZXIgKz0gc2NoaWNodEJsb2NrKCdTJywgJ1Nww6R0Jyk7CiAg +ICBrb2VycGVyICs9IHNjaGljaHRCbG9jaygnTicsICdOYWNodCcpOwogICAga29lcnBlciArPSAn +PC9kaXY+JzsKCiAgICBpZiAodGFnU3QgPT09ICdyb3QnKSB7CiAgICAgICAgLy8gV2VsY2hlIFNj +aGljaHQgaXN0IGFtIHVudGVyc3Rlbj8gRGllc2UgbmVobWVuIHdpciBhbHMgRGVmaXppdC0KICAg +ICAgICAvLyBTY2hpY2h0IGZ1ZXIgZGllIFNhbW1lbC1NYWlsLiBXZW5uIG1laHJlcmUgZ2xlaWNo +IHNjaGxlY2h0IHNpbmQsCiAgICAgICAgLy8gZ2V3aW5udCBkaWUgZnJ1ZWhlcmUgU2NoaWNodCAo +RiB2b3IgUyB2b3IgTikuCiAgICAgICAgdmFyIGRlZml6aXRTY2hpY2h0ID0gKGYgPD0gcyAmJiBm +IDw9IG4pID8gJ0YnIDogKHMgPD0gbikgPyAnUycgOiAnTic7CiAgICAgICAgdmFyIGRlZml6aXRT +Y2hpY2h0TmFtZSA9IHsgRjogJ0Zyw7xoJywgUzogJ1Nww6R0JywgTjogJ05hY2h0JyB9W2RlZml6 +aXRTY2hpY2h0XTsKICAgICAgICB2YXIgdmVyZlBlcnNvbmVuID0gdmVyZnVlZ2JhcmVQZXJzb25l +bkZ1ZXIoZGF0dW0pOwoKICAgICAgICBrb2VycGVyICs9ICc8ZGl2IGNsYXNzPSJiay1kZXRhaWwt +YXVzaGlsZmUiPicgKwogICAgICAgICAgICAnPGRpdiBjbGFzcz0iYmstZGV0YWlsLWF1c2hpbGZl +LWtvcGYiPicgKwogICAgICAgICAgICAgICAgJzxzdHJvbmc+UG90ZW50aWVsbCB2ZXJmw7xnYmFy +PC9zdHJvbmc+IGbDvHIgJyArIGRlZml6aXRTY2hpY2h0TmFtZSArICdzY2hpY2h0IOKAlCAnICsK +ICAgICAgICAgICAgICAgICdQZXJzb25lbiBtaXQgPGNvZGU+ZGZyPC9jb2RlPiBvZGVyIDxjb2Rl +PndmcjwvY29kZT4gYW0gJyArIGVzY2FwZUhUTUwoZGF0dW1Gb3JtYXRERShkYXR1bSkpICsKICAg +ICAgICAgICAgJzwvZGl2Pic7CiAgICAgICAgaWYgKHZlcmZQZXJzb25lbi5sZW5ndGggPT09IDAp +IHsKICAgICAgICAgICAga29lcnBlciArPSAnPGRpdiBjbGFzcz0iYmstZGV0YWlsLWxlZXIiPk5p +ZW1hbmQgaGF0IGFuIGRpZXNlbSBUYWcgPGNvZGU+ZGZyPC9jb2RlPiBvZGVyIDxjb2RlPndmcjwv +Y29kZT4gZWluZ2V0cmFnZW4uPC9kaXY+JzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBr +b2VycGVyICs9ICc8ZGl2IGNsYXNzPSJiay1kZXRhaWwtYXVzaGlsZmUtdG9vbGJhciI+JyArCiAg +ICAgICAgICAgICAgICAnPGxhYmVsIGNsYXNzPSJiay1kZXRhaWwtYWxsZSI+PGlucHV0IHR5cGU9 +ImNoZWNrYm94IiBpZD0iYmstYXVzaGlsZmUtYWxsZSIgY2hlY2tlZD4gQWxsZSBtYXJraWVyZW48 +L2xhYmVsPicgKwogICAgICAgICAgICAgICAgJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0i +YnRuIGJ0bi1wcmltYWVyIGJ0bi1rbGVpbiIgaWQ9ImJrLWF1c2hpbGZlLW1haWwiIGRhdGEtZGVm +aXppdD0iJyArIGRlZml6aXRTY2hpY2h0ICsgJyI+JyArCiAgICAgICAgICAgICAgICAgICAgJ01h +aWwgYW4gbWFya2llcnRlIFBlcnNvbmVuIHZvcmJlcmVpdGVuJyArCiAgICAgICAgICAgICAgICAn +PC9idXR0b24+JyArCiAgICAgICAgICAgICc8L2Rpdj4nOwogICAgICAgICAgICBrb2VycGVyICs9 +IGF1c2hpbGZlTGlzdGVIdG1sKHZlcmZQZXJzb25lbiwgZGF0dW0sIGRlZml6aXRTY2hpY2h0KTsK +ICAgICAgICB9CiAgICAgICAga29lcnBlciArPSAnPC9kaXY+JzsKICAgIH0KCiAgICB2YXIgZnVz +cyA9ICc8YnV0dG9uIGNsYXNzPSJidG4iIGlkPSJkbGctYWJicmVjaGVuIiB0eXBlPSJidXR0b24i +PlNjaGxpZcOfZW48L2J1dHRvbj4nICsKICAgICAgICAgICAgICAgJzxidXR0b24gY2xhc3M9ImJ0 +biBidG4tcHJpbWFlciIgaWQ9ImRsZy1zcHJpbmciIHR5cGU9ImJ1dHRvbiI+4oaSIEltIFBsYW4g +enVtIFRhZyBzcHJpbmdlbjwvYnV0dG9uPic7CiAgICBtb2RhbFplaWdlbignVGFnLURldGFpbDog +JyArIGRhdHVtRm9ybWF0REUoZGF0dW0pLCBrb2VycGVyLCBmdXNzLCBudWxsKTsKICAgIC8vIFRh +Zy1EZXRhaWwgYnJhdWNodCBtZWhyIFBsYXR6IGFscyBkYXMgU3RhbmRhcmQtNjIwcHgtTW9kYWw6 +IGRyZWkKICAgIC8vIFNjaGljaHQtU3BhbHRlbiArIGdnZi4gYXVmZ2VrbGFwcHRlcyBLYW5kaWRh +dGVuLVBhbmVsIGplIFNjaGljaHQKICAgIC8vIGVyemV1Z2VuIHNvbnN0IGhvcml6b250YWxlIFNj +cm9sbGJhbGtlbiAoSXNzdWUgVVggMjAyNi0wNS0yNCkuCiAgICB2YXIgX21JbmhhbHQgPSBkb2N1 +bWVudC5xdWVyeVNlbGVjdG9yKCcjbW9kYWwtb3ZlcmxheSAubW9kYWwtaW5oYWx0Jyk7CiAgICBp +ZiAoX21JbmhhbHQpIF9tSW5oYWx0LmNsYXNzTGlzdC5hZGQoJ21vZGFsLWluaGFsdC1ncm9zcycp +OwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RsZy1hYmJyZWNoZW4nKS5hZGRFdmVudExp +c3RlbmVyKCdjbGljaycsIG1vZGFsU2NobGllc3Nlbik7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50 +QnlJZCgnZGxnLXNwcmluZycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7 +CiAgICAgICAgbW9kYWxTY2hsaWVzc2VuKCk7CiAgICAgICAgYW5zaWNodFdlY2hzZWxuKCdwbGFu +dW5nJyk7CiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgenVEYXR1bVNjcm9sbGVuKGRh +dHVtKTsgfSwgNTApOwogICAgfSk7CgogICAgLy8gUGhhc2UgNiAoMjAyNi0wNS0yMSk6IFBybyB1 +bnRlcmJlc2V0enRlciBTY2hpY2h0IChpc3Q8MikgZ2lidCBlcyBlaW5lbgogICAgLy8gIkthbmRp +ZGF0ZW4gYW5zY2hyZWliZW4iLUJ1dHRvbiBpbSBTY2hpY2h0LUJsb2NrLiBLbGljayBrbGFwcHQg +ZWluZQogICAgLy8gTGlzdGUgREdMLXF1YWxpZml6aWVydGVyIFBlcnNvbmVuIGF1ZiAoZ2xlaWNo +ZSBEaWVuc3RncnVwcGUsIGZyZWkgYW0KICAgIC8vIFRhZywga2VpbmUgR2VzYW10dmVyYW50d29y +dGxpY2hlbikuICJBbnNjaHJlaWJlbiIgc3RhcnRldCBkaWUgTWFpbC0KICAgIC8vIFZvcmJlcmVp +dHVuZyBtaXQgZGVuIGF1c2dld2FlaGx0ZW4gUGVyc29uZW4uCiAgICAvLwogICAgLy8gQXVkaXQt +UGhhc2UgQi4zICgyMDI2LTA1LTIxKTogS2FuZGlkYXRlbiBwcm8gU2NoaWNodCBlaW5tYWwgaW0g +Q2xvc3VyZQogICAgLy8gY2FjaGVuLCBkYW1pdCBBdWYtL1p1a2xhcHBlbiBpbnN0YW50IGlzdCB1 +bmQgbmljaHQgamVkZXMgTWFsIGFsbGUKICAgIC8vIFBlcnNvbmVuIGl0ZXJpZXJ0IHdlcmRlbi4K +ICAgIHZhciBrYW5kaWRhdGVuQ2FjaGUgPSB7fTsKICAgIGZ1bmN0aW9uIGthbmRpZGF0ZW5GdWVy +KGxldHRlcikgewogICAgICAgIGlmICgha2FuZGlkYXRlbkNhY2hlW2xldHRlcl0pIHsKICAgICAg +ICAgICAgdmFyIGdydXBwZSA9IGRpZW5zdGdydXBwZUZ1ZXJTY2hpY2h0KGRhdHVtLCBsZXR0ZXIp +OwogICAgICAgICAgICBrYW5kaWRhdGVuQ2FjaGVbbGV0dGVyXSA9IHsKICAgICAgICAgICAgICAg +IGdydXBwZTogZ3J1cHBlLAogICAgICAgICAgICAgICAgbGlzdGU6ICBiZXNldHp1bmdzS2FuZGlk +YXRlbkVybWl0dGVsbihkYXR1bSwgbGV0dGVyLCBncnVwcGUpCiAgICAgICAgICAgIH07CiAgICAg +ICAgfQogICAgICAgIHJldHVybiBrYW5kaWRhdGVuQ2FjaGVbbGV0dGVyXTsKICAgIH0KICAgIHZh +ciBtb2RhbEtvZXJwZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9kYWwta29lcnBlcicp +OwogICAgaWYgKG1vZGFsS29lcnBlcikgewogICAgICAgIG1vZGFsS29lcnBlci5hZGRFdmVudExp +c3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGV2KSB7CiAgICAgICAgICAgIHZhciB0b2dnbGUgPSBl +di50YXJnZXQuY2xvc2VzdCgnLmJrLWthbmRpZGF0ZW4tdG9nZ2xlJyk7CiAgICAgICAgICAgIGlm +ICh0b2dnbGUpIHsKICAgICAgICAgICAgICAgIHZhciBsZXR0ZXIgPSB0b2dnbGUuZ2V0QXR0cmli +dXRlKCdkYXRhLXNjaGljaHQtbGV0dGVyJyk7CiAgICAgICAgICAgICAgICB2YXIgcGFuZWwgID0g +bW9kYWxLb2VycGVyLnF1ZXJ5U2VsZWN0b3IoJy5iay1rYW5kaWRhdGVuLXBhbmVsW2RhdGEtc2No +aWNodC1sZXR0ZXI9IicgKyBsZXR0ZXIgKyAnIl0nKTsKICAgICAgICAgICAgICAgIGlmICghcGFu +ZWwpIHJldHVybjsKICAgICAgICAgICAgICAgIHZhciBsYWJlbEVsID0gdG9nZ2xlLnF1ZXJ5U2Vs +ZWN0b3IoJy5iay1rYW5kLWxhYmVsJyk7CiAgICAgICAgICAgICAgICB2YXIgcGZlaWxFbCA9IHRv +Z2dsZS5xdWVyeVNlbGVjdG9yKCcuYmsta2FuZC1wZmVpbCcpOwogICAgICAgICAgICAgICAgaWYg +KHBhbmVsLmNsYXNzTGlzdC5jb250YWlucygndmVyc3RlY2t0JykpIHsKICAgICAgICAgICAgICAg +ICAgICB2YXIgY2FjaGVkID0ga2FuZGlkYXRlbkZ1ZXIobGV0dGVyKTsKICAgICAgICAgICAgICAg +ICAgICBwYW5lbC5pbm5lckhUTUwgPSBrYW5kaWRhdGVuUGFuZWxIdG1sKGNhY2hlZC5saXN0ZSwg +ZGF0dW0sIGxldHRlciwgY2FjaGVkLmdydXBwZSk7CiAgICAgICAgICAgICAgICAgICAgcGFuZWwu +Y2xhc3NMaXN0LnJlbW92ZSgndmVyc3RlY2t0Jyk7CiAgICAgICAgICAgICAgICAgICAgdG9nZ2xl +LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICd0cnVlJyk7CiAgICAgICAgICAgICAgICAg +ICAgdG9nZ2xlLmNsYXNzTGlzdC5hZGQoJ2JrLWthbmRpZGF0ZW4tdG9nZ2xlLW9mZmVuJyk7CiAg +ICAgICAgICAgICAgICAgICAgaWYgKGxhYmVsRWwpIGxhYmVsRWwudGV4dENvbnRlbnQgPSAnS2Fu +ZGlkYXRlbiBhdXNibGVuZGVuJzsKICAgICAgICAgICAgICAgICAgICBpZiAocGZlaWxFbCkgcGZl +aWxFbC50ZXh0Q29udGVudCA9ICfilrQnOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAg +ICAgICAgICAgICAgICBwYW5lbC5jbGFzc0xpc3QuYWRkKCd2ZXJzdGVja3QnKTsKICAgICAgICAg +ICAgICAgICAgICBwYW5lbC5pbm5lckhUTUwgPSAnJzsKICAgICAgICAgICAgICAgICAgICB0b2dn +bGUuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7CiAgICAgICAgICAgICAg +ICAgICAgdG9nZ2xlLmNsYXNzTGlzdC5yZW1vdmUoJ2JrLWthbmRpZGF0ZW4tdG9nZ2xlLW9mZmVu +Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYgKGxhYmVsRWwpIGxhYmVsRWwudGV4dENvbnRlbnQg +PSAnS2FuZGlkYXRlbiBhbnNjaHJlaWJlbic7CiAgICAgICAgICAgICAgICAgICAgaWYgKHBmZWls +RWwpIHBmZWlsRWwudGV4dENvbnRlbnQgPSAn4pa+JzsKICAgICAgICAgICAgICAgIH0KICAgICAg +ICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgc2VuZEJ0biA9 +IGV2LnRhcmdldC5jbG9zZXN0KCcuYmsta2FuZGlkYXRlbi1zZW5kZW4nKTsKICAgICAgICAgICAg +aWYgKHNlbmRCdG4pIHsKICAgICAgICAgICAgICAgIHZhciBzbCA9IHNlbmRCdG4uZ2V0QXR0cmli +dXRlKCdkYXRhLXNjaGljaHQtbGV0dGVyJyk7CiAgICAgICAgICAgICAgICB2YXIgcDIgPSBtb2Rh +bEtvZXJwZXIucXVlcnlTZWxlY3RvcignLmJrLWthbmRpZGF0ZW4tcGFuZWxbZGF0YS1zY2hpY2h0 +LWxldHRlcj0iJyArIHNsICsgJyJdJyk7CiAgICAgICAgICAgICAgICBpZiAoIXAyKSByZXR1cm47 +CiAgICAgICAgICAgICAgICB2YXIgYXVzZ2V3YWVobHQgPSBbXTsKICAgICAgICAgICAgICAgIHAy +LnF1ZXJ5U2VsZWN0b3JBbGwoJy5iay1rYW5kaWRhdGVuLWNoaycpLmZvckVhY2goZnVuY3Rpb24o +YykgewogICAgICAgICAgICAgICAgICAgIGlmICghYy5jaGVja2VkKSByZXR1cm47CiAgICAgICAg +ICAgICAgICAgICAgYXVzZ2V3YWVobHQucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgICAgIGlk +OiAgICAgIGMuZ2V0QXR0cmlidXRlKCdkYXRhLXBpZCcpLAogICAgICAgICAgICAgICAgICAgICAg +ICBlbWFpbDogICBjLmdldEF0dHJpYnV0ZSgnZGF0YS1lbWFpbCcpLAogICAgICAgICAgICAgICAg +ICAgICAgICBuYW1lOiAgICBjLmdldEF0dHJpYnV0ZSgnZGF0YS1uYW1lJyksCiAgICAgICAgICAg +ICAgICAgICAgICAgIHZvcm5hbWU6IGMuZ2V0QXR0cmlidXRlKCdkYXRhLXZvcm5hbWUnKSwKICAg +ICAgICAgICAgICAgICAgICAgICAgdW1kaXM6ICAgYy5nZXRBdHRyaWJ1dGUoJ2RhdGEtdW1kaXMn +KSA9PT0gJzEnCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9KTsKICAg +ICAgICAgICAgICAgIGlmICghYXVzZ2V3YWVobHQubGVuZ3RoKSB7IHRvYXN0KCdLZWluZSBQZXJz +b24gbWFya2llcnQnLCAnd2FybnVuZycpOyByZXR1cm47IH0KICAgICAgICAgICAgICAgIHNhbW1l +bEFuZnJhZ2VNYWlsT2VmZm5lbihhdXNnZXdhZWhsdCwgZGF0dW0sIHNsKTsKICAgICAgICAgICAg +ICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQoKICAgIC8vIFNhbW1l +bC1NYWlsIGF1cyBkZW0gQXVzaGlsZmUtQmxvY2s6IE1laHJmYWNoLUF1c3dhaGwgcGVyIENoZWNr +Ym94ICsKICAgIC8vIGVpbiAiQWxsZSBtYXJraWVyZW4iLVRvZ2dsZSArIE1haWwtQnV0dG9uLiBF +aW56ZWwtS2xpY2sgYXVmIGVpbmUKICAgIC8vIFplaWxlIHNldHp0IG51ciBkaWUgQ2hlY2tib3gg +ZGllc2VyIFBlcnNvbiAoYWxsZSBhbmRlcmVuIGF1cykgdW5kCiAgICAvLyBvZWZmbmV0IHNvZm9y +dCBkaWUgTWFpbCDigJQgZGFzIGlzdCBkZXIgc2NobmVsbGUgV2VnIGZ1ZXIgIm51ciBkaWVzZQog +ICAgLy8gZWluZSBQZXJzb24gYW5zY2hyZWliZW4iLgogICAgdmFyIGF1c2hpbGZlRWwgPSBkb2N1 +bWVudC5xdWVyeVNlbGVjdG9yKCcuYmstZGV0YWlsLWF1c2hpbGZlJyk7CiAgICBpZiAoYXVzaGls +ZmVFbCkgewogICAgICAgIHZhciBhbGxlQ2hrID0gYXVzaGlsZmVFbC5xdWVyeVNlbGVjdG9yKCcj +YmstYXVzaGlsZmUtYWxsZScpOwogICAgICAgIHZhciBtYWlsQnRuID0gYXVzaGlsZmVFbC5xdWVy +eVNlbGVjdG9yKCcjYmstYXVzaGlsZmUtbWFpbCcpOwogICAgICAgIGZ1bmN0aW9uIGdldFplaWxl +bigpIHsgcmV0dXJuIGF1c2hpbGZlRWwucXVlcnlTZWxlY3RvckFsbCgnLmJrLWRldGFpbC1hdXNo +aWxmZS16ZWlsZScpOyB9CiAgICAgICAgZnVuY3Rpb24gZ2V0Q2hlY2tib3hlbigpIHsgcmV0dXJu +IGF1c2hpbGZlRWwucXVlcnlTZWxlY3RvckFsbCgnLmJrLWF1c2hpbGZlLWNoazpub3QoOmRpc2Fi +bGVkKScpOyB9CiAgICAgICAgaWYgKGFsbGVDaGspIHsKICAgICAgICAgICAgYWxsZUNoay5hZGRF +dmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGdldENo +ZWNrYm94ZW4oKS5mb3JFYWNoKGZ1bmN0aW9uKGMpIHsgYy5jaGVja2VkID0gYWxsZUNoay5jaGVj +a2VkOyB9KTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIC8vIEtsaWNrIGF1ZiBk +ZW4gcGVyc29lbmxpY2hlbiBCcmllZi1CdXR0b24gZWluZXIgWmVpbGU6IG51ciBkaWVzZQogICAg +ICAgIC8vIFBlcnNvbiBtYXJraWVyZW4sIGFsbGUgYW5kZXJlbiBkZW1hcmtpZXJlbiwgTWFpbCB2 +b3JiZXJlaXRlbi4KICAgICAgICBhdXNoaWxmZUVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywg +ZnVuY3Rpb24oZXYpIHsKICAgICAgICAgICAgdmFyIGJ0biA9IGV2LnRhcmdldC5jbG9zZXN0KCdb +ZGF0YS1ha3Rpb249ImJrLW1haWwtemVpbGUiXScpOwogICAgICAgICAgICBpZiAoIWJ0bikgcmV0 +dXJuOwogICAgICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2YXIgcGlk +ID0gYnRuLmdldEF0dHJpYnV0ZSgnZGF0YS1waWQnKTsKICAgICAgICAgICAgZ2V0Q2hlY2tib3hl +bigpLmZvckVhY2goZnVuY3Rpb24oYykgeyBjLmNoZWNrZWQgPSBjLmdldEF0dHJpYnV0ZSgnZGF0 +YS1waWQnKSA9PT0gcGlkOyB9KTsKICAgICAgICAgICAgaWYgKGFsbGVDaGspIGFsbGVDaGsuY2hl +Y2tlZCA9IGZhbHNlOwogICAgICAgICAgICBzYW1tZWxNYWlsVm9yYmVyZWl0ZW4oKTsKICAgICAg +ICB9KTsKICAgICAgICBpZiAobWFpbEJ0bikgbWFpbEJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGlj +aycsIHNhbW1lbE1haWxWb3JiZXJlaXRlbik7CiAgICAgICAgZnVuY3Rpb24gc2FtbWVsTWFpbFZv +cmJlcmVpdGVuKCkgewogICAgICAgICAgICB2YXIgYXVzZ2V3YWVobHQgPSBbXTsKICAgICAgICAg +ICAgZ2V0Q2hlY2tib3hlbigpLmZvckVhY2goZnVuY3Rpb24oYykgewogICAgICAgICAgICAgICAg +aWYgKCFjLmNoZWNrZWQpIHJldHVybjsKICAgICAgICAgICAgICAgIGF1c2dld2FlaGx0LnB1c2go +ewogICAgICAgICAgICAgICAgICAgIGlkOiBjLmdldEF0dHJpYnV0ZSgnZGF0YS1waWQnKSwKICAg +ICAgICAgICAgICAgICAgICBlbWFpbDogYy5nZXRBdHRyaWJ1dGUoJ2RhdGEtZW1haWwnKSwKICAg +ICAgICAgICAgICAgICAgICBuYW1lOiBjLmdldEF0dHJpYnV0ZSgnZGF0YS1uYW1lJyksCiAgICAg +ICAgICAgICAgICAgICAgdm9ybmFtZTogYy5nZXRBdHRyaWJ1dGUoJ2RhdGEtdm9ybmFtZScpCiAg +ICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGlmICghYXVzZ2V3 +YWVobHQubGVuZ3RoKSB7IHRvYXN0KCdLZWluZSBQZXJzb24gbWFya2llcnQnLCAnd2FybnVuZycp +OyByZXR1cm47IH0KICAgICAgICAgICAgdmFyIGRlZml6aXQgPSBtYWlsQnRuID8gbWFpbEJ0bi5n +ZXRBdHRyaWJ1dGUoJ2RhdGEtZGVmaXppdCcpIDogJ0YnOwogICAgICAgICAgICBzYW1tZWxBbmZy +YWdlTWFpbE9lZmZuZW4oYXVzZ2V3YWVobHQsIGRhdHVtLCBkZWZpeml0KTsKICAgICAgICB9CiAg +ICB9Cn0KCi8vIFJlbmRlcnQgZGFzIEthbmRpZGF0ZW4tUGFuZWwgcHJvIHVudGVyYmVzZXR6dGUg +U2NoaWNodCBpbSBUYWctRGV0YWlsLgovLyBMaXN0ZSBkZXIgREdMLXF1YWxpZml6aWVydGVuIFBl +cnNvbmVuIG1pdCBDaGVja2JveGVuICsgQW5zY2hyZWliZW4tQnV0dG9uLgovLyBXZW5uIGRpZSBM +aXN0ZSBsZWVyIGlzdCwgd2lyZCBlaW4gSGlud2Vpcy1UZXh0IGFuZ2V6ZWlndC4KZnVuY3Rpb24g +a2FuZGlkYXRlblplaWxlSHRtbChwLCBjb2RlLCB1bWRpc3BvbmllcmJhcikgewogICAgdmFyIGhh +dE1haWwgPSAhIXAuZW1haWw7CiAgICB2YXIgZGlzID0gaGF0TWFpbCA/ICcnIDogJyBkaXNhYmxl +ZCB0aXRsZT0iS2VpbmUgRS1NYWlsLUFkcmVzc2UgaGludGVybGVndCInOwogICAgdmFyIGNscyA9 +ICdiay1rYW5kaWRhdGVuLXplaWxlJyArIChoYXRNYWlsID8gJycgOiAnIGJrLWthbmRpZGF0ZW4t +a2Vpbi1tYWlsJykgKwogICAgICAgICAgICAgICh1bWRpc3BvbmllcmJhciA/ICcgYmsta2FuZGlk +YXRlbi16ZWlsZS11bWRpcycgOiAnJyk7CiAgICB2YXIgZnVsbE5hbWUgPSAoKHAudm9ybmFtZSB8 +fCAnJykgKyAnICcgKyAocC5uYW1lIHx8ICcnKSkudHJpbSgpOwogICAgdmFyIG1ldGFQYXJ0cyA9 +IFtdOwogICAgaWYgKHAuZnVua3Rpb24pIG1ldGFQYXJ0cy5wdXNoKGVzY2FwZUhUTUwocC5mdW5r +dGlvbikpOwogICAgaWYgKHAuZ3J1cHBlKSAgIG1ldGFQYXJ0cy5wdXNoKCdHcnVwcGUgJyArIGVz +Y2FwZUhUTUwocC5ncnVwcGUpKTsKICAgIHZhciBtZXRhSHRtbCA9IG1ldGFQYXJ0cy5qb2luKCcg +wrcgJyk7CiAgICAvLyBDb2RlLUJhZGdlIG51ciBmdWVyIFVtZGlzLUJsb2NrIHNpbm52b2xsICh6 +ZWlndCBiaXNoZXJpZ2UgV0RGL0ZCUC0KICAgIC8vIEZ1bmt0aW9uIGFuLCBkaWUgZHVyY2ggZGll +IFVtc2V0enVuZyBuZXUgenUgYmVzZXR6ZW4gd2FlcmUpLiBCZWkKICAgIC8vIGZyZWllbiBQZXJz +b25lbiBpc3QgZGVyIENvZGUgaW1tZXIgbGVlciDigJQgZGllIFNwYWx0ZSBoYXQgZGFubiBudXIK +ICAgIC8vIGVpbiAi4oCUIiBnZXplaWd0IHVuZCBkYXMgTGF5b3V0IGdlc3ByZW5ndC4KICAgIHZh +ciBjb2RlQmFkZ2UgPSAodW1kaXNwb25pZXJiYXIgJiYgY29kZSAmJiBjb2RlICE9PSAnJykKICAg +ICAgICA/ICc8c3BhbiBjbGFzcz0iYmsta2FuZGlkYXRlbi1jb2RlIiB0aXRsZT0iQWt0dWVsbCBl +aW5nZXBsYW50ZSBGdW5rdGlvbiDigJQgbXVzcyBiZWkgVW1zZXR6dW5nIG5ldSBiZXNldHp0IHdl +cmRlbiI+JyArIGVzY2FwZUhUTUwoY29kZSkgKyAnPC9zcGFuPicKICAgICAgICA6ICcnOwogICAg +dmFyIGtlaW5NYWlsSGlud2VpcyA9IGhhdE1haWwKICAgICAgICA/ICcnCiAgICAgICAgOiAnPHNw +YW4gY2xhc3M9ImJrLWthbmRpZGF0ZW4td2FybiIgdGl0bGU9IktlaW5lIEUtTWFpbC1BZHJlc3Nl +IGhpbnRlcmxlZ3Qg4oCUIFBlcnNvbiBrYW5uIG5pY2h0IGFuZ2VzY2hyaWViZW4gd2VyZGVuIj7i +mqA8L3NwYW4+JzsKICAgIHJldHVybiAnPGxpIGNsYXNzPSInICsgY2xzICsgJyI+JyArCiAgICAg +ICAgJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9ImJrLWthbmRpZGF0ZW4tY2hrIicgKwog +ICAgICAgICAgICAnIGRhdGEtcGlkPSInICsgZXNjYXBlQXR0cihTdHJpbmcocC5pZCkpICsgJyIn +ICsKICAgICAgICAgICAgJyBkYXRhLWVtYWlsPSInICsgZXNjYXBlQXR0cihwLmVtYWlsIHx8ICcn +KSArICciJyArCiAgICAgICAgICAgICcgZGF0YS1uYW1lPSInICsgZXNjYXBlQXR0cihwLm5hbWUg +fHwgJycpICsgJyInICsKICAgICAgICAgICAgJyBkYXRhLXZvcm5hbWU9IicgKyBlc2NhcGVBdHRy +KHAudm9ybmFtZSB8fCAnJykgKyAnIicgKwogICAgICAgICAgICAnIGRhdGEtdW1kaXM9IicgKyAo +dW1kaXNwb25pZXJiYXIgPyAnMScgOiAnMCcpICsgJyInICsKICAgICAgICAgICAgKGhhdE1haWwg +PyAnIGNoZWNrZWQnIDogJycpICsgZGlzICsgJz4nICsKICAgICAgICAnPGRpdiBjbGFzcz0iYmst +a2FuZGlkYXRlbi10ZXh0Ij4nICsKICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJrLWthbmRpZGF0 +ZW4tbmFtZSI+JyArIGVzY2FwZUhUTUwoZnVsbE5hbWUpICsga2Vpbk1haWxIaW53ZWlzICsgJzwv +ZGl2PicgKwogICAgICAgICAgICAobWV0YUh0bWwgPyAnPGRpdiBjbGFzcz0iYmsta2FuZGlkYXRl +bi1tZXRhIj4nICsgbWV0YUh0bWwgKyAnPC9kaXY+JyA6ICcnKSArCiAgICAgICAgJzwvZGl2Picg +KwogICAgICAgIGNvZGVCYWRnZSArCiAgICAnPC9saT4nOwp9CgpmdW5jdGlvbiBrYW5kaWRhdGVu +UGFuZWxIdG1sKGthbmRpZGF0ZW4sIGRhdHVtLCBzY2hpY2h0TGV0dGVyLCBkaWVuc3RncnVwcGUp +IHsKICAgIHZhciBncnBJbmZvID0gZGllbnN0Z3J1cHBlID8gKCcgKERpZW5zdGdydXBwZSAnICsg +ZXNjYXBlSFRNTChkaWVuc3RncnVwcGUpICsgJyknKSA6ICcgKGFsbGUgRGllbnN0Z3J1cHBlbiDi +gJQgU2NoaWNodCBha3R1ZWxsIHVuYmVzZXR6dCknOwogICAgdmFyIGZyZWkgPSAoa2FuZGlkYXRl +biAmJiBrYW5kaWRhdGVuLmZyZWkpIHx8IFtdOwogICAgdmFyIHVtZGlzID0gKGthbmRpZGF0ZW4g +JiYga2FuZGlkYXRlbi51bWRpc3BvbmllcmJhcikgfHwgW107CiAgICBpZiAoZnJlaS5sZW5ndGgg +KyB1bWRpcy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gJzxkaXYgY2xhc3M9ImJrLWth +bmRpZGF0ZW4tbGVlciI+S2VpbmUgVkkzLURHTC1xdWFsaWZpemllcnRlbiBLYW5kaWRhdGVuIHZl +cmbDvGdiYXInICsgZ3JwSW5mbyArICcuPC9kaXY+JzsKICAgIH0KICAgIHZhciBodG1sID0gJyc7 +CiAgICBpZiAoZnJlaS5sZW5ndGgpIHsKICAgICAgICB2YXIgZnJlaVplaWxlbiA9IGZyZWkubWFw +KGZ1bmN0aW9uKHApIHsKICAgICAgICAgICAgdmFyIGUgPSAoWi5wbGFudW5nLmVpbnRyYWVnZSB8 +fCB7fSlbZGF0dW1dIHx8IHt9OwogICAgICAgICAgICB2YXIgdyA9IFN0cmluZyhlW1N0cmluZyhw +LmlkKV0gfHwgJycpOwogICAgICAgICAgICByZXR1cm4ga2FuZGlkYXRlblplaWxlSHRtbChwLCB3 +LCBmYWxzZSk7CiAgICAgICAgfSkuam9pbignJyk7CiAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFz +cz0iYmsta2FuZGlkYXRlbi1oaW53ZWlzIj5GcmVpIGFtIFRhZyDigJQgVkkzLURHTC1xdWFsaWZp +emllcnQnICsgZ3JwSW5mbyArICc6PC9kaXY+JyArCiAgICAgICAgICAgICAgICAnPHVsIGNsYXNz +PSJiay1rYW5kaWRhdGVuLWxpc3RlIj4nICsgZnJlaVplaWxlbiArICc8L3VsPic7CiAgICB9CiAg +ICBpZiAodW1kaXMubGVuZ3RoKSB7CiAgICAgICAgdmFyIHVtZGlzWmVpbGVuID0gdW1kaXMubWFw +KGZ1bmN0aW9uKHUpIHsKICAgICAgICAgICAgcmV0dXJuIGthbmRpZGF0ZW5aZWlsZUh0bWwodS5w +ZXJzb24sIHUub3JpZ2luYWxDb2RlLCB0cnVlKTsKICAgICAgICB9KS5qb2luKCcnKTsKICAgICAg +ICBodG1sICs9ICc8ZGl2IGNsYXNzPSJiay1rYW5kaWRhdGVuLWhpbndlaXMgYmsta2FuZGlkYXRl +bi1oaW53ZWlzLXVtZGlzIj4nICsKICAgICAgICAgICAgICAgICAgICAnQXVzIFdERi9GQlAgdW1k +aXNwb25pZXJiYXIg4oCUIFZJMy1ER0wtcXVhbGlmaXppZXJ0LCBha3R1ZWxsIGluIGRlcnNlbGJl +biBTY2hpY2h0IGVpbmdlcGxhbnQ6JyArCiAgICAgICAgICAgICAgICAnPC9kaXY+JyArCiAgICAg +ICAgICAgICAgICAnPGRpdiBjbGFzcz0iYmsta2FuZGlkYXRlbi13YXJudW5nIj4nICsKICAgICAg +ICAgICAgICAgICAgICAnV2VubiBlaW5lIGRpZXNlciBQZXJzb25lbiBkaWUgREdMLUZ1bmt0aW9u +IMO8YmVybmltbXQsIG11c3MgaWhyZSBiaXNoZXJpZ2UgRnVua3Rpb24gKFdERi9GQlApICcgKwog +ICAgICAgICAgICAgICAgICAgICdkdXJjaCBlaW5lIGFuZGVyZSBQZXJzb24gZXJzZXR6dCB3ZXJk +ZW4uIEZvbGdlLVBsYW51bmcgaW0gQXVnZSBiZWhhbHRlbi4nICsKICAgICAgICAgICAgICAgICc8 +L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8dWwgY2xhc3M9ImJrLWthbmRpZGF0ZW4tbGlzdGUi +PicgKyB1bWRpc1plaWxlbiArICc8L3VsPic7CiAgICB9CiAgICByZXR1cm4gaHRtbCArCiAgICAg +ICAgJzxkaXYgY2xhc3M9ImJrLWthbmRpZGF0ZW4tYWt0aW9uZW4iPicgKwogICAgICAgICAgICAn +PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hZXIgYnRuLWtsZWluIGJr +LWthbmRpZGF0ZW4tc2VuZGVuIiBkYXRhLXNjaGljaHQtbGV0dGVyPSInICsgc2NoaWNodExldHRl +ciArICciPicgKwogICAgICAgICAgICAgICAgJ01haWwgYW4gbWFya2llcnRlIEthbmRpZGF0ZW4n +ICsKICAgICAgICAgICAgJzwvYnV0dG9uPicgKwogICAgICAgICc8L2Rpdj4nOwp9CgpmdW5jdGlv +biBhdXNoaWxmZUxpc3RlSHRtbChwZXJzb25lbiwgZGF0dW0sIGRlZml6aXRTY2hpY2h0KSB7CiAg +ICB2YXIgaHRtbCA9ICc8dWwgY2xhc3M9ImJrLWRldGFpbC1hdXNoaWxmZS1saXN0ZSI+JzsKICAg +IHBlcnNvbmVuLmZvckVhY2goZnVuY3Rpb24ocCkgewogICAgICAgIHZhciBoYXRNYWlsID0gISFw +LmVtYWlsOwogICAgICAgIHZhciBwaWQgPSBTdHJpbmcocC5pZCk7CiAgICAgICAgdmFyIGRpcyA9 +IGhhdE1haWwgPyAnJyA6ICcgZGlzYWJsZWQgdGl0bGU9IktlaW5lIEUtTWFpbC1BZHJlc3NlIGhp +bnRlcmxlZ3QiJzsKICAgICAgICB2YXIgY2xzRXh0cmEgPSBoYXRNYWlsID8gJycgOiAnIGJrLWRl +dGFpbC1hdXNoaWxmZS1rZWluLW1haWwnOwogICAgICAgIGh0bWwgKz0gJzxsaSBjbGFzcz0iYmst +ZGV0YWlsLWF1c2hpbGZlLXplaWxlJyArIGNsc0V4dHJhICsgJyI+JyArCiAgICAgICAgICAgICc8 +aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJiay1hdXNoaWxmZS1jaGsiIGRhdGEtcGlkPSIn +ICsgZXNjYXBlQXR0cihwaWQpICsgJyInICsKICAgICAgICAgICAgICAgICcgZGF0YS1lbWFpbD0i +JyArIGVzY2FwZUF0dHIocC5lbWFpbCB8fCAnJykgKyAnIicgKwogICAgICAgICAgICAgICAgJyBk +YXRhLW5hbWU9IicgKyBlc2NhcGVBdHRyKHAubmFtZSkgKyAnIicgKwogICAgICAgICAgICAgICAg +JyBkYXRhLXZvcm5hbWU9IicgKyBlc2NhcGVBdHRyKHAudm9ybmFtZSkgKyAnIicgKwogICAgICAg +ICAgICAgICAgKGhhdE1haWwgPyAnIGNoZWNrZWQnIDogJycpICsgZGlzICsgJz4nICsKICAgICAg +ICAgICAgJzxzcGFuIGNsYXNzPSJiay1kZXRhaWwtYXVzaGlsZmUtbmFtZSI+JyArIGVzY2FwZUhU +TUwocC5uYW1lKSArICc8L3NwYW4+JyArCiAgICAgICAgICAgICc8c3BhbiBjbGFzcz0iYmstZGV0 +YWlsLWF1c2hpbGZlLWNvZGUiPicgKyBlc2NhcGVIVE1MKHAud2VydCkgKyAnPC9zcGFuPicgKwog +ICAgICAgICAgICAnPHNwYW4gY2xhc3M9ImJrLWRldGFpbC1hdXNoaWxmZS1ncnAiPicgKyBlc2Nh +cGVIVE1MKHAuZ3J1cHBlKSArICc8L3NwYW4+JyArCiAgICAgICAgICAgICc8c3BhbiBjbGFzcz0i +YmstZGV0YWlsLWF1c2hpbGZlLWtvbW0iPicgKyBlc2NhcGVIVE1MKHAua29tbWVudGFyKSArICc8 +L3NwYW4+JyArCiAgICAgICAgICAgIChoYXRNYWlsCiAgICAgICAgICAgICAgICA/ICc8YnV0dG9u +IHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tc2VrIGJ0bi1rbGVpbiBiay1kZXRhaWwtYXVz +aGlsZmUtbWFpbGJ0biIgZGF0YS1ha3Rpb249ImJrLW1haWwtemVpbGUiIGRhdGEtcGlkPSInICsg +ZXNjYXBlQXR0cihwaWQpICsgJyIgdGl0bGU9IlBlcnPDtm5saWNoZSBNYWlsIGFuICcgKyBlc2Nh +cGVBdHRyKHAubmFtZSkgKyAnICgnICsgZXNjYXBlQXR0cihwLmVtYWlsKSArICcpIj5QZXJzw7Zu +bGljaDwvYnV0dG9uPicKICAgICAgICAgICAgICAgIDogJzxzcGFuIGNsYXNzPSJiay1kZXRhaWwt +YXVzaGlsZmUta2Vpbm1haWwiPuKAlCBrZWluZSBFLU1haWwg4oCUPC9zcGFuPicpICsKICAgICAg +ICAgICAgJzwvbGk+JzsKICAgIH0pOwogICAgaHRtbCArPSAnPC91bD4nOwogICAgcmV0dXJuIGh0 +bWw7Cn0KCi8vIFNhbW1lbC1BbmZyYWdlLU1haWw6IFdlbm4gbnVyIGVpbmUgUGVyc29uIGF1c2dl +d2FlaGx0IGlzdCwgd2lyZCBkaWUKLy8gTWFpbCBtaXQgcGVyc29lbmxpY2hlciBBbnJlZGUgKFZv +cm5hbWUpIHVuZCBUbzogYW4gZGllc2UgUGVyc29uIGFsbGVpbgovLyB2b3JiZXJlaXRldC4gQmVp +IG1laHJlcmVuIEVtcGZhZW5nZXJuOiBUbzogbGVlciwgQkNDOiBhbGxlLCBBbnJlZGUKLy8gIkhh +bGxvIHp1c2FtbWVuLCIuIFZvcmxhZ2UgYmVzZXR6dW5nc0FuZnJhZ2Ugd2lyZCBpbiBiZWlkZW4g +RmFlbGxlbgovLyBnZW51dHp0LCBtaXQgZGVuc2VsYmVuIFZhcmlhYmxlbiB3aWUgZGllIGFsdGUg +cGVyc29lbmxpY2hlIFZhcmlhbnRlLgpmdW5jdGlvbiBzYW1tZWxBbmZyYWdlTWFpbE9lZmZuZW4o +cGVyc29uZW4sIGRhdHVtLCBzY2hpY2h0TGV0dGVyKSB7CiAgICBpZiAoIXBlcnNvbmVuIHx8ICFw +ZXJzb25lbi5sZW5ndGgpIHJldHVybjsKICAgIHZhciBzY2hpY2h0TmFtZSA9IHsgRjogJ0Zyw7xo +JywgUzogJ1Nww6R0JywgTjogJ05hY2h0JyB9W3NjaGljaHRMZXR0ZXJdIHx8IHNjaGljaHRMZXR0 +ZXI7CiAgICB2YXIgaXN0ID0gZnVlaHJ1bmdzWmFlaGxlbihkYXR1bSwgc2NoaWNodExldHRlcik7 +CiAgICB2YXIgc29sbCA9IDI7CiAgICB2YXIgZGVmaXppdCA9IE1hdGgubWF4KDAsIHNvbGwgLSBp +c3QpOwogICAgdmFyIHd0ID0gWydTb25udGFnJywnTW9udGFnJywnRGllbnN0YWcnLCdNaXR0d29j +aCcsJ0Rvbm5lcnN0YWcnLCdGcmVpdGFnJywnU2Ftc3RhZyddW25ldyBEYXRlKGRhdHVtICsgJ1Qw +MDowMDowMCcpLmdldERheSgpXTsKCiAgICB2YXIgZWluemVsID0gcGVyc29uZW4ubGVuZ3RoID09 +PSAxOwogICAgdmFyIGN0eCA9IHsKICAgICAgICBkYXR1bTogICAgICAgICBkYXR1bUZvcm1hdERF +KGRhdHVtKSwKICAgICAgICB3b2NoZW50YWc6ICAgICB3dCwKICAgICAgICBzY2hpY2h0OiAgICAg +ICBzY2hpY2h0TmFtZSwKICAgICAgICBzY2hpY2h0X2t1cno6ICBzY2hpY2h0TGV0dGVyLAogICAg +ICAgIGlzdDogICAgICAgICAgIGlzdCwKICAgICAgICBzb2xsOiAgICAgICAgICBzb2xsLAogICAg +ICAgIGRlZml6aXQ6ICAgICAgIGRlZml6aXQsCiAgICAgICAgYWJzZW5kZXJfbmFtZTogYWJzZW5k +ZXJOYW1lRXJtaXR0ZWxuKCksCiAgICAgICAgLy8gU2FtbWVsLU1haWw6IGxlZXJlciBWb3JuYW1l +IHd1ZXJkZSAiSGFsbG8gLCIgZXJnZWJlbi4gInp1c2FtbWVuIgogICAgICAgIC8vIGZ1ZWxsdCBk +aWUgQW5yZWRlIHNpbm52b2xsIGZ1ZXIgTWVocmZhY2gtRW1wZmFlbmdlci4KICAgICAgICBlbXBm +YWVuZ2VyX3Zvcm5hbWU6IGVpbnplbCA/IChwZXJzb25lblswXS52b3JuYW1lIHx8IHBlcnNvbmVu +WzBdLm5hbWUpIDogJ3p1c2FtbWVuJywKICAgICAgICBlbXBmYWVuZ2VyX25hbWU6ICAgIGVpbnpl +bCA/IHBlcnNvbmVuWzBdLm5hbWUgOiAnJwogICAgfTsKCiAgICAvLyBad2VpIGdldHJlbm50ZSBW +b3JsYWdlbiBqZSBuYWNoIFBlcnNvbmVuemFobDogJ2Jlc2V0enVuZ3NBbmZyYWdlX2VpbnplbG4n +CiAgICAvLyBiZWkgZ2VuYXUgZWluZW0gRW1wZmFlbmdlciAoRHUtU2luZ3VsYXIpLCAnYmVzZXR6 +dW5nc0FuZnJhZ2UnIGJlaQogICAgLy8gbWVocmVyZW4gKFBsdXJhbCAvICJIYWxsbyB6dXNhbW1l +biIpLiBCZWlkZSBzaW5kIGltIEFkbWluIHVudGVyCiAgICAvLyBFLU1haWwtVm9ybGFnZW4gZnJl +aSBlZGl0aWVyYmFyOyBhdXMgZGVtIFRvZ2dsZSAnZW1wZmFlbmdlckltQmNjJyBkZXIKICAgIC8v +IGpld2VpbGlnZW4gVm9ybGFnZSB3aXJkIGFiZ2VsZWl0ZXQsIG9iIGRpZSBBZHJlc3NlbiBpbnMg +QW4tIG9kZXIKICAgIC8vIEJDQy1GZWxkIHdhbmRlcm4uCiAgICB2YXIgdm9ybGFnZW5LZXkgPSBl +aW56ZWwgPyAnYmVzZXR6dW5nc0FuZnJhZ2VfZWluemVsbicgOiAnYmVzZXR6dW5nc0FuZnJhZ2Un +OwoKICAgIC8vIEZhbGxiYWNrLUJvZHkgKGVpbmdlYmF1dGUgRHUtRm9ybSksIGZhbGxzIGRpZSBW +b3JsYWdlIG5pY2h0IGdlem9nZW4KICAgIC8vIHdlcmRlbiBrYW5uIOKAlCB3aXJkIGdsZWljaCBh +dWNoIGZ1ZXIgZGVuIGZlaGxlbmRlbi1Wb3JsYWdlLVBmYWQgZ2VudXR6dC4KICAgIGZ1bmN0aW9u +IGZhbGxiYWNrQmF1ZW4oKSB7CiAgICAgICAgdmFyIGJldHJlZmZGYiA9ICdBdXNoaWxmZSAnICsg +c2NoaWNodE5hbWUgKyAnc2NoaWNodCAnICsgZGF0dW1Gb3JtYXRERShkYXR1bSk7CiAgICAgICAg +dmFyIGFucmVkZSA9IGVpbnplbAogICAgICAgICAgICA/ICdIYWxsbycgKyAocGVyc29uZW5bMF0u +dm9ybmFtZSA/ICcgJyArIHBlcnNvbmVuWzBdLnZvcm5hbWUgOiAnJykgKyAnLCcKICAgICAgICAg +ICAgOiAnSGFsbG8genVzYW1tZW4sJzsKICAgICAgICB2YXIgdGV4dEZiID0gYW5yZWRlICsgJ1xu +XG4nICsKICAgICAgICAgICAgJ2bDvHIgZGllICcgKyBzY2hpY2h0TmFtZSArICdzY2hpY2h0IGFt +ICcgKyBkYXR1bUZvcm1hdERFKGRhdHVtKSArCiAgICAgICAgICAgICcgKCcgKyB3dCArICcpIHNp +bmQgYWt0dWVsbCBudXIgJyArIGlzdCArICcgdm9uICcgKyBzb2xsICsKICAgICAgICAgICAgJyBG +w7xocnVuZ3NrcsOkZnRlbiBlaW5nZXBsYW50LiAnICsKICAgICAgICAgICAgKGVpbnplbAogICAg +ICAgICAgICAgICAgPyAnV8O8cmRlc3QgRHUgYW4gZGVtIFRhZyBhdXNoZWxmZW4ga8O2bm5lbj8n +CiAgICAgICAgICAgICAgICA6ICdLw7ZubnRlIGplbWFuZCB2b24gRXVjaCBhbiBkZW0gVGFnIGF1 +c2hlbGZlbj8nKSArCiAgICAgICAgICAgICdcblxuVmllbGUgR3LDvMOfZVxuJyArIGFic2VuZGVy +TmFtZUVybWl0dGVsbigpOwogICAgICAgIHJldHVybiB7IGJldHJlZmY6IGJldHJlZmZGYiwgdGV4 +dDogdGV4dEZiIH07CiAgICB9CgogICAgdmFyIGJldHJlZmYsIHRleHQ7CiAgICB2YXIgdm9ybGFn +ZSA9IG51bGw7CiAgICBpZiAoYmVzZXR6dW5nSG9va3MuZW1haWxWb3JsYWdlbkhvbGVuICYmIGJl +c2V0enVuZ0hvb2tzLmVtYWlsVm9ybGFnZUJlZnVlbGxlbikgewogICAgICAgIHZhciBhbGxlVm9y +bGFnZW4gPSBiZXNldHp1bmdIb29rcy5lbWFpbFZvcmxhZ2VuSG9sZW4oKSB8fCB7fTsKICAgICAg +ICB2b3JsYWdlID0gYWxsZVZvcmxhZ2VuW3ZvcmxhZ2VuS2V5XSB8fCBudWxsOwogICAgICAgIC8v +IEJhY2t3YXJkcy1Db21wYXQ6IHdlbm4gZGllIEVpbnplbG4tVmFyaWFudGUgaW4gZGVyIEluc3Rh +bGxhdGlvbgogICAgICAgIC8vIG5vY2ggZmVobHQgKEFkbWluIGhhdCBzaWUgei5CLiBuaWUgZ2Vw +ZmxlZ3QpLCBmYWVsbHQgZGVyIENvZGUgYXVmCiAgICAgICAgLy8gZGllIFNhbW1lbC1Wb3JsYWdl +IHp1cnVlY2sg4oCUIGJlc3NlciBhbHMgbGVlcmUgTWFpbC4KICAgICAgICBpZiAoIXZvcmxhZ2Ug +JiYgZWluemVsKSB2b3JsYWdlID0gYWxsZVZvcmxhZ2VuWydiZXNldHp1bmdzQW5mcmFnZSddIHx8 +IG51bGw7CiAgICB9CiAgICBpZiAodm9ybGFnZSAmJiAodm9ybGFnZS5iZXRyZWZmIHx8IHZvcmxh +Z2UudGV4dCkpIHsKICAgICAgICBiZXRyZWZmID0gYmVzZXR6dW5nSG9va3MuZW1haWxWb3JsYWdl +QmVmdWVsbGVuKHZvcmxhZ2UuYmV0cmVmZiB8fCAnJywgY3R4KTsKICAgICAgICB0ZXh0ICAgID0g +YmVzZXR6dW5nSG9va3MuZW1haWxWb3JsYWdlQmVmdWVsbGVuKHZvcmxhZ2UudGV4dCAgICB8fCAn +JywgY3R4KTsKICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIGZiID0gZmFsbGJhY2tCYXVlbigpOwog +ICAgICAgIGJldHJlZmYgPSBmYi5iZXRyZWZmOwogICAgICAgIHRleHQgICAgPSBmYi50ZXh0Owog +ICAgfQoKICAgIC8vIFdlbm4gdW1kaXNwb25pZXJiYXJlIFBlcnNvbmVuICg9IGFrdHVlbGwgaW4g +V0RGL0ZCUCBkZXIgZ2xlaWNoZW4KICAgIC8vIFNjaGljaHQgZWluZ2VwbGFudCkgdW50ZXIgZGVu +IEVtcGZhZW5nZXJuIHNpbmQsIGVpbmVuIEhpbndlaXMgYW5zCiAgICAvLyBNYWlsLUVuZGUgYW5o +YWVuZ2VuIOKAlCBkYW1pdCBkaWUgYW5nZXNjaHJpZWJlbmUgUGVyc29uIHdlaXNzLCBkYXNzCiAg +ICAvLyBzaWUgbmljaHQgImVpbmZhY2ggc28iIGVpbnNwcmluZ2VuIGthbm4sIHNvbmRlcm4gaWhy +ZSBiaXNoZXJpZ2UKICAgIC8vIEZ1bmt0aW9uIG5ldSBiZXNldHp0IHdlcmRlbiBtdXNzLgogICAg +dmFyIGhhdFVtZGlzID0gcGVyc29uZW4uc29tZShmdW5jdGlvbihwKSB7IHJldHVybiBwLnVtZGlz +OyB9KTsKICAgIGlmIChoYXRVbWRpcykgewogICAgICAgIHRleHQgKz0gJ1xuXG5IaW53ZWlzOiBF +aW5pZ2UgZGVyIGFuZ2VzY2hyaWViZW5lbiBQZXJzb25lbiBzaW5kIGFrdHVlbGwgJyArCiAgICAg +ICAgICAgICdhbHMgV0RGIG9kZXIgRkJQIGluIGRlcnNlbGJlbiBTY2hpY2h0IGVpbmdlcGxhbnQu +IFdlciDDvGJlcm5pbW10LCAnICsKICAgICAgICAgICAgJ3NvbGx0ZSBtaXIga3VyeiBCZXNjaGVp +ZCBnZWJlbiDigJQgZGllIGJpc2hlcmlnZSBGdW5rdGlvbiBtdXNzIGRhbm4gJyArCiAgICAgICAg +ICAgICdkdXJjaCBlaW5lIGFuZGVyZSBQZXJzb24gYmVzZXR6dCB3ZXJkZW4uJzsKICAgIH0KCiAg +ICAvLyBNYWlsdG8tQmF1OiBFbXBmYWVuZ2VyLUZlbGQgKEFuIHZzLiBCQ0MpIHdpcmQgYXVzIGRl +bSBWb3JsYWdlbi0KICAgIC8vIFRvZ2dsZSAnZW1wZmFlbmdlckltQmNjJyBiZXN0aW1tdC4gRGVm +YXVsdC1Mb2dpayB3ZW5uIGRpZSBWb3JsYWdlCiAgICAvLyBkZW4gVG9nZ2xlIG5pY2h0IHNldHp0 +OiBFaW56ZWwtQWRyZXNzYXQgLT4gQW4gKEJDQyBpc3QgYmVpIDEgUGVyc29uCiAgICAvLyBzaW5u +bG9zKSwgU2FtbWVsIC0+IEJDQyAoRGF0ZW5zY2h1dHopLgogICAgdmFyIGVtYWlscyA9IHBlcnNv +bmVuLm1hcChmdW5jdGlvbihwKSB7IHJldHVybiBwLmVtYWlsOyB9KS5maWx0ZXIoQm9vbGVhbik7 +CiAgICB2YXIgYmNjVm9yZ2FiZSA9IHZvcmxhZ2UgJiYgdm9ybGFnZS5lbXBmYWVuZ2VySW1CY2Mg +IT0gbnVsbAogICAgICAgID8gISF2b3JsYWdlLmVtcGZhZW5nZXJJbUJjYwogICAgICAgIDogIWVp +bnplbDsgICAvLyBGYWxsYmFjayBvaG5lIFZvcmxhZ2U6IEVpbnplbD1BbiwgU2FtbWVsPUJDQwog +ICAgdmFyIHVybDsKICAgIGlmIChlbWFpbHMubGVuZ3RoID09PSAwKSB7CiAgICAgICAgdXJsID0g +J21haWx0bzonOwogICAgfSBlbHNlIGlmIChiY2NWb3JnYWJlKSB7CiAgICAgICAgdXJsID0gJ21h +aWx0bzo/YmNjPScgKyBlbmNvZGVVUklDb21wb25lbnQoZW1haWxzLmpvaW4oJywnKSk7CiAgICB9 +IGVsc2UgewogICAgICAgIHVybCA9ICdtYWlsdG86JyArIGVuY29kZVVSSUNvbXBvbmVudChlbWFp +bHMuam9pbignLCcpKTsKICAgIH0KICAgIHVybCArPSAodXJsLmluZGV4T2YoJz8nKSA+PSAwID8g +JyYnIDogJz8nKSArCiAgICAgICAgJ3N1YmplY3Q9JyArIGVuY29kZVVSSUNvbXBvbmVudChiZXRy +ZWZmKSArCiAgICAgICAgJyZib2R5PScgKyBlbmNvZGVVUklDb21wb25lbnQodGV4dCk7CiAgICB3 +aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDsKfQoK +### FILE: js/core_api.js | 1087 +Ly8gPT09IGNvcmUvYXBpLmpzID09PQovLyBGZXRjaC1XcmFwcGVyIGZ1ZXIgZGllIFZJMy1KU09O +LUFQSS4KCmV4cG9ydCBmdW5jdGlvbiBhcGkocGZhZCwgb3B0KSB7CiAgICByZXR1cm4gZmV0Y2go +cGZhZCwgb3B0IHx8IHt9KS50aGVuKGZ1bmN0aW9uKHIpIHsKICAgICAgICBpZiAoIXIub2spIHRo +cm93IG5ldyBFcnJvcignSFRUUCAnICsgci5zdGF0dXMpOwogICAgICAgIHJldHVybiByLmpzb24o +KTsKICAgIH0pOwp9CgpleHBvcnQgZnVuY3Rpb24gYXBpUG9zdChwZmFkLCBkYXRlbikgewogICAg +cmV0dXJuIGFwaShwZmFkLCB7IG1ldGhvZDogJ1BPU1QnLCBoZWFkZXJzOiB7ICdDb250ZW50LVR5 +cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSwgYm9keTogSlNPTi5zdHJpbmdpZnkoZGF0ZW4pIH0p +Owp9CgpleHBvcnQgZnVuY3Rpb24gYXBpUHV0KHBmYWQsIGRhdGVuKSB7CiAgICByZXR1cm4gYXBp +KHBmYWQsIHsgbWV0aG9kOiAnUFVUJywgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxp +Y2F0aW9uL2pzb24nIH0sIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGVuKSB9KTsKfQoKZXhwb3J0 +IGZ1bmN0aW9uIGFwaURlbGV0ZShwZmFkKSB7CiAgICByZXR1cm4gYXBpKHBmYWQsIHsgbWV0aG9k +OiAnREVMRVRFJyB9KTsKfQoKLy8gU3RhdHVzICsgQm9keSB6dXJ1ZWNrZ2ViZW4gc3RhdHQgenUg +d2VyZmVuIOKAlCBmdWVyIEVuZHBvaW50cywgZGVyZW4KLy8gTm9uLTJ4eC1BbnR3b3J0ZW4gKHou +Qi4gNDIzID0gbG9ja2VkLCA0MDkgPSBLb25mbGlrdCkgRGF0ZW4gZW50aGFsdGVuLAovLyBkaWUg +ZGVyIEF1ZnJ1ZmVyIGJyYXVjaHQuCmV4cG9ydCBmdW5jdGlvbiBhcGlTYWZlKHBmYWQsIG9wdCkg +ewogICAgcmV0dXJuIGZldGNoKHBmYWQsIG9wdCB8fCB7fSkudGhlbihmdW5jdGlvbihyKSB7CiAg +ICAgICAgcmV0dXJuIHIuanNvbigpLnRoZW4oZnVuY3Rpb24oYm9keSkgeyByZXR1cm4geyBzdGF0 +dXM6IHIuc3RhdHVzLCBib2R5OiBib2R5IH07IH0pCiAgICAgICAgICAgIC5jYXRjaChmdW5jdGlv +bigpIHsgcmV0dXJuIHsgc3RhdHVzOiByLnN0YXR1cywgYm9keTogbnVsbCB9OyB9KTsKICAgIH0p +Owp9Cg== +### FILE: js/core_datenLaden.js | 7203 +Ly8gPT09IGNvcmUvZGF0ZW5MYWRlbi5qcyA9PT0KLy8gUGVyc29uZW4tQXVmYmF1LCBBZG1pbi1M +aXN0ZW4tTm9ybWFsaXNpZXJ1bmcsICJIZXV0ZSItQmxvY2ssCi8vIEhlYXJ0YmVhdC1Xb3JrZXIg +KyBJbmFrdGl2aXRhZXRzLVRpbWVyLgovLwovLyBkYXRlbkxhZGVuKCkgdW5kIGFkbWluSG90UmVs +b2FkKCkgYmxlaWJlbiB6dW5hZWNoc3QgaW4gYXBwLmpzLCB3ZWlsCi8vIHNpZSBDcm9zcy1Nb2R1 +bC1GdW5rdGlvbmVuICh0YWdlRXJ6ZXVnZW4vdGFnSW5mb3NCZXJlY2huZW4gYXVzCi8vIGdyaWQv +cmVuZGVyLCBiZXplaWNobnVuZ2VuQW53ZW5kZW4vYWRtaW5SZW5kZXJuIGF1cyBhZG1pbi9hZG1p +bikKLy8gcnVmZW4sIGRpZSBlcnN0IGluIHNwYWV0ZXJlbiBQaGFzZW4gZXh0cmFoaWVydCB3ZXJk +ZW4uCi8vCi8vIEhvb2tzOiBoZWFydGJlYXRTdGFydGVuIG11c3MgYWRtaW5Ib3RSZWxvYWQgdHJp +Z2dlcm4sIHdlbm4gZGVyCi8vIFdvcmtlciBlaW5lICdhZG1pbi1nZWFlbmRlcnQnLU5hY2hyaWNo +dCBlcmhhZWx0LiBXaXJkIHVlYmVyCi8vIGRhdGVuTGFkZW5Ib29rcyByZWluZ2VoYWVuZ3QuCgpp +bXBvcnQgeyBaIH0gZnJvbSAnLi9jb3JlX3N0YXRlLmpzJzsKCi8vID09PT09IEhvb2tzID09PT09 +CgpleHBvcnQgdmFyIGRhdGVuTGFkZW5Ib29rcyA9IHsKICAgIGFkbWluSG90UmVsb2FkOiBudWxs +LAogICAgcGxhbnVuZ0hvdFJlbG9hZDogbnVsbAp9OwoKLy8gPT09PT0gQWRtaW4tTGlzdGVuLU5v +cm1hbGlzaWVydW5nID09PT09CgovLyBMaXN0ZS1GZWxkZXIgaW4gYWRtaW4uanNvbiwgZGllIHVu +dGVyIFBTIDUuMSBkdXJjaCBDb252ZXJ0RnJvbS0vQ29udmVydFRvLUpzb24KLy8gdmVyc2VoZW50 +bGljaCBhdWYgRWluemVsLU9iamVrdCBlbnRwYWNrdCB3ZXJkZW4ga29lbm5lbi4gQmVpbSBMYWRl +biBpbiBBcnJheQovLyB6dXJ1ZWNrZnVlaHJlbiwgZGFtaXQgZm9yRWFjaC9maWx0ZXIgbmljaHQg +YXVmIGRpZSBOYXNlIGZhbGxlbi4KZXhwb3J0IHZhciBBRE1JTl9MSVNUX0ZFTERFUiA9IFsnZmVp +ZXJ0YWdlJywnZmVyaWVuJywnc29uZGVydGVybWluZScsJ3NjaGljaHRjb2RlcycsJ2dydXBwZW4n +LCdzdGFuZG9ydGUnLCdmdW5rdGlvbmVuJywnZGllbnN0Z3JhZGUnLCdzdXBlclVzZXInLCdmYWNo +YXVmc2ljaHQnLCdkaXJla3Rpb25zbGVpdHVuZycsJ2Z1ZWhydW5nc3N0ZWxsZScsJ3NjaGljaHRm +b2xnZW4nLCdyb2xsZW4nLCdtaWtyb3RlYW1zJywnc3RhdGlzdGlrS2FjaGVsbicsJ3N0YXRpc3Rp +a0xheW91dCddOwoKZXhwb3J0IGZ1bmN0aW9uIGFkbWluTGlzdGVuTm9ybWFsaXNpZXJlbihhZG0p +IHsKICAgIGlmICghYWRtIHx8IHR5cGVvZiBhZG0gIT09ICdvYmplY3QnKSByZXR1cm4gYWRtOwog +ICAgQURNSU5fTElTVF9GRUxERVIuZm9yRWFjaChmdW5jdGlvbihrKSB7CiAgICAgICAgdmFyIHYg +PSBhZG1ba107CiAgICAgICAgaWYgKHYgPT0gbnVsbCkgeyBhZG1ba10gPSBbXTsgcmV0dXJuOyB9 +CiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodikpIHJldHVybjsKICAgICAgICAvLyBQUy1FaW56 +ZWwtT2JqZWt0IC0+IGluIGVpbmVsZW1lbnRpZ2VzIEFycmF5IHBhY2tlbgogICAgICAgIGlmICh0 +eXBlb2YgdiA9PT0gJ29iamVjdCcpIHsKICAgICAgICAgICAgLy8gU29uZGVyZmFsbDogT2JqZWt0 +IG1pdCBudW1lcmlzY2hlbiBLZXlzICgwLDEsMiwuLi4pIC0+IFdlcnRlIHNhbW1lbG4KICAgICAg +ICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyh2KTsKICAgICAgICAgICAgdmFyIG51bWVyaXNj +aCA9IGtleXMubGVuZ3RoID4gMCAmJiBrZXlzLmV2ZXJ5KGZ1bmN0aW9uKGspIHsgcmV0dXJuIC9e +XGQrJC8udGVzdChrKTsgfSk7CiAgICAgICAgICAgIGFkbVtrXSA9IG51bWVyaXNjaAogICAgICAg +ICAgICAgICAgPyBrZXlzLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gcGFyc2VJbnQoYSwxMCkt +cGFyc2VJbnQoYiwxMCk7fSkubWFwKGZ1bmN0aW9uKGkpeyByZXR1cm4gdltpXTsgfSkKICAgICAg +ICAgICAgICAgIDogW3ZdOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGFkbVtrXSA9IFtd +OwogICAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuIGFkbTsKfQoKLy8gPT09PT0gUGVyc29uZW4t +QXVmYmF1ID09PT09CgovLyBTb3J0aWVydCBaLnBlcnNvbmVuIHByaW1hZXIgbmFjaCBHcnVwcGVu +LVJlaWhlbmZvbGdlIGF1cyBhZG1pbi5ncnVwcGVuLAovLyBzZWt1bmRhZXIgbmFjaCBwb3NpdGlv +biBpbm5lcmhhbGIgZGVyIEdydXBwZS4gU29uc3Qgd2VyZGVuIEdydXBwZW4gaW4gZGVyCi8vIFBs +YW50YWZlbCBtZWhyZmFjaCBnZXRyZW5udCwgd2VubiBkaWUgcG9zaXRpb24tUmVpaGVuZm9sZ2Ug +c2llIHplcnJlaXNzdC4KZXhwb3J0IGZ1bmN0aW9uIHBlcnNvbmVuTmV1QXVmYmF1ZW4oKSB7CiAg +ICB2YXIgZ3J1cHBlblJhbmcgPSB7fTsKICAgIChaLmFkbWluICYmIFouYWRtaW4uZ3J1cHBlbiB8 +fCBbXSkuZm9yRWFjaChmdW5jdGlvbihnLCBpKSB7CiAgICAgICAgaWYgKGcgJiYgZy5uYW1lKSBn +cnVwcGVuUmFuZ1tnLm5hbWVdID0gaTsKICAgIH0pOwogICAgLy8gRnVua3Rpb25zLVdoaXRlbGlz +dCBmdWVyIGRpZSBQbGFudW5nc2Fuc2ljaHQ6IEZ1bmt0aW9uZW4sIGRpZSBpbQogICAgLy8gQWRt +aW4gYXVmICJJbiBQbGFudW5nIHNpY2h0YmFyID0gbmVpbiIgZ2VzZXR6dCBzaW5kLCB3ZXJkZW4g +YXVzCiAgICAvLyBkZXIgUGxhbnRhZmVsIGF1c2dlYmxlbmRldCAoei5CLiBEaWVuc3RzdGVsbGVu +bGVpdHVuZykuIFBlcnNvbmVuCiAgICAvLyBtaXQgc29sY2hlciBGdW5rdGlvbiBibGVpYmVuIGlu +IGRlciBQZXJzb25hbHZlcndhbHR1bmcgYmVzdGVoZW4uCiAgICB2YXIgdmVyc3RlY2t0ZUZ1bmt0 +aW9uZW4gPSB7fTsKICAgIChaLmFkbWluICYmIFouYWRtaW4uZnVua3Rpb25lbiB8fCBbXSkuZm9y +RWFjaChmdW5jdGlvbihmKSB7CiAgICAgICAgaWYgKGYgJiYgZi5jb2RlICYmIGYuaW5QbGFudW5n +ID09PSBmYWxzZSkgdmVyc3RlY2t0ZUZ1bmt0aW9uZW5bZi5jb2RlXSA9IHRydWU7CiAgICB9KTsK +ICAgIC8vIEdsZWljaGUgTG9naWsgZnVlciBEaWVuc3RncnVwcGVuOiBncnVwcGUuaW5QbGFudW5n +ID09PSBmYWxzZSBibGVuZGV0CiAgICAvLyBkaWUga29tcGxldHRlIEdydXBwZSAoYWxsZSBQZXJz +b25lbiBkYXJpbikgYXVzIFBsYW51bmcsIFdvY2hlbnBsYW4KICAgIC8vIHVuZCBQZXJzb2VubGlj +aGVtIFBsYW4gYXVzLiBQZXJzb25lbiBibGVpYmVuIHdlaXRlciBpbiBkZXIgUGVyc29uYWwtCiAg +ICAvLyB2ZXJ3YWx0dW5nIHBmbGVnYmFyIHVuZCB0YXVjaGVuIGluIGRlciBTdGF0aXN0aWsgYXVm +LiBGZWhsdCBkYXMgRmVsZAogICAgLy8gKEFsdGRhdGVuKSwgd2lyZCBkaWUgR3J1cHBlIHdpZSBn +ZXdvaG50IGFuZ2V6ZWlndC4KICAgIHZhciB2ZXJzdGVja3RlR3J1cHBlbiA9IHt9OwogICAgKFou +YWRtaW4gJiYgWi5hZG1pbi5ncnVwcGVuIHx8IFtdKS5mb3JFYWNoKGZ1bmN0aW9uKGcpIHsKICAg +ICAgICBpZiAoZyAmJiBnLm5hbWUgJiYgZy5pblBsYW51bmcgPT09IGZhbHNlKSB2ZXJzdGVja3Rl +R3J1cHBlbltnLm5hbWVdID0gdHJ1ZTsKICAgIH0pOwogICAgWi5wZXJzb25lbiA9ICgoWi5wbGFu +dW5nICYmIFoucGxhbnVuZy5wZXJzb25lbikgfHwgW10pCiAgICAgICAgLmZpbHRlcihmdW5jdGlv +bihwKSB7CiAgICAgICAgICAgIGlmICghKHAuYWt0aXYgfHwgWi51bWdlc2V0enRlRWluYmxlbmRl +bikpIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgLy8gUHJvLVBlcnNvbiBhdXMgZGVyIFBsYW51 +bmcgYXVzZ2VibGVuZGV0IChhbmFsb2cgR3J1cHBlbi9GdW5rdGlvbmVuCiAgICAgICAgICAgIC8v +IGluUGxhbnVuZykuIEdyZWlmdCB1bmFiaGFlbmdpZyB2b20gYWt0aXYvdW1nZXNldHp0LVN0YXR1 +cy4KICAgICAgICAgICAgaWYgKHAuaW5QbGFudW5nID09PSBmYWxzZSAmJiAhWi51bWdlc2V0enRl +RWluYmxlbmRlbikgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICBpZiAocC5mdW5rdGlvbiAmJiB2 +ZXJzdGVja3RlRnVua3Rpb25lbltwLmZ1bmt0aW9uXSkgcmV0dXJuIGZhbHNlOwogICAgICAgICAg +ICBpZiAocC5ncnVwcGUgICAmJiB2ZXJzdGVja3RlR3J1cHBlbltwLmdydXBwZV0pICAgICByZXR1 +cm4gZmFsc2U7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0pCiAgICAgICAgLnNv +cnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgICAgICB2YXIgckEgPSAoYS5ncnVwcGUgaW4gZ3J1 +cHBlblJhbmcpID8gZ3J1cHBlblJhbmdbYS5ncnVwcGVdIDogOTk5OwogICAgICAgICAgICB2YXIg +ckIgPSAoYi5ncnVwcGUgaW4gZ3J1cHBlblJhbmcpID8gZ3J1cHBlblJhbmdbYi5ncnVwcGVdIDog +OTk5OwogICAgICAgICAgICBpZiAockEgIT09IHJCKSByZXR1cm4gckEgLSByQjsKICAgICAgICAg +ICAgcmV0dXJuIChhLnBvc2l0aW9uIHx8IDk5OSkgLSAoYi5wb3NpdGlvbiB8fCA5OTkpOwogICAg +ICAgIH0pOwp9CgovLyA9PT09PSBIZXV0ZS1CbG9jayAobGlua2UgS29wZnNwYWx0ZSkgPT09PT0K +Ci8vIERhdHVtL1dvY2hlbnRhZyBpbiBkZXIgbGlua2VuIEtvcGZzcGFsdGUgKHVlYmVyICJTdGFl +cmtlIERHTCBpbiBWSSAzIikuCmV4cG9ydCBmdW5jdGlvbiBoZXV0ZUJsb2NrQWt0dWFsaXNpZXJl +bigpIHsKICAgIHZhciBkID0gbmV3IERhdGUoKTsKICAgIHZhciB3TmFtZW4gPSBbJ1Nvbm50YWcn +LCdNb250YWcnLCdEaWVuc3RhZycsJ01pdHR3b2NoJywnRG9ubmVyc3RhZycsJ0ZyZWl0YWcnLCdT +YW1zdGFnJ107CiAgICB2YXIgdGFnID0gKGQuZ2V0RGF0ZSgpIDwgMTAgPyAnMCcgOiAnJykgKyBk +LmdldERhdGUoKTsKICAgIHZhciBtb24gPSAoKGQuZ2V0TW9udGgoKSArIDEpIDwgMTAgPyAnMCcg +OiAnJykgKyAoZC5nZXRNb250aCgpICsgMSk7CiAgICB2YXIgZWxEYXQgPSBkb2N1bWVudC5nZXRF +bGVtZW50QnlJZCgna2wtaGV1dGUtZGF0dW0nKTsKICAgIHZhciBlbFd0ZyA9IGRvY3VtZW50Lmdl +dEVsZW1lbnRCeUlkKCdrbC1oZXV0ZS13dGFnJyk7CiAgICBpZiAoZWxEYXQpIGVsRGF0LnRleHRD +b250ZW50ID0gdGFnICsgJy4nICsgbW9uICsgJy4nICsgZC5nZXRGdWxsWWVhcigpOwogICAgaWYg +KGVsV3RnKSBlbFd0Zy50ZXh0Q29udGVudCA9IHdOYW1lbltkLmdldERheSgpXTsKfQoKLy8gPT09 +PT0gSGVhcnRiZWF0LVdvcmtlciA9PT09PQoKLy8gV2F0Y2hkb2ctU3RyYXRlZ2llIHN0YXR0IGV4 +cGxpeml0ZW0gc2VuZEJlYWNvbignL2FwaS9zaHV0ZG93bicpOgovLyAtIGJlZm9yZXVubG9hZC9w +YWdlaGlkZSBmZXVlcm4gYmVpIEY1L1JlZnJlc2ggZWJlbmZhbGxzIHVuZCB3dWVyZGVuCi8vICAg +ZGVuIFNlcnZlciBiZWltIE5ldWxhZGVuIHRvZXRlbi4KLy8gLSBzdGF0dGRlc3NlbiB1ZWJlcm5p +bW10IGRlciAzMC1zLUhlYXJ0YmVhdC1XYXRjaGRvZzogc29sYW5nZSBkZXIKLy8gICBXb3JrZXIg +VGlja3Mgc2VuZGV0LCBsYWV1ZnQgZGVyIFNlcnZlci4gRWNodGVyIFRhYi1DbG9zZSBzdG9wcHQK +Ly8gICBkaWUgVGlja3MsIFNlcnZlciBiZWVuZGV0IHNpY2ggbmFjaCAzMCBzIHZvbiBhbGxlaW4u +CmV4cG9ydCBmdW5jdGlvbiBoZWFydGJlYXRTdGFydGVuKCkgewogICAgdHJ5IHsKICAgICAgICBa +LmhlYXJ0YmVhdFdvcmtlciA9IG5ldyBXb3JrZXIoJ2hlYXJ0YmVhdC13b3JrZXIuanMnKTsKICAg +ICAgICBaLmhlYXJ0YmVhdFdvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldikgewogICAgICAg +ICAgICAvLyBEZXIgV29ya2VyIG1lbGRldCwgd2VubiBzaWNoIGFkbWluLmpzb24gc2VydmVyc2Vp +dGlnCiAgICAgICAgICAgIC8vIGdlYWVuZGVydCBoYXQgKGFuZGVyZXIgU1UgaGF0IHdhcyBnZXNw +ZWljaGVydCkuIENsaWVudAogICAgICAgICAgICAvLyBsYWVkdCBBZG1pbi1EYXRlbiArIFJlY2h0 +ZSBuZXUgdW5kIHJlbmRlcnQgZGllIE9iZXJmbGFlY2hlCiAgICAgICAgICAgIC8vIHBhc3NlbmQg +bmV1IC0gUm9sbGVud2VjaHNlbCBvaG5lIEY1LgogICAgICAgICAgICBpZiAoZXYuZGF0YSAmJiBl +di5kYXRhLnR5cCA9PT0gJ2FkbWluLWdlYWVuZGVydCcpIHsKICAgICAgICAgICAgICAgIGlmIChk +YXRlbkxhZGVuSG9va3MuYWRtaW5Ib3RSZWxvYWQpIGRhdGVuTGFkZW5Ib29rcy5hZG1pbkhvdFJl +bG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIHBsYW51bmdWZXJzaW9uIGRlY2t0 +IHYuYS4gZWRpdFJlY2h0ZS9zZWhlbi1BZW5kZXJ1bmdlbiBkZXIKICAgICAgICAgICAgLy8gZWln +ZW5lbiBQZXJzb24gYWIgKENoZXJyeS1QaWNrIDFhZWZlMjYgQnVnICMzKS4gTGl2ZS1TeW5jCiAg +ICAgICAgICAgIC8vIHVlYmVyIC9hcGkvcGxhbnVuZy9jaGFuZ2VzIGt1ZW1tZXJ0IHNpY2ggdW0g +WmVsbC0vS29tbWVudGFyLQogICAgICAgICAgICAvLyBVcGRhdGVzIHNlcGFyYXQg4oCUIGhpZXIg +Z2VodCBlcyBudXIgdW0gUmVjaHRlLSB1bmQKICAgICAgICAgICAgLy8gU2ljaHRiYXJrZWl0cy1S +ZWZyZXNoLgogICAgICAgICAgICBpZiAoZXYuZGF0YSAmJiBldi5kYXRhLnR5cCA9PT0gJ3BsYW51 +bmctZ2VhZW5kZXJ0JykgewogICAgICAgICAgICAgICAgaWYgKGRhdGVuTGFkZW5Ib29rcy5wbGFu +dW5nSG90UmVsb2FkKSBkYXRlbkxhZGVuSG9va3MucGxhbnVuZ0hvdFJlbG9hZCgpOwogICAgICAg +ICAgICB9CiAgICAgICAgfTsKICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd2aXNp +YmlsaXR5Y2hhbmdlJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmICghZG9jdW1lbnQuaGlk +ZGVuICYmIFouaGVhcnRiZWF0V29ya2VyKSBaLmhlYXJ0YmVhdFdvcmtlci5wb3N0TWVzc2FnZSgn +c2ljaHRiYXInKTsKICAgICAgICB9KTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAvLyBXb3Jr +ZXIgbmljaHQgdmVyZnVlZ2JhciAtIEZhbGxiYWNrIGF1ZiBNYWluLVRocmVhZC1zZXRJbnRlcnZh +bC4KICAgICAgICAvLyBBY2h0dW5nOiBNYWluLVRocmVhZC1UaW1lciB3ZXJkZW4gaW0gSGludGVy +Z3J1bmQtVGFiIGdlZHJvc3NlbHQsCiAgICAgICAgLy8gZGVyIEZhbGxiYWNrIGlzdCBhbHNvIHNj +aHdhZWNoZXIsIGFiZXIgYmVzc2VyIGFscyBuaWNodHMuCiAgICAgICAgWi5oZWFydGJlYXRGYWxs +YmFjayA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmZXRjaCgnL2FwaS9o +ZWFydGJlYXQnLCB7IG1ldGhvZDogJ1BPU1QnIH0pLmNhdGNoKGZ1bmN0aW9uKCl7fSk7CiAgICAg +ICAgfSwgNTAwMCk7CiAgICB9Cn0K +### FILE: js/core_permissions.js | 21770 +Ly8gPT09IGNvcmUvcGVybWlzc2lvbnMuanMgPT09Ci8vIFJvbGxlbi1Nb2RlbGwsIFRhYi1TaWNo +dGJhcmtlaXQsIEltcGVyc29uYXRpb24gKFNVLVRlc3RhbnNpY2h0KSwKLy8gVmVyYmluZGxpY2hr +ZWl0cy1GZW5zdGVyLgovLwovLyBSb2xsZW46IFN1cGVyVXNlciA+IEZhY2hhdWZzaWNodCA+IFJl +Z3VsYWVyLgovLyBaLnJlY2h0ZSBzcGllZ2VsdCBkYXMgL2FwaS9pbmZvLVJlY2h0ZS1PYmpla3Q7 +IGJlcmVjaG5lRmFjaGF1ZnNpY2h0UmVjaHRlLwovLyBiZXJlY2huZVJlZ3VsYWVyUmVjaHRlIHNp +bXVsaWVyZW4gZXMgZnVlciBkaWUgSW1wZXJzb25hdGlvbi4KLy8KLy8gSG9va3M6IGltcGVyc29u +YXRlQW53ZW5kZW4gcnVmdCBSZW5kZXItRnVua3Rpb25lbiBhdXMgYW5kZXJlbiBNb2R1bGVuCi8v +IChBZG1pbi9HcmlkL1N0YXRpc3Rpay9CZXNldHp1bmcpLiBEaWUgd2VyZGVuIHVlYmVyIHBlcm1p +c3Npb25Ib29rcwovLyByZWluZ2VoYWVuZ3QsIHdlaWwgRVNNLUltcG9ydHMgZWluZW4gWnlrbHVz +IG9kZXIgbm9jaCBuaWNodCBleHRyYWhpZXJ0ZQovLyBTeW1ib2xlIGJlZGV1dGVuIHd1ZXJkZW4u +CgppbXBvcnQgeyBaIH0gZnJvbSAnLi9jb3JlX3N0YXRlLmpzJzsKCi8vID09PT09IEhvb2tzICh2 +b24gYXBwLmpzIGdlc2V0enQ7IG51bGwgPSBBdWZydWZlciB1ZWJlcnNwcmluZ3QgZGVuIEF1ZnJ1 +ZikgPT09PT0KCmV4cG9ydCB2YXIgcGVybWlzc2lvbkhvb2tzID0gewogICAgYWRtaW5SZW5kZXJu +OiBudWxsLAogICAga29wZlJlbmRlcm46IG51bGwsCiAgICBzdGF0aXN0aWtSZW5kZXJuOiBudWxs +LAogICAgYmVzZXR6dW5nc2tvbnRyb2xsZVJlbmRlcm46IG51bGwsCiAgICAvLyBHcmlkIGtvbXBs +ZXR0IG5ldSB6ZWljaG5lbiDigJQgbm9ldGlnIG5hY2ggZWluZW0gUmVjaHRlLVdlY2hzZWwKICAg +IC8vIChJbXBlcnNvbmF0aW9uKSwgZGFtaXQgZGllIFplbGwtU3BlcnJlbiAoZ3JpZC16ZWxsZS1n +ZXNwZXJydCkgZGVuCiAgICAvLyBuZXVlbiBFZGl0LUtvbnRleHQgd2lkZXJzcGllZ2Vsbi4KICAg +IGdyaWRSZW5kZXJuOiBudWxsLAogICAgLy8gSG9vayBmdWVyIEFuc2ljaHQtV2VjaHNlbCAoZ3Jp +ZFJlbmRlci1Nb2R1bCksIGRhbWl0IEltcGVyc29uYXRpb24tU3RhcnQKICAgIC8vIGRlbiBVc2Vy +IGF1ZiBkaWUgUGxhbnVuZ3MtQW5zaWNodCBzcHJpbmdlbiBsYXNzZW4ga2Fubi4KICAgIGFuc2lj +aHRXZWNoc2VsbjogbnVsbAp9OwoKLy8gPT09PT0gVGFiLVNpY2h0YmFya2VpdCAoVG9wLUxldmVs +KSA9PT09PQoKLy8gU3VwZXJVc2VyIHNpZWh0IGltbWVyIGFsbGVzLiBGYWNoYXVmc2ljaHQgbnVy +IGRhcywgd2FzIGluCi8vIGFkbWluLmZhY2hhdWZzaWNodFtdLnNlaGVuey4uLn0gYXVmIHRydWUg +c3RlaHQuIFJlZ3VsYWVyZSBVc2VyIHNlaGVuCi8vIG5pY2h0cyBkYXZvbiAtLSBzaWUgYmVoYWx0 +ZW4gbnVyIFBsYW51bmcvV29jaGVucGxhbi9QZXJzLiBQbGFuLgoKZXhwb3J0IGZ1bmN0aW9uIGRh +cmZBZG1pblRhYigpIHsgcmV0dXJuICEhKFoucmVjaHRlICYmIChaLnJlY2h0ZS5pc3RTdXBlclVz +ZXIgfHwgKFoucmVjaHRlLmlzdEZhY2hhdWZzaWNodCAmJiBaLnJlY2h0ZS5zZWhlbi5hZG1pbmlz +dHJhdGlvbikpKTsgfQpleHBvcnQgZnVuY3Rpb24gZGFyZlN0YXRpc3RpaygpIHsgcmV0dXJuICEh +KFoucmVjaHRlICYmIChaLnJlY2h0ZS5pc3RTdXBlclVzZXIgfHwgKFoucmVjaHRlLmlzdEZhY2hh +dWZzaWNodCAmJiBaLnJlY2h0ZS5zZWhlbi5zdGF0aXN0aWspKSk7IH0KZXhwb3J0IGZ1bmN0aW9u +IGRhcmZMb2didWNoKCkgICB7IHJldHVybiAhIShaLnJlY2h0ZSAmJiAoWi5yZWNodGUuaXN0U3Vw +ZXJVc2VyIHx8IChaLnJlY2h0ZS5pc3RGYWNoYXVmc2ljaHQgJiYgWi5yZWNodGUuc2VoZW4ubG9n +YnVjaCkpKTsgfQoKLy8gR3JhbnVsYXJlIFN1Yi1TaWNodGJhcmtlaXQgKEZpbmRpbmcgQy45IC8g +U3BlYyBGLjIpOgovLyBTdXBlclVzZXIgb2RlciBNYXAgPT09IG51bGwgIC0+IGFsbGVzIGVybGF1 +YnQgKFdpbGRjYXJkKQovLyBNYXAgPT09IHt9ICAgICAgICAgICAgICAgICAgIC0+IG5pY2h0cyBl +cmxhdWJ0IChUYWIgbmljaHQgZnJlaWdlZ2ViZW4pCi8vIE1hcFtrZXldID09PSBmYWxzZSAgICAg +ICAgICAgLT4gZXhwbGl6aXQgdmVyYm9yZ2VuCi8vIE1hcFtrZXldID09PSB0cnVlIC8gbmljaHQg +aW4gLT4gZXJsYXVidCAoRGVmYXVsdCBpc3Qgc2VoZW4sIE5lZ2F0aXYtTGlzdGUpCmV4cG9ydCBm +dW5jdGlvbiBkYXJmQWRtaW5TdWJ0YWIobmFtZSkgewogICAgaWYgKCFaLnJlY2h0ZSkgcmV0dXJu +IGZhbHNlOwogICAgaWYgKFoucmVjaHRlLmlzdFN1cGVyVXNlcikgcmV0dXJuIHRydWU7CiAgICBp +ZiAoIVoucmVjaHRlLnNlaGVuLmFkbWluaXN0cmF0aW9uKSByZXR1cm4gZmFsc2U7CiAgICB2YXIg +bSA9IFoucmVjaHRlLmFkbWluU3VidGFiczsKICAgIGlmIChtID09PSBudWxsIHx8IG0gPT09IHVu +ZGVmaW5lZCkgcmV0dXJuIHRydWU7CiAgICAvLyBOZWdhdGl2LUxpc3RlOiBudXIgZXhwbGl6aXQg +e2tleTpmYWxzZX0gdmVyc3RlY2t0LiBMZWVyZSBNYXAgPSBrZWluZQogICAgLy8gVmVyc3RlY2tl +ciA9IGFsbGVzIHNpY2h0YmFyIChrb25zaXN0ZW50IHp1IGZhY2hhdWZzaWNodFN1YlNpY2h0TGFi +ZWwsCiAgICAvLyBkYXMge30gYWxzICJBbGxlIChTdGFuZGFyZCkiIGFuemVpZ3QpLgogICAgaWYg +KG5hbWUgaW4gbSkgcmV0dXJuICEhbVtuYW1lXTsKICAgIHJldHVybiB0cnVlOwp9CgpleHBvcnQg +ZnVuY3Rpb24gZGFyZlN0YXRpc3Rpa1N1YihuYW1lKSB7CiAgICBpZiAoIVoucmVjaHRlKSByZXR1 +cm4gZmFsc2U7CiAgICBpZiAoWi5yZWNodGUuaXN0U3VwZXJVc2VyKSByZXR1cm4gdHJ1ZTsKICAg +IGlmICghWi5yZWNodGUuc2VoZW4uc3RhdGlzdGlrKSByZXR1cm4gZmFsc2U7CiAgICB2YXIgbSA9 +IFoucmVjaHRlLnN0YXRpc3Rpa0JlcmVpY2hlOwogICAgaWYgKG0gPT09IG51bGwgfHwgbSA9PT0g +dW5kZWZpbmVkKSByZXR1cm4gdHJ1ZTsKICAgIGlmIChuYW1lIGluIG0pIHJldHVybiAhIW1bbmFt +ZV07CiAgICByZXR1cm4gdHJ1ZTsKfQoKLy8gPT09PT0gUmVjaHRlLU9iamVrdCBhdXMgL2FwaS9p +bmZvIGFibGVpdGVuID09PT09CgovLyBTcGllZ2VsdCBkYXMgL2FwaS9pbmZvLVJlY2h0ZS1PYmpl +a3QgMToxIGluIGRhcyBGb3JtYXQsIG1pdCBkZW0gWi5yZWNodGUKLy8gaW0gQ2xpZW50IGFyYmVp +dGV0LiBFaW56aWdlciBIZWxwZXIsIGRhbWl0IGRhdGVuTGFkZW4oKSB1bmQKLy8gYWRtaW5Ib3RS +ZWxvYWQoKS9wbGFudW5nSG90UmVsb2FkKCkgbmljaHQgYXVzZWluYW5kZXJkcmlmdGVuLgpleHBv +cnQgZnVuY3Rpb24gcmVjaHRlQXVzSW5mbyhpbmZvKSB7CiAgICByZXR1cm4gewogICAgICAgIHJv +bGxlOiAgICAgICAgICAgICAgICAgICBpbmZvLnJvbGxlIHx8ICdyZWd1bGFlcicsCiAgICAgICAg +aXN0U3VwZXJVc2VyOiAgICAgICAgICAgICEhaW5mby5pc3RTdXBlclVzZXIsCiAgICAgICAgaXN0 +RmFjaGF1ZnNpY2h0OiAgICAgICAgICEhaW5mby5pc3RGYWNoYXVmc2ljaHQsCiAgICAgICAgLy8g +R2VzYW10dmVyYW50d29ydGxpY2g6IFNVIGltbWVyLCBGYWNoYXVmc2ljaHQgcGVyIEFkbWluLUZs +YWcuCiAgICAgICAgLy8gU3RldWVydCBkZW4gSGVhZGVyLVRhYiAiUHJ1ZWZ1bmciLgogICAgICAg +IGlzdEdlc2FtdHZlcmFudHdvcnRsaWNoOiAhIWluZm8uaXN0R2VzYW10dmVyYW50d29ydGxpY2gs +CiAgICAgICAgc2VoZW46ICAgICAgICAgICAgICAgICAgIGluZm8uc2VoZW4gfHwgeyBhZG1pbmlz +dHJhdGlvbjogZmFsc2UsIHN0YXRpc3RpazogZmFsc2UsIGxvZ2J1Y2g6IGZhbHNlLCBiYWNrdXBz +OiBmYWxzZSB9LAogICAgICAgIC8vIEdyYW51bGFyZSBTdWItU2ljaHRiYXJrZWl0IChTcGVjIEYu +Mik6IG51bGwgPSBTdXBlclVzZXItCiAgICAgICAgLy8gV2lsZGNhcmQgKGFsbGVzIGVybGF1YnQp +LCB7fSA9IG5pY2h0cyBlcmxhdWJ0LCBzb25zdCBNYXAKICAgICAgICAvLyA8c3VidGFifGJlcmVp +Y2g+OiBib29sLiBEZWZhdWx0OiBuaWNodCBpbiBNYXAgPSBlcmxhdWJ0CiAgICAgICAgLy8gKEtv +bmZpZ3VyYXRpb24gaXN0IE5lZ2F0aXYtTGlzdGUpLgogICAgICAgIGFkbWluU3VidGFiczogICAg +ICAgICAgICBpbmZvLmFkbWluU3VidGFicyAhPT0gdW5kZWZpbmVkID8gaW5mby5hZG1pblN1YnRh +YnMgOiBudWxsLAogICAgICAgIHN0YXRpc3Rpa0JlcmVpY2hlOiAgICAgICBpbmZvLnN0YXRpc3Rp +a0JlcmVpY2hlICE9PSB1bmRlZmluZWQgPyBpbmZvLnN0YXRpc3Rpa0JlcmVpY2hlIDogbnVsbCwK +ICAgICAgICAvLyBlZGl0aWVyZW4gPT09IG51bGwgaGVpc3N0ICJXaWxkY2FyZCIgKFN1cGVyVXNl +ciBkYXJmIGFsbGVzKS4KICAgICAgICAvLyBTb25zdCBrb25rcmV0ZSBMaXN0ZW4gdm9uIFBlcnNv +bmVuLUlkcywgRGllbnN0Z3J1cHBlbi1LdWVyemVsbiwgU3RhbmRvcnRlbi4KICAgICAgICBlZGl0 +aWVyZW46ICAgICAgICAgICAgICAgaW5mby5lZGl0aWVyZW4sCiAgICAgICAgbWVpbmVQZXJzb25J +ZDogICAgICAgICAgIGluZm8ubWVpbmVQZXJzb25JZAogICAgfTsKfQoKLy8gPT09PT0gUmVjaHRl +LU9iamVrdC1CdWlsZGVyIChmdWVyIEltcGVyc29uYXRpb24pID09PT09CgovLyBCZXJlY2huZXQg +Wi5yZWNodGUgZnVlciBlaW5lIGdlZ2ViZW5lIEZhY2hhdWZzaWNodC1Lb25maWcsIGFscyB3YWVy +ZQovLyBkaWVzZSBQZXJzb24gZWluZ2Vsb2dndC4gU3BpZWdlbCBkZXIgR2V0LVJlY2h0ZS1Mb2dp +ayBpbSBTZXJ2ZXIuCmV4cG9ydCBmdW5jdGlvbiBiZXJlY2huZUZhY2hhdWZzaWNodFJlY2h0ZShm +YSkgewogICAgdmFyIHNlaGVuID0gZmEuc2VoZW4gfHwge307CiAgICB2YXIgYWRtaW5NYXAgPSBu +dWxsOwogICAgaWYgKHNlaGVuLmFkbWluaXN0cmF0aW9uICYmIGZhLmFkbWluU2ljaHRiYXJrZWl0 +KSB7CiAgICAgICAgYWRtaW5NYXAgPSB7fTsKICAgICAgICBPYmplY3Qua2V5cyhmYS5hZG1pblNp +Y2h0YmFya2VpdCkuZm9yRWFjaChmdW5jdGlvbihrKSB7IGFkbWluTWFwW2tdID0gISFmYS5hZG1p +blNpY2h0YmFya2VpdFtrXTsgfSk7CiAgICB9IGVsc2UgaWYgKCFzZWhlbi5hZG1pbmlzdHJhdGlv +bikgewogICAgICAgIGFkbWluTWFwID0ge307CiAgICB9CiAgICB2YXIgc3RhdGlzdGlrTWFwID0g +bnVsbDsKICAgIGlmIChzZWhlbi5zdGF0aXN0aWsgJiYgZmEuc3RhdGlzdGlrU2ljaHRiYXJrZWl0 +KSB7CiAgICAgICAgc3RhdGlzdGlrTWFwID0ge307CiAgICAgICAgT2JqZWN0LmtleXMoZmEuc3Rh +dGlzdGlrU2ljaHRiYXJrZWl0KS5mb3JFYWNoKGZ1bmN0aW9uKGspIHsgc3RhdGlzdGlrTWFwW2td +ID0gISFmYS5zdGF0aXN0aWtTaWNodGJhcmtlaXRba107IH0pOwogICAgfSBlbHNlIGlmICghc2Vo +ZW4uc3RhdGlzdGlrKSB7CiAgICAgICAgc3RhdGlzdGlrTWFwID0ge307CiAgICB9CiAgICByZXR1 +cm4gewogICAgICAgIHJvbGxlOiAnZmFjaGF1ZnNpY2h0JywKICAgICAgICBpc3RTdXBlclVzZXI6 +IGZhbHNlLAogICAgICAgIGlzdEZhY2hhdWZzaWNodDogdHJ1ZSwKICAgICAgICBpc3RHZXNhbXR2 +ZXJhbnR3b3J0bGljaDogISFmYS5nZXNhbXR2ZXJhbnR3b3J0bGljaCwKICAgICAgICBzZWhlbjog +ewogICAgICAgICAgICBhZG1pbmlzdHJhdGlvbjogISFzZWhlbi5hZG1pbmlzdHJhdGlvbiwKICAg +ICAgICAgICAgc3RhdGlzdGlrOiAgICAgICEhc2VoZW4uc3RhdGlzdGlrLAogICAgICAgICAgICBs +b2didWNoOiAgICAgICAgISFzZWhlbi5sb2didWNoLAogICAgICAgICAgICBiYWNrdXBzOiAgICAg +ICAgISFzZWhlbi5iYWNrdXBzCiAgICAgICAgfSwKICAgICAgICBhZG1pblN1YnRhYnM6ICAgICAg +YWRtaW5NYXAsCiAgICAgICAgc3RhdGlzdGlrQmVyZWljaGU6IHN0YXRpc3Rpa01hcCwKICAgICAg +ICBlZGl0aWVyZW46ICAgICAgICAgZmEuZWRpdGllcmVuIHx8IHsgcGVyc29uZW5JZHM6IFtdLCBk +aWVuc3RncnVwcGVuOiBbXSwgc3RhbmRvcnRlOiBbXSB9LAogICAgICAgIG1laW5lUGVyc29uSWQ6 +ICAgICBudWxsCiAgICB9Owp9CgpleHBvcnQgZnVuY3Rpb24gYmVyZWNobmVSZWd1bGFlclJlY2h0 +ZSgpIHsKICAgIHJldHVybiB7CiAgICAgICAgcm9sbGU6ICdyZWd1bGFlcicsCiAgICAgICAgaXN0 +U3VwZXJVc2VyOiBmYWxzZSwKICAgICAgICBpc3RGYWNoYXVmc2ljaHQ6IGZhbHNlLAogICAgICAg +IGlzdEdlc2FtdHZlcmFudHdvcnRsaWNoOiBmYWxzZSwKICAgICAgICBzZWhlbjogeyBhZG1pbmlz +dHJhdGlvbjogZmFsc2UsIHN0YXRpc3RpazogZmFsc2UsIGxvZ2J1Y2g6IGZhbHNlLCBiYWNrdXBz +OiBmYWxzZSB9LAogICAgICAgIGFkbWluU3VidGFiczoge30sCiAgICAgICAgc3RhdGlzdGlrQmVy +ZWljaGU6IHt9LAogICAgICAgIGVkaXRpZXJlbjogeyBwZXJzb25lbklkczogW10sIGRpZW5zdGdy +dXBwZW46IFtdLCBzdGFuZG9ydGU6IFtdIH0sCiAgICAgICAgbWVpbmVQZXJzb25JZDogbnVsbAog +ICAgfTsKfQoKLy8gV2VidCBkaWUgZ2xvYmFsZW4gU3RhbmRhcmRyZWNodGUgKGdlZ2Vuc2VpdGln +ZSBQbGFudW5nIGplIERpZW5zdGdydXBwZS8KLy8gU3RhbmRvcnQpIGFkZGl0aXYgaW4gZWluIGVk +aXRpZXJlbi1PYmpla3QgZWluIOKAlCBTcGllZ2VsIGRlciBTZXJ2ZXItTG9naWsgaW4KLy8gYmVy +ZWNobmVfcmVjaHRlLiBLbG9udCwgdW0gZGllIEFkbWluLUNvbmZpZyBuaWNodCB6dSBtdXRpZXJl +bi4gV2lyZCBpbiBkZXIKLy8gU1UtVGVzdGFuc2ljaHQgKEltcGVyc29uYXRpb24pIGdlbnV0enQ7 +IGltIEVjaHRiZXRyaWViIGxpZWZlcnQgZGVyIFNlcnZlcgovLyBlZGl0aWVyZW4gYmVyZWl0cyBh +bmdlcmVpY2hlcnQuCmZ1bmN0aW9uIF9zdGFuZGFyZFJlY2h0ZUVpbndlYmVuKGVkaXRpZXJlbiwg +cGVyc29uKSB7CiAgICBpZiAoIWVkaXRpZXJlbiB8fCAhcGVyc29uKSByZXR1cm4gZWRpdGllcmVu +OwogICAgdmFyIHNyID0gKFouYWRtaW4gJiYgWi5hZG1pbi5zdGFuZGFyZFJlY2h0ZSkgfHwge307 +CiAgICB2YXIgZ2cgPSBzci5nZWdlbnNlaXRpZ0dydXBwZW4gfHwgW107CiAgICB2YXIgZ3MgPSBz +ci5nZWdlbnNlaXRpZ1N0YW5kb3J0ZSB8fCBbXTsKICAgIHZhciBkZyA9IChlZGl0aWVyZW4uZGll +bnN0Z3J1cHBlbiB8fCBbXSkuc2xpY2UoKTsKICAgIHZhciBzbyA9IChlZGl0aWVyZW4uc3RhbmRv +cnRlIHx8IFtdKS5zbGljZSgpOwogICAgaWYgKHBlcnNvbi5ncnVwcGUgJiYgZ2cuaW5kZXhPZihw +ZXJzb24uZ3J1cHBlKSA+PSAwICYmIGRnLmluZGV4T2YocGVyc29uLmdydXBwZSkgPCAwKSBkZy5w +dXNoKHBlcnNvbi5ncnVwcGUpOwogICAgaWYgKHBlcnNvbi5vZSAmJiBncy5pbmRleE9mKHBlcnNv +bi5vZSkgPj0gMCAmJiBzby5pbmRleE9mKHBlcnNvbi5vZSkgPCAwKSBzby5wdXNoKHBlcnNvbi5v +ZSk7CiAgICByZXR1cm4geyBwZXJzb25lbklkczogKGVkaXRpZXJlbi5wZXJzb25lbklkcyB8fCBb +XSkuc2xpY2UoKSwgZGllbnN0Z3J1cHBlbjogZGcsIHN0YW5kb3J0ZTogc28gfTsKfQoKLy8gQmVy +ZWNobmV0IFoucmVjaHRlIGZ1ZXIgZWluZSBrb25rcmV0ZSBQZXJzb24sIGFscyB3YWVyZSBzaWUg +ZWluZ2Vsb2dndC4KLy8gU3RlaHQgZGllIFBlcnNvbiBpbiBkZXIgRmFjaGF1ZnNpY2h0LUxpc3Rl +IChNYXRjaCB1ZWJlciBud0tlbm51bmcsIHNvbnN0Ci8vIE5hbWUpLCBlcmJ0IHNpZSBkZXJlbiBS +ZWNodGUg4oCUIHNvbnN0IGlzdCBzaWUgcmVndWxhZXJlciBFbmRhbndlbmRlci4gSW4KLy8gYmVp +ZGVuIEZhZWxsZW4gd2lyZCBtZWluZVBlcnNvbklkIGdlc2V0enQsIGRhbWl0IGRpZSBaZWxsLUVk +aXQtTG9naWsKLy8gKGVpZ2VuZSBaZWlsZSArIE1pa3JvdGVhbSkgaW4gZGVyIFRlc3RhbnNpY2h0 +IGtvcnJla3QgZ3JlaWZ0LgpleHBvcnQgZnVuY3Rpb24gYmVyZWNobmVQZXJzb25SZWNodGUocGVy +c29uKSB7CiAgICBpZiAoIXBlcnNvbikgcmV0dXJuIGJlcmVjaG5lUmVndWxhZXJSZWNodGUoKTsK +ICAgIHZhciBudyA9IChwZXJzb24ubndLZW5udW5nIHx8ICcnKS50cmltKCkudG9Mb3dlckNhc2Uo +KTsKICAgIHZhciBubSA9IChwZXJzb24ubmFtZSB8fCAnJykudHJpbSgpLnRvTG93ZXJDYXNlKCk7 +CiAgICB2YXIgZmEgPSAoWi5hZG1pbiAmJiBaLmFkbWluLmZhY2hhdWZzaWNodCB8fCBbXSkuZmlu +ZChmdW5jdGlvbihmKSB7CiAgICAgICAgdmFyIGZudyA9IChmLm53S2VubnVuZyB8fCAnJykudHJp +bSgpLnRvTG93ZXJDYXNlKCk7CiAgICAgICAgaWYgKG53ICYmIGZudyAmJiBmbncgPT09IG53KSBy +ZXR1cm4gdHJ1ZTsKICAgICAgICByZXR1cm4gISFubSAmJiAoZi5uYW1lIHx8ICcnKS50cmltKCku +dG9Mb3dlckNhc2UoKSA9PT0gbm07CiAgICB9KTsKICAgIHZhciByID0gZmEgPyBiZXJlY2huZUZh +Y2hhdWZzaWNodFJlY2h0ZShmYSkgOiBiZXJlY2huZVJlZ3VsYWVyUmVjaHRlKCk7CiAgICByLm1l +aW5lUGVyc29uSWQgPSBwZXJzb24uaWQ7CiAgICByLmVkaXRpZXJlbiA9IF9zdGFuZGFyZFJlY2h0 +ZUVpbndlYmVuKHIuZWRpdGllcmVuLCBwZXJzb24pOwogICAgcmV0dXJuIHI7Cn0KCi8vID09PT09 +IEltcGVyc29uYXRpb24tTW9kZSAoU1UtVGVzdGFuc2ljaHQpID09PT09Ci8vCi8vIFN1cGVyVXNl +ciBrYW5uIHNpY2ggZGllIE9iZXJmbGFlY2hlIHNvIGFuemVpZ2VuIGxhc3Nlbiwgd2llIGVpbmUg +YW5kZXJlCi8vIFJvbGxlIHNpZSBzaWVodCAoRmFjaGF1ZnNpY2h0IG5hY2ggaWhyZXIgU2ljaHRi +YXJrZWl0cy1Lb25maWd1cmF0aW9uLAovLyBvZGVyIHJlZ3VsYWVyZXIgRW5kYW53ZW5kZXIpLiBS +ZWluIGNsaWVudHNlaXRpZyDigJQgWi5yZWNodGUgd2lyZAovLyB0ZW1wb3JhZXIgdW1nZXNjaHJp +ZWJlbjsgYmVpbSBadXJ1ZWNrc2NoYWx0ZW4ga29tbXQgZGVyIE9yaWdpbmFsc3RhbmQKLy8gYXVz +IHJlY2h0ZU9yaWdpbmFsIHp1cnVlY2suIERlciBTZXJ2ZXIgd2Vpc3MgbmljaHRzIGRhdm9uLCBi +bGVpYnQgU1UuCgp2YXIgcmVjaHRlT3JpZ2luYWwgPSBudWxsOwovLyBCZWltIFN0YXJ0IGVpbmVy +IEltcGVyc29uYXRpb24gZ2VtZXJrdGVyIEhlYWRlci1UYWIgKyBBZG1pbi1TdWItVGFiLAovLyBk +YW1pdCBpbXBlcnNvbmF0ZUVuZCgpIGRlbiB2b3JpZ2VuIFN0YW5kIHdpZWRlcmhlcnN0ZWxsdCBz +dGF0dCBlaW5mYWNoCi8vIGF1ZiAiZGVyIGVyc3RlIGVybGF1YnRlIiB6dXJ1ZWNrenVmYWxsZW4g +KENoZXJyeS1QaWNrIGRhNDNjMjEgKyA5YWY5Njg0KS4KdmFyIGFuc2ljaHRWb3JJbXBlcnNvbmF0 +aW9uID0gbnVsbDsKdmFyIGFkbWluU3VidGFiVm9ySW1wZXJzb25hdGlvbiA9IG51bGw7Ci8vIEJl +aW0gUGVyc29uLVRlc3Qgd2lyZCBaLm1laW5lUGVyc29uSWQgdGVtcG9yYWVyIGF1ZiBkaWUgZ2V0 +ZXN0ZXRlIFBlcnNvbgovLyB1bWdlYm9nZW4gKHNvbnN0IGdyZWlmdCBkaWUgImVpZ2VuZSBaZWls +ZSArIE1pa3JvdGVhbSItRWRpdC1Mb2dpayB3ZWl0ZXIKLy8gYXVmIGRpZSBTVS1QZXJzb24pLiBI +aWVyIGRlciBPcmlnaW5hbC1XZXJ0IGZ1ZXIgaW1wZXJzb25hdGVFbmQuCnZhciBtZWluZVBlcnNv +bklkVm9ySW1wZXJzb25hdGlvbiA9IG51bGw7CgovLyBFeGlzdGllcnQgZWluIGdlc3BlaWNoZXJ0 +ZXIgT3JpZ2luYWwtUmVjaHRlLVNuYXBzaG90PyBXaXJkIHZvbQovLyBhZG1pbkhvdFJlbG9hZCAo +aW4gYXBwLmpzKSBnZWJyYXVjaHQ6IHdhZWhyZW5kIGVpbmVyIEltcGVyc29uYXRpb24KLy8gc29s +bCBrZWluIEhvdC1SZWxvYWQgZGFzIFoucmVjaHRlLVNwaWVsZmVsZCB1bXNvcnRpZXJlbi4KZXhw +b3J0IGZ1bmN0aW9uIGltcGVyc29uYXRpb25Ba3RpdigpIHsgcmV0dXJuIHJlY2h0ZU9yaWdpbmFs +ICE9PSBudWxsOyB9CgpleHBvcnQgZnVuY3Rpb24gaW1wZXJzb25hdGVBbndlbmRlbihsYWJlbFRl +eHQpIHsKICAgIGlmIChsYWJlbFRleHQpIGltcGVyc29uYXRlQmFubmVyWmVpZ2VuKGxhYmVsVGV4 +dCk7CiAgICBlbHNlIGltcGVyc29uYXRlQmFubmVyVmVyc3RlY2tlbigpOwogICAgbmF2U2ljaHRi +YXJrZWl0QW53ZW5kZW4oKTsKICAgIGFkbWluU3VidGFiRmlsdGVyQW53ZW5kZW4oKTsKICAgIC8v +IE9iZXJmbGFlY2hlIGZ1ZXIgZGVuIG5ldWVuIEtvbnRleHQgbmV1IHJlbmRlcm4uIGFkbWluUmVu +ZGVybgogICAgLy8gbGFldWZ0IGFsbGUgQWRtaW4tU3ViLVJlbmRlcmVyIChQZXJzb25hbCwgR3J1 +cHBlbiwgRmVpZXJ0YWdlLAogICAgLy8g4oCmLCBTdXBlclVzZXIsIEZhY2hhdWZzaWNodCkg4oCU +IGRhbWl0IGRlciBTVS1vbmx5LUhpbndlaXMgaW4KICAgIC8vICJSZWNodGUgJiBTaWNodGJhcmtl +aXQiIGJlaW0gWnVydWVja3NjaGFsdGVuIHZlcnNjaHdpbmRldAogICAgLy8gdW5kIEdhbGVja2lz +IFNpY2h0IGJlaW0gRWluc2NoYWx0ZW4ga29ycmVrdCBlaW5nZXNjaHJhZW5rdAogICAgLy8gZXJz +Y2hlaW50IChLZWluLVp1Z3JpZmYtQmxvY2tlcikuCiAgICBpZiAocGVybWlzc2lvbkhvb2tzLmFk +bWluUmVuZGVybikgcGVybWlzc2lvbkhvb2tzLmFkbWluUmVuZGVybigpOwogICAgaWYgKHBlcm1p +c3Npb25Ib29rcy5rb3BmUmVuZGVybikgcGVybWlzc2lvbkhvb2tzLmtvcGZSZW5kZXJuKCk7CiAg +ICBpZiAocGVybWlzc2lvbkhvb2tzLnN0YXRpc3Rpa1JlbmRlcm4pIHBlcm1pc3Npb25Ib29rcy5z +dGF0aXN0aWtSZW5kZXJuKCk7CiAgICBpZiAocGVybWlzc2lvbkhvb2tzLmJlc2V0enVuZ3Nrb250 +cm9sbGVSZW5kZXJuKSBwZXJtaXNzaW9uSG9va3MuYmVzZXR6dW5nc2tvbnRyb2xsZVJlbmRlcm4o +KTsKICAgIC8vIEdyaWQgbmV1IHplaWNobmVuLCBkYW1pdCBkaWUgWmVsbC1TcGVycmVuIHp1bSBu +ZXVlbiBSZWNodGUtS29udGV4dCBwYXNzZW4uCiAgICBpZiAocGVybWlzc2lvbkhvb2tzLmdyaWRS +ZW5kZXJuKSBwZXJtaXNzaW9uSG9va3MuZ3JpZFJlbmRlcm4oKTsKfQoKZnVuY3Rpb24gX2ltcGVy +c29uYXRpb25TdGF0ZVNpY2hlcm4oKSB7CiAgICB2YXIgbmF2QWt0aXYgPSBkb2N1bWVudC5xdWVy +eVNlbGVjdG9yKCcubmF2LWJ0bi5ha3RpdicpOwogICAgdmFyIGFkbWluQWt0aXYgPSBkb2N1bWVu +dC5xdWVyeVNlbGVjdG9yKCcuYWRtaW4tbmF2LWJ0bi5ha3RpdicpOwogICAgYW5zaWNodFZvcklt +cGVyc29uYXRpb24gPSBuYXZBa3RpdiA/IG5hdkFrdGl2LmdldEF0dHJpYnV0ZSgnZGF0YS1hbnNp +Y2h0JykgOiBudWxsOwogICAgYWRtaW5TdWJ0YWJWb3JJbXBlcnNvbmF0aW9uID0gYWRtaW5Ba3Rp +diA/IGFkbWluQWt0aXYuZ2V0QXR0cmlidXRlKCdkYXRhLWFkbWluLXRhYicpIDogbnVsbDsKICAg +IG1laW5lUGVyc29uSWRWb3JJbXBlcnNvbmF0aW9uID0gWi5tZWluZVBlcnNvbklkOwp9CgpmdW5j +dGlvbiBfYXVmUGxhbnVuZ3NhbnNpY2h0U3ByaW5nZW4oKSB7CiAgICAvLyBEYW1pdCBkZXIgU1Ug +c29mb3J0IHNpZWh0LCB3YXMgZGllIGltcGVyc29uaWVydGUgUGVyc29uIGltIEdyaWQgc2llaHQu +CiAgICBpZiAocGVybWlzc2lvbkhvb2tzLmFuc2ljaHRXZWNoc2VsbikgcGVybWlzc2lvbkhvb2tz +LmFuc2ljaHRXZWNoc2VsbigncGxhbnVuZycpOwp9CgpleHBvcnQgZnVuY3Rpb24gaW1wZXJzb25h +dGVTdGFydChpZHgpIHsKICAgIGlmICghcmVjaHRlT3JpZ2luYWwgJiYgIVoucmVjaHRlLmlzdFN1 +cGVyVXNlcikgcmV0dXJuOwogICAgdmFyIGZhID0gKFouYWRtaW4uZmFjaGF1ZnNpY2h0IHx8IFtd +KVtpZHhdOwogICAgaWYgKCFmYSkgcmV0dXJuOwogICAgaWYgKCFyZWNodGVPcmlnaW5hbCkgewog +ICAgICAgIHJlY2h0ZU9yaWdpbmFsID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShaLnJlY2h0 +ZSkpOwogICAgICAgIF9pbXBlcnNvbmF0aW9uU3RhdGVTaWNoZXJuKCk7CiAgICB9CiAgICBaLnJl +Y2h0ZSA9IGJlcmVjaG5lRmFjaGF1ZnNpY2h0UmVjaHRlKGZhKTsKICAgIGltcGVyc29uYXRlQW53 +ZW5kZW4oJ0ZhY2hhdWZzaWNodDogJyArIChmYS5uYW1lIHx8ICcob2huZSBOYW1lKScpKTsKICAg +IF9hdWZQbGFudW5nc2Fuc2ljaHRTcHJpbmdlbigpOwp9CgpleHBvcnQgZnVuY3Rpb24gaW1wZXJz +b25hdGVSZWd1bGFlcigpIHsKICAgIGlmICghcmVjaHRlT3JpZ2luYWwgJiYgIVoucmVjaHRlLmlz +dFN1cGVyVXNlcikgcmV0dXJuOwogICAgaWYgKCFyZWNodGVPcmlnaW5hbCkgewogICAgICAgIHJl +Y2h0ZU9yaWdpbmFsID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShaLnJlY2h0ZSkpOwogICAg +ICAgIF9pbXBlcnNvbmF0aW9uU3RhdGVTaWNoZXJuKCk7CiAgICB9CiAgICBaLnJlY2h0ZSA9IGJl +cmVjaG5lUmVndWxhZXJSZWNodGUoKTsKICAgIGltcGVyc29uYXRlQW53ZW5kZW4oJ1JlZ3Vsw6Ry +ZXIgRW5kYW53ZW5kZXIgKG9obmUgUmVjaHRlKScpOwogICAgX2F1ZlBsYW51bmdzYW5zaWNodFNw +cmluZ2VuKCk7Cn0KCi8vIFRlc3RhbnNpY2h0IGFscyBlaW5lIGtvbmtyZXRlIFBlcnNvbiAoYXVz +IGRlciBQZXJzb25hbC1MaXN0ZSkuIFNldHp0Ci8vIHp1c2FldHpsaWNoIFoubWVpbmVQZXJzb25J +ZCwgZGFtaXQgImVpZ2VuZSBaZWlsZSArIE1pa3JvdGVhbSIgaW0gR3JpZAovLyBnZW5hdSBkYXMg +emVpZ3QsIHdhcyBkaWVzZSBQZXJzb24gZWRpdGllcmVuIGRhcmYuCmV4cG9ydCBmdW5jdGlvbiBp +bXBlcnNvbmF0ZVBlcnNvbihwZXJzb25JZCkgewogICAgaWYgKCFyZWNodGVPcmlnaW5hbCAmJiAh +Wi5yZWNodGUuaXN0U3VwZXJVc2VyKSByZXR1cm47CiAgICB2YXIgcCA9IChaLnBlcnNvbmVuIHx8 +IFtdKS5maW5kKGZ1bmN0aW9uKHgpIHsgcmV0dXJuIFN0cmluZyh4LmlkKSA9PT0gU3RyaW5nKHBl +cnNvbklkKTsgfSk7CiAgICBpZiAoIXApIHJldHVybjsKICAgIGlmICghcmVjaHRlT3JpZ2luYWwp +IHsKICAgICAgICByZWNodGVPcmlnaW5hbCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoWi5y +ZWNodGUpKTsKICAgICAgICBfaW1wZXJzb25hdGlvblN0YXRlU2ljaGVybigpOwogICAgfQogICAg +Wi5yZWNodGUgPSBiZXJlY2huZVBlcnNvblJlY2h0ZShwKTsKICAgIFoubWVpbmVQZXJzb25JZCA9 +IHAuaWQ7CiAgICB2YXIgbGFiZWwgPSAocC5uYW1lIHx8ICcob2huZSBOYW1lKScpICsgKHAudm9y +bmFtZSA/ICcgJyArIHAudm9ybmFtZSA6ICcnKSArIChwLmdydXBwZSA/ICcgWycgKyBwLmdydXBw +ZSArICddJyA6ICcnKTsKICAgIGltcGVyc29uYXRlQW53ZW5kZW4oJ1BlcnNvbjogJyArIGxhYmVs +KTsKICAgIF9hdWZQbGFudW5nc2Fuc2ljaHRTcHJpbmdlbigpOwp9CgpleHBvcnQgZnVuY3Rpb24g +aW1wZXJzb25hdGVFbmQoKSB7CiAgICBpZiAoIXJlY2h0ZU9yaWdpbmFsKSByZXR1cm47CiAgICBa +LnJlY2h0ZSA9IHJlY2h0ZU9yaWdpbmFsOwogICAgcmVjaHRlT3JpZ2luYWwgPSBudWxsOwogICAg +Ly8gRmFsbHMgZWluZSBQZXJzb24gZ2V0ZXN0ZXQgd3VyZGU6IFoubWVpbmVQZXJzb25JZCB6dXJ1 +ZWNrc3RlbGxlbi4KICAgIFoubWVpbmVQZXJzb25JZCA9IG1laW5lUGVyc29uSWRWb3JJbXBlcnNv +bmF0aW9uOwogICAgbWVpbmVQZXJzb25JZFZvckltcGVyc29uYXRpb24gPSBudWxsOwogICAgLy8g +R2xlaWNoZW4gUmVuZGVyLVBmYWQgd2llIGJlaW0gU3RhcnQg4oCUIGRhbWl0IGFsbGUgQWRtaW4t +U3ViLQogICAgLy8gQmVyZWljaGUgKHouQi4gIlJlY2h0ZSAmIFNpY2h0YmFya2VpdCIpIGlocmVu +IFNVLW9ubHktQmxvY2tlcgogICAgLy8gd2llZGVyIGFiYmF1ZW4uCiAgICBpbXBlcnNvbmF0ZUFu +d2VuZGVuKG51bGwpOwogICAgLy8gVm9yaGVyaWdlbiBIZWFkZXItVGFiIHJlc3RhdXJpZXJlbiAo +c29uc3QgYmxlaWJ0IGRlciBVc2VyIGF1ZiBkZXIKICAgIC8vIFBsYW51bmdzLUFuc2ljaHQgaGFl +bmdlbiwgYXVmIGRpZSB3aXIgYmVpbSBTdGFydCBnZXNwcnVuZ2VuIHNpbmQpLgogICAgaWYgKGFu +c2ljaHRWb3JJbXBlcnNvbmF0aW9uICYmIHBlcm1pc3Npb25Ib29rcy5hbnNpY2h0V2VjaHNlbG4p +IHsKICAgICAgICBwZXJtaXNzaW9uSG9va3MuYW5zaWNodFdlY2hzZWxuKGFuc2ljaHRWb3JJbXBl +cnNvbmF0aW9uKTsKICAgIH0KICAgIGFuc2ljaHRWb3JJbXBlcnNvbmF0aW9uID0gbnVsbDsKICAg +IC8vIFZvcmhlcmlnZW4gQWRtaW4tU3ViLVRhYiB3aWVkZXIgYWt0aXZpZXJlbi4gYWRtaW5TdWJ0 +YWJGaWx0ZXJBbndlbmRlbgogICAgLy8gaGF0IG9iZW4gaW4gaW1wZXJzb25hdGVBbndlbmRlbigp +IGJlcmVpdHMgYWxsZSBCdXR0b25zIHNpY2h0YmFyIGdlbWFjaHQsCiAgICAvLyBhbHNvIGthbm4g +ZGVyIEtsaWNrIGpldHp0IHdpZWRlciBkdXJjaGxhdWZlbi4KICAgIGlmIChhZG1pblN1YnRhYlZv +ckltcGVyc29uYXRpb24pIHsKICAgICAgICB2YXIgYnRuID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv +cignLmFkbWluLW5hdi1idG5bZGF0YS1hZG1pbi10YWI9IicgKyBhZG1pblN1YnRhYlZvckltcGVy +c29uYXRpb24gKyAnIl0nKTsKICAgICAgICBpZiAoYnRuKSBidG4uY2xpY2soKTsKICAgIH0KICAg +IGFkbWluU3VidGFiVm9ySW1wZXJzb25hdGlvbiA9IG51bGw7Cn0KCmV4cG9ydCBmdW5jdGlvbiBp +bXBlcnNvbmF0ZUJhbm5lclplaWdlbihsYWJlbCkgewogICAgdmFyIGIgPSBkb2N1bWVudC5nZXRF +bGVtZW50QnlJZCgnaW1wZXJzb25hdGUtYmFubmVyJyk7CiAgICBpZiAoIWIpIHsKICAgICAgICBi +ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgYi5pZCA9ICdpbXBlcnNv +bmF0ZS1iYW5uZXInOwogICAgICAgIGIuY2xhc3NOYW1lID0gJ2ltcGVyc29uYXRlLWJhbm5lcic7 +CiAgICAgICAgYi5pbm5lckhUTUwgPSAnPHNwYW4gY2xhc3M9ImltcC1pY29uIj7wn5GBPC9zcGFu +PjxzcGFuIGNsYXNzPSJpbXAtdGV4dCI+PC9zcGFuPicgKwogICAgICAgICAgICAnPGJ1dHRvbiBj +bGFzcz0iYnRuIGJ0bi1rbGVpbiIgaWQ9ImltcC1idG4tenVydWVjayIgdHlwZT0iYnV0dG9uIj5a +dXLDvGNrIHp1ciBTVS1TaWNodDwvYnV0dG9uPic7CiAgICAgICAgZG9jdW1lbnQuYm9keS5pbnNl +cnRCZWZvcmUoYiwgZG9jdW1lbnQuYm9keS5maXJzdENoaWxkKTsKICAgICAgICBkb2N1bWVudC5n +ZXRFbGVtZW50QnlJZCgnaW1wLWJ0bi16dXJ1ZWNrJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2sn +LCBpbXBlcnNvbmF0ZUVuZCk7CiAgICB9CiAgICBiLnF1ZXJ5U2VsZWN0b3IoJy5pbXAtdGV4dCcp +LnRleHRDb250ZW50ID0gJ1Rlc3RhbnNpY2h0IOKAlCAnICsgbGFiZWw7CiAgICBiLnN0eWxlLmRp +c3BsYXkgPSAnJzsKfQoKZXhwb3J0IGZ1bmN0aW9uIGltcGVyc29uYXRlQmFubmVyVmVyc3RlY2tl +bigpIHsKICAgIHZhciBiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltcGVyc29uYXRlLWJh +bm5lcicpOwogICAgaWYgKGIpIGIuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKfQoKLy8gPT09PT0g +U3ViLVNpY2h0YmFya2VpdHMtRmlsdGVyIChBZG1pbikgPT09PT0KLy8KLy8gVmVyc3RlY2t0IGRp +ZWplbmlnZW4gU3ViLVRhYi1CdXR0b25zICsgQ29udGFpbmVyLCBmdWVyIGRpZSBkZXIgYWt0dWVs +bGUKLy8gVXNlciBrZWluZSBCZXJlY2h0aWd1bmcgaGF0LiBTdXBlclVzZXIgc2llaHQgaW1tZXIg +YWxsZXMuCi8vIFNpY2hlcmhlaXRza3JpdGlzY2hlIFRhYnMgKHN1cGVydXNlciwgZmFjaGF1ZnNp +Y2h0LCBzaWNodGJhcmtlaXQpIGJsZWliZW4KLy8gaGFydGtvZGllcnQgU1Utb25seSDigJQgZGll +IEdyYW51bGFyLU1hcCBrYW5uIHNpZSBuaWNodCBmcmVpc2NoYWx0ZW4uCgp2YXIgQURNSU5fU1VC +VEFCU19OSUVNQUxTX0ZVRVJfRkFDSEFVRlNJQ0hUID0gWydzdXBlcnVzZXInLCAnZmFjaGF1ZnNp +Y2h0JywgJ3NpY2h0YmFya2VpdCcsICdmZWF0dXJlcycsICd0ZXN0ZGF0ZW4nLCAnaGlud2Vpc2Ut +cHJvdG9rb2xsJywgJ21pdHRlaWx1bmdlbicsICdzdGF0aXN0aWstbGF5b3V0JywgJ3N0YW5kYXJk +cmVjaHRlJ107CgpleHBvcnQgZnVuY3Rpb24gYWRtaW5TdWJ0YWJGaWx0ZXJBbndlbmRlbigpIHsK +ICAgIGlmICghWi5yZWNodGUpIHJldHVybjsKICAgIGlmIChaLnJlY2h0ZS5pc3RTdXBlclVzZXIp +IHsKICAgICAgICAvLyBTVTogYWxsZSB3aWVkZXIgc2ljaHRiYXIgbWFjaGVuICh3aWNodGlnIG5h +Y2ggSW1wZXJzb25hdGlvbi1FbmRlKQogICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwo +Jy5hZG1pbi1uYXYtYnRuJykuZm9yRWFjaChmdW5jdGlvbihidG4pIHsgYnRuLnN0eWxlLmRpc3Bs +YXkgPSAnJzsgfSk7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmFkbWluLW5h +di1ncnVwcGUnKS5mb3JFYWNoKGZ1bmN0aW9uKGcpIHsgZy5zdHlsZS5kaXNwbGF5ID0gJyc7IH0p +OwogICAgICAgIHJldHVybjsKICAgIH0KICAgIHZhciBlcnN0ZXJFcmxhdWJ0ZXIgPSBudWxsOwog +ICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmFkbWluLW5hdi1idG4nKS5mb3JFYWNoKGZ1 +bmN0aW9uKGJ0bikgewogICAgICAgIHZhciBuYW1lID0gYnRuLmdldEF0dHJpYnV0ZSgnZGF0YS1h +ZG1pbi10YWInKTsKICAgICAgICB2YXIgZXJsYXVidCA9IGRhcmZBZG1pblN1YnRhYihuYW1lKSAm +JiBBRE1JTl9TVUJUQUJTX05JRU1BTFNfRlVFUl9GQUNIQVVGU0lDSFQuaW5kZXhPZihuYW1lKSA8 +IDA7CiAgICAgICAgYnRuLnN0eWxlLmRpc3BsYXkgPSBlcmxhdWJ0ID8gJycgOiAnbm9uZSc7CiAg +ICAgICAgaWYgKCFlcmxhdWJ0KSB7CiAgICAgICAgICAgIHZhciB0YWIgPSBkb2N1bWVudC5nZXRF +bGVtZW50QnlJZCgnYWRtaW4tdGFiLScgKyBuYW1lKTsKICAgICAgICAgICAgaWYgKHRhYikgdGFi +LmNsYXNzTGlzdC5hZGQoJ3ZlcnN0ZWNrdCcpOwogICAgICAgIH0gZWxzZSBpZiAoIWVyc3RlckVy +bGF1YnRlcikgewogICAgICAgICAgICBlcnN0ZXJFcmxhdWJ0ZXIgPSBidG47CiAgICAgICAgfQog +ICAgfSk7CiAgICAvLyBHcnVwcGVuLUhlYWRlciAoU2lkZWJhci1DbHVzdGVyKSBhdXRvLWhpZGVu +LCB3ZW5uIGFsbGUgQnV0dG9ucyBpbgogICAgLy8gZGVyIEdydXBwZSB2ZXJzdGVja3Qgc2luZCDi +gJQgc29uc3QgYmxlaWJ0IGVpbmUgVWViZXJzY2hyaWZ0IG9obmUKICAgIC8vIEluaGFsdCBzdGVo +ZW4uCiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYWRtaW4tbmF2LWdydXBwZScpLmZv +ckVhY2goZnVuY3Rpb24oZ3J1cHBlKSB7CiAgICAgICAgdmFyIGhhdFNpY2h0YmFyID0gZmFsc2U7 +CiAgICAgICAgZ3J1cHBlLnF1ZXJ5U2VsZWN0b3JBbGwoJy5hZG1pbi1uYXYtYnRuJykuZm9yRWFj +aChmdW5jdGlvbihiKSB7CiAgICAgICAgICAgIGlmIChiLnN0eWxlLmRpc3BsYXkgIT09ICdub25l +JykgaGF0U2ljaHRiYXIgPSB0cnVlOwogICAgICAgIH0pOwogICAgICAgIGdydXBwZS5zdHlsZS5k +aXNwbGF5ID0gaGF0U2ljaHRiYXIgPyAnJyA6ICdub25lJzsKICAgIH0pOwogICAgLy8gRmFsbHMg +YWt0dWVsbCBha3RpdmVyIFN1Yi1UYWIgdmVyc3RlY2t0IHd1cmRlOiB6dW0gZXJzdGVuIGVybGF1 +YnRlbiBzcHJpbmdlbgogICAgdmFyIGFrdGl2ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmFk +bWluLW5hdi1idG4uYWt0aXYnKTsKICAgIGlmIChha3RpdiAmJiBha3Rpdi5zdHlsZS5kaXNwbGF5 +ID09PSAnbm9uZScgJiYgZXJzdGVyRXJsYXVidGVyKSBlcnN0ZXJFcmxhdWJ0ZXIuY2xpY2soKTsK +fQoKLy8gPT09PT0gRWRpdC1CZXJlY2h0aWd1bmcgcHJvIFplbGxlID09PT09CgovLyBMaWVmZXJ0 +IGFsbGUgUGVyc29uLUlEcywgZGllIG1pdCBkZW0gYWt0dWVsbGVuIFVzZXIgaW4gbWluZGVzdGVu +cwovLyBlaW5lbSBNaWtyb3RlYW0gc2l0emVuLiBXaXJkIGluIGRhcmZaZWxsZUVkaXRpZXJlbiBi +ZW51dHp0IOKAlCBqZWRlcgovLyBVc2VyIGRhcmYgc2VpbiBNaWtyb3RlYW0gbWl0LXBsYW5lbiAo +VXNlci1XdW5zY2ggMjAyNi0wNS0yMykuCmV4cG9ydCBmdW5jdGlvbiBtZWluZU1pa3JvdGVhbVBl +cnNvbklkcygpIHsKICAgIGlmICghWi5tZWluZVBlcnNvbklkIHx8ICFaLmFkbWluIHx8ICFaLmFk +bWluLm1pa3JvdGVhbXMpIHJldHVybiBbXTsKICAgIHZhciBtZWluZSA9IE51bWJlcihaLm1laW5l +UGVyc29uSWQpOwogICAgdmFyIGlkcyA9IFtdOwogICAgWi5hZG1pbi5taWtyb3RlYW1zLmZvckVh +Y2goZnVuY3Rpb24odCkgewogICAgICAgIGlmICghdCB8fCAhdC5wZXJzb25JZHMgfHwgdC5wZXJz +b25JZHMuaW5kZXhPZihtZWluZSkgPCAwKSByZXR1cm47CiAgICAgICAgdC5wZXJzb25JZHMuZm9y +RWFjaChmdW5jdGlvbihwaWQpIHsKICAgICAgICAgICAgaWYgKGlkcy5pbmRleE9mKHBpZCkgPCAw +KSBpZHMucHVzaChwaWQpOwogICAgICAgIH0pOwogICAgfSk7CiAgICByZXR1cm4gaWRzOwp9Cgov +LyBQcnVlZnQsIG9iIGRlciBha3R1ZWxsZSBCZW51dHplciBlaW5lIGJlc3RpbW10ZSBaZWxsZSBl +ZGl0aWVyZW4gZGFyZi4KLy8gU3VwZXJVc2VyOiBpbW1lci4gU29uc3QgZWlnZW5lIFplaWxlICsg +TWlrcm90ZWFtLU1pdGdsaWVkZXIgKyBrb25maWd1cmllcnRlCi8vIExpc3RlbiAocGVyc29uZW5J +ZHMgLyBkaWVuc3RncnVwcGVuIC8gc3RhbmRvcnRlIGF1cyBaLnJlY2h0ZS5lZGl0aWVyZW4pLgpl +eHBvcnQgZnVuY3Rpb24gZGFyZlplbGxlRWRpdGllcmVuKHBlcnNvbklkKSB7CiAgICBpZiAoIVou +cmVjaHRlKSByZXR1cm4gZmFsc2U7CiAgICBpZiAoWi5yZWNodGUuZWRpdGllcmVuID09PSBudWxs +IHx8IFoucmVjaHRlLmVkaXRpZXJlbiA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdHJ1ZTsgLy8gU3Vw +ZXJVc2VyCiAgICBpZiAoWi5tZWluZVBlcnNvbklkICE9IG51bGwgJiYgU3RyaW5nKFoubWVpbmVQ +ZXJzb25JZCkgPT09IFN0cmluZyhwZXJzb25JZCkpIHJldHVybiB0cnVlOwogICAgdmFyIHAgPSBa +LnBlcnNvbmVuLmZpbmQoZnVuY3Rpb24oeCkgeyByZXR1cm4gU3RyaW5nKHguaWQpID09PSBTdHJp +bmcocGVyc29uSWQpOyB9KTsKICAgIGlmICghcCkgcmV0dXJuIGZhbHNlOwogICAgLy8gTWlrcm90 +ZWFtOiBhbGxlIE1pdGdsaWVkZXIgZWluZXMgVGVhbXMgZHVlcmZlbiBkYXMgVGVhbSBnZW1laW5z +YW0gcGxhbmVuLgogICAgaWYgKG1laW5lTWlrcm90ZWFtUGVyc29uSWRzKCkuaW5kZXhPZihOdW1i +ZXIocC5pZCkpID49IDApIHJldHVybiB0cnVlOwogICAgdmFyIGVkID0gWi5yZWNodGUuZWRpdGll +cmVuOwogICAgaWYgKChlZC5wZXJzb25lbklkcyB8fCBbXSkuaW5kZXhPZihOdW1iZXIocC5pZCkp +ID49IDApIHJldHVybiB0cnVlOwogICAgaWYgKHAuZ3J1cHBlICYmIChlZC5kaWVuc3RncnVwcGVu +IHx8IFtdKS5pbmRleE9mKHAuZ3J1cHBlKSA+PSAwKSByZXR1cm4gdHJ1ZTsKICAgIGlmIChwLm9l +ICYmIChlZC5zdGFuZG9ydGUgfHwgW10pLmluZGV4T2YocC5vZSkgPj0gMCkgcmV0dXJuIHRydWU7 +CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8vID09PT09IEhlYWRlci1UYWItU2ljaHRiYXJrZWl0IChB +ZG1pbi9TdGF0aXN0aWsvTG9nYnVjaC9CZXNldHp1bmcpID09PT09CgpleHBvcnQgZnVuY3Rpb24g +bmF2U2ljaHRiYXJrZWl0QW53ZW5kZW4oKSB7CiAgICB2YXIgbmF2ID0gewogICAgICAgICduYXYt +YWRtaW4nOiAgICAgICAgZGFyZkFkbWluVGFiKCksCiAgICAgICAgJ25hdi1zdGF0aXN0aWsnOiAg +ICBkYXJmU3RhdGlzdGlrKCksCiAgICAgICAgJ25hdi1sb2didWNoJzogICAgICBkYXJmTG9nYnVj +aCgpLAogICAgICAgICduYXYtYmVzZXR6dW5nJzogICAgISEoWi5yZWNodGUgJiYgWi5yZWNodGUu +aXN0R2VzYW10dmVyYW50d29ydGxpY2gpCiAgICB9OwogICAgT2JqZWN0LmtleXMobmF2KS5mb3JF +YWNoKGZ1bmN0aW9uKGlkKSB7CiAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 +SWQoaWQpOwogICAgICAgIGlmIChlbCkgZWwuc3R5bGUuZGlzcGxheSA9IG5hdltpZF0gPyAnJyA6 +ICdub25lJzsKICAgIH0pOwoKICAgIC8vIFVYLUF1ZGl0IFNwcmludCAxLjMgKDIwMjYtMDUtMjkp +OiBEZWZlbnNlLWluLURlcHRoLiBTZXJ2ZXIgZ2F0ZWQKICAgIC8vIGFsbGUgRGF0ZW4tRW5kcG9p +bnRzLCBhYmVyIGRhcyBIVE1MLVNrZWxldHQgZGVyIEFkbWluLS9TdGF0aXN0aWstLwogICAgLy8g +TG9nYnVjaC0vQmVzZXR6dW5nLVNla3Rpb25lbiBsaWVndCBpbSBET00gdW5kIGthbm4gei5CLiBi +ZWkKICAgIC8vIGxhbmdzYW0tbGFkZW5kZW4gUmVjaHRlbiBrdXJ6IGF1ZmJsaXR6ZW4gb2RlciBw +ZXIgRGV2VG9vbHMtCiAgICAvLyB2ZXJzdGVja3QtS2xhc3NlIGVudGZlcm50IHNpY2h0YmFyIHdl +cmRlbi4gV2lyIHNldHplbiAudmVyc3RlY2t0CiAgICAvLyB1bmQgYXJpYS1oaWRkZW4genVzYWV0 +emxpY2ggenVyIE5hdi1WZXJzdGVja3VuZy4KICAgIHZhciBhbnNpY2h0ZW4gPSB7CiAgICAgICAg +J2Fuc2ljaHQtYWRtaW4nOiAgICAgIG5hdlsnbmF2LWFkbWluJ10sCiAgICAgICAgJ2Fuc2ljaHQt +c3RhdGlzdGlrJzogIG5hdlsnbmF2LXN0YXRpc3RpayddLAogICAgICAgICdhbnNpY2h0LWxvZ2J1 +Y2gnOiAgICBuYXZbJ25hdi1sb2didWNoJ10sCiAgICAgICAgJ2Fuc2ljaHQtYmVzZXR6dW5nJzog +IG5hdlsnbmF2LWJlc2V0enVuZyddCiAgICB9OwogICAgdmFyIGFrdHVlbGxlVmVyc3RlY2t0ID0g +ZmFsc2U7CiAgICBPYmplY3Qua2V5cyhhbnNpY2h0ZW4pLmZvckVhY2goZnVuY3Rpb24oaWQpIHsK +ICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7CiAgICAgICAgaWYg +KCFlbCkgcmV0dXJuOwogICAgICAgIGlmICghYW5zaWNodGVuW2lkXSkgewogICAgICAgICAgICB2 +YXIgd2FyU2ljaHRiYXIgPSAhZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCd2ZXJzdGVja3QnKTsKICAg +ICAgICAgICAgZWwuY2xhc3NMaXN0LmFkZCgndmVyc3RlY2t0Jyk7CiAgICAgICAgICAgIGVsLnNl +dEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpOwogICAgICAgICAgICBpZiAod2FyU2lj +aHRiYXIpIGFrdHVlbGxlVmVyc3RlY2t0ID0gdHJ1ZTsKICAgICAgICB9IGVsc2UgewogICAgICAg +ICAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJyk7CiAgICAgICAgfQogICAgfSk7 +CiAgICAvLyBFZGdlLUNhc2U6IFBlcm1pc3Npb24gd3VyZGUgbGl2ZSBlbnR6b2dlbiB3YWVocmVu +ZCBVc2VyIGF1ZiBkZXIKICAgIC8vIGpldHp0IHZlcmJvdGVuZW4gQW5zaWNodCBzdGVodC4gRmFs +bGJhY2sgYXVmIFBsYW51bmcsIHNvbnN0IHNpZWh0CiAgICAvLyBlciBsZWVyZW4gQmlsZHNjaGly +bS4KICAgIGlmIChha3R1ZWxsZVZlcnN0ZWNrdCkgewogICAgICAgIHZhciBwbGFudW5nID0gZG9j +dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Fuc2ljaHQtcGxhbnVuZycpOwogICAgICAgIGlmIChwbGFu +dW5nKSBwbGFudW5nLmNsYXNzTGlzdC5yZW1vdmUoJ3ZlcnN0ZWNrdCcpOwogICAgfQp9CgovLyA9 +PT09PSBWZXJiaW5kbGljaGtlaXRzZmVuc3RlciAoMTQgVGFnZSkgPT09PT0KCi8vIFRydWUsIHdl +bm4gZGFzIERhdHVtIGlubmVyaGFsYiBkZXIgbmFlY2hzdGVuIDE0IFRhZ2UgKGlua2wuIGhldXRl +KSBsaWVndC4KLy8gQWVuZGVydW5nZW4gaW4gZGllc2VtIEZlbnN0ZXIgc2luZCAidmVyYmluZGxp +Y2giIOKAlCBBdWZydWVja2VyIGJla29tbWVuCi8vIGRhbm4gZGVuIFZlcmFudHdvcnR1bmdzLVVl +YmVyZ2FuZy1NYWlsLURpYWxvZyAoc2llaGUgZ3JpZC9lZGl0b3IuanMpLgpleHBvcnQgZnVuY3Rp +b24gZGF0dW1JblZlcmJpbmRsaWNoa2VpdChkYXR1bSkgewogICAgdmFyIHRlaWxlID0gZGF0dW0u +c3BsaXQoJy0nKTsKICAgIGlmICh0ZWlsZS5sZW5ndGggIT09IDMpIHJldHVybiBmYWxzZTsKICAg +IHZhciB6aWVsID0gbmV3IERhdGUoK3RlaWxlWzBdLCArdGVpbGVbMV0gLSAxLCArdGVpbGVbMl0p +OwogICAgdmFyIGhldXRlID0gbmV3IERhdGUoKTsKICAgIGhldXRlLnNldEhvdXJzKDAsIDAsIDAs +IDApOwogICAgdmFyIHRhZ2UgPSBNYXRoLnJvdW5kKCh6aWVsIC0gaGV1dGUpIC8gKDEwMDAgKiA2 +MCAqIDYwICogMjQpKTsKICAgIHJldHVybiB0YWdlID49IDAgJiYgdGFnZSA8PSAxNDsKfQo= +### FILE: js/core_state.js | 1412 +Ly8gPT09IGNvcmUvc3RhdGUuanMgPT09Ci8vIEdsb2JhbGVyIEFud2VuZHVuZ3MtWnVzdGFuZCBa +IGRlciBWSTMtREdMLVBsYW51bmcuCi8vCi8vIFNjaHJlaWItWnVncmlmZiBwcm8gRmVsZCBpc3Qg +aW4gZG9jcy9NT0RVTF9LQVJURS5tZCBkb2t1bWVudGllcnQKLy8gKExlc2UtWnVncmlmZiB1ZWJl +cmFsbCwgU2NocmVpYi1adWdyaWZmIGxva2FsaXNpZXJ0KS4KCmV4cG9ydCB2YXIgWiA9IHsKICAg +IGFkbWluOiBudWxsLAogICAgcGxhbnVuZzogbnVsbCwKICAgIHBlcnNvbmVuOiBbXSwKICAgIHRh +Z2U6IFtdLAogICAgdGFnSW5mb3M6IHt9LAogICAgY29kZU1hcDoge30sCiAgICBncnVwcGVuTWFw +OiB7fSwKICAgIGJlbnV0emVyOiAnJywKICAgIGhldXRlU3RyOiAnJywKICAgIC8vIERhdGVuLUNh +Y2hlIGZ1ZXIgZGllIFN0YXRpc3RpayAoc2llaGUganMvc3RhdGlzdGlrLmpzKS4KICAgIHN0YXRp +c3RpazogbnVsbCwKICAgIHVtZ2VzZXR6dGVFaW5ibGVuZGVuOiBmYWxzZSwKICAgIC8vIFp1Z2V3 +aWVzZW4gaW4gZGF0ZW5MYWRlbigpIC8gaW1wZXJzb25hdGUqLUZ1bmt0aW9uZW46CiAgICByZWNo +dGU6IG51bGwsCiAgICBtZWluZVBlcnNvbklkOiBudWxsLAogICAgLy8gWnVnZXdpZXNlbiB2b20g +TW9kYWwtU3lzdGVtICh1aS9kaWFsb2cuanMsIFBoYXNlIDIpOgogICAgbW9kYWxEaXJ0eTogZmFs +c2UsCiAgICBtb2RhbE9uU3BlaWNoZXJuOiBudWxsLAogICAgbW9kYWxTcGVpY2hlckZ1c3NIdG1s +OiBudWxsLAogICAgbW9kYWxLZXk6IG51bGwsCiAgICAvLyBadWdld2llc2VuIHZvbSBIZWFydGJl +YXQtV29ya2VyIChjb3JlL2RhdGVuTGFkZW4uanMsIFBoYXNlIDMpOgogICAgaGVhcnRiZWF0V29y +a2VyOiBudWxsLAogICAgaGVhcnRiZWF0RmFsbGJhY2s6IG51bGwsCiAgICAvLyBMaXZlLVN5bmMg +KFBoYXNlOiBTeW5jLVdvcmtlciwgc3luYy9zeW5jLWNsaWVudC5qcyk6CiAgICBzeW5jV29ya2Vy +OiBudWxsLAogICAgbGFzdFN5bmNUczogJycsCiAgICBsYXN0U3luY1NlcTogbnVsbCwgICAgICAg +ICAgICAgICAvLyBtb25vdG9uZSBTZXF1ZW56bnVtbWVyID0gcmFjZS1mcmVpZXIgTGl2ZS1TeW5j +LUN1cnNvcgogICAgZnJlbWRlTG9ja3M6IHt9LCAgICAgICAgICAgICAgICAgLy8ga2V5ID0gIjxk +YXR1bT58PHBlcnNvbklkPiIgLT4gTG9jay1PYmpla3QKICAgIHplbGxMb2NrOiB7IHRva2VuOiBu +dWxsLCBkYXR1bTogJycsIHBlcnNvbklkOiAnJywgaGJUaW1lcjogbnVsbCB9LAogICAgLy8gSGlu +d2Vpcy1TeXN0ZW0gKHNlcnZlci1zZWl0aWcgaW4gZGF0YS9oaW53ZWlzZS5qc29uIGdlZnVlaHJ0 +LCB2b20KICAgIC8vIFN5bmMtV29ya2VyIGdlcG9sbHQpLiBOdXIgZnVlciBTVSArIEdlc2FtdHZl +cmFudHdvcnRsaWNoZSBiZWZ1ZWxsdC4KICAgIGhpbndlaXNlOiBbXQp9Owo= +### FILE: js/core_util.js | 12046 +Ly8gPT09IGNvcmUvdXRpbC5qcyA9PT0KLy8gRGF0dW0tLCBIVE1MLSB1bmQgUGVyc29uLUhlbHBl +ciBzb3dpZSBTdGFtbS1Lb25zdGFudGVuCi8vIChGdW5rdGlvbmVuLCBEaWVuc3RncmFkZSkuCgpp +bXBvcnQgeyBaIH0gZnJvbSAnLi9jb3JlX3N0YXRlLmpzJzsKCi8vID09PT09IFBlcnNvbi1JRC1L +b252ZW50aW9uID09PT09CgovLyBLYW5vbmlzY2hlciBTdHJpbmctS2V5IGZ1ZXIgUGVyc29uLUlE +cyBpbiBaLnBsYW51bmcuZWludHJhZWdlIHVuZAovLyBaLnBsYW51bmcua29tbWVudGFyZSAoYmVp +ZGVzIHtkYXR1bToge3BpZDogLi4ufX0tRGljdHMpLiBKU09OLU9iamVjdC1LZXlzCi8vIHNpbmQg +aW1tZXIgU3RyaW5ncyDigJQgd2VyIG1pdCBOdW1iZXItS2V5cyBhcmJlaXRldCwga3JpZWd0IHp3 +YXIgaW1wbGl6aXQKLy8gU3RyaW5nLUtvbnZlcnRpZXJ1bmcsIGFiZXIgPT09IGF1ZiB6d2VpIFBl +cnNvbi1JRHMgKHouQi4gcC5pZCBJbnQgdnMuCi8vIG0uemllbElkIFN0cmluZykgc2NobGFlZ3Qg +ZmVobC4gS29udmVudGlvbjogdWViZXJhbGwgd28gZWluZSBwZXJzb25JZCB6dQovLyBlaW5lbSBM +b29rdXAgb2RlciBWZXJnbGVpY2ggd2lyZCwgZHVyY2ggcGlkS2V5KCkgc2NoaWNrZW4uCi8vIEVp +bmdlYmF1dCBpbiBTcHJpbnQgMiDigJQgRGF0ZW5tb2RlbGwtS29uc2lzdGVueiAoMjAyNi0wNS0y +OCkuCmV4cG9ydCBmdW5jdGlvbiBwaWRLZXkoaWQpIHsKICAgIHJldHVybiBpZCA9PSBudWxsID8g +JycgOiBTdHJpbmcoaWQpOwp9CgovLyA9PT09PSBSZW5kZXItRXJyb3ItV3JhcHBlciAoVVgtQXVk +aXQgU3ByaW50IDEuMiwgMjAyNi0wNS0yOSkgPT09PT0KLy8KLy8gQ0xBVURFLm1kLUtvbnZlbnRp +b246IFJlbmRlci1GdW5rdGlvbmVuIHdyYXBwZW4gKyBGZWhsZXJib3ggaW0gQ29udGFpbmVyCi8v +IHN0YXR0IGxlZXJlciBUYWIuIExpZWZlcnQgZWluZSBzaWNodGJhcmUgRmVobGVyYm94IGluIGRl +biBDb250YWluZXIgdW5kCi8vIGxvZ2d0IGRpZSBFeGNlcHRpb24gaW4gZGllIERldlRvb2xzLUNv +bnNvbGUsIGRhbWl0IEJ1Z3MgbmljaHQgc3R1bW0gaW4KLy8gZWluZW0gYmxhbmtlbiBUYWIgdmVy +c2Nod2luZGVuLgpleHBvcnQgZnVuY3Rpb24gcmVuZGVyRXJyb3JCb3goY29udGFpbmVyLCBmZWhs +ZXIsIG1vZHVsbmFtZSkgewogICAgaWYgKCFjb250YWluZXIpIHJldHVybjsKICAgIHRyeSB7IGNv +bnNvbGUuZXJyb3IoJ1tyZW5kZXI6JyArIG1vZHVsbmFtZSArICddJywgZmVobGVyKTsgfSBjYXRj +aCAoXykge30KICAgIHZhciBtc2cgPSAoZmVobGVyICYmIGZlaGxlci5tZXNzYWdlKSA/IGZlaGxl +ci5tZXNzYWdlIDogU3RyaW5nKGZlaGxlcik7CiAgICBjb250YWluZXIuaW5uZXJIVE1MID0KICAg +ICAgICAnPGRpdiBjbGFzcz0icmVuZGVyLWZlaGxlci1ib3giIHJvbGU9ImFsZXJ0IiBhcmlhLWxp +dmU9InBvbGl0ZSI+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJyZW5kZXItZmVobGVyLWlj +b24iIGFyaWEtaGlkZGVuPSJ0cnVlIj7imqDvuI88L2Rpdj4nICsKICAgICAgICAgICAgJzxkaXYg +Y2xhc3M9InJlbmRlci1mZWhsZXItdGV4dCI+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFz +cz0icmVuZGVyLWZlaGxlci10aXRlbCI+QW56ZWlnZS1GZWhsZXIgaW4g4oCeJyArIGVzY2FwZUhU +TUwobW9kdWxuYW1lIHx8ICc/JykgKyAnIjwvZGl2PicgKwogICAgICAgICAgICAgICAgJzxkaXYg +Y2xhc3M9InJlbmRlci1mZWhsZXItZGV0YWlsIj4nICsgZXNjYXBlSFRNTChtc2cpICsgJzwvZGl2 +PicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InJlbmRlci1mZWhsZXItaGludCI+Qml0 +dGUgU2VpdGUgbmV1IGxhZGVuLiBEZXRhaWxzIHN0ZWhlbiBpbiBkZXIgRGV2VG9vbHMtQ29uc29s +ZSAoRjEyKS48L2Rpdj4nICsKICAgICAgICAgICAgJzwvZGl2PicgKwogICAgICAgICc8L2Rpdj4n +Owp9CgovLyA9PT09PSBIVE1ML1N0cmluZy1Fc2NhcGluZyA9PT09PQoKZXhwb3J0IGZ1bmN0aW9u +IGVzY2FwZUhUTUwoc3RyKSB7CiAgICBpZiAoc3RyID09IG51bGwgfHwgc3RyID09PSAnJykgcmV0 +dXJuICcnOwogICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAg +ZGl2LnRleHRDb250ZW50ID0gU3RyaW5nKHN0cik7CiAgICByZXR1cm4gZGl2LmlubmVySFRNTDsK +fQoKZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZUF0dHIoc3RyKSB7CiAgICBpZiAoc3RyID09IG51bGwg +fHwgc3RyID09PSAnJykgcmV0dXJuICcnOwogICAgcmV0dXJuIFN0cmluZyhzdHIpLnJlcGxhY2Uo +LyYvZywgJyZhbXA7JykucmVwbGFjZSgvIi9nLCAnJnF1b3Q7JykucmVwbGFjZSgvJy9nLCAnJiMz +OTsnKS5yZXBsYWNlKC88L2csICcmbHQ7JykucmVwbGFjZSgvPi9nLCAnJmd0OycpOwp9CgovLyA9 +PT09PSBEYXR1bSA9PT09PQoKZXhwb3J0IGZ1bmN0aW9uIGRhdHVtU3RyKGQpIHsKICAgIHZhciBt +ID0gZC5nZXRNb250aCgpICsgMSwgdCA9IGQuZ2V0RGF0ZSgpOwogICAgcmV0dXJuIGQuZ2V0RnVs +bFllYXIoKSArICctJyArIChtIDwgMTAgPyAnMCcgOiAnJykgKyBtICsgJy0nICsgKHQgPCAxMCA/ +ICcwJyA6ICcnKSArIHQ7Cn0KCmV4cG9ydCBmdW5jdGlvbiBkYXR1bUZvcm1hdERFKHN0cikgewog +ICAgaWYgKCFzdHIpIHJldHVybiAnJzsKICAgIHZhciB0ZWlsZSA9IHN0ci5zcGxpdCgnLScpOwog +ICAgcmV0dXJuIHRlaWxlWzJdICsgJy4nICsgdGVpbGVbMV0gKyAnLicgKyB0ZWlsZVswXTsKfQoK +ZXhwb3J0IGZ1bmN0aW9uIGRhdHVtS3VyekRFKGQpIHsKICAgIHZhciB0ID0gZC5nZXREYXRlKCks +IG0gPSBkLmdldE1vbnRoKCkgKyAxOwogICAgcmV0dXJuICh0IDwgMTAgPyAnMCcgOiAnJykgKyB0 +ICsgJy4nICsgKG0gPCAxMCA/ICcwJyA6ICcnKSArIG0gKyAnLic7Cn0KCmV4cG9ydCBmdW5jdGlv +biB3b2NoZW50YWdLdXJ6KGQpIHsKICAgIHZhciBuID0gWydTbycsJ01vJywnRGknLCdNaScsJ0Rv +JywnRnInLCdTYSddOwogICAgcmV0dXJuIG5bZC5nZXREYXkoKV07Cn0KCmV4cG9ydCBmdW5jdGlv +biBpc3RXb2NoZW5lbmRlKGQpIHsgdmFyIHQgPSBkLmdldERheSgpOyByZXR1cm4gdCA9PT0gMCB8 +fCB0ID09PSA2OyB9CgovLyBIZXV0aWdlIFNjaGljaHQgKEYvUy9OKSBlaW5lciBQZXJzb24gYXVz +IGRlciBTdGFuZG9ydC1TY2hpY2h0Zm9sZ2UgYWJsZWl0ZW4uCi8vIFN0YW5kb3J0IGhhdCBzY2hp +Y2h0Zm9sZ2VbZGF0dW1dID0gei5CLiAiQUJDIiAoR3J1cHBlIEE9RiwgQj1TLCBDPU4pIG9kZXIK +Ly8gIkJDQSIgKEI9RiwgQz1TLCBBPU4pIG9kZXIgIkNBQiIuIFdlbm4gZGVyIEdydXBwZW4tQ29k +ZSBuaWNodCBpbiBkZXIKLy8gUGVybXV0YXRpb24gc3RlaHQgKHouQi4gV0QvV0wvVkQpIG9kZXIg +ZGVyIFN0YW5kb3J0IGVpbiBQb29sIG9obmUKLy8gU2NoaWNodGZvbGdlIGlzdCwgZ2lidCdzIGtl +aW5lIGVpbmRldXRpZ2UgU2NoaWNodCDigJQgUnVlY2tnYWJlIG51bGwuCi8vIFdpY2h0aWc6IGln +bm9yaWVydCBkZW4gVGFnZXNlaW50cmFnIOKAlCBsaWVmZXJ0IGRpZSBSb3RhdGlvbnMtU2NoaWNo +dCBhdWNoCi8vIGZ1ZXIgd2ZyL2Rmci1UYWdlICh3YXMgc2llIHJlZ3VsYWVyIGFyYmVpdGVuIFdV +RVJERU4pLgpleHBvcnQgZnVuY3Rpb24gcGVyc29uU2NoaWNodEFtKHBlcnNvbiwgZGF0dW0pIHsK +ICAgIGlmICghcGVyc29uIHx8ICFwZXJzb24uZ3J1cHBlIHx8ICFwZXJzb24ub2UpIHJldHVybiBu +dWxsOwogICAgdmFyIHN0YW5kb3J0ID0gKFouYWRtaW4uc3RhbmRvcnRlIHx8IFtdKS5maW5kKGZ1 +bmN0aW9uKHMpIHsgcmV0dXJuIChzLmt1ZXJ6ZWwgfHwgJycpID09PSBwZXJzb24ub2U7IH0pOwog +ICAgaWYgKCFzdGFuZG9ydCB8fCBzdGFuZG9ydC5pc3RQb29sKSByZXR1cm4gbnVsbDsKICAgIHZh +ciBwZXJtID0gKHN0YW5kb3J0LnNjaGljaHRmb2xnZSB8fCB7fSlbZGF0dW1dOwogICAgaWYgKCFw +ZXJtIHx8IHR5cGVvZiBwZXJtICE9PSAnc3RyaW5nJyB8fCBwZXJtLmxlbmd0aCAhPT0gMykgcmV0 +dXJuIG51bGw7CiAgICB2YXIgcG9zID0gcGVybS5pbmRleE9mKHBlcnNvbi5ncnVwcGUpOwogICAg +aWYgKHBvcyA8IDApIHJldHVybiBudWxsOwogICAgcmV0dXJuIFsnRicsICdTJywgJ04nXVtwb3Nd +Owp9CgovLyA9PT09PSBTdGFtbS1Lb25zdGFudGVuID09PT09CgovLyBTdGFtbS1GdW5rdGlvbmVu +IGVpbmVyIFBlcnNvbi4gRGVyIFJhbmcgYmVzdGltbXQgZGllIFJlaWhlbmZvbGdlIGluIGRlcgov +LyAiYWt0aXZlbiBGdWVocnVuZyIgZWluZXIgU2NoaWNodDogREdMICgwKSA+IFdERiAoMSkgPiAz +LiBQZXJzb24gKDIpID4KLy8gV2FjaGxlaXR1bmcvR3J1cHBlbmZ1ZWhydW5nICgzKS4gR2xlaWNo +ZSBSYW5nd2VydGUgc2luZCBnbGVpY2h3ZXJ0aWcKLy8gKERHTC9ER0xpbiwgV0RGL1dERmluLCAz +LiBNYW5uLzMuIEZyYXUpIHVuZCB3ZXJkZW4gaW5uZXJoYWxiIGR1cmNoIGRpZQovLyByb2hlIHBv +c2l0aW9uLVphaGwgc29ydGllcnQuCi8vCi8vIEFiIDIwMjYtMDUtMTkgc2luZCBGVU5LVElPTkVO +IHVuZCBESUVOU1RHUkFERSBrZWluZSByZWluZW4gQ29kZS0KLy8gS29uc3RhbnRlbiBtZWhyLCBz +b25kZXJuIERFRkFVTFRTLCBkaWUgZGVyIEFkbWluIGluIEFkbWluIC0+IEJlemVpY2gtCi8vIG51 +bmdlbiAmIExpc3RlbiB1ZWJlcnNjaHJlaWJlbiBrYW5uLiBMaXZlLVdlcnRlIGxpZWdlbiBpbgov +LyBaLmFkbWluLmZ1bmt0aW9uZW4gYnp3LiBaLmFkbWluLmRpZW5zdGdyYWRlLiBGYWxscyBkaWUg +YWRtaW4uanNvbgovLyBrZWluIGVpZ2VuZXMgRmVsZCB0cmFlZ3QgKHouQi4gZnJpc2NoZSBJbnN0 +YWxsYXRpb24pLCBncmVpZnQgZGVyCi8vIERlZmF1bHQgYXVzIGRpZXNlciBEYXRlaS4KLy8gUHJv +IEZ1bmt0aW9uOiBjb2RlLCByYW5nLCBvcHRpb25hbCBpblBsYW51bmcgKERlZmF1bHQgdHJ1ZSku +IFdlbm4KLy8gaW5QbGFudW5nPWZhbHNlLCB3ZXJkZW4gUGVyc29uZW4gbWl0IGRpZXNlciBGdW5r +dGlvbiBuaWNodCBpbiBkZXIKLy8gUGxhbnVuZ3NhbnNpY2h0IC8gV29jaGVucGxhbiAvIFBlcnMu +IFBsYW4gYXVzZ2V3aWVzZW4g4oCUIHNpZSBibGVpYmVuCi8vIGluIGRlciBQZXJzb25hbHZlcndh +bHR1bmcgcGZsZWdiYXIuCmV4cG9ydCB2YXIgRlVOS1RJT05FTl9ERUZBVUxUID0gWwogICAgeyBj +b2RlOiAnTC9EaXJWJywgICAgICAgICByYW5nOiAtMiwgaW5QbGFudW5nOiBmYWxzZSB9LAogICAg +eyBjb2RlOiAnTC9WSTMnLCAgICAgICAgICByYW5nOiAtMSwgaW5QbGFudW5nOiBmYWxzZSB9LAog +ICAgeyBjb2RlOiAnREdMJywgICAgICAgICAgICByYW5nOiAwIH0sCiAgICB7IGNvZGU6ICdER0xp +bicsICAgICAgICAgIHJhbmc6IDAgfSwKICAgIHsgY29kZTogJ1dERicsICAgICAgICAgICAgcmFu +ZzogMSB9LAogICAgeyBjb2RlOiAnV0RGaW4nLCAgICAgICAgICByYW5nOiAxIH0sCiAgICB7IGNv +ZGU6ICczLiBNYW5uJywgICAgICAgIHJhbmc6IDIgfSwKICAgIHsgY29kZTogJzMuIEZyYXUnLCAg +ICAgICAgcmFuZzogMiB9LAogICAgeyBjb2RlOiAnV2FjaGxlaXR1bmcnLCAgICByYW5nOiAzIH0s +CiAgICB7IGNvZGU6ICdHcnVwcGVuZsO8aHJ1bmcnLCByYW5nOiAzIH0KXTsKCi8vIEhlbHBlcjog +bGllZmVydCB0cnVlLCB3ZW5uIGVpbmUgRnVua3Rpb24gaW4gZGVyIFBsYW50YWZlbCBhbmdlemVp +Z3QKLy8gd2VyZGVuIGRhcmYuIERlZmF1bHQgdHJ1ZSAodW5iZWthbm50ZSBGdW5rdGlvbiAvIGtl +aW4gRWludHJhZykuCmV4cG9ydCBmdW5jdGlvbiBmdW5rdGlvbkluUGxhbnVuZyhjb2RlKSB7CiAg +ICBpZiAoIWNvZGUpIHJldHVybiB0cnVlOwogICAgdmFyIGxpc3RlID0gZ2V0RnVua3Rpb25lbigp +OwogICAgdmFyIGYgPSBsaXN0ZS5maW5kKGZ1bmN0aW9uKHgpIHsgcmV0dXJuIHguY29kZSA9PT0g +Y29kZTsgfSk7CiAgICBpZiAoIWYpIHJldHVybiB0cnVlOwogICAgcmV0dXJuIGYuaW5QbGFudW5n +ICE9PSBmYWxzZTsKfQoKLy8gUmVsZXZhbnRlIERpZW5zdGdyYWRlIGJlaSBWSTMgKFBPSyBiaXMg +TFBEaW4sIGpld2VpbHMgbS93KS4gUmVpaGVuZm9sZ2UKLy8gQUJTVEVJR0VORCBpbSBSYW5nIChM +UERpbiB6dWVyc3QpLCBqZXdlaWxzIG1hc2t1bGluZSB1bmQgZmVtaW5pbmUgRm9ybQovLyB6dXNh +bW1lbiBncnVwcGllcnQuIFBISyogPSBBMTIgKHp3aXNjaGVuIFBISyBBMTEgdW5kIEVQSEsgQTEz +KS4KLy8gUEQgPSBQb2xpemVpZGlyZWt0b3IvaW4gKEExNSksIExQRGluID0gTGVpdGVuZGUgUG9s +aXplaWRpcmVrdG9yaW4gKEExNikuCmV4cG9ydCB2YXIgRElFTlNUR1JBREVfREVGQVVMVCA9IFsn +TFBEaW4nLCAnUEQnLCAiRVBISydpbiIsICdFUEhLJywgIlBISyonaW4iLCAnUEhLKicsICJQSEsn +aW4iLCAnUEhLJywgIlBPSydpbiIsICdQT0snXTsKCi8vIEhlbHBlcjogbGllZmVydCBkaWUgYWt0 +dWVsbCBrb25maWd1cmllcnRlIExpc3RlLCBtaXQgRGVmYXVsdCBhbHMgRmFsbGJhY2suCi8vIEF1 +ZnJ1ZmVyIGJlbnV0emVuIElNTUVSIGRpZXNlIEZ1bmt0aW9uZW4gc3RhdHQgZGVyIERFRkFVTFQt +S29uc3RhbnRlbi4KZXhwb3J0IGZ1bmN0aW9uIGdldEZ1bmt0aW9uZW4oKSB7CiAgICB2YXIgZiA9 +IFouYWRtaW4gJiYgWi5hZG1pbi5mdW5rdGlvbmVuOwogICAgaWYgKEFycmF5LmlzQXJyYXkoZikg +JiYgZi5sZW5ndGgpIHJldHVybiBmOwogICAgcmV0dXJuIEZVTktUSU9ORU5fREVGQVVMVDsKfQpl +eHBvcnQgZnVuY3Rpb24gZ2V0RGllbnN0Z3JhZGUoKSB7CiAgICB2YXIgZCA9IFouYWRtaW4gJiYg +Wi5hZG1pbi5kaWVuc3RncmFkZTsKICAgIGlmIChBcnJheS5pc0FycmF5KGQpICYmIGQubGVuZ3Ro +KSByZXR1cm4gZDsKICAgIHJldHVybiBESUVOU1RHUkFERV9ERUZBVUxUOwp9CgpleHBvcnQgZnVu +Y3Rpb24gZnVua3Rpb25zUmFuZyhjb2RlKSB7CiAgICB2YXIgZiA9IGdldEZ1bmt0aW9uZW4oKS5m +aW5kKGZ1bmN0aW9uKHgpIHsgcmV0dXJuIHguY29kZSA9PT0gY29kZTsgfSk7CiAgICByZXR1cm4g +ZiA/IGYucmFuZyA6IDk5Owp9CgoKLy8gPT09PT0gUHJvZmlsYmlsZGVyIChBdmF0YXJlKSA9PT09 +PQovLwovLyBTcGVpY2hlci1QZmFkIHNlcnZlcnNlaXRpZzogVkkzL2RhdGEvYXZhdGFycy88aWQ+ +LmpwZwovLyBQZXJzb24tRGF0ZW5zYXR6IGZ1ZWhydCBhdmF0YXJUcyAobXMtVGltZXN0YW1wKTog +d2lyIGhhZW5nZW4gZGFzIGFuCi8vIGRpZSBVUkwgYWxzIENhY2hlLUJ1c3Rlci4gT2huZSBhdmF0 +YXJUcyAtPiBrZWluIEJpbGQgLT4gSW5pdGlhbGVuLQovLyBGYWxsYmFjayBtaXQgc3RhYmlsZXIg +RmFyYmUgKEhhc2ggYXVzIFBlcnNvbklkIG1vZHVsbyBGYXJiLVBhbGV0dGUpLgoKZXhwb3J0IGZ1 +bmN0aW9uIGF2YXRhclVybChwKSB7CiAgICBpZiAoIXAgfHwgIXAuYXZhdGFyVHMpIHJldHVybiAn +JzsKICAgIHJldHVybiAnL2RhdGEvYXZhdGFycy8nICsgcC5pZCArICcuanBnP3RzPScgKyBwLmF2 +YXRhclRzOwp9CgpleHBvcnQgZnVuY3Rpb24gYXZhdGFySW5pdGlhbGVuKHApIHsKICAgIGlmICgh +cCkgcmV0dXJuICc/JzsKICAgIHZhciB2ID0gKHAudm9ybmFtZSB8fCAnJykudHJpbSgpOwogICAg +dmFyIG4gPSAocC5uYW1lIHx8ICcnKS50cmltKCk7CiAgICB2YXIgaSA9ICcnOwogICAgaWYgKHYp +IGkgKz0gdi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKTsKICAgIGlmIChuKSBpICs9IG4uY2hhckF0 +KDApLnRvVXBwZXJDYXNlKCk7CiAgICByZXR1cm4gaSB8fCAnPyc7Cn0KCi8vIEVpbmhlaXRsaWNo +ZSBBbnRocmF6aXQtRmFyYmUgZnVlciBhbGxlIEluaXRpYWxlbi1BdmF0YXJlIOKAlCB1bmlmb3Jt +ZXMKLy8gRGVzaWduIHN0YXR0IGJ1bnRlciBIYXNoLVBhbGV0dGUgKFVzZXItRmVlZGJhY2sgMjAy +Ni0wNS0yMykuCnZhciBBVkFUQVJfRkFSQkVfREVGQVVMVCA9ICcjM0EzRjQ3JzsKCmV4cG9ydCBm +dW5jdGlvbiBhdmF0YXJLcmVpc0h0bWwocCwgZ3JvZXNzZSkgewogICAgaWYgKCFwKSByZXR1cm4g +Jyc7CiAgICB2YXIgc2l6ZSA9IGdyb2Vzc2UgfHwgMjY7CiAgICB2YXIgdXJsID0gYXZhdGFyVXJs +KHApOwogICAgLy8gUm91bmRlZCBzcXVhcmUgKGJvcmRlci1yYWRpdXMgbmljaHQgNTAlLCBzb25k +ZXJuIHByb3BvcnRpb25hbCB6dXIKICAgIC8vIEdyb2Vzc2Ug4oCUIGdsZWljaGVyIHZpc3VlbGxl +ciBTdGlsIGJlaSBrbGVpbmVuIHVuZCBncm9zc2VuIEF2YXRhcmVuKS4KICAgIHZhciByYWRpdXMg +PSBNYXRoLm1heCgzLCBNYXRoLnJvdW5kKHNpemUgKiAwLjE4KSk7CiAgICB2YXIgc3R5bGUgPSAn +d2lkdGg6JyArIHNpemUgKyAncHg7aGVpZ2h0OicgKyBzaXplICsgJ3B4O2ZvbnQtc2l6ZTonICsg +TWF0aC5yb3VuZChzaXplICogMC40MikgKyAncHg7Ym9yZGVyLXJhZGl1czonICsgcmFkaXVzICsg +J3B4JzsKICAgIGlmICh1cmwpIHsKICAgICAgICByZXR1cm4gJzxzcGFuIGNsYXNzPSJ2aTMtYXZh +dGFyIHZpMy1hdmF0YXItYmlsZCIgc3R5bGU9IicgKyBzdHlsZSArICc7YmFja2dyb3VuZC1pbWFn +ZTp1cmwoXCcnICsgZXNjYXBlQXR0cih1cmwpICsgJ1wnKSI+PC9zcGFuPic7CiAgICB9CiAgICBy +ZXR1cm4gJzxzcGFuIGNsYXNzPSJ2aTMtYXZhdGFyIHZpMy1hdmF0YXItaW5pdGlhbGVuIiBzdHls +ZT0iJyArIHN0eWxlICsgJztiYWNrZ3JvdW5kOicgKyBBVkFUQVJfRkFSQkVfREVGQVVMVCArICci +PicgKyBlc2NhcGVIVE1MKGF2YXRhckluaXRpYWxlbihwKSkgKyAnPC9zcGFuPic7Cn0KCi8vID09 +PT09IFBlcnNvbi1BbnplaWdlID09PT09CgovLyBBbnplaWdlLU5hbWUgZWluZXIgUGVyc29uIChE +aWVuc3RncmFkICsgVm9ybmFtZSArIE5hY2huYW1lKS4KZXhwb3J0IGZ1bmN0aW9uIF9wZXJzb25B +bnplaWdlKHApIHsKICAgIGlmICghcCkgcmV0dXJuICfigJQnOwogICAgdmFyIHZvbGwgPSAoKHAu +dm9ybmFtZSB8fCAnJykgKyAnICcgKyAocC5uYW1lIHx8ICcnKSkudHJpbSgpOwogICAgcmV0dXJu +IHAuZGllbnN0Z3JhZCA/IHAuZGllbnN0Z3JhZCArICcgJyArIHZvbGwgOiB2b2xsOwp9CgovLyBX +YW5kZWx0IGVpbmUgTlctS2VubnVuZyB3aWUgIlBPTElaRUlcbncwNTU4MDEiIG9kZXIgIm53MDU1 +ODAxIiBpbiBkZW4KLy8gS2xhcm5hbWVuICgiU2FiaW5lIFJhdWRzenVzIikgdW0sIGluZGVtIFou +cGVyc29uZW4gKyBBZG1pbi1MaXN0ZW4gbmFjaAovLyBwYXNzZW5kZXIgbndLZW5udW5nIGR1cmNo +c3VjaHQgd2VyZGVuLiBGYWxsYmFjazogZGllIEtlbm51bmcgc2VsYnN0Ci8vIChvaG5lIERvbWFp +bi1QcmVmaXgsIGRhbWl0IGRlciBUb2FzdCBuaWNodCBzbyB0ZWNobmlzY2ggd2lya3QpLgpleHBv +cnQgZnVuY3Rpb24gYW56ZWlnZU5hbWVGdWVyS2VubnVuZyhrZW5udW5nKSB7CiAgICBpZiAoIWtl +bm51bmcpIHJldHVybiAnJzsKICAgIHZhciBrID0gU3RyaW5nKGtlbm51bmcpLnRvTG93ZXJDYXNl +KCk7CiAgICB2YXIga0t1cnogPSBrLmluZGV4T2YoJ1xcJykgPj0gMCA/IGsuc3BsaXQoJ1xcJyku +cG9wKCkgOiBrOwogICAgZnVuY3Rpb24gbWF0Y2goZWludHJhZ0tlbm51bmcpIHsKICAgICAgICBp +ZiAoIWVpbnRyYWdLZW5udW5nKSByZXR1cm4gZmFsc2U7CiAgICAgICAgdmFyIGUgPSBTdHJpbmco +ZWludHJhZ0tlbm51bmcpLnRvTG93ZXJDYXNlKCk7CiAgICAgICAgcmV0dXJuIGUgPT09IGsgfHwg +ZSA9PT0ga0t1cnogfHwgay5lbmRzV2l0aCgnXFwnICsgZSkgfHwga0t1cnogPT09IGU7CiAgICB9 +CiAgICB2YXIgcCA9IChaLnBlcnNvbmVuIHx8IFtdKS5maW5kKGZ1bmN0aW9uKHgpIHsgcmV0dXJu +IG1hdGNoKHgubndLZW5udW5nKTsgfSk7CiAgICBpZiAocCkgewogICAgICAgIHZhciB2b2xsID0g +KChwLnZvcm5hbWUgfHwgJycpICsgJyAnICsgKHAubmFtZSB8fCAnJykpLnRyaW0oKTsKICAgICAg +ICBpZiAodm9sbCkgcmV0dXJuIHZvbGw7CiAgICB9CiAgICB2YXIgZmEgPSAoWi5hZG1pbiAmJiBa +LmFkbWluLmZhY2hhdWZzaWNodCB8fCBbXSkuZmluZChmdW5jdGlvbih4KSB7IHJldHVybiBtYXRj +aCh4Lm53S2VubnVuZyk7IH0pOwogICAgaWYgKGZhICYmIGZhLm5hbWUpIHJldHVybiBmYS5uYW1l +OwogICAgdmFyIHN1ID0gKFouYWRtaW4gJiYgWi5hZG1pbi5zdXBlclVzZXIgfHwgW10pLmZpbmQo +ZnVuY3Rpb24oeCkgeyByZXR1cm4gbWF0Y2goeC5ud0tlbm51bmcpOyB9KTsKICAgIGlmIChzdSAm +JiBzdS5uYW1lKSByZXR1cm4gc3UubmFtZTsKICAgIHJldHVybiBrS3VyeiB8fCBTdHJpbmcoa2Vu +bnVuZyk7Cn0KCi8vIEUtTWFpbC1BZHJlc3NlIGRlcyBlaW5nZWxvZ2d0ZW4gUGxhbmVuZGVuIChm +dWVyIENDIGJlaSBWZXJhbnR3b3J0dW5ncy1NYWlscykuCi8vIEJldm9yenVndCBkaWUgenVnZW9y +ZG5ldGUgUGxhbi1QZXJzb24sIHNvbnN0IE1hdGNoIHVlYmVyIGRpZSBOVy1LZW5udW5nIGluCi8v +IFBlcnNvbmVuIC8gRmFjaGF1ZnNpY2h0IC8gU3VwZXJVc2VyLiAnJyB3ZW5uIG5pY2h0cyBoaW50 +ZXJsZWd0LgpleHBvcnQgZnVuY3Rpb24gYXVzbG9lc2VyRW1haWxFcm1pdHRlbG4oKSB7CiAgICBp +ZiAoWi5tZWluZVBlcnNvbklkICE9IG51bGwpIHsKICAgICAgICB2YXIgbXAgPSAoWi5wZXJzb25l +biB8fCBbXSkuZmluZChmdW5jdGlvbih4KSB7IHJldHVybiBTdHJpbmcoeC5pZCkgPT09IFN0cmlu +ZyhaLm1laW5lUGVyc29uSWQpOyB9KTsKICAgICAgICBpZiAobXAgJiYgbXAuZW1haWwpIHJldHVy +biBtcC5lbWFpbDsKICAgIH0KICAgIHZhciBiID0gKFouYmVudXR6ZXIgfHwgJycpLnRvTG93ZXJD +YXNlKCk7CiAgICB2YXIgYkt1cnogPSBiLnNwbGl0KCdcXCcpLnBvcCgpOwogICAgZnVuY3Rpb24g +bWF0Y2goaykgeyBpZiAoIWspIHJldHVybiBmYWxzZTsgayA9IFN0cmluZyhrKS50b0xvd2VyQ2Fz +ZSgpOyByZXR1cm4gayA9PT0gYiB8fCBrID09PSBiS3VyeiB8fCBiLmVuZHNXaXRoKCdcXCcgKyBr +KTsgfQogICAgdmFyIHAgPSAoWi5wZXJzb25lbiB8fCBbXSkuZmluZChmdW5jdGlvbih4KSB7IHJl +dHVybiBtYXRjaCh4Lm53S2VubnVuZykgJiYgeC5lbWFpbDsgfSk7CiAgICBpZiAocCkgcmV0dXJu +IHAuZW1haWw7CiAgICB2YXIgZmEgPSAoWi5hZG1pbiAmJiBaLmFkbWluLmZhY2hhdWZzaWNodCB8 +fCBbXSkuZmluZChmdW5jdGlvbih4KSB7IHJldHVybiBtYXRjaCh4Lm53S2VubnVuZykgJiYgeC5l +bWFpbDsgfSk7CiAgICBpZiAoZmEpIHJldHVybiBmYS5lbWFpbDsKICAgIHZhciBzdSA9IChaLmFk +bWluICYmIFouYWRtaW4uc3VwZXJVc2VyIHx8IFtdKS5maW5kKGZ1bmN0aW9uKHgpIHsgcmV0dXJu +IG1hdGNoKHgubndLZW5udW5nKSAmJiB4LmVtYWlsOyB9KTsKICAgIGlmIChzdSkgcmV0dXJuIHN1 +LmVtYWlsOwogICAgcmV0dXJuICcnOwp9CgovLyBGaW5kZXQgZGVuIEFkbWluLUxpc3Rlbi1FaW50 +cmFnIChGYWNoYXVmc2ljaHQgb2RlciBTdXBlclVzZXIpLCBkZXIgenVyCi8vIGFrdHVlbGxlbiBO +Vy1LZW5udW5nIHBhc3N0IOKAlCBmdWVyIEFic2VuZGVyLU5hbWUgaW4gZGVyIGdlbmVyaWVydGVu +IE1haWwuCmV4cG9ydCBmdW5jdGlvbiBhYnNlbmRlck5hbWVFcm1pdHRlbG4oKSB7CiAgICB2YXIg +YiA9IChaLmJlbnV0emVyIHx8ICcnKS50b0xvd2VyQ2FzZSgpOwogICAgdmFyIGJLdXJ6ID0gYi5z +cGxpdCgnXFwnKS5wb3AoKTsKICAgIGZ1bmN0aW9uIG1hdGNoS2VubnVuZyhrKSB7CiAgICAgICAg +aWYgKCFrKSByZXR1cm4gZmFsc2U7CiAgICAgICAgayA9IGsudG9Mb3dlckNhc2UoKTsKICAgICAg +ICByZXR1cm4gayA9PT0gYiB8fCBrID09PSBiS3VyeiB8fCBiLmVuZHNXaXRoKCdcXCcgKyBrKTsK +ICAgIH0KICAgIHZhciBmYSA9IG51bGw7CiAgICAoWi5hZG1pbi5mYWNoYXVmc2ljaHQgfHwgW10p +LmZvckVhY2goZnVuY3Rpb24oZikgeyBpZiAobWF0Y2hLZW5udW5nKGYubndLZW5udW5nKSkgZmEg +PSBmOyB9KTsKICAgIGlmIChmYSAmJiBmYS5uYW1lKSByZXR1cm4gZmEubmFtZTsKICAgIHZhciBz +dSA9IG51bGw7CiAgICAoWi5hZG1pbi5zdXBlclVzZXIgfHwgW10pLmZvckVhY2goZnVuY3Rpb24o +cykgeyBpZiAobWF0Y2hLZW5udW5nKHMubndLZW5udW5nKSkgc3UgPSBzOyB9KTsKICAgIGlmIChz +dSAmJiBzdS5uYW1lKSByZXR1cm4gc3UubmFtZTsKICAgIHJldHVybiBaLmJlbnV0emVyIHx8ICdW +STMgREdMLVBsYW51bmcnOwp9Cg== +### FILE: js/email_vorlagen.js | 41671 +Ly8gPT09IGVtYWlsL2VtYWlsLXZvcmxhZ2VuLmpzID09PQovLyBTdGFuZDogMjAyNi0wNS0xNAov +LyBWSTMtc3BlemlmaXNjaDogRS1NYWlsLVZvcmxhZ2VuIChEZWZhdWx0cyArIGFkbWluLmpzb24t +T3ZlcnJpZGUpIHVuZAovLyBtYWlsdG86LUF1dG8tVHJpZ2dlci1EaXNwYXRjaGVyIGZ1ZXIgS3Jh +bmttZWxkdW5nLCBJZGVudGl0YWV0cy0vUm9sbGVuLQovLyBBZW5kZXJ1bmcsIEJhY2t1cC1XaWVk +ZXJoZXJzdGVsbHVuZywgUGxhbnVuZ3MtUmVzZXQsIERlZml6aXQtQnJpZWZpbmcsCi8vIFZlcmFu +dHdvcnR1bmdzLVVlYmVyZ2FuZywgQmVzZXR6dW5ncy1BbmZyYWdlLiBWZXJzYW5kOiBhdXNzY2hs +aWVzc2xpY2gKLy8gbWFpbHRvOjsgZGVyIFVzZXIgcHJ1ZWZ0IGRpZSBNYWlsIGluIE91dGxvb2sg +dW5kIHNlbmRldCBtYW51ZWxsLgovLwovLyBIb29rczogaHRtbEF1c0ZlbGQgKFBoYXNlIDgg4oCU +IGFkbWluLUhlbHBlciwgZGVyIERlZmF1bHQtUGxhaW50ZXh0IHp1Ci8vIEhUTUwga29udmVydGll +cnQgYmVpbSBNb2RhbC1PcGVuKS4KCmltcG9ydCB7IFogfSBmcm9tICcuL2NvcmVfc3RhdGUuanMn +OwppbXBvcnQgeyBlc2NhcGVIVE1MLCBlc2NhcGVBdHRyLCBhYnNlbmRlck5hbWVFcm1pdHRlbG4g +fSBmcm9tICcuL2NvcmVfdXRpbC5qcyc7CmltcG9ydCB7IHRvYXN0LCBtb2RhbFplaWdlbiwgbW9k +YWxTY2hsaWVzc2VuLCBlbnR3dXJmTG9lc2NoZW4gfSBmcm9tICcuL3VpX2RpYWxvZy5qcyc7Cmlt +cG9ydCB7IHNhbml0aXplUmljaEh0bWwsIHJ0ZUluaXQgfSBmcm9tICcuL3VpX3J0ZS5qcyc7Cmlt +cG9ydCB7IGFwaVB1dCB9IGZyb20gJy4vY29yZV9hcGkuanMnOwoKLy8gPT09PT0gSG9va3MgPT09 +PT0KCmV4cG9ydCB2YXIgZW1haWxIb29rcyA9IHsKICAgIGh0bWxBdXNGZWxkOiBudWxsICAvLyBQ +aGFzZSA4OiBrb252ZXJ0aWVydCBQbGFpbi1UZXh0LUZlbGQgenUgSFRNTCBmdWVyIGRlbiBSVEUt +RWRpdG9yCn07CgovLyA9PT09PSBLb25zdGFudGVuID09PT09CgovLyBEZWZhdWx0LVRlbXBsYXRl +LCBkYXMgZ3JlaWZ0IHdlbm4gaW4gYWRtaW4uanNvbiBub2NoIG5pY2h0cyBlaW5nZXRyYWdlbiBp +c3QuCi8vIFZhcmlhYmxlbiBzaWVoZSBIaW53ZWlzdGV4dCBpbSBBZG1pbi1UYWIgYnp3LiBlbWFp +bFZvcmxhZ2VCZWZ1ZWxsZW4oKS4KLy8gQWxsZSBWb3JsYWdlbi1UZXh0ZSBzaW5kIGluIGRlciBE +dS1Gb3JtIGZvcm11bGllcnQg4oCUIGtvbGxlZ2lhbCwKLy8gZnJldW5kbGljaCwgcHJvZmVzc2lv +bmVsbC4gTWFpbHRvOi1CdWlsZGVyIGZ1ZXIgZGllIFNhbW1lbC1WYXJpYW50ZQovLyAoc2FtbWVs +QW5mcmFnZU1haWxPZWZmbmVuIGluIGJlc2V0enVuZy5qcykgcHJ1ZWZ0LCBvYiBudXIgZWluCi8v +IEVtcGZhZW5nZXIgYXVzZ2V3YWVobHQgaXN0IHVuZCBlcnNldHp0ICdIYWxsbyB6dXNhbW1lbicg +aW1wbGl6aXQKLy8gZHVyY2ggJ0hhbGxvIHtlbXBmYWVuZ2VyX3Zvcm5hbWV9JyB2aWEgQ29udGV4 +dC1WYXJpYWJsZS4KZXhwb3J0IHZhciBFTUFJTF9WT1JMQUdFTl9ERUZBVUxUID0gewogICAgLy8g +U2FtbWVsLUFuZnJhZ2UgKG1laHJlcmUgS2FuZGlkYXRlbiBnbGVpY2h6ZWl0aWcpOiBQbHVyYWwt +QW5yZWRlLAogICAgLy8gRW1wZmFlbmdlciBhbHMgQkNDIChEYXRlbnNjaHV0ejogYW5kZXJlIEFk +cmVzc2F0ZW4gbmljaHQgc2ljaHRiYXIpLgogICAgLy8gV2lyZCBiZW51dHp0LCB3ZW5uIGF1cyBk +ZW0gVGFnLURldGFpbCBtZWhyZXJlIFBlcnNvbmVuIG1hcmtpZXJ0CiAgICAvLyB3ZXJkZW4g4oCU +IFNpbmd1bGFyLVZhcmlhbnRlICdiZXNldHp1bmdzQW5mcmFnZV9laW56ZWxuJyBzaWVoZSB1bnRl +bi4KICAgIGJlc2V0enVuZ3NBbmZyYWdlOiB7CiAgICAgICAgYmV0cmVmZjogJ0F1c2hpbGZlIGdl +c3VjaHQ6IHtzY2hpY2h0fXNjaGljaHQgYW0ge2RhdHVtfSAoe2lzdH0ve3NvbGx9KScsCiAgICAg +ICAgdGV4dDogJ0hhbGxvIHp1c2FtbWVuLFxuXG4nICsKICAgICAgICAgICAgICAnYW0ge2RhdHVt +fSAoe3dvY2hlbnRhZ30pIGlzdCBkaWUge3NjaGljaHR9c2NoaWNodCBha3R1ZWxsIHVudGVyYmVz +ZXR6dCDigJQgbnVyIHtpc3R9IHZvbiB7c29sbH0gRsO8aHJ1bmdza3LDpGZ0ZW4gZWluZ2VwbGFu +dC5cblxuJyArCiAgICAgICAgICAgICAgJ0lociBoYWJ0IGFuIGRlbSBUYWcgamV3ZWlscyBkaWVu +c3RmcmVpIG9kZXIgd2FjaGZyZWkgZWluZ2V0cmFnZW4uIE1hZyBqZW1hbmQgdm9uIEV1Y2ggbm9j +aCBlaW5tYWwgc2NoYXVlbiwgb2IgZXIgb2RlciBzaWUgYW4gZGVtIFRhZyBhdXNoZWxmZW4ga8O2 +bm50ZT8gSWNoIHdlacOfLCBkYXMgaXN0IGt1cnpmcmlzdGlnIOKAlCB3ZW5uIGVzIGJlaSBuaWVt +YW5kZW0gcGFzc3QsIGlzdCBkYXMgYXVjaCBpbiBPcmRudW5nLCBkYW5uIGZyYWdlIGljaCB3ZWl0 +ZXIuXG5cbicgKwogICAgICAgICAgICAgICdCZWkgRnJhZ2VuIG9kZXIga3VyemVtIFRlbGVmb25h +dDogbWVsZGV0IGV1Y2ggZWluZmFjaC5cblxuJyArCiAgICAgICAgICAgICAgJ0RhbmtlIHVuZCB2 +aWVsZSBHcsO8w59lXG4nICsKICAgICAgICAgICAgICAne2Fic2VuZGVyX25hbWV9JywKICAgICAg +ICBlbXBmYWVuZ2VySW1CY2M6IHRydWUKICAgIH0sCiAgICAvLyBFaW56ZWwtQW5mcmFnZSAoZ2Vu +YXUgZWluIEthbmRpZGF0IG1hcmtpZXJ0KTogcGVyc29lbmxpY2hlIER1LUZvcm0KICAgIC8vIHVu +ZCBTaW5ndWxhci1BbnNwcmFjaGUsIEVtcGZhZW5nZXIgZGlyZWt0IGltIEFuLUZlbGQgKGtlaW4g +R3J1bmQKICAgIC8vIGZ1ZXIgQkNDLCB3ZWlsIG51ciBlaW5lIFBlcnNvbikuCiAgICBiZXNldHp1 +bmdzQW5mcmFnZV9laW56ZWxuOiB7CiAgICAgICAgYmV0cmVmZjogJ0F1c2hpbGZlIGdlc3VjaHQ6 +IHtzY2hpY2h0fXNjaGljaHQgYW0ge2RhdHVtfScsCiAgICAgICAgdGV4dDogJ0hhbGxvIHtlbXBm +YWVuZ2VyX3Zvcm5hbWV9LFxuXG4nICsKICAgICAgICAgICAgICAnYW0ge2RhdHVtfSAoe3dvY2hl +bnRhZ30pIGlzdCBkaWUge3NjaGljaHR9c2NoaWNodCBha3R1ZWxsIHVudGVyYmVzZXR6dCDigJQg +bnVyIHtpc3R9IHZvbiB7c29sbH0gRsO8aHJ1bmdza3LDpGZ0ZW4gZWluZ2VwbGFudC5cblxuJyAr +CiAgICAgICAgICAgICAgJ0R1IGhhc3QgYW4gZGVtIFRhZyBkaWVuc3RmcmVpIG9kZXIgd2FjaGZy +ZWkgZWluZ2V0cmFnZW4uIE1hZ3N0IER1IG5vY2ggZWlubWFsIHNjaGF1ZW4sIG9iIER1IGFuIGRl +bSBUYWcgYXVzaGVsZmVuIGvDtm5udGVzdD8gSWNoIHdlacOfLCBkYXMgaXN0IGt1cnpmcmlzdGln +IOKAlCB3ZW5uIGVzIGJlaSBEaXIgbmljaHQgcGFzc3QsIGlzdCBkYXMgdsO2bGxpZyBpbiBPcmRu +dW5nLCBkYW5uIGZyYWdlIGljaCB3ZWl0ZXIuXG5cbicgKwogICAgICAgICAgICAgICdXZW5uIER1 +IEZyYWdlbiBoYXN0IG9kZXIga3VyeiB0ZWxlZm9uaWVyZW4gbcO2Y2h0ZXN0LCBtZWxkZSBEaWNo +IGVpbmZhY2guXG5cbicgKwogICAgICAgICAgICAgICdEYW5rZSB1bmQgdmllbGUgR3LDvMOfZVxu +JyArCiAgICAgICAgICAgICAgJ3thYnNlbmRlcl9uYW1lfScsCiAgICAgICAgZW1wZmFlbmdlcklt +QmNjOiBmYWxzZQogICAgfSwKICAgIC8vIEVJTkUgU2FtbWVsLU1haWwgYmVpIGplZGVtIFZlcmFu +dHdvcnR1bmdzd2VjaHNlbCBpbm5lcmhhbGIgZGVzIDE0LVRhZ2UtCiAgICAvLyBWZXJiaW5kbGlj +aGtlaXRzZmVuc3RlcnMuIEluZm9ybWllcnQgaW4gRUlORVIgTWFpbCBBTExFIEJldHJvZmZlbmVu +OiB3ZXIKICAgIC8vIG5ldSBpbiBkaWUgVG9wLTItRnVlaHJ1bmcgYXVmcnVlY2t0IFVORCB3ZXIg +ZGFkdXJjaCBoZXJhdXNmYWVsbHQgKHVuZAogICAgLy8gZmxleGlibGVyIHBsYW5lbiBrYW5uKS4g +RGllIGVpbnplbG5lbiBCZXdlZ3VuZ2VuIHN0ZWhlbiBhbHMgZ2VuZXJpZXJ0ZXIKICAgIC8vIEJs +b2NrIGltIFBsYXR6aGFsdGVyIHt3ZWNoc2VsX2Jsb2NrfS4gQmV3dXNzdCBFSU5FIE1haWwgYW4g +YWxsZSBzdGF0dAogICAgLy8gbWVocmVyZXIgRWluemVsLU1haWxzIOKAlCBzbyBtdXNzIGRlciBQ +bGFuZW5kZSBudXIgZWlubWFsIGtsaWNrZW4uCiAgICB2ZXJhbnR3b3J0dW5nc1VlYmVyZ2FuZzog +ewogICAgICAgIGJldHJlZmY6ICdWZXJhbnR3b3J0dW5nc3dlY2hzZWw6IHtzY2hpY2h0fXNjaGlj +aHQgYW0ge2RhdHVtfScsCiAgICAgICAgdGV4dDogJ0hhbGxvLFxuXG4nICsKICAgICAgICAgICAg +ICAnZHVyY2ggZWluZSBQbGFudW5nc8OkbmRlcnVuZyBhbSB7ZGF0dW19ICh7d29jaGVudGFnfSkg +w6RuZGVydCBzaWNoIGRpZSBGw7xocnVuZ3MtVmVyYW50d29ydHVuZyBkZXIge3NjaGljaHR9c2No +aWNodDpcblxuJyArCiAgICAgICAgICAgICAgJ3t3ZWNoc2VsX2Jsb2NrfVxuXG4nICsKICAgICAg +ICAgICAgICAnRGllIMOEbmRlcnVuZyBsaWVndCBpbm5lcmhhbGIgZGVzIDE0LVRhZ2UtVmVyYmlu +ZGxpY2hrZWl0c2ZlbnN0ZXJzIOKAlCBiaXR0ZSBrdXJ6IHByw7xmZW4sIG9iIGFsbGVzIHBhc3N0 +LCBvZGVyIGVpbmUga3VyemUgUsO8Y2ttZWxkdW5nIGdlYmVuLlxuXG4nICsKICAgICAgICAgICAg +ICAnVmllbGUgR3LDvMOfZVxuJyArCiAgICAgICAgICAgICAgJ3thYnNlbmRlcl9uYW1lfScsCiAg +ICAgICAgY2NBbmRlcmVyRGdsOiB0cnVlLAogICAgICAgIGJjY0dlc2FtdHZlcmFudHdvcnRsaWNo +OiB0cnVlLAogICAgICAgIGNjQXVzbG9lc2VyOiB0cnVlCiAgICB9LAogICAgLy8gU1UtIG9kZXIg +R2VzYW10dmVyYW50d29ydGxpY2gtU3RhdHVzIGhhdCBzaWNoIGdlYWVuZGVydCAocmVpbi9yYXVz +KS4KICAgIC8vIFdpcmQgdm9tIFNlcnZlciBiZWkgL2FwaS9hZG1pbi9zdXBlcnVzZXIgYnp3LiAv +YXBpL2FkbWluL2ZhY2hhdWZzaWNodAogICAgLy8gaW0gUmVzcG9uc2UgYWxzIF9icmF1Y2h0X21h +aWx0byBhbmdlemVpZ3Q7IENsaWVudCBvZWZmbmV0IGRpZSBPdXRsb29rLQogICAgLy8gVm9ybGFn +ZS4gSW0gR2VnZW5zYXR6IHp1IHZlcmFudHdvcnR1bmdzVWViZXJnYW5nIGlzdCBkYXMgS0VJTgog +ICAgLy8gU2NoaWNodGJldHJpZWItRXJlaWduaXMsIHNvbmRlcm4gZWluIGFkbWluaXN0cmF0aXZl +ciBSb2xsZW4tV2VjaHNlbC4KICAgIHJvbGxlX3ZlcmFudHdvcnR1bmc6IHsKICAgICAgICBiZXRy +ZWZmOiAne3JvbGxlfToge25hbWV9IHtyaWNodHVuZ192ZXJifScsCiAgICAgICAgdGV4dDogJ0hh +bGxvIHtuYW1lfSxcblxuJyArCiAgICAgICAgICAgICAgJ2R1IHd1cmRlc3Qge3JpY2h0dW5nX3Zl +cmJ9OlxuXG4nICsKICAgICAgICAgICAgICAnICBSb2xsZTogICAge3JvbGxlfVxuJyArCiAgICAg +ICAgICAgICAgJyAgV2lya3NhbTogIGFiIHNvZm9ydFxuXG4nICsKICAgICAgICAgICAgICAnQmVp +IFLDvGNrZnJhZ2VuIG1lbGRlIGRpY2ggYmVpbSBHZXNhbXR2ZXJhbnR3b3J0bGljaGVuIG9kZXIg +ZWluZW0gU3VwZXJVc2VyLlxuXG4nICsKICAgICAgICAgICAgICAnVmllbGUgR3LDvMOfZVxuJyAr +CiAgICAgICAgICAgICAgJ3thYnNlbmRlcl9uYW1lfScKICAgIH0sCiAgICAvLyBBdXRvLVRyaWdn +ZXItVm9ybGFnZW4g4oCUIHdlcmRlbiBiZWltIHBhc3NlbmRlbiBTYXZlLUNhbGxiYWNrCiAgICAv +LyAoU2NoaWNodC1FZGl0L1BlcnNvbi1TYXZlL0JhY2t1cC1SZXN0b3JlL1Jlc2V0L1NVK0ZBLURp +ZmYpIHZvbQogICAgLy8gRnJvbnRlbmQtRGlzcGF0Y2hlciBtYWlsVHJpZ2dlckZldWVybigpIGFs +cyBtYWlsdG86LVBvcHVwIGF1ZmdlcnVmZW4uCiAgICAvLyBFbXBmYWVuZ2VybGlzdGUgcHJvIFRy +aWdnZXIgaW4gYWRtaW4uZW1haWxUcmlnZ2VyLjx0eXA+LmVtcGZhZW5nZXIuCiAgICAvLyBWb3Js +YWdlbi1IVE1MIHdpcmQgYmVpbSBWZXJzYW5kIHZpYSBodG1sWnVQbGFpblRleHQoKSBpbiBLbGFy +dGV4dAogICAgLy8gdW1nZXdhbmRlbHQgKG1haWx0bzoga2FubiBrZWluZSBIVE1MLU1haWxzKS4K +ICAgIGtyYW5rbWVsZHVuZzogewogICAgICAgIGJldHJlZmY6ICdLcmFua21lbGR1bmc6IHtwZXJz +b25fbmFtZX0gYW0ge2RhdHVtfSAoe3NjaGljaHR9KScsCiAgICAgICAgdGV4dDogJzxwPkhhbGxv +LDwvcD4nICsKICAgICAgICAgICAgICAnPHA+ZsO8ciB7cGVyc29uX25hbWV9IGlzdCBlaW5lIEty +YW5rbWVsZHVuZyBlaW5nZXRyYWdlbiB3b3JkZW46PC9wPjx1bD4nICsKICAgICAgICAgICAgICAn +PGxpPjxzdHJvbmc+RGF0dW06PC9zdHJvbmc+IHtkYXR1bX0gKHt3b2NoZW50YWd9KTwvbGk+JyAr +CiAgICAgICAgICAgICAgJzxsaT48c3Ryb25nPlNjaGljaHQ6PC9zdHJvbmc+IHtzY2hpY2h0fTwv +bGk+JyArCiAgICAgICAgICAgICAgJzxsaT48c3Ryb25nPkNvZGU6PC9zdHJvbmc+IHtjb2RlfTwv +bGk+JyArCiAgICAgICAgICAgICAgJzxsaT48c3Ryb25nPkVpbmdldHJhZ2VuIHZvbjo8L3N0cm9u +Zz4ge2F1c2zDtnNlcn08L2xpPicgKwogICAgICAgICAgICAgICc8L3VsPjxwPkJpdHRlIGVpbm1h +bCBzY2hhdWVuLCBvYiBFcnNhdHogb3JnYW5pc2llcnQgd2VyZGVuIG11c3MuIERhbmtlITwvcD4n +CiAgICB9LAogICAgaWRlbnRpdGFldF9nZWFlbmRlcnQ6IHsKICAgICAgICBiZXRyZWZmOiAnSWRl +bnRpdMOkdHMtRGF0ZW4gZ2XDpG5kZXJ0OiB7cGVyc29uX25hbWV9JywKICAgICAgICB0ZXh0OiAn +PHA+SGFsbG8sPC9wPicgKwogICAgICAgICAgICAgICc8cD5mb2xnZW5kZSBJZGVudGl0w6R0cy1E +YXRlbiB3dXJkZW4gZ2XDpG5kZXJ0OjwvcD48dWw+JyArCiAgICAgICAgICAgICAgJzxsaT48c3Ry +b25nPlBlcnNvbjo8L3N0cm9uZz4ge3BlcnNvbl9uYW1lfTwvbGk+JyArCiAgICAgICAgICAgICAg +JzxsaT48c3Ryb25nPkdlw6RuZGVydGVzIEZlbGQ6PC9zdHJvbmc+IHtmZWxkfTwvbGk+JyArCiAg +ICAgICAgICAgICAgJzxsaT48c3Ryb25nPlZvcmhlcjo8L3N0cm9uZz4ge2FsdGVyX3dlcnR9PC9s +aT4nICsKICAgICAgICAgICAgICAnPGxpPjxzdHJvbmc+TmFjaGhlcjo8L3N0cm9uZz4ge25ldWVy +X3dlcnR9PC9saT4nICsKICAgICAgICAgICAgICAnPGxpPjxzdHJvbmc+R2XDpG5kZXJ0IHZvbjo8 +L3N0cm9uZz4ge2F1c2zDtnNlcn08L2xpPicgKwogICAgICAgICAgICAgICc8L3VsPjxwPkZhbGxz +IGRpZXNlIMOEbmRlcnVuZyBuaWNodCBkdXJjaCBkaWNoIG9kZXIgbWl0IGRlaW5lbSBXaXNzZW4g +ZXJmb2xndCBpc3QsIG1lbGRlIGRpY2ggYml0dGUgdW1nZWhlbmQgYmVpIGVpbmVtIFN1cGVyVXNl +ci48L3A+JwogICAgfSwKICAgIHJvbGxlX2dlYWVuZGVydDogewogICAgICAgIGJldHJlZmY6ICdS +b2xsZW4tU3RhdHVzIGdlw6RuZGVydDoge3BlcnNvbl9uYW1lfSDihpIge25ldWVfcm9sbGV9JywK +ICAgICAgICB0ZXh0OiAnPHA+SGFsbG8sPC9wPicgKwogICAgICAgICAgICAgICc8cD5kZXIgUm9s +bGVuLVN0YXR1cyB3dXJkZSBnZcOkbmRlcnQ6PC9wPjx1bD4nICsKICAgICAgICAgICAgICAnPGxp +PjxzdHJvbmc+UGVyc29uOjwvc3Ryb25nPiB7cGVyc29uX25hbWV9PC9saT4nICsKICAgICAgICAg +ICAgICAnPGxpPjxzdHJvbmc+Um9sbGU6PC9zdHJvbmc+IHtyb2xsZV90eXB9PC9saT4nICsKICAg +ICAgICAgICAgICAnPGxpPjxzdHJvbmc+QWt0aW9uOjwvc3Ryb25nPiB7YWt0aW9ufTwvbGk+JyAr +CiAgICAgICAgICAgICAgJzxsaT48c3Ryb25nPkdlw6RuZGVydCB2b246PC9zdHJvbmc+IHthdXNs +w7ZzZXJ9PC9saT4nICsKICAgICAgICAgICAgICAnPC91bD48cD5OdXIgenUgZGVpbmVyIEluZm9y +bWF0aW9uIOKAlCBiZWkgRnJhZ2VuIGVpbmZhY2ggbWVsZGVuLjwvcD4nCiAgICB9LAogICAgYmFj +a3VwX3dpZWRlcmhlcmdlc3RlbGx0OiB7CiAgICAgICAgYmV0cmVmZjogJ0JhY2t1cCB3aWVkZXJo +ZXJnZXN0ZWxsdDoge2RhdGVpbmFtZX0nLAogICAgICAgIHRleHQ6ICc8cD5IYWxsbyw8L3A+JyAr +CiAgICAgICAgICAgICAgJzxwPmVpbiBCYWNrdXAgd3VyZGUgd2llZGVyaGVyZ2VzdGVsbHQ6PC9w +Pjx1bD4nICsKICAgICAgICAgICAgICAnPGxpPjxzdHJvbmc+UXVlbGwtRGF0ZWk6PC9zdHJvbmc+ +IHtkYXRlaW5hbWV9PC9saT4nICsKICAgICAgICAgICAgICAnPGxpPjxzdHJvbmc+SW5oYWx0Ojwv +c3Ryb25nPiB7aW5oYWx0fTwvbGk+JyArCiAgICAgICAgICAgICAgJzxsaT48c3Ryb25nPlNpY2hl +cnVuZyBkZXIgdm9yaGVyaWdlbiBEYXRlbjo8L3N0cm9uZz4ge3NpY2hlcnVuZ308L2xpPicgKwog +ICAgICAgICAgICAgICc8bGk+PHN0cm9uZz5XaWVkZXJoZXJnZXN0ZWxsdCB2b246PC9zdHJvbmc+ +IHthdXNsw7ZzZXJ9PC9saT4nICsKICAgICAgICAgICAgICAnPC91bD48cD5OdXIgenVyIEluZm9y +bWF0aW9uLjwvcD4nCiAgICB9LAogICAgcGxhbnVuZ19yZXNldDogewogICAgICAgIGJldHJlZmY6 +ICdQbGFudW5nIHp1csO8Y2tnZXNldHp0JywKICAgICAgICB0ZXh0OiAnPHA+SGFsbG8sPC9wPicg +KwogICAgICAgICAgICAgICc8cD5kaWUgZ2VzYW10ZSBQbGFudW5nIHd1cmRlIHp1csO8Y2tnZXNl +dHp0OjwvcD48dWw+JyArCiAgICAgICAgICAgICAgJzxsaT48c3Ryb25nPkF1dG8tQmFja3VwIHZv +cmFiOjwvc3Ryb25nPiB7c2ljaGVydW5nfTwvbGk+JyArCiAgICAgICAgICAgICAgJzxsaT48c3Ry +b25nPlp1csO8Y2tnZXNldHp0IHZvbjo8L3N0cm9uZz4ge2F1c2zDtnNlcn08L2xpPicgKwogICAg +ICAgICAgICAgICc8L3VsPjxwPkJlaSBCZWRhcmYga8O2bm5lbiB3aXIgZGFzIEF1dG8tQmFja3Vw +IGplZGVyemVpdCB3aWVkZXIgZWluc3BpZWxlbi48L3A+JwogICAgfSwKICAgIGRlZml6aXRfYnJp +ZWZpbmc6IHsKICAgICAgICBiZXRyZWZmOiAnVMOkZ2xpY2hlcyBEZWZpeml0LUJyaWVmaW5nOiB7 +ZGVmaXppdF9hbnphaGx9IFRhZyhlKSBtaXQgVW50ZXJiZXNldHp1bmcnLAogICAgICAgIHRleHQ6 +ICc8cD5IYWxsbyw8L3A+JyArCiAgICAgICAgICAgICAgJzxwPlN0YW5kIGhldXRlIG1vcmdlbiDi +gJQgRsO8aHJ1bmdzLVVudGVyYmVzZXR6dW5nZW4gaW4gZGVuIG7DpGNoc3RlbiA0IFdvY2hlbjo8 +L3A+JyArCiAgICAgICAgICAgICAgJzxwPjxzdHJvbmc+e2RlZml6aXRfYW56YWhsfTwvc3Ryb25n +PiB2b24ge2dlc2FtdF9hbnphaGx9IFRhZ2VuIHNpbmQgbmljaHQgdm9sbHN0w6RuZGlnIGJlc2V0 +enQuPC9wPicgKwogICAgICAgICAgICAgICc8cD57ZGVmaXppdF9saXN0ZV9odG1sfTwvcD4nICsK +ICAgICAgICAgICAgICAnPHA+RGV0YWlscyBmaW5kZXN0IGR1IGltIFRhYiA8ZW0+UHLDvGZ1bmc8 +L2VtPi4gQmVpIFLDvGNrZnJhZ2VuIGVpbmZhY2ggbWVsZGVuLjwvcD4nCiAgICB9Cn07CgovLyBN +ZXRhLURhdGVuIGRlciBFLU1haWwtU3plbmFyaWVuIOKAlCBzdGV1ZXJ0IEthcnRlbi1MaXN0ZSwg +TW9kYWwtVmFyaWFibGVuLCBUb2dnbGVzLgpleHBvcnQgdmFyIEVNQUlMX1ZBUklBQkxFTl9CRVND +SFJFSUJVTkcgPSB7CiAgICBkYXR1bTogICAgICAgICAgICdEYXR1bSAoei5CLiAxNC4wNS4yMDI2 +KScsCiAgICB3b2NoZW50YWc6ICAgICAgICdXb2NoZW50YWcgKE1vbnRhZywgRGllbnN0YWcsIC4u +LiknLAogICAgc2NoaWNodDogICAgICAgICAnRnLDvGgsIFNww6R0IG9kZXIgTmFjaHQnLAogICAg +c2NoaWNodF9rdXJ6OiAgICAnRiwgUyBvZGVyIE4nLAogICAgaXN0OiAgICAgICAgICAgICAnQWt0 +dWVsbCBiZXNldHp0ZSBGw7xocnVuZ3NrcsOkZnRlJywKICAgIHNvbGw6ICAgICAgICAgICAgJ0Vy +Zm9yZGVybGljaGUgRsO8aHJ1bmdza3LDpGZ0ZSAoZmVzdCAyKScsCiAgICBkZWZpeml0OiAgICAg +ICAgICdGZWhsZW5kZSBBbnphaGwgKHNvbGwg4oiSIGlzdCknLAogICAgYWJzZW5kZXJfbmFtZTog +ICAnTmFtZSBkZXMgR2VzYW10dmVyYW50d29ydGxpY2hlbicsCiAgICB3ZWNoc2VsX2Jsb2NrOiAg +ICdBdXRvbWF0aXNjaCBlcnpldWd0ZSBMaXN0ZSBhbGxlciBCZXdlZ3VuZ2VuICh3ZXIgYXVmcsO8 +Y2t0LCB3ZXIgaGVyYXVzZsOkbGx0KSDigJQgamUgZWluZSBaZWlsZSBwcm8gUGVyc29uJywKICAg +IG5hbWU6ICAgICAgICAgICAgJ05hbWUgZGVyIGJldHJvZmZlbmVuIFBlcnNvbicsCiAgICBwZXJz +b25fbmFtZTogICAgICdWb3ItIHVuZCBOYWNobmFtZSBkZXIgYmV0cm9mZmVuZW4gUGVyc29uJywK +ICAgIGNvZGU6ICAgICAgICAgICAgJ1NjaGljaHRjb2RlICh6LkIuIGtyLCBLdXIpJywKICAgICdh +dXNsw7ZzZXInOiAgICAgJ05XLUtlbm51bmcgZGVyIFBlcnNvbiwgZGllIGRpZSBBa3Rpb24gYXVz +Z2Vsw7ZzdCBoYXQnLAogICAgZmVsZDogICAgICAgICAgICAnR2XDpG5kZXJ0ZXMgRmVsZCAoei5C +LiBud0tlbm51bmcsIGVtYWlsKScsCiAgICBhbHRlcl93ZXJ0OiAgICAgICdXZXJ0IHZvciBkZXIg +w4RuZGVydW5nJywKICAgIG5ldWVyX3dlcnQ6ICAgICAgJ1dlcnQgbmFjaCBkZXIgw4RuZGVydW5n +JywKICAgIHJvbGxlX3R5cDogICAgICAgJ1N1cGVyVXNlciBvZGVyIEZhY2hhdWZzaWNodCcsCiAg +ICBha3Rpb246ICAgICAgICAgICdoaW56dWdlZsO8Z3Qgb2RlciBlbnRmZXJudCcsCiAgICBuZXVl +X3JvbGxlOiAgICAgICdOZXVlIFJvbGxlbi1CZXplaWNobnVuZycsCiAgICByb2xsZTogICAgICAg +ICAgICdTdXBlclVzZXIgb2RlciBHZXNhbXR2ZXJhbnR3b3J0bGljaCcsCiAgICBuYW1lOiAgICAg +ICAgICAgICdOYW1lIGRlciBiZXRyb2ZmZW5lbiBQZXJzb24nLAogICAgcmljaHR1bmc6ICAgICAg +ICAncmVpbiBvZGVyIHJhdXMnLAogICAgcmljaHR1bmdfdmVyYjogICAn4oCeenVtIFggZXJuYW5u +dCIgYnp3LiDigJ5hdXMgZGVyIFJvbGxlIFggZW50bGFzc2VuIicsCiAgICBkYXRlaW5hbWU6ICAg +ICAgICdCYWNrdXAtRGF0ZWluYW1lJywKICAgIGluaGFsdDogICAgICAgICAgJ0JhY2t1cC1Jbmhh +bHQgKHBsYW51bmcsIGFkbWluIG9kZXIgYmVpZGVzKScsCiAgICBzaWNoZXJ1bmc6ICAgICAgICdB +dXRvLUJhY2t1cCB2b3IgZGVyIEFrdGlvbicsCiAgICBkZWZpeml0X2FuemFobDogICdBbnphaGwg +VGFnZSBtaXQgRGVmaXppdCcsCiAgICBnZXNhbXRfYW56YWhsOiAgICdBbnphaGwgVGFnZSBpbSBI +b3Jpem9udCAoMjgpJywKICAgIGRlZml6aXRfbGlzdGVfaHRtbDogJ0hUTUwtTGlzdGUgZGVyIERl +Zml6aXQtVGFnZSAodm9yYmVyZWl0ZXQpJwp9OwoKLy8gVmVyZnVlZ2JhcmUgRW1wZmFlbmdlci1U +YWdzIG1pdCBVc2VyLWZyZXVuZGxpY2hlbiBMYWJlbHMuCmV4cG9ydCB2YXIgRU1QRkFFTkdFUl9P +UFRJT05FTiA9IFsKICAgIHsga2V5OiAnYmV0cm9mZmVuZV9wZXJzb24nLCAgICAgICAgIGxhYmVs +OiAnQmV0cm9mZmVuZSBQZXJzb24gc2VsYnN0JyB9LAogICAgeyBrZXk6ICd3YWNobGVpdHVuZ19w +ZXJzb24nLCAgICAgICAgbGFiZWw6ICdXYWNobGVpdHVuZyBkZXIgYmV0cm9mZmVuZW4gUGVyc29u +IChHcnVwcGUgV0wsIGdsZWljaGVyIFN0YW5kb3J0KScgfSwKICAgIHsga2V5OiAnZGdsX3NjaGlj +aHQnLCAgICAgICAgICAgICAgIGxhYmVsOiAnREdMcyBkZXIgYmV0cm9mZmVuZW4gU2NoaWNodCAo +b2huZSBkaWUgaGFuZGVsbmRlIFBlcnNvbiknIH0sCiAgICB7IGtleTogJ2dlc2FtdHZlcmFudHdv +cnRsaWNoJywgICAgICBsYWJlbDogJ0FsbGUgR2VzYW10dmVyYW50d29ydGxpY2hlbiAoRmFjaGF1 +ZnNpY2h0IG1pdCBGbGFnKScgfSwKICAgIHsga2V5OiAnc3VwZXJ1c2VyJywgICAgICAgICAgICAg +ICAgIGxhYmVsOiAnQWxsZSBTdXBlclVzZXInIH0sCiAgICB7IGtleTogJ2RpZW5zdF93YWNoX2Zy +ZWlfaW5fc2NoaWNodCcsIGxhYmVsOiAnRGllbnN0LS93YWNoZnJlaWUgUGVyc29uZW4gYW0gVGFn +IChmw7xyIEJlc2V0enVuZ3MtQW5mcmFnZW4pJyB9Cl07CgovLyBtb2R1czogJ21haWx0bycgPSBv +ZWZmbmV0IHdlaXRlcmhpbiBPdXRsb29rIChWZXJhbnR3b3J0dW5ncy1VZWJlcmdhZW5nZSwKLy8g +QmVzZXR6dW5ncy1BbmZyYWdlbiwgRGVmaXppdC1CcmllZmluZykuICdoaW53ZWlzJyA9IEluLUFw +cC1CYW5uZXIvTW9kYWwsCi8vIGtlaW4gT3V0bG9vayAoS3JhbmttZWxkdW5nLCBJZGVudGl0YWV0 +LCBCYWNrdXAsIFJlc2V0LCBSb2xsZSBvaG5lCi8vIFZlcmFudHdvcnR1bmdzLVdlY2hzZWwpLiBB +ZW5kZXJ1bmcgaW4gUGhhc2UgNSAoMjAyNi0wNS0yMCkuCmV4cG9ydCB2YXIgRU1BSUxfVk9STEFH +RU5fTUVUQSA9IHsKICAgIGJlc2V0enVuZ3NBbmZyYWdlOiB7CiAgICAgICAgdGl0ZWw6ICdCZXNl +dHp1bmdzLUFuZnJhZ2UgKFNhbW1lbCwgUGx1cmFsKScsCiAgICAgICAgYmVzY2hyZWlidW5nOiAn +V2lyZCB2ZXJ3ZW5kZXQsIHdlbm4gaW0gVGFnLURldGFpbCBtZWhyZXJlIEthbmRpZGF0ZW4gZ2Vt +ZWluc2FtIGFuZ2VzY2hyaWViZW4gd2VyZGVuLiBTdGFuZGFyZG3DpMOfaWcgUGx1cmFsLUFucmVk +ZSAo4oCeSGFsbG8genVzYW1tZW4sIOKApklociBoYWJ04oCmIikuIEVtcGbDpG5nZXJmZWxkIGtv +bmZpZ3VyaWVyYmFyIChEZWZhdWx0IEJDQzogQWRyZXNzYXRlbiBzZWhlbiBzaWNoIG5pY2h0IGdl +Z2Vuc2VpdGlnKS4gVmVyc2FuZDogbWFpbHRvOiAobWFudWVsbGUgUHLDvGZ1bmcgaW0gTWFpbHBy +b2dyYW1tKS4nLAogICAgICAgIGljb246ICdBbmZyYWdlJywKICAgICAgICBmYXJiZTogJ3dhcm51 +bmcnLAogICAgICAgIG1vZHVzOiAnbWFpbHRvJywKICAgICAgICB2YXJpYWJsZW46IFsnZGF0dW0n +LCAnd29jaGVudGFnJywgJ3NjaGljaHQnLCAnc2NoaWNodF9rdXJ6JywgJ2lzdCcsICdzb2xsJywg +J2RlZml6aXQnLCAnYWJzZW5kZXJfbmFtZSddLAogICAgICAgIHRvZ2dsZXM6IFsKICAgICAgICAg +ICAgeyBrZXk6ICdlbXBmYWVuZ2VySW1CY2MnLCBsYWJlbDogJ0VtcGbDpG5nZXIgaW0gQkNDLUZl +bGQgKERhdGVuc2NodXR6OiBhbmRlcmUgQWRyZXNzYXRlbiBzaW5kIHVuc2ljaHRiYXIpLiBXZW5u +IGF1c2dlc2NoYWx0ZXQ6IGFsbGUgc3RlaGVuIGltIEFuLUZlbGQgdW5kIHNlaGVuIHNpY2ggZ2Vn +ZW5zZWl0aWcuJyB9CiAgICAgICAgXQogICAgfSwKICAgIGJlc2V0enVuZ3NBbmZyYWdlX2Vpbnpl +bG46IHsKICAgICAgICB0aXRlbDogJ0Jlc2V0enVuZ3MtQW5mcmFnZSAoRWluemVsLCBwZXJzw7Zu +bGljaGVzIER1KScsCiAgICAgICAgYmVzY2hyZWlidW5nOiAnV2lyZCB2ZXJ3ZW5kZXQsIHdlbm4g +aW0gVGFnLURldGFpbCBudXIgRUlOIEthbmRpZGF0IG1hcmtpZXJ0IGlzdCDigJQgcGVyc8O2bmxp +Y2hlIER1LUFucmVkZSBtaXQgVm9ybmFtZW4sIFNpbmd1bGFyLUZvcm11bGllcnVuZy4gU3RhbmRh +cmRtw6TDn2lnIEVtcGbDpG5nZXIgaW0gQW4tRmVsZCAoQkNDIGlzdCBiZWkgZWluZXIgUGVyc29u +IHNpbm5sb3MsIGthbm4gYWJlciBiZWkgQmVkYXJmIHVtZ2VzdGVsbHQgd2VyZGVuKS4nLAogICAg +ICAgIGljb246ICdFaW56ZWwnLAogICAgICAgIGZhcmJlOiAnd2FybnVuZycsCiAgICAgICAgbW9k +dXM6ICdtYWlsdG8nLAogICAgICAgIHZhcmlhYmxlbjogWydkYXR1bScsICd3b2NoZW50YWcnLCAn +c2NoaWNodCcsICdzY2hpY2h0X2t1cnonLCAnaXN0JywgJ3NvbGwnLCAnZGVmaXppdCcsICdhYnNl +bmRlcl9uYW1lJywgJ2VtcGZhZW5nZXJfdm9ybmFtZScsICdlbXBmYWVuZ2VyX25hbWUnXSwKICAg +ICAgICB0b2dnbGVzOiBbCiAgICAgICAgICAgIHsga2V5OiAnZW1wZmFlbmdlckltQmNjJywgbGFi +ZWw6ICdFbXBmw6RuZ2VyIGltIEJDQy1GZWxkIChzdGF0dCBpbSBBbi1GZWxkKS4gQmVpIG51ciBl +aW5lciBQZXJzb24gbm9ybWFsZXJ3ZWlzZSBuaWNodCBzaW5udm9sbCDigJQgU3RhbmRhcmQ6IGF1 +cy4nIH0KICAgICAgICBdCiAgICB9LAogICAgdmVyYW50d29ydHVuZ3NVZWJlcmdhbmc6IHsKICAg +ICAgICB0aXRlbDogJ1ZlcmFudHdvcnR1bmdzd2VjaHNlbCAoU2NoaWNodCkg4oCUIGVpbmUgU2Ft +bWVsLU1haWwnLAogICAgICAgIGJlc2NocmVpYnVuZzogJ0VJTkUgTWFpbCBiZWkgamVkZW0gVmVy +YW50d29ydHVuZ3N3ZWNoc2VsIGlubmVyaGFsYiBkZXMgMTQtVGFnZS1WZXJiaW5kbGljaGtlaXRz +ZmVuc3RlcnMuIEluZm9ybWllcnQgaW4gZWluZXIgZWluemlnZW4gTWFpbCBBTExFIEJldHJvZmZl +bmVuIGF1ZiBlaW5tYWw6IHdlciBuZXUgaW4gZGllIEbDvGhydW5ncy1WZXJhbnR3b3J0dW5nIGF1 +ZnLDvGNrdCBVTkQgd2VyIGRhZHVyY2ggaGVyYXVzZsOkbGx0ICh1bmQgZmxleGlibGVyIHBsYW5l +biBrYW5uKS4gRGllIGVpbnplbG5lbiBCZXdlZ3VuZ2VuIGVyc2NoZWluZW4gYXV0b21hdGlzY2gg +aW0gUGxhdHpoYWx0ZXIge3dlY2hzZWxfYmxvY2t9LiBFbXBmw6RuZ2VyIChBbi1GZWxkKSBzaW5k +IGFsbGUgQmV0cm9mZmVuZW4gYXVzc2VyIGRlbSBQbGFuZW5kZW4gc2VsYnN0LiBWZXJzYW5kOiBt +YWlsdG86LicsCiAgICAgICAgaWNvbjogJ1dlY2hzZWwnLAogICAgICAgIGZhcmJlOiAnYWt6ZW50 +JywKICAgICAgICBtb2R1czogJ21haWx0bycsCiAgICAgICAgdmFyaWFibGVuOiBbJ2RhdHVtJywg +J3dvY2hlbnRhZycsICdzY2hpY2h0JywgJ3NjaGljaHRfa3VyeicsICdhYnNlbmRlcl9uYW1lJywg +J3dlY2hzZWxfYmxvY2snXSwKICAgICAgICB0b2dnbGVzOiBbCiAgICAgICAgICAgIHsga2V5OiAn +Y2NBbmRlcmVyRGdsJywgICAgICAgICAgIGxhYmVsOiAnQ0M6IHp3ZWl0ZSBGw7xocnVuZ3NrcmFm +dCBkZXIgU2NoaWNodCAoZmFsbHMgdm9yaGFuZGVuICsgRS1NYWlsIGhpbnRlcmxlZ3QpJyB9LAog +ICAgICAgICAgICB7IGtleTogJ2JjY0dlc2FtdHZlcmFudHdvcnRsaWNoJywgbGFiZWw6ICdCQ0M6 +IEdlc2FtdHZlcmFudHdvcnRsaWNoZXIgKGltbWVyIG51ciBhbHMgQkNDLCBudXIgenVyIEtlbm50 +bmlzKScgfSwKICAgICAgICAgICAgeyBrZXk6ICdjY0F1c2xvZXNlcicsICAgICAgICAgICAgbGFi +ZWw6ICdDQzogZGVyIGVpbmdlbG9nZ3RlIFBsYW5lbmRlLCBkZXIgZGllIMOEbmRlcnVuZyBhdXNn +ZWzDtnN0IGhhdCcgfQogICAgICAgIF0KICAgIH0sCiAgICByb2xsZV92ZXJhbnR3b3J0dW5nOiB7 +CiAgICAgICAgdGl0ZWw6ICdWZXJhbnR3b3J0dW5nc8O8YmVyZ2FuZyAoUm9sbGUpJywKICAgICAg +ICBiZXNjaHJlaWJ1bmc6ICdtYWlsdG86LVBvcHVwIHdlbm4gamVtYW5kIHp1bSBTdXBlclVzZXIg +b2RlciBHZXNhbXR2ZXJhbnR3b3J0bGljaGVuIGVybmFubnQgb2RlciBhYmdlbMO2c3Qgd2lyZC4g +U2VydmVyLWdldHJpZ2dlcnQgw7xiZXIgZGFzIF9icmF1Y2h0X21haWx0by1GZWxkIGluIGRlciBS +ZXNwb25zZS4nLAogICAgICAgIGljb246ICdSb2xsZScsCiAgICAgICAgZmFyYmU6ICdha3plbnQn +LAogICAgICAgIG1vZHVzOiAnbWFpbHRvJywKICAgICAgICBhdXRvVHJpZ2dlcjogdHJ1ZSwKICAg +ICAgICB2YXJpYWJsZW46IFsncm9sbGUnLCAnbmFtZScsICdyaWNodHVuZycsICdyaWNodHVuZ192 +ZXJiJywgJ2Fic2VuZGVyX25hbWUnXSwKICAgICAgICBkZWZhdWx0RW1wZmFlbmdlcjogWydiZXRy +b2ZmZW5lX3BlcnNvbicsICdzdXBlcnVzZXInLCAnZ2VzYW10dmVyYW50d29ydGxpY2gnXSwKICAg +ICAgICB0b2dnbGVzOiBbXQogICAgfSwKICAgIGtyYW5rbWVsZHVuZzogewogICAgICAgIHRpdGVs +OiAnS3JhbmttZWxkdW5nJywKICAgICAgICBiZXNjaHJlaWJ1bmc6ICdJbi1BcHAtSGlud2VpcyAo +QmFubmVyICsgTW9kYWwpIHdlbm4gZGVyIENvZGUg4oCea3IiIG9kZXIg4oCeS3VyIiBpbiBlaW5l +IFplbGxlIGVpbmdldHJhZ2VuIHdpcmQuIEVtcGbDpG5nZXI6IFN1cGVyVXNlciArIEdlc2FtdHZl +cmFudHdvcnRsaWNoZS4nLAogICAgICAgIGljb246ICdLcmFuaycsIGZhcmJlOiAnd2FybnVuZycs +IGF1dG9UcmlnZ2VyOiB0cnVlLAogICAgICAgIG1vZHVzOiAnaGlud2VpcycsCiAgICAgICAgdmFy +aWFibGVuOiBbJ3BlcnNvbl9uYW1lJywgJ2RhdHVtJywgJ3dvY2hlbnRhZycsICdzY2hpY2h0Jywg +J3NjaGljaHRfa3VyeicsICdjb2RlJywgJ2F1c2zDtnNlciddLAogICAgICAgIGRlZmF1bHRFbXBm +YWVuZ2VyOiBbJ3dhY2hsZWl0dW5nX3BlcnNvbicsICdkZ2xfc2NoaWNodCddLAogICAgICAgIHRv +Z2dsZXM6IFtdCiAgICB9LAogICAgaWRlbnRpdGFldF9nZWFlbmRlcnQ6IHsKICAgICAgICB0aXRl +bDogJ0lkZW50aXTDpHRzLURhdGVuIGdlw6RuZGVydCAoQXVkaXQpJywKICAgICAgICBiZXNjaHJl +aWJ1bmc6ICdJbi1BcHAtSGlud2VpcyAoQmFubmVyICsgTW9kYWwpIHdlbm4gTlctS2VubnVuZyBv +ZGVyIEUtTWFpbC1BZHJlc3NlIGVpbmVyIFBlcnNvbiBnZcOkbmRlcnQgd2lyZC4gRW1wZsOkbmdl +cjogU3VwZXJVc2VyICsgR2VzYW10dmVyYW50d29ydGxpY2hlLicsCiAgICAgICAgaWNvbjogJ0lk +ZW50aXTDpHQnLCBmYXJiZTogJ2FremVudCcsIGF1dG9UcmlnZ2VyOiB0cnVlLAogICAgICAgIG1v +ZHVzOiAnaGlud2VpcycsCiAgICAgICAgdmFyaWFibGVuOiBbJ3BlcnNvbl9uYW1lJywgJ2ZlbGQn +LCAnYWx0ZXJfd2VydCcsICduZXVlcl93ZXJ0JywgJ2F1c2zDtnNlciddLAogICAgICAgIGRlZmF1 +bHRFbXBmYWVuZ2VyOiBbJ2JldHJvZmZlbmVfcGVyc29uJywgJ3N1cGVydXNlciddLAogICAgICAg +IHRvZ2dsZXM6IFtdCiAgICB9LAogICAgcm9sbGVfZ2VhZW5kZXJ0OiB7CiAgICAgICAgdGl0ZWw6 +ICdSb2xsZW4tU3RhdHVzIGdlw6RuZGVydCAoQXVkaXQpJywKICAgICAgICBiZXNjaHJlaWJ1bmc6 +ICdJbi1BcHAtSGlud2VpcyBiZWkgRmFjaGF1ZnNpY2h0LcOEbmRlcnVuZ2VuIG9obmUgR2VzYW10 +dmVyYW50d29ydGxpY2gtV2VjaHNlbCAoei5CLiBTZWhlbi1GbGFnLURpZmYpLiBTVS0gdW5kIEdl +c2FtdHZlcmFudHdvcnRsaWNoLVdlY2hzZWwgbGF1ZmVuIMO8YmVyIHJvbGxlX3ZlcmFudHdvcnR1 +bmcuJywKICAgICAgICBpY29uOiAnUm9sbGUnLCBmYXJiZTogJ2FremVudCcsIGF1dG9UcmlnZ2Vy +OiB0cnVlLAogICAgICAgIG1vZHVzOiAnaGlud2VpcycsCiAgICAgICAgdmFyaWFibGVuOiBbJ3Bl +cnNvbl9uYW1lJywgJ3JvbGxlX3R5cCcsICdha3Rpb24nLCAnbmV1ZV9yb2xsZScsICdhdXNsw7Zz +ZXInXSwKICAgICAgICBkZWZhdWx0RW1wZmFlbmdlcjogWydiZXRyb2ZmZW5lX3BlcnNvbicsICdz +dXBlcnVzZXInXSwKICAgICAgICB0b2dnbGVzOiBbXQogICAgfSwKICAgIGJhY2t1cF93aWVkZXJo +ZXJnZXN0ZWxsdDogewogICAgICAgIHRpdGVsOiAnQmFja3VwIHdpZWRlcmhlcmdlc3RlbGx0IChB +dWRpdCknLAogICAgICAgIGJlc2NocmVpYnVuZzogJ0luLUFwcC1IaW53ZWlzIHdlbm4gZWluIEJh +Y2t1cC1TdGFuZCB3aWVkZXJoZXJnZXN0ZWxsdCB3aXJkLicsCiAgICAgICAgaWNvbjogJ0JhY2t1 +cCcsIGZhcmJlOiAnYWt6ZW50JywgYXV0b1RyaWdnZXI6IHRydWUsCiAgICAgICAgbW9kdXM6ICdo +aW53ZWlzJywKICAgICAgICB2YXJpYWJsZW46IFsnZGF0ZWluYW1lJywgJ2luaGFsdCcsICdzaWNo +ZXJ1bmcnLCAnYXVzbMO2c2VyJ10sCiAgICAgICAgZGVmYXVsdEVtcGZhZW5nZXI6IFsnc3VwZXJ1 +c2VyJ10sCiAgICAgICAgdG9nZ2xlczogW10KICAgIH0sCiAgICBwbGFudW5nX3Jlc2V0OiB7CiAg +ICAgICAgdGl0ZWw6ICdQbGFudW5nIHp1csO8Y2tnZXNldHp0IChBdWRpdCknLAogICAgICAgIGJl +c2NocmVpYnVuZzogJ0luLUFwcC1IaW53ZWlzIHdlbm4gZGllIFBsYW51bmcga29tcGxldHQgenVy +w7xja2dlc2V0enQgd2lyZC4nLAogICAgICAgIGljb246ICdSZXNldCcsIGZhcmJlOiAnd2FybnVu +ZycsIGF1dG9UcmlnZ2VyOiB0cnVlLAogICAgICAgIG1vZHVzOiAnaGlud2VpcycsCiAgICAgICAg +dmFyaWFibGVuOiBbJ3NpY2hlcnVuZycsICdhdXNsw7ZzZXInXSwKICAgICAgICBkZWZhdWx0RW1w +ZmFlbmdlcjogWydzdXBlcnVzZXInXSwKICAgICAgICB0b2dnbGVzOiBbXQogICAgfSwKICAgIGRl +Zml6aXRfYnJpZWZpbmc6IHsKICAgICAgICB0aXRlbDogJ0RlZml6aXQtQnJpZWZpbmcnLAogICAg +ICAgIGJlc2NocmVpYnVuZzogJ01hbnVlbGwgcGVyIEJ1dHRvbiBpbSBQcsO8ZnVuZ3MtVGFiIGF1 +c2dlbMO2c3Qg4oCUIMO2ZmZuZXQgZWluIG1haWx0bzotUG9wdXAgbWl0IMOcYmVyc2ljaHQgZGVy +IEbDvGhydW5ncy1VbnRlcmJlc2V0enVuZ2VuIGluIGRlbiBuw6RjaHN0ZW4gNCBXb2NoZW4uJywK +ICAgICAgICBpY29uOiAnRGVmaXppdCcsIGZhcmJlOiAnYWt6ZW50JywgYXV0b1RyaWdnZXI6IHRy +dWUsCiAgICAgICAgbW9kdXM6ICdtYWlsdG8nLAogICAgICAgIHZhcmlhYmxlbjogWydkZWZpeml0 +X2FuemFobCcsICdnZXNhbXRfYW56YWhsJywgJ2RlZml6aXRfbGlzdGVfaHRtbCddLAogICAgICAg +IGRlZmF1bHRFbXBmYWVuZ2VyOiBbJ2dlc2FtdHZlcmFudHdvcnRsaWNoJ10sCiAgICAgICAgdG9n +Z2xlczogW10KICAgIH0KfTsKCi8vID09PT09IFZvcmxhZ2VuIGhvbGVuIC8gcmVuZGVybiAvIGJl +YXJiZWl0ZW4gPT09PT0KCi8vIExpZWZlcnQgcHJvIFZvcmxhZ2VuLUtleSAoYWxsZSBhdXMgRU1B +SUxfVk9STEFHRU5fTUVUQSkgZGFzIGdlbWVyZ2V0ZQovLyBPYmpla3QgYXVzIGFkbWluLmVtYWls +Vm9ybGFnZW4gKyBEZWZhdWx0cy4gUm9idXN0IGF1Y2ggZnVlciBLZXlzLCBkaWUKLy8gbmljaHQg +aW4gREVGQVVMVFMgc3RlaGVuIChyZXR1cm50IGRhbm4gbGVlcmVzIE9iamVrdCkuCmV4cG9ydCBm +dW5jdGlvbiBlbWFpbFZvcmxhZ2VuSG9sZW4oKSB7CiAgICB2YXIgZ2VzcGVpY2hlcnQgPSBaLmFk +bWluLmVtYWlsVm9ybGFnZW4gfHwge307CiAgICB2YXIgZXJnZWJuaXMgPSB7fTsKICAgIE9iamVj +dC5rZXlzKEVNQUlMX1ZPUkxBR0VOX01FVEEpLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7CiAgICAg +ICAgdmFyIGRlZiA9IEVNQUlMX1ZPUkxBR0VOX0RFRkFVTFRba2V5XSB8fCB7IGJldHJlZmY6ICcn +LCB0ZXh0OiAnJyB9OwogICAgICAgIHZhciBnID0gZ2VzcGVpY2hlcnRba2V5XSB8fCB7fTsKICAg +ICAgICB2YXIgb3V0ID0ge307CiAgICAgICAgLy8gQWxsZSBEZWZhdWx0LUZlbGRlciBkdXJjaHNj +aGxlaWZlbgogICAgICAgIE9iamVjdC5rZXlzKGRlZikuZm9yRWFjaChmdW5jdGlvbihrKSB7CiAg +ICAgICAgICAgIG91dFtrXSA9IChrIGluIGcgJiYgZ1trXSAhPT0gJycgJiYgZ1trXSAhPSBudWxs +KSA/IGdba10gOiBkZWZba107CiAgICAgICAgfSk7CiAgICAgICAgLy8gUGx1cyBhbGxlIGV2ZW50 +dWVsbGVuIFRvZ2dsZS1GZWxkZXIgYXVzIGRlbSBnZXNwZWljaGVydGVuIFN0YW5kCiAgICAgICAg +T2JqZWN0LmtleXMoZykuZm9yRWFjaChmdW5jdGlvbihrKSB7CiAgICAgICAgICAgIGlmICghKGsg +aW4gb3V0KSkgb3V0W2tdID0gZ1trXTsKICAgICAgICB9KTsKICAgICAgICBlcmdlYm5pc1trZXld +ID0gb3V0OwogICAgfSk7CiAgICByZXR1cm4gZXJnZWJuaXM7Cn0KCmV4cG9ydCBmdW5jdGlvbiBl +bWFpbFZvcmxhZ2VuUmVuZGVybigpIHsKICAgIHZhciBjb250ID0gZG9jdW1lbnQuZ2V0RWxlbWVu +dEJ5SWQoJ2VtYWlsdm9ybGFnZW4taW5oYWx0Jyk7CiAgICBpZiAoIWNvbnQpIHJldHVybjsKICAg +IHZhciB2ID0gZW1haWxWb3JsYWdlbkhvbGVuKCk7CiAgICAvLyBTcGxpdCBuYWNoIHZlcnN0ZWNr +dC1GbGFnLiBWaXNpYmxlLVZvcmxhZ2VuIGVyc2NoZWluZW4gYWxzIGdyb3NzZQogICAgLy8gS2Fy +dGVuIGluIGRlciBQcmltYWVyYW5zaWNodCwgSGlkZGVuIGxhbmRlbiBrb21wYWt0IHVudGVuIGFs +cwogICAgLy8gUGlsbGVuIG1pdCAiZWluYmxlbmRlbiItQnV0dG9uLiBWZXJzdGVja3QtRmxhZyBs +ZWJ0IGluCiAgICAvLyBhZG1pbi5qc29uLmVtYWlsVm9ybGFnZW5ba2V5XS52ZXJzdGVja3QuCiAg +ICB2YXIgc2ljaHRiYXIgPSBbXSwgdmVyc3RlY2t0ID0gW107CiAgICBPYmplY3Qua2V5cyhFTUFJ +TF9WT1JMQUdFTl9NRVRBKS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkgewogICAgICAgIGlmICh2W2tl +eV0gJiYgdltrZXldLnZlcnN0ZWNrdCkgdmVyc3RlY2t0LnB1c2goa2V5KTsKICAgICAgICBlbHNl +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpY2h0YmFyLnB1c2goa2V5KTsKICAgIH0pOwoK +ICAgIHZhciBodG1sID0gJzxkaXYgY2xhc3M9ImVtYWlsdm9ybGFnZW4ta2FydGVuIj4nOwogICAg +c2ljaHRiYXIuZm9yRWFjaChmdW5jdGlvbihrZXkpIHsKICAgICAgICB2YXIgbWV0YSA9IEVNQUlM +X1ZPUkxBR0VOX01FVEFba2V5XTsKICAgICAgICB2YXIgdm9ybGFnZSA9IHZba2V5XTsKICAgICAg +ICB2YXIgcHJldmlldyA9ICh2b3JsYWdlLnRleHQgfHwgJycpLnJlcGxhY2UoL1xzKy9nLCAnICcp +LnNsaWNlKDAsIDE0MCk7CiAgICAgICAgaWYgKCh2b3JsYWdlLnRleHQgfHwgJycpLmxlbmd0aCA+ +IDE0MCkgcHJldmlldyArPSAn4oCmJzsKICAgICAgICAvLyByb2xlPWJ1dHRvbiBzdGF0dCA8YnV0 +dG9uPjogZGllIEthcnRlIGVudGhhZWx0IHNlbGJzdCBlaW5lbgogICAgICAgIC8vIEF1c2JsZW5k +ZW4tPGJ1dHRvbj4sIHVuZCBlaW4gPGJ1dHRvbj4gaW0gPGJ1dHRvbj4gaXN0IHVuZ3VlbHRpZ2Vz +CiAgICAgICAgLy8gSFRNTCAoZGVyIEJyb3dzZXIgemVycmVpc3N0IGRlbiBET00tQmF1bSkuIEtl +eWJvYXJkLUFrdGl2aWVydW5nCiAgICAgICAgLy8gKEVudGVyL1NwYWNlKSBoYWVuZ3QgYW0gQ29u +dGFpbmVyLUtleWRvd24tSGFuZGxlciBpbiBhcHAuanMuCiAgICAgICAgaHRtbCArPSAnPGRpdiBj +bGFzcz0iZW1haWx2b3JsYWdlLWthcnRlIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIiBkYXRh +LXZvcmxhZ2U9IicgKyBlc2NhcGVBdHRyKGtleSkgKyAnIj4nICsKICAgICAgICAgICAgJzxkaXYg +Y2xhc3M9ImV2ay1pY29uIGV2ay1pY29uLScgKyBlc2NhcGVBdHRyKG1ldGEuZmFyYmUpICsgJyI+ +JyArIGVzY2FwZUhUTUwobWV0YS5pY29uKSArICc8L2Rpdj4nICsKICAgICAgICAgICAgJzxkaXYg +Y2xhc3M9ImV2ay1pbmhhbHQiPicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImV2ay10 +aXRlbCI+JyArIGVzY2FwZUhUTUwobWV0YS50aXRlbCkgKyAnPC9kaXY+JyArCiAgICAgICAgICAg +ICAgICAnPGRpdiBjbGFzcz0iZXZrLWJlc2NocmVpYnVuZyI+JyArIGVzY2FwZUhUTUwobWV0YS5i +ZXNjaHJlaWJ1bmcpICsgJzwvZGl2PicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImV2 +ay1iZXRyZWZmIiB0aXRsZT0iQmV0cmVmZiI+PHNwYW4gY2xhc3M9ImV2ay1sYWJlbCI+QmV0cmVm +Zjo8L3NwYW4+ICcgKyBlc2NhcGVIVE1MKHZvcmxhZ2UuYmV0cmVmZiB8fCAnKGxlZXIpJykgKyAn +PC9kaXY+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iZXZrLXByZXZpZXciIHRpdGxl +PSJCZWdpbm4gZGVzIEFuc2NocmVpYmVucyI+JyArIGVzY2FwZUhUTUwocHJldmlldyB8fCAnKGxl +ZXIpJykgKyAnPC9kaXY+JyArCiAgICAgICAgICAgICc8L2Rpdj4nICsKICAgICAgICAgICAgJzxk +aXYgY2xhc3M9ImV2ay1ha3Rpb24iPkJlYXJiZWl0ZW4g4oaSPC9kaXY+JyArCiAgICAgICAgICAg +IC8vIEF1c2JsZW5kZW4tS25vcGYgKGtsZWluLCBvYmVuIHJlY2h0czsgbnVyIGJlaSBIb3ZlciBz +aWNodGJhcikuCiAgICAgICAgICAgIC8vIHN0b3BQcm9wYWdhdGlvbiBpbSBDbGljay1IYW5kbGVy +IHZlcmhpbmRlcnQgZGFzIE9lZmZuZW4gZGVzCiAgICAgICAgICAgIC8vIEJlYXJiZWl0ZW4tTW9k +YWxzLCB3ZW5uIG51ciBhdXNnZWJsZW5kZXQgd2VyZGVuIHNvbGwuCiAgICAgICAgICAgICc8YnV0 +dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImV2ay1oaWRlLWJ0biIgZGF0YS1ha3Rpb249ImV2LWhp +ZGUiIGRhdGEtdm9ybGFnZT0iJyArIGVzY2FwZUF0dHIoa2V5KSArICciIHRpdGxlPSJWb3JsYWdl +IGF1cyBkZXIgVWViZXJzaWNodCBhdXNibGVuZGVuIChrYW5uIHVudGVuIHdpZWRlciBlaW5nZWJs +ZW5kZXQgd2VyZGVuKSI+QXVzYmxlbmRlbjwvYnV0dG9uPicgKwogICAgICAgICc8L2Rpdj4nOwog +ICAgfSk7CiAgICBodG1sICs9ICc8L2Rpdj4nOwoKICAgIGlmICh2ZXJzdGVja3QubGVuZ3RoKSB7 +CiAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz0iZW1haWx2b3JsYWdlbi12ZXJzdGVja3QiPicg +KwogICAgICAgICAgICAnPGRpdiBjbGFzcz0iZW1haWx2b3JsYWdlbi12ZXJzdGVja3Qta29wZiI+ +JyArCiAgICAgICAgICAgICAgICAnPHNwYW4+VmVyc3RlY2t0ZSBWb3JsYWdlbiAoJyArIHZlcnN0 +ZWNrdC5sZW5ndGggKyAnKTwvc3Bhbj4nICsKICAgICAgICAgICAgICAgICc8c3BhbiBzdHlsZT0i +Zm9udC13ZWlnaHQ6NDAwIj7igJQgcGVyIEtsaWNrIHdpZWRlciBlaW5ibGVuZGVuPC9zcGFuPicg +KwogICAgICAgICAgICAnPC9kaXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJlbWFpbHZv +cmxhZ2VuLXZlcnN0ZWNrdC1saXN0ZSI+JzsKICAgICAgICB2ZXJzdGVja3QuZm9yRWFjaChmdW5j +dGlvbihrZXkpIHsKICAgICAgICAgICAgdmFyIG1ldGEgPSBFTUFJTF9WT1JMQUdFTl9NRVRBW2tl +eV07CiAgICAgICAgICAgIGh0bWwgKz0gJzxzcGFuIGNsYXNzPSJldmstdmVyc3RlY2t0LXBpbGxl +Ij4nICsKICAgICAgICAgICAgICAgICc8c3BhbiBzdHlsZT0iZm9udC1zaXplOjE0cHgiPicgKyBl +c2NhcGVIVE1MKG1ldGEuaWNvbikgKyAnPC9zcGFuPicgKwogICAgICAgICAgICAgICAgJzxzcGFu +IGNsYXNzPSJldmstdmVyc3RlY2t0LXRpdGVsIj4nICsgZXNjYXBlSFRNTChtZXRhLnRpdGVsKSAr +ICc8L3NwYW4+JyArCiAgICAgICAgICAgICAgICAnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNz +PSJldmstc2hvdy1idG4iIGRhdGEtYWt0aW9uPSJldi1zaG93IiBkYXRhLXZvcmxhZ2U9IicgKyBl +c2NhcGVBdHRyKGtleSkgKyAnIiB0aXRsZT0iVm9ybGFnZSB3aWVkZXIgaW4gZGVyIFByaW1hZXJh +bnNpY2h0IHplaWdlbiI+ZWluYmxlbmRlbjwvYnV0dG9uPicgKwogICAgICAgICAgICAnPC9zcGFu +Pic7CiAgICAgICAgfSk7CiAgICAgICAgaHRtbCArPSAnPC9kaXY+PC9kaXY+JzsKICAgIH0KICAg +IGNvbnQuaW5uZXJIVE1MID0gaHRtbDsKfQoKLy8gRWRpdG9yLU1vZGFsIHBybyBWb3JsYWdlLiBM +aW5rZSBTcGFsdGU6IEJldHJlZmYgKyBUZXh0YXJlYSArIFRvZ2dsZXMuCi8vIFJlY2h0ZSBTcGFs +dGU6IFZhcmlhYmxlbi1JbnNlcnQtQnV0dG9ucy4gS2xpY2sgYXVmIFZhcmlhYmxlIGZ1ZWd0Ci8v +IHtuYW1lfSBhbiBDdXJzb3ItUG9zaXRpb24gaW0genVsZXR6dCBmb2t1c3NpZXJ0ZW4gRmVsZCBl +aW4uCmV4cG9ydCBmdW5jdGlvbiBlbWFpbFZvcmxhZ2VCZWFyYmVpdGVuTW9kYWwoa2V5KSB7CiAg +ICB2YXIgbWV0YSA9IEVNQUlMX1ZPUkxBR0VOX01FVEFba2V5XTsKICAgIGlmICghbWV0YSkgcmV0 +dXJuOwogICAgdmFyIHYgPSBlbWFpbFZvcmxhZ2VuSG9sZW4oKVtrZXldOwoKICAgIHZhciB2YXJp +YWJsZW5CdG5zID0gbWV0YS52YXJpYWJsZW4ubWFwKGZ1bmN0aW9uKHZhck5hbWUpIHsKICAgICAg +ICB2YXIgYmVzY2hyID0gRU1BSUxfVkFSSUFCTEVOX0JFU0NIUkVJQlVOR1t2YXJOYW1lXSB8fCAn +JzsKICAgICAgICByZXR1cm4gJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iZXZtLXZhci1i +dG4iIGRhdGEtdmFyPSInICsgZXNjYXBlQXR0cih2YXJOYW1lKSArICciIHRpdGxlPSInICsgZXNj +YXBlQXR0cignVmFyaWFibGUgZWluZsO8Z2VuOiB7JyArIHZhck5hbWUgKyAnfSDigJQgJyArIGJl +c2NocikgKyAnIj4nICsKICAgICAgICAgICAgJzxjb2RlIGNsYXNzPSJldm0tdmFyLW5hbWUiPnsn +ICsgZXNjYXBlSFRNTCh2YXJOYW1lKSArICd9PC9jb2RlPicgKwogICAgICAgICAgICAnPHNwYW4g +Y2xhc3M9ImV2bS12YXItYmVzY2hyIj4nICsgZXNjYXBlSFRNTChiZXNjaHIpICsgJzwvc3Bhbj4n +ICsKICAgICAgICAnPC9idXR0b24+JzsKICAgIH0pLmpvaW4oJycpOwoKICAgIHZhciB0b2dnbGVz +SHRtbCA9IG1ldGEudG9nZ2xlcy5sZW5ndGgKICAgICAgICA/ICc8ZGl2IGNsYXNzPSJldm0tdG9n +Z2xlcyI+JyArCiAgICAgICAgICAgIG1ldGEudG9nZ2xlcy5tYXAoZnVuY3Rpb24odCkgewogICAg +ICAgICAgICAgICAgdmFyIGNoZWNrZWQgPSAhIXZbdC5rZXldOwogICAgICAgICAgICAgICAgcmV0 +dXJuICc8bGFiZWwgY2xhc3M9ImV2bS10b2dnbGUiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9 +ImV2bS10b2dnbGUtJyArIGVzY2FwZUF0dHIodC5rZXkpICsgJyInICsgKGNoZWNrZWQgPyAnIGNo +ZWNrZWQnIDogJycpICsgJz48c3Bhbj4nICsgZXNjYXBlSFRNTCh0LmxhYmVsKSArICc8L3NwYW4+ +PC9sYWJlbD4nOwogICAgICAgICAgICB9KS5qb2luKCcnKSArCiAgICAgICAgICAnPC9kaXY+Jwog +ICAgICAgIDogJyc7CgogICAgdmFyIHRyaWdnZXJIdG1sID0gJyc7CiAgICBpZiAobWV0YS5hdXRv +VHJpZ2dlcikgewogICAgICAgIHZhciB0cmlnZ2VyQ2ZnID0gKChaLmFkbWluICYmIFouYWRtaW4u +ZW1haWxUcmlnZ2VyKSB8fCB7fSlba2V5XSB8fCB7fTsKICAgICAgICB2YXIgYWt0aXYgPSAhIXRy +aWdnZXJDZmcuYWt0aXY7CiAgICAgICAgdmFyIGFrdGl2ZUVtcGYgPSB0cmlnZ2VyQ2ZnLmVtcGZh +ZW5nZXIgfHwgbWV0YS5kZWZhdWx0RW1wZmFlbmdlciB8fCBbXTsKICAgICAgICB2YXIgZW1wZkh0 +bWwgPSBFTVBGQUVOR0VSX09QVElPTkVOLm1hcChmdW5jdGlvbihvcHQpIHsKICAgICAgICAgICAg +dmFyIGNoZWNrZWQgPSBha3RpdmVFbXBmLmluZGV4T2Yob3B0LmtleSkgPj0gMDsKICAgICAgICAg +ICAgcmV0dXJuICc8bGFiZWwgY2xhc3M9ImV2bS1lbXBmLXplaWxlIj4nICsKICAgICAgICAgICAg +ICAgICc8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJldm0tZW1wZi1jaGsiIGRhdGEta2V5 +PSInICsgZXNjYXBlQXR0cihvcHQua2V5KSArICciJyArIChjaGVja2VkID8gJyBjaGVja2VkJyA6 +ICcnKSArICc+JyArCiAgICAgICAgICAgICAgICAnPHNwYW4+JyArIGVzY2FwZUhUTUwob3B0Lmxh +YmVsKSArICc8L3NwYW4+JyArCiAgICAgICAgICAgICc8L2xhYmVsPic7CiAgICAgICAgfSkuam9p +bignJyk7CiAgICAgICAgaWYgKG1ldGEubW9kdXMgPT09ICdoaW53ZWlzJykgewogICAgICAgICAg +ICAvLyBQaGFzZSA1ICgyMDI2LTA1LTIwKToga2VpbiBtYWlsdG8sIHNvbmRlcm4gSW4tQXBwLUJh +bm5lcitNb2RhbAogICAgICAgICAgICAvLyBmdWVyIFNVICsgR2VzYW10dmVyYW50d29ydGxpY2hl +LiBBa3Rpdi1Ub2dnbGUgZW50ZmFlbGx0OiBkZXIKICAgICAgICAgICAgLy8gU2VydmVyIGVyemV1 +Z3QgZGVuIEhpbndlaXMgYmVpIGplZGVtIEVyZWlnbmlzLgogICAgICAgICAgICB0cmlnZ2VySHRt +bCA9CiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iZXZtLXRyaWdnZXItYmxvY2siPicgKwog +ICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJldm0tdHJpZ2dlci10aXRlbCI+SW4tQXBw +LUhpbndlaXM8L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAnPHAgY2xhc3M9ImV2bS1oaW53 +ZWlzIiBzdHlsZT0ibWFyZ2luOjAiPkJlaW0gRWludHJpdHQgZGVzIEVyZWlnbmlzc2VzIHdpcmQg +ZWluIEhpbndlaXMgaW0gQmFubmVyIHVuZCBpbSBIaW53ZWlzLU1vZGFsIGZ1ZXIgU3VwZXJVc2Vy +ICsgR2VzYW10dmVyYW50d29ydGxpY2hlIGFuZ2V6ZWlndC4gS2VpbiBPdXRsb29rLVBvcHVwLiBE +aWVzZSBWb3JsYWdlIHdpcmQgbmljaHQgdmVyc2VuZGV0OyBzaWUgZGllbnQgbnVyIGFscyBCZXNj +aHJlaWJ1bmcgZGVzIEVyZWlnbmlzc2VzLjwvcD4nICsKICAgICAgICAgICAgICAgICc8L2Rpdj4n +OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRyaWdnZXJIdG1sID0KICAgICAgICAgICAg +ICAgICc8ZGl2IGNsYXNzPSJldm0tdHJpZ2dlci1ibG9jayI+JyArCiAgICAgICAgICAgICAgICAg +ICAgJzxkaXYgY2xhc3M9ImV2bS10cmlnZ2VyLXRpdGVsIj5tYWlsdG86LUF1dG8tVHJpZ2dlcjwv +ZGl2PicgKwogICAgICAgICAgICAgICAgICAgICc8bGFiZWwgY2xhc3M9ImV2bS10cmlnZ2VyLWFr +dGl2Ij4nICsKICAgICAgICAgICAgICAgICAgICAgICAgJzxpbnB1dCB0eXBlPSJjaGVja2JveCIg +aWQ9ImV2bS10cmlnLWFrdGl2IicgKyAoYWt0aXYgPyAnIGNoZWNrZWQnIDogJycpICsgJz4nICsK +ICAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuPlRyaWdnZXIgYWt0aXZpZXJlbiAow7ZmZm5l +dCBPdXRsb29rIG1pdCB2b3JhdXNnZWbDvGxsdGVyIE1haWwsIHdlbm4gZGFzIEVyZWlnbmlzIGVp +bnRyaXR0KTwvc3Bhbj4nICsKICAgICAgICAgICAgICAgICAgICAnPC9sYWJlbD4nICsKICAgICAg +ICAgICAgICAgICAgICAnPGxhYmVsIGNsYXNzPSJldm0tbGFiZWwiIHN0eWxlPSJtYXJnaW4tdG9w +OjhweCI+RW1wZsOkbmdlciAod2VyZGVuIGFscyBCQ0Mgdm9yYXVzZ2Vmw7xsbHQpPC9sYWJlbD4n +ICsKICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iZXZtLWVtcGYtbGlzdGUiPicgKyBl +bXBmSHRtbCArICc8L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAnPHNtYWxsIGNsYXNzPSJl +dm0taGlud2VpcyI+S2VpbiBhdXRvbWF0aXNjaGVyIFZlcnNhbmQuIEJlaW0gRWludHJpdHQgZGVz +IEVyZWlnbmlzc2VzIMO2ZmZuZXQgc2ljaCBkYXMgU3RhbmRhcmQtTWFpbHByb2dyYW1tIG1pdCBF +bXBmw6RuZ2VybiwgQmV0cmVmZiB1bmQgVGV4dCB2b3JhdXNnZWbDvGxsdDsgZHUgcHLDvGZzdCBk +aWUgTWFpbCB1bmQgdmVyc2NoaWNrc3Qgc2llIG1hbnVlbGwuPC9zbWFsbD4nICsKICAgICAgICAg +ICAgICAgICc8L2Rpdj4nOwogICAgICAgIH0KICAgIH0KCiAgICB2YXIgcnRlVG9vbGJhciA9CiAg +ICAgICAgJzxkaXYgY2xhc3M9InJ0ZS10b29sYmFyIj4nICsKICAgICAgICAgICAgJzxidXR0b24g +dHlwZT0iYnV0dG9uIiBjbGFzcz0icnRlLWJ0biIgZGF0YS1jbWQ9ImJvbGQiIHRpdGxlPSJGZXR0 +IChDdHJsK0IpIj48c3Ryb25nPkI8L3N0cm9uZz48L2J1dHRvbj4nICsKICAgICAgICAgICAgJzxi +dXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0icnRlLWJ0biIgZGF0YS1jbWQ9Iml0YWxpYyIgdGl0 +bGU9Ikt1cnNpdiAoQ3RybCtJKSI+PGVtPkk8L2VtPjwvYnV0dG9uPicgKwogICAgICAgICAgICAn +PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0idW5kZXJsaW5l +IiB0aXRsZT0iVW50ZXJzdHJpY2hlbiAoQ3RybCtVKSI+PHU+VTwvdT48L2J1dHRvbj4nICsKICAg +ICAgICAgICAgJzxzcGFuIGNsYXNzPSJydGUtc2VwIj48L3NwYW4+JyArCiAgICAgICAgICAgICc8 +YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InJ0ZS1idG4iIGRhdGEtY21kPSJpbnNlcnRVbm9y +ZGVyZWRMaXN0IiB0aXRsZT0iQXVmesOkaGx1bmciPuKAojwvYnV0dG9uPicgKwogICAgICAgICAg +ICAnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJydGUtYnRuIiBkYXRhLWNtZD0iaW5zZXJ0 +T3JkZXJlZExpc3QiIHRpdGxlPSJOdW1tZXJpZXJ0Ij4xLjwvYnV0dG9uPicgKwogICAgICAgICAg +ICAnPHNwYW4gY2xhc3M9InJ0ZS1zZXAiPjwvc3Bhbj4nICsKICAgICAgICAgICAgJzxidXR0b24g +dHlwZT0iYnV0dG9uIiBjbGFzcz0icnRlLWJ0biIgZGF0YS1jbWQ9Im91dGRlbnQiIHRpdGxlPSJB +dXNyw7xja2VuIj7ih6Q8L2J1dHRvbj4nICsKICAgICAgICAgICAgJzxidXR0b24gdHlwZT0iYnV0 +dG9uIiBjbGFzcz0icnRlLWJ0biIgZGF0YS1jbWQ9ImluZGVudCIgdGl0bGU9IkVpbnLDvGNrZW4i +PuKHpTwvYnV0dG9uPicgKwogICAgICAgICAgICAnPHNwYW4gY2xhc3M9InJ0ZS1zZXAiPjwvc3Bh +bj4nICsKICAgICAgICAgICAgJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0icnRlLWJ0biIg +ZGF0YS1jbWQ9InJlbW92ZUZvcm1hdCIgdGl0bGU9IkZvcm1hdGllcnVuZyBlbnRmZXJuZW4iPkzD +tnNjaGVuPC9idXR0b24+JyArCiAgICAgICAgJzwvZGl2Pic7CgogICAgdmFyIHRleHRIdG1sID0g +ZW1haWxIb29rcy5odG1sQXVzRmVsZCA/IGVtYWlsSG9va3MuaHRtbEF1c0ZlbGQodi50ZXh0IHx8 +ICcnKSA6ICh2LnRleHQgfHwgJycpOwoKICAgIHZhciBrb2VycGVyID0KICAgICAgICAnPHAgY2xh +c3M9ImV2bS1iZXNjaHJlaWJ1bmciPicgKyBlc2NhcGVIVE1MKG1ldGEuYmVzY2hyZWlidW5nKSAr +ICc8L3A+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9ImV2bS1ncmlkIj4nICsKICAgICAgICAgICAg +JzxkaXYgY2xhc3M9ImV2bS1mb3JtIj4nICsKICAgICAgICAgICAgICAgICc8bGFiZWwgY2xhc3M9 +ImV2bS1sYWJlbCIgZm9yPSJldm0tYmV0cmVmZiI+QmV0cmVmZjwvbGFiZWw+JyArCiAgICAgICAg +ICAgICAgICAnPGlucHV0IHR5cGU9InRleHQiIGlkPSJldm0tYmV0cmVmZiIgY2xhc3M9ImZvcm0t +aW5wdXQgZXZtLWJldHJlZmYtaW5wdXQiIHZhbHVlPSInICsgZXNjYXBlQXR0cih2LmJldHJlZmYg +fHwgJycpICsgJyIgcGxhY2Vob2xkZXI9IkJldHJlZmYgZGVyIEUtTWFpbCDigKYiPicgKwogICAg +ICAgICAgICAgICAgJzxsYWJlbCBjbGFzcz0iZXZtLWxhYmVsIiBzdHlsZT0ibWFyZ2luLXRvcDox +NHB4Ij5BbnNjaHJlaWJlbjwvbGFiZWw+JyArCiAgICAgICAgICAgICAgICBydGVUb29sYmFyICsK +ICAgICAgICAgICAgICAgICc8ZGl2IGlkPSJldm0tdGV4dCIgY2xhc3M9InJ0ZS1lZGl0b3IgZXZt +LXRleHQtcnRlIiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9InRydWUiIGRhdGEt +cGxhY2Vob2xkZXI9Ikd1dGVuIFRhZyDigKYiPicgKyB0ZXh0SHRtbCArICc8L2Rpdj4nICsKICAg +ICAgICAgICAgICAgICc8c21hbGwgY2xhc3M9ImV2bS1oaW53ZWlzIj5Gb3JtYXRpZXJ1bmcgKGZl +dHQva3Vyc2l2L0xpc3RlbikgaXN0IG3DtmdsaWNoOyBiZWltIG1haWx0by1WZXJzYW5kIHdpcmQg +c2llIGluIHJlaW5lbiBUZXh0IHVtZ2V3YW5kZWx0LCBkZXIgZGFubiBpbiBPdXRsb29rIGVyc2No +ZWludC4gVmFyaWFibGVuIHdpZSA8Y29kZT57ZGF0dW19PC9jb2RlPiB3ZXJkZW4gYmVpbSDDlmZm +bmVuIGRlcyBQb3B1cHMgYXV0b21hdGlzY2ggZXJzZXR6dC48L3NtYWxsPicgKwogICAgICAgICAg +ICAgICAgdG9nZ2xlc0h0bWwgKwogICAgICAgICAgICAgICAgdHJpZ2dlckh0bWwgKwogICAgICAg +ICAgICAnPC9kaXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJldm0tdmFycyI+JyArCiAg +ICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iZXZtLXZhcnMtdGl0ZWwiPlZhcmlhYmxlbiBlaW5m +w7xnZW48L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJldm0tdmFycy1oaW53 +ZWlzIj5LbGljayBhdWYgZWluZSBWYXJpYWJsZSBmw7xndCBzaWUgYW4gZGVyIEN1cnNvci1Qb3Np +dGlvbiBlaW4gKGltIGFrdHVlbGwgYWt0aXZlbiBGZWxkIOKAlCBCZXRyZWZmIG9kZXIgQW5zY2hy +ZWliZW4pLjwvZGl2PicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImV2bS12YXJzLWxp +c3RlIj4nICsgdmFyaWFibGVuQnRucyArICc8L2Rpdj4nICsKICAgICAgICAgICAgJzwvZGl2Picg +KwogICAgICAgICc8L2Rpdj4nOwoKICAgIHZhciBmdXNzID0gJzxidXR0b24gY2xhc3M9ImJ0biIg +aWQ9ImV2bS1hYmJyZWNoZW4iIHR5cGU9ImJ1dHRvbiI+QWJicmVjaGVuPC9idXR0b24+JyArCiAg +ICAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXByaW1hZXIiIGlkPSJkbGctc3Bl +aWNoZXJuIiB0eXBlPSJidXR0b24iPlNwZWljaGVybjwvYnV0dG9uPic7CgogICAgLy8gQXV0by1T +YXZlIChQYWtldC1DLCAyMDI2LTA1LTI5KTogYmVpbSBTY2hsaWVzc2VuIHdpcmQgYXV0b21hdGlz +Y2gKICAgIC8vIGdlc3BlaWNoZXJ0LiBVc2VyLVByYWVmZXJlbnogZnVlciBhbGxlIGdyb2Vzc2Vy +ZW4gRWRpdC1Nb2RhbHMuCiAgICBtb2RhbFplaWdlbihtZXRhLnRpdGVsICsgJyBiZWFyYmVpdGVu +Jywga29lcnBlciwgZnVzcywgZnVuY3Rpb24oKSB7CiAgICAgICAgLy8gMSkgVm9ybGFnZSAoYmV0 +cmVmZiArIHRleHQgKyB0b2dnbGVzKSBzcGVpY2hlcm4KICAgICAgICB2YXIgcGF5bG9hZCA9IFou +YWRtaW4uZW1haWxWb3JsYWdlbiA/IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoWi5hZG1pbi5l +bWFpbFZvcmxhZ2VuKSkgOiB7fTsKICAgICAgICB2YXIgcnRlRWwgPSBkb2N1bWVudC5nZXRFbGVt +ZW50QnlJZCgnZXZtLXRleHQnKTsKICAgICAgICBwYXlsb2FkW2tleV0gPSB7CiAgICAgICAgICAg +IGJldHJlZmY6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldm0tYmV0cmVmZicpLnZhbHVlLAog +ICAgICAgICAgICB0ZXh0OiAgICBzYW5pdGl6ZVJpY2hIdG1sKHJ0ZUVsID8gcnRlRWwuaW5uZXJI +VE1MIDogJycpCiAgICAgICAgfTsKICAgICAgICBtZXRhLnRvZ2dsZXMuZm9yRWFjaChmdW5jdGlv +bih0KSB7CiAgICAgICAgICAgIHBheWxvYWRba2V5XVt0LmtleV0gPSBkb2N1bWVudC5nZXRFbGVt +ZW50QnlJZCgnZXZtLXRvZ2dsZS0nICsgdC5rZXkpLmNoZWNrZWQ7CiAgICAgICAgfSk7CgogICAg +ICAgIC8vIDIpIEJlaSBtYWlsdG8tYXV0b1RyaWdnZXIgenVzYWV0emxpY2ggVHJpZ2dlci1Lb25m +aWcgKGFrdGl2ICsgZW1wZmFlbmdlcikKICAgICAgICAvLyBzcGVpY2hlcm4uIEhpbndlaXMtVHJp +Z2dlciBoYWJlbiBrZWluIGFrdGl2LVRvZ2dsZSAoU2VydmVyIGVudHNjaGVpZGV0KSwKICAgICAg +ICAvLyBkYWhlciBrZWluIFNhdmUtUGF5bG9hZC4KICAgICAgICB2YXIgdHJpZ2dlclBheWxvYWQg +PSBudWxsOwogICAgICAgIGlmIChtZXRhLmF1dG9UcmlnZ2VyICYmIG1ldGEubW9kdXMgIT09ICdo +aW53ZWlzJykgewogICAgICAgICAgICB2YXIgdHJpZ0FsbGUgPSBaLmFkbWluLmVtYWlsVHJpZ2dl +ciA/IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoWi5hZG1pbi5lbWFpbFRyaWdnZXIpKSA6IHt9 +OwogICAgICAgICAgICB2YXIgYWt0aXZFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldm0t +dHJpZy1ha3RpdicpOwogICAgICAgICAgICB2YXIgZW1wZkNoa3MgPSBkb2N1bWVudC5xdWVyeVNl +bGVjdG9yQWxsKCcuZXZtLWVtcGYtY2hrJyk7CiAgICAgICAgICAgIHZhciBlbXBmID0gW107CiAg +ICAgICAgICAgIGVtcGZDaGtzLmZvckVhY2goZnVuY3Rpb24oYykgeyBpZiAoYy5jaGVja2VkKSBl +bXBmLnB1c2goYy5nZXRBdHRyaWJ1dGUoJ2RhdGEta2V5JykpOyB9KTsKICAgICAgICAgICAgdHJp +Z0FsbGVba2V5XSA9IHsKICAgICAgICAgICAgICAgIGFrdGl2OiAgICAgIGFrdGl2RWwgPyBha3Rp +dkVsLmNoZWNrZWQgOiBmYWxzZSwKICAgICAgICAgICAgICAgIGVtcGZhZW5nZXI6IGVtcGYKICAg +ICAgICAgICAgfTsKICAgICAgICAgICAgdHJpZ2dlclBheWxvYWQgPSB0cmlnQWxsZTsKICAgICAg +ICB9CgogICAgICAgIC8vIEVyc3QgVm9ybGFnZW4tU2F2ZSwgZGFubiAob3B0aW9uYWwpIFRyaWdn +ZXItU2F2ZSBzZXF1ZW56aWVsbAogICAgICAgIGFwaVB1dCgnL2FwaS9hZG1pbi9lbWFpbHZvcmxh +Z2VuJywgcGF5bG9hZCkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAgWi5hZG1pbi5lbWFp +bFZvcmxhZ2VuID0gcGF5bG9hZDsKICAgICAgICAgICAgaWYgKHRyaWdnZXJQYXlsb2FkKSB7CiAg +ICAgICAgICAgICAgICByZXR1cm4gYXBpUHV0KCcvYXBpL2FkbWluL2VtYWlsdHJpZ2dlcicsIHRy +aWdnZXJQYXlsb2FkKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIFouYWRt +aW4uZW1haWxUcmlnZ2VyID0gdHJpZ2dlclBheWxvYWQ7CiAgICAgICAgICAgICAgICB9KTsKICAg +ICAgICAgICAgfQogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGVudHd1 +cmZMb2VzY2hlbignZW1haWxfJyArIGtleSk7CiAgICAgICAgICAgIG1vZGFsU2NobGllc3Nlbih0 +cnVlKTsKICAgICAgICAgICAgZW1haWxWb3JsYWdlblJlbmRlcm4oKTsKICAgICAgICAgICAgdG9h +c3QobWV0YS50aXRlbCArICcgZ2VzcGVpY2hlcnQnLCAnZXJmb2xnJyk7CiAgICAgICAgfSkuY2F0 +Y2goZnVuY3Rpb24oZSkgeyB0b2FzdCgnRmVobGVyOiAnICsgZS5tZXNzYWdlLCAnZmVobGVyJyk7 +IH0pOwogICAgfSwgJ2VtYWlsXycgKyBrZXksIHsgYXV0b1NhdmU6IHRydWUgfSk7CgogICAgLy8g +TW9kYWwgdmVyZ3JvZXNzZXJuIChTdGFuZGFyZCA2MjBweCB3YXIgenUgZW5nIOKAlCBVc2VyLVd1 +bnNjaCkKICAgIHZhciBtb2RhbEluaGFsdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNtb2Rh +bC1vdmVybGF5IC5tb2RhbC1pbmhhbHQnKTsKICAgIGlmIChtb2RhbEluaGFsdCkgbW9kYWxJbmhh +bHQuY2xhc3NMaXN0LmFkZCgnbW9kYWwtaW5oYWx0LWdyb3NzJyk7CgogICAgLy8gUlRFIGF1ZiBk +YXMgY29udGVudGVkaXRhYmxlLUZlbGQgaGFlbmdlbgogICAgdmFyIHJ0ZUVkaXRvciA9IGRvY3Vt +ZW50LmdldEVsZW1lbnRCeUlkKCdldm0tdGV4dCcpOwogICAgaWYgKHJ0ZUVkaXRvcikgcnRlSW5p +dChydGVFZGl0b3IpOwoKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldm0tYWJicmVjaGVu +JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsgbW9kYWxTY2hsaWVzc2Vu +KCk7IH0pOwoKICAgIC8vIFRyYWNraW5nIHdlbGNoZXMgRmVsZCB6dWxldHp0IGZva3Vzc2llcnQg +d2FyIChCZXRyZWZmIHZzLiBBbnNjaHJlaWJlbikuCiAgICAvLyBCZWltIEtsaWNrIGF1ZiBWYXJp +YWJsZSB3aXJkIGRvcnQgZWluZ2VmdWVndC4KICAgIHZhciBsZXR6dGVzRmVsZCA9IHJ0ZUVkaXRv +ciB8fCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXZtLWJldHJlZmYnKTsKICAgIHZhciBiZXRy +ZWZmRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXZtLWJldHJlZmYnKTsKICAgIGlmIChi +ZXRyZWZmRWwpIGJldHJlZmZFbC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGZ1bmN0aW9uKCkg +eyBsZXR6dGVzRmVsZCA9IGJldHJlZmZFbDsgfSk7CiAgICBpZiAocnRlRWRpdG9yKSAgcnRlRWRp +dG9yLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgZnVuY3Rpb24oKSB7IGxldHp0ZXNGZWxkID0g +cnRlRWRpdG9yOyB9KTsKICAgIGlmIChydGVFZGl0b3IpIHJ0ZUVkaXRvci5mb2N1cygpOwoKICAg +IC8vIFZhcmlhYmxlbi1JbnNlcnQtQnV0dG9ucy4gV0lDSFRJRzogbW91c2Vkb3duLnByZXZlbnRE +ZWZhdWx0KCkgaGFlbHQKICAgIC8vIGRlbiBDdXJzb3ItRm9rdXMgaW0gWmllbC1GZWxkLCBzb25z +dCB2ZXJsaWVydCBjb250ZW50ZWRpdGFibGUgZGllCiAgICAvLyBDdXJzb3ItUG9zaXRpb24gYmV2 +b3IgZXhlY0NvbW1hbmQgZ3JlaWZ0LgogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmV2 +bS12YXItYnRuJykuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICBidG4uYWRkRXZlbnRM +aXN0ZW5lcignbW91c2Vkb3duJywgZnVuY3Rpb24oZSkgeyBlLnByZXZlbnREZWZhdWx0KCk7IH0p +OwogICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAg +ICAgICAgICB2YXIgdmFyTmFtZSA9IGJ0bi5nZXRBdHRyaWJ1dGUoJ2RhdGEtdmFyJyk7CiAgICAg +ICAgICAgIHZhciB0b2tlbiA9ICd7JyArIHZhck5hbWUgKyAnfSc7CiAgICAgICAgICAgIHZhciB6 +aWVsID0gbGV0enRlc0ZlbGQ7CiAgICAgICAgICAgIGlmICghemllbCkgcmV0dXJuOwogICAgICAg +ICAgICBpZiAoemllbC50YWdOYW1lID09PSAnSU5QVVQnIHx8IHppZWwudGFnTmFtZSA9PT0gJ1RF +WFRBUkVBJykgewogICAgICAgICAgICAgICAgdmFyIHMgPSB6aWVsLnNlbGVjdGlvblN0YXJ0IHx8 +IDA7CiAgICAgICAgICAgICAgICB2YXIgZTIgPSB6aWVsLnNlbGVjdGlvbkVuZCB8fCAwOwogICAg +ICAgICAgICAgICAgemllbC52YWx1ZSA9IHppZWwudmFsdWUuc2xpY2UoMCwgcykgKyB0b2tlbiAr +IHppZWwudmFsdWUuc2xpY2UoZTIpOwogICAgICAgICAgICAgICAgemllbC5zZWxlY3Rpb25TdGFy +dCA9IHppZWwuc2VsZWN0aW9uRW5kID0gcyArIHRva2VuLmxlbmd0aDsKICAgICAgICAgICAgICAg +IHppZWwuZm9jdXMoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIGNv +bnRlbnRlZGl0YWJsZTogYW4gQ3Vyc29yLVBvc2l0aW9uIGVpbmZ1ZWdlbgogICAgICAgICAgICAg +ICAgemllbC5mb2N1cygpOwogICAgICAgICAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2lu +c2VydFRleHQnLCBmYWxzZSwgdG9rZW4pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIFoubW9k +YWxEaXJ0eSA9IHRydWU7CiAgICAgICAgfSk7CiAgICB9KTsKfQoKLy8gPT09PT0gVm9ybGFnZW4t +RW5naW5lIChiZWZ1ZWxsZW4gKyBFbXBmYWVuZ2VyLVJlc29sdmUgKyBUcmlnZ2VyLURpc3BhdGNo +KSA9PT09PQoKLy8gV2FuZGVsdCBzYW5pdGllcnRlcyBNaW5pLUhUTUwgaW4gUGxhaW4tVGV4dCBm +dWVyIG1haWx0bzotVmVyc2FuZC4KLy8gQmFja3dhcmRzLWNvbXBhdDogYWx0ZSBQbGFpbi1Wb3Js +YWdlbiAobWl0IFxuKSBnZWhlbiB1bnZlcmFlbmRlcnQgZHVyY2guCmV4cG9ydCBmdW5jdGlvbiBo +dG1sWnVQbGFpblRleHQoaHRtbCkgewogICAgaWYgKCFodG1sKSByZXR1cm4gJyc7CiAgICB2YXIg +cyA9IFN0cmluZyhodG1sKTsKICAgIGlmICghLzxcLz8oYnxzdHJvbmd8aXxlbXx1fHVsfG9sfGxp +fHB8YnJ8ZGl2fHNwYW58YXxoXGR8YmxvY2txdW90ZSlcYi9pLnRlc3QocykpIHJldHVybiBzOwog +ICAgcyA9IHMKICAgICAgICAucmVwbGFjZSgvPGJyXHMqXC8/Pi9naSwgJ1xuJykKICAgICAgICAu +cmVwbGFjZSgvPFwvKHB8ZGl2fGhcZHxsaXxibG9ja3F1b3RlKT4vZ2ksICdcbicpCiAgICAgICAg +LnJlcGxhY2UoLzxsaVtePl0qPi9naSwgJyogJykKICAgICAgICAucmVwbGFjZSgvPFwvPyhwfGRp +dnxoXGR8dWx8b2x8YnxzdHJvbmd8aXxlbXx1fHNwYW58YXxibG9ja3F1b3RlKVtePl0qPi9naSwg +JycpCiAgICAgICAgLnJlcGxhY2UoLyZuYnNwOy9nLCAnICcpCiAgICAgICAgLnJlcGxhY2UoLyZh +bXA7L2csICcmJykKICAgICAgICAucmVwbGFjZSgvJmx0Oy9nLCAnPCcpCiAgICAgICAgLnJlcGxh +Y2UoLyZndDsvZywgJz4nKQogICAgICAgIC5yZXBsYWNlKC8mcXVvdDsvZywgJyInKQogICAgICAg +IC5yZXBsYWNlKC8mIzM5Oy9nLCAiJyIpCiAgICAgICAgLnJlcGxhY2UoL1xuezMsfS9nLCAnXG5c +bicpOwogICAgcmV0dXJuIHMudHJpbSgpOwp9CgovLyBFcnNldHp0IHt2YXJpYWJsZX0tUGxhdHpo +YWx0ZXIgaW0gU3RyaW5nIGR1cmNoIGRpZSBrb25rcmV0ZW4gV2VydGUuCi8vIEtvbnZlcnRpZXJ0 +IEhUTUwtVm9ybGFnZW4gKG5ldWVyIFJURS1FZGl0b3IpIGF1dG9tYXRpc2NoIHp1IFBsYWluLVRl +eHQKLy8gZnVlciBkZW4gbWFpbHRvOi1WZXJzYW5kLiBjdHgtT2JqZWt0OiB7ZGF0dW0sIHdvY2hl +bnRhZywgc2NoaWNodCwgLi4ufQpleHBvcnQgZnVuY3Rpb24gZW1haWxWb3JsYWdlQmVmdWVsbGVu +KHZvcmxhZ2UsIGN0eCkgewogICAgdmFyIHBsYWluID0gaHRtbFp1UGxhaW5UZXh0KHZvcmxhZ2Up +OwogICAgcmV0dXJuIHBsYWluLnJlcGxhY2UoL1x7KFx3KylcfS9nLCBmdW5jdGlvbihfLCBrKSB7 +CiAgICAgICAgcmV0dXJuIChjdHggJiYgayBpbiBjdHgpID8gU3RyaW5nKGN0eFtrXSkgOiAoJ3sn +ICsgayArICd9Jyk7CiAgICB9KTsKfQoKLy8gTG9lc3Qgc3ltYm9saXNjaGUgRW1wZmFlbmdlci1U +YWdzICh6LkIuICdzdXBlcnVzZXInLCAnd2FjaGxlaXR1bmdfcGVyc29uJykKLy8gaW4ga29ua3Jl +dGUgRS1NYWlsLUFkcmVzc2VuIGF1Zi4gY3R4IGthbm4gJ3BlcnNvbl9pZCcsICdkYXR1bScsCi8v +ICdzY2hpY2h0X2t1cnonIGVudGhhbHRlbiwgZGFtaXQgdGFnLXNwZXppZmlzY2hlIEJlenVlZ2Ug +ZnVua3Rpb25pZXJlbi4KLy8gUmV0dXJuOiBBcnJheSB2b24gU3RyaW5ncyAoZWluZGV1dGlnZSBB +ZHJlc3NlbiwgTG93ZXJjYXNlLWRlZHVwbGl6aWVydCkuCi8vIEF1ZGl0LVBoYXNlIEMuMSAoMjAy +Ni0wNS0yMSk6IG5pY2h0IG1laHIgZXhwb3J0aWVydCwgbnVyIGludGVybiBpbgovLyBtYWlsVHJp +Z2dlckZldWVybiBnZW51dHp0LiBEZXIgZnJ1ZWhlciBpbiBhcHAuanMgZ2VmdWVocnRlIEltcG9y +dCB3dXJkZQovLyBlbnRmZXJudCDigJQga2VpbmUgZXh0ZXJuZW4gS29uc3VtZW50ZW4uCmZ1bmN0 +aW9uIGVtYWlsRW1wZmFlbmdlclJlc29sdmUodGFncywgY3R4KSB7CiAgICBpZiAoIXRhZ3MgfHwg +IXRhZ3MubGVuZ3RoKSByZXR1cm4gW107CiAgICB2YXIgcGVyc29uZW4gPSAoWi5wbGFudW5nICYm +IFoucGxhbnVuZy5wZXJzb25lbikgfHwgW107CiAgICB2YXIgYnlJZCA9IHt9OwogICAgcGVyc29u +ZW4uZm9yRWFjaChmdW5jdGlvbihwKSB7IGJ5SWRbU3RyaW5nKHAuaWQpXSA9IHA7IH0pOwogICAg +dmFyIG91dCA9IHt9OwogICAgZnVuY3Rpb24gYWRkKHApIHsKICAgICAgICBpZiAoIXApIHJldHVy +bjsKICAgICAgICB2YXIgZW0gPSBTdHJpbmcocC5lbWFpbCB8fCAnJykudHJpbSgpOwogICAgICAg +IGlmICghZW0gfHwgZW0uaW5kZXhPZignQCcpIDwgMCkgcmV0dXJuOwogICAgICAgIG91dFtlbS50 +b0xvd2VyQ2FzZSgpXSA9IGVtOwogICAgfQogICAgdmFyIHppZWxQZXJzb24gPSBjdHggJiYgY3R4 +LnBlcnNvbl9pZCAhPSBudWxsID8gYnlJZFtTdHJpbmcoY3R4LnBlcnNvbl9pZCldIDogbnVsbDsK +ICAgIHRhZ3MuZm9yRWFjaChmdW5jdGlvbih0YWcpIHsKICAgICAgICBpZiAodGFnID09PSAnYmV0 +cm9mZmVuZV9wZXJzb24nKSB7CiAgICAgICAgICAgIGlmICh6aWVsUGVyc29uKSBhZGQoemllbFBl +cnNvbik7CiAgICAgICAgfSBlbHNlIGlmICh0YWcgPT09ICd3YWNobGVpdHVuZ19wZXJzb24nKSB7 +CiAgICAgICAgICAgIHZhciBvZSA9IHppZWxQZXJzb24gJiYgemllbFBlcnNvbi5vZTsKICAgICAg +ICAgICAgcGVyc29uZW4uZm9yRWFjaChmdW5jdGlvbihwKSB7CiAgICAgICAgICAgICAgICBpZiAo +IXAuYWt0aXYgfHwgcC5ncnVwcGUgIT09ICdXTCcpIHJldHVybjsKICAgICAgICAgICAgICAgIGlm +IChvZSAmJiBwLm9lICYmIHAub2UgIT09IG9lKSByZXR1cm47CiAgICAgICAgICAgICAgICBhZGQo +cCk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0gZWxzZSBpZiAodGFnID09PSAnZ2VzYW10dmVy +YW50d29ydGxpY2gnKSB7CiAgICAgICAgICAgIChaLmFkbWluLmZhY2hhdWZzaWNodCB8fCBbXSku +Zm9yRWFjaChmdW5jdGlvbihmYSkgewogICAgICAgICAgICAgICAgaWYgKCFmYS5nZXNhbXR2ZXJh +bnR3b3J0bGljaCkgcmV0dXJuOwogICAgICAgICAgICAgICAgaWYgKGZhLmVtYWlsKSB7IG91dFtT +dHJpbmcoZmEuZW1haWwpLnRvTG93ZXJDYXNlKCldID0gZmEuZW1haWw7IHJldHVybjsgfQogICAg +ICAgICAgICAgICAgdmFyIHAgPSBwZXJzb25lbi5maW5kKGZ1bmN0aW9uKHgpIHsgcmV0dXJuICh4 +Lm53S2VubnVuZyB8fCAnJykudG9Mb3dlckNhc2UoKSA9PT0gU3RyaW5nKGZhLm53S2VubnVuZyB8 +fCAnJykudG9Mb3dlckNhc2UoKTsgfSk7CiAgICAgICAgICAgICAgICBhZGQocCk7CiAgICAgICAg +ICAgIH0pOwogICAgICAgIH0gZWxzZSBpZiAodGFnID09PSAnc3VwZXJ1c2VyJykgewogICAgICAg +ICAgICAoWi5hZG1pbi5zdXBlclVzZXIgfHwgW10pLmZvckVhY2goZnVuY3Rpb24oc3UpIHsKICAg +ICAgICAgICAgICAgIHZhciBwID0gcGVyc29uZW4uZmluZChmdW5jdGlvbih4KSB7IHJldHVybiAo +eC5ud0tlbm51bmcgfHwgJycpLnRvTG93ZXJDYXNlKCkgPT09IFN0cmluZyhzdS5ud0tlbm51bmcg +fHwgJycpLnRvTG93ZXJDYXNlKCk7IH0pOwogICAgICAgICAgICAgICAgYWRkKHApOwogICAgICAg +ICAgICB9KTsKICAgICAgICB9IGVsc2UgaWYgKHRhZyA9PT0gJ2RnbF9zY2hpY2h0JykgewogICAg +ICAgICAgICBpZiAoY3R4ICYmIGN0eC5kYXR1bSAmJiBjdHguc2NoaWNodF9rdXJ6ICYmIFoucGxh +bnVuZy5laW50cmFlZ2UpIHsKICAgICAgICAgICAgICAgIHZhciB0YWdfZWludHJhZWdlID0gWi5w +bGFudW5nLmVpbnRyYWVnZVtjdHguZGF0dW1dIHx8IHt9OwogICAgICAgICAgICAgICAgdmFyIHpp +ZWxDb2RlcyA9IFtjdHguc2NoaWNodF9rdXJ6ICsgJy1ER0wnLCBjdHguc2NoaWNodF9rdXJ6ICsg +Jy1XREYnLCBjdHguc2NoaWNodF9rdXJ6ICsgJy1GQlAnXTsKICAgICAgICAgICAgICAgIE9iamVj +dC5rZXlzKHRhZ19laW50cmFlZ2UpLmZvckVhY2goZnVuY3Rpb24ocGlkKSB7CiAgICAgICAgICAg +ICAgICAgICAgaWYgKFN0cmluZyhwaWQpID09PSBTdHJpbmcoY3R4LnBlcnNvbl9pZCkpIHJldHVy +bjsKICAgICAgICAgICAgICAgICAgICBpZiAoemllbENvZGVzLmluZGV4T2YodGFnX2VpbnRyYWVn +ZVtwaWRdKSA+PSAwKSBhZGQoYnlJZFtwaWRdKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAg +ICAgICB9CiAgICAgICAgfSBlbHNlIGlmICh0YWcgPT09ICdkaWVuc3Rfd2FjaF9mcmVpX2luX3Nj +aGljaHQnKSB7CiAgICAgICAgICAgIGlmIChjdHggJiYgY3R4LmRhdHVtICYmIFoucGxhbnVuZy5l +aW50cmFlZ2UpIHsKICAgICAgICAgICAgICAgIHZhciB0ZSA9IFoucGxhbnVuZy5laW50cmFlZ2Vb +Y3R4LmRhdHVtXSB8fCB7fTsKICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHRlKS5mb3JFYWNo +KGZ1bmN0aW9uKHBpZCkgewogICAgICAgICAgICAgICAgICAgIGlmICh0ZVtwaWRdID09PSAnZGZy +JyB8fCB0ZVtwaWRdID09PSAnd2ZyJykgYWRkKGJ5SWRbcGlkXSk7CiAgICAgICAgICAgICAgICB9 +KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuIE9iamVjdC5rZXlz +KG91dCkubWFwKGZ1bmN0aW9uKGspIHsgcmV0dXJuIG91dFtrXTsgfSk7Cn0KCi8vIFplbnRyYWxl +ciBtYWlsdG86LVRyaWdnZXItRGlzcGF0Y2hlci4KLy8gb3B0Lm1hbnVlbGwgPSB0cnVlIGJlaSB2 +b20gTnV0emVyIGFrdGl2IGFuZ2VrbGlja3RlbiBNYWlscyAoei5CLiBEZWZpeml0LQovLyBCcmll +ZmluZy1CdXR0b24gaW0gUHJ1ZWZ1bmdzLVRhYikuIEluIGRlbSBGYWxsIGlnbm9yaWVyZW4gd2ly +IGRlbgovLyBhZG1pbi1rb25maWd1cmllcnRlbiBjZmcuYWt0aXYtU3RhdHVzIHVuZCBmYWxsZW4g +ZnVlciBFbXBmYWVuZ2VyIGF1ZgovLyBtZXRhLmRlZmF1bHRFbXBmYWVuZ2VyIHp1cnVlY2ssIHdl +bm4gZGVyIEFkbWluLVRhYiBub2NoIG5pY2h0IGFuZ2VmYXNzdAovLyB3dXJkZS4gRGFzIHZlcmhp +bmRlcnQgInN0aWxsZSIgS2xpY2tzLCBiZWkgZGVuZW4gc2ljaCBuaWNodHMgb2VmZm5ldC4KLy8g +QXV0by1UcmlnZ2VyIChLcmFua21lbGR1bmcgdS5hLikgYmxlaWJlbiB3aWUgYmlzaGVyOiBudXIg +ZmV1ZXJuLCB3ZW5uCi8vIGRlciBBZG1pbiBzaWUgZXhwbGl6aXQgYWt0aXZpZXJ0IGhhdC4KZXhw +b3J0IGZ1bmN0aW9uIG1haWxUcmlnZ2VyRmV1ZXJuKHRyaWdnZXJUeXAsIGN0eCwgb3B0KSB7CiAg +ICBvcHQgPSBvcHQgfHwge307CiAgICB2YXIgY2ZnID0gKChaLmFkbWluICYmIFouYWRtaW4uZW1h +aWxUcmlnZ2VyKSB8fCB7fSlbdHJpZ2dlclR5cF0gfHwgbnVsbDsKICAgIHZhciBtZXRhID0gRU1B +SUxfVk9STEFHRU5fTUVUQVt0cmlnZ2VyVHlwXTsKICAgIGlmICghbWV0YSkgcmV0dXJuIGZhbHNl +OwogICAgLy8gSGlud2Vpcy1UcmlnZ2VyIChQaGFzZSA1LCAyMDI2LTA1LTIwKTogZGVyIFNlcnZl +ciBoYXQgZGVuIEhpbndlaXMKICAgIC8vIGJlcmVpdHMgaW4gZGF0YS9oaW53ZWlzZS5qc29uIGdl +c2NocmllYmVuIOKAlCBrZWluIE91dGxvb2stUG9wdXAuCiAgICAvLyBCYW5uZXIgKyBCYWRnZSBl +cnNjaGVpbmVuIGJlaW0gbmFlY2hzdGVuIFN5bmMtV29ya2VyLVRpY2suCiAgICBpZiAobWV0YS5t +b2R1cyA9PT0gJ2hpbndlaXMnKSByZXR1cm4gZmFsc2U7CiAgICBpZiAoIW9wdC5tYW51ZWxsKSB7 +CiAgICAgICAgaWYgKCFjZmcgfHwgIWNmZy5ha3RpdikgcmV0dXJuIGZhbHNlOwogICAgfQogICAg +dmFyIHRhZ3MgPSAoY2ZnICYmIGNmZy5lbXBmYWVuZ2VyICYmIGNmZy5lbXBmYWVuZ2VyLmxlbmd0 +aCkKICAgICAgICA/IGNmZy5lbXBmYWVuZ2VyCiAgICAgICAgOiAobWV0YS5kZWZhdWx0RW1wZmFl +bmdlciB8fCBbXSk7CiAgICB2YXIgdm9ybGFnZSA9IGVtYWlsVm9ybGFnZW5Ib2xlbigpW3RyaWdn +ZXJUeXBdOwogICAgaWYgKCF2b3JsYWdlKSByZXR1cm4gZmFsc2U7CiAgICB2YXIgZW1wZmFlbmdl +ciA9IGVtYWlsRW1wZmFlbmdlclJlc29sdmUodGFncywgY3R4IHx8IHt9KTsKICAgIGlmICghZW1w +ZmFlbmdlci5sZW5ndGgpIHsKICAgICAgICB0b2FzdCgnTWFpbCDigJ4nICsgbWV0YS50aXRlbCAr +ICciOiBrZWluZSBFbXBmw6RuZ2VyIG1pdCBFLU1haWwtQWRyZXNzZSBnZWZ1bmRlbiAoR2VzYW10 +dmVyYW50d29ydGxpY2hlL3IgaW4gYWRtaW4uZmFjaGF1ZnNpY2h0IHBmbGVnZW4/KScsICd3YXJu +dW5nJyk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgdmFyIGJldHJlZmYgPSBlbWFp +bFZvcmxhZ2VCZWZ1ZWxsZW4odm9ybGFnZS5iZXRyZWZmIHx8ICcnLCBjdHggfHwge30pOwogICAg +dmFyIHRleHQgICAgPSBlbWFpbFZvcmxhZ2VCZWZ1ZWxsZW4odm9ybGFnZS50ZXh0ICAgIHx8ICcn +LCBjdHggfHwge30pOwogICAgdmFyIHVybCA9ICdtYWlsdG86P2JjYz0nICsgZW5jb2RlVVJJQ29t +cG9uZW50KGVtcGZhZW5nZXIuam9pbignLCcpKSArCiAgICAgICAgICAgICAgJyZzdWJqZWN0PScg +KyBlbmNvZGVVUklDb21wb25lbnQoYmV0cmVmZikgKwogICAgICAgICAgICAgICcmYm9keT0nICAg +ICsgZW5jb2RlVVJJQ29tcG9uZW50KHRleHQpOwogICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1 +cmw7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLy8gU2VydmVyLWdldHJpZ2dlcnRlcyBtYWlsdG86IGJl +aSBTVS0gb2RlciBHZXNhbXR2ZXJhbnR3b3J0bGljaC1XZWNoc2VsCi8vIGxpZWZlcnQgZGVyIFNl +cnZlciBpbSBSZXNwb25zZS1Cb2R5IGBfYnJhdWNodF9tYWlsdG8gPSB7IHRyaWdnZXIsIGRpZmZz +IH1gLgovLyBQcm8gRGlmZiAocmVpbi9yYXVzLCByb2xsZSwgbmFtZSkgd2lyZCBlaW4gZWlnZW5l +cyBtYWlsdG8tUG9wdXAgZ2VvZWZmbmV0LgovLyBXaXJkIHZvbiBhZG1pbl9yb2xsZW4uanMgZGly +ZWt0IG5hY2ggZGVtIFNhdmUgYXVmZ2VydWZlbi4KZXhwb3J0IGZ1bmN0aW9uIHZlcmFudHdvcnR1 +bmdzTWFpbHRvRmV1ZXJuKGJyYXVjaHRNYWlsdG8pIHsKICAgIGlmICghYnJhdWNodE1haWx0byB8 +fCAhYnJhdWNodE1haWx0by5kaWZmcyB8fCAhYnJhdWNodE1haWx0by5kaWZmcy5sZW5ndGgpIHJl +dHVybiBmYWxzZTsKICAgIHZhciB0cmlnZ2VyID0gYnJhdWNodE1haWx0by50cmlnZ2VyIHx8ICdy +b2xsZV92ZXJhbnR3b3J0dW5nJzsKICAgIGJyYXVjaHRNYWlsdG8uZGlmZnMuZm9yRWFjaChmdW5j +dGlvbihkKSB7CiAgICAgICAgdmFyIHJpY2h0dW5nVmVyYiA9IChkLnJpY2h0dW5nID09PSAncmVp +bicpCiAgICAgICAgICAgID8gKCd6dW0gJyArIGQucm9sbGUgKyAnIGVybmFubnQnKQogICAgICAg +ICAgICA6ICgnYXVzIGRlciBSb2xsZSAnICsgZC5yb2xsZSArICcgZW50bGFzc2VuJyk7CiAgICAg +ICAgbWFpbFRyaWdnZXJGZXVlcm4odHJpZ2dlciwgewogICAgICAgICAgICByb2xsZTogICAgICAg +ICAgZC5yb2xsZSwKICAgICAgICAgICAgbmFtZTogICAgICAgICAgIGQubmFtZSB8fCBkLm53S2Vu +bnVuZyB8fCAnJywKICAgICAgICAgICAgcmljaHR1bmc6ICAgICAgIGQucmljaHR1bmcsCiAgICAg +ICAgICAgIHJpY2h0dW5nX3ZlcmI6ICByaWNodHVuZ1ZlcmIsCiAgICAgICAgICAgICdhdXNsw7Zz +ZXInOiAgICBhYnNlbmRlck5hbWVFcm1pdHRlbG4oKSwKICAgICAgICAgICAgYWJzZW5kZXJfbmFt +ZTogIGFic2VuZGVyTmFtZUVybWl0dGVsbigpCiAgICAgICAgfSwgeyBtYW51ZWxsOiB0cnVlIH0p +OwogICAgfSk7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLy8gcm9sbGVEaWZmVHJpZ2dlcm4gZW50ZmFl +bGx0IHNlaXQgUGhhc2UgNSAoMjAyNi0wNS0yMCk6IFNVLSB1bmQKLy8gR2VzYW10dmVyYW50d29y +dGxpY2gtV2VjaHNlbCB3ZXJkZW4gdm9tIFNlcnZlciB1ZWJlciBkYXMKLy8gX2JyYXVjaHRfbWFp +bHRvLUZlbGQgaW0gUmVzcG9uc2Ugc2lnbmFsaXNpZXJ0IChzaWVoZQovLyB2ZXJhbnR3b3J0dW5n +c01haWx0b0ZldWVybiBvYmVuKS4gRkEtU2VoZW4tRmxhZy1BZW5kZXJ1bmdlbiB3ZXJkZW4KLy8g +dm9tIFNlcnZlciBpbiBkYXRhL2hpbndlaXNlLmpzb24gYWxzIEluLUFwcC1IaW53ZWlzIGVyemV1 +Z3QuCg== +### FILE: js/export_plan.js | 20784 +Ly8gPT09IGV4cG9ydF9wbGFuLmpzID09PQovLyBEaWVuc3RwbGFuLUV4cG9ydCAoQWRtaW4tVGFi +IOKAnkV4Y2VsLUV4cG9ydCIpLiBFcnpldWd0IGNsaWVudHNlaXRpZyBhdXMgZGVuCi8vIGJlcmVp +dHMgZ2VsYWRlbmVuIERhdGVuIChaLnBsYW51bmcuZWludHJhZWdlLCBaLnBlcnNvbmVuLCBaLnRh +Z0luZm9zKSBlaW5lCi8vIGtvbmZpZ3VyaWVyYmFyZSBUYWJlbGxlOgovLwovLyAgIE5hbWUgfCBE +aWVuc3RncnVwcGUgfCBEYXR1bSB8IE1vbmF0IHwgVGFnIHwgV29jaGVudGFnIHwgS1cgfCBTY2hp +Y2h0IHwgS2xhcnRleHQKLy8KLy8gRGFydW50ZXIgZm9sZ3QgZWluZSB6d2VpdGUgSW5mb2JveCDi +gJ5IaW53ZWlzZSB6dSBUYWdlbiBtaXQgQmVzb25kZXJoZWl0ZW4iCi8vIChGZWllcnRhZ2UgLyBG +ZXJpZW4gLyBTb25kZXJ0ZXJtaW5lIOKAlCBhbHNvIGdlbmF1IGRpZSBpbSBQbGFuLUhlYWRlciBl +cmthbm50ZW4KLy8gSGlud2Vpc2UpIGZ1ZXIgZGVuIGV4cG9ydGllcnRlbiBaZWl0cmF1bS4KLy8K +Ly8gVW1mYW5nIGVpbnN0ZWxsYmFyOiBnYW56ZXMgUGxhbnVuZ3NqYWhyIHwgS2FsZW5kZXJ3b2No +ZW4gKHZvbuKAk2JpcykgfAovLyBEYXR1bSAodm9u4oCTYmlzKTsgUGVyc29uZW5rcmVpczogYWxs +ZSB8IERpZW5zdGdydXBwZW4gfCBlaW56ZWxuZSBQZXJzb25lbgovLyAoPSBpbmRpdmlkdWVsbGVy +IEV4cG9ydCkuIEZvcm1hdDogZm9ybWF0aWVydGVzIFhMU1ggKFNoZWV0SlMsIGxva2FsKSBvZGVy +IENTVgovLyAoVVRGLTggQk9NLCBTZW1pa29sb24g4oCUIEV4Y2VsLURFLXRhdWdsaWNoKS4gS2Vp +bmUgU2VydmVyLUFlbmRlcnVuZyBub2V0aWcuCgppbXBvcnQgeyBaIH0gZnJvbSAnLi9jb3JlX3N0 +YXRlLmpzJzsKaW1wb3J0IHsgZXNjYXBlSFRNTCwgZXNjYXBlQXR0ciwgZGF0dW1TdHIsIGRhdHVt +Rm9ybWF0REUsIHBpZEtleSB9IGZyb20gJy4vY29yZV91dGlsLmpzJzsKaW1wb3J0IHsgdG9hc3Qg +fSBmcm9tICcuL3VpX2RpYWxvZy5qcyc7Cgp2YXIgTU9OQVRFID0gWydKYW51YXInLCAnRmVicnVh +cicsICdNw6RyeicsICdBcHJpbCcsICdNYWknLCAnSnVuaScsICdKdWxpJywgJ0F1Z3VzdCcsICdT +ZXB0ZW1iZXInLCAnT2t0b2JlcicsICdOb3ZlbWJlcicsICdEZXplbWJlciddOwp2YXIgV1QgICAg +ID0gWydTbycsICdNbycsICdEaScsICdNaScsICdEbycsICdGcicsICdTYSddOwp2YXIgU1BBTFRF +TiA9IFsnTmFtZScsICdEaWVuc3RncnVwcGUnLCAnRGF0dW0nLCAnTW9uYXQnLCAnVGFnJywgJ1dv +Y2hlbnRhZycsICdLVycsICdTY2hpY2h0JywgJ1NjaGljaHQgKEtsYXJ0ZXh0KSddOwp2YXIgSElO +V0VJU19TUEFMVEVOID0gWydEYXR1bScsICdXb2NoZW50YWcnLCAnVHlwJywgJ0JlemVpY2hudW5n +JywgJ0Jlc2NocmVpYnVuZyddOwoKZnVuY3Rpb24gX2RhcmYoKSB7CiAgICByZXR1cm4gISEoWi5y +ZWNodGUgJiYgKFoucmVjaHRlLmlzdFN1cGVyVXNlciB8fCAoWi5yZWNodGUuc2VoZW4gJiYgWi5y +ZWNodGUuc2VoZW4uYWRtaW5pc3RyYXRpb24pKSk7Cn0KCi8vID09PT09IEthbGVuZGVyLUhlbGZl +ciA9PT09PQoKLy8gSVNPLUthbGVuZGVyd29jaGUgKE1vLWJhc2llcnQpIOKAlCBzcGllZ2VsdCBz +dGF0aXN0aWtfZW5naW5lLl9pc29LVy4KZnVuY3Rpb24gX2lzb0tXKGQpIHsKICAgIHZhciB0ID0g +bmV3IERhdGUoZC5nZXRGdWxsWWVhcigpLCBkLmdldE1vbnRoKCksIGQuZ2V0RGF0ZSgpKTsKICAg +IHZhciB0YWcgPSAodC5nZXREYXkoKSArIDYpICUgNzsKICAgIHQuc2V0RGF0ZSh0LmdldERhdGUo +KSAtIHRhZyArIDMpOwogICAgdmFyIGphaHJTdGFydCA9IG5ldyBEYXRlKHQuZ2V0RnVsbFllYXIo +KSwgMCwgNCk7CiAgICB2YXIga3cgPSAxICsgTWF0aC5yb3VuZCgoKHQgLSBqYWhyU3RhcnQpIC8g +ODY0MDAwMDAgLSAzICsgKChqYWhyU3RhcnQuZ2V0RGF5KCkgKyA2KSAlIDcpKSAvIDcpOwogICAg +cmV0dXJuIHsgamFocjogdC5nZXRGdWxsWWVhcigpLCBrdzoga3cgfTsKfQovLyBNb250YWcgZGVy +IElTTy1LYWxlbmRlcndvY2hlIChXb2NoZSAxID0gZGllIG1pdCBkZW0gNC4gSmFudWFyKS4KZnVu +Y3Rpb24gX2lzb1dvY2hlbk1vbnRhZyhqYWhyLCB3b2NoZSkgewogICAgdmFyIGphbjQgPSBuZXcg +RGF0ZShqYWhyLCAwLCA0KTsKICAgIHZhciB0YWcgPSAoamFuNC5nZXREYXkoKSArIDYpICUgNzsK +ICAgIHZhciB3MSA9IG5ldyBEYXRlKGphbjQuZ2V0RnVsbFllYXIoKSwgamFuNC5nZXRNb250aCgp +LCBqYW40LmdldERhdGUoKSAtIHRhZyk7CiAgICByZXR1cm4gbmV3IERhdGUodzEuZ2V0RnVsbFll +YXIoKSwgdzEuZ2V0TW9udGgoKSwgdzEuZ2V0RGF0ZSgpICsgKHdvY2hlIC0gMSkgKiA3KTsKfQov +LyAnWVlZWS1Xd3cnIChXZXJ0IGVpbmVzIDxpbnB1dCB0eXBlPSJ3ZWVrIj4pIC0+IHsgdm9uOkRh +dGUsIGJpczpEYXRlLCBqYWhyLCBrdyB9LgpmdW5jdGlvbiBfa3dHcmVuemVuKHdrU3RyKSB7CiAg +ICB2YXIgbSA9IC9eKFxkezR9KS1XKFxkezEsMn0pJC8uZXhlYyh3a1N0ciB8fCAnJyk7CiAgICBp +ZiAoIW0pIHJldHVybiBudWxsOwogICAgdmFyIGphaHIgPSBwYXJzZUludChtWzFdLCAxMCksIGt3 +ID0gcGFyc2VJbnQobVsyXSwgMTApOwogICAgdmFyIG1vID0gX2lzb1dvY2hlbk1vbnRhZyhqYWhy +LCBrdyk7CiAgICB2YXIgc28gPSBuZXcgRGF0ZShtby5nZXRGdWxsWWVhcigpLCBtby5nZXRNb250 +aCgpLCBtby5nZXREYXRlKCkgKyA2KTsKICAgIHJldHVybiB7IHZvbjogbW8sIGJpczogc28sIGph +aHI6IGphaHIsIGt3OiBrdyB9Owp9CgovLyA9PT09PSBTdGFtbWRhdGVuLUhlbGZlciA9PT09PQoK +ZnVuY3Rpb24gX2dydXBwZUxhYmVsKG5hbWUpIHsKICAgIHZhciBnbSA9IFouZ3J1cHBlbk1hcCAm +JiBaLmdydXBwZW5NYXBbbmFtZV07CiAgICBpZiAoZ20gJiYgZ20uYmV6ZWljaG51bmcpIHJldHVy +biBnbS5iZXplaWNobnVuZzsKICAgIHZhciBnID0gKFouYWRtaW4uZ3J1cHBlbiB8fCBbXSkuZmls +dGVyKGZ1bmN0aW9uKHgpeyByZXR1cm4geC5uYW1lID09PSBuYW1lOyB9KVswXTsKICAgIHJldHVy +biBnID8gKGcuYmV6ZWljaG51bmcgfHwgZy5uYW1lKSA6IChuYW1lIHx8ICcnKTsKfQpmdW5jdGlv +biBfY29kZUJlemVpY2hudW5nKGNvZGUpIHsKICAgIHZhciBjID0gKFouYWRtaW4uc2NoaWNodGNv +ZGVzIHx8IFtdKS5maWx0ZXIoZnVuY3Rpb24oeCl7IHJldHVybiB4LmNvZGUgPT09IGNvZGU7IH0p +WzBdOwogICAgcmV0dXJuIGMgPyAoYy5iZXplaWNobnVuZyB8fCBjLmNvZGUpIDogY29kZTsKfQpm +dW5jdGlvbiBfcGVyc29uTmFtZShwKSB7CiAgICByZXR1cm4gKHAubmFtZSB8fCAnJykgKyAocC52 +b3JuYW1lID8gKCcsICcgKyBwLnZvcm5hbWUpIDogJycpOwp9Ci8vIEhUTUwgKFNvbmRlcnRlcm1p +bi1UZXh0IGlzdCBhZG1pbi1zYW5pdGlzaWVydCkgLT4gcmVpbmVyIFRleHQgZnVlciBkZW4gRXhw +b3J0LgpmdW5jdGlvbiBfc3RyaXBIdG1sKHMpIHsKICAgIGlmICghcykgcmV0dXJuICcnOwogICAg +dmFyIGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIGQuaW5uZXJIVE1MID0g +czsKICAgIHJldHVybiAoZC50ZXh0Q29udGVudCB8fCBkLmlubmVyVGV4dCB8fCAnJykucmVwbGFj +ZSgvXHMrL2csICcgJykudHJpbSgpOwp9CgovLyA9PT09PSBGb3JtdWxhci1MZXNlbiA9PT09PQoK +ZnVuY3Rpb24gX3ZhbChpZCkgeyB2YXIgZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsg +cmV0dXJuIGUgPyBlLnZhbHVlIDogJyc7IH0KZnVuY3Rpb24gX2NoayhpZCkgeyB2YXIgZSA9IGRv +Y3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsgcmV0dXJuICEhKGUgJiYgZS5jaGVja2VkKTsgfQpm +dW5jdGlvbiBfY2hlY2tlZChncnApIHsKICAgIHZhciBvdXQgPSBbXTsKICAgIGRvY3VtZW50LnF1 +ZXJ5U2VsZWN0b3JBbGwoJyNleHBvcnQtaW5oYWx0IFtkYXRhLWV4cD0iJyArIGdycCArICciXTpj +aGVja2VkJykuZm9yRWFjaChmdW5jdGlvbihjKXsgb3V0LnB1c2goYy52YWx1ZSk7IH0pOwogICAg +cmV0dXJuIG91dDsKfQoKLy8gWmVpdHJhdW0gYXVzIGRlbSBGb3JtdWxhciAtPiB7IHZvbjpEYXRl +LCBiaXM6RGF0ZSwgbGFiZWwgfSBvZGVyIG51bGwuCmZ1bmN0aW9uIF96ZWl0cmF1bSgpIHsKICAg +IHZhciBtb2R1cyA9IF92YWwoJ2V4cC16ZWl0bW9kdXMnKSB8fCAnamFocic7CiAgICBpZiAobW9k +dXMgPT09ICdqYWhyJykgewogICAgICAgIHZhciBqID0gKFouYWRtaW4gJiYgWi5hZG1pbi5qYWhy +KSB8fCBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7CiAgICAgICAgcmV0dXJuIHsgdm9uOiBuZXcg +RGF0ZShqLCAwLCAxKSwgYmlzOiBuZXcgRGF0ZShqLCAxMSwgMzEpLCBsYWJlbDogJ1BsYW51bmdz +amFociAnICsgaiB9OwogICAgfQogICAgaWYgKG1vZHVzID09PSAna3cnKSB7CiAgICAgICAgdmFy +IHYgPSBfa3dHcmVuemVuKF92YWwoJ2V4cC1rdy12b24nKSksIGIgPSBfa3dHcmVuemVuKF92YWwo +J2V4cC1rdy1iaXMnKSk7CiAgICAgICAgaWYgKCF2ICYmICFiKSByZXR1cm4gbnVsbDsKICAgICAg +ICBpZiAoIXYpIHYgPSBiOwogICAgICAgIGlmICghYikgYiA9IHY7CiAgICAgICAgLy8gRmFsbHMg +YmlzIHZvciB2b24gbGllZ3QsIHRhdXNjaGVuLgogICAgICAgIHZhciB2b24gPSB2LnZvbiwgYmlz +ID0gYi5iaXM7CiAgICAgICAgaWYgKHZvbiA+IGJpcykgeyB2YXIgdCA9IHZvbjsgdm9uID0gYi52 +b247IGJpcyA9IHYuYmlzOyB9CiAgICAgICAgdmFyIGxhYiA9ICh2Lmt3ID09PSBiLmt3ICYmIHYu +amFociA9PT0gYi5qYWhyKQogICAgICAgICAgICA/ICgnS1cgJyArIHYua3cgKyAnIC8gJyArIHYu +amFocikKICAgICAgICAgICAgOiAoJ0tXICcgKyB2Lmt3ICsgJ+KAkycgKyBiLmt3ICsgJyAvICcg +KyAodi5qYWhyID09PSBiLmphaHIgPyB2LmphaHIgOiAodi5qYWhyICsgJ+KAkycgKyBiLmphaHIp +KSk7CiAgICAgICAgcmV0dXJuIHsgdm9uOiB2b24sIGJpczogYmlzLCBsYWJlbDogbGFiIH07CiAg +ICB9CiAgICAvLyBkYXR1bQogICAgdmFyIGR2ID0gX3ZhbCgnZXhwLWRhdHVtLXZvbicpLCBkYiA9 +IF92YWwoJ2V4cC1kYXR1bS1iaXMnKTsKICAgIGlmICghZHYgJiYgIWRiKSByZXR1cm4gbnVsbDsK +ICAgIHZhciBkVm9uID0gZHYgPyBuZXcgRGF0ZShkdiArICdUMDA6MDA6MDAnKSA6IG5ldyBEYXRl +KGRiICsgJ1QwMDowMDowMCcpOwogICAgdmFyIGRCaXMgPSBkYiA/IG5ldyBEYXRlKGRiICsgJ1Qw +MDowMDowMCcpIDogbmV3IERhdGUoZHYgKyAnVDAwOjAwOjAwJyk7CiAgICBpZiAoZFZvbiA+IGRC +aXMpIHsgdmFyIHR0ID0gZFZvbjsgZFZvbiA9IGRCaXM7IGRCaXMgPSB0dDsgfQogICAgcmV0dXJu +IHsgdm9uOiBkVm9uLCBiaXM6IGRCaXMsIGxhYmVsOiBkYXR1bUZvcm1hdERFKGRhdHVtU3RyKGRW +b24pKSArICcg4oCTICcgKyBkYXR1bUZvcm1hdERFKGRhdHVtU3RyKGRCaXMpKSB9Owp9CgovLyBQ +ZXJzb25lbmtyZWlzIGF1cyBkZW0gRm9ybXVsYXIgLT4geyBsaXN0ZTpbcGVyc29uXSwgbGFiZWwg +fS4KZnVuY3Rpb24gX3BlcnNvbmVuS3JlaXMoKSB7CiAgICB2YXIgbW9kdXMgPSBfdmFsKCdleHAt +d2VybW9kdXMnKSB8fCAnYWxsZSc7CiAgICB2YXIgYWxsZSA9IChaLnBlcnNvbmVuIHx8IFtdKS5z +bGljZSgpOwogICAgaWYgKG1vZHVzID09PSAnZ3J1cHBlJykgewogICAgICAgIHZhciBzZWwgPSBf +Y2hlY2tlZCgnZ3JwJyk7CiAgICAgICAgaWYgKCFzZWwubGVuZ3RoKSByZXR1cm4geyBsaXN0ZTog +YWxsZSwgbGFiZWw6ICdBbGxlIChrZWluZSBHcnVwcGUgZ2V3w6RobHQpJyB9OwogICAgICAgIHZh +ciBsaXN0ZSA9IGFsbGUuZmlsdGVyKGZ1bmN0aW9uKHApeyByZXR1cm4gc2VsLmluZGV4T2YocC5n +cnVwcGUpID49IDA7IH0pOwogICAgICAgIHJldHVybiB7IGxpc3RlOiBsaXN0ZSwgbGFiZWw6ICdE +aWVuc3RncnVwcGVuOiAnICsgc2VsLm1hcChfZ3J1cHBlTGFiZWwpLmpvaW4oJywgJykgfTsKICAg +IH0KICAgIGlmIChtb2R1cyA9PT0gJ3BlcnNvbicpIHsKICAgICAgICB2YXIgc2VsUCA9IF9jaGVj +a2VkKCdwZXJzb24nKTsKICAgICAgICBpZiAoIXNlbFAubGVuZ3RoKSByZXR1cm4geyBsaXN0ZTog +YWxsZSwgbGFiZWw6ICdBbGxlIChrZWluZSBQZXJzb24gZ2V3w6RobHQpJyB9OwogICAgICAgIHZh +ciBscCA9IGFsbGUuZmlsdGVyKGZ1bmN0aW9uKHApeyByZXR1cm4gc2VsUC5pbmRleE9mKFN0cmlu +ZyhwLmlkKSkgPj0gMDsgfSk7CiAgICAgICAgdmFyIG5hbWVuID0gbHAubWFwKF9wZXJzb25OYW1l +KTsKICAgICAgICByZXR1cm4geyBsaXN0ZTogbHAsIGxhYmVsOiAobHAubGVuZ3RoID09PSAxID8g +J0VpbnplbHBlcnNvbjogJyA6IChscC5sZW5ndGggKyAnIFBlcnNvbmVuOiAnKSkgKyBuYW1lbi5z +bGljZSgwLCAzKS5qb2luKCc7ICcpICsgKG5hbWVuLmxlbmd0aCA+IDMgPyAnIOKApicgOiAnJykg +fTsKICAgIH0KICAgIHJldHVybiB7IGxpc3RlOiBhbGxlLCBsYWJlbDogJ0FsbGUgUGVyc29uZW4n +IH07Cn0KCi8vID09PT09IERhdGVuc2FtbWx1bmcgPT09PT0KCmZ1bmN0aW9uIF9zYW1tZWxuKCkg +ewogICAgdmFyIHpyID0gX3plaXRyYXVtKCk7CiAgICBpZiAoIXpyKSByZXR1cm4geyBmZWhsZXI6 +ICdCaXR0ZSBlaW5lbiBnw7xsdGlnZW4gWmVpdHJhdW0gd8OkaGxlbi4nIH07CiAgICB2YXIgcGsg +PSBfcGVyc29uZW5LcmVpcygpOwogICAgdmFyIGVpbnRyID0gKFoucGxhbnVuZyAmJiBaLnBsYW51 +bmcuZWludHJhZWdlKSB8fCB7fTsKICAgIHZhciB0YWdJbmZvcyA9IFoudGFnSW5mb3MgfHwge307 +CgogICAgdmFyIHJvd3MgPSBbXSwgaGlud2Vpc2UgPSBbXSwgc2VlbkggPSB7fTsKICAgIHZhciBk +ID0gbmV3IERhdGUoenIudm9uLmdldEZ1bGxZZWFyKCksIHpyLnZvbi5nZXRNb250aCgpLCB6ci52 +b24uZ2V0RGF0ZSgpKTsKICAgIHZhciBlbmRlID0gbmV3IERhdGUoenIuYmlzLmdldEZ1bGxZZWFy +KCksIHpyLmJpcy5nZXRNb250aCgpLCB6ci5iaXMuZ2V0RGF0ZSgpKTsKICAgIHZhciBzY2h1dHog +PSAwOwogICAgd2hpbGUgKGQgPD0gZW5kZSAmJiBzY2h1dHogPCAxMDAwKSB7CiAgICAgICAgdmFy +IGtleSA9IGRhdHVtU3RyKGQpOwogICAgICAgIHZhciB0YWcgPSBlaW50cltrZXldIHx8IHt9Owog +ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGsubGlzdGUubGVuZ3RoOyBpKyspIHsKICAgICAg +ICAgICAgdmFyIHAgPSBway5saXN0ZVtpXTsKICAgICAgICAgICAgdmFyIGNvZGUgPSB0YWdbcGlk +S2V5KHAuaWQpXTsKICAgICAgICAgICAgaWYgKCFjb2RlKSBjb250aW51ZTsKICAgICAgICAgICAg +cm93cy5wdXNoKHsgcDogcCwgZGF0dW06IGtleSwgZDogbmV3IERhdGUoZC5nZXRUaW1lKCkpLCBj +b2RlOiBjb2RlIH0pOwogICAgICAgIH0KICAgICAgICBpZiAoIXNlZW5IW2tleV0pIHsKICAgICAg +ICAgICAgc2Vlbkhba2V5XSA9IHRydWU7CiAgICAgICAgICAgIHZhciBpbmZvID0gdGFnSW5mb3Nb +a2V5XTsKICAgICAgICAgICAgaWYgKGluZm8pIHsKICAgICAgICAgICAgICAgIGlmIChpbmZvLnR5 +cCA9PT0gJ2ZlaWVydGFnJykgewogICAgICAgICAgICAgICAgICAgIHZhciBrYXRadXNhdHogPSAo +aW5mby5rYXRlZ29yaWUgJiYgaW5mby5rYXRlZ29yaWUgIT09ICdnZXNldHpsaWNoJykgPyAoJyAo +JyArIGluZm8ua2F0ZWdvcmllICsgJyknKSA6ICcnOwogICAgICAgICAgICAgICAgICAgIGhpbndl +aXNlLnB1c2goeyBkYXR1bToga2V5LCB0eXA6ICdGZWllcnRhZycsIHRpdGVsOiAoaW5mby5uYW1l +IHx8ICcnKSArIGthdFp1c2F0eiwgdGV4dDogaW5mby5rdXJ6YmVzY2hyZWlidW5nIHx8ICcnIH0p +OwogICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbmZvLnR5cCA9PT0gJ2ZlcmllbicpIHsKICAg +ICAgICAgICAgICAgICAgICBoaW53ZWlzZS5wdXNoKHsgZGF0dW06IGtleSwgdHlwOiAnRmVyaWVu +JywgdGl0ZWw6IGluZm8ubmFtZSB8fCAnJywgdGV4dDogJycgfSk7CiAgICAgICAgICAgICAgICB9 +CiAgICAgICAgICAgICAgICBpZiAoaW5mby5zb25kZXIpIHsKICAgICAgICAgICAgICAgICAgICB2 +YXIgcyA9IGluZm8uc29uZGVyOwogICAgICAgICAgICAgICAgICAgIGhpbndlaXNlLnB1c2goeyBk +YXR1bToga2V5LCB0eXA6IChzLnR5cCA9PT0gJ3dhcm51bmcnID8gJ1NvbmRlcnRlcm1pbiAoV2Fy +bnVuZyknIDogJ1NvbmRlcnRlcm1pbicpLCB0aXRlbDogcy50aXRlbCB8fCAnJywgdGV4dDogX3N0 +cmlwSHRtbChzLnRleHQgfHwgJycpIH0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9 +CiAgICAgICAgfQogICAgICAgIGQuc2V0RGF0ZShkLmdldERhdGUoKSArIDEpOyBzY2h1dHorKzsK +ICAgIH0KCiAgICAvLyBTb3J0aWVydW5nOiBlcnN0IFBlcnNvbmVuLVJlaWhlbmZvbGdlIChHcnVw +cGUvUG9zaXRpb24gYXVzIFoucGVyc29uZW4pLAogICAgLy8gZGFubiBjaHJvbm9sb2dpc2NoIOKA +lCBzbyBsaWVzdCBzaWNoIGVpbiBFaW56ZWxwbGFuIGFtIFN0dWVjay4KICAgIHZhciBwT3JkZXIg +PSB7fTsKICAgIChaLnBlcnNvbmVuIHx8IFtdKS5mb3JFYWNoKGZ1bmN0aW9uKHBwLCBpZHgpeyBw +T3JkZXJbcHAuaWRdID0gaWR4OyB9KTsKICAgIHJvd3Muc29ydChmdW5jdGlvbihhLCBiKSB7CiAg +ICAgICAgdmFyIHBhID0gcE9yZGVyW2EucC5pZF0sIHBiID0gcE9yZGVyW2IucC5pZF07CiAgICAg +ICAgaWYgKHBhICE9PSBwYikgcmV0dXJuIChwYSA9PSBudWxsID8gMWU5IDogcGEpIC0gKHBiID09 +IG51bGwgPyAxZTkgOiBwYik7CiAgICAgICAgcmV0dXJuIGEuZGF0dW0gPCBiLmRhdHVtID8gLTEg +OiAoYS5kYXR1bSA+IGIuZGF0dW0gPyAxIDogMCk7CiAgICB9KTsKICAgIGhpbndlaXNlLnNvcnQo +ZnVuY3Rpb24oYSwgYil7IHJldHVybiBhLmRhdHVtIDwgYi5kYXR1bSA/IC0xIDogKGEuZGF0dW0g +PiBiLmRhdHVtID8gMSA6IDApOyB9KTsKCiAgICByZXR1cm4geyB6cjogenIsIHdlckxhYmVsOiBw +ay5sYWJlbCwgcGVyc29uZW46IHBrLmxpc3RlLCByb3dzOiByb3dzLCBoaW53ZWlzZTogaGlud2Vp +c2UgfTsKfQoKZnVuY3Rpb24gX21ldGFaZWlsZShkYXRlbikgewogICAgdmFyIGpldHp0ID0gbmV3 +IERhdGUoKTsKICAgIHZhciBwYWQgPSBmdW5jdGlvbihuKXsgcmV0dXJuIChuIDwgMTAgPyAnMCcg +OiAnJykgKyBuOyB9OwogICAgcmV0dXJuICdaZWl0cmF1bTogJyArIGRhdGVuLnpyLmxhYmVsICsK +ICAgICAgICAnICDigKIgIFBlcnNvbmVua3JlaXM6ICcgKyBkYXRlbi53ZXJMYWJlbCArCiAgICAg +ICAgJyAg4oCiICAnICsgZGF0ZW4ucm93cy5sZW5ndGggKyAnIEVpbnRyw6RnZScgKwogICAgICAg +ICcgIOKAoiAgZXJzdGVsbHQgJyArIHBhZChqZXR6dC5nZXREYXRlKCkpICsgJy4nICsgcGFkKGpl +dHp0LmdldE1vbnRoKCkgKyAxKSArICcuJyArIGpldHp0LmdldEZ1bGxZZWFyKCkgKwogICAgICAg +ICcgJyArIHBhZChqZXR6dC5nZXRIb3VycygpKSArICc6JyArIHBhZChqZXR6dC5nZXRNaW51dGVz +KCkpOwp9CmZ1bmN0aW9uIF9kYXRlblplaWxlKHIpIHsKICAgIHZhciBpc28gPSBfaXNvS1coci5k +KTsKICAgIHJldHVybiBbX3BlcnNvbk5hbWUoci5wKSwgX2dydXBwZUxhYmVsKHIucC5ncnVwcGUp +LCBkYXR1bUZvcm1hdERFKHIuZGF0dW0pLCBNT05BVEVbci5kLmdldE1vbnRoKCldLAogICAgICAg +ICAgICByLmQuZ2V0RGF0ZSgpLCBXVFtyLmQuZ2V0RGF5KCldLCBpc28ua3csIHIuY29kZSwgX2Nv +ZGVCZXplaWNobnVuZyhyLmNvZGUpXTsKfQpmdW5jdGlvbiBfaGlud2Vpc1plaWxlKGgpIHsKICAg +IHZhciBkZCA9IG5ldyBEYXRlKGguZGF0dW0gKyAnVDAwOjAwOjAwJyk7CiAgICByZXR1cm4gW2Rh +dHVtRm9ybWF0REUoaC5kYXR1bSksIFdUW2RkLmdldERheSgpXSwgaC50eXAsIGgudGl0ZWwsIGgu +dGV4dF07Cn0KZnVuY3Rpb24gX2RhdGVpQmFzaXMoZGF0ZW4pIHsKICAgIHZhciBqZXR6dCA9IG5l +dyBEYXRlKCk7CiAgICB2YXIgcGFkID0gZnVuY3Rpb24obil7IHJldHVybiAobiA8IDEwID8gJzAn +IDogJycpICsgbjsgfTsKICAgIHZhciBzdGFtcCA9IGpldHp0LmdldEZ1bGxZZWFyKCkgKyBwYWQo +amV0enQuZ2V0TW9udGgoKSArIDEpICsgcGFkKGpldHp0LmdldERhdGUoKSkgKyAnLScgKyBwYWQo +amV0enQuZ2V0SG91cnMoKSkgKyBwYWQoamV0enQuZ2V0TWludXRlcygpKTsKICAgIHJldHVybiAn +VkkzLURpZW5zdHBsYW5fJyArIHN0YW1wOwp9CgovLyA9PT09PSBYTFNYLUVyemV1Z3VuZyAoZm9y +bWF0aWVydCkgPT09PT0KCmZ1bmN0aW9uIF9leHBvcnRYbHN4KGRhdGVuLCBtaXRIaW53ZWlzZSkg +ewogICAgaWYgKHR5cGVvZiBYTFNYID09PSAndW5kZWZpbmVkJykgeyB0b2FzdCgnRXhjZWwtQmli +bGlvdGhlayBuaWNodCBnZWxhZGVuIOKAlCBiaXR0ZSBTZWl0ZSBuZXUgbGFkZW4uJywgJ2ZlaGxl +cicpOyByZXR1cm47IH0KICAgIHZhciBhb2EgPSBbXTsKICAgIGFvYS5wdXNoKFsnRGllbnN0cGxh +bi1FeHBvcnQg4oCUIFZJMyBER0wtUGxhbnVuZyddKTsKICAgIGFvYS5wdXNoKFtfbWV0YVplaWxl +KGRhdGVuKV0pOwogICAgYW9hLnB1c2goW10pOwogICAgdmFyIGhlYWRlclIgPSBhb2EubGVuZ3Ro +OyAgICAgICAgICAgICAgICAgLy8gMC1iYXNpZXJ0OiBaZWlsZSBkZXIgU3BhbHRlbmtvZXBmZQog +ICAgYW9hLnB1c2goU1BBTFRFTi5zbGljZSgpKTsKICAgIGRhdGVuLnJvd3MuZm9yRWFjaChmdW5j +dGlvbihyKXsgYW9hLnB1c2goX2RhdGVuWmVpbGUocikpOyB9KTsKICAgIHZhciBkYXRlbkVuZGVS +ID0gYW9hLmxlbmd0aCAtIDE7ICAgICAgICAgIC8vIGxldHp0ZSBEYXRlbnplaWxlICgwLWJhc2ll +cnQpCgogICAgaWYgKG1pdEhpbndlaXNlICYmIGRhdGVuLmhpbndlaXNlLmxlbmd0aCkgewogICAg +ICAgIGFvYS5wdXNoKFtdKTsgYW9hLnB1c2goW10pOwogICAgICAgIGFvYS5wdXNoKFsnSGlud2Vp +c2UgenUgVGFnZW4gbWl0IEJlc29uZGVyaGVpdGVuIChGZWllcnRhZ2UsIEZlcmllbiwgU29uZGVy +dGVybWluZSknXSk7CiAgICAgICAgdmFyIGhpbndIZWFkZXJSID0gYW9hLmxlbmd0aDsKICAgICAg +ICBhb2EucHVzaChISU5XRUlTX1NQQUxURU4uc2xpY2UoKSk7CiAgICAgICAgZGF0ZW4uaGlud2Vp +c2UuZm9yRWFjaChmdW5jdGlvbihoKXsgYW9hLnB1c2goX2hpbndlaXNaZWlsZShoKSk7IH0pOwog +ICAgICAgIHZhciB3czAgPSBYTFNYLnV0aWxzLmFvYV90b19zaGVldChhb2EpOwogICAgICAgIHdz +MFsnIW1lcmdlcyddID0gWwogICAgICAgICAgICB7IHM6IHsgcjogMCwgYzogMCB9LCBlOiB7IHI6 +IDAsIGM6IFNQQUxURU4ubGVuZ3RoIC0gMSB9IH0sCiAgICAgICAgICAgIHsgczogeyByOiAxLCBj +OiAwIH0sIGU6IHsgcjogMSwgYzogU1BBTFRFTi5sZW5ndGggLSAxIH0gfSwKICAgICAgICAgICAg +eyBzOiB7IHI6IGhpbndIZWFkZXJSIC0gMSwgYzogMCB9LCBlOiB7IHI6IGhpbndIZWFkZXJSIC0g +MSwgYzogU1BBTFRFTi5sZW5ndGggLSAxIH0gfQogICAgICAgIF07CiAgICAgICAgX2ZpbmlzaFdz +KHdzMCwgaGVhZGVyUiwgZGF0ZW5FbmRlUik7CiAgICAgICAgX2Rvd25sb2FkKHdzMCwgZGF0ZW4p +OwogICAgICAgIHJldHVybjsKICAgIH0KICAgIHZhciB3cyA9IFhMU1gudXRpbHMuYW9hX3RvX3No +ZWV0KGFvYSk7CiAgICB3c1snIW1lcmdlcyddID0gWwogICAgICAgIHsgczogeyByOiAwLCBjOiAw +IH0sIGU6IHsgcjogMCwgYzogU1BBTFRFTi5sZW5ndGggLSAxIH0gfSwKICAgICAgICB7IHM6IHsg +cjogMSwgYzogMCB9LCBlOiB7IHI6IDEsIGM6IFNQQUxURU4ubGVuZ3RoIC0gMSB9IH0KICAgIF07 +CiAgICBfZmluaXNoV3Mod3MsIGhlYWRlclIsIGRhdGVuRW5kZVIpOwogICAgX2Rvd25sb2FkKHdz +LCBkYXRlbik7Cn0KZnVuY3Rpb24gX2ZpbmlzaFdzKHdzLCBoZWFkZXJSLCBkYXRlbkVuZGVSKSB7 +CiAgICB3c1snIWNvbHMnXSA9IFsgeyB3Y2g6IDI2IH0sIHsgd2NoOiAyMCB9LCB7IHdjaDogMTIg +fSwgeyB3Y2g6IDExIH0sIHsgd2NoOiA1IH0sIHsgd2NoOiAxMCB9LCB7IHdjaDogNSB9LCB7IHdj +aDogMTIgfSwgeyB3Y2g6IDI4IH0gXTsKICAgIC8vIEF1dG8tRmlsdGVyIE5VUiB1ZWJlciBkZXIg +SGF1cHR0YWJlbGxlIChLb3BmemVpbGUgKyBEYXRlbnplaWxlbikuCiAgICBpZiAoZGF0ZW5FbmRl +UiA+PSBoZWFkZXJSKSB7CiAgICAgICAgd3NbJyFhdXRvZmlsdGVyJ10gPSB7IHJlZjogWExTWC51 +dGlscy5lbmNvZGVfcmFuZ2UoeyBzOiB7IHI6IGhlYWRlclIsIGM6IDAgfSwgZTogeyByOiBkYXRl +bkVuZGVSLCBjOiBTUEFMVEVOLmxlbmd0aCAtIDEgfSB9KSB9OwogICAgfQp9CmZ1bmN0aW9uIF9k +b3dubG9hZCh3cywgZGF0ZW4pIHsKICAgIHZhciB3YiA9IFhMU1gudXRpbHMuYm9va19uZXcoKTsK +ICAgIFhMU1gudXRpbHMuYm9va19hcHBlbmRfc2hlZXQod2IsIHdzLCAnRGllbnN0cGxhbicpOwog +ICAgWExTWC53cml0ZUZpbGUod2IsIF9kYXRlaUJhc2lzKGRhdGVuKSArICcueGxzeCcpOwp9Cgov +LyA9PT09PSBDU1YtRXJ6ZXVndW5nID09PT09CgpmdW5jdGlvbiBfY3N2RmVsZCh2KSB7CiAgICB2 +ID0gKHYgPT0gbnVsbCA/ICcnIDogU3RyaW5nKHYpKTsKICAgIGlmICgvWyI7XG5ccl0vLnRlc3Qo +dikpIHJldHVybiAnIicgKyB2LnJlcGxhY2UoLyIvZywgJyIiJykgKyAnIic7CiAgICByZXR1cm4g +djsKfQpmdW5jdGlvbiBfY3N2WmVpbGUoYXJyKSB7IHJldHVybiBhcnIubWFwKF9jc3ZGZWxkKS5q +b2luKCc7Jyk7IH0KCmZ1bmN0aW9uIF9leHBvcnRDc3YoZGF0ZW4sIG1pdEhpbndlaXNlKSB7CiAg +ICB2YXIgbGluZXMgPSBbXTsKICAgIGxpbmVzLnB1c2goX2NzdkZlbGQoJ0RpZW5zdHBsYW4tRXhw +b3J0IOKAlCBWSTMgREdMLVBsYW51bmcnKSk7CiAgICBsaW5lcy5wdXNoKF9jc3ZGZWxkKF9tZXRh +WmVpbGUoZGF0ZW4pKSk7CiAgICBsaW5lcy5wdXNoKCcnKTsKICAgIGxpbmVzLnB1c2goX2Nzdlpl +aWxlKFNQQUxURU4pKTsKICAgIGRhdGVuLnJvd3MuZm9yRWFjaChmdW5jdGlvbihyKXsgbGluZXMu +cHVzaChfY3N2WmVpbGUoX2RhdGVuWmVpbGUocikpKTsgfSk7CiAgICBpZiAobWl0SGlud2Vpc2Ug +JiYgZGF0ZW4uaGlud2Vpc2UubGVuZ3RoKSB7CiAgICAgICAgbGluZXMucHVzaCgnJyk7IGxpbmVz +LnB1c2goJycpOwogICAgICAgIGxpbmVzLnB1c2goX2NzdkZlbGQoJ0hpbndlaXNlIHp1IFRhZ2Vu +IG1pdCBCZXNvbmRlcmhlaXRlbiAoRmVpZXJ0YWdlLCBGZXJpZW4sIFNvbmRlcnRlcm1pbmUpJykp +OwogICAgICAgIGxpbmVzLnB1c2goX2NzdlplaWxlKEhJTldFSVNfU1BBTFRFTikpOwogICAgICAg +IGRhdGVuLmhpbndlaXNlLmZvckVhY2goZnVuY3Rpb24oaCl7IGxpbmVzLnB1c2goX2NzdlplaWxl +KF9oaW53ZWlzWmVpbGUoaCkpKTsgfSk7CiAgICB9CiAgICB2YXIgY3N2ID0gU3RyaW5nLmZyb21D +aGFyQ29kZSgweEZFRkYpICsgbGluZXMuam9pbignXHJcbicpOyAgIC8vIEJPTSAtPiBFeGNlbC1E +RSBlcmtlbm50IFVURi04CiAgICB2YXIgYmxvYiA9IG5ldyBCbG9iKFtjc3ZdLCB7IHR5cGU6ICd0 +ZXh0L2NzdjtjaGFyc2V0PXV0Zi04OycgfSk7CiAgICB2YXIgdXJsID0gVVJMLmNyZWF0ZU9iamVj +dFVSTChibG9iKTsKICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOwogICAg +YS5ocmVmID0gdXJsOyBhLmRvd25sb2FkID0gX2RhdGVpQmFzaXMoZGF0ZW4pICsgJy5jc3YnOwog +ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTsgYS5jbGljaygpOyBkb2N1bWVudC5ib2R5 +LnJlbW92ZUNoaWxkKGEpOwogICAgc2V0VGltZW91dChmdW5jdGlvbigpeyBVUkwucmV2b2tlT2Jq +ZWN0VVJMKHVybCk7IH0sIDE1MDApOwp9CgovLyA9PT09PSBVSSA9PT09PQoKZXhwb3J0IGZ1bmN0 +aW9uIGV4cG9ydFJlbmRlcm4oKSB7CiAgICB2YXIgY29udCA9IGRvY3VtZW50LmdldEVsZW1lbnRC +eUlkKCdleHBvcnQtaW5oYWx0Jyk7CiAgICBpZiAoIWNvbnQpIHJldHVybjsKICAgIGlmICghX2Rh +cmYoKSkgewogICAgICAgIGNvbnQuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9ImFkbWluLWVtcHR5 +Ij48ZGl2IGNsYXNzPSJhZG1pbi1lbXB0eS10ZXh0Ij5OdXIgU3VwZXJVc2VyIHVuZCBCZXJlY2h0 +aWd0ZSBtaXQgQWRtaW5pc3RyYXRpb25zLVp1Z3JpZmYgZMO8cmZlbiBleHBvcnRpZXJlbi48L2Rp +dj48L2Rpdj4nOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGNvbnQuaW5uZXJIVE1MID0gX2Zv +cm1IdG1sKCk7CiAgICBfdmVyZHJhaHRlbihjb250KTsKICAgIF96ZWl0U2ljaHRiYXJrZWl0KCk7 +CiAgICBfd2VyU2ljaHRiYXJrZWl0KCk7CiAgICBfdm9yc2NoYXVBa3R1YWxpc2llcmVuKCk7Cn0K +CmZ1bmN0aW9uIF9ncnBDaGlwcygpIHsKICAgIHJldHVybiAoWi5hZG1pbi5ncnVwcGVuIHx8IFtd +KS5tYXAoZnVuY3Rpb24oZyl7CiAgICAgICAgcmV0dXJuICc8bGFiZWwgY2xhc3M9ImJsZC1jaGlw +Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIGRhdGEtZXhwPSJncnAiIHZhbHVlPSInICsgZXNjYXBl +QXR0cihnLm5hbWUpICsgJyI+PHNwYW4+JyArIGVzY2FwZUhUTUwoZy5iZXplaWNobnVuZyB8fCBn +Lm5hbWUpICsgJzwvc3Bhbj48L2xhYmVsPic7CiAgICB9KS5qb2luKCcnKTsKfQpmdW5jdGlvbiBf +cGVyc29uQ2hpcHMoKSB7CiAgICB2YXIgYnlHcnAgPSB7fTsKICAgIChaLnBlcnNvbmVuIHx8IFtd +KS5mb3JFYWNoKGZ1bmN0aW9uKHApeyB2YXIgZyA9IHAuZ3J1cHBlIHx8ICfigJQnOyAoYnlHcnBb +Z10gfHwgKGJ5R3JwW2ddID0gW10pKS5wdXNoKHApOyB9KTsKICAgIHZhciBvcmRlciA9IChaLmFk +bWluLmdydXBwZW4gfHwgW10pLm1hcChmdW5jdGlvbihnKXsgcmV0dXJuIGcubmFtZTsgfSk7CiAg +ICB2YXIgbmFtZW4gPSBvcmRlci5maWx0ZXIoZnVuY3Rpb24obil7IHJldHVybiBieUdycFtuXTsg +fSkuY29uY2F0KE9iamVjdC5rZXlzKGJ5R3JwKS5maWx0ZXIoZnVuY3Rpb24obil7IHJldHVybiBv +cmRlci5pbmRleE9mKG4pIDwgMDsgfSkpOwogICAgcmV0dXJuIG5hbWVuLm1hcChmdW5jdGlvbihn +bil7CiAgICAgICAgdmFyIGxldXRlID0gYnlHcnBbZ25dLnNsaWNlKCkuc29ydChmdW5jdGlvbihh +LCBiKXsgcmV0dXJuIChhLm5hbWUgfHwgJycpLmxvY2FsZUNvbXBhcmUoYi5uYW1lIHx8ICcnLCAn +ZGUnKTsgfSk7CiAgICAgICAgdmFyIGNoaXBzID0gbGV1dGUubWFwKGZ1bmN0aW9uKHApewogICAg +ICAgICAgICByZXR1cm4gJzxsYWJlbCBjbGFzcz0iYmxkLWNoaXAiPjxpbnB1dCB0eXBlPSJjaGVj +a2JveCIgZGF0YS1leHA9InBlcnNvbiIgdmFsdWU9IicgKyBlc2NhcGVBdHRyKFN0cmluZyhwLmlk +KSkgKyAnIj48c3Bhbj4nICsgZXNjYXBlSFRNTChfcGVyc29uTmFtZShwKSkgKyAnPC9zcGFuPjwv +bGFiZWw+JzsKICAgICAgICB9KS5qb2luKCcnKTsKICAgICAgICByZXR1cm4gJzxkaXYgY2xhc3M9 +ImJsZC1wZXJzLWdycCI+PGRpdiBjbGFzcz0iYmxkLXBlcnMtZ3JwLWtvcGYiPjxzcGFuPicgKyBl +c2NhcGVIVE1MKF9ncnVwcGVMYWJlbChnbikpICsgJzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJi +bGQtY2hpcHMiPicgKyBjaGlwcyArICc8L2Rpdj48L2Rpdj4nOwogICAgfSkuam9pbignJyk7Cn0K +CmZ1bmN0aW9uIF9mb3JtSHRtbCgpIHsKICAgIHZhciBqID0gKFouYWRtaW4gJiYgWi5hZG1pbi5q +YWhyKSB8fCBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7CiAgICByZXR1cm4gJycgKwogICAgJzxk +aXYgY2xhc3M9ImV4cC1mb3JtIj4nICsKICAgICc8ZGl2IGNsYXNzPSJibGQtZmVsZCI+PHNwYW4g +Y2xhc3M9ImJsZC1mZWxkLXRpdGVsIj5VbWZhbmcgKFplaXRyYXVtKTwvc3Bhbj4nICsKICAgICAg +ICAnPHNlbGVjdCBpZD0iZXhwLXplaXRtb2R1cyIgY2xhc3M9ImZvcm0taW5wdXQiPicgKwogICAg +ICAgICAgICAnPG9wdGlvbiB2YWx1ZT0iamFociI+R2FuemVzIFBsYW51bmdzamFociAoJyArIGog +KyAnKTwvb3B0aW9uPicgKwogICAgICAgICAgICAnPG9wdGlvbiB2YWx1ZT0ia3ciPkthbGVuZGVy +d29jaGVuICh2b27igJNiaXMpPC9vcHRpb24+JyArCiAgICAgICAgICAgICc8b3B0aW9uIHZhbHVl +PSJkYXR1bSI+RGF0dW0gKHZvbuKAk2Jpcyk8L29wdGlvbj4nICsKICAgICAgICAnPC9zZWxlY3Q+ +PC9kaXY+JyArCiAgICAnPGRpdiBjbGFzcz0iYmxkLWZlbGQgYmxkLWZlbGQtMiIgZGF0YS16ZWl0 +PSJrdyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+JyArCiAgICAgICAgJzxsYWJlbCBjbGFzcz0iYmxk +LW1pbmkiPlZvbiBLVzxpbnB1dCBpZD0iZXhwLWt3LXZvbiIgY2xhc3M9ImZvcm0taW5wdXQiIHR5 +cGU9IndlZWsiPjwvbGFiZWw+JyArCiAgICAgICAgJzxsYWJlbCBjbGFzcz0iYmxkLW1pbmkiPkJp +cyBLVzxpbnB1dCBpZD0iZXhwLWt3LWJpcyIgY2xhc3M9ImZvcm0taW5wdXQiIHR5cGU9IndlZWsi +PjwvbGFiZWw+PC9kaXY+JyArCiAgICAnPGRpdiBjbGFzcz0iYmxkLWZlbGQgYmxkLWZlbGQtMiIg +ZGF0YS16ZWl0PSJkYXR1bSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+JyArCiAgICAgICAgJzxsYWJl +bCBjbGFzcz0iYmxkLW1pbmkiPlZvbjxpbnB1dCBpZD0iZXhwLWRhdHVtLXZvbiIgY2xhc3M9ImZv +cm0taW5wdXQiIHR5cGU9ImRhdGUiPjwvbGFiZWw+JyArCiAgICAgICAgJzxsYWJlbCBjbGFzcz0i +YmxkLW1pbmkiPkJpczxpbnB1dCBpZD0iZXhwLWRhdHVtLWJpcyIgY2xhc3M9ImZvcm0taW5wdXQi +IHR5cGU9ImRhdGUiPjwvbGFiZWw+PC9kaXY+JyArCgogICAgJzxkaXYgY2xhc3M9ImJsZC1mZWxk +Ij48c3BhbiBjbGFzcz0iYmxkLWZlbGQtdGl0ZWwiPlBlcnNvbmVua3JlaXM8L3NwYW4+JyArCiAg +ICAgICAgJzxzZWxlY3QgaWQ9ImV4cC13ZXJtb2R1cyIgY2xhc3M9ImZvcm0taW5wdXQiPicgKwog +ICAgICAgICAgICAnPG9wdGlvbiB2YWx1ZT0iYWxsZSI+QWxsZSBQZXJzb25lbjwvb3B0aW9uPicg +KwogICAgICAgICAgICAnPG9wdGlvbiB2YWx1ZT0iZ3J1cHBlIj5CZXN0aW1tdGUgRGllbnN0Z3J1 +cHBlbjwvb3B0aW9uPicgKwogICAgICAgICAgICAnPG9wdGlvbiB2YWx1ZT0icGVyc29uIj5FaW56 +ZWxuZSBQZXJzb25lbiAoaW5kaXZpZHVlbGxlciBFeHBvcnQpPC9vcHRpb24+JyArCiAgICAgICAg +Jzwvc2VsZWN0PjwvZGl2PicgKwogICAgJzxkaXYgY2xhc3M9ImJsZC1mZWxkIiBkYXRhLXdlcj0i +Z3J1cHBlIiBzdHlsZT0iZGlzcGxheTpub25lIj48c3BhbiBjbGFzcz0iYmxkLWZlbGQtdGl0ZWwi +PkRpZW5zdGdydXBwZW4gd8OkaGxlbjwvc3Bhbj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0iYmxk +LWNoaXBzIj4nICsgX2dycENoaXBzKCkgKyAnPC9kaXY+PC9kaXY+JyArCiAgICAnPGRldGFpbHMg +Y2xhc3M9ImJsZC1zZWt0aW9uIiBkYXRhLXdlcj0icGVyc29uIiBzdHlsZT0iZGlzcGxheTpub25l +Ij48c3VtbWFyeT5QZXJzb25lbiB3w6RobGVuICgnICsgKFoucGVyc29uZW4gfHwgW10pLmxlbmd0 +aCArICcpPC9zdW1tYXJ5PicgKwogICAgICAgICc8cCBjbGFzcz0iYmxkLXBlcnMtaGlud2VpcyI+ +TmljaHRzIGdld8OkaGx0ID0gYWxsZS4gTWVocmVyZSBQZXJzb25lbiBmw7xyIGVpbmVuIFNhbW1l +bC1FaW56ZWxleHBvcnQgbWFya2llcmVuLjwvcD4nICsKICAgICAgICBfcGVyc29uQ2hpcHMoKSAr +ICc8L2RldGFpbHM+JyArCgogICAgJzxkaXYgY2xhc3M9ImJsZC1mZWxkIj48c3BhbiBjbGFzcz0i +YmxkLWZlbGQtdGl0ZWwiPkZvcm1hdDwvc3Bhbj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0iYmxk +LXRvZ2dsZXMiPicgKwogICAgICAgICAgICAnPGxhYmVsIGNsYXNzPSJibGQtdG9nZ2xlIj48aW5w +dXQgdHlwZT0icmFkaW8iIG5hbWU9ImV4cC1mb3JtYXQiIGlkPSJleHAtZm10LXhsc3giIHZhbHVl +PSJ4bHN4IiBjaGVja2VkPiBYTFNYIChmb3JtYXRpZXJ0KTwvbGFiZWw+JyArCiAgICAgICAgICAg +ICc8bGFiZWwgY2xhc3M9ImJsZC10b2dnbGUiPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZXhw +LWZvcm1hdCIgdmFsdWU9ImNzdiI+IENTViAoRXhjZWwvU2VtaWtvbG9uKTwvbGFiZWw+JyArCiAg +ICAgICAgJzwvZGl2PjwvZGl2PicgKwogICAgJzxkaXYgY2xhc3M9ImJsZC1mZWxkIj48ZGl2IGNs +YXNzPSJibGQtdG9nZ2xlcyI+JyArCiAgICAgICAgJzxsYWJlbCBjbGFzcz0iYmxkLXRvZ2dsZSI+ +PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iZXhwLW1pdC1oaW53ZWlzZSIgY2hlY2tlZD4gSW5m +b2JveCDigJ5IaW53ZWlzZSB6dSBUYWdlbiBtaXQgQmVzb25kZXJoZWl0ZW4iIHVudGVyaGFsYiBh +bmjDpG5nZW48L2xhYmVsPicgKwogICAgICAgICc8L2Rpdj48L2Rpdj4nICsKCiAgICAnPGRpdiBj +bGFzcz0iYmxkLWFrdGlvbmVuIiBzdHlsZT0ibWFyZ2luLXRvcDoxNHB4Ij4nICsKICAgICAgICAn +PGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1wcmltYWVyIiB0eXBlPSJidXR0b24iIGlkPSJleHAtc3Rh +cnRlbiI+4qSTIEV4cG9ydGllcmVuPC9idXR0b24+JyArCiAgICAgICAgJzxzcGFuIGlkPSJleHAt +dm9yc2NoYXUiIGNsYXNzPSJibGQtcGVycy1oaW53ZWlzIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MTJw +eCI+PC9zcGFuPicgKwogICAgJzwvZGl2PicgKwogICAgJzwvZGl2Pic7Cn0KCmZ1bmN0aW9uIF96 +ZWl0U2ljaHRiYXJrZWl0KCkgewogICAgdmFyIG1vZHVzID0gX3ZhbCgnZXhwLXplaXRtb2R1cycp +IHx8ICdqYWhyJzsKICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNleHBvcnQtaW5oYWx0 +IFtkYXRhLXplaXRdJykuZm9yRWFjaChmdW5jdGlvbihlbCl7CiAgICAgICAgZWwuc3R5bGUuZGlz +cGxheSA9IChlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtemVpdCcpID09PSBtb2R1cykgPyAnJyA6ICdu +b25lJzsKICAgIH0pOwp9CmZ1bmN0aW9uIF93ZXJTaWNodGJhcmtlaXQoKSB7CiAgICB2YXIgbW9k +dXMgPSBfdmFsKCdleHAtd2VybW9kdXMnKSB8fCAnYWxsZSc7CiAgICBkb2N1bWVudC5xdWVyeVNl +bGVjdG9yQWxsKCcjZXhwb3J0LWluaGFsdCBbZGF0YS13ZXJdJykuZm9yRWFjaChmdW5jdGlvbihl +bCl7CiAgICAgICAgZWwuc3R5bGUuZGlzcGxheSA9IChlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtd2Vy +JykgPT09IG1vZHVzKSA/ICcnIDogJ25vbmUnOwogICAgfSk7Cn0KZnVuY3Rpb24gX3ZvcnNjaGF1 +QWt0dWFsaXNpZXJlbigpIHsKICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdl +eHAtdm9yc2NoYXUnKTsKICAgIGlmICghZWwpIHJldHVybjsKICAgIHZhciBkYXRlbiA9IF9zYW1t +ZWxuKCk7CiAgICBpZiAoZGF0ZW4uZmVobGVyKSB7IGVsLnRleHRDb250ZW50ID0gZGF0ZW4uZmVo +bGVyOyByZXR1cm47IH0KICAgIGVsLnRleHRDb250ZW50ID0gJ1ZvcnNjaGF1OiAnICsgZGF0ZW4u +cm93cy5sZW5ndGggKyAnIEVpbnRyw6RnZScKICAgICAgICArICcg4oCiICcgKyBkYXRlbi5wZXJz +b25lbi5sZW5ndGggKyAnIFBlcnNvbmVuJwogICAgICAgICsgJyDigKIgJyArIGRhdGVuLmhpbndl +aXNlLmxlbmd0aCArICcgSGlud2Vpcy1FaW50csOkZ2UgKEZlaWVydGFnL0Zlcmllbi9Tb25kZXJ0 +ZXJtaW4pJzsKfQoKZnVuY3Rpb24gX3ZlcmRyYWh0ZW4oY29udCkgewogICAgY29udC5hZGRFdmVu +dExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbihlKSB7CiAgICAgICAgdmFyIHQgPSBlLnRhcmdl +dDsKICAgICAgICBpZiAodC5pZCA9PT0gJ2V4cC16ZWl0bW9kdXMnKSBfemVpdFNpY2h0YmFya2Vp +dCgpOwogICAgICAgIGlmICh0LmlkID09PSAnZXhwLXdlcm1vZHVzJykgX3dlclNpY2h0YmFya2Vp +dCgpOwogICAgICAgIF92b3JzY2hhdUFrdHVhbGlzaWVyZW4oKTsKICAgIH0pOwogICAgY29udC5h +ZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIGZ1bmN0aW9uKGUpIHsKICAgICAgICB2YXIgaWQgPSBl +LnRhcmdldCAmJiBlLnRhcmdldC5pZDsKICAgICAgICBpZiAoaWQgPT09ICdleHAta3ctdm9uJyB8 +fCBpZCA9PT0gJ2V4cC1rdy1iaXMnIHx8IGlkID09PSAnZXhwLWRhdHVtLXZvbicgfHwgaWQgPT09 +ICdleHAtZGF0dW0tYmlzJykgX3ZvcnNjaGF1QWt0dWFsaXNpZXJlbigpOwogICAgfSk7CiAgICB2 +YXIgYnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V4cC1zdGFydGVuJyk7CiAgICBpZiAo +YnRuKSBidG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBfZXhwb3J0U3RhcnRlbik7Cn0KCmZ1 +bmN0aW9uIF9leHBvcnRTdGFydGVuKCkgewogICAgdmFyIGRhdGVuID0gX3NhbW1lbG4oKTsKICAg +IGlmIChkYXRlbi5mZWhsZXIpIHsgdG9hc3QoZGF0ZW4uZmVobGVyLCAnd2FybnVuZycpOyByZXR1 +cm47IH0KICAgIGlmICghZGF0ZW4ucm93cy5sZW5ndGgpIHsgdG9hc3QoJ0tlaW5lIEVpbnRyw6Rn +ZSBpbSBnZXfDpGhsdGVuIFVtZmFuZyDigJQgbmljaHRzIHp1IGV4cG9ydGllcmVuLicsICd3YXJu +dW5nJyk7IHJldHVybjsgfQogICAgdmFyIG1pdEhpbndlaXNlID0gX2NoaygnZXhwLW1pdC1oaW53 +ZWlzZScpOwogICAgdmFyIGZtdCA9IChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjZXhwb3J0LWlu +aGFsdCBpbnB1dFtuYW1lPSJleHAtZm9ybWF0Il06Y2hlY2tlZCcpIHx8IHt9KS52YWx1ZSB8fCAn +eGxzeCc7CiAgICB0cnkgewogICAgICAgIGlmIChmbXQgPT09ICdjc3YnKSBfZXhwb3J0Q3N2KGRh +dGVuLCBtaXRIaW53ZWlzZSk7CiAgICAgICAgZWxzZSBfZXhwb3J0WGxzeChkYXRlbiwgbWl0SGlu +d2Vpc2UpOwogICAgICAgIHRvYXN0KCdFeHBvcnQgZXJzdGVsbHQ6ICcgKyBkYXRlbi5yb3dzLmxl +bmd0aCArICcgRWludHLDpGdlJyArIChtaXRIaW53ZWlzZSA/ICcgKyAnICsgZGF0ZW4uaGlud2Vp +c2UubGVuZ3RoICsgJyBIaW53ZWlzLUVpbnRyw6RnZScgOiAnJyksICdlcmZvbGcnKTsKICAgIH0g +Y2F0Y2ggKGUpIHsKICAgICAgICB0cnkgeyBjb25zb2xlLmVycm9yKCdbZXhwb3J0XScsIGUpOyB9 +IGNhdGNoIChfKSB7fQogICAgICAgIHRvYXN0KCdFeHBvcnQgZmVobGdlc2NobGFnZW46ICcgKyAo +ZS5tZXNzYWdlIHx8IGUpLCAnZmVobGVyJyk7CiAgICB9Cn0K +### FILE: js/feiertage_de.js | 3209 +Ly8gPT09IGZlaWVydGFnZV9kZS5qcyA9PT0KLy8gRGV0ZXJtaW5pc3Rpc2NoZXIgS2F0YWxvZyBk +ZXIgZ2VzZXR6bGljaGVuIEZlaWVydGFnZSBpbiBEZXV0c2NobGFuZCAoYnVuZGVzLQovLyB3ZWl0 +KSB1bmQgTm9yZHJoZWluLVdlc3RmYWxlbiDigJQgcHJvIEphaHIgYmVyZWNobmV0LCBvaG5lIEFi +aGFlbmdpZ2tlaXQgdm9uCi8vIGFkbWluLmpzb24uIEJld2VnbGljaCBGZXN0ZSAoS2FyZnJlaXRh +ZywgT3N0ZXJtb250YWcsIENocmlzdGkgSGltbWVsZmFocnQsCi8vIFBmaW5nc3Rtb250YWcsIEZy +b25sZWljaG5hbSkgbGVpdGVuIHNpY2ggdm9tIE9zdGVyc29ubnRhZyBhYiAoR2F1c3MvQW5vbnlt +ZQovLyBHcmVnb3JpYW5pc2NoZSBPc3RlcmZvcm1lbCkuIEdlbnV0enQgdm9tIFN0YXRpc3Rpay1C +dWlsZGVyLy1FbmdpbmUsIHVtCi8vIERpZW5zdGUgbmFjaCDigJ5idW5kZXN3ZWl0IiB2cy4g4oCe +TlJXLXNwZXppZmlzY2giIGF1Znp1c2NobHVlc3NlbG4uCi8vCi8vIFF1ZWxsZSBkZXIgS2xhc3Np +ZmlrYXRpb246IGdlc2V0emxpY2hlIEZlaWVydGFnZSBOUlcgKDExIFN0dWVjaykg4oCUIGRhdm9u +IHNpbmQKLy8gRnJvbmxlaWNobmFtIHVuZCBBbGxlcmhlaWxpZ2VuIE5SVy1zcGV6aWZpc2NoLCBk +aWUgdWVicmlnZW4gOSBidW5kZXN3ZWl0LgovLyBIZWlsaWdhYmVuZC9TaWx2ZXN0ZXIgc2luZCBL +RUlORSBnZXNldHpsaWNoZW4gRmVpZXJ0YWdlIHVuZCBkYWhlciBoaWVyCi8vIGJld3Vzc3Qgbmlj +aHQgZW50aGFsdGVuIChhZG1pbi5qc29uIGZ1ZWhydCBzaWUgc2VwYXJhdCAtPiBUeXAg4oCec29u +c3RpZ2UiKS4KCmltcG9ydCB7IGRhdHVtU3RyIH0gZnJvbSAnLi9jb3JlX3V0aWwuanMnOwoKLy8g +T3N0ZXJzb25udGFnIChHcmVnb3JpYW5pc2NoKSBwZXIgQW5vbnltZS1HcmVnb3JpYW5pc2NoZS1P +c3RlcmZvcm1lbC4KZnVuY3Rpb24gX29zdGVybihqYWhyKSB7CiAgICB2YXIgYSA9IGphaHIgJSAx +OTsKICAgIHZhciBiID0gTWF0aC5mbG9vcihqYWhyIC8gMTAwKTsKICAgIHZhciBjID0gamFociAl +IDEwMDsKICAgIHZhciBkID0gTWF0aC5mbG9vcihiIC8gNCk7CiAgICB2YXIgZSA9IGIgJSA0Owog +ICAgdmFyIGYgPSBNYXRoLmZsb29yKChiICsgOCkgLyAyNSk7CiAgICB2YXIgZyA9IE1hdGguZmxv +b3IoKGIgLSBmICsgMSkgLyAzKTsKICAgIHZhciBoID0gKDE5ICogYSArIGIgLSBkIC0gZyArIDE1 +KSAlIDMwOwogICAgdmFyIGkgPSBNYXRoLmZsb29yKGMgLyA0KTsKICAgIHZhciBrID0gYyAlIDQ7 +CiAgICB2YXIgbCA9ICgzMiArIDIgKiBlICsgMiAqIGkgLSBoIC0gaykgJSA3OwogICAgdmFyIG0g +PSBNYXRoLmZsb29yKChhICsgMTEgKiBoICsgMjIgKiBsKSAvIDQ1MSk7CiAgICB2YXIgbW9uYXQg +PSBNYXRoLmZsb29yKChoICsgbCAtIDcgKiBtICsgMTE0KSAvIDMxKTsgICAvLyAzID0gTWFlcnos +IDQgPSBBcHJpbAogICAgdmFyIHRhZyA9ICgoaCArIGwgLSA3ICogbSArIDExNCkgJSAzMSkgKyAx +OwogICAgcmV0dXJuIG5ldyBEYXRlKGphaHIsIG1vbmF0IC0gMSwgdGFnKTsKfQoKZnVuY3Rpb24g +X3BsdXMoZCwgbikgewogICAgdmFyIHIgPSBuZXcgRGF0ZShkLmdldFRpbWUoKSk7CiAgICByLnNl +dERhdGUoci5nZXREYXRlKCkgKyBuKTsKICAgIHJldHVybiByOwp9Cgp2YXIgX2NhY2hlID0ge307 +CgovLyBMaWVmZXJ0IGVpbmUgTWFwIHsgJ1lZWVktTU0tREQnOiB7IG5hbWUsIHR5cCB9IH0gZnVl +ciBlaW4gSmFoci4KLy8gdHlwIOKIiCAnYnVuZGVzd2VpdCcgfCAnbnJ3Jy4KZXhwb3J0IGZ1bmN0 +aW9uIGZlaWVydGFnZUZ1ZXJKYWhyKGphaHIpIHsKICAgIGphaHIgPSBwYXJzZUludChqYWhyLCAx +MCk7CiAgICBpZiAoIWphaHIpIHJldHVybiB7fTsKICAgIGlmIChfY2FjaGVbamFocl0pIHJldHVy +biBfY2FjaGVbamFocl07CiAgICB2YXIgbyA9IF9vc3Rlcm4oamFocik7CiAgICB2YXIgbWFwID0g +e307CiAgICBmdW5jdGlvbiBhZGQoZGF0dW0sIG5hbWUsIHR5cCkgeyBtYXBbZGF0dW1dID0geyBu +YW1lOiBuYW1lLCB0eXA6IHR5cCB9OyB9CgogICAgYWRkKGphaHIgKyAnLTAxLTAxJywgICAgICAg +ICAgJ05ldWphaHInLCAgICAgICAgICAgICAgICAgICAgJ2J1bmRlc3dlaXQnKTsKICAgIGFkZChk +YXR1bVN0cihfcGx1cyhvLCAtMikpLCAgICdLYXJmcmVpdGFnJywgICAgICAgICAgICAgICAgICdi +dW5kZXN3ZWl0Jyk7CiAgICBhZGQoZGF0dW1TdHIoX3BsdXMobywgIDEpKSwgICAnT3N0ZXJtb250 +YWcnLCAgICAgICAgICAgICAgICAnYnVuZGVzd2VpdCcpOwogICAgYWRkKGphaHIgKyAnLTA1LTAx +JywgICAgICAgICAgJ1RhZyBkZXIgQXJiZWl0JywgICAgICAgICAgICAgJ2J1bmRlc3dlaXQnKTsK +ICAgIGFkZChkYXR1bVN0cihfcGx1cyhvLCAzOSkpLCAgICdDaHJpc3RpIEhpbW1lbGZhaHJ0Jywg +ICAgICAgICdidW5kZXN3ZWl0Jyk7CiAgICBhZGQoZGF0dW1TdHIoX3BsdXMobywgNTApKSwgICAn +UGZpbmdzdG1vbnRhZycsICAgICAgICAgICAgICAnYnVuZGVzd2VpdCcpOwogICAgYWRkKGRhdHVt +U3RyKF9wbHVzKG8sIDYwKSksICAgJ0Zyb25sZWljaG5hbScsICAgICAgICAgICAgICAgJ25ydycp +OyAgICAgICAgICAvLyBOUlctc3BlemlmaXNjaAogICAgYWRkKGphaHIgKyAnLTEwLTAzJywgICAg +ICAgICAgJ1RhZyBkZXIgRGV1dHNjaGVuIEVpbmhlaXQnLCAgJ2J1bmRlc3dlaXQnKTsKICAgIGFk +ZChqYWhyICsgJy0xMS0wMScsICAgICAgICAgICdBbGxlcmhlaWxpZ2VuJywgICAgICAgICAgICAg +ICducncnKTsgICAgICAgICAgLy8gTlJXLXNwZXppZmlzY2gKICAgIGFkZChqYWhyICsgJy0xMi0y +NScsICAgICAgICAgICcxLiBXZWlobmFjaHRzdGFnJywgICAgICAgICAgICdidW5kZXN3ZWl0Jyk7 +CiAgICBhZGQoamFociArICctMTItMjYnLCAgICAgICAgICAnMi4gV2VpaG5hY2h0c3RhZycsICAg +ICAgICAgICAnYnVuZGVzd2VpdCcpOwoKICAgIF9jYWNoZVtqYWhyXSA9IG1hcDsKICAgIHJldHVy +biBtYXA7Cn0KCi8vIEluZm8genUgZWluZW0ga29ua3JldGVuIERhdHVtICgnWVlZWS1NTS1ERCcp +IG9kZXIgbnVsbC4KZXhwb3J0IGZ1bmN0aW9uIGZlaWVydGFnSW5mbyhkYXR1bSkgewogICAgaWYg +KCFkYXR1bSB8fCBkYXR1bS5sZW5ndGggPCA0KSByZXR1cm4gbnVsbDsKICAgIHZhciBtYXAgPSBm +ZWllcnRhZ2VGdWVySmFocihkYXR1bS5zdWJzdHJpbmcoMCwgNCkpOwogICAgcmV0dXJuIG1hcFtk +YXR1bV0gfHwgbnVsbDsKfQo= +### FILE: js/grid_editor.js | 40851 +Ly8gPT09IGdyaWQvZWRpdG9yLmpzID09PQovLyBTdGFuZDogMjAyNi0wNS0xNAovLyBaZWxsLUVk +aXRvciAoU2NoaWNodC1BdXN3YWhsICsgS29tbWVudGFyKSBpbmtsLiBSdWhlemVpdC1QcnVlZnVu +ZywKLy8gRnVlaHJ1bmdzLUxvZ2lrIChER0wvV0RGL0ZCUC1aYWVobHVuZykgdW5kIFZlcmFudHdv +cnR1bmdzLVVlYmVyZ2FuZy0KLy8gTWFpbC1EaWFsb2cgaW0gMTQtVGFnZS1WZXJiaW5kbGljaGtl +aXRzZmVuc3Rlci4KLy8KLy8gSG9va3M6IGZlYXR1cmVJc3RBa3RpdiAoUGhhc2UgOCksIHNvbmRl +ckZ1ZXJEYXR1bS9zb25kZXJXYXJuTW9kYWxaZWlnZW4KLy8gKFNvbmRlcnRlcm1pbmUgaW4gUGhh +c2UgOCksIGlzdENvZGVBa3RpdiAoUGhhc2UgOCksIGVtYWlsVm9ybGFnZW5Ib2xlbi8KLy8gZW1h +aWxWb3JsYWdlQmVmdWVsbGVuL21haWxUcmlnZ2VyRmV1ZXJuIChQaGFzZSA3KSwgYmVzZXR6dW5n +c2tvbnRyb2xsZVJlbmRlcm4KLy8gKFBoYXNlIDYpLgoKaW1wb3J0IHsgWiB9IGZyb20gJy4vY29y +ZV9zdGF0ZS5qcyc7CmltcG9ydCB7CiAgICBlc2NhcGVIVE1MLCBlc2NhcGVBdHRyLCBkYXR1bVN0 +ciwgZGF0dW1Gb3JtYXRERSwKICAgIGZ1bmt0aW9uc1JhbmcsIF9wZXJzb25BbnplaWdlLCBhYnNl +bmRlck5hbWVFcm1pdHRlbG4sCiAgICBhbnplaWdlTmFtZUZ1ZXJLZW5udW5nLCBhdXNsb2VzZXJF +bWFpbEVybWl0dGVsbgp9IGZyb20gJy4vY29yZV91dGlsLmpzJzsKaW1wb3J0IHsgZGFyZlplbGxl +RWRpdGllcmVuLCBkYXR1bUluVmVyYmluZGxpY2hrZWl0IH0gZnJvbSAnLi9jb3JlX3Blcm1pc3Np +b25zLmpzJzsKaW1wb3J0IHsgYXBpUG9zdCB9IGZyb20gJy4vY29yZV9hcGkuanMnOwppbXBvcnQg +eyB0b2FzdCwgYmVzdGFldGlnZW4sIG1vZGFsWmVpZ2VuLCBtb2RhbFNjaGxpZXNzZW4gfSBmcm9t +ICcuL3VpX2RpYWxvZy5qcyc7CmltcG9ydCB7IHN0YWVya2VCZXJlY2huZW4sIHplbGxlVmlzdWVs +bEFrdHVhbGlzaWVyZW4gfSBmcm9tICcuL2dyaWRfcmVuZGVyLmpzJzsKaW1wb3J0IHsKICAgIGtv +bW1lbnRhckxhZGVuLCBrb21tZW50YXJFaW50cmFnLCBrb21tZW50YXJNZXRhVGV4dCwgaW50ZXJh +Y3Rpb25Ib29rcywKICAgIGZ1ZWxsSGFuZGxlWmVpZ2VuLCBmdWVsbEhhbmRsZVZlcnN0ZWNrZW4s +CiAgICBrb21tZW50YXJMaXN0ZSwga29tbWVudGFyTG9lc2NoZW4sIGRhcmZLb21tZW50YXJMb2Vz +Y2hlbgp9IGZyb20gJy4vZ3JpZF9pbnRlcmFjdGlvbi5qcyc7CmltcG9ydCB7CiAgICBsb2NrWmVs +bGVBY3F1aXJlLCBsb2NrWmVsbGVGb3JjZSwgbG9ja1plbGxlUmVsZWFzZSwKICAgIGxvY2tIZWFy +dGJlYXRTdGFydGVuLCBsb2NrSGVhcnRiZWF0U3RvcHBlbgp9IGZyb20gJy4vc3luYy5qcyc7Cgov +LyA9PT09PSBIb29rcyA9PT09PQoKZXhwb3J0IHZhciBlZGl0b3JIb29rcyA9IHsKICAgIGZlYXR1 +cmVJc3RBa3RpdjogbnVsbCwKICAgIHNvbmRlckZ1ZXJEYXR1bTogbnVsbCwKICAgIHNvbmRlcldh +cm5Nb2RhbFplaWdlbjogbnVsbCwKICAgIGlzdENvZGVBa3RpdjogbnVsbCwKICAgIGVtYWlsVm9y +bGFnZW5Ib2xlbjogbnVsbCwKICAgIGVtYWlsVm9ybGFnZUJlZnVlbGxlbjogbnVsbCwKICAgIG1h +aWxUcmlnZ2VyRmV1ZXJuOiBudWxsLAogICAgYmVzZXR6dW5nc2tvbnRyb2xsZVJlbmRlcm46IG51 +bGwsCiAgICBiZXNldHp1bmdza29udHJvbGxlVGFnVXBkYXRlbjogbnVsbAp9OwoKLy8gPT09PT0g +S29uc3RhbnRlbiA9PT09PQoKLy8gU29sbC1CZXNldHp1bmcgcHJvIFNjaGljaHQ6IDIgRnVlaHJ1 +bmdza3JhZWZ0ZSAoMS4gKyAyLiBWZXJhbnR3b3J0dW5nKS4KLy8gQWxsZSBkYXJ1ZWJlciBoaW5h +dXMgZWluZ2V0cmFnZW5lbiBER0xzIHNpbmQgUmVzZXJ2ZS4KZXhwb3J0IHZhciBGVUVIUlVOR19T +T0xMID0gMjsKCi8vIFNjaGljaHR6ZWl0ZW4tTW9kZWxsIChTdHVuZGVuIGFiIFRhZ2Vzc3RhcnQp +LiAzMCA9IG5hZWNoc3RlciBUYWcgMDY6MDAuCnZhciBzY2hpY2h0WmVpdGVuID0gewogICAgJ0Yn +OiB7IHN0YXJ0OiA2LCBlbmRlOiAxNCB9LAogICAgJ1MnOiB7IHN0YXJ0OiAxNCwgZW5kZTogMjIg +fSwKICAgICdOJzogeyBzdGFydDogMjIsIGVuZGU6IDMwIH0KfTsKCi8vID09PT09IEZ1ZWhydW5n +cy1Mb2dpayA9PT09PQoKLy8gTGllZmVydCAnRicgLyAnUycgLyAnTicsIHdlbm4gd2VydCBlaW5l +IEZ1ZWhydW5nc3NjaGljaHQgaXN0LCBzb25zdCBudWxsLgovLyBFcyB6YWVobHQgYXVzc2NobGll +c3NsaWNoIGRpZSBSb2xsZSBER0wg4oCUIFdERi9GQlAgc2luZCBrZWluZSBGdWVocnVuZy4KZXhw +b3J0IGZ1bmN0aW9uIGZ1ZWhydW5nc1NjaGljaHQod2VydCkgewogICAgaWYgKCF3ZXJ0IHx8IHdl +cnQubGVuZ3RoIDwgNSkgcmV0dXJuIG51bGw7CiAgICB2YXIgcHJlZml4ID0gd2VydC5jaGFyQXQo +MCk7CiAgICBpZiAocHJlZml4ICE9PSAnRicgJiYgcHJlZml4ICE9PSAnUycgJiYgcHJlZml4ICE9 +PSAnTicpIHJldHVybiBudWxsOwogICAgaWYgKHdlcnQuc3Vic3RyaW5nKDIsIDUpID09PSAnREdM +JykgcmV0dXJuIHByZWZpeDsKICAgIHJldHVybiBudWxsOwp9CgpleHBvcnQgZnVuY3Rpb24gZnVl +aHJ1bmdzWmFlaGxlbihkYXR1bSwgc2NoaWNodCkgewogICAgLy8gRGVja3VuZ3NnbGVpY2ggbWl0 +IHN0YWVya2VCZXJlY2huZW4oKSDigJQgZ2xlaWNoZSBaZWxsZSwgZ2xlaWNoZSBaYWhsLgogICAg +dmFyIHN0ID0gc3RhZXJrZUJlcmVjaG5lbihkYXR1bSk7CiAgICBpZiAoc2NoaWNodCA9PT0gJ0Yn +KSByZXR1cm4gc3QuZjsKICAgIGlmIChzY2hpY2h0ID09PSAnUycpIHJldHVybiBzdC5zOwogICAg +aWYgKHNjaGljaHQgPT09ICdOJykgcmV0dXJuIHN0Lm47CiAgICByZXR1cm4gMDsKfQoKLy8gTGll +ZmVydCBhbGxlIGFrdGl2ZW4gREdMcyBmdWVyIERhdHVtICsgU2NoaWNodCAoRi9TL04pLCBzb3J0 +aWVydCBwcmltYWVyCi8vIG5hY2ggU3RhbW0tRnVua3Rpb25zLVJhbmcgKERHTCA+IFdERiA+IDMu +IFBlcnNvbiA+IFdhY2hsZWl0dW5nL0dydXBwZW4tCi8vIGZ1ZWhydW5nKSwgc2VrdW5kYWVyIG5h +Y2ggcm9oZXIgcG9zaXRpb24uIFswXSA9IDEuIFZlcmFudHdvcnR1bmcsCi8vIFsxXSA9IDIuIFZl +cmFudHdvcnR1bmcsIFsyXSsgPSB3ZWl0ZXJlIChSZXNlcnZlKS4KZXhwb3J0IGZ1bmN0aW9uIGRn +bHNJblNjaGljaHQoZGF0dW0sIHNjaGljaHRMZXR0ZXIpIHsKICAgIHZhciBlID0gKFoucGxhbnVu +Zy5laW50cmFlZ2UgfHwge30pW2RhdHVtXSB8fCB7fTsKICAgIHZhciBrYW5kaWRhdGVuID0gW107 +CiAgICAoWi5wbGFudW5nLnBlcnNvbmVuIHx8IFtdKS5mb3JFYWNoKGZ1bmN0aW9uKHApIHsKICAg +ICAgICBpZiAoIXAuYWt0aXYpIHJldHVybjsKICAgICAgICB2YXIgdyA9IGVbU3RyaW5nKHAuaWQp +XSB8fCAnJzsKICAgICAgICBpZiAoZnVlaHJ1bmdzU2NoaWNodCh3KSA9PT0gc2NoaWNodExldHRl +cikga2FuZGlkYXRlbi5wdXNoKHApOwogICAgfSk7CiAgICBrYW5kaWRhdGVuLnNvcnQoZnVuY3Rp +b24oYSwgYikgewogICAgICAgIHZhciByQSA9IGZ1bmt0aW9uc1JhbmcoYS5mdW5rdGlvbik7CiAg +ICAgICAgdmFyIHJCID0gZnVua3Rpb25zUmFuZyhiLmZ1bmt0aW9uKTsKICAgICAgICBpZiAockEg +IT09IHJCKSByZXR1cm4gckEgLSByQjsKICAgICAgICByZXR1cm4gKGEucG9zaXRpb24gfHwgOTk5 +KSAtIChiLnBvc2l0aW9uIHx8IDk5OSk7CiAgICB9KTsKICAgIHJldHVybiBrYW5kaWRhdGVuOwp9 +CgpleHBvcnQgZnVuY3Rpb24gYWt0aXZlRnVlaHJ1bmcoZGF0dW0sIHNjaGljaHRMZXR0ZXIpIHsK +ICAgIHJldHVybiBkZ2xzSW5TY2hpY2h0KGRhdHVtLCBzY2hpY2h0TGV0dGVyKS5zbGljZSgwLCBG +VUVIUlVOR19TT0xMKTsKfQoKLy8gVkkzLURHTC1RdWFsaWZpemllcnVuZzogZGFzIEZsYWcgZWxE +Z2xRdWFsaWZpemllcnQgaXN0IHNlaXQgMjAyNi0wNS0yMwovLyBmdWVyIGFsbGUgUGVyc29uZW4g +cGZsZWdiYXIgKGF1Y2ggQXQtREdML1dERi9OZXV6dWdhZW5nZSBtdWVzc2VuCi8vIGV4cGxpeml0 +IHF1YWxpZml6aWVydCB3ZXJkZW4sIHdlbm4gZGFzIGdld3VlbnNjaHQgaXN0KS4gRmFsbGJhY2sg +ZnVlcgovLyBCZXN0YW5kOiBGdW5rdGlvbiBER0wvREdMaW4gZ2lsdCB3ZWl0ZXJoaW4gaW1wbGl6 +aXQgYWxzIHF1YWxpZml6aWVydCwKLy8gZGFtaXQga2VpbiBNaWdyYXRpb25zLVBmbGljaHRkdXJj +aGxhdWYgbm9ldGlnIGlzdC4KZXhwb3J0IGZ1bmN0aW9uIGlzdERnbFF1YWxpZml6aWVydChwKSB7 +CiAgICBpZiAoIXApIHJldHVybiBmYWxzZTsKICAgIGlmIChwLmVsRGdsUXVhbGlmaXppZXJ0ID09 +PSB0cnVlKSByZXR1cm4gdHJ1ZTsKICAgIHZhciBmID0gU3RyaW5nKHAuZnVua3Rpb24gfHwgJycp +OwogICAgaWYgKGYgPT09ICdER0wnIHx8IGYgPT09ICdER0xpbicpIHJldHVybiB0cnVlOwogICAg +cmV0dXJuIGZhbHNlOwp9CgovLyBMaWVmZXJ0IHRydWUsIHdlbm4gZGllIFBlcnNvbiBHZXNhbXR2 +ZXJhbnR3b3J0bGljaCBpc3QuIEdlc2FtdHZlcmFudHdvcnRsaWNoZQovLyBrb21tZW4gYXVzIGRl +ciBEaWVuc3RzdGVsbGVubGVpdHVuZyB1bmQgbmVobWVuIGRpZSBER0wtRnVua3Rpb24gbmljaHQg +bWVocgovLyBzZWxic3Qgd2FociDigJQgZGFoZXIgYXVzIFNjaGljaHQtQmVzZXR6dW5ncy1LYW5k +aWRhdGVuIGF1c2dlc2NobG9zc2VuLgpleHBvcnQgZnVuY3Rpb24gaXN0R2VzYW10dmVyYW50d29y +dGxpY2gocCkgewogICAgaWYgKCFwIHx8ICFwLm53S2VubnVuZykgcmV0dXJuIGZhbHNlOwogICAg +dmFyIHBrID0gU3RyaW5nKHAubndLZW5udW5nKS50b0xvd2VyQ2FzZSgpOwogICAgdmFyIGZhcyA9 +IChaLmFkbWluICYmIFouYWRtaW4uZmFjaGF1ZnNpY2h0KSB8fCBbXTsKICAgIGZvciAodmFyIGkg +PSAwOyBpIDwgZmFzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIGZhID0gZmFzW2ldOwogICAg +ICAgIGlmIChmYSAmJiBmYS5nZXNhbXR2ZXJhbnR3b3J0bGljaCAmJiBTdHJpbmcoZmEubndLZW5u +dW5nIHx8ICcnKS50b0xvd2VyQ2FzZSgpID09PSBwaykgcmV0dXJuIHRydWU7CiAgICB9CiAgICBy +ZXR1cm4gZmFsc2U7Cn0KCi8vIEUtTWFpbCBkZXMgR2VzYW10dmVyYW50d29ydGxpY2hlbiBhdXMg +YWRtaW4uZmFjaGF1ZnNpY2h0LiBGYWxsYmFjayB1ZWJlcgovLyBkaWUgTlctS2VubnVuZyBhdWYg +ZGVuIHBhc3NlbmRlbiBQZXJzb25lbi1FaW50cmFnLgpleHBvcnQgZnVuY3Rpb24gZ2VzYW10dmVy +YW50d29ydGxpY2hFbWFpbCgpIHsKICAgIHZhciBmYSA9IChaLmFkbWluLmZhY2hhdWZzaWNodCB8 +fCBbXSkuZmluZChmdW5jdGlvbihmKSB7IHJldHVybiBmLmdlc2FtdHZlcmFudHdvcnRsaWNoOyB9 +KTsKICAgIGlmICghZmEpIHJldHVybiAnJzsKICAgIGlmIChmYS5lbWFpbCkgcmV0dXJuIGZhLmVt +YWlsOwogICAgaWYgKGZhLm53S2VubnVuZykgewogICAgICAgIHZhciBwID0gKFoucGxhbnVuZy5w +ZXJzb25lbiB8fCBbXSkuZmluZChmdW5jdGlvbih4KSB7CiAgICAgICAgICAgIHJldHVybiAoeC5u +d0tlbm51bmcgfHwgJycpLnRvTG93ZXJDYXNlKCkgPT09IGZhLm53S2VubnVuZy50b0xvd2VyQ2Fz +ZSgpOwogICAgICAgIH0pOwogICAgICAgIGlmIChwICYmIHAuZW1haWwpIHJldHVybiBwLmVtYWls +OwogICAgfQogICAgcmV0dXJuICcnOwp9CgovLyA9PT09PSBWZXJhbnR3b3J0dW5ncy1XZWNoc2Vs +IChFSU5FIFNhbW1lbC1NYWlsKSA9PT09PQovLwovLyBFaW5lIFBsYW51bmdzYWVuZGVydW5nIGlu +IGRlciAxNC1UYWdlLVZlcmJpbmRsaWNoa2VpdCBrYW5uIG1laHJlcmUgUGVyc29uZW4KLy8gYmV0 +cmVmZmVuOiB3ZXIgaW4gZGllIFRvcC0yLUZ1ZWhydW5nIGF1ZnJ1ZWNrdCBVTkQgd2VyIGRhZHVy +Y2ggaGVyYXVzZmFlbGx0LgovLyBGcnVlaGVyIG9lZmZuZXRlIGRhcyBwcm8gUGVyc29uIGVpbmVu +IGVpZ2VuZW4gRGlhbG9nICsgZWluZSBlaWdlbmUgTWFpbCDigJQKLy8genUgdmllbGUgU2Nocml0 +dGUsIGRlciBVc2VyIHN0aWVnIGF1cy4gSmV0enQ6IEVJTkUgQmVzdGFldGlndW5nLCBFSU5FIE1h +aWwKLy8gYW4gQUxMRSBCZXRyb2ZmZW5lbiAoQW4tRmVsZCksIG1pdCBlaW5lbSBnZW5lcmllcnRl +biBXZWNoc2VsLUJsb2NrIGltIFRleHQuCi8vCi8vIHdlY2hzZWwgPSB7Ci8vICAgZGF0dW0sICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFlZWVktTU0tREQKLy8gICBwcmltYWVyU2NoaWNo +dCwgICAgICAgICAgICAgICAgICAgLy8gRi9TL04g4oCUIGZ1ZXIgQmV0cmVmZgovLyAgIGVpbnRy +YWVnZTogWyB7YXJ0OidhdWYnfCdmcmVpJywgc2NoaWNodExldHRlciwgcGVyc29uLCBzdHVmZSwg +Z2VnZW59IF0sCi8vICAgZW1wZmFlbmdlcjogWyB7ZW1haWwsIHBlcnNvbn0gXSwgIC8vIEFuLUZl +bGQgKGRlZHVwZSk6IEF1ZnJ1ZWNrZXIgYXVzc2VyCi8vICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIC8vICAgU2VsYnN0cGxhbmVyICsgVmVyZHJhZW5ndGUsIG1pdCBNYWlsCi8v +ICAgY2NQYXJ0bmVyRW1haWxzOiBbIC4uLiBdICAgICAgICAgIC8vIHp3ZWl0ZSBGdWVocnVuZ3Nr +cmFmdCBqZSBTY2hpY2h0Ci8vIH0KCi8vIEJhdXQgZGllIEtsYXJ0ZXh0LVplaWxlbiBkZXMgV2Vj +aHNlbC1CbG9ja3MgKGZ1ZXIgRGlhbG9nICsgTWFpbC1Cb2R5KS4KZnVuY3Rpb24gd2VjaHNlbFRl +eHRaZWlsZW4od2VjaHNlbCkgewogICAgdmFyIHNjaGljaHROYW1lID0geyBGOiAnRnLDvGgnLCBT +OiAnU3DDpHQnLCBOOiAnTmFjaHQnIH07CiAgICByZXR1cm4gd2VjaHNlbC5laW50cmFlZ2UubWFw +KGZ1bmN0aW9uKGUpIHsKICAgICAgICB2YXIgc24gPSAoc2NoaWNodE5hbWVbZS5zY2hpY2h0TGV0 +dGVyXSB8fCBlLnNjaGljaHRMZXR0ZXIpICsgJ3NjaGljaHQnOwogICAgICAgIHZhciBzdHVmZVRl +eHQgPSBlLnN0dWZlID09PSAxID8gJzEuIFZlcmFudHdvcnR1bmcnIDogJzIuIFZlcmFudHdvcnR1 +bmcnOwogICAgICAgIGlmIChlLmFydCA9PT0gJ2F1ZicpIHsKICAgICAgICAgICAgcmV0dXJuICfi +gKIgJyArIF9wZXJzb25BbnplaWdlKGUucGVyc29uKSArICcgcsO8Y2t0IGluIGRpZSAnICsgc3R1 +ZmVUZXh0ICsgJyBkZXIgJyArIHNuICsgJyBuYWNoJyArCiAgICAgICAgICAgICAgICAgICAoZS5n +ZWdlbiA/ICcgKGbDvHIgJyArIF9wZXJzb25BbnplaWdlKGUuZ2VnZW4pICsgJyknIDogJycpICsg +Jy4nOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJ+KAoiAnICsgX3BlcnNvbkFuemVpZ2UoZS5w +ZXJzb24pICsgJyBpc3QgYXVzIGRlciAnICsgc3R1ZmVUZXh0ICsgJyBkZXIgJyArIHNuICsKICAg +ICAgICAgICAgICAgJyBoZXJhdXMgdW5kIHBsYW50IGFiIGpldHp0IGZsZXhpYmxlcicgKwogICAg +ICAgICAgICAgICAoZS5nZWdlbiA/ICcgKMO8YmVybm9tbWVuIGhhdCAnICsgX3BlcnNvbkFuemVp +Z2UoZS5nZWdlbikgKyAnKScgOiAnJykgKyAnLic7CiAgICB9KTsKfQoKZXhwb3J0IGZ1bmN0aW9u +IHZlcmFudHdvcnR1bmdzV2VjaHNlbERpYWxvZ1plaWdlbih3ZWNoc2VsLCBvbkZlcnRpZykgewog +ICAgdmFyIGZlcnRpZyA9IGZ1bmN0aW9uKCkgeyBpZiAodHlwZW9mIG9uRmVydGlnID09PSAnZnVu +Y3Rpb24nKSBvbkZlcnRpZygpOyB9OwogICAgaWYgKCF3ZWNoc2VsIHx8ICF3ZWNoc2VsLmVtcGZh +ZW5nZXIgfHwgIXdlY2hzZWwuZW1wZmFlbmdlci5sZW5ndGgpIHsgZmVydGlnKCk7IHJldHVybjsg +fQoKICAgIHZhciB6ZWlsZW4gPSB3ZWNoc2VsVGV4dFplaWxlbih3ZWNoc2VsKTsKICAgIHZhciBu +YW1lbiA9IHdlY2hzZWwuZW1wZmFlbmdlci5tYXAoZnVuY3Rpb24oZSkgeyByZXR1cm4gX3BlcnNv +bkFuemVpZ2UoZS5wZXJzb24pOyB9KTsKICAgIHZhciBpbmZvID0gJ0R1cmNoIGRlaW5lIFBsYW51 +bmdzw6RuZGVydW5nIGFtICcgKyBkYXR1bUZvcm1hdERFKHdlY2hzZWwuZGF0dW0pICsKICAgICAg +ICAnIMOkbmRlcnQgc2ljaCBkaWUgRsO8aHJ1bmdzLVZlcmFudHdvcnR1bmc6XG5cbicgKyB6ZWls +ZW4uam9pbignXG4nKSArICdcblxuJyArCiAgICAgICAgJ0VzIHdpcmQgRUlORSBFLU1haWwgYW4g +YWxsZSBCZXRyb2ZmZW5lbiBnZcO2ZmZuZXQ6XG4nICsgbmFtZW4uam9pbignLCAnKSArICcuJzsK +ICAgIHZhciBrb2VycGVyID0gJzxkaXYgc3R5bGU9IndoaXRlLXNwYWNlOnByZS1saW5lO2xpbmUt +aGVpZ2h0OjEuNTtwYWRkaW5nOjhweCAwIj4nICsgZXNjYXBlSFRNTChpbmZvKSArICc8L2Rpdj4n +OwogICAgdmFyIGZ1c3MgPSAnPGJ1dHRvbiBjbGFzcz0iYnRuIiBpZD0idnctbmVpbiIgdHlwZT0i +YnV0dG9uIj5OaWNodCBiZW5hY2hyaWNodGlnZW48L2J1dHRvbj4nICsKICAgICAgICAgICAgICAg +JzxidXR0b24gY2xhc3M9ImJ0biBidG4tcHJpbWFlciIgaWQ9InZ3LWphIiB0eXBlPSJidXR0b24i +PkUtTWFpbCDDtmZmbmVuPC9idXR0b24+JzsKICAgIG1vZGFsWmVpZ2VuKCdWZXJhbnR3b3J0dW5n +c3dlY2hzZWwg4oCUICcgKyB3ZWNoc2VsLmVtcGZhZW5nZXIubGVuZ3RoICsgJyBQZXJzb24oZW4p +IGluZm9ybWllcmVuJywKICAgICAgICBrb2VycGVyLCBmdXNzLCBudWxsLCBudWxsLCB7IHJlaW5l +ckRpYWxvZzogdHJ1ZSB9KTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2dy1uZWluJyku +YWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsgbW9kYWxTY2hsaWVzc2VuKCk7 +IGZlcnRpZygpOyB9KTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2dy1qYScpLmFkZEV2 +ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgdmVyYW50d29ydHVuZ3NX +ZWNoc2VsRW1haWxPZWZmbmVuKHdlY2hzZWwpOwogICAgICAgIG1vZGFsU2NobGllc3NlbigpOyBm +ZXJ0aWcoKTsKICAgIH0pOwp9CgpleHBvcnQgZnVuY3Rpb24gdmVyYW50d29ydHVuZ3NXZWNoc2Vs +RW1haWxPZWZmbmVuKHdlY2hzZWwpIHsKICAgIGlmICghZWRpdG9ySG9va3MuZW1haWxWb3JsYWdl +bkhvbGVuIHx8ICFlZGl0b3JIb29rcy5lbWFpbFZvcmxhZ2VCZWZ1ZWxsZW4pIHJldHVybjsKICAg +IGlmICghd2VjaHNlbCB8fCAhd2VjaHNlbC5lbXBmYWVuZ2VyIHx8ICF3ZWNoc2VsLmVtcGZhZW5n +ZXIubGVuZ3RoKSByZXR1cm47CiAgICB2YXIgdm9ybGFnZSA9IGVkaXRvckhvb2tzLmVtYWlsVm9y +bGFnZW5Ib2xlbigpLnZlcmFudHdvcnR1bmdzVWViZXJnYW5nOwogICAgaWYgKCF2b3JsYWdlKSBy +ZXR1cm47CgogICAgLy8gQW4tRmVsZDogYWxsZSBCZXRyb2ZmZW5lbiBtaXQgRS1NYWlsIChkZWR1 +cGUsIGxvd2VyY2FzZS1WZXJnbGVpY2gpCiAgICB2YXIgdG9MaXN0ZSA9IFtdOwogICAgdmFyIHNl +ZW4gPSB7fTsKICAgIHdlY2hzZWwuZW1wZmFlbmdlci5mb3JFYWNoKGZ1bmN0aW9uKGUpIHsKICAg +ICAgICB2YXIgbWFpbCA9IChlLmVtYWlsIHx8ICcnKS50b0xvd2VyQ2FzZSgpOwogICAgICAgIGlm +IChtYWlsICYmICFzZWVuW21haWxdKSB7IHNlZW5bbWFpbF0gPSB0cnVlOyB0b0xpc3RlLnB1c2go +ZS5lbWFpbCk7IH0KICAgIH0pOwogICAgaWYgKCF0b0xpc3RlLmxlbmd0aCkgewogICAgICAgIHRv +YXN0KCdGw7xyIGRpZSBiZXRyb2ZmZW5lbiBQZXJzb25lbiBpc3Qga2VpbmUgRS1NYWlsLUFkcmVz +c2UgaGludGVybGVndCDigJQgYml0dGUgenVlcnN0IHBmbGVnZW4uJywgJ3dhcm51bmcnKTsKICAg +ICAgICByZXR1cm47CiAgICB9CgogICAgdmFyIHNjaGljaHROYW1lID0geyBGOiAnRnLDvGgnLCBT +OiAnU3DDpHQnLCBOOiAnTmFjaHQnIH1bd2VjaHNlbC5wcmltYWVyU2NoaWNodF0gfHwgd2VjaHNl +bC5wcmltYWVyU2NoaWNodDsKICAgIHZhciBjdHggPSB7CiAgICAgICAgZGF0dW06ICAgICAgICAg +ZGF0dW1Gb3JtYXRERSh3ZWNoc2VsLmRhdHVtKSwKICAgICAgICB3b2NoZW50YWc6ICAgICBbJ1Nv +bm50YWcnLCdNb250YWcnLCdEaWVuc3RhZycsJ01pdHR3b2NoJywnRG9ubmVyc3RhZycsJ0ZyZWl0 +YWcnLCdTYW1zdGFnJ11bbmV3IERhdGUod2VjaHNlbC5kYXR1bSArICdUMDA6MDA6MDAnKS5nZXRE +YXkoKV0sCiAgICAgICAgc2NoaWNodDogICAgICAgc2NoaWNodE5hbWUsCiAgICAgICAgc2NoaWNo +dF9rdXJ6OiAgd2VjaHNlbC5wcmltYWVyU2NoaWNodCwKICAgICAgICB3ZWNoc2VsX2Jsb2NrOiB3 +ZWNoc2VsVGV4dFplaWxlbih3ZWNoc2VsKS5qb2luKCdcbicpLAogICAgICAgIGFic2VuZGVyX25h +bWU6IGFic2VuZGVyTmFtZUVybWl0dGVsbigpCiAgICB9OwogICAgdmFyIGJldHJlZmYgPSBlZGl0 +b3JIb29rcy5lbWFpbFZvcmxhZ2VCZWZ1ZWxsZW4odm9ybGFnZS5iZXRyZWZmLCBjdHgpOwogICAg +dmFyIHRleHQgICAgPSBlZGl0b3JIb29rcy5lbWFpbFZvcmxhZ2VCZWZ1ZWxsZW4odm9ybGFnZS50 +ZXh0LCBjdHgpOwoKICAgIC8vIENDOiB6d2VpdGUgRnVlaHJ1bmdza3JhZnQgKG9wdGlvbmFsKSAr +IEF1c2xvZXNlciAob3B0aW9uYWwpLiBOaWUgZG9wcGVsdAogICAgLy8genUgamVtYW5kZW0sIGRl +ciBzY2hvbiBpbSBBbi1GZWxkIHN0ZWh0LgogICAgdmFyIGNjID0gW107IHZhciBjY1NlZW4gPSB7 +fTsKICAgIGZ1bmN0aW9uIGNjQWRkKG1haWwpIHsKICAgICAgICBpZiAoIW1haWwpIHJldHVybjsK +ICAgICAgICB2YXIgbSA9IG1haWwudG9Mb3dlckNhc2UoKTsKICAgICAgICBpZiAoc2VlblttXSB8 +fCBjY1NlZW5bbV0pIHJldHVybjsKICAgICAgICBjY1NlZW5bbV0gPSB0cnVlOyBjYy5wdXNoKG1h +aWwpOwogICAgfQogICAgaWYgKHZvcmxhZ2UuY2NBbmRlcmVyRGdsKSAod2VjaHNlbC5jY1BhcnRu +ZXJFbWFpbHMgfHwgW10pLmZvckVhY2goY2NBZGQpOwogICAgaWYgKHZvcmxhZ2UuY2NBdXNsb2Vz +ZXIpIGNjQWRkKGF1c2xvZXNlckVtYWlsRXJtaXR0ZWxuKCkpOwoKICAgIHZhciB1cmwgPSAnbWFp +bHRvOicgKyBlbmNvZGVVUklDb21wb25lbnQodG9MaXN0ZS5qb2luKCcsJykpICsKICAgICAgICAg +ICAgICAnP3N1YmplY3Q9JyArIGVuY29kZVVSSUNvbXBvbmVudChiZXRyZWZmKSArCiAgICAgICAg +ICAgICAgJyZib2R5PScgICAgKyBlbmNvZGVVUklDb21wb25lbnQodGV4dCk7CiAgICBpZiAoY2Mu +bGVuZ3RoKSB1cmwgKz0gJyZjYz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KGNjLmpvaW4oJywnKSk7 +CiAgICBpZiAodm9ybGFnZS5iY2NHZXNhbXR2ZXJhbnR3b3J0bGljaCkgewogICAgICAgIHZhciBn +dkVtYWlsID0gZ2VzYW10dmVyYW50d29ydGxpY2hFbWFpbCgpOwogICAgICAgIGlmIChndkVtYWls +KSB1cmwgKz0gJyZiY2M9JyArIGVuY29kZVVSSUNvbXBvbmVudChndkVtYWlsKTsKICAgIH0KICAg +IHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsOwp9CgovLyA9PT09PSBVbnRlcmJlc2V0enVuZ3Mt +UHJ1ZWZ1bmcgKHZvciBkZW0gU3BlaWNoZXJuKSA9PT09PQoKLy8gUHLDvGZ0IG9iIGRpZSBnZXBs +YW50ZSDDhG5kZXJ1bmcgZWluZSBVbnRlcmJlc2V0enVuZyBhdXNsb2VzdC4KLy8gUnVlY2tnYWJl +OiAnRicvJ1MnLydOJyB3ZW5uIGphLCBzb25zdCBudWxsLgpleHBvcnQgZnVuY3Rpb24gZnVlaHJ1 +bmdzVW50ZXJiZXNldHp1bmdQcnVlZmVuKGRhdHVtLCBhbHRlcldlcnQsIG5ldWVyV2VydCkgewog +ICAgaWYgKCFkYXR1bUluVmVyYmluZGxpY2hrZWl0KGRhdHVtKSkgcmV0dXJuIG51bGw7CiAgICB2 +YXIgYWx0ZVNjaGljaHQgPSBmdWVocnVuZ3NTY2hpY2h0KGFsdGVyV2VydCk7CiAgICB2YXIgbmV1 +ZVNjaGljaHQgPSBmdWVocnVuZ3NTY2hpY2h0KG5ldWVyV2VydCk7CiAgICBpZiAoIWFsdGVTY2hp +Y2h0KSByZXR1cm4gbnVsbDsgICAgICAgICAgICAgICAgIC8vIHdhciBuaWUgRnVlaHJ1bmdzc2No +aWNodAogICAgaWYgKGFsdGVTY2hpY2h0ID09PSBuZXVlU2NoaWNodCkgcmV0dXJuIG51bGw7ICAv +LyBTY2hpY2h0IGJsZWlidCwgbnVyIFJvbGxlIGFuZGVycyAoRi1ER0wgLT4gRi1XREYpCiAgICAv +LyBEaWUgYWx0ZVNjaGljaHQgdmVybGllcnQgZHVyY2ggZGllc2UgQWVuZGVydW5nIGVpbmUgRnVl +aHJ1bmdza3JhZnQuCiAgICB2YXIgYWt0dWVsbCA9IGZ1ZWhydW5nc1phZWhsZW4oZGF0dW0sIGFs +dGVTY2hpY2h0KTsKICAgIGlmIChha3R1ZWxsIC0gMSA8IDIpIHJldHVybiBhbHRlU2NoaWNodDsK +ICAgIHJldHVybiBudWxsOwp9CgovLyA9PT09PSBaZWxsLUVkaXRvciA9PT09PQoKLy8gTW9kdWwt +cHJpdmF0ZSBFZGl0b3ItU3RhdGUtVmFyLiBadWdyaWZmIGF1cyBpbnRlcmFjdGlvbi5qcyAoZmFs +bHMgbm9ldGlnKQovLyB1ZWJlciBlZGl0b3JBa3RpdigpLUdldHRlciAoc2llaGUgdW50ZW4pLgp2 +YXIgZWRpdG9yID0geyBha3RpdjogZmFsc2UsIGRhdHVtOiAnJywgcGVyc29uSWQ6ICcnIH07Cgpl +eHBvcnQgZnVuY3Rpb24gZWRpdG9yQWt0aXYoKSB7IHJldHVybiBlZGl0b3IuYWt0aXY7IH0KZXhw +b3J0IGZ1bmN0aW9uIGVkaXRvckRhdHVtKCkgeyByZXR1cm4gZWRpdG9yLmRhdHVtOyB9CmV4cG9y +dCBmdW5jdGlvbiBlZGl0b3JQZXJzb25JZCgpIHsgcmV0dXJuIGVkaXRvci5wZXJzb25JZDsgfQoK +Ly8gUmVuZGVydCBkaWUgS29tbWVudGFyLVZlcmxhdWZzbGlzdGUgaW0gRWRpdG9yIChvYmVyaGFs +YiBkZXMgRWluZ2FiZWZlbGRzKS4KLy8gUmVpaGVuZm9sZ2U6IG5ldWVzdGUgb2Jlbi4gUHJvIEVp +bnRyYWcgZWluZSBUZXh0LVplbGxlICsgTWV0YS1aZWlsZSAoQXV0b3IgKwovLyBaZWl0c3RlbXBl +bCk7IGZ1ZXIgQmVyZWNodGlndGUgKFNVL0dlc2FtdHZlcmFudHdvcnRsaWNoKSB6dXNhZXR6bGlj +aCBlaW4KLy8gTG9lc2NoLUljb24uIFdpcmQgbmFjaCBFZGl0b3ItT3BlbiwgSGluenVmdWVnZW4g +dW5kIExvZXNjaGVuIGF1ZmdlcnVmZW4sCi8vIGRhbWl0IGRpZSBBbnplaWdlIGxpdmUgbWl0d2Fu +ZGVydC4KZXhwb3J0IGZ1bmN0aW9uIGVkaXRvcktvbW1lbnRhclZlcmxhdWZSZW5kZXJuKCkgewog +ICAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXRvci1rb21tZW50YXItdmVy +bGF1ZicpOwogICAgaWYgKCFlbCkgcmV0dXJuOwogICAgaWYgKCFlZGl0b3IuYWt0aXYpIHsgZWwu +aW5uZXJIVE1MID0gJyc7IHJldHVybjsgfQogICAgdmFyIGxpc3RlID0ga29tbWVudGFyTGlzdGUo +a29tbWVudGFyRWludHJhZyhlZGl0b3IuZGF0dW0sIGVkaXRvci5wZXJzb25JZCkpOwogICAgaWYg +KGxpc3RlLmxlbmd0aCA9PT0gMCkgewogICAgICAgIGVsLmlubmVySFRNTCA9ICc8ZGl2IGNsYXNz +PSJla3YtbGVlciI+Tm9jaCBrZWluZSBLb21tZW50YXJlPC9kaXY+JzsKICAgICAgICByZXR1cm47 +CiAgICB9CiAgICB2YXIgZGFyZkxvZXNjaGVuID0gZGFyZktvbW1lbnRhckxvZXNjaGVuKCk7CiAg +ICAvLyBOZXVlc3RlIG9iZW4g4oCUIFNlcnZlciBzcGVpY2hlcnQgY2hyb25vbG9naXNjaCAoYWx0 +IC0+IG5ldSksIHdpciBkcmVoZW4KICAgIC8vIGZ1ZXIgZGllIEFuemVpZ2UgdW0uIEl0ZXJhdGlv +biBydWVja3dhZXJ0cyBvaG5lIHJldmVyc2UoKSwgZGFtaXQgZGFzCiAgICAvLyBPcmlnaW5hbC1B +cnJheSBuaWNodCBtdXRpZXJ0IHdpcmQuCiAgICB2YXIgaHRtbCA9ICcnOwogICAgZm9yICh2YXIg +aSA9IGxpc3RlLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CiAgICAgICAgdmFyIGsgPSBsaXN0 +ZVtpXTsKICAgICAgICB2YXIgdGV4dCA9IGVzY2FwZUhUTUwoay50ZXh0IHx8ICcnKS5yZXBsYWNl +KC9cbi9nLCAnPGJyPicpOwogICAgICAgIHZhciBkdCA9ICcnOwogICAgICAgIGlmIChrLmdlYWVu +ZGVydEFtKSB7CiAgICAgICAgICAgIHZhciBkID0gbmV3IERhdGUoay5nZWFlbmRlcnRBbSk7CiAg +ICAgICAgICAgIGlmICghaXNOYU4oZC5nZXRUaW1lKCkpKSB7CiAgICAgICAgICAgICAgICB2YXIg +cGFkID0gZnVuY3Rpb24obikgeyByZXR1cm4gKG4gPCAxMCA/ICcwJyA6ICcnKSArIG47IH07CiAg +ICAgICAgICAgICAgICBkdCA9IHBhZChkLmdldERhdGUoKSkgKyAnLicgKyBwYWQoZC5nZXRNb250 +aCgpICsgMSkgKyAnLicgKyBkLmdldEZ1bGxZZWFyKCkgKwogICAgICAgICAgICAgICAgICAgICAn +ICcgKyBwYWQoZC5nZXRIb3VycygpKSArICc6JyArIHBhZChkLmdldE1pbnV0ZXMoKSk7CiAgICAg +ICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdmFyIHJvaCA9IGsuZ2VhZW5kZXJ0Vm9uIHx8ICcn +OwogICAgICAgIHZhciBuYW1lID0gcm9oID8gYW56ZWlnZU5hbWVGdWVyS2VubnVuZyhyb2gpIDog +Jyc7CiAgICAgICAgdmFyIHZlcmZhc3NlciA9IG5hbWUgJiYgbmFtZS50b0xvd2VyQ2FzZSgpICE9 +PSByb2gudG9Mb3dlckNhc2UoKS5zcGxpdCgnXFwnKS5wb3AoKSA/IG5hbWUgOiByb2g7CiAgICAg +ICAgdmFyIGxvZXNjaEJ0biA9IGRhcmZMb2VzY2hlbiAmJiBrLmlkICYmIGsuaWQuaW5kZXhPZign +a19sZWdhY3knKSAhPT0gMAogICAgICAgICAgICA/ICc8YnV0dG9uIGNsYXNzPSJla3YtbG9lc2No +ZW4iIHRpdGxlPSJEaWVzZW4gS29tbWVudGFyIGzDtnNjaGVuIiBkYXRhLWlkPSInICsgZXNjYXBl +QXR0cihrLmlkKSArICciPuKclTwvYnV0dG9uPicKICAgICAgICAgICAgOiAnJzsKICAgICAgICBo +dG1sICs9ICc8ZGl2IGNsYXNzPSJla3YtZWludHJhZyI+JyArCiAgICAgICAgICAgICAgICAgICAg +JzxkaXYgY2xhc3M9ImVrdi10ZXh0Ij4nICsgdGV4dCArICc8L2Rpdj4nICsKICAgICAgICAgICAg +ICAgICAgICAnPGRpdiBjbGFzcz0iZWt2LW1ldGEiPicgKwogICAgICAgICAgICAgICAgICAgICAg +ICAodmVyZmFzc2VyID8gJzxzcGFuIGNsYXNzPSJla3YtbWV0YS1hdXRvciI+JyArIGVzY2FwZUhU +TUwodmVyZmFzc2VyKSArICc8L3NwYW4+JyA6ICcnKSArCiAgICAgICAgICAgICAgICAgICAgICAg +ICh2ZXJmYXNzZXIgJiYgZHQgPyAnIMK3ICcgOiAnJykgKwogICAgICAgICAgICAgICAgICAgICAg +ICAoZHQgPyAnPHNwYW4gY2xhc3M9ImVrdi1tZXRhLXplaXQiPicgKyBlc2NhcGVIVE1MKGR0KSAr +ICc8L3NwYW4+JyA6ICcnKSArCiAgICAgICAgICAgICAgICAgICAgICAgIGxvZXNjaEJ0biArCiAg +ICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKwogICAgICAgICAgICAgICAgJzwvZGl2Pic7CiAg +ICB9CiAgICBlbC5pbm5lckhUTUwgPSBodG1sOwp9CgoKLy8gUnVoZXplaXRlbi1IZWxwZXIKCmV4 +cG9ydCBmdW5jdGlvbiBuYWNoYmFyRGF0dW0oZFN0ciwgb2Zmc2V0KSB7CiAgICB2YXIgZCA9IG5l +dyBEYXRlKGRTdHIgKyAnVDEyOjAwOjAwJyk7CiAgICBkLnNldERhdGUoZC5nZXREYXRlKCkgKyBv +ZmZzZXQpOwogICAgcmV0dXJuIGRhdHVtU3RyKGQpOwp9CgpleHBvcnQgZnVuY3Rpb24gc2NoaWNo +dFR5cCh3ZXJ0KSB7CiAgICBpZiAoIXdlcnQpIHJldHVybiBudWxsOwogICAgdmFyIGMgPSB3ZXJ0 +LmNoYXJBdCgwKTsKICAgIGlmIChjID09PSAnRicgfHwgYyA9PT0gJ1MnIHx8IGMgPT09ICdOJykg +ewogICAgICAgIGlmICh3ZXJ0LmluZGV4T2YoJ0RHTCcpICE9PSAtMSB8fCB3ZXJ0LmluZGV4T2Yo +J1dERicpICE9PSAtMSB8fCB3ZXJ0LmluZGV4T2YoJ0ZCUCcpICE9PSAtMSkgcmV0dXJuIGM7CiAg +ICB9CiAgICByZXR1cm4gbnVsbDsKfQoKLy8gSGlsZnNmb3JtYXR0ZXI6IFN0dW5kZW4tWmFobCBp +biBISDpNTS4gJSAyNCBmdWVyIE5hY2h0c2NoaWNodGVuLAovLyBkZXJlbiBlbmRlID4gMjQgKHou +Qi4gMDYgKyAyNCA9IDMwIGZ1ZXIgImVuZGV0IGFtIEZvbGdldGFnIDA2OjAwIikuCmZ1bmN0aW9u +IF9oaG1tKGgpIHsKICAgIHZhciBuID0gKChoICUgMjQpICsgMjQpICUgMjQ7CiAgICB2YXIgaGgg +PSBNYXRoLmZsb29yKG4pOwogICAgdmFyIG1tID0gTWF0aC5yb3VuZCgobiAtIGhoKSAqIDYwKTsK +ICAgIHJldHVybiAoaGggPCAxMCA/ICcwJyA6ICcnKSArIGhoICsgJzonICsgKG1tIDwgMTAgPyAn +MCcgOiAnJykgKyBtbTsKfQoKZXhwb3J0IGZ1bmN0aW9uIHJ1aGV6ZWl0UHJ1ZWZlbihkYXR1bSwg +cGlkLCBuZXVlcldlcnQpIHsKICAgIHZhciBuZXVlclR5cCA9IHNjaGljaHRUeXAobmV1ZXJXZXJ0 +KTsKICAgIGlmICghbmV1ZXJUeXApIHJldHVybiBudWxsOwogICAgdmFyIG5ldWVaZWl0ID0gc2No +aWNodFplaXRlbltuZXVlclR5cF07CiAgICB2YXIgd2FybnVuZ2VuID0gW107CgogICAgLy8gVm9y +dGFnIHByw7xmZW46IEVuZGUgVm9ydGFnIOKGkiBTdGFydCBuZXVlciBTY2hpY2h0CiAgICAvLyBV +WC1BdWRpdCBTcHJpbnQgMi43ICgyMDI2LTA1LTI5KTogV2FybnVuZyBlbnRoYWVsdCBqZXR6dCBk +aWUga29ua3JldGVuCiAgICAvLyBVaHJ6ZWl0ZW4gKEVuZHplaXQgVm9ydGFnICsgU3RhcnR6ZWl0 +IGFrdHVlbGxlIFNjaGljaHQpLCBkYW1pdCBkZXIgVXNlcgogICAgLy8gZGlyZWt0IHZlcnN0ZWh0 +IFdPIGRhcyBEZWZpeml0IGxpZWd0IOKAlCBuaWNodCBudXIgZGllIFN0dW5kZW4tWmFobC4KICAg +IHZhciB2b3J0YWcgPSBuYWNoYmFyRGF0dW0oZGF0dW0sIC0xKTsKICAgIHZhciB2b3JXZXJ0ID0g +KChaLnBsYW51bmcuZWludHJhZWdlIHx8IHt9KVt2b3J0YWddIHx8IHt9KVtwaWRdIHx8ICcnOwog +ICAgdmFyIHZvclR5cCA9IHNjaGljaHRUeXAodm9yV2VydCk7CiAgICBpZiAodm9yVHlwKSB7CiAg +ICAgICAgdmFyIHZvclplaXQgPSBzY2hpY2h0WmVpdGVuW3ZvclR5cF07CiAgICAgICAgdmFyIHJ1 +aGUgPSAobmV1ZVplaXQuc3RhcnQgKyAyNCkgLSB2b3JaZWl0LmVuZGU7CiAgICAgICAgaWYgKHJ1 +aGUgPCAxMSkgewogICAgICAgICAgICB3YXJudW5nZW4ucHVzaCgnTnVyICcgKyBydWhlICsgJ2gg +UnVoZXplaXQ6ICcgKyB2b3JXZXJ0ICsgJyBlbmRldCAnICsgX2hobW0odm9yWmVpdC5lbmRlKSAr +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICcg4oaSIG5ldWUgU2NoaWNodCBzdGFydGV0ICcg +KyBfaGhtbShuZXVlWmVpdC5zdGFydCkgKyAnIChtaW4uIDExaCknKTsKICAgICAgICB9CiAgICB9 +CgogICAgLy8gRm9sZ2V0YWcgcHLDvGZlbjogRW5kZSBuZXVlIFNjaGljaHQg4oaSIFN0YXJ0IEZv +bGdldGFnCiAgICB2YXIgZm9sZ2V0YWcgPSBuYWNoYmFyRGF0dW0oZGF0dW0sIDEpOwogICAgdmFy +IGZvbGdlV2VydCA9ICgoWi5wbGFudW5nLmVpbnRyYWVnZSB8fCB7fSlbZm9sZ2V0YWddIHx8IHt9 +KVtwaWRdIHx8ICcnOwogICAgdmFyIGZvbGdlVHlwID0gc2NoaWNodFR5cChmb2xnZVdlcnQpOwog +ICAgaWYgKGZvbGdlVHlwKSB7CiAgICAgICAgdmFyIGZvbGdlWmVpdCA9IHNjaGljaHRaZWl0ZW5b +Zm9sZ2VUeXBdOwogICAgICAgIHZhciBydWhlRm9sZ2UgPSAoZm9sZ2VaZWl0LnN0YXJ0ICsgMjQp +IC0gbmV1ZVplaXQuZW5kZTsKICAgICAgICBpZiAocnVoZUZvbGdlIDwgMTEpIHsKICAgICAgICAg +ICAgd2FybnVuZ2VuLnB1c2goJ051ciAnICsgcnVoZUZvbGdlICsgJ2ggUnVoZXplaXQ6IG5ldWUg +U2NoaWNodCBlbmRldCAnICsgX2hobW0obmV1ZVplaXQuZW5kZSkgKwogICAgICAgICAgICAgICAg +ICAgICAgICAgICAnIOKGkiAnICsgZm9sZ2VXZXJ0ICsgJyBhbSBGb2xnZXRhZyBzdGFydGV0ICcg +KyBfaGhtbShmb2xnZVplaXQuc3RhcnQpICsgJyAobWluLiAxMWgpJyk7CiAgICAgICAgfQogICAg +fQoKICAgIHJldHVybiB3YXJudW5nZW4ubGVuZ3RoID4gMCA/IHdhcm51bmdlbiA6IG51bGw7Cn0K +CmV4cG9ydCBmdW5jdGlvbiBlZGl0b3JPZWZmbmVuKHplbGxlLCBzb25kZXJPaywgZnJlbWRPaykg +ewogICAgdmFyIGRhdHVtID0gemVsbGUuZ2V0QXR0cmlidXRlKCdkYXRhLWRhdHVtJyk7CiAgICB2 +YXIgcGlkID0gemVsbGUuZ2V0QXR0cmlidXRlKCdkYXRhLXBlcnNvbicpOwogICAgaWYgKCFkYXR1 +bSB8fCAhcGlkKSByZXR1cm47CgogICAgLy8gU2Nob24gb2ZmZW4gZnVlciBnZW5hdSBkaWVzZSBa +ZWxsZT8gTmljaHRzIHR1biAoRG9wcGVsLUFjcXVpcmUgdmVybWVpZGVuKS4KICAgIGlmIChlZGl0 +b3IuYWt0aXYgJiYgZWRpdG9yLmRhdHVtID09PSBkYXR1bSAmJiBTdHJpbmcoZWRpdG9yLnBlcnNv +bklkKSA9PT0gU3RyaW5nKHBpZCkpIHJldHVybjsKICAgIC8vIEVkaXRvciBmdWVyIGVpbmUgQU5E +RVJFIFplbGxlIG9mZmVuPyBFcnN0IHNhdWJlciBzY2hsaWVzc2VuICsgYWx0ZW4gTG9jawogICAg +Ly8gZnJlaWdlYmVuLCBCRVZPUiB3aXIgZGllIG5ldWUgWmVsbGUgc3BlcnJlbi4gU29uc3Qgd2ly +ZCBaLnplbGxMb2NrLnRva2VuCiAgICAvLyB1ZWJlcnNjaHJpZWJlbiB1bmQgZGVyIGFsdGUgU2Vy +dmVyLUxvY2sgYmxlaWJ0IGFscyBHZWlzdGVyLVNwZXJyZSBoYWVuZ2VuCiAgICAvLyAoZGVyIEhh +dXB0Z3J1bmQgZnVlciAiU2FiaW5lIHNhaCA1IGdlc3BlcnJ0ZSBaZWxsZW4sIGRpZSBuaWUgZnJl +aWdlZ2ViZW4KICAgIC8vIHd1cmRlbiIpLiBOdXIgYmVpIHNvbmRlck9rL2ZyZW1kT2stUmVrdXJz +aW9uIGlzdCBkZXIgRWRpdG9yIG9obmVoaW4genUuCiAgICBpZiAoZWRpdG9yLmFrdGl2KSBlZGl0 +b3JTY2hsaWVzc2VuKCk7CgogICAgLy8gVW1nZXNldHp0ZSBQZXJzb25lbiBzaW5kIG51ciB6dXIg +UmVjaGVyY2hlIGVpbmdlYmxlbmRldCDigJQgbmljaHQgZWRpdGllcmVuCiAgICB2YXIgemVsbGVw +ZXJzb24gPSAoWi5wbGFudW5nLnBlcnNvbmVuIHx8IFtdKS5maW5kKGZ1bmN0aW9uKHApIHsgcmV0 +dXJuIFN0cmluZyhwLmlkKSA9PT0gU3RyaW5nKHBpZCk7IH0pOwogICAgaWYgKHplbGxlcGVyc29u +ICYmICF6ZWxsZXBlcnNvbi5ha3RpdikgewogICAgICAgIHRvYXN0KCdVbWdlc2V0enRlIFBlcnNv +biDigJQgbnVyIHp1ciBSZWNoZXJjaGUsIG5pY2h0IGVkaXRpZXJiYXInLCAnd2FybnVuZycpOwog +ICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBSZWNodGUtUHJ1ZWZ1bmc6IGVpZ2VuZSBaZWls +ZSArIGtvbmZpZ3VyaWVydGUgUmVjaHRlLCBTdXBlclVzZXIgaW1tZXIuCiAgICAvLyBHZXNwZXJy +dGUgWmVsbGVuIHNpbmQgaW0gR3JpZCBzY2hvbiB2aXN1ZWxsIG1hcmtpZXJ0IChncmlkLXplbGxl +LWdlc3BlcnJ0KS4KICAgIGlmICghZGFyZlplbGxlRWRpdGllcmVuKHBpZCkpIHsKICAgICAgICB0 +b2FzdCgnS2VpbmUgQmVyZWNodGlndW5nLCBkaWVzZSBaZWxsZSB6dSBiZWFyYmVpdGVuJywgJ3dh +cm51bmcnKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgLy8gU29uZGVydGVybWluLVdhcm5o +aW53ZWlzIHZvciBQbGFudW5nCiAgICBpZiAoIXNvbmRlck9rICYmIGVkaXRvckhvb2tzLnNvbmRl +ckZ1ZXJEYXR1bSAmJiBlZGl0b3JIb29rcy5zb25kZXJXYXJuTW9kYWxaZWlnZW4pIHsKICAgICAg +ICB2YXIgc29uZGVyID0gZWRpdG9ySG9va3Muc29uZGVyRnVlckRhdHVtKGRhdHVtKTsKICAgICAg +ICBpZiAoc29uZGVyICYmIChzb25kZXIud2Fybk1vZHVzIHx8ICdpbW1lcicpICE9PSAnYXVzJykg +ewogICAgICAgICAgICB2YXIgd20gPSBzb25kZXIud2Fybk1vZHVzIHx8ICdpbW1lcic7CiAgICAg +ICAgICAgIC8vIEVpbm1hbGlnOiBwcm8gVGVybWluLUlEIChaZWl0cmF1bS1UZXJtaW4gbmljaHQg +amVkZW4gVGFnIGVybmV1dCB3YXJuZW4pCiAgICAgICAgICAgIHZhciBrZXkgPSAnc29uZGVyX3Nl +ZW5fJyArIChzb25kZXIuaWQgfHwgc29uZGVyLmRhdHVtKSArICdfJyArIChaLmJlbnV0emVyIHx8 +ICcnKTsKICAgICAgICAgICAgdmFyIGVpbm1hbEdlc2VoZW4gPSB3bSA9PT0gJ2Vpbm1hbGlnJyAm +JiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpOwogICAgICAgICAgICBpZiAoIWVpbm1hbEdlc2Vo +ZW4pIHsKICAgICAgICAgICAgICAgIGVkaXRvckhvb2tzLnNvbmRlcldhcm5Nb2RhbFplaWdlbihz +b25kZXIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGlmICh3bSA9PT0gJ2Vpbm1h +bGlnJykgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCAnMScpOwogICAgICAgICAgICAgICAgICAg +IGVkaXRvck9lZmZuZW4oemVsbGUsIHRydWUsIGZyZW1kT2spOwogICAgICAgICAgICAgICAgfSk7 +CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cgog +ICAgLy8gV2FybnVuZyB3ZW5uIG1hbiBkaWUgU2NoaWNodCBlaW5lciBhbmRlcmVuIFBlcnNvbiDD +pG5kZXJ0CiAgICBpZiAoIWZyZW1kT2sgJiYgZWRpdG9ySG9va3MuZmVhdHVyZUlzdEFrdGl2ICYm +IGVkaXRvckhvb2tzLmZlYXR1cmVJc3RBa3RpdignZnJlbWRBZW5kZXJ1bmdXYXJudW5nJykgJiYg +Wi5tZWluZVBlcnNvbklkICYmIHBpZCAhPT0gWi5tZWluZVBlcnNvbklkKSB7CiAgICAgICAgdmFy +IHBlcnNvbiA9IFoucGVyc29uZW4uZmluZChmdW5jdGlvbihwKSB7IHJldHVybiBTdHJpbmcocC5p +ZCkgPT09IHBpZDsgfSk7CiAgICAgICAgdmFyIGFuemVpZ2VOYW1lID0gcGVyc29uID8gKChwZXJz +b24udm9ybmFtZSA/IHBlcnNvbi52b3JuYW1lICsgJyAnIDogJycpICsgcGVyc29uLm5hbWUpIDog +J1BlcnNvbiAnICsgcGlkOwogICAgICAgIGJlc3RhZXRpZ2VuKCdEdSDDpG5kZXJzdCBnZXJhZGUg +ZGllIFNjaGljaHQgdm9uICcgKyBhbnplaWdlTmFtZSArICcuXG5CaXN0IGR1IGRpciBzaWNoZXI/ +JywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGVkaXRvck9lZmZuZW4oemVsbGUsIHRydWUsIHRy +dWUpOwogICAgICAgIH0sIHsgdGl0ZWw6ICdGcmVtZC3DhG5kZXJ1bmcnLCBqYVRleHQ6ICdUcm90 +emRlbSDDpG5kZXJuJyB9KTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgLy8gUGVzc2ltaXN0 +aWMgTG9jayBhbmZvcmRlcm4sIGJldm9yIGRlciBFZGl0b3Igc2ljaHRiYXIgd2lyZC4KICAgIC8v +IDIwMCAtPiBUb2tlbiBtZXJrZW4sIEhlYXJ0YmVhdCBzdGFydGVuLCB3ZWl0ZXIgdW50ZW4gb2Vm +Zm5lbi4KICAgIC8vIDQyMyArIG5pY2h0LWthbm5Gb3JjZSAtPiBFZGl0b3IgYmxlaWJ0IHp1LCBU +b2FzdC4KICAgIC8vIDQyMyArIGthbm5Gb3JjZSAtPiBCZXN0YWV0aWd1bmdzLU1vZGFsICJFZGl0 +LUxvY2sgdWViZXJuZWhtZW4/Ii4KICAgIGxvY2taZWxsZUFjcXVpcmUoZGF0dW0sIHBpZCkudGhl +bihmdW5jdGlvbihyZXMpIHsKICAgICAgICBpZiAocmVzLnN0YXR1cyA9PT0gMjAwICYmIHJlcy5i +b2R5ICYmIHJlcy5ib2R5LnRva2VuKSB7CiAgICAgICAgICAgIFouemVsbExvY2sudG9rZW4gPSBy +ZXMuYm9keS50b2tlbjsKICAgICAgICAgICAgWi56ZWxsTG9jay5kYXR1bSA9IGRhdHVtOwogICAg +ICAgICAgICBaLnplbGxMb2NrLnBlcnNvbklkID0gcGlkOwogICAgICAgICAgICBsb2NrSGVhcnRi +ZWF0U3RhcnRlbihyZXMuYm9keS50b2tlbik7CiAgICAgICAgICAgIGVkaXRvclZpc3VlbGxPZWZm +bmVuKHplbGxlLCBkYXR1bSwgcGlkKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAg +ICAgICBpZiAocmVzLnN0YXR1cyA9PT0gNDIzICYmIHJlcy5ib2R5KSB7CiAgICAgICAgICAgIHZh +ciBiID0gcmVzLmJvZHk7CiAgICAgICAgICAgIGlmIChiLmthbm5Gb3JjZSkgewogICAgICAgICAg +ICAgICAgYmVzdGFldGlnZW4oCiAgICAgICAgICAgICAgICAgICAgKGIuc3BlcnJlciB8fCAnSmVt +YW5kJykgKyAnIGJlYXJiZWl0ZXQgZGllc2UgWmVsbGUgZ2VyYWRlLlxuRWRpdC1Mb2NrIHVlYmVy +bmVobWVuPycsCiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAg +ICAgICAgICAgIGxvY2taZWxsZUZvcmNlKGRhdHVtLCBwaWQpLnRoZW4oZnVuY3Rpb24ocjIpIHsK +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyMi5zdGF0dXMgPT09IDIwMCAmJiByMi5i +b2R5ICYmIHIyLmJvZHkudG9rZW4pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBa +LnplbGxMb2NrLnRva2VuID0gcjIuYm9keS50b2tlbjsKICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICBaLnplbGxMb2NrLmRhdHVtID0gZGF0dW07CiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgWi56ZWxsTG9jay5wZXJzb25JZCA9IHBpZDsKICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICBsb2NrSGVhcnRiZWF0U3RhcnRlbihyMi5ib2R5LnRva2VuKTsKICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3JWaXN1ZWxsT2VmZm5lbih6ZWxsZSwgZGF0dW0s +IHBpZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIHRvYXN0KCdGb3JjZS1Mb2NrIGZlaGxnZXNjaGxhZ2VuLicsICdm +ZWhsZXInKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg +ICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7IHRp +dGVsOiAnRWRpdC1Mb2NrIHVlYmVybmVobWVuJywgamFUZXh0OiAnw5xiZXJuZWhtZW4nIH0KICAg +ICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0b2Fz +dChiLm1lbGR1bmcgfHwgJ1dpcmQgZ2VyYWRlIGJlYXJiZWl0ZXQuJywgJ3dhcm51bmcnKTsKICAg +ICAgICAgICAgfQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHRvYXN0KCdM +b2NrLUFuZm9yZGVydW5nIGZlaGxnZXNjaGxhZ2VuLicsICdmZWhsZXInKTsKICAgIH0pOwp9Cgov +LyBFaWdlbnRsaWNoZXMgdmlzdWVsbGVzIE9lZmZuZW4g4oCUIGdldHJlbm50IHZvbiBlZGl0b3JP +ZWZmbmVuLCBkYW1pdCBkZXIKLy8gTG9jay1BY3F1aXJlLUZsb3cgb2JlbiBkZW4gcmVzdGxpY2hl +biBDb2RlIGxhenkgYXVmcnVmZW4ga2Fubi4KZnVuY3Rpb24gZWRpdG9yVmlzdWVsbE9lZmZuZW4o +emVsbGUsIGRhdHVtLCBwaWQpIHsKICAgIGVkaXRvci5ha3RpdiA9IHRydWU7IGVkaXRvci5kYXR1 +bSA9IGRhdHVtOyBlZGl0b3IucGVyc29uSWQgPSBwaWQ7CgogICAgdmFyIGVsID0gZG9jdW1lbnQu +Z2V0RWxlbWVudEJ5SWQoJ3plbGwtZWRpdG9yJyk7CiAgICB2YXIgc2VsID0gZG9jdW1lbnQuZ2V0 +RWxlbWVudEJ5SWQoJ2VkaXRvci1hdXN3YWhsJyk7CiAgICAvLyBJc3QtV2VydCBhdXMgZGVtIFN0 +YXRlIGxlc2VuLCBOSUNIVCBhdXMgemVsbGUudGl0bGU6IGRlciBUaXRlbCBrYW5uIGVpbgogICAg +Ly8gQW56ZWlnZS1TdWZmaXggdHJhZ2VuICh6LkIuICIgW1ZFUkFOVFdPUlRMSUNIXSIgYmVpbSAx +LiB2ZXJhbnR3b3J0bGljaGVuCiAgICAvLyBER0wpLCB3b2R1cmNoIGtlaW4gPG9wdGlvbj4gbWF0 +Y2h0ZSB1bmQgZGFzIERyb3Bkb3duIGZhZWxzY2hsaWNoIGF1ZgogICAgLy8gIihsZWVyKSIgc3Rh +bmQg4oCUIGdlbmF1IGJlaSBkZXIgaGFldWZpZ3N0ZW4gREdMLVplbGxlLgogICAgdmFyIGFrdFdl +cnQgPSAoWi5wbGFudW5nICYmIFoucGxhbnVuZy5laW50cmFlZ2UgJiYgWi5wbGFudW5nLmVpbnRy +YWVnZVtkYXR1bV0gJiYgWi5wbGFudW5nLmVpbnRyYWVnZVtkYXR1bV1bcGlkXSkgfHwgJyc7Cgog +ICAgdmFyIGh0bWwgPSAnPG9wdGlvbiB2YWx1ZT0iIj4obGVlcik8L29wdGlvbj4nOwogICAgLy8g +TnVyIGFrdGl2ZSBDb2RlcyB6dXIgTmV1LUVpbmdhYmUgYW5iaWV0ZW4uIERlciBha3R1ZWxsIGdl +c2V0enRlIFdlcnQKICAgIC8vIHdpcmQgYXVjaCBkYW5uIGdlemVpZ3Qgd2VubiBzZWluIENvZGUg +aW56d2lzY2hlbiBkZWFrdGl2aWVydCB3dXJkZQogICAgLy8gKHNvbnN0IGdpbmdlIGRpZSBJbmZv +IGluIGRlciBaZWxsZSB2ZXJsb3JlbikuCiAgICAoWi5hZG1pbi5zY2hpY2h0Y29kZXMgfHwgW10p +LmZvckVhY2goZnVuY3Rpb24oc2MpIHsKICAgICAgICB2YXIgYWt0aXYgPSAhZWRpdG9ySG9va3Mu +aXN0Q29kZUFrdGl2IHx8IGVkaXRvckhvb2tzLmlzdENvZGVBa3RpdihzYyk7CiAgICAgICAgaWYg +KCFha3RpdiAmJiBzYy5jb2RlICE9PSBha3RXZXJ0KSByZXR1cm47CiAgICAgICAgdmFyIHMgPSBh +a3RXZXJ0ID09PSBzYy5jb2RlID8gJyBzZWxlY3RlZCcgOiAnJzsKICAgICAgICB2YXIgc3VmZml4 +ID0gIWFrdGl2ID8gJyAoaW5ha3RpdiknIDogJyc7CiAgICAgICAgaHRtbCArPSAnPG9wdGlvbiB2 +YWx1ZT0iJyArIGVzY2FwZUF0dHIoc2MuY29kZSkgKyAnIicgKyBzICsgJz4nICsgZXNjYXBlSFRN +TChzYy5jb2RlKSArICcg4oCUICcgKyBlc2NhcGVIVE1MKHNjLmJlemVpY2hudW5nKSArIHN1ZmZp +eCArICc8L29wdGlvbj4nOwogICAgfSk7CiAgICBzZWwuaW5uZXJIVE1MID0gaHRtbDsKCiAgICAv +LyBLb21tZW50YXItVmVybGF1ZiByZW5kZXJuLCBFaW5nYWJlZmVsZCBpbW1lciBsZWVyIChqZWRl +IEVpbmdhYmUgaGFlbmd0CiAgICAvLyBlaW5lbiBuZXVlbiBLb21tZW50YXIgYW4gZGllIExpc3Rl +IGFuIHN0YXR0IHp1IHVlYmVyc2NocmVpYmVuKS4KICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk +KCdlZGl0b3Ita29tbWVudGFyLWlucHV0JykudmFsdWUgPSAnJzsKICAgIGVkaXRvcktvbW1lbnRh +clZlcmxhdWZSZW5kZXJuKCk7CgogICAgLy8gRXhjZWwtYWVobmxpY2ggZGlyZWt0IFJFQ0hUUyBu +ZWJlbiBkZXIgWmVsbGUsIG9iZW4gYnVlbmRpZy4gI3plbGwtZWRpdG9yCiAgICAvLyBpc3QgcG9z +aXRpb246Zml4ZWQgLT4gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCktVmlld3BvcnQtS29vcmRpbmF0 +ZW4gcGFzc2VuCiAgICAvLyAxOjEgKGZydWVoZXIgcG9zaXRpb246YWJzb2x1dGUgLT4gZGVyIE9m +ZnNldC1QYXJlbnQgdW50ZXIgZGVyIEtvcGZsZWlzdGUKICAgIC8vIHNjaG9iIGRlbiBFZGl0b3Ig +fjIgWmVsbGVuIHp1IHRpZWYpLiBHcm9iZSBFZGl0b3ItTWFzc2UgZnVlciBkYXMKICAgIC8vIFZp +ZXdwb3J0LUNsYW1waW5nOyB3ZW5uIHJlY2h0cyBrZWluIFBsYXR6IGlzdCwgbmFjaCBsaW5rcyBr +bGFwcGVuLgogICAgdmFyIEVXID0gMjUwLCBFSCA9IDMyMDsKICAgIHZhciByZWN0ID0gemVsbGUu +Z2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICB2YXIgbGVmdCA9IHJlY3QucmlnaHQgKyAyOwog +ICAgaWYgKGxlZnQgKyBFVyA+IHdpbmRvdy5pbm5lcldpZHRoIC0gNCkgbGVmdCA9IE1hdGgubWF4 +KDQsIHJlY3QubGVmdCAtIEVXIC0gMik7CiAgICB2YXIgdG9wID0gcmVjdC50b3A7CiAgICBpZiAo +dG9wICsgRUggPiB3aW5kb3cuaW5uZXJIZWlnaHQgLSA0KSB0b3AgPSBNYXRoLm1heCg0LCB3aW5k +b3cuaW5uZXJIZWlnaHQgLSBFSCAtIDQpOwogICAgZWwuc3R5bGUubGVmdCA9IGxlZnQgKyAncHgn +OwogICAgZWwuc3R5bGUudG9wID0gdG9wICsgJ3B4JzsKICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUo +J3ZlcnN0ZWNrdCcpOwogICAgc2VsLmZvY3VzKCk7Cn0KCmV4cG9ydCBmdW5jdGlvbiBlZGl0b3JT +Y2hsaWVzc2VuKG9obmVSZWxlYXNlKSB7CiAgICBlZGl0b3IuYWt0aXYgPSBmYWxzZTsKICAgIGRv +Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd6ZWxsLWVkaXRvcicpLmNsYXNzTGlzdC5hZGQoJ3ZlcnN0 +ZWNrdCcpOwogICAgbG9ja0hlYXJ0YmVhdFN0b3BwZW4oKTsKICAgIC8vIG9obmVSZWxlYXNlPXRy +dWUgd2VubiBkZXIgU2VydmVyIHVucyBtaXRnZXRlaWx0IGhhdCwgZGFzcyB1bnNlciBMb2NrCiAg +ICAvLyBzY2hvbiB3ZWcgaXN0ICh6LkIuIEZhY2hhdWZzaWNodCBoYXQgcGVyIEZvcmNlIHVlYmVy +bm9tbWVuKS4KICAgIGlmICghb2huZVJlbGVhc2UgJiYgWi56ZWxsTG9jayAmJiBaLnplbGxMb2Nr +LnRva2VuKSB7CiAgICAgICAgbG9ja1plbGxlUmVsZWFzZShaLnplbGxMb2NrLnRva2VuKTsKICAg +IH0KICAgIFouemVsbExvY2sudG9rZW4gPSBudWxsOwogICAgWi56ZWxsTG9jay5kYXR1bSA9ICcn +OwogICAgWi56ZWxsTG9jay5wZXJzb25JZCA9ICcnOwp9CgpleHBvcnQgZnVuY3Rpb24gZWRpdG9y +QXVzd2FobCh3ZXJ0KSB7CiAgICBpZiAoIWVkaXRvci5ha3RpdikgcmV0dXJuOwogICAgdmFyIGRh +dHVtID0gZWRpdG9yLmRhdHVtLCBwaWQgPSBlZGl0b3IucGVyc29uSWQ7CiAgICAvLyBRdWl0dGll +cnRlIEZ1ZWhydW5nc2tyYWZ0LVVudGVyYmVzZXR6dW5nIHdpcmQgYmVpbSBTcGVpY2hlcm4gc2Vy +dmVyc2VpdGlnIG1pdHByb3Rva29sbGllcnQKICAgIHZhciB1bnRlcmJlc2V0enVuZ1NjaGljaHQg +PSBudWxsOwoKICAgIGZ1bmN0aW9uIGZvcnRzZXR6ZW4oKSB7CiAgICAgICAgZWRpdG9yU2NobGll +c3NlbigpOwoKICAgICAgICBpZiAoIVoucGxhbnVuZy5laW50cmFlZ2UpIFoucGxhbnVuZy5laW50 +cmFlZ2UgPSB7fTsKICAgICAgICBpZiAoIVoucGxhbnVuZy5laW50cmFlZ2VbZGF0dW1dKSBaLnBs +YW51bmcuZWludHJhZWdlW2RhdHVtXSA9IHt9OwogICAgICAgIC8vIFdlcnQgbWVya2VuIGRlbiBk +ZXIgQ2xpZW50IGFscyAiYWx0IiBhbm5pbW10IOKAlCBmdWVyIE9wdGltaXN0aWMtQ29uY3VycmVu +Y3kKICAgICAgICB2YXIgZXJ3YXJ0ZXQgPSBaLnBsYW51bmcuZWludHJhZWdlW2RhdHVtXVtwaWRd +IHx8ICcnOwoKICAgICAgICAvLyBTbmFwc2hvdCBkZXIgYWt0aXZlbiBGdWVocnVuZyAoVG9wLTIg +REdMcykgcHJvIGJldHJvZmZlbmVyIFNjaGljaHQKICAgICAgICAvLyBWT1IgZGVyIG9wdGltaXN0 +aXNjaGVuIFVlYmVyc2NocmVpYnVuZy4gTmFjaCBlcmZvbGdyZWljaGVtIFNwZWljaGVybgogICAg +ICAgIC8vIHZlcmdsZWljaGVuIHdpciwgd2VyIG5ldSBpbiBkaWUgVG9wLTIgYXVmcnVlY2t0IOKA +lCBwcm8gQXVmcnVlY2tlcgogICAgICAgIC8vIGdyZWlmdCBkZXIgVmVyYW50d29ydHVuZ3MtVWVi +ZXJnYW5nLURpYWxvZyAoMTQtVGFnZS1GZW5zdGVyKS4KICAgICAgICB2YXIgc0FsdCA9IGZ1ZWhy +dW5nc1NjaGljaHQoZXJ3YXJ0ZXQpOwogICAgICAgIHZhciBzTmV1ID0gZnVlaHJ1bmdzU2NoaWNo +dCh3ZXJ0KTsKICAgICAgICB2YXIgZnVlaHJ1bmdWb3JoZXIgPSB7fTsKICAgICAgICBpZiAoc0Fs +dCkgICAgICAgICAgICAgICAgICBmdWVocnVuZ1ZvcmhlcltzQWx0XSA9IGFrdGl2ZUZ1ZWhydW5n +KGRhdHVtLCBzQWx0KTsKICAgICAgICBpZiAoc05ldSAmJiBzTmV1ICE9PSBzQWx0KSBmdWVocnVu +Z1ZvcmhlcltzTmV1XSA9IGFrdGl2ZUZ1ZWhydW5nKGRhdHVtLCBzTmV1KTsKCiAgICAgICAgaWYg +KHdlcnQpIFoucGxhbnVuZy5laW50cmFlZ2VbZGF0dW1dW3BpZF0gPSB3ZXJ0OwogICAgICAgIGVs +c2UgZGVsZXRlIFoucGxhbnVuZy5laW50cmFlZ2VbZGF0dW1dW3BpZF07CgogICAgICAgIHplbGxl +VmlzdWVsbEFrdHVhbGlzaWVyZW4oZGF0dW0sIHBpZCwgd2VydCk7CgogICAgICAgIC8vIE9wdGlt +aXN0aXNjaCBzb2ZvcnQgZGVuIEZ1ZWxsLUdyaWZmIGFuemVpZ2VuIOKAlCBuaWNodCBlcnN0IG5h +Y2gKICAgICAgICAvLyBTZXJ2ZXItQW50d29ydC4gQXVmIGxhbmdzYW1lbiBOZXR6d2Vyay1TaGFy +ZXMgc3BhcnQgZGFzIHNwdWVyYmFyCiAgICAgICAgLy8gd2Focmdlbm9tbWVuZSBMYXRlbnouIEJl +aSBTZXJ2ZXItRmVobGVyL0tvbmZsaWt0IGJsZW5kZW4gd2lyIGRlbgogICAgICAgIC8vIEdyaWZm +IGluIGRlbiBqZXdlaWxpZ2VuIFp3ZWlnIHdpZWRlciBhdXMgKHNpZWhlIHVudGVuKS4KICAgICAg +ICBmdWVsbEhhbmRsZVplaWdlbih7IGRhdHVtOiBkYXR1bSwgcGlkOiBwaWQsIHdlcnQ6IHdlcnQg +fSk7CgogICAgICAgIC8vIFZPUlpJRUhFTiB2b3IgZGFzIGZldGNoOiBWZXJhbnR3b3J0dW5ncy1V +ZWJlcmdhbmctTW9kYWwgc29mb3J0CiAgICAgICAgLy8gemVpZ2VuLCBzb2JhbGQgZGllIG9wdGlt +aXN0aXNjaGUgQWVuZGVydW5nIGluIFoucGxhbnVuZy5laW50cmFlZ2UKICAgICAgICAvLyBzdGVo +dC4gQXVmIGRlbSBCZWhvZXJkZW4tUEMgKGk1LTg1MDAsIE9mZmljZSBpbSBIaW50ZXJncnVuZCkK +ICAgICAgICAvLyBzaW5kIGRpZSAxMDAtNTAwIG1zIFNlcnZlci1Sb3VuZHRyaXAgZGVyIGdyb2Vz +c3RlIHZlcmJsZWliZW5kZQogICAgICAgIC8vIExhZy1GYWt0b3Ig4oCUIGRlciBVc2VyIHNvbGwg +ZGllIEtvbnNlcXVlbnogc2VpbmVyIEFrdGlvbiBkaXJla3QKICAgICAgICAvLyBzZWhlbiwgbmlj +aHQgZXJzdCBuYWNoIGRlbSBOZXR6d2Vyay1Ib3AuIEJlaSA0MDkvRXJyb3Igcm9sbGVuCiAgICAg +ICAgLy8gd2lyIGRlbiBNb2RhbCB1bnRlbiB6dXNhbW1lbiBtaXQgZGVyIEFlbmRlcnVuZyB6dXJ1 +ZWNrLgogICAgICAgIHZhciBvcHRpbWlzdGlzY2hlck1vZGFsR2V6ZWlndCA9IGZhbHNlOwogICAg +ICAgIC8vICJFaW5nZXNwcnVuZ2VuIi1TdGF0aXN0aWstRXZlbnRzIHdlcmRlbiBoaWVyIG51ciBH +RVNBTU1FTFQgdW5kIGVyc3QKICAgICAgICAvLyBpbSBFcmZvbGdzLVp3ZWlnIGRlcyBaZWxsLVBl +cnNpc3RzIGFiZ2VzZXR6dC4gRnJ1ZWhlciBmZXVlcnRlbiBzaWUKICAgICAgICAvLyBWT1IgZGVt +IGZldGNoIOKAlCBiZWkgZWluZW0gNDA5IChLb25mbGlrdC9VbnRlcmJlc2V0enVuZykgd3VyZGUg +ZGllCiAgICAgICAgLy8gWmVsbGUgenVydWVja2dlcm9sbHQsIGRhcyBMb2didWNoLUV2ZW50ICJh +dWZnZXJ1ZWNrdCIgYmxpZWIgYWJlcgogICAgICAgIC8vIHN0ZWhlbiB1bmQgZGllIFN0YXRpc3Rp +ayB6YWVobHRlIGVpbmVuIEVpbnNwcmluZ2VyLCBkZW4gZXMgbmllIGdhYi4KICAgICAgICB2YXIg +YXVmcnVlY2tlckV2ZW50cyA9IFtdOwogICAgICAgIC8vIFZlcmFudHdvcnR1bmdzLUJlbmFjaHJp +Y2h0aWd1bmdlbiB3ZXJkZW4genUgRUlORVIgU2FtbWVsLU1haWwKICAgICAgICAvLyBnZWJ1ZW5k +ZWx0OiBlaW4gRGlhbG9nLCBlaW5lIE1haWwgYW4gQUxMRSBCZXRyb2ZmZW5lbiAoQXVmcnVlY2tl +cgogICAgICAgIC8vIGF1c3NlciBTZWxic3RwbGFuZXIgKyBWZXJkcmFlbmd0ZSkuIEZydWVoZXI6 +IHBybyBQZXJzb24gZWluIGVpZ2VuZXIKICAgICAgICAvLyBEaWFsb2cgKyBlaW5lIGVpZ2VuZSBN +YWlsIC0+IHp1IHZpZWxlIFNjaHJpdHRlLCBkZXIgVXNlciBzdGllZyBhdXMuCiAgICAgICAgdmFy +IHdlY2hzZWwgPSB7IGRhdHVtOiBkYXR1bSwgcHJpbWFlclNjaGljaHQ6IG51bGwsIGVpbnRyYWVn +ZTogW10sIGVtcGZhZW5nZXI6IFtdLCBjY1BhcnRuZXJFbWFpbHM6IFtdIH07CiAgICAgICAgdmFy +IGVtcGZTZWVuID0ge307CiAgICAgICAgZnVuY3Rpb24gd2VjaHNlbEVtcGZhZW5nZXIocGVyc29u +KSB7CiAgICAgICAgICAgIGlmICghcGVyc29uKSByZXR1cm47CiAgICAgICAgICAgIHZhciBtID0g +KHBlcnNvbi5lbWFpbCB8fCAnJykudG9Mb3dlckNhc2UoKTsKICAgICAgICAgICAgLy8gT2huZSBF +LU1haWwtQWRyZXNzZSBrZWluIEFuLUVtcGZhZW5nZXIgKGltIEJsb2NrIGVyc2NoZWludCBkaWUK +ICAgICAgICAgICAgLy8gUGVyc29uIHRyb3R6ZGVtLCBudXIgYWxzIEtvbnRleHQgZnVlciBkaWUg +YW5kZXJlbikuCiAgICAgICAgICAgIGlmICghbSB8fCBlbXBmU2VlblttXSkgcmV0dXJuOwogICAg +ICAgICAgICBlbXBmU2VlblttXSA9IHRydWU7CiAgICAgICAgICAgIHdlY2hzZWwuZW1wZmFlbmdl +ci5wdXNoKHsgZW1haWw6IHBlcnNvbi5lbWFpbCwgcGVyc29uOiBwZXJzb24gfSk7CiAgICAgICAg +fQogICAgICAgIGlmIChkYXR1bUluVmVyYmluZGxpY2hrZWl0KGRhdHVtKSkgewogICAgICAgICAg +ICBPYmplY3Qua2V5cyhmdWVocnVuZ1ZvcmhlcikuZm9yRWFjaChmdW5jdGlvbihzKSB7CiAgICAg +ICAgICAgICAgICB2YXIgdm9yaGVyICA9IGZ1ZWhydW5nVm9yaGVyW3NdOwogICAgICAgICAgICAg +ICAgdmFyIG5hY2hoZXIgPSBha3RpdmVGdWVocnVuZyhkYXR1bSwgcyk7CiAgICAgICAgICAgICAg +ICB2YXIgdm9yaGVySWRzICA9IHZvcmhlci5tYXAoZnVuY3Rpb24ocCkgeyByZXR1cm4gcC5pZDsg +fSk7CiAgICAgICAgICAgICAgICB2YXIgbmFjaGhlcklkcyA9IG5hY2hoZXIubWFwKGZ1bmN0aW9u +KHApIHsgcmV0dXJuIHAuaWQ7IH0pOwogICAgICAgICAgICAgICAgdmFyIGF1ZnJ1ZWNrZXIgPSBu +YWNoaGVyLmZpbHRlcihmdW5jdGlvbihwKSB7IHJldHVybiB2b3JoZXJJZHMuaW5kZXhPZihwLmlk +KSA8IDA7IH0pOwogICAgICAgICAgICAgICAgdmFyIGF1c2dlc2NoaWVkZW4gPSB2b3JoZXIuZmls +dGVyKGZ1bmN0aW9uKHApIHsgcmV0dXJuIG5hY2hoZXJJZHMuaW5kZXhPZihwLmlkKSA8IDA7IH0p +OwogICAgICAgICAgICAgICAgaWYgKChhdWZydWVja2VyLmxlbmd0aCB8fCBhdXNnZXNjaGllZGVu +Lmxlbmd0aCkgJiYgIXdlY2hzZWwucHJpbWFlclNjaGljaHQpIHdlY2hzZWwucHJpbWFlclNjaGlj +aHQgPSBzOwogICAgICAgICAgICAgICAgYXVmcnVlY2tlci5mb3JFYWNoKGZ1bmN0aW9uKG5ldWVy +KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHN0dWZlID0gKG5hY2hoZXJbMF0gJiYgbmFjaGhl +clswXS5pZCA9PT0gbmV1ZXIuaWQpID8gMSA6IDI7CiAgICAgICAgICAgICAgICAgICAgdmFyIHBh +cnRuZXIgPSBuYWNoaGVyLmZpbmQoZnVuY3Rpb24ocCkgeyByZXR1cm4gcC5pZCAhPT0gbmV1ZXIu +aWQ7IH0pIHx8IG51bGw7CiAgICAgICAgICAgICAgICAgICAgdmFyIGFsdGVyICAgPSBhdXNnZXNj +aGllZGVuWzBdIHx8IG51bGw7CiAgICAgICAgICAgICAgICAgICAgLy8gQXVmcnVlY2stQmV3ZWd1 +bmcgc3RlaHQgSU1NRVIgaW0gQmxvY2sgKGF1Y2ggYmVpIFNlbGJzdC0KICAgICAgICAgICAgICAg +ICAgICAvLyBwbGFudW5nKSDigJQgZGFtaXQgUGFydG5lci9WZXJkcmFlbmd0ZSBzZWhlbiwgd2Vy +IHVlYmVybmltbXQuCiAgICAgICAgICAgICAgICAgICAgd2VjaHNlbC5laW50cmFlZ2UucHVzaCh7 +IGFydDogJ2F1ZicsIHNjaGljaHRMZXR0ZXI6IHMsIHBlcnNvbjogbmV1ZXIsIHN0dWZlOiBzdHVm +ZSwgZ2VnZW46IGFsdGVyIH0pOwogICAgICAgICAgICAgICAgICAgIC8vIFNlbGJzdHBsYW51bmc6 +IHBsYW50IHNpY2ggZGVyIGVpbmdlbG9nZ3RlIE51dHplciBTRUxCU1QgaW4KICAgICAgICAgICAg +ICAgICAgICAvLyBkaWUgVmVyYW50d29ydHVuZywgYmVrb21tdCBlciBLRUlORSBNYWlsIGFuIHNp +Y2ggc2VsYnN0IOKAlAogICAgICAgICAgICAgICAgICAgIC8vIGVyIGhhdCBlcyBqYSBnZXJhZGUg +Z2V0YW4uIFZlcmRyYWVuZ3RlIHdlcmRlbiAodW50ZW4pIGltbWVyCiAgICAgICAgICAgICAgICAg +ICAgLy8gaW5mb3JtaWVydC4KICAgICAgICAgICAgICAgICAgICB2YXIgc2VsYnN0Z2VwbGFudCA9 +IChaLm1laW5lUGVyc29uSWQgIT0gbnVsbCAmJiBTdHJpbmcobmV1ZXIuaWQpID09PSBTdHJpbmco +Wi5tZWluZVBlcnNvbklkKSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFzZWxic3RnZXBsYW50 +KSB3ZWNoc2VsRW1wZmFlbmdlcihuZXVlcik7CiAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnRu +ZXIgJiYgcGFydG5lci5lbWFpbCAmJiB3ZWNoc2VsLmNjUGFydG5lckVtYWlscy5pbmRleE9mKHBh +cnRuZXIuZW1haWwpIDwgMCkgewogICAgICAgICAgICAgICAgICAgICAgICB3ZWNoc2VsLmNjUGFy +dG5lckVtYWlscy5wdXNoKHBhcnRuZXIuZW1haWwpOwogICAgICAgICAgICAgICAgICAgIH0KICAg +ICAgICAgICAgICAgICAgICAvLyBTdGF0aXN0aWstQ2FwdHVyZSAoU2NoaWNodHZlcnRlaWx1bmcg +LT4gIkVpbmdlc3BydW5nZW4iKToKICAgICAgICAgICAgICAgICAgICAvLyBKZWRlciBBdWZydWVj +a2VyIGluIGRlciBWZXJiaW5kbGljaGtlaXQgaXN0IGVpbiAiRWluLQogICAgICAgICAgICAgICAg +ICAgIC8vIHNwcmluZ2VyIi4gUGVyc2lzdGllcmVuIHdpciBhc3luY2hyb24gaW0gTG9nYnVjaCwg +ZGFtaXQKICAgICAgICAgICAgICAgICAgICAvLyBkZXIgU2VydmVyLUFnZ3JlZ2F0IGRpZSBaYWhs +IHBybyBQZXJzb24gemFlaGxlbiBrYW5uLgogICAgICAgICAgICAgICAgICAgIHZhciB2b3JXZXJ0 +ID0gKG5ldWVyLmlkID09PSBwaWQpID8gZXJ3YXJ0ZXQgOiAoCiAgICAgICAgICAgICAgICAgICAg +ICAgICgoWi5wbGFudW5nLmVpbnRyYWVnZSB8fCB7fSlbZGF0dW1dIHx8IHt9KVtTdHJpbmcobmV1 +ZXIuaWQpXSB8fCAnJwogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAg +YXVmcnVlY2tlckV2ZW50cy5wdXNoKHsKICAgICAgICAgICAgICAgICAgICAgICAgcGVyc29uSWQ6 +IG5ldWVyLmlkLAogICAgICAgICAgICAgICAgICAgICAgICBkYXR1bTogZGF0dW0sCiAgICAgICAg +ICAgICAgICAgICAgICAgIHNjaGljaHQ6IHMsCiAgICAgICAgICAgICAgICAgICAgICAgIHN0dWZl +OiBzdHVmZSwKICAgICAgICAgICAgICAgICAgICAgICAgdm9yaGVyV2VydDogdm9yV2VydCwKICAg +ICAgICAgICAgICAgICAgICAgICAgYXVzbG9lc2VyUGVyc29uSWQ6IHBpZAogICAgICAgICAgICAg +ICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAvLyBWZXJkcmFl +bmd0ZSAoYXVzIGRlciBUb3AtMiBnZWZhbGxlbikgd2VyZGVuIGZsZXhpYmxlciAtPiBpbW1lcgog +ICAgICAgICAgICAgICAgLy8gbWl0IGluIGRpZSBTYW1tZWwtTWFpbC4gbmFjaGZvbGdlciA9IHdl +ciBkaWUgVmVyYW50d29ydHVuZwogICAgICAgICAgICAgICAgLy8gdWViZXJub21tZW4gaGF0IChB +dWZydWVja2VyLCBzb25zdCBuZXVlIE5yLiAxKS4KICAgICAgICAgICAgICAgIGF1c2dlc2NoaWVk +ZW4uZm9yRWFjaChmdW5jdGlvbih3ZWcpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgc3R1ZmVX +ZWcgPSAodm9yaGVyWzBdICYmIHZvcmhlclswXS5pZCA9PT0gd2VnLmlkKSA/IDEgOiAyOwogICAg +ICAgICAgICAgICAgICAgIHZhciBuYWNoZm9sZ2VyID0gYXVmcnVlY2tlclswXSB8fCBuYWNoaGVy +WzBdIHx8IG51bGw7CiAgICAgICAgICAgICAgICAgICAgd2VjaHNlbC5laW50cmFlZ2UucHVzaCh7 +IGFydDogJ2ZyZWknLCBzY2hpY2h0TGV0dGVyOiBzLCBwZXJzb246IHdlZywgc3R1ZmU6IHN0dWZl +V2VnLCBnZWdlbjogbmFjaGZvbGdlciB9KTsKICAgICAgICAgICAgICAgICAgICB3ZWNoc2VsRW1w +ZmFlbmdlcih3ZWcpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAg +IH0KICAgICAgICBpZiAoIXdlY2hzZWwucHJpbWFlclNjaGljaHQpIHdlY2hzZWwucHJpbWFlclNj +aGljaHQgPSAnRic7CiAgICAgICAgb3B0aW1pc3Rpc2NoZXJNb2RhbEdlemVpZ3QgPSB3ZWNoc2Vs +LmVtcGZhZW5nZXIubGVuZ3RoID4gMDsKICAgICAgICBpZiAob3B0aW1pc3Rpc2NoZXJNb2RhbEdl +emVpZ3QpIHZlcmFudHdvcnR1bmdzV2VjaHNlbERpYWxvZ1plaWdlbih3ZWNoc2VsKTsKCiAgICAg +ICAgLy8gTmljaHQgYXBpUG9zdCBiZW51dHplbiDigJQgd2lyIG11ZXNzZW4gNDA5IHNlcGFyYXQg +YmVoYW5kZWxuCiAgICAgICAgZmV0Y2goJy9hcGkvcGxhbnVuZy96ZWxsZScsIHsKICAgICAgICAg +ICAgbWV0aG9kOiAnUE9TVCcsCiAgICAgICAgICAgIGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6 +ICdhcHBsaWNhdGlvbi9qc29uJyB9LAogICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7 +CiAgICAgICAgICAgICAgICBkYXR1bTogZGF0dW0sIHBlcnNvbklkOiBwaWQsIHdlcnQ6IHdlcnQs +IGVyd2FydGV0ZXJBbHRlcldlcnQ6IGVyd2FydGV0LAogICAgICAgICAgICAgICAgdW50ZXJiZXNl +dHp1bmdTY2hpY2h0OiB1bnRlcmJlc2V0enVuZ1NjaGljaHQKICAgICAgICAgICAgfSkKICAgICAg +ICB9KS50aGVuKGZ1bmN0aW9uKHIpIHsKICAgICAgICAgICAgcmV0dXJuIHIuanNvbigpLnRoZW4o +ZnVuY3Rpb24oYm9keSkgeyByZXR1cm4geyBzdGF0dXM6IHIuc3RhdHVzLCBib2R5OiBib2R5IH07 +IH0pOwogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzKSB7CiAgICAgICAgICAgIGlmIChyZXMu +c3RhdHVzID09PSA0MDkgJiYgcmVzLmJvZHkgJiYgcmVzLmJvZHkua29uZmxpa3RUeXAgPT09ICd1 +bnRlcmJlc2V0enVuZycpIHsKICAgICAgICAgICAgICAgIC8vIFNlcnZlciBoYXQgZWluZSBGdWVo +cnVuZ3MtVW50ZXJiZXNldHp1bmcgYW5oYW5kIGRlcyBBS1RVRUxMRU4KICAgICAgICAgICAgICAg +IC8vIHBsYW51bmcuanNvbi1TdGFuZHMgZXJrYW5udCwgb2J3b2hsIGRlciBDbGllbnQgc2llIG5p +Y2h0IGdld2FybnQKICAgICAgICAgICAgICAgIC8vIGhhdCAodHlwaXNjaDogZWluIGFuZGVyZXIg +VXNlciBoYXQgemVpdGdsZWljaCBnZXNwZWljaGVydCkuCiAgICAgICAgICAgICAgICAvLyBMb2th +bGUgQWVuZGVydW5nIHp1cnVlY2tyb2xsZW4gdW5kIEJlc3RhZXRpZ3VuZ3MtRGlhbG9nIHplaWdl +bi4KICAgICAgICAgICAgICAgIHZhciBzTGV0dGVyID0gcmVzLmJvZHkuc2NoaWNodDsKICAgICAg +ICAgICAgICAgIHZhciBzTmFtZSA9IHsgRjogJ0Zyw7xoc2NoaWNodCcsIFM6ICdTcMOkdHNjaGlj +aHQnLCBOOiAnTmFjaHRzY2hpY2h0JyB9W3NMZXR0ZXJdIHx8IHNMZXR0ZXI7CiAgICAgICAgICAg +ICAgICB2YXIgYWt0dWVsbENvdW50ID0gcmVzLmJvZHkuYWt0dWVsbENvdW50IHx8IDA7CiAgICAg +ICAgICAgICAgICAvLyBMb2thbGUgb3B0aW1pc3Rpc2NoZSBBZW5kZXJ1bmcgcnVlY2tnYWVuZ2ln +IOKAlCB3aXIgemVpZ2VuIHdpZWRlciBkZW4gQXVzZ2FuZ3N6dXN0YW5kCiAgICAgICAgICAgICAg +ICBpZiAoZXJ3YXJ0ZXQpIFoucGxhbnVuZy5laW50cmFlZ2VbZGF0dW1dW3BpZF0gPSBlcndhcnRl +dDsKICAgICAgICAgICAgICAgIGVsc2UgZGVsZXRlIFoucGxhbnVuZy5laW50cmFlZ2VbZGF0dW1d +W3BpZF07CiAgICAgICAgICAgICAgICB6ZWxsZVZpc3VlbGxBa3R1YWxpc2llcmVuKGRhdHVtLCBw +aWQsIGVyd2FydGV0KTsKICAgICAgICAgICAgICAgIGZ1ZWxsSGFuZGxlVmVyc3RlY2tlbigpOwog +ICAgICAgICAgICAgICAgLy8gT3B0aW1pc3Rpc2NoIGdlemVpZ3RlbiBWZXJhbnR3b3J0dW5ncy1N +b2RhbCBzY2hsaWVzc2VuLAogICAgICAgICAgICAgICAgLy8gYmV2b3Igd2lyIGRlbiBVbnRlcmJl +c2V0enVuZ3MtQ29uZmlybS1EaWFsb2cgc3RhY2tlbgogICAgICAgICAgICAgICAgaWYgKG9wdGlt +aXN0aXNjaGVyTW9kYWxHZXplaWd0KSB7IG1vZGFsU2NobGllc3Nlbih0cnVlKTsgfQogICAgICAg +ICAgICAgICAgdmFyIHR4dCA9ICdMYXV0IGFrdHVlbGxlbSBTZXJ2ZXItU3RhbmQgc2luZCBudXIg +bm9jaCAnICsgYWt0dWVsbENvdW50ICsKICAgICAgICAgICAgICAgICAgICAgICAgICAnIEbDvGhy +dW5nc2tyw6RmdGUgZsO8ciBkaWUgJyArIHNOYW1lICsgJyBhbSAnICsgZGF0dW1Gb3JtYXRERShk +YXR1bSkgKwogICAgICAgICAgICAgICAgICAgICAgICAgICcgZWluZ2VwbGFudCAoamVtYW5kIGFu +ZGVyZXMgaGF0IHp3aXNjaGVuemVpdGxpY2ggZ2VzcGVpY2hlcnQpLlxuJyArCiAgICAgICAgICAg +ICAgICAgICAgICAgICAgJ05hY2ggZGllc2VyIMOEbmRlcnVuZyBhdWYgIicgKyAod2VydCB8fCAn +ZnJlaScpICsKICAgICAgICAgICAgICAgICAgICAgICAgICAnIiBibGVpYmVuIG51ciBub2NoICcg +KyAoYWt0dWVsbENvdW50IC0gMSkgKyAnIOKAlCBNaW5kZXN0YmVzZXR6dW5nIHNpbmQgMi5cblxu +JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Ryb3R6ZGVtIHNwZWljaGVybj8nOwogICAg +ICAgICAgICAgICAgYmVzdGFldGlnZW4odHh0LCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAg +ICAgICB1bnRlcmJlc2V0enVuZ1NjaGljaHQgPSBzTGV0dGVyOwogICAgICAgICAgICAgICAgICAg +IGZvcnRzZXR6ZW4oKTsgLy8gcmV0cnkgbWl0IGdlc2V0enRlbSBGbGFnIC0+IFNlcnZlciB1ZWJl +cnNwcmluZ3QgZGVuIENoZWNrCiAgICAgICAgICAgICAgICB9LCB7IHRpdGVsOiAnVW50ZXJiZXNl +dHp1bmcgYmVzdMOkdGlnZW4nLCBqYVRleHQ6ICdUcm90emRlbSBzcGVpY2hlcm4nIH0pOwogICAg +ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChyZXMuc3Rh +dHVzID09PSA0MDkpIHsKICAgICAgICAgICAgICAgIC8vIEtsYXNzaXNjaGVyIE9wdGltaXN0aWMt +Q29uY3VycmVuY3ktS29uZmxpa3QKICAgICAgICAgICAgICAgIHZhciBha3R1ZWxsID0gcmVzLmJv +ZHkuYWt0dWVsbGVyV2VydCB8fCAnJzsKICAgICAgICAgICAgICAgIGlmIChha3R1ZWxsKSBaLnBs +YW51bmcuZWludHJhZWdlW2RhdHVtXVtwaWRdID0gYWt0dWVsbDsKICAgICAgICAgICAgICAgIGVs +c2UgZGVsZXRlIFoucGxhbnVuZy5laW50cmFlZ2VbZGF0dW1dW3BpZF07CiAgICAgICAgICAgICAg +ICB6ZWxsZVZpc3VlbGxBa3R1YWxpc2llcmVuKGRhdHVtLCBwaWQsIGFrdHVlbGwpOwogICAgICAg +ICAgICAgICAgZnVlbGxIYW5kbGVWZXJzdGVja2VuKCk7CiAgICAgICAgICAgICAgICBpZiAob3B0 +aW1pc3Rpc2NoZXJNb2RhbEdlemVpZ3QpIHsgbW9kYWxTY2hsaWVzc2VuKHRydWUpOyB9CiAgICAg +ICAgICAgICAgICB0b2FzdCgnS29uZmxpa3Q6IERpZXNlIFplbGxlIHd1cmRlIGluendpc2NoZW4g +dm9uIGplbWFuZCBhbmRlcmVtIGF1ZiAiJyArIChha3R1ZWxsIHx8ICdsZWVyJykgKyAnIiBnZXNl +dHp0LiBEZWluZSDDhG5kZXJ1bmcgd3VyZGUgbmljaHQgw7xiZXJub21tZW4uJywgJ3dhcm51bmcn +KTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAo +cmVzLnN0YXR1cyA+PSA0MDApIHsKICAgICAgICAgICAgICAgIGZ1ZWxsSGFuZGxlVmVyc3RlY2tl +bigpOwogICAgICAgICAgICAgICAgaWYgKG9wdGltaXN0aXNjaGVyTW9kYWxHZXplaWd0KSB7IG1v +ZGFsU2NobGllc3Nlbih0cnVlKTsgfQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJl +cy5ib2R5LmZlaGxlciB8fCAoJ0hUVFAgJyArIHJlcy5zdGF0dXMpKTsKICAgICAgICAgICAgfQog +ICAgICAgICAgICB0b2FzdCgnR2VzcGVpY2hlcnQnLCAnZXJmb2xnJyk7CiAgICAgICAgICAgIC8v +IEZ1ZWxsLUdyaWZmIGJlcmVpdHMgb3B0aW1pc3Rpc2NoIGVpbmdlYmxlbmRldCDigJQgaGllciBu +aWNodHMgbWVociB6dSB0dW4uCiAgICAgICAgICAgIC8vIFZlcmFudHdvcnR1bmdzLU1vZGFsIHd1 +cmRlIGJlcmVpdHMgVk9SIGRlbSBmZXRjaCBvcHRpbWlzdGlzY2gKICAgICAgICAgICAgLy8gZ2V6 +ZWlndCAoc2llaGUgb2Jlbikg4oCUIGtlaW4gUmUtWmVpZ2VuIGhpZXIgbm9ldGlnLgoKICAgICAg +ICAgICAgLy8gSkVUWlQgKG5hY2ggZXJmb2xncmVpY2hlbSBQZXJzaXN0KSBkaWUgIkVpbmdlc3By +dW5nZW4iLUV2ZW50cyBpbnMKICAgICAgICAgICAgLy8gTG9nYnVjaC9TdGF0aXN0aWsgc2NocmVp +YmVuIOKAlCBuaWUgYmVpIDQwOS9GZWhsZXIgKGtlaW4gUGhhbnRvbSkuCiAgICAgICAgICAgIGF1 +ZnJ1ZWNrZXJFdmVudHMuZm9yRWFjaChmdW5jdGlvbihldikgewogICAgICAgICAgICAgICAgYXBp +UG9zdCgnL2FwaS92ZXJhbnR3b3J0dW5nL2F1ZmdlcnVlY2t0JywgZXYpLmNhdGNoKGZ1bmN0aW9u +KCkgeyAvKiBzaWxlbnQgKi8gfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy8gRm9s +Z2UtQWt0aW9uZW4gKFRvYXN0cywgS3JhbmttZWxkdW5ncy1UcmlnZ2VyLCBMaXZlLVJlcmVuZGVy +IGRlcgogICAgICAgICAgICAvLyBCZXNldHp1bmdza29udHJvbGxlKSBkZWZlcnJlbiB3aXIgaW4g +ZGVuIG5hZWNoc3RlbiBUaWNrLiBEYW1pdAogICAgICAgICAgICAvLyBoYXQgZGVyIEJyb3dzZXIg +WmVpdCwgZGVuIFZlcmFudHdvcnR1bmdzLU1vZGFsIHp1IHJlbmRlcm4sIGJldm9yCiAgICAgICAg +ICAgIC8vIHRldXJlIEJlcmVjaG51bmdlbiBkZW4gSlMtVGhyZWFkIGJsb2NraWVyZW4uCiAgICAg +ICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAvLyBLcmFua21l +bGR1bmcgKGtyL0t1cikgZXJ6ZXVndCBzZWl0IFBoYXNlIDQgKDIwMjYtMDUtMjApIGVpbmVuCiAg +ICAgICAgICAgICAgICAvLyBTZXJ2ZXItc2VpdGlnZW4gSW4tQXBwLUhpbndlaXMgc3RhdHQgZWlu +ZXMgbWFpbHRvLVBvcHVwcy4gRGVyCiAgICAgICAgICAgICAgICAvLyBDbGllbnQgbXVzcyBuaWNo +dHMgbWVociB0dW4g4oCUIEJhbm5lcitCYWRnZSBlcnNjaGVpbmVuIGJlaW0KICAgICAgICAgICAg +ICAgIC8vIG5hZWNoc3RlbiBTeW5jLVdvcmtlci1UaWNrIGZ1ZXIgU1UgKyBHZXNhbXR2ZXJhbnR3 +b3J0bGljaGUuCgogICAgICAgICAgICAgICAgdmFyIHN0ID0gc3RhZXJrZUJlcmVjaG5lbihkYXR1 +bSk7CiAgICAgICAgICAgICAgICBpZiAoIXN0Lm9rKSB7CiAgICAgICAgICAgICAgICAgICAgdmFy +IGRlZml6aXQgPSBbXTsKICAgICAgICAgICAgICAgICAgICBpZiAoc3QuZiA8IDIpIGRlZml6aXQu +cHVzaCgnRnLDvGggKCcgKyBzdC5mICsgJy8yKScpOwogICAgICAgICAgICAgICAgICAgIGlmIChz +dC5zIDwgMikgZGVmaXppdC5wdXNoKCdTcMOkdCAoJyArIHN0LnMgKyAnLzIpJyk7CiAgICAgICAg +ICAgICAgICAgICAgaWYgKHN0Lm4gPCAyKSBkZWZpeml0LnB1c2goJ05hY2h0ICgnICsgc3QubiAr +ICcvMiknKTsKICAgICAgICAgICAgICAgICAgICB0b2FzdCgnVW50ZXJiZXNldHp0IGFtICcgKyBk +YXR1bUZvcm1hdERFKGRhdHVtKSArICc6ICcgKyBkZWZpeml0LmpvaW4oJywgJyksICd3YXJudW5n +Jyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLyBMaXZlLVJlZnJlc2ggZGVy +IEJlc2V0enVuZ3Nrb250cm9sbGUsIGZhbGxzIHNpY2h0YmFyLiBTb25zdAogICAgICAgICAgICAg +ICAgLy8gcmVhZ2llcnQgZGllIEFuemVpZ2UgZXJzdCBiZWltIG5hZWNoc3RlbiBUYWItV2VjaHNl +bC4KICAgICAgICAgICAgICAgIC8vIERlbHRhLVVwZGF0ZSBzdGF0dCB2b2xsZXIgUmVuZGVyOiBu +dXIgZGllIEVJTkUgYmV0cm9mZmVuZQogICAgICAgICAgICAgICAgLy8gS2FsZW5kZXItS2FjaGVs +ICsgZGllIDMgS1BJLVphaGxlbiB3ZXJkZW4gZ2VwYXRjaHQg4oCUIHNwYXJ0CiAgICAgICAgICAg +ICAgICAvLyAzMC0xMDAgbXMgcHJvIEVkaXQgYXVmIGRlbSBCZWhvZXJkZW4tUEMuCiAgICAgICAg +ICAgICAgICB2YXIgYmtFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbnNpY2h0LWJlc2V0 +enVuZycpOwogICAgICAgICAgICAgICAgaWYgKGJrRWwgJiYgIWJrRWwuY2xhc3NMaXN0LmNvbnRh +aW5zKCd2ZXJzdGVja3QnKSAmJiBaLnJlY2h0ZSAmJiBaLnJlY2h0ZS5pc3RHZXNhbXR2ZXJhbnR3 +b3J0bGljaCkgewogICAgICAgICAgICAgICAgICAgIGlmIChlZGl0b3JIb29rcy5iZXNldHp1bmdz +a29udHJvbGxlVGFnVXBkYXRlbikgZWRpdG9ySG9va3MuYmVzZXR6dW5nc2tvbnRyb2xsZVRhZ1Vw +ZGF0ZW4oZGF0dW0pOwogICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGVkaXRvckhvb2tzLmJl +c2V0enVuZ3Nrb250cm9sbGVSZW5kZXJuKSBlZGl0b3JIb29rcy5iZXNldHp1bmdza29udHJvbGxl +UmVuZGVybigpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCAwKTsKICAgICAgICB9 +KS5jYXRjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGZ1ZWxsSGFuZGxlVmVyc3RlY2tlbigp +OwogICAgICAgICAgICBpZiAob3B0aW1pc3Rpc2NoZXJNb2RhbEdlemVpZ3QpIHsgbW9kYWxTY2hs +aWVzc2VuKHRydWUpOyB9CiAgICAgICAgICAgIHRvYXN0KCdGZWhsZXI6ICcgKyBlLm1lc3NhZ2Us +ICdmZWhsZXInKTsKICAgICAgICB9KTsKICAgIH0KCiAgICAvLyBSdWhlemVpdGVuLVByw7xmdW5n +IFZPUiBkZW0gU3BlaWNoZXJuCiAgICBpZiAod2VydCAmJiBlZGl0b3JIb29rcy5mZWF0dXJlSXN0 +QWt0aXYgJiYgZWRpdG9ySG9va3MuZmVhdHVyZUlzdEFrdGl2KCdydWhlemVpdFBydWVmdW5nJykp +IHsKICAgICAgICB2YXIgcnVoZVdhcm4gPSBydWhlemVpdFBydWVmZW4oZGF0dW0sIHBpZCwgd2Vy +dCk7CiAgICAgICAgaWYgKHJ1aGVXYXJuKSB7CiAgICAgICAgICAgIHZhciBwZXJzb24gPSBaLnBl +cnNvbmVuLmZpbmQoZnVuY3Rpb24ocCkgeyByZXR1cm4gU3RyaW5nKHAuaWQpID09PSBwaWQ7IH0p +OwogICAgICAgICAgICB2YXIgbmFtZSA9IHBlcnNvbiA/IHBlcnNvbi5uYW1lIDogJ1BlcnNvbiAn +ICsgcGlkOwogICAgICAgICAgICBiZXN0YWV0aWdlbignUnVoZXplaXQtV2FybnVuZyBmw7xyICcg +KyBuYW1lICsgJzpcblxuJyArIHJ1aGVXYXJuLmpvaW4oJ1xuJykgKyAnXG5cblRyb3R6ZGVtIHp1 +d2Vpc2VuPycsIHBydWVmZUZ1ZWhydW5nc1VuZFNwZWljaGVybiwgeyB0aXRlbDogJ1J1aGV6ZWl0 +LVdhcm51bmcnLCBqYVRleHQ6ICdUcm90emRlbSB6dXdlaXNlbicgfSk7CiAgICAgICAgICAgIHJl +dHVybjsKICAgICAgICB9CiAgICB9CgogICAgcHJ1ZWZlRnVlaHJ1bmdzVW5kU3BlaWNoZXJuKCk7 +CgogICAgZnVuY3Rpb24gcHJ1ZWZlRnVlaHJ1bmdzVW5kU3BlaWNoZXJuKCkgewogICAgICAgIC8v +IEZ1ZWhydW5nc2tyYWZ0LVVudGVyYmVzZXR6dW5nIHBydWVmZW4KICAgICAgICB2YXIgYWx0ZXJX +ZXJ0ID0gKChaLnBsYW51bmcuZWludHJhZWdlIHx8IHt9KVtkYXR1bV0gfHwge30pW3BpZF0gfHwg +Jyc7CiAgICAgICAgdmFyIHNjaGljaHQgPSBmdWVocnVuZ3NVbnRlcmJlc2V0enVuZ1BydWVmZW4o +ZGF0dW0sIGFsdGVyV2VydCwgd2VydCk7CiAgICAgICAgaWYgKCFzY2hpY2h0KSB7IGZvcnRzZXR6 +ZW4oKTsgcmV0dXJuOyB9CgogICAgICAgIHZhciBzY2hpY2h0TmFtZSA9IHsgRjogJ0Zyw7xoc2No +aWNodCcsIFM6ICdTcMOkdHNjaGljaHQnLCBOOiAnTmFjaHRzY2hpY2h0JyB9W3NjaGljaHRdOwog +ICAgICAgIHZhciBha3R1ZWxsID0gZnVlaHJ1bmdzWmFlaGxlbihkYXR1bSwgc2NoaWNodCk7CiAg +ICAgICAgdmFyIGRhbmFjaCA9IGFrdHVlbGwgLSAxOwogICAgICAgIHZhciBuZXVlcldlcnRUeHQg +PSB3ZXJ0IHx8ICdmcmVpJzsKICAgICAgICB2YXIgdHh0ID0gJ0FrdHVlbGwgc2luZCAnICsgYWt0 +dWVsbCArICcgRsO8aHJ1bmdza3LDpGZ0ZSBmw7xyIGRpZSAnICsgc2NoaWNodE5hbWUgKwogICAg +ICAgICAgICAgICAgICAnIGFtICcgKyBkYXR1bUZvcm1hdERFKGRhdHVtKSArICcgZWluZ2VwbGFu +dC5cbicgKwogICAgICAgICAgICAgICAgICAnTmFjaCBkaWVzZXIgw4RuZGVydW5nIGF1ZiAiJyAr +IG5ldWVyV2VydFR4dCArICciIGJsZWliZW4gbnVyIG5vY2ggJyArIGRhbmFjaCArICcg4oCUICcg +KwogICAgICAgICAgICAgICAgICAnTWluZGVzdGJlc2V0enVuZyBzaW5kIDIuXG5cbicgKwogICAg +ICAgICAgICAgICAgICAnVHJvdHpkZW0gc3BlaWNoZXJuPyc7CiAgICAgICAgdW50ZXJiZXNldHp1 +bmdTY2hpY2h0ID0gc2NoaWNodDsKICAgICAgICBiZXN0YWV0aWdlbih0eHQsIGZvcnRzZXR6ZW4s +IHsgdGl0ZWw6ICdVbnRlcmJlc2V0enVuZyBiZXN0w6R0aWdlbicsIGphVGV4dDogJ1Ryb3R6ZGVt +IHNwZWljaGVybicgfSk7CiAgICB9Cn0KCi8vIEJyaWRnZTogaW50ZXJhY3Rpb24uanMgYnJhdWNo +dCBmdWVocnVuZ3NaYWVobGVuLCBrYW5uIGVzIGFiZXIgd2VnZW4KLy8gWnlrbHVzIG5pY2h0IGRp +cmVrdCBpbXBvcnRpZXJlbi4gV2lyIHNldHplbiBlcyBhbHMgSG9vay4KaW50ZXJhY3Rpb25Ib29r +cy5mdWVocnVuZ3NaYWVobGVuID0gZnVlaHJ1bmdzWmFlaGxlbjsK +### FILE: js/grid_interaction.js | 35893 +Ly8gPT09IGdyaWQvaW50ZXJhY3Rpb24uanMgPT09Ci8vIEtvbW1lbnRhcmUgKExlc2VuL1NjaHJl +aWJlbi9BbnplaWdlbiBpbSBHcmlkKSwgVW50ZXJiZXNldHp1bmdzLUFuYWx5c2UgKwovLyBXYXJu +dW5nLCAienVtIERhdHVtIHNjcm9sbGVuIi4gVkkzIGhhdCBrZWluZSBGTEQtU2VsZWt0aW9uL0tv +bnRleHRtZW51LwovLyBEcmFnJkRyb3AtTG9naWsg4oCUIGRhaGVyIHNjaGxhbmtlciBhbHMgZGVy +IEZMRC1QZW5kYW50LgoKaW1wb3J0IHsgWiB9IGZyb20gJy4vY29yZV9zdGF0ZS5qcyc7CmltcG9y +dCB7IGRhdHVtU3RyLCBkYXR1bUZvcm1hdERFLCBlc2NhcGVIVE1MLCBhbnplaWdlTmFtZUZ1ZXJL +ZW5udW5nIH0gZnJvbSAnLi9jb3JlX3V0aWwuanMnOwppbXBvcnQgeyB0b2FzdCB9IGZyb20gJy4v +dWlfZGlhbG9nLmpzJzsKaW1wb3J0IHsgYXBpLCBhcGlQb3N0IH0gZnJvbSAnLi9jb3JlX2FwaS5q +cyc7CmltcG9ydCB7IGRhcmZaZWxsZUVkaXRpZXJlbiB9IGZyb20gJy4vY29yZV9wZXJtaXNzaW9u +cy5qcyc7CmltcG9ydCB7IGRhdGVuR3JpZFJlbmRlcm4sIGtvcGZSZW5kZXJuLCB6ZWxsZVZpc3Vl +bGxBa3R1YWxpc2llcmVuIH0gZnJvbSAnLi9ncmlkX3JlbmRlci5qcyc7CgovLyA9PT09PSBIb29r +cyA9PT09PQoKZXhwb3J0IHZhciBpbnRlcmFjdGlvbkhvb2tzID0gewogICAgZmVhdHVyZUlzdEFr +dGl2OiBudWxsLAogICAgZnVlaHJ1bmdzWmFlaGxlbjogbnVsbCAgIC8vIHdpcmQgdm9uIGdyaWQv +ZWRpdG9yLmpzIGJlZGllbnQgKHppcmt1bGFlcmUgVmVybWVpZHVuZykKfTsKCi8vID09PT09IEtv +bnN0YW50ZW4gPT09PT0KCmV4cG9ydCB2YXIgQktfSE9SSVpPTlRfVEFHRSA9IDI4OwoKLy8gPT09 +PT0gV2FjaGxlaXR1bmctSWRlbnRpdGFldCA9PT09PQoKLy8gSXN0IGRlciBha3R1ZWxsZSBVc2Vy +IFdhY2hsZWl0dW5nPyBXYWNobGVpdHVuZyA9IEdydXBwZSBXTCBpbiBkZW4gUGVyc29uZW4tRGF0 +ZW4KLy8gdW5kIGluIGFkbWluLmpzb24uZ3J1cHBlbi4gZnVlaHJ1bmdzWmFlaGxlbigpIHBydWVm +dCBkaWUgZ2xlaWNoZSBLb252ZW50aW9uLgpleHBvcnQgZnVuY3Rpb24gaXN0V2FjaGxlaXR1bmdB +a3R1ZWxsZXJVc2VyKCkgewogICAgaWYgKCFaLm1laW5lUGVyc29uSWQpIHJldHVybiBmYWxzZTsK +ICAgIHZhciBwID0gbnVsbDsKICAgIChaLnBsYW51bmcucGVyc29uZW4gfHwgW10pLmZvckVhY2go +ZnVuY3Rpb24ocHApIHsKICAgICAgICBpZiAoU3RyaW5nKHBwLmlkKSA9PT0gU3RyaW5nKFoubWVp +bmVQZXJzb25JZCkpIHAgPSBwcDsKICAgIH0pOwogICAgcmV0dXJuICEhKHAgJiYgcC5ncnVwcGUg +PT09ICdXTCcpOwp9CgovLyA9PT09PSBVbnRlcmJlc2V0enVuZ3MtQW5hbHlzZSA9PT09PQoKLy8g +RHVyY2hzdWNodCBkaWUga29tbWVuZGVuIE4gVGFnZSBhYiBoZXV0ZSBuYWNoIEZ1ZWhydW5ncy1V +bnRlcmJlc2V0enVuZy4KLy8gVkkzLVJlZ2VsOiBwcm8gU2NoaWNodCAoRi9TL04pIG1pbmRlc3Rl +bnMgMiBGdWVocnVuZ3NrcmFlZnRlIChER0wvV0RGL0ZCUCwKLy8gb2huZSBHcnVwcGUgTC9XTCku +Ci8vIFJ1ZWNrZ2FiZTogc29ydGllcnRlIExpc3RlIHZvbiB7IGRhdHVtLCBmZWhsdDogJ0YgMS8y +LCBTIDAvMicgfS4KZXhwb3J0IGZ1bmN0aW9uIHVudGVyYmVzZXR6dW5nQW5hbHlzZVZpMyh0YWdl +SG9yaXpvbnQpIHsKICAgIGlmICghaW50ZXJhY3Rpb25Ib29rcy5mdWVocnVuZ3NaYWVobGVuKSBy +ZXR1cm4gW107CiAgICB2YXIgaGV1dGUgPSBuZXcgRGF0ZSgpOyBoZXV0ZS5zZXRIb3VycygwLDAs +MCwwKTsKICAgIHZhciBwcm9ibGVtZSA9IFtdOwogICAgKFoudGFnZSB8fCBbXSkuZm9yRWFjaChm +dW5jdGlvbihkKSB7CiAgICAgICAgaWYgKGQgPCBoZXV0ZSkgcmV0dXJuOwogICAgICAgIHZhciBk +aWZmID0gTWF0aC5mbG9vcigoZCAtIGhldXRlKSAvIDg2NDAwMDAwKTsKICAgICAgICBpZiAoZGlm +ZiA+PSB0YWdlSG9yaXpvbnQpIHJldHVybjsKICAgICAgICB2YXIgZFN0ciA9IGRhdHVtU3RyKGQp +OwogICAgICAgIHZhciBmRiA9IGludGVyYWN0aW9uSG9va3MuZnVlaHJ1bmdzWmFlaGxlbihkU3Ry +LCAnRicpOwogICAgICAgIHZhciBmUyA9IGludGVyYWN0aW9uSG9va3MuZnVlaHJ1bmdzWmFlaGxl +bihkU3RyLCAnUycpOwogICAgICAgIHZhciBmTiA9IGludGVyYWN0aW9uSG9va3MuZnVlaHJ1bmdz +WmFlaGxlbihkU3RyLCAnTicpOwogICAgICAgIHZhciBmZWhsdCA9IFtdOwogICAgICAgIGlmIChm +RiA8IDIpIGZlaGx0LnB1c2goJ0YgJyArIGZGICsgJy8yJyk7CiAgICAgICAgaWYgKGZTIDwgMikg +ZmVobHQucHVzaCgnUyAnICsgZlMgKyAnLzInKTsKICAgICAgICBpZiAoZk4gPCAyKSBmZWhsdC5w +dXNoKCdOICcgKyBmTiArICcvMicpOwogICAgICAgIGlmIChmZWhsdC5sZW5ndGggPiAwKSBwcm9i +bGVtZS5wdXNoKHsgZGF0dW06IGRTdHIsIGZlaGx0OiBmZWhsdC5qb2luKCcsICcpIH0pOwogICAg +fSk7CiAgICByZXR1cm4gcHJvYmxlbWU7Cn0KCmV4cG9ydCBmdW5jdGlvbiB6dURhdHVtU2Nyb2xs +ZW4oZFN0cikgewogICAgdmFyIHplbGxlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2RhdHVt +LXplaWxlLXRhZyAua2QtemVsbGVbZGF0YS1kYXR1bT0iJyArIGRTdHIgKyAnIl0nKTsKICAgIHZh +ciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dyaWQtc2Nyb2xsLWNvbnRhaW5lcicpOwog +ICAgaWYgKCF6ZWxsZSB8fCAhYykgcmV0dXJuOwogICAgdmFyIHIgPSB6ZWxsZS5nZXRCb3VuZGlu +Z0NsaWVudFJlY3QoKSwgY3IgPSBjLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgLy8gU21v +b3RoLVNjcm9sbCBzdGF0dCBhYnJ1cHRlbSBTcHJ1bmcgKFF1aWNrLVdpbiAyMDI2LTA1LTI5KS4g +QXVmIGdyb3NzZW4KICAgIC8vIEdyaWRzIGZ1ZWhsdCBzaWNoIGRpZSBhbmltaWVydGUgQmV3ZWd1 +bmcgZGV1dGxpY2ggd2VuaWdlciBydWNrZWxuZCBhbgogICAgLy8gdW5kIGRlciBVc2VyIGJlaGFl +bHQgZGllIE9yaWVudGllcnVuZyBiZWltIFNwYWx0ZW4tU3BydW5nLgogICAgdmFyIHppZWxMZWZ0 +ID0gYy5zY3JvbGxMZWZ0ICsgKHIubGVmdCAtIGNyLmxlZnQgLSBjci53aWR0aCAvIDMpOwogICAg +aWYgKHR5cGVvZiBjLnNjcm9sbFRvID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgYy5zY3JvbGxU +byh7IGxlZnQ6IHppZWxMZWZ0LCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7CiAgICB9IGVsc2Ugewog +ICAgICAgIGMuc2Nyb2xsTGVmdCA9IHppZWxMZWZ0OwogICAgfQp9CgpleHBvcnQgZnVuY3Rpb24g +dW50ZXJiZXNldHp1bmdXYXJudW5nWmVpZ2VuKCkgewogICAgaWYgKCFpbnRlcmFjdGlvbkhvb2tz +LmZlYXR1cmVJc3RBa3RpdiB8fCAhaW50ZXJhY3Rpb25Ib29rcy5mZWF0dXJlSXN0QWt0aXYoJ3Vu +dGVyYmVzZXR6dW5nV2FybnVuZycpKSByZXR1cm47CiAgICAvLyBXYXJudW5nIGdpbHQgZnVlciBl +Y2h0ZSBXYWNobGVpdHVuZyAoR3J1cHBlIEwpIG9kZXIgU3VwZXJVc2VyIGltIFRlc3QtS29udGV4 +dC4KICAgIC8vIEZhY2hhdWZzaWNodC1HZXNhbXR2ZXJhbnR3b3J0bGljaGUgYmVrb21tZW4gc3Rh +dHRkZXNzZW4gZGVuIEhlYWRlci1UYWIKICAgIC8vICJCZXNldHp1bmdza29udHJvbGxlIiBtaXQg +ZGF1ZXJoYWZ0ZXIgVWViZXJzaWNodC4KICAgIGlmICghaXN0V2FjaGxlaXR1bmdBa3R1ZWxsZXJV +c2VyKCkgJiYgIVoucmVjaHRlLmlzdFN1cGVyVXNlcikgcmV0dXJuOwogICAgdmFyIHByb2JsZW1l +ID0gdW50ZXJiZXNldHp1bmdBbmFseXNlVmkzKDI4KTsKICAgIGlmIChwcm9ibGVtZS5sZW5ndGgg +PT09IDApIHJldHVybjsKICAgIHZhciBlcnN0ZXIgPSBwcm9ibGVtZVswXTsKICAgIHZhciB0eHQg +PSBwcm9ibGVtZS5sZW5ndGggKyAocHJvYmxlbWUubGVuZ3RoID09PSAxID8gJyBUYWcnIDogJyBU +YWdlJykgKwogICAgICAgICAgICAgICcgbWl0IEbDvGhydW5ncy1VbnRlcmJlc2V0enVuZyBpbiBk +ZW4gbsOkY2hzdGVuIDQgV29jaGVuLiBFcnN0ZXI6ICcgKwogICAgICAgICAgICAgIGRhdHVtRm9y +bWF0REUoZXJzdGVyLmRhdHVtKSArICcgKCcgKyBlcnN0ZXIuZmVobHQgKyAnKS4gS2xpY2sgZsO8 +ciBTcHJ1bmcgenVtIFRhZy4nOwogICAgdG9hc3QodHh0LCAnd2FybnVuZycsIHsKICAgICAgICBk +YXVlcjogMTAwMDAsCiAgICAgICAgb25DbGljazogZnVuY3Rpb24oKSB7IHp1RGF0dW1TY3JvbGxl +bihlcnN0ZXIuZGF0dW0pOyB9CiAgICB9KTsKfQoKLy8gPT09PT0gS29tbWVudGFyZSA9PT09PQov +LwovLyBTcGVpY2hlcmZvcm1hdCBpbiBwbGFudW5nLmtvbW1lbnRhcmVbZGF0dW1dW3BlcnNvbklk +XTogYWIgMjAyNi0wNCBhbHMKLy8gT2JqZWt0IHsgdGV4dCwgZ2VhZW5kZXJ0QW0gKElTTyksIGdl +YWVuZGVydFZvbiB9LiBBbHRlIERhdGVuIGFscyByZWluZQovLyBTdHJpbmdzIHdlcmRlbiB3ZWl0 +ZXJoaW4gYWt6ZXB0aWVydDsgYmVpbSBuYWVjaHN0ZW4gU3BlaWNoZXJuIHdpcmQKLy8gYXV0b21h +dGlzY2ggYXVmIGRhcyBuZXVlIFNjaGVtYSBtaWdyaWVydC4KCmV4cG9ydCBmdW5jdGlvbiBrb21t +ZW50YXJFaW50cmFnKGRhdHVtLCBwZXJzb25JZCkgewogICAgcmV0dXJuICgoWi5wbGFudW5nLmtv +bW1lbnRhcmUgfHwge30pW2RhdHVtXSB8fCB7fSlbU3RyaW5nKHBlcnNvbklkKV07Cn0KCi8vIExv +ZXNjaC1SZWNodCBpbSBDbGllbnQgKHp1ciBVSS1TdGV1ZXJ1bmcg4oCUIGRpZSBmaW5hbGUgUHJ1 +ZWZ1bmcgcGFzc2llcnQKLy8gaW0gU2VydmVyKS4gU3VwZXJVc2VyIHVuZCBGYWNoYXVmc2ljaHQg +bWl0IEdlc2FtdHZlcmFudHdvcnRsaWNoLUZsYWcuCmV4cG9ydCBmdW5jdGlvbiBkYXJmS29tbWVu +dGFyTG9lc2NoZW4oKSB7CiAgICB2YXIgciA9IFoucmVjaHRlIHx8IHt9OwogICAgcmV0dXJuICEh +KHIuaXN0U3VwZXJVc2VyIHx8IHIuaXN0R2VzYW10dmVyYW50d29ydGxpY2gpOwp9CgovLyBMaWVm +ZXJ0IElNTUVSIGVpbiBBcnJheSB2b24geyBpZCwgdGV4dCwgZ2VhZW5kZXJ0QW0sIGdlYWVuZGVy +dFZvbiB9IOKAlAovLyBtaWdyaWVydCBkaWUgZHJlaSBBbHQtRm9ybWF0ZSB0cmFuc3BhcmVudDoK +Ly8gICBzdHJpbmcgICAgICAgICAgICAgICAgICAgICAgIC0+IFt7IGlkOiAna19sZWdhY3lfKics +IHRleHQsIHRzOm51bGwgfV0KLy8gICB7IHRleHQsIGdlYWVuZGVydEFtLCAuLi4gfSAgIC0+IFtl +aW4gRWxlbWVudF0KLy8gICBbey4uLn0sey4uLn1dICAgICAgICAgICAgICAgIC0+IGRpcmVrdCB6 +dXJ1ZWNrCi8vIFJlaWhlbmZvbGdlIGlzdCBjaHJvbm9sb2dpc2NoIChhZWx0ZXN0ZSB6dWVyc3Qp +LCBzbyB3aWUgZGVyIFNlcnZlciBzcGVpY2hlcnQuCi8vIERlZmVuc2l2ZS1IaW53ZWlzIChTcHJp +bnQgNyDigJQgMjAyNi0wNS0yOSwgRmluZGluZyAxNCk6Ci8vIE1hc3MtTWlncmF0aW9uIChzY3Jp +cHRzL21pZ3JhdGVfa29tbWVudGFyZS5weSkgaGF0IGFsbGUgQmVzdGFlbmRlIGlucwovLyBBcnJh +eS1TY2hlbWEgdWViZXJmdWVocnQuIEFsdC1Gb3JtYXRlIChTdHJpbmcsIFNpbmdsZS1PYmplY3Qt +b2huZS1BcnJheSkKLy8gU09MTFRFTiBuaWNodCBtZWhyIGltIExpdmUtU3lzdGVtIGF1ZnRhdWNo +ZW4uIFdlbm4gZG9jaCAoei5CLiBuYWNoIFJlc3RvcmUKLy8gYXVzIGFsdGVtIEJhY2t1cCk6IHdp +cmQgZWlubWFsaWcgcHJvIFNlc3Npb24gdmlhIGNvbnNvbGUud2FybiBwcm90b2tvbGxpZXJ0Lgov +LyBEaWUgQnJhbmNoZXMgYmxlaWJlbiBha3RpdiwgZGFtaXQgZWluIFJlc3RvcmUgZGllIEFuemVp +Z2UgbmljaHQgemVyc3RvZXJ0IOKAlAovLyBhYmVyIGRlciBXYXJuLUxvZyBtYWNodCBrbGFyLCBk +YXNzIG5hY2gtbWlncmllcnQgd2VyZGVuIHNvbGx0ZS4KdmFyIF9MRUdBQ1lfV0FSTl9HRVNFSEVO +ID0gZmFsc2U7CmZ1bmN0aW9uIF9sZWdhY3lXYXJuKHR5cCkgewogICAgaWYgKF9MRUdBQ1lfV0FS +Tl9HRVNFSEVOKSByZXR1cm47CiAgICBfTEVHQUNZX1dBUk5fR0VTRUhFTiA9IHRydWU7CiAgICBp +ZiAodHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnICYmIGNvbnNvbGUud2FybikgewogICAg +ICAgIGNvbnNvbGUud2FybignW1ZJM10gS29tbWVudGFyIGltIEFsdC1Gb3JtYXQgZ2VmdW5kZW4g +KCcgKyB0eXAgKyAnKS4gJyArCiAgICAgICAgICAgICdXYWhyc2NoZWlubGljaCBhdXMgYWx0ZW0g +QmFja3VwLVJlc3RvcmUuIEJpdHRlIGVpbm1hbGlnICcgKwogICAgICAgICAgICAnc2NyaXB0cy9t +aWdyYXRlX2tvbW1lbnRhcmUucHkgbGF1ZmVuIGxhc3Nlbi4nKTsKICAgIH0KfQoKZXhwb3J0IGZ1 +bmN0aW9uIGtvbW1lbnRhckxpc3RlKGspIHsKICAgIGlmICghaykgcmV0dXJuIFtdOwogICAgaWYg +KHR5cGVvZiBrID09PSAnc3RyaW5nJykgewogICAgICAgIGlmICghay50cmltKCkpIHJldHVybiBb +XTsKICAgICAgICBfbGVnYWN5V2FybignU3RyaW5nJyk7CiAgICAgICAgcmV0dXJuIFt7IGlkOiAn +a19sZWdhY3knLCB0ZXh0OiBrLCBnZWFlbmRlcnRBbTogbnVsbCwgZ2VhZW5kZXJ0Vm9uOiBudWxs +IH1dOwogICAgfQogICAgaWYgKEFycmF5LmlzQXJyYXkoaykpIHsKICAgICAgICByZXR1cm4gay5m +aWx0ZXIoZnVuY3Rpb24oZSkgeyByZXR1cm4gZSAmJiAoZS50ZXh0IHx8ICcnKS50b1N0cmluZygp +LnRyaW0oKTsgfSk7CiAgICB9CiAgICBpZiAoay50ZXh0KSB7CiAgICAgICAgX2xlZ2FjeVdhcm4o +J1NpbmdsZS1PYmplY3QnKTsKICAgICAgICByZXR1cm4gW3sKICAgICAgICAgICAgaWQ6ICAgICAg +ICAgICBrLmlkIHx8ICdrX2xlZ2FjeScsCiAgICAgICAgICAgIHRleHQ6ICAgICAgICAgay50ZXh0 +LAogICAgICAgICAgICBnZWFlbmRlcnRBbTogIGsuZ2VhZW5kZXJ0QW0gfHwgbnVsbCwKICAgICAg +ICAgICAgZ2VhZW5kZXJ0Vm9uOiBrLmdlYWVuZGVydFZvbiB8fCBudWxsCiAgICAgICAgfV07CiAg +ICB9CiAgICByZXR1cm4gW107Cn0KCmV4cG9ydCBmdW5jdGlvbiBrb21tZW50YXJBbnphaGwoaykg +ewogICAgcmV0dXJuIGtvbW1lbnRhckxpc3RlKGspLmxlbmd0aDsKfQoKLy8gQmFja3dhcmRzLUNv +bXBhdDogbGllZmVydCBkZW4gVEVYVCBkZXMganVlbmdzdGVuIEtvbW1lbnRhcnMgKG9kZXIgbGVl +cikuCi8vIEJlc3RlaGVuZGUgQXVmcnVmZXIgKFdvY2hlbnBsYW4sIEJlc2V0enVuZykgYmVrb21t +ZW4gZGFtaXQgd2VpdGVyaGluIGRlbgovLyAiYWt0dWVsbGVuIiBLb21tZW50YXIg4oCUIGZ1ZXIg +ZGllIExpc3RlIGdpYnQgZXMga29tbWVudGFyTGlzdGUoKS4KZXhwb3J0IGZ1bmN0aW9uIGtvbW1l +bnRhclRleHQoaykgewogICAgdmFyIGxpc3RlID0ga29tbWVudGFyTGlzdGUoayk7CiAgICBpZiAo +bGlzdGUubGVuZ3RoID09PSAwKSByZXR1cm4gJyc7CiAgICByZXR1cm4gbGlzdGVbbGlzdGUubGVu +Z3RoIC0gMV0udGV4dCB8fCAnJzsKfQoKLy8gQmFja3dhcmRzLUNvbXBhdDogTWV0YSBkZXMganVl +bmdzdGVuIEtvbW1lbnRhcnMuCmV4cG9ydCBmdW5jdGlvbiBrb21tZW50YXJNZXRhKGspIHsKICAg +IHZhciBsaXN0ZSA9IGtvbW1lbnRhckxpc3RlKGspOwogICAgaWYgKGxpc3RlLmxlbmd0aCA9PT0g +MCkgcmV0dXJuIHsgdGV4dDogJycsIGdlYWVuZGVydEFtOiBudWxsLCBnZWFlbmRlcnRWb246IG51 +bGwgfTsKICAgIHZhciBsZXR6dGVyID0gbGlzdGVbbGlzdGUubGVuZ3RoIC0gMV07CiAgICByZXR1 +cm4gewogICAgICAgIHRleHQ6ICAgICAgICAgbGV0enRlci50ZXh0IHx8ICcnLAogICAgICAgIGdl +YWVuZGVydEFtOiAgbGV0enRlci5nZWFlbmRlcnRBbSB8fCBudWxsLAogICAgICAgIGdlYWVuZGVy +dFZvbjogbGV0enRlci5nZWFlbmRlcnRWb24gfHwgbnVsbAogICAgfTsKfQoKLy8gS29tcGFrdGUg +TWV0YS1aZWlsZSBmdWVyIGRlbiBFZGl0b3I6ICJadWxldHp0IGdlYWVuZGVydDogMjIuMDQuMjAy +NiAxOTo0MyDCtyBOVzEyMzQ1NiIKLy8gTGVlcmVyIFN0cmluZywgd2VubiBrZWluIERhdHVtc3N0 +ZW1wZWwgdm9ybGllZ3QgKHouQi4gTWlncmF0aW9uIGF1cyBhbHRlbQovLyBTdHJpbmctRm9ybWF0 +LCBkb3J0IGdpYnQgZXMga2VpbmUgSGlzdG9yaWUpLgpleHBvcnQgZnVuY3Rpb24ga29tbWVudGFy +TWV0YVRleHQoaykgewogICAgaWYgKCFrIHx8IHR5cGVvZiBrID09PSAnc3RyaW5nJykgcmV0dXJu +ICcnOwogICAgdmFyIG0gPSBrb21tZW50YXJNZXRhKGspOwogICAgaWYgKCFtLmdlYWVuZGVydEFt +KSByZXR1cm4gJyc7CiAgICB2YXIgZCA9IG5ldyBEYXRlKG0uZ2VhZW5kZXJ0QW0pOwogICAgaWYg +KGlzTmFOKGQuZ2V0VGltZSgpKSkgcmV0dXJuICcnOwogICAgdmFyIHBhZCA9IGZ1bmN0aW9uKG4p +IHsgcmV0dXJuIChuIDwgMTAgPyAnMCcgOiAnJykgKyBuOyB9OwogICAgdmFyIGR0ID0gcGFkKGQu +Z2V0RGF0ZSgpKSArICcuJyArIHBhZChkLmdldE1vbnRoKCkgKyAxKSArICcuJyArIGQuZ2V0RnVs +bFllYXIoKSArCiAgICAgICAgICAgICAnICcgKyBwYWQoZC5nZXRIb3VycygpKSArICc6JyArIHBh +ZChkLmdldE1pbnV0ZXMoKSk7CiAgICB2YXIgcyA9ICdadWxldHp0IGdlw6RuZGVydDogJyArIGR0 +OwogICAgaWYgKG0uZ2VhZW5kZXJ0Vm9uKSBzICs9ICcgwrcgJyArIG0uZ2VhZW5kZXJ0Vm9uOwog +ICAgcmV0dXJuIHM7Cn0KCi8vIExpZWZlcnQgZGVuIFRvb2x0aXAtU3VmZml4IGlua2wuIERhdHVt +c3N0ZW1wZWwsIGZhbGxzIHZvcmhhbmRlbi4KLy8gV2lyZCBoZXV0ZSBudXIgbm9jaCB2b20gV29j +aGVucGxhbi9Mb2didWNoIGdlbnV0enQg4oCUIGltIEhhdXB0LUdyaWQga29tbXQKLy8gZGFzIEhU +TUwtUG9wb3ZlciAoa29tbWVudGFyUG9wb3ZlclplaWdlbikgenVtIEVpbnNhdHosIGRhcyBkZW4g +VGV4dAovLyBzdHJ1a3R1cmllcnQgcmVuZGVydCBzdGF0dCBpaG4gaW4gZGFzIHRpdGxlLUF0dHJp +YnV0IHp1IGtsYXRzY2hlbi4KZXhwb3J0IGZ1bmN0aW9uIGtvbW1lbnRhclRvb2x0aXAoaykgewog +ICAgaWYgKCFrKSByZXR1cm4gJyc7CiAgICB2YXIgbSA9IGtvbW1lbnRhck1ldGEoayk7CiAgICBp +ZiAoIW0udGV4dCkgcmV0dXJuICcnOwogICAgdmFyIHN1ZmZpeCA9ICcnOwogICAgaWYgKG0uZ2Vh +ZW5kZXJ0QW0pIHsKICAgICAgICAvLyBJU08gLT4gIjIyLjA0LjIwMjYgMTk6NDMiIChsb2thbGUg +RGFyc3RlbGx1bmcgb2huZSBTZWt1bmRlbikKICAgICAgICB2YXIgZCA9IG5ldyBEYXRlKG0uZ2Vh +ZW5kZXJ0QW0pOwogICAgICAgIGlmICghaXNOYU4oZC5nZXRUaW1lKCkpKSB7CiAgICAgICAgICAg +IHZhciBwYWQgPSBmdW5jdGlvbihuKSB7IHJldHVybiAobiA8IDEwID8gJzAnIDogJycpICsgbjsg +fTsKICAgICAgICAgICAgdmFyIGR0ID0gcGFkKGQuZ2V0RGF0ZSgpKSArICcuJyArIHBhZChkLmdl +dE1vbnRoKCkgKyAxKSArICcuJyArIGQuZ2V0RnVsbFllYXIoKSArCiAgICAgICAgICAgICAgICAg +ICAgICcgJyArIHBhZChkLmdldEhvdXJzKCkpICsgJzonICsgcGFkKGQuZ2V0TWludXRlcygpKTsK +ICAgICAgICAgICAgc3VmZml4ID0gJyAoenVsZXR6dCBnZcOkbmRlcnQgYW0gJyArIGR0OwogICAg +ICAgICAgICBpZiAobS5nZWFlbmRlcnRWb24pIHN1ZmZpeCArPSAnIGR1cmNoICcgKyBtLmdlYWVu +ZGVydFZvbjsKICAgICAgICAgICAgc3VmZml4ICs9ICcpJzsKICAgICAgICB9CiAgICB9CiAgICBy +ZXR1cm4gJ0tvbW1lbnRhcjogJyArIG0udGV4dCArIHN1ZmZpeDsKfQoKLy8gLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLQovLyBLb21tZW50YXItUG9wb3ZlciAoSFRNTC1WYXJpYW50ZSBkZXMgZnJ1ZWhlcmVu +IG5hdGl2ZSB0aXRsZS1TdWZmaXhlcykKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovLyBTdHJ1a3R1 +cmllcnRlcyBQb3BvdmVyIHN0YXR0IGVpbnplaWxpZ2VyIEJyb3dzZXItVG9vbHRpcC4gSG92ZXIg +b2VmZm5ldAovLyBuYWNoIDI1MCBtcywgTW91c2UtTGVhdmUgc2NobGllc3N0IG5hY2ggMTUwIG1z +IChnaWJ0IGRlbSBVc2VyIFplaXQsIHVlYmVyCi8vIGRhcyBQb3BvdmVyIHp1IGJld2VnZW4pLiBD +b250YWluZXIgbGllZ3QgZmVzdCBpbiBpbmRleC5odG1sICgjdmkzLQovLyBrb21tZW50YXItcG9w +b3ZlciksIHdpcmQgaGllciBudXIgYmVmdWVsbHQgKyBwb3NpdGlvbmllcnQuCi8vCi8vIFZlcmZh +c3NlciB3aXJkIHVlYmVyIGFuemVpZ2VOYW1lRnVlcktlbm51bmcoKSBhdXMgY29yZV91dGlsIHp1 +IGVpbmVtCi8vIGxlc2JhcmVuIE5hbWVuIGF1ZmdlbG9lc3QuIEJsZWlidCBkaWUgQXVmbG9lc3Vu +ZyBsZWVyICh6LkIuIEV4Y2VsLUltcG9ydC0KLy8gTWFya2VyIHN0YXR0IE5XLUtlbm51bmcpLCB6 +ZWlnZW4gd2lyIGRlbiBSb2h3ZXJ0LgoKdmFyIGtwX3plaWdlVGltZXIgPSBudWxsOwp2YXIga3Bf +dmVyc3RlY2tUaW1lciA9IG51bGw7CgpmdW5jdGlvbiBrcF9mb3JtYXREYXR1bVplaXQoaXNvKSB7 +CiAgICBpZiAoIWlzbykgcmV0dXJuICcnOwogICAgdmFyIGQgPSBuZXcgRGF0ZShpc28pOwogICAg +aWYgKGlzTmFOKGQuZ2V0VGltZSgpKSkgcmV0dXJuICcnOwogICAgdmFyIHBhZCA9IGZ1bmN0aW9u +KG4pIHsgcmV0dXJuIChuIDwgMTAgPyAnMCcgOiAnJykgKyBuOyB9OwogICAgcmV0dXJuIHBhZChk +LmdldERhdGUoKSkgKyAnLicgKyBwYWQoZC5nZXRNb250aCgpICsgMSkgKyAnLicgKyBkLmdldEZ1 +bGxZZWFyKCkgKwogICAgICAgICAgICcgwrcgJyArIHBhZChkLmdldEhvdXJzKCkpICsgJzonICsg +cGFkKGQuZ2V0TWludXRlcygpKTsKfQoKZnVuY3Rpb24ga3BfZWludHJhZ0h0bWwoZWludHJhZykg +ewogICAgaWYgKCFlaW50cmFnKSByZXR1cm4gJyc7CiAgICB2YXIgdGV4dCA9IGVzY2FwZUhUTUwo +ZWludHJhZy50ZXh0IHx8ICcnKS5yZXBsYWNlKC9cbi9nLCAnPGJyPicpOwogICAgdmFyIGR0ID0g +a3BfZm9ybWF0RGF0dW1aZWl0KGVpbnRyYWcuZ2VhZW5kZXJ0QW0pOwogICAgdmFyIHJvaFZlcmZh +c3NlciA9IGVpbnRyYWcuZ2VhZW5kZXJ0Vm9uIHx8ICcnOwogICAgdmFyIG5hbWVBdWZnZWxvZXN0 +ID0gcm9oVmVyZmFzc2VyID8gYW56ZWlnZU5hbWVGdWVyS2VubnVuZyhyb2hWZXJmYXNzZXIpIDog +Jyc7CiAgICAvLyBXZW5uIEF1ZmxvZXN1bmcgPT0gUm9od2VydCAoa0t1cnotRmFsbGJhY2spLCBu +aWNodCBkb3BwZWx0IHplaWdlbi4KICAgIHZhciB2ZXJmYXNzZXJBbnogPSBuYW1lQXVmZ2Vsb2Vz +dCAmJiBuYW1lQXVmZ2Vsb2VzdC50b0xvd2VyQ2FzZSgpICE9PSByb2hWZXJmYXNzZXIudG9Mb3dl +ckNhc2UoKS5zcGxpdCgnXFwnKS5wb3AoKQogICAgICAgID8gbmFtZUF1ZmdlbG9lc3QKICAgICAg +ICA6IHJvaFZlcmZhc3NlcjsKICAgIHZhciBtZXRhID0gJyc7CiAgICBpZiAodmVyZmFzc2VyQW56 +IHx8IGR0KSB7CiAgICAgICAgbWV0YSA9ICc8ZGl2IGNsYXNzPSJrcC1laW50cmFnLW1ldGEiPicg +KwogICAgICAgICAgICAgICAgICAgICh2ZXJmYXNzZXJBbnogPyAnPHNwYW4gY2xhc3M9ImtwLWVp +bnRyYWctYXV0b3IiIHRpdGxlPSInICsgZXNjYXBlSFRNTChyb2hWZXJmYXNzZXIpICsgJyI+JyAr +IGVzY2FwZUhUTUwodmVyZmFzc2VyQW56KSArICc8L3NwYW4+JyA6ICcnKSArCiAgICAgICAgICAg +ICAgICAgICAgKHZlcmZhc3NlckFueiAmJiBkdCA/ICc8c3BhbiBjbGFzcz0ia3AtZWludHJhZy10 +cmVubmVyIj7Ctzwvc3Bhbj4nIDogJycpICsKICAgICAgICAgICAgICAgICAgICAoZHQgPyAnPHNw +YW4gY2xhc3M9ImtwLWVpbnRyYWctemVpdCI+JyArIGVzY2FwZUhUTUwoZHQpICsgJzwvc3Bhbj4n +IDogJycpICsKICAgICAgICAgICAgICAgICc8L2Rpdj4nOwogICAgfQogICAgcmV0dXJuICc8ZGl2 +IGNsYXNzPSJrcC1laW50cmFnIj4nICsKICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJrcC1l +aW50cmFnLXRleHQiPicgKyB0ZXh0ICsgJzwvZGl2PicgKwogICAgICAgICAgICAgICAgbWV0YSAr +CiAgICAgICAgICAgICc8L2Rpdj4nOwp9CgpmdW5jdGlvbiBrcF9odG1sKGRhdHVtLCBrKSB7CiAg +ICB2YXIgbGlzdGUgPSBrb21tZW50YXJMaXN0ZShrKTsKICAgIGlmIChsaXN0ZS5sZW5ndGggPT09 +IDApIHJldHVybiAnJzsKICAgIHZhciBkRGUgPSBkYXR1bUZvcm1hdERFKGRhdHVtKTsKICAgIHZh +ciBuID0gbGlzdGUubGVuZ3RoOwogICAgdmFyIHRpdGVsID0gbiA9PT0gMSA/ICdLb21tZW50YXIn +IDogJ0tvbW1lbnRhcmUgKCcgKyBuICsgJyknOwogICAgLy8gTmV1ZXN0ZSB6dWVyc3Qg4oCUIFNl +cnZlciBzcGVpY2hlcnQgY2hyb25vbG9naXNjaCAoYWx0IC0+IG5ldSkuCiAgICB2YXIgYm9keSA9 +ICcnOwogICAgZm9yICh2YXIgaSA9IGxpc3RlLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CiAg +ICAgICAgYm9keSArPSBrcF9laW50cmFnSHRtbChsaXN0ZVtpXSk7CiAgICB9CiAgICByZXR1cm4g +JzxkaXYgY2xhc3M9ImtwLWtvcGYiPicgKwogICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJr +cC1rb3BmLXRpdGVsIj4nICsgZXNjYXBlSFRNTCh0aXRlbCkgKyAnPC9zcGFuPicgKwogICAgICAg +ICAgICAgICAgJzxzcGFuIGNsYXNzPSJrcC1rb3BmLWRhdHVtIj4nICsgZXNjYXBlSFRNTChkRGUp +ICsgJzwvc3Bhbj4nICsKICAgICAgICAgICAgJzwvZGl2PicgKwogICAgICAgICAgICAnPGRpdiBj +bGFzcz0ia3AtYm9keSBrcC1ib2R5LXN0YWNrIj4nICsgYm9keSArICc8L2Rpdj4nOwp9CgpmdW5j +dGlvbiBrcF9wb3NpdGlvbmllcmVuKHBvcCwgYW5rZXIpIHsKICAgIHZhciBhciA9IGFua2VyLmdl +dEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgdmFyIHZ3ID0gd2luZG93LmlubmVyV2lkdGg7CiAg +ICB2YXIgdmggPSB3aW5kb3cuaW5uZXJIZWlnaHQ7CiAgICBwb3AuY2xhc3NMaXN0LnJlbW92ZSgn +dmVyc3RlY2t0Jyk7CiAgICBwb3Auc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nOwogICAgdmFy +IHB3ID0gcG9wLm9mZnNldFdpZHRoOwogICAgdmFyIHBoID0gcG9wLm9mZnNldEhlaWdodDsKICAg +IHZhciByYW5kID0gNjsKICAgIC8vIEJldm9yenVndCB1bnRlciBkZXIgWmVsbGUsIHNvbnN0IGRh +cnVlYmVyLgogICAgdmFyIHRvcCA9IGFyLmJvdHRvbSArIHJhbmQ7CiAgICBpZiAodG9wICsgcGgg +PiB2aCAtIDYpIHRvcCA9IGFyLnRvcCAtIHBoIC0gcmFuZDsKICAgIGlmICh0b3AgPCA2KSB0b3Ag +PSA2OwogICAgLy8gSG9yaXpvbnRhbCBhbiBkZXIgbGlua2VuIFplbGxrYW50ZSBhdXNyaWNodGVu +LCBhYmVyIG5pY2h0IHVlYmVyIGRlbgogICAgLy8gVmlld3BvcnQtUmFuZCByYWdlbiBsYXNzZW4u +CiAgICB2YXIgbGVmdCA9IGFyLmxlZnQ7CiAgICBpZiAobGVmdCArIHB3ID4gdncgLSA2KSBsZWZ0 +ID0gdncgLSBwdyAtIDY7CiAgICBpZiAobGVmdCA8IDYpIGxlZnQgPSA2OwogICAgcG9wLnN0eWxl +LmxlZnQgPSBNYXRoLnJvdW5kKGxlZnQpICsgJ3B4JzsKICAgIHBvcC5zdHlsZS50b3AgID0gTWF0 +aC5yb3VuZCh0b3ApICArICdweCc7CiAgICBwb3Auc3R5bGUudmlzaWJpbGl0eSA9ICcnOwp9Cgpl +eHBvcnQgZnVuY3Rpb24ga29tbWVudGFyUG9wb3ZlclplaWdlbih6ZWxsZSkgewogICAgaWYgKCF6 +ZWxsZSB8fCAhemVsbGUuY2xhc3NMaXN0IHx8ICF6ZWxsZS5jbGFzc0xpc3QuY29udGFpbnMoJ2hh +dC1rb21tZW50YXInKSkgcmV0dXJuOwogICAgaWYgKGtwX3ZlcnN0ZWNrVGltZXIpIHsgY2xlYXJU +aW1lb3V0KGtwX3ZlcnN0ZWNrVGltZXIpOyBrcF92ZXJzdGVja1RpbWVyID0gbnVsbDsgfQogICAg +aWYgKGtwX3plaWdlVGltZXIpICAgIHsgY2xlYXJUaW1lb3V0KGtwX3plaWdlVGltZXIpOyBrcF96 +ZWlnZVRpbWVyID0gbnVsbDsgfQogICAga3BfemVpZ2VUaW1lciA9IHNldFRpbWVvdXQoZnVuY3Rp +b24oKSB7CiAgICAgICAga3BfemVpZ2VUaW1lciA9IG51bGw7CiAgICAgICAgdmFyIGRhdHVtID0g +emVsbGUuZ2V0QXR0cmlidXRlKCdkYXRhLWRhdHVtJyk7CiAgICAgICAgdmFyIHBpZCAgID0gemVs +bGUuZ2V0QXR0cmlidXRlKCdkYXRhLXBlcnNvbicpOwogICAgICAgIGlmICghZGF0dW0gfHwgIXBp +ZCkgcmV0dXJuOwogICAgICAgIHZhciBrID0ga29tbWVudGFyRWludHJhZyhkYXR1bSwgcGlkKTsK +ICAgICAgICBpZiAoIWsgfHwgIWtvbW1lbnRhclRleHQoaykpIHJldHVybjsKICAgICAgICB2YXIg +cG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpMy1rb21tZW50YXItcG9wb3ZlcicpOwog +ICAgICAgIGlmICghcG9wKSByZXR1cm47CiAgICAgICAgcG9wLmlubmVySFRNTCA9IGtwX2h0bWwo +ZGF0dW0sIGspOwogICAgICAgIHBvcC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ2ZhbHNl +Jyk7CiAgICAgICAga3BfcG9zaXRpb25pZXJlbihwb3AsIHplbGxlKTsKICAgIH0sIDI1MCk7Cn0K +CmV4cG9ydCBmdW5jdGlvbiBrb21tZW50YXJQb3BvdmVyVmVyc3RlY2tlbigpIHsKICAgIGlmIChr +cF96ZWlnZVRpbWVyKSAgICB7IGNsZWFyVGltZW91dChrcF96ZWlnZVRpbWVyKTsga3BfemVpZ2VU +aW1lciA9IG51bGw7IH0KICAgIGlmIChrcF92ZXJzdGVja1RpbWVyKSBjbGVhclRpbWVvdXQoa3Bf +dmVyc3RlY2tUaW1lcik7CiAgICBrcF92ZXJzdGVja1RpbWVyID0gc2V0VGltZW91dChmdW5jdGlv +bigpIHsKICAgICAgICB2YXIgcG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpMy1rb21t +ZW50YXItcG9wb3ZlcicpOwogICAgICAgIGlmIChwb3ApIHsKICAgICAgICAgICAgcG9wLmNsYXNz +TGlzdC5hZGQoJ3ZlcnN0ZWNrdCcpOwogICAgICAgICAgICBwb3Auc2V0QXR0cmlidXRlKCdhcmlh +LWhpZGRlbicsICd0cnVlJyk7CiAgICAgICAgfQogICAgfSwgMTUwKTsKfQoKLy8gV2lyZCB2b20g +UG9wb3ZlciBzZWxic3QgKG1vdXNlZW50ZXIpIGdlcnVmZW4sIGRhbWl0IGVzIG9mZmVuIGJsZWli +dAovLyBzb2xhbmdlIGRlciBVc2VyIG1pdCBkZXIgTWF1cyBkcnVlYmVyIGlzdC4KZXhwb3J0IGZ1 +bmN0aW9uIGtvbW1lbnRhclBvcG92ZXJGZXN0aGFsdGVuKCkgewogICAgaWYgKGtwX3ZlcnN0ZWNr +VGltZXIpIHsgY2xlYXJUaW1lb3V0KGtwX3ZlcnN0ZWNrVGltZXIpOyBrcF92ZXJzdGVja1RpbWVy +ID0gbnVsbDsgfQp9CgpleHBvcnQgZnVuY3Rpb24ga29tbWVudGFyTGFkZW4oZGF0dW0sIHBlcnNv +bklkKSB7CiAgICByZXR1cm4ga29tbWVudGFyVGV4dChrb21tZW50YXJFaW50cmFnKGRhdHVtLCBw +ZXJzb25JZCkpOwp9CgovLyBIYWVuZ3QgZWluZW4gbmV1ZW4gS29tbWVudGFyIGFuLiBFcnNhdHog +ZnVlciBkYXMgZnJ1ZWhlciB1ZWJlcnNjaHJlaWJlbmRlCi8vIGtvbW1lbnRhclNwZWljaGVybigp +IOKAlCBhbHRlIEF1ZnJ1ZmVyLCBkaWUgZWluZW4gbGVlcmVuIFRleHQgdWViZXJnZWJlbiwKLy8g +ZXJoYWx0ZW4gamV0enQgbnVyIGVpbiBuby1vcCAoTG9lc2NoZW4gZ2VodCB1ZWJlciBrb21tZW50 +YXJMb2VzY2hlbikuCi8vIENhbGxiYWNrIGVyaGFlbHQgZGllIG5ldSB2ZXJnZWJlbmUgS29tbWVu +dGFyLUlELCBzb2JhbGQgZGVyIFNlcnZlciBiZXN0YWV0aWd0LgpleHBvcnQgZnVuY3Rpb24ga29t +bWVudGFySGluenVmdWVnZW4oZGF0dW0sIHBlcnNvbklkLCB0ZXh0LCBvbkZlcnRpZykgewogICAg +dGV4dCA9ICh0ZXh0IHx8ICcnKS50cmltKCk7CiAgICBpZiAoIXRleHQpIHsKICAgICAgICBpZiAo +dHlwZW9mIG9uRmVydGlnID09PSAnZnVuY3Rpb24nKSBvbkZlcnRpZyhudWxsKTsKICAgICAgICBy +ZXR1cm47CiAgICB9CiAgICBpZiAoIVoucGxhbnVuZy5rb21tZW50YXJlKSBaLnBsYW51bmcua29t +bWVudGFyZSA9IHt9OwogICAgaWYgKCFaLnBsYW51bmcua29tbWVudGFyZVtkYXR1bV0pIFoucGxh +bnVuZy5rb21tZW50YXJlW2RhdHVtXSA9IHt9OwogICAgdmFyIHBpZFN0ciA9IFN0cmluZyhwZXJz +b25JZCk7CiAgICAvLyBPcHRpbWlzdGlzY2ggbG9rYWwgYW5oYWVuZ2VuIOKAlCB0ZW1wb3JhZXJl +IElELCB3aXJkIGR1cmNoIFNlcnZlci1JRCBlcnNldHp0LgogICAgdmFyIHRlbXBJZCA9ICdrX2xv +a2FsXycgKyBEYXRlLm5vdygpICsgJ18nICsgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogOTk5 +OTkpOwogICAgdmFyIGxpc3RlID0ga29tbWVudGFyTGlzdGUoWi5wbGFudW5nLmtvbW1lbnRhcmVb +ZGF0dW1dW3BpZFN0cl0pLnNsaWNlKCk7CiAgICBsaXN0ZS5wdXNoKHsKICAgICAgICBpZDogICAg +ICAgICAgIHRlbXBJZCwKICAgICAgICB0ZXh0OiAgICAgICAgIHRleHQsCiAgICAgICAgZ2VhZW5k +ZXJ0QW06ICBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksCiAgICAgICAgZ2VhZW5kZXJ0Vm9uOiBa +LmJlbnV0emVyIHx8ICcnCiAgICB9KTsKICAgIFoucGxhbnVuZy5rb21tZW50YXJlW2RhdHVtXVtw +aWRTdHJdID0gbGlzdGU7CiAgICB2YXIgeiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5ncmlk +LXplbGxlW2RhdGEtZGF0dW09IicgKyBkYXR1bSArICciXVtkYXRhLXBlcnNvbj0iJyArIHBpZFN0 +ciArICciXScpOwogICAgaWYgKHopIHouY2xhc3NMaXN0LmFkZCgnaGF0LWtvbW1lbnRhcicpOwoK +ICAgIGFwaVBvc3QoJy9hcGkvcGxhbnVuZy9rb21tZW50YXInLCB7IGRhdHVtOiBkYXR1bSwgcGVy +c29uSWQ6IHBlcnNvbklkLCB0ZXh0OiB0ZXh0IH0pCiAgICAgICAgLnRoZW4oZnVuY3Rpb24ocmVz +KSB7CiAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmtvbW1lbnRhcklkKSB7CiAgICAgICAgICAg +ICAgICAvLyBTZXJ2ZXItU3RhbmQgdWViZXJuZWhtZW46IElEICsgU2VydmVyLVplaXRzdGVtcGVs +IGVyc2V0emVuCiAgICAgICAgICAgICAgICAvLyBkZW4gb3B0aW1pc3Rpc2NoZW4gRWludHJhZyAo +Z2xlaWNoZXIgVGV4dCwgbmV1ZXJlIFdlcnRlKS4KICAgICAgICAgICAgICAgIHZhciBha3R1ZWxs +ID0ga29tbWVudGFyTGlzdGUoWi5wbGFudW5nLmtvbW1lbnRhcmVbZGF0dW1dW3BpZFN0cl0pLnNs +aWNlKCk7CiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gYWt0dWVsbC5sZW5ndGggLSAxOyBp +ID49IDA7IGktLSkgewogICAgICAgICAgICAgICAgICAgIGlmIChha3R1ZWxsW2ldLmlkID09PSB0 +ZW1wSWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgYWt0dWVsbFtpXSA9IHsKICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIGlkOiAgICAgICAgICAgcmVzLmtvbW1lbnRhcklkLAogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgdGV4dDogICAgICAgICB0ZXh0LAogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgZ2VhZW5kZXJ0QW06ICByZXMuZ2VhZW5kZXJ0QW0gfHwgYWt0dWVsbFtpXS5n +ZWFlbmRlcnRBbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlYWVuZGVydFZvbjogcmVz +LmdlYWVuZGVydFZvbiB8fCBha3R1ZWxsW2ldLmdlYWVuZGVydFZvbgogICAgICAgICAgICAgICAg +ICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAg +ICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBaLnBsYW51bmcua29tbWVu +dGFyZVtkYXR1bV1bcGlkU3RyXSA9IGFrdHVlbGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAg +dG9hc3QoJ0tvbW1lbnRhciBoaW56dWdlZsO8Z3QnLCAnZXJmb2xnJyk7CiAgICAgICAgICAgIGlm +ICh0eXBlb2Ygb25GZXJ0aWcgPT09ICdmdW5jdGlvbicpIG9uRmVydGlnKHJlcyAmJiByZXMua29t +bWVudGFySWQgfHwgbnVsbCk7CiAgICAgICAgfSkKICAgICAgICAuY2F0Y2goZnVuY3Rpb24oZSkg +ewogICAgICAgICAgICAvLyBPcHRpbWlzdGlzY2hlbiBFaW50cmFnIHp1cnVlY2tuZWhtZW4sIGRh +bWl0IGxva2FsZXIgU3RhbmQgbmljaHQKICAgICAgICAgICAgLy8gZGF1ZXJoYWZ0IG1pdCBlaW5l +bSBuaWNodC1wZXJzaXN0aWVydGVuIEtvbW1lbnRhciBsZWJ0LgogICAgICAgICAgICB2YXIgYWt0 +dWVsbCA9IGtvbW1lbnRhckxpc3RlKFoucGxhbnVuZy5rb21tZW50YXJlW2RhdHVtXVtwaWRTdHJd +KQogICAgICAgICAgICAgICAgLmZpbHRlcihmdW5jdGlvbihrKSB7IHJldHVybiBrLmlkICE9PSB0 +ZW1wSWQ7IH0pOwogICAgICAgICAgICBpZiAoYWt0dWVsbC5sZW5ndGgpIHsKICAgICAgICAgICAg +ICAgIFoucGxhbnVuZy5rb21tZW50YXJlW2RhdHVtXVtwaWRTdHJdID0gYWt0dWVsbDsKICAgICAg +ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGRlbGV0ZSBaLnBsYW51bmcua29tbWVudGFy +ZVtkYXR1bV1bcGlkU3RyXTsKICAgICAgICAgICAgICAgIGlmICh6KSB6LmNsYXNzTGlzdC5yZW1v +dmUoJ2hhdC1rb21tZW50YXInKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0b2FzdCgnRmVo +bGVyOiAnICsgZS5tZXNzYWdlLCAnZmVobGVyJyk7CiAgICAgICAgICAgIGlmICh0eXBlb2Ygb25G +ZXJ0aWcgPT09ICdmdW5jdGlvbicpIG9uRmVydGlnKG51bGwpOwogICAgICAgIH0pOwp9CgovLyBM +b2VzY2h0IGVpbmVuIGVpbnplbG5lbiBLb21tZW50YXIgYXVzIGRlciBMaXN0ZS4gQmVyZWNodGln +dW5nIHdpcmQKLy8gc2VydmVyc2VpdGlnIGdlZ2VuIGlzdFN1cGVyVXNlciArIGlzdEdlc2FtdHZl +cmFudHdvcnRsaWNoIGdlcHJ1ZWZ0IOKAlAovLyBoaWVyIG51ciBvcHRpbWlzdGlzY2hlIGxva2Fs +ZSBFbnRmZXJudW5nIG1pdCBSb2xsYmFjayBiZWkgRmVobGVyLgpleHBvcnQgZnVuY3Rpb24ga29t +bWVudGFyTG9lc2NoZW4oZGF0dW0sIHBlcnNvbklkLCBrb21tZW50YXJJZCwgb25GZXJ0aWcpIHsK +ICAgIHZhciBwaWRTdHIgPSBTdHJpbmcocGVyc29uSWQpOwogICAgdmFyIHZvcmggPSBaLnBsYW51 +bmcua29tbWVudGFyZSAmJiBaLnBsYW51bmcua29tbWVudGFyZVtkYXR1bV0gJiYgWi5wbGFudW5n +LmtvbW1lbnRhcmVbZGF0dW1dW3BpZFN0cl07CiAgICB2YXIgbGlzdGVWb3JoZXIgPSBrb21tZW50 +YXJMaXN0ZSh2b3JoKTsKICAgIHZhciBsaXN0ZU5hY2hoZXIgPSBsaXN0ZVZvcmhlci5maWx0ZXIo +ZnVuY3Rpb24oaykgeyByZXR1cm4gay5pZCAhPT0ga29tbWVudGFySWQ7IH0pOwogICAgaWYgKGxp +c3RlTmFjaGhlci5sZW5ndGggPT09IGxpc3RlVm9yaGVyLmxlbmd0aCkgewogICAgICAgIHRvYXN0 +KCdLb21tZW50YXIgbG9rYWwgbmljaHQgZ2VmdW5kZW4nLCAnd2FybnVuZycpOwogICAgICAgIGlm +ICh0eXBlb2Ygb25GZXJ0aWcgPT09ICdmdW5jdGlvbicpIG9uRmVydGlnKGZhbHNlKTsKICAgICAg +ICByZXR1cm47CiAgICB9CiAgICAvLyBPcHRpbWlzdGlzY2ggbG9rYWwgZW50ZmVybmVuCiAgICBp +ZiAobGlzdGVOYWNoaGVyLmxlbmd0aCkgewogICAgICAgIFoucGxhbnVuZy5rb21tZW50YXJlW2Rh +dHVtXVtwaWRTdHJdID0gbGlzdGVOYWNoaGVyOwogICAgfSBlbHNlIHsKICAgICAgICBkZWxldGUg +Wi5wbGFudW5nLmtvbW1lbnRhcmVbZGF0dW1dW3BpZFN0cl07CiAgICAgICAgdmFyIHogPSBkb2N1 +bWVudC5xdWVyeVNlbGVjdG9yKCcuZ3JpZC16ZWxsZVtkYXRhLWRhdHVtPSInICsgZGF0dW0gKyAn +Il1bZGF0YS1wZXJzb249IicgKyBwaWRTdHIgKyAnIl0nKTsKICAgICAgICBpZiAoeikgei5jbGFz +c0xpc3QucmVtb3ZlKCdoYXQta29tbWVudGFyJyk7CiAgICB9CiAgICAvLyBERUxFVEUgbWl0IEJv +ZHkg4oCUIGFwaURlbGV0ZSBpbSBjb3JlX2FwaSBoYXQga2VpbmVuIEJvZHktUGFyYW1ldGVyLAog +ICAgLy8gZGFoZXIgZGlyZWt0ZXIgYXBpKCktQXVmcnVmLgogICAgYXBpKCcvYXBpL3BsYW51bmcv +a29tbWVudGFyJywgewogICAgICAgIG1ldGhvZDogICdERUxFVEUnLAogICAgICAgIGhlYWRlcnM6 +IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LAogICAgICAgIGJvZHk6ICAg +IEpTT04uc3RyaW5naWZ5KHsgZGF0dW06IGRhdHVtLCBwZXJzb25JZDogcGVyc29uSWQsIGtvbW1l +bnRhcklkOiBrb21tZW50YXJJZCB9KQogICAgfSkKICAgICAgICAudGhlbihmdW5jdGlvbigpIHsK +ICAgICAgICAgICAgdG9hc3QoJ0tvbW1lbnRhciBnZWzDtnNjaHQnLCAnZXJmb2xnJyk7CiAgICAg +ICAgICAgIGlmICh0eXBlb2Ygb25GZXJ0aWcgPT09ICdmdW5jdGlvbicpIG9uRmVydGlnKHRydWUp +OwogICAgICAgIH0pCiAgICAgICAgLmNhdGNoKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgLy8g +Um9sbGJhY2sKICAgICAgICAgICAgWi5wbGFudW5nLmtvbW1lbnRhcmVbZGF0dW1dID0gWi5wbGFu +dW5nLmtvbW1lbnRhcmVbZGF0dW1dIHx8IHt9OwogICAgICAgICAgICBaLnBsYW51bmcua29tbWVu +dGFyZVtkYXR1bV1bcGlkU3RyXSA9IGxpc3RlVm9yaGVyOwogICAgICAgICAgICB2YXIgejIgPSBk +b2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuZ3JpZC16ZWxsZVtkYXRhLWRhdHVtPSInICsgZGF0dW0g +KyAnIl1bZGF0YS1wZXJzb249IicgKyBwaWRTdHIgKyAnIl0nKTsKICAgICAgICAgICAgaWYgKHoy +KSB6Mi5jbGFzc0xpc3QuYWRkKCdoYXQta29tbWVudGFyJyk7CiAgICAgICAgICAgIHRvYXN0KCdM +w7ZzY2hlbiBmZWhsZ2VzY2hsYWdlbjogJyArIGUubWVzc2FnZSwgJ2ZlaGxlcicpOwogICAgICAg +ICAgICBpZiAodHlwZW9mIG9uRmVydGlnID09PSAnZnVuY3Rpb24nKSBvbkZlcnRpZyhmYWxzZSk7 +CiAgICAgICAgfSk7Cn0KCi8vIExlZ2FjeS1XcmFwcGVyOiBmYWVsbHQgYXVmIEhpbnp1ZnVlZ2Vu +IC8gTG9lc2NoZW4tYWxsZXIgenVydWVjay4gTnVyIGZ1ZXIKLy8gQXVmcnVmZXIsIGRpZSBub2No +IG5pY2h0IGF1ZiBkaWUgbmV1ZW4gRnVua3Rpb25lbiB1bWdlc3RlbGx0IHNpbmQgKHouQi4KLy8g +YWx0ZSBCdWxrLU9wZXJhdGlvbmVuKS4gTmV1ZXIgQ29kZSBudXR6dCBrb21tZW50YXJIaW56dWZ1 +ZWdlbiBkaXJla3QuCmV4cG9ydCBmdW5jdGlvbiBrb21tZW50YXJTcGVpY2hlcm4oZGF0dW0sIHBl +cnNvbklkLCB0ZXh0KSB7CiAgICB0ZXh0ID0gKHRleHQgfHwgJycpLnRyaW0oKTsKICAgIGlmICh0 +ZXh0KSB7CiAgICAgICAga29tbWVudGFySGluenVmdWVnZW4oZGF0dW0sIHBlcnNvbklkLCB0ZXh0 +KTsKICAgIH0gZWxzZSB7CiAgICAgICAgLy8gTGVlcmVyIFRleHQgdm9tIExlZ2FjeS1FZGl0b3Ig +aGVpc3N0OiBhbGxlcyBsb2VzY2hlbi4gV2lyIGxvZXNjaGVuCiAgICAgICAgLy8gZGVuIGp1ZW5n +c3RlbiBLb21tZW50YXIgKGRpZSBBdXN3aXJrdW5nIGlzdCBkaWUgZ2xlaWNoZSB3aWUgZnJ1ZWhl +ciwKICAgICAgICAvLyB3ZW5uIG51ciBlaW5lciBleGlzdGllcnQ7IGJlaSBtZWhyZXJlbiBibGVp +YnQgZGVyIFZlcmxhdWYgZXJoYWx0ZW4pLgogICAgICAgIHZhciBsaXN0ZSA9IGtvbW1lbnRhckxp +c3RlKGtvbW1lbnRhckVpbnRyYWcoZGF0dW0sIHBlcnNvbklkKSk7CiAgICAgICAgaWYgKGxpc3Rl +Lmxlbmd0aCA9PT0gMCkgcmV0dXJuOwogICAgICAgIGtvbW1lbnRhckxvZXNjaGVuKGRhdHVtLCBw +ZXJzb25JZCwgbGlzdGVbbGlzdGUubGVuZ3RoIC0gMV0uaWQpOwogICAgfQp9CgpleHBvcnQgZnVu +Y3Rpb24ga29tbWVudGFyZUltR3JpZEFuemVpZ2VuKCkgewogICAgdmFyIGtvbW1lbnRhcmUgPSBa +LnBsYW51bmcua29tbWVudGFyZSB8fCB7fTsKICAgIE9iamVjdC5rZXlzKGtvbW1lbnRhcmUpLmZv +ckVhY2goZnVuY3Rpb24oZGF0dW0pIHsKICAgICAgICB2YXIgdGFnS29tbSA9IGtvbW1lbnRhcmVb +ZGF0dW1dOwogICAgICAgIE9iamVjdC5rZXlzKHRhZ0tvbW0pLmZvckVhY2goZnVuY3Rpb24ocGlk +KSB7CiAgICAgICAgICAgIHZhciBhbnphaGwgPSBrb21tZW50YXJBbnphaGwodGFnS29tbVtwaWRd +KTsKICAgICAgICAgICAgaWYgKGFuemFobCA9PT0gMCkgcmV0dXJuOwogICAgICAgICAgICB2YXIg +eiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5ncmlkLXplbGxlW2RhdGEtZGF0dW09IicgKyBk +YXR1bSArICciXVtkYXRhLXBlcnNvbj0iJyArIHBpZCArICciXScpOwogICAgICAgICAgICBpZiAo +IXopIHJldHVybjsKICAgICAgICAgICAgei5jbGFzc0xpc3QuYWRkKCdoYXQta29tbWVudGFyJyk7 +CiAgICAgICAgICAgIC8vIENvdW50ZXItQXR0cmlidXQgc3RldWVydCBkZW4gTXVsdGktS29tbWVu +dGFyLUluZGlrYXRvciBpbSBDU1MKICAgICAgICAgICAgLy8gKGRhdGEta29tbWVudGFyLWFuemFo +bD0yLi5OIC0+IHp1c2FldHpsaWNoZXMgQmFkZ2UgbWl0IFphaGwpLgogICAgICAgICAgICAvLyBC +ZWkgMSBLb21tZW50YXIgYmxlaWJ0IG51ciBkZXIgc2NobGljaHRlIEVjay1EcmVpZWNrLU1hcmtl +ci4KICAgICAgICAgICAgaWYgKGFuemFobCA+IDEpIHsKICAgICAgICAgICAgICAgIHouc2V0QXR0 +cmlidXRlKCdkYXRhLWtvbW1lbnRhci1hbnphaGwnLCBTdHJpbmcoYW56YWhsKSk7CiAgICAgICAg +ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB6LnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1rb21t +ZW50YXItYW56YWhsJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gS2VpbiB0aXRsZS1T +dWZmaXggbWVociDigJQgZGFzIEhUTUwtUG9wb3ZlciAoa29tbWVudGFyUG9wb3ZlclplaWdlbikK +ICAgICAgICAgICAgLy8gcmVuZGVydCBiZWltIEhvdmVyIGRlbiB2b2xsc3RhZW5kaWdlbiBJbmhh +bHQuIE5hdGl2ZSB0aXRsZSBibGVpYnQKICAgICAgICAgICAgLy8gZGFtaXQgZnVlciBTY2hpY2h0 +Y29kZS9Mb2NrL1ZlcmZ1ZWdiYXJrZWl0IHJlc2VydmllcnQuCiAgICAgICAgfSk7CiAgICB9KTsK +fQoKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PQovLyBGSUxMLUhBTkRMRSAoRXhjZWwtYWVobmxpY2hl +ciBGdWVsbC1HcmlmZiBmdWVyIFBsYW5ndW5ncy1aZWxsZW4pCi8vCi8vIE5hY2ggZGVtIFNwZWlj +aGVybiBlaW5lcyBTY2hpY2h0d2VydHMgZXJzY2hlaW50IHVudGVuIHJlY2h0cyBhbiBkZXIKLy8g +UXVlbGwtWmVsbGUgZWluIGtsZWluZXMgYmxhdWVzIFF1YWRyYXQuIE1pdCBnZWRydWVja3RlciBN +YXVzdGFzdGUgbmFjaAovLyByZWNodHMgb2RlciBsaW5rcyB6aWVoZW4gLT4gZGVyIFdlcnQgd2ly +ZCBhdWYgZGllIHVlYmVyc3RyaWNoZW5lbiBUYWdlCi8vIGRlcnNlbGJlbiBQZXJzb24gdWViZXJ0 +cmFnZW4gKGdlbmF1IHdpZSBkYXMgRXhjZWwtRnVlbGxrYWVzdGNoZW4pLgovLwovLyBQZXJtaXNz +aW9uLUNoZWNrIGplIFppZWwtWmVsbGUgdWViZXIgZGFyZlplbGxlRWRpdGllcmVuIC0tIGdlc3Bl +cnJ0ZQovLyBaZWxsZW4gd2VyZGVuIHVlYmVyc3BydW5nZW4sIG5pY2h0IGdlZnVlbGx0LiBEaWUg +ZWlnZW50bGljaGUgU2NocmVpYi0KLy8gb3BlcmF0aW9uIGxhZXVmdCBhbHMgZWluIGVpbnppZ2Vy +IEJ1bGstUE9TVCBhbiAvYXBpL3BsYW51bmcvemVsbGVuLWJ1bGsKLy8gLS0gZWluIEhUVFAtUm91 +bmR0cmlwICsgZWluIERhdGVpLVNjaHJlaWJ2b3JnYW5nIGZ1ZXIgZGVuIGdhbnplbiBEcmFnLgov +LyBPcHRpbWlzdGlzY2hlcyBsb2thbGVzIFVwZGF0ZSArIFJvbGxiYWNrIGJlaSBTZXJ2ZXItRmVo +bGVyIG9kZXIgcGVyLQovLyBaZWxsZS1QZXJtaXNzaW9uLUFibGVobnVuZy4KLy8gPT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PQoKdmFyIGZ1ZWxsID0geyBxdWVsbGU6IG51bGwsIGFrdGl2OiBmYWxzZSwgemll +bGU6IFtdIH07CgovLyBTcHJpbnQgRC0xICgyMDI2LTA1LTI5KTogRWlubWFsaWdlciBEaXNjb3Zl +cnktSGludCBmdWVyIGRlbiBGaWxsLUhhbmRsZS4KLy8gVXNlciB3aXNzZW4gb2Z0IG5pY2h0LCBk +YXNzIGRhcyBrbGVpbmUgUXVhZHJhdCB1bnRlbiByZWNodHMgaW4gZGVyIGFrdGl2ZW4KLy8gWmVs +bGUgRXhjZWwtYWVobmxpY2hlIERyYWctRmlsbC1GdW5rdGlvbmFsaXRhZXQgYmlldGV0LiBCZWlt +IGVyc3RlbiBNYWwKLy8gemVpZ2VuIHdpciBlaW5lbiBUaXBwLVRvYXN0LCBkYW5hY2ggbmllIHdp +ZWRlciAobG9jYWxTdG9yYWdlLUZsYWcpLgovLyAudjI6IFRpcHAtVGV4dCB3dXJkZSBrb3JyaWdp +ZXJ0IChudXIgbGlua3MvcmVjaHRzKSDigJQgS2V5IGdlYnVtcHQsIGRhbWl0IGRlcgovLyBuZXVl +IEhpbndlaXMgYXVjaCBOdXR6ZXJuLCBkaWUgZGVuIGFsdGVuIGdlc2VoZW4gaGFiZW4sIGVpbm1h +bGlnIGVyc2NoZWludC4KdmFyIEZJTExfSElOVF9MU19LRVkgPSAndmkzLmZpbGxIYW5kbGVIaW50 +R2VzZWhlbi52Mic7CmZ1bmN0aW9uIGZ1ZWxsSGludEVpbm1hbGlnWmVpZ2VuKCkgewogICAgdHJ5 +IHsKICAgICAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oRklMTF9ISU5UX0xTX0tFWSkgPT09 +ICcxJykgcmV0dXJuOwogICAgICAgIHRvYXN0KCdUaXBwOiBEYXMga2xlaW5lIFF1YWRyYXQgdW50 +ZW4gcmVjaHRzIGluIGRlciBaZWxsZSBrYW5uc3QgZHUgbmFjaCBsaW5rcyBvZGVyIHJlY2h0cyB6 +aWVoZW4g4oCUIGRlciBXZXJ0IHdpcmQgYXVmIGFsbGUgWmVsbGVuIGluIGRlcnNlbGJlbiBaZWls +ZSB1ZWJlcnRyYWdlbi4gKE51ciBpbm5lcmhhbGIgZGVyIGVpZ2VuZW4gWmVpbGUsIGtlaW4gQXVz +ZnVlbGxlbiBuYWNoIG9iZW4vdW50ZW4uKScsICdpbmZvJywgeyBkYXVlcjogMTAwMDAgfSk7CiAg +ICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oRklMTF9ISU5UX0xTX0tFWSwgJzEnKTsKICAgIH0g +Y2F0Y2ggKF8pIHsgLyogbG9jYWxTdG9yYWdlIGthbm4gYmxvY2tpZXJ0IHNlaW4sIGRhbm4gZWJl +biBrZWluIEhpbnQgKi8gfQp9CgpleHBvcnQgZnVuY3Rpb24gZnVlbGxIYW5kbGVaZWlnZW4ocXVl +bGxlKSB7CiAgICAvLyBxdWVsbGUgPSB7IGRhdHVtLCBwaWQsIHdlcnQgfQogICAgZnVlbGxIYW5k +bGVWZXJzdGVja2VuKCk7CiAgICBmdWVsbC5xdWVsbGUgPSBxdWVsbGU7CiAgICBmdWVsbEhpbnRF +aW5tYWxpZ1plaWdlbigpOwogICAgLy8gSGF1cHQtU2VsZWt0b3IgKHplaWxlLWdlYnVuZGVuKSAr +IEZhbGxiYWNrICh6ZWxsZSBkaXJla3QpIOKAlCBaZWxsZW4KICAgIC8vIHRyYWdlbiBzb3dvaGwg +ZGF0YS1kYXR1bSBhbHMgYXVjaCBkYXRhLXBlcnNvbiwgZGVyIEZhbGxiYWNrIGdyZWlmdAogICAg +Ly8gZmFsbHMgZGllIGdyaWQtemVpbGUtV3JhcHBlci1TdHJ1a3R1ciBzaWNoIGFlbmRlcnQuCiAg +ICB2YXIgcXVlbGxaZWxsZSA9CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2dyaWQt +ZGF0ZW4gLmdyaWQtemVpbGVbZGF0YS1wZXJzb24taWQ9IicgKyBxdWVsbGUucGlkICsKICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICciXSAuZ3JpZC16ZWxsZVtkYXRhLWRhdHVtPSInICsg +cXVlbGxlLmRhdHVtICsgJyJdJykgfHwKICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcu +Z3JpZC16ZWxsZVtkYXRhLWRhdHVtPSInICsgcXVlbGxlLmRhdHVtICsKICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICciXVtkYXRhLXBlcnNvbj0iJyArIHF1ZWxsZS5waWQgKyAnIl0nKTsK +ICAgIGlmICghcXVlbGxaZWxsZSkgcmV0dXJuOwogICAgcXVlbGxaZWxsZS5jbGFzc0xpc3QuYWRk +KCdncmlkLXplbGxlLWZpbGwtc291cmNlJyk7CiAgICB2YXIgaCA9IGRvY3VtZW50LmdldEVsZW1l +bnRCeUlkKCdmaWxsLWhhbmRsZScpOwogICAgaWYgKCFoKSB7CiAgICAgICAgaCA9IGRvY3VtZW50 +LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgIGguaWQgPSAnZmlsbC1oYW5kbGUnOwogICAg +ICAgIGgudGl0bGUgPSAnWmllaGVuLCB1bSBkZW4gV2VydCBhdWYgd2VpdGVyZSBUYWdlIGluIGRp +ZXNlciBaZWlsZSB6dSDDvGJlcnRyYWdlbic7CiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD +aGlsZChoKTsKICAgICAgICBoLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGZ1ZWxsU3Rh +cnQpOwogICAgfQogICAgLy8gSGFuZGxlIHZvbGxzdGFlbmRpZyBJTk5FUkhBTEIgZGVyIFplbGxl +IGluIGRlciB1bnRlcmVuIHJlY2h0ZW4gRWNrZQogICAgLy8gcGxhdHppZXJlbiAoOHg4cHggSWNv +biArIDFweCBSYW5kIHp1bSBaZWxscmFuZCkuIFdlcnRlIG11ZXNzZW4gbWl0CiAgICAvLyBDU1Mt +R3JvZXNzZSAjZmlsbC1oYW5kbGUgaW4gc3R5bGUuY3NzIHp1c2FtbWVucGFzc2VuLgogICAgdmFy +IHIgPSBxdWVsbFplbGxlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgaC5zdHlsZS5sZWZ0 +ID0gKHIucmlnaHQgLSA5KSArICdweCc7CiAgICBoLnN0eWxlLnRvcCAgPSAoci5ib3R0b20gLSA5 +KSArICdweCc7CiAgICBoLnN0eWxlLmRpc3BsYXkgPSAnJzsKfQoKLy8gQW5rZXJwdW5rdCBmdWVy +IGRlbiBTaW5nbGUtQ2xpY2sgYXVmIGVpbmUgWmVsbGU6IGxpZXN0IGRhdHVtL3BpZC93ZXJ0Ci8v +IGRpcmVrdCBhdXMgZGVtIERPTS1FbGVtZW50IHVuZCBwb3NpdGlvbmllcnQgZGFzIEhhbmRsZSBk +b3J0LiBTbwovLyBlcnNjaGVpbnQgZGFzIFF1YWRyYXQgZGF1ZXJoYWZ0IGFuIGRlciB6dWxldHp0 +IGFrdGl2aWVydGVuIFplbGxlIOKAlAovLyBhbmFsb2cgenVyICJha3RpdmVuIFplbGxlIiBpbiBF +eGNlbC4KZXhwb3J0IGZ1bmN0aW9uIGZ1ZWxsSGFuZGxlQW5aZWxsZSh6ZWxsZSkgewogICAgaWYg +KCF6ZWxsZSB8fCAhemVsbGUuY2xhc3NMaXN0IHx8ICF6ZWxsZS5jbGFzc0xpc3QuY29udGFpbnMo +J2dyaWQtemVsbGUnKSkgcmV0dXJuOwogICAgdmFyIGRhdHVtID0gemVsbGUuZ2V0QXR0cmlidXRl +KCdkYXRhLWRhdHVtJyk7CiAgICB2YXIgcGlkID0gemVsbGUuZ2V0QXR0cmlidXRlKCdkYXRhLXBl +cnNvbicpOwogICAgaWYgKCFkYXR1bSB8fCAhcGlkKSByZXR1cm47CiAgICB2YXIgd2VydCA9ICgo +Wi5wbGFudW5nLmVpbnRyYWVnZSB8fCB7fSlbZGF0dW1dIHx8IHt9KVtwaWRdIHx8ICcnOwogICAg +ZnVlbGxIYW5kbGVaZWlnZW4oeyBkYXR1bTogZGF0dW0sIHBpZDogcGlkLCB3ZXJ0OiB3ZXJ0IH0p +Owp9CgpleHBvcnQgZnVuY3Rpb24gZnVlbGxIYW5kbGVWZXJzdGVja2VuKCkgewogICAgdmFyIGgg +PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmlsbC1oYW5kbGUnKTsKICAgIGlmIChoKSBoLnN0 +eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ3Jp +ZC16ZWxsZS1maWxsLXRhcmdldCwuZ3JpZC16ZWxsZS1maWxsLXNvdXJjZScpCiAgICAgICAgLmZv +ckVhY2goZnVuY3Rpb24oZWwpIHsgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZ3JpZC16ZWxsZS1maWxs +LXRhcmdldCcsJ2dyaWQtemVsbGUtZmlsbC1zb3VyY2UnKTsgfSk7CiAgICBmdWVsbC5xdWVsbGUg +PSBudWxsOwogICAgZnVlbGwuYWt0aXYgPSBmYWxzZTsKICAgIGZ1ZWxsLnppZWxlID0gW107Cn0K +Ci8vIEV4dGVybmVyIExlc2UtSGVscGVyOiBsYWV1ZnQgZ2VyYWRlIGVpbiBEcmFnLVZvcmdhbmc/ +IFdpcmQgdm9tIEhvdmVyLQovLyBIYW5kbGVyIGluIGFwcC5qcyBnZXBydWVmdCwgZGFtaXQgZGFz +IFZlcmxhc3NlbiBkZXMgR3JpZCB3YWVocmVuZCBlaW5lcwovLyBEcmFncyBuaWNodCBkYXMgSGFu +ZGxlIHZlcnN0ZWNrdCB1bmQgZGVuIERyYWcgYWJicmljaHQuCmV4cG9ydCBmdW5jdGlvbiBmdWVs +bElzdEFrdGl2KCkgeyByZXR1cm4gZnVlbGwuYWt0aXY7IH0KCmZ1bmN0aW9uIGZ1ZWxsU3RhcnQo +ZSkgewogICAgaWYgKCFmdWVsbC5xdWVsbGUpIHJldHVybjsKICAgIGUucHJldmVudERlZmF1bHQo +KTsKICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICBmdWVsbC5ha3RpdiA9IHRydWU7CiAgICBm +dWVsbC56aWVsZSA9IFtdOwogICAgLy8gV2FlaHJlbmQgZGVzIERyYWdzIEhhbmRsZSBkdXJjaGts +aWNrYmFyIG1hY2hlbiDigJQgc29uc3QgbGllZmVydAogICAgLy8gZWxlbWVudEZyb21Qb2ludCBk +YXMgSGFuZGxlIHN0YXR0IGRpZSBaZWxsZSBkYXJ1bnRlciwgdW5kIGRlciBEcmFnCiAgICAvLyB2 +ZXJmZWhsdCBkYXMgWmllbC4KICAgIHZhciBoID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zp +bGwtaGFuZGxlJyk7CiAgICBpZiAoaCkgaC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnOwog +ICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgZnVlbGxNb3ZlKTsKICAg +IGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBmdWVsbEVuZCk7CiAgICBkb2N1 +bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9ICdjcm9zc2hhaXInOwp9CgpmdW5jdGlvbiBmdWVsbE1v +dmUoZSkgewogICAgaWYgKCFmdWVsbC5ha3RpdikgcmV0dXJuOwogICAgdmFyIHppZWwgPSBkb2N1 +bWVudC5lbGVtZW50RnJvbVBvaW50KGUuY2xpZW50WCwgZS5jbGllbnRZKTsKICAgIGlmICghemll +bCkgcmV0dXJuOwogICAgLy8gRGVmZW5zaXZlOiBmYWxscyBhdXMgaXJnZW5kZWluZW0gR3J1bmQg +ZGFzIEhhbmRsZSBkb2NoIGltIFdlZyBpc3QKICAgIGlmICh6aWVsLmlkID09PSAnZmlsbC1oYW5k +bGUnKSByZXR1cm47CiAgICB2YXIgemVsbGUgPSB6aWVsLmNsb3Nlc3QgJiYgemllbC5jbG9zZXN0 +KCcuZ3JpZC16ZWxsZScpOwogICAgaWYgKCF6ZWxsZSkgcmV0dXJuOwogICAgLy8gTlVSIGhvcml6 +b250YWwgaW4gZGVyIEVJR0VORU4gWmVpbGU6IGRlciBDdXJzb3IgYmVzdGltbXQgYWxsZWluIGRp +ZQogICAgLy8gU1BBTFRFIChEYXR1bSk7IGRpZSBaZWlsZSAoUGVyc29uKSBibGVpYnQgSU1NRVIg +ZGllIFF1ZWxsLVplaWxlLiBEYW1pdAogICAgLy8gZ2lidCBlcyBrZWluIEVyd2VpdGVybiBuYWNo +IG9iZW4vdW50ZW4g4oCUIGF1Y2ggd2VubiBkZXIgQ3Vyc29yIHZlcnRpa2FsCiAgICAvLyBhYmRy +aWZ0ZXQsIGZvbGd0IGRlciBGaWxsIG51ciBkZXIgU3BhbHRlIGluIGRlciBBdXNnYW5nc3plaWxl +ICh3aWUgZGVyCiAgICAvLyBFeGNlbC1GaWxsLUdyaWZmLCBoaWVyIGJld3Vzc3QgYXVmIGRpZSBl +aW5lIFplaWxlIGJlc2NocmFlbmt0KS4KICAgIHZhciBkYXR1bSA9IHplbGxlLmdldEF0dHJpYnV0 +ZSgnZGF0YS1kYXR1bScpOwogICAgaWYgKCFkYXR1bSkgcmV0dXJuOwogICAgdmFyIGlTdGFydCA9 +IC0xLCBpRW5kID0gLTE7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IFoudGFnZS5sZW5ndGg7IGkr +KykgewogICAgICAgIHZhciBkcyA9IGRhdHVtU3RyKFoudGFnZVtpXSk7CiAgICAgICAgaWYgKGRz +ID09PSBmdWVsbC5xdWVsbGUuZGF0dW0pIGlTdGFydCA9IGk7CiAgICAgICAgaWYgKGRzID09PSBk +YXR1bSkgaUVuZCA9IGk7CiAgICB9CiAgICBpZiAoaVN0YXJ0IDwgMCB8fCBpRW5kIDwgMCkgcmV0 +dXJuOwogICAgdmFyIGxvID0gTWF0aC5taW4oaVN0YXJ0LCBpRW5kKSwgaGkgPSBNYXRoLm1heChp +U3RhcnQsIGlFbmQpOwogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmdyaWQtemVsbGUt +ZmlsbC10YXJnZXQnKQogICAgICAgIC5mb3JFYWNoKGZ1bmN0aW9uKGVsKSB7IGVsLmNsYXNzTGlz +dC5yZW1vdmUoJ2dyaWQtemVsbGUtZmlsbC10YXJnZXQnKTsgfSk7CiAgICB2YXIgemllbGUgPSBb +XTsKICAgIGlmIChkYXJmWmVsbGVFZGl0aWVyZW4oZnVlbGwucXVlbGxlLnBpZCkpIHsKICAgICAg +ICBmb3IgKHZhciBqID0gbG87IGogPD0gaGk7IGorKykgewogICAgICAgICAgICB2YXIgZFN0ciA9 +IGRhdHVtU3RyKFoudGFnZVtqXSk7CiAgICAgICAgICAgIGlmIChkU3RyID09PSBmdWVsbC5xdWVs +bGUuZGF0dW0pIGNvbnRpbnVlOwogICAgICAgICAgICB2YXIgeiA9IGRvY3VtZW50LnF1ZXJ5U2Vs +ZWN0b3IoCiAgICAgICAgICAgICAgICAnI2dyaWQtZGF0ZW4gLmdyaWQtemVpbGVbZGF0YS1wZXJz +b24taWQ9IicgKyBmdWVsbC5xdWVsbGUucGlkICsKICAgICAgICAgICAgICAgICciXSAuZ3JpZC16 +ZWxsZVtkYXRhLWRhdHVtPSInICsgZFN0ciArICciXScKICAgICAgICAgICAgKTsKICAgICAgICAg +ICAgaWYgKCF6KSBjb250aW51ZTsKICAgICAgICAgICAgei5jbGFzc0xpc3QuYWRkKCdncmlkLXpl +bGxlLWZpbGwtdGFyZ2V0Jyk7CiAgICAgICAgICAgIHppZWxlLnB1c2goZFN0cik7CiAgICAgICAg +fQogICAgfQogICAgZnVlbGwuemllbGUgPSB6aWVsZTsKfQoKZnVuY3Rpb24gZnVlbGxFbmQoKSB7 +CiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBmdWVsbE1vdmUp +OwogICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIGZ1ZWxsRW5kKTsK +ICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gJyc7CiAgICB2YXIgaCA9IGRvY3VtZW50 +LmdldEVsZW1lbnRCeUlkKCdmaWxsLWhhbmRsZScpOwogICAgaWYgKGgpIGguc3R5bGUucG9pbnRl +ckV2ZW50cyA9ICcnOwogICAgaWYgKCFmdWVsbC5ha3RpdikgcmV0dXJuOwogICAgZnVlbGwuYWt0 +aXYgPSBmYWxzZTsKICAgIHZhciB6aWVsZSA9IGZ1ZWxsLnppZWxlLnNsaWNlKCk7CiAgICB2YXIg +cXVlbGxlID0gZnVlbGwucXVlbGxlOwogICAgaWYgKCFxdWVsbGUgfHwgIXppZWxlLmxlbmd0aCkg +ewogICAgICAgIGZ1ZWxsSGFuZGxlVmVyc3RlY2tlbigpOwogICAgICAgIHJldHVybjsKICAgIH0K +ICAgIHZhciB3ZXJ0ID0gcXVlbGxlLndlcnQ7CiAgICB2YXIgcGlkID0gcXVlbGxlLnBpZDsKICAg +IGZ1ZWxsSGFuZGxlVmVyc3RlY2tlbigpOwogICAgaWYgKCFaLnBsYW51bmcuZWludHJhZWdlKSBa +LnBsYW51bmcuZWludHJhZWdlID0ge307CgogICAgLy8gT3B0aW1pc3Rpc2NoZXMgbG9rYWxlcyBV +cGRhdGUg4oCUIFVJIHJlYWdpZXJ0IHNvZm9ydCwgb2huZSBhdWYgZGVuCiAgICAvLyBTZXJ2ZXIg +enUgd2FydGVuLiBCYWNrdXAgZGVyIHZvcmlnZW4gV2VydGUgZnVlciBSb2xsYmFjayBiZWkgRmVo +bGVyLgogICAgdmFyIHJvbGxiYWNrID0ge307CiAgICB2YXIgcGF5bG9hZCA9IHppZWxlLm1hcChm +dW5jdGlvbihkU3RyKSB7CiAgICAgICAgaWYgKCFaLnBsYW51bmcuZWludHJhZWdlW2RTdHJdKSBa +LnBsYW51bmcuZWludHJhZWdlW2RTdHJdID0ge307CiAgICAgICAgcm9sbGJhY2tbZFN0cl0gPSBa +LnBsYW51bmcuZWludHJhZWdlW2RTdHJdW3BpZF0gfHwgJyc7CiAgICAgICAgaWYgKHdlcnQpIFou +cGxhbnVuZy5laW50cmFlZ2VbZFN0cl1bcGlkXSA9IHdlcnQ7CiAgICAgICAgZWxzZSBkZWxldGUg +Wi5wbGFudW5nLmVpbnRyYWVnZVtkU3RyXVtwaWRdOwogICAgICAgIHJldHVybiB7IGRhdHVtOiBk +U3RyLCBwZXJzb25JZDogcGlkLCB3ZXJ0OiB3ZXJ0IH07CiAgICB9KTsKICAgIC8vIElua3JlbWVu +dGVsbCBzdGF0dCBWb2xsLVJlbmRlcjogbnVyIGRpZSBOIGdlZnVlbGx0ZW4gWmVsbGVuIHBhdGNo +ZW4KICAgIC8vICh6ZWxsZVZpc3VlbGxBa3R1YWxpc2llcmVuIGFrdHVhbGlzaWVydCBwcm8gVGFn +IGF1Y2ggREdMLVNjaHJhZmZ1ciArCiAgICAvLyBTdGFlcmtlLVplbGxlKS4gU3BhcnQgYXVmIGRl +bSBCZWhvZXJkZW4tUEMgZGVuIH4xOC4wMDAtS25vdGVuLVJlYnVpbGQKICAgIC8vIG5hY2ggamVk +ZW0gRHJhZyDigJQgZGVyIGZydWVoZXIgZGVyIGdyb2Vzc3RlIHNwdWVyYmFyZSBSdWNrbGVyIHdh +ci4gRGllCiAgICAvLyBzZWx0ZW5lbiBSZWplY3QtL0ZlaGxlci1ad2VpZ2UgdW50ZW4gcmVuZGVy +biBiZXd1c3N0IHdlaXRlcmhpbiB2b2xsCiAgICAvLyAoZWluZmFjaGVyICsgc2ljaGVyZXIgUm9s +bGJhY2sgYmVpIFBlcm1pc3Npb24tL05ldHp3ZXJrLUZlaGxlcm4pLgogICAgcGF5bG9hZC5mb3JF +YWNoKGZ1bmN0aW9uKHApIHsgemVsbGVWaXN1ZWxsQWt0dWFsaXNpZXJlbihwLmRhdHVtLCBwLnBl +cnNvbklkLCBwLndlcnQpOyB9KTsKCiAgICAvLyBFaW4gZWluemlnZXIgSFRUUC1Sb3VuZHRyaXAg +4oCUIGRlciBTZXJ2ZXIgc2NocmVpYnQgZGllIERhdGVpIG51cgogICAgLy8gZWlubWFsLCBzdGF0 +dCBOLW1hbCBzZXF1ZW56aWVsbC4KICAgIGFwaVBvc3QoJy9hcGkvcGxhbnVuZy96ZWxsZW4tYnVs +aycsIHsgZWludHJhZWdlOiBwYXlsb2FkIH0pLnRoZW4oZnVuY3Rpb24ocmVzKSB7CiAgICAgICAg +dmFyIG9rID0gKHJlcyAmJiByZXMub2sgIT0gbnVsbCkgPyByZXMub2sgOiBwYXlsb2FkLmxlbmd0 +aDsKICAgICAgICB2YXIgYWJnZWxlaG50ID0gKHJlcyAmJiByZXMuYWJnZWxlaG50KSB8fCBbXTsK +ICAgICAgICBpZiAoYWJnZWxlaG50Lmxlbmd0aCkgewogICAgICAgICAgICAvLyBTZXJ2ZXIgaGF0 +IFBlcm1pc3Npb24tQ2hlY2sgamUgWmVsbGUuIFdhcyBhYmdlbGVobnQgd3VyZGUsCiAgICAgICAg +ICAgIC8vIHJvbGxlbiB3aXIgbG9rYWwgc29mb3J0IHp1cnVlY2sg4oCUIHNvbnN0IHdlaWNodCBV +SSB2b24gREIgYWIuCiAgICAgICAgICAgIGFiZ2VsZWhudC5mb3JFYWNoKGZ1bmN0aW9uKGQpIHsK +ICAgICAgICAgICAgICAgIHZhciBhbHQgPSByb2xsYmFja1tkLmRhdHVtXTsKICAgICAgICAgICAg +ICAgIGlmICghWi5wbGFudW5nLmVpbnRyYWVnZVtkLmRhdHVtXSkgWi5wbGFudW5nLmVpbnRyYWVn +ZVtkLmRhdHVtXSA9IHt9OwogICAgICAgICAgICAgICAgaWYgKGFsdCkgWi5wbGFudW5nLmVpbnRy +YWVnZVtkLmRhdHVtXVtwaWRdID0gYWx0OwogICAgICAgICAgICAgICAgZWxzZSBkZWxldGUgWi5w +bGFudW5nLmVpbnRyYWVnZVtkLmRhdHVtXVtwaWRdOwogICAgICAgICAgICB9KTsKICAgICAgICAg +ICAgZGF0ZW5HcmlkUmVuZGVybigpOwogICAgICAgICAgICBrb3BmUmVuZGVybigpOwogICAgICAg +ICAgICB0b2FzdCgnV2VydCBpbiAnICsgb2sgKyAnIFRhZycgKyAob2sgIT09IDEgPyAnZW4nIDog +JycpICsgJyDDvGJlcnRyYWdlbiwgJyArCiAgICAgICAgICAgICAgICAgIGFiZ2VsZWhudC5sZW5n +dGggKyAnIGFiZ2VsZWhudCAoa2VpbmUgQmVyZWNodGlndW5nKScsICd3YXJudW5nJyk7CiAgICAg +ICAgICAgIC8vIFJlc3luYyAoU3ByaW50IDIg4oCUIERhdGVubW9kZWxsLUtvbnNpc3RlbnogMjAy +Ni0wNS0yOCk6CiAgICAgICAgICAgIC8vIExva2FsZXIgUm9sbGJhY2sgbnV0enQgZGVuIFpXSVND +SEVOR0VTUEVJQ0hFUlRFTiBXZXJ0IHZvbiB2b3IKICAgICAgICAgICAgLy8gZGVtIEJ1bGstU2No +cmVpYi4gV2VubiB3YWVocmVuZGRlc3NlbiBqZW1hbmQgYW5kZXJlcyB2aWEgU3luYwogICAgICAg +ICAgICAvLyBkaWVzZSBaZWxsZSB2ZXJhZW5kZXJ0IGhhdCAob2RlciBkZXIgU2VydmVyLVBlcm1p +c3Npb24tV2VjaHNlbAogICAgICAgICAgICAvLyBGYWt0IHdhciksIHplaWd0IGRlciBSb2xsYmFj +ayBlaW5lbiB2ZXJhbHRldGVuIFN0YW5kLiBXaXIgaG9sZW4KICAgICAgICAgICAgLy8gZGllIFNl +cnZlci1XYWhyaGVpdCBuYWNoIHVuZCBtZXJnZW4gTlVSIGRpZSBhYmdlbGVobnRlbiBEYXR1bXMt +CiAgICAgICAgICAgIC8vIEJ1Y2tldHMsIGRhbWl0IGFuZGVyZSBsb2thbGUgQWVuZGVydW5nZW4g +dW5hbmdldGFzdGV0IGJsZWliZW4uCiAgICAgICAgICAgIGFwaSgnL2FwaS9wbGFudW5nJykudGhl +bihmdW5jdGlvbihzZXJ2ZXJTdGFuZCkgewogICAgICAgICAgICAgICAgaWYgKCFzZXJ2ZXJTdGFu +ZCB8fCAhc2VydmVyU3RhbmQuZWludHJhZWdlKSByZXR1cm47CiAgICAgICAgICAgICAgICB2YXIg +YWVuZGVydW5nZW4gPSAwOwogICAgICAgICAgICAgICAgYWJnZWxlaG50LmZvckVhY2goZnVuY3Rp +b24oZCkgewogICAgICAgICAgICAgICAgICAgIHZhciBzZXJ2ZXJXZXJ0ID0gKHNlcnZlclN0YW5k +LmVpbnRyYWVnZVtkLmRhdHVtXSB8fCB7fSlbcGlkXTsKICAgICAgICAgICAgICAgICAgICB2YXIg +bG9rYWxXZXJ0ICA9IChaLnBsYW51bmcuZWludHJhZWdlW2QuZGF0dW1dIHx8IHt9KVtwaWRdOwog +ICAgICAgICAgICAgICAgICAgIGlmIChzZXJ2ZXJXZXJ0ICE9PSBsb2thbFdlcnQpIHsKICAgICAg +ICAgICAgICAgICAgICAgICAgaWYgKCFaLnBsYW51bmcuZWludHJhZWdlW2QuZGF0dW1dKSBaLnBs +YW51bmcuZWludHJhZWdlW2QuZGF0dW1dID0ge307CiAgICAgICAgICAgICAgICAgICAgICAgIGlm +IChzZXJ2ZXJXZXJ0KSBaLnBsYW51bmcuZWludHJhZWdlW2QuZGF0dW1dW3BpZF0gPSBzZXJ2ZXJX +ZXJ0OwogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGRlbGV0ZSBaLnBsYW51bmcuZWludHJh +ZWdlW2QuZGF0dW1dW3BpZF07CiAgICAgICAgICAgICAgICAgICAgICAgIGFlbmRlcnVuZ2VuKys7 +CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAg +ICBpZiAoYWVuZGVydW5nZW4pIHsgZGF0ZW5HcmlkUmVuZGVybigpOyBrb3BmUmVuZGVybigpOyB9 +CiAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKCkgeyAvKiBzdGlsbGVyIEZlaGxlciDigJQg +U3luYy1Xb3JrZXIgZmFlbmd0J3MgYmVpbSBuYWVjaHN0ZW4gVGljayAqLyB9KTsKICAgICAgICB9 +IGVsc2UgewogICAgICAgICAgICB0b2FzdCh3ZXJ0CiAgICAgICAgICAgICAgICA/ICdXZXJ0IOKA +nicgKyB3ZXJ0ICsgJyIgaW4gJyArIG9rICsgJyBUYWcnICsgKG9rICE9PSAxID8gJ2VuJyA6ICcn +KSArICcgw7xiZXJ0cmFnZW4nCiAgICAgICAgICAgICAgICA6ICdXZXJ0IGluICcgKyBvayArICcg +VGFnJyArIChvayAhPT0gMSA/ICdlbicgOiAnJykgKyAnIGdlbGVlcnQnLAogICAgICAgICAgICAg +ICAgJ2VyZm9sZycpOwogICAgICAgIH0KICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycikgewogICAg +ICAgIC8vIEJlaSBOZXR6d2Vyay0vU2VydmVyLUZlaGxlciBrb21wbGV0dCB6dXJ1ZWNrc2V0emVu +LgogICAgICAgIHppZWxlLmZvckVhY2goZnVuY3Rpb24oZFN0cikgewogICAgICAgICAgICB2YXIg +YWx0ID0gcm9sbGJhY2tbZFN0cl07CiAgICAgICAgICAgIGlmICghWi5wbGFudW5nLmVpbnRyYWVn +ZVtkU3RyXSkgWi5wbGFudW5nLmVpbnRyYWVnZVtkU3RyXSA9IHt9OwogICAgICAgICAgICBpZiAo +YWx0KSBaLnBsYW51bmcuZWludHJhZWdlW2RTdHJdW3BpZF0gPSBhbHQ7CiAgICAgICAgICAgIGVs +c2UgZGVsZXRlIFoucGxhbnVuZy5laW50cmFlZ2VbZFN0cl1bcGlkXTsKICAgICAgICB9KTsKICAg +ICAgICBkYXRlbkdyaWRSZW5kZXJuKCk7CiAgICAgICAga29wZlJlbmRlcm4oKTsKICAgICAgICB0 +b2FzdCgnQnVsay1GZWhsZXI6ICcgKyBlcnIubWVzc2FnZSArICcg4oCUIEFlbmRlcnVuZ2VuIHp1 +cnVlY2tnZW5vbW1lbicsICdmZWhsZXInKTsKICAgIH0pOwp9CgovLyBHbG9iYWxlIExpc3RlbmVy +IOKAlCBlaW5tYWwgYmVpbSBBcHAtSW5pdCBhdWZydWZlbi4KLy8gS2xpY2sgYXVzc2VyaGFsYiB2 +b24gR3JpZCArIEVkaXRvciArIEhhbmRsZSBibGVuZGV0IGRlbiBHcmlmZiBhdXMsCi8vIFNjcm9s +bGVuIGViZW5zbyAoUG9zaXRpb24gd2FlcmUgc29uc3QgZmFsc2NoKS4KZXhwb3J0IGZ1bmN0aW9u +IGZ1ZWxsSW5pdCgpIHsKICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVu +Y3Rpb24oZSkgewogICAgICAgIGlmIChlLnRhcmdldC5pZCA9PT0gJ2ZpbGwtaGFuZGxlJykgcmV0 +dXJuOwogICAgICAgIGlmIChlLnRhcmdldC5jbG9zZXN0ICYmIGUudGFyZ2V0LmNsb3Nlc3QoJyNn +cmlkLWRhdGVuJykpIHJldHVybjsKICAgICAgICBpZiAoZS50YXJnZXQuY2xvc2VzdCAmJiBlLnRh +cmdldC5jbG9zZXN0KCcjemVsbC1lZGl0b3InKSkgcmV0dXJuOwogICAgICAgIGZ1ZWxsSGFuZGxl +VmVyc3RlY2tlbigpOwogICAgfSk7CiAgICB2YXIgZ3JpZFNjcm9sbCA9IGRvY3VtZW50LmdldEVs +ZW1lbnRCeUlkKCdncmlkLXNjcm9sbC1jb250YWluZXInKTsKICAgIGlmIChncmlkU2Nyb2xsKSB7 +CiAgICAgICAgZ3JpZFNjcm9sbC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBmdW5jdGlvbigp +IHsKICAgICAgICAgICAgaWYgKGZ1ZWxsLnF1ZWxsZSAmJiAhZnVlbGwuYWt0aXYpIGZ1ZWxsSGFu +ZGxlVmVyc3RlY2tlbigpOwogICAgICAgIH0pOwogICAgfQogICAgLy8gRVNDIGJyaWNodCBlaW5l +biBsYXVmZW5kZW4gRHJhZyBhYi4KICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRv +d24nLCBmdW5jdGlvbihlKSB7CiAgICAgICAgaWYgKGUua2V5ID09PSAnRXNjYXBlJyAmJiBmdWVs +bC5ha3RpdikgewogICAgICAgICAgICBmdWVsbC5ha3RpdiA9IGZhbHNlOwogICAgICAgICAgICBk +b2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBmdWVsbE1vdmUpOwogICAg +ICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgZnVlbGxFbmQp +OwogICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9ICcnOwogICAgICAgICAg +ICB2YXIgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaWxsLWhhbmRsZScpOwogICAgICAg +ICAgICBpZiAoaCkgaC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJyc7CiAgICAgICAgICAgIGZ1ZWxs +SGFuZGxlVmVyc3RlY2tlbigpOwogICAgICAgIH0KICAgIH0pOwp9Cg== +### FILE: js/grid_render.js | 37064 +Ly8gPT09IGdyaWQvcmVuZGVyLmpzID09PQovLyBTdGFuZDogMjAyNi0wNS0xNAovLyBHcmlkLUF1 +ZmJhdSwgSGVhZGVyIChEYXR1bS9Xb2NoZW50YWcvQW5sYXNzL0V2ZW50cy9TdMOkcmtlL1NjaGlj +aHRmb2xnZSksCi8vIFNjaHJhZmZ1cmVuLCBTdMOkcmtlLUJlcmVjaG51bmcsIE5hdmlnYXRpb24v +QW5zaWNodHMtV2VjaHNlbCwgU2Nyb2xsLVN5bmMuCi8vCi8vIEhvb2tzOiBlaW5pZ2UgQXVmcnVm +ZSBnZWhlbiBhdWYgRnVua3Rpb25lbiwgZGllIG5vY2ggaW4gYXBwLmpzIGxpZWdlbgovLyBvZGVy +IGVyc3QgaW4gc3BhZXRlcmVuIFBoYXNlbiBleHRyYWhpZXJ0IHdlcmRlbiAoZmVhdHVyZUlzdEFr +dGl2LAovLyBiZXosIHNvbmRlclRpdGVsQXVzVGV4dCwga29tbWVudGFyZUltR3JpZEFuemVpZ2Vu +LCBiZXNldHp1bmdzLS9hZG1pbi0vCi8vIHN0YXRzLS93b2NoZW5wbGFuLS9wZXJzcGxhbi0vbG9n +YnVjaC1SZW5kZXJlcikuIERpZXNlIHdlcmRlbiB1ZWJlcgovLyByZW5kZXJIb29rcyByZWluZ2Vo +YWVuZ3QuCgppbXBvcnQgeyBaIH0gZnJvbSAnLi9jb3JlX3N0YXRlLmpzJzsKaW1wb3J0IHsKICAg +IGVzY2FwZUhUTUwsIGVzY2FwZUF0dHIsCiAgICBkYXR1bVN0ciwgZGF0dW1Gb3JtYXRERSwgZGF0 +dW1LdXJ6REUsIHdvY2hlbnRhZ0t1cnosIGlzdFdvY2hlbmVuZGUsCiAgICBhdmF0YXJLcmVpc0h0 +bWwsIHJlbmRlckVycm9yQm94Cn0gZnJvbSAnLi9jb3JlX3V0aWwuanMnOwppbXBvcnQgewogICAg +ZGFyZkFkbWluVGFiLCBkYXJmU3RhdGlzdGlrLCBkYXJmTG9nYnVjaCwgZGFyZlplbGxlRWRpdGll +cmVuCn0gZnJvbSAnLi9jb3JlX3Blcm1pc3Npb25zLmpzJzsKaW1wb3J0IHsgdG9hc3QgfSBmcm9t +ICcuL3VpX2RpYWxvZy5qcyc7CmltcG9ydCB7IGhldXRlQmxvY2tBa3R1YWxpc2llcmVuIH0gZnJv +bSAnLi9jb3JlX2RhdGVuTGFkZW4uanMnOwoKLy8gPT09PT0gSG9va3MgPT09PT0KCmV4cG9ydCB2 +YXIgcmVuZGVySG9va3MgPSB7CiAgICBmZWF0dXJlSXN0QWt0aXY6IG51bGwsCiAgICBzb25kZXJU +aXRlbEF1c1RleHQ6IG51bGwsCiAgICBiZXNldHp1bmdzVGFiRmFyYmVBa3R1YWxpc2llcmVuOiBu +dWxsLAogICAga29tbWVudGFyZUltR3JpZEFuemVpZ2VuOiBudWxsLAogICAgYmV6OiBudWxsLAog +ICAgd3BSZW5kZXJuOiBudWxsLAogICAgcHBSZW5kZXJuOiBudWxsLAogICAgbG9nYnVjaExhZGVu +OiBudWxsLAogICAgc3RhdGlzdGlrTGFkZW46IG51bGwsCiAgICBhZG1pblJlbmRlcm46IG51bGws +CiAgICBiZXNldHp1bmdza29udHJvbGxlUmVuZGVybjogbnVsbAp9OwoKLy8gPT09PT0gUGVyZm9y +bWFuY2UtTWVzc3VuZyAoU3ByaW50IDZiIDIwMjYtMDUtMjksIEZpbmRpbmcgMjApID09PT09Ci8v +Ci8vIE9wdC1JbiB1ZWJlciBgd2luZG93LlZJM19QRVJGID0gdHJ1ZWAuIFNhbW1lbHQgcHJvIFJl +bmRlci1BdWZydWYKLy8gRGF1ZXIgKyBGdW5rdGlvbnNuYW1lIGluIGVpbmVtIFJpbmctQnVmZmVy +IChtYXggMTAwIEVpbnRyYWVnZSkuCi8vIEF1c3dlcnR1bmcgaW0gQnJvd3NlciB2aWEgYHdpbmRv +dy5WSTNfUEVSRl9SRVBPUlQoKWAgLT4gY29uc29sZS50YWJsZQovLyBtaXQgQWdncmVnYXQgcHJv +IEZ1bmt0aW9uIChBbnphaGwsIE1pbi9NYXgvQXZnLW1zKS4KLy8KLy8gV2VubiBkaWUgRmxhZyBu +aWNodCBha3RpdiBpc3Q6IGBwZXJmTWFyaygpYC9gcGVyZk1lYXN1cmUoKWAgc2luZCBuby1vcHMu +Ci8vIERhbWl0IGtlaW4gRGVmYXVsdC1PdmVyaGVhZCBpbSBQcm9kdWt0aXYtQmV0cmllYiAoUG9s +aXplaS1QQ3MpLgovLwovLyBBdWRpdC1CZWZ1bmQtMjAtSGludGVyZ3J1bmQ6IEJlZnVuZCB3YXIg +bWFudWVsbGUgU2NoYWV0enVuZyBvaG5lCi8vIGluc3RydW1lbnRpZXJ0ZSBNZXNzdW5nLiBWb3Ig +d2VpdGVyZW4gUmVuZGVyLVJlZmFjdG9ycyBicmF1Y2hlbiB3aXIKLy8gZWNodGUgWmFobGVuLCBk +YW1pdCB3aXIgbmljaHQgZGVuIGZhbHNjaGVuIFBmYWQgb3B0aW1pZXJlbi4KCnZhciBfUEVSRl9Q +VUZGRVIgPSBbXTsKdmFyIF9QRVJGX01BWCA9IDEwMDsKCmZ1bmN0aW9uIHBlcmZBa3RpdigpIHsK +ICAgIHJldHVybiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuVkkzX1BF +UkYgPT09IHRydWU7Cn0KCmZ1bmN0aW9uIHBlcmZNYXJrKG5hbWUpIHsKICAgIGlmICghcGVyZkFr +dGl2KCkpIHJldHVybiBudWxsOwogICAgdHJ5IHsgcGVyZm9ybWFuY2UubWFyayhuYW1lICsgJzpz +dGFydCcpOyB9IGNhdGNoIChlKSB7fQogICAgcmV0dXJuIG5hbWU7Cn0KCmZ1bmN0aW9uIHBlcmZN +ZWFzdXJlKG5hbWUsIHN0YXJ0VHMpIHsKICAgIGlmICghcGVyZkFrdGl2KCkgfHwgIW5hbWUpIHJl +dHVybjsKICAgIHRyeSB7CiAgICAgICAgcGVyZm9ybWFuY2UubWFyayhuYW1lICsgJzplbmQnKTsK +ICAgICAgICBwZXJmb3JtYW5jZS5tZWFzdXJlKG5hbWUsIG5hbWUgKyAnOnN0YXJ0JywgbmFtZSAr +ICc6ZW5kJyk7CiAgICAgICAgdmFyIGVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlO +YW1lKG5hbWUsICdtZWFzdXJlJyk7CiAgICAgICAgdmFyIGxldHp0ZSA9IGVudHJpZXNbZW50cmll +cy5sZW5ndGggLSAxXTsKICAgICAgICBpZiAobGV0enRlKSB7CiAgICAgICAgICAgIF9QRVJGX1BV +RkZFUi5wdXNoKHsgbmFtZTogbmFtZSwgbXM6IE1hdGgucm91bmQobGV0enRlLmR1cmF0aW9uICog +MTAwKSAvIDEwMCwgdHM6IERhdGUubm93KCkgfSk7CiAgICAgICAgICAgIGlmIChfUEVSRl9QVUZG +RVIubGVuZ3RoID4gX1BFUkZfTUFYKSBfUEVSRl9QVUZGRVIuc2hpZnQoKTsKICAgICAgICB9CiAg +ICAgICAgLy8gTWFya3MgYXVmcmFldW1lbiwgc29uc3QgZnJpc3N0IGVzIFNwZWljaGVyCiAgICAg +ICAgcGVyZm9ybWFuY2UuY2xlYXJNYXJrcyhuYW1lICsgJzpzdGFydCcpOwogICAgICAgIHBlcmZv +cm1hbmNlLmNsZWFyTWFya3MobmFtZSArICc6ZW5kJyk7CiAgICAgICAgcGVyZm9ybWFuY2UuY2xl +YXJNZWFzdXJlcyhuYW1lKTsKICAgIH0gY2F0Y2ggKGUpIHt9Cn0KCi8vIFdpcmQgdmlhIE1vZHVs +LUluaXQgYW0gd2luZG93LU9iamVrdCByZWdpc3RyaWVydCAoc2llaGUgdW50ZW4pLgpmdW5jdGlv +biBwZXJmUmVwb3J0KCkgewogICAgaWYgKF9QRVJGX1BVRkZFUi5sZW5ndGggPT09IDApIHsKICAg +ICAgICBjb25zb2xlLmxvZygnVkkzX1BFUkY6IGtlaW5lIE1lc3NkYXRlbiDigJQgdm9yaGVyIHdp +bmRvdy5WSTNfUEVSRiA9IHRydWUgc2V0emVuIHVuZCBkaWUgQXBwIGJlbnV0emVuLicpOwogICAg +ICAgIHJldHVybjsKICAgIH0KICAgIHZhciBuYWNoTmFtZSA9IHt9OwogICAgX1BFUkZfUFVGRkVS +LmZvckVhY2goZnVuY3Rpb24oZSkgewogICAgICAgIGlmICghbmFjaE5hbWVbZS5uYW1lXSkgbmFj +aE5hbWVbZS5uYW1lXSA9IFtdOwogICAgICAgIG5hY2hOYW1lW2UubmFtZV0ucHVzaChlLm1zKTsK +ICAgIH0pOwogICAgdmFyIHJvd3MgPSBPYmplY3Qua2V5cyhuYWNoTmFtZSkubWFwKGZ1bmN0aW9u +KG5hbWUpIHsKICAgICAgICB2YXIgbCA9IG5hY2hOYW1lW25hbWVdOwogICAgICAgIHZhciBzdW0g +PSBsLnJlZHVjZShmdW5jdGlvbihhLCBiKSB7IHJldHVybiBhICsgYjsgfSwgMCk7CiAgICAgICAg +cmV0dXJuIHsKICAgICAgICAgICAgRnVua3Rpb246IG5hbWUsCiAgICAgICAgICAgIEF1ZnJ1ZmU6 +ICBsLmxlbmd0aCwKICAgICAgICAgICAgJ01pbiBtcyc6IE1hdGgubWluLmFwcGx5KG51bGwsIGwp +LAogICAgICAgICAgICAnTWF4IG1zJzogTWF0aC5tYXguYXBwbHkobnVsbCwgbCksCiAgICAgICAg +ICAgICdBdmcgbXMnOiBNYXRoLnJvdW5kKChzdW0gLyBsLmxlbmd0aCkgKiAxMDApIC8gMTAwLAog +ICAgICAgICAgICAnU3VtIG1zJzogTWF0aC5yb3VuZChzdW0gKiAxMDApIC8gMTAwCiAgICAgICAg +fTsKICAgIH0pOwogICAgY29uc29sZS50YWJsZShyb3dzKTsKfQoKaWYgKHR5cGVvZiB3aW5kb3cg +IT09ICd1bmRlZmluZWQnKSB7CiAgICB3aW5kb3cuVkkzX1BFUkZfUkVQT1JUID0gcGVyZlJlcG9y +dDsKICAgIHdpbmRvdy5WSTNfUEVSRl9SRVNFVCA9IGZ1bmN0aW9uKCkgeyBfUEVSRl9QVUZGRVIu +bGVuZ3RoID0gMDsgfTsKfQoKLy8gRGVmYXVsdC1JY29ucyBwcm8gRmVpZXJ0YWdzLUthdGVnb3Jp +ZS4gV2lyZCBnZXpvZ2VuLCB3ZW5uIGRlciBlaW56ZWxuZQovLyBFaW50cmFnIGtlaW4gZWlnZW5l +cyBpY29uLUZlbGQgc2V0enQuIFBybyBFaW50cmFnIHVlYmVyc2NocmVpYmJhciBpbQovLyBBZG1p +biAtPiBGZWllcnRhZ2UgKFBpY2tlciBhbmFsb2cgenUgU29uZGVydGVybWluZW4pLgpleHBvcnQg +dmFyIEtBVEVHT1JJRV9JQ09OX0RFRkFVTFQgPSB7CiAgICBnZXNldHpsaWNoOiAn8J+Pm++4jycs +CiAgICBqdWVkaXNjaDogJ+KcoScsCiAgICBtdXNsaW1pc2NoOiAn4piqJywKICAgIHR1ZXJraXNj +aDogJ/Cfh7nwn4e3Jwp9OwoKLy8gPT09PT0gVGFnZS1BdWZiYXUgJiBUYWctSW5mb3MgPT09PT0K +CmV4cG9ydCBmdW5jdGlvbiB0YWdlRXJ6ZXVnZW4oKSB7CiAgICB2YXIgamFociA9IFouYWRtaW4u +amFociB8fCBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7CiAgICBaLnRhZ2UgPSBbXTsKICAgIC8v +IFBsYW51bmdzYmVyZWljaDogMS4gSmFudWFyIGRlcyBQbGFudW5nc2phaHJlcyBiaXMgZWluc2No +bGllc3NsaWNoIDMxLiBKYW51YXIgZGVzIEZvbGdlamFocmVzLgogICAgLy8gRGVyIEJ1ZmZlci1N +b25hdCBlcmxhdWJ0IFZvcnBsYW51bmcgZGVzIEZvbGdlamFocmVzIGJpcyB6dW0gSmFocmVzd2Vj +aHNlbC1Lbm9wZi4KICAgIHZhciBkID0gbmV3IERhdGUoamFociwgMCwgMSk7CiAgICB2YXIgZW5k +ZSA9IG5ldyBEYXRlKGphaHIgKyAxLCAxLCAxKTsgLy8gMS4gRmVicnVhciBGb2xnZWphaHIgPSBl +eGtsdXNpdmUgT2JlcmdyZW56ZQogICAgd2hpbGUgKGQgPCBlbmRlKSB7IFoudGFnZS5wdXNoKG5l +dyBEYXRlKGQpKTsgZC5zZXREYXRlKGQuZ2V0RGF0ZSgpICsgMSk7IH0KfQoKLy8gTGV0enRlciBT +b25udGFnIGVpbmVzIE1vbmF0cyDigJQgQmVyZWNobnVuZyBkZXIgRFNULVdlY2hzZWx0YWdlIGlu +IGRlciBFVQovLyAoTWFlcno6IFZvcndhZXJ0cyArMWgsIE9rdG9iZXI6IFJ1ZWNrd2FlcnRzIC0x +aCwgamV3ZWlscyBsZXR6dGVyIFNvbm50YWcpLgovLyBtb25hdCBpc3QgMC1pbmRleGVkICgyID0g +TWFlcnosIDkgPSBPa3RvYmVyKS4KZnVuY3Rpb24gX2xldHp0ZXJTb25udGFnSW1Nb25hdChqYWhy +LCBtb25hdCkgewogICAgdmFyIGQgPSBuZXcgRGF0ZShqYWhyLCBtb25hdCArIDEsIDApOyAgLy8g +bGV0enRlciBUYWcgZGVzIE1vbmF0cwogICAgdmFyIHRhZyA9IGQuZ2V0RGF5KCk7CiAgICBpZiAo +dGFnICE9PSAwKSBkLnNldERhdGUoZC5nZXREYXRlKCkgLSB0YWcpOwogICAgcmV0dXJuIGRhdHVt +U3RyKGQpOwp9CgpleHBvcnQgZnVuY3Rpb24gdGFnSW5mb3NCZXJlY2huZW4oKSB7CiAgICBaLnRh +Z0luZm9zID0ge307CiAgICAvLyBTb25kZXJ0ZXJtaW5lIGdnZi4gbWl0IElEIG5hY2hyw7xzdGVu +IChCQyBmw7xyIEFsdGRhdGVuKSB1bmQgYXVmIGFsbGUgVGFnZSBkZXMgWmVpdHJhdW1zIG1hcHBl +bgogICAgdmFyIHNvbmRlck1hcCA9IHt9OwogICAgKFouYWRtaW4uc29uZGVydGVybWluZSB8fCBb +XSkuZm9yRWFjaChmdW5jdGlvbihzKSB7CiAgICAgICAgaWYgKCFzLmlkKSBzLmlkID0gJ3N0Xycg +KyAocy5kYXR1bSB8fCAneCcpICsgJ18nICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vi +c3RyKDIsIDYpOwogICAgICAgIHZhciB2b24gPSBzLmRhdHVtLCBiaXMgPSBzLmRhdHVtQmlzIHx8 +IHMuZGF0dW07CiAgICAgICAgaWYgKCF2b24pIHJldHVybjsKICAgICAgICB2YXIgZCA9IG5ldyBE +YXRlKHZvbiArICdUMDA6MDA6MDAnKSwgYiA9IG5ldyBEYXRlKGJpcyArICdUMDA6MDA6MDAnKTsK +ICAgICAgICBpZiAoaXNOYU4oZC5nZXRUaW1lKCkpIHx8IGlzTmFOKGIuZ2V0VGltZSgpKSB8fCBi +IDwgZCkgeyBzb25kZXJNYXBbdm9uXSA9IHM7IHJldHVybjsgfQogICAgICAgIHdoaWxlIChkIDw9 +IGIpIHsgc29uZGVyTWFwW2RhdHVtU3RyKGQpXSA9IHM7IGQuc2V0RGF0ZShkLmdldERhdGUoKSAr +IDEpOyB9CiAgICB9KTsKCiAgICBaLnRhZ2UuZm9yRWFjaChmdW5jdGlvbihkKSB7CiAgICAgICAg +dmFyIGtleSA9IGRhdHVtU3RyKGQpOwogICAgICAgIFoudGFnSW5mb3Nba2V5XSA9IHsgdHlwOiAn +bm9ybWFsJywgbmFtZTogJycsIGdlYnVydHN0YWdlOiBbXSB9OwogICAgICAgIGlmIChpc3RXb2No +ZW5lbmRlKGQpKSBaLnRhZ0luZm9zW2tleV0udHlwID0gJ3dvY2hlbmVuZGUnOwogICAgfSk7Cgog +ICAgKFouYWRtaW4uZmVyaWVuIHx8IFtdKS5mb3JFYWNoKGZ1bmN0aW9uKGYpIHsKICAgICAgICB2 +YXIgZCA9IG5ldyBEYXRlKGYudm9uICsgJ1QwMDowMDowMCcpOwogICAgICAgIHZhciBiaXMgPSBu +ZXcgRGF0ZShmLmJpcyArICdUMDA6MDA6MDAnKTsKICAgICAgICB3aGlsZSAoZCA8PSBiaXMpIHsK +ICAgICAgICAgICAgdmFyIGtleSA9IGRhdHVtU3RyKGQpOwogICAgICAgICAgICBpZiAoWi50YWdJ +bmZvc1trZXldICYmIFoudGFnSW5mb3Nba2V5XS50eXAgPT09ICdub3JtYWwnKSB7CiAgICAgICAg +ICAgICAgICBaLnRhZ0luZm9zW2tleV0udHlwID0gJ2Zlcmllbic7CiAgICAgICAgICAgICAgICBa +LnRhZ0luZm9zW2tleV0ubmFtZSA9IGYubmFtZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBk +LnNldERhdGUoZC5nZXREYXRlKCkgKyAxKTsKICAgICAgICB9CiAgICB9KTsKCiAgICAoWi5hZG1p +bi5mZWllcnRhZ2UgfHwgW10pLmZvckVhY2goZnVuY3Rpb24oZikgewogICAgICAgIC8vIGFrdGl2 +ID09PSBmYWxzZSB1ZWJlcnNwcmluZ2VuOyBmZWhsZW5kZXMgRmVsZCA9IGFrdGl2IChCYWNrd2Fy +ZHMtQ29tcGF0CiAgICAgICAgLy8gbWl0IGFsdGVtIFNjaGVtYSB7ZGF0dW0sIG5hbWUsIHdpY2h0 +aWd9IG9obmUgYWt0aXYva2F0ZWdvcmllKS4KICAgICAgICBpZiAoZi5ha3RpdiA9PT0gZmFsc2Up +IHJldHVybjsKICAgICAgICBpZiAoWi50YWdJbmZvc1tmLmRhdHVtXSkgewogICAgICAgICAgICBa +LnRhZ0luZm9zW2YuZGF0dW1dLnR5cCA9ICdmZWllcnRhZyc7CiAgICAgICAgICAgIFoudGFnSW5m +b3NbZi5kYXR1bV0ubmFtZSA9IGYuYmV6ZWljaG51bmcgfHwgZi5uYW1lIHx8ICcnOwogICAgICAg +ICAgICBaLnRhZ0luZm9zW2YuZGF0dW1dLndpY2h0aWcgPSAhIWYud2ljaHRpZzsKICAgICAgICAg +ICAgWi50YWdJbmZvc1tmLmRhdHVtXS5rYXRlZ29yaWUgPSBmLmthdGVnb3JpZSB8fCAnZ2VzZXR6 +bGljaCc7CiAgICAgICAgICAgIFoudGFnSW5mb3NbZi5kYXR1bV0uaWNvbiA9IGYuaWNvbiB8fCAn +JzsKICAgICAgICAgICAgWi50YWdJbmZvc1tmLmRhdHVtXS5rdXJ6YmVzY2hyZWlidW5nID0gZi5r +dXJ6YmVzY2hyZWlidW5nIHx8ICcnOwogICAgICAgICAgICBaLnRhZ0luZm9zW2YuZGF0dW1dLmlu +Zm9VcmwgPSBmLmluZm9VcmwgfHwgJyc7CiAgICAgICAgfQogICAgfSk7CgogICAgLy8gR2VidXJ0 +c3RhZ2UgcHJvIFRhZyAoYXVmIE1vbmF0LVRhZyBkZXMgUGxhbnVuZ3NqYWhyZXMgKyBCdWZmZXIt +SmFudWFyIGRlcyBGb2xnZWphaHJlcyBtYXBwZW4pCiAgICB2YXIgcGxhbkphaHIgPSBaLmFkbWlu +LmphaHIgfHwgbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpOwogICAgKFoucGxhbnVuZy5wZXJzb25l +biB8fCBbXSkuZm9yRWFjaChmdW5jdGlvbihwKSB7CiAgICAgICAgaWYgKCFwLmdlYnVydHNkYXR1 +bSB8fCAhcC5ha3RpdikgcmV0dXJuOwogICAgICAgIHZhciB0ZWlsZSA9IHAuZ2VidXJ0c2RhdHVt +LnNwbGl0KCctJyk7CiAgICAgICAgaWYgKHRlaWxlLmxlbmd0aCAhPT0gMykgcmV0dXJuOwogICAg +ICAgIHZhciBuYW1lID0gKHAudm9ybmFtZSA/IHAudm9ybmFtZSArICcgJyA6ICcnKSArIHAubmFt +ZTsKICAgICAgICB2YXIgamFockFsdCA9IHBhcnNlSW50KHRlaWxlWzBdLCAxMCkgfHwgbnVsbDsK +ICAgICAgICBbcGxhbkphaHIsIHBsYW5KYWhyICsgMV0uZm9yRWFjaChmdW5jdGlvbihqKSB7CiAg +ICAgICAgICAgIHZhciBrZXkgPSBqICsgJy0nICsgdGVpbGVbMV0gKyAnLScgKyB0ZWlsZVsyXTsK +ICAgICAgICAgICAgaWYgKFoudGFnSW5mb3Nba2V5XSkgewogICAgICAgICAgICAgICAgWi50YWdJ +bmZvc1trZXldLmdlYnVydHN0YWdlLnB1c2goeyBpZDogcC5pZCwgbmFtZTogbmFtZSwgamFocjog +amFockFsdCB9KTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7CgogICAgT2JqZWN0 +LmtleXMoc29uZGVyTWFwKS5mb3JFYWNoKGZ1bmN0aW9uKGQpIHsKICAgICAgICBpZiAoWi50YWdJ +bmZvc1tkXSkgewogICAgICAgICAgICBaLnRhZ0luZm9zW2RdLnNvbmRlciA9IHNvbmRlck1hcFtk +XTsKICAgICAgICB9CiAgICB9KTsKCiAgICAvLyBEU1QtTWFya2llcnVuZyAoUGFrZXQtQiBRdWlj +ay1XaW4sIDIwMjYtMDUtMjkpOiBsZXR6dGVyIFNvbm50YWcgaW0KICAgIC8vIE1hZXJ6ID0gVm9y +d2FlcnRzLVdlY2hzZWwgKDAyOjAwIC0+IDAzOjAwKSwgbGV0enRlciBTb25udGFnIGltIE9rdG9i +ZXIKICAgIC8vID0gUnVlY2t3YWVydHMtV2VjaHNlbCAoMDM6MDAgLT4gMDI6MDApLiBGdWVyIGFs +bGUgSmFocmUgZGllIGluCiAgICAvLyBaLnRhZ0luZm9zIHZvcmtvbW1lbiBrb2VubmVuIOKAlCB0 +eXBpc2NoIFBsYW4tSmFociArIEZvbGdlamFoci4KICAgIFtwbGFuSmFociwgcGxhbkphaHIgKyAx +XS5mb3JFYWNoKGZ1bmN0aW9uKGopIHsKICAgICAgICB2YXIgZHN0RnJ1ZWggID0gX2xldHp0ZXJT +b25udGFnSW1Nb25hdChqLCAyKTsKICAgICAgICB2YXIgZHN0SGVyYnN0ID0gX2xldHp0ZXJTb25u +dGFnSW1Nb25hdChqLCA5KTsKICAgICAgICBpZiAoWi50YWdJbmZvc1tkc3RGcnVlaF0pICBaLnRh +Z0luZm9zW2RzdEZydWVoXS5kc3QgPSAndm9yJzsKICAgICAgICBpZiAoWi50YWdJbmZvc1tkc3RI +ZXJic3RdKSBaLnRhZ0luZm9zW2RzdEhlcmJzdF0uZHN0ID0gJ3p1cnVlY2snOwogICAgfSk7Cn0K +Ci8vID09PT09IFN0w6Rya2UgJiBTY2hyYWZmdXIgPT09PT0KCmV4cG9ydCBmdW5jdGlvbiBzdGFl +cmtlQmVyZWNobmVuKGRTdHIpIHsKICAgIHZhciBlID0gKFoucGxhbnVuZy5laW50cmFlZ2UgfHwg +e30pW2RTdHJdIHx8IHt9OwogICAgdmFyIGYgPSAwLCBzID0gMCwgbiA9IDA7CiAgICBaLnBlcnNv +bmVuLmZvckVhY2goZnVuY3Rpb24ocCkgewogICAgICAgIGlmICghcC5ha3RpdikgcmV0dXJuOyAv +LyBVbWdlc2V0enRlIHrDpGhsZW4gbmljaHQgenVyIFN0w6Rya2UKICAgICAgICB2YXIgdyA9IGVb +U3RyaW5nKHAuaWQpXSB8fCAnJzsKICAgICAgICBpZiAody5zdWJzdHJpbmcoMCwgNSkgPT09ICdG +LURHTCcpIGYrKzsKICAgICAgICBpZiAody5zdWJzdHJpbmcoMCwgNSkgPT09ICdTLURHTCcpIHMr +KzsKICAgICAgICBpZiAody5zdWJzdHJpbmcoMCwgNSkgPT09ICdOLURHTCcpIG4rKzsKICAgIH0p +OwogICAgcmV0dXJuIHsgZjogZiwgczogcywgbjogbiwgb2s6IGYgPj0gMiAmJiBzID49IDIgJiYg +biA+PSAyLCB0ZXh0OiBmICsgJ3wnICsgcyArICd8JyArIG4gfTsKfQoKZXhwb3J0IGZ1bmN0aW9u +IHNjaHJhZmZ1ckJlcmVjaG5lbihkU3RyKSB7CiAgICB2YXIgZSA9IChaLnBsYW51bmcuZWludHJh +ZWdlIHx8IHt9KVtkU3RyXSB8fCB7fTsKICAgIHZhciBzY2hpY2h0ZW4gPSB7IEY6IFtdLCBTOiBb +XSwgTjogW10gfTsKICAgIFoucGVyc29uZW4uZm9yRWFjaChmdW5jdGlvbihwKSB7CiAgICAgICAg +aWYgKCFwLmFrdGl2KSByZXR1cm47IC8vIFVtZ2VzZXR6dGUgbmljaHQgYWxzIFZlcmFudHdvcnRs +aWNoZSBtYXJraWVyZW4KICAgICAgICB2YXIgdyA9IGVbU3RyaW5nKHAuaWQpXSB8fCAnJzsKICAg +ICAgICBpZiAody5pbmRleE9mKCdER0wnKSA9PT0gLTEpIHJldHVybjsKICAgICAgICB2YXIgcHJl +Zml4ID0gdy5jaGFyQXQoMCk7CiAgICAgICAgaWYgKHNjaGljaHRlbltwcmVmaXhdKSBzY2hpY2h0 +ZW5bcHJlZml4XS5wdXNoKHsgaWQ6IHAuaWQsIHBvczogcC5wb3NpdGlvbiB8fCA5OTkgfSk7CiAg +ICB9KTsKICAgIHZhciBlcmcgPSB7fTsKICAgIFsnRicsJ1MnLCdOJ10uZm9yRWFjaChmdW5jdGlv +bihwcikgewogICAgICAgIHZhciBsID0gc2NoaWNodGVuW3ByXS5zb3J0KGZ1bmN0aW9uKGEsIGIp +IHsgcmV0dXJuIGEucG9zIC0gYi5wb3M7IH0pOwogICAgICAgIGlmIChsLmxlbmd0aCA+IDApIGVy +Z1tsWzBdLmlkXSA9IHByICsgJzEnOwogICAgICAgIGlmIChsLmxlbmd0aCA+IDEpIGVyZ1tsWzFd +LmlkXSA9IHByICsgJzInOwogICAgfSk7CiAgICByZXR1cm4gZXJnOwp9CgovLyA9PT09PSBQbGFu +dW5nIHJlbmRlcm4gPT09PT0KCmV4cG9ydCBmdW5jdGlvbiBncmlkUmVuZGVybigpIHsKICAgIC8v +IFVYLUF1ZGl0IFNwcmludCAxLjI6IFRyeS1DYXRjaC1Iw7xsbGUsIGRhbWl0IGVpbiBSZW5kZXIt +RmVobGVyIG5pY2h0CiAgICAvLyBkaWUgZ2FuemUgUGxhbnVuZ3NhbnNpY2h0IGJsYW5rIGzDpHNz +dC4gQmVpIEV4Y2VwdGlvbiB3aXJkIGVpbmUKICAgIC8vIEZlaGxlcmJveCBpbiBkZW4gQW5zaWNo +dC1Db250YWluZXIgZ2VyZW5kZXJ0LgogICAgdHJ5IHsKICAgICAgICBkb2N1bWVudC5nZXRFbGVt +ZW50QnlJZCgnYW56ZWlnZS1qYWhyJykudGV4dENvbnRlbnQgPSBaLmFkbWluLmphaHIgfHwgJyc7 +CiAgICAgICAgaGV1dGVCbG9ja0FrdHVhbGlzaWVyZW4oKTsKCiAgICAgICAgLy8gSGVhZGVyLUJh +ZGdlOiBlY2h0ZW4gTmFtZW4gYXVzIHBsYW51bmcucGVyc29uZW4gYW56ZWlnZW4gKHBlciBud0tl +bm51bmcgZ2VtYXRjaGVkKSwKICAgICAgICAvLyBzb25zdCBGYWxsYmFjayBhdWYgZGllIE5XLUtl +bm51bmcuIFRvb2x0aXAgemVpZ3QgYmVpZGVzLgogICAgICAgIHZhciBiYWRnZSA9IGRvY3VtZW50 +LmdldEVsZW1lbnRCeUlkKCdiZW51dHplci1hbnplaWdlJyk7CiAgICAgICAgdmFyIGFuemVpZ2Ug +PSBaLmJlbnV0emVyOwogICAgICAgIGlmIChaLm1laW5lUGVyc29uSWQpIHsKICAgICAgICAgICAg +dmFyIHAgPSBaLnBlcnNvbmVuLmZpbmQoZnVuY3Rpb24oeCkgeyByZXR1cm4gU3RyaW5nKHguaWQp +ID09PSBTdHJpbmcoWi5tZWluZVBlcnNvbklkKTsgfSk7CiAgICAgICAgICAgIGlmIChwKSB7CiAg +ICAgICAgICAgICAgICBhbnplaWdlID0gKChwLnZvcm5hbWUgPyBwLnZvcm5hbWUgKyAnICcgOiAn +JykgKyAocC5uYW1lIHx8ICcnKSkudHJpbSgpIHx8IFouYmVudXR6ZXI7CiAgICAgICAgICAgIH0K +ICAgICAgICB9CiAgICAgICAgYmFkZ2UudGV4dENvbnRlbnQgPSBhbnplaWdlOwogICAgICAgIGJh +ZGdlLnRpdGxlID0gWi5iZW51dHplciArIChaLm1laW5lUGVyc29uSWQgPyAnIOKAlCBlcmthbm50 +IGFscyAiJyArIGFuemVpZ2UgKyAnIicgOiAnIOKAlCBrZWluZSB6dWdlb3JkbmV0ZSBQZXJzb24n +KTsKCiAgICAgICAga29wZlJlbmRlcm4oKTsKICAgICAgICBuYW1lblJlbmRlcm4oKTsKICAgICAg +ICBkYXRlbkdyaWRSZW5kZXJuKCk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgcmVuZGVyRXJy +b3JCb3goZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Fuc2ljaHQtcGxhbnVuZycpLCBlLCAnUGxh +bnVuZycpOwogICAgfQp9CgovLyA9PT09PSBLb3BmYmVyZWljaCAoRGF0dW0sIFdvY2hlbnRhZywg +RmVyaWVuLCBTdMOkcmtlLCBTY2hpY2h0Zm9sZ2UpID09PT09CgpleHBvcnQgZnVuY3Rpb24ga29w +ZlJlbmRlcm4oKSB7CiAgICB2YXIgX3BlcmZUYWcgPSBwZXJmTWFyaygna29wZlJlbmRlcm4nKTsK +ICAgIHZhciBzdGFuZG9ydGUgPSAoWi5hZG1pbi5zdGFuZG9ydGUgfHwgW10pOwogICAgLy8gRmVh +dHVyZS1DaGVja3MgKyBTdGFtbS1XZXJ0ZSBlaW5tYWwgdm9yIGRlciBUYWdlcy1TY2hsZWlmZSwg +c3RhdHQKICAgIC8vIHNpZSBwcm8gVGFnIGluIGRlciBmb3JFYWNoIGVybmV1dCBhdWZ6dWxvZXNl +biAoMzY1eCBmZWF0dXJlSXN0QWt0aXYKICAgIC8vIGlzdCB0ZXVlcjsgcmVuZGVySG9va3MtUHJv +cGVydHktTG9va3VwIGF1Y2gpLgogICAgdmFyIGZpYSA9IHJlbmRlckhvb2tzLmZlYXR1cmVJc3RB +a3RpdjsKICAgIHZhciBzZkFrdGl2ICAgICAgICAgPSAhIShmaWEgJiYgZmlhKCdzY2hpY2h0Zm9s +Z2VuJykpOwogICAgdmFyIHN0YWVya2VBa3RpdiAgICA9ICEhKGZpYSAmJiBmaWEoJ3N0YWVya2VB +bnplaWdlJykpOwogICAgdmFyIHdpY2h0aWdVSSAgICAgICA9ICEhKGZpYSAmJiBmaWEoJ3NvbmRl +cnRlcm1pbmVXaWNodGlnJykpOwogICAgdmFyIGZlaWVydGFnQmV0b25lbiA9ICFmaWEgPyB0cnVl +IDogISFmaWEoJ2ZlaWVydGFnZVdpY2h0aWdCZXRvbmVuJyk7CiAgICB2YXIgYWt0SmFociAgICAg +ICAgID0gWi5hZG1pbi5qYWhyIHx8IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTsKICAgIHZhciBp +c3RTVSAgICAgICAgICAgPSAhIShaLnJlY2h0ZSAmJiBaLnJlY2h0ZS5pc3RTdXBlclVzZXIpOwog +ICAgdmFyIHNvbmRlclRpdGVsSG9vayA9IHJlbmRlckhvb2tzLnNvbmRlclRpdGVsQXVzVGV4dDsK +CiAgICAvLyBMaW5rZSBTZWl0ZTogU2NoaWNodGZvbGdlLUxhYmVscwogICAgdmFyIHNmTGlua3NI +dG1sID0gJyc7CiAgICBpZiAoc2ZBa3RpdiAmJiBzdGFuZG9ydGUubGVuZ3RoID4gMCkgewogICAg +ICAgIHN0YW5kb3J0ZS5mb3JFYWNoKGZ1bmN0aW9uKHNvLCBpZHgpIHsKICAgICAgICAgICAgdmFy +IGxhYmVsTCA9ICcnLCBsYWJlbFIgPSBzby5uYW1lIHx8ICcnOwogICAgICAgICAgICBpZiAoaWR4 +ID09PSAwKSB7IGxhYmVsTCA9ICdTY2hpY2h0JzsgfQogICAgICAgICAgICBlbHNlIGlmIChpZHgg +PT09IDEpIHsgbGFiZWxMID0gJ2ZvbGdlJzsgfQogICAgICAgICAgICBzZkxpbmtzSHRtbCArPSAn +PGRpdiBjbGFzcz0ia29wZi16ZWlsZSBrei1zY2hpY2h0Zm9sZ2UnICsgKGlkeCA9PT0gMCA/ICcg +a3otc2YtZXJzdGUnIDogJycpICsgJyI+JyArCiAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9 +ImtsLWxhYmVsIj4nICsgZXNjYXBlSFRNTChsYWJlbEwpICsgJzwvc3Bhbj4nICsKICAgICAgICAg +ICAgICAgICc8c3BhbiBjbGFzcz0ia2wtd2VydCI+JyArIGVzY2FwZUhUTUwobGFiZWxSKSArICc8 +L3NwYW4+PC9kaXY+JzsKICAgICAgICB9KTsKICAgIH0KICAgIGRvY3VtZW50LmdldEVsZW1lbnRC +eUlkKCdzY2hpY2h0Zm9sZ2UtbGlua3MnKS5pbm5lckhUTUwgPSBzZkxpbmtzSHRtbDsKCiAgICAv +LyBSZWNodGUgU2VpdGU6IERhdHVtc3plaWxlbgogICAgdmFyIHRhZ0h0bWwgPSAnJywgd3RIdG1s +ID0gJycsIGFubGFzc0h0bWwgPSAnJywgc3RhZXJrZUh0bWwgPSAnJzsKICAgIHZhciBzZlplaWxl +biA9IFtdOwogICAgc3RhbmRvcnRlLmZvckVhY2goZnVuY3Rpb24oKSB7IHNmWmVpbGVuLnB1c2go +JycpOyB9KTsKCiAgICBaLnRhZ2UuZm9yRWFjaChmdW5jdGlvbihkKSB7CiAgICAgICAgdmFyIGRT +dHIgPSBkYXR1bVN0cihkKTsKICAgICAgICB2YXIgaW5mbyA9IFoudGFnSW5mb3NbZFN0cl0gfHwg +eyB0eXA6ICdub3JtYWwnLCBnZWJ1cnRzdGFnZTogW10gfTsKICAgICAgICB2YXIgaXN0SGV1dGUg +PSBkU3RyID09PSBaLmhldXRlU3RyOwogICAgICAgIHZhciB3ZSA9IGlzdFdvY2hlbmVuZGUoZCk7 +CgogICAgICAgIC8vIFJlaWNoaGFsdGlnZXIgVG9vbHRpcDogRmVpZXJ0YWcsIEZlcmllbiwgU29u +ZGVydGVybWluLCBHZWJ1cnRzdGFnZQogICAgICAgIHZhciB0aXRsZVRlaWxlID0gW107CiAgICAg +ICAgaWYgKGluZm8ubmFtZSkgdGl0bGVUZWlsZS5wdXNoKGluZm8udHlwID09PSAnZmVpZXJ0YWcn +ID8gJ/CfjokgJyArIGluZm8ubmFtZSA6IGluZm8ubmFtZSk7CiAgICAgICAgaWYgKGluZm8uc29u +ZGVyKSB7CiAgICAgICAgICAgIHZhciBzVGl0ZWwgPSBpbmZvLnNvbmRlci50aXRlbCB8fCAoc29u +ZGVyVGl0ZWxIb29rICYmIHNvbmRlclRpdGVsSG9vayhpbmZvLnNvbmRlci50ZXh0KSkgfHwgJyc7 +CiAgICAgICAgICAgIHRpdGxlVGVpbGUucHVzaCgoaW5mby5zb25kZXIudHlwID09PSAnd2FybnVu +ZycgPyAn4pqgICcgOiAn4oS5ICcpICsgc1RpdGVsKTsKICAgICAgICB9CiAgICAgICAgaWYgKGlu +Zm8uZ2VidXJ0c3RhZ2UgJiYgaW5mby5nZWJ1cnRzdGFnZS5sZW5ndGgpIHsKICAgICAgICAgICAg +dmFyIGdiID0gaW5mby5nZWJ1cnRzdGFnZS5tYXAoZnVuY3Rpb24oZykgewogICAgICAgICAgICAg +ICAgdmFyIGFsdGVyID0gZy5qYWhyID8gJyAoJyArIChha3RKYWhyIC0gZy5qYWhyKSArICcpJyA6 +ICcnOwogICAgICAgICAgICAgICAgcmV0dXJuIGcubmFtZSArIGFsdGVyOwogICAgICAgICAgICB9 +KS5qb2luKCcsICcpOwogICAgICAgICAgICB0aXRsZVRlaWxlLnB1c2goJ/CfjoIgR2VidXJ0c3Rh +ZzogJyArIGdiKTsKICAgICAgICB9CiAgICAgICAgdmFyIHRpdGxlID0gdGl0bGVUZWlsZS5qb2lu +KCdcbicpOwoKICAgICAgICAvLyBUYWdlc3R5cC1LbGFzc2UgZsO8ciBLb3BmCiAgICAgICAgdmFy +IGtvcGZDbHMgPSAnJzsKICAgICAgICBpZiAoaXN0SGV1dGUpIGtvcGZDbHMgPSAnIGtkLWhldXRl +JzsKICAgICAgICBlbHNlIGlmIChpbmZvLnR5cCA9PT0gJ2ZlaWVydGFnJykga29wZkNscyA9ICcg +a2QtZmVpZXJ0YWctYmcnICsgKChpbmZvLndpY2h0aWcgJiYgZmVpZXJ0YWdCZXRvbmVuKSA/ICcg +a2QtZmVpZXJ0YWctd2ljaHRpZycgOiAnJyk7CiAgICAgICAgZWxzZSBpZiAod2UpIGtvcGZDbHMg +PSAnIGtkLXdvY2hlbmVuZGUnOwogICAgICAgIGlmIChpbmZvLnNvbmRlcikga29wZkNscyArPSAn +IGtkLXNvbmRlcnRhZy0nICsgKGluZm8uc29uZGVyLnR5cCB8fCAnaGlud2VpcycpOwoKICAgICAg +ICAvLyBaZWlsZSAxOiBEYXR1bSAoZGQubW0uKSDigJQgQmFkZ2VzIHNpbmQgamV0enQgaW4gZGVu +IHNlcGFyYXRlbgogICAgICAgIC8vIEFubGFzcy0gdW5kIEV2ZW50cy1aZWlsZW4gKEZpbmRpbmdz +IEMuMTIvQy4xMykuIERhdHVtcy1aZWxsZQogICAgICAgIC8vIGJsZWlidCBzY2hsYW5rLgogICAg +ICAgIHRhZ0h0bWwgKz0gJzxkaXYgY2xhc3M9ImtkLXplbGxlJyArIGtvcGZDbHMgKyAnIiB0aXRs +ZT0iJyArIGVzY2FwZUF0dHIodGl0bGUpICsgJyIgZGF0YS1kYXR1bT0iJyArIGRTdHIgKyAnIj4n +ICsKICAgICAgICAgICAgZGF0dW1LdXJ6REUoZCkgKyAnPC9kaXY+JzsKCiAgICAgICAgLy8gWmVp +bGUgMjogV29jaGVudGFnCiAgICAgICAgd3RIdG1sICs9ICc8ZGl2IGNsYXNzPSJrZC16ZWxsZScg +KyBrb3BmQ2xzICsgJyI+JyArIHdvY2hlbnRhZ0t1cnooZCkgKyAnPC9kaXY+JzsKCiAgICAgICAg +Ly8gWmVpbGUgMzogS29tYmluaWVydGUgSWNvbi1aZWlsZSDigJQgRmVpZXJ0YWctSWNvbiArIFNv +bmRlcnRlcm1pbi1JY29uCiAgICAgICAgLy8gKyBHZWJ1cnRzdGFncy1JY29uIG5lYmVuZWluYW5k +ZXIgaW4gZWluZXIgWmVsbGUuIEtsaWNrIGF1ZiBkYXMKICAgICAgICAvLyBGZWllcnRhZy1JY29u +IG9lZmZuZXQgZGFzIERldGFpbC1Nb2RhbCAoQmV6ZWljaG51bmcgKyBCZXNjaHJlaWJ1bmcgKwog +ICAgICAgIC8vIFdpa2lwZWRpYS1MaW5rKTsgS2xpY2sgYXVmIGRhcyBTb25kZXJ0ZXJtaW4tSWNv +biBvZWZmbmV0IGRhcwogICAgICAgIC8vIEhpbndlaXMtTW9kYWwuIEZlcmllbiB3ZXJkZW4gbmFj +aCBkZXIgTG9vcCBhbHMgaG9yaXpvbnRhbGUgUmFuZ2UtQmFyCiAgICAgICAgLy8gZGFydWViZXIg +Z2VsZWd0IOKAlCBkaWUgQmFyIGJsZWlidCBmdWVyIG1laHJ0YWVnaWdlIFNpY2h0YmFya2VpdC4K +ICAgICAgICB2YXIgYW5sYXNzQ2xzID0gJycsIGFubGFzc1RpdGxlID0gJyc7CiAgICAgICAgdmFy +IGljb25zSW5uZXIgPSAnJzsKICAgICAgICB2YXIgZXZlbnRzVGl0bGVUZWlsZSA9IFtdOwogICAg +ICAgIGlmIChpbmZvLnR5cCA9PT0gJ2ZlaWVydGFnJykgewogICAgICAgICAgICB2YXIgZnRJY29u +ID0gaW5mby5pY29uIHx8IEtBVEVHT1JJRV9JQ09OX0RFRkFVTFRbaW5mby5rYXRlZ29yaWVdIHx8 +IEtBVEVHT1JJRV9JQ09OX0RFRkFVTFQuZ2VzZXR6bGljaDsKICAgICAgICAgICAgYW5sYXNzQ2xz +ID0gJyBrZC1hbmxhc3MtZmVpZXJ0YWcga2QtYW5sYXNzLWZlaWVydGFnLScgKyAoaW5mby5rYXRl +Z29yaWUgfHwgJ2dlc2V0emxpY2gnKSArCiAgICAgICAgICAgICAgICAgICAgICAgICgoaW5mby53 +aWNodGlnICYmIGZlaWVydGFnQmV0b25lbikgPyAnIGtkLWZlaWVydGFnLXdpY2h0aWcnIDogJycp +OwogICAgICAgICAgICBhbmxhc3NUaXRsZSA9IGluZm8ubmFtZSB8fCAnJzsKICAgICAgICAgICAg +aWNvbnNJbm5lciArPSAnPHNwYW4gY2xhc3M9ImtkLWFubGFzcy1pY29uIiB0aXRsZT0iJyArIGVz +Y2FwZUF0dHIoaW5mby5uYW1lIHx8ICcnKSArICciPicgKyBlc2NhcGVIVE1MKGZ0SWNvbikgKyAn +PC9zcGFuPic7CiAgICAgICAgfSBlbHNlIGlmIChpbmZvLnR5cCA9PT0gJ2ZlcmllbicpIHsKICAg +ICAgICAgICAgYW5sYXNzQ2xzID0gJyBrZC1hbmxhc3MtZmVyaWVuJzsKICAgICAgICAgICAgYW5s +YXNzVGl0bGUgPSBpbmZvLm5hbWUgfHwgJyc7CiAgICAgICAgfQogICAgICAgIGlmIChpbmZvLnNv +bmRlcikgewogICAgICAgICAgICB2YXIgc0ljb24gPSBpbmZvLnNvbmRlci5pY29uIHx8IChpbmZv +LnNvbmRlci50eXAgPT09ICd3YXJudW5nJyA/ICfimqAnIDogJ+KEuScpOwogICAgICAgICAgICB2 +YXIgc1RpdGVsVGV4dCA9IGluZm8uc29uZGVyLnRpdGVsIHx8IChzb25kZXJUaXRlbEhvb2sgJiYg +c29uZGVyVGl0ZWxIb29rKGluZm8uc29uZGVyLnRleHQpKSB8fCAnJzsKICAgICAgICAgICAgLy8g +IndpY2h0aWciLUZsYWcgKENoZXJyeS1QaWNrIDg0ZmIwZjcpOiBleHBsaXppdCB1ZWJlciBkYXMg +bmV1ZQogICAgICAgICAgICAvLyBgd2ljaHRpZ2AtUHJvcGVydHkgZ2VzZXR6dCwgb2RlciBiYWNr +d2FyZHMtY29tcGF0IHVlYmVyIGRhcyBhbHRlCiAgICAgICAgICAgIC8vIGB0eXA6J3dhcm51bmcn +YC4gQ1NTLUtsYXNzZSB3aXJkIG51ciBhbmdlaGFlbmd0LCB3ZW5uIGRlciBUb2dnbGUKICAgICAg +ICAgICAgLy8gYGZlYXR1cmVzLnNvbmRlcnRlcm1pbmVXaWNodGlnYCBha3RpdiBpc3Qg4oCUIHNv +IGJsZWlidCBkYXMKICAgICAgICAgICAgLy8gU3RhbmRhcmQtVmVyaGFsdGVuIHVudmVyYWVuZGVy +dCwgc29sYW5nZSBBZG1pbiBkZW4gU2NoYWx0ZXIgbmljaHQKICAgICAgICAgICAgLy8gdW1sZWd0 +LgogICAgICAgICAgICB2YXIgaXN0V2ljaHRpZyA9ICEhaW5mby5zb25kZXIud2ljaHRpZyB8fCBp +bmZvLnNvbmRlci50eXAgPT09ICd3YXJudW5nJzsKICAgICAgICAgICAgdmFyIHdpY2h0aWdDbHMg +PSAoaXN0V2ljaHRpZyAmJiB3aWNodGlnVUkpID8gJyBrZC1ldmVudC13aWNodGlnJyA6ICcnOwog +ICAgICAgICAgICB2YXIgc0NscyA9ICdrZC1ldmVudC1pY29uIGtkLWV2ZW50LXNvbmRlciBrZC1l +dmVudC0nICsgKGluZm8uc29uZGVyLnR5cCB8fCAnaGlud2VpcycpICsgd2ljaHRpZ0NsczsKICAg +ICAgICAgICAgaWNvbnNJbm5lciArPSAnPHNwYW4gY2xhc3M9IicgKyBzQ2xzICsgJyIgZGF0YS1z +b25kZXItZGF0dW09IicgKyBlc2NhcGVBdHRyKGluZm8uc29uZGVyLmRhdHVtKSArICciIHRpdGxl +PSInICsgZXNjYXBlQXR0cihzVGl0ZWxUZXh0KSArICciPicgKyBlc2NhcGVIVE1MKHNJY29uKSAr +ICc8L3NwYW4+JzsKICAgICAgICAgICAgZXZlbnRzVGl0bGVUZWlsZS5wdXNoKHNUaXRlbFRleHQp +OwogICAgICAgIH0KICAgICAgICBpZiAoaW5mby5nZWJ1cnRzdGFnZSAmJiBpbmZvLmdlYnVydHN0 +YWdlLmxlbmd0aCkgewogICAgICAgICAgICB2YXIgZ2JOYW1lbiA9IGluZm8uZ2VidXJ0c3RhZ2Uu +bWFwKGZ1bmN0aW9uKGcpIHsKICAgICAgICAgICAgICAgIHZhciBhbHRlciA9IGcuamFociA/ICcg +KCcgKyAoYWt0SmFociAtIGcuamFocikgKyAnKScgOiAnJzsKICAgICAgICAgICAgICAgIHJldHVy +biBnLm5hbWUgKyBhbHRlcjsKICAgICAgICAgICAgfSkuam9pbignLCAnKTsKICAgICAgICAgICAg +aWNvbnNJbm5lciArPSAnPHNwYW4gY2xhc3M9ImtkLWV2ZW50LWljb24ga2QtZXZlbnQtZ2VidXJ0 +c3RhZyIgdGl0bGU9IvCfjoIgR2VidXJ0c3RhZzogJyArIGVzY2FwZUF0dHIoZ2JOYW1lbikgKyAn +Ij7wn46CPC9zcGFuPic7CiAgICAgICAgICAgIGV2ZW50c1RpdGxlVGVpbGUucHVzaCgnR2VidXJ0 +c3RhZzogJyArIGdiTmFtZW4pOwogICAgICAgIH0KICAgICAgICBpZiAoaW5mby5kc3QpIHsKICAg +ICAgICAgICAgLy8gWmVpdHVtc3RlbGx1bmc6IGtsZWluZXMgSWNvbiBtaXQgZXJrbGFlcmVuZGVt +IFRvb2x0aXAuIFVzZXIgd2lyZAogICAgICAgICAgICAvLyBzbyBpbSBWb3JhdXMgYXVmIFNjaGlj +aHRlbiBtaXQgdmVyYWVuZGVydGVyIERhdWVyIGF1Zm1lcmtzYW0uCiAgICAgICAgICAgIHZhciBk +c3RUaXRlbCA9IGluZm8uZHN0ID09PSAndm9yJwogICAgICAgICAgICAgICAgPyAnWmVpdHVtc3Rl +bGx1bmc6IFNvbW1lcnplaXQgYmVnaW5udCDigJQgVWhyIHdpcmQgdW0gMDI6MDAgYXVmIDAzOjAw +IHZvcmdlc3RlbGx0IChTY2hpY2h0ZW4gMWgga3VlcnplciknCiAgICAgICAgICAgICAgICA6ICda +ZWl0dW1zdGVsbHVuZzogV2ludGVyemVpdCBiZWdpbm50IOKAlCBVaHIgd2lyZCB1bSAwMzowMCBh +dWYgMDI6MDAgenVydWVja2dlc3RlbGx0IChTY2hpY2h0ZW4gMWggbGFlbmdlciknOwogICAgICAg +ICAgICBpY29uc0lubmVyICs9ICc8c3BhbiBjbGFzcz0ia2QtZXZlbnQtaWNvbiBrZC1ldmVudC1k +c3QiIHRpdGxlPSInICsgZXNjYXBlQXR0cihkc3RUaXRlbCkgKyAnIj7wn5WQPC9zcGFuPic7CiAg +ICAgICAgICAgIGV2ZW50c1RpdGxlVGVpbGUucHVzaChkc3RUaXRlbCk7CiAgICAgICAgfQogICAg +ICAgIHZhciB6ZWxsZVRpdGxlID0gYW5sYXNzVGl0bGUgPyBhbmxhc3NUaXRsZSArIChldmVudHNU +aXRsZVRlaWxlLmxlbmd0aCA/ICdcbicgKyBldmVudHNUaXRsZVRlaWxlLmpvaW4oJ1xuJykgOiAn +JykgOiBldmVudHNUaXRsZVRlaWxlLmpvaW4oJ1xuJyk7CiAgICAgICAgdmFyIHplbGxlQ2xzRXh0 +cmEgPSAoaW5mby5zb25kZXIgfHwgaXN0U1UgPyAnIGtkLWV2ZW50cy1rbGlja2JhcicgOiAnJyk7 +CiAgICAgICAgYW5sYXNzSHRtbCArPSAnPGRpdiBjbGFzcz0ia2QtemVsbGUnICsgYW5sYXNzQ2xz +ICsgemVsbGVDbHNFeHRyYSArICciIHRpdGxlPSInICsgZXNjYXBlQXR0cih6ZWxsZVRpdGxlKSAr +ICciIGRhdGEtZGF0dW09IicgKyBkU3RyICsgJyI+JyArIGljb25zSW5uZXIgKyAnPC9kaXY+JzsK +CiAgICAgICAgLy8gWmVpbGUgNDogU3TDpHJrZSAobnVyIHdlbm4gRmVhdHVyZS1Ub2dnbGUgc3Rh +ZXJrZUFuemVpZ2UgYWt0aXYg4oCUIEZpbmRpbmcgQy4xNSkKICAgICAgICBpZiAoc3RhZXJrZUFr +dGl2KSB7CiAgICAgICAgICAgIHZhciBzdCA9IHN0YWVya2VCZXJlY2huZW4oZFN0cik7CiAgICAg +ICAgICAgIHN0YWVya2VIdG1sICs9ICc8ZGl2IGNsYXNzPSJrZC16ZWxsZSAnICsgKHN0Lm9rID8g +J3N0YWVya2Utb2snIDogJ3N0YWVya2Utd2FybnVuZycpICsgJyIgdGl0bGU9IkY6JyArIHN0LmYg +KyAnIFM6JyArIHN0LnMgKyAnIE46JyArIHN0Lm4gKyAnIj4nICsgc3QudGV4dCArICc8L2Rpdj4n +OwogICAgICAgIH0KCiAgICAgICAgLy8gU2NoaWNodGZvbGdlLVplaWxlbgogICAgICAgIHN0YW5k +b3J0ZS5mb3JFYWNoKGZ1bmN0aW9uKHNvLCBpZHgpIHsKICAgICAgICAgICAgdmFyIHNmOwogICAg +ICAgICAgICBpZiAoc28uaXN0UG9vbCkgc2YgPSAnUG9vbCc7CiAgICAgICAgICAgIGVsc2Ugc2Yg +PSAoc28uc2NoaWNodGZvbGdlIHx8IHt9KVtkU3RyXSB8fCAnJzsKICAgICAgICAgICAgdmFyIHNm +Q2xzID0gJyc7CiAgICAgICAgICAgIGlmIChpbmZvLnR5cCA9PT0gJ2ZlaWVydGFnJykgc2ZDbHMg +PSAnIGtkLWZlaWVydGFnLWJnJzsKICAgICAgICAgICAgZWxzZSBpZiAod2UpIHNmQ2xzID0gJyBr +ZC13b2NoZW5lbmRlJzsKICAgICAgICAgICAgaWYgKHNmICYmICFzby5pc3RQb29sKSBzZkNscyAr +PSAnIHNmLScgKyBzZi50b0xvd2VyQ2FzZSgpOwogICAgICAgICAgICBpZiAoc28uaXN0UG9vbCkg +c2ZDbHMgKz0gJyBzZi1wb29sJzsKICAgICAgICAgICAgc2ZaZWlsZW5baWR4XSArPSAnPGRpdiBj +bGFzcz0ia2QtemVsbGUnICsgc2ZDbHMgKyAnIj4nICsgZXNjYXBlSFRNTChzZikgKyAnPC9kaXY+ +JzsKICAgICAgICB9KTsKICAgIH0pOwoKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXR1 +bS16ZWlsZS10YWcnKS5pbm5lckhUTUwgPSB0YWdIdG1sOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVu +dEJ5SWQoJ2RhdHVtLXplaWxlLXdvY2hlbnRhZycpLmlubmVySFRNTCA9IHd0SHRtbDsKICAgIC8v +IEZlcmllbi1SYW5nZS1PdmVybGF5OiB6dXNhbW1lbmhhZW5nZW5kZSBGZXJpZW4tVGFnZSBpbiBa +LnRhZ2UKICAgIC8vIHdlcmRlbiBhbHMgaG9yaXpvbnRhbGUgQmFyIGdlcmVuZGVydCwgYWJzb2x1 +dCBwb3NpdGlvbmllcnQgdWViZXIKICAgIC8vIGRlbiBwZXItVGFnLVplbGxlbi4gU3RhcnQgPSBJ +bmRleCBkZXMgZXJzdGVuIEZlcmllbi1UYWdlcywKICAgIC8vIEJyZWl0ZSA9IEFuemFobF9UYWdl +ICogWmVsbGVuLUJyZWl0ZS4gTmFtZSB3aXJkIGVpbm1hbCB6ZW50cmllcnQuCiAgICB2YXIgZmVy +aWVuQmFyc0h0bWwgPSAnJzsKICAgIHZhciB6ZWxsZUJyZWl0ZVB4ID0gcGFyc2VJbnQoZ2V0Q29t +cHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0t +emVsbGUtYnJlaXRlJyksIDEwKSB8fCA2MjsKICAgIHZhciByYW5nZVN0YXJ0ID0gLTEsIHJhbmdl +TmFtZSA9ICcnOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPD0gWi50YWdlLmxlbmd0aDsgaSsrKSB7 +CiAgICAgICAgdmFyIGRLZXkgPSAoaSA8IFoudGFnZS5sZW5ndGgpID8gZGF0dW1TdHIoWi50YWdl +W2ldKSA6IG51bGw7CiAgICAgICAgdmFyIGluZm8yID0gZEtleSA/IChaLnRhZ0luZm9zW2RLZXld +IHx8IHt9KSA6IHt9OwogICAgICAgIHZhciBpc3RGZXJpZW4gPSBpbmZvMi50eXAgPT09ICdmZXJp +ZW4nOwogICAgICAgIHZhciBuYW1lID0gaXN0RmVyaWVuID8gKGluZm8yLm5hbWUgfHwgJycpIDog +Jyc7CiAgICAgICAgaWYgKGlzdEZlcmllbiAmJiByYW5nZVN0YXJ0IDwgMCkgewogICAgICAgICAg +ICAvLyBuZXVlIFJhbmdlIHN0YXJ0ZXQKICAgICAgICAgICAgcmFuZ2VTdGFydCA9IGk7IHJhbmdl +TmFtZSA9IG5hbWU7CiAgICAgICAgfSBlbHNlIGlmIChyYW5nZVN0YXJ0ID49IDAgJiYgKCFpc3RG +ZXJpZW4gfHwgbmFtZSAhPT0gcmFuZ2VOYW1lKSkgewogICAgICAgICAgICAvLyBSYW5nZSBlbmRl +dCBoaWVyIChvZGVyIE5hbWUgd2VjaHNlbHQpCiAgICAgICAgICAgIHZhciBsYWVuZ2UgPSBpIC0g +cmFuZ2VTdGFydDsKICAgICAgICAgICAgdmFyIGxlZnRQeCA9IHJhbmdlU3RhcnQgKiB6ZWxsZUJy +ZWl0ZVB4OwogICAgICAgICAgICB2YXIgd2lkdGhQeCA9IGxhZW5nZSAqIHplbGxlQnJlaXRlUHg7 +CiAgICAgICAgICAgIC8vIFBybyBXb2NoZW5lbmQtVGFnIGlubmVyaGFsYiBkZXIgUmFuZ2UgZWlu +ZW4gZGV6ZW50ZW4gTWFya2VyCiAgICAgICAgICAgIC8vIGVpbnNldHplbiwgZGFtaXQgU2EvU28g +aW4gZGVyIEZlcmllbi1CYXIgd2VpdGVyaGluIGVya2VubmJhcgogICAgICAgICAgICAvLyBibGVp +YmVuIChzb25zdCB3ZXJkZW4gc2llIHZvbiBkZXIgQmFyIHVlYmVybWFsdCkuCiAgICAgICAgICAg +IHZhciB3ZU1hcmtlcnMgPSAnJzsKICAgICAgICAgICAgZm9yICh2YXIgdyA9IHJhbmdlU3RhcnQ7 +IHcgPCByYW5nZVN0YXJ0ICsgbGFlbmdlOyB3KyspIHsKICAgICAgICAgICAgICAgIGlmIChpc3RX +b2NoZW5lbmRlKFoudGFnZVt3XSkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgd2VMZWZ0ID0g +KHcgLSByYW5nZVN0YXJ0KSAqIHplbGxlQnJlaXRlUHg7CiAgICAgICAgICAgICAgICAgICAgd2VN +YXJrZXJzICs9ICc8c3BhbiBjbGFzcz0ia2QtZmVyaWVuLWJhci13ZSIgc3R5bGU9ImxlZnQ6JyAr +IHdlTGVmdCArICdweDt3aWR0aDonICsgemVsbGVCcmVpdGVQeCArICdweCI+PC9zcGFuPic7CiAg +ICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZmVyaWVuQmFyc0h0bWwg +Kz0gJzxkaXYgY2xhc3M9ImtkLWZlcmllbi1iYXIiIHN0eWxlPSJsZWZ0OicgKyBsZWZ0UHggKyAn +cHg7d2lkdGg6JyArIHdpZHRoUHggKyAncHgiIHRpdGxlPSInICsgZXNjYXBlQXR0cihyYW5nZU5h +bWUpICsgJyI+JyArCiAgICAgICAgICAgICAgICB3ZU1hcmtlcnMgKwogICAgICAgICAgICAgICAg +JzxzcGFuIGNsYXNzPSJrZC1mZXJpZW4tYmFyLXRleHQiPicgKyBlc2NhcGVIVE1MKHJhbmdlTmFt +ZSkgKyAnPC9zcGFuPicgKwogICAgICAgICAgICAnPC9kaXY+JzsKICAgICAgICAgICAgcmFuZ2VT +dGFydCA9IGlzdEZlcmllbiA/IGkgOiAtMTsKICAgICAgICAgICAgcmFuZ2VOYW1lID0gaXN0RmVy +aWVuID8gbmFtZSA6ICcnOwogICAgICAgIH0KICAgIH0KICAgIGRvY3VtZW50LmdldEVsZW1lbnRC +eUlkKCdkYXR1bS16ZWlsZS1hbmxhc3MnKS5pbm5lckhUTUwgPSBhbmxhc3NIdG1sICsgZmVyaWVu +QmFyc0h0bWw7CiAgICB2YXIgc3RhZXJrZUVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0 +YWVya2UtemVpbGUnKTsKICAgIHN0YWVya2VFbC5pbm5lckhUTUwgPSBzdGFlcmtlSHRtbDsKICAg +IC8vIENvbnRhaW5lciBhdXNibGVuZGVuIHdlbm4gVG9nZ2xlIGF1cywgZGFtaXQgYXVjaCBIb2Vo +ZSB3ZWdmYWVsbHQKICAgIHN0YWVya2VFbC5zdHlsZS5kaXNwbGF5ID0gc3RhZXJrZUFrdGl2ID8g +JycgOiAnbm9uZSc7CgogICAgdmFyIHNmUmVjaHRzSHRtbCA9ICcnOwogICAgaWYgKHNmQWt0aXYp +IHsKICAgICAgICBzZlplaWxlbi5mb3JFYWNoKGZ1bmN0aW9uKHopIHsKICAgICAgICAgICAgc2ZS +ZWNodHNIdG1sICs9ICc8ZGl2IGNsYXNzPSJrb3BmLWRhdGVuLXplaWxlIj4nICsgeiArICc8L2Rp +dj4nOwogICAgICAgIH0pOwogICAgfQogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NjaGlj +aHRmb2xnZS1yZWNodHMnKS5pbm5lckhUTUwgPSBzZlJlY2h0c0h0bWw7CiAgICAvLyBUYWItRmFl +cmJ1bmcgUHJ1ZWZ1bmcgbmFjaCBqZWRlbSBIZWFkZXItUmUtUmVuZGVyIGFrdHVhbGlzaWVyZW4g +4oCUCiAgICAvLyBqZWRlIFNjaGljaHQtQWVuZGVydW5nIHRyaWdnZXJ0IGtvcGZSZW5kZXJuLCBh +bHNvIGJsZWlidCBkaWUgRmFlcmJ1bmcKICAgIC8vIGltbWVyIGF1ZiBkZW0gU3RhbmQgZGVyIGFr +dHVlbGxlbiBEYXRlbi4KICAgIGlmIChyZW5kZXJIb29rcy5iZXNldHp1bmdzVGFiRmFyYmVBa3R1 +YWxpc2llcmVuKSByZW5kZXJIb29rcy5iZXNldHp1bmdzVGFiRmFyYmVBa3R1YWxpc2llcmVuKCk7 +CiAgICBwZXJmTWVhc3VyZShfcGVyZlRhZyk7Cn0KCi8vID09PT09IE5hbWVuc3NwYWx0ZSA9PT09 +PQoKZXhwb3J0IGZ1bmN0aW9uIG5hbWVuUmVuZGVybigpIHsKICAgIHZhciBfcGVyZlRhZyA9IHBl +cmZNYXJrKCduYW1lblJlbmRlcm4nKTsKICAgIHZhciBodG1sID0gJyc7CiAgICB2YXIgbGV0enRl +R3J1cHBlID0gbnVsbDsKCiAgICBaLnBlcnNvbmVuLmZvckVhY2goZnVuY3Rpb24ocCkgewogICAg +ICAgIHZhciBnID0gcC5ncnVwcGUgfHwgJz8nOwoKICAgICAgICAvLyBHcnVwcGVudHJlbm56ZWls +ZSBlaW5mw7xnZW4KICAgICAgICBpZiAoZyAhPT0gbGV0enRlR3J1cHBlKSB7CiAgICAgICAgICAg +IGlmIChsZXR6dGVHcnVwcGUgIT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHZhciBnTGFiZWwg +PSAoWi5ncnVwcGVuTWFwW2ddICYmIFouZ3J1cHBlbk1hcFtnXS5iZXplaWNobnVuZykgfHwgZzsK +ICAgICAgICAgICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9Im5hbWVuLXRyZW5uZXIiPi0tLSAn +ICsgZXNjYXBlSFRNTChnTGFiZWwpICsgJyAtLS08L2Rpdj4nOwogICAgICAgICAgICB9CiAgICAg +ICAgICAgIGxldHp0ZUdydXBwZSA9IGc7CiAgICAgICAgfQoKICAgICAgICB2YXIgZ3JDbHMgPSAn +Z3ItJyArIGcuY2hhckF0KDApOwogICAgICAgIHZhciB1bWdDbHMgPSAhcC5ha3RpdiA/ICcgbmFt +ZW4temVpbGUtdW1nZXNldHp0JyA6ICcnOwogICAgICAgIHZhciBuYW1lQW56ZWlnZSA9IChwLmRp +ZW5zdGdyYWQgPyBwLmRpZW5zdGdyYWQgKyAnICcgOiAnJykgKyBwLm5hbWU7CiAgICAgICAgaHRt +bCArPSAnPGRpdiBjbGFzcz0ibmFtZW4temVpbGUnICsgdW1nQ2xzICsgJyIgZGF0YS1wZXJzb24t +aWQ9IicgKyBwLmlkICsgJyIgdGl0bGU9IicgKwogICAgICAgICAgICAocC5ha3RpdiA/ICcnIDog +J1VtZ2VzZXR6dCDigJQgbnVyIHp1ciBSZWNoZXJjaGUgZWluZ2VibGVuZGV0JykgKyAnIj4nICsK +ICAgICAgICAgICAgJzxkaXYgY2xhc3M9Im56LW5hbWUiPicgKwogICAgICAgICAgICAgICAgYXZh +dGFyS3JlaXNIdG1sKHAsIDIwKSArCiAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9Im56LW5h +bWUtdGV4dCI+JyArIGVzY2FwZUhUTUwobmFtZUFuemVpZ2UpICsgKHAuYWt0aXYgPyAnJyA6ICcg +4oCgJykgKyAnPC9zcGFuPicgKwogICAgICAgICAgICAnPC9kaXY+JyArCiAgICAgICAgICAgICc8 +ZGl2IGNsYXNzPSJuei1vZSI+JyArIGVzY2FwZUhUTUwocC5vZSB8fCAnJykgKyAnPC9kaXY+JyAr +CiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJuei1ncnVwcGUgJyArIGdyQ2xzICsgJyI+JyArIGVz +Y2FwZUhUTUwoZykgKyAnPC9kaXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJuei1kbnIi +IHRpdGxlPSJUZWxlZm9uIj4nICsgZXNjYXBlSFRNTChwLnRlbGVmb24gfHwgJycpICsgJzwvZGl2 +PicgKwogICAgICAgICAgICAnPGRpdiBjbGFzcz0ibnotcmFuZyIgdGl0bGU9IkRpZW5zdHJhbmci +PicgKyAocC5wb3NpdGlvbiAhPSBudWxsID8gcC5wb3NpdGlvbiA6ICcnKSArICc8L2Rpdj4nICsK +ICAgICAgICAnPC9kaXY+JzsKICAgIH0pOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25h +bWVuLWxpc3RlJykuaW5uZXJIVE1MID0gaHRtbDsKICAgIHBlcmZNZWFzdXJlKF9wZXJmVGFnKTsK +fQoKLy8gPT09PT0gRGF0ZW5ncmlkID09PT09CgovLyBNYXBwdCBlaW5lbiBTY2hyYWZmdXItQ29k +ZSB3aWUgIkYxIi8iUzIiLyJOMSIgYXVmIGRpZSB6dWdlaG9lcmlnZSBDU1MtS2xhc3NlLgpmdW5j +dGlvbiBzY2hyYWZmdXJLbGFzc2UobSkgewogICAgaWYgKCFtKSByZXR1cm4gJyc7CiAgICB2YXIg +cHIgPSBtLmNoYXJBdCgwKSwgcmcgPSBtLmNoYXJBdCgxKTsKICAgIGlmIChwciA9PT0gJ0YnKSBy +ZXR1cm4gcmcgPT09ICcxJyA/ICdzY2hyYWZmdXItZnJ1ZWgnIDogJ3NjaHJhZmZ1ci1mcnVlaC0y +JzsKICAgIGlmIChwciA9PT0gJ1MnKSByZXR1cm4gcmcgPT09ICcxJyA/ICdzY2hyYWZmdXItc3Bh +ZXQnIDogJ3NjaHJhZmZ1ci1zcGFldC0yJzsKICAgIGlmIChwciA9PT0gJ04nKSByZXR1cm4gcmcg +PT09ICcxJyA/ICdzY2hyYWZmdXItbmFjaHQnIDogJ3NjaHJhZmZ1ci1uYWNodC0yJzsKICAgIHJl +dHVybiAnJzsKfQoKZXhwb3J0IGZ1bmN0aW9uIGRhdGVuR3JpZFJlbmRlcm4oKSB7CiAgICB2YXIg +X3BlcmZUYWcgPSBwZXJmTWFyaygnZGF0ZW5HcmlkUmVuZGVybicpOwogICAgLy8gU2NocmFmZnVy +ZW4gdm9yYWIgcHJvIFRhZyBiZXJlY2huZW4sIGRhbWl0IHNpZSBpbmxpbmUgaW4gZGVuIEhUTUwt +U3RyaW5nCiAgICAvLyBrb2VubmVuIOKAlCBzcGFydCBoaW50ZXJoZXIgfjIyMDAgRE9NLVF1ZXJp +ZXMgKHNpZWhlIHNjaHJhZmZ1ckJlcmVjaG5lbgogICAgLy8gKyBIb3QtUGF0aC1BdWRpdCkuIE1h +cDogeyAiZGF0dW18cGlkIjogIkYxIiB8ICJTMiIgfCDigKYgfQogICAgdmFyIHNjaHJNYXAgPSB7 +fTsKICAgIFoudGFnZS5mb3JFYWNoKGZ1bmN0aW9uKGQpIHsKICAgICAgICB2YXIgZFN0ciA9IGRh +dHVtU3RyKGQpOwogICAgICAgIHZhciBzY2hyID0gc2NocmFmZnVyQmVyZWNobmVuKGRTdHIpOwog +ICAgICAgIE9iamVjdC5rZXlzKHNjaHIpLmZvckVhY2goZnVuY3Rpb24ocGlkKSB7CiAgICAgICAg +ICAgIHNjaHJNYXBbZFN0ciArICd8JyArIHBpZF0gPSBzY2hyW3BpZF07CiAgICAgICAgfSk7CiAg +ICB9KTsKCiAgICB2YXIgaHRtbCA9ICcnOwogICAgdmFyIGxldHp0ZUdydXBwZSA9IG51bGw7CiAg +ICAvLyBWb2xsZSBHcmlkLUJyZWl0ZSAoYWxsZSBUYWdlKS4gRGVyIFRyZW5uZXIgaXN0IGVpbiBs +ZWVyZXMgRmxleC1LaW5kIHVuZAogICAgLy8gYmVrYW0gbWl0ICJtaW4td2lkdGg6MTAwJSIgbnVy +IGRpZSBTSUNIVEJBUkUgQnJlaXRlIGRlcyBTY3JvbGwtQ29udGFpbmVycwogICAgLy8g4oCUIGJl +aW0gUmF1c3Njcm9sbGVuIGJsaWViIGVyIHN0ZWhlbiwgZGllIERhdGVuemVpbGVuIGxpZWZlbiBh +YmVyIHdlaXRlcgogICAgLy8gKHdlaXNzZXIgU3RyZWlmZW4gcmVjaHRzIG5lYmVuIGRlbSBHcnVw +cGVuLUxhYmVsKS4gQm9yZGVyLWJveCAtPiBqZWRlCiAgICAvLyBaZWxsZSBpc3QgZXhha3QgLS16 +ZWxsZS1icmVpdGUgYnJlaXQsIGFsc28gR2VzYW10YnJlaXRlID0gYnJlaXRlICogVGFnZS4KICAg +IHZhciBncmlkQnJlaXRlQ3NzID0gJ2NhbGModmFyKC0temVsbGUtYnJlaXRlKSAqICcgKyAoWi50 +YWdlLmxlbmd0aCB8fCAwKSArICcpJzsKCiAgICBaLnBlcnNvbmVuLmZvckVhY2goZnVuY3Rpb24o +cCkgewogICAgICAgIHZhciBnID0gcC5ncnVwcGUgfHwgJz8nOwoKICAgICAgICAvLyBHcnVwcGVu +dHJlbm56ZWlsZSBpbSBHcmlkCiAgICAgICAgaWYgKGcgIT09IGxldHp0ZUdydXBwZSkgewogICAg +ICAgICAgICBpZiAobGV0enRlR3J1cHBlICE9PSBudWxsKSB7CiAgICAgICAgICAgICAgICAvLyBJ +bmxpbmUtU3R5bGUsIGRhbWl0IEJyb3dzZXItQ2FjaGUgb2RlciBDU1MtT3ZlcnJpZGUgZWdhbCBz +aW5kLgogICAgICAgICAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz0iZ3JpZC10cmVubmVyIiBz +dHlsZT0iYmFja2dyb3VuZDp2YXIoLS1iZy1wcmltYXJ5KTt3aWR0aDonICsgZ3JpZEJyZWl0ZUNz +cyArICc7bWluLXdpZHRoOjEwMCUiPjwvZGl2Pic7CiAgICAgICAgICAgIH0KICAgICAgICAgICAg +bGV0enRlR3J1cHBlID0gZzsKICAgICAgICB9CgogICAgICAgIHZhciB6ZWlsZUNscyA9ICdncmlk +LXplaWxlJyArICghcC5ha3RpdiA/ICcgZ3JpZC16ZWlsZS11bWdlc2V0enQnIDogJycpOwogICAg +ICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9IicgKyB6ZWlsZUNscyArICciIGRhdGEtcGVyc29uLWlk +PSInICsgcC5pZCArICciPic7CiAgICAgICAgdmFyIHBpZFN0ciA9IFN0cmluZyhwLmlkKTsKICAg +ICAgICB2YXIgZGFyZkVkaXQgPSBkYXJmWmVsbGVFZGl0aWVyZW4ocC5pZCk7CiAgICAgICAgWi50 +YWdlLmZvckVhY2goZnVuY3Rpb24oZCkgewogICAgICAgICAgICB2YXIgZFN0ciA9IGRhdHVtU3Ry +KGQpOwogICAgICAgICAgICB2YXIgZSA9IChaLnBsYW51bmcuZWludHJhZWdlIHx8IHt9KVtkU3Ry +XSB8fCB7fTsKICAgICAgICAgICAgdmFyIHdlcnQgPSBlW3BpZFN0cl0gfHwgJyc7CiAgICAgICAg +ICAgIHZhciBmYXJiZW4gPSBaLmNvZGVNYXBbd2VydF0gfHwge307CiAgICAgICAgICAgIHZhciBp +bmZvID0gWi50YWdJbmZvc1tkU3RyXSB8fCB7IHR5cDogJ25vcm1hbCcgfTsKICAgICAgICAgICAg +dmFyIHN0eWxlID0gJycsIGtsYXNzZW4gPSAnZ3JpZC16ZWxsZSc7CiAgICAgICAgICAgIHZhciBh +bnplaWdlID0gd2VydDsKICAgICAgICAgICAgdmFyIHRpdGVsID0gd2VydDsKCiAgICAgICAgICAg +IGlmICh3ZXJ0ICYmIGZhcmJlbi5oaW50ZXJncnVuZCkgewogICAgICAgICAgICAgICAgc3R5bGUg +PSAnYmFja2dyb3VuZC1jb2xvcjonICsgZXNjYXBlQXR0cihmYXJiZW4uaGludGVyZ3J1bmQpICsg +Jztjb2xvcjonICsgZXNjYXBlQXR0cihmYXJiZW4uc2NocmlmdCB8fCAnIzAwMCcpOwogICAgICAg +ICAgICAgICAgYW56ZWlnZSA9IGZhcmJlbi5rdWVyemVsIHx8IHdlcnQ7CiAgICAgICAgICAgIH0g +ZWxzZSBpZiAoaW5mby50eXAgPT09ICd3b2NoZW5lbmRlJykga2xhc3NlbiArPSAnIHNwYWx0ZS13 +b2NoZW5lbmRlJzsKICAgICAgICAgICAgZWxzZSBpZiAoaW5mby50eXAgPT09ICdmZWllcnRhZycp +IGtsYXNzZW4gKz0gJyBzcGFsdGUtZmVpZXJ0YWcnOwogICAgICAgICAgICBlbHNlIGlmIChpbmZv +LnR5cCA9PT0gJ2ZlcmllbicpIGtsYXNzZW4gKz0gJyBzcGFsdGUtZmVyaWVuJzsKICAgICAgICAg +ICAgaWYgKGRTdHIgPT09IFouaGV1dGVTdHIpIGtsYXNzZW4gKz0gJyBzcGFsdGUtaGV1dGUnOwoK +ICAgICAgICAgICAgLy8gT2huZSBFZGl0LVJlY2h0IHdpcmQgZGllIFplbGxlIHZpc3VlbGwgYWxz +IGdlc3BlcnJ0IG1hcmtpZXJ0LgogICAgICAgICAgICBpZiAoIWRhcmZFZGl0KSBrbGFzc2VuICs9 +ICcgZ3JpZC16ZWxsZS1nZXNwZXJydCc7CgogICAgICAgICAgICAvLyBTY2hyYWZmdXIgaW5saW5l +IGF1cyBkZXIgdm9yYWIgYmVyZWNobmV0ZW4gTWFwLgogICAgICAgICAgICB2YXIgbSA9IHNjaHJN +YXBbZFN0ciArICd8JyArIHBpZFN0cl07CiAgICAgICAgICAgIGlmIChtKSB7CiAgICAgICAgICAg +ICAgICB2YXIgY2wgPSBzY2hyYWZmdXJLbGFzc2UobSk7CiAgICAgICAgICAgICAgICBpZiAoY2wp +IGtsYXNzZW4gKz0gJyAnICsgY2w7CiAgICAgICAgICAgICAgICBpZiAobS5jaGFyQXQoMSkgPT09 +ICcxJykgewogICAgICAgICAgICAgICAgICAgIGtsYXNzZW4gKz0gJyB2ZXJhbnR3b3J0bGljaCc7 +CiAgICAgICAgICAgICAgICAgICAgdGl0ZWwgKz0gJyBbVkVSQU5UV09SVExJQ0hdJzsKICAgICAg +ICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFz +cz0iJyArIGtsYXNzZW4gKyAnIiBkYXRhLWRhdHVtPSInICsgZFN0ciArICciIGRhdGEtcGVyc29u +PSInICsgcGlkU3RyICsgJyIgc3R5bGU9IicgKyBzdHlsZSArICciIHRpdGxlPSInICsgZXNjYXBl +QXR0cih0aXRlbCkgKyAnIj4nICsgZXNjYXBlSFRNTChhbnplaWdlKSArICc8L2Rpdj4nOwogICAg +ICAgIH0pOwogICAgICAgIGh0bWwgKz0gJzwvZGl2Pic7CiAgICB9KTsKICAgIGRvY3VtZW50Lmdl +dEVsZW1lbnRCeUlkKCdncmlkLWRhdGVuJykuaW5uZXJIVE1MID0gaHRtbDsKICAgIC8vIChEZXIg +ZnJ1ZWhlcmUgZGVmZW5zaXZlIHF1ZXJ5U2VsZWN0b3JBbGwoJy5ncmlkLXRyZW5uZXInKS1TdHls +ZS1Mb29wIGlzdAogICAgLy8gZW50ZmVybnQ6IGRpZSBUcmVubmVyIHRyYWdlbiBpaHJlIElubGlu +ZS1TdHlsZXMgYmVyZWl0cyBpbSBIVE1MLVN0cmluZwogICAgLy8g4oCUIGBzdHlsZT0iYmFja2dy +b3VuZDp2YXIoLS1iZy1wcmltYXJ5KTt3aWR0aDrigKY7bWluLXdpZHRoOjEwMCUiYCDigJQgdW5k +CiAgICAvLyBDU1MtVmFyaWFibGVuIGluIElubGluZS1TdHlsZXMgbG9lc2VuIGF1ZiBkZW4gQ2hy +b21pdW0tQnJvd3Nlcm4genV2ZXItCiAgICAvLyBsYWVzc2lnIGF1Zi4gRGVyIExvb3AgdmVydXJz +YWNodGUgcHJvIFZvbGwtUmVuZGVyIGVpbmVuIGdldENvbXB1dGVkU3R5bGUtCiAgICAvLyBSZWZs +b3cgKyBET00tUXVlcnkgKyBTdHlsZS1Xcml0ZXMgb2huZSBNZWhyd2VydC4pCiAgICBpZiAocmVu +ZGVySG9va3Mua29tbWVudGFyZUltR3JpZEFuemVpZ2VuKSByZW5kZXJIb29rcy5rb21tZW50YXJl +SW1HcmlkQW56ZWlnZW4oKTsKICAgIHBlcmZNZWFzdXJlKF9wZXJmVGFnKTsKfQoKLy8gPT09PT0g +WmVsbGUgYWt0dWFsaXNpZXJlbiAobmFjaCDDhG5kZXJ1bmcpID09PT09CgpleHBvcnQgZnVuY3Rp +b24gemVsbGVWaXN1ZWxsQWt0dWFsaXNpZXJlbihkU3RyLCBwaWQsIHdlcnQpIHsKICAgIHZhciBf +cGVyZlRhZyA9IHBlcmZNYXJrKCd6ZWxsZVZpc3VlbGxBa3R1YWxpc2llcmVuJyk7CiAgICB2YXIg +eiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5ncmlkLXplbGxlW2RhdGEtZGF0dW09IicgKyBk +U3RyICsgJyJdW2RhdGEtcGVyc29uPSInICsgcGlkICsgJyJdJyk7CiAgICBpZiAoIXopIHsgcGVy +Zk1lYXN1cmUoX3BlcmZUYWcpOyByZXR1cm47IH0KICAgIC8vIEFsdGVyIFdlcnQgYXVzIGRlbSB0 +aXRsZS1BdHRyaWJ1dCBkZXIgWmVsbGU6IGdlc2V0enQgYmVpbSBsZXR6dGVuIFJlbmRlcgogICAg +Ly8gYnp3LiB2b20gbGV0enRlbiB6ZWxsZVZpc3VlbGxBa3R1YWxpc2llcmVuIOKAlCBaLnBsYW51 +bmcuZWludHJhZWdlIHd1cmRlCiAgICAvLyB2b20gQXVmcnVmZXIgc2Nob24gdWViZXJzY2hyaWVi +ZW4uCiAgICB2YXIgYWx0ZXJUaXRlbCA9IHoudGl0bGUgfHwgJyc7CiAgICB2YXIgZGdsQmV0cm9m +ZmVuID0gYWx0ZXJUaXRlbC5pbmRleE9mKCdER0wnKSA+PSAwIHx8ICh3ZXJ0IHx8ICcnKS5pbmRl +eE9mKCdER0wnKSA+PSAwOwoKICAgIHZhciBmYXJiZW4gPSBaLmNvZGVNYXBbd2VydF0gfHwge307 +CiAgICB2YXIgaW5mbyA9IFoudGFnSW5mb3NbZFN0cl0gfHwgeyB0eXA6ICdub3JtYWwnIH07CiAg +ICB6LmNsYXNzTmFtZSA9ICdncmlkLXplbGxlJzsKICAgIHouc3R5bGUuY3NzVGV4dCA9ICcnOwog +ICAgei50aXRsZSA9IHdlcnQgfHwgJyc7CiAgICBpZiAod2VydCAmJiBmYXJiZW4uaGludGVyZ3J1 +bmQpIHsKICAgICAgICB6LnN0eWxlLmJhY2tncm91bmRDb2xvciA9IGZhcmJlbi5oaW50ZXJncnVu +ZDsKICAgICAgICB6LnN0eWxlLmNvbG9yID0gZmFyYmVuLnNjaHJpZnQgfHwgJyMwMDAnOwogICAg +ICAgIHoudGV4dENvbnRlbnQgPSBmYXJiZW4ua3VlcnplbCB8fCB3ZXJ0OwogICAgfSBlbHNlIHsK +ICAgICAgICB6LnRleHRDb250ZW50ID0gd2VydDsKICAgICAgICBpZiAoaW5mby50eXAgPT09ICd3 +b2NoZW5lbmRlJykgei5jbGFzc0xpc3QuYWRkKCdzcGFsdGUtd29jaGVuZW5kZScpOwogICAgICAg +IGVsc2UgaWYgKGluZm8udHlwID09PSAnZmVpZXJ0YWcnKSB6LmNsYXNzTGlzdC5hZGQoJ3NwYWx0 +ZS1mZWllcnRhZycpOwogICAgICAgIGVsc2UgaWYgKGluZm8udHlwID09PSAnZmVyaWVuJykgei5j +bGFzc0xpc3QuYWRkKCdzcGFsdGUtZmVyaWVuJyk7CiAgICB9CiAgICBpZiAoZFN0ciA9PT0gWi5o +ZXV0ZVN0cikgei5jbGFzc0xpc3QuYWRkKCdzcGFsdGUtaGV1dGUnKTsKCiAgICAvLyBjbGFzc05h +bWUgd3VyZGUgb2JlbiBrb21wbGV0dCB6dXJ1ZWNrZ2VzZXR6dCDigJQgZGllIFNwZXJyLU1hcmtp +ZXJ1bmcgZnVlcgogICAgLy8gbmljaHQtZWRpdGllcmJhcmUgWmVsbGVuIChmcmVtZGUgR3J1cHBl +L1BlcnNvbikgbXVzcyBkYWhlciB3aWVkZXIgZ2VzZXR6dAogICAgLy8gd2VyZGVuLCBzb25zdCBz +aWVodCBlaW5lIHJlYWQtb25seS1aZWxsZSBuYWNoIGVpbmVtIExpdmUtU3luYy1VcGRhdGUKICAg +IC8vIHBsb2V0emxpY2ggZWRpdGllcmJhciBhdXMgKEJ1ZzogQ29udGVkZHUgc2FoIGZyZW1kZSBT +LVdERi9TLURHTCBmYXJiaWcpLgogICAgaWYgKCFkYXJmWmVsbGVFZGl0aWVyZW4ocGlkKSkgei5j +bGFzc0xpc3QuYWRkKCdncmlkLXplbGxlLWdlc3BlcnJ0Jyk7CgogICAgLy8gU3TDpHJrZSArIFNj +aHJhZmZ1ciBzaW5kIGJlaWRlIERHTC1hYmhhZW5naWcg4oCUIHdlbm4gd2VkZXIgYWx0ZXIgbm9j +aAogICAgLy8gbmV1ZXIgV2VydCAiREdMIiBlbnRoaWVsdCAoVXJsL2tyL2Rmci9TZW0vZXRjLiks +IGFlbmRlcnQgc2ljaCBkYXJhbgogICAgLy8gbmljaHRzLiBTa2lwIHNwYXJ0IHBybyBFZGl0IGRl +biA0Ni1QZXJzb25lbi1SZWNhbGMgKyB+NTAgRE9NLVF1ZXJpZXMKICAgIC8vIChBdWRpdC1QaGFz +ZSBCLjEsIDIwMjYtMDUtMjEpLgogICAgaWYgKCFkZ2xCZXRyb2ZmZW4pIHJldHVybjsKCiAgICAv +LyBTdMOkcmtlIGbDvHIgZGllc2VuIFRhZyBha3R1YWxpc2llcmVuCiAgICBzdGFlcmtlWmVsbGVB +a3R1YWxpc2llcmVuKGRTdHIpOwoKICAgIHZhciBhbGxlID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv +ckFsbCgnLmdyaWQtemVsbGVbZGF0YS1kYXR1bT0iJyArIGRTdHIgKyAnIl0nKTsKICAgIGFsbGUu +Zm9yRWFjaChmdW5jdGlvbihhKSB7CiAgICAgICAgYS5jbGFzc0xpc3QucmVtb3ZlKCdzY2hyYWZm +dXItZnJ1ZWgnLCdzY2hyYWZmdXItc3BhZXQnLCdzY2hyYWZmdXItbmFjaHQnLCdzY2hyYWZmdXIt +ZnJ1ZWgtMicsJ3NjaHJhZmZ1ci1zcGFldC0yJywnc2NocmFmZnVyLW5hY2h0LTInLCd2ZXJhbnR3 +b3J0bGljaCcpOwogICAgfSk7CiAgICB2YXIgc2NociA9IHNjaHJhZmZ1ckJlcmVjaG5lbihkU3Ry +KTsKICAgIE9iamVjdC5rZXlzKHNjaHIpLmZvckVhY2goZnVuY3Rpb24ocCkgewogICAgICAgIHZh +ciBtID0gc2NocltwXSwgenogPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuZ3JpZC16ZWxsZVtk +YXRhLWRhdHVtPSInICsgZFN0ciArICciXVtkYXRhLXBlcnNvbj0iJyArIHAgKyAnIl0nKTsKICAg +ICAgICBpZiAoIXp6KSByZXR1cm47CiAgICAgICAgdmFyIGNsID0gc2NocmFmZnVyS2xhc3NlKG0p +OwogICAgICAgIGlmIChjbCkgenouY2xhc3NMaXN0LmFkZChjbCk7CiAgICAgICAgaWYgKG0uY2hh +ckF0KDEpID09PSAnMScpIHsKICAgICAgICAgICAgenouY2xhc3NMaXN0LmFkZCgndmVyYW50d29y +dGxpY2gnKTsKICAgICAgICAgICAgenoudGl0bGUgPSAoenoudGl0bGUgfHwgJycpICsgJyBbVkVS +QU5UV09SVExJQ0hdJzsKICAgICAgICB9CiAgICB9KTsKICAgIHBlcmZNZWFzdXJlKF9wZXJmVGFn +KTsKfQoKZXhwb3J0IGZ1bmN0aW9uIHN0YWVya2VaZWxsZUFrdHVhbGlzaWVyZW4oZFN0cikgewog +ICAgdmFyIHN0WmVpbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhZXJrZS16ZWlsZScp +OwogICAgaWYgKCFzdFplaWxlKSByZXR1cm47CiAgICB2YXIgaWR4ID0gWi50YWdlLmZpbmRJbmRl +eChmdW5jdGlvbihkKSB7IHJldHVybiBkYXR1bVN0cihkKSA9PT0gZFN0cjsgfSk7CiAgICBpZiAo +aWR4IDwgMCB8fCBpZHggPj0gc3RaZWlsZS5jaGlsZHJlbi5sZW5ndGgpIHJldHVybjsKICAgIHZh +ciBzdCA9IHN0YWVya2VCZXJlY2huZW4oZFN0cik7CiAgICB2YXIgemVsbGUgPSBzdFplaWxlLmNo +aWxkcmVuW2lkeF07CiAgICB6ZWxsZS5jbGFzc05hbWUgPSAna2QtemVsbGUgJyArIChzdC5vayA/ +ICdzdGFlcmtlLW9rJyA6ICdzdGFlcmtlLXdhcm51bmcnKTsKICAgIHplbGxlLnRleHRDb250ZW50 +ID0gc3QudGV4dDsKICAgIHplbGxlLnRpdGxlID0gJ0Y6JyArIHN0LmYgKyAnIFM6JyArIHN0LnMg +KyAnIE46JyArIHN0Lm47Cn0KCi8vID09PT09IFNjcm9sbC1TeW5jaHJvbmlzYXRpb24gPT09PT0K +CmV4cG9ydCBmdW5jdGlvbiBzY3JvbGxTeW5jKCkgewogICAgdmFyIGdyaWQgPSBkb2N1bWVudC5n +ZXRFbGVtZW50QnlJZCgnZ3JpZC1zY3JvbGwtY29udGFpbmVyJyk7CiAgICB2YXIgbmFtZW4gPSBk +b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmFtZW4tbGlzdGUnKTsKICAgIHZhciBzcGVycmUgPSBm +YWxzZTsKICAgIGdyaWQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgZnVuY3Rpb24oKSB7CiAg +ICAgICAgaWYgKHNwZXJyZSkgcmV0dXJuOwogICAgICAgIHNwZXJyZSA9IHRydWU7CiAgICAgICAg +bmFtZW4uc2Nyb2xsVG9wID0gZ3JpZC5zY3JvbGxUb3A7CiAgICAgICAgc3BlcnJlID0gZmFsc2U7 +CiAgICB9KTsKICAgIG5hbWVuLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGZ1bmN0aW9uKCkg +ewogICAgICAgIGlmIChzcGVycmUpIHJldHVybjsKICAgICAgICBzcGVycmUgPSB0cnVlOwogICAg +ICAgIGdyaWQuc2Nyb2xsVG9wID0gbmFtZW4uc2Nyb2xsVG9wOwogICAgICAgIHNwZXJyZSA9IGZh +bHNlOwogICAgfSk7CiAgICAvLyBEYXMgR3JpZCBoYXQgZWluZW4gaG9yaXpvbnRhbGVuIFNjcm9s +bGJhbGtlbiB1bnRlbiwgZGVyIFBsYXR6IGZyaXNzdC4KICAgIC8vIERpZSBOYW1lbnNsaXN0ZSBk +YW5lYmVuIG5pY2h0IOKAlCBvaG5lIEF1c2dsZWljaCB3YWVyZW4gZGllIGxldHp0ZW4KICAgIC8v +IFplaWxlbiB2ZXJzY2hvYmVuLiBQYWRkaW5nIGR5bmFtaXNjaCBhdWYgZGllIHJlYWxlIFNjcm9s +bGJhci1Ib2VoZQogICAgLy8gc2V0emVuIChjbGllbnRIZWlnaHQgYmVydWVja3NpY2h0aWd0IGRl +biBCYWxrZW4sIG9mZnNldEhlaWdodCBuaWNodCkuCiAgICBmdW5jdGlvbiBzY3JvbGxiYXJBdXNn +bGVpY2goKSB7CiAgICAgICAgdmFyIGggPSBncmlkLm9mZnNldEhlaWdodCAtIGdyaWQuY2xpZW50 +SGVpZ2h0OwogICAgICAgIGlmIChoIDwgMCkgaCA9IDA7CiAgICAgICAgbmFtZW4uc3R5bGUucGFk +ZGluZ0JvdHRvbSA9IGggKyAncHgnOwogICAgfQogICAgc2Nyb2xsYmFyQXVzZ2xlaWNoKCk7CiAg +ICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgc2Nyb2xsYmFyQXVzZ2xlaWNoKTsK +fQoKZXhwb3J0IGZ1bmN0aW9uIHp1bUhldXRpZ2VuRGF0dW0oKSB7CiAgICAvLyBEb3BwZWx0ZXMg +cmVxdWVzdEFuaW1hdGlvbkZyYW1lOiBnYXJhbnRpZXJ0LCBkYXNzIGRlciBCcm93c2VyIHp3ZWkK +ICAgIC8vIFJlbmRlci1GcmFtZXMgZHVyY2hsYXVmZW4gaGF0IChMYXlvdXQgKyBQYWludCksIGJl +dm9yIHdpciBkaWUKICAgIC8vIFplbGxlbi1Qb3NpdGlvbiBhdXNsZXNlbi4gU29uc3Qga2FubiBu +YWNoIExvZ2luIC8gVGFiLVdlY2hzZWwgLwogICAgLy8gSG90LVJlbG9hZCBkaWUgWmVsbGUgbm9j +aCBuaWNodCBmaW5hbCBwb3NpdGlvbmllcnQgc2VpbiB1bmQgZGVyCiAgICAvLyBTY3JvbGwgc3By +aW5ndCBrbmFwcCBkYW5lYmVuIChDaGVycnktUGljayAxYWVmZTI2KS4KICAgIHJlcXVlc3RBbmlt +YXRpb25GcmFtZShmdW5jdGlvbigpIHsKICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVu +Y3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB6ZWxsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io +JyNkYXR1bS16ZWlsZS10YWcgLmtkLXplbGxlW2RhdGEtZGF0dW09IicgKyBaLmhldXRlU3RyICsg +JyJdJyk7CiAgICAgICAgICAgIGlmICh6ZWxsZSkgewogICAgICAgICAgICAgICAgdmFyIGMgPSBk +b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ3JpZC1zY3JvbGwtY29udGFpbmVyJyk7CiAgICAgICAg +ICAgICAgICB2YXIgciA9IHplbGxlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLCBjciA9IGMuZ2V0 +Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgICAgICAgICAgICBjLnNjcm9sbExlZnQgKz0gci5s +ZWZ0IC0gY3IubGVmdCAtIGNyLndpZHRoIC8gMzsKICAgICAgICAgICAgfQogICAgICAgIH0pOwog +ICAgfSk7Cn0KCi8vID09PT09IE5hdmlnYXRpb24gLyBUYWItV2VjaHNlbCA9PT09PQoKZXhwb3J0 +IGZ1bmN0aW9uIGFuc2ljaHRXZWNoc2VsbihuYW1lKSB7CiAgICBpZiAobmFtZSA9PT0gJ2FkbWlu +JyAmJiAhZGFyZkFkbWluVGFiKCkpIHsKICAgICAgICB0b2FzdCgnQWRtaW5pc3RyYXRpb24gaXN0 +IG51ciBmw7xyIFN1cGVyVXNlciB6dWfDpG5nbGljaCcsICd3YXJudW5nJyk7CiAgICAgICAgcmV0 +dXJuOwogICAgfQogICAgaWYgKG5hbWUgPT09ICdzdGF0aXN0aWsnICYmICFkYXJmU3RhdGlzdGlr +KCkpIHsKICAgICAgICB0b2FzdCgnU3RhdGlzdGlrIGlzdCBmw7xyIGRpY2ggbmljaHQgZnJlaWdl +c2NoYWx0ZXQnLCAnd2FybnVuZycpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChuYW1l +ID09PSAnbG9nYnVjaCcgJiYgIWRhcmZMb2didWNoKCkpIHsKICAgICAgICB0b2FzdCgnTG9nYnVj +aCBpc3QgZsO8ciBkaWNoIG5pY2h0IGZyZWlnZXNjaGFsdGV0JywgJ3dhcm51bmcnKTsKICAgICAg +ICByZXR1cm47CiAgICB9CiAgICBpZiAobmFtZSA9PT0gJ2Jlc2V0enVuZycgJiYgIShaLnJlY2h0 +ZSAmJiBaLnJlY2h0ZS5pc3RHZXNhbXR2ZXJhbnR3b3J0bGljaCkpIHsKICAgICAgICB2YXIgYmV6 +QmVzZXR6dW5nID0gKHJlbmRlckhvb2tzLmJleiAmJiByZW5kZXJIb29rcy5iZXooJ25hdi5iZXNl +dHp1bmcnKSkgfHwgJ0Jlc2V0enVuZyc7CiAgICAgICAgdG9hc3QoYmV6QmVzZXR6dW5nICsgJyBp +c3QgbnVyIGbDvHIgR2VzYW10dmVyYW50d29ydGxpY2hlIHp1Z8OkbmdsaWNoJywgJ3dhcm51bmcn +KTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBbJ3BsYW51bmcnLCd3b2NoZW5wbGFuJywncGVy +c3BsYW4nLCdhZG1pbicsJ3N0YXRpc3RpaycsJ2xvZ2J1Y2gnLCdiZXNldHp1bmcnXS5mb3JFYWNo +KGZ1bmN0aW9uKGEpIHsKICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn +YW5zaWNodC0nICsgYSk7CiAgICAgICAgaWYgKGVsKSBlbC5jbGFzc0xpc3QudG9nZ2xlKCd2ZXJz +dGVja3QnLCBhICE9PSBuYW1lKTsKICAgIH0pOwogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFs +bCgnLm5hdi1idG4nKS5mb3JFYWNoKGZ1bmN0aW9uKGIpIHsKICAgICAgICBiLmNsYXNzTGlzdC50 +b2dnbGUoJ2FrdGl2JywgYi5nZXRBdHRyaWJ1dGUoJ2RhdGEtYW5zaWNodCcpID09PSBuYW1lKTsK +ICAgIH0pOwogICAgaWYgKG5hbWUgPT09ICd3b2NoZW5wbGFuJyAmJiByZW5kZXJIb29rcy53cFJl +bmRlcm4pIHJlbmRlckhvb2tzLndwUmVuZGVybigpOwogICAgaWYgKG5hbWUgPT09ICdwZXJzcGxh +bicgJiYgcmVuZGVySG9va3MucHBSZW5kZXJuKSByZW5kZXJIb29rcy5wcFJlbmRlcm4oKTsKICAg +IGlmIChuYW1lID09PSAnbG9nYnVjaCcgJiYgcmVuZGVySG9va3MubG9nYnVjaExhZGVuKSByZW5k +ZXJIb29rcy5sb2didWNoTGFkZW4oKTsKICAgIGlmIChuYW1lID09PSAnc3RhdGlzdGlrJyAmJiBy +ZW5kZXJIb29rcy5zdGF0aXN0aWtMYWRlbikgcmVuZGVySG9va3Muc3RhdGlzdGlrTGFkZW4oKTsK +ICAgIGlmIChuYW1lID09PSAnYWRtaW4nICYmIHJlbmRlckhvb2tzLmFkbWluUmVuZGVybikgcmVu +ZGVySG9va3MuYWRtaW5SZW5kZXJuKCk7CiAgICBpZiAobmFtZSA9PT0gJ2Jlc2V0enVuZycgJiYg +cmVuZGVySG9va3MuYmVzZXR6dW5nc2tvbnRyb2xsZVJlbmRlcm4pIHJlbmRlckhvb2tzLmJlc2V0 +enVuZ3Nrb250cm9sbGVSZW5kZXJuKCk7CgogICAgLy8gQWt0aXZlIEFuc2ljaHQgcGVyc2lzdGll +cmVuLCBkYW1pdCBlaW4gQnJvd3Nlci1SZWZyZXNoIChGNSkgbmljaHQgaW4KICAgIC8vIGRpZSBQ +bGFudW5nc2Fuc2ljaHQgenVydWVja3NwcmluZ3QuIEJld3Vzc3Qgc2Vzc2lvblN0b3JhZ2Ugc3Rh +dHQKICAgIC8vIGxvY2FsU3RvcmFnZTogZWluIG5ldWVyIEJyb3dzZXItU3RhcnQgdWViZXIgZGds +LmJhdCAoPSBuZXVlcyBUYWIsCiAgICAvLyBsZWVyZXMgc2Vzc2lvblN0b3JhZ2UpIGZhZW5ndCBk +YW1pdCBpbW1lciBhdWYgZGVyIFBsYW51bmdzYW5zaWNodAogICAgLy8gYW4sIHdhZWhyZW5kIGVp +biBJbi1UYWItUmVmcmVzaCBkaWUgQW5zaWNodCBoYWVsdC4KICAgIHRyeSB7IHNlc3Npb25TdG9y +YWdlLnNldEl0ZW0oJ3ZpMy5ha3RpdmVBbnNpY2h0JywgbmFtZSk7IH0gY2F0Y2ggKGUpIHsgLyog +aWdub3JlICovIH0KfQo= +### FILE: js/hinweise.js | 19061 +Ly8gPT09IGhpbndlaXNlLmpzID09PQovLyBJbi1BcHAtSGlud2Vpcy1TeXN0ZW0gKEJhbm5lciBv +YmVuICsgQmFkZ2UgYW0gVXNlci1OYW1lbiArIE1vZGFsLVNlaXRlKS4KLy8KLy8gRXJzZXR6dCBz +ZWl0IDIwMjYtMDUtMjAgYWxsZSBSb3V0aW5lLW1haWx0by1UcmlnZ2VyIChLcmFua21lbGR1bmcs +Ci8vIElkZW50aXRhZXRzLUFlbmRlcnVuZywgQmFja3VwLVJlc3RvcmUsIFBsYW51bmctUmVzZXQs +IFJvbGxlbi1BZW5kZXJ1bmcKLy8gb2huZSBWZXJhbnR3b3J0dW5ncy1VZWJlcmdhbmcpLiBTaWNo +dGJhciBudXIgZnVlciBTdXBlclVzZXIgKyBHZXNhbXQtCi8vIHZlcmFudHdvcnRsaWNoZS4KLy8K +Ly8gRGF0ZW4ga29tbWVuIHZvbSBTZXJ2ZXIgKC9hcGkvaGlud2Vpc2UpLiBQcm8tVXNlci1MZXNl +c3RhdHVzIGxpZWd0Ci8vIGluIGRhdGEvaGlud2Vpc2UuanNvbiwgQmFubmVyLURpc21pc3MgbGFl +dWZ0IGNsaWVudC1zZWl0aWcgcGVyCi8vIHNlc3Npb25TdG9yYWdlIChrb21tdCBiZWkgUmVsb2Fk +IG1pdCBuZXVlbSBIaW53ZWlzIHdpZWRlcikuCgppbXBvcnQgeyBaIH0gZnJvbSAnLi9jb3JlX3N0 +YXRlLmpzJzsKaW1wb3J0IHsgYXBpLCBhcGlQb3N0IH0gZnJvbSAnLi9jb3JlX2FwaS5qcyc7Cmlt +cG9ydCB7IGVzY2FwZUhUTUwsIGVzY2FwZUF0dHIsIGRhdHVtRm9ybWF0REUgfSBmcm9tICcuL2Nv +cmVfdXRpbC5qcyc7CmltcG9ydCB7IG1vZGFsWmVpZ2VuLCBtb2RhbFNjaGxpZXNzZW4sIHRvYXN0 +LCBiZXN0YWV0aWdlbiB9IGZyb20gJy4vdWlfZGlhbG9nLmpzJzsKaW1wb3J0IHsgdGFnRGV0YWls +TW9kYWxaZWlnZW4gfSBmcm9tICcuL2Jlc2V0enVuZy5qcyc7Cgp2YXIgQkFOTkVSX0RJU01JU1Nf +S0VZID0gJ2hpbndlaXNfYmFubmVyX2Rpc21pc3NlZF9pZHMnOwoKLy8gTGVzYmFyZSBCZXplaWNo +bnVuZ2VuIHBybyBUeXAuIFdpcmQgaW0gQmFubmVyLVRleHQgdW5kIGluIGRlcgovLyBNb2RhbC1U +YWJlbGxlIHZlcndlbmRldC4KdmFyIFRZUF9MQUJFTCA9IHsKICAgIGlkZW50aXRhZXRfZ2VhZW5k +ZXJ0OiAgICAnSWRlbnRpdMOkdCBnZcOkbmRlcnQnLAogICAgcm9sbGVfZ2VhZW5kZXJ0OiAgICAg +ICAgICdSb2xsZSBnZcOkbmRlcnQnLAogICAgYmFja3VwX3dpZWRlcmhlcmdlc3RlbGx0OidCYWNr +dXAgd2llZGVyaGVyZ2VzdGVsbHQnLAogICAgcGxhbnVuZ19yZXNldDogICAgICAgICAgICdQbGFu +dW5nIHp1csO8Y2tnZXNldHp0JywKICAgIGtyYW5rbWVsZHVuZzogICAgICAgICAgICAnS3Jhbmtt +ZWxkdW5nJywKICAgIHBlcnNvbl9uZXU6ICAgICAgICAgICAgICAnUGVyc29uIG5ldSBhbmdlbGVn +dCcsCiAgICBwZXJzb25faW5ha3RpdjogICAgICAgICAgJ1BlcnNvbiBpbmFrdGl2IGdlc2V0enQn +LAogICAgZ2VidXJ0c3RhZzogICAgICAgICAgICAgICdHZWJ1cnRzdGFnJywKICAgIHNjaGljaHRf +ZWRpdF9uYWhlOiAgICAgICAnU2NoaWNodC3DhG5kZXJ1bmcgbmFoZSBhbSBEYXR1bScKfTsKCi8v +IExvZXN0IGVpbmUgQXVzbG9lc2VyLUtlbm51bmcgKHouQi4gIlBPTElaRUlcTlcwNTU4MDEiIG9k +ZXIgIlBPTElaRUkvTlcwNTU4MDEiKQovLyBhdWYgZWluZW4gbGVzYmFyZW4gUGVyc29uZW5uYW1l +biBhdWYuIFN1Y2h0IHVlYmVyIHAubndLZW5udW5nIGluIGRlciB2b2xsZW4KLy8gUGVyc29uZW5s +aXN0ZSAoaW5rbC4gaW5ha3RpdmVyKS4gRmFlbGx0IGF1ZiBkaWUgcmVpbmUgS2VubnVuZyAob2hu +ZSBEb21hZW5lKQovLyB6dXJ1ZWNrLCB3ZW5uIGtlaW5lIFBlcnNvbiBwYXNzdCDigJQgc28gc3Rl +aHQgZGEgbmllIG1laHIgbnVyIFxEb21hZW5lXEtlbm51bmcuCmZ1bmN0aW9uIGF1c2xvZXNlckFu +emVpZ2UoYXVzbG9lc2VyKSB7CiAgICBpZiAoIWF1c2xvZXNlcikgcmV0dXJuICcnOwogICAgdmFy +IHJvaCA9IFN0cmluZyhhdXNsb2VzZXIpLnRyaW0oKTsKICAgIHZhciBrZW5udW5nID0gcm9oLnJl +cGxhY2UoL14uKltcXC9dLywgJycpLnRyaW0oKTsgICAgICAvLyBEb21hZW5lbi1QcmFlZml4IHdl +ZwogICAgdmFyIHppZWwgPSAoa2VubnVuZyB8fCByb2gpLnRvVXBwZXJDYXNlKCk7CiAgICB2YXIg +cGVyc29uZW4gPSAoWi5wbGFudW5nICYmIFoucGxhbnVuZy5wZXJzb25lbikgfHwgW107CiAgICBm +b3IgKHZhciBpID0gMDsgaSA8IHBlcnNvbmVuLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHAg +PSBwZXJzb25lbltpXTsKICAgICAgICB2YXIgbmsgPSBTdHJpbmcocC5ud0tlbm51bmcgfHwgJycp +LnJlcGxhY2UoL14uKltcXC9dLywgJycpLnRyaW0oKS50b1VwcGVyQ2FzZSgpOwogICAgICAgIGlm +IChuayAmJiBuayA9PT0gemllbCkgewogICAgICAgICAgICB2YXIgbmFtZSA9IChwLm5hbWUgfHwg +JycpICsgKHAudm9ybmFtZSA/ICgnLCAnICsgcC52b3JuYW1lKSA6ICcnKTsKICAgICAgICAgICAg +dmFyIGRnID0gcC5kaWVuc3RncmFkID8gKHAuZGllbnN0Z3JhZCArICcgJykgOiAnJzsKICAgICAg +ICAgICAgcmV0dXJuIChkZyArIG5hbWUpLnRyaW0oKSB8fCAoa2VubnVuZyB8fCByb2gpOwogICAg +ICAgIH0KICAgIH0KICAgIHJldHVybiBrZW5udW5nIHx8IHJvaDsKfQoKLy8gQWt0dWVsbGVyIFVz +ZXIgaXN0IFNVIG9kZXIgR2VzYW10dmVyYW50d29ydGxpY2g/IEhpbndlaXNlIHNpbmQgbnVyCi8v +IGZ1ZXIgZGllc2VuIEVtcGZhZW5nZXJrcmVpcyBzaWNodGJhci4KZXhwb3J0IGZ1bmN0aW9uIGhp +bndlaXNlU2ljaHRiYXIoKSB7CiAgICB2YXIgciA9IFoucmVjaHRlIHx8IHt9OwogICAgcmV0dXJu +ICEhKHIuaXN0U3VwZXJVc2VyIHx8IHIuaXN0R2VzYW10dmVyYW50d29ydGxpY2gpOwp9CgovLyBF +aW5lIE1pbmktTG9naWsgZnVlciBkZW4gQmFubmVyLURpc21pc3M6IFVzZXIga2xpY2t0IGRhcyBC +YW5uZXIgd2VnLAovLyBtZXJrZW4gd2lyIHVucyBkaWUgYWt0dWVsbCBhbmdlemVpZ3RlbiBJRHMg +aW4gc2Vzc2lvblN0b3JhZ2UuIEVyc3QKLy8gd2VubiBlaW4gTkVVRVIgSGlud2VpcyBkYXp1a29t +bXQsIHRhdWNodCBkYXMgQmFubmVyIHdpZWRlciBhdWYuCmZ1bmN0aW9uIGRpc21pc3NlZElkc0xl +c2VuKCkgewogICAgdHJ5IHsKICAgICAgICB2YXIgcmF3ID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRl +bShCQU5ORVJfRElTTUlTU19LRVkpOwogICAgICAgIGlmICghcmF3KSByZXR1cm4gW107CiAgICAg +ICAgdmFyIGFyciA9IEpTT04ucGFyc2UocmF3KTsKICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJh +eShhcnIpID8gYXJyIDogW107CiAgICB9IGNhdGNoIChlKSB7IHJldHVybiBbXTsgfQp9CmZ1bmN0 +aW9uIGRpc21pc3NlZElkc1NjaHJlaWJlbihpZHMpIHsKICAgIHRyeSB7IHNlc3Npb25TdG9yYWdl +LnNldEl0ZW0oQkFOTkVSX0RJU01JU1NfS0VZLCBKU09OLnN0cmluZ2lmeShpZHMpKTsgfSBjYXRj +aCAoZSkge30KfQpmdW5jdGlvbiBhbGxlQWt0dWVsbGVuSWRzR2VzZWhlbigpIHsKICAgIHZhciBo +aW4gPSBaLmhpbndlaXNlIHx8IFtdOwogICAgaWYgKGhpbi5sZW5ndGggPT09IDApIHJldHVybiB0 +cnVlOwogICAgdmFyIGdlcyA9IGRpc21pc3NlZElkc0xlc2VuKCk7CiAgICBmb3IgKHZhciBpID0g +MDsgaSA8IGhpbi5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChnZXMuaW5kZXhPZihoaW5baV0u +aWQpIDwgMCkgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0KCi8vIEhvbHQg +ZGllIG9mZmVuZW4gSGlud2Vpc2Ugdm9tIFNlcnZlci4gTGllZmVydCBpbW1lciBlaW4gUHJvbWlz +ZSwKLy8gZGFtaXQgZGVyIEF1ZnJ1ZmVyIC50aGVuIGFuaGFlbmdlbiBrYW5uLgpleHBvcnQgZnVu +Y3Rpb24gaGlud2Vpc2VMYWRlbigpIHsKICAgIGlmICghaGlud2Vpc2VTaWNodGJhcigpKSB7CiAg +ICAgICAgWi5oaW53ZWlzZSA9IFtdOwogICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW10p +OwogICAgfQogICAgcmV0dXJuIGFwaSgnL2FwaS9oaW53ZWlzZScpLnRoZW4oZnVuY3Rpb24ocikg +ewogICAgICAgIFouaGlud2Vpc2UgPSAociAmJiByLmhpbndlaXNlKSA/IHIuaGlud2Vpc2UgOiBb +XTsKICAgICAgICByZXR1cm4gWi5oaW53ZWlzZTsKICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsK +ICAgICAgICAvLyBCZWkgTmV0endlcmtmZWhsZXIgc3RpbGxzY2h3ZWlnZW5kIGxlZXIgbGFzc2Vu +IOKAlCBCYW5uZXIgZGFyZgogICAgICAgIC8vIG5pY2h0IGF1cyBWZXJzZWhlbiAiYWxsZXMgb2th +eSIgc3VnZ2VyaWVyZW4sIGRlc2hhbGIgYmVoYWx0ZW4KICAgICAgICAvLyB3aXIgZGVuIHZvcmhl +cmlnZW4gU3RhbmQuIENvbnNvbGUuZXJyb3IgZnVlciBEZWJ1Z2dpbmcuCiAgICAgICAgaWYgKHdp +bmRvdy5jb25zb2xlKSBjb25zb2xlLmVycm9yKCdoaW53ZWlzZUxhZGVuOicsIGUpOwogICAgICAg +IHJldHVybiBaLmhpbndlaXNlIHx8IFtdOwogICAgfSk7Cn0KCi8vIFJlbmRlcnQgQmFubmVyICsg +QmFkZ2UuIElkZW1wb3RlbnQ7IGJlaSBqZWRlbSBIaW53ZWlzZS1VcGRhdGUgYXVmcnVmZW4uCmV4 +cG9ydCBmdW5jdGlvbiBoaW53ZWlzZUFuemVpZ2VBa3R1YWxpc2llcmVuKCkgewogICAgaGlud2Vp +c2VCYWRnZVJlbmRlcm4oKTsKICAgIGhpbndlaXNlQmFubmVyUmVuZGVybigpOwp9CgpleHBvcnQg +ZnVuY3Rpb24gaGlud2Vpc2VCYWRnZVJlbmRlcm4oKSB7CiAgICB2YXIgZWwgPSBkb2N1bWVudC5n +ZXRFbGVtZW50QnlJZCgnaGlud2Vpcy1iYWRnZScpOwogICAgaWYgKCFlbCkgcmV0dXJuOwogICAg +dmFyIGhpbiA9IFouaGlud2Vpc2UgfHwgW107CiAgICBpZiAoIWhpbndlaXNlU2ljaHRiYXIoKSB8 +fCBoaW4ubGVuZ3RoID09PSAwKSB7CiAgICAgICAgZWwuY2xhc3NMaXN0LmFkZCgndmVyc3RlY2t0 +Jyk7CiAgICAgICAgZWwudGV4dENvbnRlbnQgPSAnJzsKICAgICAgICByZXR1cm47CiAgICB9CiAg +ICBlbC5jbGFzc0xpc3QucmVtb3ZlKCd2ZXJzdGVja3QnKTsKICAgIGVsLnRleHRDb250ZW50ID0g +U3RyaW5nKGhpbi5sZW5ndGgpOwogICAgZWwudGl0bGUgPSBoaW4ubGVuZ3RoICsgJyBvZmZlbmUg +SGlud2VpcycgKyAoaGluLmxlbmd0aCA9PT0gMSA/ICcnIDogJ2UnKSArICcg4oCUIEtsaWNrIHp1 +bSBBbnplaWdlbic7Cn0KCmV4cG9ydCBmdW5jdGlvbiBoaW53ZWlzZUJhbm5lclJlbmRlcm4oKSB7 +CiAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaGlud2Vpcy1iYW5uZXInKTsK +ICAgIGlmICghZWwpIHJldHVybjsKICAgIHZhciBoaW4gPSBaLmhpbndlaXNlIHx8IFtdOwogICAg +aWYgKCFoaW53ZWlzZVNpY2h0YmFyKCkgfHwgaGluLmxlbmd0aCA9PT0gMCB8fCBhbGxlQWt0dWVs +bGVuSWRzR2VzZWhlbigpKSB7CiAgICAgICAgZWwuY2xhc3NMaXN0LmFkZCgndmVyc3RlY2t0Jyk7 +CiAgICAgICAgZWwuaW5uZXJIVE1MID0gJyc7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgZWwu +Y2xhc3NMaXN0LnJlbW92ZSgndmVyc3RlY2t0Jyk7CiAgICB2YXIgdHh0ID0gJ0R1IGhhc3QgJyAr +IGhpbi5sZW5ndGggKyAnIG5ldWUgSGlud2VpcycgKyAoaGluLmxlbmd0aCA9PT0gMSA/ICcnIDog +J2UnKSArICcuJzsKICAgIGVsLmlubmVySFRNTCA9CiAgICAgICAgJzxzcGFuIGNsYXNzPSJoaW53 +ZWlzLWJhbm5lci10ZXh0Ij4nICsgZXNjYXBlSFRNTCh0eHQpICsgJzwvc3Bhbj4nICsKICAgICAg +ICAnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hZXIgYnRuLWtsZWlu +IiBpZD0iaGlud2Vpcy1iYW5uZXItYW56ZWlnZW4iPkFuemVpZ2VuPC9idXR0b24+JyArCiAgICAg +ICAgJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iaGlud2Vpcy1iYW5uZXItc2NobGllc3Nl +biIgaWQ9ImhpbndlaXMtYmFubmVyLWRpc21pc3MiIGFyaWEtbGFiZWw9IkJhbm5lciBhdXNibGVu +ZGVuIiB0aXRsZT0iQmFubmVyIGJpcyB6dW0gbsOkY2hzdGVuIG5ldWVuIEhpbndlaXMgYXVzYmxl +bmRlbiI+w5c8L2J1dHRvbj4nOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hpbndlaXMt +YmFubmVyLWFuemVpZ2VuJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsK +ICAgICAgICBoaW53ZWlzZU1vZGFsT2VmZm5lbigpOwogICAgfSk7CiAgICBkb2N1bWVudC5nZXRF +bGVtZW50QnlJZCgnaGlud2Vpcy1iYW5uZXItZGlzbWlzcycpLmFkZEV2ZW50TGlzdGVuZXIoJ2Ns +aWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGlkcyA9IGhpbi5tYXAoZnVuY3Rpb24oaCkg +eyByZXR1cm4gaC5pZDsgfSk7CiAgICAgICAgZGlzbWlzc2VkSWRzU2NocmVpYmVuKGlkcyk7CiAg +ICAgICAgaGlud2Vpc2VCYW5uZXJSZW5kZXJuKCk7CiAgICB9KTsKfQoKLy8gRm9ybWF0aWVydCBk +ZW4gS29udGV4dCBlaW5lcyBIaW53ZWlzZXMgbGVzYmFyIChlaW5lIGt1cnplIGRldXRzY2hlCi8v +IEJlc2NocmVpYnVuZykuIFBybyBUeXAgYW5nZXBhc3N0LCBnZW5lcmlzY2hlciBGYWxsYmFjayB6 +ZWlndCBrZXk9dmFsdWUuCmZ1bmN0aW9uIGtvbnRleHRGb3JtYXQoZWludHJhZykgewogICAgdmFy +IGsgPSBlaW50cmFnLmtvbnRleHQgfHwge307CiAgICB2YXIgdCA9IGVpbnRyYWcudHlwOwogICAg +dmFyIHA7CiAgICBpZiAodCA9PT0gJ2lkZW50aXRhZXRfZ2VhZW5kZXJ0JykgewogICAgICAgIHJl +dHVybiAnUGVyc29uIDxzdHJvbmc+JyArIGVzY2FwZUhUTUwoay5wZXJzb25fbmFtZSB8fCAoJyMn +ICsgay5wZXJzb25faWQpKSArICc8L3N0cm9uZz46IEZlbGQgPGVtPicgKwogICAgICAgICAgICBl +c2NhcGVIVE1MKGsuZmVsZCB8fCAnPycpICsgJzwvZW0+ICZuYnNwOzxzcGFuIHN0eWxlPSJjb2xv +cjp2YXIoLS10ZXh0LW11dGVkKSI+JyArCiAgICAgICAgICAgIGVzY2FwZUhUTUwoay5hbHRlcl93 +ZXJ0IHx8ICcobGVlciknKSArICcgJnJhcnI7ICcgKyBlc2NhcGVIVE1MKGsubmV1ZXJfd2VydCB8 +fCAnKGxlZXIpJykgKyAnPC9zcGFuPic7CiAgICB9CiAgICBpZiAodCA9PT0gJ3JvbGxlX2dlYWVu +ZGVydCcpIHsKICAgICAgICByZXR1cm4gJ1JvbGxlIDxzdHJvbmc+JyArIGVzY2FwZUhUTUwoay5y +b2xsZSB8fCAnPycpICsgJzwvc3Ryb25nPiBiZWkgPHN0cm9uZz4nICsKICAgICAgICAgICAgZXNj +YXBlSFRNTChrLnBlcnNvbl9uYW1lIHx8IGsubndLZW5udW5nIHx8ICc/JykgKyAnPC9zdHJvbmc+ +OiAnICsKICAgICAgICAgICAgZXNjYXBlSFRNTChrLnJpY2h0dW5nIHx8IChrLmFsdCArICcgJnJh +cnI7ICcgKyBrLm5ldSkgfHwgJycpOwogICAgfQogICAgaWYgKHQgPT09ICdiYWNrdXBfd2llZGVy +aGVyZ2VzdGVsbHQnKSB7CiAgICAgICAgcmV0dXJuICdCYWNrdXAgPHN0cm9uZz4nICsgZXNjYXBl +SFRNTChrLmJhY2t1cCB8fCAnPycpICsgJzwvc3Ryb25nPiB3aWVkZXJoZXJnZXN0ZWxsdC4nOwog +ICAgfQogICAgaWYgKHQgPT09ICdwbGFudW5nX3Jlc2V0JykgewogICAgICAgIHJldHVybiAnUGxh +bnVuZyB3dXJkZSB6dXLDvGNrZ2VzZXR6dCcgKyAoay5hbnphaGwgPyAnICgnICsgay5hbnphaGwg +KyAnIEVpbnRyw6RnZSkuJyA6ICcuJyk7CiAgICB9CiAgICBpZiAodCA9PT0gJ2tyYW5rbWVsZHVu +ZycpIHsKICAgICAgICBwID0gZXNjYXBlSFRNTChrLnBlcnNvbl9uYW1lIHx8ICgnIycgKyBrLnBl +cnNvbl9pZCkpOwogICAgICAgIHZhciBkID0gay5kYXR1bSA/IGRhdHVtRm9ybWF0REUoay5kYXR1 +bSkgOiAnPyc7CiAgICAgICAgdmFyIHNjID0gay5zY2hpY2h0Q29kZSA/ICcgKCcgKyBlc2NhcGVI +VE1MKGsuc2NoaWNodENvZGUpICsgJyknIDogJyc7CiAgICAgICAgcmV0dXJuICc8c3Ryb25nPicg +KyBwICsgJzwvc3Ryb25nPiBrcmFuayBhbSA8c3Ryb25nPicgKyBlc2NhcGVIVE1MKGQpICsgJzwv +c3Ryb25nPicgKyBzYzsKICAgIH0KICAgIGlmICh0ID09PSAncGVyc29uX25ldScpIHsKICAgICAg +ICByZXR1cm4gJ05ldWUgUGVyc29uOiA8c3Ryb25nPicgKyBlc2NhcGVIVE1MKGsucGVyc29uX25h +bWUgfHwgJz8nKSArICc8L3N0cm9uZz4nOwogICAgfQogICAgaWYgKHQgPT09ICdwZXJzb25faW5h +a3RpdicpIHsKICAgICAgICByZXR1cm4gJ1BlcnNvbiA8c3Ryb25nPicgKyBlc2NhcGVIVE1MKGsu +cGVyc29uX25hbWUgfHwgJz8nKSArICc8L3N0cm9uZz4gaXN0IG5pY2h0IG1laHIgYWt0aXYuJzsK +ICAgIH0KICAgIGlmICh0ID09PSAnZ2VidXJ0c3RhZycpIHsKICAgICAgICByZXR1cm4gJ0dlYnVy +dHN0YWc6IDxzdHJvbmc+JyArIGVzY2FwZUhUTUwoay5wZXJzb25fbmFtZSB8fCAnPycpICsgJzwv +c3Ryb25nPiBhbSAnICsgZXNjYXBlSFRNTChrLmRhdHVtIHx8ICc/Jyk7CiAgICB9CiAgICBpZiAo +dCA9PT0gJ3NjaGljaHRfZWRpdF9uYWhlJykgewogICAgICAgIHJldHVybiAnU2NoaWNodC3DhG5k +ZXJ1bmcgYW0gPHN0cm9uZz4nICsgZXNjYXBlSFRNTChrLmRhdHVtIHx8ICc/JykgKyAnPC9zdHJv +bmc+IGbDvHIgPHN0cm9uZz4nICsKICAgICAgICAgICAgZXNjYXBlSFRNTChrLnBlcnNvbl9uYW1l +IHx8ICgnIycgKyBrLnBlcnNvbl9pZCkpICsgJzwvc3Ryb25nPic7CiAgICB9CiAgICAvLyBHZW5l +cmlzY2hlciBGYWxsYmFjawogICAgdmFyIHBhaXJzID0gW107CiAgICBPYmplY3Qua2V5cyhrKS5m +b3JFYWNoKGZ1bmN0aW9uKGtleSkgewogICAgICAgIHBhaXJzLnB1c2goZXNjYXBlSFRNTChrZXkp +ICsgJz0nICsgZXNjYXBlSFRNTChTdHJpbmcoa1trZXldKSkpOwogICAgfSk7CiAgICByZXR1cm4g +cGFpcnMuam9pbignLCAnKSB8fCAnPHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLXRleHQtbXV0ZWQp +Ij4oa2VpbiBLb250ZXh0KTwvc3Bhbj4nOwp9CgpmdW5jdGlvbiB6ZWl0Rm9ybWF0KGlzbykgewog +ICAgaWYgKCFpc28pIHJldHVybiAnJzsKICAgIHRyeSB7CiAgICAgICAgdmFyIGQgPSBuZXcgRGF0 +ZShpc28pOwogICAgICAgIHZhciBkZCA9IFN0cmluZyhkLmdldERhdGUoKSkucGFkU3RhcnQoMiwg +JzAnKTsKICAgICAgICB2YXIgbW0gPSBTdHJpbmcoZC5nZXRNb250aCgpICsgMSkucGFkU3RhcnQo +MiwgJzAnKTsKICAgICAgICB2YXIgaGggPSBTdHJpbmcoZC5nZXRIb3VycygpKS5wYWRTdGFydCgy +LCAnMCcpOwogICAgICAgIHZhciBtaSA9IFN0cmluZyhkLmdldE1pbnV0ZXMoKSkucGFkU3RhcnQo +MiwgJzAnKTsKICAgICAgICByZXR1cm4gZGQgKyAnLicgKyBtbSArICcuICcgKyBoaCArICc6JyAr +IG1pOwogICAgfSBjYXRjaCAoZSkgeyByZXR1cm4gaXNvOyB9Cn0KCi8vIE9lZmZuZXQgZWluIE1v +ZGFsIG1pdCBkZXIgSGlud2Vpcy1MaXN0ZS4gUHJvIEVpbnRyYWc6IFR5cCwgWmVpdCwKLy8gQXVz +bG9lc2VyLCBLb250ZXh0LCAiVmVyc3RhbmRlbiItQnV0dG9uLiBLcmFua21lbGR1bmdlbiBiZWtv +bW1lbgovLyB6dXNhZXR6bGljaCBlaW5lbiBCdXR0b24gIkthbmRpZGF0ZW4gYW5zY2hyZWliZW4i +IChQaGFzZSA2IHdpcmVkKS4KZXhwb3J0IGZ1bmN0aW9uIGhpbndlaXNlTW9kYWxPZWZmbmVuKCkg +ewogICAgaWYgKCFoaW53ZWlzZVNpY2h0YmFyKCkpIHJldHVybjsKICAgIHZhciBoaW4gPSBaLmhp +bndlaXNlIHx8IFtdOwogICAgaWYgKGhpbi5sZW5ndGggPT09IDApIHsKICAgICAgICB0b2FzdCgn +S2VpbmUgb2ZmZW5lbiBIaW53ZWlzZS4nLCAnaW5mbycpOwogICAgICAgIHJldHVybjsKICAgIH0K +ICAgIHZhciByb3dzID0gaGluLm1hcChmdW5jdGlvbihoKSB7CiAgICAgICAgdmFyIHR5cExhYmVs +ID0gVFlQX0xBQkVMW2gudHlwXSB8fCBoLnR5cDsKICAgICAgICB2YXIgY3R4ID0ga29udGV4dEZv +cm1hdChoKTsKICAgICAgICB2YXIga3JCdG4gPSAnJzsKICAgICAgICBpZiAoaC50eXAgPT09ICdr +cmFua21lbGR1bmcnKSB7CiAgICAgICAgICAgIC8vIFBoYXNlIDYgd2lyaW5nOiBkZXJ6ZWl0IG51 +ciBlaW4gU3R1Yiwgc2NocmVpYnQgaW4gdG9hc3QuCiAgICAgICAgICAgIGtyQnRuID0gJzxidXR0 +b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWsgYnRuLWtsZWluIiBkYXRhLWFrdGlv +bj0ia2FuZGlkYXRlbiIgZGF0YS1pZD0iJyArIGguaWQgKwogICAgICAgICAgICAgICAgJyIgdGl0 +bGU9IkthbmRpZGF0ZW4gZsO8ciBkaWUgYXVzZ2VmYWxsZW5lIFNjaGljaHQgYW5zY2hyZWliZW4i +PkthbmRpZGF0ZW4gYW5zY2hyZWliZW48L2J1dHRvbj4nOwogICAgICAgIH0KICAgICAgICByZXR1 +cm4gJzx0ciBkYXRhLWhpbndlaXMtaWQ9IicgKyBoLmlkICsgJyI+JyArCiAgICAgICAgICAgICc8 +dGQgc3R5bGU9ImZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3doaXRlLXNw +YWNlOm5vd3JhcCI+JyArIGVzY2FwZUhUTUwoemVpdEZvcm1hdChoLmVyc3RlbGx0QW0pKSArICc8 +L3RkPicgKwogICAgICAgICAgICAnPHRkPjxzdHJvbmc+JyArIGVzY2FwZUhUTUwodHlwTGFiZWwp +ICsgJzwvc3Ryb25nPjwvdGQ+JyArCiAgICAgICAgICAgICc8dGQgc3R5bGU9ImZvbnQtc2l6ZTox +MXB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpIiB0aXRsZT0iJyArIGVzY2FwZUF0dHIoaC5hdXNs +b2VzZXIgfHwgJycpICsgJyI+JyArIGVzY2FwZUhUTUwoYXVzbG9lc2VyQW56ZWlnZShoLmF1c2xv +ZXNlcikpICsgJzwvdGQ+JyArCiAgICAgICAgICAgICc8dGQ+JyArIGN0eCArICc8L3RkPicgKwog +ICAgICAgICAgICAnPHRkIHN0eWxlPSJ3aGl0ZS1zcGFjZTpub3dyYXAiPjxkaXYgc3R5bGU9ImRp +c3BsYXk6ZmxleDtnYXA6NnB4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZCI+JyArCiAgICAgICAg +ICAgICAgICBrckJ0biArCiAgICAgICAgICAgICAgICAnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNs +YXNzPSJidG4gYnRuLWVyZm9sZyBidG4ta2xlaW4iIGRhdGEtYWt0aW9uPSJrZW5udG5pcyIgZGF0 +YS1pZD0iJyArIGguaWQgKyAnIj5WZXJzdGFuZGVuPC9idXR0b24+JyArCiAgICAgICAgICAgICc8 +L2Rpdj48L3RkPicgKwogICAgICAgICc8L3RyPic7CiAgICB9KS5qb2luKCcnKTsKICAgIHZhciBr +b2VycGVyID0KICAgICAgICAnPHAgc3R5bGU9Im1hcmdpbjowIDAgMTJweDtjb2xvcjp2YXIoLS10 +ZXh0LW11dGVkKSI+T2ZmZW5lIEhpbndlaXNlIGbDvHIgU3VwZXJVc2VyIHVuZCBHZXNhbXR2ZXJh +bnR3b3J0bGljaGUuIE1pdCA8ZW0+VmVyc3RhbmRlbjwvZW0+IHZlcnNjaHdpbmRldCBlaW4gZWlu +emVsbmVyIEVpbnRyYWcgYXVzIGRlaW5lciBMaXN0ZTsgaW0gTG9nYnVjaCBibGVpYnQgZXIgZXJo +YWx0ZW4uPC9wPicgKwogICAgICAgICc8dGFibGUgY2xhc3M9ImFkbWluLXRhYmVsbGUgaGlud2Vp +cy1tb2RhbC10YWJlbGxlIj4nICsKICAgICAgICAgICAgJzx0aGVhZD48dHI+JyArCiAgICAgICAg +ICAgICAgICAnPHRoIHN0eWxlPSJ3aWR0aDo5MHB4Ij5XYW5uPC90aD4nICsKICAgICAgICAgICAg +ICAgICc8dGggc3R5bGU9IndpZHRoOjE2MHB4Ij5UeXA8L3RoPicgKwogICAgICAgICAgICAgICAg +Jzx0aCBzdHlsZT0id2lkdGg6MTUwcHgiPkF1c2dlbMO2c3Qgdm9uPC90aD4nICsKICAgICAgICAg +ICAgICAgICc8dGg+RGV0YWlsczwvdGg+JyArCiAgICAgICAgICAgICAgICAnPHRoIHN0eWxlPSJ3 +aWR0aDoyNDBweDt0ZXh0LWFsaWduOnJpZ2h0Ij5Ba3Rpb248L3RoPicgKwogICAgICAgICAgICAn +PC90cj48L3RoZWFkPicgKwogICAgICAgICAgICAnPHRib2R5PicgKyByb3dzICsgJzwvdGJvZHk+ +JyArCiAgICAgICAgJzwvdGFibGU+JzsKICAgIC8vIEJlaSBtZWhyZXJlbiBIaW53ZWlzZW4genVz +YWV0emxpY2ggZWluIFNhbW1lbC1BYm5pY2tlbiBhbmJpZXRlbiDigJQgZGllCiAgICAvLyBlaW56 +ZWxuZSBLZW5udG5pc25haG1lIHBybyBaZWlsZSBibGVpYnQgdW52ZXJhZW5kZXJ0IGVyaGFsdGVu +LgogICAgdmFyIGZ1c3MgPQogICAgICAgIChoaW4ubGVuZ3RoID4gMSA/ICc8YnV0dG9uIHR5cGU9 +ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZXJmb2xnIiBpZD0iaGlud2Vpcy1hbGxlLWtlbm50bmlz +Ij5BbGxlIHp1ciBLZW5udG5pcyBuZWhtZW48L2J1dHRvbj4nIDogJycpICsKICAgICAgICAnPGJ1 +dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXNlayIgaWQ9ImhpbndlaXMtbW9kYWwt +c2NobGllc3NlbiI+U2NobGllw59lbjwvYnV0dG9uPic7CiAgICBtb2RhbFplaWdlbignSGlud2Vp +c2UgKCcgKyBoaW4ubGVuZ3RoICsgJyknLCBrb2VycGVyLCBmdXNzLCBudWxsLCBudWxsLCB7IHJl +aW5lckRpYWxvZzogdHJ1ZSB9KTsKICAgIC8vIFN0YW5kYXJkYnJlaXRlICg2MjAgcHgpIGlzdCBo +aWVyIHp1IGVuZyDigJQgVGFiZWxsZSBicmF1Y2h0IGRpZSBncm9zc2UKICAgIC8vIFZhcmlhbnRl +IChhbmFsb2cgRS1NYWlsLVZvcmxhZ2VuLU1vZGFsKS4KICAgIHZhciBtaSA9IGRvY3VtZW50LnF1 +ZXJ5U2VsZWN0b3IoJyNtb2RhbC1vdmVybGF5IC5tb2RhbC1pbmhhbHQnKTsKICAgIGlmIChtaSkg +bWkuY2xhc3NMaXN0LmFkZCgnbW9kYWwtaW5oYWx0LWdyb3NzJyk7CiAgICBkb2N1bWVudC5nZXRF +bGVtZW50QnlJZCgnaGlud2Vpcy1tb2RhbC1zY2hsaWVzc2VuJykuYWRkRXZlbnRMaXN0ZW5lcign +Y2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICBtb2RhbFNjaGxpZXNzZW4odHJ1ZSk7CiAgICB9 +KTsKICAgIHZhciBhbGxlQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hpbndlaXMtYWxs +ZS1rZW5udG5pcycpOwogICAgaWYgKGFsbGVCdG4pIGFsbGVCdG4uYWRkRXZlbnRMaXN0ZW5lcign +Y2xpY2snLCBoaW53ZWlzZUFsbGVLZW5udG5pc25laG1lbik7CiAgICAvLyBBY3Rpb24tQnV0dG9u +cyBpbiBkZXIgVGFiZWxsZSBkZWxlZ2llcmVuCiAgICB2YXIgdGJvZHkgPSBkb2N1bWVudC5xdWVy +eVNlbGVjdG9yKCcuaGlud2Vpcy1tb2RhbC10YWJlbGxlIHRib2R5Jyk7CiAgICBpZiAodGJvZHkp +IHRib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgIHZh +ciBidG4gPSBlLnRhcmdldC5jbG9zZXN0KCdidXR0b25bZGF0YS1ha3Rpb25dJyk7CiAgICAgICAg +aWYgKCFidG4pIHJldHVybjsKICAgICAgICB2YXIgaWQgPSBwYXJzZUludChidG4uZ2V0QXR0cmli +dXRlKCdkYXRhLWlkJyksIDEwKTsKICAgICAgICB2YXIgYWt0aW9uID0gYnRuLmdldEF0dHJpYnV0 +ZSgnZGF0YS1ha3Rpb24nKTsKICAgICAgICBpZiAoYWt0aW9uID09PSAna2VubnRuaXMnKSB7CiAg +ICAgICAgICAgIGhpbndlaXNLZW5udG5pc25laG1lbihpZCk7CiAgICAgICAgfSBlbHNlIGlmIChh +a3Rpb24gPT09ICdrYW5kaWRhdGVuJykgewogICAgICAgICAgICAvLyBQaGFzZSA2ICgyMDI2LTA1 +LTIxKTogYXVzIGRlbSBLcmFua21lbGR1bmdzLUhpbndlaXMgZGlyZWt0IGlucwogICAgICAgICAg +ICAvLyBUYWctRGV0YWlsLU1vZGFsIHNwcmluZ2VuLiBEZXIgZG9ydCB2b3JoYW5kZW5lIFNjaGlj +aHQtQmxvY2sKICAgICAgICAgICAgLy8gKEZydWVoL1NwYWV0L05hY2h0KSB6ZWlndCBhdXRvbWF0 +aXNjaCBkZW4gIkthbmRpZGF0ZW4gYW5zY2hyZWliZW4iLQogICAgICAgICAgICAvLyBCdXR0b24g +YmVpIDwyIFBlcnNvbmVuLgogICAgICAgICAgICB2YXIgaCA9IChaLmhpbndlaXNlIHx8IFtdKS5m +aW5kKGZ1bmN0aW9uKHgpIHsgcmV0dXJuIHguaWQgPT09IGlkOyB9KTsKICAgICAgICAgICAgaWYg +KCFoIHx8ICFoLmtvbnRleHQgfHwgIWgua29udGV4dC5kYXR1bSkgewogICAgICAgICAgICAgICAg +dG9hc3QoJ0hpbndlaXMgaGF0IGtlaW4gRGF0dW0gaGludGVybGVndC4nLCAnd2FybnVuZycpOwog +ICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIG1vZGFsU2No +bGllc3Nlbih0cnVlKTsKICAgICAgICAgICAgdGFnRGV0YWlsTW9kYWxaZWlnZW4oaC5rb250ZXh0 +LmRhdHVtKTsKICAgICAgICB9CiAgICB9KTsKfQoKLy8gU1UtSGlud2Vpc2UtUHJvdG9rb2xsIChQ +aGFzZSA3LCAyMDI2LTA1LTIxKS4gVGFiZWxsZSBhbGxlciBha3RpdmVuCi8vIEhpbndlaXNlIG1p +dCBFbXBmYWVuZ2VyLUxlc2VzdGF0dXMuIE51ciBmdWVyIFN1cGVyVXNlciB6dWdhZW5nbGljaC4K +Ly8gRmlsdGVyIG5hY2ggVHlwIHVuZCBEYXR1bXMtUmFuZ2Ugd2VyZGVuIGNsaWVudC1zZWl0aWcg +YW5nZXdlbmRldC4KZXhwb3J0IGZ1bmN0aW9uIGhpbndlaXNlUHJvdG9rb2xsUmVuZGVybigpIHsK +ICAgIHZhciB0Ym9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdoaW53ZWlzZS1wcm90b2tv +bGwtdGJvZHknKTsKICAgIGlmICghdGJvZHkpIHJldHVybjsKICAgIHZhciByZWNodGUgPSBaLnJl +Y2h0ZSB8fCB7fTsKICAgIGlmICghcmVjaHRlLmlzdFN1cGVyVXNlcikgewogICAgICAgIHRib2R5 +LmlubmVySFRNTCA9ICc8dHI+PHRkIGNvbHNwYW49IjUiIHN0eWxlPSJjb2xvcjp2YXIoLS10ZXh0 +LW11dGVkKTt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjE2cHgiPk51ciBmw7xyIFN1cGVyVXNl +ciBzaWNodGJhci48L3RkPjwvdHI+JzsKICAgICAgICByZXR1cm47CiAgICB9CiAgICB0Ym9keS5p +bm5lckhUTUwgPSAnPHRyPjx0ZCBjb2xzcGFuPSI1IiBzdHlsZT0iY29sb3I6dmFyKC0tdGV4dC1t +dXRlZCk7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzoxNnB4Ij5MYWRlIOKApjwvdGQ+PC90cj4n +OwogICAgYXBpKCcvYXBpL2hpbndlaXNlL3VlYmVyc2ljaHQnKS50aGVuKGZ1bmN0aW9uKHIpIHsK +ICAgICAgICB2YXIgYWxsZSA9IChyICYmIHIuaGlud2Vpc2UpID8gci5oaW53ZWlzZSA6IFtdOwog +ICAgICAgIHZhciBmaWx0ZXJUeXAgPSAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hwLWZpbHRl +ci10eXAnKSB8fCB7fSkudmFsdWUgfHwgJyc7CiAgICAgICAgdmFyIGZpbHRlclZvbiA9IChkb2N1 +bWVudC5nZXRFbGVtZW50QnlJZCgnaHAtZmlsdGVyLXZvbicpIHx8IHt9KS52YWx1ZSB8fCAnJzsK +ICAgICAgICB2YXIgZmlsdGVyQmlzID0gKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdocC1maWx0 +ZXItYmlzJykgfHwge30pLnZhbHVlIHx8ICcnOwogICAgICAgIHZhciBnZWZpbHRlcnQgPSBhbGxl +LmZpbHRlcihmdW5jdGlvbihoKSB7CiAgICAgICAgICAgIGlmIChmaWx0ZXJUeXAgJiYgaC50eXAg +IT09IGZpbHRlclR5cCkgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB2YXIgZCA9IChoLmVyc3Rl +bGx0QW0gfHwgJycpLnNsaWNlKDAsIDEwKTsKICAgICAgICAgICAgaWYgKGZpbHRlclZvbiAmJiBk +IDwgZmlsdGVyVm9uKSByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIGlmIChmaWx0ZXJCaXMgJiYg +ZCA+IGZpbHRlckJpcykgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg +ICAgICB9KTsKICAgICAgICBpZiAoZ2VmaWx0ZXJ0Lmxlbmd0aCA9PT0gMCkgewogICAgICAgICAg +ICB0Ym9keS5pbm5lckhUTUwgPSAnPHRyPjx0ZCBjb2xzcGFuPSI1IiBzdHlsZT0iY29sb3I6dmFy +KC0tdGV4dC1tdXRlZCk7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzoxNnB4Ij5LZWluZSBIaW53 +ZWlzZSBpbSBha3R1ZWxsZW4gRmlsdGVyLjwvdGQ+PC90cj4nOwogICAgICAgICAgICByZXR1cm47 +CiAgICAgICAgfQogICAgICAgIHRib2R5LmlubmVySFRNTCA9IGdlZmlsdGVydC5tYXAoZnVuY3Rp +b24oaCkgewogICAgICAgICAgICB2YXIgdHlwTGFiZWwgPSBUWVBfTEFCRUxbaC50eXBdIHx8IGgu +dHlwOwogICAgICAgICAgICB2YXIga24gPSBoLmtlbm50bmlzbmFobWVuIHx8IHt9OwogICAgICAg +ICAgICB2YXIgZW1wZkh0bWwgPSBPYmplY3Qua2V5cyhrbikubWFwKGZ1bmN0aW9uKGspIHsKICAg +ICAgICAgICAgICAgIHZhciB0cyA9IGtuW2tdOwogICAgICAgICAgICAgICAgdmFyIHN0YXR1cyA9 +IHRzCiAgICAgICAgICAgICAgICAgICAgPyAnPHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLWZhcmJl +LWVyZm9sZykiPicgKyBlc2NhcGVIVE1MKHplaXRGb3JtYXQodHMpKSArICc8L3NwYW4+JwogICAg +ICAgICAgICAgICAgICAgIDogJzxzcGFuIHN0eWxlPSJjb2xvcjp2YXIoLS1mYXJiZS1mZWhsZXIp +O2ZvbnQtd2VpZ2h0OjYwMCI+b2ZmZW48L3NwYW4+JzsKICAgICAgICAgICAgICAgIHJldHVybiAn +PGRpdiBzdHlsZT0iZm9udC1zaXplOjExcHgiPjxzdHJvbmc+JyArIGVzY2FwZUhUTUwoaykgKyAn +PC9zdHJvbmc+OiAnICsgc3RhdHVzICsgJzwvZGl2Pic7CiAgICAgICAgICAgIH0pLmpvaW4oJycp +OwogICAgICAgICAgICByZXR1cm4gJzx0cj4nICsKICAgICAgICAgICAgICAgICc8dGQgc3R5bGU9 +ImZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3doaXRlLXNwYWNlOm5vd3Jh +cCI+JyArIGVzY2FwZUhUTUwoemVpdEZvcm1hdChoLmVyc3RlbGx0QW0pKSArICc8L3RkPicgKwog +ICAgICAgICAgICAgICAgJzx0ZD48c3Ryb25nPicgKyBlc2NhcGVIVE1MKHR5cExhYmVsKSArICc8 +L3N0cm9uZz48L3RkPicgKwogICAgICAgICAgICAgICAgJzx0ZCBzdHlsZT0iZm9udC1zaXplOjEx +cHgiIHRpdGxlPSInICsgZXNjYXBlQXR0cihoLmF1c2xvZXNlciB8fCAnJykgKyAnIj4nICsgZXNj +YXBlSFRNTChhdXNsb2VzZXJBbnplaWdlKGguYXVzbG9lc2VyKSkgKyAnPC90ZD4nICsKICAgICAg +ICAgICAgICAgICc8dGQgc3R5bGU9ImZvbnQtc2l6ZToxMXB4Ij4nICsga29udGV4dEZvcm1hdCho +KSArICc8L3RkPicgKwogICAgICAgICAgICAgICAgJzx0ZD4nICsgZW1wZkh0bWwgKyAnPC90ZD4n +ICsKICAgICAgICAgICAgJzwvdHI+JzsKICAgICAgICB9KS5qb2luKCcnKTsKICAgIH0pLmNhdGNo +KGZ1bmN0aW9uKGUpIHsKICAgICAgICB0Ym9keS5pbm5lckhUTUwgPSAnPHRyPjx0ZCBjb2xzcGFu +PSI1IiBzdHlsZT0iY29sb3I6dmFyKC0tZmFyYmUtZmVobGVyKTtwYWRkaW5nOjE2cHgiPkZlaGxl +ciBiZWltIExhZGVuOiAnICsgZXNjYXBlSFRNTChlLm1lc3NhZ2UpICsgJzwvdGQ+PC90cj4nOwog +ICAgfSk7Cn0KCi8vIE1hcmtpZXJ0IGVpbmVuIEhpbndlaXMgYWxzIGdlbGVzZW4gKHNlcnZlci1z +ZWl0aWcpIHVuZCBlbnRmZXJudCBpaG4KLy8gYXVzIGRlciBsb2thbGVuIExpc3RlLiBXZW5uIGRp +ZSBMaXN0ZSBkYWR1cmNoIGxlZXIgd2lyZCwgc2NobGllc3N0Ci8vIHNpY2ggZGFzIE1vZGFsIHZv +biBhbGxlaW5lLgpleHBvcnQgZnVuY3Rpb24gaGlud2Vpc0tlbm50bmlzbmVobWVuKGlkKSB7CiAg +ICBhcGlQb3N0KCcvYXBpL2hpbndlaXNlLycgKyBpZCArICcva2VubnRuaXMnLCB7fSkudGhlbihm +dW5jdGlvbigpIHsKICAgICAgICBaLmhpbndlaXNlID0gKFouaGlud2Vpc2UgfHwgW10pLmZpbHRl +cihmdW5jdGlvbihoKSB7IHJldHVybiBoLmlkICE9PSBpZDsgfSk7CiAgICAgICAgLy8gQXVzIGRl +bSBNb2RhbCBkaWUgWmVpbGUgZW50ZmVybmVuCiAgICAgICAgdmFyIHJvdyA9IGRvY3VtZW50LnF1 +ZXJ5U2VsZWN0b3IoJ3RyW2RhdGEtaGlud2Vpcy1pZD0iJyArIGlkICsgJyJdJyk7CiAgICAgICAg +aWYgKHJvdykgcm93LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocm93KTsKICAgICAgICBoaW53ZWlz +ZUFuemVpZ2VBa3R1YWxpc2llcmVuKCk7CiAgICAgICAgaWYgKFouaGlud2Vpc2UubGVuZ3RoID09 +PSAwKSB7CiAgICAgICAgICAgIG1vZGFsU2NobGllc3Nlbih0cnVlKTsKICAgICAgICAgICAgdG9h +c3QoJ0FsbGUgSGlud2Vpc2UgYWJnZWFyYmVpdGV0LicsICdlcmZvbGcnKTsKICAgICAgICB9CiAg +ICB9KS5jYXRjaChmdW5jdGlvbihlKSB7CiAgICAgICAgdG9hc3QoJ0ZlaGxlcjogJyArIGUubWVz +c2FnZSwgJ2ZlaGxlcicpOwogICAgfSk7Cn0KCi8vIE5pbW10IEFMTEUgYWt0dWVsbCBvZmZlbmVu +IEhpbndlaXNlIGF1ZiBlaW5tYWwgenVyIEtlbm50bmlzIChTYW1tZWwtQWt0aW9uCi8vIGltIE1v +ZGFsLCBudXIgYmVpID4xIEhpbndlaXMgYW5nZWJvdGVuKS4gRGllIGVpbnplbG5lIEtlbm50bmlz +bmFobWUgcHJvCi8vIFplaWxlIGJsZWlidCBkYXZvbiB1bmJlcnVlaHJ0LiBFcyBnaWJ0IHNlcnZl +ci1zZWl0aWcga2VpbmVuIEJ1bGstRW5kcG9pbnQg4oCUCi8vIGRhaGVyIE4gcGFyYWxsZWxlIFBP +U1RzOyB0ZWlsLWZlaGxnZXNjaGxhZ2VuZSBFaW50cmFlZ2UgYmxlaWJlbiBpbiBkZXIgTGlzdGUu +CmV4cG9ydCBmdW5jdGlvbiBoaW53ZWlzZUFsbGVLZW5udG5pc25laG1lbigpIHsKICAgIHZhciBp +ZHMgPSAoWi5oaW53ZWlzZSB8fCBbXSkubWFwKGZ1bmN0aW9uKGgpIHsgcmV0dXJuIGguaWQ7IH0p +OwogICAgaWYgKCFpZHMubGVuZ3RoKSByZXR1cm47CiAgICBiZXN0YWV0aWdlbignQWxsZSAnICsg +aWRzLmxlbmd0aCArICcgSGlud2Vpc2UgenVyIEtlbm50bmlzIG5laG1lbj9cblxuU2llIHZlcnNj +aHdpbmRlbiBhdXMgZGVpbmVyIExpc3RlIOKAlCBpbSBMb2didWNoIGJsZWliZW4gc2llIGVyaGFs +dGVuLicsIGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBmZWhsZXIgPSBbXTsKICAgICAgICBQcm9t +aXNlLmFsbChpZHMubWFwKGZ1bmN0aW9uKGlkKSB7CiAgICAgICAgICAgIHJldHVybiBhcGlQb3N0 +KCcvYXBpL2hpbndlaXNlLycgKyBpZCArICcva2VubnRuaXMnLCB7fSkudGhlbihmdW5jdGlvbigp +IHsKICAgICAgICAgICAgICAgIHZhciByb3cgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCd0cltk +YXRhLWhpbndlaXMtaWQ9IicgKyBpZCArICciXScpOwogICAgICAgICAgICAgICAgaWYgKHJvdyAm +JiByb3cucGFyZW50Tm9kZSkgcm93LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocm93KTsKICAgICAg +ICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKSB7IGZlaGxlci5wdXNoKGlkKTsgfSk7CiAgICAgICAg +fSkpLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIFouaGlud2Vpc2UgPSAoWi5oaW53ZWlz +ZSB8fCBbXSkuZmlsdGVyKGZ1bmN0aW9uKGgpIHsgcmV0dXJuIGZlaGxlci5pbmRleE9mKGguaWQp +ID49IDA7IH0pOwogICAgICAgICAgICBoaW53ZWlzZUFuemVpZ2VBa3R1YWxpc2llcmVuKCk7CiAg +ICAgICAgICAgIGlmIChaLmhpbndlaXNlLmxlbmd0aCA9PT0gMCkgewogICAgICAgICAgICAgICAg +bW9kYWxTY2hsaWVzc2VuKHRydWUpOwogICAgICAgICAgICAgICAgdG9hc3QoJ0FsbGUgSGlud2Vp +c2UgenVyIEtlbm50bmlzIGdlbm9tbWVuLicsICdlcmZvbGcnKTsKICAgICAgICAgICAgfSBlbHNl +IHsKICAgICAgICAgICAgICAgIHRvYXN0KGZlaGxlci5sZW5ndGggKyAnIEhpbndlaXMoZSkga29u +bnRlbiBuaWNodCBnZXNwZWljaGVydCB3ZXJkZW4g4oCUIGJpdHRlIGVybmV1dCB2ZXJzdWNoZW4u +JywgJ3dhcm51bmcnKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSwgeyBqYVRleHQ6 +ICdBbGxlIGFibmlja2VuJyB9KTsKfQo= diff --git a/VI3DGL/sync-bundle-03.txt b/VI3DGL/sync-bundle-03.txt new file mode 100644 index 0000000..ac1d5e3 --- /dev/null +++ b/VI3DGL/sync-bundle-03.txt @@ -0,0 +1,15034 @@ +### SYNC-TRANSFER 3/5 -- mit sync-entpacken.bat entpacken +### Base64 - NICHT von Hand bearbeiten. +### FILE: js/import_excel.js | 91225 +Ly8gPT09IGltcG9ydC9leGNlbC1pbXBvcnQuanMgPT09Ci8vIEV4Y2VsLUltcG9ydC1XaXphcmQg +ZnVlciBwbGFudW5nLmpzb24gKyBwZXJzb25lbi5qc29uLiBOdXR6dCBTaGVldEpTCi8vICh4bHN4 +LmZ1bGwubWluLmpzLCBsb2thbCBpbiBWSTMvKS4gRHJlaS1QaGFzZW4tU2NocmVpYnZvcmdhbmcg +bWl0Ci8vIEF1dG8tQmFja3VwIHZvciBQaGFzZSAxLgoKaW1wb3J0IHsgWiB9IGZyb20gJy4vY29y +ZV9zdGF0ZS5qcyc7CmltcG9ydCB7IGVzY2FwZUhUTUwsIGVzY2FwZUF0dHIsIGRhdHVtU3RyLCBw +aWRLZXkgfSBmcm9tICcuL2NvcmVfdXRpbC5qcyc7CmltcG9ydCB7IGFwaVBvc3QsIGFwaVB1dCB9 +IGZyb20gJy4vY29yZV9hcGkuanMnOwppbXBvcnQgeyB0b2FzdCwgbW9kYWxaZWlnZW4sIG1vZGFs +U2NobGllc3NlbiwgYmVzdGFldGlnZW4sIGhpbGZlSWNvbiB9IGZyb20gJy4vdWlfZGlhbG9nLmpz +JzsKaW1wb3J0IHsgYWRtaW5MaXN0ZW5Ob3JtYWxpc2llcmVuIH0gZnJvbSAnLi9jb3JlX2RhdGVu +TGFkZW4uanMnOwppbXBvcnQgeyB0YWdlRXJ6ZXVnZW4sIHRhZ0luZm9zQmVyZWNobmVuLCBncmlk +UmVuZGVybiwga29wZlJlbmRlcm4gfSBmcm9tICcuL2dyaWRfcmVuZGVyLmpzJzsKaW1wb3J0IHsg +aXN0Q29kZUFrdGl2IH0gZnJvbSAnLi9hZG1pbl9jb2Rlcy5qcyc7CmltcG9ydCB7IG1haWxUcmln +Z2VyRmV1ZXJuIH0gZnJvbSAnLi9lbWFpbF92b3JsYWdlbi5qcyc7CgogICAgLy8gPT09PT0gRXhj +ZWwtSW1wb3J0ZXIgPT09PT0KCiAgICAvLyBTdGF0ZSBkZXMgSW1wb3J0ZXJzIHp3aXNjaGVuIERh +dGVpLUF1c3dhaGwgdW5kIGVpZ2VudGxpY2hlbSBJbXBvcnQuCiAgICAvLyBXaXJkIGJlaW0gV2Vj +aHNlbCBkZXIgRGF0ZWkgdmVyd29yZmVuLgogICAgdmFyIGltcFN0YXRlID0gbnVsbDsKCiAgICAv +LyBPcHRpbWlzdGlzY2hlIE5lYmVubGFldWZpZ2tlaXQ6IFZlcnNpb24gKG10aW1lLVRpY2tzKSB2 +b24gcGxhbnVuZy5qc29uLAogICAgLy8gYXVmIGRlciBkZXIgVHJhbnNmb3JtIGF1ZmdlYmF1dCBo +YXQuIFdpcmQgYmVpbSBmcmlzY2hlbiBHRVQgdW5taXR0ZWxiYXIKICAgIC8vIHZvciBkZW0gVHJh +bnNmb3JtIGdlc2V0enQgdW5kIGJlaW0gYWJzY2hsaWVzc2VuZGVuIFBVVCBhbHMKICAgIC8vIElm +LVBsYW51bmctVmVyc2lvbiBtaXRnZXNjaGlja3QuIEhhdCBlaW4gYW5kZXJlciBOdXR6ZXIgd2Fl +aHJlbmQgZGVzCiAgICAvLyBJbXBvcnRzIGdlc2NocmllYmVuLCBsZWhudCBkZXIgU2VydmVyIG1p +dCA0MDkgYWIgc3RhdHQgZGVzc2VuIEFlbmRlcnVuZwogICAgLy8genUgdWViZXJzY2hyZWliZW4u +IG51bGwgPSBTZXJ2ZXIgbGllZmVydCBrZWluZSBWZXJzaW9uIChBYndhZXJ0cy1Lb21wYXQsCiAg +ICAvLyBkYW5uIGtlaW4gQ2hlY2spLgogICAgdmFyIGltcExldHp0ZVZlcnNpb24gPSBudWxsOwoK +ICAgIC8vIEdFVCAvYXBpL3BsYW51bmcgaW5rbC4gVmVyc2lvbnMtSGVhZGVyLiBhcGkoKSB2ZXJ3 +aXJmdCBIZWFkZXIsIGRhaGVyCiAgICAvLyByYXcgZmV0Y2guCiAgICBmdW5jdGlvbiBpbXBHZXRQ +bGFudW5nTWl0VmVyc2lvbigpIHsKICAgICAgICByZXR1cm4gZmV0Y2goJy9hcGkvcGxhbnVuZycp +LnRoZW4oZnVuY3Rpb24ocikgewogICAgICAgICAgICBpZiAoIXIub2spIHRocm93IG5ldyBFcnJv +cignSFRUUCAnICsgci5zdGF0dXMpOwogICAgICAgICAgICBpbXBMZXR6dGVWZXJzaW9uID0gci5o +ZWFkZXJzLmdldCgnWC1QbGFudW5nLVZlcnNpb24nKSB8fCBudWxsOwogICAgICAgICAgICByZXR1 +cm4gci5qc29uKCk7CiAgICAgICAgfSk7CiAgICB9CgogICAgLy8gUmFuZ29yZG51bmcgYXVzIGVp +bmVtIEV4Y2VsLVplbGx3ZXJ0IGV4dHJhaGllcmVuLiBBa3plcHRpZXJ0ICIjMTExIiwKICAgIC8v +ICIxMTEiLCByZWluZSBaYWhsZW4sIGFiZXIgYXVjaCBUZXh0IHdpZSAiIzQyIFZlcnRyZXR1bmci +IChlcnN0ZSBaaWZmZXJuLQogICAgLy8gZ3J1cHBlIHdpcmQgZ2Vub21tZW4pLiBSdWVja2dhYmU6 +IGludGVnZXIgb2RlciBudWxsIHdlbm4gbmljaHRzIGxlc2Jhci4KICAgIGZ1bmN0aW9uIGltcFJh +bmdQYXJzZW4ocmF3KSB7CiAgICAgICAgdmFyIHMgPSBTdHJpbmcocmF3ID09IG51bGwgPyAnJyA6 +IHJhdykudHJpbSgpOwogICAgICAgIGlmICghcykgcmV0dXJuIG51bGw7CiAgICAgICAgdmFyIG0g +PSBzLm1hdGNoKC8oXGQrKS8pOwogICAgICAgIHJldHVybiBtID8gcGFyc2VJbnQobVsxXSwgMTAp +IDogbnVsbDsKICAgIH0KCiAgICAvLyBFeGNlbC1TZXJpYWwtTnVtYmVyIC0+IFlZWVktTU0tREQu +IEV4Y2VsLUVwb2NoZSBpc3QgMTg5OS0xMi0zMAogICAgLy8gKGtvbXBlbnNpZXJ0IGRpZSBQc2V1 +ZG8tMTkwMC1TY2hhbHRqYWhyLUJlc29uZGVyaGVpdCkuCiAgICBmdW5jdGlvbiBpbXBFeGNlbFNl +cmlhbFRvSXNvKHNlcmlhbCkgewogICAgICAgIHZhciBuID0gcGFyc2VGbG9hdChzZXJpYWwpOwog +ICAgICAgIGlmIChpc05hTihuKSkgcmV0dXJuIG51bGw7CiAgICAgICAgdmFyIG1zID0gKG4gLSAy +NTU2OSkgKiA4NjQwMDAwMDsgIC8vIDI1NTY5ID0gVGFnZSB2b24gMTg5OS0xMi0zMCB6dSAxOTcw +LTAxLTAxCiAgICAgICAgdmFyIGQgPSBuZXcgRGF0ZShtcyk7CiAgICAgICAgaWYgKGlzTmFOKGQu +Z2V0VGltZSgpKSkgcmV0dXJuIG51bGw7CiAgICAgICAgLy8gVVRDLURhdHVtIHp1cnVlY2sgYXVm +IGxva2FsZSBEYXR1bXN0ZWlsZSB1bXJlY2huZW4gKEV4Y2VsLVNlcmlhbCBpc3QKICAgICAgICAv +LyBkYXR1bXNsb3Mg4oCUIHdpciBuZWhtZW4gZGFzIHJlaW5lIERhdHVtIG9obmUgWmVpdHpvbmUp +LgogICAgICAgIHZhciB5ID0gZC5nZXRVVENGdWxsWWVhcigpLCBtID0gZC5nZXRVVENNb250aCgp +ICsgMSwgZGQgPSBkLmdldFVUQ0RhdGUoKTsKICAgICAgICB2YXIgcGFkID0gZnVuY3Rpb24oeCkg +eyByZXR1cm4gKHggPCAxMCA/ICcwJyA6ICcnKSArIHg7IH07CiAgICAgICAgcmV0dXJuIHkgKyAn +LScgKyBwYWQobSkgKyAnLScgKyBwYWQoZGQpOwogICAgfQoKICAgIC8vIEhhdXB0ZWluc3RpZWc6 +IERhdGVpIC0+IFBhcnNlIC0+IEFuYWx5c2UgLT4gU3RhdHVzLUthcnRlIHJlbmRlcm4uCiAgICBm +dW5jdGlvbiBpbXBEYXRlaVZlcmFyYmVpdGVuKGZpbGUpIHsKICAgICAgICB2YXIgc3RhdHVzRWwg +PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1wLXN0YXR1cycpOwogICAgICAgIHZhciBuYW1l +RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1wLWRhdGVpLW5hbWUnKTsKICAgICAgICBp +ZiAobmFtZUVsKSBuYW1lRWwudGV4dENvbnRlbnQgPSBmaWxlLm5hbWUgKyAnICgnICsgTWF0aC5y +b3VuZChmaWxlLnNpemUgLyAxMDI0KSArICcgS0IpJzsKICAgICAgICBzdGF0dXNFbC5pbm5lckhU +TUwgPSAnPGRpdiBjbGFzcz0iaW1wLXN0YXR1cy1rYXJ0ZSI+RGF0ZWkgd2lyZCBnZWxlc2VuIOKA +pjwvZGl2Pic7CiAgICAgICAgaW1wU3RhdGUgPSBudWxsOwoKICAgICAgICBpZiAodHlwZW9mIFhM +U1ggPT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgIHN0YXR1c0VsLmlubmVySFRNTCA9ICc8 +ZGl2IGNsYXNzPSJpbXAtc3RhdHVzLWthcnRlIiBzdHlsZT0iYm9yZGVyLWNvbG9yOnZhcigtLWZh +cmJlLWZlaGxlcikiPjxiPkZlaGxlcjo8L2I+IHhsc3gtQmlibGlvdGhlayBuaWNodCBnZWxhZGVu +LiBCaXR0ZSBTZWl0ZSBuZXUgbGFkZW4uPC9kaXY+JzsKICAgICAgICAgICAgcmV0dXJuOwogICAg +ICAgIH0KCiAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7CiAgICAgICAgcmVh +ZGVyLm9ubG9hZCA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAg +ICAgIHN0YXR1c0VsLmlubmVySFRNTCA9ICc8ZGl2IGNsYXNzPSJpbXAtc3RhdHVzLWthcnRlIj5F +eGNlbCB3aXJkIGFuYWx5c2llcnQg4oCmPC9kaXY+JzsKICAgICAgICAgICAgICAgIHNldFRpbWVv +dXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdHJ5IHsgaW1wQW5hbHlzaWVyZW4o +ZS50YXJnZXQucmVzdWx0LCBzdGF0dXNFbCk7IH0KICAgICAgICAgICAgICAgICAgICBjYXRjaCAo +ZXJyKSB7IGltcEZlaGxlcihzdGF0dXNFbCwgZXJyKTsgfQogICAgICAgICAgICAgICAgfSwgNDAp +OwogICAgICAgICAgICB9IGNhdGNoIChlcnIpIHsgaW1wRmVobGVyKHN0YXR1c0VsLCBlcnIpOyB9 +CiAgICAgICAgfTsKICAgICAgICByZWFkZXIub25lcnJvciA9IGZ1bmN0aW9uKCkgeyBpbXBGZWhs +ZXIoc3RhdHVzRWwsIG5ldyBFcnJvcignRGF0ZWkga29ubnRlIG5pY2h0IGdlbGVzZW4gd2VyZGVu +LicpKTsgfTsKICAgICAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoZmlsZSk7CiAgICB9Cgog +ICAgZnVuY3Rpb24gaW1wRmVobGVyKHN0YXR1c0VsLCBlcnIpIHsKICAgICAgICBjb25zb2xlLmVy +cm9yKCdJbXBvcnQtRmVobGVyOicsIGVycik7CiAgICAgICAgc3RhdHVzRWwuaW5uZXJIVE1MID0g +JzxkaXYgY2xhc3M9ImltcC1zdGF0dXMta2FydGUiIHN0eWxlPSJib3JkZXItY29sb3I6dmFyKC0t +ZmFyYmUtZmVobGVyKSI+JyArCiAgICAgICAgICAgICc8Yj5GZWhsZXIgYmVpbSBJbXBvcnQ6PC9i +PiAnICsgZXNjYXBlSFRNTChlcnIubWVzc2FnZSB8fCBTdHJpbmcoZXJyKSkgKyAnPC9kaXY+JzsK +ICAgIH0KCiAgICBmdW5jdGlvbiBpbXBBbmFseXNpZXJlbihhcnJheUJ1ZmZlciwgc3RhdHVzRWwp +IHsKICAgICAgICB2YXIgd2IgPSBYTFNYLnJlYWQoYXJyYXlCdWZmZXIsIHsgdHlwZTogJ2FycmF5 +JywgY2VsbERhdGVzOiBmYWxzZSwgY2VsbFN0eWxlczogZmFsc2UsIHNoZWV0Um93czogMjAwIH0p +OwogICAgICAgIHZhciBzaGVldE5hbWUgPSB3Yi5TaGVldE5hbWVzLmluZGV4T2YoJ1BsYW51bmcn +KSA+PSAwID8gJ1BsYW51bmcnIDogd2IuU2hlZXROYW1lc1swXTsKICAgICAgICB2YXIgc2hlZXQg +PSB3Yi5TaGVldHNbc2hlZXROYW1lXTsKICAgICAgICBpZiAoIXNoZWV0KSB0aHJvdyBuZXcgRXJy +b3IoJ0tlaW4gU2hlZXQgIlBsYW51bmciIGluIGRlciBEYXRlaS4nKTsKCiAgICAgICAgLy8gUmFu +Z2UgaW4gYW9hIChhcnJheSBvZiBhcnJheXMpIGxlc2VuLCBkYW1pdCB3aXIgZ2V6aWVsdCBhdWYg +WmVpbGVuL1NwYWx0ZW4genVncmVpZmVuLgogICAgICAgIHZhciBhb2EgPSBYTFNYLnV0aWxzLnNo +ZWV0X3RvX2pzb24oc2hlZXQsIHsgaGVhZGVyOiAxLCBibGFua3Jvd3M6IHRydWUsIHJhdzogdHJ1 +ZSwgZGVmdmFsOiAnJyB9KTsKCiAgICAgICAgLy8gRGF0dW1zLVNwYWx0ZW4gYXVzIFplaWxlIDEg +KEluZGV4IDApOiBhYiBTcGFsdGUgSiA9IEluZGV4IDkuCiAgICAgICAgdmFyIHJvdzEgPSBhb2Fb +MF0gfHwgW107CiAgICAgICAgdmFyIGRhdHVtU3BhbHRlbiA9IFtdOyAgLy8gW3sgaWR4OiA5LCBk +YXR1bTogJzIwMjYtMDEtMDEnIH0sIC4uLl0KICAgICAgICBmb3IgKHZhciBjID0gOTsgYyA8IHJv +dzEubGVuZ3RoOyBjKyspIHsKICAgICAgICAgICAgdmFyIGlzbyA9IGltcEV4Y2VsU2VyaWFsVG9J +c28ocm93MVtjXSk7CiAgICAgICAgICAgIGlmIChpc28pIGRhdHVtU3BhbHRlbi5wdXNoKHsgaWR4 +OiBjLCBkYXR1bTogaXNvIH0pOwogICAgICAgIH0KCiAgICAgICAgLy8gUGVyc29uZW4gZmluZGVu +OiBhYiBaZWlsZSAyMSAoSW5kZXggMjApLCBOYWNobmFtZSBpbiBTcGFsdGUgQyAoSW5kZXggMiks +CiAgICAgICAgLy8gc3RvcHBlIGJlaSBlcnN0ZW4gNSBsZWVyZW4gWmVpbGVuIGluIEZvbGdlLgog +ICAgICAgIHZhciBleGNlbFBlcnNvbmVuID0gW107ICAvLyBbeyB6ZWlsZUlkeCwgbmFjaG5hbWUs +IG9lLCBncnVwcGUsIGRpZW5zdG51bW1lciwgdGVsZWZvbiwgemVsbGVuOiB7ZGF0dW06Y29kZX0s +IGtvbW1lbnRhcmU6IHtkYXR1bTp0ZXh0fSB9XQogICAgICAgIHZhciBsZWVyID0gMDsKICAgICAg +ICBmb3IgKHZhciByID0gMjA7IHIgPCBhb2EubGVuZ3RoOyByKyspIHsKICAgICAgICAgICAgdmFy +IHJvdyA9IGFvYVtyXSB8fCBbXTsKICAgICAgICAgICAgdmFyIG5hbWUgPSBTdHJpbmcocm93WzJd +IHx8ICcnKS50cmltKCk7CiAgICAgICAgICAgIGlmICghbmFtZSkgeyBsZWVyKys7IGlmIChsZWVy +ID49IDUpIGJyZWFrOyBjb250aW51ZTsgfQogICAgICAgICAgICBsZWVyID0gMDsKICAgICAgICAg +ICAgdmFyIGVpbnRyYWVnZSA9IHt9OwogICAgICAgICAgICBkYXR1bVNwYWx0ZW4uZm9yRWFjaChm +dW5jdGlvbihkcykgewogICAgICAgICAgICAgICAgdmFyIHYgPSByb3dbZHMuaWR4XTsKICAgICAg +ICAgICAgICAgIGlmICh2ID09PSBudWxsIHx8IHYgPT09IHVuZGVmaW5lZCkgcmV0dXJuOwogICAg +ICAgICAgICAgICAgdiA9IFN0cmluZyh2KS50cmltKCk7CiAgICAgICAgICAgICAgICBpZiAoIXYp +IHJldHVybjsKICAgICAgICAgICAgICAgIGVpbnRyYWVnZVtkcy5kYXR1bV0gPSB2OwogICAgICAg +ICAgICB9KTsKICAgICAgICAgICAgZXhjZWxQZXJzb25lbi5wdXNoKHsKICAgICAgICAgICAgICAg +IHplaWxlSWR4OiByLAogICAgICAgICAgICAgICAgbmFjaG5hbWU6IG5hbWUsCiAgICAgICAgICAg +ICAgICBvZTogICAgICAgU3RyaW5nKHJvd1szXSB8fCAnJykudHJpbSgpLAogICAgICAgICAgICAg +ICAgZ3J1cHBlOiAgIFN0cmluZyhyb3dbNF0gfHwgJycpLnRyaW0oKSwKICAgICAgICAgICAgICAg +IC8vIFNwYWx0ZSBGIGVudGhhZWx0IGRpZSBSYW5nb3JkbnVuZyAoei5CLiAiIzExMSIpLiBXaXIg +ZnVlaHJlbgogICAgICAgICAgICAgICAgLy8gc293b2hsIGRlbiBSb2h0ZXh0IGFscyBhdWNoIGRp +ZSBnZXBhcnN0ZSBaYWhsIG1pdCwgZGFtaXQgZGVyCiAgICAgICAgICAgICAgICAvLyBNYXBwaW5n +LURpYWxvZyBkZW4gT3JpZ2luYWx3ZXJ0IGFuemVpZ2VuIGthbm4uCiAgICAgICAgICAgICAgICBy +YW5nUm9oOiAgU3RyaW5nKHJvd1s1XSB8fCAnJykudHJpbSgpLAogICAgICAgICAgICAgICAgcmFu +ZzogICAgIGltcFJhbmdQYXJzZW4ocm93WzVdKSwKICAgICAgICAgICAgICAgIHRlbGVmb246ICBT +dHJpbmcocm93WzZdIHx8ICcnKS50cmltKCksCiAgICAgICAgICAgICAgICBlaW50cmFlZ2U6IGVp +bnRyYWVnZQogICAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgICAgIC8vIEtvbW1lbnRhcmUg +YXVzIGRlbiBTaGVldC1Db21tZW50cyBleHRyYWhpZXJlbi4gU2hlZXRKUyBzcGVpY2hlcnQKICAg +ICAgICAvLyBLb21tZW50YXJlIGFuIHNoZWV0W3plbGxBZGRyXS5jOyBkYXMgZnVua3Rpb25pZXJ0 +IG51ciB3ZW5uIGNlbGxTdHlsZXMKICAgICAgICAvLyBvZGVyIGJvb2tGaWxlcyBha3RpdiB3YXJl +bi4gRnVlciB4bHNtL3hsc3ggcmVpY2hlbiBTdGFuZGFyZG9wdGlvbmVuLgogICAgICAgIC8vIFdp +ciBpdGVyaWVyZW4gYWxsZSBaZWxsZW4gaW0gZ2VsZXNlbmVuIEJlcmVpY2ggdW5kIHNhbW1lbG4g +S29tbWVudGFyZS4KICAgICAgICB2YXIga29tbWVudGFyZSA9IHt9OyAgLy8geyB6ZWlsZTogeyBk +YXR1bTogWyB7IHRleHQsIGF1dG9yIH0gXSB9IH0KICAgICAgICB2YXIgcmVmID0gc2hlZXRbJyFy +ZWYnXTsKICAgICAgICBpZiAocmVmKSB7CiAgICAgICAgICAgIHZhciByYW5nZSA9IFhMU1gudXRp +bHMuZGVjb2RlX3JhbmdlKHJlZik7CiAgICAgICAgICAgIGZvciAodmFyIFIgPSAyMDsgUiA8PSBy +YW5nZS5lLnIgJiYgUiA8IGFvYS5sZW5ndGg7IFIrKykgewogICAgICAgICAgICAgICAgZm9yICh2 +YXIgQyA9IDk7IEMgPD0gcmFuZ2UuZS5jOyBDKyspIHsKICAgICAgICAgICAgICAgICAgICB2YXIg +YWRkciA9IFhMU1gudXRpbHMuZW5jb2RlX2NlbGwoeyByOiBSLCBjOiBDIH0pOwogICAgICAgICAg +ICAgICAgICAgIHZhciB6ZWxsID0gc2hlZXRbYWRkcl07CiAgICAgICAgICAgICAgICAgICAgaWYg +KCF6ZWxsIHx8ICF6ZWxsLmMpIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgIC8vIFBybyBF +eGNlbC1Ob3RpeiBFSU4gTGlzdGVuLUVpbnRyYWcgbWl0IGVpZ2VuZW0gQXV0b3Ig4oCUCiAgICAg +ICAgICAgICAgICAgICAgLy8gYmVpIG1laHJlcmVuIE5vdGl6ZW4vQW50d29ydGVuICh0aHJlYWRl +ZCkgYmxlaWJ0IGRpZQogICAgICAgICAgICAgICAgICAgIC8vIFp1b3JkbnVuZyBlcmhhbHRlbi4g +QXV0b3IgYmV2b3J6dWd0IGF1cyBkZW0gTm90aXotQXV0b3ItCiAgICAgICAgICAgICAgICAgICAg +Ly8gRmVsZCAoY2MuYSk7IGtsYXNzaXNjaGUgRXhjZWwtTm90aXplbiBiZXR0ZW4gIkF1dG9yOlxu +IgogICAgICAgICAgICAgICAgICAgIC8vIHp1c2FldHpsaWNoIGluIGRlbiBUZXh0IGVpbiDigJQg +bnVyIEdFTkFVIGRpZXNlcyBQcmFlZml4CiAgICAgICAgICAgICAgICAgICAgLy8gc3RyaXBwZW4g +KG5pY2h0IGplZGVzICJXb3J0OiIsIHNvbnN0IHplcmxlZ3QgZXMgei5CLgogICAgICAgICAgICAg +ICAgICAgIC8vICJBY2h0dW5nOiAuLi4iKS4gRWluIFplaXRzdGVtcGVsIHdpcmQgYmV3dXNzdCBO +SUNIVAogICAgICAgICAgICAgICAgICAgIC8vIGdlc2V0enQg4oCUIEV4Y2VsLU5vdGl6ZW4gbGll +ZmVybiBrZWluZW4gdmVybGFlc3NsaWNoZW4uCiAgICAgICAgICAgICAgICAgICAgdmFyIGNsaXN0 +ZSA9ICh6ZWxsLmMgfHwgW10pLm1hcChmdW5jdGlvbihjYykgewogICAgICAgICAgICAgICAgICAg +ICAgICB2YXIgcmF3ID0gU3RyaW5nKGNjLnQgfHwgJycpOwogICAgICAgICAgICAgICAgICAgICAg +ICB2YXIgYXV0b3IgPSBTdHJpbmcoY2MuYSB8fCAnJykudHJpbSgpOwogICAgICAgICAgICAgICAg +ICAgICAgICB2YXIgdCA9IHJhdzsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGF1dG9yICYm +IHJhdy5zbGljZSgwLCBhdXRvci5sZW5ndGggKyAxKS50b0xvd2VyQ2FzZSgpID09PSAoYXV0b3Ig +KyAnOicpLnRvTG93ZXJDYXNlKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQgPSBy +YXcuc2xpY2UoYXV0b3IubGVuZ3RoICsgMSkucmVwbGFjZSgvXlxzKlxuPy8sICcnKTsKICAgICAg +ICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghYXV0b3IpIHsKICAgICAgICAgICAgICAgICAg +ICAgICAgICAgIHZhciBwbSA9IHJhdy5tYXRjaCgvXihbXjpcbl17MSw0MH0pOlxzKlxuLyk7CiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocG0pIHsgYXV0b3IgPSBwbVsxXS50cmltKCk7 +IHQgPSByYXcuc2xpY2UocG1bMF0ubGVuZ3RoKTsgfQogICAgICAgICAgICAgICAgICAgICAgICB9 +CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IHRleHQ6IHQudHJpbSgpLCBhdXRvcjog +YXV0b3IgfTsKICAgICAgICAgICAgICAgICAgICB9KS5maWx0ZXIoZnVuY3Rpb24oeCkgeyByZXR1 +cm4geC50ZXh0OyB9KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWNsaXN0ZS5sZW5ndGgpIGNv +bnRpbnVlOwogICAgICAgICAgICAgICAgICAgIHZhciBkc3AgPSBkYXR1bVNwYWx0ZW4uZmluZChm +dW5jdGlvbih4KSB7IHJldHVybiB4LmlkeCA9PT0gQzsgfSk7CiAgICAgICAgICAgICAgICAgICAg +aWYgKCFkc3ApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgIGlmICgha29tbWVudGFyZVtS +XSkga29tbWVudGFyZVtSXSA9IHt9OwogICAgICAgICAgICAgICAgICAgIGtvbW1lbnRhcmVbUl1b +ZHNwLmRhdHVtXSA9IGNsaXN0ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAg +ICAgIH0KICAgICAgICBleGNlbFBlcnNvbmVuLmZvckVhY2goZnVuY3Rpb24ocCkgeyBwLmtvbW1l +bnRhcmUgPSBrb21tZW50YXJlW3AuemVpbGVJZHhdIHx8IHt9OyB9KTsKCiAgICAgICAgLy8gQWJn +bGVpY2g6IFBlcnNvbmVuIHBlciBOYWNobmFtZSBtYXRjaGVuLiBLb252ZW50aW9uOiBXaXIgYmxl +bmRlbgogICAgICAgIC8vIG5pZW1hbHMgRGF0ZW4gd2VnLCBzb25kZXJuIHplaWdlbiBLb25mbGlr +dGUgc2ljaHRiYXIgYW4gdW5kIGJpZXRlbgogICAgICAgIC8vIE9wdGlvbmVuLiBQYXBpZXJrb3Ji +LVBlcnNvbmVuIChnZWxvZXNjaHRBbSBnZXNldHp0KSB0YXVjaGVuIGFsc28KICAgICAgICAvLyBh +dWYsIGJla29tbWVuIGFiZXIgZWluZW4gZWlnZW5lbiBTdGF0dXMgYHBhcGllcmtvcmJgIHBsdXMg +ZGllCiAgICAgICAgLy8gRGVmYXVsdC1FbXBmZWhsdW5nICJXaWVkZXJoZXJzdGVsbGVuICsgenVv +cmRuZW4iLiBNZWhyZGV1dGlna2VpdAogICAgICAgIC8vIHdpcmQgcHJpb3Jpc2llcnQ6IGVpbiBl +aW5kZXV0aWdlciBha3RpdmVyIFRyZWZmZXIgc2NobGFlZ3QgZWluZW4KICAgICAgICAvLyBQYXBp +ZXJrb3JiLVRyZWZmZXI7IG51ciB3ZW5uIGF1c3NjaGxpZXNzbGljaCBQYXBpZXJrb3JiLVRyZWZm +ZXIKICAgICAgICAvLyBleGlzdGllcmVuLCBnaWJ0J3MgZGVuIGBwYXBpZXJrb3JiYC1Lb25mbGlr +dC4KICAgICAgICAvLwogICAgICAgIC8vIE5hY2huYW1lLU5vcm1hbGlzaWVydW5nOiBzZW5rdCBF +eGNlbC1BZW5kZXJ1bmdlbiBvZGVyIEVuY29kaW5nLQogICAgICAgIC8vIFBhdHplciBhdWYgZWlu +ZSBrYW5vbmlzY2hlIEZvcm0uIEJlaXNwaWVsZSBhdXMgZGVtIEJlc3RhbmQ6CiAgICAgICAgLy8g +ICAiU2NoaWXDnyIgIC8gIlNjaGllc3MiICAvICJTY2hpZcOfw7giIC8gIlNjaGllw59vZSIgIC0+ +ICJzY2hpZXNzIgogICAgICAgIC8vICAgIk3DvGxsZXIiIC8gIk11ZWxsZXIiICAgLyAiTcOcTExF +UiIgICAgICAgICAgICAgICAtPiAibXVlbGxlciIKICAgICAgICAvLyBEYW1pdCBncmVpZnQgZGVy +IE1hdGNoIGF1Y2ggd2VubiBkYXMgRXhjZWwgVW1sYXV0ZSBvZGVyIGRhcwogICAgICAgIC8vIEVz +emV0dCBkdXJjaCBTdWJzdGl0dXRpb25zLVplaWNoZW4gZXJzZXR6dCBoYXQgKGhhZXVmaWcKICAg +ICAgICAvLyBiZW9iYWNodGV0OiBvLW1pdC1TdHJpY2ggVSswMEY4IHN0YXR0IMOfKS4KICAgICAg +ICBmdW5jdGlvbiBfaW1wTmFtZU5vcm1hbGlzaWVyZW4ocykgewogICAgICAgICAgICBpZiAoIXMp +IHJldHVybiAnJzsKICAgICAgICAgICAgcmV0dXJuIFN0cmluZyhzKS5ub3JtYWxpemUoJ05GQycp +LnRyaW0oKS50b0xvd2VyQ2FzZSgpCiAgICAgICAgICAgICAgICAucmVwbGFjZSgvw6QvZywgJ2Fl +JykucmVwbGFjZSgvw7YvZywgJ29lJykucmVwbGFjZSgvw7wvZywgJ3VlJykKICAgICAgICAgICAg +ICAgIC5yZXBsYWNlKC/Dny9nLCAnc3MnKQogICAgICAgICAgICAgICAgLnJlcGxhY2UoL8O4L2cs +ICdzcycpICAgLy8gYmVrYW5udGUgRW5jb2RpbmctRmFsbGUgYXVzIGRlbSBMaXZlLVRlc3QKICAg +ICAgICAgICAgICAgIC5yZXBsYWNlKC9ccysvZywgJyAnKTsKICAgICAgICB9CiAgICAgICAgLy8g +RWRpdGllcmRpc3RhbnogKExldmVuc2h0ZWluKSBmdWVyIGRlbiBUaXBwZmVobGVyLVNjaHV0eiB1 +bnRlbi4KICAgICAgICAvLyBLbGVpbiBnZWhhbHRlbiwgRVM1LWtvbXBhdGliZWwuIFp3ZWkgcm9s +bGVuZGUgWmVpbGVuIHN0YXR0IHZvbGxlcgogICAgICAgIC8vIE1hdHJpeCDigJQgcmVpY2h0IGZ1 +ZXIgTmFjaG5hbWVuLUxhZW5nZW4gdm9lbGxpZy4KICAgICAgICBmdW5jdGlvbiBfaW1wTGV2ZW5z +aHRlaW4oYSwgYikgewogICAgICAgICAgICBhID0gYSB8fCAnJzsgYiA9IGIgfHwgJyc7CiAgICAg +ICAgICAgIGlmIChhID09PSBiKSByZXR1cm4gMDsKICAgICAgICAgICAgdmFyIGxhID0gYS5sZW5n +dGgsIGxiID0gYi5sZW5ndGg7CiAgICAgICAgICAgIGlmICghbGEpIHJldHVybiBsYjsKICAgICAg +ICAgICAgaWYgKCFsYikgcmV0dXJuIGxhOwogICAgICAgICAgICB2YXIgdm9yaGVyID0gW10sIGpl +dHp0ID0gW10sIGksIGo7CiAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPD0gbGI7IGorKykgdm9y +aGVyW2pdID0gajsKICAgICAgICAgICAgZm9yIChpID0gMTsgaSA8PSBsYTsgaSsrKSB7CiAgICAg +ICAgICAgICAgICBqZXR6dFswXSA9IGk7CiAgICAgICAgICAgICAgICBmb3IgKGogPSAxOyBqIDw9 +IGxiOyBqKyspIHsKICAgICAgICAgICAgICAgICAgICB2YXIga29zdGVuID0gYS5jaGFyQXQoaSAt +IDEpID09PSBiLmNoYXJBdChqIC0gMSkgPyAwIDogMTsKICAgICAgICAgICAgICAgICAgICBqZXR6 +dFtqXSA9IE1hdGgubWluKGpldHp0W2ogLSAxXSArIDEsIHZvcmhlcltqXSArIDEsIHZvcmhlcltq +IC0gMV0gKyBrb3N0ZW4pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZm9yIChq +ID0gMDsgaiA8PSBsYjsgaisrKSB2b3JoZXJbal0gPSBqZXR6dFtqXTsKICAgICAgICAgICAgfQog +ICAgICAgICAgICByZXR1cm4gdm9yaGVyW2xiXTsKICAgICAgICB9CiAgICAgICAgdmFyIGJlc3Rh +bmROYW1lID0ge307CiAgICAgICAgKFoucGxhbnVuZy5wZXJzb25lbiB8fCBbXSkuZm9yRWFjaChm +dW5jdGlvbihwKSB7CiAgICAgICAgICAgIHZhciBuID0gX2ltcE5hbWVOb3JtYWxpc2llcmVuKHAu +bmFtZSk7CiAgICAgICAgICAgIGlmICghbikgcmV0dXJuOwogICAgICAgICAgICBpZiAoIWJlc3Rh +bmROYW1lW25dKSBiZXN0YW5kTmFtZVtuXSA9IFtdOwogICAgICAgICAgICBiZXN0YW5kTmFtZVtu +XS5wdXNoKHApOwogICAgICAgIH0pOwogICAgICAgIC8vIEFrdGl2ZSBCZXN0YW5kc3BlcnNvbmVu +IG1pdCBOb3JtYWxmb3JtIGZ1ZXIgZGllIEZ1enp5LUFlaG5saWNoa2VpdHMtCiAgICAgICAgLy8g +c3VjaGUuIFBvc2l0aW9uL1RlbGVmb24gdGF1Z2VuIE5JQ0hUIGFscyBad2VpdHNjaGx1ZXNzZWwg +KFBvc2l0aW9uCiAgICAgICAgLy8gZHJpZnRldCB6d2lzY2hlbiBFeGNlbCB1bmQgQmVzdGFuZCwg +VGVsZWZvbiBpc3QgZWluZSBTY2hpY2h0LVNhbW1lbC0KICAgICAgICAvLyBudW1tZXIpIOKAlCBk +YWhlciBUaXBwZmVobGVyLUVya2VubnVuZyB1ZWJlciBkaWUgTmFtZW5zLUVkaXRpZXJkaXN0YW56 +LgogICAgICAgIHZhciBha3RpdkJlc3RhbmQgPSAoWi5wbGFudW5nLnBlcnNvbmVuIHx8IFtdKQog +ICAgICAgICAgICAuZmlsdGVyKGZ1bmN0aW9uKHApIHsgcmV0dXJuICFwLmdlbG9lc2NodEFtOyB9 +KQogICAgICAgICAgICAubWFwKGZ1bmN0aW9uKHApIHsgcmV0dXJuIHsgcDogcCwgbjogX2ltcE5h +bWVOb3JtYWxpc2llcmVuKHAubmFtZSkgfTsgfSk7CiAgICAgICAgdmFyIHBlcnNvbmVuTWF0Y2hl +cyA9IGV4Y2VsUGVyc29uZW4ubWFwKGZ1bmN0aW9uKHhwKSB7CiAgICAgICAgICAgIHZhciBrZXkg +PSBfaW1wTmFtZU5vcm1hbGlzaWVyZW4oeHAubmFjaG5hbWUpOwogICAgICAgICAgICB2YXIgdHJl +ZmZlciAgICAgICA9IGJlc3RhbmROYW1lW2tleV0gfHwgW107CiAgICAgICAgICAgIHZhciBha3Rp +dlRyZWZmZXIgID0gdHJlZmZlci5maWx0ZXIoZnVuY3Rpb24ocCkgeyByZXR1cm4gIXAuZ2Vsb2Vz +Y2h0QW07IH0pOwogICAgICAgICAgICB2YXIgcGtUcmVmZmVyICAgICA9IHRyZWZmZXIuZmlsdGVy +KGZ1bmN0aW9uKHApIHsgcmV0dXJuICBwLmdlbG9lc2NodEFtOyB9KTsKICAgICAgICAgICAgdmFy +IHN0YXR1cywgemllbElkID0gbnVsbCwgd2llZGVyaGVyc3RlbGxlbiA9IGZhbHNlLCBuZXVBbmxl +Z2VuID0gZmFsc2UsIGFlaG5saWNoID0gW107CiAgICAgICAgICAgIGlmIChha3RpdlRyZWZmZXIu +bGVuZ3RoID09PSAxKSB7CiAgICAgICAgICAgICAgICBzdGF0dXMgPSAnb2snOwogICAgICAgICAg +ICAgICAgemllbElkID0gYWt0aXZUcmVmZmVyWzBdLmlkOwogICAgICAgICAgICB9IGVsc2UgaWYg +KGFrdGl2VHJlZmZlci5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBzdGF0dXMgPSAnbWVo +cmRldXRpZyc7CiAgICAgICAgICAgIH0gZWxzZSBpZiAocGtUcmVmZmVyLmxlbmd0aCA9PT0gMSkg +ewogICAgICAgICAgICAgICAgLy8gTnVyIFBhcGllcmtvcmItVHJlZmZlciAtPiBLb25mbGlrdCwg +RGVmYXVsdDogd2llZGVyaGVyc3RlbGxlbgogICAgICAgICAgICAgICAgc3RhdHVzID0gJ3BhcGll +cmtvcmInOwogICAgICAgICAgICAgICAgemllbElkID0gcGtUcmVmZmVyWzBdLmlkOwogICAgICAg +ICAgICAgICAgd2llZGVyaGVyc3RlbGxlbiA9IHRydWU7CiAgICAgICAgICAgIH0gZWxzZSBpZiAo +cGtUcmVmZmVyLmxlbmd0aCA+IDEpIHsKICAgICAgICAgICAgICAgIHN0YXR1cyA9ICdtZWhyZGV1 +dGlnJzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIE5pY2h0IGltIEJl +c3RhbmQ6IERlZmF1bHQtVm9yc2NobGFnICJuZXUgYW5sZWdlbiIuIERpZSBFeGNlbC0KICAgICAg +ICAgICAgICAgIC8vIERhdGVuIChOYWNobmFtZSwgT0UsIEdydXBwZSwgVGVsZWZvbiwgUmFuZykg +d2FuZGVybiBpbiBlaW5lCiAgICAgICAgICAgICAgICAvLyBmcmlzY2hlIFBlcnNvbiBtaXQgTWFy +a2VyIGBpbXBvcnROZXVBbWAuIFBlcnNvbmFsdmVyd2FsdHVuZwogICAgICAgICAgICAgICAgLy8g +YmxlbmRldCBkaWVzZSBpbSBOZXVpbXBvcnQtQmxvY2sgb2JlbiBlaW4sIGJpcyBkZXIgVXNlcgog +ICAgICAgICAgICAgICAgLy8gc2llIG5hY2hwZmxlZ3QgdW5kIGVybGVkaWd0LgogICAgICAgICAg +ICAgICAgc3RhdHVzID0gJ25ldSc7CiAgICAgICAgICAgICAgICBuZXVBbmxlZ2VuID0gdHJ1ZTsK +ICAgICAgICAgICAgICAgIC8vIFRpcHBmZWhsZXItU2NodXR6OiBhZWhubGljaGUgYWt0aXZlIEJl +c3RhbmRzbmFtZW4gKEVkaXRpZXItCiAgICAgICAgICAgICAgICAvLyBkaXN0YW56IDw9IDIsIGFi +ZXIgbmljaHQgMCkgYWxzIFVOVkVSQklORExJQ0hFTiBIaW53ZWlzCiAgICAgICAgICAgICAgICAv +LyBzYW1tZWxuLCBkYW1pdCBkZXIgVXNlciBuaWNodCB2ZXJzZWhlbnRsaWNoIGVpbiBEdXBsaWth +dAogICAgICAgICAgICAgICAgLy8gZWluZXIgYmVzdGVoZW5kZW4gUGVyc29uIGFubGVndCAoei5C +LiAiTWVubmVrZVMiIC0+ICJNZW5uZWtlIikuCiAgICAgICAgICAgICAgICAvLyBCZXd1c3N0IGtl +aW4gQXV0by1NYXRjaDogYmVpIGVpbmVtIEZ1enp5LVRyZWZmZXIgZW50c2NoZWlkZXQKICAgICAg +ICAgICAgICAgIC8vIGRlciBNZW5zY2gsIG5pZSBkZXIgQWxnb3JpdGhtdXMuCiAgICAgICAgICAg +ICAgICBpZiAoa2V5Lmxlbmd0aCA+PSA0KSB7CiAgICAgICAgICAgICAgICAgICAgYWVobmxpY2gg +PSBha3RpdkJlc3RhbmQubWFwKGZ1bmN0aW9uKGFiKSB7CiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAvLyBFcnN0ZXIgQnVjaHN0YWJlIGFscyBBbmtlcjogZWNodGUgVGlwcGZlaGxlcgogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXJoYWx0ZW4gaWhuIGZhc3QgaW1tZXIuIERhcyB1 +bnRlcmRydWVja3Qgd2VpY2hlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGZWhsdHJl +ZmZlciB3aWUgIk5ldW1hbm4iIHZzICJIZXltYW5uIiAoZ2xlaWNoZQogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgLy8gRW5kdW5nLCBEaXN0YW56IDIpLCB3YWVocmVuZCAiTWVubmVrZVMiIHZz +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAiTWVubmVrZSIgKERpc3RhbnogMSkgZXJo +YWx0ZW4gYmxlaWJ0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGFua2VyID0gYWIu +bi5jaGFyQXQoMCkgPT09IGtleS5jaGFyQXQoMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICByZXR1cm4geyBpZDogYWIucC5pZCwgbmFtZTogYWIucC5uYW1lLCBkaXN0OiBfaW1wTGV2ZW5z +aHRlaW4oa2V5LCBhYi5uKSwgYW5rZXI6IGFua2VyIH07CiAgICAgICAgICAgICAgICAgICAgICAg +IH0pCiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoZnVuY3Rpb24oeCkgeyByZXR1cm4g +eC5kaXN0ID4gMCAmJiAoeC5kaXN0IDw9IDEgfHwgKHguZGlzdCA8PSAyICYmIHguYW5rZXIpKTsg +fSkKICAgICAgICAgICAgICAgICAgICAgICAgLnNvcnQoZnVuY3Rpb24oYSwgYikgeyByZXR1cm4g +YS5kaXN0IC0gYi5kaXN0OyB9KQogICAgICAgICAgICAgICAgICAgICAgICAuc2xpY2UoMCwgMyk7 +CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHsgZXhj +ZWw6IHhwLCB0cmVmZmVyOiB0cmVmZmVyLCBzdGF0dXM6IHN0YXR1cywgemllbElkOiB6aWVsSWQs +IHdpZWRlcmhlcnN0ZWxsZW46IHdpZWRlcmhlcnN0ZWxsZW4sIG5ldUFubGVnZW46IG5ldUFubGVn +ZW4sIGFlaG5saWNoOiBhZWhubGljaCB9OwogICAgICAgIH0pOwoKICAgICAgICAvLyBDb2RlLUFu +YWx5c2U6IGFsbGUgQ29kZXMgYXVzIGRlbiBFaW50cmFlZ2VuIHNhbW1lbG4sIGdlZ2VuIGFrdGl2 +ZQogICAgICAgIC8vIENvZGVzIHVuZCBpbXBvcnRBbGlhc2UgYWJnbGVpY2hlbi4KICAgICAgICB2 +YXIgYWxpYXNlID0gWi5hZG1pbi5pbXBvcnRBbGlhc2UgfHwge307CiAgICAgICAgdmFyIGFrdGl2 +ZUNvZGVzID0ge307CiAgICAgICAgKFouYWRtaW4uc2NoaWNodGNvZGVzIHx8IFtdKS5mb3JFYWNo +KGZ1bmN0aW9uKHNjKSB7CiAgICAgICAgICAgIGlmIChpc3RDb2RlQWt0aXYoc2MpKSBha3RpdmVD +b2Rlc1tzYy5jb2RlXSA9IHRydWU7CiAgICAgICAgfSk7CiAgICAgICAgdmFyIGNvZGVWZXJ3ZW5k +dW5nID0ge307ICAvLyB7IGNvZGU6IGFuemFobCB9CiAgICAgICAgZXhjZWxQZXJzb25lbi5mb3JF +YWNoKGZ1bmN0aW9uKHhwKSB7CiAgICAgICAgICAgIE9iamVjdC5rZXlzKHhwLmVpbnRyYWVnZSku +Zm9yRWFjaChmdW5jdGlvbihkKSB7CiAgICAgICAgICAgICAgICB2YXIgYyA9IHhwLmVpbnRyYWVn +ZVtkXTsKICAgICAgICAgICAgICAgIGNvZGVWZXJ3ZW5kdW5nW2NdID0gKGNvZGVWZXJ3ZW5kdW5n +W2NdIHx8IDApICsgMTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICAgICAgdmFyIGNv +ZGVNYXRjaGVzID0gT2JqZWN0LmtleXMoY29kZVZlcndlbmR1bmcpLnNvcnQoKS5tYXAoZnVuY3Rp +b24oYykgewogICAgICAgICAgICB2YXIgYW56YWhsID0gY29kZVZlcndlbmR1bmdbY107CiAgICAg +ICAgICAgIGlmIChjIGluIGFsaWFzZSkgewogICAgICAgICAgICAgICAgdmFyIHppZWwgPSBhbGlh +c2VbY107CiAgICAgICAgICAgICAgICBpZiAoemllbCA9PT0gbnVsbCkgcmV0dXJuIHsgY29kZTog +YywgYW56YWhsOiBhbnphaGwsIHN0YXR1czogJ2lnbm9yZScsIHppZWw6IG51bGwsIGhpbndlaXM6 +ICdBbGlhczogd2lyZCB2ZXJ3b3JmZW4nIH07CiAgICAgICAgICAgICAgICByZXR1cm4geyBjb2Rl +OiBjLCBhbnphaGw6IGFuemFobCwgc3RhdHVzOiAnYWxpYXMnLCB6aWVsOiB6aWVsLCBoaW53ZWlz +OiAnQWxpYXM6IOKGkiAnICsgemllbCB9OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChh +a3RpdmVDb2Rlc1tjXSkgcmV0dXJuIHsgY29kZTogYywgYW56YWhsOiBhbnphaGwsIHN0YXR1czog +J29rJywgemllbDogYywgaGlud2VpczogJ0Jla2FubnRlciBha3RpdmVyIENvZGUnIH07CiAgICAg +ICAgICAgIHJldHVybiB7IGNvZGU6IGMsIGFuemFobDogYW56YWhsLCBzdGF0dXM6ICd1bmJla2Fu +bnQnLCB6aWVsOiBudWxsLCBoaW53ZWlzOiAnVW5iZWthbm50IOKAlCBtYW51ZWxsIG1hcHBlbicg +fTsKICAgICAgICB9KTsKCiAgICAgICAgLy8gSmFocmVzLVBsYXVzaWJpbGl0YWV0OiBkYXMgR3Jp +ZCB6ZWlndCBbUGxhbnVuZ3NqYWhyLTAxLTAxIC4uIEZvbGdlLQogICAgICAgIC8vIGphaHItMDEt +MzFdIChKYW51YXIgZGVzIEZvbGdlamFocmVzIGFscyBQdWZmZXIsIHNpZWhlIHRhZ2VFcnpldWdl +bikuCiAgICAgICAgLy8gRGF0dW1zc3BhbHRlbiBhdXNzZXJoYWxiIGRpZXNlcyBGZW5zdGVycyB3 +dWVyZGVuIGltcG9ydGllcnQsIGFiZXIgbmllCiAgICAgICAgLy8gYW5nZXplaWd0IChUb3RlLURh +dGVuKSDigJQgdHlwaXNjaCBiZWltIHZlcnNlaGVudGxpY2hlbiBJbXBvcnQgZWluZXIKICAgICAg +ICAvLyBWb3JqYWhyZXMtIG9kZXIgRm9sZ2VqYWhyZXMtRGF0ZWkuIFdpciB3YXJuZW4gc3RhdHQg +aGFydCB6dSBibG9ja2VuLgogICAgICAgIHZhciBqYWhySW5mbyA9IG51bGw7CiAgICAgICAgaWYg +KGRhdHVtU3BhbHRlbi5sZW5ndGgpIHsKICAgICAgICAgICAgdmFyIHBvcnRhbEphaHIgPSAoWi5h +ZG1pbiAmJiBaLmFkbWluLmphaHIpIHx8IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTsKICAgICAg +ICAgICAgdmFyIGZlbnN0ZXJWb24gPSBwb3J0YWxKYWhyICsgJy0wMS0wMSc7CiAgICAgICAgICAg +IHZhciBmZW5zdGVyQmlzID0gKHBvcnRhbEphaHIgKyAxKSArICctMDEtMzEnOyAgLy8gaW5rbC4g +UHVmZmVyLUphbnVhcgogICAgICAgICAgICB2YXIgamFoclphZWhsZXIgPSB7fTsKICAgICAgICAg +ICAgdmFyIGF1c3NlcmhhbGIgPSAwOwogICAgICAgICAgICBkYXR1bVNwYWx0ZW4uZm9yRWFjaChm +dW5jdGlvbihkKSB7CiAgICAgICAgICAgICAgICB2YXIgaiA9IGQuZGF0dW0uc3Vic3RyKDAsIDQp +OwogICAgICAgICAgICAgICAgamFoclphZWhsZXJbal0gPSAoamFoclphZWhsZXJbal0gfHwgMCkg +KyAxOwogICAgICAgICAgICAgICAgaWYgKGQuZGF0dW0gPCBmZW5zdGVyVm9uIHx8IGQuZGF0dW0g +PiBmZW5zdGVyQmlzKSBhdXNzZXJoYWxiKys7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICB2 +YXIgZG9taW5hbnRKYWhyID0gT2JqZWN0LmtleXMoamFoclphZWhsZXIpLnNvcnQoZnVuY3Rpb24o +YSwgYikgeyByZXR1cm4gamFoclphZWhsZXJbYl0gLSBqYWhyWmFlaGxlclthXTsgfSlbMF07CiAg +ICAgICAgICAgIGphaHJJbmZvID0gewogICAgICAgICAgICAgICAgcG9ydGFsSmFocjogICBwb3J0 +YWxKYWhyLAogICAgICAgICAgICAgICAgZG9taW5hbnRKYWhyOiBwYXJzZUludChkb21pbmFudEph +aHIsIDEwKSwKICAgICAgICAgICAgICAgIGRhdGVpVm9uOiAgICAgZGF0dW1TcGFsdGVuWzBdLmRh +dHVtLAogICAgICAgICAgICAgICAgZGF0ZWlCaXM6ICAgICBkYXR1bVNwYWx0ZW5bZGF0dW1TcGFs +dGVuLmxlbmd0aCAtIDFdLmRhdHVtLAogICAgICAgICAgICAgICAgYXVzc2VyaGFsYjogICBhdXNz +ZXJoYWxiLAogICAgICAgICAgICAgICAgZ2VzYW10OiAgICAgICBkYXR1bVNwYWx0ZW4ubGVuZ3Ro +CiAgICAgICAgICAgIH07CiAgICAgICAgfQoKICAgICAgICBpbXBTdGF0ZSA9IHsKICAgICAgICAg +ICAgZGF0ZWlOYW1lOiBudWxsLAogICAgICAgICAgICBkYXR1bVNwYWx0ZW46IGRhdHVtU3BhbHRl +biwKICAgICAgICAgICAgZXhjZWxQZXJzb25lbjogZXhjZWxQZXJzb25lbiwKICAgICAgICAgICAg +cGVyc29uZW5NYXRjaGVzOiBwZXJzb25lbk1hdGNoZXMsCiAgICAgICAgICAgIGNvZGVNYXRjaGVz +OiBjb2RlTWF0Y2hlcywKICAgICAgICAgICAgamFockluZm86IGphaHJJbmZvLAogICAgICAgICAg +ICBrb21tZW50YXJBbnphaGw6IE9iamVjdC52YWx1ZXMoa29tbWVudGFyZSkucmVkdWNlKGZ1bmN0 +aW9uKHMsIG9iaikgewogICAgICAgICAgICAgICAgcmV0dXJuIHMgKyBPYmplY3QudmFsdWVzKG9i +aikucmVkdWNlKGZ1bmN0aW9uKHMyLCBsaXN0ZSkgeyByZXR1cm4gczIgKyAobGlzdGUgPyBsaXN0 +ZS5sZW5ndGggOiAwKTsgfSwgMCk7CiAgICAgICAgICAgIH0sIDApCiAgICAgICAgfTsKICAgICAg +ICBpbXBTdGF0dXNSZW5kZXJuKCk7CiAgICB9CgogICAgZnVuY3Rpb24gaW1wU3RhdHVzUmVuZGVy +bigpIHsKICAgICAgICB2YXIgcyA9IGltcFN0YXRlOwogICAgICAgIGlmICghcykgcmV0dXJuOwog +ICAgICAgIHZhciBzdGF0dXNFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbXAtc3RhdHVz +Jyk7CiAgICAgICAgLy8gT0sgPSBhdXRvbWF0aXNjaCBvayBPREVSIHZvbSBVc2VyIG1hbnVlbGwg +enVnZW9yZG5ldCAobWl0IHppZWxJZCkKICAgICAgICB2YXIgcE9rICAgID0gcy5wZXJzb25lbk1h +dGNoZXMuZmlsdGVyKGZ1bmN0aW9uKG0pIHsgcmV0dXJuIChtLnN0YXR1cyA9PT0gJ29rJyB8fCBt +LnN0YXR1cyA9PT0gJ21hbnVlbGwnKSAmJiBtLnppZWxJZDsgfSkubGVuZ3RoOwogICAgICAgIC8v +IE5ldSA9IHdpcmQgbWl0IEV4Y2VsLURhdGVuIGZyaXNjaCBhbmdlbGVndCAoRGVmYXVsdCBmdWVy +IHVuYmVrYW5udGUKICAgICAgICAvLyBOYWNobmFtZW4pLiBLZWluIEtvbmZsaWt0IOKAlCBsYWV1 +ZnQgb2huZSBNYXBwaW5nLUVpbmdyaWZmLgogICAgICAgIHZhciBwTmV1ICAgPSBzLnBlcnNvbmVu +TWF0Y2hlcy5maWx0ZXIoZnVuY3Rpb24obSkgeyByZXR1cm4gbS5zdGF0dXMgPT09ICduZXUnICYm +IG0ubmV1QW5sZWdlbjsgfSkubGVuZ3RoOwogICAgICAgIHZhciBwSWduICAgPSBzLnBlcnNvbmVu +TWF0Y2hlcy5maWx0ZXIoZnVuY3Rpb24obSkgeyByZXR1cm4gbS5zdGF0dXMgPT09ICdpZ25vcmll +cnQnOyB9KS5sZW5ndGg7CiAgICAgICAgLy8gT2ZmZW4gPSBudXIgIm1laHJkZXV0aWciIChtZWhy +ZXJlIEJlc3RhbmRzLVRyZWZmZXIgcHJvIE5hY2huYW1lKS4KICAgICAgICAvLyAidW5iZWthbm50 +IiBnaWJ0J3MgbmljaHQgbWVociDigJQgd2lyZCBqZXR6dCBhdXRvbWF0aXNjaCB6dSAibmV1Ii4K +ICAgICAgICB2YXIgcE9mZmVuID0gcy5wZXJzb25lbk1hdGNoZXMuZmlsdGVyKGZ1bmN0aW9uKG0p +IHsgcmV0dXJuIG0uc3RhdHVzID09PSAnbWVocmRldXRpZyc7IH0pLmxlbmd0aDsKICAgICAgICAv +LyBQYXBpZXJrb3JiLVRyZWZmZXIgc2luZCBlaW4gIndlaWNoZXIgS29uZmxpa3QiIOKAlCBEZWZh +dWx0dm9yc2NobGFnIGlzdAogICAgICAgIC8vICJXaWVkZXJoZXJzdGVsbGVuICsgenVvcmRuZW4i +LCBkZXIgSW1wb3J0IGxhZXVmdCBhdWNoIG9obmUgTWFwcGluZy0KICAgICAgICAvLyBFaW5ncmlm +Zi4gV2lyIHphZWhsZW4gc2llIHRyb3R6ZGVtIGV4dHJhLCBkYW1pdCBkZXIgVXNlciBkaWUgU3Rl +bGxlCiAgICAgICAgLy8gYmV3dXNzdCBwcnVlZmVuIGthbm4uCiAgICAgICAgdmFyIHBQSyAgICA9 +IHMucGVyc29uZW5NYXRjaGVzLmZpbHRlcihmdW5jdGlvbihtKSB7IHJldHVybiBtLnN0YXR1cyA9 +PT0gJ3BhcGllcmtvcmInOyB9KS5sZW5ndGg7CiAgICAgICAgLy8gVGlwcGZlaGxlci1WZXJkYWNo +dDogIm5ldSItUGVyc29uZW4sIGRpZSBlaW5lciBiZXN0ZWhlbmRlbiBQZXJzb24KICAgICAgICAv +LyB2ZXJkYWVjaHRpZyBhZWhubGljaCBzaW5kIChFZGl0aWVyZGlzdGFueiA8PSAyKS4gS2VpbiBC +bG9ja2VyLCBhYmVyCiAgICAgICAgLy8gZWluIEhpbndlaXMsIGRhcyBNYXBwaW5nIHp1IHBydWVm +ZW4sIGJldm9yIGVpbiBEdXBsaWthdCBlbnRzdGVodC4KICAgICAgICB2YXIgcEFlaG5saWNoID0g +cy5wZXJzb25lbk1hdGNoZXMuZmlsdGVyKGZ1bmN0aW9uKG0pIHsgcmV0dXJuIG0uc3RhdHVzID09 +PSAnbmV1JyAmJiBtLmFlaG5saWNoICYmIG0uYWVobmxpY2gubGVuZ3RoOyB9KS5sZW5ndGg7CiAg +ICAgICAgdmFyIGNPayAgICA9IHMuY29kZU1hdGNoZXMuZmlsdGVyKGZ1bmN0aW9uKG0pIHsgcmV0 +dXJuIChtLnN0YXR1cyA9PT0gJ29rJyB8fCBtLnN0YXR1cyA9PT0gJ2FsaWFzJyB8fCBtLnN0YXR1 +cyA9PT0gJ21hbnVlbGwnKSAmJiBtLnppZWw7IH0pLmxlbmd0aDsKICAgICAgICB2YXIgY0lnbiAg +ID0gcy5jb2RlTWF0Y2hlcy5maWx0ZXIoZnVuY3Rpb24obSkgeyByZXR1cm4gbS5zdGF0dXMgPT09 +ICdpZ25vcmUnOyB9KS5sZW5ndGg7CiAgICAgICAgdmFyIGNPZmZlbiA9IHMuY29kZU1hdGNoZXMu +ZmlsdGVyKGZ1bmN0aW9uKG0pIHsgcmV0dXJuIG0uc3RhdHVzID09PSAndW5iZWthbm50JzsgfSku +bGVuZ3RoOwoKICAgICAgICAvLyBKYWhyZXMtV2FybnVuZzogRGF0ZWkgcGFzc3QgbmljaHQgenVt +IGFuZ2V6ZWlndGVuIFBsYW51bmdzamFociBvZGVyCiAgICAgICAgLy8gcmFndCBhdXMgZGVtIHNp +Y2h0YmFyZW4gRmVuc3RlciBoZXJhdXMgKFRvdGUtRGF0ZW4tR2VmYWhyKS4KICAgICAgICB2YXIg +amFocldhcm5IdG1sID0gJyc7CiAgICAgICAgaWYgKHMuamFockluZm8gJiYgKHMuamFockluZm8u +YXVzc2VyaGFsYiA+IDAgfHwgcy5qYWhySW5mby5kb21pbmFudEphaHIgIT09IHMuamFockluZm8u +cG9ydGFsSmFocikpIHsKICAgICAgICAgICAgdmFyIGppID0gcy5qYWhySW5mbzsKICAgICAgICAg +ICAgdmFyIGtlcm4gPSBqaS5kb21pbmFudEphaHIgIT09IGppLnBvcnRhbEphaHIKICAgICAgICAg +ICAgICAgID8gJ0RpZXNlIERhdGVpIGlzdCDDvGJlcndpZWdlbmQgZsO8ciA8c3Ryb25nPicgKyBq +aS5kb21pbmFudEphaHIgKyAnPC9zdHJvbmc+LCBkYXMgUG9ydGFsIHplaWd0IGFiZXIgUGxhbnVu +Z3NqYWhyIDxzdHJvbmc+JyArIGppLnBvcnRhbEphaHIgKyAnPC9zdHJvbmc+LicKICAgICAgICAg +ICAgICAgIDogamkuYXVzc2VyaGFsYiArICcgdm9uICcgKyBqaS5nZXNhbXQgKyAnIFRhZ2Vzc3Bh +bHRlbiBsaWVnZW4gPHN0cm9uZz5hdcOfZXJoYWxiPC9zdHJvbmc+IGRlcyBhbmdlemVpZ3RlbiBa +ZWl0cmF1bXMgKCcgKyBqaS5wb3J0YWxKYWhyICsgJy0wMS0wMSBiaXMgJyArIChqaS5wb3J0YWxK +YWhyICsgMSkgKyAnLTAxLTMxKS4nOwogICAgICAgICAgICBqYWhyV2Fybkh0bWwgPSAnPGRpdiBj +bGFzcz0iaW1wLXN0YXR1cy1rYXJ0ZSIgc3R5bGU9ImJvcmRlci1jb2xvcjp2YXIoLS1mYXJiZS13 +YXJudW5nKTtiYWNrZ3JvdW5kOnZhcigtLWJnLWNhcmQtYWx0KSI+JyArCiAgICAgICAgICAgICAg +ICAn4pqgIDxzdHJvbmc+SmFocmVzLUhpbndlaXM6PC9zdHJvbmc+ICcgKyBrZXJuICsKICAgICAg +ICAgICAgICAgICcgRGF0ZWktWmVpdHJhdW06ICcgKyBlc2NhcGVIVE1MKGppLmRhdGVpVm9uKSAr +ICcgYmlzICcgKyBlc2NhcGVIVE1MKGppLmRhdGVpQmlzKSArICcuJyArCiAgICAgICAgICAgICAg +ICAnIEF1w59lcmhhbGIgbGllZ2VuZGUgVGFnZSB3ZXJkZW4gZ2VzY2hyaWViZW4sIGFiZXIgaW0g +UGxhbiBuaWNodCBhbmdlemVpZ3QuIEJpdHRlIHByw7xmZW4sIG9iIGRpZSByaWNodGlnZSBEYXRl +aSB1bmQgZGFzIHJpY2h0aWdlIFBsYW51bmdzamFociBnZXfDpGhsdCBzaW5kLicgKwogICAgICAg +ICAgICAnPC9kaXY+JzsKICAgICAgICB9CgogICAgICAgIHZhciBodG1sID0gamFocldhcm5IdG1s +ICsgJzxkaXYgY2xhc3M9ImltcC1zdGF0dXMta2FydGUiPicgKwogICAgICAgICAgICAnPGgzIHN0 +eWxlPSJtYXJnaW46MCAwIDhweCAwIj5BbmFseXNlLUVyZ2VibmlzPC9oMz4nICsKICAgICAgICAg +ICAgJzxkaXYgY2xhc3M9ImltcC1rcGktemVpbGUiPicgKwogICAgICAgICAgICAgICAgJzxkaXYg +Y2xhc3M9ImltcC1rcGkiPjxkaXYgY2xhc3M9ImltcC1rcGktemFobCI+JyArIHMuZGF0dW1TcGFs +dGVuLmxlbmd0aCArICc8L2Rpdj48ZGl2IGNsYXNzPSJpbXAta3BpLWxhYmVsIj5UYWdlc3NwYWx0 +ZW48L2Rpdj48L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJpbXAta3BpIj48 +ZGl2IGNsYXNzPSJpbXAta3BpLXphaGwiPicgKyBzLmV4Y2VsUGVyc29uZW4ubGVuZ3RoICsgJzwv +ZGl2PjxkaXYgY2xhc3M9ImltcC1rcGktbGFiZWwiPlBlcnNvbmVuIGluIEV4Y2VsPC9kaXY+PC9k +aXY+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iaW1wLWtwaSI+PGRpdiBjbGFzcz0i +aW1wLWtwaS16YWhsIj4nICsgcy5rb21tZW50YXJBbnphaGwgKyAnPC9kaXY+PGRpdiBjbGFzcz0i +aW1wLWtwaS1sYWJlbCI+S29tbWVudGFyZTwvZGl2PjwvZGl2PicgKwogICAgICAgICAgICAnPC9k +aXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJpbXAta3BpLXplaWxlIj4nICsKICAgICAg +ICAgICAgICAgICc8ZGl2IGNsYXNzPSJpbXAta3BpIGltcC1rcGktb2siPjxkaXYgY2xhc3M9Imlt +cC1rcGktemFobCI+JyArIHBPayArICc8L2Rpdj48ZGl2IGNsYXNzPSJpbXAta3BpLWxhYmVsIj5Q +ZXJzb25lbiB6dWdlb3JkbmV0PC9kaXY+PC9kaXY+JyArCiAgICAgICAgICAgICAgICAocE5ldSAg +ID8gJzxkaXYgY2xhc3M9ImltcC1rcGkgaW1wLWtwaS1uZXUiIHRpdGxlPSJOaWNodCBpbSBCZXN0 +YW5kIOKAlCB3ZXJkZW4gbWl0IGRlbiBFeGNlbC1EYXRlbiBuZXUgYW5nZWxlZ3QgdW5kIGVyc2No +ZWluZW4gYW5zY2hsaWVzc2VuZCBpbSBOZXVpbXBvcnQtQmxvY2sgZGVyIFBlcnNvbmFsdmVyd2Fs +dHVuZyB6dXIgTmFjaHBmbGVnZS4iPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn +PGRpdiBjbGFzcz0iaW1wLWtwaS16YWhsIj4nICsgcE5ldSArICc8L2Rpdj48ZGl2IGNsYXNzPSJp +bXAta3BpLWxhYmVsIj5QZXJzb25lbiBuZXUgYW5sZWdlbjwvZGl2PjwvZGl2PicgOiAnJykgKwog +ICAgICAgICAgICAgICAgKHBQSyAgICA/ICc8ZGl2IGNsYXNzPSJpbXAta3BpIGltcC1rcGktd2Fy +biIgdGl0bGU9IkVpbmRldXRpZ2VyIFRyZWZmZXIsIGFiZXIgaW0gUGFwaWVya29yYi4gV2lyZCBw +ZXIgRGVmYXVsdCB3aWVkZXJoZXJnZXN0ZWxsdCDigJQgaW0gTWFwcGluZyBwcnVlZmJhci4iPicg +KwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iaW1wLWtwaS16YWhs +Ij4nICsgcFBLICsgJzwvZGl2PjxkaXYgY2xhc3M9ImltcC1rcGktbGFiZWwiPlBhcGllcmtvcmIt +VHJlZmZlcjwvZGl2PjwvZGl2PicgOiAnJykgKwogICAgICAgICAgICAgICAgKHBJZ24gICA/ICc8 +ZGl2IGNsYXNzPSJpbXAta3BpIj48ZGl2IGNsYXNzPSJpbXAta3BpLXphaGwiPicgKyBwSWduICsg +JzwvZGl2PjxkaXYgY2xhc3M9ImltcC1rcGktbGFiZWwiPlBlcnNvbmVuIGlnbm9yaWVydDwvZGl2 +PjwvZGl2PicgOiAnJykgKwogICAgICAgICAgICAgICAgKHBBZWhubGljaCA/ICc8ZGl2IGNsYXNz +PSJpbXAta3BpIGltcC1rcGktd2FybiIgdGl0bGU9IkRpZXNlIG5ldSBhbnp1bGVnZW5kZW4gUGVy +c29uZW4gw6RobmVsbiBzdGFyayBlaW5lciBiZXN0ZWhlbmRlbiBQZXJzb24g4oCUIHZlcm11dGxp +Y2ggVGlwcGZlaGxlci4gSW0gTWFwcGluZyBwcsO8ZmVuLCBzb25zdCBlbnRzdGVoZW4gRHVwbGlr +YXRlLiI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJpbXAt +a3BpLXphaGwiPicgKyBwQWVobmxpY2ggKyAnPC9kaXY+PGRpdiBjbGFzcz0iaW1wLWtwaS1sYWJl +bCI+VGlwcGZlaGxlci1WZXJkYWNodDwvZGl2PjwvZGl2PicgOiAnJykgKwogICAgICAgICAgICAg +ICAgKHBPZmZlbiA/ICc8ZGl2IGNsYXNzPSJpbXAta3BpIGltcC1rcGktZmVobGVyIj48ZGl2IGNs +YXNzPSJpbXAta3BpLXphaGwiPicgKyBwT2ZmZW4gKyAnPC9kaXY+PGRpdiBjbGFzcz0iaW1wLWtw +aS1sYWJlbCI+UGVyc29uZW4gb2ZmZW48L2Rpdj48L2Rpdj4nIDogJycpICsKICAgICAgICAgICAg +JzwvZGl2PicgKwogICAgICAgICAgICAnPGRpdiBjbGFzcz0iaW1wLWtwaS16ZWlsZSI+JyArCiAg +ICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iaW1wLWtwaSBpbXAta3BpLW9rIj48ZGl2IGNsYXNz +PSJpbXAta3BpLXphaGwiPicgKyBjT2sgKyAnPC9kaXY+PGRpdiBjbGFzcz0iaW1wLWtwaS1sYWJl +bCI+Q29kZXMgZ2VtYXBwdDwvZGl2PjwvZGl2PicgKwogICAgICAgICAgICAgICAgKGNJZ24gICA/ +ICc8ZGl2IGNsYXNzPSJpbXAta3BpIj48ZGl2IGNsYXNzPSJpbXAta3BpLXphaGwiPicgKyBjSWdu +ICsgJzwvZGl2PjxkaXYgY2xhc3M9ImltcC1rcGktbGFiZWwiPkNvZGVzIGlnbm9yaWVydDwvZGl2 +PjwvZGl2PicgOiAnJykgKwogICAgICAgICAgICAgICAgKGNPZmZlbiA/ICc8ZGl2IGNsYXNzPSJp +bXAta3BpIGltcC1rcGktd2FybiI+PGRpdiBjbGFzcz0iaW1wLWtwaS16YWhsIj4nICsgY09mZmVu +ICsgJzwvZGl2PjxkaXYgY2xhc3M9ImltcC1rcGktbGFiZWwiPkNvZGVzIG9mZmVuPC9kaXY+PC9k +aXY+JyA6ICcnKSArCiAgICAgICAgICAgICc8L2Rpdj4nICsKICAgICAgICAgICAgJzxkaXYgc3R5 +bGU9Im1hcmdpbi10b3A6MTRweDtkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7YWxpZ24taXRlbXM6Y2Vu +dGVyIj4nICsKICAgICAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXNlayIgaWQ9 +ImltcC1tYXBwaW5nLW9lZmZuZW4iPk1hcHBpbmcgw7ZmZm5lbicgKwogICAgICAgICAgICAgICAg +ICAgIChwT2ZmZW4gKyBjT2ZmZW4gPiAwID8gJyAoJyArIChwT2ZmZW4gKyBjT2ZmZW4pICsgJyBv +ZmZlbiknIDogKHBQSyA/ICcgKCcgKyBwUEsgKyAnIFBhcGllcmtvcmItVHJlZmZlciBwcsO8ZmVu +KScgOiAnJykpICsKICAgICAgICAgICAgICAgICc8L2J1dHRvbj4nICsKICAgICAgICAgICAgICAg +IGhpbGZlSWNvbignTWFwcGluZzogSGllciBvcmRuZXN0IGR1IGplZGUgRXhjZWwtUGVyc29uIGVp +bmVyIFBsYW4tUGVyc29uIHp1IChvZnQgcGVyIE5hY2huYW1lIGF1dG9tYXRpc2NoIGVya2FubnQp +IHVuZCBlbnRzY2hlaWRlc3QgZnVlciB1bmJla2FubnRlIEV4Y2VsLVNjaGljaHRjb2Rlcywgb2Ig +c2llIGVpbmVtIGJlc3RlaGVuZGVuIENvZGUgenVnZW9yZG5ldCwgbmV1IGFuZ2VsZWd0IG9kZXIg +aWdub3JpZXJ0IHdlcmRlbi4gRXJzdCB3ZW5uIGFsbGUgS29uZmxpa3RlIGF1ZmdlbG9lc3Qgc2lu +ZCwgd2lyZCBkZXIgSW1wb3J0LUJ1dHRvbiBmcmVpZ2VnZWJlbi4nKSArCiAgICAgICAgICAgICAg +ICAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWsiIGlkPSJpbXAtdHJvY2tlbmxhdWYiJyArICgo +cE9mZmVuICsgY09mZmVuKSA+IDAgPyAnIGRpc2FibGVkIHRpdGxlPSJFcnN0IG9mZmVuZSBLb25m +bGlrdGUgaW0gTWFwcGluZy1EaWFsb2cgYXVmbMO2c2VuIicgOiAnJykgKyAnPlZvcnNjaGF1IC8g +VHJvY2tlbmxhdWY8L2J1dHRvbj4nICsKICAgICAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJi +dG4gYnRuLXByaW1hZXIiIGlkPSJpbXAtc3RhcnRlbiInICsgKChwT2ZmZW4gKyBjT2ZmZW4pID4g +MCA/ICcgZGlzYWJsZWQgdGl0bGU9IkVyc3Qgb2ZmZW5lIEtvbmZsaWt0ZSBpbSBNYXBwaW5nLURp +YWxvZyBhdWZsw7ZzZW4iJyA6ICcnKSArICc+SW1wb3J0IHN0YXJ0ZW48L2J1dHRvbj4nICsKICAg +ICAgICAgICAgJzwvZGl2PicgKwogICAgICAgICc8L2Rpdj4nOwoKICAgICAgICBzdGF0dXNFbC5p +bm5lckhUTUwgPSBodG1sOwogICAgICAgIHZhciBtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo +J2ltcC1tYXBwaW5nLW9lZmZuZW4nKTsKICAgICAgICBpZiAobSkgbS5hZGRFdmVudExpc3RlbmVy +KCdjbGljaycsIGltcE1hcHBpbmdNb2RhbCk7CiAgICAgICAgdmFyIHRsID0gZG9jdW1lbnQuZ2V0 +RWxlbWVudEJ5SWQoJ2ltcC10cm9ja2VubGF1ZicpOwogICAgICAgIGlmICh0bCkgdGwuYWRkRXZl +bnRMaXN0ZW5lcignY2xpY2snLCBpbXBUcm9ja2VubGF1Zk1vZGFsKTsKICAgICAgICB2YXIgaWIg +PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1wLXN0YXJ0ZW4nKTsKICAgICAgICBpZiAoaWIp +IGliLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgaW1wU2NocmVpYmVuU3RhcnRlbik7CiAgICB9 +CgogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09CiAgICAvLyBUcm9ja2VubGF1ZiAvIFZvcnNjaGF1CiAgICAvLyA9PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAg +IC8vIEJlcmVjaG5ldCBkaWUgRGlmZi1MaXN0ZSwgZGllIGVpbiBlY2h0ZXIgSW1wb3J0IGVyemV1 +Z2VuIHd1ZXJkZSwKICAgIC8vIE9ITkUgaW4gWi5wbGFudW5nIHp1IHNjaHJlaWJlbiBvZGVyIEFQ +SS1DYWxscyB6dSBtYWNoZW4uIExvZ2lrCiAgICAvLyBnZXNwaWVnZWx0IGF1cyBpbXBTY2hyZWli +ZW5QaGFzZTJUcmFuc2Zvcm0g4oCUIHdlbm4gZGllIGJlaWRlbgogICAgLy8gamVtYWxzIGF1c2Vp +bmFuZGVyZHJpZnRlbiwgd2FuZGVybiBGZWhsZXIgdW5lbnRkZWNrdCBpbiBkZW4gSW1wb3J0Lgog +ICAgLy8gUHJvIFplbGwtUG9zaXRpb24gKGRhdHVtLCBwZXJzb25JZCkgd2lyZCBlaW4gRWludHJh +ZyBtaXQgYWx0L25ldS8KICAgIC8vIGFydCBlcnpldWd0OyBkYXJhdXMgYmF1dCBkYXMgTW9kYWwg +ZWluZSBmaWx0ZXItIHVuZCBzb3J0aWVyYmFyZQogICAgLy8gVGFiZWxsZS4gRGllbnQgYWxzIERp +YWdub3NlLCB3ZW5uIGRlciBVc2VyIGJlaGF1cHRldCAiRGF0ZW4gbGFuZGVuCiAgICAvLyBhbSBm +YWxzY2hlbiBUYWcgLyBiZWkgZGVyIGZhbHNjaGVuIFBlcnNvbiIuCiAgICBmdW5jdGlvbiBpbXBU +cm9ja2VubGF1ZkJlcmVjaG5lbihzKSB7CiAgICAgICAgdmFyIGJlc3RhbmQgPSBaLnBsYW51bmcg +fHwge307CiAgICAgICAgdmFyIGJlc3RhbmRFaW50cmFlZ2UgPSBiZXN0YW5kLmVpbnRyYWVnZSB8 +fCB7fTsKICAgICAgICB2YXIgcGVyc29uZW5BdXNaID0gYmVzdGFuZC5wZXJzb25lbiB8fCBbXTsK +ICAgICAgICB2YXIgcGlkWnVOYW1lID0ge307CiAgICAgICAgcGVyc29uZW5BdXNaLmZvckVhY2go +ZnVuY3Rpb24ocCkgewogICAgICAgICAgICBwaWRadU5hbWVbU3RyaW5nKHAuaWQpXSA9ICgocC52 +b3JuYW1lIHx8ICcnKSArICcgJyArIChwLm5hbWUgfHwgJycpKS50cmltKCk7CiAgICAgICAgfSk7 +CgogICAgICAgIHZhciBleGNlbERhdHVtU2V0ID0ge307CiAgICAgICAgcy5kYXR1bVNwYWx0ZW4u +Zm9yRWFjaChmdW5jdGlvbihkKSB7IGV4Y2VsRGF0dW1TZXRbZC5kYXR1bV0gPSB0cnVlOyB9KTsK +CiAgICAgICAgdmFyIGNvZGVNYXAgPSB7fTsKICAgICAgICBzLmNvZGVNYXRjaGVzLmZvckVhY2go +ZnVuY3Rpb24obSkgeyBjb2RlTWFwW20uY29kZV0gPSBtLnppZWw7IH0pOwoKICAgICAgICAvLyBQ +SUQgLT4gRXhjZWwtTmFtZS4gUGFyaXRhZXQgenVtIGVjaHRlbiBTY2hyZWlidm9yZ2FuZyAoTTEt +U2NodXR6KToKICAgICAgICAvLyBudXIgUGVyc29uZW4gbWl0IG1pbmRlc3RlbnMgZWluZW0gRXhj +ZWwtRWludHJhZyBnZWx0ZW4gYWxzICJFeGNlbC0KICAgICAgICAvLyBQZXJzb24iIOKAlCBlaW5l +IGtvbXBsZXR0IGxlZXJlIEV4Y2VsLVplaWxlIGxlZXJ0IGRlbiBCZXN0YW5kIG5pY2h0LgogICAg +ICAgIHZhciBleGNlbFBpZHMgPSB7fTsKICAgICAgICBzLnBlcnNvbmVuTWF0Y2hlcy5mb3JFYWNo +KGZ1bmN0aW9uKG0pIHsKICAgICAgICAgICAgaWYgKG0uemllbElkICYmIE9iamVjdC5rZXlzKG0u +ZXhjZWwuZWludHJhZWdlIHx8IHt9KS5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgICBleGNl +bFBpZHNbU3RyaW5nKG0uemllbElkKV0gPSBtLmV4Y2VsLm5hY2huYW1lOwogICAgICAgICAgICB9 +CiAgICAgICAgfSk7CgogICAgICAgIC8vIFBoYXNlIEE6IEV4Y2VsLVBlcnNvbmVuLUVpbnRyYWVn +ZSBzaW11bGllcmVuIChkYXR1bSAtPiBwaWQgLT4gbmV1ZXJDb2RlKQogICAgICAgIHZhciBzaW1O +ZXUgPSB7fTsgIC8vIHsgZGF0dW06IHsgcGlkOiBjb2RlIH0gfQogICAgICAgIHZhciBzdGF0c0Nv +ZGVJZ25vcmUgPSAwOwogICAgICAgIHMucGVyc29uZW5NYXRjaGVzLmZvckVhY2goZnVuY3Rpb24o +bSkgewogICAgICAgICAgICBpZiAoIW0uemllbElkKSByZXR1cm47CiAgICAgICAgICAgIHZhciBw +aWQgPSBTdHJpbmcobS56aWVsSWQpOwogICAgICAgICAgICBPYmplY3Qua2V5cyhtLmV4Y2VsLmVp +bnRyYWVnZSkuZm9yRWFjaChmdW5jdGlvbihkYXR1bSkgewogICAgICAgICAgICAgICAgdmFyIHNy +YyA9IG0uZXhjZWwuZWludHJhZWdlW2RhdHVtXTsKICAgICAgICAgICAgICAgIHZhciB6aWVsID0g +Y29kZU1hcFtzcmNdOwogICAgICAgICAgICAgICAgaWYgKCF6aWVsKSB7IHN0YXRzQ29kZUlnbm9y +ZSsrOyByZXR1cm47IH0KICAgICAgICAgICAgICAgIGlmICghc2ltTmV1W2RhdHVtXSkgc2ltTmV1 +W2RhdHVtXSA9IHt9OwogICAgICAgICAgICAgICAgc2ltTmV1W2RhdHVtXVtwaWRdID0gemllbDsK +ICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CgogICAgICAgIC8vIFBoYXNlIEI6IFBybyBaZWxs +ZSBpbSBFeGNlbC1aZWl0cmF1bSBkZW4gVmVyZ2xlaWNoIHp1c2FtbWVuc3RlbGxlbi4KICAgICAg +ICAvLyBXaXIgZ2VoZW4gdWViZXIgQUxMRSAoZGF0dW0sIHBpZCkgaW0gQmVzdGFuZCBVTkQgaW4g +RXhjZWwgaW5uZXJoYWxiCiAgICAgICAgLy8gZGVzIFplaXRyYXVtcywgZGFtaXQgYXVjaCAidmVy +c2Nod2luZGVuZGUiIEVpbnRyYWVnZSAoVGFnIHZvcmhlcgogICAgICAgIC8vIGJlbGVndCwgRXhj +ZWwgbGFlc3N0IGxlZXIpIHNpY2h0YmFyIHdlcmRlbi4KICAgICAgICB2YXIgZGlmZiA9IFtdOwog +ICAgICAgIC8vIFNldCBhbGxlciByZWxldmFudGVuIChkYXR1bSwgcGlkKS1Lb21iaW5hdGlvbmVu +CiAgICAgICAgdmFyIHNjaGx1ZXNzZWwgPSB7fTsKICAgICAgICBPYmplY3Qua2V5cyhzaW1OZXUp +LmZvckVhY2goZnVuY3Rpb24oZCkgewogICAgICAgICAgICBPYmplY3Qua2V5cyhzaW1OZXVbZF0p +LmZvckVhY2goZnVuY3Rpb24ocGlkKSB7CiAgICAgICAgICAgICAgICBzY2hsdWVzc2VsW2QgKyAn +fCcgKyBwaWRdID0gdHJ1ZTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICAgICAgT2Jq +ZWN0LmtleXMoYmVzdGFuZEVpbnRyYWVnZSkuZm9yRWFjaChmdW5jdGlvbihkKSB7CiAgICAgICAg +ICAgIGlmICghZXhjZWxEYXR1bVNldFtkXSkgcmV0dXJuOwogICAgICAgICAgICBPYmplY3Qua2V5 +cyhiZXN0YW5kRWludHJhZWdlW2RdIHx8IHt9KS5mb3JFYWNoKGZ1bmN0aW9uKHBpZCkgewogICAg +ICAgICAgICAgICAgc2NobHVlc3NlbFtkICsgJ3wnICsgcGlkXSA9IHRydWU7CiAgICAgICAgICAg +IH0pOwogICAgICAgIH0pOwoKICAgICAgICBPYmplY3Qua2V5cyhzY2hsdWVzc2VsKS5mb3JFYWNo +KGZ1bmN0aW9uKGspIHsKICAgICAgICAgICAgdmFyIHRlaWxlID0gay5zcGxpdCgnfCcpOwogICAg +ICAgICAgICB2YXIgZGF0dW0gPSB0ZWlsZVswXTsKICAgICAgICAgICAgdmFyIHBpZCA9IHRlaWxl +WzFdOwogICAgICAgICAgICB2YXIgYWx0ID0gKGJlc3RhbmRFaW50cmFlZ2VbZGF0dW1dICYmIGJl +c3RhbmRFaW50cmFlZ2VbZGF0dW1dW3BpZF0pIHx8ICcnOwogICAgICAgICAgICB2YXIgbmV1UmF3 +ID0gKHNpbU5ldVtkYXR1bV0gJiYgc2ltTmV1W2RhdHVtXVtwaWRdKSB8fCAnJzsKICAgICAgICAg +ICAgLy8gU2NobHVlcm1hbm4tU2NodXR6OiB3ZW5uIGRpZSBQZXJzb24gTklDSFQgaW4gZGVyIEV4 +Y2VsIGlzdCwgYmxlaWJ0CiAgICAgICAgICAgIC8vIGlociBiZXN0ZWhlbmRlciBFaW50cmFnIGVy +aGFsdGVuLiBBdXMgRGlmZi1TaWNodCBlbnRzcHJpY2h0IGRhcwogICAgICAgICAgICAvLyAibmV1 +ID0gYWx0IiDigJQga2VpbiBBZW5kZXJ1bmdzLUl0ZW0sIHdhbmRlcnQgbmFjaCAnZ2xlaWNoJy4K +ICAgICAgICAgICAgdmFyIG5ldSA9IGV4Y2VsUGlkc1twaWRdID8gbmV1UmF3IDogYWx0OwoKICAg +ICAgICAgICAgdmFyIGFydCA9IG51bGw7CiAgICAgICAgICAgIGlmIChhbHQgPT09IG5ldSkgewog +ICAgICAgICAgICAgICAgYXJ0ID0gJ2dsZWljaCc7ICAgLy8gS2VpbiBVcGRhdGUg4oCUIHdpcmQg +bmljaHQgYW5nZXplaWd0IChEZWZhdWx0LUZpbHRlcikKICAgICAgICAgICAgfSBlbHNlIGlmICgh +YWx0ICYmIG5ldSkgewogICAgICAgICAgICAgICAgYXJ0ID0gJ25ldSc7ICAgICAgLy8gTmV1IGVp +bmdldHJhZ2VuCiAgICAgICAgICAgIH0gZWxzZSBpZiAoYWx0ICYmICFuZXUpIHsKICAgICAgICAg +ICAgICAgIC8vIFZlcnNjaHdpbmRldDogRXhjZWwtWmVsbGUgbGVlciBvZGVyIENvZGUgd2VnZW4g +QWxpYXMgdmVyd29yZmVuLgogICAgICAgICAgICAgICAgLy8gKEJlc3RhbmQtb25seS1QZXJzb25l +biBsYW5kZW4gb2JlbiBpbiAnZ2xlaWNoJyBkYW5rIGRlcyBTY2h1dHplcy4pCiAgICAgICAgICAg +ICAgICBhcnQgPSAndmVybG9yZW4tbGVlcic7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg +ICAgICAgICBhcnQgPSAnZ2VhZW5kZXJ0JzsgIC8vIGFsdCAhPSBuZXUsIGJlaWRlIGdlZnVlbGx0 +CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZGlmZi5wdXNoKHsKICAgICAgICAgICAgICAgIGRh +dHVtOiBkYXR1bSwgcGlkOiBwaWQsCiAgICAgICAgICAgICAgICBuYW1lOiBwaWRadU5hbWVbcGlk +XSB8fCAoJ1BJRCAnICsgcGlkKSwKICAgICAgICAgICAgICAgIGlzdEV4Y2VsUGVyc29uOiAhIWV4 +Y2VsUGlkc1twaWRdLAogICAgICAgICAgICAgICAgZXhjZWxOYW1lOiBleGNlbFBpZHNbcGlkXSB8 +fCBudWxsLAogICAgICAgICAgICAgICAgYWx0OiBhbHQsIG5ldTogbmV1LCBhcnQ6IGFydAogICAg +ICAgICAgICB9KTsKICAgICAgICB9KTsKCiAgICAgICAgLy8gU29ydGllcnVuZzogenVlcnN0IG5h +Y2ggRGF0dW0gKGNocm9ub2xvZ2lzY2gpLCBkYW5uIG5hY2ggTmFtZQogICAgICAgIGRpZmYuc29y +dChmdW5jdGlvbihhLCBiKSB7CiAgICAgICAgICAgIGlmIChhLmRhdHVtICE9PSBiLmRhdHVtKSBy +ZXR1cm4gYS5kYXR1bSA8IGIuZGF0dW0gPyAtMSA6IDE7CiAgICAgICAgICAgIHJldHVybiBhLm5h +bWUubG9jYWxlQ29tcGFyZShiLm5hbWUsICdkZScpOwogICAgICAgIH0pOwoKICAgICAgICByZXR1 +cm4gewogICAgICAgICAgICBkaWZmOiBkaWZmLAogICAgICAgICAgICBzdGF0czogewogICAgICAg +ICAgICAgICAgZ2VzYW10OiAgICAgICAgICAgZGlmZi5sZW5ndGgsCiAgICAgICAgICAgICAgICBu +ZXU6ICAgICAgICAgICAgICBkaWZmLmZpbHRlcihmdW5jdGlvbihkKSB7IHJldHVybiBkLmFydCA9 +PT0gJ25ldSc7IH0pLmxlbmd0aCwKICAgICAgICAgICAgICAgIGdlYWVuZGVydDogICAgICAgIGRp +ZmYuZmlsdGVyKGZ1bmN0aW9uKGQpIHsgcmV0dXJuIGQuYXJ0ID09PSAnZ2VhZW5kZXJ0JzsgfSku +bGVuZ3RoLAogICAgICAgICAgICAgICAgZ2xlaWNoOiAgICAgICAgICAgZGlmZi5maWx0ZXIoZnVu +Y3Rpb24oZCkgeyByZXR1cm4gZC5hcnQgPT09ICdnbGVpY2gnOyB9KS5sZW5ndGgsCiAgICAgICAg +ICAgICAgICB2ZXJsb3JlbkxlZXI6ICAgICBkaWZmLmZpbHRlcihmdW5jdGlvbihkKSB7IHJldHVy +biBkLmFydCA9PT0gJ3ZlcmxvcmVuLWxlZXInOyB9KS5sZW5ndGgsCiAgICAgICAgICAgICAgICBj +b2RlSWdub3JlOiAgICAgICBzdGF0c0NvZGVJZ25vcmUKICAgICAgICAgICAgfQogICAgICAgIH07 +CiAgICB9CgogICAgZnVuY3Rpb24gaW1wVHJvY2tlbmxhdWZNb2RhbCgpIHsKICAgICAgICBpZiAo +IWltcFN0YXRlKSByZXR1cm47CiAgICAgICAgdmFyIHJlcyA9IGltcFRyb2NrZW5sYXVmQmVyZWNo +bmVuKGltcFN0YXRlKTsKICAgICAgICAvLyBEZWZhdWx0LUZpbHRlcjogbnVyIEFlbmRlcnVuZ2Vu +LCAnZ2xlaWNoJyAoPSB1bnZlcmFlbmRlcnQpIGF1c2dlYmxlbmRldC4KICAgICAgICB2YXIgYWt0 +aXZBcnRlbiA9IHsgJ25ldSc6IHRydWUsICdnZWFlbmRlcnQnOiB0cnVlLCAndmVybG9yZW4tbGVl +cic6IHRydWUsICdnbGVpY2gnOiBmYWxzZSB9OwogICAgICAgIHZhciBzdWNoZSA9ICcnOwoKICAg +ICAgICBmdW5jdGlvbiByZW5kZXJuKCkgewogICAgICAgICAgICB2YXIgZ2VmaWx0ZXJ0ID0gcmVz +LmRpZmYuZmlsdGVyKGZ1bmN0aW9uKGQpIHsKICAgICAgICAgICAgICAgIGlmICghYWt0aXZBcnRl +bltkLmFydF0pIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIGlmIChzdWNoZSkgewogICAg +ICAgICAgICAgICAgICAgIHZhciBzID0gc3VjaGUudG9Mb3dlckNhc2UoKTsKICAgICAgICAgICAg +ICAgICAgICBpZiAoKGQubmFtZXx8JycpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzKSA8IDAgJiYK +ICAgICAgICAgICAgICAgICAgICAgICAgKGQuZGF0dW18fCcnKS5pbmRleE9mKHMpIDwgMCAmJgog +ICAgICAgICAgICAgICAgICAgICAgICAoZC5hbHR8fCcnKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yo +cykgPCAwICYmCiAgICAgICAgICAgICAgICAgICAgICAgIChkLm5ldXx8JycpLnRvTG93ZXJDYXNl +KCkuaW5kZXhPZihzKSA8IDApIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAg +ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgdmFyIHJv +d3MgPSBnZWZpbHRlcnQuc2xpY2UoMCwgNTAwKS5tYXAoZnVuY3Rpb24oZCkgewogICAgICAgICAg +ICAgICAgdmFyIGFydExhYmVsID0gewogICAgICAgICAgICAgICAgICAgICduZXUnOiAgICAgICAg +ICAgICc8c3BhbiBzdHlsZT0iY29sb3I6IzFmN2ExZiI+bmV1PC9zcGFuPicsCiAgICAgICAgICAg +ICAgICAgICAgJ2dlYWVuZGVydCc6ICAgICAgJzxzcGFuIHN0eWxlPSJjb2xvcjojYjA2MDAwIj5n +ZcOkbmRlcnQ8L3NwYW4+JywKICAgICAgICAgICAgICAgICAgICAnZ2xlaWNoJzogICAgICAgICAn +PHNwYW4gc3R5bGU9ImNvbG9yOiM4ODgiPmdsZWljaDwvc3Bhbj4nLAogICAgICAgICAgICAgICAg +ICAgICd2ZXJsb3Jlbi1sZWVyJzogICc8c3BhbiBzdHlsZT0iY29sb3I6I2IwMjAyMCIgdGl0bGU9 +IkV4Y2VsLVplbGxlIGxlZXIgb2RlciBDb2RlIOKAni4iIOKAlCBFaW50cmFnIHdpcmQgZW50ZmVy +bnQiPmxlZXIgaW4gRXhjZWw8L3NwYW4+JwogICAgICAgICAgICAgICAgfVtkLmFydF0gfHwgZC5h +cnQ7CiAgICAgICAgICAgICAgICByZXR1cm4gJzx0cj4nICsKICAgICAgICAgICAgICAgICAgICAn +PHRkPicgKyBlc2NhcGVIVE1MKGQuZGF0dW0pICsgJzwvdGQ+JyArCiAgICAgICAgICAgICAgICAg +ICAgJzx0ZD4nICsgZXNjYXBlSFRNTChkLm5hbWUpICsgKGQuaXN0RXhjZWxQZXJzb24gPyAnJyA6 +ICcgPHNwYW4gc3R5bGU9ImNvbG9yOiNiMDYwMDA7Zm9udC1zaXplOjEwcHgiIHRpdGxlPSJOaWNo +dCBpbiBkZXIgRXhjZWwiPuKaoDwvc3Bhbj4nKSArICc8L3RkPicgKwogICAgICAgICAgICAgICAg +ICAgICc8dGQgc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTtjb2xvcjojNjY2Ij4nICsgZXNj +YXBlSFRNTChkLmFsdCB8fCAn4oCUJykgKyAnPC90ZD4nICsKICAgICAgICAgICAgICAgICAgICAn +PHRkIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPicgKyBlc2NhcGVIVE1MKGQubmV1IHx8 +ICfigJQnKSArICc8L3RkPicgKwogICAgICAgICAgICAgICAgICAgICc8dGQ+JyArIGFydExhYmVs +ICsgJzwvdGQ+JyArCiAgICAgICAgICAgICAgICAnPC90cj4nOwogICAgICAgICAgICB9KS5qb2lu +KCcnKTsKICAgICAgICAgICAgdmFyIGhpbndlaXNHZWt1ZXJ6dCA9IGdlZmlsdGVydC5sZW5ndGgg +PiA1MDAKICAgICAgICAgICAgICAgID8gJzxkaXYgc3R5bGU9InBhZGRpbmc6NnB4IDhweDtjb2xv +cjojYjA2MDAwO2ZvbnQtc2l6ZToxMXB4Ij7igKYgJyArIChnZWZpbHRlcnQubGVuZ3RoIC0gNTAw +KSArICcgd2VpdGVyZSBaZWlsZW4gYXVzZ2VibGVuZGV0IChGaWx0ZXIgZWluZ3JlbnplbikuPC9k +aXY+JwogICAgICAgICAgICAgICAgOiAnJzsKICAgICAgICAgICAgdmFyIHRib2R5ID0gZG9jdW1l +bnQuZ2V0RWxlbWVudEJ5SWQoJ2ltcC10bC10Ym9keScpOwogICAgICAgICAgICB2YXIgbWV0YSA9 +IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbXAtdGwtbWV0YScpOwogICAgICAgICAgICBpZiAo +dGJvZHkpIHRib2R5LmlubmVySFRNTCA9IHJvd3M7CiAgICAgICAgICAgIGlmIChtZXRhKSBtZXRh +LmlubmVySFRNTCA9ICdaZWlnZSAnICsgTWF0aC5taW4oZ2VmaWx0ZXJ0Lmxlbmd0aCwgNTAwKSAr +ICcgdm9uICcgKyBnZWZpbHRlcnQubGVuZ3RoICsgJyBnZWZpbHRlcnRlbiBaZWlsZW4gKGdlc2Ft +dCAnICsgcmVzLmRpZmYubGVuZ3RoICsgJykuJyArIGhpbndlaXNHZWt1ZXJ6dDsKICAgICAgICB9 +CgogICAgICAgIGZ1bmN0aW9uIGNoayhhcnQsIGxhYmVsLCBjb3VudCwgY29sb3IpIHsKICAgICAg +ICAgICAgdmFyIGNoZWNrZWQgPSBha3RpdkFydGVuW2FydF0gPyAnIGNoZWNrZWQnIDogJyc7CiAg +ICAgICAgICAgIHJldHVybiAnPGxhYmVsIHN0eWxlPSJkaXNwbGF5OmlubGluZS1mbGV4O2FsaWdu +LWl0ZW1zOmNlbnRlcjtnYXA6NHB4O21hcmdpbi1yaWdodDoxMnB4O2N1cnNvcjpwb2ludGVyIj4n +ICsKICAgICAgICAgICAgICAgICc8aW5wdXQgdHlwZT0iY2hlY2tib3giIGRhdGEtYXJ0PSInICsg +YXJ0ICsgJyInICsgY2hlY2tlZCArICc+ICcgKwogICAgICAgICAgICAgICAgJzxzcGFuIHN0eWxl +PSJjb2xvcjonICsgY29sb3IgKyAnIj4nICsgbGFiZWwgKyAnPC9zcGFuPicgKwogICAgICAgICAg +ICAgICAgJyA8c3BhbiBzdHlsZT0iY29sb3I6Izg4OCI+KCcgKyBjb3VudCArICcpPC9zcGFuPicg +KwogICAgICAgICAgICAnPC9sYWJlbD4nOwogICAgICAgIH0KCiAgICAgICAgdmFyIGtvZXJwZXIg +PQogICAgICAgICAgICAnPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNv +bHVtbjtnYXA6OHB4O21pbi13aWR0aDo3NjBweDttYXgtd2lkdGg6MTAwMHB4Ij4nICsKICAgICAg +ICAgICAgICAgICc8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjZw +eDtmb250LXNpemU6MTJweDtiYWNrZ3JvdW5kOnZhcigtLWJnLWNhcmQtYWx0KTtwYWRkaW5nOjhw +eDtib3JkZXItcmFkaXVzOjZweCI+JyArCiAgICAgICAgICAgICAgICAgICAgY2hrKCduZXUnLCAg +ICAgICAgICAgICduZXUnLCAgICAgICAgICAgIHJlcy5zdGF0cy5uZXUsICAgICAgICAgICAnIzFm +N2ExZicpICsKICAgICAgICAgICAgICAgICAgICBjaGsoJ2dlYWVuZGVydCcsICAgICAgJ2dlw6Ru +ZGVydCcsICAgICAgIHJlcy5zdGF0cy5nZWFlbmRlcnQsICAgICAnI2IwNjAwMCcpICsKICAgICAg +ICAgICAgICAgICAgICBjaGsoJ3ZlcmxvcmVuLWxlZXInLCAgJ2xlZXIgaW4gRXhjZWwnLCAgcmVz +LnN0YXRzLnZlcmxvcmVuTGVlciwgICcjYjAyMDIwJykgKwogICAgICAgICAgICAgICAgICAgIGNo +aygnZ2xlaWNoJywgICAgICAgICAndW52ZXLDpG5kZXJ0JywgICAgcmVzLnN0YXRzLmdsZWljaCwg +ICAgICAgICcjODg4JykgKwogICAgICAgICAgICAgICAgJzwvZGl2PicgKwogICAgICAgICAgICAg +ICAgJzxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iaW1wLXRsLXN1Y2hlIiBwbGFjZWhvbGRlcj0iRmls +dGVyIChOYW1lLCBEYXR1bSwgQ29kZSkg4oCmIiBzdHlsZT0icGFkZGluZzo1cHggOHB4O2ZvbnQt +c2l6ZToxMnB4O3dpZHRoOjEwMCU7Ym94LXNpemluZzpib3JkZXItYm94Ij4nICsKICAgICAgICAg +ICAgICAgICc8ZGl2IGlkPSJpbXAtdGwtbWV0YSIgc3R5bGU9ImZvbnQtc2l6ZToxMS41cHg7Y29s +b3I6IzY2NiI+PC9kaXY+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBzdHlsZT0ibWF4LWhlaWdo +dDo1MjBweDtvdmVyZmxvdzphdXRvO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0 +KTtib3JkZXItcmFkaXVzOjRweCI+JyArCiAgICAgICAgICAgICAgICAgICAgJzx0YWJsZSBzdHls +ZT0id2lkdGg6MTAwJTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Zm9udC1zaXplOjEycHgiPicg +KwogICAgICAgICAgICAgICAgICAgICAgICAnPHRoZWFkIHN0eWxlPSJwb3NpdGlvbjpzdGlja3k7 +dG9wOjA7YmFja2dyb3VuZDp2YXIoLS1iZy1jYXJkKSI+JyArCiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAnPHRyPjx0aCBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O3BhZGRpbmc6NnB4IDhweDti +b3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGRkIj5EYXR1bTwvdGg+JyArCiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgJzx0aCBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O3BhZGRpbmc6NnB4 +IDhweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGRkIj5QZXJzb248L3RoPicgKwogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICc8dGggc3R5bGU9InRleHQtYWxpZ246bGVmdDtwYWRk +aW5nOjZweCA4cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZCI+dm9yaGVyPC90aD4nICsK +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHRoIHN0eWxlPSJ0ZXh0LWFsaWduOmxl +ZnQ7cGFkZGluZzo2cHggOHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGQiPm5hY2hoZXI8 +L3RoPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8dGggc3R5bGU9InRleHQt +YWxpZ246bGVmdDtwYWRkaW5nOjZweCA4cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZCI+ +QXJ0PC90aD48L3RyPicgKwogICAgICAgICAgICAgICAgICAgICAgICAnPC90aGVhZD4nICsKICAg +ICAgICAgICAgICAgICAgICAgICAgJzx0Ym9keSBpZD0iaW1wLXRsLXRib2R5Ij48L3Rib2R5Picg +KwogICAgICAgICAgICAgICAgICAgICc8L3RhYmxlPicgKwogICAgICAgICAgICAgICAgJzwvZGl2 +PicgKwogICAgICAgICAgICAgICAgKHJlcy5zdGF0cy5jb2RlSWdub3JlID8gJzxkaXYgc3R5bGU9 +ImZvbnQtc2l6ZToxMXB4O2NvbG9yOiNiMDYwMDAiPkhpbndlaXM6ICcgKyByZXMuc3RhdHMuY29k +ZUlnbm9yZSArICcgWmVsbGVuIHd1cmRlbiB3ZWdlbiBDb2RlLU1hcHBpbmcgdmVyd29yZmVuICh6 +LkIuIOKAni4iIOKGkiBpZ25vcmllcmVuKS48L2Rpdj4nIDogJycpICsKICAgICAgICAgICAgJzwv +ZGl2Pic7CgogICAgICAgIG1vZGFsWmVpZ2VuKCdUcm9ja2VubGF1ZiDigJQgVm9yc2NoYXUgZGVy +IMOEbmRlcnVuZ2VuJywKICAgICAgICAgICAga29lcnBlciwKICAgICAgICAgICAgJzxidXR0b24g +Y2xhc3M9ImJ0biBidG4tcHJpbWFlciIgaWQ9ImltcC10bC1zY2hsaWVzc2VuIj5TY2hsaWXDn2Vu +PC9idXR0b24+JywKICAgICAgICAgICAgbnVsbCwgbnVsbCwgeyByZWluZXJEaWFsb2c6IHRydWUg +fSk7CgogICAgICAgIC8vIEV2ZW50LUJpbmRpbmdzIG5hY2ggUmVuZGVyCiAgICAgICAgcmVuZGVy +bigpOwogICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W2RhdGEtYXJ0XScp +LmZvckVhY2goZnVuY3Rpb24oY2IpIHsKICAgICAgICAgICAgY2IuYWRkRXZlbnRMaXN0ZW5lcign +Y2hhbmdlJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBha3RpdkFydGVuW3RoaXMuZ2V0 +QXR0cmlidXRlKCdkYXRhLWFydCcpXSA9IHRoaXMuY2hlY2tlZDsKICAgICAgICAgICAgICAgIHJl +bmRlcm4oKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICAgICAgdmFyIHN1Y2hlRWwg +PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1wLXRsLXN1Y2hlJyk7CiAgICAgICAgaWYgKHN1 +Y2hlRWwpIHN1Y2hlRWwuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBmdW5jdGlvbigpIHsKICAg +ICAgICAgICAgc3VjaGUgPSB0aGlzLnZhbHVlLnRyaW0oKTsKICAgICAgICAgICAgcmVuZGVybigp +OwogICAgICAgIH0pOwogICAgICAgIHZhciBzY2hsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo +J2ltcC10bC1zY2hsaWVzc2VuJyk7CiAgICAgICAgaWYgKHNjaGwpIHNjaGwuYWRkRXZlbnRMaXN0 +ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgbW9kYWxTY2hsaWVzc2VuKHRy +dWUpOwogICAgICAgICAgICAvLyBVWC1BdWRpdCBTcHJpbnQgMi44ICgyMDI2LTA1LTI5KTogbmFj +aCBUcm9ja2VubGF1Zi1TY2hsaWVzc2VuCiAgICAgICAgICAgIC8vIGRlbiBGb2t1cyB6dXJ1ZWNr +IGF1ZiAiSW1wb3J0IHN0YXJ0ZW4iIGltIFN0YXR1cy1CaWxkc2NoaXJtLAogICAgICAgICAgICAv +LyBkYW1pdCBkZXIgbmFlY2hzdGUgU2Nocml0dCBkaXJla3Qga2xhciBpc3QgKFRhc3RhdHVyLVVz +ZXIpLgogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAg +dmFyIGJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbXAtc3RhcnRlbicpOwogICAgICAg +ICAgICAgICAgaWYgKGJ0bikgeyBidG4uZm9jdXMoKTsgYnRuLnNjcm9sbEludG9WaWV3KHsgYmxv +Y2s6ICdjZW50ZXInLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7IH0KICAgICAgICAgICAgfSwgMTAw +KTsKICAgICAgICB9KTsKICAgIH0KCiAgICAvLyBJbXBvcnR2b3JnYW5nIGFibGF1ZmVuOiBCYWNr +dXAgLT4gVHJhbnNmb3JtYXRpb24gLT4gU2NocmVpYmVuLgogICAgLy8gVmVyd2VuZGV0IGVpbiBQ +cm9ncmVzcy1Nb2RhbCBtaXQgZHJlaSBQaGFzZW4uIEJld3Vzc3QgbGFuZ3NhbSB1bmQgaW4KICAg +IC8vIEV0YXBwZW4sIGRhbWl0IGRlciBVc2VyIHZpc3VlbGwgdmVyZm9sZ2VuIGthbm4gd2FzIHBh +c3NpZXJ0LgogICAgZnVuY3Rpb24gaW1wU2NocmVpYmVuU3RhcnRlbigpIHsKICAgICAgICBpZiAo +IWltcFN0YXRlKSByZXR1cm47CiAgICAgICAgdmFyIHMgPSBpbXBTdGF0ZTsKCiAgICAgICAgLy8g +S29uc2VxdWVuei1adXNhbW1lbmZhc3N1bmc6IGRlbSBVc2VyIHZvciBkZW0gU2NocmVpYmVuIHZv +ciBBdWdlbgogICAgICAgIC8vIGZ1ZWhyZW4sIHdhcyBkZXIgSW1wb3J0IGtvbmtyZXQgYmV3aXJr +dCDigJQgaW5zYmVzb25kZXJlIG5ldWUgUGVyc29uZW4KICAgICAgICAvLyAoRHVwbGlrYXQtUmlz +aWtvKSB1bmQgWmVsbGVuLCBkaWUgZ2VsZWVydCBzdGF0dCBiZWZ1ZWxsdCB3ZXJkZW4KICAgICAg +ICAvLyAoQ29kZSB1bmJla2FubnQvaWdub3JpZXJ0IG9kZXIgRXhjZWwtWmVsbGUgbGVlcikuIFF1 +ZWxsZSBpc3QgZXhha3QKICAgICAgICAvLyBkaWVzZWxiZSBEaWZmLUJlcmVjaG51bmcgd2llIGlt +IFRyb2NrZW5sYXVmLgogICAgICAgIHZhciBwTmV1ICAgICAgPSBzLnBlcnNvbmVuTWF0Y2hlcy5m +aWx0ZXIoZnVuY3Rpb24obSkgeyByZXR1cm4gbS5uZXVBbmxlZ2VuICYmICFtLnppZWxJZDsgfSku +bGVuZ3RoOwogICAgICAgIHZhciBwQWVobmxpY2ggPSBzLnBlcnNvbmVuTWF0Y2hlcy5maWx0ZXIo +ZnVuY3Rpb24obSkgeyByZXR1cm4gbS5zdGF0dXMgPT09ICduZXUnICYmIG0uYWVobmxpY2ggJiYg +bS5hZWhubGljaC5sZW5ndGg7IH0pLmxlbmd0aDsKICAgICAgICB2YXIgdGwgICAgICAgID0gaW1w +VHJvY2tlbmxhdWZCZXJlY2huZW4ocyk7CgogICAgICAgIC8vIE0yOiBSYW5nL1Bvc2l0aW9uLUFl +bmRlcnVuZ2VuIHNpY2h0YmFyIG1hY2hlbi4gRGVyIEltcG9ydCB6aWVodCBkZW4KICAgICAgICAv +LyBFeGNlbC1SYW5nIChTcGFsdGUgRikgYXVmIGRpZSBnZW1hdGNodGUgUGVyc29uIOKAlCBkYXMg +a2FubiBkaWUKICAgICAgICAvLyBSZWloZW5mb2xnZSBkZXIgUGVyc29uYWxsaXN0ZSB1bXNvcnRp +ZXJlbiwgZWluIGxlaWNodCB1ZWJlcnNlaGVuZXIKICAgICAgICAvLyBOZWJlbmVmZmVrdCBlaW5l +cyByZWluZW4gU2NoaWNodC1JbXBvcnRzLgogICAgICAgIHZhciBwaWRQb3MgPSB7fTsKICAgICAg +ICAoWi5wbGFudW5nLnBlcnNvbmVuIHx8IFtdKS5mb3JFYWNoKGZ1bmN0aW9uKHApIHsgcGlkUG9z +W1N0cmluZyhwLmlkKV0gPSBwLnBvc2l0aW9uOyB9KTsKICAgICAgICB2YXIgcmFlbmdlID0gcy5w +ZXJzb25lbk1hdGNoZXMuZmlsdGVyKGZ1bmN0aW9uKG0pIHsKICAgICAgICAgICAgcmV0dXJuIG0u +emllbElkICYmIG0uZXhjZWwucmFuZyAhPSBudWxsICYmIHBpZFBvc1tTdHJpbmcobS56aWVsSWQp +XSAhPT0gbS5leGNlbC5yYW5nOwogICAgICAgIH0pLmxlbmd0aDsKCiAgICAgICAgdmFyIHplaWxl +biA9IFsKICAgICAgICAgICAgJ0RpZSBFaW50csOkZ2UgaW0gRXhjZWwtWmVpdHJhdW0gKCcgKwog +ICAgICAgICAgICBzLmRhdHVtU3BhbHRlblswXS5kYXR1bSArICcgYmlzICcgKwogICAgICAgICAg +ICBzLmRhdHVtU3BhbHRlbltzLmRhdHVtU3BhbHRlbi5sZW5ndGggLSAxXS5kYXR1bSArCiAgICAg +ICAgICAgICcpIHdlcmRlbiBmw7xyIGRpZSBpbXBvcnRpZXJ0ZW4gUGVyc29uZW4gZHVyY2ggZGll +IEV4Y2VsLVdlcnRlIEVSU0VUWlQuICcgKwogICAgICAgICAgICAnS29tbWVudGFyZSBhdXMgZGVy +IEV4Y2VsIHdlcmRlbiBlcmfDpG56dCDigJQgdm9yaGFuZGVuZSBibGVpYmVuIGVyaGFsdGVuLiAn +ICsKICAgICAgICAgICAgJ1BlcnNvbmVuLCBkaWUgbmljaHQgaW4gZGVyIEV4Y2VsIHN0ZWhlbiwg +YmVoYWx0ZW4gaWhyZSBFaW50csOkZ2UgdW52ZXLDpG5kZXJ0LicKICAgICAgICBdOwoKICAgICAg +ICB2YXIgYmlsYW56ID0gW107CiAgICAgICAgaWYgKHRsLnN0YXRzLm5ldSkgICAgICAgICAgYmls +YW56LnB1c2goJ+KAoiAnICsgdGwuc3RhdHMubmV1ICsgJyBaZWxsZShuKSBuZXUgZWluZ2V0cmFn +ZW4nKTsKICAgICAgICBpZiAodGwuc3RhdHMuZ2VhZW5kZXJ0KSAgICBiaWxhbnoucHVzaCgn4oCi +ICcgKyB0bC5zdGF0cy5nZWFlbmRlcnQgKyAnIFplbGxlKG4pIGdlw6RuZGVydCcpOwogICAgICAg +IGlmICh0bC5zdGF0cy52ZXJsb3JlbkxlZXIpIGJpbGFuei5wdXNoKCfigKIgJyArIHRsLnN0YXRz +LnZlcmxvcmVuTGVlciArICcgWmVsbGUobikgd2VyZGVuIEdFTEVFUlQgKGluIEV4Y2VsIGxlZXIg +b2RlciBDb2RlIG5pY2h0IHp1Z2VvcmRuZXQpJyk7CiAgICAgICAgaWYgKHBOZXUpICAgICAgICAg +ICAgICAgICAgYmlsYW56LnB1c2goJ+KAoiAnICsgcE5ldSArICcgUGVyc29uKGVuKSB3ZXJkZW4g +TkVVIGFuZ2VsZWd0JyArIChwQWVobmxpY2ggPyAnIOKAlCBkYXZvbiAnICsgcEFlaG5saWNoICsg +JyBtaXQgVGlwcGZlaGxlci1WZXJkYWNodCEnIDogJycpKTsKICAgICAgICBpZiAocmFlbmdlKSAg +ICAgICAgICAgICAgICBiaWxhbnoucHVzaCgn4oCiICcgKyByYWVuZ2UgKyAnIFBlcnNvbihlbikg +YmVrb21tZW4gZWluZSBuZXVlIFJlaWhlbmZvbGdlLVBvc2l0aW9uIGF1cyBkZXIgRXhjZWwgKFNw +YWx0ZSBGKScpOwogICAgICAgIGlmIChiaWxhbnoubGVuZ3RoKSB6ZWlsZW4ucHVzaCgnRGFzIGJl +d2lya3Q6XG4nICsgYmlsYW56LmpvaW4oJ1xuJykpOwoKICAgICAgICBpZiAocEFlaG5saWNoKSB7 +CiAgICAgICAgICAgIHplaWxlbi5wdXNoKCfimqAgJyArIHBBZWhubGljaCArICcgbmV1IGFuenVs +ZWdlbmRlIFBlcnNvbihlbikgw6RobmVsbiBlaW5lciBiZXN0ZWhlbmRlbiBQZXJzb24uIEJpdHRl +IHZvcmhlciBpbSBNYXBwaW5nIHByw7xmZW4sIHNvbnN0IGVudHN0ZWhlbiBEdXBsaWthdGUuJyk7 +CiAgICAgICAgfQogICAgICAgIGlmIChzLmphaHJJbmZvICYmIChzLmphaHJJbmZvLmF1c3Nlcmhh +bGIgPiAwIHx8IHMuamFockluZm8uZG9taW5hbnRKYWhyICE9PSBzLmphaHJJbmZvLnBvcnRhbEph +aHIpKSB7CiAgICAgICAgICAgIHplaWxlbi5wdXNoKCfimqAgSmFocmVzLUhpbndlaXM6IERhdGVp +LVplaXRyYXVtICcgKyBzLmphaHJJbmZvLmRhdGVpVm9uICsgJyBiaXMgJyArIHMuamFockluZm8u +ZGF0ZWlCaXMgKwogICAgICAgICAgICAgICAgJywgUG9ydGFsIHplaWd0IFBsYW51bmdzamFociAn +ICsgcy5qYWhySW5mby5wb3J0YWxKYWhyICsgJy4gJyArCiAgICAgICAgICAgICAgICAocy5qYWhy +SW5mby5hdXNzZXJoYWxiID8gcy5qYWhySW5mby5hdXNzZXJoYWxiICsgJyBUYWcoZSkgYXXDn2Vy +aGFsYiBkZXMgYW5nZXplaWd0ZW4gWmVpdHJhdW1zIHdlcmRlbiBnZXNjaHJpZWJlbiwgYWJlciBu +aWNodCBhbmdlemVpZ3QuICcgOiAnJykgKwogICAgICAgICAgICAgICAgJ0JpdHRlIHNpY2hlcnN0 +ZWxsZW4sIGRhc3MgRGF0ZWkgdW5kIFBsYW51bmdzamFociB6dXNhbW1lbnBhc3Nlbi4nKTsKICAg +ICAgICB9CgogICAgICAgIHplaWxlbi5wdXNoKCdFaW4gU2ljaGVyaGVpdHMtQmFja3VwIGRlciBh +a3R1ZWxsZW4gUGxhbnVuZyB3aXJkIHZvcmhlciBhdXRvbWF0aXNjaCBhbmdlbGVndC4nKTsKICAg +ICAgICB6ZWlsZW4ucHVzaCgnRm9ydHNldHplbj8nKTsKCiAgICAgICAgYmVzdGFldGlnZW4oCiAg +ICAgICAgICAgIHplaWxlbi5qb2luKCdcblxuJyksCiAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBp +bXBTY2hyZWliZW5BdXNmdWVocmVuKCk7IH0sCiAgICAgICAgICAgIHsgdGl0ZWw6ICdFeGNlbC1J +bXBvcnQgYmVzdMOkdGlnZW4nLCBqYVRleHQ6ICdGb3J0c2V0emVuJywgamFEYW5nZXI6IHRydWUg +fQogICAgICAgICk7CiAgICB9CgogICAgZnVuY3Rpb24gaW1wUHJvZ3Jlc3NNb2RhbE9lZmZuZW4o +KSB7CiAgICAgICAgdmFyIGtvZXJwZXIgPQogICAgICAgICAgICAnPGRpdiBjbGFzcz0iaW1wLXBy +b2dyZXNzLWtvbnRleHQiPicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImltcC1wcm9n +cmVzcy1waGFzZSIgaWQ9ImltcC1wcm9nLXBoYXNlIj5Wb3JiZXJlaXRlbiDigKY8L2Rpdj4nICsK +ICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJpbXAtcHJvZ3Jlc3MtYmFyIj48ZGl2IGNsYXNz +PSJpbXAtcHJvZ3Jlc3MtZmlsbCIgaWQ9ImltcC1wcm9nLWZpbGwiPjwvZGl2PjwvZGl2PicgKwog +ICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImltcC1wcm9ncmVzcy10ZXh0IiBpZD0iaW1wLXBy +b2ctdGV4dCI+Jm5ic3A7PC9kaXY+JyArCiAgICAgICAgICAgICc8L2Rpdj4nOwogICAgICAgIG1v +ZGFsWmVpZ2VuKCdFeGNlbC1JbXBvcnQgbMOkdWZ0Jywga29lcnBlciwgJycsIG51bGwpOwogICAg +ICAgIC8vIFNjaGxpZcOfZW4tS3JldXogdmVyc3RlY2tlbiDigJQgSW1wb3J0IGRhcmYgbmljaHQg +YWJnZWJyb2NoZW4gd2VyZGVuCiAgICAgICAgdmFyIG1vZCA9IGRvY3VtZW50LmdldEVsZW1lbnRC +eUlkKCdtb2RhbC1vdmVybGF5Jyk7CiAgICAgICAgaWYgKG1vZCkgbW9kLnNldEF0dHJpYnV0ZSgn +ZGF0YS1uby1jbG9zZScsICcxJyk7CiAgICB9CiAgICBmdW5jdGlvbiBpbXBQcm9ncmVzc1VwZGF0 +ZShwaGFzZSwgcHJvemVudCwgdGV4dCkgewogICAgICAgIHZhciBwaCA9IGRvY3VtZW50LmdldEVs +ZW1lbnRCeUlkKCdpbXAtcHJvZy1waGFzZScpOwogICAgICAgIHZhciBmbCA9IGRvY3VtZW50Lmdl +dEVsZW1lbnRCeUlkKCdpbXAtcHJvZy1maWxsJyk7CiAgICAgICAgdmFyIHR4ID0gZG9jdW1lbnQu +Z2V0RWxlbWVudEJ5SWQoJ2ltcC1wcm9nLXRleHQnKTsKICAgICAgICBpZiAocGggJiYgcGhhc2Up +IHBoLnRleHRDb250ZW50ID0gcGhhc2U7CiAgICAgICAgaWYgKGZsKSBmbC5zdHlsZS53aWR0aCA9 +IE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCwgcHJvemVudCkpICsgJyUnOwogICAgICAgIGlmICh0 +eCkgdHgudGV4dENvbnRlbnQgPSB0ZXh0IHx8ICcnOwogICAgfQogICAgZnVuY3Rpb24gaW1wUHJv +Z3Jlc3NGZWhsZXIobXNnKSB7CiAgICAgICAgdmFyIHBoID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 +SWQoJ2ltcC1wcm9nLXBoYXNlJyk7CiAgICAgICAgdmFyIHR4ID0gZG9jdW1lbnQuZ2V0RWxlbWVu +dEJ5SWQoJ2ltcC1wcm9nLXRleHQnKTsKICAgICAgICB2YXIgZmwgPSBkb2N1bWVudC5nZXRFbGVt +ZW50QnlJZCgnaW1wLXByb2ctZmlsbCcpOwogICAgICAgIGlmIChwaCkgeyBwaC50ZXh0Q29udGVu +dCA9ICfinYwgRmVobGVyJzsgcGguc3R5bGUuY29sb3IgPSAndmFyKC0tZmFyYmUtZmVobGVyKSc7 +IH0KICAgICAgICBpZiAoZmwpIHsgZmwuc3R5bGUuYmFja2dyb3VuZCA9ICd2YXIoLS1mYXJiZS1m +ZWhsZXIpJzsgfQogICAgICAgIGlmICh0eCkgdHgudGV4dENvbnRlbnQgPSBtc2c7CiAgICAgICAg +Ly8gU2NobGllw59lbi1CdXR0b24gYW5oYWVuZ2VuCiAgICAgICAgdmFyIGZ1c3MgPSBkb2N1bWVu +dC5nZXRFbGVtZW50QnlJZCgnbW9kYWwtZnVzcycpOwogICAgICAgIGlmIChmdXNzKSB7CiAgICAg +ICAgICAgIGZ1c3MuaW5uZXJIVE1MID0gJzxidXR0b24gY2xhc3M9ImJ0biIgaWQ9ImltcC1wcm9n +LWNsb3NlIj5TY2hsaWXDn2VuPC9idXR0b24+JzsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl +bWVudEJ5SWQoJ2ltcC1wcm9nLWNsb3NlJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBtb2Rh +bFNjaGxpZXNzZW4pOwogICAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIGltcFByb2dyZXNzRXJm +b2xnKGVpbnRyYWVnZSwga29tbWVudGFyZSwgYmFja3VwTmFtZSkgewogICAgICAgIGltcFByb2dy +ZXNzVXBkYXRlKCfinJMgSW1wb3J0IGFiZ2VzY2hsb3NzZW4nLCAxMDAsCiAgICAgICAgICAgIGVp +bnRyYWVnZSArICcgRWludHLDpGdlIHVuZCAnICsga29tbWVudGFyZSArICcgS29tbWVudGFyZSDD +vGJlcm5vbW1lbi4gQmFja3VwOiAnICsgKGJhY2t1cE5hbWUgfHwgJ+KAkycpKTsKICAgICAgICB2 +YXIgcGggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1wLXByb2ctcGhhc2UnKTsKICAgICAg +ICBpZiAocGgpIHBoLnN0eWxlLmNvbG9yID0gJ3ZhcigtLWZhcmJlLWVyZm9sZyknOwogICAgICAg +IHZhciBmdXNzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGFsLWZ1c3MnKTsKICAgICAg +ICBpZiAoZnVzcykgewogICAgICAgICAgICBmdXNzLmlubmVySFRNTCA9ICc8YnV0dG9uIGNsYXNz +PSJidG4gYnRuLXByaW1hZXIiIGlkPSJpbXAtcHJvZy1jbG9zZSI+U2VpdGUgbmV1IGxhZGVuPC9i +dXR0b24+JzsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltcC1wcm9nLWNs +b3NlJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAg +ICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfQog +ICAgfQoKICAgIGZ1bmN0aW9uIGltcFNjaHJlaWJlbkF1c2Z1ZWhyZW4oKSB7CiAgICAgICAgdmFy +IHMgPSBpbXBTdGF0ZTsKICAgICAgICBpZiAoIXMpIHJldHVybjsKICAgICAgICBpbXBQcm9ncmVz +c01vZGFsT2VmZm5lbigpOwoKICAgICAgICAvLyA9PT0gUGhhc2UgMTogQmFja3VwID09PQogICAg +ICAgIGltcFByb2dyZXNzVXBkYXRlKCdTaWNoZXJoZWl0cy1CYWNrdXAgd2lyZCBhbmdlbGVndCDi +gKYnLCA1LCAnUE9TVCAvYXBpL3BsYW51bmcvYmFja3VwJyk7CiAgICAgICAgdmFyIGJhY2t1cE5h +bWUgPSAnJzsKICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICBhcGlQ +b3N0KCcvYXBpL3BsYW51bmcvYmFja3VwJywge30pLnRoZW4oZnVuY3Rpb24ocikgewogICAgICAg +ICAgICAgICAgYmFja3VwTmFtZSA9IHIuZGF0ZWluYW1lIHx8ICcnOwogICAgICAgICAgICAgICAg +aW1wUHJvZ3Jlc3NVcGRhdGUoJ1NpY2hlcmhlaXRzLUJhY2t1cDogJyArIChiYWNrdXBOYW1lIHx8 +ICdPSycpLCAyMCwgJ0JhY2t1cCBlcnN0ZWxsdCcpOwogICAgICAgICAgICAgICAgc2V0VGltZW91 +dChmdW5jdGlvbigpIHsgaW1wU2NocmVpYmVuUGhhc2UyKHMsIGJhY2t1cE5hbWUpOyB9LCAzNTAp +OwogICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBpbXBQ +cm9ncmVzc0ZlaGxlcignQmFja3VwIGZlaGxnZXNjaGxhZ2VuOiAnICsgZS5tZXNzYWdlKTsKICAg +ICAgICAgICAgfSk7CiAgICAgICAgfSwgMjAwKTsKICAgIH0KCiAgICBmdW5jdGlvbiBpbXBTY2hy +ZWliZW5QaGFzZTIocywgYmFja3VwTmFtZSkgewogICAgICAgIC8vID09PSBQaGFzZSAyYTogTmV1 +ZSBQZXJzb25lbiBhbmxlZ2VuID09PQogICAgICAgIC8vIEZ1ZXIgamVkZXMgTWF0Y2ggbWl0IGBu +ZXVBbmxlZ2VuPXRydWVgIGVpbmVuIFBPU1QgL2FwaS9wZXJzb25lbgogICAgICAgIC8vIHNlcXVl +bnppZWxsIGFic2V0emVuLiBTZXJ2ZXIgdmVyZ2lidCBkaWUgbmV1ZSBJRCArIE1hcmtlcgogICAg +ICAgIC8vIGBpbXBvcnROZXVBbWAsIGRhbWl0IGRpZSBQZXJzb25hbHZlcndhbHR1bmcgc2llIHNw +YWV0ZXIgaW0KICAgICAgICAvLyBOZXVpbXBvcnQtQmxvY2sgb2JlbiBzYW1tZWx0LiBOYWNoIGFs +bGVuIFBPU1RzIGhvbGVuIHdpciBkZW4KICAgICAgICAvLyBmcmlzY2hlbiBQbGFudW5ncy1TdGFu +ZCB2b20gU2VydmVyIChHRVQgL2FwaS9wbGFudW5nKSwgYmV2b3Igd2lyIGluCiAgICAgICAgLy8g +UGhhc2UgMmIgZGllIEVpbnRyYWVnZSB0cmFuc2Zvcm1pZXJlbiDigJQgc29uc3QgZmVobHRlbiBk +aWUgbmV1ZW4KICAgICAgICAvLyBQZXJzb25lbiBpbSBuZXVlUGxhbnVuZy1Cb2R5LgogICAgICAg +IHZhciBuZXVBbnp1bGVnZW4gPSBzLnBlcnNvbmVuTWF0Y2hlcy5maWx0ZXIoZnVuY3Rpb24obSkg +eyByZXR1cm4gbS5uZXVBbmxlZ2VuICYmICFtLnppZWxJZDsgfSk7CiAgICAgICAgaWYgKG5ldUFu +enVsZWdlbi5sZW5ndGggPT09IDApIHsKICAgICAgICAgICAgLy8gQXVjaCBvaG5lIG5ldWUgUGVy +c29uZW4gZGVuIEZSSVNDSEVOIFN0YW5kIHZvbSBTZXJ2ZXIgaG9sZW4sIGJldm9yCiAgICAgICAg +ICAgIC8vIHdpciB0cmFuc2Zvcm1pZXJlbi4gRGVyIG5hY2hmb2xnZW5kZSBWb2xsLVBVVCB1ZWJl +cnNjaHJlaWJ0CiAgICAgICAgICAgIC8vIHBsYW51bmcuanNvbiBrb21wbGV0dCDigJQgYmF1dCBl +ciBhdWYgZWluZW0gdmVyYWx0ZXRlbiBaLnBsYW51bmcgYXVmCiAgICAgICAgICAgIC8vICh6LkIu +IHNlaXQgU2VpdGVuYXVmcnVmIGhhdCBqZW1hbmQgYW5kZXJlcyBaZWxsZW4gZWRpdGllcnQpLCBn +aW5nZW4KICAgICAgICAgICAgLy8gZGllc2UgQWVuZGVydW5nZW4gdmVybG9yZW4gdW5kIEJlc3Rh +bmQtb25seS1QZXJzb25lbiB3dWVyZGVuIG1pdAogICAgICAgICAgICAvLyBBbHRzdGFuZCB6dXJ1 +ZWNrZ2VzY2hyaWViZW4uIEVpbiBHRVQgdW5taXR0ZWxiYXIgdm9yIGRlbSBUcmFuc2Zvcm0KICAg +ICAgICAgICAgLy8gdmVya2xlaW5lcnQgZGllc2VzIEZlbnN0ZXIgYXVmIGRlbiBlaWdlbnRsaWNo +ZW4gU2NocmVpYnZvcmdhbmcuCiAgICAgICAgICAgIGltcFByb2dyZXNzVXBkYXRlKCdBa3R1ZWxs +ZW4gUGxhbnVuZ3NzdGFuZCBsYWRlbiDigKYnLCAyNCwgJ0dFVCAvYXBpL3BsYW51bmcnKTsKICAg +ICAgICAgICAgaW1wR2V0UGxhbnVuZ01pdFZlcnNpb24oKS50aGVuKGZ1bmN0aW9uKHApIHsKICAg +ICAgICAgICAgICAgIFoucGxhbnVuZyA9IHA7CiAgICAgICAgICAgICAgICBpbXBTY2hyZWliZW5Q +aGFzZTJUcmFuc2Zvcm0ocywgYmFja3VwTmFtZSk7CiAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0 +aW9uKGUpIHsKICAgICAgICAgICAgICAgIGltcFByb2dyZXNzRmVobGVyKCdBa3R1ZWxsZXIgUGxh +bnVuZ3NzdGFuZCBrb25udGUgbmljaHQgZ2VsYWRlbiB3ZXJkZW46ICcgKyBlLm1lc3NhZ2UpOwog +ICAgICAgICAgICB9KTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICB2YXIg +bnJKZXR6dCA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTsKICAgICAgICB2YXIgYW56QW5nZWxl +Z3QgPSAwOwogICAgICAgIGZ1bmN0aW9uIG5hZWNoc3RlUGVyc29uKCkgewogICAgICAgICAgICBp +ZiAoYW56QW5nZWxlZ3QgPj0gbmV1QW56dWxlZ2VuLmxlbmd0aCkgewogICAgICAgICAgICAgICAg +Ly8gQWxsZSBhbmdlbGVndCDigJQgUGxhbnVuZyBuZXUgbGFkZW4sIGRhbWl0IGRpZSBuZXVlbiBJ +RHMgaW4KICAgICAgICAgICAgICAgIC8vIFoucGxhbnVuZy5wZXJzb25lbiB2ZXJmdWVnYmFyIHNp +bmQuCiAgICAgICAgICAgICAgICBpbXBQcm9ncmVzc1VwZGF0ZSgnUGVyc29uZW4tTGlzdGUgd2ly +ZCBha3R1YWxpc2llcnQg4oCmJywgMjQsICdGcmlzY2hlIElEcyB2b20gU2VydmVyIGxhZGVuJyk7 +CiAgICAgICAgICAgICAgICBpbXBHZXRQbGFudW5nTWl0VmVyc2lvbigpLnRoZW4oZnVuY3Rpb24o +cCkgewogICAgICAgICAgICAgICAgICAgIFoucGxhbnVuZyA9IHA7CiAgICAgICAgICAgICAgICAg +ICAgaW1wU2NocmVpYmVuUGhhc2UyVHJhbnNmb3JtKHMsIGJhY2t1cE5hbWUpOwogICAgICAgICAg +ICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGltcFByb2dy +ZXNzRmVobGVyKCdQbGFudW5nIGtvbm50ZSBuYWNoIFBlcnNvbmVuLUFubGFnZSBuaWNodCBuZXUg +Z2VsYWRlbiB3ZXJkZW46ICcgKyBlLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgfSk7CiAgICAg +ICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIG0gPSBuZXVB +bnp1bGVnZW5bYW56QW5nZWxlZ3RdOwogICAgICAgICAgICB2YXIgZGF0ZW4gPSB7CiAgICAgICAg +ICAgICAgICBuYW1lOiBtLmV4Y2VsLm5hY2huYW1lLAogICAgICAgICAgICAgICAgdm9ybmFtZTog +JycsICAvLyBFeGNlbCBrZW5udCBudXIgZGVuIE5hY2huYW1lbiDigJQgd2lyZCBpbSBOZXVpbXBv +cnQtQmxvY2sgbmFjaGdlcGZsZWd0CiAgICAgICAgICAgICAgICBncnVwcGU6IG0uZXhjZWwuZ3J1 +cHBlIHx8ICcnLAogICAgICAgICAgICAgICAgb2U6IG0uZXhjZWwub2UgfHwgJycsCiAgICAgICAg +ICAgICAgICB0ZWxlZm9uOiBtLmV4Y2VsLnRlbGVmb24gfHwgJycsCiAgICAgICAgICAgICAgICBl +aW5yZWloZW46ICd1bnRlbicsCiAgICAgICAgICAgICAgICBpbXBvcnROZXVBbTogbnJKZXR6dAog +ICAgICAgICAgICB9OwogICAgICAgICAgICB2YXIgaWR4ID0gYW56QW5nZWxlZ3QgKyAxOwogICAg +ICAgICAgICBpbXBQcm9ncmVzc1VwZGF0ZSgnTmV1ZSBQZXJzb25lbiB3ZXJkZW4gYW5nZWxlZ3Qg +4oCmJywKICAgICAgICAgICAgICAgIDIxICsgTWF0aC5mbG9vcigzICogYW56QW5nZWxlZ3QgLyBu +ZXVBbnp1bGVnZW4ubGVuZ3RoKSwKICAgICAgICAgICAgICAgICdBbmxlZ2VuOiAnICsgbS5leGNl +bC5uYWNobmFtZSArICcgKCcgKyBpZHggKyAnLycgKyBuZXVBbnp1bGVnZW4ubGVuZ3RoICsgJykn +KTsKICAgICAgICAgICAgYXBpUG9zdCgnL2FwaS9wZXJzb25lbicsIGRhdGVuKS50aGVuKGZ1bmN0 +aW9uKHIpIHsKICAgICAgICAgICAgICAgIG0uemllbElkID0gci5pZDsKICAgICAgICAgICAgICAg +IGFuekFuZ2VsZWd0Kys7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KG5hZWNoc3RlUGVyc29u +LCAzMCk7CiAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAg +IGltcFByb2dyZXNzRmVobGVyKCdQZXJzb24gIicgKyBtLmV4Y2VsLm5hY2huYW1lICsgJyIga29u +bnRlIG5pY2h0IGFuZ2VsZWd0IHdlcmRlbjogJyArIGUubWVzc2FnZSk7CiAgICAgICAgICAgIH0p +OwogICAgICAgIH0KICAgICAgICBzZXRUaW1lb3V0KG5hZWNoc3RlUGVyc29uLCAxMDApOwogICAg +fQoKICAgIGZ1bmN0aW9uIGltcFNjaHJlaWJlblBoYXNlMlRyYW5zZm9ybShzLCBiYWNrdXBOYW1l +KSB7CiAgICAgICAgLy8gPT09IFBoYXNlIDJiOiBUcmFuc2Zvcm1hdGlvbiA9PT0KICAgICAgICBp +bXBQcm9ncmVzc1VwZGF0ZSgnRGF0ZW4gd2VyZGVuIHRyYW5zZm9ybWllcnQg4oCmJywgMjUsICdL +b3BpZSBkZXIgYmVzdGVoZW5kZW4gUGxhbnVuZyB3aXJkIHZvcmJlcmVpdGV0Jyk7CgogICAgICAg +IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBuZXVlUGxhbnVuZyA9IEpT +T04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoWi5wbGFudW5nKSk7CiAgICAgICAgICAgIHZhciBleGNl +bERhdHVtU2V0ID0ge307CiAgICAgICAgICAgIHMuZGF0dW1TcGFsdGVuLmZvckVhY2goZnVuY3Rp +b24oZCkgeyBleGNlbERhdHVtU2V0W2QuZGF0dW1dID0gdHJ1ZTsgfSk7CgogICAgICAgICAgICAv +LyBBbHRlIEVpbnRyYWVnZSBpbSBFeGNlbC1aZWl0cmF1bSBlbnRmZXJuZW4g4oCUIGFiZXIgTlVS +IGZ1ZXIKICAgICAgICAgICAgLy8gUGVyc29uZW4sIGRpZSBpbiBkZXIgRXhjZWwgYXVmdGF1Y2hl +biBVTkQgZG9ydCBtaW5kZXN0ZW5zIGVpbmVuCiAgICAgICAgICAgIC8vIEVpbnRyYWcgaGFiZW4u +IFBlcnNvbmVuLCBkaWUgbnVyIGltIEJlc3RhbmQgc2luZCAobmV1ZSBNaXRhcmJlaXRlciwKICAg +ICAgICAgICAgLy8gbm9jaCBuaWNodCBpbiBkZXIgRXhjZWwtVm9ybGFnZSksIGJlaGFsdGVuIGlo +cmUgRWludHJhZWdlLgogICAgICAgICAgICAvLyBWb3JoZXIgaGFiZW4gd2lyIGhpZXIgZGVuIGdh +bnplbiBUYWcgZ2VsZWVydCDigJQgZGFzIGhhdCBmdWVyCiAgICAgICAgICAgIC8vIEJlc3RhbmQt +b25seS1QZXJzb25lbiBhbGxlIFNjaGljaHRlbiBpbSBJbXBvcnR6ZWl0cmF1bQogICAgICAgICAg +ICAvLyB1bmJlYWJzaWNodGlndCBlbnRmZXJudC4KICAgICAgICAgICAgLy8KICAgICAgICAgICAg +Ly8gTTEtU2NodXR6OiBFaW5lIGdlbWF0Y2h0ZSBQZXJzb24gbWl0IEtPTVBMRVRUIGxlZXJlciBF +eGNlbC1aZWlsZQogICAgICAgICAgICAvLyAoMCBFaW50cmFlZ2UpIHdpcmQgTklDSFQgZ2VsZWVy +dC4gU29uc3Qgd3VlcmRlIGVpbmUgUGVyc29uLCBkaWUgaW4KICAgICAgICAgICAgLy8gZGVyIFZv +cmxhZ2UgbnVyIGdlbGlzdGV0LCBhYmVyIGltIFplaXRyYXVtIGdhciBuaWNodCBlaW5nZXBsYW50 +CiAgICAgICAgICAgIC8vIGlzdCwgaWhyZSBrb21wbGV0dGVuIGJlc3RlaGVuZGVuIFNjaGljaHRl +biB2ZXJsaWVyZW4uIEhhdCBkaWUKICAgICAgICAgICAgLy8gWmVpbGUgYXVjaCBudXIgRUlORU4g +RWludHJhZywgZ2lsdCBkaWUgRXhjZWwgYWxzIHZlcmJpbmRsaWNoIHVuZAogICAgICAgICAgICAv +LyBsZWVyZSBaZWxsZW4gbG9lc2NoZW4gd2llIGdld29sbHQuCiAgICAgICAgICAgIG5ldWVQbGFu +dW5nLmVpbnRyYWVnZSA9IG5ldWVQbGFudW5nLmVpbnRyYWVnZSB8fCB7fTsKICAgICAgICAgICAg +dmFyIGV4Y2VsUGlkU2V0ID0ge307CiAgICAgICAgICAgIHMucGVyc29uZW5NYXRjaGVzLmZvckVh +Y2goZnVuY3Rpb24obSkgewogICAgICAgICAgICAgICAgaWYgKG0uemllbElkICYmIE9iamVjdC5r +ZXlzKG0uZXhjZWwuZWludHJhZWdlIHx8IHt9KS5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAg +ICAgICAgZXhjZWxQaWRTZXRbU3RyaW5nKG0uemllbElkKV0gPSB0cnVlOwogICAgICAgICAgICAg +ICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgT2JqZWN0LmtleXMobmV1ZVBsYW51bmcu +ZWludHJhZWdlKS5mb3JFYWNoKGZ1bmN0aW9uKGQpIHsKICAgICAgICAgICAgICAgIGlmICghZXhj +ZWxEYXR1bVNldFtkXSkgcmV0dXJuOwogICAgICAgICAgICAgICAgdmFyIGJ1Y2tldCA9IG5ldWVQ +bGFudW5nLmVpbnRyYWVnZVtkXTsKICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKGJ1Y2tldCku +Zm9yRWFjaChmdW5jdGlvbihwaWQpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoZXhjZWxQaWRT +ZXRbcGlkXSkgZGVsZXRlIGJ1Y2tldFtwaWRdOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAg +ICAgIH0pOwogICAgICAgICAgICBuZXVlUGxhbnVuZy5rb21tZW50YXJlID0gbmV1ZVBsYW51bmcu +a29tbWVudGFyZSB8fCB7fTsKCiAgICAgICAgICAgIGltcFByb2dyZXNzVXBkYXRlKCdEYXRlbiB3 +ZXJkZW4gdHJhbnNmb3JtaWVydCDigKYnLCA0MCwgJ0FsdGUgRWludHLDpGdlIGltIFppZWx6ZWl0 +cmF1bSBlbnRmZXJudCcpOwoKICAgICAgICAgICAgLy8gQ29kZS1NYXBwaW5nIHZvcmJlcmVpdGVu +CiAgICAgICAgICAgIHZhciBjb2RlTWFwID0ge307CiAgICAgICAgICAgIHMuY29kZU1hdGNoZXMu +Zm9yRWFjaChmdW5jdGlvbihtKSB7IGNvZGVNYXBbbS5jb2RlXSA9IG0uemllbDsgfSk7CgogICAg +ICAgICAgICAvLyBOZXVlIEVpbnRyYWVnZSArIEtvbW1lbnRhcmUgZWluc2NocmVpYmVuLiBLb21t +ZW50YXJlIGJlaGFsdGVuCiAgICAgICAgICAgIC8vIGlocmVuIE9SSUdJTkFMLUF1dG9yIGF1cyBk +ZXIgRXhjZWwtTm90aXogdW5kIGJla29tbWVuIGJld3Vzc3QKICAgICAgICAgICAgLy8gS0VJTkVO +IFplaXRzdGVtcGVsIChFeGNlbCBsaWVmZXJ0IGtlaW5lbiB2ZXJsYWVzc2xpY2hlbikg4oCUIGRh +aGVyCiAgICAgICAgICAgIC8vIGhpZXIga2VpbiAiYWJzZW5kZXIiLyJqZXR6dCIgbWVoci4KICAg +ICAgICAgICAgdmFyIGVpbnRyYWVnZUdlc2FtdCA9IDAsIGtvbW1lbnRhcmVHZXNhbXQgPSAwOwoK +ICAgICAgICAgICAgdmFyIGlnbm9yaWVydENvZGVzID0gMDsKICAgICAgICAgICAgdmFyIGlnbm9y +aWVydFBlcnNvbmVuID0gMDsKICAgICAgICAgICAgdmFyIHJhZW5nZVVlYmVybm9tbWVuID0gMDsK +ICAgICAgICAgICAgdmFyIHdpZWRlcmhlcmdlc3RlbGx0ID0gMDsKICAgICAgICAgICAgdmFyIGRl +ZHVwVWViZXJzcHJ1bmdlbiA9IDA7CiAgICAgICAgICAgIC8vIExpZWZlcnQgZGllIGJlc3RlaGVu +ZGUgS29tbWVudGFybGlzdGUgZnVlciAoZGF0dW0scGlkKSBhbHMgQXJyYXkKICAgICAgICAgICAg +Ly8g4oCUIG1pZ3JpZXJ0IGRhYmVpIGV2dGwuIG5vY2ggdm9yaGFuZGVuZSBBbHQtRm9ybWF0ZSAo +U3RyaW5nIG9kZXIKICAgICAgICAgICAgLy8gU2luZ2xlLU9iamVjdCkgaW5zIG5ldWUgTGlzdGVu +LVNjaGVtYSwgZGFtaXQgZGVyIEFwcGVuZCBuaWNodAogICAgICAgICAgICAvLyBlaW5lbiBNaXgg +ZGVyIEZvcm1hdGUgaGludGVybGFlc3N0LgogICAgICAgICAgICBmdW5jdGlvbiBiZXN0ZWhlbmRl +S29tbWVudGFyTGlzdGUoZGF0dW0sIHBpZCkgewogICAgICAgICAgICAgICAgdmFyIGJ1Y2tldCA9 +IG5ldWVQbGFudW5nLmtvbW1lbnRhcmVbZGF0dW1dOwogICAgICAgICAgICAgICAgaWYgKCFidWNr +ZXQpIHJldHVybiBbXTsKICAgICAgICAgICAgICAgIHZhciB2b3JoID0gYnVja2V0W3BpZF07CiAg +ICAgICAgICAgICAgICBpZiAoIXZvcmgpIHJldHVybiBbXTsKICAgICAgICAgICAgICAgIGlmICh0 +eXBlb2Ygdm9yaCA9PT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdm9y +aC50cmltKCkKICAgICAgICAgICAgICAgICAgICAgICAgPyBbeyBpZDogJ2tfbGVnYWN5XycgKyBN +YXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiA5OTk5OSksIHRleHQ6IHZvcmgsIGdlYWVuZGVydEFt +OiBudWxsLCBnZWFlbmRlcnRWb246IG51bGwgfV0KICAgICAgICAgICAgICAgICAgICAgICAgOiBb +XTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZv +cmgpKSByZXR1cm4gdm9yaC5zbGljZSgpOwogICAgICAgICAgICAgICAgaWYgKHZvcmgudGV4dCkg +ewogICAgICAgICAgICAgICAgICAgIHJldHVybiBbewogICAgICAgICAgICAgICAgICAgICAgICBp +ZDogICAgICAgICAgIHZvcmguaWQgfHwgKCdrX2xlZ2FjeV8nICsgTWF0aC5mbG9vcihNYXRoLnJh +bmRvbSgpICogOTk5OTkpKSwKICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogICAgICAgICB2 +b3JoLnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgIGdlYWVuZGVydEFtOiAgdm9yaC5nZWFl +bmRlcnRBbSB8fCBudWxsLAogICAgICAgICAgICAgICAgICAgICAgICBnZWFlbmRlcnRWb246IHZv +cmguZ2VhZW5kZXJ0Vm9uIHx8IG51bGwKICAgICAgICAgICAgICAgICAgICB9XTsKICAgICAgICAg +ICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiBbXTsKICAgICAgICAgICAgfQogICAgICAg +ICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgcy5wZXJzb25lbk1h +dGNoZXMuZm9yRWFjaChmdW5jdGlvbihtKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFtLnpp +ZWxJZCkgeyBpZ25vcmllcnRQZXJzb25lbisrOyByZXR1cm47IH0KICAgICAgICAgICAgICAgICAg +ICB2YXIgcGlkID0gU3RyaW5nKG0uemllbElkKTsKICAgICAgICAgICAgICAgICAgICB2YXIgemll +bFAgPSAobmV1ZVBsYW51bmcucGVyc29uZW4gfHwgW10pLmZpbmQoZnVuY3Rpb24ocCkgeyByZXR1 +cm4gU3RyaW5nKHAuaWQpID09PSBwaWQ7IH0pOwogICAgICAgICAgICAgICAgICAgIC8vIFdpZWRl +cmhlcnN0ZWxsdW5nIGF1cyBQYXBpZXJrb3JiIChLb252ZW50aW9uOiBEYXRlbiBsaWViZXIKICAg +ICAgICAgICAgICAgICAgICAvLyBhZG1pbmlzdHJpZXJlbiBhbHMgd2Vnd2VyZmVuKS4gR3JlaWZ0 +IGJlaSBzdGF0dXM9J3BhcGllcmtvcmInCiAgICAgICAgICAgICAgICAgICAgLy8gbWl0IERlZmF1 +bHQtVm9yc2NobGFnIG9kZXIgd2VubiBkZXIgVXNlciBpbSBNYXBwaW5nIGVpbmUKICAgICAgICAg +ICAgICAgICAgICAvLyBQYXBpZXJrb3JiLVBlcnNvbiBtYW51ZWxsIHVlYmVyIGRlbiBgcmVzdG9y +ZTo8aWQ+YC1FaW50cmFnCiAgICAgICAgICAgICAgICAgICAgLy8gYXVzZ2V3YWVobHQgaGF0Lgog +ICAgICAgICAgICAgICAgICAgIGlmIChtLndpZWRlcmhlcnN0ZWxsZW4gJiYgemllbFAgJiYgemll +bFAuZ2Vsb2VzY2h0QW0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHppZWxQLmdl +bG9lc2NodEFtOwogICAgICAgICAgICAgICAgICAgICAgICB6aWVsUC5ha3RpdiA9IHRydWU7CiAg +ICAgICAgICAgICAgICAgICAgICAgIHdpZWRlcmhlcmdlc3RlbGx0Kys7CiAgICAgICAgICAgICAg +ICAgICAgfQogICAgICAgICAgICAgICAgICAgIC8vIFJhbmdvcmRudW5nIGF1cyBFeGNlbC1TcGFs +dGUgRiBhdWYgZGllIGdlbWF0Y2h0ZSBQZXJzb24KICAgICAgICAgICAgICAgICAgICAvLyB1ZWJl +cnRyYWdlbiDigJQgd2lya3QgZGlyZWt0IGF1ZiBwZXJzb25lbk5ldUF1ZmJhdWVuKCkuCiAgICAg +ICAgICAgICAgICAgICAgaWYgKG0uZXhjZWwucmFuZyAhPSBudWxsKSB7CiAgICAgICAgICAgICAg +ICAgICAgICAgIGlmICh6aWVsUCAmJiB6aWVsUC5wb3NpdGlvbiAhPT0gbS5leGNlbC5yYW5nKSB7 +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aWVsUC5wb3NpdGlvbiA9IG0uZXhjZWwucmFu +ZzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhZW5nZVVlYmVybm9tbWVuKys7CiAgICAg +ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg +ICAgICAgT2JqZWN0LmtleXMobS5leGNlbC5laW50cmFlZ2UpLmZvckVhY2goZnVuY3Rpb24oZGF0 +dW0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNyYyA9IG0uZXhjZWwuZWludHJhZWdl +W2RhdHVtXTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHppZWwgPSBjb2RlTWFwW3NyY107 +CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghemllbCkgeyBpZ25vcmllcnRDb2RlcysrOyBy +ZXR1cm47IH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFuZXVlUGxhbnVuZy5laW50cmFl +Z2VbZGF0dW1dKSBuZXVlUGxhbnVuZy5laW50cmFlZ2VbZGF0dW1dID0ge307CiAgICAgICAgICAg +ICAgICAgICAgICAgIG5ldWVQbGFudW5nLmVpbnRyYWVnZVtkYXR1bV1bcGlkXSA9IHppZWw7CiAg +ICAgICAgICAgICAgICAgICAgICAgIGVpbnRyYWVnZUdlc2FtdCsrOwogICAgICAgICAgICAgICAg +ICAgIH0pOwogICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKG0uZXhjZWwua29tbWVudGFy +ZSB8fCB7fSkuZm9yRWFjaChmdW5jdGlvbihkYXR1bSkgewogICAgICAgICAgICAgICAgICAgICAg +ICB2YXIgY2xpc3RlID0gbS5leGNlbC5rb21tZW50YXJlW2RhdHVtXSB8fCBbXTsKICAgICAgICAg +ICAgICAgICAgICAgICAgaWYgKCFjbGlzdGUubGVuZ3RoKSByZXR1cm47CiAgICAgICAgICAgICAg +ICAgICAgICAgIGlmICghbmV1ZVBsYW51bmcua29tbWVudGFyZVtkYXR1bV0pIG5ldWVQbGFudW5n +LmtvbW1lbnRhcmVbZGF0dW1dID0ge307CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBiZXN0 +YW5kID0gYmVzdGVoZW5kZUtvbW1lbnRhckxpc3RlKGRhdHVtLCBwaWQpOwogICAgICAgICAgICAg +ICAgICAgICAgICB2YXIgaWR4ID0gMDsKICAgICAgICAgICAgICAgICAgICAgICAgY2xpc3RlLmZv +ckVhY2goZnVuY3Rpb24oa2MpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0eHQg +PSAoa2MudGV4dCB8fCAnJykudHJpbSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg +KCF0eHQpIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERlZHVwOiBnbGVp +Y2hlciBUZXh0IGJlcmVpdHMgaW0gVmVybGF1ZiAtPiBuaWNodAogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgLy8gZXJuZXV0IGFuaGFlbmdlbiAoUmUtSW1wb3J0IGR1cGxpemllcnQgc29uc3Qp +LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNjaG9uRGEgPSBiZXN0YW5kLnNvbWUo +ZnVuY3Rpb24oaykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoay50 +ZXh0IHx8ICcnKS50cmltKCkgPT09IHR4dDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0p +OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNjaG9uRGEpIHsgZGVkdXBVZWJlcnNw +cnVuZ2VuKys7IHJldHVybjsgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVzdGFuZC5w +dXNoKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogICAgICAgICAgICdrX2lt +cF8nICsgRGF0ZS5ub3coKSArICdfJyArIChpZHgrKykgKyAnXycgKyBNYXRoLmZsb29yKE1hdGgu +cmFuZG9tKCkgKiA5OTk5OSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDog +ICAgICAgICB0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gS0VJTiBaZWl0 +c3RlbXBlbDogRXhjZWwtTm90aXplbiBsaWVmZXJuIGtlaW5lbgogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIC8vIHZlcmxhZXNzbGljaGVuIFplaXRwdW5rdC4gVmVyZmFzc2VyID0gT3Jp +Z2luYWwtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQXV0b3IgYXVzIGRlciBO +b3RpeiAobmljaHQgZGVyIEltcG9ydGV1cikuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgZ2VhZW5kZXJ0QW06ICBudWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdl +YWVuZGVydFZvbjogKGtjLmF1dG9yIHx8ICcnKS50cmltKCkgfHwgbnVsbAogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrb21tZW50YXJl +R2VzYW10Kys7CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAg +ICAgICBpZiAoYmVzdGFuZC5sZW5ndGgpIG5ldWVQbGFudW5nLmtvbW1lbnRhcmVbZGF0dW1dW3Bp +ZF0gPSBiZXN0YW5kOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSk7 +CiAgICAgICAgICAgICAgICB2YXIgcmFuZ0luZm8gPSByYWVuZ2VVZWJlcm5vbW1lbiA/ICcsICcg +KyByYWVuZ2VVZWJlcm5vbW1lbiArICcgUmFlbmdlIGFrdHVhbGlzaWVydCcgOiAnJzsKICAgICAg +ICAgICAgICAgIHZhciB3aWVkZXJJbmZvID0gd2llZGVyaGVyZ2VzdGVsbHQgPyAnLCAnICsgd2ll +ZGVyaGVyZ2VzdGVsbHQgKyAnIFBlcnNvbmVuIGF1cyBQYXBpZXJrb3JiIHdpZWRlcmhlcmdlc3Rl +bGx0JyA6ICcnOwogICAgICAgICAgICAgICAgdmFyIGRlZHVwSW5mbyA9IGRlZHVwVWViZXJzcHJ1 +bmdlbiA/ICcsICcgKyBkZWR1cFVlYmVyc3BydW5nZW4gKyAnIEtvbW1lbnRhci1EdXBsaWthdGUg +w7xiZXJzcHJ1bmdlbicgOiAnJzsKICAgICAgICAgICAgICAgIGltcFByb2dyZXNzVXBkYXRlKCdE +YXRlbiB3ZXJkZW4gdHJhbnNmb3JtaWVydCDigKYnLCA2MCwKICAgICAgICAgICAgICAgICAgICBl +aW50cmFlZ2VHZXNhbXQgKyAnIEVpbnRyw6RnZSArICcgKyBrb21tZW50YXJlR2VzYW10ICsgJyBL +b21tZW50YXJlIGdlc2FtbWVsdCcgKyByYW5nSW5mbyArIHdpZWRlckluZm8gKyBkZWR1cEluZm8p +OwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgaW1wU2NocmVpYmVuUGhh +c2UzKG5ldWVQbGFudW5nLCBiYWNrdXBOYW1lLCBlaW50cmFlZ2VHZXNhbXQsIGtvbW1lbnRhcmVH +ZXNhbXQpOyB9LCAzNTApOwogICAgICAgICAgICB9LCAzMDApOwogICAgICAgIH0sIDI1MCk7CiAg +ICB9CgogICAgZnVuY3Rpb24gaW1wU2NocmVpYmVuUGhhc2UzKG5ldWVQbGFudW5nLCBiYWNrdXBO +YW1lLCBlaW50cmFlZ2VHZXNhbXQsIGtvbW1lbnRhcmVHZXNhbXQpIHsKICAgICAgICAvLyA9PT0g +UGhhc2UgMzogU2NocmVpYmVuID09PQogICAgICAgIGltcFByb2dyZXNzVXBkYXRlKCdQbGFudW5n +IHdpcmQgZ2VzY2hyaWViZW4g4oCmJywgNzAsICdQVVQgL2FwaS9wbGFudW5nJyk7CiAgICAgICAg +c2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGhlYWRlcnMgPSB7ICdDb250 +ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfTsKICAgICAgICAgICAgLy8gT3B0aW1pc3Rp +c2NoZSBTcGVycmU6IG51ciBzY2hyZWliZW4sIHdlbm4gcGxhbnVuZy5qc29uIHNlaXQgZGVtCiAg +ICAgICAgICAgIC8vIEdFVCB1bm1pdHRlbGJhciB2b3IgZGVtIFRyYW5zZm9ybSB1bnZlcmFlbmRl +cnQgaXN0LgogICAgICAgICAgICBpZiAoaW1wTGV0enRlVmVyc2lvbikgaGVhZGVyc1snSWYtUGxh +bnVuZy1WZXJzaW9uJ10gPSBpbXBMZXR6dGVWZXJzaW9uOwogICAgICAgICAgICBmZXRjaCgnL2Fw +aS9wbGFudW5nJywgewogICAgICAgICAgICAgICAgbWV0aG9kOiAnUFVUJywKICAgICAgICAgICAg +ICAgIGhlYWRlcnM6IGhlYWRlcnMsCiAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lm +eShuZXVlUGxhbnVuZykKICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbihyKSB7CiAgICAgICAg +ICAgICAgICBpZiAoci5zdGF0dXMgPT09IDQwOSkgewogICAgICAgICAgICAgICAgICAgIC8vIEpl +bWFuZCBhbmRlcmVzIGhhdCB3YWVocmVuZCBkZXMgSW1wb3J0cyBnZXNjaHJpZWJlbiDigJQgZGVy +CiAgICAgICAgICAgICAgICAgICAgLy8gU2VydmVyIGhhdCBOSUNIVFMgdWViZXJzY2hyaWViZW4u +IFdpciBicmVjaGVuIHNhdWJlciBhYiwKICAgICAgICAgICAgICAgICAgICAvLyBvaG5lIGRlc3Nl +biBBZW5kZXJ1bmcgenUgdmVybGllcmVuLgogICAgICAgICAgICAgICAgICAgIHJldHVybiByLmpz +b24oKS50aGVuKGZ1bmN0aW9uKGJvZHkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cg +bmV3IEVycm9yKCdLb25mbGlrdDogJyArIChib2R5Lm1lbGR1bmcgfHwgJ0RpZSBQbGFudW5nIHd1 +cmRlIHfDpGhyZW5kIGRlcyBJbXBvcnRzIHZvbiBlaW5lciBhbmRlcmVuIFBlcnNvbiBnZcOkbmRl +cnQuJykgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuXG5FcyB3dXJkZSBOSUNIVFMg +w7xiZXJzY2hyaWViZW4uIEJpdHRlIGRpZSBTZWl0ZSBuZXUgbGFkZW4gdW5kIGRlbiBJbXBvcnQg +ZXJuZXV0IHN0YXJ0ZW4uJyk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAg +ICB9CiAgICAgICAgICAgICAgICBpZiAoIXIub2spIHJldHVybiByLmpzb24oKS50aGVuKGZ1bmN0 +aW9uKGJvZHkpIHsgdGhyb3cgbmV3IEVycm9yKGJvZHkuZmVobGVyIHx8ICgnSFRUUCAnICsgci5z +dGF0dXMpKTsgfSk7CiAgICAgICAgICAgICAgICBpbXBQcm9ncmVzc1VwZGF0ZSgnUGxhbnVuZyB3 +aXJkIGdlc2NocmllYmVuIOKApicsIDkwLCAnQW50d29ydCB2b20gU2VydmVyIGVyaGFsdGVuJyk7 +CiAgICAgICAgICAgICAgICBaLnBsYW51bmcgPSBuZXVlUGxhbnVuZzsKICAgICAgICAgICAgICAg +IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgaW1wUHJvZ3Jlc3NF +cmZvbGcoZWludHJhZWdlR2VzYW10LCBrb21tZW50YXJlR2VzYW10LCBiYWNrdXBOYW1lKTsKICAg +ICAgICAgICAgICAgIH0sIDQwMCk7CiAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsK +ICAgICAgICAgICAgICAgIGltcFByb2dyZXNzRmVobGVyKCdTY2hyZWliZW4gZmVobGdlc2NobGFn +ZW46ICcgKyBlLm1lc3NhZ2UgKyAnXG5cbkRhcyBCYWNrdXAgIicgKyAoYmFja3VwTmFtZSB8fCAn +JykgKyAnIiBlbnRow6RsdCBkZW4gU3RhbmQgdm9yIGRlbSBJbXBvcnQuJyk7CiAgICAgICAgICAg +IH0pOwogICAgICAgIH0sIDMwMCk7CiAgICB9CgogICAgLy8gTWFwcGluZy1Nb2RhbDogendlaSBU +YWJzIChQZXJzb25lbiwgQ29kZXMpLiBEZXIgVXNlciBrYW5uIG9mZmVuZQogICAgLy8gS29uZmxp +a3RlIG1hbnVlbGwgYXVmbG9lc2VuLiBBZW5kZXJ1bmdlbiB3ZXJkZW4gZGlyZWt0IGluIGltcFN0 +YXRlCiAgICAvLyBwZXJzaXN0aWVydCDigJQgZGFzIFN0YXR1cy1QYW5lbCB3aXJkIGJlaW0gU2No +bGllc3NlbiBuZXUgZ2VyZW5kZXJ0LgogICAgZnVuY3Rpb24gaW1wTWFwcGluZ01vZGFsKCkgewog +ICAgICAgIGlmICghaW1wU3RhdGUpIHJldHVybjsKICAgICAgICAvLyBBa3RpdmUgQ29kZXMgKyBE +ZWZhdWx0LUF1c3dhaGwuIGFrdGl2ZUNvZGVzIGlzdCBsZXQtYWVobmxpY2g6CiAgICAgICAgLy8g +d2lyZCBuYWNoIGVyZm9sZ3JlaWNoZXIgTmV1YW5sYWdlIChzaWVoZSBuZXVlckNvZGVGb3JtWmVp +Z2VuKQogICAgICAgIC8vIG5ldSB6dWdld2llc2VuLCBkYW1pdCBkaWUgUmUtUmVuZGVyLVNjaGxl +aWZlIGRlbiBmcmlzY2hlbiBDb2RlCiAgICAgICAgLy8gYmVydWVja3NpY2h0aWd0LgogICAgICAg +IHZhciBha3RpdmVDb2RlcyA9IChaLmFkbWluLnNjaGljaHRjb2RlcyB8fCBbXSkuZmlsdGVyKGlz +dENvZGVBa3RpdikKICAgICAgICAgICAgLnNsaWNlKCkuc29ydChmdW5jdGlvbihhLCBiKSB7IHJl +dHVybiAoYS5jb2RlIHx8ICcnKS5sb2NhbGVDb21wYXJlKGIuY29kZSB8fCAnJywgJ2RlJyk7IH0p +OwogICAgICAgIGZ1bmN0aW9uIGNvZGVPcHRzKHppZWwpIHsKICAgICAgICAgICAgcmV0dXJuICc8 +b3B0aW9uIHZhbHVlPSJfX25ld19fIj7inpUgQWxzIG5ldWVuIENvZGUgYW5sZWdlbiDigKY8L29w +dGlvbj4nICsKICAgICAgICAgICAgICAgICc8b3B0aW9uIHZhbHVlPSIiPuKAlCBpZ25vcmllcmVu +IOKAlDwvb3B0aW9uPicgKwogICAgICAgICAgICAgICAgYWt0aXZlQ29kZXMubWFwKGZ1bmN0aW9u +KHNjKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHNlbCA9IHppZWwgPT09IHNjLmNvZGUgPyAn +IHNlbGVjdGVkJyA6ICcnOwogICAgICAgICAgICAgICAgICAgIHJldHVybiAnPG9wdGlvbiB2YWx1 +ZT0iJyArIGVzY2FwZUF0dHIoc2MuY29kZSkgKyAnIicgKyBzZWwgKyAnPicgKyBlc2NhcGVIVE1M +KHNjLmNvZGUpICsgJyDigJQgJyArIGVzY2FwZUhUTUwoc2MuYmV6ZWljaG51bmcgfHwgJycpICsg +Jzwvb3B0aW9uPic7CiAgICAgICAgICAgICAgICB9KS5qb2luKCcnKTsKICAgICAgICB9CgogICAg +ICAgIC8vIFN0YXR1cy1JY29uLU1hcCBwcm8gTWFwcGluZy1aZWlsZS4gRmFyYmVuIGtvbW1lbiBp +bmxpbmUsIGRhbWl0IGRhcwogICAgICAgIC8vIENTUyAoLmltcC1tYXBwaW5nLXN0YXR1cykgbnVy +IExheW91dCAoQnJlaXRlL0JvbGQpIHRyYWVndCDigJQgYW5hbG9nCiAgICAgICAgLy8genVtIGJl +c3RlaGVuZGVuIFN0aWwgZGVyIGltcC1tYXBwaW5nLXplaWxlLUhpbnRlcmdydWVuZGUuCiAgICAg +ICAgLy8gQnVja2V0czoKICAgICAgICAvLyAgIG9rL2FsaWFzL21hbnVlbGwgICAgIC0+IOKckyBn +cnVlbgogICAgICAgIC8vICAgbmV1ICAgICAgICAgICAgICAgICAgLT4g4p6VIGJsYXUKICAgICAg +ICAvLyAgIHBhcGllcmtvcmIgICAgICAgICAgIC0+IOKGuyBvcmFuZ2UgKEtvbmZsaWt0LURlZmF1 +bHQpCiAgICAgICAgLy8gICBtZWhyZGV1dGlnL3VuYmVrYW5udCAtPiA/IHdhcm51bmcKICAgICAg +ICAvLyAgIGlnbm9yaWVydC9pZ25vcmUgICAgIC0+IOKclyBncmF1CiAgICAgICAgZnVuY3Rpb24g +c3RhdHVzSWNvbkh0bWwobSkgewogICAgICAgICAgICB2YXIgc3QgPSBtICYmIG0uc3RhdHVzOwog +ICAgICAgICAgICB2YXIgaWMgPSAn4pyXJywgYyA9ICd2YXIoLS10ZXh0LW11dGVkKSc7CiAgICAg +ICAgICAgIGlmIChzdCA9PT0gJ29rJyB8fCBzdCA9PT0gJ2FsaWFzJyB8fCBzdCA9PT0gJ21hbnVl +bGwnKSB7IGljID0gJ+Kckyc7IGMgPSAndmFyKC0tZmFyYmUtZXJmb2xnKSc7IH0KICAgICAgICAg +ICAgZWxzZSBpZiAoc3QgPT09ICduZXUnKSB7IGljID0gJ+KelSc7IGMgPSAndmFyKC0tZmFyYmUt +cHJpbWFlciknOyB9CiAgICAgICAgICAgIGVsc2UgaWYgKHN0ID09PSAncGFwaWVya29yYicpIHsg +aWMgPSAn4oa7JzsgYyA9ICcjY2E2ZjFlJzsgfQogICAgICAgICAgICBlbHNlIGlmIChzdCA9PT0g +J21laHJkZXV0aWcnIHx8IHN0ID09PSAndW5iZWthbm50JykgeyBpYyA9ICc/JzsgYyA9ICd2YXIo +LS1mYXJiZS13YXJudW5nKSc7IH0KICAgICAgICAgICAgcmV0dXJuICc8c3BhbiBjbGFzcz0iaW1w +LW1hcHBpbmctc3RhdHVzIiBzdHlsZT0iY29sb3I6JyArIGMgKyAnIj4nICsgaWMgKyAnPC9zcGFu +Pic7CiAgICAgICAgfQoKICAgICAgICAvLyBMaXZlLUFnZ3JlZ2F0LVplaWxlIGltIE1vZGFsLUhl +YWRlci4gWmFlaGx0IGJlaWRlIE1hdGNoLUxpc3RlbgogICAgICAgIC8vIChQZXJzb25lbiArIENv +ZGVzKSB6dXNhbW1lbiB1bmQgcmVuZGVydCBudXIgZGllIG5pY2h0LWxlZXJlbiBCdWNrZXRzLgog +ICAgICAgIGZ1bmN0aW9uIHN0YXR1c1phZWhsZXJVcGRhdGVuKCkgewogICAgICAgICAgICBpZiAo +IWltcFN0YXRlKSByZXR1cm47CiAgICAgICAgICAgIHZhciB6ID0geyBvazogMCwgbmV1OiAwLCBw +azogMCwgZnJhZzogMCwgaWc6IDAgfTsKICAgICAgICAgICAgZnVuY3Rpb24gYnVja2V0RWluc29y +dGllcmVuKHN0KSB7CiAgICAgICAgICAgICAgICBpZiAoc3QgPT09ICdvaycgfHwgc3QgPT09ICdh +bGlhcycgfHwgc3QgPT09ICdtYW51ZWxsJykgei5vaysrOwogICAgICAgICAgICAgICAgZWxzZSBp +ZiAoc3QgPT09ICduZXUnKSB6Lm5ldSsrOwogICAgICAgICAgICAgICAgZWxzZSBpZiAoc3QgPT09 +ICdwYXBpZXJrb3JiJykgei5waysrOwogICAgICAgICAgICAgICAgZWxzZSBpZiAoc3QgPT09ICdt +ZWhyZGV1dGlnJyB8fCBzdCA9PT0gJ3VuYmVrYW5udCcpIHouZnJhZysrOwogICAgICAgICAgICAg +ICAgZWxzZSB6LmlnKys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaW1wU3RhdGUucGVyc29u +ZW5NYXRjaGVzLmZvckVhY2goZnVuY3Rpb24obSkgeyBidWNrZXRFaW5zb3J0aWVyZW4obS5zdGF0 +dXMpOyB9KTsKICAgICAgICAgICAgaW1wU3RhdGUuY29kZU1hdGNoZXMuZm9yRWFjaChmdW5jdGlv +bihtKSB7IGJ1Y2tldEVpbnNvcnRpZXJlbihtLnN0YXR1cyk7IH0pOwogICAgICAgICAgICB2YXIg +dGVpbGUgPSBbXTsKICAgICAgICAgICAgaWYgKHoub2spICAgdGVpbGUucHVzaCgnPHNwYW4gc3R5 +bGU9ImNvbG9yOnZhcigtLWZhcmJlLWVyZm9sZykiPuKckyAnICAgKyB6Lm9rICsgJzwvc3Bhbj4n +KTsKICAgICAgICAgICAgaWYgKHoubmV1KSAgdGVpbGUucHVzaCgnPHNwYW4gc3R5bGU9ImNvbG9y +OnZhcigtLWZhcmJlLXByaW1hZXIpIj7inpUgJyArIHoubmV1ICsgJzwvc3Bhbj4nKTsKICAgICAg +ICAgICAgaWYgKHoucGspICAgdGVpbGUucHVzaCgnPHNwYW4gc3R5bGU9ImNvbG9yOiNjYTZmMWUi +PuKGuyAnICAgICAgICAgICAgICAgICsgei5wayArICc8L3NwYW4+Jyk7CiAgICAgICAgICAgIGlm +ICh6LmZyYWcpIHRlaWxlLnB1c2goJzxzcGFuIHN0eWxlPSJjb2xvcjp2YXIoLS1mYXJiZS13YXJu +dW5nKSI+PyAnICAgKyB6LmZyYWcgKyAnPC9zcGFuPicpOwogICAgICAgICAgICBpZiAoei5pZykg +ICB0ZWlsZS5wdXNoKCc8c3BhbiBzdHlsZT0iY29sb3I6dmFyKC0tdGV4dC1tdXRlZCkiPuKclyAn +ICAgICAgKyB6LmlnICsgJzwvc3Bhbj4nKTsKICAgICAgICAgICAgdmFyIGFnID0gZG9jdW1lbnQu +Z2V0RWxlbWVudEJ5SWQoJ2ltcC1zdGF0dXMtYWdncmVnYXQnKTsKICAgICAgICAgICAgaWYgKGFn +KSBhZy5pbm5lckhUTUwgPSB0ZWlsZS5qb2luKCcgICcpOwogICAgICAgIH0KCiAgICAgICAgLy8g +UGVyc29uZW4tS2FuZGlkYXRlbiBmdWVyIE1laHJkZXV0aWctL1VuYmVrYW5udC0vUGFwaWVya29y +Yi1BdXN3YWhsLgogICAgICAgIC8vIEtvbnZlbnRpb246IG5pY2h0cyB3ZWdibGVuZGVuIOKAlCBk +ZXIgQWRtaW4gc29sbCBkaWUgRGF0ZW4gbGllYmVyCiAgICAgICAgLy8gc2ljaHRiYXIgaGFiZW4g +dW5kIGVudHNjaGVpZGVuLCBzdGF0dCBzaWUgenUgdmVybGllcmVuLiBQYXBpZXJrb3JiLQogICAg +ICAgIC8vIFBlcnNvbmVuIGVyc2NoZWluZW4gc29ydGllcnQgYW5zIEVuZGUgdW5kIHdlcmRlbiBt +aXQgYOKGuyAuLi4KICAgICAgICAvLyAoUGFwaWVya29yYiDigJQgd2lyZCB3aWVkZXJoZXJnZXN0 +ZWxsdClgIG1hcmtpZXJ0LiBJaHIgPG9wdGlvbj4tV2VydAogICAgICAgIC8vIGlzdCBgcmVzdG9y +ZTo8aWQ+YCwgZGFtaXQgZGVyIFNhdmUtUGZhZCBzaWUgYXV0b21hdGlzY2ggd2llZGVyCiAgICAg +ICAgLy8gYWt0aXYgc2NoYWx0ZXQg4oCUIGVpbmUgdmVyc2VoZW50bGljaGUgWnVvcmRudW5nIGF1 +ZiBlaW5lcgogICAgICAgIC8vIGF1c3JhbmdpZXJ0ZW4gUGVyc29uIG9obmUgV2llZGVyaGVyc3Rl +bGx1bmcgaXN0IHNvIG5pY2h0IG1vZWdsaWNoLgogICAgICAgIHZhciBhbGxlQmVzdGFuZCA9ICha +LnBsYW51bmcucGVyc29uZW4gfHwgW10pLnNsaWNlKCkKICAgICAgICAgICAgLnNvcnQoZnVuY3Rp +b24oYSwgYikgewogICAgICAgICAgICAgICAgdmFyIGFQSyA9ICEhYS5nZWxvZXNjaHRBbSwgYlBL +ID0gISFiLmdlbG9lc2NodEFtOwogICAgICAgICAgICAgICAgaWYgKGFQSyAhPT0gYlBLKSByZXR1 +cm4gYVBLID8gMSA6IC0xOwogICAgICAgICAgICAgICAgcmV0dXJuIChhLm5hbWUgfHwgJycpLmxv +Y2FsZUNvbXBhcmUoYi5uYW1lIHx8ICcnLCAnZGUnKTsKICAgICAgICAgICAgfSk7CiAgICAgICAg +ZnVuY3Rpb24gcGVyc29uT3B0cyhtKSB7CiAgICAgICAgICAgIC8vIERyb3Bkb3duLVdlcnRlOgog +ICAgICAgICAgICAvLyAgICJuZXciICAgICAgICAgICAgIC0+IFBlcnNvbiBuZXUgYW5sZWdlbiAo +RXhjZWwtRGF0ZW4pCiAgICAgICAgICAgIC8vICAgIiIgICAgICAgICAgICAgICAgLT4gaWdub3Jp +ZXJlbgogICAgICAgICAgICAvLyAgICI8aWQ+IiAgICAgICAgICAgIC0+IGFrdGl2ZSBCZXN0YW5k +cy1QZXJzb24genVvcmRuZW4KICAgICAgICAgICAgLy8gICAicmVzdG9yZTo8aWQ+IiAgICAtPiBQ +YXBpZXJrb3JiLVBlcnNvbiB3aWVkZXJoZXJzdGVsbGVuICsgenVvcmRuZW4KICAgICAgICAgICAg +dmFyIGFrdGl2ZVZhbHVlOwogICAgICAgICAgICBpZiAobS5uZXVBbmxlZ2VuKSBha3RpdmVWYWx1 +ZSA9ICduZXcnOwogICAgICAgICAgICBlbHNlIGlmIChtLnppZWxJZCAhPSBudWxsKSBha3RpdmVW +YWx1ZSA9IG0ud2llZGVyaGVyc3RlbGxlbiA/ICdyZXN0b3JlOicgKyBtLnppZWxJZCA6IFN0cmlu +ZyhtLnppZWxJZCk7CiAgICAgICAgICAgIGVsc2UgYWt0aXZlVmFsdWUgPSAnJzsKICAgICAgICAg +ICAgdmFyIG9wdHNLb3BmID0gJzxvcHRpb24gdmFsdWU9Im5ldyInICsgKGFrdGl2ZVZhbHVlID09 +PSAnbmV3JyA/ICcgc2VsZWN0ZWQnIDogJycpICsgJz7inpUgTmV1IGFubGVnZW4g4oCUIG1pdCBF +eGNlbC1EYXRlbiAoTmFjaG5hbWUsIE9FLCBHcnVwcGUsIFRlbGVmb24sIFJhbmcpPC9vcHRpb24+ +JyArCiAgICAgICAgICAgICAgICAnPG9wdGlvbiB2YWx1ZT0iIicgKyAoYWt0aXZlVmFsdWUgPT09 +ICcnID8gJyBzZWxlY3RlZCcgOiAnJykgKyAnPuKAlCBpZ25vcmllcmVuIOKAlDwvb3B0aW9uPic7 +CiAgICAgICAgICAgIHJldHVybiBvcHRzS29wZiArCiAgICAgICAgICAgICAgICBhbGxlQmVzdGFu +ZC5tYXAoZnVuY3Rpb24ocCkgewogICAgICAgICAgICAgICAgICAgIHZhciBvcHRWYWx1ZSwgbGFi +ZWw7CiAgICAgICAgICAgICAgICAgICAgaWYgKHAuZ2Vsb2VzY2h0QW0pIHsKICAgICAgICAgICAg +ICAgICAgICAgICAgb3B0VmFsdWUgPSAncmVzdG9yZTonICsgcC5pZDsKICAgICAgICAgICAgICAg +ICAgICAgICAgbGFiZWwgPSAn4oa7ICcgKyAoKHAudm9ybmFtZSB8fCAnJykgKyAnICcgKyAocC5u +YW1lIHx8ICcnKSkudHJpbSgpICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIMK3 +ICcgKyAocC5vZSB8fCAnPycpICsgJyDCtyAnICsgKHAuZ3J1cHBlIHx8ICc/JykgKwogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICcgKFBhcGllcmtvcmIg4oCUIHdpcmQgd2llZGVyaGVy +Z2VzdGVsbHQpJzsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAg +ICAgICAgICBvcHRWYWx1ZSA9IFN0cmluZyhwLmlkKTsKICAgICAgICAgICAgICAgICAgICAgICAg +bGFiZWwgPSAoKHAudm9ybmFtZSB8fCAnJykgKyAnICcgKyAocC5uYW1lIHx8ICcnKSkudHJpbSgp +ICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIMK3ICcgKyAocC5vZSB8fCAnPycp +ICsgJyDCtyAnICsgKHAuZ3J1cHBlIHx8ICc/Jyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAg +ICAgICAgICAgICAgICAgIHZhciBzZWwgPSBvcHRWYWx1ZSA9PT0gYWt0aXZlVmFsdWUgPyAnIHNl +bGVjdGVkJyA6ICcnOwogICAgICAgICAgICAgICAgICAgIHJldHVybiAnPG9wdGlvbiB2YWx1ZT0i +JyArIGVzY2FwZUF0dHIob3B0VmFsdWUpICsgJyInICsgc2VsICsgJz4nICsgZXNjYXBlSFRNTChs +YWJlbCkgKyAnPC9vcHRpb24+JzsKICAgICAgICAgICAgICAgIH0pLmpvaW4oJycpOwogICAgICAg +IH0KCiAgICAgICAgLy8gUGVyc29uZW4tUGFuZWwKICAgICAgICB2YXIgcGVyc0h0bWwgPSAnPHAg +c3R5bGU9Im1hcmdpbjowIDAgOHB4IDA7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tdGV4dC1t +dXRlZCkiPlBlcnNvbmVuIGF1cyBkZXIgRXhjZWwtRGF0ZWkgKCcgKyBpbXBTdGF0ZS5leGNlbFBl +cnNvbmVuLmxlbmd0aCArICcpLiBHcsO8biA9IGVpbmRldXRpZyB6dWdlb3JkbmV0LCBibGF1ID0g +d2lyZCBuZXUgYW5nZWxlZ3QsIG9yYW5nZSA9IFBhcGllcmtvcmItVHJlZmZlciAoRGVmYXVsdDog +d2llZGVyaGVyc3RlbGxlbiksIGdlbGIgPSBtZWhyZGV1dGlnLjwvcD4nICsKICAgICAgICAgICAg +JzxkaXYgY2xhc3M9ImltcC1tYXBwaW5nLWxpc3RlIj4nOwogICAgICAgIGltcFN0YXRlLnBlcnNv +bmVuTWF0Y2hlcy5mb3JFYWNoKGZ1bmN0aW9uKG0sIGkpIHsKICAgICAgICAgICAgdmFyIHN0ID0g +bS5zdGF0dXM7CiAgICAgICAgICAgIHZhciBjbHMgPSBzdCA9PT0gJ29rJyA/ICdpbXAtb2snCiAg +ICAgICAgICAgICAgICAgICAgOiBzdCA9PT0gJ3BhcGllcmtvcmInID8gJ2ltcC1wYXBpZXJrb3Ji +JwogICAgICAgICAgICAgICAgICAgIDogc3QgPT09ICduZXUnID8gJ2ltcC1uZXUnCiAgICAgICAg +ICAgICAgICAgICAgOiAnaW1wLXdhcm4nOwogICAgICAgICAgICB2YXIgYW56YWhsRWludHIgPSBP +YmplY3Qua2V5cyhtLmV4Y2VsLmVpbnRyYWVnZSkubGVuZ3RoOwogICAgICAgICAgICB2YXIgcXVl +bGxlID0gJzxkaXY+PHNwYW4gY2xhc3M9ImltcC1tYXBwaW5nLXF1ZWxsZSI+JyArIGVzY2FwZUhU +TUwobS5leGNlbC5uYWNobmFtZSkgKyAnPC9zcGFuPicgKwogICAgICAgICAgICAgICAgJzxzcGFu +IGNsYXNzPSJpbXAtbWFwcGluZy1hbnphaGwiPsK3ICcgKyBhbnphaGxFaW50ciArICcgWmVsbGVu +LCBPRSAnICsgZXNjYXBlSFRNTChtLmV4Y2VsLm9lIHx8ICc/JykgKyAnLCBHcnAgJyArIGVzY2Fw +ZUhUTUwobS5leGNlbC5ncnVwcGUgfHwgJz8nKSArCiAgICAgICAgICAgICAgICAobS5leGNlbC5y +YW5nICE9IG51bGwgPyAnLCBSYW5nICcgKyBtLmV4Y2VsLnJhbmcgOiAnJykgKyAnPC9zcGFuPjwv +ZGl2Pic7CiAgICAgICAgICAgIHZhciB6aWVsOwogICAgICAgICAgICBpZiAoc3QgPT09ICdvaycp +IHsKICAgICAgICAgICAgICAgIHppZWwgPSAnPGRpdiBzdHlsZT0iY29sb3I6dmFyKC0tZmFyYmUt +ZXJmb2xnKTtmb250LXNpemU6MTJweCI+4pyTICcgKyBlc2NhcGVIVE1MKG0udHJlZmZlclswXS52 +b3JuYW1lIHx8ICcnKSArICcgJyArIGVzY2FwZUhUTUwobS50cmVmZmVyWzBdLm5hbWUpICsgJyAo +SUQgJyArIG0udHJlZmZlclswXS5pZCArICcpPC9kaXY+JzsKICAgICAgICAgICAgfSBlbHNlIGlm +IChzdCA9PT0gJ3BhcGllcmtvcmInKSB7CiAgICAgICAgICAgICAgICAvLyBLb25mbGlrdC1IaW53 +ZWlzICsgRHJvcGRvd24gbWl0IFdpZWRlcmhlcnN0ZWxsZW4tRGVmYXVsdC4KICAgICAgICAgICAg +ICAgIC8vIERlciBVc2VyIGthbm4gaGllciBhdWNoIGVpbmUgYW5kZXJlIGFrdGl2ZSBQZXJzb24g +d2FlaGxlbiBvZGVyCiAgICAgICAgICAgICAgICAvLyBpZ25vcmllcmVuIOKAlCBkZXIgRGVmYXVs +dCAiV2llZGVyaGVyc3RlbGxlbiArIHp1b3JkbmVuIgogICAgICAgICAgICAgICAgLy8gc2ljaGVy +dCBkaWUgRXhjZWwtRGF0ZW4gaW4gamVkZW0gRmFsbCBhYi4KICAgICAgICAgICAgICAgIC8vIHBp +ZEtleS1XcmFwcGVyOiBtLnppZWxJZCBpc3QgbmFjaCBwYXJzZUludCgpIG9kZXIgQVBJLUFubGFn +ZQogICAgICAgICAgICAgICAgLy8gZWluIE51bWJlciwgcC5pZCBpc3QgaW4gZGVyIFByYXhpcyBh +dWNoIE51bWJlciDigJQgYWJlciB3ZW5uCiAgICAgICAgICAgICAgICAvLyBqZW1hbmQgbWFsIGVp +bmUgcGxhbnVuZy5qc29uIG1pdCBTdHJpbmctSURzIGVkaXRpZXJ0LCBzY2hsYWVndAogICAgICAg +ICAgICAgICAgLy8gZGVyID09PSBWZXJnbGVpY2ggZmVobC4gU3RyaW5nLXp1LVN0cmluZyBpc3Qg +cm9idXN0ZXIuCiAgICAgICAgICAgICAgICB2YXIgcGtwID0gbS50cmVmZmVyLmZpbmQoZnVuY3Rp +b24ocCkgeyByZXR1cm4gcGlkS2V5KHAuaWQpID09PSBwaWRLZXkobS56aWVsSWQpOyB9KTsKICAg +ICAgICAgICAgICAgIHZhciBwa05hbWUgPSBwa3AgPyAoKChwa3Audm9ybmFtZSB8fCAnJykgKyAn +ICcgKyAocGtwLm5hbWUgfHwgJycpKS50cmltKCkgfHwgKCdJRCAnICsgcGtwLmlkKSkgOiAnJzsK +ICAgICAgICAgICAgICAgIHZhciBwa1NlaXQgPSAocGtwICYmIHBrcC5nZWxvZXNjaHRBbSkgPyBT +dHJpbmcocGtwLmdlbG9lc2NodEFtKS5zdWJzdHIoMCwgMTApIDogJyc7CiAgICAgICAgICAgICAg +ICB6aWVsID0gJzxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47 +Z2FwOjRweDttaW4td2lkdGg6MjgwcHgiPicgKwogICAgICAgICAgICAgICAgICAgICc8c2VsZWN0 +IGNsYXNzPSJmb3JtLWlucHV0IGltcC1wZXJzLXNlbCIgZGF0YS1pPSInICsgaSArICciPicgKyBw +ZXJzb25PcHRzKG0pICsgJzwvc2VsZWN0PicgKwogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNs +YXNzPSJpbXAtcGFwaWVya29yYi1oaW53ZWlzIj4nICsKICAgICAgICAgICAgICAgICAgICAgICAg +J+KGuyBFaW5kZXV0aWdlciBUcmVmZmVyIGltIFBhcGllcmtvcmI6IDxzdHJvbmc+JyArIGVzY2Fw +ZUhUTUwocGtOYW1lKSArICc8L3N0cm9uZz4nICsKICAgICAgICAgICAgICAgICAgICAgICAgKHBr +U2VpdCA/ICcsIGdlbMO2c2NodCAnICsgZXNjYXBlSFRNTChwa1NlaXQpIDogJycpICsKICAgICAg +ICAgICAgICAgICAgICAgICAgJy4gRGVmYXVsdDogUGVyc29uIHdpZWRlcmhlcnN0ZWxsZW4gdW5k +IERhdGVuIMO8YmVybmVobWVuLicgKwogICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsKICAg +ICAgICAgICAgICAgICc8L2Rpdj4nOwogICAgICAgICAgICB9IGVsc2UgaWYgKHN0ID09PSAnbmV1 +JykgewogICAgICAgICAgICAgICAgLy8gVGlwcGZlaGxlci1XYXJudW5nOiBhZWhubGljaGUgQmVz +dGFuZHNuYW1lbiBwcm9taW5lbnQgemVpZ2VuLAogICAgICAgICAgICAgICAgLy8gZGFtaXQgZGVy +IFVzZXIgbmljaHQgdmVyc2VoZW50bGljaCBlaW4gRHVwbGlrYXQgYW5sZWd0LiBEaWUKICAgICAg +ICAgICAgICAgIC8vIEthbmRpZGF0ZW4gc3RlaGVuIG9obmVoaW4gaW0gRHJvcGRvd24g4oCUIGRl +ciBIaW53ZWlzIG5lbm50IHNpZQogICAgICAgICAgICAgICAgLy8gYmVpbSBOYW1lbiwgZGFtaXQg +bWFuIHNpZSBmaW5kZXQgdW5kIGJld3Vzc3QgenVvcmRuZW4ga2Fubi4KICAgICAgICAgICAgICAg +IHZhciBhZWhubGljaEh0bWwgPSAnJzsKICAgICAgICAgICAgICAgIGlmIChtLmFlaG5saWNoICYm +IG0uYWVobmxpY2gubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG5hbWVuID0gbS5h +ZWhubGljaC5tYXAoZnVuY3Rpb24oYSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g +JzxzdHJvbmc+JyArIGVzY2FwZUhUTUwoKChhLm5hbWUgfHwgJycpKS50cmltKCkpICsgJzwvc3Ry +b25nPic7CiAgICAgICAgICAgICAgICAgICAgfSkuam9pbignLCAnKTsKICAgICAgICAgICAgICAg +ICAgICBhZWhubGljaEh0bWwgPSAnPGRpdiBjbGFzcz0iaW1wLWFlaG5saWNoLXdhcm51bmciIHN0 +eWxlPSJmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS1mYXJiZS13YXJudW5nKTtib3JkZXI6MXB4 +IHNvbGlkIHZhcigtLWZhcmJlLXdhcm51bmcpO2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmc6NHB4 +IDZweCI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICfimqAgw4RobmxpY2ggenUgYmVzdGVo +ZW5kZXIgUGVyc29uOiAnICsgbmFtZW4gKyAnLiBGYWxscyBkYXMgZGllc2VsYmUgUGVyc29uIGlz +dCAoei5CLiBUaXBwZmVobGVyKSwgYml0dGUgb2JlbiB6dW9yZG5lbiBzdGF0dCBuZXUgYW56dWxl +Z2VuIOKAlCBzb25zdCBlbnRzdGVodCBlaW4gRHVwbGlrYXQuJyArCiAgICAgICAgICAgICAgICAg +ICAgJzwvZGl2Pic7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB6aWVsID0gJzxk +aXYgc3R5bGU9ImRpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjRweDttaW4t +d2lkdGg6MjgwcHgiPicgKwogICAgICAgICAgICAgICAgICAgICc8c2VsZWN0IGNsYXNzPSJmb3Jt +LWlucHV0IGltcC1wZXJzLXNlbCIgZGF0YS1pPSInICsgaSArICciPicgKyBwZXJzb25PcHRzKG0p +ICsgJzwvc2VsZWN0PicgKwogICAgICAgICAgICAgICAgICAgIGFlaG5saWNoSHRtbCArCiAgICAg +ICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImltcC1uZXUtaGlud2VpcyI+JyArCiAgICAgICAg +ICAgICAgICAgICAgICAgICfinpUgTmljaHQgaW0gQmVzdGFuZC4gRGVmYXVsdDogPHN0cm9uZz5O +ZXUgYW5sZWdlbjwvc3Ryb25nPiBtaXQgRXhjZWwtRGF0ZW4g4oCUIE5hY2hwZmxlZ2UgKFZvcm5h +bWUsIEZ1bmt0aW9uLCDigKYpIGFuc2NobGllc3NlbmQgaW0gTmV1aW1wb3J0LUJsb2NrLicgKwog +ICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8L2Rpdj4nOwog +ICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgemllbCA9ICc8c2VsZWN0IGNsYXNz +PSJmb3JtLWlucHV0IGltcC1wZXJzLXNlbCIgZGF0YS1pPSInICsgaSArICciPicgKyBwZXJzb25P +cHRzKG0pICsgJzwvc2VsZWN0Pic7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcGVyc0h0bWwg +Kz0gJzxkaXYgY2xhc3M9ImltcC1tYXBwaW5nLXplaWxlICcgKyBjbHMgKyAnIiBkYXRhLXBlcnMt +aT0iJyArIGkgKyAnIj4nICsgc3RhdHVzSWNvbkh0bWwobSkgKyBxdWVsbGUgKyAnPHNwYW4gY2xh +c3M9ImltcC1wZmVpbCI+4oaSPC9zcGFuPicgKyB6aWVsICsgJzwvZGl2Pic7CiAgICAgICAgfSk7 +CiAgICAgICAgcGVyc0h0bWwgKz0gJzwvZGl2Pic7CgogICAgICAgIC8vIENvZGUtUGFuZWwKICAg +ICAgICB2YXIgY29kZUh0bWwgPSAnPHAgc3R5bGU9Im1hcmdpbjowIDAgOHB4IDA7Zm9udC1zaXpl +OjEycHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCkiPkFsbGUgU2NoaWNodGNvZGVzIGF1cyBkZXIg +RXhjZWwtRGF0ZWkgKCcgKyBpbXBTdGF0ZS5jb2RlTWF0Y2hlcy5sZW5ndGggKyAnKS4gQWxpYXNl +IHVuZCBiZWthbm50ZSBDb2RlcyBzaW5kIHZvcmJlbGVndCDigJQgb2ZmZW5lIENvZGVzIG3DvHNz +ZW4genVnZW9yZG5ldCBvZGVyIGF1ZiDigJ5pZ25vcmllcmVuIiBnZXNldHp0IHdlcmRlbi48L3A+ +JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJpbXAtbWFwcGluZy1saXN0ZSI+JzsKICAgICAg +ICBpbXBTdGF0ZS5jb2RlTWF0Y2hlcy5mb3JFYWNoKGZ1bmN0aW9uKG0sIGkpIHsKICAgICAgICAg +ICAgdmFyIGNscyA9IG0uc3RhdHVzID09PSAnb2snIHx8IG0uc3RhdHVzID09PSAnYWxpYXMnID8g +J2ltcC1vaycgOiBtLnN0YXR1cyA9PT0gJ2lnbm9yZScgPyAnJyA6ICdpbXAtd2Fybic7CiAgICAg +ICAgICAgIHZhciBxdWVsbGUgPSAnPGRpdj48c3BhbiBjbGFzcz0iaW1wLW1hcHBpbmctcXVlbGxl +Ij48Y29kZT4nICsgZXNjYXBlSFRNTChtLmNvZGUpICsgJzwvY29kZT48L3NwYW4+JyArCiAgICAg +ICAgICAgICAgICAnPHNwYW4gY2xhc3M9ImltcC1tYXBwaW5nLWFuemFobCI+wrcgJyArIG0uYW56 +YWhsICsgJ8OXIGluIGRlciBEYXRlaTwvc3Bhbj4nICsKICAgICAgICAgICAgICAgICc8ZGl2IHN0 +eWxlPSJmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKSI+JyArIGVzY2FwZUhU +TUwobS5oaW53ZWlzIHx8ICcnKSArICc8L2Rpdj48L2Rpdj4nOwogICAgICAgICAgICB2YXIgemll +bCA9ICc8c2VsZWN0IGNsYXNzPSJmb3JtLWlucHV0IGltcC1jb2RlLXNlbCIgZGF0YS1pPSInICsg +aSArICciPicgKyBjb2RlT3B0cyhtLnppZWwpICsgJzwvc2VsZWN0Pic7CiAgICAgICAgICAgIGNv +ZGVIdG1sICs9ICc8ZGl2IGNsYXNzPSJpbXAtbWFwcGluZy16ZWlsZSAnICsgY2xzICsgJyIgZGF0 +YS1jb2RlLWk9IicgKyBpICsgJyI+JyArIHN0YXR1c0ljb25IdG1sKG0pICsgcXVlbGxlICsgJzxz +cGFuIGNsYXNzPSJpbXAtcGZlaWwiPuKGkjwvc3Bhbj4nICsgemllbCArICc8L2Rpdj4nOwogICAg +ICAgIH0pOwogICAgICAgIGNvZGVIdG1sICs9ICc8L2Rpdj4nOwoKICAgICAgICAvLyBBZ2dyZWdh +dC1aZWlsZSAoTGl2ZS1aYWVobGVyKSB1ZWJlciBkZW4gVGFiLUJ1dHRvbnMuIFdpcmQgZHVyY2gK +ICAgICAgICAvLyBzdGF0dXNaYWVobGVyVXBkYXRlbigpIG5hY2ggbW9kYWxaZWlnZW4gKyBuYWNo +IGplZGVtIFNlbGVjdC1DaGFuZ2UKICAgICAgICAvLyBiZWZ1ZWxsdC4gQmxlaWJ0IGxlZXIgKENT +UzogOmVtcHR5IHsgZGlzcGxheTpub25lIH0pIHdlbm4gYmVpZGUKICAgICAgICAvLyBNYXRjaC1M +aXN0ZW4gbGVlciBzaW5kLgogICAgICAgIHZhciBrb2VycGVyID0gJzxkaXYgY2xhc3M9ImltcC1z +dGF0dXMtYWdncmVnYXQiIGlkPSJpbXAtc3RhdHVzLWFnZ3JlZ2F0Ij48L2Rpdj4nICsKICAgICAg +ICAnPGRpdiBjbGFzcz0ibW9kYWwtdGFicyIgc3R5bGU9ImRpc3BsYXk6ZmxleDtnYXA6OHB4O21h +cmdpbi1ib3R0b206MTRweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGln +aHQpIj4nICsKICAgICAgICAgICAgJzxidXR0b24gY2xhc3M9ImJ0biBidG4tc2VrIiBkYXRhLWlt +cC10YWI9InBlcnNvbmVuIiBzdHlsZT0iYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMCI+UGVyc29u +ZW48L2J1dHRvbj4nICsKICAgICAgICAgICAgJzxidXR0b24gY2xhc3M9ImJ0biBidG4tc2VrIiBk +YXRhLWltcC10YWI9ImNvZGVzIiBzdHlsZT0iYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMCI+Q29k +ZXM8L2J1dHRvbj4nICsKICAgICAgICAnPC9kaXY+JyArCiAgICAgICAgJzxkaXYgaWQ9ImltcC10 +YWItcGVyc29uZW4iPicgKyBwZXJzSHRtbCArICc8L2Rpdj4nICsKICAgICAgICAnPGRpdiBpZD0i +aW1wLXRhYi1jb2RlcyIgY2xhc3M9InZlcnN0ZWNrdCI+JyArIGNvZGVIdG1sICsgJzwvZGl2Pic7 +CgogICAgICAgIC8vIFNuYXBzaG90IGRlciBNYXBwaW5nLVppZWx3ZXJ0ZSB2b3IgZGVtIE9lZmZu +ZW4g4oCUIGRpZSBMaXZlLUJpbmRpbmdzCiAgICAgICAgLy8gKFouIH42ODUsIH43MTMpIG11dGll +cmVuIGltcFN0YXRlIGRpcmVrdCBiZWkgamVkZXIgU2VsZWN0LUFlbmRlcnVuZy4KICAgICAgICAv +LyBCZWkgIkFiYnJlY2hlbiIgcm9sbGVuIHdpciBhdWYgZGVuIFNuYXBzaG90IHp1cnVlY2suCiAg +ICAgICAgdmFyIG1hcHBpbmdTbmFwc2hvdCA9IHsKICAgICAgICAgICAgcG06IEpTT04ucGFyc2Uo +SlNPTi5zdHJpbmdpZnkoaW1wU3RhdGUucGVyc29uZW5NYXRjaGVzKSksCiAgICAgICAgICAgIGNt +OiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGltcFN0YXRlLmNvZGVNYXRjaGVzKSkKICAgICAg +ICB9OwoKICAgICAgICB2YXIgZnVzcyA9ICc8YnV0dG9uIGNsYXNzPSJidG4iIGlkPSJpbXAtbW9k +YWwtYWJicmVjaGVuIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OmF1dG8iPkFiYnJlY2hlbjwvYnV0dG9u +PicgKwogICAgICAgICAgICAgICAgICAgJzxidXR0b24gY2xhc3M9ImJ0biBidG4tcHJpbWFlciIg +aWQ9ImltcC1tb2RhbC11ZWJlcm5laG1lbiIgdGl0bGU9Ik9mZmVuZSBNYXBwaW5ncyBpZ25vcmll +cmVuLCByZXN0bGljaGUgQXVzd2FobCB1ZWJlcm5laG1lbiI+w5xiZXJuZWhtZW48L2J1dHRvbj4n +OwogICAgICAgIG1vZGFsWmVpZ2VuKCdFeGNlbC1JbXBvcnQ6IE1hcHBpbmcgcHLDvGZlbicsIGtv +ZXJwZXIsIGZ1c3MsIG51bGwpOwoKICAgICAgICAvLyBEaXNjYXJkLUhvb2s6IGJlaSAiVmVyd2Vy +ZmVuIiBpbSBEaXJ0eS1CZXN0YWV0aWd1bmdzLURpYWxvZwogICAgICAgIC8vICh1aV9kaWFsb2cu +anM6MjMwKSB3aXJkIGRpZXNlciBDYWxsYmFjayBhdWZnZXJ1ZmVuLCBiZXZvciBkYXMgTW9kYWwK +ICAgICAgICAvLyBmb3JjaWVydCBnZXNjaGxvc3NlbiB3aXJkLiBHcmVpZnQgYXVjaCB3ZW5uIGRl +ciBVc2VyIHBlciBFU0MgLwogICAgICAgIC8vIE92ZXJsYXktS2xpY2sgc2NobGllc3N0IHVuZCBp +bSBCZXN0YWV0aWd1bmdzLURpYWxvZyAiVmVyd2VyZmVuIiB3YWVobHQuCiAgICAgICAgWi5tb2Rh +bE9uRGlzY2FyZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBpbXBTdGF0ZS5wZXJzb25lbk1h +dGNoZXMgPSBtYXBwaW5nU25hcHNob3QucG07CiAgICAgICAgICAgIGltcFN0YXRlLmNvZGVNYXRj +aGVzID0gbWFwcGluZ1NuYXBzaG90LmNtOwogICAgICAgICAgICBpbXBTdGF0dXNSZW5kZXJuKCk7 +CiAgICAgICAgfTsKCiAgICAgICAgLy8gVGFiLVN3aXRjaAogICAgICAgIHZhciB0YWJzID0gZG9j +dW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtaW1wLXRhYl0nKTsKICAgICAgICBmdW5jdGlv +biB0YWJaZWlnZW4obmFtZSkgewogICAgICAgICAgICB0YWJzLmZvckVhY2goZnVuY3Rpb24odCkg +eyB0LmNsYXNzTGlzdC50b2dnbGUoJ2FrdGl2JywgdC5nZXRBdHRyaWJ1dGUoJ2RhdGEtaW1wLXRh +YicpID09PSBuYW1lKTsgfSk7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdp +bXAtdGFiLXBlcnNvbmVuJykuY2xhc3NMaXN0LnRvZ2dsZSgndmVyc3RlY2t0JywgbmFtZSAhPT0g +J3BlcnNvbmVuJyk7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbXAtdGFi +LWNvZGVzJykuY2xhc3NMaXN0LnRvZ2dsZSgndmVyc3RlY2t0JywgbmFtZSAhPT0gJ2NvZGVzJyk7 +CiAgICAgICAgfQogICAgICAgIHRhYnMuZm9yRWFjaChmdW5jdGlvbih0KSB7IHQuYWRkRXZlbnRM +aXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsgdGFiWmVpZ2VuKHQuZ2V0QXR0cmlidXRlKCdk +YXRhLWltcC10YWInKSk7IH0pOyB9KTsKICAgICAgICB0YWJaZWlnZW4oJ3BlcnNvbmVuJyk7Cgog +ICAgICAgIC8vIEluaXRpYWxlcyBSZW5kZXJuIGRlciBBZ2dyZWdhdC1aZWlsZS4KICAgICAgICBz +dGF0dXNaYWVobGVyVXBkYXRlbigpOwoKICAgICAgICAvLyBMaXZlLUJpbmRpbmdzOiBBdXN3YWhs +IGFlbmRlcm4gLT4gaW1wU3RhdGUtWmllbHdlcnRlIHVwZGF0ZW4uCiAgICAgICAgLy8gU3Blemlh +bGZhZWxsZTogYG5ld2AgLT4gbmV1IGFubGVnZW4sIGByZXN0b3JlOjxpZD5gIC0+IFBhcGllcmtv +cmItCiAgICAgICAgLy8gV2llZGVyaGVyc3RlbGxlbi4gQmVpZGUgRmxhZ3Mgd2VyZGVuIGluIFBo +YXNlIDJhIChBbmxhZ2UgbmV1ZXIKICAgICAgICAvLyBQZXJzb25lbikgYnp3LiBQaGFzZSAyYiAo +V2llZGVyaGVyc3RlbGx1bmcpIGF1c2dld2VydGV0LgogICAgICAgIGRvY3VtZW50LnF1ZXJ5U2Vs +ZWN0b3JBbGwoJy5pbXAtcGVycy1zZWwnKS5mb3JFYWNoKGZ1bmN0aW9uKHNlbCkgewogICAgICAg +ICAgICBzZWwuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgZnVuY3Rpb24oKSB7CiAgICAgICAg +ICAgICAgICB2YXIgaSA9IHBhcnNlSW50KHNlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtaScpLCAxMCk7 +CiAgICAgICAgICAgICAgICB2YXIgdiA9IHNlbC52YWx1ZTsKICAgICAgICAgICAgICAgIHZhciBt +ID0gaW1wU3RhdGUucGVyc29uZW5NYXRjaGVzW2ldOwogICAgICAgICAgICAgICAgaWYgKCF2KSB7 +CiAgICAgICAgICAgICAgICAgICAgbS56aWVsSWQgPSBudWxsOwogICAgICAgICAgICAgICAgICAg +IG0ud2llZGVyaGVyc3RlbGxlbiA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIG0ubmV1QW5s +ZWdlbiA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIG0uc3RhdHVzID0gJ2lnbm9yaWVydCc7 +CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHYgPT09ICduZXcnKSB7CiAgICAgICAgICAgICAg +ICAgICAgbS56aWVsSWQgPSBudWxsOwogICAgICAgICAgICAgICAgICAgIG0ud2llZGVyaGVyc3Rl +bGxlbiA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIG0ubmV1QW5sZWdlbiA9IHRydWU7CiAg +ICAgICAgICAgICAgICAgICAgbS5zdGF0dXMgPSAnbmV1JzsKICAgICAgICAgICAgICAgIH0gZWxz +ZSBpZiAodi5pbmRleE9mKCdyZXN0b3JlOicpID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAg +bS56aWVsSWQgPSBwYXJzZUludCh2LnN1YnN0cig4KSwgMTApOwogICAgICAgICAgICAgICAgICAg +IG0ud2llZGVyaGVyc3RlbGxlbiA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgbS5uZXVBbmxl +Z2VuID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgbS5zdGF0dXMgPSAnbWFudWVsbCc7CiAg +ICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIG0uemllbElkID0gcGFy +c2VJbnQodiwgMTApOwogICAgICAgICAgICAgICAgICAgIG0ud2llZGVyaGVyc3RlbGxlbiA9IGZh +bHNlOwogICAgICAgICAgICAgICAgICAgIG0ubmV1QW5sZWdlbiA9IGZhbHNlOwogICAgICAgICAg +ICAgICAgICAgIG0uc3RhdHVzID0gJ21hbnVlbGwnOwogICAgICAgICAgICAgICAgfQogICAgICAg +ICAgICAgICAgLy8gU3RhdHVzLUljb24gaW4gZGVyIFplaWxlICsgQWdncmVnYXQtSGVhZGVyIGFr +dHVhbGlzaWVyZW4uCiAgICAgICAgICAgICAgICB2YXIgcGVyc1JvdyA9IGRvY3VtZW50LnF1ZXJ5 +U2VsZWN0b3IoJ1tkYXRhLXBlcnMtaT0iJyArIGkgKyAnIl0nKTsKICAgICAgICAgICAgICAgIGlm +IChwZXJzUm93KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGFsdCA9IHBlcnNSb3cucXVlcnlT +ZWxlY3RvcignLmltcC1tYXBwaW5nLXN0YXR1cycpOwogICAgICAgICAgICAgICAgICAgIGlmIChh +bHQpIGFsdC5vdXRlckhUTUwgPSBzdGF0dXNJY29uSHRtbChtKTsKICAgICAgICAgICAgICAgIH0K +ICAgICAgICAgICAgICAgIHN0YXR1c1phZWhsZXJVcGRhdGVuKCk7CiAgICAgICAgICAgIH0pOwog +ICAgICAgIH0pOwogICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbXAtY29kZS1z +ZWwnKS5mb3JFYWNoKGZ1bmN0aW9uKHNlbCkgewogICAgICAgICAgICBzZWwuYWRkRXZlbnRMaXN0 +ZW5lcignY2hhbmdlJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IHBhcnNl +SW50KHNlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtaScpLCAxMCk7CiAgICAgICAgICAgICAgICB2YXIg +diA9IHNlbC52YWx1ZTsKICAgICAgICAgICAgICAgIHZhciBtID0gaW1wU3RhdGUuY29kZU1hdGNo +ZXNbaV07CiAgICAgICAgICAgICAgICAvLyBTcGV6aWFsZmFsbCAi4p6VIEFscyBuZXVlbiBDb2Rl +IGFubGVnZW4iOiBTZWxlY3QtV2VydCBOSUNIVAogICAgICAgICAgICAgICAgLy8gY29tbWl0dGVu +IChTbmFwc2hvdC1SZXN0b3JlIHZpYSBtLnppZWwpLCBzdGF0dGRlc3NlbiBJbmxpbmUtCiAgICAg +ICAgICAgICAgICAvLyBGb3JtIHVudGVyIGRlciBaZWlsZSBhdWZrbGFwcGVuLiBNb2RhbC1TdGFj +ayB2ZXJtZWlkZW4uCiAgICAgICAgICAgICAgICBpZiAodiA9PT0gJ19fbmV3X18nKSB7CiAgICAg +ICAgICAgICAgICAgICAgc2VsLnZhbHVlID0gbS56aWVsIHx8ICcnOwogICAgICAgICAgICAgICAg +ICAgIG5ldWVyQ29kZUZvcm1aZWlnZW4oaSwgc2VsKTsKICAgICAgICAgICAgICAgICAgICByZXR1 +cm47CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBtLnppZWwgPSB2IHx8IG51bGw7 +CiAgICAgICAgICAgICAgICBtLnN0YXR1cyA9IHYgPyAnbWFudWVsbCcgOiAnaWdub3JlJzsKICAg +ICAgICAgICAgICAgIG0uaGlud2VpcyA9IHYgPyAnTWFudWVsbDog4oaSICcgKyB2IDogJ0lnbm9y +aWVydCc7CiAgICAgICAgICAgICAgICAvLyBaZWlsZSB2aXN1ZWxsIHVtZsOkcmJlbiArIFN0YXR1 +cy1JY29uICsgQWdncmVnYXQgdXBkYXRlbgogICAgICAgICAgICAgICAgdmFyIHJvdyA9IGRvY3Vt +ZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWNvZGUtaT0iJyArIGkgKyAnIl0nKTsKICAgICAgICAg +ICAgICAgIGlmIChyb3cpIHsKICAgICAgICAgICAgICAgICAgICByb3cuY2xhc3NMaXN0LnJlbW92 +ZSgnaW1wLW9rJywnaW1wLXdhcm4nKTsKICAgICAgICAgICAgICAgICAgICBpZiAodikgcm93LmNs +YXNzTGlzdC5hZGQoJ2ltcC1vaycpOwogICAgICAgICAgICAgICAgICAgIHZhciBhbHQgPSByb3cu +cXVlcnlTZWxlY3RvcignLmltcC1tYXBwaW5nLXN0YXR1cycpOwogICAgICAgICAgICAgICAgICAg +IGlmIChhbHQpIGFsdC5vdXRlckhUTUwgPSBzdGF0dXNJY29uSHRtbChtKTsKICAgICAgICAgICAg +ICAgIH0KICAgICAgICAgICAgICAgIHN0YXR1c1phZWhsZXJVcGRhdGVuKCk7CiAgICAgICAgICAg +IH0pOwogICAgICAgIH0pOwoKICAgICAgICAvLyBJbmxpbmUtRm9ybSAiTmV1ZW4gU2NoaWNodGNv +ZGUgYW5sZWdlbiI6IGtsYXBwdCB1bnRlciBkZXIgWmVpbGUKICAgICAgICAvLyBhdWYsIGtlaW4g +TW9kYWwtU3RhY2sgKEhhdXB0LU1vZGFsIGJsZWlidCBvZmZlbikuIEZlbGRlciBhbmFsb2cKICAg +ICAgICAvLyB6dSBhZG1pbi5qczoyNTgyLTI1OTMsIGFiZXIga29tcGFrdC4gQmVpIEVyZm9sZyB3 +aXJkIGRlciBuZXVlCiAgICAgICAgLy8gQ29kZSBkaXJla3QgaW4gWi5hZG1pbi5zY2hpY2h0Y29k +ZXMgZ2VzY2hyaWViZW4gKGFwaVB1dCAvYXBpL2FkbWluKSwKICAgICAgICAvLyBhbGxlIC5pbXAt +Y29kZS1zZWwgd2VyZGVuIG5ldSBnZXJlbmRlcnQsIG0uemllbCB3aXJkIGF1ZiBkZW4KICAgICAg +ICAvLyBuZXVlbiBDb2RlIGdlc2V0enQgKyBTdGF0dXMgLT4gbWFudWVsbC4KICAgICAgICBmdW5j +dGlvbiBuZXVlckNvZGVGb3JtWmVpZ2VuKGksIGF1c2xvZXNlclNlbCkgewogICAgICAgICAgICAv +LyBGYWxscyBiZXJlaXRzIGVpbmUgRm9ybSBvZmZlbiBpc3Q6IHNjaGxpZXNzZW4gKG1heC4gZWlu +ZQogICAgICAgICAgICAvLyBJbmxpbmUtRm9ybSBnbGVpY2h6ZWl0aWcpLgogICAgICAgICAgICB2 +YXIgYWx0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmltcC1uZXVlci1jb2RlLWZvcm0nKTsK +ICAgICAgICAgICAgaWYgKGFsdCkgYWx0LnJlbW92ZSgpOwoKICAgICAgICAgICAgdmFyIHJvdyA9 +IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWNvZGUtaT0iJyArIGkgKyAnIl0nKTsKICAg +ICAgICAgICAgaWYgKCFyb3cpIHJldHVybjsKICAgICAgICAgICAgdmFyIG0gPSBpbXBTdGF0ZS5j +b2RlTWF0Y2hlc1tpXTsKICAgICAgICAgICAgdmFyIHF1ZWxsQ29kZSA9IG0uY29kZSB8fCAnJzsK +CiAgICAgICAgICAgIHZhciBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAg +ICAgICAgICAgIGZvcm0uY2xhc3NOYW1lID0gJ2ltcC1uZXVlci1jb2RlLWZvcm0nOwogICAgICAg +ICAgICBmb3JtLnNldEF0dHJpYnV0ZSgnZGF0YS1jb2RlLWknLCBTdHJpbmcoaSkpOwogICAgICAg +ICAgICBmb3JtLmlubmVySFRNTCA9CiAgICAgICAgICAgICAgICAnPGRpdiBzdHlsZT0iZGlzcGxh +eTpmbGV4O2dhcDo4cHg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6ZmxleC1lbmQiPicgKwog +ICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSIgc3R5bGU9ImZsZXg6 +MTttaW4td2lkdGg6MTEwcHgiPjxsYWJlbCBzdHlsZT0iZm9udC1zaXplOjExcHgiPkNvZGUgKFNj +aGzDvHNzZWwpPC9sYWJlbD4nICsKICAgICAgICAgICAgICAgICAgICAgICAgJzxpbnB1dCB0eXBl +PSJ0ZXh0IiBpZD0iaW1wLW5jLWNvZGUiIGNsYXNzPSJmb3JtLWlucHV0IiB2YWx1ZT0iJyArIGVz +Y2FwZUF0dHIocXVlbGxDb2RlKSArICciIG1heGxlbmd0aD0iMTAiPjwvZGl2PicgKwogICAgICAg +ICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSIgc3R5bGU9ImZsZXg6MTttaW4t +d2lkdGg6MTEwcHgiPjxsYWJlbCBzdHlsZT0iZm9udC1zaXplOjExcHgiPkvDvHJ6ZWwgKEFuemVp +Z2UpPC9sYWJlbD4nICsKICAgICAgICAgICAgICAgICAgICAgICAgJzxpbnB1dCB0eXBlPSJ0ZXh0 +IiBpZD0iaW1wLW5jLWt1ZXJ6ZWwiIGNsYXNzPSJmb3JtLWlucHV0IiB2YWx1ZT0iJyArIGVzY2Fw +ZUF0dHIocXVlbGxDb2RlKSArICciIG1heGxlbmd0aD0iMTAiPjwvZGl2PicgKwogICAgICAgICAg +ICAgICAgICAgICc8ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSIgc3R5bGU9ImZsZXg6MjttaW4td2lk +dGg6MTgwcHgiPjxsYWJlbCBzdHlsZT0iZm9udC1zaXplOjExcHgiPkJlemVpY2hudW5nPC9sYWJl +bD4nICsKICAgICAgICAgICAgICAgICAgICAgICAgJzxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iaW1w +LW5jLWJleiIgY2xhc3M9ImZvcm0taW5wdXQiIHZhbHVlPSIiIG1heGxlbmd0aD0iNjAiIHBsYWNl +aG9sZGVyPSJ6LkIuIEZyw7xoZGllbnN0IFNvbmRlcmF1ZmdhYmUiPjwvZGl2PicgKwogICAgICAg +ICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSIgc3R5bGU9Im1pbi13aWR0aDo2 +NHB4Ij48bGFiZWwgc3R5bGU9ImZvbnQtc2l6ZToxMXB4Ij5IZ3IuPC9sYWJlbD4nICsKICAgICAg +ICAgICAgICAgICAgICAgICAgJzxpbnB1dCB0eXBlPSJjb2xvciIgaWQ9ImltcC1uYy1oZyIgY2xh +c3M9ImZvcm0taW5wdXQiIHZhbHVlPSIjQjcxQzFDIiBzdHlsZT0iaGVpZ2h0OjM0cHg7cGFkZGlu +ZzoycHggNHB4O2N1cnNvcjpwb2ludGVyO3dpZHRoOjU0cHgiPjwvZGl2PicgKwogICAgICAgICAg +ICAgICAgICAgICc8ZGl2IGNsYXNzPSJmb3JtLWdydXBwZSIgc3R5bGU9Im1pbi13aWR0aDo2NHB4 +Ij48bGFiZWwgc3R5bGU9ImZvbnQtc2l6ZToxMXB4Ij5TY2hyLjwvbGFiZWw+JyArCiAgICAgICAg +ICAgICAgICAgICAgICAgICc8aW5wdXQgdHlwZT0iY29sb3IiIGlkPSJpbXAtbmMtc2YiIGNsYXNz +PSJmb3JtLWlucHV0IiB2YWx1ZT0iI0ZGRkZGRiIgc3R5bGU9ImhlaWdodDozNHB4O3BhZGRpbmc6 +MnB4IDRweDtjdXJzb3I6cG9pbnRlcjt3aWR0aDo1NHB4Ij48L2Rpdj4nICsKICAgICAgICAgICAg +ICAgICAgICAnPGRpdiBjbGFzcz0iZm9ybS1ncnVwcGUiIHN0eWxlPSJtaW4td2lkdGg6ODBweCI+ +PGxhYmVsIHN0eWxlPSJmb250LXNpemU6MTFweCI+Vm9yc2NoYXU8L2xhYmVsPicgKwogICAgICAg +ICAgICAgICAgICAgICAgICAnPGRpdiBpZD0iaW1wLW5jLXZvciIgc3R5bGU9InBhZGRpbmc6NnB4 +IDEwcHg7Ym9yZGVyLXJhZGl1czo0cHg7Zm9udC13ZWlnaHQ6NzAwO3RleHQtYWxpZ246Y2VudGVy +O2JhY2tncm91bmQ6I0I3MUMxQztjb2xvcjojRkZGRkZGIj4nICsgZXNjYXBlSFRNTChxdWVsbENv +ZGUgfHwgJz8nKSArICc8L2Rpdj48L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8L2Rpdj4nICsK +ICAgICAgICAgICAgICAgICc8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjZweDtqdXN0aWZ5 +LWNvbnRlbnQ6ZmxleC1lbmQ7bWFyZ2luLXRvcDo4cHgiPicgKwogICAgICAgICAgICAgICAgICAg +ICc8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWtsZWluIiBpZD0iaW1wLW5jLWFiYnJlY2hlbiIgdHlw +ZT0iYnV0dG9uIj5BYmJyZWNoZW48L2J1dHRvbj4nICsKICAgICAgICAgICAgICAgICAgICAnPGJ1 +dHRvbiBjbGFzcz0iYnRuIGJ0bi1rbGVpbiBidG4tcHJpbWFlciIgaWQ9ImltcC1uYy1hbmxlZ2Vu +IiB0eXBlPSJidXR0b24iPkFubGVnZW48L2J1dHRvbj4nICsKICAgICAgICAgICAgICAgICc8L2Rp +dj4nOwogICAgICAgICAgICByb3cuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCdhZnRlcmVuZCcsIGZv +cm0pOwoKICAgICAgICAgICAgLy8gTGl2ZS1Wb3JzY2hhdSB3aWUgaW0gU2NoaWNodGNvZGUtRWRp +dC1Nb2RhbAogICAgICAgICAgICBmdW5jdGlvbiB2b3JzY2hhdVVwZGF0ZSgpIHsKICAgICAgICAg +ICAgICAgIHZhciBoZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbXAtbmMtaGcnKS52YWx1 +ZTsKICAgICAgICAgICAgICAgIHZhciBzZiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbXAt +bmMtc2YnKS52YWx1ZTsKICAgICAgICAgICAgICAgIHZhciBrdSA9IGRvY3VtZW50LmdldEVsZW1l +bnRCeUlkKCdpbXAtbmMta3VlcnplbCcpLnZhbHVlIHx8IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk +KCdpbXAtbmMtY29kZScpLnZhbHVlIHx8ICc/JzsKICAgICAgICAgICAgICAgIHZhciB2ID0gZG9j +dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltcC1uYy12b3InKTsKICAgICAgICAgICAgICAgIHYuc3R5 +bGUuYmFja2dyb3VuZCA9IGhnOyB2LnN0eWxlLmNvbG9yID0gc2Y7IHYudGV4dENvbnRlbnQgPSBr +dTsKICAgICAgICAgICAgfQogICAgICAgICAgICBbJ2ltcC1uYy1oZycsJ2ltcC1uYy1zZicsJ2lt +cC1uYy1rdWVyemVsJywnaW1wLW5jLWNvZGUnXS5mb3JFYWNoKGZ1bmN0aW9uKGlkKSB7CiAgICAg +ICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7IGlmIChlbCkg +ZWwuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCB2b3JzY2hhdVVwZGF0ZSk7CiAgICAgICAgICAg +IH0pOwogICAgICAgICAgICAvLyBGb2t1cyBhdWYgQmV6ZWljaG51bmcg4oCUIENvZGUvS3Vlcnpl +bCBzaW5kIHZvcmJlbGVndAogICAgICAgICAgICB2YXIgYmV6RWwgPSBkb2N1bWVudC5nZXRFbGVt +ZW50QnlJZCgnaW1wLW5jLWJleicpOwogICAgICAgICAgICBpZiAoYmV6RWwpIGJlekVsLmZvY3Vz +KCk7CgogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1wLW5jLWFiYnJlY2hl +bicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAg +ICBmb3JtLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgLy8gU2VsZWN0IHdhciBvYmVuIGJlcmVp +dHMgYXVmIG0uemllbCB6dXJ1ZWNrZ2VzZXR6dCwgbmljaHRzIHdlaXRlciB6dSB0dW4uCiAgICAg +ICAgICAgIH0pOwoKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltcC1uYy1h +bmxlZ2VuJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAg +ICAgICAgIHZhciBkYXRlbiA9IHsKICAgICAgICAgICAgICAgICAgICBjb2RlOiBkb2N1bWVudC5n +ZXRFbGVtZW50QnlJZCgnaW1wLW5jLWNvZGUnKS52YWx1ZS50cmltKCksCiAgICAgICAgICAgICAg +ICAgICAga3VlcnplbDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltcC1uYy1rdWVyemVsJyku +dmFsdWUudHJpbSgpIHx8IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbXAtbmMtY29kZScpLnZh +bHVlLnRyaW0oKSwKICAgICAgICAgICAgICAgICAgICBiZXplaWNobnVuZzogZG9jdW1lbnQuZ2V0 +RWxlbWVudEJ5SWQoJ2ltcC1uYy1iZXonKS52YWx1ZS50cmltKCksCiAgICAgICAgICAgICAgICAg +ICAgaGludGVyZ3J1bmQ6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbXAtbmMtaGcnKS52YWx1 +ZSwKICAgICAgICAgICAgICAgICAgICBzY2hyaWZ0OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn +aW1wLW5jLXNmJykudmFsdWUKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICBpZiAo +IWRhdGVuLmNvZGUpIHsgdG9hc3QoJ0NvZGUgaXN0IFBmbGljaHRmZWxkJywgJ3dhcm51bmcnKTsg +cmV0dXJuOyB9CiAgICAgICAgICAgICAgICBpZiAoIWRhdGVuLmJlemVpY2hudW5nKSB7IHRvYXN0 +KCdCZXplaWNobnVuZyBpc3QgUGZsaWNodGZlbGQnLCAnd2FybnVuZycpOyByZXR1cm47IH0KICAg +ICAgICAgICAgICAgIGlmICgoWi5hZG1pbi5zY2hpY2h0Y29kZXMgfHwgW10pLnNvbWUoZnVuY3Rp +b24oYykgeyByZXR1cm4gYy5jb2RlID09PSBkYXRlbi5jb2RlOyB9KSkgewogICAgICAgICAgICAg +ICAgICAgIHRvYXN0KCdDb2RlIOKAnicgKyBkYXRlbi5jb2RlICsgJyIgZXhpc3RpZXJ0IGJlcmVp +dHMnLCAnd2FybnVuZycpOyByZXR1cm47CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg +ICB2YXIgbGlzdGUgPSAoWi5hZG1pbi5zY2hpY2h0Y29kZXMgfHwgW10pLnNsaWNlKCk7CiAgICAg +ICAgICAgICAgICBsaXN0ZS5wdXNoKGRhdGVuKTsKICAgICAgICAgICAgICAgIGFwaVB1dCgnL2Fw +aS9hZG1pbicsIE9iamVjdC5hc3NpZ24oe30sIFouYWRtaW4sIHsgc2NoaWNodGNvZGVzOiBsaXN0 +ZSB9KSkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBaLmFkbWluLnNjaGlj +aHRjb2RlcyA9IGxpc3RlOwogICAgICAgICAgICAgICAgICAgIC8vIGNvZGVNYXAgZnVlciBkYXMg +SGF1cHRncmlkIHN5bmNocm9uIGhhbHRlbgogICAgICAgICAgICAgICAgICAgIFouY29kZU1hcCA9 +IFouY29kZU1hcCB8fCB7fTsKICAgICAgICAgICAgICAgICAgICBaLmNvZGVNYXBbZGF0ZW4uY29k +ZV0gPSB7IGhpbnRlcmdydW5kOiBkYXRlbi5oaW50ZXJncnVuZCwgc2NocmlmdDogZGF0ZW4uc2No +cmlmdCwga3VlcnplbDogZGF0ZW4ua3VlcnplbCB8fCBkYXRlbi5jb2RlIH07CiAgICAgICAgICAg +ICAgICAgICAgLy8gQWt0aXZlLUNvZGVzLUNsb3N1cmUtTGlzdGUgYWt0dWFsaXNpZXJlbiB1bmQg +YWxsZQogICAgICAgICAgICAgICAgICAgIC8vIENvZGUtU2VsZWN0cyBpbSBNb2RhbCBuZXUgcmVu +ZGVybiwgZGFtaXQgZGVyIG5ldWUKICAgICAgICAgICAgICAgICAgICAvLyBDb2RlIGluIGplZGVt +IERyb3Bkb3duIGF1ZnRhdWNodC4KICAgICAgICAgICAgICAgICAgICBha3RpdmVDb2RlcyA9ICha +LmFkbWluLnNjaGljaHRjb2RlcyB8fCBbXSkuZmlsdGVyKGlzdENvZGVBa3RpdikKICAgICAgICAg +ICAgICAgICAgICAgICAgLnNsaWNlKCkuc29ydChmdW5jdGlvbihhLCBiKSB7IHJldHVybiAoYS5j +b2RlIHx8ICcnKS5sb2NhbGVDb21wYXJlKGIuY29kZSB8fCAnJywgJ2RlJyk7IH0pOwogICAgICAg +ICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbXAtY29kZS1zZWwnKS5m +b3JFYWNoKGZ1bmN0aW9uKHMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNpID0gcGFy +c2VJbnQocy5nZXRBdHRyaWJ1dGUoJ2RhdGEtaScpLCAxMCk7CiAgICAgICAgICAgICAgICAgICAg +ICAgIHZhciBzbSA9IGltcFN0YXRlLmNvZGVNYXRjaGVzW3NpXTsKICAgICAgICAgICAgICAgICAg +ICAgICAgLy8gU2VsZWt0aW9uIGluIGRpZXNlciBaZWlsZSBhdWYgZGVuIG5ldWVuIENvZGUgc2V0 +emVuLAogICAgICAgICAgICAgICAgICAgICAgICAvLyBzb25zdCBkaWUgYmVzdGVoZW5kZSB6aWVs +LUF1c3dhaGwgYmVpYmVoYWx0ZW4uCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB6aWVsRnVl +ciA9IChzaSA9PT0gaSkgPyBkYXRlbi5jb2RlIDogKHNtICYmIHNtLnppZWwpIHx8ICcnOwogICAg +ICAgICAgICAgICAgICAgICAgICBzLmlubmVySFRNTCA9IGNvZGVPcHRzKHppZWxGdWVyKTsKICAg +ICAgICAgICAgICAgICAgICAgICAgcy52YWx1ZSA9IHppZWxGdWVyOwogICAgICAgICAgICAgICAg +ICAgIH0pOwogICAgICAgICAgICAgICAgICAgIC8vIG0tU3RhdGUgZGVyIEF1c2xvZXNlci1aZWls +ZSBha3R1YWxpc2llcmVuCiAgICAgICAgICAgICAgICAgICAgbS56aWVsID0gZGF0ZW4uY29kZTsK +ICAgICAgICAgICAgICAgICAgICBtLnN0YXR1cyA9ICdtYW51ZWxsJzsKICAgICAgICAgICAgICAg +ICAgICBtLmhpbndlaXMgPSAnTmV1IGFuZ2VsZWd0OiAnICsgZGF0ZW4uY29kZTsKICAgICAgICAg +ICAgICAgICAgICAvLyBaZWlsZSB2aXN1ZWxsIHVtZmFlcmJlbiArIEljb24gYXVzdGF1c2NoZW4K +ICAgICAgICAgICAgICAgICAgICByb3cuY2xhc3NMaXN0LnJlbW92ZSgnaW1wLXdhcm4nKTsKICAg +ICAgICAgICAgICAgICAgICByb3cuY2xhc3NMaXN0LmFkZCgnaW1wLW9rJyk7CiAgICAgICAgICAg +ICAgICAgICAgdmFyIGFsdEljID0gcm93LnF1ZXJ5U2VsZWN0b3IoJy5pbXAtbWFwcGluZy1zdGF0 +dXMnKTsKICAgICAgICAgICAgICAgICAgICBpZiAoYWx0SWMpIGFsdEljLm91dGVySFRNTCA9IHN0 +YXR1c0ljb25IdG1sKG0pOwogICAgICAgICAgICAgICAgICAgIC8vIEFnZ3JlZ2F0LVphZWhsZXIg +YWt0dWFsaXNpZXJlbgogICAgICAgICAgICAgICAgICAgIHN0YXR1c1phZWhsZXJVcGRhdGVuKCk7 +CiAgICAgICAgICAgICAgICAgICAgZm9ybS5yZW1vdmUoKTsKICAgICAgICAgICAgICAgICAgICB0 +b2FzdCgnU2NoaWNodGNvZGUg4oCeJyArIGRhdGVuLmNvZGUgKyAnIiBhbmdlbGVndCcsICdlcmZv +bGcnKTsKICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsgdG9hc3QoJ0ZlaGxl +cjogJyArIChlICYmIGUubWVzc2FnZSB8fCBlKSwgJ2ZlaGxlcicpOyB9KTsKICAgICAgICAgICAg +fSk7CiAgICAgICAgfQoKICAgICAgICAvLyAiQWJicmVjaGVuIjogcm9sbHQgaW1wU3RhdGUgYXVm +IFNuYXBzaG90IHp1cnVlY2suIEJlaSB2b3JoYW5kZW5lbgogICAgICAgIC8vIEFlbmRlcnVuZ2Vu +IChaLm1vZGFsRGlydHk9dHJ1ZSkgZnJhZ3QgZGllIERpcnR5LUJlc3RhZXRpZ3VuZwogICAgICAg +IC8vIGF1dG9tYXRpc2NoIG5hY2gg4oCUIGRlciBEaXNjYXJkLUhvb2sgb2JlbiBydWZ0IGRhbm4g +ZGVuIFJvbGxiYWNrIGF1Zi4KICAgICAgICAvLyBPaG5lIEFlbmRlcnVuZ2VuIGRpcmVrdCBzY2hs +aWVzc2VuLgogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbXAtbW9kYWwtYWJicmVj +aGVuJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAg +aWYgKFoubW9kYWxEaXJ0eSkgewogICAgICAgICAgICAgICAgbW9kYWxTY2hsaWVzc2VuKCk7CiAg +ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBtb2RhbFNjaGxpZXNzZW4odHJ1ZSk7 +CiAgICAgICAgICAgICAgICBpbXBTdGF0dXNSZW5kZXJuKCk7CiAgICAgICAgICAgIH0KICAgICAg +ICB9KTsKCiAgICAgICAgLy8gIsOcYmVybmVobWVuIjogYWxsZSBub2NoIG9mZmVuZW4gKG1laHJk +ZXV0aWcpIGFscyBpZ25vcmllcnQgbWFya2llcmVuLgogICAgICAgIC8vIERhbWl0IGtvbW10IGRl +ciBVc2VyIGF1cyBkZXIgU2Fja2dhc3NlLCB3ZW5uIGVyIE1laHJmYWNodHJlZmZlciBvaG5lCiAg +ICAgICAgLy8gRW50c2NoZWlkdW5nIGxhc3NlbiB3aWxsLiAibmV1IiB1bmQgInBhcGllcmtvcmIi +IGhhYmVuIERlZmF1bHQtCiAgICAgICAgLy8gVm9yc2NobGFlZ2UgdW5kIHdlcmRlbiBuaWNodCBh +bmdlZmFzc3QuIERpcnR5LUJlc3RhZXRpZ3VuZyB3aXJkCiAgICAgICAgLy8gYmV3dXNzdCB1bWdh +bmdlbiAobW9kYWxTY2hsaWVzc2VuKHRydWUpKSDigJQgVWViZXJuZWhtZW4gaXN0IGRpZQogICAg +ICAgIC8vIGdld3VlbnNjaHRlIENvbW1pdC1Ba3Rpb24uCiAgICAgICAgZG9jdW1lbnQuZ2V0RWxl +bWVudEJ5SWQoJ2ltcC1tb2RhbC11ZWJlcm5laG1lbicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNr +JywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIC8vIFdhcyB3dWVyZGUgIlVlYmVybmVobWVuIiBz +dGlsbCB2ZXJ3ZXJmZW4/IE9mZmVuZSBtZWhyZGV1dGlnZQogICAgICAgICAgICAvLyBQZXJzb25l +biArIHVuYmVrYW5udGUgQ29kZXMgd2VyZGVuIGF1ZiBpZ25vcmllcnQgZ2VzZXR6dCDigJQgaWhy +ZQogICAgICAgICAgICAvLyBEYXRlbiBsYW5kZW4gTklDSFQgaW0gSW1wb3J0LiBGcnVlaGVyIHBh +c3NpZXJ0ZSBkYXMgb2huZSBSdWVjay0KICAgICAgICAgICAgLy8gZnJhZ2U7IGpldHp0IHplaWdl +biB3aXIgdm9yaGVyIGV4cGxpeml0LCB3YXMgdmVybG9yZW4gZ2VodC4KICAgICAgICAgICAgdmFy +IG9mZmVuZVBlcnMgPSBpbXBTdGF0ZS5wZXJzb25lbk1hdGNoZXMuZmlsdGVyKGZ1bmN0aW9uKG0p +IHsgcmV0dXJuIG0uc3RhdHVzID09PSAnbWVocmRldXRpZyc7IH0pOwogICAgICAgICAgICB2YXIg +b2ZmZW5lQ29kZXMgPSBpbXBTdGF0ZS5jb2RlTWF0Y2hlcy5maWx0ZXIoZnVuY3Rpb24obSkgeyBy +ZXR1cm4gbS5zdGF0dXMgPT09ICd1bmJla2FubnQnOyB9KTsKCiAgICAgICAgICAgIGZ1bmN0aW9u +IGFud2VuZGVuKCkgewogICAgICAgICAgICAgICAgb2ZmZW5lUGVycy5mb3JFYWNoKGZ1bmN0aW9u +KG0pIHsKICAgICAgICAgICAgICAgICAgICBtLnppZWxJZCA9IG51bGw7CiAgICAgICAgICAgICAg +ICAgICAgbS5uZXVBbmxlZ2VuID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgbS5zdGF0dXMg +PSAnaWdub3JpZXJ0JzsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgb2ZmZW5l +Q29kZXMuZm9yRWFjaChmdW5jdGlvbihtKSB7CiAgICAgICAgICAgICAgICAgICAgbS56aWVsID0g +bnVsbDsKICAgICAgICAgICAgICAgICAgICBtLnN0YXR1cyA9ICdpZ25vcmUnOwogICAgICAgICAg +ICAgICAgICAgIG0uaGlud2VpcyA9ICdJZ25vcmllcnQnOwogICAgICAgICAgICAgICAgfSk7CiAg +ICAgICAgICAgICAgICBtb2RhbFNjaGxpZXNzZW4odHJ1ZSk7CiAgICAgICAgICAgICAgICBpbXBT +dGF0dXNSZW5kZXJuKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIE5pY2h0cyBPZmZl +bmVzIC0+IGRpcmVrdCB1ZWJlcm5laG1lbiAoa2VpbmUgdWViZXJmbHVlc3NpZ2UgUnVlY2tmcmFn +ZSkuCiAgICAgICAgICAgIGlmICghb2ZmZW5lUGVycy5sZW5ndGggJiYgIW9mZmVuZUNvZGVzLmxl +bmd0aCkgeyBhbndlbmRlbigpOyByZXR1cm47IH0KCiAgICAgICAgICAgIHZhciB0ZWlsZSA9IFtd +OwogICAgICAgICAgICBpZiAob2ZmZW5lUGVycy5sZW5ndGgpIHsKICAgICAgICAgICAgICAgIHZh +ciBwTmFtZW4gPSBvZmZlbmVQZXJzLm1hcChmdW5jdGlvbihtKSB7IHJldHVybiBtLmV4Y2VsLm5h +Y2huYW1lOyB9KS5qb2luKCcsICcpOwogICAgICAgICAgICAgICAgdGVpbGUucHVzaChvZmZlbmVQ +ZXJzLmxlbmd0aCArICcgUGVyc29uKGVuKSBibGVpYmVuIHVuenVnZW9yZG5ldCB1bmQgd2VyZGVu +IE5JQ0hUIGltcG9ydGllcnQ6XG4nICsgcE5hbWVuKTsKICAgICAgICAgICAgfQogICAgICAgICAg +ICBpZiAob2ZmZW5lQ29kZXMubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICB2YXIgemVsbGVuID0g +b2ZmZW5lQ29kZXMucmVkdWNlKGZ1bmN0aW9uKHN1bSwgbSkgeyByZXR1cm4gc3VtICsgKG0uYW56 +YWhsIHx8IDApOyB9LCAwKTsKICAgICAgICAgICAgICAgIHZhciBjTmFtZW4gPSBvZmZlbmVDb2Rl +cy5tYXAoZnVuY3Rpb24obSkgeyByZXR1cm4gbS5jb2RlOyB9KS5qb2luKCcsICcpOwogICAgICAg +ICAgICAgICAgdGVpbGUucHVzaChvZmZlbmVDb2Rlcy5sZW5ndGggKyAnIENvZGUocykgYmxlaWJl +biB1bnp1Z2VvcmRuZXQg4oCUIGRpZSBiZXRyb2ZmZW5lbiAnICsgemVsbGVuICsgJyBaZWxsZShu +KSB3ZXJkZW4gZ2VsZWVydCBzdGF0dCBiZWbDvGxsdDpcbicgKyBjTmFtZW4pOwogICAgICAgICAg +ICB9CiAgICAgICAgICAgIGJlc3RhZXRpZ2VuKAogICAgICAgICAgICAgICAgdGVpbGUuam9pbign +XG5cbicpICsgJ1xuXG5Ucm90emRlbSDDvGJlcm5laG1lbiB1bmQgZGllc2UgUHVua3RlIGlnbm9y +aWVyZW4/JywKICAgICAgICAgICAgICAgIGFud2VuZGVuLAogICAgICAgICAgICAgICAgeyB0aXRl +bDogJ09mZmVuZSBadW9yZG51bmdlbiB2ZXJ3ZXJmZW4/JywgamFUZXh0OiAnVHJvdHpkZW0gw7xi +ZXJuZWhtZW4nLCBqYURhbmdlcjogdHJ1ZSB9CiAgICAgICAgICAgICk7CiAgICAgICAgfSk7CiAg +ICB9CgovLyA9PT09PSBFeHBvcnRzID09PT09CmV4cG9ydCB7CiAgICBpbXBSYW5nUGFyc2VuLCBp +bXBFeGNlbFNlcmlhbFRvSXNvLAogICAgaW1wRGF0ZWlWZXJhcmJlaXRlbiwgaW1wRmVobGVyLCBp +bXBBbmFseXNpZXJlbiwKICAgIGltcFN0YXR1c1JlbmRlcm4sIGltcFNjaHJlaWJlblN0YXJ0ZW4s +CiAgICBpbXBQcm9ncmVzc01vZGFsT2VmZm5lbiwgaW1wUHJvZ3Jlc3NVcGRhdGUsIGltcFByb2dy +ZXNzRmVobGVyLCBpbXBQcm9ncmVzc0VyZm9sZywKICAgIGltcFNjaHJlaWJlbkF1c2Z1ZWhyZW4s +IGltcFNjaHJlaWJlblBoYXNlMiwgaW1wU2NocmVpYmVuUGhhc2UyVHJhbnNmb3JtLCBpbXBTY2hy +ZWliZW5QaGFzZTMsCiAgICBpbXBNYXBwaW5nTW9kYWwsIGltcFRyb2NrZW5sYXVmQmVyZWNobmVu +LCBpbXBUcm9ja2VubGF1Zk1vZGFsCn07Cg== +### FILE: js/logbuch.js | 36868 +Ly8gPT09IGxvZ2J1Y2guanMgPT09Ci8vIEFlbmRlcnVuZ3MtSGlzdG9yaWUgZGVyIFBsYW51bmcu +IFNlcnZlciBzY2hyZWlidCB0ZWNobmlzY2gta29tcGFrdGUKLy8gRWludHJhZWdlICh7YWt0aW9u +LCBkZXRhaWxzfSk7IGRpZXNlcyBNb2R1bCBodW1hbmlzaWVydCBzaWUgZnVlciBkaWUKLy8gQW56 +ZWlnZSAoQWt0aW9ucy1MYWJlbCwgRGV0YWlsLVRleHQsIEtsYXJuYW1lIHN0YXR0IE5XLUtlbm51 +bmcpLgoKaW1wb3J0IHsgWiB9IGZyb20gJy4vY29yZV9zdGF0ZS5qcyc7CmltcG9ydCB7IGVzY2Fw +ZUhUTUwsIGVzY2FwZUF0dHIsIGRhdHVtRm9ybWF0REUsIHJlbmRlckVycm9yQm94IH0gZnJvbSAn +Li9jb3JlX3V0aWwuanMnOwppbXBvcnQgeyB0b2FzdCwgYmVzdGFldGlnZW4gfSBmcm9tICcuL3Vp +X2RpYWxvZy5qcyc7CmltcG9ydCB7IGFwaSwgYXBpUG9zdCwgYXBpUHV0IH0gZnJvbSAnLi9jb3Jl +X2FwaS5qcyc7CgovLyBIb29rczogYXBwLmpzIHZlcmRyYWh0ZXQgYGFmdGVyUmVzdG9yZWAgbWl0 +IGRhdGVuTGFkZW4oKSwgZGFtaXQgbmFjaAovLyBlaW5lciBXaWVkZXJoZXJzdGVsbHVuZyBkZXIg +Z2xvYmFsZSBTdGF0ZSAoWi5wbGFudW5nIGV0Yy4pIHJlZnJlc2hlZCB3aXJkLgpleHBvcnQgdmFy +IGxvZ2J1Y2hIb29rcyA9IHsKICAgIGFmdGVyUmVzdG9yZTogbnVsbAp9OwoKLy8gPT09PT0gQWt0 +aW9ucy1MYWJlbCA9PT09PQovLyBNYXBwaW5nIHRlY2huaXNjaGVyIEFrdGlvbi1Db2RlcyBhdWYg +bWVuc2NoZW5sZXNiYXJlIGRldXRzY2hlIEJlc2NocmlmdHVuZy4KLy8gVW5iZWthbm50ZSBDb2Rl +cyB3ZXJkZW4gZ2VuZXJpc2NoIHZvbiAnKi5nZWFlbmRlcnQnIC8gJyouYW5nZWxlZ3QnIGV0Yy4K +Ly8gZ2VmYW5nZW4gKHNpZWhlIGFrdGlvbkxhYmVsKCkpLgp2YXIgQUtUSU9OX0xBQkVMID0gewog +ICAgJ3plbGxlLmdlYWVuZGVydCc6ICAgICAgICAgICAgICAgICdTY2hpY2h0IGdlw6RuZGVydCcs +CiAgICAnemVsbGVuLmJ1bGsuZ2VhZW5kZXJ0JzogICAgICAgICAgJ01laHJlcmUgU2NoaWNodGVu +IGdlc2V0enQgKERyYWctRmlsbCknLAogICAgJ2tvbW1lbnRhci5nZWFlbmRlcnQnOiAgICAgICAg +ICAgICdLb21tZW50YXIgZ2XDpG5kZXJ0JywKICAgICdwZXJzb24uYW5nZWxlZ3QnOiAgICAgICAg +ICAgICAgICAnUGVyc29uIGFuZ2VsZWd0JywKICAgICdwZXJzb24uZ2VhZW5kZXJ0JzogICAgICAg +ICAgICAgICAnUGVyc29uIGdlw6RuZGVydCcsCiAgICAncGVyc29uZW4ucmVpaGVuZm9sZ2UuZ2Vh +ZW5kZXJ0JzogJ1BlcnNvbmVuLVJlaWhlbmZvbGdlIGdlw6RuZGVydCcsCiAgICAnYWRtaW4uZ2Vh +ZW5kZXJ0JzogICAgICAgICAgICAgICAgJ0FkbWluLUtvbmZpZ3VyYXRpb24gZ2XDpG5kZXJ0JywK +ICAgICdhZG1pbi5jb25maWcuZ2VhZW5kZXJ0JzogICAgICAgICAnQWRtaW4tS29uZmlndXJhdGlv +biBnZcOkbmRlcnQnLAogICAgJ3N1cGVyVXNlci5nZWFlbmRlcnQnOiAgICAgICAgICAgICdTdXBl +clVzZXItTGlzdGUgZ2XDpG5kZXJ0JywKICAgICdzdXBlcnVzZXIuZ2VhZW5kZXJ0JzogICAgICAg +ICAgICAnU3VwZXJVc2VyLUxpc3RlIGdlw6RuZGVydCcsCiAgICAnZmFjaGF1ZnNpY2h0LmdlYWVu +ZGVydCc6ICAgICAgICAgJ0ZhY2hhdWZzaWNodC1MaXN0ZSBnZcOkbmRlcnQnLAogICAgJ2RpcmVr +dGlvbnNsZWl0dW5nLmdlYWVuZGVydCc6ICAgICdEaXJla3Rpb25zbGVpdHVuZy1MaXN0ZSBnZcOk +bmRlcnQnLAogICAgJ2Z1ZWhydW5nc3N0ZWxsZS5nZWFlbmRlcnQnOiAgICAgICdGw7xocnVuZ3Nz +dGVsbGUtTGlzdGUgZ2XDpG5kZXJ0JywKICAgICdiZXplaWNobnVuZ2VuLmdlYWVuZGVydCc6ICAg +ICAgICAnQmV6ZWljaG51bmdlbiBnZcOkbmRlcnQnLAogICAgJ2VtYWlsdm9ybGFnZW4uZ2VhZW5k +ZXJ0JzogICAgICAgICdFLU1haWwtVm9ybGFnZW4gZ2XDpG5kZXJ0JywKICAgICdlbWFpbHRyaWdn +ZXIuZ2VhZW5kZXJ0JzogICAgICAgICAnRS1NYWlsLVRyaWdnZXIgZ2XDpG5kZXJ0JywKICAgICdl +aW5zdGVsbHVuZ2VuLmdlYWVuZGVydCc6ICAgICAgICAnRWluc3RlbGx1bmdlbiBnZcOkbmRlcnQn +LAogICAgJ2ZlaWVydGFnZS5nZWFlbmRlcnQnOiAgICAgICAgICAgICdGZWllcnRhZ2UgZ2XDpG5k +ZXJ0JywKICAgICdmZXJpZW4uZ2VhZW5kZXJ0JzogICAgICAgICAgICAgICAnU2NodWxmZXJpZW4g +Z2XDpG5kZXJ0JywKICAgICdzb25kZXJ0ZXJtaW5lLmdlYWVuZGVydCc6ICAgICAgICAnSGlud2Vp +c2UgLyBTb25kZXJ0ZXJtaW5lIGdlw6RuZGVydCcsCiAgICAnc3RhbmRvcnRlLmdlYWVuZGVydCc6 +ICAgICAgICAgICAgJ1N0YW5kb3J0ZSBnZcOkbmRlcnQnLAogICAgJ3NjaGljaHRjb2Rlcy5nZWFl +bmRlcnQnOiAgICAgICAgICdTY2hpY2h0Y29kZXMgZ2XDpG5kZXJ0JywKICAgICdncnVwcGVuLmdl +YWVuZGVydCc6ICAgICAgICAgICAgICAnRGllbnN0Z3J1cHBlbiBnZcOkbmRlcnQnLAogICAgJ2Z1 +bmt0aW9uZW4uZ2VhZW5kZXJ0JzogICAgICAgICAgICdGdW5rdGlvbmVuIGdlw6RuZGVydCcsCiAg +ICAnc2NoaWNodGZvbGdlbi5nZWFlbmRlcnQnOiAgICAgICAgJ1NjaGljaHRmb2xnZW4gZ2XDpG5k +ZXJ0JywKICAgICdyb2xsZW4uZ2VhZW5kZXJ0JzogICAgICAgICAgICAgICAnUm9sbGVuIGdlw6Ru +ZGVydCcsCiAgICAnYmFja3VwLmVyc3RlbGx0JzogICAgICAgICAgICAgICAgJ0JhY2t1cCBlcnN0 +ZWxsdCcsCiAgICAnYmFja3VwLndpZWRlcmhlcmdlc3RlbGx0JzogICAgICAgJ0JhY2t1cCB3aWVk +ZXJoZXJnZXN0ZWxsdCcsCiAgICAnYmFja3VwLmdlbG9lc2NodCc6ICAgICAgICAgICAgICAgJ0Jh +Y2t1cCBnZWzDtnNjaHQnLAogICAgJ3BsYW51bmcucmVzZXQnOiAgICAgICAgICAgICAgICAgICdQ +bGFudW5nIHp1csO8Y2tnZXNldHp0JywKICAgICdwbGFudW5nLmtvbXBsZXR0LWVyc2V0enQnOiAg +ICAgICAnUGxhbnVuZyBrb21wbGV0dCBlcnNldHp0IChJbXBvcnQpJywKICAgICdkdW1teWRhdGVu +LmVpbmdlc3BpZWx0JzogICAgICAgICAnRHVtbXlkYXRlbiBlaW5nZXNwaWVsdCcsCiAgICAndW50 +ZXJiZXNldHp1bmcucXVpdHRpZXJ0JzogICAgICAgJ1VudGVyYmVzZXR6dW5nIHF1aXR0aWVydCcs +CiAgICAnbG9jay5mb3JjZSc6ICAgICAgICAgICAgICAgICAgICAgJ0VkaXQtTG9jayDDvGJlcm5v +bW1lbicsCiAgICAnaGlud2Vpcy5lcnpldWd0JzogICAgICAgICAgICAgICAgJ0hpbndlaXMgZXJ6 +ZXVndCcsCiAgICAnaGlud2Vpcy5rZW5udG5pcyc6ICAgICAgICAgICAgICAgJ0hpbndlaXMgenVy +IEtlbm50bmlzIGdlbm9tbWVuJywKICAgICd2ZXJhbnR3b3J0dW5nLmVpbmdlc3BydW5nZW4nOiAg +ICAnQXXDn2VycGxhbm3DpMOfaWcgZWluZ2VzcHJ1bmdlbicsCiAgICAvLyBLb21tZW50YXJlOiBT +ZXJ2ZXIgc2NocmVpYnQgaGluenVnZWZ1ZWd0L2dlbG9lc2NodCAoTklDSFQgZ2VhZW5kZXJ0KSDi +gJQKICAgIC8vIG9obmUgZGllc2UgTGFiZWxzIGxhbmRldGVuIGRpZSBoYWV1Zmlnc3RlbiBLb21t +ZW50YXItRWludHJhZWdlIGltCiAgICAvLyBnZW5lcmlzY2hlbiBSb2gtRmFsbGJhY2sgbWl0IHRl +Y2huaXNjaGVuIEZlbGRuYW1lbi4KICAgICdrb21tZW50YXIuaGluenVnZWZ1ZWd0JzogICAgICAg +ICAnS29tbWVudGFyIGhpbnp1Z2Vmw7xndCcsCiAgICAna29tbWVudGFyLmdlbG9lc2NodCc6ICAg +ICAgICAgICAgJ0tvbW1lbnRhciBnZWzDtnNjaHQnLAogICAgJ3BlcnNvbi5pbi5wYXBpZXJrb3Ji +JzogICAgICAgICAgICdQZXJzb24gaW4gUGFwaWVya29yYiB2ZXJzY2hvYmVuJywKICAgICdwZXJz +b24uZW5kZ3VlbHRpZy5nZWxvZXNjaHQnOiAgICAnUGVyc29uIGVuZGfDvGx0aWcgZ2Vsw7ZzY2h0 +JywKICAgICdwcm90b2tvbGwuZ2Vsb2VzY2h0JzogICAgICAgICAgICAnTG9nYnVjaC1Qcm90b2tv +bGwgZ2Vsw7ZzY2h0JywKICAgICdtaXR0ZWlsdW5nLmFuZ2VsZWd0JzogICAgICAgICAgICAnTWl0 +dGVpbHVuZyBhbmdlbGVndCcsCiAgICAnbWl0dGVpbHVuZy5nZWFlbmRlcnQnOiAgICAgICAgICAg +J01pdHRlaWx1bmcgZ2XDpG5kZXJ0JywKICAgICdtaXR0ZWlsdW5nLmdlbG9lc2NodCc6ICAgICAg +ICAgICAnTWl0dGVpbHVuZyBnZWzDtnNjaHQnLAogICAgJ21pdHRlaWx1bmcudXBsb2FkJzogICAg +ICAgICAgICAgICdNaXR0ZWlsdW5nIOKAlCBEYXRlaSBob2NoZ2VsYWRlbicsCiAgICAnYXZhdGFy +Lmdlc2V0enQnOiAgICAgICAgICAgICAgICAgJ0F2YXRhciBnZXNldHp0JywKICAgICdhdmF0YXIu +ZW50ZmVybnQnOiAgICAgICAgICAgICAgICAnQXZhdGFyIGVudGZlcm50Jwp9OwoKLy8gTGVzYmFy +ZSBCZXplaWNobnVuZ2VuIHBybyBIaW53ZWlzLVR5cCAoU3BpZWdlbCB2b24ganMvaGlud2Vpc2Uu +anMKLy8gVFlQX0xBQkVMLCBoaWVyIG1pdCBVbWxhdXRlbiBmdWVyIGRpZSBMb2didWNoLUFuemVp +Z2UpLgp2YXIgSElOV0VJU19UWVBfTEFCRUwgPSB7CiAgICBpZGVudGl0YWV0X2dlYWVuZGVydDog +ICAgICdJZGVudGl0w6R0IGdlw6RuZGVydCcsCiAgICByb2xsZV9nZWFlbmRlcnQ6ICAgICAgICAg +ICdSb2xsZSBnZcOkbmRlcnQnLAogICAgcm9sbGVfdmVyYW50d29ydHVuZzogICAgICAnVmVyYW50 +d29ydHVuZ3MtV2VjaHNlbCAoUm9sbGUpJywKICAgIGJhY2t1cF93aWVkZXJoZXJnZXN0ZWxsdDog +J0JhY2t1cCB3aWVkZXJoZXJnZXN0ZWxsdCcsCiAgICBwbGFudW5nX3Jlc2V0OiAgICAgICAgICAg +ICdQbGFudW5nIHp1csO8Y2tnZXNldHp0JywKICAgIGtyYW5rbWVsZHVuZzogICAgICAgICAgICAg +J0tyYW5rbWVsZHVuZycsCiAgICBwZXJzb25fbmV1OiAgICAgICAgICAgICAgICdQZXJzb24gbmV1 +IGFuZ2VsZWd0JywKICAgIHBlcnNvbl9pbmFrdGl2OiAgICAgICAgICAgJ1BlcnNvbiBpbmFrdGl2 +IGdlc2V0enQnLAogICAgZ2VidXJ0c3RhZzogICAgICAgICAgICAgICAnR2VidXJ0c3RhZycsCiAg +ICBzY2hpY2h0X2VkaXRfbmFoZTogICAgICAgICdTY2hpY2h0LcOEbmRlcnVuZyBuYWhlIGFtIERh +dHVtJwp9OwpmdW5jdGlvbiBfaGlud2Vpc1R5cExhYmVsKHQpIHsgcmV0dXJuIEhJTldFSVNfVFlQ +X0xBQkVMW3RdIHx8ICh0IHx8ICcnKTsgfQoKZnVuY3Rpb24gYWt0aW9uTGFiZWwoY29kZSkgewog +ICAgaWYgKCFjb2RlKSByZXR1cm4gJyhvaG5lKSc7CiAgICBpZiAoQUtUSU9OX0xBQkVMW2NvZGVd +KSByZXR1cm4gQUtUSU9OX0xBQkVMW2NvZGVdOwogICAgLy8gR2VuZXJpc2NoZXIgRmFsbGJhY2s6 +ICdmb28uZ2VhZW5kZXJ0JyAtPiAnRm9vIGdlw6RuZGVydCcKICAgIHZhciB0ZWlsZSA9IGNvZGUu +c3BsaXQoJy4nKTsKICAgIGlmICh0ZWlsZS5sZW5ndGggPj0gMikgewogICAgICAgIHZhciBiYXNp +cyA9IHRlaWxlWzBdLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdGVpbGVbMF0uc2xpY2UoMSk7 +CiAgICAgICAgdmFyIHJlc3QgPSB0ZWlsZS5zbGljZSgxKS5qb2luKCcuJykKICAgICAgICAgICAg +LnJlcGxhY2UoJ2dlYWVuZGVydCcsICdnZcOkbmRlcnQnKQogICAgICAgICAgICAucmVwbGFjZSgn +Z2Vsb2VzY2h0JywgJ2dlbMO2c2NodCcpCiAgICAgICAgICAgIC5yZXBsYWNlKCd6dXJ1ZWNrZ2Vz +ZXR6dCcsICd6dXLDvGNrZ2VzZXR6dCcpCiAgICAgICAgICAgIC5yZXBsYWNlKCdxdWl0dGllcnQn +LCAncXVpdHRpZXJ0Jyk7CiAgICAgICAgcmV0dXJuIGJhc2lzICsgJyAnICsgcmVzdDsKICAgIH0K +ICAgIHJldHVybiBjb2RlOwp9CgovLyBBa3Rpb24gLT4gS2F0ZWdvcmllLVNsdWcgZnVlciBkYXMg +RmFyYi1QaWxsIGluIGRlciBBa3Rpb24tU3BhbHRlLgovLyBLYXRlZ29yaWVuIGdlYmVuIGVpbmVu +IFNjaG5lbGwtTGVzZWZsdXNzOiBncnVlbmUgUGlsbHMgPSBQbGFudW5nLAovLyBibGF1ZSA9IFBl +cnNvbiwgb3JhbmdlID0gQWRtaW4tS29uZmlnLCB2aW9sZXR0ID0gSGlud2VpcyB1c3cuCnZhciBB +S1RJT05fS0FURUdPUklFID0gewogICAgJ3plbGxlLmdlYWVuZGVydCc6ICAgICAgICAgICAgICAg +ICdwbGFudW5nJywKICAgICd6ZWxsZW4uYnVsay5nZWFlbmRlcnQnOiAgICAgICAgICAncGxhbnVu +ZycsCiAgICAna29tbWVudGFyLmdlYWVuZGVydCc6ICAgICAgICAgICAgJ3BsYW51bmcnLAogICAg +J3VudGVyYmVzZXR6dW5nLnF1aXR0aWVydCc6ICAgICAgICdwbGFudW5nJywKICAgICdsb2NrLmZv +cmNlJzogICAgICAgICAgICAgICAgICAgICAnc3lzdGVtJywKICAgICdwZXJzb24uYW5nZWxlZ3Qn +OiAgICAgICAgICAgICAgICAncGVyc29uJywKICAgICdwZXJzb24uZ2VhZW5kZXJ0JzogICAgICAg +ICAgICAgICAncGVyc29uJywKICAgICdwZXJzb25lbi5yZWloZW5mb2xnZS5nZWFlbmRlcnQnOiAn +cGVyc29uJywKICAgICdhZG1pbi5nZWFlbmRlcnQnOiAgICAgICAgICAgICAgICAnYWRtaW4nLAog +ICAgJ2FkbWluLmNvbmZpZy5nZWFlbmRlcnQnOiAgICAgICAgICdhZG1pbicsCiAgICAnYWRtaW4u +Z3J1cHBlLnVtYmVuYW5udCc6ICAgICAgICAgJ2FkbWluJywKICAgICdhZG1pbi5taWtyb3RlYW1z +LmFuZ2VsZWd0JzogICAgICAnYWRtaW4nLAogICAgJ2FkbWluLm1pa3JvdGVhbXMubmV1JzogICAg +ICAgICAgICdhZG1pbicsCiAgICAnYmV6ZWljaG51bmdlbi5nZWFlbmRlcnQnOiAgICAgICAgJ2Fk +bWluJywKICAgICdlbWFpbHZvcmxhZ2VuLmdlYWVuZGVydCc6ICAgICAgICAnYWRtaW4nLAogICAg +J2VtYWlsdHJpZ2dlci5nZWFlbmRlcnQnOiAgICAgICAgICdhZG1pbicsCiAgICAnZWluc3RlbGx1 +bmdlbi5nZWFlbmRlcnQnOiAgICAgICAgJ2FkbWluJywKICAgICdmZWllcnRhZ2UuZ2VhZW5kZXJ0 +JzogICAgICAgICAgICAnYWRtaW4nLAogICAgJ2Zlcmllbi5nZWFlbmRlcnQnOiAgICAgICAgICAg +ICAgICdhZG1pbicsCiAgICAnc29uZGVydGVybWluZS5nZWFlbmRlcnQnOiAgICAgICAgJ2FkbWlu +JywKICAgICdzdGFuZG9ydGUuZ2VhZW5kZXJ0JzogICAgICAgICAgICAnYWRtaW4nLAogICAgJ3Nj +aGljaHRjb2Rlcy5nZWFlbmRlcnQnOiAgICAgICAgICdhZG1pbicsCiAgICAnZ3J1cHBlbi5nZWFl +bmRlcnQnOiAgICAgICAgICAgICAgJ2FkbWluJywKICAgICdmdW5rdGlvbmVuLmdlYWVuZGVydCc6 +ICAgICAgICAgICAnYWRtaW4nLAogICAgJ3NjaGljaHRmb2xnZW4uZ2VhZW5kZXJ0JzogICAgICAg +ICdhZG1pbicsCiAgICAncm9sbGVuLmdlYWVuZGVydCc6ICAgICAgICAgICAgICAgJ2FkbWluJywK +ICAgICdzdXBlclVzZXIuZ2VhZW5kZXJ0JzogICAgICAgICAgICAncm9sbGUnLAogICAgJ3N1cGVy +dXNlci5nZWFlbmRlcnQnOiAgICAgICAgICAgICdyb2xsZScsCiAgICAnZmFjaGF1ZnNpY2h0Lmdl +YWVuZGVydCc6ICAgICAgICAgJ3JvbGxlJywKICAgICdkaXJla3Rpb25zbGVpdHVuZy5nZWFlbmRl +cnQnOiAgICAncm9sbGUnLAogICAgJ2Z1ZWhydW5nc3N0ZWxsZS5nZWFlbmRlcnQnOiAgICAgICdy +b2xsZScsCiAgICAnd2FjaGxlaXR1bmcuZ2VhZW5kZXJ0JzogICAgICAgICAgJ3JvbGxlJywKICAg +ICdoaW53ZWlzLmVyemV1Z3QnOiAgICAgICAgICAgICAgICAnaGlud2VpcycsCiAgICAnaGlud2Vp +cy5rZW5udG5pcyc6ICAgICAgICAgICAgICAgJ2hpbndlaXMnLAogICAgJ3ZlcmFudHdvcnR1bmcu +ZWluZ2VzcHJ1bmdlbic6ICAgICdwbGFudW5nJywKICAgICdiYWNrdXAuZXJzdGVsbHQnOiAgICAg +ICAgICAgICAgICAnYmFja3VwJywKICAgICdiYWNrdXAud2llZGVyaGVyZ2VzdGVsbHQnOiAgICAg +ICAnc3lzdGVtJywKICAgICdiYWNrdXAuZ2Vsb2VzY2h0JzogICAgICAgICAgICAgICAnYmFja3Vw +JywKICAgICdwbGFudW5nLnJlc2V0JzogICAgICAgICAgICAgICAgICAnc3lzdGVtJywKICAgICdw +bGFudW5nLmtvbXBsZXR0LWVyc2V0enQnOiAgICAgICAnc3lzdGVtJywKICAgICdkdW1teWRhdGVu +LmVpbmdlc3BpZWx0JzogICAgICAgICAnc3lzdGVtJywKICAgICdrb21tZW50YXIuaGluenVnZWZ1 +ZWd0JzogICAgICAgICAncGxhbnVuZycsCiAgICAna29tbWVudGFyLmdlbG9lc2NodCc6ICAgICAg +ICAgICAgJ3BsYW51bmcnLAogICAgJ3BlcnNvbi5pbi5wYXBpZXJrb3JiJzogICAgICAgICAgICdw +ZXJzb24nLAogICAgJ3BlcnNvbi5lbmRndWVsdGlnLmdlbG9lc2NodCc6ICAgICdwZXJzb24nLAog +ICAgJ3Byb3Rva29sbC5nZWxvZXNjaHQnOiAgICAgICAgICAgICdzeXN0ZW0nLAogICAgJ21pdHRl +aWx1bmcuYW5nZWxlZ3QnOiAgICAgICAgICAgICdhZG1pbicsCiAgICAnbWl0dGVpbHVuZy5nZWFl +bmRlcnQnOiAgICAgICAgICAgJ2FkbWluJywKICAgICdtaXR0ZWlsdW5nLmdlbG9lc2NodCc6ICAg +ICAgICAgICAnYWRtaW4nLAogICAgJ21pdHRlaWx1bmcudXBsb2FkJzogICAgICAgICAgICAgICdh +ZG1pbicsCiAgICAnYXZhdGFyLmdlc2V0enQnOiAgICAgICAgICAgICAgICAgJ3BlcnNvbicsCiAg +ICAnYXZhdGFyLmVudGZlcm50JzogICAgICAgICAgICAgICAgJ3BlcnNvbicKfTsKZnVuY3Rpb24g +YWt0aW9uS2F0ZWdvcmllKGNvZGUpIHsKICAgIGlmIChBS1RJT05fS0FURUdPUklFW2NvZGVdKSBy +ZXR1cm4gQUtUSU9OX0tBVEVHT1JJRVtjb2RlXTsKICAgIC8vIEhldXJpc3RpazogcHJhZWZpeCB2 +b3IgZGVtIFB1bmt0IGVudHNjaGVpZGV0LgogICAgdmFyIHByZWYgPSAoY29kZSB8fCAnJykuc3Bs +aXQoJy4nKVswXTsKICAgIGlmIChwcmVmID09PSAnemVsbGUnIHx8IHByZWYgPT09ICd6ZWxsZW4n +IHx8IHByZWYgPT09ICdrb21tZW50YXInKSByZXR1cm4gJ3BsYW51bmcnOwogICAgaWYgKHByZWYg +PT09ICdwZXJzb24nIHx8IHByZWYgPT09ICdwZXJzb25lbicpIHJldHVybiAncGVyc29uJzsKICAg +IGlmIChwcmVmID09PSAnaGlud2VpcycpIHJldHVybiAnaGlud2Vpcyc7CiAgICBpZiAocHJlZiA9 +PT0gJ2JhY2t1cCcpIHJldHVybiAnYmFja3VwJzsKICAgIGlmIChwcmVmID09PSAncGxhbnVuZycg +fHwgcHJlZiA9PT0gJ2xvY2snKSByZXR1cm4gJ3N5c3RlbSc7CiAgICByZXR1cm4gJ2FkbWluJzsK +fQoKLy8gSW5pdGlhbGVuIGZ1ZXIgZGVuIFVzZXItQXZhdGFyIGltIExvZ2J1Y2guIEFremVwdGll +cnQgZGllIGJlcmVpdHMgenVtCi8vIEtsYXJuYW1lbiBhdWZnZWxvZXN0ZSBGb3JtICgiUGhpbGlw +cCBSb2VzZ2VuIChGYWNoYXVmc2ljaHQpIiBvZGVyCi8vICJTYW5kcmEgTWVubmVrZSAoZWhlbWFs +aWcpIikgdW5kIGZpbHRlcnQgZGllIEtsYW1tZXItQW5ub3RhdGlvbiByYXVzLgpmdW5jdGlvbiBf +dXNlckluaXRpYWxlbihuYW1lKSB7CiAgICBpZiAoIW5hbWUpIHJldHVybiAnPyc7CiAgICB2YXIg +Y2xlYW4gPSBuYW1lLnJlcGxhY2UoL1xzKlwoLio/XClccyovZywgJycpLnRyaW0oKTsKICAgIHZh +ciB0ZWlsZSA9IGNsZWFuLnNwbGl0KC9ccysvKS5maWx0ZXIoQm9vbGVhbik7CiAgICBpZiAoIXRl +aWxlLmxlbmd0aCkgcmV0dXJuICc/JzsKICAgIHZhciBpID0gdGVpbGVbMF0uY2hhckF0KDApLnRv +VXBwZXJDYXNlKCk7CiAgICBpZiAodGVpbGUubGVuZ3RoID4gMSkgaSArPSB0ZWlsZVt0ZWlsZS5s +ZW5ndGggLSAxXS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKTsKICAgIHJldHVybiBpOwp9CgovLyBa +ZXJsZWd0ICJZWVlZLU1NLUREIEhIOm1tOnNzIiBpbiB7IGRhdHVtOiAiREQuTU0uWVlZWSIsIHpl +aXQ6ICJISDptbSIgfS4KLy8gRnVlciBkYXMgendlaXplaWxpZ2UgVGltZXN0YW1wLUxheW91dCBp +biBkZXIgVGFiZWxsZS4KZnVuY3Rpb24gX3plaXRzdGVtcGVsVGVpbGUodHMpIHsKICAgIGlmICgh +dHMpIHJldHVybiB7IGRhdHVtOiAnJywgemVpdDogJycgfTsKICAgIHZhciBtID0gU3RyaW5nKHRz +KS5tYXRjaCgvXihcZHs0fSktKFxkezJ9KS0oXGR7Mn0pW1xzVF0oXGR7Mn0pOihcZHsyfSkvKTsK +ICAgIGlmICghbSkgcmV0dXJuIHsgZGF0dW06IHRzLCB6ZWl0OiAnJyB9OwogICAgcmV0dXJuIHsg +ZGF0dW06IG1bM10gKyAnLicgKyBtWzJdICsgJy4nICsgbVsxXSwgemVpdDogbVs0XSArICc6JyAr +IG1bNV0gfTsKfQoKLy8gPT09PT0gQmVudXR6ZXItS2xhcm5hbWUgPT09PT0KLy8gU2VydmVyIHNj +aHJlaWJ0ICJET01BSU5cXHVzZXJuYW1lIi4gV2lyIGxvZXNlbiBkaWVzZSBOVy1LZW5udW5nIGdl +Z2VuIGRpZQovLyBQZXJzb25hbHZlcndhbHR1bmcgYXVmIOKAlCB1bmQgZmFsbHMgZG9ydCBuaWNo +dCBnZWZ1bmRlbiwgZ2VnZW4gZGllIEFkbWluLQovLyBMaXN0ZW4gKGZhY2hhdWZzaWNodCwgc3Vw +ZXJVc2VyKS4gQXVjaCBpbmFrdGl2ZS9laGVtYWxpZ2UgUGVyc29uZW4gd2VyZGVuCi8vIGJlcnVl +Y2tzaWNodGlndC4KCmZ1bmN0aW9uIF9rZW5udW5nVmFyaWFudGVuKHMpIHsKICAgIHZhciBvdXQg +PSBbXTsKICAgIGlmICghcykgcmV0dXJuIG91dDsKICAgIHZhciBsID0gcy50b0xvd2VyQ2FzZSgp +OwogICAgb3V0LnB1c2gobCk7CiAgICBpZiAobC5pbmRleE9mKCdcXCcpID49IDApIG91dC5wdXNo +KGwuc3BsaXQoJ1xcJykucG9wKCkpOwogICAgcmV0dXJuIG91dDsKfQoKZnVuY3Rpb24gYmVudXR6 +ZXJLbGFybmFtZShzZXJ2ZXJCZW51dHplcikgewogICAgaWYgKCFzZXJ2ZXJCZW51dHplcikgcmV0 +dXJuICcodW5iZWthbm50KSc7CiAgICB2YXIgdmFyaWFudGVuID0gX2tlbm51bmdWYXJpYW50ZW4o +c2VydmVyQmVudXR6ZXIpOwoKICAgIC8vIDEpIFBlcnNvbmFsdmVyd2FsdHVuZyDigJQgYXVjaCBp +bmFrdGl2ZS9laGVtYWxpZ2UgYmVydWVja3NpY2h0aWdlbi4KICAgIHZhciBwZXJzb25lbiA9ICha +LnBsYW51bmcgJiYgWi5wbGFudW5nLnBlcnNvbmVuKSB8fCBbXTsKICAgIGZvciAodmFyIGkgPSAw +OyBpIDwgcGVyc29uZW4ubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgcCA9IHBlcnNvbmVuW2ld +OwogICAgICAgIGlmICghcC5ud0tlbm51bmcpIGNvbnRpbnVlOwogICAgICAgIHZhciBwSyA9IFN0 +cmluZyhwLm53S2VubnVuZykudG9Mb3dlckNhc2UoKTsKICAgICAgICBpZiAodmFyaWFudGVuLmlu +ZGV4T2YocEspID49IDApIHsKICAgICAgICAgICAgdmFyIG5hbWUgPSAoKHAudm9ybmFtZSA/IHAu +dm9ybmFtZSArICcgJyA6ICcnKSArIChwLm5hbWUgfHwgJycpKS50cmltKCk7CiAgICAgICAgICAg +IGlmICghbmFtZSkgbmFtZSA9IHAubndLZW5udW5nOwogICAgICAgICAgICByZXR1cm4gbmFtZSAr +IChwLmFrdGl2ID09PSBmYWxzZSA/ICcgKGVoZW1hbGlnKScgOiAnJyk7CiAgICAgICAgfQogICAg +fQogICAgLy8gMikgQWRtaW4tTGlzdGVuIEZhY2hhdWZzaWNodCAvIFN1cGVyVXNlcgogICAgdmFy +IGZhID0gKFouYWRtaW4gJiYgWi5hZG1pbi5mYWNoYXVmc2ljaHQpIHx8IFtdOwogICAgZm9yICh2 +YXIgaiA9IDA7IGogPCBmYS5sZW5ndGg7IGorKykgewogICAgICAgIGlmIChmYVtqXS5ud0tlbm51 +bmcgJiYgdmFyaWFudGVuLmluZGV4T2YoU3RyaW5nKGZhW2pdLm53S2VubnVuZykudG9Mb3dlckNh +c2UoKSkgPj0gMCkgewogICAgICAgICAgICByZXR1cm4gKGZhW2pdLm5hbWUgfHwgZmFbal0ubndL +ZW5udW5nKSArICcgKEZhY2hhdWZzaWNodCknOwogICAgICAgIH0KICAgIH0KICAgIHZhciBzdSA9 +IChaLmFkbWluICYmIFouYWRtaW4uc3VwZXJVc2VyKSB8fCBbXTsKICAgIGZvciAodmFyIGsgPSAw +OyBrIDwgc3UubGVuZ3RoOyBrKyspIHsKICAgICAgICBpZiAoc3Vba10ubndLZW5udW5nICYmIHZh +cmlhbnRlbi5pbmRleE9mKFN0cmluZyhzdVtrXS5ud0tlbm51bmcpLnRvTG93ZXJDYXNlKCkpID49 +IDApIHsKICAgICAgICAgICAgcmV0dXJuIChzdVtrXS5uYW1lIHx8IHN1W2tdLm53S2VubnVuZykg +KyAnIChTdXBlclVzZXIpJzsKICAgICAgICB9CiAgICB9CiAgICAvLyAzKSBGYWxsYmFjazogUm9o +LUtlbm51bmcgYW56ZWlnZW4sIGFiZXIgRG9tYWluIGFic2NobmVpZGVuCiAgICB2YXIgbCA9IHNl +cnZlckJlbnV0emVyLnRvTG93ZXJDYXNlKCk7CiAgICByZXR1cm4gbC5pbmRleE9mKCdcXCcpID49 +IDAgPyBzZXJ2ZXJCZW51dHplci5zcGxpdCgnXFwnKS5wb3AoKSA6IHNlcnZlckJlbnV0emVyOwp9 +CgovLyA9PT09PSBEZXRhaWxzLUZvcm1hdHRlciA9PT09PQoKLy8gTWFwcGluZyB0ZWNobmlzY2hl +ciBQZXJzb25lbmZlbGQtS2V5cyBhdWYgZGV1dHNjaGUgTGFiZWxzIGZ1ZXIgZGVuIERpZmYuCnZh +ciBGRUxEX0xBQkVMID0gewogICAgbmFtZTogICAgICAgICAnTmFjaG5hbWUnLAogICAgdm9ybmFt +ZTogICAgICAnVm9ybmFtZScsCiAgICBkaWVuc3RncmFkOiAgICdEaWVuc3RncmFkJywKICAgIGZ1 +bmt0aW9uOiAgICAgJ0Z1bmt0aW9uJywKICAgIHJhbmc6ICAgICAgICAgJ1JhbmcnLAogICAgZ3J1 +cHBlOiAgICAgICAnRGllbnN0Z3J1cHBlJywKICAgIG9lOiAgICAgICAgICAgJ09FJywKICAgIGRp +ZW5zdG51bW1lcjogJ0RpZW5zdG51bW1lcicsCiAgICB0ZWxlZm9uOiAgICAgICdUZWxlZm9uJywK +ICAgIGVtYWlsOiAgICAgICAgJ0UtTWFpbCcsCiAgICBud0tlbm51bmc6ICAgICdOVy1LZW5udW5n +JywKICAgIGdlYnVydHNkYXR1bTogJ0dlYnVydHNkYXR1bScsCiAgICBha3RpdjogICAgICAgICdB +a3RpdicsCiAgICBwb3NpdGlvbjogICAgICdQb3NpdGlvbicsCiAgICBlZGl0UmVjaHRlOiAgICdF +ZGl0LVJlY2h0ZScKfTsKCmZ1bmN0aW9uIF9kaWZmQW56ZWlnZSh2KSB7CiAgICBpZiAodiA9PSBu +dWxsIHx8IHYgPT09ICcnKSByZXR1cm4gJyhsZWVyKSc7CiAgICBpZiAodHlwZW9mIHYgPT09ICdi +b29sZWFuJykgcmV0dXJuIHYgPyAnSmEnIDogJ05laW4nOwogICAgaWYgKHR5cGVvZiB2ID09PSAn +b2JqZWN0JykgewogICAgICAgIHRyeSB7IHJldHVybiBKU09OLnN0cmluZ2lmeSh2KTsgfSBjYXRj +aCAoXykgeyByZXR1cm4gU3RyaW5nKHYpOyB9CiAgICB9CiAgICByZXR1cm4gU3RyaW5nKHYpOwp9 +CgpmdW5jdGlvbiBfcGVyc29uTGFiZWwocGVyc29uSWQsIHBNYXApIHsKICAgIGlmICghcGVyc29u +SWQpIHJldHVybiAnJzsKICAgIHJldHVybiBwTWFwW1N0cmluZyhwZXJzb25JZCldIHx8ICgnUGVy +c29uIElEICcgKyBwZXJzb25JZCk7Cn0KCmZ1bmN0aW9uIF9rdWVyemVUZXh0KHMsIG1heCkgewog +ICAgaWYgKCFzKSByZXR1cm4gJyc7CiAgICBzID0gU3RyaW5nKHMpLnJlcGxhY2UoL1xzKy9nLCAn +ICcpOwogICAgaWYgKHMubGVuZ3RoIDw9IG1heCkgcmV0dXJuIHM7CiAgICByZXR1cm4gcy5zbGlj +ZSgwLCBtYXggLSAxKSArICfigKYnOwp9CgovLyBGb3JtYXRpZXJ0IGVpbiBlZGl0UmVjaHRlLU9i +amVrdCAoe3BlcnNvbmVuSWRzOltdLGRpZW5zdGdydXBwZW46W10sc3RhbmRvcnRlOltdfSkKLy8g +YWxzIEtsYXJ0ZXh0LUxpc3RlLCBzdGF0dCByb2hlbiBKU09OLUR1bXAgenUgemVpZ2VuLiBQZXJz +b25lbi1JRHMgd2VyZGVuCi8vIGdlZ2VuIGRpZSBQZXJzb25hbHZlcndhbHR1bmcgYXVmZ2Vsb2Vz +dC4gTGVlcmVyIEluaGFsdCA9ICLigJQiLgpmdW5jdGlvbiBfZWRpdFJlY2h0ZUt1cnoob2JqLCBw +TWFwKSB7CiAgICBpZiAoIW9iaiB8fCB0eXBlb2Ygb2JqICE9PSAnb2JqZWN0JykgcmV0dXJuICc8 +aT7igJQ8L2k+JzsKICAgIHZhciB0ZWlsZSA9IFtdOwogICAgdmFyIHBJZHMgPSBBcnJheS5pc0Fy +cmF5KG9iai5wZXJzb25lbklkcykgPyBvYmoucGVyc29uZW5JZHMgOiBbXTsKICAgIHZhciBnciAg +ID0gQXJyYXkuaXNBcnJheShvYmouZGllbnN0Z3J1cHBlbikgPyBvYmouZGllbnN0Z3J1cHBlbiA6 +IFtdOwogICAgdmFyIHN0ICAgPSBBcnJheS5pc0FycmF5KG9iai5zdGFuZG9ydGUpID8gb2JqLnN0 +YW5kb3J0ZSA6IFtdOwogICAgaWYgKHBJZHMubGVuZ3RoKSB7CiAgICAgICAgdmFyIG5hbWVuID0g +cElkcy5tYXAoZnVuY3Rpb24oaWQpIHsKICAgICAgICAgICAgdmFyIG4gPSAocE1hcCB8fCB7fSlb +U3RyaW5nKGlkKV07CiAgICAgICAgICAgIHJldHVybiBuID8gbi5zcGxpdCgnLCcpWzBdLnRyaW0o +KSA6ICcjJyArIGlkOyAgIC8vIG51ciBOYWNobmFtZSwga29tcGFrdAogICAgICAgIH0pOwogICAg +ICAgIHRlaWxlLnB1c2gocElkcy5sZW5ndGggKyAnIFBlcnNvbicgKyAocElkcy5sZW5ndGggPT09 +IDEgPyAnJyA6ICdlbicpICsKICAgICAgICAgICAgICAgICAgICcgKCcgKyBlc2NhcGVIVE1MKG5h +bWVuLmpvaW4oJywgJykpICsgJyknKTsKICAgIH0KICAgIGlmIChnci5sZW5ndGgpIHRlaWxlLnB1 +c2goZ3IubGVuZ3RoICsgJyBEaWVuc3RncnVwcGUnICsgKGdyLmxlbmd0aCA9PT0gMSA/ICcnIDog +J24nKSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgKCcgKyBlc2NhcGVIVE1MKGdy +LmpvaW4oJywgJykpICsgJyknKTsKICAgIGlmIChzdC5sZW5ndGgpIHRlaWxlLnB1c2goc3QubGVu +Z3RoICsgJyBTdGFuZG9ydCcgKyAoc3QubGVuZ3RoID09PSAxID8gJ2UnIDogJ2UnKSArCiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICcgKCcgKyBlc2NhcGVIVE1MKHN0LmpvaW4oJywgJykp +ICsgJyknKTsKICAgIGlmICghdGVpbGUubGVuZ3RoKSByZXR1cm4gJzxpPuKAlDwvaT4nOwogICAg +cmV0dXJuIHRlaWxlLmpvaW4oJywgJyk7Cn0KZnVuY3Rpb24gX2VkaXRSZWNodGVEaWZmKGFsdCwg +bmV1LCBwTWFwKSB7CiAgICByZXR1cm4gX2VkaXRSZWNodGVLdXJ6KGFsdCwgcE1hcCkgKyAnICZy +YXJyOyAnICsgX2VkaXRSZWNodGVLdXJ6KG5ldSwgcE1hcCk7Cn0KCi8vIEhlbGZlcjogUGx1cmFs +ICJFaW50cmFnL0VpbnRyw6RnZSIgbWl0IGtvcnJla3RlbSBkZXV0c2NoZW4gUGx1cmFsLgpmdW5j +dGlvbiBfZWludHJhZ1BsdXJhbChuKSB7CiAgICBpZiAobiA9PSBudWxsKSByZXR1cm4gJyc7CiAg +ICBuID0gTnVtYmVyKG4pOwogICAgaWYgKG4gPT09IDEpIHJldHVybiAnMSBFaW50cmFnJzsKICAg +IHJldHVybiBuICsgJyBFaW50csOkZ2UnOwp9CgpmdW5jdGlvbiBkZXRhaWxzSHRtbChlLCBwTWFw +KSB7CiAgICB2YXIgYWt0aW9uID0gZS5ha3Rpb24gfHwgJyc7CiAgICBpZiAoYWt0aW9uID09PSAn +emVsbGUuZ2VhZW5kZXJ0JykgewogICAgICAgIHJldHVybiBfcGVyc29uTGFiZWwoZS5wZXJzb25J +ZCwgcE1hcCkgKyAnIGFtICcgKyBkYXR1bUZvcm1hdERFKGUuZGF0dW0pICsKICAgICAgICAgICAg +JzogPGNvZGU+JyArIGVzY2FwZUhUTUwoZS5hbHRlcldlcnQgfHwgJyhsZWVyKScpICsgJzwvY29k +ZT4gJnJhcnI7IDxjb2RlPicgKyBlc2NhcGVIVE1MKGUubmV1ZXJXZXJ0IHx8ICcobGVlciknKSAr +ICc8L2NvZGU+JzsKICAgIH0KICAgIGlmIChha3Rpb24gPT09ICdrb21tZW50YXIuZ2VhZW5kZXJ0 +JykgewogICAgICAgIHZhciBhbHQgPSBlLmFsdGVyVGV4dCB8fCBlLnRleHQgfHwgJyc7ICAgLy8g +J3RleHQnID0gYWx0ZXMgU2NoZW1hCiAgICAgICAgdmFyIG5ldSA9IGUubmV1ZXJUZXh0IHx8ICcn +OwogICAgICAgIHZhciB6aWVsID0gX3BlcnNvbkxhYmVsKGUucGVyc29uSWQsIHBNYXApICsgJyBh +bSAnICsgZGF0dW1Gb3JtYXRERShlLmRhdHVtKTsKICAgICAgICBpZiAoIWFsdCAmJiBuZXUpIHJl +dHVybiB6aWVsICsgJzogbmV1IOKAnicgKyBlc2NhcGVIVE1MKF9rdWVyemVUZXh0KG5ldSwgODAp +KSArICciJzsKICAgICAgICBpZiAoYWx0ICYmICFuZXUpIHJldHVybiB6aWVsICsgJzogZ2Vsw7Zz +Y2h0ICh3YXIg4oCeJyArIGVzY2FwZUhUTUwoX2t1ZXJ6ZVRleHQoYWx0LCA4MCkpICsgJyIpJzsK +ICAgICAgICBpZiAoYWx0ICYmIG5ldSkgIHJldHVybiB6aWVsICsgJzog4oCeJyArIGVzY2FwZUhU +TUwoX2t1ZXJ6ZVRleHQoYWx0LCA2MCkpICsgJyIgJnJhcnI7IOKAnicgKyBlc2NhcGVIVE1MKF9r +dWVyemVUZXh0KG5ldSwgNjApKSArICciJzsKICAgICAgICByZXR1cm4gemllbCArICcg4oCUIEtv +bW1lbnRhcic7CiAgICB9CiAgICBpZiAoYWt0aW9uID09PSAna29tbWVudGFyLmhpbnp1Z2VmdWVn +dCcgfHwgYWt0aW9uID09PSAna29tbWVudGFyLmdlbG9lc2NodCcpIHsKICAgICAgICAvLyBTZXJ2 +ZXIgc2NocmVpYnQgbnVyIGVpbmUgVm9yc2NoYXUgKFZvbGx0ZXh0IGJsZWlidCBpbiBwbGFudW5n +Lmpzb24pLgogICAgICAgIHZhciBremllbCA9IF9wZXJzb25MYWJlbChlLnBlcnNvbklkLCBwTWFw +KSArIChlLmRhdHVtID8gJyBhbSAnICsgZGF0dW1Gb3JtYXRERShlLmRhdHVtKSA6ICcnKTsKICAg +ICAgICB2YXIgdm9yc2NoYXUgPSBlLnRleHRWb3JzY2hhdSA/ICfigJ4nICsgZXNjYXBlSFRNTChl +LnRleHRWb3JzY2hhdSkgKyAnIicgOiAnJzsKICAgICAgICBpZiAoYWt0aW9uID09PSAna29tbWVu +dGFyLmdlbG9lc2NodCcpIHsKICAgICAgICAgICAgcmV0dXJuIGt6aWVsICsgJzogS29tbWVudGFy +IGdlbMO2c2NodCcgKyAodm9yc2NoYXUgPyAnICh3YXIgJyArIHZvcnNjaGF1ICsgJyknIDogJycp +OwogICAgICAgIH0KICAgICAgICByZXR1cm4ga3ppZWwgKyAnOiBuZXVlciBLb21tZW50YXInICsg +KHZvcnNjaGF1ID8gJyAnICsgdm9yc2NoYXUgOiAnJyk7CiAgICB9CiAgICBpZiAoYWt0aW9uID09 +PSAncGVyc29uLmluLnBhcGllcmtvcmInKSB7CiAgICAgICAgdmFyIHBrTGFiZWwgPSBlLm5hbWUg +PyBlc2NhcGVIVE1MKGUubmFtZSkgOiBfcGVyc29uTGFiZWwoZS5wZXJzb25JZCwgcE1hcCk7CiAg +ICAgICAgcmV0dXJuIHBrTGFiZWwgKyAnIGluIGRlbiBQYXBpZXJrb3JiIHZlcnNjaG9iZW4gKHdp +ZWRlcmhlcnN0ZWxsYmFyKSc7CiAgICB9CiAgICBpZiAoYWt0aW9uID09PSAncGVyc29uLmVuZGd1 +ZWx0aWcuZ2Vsb2VzY2h0JykgewogICAgICAgIHZhciBlZ0xhYmVsID0gZS5uYW1lID8gZXNjYXBl +SFRNTChlLm5hbWUpIDogX3BlcnNvbkxhYmVsKGUucGVyc29uSWQsIHBNYXApOwogICAgICAgIHJl +dHVybiBlZ0xhYmVsICsgJyBlbmRnw7xsdGlnIGdlbMO2c2NodCc7CiAgICB9CiAgICBpZiAoYWt0 +aW9uID09PSAncHJvdG9rb2xsLmdlbG9lc2NodCcpIHsKICAgICAgICB2YXIgYW56ID0gKGUuYW56 +YWhsICE9IG51bGwpID8gZS5hbnphaGwgOiAoZS5nZWxvZXNjaHQgIT0gbnVsbCA/IGUuZ2Vsb2Vz +Y2h0IDogbnVsbCk7CiAgICAgICAgcmV0dXJuIGFueiAhPSBudWxsID8gKGFueiArICcgUHJvdG9r +b2xsLUVpbnRyw6RnZSBnZWzDtnNjaHQnKSA6ICdMb2didWNoLVByb3Rva29sbCBnZWxlZXJ0JzsK +ICAgIH0KICAgIGlmIChha3Rpb24gPT09ICdtaXR0ZWlsdW5nLmFuZ2VsZWd0JyB8fCBha3Rpb24g +PT09ICdtaXR0ZWlsdW5nLmdlYWVuZGVydCcgfHwgYWt0aW9uID09PSAnbWl0dGVpbHVuZy5nZWxv +ZXNjaHQnKSB7CiAgICAgICAgdmFyIG1UaXRlbCA9IGUudGl0ZWwgPyAn4oCeJyArIGVzY2FwZUhU +TUwoZS50aXRlbCkgKyAnIicgOiAoZS5pZCAhPSBudWxsID8gJyMnICsgZXNjYXBlSFRNTChTdHJp +bmcoZS5pZCkpIDogJycpOwogICAgICAgIHJldHVybiBtVGl0ZWwgfHwgJ01pdHRlaWx1bmcnOwog +ICAgfQogICAgaWYgKGFrdGlvbiA9PT0gJ21pdHRlaWx1bmcudXBsb2FkJykgewogICAgICAgIHJl +dHVybiAoZS5hcnQgPyBlc2NhcGVIVE1MKGUuYXJ0KSArICc6ICcgOiAnJykgKyBlc2NhcGVIVE1M +KGUuZGF0ZWkgfHwgJycpICsKICAgICAgICAgICAgKGUuYnl0ZXMgIT0gbnVsbCA/ICcgKCcgKyBN +YXRoLnJvdW5kKGUuYnl0ZXMgLyAxMDI0KSArICcgS0IpJyA6ICcnKTsKICAgIH0KICAgIGlmIChh +a3Rpb24gPT09ICdhdmF0YXIuZ2VzZXR6dCcgfHwgYWt0aW9uID09PSAnYXZhdGFyLmVudGZlcm50 +JykgewogICAgICAgIHZhciBhdkxhYmVsID0gX3BlcnNvbkxhYmVsKGUucGVyc29uSWQsIHBNYXAp +OwogICAgICAgIHJldHVybiBhdkxhYmVsICsgKGFrdGlvbiA9PT0gJ2F2YXRhci5nZXNldHp0JyA/ +ICcg4oCUIEF2YXRhciBnZXNldHp0JyA6ICcg4oCUIEF2YXRhciBlbnRmZXJudCcpOwogICAgfQog +ICAgaWYgKGFrdGlvbiA9PT0gJ3BlcnNvbi5hbmdlbGVndCcpIHsKICAgICAgICB2YXIgZWlucmVp +aHR4dCA9ICcnOwogICAgICAgIGlmIChlLmVpbnJlaWhlbiAmJiBlLmVpbnJlaWhlbiAhPT0gJ3Vu +dGVuJykgZWlucmVpaHR4dCA9ICcgKCcgKyBlLmVpbnJlaWhlbiArIChlLnBvc2l0aW9uICE9IG51 +bGwgPyAnIFBvc2l0aW9uICcgKyBlLnBvc2l0aW9uIDogJycpICsgJyknOwogICAgICAgIHJldHVy +biAnTmV1ZSBQZXJzb246ICcgKyBlc2NhcGVIVE1MKGUubmFtZSB8fCAnKG9obmUgTmFtZW4pJykg +KyBlaW5yZWlodHh0OwogICAgfQogICAgaWYgKGFrdGlvbiA9PT0gJ3BlcnNvbi5nZWFlbmRlcnQn +KSB7CiAgICAgICAgdmFyIGxhYmVsID0gZS5uYW1lID8gZXNjYXBlSFRNTChlLm5hbWUpIDogX3Bl +cnNvbkxhYmVsKGUucGVyc29uSWQsIHBNYXApOwogICAgICAgIGlmIChlLmdlYWVuZGVydCAmJiB0 +eXBlb2YgZS5nZWFlbmRlcnQgPT09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKGUuZ2VhZW5kZXJ0 +KS5sZW5ndGgpIHsKICAgICAgICAgICAgdmFyIHRlaWxlID0gT2JqZWN0LmtleXMoZS5nZWFlbmRl +cnQpLm1hcChmdW5jdGlvbihmZWxkKSB7CiAgICAgICAgICAgICAgICB2YXIgZCA9IGUuZ2VhZW5k +ZXJ0W2ZlbGRdIHx8IHt9OwogICAgICAgICAgICAgICAgdmFyIGZsID0gRkVMRF9MQUJFTFtmZWxk +XSB8fCBmZWxkOwogICAgICAgICAgICAgICAgLy8gZWRpdFJlY2h0ZSBpc3QgZWluIE9iamVrdCBt +aXQgcGVyc29uZW5JZHMvZGllbnN0Z3J1cHBlbi9zdGFuZG9ydGUg4oCUCiAgICAgICAgICAgICAg +ICAvLyBlaW4gcm9oZXIgSlNPTi1EdW1wIHdhZXJlIHVubGVzZXJsaWNoLiBXaXIgdWViZXJzZXR6 +ZW4gZGVuCiAgICAgICAgICAgICAgICAvLyBEaWZmIGluIGVpbmUgS2xhcnRleHQtWnVzYW1tZW5m +YXNzdW5nIG1pdCBQZXJzb25lbi1OYW1lbi4KICAgICAgICAgICAgICAgIGlmIChmZWxkID09PSAn +ZWRpdFJlY2h0ZScpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzxiPicgKyBlc2NhcGVI +VE1MKGZsKSArICc6PC9iPiAnICsgX2VkaXRSZWNodGVEaWZmKGQuYWx0LCBkLm5ldSwgcE1hcCk7 +CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gJzxiPicgKyBlc2NhcGVI +VE1MKGZsKSArICc6PC9iPiA8Y29kZT4nICsKICAgICAgICAgICAgICAgICAgICBlc2NhcGVIVE1M +KF9kaWZmQW56ZWlnZShkLmFsdCkpICsgJzwvY29kZT4gJnJhcnI7IDxjb2RlPicgKwogICAgICAg +ICAgICAgICAgICAgIGVzY2FwZUhUTUwoX2RpZmZBbnplaWdlKGQubmV1KSkgKyAnPC9jb2RlPic7 +CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICByZXR1cm4gbGFiZWwgKyAnICZtZGFzaDsgJyAr +IHRlaWxlLmpvaW4oJyAmbWlkZG90OyAnKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICdQZXJz +b24gJyArIGxhYmVsICsgJyBnZcOkbmRlcnQnOwogICAgfQogICAgaWYgKGFrdGlvbiA9PT0gJ2hp +bndlaXMuZXJ6ZXVndCcpIHsKICAgICAgICB2YXIgdHlwTGFiZWwgPSBfaGlud2Vpc1R5cExhYmVs +KGUudHlwKTsKICAgICAgICB2YXIgZW1wZlRleHQgPSAnJzsKICAgICAgICBpZiAodHlwZW9mIGUu +ZW1wZmFlbmdlciA9PT0gJ251bWJlcicpIHsKICAgICAgICAgICAgZW1wZlRleHQgPSBlLmVtcGZh +ZW5nZXIgKyAnIEVtcGbDpG5nZXInOwogICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShl +LmVtcGZhZW5nZXIpKSB7CiAgICAgICAgICAgIGVtcGZUZXh0ID0gZS5lbXBmYWVuZ2VyLmxlbmd0 +aCArICcgRW1wZsOkbmdlcic7CiAgICAgICAgfQogICAgICAgIHZhciB0ZWlsZSA9IFtdOwogICAg +ICAgIGlmICh0eXBMYWJlbCkgdGVpbGUucHVzaCgnPGI+JyArIGVzY2FwZUhUTUwodHlwTGFiZWwp +ICsgJzwvYj4nKTsKICAgICAgICBpZiAoZW1wZlRleHQpIHRlaWxlLnB1c2goZW1wZlRleHQpOwog +ICAgICAgIHJldHVybiB0ZWlsZS5qb2luKCcgJm1kYXNoOyAnKTsKICAgIH0KICAgIGlmIChha3Rp +b24gPT09ICd2ZXJhbnR3b3J0dW5nLmVpbmdlc3BydW5nZW4nKSB7CiAgICAgICAgdmFyIHBBdWZy +dWVjayA9IF9wZXJzb25MYWJlbChlLnBlcnNvbklkLCBwTWFwKTsKICAgICAgICB2YXIgc0xldHRl +ciA9IChlLnNjaGljaHQgfHwgJycpLmNoYXJBdCgwKTsKICAgICAgICB2YXIgc05hbWUgPSB7IEY6 +ICdGcsO8aHNjaGljaHQnLCBTOiAnU3DDpHRzY2hpY2h0JywgTjogJ05hY2h0c2NoaWNodCcgfVtz +TGV0dGVyXSB8fCBzTGV0dGVyOwogICAgICAgIHZhciBzdHVmZVR4dCA9IGUuc3R1ZmUgPyAoZS5z +dHVmZSArICcuIFZlcmFudHdvcnR1bmcnKSA6ICdWZXJhbnR3b3J0dW5nJzsKICAgICAgICB2YXIg +ZGF0dW1UeHQgPSBlLmRhdHVtID8gZGF0dW1Gb3JtYXRERShlLmRhdHVtKSA6ICcnOwogICAgICAg +IHZhciB2b3JoaW5UeHQgPSAoZS52b3JoZXJXZXJ0ICE9IG51bGwgJiYgZS52b3JoZXJXZXJ0ICE9 +PSAnJykKICAgICAgICAgICAgPyAnICh2b3JoZXIgPGNvZGU+JyArIGVzY2FwZUhUTUwoZS52b3Jo +ZXJXZXJ0KSArICc8L2NvZGU+KScKICAgICAgICAgICAgOiAnICh2b3JoZXIgbmljaHRzIGVpbmdl +dHJhZ2VuKSc7CiAgICAgICAgdmFyIHRlaWxlID0gWyc8Yj4nICsgZXNjYXBlSFRNTChwQXVmcnVl +Y2spICsgJzwvYj4nXTsKICAgICAgICB0ZWlsZS5wdXNoKCdhdWZnZXLDvGNrdCBpbiAnICsgc3R1 +ZmVUeHQgKyAnICcgKyBlc2NhcGVIVE1MKHNOYW1lKSk7CiAgICAgICAgaWYgKGRhdHVtVHh0KSB0 +ZWlsZS5wdXNoKCdhbSAnICsgZXNjYXBlSFRNTChkYXR1bVR4dCkpOwogICAgICAgIHJldHVybiB0 +ZWlsZS5qb2luKCcgJykgKyB2b3JoaW5UeHQ7CiAgICB9CiAgICBpZiAoYWt0aW9uID09PSAnaGlu +d2Vpcy5rZW5udG5pcycpIHsKICAgICAgICAvLyBXaXIgdmVyc3VjaGVuLCBkZW4gaGlud2Vpc0lk +IG5vY2ggaW4gWi5oaW53ZWlzZSAoYWt0dWVsbGUgTGlzdGUpCiAgICAgICAgLy8gYXVmenVsb2Vz +ZW4uIFdlbm4gc2Nob24gd2VnZ2VwcnVudCwgZmFsbGVuIHdpciBhdWYgIkhpbndlaXMgI04iIHp1 +cnVlY2suCiAgICAgICAgdmFyIHR5cExhYmVsMiA9IF9oaW53ZWlzVHlwTGFiZWwoZS50eXApOwog +ICAgICAgIHZhciBoaWQgPSBlLmhpbndlaXNJZCAhPSBudWxsID8gZS5oaW53ZWlzSWQgOiAnJzsK +ICAgICAgICBpZiAoIXR5cExhYmVsMiAmJiBoaWQgIT09ICcnKSB7CiAgICAgICAgICAgIHZhciBs +aXN0ZSA9IChaLmhpbndlaXNlIHx8IFtdKTsKICAgICAgICAgICAgZm9yICh2YXIgaWggPSAwOyBp +aCA8IGxpc3RlLmxlbmd0aDsgaWgrKykgewogICAgICAgICAgICAgICAgaWYgKFN0cmluZyhsaXN0 +ZVtpaF0uaWQpID09PSBTdHJpbmcoaGlkKSkgeyB0eXBMYWJlbDIgPSBfaGlud2Vpc1R5cExhYmVs +KGxpc3RlW2loXS50eXApOyBicmVhazsgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAg +IHZhciBiYXNpcyA9IHR5cExhYmVsMiA/ICgnPGI+JyArIGVzY2FwZUhUTUwodHlwTGFiZWwyKSAr +ICc8L2I+JykgOiAnJzsKICAgICAgICBpZiAoaGlkICE9PSAnJykgYmFzaXMgKz0gKGJhc2lzID8g +JyAmbWRhc2g7ICcgOiAnJykgKyAnSGlud2VpcyAjJyArIGVzY2FwZUhUTUwoU3RyaW5nKGhpZCkp +OwogICAgICAgIHJldHVybiBiYXNpcyB8fCAnSGlud2VpcyBxdWl0dGllcnQnOwogICAgfQogICAg +aWYgKGFrdGlvbiA9PT0gJ3plbGxlbi5idWxrLmdlYWVuZGVydCcpIHsKICAgICAgICB2YXIgd2hv +ID0gX3BlcnNvbkxhYmVsKGUucGVyc29uSWQsIHBNYXApOwogICAgICAgIHZhciB3ZXJ0VHh0ID0g +ZS53ZXJ0ID8gJzxjb2RlPicgKyBlc2NhcGVIVE1MKGUud2VydCkgKyAnPC9jb2RlPicgOiAnPGk+ +KGxlZXIpPC9pPic7CiAgICAgICAgdmFyIHNwYW5uZSA9ICcnOwogICAgICAgIGlmIChlLmVyc3Rl +clRhZyAmJiBlLmxldHp0ZXJUYWcpIHsKICAgICAgICAgICAgc3Bhbm5lID0gKGUuZXJzdGVyVGFn +ID09PSBlLmxldHp0ZXJUYWcpCiAgICAgICAgICAgICAgICA/IGRhdHVtRm9ybWF0REUoZS5lcnN0 +ZXJUYWcpCiAgICAgICAgICAgICAgICA6IGRhdHVtRm9ybWF0REUoZS5lcnN0ZXJUYWcpICsgJyBi +aXMgJyArIGRhdHVtRm9ybWF0REUoZS5sZXR6dGVyVGFnKTsKICAgICAgICB9CiAgICAgICAgdmFy +IHRlaWxlID0gW107CiAgICAgICAgaWYgKHdobykgdGVpbGUucHVzaCh3aG8pOwogICAgICAgIGlm +IChlLmFuemFobCAhPSBudWxsKSB0ZWlsZS5wdXNoKGUuYW56YWhsICsgJyBUYWcnICsgKGUuYW56 +YWhsICE9PSAxID8gJ2UnIDogJycpKTsKICAgICAgICBpZiAoc3Bhbm5lKSB0ZWlsZS5wdXNoKHNw +YW5uZSk7CiAgICAgICAgdGVpbGUucHVzaCgn4oaSICcgKyB3ZXJ0VHh0KTsKICAgICAgICBpZiAo +ZS5hYmdlbGVobnQpIHRlaWxlLnB1c2goZS5hYmdlbGVobnQgKyAnIGFiZ2VsZWhudCcpOwogICAg +ICAgIHJldHVybiB0ZWlsZS5qb2luKCcgwrcgJyk7CiAgICB9CiAgICBpZiAoYWt0aW9uID09PSAn +dW50ZXJiZXNldHp1bmcucXVpdHRpZXJ0JykgewogICAgICAgIHZhciBwID0gX3BlcnNvbkxhYmVs +KGUucGVyc29uSWQsIHBNYXApOwogICAgICAgIHZhciBzID0gZS5zY2hpY2h0IHx8ICcnOwogICAg +ICAgIHJldHVybiBwICsgJyBhbSAnICsgZGF0dW1Gb3JtYXRERShlLmRhdHVtKSArICcgKCcgKyBl +c2NhcGVIVE1MKHMpICsgJykg4oCUICcgKwogICAgICAgICAgICAnPGNvZGU+JyArIGVzY2FwZUhU +TUwoZS5hbHRlcldlcnQgfHwgJyhsZWVyKScpICsgJzwvY29kZT4gJnJhcnI7IDxjb2RlPicgKyBl +c2NhcGVIVE1MKGUubmV1ZXJXZXJ0IHx8ICcobGVlciknKSArICc8L2NvZGU+JzsKICAgIH0KICAg +IGlmIChha3Rpb24gPT09ICdsb2NrLmZvcmNlJykgewogICAgICAgIHJldHVybiBfcGVyc29uTGFi +ZWwoZS5wZXJzb25JZCwgcE1hcCkgKyAnIGFtICcgKyBkYXR1bUZvcm1hdERFKGUuZGF0dW0pICsg +JyDigJQgRWRpdC1Mb2NrIHBlciAnICsgZXNjYXBlSFRNTChlLnJvbGxlIHx8ICdGb3JjZScpICsg +JyDDvGJlcm5vbW1lbic7CiAgICB9CiAgICBpZiAoYWt0aW9uID09PSAnYmFja3VwLmVyc3RlbGx0 +JykgewogICAgICAgIHJldHVybiBlc2NhcGVIVE1MKGUuZGF0ZWluYW1lIHx8ICcnKSArIChlLmlu +aGFsdCA/ICcgKCcgKyBlc2NhcGVIVE1MKGUuaW5oYWx0KSArICcpJyA6ICcnKTsKICAgIH0KICAg +IGlmIChha3Rpb24gPT09ICdiYWNrdXAud2llZGVyaGVyZ2VzdGVsbHQnKSB7CiAgICAgICAgcmV0 +dXJuICdBdXMg4oCeJyArIGVzY2FwZUhUTUwoZS5xdWVsbGUgfHwgJycpICsgJyIg4oCUIFNpY2hl +cnVuZyDigJ4nICsgZXNjYXBlSFRNTChlLnNpY2hlcnVuZyB8fCAnJykgKyAnIiDigJQgSW5oYWx0 +OiAnICsgZXNjYXBlSFRNTChlLmluaGFsdCB8fCAnJyk7CiAgICB9CiAgICBpZiAoYWt0aW9uID09 +PSAnYmFja3VwLmdlbG9lc2NodCcpIHsKICAgICAgICByZXR1cm4gZXNjYXBlSFRNTChlLmRhdGVp +bmFtZSB8fCAnJyk7CiAgICB9CiAgICBpZiAoYWt0aW9uID09PSAnZmFjaGF1ZnNpY2h0LmdlYWVu +ZGVydCcgfHwgYWt0aW9uID09PSAnZGlyZWt0aW9uc2xlaXR1bmcuZ2VhZW5kZXJ0JyB8fAogICAg +ICAgIGFrdGlvbiA9PT0gJ2Z1ZWhydW5nc3N0ZWxsZS5nZWFlbmRlcnQnIHx8IGFrdGlvbiA9PT0g +J3dhY2hsZWl0dW5nLmdlYWVuZGVydCcpIHsKICAgICAgICBpZiAoZS5hbnphaGwgPT0gbnVsbCkg +cmV0dXJuICcnOwogICAgICAgIHJldHVybiBlLmFuemFobCA9PT0gMCA/ICdMaXN0ZSBrb21wbGV0 +dCBnZWxlZXJ0JyA6ICdMaXN0ZSBnZXNwZWljaGVydDogJyArIF9laW50cmFnUGx1cmFsKGUuYW56 +YWhsKTsKICAgIH0KICAgIGlmIChha3Rpb24gPT09ICdzdXBlclVzZXIuZ2VhZW5kZXJ0JyB8fCBh +a3Rpb24gPT09ICdzdXBlcnVzZXIuZ2VhZW5kZXJ0JykgewogICAgICAgIGlmIChlLmFuemFobCA9 +PSBudWxsKSByZXR1cm4gJyc7CiAgICAgICAgcmV0dXJuIGUuYW56YWhsID09PSAwID8gJ0xpc3Rl +IGtvbXBsZXR0IGdlbGVlcnQnIDogJ0xpc3RlIGdlc3BlaWNoZXJ0OiAnICsgX2VpbnRyYWdQbHVy +YWwoZS5hbnphaGwpOwogICAgfQogICAgaWYgKGFrdGlvbiA9PT0gJ2VtYWlsdHJpZ2dlci5nZWFl +bmRlcnQnKSB7CiAgICAgICAgaWYgKGUuYW56YWhsX3RyaWdnZXIgPT0gbnVsbCkgcmV0dXJuICcn +OwogICAgICAgIHJldHVybiBlLmFuemFobF90cmlnZ2VyICsgJyBUcmlnZ2VyIGdlc3BlaWNoZXJ0 +JzsKICAgIH0KICAgIGlmIChha3Rpb24gPT09ICdwbGFudW5nLmtvbXBsZXR0LWVyc2V0enQnKSB7 +CiAgICAgICAgdmFyIHRlaWxlID0gW107CiAgICAgICAgaWYgKGUuZWludHJhZWdlICE9IG51bGwp +IHRlaWxlLnB1c2goZS5laW50cmFlZ2UgKyAnIEVpbnRyw6RnZScpOwogICAgICAgIGlmIChlLmtv +bW1lbnRhcmUgIT0gbnVsbCkgdGVpbGUucHVzaChlLmtvbW1lbnRhcmUgKyAnIEtvbW1lbnRhcmUn +KTsKICAgICAgICBpZiAoZS5iYWNrdXApIHRlaWxlLnB1c2goJ1NpY2hlcnVuZzogJyArIGVzY2Fw +ZUhUTUwoZS5iYWNrdXApKTsKICAgICAgICByZXR1cm4gdGVpbGUuam9pbignIMK3ICcpOwogICAg +fQogICAgaWYgKGFrdGlvbiA9PT0gJ2R1bW15ZGF0ZW4uZWluZ2VzcGllbHQnKSB7CiAgICAgICAg +dmFyIHQyID0gW107CiAgICAgICAgaWYgKGUuZWludHJhZWdlICE9IG51bGwpIHQyLnB1c2goZS5l +aW50cmFlZ2UgKyAnIEVpbnRyw6RnZScpOwogICAgICAgIGlmIChlLmJhY2t1cCkgdDIucHVzaCgn +U2ljaGVydW5nOiAnICsgZXNjYXBlSFRNTChlLmJhY2t1cCkpOwogICAgICAgIHJldHVybiB0Mi5q +b2luKCcgwrcgJyk7CiAgICB9CiAgICBpZiAoYWt0aW9uID09PSAncGxhbnVuZy5yZXNldCcpIHsK +ICAgICAgICByZXR1cm4gZS5iYWNrdXAgPyAnU2ljaGVydW5nOiAnICsgZXNjYXBlSFRNTChlLmJh +Y2t1cCkgOiAnJzsKICAgIH0KICAgIC8vIEdlbmVyaXNjaGVyIEZhbGxiYWNrOiBnZXplaWd0ZSBG +ZWxkZXIgYXVzc2VyIGRlbiBTdGFuZGFyZC1XcmFwcGVyLUZlbGRlcm4KICAgIHZhciBza2lwID0g +eyBha3Rpb246IDEsIHplaXRzdGVtcGVsOiAxLCBiZW51dHplcjogMSB9OwogICAgdmFyIHBhaXJz +ID0gW107CiAgICBPYmplY3Qua2V5cyhlIHx8IHt9KS5mb3JFYWNoKGZ1bmN0aW9uKGspIHsKICAg +ICAgICBpZiAoc2tpcFtrXSkgcmV0dXJuOwogICAgICAgIHZhciB2ID0gZVtrXTsKICAgICAgICBp +ZiAodiA9PSBudWxsIHx8IHYgPT09ICcnKSByZXR1cm47CiAgICAgICAgaWYgKHR5cGVvZiB2ID09 +PSAnb2JqZWN0JykgcmV0dXJuOwogICAgICAgIHBhaXJzLnB1c2goZXNjYXBlSFRNTChrKSArICc6 +ICcgKyBlc2NhcGVIVE1MKFN0cmluZyh2KSkpOwogICAgfSk7CiAgICByZXR1cm4gcGFpcnMuam9p +bignIMK3ICcpOwp9CgovLyA9PT09PSBSZW5kZXIgPT09PT0KCi8vIEJhY2t3YXJkLUtvbXBhdDog +YWVsdGVyZSBQb3dlclNoZWxsLUVpbnRyYWVnZSBoYWJlbiBpaHJlIERldGFpbC1GZWxkZXIKLy8g +dW50ZXIgYGRldGFpbHM6IHsgLi4uIH1gIGdlbmVzdGVkLiBXaXIgZmxhY2hlbiBkYXMgYmVpbSBM +YWRlbiwgZGFtaXQgZGVyCi8vIERldGFpbC1SZW5kZXJlciBlaW5oZWl0bGljaCBhdWYgZS5mZWxk +bmFtZSB6dWdyZWlmZW4ga2Fubi4KZnVuY3Rpb24gX2VpbnRyYWdOb3JtYWxpc2llcmVuKGUpIHsK +ICAgIGlmIChlICYmIGUuZGV0YWlscyAmJiB0eXBlb2YgZS5kZXRhaWxzID09PSAnb2JqZWN0JyAm +JiAhQXJyYXkuaXNBcnJheShlLmRldGFpbHMpKSB7CiAgICAgICAgT2JqZWN0LmtleXMoZS5kZXRh +aWxzKS5mb3JFYWNoKGZ1bmN0aW9uKGspIHsKICAgICAgICAgICAgaWYgKCEoayBpbiBlKSkgZVtr +XSA9IGUuZGV0YWlsc1trXTsKICAgICAgICB9KTsKICAgIH0KICAgIHJldHVybiBlOwp9CgovLyBM +aWVmZXJ0IEhUTUwgZnVlciBlaW5lbiBXaWVkZXJoZXJzdGVsbGVuLUJ1dHRvbiDigJQgb2RlciBM +ZWVyc3RyaW5nLAovLyB3ZW5uIGRlciBFaW50cmFnIG5pY2h0IChzaW5udm9sbCkgenVydWVja2dl +bm9tbWVuIHdlcmRlbiBrYW5uLgpmdW5jdGlvbiBfcmVzdG9yZUJ1dHRvbkh0bWwoZSkgewogICAg +dmFyIGFrdGlvbiA9IGUuYWt0aW9uOwogICAgdmFyIHJlc3QgPSBudWxsOwogICAgaWYgKGFrdGlv +biA9PT0gJ3plbGxlLmdlYWVuZGVydCcgJiYgZS5wZXJzb25JZCAmJiBlLmRhdHVtICYmIGUuYWx0 +ZXJXZXJ0ICE9PSB1bmRlZmluZWQpIHsKICAgICAgICByZXN0ID0geyB0eXA6ICd6ZWxsZScsIHBl +cnNvbklkOiBlLnBlcnNvbklkLCBkYXR1bTogZS5kYXR1bSwgd2VydDogZS5hbHRlcldlcnQgPT0g +bnVsbCA/ICcnIDogU3RyaW5nKGUuYWx0ZXJXZXJ0KSB9OwogICAgfSBlbHNlIGlmIChha3Rpb24g +PT09ICd6ZWxsZW4uYnVsay5nZWFlbmRlcnQnICYmIGUuYWx0ZVdlcnRlICYmIHR5cGVvZiBlLmFs +dGVXZXJ0ZSA9PT0gJ29iamVjdCcpIHsKICAgICAgICAvLyBhbHRlV2VydGUgPSB7ICI8ZGF0dW0+ +fDxwZXJzb25JZD4iOiAiPGFsdGVyV2VydD4iIH0uIEluIGVpbiBBcnJheQogICAgICAgIC8vIHZv +biB7IGRhdHVtLCBwZXJzb25JZCwgd2VydCB9IHVtcGFja2VuIOKAlCBkYXMgaXN0IGRlciBCb2R5 +LCBkZW4KICAgICAgICAvLyAvYXBpL3BsYW51bmcvemVsbGVuLWJ1bGsgZnJpc3N0LiBMZWVyZSBh +bHRlcldlcnQtU3RyaW5ncyBibGVpYmVuCiAgICAgICAgLy8gbGVlciwgZGFtaXQgZGllIFJlc3Rv +cmUtTG9naWsgZGllIFplbGxlIHdpZWRlciBsZWVydC4KICAgICAgICB2YXIgZWludHJhZWdlID0g +W107CiAgICAgICAgT2JqZWN0LmtleXMoZS5hbHRlV2VydGUpLmZvckVhY2goZnVuY3Rpb24oaykg +ewogICAgICAgICAgICB2YXIgc2VwID0gay5pbmRleE9mKCd8Jyk7CiAgICAgICAgICAgIGlmIChz +ZXAgPCAwKSByZXR1cm47CiAgICAgICAgICAgIHZhciBkYXR1bSA9IGsuc3Vic3RyaW5nKDAsIHNl +cCk7CiAgICAgICAgICAgIHZhciBwaWQgPSBrLnN1YnN0cmluZyhzZXAgKyAxKTsKICAgICAgICAg +ICAgdmFyIGFsdGVyV2VydCA9IGUuYWx0ZVdlcnRlW2tdOwogICAgICAgICAgICBlaW50cmFlZ2Uu +cHVzaCh7IGRhdHVtOiBkYXR1bSwgcGVyc29uSWQ6IHBpZCwgd2VydDogYWx0ZXJXZXJ0ID09IG51 +bGwgPyAnJyA6IFN0cmluZyhhbHRlcldlcnQpIH0pOwogICAgICAgIH0pOwogICAgICAgIGlmIChl +aW50cmFlZ2UubGVuZ3RoKSB7CiAgICAgICAgICAgIHJlc3QgPSB7IHR5cDogJ3plbGxlbi1idWxr +JywgZWludHJhZWdlOiBlaW50cmFlZ2UsIGFuemFobDogZWludHJhZWdlLmxlbmd0aCB9OwogICAg +ICAgIH0KICAgIH0gZWxzZSBpZiAoYWt0aW9uID09PSAna29tbWVudGFyLmdlYWVuZGVydCcgJiYg +ZS5wZXJzb25JZCAmJiBlLmRhdHVtKSB7CiAgICAgICAgLy8gJ2FsdGVyVGV4dCcgaXN0IGRhcyBh +a3R1ZWxsZSBTY2hlbWEsICd0ZXh0JyBkYXMgYWx0ZSAodm9yIGRlbSBEaWZmLVBhdGNoKS4KICAg +ICAgICB2YXIgYWx0VCA9IChlLmFsdGVyVGV4dCAhPT0gdW5kZWZpbmVkKSA/IGUuYWx0ZXJUZXh0 +IDogKGUudGV4dCAhPT0gdW5kZWZpbmVkID8gZS50ZXh0IDogbnVsbCk7CiAgICAgICAgaWYgKGFs +dFQgPT09IG51bGwpIHJldHVybiAnJzsKICAgICAgICByZXN0ID0geyB0eXA6ICdrb21tZW50YXIn +LCBwZXJzb25JZDogZS5wZXJzb25JZCwgZGF0dW06IGUuZGF0dW0sIHRleHQ6IFN0cmluZyhhbHRU +IHx8ICcnKSB9OwogICAgfSBlbHNlIGlmIChha3Rpb24gPT09ICdwZXJzb24uZ2VhZW5kZXJ0JyAm +JiBlLnBlcnNvbklkICYmIGUuZ2VhZW5kZXJ0ICYmCiAgICAgICAgICAgICAgIHR5cGVvZiBlLmdl +YWVuZGVydCA9PT0gJ29iamVjdCcgJiYgT2JqZWN0LmtleXMoZS5nZWFlbmRlcnQpLmxlbmd0aCkg +ewogICAgICAgIHZhciBhbHQgPSB7fTsKICAgICAgICBPYmplY3Qua2V5cyhlLmdlYWVuZGVydCku +Zm9yRWFjaChmdW5jdGlvbihrKSB7IGFsdFtrXSA9IGUuZ2VhZW5kZXJ0W2tdLmFsdDsgfSk7CiAg +ICAgICAgcmVzdCA9IHsgdHlwOiAncGVyc29uJywgcGVyc29uSWQ6IGUucGVyc29uSWQsIGRhdGVu +OiBhbHQgfTsKICAgIH0KICAgIGlmICghcmVzdCkgcmV0dXJuICcnOwogICAgcmV0dXJuICc8YnV0 +dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImxvZy1yZXN0b3JlLWJ0biIgJyArCiAgICAgICAgICAg +J2RhdGEtcmVzdD0iJyArIGVzY2FwZUF0dHIoSlNPTi5zdHJpbmdpZnkocmVzdCkpICsgJyIgJyAr +CiAgICAgICAgICAgJ3RpdGxlPSJEaWVzZW4gU3RhbmQgd2llZGVyaGVyc3RlbGxlbiI+PHNwYW4g +Y2xhc3M9ImxvZy1yZXN0b3JlLWljb24iPuKGujwvc3Bhbj48c3BhbiBjbGFzcz0ibG9nLXJlc3Rv +cmUtdGV4dCI+V2llZGVyaGVyc3RlbGxlbjwvc3Bhbj48L2J1dHRvbj4nOwp9CgpmdW5jdGlvbiBf +cmVzdG9yZUNsaWNrKGV2KSB7CiAgICB2YXIgYnRuID0gZXYudGFyZ2V0LmNsb3Nlc3QgJiYgZXYu +dGFyZ2V0LmNsb3Nlc3QoJy5sb2ctcmVzdG9yZS1idG4nKTsKICAgIGlmICghYnRuKSByZXR1cm47 +CiAgICB2YXIgcmVzdDsKICAgIHRyeSB7IHJlc3QgPSBKU09OLnBhcnNlKGJ0bi5nZXRBdHRyaWJ1 +dGUoJ2RhdGEtcmVzdCcpIHx8ICcnKTsgfSBjYXRjaCAoXykgeyByZXR1cm47IH0KICAgIGlmICgh +cmVzdCB8fCAhcmVzdC50eXApIHJldHVybjsKCiAgICB2YXIgZnJhZ2U7CiAgICBpZiAocmVzdC50 +eXAgPT09ICd6ZWxsZScpICAgICAgICAgICAgICBmcmFnZSA9ICdTY2hpY2h0emVsbGUgd2lya2xp +Y2ggYXVmIGRlbiBhbHRlbiBXZXJ0IHp1csO8Y2tzZXR6ZW4/JzsKICAgIGVsc2UgaWYgKHJlc3Qu +dHlwID09PSAnemVsbGVuLWJ1bGsnKSAgIGZyYWdlID0gKHJlc3QuYW56YWhsIHx8IHJlc3QuZWlu +dHJhZWdlLmxlbmd0aCkgKyAnIFplbGxlbiB3aXJrbGljaCBhdWYgZGllIGFsdGVuIFdlcnRlIHp1 +csO8Y2tzZXR6ZW4/XG5cbkplZGUgZWluemVsbmUgWmVsbGUgYmVrb21tdCBkZW4gV2VydCwgZGVu +IHNpZSB1bm1pdHRlbGJhciB2b3IgZGllc2VtIERyYWctRmlsbCBoYXR0ZS4gRGllIEFrdGlvbiBz +ZWxic3Qgd2FuZGVydCB3aWVkZXIgaW5zIExvZ2J1Y2ggdW5kIGthbm4gZG9ydCBlcm5ldXQgcsO8 +Y2tnw6RuZ2lnIGdlbWFjaHQgd2VyZGVuLic7CiAgICBlbHNlIGlmIChyZXN0LnR5cCA9PT0gJ2tv +bW1lbnRhcicpICAgICBmcmFnZSA9ICdLb21tZW50YXIgd2lya2xpY2ggYXVmIGRlbiBhbHRlbiBU +ZXh0IHp1csO8Y2tzZXR6ZW4/JzsKICAgIGVsc2UgaWYgKHJlc3QudHlwID09PSAncGVyc29uJykg +ICAgICAgIGZyYWdlID0gJ1BlcnNvbmVuZGF0ZW4gd2lya2xpY2ggYXVmIGRlbiBhbHRlbiBTdGFu +ZCB6dXLDvGNrc2V0emVuPyc7CiAgICBlbHNlIHJldHVybjsKCiAgICBiZXN0YWV0aWdlbihmcmFn +ZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIHA7CiAgICAgICAgaWYgKHJlc3QudHlwID09PSAn +emVsbGUnKSB7CiAgICAgICAgICAgIHAgPSBhcGlQb3N0KCcvYXBpL3BsYW51bmcvemVsbGUnLCB7 +IHBlcnNvbklkOiByZXN0LnBlcnNvbklkLCBkYXR1bTogcmVzdC5kYXR1bSwgd2VydDogcmVzdC53 +ZXJ0IH0pOwogICAgICAgIH0gZWxzZSBpZiAocmVzdC50eXAgPT09ICd6ZWxsZW4tYnVsaycpIHsK +ICAgICAgICAgICAgLy8gRWluIGVpbnppZ2VyIFBPU1QgYW4gL2FwaS9wbGFudW5nL3plbGxlbi1i +dWxrIG1pdCBhbGxlbiBhbHRlbgogICAgICAgICAgICAvLyBXZXJ0ZW4gYWxzIEJvZHkg4oCUIGRl +ciBFbmRwb2ludCBsb2d0IGF1dG9tYXRpc2NoIGVpbiBuZXVlcwogICAgICAgICAgICAvLyB6ZWxs +ZW4uYnVsay5nZWFlbmRlcnQgbWl0IEZSSVNDSEVOIGFsdGVXZXJ0ZSwgZGFkdXJjaCBpc3QgZGll +CiAgICAgICAgICAgIC8vIFdpZWRlcmhlcnN0ZWxsdW5nIHNlbGJzdCB3aWVkZXIgcnVlY2tnYWVu +Z2lnIHp1IG1hY2hlbi4KICAgICAgICAgICAgcCA9IGFwaVBvc3QoJy9hcGkvcGxhbnVuZy96ZWxs +ZW4tYnVsaycsIHsgZWludHJhZWdlOiByZXN0LmVpbnRyYWVnZSB9KTsKICAgICAgICB9IGVsc2Ug +aWYgKHJlc3QudHlwID09PSAna29tbWVudGFyJykgewogICAgICAgICAgICBwID0gYXBpUG9zdCgn +L2FwaS9wbGFudW5nL2tvbW1lbnRhcicsIHsgcGVyc29uSWQ6IHJlc3QucGVyc29uSWQsIGRhdHVt +OiByZXN0LmRhdHVtLCB0ZXh0OiByZXN0LnRleHQgfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAg +ICAgICAgcCA9IGFwaVB1dCgnL2FwaS9wZXJzb25lbi8nICsgcmVzdC5wZXJzb25JZCwgcmVzdC5k +YXRlbik7CiAgICAgICAgfQogICAgICAgIHAudGhlbihmdW5jdGlvbihyZXNwKSB7CiAgICAgICAg +ICAgIC8vIEJ1bGstUmVzdG9yZTogU2VydmVyIGxpZWZlcnQgeyBvaywgYWJnZWxlaG50IH0uIFdl +bm4gZWluIFRlaWwKICAgICAgICAgICAgLy8gYWJnZWxlaG50IHd1cmRlIChQZXJzb24tVmVybHVz +dCwgUmVjaHRlLVZlcmx1c3Qgc2VpdCBkZXIKICAgICAgICAgICAgLy8gT3JpZ2luYWwtQWVuZGVy +dW5nKSwgVG9hc3QgYWxzIFdhcm51bmcgbWl0IGJlaWRlbiBaYWhsZW4uCiAgICAgICAgICAgIGlm +IChyZXN0LnR5cCA9PT0gJ3plbGxlbi1idWxrJyAmJiByZXNwICYmIHR5cGVvZiByZXNwLm9rID09 +PSAnbnVtYmVyJykgewogICAgICAgICAgICAgICAgdmFyIG9rWiA9IHJlc3Aub2s7CiAgICAgICAg +ICAgICAgICB2YXIgYWJnWiA9IChyZXNwLmFiZ2VsZWhudCAmJiByZXNwLmFiZ2VsZWhudC5sZW5n +dGgpIHx8IDA7CiAgICAgICAgICAgICAgICBpZiAoYWJnWiA+IDApIHsKICAgICAgICAgICAgICAg +ICAgICB0b2FzdChva1ogKyAnIFplbGxlbiB3aWVkZXJoZXJnZXN0ZWxsdCwgJyArIGFiZ1ogKyAn +IGFiZ2VsZWhudCcsICd3YXJudW5nJyk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAg +ICAgICAgICAgICAgIHRvYXN0KG9rWiArICcgWmVsbGVuIHdpZWRlcmhlcmdlc3RlbGx0JywgJ2Vy +Zm9sZycpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg +ICAgICAgdG9hc3QoJ1dpZWRlcmhlcmdlc3RlbGx0JywgJ2VyZm9sZycpOwogICAgICAgICAgICB9 +CiAgICAgICAgICAgIGlmICh0eXBlb2YgbG9nYnVjaEhvb2tzLmFmdGVyUmVzdG9yZSA9PT0gJ2Z1 +bmN0aW9uJykgbG9nYnVjaEhvb2tzLmFmdGVyUmVzdG9yZSgpOwogICAgICAgICAgICBsb2didWNo +TGFkZW4oKTsKICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlcnIpIHsKICAgICAgICAgICAgdG9h +c3QoJ0ZlaGxlcjogJyArIChlcnIgJiYgZXJyLm1lc3NhZ2UgPyBlcnIubWVzc2FnZSA6ICd1bmJl +a2FubnQnKSwgJ2ZlaGxlcicpOwogICAgICAgIH0pOwogICAgfSwgeyB0aXRlbDogJ1dpZWRlcmhl +cnN0ZWxsZW4/JywgamFUZXh0OiAnV2llZGVyaGVyc3RlbGxlbicgfSk7Cn0KCi8vIEthdGVnb3Jp +ZS1GaWx0ZXItQ2hpcHMgKGZydWVoZXIgd2FyZW4gZGllIEFrdGlvbi1QaWxscyByZWluIGRla29y +YXRpdikuCi8vIFNsdWctUmVpaGVuZm9sZ2Ugc3BpZWdlbHQgZGllIExlc2UtUHJpb3JpdGFldCBp +bSBQcm90b2tvbGwuCnZhciBMT0dfS0FURUdPUklFTiA9IFsKICAgIHsga2F0OiAnJywgICAgICAg +IGxhYmVsOiAnQWxsZScgfSwKICAgIHsga2F0OiAncGxhbnVuZycsIGxhYmVsOiAnUGxhbnVuZycg +fSwKICAgIHsga2F0OiAncGVyc29uJywgIGxhYmVsOiAnUGVyc29uJyB9LAogICAgeyBrYXQ6ICdh +ZG1pbicsICAgbGFiZWw6ICdLb25maWd1cmF0aW9uJyB9LAogICAgeyBrYXQ6ICdyb2xsZScsICAg +bGFiZWw6ICdSb2xsZW4nIH0sCiAgICB7IGthdDogJ2hpbndlaXMnLCBsYWJlbDogJ0hpbndlaXNl +JyB9LAogICAgeyBrYXQ6ICdiYWNrdXAnLCAgbGFiZWw6ICdCYWNrdXBzJyB9LAogICAgeyBrYXQ6 +ICdzeXN0ZW0nLCAgbGFiZWw6ICdTeXN0ZW0nIH0KXTsKdmFyIF9sb2dBa3RpdmVLYXQgPSAnJzsK +Ci8vIENoaXAtTGVpc3RlIGVpbm1hbGlnIGluIGRlbiBMb2didWNoLUtvcGYgaW5qaXppZXJlbiAo +ZGFzIFZpZXctTWFya3VwIGluCi8vIGRhdGEvc2FuaXRpemVyLmh0bWwgYmxlaWJ0IHVuYW5nZXRh +c3RldCDigJQgd2lyIGhhZW5nZW4gbnVyIGVpbiBLaW5kIGFuKS4KZnVuY3Rpb24gX2xvZ0NoaXBC +YXJTaWNoZXJzdGVsbGVuKCkgewogICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2ct +a2F0LWNoaXBzJykpIHJldHVybjsKICAgIHZhciBrb3BmID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv +cignI2Fuc2ljaHQtbG9nYnVjaCAuYWRtaW4ta29wZicpOwogICAgaWYgKCFrb3BmKSByZXR1cm47 +CiAgICB2YXIgYmFyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICBiYXIuaWQg +PSAnbG9nLWthdC1jaGlwcyc7CiAgICBiYXIuY2xhc3NOYW1lID0gJ2xvZy1rYXQtY2hpcHMnOwog +ICAgYmFyLmlubmVySFRNTCA9IExPR19LQVRFR09SSUVOLm1hcChmdW5jdGlvbihrKSB7CiAgICAg +ICAgcmV0dXJuICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImxvZy1rYXQtY2hpcCcgKwog +ICAgICAgICAgICAoay5rYXQgPT09IF9sb2dBa3RpdmVLYXQgPyAnIGFrdGl2JyA6ICcnKSArICci +IGRhdGEta2F0PSInICsgZXNjYXBlQXR0cihrLmthdCkgKyAnIj4nICsKICAgICAgICAgICAgZXNj +YXBlSFRNTChrLmxhYmVsKSArICc8L2J1dHRvbj4nOwogICAgfSkuam9pbignJyk7CiAgICBiYXIu +YWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgdmFyIGNoaXAg +PSBlLnRhcmdldC5jbG9zZXN0KCcubG9nLWthdC1jaGlwJyk7CiAgICAgICAgaWYgKCFjaGlwKSBy +ZXR1cm47CiAgICAgICAgX2xvZ0FrdGl2ZUthdCA9IGNoaXAuZ2V0QXR0cmlidXRlKCdkYXRhLWth +dCcpIHx8ICcnOwogICAgICAgIGJhci5xdWVyeVNlbGVjdG9yQWxsKCcubG9nLWthdC1jaGlwJyku +Zm9yRWFjaChmdW5jdGlvbihjKSB7CiAgICAgICAgICAgIGMuY2xhc3NMaXN0LnRvZ2dsZSgnYWt0 +aXYnLCAoYy5nZXRBdHRyaWJ1dGUoJ2RhdGEta2F0JykgfHwgJycpID09PSBfbG9nQWt0aXZlS2F0 +KTsKICAgICAgICB9KTsKICAgICAgICBfbG9nYnVjaEZpbHRlcm5KZXR6dCgpOwogICAgfSk7CiAg +ICBrb3BmLmFwcGVuZENoaWxkKGJhcik7Cn0KCmZ1bmN0aW9uIGxvZ2J1Y2hMYWRlbigpIHsKICAg +IHZhciB0Ym9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2ctdGJvZHknKTsKICAgIHRi +b2R5LmlubmVySFRNTCA9ICc8dHI+PHRkIGNvbHNwYW49IjUiIHN0eWxlPSJ0ZXh0LWFsaWduOmNl +bnRlcjtwYWRkaW5nOjIwcHgiPkxhZGUuLi48L3RkPjwvdHI+JzsKICAgIF9sb2dDaGlwQmFyU2lj +aGVyc3RlbGxlbigpOwoKICAgIGFwaSgnL2FwaS9sb2didWNoJykudGhlbihmdW5jdGlvbihkYXRl +bikgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIF9sb2didWNoUmVuZGVySW50ZXJuKHRib2R5 +LCBkYXRlbik7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICByZW5kZXJFcnJvckJv +eChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYW5zaWNodC1sb2didWNoJyksIGUsICdMb2didWNo +Jyk7CiAgICAgICAgfQogICAgfSkuY2F0Y2goZnVuY3Rpb24oKSB7CiAgICAgICAgdGJvZHkuaW5u +ZXJIVE1MID0gJzx0cj48dGQgY29sc3Bhbj0iNSIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyO3Bh +ZGRpbmc6MjBweCI+RmVobGVyIGJlaW0gTGFkZW48L3RkPjwvdHI+JzsKICAgIH0pOwp9CgpmdW5j +dGlvbiBfbG9nYnVjaFJlbmRlckludGVybih0Ym9keSwgZGF0ZW4pIHsKICAgICAgICBpZiAoIWRh +dGVuIHx8ICFkYXRlbi5sZW5ndGgpIHsKICAgICAgICAgICAgdGJvZHkuaW5uZXJIVE1MID0gJzx0 +cj48dGQgY29sc3Bhbj0iNSI+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYWRtaW4t +ZW1wdHkiPicgKwogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJhZG1pbi1lbXB0eS10 +aXRlbCI+S2VpbmUgTG9nYnVjaC1FaW50csOkZ2U8L2Rpdj4nICsKICAgICAgICAgICAgICAgICAg +ICAnPGRpdiBjbGFzcz0iYWRtaW4tZW1wdHktdGV4dCI+U29iYWxkIGplbWFuZCBldHdhcyDDpG5k +ZXJ0LCBlcnNjaGVpbnQgaGllciBkaWUgSGlzdG9yaWUuIEZpbHRlciB6dXLDvGNrc2V0emVuLCBm +YWxscyBha3Rpdi48L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8L2Rpdj4nICsKICAgICAgICAg +ICAgICAgICc8L3RkPjwvdHI+JzsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAg +ICAvLyBQZXJzb25lbi1NYXAgIk5hY2huYW1lLCBWb3JuYW1lIiDigJQgYXVjaCBpbmFrdGl2ZSBQ +ZXJzb25lbiBhdWZuZWhtZW4sCiAgICAgICAgLy8gZGFtaXQgZGllIEFuemVpZ2UgYXVjaCBmdWVy +IGhpc3RvcmlzY2hlIEVpbnRyYWVnZSBiZXN0ZWhlbiBibGVpYnQuCiAgICAgICAgdmFyIHBNYXAg +PSB7fTsKICAgICAgICAoWi5wbGFudW5nLnBlcnNvbmVuIHx8IFtdKS5mb3JFYWNoKGZ1bmN0aW9u +KHApIHsKICAgICAgICAgICAgdmFyIG4gPSAocC5uYW1lIHx8ICcnKSArIChwLnZvcm5hbWUgPyAn +LCAnICsgcC52b3JuYW1lIDogJycpOwogICAgICAgICAgICBwTWFwW1N0cmluZyhwLmlkKV0gPSBu +ICsgKHAuYWt0aXYgPT09IGZhbHNlID8gJyAoZWhlbWFsaWcpJyA6ICcnKTsKICAgICAgICB9KTsK +CiAgICAgICAgLy8gU2VydmVyIHNjaHJlaWJ0IG5ldWUgRWludHJhZWdlIGFtIEtvcGYgZGVyIExp +c3RlIChwcmVwZW5kKSwKICAgICAgICAvLyBhbHNvIGlzdCBkYXRlbiBiZXJlaXRzICJuZXVlc3Rl +IHp1ZXJzdCIg4oCUIGRpcmVrdCBzbyByZW5kZXJuLgogICAgICAgIHZhciBodG1sID0gJyc7CiAg +ICAgICAgZGF0ZW4uZm9yRWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGUgPSBfZWludHJh +Z05vcm1hbGlzaWVyZW4oZSk7CiAgICAgICAgICAgIHZhciB0cyA9IF96ZWl0c3RlbXBlbFRlaWxl +KGUuemVpdHN0ZW1wZWwpOwogICAgICAgICAgICB2YXIga2F0ID0gYWt0aW9uS2F0ZWdvcmllKGUu +YWt0aW9uIHx8ICcnKTsKICAgICAgICAgICAgdmFyIGxibCA9IGFrdGlvbkxhYmVsKGUuYWt0aW9u +IHx8ICcnKTsKICAgICAgICAgICAgdmFyIHVzZXIgPSBiZW51dHplcktsYXJuYW1lKGUuYmVudXR6 +ZXIpOwogICAgICAgICAgICB2YXIgaW5pdGlhbGVuID0gX3VzZXJJbml0aWFsZW4odXNlcik7CiAg +ICAgICAgICAgIGh0bWwgKz0gJzx0ciBjbGFzcz0ibG9nLXplaWxlIiBkYXRhLWthdD0iJyArIGVz +Y2FwZUF0dHIoa2F0KSArICciPicgKwogICAgICAgICAgICAgICAgJzx0ZCBjbGFzcz0ibG9nLXpl +aXQtemVsbGUiPicgKwogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJsb2ctemVpdC1k +YXR1bSI+JyArIGVzY2FwZUhUTUwodHMuZGF0dW0pICsgJzwvZGl2PicgKwogICAgICAgICAgICAg +ICAgICAgICc8ZGl2IGNsYXNzPSJsb2ctemVpdC11aHJ6ZWl0Ij4nICsgZXNjYXBlSFRNTCh0cy56 +ZWl0KSArICc8L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8L3RkPicgKwogICAgICAgICAgICAg +ICAgJzx0ZCBjbGFzcz0ibG9nLWFrdGlvbi16ZWxsZSI+PHNwYW4gY2xhc3M9ImxvZy1waWxsIGxv +Zy1waWxsLScgKyBrYXQgKyAnIj4nICsgZXNjYXBlSFRNTChsYmwpICsgJzwvc3Bhbj48L3RkPicg +KwogICAgICAgICAgICAgICAgJzx0ZCBjbGFzcz0ibG9nLWJlbnV0emVyLXplbGxlIj4nICsKICAg +ICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9ImxvZy1iZW51dHplci1hdmF0YXIiPicgKyBl +c2NhcGVIVE1MKGluaXRpYWxlbikgKyAnPC9zcGFuPicgKwogICAgICAgICAgICAgICAgICAgICc8 +c3BhbiBjbGFzcz0ibG9nLWJlbnV0emVyLW5hbWUiPicgKyBlc2NhcGVIVE1MKHVzZXIpICsgJzwv +c3Bhbj4nICsKICAgICAgICAgICAgICAgICc8L3RkPicgKwogICAgICAgICAgICAgICAgJzx0ZCBj +bGFzcz0ibG9nLWRldGFpbHMtemVsbGUiPicgKyAoZGV0YWlsc0h0bWwoZSwgcE1hcCkgfHwgJzxz +cGFuIGNsYXNzPSJsb2ctZGV0YWlscy1sZWVyIj7igJQ8L3NwYW4+JykgKyAnPC90ZD4nICsKICAg +ICAgICAgICAgICAgICc8dGQgY2xhc3M9ImxvZy1yZXN0b3JlLXplbGxlIj4nICsgX3Jlc3RvcmVC +dXR0b25IdG1sKGUpICsgJzwvdGQ+JyArCiAgICAgICAgICAgICAgICAnPC90cj4nOwogICAgICAg +IH0pOwogICAgICAgIHRib2R5LmlubmVySFRNTCA9IGh0bWw7CiAgICAgICAgLy8gaWRlbXBvdGVu +dCDigJQgb25jbGljayB1ZWJlcnNjaHJlaWJ0IHZvcmlnZW4gSGFuZGxlcgogICAgICAgIHRib2R5 +Lm9uY2xpY2sgPSBfcmVzdG9yZUNsaWNrOwp9Cgp2YXIgX2xvZ0ZpbHRlclRpbWVyID0gbnVsbDsK +ZnVuY3Rpb24gbG9nYnVjaEZpbHRlcm4oKSB7CiAgICAvLyBEZWJvdW5jZTogYmVpIGJpcyB6dSAx +MDAwIFplaWxlbiB3dWVyZGUgZWluIEZpbHRlci1EdXJjaGxhdWYgcHJvCiAgICAvLyBUYXN0ZW5k +cnVjayAocXVlcnlTZWxlY3RvckFsbCArIHRleHRDb250ZW50IHVlYmVyIGFsbGUgWmVpbGVuKSBy +dWNrZWxuLgogICAgLy8gMTIwIG1zIFZlcnpvZWdlcnVuZyBmYXNzdCBzY2huZWxsZSBUYXN0ZW5m +b2xnZW4genVzYW1tZW4uCiAgICBpZiAoX2xvZ0ZpbHRlclRpbWVyKSBjbGVhclRpbWVvdXQoX2xv +Z0ZpbHRlclRpbWVyKTsKICAgIF9sb2dGaWx0ZXJUaW1lciA9IHNldFRpbWVvdXQoX2xvZ2J1Y2hG +aWx0ZXJuSmV0enQsIDEyMCk7Cn0KZnVuY3Rpb24gX2xvZ2J1Y2hGaWx0ZXJuSmV0enQoKSB7CiAg +ICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9nLXN1Y2hlJyk7CiAgICBpZiAo +IWVsKSByZXR1cm47ICAvLyBhbmRlcmVyIFZpZXctWnVzdGFuZCDigJQgcm9idXN0IHN0YXR0IEV4 +Y2VwdGlvbgogICAgdmFyIHN1Y2hlID0gKGVsLnZhbHVlIHx8ICcnKS50b0xvd2VyQ2FzZSgpOwog +ICAgdmFyIHplaWxlbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNsb2ctdGJvZHkgdHIn +KTsKICAgIHplaWxlbi5mb3JFYWNoKGZ1bmN0aW9uKHRyKSB7CiAgICAgICAgLy8gS2F0ZWdvcmll +LUNoaXAgVU5EIFRleHRzdWNoZSBrb21iaW5pZXJ0IChiZWlkZSBtdWVzc2VuIHBhc3NlbikuCiAg +ICAgICAgdmFyIGthdE9rID0gIV9sb2dBa3RpdmVLYXQgfHwgdHIuZ2V0QXR0cmlidXRlKCdkYXRh +LWthdCcpID09PSBfbG9nQWt0aXZlS2F0OwogICAgICAgIHZhciB0ZXh0T2sgPSAhc3VjaGUgfHwg +dHIudGV4dENvbnRlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHN1Y2hlKSA+PSAwOwogICAgICAg +IHRyLnN0eWxlLmRpc3BsYXkgPSAoa2F0T2sgJiYgdGV4dE9rKSA/ICcnIDogJ25vbmUnOwogICAg +fSk7Cn0KCi8vIEFjaHR1bmc6IGxvZ2J1Y2hIb29rcyBpc3QgYmVyZWl0cyBvYmVuIHZpYSBgZXhw +b3J0IHZhciBsb2didWNoSG9va3NgCi8vIGV4cG9ydGllcnQg4oCUIGhpZXIgTklDSFQgZXJuZXV0 +IGF1Zmxpc3Rlbiwgc29uc3QgU3ludGF4RXJyb3IuCmV4cG9ydCB7IGxvZ2J1Y2hMYWRlbiwgbG9n +YnVjaEZpbHRlcm4sIGFrdGlvbkxhYmVsLCBiZW51dHplcktsYXJuYW1lIH07Cg== +### FILE: js/schichtteam.js | 6164 +Ly8gPT09IHNjaGljaHR0ZWFtLmpzID09PQovLyAiTWVpbiBTY2hpY2h0LVRlYW0iIOKAlCAxNC1U +YWdlLVVlYmVyc2ljaHQgYWxzIHJlYWQtb25seSBNb2RhbCwgZ2VvZWZmbmV0Ci8vIHVlYmVyIGRl +biAiVGVhbSItQnV0dG9uIGltIEhldXRlLUthc3RlbiBkZXIgUGxhbnVuZ3NhbnNpY2h0LgovLwov +LyBJZGVlOiBFaW4gREdML01BIHdpbGwgc2NobmVsbCBzZWhlbiwgd2VyIGluIFNFSU5FUiBTY2hp +Y2h0IGFyYmVpdGV0LCBvaG5lCi8vIGR1cmNoIGFsbGUgfjQ2IFBlcnNvbmVuIHp1IHNjcm9sbGVu +LiBEYXMgVGVhbSB3aXJkIEVJTk1BTCBhbmhhbmQgSEVVVEUKLy8gYmVzdGltbXQgKGFsbGUsIGRp +ZSBsYXV0IFJvdGF0aW9uIGhldXRlIGluIGRlcnNlbGJlbiBGL1MvTi1TY2hpY2h0IHNpbmQgd2ll +Ci8vIGljaCDigJQgc3RhbmRvcnR1ZWJlcmdyZWlmZW5kLCBpbmtsLiB3ZnIvZGZyLUtvbGxlZ2Vu +KSB1bmQgZGFubiB1ZWJlciB2b2xsZQovLyAxNCBUYWdlIG1pdCBkZW4gamV3ZWlsaWdlbiBFaW50 +cmFlZ2VuIGdlemVpZ3Qg4oCUIGF1Y2ggd2VubiBkaWUgUm90YXRpb24KLy8gendpc2NoZW5kcmlu +IGtpcHB0IChmZXN0ZXMgVGVhbSwgcnVoaWdlIERhcnN0ZWxsdW5nOyBVc2VyLVd1bnNjaCAyMDI2 +LTA1LTI3KS4KLy8KLy8gV0QtU29uZGVyZmFsbCAoTm90dGVib2htL0dvdG90LCBQb29sLVN0YW5k +b3J0ZSBvaG5lIHNjaGljaHRmb2xnZSk6IGRhIGtlaW5lCi8vIGJlcmVjaGVuYmFyZSBSb3RhdGlv +biBleGlzdGllcnQsIGJlc3RpbW10IGRpZSB0YXRzYWVjaGxpY2ggZWluZ2V0cmFnZW5lCi8vIFRh +Z2Vzc2NoaWNodCAoRi1ER0wvUy1ER0wvTi1ER0wgaGV1dGUpICJtZWluZSBTY2hpY2h0Ii4KCmlt +cG9ydCB7IFogfSBmcm9tICcuL2NvcmVfc3RhdGUuanMnOwppbXBvcnQgewogICAgZXNjYXBlSFRN +TCwgZXNjYXBlQXR0ciwgZGF0dW1TdHIsIGRhdHVtRm9ybWF0REUsIGRhdHVtS3VyekRFLAogICAg +d29jaGVudGFnS3VyeiwgaXN0V29jaGVuZW5kZSwgYXZhdGFyS3JlaXNIdG1sLCBwZXJzb25TY2hp +Y2h0QW0KfSBmcm9tICcuL2NvcmVfdXRpbC5qcyc7CmltcG9ydCB7IG1vZGFsWmVpZ2VuLCBtb2Rh +bFNjaGxpZXNzZW4sIHRvYXN0IH0gZnJvbSAnLi91aV9kaWFsb2cuanMnOwoKdmFyIFNDSElDSFRf +TkFNRSA9IHsgRjogJ0Zyw7xoZGllbnN0JywgUzogJ1Nww6R0ZGllbnN0JywgTjogJ05hY2h0ZGll +bnN0JyB9OwoKLy8gRWluZ2V0cmFnZW5lIFNjaGljaHQgYXVzIGVpbmVtIENvZGUgYWJsZWl0ZW46 +ICJGLS4uLiIvIlMtLi4uIi8iTi0uLi4iIC0+IEYvUy9OLgovLyBEZWNrdCBGLURHTC9TLURHTC9O +LURHTCwgRi1XREYsIEYtRkJQLCAuLi4gYWIuIFVybC9rci93ZnIvZGZyLy4uLiAtPiBudWxsLgpm +dW5jdGlvbiBzY2hpY2h0QXVzQ29kZShjb2RlKSB7CiAgICBpZiAoIWNvZGUgfHwgdHlwZW9mIGNv +ZGUgIT09ICdzdHJpbmcnIHx8IGNvZGUuY2hhckF0KDEpICE9PSAnLScpIHJldHVybiBudWxsOwog +ICAgdmFyIGMgPSBjb2RlLmNoYXJBdCgwKTsKICAgIHJldHVybiAoYyA9PT0gJ0YnIHx8IGMgPT09 +ICdTJyB8fCBjID09PSAnTicpID8gYyA6IG51bGw7Cn0KCi8vIFNjaGljaHQgZWluZXIgUGVyc29u +IGFuIGVpbmVtIFRhZzogenVlcnN0IFJvdGF0aW9uIChpZ25vcmllcnQgZGVuIEVpbnRyYWcsCi8v +IGVyZmFzc3QgYWxzbyB3ZnIvZGZyLUtvbGxlZ2VuIGtvcnJla3QpLCBzb25zdCBkaWUgZWluZ2V0 +cmFnZW5lIFRhZ2Vzc2NoaWNodAovLyAoV0QtRmFsbCksIHNvbnN0IG51bGwuCmZ1bmN0aW9uIHNj +aGljaHRWb24ocGVyc29uLCBkYXR1bSkgewogICAgdmFyIHMgPSBwZXJzb25TY2hpY2h0QW0ocGVy +c29uLCBkYXR1bSk7CiAgICBpZiAocykgcmV0dXJuIHM7CiAgICB2YXIgZSA9IChaLnBsYW51bmcu +ZWludHJhZWdlIHx8IHt9KVtkYXR1bV0gfHwge307CiAgICByZXR1cm4gc2NoaWNodEF1c0NvZGUo +ZVtTdHJpbmcocGVyc29uLmlkKV0gfHwgJycpOwp9CgpleHBvcnQgZnVuY3Rpb24gc2NoaWNodFRl +YW1Nb2RhbE9lZmZuZW4oKSB7CiAgICB2YXIgbWUgPSAoWi5wZXJzb25lbiB8fCBbXSkuZmluZChm +dW5jdGlvbihwKSB7IHJldHVybiBTdHJpbmcocC5pZCkgPT09IFN0cmluZyhaLm1laW5lUGVyc29u +SWQpOyB9KTsKICAgIGlmIChaLm1laW5lUGVyc29uSWQgPT0gbnVsbCB8fCAhbWUpIHsKICAgICAg +ICB0b2FzdCgnS2VpbmUgUGVyc29uIHp1Z2VvcmRuZXQg4oCUIFNjaGljaHQtVGVhbSBuaWNodCBh +YmxlaXRiYXIuJywgJ2luZm8nKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICB2YXIgaGV1dGUg +PSBaLmhldXRlU3RyOwogICAgdmFyIHppZWwgPSBzY2hpY2h0Vm9uKG1lLCBoZXV0ZSk7CiAgICBp +ZiAoIXppZWwpIHsKICAgICAgICB0b2FzdCgnRsO8ciBoZXV0ZSBpc3Qga2VpbmUgU2NoaWNodCBo +aW50ZXJsZWd0IOKAlCBTY2hpY2h0LVRlYW0gbmljaHQgYWJsZWl0YmFyLicsICdpbmZvJyk7CiAg +ICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8vIFRlYW0gZWlubWFsaWcgYW5oYW5kIEhFVVRFIGJl +c3RpbW1lbi4gWi5wZXJzb25lbiBpc3QgYmVyZWl0cyBuYWNoCiAgICAvLyBHcnVwcGVuLVJhbmcg +KyBwb3NpdGlvbiBzb3J0aWVydCDigJQgUmVpaGVuZm9sZ2UgdWViZXJuZWhtZW4uCiAgICB2YXIg +dGVhbSA9IChaLnBlcnNvbmVuIHx8IFtdKS5maWx0ZXIoZnVuY3Rpb24ocCkgeyByZXR1cm4gc2No +aWNodFZvbihwLCBoZXV0ZSkgPT09IHppZWw7IH0pOwogICAgaWYgKHRlYW0uaW5kZXhPZihtZSkg +PCAwKSB0ZWFtLnVuc2hpZnQobWUpOyAvLyBTaWNoZXJoZWl0cy1OZXR6CgogICAgLy8gMTQgVGFn +ZSBhYiBoZXV0ZS4KICAgIHZhciBzdGFydCA9IG5ldyBEYXRlKGhldXRlICsgJ1QwMDowMDowMCcp +OwogICAgdmFyIHRhZ2UgPSBbXTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTQ7IGkrKykgewog +ICAgICAgIHZhciBkID0gbmV3IERhdGUoc3RhcnQpOwogICAgICAgIGQuc2V0RGF0ZShzdGFydC5n +ZXREYXRlKCkgKyBpKTsKICAgICAgICB0YWdlLnB1c2goZCk7CiAgICB9CgogICAgLy8gLS0tLS0g +S29wZnplaWxlIC0tLS0tCiAgICB2YXIga29wZiA9ICc8dGggY2xhc3M9InN0LXRoLW5hbWUiPlBl +cnNvbjwvdGg+JzsKICAgIHRhZ2UuZm9yRWFjaChmdW5jdGlvbihkKSB7CiAgICAgICAgdmFyIHdl +ID0gaXN0V29jaGVuZW5kZShkKSA/ICcgc3Qtd2UnIDogJyc7CiAgICAgICAga29wZiArPSAnPHRo +IGNsYXNzPSJzdC10aC10YWcnICsgd2UgKyAnIj4nICsKICAgICAgICAgICAgJzxkaXYgY2xhc3M9 +InN0LXRoLWRhdHVtIj4nICsgZXNjYXBlSFRNTChkYXR1bUt1cnpERShkKSkgKyAnPC9kaXY+JyAr +CiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJzdC10aC13dGFnIj4nICsgZXNjYXBlSFRNTCh3b2No +ZW50YWdLdXJ6KGQpKSArICc8L2Rpdj4nICsKICAgICAgICAgICAgJzwvdGg+JzsKICAgIH0pOwoK +ICAgIC8vIC0tLS0tIFBlcnNvbmVuLVplaWxlbiAtLS0tLQogICAgdmFyIHplaWxlbiA9ICcnOwog +ICAgdGVhbS5mb3JFYWNoKGZ1bmN0aW9uKHApIHsKICAgICAgICB2YXIgaXN0SWNoID0gU3RyaW5n +KHAuaWQpID09PSBTdHJpbmcoWi5tZWluZVBlcnNvbklkKTsKICAgICAgICB2YXIgbWV0YSA9IChw +LmdydXBwZSB8fCAnPycpICsgKHAub2UgPyAnIMK3ICcgKyBwLm9lIDogJycpOwogICAgICAgIHZh +ciBuYW1lWmVsbGUgPSAnPHRkIGNsYXNzPSJzdC10ZC1uYW1lIj4nICsKICAgICAgICAgICAgJzxk +aXYgY2xhc3M9InN0LXBlcnNvbiI+JyArCiAgICAgICAgICAgICAgICBhdmF0YXJLcmVpc0h0bWwo +cCwgMjIpICsKICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJzdC1wZXJzb24tdHh0Ij4nICsK +ICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ic3QtcGVyc29uLW5hbWUiPicgKyBlc2Nh +cGVIVE1MKHAubmFtZSB8fCAnJykgKwogICAgICAgICAgICAgICAgICAgICAgICAocC52b3JuYW1l +ID8gJyAnICsgZXNjYXBlSFRNTChwLnZvcm5hbWUpIDogJycpICsgJzwvZGl2PicgKwogICAgICAg +ICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJzdC1wZXJzb24tbWV0YSI+JyArIGVzY2FwZUhUTUwo +bWV0YSkgKyAnPC9kaXY+JyArCiAgICAgICAgICAgICAgICAnPC9kaXY+JyArCiAgICAgICAgICAg +ICc8L2Rpdj48L3RkPic7CgogICAgICAgIHZhciB6ZWxsZW4gPSAnJzsKICAgICAgICB0YWdlLmZv +ckVhY2goZnVuY3Rpb24oZCkgewogICAgICAgICAgICB2YXIgZFN0ciA9IGRhdHVtU3RyKGQpOwog +ICAgICAgICAgICB2YXIgZSA9IChaLnBsYW51bmcuZWludHJhZWdlIHx8IHt9KVtkU3RyXSB8fCB7 +fTsKICAgICAgICAgICAgdmFyIHdlcnQgPSBlW1N0cmluZyhwLmlkKV0gfHwgJyc7CiAgICAgICAg +ICAgIHZhciBmYXJiZW4gPSBaLmNvZGVNYXBbd2VydF0gfHwge307CiAgICAgICAgICAgIHZhciB3 +ZSA9IGlzdFdvY2hlbmVuZGUoZCkgPyAnIHN0LXdlJyA6ICcnOwogICAgICAgICAgICB2YXIgc3R5 +bGUgPSAnJzsKICAgICAgICAgICAgdmFyIGFuemVpZ2UgPSAnJzsKICAgICAgICAgICAgaWYgKHdl +cnQgJiYgZmFyYmVuLmhpbnRlcmdydW5kKSB7CiAgICAgICAgICAgICAgICBzdHlsZSA9ICcgc3R5 +bGU9ImJhY2tncm91bmQtY29sb3I6JyArIGVzY2FwZUF0dHIoZmFyYmVuLmhpbnRlcmdydW5kKSAr +CiAgICAgICAgICAgICAgICAgICAgICAgICc7Y29sb3I6JyArIGVzY2FwZUF0dHIoZmFyYmVuLnNj +aHJpZnQgfHwgJyMwMDAnKSArICciJzsKICAgICAgICAgICAgICAgIGFuemVpZ2UgPSBlc2NhcGVI +VE1MKGZhcmJlbi5rdWVyemVsIHx8IHdlcnQpOwogICAgICAgICAgICB9IGVsc2UgaWYgKHdlcnQp +IHsKICAgICAgICAgICAgICAgIGFuemVpZ2UgPSBlc2NhcGVIVE1MKHdlcnQpOwogICAgICAgICAg +ICB9CiAgICAgICAgICAgIHplbGxlbiArPSAnPHRkIGNsYXNzPSJzdC10ZC10YWcnICsgd2UgKyAn +IicgKyBzdHlsZSArICcgdGl0bGU9IicgKyBlc2NhcGVBdHRyKHdlcnQpICsgJyI+JyArIGFuemVp +Z2UgKyAnPC90ZD4nOwogICAgICAgIH0pOwoKICAgICAgICB6ZWlsZW4gKz0gJzx0ciBjbGFzcz0i +c3QtemVpbGUnICsgKGlzdEljaCA/ICcgc3QtemVpbGUtaWNoJyA6ICcnKSArICciPicgKyBuYW1l +WmVsbGUgKyB6ZWxsZW4gKyAnPC90cj4nOwogICAgfSk7CgogICAgdmFyIGtvZXJwZXIgPQogICAg +ICAgICc8ZGl2IGNsYXNzPSJzdC1rb3BmaW5mbyI+JyArCiAgICAgICAgICAgICc8c3BhbiBjbGFz +cz0ic3QtYmFkZ2Ugc3QtYmFkZ2UtJyArIHppZWwgKyAnIj4nICsgZXNjYXBlSFRNTChTQ0hJQ0hU +X05BTUVbemllbF0gfHwgemllbCkgKyAnPC9zcGFuPicgKwogICAgICAgICAgICAnPHNwYW4gY2xh +c3M9InN0LXplaXRyYXVtIj4xNCBUYWdlIGFiICcgKyBlc2NhcGVIVE1MKGRhdHVtRm9ybWF0REUo +aGV1dGUpKSArICcgwrcgJyArCiAgICAgICAgICAgICAgICB0ZWFtLmxlbmd0aCArICcgUGVyc29u +ZW48L3NwYW4+JyArCiAgICAgICAgICAgICc8c3BhbiBjbGFzcz0ic3QtaGlud2VpcyI+VGVhbSBi +ZXN0aW1tdCBuYWNoIGhldXRpZ2VyIFNjaGljaHQgKGlua2wuIFdhY2hmcmVpL0RpZW5zdGZyZWkg +bGF1dCBSb3RhdGlvbikuPC9zcGFuPicgKwogICAgICAgICc8L2Rpdj4nICsKICAgICAgICAnPGRp +diBjbGFzcz0ic3Qtc2Nyb2xsIj48dGFibGUgY2xhc3M9InN0LXRhYmVsbGUiPjx0aGVhZD48dHI+ +JyArIGtvcGYgKyAnPC90cj48L3RoZWFkPicgKwogICAgICAgICc8dGJvZHk+JyArIHplaWxlbiAr +ICc8L3Rib2R5PjwvdGFibGU+PC9kaXY+JzsKCiAgICB2YXIgZnVzcyA9ICc8YnV0dG9uIGNsYXNz +PSJidG4iIGlkPSJzdC1zY2hsaWVzc2VuIiB0eXBlPSJidXR0b24iPlNjaGxpZcOfZW48L2J1dHRv +bj4nOwoKICAgIG1vZGFsWmVpZ2VuKCdNZWluIFNjaGljaHQtVGVhbScsIGtvZXJwZXIsIGZ1c3Ms +IG51bGwsIG51bGwsIHsgcmVpbmVyRGlhbG9nOiB0cnVlIH0pOwogICAgdmFyIG1JbmhhbHQgPSBk +b2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjbW9kYWwtb3ZlcmxheSAubW9kYWwtaW5oYWx0Jyk7CiAg +ICBpZiAobUluaGFsdCkgbUluaGFsdC5jbGFzc0xpc3QuYWRkKCdtb2RhbC1pbmhhbHQtZ3Jvc3Mn +KTsKICAgIHZhciBidG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3Qtc2NobGllc3Nlbicp +OwogICAgaWYgKGJ0bikgYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgbW9kYWxTY2hsaWVz +c2VuKTsKfQo= +### FILE: js/statistik.js | 122035 +Ly8gPT09IHN0YXRpc3Rpay5qcyA9PT0KLy8gU3RhdGlzdGlrLVRhYjogS1BJcywgc29ydGllcmJh +cmUgQmFsa2VuLUNoYXJ0cyBwcm8gUGVyc29uLCBGYWlybmVzcy0KLy8gQW56ZWlnZSwgTXVzdGVy +LUFuYWx5c2UsIEFid2VzZW5oZWl0cy1LYWNoZWxuLCBEZXRhaWwtVGFiZWxsZSwgUHJvc2EtVGV4 +dC4KCmltcG9ydCB7IFogfSBmcm9tICcuL2NvcmVfc3RhdGUuanMnOwppbXBvcnQgewogICAgZXNj +YXBlSFRNTCwgZXNjYXBlQXR0ciwKICAgIGRhdHVtU3RyLCBkYXR1bUZvcm1hdERFLCBkYXR1bUt1 +cnpERSwKICAgIF9wZXJzb25BbnplaWdlLCByZW5kZXJFcnJvckJveAp9IGZyb20gJy4vY29yZV91 +dGlsLmpzJzsKaW1wb3J0IHsgdG9hc3QsIG1vZGFsWmVpZ2VuLCBtb2RhbFNjaGxpZXNzZW4sIGxh +ZGVPdmVybGF5WmVpZ2VuLCBsYWRlT3ZlcmxheVZlcnN0ZWNrZW4gfSBmcm9tICcuL3VpX2RpYWxv +Zy5qcyc7CmltcG9ydCB7IGFwaSB9IGZyb20gJy4vY29yZV9hcGkuanMnOwppbXBvcnQgeyBkYXJm +U3RhdGlzdGlrU3ViIH0gZnJvbSAnLi9jb3JlX3Blcm1pc3Npb25zLmpzJzsKaW1wb3J0IHsgZmVh +dHVyZUlzdEFrdGl2IH0gZnJvbSAnLi9hZG1pbi5qcyc7Ci8vIGFrdGl2ZUZ1ZWhydW5nIGxpZWZl +cnQgcHJvIFRhZytTY2hpY2h0IGRpZSBUb3AtMiBuYWNoIEZ1bmt0aW9ucy1SYW5nCi8vICsgUG9z +aXRpb24g4oCUIGFsc28gZ2VuYXUgZGllIHNjaHJhZmZpZXJ0IGRhcmdlc3RlbGx0ZW4gMS4vMi4g +VkkzLURHTC4KaW1wb3J0IHsgYWt0aXZlRnVlaHJ1bmcgfSBmcm9tICcuL2dyaWRfZWRpdG9yLmpz +JzsKaW1wb3J0IHsgYXVzd2VydGVuIH0gZnJvbSAnLi9zdGF0aXN0aWtfZW5naW5lLmpzJzsKaW1w +b3J0IHsgZGlhZ3JhbW1SZW5kZXJuIH0gZnJvbSAnLi9zdGF0aXN0aWtfY2hhcnRzLmpzJzsKCiAg +ICAvLyA9PT09PSBTdGF0aXN0aWsgPT09PT0KCiAgICB2YXIgc3RhdEZpbHRlciA9ICdhbGxlJzsK +CiAgICAvLyBBbm9ueW1pc2llcnVuZ3MtTWFwcGluZyAoQ2hlcnJ5LVBpY2sgMWFlZmUyNiwgaGlu +dGVyIFRvZ2dsZQogICAgLy8gYGZlYXR1cmVzLnN0YXRpc3Rpa0Fub255bWApLiBXaXJkIHp1IEJl +Z2lubiBqZWRlcyBzdGF0aXN0aWtSZW5kZXJuKCkKICAgIC8vIG5ldSBhdWZnZWJhdXQ6IGplZGVy +IHMubmFtZSAtPiAiUGVyc29uIE4iIGdlbWFlc3MgUmVpaGVuZm9sZ2UgaW4gc3RhdHMuCiAgICAv +LyBfc3RhdEFuemVpZ2VOYW1lKHMpIGxpZWZlcnQgZGVuIGFuenV6ZWlnZW5kZW4gTmFtZW4g4oCU +IGJlaSBkZWFrdGl2ZW0KICAgIC8vIEZlYXR1cmUgaXN0IGRhcyBlaW5mYWNoIHMubmFtZS4KICAg +IHZhciBfc3RhdEFub25Ba3RpdiA9IGZhbHNlOwogICAgdmFyIF9zdGF0QW5vbk1hcCAgID0ge307 +CiAgICBmdW5jdGlvbiBfc3RhdEFuemVpZ2VOYW1lKHMpIHsKICAgICAgICBpZiAoX3N0YXRBbm9u +QWt0aXYpIHJldHVybiBfc3RhdEFub25NYXBbcy5uYW1lXSB8fCBzLm5hbWU7CiAgICAgICAgLy8g +U2VydmVyIGxpZWZlcnQgIk5hY2huYW1lLCBWb3JuYW1lIi4gV2VubiBkZXIgVm9ybmFtZSBsZWVy +IGlzdCwKICAgICAgICAvLyBibGVpYnQgZWluIGhhZW5nZW5kZXMgS29tbWEg4oCUIGFic2NobmVp +ZGVuLgogICAgICAgIHZhciBuID0gcy5uYW1lIHx8ICcnOwogICAgICAgIHZhciBrID0gbi5pbmRl +eE9mKCcsJyk7CiAgICAgICAgaWYgKGsgPCAwKSByZXR1cm4gbjsKICAgICAgICB2YXIgbmFjaCA9 +IG4uc3Vic3RyaW5nKGsgKyAxKS50cmltKCk7CiAgICAgICAgaWYgKCFuYWNoKSByZXR1cm4gbi5z +dWJzdHJpbmcoMCwgaykudHJpbSgpOwogICAgICAgIHJldHVybiBuOwogICAgfQoKICAgIC8vIEth +dGVnb3JpZS1TdGF0ZSBmdWVyIGRpZSBCYWxrZW4tQW5zaWNodC4gU2Vzc2lvbnMtbG9rYWwuCiAg +ICAvLyBBa3RpdmUgS2F0ZWdvcmllIGJlc3RpbW10LCB3ZWxjaGUgU2VnbWVudGUgZGVyIEJhbGtl +biB6ZWlndCB1bmQgbmFjaAogICAgLy8gd2VsY2hlbSBTdW1tZW4tRmVsZCBzb3J0aWVydCB3aXJk +LgogICAgdmFyIF9zdGF0S2F0ZWdvcmllICAgID0gJ3NjaGljaHRlbic7CiAgICB2YXIgX3N0YXRT +b3J0UmljaHR1bmcgPSAnZGVzYyc7CgogICAgLy8gS2F0ZWdvcmllLURlZmluaXRpb246IHBybyBL +YXRlZ29yaWUgZWluZSBMaXN0ZSB2b24gU2VnbWVudGVuCiAgICAvLyAoRmVsZCwgTGFiZWwsIEZh +cmJlKSB1bmQgZGFzIFN1bW1lbi1GZWxkIGZ1ZXIgZGllIFNvcnRpZXJ1bmcuCiAgICAvLyBLcmFu +ayAoa3IpIGlzdCBCRVdVU1NUIG5pY2h0IGVudGhhbHRlbiDigJQgRGF0ZW5zY2h1dHotQW5mb3Jk +ZXJ1bmcsCiAgICAvLyBlcnNjaGVpbnQgbnVyIGluIGRlciBEZXRhaWwtVGFiZWxsZSBnYW56IHVu +dGVuLgogICAgdmFyIFNUQVRfS0FURUdPUklFTiA9IHsKICAgICAgICBzY2hpY2h0ZW46IHsKICAg +ICAgICAgICAgbGFiZWw6ICdTY2hpY2h0ZW4nLAogICAgICAgICAgICBzZWdtZW50ZTogWwogICAg +ICAgICAgICAgICAgeyBmZWxkOiAnZnJ1ZWgnLCAgICAgICAgbGFiZWw6ICdGcsO8aCcsICAgIGZh +cmJlOiAndmFyKC0tZmFyYmUtZnJ1ZWgpJyB9LAogICAgICAgICAgICAgICAgeyBmZWxkOiAnc3Bh +ZXQnLCAgICAgICAgbGFiZWw6ICdTcMOkdCcsICAgIGZhcmJlOiAndmFyKC0tZmFyYmUtc3BhZXQp +JyB9LAogICAgICAgICAgICAgICAgeyBmZWxkOiAnbmFjaHQnLCAgICAgICAgbGFiZWw6ICdOYWNo +dCcsICAgZmFyYmU6ICd2YXIoLS1mYXJiZS1uYWNodCknIH0sCiAgICAgICAgICAgICAgICB7IGZl +bGQ6ICdzb25kZXJkaWVuc3QnLCBsYWJlbDogJ1NEJywgICAgICBmYXJiZTogJ3ZhcigtLXN0YXQt +c2QpJyB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgIHNvcnRGZWxkOiAnZ2VzYW10JywKICAg +ICAgICAgICAgc29ydExhYmVsOiAnzqMgRGllbnN0ZScKICAgICAgICB9LAogICAgICAgIHdvY2hl +bmVuZGU6IHsKICAgICAgICAgICAgbGFiZWw6ICdXb2NoZW5lbmRkaWVuc3RlJywKICAgICAgICAg +ICAgc2VnbWVudGU6IFsKICAgICAgICAgICAgICAgIHsgZmVsZDogJ3NhbXN0YWdEaWVuc3RlJywg +IGxhYmVsOiAnU2EnLCAgICAgICBmYXJiZTogJ3ZhcigtLXN0YXQtc2Ftc3RhZyknIH0sCiAgICAg +ICAgICAgICAgICB7IGZlbGQ6ICdzb25udGFnRGllbnN0ZScsICBsYWJlbDogJ1NvJywgICAgICAg +ZmFyYmU6ICd2YXIoLS1zdGF0LXNvbm50YWcpJyB9LAogICAgICAgICAgICAgICAgeyBmZWxkOiAn +ZmVpZXJ0YWdEaWVuc3RlJywgbGFiZWw6ICdGZWllcnRhZycsIGZhcmJlOiAndmFyKC0tc3RhdC1m +ZWllcnRhZyknIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgLy8gS29tcGxldHRlIFdFIHdp +cmQgYWxzIHp1c2FldHpsaWNoZSBLZW5uemFobCByZWNodHMgZ2V6ZWlndAogICAgICAgICAgICBl +eHRyYTogeyBmZWxkOiAna29tcGxldHRlV0UnLCBsYWJlbDogJ0tvbXBsZXR0ZSBXRScsIGZhcmJl +OiAndmFyKC0tc3RhdC1rb21wbGV0dGUtd2UpJyB9LAogICAgICAgICAgICAvLyBTdW1tZSB1ZWJl +ciBTYStTbytGZWllcnRhZyAoY29tcHV0ZWQpCiAgICAgICAgICAgIHNvcnRMYWJlbDogJ86jIFdF +K0ZlaWVydGFnJwogICAgICAgIH0sCiAgICAgICAgZm9ydGJpbGR1bmc6IHsKICAgICAgICAgICAg +bGFiZWw6ICdGb3J0YmlsZHVuZycsCiAgICAgICAgICAgIHNlZ21lbnRlOiBbCiAgICAgICAgICAg +ICAgICB7IGZlbGQ6ICdmb3J0YmlsZHVuZycsICAgICAgbGFiZWw6ICdBdUYvRVRNL1NlbS9UVC9U +ekYnLCBmYXJiZTogJ3ZhcigtLXN0YXQtZm9ydGJpbGR1bmctMSknIH0sCiAgICAgICAgICAgICAg +ICB7IGZlbGQ6ICdkaWVuc3R1bnRlcnJpY2h0JywgbGFiZWw6ICdEVScsICAgICAgICAgICAgICAg +ICAgZmFyYmU6ICd2YXIoLS1zdGF0LWZvcnRiaWxkdW5nLTIpJyB9LAogICAgICAgICAgICAgICAg +eyBmZWxkOiAnbGVocmdhbmdMYW5nJywgICAgIGxhYmVsOiAnTEcnLCAgICAgICAgICAgICAgICAg +IGZhcmJlOiAndmFyKC0tc3RhdC1mb3J0YmlsZHVuZy0zKScgfQogICAgICAgICAgICBdLAogICAg +ICAgICAgICBzb3J0TGFiZWw6ICfOoyBGb3J0YmlsZHVuZycKICAgICAgICB9LAogICAgICAgIGFi +d2VzZW5oZWl0OiB7CiAgICAgICAgICAgIGxhYmVsOiAnQWJ3ZXNlbmhlaXQnLAogICAgICAgICAg +ICAvLyBLcmFuayBiZXd1c3N0IGF1c2dlbm9tbWVuIChEYXRlbnNjaHV0eikuIFVybGF1YiArIEt1 +ciArIFNvbmRlcnVybGF1YgogICAgICAgICAgICAvLyBzaW5kIGRpZSBmYWlyZW4gVmVyZ2xlaWNo +c3dlcnRlLgogICAgICAgICAgICBzZWdtZW50ZTogWwogICAgICAgICAgICAgICAgeyBmZWxkOiAn +dXJsYXViJywgICAgICAgbGFiZWw6ICdVcmxhdWInLCAgICAgICBmYXJiZTogJ3ZhcigtLXN0YXQt +dXJsYXViKScgfSwKICAgICAgICAgICAgICAgIHsgZmVsZDogJ2t1cicsICAgICAgICAgIGxhYmVs +OiAnS3VyJywgICAgICAgICAgZmFyYmU6ICd2YXIoLS1zdGF0LWt1ciknIH0sCiAgICAgICAgICAg +ICAgICB7IGZlbGQ6ICdzb25kZXJ1cmxhdWInLCBsYWJlbDogJ1NvbmRlcnVybGF1YicsIGZhcmJl +OiAndmFyKC0tc3RhdC1zb25kZXJ1cmxhdWIpJyB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAg +IHNvcnRMYWJlbDogJ86jIEFid2VzZW5oZWl0JwogICAgICAgIH0sCiAgICAgICAgZWluZ2VzcHJ1 +bmdlbjogewogICAgICAgICAgICBsYWJlbDogJ0Vpbmdlc3BydW5nZW4nLAogICAgICAgICAgICAv +LyBBdXNzZXJwbGFubWFlc3NpZ2UgQXVmcnVlY2t1bmdlbiBpbiBkaWUgMS4vMi4gVkkzLURHTC0K +ICAgICAgICAgICAgLy8gVmVyYW50d29ydHVuZyBpbm5lcmhhbGIgZGVyIDE0LVRhZ2UtVmVyYmlu +ZGxpY2hrZWl0LiBQcm8KICAgICAgICAgICAgLy8gU2NoaWNodCAoRi9TL04pIGF1Zmdlc2NobHVl +c3NlbHQgLS0gZ2xlaWNoZSBGYXJicGFsZXR0ZSB3aWUKICAgICAgICAgICAgLy8gZGllIFNjaGlj +aHRlbi1LYXRlZ29yaWUsIGRhbWl0IGRlciBCZXp1ZyBvcHRpc2NoIGtsYXIgaXN0LgogICAgICAg +ICAgICBiZXNjaHJlaWJ1bmc6ICdIaWVyIHdlcmRlbiBkaWUgTWl0YXJiZWl0ZW5kZW4gYXVmZ2Vm +w7xocnQsIGRpZSA8Yj5hdcOfZXJwbGFubcOkw59pZyBpbm5lcmhhbGIgZGVyIDE0LVRhZ2UtVmVy +YmluZGxpY2hrZWl0IGVpbmdlc3BydW5nZW48L2I+IHNpbmQgdW5kIGluIGRpZSAxLiBvZGVyIDIu +IFZJMy1ER0wtVmVyYW50d29ydHVuZyBlaW5lciBTY2hpY2h0IGF1ZmdlcsO8Y2t0IHNpbmQg4oCU +IGVudHdlZGVyIGR1cmNoIFNldHp1bmcgZHVyY2ggZGllIFZlcmFudHdvcnRsaWNoZW4gKE1haWwt +RGlhbG9nKSBvZGVyIGR1cmNoIFNlbGJzdGVpbnRyYWd1bmcgYXVzIHdhY2hmcmVpIC8gQWJ3ZXNl +bmhlaXQgaGVyYXVzLicsCiAgICAgICAgICAgIHNlZ21lbnRlOiBbCiAgICAgICAgICAgICAgICB7 +IGZlbGQ6ICdlaW5nZXNwcnVuZ2VuX2YnLCBsYWJlbDogJ0Zyw7xoJywgIGZhcmJlOiAndmFyKC0t +ZmFyYmUtZnJ1ZWgpJyB9LAogICAgICAgICAgICAgICAgeyBmZWxkOiAnZWluZ2VzcHJ1bmdlbl9z +JywgbGFiZWw6ICdTcMOkdCcsICBmYXJiZTogJ3ZhcigtLWZhcmJlLXNwYWV0KScgfSwKICAgICAg +ICAgICAgICAgIHsgZmVsZDogJ2Vpbmdlc3BydW5nZW5fbicsIGxhYmVsOiAnTmFjaHQnLCBmYXJi +ZTogJ3ZhcigtLWZhcmJlLW5hY2h0KScgfQogICAgICAgICAgICBdLAogICAgICAgICAgICBzb3J0 +RmVsZDogICdlaW5nZXNwcnVuZ2VuJywKICAgICAgICAgICAgc29ydExhYmVsOiAnzqMgRWluc3By +w7xuZ2UnCiAgICAgICAgfQogICAgfTsKCiAgICAvLyBTdW1tZSBkZXIgS2F0ZWdvcmllLVNlZ21l +bnRlIGZ1ZXIgZWluZSBQZXJzb24gZXJtaXR0ZWxuLgogICAgZnVuY3Rpb24gX3N0YXRLYXRTdW1t +ZShzLCBrYXQpIHsKICAgICAgICBpZiAoa2F0LnNvcnRGZWxkKSByZXR1cm4gc1trYXQuc29ydEZl +bGRdIHx8IDA7CiAgICAgICAgdmFyIHN1bSA9IDA7CiAgICAgICAga2F0LnNlZ21lbnRlLmZvckVh +Y2goZnVuY3Rpb24oc2VnKSB7IHN1bSArPSBzW3NlZy5mZWxkXSB8fCAwOyB9KTsKICAgICAgICBy +ZXR1cm4gc3VtOwogICAgfQoKICAgIGZ1bmN0aW9uIHN0YXRpc3Rpa0ZpbHRlckZ1ZWxsZW4oKSB7 +CiAgICAgICAgLy8gR3J1cHBlbi1Ecm9wZG93biBhdXMgZGVtIGFrdHVlbGxlbiBhZG1pbi5ncnVw +cGVuIGF1ZmJhdWVuIOKAlCBzb25zdCBrb2VubmVuCiAgICAgICAgLy8gdW1iZW5hbm50ZSBHcnVw +cGVuIG5pY2h0IG1laHIgZ2VmaWx0ZXJ0IHdlcmRlbi4gTGFiZWwgb2huZSBLdWVyemVsLAogICAg +ICAgIC8vIG51ciBkaWUgQmV6ZWljaG51bmcgKEZhbGxiYWNrIGF1ZiBkYXMgS3VlcnplbCB3ZW5u +IGtlaW5lIEJlemVpY2hudW5nKS4KICAgICAgICB2YXIgc2VsID0gZG9jdW1lbnQuZ2V0RWxlbWVu +dEJ5SWQoJ3N0YXRzLWdydXBwZW4tZmlsdGVyJyk7CiAgICAgICAgaWYgKCFzZWwpIHJldHVybjsK +ICAgICAgICB2YXIgYWt0dWVsbCA9IHNlbC52YWx1ZSB8fCAnYWxsZSc7CiAgICAgICAgdmFyIGh0 +bWwgPSAnPG9wdGlvbiB2YWx1ZT0iYWxsZSI+QWxsZSBEaWVuc3RncnVwcGVuPC9vcHRpb24+JzsK +ICAgICAgICAoWi5hZG1pbi5ncnVwcGVuIHx8IFtdKS5mb3JFYWNoKGZ1bmN0aW9uKGdyKSB7CiAg +ICAgICAgICAgIHZhciBsYWJlbCA9IGdyLmJlemVpY2hudW5nIHx8IGdyLm5hbWU7CiAgICAgICAg +ICAgIGh0bWwgKz0gJzxvcHRpb24gdmFsdWU9IicgKyBlc2NhcGVBdHRyKGdyLm5hbWUpICsgJyI+ +JyArIGVzY2FwZUhUTUwobGFiZWwpICsgJzwvb3B0aW9uPic7CiAgICAgICAgfSk7CiAgICAgICAg +c2VsLmlubmVySFRNTCA9IGh0bWw7CiAgICAgICAgc2VsLnZhbHVlID0gYWt0dWVsbDsKICAgIH0K +CiAgICBmdW5jdGlvbiBzdGF0aXN0aWtMYWRlbigpIHsKICAgICAgICBzdGF0aXN0aWtGaWx0ZXJG +dWVsbGVuKCk7CiAgICAgICAgLy8gUGFrZXQtQyAoMjAyNi0wNS0yOSk6IFNvZm9ydC1TcGlubmVy +LCBkYW1pdCBkZXIgVXNlciBiZWltIFRhYi1XZWNoc2VsCiAgICAgICAgLy8gbmljaHQgYXVmIGVp +bmVuIGxlZXJlbiBCZXJlaWNoIHN0YXJydCB3YWVocmVuZCBhcGkoKSBsYWV1ZnQuIFdpcmQKICAg +ICAgICAvLyBpbSB0aGVuL2NhdGNoIHdpZWRlciB3ZWdnZW5vbW1lbiwgZGFuYWNoIHVlYmVybmlt +bXQgZGllIGJlc3RlaGVuZGUKICAgICAgICAvLyBTa2VsZXRvbi1SZW5kZXItU2Nocml0dC1Mb2dp +ayAoc2VxdWVudGllbGxlcyBSZW5kZXJuIG1pdCBHbG93KS4KICAgICAgICBsYWRlT3ZlcmxheVpl +aWdlbignYW5zaWNodC1zdGF0aXN0aWsnLCAnU3RhdGlzdGlrIHdpcmQgYmVyZWNobmV0IOKApicp +OwogICAgICAgIGFwaSgnL2FwaS9zdGF0aXN0aWsnKS50aGVuKGZ1bmN0aW9uKGRhdGVuKSB7CiAg +ICAgICAgICAgIFouc3RhdGlzdGlrID0gZGF0ZW47CiAgICAgICAgICAgIGxhZGVPdmVybGF5VmVy +c3RlY2tlbignYW5zaWNodC1zdGF0aXN0aWsnKTsKICAgICAgICAgICAgc3RhdGlzdGlrUmVuZGVy +bigpOwogICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgbGFkZU92ZXJs +YXlWZXJzdGVja2VuKCdhbnNpY2h0LXN0YXRpc3RpaycpOwogICAgICAgICAgICB0b2FzdCgnRmVo +bGVyIGJlaW0gTGFkZW4gZGVyIFN0YXRpc3RpazogJyArIGUubWVzc2FnZSwgJ2ZlaGxlcicpOwog +ICAgICAgIH0pOwogICAgfQoKICAgIGZ1bmN0aW9uIHN0YXRGaWx0ZXJuKHN0YXRzKSB7CiAgICAg +ICAgaWYgKHN0YXRGaWx0ZXIgPT09ICdhbGxlJykgcmV0dXJuIHN0YXRzOwogICAgICAgIHJldHVy +biBzdGF0cy5maWx0ZXIoZnVuY3Rpb24ocykgeyByZXR1cm4gcy5ncnVwcGUgPT09IHN0YXRGaWx0 +ZXI7IH0pOwogICAgfQoKICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gPT09PT0gTm9Db2RlLVN0YXRpc3Rpay1C +YXVrYXN0ZW4gKyBMYXlvdXQtUmFzdGVyID09PT09PT09PT09CiAgICAvLyA9PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFNl +bGJzdGdlYmF1dGUgS2FjaGVsbiAoWi5hZG1pbi5zdGF0aXN0aWtLYWNoZWxuKSBlcnNjaGVpbmVu +IGFscwogICAgLy8genVzYWV0emxpY2hlIC5zdGF0cy1wYW5lbCBpbSAjc3RhdHMtZ3JpZC4gUmVp +aGVuZm9sZ2UvQnJlaXRlL1NpY2h0YmFya2VpdAogICAgLy8gQUxMRVIgVGlsZXMgKGZlc3RlIFBh +bmVscyArIEJhdWthc3Rlbikgc3RldWVydCBaLmFkbWluLnN0YXRpc3Rpa0xheW91dC4KICAgIC8v +IEJhdWVuIGRhcmYgbnVyIFN1cGVyVXNlciArIEdlc2FtdHZlcmFudHdvcnRsaWNoIChCdWlsZGVy +IGxlYnQgaGllciBpbQogICAgLy8gU3RhdGlzdGlrLVRhYik7IGRhcyBSYXN0ZXItQW5vcmRuZW4g +bGVidCBpbSBBZG1pbiAoYWRtaW5fc3RhdGlzdGlrLmpzKS4KICAgIC8vCiAgICAvLyBXaWNodGln +OiBCYXVrYXN0ZW4tS2FjaGVsbiB0cmFnZW4gaWhyZW4gRUlHRU5FTiAiV2VyIi1GaWx0ZXIgdW5k +IHJlY2huZW4KICAgIC8vIGJld3Vzc3QgZ2VnZW4gZGllIFZPTExFIFouc3RhdGlzdGlrIChuaWNo +dCBnZWdlbiBkZW4gZ2xvYmFsZW4gR3J1cHBlbi0KICAgIC8vIEZpbHRlciBvYmVuKSDigJQgZWlu +ZSBnZXNwZWljaGVydGUgS2FjaGVsIGlzdCBnbG9iYWwgdW5kIHNlbGJzdC1lcmtsYWVyZW5kLgoK +ICAgIHZhciBCUkVJVEVfU1BBTiAgPSB7IHZvbGw6IDYsIGhhbGI6IDMsIGRyaXR0ZWw6IDIgfTsK +ICAgIHZhciBCUkVJVEVfUkFORyAgPSB7IGRyaXR0ZWw6IDAsIGhhbGI6IDEsIHZvbGw6IDIgfTsK +CiAgICAvLyBGZXN0ZSBQYW5lbHM6IGlkICg9IGRhdGEtdGlsZS1pZCBpbSBIVE1MKSwgU3RhbmRh +cmQtIHVuZCBNaW5kZXN0YnJlaXRlLgogICAgLy8gU2Nod2VyZSBUYWJlbGxlbi1QYW5lbHMgZHVl +cmZlbiBuaWNodCB1bnRlciAidm9sbCIgKHNvbnN0IGJyZWNoZW4KICAgIC8vIEhlYXRtYXAvVGFn +ZXNhbnRlaWxlL1Byb3NhKS4gdmVydGVpbHVuZy9mYWlybmVzcyBzaW5kIGZyZWkgd2FlaGxiYXIu +CiAgICB2YXIgQlVJTFRJTl9USUxFUyA9IFsKICAgICAgICB7IGlkOiAndmVydGVpbHVuZycsICAg +dGl0ZWw6ICdTY2hpY2h0dmVydGVpbHVuZycsICAgICAgICAgICAgICAgIGRlZmF1bHRCcmVpdGU6 +ICdoYWxiJywgbWluQnJlaXRlOiAnZHJpdHRlbCcgfSwKICAgICAgICB7IGlkOiAnZmFpcm5lc3Mn +LCAgICAgdGl0ZWw6ICdXRS0gJiBGVC1GYWlybmVzcycsICAgICAgICAgICAgICAgIGRlZmF1bHRC +cmVpdGU6ICdoYWxiJywgbWluQnJlaXRlOiAnZHJpdHRlbCcgfSwKICAgICAgICB7IGlkOiAnbWlr +cm90ZWFtcycsICAgdGl0ZWw6ICdNaWtyb3RlYW1zIOKAlCBWZXJmw7xnYmFya2VpdCcsICAgICAg +IGRlZmF1bHRCcmVpdGU6ICd2b2xsJywgbWluQnJlaXRlOiAndm9sbCcgfSwKICAgICAgICB7IGlk +OiAnbmViZW53YWNoZW4nLCAgdGl0ZWw6ICdOZWJlbndhY2hlbi1WZXJhbnR3b3J0dW5nJywgICAg +ICAgIGRlZmF1bHRCcmVpdGU6ICd2b2xsJywgbWluQnJlaXRlOiAndm9sbCcgfSwKICAgICAgICB7 +IGlkOiAndGFnZXNhbnRlaWxlJywgdGl0ZWw6ICdUYWdlcy1BbnRlaWxlIHBybyBUZWFtJywgICAg +ICAgICAgIGRlZmF1bHRCcmVpdGU6ICd2b2xsJywgbWluQnJlaXRlOiAndm9sbCcgfSwKICAgICAg +ICB7IGlkOiAncHJvc2EnLCAgICAgICAgdGl0ZWw6ICdEZXRhaWxhbmFseXNlIHBybyBQZXJzb24n +LCAgICAgICAgIGRlZmF1bHRCcmVpdGU6ICd2b2xsJywgbWluQnJlaXRlOiAndm9sbCcgfQogICAg +XTsKCiAgICAvLyBNZXRyaWstS2F0YWxvZyBmdWVyIGRlbiBCYXVrYXN0ZW4uIGZuKHMpIC0+IFph +aGxlbndlcnQgcHJvIFBlcnNvbi4KICAgIC8vIEtSQU5LIGlzdCBiZXd1c3N0IE5JQ0hUIGVudGhh +bHRlbiAoRGF0ZW5zY2h1dHosIHdpZSB1ZWJlcmFsbCBzb25zdCkuCiAgICB2YXIgQkFVS0FTVEVO +X01FVFJJS0VOID0gWwogICAgICAgIHsga2V5OidnZXNhbXQnLCAgICAgICAgICBncnVwcGU6J1Nj +aGljaHRlbicsICAgICAgICAgICAgbGFiZWw6J0RpZW5zdGUgZ2VzYW10JywgICAgICAgICAgZWlu +aGVpdDonRGllbnN0ZScsIGZuOmZ1bmN0aW9uKHMpe3JldHVybiBzLmdlc2FtdHx8MDt9IH0sCiAg +ICAgICAgeyBrZXk6J2ZydWVoJywgICAgICAgICAgIGdydXBwZTonU2NoaWNodGVuJywgICAgICAg +ICAgICBsYWJlbDonRnLDvGhkaWVuc3RlJywgICAgICAgICAgICAgZWluaGVpdDonRGllbnN0ZScs +IGZuOmZ1bmN0aW9uKHMpe3JldHVybiBzLmZydWVofHwwO30gfSwKICAgICAgICB7IGtleTonc3Bh +ZXQnLCAgICAgICAgICAgZ3J1cHBlOidTY2hpY2h0ZW4nLCAgICAgICAgICAgIGxhYmVsOidTcMOk +dGRpZW5zdGUnLCAgICAgICAgICAgICBlaW5oZWl0OidEaWVuc3RlJywgZm46ZnVuY3Rpb24ocyl7 +cmV0dXJuIHMuc3BhZXR8fDA7fSB9LAogICAgICAgIHsga2V5OiduYWNodCcsICAgICAgICAgICBn +cnVwcGU6J1NjaGljaHRlbicsICAgICAgICAgICAgbGFiZWw6J05hY2h0ZGllbnN0ZScsICAgICAg +ICAgICAgZWluaGVpdDonRGllbnN0ZScsIGZuOmZ1bmN0aW9uKHMpe3JldHVybiBzLm5hY2h0fHww +O30gfSwKICAgICAgICB7IGtleTonc29uZGVyZGllbnN0JywgICAgZ3J1cHBlOidTY2hpY2h0ZW4n +LCAgICAgICAgICAgIGxhYmVsOidTb25kZXJkaWVuc3RlIChTRC9TRSknLCAgIGVpbmhlaXQ6J0Rp +ZW5zdGUnLCBmbjpmdW5jdGlvbihzKXtyZXR1cm4gcy5zb25kZXJkaWVuc3R8fDA7fSB9LAogICAg +ICAgIHsga2V5OidkZ2wnLCAgICAgICAgICAgICBncnVwcGU6J1NjaGljaHRlbicsICAgICAgICAg +ICAgbGFiZWw6J0RHTC1FaW5zw6R0emUnLCAgICAgICAgICAgIGVpbmhlaXQ6J0VpbnPDpHR6ZScs +IGZuOmZ1bmN0aW9uKHMpe3JldHVybiBzLmRnbHx8MDt9IH0sCiAgICAgICAgeyBrZXk6J3dkZics +ICAgICAgICAgICAgIGdydXBwZTonU2NoaWNodGVuJywgICAgICAgICAgICBsYWJlbDonV0RGLUVp +bnPDpHR6ZScsICAgICAgICAgICAgZWluaGVpdDonRWluc8OkdHplJywgZm46ZnVuY3Rpb24ocyl7 +cmV0dXJuIHMud2RmfHwwO30gfSwKICAgICAgICB7IGtleTonZmJwJywgICAgICAgICAgICAgZ3J1 +cHBlOidTY2hpY2h0ZW4nLCAgICAgICAgICAgIGxhYmVsOidGQlAtRWluc8OkdHplJywgICAgICAg +ICAgICBlaW5oZWl0OidFaW5zw6R0emUnLCBmbjpmdW5jdGlvbihzKXtyZXR1cm4gcy5mYnB8fDA7 +fSB9LAoKICAgICAgICB7IGtleTond2VfZnRfZ2VzYW10JywgICAgZ3J1cHBlOidXb2NoZW5lbmRl +ICYgRmVpZXJ0YWcnLCBsYWJlbDonV0UtICYgRmVpZXJ0YWdzZGllbnN0ZScsICBlaW5oZWl0OidE +aWVuc3RlJywgZm46ZnVuY3Rpb24ocyl7cmV0dXJuIChzLnNhbXN0YWdEaWVuc3RlfHwwKSsocy5z +b25udGFnRGllbnN0ZXx8MCkrKHMuZmVpZXJ0YWdEaWVuc3RlfHwwKTt9IH0sCiAgICAgICAgeyBr +ZXk6J3NhbXN0YWdEaWVuc3RlJywgIGdydXBwZTonV29jaGVuZW5kZSAmIEZlaWVydGFnJywgbGFi +ZWw6J1NhbXN0YWdzZGllbnN0ZScsICAgICAgICAgZWluaGVpdDonRGllbnN0ZScsIGZuOmZ1bmN0 +aW9uKHMpe3JldHVybiBzLnNhbXN0YWdEaWVuc3RlfHwwO30gfSwKICAgICAgICB7IGtleTonc29u +bnRhZ0RpZW5zdGUnLCAgZ3J1cHBlOidXb2NoZW5lbmRlICYgRmVpZXJ0YWcnLCBsYWJlbDonU29u +bnRhZ3NkaWVuc3RlJywgICAgICAgICBlaW5oZWl0OidEaWVuc3RlJywgZm46ZnVuY3Rpb24ocyl7 +cmV0dXJuIHMuc29ubnRhZ0RpZW5zdGV8fDA7fSB9LAogICAgICAgIHsga2V5OidmZWllcnRhZ0Rp +ZW5zdGUnLCBncnVwcGU6J1dvY2hlbmVuZGUgJiBGZWllcnRhZycsIGxhYmVsOidGZWllcnRhZ3Nk +aWVuc3RlJywgICAgICAgIGVpbmhlaXQ6J0RpZW5zdGUnLCBmbjpmdW5jdGlvbihzKXtyZXR1cm4g +cy5mZWllcnRhZ0RpZW5zdGV8fDA7fSB9LAogICAgICAgIHsga2V5Oidrb21wbGV0dGVXRScsICAg +ICBncnVwcGU6J1dvY2hlbmVuZGUgJiBGZWllcnRhZycsIGxhYmVsOidLb21wbGV0dGUgV29jaGVu +ZW5kZW4nLCAgIGVpbmhlaXQ6J1dFJywgICAgICBmbjpmdW5jdGlvbihzKXtyZXR1cm4gcy5rb21w +bGV0dGVXRXx8MDt9IH0sCiAgICAgICAgeyBrZXk6J3dvY2hlbmVuZFRhZ2UnLCAgIGdydXBwZTon +V29jaGVuZW5kZSAmIEZlaWVydGFnJywgbGFiZWw6J1dFLVRhZ2UgaW0gRGllbnN0JywgICAgICAg +ZWluaGVpdDonVGFnZScsICAgIGZuOmZ1bmN0aW9uKHMpe3JldHVybiBzLndvY2hlbmVuZFRhZ2V8 +fDA7fSB9LAogICAgICAgIHsga2V5Oid3ZVRhZ2VWZXJmdWVnYmFyJyxncnVwcGU6J1dvY2hlbmVu +ZGUgJiBGZWllcnRhZycsIGxhYmVsOidGcmVpZSBXRS1UYWdlICh2ZXJmw7xnYmFyKScsZWluaGVp +dDonVGFnZScsICAgZm46ZnVuY3Rpb24ocyl7cmV0dXJuIHMud2VUYWdlVmVyZnVlZ2Jhcnx8MDt9 +IH0sCgogICAgICAgIHsga2V5OidlaW5nZXNwcnVuZ2VuJywgICBncnVwcGU6J0VpbnNwcmluZ2Vu +JywgICAgICAgICAgbGFiZWw6J0VpbnNwcsO8bmdlIGdlc2FtdCcsICAgICAgIGVpbmhlaXQ6J0Vp +bnNwcsO8bmdlJywgZm46ZnVuY3Rpb24ocyl7cmV0dXJuIHMuZWluZ2VzcHJ1bmdlbnx8MDt9IH0s +CiAgICAgICAgeyBrZXk6J2Vpbmdlc3BydW5nZW5fZicsIGdydXBwZTonRWluc3ByaW5nZW4nLCAg +ICAgICAgICBsYWJlbDonRWluc3Byw7xuZ2UgRnLDvGgnLCAgICAgICAgIGVpbmhlaXQ6J0VpbnNw +csO8bmdlJywgZm46ZnVuY3Rpb24ocyl7cmV0dXJuIHMuZWluZ2VzcHJ1bmdlbl9mfHwwO30gfSwK +ICAgICAgICB7IGtleTonZWluZ2VzcHJ1bmdlbl9zJywgZ3J1cHBlOidFaW5zcHJpbmdlbicsICAg +ICAgICAgIGxhYmVsOidFaW5zcHLDvG5nZSBTcMOkdCcsICAgICAgICAgZWluaGVpdDonRWluc3By +w7xuZ2UnLCBmbjpmdW5jdGlvbihzKXtyZXR1cm4gcy5laW5nZXNwcnVuZ2VuX3N8fDA7fSB9LAog +ICAgICAgIHsga2V5OidlaW5nZXNwcnVuZ2VuX24nLCBncnVwcGU6J0VpbnNwcmluZ2VuJywgICAg +ICAgICAgbGFiZWw6J0VpbnNwcsO8bmdlIE5hY2h0JywgICAgICAgIGVpbmhlaXQ6J0VpbnNwcsO8 +bmdlJywgZm46ZnVuY3Rpb24ocyl7cmV0dXJuIHMuZWluZ2VzcHJ1bmdlbl9ufHwwO30gfSwKCiAg +ICAgICAgeyBrZXk6J3VybGF1YicsICAgICAgICAgIGdydXBwZTonQWJ3ZXNlbmhlaXQgJiBGcmVp +JywgICBsYWJlbDonVXJsYXVic3RhZ2UnLCAgICAgICAgICAgICBlaW5oZWl0OidUYWdlJywgZm46 +ZnVuY3Rpb24ocyl7cmV0dXJuIHMudXJsYXVifHwwO30gfSwKICAgICAgICB7IGtleTona3VyJywg +ICAgICAgICAgICAgZ3J1cHBlOidBYndlc2VuaGVpdCAmIEZyZWknLCAgIGxhYmVsOidLdXItVGFn +ZScsICAgICAgICAgICAgICAgIGVpbmhlaXQ6J1RhZ2UnLCBmbjpmdW5jdGlvbihzKXtyZXR1cm4g +cy5rdXJ8fDA7fSB9LAogICAgICAgIHsga2V5Oidzb25kZXJ1cmxhdWInLCAgICBncnVwcGU6J0Fi +d2VzZW5oZWl0ICYgRnJlaScsICAgbGFiZWw6J1NvbmRlcnVybGF1YicsICAgICAgICAgICAgZWlu +aGVpdDonVGFnZScsIGZuOmZ1bmN0aW9uKHMpe3JldHVybiBzLnNvbmRlcnVybGF1Ynx8MDt9IH0s +CiAgICAgICAgeyBrZXk6J3BhcmFncmFwaDIxJywgICAgIGdydXBwZTonQWJ3ZXNlbmhlaXQgJiBG +cmVpJywgICBsYWJlbDonwqcyMSAvIDIxYS1UYWdlJywgICAgICAgICAgZWluaGVpdDonVGFnZScs +IGZuOmZ1bmN0aW9uKHMpe3JldHVybiBzLnBhcmFncmFwaDIxfHwwO30gfSwKICAgICAgICB7IGtl +eTonYXpBdXNnbGVpY2hSZWluJywgZ3J1cHBlOidBYndlc2VuaGVpdCAmIEZyZWknLCAgIGxhYmVs +OidBWi1BdXNnbGVpY2gnLCAgICAgICAgICAgIGVpbmhlaXQ6J1RhZ2UnLCBmbjpmdW5jdGlvbihz +KXtyZXR1cm4gcy5hekF1c2dsZWljaFJlaW58fDA7fSB9LAogICAgICAgIHsga2V5Oid3YWNoZnJl +aScsICAgICAgICBncnVwcGU6J0Fid2VzZW5oZWl0ICYgRnJlaScsICAgbGFiZWw6J1dhY2hmcmVp +ICh3ZnIpJywgICAgICAgICAgZWluaGVpdDonVGFnZScsIGZuOmZ1bmN0aW9uKHMpe3JldHVybiBz +LndhY2hmcmVpfHwwO30gfSwKICAgICAgICB7IGtleTonZGllbnN0ZnJlaVRhZycsICAgZ3J1cHBl +OidBYndlc2VuaGVpdCAmIEZyZWknLCAgIGxhYmVsOidEaWVuc3RmcmVpIChkZnIpJywgICAgICAg +IGVpbmhlaXQ6J1RhZ2UnLCBmbjpmdW5jdGlvbihzKXtyZXR1cm4gcy5kaWVuc3RmcmVpVGFnfHww +O30gfSwKCiAgICAgICAgeyBrZXk6J2ZvcnRiaWxkdW5nJywgICAgIGdydXBwZTonQXVzLSAmIEZv +cnRiaWxkdW5nJywgICBsYWJlbDonRm9ydGJpbGR1bmcgKEF1Ri9FVE0vU2VtL1RUL1R6RiknLCBl +aW5oZWl0OidUYWdlJywgZm46ZnVuY3Rpb24ocyl7cmV0dXJuIHMuZm9ydGJpbGR1bmd8fDA7fSB9 +LAogICAgICAgIHsga2V5OidkaWVuc3R1bnRlcnJpY2h0JyxncnVwcGU6J0F1cy0gJiBGb3J0Ymls +ZHVuZycsICAgbGFiZWw6J0RpZW5zdHVudGVycmljaHQgKERVKScsICAgZWluaGVpdDonVGFnZScs +IGZuOmZ1bmN0aW9uKHMpe3JldHVybiBzLmRpZW5zdHVudGVycmljaHR8fDA7fSB9LAogICAgICAg +IHsga2V5OidsZWhyZ2FuZ0xhbmcnLCAgICBncnVwcGU6J0F1cy0gJiBGb3J0YmlsZHVuZycsICAg +bGFiZWw6J0xlaHJnYW5nIChMRyknLCAgICAgICAgICAgZWluaGVpdDonVGFnZScsIGZuOmZ1bmN0 +aW9uKHMpe3JldHVybiBzLmxlaHJnYW5nTGFuZ3x8MDt9IH0sCiAgICAgICAgeyBrZXk6J2xlaHJn +YW5nJywgICAgICAgIGdydXBwZTonQXVzLSAmIEZvcnRiaWxkdW5nJywgICBsYWJlbDonTGVocmdh +bmcgKyBGb3J0YmlsZHVuZyBnZXNhbXQnLCBlaW5oZWl0OidUYWdlJywgZm46ZnVuY3Rpb24ocyl7 +cmV0dXJuIHMubGVocmdhbmd8fDA7fSB9CiAgICBdOwoKICAgIGZ1bmN0aW9uIF9hbGxlS2FjaGVs +bigpIHsKICAgICAgICB2YXIgYXJyID0gKFouYWRtaW4gJiYgWi5hZG1pbi5zdGF0aXN0aWtLYWNo +ZWxuKSB8fCBbXTsKICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShhcnIpID8gYXJyIDogW107 +CiAgICB9CiAgICBmdW5jdGlvbiBfbGF5b3V0TGlzdGUoKSB7CiAgICAgICAgdmFyIGFyciA9ICha +LmFkbWluICYmIFouYWRtaW4uc3RhdGlzdGlrTGF5b3V0KSB8fCBbXTsKICAgICAgICByZXR1cm4g +QXJyYXkuaXNBcnJheShhcnIpID8gYXJyIDogW107CiAgICB9CiAgICBmdW5jdGlvbiBtZXRyaWtG +aW5kZW4oa2V5KSB7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBCQVVLQVNURU5fTUVUUklL +RU4ubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKEJBVUtBU1RFTl9NRVRSSUtFTltpXS5r +ZXkgPT09IGtleSkgcmV0dXJuIEJBVUtBU1RFTl9NRVRSSUtFTltpXTsKICAgICAgICB9CiAgICAg +ICAgcmV0dXJuIG51bGw7CiAgICB9CiAgICBmdW5jdGlvbiBfZGVmYXVsdEJyZWl0ZShpZCkgewog +ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgQlVJTFRJTl9USUxFUy5sZW5ndGg7IGkrKykgewog +ICAgICAgICAgICBpZiAoQlVJTFRJTl9USUxFU1tpXS5pZCA9PT0gaWQpIHJldHVybiBCVUlMVElO +X1RJTEVTW2ldLmRlZmF1bHRCcmVpdGU7CiAgICAgICAgfQogICAgICAgIHJldHVybiAnaGFsYic7 +IC8vIEJhdWthc3Rlbi1LYWNoZWxuOiBEZWZhdWx0IGhhbGJlIEJyZWl0ZQogICAgfQogICAgZnVu +Y3Rpb24gX2JyZWl0ZUNsYW1wKGJyZWl0ZSwgbWluQnJlaXRlKSB7CiAgICAgICAgaWYgKCFCUkVJ +VEVfU1BBTlticmVpdGVdKSBicmVpdGUgPSAndm9sbCc7CiAgICAgICAgaWYgKCFCUkVJVEVfU1BB +TlttaW5CcmVpdGVdKSBtaW5CcmVpdGUgPSAnZHJpdHRlbCc7CiAgICAgICAgcmV0dXJuIChCUkVJ +VEVfUkFOR1ticmVpdGVdIDwgQlJFSVRFX1JBTkdbbWluQnJlaXRlXSkgPyBtaW5CcmVpdGUgOiBi +cmVpdGU7CiAgICB9CgogICAgLy8gIldlciItRmlsdGVyIGVpbmVyIEthY2hlbCBhbndlbmRlbi4K +ICAgIGZ1bmN0aW9uIF9rYWNoZWxGaWx0ZXJuKHN0YXRzLCB3ZXIpIHsKICAgICAgICB3ZXIgPSB3 +ZXIgfHwgeyB0eXA6ICdhbGxlJyB9OwogICAgICAgIGlmICh3ZXIudHlwID09PSAnZ3J1cHBlJykg +ICByZXR1cm4gc3RhdHMuZmlsdGVyKGZ1bmN0aW9uKHMpeyByZXR1cm4gcy5ncnVwcGUgPT09IHdl +ci53ZXJ0OyB9KTsKICAgICAgICBpZiAod2VyLnR5cCA9PT0gJ2Z1bmt0aW9uJykgcmV0dXJuIHN0 +YXRzLmZpbHRlcihmdW5jdGlvbihzKXsgcmV0dXJuIFN0cmluZyhzLmZ1bmt0aW9uIHx8ICcnKSA9 +PT0gU3RyaW5nKHdlci53ZXJ0KTsgfSk7CiAgICAgICAgcmV0dXJuIHN0YXRzOwogICAgfQogICAg +ZnVuY3Rpb24gX3dlckxhYmVsKHdlcikgewogICAgICAgIHdlciA9IHdlciB8fCB7IHR5cDogJ2Fs +bGUnIH07CiAgICAgICAgaWYgKHdlci50eXAgPT09ICdncnVwcGUnKSB7CiAgICAgICAgICAgIHZh +ciBnID0gKChaLmFkbWluLmdydXBwZW4gfHwgW10pLmZpbHRlcihmdW5jdGlvbih4KXsgcmV0dXJu +IHgubmFtZSA9PT0gd2VyLndlcnQ7IH0pWzBdKTsKICAgICAgICAgICAgcmV0dXJuICdHcnVwcGUg +JyArIChnID8gKGcuYmV6ZWljaG51bmcgfHwgZy5uYW1lKSA6IHdlci53ZXJ0KTsKICAgICAgICB9 +CiAgICAgICAgaWYgKHdlci50eXAgPT09ICdmdW5rdGlvbicpIHJldHVybiAnRnVua3Rpb24gJyAr +IHdlci53ZXJ0OwogICAgICAgIHJldHVybiAnQWxsZSc7CiAgICB9CgogICAgLy8gSG9yaXpvbnRh +bGVzIEJhbGtlbi1SYW5raW5nIGVpbmVyIEJhdWthc3Rlbi1LYWNoZWwgcmVuZGVybiAocmVpbmUK +ICAgIC8vIEhUTUwtRXJ6ZXVndW5nLCB3aWVkZXJ2ZXJ3ZW5kZXQgZGllIGJlc3RlaGVuZGVuIC5z +dGF0cy1iYWxrZW4tKi1TdGlsZSkuCiAgICBmdW5jdGlvbiBfa2FjaGVsRXJnZWJuaXNIdG1sKGth +Y2hlbCwgc3RhdHMpIHsKICAgICAgICB2YXIgbWV0cmlrID0gbWV0cmlrRmluZGVuKGthY2hlbC5t +ZXRyaWspOwogICAgICAgIGlmICghbWV0cmlrKSB7CiAgICAgICAgICAgIHJldHVybiAnPGRpdiBj +bGFzcz0iYWRtaW4tZW1wdHkiPjxkaXYgY2xhc3M9ImFkbWluLWVtcHR5LXRleHQiPlVuYmVrYW5u +dGUgTWV0cmlrIOKAnicgKyBlc2NhcGVIVE1MKGthY2hlbC5tZXRyaWsgfHwgJycpICsgJyIuPC9k +aXY+PC9kaXY+JzsKICAgICAgICB9CiAgICAgICAgaWYgKCFzdGF0cyB8fCAhc3RhdHMubGVuZ3Ro +KSB7CiAgICAgICAgICAgIHJldHVybiAnPGRpdiBjbGFzcz0iYWRtaW4tZW1wdHkiPjxkaXYgY2xh +c3M9ImFkbWluLWVtcHR5LXRleHQiPk5vY2gga2VpbmUgU3RhdGlzdGlrLURhdGVuIGdlbGFkZW4u +PC9kaXY+PC9kaXY+JzsKICAgICAgICB9CiAgICAgICAgdmFyIHJvd3MgPSBfa2FjaGVsRmlsdGVy +bihzdGF0cywga2FjaGVsLndlcikubWFwKGZ1bmN0aW9uKHMpeyByZXR1cm4geyBzOiBzLCB3ZXJ0 +OiBtZXRyaWsuZm4ocykgfHwgMCB9OyB9KTsKICAgICAgICB2YXIgc29ydCA9IGthY2hlbC5zb3J0 +IHx8ICdkZXNjJzsKICAgICAgICByb3dzLnNvcnQoZnVuY3Rpb24oYSwgYil7CiAgICAgICAgICAg +IGlmIChzb3J0ID09PSAnbmFtZScpIHJldHVybiBfc3RhdEFuemVpZ2VOYW1lKGEucykubG9jYWxl +Q29tcGFyZShfc3RhdEFuemVpZ2VOYW1lKGIucyksICdkZScpOwogICAgICAgICAgICBpZiAoYS53 +ZXJ0ICE9PSBiLndlcnQpIHJldHVybiBzb3J0ID09PSAnYXNjJyA/IGEud2VydCAtIGIud2VydCA6 +IGIud2VydCAtIGEud2VydDsKICAgICAgICAgICAgcmV0dXJuIF9zdGF0QW56ZWlnZU5hbWUoYS5z +KS5sb2NhbGVDb21wYXJlKF9zdGF0QW56ZWlnZU5hbWUoYi5zKSwgJ2RlJyk7CiAgICAgICAgfSk7 +CiAgICAgICAgdmFyIHRvcE4gPSBrYWNoZWwudG9wTiB8fCAwOwogICAgICAgIGlmICh0b3BOID4g +MCkgcm93cyA9IHJvd3Muc2xpY2UoMCwgdG9wTik7CiAgICAgICAgaWYgKCFyb3dzLmxlbmd0aCkg +ewogICAgICAgICAgICByZXR1cm4gJzxkaXYgY2xhc3M9ImFkbWluLWVtcHR5Ij48ZGl2IGNsYXNz +PSJhZG1pbi1lbXB0eS10ZXh0Ij5LZWluZSBQZXJzb25lbiBpbSBnZXfDpGhsdGVuIEZpbHRlci48 +L2Rpdj48L2Rpdj4nOwogICAgICAgIH0KICAgICAgICB2YXIgbWF4ViA9IE1hdGgubWF4LmFwcGx5 +KG51bGwsIHJvd3MubWFwKGZ1bmN0aW9uKHIpeyByZXR1cm4gci53ZXJ0OyB9KSkgfHwgMTsKICAg +ICAgICB2YXIga29wZiA9ICc8ZGl2IGNsYXNzPSJzdGF0cy1iYWxrZW4ta29wZiI+JyArCiAgICAg +ICAgICAgICc8ZGl2IGNsYXNzPSJzdGF0cy1iYWxrZW4tbmFtZSI+PC9kaXY+JyArCiAgICAgICAg +ICAgICc8ZGl2IGNsYXNzPSJzdGF0cy1iYWxrZW4tYmFyLXdyYXAiPjxzcGFuIGNsYXNzPSJzdGF0 +cy1iYWxrZW4ta29wZi1sYWJlbCI+JyArIGVzY2FwZUhUTUwobWV0cmlrLmxhYmVsKSArICc8L3Nw +YW4+PC9kaXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJzdGF0cy1iYWxrZW4tdG90YWwi +PjxzcGFuIGNsYXNzPSJzdGF0cy1iYWxrZW4ta29wZi1sYWJlbCI+JyArIGVzY2FwZUhUTUwobWV0 +cmlrLmVpbmhlaXQgfHwgJycpICsgKHNvcnQgPT09ICdhc2MnID8gJyDihpEnIDogJyDihpMnKSAr +ICc8L3NwYW4+PC9kaXY+JyArCiAgICAgICAgICAgICc8L2Rpdj4nOwogICAgICAgIHZhciByYW5n +ID0gMDsKICAgICAgICB2YXIgemVpbGVuID0gcm93cy5tYXAoZnVuY3Rpb24ocil7CiAgICAgICAg +ICAgIHJhbmcrKzsKICAgICAgICAgICAgdmFyIGJyZWl0ZSA9IChyLndlcnQgLyBtYXhWKSAqIDEw +MDsKICAgICAgICAgICAgcmV0dXJuICc8ZGl2IGNsYXNzPSJzdGF0cy1iYWxrZW4temVpbGUiPicg +KwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InN0YXRzLWJhbGtlbi1uYW1lIiB0aXRsZT0i +JyArIGVzY2FwZUF0dHIoX3N0YXRBbnplaWdlTmFtZShyLnMpKSArICciPjxzcGFuIGNsYXNzPSJz +dGF0cy1iay1yYW5nIj4nICsgcmFuZyArICcuPC9zcGFuPiAnICsgZXNjYXBlSFRNTChfc3RhdEFu +emVpZ2VOYW1lKHIucykpICsgJzwvZGl2PicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9 +InN0YXRzLWJhbGtlbi1iYXItd3JhcCI+PGRpdiBjbGFzcz0ic3RhdHMtYmFsa2VuLXNlZ21lbnQi +IHN0eWxlPSJ3aWR0aDonICsgYnJlaXRlICsgJyU7YmFja2dyb3VuZDp2YXIoLS1iZy1wcmltYXJ5 +KSIgdGl0bGU9IicgKyBlc2NhcGVBdHRyKG1ldHJpay5sYWJlbCArICc6ICcgKyByLndlcnQpICsg +JyI+JyArIChyLndlcnQgPiAwID8gci53ZXJ0IDogJycpICsgJzwvZGl2PjwvZGl2PicgKwogICAg +ICAgICAgICAgICAgJzxkaXYgY2xhc3M9InN0YXRzLWJhbGtlbi10b3RhbCI+JyArIHIud2VydCAr +ICc8L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8L2Rpdj4nOwogICAgICAgIH0pLmpvaW4oJycp +OwogICAgICAgIHJldHVybiAnPGRpdiBjbGFzcz0ic3RhdHMtYmFsa2VuLWNvbnRhaW5lciI+JyAr +IGtvcGYgKyB6ZWlsZW4gKyAnPC9kaXY+JzsKICAgIH0KCiAgICAvLyBCYXVrYXN0ZW4tUGFuZWxz +IGltICNzdGF0cy1ncmlkIGFubGVnZW4vYWt0dWFsaXNpZXJlbi9lbnRmZXJuZW4uCiAgICBmdW5j +dGlvbiBjdXN0b21LYWNoZWxuUmVuZGVybigpIHsKICAgICAgICB2YXIgZ3JpZCA9IGRvY3VtZW50 +LmdldEVsZW1lbnRCeUlkKCdzdGF0cy1ncmlkJyk7CiAgICAgICAgaWYgKCFncmlkKSByZXR1cm47 +CiAgICAgICAgdmFyIHN0YXRzID0gWi5zdGF0aXN0aWsgfHwgW107CiAgICAgICAgdmFyIGthY2hl +bG4gPSBfYWxsZUthY2hlbG4oKTsKICAgICAgICB2YXIgZ2V3b2xsdCA9IHt9OwogICAgICAgIGth +Y2hlbG4uZm9yRWFjaChmdW5jdGlvbihrKXsgaWYgKGsgJiYgay5pZCkgZ2V3b2xsdFtrLmlkXSA9 +IHRydWU7IH0pOwogICAgICAgIC8vIFZlcndhaXN0ZSBDdXN0b20tUGFuZWxzIGVudGZlcm5lbiAo +S2FjaGVsIGdlbG9lc2NodCkuCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZ3Jp +ZC5xdWVyeVNlbGVjdG9yQWxsKCcuc3RhdHMtcGFuZWxbZGF0YS1rYWNoZWw9IjEiXScpKS5mb3JF +YWNoKGZ1bmN0aW9uKHApewogICAgICAgICAgICBpZiAoIWdld29sbHRbcC5nZXRBdHRyaWJ1dGUo +J2RhdGEtdGlsZS1pZCcpXSkgcC5yZW1vdmUoKTsKICAgICAgICB9KTsKICAgICAgICBrYWNoZWxu +LmZvckVhY2goZnVuY3Rpb24oayl7CiAgICAgICAgICAgIGlmICghayB8fCAhay5pZCkgcmV0dXJu +OwogICAgICAgICAgICB2YXIgcGFuZWwgPSBudWxsOwogICAgICAgICAgICB2YXIgdm9yaGFuZGVu +ZSA9IGdyaWQucXVlcnlTZWxlY3RvckFsbCgnLnN0YXRzLXBhbmVsW2RhdGEta2FjaGVsPSIxIl0n +KTsKICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2b3JoYW5kZW5lLmxlbmd0aDsgaSsr +KSB7CiAgICAgICAgICAgICAgICBpZiAodm9yaGFuZGVuZVtpXS5nZXRBdHRyaWJ1dGUoJ2RhdGEt +dGlsZS1pZCcpID09PSBrLmlkKSB7IHBhbmVsID0gdm9yaGFuZGVuZVtpXTsgYnJlYWs7IH0KICAg +ICAgICAgICAgfQogICAgICAgICAgICBpZiAoIXBhbmVsKSB7CiAgICAgICAgICAgICAgICBwYW5l +bCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgICAgICAgICAgcGFuZWwu +Y2xhc3NOYW1lID0gJ3N0YXRzLXBhbmVsJzsKICAgICAgICAgICAgICAgIHBhbmVsLnNldEF0dHJp +YnV0ZSgnZGF0YS10aWxlLWlkJywgay5pZCk7CiAgICAgICAgICAgICAgICBwYW5lbC5zZXRBdHRy +aWJ1dGUoJ2RhdGEta2FjaGVsJywgJzEnKTsKICAgICAgICAgICAgICAgIHBhbmVsLnNldEF0dHJp +YnV0ZSgnZGF0YS1taW4tYnJlaXRlJywgJ2RyaXR0ZWwnKTsKICAgICAgICAgICAgICAgIGdyaWQu +YXBwZW5kQ2hpbGQocGFuZWwpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBpc3RWMiA9 +IChrLmRpYWdyYW1tICE9IG51bGwpOwogICAgICAgICAgICB2YXIgdW50ZXJ6ZWlsZSA9IGlzdFYy +ID8gJycgOiBfd2VyTGFiZWwoay53ZXIpOwogICAgICAgICAgICBwYW5lbC5pbm5lckhUTUwgPQog +ICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InN0YXRzLXBhbmVsLWtvcGYiPicgKwogICAgICAg +ICAgICAgICAgICAgICc8aDM+PHNwYW4gY2xhc3M9InN0YXRzLWJrLWJhZGdlIiB0aXRsZT0iU2Vs +YnN0Z2ViYXV0ZSBTdGF0aXN0aWstS2FjaGVsIj5CYXVrYXN0ZW48L3NwYW4+ICcgKyBlc2NhcGVI +VE1MKGsudGl0ZWwgfHwgJ0VpZ2VuZSBTdGF0aXN0aWsnKSArICc8L2gzPicgKwogICAgICAgICAg +ICAgICAgICAgICh1bnRlcnplaWxlID8gJzxzcGFuIGNsYXNzPSJzdGF0cy1iay13ZXIiPicgKyBl +c2NhcGVIVE1MKHVudGVyemVpbGUpICsgJzwvc3Bhbj4nIDogJycpICsKICAgICAgICAgICAgICAg +ICc8L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJzdGF0cy1jaGFydC1hcmVh +Ij4nICsgKGlzdFYyID8gX2thY2hlbFYySHRtbChrKSA6IF9rYWNoZWxFcmdlYm5pc0h0bWwoaywg +c3RhdHMpKSArICc8L2Rpdj4nOwogICAgICAgIH0pOwogICAgfQoKICAgIC8vIFNwZWMtdjItS2Fj +aGVsIChtZWhyZGltZW5zaW9uYWwpIHVlYmVyIEVuZ2luZSArIG5hdGl2ZSBTVkctQ2hhcnRzIHJl +bmRlcm4uCiAgICBmdW5jdGlvbiBfa2FjaGVsVjJIdG1sKGspIHsKICAgICAgICB0cnkgewogICAg +ICAgICAgICB2YXIgZXJnID0gYXVzd2VydGVuKGspOwogICAgICAgICAgICBpZiAoX3N0YXRBbm9u +QWt0aXYpIGVyZyA9IF9hbm9uRXJnZWJuaXMoZXJnKTsKICAgICAgICAgICAgcmV0dXJuIGRpYWdy +YW1tUmVuZGVybihrLmRpYWdyYW1tLCBlcmcsIGspOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAg +ICAgICAgICAgdHJ5IHsgY29uc29sZS5lcnJvcignW3N0YXRpc3Rpay1rYWNoZWxdJywgZSk7IH0g +Y2F0Y2ggKF8pIHt9CiAgICAgICAgICAgIHJldHVybiAnPGRpdiBjbGFzcz0iYWRtaW4tZW1wdHki +PjxkaXYgY2xhc3M9ImFkbWluLWVtcHR5LXRleHQiPkZlaGxlciBiZWltIEJhdWVuOiAnICsgZXNj +YXBlSFRNTChlLm1lc3NhZ2UgfHwgU3RyaW5nKGUpKSArICc8L2Rpdj48L2Rpdj4nOwogICAgICAg +IH0KICAgIH0KICAgIC8vIFBlcnNvbmVuLUxhYmVscyBpbSBFcmdlYm5pcyBhbm9ueW1pc2llcmVu +IChzdGF0aXN0aWtBbm9ueW0pLiBHcmVpZnQgbnVyCiAgICAvLyBiZWkgUGVyc29uZW4tRGltZW5z +aW9uL1NjYXR0ZXIg4oCUIGFuZGVyZSBMYWJlbHMgc2luZCBuaWNodCBpbiBfc3RhdEFub25NYXAu +CiAgICBmdW5jdGlvbiBfYW5vbkVyZ2VibmlzKGVyZykgewogICAgICAgIGZ1bmN0aW9uIG0obCkg +eyByZXR1cm4gX3N0YXRBbm9uTWFwW2xdIHx8IGw7IH0KICAgICAgICBpZiAoZXJnLmthdGVnb3Jp +ZW4pIGVyZy5rYXRlZ29yaWVuID0gZXJnLmthdGVnb3JpZW4ubWFwKGZ1bmN0aW9uKGMpeyByZXR1 +cm4geyBrZXk6IGMua2V5LCBsYWJlbDogbShjLmxhYmVsKSB9OyB9KTsKICAgICAgICBpZiAoZXJn +LnNlcmllbikgICAgIGVyZy5zZXJpZW4gICAgID0gZXJnLnNlcmllbi5tYXAoZnVuY3Rpb24ocyl7 +IHJldHVybiB7IG5hbWU6IG0ocy5uYW1lKSwgd2VydGU6IHMud2VydGUgfTsgfSk7CiAgICAgICAg +aWYgKGVyZy5wdW5rdGUpICAgICBlcmcucHVua3RlICAgICA9IGVyZy5wdW5rdGUubWFwKGZ1bmN0 +aW9uKHApeyByZXR1cm4geyBsYWJlbDogbShwLmxhYmVsKSwgeDogcC54LCB5OiBwLnkgfTsgfSk7 +CiAgICAgICAgcmV0dXJuIGVyZzsKICAgIH0KCiAgICAvLyBSZWloZW5mb2xnZSArIEJyZWl0ZSAr +IFNpY2h0YmFya2VpdCBhbGxlciBUaWxlcyBhdXMgc3RhdGlzdGlrTGF5b3V0CiAgICAvLyBhbndl +bmRlbi4gUmVjaHRlLWJhc2llcnRlcyBWZXJzdGVja2VuIChpbmxpbmUgZGlzcGxheTpub25lLCBp +bgogICAgLy8gX3N0YXRpc3Rpa1JlbmRlcm5JbnRlcm4gZ2VzZXR6dCkgYmxlaWJ0IHVuYW5nZXRh +c3RldCDigJQgZGFzIFNVLUxheW91dAogICAgLy8gZGFyZiBlaW4gcmVjaHRlLWdlc3BlcnJ0ZXMg +UGFuZWwgTklDSFQgc2ljaHRiYXIgc2NoYWx0ZW47IGRlc2hhbGIgbGFldWZ0CiAgICAvLyBkaWUg +TGF5b3V0LVNpY2h0YmFya2VpdCB1ZWJlciBkaWUgS2xhc3NlIC50aWxlLXZlcnN0ZWNrdC4KICAg +IGZ1bmN0aW9uIGxheW91dEFud2VuZGVuKCkgewogICAgICAgIHZhciBncmlkID0gZG9jdW1lbnQu +Z2V0RWxlbWVudEJ5SWQoJ3N0YXRzLWdyaWQnKTsKICAgICAgICBpZiAoIWdyaWQpIHJldHVybjsK +ICAgICAgICB2YXIgbGF5b3V0ID0gX2xheW91dExpc3RlKCk7CiAgICAgICAgdmFyIGJyZWl0ZVZv +biA9IHt9LCBzaWNodGJhclZvbiA9IHt9OwogICAgICAgIGxheW91dC5mb3JFYWNoKGZ1bmN0aW9u +KGUpewogICAgICAgICAgICBpZiAoIWUgfHwgIWUuaWQpIHJldHVybjsKICAgICAgICAgICAgYnJl +aXRlVm9uW2UuaWRdICAgPSBlLmJyZWl0ZTsKICAgICAgICAgICAgc2ljaHRiYXJWb25bZS5pZF0g +PSAoZS5zaWNodGJhciAhPT0gZmFsc2UpOwogICAgICAgIH0pOwogICAgICAgIHZhciBhbGxlID0g +QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZ3JpZC5xdWVyeVNlbGVjdG9yQWxsKCcuc3RhdHMt +cGFuZWwnKSk7CiAgICAgICAgdmFyIGJ5SWQgPSB7fTsKICAgICAgICBhbGxlLmZvckVhY2goZnVu +Y3Rpb24ocCl7IGJ5SWRbcC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGlsZS1pZCcpXSA9IHA7IH0pOwog +ICAgICAgIC8vIDEpIEdlbGlzdGV0ZSBQYW5lbHMgaW4gTGF5b3V0LVJlaWhlbmZvbGdlIGFucyBF +bmRlIHNjaGllYmVuLgogICAgICAgIHZhciBnZXNldHp0ID0ge307CiAgICAgICAgbGF5b3V0LmZv +ckVhY2goZnVuY3Rpb24oZSl7CiAgICAgICAgICAgIHZhciBwID0gYnlJZFtlLmlkXTsKICAgICAg +ICAgICAgaWYgKHApIHsgZ3JpZC5hcHBlbmRDaGlsZChwKTsgZ2VzZXR6dFtlLmlkXSA9IHRydWU7 +IH0KICAgICAgICB9KTsKICAgICAgICAvLyAyKSBOaWNodC1nZWxpc3RldGUgKG5ldWUgS2FjaGVs +IC8gRXJzdHN0YXJ0KSBpbiBET00tUmVpaGVuZm9sZ2UgZGFoaW50ZXIuCiAgICAgICAgYWxsZS5m +b3JFYWNoKGZ1bmN0aW9uKHApewogICAgICAgICAgICB2YXIgaWQgPSBwLmdldEF0dHJpYnV0ZSgn +ZGF0YS10aWxlLWlkJyk7CiAgICAgICAgICAgIGlmICghZ2VzZXR6dFtpZF0pIGdyaWQuYXBwZW5k +Q2hpbGQocCk7CiAgICAgICAgfSk7CiAgICAgICAgLy8gMykgQnJlaXRlICsgU2ljaHRiYXJrZWl0 +IHNldHplbi4KICAgICAgICBhbGxlLmZvckVhY2goZnVuY3Rpb24ocCl7CiAgICAgICAgICAgIHZh +ciBpZCA9IHAuZ2V0QXR0cmlidXRlKCdkYXRhLXRpbGUtaWQnKTsKICAgICAgICAgICAgdmFyIG1p +bkIgPSBwLmdldEF0dHJpYnV0ZSgnZGF0YS1taW4tYnJlaXRlJykgfHwgJ2RyaXR0ZWwnOwogICAg +ICAgICAgICB2YXIgYnJlaXRlID0gX2JyZWl0ZUNsYW1wKGJyZWl0ZVZvbltpZF0gfHwgX2RlZmF1 +bHRCcmVpdGUoaWQpLCBtaW5CKTsKICAgICAgICAgICAgcC5zdHlsZS5ncmlkQ29sdW1uID0gJ3Nw +YW4gJyArIEJSRUlURV9TUEFOW2JyZWl0ZV07CiAgICAgICAgICAgIHAuc2V0QXR0cmlidXRlKCdk +YXRhLWJyZWl0ZScsIGJyZWl0ZSk7CiAgICAgICAgICAgIHZhciBzaWNodGJhciA9IChpZCBpbiBz +aWNodGJhclZvbikgPyBzaWNodGJhclZvbltpZF0gOiB0cnVlOwogICAgICAgICAgICBpZiAoc2lj +aHRiYXIpIHAuY2xhc3NMaXN0LnJlbW92ZSgndGlsZS12ZXJzdGVja3QnKTsKICAgICAgICAgICAg +ZWxzZSBwLmNsYXNzTGlzdC5hZGQoJ3RpbGUtdmVyc3RlY2t0Jyk7CiAgICAgICAgfSk7CiAgICB9 +CgogICAgLy8gVGlsZS1VZWJlcnNpY2h0IGZ1ZXIgZGFzIEFkbWluLUxheW91dC1SYXN0ZXIgKGZl +c3RlIFBhbmVscyArIEJhdWthc3RlbiksCiAgICAvLyBqZXdlaWxzIHtpZCwgdGl0ZWwsIG1pbkJy +ZWl0ZSwgaXN0S2FjaGVsfS4gYWRtaW5fc3RhdGlzdGlrLmpzIG1pc2NodCBkYXMKICAgIC8vIG1p +dCBaLmFkbWluLnN0YXRpc3Rpa0xheW91dCAoUmVpaGVuZm9sZ2UvQnJlaXRlL1NpY2h0YmFya2Vp +dCkuCiAgICBmdW5jdGlvbiBzdGF0aXN0aWtUaWxlc0FsbGUoKSB7CiAgICAgICAgdmFyIG91dCA9 +IEJVSUxUSU5fVElMRVMubWFwKGZ1bmN0aW9uKHQpewogICAgICAgICAgICByZXR1cm4geyBpZDog +dC5pZCwgdGl0ZWw6IHQudGl0ZWwsIG1pbkJyZWl0ZTogdC5taW5CcmVpdGUsIGRlZmF1bHRCcmVp +dGU6IHQuZGVmYXVsdEJyZWl0ZSwgaXN0S2FjaGVsOiBmYWxzZSB9OwogICAgICAgIH0pOwogICAg +ICAgIF9hbGxlS2FjaGVsbigpLmZvckVhY2goZnVuY3Rpb24oayl7CiAgICAgICAgICAgIG91dC5w +dXNoKHsgaWQ6IGsuaWQsIHRpdGVsOiAoay50aXRlbCB8fCAnRWlnZW5lIFN0YXRpc3RpaycpLCBt +aW5CcmVpdGU6ICdkcml0dGVsJywgZGVmYXVsdEJyZWl0ZTogJ2hhbGInLCBpc3RLYWNoZWw6IHRy +dWUgfSk7CiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIG91dDsKICAgIH0KCiAgICBmdW5jdGlv +biBzdGF0aXN0aWtSZW5kZXJuKCkgewogICAgICAgIGlmICghWi5zdGF0aXN0aWspIHJldHVybjsK +ICAgICAgICB0cnkgewogICAgICAgICAgICBfc3RhdGlzdGlrUmVuZGVybkludGVybigpOwogICAg +ICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgcmVuZGVyRXJyb3JCb3goZG9jdW1lbnQuZ2V0 +RWxlbWVudEJ5SWQoJ2Fuc2ljaHQtc3RhdGlzdGlrJyksIGUsICdTdGF0aXN0aWsnKTsKICAgICAg +ICB9CiAgICB9CiAgICBmdW5jdGlvbiBfc3RhdGlzdGlrUmVuZGVybkludGVybigpIHsKICAgICAg +ICAvLyBDYWNoZSBmdWVyIF90ZWFtRGF0ZW4oKSBpbnZhbGlkaWVyZW4g4oCUIEZpbHRlci9TdGFi +LVdlY2hzZWwKICAgICAgICAvLyBrb2VubmVuIGRpZSBEYXRlbiBiZWVpbmZsdXNzZW4uIElubmVy +aGFsYiBkZXMgUmVuZGVyLUxhdWZzIHdpcmQKICAgICAgICAvLyBkYW5uIG51ciBlaW5tYWwgYmVy +ZWNobmV0IHVuZCBhbiBtaWtyb3RlYW0gKyBwcm9zYSBhdXNnZWdlYmVuLgogICAgICAgIF9zdGF0 +VGVhbURhdGVuQ2FjaGUgPSBudWxsOwogICAgICAgIHZhciBzdGF0cyA9IHN0YXRGaWx0ZXJuKFou +c3RhdGlzdGlrKTsKCiAgICAgICAgLy8gQW5vbnltaXNpZXJ1bmdzLU1hcHBpbmcgYXVmYmF1ZW4s +IGZhbGxzIFRvZ2dsZSBha3Rpdi4gSW5kZXggYmFzaWVydAogICAgICAgIC8vIGF1ZiBnZWZpbHRl +cnRlciBSZWloZW5mb2xnZSwgZGFtaXQgUGVyc29uLU51bW1lcm4gYXVjaCBiZWkKICAgICAgICAv +LyBHcnVwcGVuZmlsdGVyIGtvbnNpc3RlbnQgZHVyY2hnZXphZWhsdCBzaW5kLgogICAgICAgIF9z +dGF0QW5vbkFrdGl2ID0gZmVhdHVyZUlzdEFrdGl2KCdzdGF0aXN0aWtBbm9ueW0nKTsKICAgICAg +ICBfc3RhdEFub25NYXAgPSB7fTsKICAgICAgICBpZiAoX3N0YXRBbm9uQWt0aXYpIHsKICAgICAg +ICAgICAgc3RhdHMuZm9yRWFjaChmdW5jdGlvbihzLCBpZHgpIHsgX3N0YXRBbm9uTWFwW3MubmFt +ZV0gPSAnUGVyc29uICcgKyAoaWR4ICsgMSk7IH0pOwogICAgICAgIH0KCiAgICAgICAgLy8gS1BJ +LVN1bW1lbiBlaW5tYWwgdm9yYWIg4oCUIHdpcmQgZ2xlaWNoIHZvbSBLUEktU2Nocml0dCBnZW51 +dHp0LgogICAgICAgIHZhciBzdW1GID0gMCwgc3VtUyA9IDAsIHN1bU4gPSAwLCBzdW1Tb24gPSAw +OwogICAgICAgIHZhciBzdW1EZ2wgPSAwLCBzdW1XZGYgPSAwLCBzdW1GYnAgPSAwOwogICAgICAg +IHZhciBzdW1VcmwgPSAwLCBzdW1XRSA9IDAsIHN1bUdlcyA9IDA7CiAgICAgICAgdmFyIHN1bUxn +ID0gMCwgc3VtQXphID0gMDsKICAgICAgICBzdGF0cy5mb3JFYWNoKGZ1bmN0aW9uKHMpIHsKICAg +ICAgICAgICAgc3VtRiArPSBzLmZydWVoOyBzdW1TICs9IHMuc3BhZXQ7IHN1bU4gKz0gcy5uYWNo +dDsKICAgICAgICAgICAgc3VtU29uICs9IChzLnNvbmRlcmRpZW5zdCB8fCAwKTsKICAgICAgICAg +ICAgc3VtRGdsICs9IChzLmRnbCB8fCAwKTsgc3VtV2RmICs9IChzLndkZiB8fCAwKTsgc3VtRmJw +ICs9IChzLmZicCB8fCAwKTsKICAgICAgICAgICAgc3VtVXJsICs9IHMudXJsYXViOwogICAgICAg +ICAgICBzdW1XRSArPSBzLndvY2hlbmVuZFRhZ2U7IHN1bUdlcyArPSBzLmdlc2FtdDsKICAgICAg +ICAgICAgc3VtTGcgKz0gcy5sZWhyZ2FuZzsgc3VtQXphICs9IChzLmF6QXVzZ2xlaWNoIHx8IDAp +OwogICAgICAgIH0pOwoKICAgICAgICAvLyBTaWNodGJhcmtlaXQvUmVjaHRlIGplIFBhbmVsIGlt +IFZvcmF1cyBiZXN0aW1tZW4uCiAgICAgICAgdmFyIGtwaUVsICAgICAgID0gZG9jdW1lbnQuZ2V0 +RWxlbWVudEJ5SWQoJ3N0YXRzLWtwaXMnKTsKICAgICAgICB2YXIgYmFsa2VuRWwgICAgPSBkb2N1 +bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhdHMtY2hhcnQtYmFsa2VuJyk7CiAgICAgICAgdmFyIGZh +aXJuZXNzRWwgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0YXRzLWZhaXJuZXNzJyk7CiAg +ICAgICAgdmFyIHRlYW1FbCAgICAgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0YXRzLXRl +YW0taGVhdG1hcCcpOwogICAgICAgIHZhciBuZWJlbkVsICAgICA9IGRvY3VtZW50LmdldEVsZW1l +bnRCeUlkKCdzdGF0cy10ZWFtLWhlYXRtYXAtbmViZW4nKTsKICAgICAgICB2YXIgdGVhbUJhbGtl +bkVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0YXRzLXRlYW0tYmFsa2VuJyk7CiAgICAg +ICAgdmFyIHByb3NhRWwgICAgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0YXRzLXByb3Nh +Jyk7CiAgICAgICAgdmFyIGRldGFpbEVsICAgID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnN0 +YXRzLWRldGFpbHMnKTsKCiAgICAgICAgdmFyIGtwaU9uICAgICAgICA9ICEha3BpRWwgICAgICAm +JiBkYXJmU3RhdGlzdGlrU3ViKCdzdGF0S3BpcycpOwogICAgICAgIHZhciB2ZXJ0ZWlsdW5nT24g +PSAhIWJhbGtlbkVsICAgJiYgZGFyZlN0YXRpc3Rpa1N1Yignc3RhdFNjaGljaHR2ZXJ0ZWlsdW5n +Jyk7CiAgICAgICAgdmFyIGZhaXJuZXNzT24gICA9ICEhZmFpcm5lc3NFbCAmJiBmZWF0dXJlSXN0 +QWt0aXYoJ2ZhaXJuZXNzQW56ZWlnZScpICYmIGRhcmZTdGF0aXN0aWtTdWIoJ3N0YXRGYWlybmVz +cycpOwogICAgICAgIHZhciB0ZWFtT24gICAgICAgPSAhIXRlYW1FbCAgICAgJiYgZGFyZlN0YXRp +c3Rpa1N1Yignc3RhdEFid2VzZW5oZWl0Jyk7CiAgICAgICAgdmFyIGRldGFpbE9uICAgICA9ICEh +ZGV0YWlsRWwgICAmJiBmZWF0dXJlSXN0QWt0aXYoJ2RldGFpbFRhYmVsbGUnKSAgICYmIGRhcmZT +dGF0aXN0aWtTdWIoJ3N0YXREZXRhaWxUYWJlbGxlJyk7CgogICAgICAgIC8vIFBhbmVsLVNpY2h0 +YmFya2VpdCBzb2ZvcnQgc2V0emVuIChkaXNwbGF5Om5vbmUgZnVlciBnZXNwZXJydGUgUGFuZWxz +KS4KICAgICAgICBmdW5jdGlvbiBzZXRQYW5lbERpc3BsYXkoZWwsIG9uKSB7CiAgICAgICAgICAg +IGlmICghZWwpIHJldHVybjsKICAgICAgICAgICAgdmFyIHBhbmVsID0gZWwuY2xvc2VzdCA/IGVs +LmNsb3Nlc3QoJy5zdGF0cy1wYW5lbCcpIDogbnVsbDsKICAgICAgICAgICAgaWYgKHBhbmVsKSBw +YW5lbC5zdHlsZS5kaXNwbGF5ID0gb24gPyAnJyA6ICdub25lJzsKICAgICAgICB9CiAgICAgICAg +aWYgKGtwaUVsKSBrcGlFbC5zdHlsZS5kaXNwbGF5ID0ga3BpT24gPyAnJyA6ICdub25lJzsKICAg +ICAgICBzZXRQYW5lbERpc3BsYXkoYmFsa2VuRWwsICAgIHZlcnRlaWx1bmdPbik7CiAgICAgICAg +c2V0UGFuZWxEaXNwbGF5KGZhaXJuZXNzRWwsICBmYWlybmVzc09uKTsKICAgICAgICBzZXRQYW5l +bERpc3BsYXkodGVhbUVsLCAgICAgIHRlYW1Pbik7CiAgICAgICAgc2V0UGFuZWxEaXNwbGF5KG5l +YmVuRWwsICAgICB0ZWFtT24pOwogICAgICAgIHNldFBhbmVsRGlzcGxheSh0ZWFtQmFsa2VuRWws +IHRlYW1Pbik7CiAgICAgICAgaWYgKGRldGFpbEVsKSBkZXRhaWxFbC5zdHlsZS5kaXNwbGF5ID0g +ZGV0YWlsT24gPyAnJyA6ICdub25lJzsKCiAgICAgICAgLy8gPT09PT0gU2VxdWVudGllbGxlcyBS +ZW5kZXJuIG1pdCBTa2VsZXRvbi1IaW50ICsgR2xvdyA9PT09PQogICAgICAgIC8vCiAgICAgICAg +Ly8gSGludGVyZ3J1bmQ6IGRhcyBTdGF0aXN0aWstTW9kdWwgbGFldWZ0IGF1ZiBzY2h3YWNoZW4g +QmVob2VyZGVuLQogICAgICAgIC8vIFJlY2huZXJuIChpNS04NTAwLCA4R0IgUkFNLCBwYXJhbGxl +bCBPZmZpY2UpLiBXdWVyZGVuIGFsbGUgUGFuZWxzCiAgICAgICAgLy8gc3luY2hyb24gaW4gZWlu +ZW0gRnJhbWUgcmVuZGVybiwgYmxvY2tpZXJ0IGRpZSBVSSBiaXMgenUgMS0yIHMuCiAgICAgICAg +Ly8gU3RhdHRkZXNzZW4gZ2ViZW4gd2lyIG5hY2ggamVkZW0gUGFuZWwgZGVuIE1haW4tVGhyZWFk +IGZyZWkKICAgICAgICAvLyAoc2V0VGltZW91dCAzMCBtcyksIGRhbWl0IEJyb3dzZXIgKyBhbmRl +cmUgQXBwcyBhdG1lbiBrb2VubmVuLgogICAgICAgIC8vIERlciBVc2VyIHNpZWh0IHNvZm9ydCBl +aW5lIFNrZWxldG9uLU5hY2hyaWNodCB1bmQgZGFubiBwcm8gUGFuZWwKICAgICAgICAvLyBlaW5l +biBrdXJ6ZW4gR2xvdy1FZmZla3QsIHdlbm4gZGllIERhdGVuIHJlaW5rb21tZW4uCiAgICAgICAg +dmFyIHNjaHJpdHRlID0gW107CiAgICAgICAgaWYgKGtwaU9uKSAgICAgICAgc2Nocml0dGUucHVz +aCh7IGVsOiBrcGlFbCwgICAgcGFuZWw6IGtwaUVsLCAgICAgICAgICAgICAgICAgICBoaW50OiAn +S2VubnphaGxlbiB3ZXJkZW4gZXJtaXR0ZWx04oCmJywKICAgICAgICAgICAgYXVzZnVlaHJlbjog +ZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBrcGlFbC5pbm5lckhUTUwgPQogICAgICAgICAg +ICAgICAgICAgIGtwaUthcnRlKHN0YXRzLmxlbmd0aCwgJ1BlcnNvbmVuJywgJ3ZhcigtLXRleHQt +aGVhZGluZyknKSArCiAgICAgICAgICAgICAgICAgICAga3BpS2FydGUoc3VtR2VzLCAnRGllbnN0 +ZSBnZXNhbXQnLCAndmFyKC0tdGV4dC1oZWFkaW5nKScpICsKICAgICAgICAgICAgICAgICAgICBr +cGlLYXJ0ZShzdW1GLCAnRnLDvGhkaWVuc3RlJywgJ3ZhcigtLWZhcmJlLWZydWVoKScpICsKICAg +ICAgICAgICAgICAgICAgICBrcGlLYXJ0ZShzdW1TLCAnU3DDpHRkaWVuc3RlJywgJ3ZhcigtLWZh +cmJlLXNwYWV0KScpICsKICAgICAgICAgICAgICAgICAgICBrcGlLYXJ0ZShzdW1OLCAnTmFjaHRk +aWVuc3RlJywgJ3ZhcigtLWZhcmJlLW5hY2h0KScpICsKICAgICAgICAgICAgICAgICAgICBrcGlL +YXJ0ZShzdW1Tb24sICdTb25kZXJkaWVuc3RlJywgJ3ZhcigtLXN0YXQtc2QpJykgKwogICAgICAg +ICAgICAgICAgICAgIGtwaUthcnRlKHN1bVdFLCAnV0UtRGllbnN0ZScsICd2YXIoLS1zdGF0LXNh +bXN0YWcpJykgKwogICAgICAgICAgICAgICAgICAgIGtwaUthcnRlKHN1bVVybCwgJ1VybGF1YnN0 +YWdlJywgJ3ZhcigtLXN0YXQtdXJsYXViKScpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAg +ICAgICAgaWYgKHZlcnRlaWx1bmdPbikgc2Nocml0dGUucHVzaCh7IGVsOiBiYWxrZW5FbCwgcGFu +ZWw6IGJhbGtlbkVsLmNsb3Nlc3QoJy5zdGF0cy1wYW5lbCcpLCAgaGludDogJ1NjaGljaHR2ZXJ0 +ZWlsdW5nIHdpcmQgZ2VyZW5kZXJ04oCmJywKICAgICAgICAgICAgYXVzZnVlaHJlbjogZnVuY3Rp +b24oKSB7IGJhbGtlblNvcnRMaXN0ZW5lclNpY2hlcm4oKTsgYmFsa2VuUmVuZGVybihzdGF0cyk7 +IH0KICAgICAgICB9KTsKICAgICAgICBpZiAoZmFpcm5lc3NPbikgICBzY2hyaXR0ZS5wdXNoKHsg +ZWw6IGZhaXJuZXNzRWwsIHBhbmVsOiBmYWlybmVzc0VsLmNsb3Nlc3QoJy5zdGF0cy1wYW5lbCcp +LCBoaW50OiAnRmFpcm5lc3MtUXVvdGVuIHdlcmRlbiBiZXJlY2huZXTigKYnLAogICAgICAgICAg +ICBhdXNmdWVocmVuOiBmdW5jdGlvbigpIHsgZmFpcm5lc3NSZW5kZXJuKHN0YXRzKTsgfQogICAg +ICAgIH0pOwogICAgICAgIGlmICh0ZWFtT24pICAgICAgIHNjaHJpdHRlLnB1c2goeyBlbDogdGVh +bUVsLCBwYW5lbDogdGVhbUVsLmNsb3Nlc3QoJy5zdGF0cy1wYW5lbCcpLCAgICBoaW50OiAnTWlr +cm90ZWFtLcOcYmVyc2ljaHQgd2lyZCBhdWZnZWJhdXQgKGRhcyBrYW5uIGVpbmVuIE1vbWVudCBk +YXVlcm4p4oCmJywKICAgICAgICAgICAgZXh0cmFFbHM6IFtuZWJlbkVsLCB0ZWFtQmFsa2VuRWxd +LmZpbHRlcihCb29sZWFuKSwKICAgICAgICAgICAgZXh0cmFQYW5lbHM6IFtuZWJlbkVsLCB0ZWFt +QmFsa2VuRWxdLmZpbHRlcihCb29sZWFuKS5tYXAoZnVuY3Rpb24oZSkgeyByZXR1cm4gZS5jbG9z +ZXN0KCcuc3RhdHMtcGFuZWwnKTsgfSksCiAgICAgICAgICAgIGF1c2Z1ZWhyZW46IGZ1bmN0aW9u +KCkgeyBtaWtyb3RlYW1SZW5kZXJuKCk7IH0KICAgICAgICB9KTsKICAgICAgICBpZiAocHJvc2FF +bCkgICAgICBzY2hyaXR0ZS5wdXNoKHsgZWw6IHByb3NhRWwsIHBhbmVsOiBwcm9zYUVsLmNsb3Nl +c3QoJy5zdGF0cy1wYW5lbCcpLCAgaGludDogJ0RldGFpbGFuYWx5c2UgcHJvIFBlcnNvbiB3aXJk +IGZvcm11bGllcnTigKYnLAogICAgICAgICAgICBhdXNmdWVocmVuOiBmdW5jdGlvbigpIHsgcHJv +c2FSZW5kZXJuKHN0YXRzKTsgfQogICAgICAgIH0pOwogICAgICAgIGlmIChkZXRhaWxPbikgICAg +IHNjaHJpdHRlLnB1c2goeyBlbDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0YXRzLXRib2R5 +JyksIHBhbmVsOiBkZXRhaWxFbCwgaGludDogJ0RldGFpbHRhYmVsbGUgd2lyZCB2b3JiZXJlaXRl +dOKApicsCiAgICAgICAgICAgIGF1c2Z1ZWhyZW46IGZ1bmN0aW9uKCkgeyBkZXRhaWxUYWJlbGxl +UmVuZGVybihzdGF0cyk7IH0KICAgICAgICB9KTsKCiAgICAgICAgLy8gQmF1a2FzdGVuLUthY2hl +bG4gKHN5bmNocm9uLCBndWVuc3RpZykgKyBMYXlvdXQtUmFzdGVyIChSZWloZW5mb2xnZS8KICAg +ICAgICAvLyBCcmVpdGUvU2ljaHRiYXJrZWl0IGFsbGVyIFRpbGVzKSBhbndlbmRlbiwgQkVWT1Ig +ZGllIFRvZ2dsZS1Ib29rcwogICAgICAgIC8vIGdyZWlmZW4gKGRhbWl0IGF1Y2ggQ3VzdG9tLVBh +bmVscyBlaW4tL2F1c2tsYXBwYmFyIHNpbmQpLgogICAgICAgIGN1c3RvbUthY2hlbG5SZW5kZXJu +KCk7CiAgICAgICAgbGF5b3V0QW53ZW5kZW4oKTsKICAgICAgICBwYW5lbFRvZ2dsZUhvb2tzKCk7 +CiAgICAgICAgcGlwZWxpbmVTdGFydGVuKHNjaHJpdHRlLCArK19zdGF0UmVuZGVyUnVuSWQpOwog +ICAgfQoKICAgIC8vIE1hY2h0IGplZGVuIC5zdGF0cy1wYW5lbCBlaW56ZWxuIGVpbi0vYXVza2xh +cHBiYXIuIERlZmF1bHQ6IGFsbGUgYXVmLgogICAgLy8gS2xpY2sgYXVmIGRlbiBQYW5lbC1Lb3Bm +IChoMyBvZGVyIGZyZWllIFN0ZWxsZSkgdG9nZ2VsdDsgS2xpY2tzIGF1ZgogICAgLy8gZGVuIGkt +QnV0dG9uIG9kZXIgZGllIFNvcnQtQnV0dG9ucyB3ZXJkZW4gdWViZXIgc3RvcFByb3BhZ2F0aW9u +IGluCiAgICAvLyBkZW4gamV3ZWlsaWdlbiBIYW5kbGVybiBhYmdlZmFuZ2VuIOKAlCBoaWVyIGZp +bHRlcm4gd2lyIGRlZmVuc2l2LgogICAgZnVuY3Rpb24gcGFuZWxUb2dnbGVIb29rcygpIHsKICAg +ICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjYW5zaWNodC1zdGF0aXN0aWsgLnN0YXRz +LXBhbmVsJykuZm9yRWFjaChmdW5jdGlvbihwYW5lbCkgewogICAgICAgICAgICB2YXIga29wZiA9 +IHBhbmVsLnF1ZXJ5U2VsZWN0b3IoJy5zdGF0cy1wYW5lbC1rb3BmJyk7CiAgICAgICAgICAgIGlm +ICgha29wZiB8fCBrb3BmLmRhdGFzZXQudG9nZ2xlRmVydGlnKSByZXR1cm47CiAgICAgICAgICAg +IC8vIFBmZWlsLUluZGlrYXRvciB2b3IgZGVtIGgzIGVpbnNldHplbiAoZWlubWFsaWcpLgogICAg +ICAgICAgICB2YXIgaDMgPSBrb3BmLnF1ZXJ5U2VsZWN0b3IoJ2gzJyk7CiAgICAgICAgICAgIGlm +IChoMyAmJiAhaDMucXVlcnlTZWxlY3RvcignLnN0YXRzLXBhbmVsLXRvZ2dsZScpKSB7CiAgICAg +ICAgICAgICAgICB2YXIgcGZlaWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7CiAg +ICAgICAgICAgICAgICBwZmVpbC5jbGFzc05hbWUgPSAnc3RhdHMtcGFuZWwtdG9nZ2xlJzsKICAg +ICAgICAgICAgICAgIHBmZWlsLnRleHRDb250ZW50ID0gJ+KWvic7CiAgICAgICAgICAgICAgICBo +My5pbnNlcnRCZWZvcmUocGZlaWwsIGgzLmZpcnN0Q2hpbGQpOwogICAgICAgICAgICB9CiAgICAg +ICAgICAgIGtvcGYuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAg +ICAgICAgICAgICAvLyBTdWItS2xpY2tzIChJbmZvLUJ1dHRvbiwgU29ydC1CdXR0b25zLCBGaWx0 +ZXIpIHNvbGxlbiBkZW4KICAgICAgICAgICAgICAgIC8vIFRvZ2dsZSBuaWNodCBhdXNsb2VzZW4u +CiAgICAgICAgICAgICAgICBpZiAoZS50YXJnZXQuY2xvc2VzdCgnLnN0YXRzLWluZm8tYnRuJykp +IHJldHVybjsKICAgICAgICAgICAgICAgIGlmIChlLnRhcmdldC5jbG9zZXN0KCcuc3RhdHMta2F0 +LWJ0bicpKSAgcmV0dXJuOwogICAgICAgICAgICAgICAgaWYgKGUudGFyZ2V0LmNsb3Nlc3QoJy5z +dGF0cy1zb3J0LXJpY2h0dW5nJykpIHJldHVybjsKICAgICAgICAgICAgICAgIGlmIChlLnRhcmdl +dC5jbG9zZXN0KCdidXR0b246bm90KC5zdGF0cy1wYW5lbC10b2dnbGUpJykpIHJldHVybjsKICAg +ICAgICAgICAgICAgIHBhbmVsLmNsYXNzTGlzdC50b2dnbGUoJ3p1Z2VrbGFwcHQnKTsKICAgICAg +ICAgICAgICAgIHZhciBwID0gaDMgJiYgaDMucXVlcnlTZWxlY3RvcignLnN0YXRzLXBhbmVsLXRv +Z2dsZScpOwogICAgICAgICAgICAgICAgaWYgKHApIHAudGV4dENvbnRlbnQgPSBwYW5lbC5jbGFz +c0xpc3QuY29udGFpbnMoJ3p1Z2VrbGFwcHQnKSA/ICfilrgnIDogJ+KWvic7CiAgICAgICAgICAg +IH0pOwogICAgICAgICAgICBrb3BmLmRhdGFzZXQudG9nZ2xlRmVydGlnID0gJzEnOwogICAgICAg +IH0pOwogICAgfQoKICAgIC8vIE1vZHVsLVN0YXRlIFJlbmRlci1QaXBlbGluZS4gQnJpY2h0IGxh +dWZlbmRlIFNlcXVlbnogYWIsIHdlbm4gZWluCiAgICAvLyBuZXVlciBSZW5kZXJuLUF1ZnJ1ZiAo +ei5CLiBTb3J0LS9GaWx0ZXItV2VjaHNlbCkgcmVpbmtvbW10LgogICAgdmFyIF9zdGF0UmVuZGVy +UnVuSWQgPSAwOwoKICAgIGZ1bmN0aW9uIHBpcGVsaW5lU3RhcnRlbihzY2hyaXR0ZSwgcnVuSWQp +IHsKICAgICAgICAvLyBQaGFzZSAxOiBhbGxlIFNrZWxldG9ucyBzeW5jaHJvbiBzZXR6ZW4sIGRh +bWl0IGRlciBVc2VyIHNvZm9ydAogICAgICAgIC8vIHNpZWh0LCBkYXNzIGV0d2FzIHBhc3NpZXJ0 +LiBleHRyYUVscyBzaW5kIHdlaXRlcmUgQ29udGFpbmVyLCBkaWUKICAgICAgICAvLyBpbSBzZWxi +ZW4gU2Nocml0dCBiZWZ1ZWxsdCB3ZXJkZW4gKFRlYW0tU2Nocml0dCByZW5kZXJ0IEhlYXRtYXAK +ICAgICAgICAvLyArIE5lYmVud2FjaGVuICsgVGFnZXMtQW50ZWlsZSBpbiBlaW5lbSBSdXRzY2gp +LgogICAgICAgIHNjaHJpdHRlLmZvckVhY2goZnVuY3Rpb24ocykgewogICAgICAgICAgICBpZiAo +cy5lbCkgcy5lbC5pbm5lckhUTUwgPSAnPGRpdiBjbGFzcz0ic3RhdHMtbG9hZGluZyI+JyArIGVz +Y2FwZUhUTUwocy5oaW50KSArICc8L2Rpdj4nOwogICAgICAgICAgICAocy5leHRyYUVscyB8fCBb +XSkuZm9yRWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBpZiAoZSkgZS5pbm5lckhU +TUwgPSAnPGRpdiBjbGFzcz0ic3RhdHMtbG9hZGluZyI+JyArIGVzY2FwZUhUTUwocy5oaW50KSAr +ICc8L2Rpdj4nOwogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICAvLyBQaGFzZSAy +OiBTY2hyaXR0IGZ1ZXIgU2Nocml0dCByZW5kZXJuLCBZaWVsZCB6d2lzY2hlbiBkZW4gU2Nocml0 +dGVuLgogICAgICAgIC8vCiAgICAgICAgLy8gc2V0VGltZW91dCBzdGF0dCByZXF1ZXN0QW5pbWF0 +aW9uRnJhbWU6IHJBRi1DYWxsYmFja3MgbGF1ZmVuIFZPUgogICAgICAgIC8vIGRlbSBQYWludCBp +bSBzZWxiZW4gRnJhbWUg4oCUIGRlciBTa2VsZXRvbiB3dWVyZGUgbmllIHNpY2h0YmFyCiAgICAg +ICAgLy8gd2VyZGVuLiBBdXNzZXJkZW0gcGF1c2llcnQgckFGIGluIEhpbnRlcmdydW5kLVRhYnMg +a29tcGxldHQuCiAgICAgICAgLy8KICAgICAgICAvLyBUaW1pbmcgKDIwMjYtMDYtMTUgUmVzcG9u +c2l2aXRhZXRzLUF1ZGl0KTogZGllIGZydWVoZXJlIGt1ZW5zdGxpY2hlCiAgICAgICAgLy8gVmVy +em9lZ2VydW5nICg4MDAgbXMgaW5pdGlhbCArIDYwMCBtcyBqZSBQYW5lbCDiiYggMyw4IHMgcmVp +bmUgV2FydGUtCiAgICAgICAgLy8gemVpdCkgaXN0IGVudGZlcm50LiBEaWUgQmVyZWNobnVuZyBk +YXVlcnQgTWlsbGlzZWt1bmRlbiDigJQgZGVyIFVzZXIKICAgICAgICAvLyBzb2xsIGRpZSBTdGF0 +aXN0aWsgcHJha3Rpc2NoIHNvZm9ydCBzZWhlbi4gRWluIEtMRUlORVIgU3RhZ2dlcgogICAgICAg +IC8vIChqZSA1MCBtcykgYmxlaWJ0LCBkYW1pdCBkZXIgU2tlbGV0b24ga3VyeiBzaWNodGJhciBp +c3QsIGRlcgogICAgICAgIC8vIEpTLVRocmVhZCB6d2lzY2hlbiBkZW4gUGFuZWxzIHlpZWxkZXQg +KFJlc3BvbnNpdmVuZXNzKSB1bmQgZGllCiAgICAgICAgLy8gR2xvdy1LYXNrYWRlIGFscyBkZXpl +bnRlIFdlbGxlIGVya2VubmJhciBibGVpYnQuCiAgICAgICAgZnVuY3Rpb24gc3RlcChpKSB7CiAg +ICAgICAgICAgIGlmIChpID49IHNjaHJpdHRlLmxlbmd0aCkgcmV0dXJuOwogICAgICAgICAgICBp +ZiAocnVuSWQgIT09IF9zdGF0UmVuZGVyUnVuSWQpIHJldHVybjsgICAgIC8vIG5ldWVyIExhdWYg +dWViZXJob2x0CiAgICAgICAgICAgIHZhciBzID0gc2Nocml0dGVbaV07CiAgICAgICAgICAgIHRy +eSB7IHMuYXVzZnVlaHJlbigpOyB9IGNhdGNoIChlKSB7IGNvbnNvbGUuZXJyb3IoJ1N0YXRpc3Rp +ay1SZW5kZXItRmVobGVyOicsIGUpOyB9CiAgICAgICAgICAgIGZ1bmN0aW9uIGdsb3cocCkgewog +ICAgICAgICAgICAgICAgaWYgKCFwKSByZXR1cm47CiAgICAgICAgICAgICAgICBwLmNsYXNzTGlz +dC5yZW1vdmUoJ3N0YXRzLWdsb3cnKTsKICAgICAgICAgICAgICAgIC8vIHZvaWQtUmVmbG93IGRh +bWl0IGRpZSBBbmltYXRpb24gbmV1IHN0YXJ0ZXQKICAgICAgICAgICAgICAgIHZvaWQgcC5vZmZz +ZXRXaWR0aDsKICAgICAgICAgICAgICAgIHAuY2xhc3NMaXN0LmFkZCgnc3RhdHMtZ2xvdycpOwog +ICAgICAgICAgICB9CiAgICAgICAgICAgIGdsb3cocy5wYW5lbCk7CiAgICAgICAgICAgIChzLmV4 +dHJhUGFuZWxzIHx8IFtdKS5mb3JFYWNoKGdsb3cpOwogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1 +bmN0aW9uKCkgeyBzdGVwKGkgKyAxKTsgfSwgNTApOwogICAgICAgIH0KICAgICAgICBzZXRUaW1l +b3V0KGZ1bmN0aW9uKCkgeyBzdGVwKDApOyB9LCA2MCk7CiAgICB9CgogICAgLy8gPT09PT0gUHJv +c2EtRGV0YWlsYW5hbHlzZSA9PT09PQogICAgLy8KICAgIC8vIEVyemV1Z3QgcHJvIFBlcnNvbiBl +aW5lbiBrdXJ6ZW4gRmxpZcOfdGV4dCBhdXMgUmVnZWwtQmVkaW5ndW5nZW4uIEtlaW5lCiAgICAv +LyBTZXJ2ZXItQWJoYWVuZ2lna2VpdCDigJQgYXJiZWl0ZXQgbnVyIGF1ZiBkZW4gYmVyZWl0cyBn +ZWxhZGVuZW4gU3RhdHMuCiAgICBmdW5jdGlvbiBwcm9zYVJlbmRlcm4oc3RhdHMpIHsKICAgICAg +ICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhdHMtcHJvc2EnKTsKICAgICAg +ICBpZiAoIWVsKSByZXR1cm47CiAgICAgICAgaWYgKCFzdGF0cy5sZW5ndGgpIHsgZWwuaW5uZXJI +VE1MID0gJzxwIGNsYXNzPSJ0ZXh0LW11dGVkIiBzdHlsZT0icGFkZGluZzoxMnB4Ij5LZWluZSBE +YXRlbi48L3A+JzsgcmV0dXJuOyB9CgogICAgICAgIC8vIER1cmNoc2Nobml0dGUgdWViZXIgZGll +IGFrdHVlbGwgZ2VmaWx0ZXJ0ZSBTdGF0cy1NZW5nZQogICAgICAgIHZhciBuID0gc3RhdHMubGVu +Z3RoOwogICAgICAgIHZhciBhdmcgPSB7IGdlc2FtdDowLCBmcnVlaDowLCBzcGFldDowLCBuYWNo +dDowLCBzb246MCwgd2RmOjAsIGZicDowLCBkZ2w6MCwKICAgICAgICAgICAgICAgICAgICB3ZTow +LCBmdDowLCB1cmxhdWI6MCwgbGc6MCwgYXphOjAsCiAgICAgICAgICAgICAgICAgICAga29tcGxl +dHRlV0U6MCwgZmVpZXJ0YWdEaWVuc3RlOjAsIGt1cjowIH07CiAgICAgICAgc3RhdHMuZm9yRWFj +aChmdW5jdGlvbihzKSB7CiAgICAgICAgICAgIGF2Zy5nZXNhbXQgKz0gcy5nZXNhbXQ7CiAgICAg +ICAgICAgIGF2Zy5mcnVlaCAgKz0gcy5mcnVlaDsKICAgICAgICAgICAgYXZnLnNwYWV0ICArPSBz +LnNwYWV0OwogICAgICAgICAgICBhdmcubmFjaHQgICs9IHMubmFjaHQ7CiAgICAgICAgICAgIGF2 +Zy5zb24gICAgKz0gKHMuc29uZGVyZGllbnN0IHx8IDApOwogICAgICAgICAgICBhdmcuZGdsICAg +ICs9IChzLmRnbCB8fCAwKTsKICAgICAgICAgICAgYXZnLndkZiAgICArPSAocy53ZGYgfHwgMCk7 +CiAgICAgICAgICAgIGF2Zy5mYnAgICAgKz0gKHMuZmJwIHx8IDApOwogICAgICAgICAgICBhdmcu +d2UgICAgICs9IHMud29jaGVuZW5kVGFnZTsKICAgICAgICAgICAgYXZnLmZ0ICAgICArPSBzLmZl +aWVydGFnVGFnZTsKICAgICAgICAgICAgYXZnLnVybGF1YiArPSBzLnVybGF1YjsKICAgICAgICAg +ICAgYXZnLmxnICAgICArPSBzLmxlaHJnYW5nOwogICAgICAgICAgICBhdmcuYXphICAgICs9IChz +LmF6QXVzZ2xlaWNoIHx8IDApOwogICAgICAgICAgICBhdmcua29tcGxldHRlV0UgICAgICs9IChz +LmtvbXBsZXR0ZVdFIHx8IDApOwogICAgICAgICAgICBhdmcuZmVpZXJ0YWdEaWVuc3RlICs9IChz +LmZlaWVydGFnRGllbnN0ZSB8fCAwKTsKICAgICAgICAgICAgYXZnLmt1ciAgICAgICAgICAgICAr +PSAocy5rdXIgfHwgMCk7CiAgICAgICAgfSk7CiAgICAgICAgT2JqZWN0LmtleXMoYXZnKS5mb3JF +YWNoKGZ1bmN0aW9uKGspIHsgYXZnW2tdID0gYXZnW2tdIC8gbjsgfSk7CgogICAgICAgIC8vIE1p +a3JvdGVhbS1EYXRlbiBlaW5tYWwgYXVmYmF1ZW4g4oCUIGZ1ZXIgQmV6dWctQmF1c3RlaW5lIChQ +b29sLVNwcmluZ2VyLAogICAgICAgIC8vIFRlYW0tTHVlY2tlbikuIFBybyBQZXJzb24gbWVya2Vu +IHdpciB1bnMgZGFzIE1pa3JvdGVhbSB1bmQgZGllCiAgICAgICAgLy8gYWdncmVnaWVydGVuIFBv +b2wtU3RhdHMuCiAgICAgICAgdmFyIHRlYW1EYXRhID0gKFouYWRtaW4gJiYgWi5hZG1pbi5taWty +b3RlYW1zICYmIFouYWRtaW4ubWlrcm90ZWFtcy5sZW5ndGgpID8gX3RlYW1EYXRlbkdlZmlsdGVy +dCgpIDogW107CiAgICAgICAgdmFyIHRlYW1CeVBpZCA9IHt9OyAgICAgICAgLy8gcGVyc29uSWQg +LT4geyB0ZWFtLCBzcHJpbmdlclRhZ2UgfQogICAgICAgIHRlYW1EYXRhLmZvckVhY2goZnVuY3Rp +b24odCkgewogICAgICAgICAgICB2YXIgcG9vbCA9IF9pc3RQb29sVGVhbSh0KTsKICAgICAgICAg +ICAgLy8gUG9vbC1TcHJpbmdlci1UYWdlIHBybyBQZXJzb24gemFlaGxlbiAobnVyIGZ1ZXIgTEQv +U08gcmVsZXZhbnQpCiAgICAgICAgICAgIHZhciBzcHJpbmdlciA9IDA7CiAgICAgICAgICAgIGlm +IChwb29sKSB7CiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyh0LnRhZ2UpLmZvckVhY2goZnVu +Y3Rpb24oZCkgewogICAgICAgICAgICAgICAgICAgIGlmICh0LnRhZ2VbZF0uaXN0U3ByaW5nZXIp +IHNwcmluZ2VyKys7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQogICAgICAgICAg +ICB0LnBlcnNvbklkcy5mb3JFYWNoKGZ1bmN0aW9uKHBpZCkgewogICAgICAgICAgICAgICAgdGVh +bUJ5UGlkW3BpZF0gPSB7IHRlYW06IHQsIHNwcmluZ2VyVGFnZTogc3ByaW5nZXIgfTsKICAgICAg +ICAgICAgfSk7CiAgICAgICAgfSk7CgogICAgICAgIC8vIFNvcnRpZXJ1bmcgZmVzdCBuYWNoIFN0 +YW5kb3J0ICsgRGllbnN0Z3J1cHBlLCBkYW5uIE5hbWUuIFNvIGxhc3NlbgogICAgICAgIC8vIHNp +Y2ggZGllIFBlcnNvbmVuIGVpbmVyIFdhY2hlIHp1c2FtbWVuIGxlc2VuIOKAlCBlbnRzcHJpY2h0 +IGRlcgogICAgICAgIC8vIFJlaWhlbmZvbGdlIGRlciBNaWtyb3RlYW0tSGVhdG1hcCBvYmVuLgog +ICAgICAgIHZhciBwZXJzb25NYXAgPSB7fTsKICAgICAgICAoWi5wbGFudW5nICYmIFoucGxhbnVu +Zy5wZXJzb25lbiB8fCBbXSkuZm9yRWFjaChmdW5jdGlvbihwKSB7IHBlcnNvbk1hcFtwLmlkXSA9 +IHA7IH0pOwogICAgICAgIHZhciBzb3J0aWVydCA9IHN0YXRzLnNsaWNlKCkuc29ydChmdW5jdGlv +bihhLCBiKSB7CiAgICAgICAgICAgIHZhciBwYSA9IHBlcnNvbk1hcFthLnBlcnNvbklkXSB8fCB7 +fSwgcGIgPSBwZXJzb25NYXBbYi5wZXJzb25JZF0gfHwge307CiAgICAgICAgICAgIHZhciBrYSA9 +IChwYS5vZSB8fCAnWlonKSArICd8JyArIChwYS5ncnVwcGUgfHwgJ1onKTsKICAgICAgICAgICAg +dmFyIGtiID0gKHBiLm9lIHx8ICdaWicpICsgJ3wnICsgKHBiLmdydXBwZSB8fCAnWicpOwogICAg +ICAgICAgICBpZiAoa2EgIT09IGtiKSByZXR1cm4ga2EubG9jYWxlQ29tcGFyZShrYiwgJ2RlJyk7 +CiAgICAgICAgICAgIHJldHVybiAoYS5uYW1lIHx8ICcnKS5sb2NhbGVDb21wYXJlKGIubmFtZSB8 +fCAnJywgJ2RlJyk7CiAgICAgICAgfSk7CgogICAgICAgIHZhciBodG1sID0gJyc7CiAgICAgICAg +c29ydGllcnQuZm9yRWFjaChmdW5jdGlvbihzKSB7CiAgICAgICAgICAgIHZhciB0eHQgPSBwcm9z +YVRleHQocywgYXZnLCB0ZWFtQnlQaWRbcy5wZXJzb25JZF0pOwogICAgICAgICAgICBpZiAoIXR4 +dCkgcmV0dXJuOwogICAgICAgICAgICBodG1sICs9ICc8ZGl2IGNsYXNzPSJzdGF0cy1wcm9zYS16 +ZWlsZSI+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ic3RhdHMtcHJvc2EtbmFtZSI+ +JyArIGVzY2FwZUhUTUwocHJvc2FBbnJlZGUocykpICsgJzwvZGl2PicgKwogICAgICAgICAgICAg +ICAgJzxkaXYgY2xhc3M9InN0YXRzLXByb3NhLXRleHQiPicgKyB0eHQgKyAnPC9kaXY+JyArCiAg +ICAgICAgICAgICc8L2Rpdj4nOwogICAgICAgIH0pOwogICAgICAgIGVsLmlubmVySFRNTCA9IGh0 +bWwgfHwgJzxwIGNsYXNzPSJ0ZXh0LW11dGVkIiBzdHlsZT0icGFkZGluZzoxMnB4Ij5LZWluZSBh +dWZmw6RsbGlnZW4gTXVzdGVyLjwvcD4nOwogICAgfQoKICAgIC8vIEJpbGRldCAiUEhLIE5hY2hu +YW1lIiAobWl0IG9wdGlvbmFsZW0gVm9ybmFtZW4pLiBzZXJ2ZXIgbGllZmVydCBuYW1lID0gIk5h +Y2huYW1lLCBWb3JuYW1lIi4KICAgIC8vIEJlaSBha3RpdmVtIEFub255bWlzaWVydW5ncy1Ub2dn +bGUgd2lyZCAiUGVyc29uIE4iIHp1cnVlY2tnZWdlYmVuLgogICAgZnVuY3Rpb24gcHJvc2FBbnJl +ZGUocykgewogICAgICAgIGlmIChfc3RhdEFub25Ba3RpdikgcmV0dXJuIF9zdGF0QW56ZWlnZU5h +bWUocyk7CiAgICAgICAgdmFyIHRlaWxlID0gKHMubmFtZSB8fCAnJykuc3BsaXQoJywnKTsKICAg +ICAgICB2YXIgbm4gPSAodGVpbGVbMF0gfHwgJycpLnRyaW0oKTsKICAgICAgICB2YXIgdm4gPSAo +dGVpbGVbMV0gfHwgJycpLnRyaW0oKTsKICAgICAgICB2YXIgZGcgPSBzLmRpZW5zdGdyYWQgfHwg +Jyc7CiAgICAgICAgdmFyIGEgPSAoZGcgPyBkZyArICcgJyA6ICcnKSArIG5uOwogICAgICAgIHJl +dHVybiB2biA/IGEgKyAnLCAnICsgdm4gOiBhOwogICAgfQoKICAgIC8vIFJlZ2VsLWJhc2llcnRl +IFRleHQtQmF1c3RlaW5lLiBBbGxlIEJlZGluZ3VuZ2VuIHNpbmQgcmVsYXRpdiB6dW0gRHVyY2gt +CiAgICAvLyBzY2huaXR0LCBkYW1pdCBkaWUgQW5hbHlzZSBiZWkgamVkZXIgR3J1cHBlbi0vRmls +dGVyLUtvbWJpbmF0aW9uIHNpbm52b2xsCiAgICAvLyBibGVpYnQuIGB0ZWFtSW5mb2AgaXN0IG9w +dGlvbmFsOiB7IHRlYW0sIHNwcmluZ2VyVGFnZSB9IGF1cyBfdGVhbURhdGVuKCkuCiAgICAvLyBS +dWVja2dhYmU6IEhUTUwtU3RyaW5nIChlaW4gU2F0eikgb2RlciBsZWVyLgogICAgZnVuY3Rpb24g +cHJvc2FUZXh0KHMsIGF2ZywgdGVhbUluZm8pIHsKICAgICAgICBpZiAocy5nZXNhbXQgPCAzKSBy +ZXR1cm4gJyc7ICAvLyB6dSB3ZW5pZ2UgRGF0ZW4gZnVlciBlaW5lIEF1c3NhZ2UKICAgICAgICB2 +YXIgZ2VzID0gcy5nZXNhbXQgfHwgMTsKICAgICAgICB2YXIgc2FldHplID0gW107CgogICAgICAg +IC8vIEdlc2FtdC1BdXNsYXN0dW5nCiAgICAgICAgaWYgKGF2Zy5nZXNhbXQgPiAzKSB7CiAgICAg +ICAgICAgIGlmIChzLmdlc2FtdCA+IGF2Zy5nZXNhbXQgKiAxLjIpICAgICAgIHNhZXR6ZS5wdXNo +KCdtYWNodCBtZWhyIERpZW5zdGUgYWxzIMO8YmxpY2ggKCcgKyBzLmdlc2FtdCArICcgdnMuIMOY +ICcgKyBNYXRoLnJvdW5kKGF2Zy5nZXNhbXQpICsgJyknKTsKICAgICAgICAgICAgZWxzZSBpZiAo +cy5nZXNhbXQgPCBhdmcuZ2VzYW10ICogMC43KSAgc2FldHplLnB1c2goJ2hhdCB1bnRlcmR1cmNo +c2Nobml0dGxpY2ggd2VuaWdlIERpZW5zdGUgKCcgKyBzLmdlc2FtdCArICcgdnMuIMOYICcgKyBN +YXRoLnJvdW5kKGF2Zy5nZXNhbXQpICsgJyknKTsKICAgICAgICB9CgogICAgICAgIC8vIFNjaGlj +aHQtU2NoaWVmbGFnZW4gKEFudGVpbGUgc3RhdHQgYWJzb2x1dGUgWmFobGVuLCBkYW1pdCBmYWly +IHZlcmdsZWljaGJhcikKICAgICAgICB2YXIgZkEgPSBzLmZydWVoIC8gZ2VzLCBzQSA9IHMuc3Bh +ZXQgLyBnZXMsIG5BID0gcy5uYWNodCAvIGdlczsKICAgICAgICB2YXIgYXZnRkEgPSBhdmcuZ2Vz +YW10ID8gYXZnLmZydWVoIC8gYXZnLmdlc2FtdCA6IDA7CiAgICAgICAgdmFyIGF2Z1NBID0gYXZn +Lmdlc2FtdCA/IGF2Zy5zcGFldCAvIGF2Zy5nZXNhbXQgOiAwOwogICAgICAgIHZhciBhdmdOQSA9 +IGF2Zy5nZXNhbXQgPyBhdmcubmFjaHQgLyBhdmcuZ2VzYW10IDogMDsKCiAgICAgICAgZnVuY3Rp +b24gc2NoaWNodFBocmFzZSgpIHsKICAgICAgICAgICAgdmFyIHRlaWxlID0gW107CiAgICAgICAg +ICAgIGlmIChuQSA+IGF2Z05BICogMS4zICYmIHMubmFjaHQgPiA1KSAgIHRlaWxlLnB1c2goJ3Zl +cm1laHJ0IE5hY2h0ZGllbnN0Jyk7CiAgICAgICAgICAgIGlmIChmQSA+IGF2Z0ZBICogMS4zICYm +IHMuZnJ1ZWggPiA1KSAgIHRlaWxlLnB1c2goJ8O8YmVycHJvcG9ydGlvbmFsIHZpZWxlIEZyw7xo +ZGllbnN0ZScpOwogICAgICAgICAgICBpZiAoc0EgPiBhdmdTQSAqIDEuMyAmJiBzLnNwYWV0ID4g +NSkgICB0ZWlsZS5wdXNoKCfDvGJlcnByb3BvcnRpb25hbCB2aWVsZSBTcMOkdGRpZW5zdGUnKTsK +ICAgICAgICAgICAgcmV0dXJuIHRlaWxlLmpvaW4oJyB1bmQgJyk7CiAgICAgICAgfQogICAgICAg +IHZhciBzY2hpY2h0ID0gc2NoaWNodFBocmFzZSgpOwogICAgICAgIGlmIChzY2hpY2h0KSBzYWV0 +emUucHVzaCgnbWFjaHQgJyArIHNjaGljaHQpOwoKICAgICAgICAvLyBGcsO8aC9TcMOkdC1CYWxh +bmNlCiAgICAgICAgdmFyIGZzRGlmZiA9IChzLmZydWVoICsgcy5zcGFldCkgPiAwID8gTWF0aC5h +YnMocy5mcnVlaCAtIHMuc3BhZXQpIC8gKHMuZnJ1ZWggKyBzLnNwYWV0KSA6IDA7CiAgICAgICAg +aWYgKChzLmZydWVoICsgcy5zcGFldCkgPj0gMTAgJiYgZnNEaWZmIDwgMC4xNSkgc2FldHplLnB1 +c2goJ2lzdCBpbiBGcsO8aC0gdW5kIFNww6R0ZGllbnN0ZW4gYXVzZ2VnbGljaGVuJyk7CgogICAg +ICAgIC8vIEZ1bmt0aW9ucy1Sb2xsZW4gKERHTC9XREYvRkJQKSDigJQga29udGV4dHVhbGlzaWVy +dCBtaXQgZGVyIHByaW1hZXJlbgogICAgICAgIC8vIEZ1bmt0aW9uIGRlciBQZXJzb24gKFoucGxh +bnVuZy5wZXJzb25lblsqXS5mdW5rdGlvbikuIE51ciBDcm9zcy0KICAgICAgICAvLyBGdW5rdGlv +bnMtRWluc2FldHplIHNpbmQgaW50ZXJlc3NhbnQ6IGVpbiBwcmltYWVyZXIgREdMLCBkZXIgREdM +CiAgICAgICAgLy8gbWFjaHQsIGlzdCBSb3V0aW5lLiBFaW4gMy4tTWFubiBvZGVyIFdERiBhbHMg +REdMID0gcmVsZXZhbnQuCiAgICAgICAgdmFyIGZrdCA9IChzLmZ1bmt0aW9uIHx8ICcnKS50b0xv +d2VyQ2FzZSgpLnRyaW0oKTsKICAgICAgICB2YXIgcHJpbURnbCAgICA9IChma3QgPT09ICdkZ2wn +IHx8IGZrdCA9PT0gJ2RnbGluJyk7CiAgICAgICAgdmFyIHByaW1XZGYgICAgPSAoZmt0ID09PSAn +d2RmJyB8fCBma3QgPT09ICd3ZGZpbicpOwogICAgICAgIHZhciBwcmltVmVyYW50ID0gcHJpbURn +bCB8fCBwcmltV2RmOyAgIC8vIDEuLzIuIFZJMy1ER0wtVmVyYW50d29ydGxpY2hlCgogICAgICAg +IGlmICghcHJpbURnbCAmJiAocy5kZ2wgfHwgMCkgPj0gMyAmJiAocy5kZ2wgfHwgMCkgPiBhdmcu +ZGdsICogMC41KQogICAgICAgICAgICBzYWV0emUucHVzaCgnd3VyZGUgJyArIHMuZGdsICsgJ8OX +IGFscyBER0wgZWluZ2VzZXR6dCAobmljaHQgcHJpbcOkcmUgRnVua3Rpb24pJyk7CiAgICAgICAg +aWYgKCFwcmltV2RmICYmIChzLndkZiB8fCAwKSA+PSAzICYmIChzLndkZiB8fCAwKSAvIGdlcyA+ +IDAuMiAmJiAocy53ZGYgfHwgMCkgPiBhdmcud2RmICogMC43KQogICAgICAgICAgICBzYWV0emUu +cHVzaCgnd3VyZGUgJyArIHMud2RmICsgJ8OXIGFscyBXREYgaW0gRnVua3Rpb25zYmVzZXR6dW5n +c3BsYW4gZWluZ2VzZXR6dCcpOwogICAgICAgIGlmIChwcmltVmVyYW50ICYmIChzLmZicCB8fCAw +KSA+PSAzKSB7CiAgICAgICAgICAgIHZhciByb2xsZVN0ciA9IHByaW1EZ2wgPyAncHJpbcOkciBE +R0wnIDogJ3ByaW3DpHIgV0RGJzsKICAgICAgICAgICAgc2FldHplLnB1c2goJ3d1cmRlICcgKyBz +LmZicCArICfDlyBhbHMgRkJQIGVpbmdlc2V0enQgKCcgKyByb2xsZVN0ciArICcpJyk7CiAgICAg +ICAgfSBlbHNlIGlmICghcHJpbVZlcmFudCAmJiBhdmcuZmJwID4gMSAmJiAocy5mYnAgfHwgMCkg +PiBhdmcuZmJwICogMS41KSB7CiAgICAgICAgICAgIHNhZXR6ZS5wdXNoKCdpc3Qgw7xiZXJkdXJj +aHNjaG5pdHRsaWNoIG9mdCBGQlAgKCcgKyBzLmZicCArICfDlyknKTsKICAgICAgICB9CiAgICAg +ICAgaWYgKGF2Zy5zb24gPiAxICYmIChzLnNvbmRlcmRpZW5zdCB8fCAwKSA+IGF2Zy5zb24gKiAx +LjUpCiAgICAgICAgICAgIHNhZXR6ZS5wdXNoKCfDvGJlcm5pbW10IHZpZWxlIFNvbmRlcmRpZW5z +dGUgKFNEL1NFOiAnICsgcy5zb25kZXJkaWVuc3QgKyAnw5cpJyk7CgogICAgICAgIC8vIFdFLUJl +bGFzdHVuZwogICAgICAgIGlmIChhdmcud2UgPiAzICYmIHMud29jaGVuZW5kVGFnZSA+IGF2Zy53 +ZSAqIDEuMykKICAgICAgICAgICAgc2FldHplLnB1c2goJ2hhdCDDvGJlcmR1cmNoc2Nobml0dGxp +Y2ggdmllbGUgV29jaGVuZW5kZGllbnN0ZSAoJyArIHMud29jaGVuZW5kVGFnZSArICcgdnMuIMOY +ICcgKyBNYXRoLnJvdW5kKGF2Zy53ZSkgKyAnKScpOwogICAgICAgIGVsc2UgaWYgKHMud29jaGVu +ZW5kVGFnZSA9PT0gMCAmJiBzLmdlc2FtdCA+IDEwKQogICAgICAgICAgICBzYWV0emUucHVzaCgn +bGVpc3RldCBrZWluZW4gV29jaGVuZW5kZGllbnN0Jyk7CgogICAgICAgIC8vIEtvbXBsZXR0ZSBX +b2NoZW5lbmRlbiDigJQgQmVsYXN0dW5ncy1EaWNodGUuIEhvaGVyIFdlcnQgYmVkZXV0ZXQ6CiAg +ICAgICAgLy8gUGVyc29uIGhhdHRlIG1laHJmYWNoIFNhK1NvIGFtIFN0dWVjay4gU2Nod2VsbGUg +NCBpc3QgcHJhZ21hdGlzY2guCiAgICAgICAgdmFyIGt3ID0gcy5rb21wbGV0dGVXRSB8fCAwOwog +ICAgICAgIGlmIChrdyA+PSA0ICYmIGt3ID4gYXZnLmtvbXBsZXR0ZVdFICogMS4zKQogICAgICAg +ICAgICBzYWV0emUucHVzaCgnaGF0ICcgKyBrdyArICcga29tcGxldHRlIFdvY2hlbmVuZGVuIOKA +lCBob2hlIEJlbGFzdHVuZ3MtRGljaHRlJyk7CgogICAgICAgIC8vIEZlaWVydGFnLURpZW5zdGUK +ICAgICAgICB2YXIgZmQgPSBzLmZlaWVydGFnRGllbnN0ZSB8fCAwOwogICAgICAgIGlmIChmZCA+ +PSAzICYmIGZkID4gYXZnLmZlaWVydGFnRGllbnN0ZSAqIDEuMykKICAgICAgICAgICAgc2FldHpl +LnB1c2goZmQgKyAnIEZlaWVydGFnZSBnZWFyYmVpdGV0ICjDvGJlcmR1cmNoc2Nobml0dGxpY2gp +Jyk7CgogICAgICAgIC8vIFBvb2wtU3ByaW5nZXIgKG51ciBMRC9TTyk6IEFuemFobCBTcHJpbmdl +ci1UYWdlIGhlcnZvcmhlYmVuLgogICAgICAgIGlmICh0ZWFtSW5mbyAmJiB0ZWFtSW5mby50ZWFt +ICYmIF9pc3RQb29sVGVhbSh0ZWFtSW5mby50ZWFtKSAmJiB0ZWFtSW5mby5zcHJpbmdlclRhZ2Ug +PiAwKSB7CiAgICAgICAgICAgIHZhciB6aWVsZSA9IChQT09MX1JFTEFUSU9OW3RlYW1JbmZvLnRl +YW0uc3RhbmRvcnRdIHx8IFtdKS5qb2luKCcvJyk7CiAgICAgICAgICAgIHNhZXR6ZS5wdXNoKCdz +cHJpbmd0ICcgKyB0ZWFtSW5mby5zcHJpbmdlclRhZ2UgKyAnw5cgZsO8ciAnICsgemllbGUgKyAn +IGVpbicpOwogICAgICAgIH0KICAgICAgICAvLyBNaWtyb3RlYW0tQmV6dWcgZnVlciByZWd1bGFl +cmUgVGVhbXM6IHdlbm4gZGFzIGVpZ2VuZSBUZWFtIGhhZXVmaWcKICAgICAgICAvLyByb3QgaXN0 +ICg+PSAyMCUgZGVyIFRhZ2UpLCBhbHMgS29udGV4dCBlaW5ibGVuZGVuLgogICAgICAgIGVsc2Ug +aWYgKHRlYW1JbmZvICYmIHRlYW1JbmZvLnRlYW0gJiYgIV9pc3RQb29sVGVhbSh0ZWFtSW5mby50 +ZWFtKSkgewogICAgICAgICAgICB2YXIgdHMgPSB0ZWFtSW5mby50ZWFtLnN0YXQgfHwge307CiAg +ICAgICAgICAgIHZhciBhbnRlaWwgPSB0cy50b3RhbCA/IHRzLnJvdCAvIHRzLnRvdGFsIDogMDsK +ICAgICAgICAgICAgaWYgKGFudGVpbCA+PSAwLjIgJiYgdHMucm90ID49IDUpIHsKICAgICAgICAg +ICAgICAgIHNhZXR6ZS5wdXNoKCdNaWtyb3RlYW0gJyArIHRlYW1JbmZvLnRlYW0ubmFtZSArICcg +aGF0dGUgJyArIHRzLnJvdCArICcgTMO8Y2tlbnRhZ2UgaW0gWmVpdHJhdW0nKTsKICAgICAgICAg +ICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gQWJ3ZXNlbmhlaXRlbiDigJQgS3Jhbmsgd2lyZCBo +aWVyIGJld3Vzc3QgbmljaHQgZXJ3YWVobnQgKERhdGVuc2NodXR6KS4KICAgICAgICBpZiAocy51 +cmxhdWIgPiAoYXZnLnVybGF1YiAqIDEuNCkgJiYgYXZnLnVybGF1YiA+IDUpIHNhZXR6ZS5wdXNo +KHMudXJsYXViICsgJyBVcmxhdWJzdGFnZSAow7xiZXJkdXJjaHNjaG5pdHRsaWNoKScpOwogICAg +ICAgIGlmICgocy5rdXIgfHwgMCkgPiAwKSAgICAgICAgICBzYWV0emUucHVzaCgocy5rdXIpICsg +JyBUYWdlIGluIEt1cicpOwogICAgICAgIGlmIChzLmxlaHJnYW5nID4gNSkgICAgICAgICAgICBz +YWV0emUucHVzaChzLmxlaHJnYW5nICsgJyBMZWhyZ2FuZ3MtL0ZvcnRiaWxkdW5nc3RhZ2UnKTsK +ICAgICAgICBpZiAoKHMuYXpBdXNnbGVpY2ggfHwgMCkgPiA1KSAgc2FldHplLnB1c2gocy5hekF1 +c2dsZWljaCArICcgQVotQXVzZ2xlaWNoc3RhZ2UnKTsKCiAgICAgICAgaWYgKCFzYWV0emUubGVu +Z3RoKSByZXR1cm4gJyc7ICAvLyBuaWNodHMgQXVmZsOkbGxpZ2VzCiAgICAgICAgLy8gRXJzdGUg +UGhyYXNlIG1pdCAiIOKAlCAiIGFiZ2V0cmVubnQgdm9tIFJlc3QsIGRhbWl0IGRlciBTYXR6IGxp +ZXN0IHdpZQogICAgICAgIC8vICJQSEsgWCDigJQgbWFjaHQgbWVociBEaWVuc3RlLCBpc3QgYXVz +Z2VnbGljaGVuLCDigKYiCiAgICAgICAgdmFyIHNhdHpUZXh0ID0gc2FldHplLmpvaW4oJywgJykg +KyAnLic7CiAgICAgICAgc2F0elRleHQgPSBzYXR6VGV4dC5jaGFyQXQoMCkudG9VcHBlckNhc2Uo +KSArIHNhdHpUZXh0LnNsaWNlKDEpOwogICAgICAgIHJldHVybiBlc2NhcGVIVE1MKHNhdHpUZXh0 +KTsKICAgIH0KCiAgICAvLyA9PT09PSBTdGF0aXN0aWs6IEluZm8tTW9kYWxzID09PT09CgogICAg +Ly8gRXJrbGFlcnVuZ3MtSW5oYWx0ZSBwcm8gUGFuZWwuIFdpcmQgdm9tIChpKS1CdXR0b24gaW0g +UGFuZWwtS29wZgogICAgLy8gZ2VvZWZmbmV0LCB6ZWlndCB3ZWxjaGUgQ29kZXMgd2llIGdlemFl +aGx0IHdlcmRlbi4KICAgIHZhciBTVEFUX0lORk9TID0gewogICAgICAgIHZlcnRlaWx1bmc6IHsK +ICAgICAgICAgICAgdGl0ZWw6ICdTY2hpY2h0dmVydGVpbHVuZycsCiAgICAgICAgICAgIGh0bWw6 +CiAgICAgICAgICAgICAgICAnPHA+QmFsa2VuIHBybyBQZXJzb24gbWl0IEZyw7xoL1Nww6R0L05h +Y2h0L1NvbmRlcmRpZW5zdC1BbnRlaWxlbi4gU29ydGllcmJhciDDvGJlciBkYXMgRHJvcGRvd24g +b2JlbiByZWNodHMuPC9wPicgKwogICAgICAgICAgICAgICAgJzxoND5aZWl0cmF1bTwvaDQ+JyAr +CiAgICAgICAgICAgICAgICAnPHA+TnVyIDxiPjAxLjAxLiBkZXMgUGxhbnVuZ3NqYWhyZXM8L2I+ +IGJpcyA8Yj5oZXV0ZSArIDE0IFRhZ2U8L2I+IHdlcmRlbiBnZXrDpGhsdCDigJQgVm9yYXVzLUVp +bnRyYWd1bmdlbiB3ZWl0ZXIgaW4gZGVyIFp1a3VuZnQgZmxpZXNzZW4gPGk+bmljaHQ8L2k+IGVp +biwgZGFtaXQgZGVyIFZlcmdsZWljaCBmYWlyIGJsZWlidC48L3A+JyArCiAgICAgICAgICAgICAg +ICAnPGg0PlBlcnNvbmVua3JlaXM8L2g0PicgKwogICAgICAgICAgICAgICAgJzxwPlN0YW5kYXJk +OiBhbGxlIERpZW5zdGdydXBwZW4gYXVzIGRlbSBEcm9wZG93biBvYmVuLiBOdXIgZWluZSBiZXN0 +aW1tdGUgR3J1cHBlIGFuc2NoYXVlbj8gSW0gRHJvcGRvd24gYXVzd8OkaGxlbiDigJQgS1BJcywg +TWlrcm90ZWFtLUhlYXRtYXAgdW5kIERldGFpbC1UYWJlbGxlIGZpbHRlcm4gc2ljaCBkYW5uIGdl +bWVpbnNhbS48L3A+JyArCiAgICAgICAgICAgICAgICAnPGg0PldlbGNoZSBDb2RlcyB6w6RobGVu +IHdvaGluPzwvaDQ+JyArCiAgICAgICAgICAgICAgICAnPHVsPicgKwogICAgICAgICAgICAgICAg +JzxsaT48Yj5GcsO8aGRpZW5zdDwvYj46IGFsbGUgQ29kZXMgbWl0IDxjb2RlPkYtPC9jb2RlPi1Q +cmVmaXggKEYtREdMLCBGLURHTE4sIEYtREdMUywgRi1XREYsIEYtV0RGTiwgRi1XREZTLCBGLUZC +UCkuPC9saT4nICsKICAgICAgICAgICAgICAgICc8bGk+PGI+U3DDpHRkaWVuc3Q8L2I+OiBhbGxl +IENvZGVzIG1pdCA8Y29kZT5TLTwvY29kZT4tUHJlZml4LjwvbGk+JyArCiAgICAgICAgICAgICAg +ICAnPGxpPjxiPk5hY2h0ZGllbnN0PC9iPjogYWxsZSBDb2RlcyBtaXQgPGNvZGU+Ti08L2NvZGU+ +LVByZWZpeC48L2xpPicgKwogICAgICAgICAgICAgICAgJzxsaT48Yj5Tb25kZXJkaWVuc3Q8L2I+ +IChlaWdlbmVzIFNlZ21lbnQpOiA8Y29kZT5TRDwvY29kZT4sIDxjb2RlPlNFPC9jb2RlPi48L2xp +PicgKwogICAgICAgICAgICAgICAgJzwvdWw+JyArCiAgICAgICAgICAgICAgICAnPHA+PGI+zqMg +R2VzYW10PC9iPiA9IEZyw7xoICsgU3DDpHQgKyBOYWNodCArIFNvbmRlcmRpZW5zdC48L3A+JyAr +CiAgICAgICAgICAgICAgICAnPGg0PldlaXRlcmUgU29ydGllci1GZWxkZXI8L2g0PicgKwogICAg +ICAgICAgICAgICAgJzx1bD4nICsKICAgICAgICAgICAgICAgICc8bGk+PGI+U2Ftc3RhZ2UgLyBT +b25udGFnZTwvYj46IERpZW5zdGUgYW4gU2EgYnp3LiBTbyDigJQgRmVpZXJ0YWdlIHrDpGhsZW4g +c2VwYXJhdCB1bnRlciA8Yj5GZWllcnRhZ2U8L2I+LCBuaWNodCBkb3BwZWx0LjwvbGk+JyArCiAg +ICAgICAgICAgICAgICAnPGxpPjxiPktvbXBsZXR0ZSBXb2NoZW5lbmRlbjwvYj46IFNhIDxpPnVu +ZDwvaT4gU28gZGVyc2VsYmVuIFdvY2hlIGpld2VpbHMgbWl0IERpZW5zdC48L2xpPicgKwogICAg +ICAgICAgICAgICAgJzxsaT48Yj5Gb3J0YmlsZHVuZzwvYj46IEF1RiwgRVRNLCBTZW0sIFRULCBU +ekYuIDxiPkRpZW5zdHVudGVycmljaHQ8L2I+OiBEVS4gPGI+TGVocmdhbmc8L2I+OiBMRy48L2xp +PicgKwogICAgICAgICAgICAgICAgJzxsaT48Yj5XYWNoZnJlaTwvYj46IHdmci4gPGI+RGllbnN0 +ZnJlaTwvYj46IGRmci4gPGI+V2ljaHRpZ2UgZnJlaTwvYj46IMKnMjEgKyAyMWEuIDxiPkFaLUF1 +c2dsZWljaDwvYj46IEFaQS4gPGI+U29uZGVydXJsYXViPC9iPjogU1UuPC9saT4nICsKICAgICAg +ICAgICAgICAgICc8L3VsPicKICAgICAgICB9LAogICAgICAgIGZhaXJuZXNzOiB7CiAgICAgICAg +ICAgIHRpdGVsOiAnV0UtICYgRlQtRmFpcm5lc3MnLAogICAgICAgICAgICBodG1sOgogICAgICAg +ICAgICAgICAgJzxwPlZlcmdsZWljaHQgZGllIEJlbGFzdHVuZyBkdXJjaCA8Yj5Xb2NoZW5lbmQt +PC9iPiB1bmQgPGI+RmVpZXJ0YWdzZGllbnN0ZTwvYj4gcHJvIFBlcnNvbiBtaXQgZGVtIEdydXBw +ZW5kdXJjaHNjaG5pdHQuPC9wPicgKwogICAgICAgICAgICAgICAgJzxoND5aZWl0cmF1bTwvaDQ+ +JyArCiAgICAgICAgICAgICAgICAnPHA+R2xlaWNoZXIgQ3V0IHdpZSDDvGJlcmFsbDogPGI+MDEu +MDEuIGRlcyBQbGFudW5nc2phaHJlcyBiaXMgaGV1dGUgKyAxNCBUYWdlPC9iPiAoVmVyYmluZGxp +Y2hrZWl0c2VuZGUpLiBWb3JhdXMtRWludHJhZ3VuZ2VuIGplbnNlaXRzIGRhdm9uIGZsaWXDn2Vu +IG5pY2h0IGVpbi48L3A+JyArCiAgICAgICAgICAgICAgICAnPGg0PldFLURpZW5zdC1RdW90ZSAo +SGF1cHRtZXRyaWspPC9oND4nICsKICAgICAgICAgICAgICAgICc8cD5aZWlndCwgd2VsY2hlbiA8 +Yj5BbnRlaWwgZGVyIHZlcmbDvGdiYXJlbiBTYStTby1UYWdlPC9iPiBkaWUgUGVyc29uIERpZW5z +dCBnZXNjaG9iZW4gaGF0LiBEYXMgbWFjaHQgUGVyc29uZW4gbWl0IHVudGVyc2NoaWVkbGljaCB2 +aWVsIFVybGF1YiB2ZXJnbGVpY2hiYXIg4oCUIGplZGVyIGhhdCBkZW5zZWxiZW4gU09MTC1Qb29s +LCBhYmVyIHVudGVyc2NoaWVkbGljaGUgSVNULVZlcmbDvGdiYXJrZWl0LjwvcD4nICsKICAgICAg +ICAgICAgICAgICc8dWw+JyArCiAgICAgICAgICAgICAgICAnPGxpPjxiPlNPTEwtUG9vbDwvYj46 +IGFsbGUgU2ErU28tVGFnZSBpbSBDdXQtWmVpdHJhdW0sIGRpZSA8aT5rZWluPC9pPiBGZWllcnRh +ZyBzaW5kLiBGw7xyIGFsbGUgUGVyc29uZW4gaWRlbnRpc2NoLjwvbGk+JyArCiAgICAgICAgICAg +ICAgICAnPGxpPjxiPlZlcmbDvGdiYXI8L2I+OiBTT0xMLVBvb2wgbWludXMgZWlnZW5lIEFid2Vz +ZW5oZWl0ZW4gYW0gV0UgKFVybCwga3IsIEt1ciwgU1UsIExHLCBBdUYsIEVUTSwgU2VtLCBUVCwg +VHpGLCBEVSkuPC9saT4nICsKICAgICAgICAgICAgICAgICc8bGk+PGI+UXVvdGU8L2I+ID0gU2Er +U28tRGllbnN0ZSAvIHZlcmbDvGdiYXIuIEJlaXNwaWVsOiAyNSB2b24gMzggPSA2NiAlLjwvbGk+ +JyArCiAgICAgICAgICAgICAgICAnPGxpPkZyZWktQ29kZXMgKHdmciwgZGZyLCDCpzIxLCAyMWEs +IEFaQSkgesOkaGxlbiA8Yj5uaWNodDwvYj4gYWxzIEFid2VzZW5oZWl0IOKAlCBzaWUgc2luZCDi +gJ52ZXJmw7xnYmFyLCBhYmVyIGZyZWlnZXN0ZWxsdCIgdW5kIGdlbmF1IGRhcyBtYWNodCBkaWUg +UXVvdGUgc2ljaHRiYXIuPC9saT4nICsKICAgICAgICAgICAgICAgICc8L3VsPicgKwogICAgICAg +ICAgICAgICAgJzxoND5XRSBkdXJjaGdlYXJiZWl0ZXQ8L2g0PicgKwogICAgICAgICAgICAgICAg +JzxwPk1pbmktU3BhbHRlIHJlY2h0czogd2llIHZpZWxlIFdvY2hlbmVuZGVuIGhhdHRlIGRpZSBQ +ZXJzb24gU2EgPGk+dW5kPC9pPiBTbyBiZWlkZSBEaWVuc3QuIFplaWd0IERpY2h0ZSAoZHVyY2hn +ZWhlbmQgYmVsYXN0ZXQpIHZzLiBWZXJ0ZWlsdW5nICgxIFRhZy9XRSkuPC9wPicgKwogICAgICAg +ICAgICAgICAgJzxoND5GVC1UYWdlPC9oND4nICsKICAgICAgICAgICAgICAgICc8cD5EaWVuc3Qg +YW4gZWluZW0gRmVpZXJ0YWcgKGVnYWwgb2IgV29jaGVudGFnIG9kZXIgV0UpLiBLYXJmcmVpdGFn +LVNhIHrDpGhsdCBudXIgaGllciwgbmljaHQgZG9wcGVsdCBpbiBXRS48L3A+JyArCiAgICAgICAg +ICAgICAgICAnPGg0PlBlcnNvbmVua3JlaXM8L2g0PicgKwogICAgICAgICAgICAgICAgJzxwPkR5 +bmFtaXNjaDogUGVyc29uZW4gbWl0IDxiPuKJpSAxMCAlIGRlciBkdXJjaHNjaG5pdHRsaWNoZW4g +R2VzYW10ZGllbnN0ZTwvYj4gKG1pbi4gMykuIFJlaW5lIFZvcmF1c3BsYW5lciB1bmQgTGFuZ3pl +aXQtQWJ3ZXNlbmRlIGZhbGxlbiBhdXRvbWF0aXNjaCByYXVzLjwvcD4nICsKICAgICAgICAgICAg +ICAgICc8aDQ+RmFyYnNrYWxhIChBYndlaWNodW5nIHZvbSDDmCk8L2g0PicgKwogICAgICAgICAg +ICAgICAgJzx1bD4nICsKICAgICAgICAgICAgICAgICc8bGk+PGI+R3LDvG48L2I+OiBpbm5lcmhh +bGIgwrEyMCAlLjwvbGk+JyArCiAgICAgICAgICAgICAgICAnPGxpPjxiPkdlbGI8L2I+OiDCsTIw +4oCTNTAgJS48L2xpPicgKwogICAgICAgICAgICAgICAgJzxsaT48Yj5Sb3Q8L2I+OiDDvGJlciDC +sTUwICUg4oCUIHdlciBoaWVyIGF1ZnRhdWNodCwgdHLDpGd0IGRldXRsaWNoIG1laHIgb2RlciB3 +ZW5pZ2VyIGFscyBkaWUgR3J1cHBlLjwvbGk+JyArCiAgICAgICAgICAgICAgICAnPC91bD4nCiAg +ICAgICAgfSwKICAgICAgICBtaWtyb3RlYW1zOiB7CiAgICAgICAgICAgIHRpdGVsOiAnTWlrcm90 +ZWFtcyDigJQgZ2VtZWluc2FtZSBWZXJmw7xnYmFya2VpdCcsCiAgICAgICAgICAgIGh0bWw6CiAg +ICAgICAgICAgICAgICAnPHA+UHJvIE1pa3JvdGVhbSAoU3RhbmRvcnQgw5cgRGllbnN0Z3J1cHBl +LCB6LiBCLiA8aT5LYW1lbi1BPC9pPikgd2lyZCBmw7xyIGplZGVuIFRhZyBpbSBaZWl0cmF1bSBn +ZXplaWd0LCB3aWUgdmllbGUgTWl0Z2xpZWRlciBpbSBEaWVuc3Qgd2FyZW4uPC9wPicgKwogICAg +ICAgICAgICAgICAgJzxoND5GYXJiZW48L2g0PicgKwogICAgICAgICAgICAgICAgJzx1bD4nICsK +ICAgICAgICAgICAgICAgICc8bGk+PGI+Um90PC9iPjogbmllbWFuZCBpbSBEaWVuc3QgdW5kIG1p +bmQuIGVpbmUgUGVyc29uIGhhdCBlaW5lbiBGcmVpLUNvZGUgKHdmci9kZnIvwqcyMS8yMWEvQVpB +KSDigJQgZGFzIFRlYW0gd29sbHRlIGtvbXBsZXR0IGZyZWkgaGFiZW4uPC9saT4nICsKICAgICAg +ICAgICAgICAgICc8bGk+PGI+R3JhdTwvYj46IG5pZW1hbmQgaW0gRGllbnN0LCBhYmVyIG1pbmQu +IGVpbmUgUGVyc29uIGlzdCBsZWdpdGltIGFid2VzZW5kIChVcmwva3IvS3VyL1NVL0xlaHJnYW5n +L0ZvcnRiaWxkdW5nL0JWL2FiZy9CQU8vSE8pLiBLZWluZSBMw7xja2UgaW0gbmVnYXRpdmVuIFNp +bm4uPC9saT4nICsKICAgICAgICAgICAgICAgICc8bGk+PGI+TmV1dHJhbDwvYj46IDEgUGVyc29u +IGltIERpZW5zdC48L2xpPicgKwogICAgICAgICAgICAgICAgJzxsaT48Yj5HcsO8bjwvYj46IDIr +IFBlcnNvbmVuIGltIERpZW5zdCAob2RlciBQb29sLVNwcmluZ2VyIGFrdGl2KS48L2xpPicgKwog +ICAgICAgICAgICAgICAgJzxsaT48Yj5Hb2xkPC9iPjogYWxsZSBUZWFtLU1pdGdsaWVkZXIgaW0g +RGllbnN0LjwvbGk+JyArCiAgICAgICAgICAgICAgICAnPC91bD4nICsKICAgICAgICAgICAgICAg +ICc8aDQ+4oCeSW0gRGllbnN0IjwvaDQ+JyArCiAgICAgICAgICAgICAgICAnPHA+TnVyIEYtL1Mt +L04tQ29kZXMgdW5kIFNvbmRlcmRpZW5zdCAoU0QvU0UpLiBGcmVpLVRhZ2UgKHdmci9kZnIvwqcy +MS8yMWEvQVpBKSwgVXJsYXViLCBLcmFuaywgS3VyLCBMZWhyZ2FuZyBldGMuIHrDpGhsZW4gPGI+ +bmljaHQ8L2I+IGFscyDigJ5kYSIuPC9wPicgKwogICAgICAgICAgICAgICAgJzxoND5TcGFsdGVu +a29wZi1NYXJraWVydW5nZW48L2g0PicgKwogICAgICAgICAgICAgICAgJzx1bD4nICsKICAgICAg +ICAgICAgICAgICc8bGk+PGI+V29jaGVuZW5kZW48L2I+IChTYS9Tbyk6IGdyYXVlciBIaW50ZXJn +cnVuZC48L2xpPicgKwogICAgICAgICAgICAgICAgJzxsaT48Yj5GZWllcnRhZ2U8L2I+OiByb3Rl +ciBTdHJlaWZlbiwgVG9vbHRpcCBtaXQgRmVpZXJ0YWdzbmFtZW4uPC9saT4nICsKICAgICAgICAg +ICAgICAgICc8bGk+PGI+RmVyaWVuPC9iPjogYmxhdWVyIFN0cmVpZmVuLCBUb29sdGlwIG1pdCBG +ZXJpZW4tQmV6ZWljaG51bmcuPC9saT4nICsKICAgICAgICAgICAgICAgICc8bGk+PGI+4pqgIFNv +bmRlcnRlcm1pbjwvYj46IFdhcm5kcmVpZWNrIGltIFNwYWx0ZW5rb3BmLiBLbGljayDDtmZmbmV0 +IGRpZSBCZXNjaHJlaWJ1bmcuPC9saT4nICsKICAgICAgICAgICAgICAgICc8L3VsPicgKwogICAg +ICAgICAgICAgICAgJzxoND5LbGljay1Ba3Rpb25lbjwvaDQ+JyArCiAgICAgICAgICAgICAgICAn +PHVsPicgKwogICAgICAgICAgICAgICAgJzxsaT48Yj5LbGljayBhdWYgVGVhbS1OYW1lPC9iPjog +a2xhcHB0IGRpZSBEZXRhaWwtWmVpbGVuIG1pdCBkZW4gZWluemVsbmVuIFBlcnNvbmVuIGF1Zi96 +dS4gVGFnZXN6ZWxsZW4gemVpZ2VuIGRhbm4gZGVuIGpld2VpbGlnZW4gQ29kZSAoRi1ER0wsIFVy +bCwga3IsIOKApikuPC9saT4nICsKICAgICAgICAgICAgICAgICc8bGk+PGI+S2xpY2sgYXVmIOKa +oDwvYj46IHplaWd0IGRpZSBTb25kZXJ0ZXJtaW4tRGV0YWlscy48L2xpPicgKwogICAgICAgICAg +ICAgICAgJzwvdWw+JyArCiAgICAgICAgICAgICAgICAnPHA+PGk+RGllIE5lYmVud2FjaGVuLVZl +cmFudHdvcnR1bmcgdW5kIGRpZSBUYWdlcy1BbnRlaWxlIHBybyBUZWFtIGhhYmVuIGpldHp0IGVp +Z2VuZSBLbGFwcGJsw7Zja2UgdW50ZXJoYWxiIOKAlCBzaWVoZSBkZXJlbiBlaWdlbmUgaS1CdXR0 +b25zIGbDvHIgRGV0YWlscy48L2k+PC9wPicKICAgICAgICB9LAogICAgICAgIG5lYmVud2FjaGVu +OiB7CiAgICAgICAgICAgIHRpdGVsOiAnVkkzLURHTC1WZXJhbnR3b3J0dW5nIE5lYmVud2FjaGVu +JywKICAgICAgICAgICAgaHRtbDoKICAgICAgICAgICAgICAgICc8cD5adXPDpHR6bGljaGUgSGVh +dG1hcCBmw7xyIGRpZSBkcmVpIE5lYmVud2FjaGVuIChCb2NodW0sIEFybnNiZXJnLCBGcmV1ZGVu +YmVyZykgw5cgQS9CL0MuPC9wPicgKwogICAgICAgICAgICAgICAgJzxoND5XYW5uIHdpcmQgZWlu +ZSBaZWxsZSBncsO8bj88L2g0PicgKwogICAgICAgICAgICAgICAgJzxwPkVpbmUgWmVsbGUgd2ly +ZCA8Yj5ncsO8bjwvYj4sIHdlbm4gYW4gZGVtIFRhZyBtaW5kZXN0ZW5zIGVpbiBNaXRnbGllZCBk +aWVzZXMgVGVhbXMgaW4gZGVyIDxiPjEuIG9kZXIgMi4gVkkzLURHTC1WZXJhbnR3b3J0dW5nPC9i +PiBlaW5lciBTY2hpY2h0IChGcsO8aC9TcMOkdC9OYWNodCkgc3RlaHQg4oCUIGFsc28gc2NocmFm +ZmllcnQgZGFyZ2VzdGVsbHQgd8OkcmUuIFNvbnN0IGJsZWlidCBkaWUgWmVsbGUgPGI+Z3JhdTwv +Yj4uPC9wPicgKwogICAgICAgICAgICAgICAgJzxwPkRpZSBWZXJhbnR3b3J0dW5nIHdpcmQgZHlu +YW1pc2NoIG5hY2ggPGI+RnVua3Rpb25zLVJhbmc8L2I+IChER0wvREdMaW4gJmd0OyAzLiBNYW5u +L0ZyYXUgJmd0OyBXYWNobGVpdHVuZykgdW5kIDxiPlBvc2l0aW9uPC9iPiBkZXIgamV3ZWlscyBk +aWVuc3QtbGVpc3RlbmRlbiBER0wtUGVyc29uZW4gZXJtaXR0ZWx0IOKAlCBpZGVudGlzY2ggenVy +IEdyaWQtTG9naWsuIERhIGRpZSBIYXVwdHdhY2hlbiBLYW1lbiB1bmQgSGFnZW4gZGllIFZlcmFu +dHdvcnR1bmcgbm9ybWFsZXJ3ZWlzZSBzdGVsbGVuLCBzaW5kIGdyw7xuZSBUYWdlIGF1ZiBkZW4g +TmViZW53YWNoZW4gZWluIEluZGlrYXRvciBmw7xyIGVpbmUgU29uZGVyLUtvbnN0ZWxsYXRpb24g +KEzDvGNrZSBhdWYgZGVyIEhhdXB0d2FjaGUsIENyb3NzLVdhY2hlbi1FaW5zYXR6KS48L3A+Jwog +ICAgICAgIH0sCiAgICAgICAgdGFnZXNhbnRlaWxlOiB7CiAgICAgICAgICAgIHRpdGVsOiAnVGFn +ZXMtQW50ZWlsZSBwcm8gVGVhbScsCiAgICAgICAgICAgIGh0bWw6CiAgICAgICAgICAgICAgICAn +PHA+VGFnZXMtQW50ZWlsZSBwcm8gVGVhbSBhbHMgZ2VzdGFwZWx0ZXIgMTAwJS1CYWxrZW46IHJv +dCAvIGdyYXUgLyBuZXV0cmFsIC8gZ3LDvG4gLyBnb2xkLjwvcD4nICsKICAgICAgICAgICAgICAg +ICc8aDQ+U29ydGllci1PcHRpb25lbjwvaDQ+JyArCiAgICAgICAgICAgICAgICAnPHVsPicgKwog +ICAgICAgICAgICAgICAgJzxsaT48Yj5SZWloZW5mb2xnZTwvYj46IFN0YW5kYXJkLVJlaWhlbmZv +bGdlIGF1cyBkZXIgQWRtaW4tS29uZmlndXJhdGlvbi48L2xpPicgKwogICAgICAgICAgICAgICAg +JzxsaT48Yj5Mw7xja2VuIHp1ZXJzdDwvYj46IHByb2JsZW1hdGlzY2hlIFRlYW1zICh2aWVsZSBy +b3RlIFRhZ2UpIHp1ZXJzdC48L2xpPicgKwogICAgICAgICAgICAgICAgJzxsaT48Yj5Hb2xkIHp1 +ZXJzdDwvYj46IGJlc3QgZ2VzdGVsbHRlIFRlYW1zIChhbGxlIE1pdGdsaWVkZXIgaMOkdWZpZyBn +bGVpY2h6ZWl0aWcgaW0gRGllbnN0KS48L2xpPicgKwogICAgICAgICAgICAgICAgJzxsaT48Yj5N +aW5kLiAxIGRhPC9iPjogUXVvdGUgZGVyIFRhZ2UgbWl0IEFiZGVja3VuZyAobWluZC4gMSBQZXJz +b24gaW0gRGllbnN0KS48L2xpPicgKwogICAgICAgICAgICAgICAgJzwvdWw+JyArCiAgICAgICAg +ICAgICAgICAnPHA+RGllIDxiPkFiZGVja3VuZyAlPC9iPiByZWNodHMgaXN0IGRlciBBbnRlaWwg +ZGVyIFRhZ2UgbWl0IG1pbmRlc3RlbnMgMSBQZXJzb24gaW0gRGllbnN0LjwvcD4nICsKICAgICAg +ICAgICAgICAgICc8cD5Qb29sLVRlYW1zIChMRC1XRCwgU08tV0QpIHdlcmRlbiBhdXNnZWtsYW1t +ZXJ0IOKAlCBzaWUgaGFiZW4gbnVyIDEgUGVyc29uIHVuZCBrZWluZW4gc2lubnZvbGxlbiBUYWdl +cy1BbnRlaWwuPC9wPicKICAgICAgICB9LAogICAgICAgIGFid2VzZW5oZWl0OiB7CiAgICAgICAg +ICAgIHRpdGVsOiAnQWJ3ZXNlbmhlaXRlbicsCiAgICAgICAgICAgIGh0bWw6CiAgICAgICAgICAg +ICAgICAnPHA+w5xiZXJzaWNodCBkZXIgTmljaHQtRGllbnN0LUNvZGVzLiBLbGljayBhdWYgZWlu +ZSBLYWNoZWwgemVpZ3QgZGllIFRvcC1QZXJzb25lbi48L3A+JyArCiAgICAgICAgICAgICAgICAn +PHA+PGI+SGlud2Vpczo8L2I+IEtyYW5raGVpdHN0YWdlICg8Y29kZT5rcjwvY29kZT4pIHdlcmRl +biBoaWVyIGJld3Vzc3QgbmljaHQgYXVzZ2V3ZXJ0ZXQuIFNpZSBzaW5kIG51ciBpbiBkZXIgRGV0 +YWlsdGFiZWxsZSBnYW56IHVudGVuIHNpY2h0YmFyLjwvcD4nICsKICAgICAgICAgICAgICAgICc8 +aDQ+S2F0ZWdvcmllbjwvaDQ+JyArCiAgICAgICAgICAgICAgICAnPHVsPicgKwogICAgICAgICAg +ICAgICAgJzxsaT48Yj5LdXI8L2I+OiA8Y29kZT5LdXI8L2NvZGU+IOKAlCBTcG9ydGt1cmVuLCBl +aWdlbnN0w6RuZGlnZSBLYXRlZ29yaWUuPC9saT4nICsKICAgICAgICAgICAgICAgICc8bGk+PGI+ +VXJsYXViPC9iPjogPGNvZGU+VXJsPC9jb2RlPi48L2xpPicgKwogICAgICAgICAgICAgICAgJzxs +aT48Yj5MZWhyZ2FuZyAvIEZvcnRiaWxkdW5nPC9iPjogPGNvZGU+TEc8L2NvZGU+LCA8Y29kZT5U +VDwvY29kZT4sIDxjb2RlPkF1RjwvY29kZT4sIDxjb2RlPkZCPC9jb2RlPiwgPGNvZGU+U2VtPC9j +b2RlPiwgPGNvZGU+RVRNPC9jb2RlPiwgPGNvZGU+RFU8L2NvZGU+LjwvbGk+JyArCiAgICAgICAg +ICAgICAgICAnPGxpPjxiPkFaLUF1c2dsZWljaCAoMjFlci1UYWdlKTwvYj46IDxjb2RlPsKnMjE8 +L2NvZGU+LCA8Y29kZT4yMWE8L2NvZGU+LCA8Y29kZT5BWkE8L2NvZGU+LjwvbGk+JyArCiAgICAg +ICAgICAgICAgICAnPC91bD4nCiAgICAgICAgfSwKICAgICAgICBwcm9zYTogewogICAgICAgICAg +ICB0aXRlbDogJ0RldGFpbGFuYWx5c2UgcHJvIFBlcnNvbicsCiAgICAgICAgICAgIGh0bWw6CiAg +ICAgICAgICAgICAgICAnPHA+RsO8ciBqZWRlIFBlcnNvbiB3aXJkIGVpbiBrdXJ6ZXIgVGV4dCBh +dXMgUmVnZWwtQmF1c3RlaW5lbiBnZW5lcmllcnQuIERpZSBSZWdlbG4gc2luZCByZWxhdGl2IHp1 +bSBEdXJjaHNjaG5pdHQgZGVyIGFrdHVlbGxlbiBBdXN3YWhsIChHcnVwcGVuLUZpbHRlciArIFN0 +YWItVG9nZ2xlIHdpcmtlbikuIFNvcnRpZXJ1bmc6IG5hY2ggPGI+U3RhbmRvcnQgKyBEaWVuc3Rn +cnVwcGU8L2I+IChLYW1lbi1BIOKGkiBTb2VzdC1XRCkuPC9wPicgKwogICAgICAgICAgICAgICAg +JzxoND5TY2hpY2h0IC8gRnVua3Rpb248L2g0PicgKwogICAgICAgICAgICAgICAgJzx1bD4nICsK +ICAgICAgICAgICAgICAgICc8bGk+PGI+R2VzYW10ICZndDsgMSwyw5fDmDwvYj4g4oaSIOKAnm1l +aHIgRGllbnN0ZSBhbHMgw7xibGljaCIgwrcgPGI+Jmx0OyAwLDfDl8OYPC9iPiDihpIg4oCedW50 +ZXJkdXJjaHNjaG5pdHRsaWNoIHdlbmlnZSIuPC9saT4nICsKICAgICAgICAgICAgICAgICc8bGk+ +PGI+TmFjaHQtIC8gRnLDvGgtIC8gU3DDpHRhbnRlaWwgJmd0OyAxLDPDlyDDmC1BbnRlaWw8L2I+ +IOKGkiDigJ52ZXJtZWhydCDigKYiLjwvbGk+JyArCiAgICAgICAgICAgICAgICAnPGxpPjxiPnxm +cnVlaCDiiJIgc3BhZXR8IC8gKGZydWVoICsgc3BhZXQpICZsdDsgMCwxNTwvYj4g4oaSIOKAnmlu +IEZyw7xoIHVuZCBTcMOkdCBhdXNnZWdsaWNoZW4iLjwvbGk+JyArCiAgICAgICAgICAgICAgICAn +PGxpPjxiPkRHTCAmZ3Q7IDEsMsOXw5g8L2I+LCA8Yj5XREYgJmd0OyAzMCAlICZhbXA7ICZndDsg +MSwyw5fDmDwvYj4sIDxiPkZCUCAmZ3Q7IDEsNcOXw5g8L2I+LCA8Yj5Tb25kZXJkaWVuc3QgJmd0 +OyAxLDXDl8OYPC9iPi48L2xpPicgKwogICAgICAgICAgICAgICAgJzwvdWw+JyArCiAgICAgICAg +ICAgICAgICAnPGg0PldvY2hlbmVuZGUgLyBGZWllcnRhZyAvIEJlbGFzdHVuZ3MtRGljaHRlPC9o +ND4nICsKICAgICAgICAgICAgICAgICc8dWw+JyArCiAgICAgICAgICAgICAgICAnPGxpPjxiPldF +LURpZW5zdGUgJmd0OyAxLDPDl8OYPC9iPiBvZGVyIDxiPj0gMDwvYj4gYmVpICZndDsgMTAgR2Vz +YW10ZGllbnN0ZW4uPC9saT4nICsKICAgICAgICAgICAgICAgICc8bGk+PGI+V0UgZHVyY2hnZWFy +YmVpdGV0IOKJpSA0IHVuZCAmZ3Q7IDEsM8OXw5g8L2I+IOKGkiDigJ5ob2hlIEJlbGFzdHVuZ3Mt +RGljaHRlIi48L2xpPicgKwogICAgICAgICAgICAgICAgJzxsaT48Yj5GZWllcnRhZy1EaWVuc3Rl +IOKJpSAzIHVuZCAmZ3Q7IDEsM8OXw5g8L2I+IOKGkiDigJ7DvGJlcmR1cmNoc2Nobml0dGxpY2gi +LjwvbGk+JyArCiAgICAgICAgICAgICAgICAnPC91bD4nICsKICAgICAgICAgICAgICAgICc8aDQ+ +TWlrcm90ZWFtLUJlenVnPC9oND4nICsKICAgICAgICAgICAgICAgICc8dWw+JyArCiAgICAgICAg +ICAgICAgICAnPGxpPjxiPlBvb2wtUGVyc29uIChMRC9TTyk8L2I+OiBBbnphaGwgU3ByaW5nZXIt +VGFnZSBmw7xyIFppZWwtU3RhbmRvcnQuPC9saT4nICsKICAgICAgICAgICAgICAgICc8bGk+PGI+ +UmVndWzDpHJlcyBUZWFtIG1pdCDiiaUgMjAgJSBMw7xja2VudGFnZW48L2I+OiBIaW53ZWlzIGFs +cyBLb250ZXh0LjwvbGk+JyArCiAgICAgICAgICAgICAgICAnPC91bD4nICsKICAgICAgICAgICAg +ICAgICc8aDQ+QWJ3ZXNlbmhlaXRlbjwvaDQ+JyArCiAgICAgICAgICAgICAgICAnPHVsPicgKwog +ICAgICAgICAgICAgICAgJzxsaT48Yj5VcmxhdWIgJmd0OyAxLDTDl8OYPC9iPiwgPGI+TGVocmdh +bmcgJmd0OyA1PC9iPiwgPGI+QVpBICZndDsgNTwvYj4g4oaSIGpld2VpbHMgRXJ3w6RobnVuZy48 +L2xpPicgKwogICAgICAgICAgICAgICAgJzxsaT48Yj5LdXIgJmd0OyAwPC9iPiDihpIgSGlud2Vp +cyBhbHMgSW5mbyAoa2VpbiBXYXJuc2lnbmFsKS48L2xpPicgKwogICAgICAgICAgICAgICAgJzxs +aT48Yj5LcmFuazwvYj4gd2lyZCBoaWVyIDxiPm5pY2h0PC9iPiBlcnfDpGhudCAoRGF0ZW5zY2h1 +dHopLjwvbGk+JyArCiAgICAgICAgICAgICAgICAnPC91bD4nICsKICAgICAgICAgICAgICAgICc8 +cD5QZXJzb25lbiBtaXQgd2VuaWdlciBhbHMgMyBHZXNhbXRkaWVuc3RlbiB3ZXJkZW4gw7xiZXJz +cHJ1bmdlbiAoenUgd2VuaWcgRGF0ZW5iYXNpcykuPC9wPicKICAgICAgICB9CiAgICB9OwoKICAg +IGZ1bmN0aW9uIHN0YXRJbmZvWmVpZ2VuKHNjaGx1ZXNzZWwpIHsKICAgICAgICB2YXIgaW5mbyA9 +IFNUQVRfSU5GT1Nbc2NobHVlc3NlbF07CiAgICAgICAgaWYgKCFpbmZvKSByZXR1cm47CiAgICAg +ICAgdmFyIGZ1c3MgPSAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1wcmltYWVyIiBpZD0ic3RhdHMt +aW5mby1zY2hsaWVzc2VuIj5WZXJzdGFuZGVuPC9idXR0b24+JzsKICAgICAgICBtb2RhbFplaWdl +bignSW5mbzogJyArIGluZm8udGl0ZWwsIGluZm8uaHRtbCwgZnVzcywgbnVsbCk7CiAgICAgICAg +ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0YXRzLWluZm8tc2NobGllc3NlbicpLmFkZEV2ZW50 +TGlzdGVuZXIoJ2NsaWNrJywgbW9kYWxTY2hsaWVzc2VuKTsKICAgIH0KCiAgICBmdW5jdGlvbiBr +cGlLYXJ0ZSh3ZXJ0LCBsYWJlbCwgZmFyYmUpIHsKICAgICAgICByZXR1cm4gJzxkaXYgY2xhc3M9 +InN0YXRzLWtwaSI+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJzdGF0cy1rcGktd2VydCIg +c3R5bGU9ImNvbG9yOicgKyBmYXJiZSArICciPicgKyB3ZXJ0ICsgJzwvZGl2PicgKwogICAgICAg +ICAgICAnPGRpdiBjbGFzcz0ic3RhdHMta3BpLWxhYmVsIj4nICsgbGFiZWwgKyAnPC9kaXY+PC9k +aXY+JzsKICAgIH0KCiAgICAvLyBCYWxrZW4tQW5zaWNodDogcHJvIFBlcnNvbiBlaW4gZ2VzdGFw +ZWx0ZXIgQmFsa2VuLCBkZXNzZW4gU2VnbWVudGUKICAgIC8vIHNpY2ggbmFjaCBkZXIgYWt0dWVs +bCBha3RpdmVuIEthdGVnb3JpZSByaWNodGVuIChTY2hpY2h0ZW4gLwogICAgLy8gV29jaGVuZW5k +ZGllbnN0ZSAvIEZvcnRiaWxkdW5nIC8gQWJ3ZXNlbmhlaXQpLiBTb3J0aWVydW5nIG5hY2ggZGVy +CiAgICAvLyBLYXRlZ29yaWUtU3VtbWUsIFJpY2h0dW5nIHVtc2NoYWx0YmFyLgogICAgLy8KICAg +IC8vIEtSQU5LIGlzdCBiZXd1c3N0IG5pcmdlbmR3byBlbnRoYWx0ZW4g4oCUIERhdGVuc2NodXR6 +LUFuZm9yZGVydW5nLgogICAgZnVuY3Rpb24gYmFsa2VuUmVuZGVybihzdGF0cykgewogICAgICAg +IHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGF0cy1jaGFydC1iYWxrZW4nKTsK +ICAgICAgICBpZiAoIWVsKSByZXR1cm47CiAgICAgICAgaWYgKCFzdGF0cy5sZW5ndGgpIHsKICAg +ICAgICAgICAgZWwuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9ImFkbWluLWVtcHR5Ij4nICsKICAg +ICAgICAgICAgICAgICcnICsKICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJhZG1pbi1lbXB0 +eS10aXRlbCI+S2VpbmUgU3RhdGlzdGlrLURhdGVuPC9kaXY+JyArCiAgICAgICAgICAgICAgICAn +PGRpdiBjbGFzcz0iYWRtaW4tZW1wdHktdGV4dCI+SW0gYWt0dWVsbGVuIEZpbHRlciBzaW5kIGtl +aW5lIFBlcnNvbmVuIG1pdCBFaW50cmFlZ2VuLiBGaWx0ZXIgenVydWVja3NldHplbiBvZGVyIERh +dGVuIGVyZmFzc2VuLjwvZGl2PicgKwogICAgICAgICAgICAgICAgJzwvZGl2Pic7CiAgICAgICAg +ICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIHZhciBrYXQgPSBTVEFUX0tBVEVHT1JJRU5b +X3N0YXRLYXRlZ29yaWVdIHx8IFNUQVRfS0FURUdPUklFTi5zY2hpY2h0ZW47CiAgICAgICAgdmFy +IHJpY2h0dW5nID0gX3N0YXRTb3J0UmljaHR1bmc7CgogICAgICAgIC8vIFNvcnRpZXItS29waWUu +IEJlaSBHbGVpY2hzdGFuZCBhbHBoYWJldGlzY2ggbmFjaCBOYW1lIGFscyBUaWVicmVha2VyLgog +ICAgICAgIHZhciByb3dzID0gc3RhdHMuc2xpY2UoKS5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsKICAg +ICAgICAgICAgdmFyIGF2ID0gX3N0YXRLYXRTdW1tZShhLCBrYXQpLCBidiA9IF9zdGF0S2F0U3Vt +bWUoYiwga2F0KTsKICAgICAgICAgICAgaWYgKGF2ICE9PSBidikgcmV0dXJuIHJpY2h0dW5nID09 +PSAnZGVzYycgPyBidiAtIGF2IDogYXYgLSBidjsKICAgICAgICAgICAgcmV0dXJuIChhLm5hbWUg +fHwgJycpLmxvY2FsZUNvbXBhcmUoYi5uYW1lIHx8ICcnLCAnZGUnKTsKICAgICAgICB9KTsKCiAg +ICAgICAgLy8gU2thbGllcnVuZyBkZXMgSGF1cHRiYWxrZW5zIGF1ZiBkaWUgbWF4aW1hbGUgS2F0 +ZWdvcmllLVN1bW1lLgogICAgICAgIHZhciBtYXhTdW0gPSBNYXRoLm1heC5hcHBseShudWxsLCBy +b3dzLm1hcChmdW5jdGlvbihzKSB7IHJldHVybiBfc3RhdEthdFN1bW1lKHMsIGthdCk7IH0pKSB8 +fCAxOwogICAgICAgIC8vIEV4dHJhLVNwYWx0ZSAoei5CLiBrb21wbGV0dGUgV0UpOiBlaWdlbmUg +U2thbGllcnVuZwogICAgICAgIHZhciBtYXhFeHRyYSA9IDE7CiAgICAgICAgaWYgKGthdC5leHRy +YSkgewogICAgICAgICAgICBtYXhFeHRyYSA9IE1hdGgubWF4LmFwcGx5KG51bGwsIHJvd3MubWFw +KGZ1bmN0aW9uKHMpIHsgcmV0dXJuIHNba2F0LmV4dHJhLmZlbGRdIHx8IDA7IH0pKSB8fCAxOwog +ICAgICAgIH0KCiAgICAgICAgLy8gU3BhbHRlbi1Lb3BmemVpbGU6IFNlZ21lbnQtTGFiZWxzICsg +U3VtbWVuLUxhYmVsICsgZ2dmLiBFeHRyYQogICAgICAgIHZhciBzZWdMYWJlbHMgPSBrYXQuc2Vn +bWVudGUubWFwKGZ1bmN0aW9uKHNlZykgewogICAgICAgICAgICByZXR1cm4gJzxzcGFuIGNsYXNz +PSJzdGF0cy1iYWxrZW4tc2VnLWxhYmVsIiBzdHlsZT0iY29sb3I6JyArIGVzY2FwZUF0dHIoc2Vn +LmZhcmJlKSArICciPicgKyBlc2NhcGVIVE1MKHNlZy5sYWJlbCkgKyAnPC9zcGFuPic7CiAgICAg +ICAgfSkuam9pbignIMK3ICcpOwogICAgICAgIC8vIM6jLUxhYmVsOiBkYXMgZ2VzYW10ZSDOoy1M +YWJlbCAoei5CLiAizqMgRGllbnN0ZSIpIGlzdCBrbGlja2JhciB1bmQKICAgICAgICAvLyBvZWZm +bmV0IGRhcyBJbmZvLU1vZGFsLiBGcnVlaGVyIGdhYiBlcyBlaW4genVzYWV0emxpY2hlcyAoPykt +SWNvbgogICAgICAgIC8vIOKAlCBlbnRmZXJudCwgd2VpbCBkaWUgZG90dGVkLVVuZGVybGluZS1B +ZmZvcmRhbmNlIHBsdXMgZGVyIGdlc2FtdGUKICAgICAgICAvLyBrbGlja2JhcmUgVGV4dCBhbHMg +SGlud2VpcyBhdXNyZWljaGVuLgogICAgICAgIHZhciBzaWdtYVRpcCA9ICfOoyA9IFN1bW1lLiBL +bGljayDDtmZmbmV0IGRpZSBFcmtsw6RydW5nLic7CiAgICAgICAgdmFyIHNvcnRMYWJlbEh0bWwg +PSAnPHNwYW4gY2xhc3M9InN0YXRzLXNpZ21hLWhpbGZlIiBkYXRhLXNpZ21hLWluZm89IjEiIHRp +dGxlPSInICsgZXNjYXBlQXR0cihzaWdtYVRpcCkgKyAnIj4nICsgZXNjYXBlSFRNTChrYXQuc29y +dExhYmVsKSArICc8L3NwYW4+JzsKICAgICAgICAvLyBLYXRlZ29yaWUtQmVzY2hyZWlidW5nIChv +cHRpb25hbCwgbnVyIGZ1ZXIgS2F0ZWdvcmllbiBtaXQga29udGV4dHVlbGxlcgogICAgICAgIC8v +IEVybGFldXRlcnVuZyAtLSB6LkIuICJFaW5nZXNwcnVuZ2VuIjogd2FzIHdpcmQgZWlnZW50bGlj +aCBnZXphZWhsdD8pLgogICAgICAgIHZhciBiZXNjaHJlaWJ1bmdIdG1sID0gJyc7CiAgICAgICAg +aWYgKGthdC5iZXNjaHJlaWJ1bmcpIHsKICAgICAgICAgICAgYmVzY2hyZWlidW5nSHRtbCA9ICc8 +cCBjbGFzcz0ic3RhdHMta2F0LWJlc2NocmVpYnVuZyI+JyArIGthdC5iZXNjaHJlaWJ1bmcgKyAn +PC9wPic7CiAgICAgICAgfQogICAgICAgIHZhciBrb3BmID0gYmVzY2hyZWlidW5nSHRtbCArICc8 +ZGl2IGNsYXNzPSJzdGF0cy1iYWxrZW4ta29wZiI+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNz +PSJzdGF0cy1iYWxrZW4tbmFtZSI+PC9kaXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJz +dGF0cy1iYWxrZW4tYmFyLXdyYXAiPjxzcGFuIGNsYXNzPSJzdGF0cy1iYWxrZW4ta29wZi1sYWJl +bCI+JyArIHNlZ0xhYmVscyArICc8L3NwYW4+PC9kaXY+JyArCiAgICAgICAgICAgICc8ZGl2IGNs +YXNzPSJzdGF0cy1iYWxrZW4tdG90YWwiPjxzcGFuIGNsYXNzPSJzdGF0cy1iYWxrZW4ta29wZi1s +YWJlbCI+JyArIHNvcnRMYWJlbEh0bWwgKyAnICcgKyAocmljaHR1bmcgPT09ICdkZXNjJyA/ICfi +hpMnIDogJ+KGkScpICsgJzwvc3Bhbj48L2Rpdj4nICsKICAgICAgICAgICAgKGthdC5leHRyYSA/ +ICc8ZGl2IGNsYXNzPSJzdGF0cy1iYWxrZW4tZXh0cmEiPjxzcGFuIGNsYXNzPSJzdGF0cy1iYWxr +ZW4ta29wZi1sYWJlbCIgc3R5bGU9ImNvbG9yOicgKyBlc2NhcGVBdHRyKGthdC5leHRyYS5mYXJi +ZSkgKyAnIj4nICsgZXNjYXBlSFRNTChrYXQuZXh0cmEubGFiZWwpICsgJzwvc3Bhbj48L2Rpdj4n +IDogJycpICsKICAgICAgICAgICAgJzwvZGl2Pic7CgogICAgICAgIHZhciBodG1sID0gJyc7CiAg +ICAgICAgcm93cy5mb3JFYWNoKGZ1bmN0aW9uKHMpIHsKICAgICAgICAgICAgdmFyIHN1bW1lID0g +X3N0YXRLYXRTdW1tZShzLCBrYXQpOwogICAgICAgICAgICAvLyBTZWdtZW50ZSBiYXVlbgogICAg +ICAgICAgICB2YXIgc2VnSHRtbCA9ICcnOwogICAgICAgICAgICBrYXQuc2VnbWVudGUuZm9yRWFj +aChmdW5jdGlvbihzZWcpIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gc1tzZWcuZmVsZF0gfHwg +MDsKICAgICAgICAgICAgICAgIGlmICh2ID09PSAwKSByZXR1cm47CiAgICAgICAgICAgICAgICB2 +YXIgYnJlaXRlID0gKHYgLyBtYXhTdW0pICogMTAwOwogICAgICAgICAgICAgICAgc2VnSHRtbCAr +PSAnPGRpdiBjbGFzcz0ic3RhdHMtYmFsa2VuLXNlZ21lbnQiIHN0eWxlPSJ3aWR0aDonICsgYnJl +aXRlICsgJyU7YmFja2dyb3VuZDonICsgZXNjYXBlQXR0cihzZWcuZmFyYmUpICsgJyIgdGl0bGU9 +IicgKyBlc2NhcGVBdHRyKHNlZy5sYWJlbCArICc6ICcgKyB2KSArICciPicgKyB2ICsgJzwvZGl2 +Pic7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICAvLyBFeHRyYS1TcGFsdGUgKGtvbXBsZXR0 +ZSBXRSkKICAgICAgICAgICAgdmFyIGV4dHJhSHRtbCA9ICcnOwogICAgICAgICAgICBpZiAoa2F0 +LmV4dHJhKSB7CiAgICAgICAgICAgICAgICB2YXIgZXYgPSBzW2thdC5leHRyYS5mZWxkXSB8fCAw +OwogICAgICAgICAgICAgICAgdmFyIGViID0gKGV2IC8gbWF4RXh0cmEpICogMTAwOwogICAgICAg +ICAgICAgICAgZXh0cmFIdG1sID0gJzxkaXYgY2xhc3M9InN0YXRzLWJhbGtlbi1leHRyYSIgdGl0 +bGU9IicgKyBlc2NhcGVBdHRyKGthdC5leHRyYS5sYWJlbCArICc6ICcgKyBldikgKyAnIj4nICsK +ICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ic3RhdHMtYmFsa2VuLWtvbnRleHQtYmFy +Ij48ZGl2IGNsYXNzPSJzdGF0cy1iYWxrZW4ta29udGV4dC1maWxsIiBzdHlsZT0id2lkdGg6JyAr +IGViICsgJyU7YmFja2dyb3VuZDonICsgZXNjYXBlQXR0cihrYXQuZXh0cmEuZmFyYmUpICsgJyI+ +PC9kaXY+PC9kaXY+JyArCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InN0YXRzLWJh +bGtlbi1rb250ZXh0LXdlcnQiPicgKyBldiArICc8L2Rpdj4nICsKICAgICAgICAgICAgICAgICAg +ICAnPC9kaXY+JzsKICAgICAgICAgICAgfQogICAgICAgICAgICBodG1sICs9ICc8ZGl2IGNsYXNz +PSJzdGF0cy1iYWxrZW4temVpbGUiPicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InN0 +YXRzLWJhbGtlbi1uYW1lIiB0aXRsZT0iJyArIGVzY2FwZUF0dHIoX3N0YXRBbnplaWdlTmFtZShz +KSkgKyAnIj4nICsgZXNjYXBlSFRNTChfc3RhdEFuemVpZ2VOYW1lKHMpKSArICc8L2Rpdj4nICsK +ICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJzdGF0cy1iYWxrZW4tYmFyLXdyYXAiPicgKyBz +ZWdIdG1sICsgJzwvZGl2PicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InN0YXRzLWJh +bGtlbi10b3RhbCIgdGl0bGU9IicgKyBlc2NhcGVBdHRyKGthdC5zb3J0TGFiZWwgKyAnOiAnICsg +c3VtbWUpICsgJyI+JyArIHN1bW1lICsgJzwvZGl2PicgKwogICAgICAgICAgICAgICAgZXh0cmFI +dG1sICsKICAgICAgICAgICAgICAgICc8L2Rpdj4nOwogICAgICAgIH0pOwoKICAgICAgICBlbC5p +bm5lckhUTUwgPSAnPGRpdiBjbGFzcz0ic3RhdHMtYmFsa2VuLWNvbnRhaW5lciI+JyArIGtvcGYg +KyBodG1sICsgJzwvZGl2Pic7CiAgICAgICAgLy8gS2xpY2sgYXVmIM6jLVNwYW4gaW0gS29wZiDD +tmZmbmV0IGVpbiBrbmFwcGVzIEVya2zDpHJ1bmdzLU1vZGFsLgogICAgICAgIGVsLnF1ZXJ5U2Vs +ZWN0b3JBbGwoJ1tkYXRhLXNpZ21hLWluZm9dJykuZm9yRWFjaChmdW5jdGlvbihzcCkgewogICAg +ICAgICAgICBzcC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIF96ZWlnZVNpZ21hSW5mbyk7CiAg +ICAgICAgfSk7CiAgICB9CgogICAgZnVuY3Rpb24gX3plaWdlU2lnbWFJbmZvKCkgewogICAgICAg +IHZhciBodG1sID0KICAgICAgICAgICAgJzxwPjxiPs6jPC9iPiBpc3QgZGVyIGdyaWVjaGlzY2hl +IEdyb8OfYnVjaHN0YWJlIFNpZ21hIHVuZCBzdGVodCBpbiBkZXIgTWF0aGVtYXRpayBmw7xyIGVp +bmUgPGI+U3VtbWU8L2I+LjwvcD4nICsKICAgICAgICAgICAgJzxwPkluIGRpZXNlciBTdGF0aXN0 +aWsgYmVkZXV0ZXQgPGNvZGU+zqMgRGllbnN0ZTwvY29kZT4gei5CLiDigJ5TdW1tZSBhbGxlciBE +aWVuc3RlIiAoRnLDvGggKyBTcMOkdCArIE5hY2h0ICsgU29uZGVyZGllbnN0KS4gRW50c3ByZWNo +ZW5kOjwvcD4nICsKICAgICAgICAgICAgJzx1bD4nICsKICAgICAgICAgICAgJzxsaT48Yj7OoyBX +RStGZWllcnRhZzwvYj46IFNhK1NvLURpZW5zdGUgKyBGZWllcnRhZ3MtRGllbnN0ZSBwcm8gUGVy +c29uLjwvbGk+JyArCiAgICAgICAgICAgICc8bGk+PGI+zqMgRm9ydGJpbGR1bmc8L2I+OiBGb3J0 +YmlsZHVuZyArIERpZW5zdHVudGVycmljaHQgKyBMZWhyZ2FuZy48L2xpPicgKwogICAgICAgICAg +ICAnPGxpPjxiPs6jIEFid2VzZW5oZWl0PC9iPjogVXJsYXViICsgS3VyICsgU29uZGVydXJsYXVi +LjwvbGk+JyArCiAgICAgICAgICAgICc8L3VsPicgKwogICAgICAgICAgICAnPHA+RGllIFNwYWx0 +ZSBnYW56IHJlY2h0cyBpbiBqZWRlciBQZXJzb24tWmVpbGUgemVpZ3QgZGllc2VuIFN1bW1lbndl +cnQuPC9wPic7CiAgICAgICAgdmFyIGZ1c3MgPSAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1wcmlt +YWVyIiBpZD0ic2lnbWEtaW5mby1zY2hsaWVzc2VuIj5WZXJzdGFuZGVuPC9idXR0b24+JzsKICAg +ICAgICBtb2RhbFplaWdlbignV2FzIGJlZGV1dGV0IM6jPycsIGh0bWwsIGZ1c3MsIG51bGwpOwog +ICAgICAgIHZhciBidG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2lnbWEtaW5mby1zY2hs +aWVzc2VuJyk7CiAgICAgICAgaWYgKGJ0bikgYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywg +bW9kYWxTY2hsaWVzc2VuKTsKICAgIH0KCiAgICAvLyBJZGVtcG90ZW50ZXIgTGlzdGVuZXItSG9v +ayBmdWVyIEthdGVnb3JpZS1CdXR0b25zICsgUmljaHR1bmdzLUtub3BmLgogICAgLy8gV2lyZCBh +dXMgc3RhdGlzdGlrUmVuZGVybigpIGJlaSBqZWRlbSBSZW5kZXJuIGF1ZmdlcnVmZW4sIHJlZ2lz +dHJpZXJ0CiAgICAvLyBkaWUgSGFuZGxlciBhYmVyIG51ciBiZWltIGVyc3RlbiBUcmVmZmVyIChk +YXRhLWZlcnRpZykuCiAgICBmdW5jdGlvbiBiYWxrZW5Tb3J0TGlzdGVuZXJTaWNoZXJuKCkgewog +ICAgICAgIC8vIE51ciBCdXR0b25zIG1pdCBkYXRhLXN0YXRzLWthdCAoPSBTY2hpY2h0dmVydGVp +bHVuZ3MtS2F0ZWdvcmllbikKICAgICAgICAvLyBhZHJlc3NpZXJlbiDigJQgc29uc3QgZ3JlaWZ0 +IGRlciBIYW5kbGVyIGF1Y2ggYXVmIGRpZSBNaWtyb3RlYW0tCiAgICAgICAgLy8gU29ydC1CdXR0 +b25zIHp1LCBkaWUgZGllc2VsYmUgS2xhc3NlIC5zdGF0cy1rYXQtYnRuIG51dHplbi4KICAgICAg +ICB2YXIgYnRucyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXN0YXRzLWthdF0n +KTsKICAgICAgICBidG5zLmZvckVhY2goZnVuY3Rpb24oYikgewogICAgICAgICAgICBpZiAoYi5k +YXRhc2V0LmZlcnRpZykgcmV0dXJuOwogICAgICAgICAgICBiLmFkZEV2ZW50TGlzdGVuZXIoJ2Ns +aWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBfc3RhdEthdGVnb3JpZSA9IGIuZ2V0 +QXR0cmlidXRlKCdkYXRhLXN0YXRzLWthdCcpIHx8ICdzY2hpY2h0ZW4nOwogICAgICAgICAgICAg +ICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtc3RhdHMta2F0XScpLmZvckVhY2go +ZnVuY3Rpb24oeCkgeyB4LmNsYXNzTGlzdC5yZW1vdmUoJ2FrdGl2Jyk7IH0pOwogICAgICAgICAg +ICAgICAgYi5jbGFzc0xpc3QuYWRkKCdha3RpdicpOwogICAgICAgICAgICAgICAgaWYgKFouc3Rh +dGlzdGlrKSBiYWxrZW5SZW5kZXJuKHN0YXRGaWx0ZXJuKFouc3RhdGlzdGlrKSk7CiAgICAgICAg +ICAgIH0pOwogICAgICAgICAgICBiLmRhdGFzZXQuZmVydGlnID0gJzEnOwogICAgICAgIH0pOwog +ICAgICAgIHZhciBidG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhdHMtc29ydC1yaWNo +dHVuZycpOwogICAgICAgIGlmIChidG4gJiYgIWJ0bi5kYXRhc2V0LmZlcnRpZykgewogICAgICAg +ICAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAg +ICAgICAgIF9zdGF0U29ydFJpY2h0dW5nID0gKF9zdGF0U29ydFJpY2h0dW5nID09PSAnZGVzYycp +ID8gJ2FzYycgOiAnZGVzYyc7CiAgICAgICAgICAgICAgICB2YXIgcGZlaWwgPSBidG4ucXVlcnlT +ZWxlY3RvcignLnN0YXRzLXNvcnQtcGZlaWwnKTsKICAgICAgICAgICAgICAgIGlmIChwZmVpbCkg +cGZlaWwudGV4dENvbnRlbnQgPSAoX3N0YXRTb3J0UmljaHR1bmcgPT09ICdkZXNjJykgPyAn4oaT +JyA6ICfihpEnOwogICAgICAgICAgICAgICAgaWYgKFouc3RhdGlzdGlrKSBiYWxrZW5SZW5kZXJu +KHN0YXRGaWx0ZXJuKFouc3RhdGlzdGlrKSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBi +dG4uZGF0YXNldC5mZXJ0aWcgPSAnMSc7CiAgICAgICAgfQogICAgfQoKICAgIC8vIFdFL0ZULUZh +aXJuZXNzIOKAlCB2aXN1YWxpc2llcnQgZGllIFZlcnRlaWx1bmcgdm9uIFdvY2hlbmVuZC0gdW5k +CiAgICAvLyBGZWllcnRhZ3NkaWVuc3RlbiBnZWdlbiBkZW4gR3J1cHBlbi1EdXJjaHNjaG5pdHQu +CiAgICAvLwogICAgLy8gRGlzanVua3Qgc2VpdCAyMDI2LTA1OiBXRSA9IFNhK1NvIE9ITkUgRmVp +ZXJ0YWdlLCBGVCA9IEZlaWVydGFnZQogICAgLy8gKGVnYWwgb2IgV29jaGVudGFnIG9kZXIgV0Up +LiBFaW4gS2FyZnJlaXRhZy1TYSB6YWVobHQgbnVyIGluIEZULgogICAgLy8KICAgIC8vIEZpbHRl +ci1TY2h3ZWxsZSBkeW5hbWlzY2g6IG1heCgzLCAxMCAlIHZvbSBBdmctR2VzYW10KS4gU2thbGll +cnQKICAgIC8vIG1pdCBkZW0gQ3V0LVplaXRyYXVtICgwMS4wMS4gLSBoZXV0ZSsxNFQgPSBWZXJi +aW5kbGljaGtlaXRzZW5kZSkuCiAgICBmdW5jdGlvbiBmYWlybmVzc1JlbmRlcm4oc3RhdHMpIHsK +ICAgICAgICB2YXIgYWt0aXZlID0gc3RhdHMuZmlsdGVyKGZ1bmN0aW9uKHMpIHsgcmV0dXJuIHMu +Z2VzYW10ID4gMDsgfSk7CiAgICAgICAgaWYgKGFrdGl2ZS5sZW5ndGggPT09IDApIHsKICAgICAg +ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0YXRzLWZhaXJuZXNzJykuaW5uZXJIVE1M +ID0gJzxwIGNsYXNzPSJ0ZXh0LW11dGVkIiBzdHlsZT0icGFkZGluZzoxNnB4O3RleHQtYWxpZ246 +Y2VudGVyIj5OaWNodCBnZW7DvGdlbmQgRGF0ZW48L3A+JzsKICAgICAgICAgICAgcmV0dXJuOwog +ICAgICAgIH0KICAgICAgICB2YXIgc3VtR2VzID0gMDsKICAgICAgICBha3RpdmUuZm9yRWFjaChm +dW5jdGlvbihzKSB7IHN1bUdlcyArPSBzLmdlc2FtdDsgfSk7CiAgICAgICAgdmFyIGF2Z0dlc2Ft +dCA9IHN1bUdlcyAvIGFrdGl2ZS5sZW5ndGg7CiAgICAgICAgdmFyIHNjaHdlbGxlICA9IE1hdGgu +bWF4KDMsIGF2Z0dlc2FtdCAqIDAuMTApOwogICAgICAgIHZhciByZWxldmFudCAgPSBha3RpdmUu +ZmlsdGVyKGZ1bmN0aW9uKHMpIHsgcmV0dXJuIHMuZ2VzYW10ID49IHNjaHdlbGxlOyB9KTsKICAg +ICAgICBpZiAocmVsZXZhbnQubGVuZ3RoID09PSAwKSB7CiAgICAgICAgICAgIGRvY3VtZW50Lmdl +dEVsZW1lbnRCeUlkKCdzdGF0cy1mYWlybmVzcycpLmlubmVySFRNTCA9ICc8cCBjbGFzcz0idGV4 +dC1tdXRlZCIgc3R5bGU9InBhZGRpbmc6MTZweDt0ZXh0LWFsaWduOmNlbnRlciI+TmljaHQgZ2Vu +w7xnZW5kIERhdGVuPC9wPic7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAg +IC8vIERpc2p1bmt0ZSBXZXJ0ZTogV0UgPSByZWluZXMgU2ErU28gKG9obmUgRmVpZXJ0YWcpLCBG +VCA9IEZlaWVydGFnCiAgICAgICAgZnVuY3Rpb24gd2VXZXJ0KHMpICAgeyByZXR1cm4gKHMuc2Ft +c3RhZ0RpZW5zdGUgfHwgMCkgKyAocy5zb25udGFnRGllbnN0ZSB8fCAwKTsgfQogICAgICAgIGZ1 +bmN0aW9uIGZ0V2VydChzKSAgIHsgcmV0dXJuIHMuZmVpZXJ0YWdEaWVuc3RlIHx8IDA7IH0KICAg +ICAgICBmdW5jdGlvbiBrd1dlcnQocykgICB7IHJldHVybiBzLmtvbXBsZXR0ZVdFIHx8IDA7IH0K +ICAgICAgICAvLyBXRS1EaWVuc3QtUXVvdGU6IEFudGVpbCBEaWVuc3QgYW4gdmVyZnVlZ2JhcmVu +IFdFLVRhZ2VuLgogICAgICAgIC8vIE1hY2h0IFBlcnNvbmVuIG1pdCB2aWVsL3dlbmlnIFVybGF1 +YiB2ZXJnbGVpY2hiYXIuCiAgICAgICAgZnVuY3Rpb24gd2VRdW90ZShzKSB7CiAgICAgICAgICAg +IHZhciB2ZXJmID0gcy53ZVRhZ2VWZXJmdWVnYmFyIHx8IDA7CiAgICAgICAgICAgIGlmICh2ZXJm +ID09PSAwKSByZXR1cm4gMDsKICAgICAgICAgICAgcmV0dXJuIHdlV2VydChzKSAvIHZlcmY7CiAg +ICAgICAgfQoKICAgICAgICB2YXIgc3VtUXVvdGUgPSAwLCBzdW1GVCA9IDA7CiAgICAgICAgcmVs +ZXZhbnQuZm9yRWFjaChmdW5jdGlvbihzKSB7IHN1bVF1b3RlICs9IHdlUXVvdGUocyk7IHN1bUZU +ICs9IGZ0V2VydChzKTsgfSk7CiAgICAgICAgdmFyIGF2Z1F1b3RlID0gc3VtUXVvdGUgLyByZWxl +dmFudC5sZW5ndGg7CiAgICAgICAgdmFyIGF2Z0ZUICAgID0gc3VtRlQgLyByZWxldmFudC5sZW5n +dGg7CiAgICAgICAgdmFyIG1heEZUICAgID0gTWF0aC5tYXguYXBwbHkobnVsbCwgcmVsZXZhbnQu +bWFwKGZ0V2VydCkpIHx8IDE7CiAgICAgICAgdmFyIG1heEtXICAgID0gTWF0aC5tYXguYXBwbHko +bnVsbCwgcmVsZXZhbnQubWFwKGt3V2VydCkpIHx8IDE7CgogICAgICAgIGZ1bmN0aW9uIGZLbGFz +c2UodywgYXZnKSB7CiAgICAgICAgICAgIGlmIChhdmcgPT09IDApIHJldHVybiAnZmFpcm5lc3Mt +bmV1dHJhbCc7CiAgICAgICAgICAgIHZhciByID0gTWF0aC5hYnModyAtIGF2ZykgLyBhdmc7CiAg +ICAgICAgICAgIHJldHVybiByIDw9IDAuMiA/ICdmYWlybmVzcy1vaycgOiByIDw9IDAuNSA/ICdm +YWlybmVzcy13YXJudW5nJyA6ICdmYWlybmVzcy1rcml0aXNjaCc7CiAgICAgICAgfQoKICAgICAg +ICAvLyBaZWlsZW4tQmF1ZXIgZnVlciBkaWUgRlQtU2VrdGlvbiAoMyBTcGFsdGVuOiBOYW1lIHwg +QmFyIHwgV2VydCkuCiAgICAgICAgZnVuY3Rpb24gemVpbGVCYXVlbihzLCB3ZXJ0Rm4sIG1heCwg +YXZnKSB7CiAgICAgICAgICAgIHZhciB2ID0gd2VydEZuKHMpOwogICAgICAgICAgICB2YXIgcGN0 +ICAgID0gbWF4ID4gMCA/ICh2ICAgLyBtYXgpICogMTAwIDogMDsKICAgICAgICAgICAgdmFyIGF2 +Z1BjdCA9IG1heCA+IDAgPyAoYXZnIC8gbWF4KSAqIDEwMCA6IDA7CiAgICAgICAgICAgIHJldHVy +biAnPGRpdiBjbGFzcz0iZmFpcm5lc3Mtcm93Ij4nICsKICAgICAgICAgICAgICAgICc8ZGl2IGNs +YXNzPSJmYWlybmVzcy1yb3ctbmFtZSIgdGl0bGU9IicgKyBlc2NhcGVBdHRyKF9zdGF0QW56ZWln +ZU5hbWUocykpICsgJyI+JyArIGVzY2FwZUhUTUwoX3N0YXRBbnplaWdlTmFtZShzKSkgKyAnPC9k +aXY+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iZmFpcm5lc3Mtcm93LWJhciI+PGRp +diBjbGFzcz0iZmFpcm5lc3Mtcm93LWF2ZyIgc3R5bGU9ImxlZnQ6JyArIGF2Z1BjdCArICclIj48 +L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJmYWlybmVzcy1yb3ctZmlsbCAn +ICsgZktsYXNzZSh2LCBhdmcpICsgJyIgc3R5bGU9IndpZHRoOicgKyBwY3QgKyAnJSI+PC9kaXY+ +PC9kaXY+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iZmFpcm5lc3Mtcm93LXZhbCI+ +JyArIHYgKyAnPC9kaXY+PC9kaXY+JzsKICAgICAgICB9CiAgICAgICAgLy8gWmVpbGVuLUJhdWVy +IGZ1ZXIgZGllIFdFLVNla3Rpb246IFF1b3Rlbi1iYXNpZXJ0LgogICAgICAgIC8vIFF1b3RlID0g +V0UtRGllbnN0ZSAvIHZlcmZ1ZWdiYXJlIFdFLVRhZ2UgKFNPTEwtUG9vbCBtaW51cyBwZXJzb2Vu +bGljaGUKICAgICAgICAvLyBBYndlc2VuaGVpdCBhbSBXRSkuIE1hY2h0IFBlcnNvbmVuIG1pdCB1 +bnRlcnNjaGllZGxpY2hlbSBVcmxhdWIKICAgICAgICAvLyB2ZXJnbGVpY2hiYXIuIEJhbmdlbWFu +biAyNS8zOCA9IDY2JSwgR2VuZGlnIDIwLzM2ID0gNTYlLgogICAgICAgIGZ1bmN0aW9uIHplaWxl +QmF1ZW5XRShzKSB7CiAgICAgICAgICAgIHZhciB2ICAgICA9IHdlV2VydChzKTsKICAgICAgICAg +ICAgdmFyIHZlcmYgID0gcy53ZVRhZ2VWZXJmdWVnYmFyIHx8IDA7CiAgICAgICAgICAgIHZhciBx +dW90ZSA9IHdlUXVvdGUocyk7CiAgICAgICAgICAgIHZhciBwY3QgICAgPSBNYXRoLm1pbigxMDAs +IHF1b3RlICogMTAwKTsKICAgICAgICAgICAgdmFyIGF2Z1BjdCA9IE1hdGgubWluKDEwMCwgYXZn +UXVvdGUgKiAxMDApOwogICAgICAgICAgICB2YXIga3cgICAgID0ga3dXZXJ0KHMpOwogICAgICAg +ICAgICB2YXIga3dQY3QgID0gbWF4S1cgPiAwID8gKGt3IC8gbWF4S1cpICogMTAwIDogMDsKICAg +ICAgICAgICAgdmFyIHRpcCA9ICdEaWVuc3RlIGFtIFdFOiAnICsgdiArICcgdm9uICcgKyB2ZXJm +ICsgJyB2ZXJmXHUwMEZDZ2JhcmVuIFRhZ2VuID0gJyArIE1hdGgucm91bmQocXVvdGUgKiAxMDAp +ICsgJyAlJzsKICAgICAgICAgICAgcmV0dXJuICc8ZGl2IGNsYXNzPSJmYWlybmVzcy1yb3cgZmFp +cm5lc3Mtcm93LXdlIiB0aXRsZT0iJyArIGVzY2FwZUF0dHIodGlwKSArICciPicgKwogICAgICAg +ICAgICAgICAgJzxkaXYgY2xhc3M9ImZhaXJuZXNzLXJvdy1uYW1lIiB0aXRsZT0iJyArIGVzY2Fw +ZUF0dHIoX3N0YXRBbnplaWdlTmFtZShzKSkgKyAnIj4nICsgZXNjYXBlSFRNTChfc3RhdEFuemVp +Z2VOYW1lKHMpKSArICc8L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJmYWly +bmVzcy1yb3ctYmFyIj48ZGl2IGNsYXNzPSJmYWlybmVzcy1yb3ctYXZnIiBzdHlsZT0ibGVmdDon +ICsgYXZnUGN0ICsgJyUiPjwvZGl2PicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImZh +aXJuZXNzLXJvdy1maWxsICcgKyBmS2xhc3NlKHF1b3RlLCBhdmdRdW90ZSkgKyAnIiBzdHlsZT0i +d2lkdGg6JyArIHBjdCArICclIj48L2Rpdj48L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8ZGl2 +IGNsYXNzPSJmYWlybmVzcy1yb3ctdmFsIj4nICsgTWF0aC5yb3VuZChxdW90ZSAqIDEwMCkgKyAn +JTxicj48c3BhbiBjbGFzcz0iZmFpcm5lc3Mtcm93LXN1YiI+JyArIHYgKyAnLycgKyB2ZXJmICsg +Jzwvc3Bhbj48L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJmYWlybmVzcy1y +b3cta3ciIHRpdGxlPSInICsgZXNjYXBlQXR0cignS29tcGxldHRlIFdvY2hlbmVuZGVuIChTYStT +byBiZWlkZSBEaWVuc3QpOiAnICsga3cpICsgJyI+JyArCiAgICAgICAgICAgICAgICAgICAgJzxk +aXYgY2xhc3M9ImZhaXJuZXNzLXJvdy1rdy1iYXIiPjxkaXYgY2xhc3M9ImZhaXJuZXNzLXJvdy1r +dy1maWxsIiBzdHlsZT0id2lkdGg6JyArIGt3UGN0ICsgJyUiPjwvZGl2PjwvZGl2PicgKwogICAg +ICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJmYWlybmVzcy1yb3cta3ctdmFsIj4nICsga3cg +KyAnPC9kaXY+JyArCiAgICAgICAgICAgICAgICAnPC9kaXY+JyArCiAgICAgICAgICAgICAgICAn +PC9kaXY+JzsKICAgICAgICB9CgogICAgICAgIC8vIFN1YnRpdGxlIG9iZXJoYWxiIGRlciBXRS1U +YWJlbGxlIChlaW56ZWlsaWcsIGVyc3BhcnQgZWluZSBicmVpdGUKICAgICAgICAvLyBLb3BmemVp +bGUgaW4gZGVyIFRhYmVsbGUgc2VsYnN0KS4KICAgICAgICB2YXIgaHRtbCA9ICc8ZGl2IGNsYXNz +PSJmYWlybmVzcy1zdWJ0aXRsZSI+V0UtRGllbnN0LVF1b3RlIFx1MjAxNCBBbnRlaWwgZGVyIHZl +cmZcdTAwRkNnYmFyZW4gU2ErU28tVGFnZSAob2huZSBGZWllcnRhZ2UpPC9kaXY+JzsKICAgICAg +ICBodG1sICs9ICc8ZGl2IGNsYXNzPSJmYWlybmVzcy1jb21wYWN0Ij4nOwogICAgICAgIGh0bWwg +Kz0gJzxkaXYgY2xhc3M9ImZhaXJuZXNzLXJvdyBmYWlybmVzcy1yb3ctd2UgZmFpcm5lc3MtaGVh +ZGVyIj4nICsKICAgICAgICAgICAgICAgICc8c3Bhbj5XRS1EaWVuc3QtUXVvdGU8L3NwYW4+JyAr +CiAgICAgICAgICAgICAgICAnPHNwYW4gc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj5cdTAwRDgg +JyArIE1hdGgucm91bmQoYXZnUXVvdGUgKiAxMDApICsgJyAlPC9zcGFuPicgKwogICAgICAgICAg +ICAgICAgJzxzcGFuPjwvc3Bhbj4nICsKICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0iZmFp +cm5lc3Mta3cta29wZiI+V0UgZHVyY2hnZWFyYmVpdGV0PC9zcGFuPicgKwogICAgICAgICAgICAg +ICAgJzwvZGl2Pic7CiAgICAgICAgcmVsZXZhbnQuc2xpY2UoKS5zb3J0KGZ1bmN0aW9uKGEsIGIp +IHsgcmV0dXJuIHdlUXVvdGUoYikgLSB3ZVF1b3RlKGEpOyB9KQogICAgICAgICAgICAgICAgLmZv +ckVhY2goZnVuY3Rpb24ocykgeyBodG1sICs9IHplaWxlQmF1ZW5XRShzKTsgfSk7CgogICAgICAg +IGh0bWwgKz0gJzxkaXYgY2xhc3M9ImZhaXJuZXNzLXJvdyBmYWlybmVzcy1oZWFkZXIiIHN0eWxl +PSJtYXJnaW4tdG9wOjhweCI+PHNwYW4+RlQtVGFnZSAoRGllbnN0IGFtIEZlaWVydGFnKTwvc3Bh +bj48c3BhbiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIiPlx1MDBEOCAnICsgYXZnRlQudG9GaXhl +ZCgxKSArICc8L3NwYW4+PHNwYW4+PC9zcGFuPjwvZGl2Pic7CiAgICAgICAgcmVsZXZhbnQuc2xp +Y2UoKS5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsgcmV0dXJuIGZ0V2VydChiKSAtIGZ0V2VydChhKTsg +fSkKICAgICAgICAgICAgICAgIC5mb3JFYWNoKGZ1bmN0aW9uKHMpIHsgaHRtbCArPSB6ZWlsZUJh +dWVuKHMsIGZ0V2VydCwgbWF4RlQsIGF2Z0ZUKTsgfSk7CgogICAgICAgIGh0bWwgKz0gJzwvZGl2 +Pic7CiAgICAgICAgLy8gRnVzcy1IaW53ZWlzOiBha3R1ZWxsZSBTY2h3ZWxsZSB0cmFuc3BhcmVu +dCBtYWNoZW4uCiAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz0iZmFpcm5lc3MtZnVzcyI+QmVy +XHUwMEZDY2tzaWNodGlndDogJyArIHJlbGV2YW50Lmxlbmd0aCArICcgUGVyc29uZW4gbWl0IFx1 +MjI2NSAnICsgTWF0aC5yb3VuZChzY2h3ZWxsZSkgKyAnIERpZW5zdGVuIGltIFplaXRyYXVtLjwv +ZGl2Pic7CiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0YXRzLWZhaXJuZXNzJyku +aW5uZXJIVE1MID0gaHRtbDsKICAgIH0KCiAgICAvLyA9PT09PSBNaWtyb3RlYW0tSGVhdG1hcCA9 +PT09PQogICAgLy8KICAgIC8vIExvZXN0IGRpZSBhbHRlbiBBYndlc2VuaGVpdHMtS2FjaGVsbiBh +Yi4gUHJvIGtvbmZpZ3VyaWVydGVtIE1pa3JvdGVhbQogICAgLy8gKGFkbWluLmpzb24ubWlrcm90 +ZWFtcykgd2lyZCBmdWVyIGplZGVuIFRhZyBpbSBDdXQgZGllIEFuemFobCBkZXIKICAgIC8vIGFy +YmVpdGVuZGVuIFBlcnNvbmVuIGVybWl0dGVsdC4gRmFyYmNvZGU6CiAgICAvLyAgIHJvdCAgID0g +MCBpbSBEaWVuc3QKICAgIC8vICAgZ2VsYiAgPSAxIGltIERpZW5zdAogICAgLy8gICBncsO8biAg +PSAyIGltIERpZW5zdCAob2RlciBtZWhyLCBhYmVyIG5pY2h0IGFsbGUpCiAgICAvLyAgIGdvbGQg +ID0gYWxsZSBUZWFtLU1pdGdsaWVkZXIgaW0gRGllbnN0CiAgICAvLyAiSW0gRGllbnN0IiA9IEYt +L1MtL04tQ29kZSBvZGVyIFNEL1NFLiBGcmVpLUNvZGVzIHVuZCBBYndlc2VuaGVpdAogICAgLy8g +emFlaGxlbiBuaWNodCBhbHMgImRhIiAoVXNlci1Wb3JnYWJlKS4KCiAgICAvLyBNb2R1bC1TdGF0 +ZSBNaWtyb3RlYW0tSGVhdG1hcAogICAgdmFyIF9zdGF0VGVhbUV4cGFuZGVkID0ge307ICAgICAg +Ly8gdGVhbUlkIC0+IGJvb2wgKERldGFpbC1aZWlsZW4gc2ljaHRiYXIpCiAgICB2YXIgX3N0YXRU +ZWFtQmFsa2VuU29ydCA9ICdyZWloZW5mb2xnZSc7CgogICAgLy8gQ2FjaGUgZnVlciBfdGVhbURh +dGVuKCkgaW5uZXJoYWxiIGVpbmVzIHN0YXRpc3Rpa1JlbmRlcm4oKS1MYXVmcy4KICAgIC8vIG1p +a3JvdGVhbVJlbmRlcm4oKSB1bmQgcHJvc2FSZW5kZXJuKCkgZ3JlaWZlbiBiZWlkZSBhdWYgZGll +IGdsZWljaGVuCiAgICAvLyBEYXRlbiB6dSDigJQgQ2FjaGUgdmVybWVpZGV0IGRpZSBkb3BwZWx0 +ZSBPKFRlYW1zKlRhZ2UqUGVyc29uZW4pLUJlcmVjaG51bmcKICAgIC8vICh+MzAtNjAgbXMgYXVm +IGRlbSBCZWhvZXJkZW4tUEMpLiBXaXJkIGFtIEFuZmFuZyB2b24gc3RhdGlzdGlrUmVuZGVybigp +CiAgICAvLyBpbnZhbGlkaWVydCwgZGFtaXQgRmlsdGVyLS9TdGFiLVdlY2hzZWwgZnJpc2NoZSBE +YXRlbiBiZWtvbW1lbi4KICAgIHZhciBfc3RhdFRlYW1EYXRlbkNhY2hlID0gbnVsbDsKICAgIGZ1 +bmN0aW9uIF90ZWFtRGF0ZW5Ib2xlbigpIHsKICAgICAgICBpZiAoIV9zdGF0VGVhbURhdGVuQ2Fj +aGUpIF9zdGF0VGVhbURhdGVuQ2FjaGUgPSBfdGVhbURhdGVuKCk7CiAgICAgICAgcmV0dXJuIF9z +dGF0VGVhbURhdGVuQ2FjaGU7CiAgICB9CgogICAgLy8gV2llIF90ZWFtRGF0ZW5Ib2xlbigpLCBh +YmVyIHJlc3Bla3RpZXJ0IGRlbiBEcm9wZG93bi1HcnVwcGVuLUZpbHRlcjoKICAgIC8vIGJlaSBl +aW5lciBleHBsaXppdGVuIEdydXBwZW4tQXVzd2FobCB3ZXJkZW4gbnVyIE1pa3JvdGVhbXMgZGll +c2VyCiAgICAvLyBHcnVwcGUgenVydWVja2dlZ2ViZW4uIFdpcmQgZnVlciBkaWUgSGVhdG1hcCwg +ZGllIEJhbGtlbi1TdWItU2VrdGlvbgogICAgLy8gdW5kIGRpZSBQcm9zYS1EZXRhaWxhbmFseXNl +IGdlbnV0enQg4oCUIGRpZSBLUElzL0RldGFpbC1UYWJlbGxlIGZpbHRlcm4KICAgIC8vIGJlcmVp +dHMgdWViZXIgc3RhdEZpbHRlcm4oKSBkZW4gU3RhdHMtRGF0ZW5zYXR6IHVuZCBicmF1Y2hlbiBk +YXMgbmljaHQuCiAgICBmdW5jdGlvbiBfdGVhbURhdGVuR2VmaWx0ZXJ0KCkgewogICAgICAgIHZh +ciBkYXRhID0gX3RlYW1EYXRlbkhvbGVuKCk7CiAgICAgICAgaWYgKHN0YXRGaWx0ZXIgPT09ICdh +bGxlJykgcmV0dXJuIGRhdGE7CiAgICAgICAgcmV0dXJuIGRhdGEuZmlsdGVyKGZ1bmN0aW9uKHQp +IHsgcmV0dXJuIHQuZ3J1cHBlID09PSBzdGF0RmlsdGVyOyB9KTsKICAgIH0KCiAgICAvLyBLb250 +ZXh0LCBkZW4gZGllIEhlYXRtYXAgbmFjaCBkZW0gUmVuZGVyIGZlc3RoYWVsdCwgZGFtaXQgRXhw +YW5kLS8KICAgIC8vIENvbGxhcHNlLUtsaWNrcyBkaWUgRGV0YWlsLVplaWxlbiBkaXJla3QgYW0g +RE9NIGVpbmZ1ZWdlbi9lbnRmZXJuZW4KICAgIC8vIGtvZW5uZW4g4oCUIG9obmUgZGllIGtvbXBs +ZXR0ZSBUYWJlbGxlIG5ldSB6dSByZW5kZXJuLiBTcGFydCAxMDAtMjAwIG1zCiAgICAvLyBwcm8g +S2xpY2sgYXVmIGRlbSBCZWhvZXJkZW4tUEMuCiAgICB2YXIgX2hlYXRtYXBLb250ZXh0ID0gbnVs +bDsKCiAgICAvLyBQdXJlIEhlbHBlciBmdWVyIFNwYWx0ZW4tS2xhc3NlbiBlaW5lciBIZWF0bWFw +LVNwYWx0ZS4gRnJ1ZWhlciBDbG9zdXJlCiAgICAvLyBpbiBfcmVuZGVyVGVhbUhlYXRtYXA7IHJh +dXNnZXpvZ2VuIGRhbWl0IGRlciBEZXRhaWwtWmVpbGVuLUhlbHBlciBzaWUKICAgIC8vIG9obmUg +Q2xvc3VyZS1DYXB0dXJlIG51dHplbiBrYW5uIChnbGVpY2hlciBIZWxwZXIgd2lyZCBiZWltIFJl +bmRlciBVTkQKICAgIC8vIGJlaW0gT24tRGVtYW5kLUluc2VydCBuYWNoIEV4cGFuZC1LbGljayB2 +ZXJ3ZW5kZXQpLgogICAgZnVuY3Rpb24gX3NwYWx0ZW5LbGFzc2VuKHRhZ01ldGEsIGQpIHsKICAg +ICAgICB2YXIgbSA9IHRhZ01ldGFbZF0gfHwge307CiAgICAgICAgdmFyIGMgPSBbXTsKICAgICAg +ICBpZiAobS5pc3RXRSkgICAgICAgICAgICAgICAgICAgICAgIGMucHVzaCgnaG0td2UnKTsKICAg +ICAgICBpZiAobS5mZWllcnRhZ2UgJiYgbS5mZWllcnRhZ2UubGVuZ3RoKSAgICAgICAgIGMucHVz +aCgnaG0tZmVpZXInKTsKICAgICAgICBpZiAobS5mZXJpZW4gJiYgbS5mZXJpZW4ubGVuZ3RoKSAg +ICAgICAgICAgICAgIGMucHVzaCgnaG0tZmVyaWVuJyk7CiAgICAgICAgaWYgKG0uc29uZGVydGVy +bWluZSAmJiBtLnNvbmRlcnRlcm1pbmUubGVuZ3RoKSBjLnB1c2goJ2htLXNvbmRlcnRlcm1pbicp +OwogICAgICAgIHJldHVybiBjOwogICAgfQoKICAgIC8vIEJhdXQgZGllIERldGFpbC1aZWlsZW4t +SFRNTCBmdWVyIEVJTiBleHBhbmRpZXJ0ZXMgVGVhbS4gV2lyZCBzb3dvaGwKICAgIC8vIGJlaW0g +SW5pdGlhbC1SZW5kZXIgZ2VudXR6dCAoZnVlciBUZWFtcywgZGllIHNjaG9uIGV4cGFuZGVkIHNp +bmQpIGFscwogICAgLy8gYXVjaCBiZWltIEtsaWNrLUhhbmRsZXIgKE9uLURlbWFuZC1JbnNlcnQg +b2huZSBGdWxsLVJlcmVuZGVyKS4gY3R4ID0KICAgIC8vIHsgdGFnZSwgdGFnTWV0YSwgcGVyc29u +TWFwLCBlaW50cmFlZ2UgfSDigJQgcGFzc3QgenUgX2hlYXRtYXBLb250ZXh0LgogICAgZnVuY3Rp +b24gX2J1aWxkVGVhbURldGFpbFJvd3ModCwgY3R4KSB7CiAgICAgICAgcmV0dXJuIHQucGVyc29u +SWRzLm1hcChmdW5jdGlvbihwaWQpIHsKICAgICAgICAgICAgdmFyIHAgPSBjdHgucGVyc29uTWFw +W3BpZF0gfHwge307CiAgICAgICAgICAgIHZhciBuYW1lS3VyeiA9IChwLnZvcm5hbWUgPyBwLnZv +cm5hbWUuY2hhckF0KDApICsgJy4gJyA6ICcnKSArIChwLm5hbWUgfHwgKCcjJyArIHBpZCkpOwog +ICAgICAgICAgICByZXR1cm4gJzx0ciBjbGFzcz0idGVhbS1obS1yb3cgdGVhbS1obS1yb3ctZGV0 +YWlsIiBkYXRhLXRlYW0tZGV0YWlsLWZvcj0iJyArIGVzY2FwZUF0dHIodC5pZCkgKyAnIj4nICsK +ICAgICAgICAgICAgICAgICc8dGggY2xhc3M9InRlYW0taG0tbmFtZSB0ZWFtLWhtLW5hbWUtZGV0 +YWlsIj7ihrMgJyArIGVzY2FwZUhUTUwobmFtZUt1cnopICsgJzwvdGg+JyArCiAgICAgICAgICAg +ICAgICBjdHgudGFnZS5tYXAoZnVuY3Rpb24oZCkgewogICAgICAgICAgICAgICAgICAgIHZhciBj +b2RlID0gKGN0eC5laW50cmFlZ2VbZF0gfHwge30pW3BpZF0gfHwgJyc7CiAgICAgICAgICAgICAg +ICAgICAgdmFyIGlzRGllbnN0ID0gX2lzdERpZW5zdENvZGUoY29kZSk7CiAgICAgICAgICAgICAg +ICAgICAgdmFyIGNscyA9IFsndGVhbS1obS1jZWxsJywgJ3RlYW0taG0tY2VsbC1kZXRhaWwnXS5j +b25jYXQoX3NwYWx0ZW5LbGFzc2VuKGN0eC50YWdNZXRhLCBkKSk7CiAgICAgICAgICAgICAgICAg +ICAgaWYgKGlzRGllbnN0KSBjbHMucHVzaCgndGVhbS1obS1jZWxsLWRldGFpbC1kaWVuc3QnKTsK +ICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzx0ZCBjbGFzcz0iJyArIGNscy5qb2luKCcgJykg +KyAnIiB0aXRsZT0iJyArIGVzY2FwZUF0dHIoZCArICc6ICcgKyAoY29kZSB8fCAn4oCUJykpICsg +JyI+JyArIChjb2RlID8gZXNjYXBlSFRNTChjb2RlLnN1YnN0cigwLCAzKSkgOiAnJykgKyAnPC90 +ZD4nOwogICAgICAgICAgICAgICAgfSkuam9pbignJykgKwogICAgICAgICAgICAgICAgJzwvdHI+ +JzsKICAgICAgICB9KS5qb2luKCcnKTsKICAgIH0KICAgIHZhciBNT05BVFNOQU1FTl9URUFNID0g +WydKYW51YXInLCdGZWJydWFyJywnTcOkcnonLCdBcHJpbCcsJ01haScsJ0p1bmknLCdKdWxpJywn +QXVndXN0JywnU2VwdGVtYmVyJywnT2t0b2JlcicsJ05vdmVtYmVyJywnRGV6ZW1iZXInXTsKICAg +IHZhciBNT05BVFNOQU1FTl9LVVJaID0gWydKYW4nLCdGZWInLCdNw6RyJywnQXByJywnTWFpJywn +SnVuJywnSnVsJywnQXVnJywnU2VwJywnT2t0JywnTm92JywnRGV6J107CgogICAgLy8gUG9vbC1C +ZXppZWh1bmdlbjogPFBvb2wtU3RhbmRvcnQ+IC0+IDxMaXN0ZSBkZXIgWmllbC1TdGFuZG9ydGUs +IGZ1ZXIgZGllIGRlcgogICAgLy8gUG9vbCBlaW5zcHJpbmd0Pi4gUG9vbC1UZWFtcyBzaW5kIDEt +UGVyc29uZW4tV2FjaGVuIChMRC1XRCwgU08tV0QpLiBXZW5uCiAgICAvLyBkaWUgUG9vbC1QZXJz +b24gaW0gRGllbnN0IGlzdCB1bmQgbWluZC4gZWluIE1pa3JvdGVhbSBkZXMgWmllbC1TdGFuZG9y +dHMKICAgIC8vIGFuIGRlbSBUYWcgcm90IGlzdCAoa2VpbmVyIGRhKSwgd2lyZCBkaWUgUG9vbC1a +ZWxsZSBncnVlbiDigJQgYWxzCiAgICAvLyBJbmRpa2F0b3IsIGRhc3MgZGVyIFBvb2wgZmFjaGxp +Y2ggZWluc3ByaW5ndC4gUG9vbC1UZWFtcyB3ZXJkZW4gYXVzc2VyZGVtCiAgICAvLyBhdXMgZGVy +IEJhbGtlbi1TdGF0aXN0aWsgYXVzZ2VrbGFtbWVydCAoMSBQZXJzb24sIGtlaW4gTWl0dGVsd2Vy +dCBtb2VnbGljaCkuCiAgICB2YXIgUE9PTF9SRUxBVElPTiA9IHsgJ0xEJzogWydGUiddLCAnU08n +OiBbJ0FSJ10gfTsKICAgIGZ1bmN0aW9uIF9pc3RQb29sVGVhbSh0KSB7IHJldHVybiB0ICYmIFBP +T0xfUkVMQVRJT05bdC5zdGFuZG9ydF0gIT09IHVuZGVmaW5lZDsgfQoKICAgIC8vIENvZGUtS2xh +c3NlbiBmdWVyIGRpZSBNaWtyb3RlYW0tQW1wZWwtQmVyZWNobnVuZzoKICAgIC8vIEZSRUkgICAg +PSB3ZnIvZGZyL8KnMjEvMjFhL0FaQSDigJQgZGllIFBlcnNvbiB3YWVyZSBwcmluemlwaWVsbCB2 +ZXJmdWVnYmFyCiAgICAvLyAgICAgICAgICAgZ2V3ZXNlbiwgaGF0IGFiZXIgRnJlaS4gV2VubiBB +TExFIHNvIHdhcyBoYWJlbiB1bmQgbmllbWFuZAogICAgLy8gICAgICAgICAgIGxlZ2l0aW0gYWJ3 +ZXNlbmQgaXN0IC0+IHJvdCAoUHJvYmxlbTogYWxsZSB3b2xsZW4gZnJlaSBoYWJlbikuCiAgICAv +LyBBQldFU0VORCA9IFVybC9rci9LdXIvU1UvTEcvRm9ydGJpbGR1bmcvQlYvYWJnL0JBTy9ITyDi +gJQgUGVyc29uIGlzdAogICAgLy8gICAgICAgICAgIGxlZ2l0aW0gbmljaHQgdmVyZnVlZ2Jhci4g +U2NobHVja3QgZGVuIHJvdGVuIFN0YXR1cy4KICAgIHZhciBURUFNX0ZSRUlfQ09ERVMgICAgID0g +eyAnd2ZyJzoxLCAnZGZyJzoxLCAnwqcyMSc6MSwgJzIxYSc6MSwgJ0FaQSc6MSB9OwogICAgdmFy +IFRFQU1fQUJXRVNFTkRfQ09ERVMgPSB7ICdVcmwnOjEsICdrcic6MSwgJ0t1cic6MSwgJ1NVJzox +LCAnTEcnOjEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0F1Ric6MSwgJ0VUTSc6 +MSwgJ1NlbSc6MSwgJ1RUJzoxLCAnVHpGJzoxLCAnRFUnOjEsCiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgJ0JWJzoxLCAnYWJnJzoxLCAnQkFPJzoxLCAnSE8nOjEgfTsKICAgIGZ1bmN0 +aW9uIF9pc3RGcmVpQ29kZShjKSAgICAgeyByZXR1cm4gISEoYyAmJiBURUFNX0ZSRUlfQ09ERVNb +Y10pOyB9CiAgICBmdW5jdGlvbiBfaXN0QWJ3ZXNlbmRDb2RlKGMpIHsgcmV0dXJuICEhKGMgJiYg +VEVBTV9BQldFU0VORF9DT0RFU1tjXSk7IH0KCiAgICBmdW5jdGlvbiBfaXN0RGllbnN0Q29kZShj +b2RlKSB7CiAgICAgICAgaWYgKCFjb2RlKSByZXR1cm4gZmFsc2U7CiAgICAgICAgaWYgKGNvZGUu +bGVuZ3RoID49IDIgJiYgY29kZS5jaGFyQXQoMSkgPT09ICctJykgewogICAgICAgICAgICB2YXIg +cCA9IGNvZGUuY2hhckF0KDApOwogICAgICAgICAgICBpZiAocCA9PT0gJ0YnIHx8IHAgPT09ICdT +JyB8fCBwID09PSAnTicpIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gY29k +ZSA9PT0gJ1NEJyB8fCBjb2RlID09PSAnU0UnOwogICAgfQoKICAgIC8vIExpZWZlcnQgJ0YnLydT +Jy8nTicgd2VubiBkZXIgQ29kZSBlaW5lIERHTC1TY2hpY2h0IChGLURHTC9TLURHTC9OLURHTCkK +ICAgIC8vIGlzdCwgc29uc3QgbnVsbC4gV2lyZCBmdWVyIGRpZSBQb29sLVNwcmluZ2VyLUxvZ2lr +IGdlbnV0enQ6IGVpbiBMRC9TTy0KICAgIC8vIERHTCBzcHJpbmd0IG51ciBkYW5uIGFscyBER0wt +VmVydHJldHVuZyBmdWVyIEZSL0FSIGVpbiwgd2VubiBlciBpbiBkZXIKICAgIC8vIGdsZWljaGVu +IFNjaGljaHQgc2VsYnN0IGRpZSBER0wtUm9sbGUgbWFjaHQg4oCUIEYtRkJQL1MtRkJQL04tRkJQ +IHphZWhsdAogICAgLy8gTklDSFQgYWxzIEVpbnNwcmluZ2VuIChDb2RlIGlzdCBkYW5uIGZ1ZXIg +ZGllIE1pdGFyYmVpdGVyIGRhKS4KICAgIGZ1bmN0aW9uIF9kZ2xTY2hpY2h0Vm9uKGNvZGUpIHsK +ICAgICAgICBpZiAoIWNvZGUgfHwgY29kZS5sZW5ndGggPCA1KSByZXR1cm4gbnVsbDsKICAgICAg +ICB2YXIgcCA9IGNvZGUuY2hhckF0KDApOwogICAgICAgIGlmIChwICE9PSAnRicgJiYgcCAhPT0g +J1MnICYmIHAgIT09ICdOJykgcmV0dXJuIG51bGw7CiAgICAgICAgcmV0dXJuIGNvZGUuc3Vic3Ry +aW5nKDIsIDUpID09PSAnREdMJyA/IHAgOiBudWxsOwogICAgfQoKICAgIC8vIExpZWZlcnQgJ0Yn +LydTJy8nTicgZnVlciBKRURFTiBTY2hpY2h0LURpZW5zdGNvZGUgKEYtREdMLCBGLVdERiwKICAg +IC8vIEYtRkJQLCBTLURHTCwgLi4uKSwgc29uc3QgbnVsbC4gV2lyZCBmdWVyIGRpZSBMdWVja2Ut +UHJ1ZWZ1bmcgZGVyCiAgICAvLyBQb29sLVNwcmluZ2VyLUxvZ2lrIGdlbnV0enQ6IGRhcyBaaWVs +LU1pa3JvdGVhbSAoRlIvQVIpIGdpbHQgYWxzCiAgICAvLyAibHVlY2tlIiBpbiBlaW5lciBTY2hp +Y2h0IG51ciB3ZW5uIGRvcnQgbmllbWFuZCB1ZWJlcmhhdXB0IGVpbmVuCiAgICAvLyBTY2hpY2h0 +LURpZW5zdCBtYWNodCDigJQgZWdhbCBvYiBER0wvV0RGL0ZCUC4gV2VubiB6LkIuIGVpbiBGLUZC +UCBkYQogICAgLy8gaXN0LCBpc3QgZGllIFNjaGljaHQgaW4gZGVyIFdhY2hlIHBlcnNvbmVsbCBi +ZWRlY2t0LCBHb3RvL05vdHRlYm9obQogICAgLy8gbXVlc3NlbiBuaWNodCBlaW5zcHJpbmdlbi4K +ICAgIGZ1bmN0aW9uIF9zY2hpY2h0Vm9uKGNvZGUpIHsKICAgICAgICBpZiAoIWNvZGUgfHwgY29k +ZS5sZW5ndGggPCAyIHx8IGNvZGUuY2hhckF0KDEpICE9PSAnLScpIHJldHVybiBudWxsOwogICAg +ICAgIHZhciBwID0gY29kZS5jaGFyQXQoMCk7CiAgICAgICAgaWYgKHAgIT09ICdGJyAmJiBwICE9 +PSAnUycgJiYgcCAhPT0gJ04nKSByZXR1cm4gbnVsbDsKICAgICAgICByZXR1cm4gcDsKICAgIH0K +CiAgICBmdW5jdGlvbiBfdGVhbUN1dFRhZ2UoKSB7CiAgICAgICAgdmFyIGphaHIgPSAoWi5hZG1p +biAmJiBaLmFkbWluLmphaHIpIHx8IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTsKICAgICAgICB2 +YXIgZCA9IG5ldyBEYXRlKGphaHIgKyAnLTAxLTAxVDAwOjAwOjAwJyk7CiAgICAgICAgdmFyIGhl +dXRlID0gbmV3IERhdGUoKTsgaGV1dGUuc2V0SG91cnMoMCwwLDAsMCk7CiAgICAgICAgdmFyIGVu +ZGUgID0gbmV3IERhdGUoaGV1dGUpOyBlbmRlLnNldERhdGUoZW5kZS5nZXREYXRlKCkgKyAxNCk7 +CiAgICAgICAgdmFyIG91dCA9IFtdOwogICAgICAgIHdoaWxlIChkIDw9IGVuZGUpIHsKICAgICAg +ICAgICAgLy8gTG9rYWxlIElTTy1EYXR1bXMtUmVwcmFlc2VudGF0aW9uIChrZWluIHRvSVNPU3Ry +aW5nIOKAlCBkZXIgd2lyZnQKICAgICAgICAgICAgLy8gVVRDIHVuZCBraXBwdCBiZWkgWmVpdHpv +bmVuLVZlcnNhdHogdW0gZWluZW4gVGFnKS4KICAgICAgICAgICAgdmFyIHkgPSBkLmdldEZ1bGxZ +ZWFyKCk7CiAgICAgICAgICAgIHZhciBtID0gU3RyaW5nKGQuZ2V0TW9udGgoKSArIDEpLnBhZFN0 +YXJ0KDIsICcwJyk7CiAgICAgICAgICAgIHZhciB0ID0gU3RyaW5nKGQuZ2V0RGF0ZSgpKS5wYWRT +dGFydCgyLCAnMCcpOwogICAgICAgICAgICBvdXQucHVzaCh5ICsgJy0nICsgbSArICctJyArIHQp +OwogICAgICAgICAgICBkLnNldERhdGUoZC5nZXREYXRlKCkgKyAxKTsKICAgICAgICB9CiAgICAg +ICAgcmV0dXJuIG91dDsKICAgIH0KCiAgICBmdW5jdGlvbiBfdGVhbUZhcmJlKGltRGllbnN0LCB0 +b3RhbCkgewogICAgICAgIGlmIChpbURpZW5zdCA9PT0gMCkgICAgICAgIHJldHVybiAndGVhbS1y +JzsKICAgICAgICBpZiAoaW1EaWVuc3QgPj0gdG90YWwpICAgICByZXR1cm4gJ3RlYW0tZ29sZCc7 +CiAgICAgICAgaWYgKGltRGllbnN0ID09PSAxKSAgICAgICAgcmV0dXJuICd0ZWFtLXknOwogICAg +ICAgIHJldHVybiAndGVhbS1nJzsKICAgIH0KCiAgICAvLyBUYWctTWV0YWRhdGVuOiBXb2NoZW5l +bmRlLCBGZWllcnRhZywgRmVyaWVuLCBTb25kZXJ0ZXJtaW5lLgogICAgLy8gQ2FjaGUgd2lyZCBl +aW5tYWwgcHJvIFJlbmRlciBhdWZnZWJhdXQgKGtsZWluZSBEYXRlbm1lbmdlIOKAlCBrZWluIE1l +bW8pLgogICAgZnVuY3Rpb24gX3RlYW1UYWdNZXRhKHRhZ2UpIHsKICAgICAgICB2YXIgbWV0YSA9 +IHt9OwogICAgICAgIHZhciBmZWllcnRhZ2UgPSAoKFouYWRtaW4gJiYgWi5hZG1pbi5mZWllcnRh +Z2UpIHx8IFtdKS5maWx0ZXIoZnVuY3Rpb24oZikgeyByZXR1cm4gZi5ha3RpdiAhPT0gZmFsc2U7 +IH0pOwogICAgICAgIHZhciBmdE1hcCA9IHt9OwogICAgICAgIGZlaWVydGFnZS5mb3JFYWNoKGZ1 +bmN0aW9uKGYpIHsgKGZ0TWFwW2YuZGF0dW1dID0gZnRNYXBbZi5kYXR1bV0gfHwgW10pLnB1c2go +Zik7IH0pOwogICAgICAgIHZhciBmZXJpZW4gPSAoWi5hZG1pbiAmJiBaLmFkbWluLmZlcmllbikg +fHwgW107CiAgICAgICAgdmFyIHNvbmRlcnRlcm1pbmUgPSAoWi5hZG1pbiAmJiBaLmFkbWluLnNv +bmRlcnRlcm1pbmUpIHx8IFtdOwoKICAgICAgICB0YWdlLmZvckVhY2goZnVuY3Rpb24oZCkgewog +ICAgICAgICAgICB2YXIgZHQgPSBuZXcgRGF0ZShkICsgJ1QwMDowMDowMCcpOwogICAgICAgICAg +ICB2YXIgd3QgPSBkdC5nZXREYXkoKTsKICAgICAgICAgICAgdmFyIGZlciA9IGZlcmllbi5maWx0 +ZXIoZnVuY3Rpb24oZikgeyByZXR1cm4gZCA+PSBmLnZvbiAmJiBkIDw9IGYuYmlzOyB9KTsKICAg +ICAgICAgICAgdmFyIHN0ICA9IHNvbmRlcnRlcm1pbmUuZmlsdGVyKGZ1bmN0aW9uKHMpIHsKICAg +ICAgICAgICAgICAgIHZhciBiaXMgPSBzLmRhdHVtQmlzIHx8IHMuZGF0dW07CiAgICAgICAgICAg +ICAgICByZXR1cm4gZCA+PSBzLmRhdHVtICYmIGQgPD0gYmlzOwogICAgICAgICAgICB9KTsKICAg +ICAgICAgICAgbWV0YVtkXSA9IHsKICAgICAgICAgICAgICAgIGlzdFdFOiAgICAgICh3dCA9PT0g +MCB8fCB3dCA9PT0gNiksCiAgICAgICAgICAgICAgICB3b2NoZW50YWc6ICB3dCwKICAgICAgICAg +ICAgICAgIGZlaWVydGFnZTogIGZ0TWFwW2RdIHx8IFtdLAogICAgICAgICAgICAgICAgZmVyaWVu +OiAgICAgZmVyLAogICAgICAgICAgICAgICAgc29uZGVydGVybWluZTogc3QKICAgICAgICAgICAg +fTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gbWV0YTsKICAgIH0KCiAgICBmdW5jdGlvbiBf +dGVhbURhdGVuKCkgewogICAgICAgIHZhciB0ZWFtcyA9IChaLmFkbWluICYmIFouYWRtaW4ubWlr +cm90ZWFtcykgfHwgW107CiAgICAgICAgdmFyIGVpbnRyYWVnZSA9IChaLnBsYW51bmcgJiYgWi5w +bGFudW5nLmVpbnRyYWVnZSkgfHwge307CiAgICAgICAgdmFyIHBlcnNvbmVuID0gKFoucGxhbnVu +ZyAmJiBaLnBsYW51bmcucGVyc29uZW4pIHx8IFtdOwogICAgICAgIHZhciBwZXJzb25NYXAgPSB7 +fTsKICAgICAgICBwZXJzb25lbi5mb3JFYWNoKGZ1bmN0aW9uKHApIHsgcGVyc29uTWFwW3AuaWRd +ID0gcDsgfSk7CiAgICAgICAgdmFyIHRhZ2UgPSBfdGVhbUN1dFRhZ2UoKTsKCiAgICAgICAgLy8g +UGhhc2UgMTogYWxsZSBUZWFtcyBiZXJlY2huZW4uCiAgICAgICAgLy8gUHJvIFRhZyB6YWVobGVu +IHdpciBkaXNqdW5rdDogaW1EaWVuc3QgLyBmcmVpICh3ZnIvZGZyL8KnMjEvQVpBKSAvCiAgICAg +ICAgLy8gYWJ3ZXNlbmQgKFVybC9rci9LdXIvTGVocmdhbmcvLi4uKSAvIHNvbnN0aWdlICh6LkIu +IFNEL1NFIGJlcmVpdHMKICAgICAgICAvLyBpbiBpbURpZW5zdCwgbGVlcmVyIEVpbnRyYWcgPSAi +dW5rbGFyIiB6YWVobHQgbmljaHQpLgogICAgICAgIHZhciBkYXRhID0gdGVhbXMubWFwKGZ1bmN0 +aW9uKHQpIHsKICAgICAgICAgICAgdmFyIHBpZHMgPSB0LnBlcnNvbklkcyB8fCBbXTsKICAgICAg +ICAgICAgdmFyIHBlclRhZyA9IHt9OwogICAgICAgICAgICB0YWdlLmZvckVhY2goZnVuY3Rpb24o +ZCkgewogICAgICAgICAgICAgICAgdmFyIGFueiA9IDAsIGZyZWlBbnogPSAwLCBhYndBbnogPSAw +LCBkZXRhaWxzID0gW107CiAgICAgICAgICAgICAgICBwaWRzLmZvckVhY2goZnVuY3Rpb24ocGlk +KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGNvZGUgPSAoZWludHJhZWdlW2RdIHx8IHt9KVtw +aWRdIHx8ICcnOwogICAgICAgICAgICAgICAgICAgIHZhciBwID0gcGVyc29uTWFwW3BpZF07CiAg +ICAgICAgICAgICAgICAgICAgdmFyIG5tID0gcCA/IChwLm5hbWUgfHwgKCcjJyArIHBpZCkpIDog +KCcjJyArIHBpZCk7CiAgICAgICAgICAgICAgICAgICAgZGV0YWlscy5wdXNoKHsgcGlkOiBwaWQs +IG5hbWU6IG5tLCBjb2RlOiBjb2RlIH0pOwogICAgICAgICAgICAgICAgICAgIGlmIChfaXN0RGll +bnN0Q29kZShjb2RlKSkgICAgICAgICBhbnorKzsKICAgICAgICAgICAgICAgICAgICBlbHNlIGlm +IChfaXN0RnJlaUNvZGUoY29kZSkpICAgICAgZnJlaUFueisrOwogICAgICAgICAgICAgICAgICAg +IGVsc2UgaWYgKF9pc3RBYndlc2VuZENvZGUoY29kZSkpICBhYndBbnorKzsKICAgICAgICAgICAg +ICAgIH0pOwogICAgICAgICAgICAgICAgcGVyVGFnW2RdID0gewogICAgICAgICAgICAgICAgICAg +IGltRGllbnN0OiBhbnosIGZyZWk6IGZyZWlBbnosIGFid2VzZW5kOiBhYndBbnosCiAgICAgICAg +ICAgICAgICAgICAgdG90YWw6IHBpZHMubGVuZ3RoLCBkZXRhaWxzOiBkZXRhaWxzLCBpc3RTcHJp +bmdlcjogZmFsc2UKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0pOwogICAgICAgICAg +ICByZXR1cm4geyBpZDogdC5pZCwgbmFtZTogdC5uYW1lLCBzdGFuZG9ydDogdC5zdGFuZG9ydCwg +Z3J1cHBlOiB0LmdydXBwZSwgcGVyc29uSWRzOiBwaWRzLCB0YWdlOiBwZXJUYWcgfTsKICAgICAg +ICB9KTsKCiAgICAgICAgLy8gUGhhc2UgMjogU3ByaW5nZXItTWFya2llcnVuZyBmdWVyIFBvb2wt +VGVhbXMuCiAgICAgICAgLy8KICAgICAgICAvLyBFaW4gTEQvU08tREdMICJzcHJpbmd0IiBmYWNo +bGljaCBkYW5uIGZ1ZXIgRlIvQVIgZWluLCB3ZW5uOgogICAgICAgIC8vICAgMS4gRXIgYW4gZGVt +IFRhZyBlaW5lIERHTC1TY2hpY2h0IG1hY2h0IChGLURHTC9TLURHTC9OLURHTCkKICAgICAgICAv +LyAgICAgIFVORCBpbiBkaWVzZXIgU2NoaWNodCBhdWNoIGluIGRlciAxLi8yLiBWSTMtREdMLVZl +cmFudHdvcnR1bmcKICAgICAgICAvLyAgICAgIChUb3AtMiBuYWNoIEZ1bmt0aW9ucy1SYW5nK1Bv +c2l0aW9uIGF1cyBha3RpdmVGdWVocnVuZykgc3RlaHQuCiAgICAgICAgLy8gICAgICBSZWluZSBD +b2RlLUVpbnRyYWd1bmcgRi1ER0wgcmVpY2h0IE5JQ0hUIOKAlCBzb25zdCB6YWVobHRlCiAgICAg +ICAgLy8gICAgICBlaW4gbmljaHQtdmVyYW50d29ydGxpY2hlciBMRC9TTy1ER0wgZmFlbHNjaGxp +Y2ggYWxzIFNwcmluZ2VyCiAgICAgICAgLy8gICAgICAoVXNlci1Lb3JyZWt0dXIgMjAyNi0wNS0y +NSkuIFVORAogICAgICAgIC8vICAgMi4gZGllIFppZWwtV2FjaGUgYW4gZGVtIFRhZyBpbiBnZW5h +dSBkaWVzZXIgU2NoaWNodCB1ZWJlcmhhdXB0CiAgICAgICAgLy8gICAgICBOSUVNQU5ERU4gaW0g +RGllbnN0IGhhdCAoa2VpbiBGLURHTCwga2VpbiBGLVdERiwga2VpbiBGLUZCUCkuCiAgICAgICAg +Ly8gRi1GQlAvUy1GQlAvTi1GQlAgZGVyIFBvb2wtUGVyc29uIHphZWhsZW4gTklDSFQgYWxzIEVp +bnNwcmluZ2VuIOKAlAogICAgICAgIC8vIGRhcyBpc3QgZWluIENvZGUgImZ1ZXIgZGllIE1pdGFy +YmVpdGVyIiwgbmljaHQgZnVlciBkaWUgREdMLQogICAgICAgIC8vIFZlcmFudHdvcnR1bmcuIEJl +aSBkZXIgTHVlY2tlbi1QcnVlZnVuZyBpbiBkZXIgWmllbHdhY2hlIHphZWhsdAogICAgICAgIC8v +IGRhZ2VnZW4gSkVERVIgU2NoaWNodC1Db2RlIChhdWNoIEZCUC9XREYpOiBkaWUgV2FjaGUgaXN0 +IHBlcnNvbmVsbAogICAgICAgIC8vIGJlZGVja3Qgc29iYWxkIGlyZ2VuZGplbWFuZCBpbiBkZXIg +U2NoaWNodCBlaW5nZXNldHp0IGlzdCDigJQKICAgICAgICAvLyBHb3RvL05vdHRlYm9obSBtdWVz +c2VuIGRhbm4gbmljaHQgZWluc3ByaW5nZW4uIFRhZ2Ugb2huZSBTcHJpbmdlci0KICAgICAgICAv +LyBTdGF0dXMgd2VyZGVuIGluIGRlciBaZWxsLUZhZXJidW5nIGdyYXUgZGFyZ2VzdGVsbHQgKGlt +IERpZW5zdCwKICAgICAgICAvLyBhYmVyIG5pY2h0IGFscyBER0wtU3ByaW5nZXIgZWluZ2VzZXR6 +dCkuCiAgICAgICAgZGF0YS5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIHpp +ZWxlID0gUE9PTF9SRUxBVElPTlt0LnN0YW5kb3J0XTsKICAgICAgICAgICAgaWYgKCF6aWVsZSkg +cmV0dXJuOwogICAgICAgICAgICB0YWdlLmZvckVhY2goZnVuY3Rpb24oZCkgewogICAgICAgICAg +ICAgICAgdmFyIGluZm8gPSB0LnRhZ2VbZF07CiAgICAgICAgICAgICAgICBpZiAoaW5mby5pbURp +ZW5zdCA9PT0gMCkgcmV0dXJuOwogICAgICAgICAgICAgICAgLy8gV2VsY2hlIERHTC1TY2hpY2h0 +IG1hY2h0IGRpZSBQb29sLVBlcnNvbiBhbiBkZW0gVGFnIOKAlAogICAgICAgICAgICAgICAgLy8g +VU5EIGlzdCBzaWUgYXVjaCBpbiBkZXIgdmVyYW50d29ydGxpY2hlbiBXYWhybmVobXVuZwogICAg +ICAgICAgICAgICAgLy8gKFRvcC0yIGFrdGl2ZUZ1ZWhydW5nKSBlaW5nZXNldHp0PwogICAgICAg +ICAgICAgICAgdmFyIHBvb2xTY2hpY2h0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGZvciAodmFy +IHBpID0gMDsgcGkgPCBpbmZvLmRldGFpbHMubGVuZ3RoOyBwaSsrKSB7CiAgICAgICAgICAgICAg +ICAgICAgdmFyIGRldCA9IGluZm8uZGV0YWlsc1twaV07CiAgICAgICAgICAgICAgICAgICAgdmFy +IHMgPSBfZGdsU2NoaWNodFZvbihkZXQuY29kZSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFz +KSBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICB2YXIgdmVyYW50ID0gYWt0aXZlRnVlaHJ1 +bmcoZCwgcyk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGlzdFZlcmFudCA9IHZlcmFudC5zb21l +KGZ1bmN0aW9uKHApIHsgcmV0dXJuIE51bWJlcihwLmlkKSA9PT0gTnVtYmVyKGRldC5waWQpOyB9 +KTsKICAgICAgICAgICAgICAgICAgICBpZiAoaXN0VmVyYW50KSB7IHBvb2xTY2hpY2h0ID0gczsg +YnJlYWs7IH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghcG9vbFNjaGlj +aHQpIHJldHVybjsgIC8vIFBvb2wtUGVyc29uIGlzdCBkYSwgYWJlciBuaWNodCBhbHMgdmVyYW50 +d29ydGxpY2hlIERHTAogICAgICAgICAgICAgICAgLy8gSGF0IGRhcyBaaWVsdGVhbSBhbiBkZW0g +VGFnIGluIGdlbmF1IGRpZXNlciBTY2hpY2h0IE5JRU1BTkRFTj8KICAgICAgICAgICAgICAgIHZh +ciBsdWVja2UgPSB6aWVsZS5zb21lKGZ1bmN0aW9uKHpTdGQpIHsKICAgICAgICAgICAgICAgICAg +ICByZXR1cm4gZGF0YS5zb21lKGZ1bmN0aW9uKG8pIHsKICAgICAgICAgICAgICAgICAgICAgICAg +aWYgKG8uc3RhbmRvcnQgIT09IHpTdGQpIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAg +ICAgICAgdmFyIG9pID0gby50YWdlW2RdOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9p +IHx8IG9pLnRvdGFsID09PSAwKSByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAg +IHZhciBqZW1hbmRJblNjaGljaHQgPSAob2kuZGV0YWlscyB8fCBbXSkuc29tZShmdW5jdGlvbihk +ZXQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfc2NoaWNodFZvbihkZXQu +Y29kZSkgPT09IHBvb2xTY2hpY2h0OwogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAg +ICAgICAgICAgICAgICAgICAgcmV0dXJuICFqZW1hbmRJblNjaGljaHQ7CiAgICAgICAgICAgICAg +ICAgICAgfSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGlmIChsdWVja2Up +IGluZm8uaXN0U3ByaW5nZXIgPSB0cnVlOwogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKCiAg +ICAgICAgLy8gUGhhc2UgMzogU3RhdGlzdGlrIHBybyBUZWFtLgogICAgICAgIC8vIFJPVCAgPSBu +aWVtYW5kIGltIERpZW5zdCBVTkQgbmllbWFuZCBsZWdpdGltIGFid2VzZW5kIFVORCBtaW5kLiAx +CiAgICAgICAgLy8gICAgICAgIFBlcnNvbiBoYXQgRnJlaS1Db2RlIC0+ICJhbGxlIHdvbGxlbiBm +cmVpLCBuaWVtYW5kIG1hY2h0J3MiCiAgICAgICAgLy8gR1JBVSA9IG5pZW1hbmQgaW0gRGllbnN0 +LCBhYmVyIG1pbmQuIDEgUGVyc29uIGxlZ2l0aW0gYWJ3ZXNlbmQKICAgICAgICAvLyAgICAgICAg +KFVybC9rci9MZWhyZ2FuZy8uLi4pIOKAlCBrZWluIFByb2JsZW0sIHdlaWwgZGFzIFRlYW0KICAg +ICAgICAvLyAgICAgICAgbmljaHQgaGFldHRlIGtvbXBsZXR0IGJlc2V0enQgc2VpbiBtdWVzc2Vu +LgogICAgICAgIC8vIE5FVVRSQUwgPSAxIFBlcnNvbiBpbSBEaWVuc3QgKFVzZXItQWVuZGVydW5n +OiBrZWluIGdlbGIgbWVocikuCiAgICAgICAgLy8gR1JVRU4gPSAyKyBQZXJzb25lbiBpbSBEaWVu +c3QgKFBvb2w6IDEgbWl0IFNwcmluZ2VyLVN0YXR1cykuCiAgICAgICAgLy8gR09MRCA9IGFsbGUg +VGVhbS1NaXRnbGllZGVyIGltIERpZW5zdCAoZW50ZmFlbGx0IGJlaSBQb29sLVRlYW1zKS4KICAg +ICAgICBkYXRhLmZvckVhY2goZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgcm90ID0gMCwg +Z3JhdSA9IDAsIG5ldXRyYWwgPSAwLCBncnVlbiA9IDAsIGdvbGQgPSAwOwogICAgICAgICAgICB2 +YXIgcG9vbCA9IF9pc3RQb29sVGVhbSh0KTsKICAgICAgICAgICAgT2JqZWN0LmtleXModC50YWdl +KS5mb3JFYWNoKGZ1bmN0aW9uKGQpIHsKICAgICAgICAgICAgICAgIHZhciBpbmZvID0gdC50YWdl +W2RdOwogICAgICAgICAgICAgICAgaWYgKGluZm8udG90YWwgPT09IDApIHJldHVybjsKICAgICAg +ICAgICAgICAgIGlmIChpbmZvLmltRGllbnN0ID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAg +aWYgKGluZm8uYWJ3ZXNlbmQgPj0gMSkgICAgICAgICAgICBncmF1Kys7CiAgICAgICAgICAgICAg +ICAgICAgZWxzZSBpZiAoaW5mby5mcmVpID49IDEpICAgICAgICAgICByb3QrKzsKICAgICAgICAg +ICAgICAgICAgICBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmF1Kys7ICAg +Ly8gYWxsZSBsZWVyL3Vua2xhciA9IG5ldXRyYWwgZ3JhdQogICAgICAgICAgICAgICAgICAgIHJl +dHVybjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChwb29sKSB7CiAgICAg +ICAgICAgICAgICAgICAgLy8gUG9vbDogbnVyICJlY2h0ZXIiIERHTC1TcHJpbmdlciB6YWVobHQg +YWxzIGdydWVuLgogICAgICAgICAgICAgICAgICAgIC8vIEltLURpZW5zdC1hYmVyLW5pY2h0LVNw +cmluZ2VyIChGQlAvV0RGL0RHTC1iZWktYmVzZXR6dGVyLQogICAgICAgICAgICAgICAgICAgIC8v +IFppZWx3YWNoZSkgaXN0IGdyYXUg4oCUIFBvb2wtUGVyc29uIGlzdCBkYSwgYWJlciBuaWNodAog +ICAgICAgICAgICAgICAgICAgIC8vIGFscyBER0wtVmVydHJldHVuZyBlaW5nZXNldHp0LgogICAg +ICAgICAgICAgICAgICAgIGlmIChpbmZvLmlzdFNwcmluZ2VyKSBncnVlbisrOwogICAgICAgICAg +ICAgICAgICAgIGVsc2UgICAgICAgICAgICAgICAgICBncmF1Kys7CiAgICAgICAgICAgICAgICB9 +IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGlmIChpbmZvLmltRGllbnN0ID49IGluZm8udG90 +YWwpIGdvbGQrKzsKICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChpbmZvLmltRGllbnN0ID09 +PSAxKSAgICBuZXV0cmFsKys7CiAgICAgICAgICAgICAgICAgICAgZWxzZSAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIGdydWVuKys7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0p +OwogICAgICAgICAgICB0LnN0YXQgPSB7IHJvdDogcm90LCBncmF1OiBncmF1LCBuZXV0cmFsOiBu +ZXV0cmFsLCBncnVlbjogZ3J1ZW4sIGdvbGQ6IGdvbGQsCiAgICAgICAgICAgICAgICAgICAgICAg +dG90YWw6IHJvdCArIGdyYXUgKyBuZXV0cmFsICsgZ3J1ZW4gKyBnb2xkIH07CiAgICAgICAgfSk7 +CgogICAgICAgIHJldHVybiBkYXRhOwogICAgfQoKICAgIGZ1bmN0aW9uIG1pa3JvdGVhbVJlbmRl +cm4oKSB7CiAgICAgICAgdmFyIGhlYXRFbCAgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0 +YXRzLXRlYW0taGVhdG1hcCcpOwogICAgICAgIHZhciBuZWJlbkVsICA9IGRvY3VtZW50LmdldEVs +ZW1lbnRCeUlkKCdzdGF0cy10ZWFtLWhlYXRtYXAtbmViZW4nKTsKICAgICAgICB2YXIgYmFsa2Vu +RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhdHMtdGVhbS1iYWxrZW4nKTsKICAgICAg +ICBpZiAoIWhlYXRFbCB8fCAhYmFsa2VuRWwpIHJldHVybjsKCiAgICAgICAgdmFyIGRhdGEgPSBf +dGVhbURhdGVuR2VmaWx0ZXJ0KCk7CiAgICAgICAgaWYgKCFkYXRhLmxlbmd0aCkgewogICAgICAg +ICAgICB2YXIgbGVlckhpbndlaXMgPSAoc3RhdEZpbHRlciA9PT0gJ2FsbGUnKQogICAgICAgICAg +ICAgICAgPyAnS2VpbmUgTWlrcm90ZWFtcyBrb25maWd1cmllcnQuIEltIEFkbWluLVRhYiBhbmxl +Z2VuLicKICAgICAgICAgICAgICAgIDogJ0tlaW5lIE1pa3JvdGVhbXMgaW4gZGVyIGdld8OkaGx0 +ZW4gRGllbnN0Z3J1cHBlLic7CiAgICAgICAgICAgIGhlYXRFbC5pbm5lckhUTUwgID0gJzxwIGNs +YXNzPSJ0ZXh0LW11dGVkIiBzdHlsZT0icGFkZGluZzozMnB4O3RleHQtYWxpZ246Y2VudGVyIj4n +ICsgZXNjYXBlSFRNTChsZWVySGlud2VpcykgKyAnPC9wPic7CiAgICAgICAgICAgIGlmIChuZWJl +bkVsKSBuZWJlbkVsLmlubmVySFRNTCA9ICcnOwogICAgICAgICAgICBiYWxrZW5FbC5pbm5lckhU +TUwgPSAnJzsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICB2YXIgdGFnZSA9 +IF90ZWFtQ3V0VGFnZSgpOwogICAgICAgIHZhciB0YWdNZXRhID0gX3RlYW1UYWdNZXRhKHRhZ2Up +OwogICAgICAgIHZhciBwZXJzb25lbiA9IChaLnBsYW51bmcgJiYgWi5wbGFudW5nLnBlcnNvbmVu +KSB8fCBbXTsKICAgICAgICB2YXIgcGVyc29uTWFwID0ge307CiAgICAgICAgcGVyc29uZW4uZm9y +RWFjaChmdW5jdGlvbihwKSB7IHBlcnNvbk1hcFtwLmlkXSA9IHA7IH0pOwogICAgICAgIHZhciBl +aW50cmFlZ2UgPSAoWi5wbGFudW5nICYmIFoucGxhbnVuZy5laW50cmFlZ2UpIHx8IHt9OwoKICAg +ICAgICBfcmVuZGVyVGVhbUhlYXRtYXAoaGVhdEVsLCBkYXRhLCB0YWdlLCB0YWdNZXRhLCBwZXJz +b25NYXAsIGVpbnRyYWVnZSk7CiAgICAgICAgaWYgKG5lYmVuRWwpIF9yZW5kZXJOZWJlbndhY2hl +bkhlYXRtYXAobmViZW5FbCwgZGF0YSwgdGFnZSwgdGFnTWV0YSk7CiAgICAgICAgX3JlbmRlclRl +YW1CYWxrZW4oYmFsa2VuRWwsIGRhdGEpOwogICAgICAgIF9yZW5kZXJUZWFtQmFsa2VuU29ydEhv +b2tzKCk7CiAgICB9CgogICAgLy8gR2V0ZWlsdGVyIEhlYWRlci1CYXVlciBmdWVyIE1pa3JvdGVh +bS1IZWF0bWFwIFVORCBOZWJlbndhY2hlbi1IZWF0bWFwLgogICAgLy8gQmVpZGUgcmVuZGVybiBk +ZW5zZWxiZW4gQ3V0IChTcGFsdGVua29lcGZlIE1vbmF0IC8gVGFnIC8gV29jaGVudGFnICsKICAg +IC8vIG9wdGlvbmFsZSBNYXJrZXItWmVpbGVuIEZlaWVydGFnZSAvIEZlcmllbiAvIFNvbmRlcnRl +cm1pbmUpIHVuZCB0ZWlsZW4KICAgIC8vIGRpZSBTcGFsdGVuLUtsYXNzZW4tTG9naWsuIExpZWZl +cnQgdm9yZ2VmZXJ0aWd0ZSBIVE1MLUJhdXN0ZWluZSBwbHVzCiAgICAvLyBkaWUgbWFrZVNwYWNl +ci9zcGFsdGVuS2xhc3Nlbi1IZWxwZXIgZnVlciBkaWUgQm9keS1aZWlsZW4uCiAgICBmdW5jdGlv +biBfaGVhdG1hcEtvcGZUZWlsKHRhZ2UsIHRhZ01ldGEpIHsKICAgICAgICB2YXIgbW9uYXRlTWFw +ID0ge307CiAgICAgICAgdGFnZS5mb3JFYWNoKGZ1bmN0aW9uKGQpIHsKICAgICAgICAgICAgdmFy +IG0gPSBkLnN1YnN0cigwLCA3KTsKICAgICAgICAgICAgbW9uYXRlTWFwW21dID0gKG1vbmF0ZU1h +cFttXSB8fCAwKSArIDE7CiAgICAgICAgfSk7CiAgICAgICAgdmFyIG1vbmF0ZSA9IE9iamVjdC5r +ZXlzKG1vbmF0ZU1hcCkuc29ydCgpOwogICAgICAgIHZhciBtb25hdEhlYWQgPSBtb25hdGUubWFw +KGZ1bmN0aW9uKG0pIHsKICAgICAgICAgICAgdmFyIG5yID0gcGFyc2VJbnQobS5zdWJzdHIoNSwg +MiksIDEwKSAtIDE7CiAgICAgICAgICAgIHJldHVybiAnPHRoIGNsYXNzPSJ0ZWFtLWhtLW1vbmF0 +LWNlbGwiIGNvbHNwYW49IicgKyBtb25hdGVNYXBbbV0gKyAnIj4nICsgTU9OQVRTTkFNRU5fS1VS +Wltucl0gKyAnPC90aD4nOwogICAgICAgIH0pLmpvaW4oJycpOwoKICAgICAgICBmdW5jdGlvbiBz +cGFsdGVuS2xhc3NlbihkKSB7IHJldHVybiBfc3BhbHRlbktsYXNzZW4odGFnTWV0YSwgZCk7IH0K +CiAgICAgICAgdmFyIHRhZ0hlYWQgPSB0YWdlLm1hcChmdW5jdGlvbihkKSB7CiAgICAgICAgICAg +IHZhciBudW0gPSBwYXJzZUludChkLnN1YnN0cig4LCAyKSwgMTApOwogICAgICAgICAgICB2YXIg +Y2xzID0gWyd0ZWFtLWhtLXRoJ10uY29uY2F0KHNwYWx0ZW5LbGFzc2VuKGQpKTsKICAgICAgICAg +ICAgcmV0dXJuICc8dGggY2xhc3M9IicgKyBjbHMuam9pbignICcpICsgJyI+JyArIG51bSArICc8 +L3RoPic7CiAgICAgICAgfSkuam9pbignJyk7CgogICAgICAgIHZhciB3dEt1cnogPSBbJ1NvJywn +TW8nLCdEaScsJ01pJywnRG8nLCdGcicsJ1NhJ107CiAgICAgICAgdmFyIHd0SGVhZCA9IHRhZ2Uu +bWFwKGZ1bmN0aW9uKGQpIHsKICAgICAgICAgICAgdmFyIG0gPSB0YWdNZXRhW2RdOwogICAgICAg +ICAgICB2YXIgY2xzID0gWyd0ZWFtLWhtLXd0J10uY29uY2F0KHNwYWx0ZW5LbGFzc2VuKGQpKTsK +ICAgICAgICAgICAgcmV0dXJuICc8dGggY2xhc3M9IicgKyBjbHMuam9pbignICcpICsgJyI+JyAr +IHd0S3VyelttLndvY2hlbnRhZ10gKyAnPC90aD4nOwogICAgICAgIH0pLmpvaW4oJycpOwoKICAg +ICAgICBmdW5jdGlvbiBpdGVtS2V5KGl0KSB7CiAgICAgICAgICAgIGlmICghaXQpIHJldHVybiAn +JzsKICAgICAgICAgICAgcmV0dXJuIChpdC5iZXplaWNobnVuZyB8fCBpdC5uYW1lIHx8IGl0LnRp +dGVsIHx8ICcnKSArCiAgICAgICAgICAgICAgICAgICAnfCcgKyAoaXQudm9uIHx8IGl0LmRhdHVt +IHx8ICcnKSArCiAgICAgICAgICAgICAgICAgICAnfCcgKyAoaXQuYmlzIHx8IGl0LmRhdHVtQmlz +IHx8IGl0LmRhdHVtIHx8ICcnKTsKICAgICAgICB9CiAgICAgICAgZnVuY3Rpb24gaXRlbUxhYmVs +KGl0KSB7CiAgICAgICAgICAgIHJldHVybiBpdC5iZXplaWNobnVuZyB8fCBpdC5uYW1lIHx8IGl0 +LnRpdGVsIHx8IGl0LnRleHQgfHwgJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBtYWtl +TWFya2VyUm93KGxhYmVsLCBnZXR0ZXIsIGtsYXNzZSwgb3B0cykgewogICAgICAgICAgICBvcHRz +ID0gb3B0cyB8fCB7fTsKICAgICAgICAgICAgdmFyIGFueUhpdCA9IHRhZ2Uuc29tZShmdW5jdGlv +bihkKSB7IHJldHVybiBnZXR0ZXIodGFnTWV0YVtkXSkubGVuZ3RoID4gMDsgfSk7CiAgICAgICAg +ICAgIGlmICghYW55SGl0KSByZXR1cm4gJyc7CiAgICAgICAgICAgIHZhciBjZWxscyA9ICcnOwog +ICAgICAgICAgICB2YXIgaSA9IDA7CiAgICAgICAgICAgIHdoaWxlIChpIDwgdGFnZS5sZW5ndGgp +IHsKICAgICAgICAgICAgICAgIHZhciBkID0gdGFnZVtpXTsKICAgICAgICAgICAgICAgIHZhciBp +dGVtcyA9IGdldHRlcih0YWdNZXRhW2RdKTsKICAgICAgICAgICAgICAgIHZhciBjZWxsQ2xzID0g +Wyd0ZWFtLWhtLW1hcmtlci1jZWxsJ10uY29uY2F0KHNwYWx0ZW5LbGFzc2VuKGQpKTsKICAgICAg +ICAgICAgICAgIGlmICghaXRlbXMubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgY2VsbHMg +Kz0gJzx0ZCBjbGFzcz0iJyArIGNlbGxDbHMuam9pbignICcpICsgJyI+PC90ZD4nOwogICAgICAg +ICAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAg +ICAgICAgIH0KICAgICAgICAgICAgICAgIGNlbGxDbHMucHVzaChrbGFzc2UpOwogICAgICAgICAg +ICAgICAgdmFyIHNwYW4gPSAxOwogICAgICAgICAgICAgICAgaWYgKG9wdHMubWl0U3Bhbikgewog +ICAgICAgICAgICAgICAgICAgIHZhciBzY2hsdWVzc2VsID0gaXRlbXMubWFwKGl0ZW1LZXkpLmpv +aW4oJzsnKTsKICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gaSArIDE7IGogPCB0YWdl +Lmxlbmd0aDsgaisrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmb2xsb3dJdGVtcyA9 +IGdldHRlcih0YWdNZXRhW3RhZ2Vbal1dKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZv +bGxvd0l0ZW1zLm1hcChpdGVtS2V5KS5qb2luKCc7JykgIT09IHNjaGx1ZXNzZWwpIGJyZWFrOwog +ICAgICAgICAgICAgICAgICAgICAgICBzcGFuKys7CiAgICAgICAgICAgICAgICAgICAgfQogICAg +ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdmFyIGxhYmVscyA9IGl0ZW1zLm1hcChpdGVt +TGFiZWwpLmZpbHRlcihCb29sZWFuKTsKICAgICAgICAgICAgICAgIHZhciB0aXAgICAgPSBsYWJl +bHMuam9pbignIC8gJyk7CiAgICAgICAgICAgICAgICB2YXIgYW56ZWlnZTsKICAgICAgICAgICAg +ICAgIGlmIChvcHRzLmljb24pICAgICAgICAgYW56ZWlnZSA9IG9wdHMuaWNvbjsKICAgICAgICAg +ICAgICAgIGVsc2UgaWYgKG9wdHMubWl0U3BhbikgYW56ZWlnZSA9IGxhYmVscy5qb2luKCcgLyAn +KTsKICAgICAgICAgICAgICAgIGVsc2UgICAgICAgICAgICAgICAgICAgYW56ZWlnZSA9IGxhYmVs +c1swXSA/IGxhYmVsc1swXS5zdWJzdHIoMCwgMikgOiAnwrcnOwogICAgICAgICAgICAgICAgdmFy +IGV4dHJhID0gJyc7CiAgICAgICAgICAgICAgICBpZiAob3B0cy5rbGlja2JhcikgewogICAgICAg +ICAgICAgICAgICAgIHZhciBpZHMgPSBpdGVtcy5tYXAoZnVuY3Rpb24ocykgeyByZXR1cm4gcy5p +ZDsgfSkuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJywnKTsKICAgICAgICAgICAgICAgICAgICBleHRy +YSA9ICcgZGF0YS1zdC1pZHM9IicgKyBlc2NhcGVBdHRyKGlkcykgKyAnIiBkYXRhLWtsaWNrYmFy +PSIxIic7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB2YXIgY29sc3BhbkF0dHIg +PSBzcGFuID4gMSA/ICcgY29sc3Bhbj0iJyArIHNwYW4gKyAnIicgOiAnJzsKICAgICAgICAgICAg +ICAgIGNlbGxzICs9ICc8dGQgY2xhc3M9IicgKyBjZWxsQ2xzLmpvaW4oJyAnKSArICciJyArIGNv +bHNwYW5BdHRyICsgZXh0cmEgKyAnIHRpdGxlPSInICsgZXNjYXBlQXR0cih0aXApICsgJyI+JyAr +IGVzY2FwZUhUTUwoYW56ZWlnZSkgKyAnPC90ZD4nOwogICAgICAgICAgICAgICAgaSArPSBzcGFu +OwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAnPHRyIGNsYXNzPSJ0ZWFtLWhtLW1h +cmtlci1yb3ciPicgKwogICAgICAgICAgICAgICAgJzx0aCBjbGFzcz0idGVhbS1obS1uYW1lIHRl +YW0taG0tbWFya2VyLW5hbWUiPicgKyBlc2NhcGVIVE1MKGxhYmVsKSArICc8L3RoPicgKwogICAg +ICAgICAgICAgICAgY2VsbHMgKwogICAgICAgICAgICAgICAgJzwvdHI+JzsKICAgICAgICB9Cgog +ICAgICAgIHZhciBmZWllcnRhZ1JvdyAgID0gbWFrZU1hcmtlclJvdygnRmVpZXJ0YWdlJywgICAg +ZnVuY3Rpb24obSkgeyByZXR1cm4gbS5mZWllcnRhZ2U7IH0sICAgICAnbWFya2VyLWZlaWVyJywg +ICAgICAgIHsga2xpY2tiYXI6IGZhbHNlLCBtaXRTcGFuOiBmYWxzZSB9KTsKICAgICAgICB2YXIg +ZmVyaWVuUm93ICAgICA9IG1ha2VNYXJrZXJSb3coJ0ZlcmllbicsICAgICAgIGZ1bmN0aW9uKG0p +IHsgcmV0dXJuIG0uZmVyaWVuOyB9LCAgICAgICAgJ21hcmtlci1mZXJpZW4nLCAgICAgICB7IGts +aWNrYmFyOiBmYWxzZSwgbWl0U3BhbjogdHJ1ZSB9KTsKICAgICAgICB2YXIgc29uZGVydGVybVJv +dyA9IG1ha2VNYXJrZXJSb3coJ1NvbmRlcnRlcm1pbmUnLCBmdW5jdGlvbihtKSB7IHJldHVybiBt +LnNvbmRlcnRlcm1pbmU7IH0sICdtYXJrZXItc29uZGVydGVybWluJywgeyBrbGlja2JhcjogdHJ1 +ZSwgIG1pdFNwYW46IGZhbHNlLCBpY29uOiAn4pqgJyB9KTsKCiAgICAgICAgZnVuY3Rpb24gbWFr +ZVNwYWNlcihrbGFzc2UpIHsKICAgICAgICAgICAgdmFyIG5hbWVUZCA9ICc8dGQgY2xhc3M9InRl +YW0taG0tc3BhY2VyLW5hbWUgJyArIGtsYXNzZSArICciPjwvdGQ+JzsKICAgICAgICAgICAgdmFy +IGJvZHlUZCA9ICc8dGQgY2xhc3M9InRlYW0taG0tc3BhY2VyLWJvZHkgJyArIGtsYXNzZSArICci +IGNvbHNwYW49IicgKyB0YWdlLmxlbmd0aCArICciPjwvdGQ+JzsKICAgICAgICAgICAgcmV0dXJu +ICc8dHIgY2xhc3M9InRlYW0taG0tc3BhY2VyLXJvdyI+JyArIG5hbWVUZCArIGJvZHlUZCArICc8 +L3RyPic7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gewogICAgICAgICAgICBtb25hdEhlYWQ6 +IG1vbmF0SGVhZCwgdGFnSGVhZDogdGFnSGVhZCwgd3RIZWFkOiB3dEhlYWQsCiAgICAgICAgICAg +IGZlaWVydGFnUm93OiBmZWllcnRhZ1JvdywgZmVyaWVuUm93OiBmZXJpZW5Sb3csIHNvbmRlcnRl +cm1Sb3c6IHNvbmRlcnRlcm1Sb3csCiAgICAgICAgICAgIHNwYWx0ZW5LbGFzc2VuOiBzcGFsdGVu +S2xhc3NlbiwgbWFrZVNwYWNlcjogbWFrZVNwYWNlcgogICAgICAgIH07CiAgICB9CgogICAgLy8g +U3RpY2t5LVRvcC1XZXJ0ZSBmdWVyIGRpZSBtZWhyemVpbGlnZW4gSGVhZGVyIChNb25hdCAvIFRh +ZyAvIFdvY2hlbnRhZwogICAgLy8gKyBvcHRpb25hbGUgTWFya2VyLVplaWxlbikuIENTUyBhbGxl +aW4gcmVpY2h0IG5pY2h0LCB3ZWlsIE1hcmtlci1aZWlsZW4KICAgIC8vIG9wdGlvbmFsIHNpbmQg +4oCUIHdpciBzdW1taWVyZW4gZGllIHRhdHNhZWNobGljaGVuIG9mZnNldEhlaWdodC1XZXJ0ZS4K +ICAgIGZ1bmN0aW9uIF9oZWF0bWFwU3RpY2t5VG9wQW53ZW5kZW4oZWwpIHsKICAgICAgICB2YXIg +dGhlYWQgPSBlbC5xdWVyeVNlbGVjdG9yKCcudGVhbS1obS10YWJlbGxlID4gdGhlYWQnKTsKICAg +ICAgICBpZiAoIXRoZWFkKSByZXR1cm47CiAgICAgICAgdmFyIGFra3VUb3AgPSAwOwogICAgICAg +IEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodGhlYWQuY2hpbGRyZW4sIGZ1bmN0aW9uKHRy +KSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodHIuY2hpbGRyZW4s +IGZ1bmN0aW9uKGNlbGwpIHsKICAgICAgICAgICAgICAgIGNlbGwuc3R5bGUudG9wID0gYWtrdVRv +cCArICdweCc7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBha2t1VG9wICs9IHRyLm9mZnNl +dEhlaWdodDsKICAgICAgICB9KTsKICAgIH0KCiAgICAvLyBTb25kZXJ0ZXJtaW4tS2xpY2s6IE1h +cmtlci1aZWxsZSBvZWZmbmV0IERldGFpbC1Nb2RhbC4gV2lyZCBzb3dvaGwKICAgIC8vIGZ1ZXIg +ZGllIEhhdXB0LUhlYXRtYXAgYWxzIGF1Y2ggZnVlciBkaWUgTmViZW53YWNoZW4tSGVhdG1hcCBy +ZWdpc3RyaWVydC4KICAgIGZ1bmN0aW9uIF9oZWF0bWFwU29uZGVydGVybWluZUtsaWNrYmFyKGVs +KSB7CiAgICAgICAgZWwucXVlcnlTZWxlY3RvckFsbCgnLm1hcmtlci1zb25kZXJ0ZXJtaW5bZGF0 +YS1rbGlja2Jhcj0iMSJdJykuZm9yRWFjaChmdW5jdGlvbihjZWxsKSB7CiAgICAgICAgICAgIGNl +bGwuc3R5bGUuY3Vyc29yID0gJ3BvaW50ZXInOwogICAgICAgICAgICBjZWxsLmFkZEV2ZW50TGlz +dGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFn +YXRpb24oKTsKICAgICAgICAgICAgICAgIF96ZWlnZVNvbmRlcnRlcm1pbmVEZXRhaWwoY2VsbC5n +ZXRBdHRyaWJ1dGUoJ2RhdGEtc3QtaWRzJykpOwogICAgICAgICAgICB9KTsKICAgICAgICB9KTsK +ICAgIH0KCiAgICBmdW5jdGlvbiBfcmVuZGVyVGVhbUhlYXRtYXAoZWwsIGRhdGEsIHRhZ2UsIHRh +Z01ldGEsIHBlcnNvbk1hcCwgZWludHJhZWdlKSB7CiAgICAgICAgdmFyIGtvcGYgPSBfaGVhdG1h +cEtvcGZUZWlsKHRhZ2UsIHRhZ01ldGEpOwogICAgICAgIHZhciBtb25hdEhlYWQgICAgID0ga29w +Zi5tb25hdEhlYWQ7CiAgICAgICAgdmFyIHRhZ0hlYWQgICAgICAgPSBrb3BmLnRhZ0hlYWQ7CiAg +ICAgICAgdmFyIHd0SGVhZCAgICAgICAgPSBrb3BmLnd0SGVhZDsKICAgICAgICB2YXIgZmVpZXJ0 +YWdSb3cgICA9IGtvcGYuZmVpZXJ0YWdSb3c7CiAgICAgICAgdmFyIGZlcmllblJvdyAgICAgPSBr +b3BmLmZlcmllblJvdzsKICAgICAgICB2YXIgc29uZGVydGVybVJvdyA9IGtvcGYuc29uZGVydGVy +bVJvdzsKICAgICAgICB2YXIgc3BhbHRlbktsYXNzZW4gPSBrb3BmLnNwYWx0ZW5LbGFzc2VuOwog +ICAgICAgIHZhciBtYWtlU3BhY2VyICAgICA9IGtvcGYubWFrZVNwYWNlcjsKCiAgICAgICAgLy8g +S29udGV4dCBmdWVyIENsaWNrLUhhbmRsZXIgYWJsZWdlbiDigJQgRGV0YWlsLVplaWxlbiB3ZXJk +ZW4gYmVpCiAgICAgICAgLy8gRXhwYW5kLUtsaWNrcyBkaXJla3QgcGVyIGluc2VydEFkamFjZW50 +SFRNTCBlaW5nZWZ1ZWd0IHN0YXR0IGRpZQogICAgICAgIC8vIGdhbnplIFRhYmVsbGUgbmV1IHp1 +IHJlbmRlcm4uCiAgICAgICAgX2hlYXRtYXBLb250ZXh0ID0geyB0YWdlOiB0YWdlLCB0YWdNZXRh +OiB0YWdNZXRhLCBwZXJzb25NYXA6IHBlcnNvbk1hcCwgZWludHJhZWdlOiBlaW50cmFlZ2UgfTsK +ICAgICAgICB2YXIgcm93c0h0bWwgPSBkYXRhLm1hcChmdW5jdGlvbih0LCBpZHgpIHsKICAgICAg +ICAgICAgdmFyIGV4cGFuZGVkID0gISFfc3RhdFRlYW1FeHBhbmRlZFt0LmlkXTsKICAgICAgICAg +ICAgdmFyIHBmZWlsID0gZXhwYW5kZWQgPyAn4pa+JyA6ICfilrgnOwogICAgICAgICAgICB2YXIg +cG9vbCA9IF9pc3RQb29sVGVhbSh0KTsKICAgICAgICAgICAgLy8gUG9vbC1TdGFuZG9ydGUgKExE +LCBTTykgd2VyZGVuIGFscyBlaW4gZ2VtZWluc2FtZXIgQmxvY2sgYmVoYW5kZWx0CiAgICAgICAg +ICAgIC8vIOKAlCBrZWluIFNwYWNlciB6d2lzY2hlbiBpaG5lbiwgZGEgc2llIGZ1bmt0aW9uYWwg +enVzYW1tZW5nZWhvZXJlbi4KICAgICAgICAgICAgdmFyIHZvclBvb2wgICA9IGlkeCA+IDAgJiYg +X2lzdFBvb2xUZWFtKGRhdGFbaWR4IC0gMV0pOwogICAgICAgICAgICB2YXIgamV0enRQb29sID0g +X2lzdFBvb2xUZWFtKHQpOwogICAgICAgICAgICB2YXIgc3RhbmRvcnRXZWNoc2VsID0gaWR4ID4g +MCAmJiBkYXRhW2lkeCAtIDFdLnN0YW5kb3J0ICE9PSB0LnN0YW5kb3J0ICYmICEodm9yUG9vbCAm +JiBqZXR6dFBvb2wpOwogICAgICAgICAgICB2YXIgaGF1cHRUcmVubmVyICAgID0gaWR4ID4gMCAm +JiBkYXRhW2lkeCAtIDFdLnN0YW5kb3J0ID09PSAnSEEnICYmIHQuc3RhbmRvcnQgPT09ICdCTyc7 +CiAgICAgICAgICAgIHZhciBzcGFjZXJSb3cgPSAnJzsKICAgICAgICAgICAgaWYgKGhhdXB0VHJl +bm5lcikgewogICAgICAgICAgICAgICAgLy8gSGF1cHR3YWNoZW4tVHJlbm5lcjogb2JlcmVyIFNw +YWNlciBtaXQgQm9yZGVyLUJvdHRvbSAoZ3JhdWUKICAgICAgICAgICAgICAgIC8vIFRyZW5ubGlu +aWUpLCB1bnRlcmVyIFNwYWNlciBhbHMgRGlzdGFueiBkYW5hY2guCiAgICAgICAgICAgICAgICBz +cGFjZXJSb3cgPSBtYWtlU3BhY2VyKCd0ZWFtLWhtLXNwYWNlci1oYXVwdC1vYmVuJykgKwogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgbWFrZVNwYWNlcigndGVhbS1obS1zcGFjZXItaGF1cHQt +dW50ZW4nKTsKICAgICAgICAgICAgfSBlbHNlIGlmIChzdGFuZG9ydFdlY2hzZWwpIHsKICAgICAg +ICAgICAgICAgIHNwYWNlclJvdyA9IG1ha2VTcGFjZXIoJ3RlYW0taG0tc3BhY2VyLXN0YW5kb3J0 +Jyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIHRlYW1Sb3cgPSAnPHRyIGNsYXNzPSJ0 +ZWFtLWhtLXJvdyIgZGF0YS10ZWFtLWlkPSInICsgdC5pZCArICciPicgKwogICAgICAgICAgICAg +ICAgJzx0aCBjbGFzcz0idGVhbS1obS1uYW1lIHRlYW0taG0tY2xpY2thYmxlIiB0aXRsZT0iS2xp +Y2sgemVpZ3QgUGVyc29uZW4tRGV0YWlsIj4nICsKICAgICAgICAgICAgICAgICAgICAnPHNwYW4g +Y2xhc3M9InRlYW0taG0tdG9nZ2xlIj4nICsgcGZlaWwgKyAnPC9zcGFuPiAnICsgZXNjYXBlSFRN +TCh0Lm5hbWUpICsKICAgICAgICAgICAgICAgICc8L3RoPicgKwogICAgICAgICAgICAgICAgdGFn +ZS5tYXAoZnVuY3Rpb24oZCkgewogICAgICAgICAgICAgICAgICAgIHZhciBtID0gdGFnTWV0YVtk +XTsKICAgICAgICAgICAgICAgICAgICB2YXIgaW5mbyA9IHQudGFnZVtkXTsKICAgICAgICAgICAg +ICAgICAgICB2YXIgYmFzZUNscyA9IFsndGVhbS1obS1jZWxsJ10uY29uY2F0KHNwYWx0ZW5LbGFz +c2VuKGQpKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCFpbmZvIHx8IGluZm8udG90YWwgPT09 +IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICc8dGQgY2xhc3M9IicgKyBiYXNl +Q2xzLmpvaW4oJyAnKSArICciPjwvdGQ+JzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg +ICAgICAgICAgICAgLy8gQmVpIG5pZW1hbmQgaW0gRGllbnN0OiByb3QgbnVyIHdlbm4gYWxsZSAi +aGFldHRlbiBhcmJlaXRlbgogICAgICAgICAgICAgICAgICAgIC8vIGtvZW5uZW4iIChGcmVpLUNv +ZGVzKSwgc29uc3QgZ3JhdSAobGVnaXRpbWUgQWJ3ZXNlbmhlaXQpLgogICAgICAgICAgICAgICAg +ICAgIGZ1bmN0aW9uIGZhcmJlQmVpTnVsbERpZW5zdCgpIHsKICAgICAgICAgICAgICAgICAgICAg +ICAgaWYgKGluZm8uYWJ3ZXNlbmQgPj0gMSkgcmV0dXJuICd0ZWFtLWdyYXUnOwogICAgICAgICAg +ICAgICAgICAgICAgICBpZiAoaW5mby5mcmVpID49IDEpICAgICByZXR1cm4gJ3RlYW0tcic7CiAg +ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndGVhbS1ncmF1JzsKICAgICAgICAgICAgICAg +ICAgICB9CiAgICAgICAgICAgICAgICAgICAgLy8gUG9vbC1UZWFtOiByb3QgLyBncmF1IC8gZ3J1 +ZW4g4oCUIEtFSU5FIFphaGwgaW4gZGVyIFplbGxlLgogICAgICAgICAgICAgICAgICAgIC8vIGdy +dWVuIE5VUiBiZWkgZWNodGVtIERHTC1TcHJpbmdlbiAoUG9vbC1QZXJzb24gbWFjaHQKICAgICAg +ICAgICAgICAgICAgICAvLyBGL1MvTi1ER0wgVU5EIGRpZSBaaWVsd2FjaGUgaGF0IGluIGRpZXNl +ciBTY2hpY2h0IGtlaW5lbgogICAgICAgICAgICAgICAgICAgIC8vIGVpZ2VuZW4gREdMKS4gUG9v +bC1QZXJzb24gaW0gRGllbnN0IGFiZXIgb2huZSBER0wtCiAgICAgICAgICAgICAgICAgICAgLy8g +VmVydHJldHVuZ3MtRnVua3Rpb24gKHouQi4gRi1GQlAgb2RlciBER0wtYmVpLWJlc2V0enRlci0K +ICAgICAgICAgICAgICAgICAgICAvLyBaaWVsd2FjaGUpIHdpcmQgZ3JhdSBkYXJnZXN0ZWxsdCDi +gJQgc2llIGlzdCBkYSwgYWJlcgogICAgICAgICAgICAgICAgICAgIC8vIHN0YXRpc3Rpc2NoIG5p +Y2h0IGFscyBQb29sLVNwcmluZ2VyIHJlbGV2YW50LgogICAgICAgICAgICAgICAgICAgIGlmIChw +b29sKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwb29sRmFyYmUsIHBvb2xUaXA7CiAg +ICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmZvLmltRGllbnN0ID09PSAwKSB7CiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICBwb29sRmFyYmUgPSBmYXJiZUJlaU51bGxEaWVuc3QoKTsKICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIHBvb2xUaXAgPSBkICsgJyDigJQgbmljaHQgaW0gRGll +bnN0JzsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbmZvLmlzdFNwcmluZ2Vy +KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb29sRmFyYmUgPSAndGVhbS1nJzsKICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIHBvb2xUaXAgPSBkICsgJyDigJQgc3ByaW5ndCBhbHMg +REdMIGVpbic7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICBwb29sRmFyYmUgPSAndGVhbS1ncmF1JzsKICAgICAgICAgICAgICAgICAg +ICAgICAgICAgIHBvb2xUaXAgPSBkICsgJyDigJQgaW0gRGllbnN0LCBuaWNodCBhbHMgREdMLVZl +cnRyZXR1bmcnOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg +ICAgIGJhc2VDbHMucHVzaChwb29sRmFyYmUpOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1 +cm4gJzx0ZCBjbGFzcz0iJyArIGJhc2VDbHMuam9pbignICcpICsgJyIgdGl0bGU9IicgKyBlc2Nh +cGVBdHRyKHBvb2xUaXApICsgJyI+PC90ZD4nOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAg +ICAgICAgICAgICAgICAvLyBSZWd1bMOkcmUgVGVhbXM6IHJvdCAvIGdyYXUgLyBuZXV0cmFsICgx +IGRhKSAvIGdyw7xuICgyKykgLyBnb2xkIChhbGxlKQogICAgICAgICAgICAgICAgICAgIHZhciBm +YXJiZSA9IChpbmZvLmltRGllbnN0ID09PSAwKSA/IGZhcmJlQmVpTnVsbERpZW5zdCgpCiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIDogKGluZm8uaW1EaWVuc3QgPj0gaW5mby50b3RhbCkg +PyAndGVhbS1nb2xkJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IChpbmZvLmltRGll +bnN0ID09PSAxKSA/ICd0ZWFtLW4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ3Rl +YW0tZyc7CiAgICAgICAgICAgICAgICAgICAgYmFzZUNscy5wdXNoKGZhcmJlKTsKICAgICAgICAg +ICAgICAgICAgICAvLyBCZWkgMC1EaWVuc3QgbmljaHRzIGFuemVpZ2VuIChaYWhsIGhhZXR0ZSBr +ZWluZW4gTWVocndlcnQpLAogICAgICAgICAgICAgICAgICAgIC8vIGFuc29uc3RlbiBkaWUgQW56 +YWhsLgogICAgICAgICAgICAgICAgICAgIHZhciBpbmhhbHQgPSBpbmZvLmltRGllbnN0ID09PSAw +ID8gJycgOiBpbmZvLmltRGllbnN0OwogICAgICAgICAgICAgICAgICAgIHZhciB0aXAgPSBkICsg +JyDigJQgJyArIGluZm8uaW1EaWVuc3QgKyAnLycgKyBpbmZvLnRvdGFsICsgJyBpbSBEaWVuc3Qn +OwogICAgICAgICAgICAgICAgICAgIGlmIChpbmZvLmltRGllbnN0ID09PSAwKSB7CiAgICAgICAg +ICAgICAgICAgICAgICAgIGlmIChpbmZvLmFid2VzZW5kKSB0aXAgKz0gJyAoJyArIGluZm8uYWJ3 +ZXNlbmQgKyAnIGFid2VzZW5kKSc7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmZvLmZy +ZWkpICAgICB0aXAgKz0gJyAoJyArIGluZm8uZnJlaSArICcgZnJlaSknOwogICAgICAgICAgICAg +ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzx0ZCBjbGFzcz0iJyArIGJhc2VD +bHMuam9pbignICcpICsgJyIgdGl0bGU9IicgKyBlc2NhcGVBdHRyKHRpcCkgKyAnIj4nICsgaW5o +YWx0ICsgJzwvdGQ+JzsKICAgICAgICAgICAgICAgIH0pLmpvaW4oJycpICsKICAgICAgICAgICAg +ICAgICc8L3RyPic7CgogICAgICAgICAgICBpZiAoIWV4cGFuZGVkKSByZXR1cm4gc3BhY2VyUm93 +ICsgdGVhbVJvdzsKCiAgICAgICAgICAgIC8vIERldGFpbC1aZWlsZW4gcHJvIFBlcnNvbiDigJQg +Z2xlaWNoZXIgSGVscGVyIHdpcmQgYmVpbSBFeHBhbmQtCiAgICAgICAgICAgIC8vIEtsaWNrIGVy +bmV1dCBnZW51dHp0LCB1bSBkaWUgWmVpbGVuIG5hY2h0cmFlZ2xpY2ggZWluenVmdWVnZW4uCiAg +ICAgICAgICAgIHJldHVybiBzcGFjZXJSb3cgKyB0ZWFtUm93ICsgX2J1aWxkVGVhbURldGFpbFJv +d3ModCwgX2hlYXRtYXBLb250ZXh0KTsKICAgICAgICB9KS5qb2luKCcnKTsKCiAgICAgICAgZWwu +aW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9InRhYmVsbGUtc2Nyb2xsIHRlYW0taG0tc2Nyb2xsIj4n +ICsKICAgICAgICAgICAgJzx0YWJsZSBjbGFzcz0idGVhbS1obS10YWJlbGxlIj4nICsKICAgICAg +ICAgICAgICAgICc8dGhlYWQ+JyArCiAgICAgICAgICAgICAgICAgICAgJzx0cj48dGggY2xhc3M9 +InRlYW0taG0tbmFtZSI+PC90aD4nICsgbW9uYXRIZWFkICsgJzwvdHI+JyArCiAgICAgICAgICAg +ICAgICAgICAgJzx0cj48dGggY2xhc3M9InRlYW0taG0tbmFtZSI+PC90aD4nICsgdGFnSGVhZCAg +ICsgJzwvdHI+JyArCiAgICAgICAgICAgICAgICAgICAgJzx0cj48dGggY2xhc3M9InRlYW0taG0t +bmFtZSI+PC90aD4nICsgd3RIZWFkICAgICsgJzwvdHI+JyArCiAgICAgICAgICAgICAgICAgICAg +ZmVpZXJ0YWdSb3cgKyBmZXJpZW5Sb3cgKyBzb25kZXJ0ZXJtUm93ICsKICAgICAgICAgICAgICAg +ICc8L3RoZWFkPicgKwogICAgICAgICAgICAgICAgJzx0Ym9keT4nICsgcm93c0h0bWwgKyAnPC90 +Ym9keT4nICsKICAgICAgICAgICAgJzwvdGFibGU+PC9kaXY+JzsKCiAgICAgICAgX2hlYXRtYXBT +dGlja3lUb3BBbndlbmRlbihlbCk7CgogICAgICAgIC8vIEhvdmVyLUtyZXV6OiBFeGNlbC1TdHls +ZS1IaWdobGlnaHQgdm9uIFplaWxlICsgU3BhbHRlLiBFdmVudC0KICAgICAgICAvLyBEZWxlZ2F0 +aW9uIGF1ZiBkZXIgVGFiZWxsZSwgbmljaHQgcHJvIFplbGxlLCBzb25zdCBmcmlzc3QgZXMKICAg +ICAgICAvLyBhdWYgZGVuIEJlaG9lcmRlbi1QQ3MgV2VjaHNlbHplaXQuCiAgICAgICAgLy8gU3Bh +bHRlbi1UcmFja2luZyB1ZWJlciBjZWxsSW5kZXggKG5hdGl2ZSBIVE1MVGFibGVDZWxsRWxlbWVu +dC0KICAgICAgICAvLyBQcm9wZXJ0eTogUG9zaXRpb24gaW5uZXJoYWxiIGRlcyByb3cuY2VsbHMt +Q29sbGVjdGlvbikuIERpZQogICAgICAgIC8vIE1vbmF0c3plaWxlICgxLiB0aGVhZC1Sb3cgbWl0 +IGNvbHNwYW4pIHdpcmQgcGVyIEtsYXNzZW4tRmlsdGVyCiAgICAgICAgLy8gd2VnZ2VsYXNzZW4s +IHdlaWwgaWhyZSBjZWxsSW5kZXgtV2VydGUgbWl0IGRlbiBhbmRlcmVuIFJvd3MKICAgICAgICAv +LyBuaWNodCB1ZWJlcmVpbnN0aW1tZW4uCiAgICAgICAgdmFyIHRibCA9IGVsLnF1ZXJ5U2VsZWN0 +b3IoJy50ZWFtLWhtLXRhYmVsbGUnKTsKICAgICAgICBpZiAodGJsKSB7CiAgICAgICAgICAgIHZh +ciBha3R1ZWxsZVplbGxlID0gbnVsbDsKICAgICAgICAgICAgZnVuY3Rpb24gY2xlYXJDcm9zcygp +IHsKICAgICAgICAgICAgICAgIGlmICghYWt0dWVsbGVaZWxsZSkgcmV0dXJuOwogICAgICAgICAg +ICAgICAgdGJsLnF1ZXJ5U2VsZWN0b3JBbGwoJy5obS1jcm9zcycpLmZvckVhY2goZnVuY3Rpb24o +YykgeyBjLmNsYXNzTGlzdC5yZW1vdmUoJ2htLWNyb3NzJyk7IH0pOwogICAgICAgICAgICAgICAg +YWt0dWVsbGVaZWxsZSA9IG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZnVuY3Rpb24g +YXBwbHlDcm9zcyhjZWxsKSB7CiAgICAgICAgICAgICAgICB2YXIgcm93ID0gY2VsbC5wYXJlbnRF +bGVtZW50OwogICAgICAgICAgICAgICAgaWYgKCFyb3cpIHJldHVybjsKICAgICAgICAgICAgICAg +IHZhciBjb2wgPSBjZWxsLmNlbGxJbmRleDsKICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlw +ZS5mb3JFYWNoLmNhbGwocm93LmNlbGxzLCBmdW5jdGlvbihjKSB7IGMuY2xhc3NMaXN0LmFkZCgn +aG0tY3Jvc3MnKTsgfSk7CiAgICAgICAgICAgICAgICB0YmwucXVlcnlTZWxlY3RvckFsbCgndHIn +KS5mb3JFYWNoKGZ1bmN0aW9uKHRyKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKHRyID09PSBy +b3cpIHJldHVybjsKICAgICAgICAgICAgICAgICAgICBpZiAodHIucXVlcnlTZWxlY3RvcignLnRl +YW0taG0tbW9uYXQtY2VsbCcpKSByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgdmFyIGMgPSB0 +ci5jZWxsc1tjb2xdOwogICAgICAgICAgICAgICAgICAgIGlmIChjKSBjLmNsYXNzTGlzdC5hZGQo +J2htLWNyb3NzJyk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQogICAgICAgICAg +ICB0YmwuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJywgZnVuY3Rpb24oZSkgewogICAgICAg +ICAgICAgICAgdmFyIGNlbGwgPSBlLnRhcmdldC5jbG9zZXN0KCd0ZCwgdGgnKTsKICAgICAgICAg +ICAgICAgIGlmICghY2VsbCB8fCBjZWxsID09PSBha3R1ZWxsZVplbGxlKSByZXR1cm47CiAgICAg +ICAgICAgICAgICBpZiAoY2VsbC5jbGFzc0xpc3QuY29udGFpbnMoJ3RlYW0taG0tbW9uYXQtY2Vs +bCcpKSByZXR1cm47CiAgICAgICAgICAgICAgICBjbGVhckNyb3NzKCk7CiAgICAgICAgICAgICAg +ICBha3R1ZWxsZVplbGxlID0gY2VsbDsKICAgICAgICAgICAgICAgIGFwcGx5Q3Jvc3MoY2VsbCk7 +CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICB0YmwuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vs +ZWF2ZScsIGNsZWFyQ3Jvc3MpOwogICAgICAgIH0KCiAgICAgICAgLy8gS2xpY2stSGFuZGxlcjog +RXhwYW5kL0NvbGxhcHNlIHBybyBUZWFtLiBSZWFnaWVydCBhdWYgS2xpY2tzCiAgICAgICAgLy8g +dWViZXJhbGwgaW4gZGVyIFRlYW0tWmVpbGUgKE5hbWUsIFRhZ2VzemVsbGVuKS4gRGV0YWlsLVBl +cnNvbmVuLQogICAgICAgIC8vIFplaWxlbiBoYWJlbiBrZWluIGRhdGEtdGVhbS1pZCwgc2luZCBk +YWR1cmNoIGF1dG9tYXRpc2NoIGF1c2dlbm9tbWVuLgogICAgICAgIC8vIFNvbmRlcnRlcm1pbi1N +YXJrZXItWmVsbGVuIHN0b3BwZW4gZGVuIEJ1YmJsZSAocy4gbmFlY2hzdGVyIEJsb2NrKS4KICAg +ICAgICAvLyBTdGF0dCBkaWUgZ2FuemUgVGFiZWxsZSBuZXUgenUgcmVuZGVybiwgcGF0Y2hlbiB3 +aXIgZGllIERldGFpbC0KICAgICAgICAvLyBaZWlsZW4gZGlyZWt0IGFtIERPTSAoaW5zZXJ0QWRq +YWNlbnRIVE1MIC8gcmVtb3ZlKS4KICAgICAgICBlbC5xdWVyeVNlbGVjdG9yQWxsKCcudGVhbS1o +bS1yb3dbZGF0YS10ZWFtLWlkXScpLmZvckVhY2goZnVuY3Rpb24ocm93KSB7CiAgICAgICAgICAg +IHJvdy5zdHlsZS5jdXJzb3IgPSAncG9pbnRlcic7CiAgICAgICAgICAgIHJvdy5hZGRFdmVudExp +c3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHRpZCA9IHJv +dy5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGVhbS1pZCcpOwogICAgICAgICAgICAgICAgdmFyIG51biA9 +ICFfc3RhdFRlYW1FeHBhbmRlZFt0aWRdOwogICAgICAgICAgICAgICAgX3N0YXRUZWFtRXhwYW5k +ZWRbdGlkXSA9IG51bjsKICAgICAgICAgICAgICAgIHZhciB0b2dnbGUgPSByb3cucXVlcnlTZWxl +Y3RvcignLnRlYW0taG0tdG9nZ2xlJyk7CiAgICAgICAgICAgICAgICBpZiAodG9nZ2xlKSB0b2dn +bGUudGV4dENvbnRlbnQgPSBudW4gPyAn4pa+JyA6ICfilrgnOwogICAgICAgICAgICAgICAgaWYg +KG51bikgewogICAgICAgICAgICAgICAgICAgIHZhciBhbGxlVGVhbXMgPSBfdGVhbURhdGVuR2Vm +aWx0ZXJ0KCk7CiAgICAgICAgICAgICAgICAgICAgdmFyIHRlYW0gPSBudWxsOwogICAgICAgICAg +ICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWxsZVRlYW1zLmxlbmd0aDsgaSsrKSB7CiAg +ICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoYWxsZVRlYW1zW2ldLmlkKSA9PT0gU3Ry +aW5nKHRpZCkpIHsgdGVhbSA9IGFsbGVUZWFtc1tpXTsgYnJlYWs7IH0KICAgICAgICAgICAgICAg +ICAgICB9CiAgICAgICAgICAgICAgICAgICAgaWYgKHRlYW0gJiYgX2hlYXRtYXBLb250ZXh0KSB7 +CiAgICAgICAgICAgICAgICAgICAgICAgIHJvdy5pbnNlcnRBZGphY2VudEhUTUwoJ2FmdGVyZW5k +JywgX2J1aWxkVGVhbURldGFpbFJvd3ModGVhbSwgX2hlYXRtYXBLb250ZXh0KSk7CiAgICAgICAg +ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAg +ICB2YXIgbnggPSByb3cubmV4dEVsZW1lbnRTaWJsaW5nOwogICAgICAgICAgICAgICAgICAgIHdo +aWxlIChueCAmJiBueC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGVhbS1kZXRhaWwtZm9yJykgPT09IHRp +ZCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgd2VnID0gbng7CiAgICAgICAgICAgICAg +ICAgICAgICAgIG54ID0gbngubmV4dEVsZW1lbnRTaWJsaW5nOwogICAgICAgICAgICAgICAgICAg +ICAgICB3ZWcucmVtb3ZlKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg +fQogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICBfaGVhdG1hcFNvbmRlcnRlcm1p +bmVLbGlja2JhcihlbCk7CiAgICB9CgogICAgLy8gRWlnZW5zdGFlbmRpZ2UgSGVhdG1hcC1SZW5k +ZXItRnVua3Rpb24gZnVlciBkaWUgTmViZW53YWNoZW4gKEJPL0FSL0ZSKS4KICAgIC8vIFBybyBU +YWcgcHJ1ZWZlbiB3aXIgZnVlciBGL1MvTiwgb2IgZWluIFRlYW0tTWl0Z2xpZWQgaW4gZGVyIGFr +dGl2ZW4KICAgIC8vIEZ1ZWhydW5nIChUb3AtMiBuYWNoIEZ1bmt0aW9ucy1SYW5nK1Bvc2l0aW9u +KSBzdGVodCDigJQgZGFzIHNpbmQgZGllCiAgICAvLyBzY2hyYWZmaWVydGVuIDEuLzIuIFZJMy1E +R0wgYXVzIGRlciBQbGFudW5nLiBIYXVwdHdhY2hlbiBLYW1lbi9IYWdlbgogICAgLy8gc3RlbGxl +biBkYXMgbm9ybWFsZXJ3ZWlzZTsgZ3J1biBhdWYgZWluZXIgTmViZW53YWNoZSBtYXJraWVydCBl +aW5lCiAgICAvLyBTb25kZXItS29uc3RlbGxhdGlvbiAoTHVlY2tlIGF1ZiBkZXIgSGF1cHR3YWNo +ZSwgQ3Jvc3MtV2FjaGVuLUVpbnNhdHopLgogICAgZnVuY3Rpb24gX3JlbmRlck5lYmVud2FjaGVu +SGVhdG1hcChlbCwgZGF0YSwgdGFnZSwgdGFnTWV0YSkgewogICAgICAgIHZhciBuZWJlblN0YW5k +b3J0ZSA9IFsnQk8nLCAnQVInLCAnRlInXTsKICAgICAgICB2YXIgbmViZW5UZWFtcyA9IGRhdGEu +ZmlsdGVyKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIG5lYmVuU3RhbmRvcnRlLmlu +ZGV4T2YodC5zdGFuZG9ydCkgPj0gMDsKICAgICAgICB9KTsKICAgICAgICBpZiAoIW5lYmVuVGVh +bXMubGVuZ3RoKSB7CiAgICAgICAgICAgIGVsLmlubmVySFRNTCA9ICc8cCBjbGFzcz0idGV4dC1t +dXRlZCIgc3R5bGU9InBhZGRpbmc6MjRweDt0ZXh0LWFsaWduOmNlbnRlciI+S2VpbmUgTmViZW53 +YWNoZW4tTWlrcm90ZWFtcyBpbiBkZXIgYWt0dWVsbGVuIEF1c3dhaGwuPC9wPic7CiAgICAgICAg +ICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGtvcGYgPSBfaGVhdG1hcEtvcGZUZWls +KHRhZ2UsIHRhZ01ldGEpOwogICAgICAgIHZhciBzcGFsdGVuS2xhc3NlbiA9IGtvcGYuc3BhbHRl +bktsYXNzZW47CiAgICAgICAgdmFyIG1ha2VTcGFjZXIgICAgID0ga29wZi5tYWtlU3BhY2VyOwoK +ICAgICAgICAvLyBGdWVocnVuZ3MtTWFwIHBybyBUYWcgYXVmYmF1ZW4gKENhY2hlIOKAlCB2ZXJt +ZWlkZXQgTyhUYWdlKlRlYW1zKjQ1KSkuCiAgICAgICAgdmFyIGZ1ZWhydW5nUHJvVGFnID0ge307 +CiAgICAgICAgdGFnZS5mb3JFYWNoKGZ1bmN0aW9uKGQpIHsKICAgICAgICAgICAgZnVlaHJ1bmdQ +cm9UYWdbZF0gPSB7CiAgICAgICAgICAgICAgICBGOiBha3RpdmVGdWVocnVuZyhkLCAnRicpLm1h +cChmdW5jdGlvbihwKSB7IHJldHVybiBwLmlkOyB9KSwKICAgICAgICAgICAgICAgIFM6IGFrdGl2 +ZUZ1ZWhydW5nKGQsICdTJykubWFwKGZ1bmN0aW9uKHApIHsgcmV0dXJuIHAuaWQ7IH0pLAogICAg +ICAgICAgICAgICAgTjogYWt0aXZlRnVlaHJ1bmcoZCwgJ04nKS5tYXAoZnVuY3Rpb24ocCkgeyBy +ZXR1cm4gcC5pZDsgfSkKICAgICAgICAgICAgfTsKICAgICAgICB9KTsKICAgICAgICB2YXIgcm93 +c0h0bWwgPSBuZWJlblRlYW1zLm1hcChmdW5jdGlvbih0LCBpZHgpIHsKICAgICAgICAgICAgdmFy +IHRlYW1JZHMgPSB7fTsKICAgICAgICAgICAgKHQucGVyc29uSWRzIHx8IFtdKS5mb3JFYWNoKGZ1 +bmN0aW9uKHBpZCkgeyB0ZWFtSWRzW3BpZF0gPSB0cnVlOyB9KTsKICAgICAgICAgICAgdmFyIGNl +bGxzID0gdGFnZS5tYXAoZnVuY3Rpb24oZCkgewogICAgICAgICAgICAgICAgdmFyIGNscyA9IFsn +dGVhbS1obS1jZWxsJywgJ3RlYW0taG0tbnctY2VsbCddLmNvbmNhdChzcGFsdGVuS2xhc3Nlbihk +KSk7CiAgICAgICAgICAgICAgICB2YXIgZnVlaCA9IGZ1ZWhydW5nUHJvVGFnW2RdOwogICAgICAg +ICAgICAgICAgdmFyIGFrdGl2ID0gWydGJywnUycsJ04nXS5zb21lKGZ1bmN0aW9uKHNjaCkgewog +ICAgICAgICAgICAgICAgICAgIHJldHVybiAoZnVlaFtzY2hdIHx8IFtdKS5zb21lKGZ1bmN0aW9u +KHBpZCkgeyByZXR1cm4gdGVhbUlkc1twaWRdOyB9KTsKICAgICAgICAgICAgICAgIH0pOwogICAg +ICAgICAgICAgICAgaWYgKGFrdGl2KSBjbHMucHVzaCgndGVhbS1nJyk7CiAgICAgICAgICAgICAg +ICByZXR1cm4gJzx0ZCBjbGFzcz0iJyArIGNscy5qb2luKCcgJykgKyAnIj48L3RkPic7CiAgICAg +ICAgICAgIH0pLmpvaW4oJycpOwogICAgICAgICAgICB2YXIgc3BhY2VyID0gJyc7CiAgICAgICAg +ICAgIGlmIChpZHggPiAwICYmIG5lYmVuVGVhbXNbaWR4IC0gMV0uc3RhbmRvcnQgIT09IHQuc3Rh +bmRvcnQpIHsKICAgICAgICAgICAgICAgIHNwYWNlciA9IG1ha2VTcGFjZXIoJ3RlYW0taG0tc3Bh +Y2VyLXN0YW5kb3J0Jyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHNwYWNlciAr +CiAgICAgICAgICAgICAgICAnPHRyIGNsYXNzPSJ0ZWFtLWhtLXJvdyB0ZWFtLWhtLW53LXJvdyI+ +JyArCiAgICAgICAgICAgICAgICAnPHRoIGNsYXNzPSJ0ZWFtLWhtLW5hbWUiPicgKyBlc2NhcGVI +VE1MKHQubmFtZSkgKyAnPC90aD4nICsKICAgICAgICAgICAgICAgIGNlbGxzICsKICAgICAgICAg +ICAgICAgICc8L3RyPic7CiAgICAgICAgfSkuam9pbignJyk7CgogICAgICAgIGVsLmlubmVySFRN +TCA9ICc8ZGl2IGNsYXNzPSJ0YWJlbGxlLXNjcm9sbCB0ZWFtLWhtLXNjcm9sbCI+JyArCiAgICAg +ICAgICAgICc8dGFibGUgY2xhc3M9InRlYW0taG0tdGFiZWxsZSI+JyArCiAgICAgICAgICAgICAg +ICAnPHRoZWFkPicgKwogICAgICAgICAgICAgICAgICAgICc8dHI+PHRoIGNsYXNzPSJ0ZWFtLWht +LW5hbWUiPjwvdGg+JyArIGtvcGYubW9uYXRIZWFkICsgJzwvdHI+JyArCiAgICAgICAgICAgICAg +ICAgICAgJzx0cj48dGggY2xhc3M9InRlYW0taG0tbmFtZSI+PC90aD4nICsga29wZi50YWdIZWFk +ICAgKyAnPC90cj4nICsKICAgICAgICAgICAgICAgICAgICAnPHRyPjx0aCBjbGFzcz0idGVhbS1o +bS1uYW1lIj48L3RoPicgKyBrb3BmLnd0SGVhZCAgICArICc8L3RyPicgKwogICAgICAgICAgICAg +ICAgICAgIGtvcGYuZmVpZXJ0YWdSb3cgKyBrb3BmLmZlcmllblJvdyArIGtvcGYuc29uZGVydGVy +bVJvdyArCiAgICAgICAgICAgICAgICAnPC90aGVhZD4nICsKICAgICAgICAgICAgICAgICc8dGJv +ZHk+JyArIHJvd3NIdG1sICsgJzwvdGJvZHk+JyArCiAgICAgICAgICAgICc8L3RhYmxlPjwvZGl2 +Pic7CgogICAgICAgIF9oZWF0bWFwU3RpY2t5VG9wQW53ZW5kZW4oZWwpOwogICAgICAgIF9oZWF0 +bWFwU29uZGVydGVybWluZUtsaWNrYmFyKGVsKTsKICAgIH0KCiAgICBmdW5jdGlvbiBfemVpZ2VT +b25kZXJ0ZXJtaW5lRGV0YWlsKGlkc0NzdikgewogICAgICAgIHZhciBpZHMgPSAoaWRzQ3N2IHx8 +ICcnKS5zcGxpdCgnLCcpLmZpbHRlcihCb29sZWFuKTsKICAgICAgICB2YXIgYWxsZSA9IChaLmFk +bWluICYmIFouYWRtaW4uc29uZGVydGVybWluZSkgfHwgW107CiAgICAgICAgdmFyIHRyZWZmZXIg +PSBhbGxlLmZpbHRlcihmdW5jdGlvbihzKSB7IHJldHVybiBpZHMuaW5kZXhPZihzLmlkKSA+PSAw +OyB9KTsKICAgICAgICBpZiAoIXRyZWZmZXIubGVuZ3RoKSByZXR1cm47CiAgICAgICAgdmFyIGh0 +bWwgPSAnPGRpdiBjbGFzcz0ic29uZGVydGVybWluLWRldGFpbCI+JyArCiAgICAgICAgICAgIHRy +ZWZmZXIubWFwKGZ1bmN0aW9uKHMpIHsKICAgICAgICAgICAgICAgIHZhciBkID0gcy5kYXR1bSAr +IChzLmRhdHVtQmlzICYmIHMuZGF0dW1CaXMgIT09IHMuZGF0dW0gPyAnIOKAkyAnICsgcy5kYXR1 +bUJpcyA6ICcnKTsKICAgICAgICAgICAgICAgIHZhciB0aXRlbCA9IHMudGl0ZWwgfHwgJyc7CiAg +ICAgICAgICAgICAgICB2YXIgdHh0ID0gcy50ZXh0IHx8ICcnOwogICAgICAgICAgICAgICAgdmFy +IHR5cCA9IHMudHlwIHx8ICdoaW53ZWlzJzsKICAgICAgICAgICAgICAgIHJldHVybiAnPGRpdiBj +bGFzcz0ic29uZGVydGVybWluLWVpbnRyYWcgc29uZGVydGVybWluLScgKyBlc2NhcGVBdHRyKHR5 +cCkgKyAnIj4nICsKICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ic29uZGVydGVybWlu +LWtvcGYiPjxzdHJvbmc+JyArIGVzY2FwZUhUTUwoZCkgKyAnPC9zdHJvbmc+JyArICh0aXRlbCA/ +ICcg4oCUICcgKyBlc2NhcGVIVE1MKHRpdGVsKSA6ICcnKSArICc8L2Rpdj4nICsKICAgICAgICAg +ICAgICAgICAgICAnPGRpdiBjbGFzcz0ic29uZGVydGVybWluLXRleHQiPicgKyBlc2NhcGVIVE1M +KHR4dCkgKyAnPC9kaXY+JyArCiAgICAgICAgICAgICAgICAnPC9kaXY+JzsKICAgICAgICAgICAg +fSkuam9pbignJykgKwogICAgICAgICc8L2Rpdj4nOwogICAgICAgIHZhciBmdXNzID0gJzxidXR0 +b24gY2xhc3M9ImJ0biBidG4tcHJpbWFlciIgaWQ9InN0LWRldGFpbC1zY2hsaWVzc2VuIj5WZXJz +dGFuZGVuPC9idXR0b24+JzsKICAgICAgICBtb2RhbFplaWdlbignU29uZGVydGVybWluKGUpJywg +aHRtbCwgZnVzcywgbnVsbCk7CiAgICAgICAgdmFyIGJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRC +eUlkKCdzdC1kZXRhaWwtc2NobGllc3NlbicpOwogICAgICAgIGlmIChidG4pIGJ0bi5hZGRFdmVu +dExpc3RlbmVyKCdjbGljaycsIG1vZGFsU2NobGllc3Nlbik7CiAgICB9CgogICAgLy8gQmFsa2Vu +ZGlhZ3JhbW06IGdlc3RhcGVsdGVyIDEwMCUtQmFsa2VuIHBybyBUZWFtIG1pdCBUYWdlcy1BbnRl +aWxlbgogICAgLy8gKHJvdCAvIG5ldXRyYWw9MSBkYSAvIGdyw7xuPTIrIC8gZ29sZD1hbGxlKS4g +UG9vbC1UZWFtcyAoMSBQZXJzb24pCiAgICAvLyB3ZXJkZW4gYXVzZ2VmaWx0ZXJ0IOKAlCBzaWUg +emVpZ2VuIGtlaW5lbiBzaW5udm9sbGVuIFRhZ2VzLUFudGVpbC4KICAgIGZ1bmN0aW9uIF9yZW5k +ZXJUZWFtQmFsa2VuKGVsLCBkYXRhKSB7CiAgICAgICAgdmFyIHNvcnRGZWxkID0gX3N0YXRUZWFt +QmFsa2VuU29ydDsKICAgICAgICB2YXIgcm93cyA9IGRhdGEuZmlsdGVyKGZ1bmN0aW9uKHQpIHsg +cmV0dXJuICFfaXN0UG9vbFRlYW0odCk7IH0pOwogICAgICAgIGZ1bmN0aW9uIHNvcnRGbihhLCBi +KSB7CiAgICAgICAgICAgIGlmIChzb3J0RmVsZCA9PT0gJ2x1ZWNrZW4nKSAgICAgIHJldHVybiAo +Yi5zdGF0LnJvdCAgIC8gYi5zdGF0LnRvdGFsKSAtIChhLnN0YXQucm90ICAgLyBhLnN0YXQudG90 +YWwpOwogICAgICAgICAgICBpZiAoc29ydEZlbGQgPT09ICd2b2xsc3RhZW5kaWcnKSByZXR1cm4g +KGIuc3RhdC5nb2xkICAvIGIuc3RhdC50b3RhbCkgLSAoYS5zdGF0LmdvbGQgIC8gYS5zdGF0LnRv +dGFsKTsKICAgICAgICAgICAgaWYgKHNvcnRGZWxkID09PSAnYWJkZWNrdW5nJykgICAgcmV0dXJu +ICgoYi5zdGF0LnRvdGFsIC0gYi5zdGF0LnJvdCkgLyBiLnN0YXQudG90YWwpIC0gKChhLnN0YXQu +dG90YWwgLSBhLnN0YXQucm90KSAvIGEuc3RhdC50b3RhbCk7CiAgICAgICAgICAgIHJldHVybiAw +OyAgIC8vICdyZWloZW5mb2xnZScgPSBhZG1pbi5qc29uLU9yZGVyIGJlaWJlaGFsdGVuCiAgICAg +ICAgfQogICAgICAgIHJvd3MgPSByb3dzLnNsaWNlKCkuc29ydChzb3J0Rm4pOwoKICAgICAgICAv +LyBUcmVubmVyIEhhdXB0d2FjaGVuIDwtPiBSZXN0IG51ciBiZWkgRGVmYXVsdC1Tb3J0aWVydW5n +IHNpbm52b2xsCiAgICAgICAgdmFyIHRyZW5uZXJBbiA9IChzb3J0RmVsZCA9PT0gJ3JlaWhlbmZv +bGdlJyk7CgogICAgICAgIHZhciBodG1sID0gcm93cy5tYXAoZnVuY3Rpb24odCwgaWR4KSB7CiAg +ICAgICAgICAgIHZhciBzID0gdC5zdGF0OwogICAgICAgICAgICB2YXIgdG90YWwgPSBzLnRvdGFs +IHx8IDE7CiAgICAgICAgICAgIGZ1bmN0aW9uIHBjdChuKSB7IHJldHVybiAobiAvIHRvdGFsKSAq +IDEwMDsgfQogICAgICAgICAgICBmdW5jdGlvbiBzZWcoa2xhc3NlLCB3ZXJ0LCBsYWJlbCkgewog +ICAgICAgICAgICAgICAgaWYgKCF3ZXJ0KSByZXR1cm4gJyc7CiAgICAgICAgICAgICAgICB2YXIg +YiA9IHBjdCh3ZXJ0KTsKICAgICAgICAgICAgICAgIC8vIFphaGwgbnVyIGVpbnJlbmRlcm4sIHdl +bm4gZGFzIFNlZ21lbnQgYXVjaCB3aXJrbGljaCBicmVpdAogICAgICAgICAgICAgICAgLy8gZ2Vu +dWcgaXN0LiBtaW4td2lkdGg6NHB4IGluIGRlciBDU1Mgc29yZ3QgZnVlciBlaW5lbgogICAgICAg +ICAgICAgICAgLy8gZXJrZW5uYmFyZW4gRmFyYmJhbGtlbiBiaXMgaGluYWIgenUgfjAuNyAlOyBk +aWUgWmFobAogICAgICAgICAgICAgICAgLy8gYnJhdWNodCBhYmVyIHBybyBaaWZmZXIgfjYgcHgg +KGJlaSA5IHB4IEZvbnQpLCBhbHNvIGplCiAgICAgICAgICAgICAgICAvLyBuYWNoIFppZmZlci1B +bnphaGwgZWluIGFuZGVyZXIgTWluZGVzdC1Qcm96ZW50d2VydC4KICAgICAgICAgICAgICAgIC8v +IEFubmFobWUgdWViZXIgZGllIEJhci1XcmFwLUJyZWl0ZTogfjQwMCBweC4gMSBweCDiiYggMC4y +NSAlLgogICAgICAgICAgICAgICAgLy8gICAxIFppZmZlciAoNiBweCk6ICA+PSAxLjUgJQogICAg +ICAgICAgICAgICAgLy8gICAyIFppZmZlcm4gKDEyIHB4KTogPj0gMyAlCiAgICAgICAgICAgICAg +ICAvLyAgIDMgWmlmZmVybiAoMTggcHgpOiA+PSA1ICUKICAgICAgICAgICAgICAgIC8vIERpZXNl +IFNjaHdlbGxlbiBzY2huZWlkZW4gZGVuIFRvb2x0aXAgbmljaHQg4oCUIGRlciBIb3ZlcgogICAg +ICAgICAgICAgICAgLy8gemVpZ3QgZGVuIGdlbmF1ZW4gV2VydCBhdWNoIGJlaSB3aW56aWdlbiBT +ZWdtZW50ZW4uCiAgICAgICAgICAgICAgICB2YXIgemlmZmVybiA9IFN0cmluZyh3ZXJ0KS5sZW5n +dGg7CiAgICAgICAgICAgICAgICB2YXIgbWluUGN0ID0gemlmZmVybiA9PT0gMSA/IDEuNSA6ICh6 +aWZmZXJuID09PSAyID8gMyA6IDUpOwogICAgICAgICAgICAgICAgcmV0dXJuICc8ZGl2IGNsYXNz +PSJ0ZWFtLWJhbGtlbi1zZWcgJyArIGtsYXNzZSArICciIHN0eWxlPSJ3aWR0aDonICsgYiArICcl +IiB0aXRsZT0iJyArIGVzY2FwZUF0dHIobGFiZWwgKyAnOiAnICsgd2VydCArICcgVGFnZSAoJyAr +IE1hdGgucm91bmQoYikgKyAnICUpJykgKyAnIj4nICsgKGIgPj0gbWluUGN0ID8gd2VydCA6ICcn +KSArICc8L2Rpdj4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBhYmRlY2t1bmcgPSB0 +b3RhbCA/IE1hdGgucm91bmQoKCh0b3RhbCAtIHMucm90KSAvIHRvdGFsKSAqIDEwMCkgOiAwOwog +ICAgICAgICAgICB2YXIgc3RhbmRvcnRXZWNoc2VsID0gdHJlbm5lckFuICYmIGlkeCA+IDAgJiYg +cm93c1tpZHggLSAxXS5zdGFuZG9ydCAhPT0gdC5zdGFuZG9ydDsKICAgICAgICAgICAgdmFyIGhh +dXB0VHJlbm5lciAgICA9IHRyZW5uZXJBbiAmJiBpZHggPiAwICYmIHJvd3NbaWR4IC0gMV0uc3Rh +bmRvcnQgPT09ICdIQScgJiYgdC5zdGFuZG9ydCA9PT0gJ0JPJzsKICAgICAgICAgICAgdmFyIHRy +ZW5uZXJDbHMgPSBoYXVwdFRyZW5uZXIgICA/ICcgdGVhbS1iYWxrZW4tdHJlbm5lci1oYXVwdCcK +ICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBzdGFuZG9ydFdlY2hzZWwgPyAnIHRlYW0tYmFs +a2VuLXRyZW5uZXItc3RhbmRvcnQnCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJyc7CiAg +ICAgICAgICAgIHJldHVybiAnPGRpdiBjbGFzcz0idGVhbS1iYWxrZW4temVpbGUnICsgdHJlbm5l +ckNscyArICciPicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InRlYW0tYmFsa2VuLW5h +bWUiPicgKyBlc2NhcGVIVE1MKHQubmFtZSkgKyAnPC9kaXY+JyArCiAgICAgICAgICAgICAgICAn +PGRpdiBjbGFzcz0idGVhbS1iYWxrZW4tYmFyLXdyYXAiPicgKwogICAgICAgICAgICAgICAgICAg +IHNlZygndGVhbS1yJywgICAgcy5yb3QsICAgICAnTMO8Y2tlIChhbGxlIHdvbGx0ZW4gZnJlaSkn +KSArCiAgICAgICAgICAgICAgICAgICAgc2VnKCd0ZWFtLWdyYXUnLCBzLmdyYXUsICAgICdsZWdp +dGltIGFid2VzZW5kIChVcmxhdWIvS3JhbmsvTGVocmdhbmcpJykgKwogICAgICAgICAgICAgICAg +ICAgIHNlZygndGVhbS1uJywgICAgcy5uZXV0cmFsLCAnMSBkYScpICsKICAgICAgICAgICAgICAg +ICAgICBzZWcoJ3RlYW0tZycsICAgIHMuZ3J1ZW4sICAgJzIrIGRhJykgKwogICAgICAgICAgICAg +ICAgICAgIHNlZygndGVhbS1nb2xkJywgcy5nb2xkLCAgICAnYWxsZSBkYScpICsKICAgICAgICAg +ICAgICAgICc8L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJ0ZWFtLWJhbGtl +bi10b3RhbCIgdGl0bGU9IkFiZGVja3VuZyBtaW5kZXN0ZW5zIDEgUGVyc29uIj4nICsgYWJkZWNr +dW5nICsgJyAlPC9kaXY+JyArCiAgICAgICAgICAgICAgICAnPC9kaXY+JzsKICAgICAgICB9KS5q +b2luKCcnKTsKCiAgICAgICAgZWwuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9InRlYW0tYmFsa2Vu +LXdyYXAiPicgKyBodG1sICsgJzwvZGl2Pic7CiAgICB9CgogICAgZnVuY3Rpb24gX3JlbmRlclRl +YW1CYWxrZW5Tb3J0SG9va3MoKSB7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgn +LnN0YXRzLXRlYW0tc29ydC1ncnVwcGUgLnN0YXRzLWthdC1idG4nKS5mb3JFYWNoKGZ1bmN0aW9u +KGIpIHsKICAgICAgICAgICAgaWYgKGIuZGF0YXNldC5mZXJ0aWcpIHJldHVybjsKICAgICAgICAg +ICAgYi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAg +ICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7ICAgLy8gbmljaHQgZGVuIFBhbmVsLVRvZ2dsZSBhdXNs +b2VzZW4KICAgICAgICAgICAgICAgIF9zdGF0VGVhbUJhbGtlblNvcnQgPSBiLmdldEF0dHJpYnV0 +ZSgnZGF0YS10ZWFtLXNvcnQnKSB8fCAncmVpaGVuZm9sZ2UnOwogICAgICAgICAgICAgICAgZG9j +dW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnN0YXRzLXRlYW0tc29ydC1ncnVwcGUgLnN0YXRzLWth +dC1idG4nKS5mb3JFYWNoKGZ1bmN0aW9uKHgpIHsgeC5jbGFzc0xpc3QucmVtb3ZlKCdha3Rpdicp +OyB9KTsKICAgICAgICAgICAgICAgIGIuY2xhc3NMaXN0LmFkZCgnYWt0aXYnKTsKICAgICAgICAg +ICAgICAgIC8vIE51ciBkaWUgQmFsa2VuIG5ldSB6ZWljaG5lbiDigJQgZGllIEhlYXRtYXAgaXN0 +IHZvbiBkaWVzZXIKICAgICAgICAgICAgICAgIC8vIFNvcnRpZXJ1bmcgdW5hYmhhZW5naWcgKHNw +YXJ0IGRlbiBGdWxsLVJlcmVuZGVyIGRlciBIZWF0bWFwKS4KICAgICAgICAgICAgICAgIHZhciBi +YWxrZW5FbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGF0cy10ZWFtLWJhbGtlbicpOwog +ICAgICAgICAgICAgICAgaWYgKGJhbGtlbkVsKSBfcmVuZGVyVGVhbUJhbGtlbihiYWxrZW5FbCwg +X3RlYW1EYXRlbkdlZmlsdGVydCgpKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGIuZGF0 +YXNldC5mZXJ0aWcgPSAnMSc7CiAgICAgICAgfSk7CiAgICAgICAgLy8gUGFuZWwtVG9nZ2xlIHVl +YmVybmltbXQgcGFuZWxUb2dnbGVIb29rcygpIGdlbmVyaXNjaCDigJQgVGFnZXMtCiAgICAgICAg +Ly8gQW50ZWlsZSBwcm8gVGVhbSBpc3Qgc2VpdCAyMDI2LTA1LTI1IGVpbiBlaWdlbmVzIFRvcC1M +ZXZlbC1QYW5lbC4KICAgIH0KCiAgICAvLyBNb2R1bC1TdGF0ZSBEZXRhaWwtVGFiZWxsZW4tU29y +dGllcnVuZy4gQmVpbSBLbGljayBhdWYgZWluZW4gSGVhZGVyCiAgICAvLyB3ZWNoc2VsdCBkYXMg +U29ydGllci1GZWxkOyBnbGVpY2hlciBLbGljayB3aWVkZXIgZHJlaHQgZGllIFJpY2h0dW5nIHVt +LgogICAgdmFyIF9zdGF0RGV0YWlsU29ydCA9IHsgZmVsZDogJ25hbWUnLCBhc2M6IHRydWUgfTsK +CiAgICBmdW5jdGlvbiBkZXRhaWxUYWJlbGxlUmVuZGVybihzdGF0cykgewogICAgICAgIC8vIFN0 +YW5kb3J0L0dydXBwZW4tTG9va3VwIHBlciBwZXJzb25JZCAoU2VydmVyIGxpZWZlcnQga2VpbiBv +ZS1GZWxkKS4KICAgICAgICB2YXIgcGVyc29uTWFwID0ge307CiAgICAgICAgKFoucGxhbnVuZyAm +JiBaLnBsYW51bmcucGVyc29uZW4gfHwgW10pLmZvckVhY2goZnVuY3Rpb24ocCkgeyBwZXJzb25N +YXBbcC5pZF0gPSBwOyB9KTsKICAgICAgICBmdW5jdGlvbiBvZU9mKHMpICAgICAgIHsgcmV0dXJu +IChwZXJzb25NYXBbcy5wZXJzb25JZF0gfHwge30pLm9lIHx8ICcnOyB9CiAgICAgICAgZnVuY3Rp +b24gb2VHcnVwcGVPZihzKSB7IHJldHVybiBvZU9mKHMpICsgKHMuZ3J1cHBlID8gJy0nICsgcy5n +cnVwcGUgOiAnJyk7IH0KICAgICAgICBmdW5jdGlvbiBzb3J0VmFsKHMsIGZlbGQpIHsKICAgICAg +ICAgICAgaWYgKGZlbGQgPT09ICduYW1lJykgICAgICByZXR1cm4gX3N0YXRBbnplaWdlTmFtZShz +KS50b0xvd2VyQ2FzZSgpOwogICAgICAgICAgICBpZiAoZmVsZCA9PT0gJ29lJykgICAgICAgIHJl +dHVybiBvZU9mKHMpLnRvTG93ZXJDYXNlKCk7CiAgICAgICAgICAgIGlmIChmZWxkID09PSAnb2VH +cnVwcGUnKSAgcmV0dXJuIG9lR3J1cHBlT2YocykudG9Mb3dlckNhc2UoKTsKICAgICAgICAgICAg +aWYgKGZlbGQgPT09ICdncnVwcGUnKSAgICByZXR1cm4gKHMuZ3J1cHBlIHx8ICcnKS50b0xvd2Vy +Q2FzZSgpOwogICAgICAgICAgICAvLyBudW1lcmlzY2hlIEZlbGRlciBkaXJla3QgYXVzIGRlbSBT +dGF0cy1PYmpla3QKICAgICAgICAgICAgcmV0dXJuIHNbZmVsZF0gfHwgMDsKICAgICAgICB9Cgog +ICAgICAgIHZhciBmZWxkID0gX3N0YXREZXRhaWxTb3J0LmZlbGQ7CiAgICAgICAgdmFyIGFzYyAg +PSBfc3RhdERldGFpbFNvcnQuYXNjOwogICAgICAgIHZhciBzb3J0aWVydCA9IHN0YXRzLnNsaWNl +KCkuc29ydChmdW5jdGlvbihhLCBiKSB7CiAgICAgICAgICAgIHZhciB2YSA9IHNvcnRWYWwoYSwg +ZmVsZCksIHZiID0gc29ydFZhbChiLCBmZWxkKTsKICAgICAgICAgICAgaWYgKHZhIDwgdmIpIHJl +dHVybiBhc2MgPyAtMSA6IDE7CiAgICAgICAgICAgIGlmICh2YSA+IHZiKSByZXR1cm4gYXNjID8g +IDEgOiAtMTsKICAgICAgICAgICAgLy8gVGllYnJlYWtlciBpbW1lciBOYW1lIChsZXNlZmx1c3Mp +LgogICAgICAgICAgICB2YXIgbmEgPSBfc3RhdEFuemVpZ2VOYW1lKGEpLnRvTG93ZXJDYXNlKCks +IG5iID0gX3N0YXRBbnplaWdlTmFtZShiKS50b0xvd2VyQ2FzZSgpOwogICAgICAgICAgICByZXR1 +cm4gbmEgPCBuYiA/IC0xIDogbmEgPiBuYiA/IDEgOiAwOwogICAgICAgIH0pOwoKICAgICAgICB2 +YXIgaHRtbCA9ICcnOwogICAgICAgIHNvcnRpZXJ0LmZvckVhY2goZnVuY3Rpb24ocykgewogICAg +ICAgICAgICBodG1sICs9ICc8dHI+JyArCiAgICAgICAgICAgICAgICAnPHRkPjxzdHJvbmc+JyAr +IGVzY2FwZUhUTUwoX3N0YXRBbnplaWdlTmFtZShzKSkgKyAnPC9zdHJvbmc+PC90ZD4nICsKICAg +ICAgICAgICAgICAgICc8dGQ+JyArIGVzY2FwZUhUTUwob2VPZihzKSkgKyAnPC90ZD4nICsKICAg +ICAgICAgICAgICAgICc8dGQ+JyArIGVzY2FwZUhUTUwob2VHcnVwcGVPZihzKSkgKyAnPC90ZD4n +ICsKICAgICAgICAgICAgICAgICc8dGQ+JyArIGVzY2FwZUhUTUwocy5ncnVwcGUpICsgJzwvdGQ+ +JyArCiAgICAgICAgICAgICAgICAnPHRkIGNsYXNzPSJ6YWhsIj4nICsgcy5nZXNhbXQgKyAnPC90 +ZD4nICsKICAgICAgICAgICAgICAgICc8dGQgY2xhc3M9InphaGwiIHN0eWxlPSJjb2xvcjp2YXIo +LS1mYXJiZS1mcnVlaCkiPicgKyBzLmZydWVoICsgJzwvdGQ+JyArCiAgICAgICAgICAgICAgICAn +PHRkIGNsYXNzPSJ6YWhsIiBzdHlsZT0iY29sb3I6dmFyKC0tZmFyYmUtc3BhZXQpIj4nICsgcy5z +cGFldCArICc8L3RkPicgKwogICAgICAgICAgICAgICAgJzx0ZCBjbGFzcz0iemFobCIgc3R5bGU9 +ImNvbG9yOnZhcigtLWZhcmJlLW5hY2h0KSI+JyArIHMubmFjaHQgKyAnPC90ZD4nICsKICAgICAg +ICAgICAgICAgICc8dGQgY2xhc3M9InphaGwiIHN0eWxlPSJjb2xvcjp2YXIoLS1zdGF0LXNkKSI+ +JyArIChzLnNvbmRlcmRpZW5zdCB8fCAwKSArICc8L3RkPicgKwogICAgICAgICAgICAgICAgJzx0 +ZCBjbGFzcz0iemFobCI+JyArIChzLmRnbCB8fCAwKSArICc8L3RkPicgKwogICAgICAgICAgICAg +ICAgJzx0ZCBjbGFzcz0iemFobCI+JyArIChzLndkZiB8fCAwKSArICc8L3RkPicgKwogICAgICAg +ICAgICAgICAgJzx0ZCBjbGFzcz0iemFobCI+JyArIChzLmZicCB8fCAwKSArICc8L3RkPicgKwog +ICAgICAgICAgICAgICAgJzx0ZCBjbGFzcz0iemFobCI+JyArIHMud29jaGVuZW5kVGFnZSArICc8 +L3RkPicgKwogICAgICAgICAgICAgICAgJzx0ZCBjbGFzcz0iemFobCI+JyArIHMuZmVpZXJ0YWdU +YWdlICsgJzwvdGQ+JyArCiAgICAgICAgICAgICAgICAnPHRkIGNsYXNzPSJ6YWhsIiBzdHlsZT0i +Y29sb3I6dmFyKC0tZmFyYmUtZmVobGVyKSI+JyArIHMua3JhbmsgKyAnPC90ZD4nICsKICAgICAg +ICAgICAgICAgICc8dGQgY2xhc3M9InphaGwiPicgKyBzLnVybGF1YiArICc8L3RkPicgKwogICAg +ICAgICAgICAgICAgJzx0ZCBjbGFzcz0iemFobCI+JyArIHMubGVocmdhbmcgKyAnPC90ZD4nICsK +ICAgICAgICAgICAgICAgICc8dGQgY2xhc3M9InphaGwiPicgKyAocy5hekF1c2dsZWljaCB8fCAw +KSArICc8L3RkPicgKwogICAgICAgICAgICAnPC90cj4nOwogICAgICAgIH0pOwogICAgICAgIGRv +Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGF0cy10Ym9keScpLmlubmVySFRNTCA9IGh0bWw7Cgog +ICAgICAgIC8vIFNvcnRpZXItUGZlaWxlICsgS2xpY2stSGFuZGxlciBpbSBIZWFkZXIgKGlkZW1w +b3RlbnQpLgogICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNzdGF0cy11ZWJlcnNp +Y2h0IHRoZWFkIHRoW2RhdGEtc29ydF0nKS5mb3JFYWNoKGZ1bmN0aW9uKHRoKSB7CiAgICAgICAg +ICAgIHZhciBmID0gdGguZ2V0QXR0cmlidXRlKCdkYXRhLXNvcnQnKTsKICAgICAgICAgICAgLy8g +UGZlaWwgYWt0dWFsaXNpZXJlbgogICAgICAgICAgICB2YXIgYWx0ZXJQZmVpbCA9IHRoLnF1ZXJ5 +U2VsZWN0b3IoJy5zdGF0cy1kZXRhaWwtcGZlaWwnKTsKICAgICAgICAgICAgaWYgKGFsdGVyUGZl +aWwpIGFsdGVyUGZlaWwucmVtb3ZlKCk7CiAgICAgICAgICAgIGlmIChmID09PSBmZWxkKSB7CiAg +ICAgICAgICAgICAgICB2YXIgc3AgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7CiAg +ICAgICAgICAgICAgICBzcC5jbGFzc05hbWUgPSAnc3RhdHMtZGV0YWlsLXBmZWlsJzsKICAgICAg +ICAgICAgICAgIHNwLnRleHRDb250ZW50ID0gYXNjID8gJyDihpEnIDogJyDihpMnOwogICAgICAg +ICAgICAgICAgdGguYXBwZW5kQ2hpbGQoc3ApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8v +IEtsaWNrLUhhbmRsZXIgbnVyIGVpbm1hbCBhbmhhZW5nZW4KICAgICAgICAgICAgaWYgKHRoLmRh +dGFzZXQuZmVydGlnKSByZXR1cm47CiAgICAgICAgICAgIHRoLnN0eWxlLmN1cnNvciA9ICdwb2lu +dGVyJzsKICAgICAgICAgICAgdGguYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigp +IHsKICAgICAgICAgICAgICAgIGlmIChfc3RhdERldGFpbFNvcnQuZmVsZCA9PT0gZikgX3N0YXRE +ZXRhaWxTb3J0LmFzYyA9ICFfc3RhdERldGFpbFNvcnQuYXNjOwogICAgICAgICAgICAgICAgZWxz +ZSB7IF9zdGF0RGV0YWlsU29ydC5mZWxkID0gZjsgX3N0YXREZXRhaWxTb3J0LmFzYyA9IHRydWU7 +IH0KICAgICAgICAgICAgICAgIGlmIChaLnN0YXRpc3RpaykgZGV0YWlsVGFiZWxsZVJlbmRlcm4o +c3RhdEZpbHRlcm4oWi5zdGF0aXN0aWspKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHRo +LmRhdGFzZXQuZmVydGlnID0gJzEnOwogICAgICAgIH0pOwogICAgfQoKCmZ1bmN0aW9uIHN0YXRG +aWx0ZXJTZXR6ZW4od2VydCkgeyBzdGF0RmlsdGVyID0gd2VydDsgfQoKZXhwb3J0IHsKICAgIHN0 +YXRpc3Rpa0ZpbHRlckZ1ZWxsZW4sIHN0YXRpc3Rpa0xhZGVuLCBzdGF0RmlsdGVybiwgc3RhdGlz +dGlrUmVuZGVybiwKICAgIHN0YXRGaWx0ZXJTZXR6ZW4sCiAgICBwcm9zYVJlbmRlcm4sIHByb3Nh +QW5yZWRlLCBwcm9zYVRleHQsCiAgICBzdGF0SW5mb1plaWdlbiwga3BpS2FydGUsCiAgICBiYWxr +ZW5SZW5kZXJuLAogICAgZmFpcm5lc3NSZW5kZXJuLAogICAgZGV0YWlsVGFiZWxsZVJlbmRlcm4s +CiAgICAvLyBCYXVrYXN0ZW4gKyBMYXlvdXQtUmFzdGVyIChhZG1pbl9zdGF0aXN0aWsuanMga29u +c3VtaWVydCBkaWVzZSk6CiAgICBzdGF0aXN0aWtUaWxlc0FsbGUsIEJSRUlURV9TUEFOCn07Cg== +### FILE: js/statistik_charts.js | 18511 +Ly8gPT09IHN0YXRpc3Rpa19jaGFydHMuanMgPT09Ci8vIE5hdGl2ZSBTVkctRGlhZ3JhbW1lIGZ1 +ZXIgZGVuIFN0YXRpc3Rpay1CdWlsZGVyIOKAlCBrZWluZSBleHRlcm5lIExpYnJhcnkuCi8vIEVp +bmdhYmUgaXN0IGRhcyBkaWFncmFtbS1uZXV0cmFsZSBFcmdlYm5pcyBhdXMgc3RhdGlzdGlrX2Vu +Z2luZS5hdXN3ZXJ0ZW4oKS4KLy8gRmFyYmVuIGxhdWZlbiB1ZWJlciBDU1MtVmFyaWFibGVuIChE +YXJrLU1vZGUgYXV0b21hdGlzY2gpLiBKZWRlIEZ1bmt0aW9uCi8vIGxpZWZlcnQgZWluZW4gSFRN +TC1TdHJpbmcgKFNWRyBiencuIGZ1ZXIgVGFiZWxsZS9LUEkgbm9ybWFsZXMgTWFya3VwKS4KLy8K +Ly8gVHlwZW4gKGFuIFBsb3RseS1TdGFuZGFyZHMgYW5nZWxlaG50KTogYmFsa2VuLCBiYWxrZW5H +ZXN0YXBlbHQsIGJhbGtlbkgsCi8vIGxpbmllLCBmbGFlY2hlLCBrcmVpcywgZG9udXQsIHNjYXR0 +ZXIsIGhlYXRtYXAsIHRhYmVsbGUsIGtwaS4KCmltcG9ydCB7IGVzY2FwZUhUTUwsIGVzY2FwZUF0 +dHIgfSBmcm9tICcuL2NvcmVfdXRpbC5qcyc7CgovLyBTZXJpZW4tRmFyYnBhbGV0dGUgKENTUy1W +YXJpYWJsZW4sIGRpZSBpbSBQcm9qZWt0IGRlZmluaWVydCBzaW5kKS4KdmFyIFBBTEVUVEUgPSBb +CiAgICAndmFyKC0tZmFyYmUtc3BhZXQpJywgJ3ZhcigtLWZhcmJlLWZydWVoKScsICd2YXIoLS1m +YXJiZS1uYWNodCknLCAndmFyKC0tc3RhdC1zZCknLAogICAgJ3ZhcigtLXN0YXQtc2Ftc3RhZykn +LCAndmFyKC0tc3RhdC1zb25udGFnKScsICd2YXIoLS1zdGF0LWZlaWVydGFnKScsICd2YXIoLS1z +dGF0LXVybGF1YiknLAogICAgJ3ZhcigtLXN0YXQta3VyKScsICd2YXIoLS1zdGF0LWZvcnRiaWxk +dW5nLTIpJywgJ3ZhcigtLXN0YXQtZm9ydGJpbGR1bmctMyknLCAndmFyKC0tc3RhdC1rb21wbGV0 +dGUtd2UpJwpdOwpmdW5jdGlvbiBfZmFyYmUoaSkgeyByZXR1cm4gUEFMRVRURVtpICUgUEFMRVRU +RS5sZW5ndGhdOyB9Cgp2YXIgRElBR1JBTU1fVFlQRU4gPSBbCiAgICB7IGtleTogJ2JhbGtlbics +ICAgICAgICAgIGxhYmVsOiAnU8OkdWxlbiAoZ3J1cHBpZXJ0KScgfSwKICAgIHsga2V5OiAnYmFs +a2VuR2VzdGFwZWx0JywgbGFiZWw6ICdTw6R1bGVuIChnZXN0YXBlbHQpJyB9LAogICAgeyBrZXk6 +ICdiYWxrZW5IJywgICAgICAgICBsYWJlbDogJ0JhbGtlbiAoaG9yaXpvbnRhbC9SYW5raW5nKScg +fSwKICAgIHsga2V5OiAnbGluaWUnLCAgICAgICAgICAgbGFiZWw6ICdMaW5pZSAoVmVybGF1Zikn +IH0sCiAgICB7IGtleTogJ2ZsYWVjaGUnLCAgICAgICAgIGxhYmVsOiAnRmzDpGNoZScgfSwKICAg +IHsga2V5OiAna3JlaXMnLCAgICAgICAgICAgbGFiZWw6ICdLcmVpcycgfSwKICAgIHsga2V5OiAn +ZG9udXQnLCAgICAgICAgICAgbGFiZWw6ICdEb251dCcgfSwKICAgIHsga2V5OiAnc2NhdHRlcics +ICAgICAgICAgbGFiZWw6ICdTdHJldWRpYWdyYW1tIChLb3JyZWxhdGlvbiknIH0sCiAgICB7IGtl +eTogJ2hlYXRtYXAnLCAgICAgICAgIGxhYmVsOiAnSGVhdG1hcCAoTWF0cml4KScgfSwKICAgIHsg +a2V5OiAndGFiZWxsZScsICAgICAgICAgbGFiZWw6ICdQaXZvdC1UYWJlbGxlJyB9LAogICAgeyBr +ZXk6ICdrcGknLCAgICAgICAgICAgICBsYWJlbDogJ0tlbm56YWhsIChLUEkpJyB9Cl07CmV4cG9y +dCBmdW5jdGlvbiBkaWFncmFtbVR5cGVuKCkgeyByZXR1cm4gRElBR1JBTU1fVFlQRU4uc2xpY2Uo +KTsgfQoKLy8gSGlsZmVuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKZnVuY3Rpb24gX251bSh2KSB7CiAgICBpZiAodiA9PSBu +dWxsKSByZXR1cm4gJzAnOwogICAgaWYgKE1hdGgucm91bmQodikgPT09IHYpIHJldHVybiBTdHJp +bmcodik7CiAgICByZXR1cm4gKE1hdGgucm91bmQodiAqIDEwKSAvIDEwKS50b1N0cmluZygpLnJl +cGxhY2UoJy4nLCAnLCcpOwp9CmZ1bmN0aW9uIF9uaWNlTWF4KG1heCkgewogICAgaWYgKG1heCA8 +PSAwKSByZXR1cm4gMTsKICAgIHZhciBwb3QgPSBNYXRoLnBvdygxMCwgTWF0aC5mbG9vcihNYXRo +LmxvZyhtYXgpIC8gTWF0aC5MTjEwKSk7CiAgICB2YXIgbiA9IG1heCAvIHBvdDsKICAgIHZhciBz +dGVwID0gbiA8PSAxID8gMSA6IG4gPD0gMiA/IDIgOiBuIDw9IDUgPyA1IDogMTA7CiAgICByZXR1 +cm4gc3RlcCAqIHBvdDsKfQpmdW5jdGlvbiBfdGlja3MobWF4LCBuKSB7CiAgICB2YXIgb3V0ID0g +W107CiAgICBmb3IgKHZhciBpID0gMDsgaSA8PSBuOyBpKyspIG91dC5wdXNoKE1hdGgucm91bmQo +bWF4IC8gbiAqIGkgKiAxMDApIC8gMTAwKTsKICAgIHJldHVybiBvdXQ7Cn0KZnVuY3Rpb24gX3N2 +Zyh3LCBoLCBpbm5lcikgewogICAgcmV0dXJuICc8c3ZnIGNsYXNzPSJzdGF0LXN2ZyIgdmlld0Jv +eD0iMCAwICcgKyB3ICsgJyAnICsgaCArICciIHdpZHRoPSIxMDAlIiAnICsKICAgICAgICAncHJl +c2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaW4gbWVldCIgcm9sZT0iaW1nIiBzdHlsZT0ibWF4LXdp +ZHRoOjEwMCU7aGVpZ2h0OmF1dG87ZGlzcGxheTpibG9jayI+JyArIGlubmVyICsgJzwvc3ZnPic7 +Cn0KZnVuY3Rpb24gX2xlZ2VuZGUoc2VyaWVuKSB7CiAgICBpZiAoIXNlcmllbiB8fCBzZXJpZW4u +bGVuZ3RoIDw9IDEpIHJldHVybiAnJzsKICAgIHJldHVybiAnPGRpdiBjbGFzcz0ic3RhdC1sZWdl +bmRlIj4nICsgc2VyaWVuLm1hcChmdW5jdGlvbihzLCBpKSB7CiAgICAgICAgcmV0dXJuICc8c3Bh +biBjbGFzcz0ic3RhdC1sZWctaXRlbSI+PHNwYW4gY2xhc3M9InN0YXQtbGVnLWJveCIgc3R5bGU9 +ImJhY2tncm91bmQ6JyArIF9mYXJiZShpKSArICciPjwvc3Bhbj4nICsgZXNjYXBlSFRNTChzLm5h +bWUgfHwgJ+KAlCcpICsgJzwvc3Bhbj4nOwogICAgfSkuam9pbignJykgKyAnPC9kaXY+JzsKfQpm +dW5jdGlvbiBfbGVlcigpIHsKICAgIHJldHVybiAnPGRpdiBjbGFzcz0iYWRtaW4tZW1wdHkiPjxk +aXYgY2xhc3M9ImFkbWluLWVtcHR5LXRleHQiPktlaW5lIERhdGVuIGbDvHIgZGllc2UgQXVzd2Fo +bC48L2Rpdj48L2Rpdj4nOwp9CgovLyBEaXNwYXRjaGVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpleHBvcnQgZnVuY3Rpb24gZGlh +Z3JhbW1SZW5kZXJuKHR5cCwgZXJnLCBzcGVjKSB7CiAgICBpZiAoIWVyZyB8fCBlcmcuaXN0TGVl +cikgcmV0dXJuIF9sZWVyKCk7CiAgICBzd2l0Y2ggKHR5cCkgewogICAgICAgIGNhc2UgJ2JhbGtl +bkdlc3RhcGVsdCc6IHJldHVybiBfYmFsa2VuKGVyZywgdHJ1ZSk7CiAgICAgICAgY2FzZSAnYmFs +a2VuSCc6ICAgICAgICAgcmV0dXJuIF9iYWxrZW5IKGVyZyk7CiAgICAgICAgY2FzZSAnbGluaWUn +OiAgICAgICAgICAgcmV0dXJuIF9saW5pZShlcmcsIGZhbHNlKTsKICAgICAgICBjYXNlICdmbGFl +Y2hlJzogICAgICAgICByZXR1cm4gX2xpbmllKGVyZywgdHJ1ZSk7CiAgICAgICAgY2FzZSAna3Jl +aXMnOiAgICAgICAgICAgcmV0dXJuIF9rcmVpcyhlcmcsIGZhbHNlKTsKICAgICAgICBjYXNlICdk +b251dCc6ICAgICAgICAgICByZXR1cm4gX2tyZWlzKGVyZywgdHJ1ZSk7CiAgICAgICAgY2FzZSAn +c2NhdHRlcic6ICAgICAgICAgcmV0dXJuIF9zY2F0dGVyKGVyZyk7CiAgICAgICAgY2FzZSAnaGVh +dG1hcCc6ICAgICAgICAgcmV0dXJuIF9oZWF0bWFwKGVyZyk7CiAgICAgICAgY2FzZSAndGFiZWxs +ZSc6ICAgICAgICAgcmV0dXJuIF90YWJlbGxlKGVyZyk7CiAgICAgICAgY2FzZSAna3BpJzogICAg +ICAgICAgICAgcmV0dXJuIF9rcGkoZXJnKTsKICAgICAgICBjYXNlICdiYWxrZW4nOgogICAgICAg +IGRlZmF1bHQ6ICAgICAgICAgICAgICAgIHJldHVybiBfYmFsa2VuKGVyZywgZmFsc2UpOwogICAg +fQp9CgovLyBWZXJ0aWthbGUgU2FldWxlbiAoZ3J1cHBpZXJ0IG9kZXIgZ2VzdGFwZWx0KSAtLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpmdW5jdGlvbiBfYmFsa2VuKGVyZywgZ2VzdGFwZWx0KSB7 +CiAgICB2YXIgVyA9IDY4MCwgSCA9IDM2MCwgbWwgPSA0OCwgbXIgPSAxNiwgbXQgPSAxNiwgbWIg +PSA3MDsKICAgIHZhciBrYXQgPSBlcmcua2F0ZWdvcmllbiwgc2VyaWVuID0gZXJnLnNlcmllbjsK +ICAgIGlmICgha2F0Lmxlbmd0aCkgcmV0dXJuIF9sZWVyKCk7CiAgICB2YXIgcHcgPSBXIC0gbWwg +LSBtciwgcGggPSBIIC0gbXQgLSBtYjsKICAgIHZhciBtYXggPSAwOwogICAga2F0LmZvckVhY2go +ZnVuY3Rpb24oXywgaSkgewogICAgICAgIGlmIChnZXN0YXBlbHQpIHsgdmFyIHMgPSAwOyBzZXJp +ZW4uZm9yRWFjaChmdW5jdGlvbihzZSl7IHMgKz0gc2Uud2VydGVbaV0gfHwgMDsgfSk7IG1heCA9 +IE1hdGgubWF4KG1heCwgcyk7IH0KICAgICAgICBlbHNlIHNlcmllbi5mb3JFYWNoKGZ1bmN0aW9u +KHNlKXsgbWF4ID0gTWF0aC5tYXgobWF4LCBzZS53ZXJ0ZVtpXSB8fCAwKTsgfSk7CiAgICB9KTsK +ICAgIG1heCA9IF9uaWNlTWF4KG1heCk7CiAgICB2YXIgZ3JpZCA9ICcnOwogICAgX3RpY2tzKG1h +eCwgNCkuZm9yRWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgdmFyIHkgPSBtdCArIHBoIC0gKHQg +LyBtYXgpICogcGg7CiAgICAgICAgZ3JpZCArPSAnPGxpbmUgeDE9IicgKyBtbCArICciIHkxPSIn +ICsgeSArICciIHgyPSInICsgKFcgLSBtcikgKyAnIiB5Mj0iJyArIHkgKyAnIiBzdHJva2U9InZh +cigtLWJvcmRlci1saWdodCkiIHN0cm9rZS13aWR0aD0iMSIvPicgKwogICAgICAgICAgICAgICAg +Jzx0ZXh0IHg9IicgKyAobWwgLSA2KSArICciIHk9IicgKyAoeSArIDQpICsgJyIgdGV4dC1hbmNo +b3I9ImVuZCIgY2xhc3M9InN0YXQtYXgiPicgKyBfbnVtKHQpICsgJzwvdGV4dD4nOwogICAgfSk7 +CiAgICB2YXIgZ3JwQiA9IHB3IC8ga2F0Lmxlbmd0aDsKICAgIHZhciBiYWxrZW4gPSAnJzsKICAg +IGthdC5mb3JFYWNoKGZ1bmN0aW9uKGssIGkpIHsKICAgICAgICB2YXIgeDAgPSBtbCArIGdycEIg +KiBpOwogICAgICAgIGlmIChnZXN0YXBlbHQpIHsKICAgICAgICAgICAgdmFyIGFjYyA9IDA7CiAg +ICAgICAgICAgIHNlcmllbi5mb3JFYWNoKGZ1bmN0aW9uKHNlLCBzaSkgewogICAgICAgICAgICAg +ICAgdmFyIHYgPSBzZS53ZXJ0ZVtpXSB8fCAwOyBpZiAodiA8PSAwKSByZXR1cm47CiAgICAgICAg +ICAgICAgICB2YXIgYmggPSAodiAvIG1heCkgKiBwaDsKICAgICAgICAgICAgICAgIHZhciBidyA9 +IGdycEIgKiAwLjYyLCBieCA9IHgwICsgKGdycEIgLSBidykgLyAyOwogICAgICAgICAgICAgICAg +dmFyIGJ5ID0gbXQgKyBwaCAtIGFjYyAtIGJoOwogICAgICAgICAgICAgICAgYmFsa2VuICs9ICc8 +cmVjdCB4PSInICsgYnggKyAnIiB5PSInICsgYnkgKyAnIiB3aWR0aD0iJyArIGJ3ICsgJyIgaGVp +Z2h0PSInICsgYmggKyAnIiBmaWxsPSInICsgX2ZhcmJlKHNpKSArICciPjx0aXRsZT4nICsgZXNj +YXBlQXR0cihzZS5uYW1lICsgJzogJyArIF9udW0odikpICsgJzwvdGl0bGU+PC9yZWN0Pic7CiAg +ICAgICAgICAgICAgICBhY2MgKz0gYmg7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0gZWxzZSB7 +CiAgICAgICAgICAgIHZhciBidzIgPSAoZ3JwQiAqIDAuNykgLyBzZXJpZW4ubGVuZ3RoOwogICAg +ICAgICAgICBzZXJpZW4uZm9yRWFjaChmdW5jdGlvbihzZSwgc2kpIHsKICAgICAgICAgICAgICAg +IHZhciB2ID0gc2Uud2VydGVbaV0gfHwgMDsKICAgICAgICAgICAgICAgIHZhciBiaCA9ICh2IC8g +bWF4KSAqIHBoOwogICAgICAgICAgICAgICAgdmFyIGJ4ID0geDAgKyBncnBCICogMC4xNSArIGJ3 +MiAqIHNpOwogICAgICAgICAgICAgICAgYmFsa2VuICs9ICc8cmVjdCB4PSInICsgYnggKyAnIiB5 +PSInICsgKG10ICsgcGggLSBiaCkgKyAnIiB3aWR0aD0iJyArIChidzIgKiAwLjkpICsgJyIgaGVp +Z2h0PSInICsgYmggKyAnIiBmaWxsPSInICsgX2ZhcmJlKHNpKSArICciPjx0aXRsZT4nICsgZXNj +YXBlQXR0cigoc2VyaWVuLmxlbmd0aCA+IDEgPyBzZS5uYW1lICsgJyDCtyAnIDogJycpICsgay5s +YWJlbCArICc6ICcgKyBfbnVtKHYpKSArICc8L3RpdGxlPjwvcmVjdD4nOwogICAgICAgICAgICB9 +KTsKICAgICAgICB9CiAgICAgICAgYmFsa2VuICs9IF94TGFiZWwoeDAgKyBncnBCIC8gMiwgbXQg +KyBwaCwgay5sYWJlbCwga2F0Lmxlbmd0aCk7CiAgICB9KTsKICAgIHZhciBhY2hzZSA9ICc8bGlu +ZSB4MT0iJyArIG1sICsgJyIgeTE9IicgKyAobXQgKyBwaCkgKyAnIiB4Mj0iJyArIChXIC0gbXIp +ICsgJyIgeTI9IicgKyAobXQgKyBwaCkgKyAnIiBzdHJva2U9InZhcigtLXRleHQtbXV0ZWQpIiBz +dHJva2Utd2lkdGg9IjEiLz4nOwogICAgcmV0dXJuIF9zdmcoVywgSCwgZ3JpZCArIGJhbGtlbiAr +IGFjaHNlKSArIF9sZWdlbmRlKHNlcmllbik7Cn0KCmZ1bmN0aW9uIF94TGFiZWwoY3gsIHksIGxh +YmVsLCBhbnphaGwpIHsKICAgIHZhciB0ID0gZXNjYXBlSFRNTChsYWJlbCk7CiAgICB2YXIgcm90 +ID0gYW56YWhsID4gNjsKICAgIGlmIChyb3QpIHsKICAgICAgICByZXR1cm4gJzx0ZXh0IHg9Iicg +KyBjeCArICciIHk9IicgKyAoeSArIDE0KSArICciIHRleHQtYW5jaG9yPSJlbmQiIGNsYXNzPSJz +dGF0LWF4IiB0cmFuc2Zvcm09InJvdGF0ZSgtNDAgJyArIGN4ICsgJyAnICsgKHkgKyAxNCkgKyAn +KSI+JyArIHQgKyAnPC90ZXh0Pic7CiAgICB9CiAgICByZXR1cm4gJzx0ZXh0IHg9IicgKyBjeCAr +ICciIHk9IicgKyAoeSArIDE2KSArICciIHRleHQtYW5jaG9yPSJtaWRkbGUiIGNsYXNzPSJzdGF0 +LWF4Ij4nICsgdCArICc8L3RleHQ+JzsKfQoKLy8gSG9yaXpvbnRhbGUgQmFsa2VuIChSYW5raW5n +KSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpmdW5jdGlvbiBfYmFs +a2VuSChlcmcpIHsKICAgIHZhciBrYXQgPSBlcmcua2F0ZWdvcmllbiwgc2VyaWVuID0gZXJnLnNl +cmllbjsKICAgIGlmICgha2F0Lmxlbmd0aCkgcmV0dXJuIF9sZWVyKCk7CiAgICAvLyBCZWkgbWVo +cmVyZW4gU2VyaWVuOiBTdW1tZSBqZSBLYXRlZ29yaWUgKFJhbmtpbmctQ2hhcmFrdGVyKS4KICAg +IHZhciB3ZXJ0ZSA9IGthdC5tYXAoZnVuY3Rpb24oXywgaSkgeyB2YXIgcyA9IDA7IHNlcmllbi5m +b3JFYWNoKGZ1bmN0aW9uKHNlKXsgcyArPSBzZS53ZXJ0ZVtpXSB8fCAwOyB9KTsgcmV0dXJuIHM7 +IH0pOwogICAgdmFyIG1heCA9IF9uaWNlTWF4KE1hdGgubWF4LmFwcGx5KG51bGwsIHdlcnRlLmNv +bmNhdChbMF0pKSk7CiAgICB2YXIgVyA9IDY4MCwgbWwgPSAxNTAsIG1yID0gNDgsIG10ID0gOCwg +cm93SCA9IDI2LCBtYiA9IDg7CiAgICB2YXIgSCA9IG10ICsgbWIgKyBrYXQubGVuZ3RoICogcm93 +SDsKICAgIHZhciBwdyA9IFcgLSBtbCAtIG1yOwogICAgdmFyIHJvd3MgPSAnJzsKICAgIGthdC5m +b3JFYWNoKGZ1bmN0aW9uKGssIGkpIHsKICAgICAgICB2YXIgeSA9IG10ICsgaSAqIHJvd0g7CiAg +ICAgICAgdmFyIHYgPSB3ZXJ0ZVtpXTsKICAgICAgICB2YXIgYncgPSBtYXggPyAodiAvIG1heCkg +KiBwdyA6IDA7CiAgICAgICAgcm93cyArPSAnPHRleHQgeD0iJyArIChtbCAtIDgpICsgJyIgeT0i +JyArICh5ICsgcm93SCAvIDIgKyA0KSArICciIHRleHQtYW5jaG9yPSJlbmQiIGNsYXNzPSJzdGF0 +LWF4IHN0YXQtYXgtbmFtZSI+JyArIGVzY2FwZUhUTUwoay5sYWJlbCkgKyAnPC90ZXh0Pic7CiAg +ICAgICAgcm93cyArPSAnPHJlY3QgeD0iJyArIG1sICsgJyIgeT0iJyArICh5ICsgMykgKyAnIiB3 +aWR0aD0iJyArIGJ3ICsgJyIgaGVpZ2h0PSInICsgKHJvd0ggLSA4KSArICciIHJ4PSIyIiBmaWxs +PSInICsgX2ZhcmJlKDApICsgJyI+PHRpdGxlPicgKyBlc2NhcGVBdHRyKGsubGFiZWwgKyAnOiAn +ICsgX251bSh2KSkgKyAnPC90aXRsZT48L3JlY3Q+JzsKICAgICAgICByb3dzICs9ICc8dGV4dCB4 +PSInICsgKG1sICsgYncgKyA1KSArICciIHk9IicgKyAoeSArIHJvd0ggLyAyICsgNCkgKyAnIiBj +bGFzcz0ic3RhdC1heCI+JyArIF9udW0odikgKyAnPC90ZXh0Pic7CiAgICB9KTsKICAgIHJldHVy +biBfc3ZnKFcsIEgsIHJvd3MpOwp9CgovLyBMaW5pZSAvIEZsYWVjaGUgLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpmdW5jdGlvbiBfbGluaWUo +ZXJnLCBmbGFlY2hlKSB7CiAgICB2YXIgVyA9IDY4MCwgSCA9IDM2MCwgbWwgPSA0OCwgbXIgPSAx +NiwgbXQgPSAxNiwgbWIgPSA3MDsKICAgIHZhciBrYXQgPSBlcmcua2F0ZWdvcmllbiwgc2VyaWVu +ID0gZXJnLnNlcmllbjsKICAgIGlmIChrYXQubGVuZ3RoIDwgMikgcmV0dXJuIF9iYWxrZW4oZXJn +LCBmYWxzZSk7CiAgICB2YXIgcHcgPSBXIC0gbWwgLSBtciwgcGggPSBIIC0gbXQgLSBtYjsKICAg +IHZhciBtYXggPSAwOwogICAgc2VyaWVuLmZvckVhY2goZnVuY3Rpb24oc2UpeyBzZS53ZXJ0ZS5m +b3JFYWNoKGZ1bmN0aW9uKHYpeyBtYXggPSBNYXRoLm1heChtYXgsIHYgfHwgMCk7IH0pOyB9KTsK +ICAgIG1heCA9IF9uaWNlTWF4KG1heCk7CiAgICB2YXIgZ3JpZCA9ICcnOwogICAgX3RpY2tzKG1h +eCwgNCkuZm9yRWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgdmFyIHkgPSBtdCArIHBoIC0gKHQg +LyBtYXgpICogcGg7CiAgICAgICAgZ3JpZCArPSAnPGxpbmUgeDE9IicgKyBtbCArICciIHkxPSIn +ICsgeSArICciIHgyPSInICsgKFcgLSBtcikgKyAnIiB5Mj0iJyArIHkgKyAnIiBzdHJva2U9InZh +cigtLWJvcmRlci1saWdodCkiLz4nICsKICAgICAgICAgICAgICAgICc8dGV4dCB4PSInICsgKG1s +IC0gNikgKyAnIiB5PSInICsgKHkgKyA0KSArICciIHRleHQtYW5jaG9yPSJlbmQiIGNsYXNzPSJz +dGF0LWF4Ij4nICsgX251bSh0KSArICc8L3RleHQ+JzsKICAgIH0pOwogICAgdmFyIHN0ZXAgPSBr +YXQubGVuZ3RoID4gMSA/IHB3IC8gKGthdC5sZW5ndGggLSAxKSA6IHB3OwogICAgdmFyIFggPSBm +dW5jdGlvbihpKXsgcmV0dXJuIG1sICsgc3RlcCAqIGk7IH07CiAgICB2YXIgWSA9IGZ1bmN0aW9u +KHYpeyByZXR1cm4gbXQgKyBwaCAtICh2IC8gbWF4KSAqIHBoOyB9OwogICAgdmFyIHBmYWRlID0g +Jyc7CiAgICBzZXJpZW4uZm9yRWFjaChmdW5jdGlvbihzZSwgc2kpIHsKICAgICAgICB2YXIgcHRz +ID0gc2Uud2VydGUubWFwKGZ1bmN0aW9uKHYsIGkpeyByZXR1cm4gWChpKSArICcsJyArIFkodiB8 +fCAwKTsgfSk7CiAgICAgICAgaWYgKGZsYWVjaGUpIHsKICAgICAgICAgICAgcGZhZGUgKz0gJzxw +b2x5Z29uIHBvaW50cz0iJyArIChYKDApICsgJywnICsgKG10ICsgcGgpICsgJyAnKSArIHB0cy5q +b2luKCcgJykgKyAnICcgKyAoWChrYXQubGVuZ3RoIC0gMSkgKyAnLCcgKyAobXQgKyBwaCkpICsg +JyIgZmlsbD0iJyArIF9mYXJiZShzaSkgKyAnIiBvcGFjaXR5PSIwLjE4Ii8+JzsKICAgICAgICB9 +CiAgICAgICAgcGZhZGUgKz0gJzxwb2x5bGluZSBwb2ludHM9IicgKyBwdHMuam9pbignICcpICsg +JyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSInICsgX2ZhcmJlKHNpKSArICciIHN0cm9rZS13aWR0aD0i +Mi41Ii8+JzsKICAgICAgICBzZS53ZXJ0ZS5mb3JFYWNoKGZ1bmN0aW9uKHYsIGkpIHsKICAgICAg +ICAgICAgcGZhZGUgKz0gJzxjaXJjbGUgY3g9IicgKyBYKGkpICsgJyIgY3k9IicgKyBZKHYgfHwg +MCkgKyAnIiByPSIzIiBmaWxsPSInICsgX2ZhcmJlKHNpKSArICciPjx0aXRsZT4nICsgZXNjYXBl +QXR0cigoc2VyaWVuLmxlbmd0aCA+IDEgPyBzZS5uYW1lICsgJyDCtyAnIDogJycpICsga2F0W2ld +LmxhYmVsICsgJzogJyArIF9udW0odikpICsgJzwvdGl0bGU+PC9jaXJjbGU+JzsKICAgICAgICB9 +KTsKICAgIH0pOwogICAgdmFyIGxhYmVscyA9ICcnOwogICAgdmFyIGplZGVyID0gTWF0aC5jZWls +KGthdC5sZW5ndGggLyAxMik7CiAgICBrYXQuZm9yRWFjaChmdW5jdGlvbihrLCBpKSB7IGlmIChp +ICUgamVkZXIgPT09IDApIGxhYmVscyArPSBfeExhYmVsKFgoaSksIG10ICsgcGgsIGsubGFiZWws +IGthdC5sZW5ndGgpOyB9KTsKICAgIHZhciBhY2hzZSA9ICc8bGluZSB4MT0iJyArIG1sICsgJyIg +eTE9IicgKyAobXQgKyBwaCkgKyAnIiB4Mj0iJyArIChXIC0gbXIpICsgJyIgeTI9IicgKyAobXQg +KyBwaCkgKyAnIiBzdHJva2U9InZhcigtLXRleHQtbXV0ZWQpIi8+JzsKICAgIHJldHVybiBfc3Zn +KFcsIEgsIGdyaWQgKyBwZmFkZSArIGxhYmVscyArIGFjaHNlKSArIF9sZWdlbmRlKHNlcmllbik7 +Cn0KCi8vIEtyZWlzIC8gRG9udXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0KCmZ1bmN0aW9uIF9rcmVpcyhlcmcsIGRvbnV0KSB7CiAgICB2 +YXIga2F0ID0gZXJnLmthdGVnb3JpZW47CiAgICBpZiAoIWthdC5sZW5ndGgpIHJldHVybiBfbGVl +cigpOwogICAgLy8gRXJzdGUgU2VyaWUgdmVyd2VuZGVuIChLcmVpcyBpc3QgZWluZGltZW5zaW9u +YWwpLgogICAgdmFyIHdlcnRlID0ga2F0Lm1hcChmdW5jdGlvbihfLCBpKSB7IHZhciBzID0gMDsg +ZXJnLnNlcmllbi5mb3JFYWNoKGZ1bmN0aW9uKHNlKXsgcyArPSBzZS53ZXJ0ZVtpXSB8fCAwOyB9 +KTsgcmV0dXJuIHM7IH0pOwogICAgdmFyIHN1bW1lID0gd2VydGUucmVkdWNlKGZ1bmN0aW9uKGEs +IGIpeyByZXR1cm4gYSArIGI7IH0sIDApOwogICAgaWYgKHN1bW1lIDw9IDApIHJldHVybiBfbGVl +cigpOwogICAgdmFyIFcgPSA2ODAsIEggPSAzNDAsIGN4ID0gMTYwLCBjeSA9IDE3MCwgciA9IDEz +MCwgcmkgPSBkb251dCA/IDY0IDogMDsKICAgIHZhciB3aW5rZWwgPSAtTWF0aC5QSSAvIDIsIHNl +ZyA9ICcnOwogICAga2F0LmZvckVhY2goZnVuY3Rpb24oaywgaSkgewogICAgICAgIHZhciBhbnRl +aWwgPSB3ZXJ0ZVtpXSAvIHN1bW1lOwogICAgICAgIGlmIChhbnRlaWwgPD0gMCkgcmV0dXJuOwog +ICAgICAgIHZhciB3MiA9IHdpbmtlbCArIGFudGVpbCAqIDIgKiBNYXRoLlBJOwogICAgICAgIHNl +ZyArPSBfa3JlaXNTZWcoY3gsIGN5LCByLCByaSwgd2lua2VsLCB3MiwgX2ZhcmJlKGkpLCBrLmxh +YmVsICsgJzogJyArIF9udW0od2VydGVbaV0pICsgJyAoJyArIF9udW0oTWF0aC5yb3VuZChhbnRl +aWwgKiAxMDAwKSAvIDEwKSArICclKScpOwogICAgICAgIHdpbmtlbCA9IHcyOwogICAgfSk7CiAg +ICAvLyBMZWdlbmRlIHJlY2h0cyAobWl0IFdlcnRlbi9Qcm96ZW50KS4KICAgIHZhciBsZyA9ICcn +OwogICAga2F0LmZvckVhY2goZnVuY3Rpb24oaywgaSkgewogICAgICAgIHZhciB5ID0gNDAgKyBp +ICogMjI7CiAgICAgICAgaWYgKHkgPiBIIC0gMTIpIHJldHVybjsKICAgICAgICB2YXIgcHJveiA9 +IF9udW0oTWF0aC5yb3VuZCh3ZXJ0ZVtpXSAvIHN1bW1lICogMTAwMCkgLyAxMCk7CiAgICAgICAg +bGcgKz0gJzxyZWN0IHg9IjMzMCIgeT0iJyArICh5IC0gMTApICsgJyIgd2lkdGg9IjEyIiBoZWln +aHQ9IjEyIiByeD0iMiIgZmlsbD0iJyArIF9mYXJiZShpKSArICciLz4nICsKICAgICAgICAgICAg +ICAnPHRleHQgeD0iMzQ4IiB5PSInICsgeSArICciIGNsYXNzPSJzdGF0LWF4IHN0YXQtYXgtbGVn +Ij4nICsgZXNjYXBlSFRNTChrLmxhYmVsKSArICcg4oCUICcgKyBfbnVtKHdlcnRlW2ldKSArICcg +KCcgKyBwcm96ICsgJyUpPC90ZXh0Pic7CiAgICB9KTsKICAgIHZhciBtaXR0ZSA9IGRvbnV0ID8g +Jzx0ZXh0IHg9IicgKyBjeCArICciIHk9IicgKyAoY3kgKyA1KSArICciIHRleHQtYW5jaG9yPSJt +aWRkbGUiIGNsYXNzPSJzdGF0LWRvbnV0LW1pdHRlIj4nICsgX251bShzdW1tZSkgKyAnPC90ZXh0 +PicgOiAnJzsKICAgIHJldHVybiBfc3ZnKFcsIEgsIHNlZyArIG1pdHRlICsgbGcpOwp9CgpmdW5j +dGlvbiBfa3JlaXNTZWcoY3gsIGN5LCByLCByaSwgYTEsIGEyLCBmYXJiZSwgdGl0ZWwpIHsKICAg +IHZhciBncm/DnyA9IChhMiAtIGExKSA+IE1hdGguUEkgPyAxIDogMDsKICAgIHZhciB4MSA9IGN4 +ICsgciAqIE1hdGguY29zKGExKSwgeTEgPSBjeSArIHIgKiBNYXRoLnNpbihhMSk7CiAgICB2YXIg +eDIgPSBjeCArIHIgKiBNYXRoLmNvcyhhMiksIHkyID0gY3kgKyByICogTWF0aC5zaW4oYTIpOwog +ICAgaWYgKHJpID4gMCkgewogICAgICAgIHZhciB4aTEgPSBjeCArIHJpICogTWF0aC5jb3MoYTEp +LCB5aTEgPSBjeSArIHJpICogTWF0aC5zaW4oYTEpOwogICAgICAgIHZhciB4aTIgPSBjeCArIHJp +ICogTWF0aC5jb3MoYTIpLCB5aTIgPSBjeSArIHJpICogTWF0aC5zaW4oYTIpOwogICAgICAgIHJl +dHVybiAnPHBhdGggZD0iTScgKyB4MSArICcgJyArIHkxICsgJyBBJyArIHIgKyAnICcgKyByICsg +JyAwICcgKyBncm/DnyArICcgMSAnICsgeDIgKyAnICcgKyB5MiArCiAgICAgICAgICAgICAgICcg +TCcgKyB4aTIgKyAnICcgKyB5aTIgKyAnIEEnICsgcmkgKyAnICcgKyByaSArICcgMCAnICsgZ3Jv +w58gKyAnIDAgJyArIHhpMSArICcgJyArIHlpMSArICcgWiIgZmlsbD0iJyArIGZhcmJlICsgJyI+ +PHRpdGxlPicgKyBlc2NhcGVBdHRyKHRpdGVsKSArICc8L3RpdGxlPjwvcGF0aD4nOwogICAgfQog +ICAgcmV0dXJuICc8cGF0aCBkPSJNJyArIGN4ICsgJyAnICsgY3kgKyAnIEwnICsgeDEgKyAnICcg +KyB5MSArICcgQScgKyByICsgJyAnICsgciArICcgMCAnICsgZ3Jvw58gKyAnIDEgJyArIHgyICsg +JyAnICsgeTIgKyAnIFoiIGZpbGw9IicgKyBmYXJiZSArICciPjx0aXRsZT4nICsgZXNjYXBlQXR0 +cih0aXRlbCkgKyAnPC90aXRsZT48L3BhdGg+JzsKfQoKLy8gU2NhdHRlciAtLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKZnVuY3Rp +b24gX3NjYXR0ZXIoZXJnKSB7CiAgICB2YXIgcCA9IGVyZy5wdW5rdGUgfHwgW107CiAgICBpZiAo +IXAubGVuZ3RoKSByZXR1cm4gX2xlZXIoKTsKICAgIHZhciBXID0gNjgwLCBIID0gMzgwLCBtbCA9 +IDUwLCBtciA9IDE2LCBtdCA9IDE2LCBtYiA9IDUwOwogICAgdmFyIHB3ID0gVyAtIG1sIC0gbXIs +IHBoID0gSCAtIG10IC0gbWI7CiAgICB2YXIgbWF4WCA9IF9uaWNlTWF4KE1hdGgubWF4LmFwcGx5 +KG51bGwsIHAubWFwKGZ1bmN0aW9uKGQpeyByZXR1cm4gZC54OyB9KS5jb25jYXQoWzBdKSkpOwog +ICAgdmFyIG1heFkgPSBfbmljZU1heChNYXRoLm1heC5hcHBseShudWxsLCBwLm1hcChmdW5jdGlv +bihkKXsgcmV0dXJuIGQueTsgfSkuY29uY2F0KFswXSkpKTsKICAgIHZhciBYID0gZnVuY3Rpb24o +dil7IHJldHVybiBtbCArICh2IC8gbWF4WCkgKiBwdzsgfTsKICAgIHZhciBZID0gZnVuY3Rpb24o +dil7IHJldHVybiBtdCArIHBoIC0gKHYgLyBtYXhZKSAqIHBoOyB9OwogICAgdmFyIGdyaWQgPSAn +JzsKICAgIF90aWNrcyhtYXhZLCA0KS5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsKICAgICAgICB2YXIg +eSA9IFkodCk7CiAgICAgICAgZ3JpZCArPSAnPGxpbmUgeDE9IicgKyBtbCArICciIHkxPSInICsg +eSArICciIHgyPSInICsgKFcgLSBtcikgKyAnIiB5Mj0iJyArIHkgKyAnIiBzdHJva2U9InZhcigt +LWJvcmRlci1saWdodCkiLz4nICsKICAgICAgICAgICAgICAgICc8dGV4dCB4PSInICsgKG1sIC0g +NikgKyAnIiB5PSInICsgKHkgKyA0KSArICciIHRleHQtYW5jaG9yPSJlbmQiIGNsYXNzPSJzdGF0 +LWF4Ij4nICsgX251bSh0KSArICc8L3RleHQ+JzsKICAgIH0pOwogICAgX3RpY2tzKG1heFgsIDQp +LmZvckVhY2goZnVuY3Rpb24odCkgewogICAgICAgIHZhciB4ID0gWCh0KTsKICAgICAgICBncmlk +ICs9ICc8dGV4dCB4PSInICsgeCArICciIHk9IicgKyAobXQgKyBwaCArIDE2KSArICciIHRleHQt +YW5jaG9yPSJtaWRkbGUiIGNsYXNzPSJzdGF0LWF4Ij4nICsgX251bSh0KSArICc8L3RleHQ+JzsK +ICAgIH0pOwogICAgdmFyIHB1bmt0ZSA9IHAubWFwKGZ1bmN0aW9uKGQpIHsKICAgICAgICByZXR1 +cm4gJzxjaXJjbGUgY3g9IicgKyBYKGQueCkgKyAnIiBjeT0iJyArIFkoZC55KSArICciIHI9IjUi +IGZpbGw9IicgKyBfZmFyYmUoMCkgKyAnIiBvcGFjaXR5PSIwLjciPjx0aXRsZT4nICsgZXNjYXBl +QXR0cihkLmxhYmVsICsgJzogJyArIGVyZy5hY2hzZVggKyAnPScgKyBfbnVtKGQueCkgKyAnLCAn +ICsgZXJnLmFjaHNlWSArICc9JyArIF9udW0oZC55KSkgKyAnPC90aXRsZT48L2NpcmNsZT4nOwog +ICAgfSkuam9pbignJyk7CiAgICB2YXIgYWNoc2VuID0gJzxsaW5lIHgxPSInICsgbWwgKyAnIiB5 +MT0iJyArIChtdCArIHBoKSArICciIHgyPSInICsgKFcgLSBtcikgKyAnIiB5Mj0iJyArIChtdCAr +IHBoKSArICciIHN0cm9rZT0idmFyKC0tdGV4dC1tdXRlZCkiLz4nICsKICAgICAgICAgICAgICAg +ICAnPGxpbmUgeDE9IicgKyBtbCArICciIHkxPSInICsgbXQgKyAnIiB4Mj0iJyArIG1sICsgJyIg +eTI9IicgKyAobXQgKyBwaCkgKyAnIiBzdHJva2U9InZhcigtLXRleHQtbXV0ZWQpIi8+JyArCiAg +ICAgICAgICAgICAgICAgJzx0ZXh0IHg9IicgKyAobWwgKyBwdyAvIDIpICsgJyIgeT0iJyArIChI +IC0gNikgKyAnIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBjbGFzcz0ic3RhdC1heC10aXRlbCI+JyAr +IGVzY2FwZUhUTUwoZXJnLmFjaHNlWCB8fCAnJykgKyAnPC90ZXh0PicgKwogICAgICAgICAgICAg +ICAgICc8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNCAnICsgKG10ICsgcGggLyAyKSArICcp +IHJvdGF0ZSgtOTApIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBjbGFzcz0ic3RhdC1heC10aXRlbCI+ +JyArIGVzY2FwZUhUTUwoZXJnLmFjaHNlWSB8fCAnJykgKyAnPC90ZXh0Pic7CiAgICByZXR1cm4g +X3N2ZyhXLCBILCBncmlkICsgYWNoc2VuICsgcHVua3RlKTsKfQoKLy8gSGVhdG1hcCAoRGltIFgg +w5cgU2VyaWUtRGltKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK +ZnVuY3Rpb24gX2hlYXRtYXAoZXJnKSB7CiAgICB2YXIga2F0ID0gZXJnLmthdGVnb3JpZW4sIHNl +cmllbiA9IGVyZy5zZXJpZW47CiAgICBpZiAoIWthdC5sZW5ndGggfHwgIXNlcmllbi5sZW5ndGgp +IHJldHVybiBfbGVlcigpOwogICAgdmFyIG1heCA9IDA7CiAgICBzZXJpZW4uZm9yRWFjaChmdW5j +dGlvbihzZSl7IHNlLndlcnRlLmZvckVhY2goZnVuY3Rpb24odil7IG1heCA9IE1hdGgubWF4KG1h +eCwgdiB8fCAwKTsgfSk7IH0pOwogICAgaWYgKG1heCA8PSAwKSByZXR1cm4gX2xlZXIoKTsKICAg +IHZhciBtbCA9IDEyMCwgbXQgPSA5MCwgemVsbCA9IDM4LCBXID0gbWwgKyBrYXQubGVuZ3RoICog +emVsbCArIDE2LCBIID0gbXQgKyBzZXJpZW4ubGVuZ3RoICogemVsbCArIDg7CiAgICB2YXIgaW5u +ZXIgPSAnJzsKICAgIC8vIFNwYWx0ZW4tS29wZiAoS2F0ZWdvcmllbikg4oCUIHNjaHJhZWcuCiAg +ICBrYXQuZm9yRWFjaChmdW5jdGlvbihrLCBpKSB7CiAgICAgICAgdmFyIHggPSBtbCArIGkgKiB6 +ZWxsICsgemVsbCAvIDI7CiAgICAgICAgaW5uZXIgKz0gJzx0ZXh0IHg9IicgKyB4ICsgJyIgeT0i +JyArIChtdCAtIDgpICsgJyIgdGV4dC1hbmNob3I9ImVuZCIgY2xhc3M9InN0YXQtYXgiIHRyYW5z +Zm9ybT0icm90YXRlKC00NSAnICsgeCArICcgJyArIChtdCAtIDgpICsgJykiPicgKyBlc2NhcGVI +VE1MKGsubGFiZWwpICsgJzwvdGV4dD4nOwogICAgfSk7CiAgICBzZXJpZW4uZm9yRWFjaChmdW5j +dGlvbihzZSwgcikgewogICAgICAgIHZhciB5ID0gbXQgKyByICogemVsbDsKICAgICAgICBpbm5l +ciArPSAnPHRleHQgeD0iJyArIChtbCAtIDgpICsgJyIgeT0iJyArICh5ICsgemVsbCAvIDIgKyA0 +KSArICciIHRleHQtYW5jaG9yPSJlbmQiIGNsYXNzPSJzdGF0LWF4IHN0YXQtYXgtbmFtZSI+JyAr +IGVzY2FwZUhUTUwoc2UubmFtZSB8fCAn4oCUJykgKyAnPC90ZXh0Pic7CiAgICAgICAgc2Uud2Vy +dGUuZm9yRWFjaChmdW5jdGlvbih2LCBjKSB7CiAgICAgICAgICAgIHZhciB4ID0gbWwgKyBjICog +emVsbDsKICAgICAgICAgICAgdmFyIHQgPSBtYXggPyAodiB8fCAwKSAvIG1heCA6IDA7CiAgICAg +ICAgICAgIGlubmVyICs9ICc8cmVjdCB4PSInICsgeCArICciIHk9IicgKyB5ICsgJyIgd2lkdGg9 +IicgKyAoemVsbCAtIDMpICsgJyIgaGVpZ2h0PSInICsgKHplbGwgLSAzKSArICciIHJ4PSIzIiBm +aWxsPSJ2YXIoLS1iZy1wcmltYXJ5KSIgZmlsbC1vcGFjaXR5PSInICsgKDAuMTIgKyB0ICogMC44 +NSkudG9GaXhlZCgzKSArICciPjx0aXRsZT4nICsgZXNjYXBlQXR0cigoc2UubmFtZSA/IHNlLm5h +bWUgKyAnIMK3ICcgOiAnJykgKyBrYXRbY10ubGFiZWwgKyAnOiAnICsgX251bSh2KSkgKyAnPC90 +aXRsZT48L3JlY3Q+JzsKICAgICAgICAgICAgaWYgKHYpIGlubmVyICs9ICc8dGV4dCB4PSInICsg +KHggKyAoemVsbCAtIDMpIC8gMikgKyAnIiB5PSInICsgKHkgKyB6ZWxsIC8gMiArIDMpICsgJyIg +dGV4dC1hbmNob3I9Im1pZGRsZSIgY2xhc3M9InN0YXQtaGVhdC13ZXJ0IiBmaWxsPSInICsgKHQg +PiAwLjU1ID8gJyNmZmYnIDogJ3ZhcigtLXRleHQtaGVhZGluZyknKSArICciPicgKyBfbnVtKHYp +ICsgJzwvdGV4dD4nOwogICAgICAgIH0pOwogICAgfSk7CiAgICByZXR1cm4gX3N2ZyhXLCBILCBp +bm5lcik7Cn0KCi8vIFBpdm90LVRhYmVsbGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmZ1bmN0aW9uIF90YWJlbGxlKGVyZykgewogICAg +dmFyIGthdCA9IGVyZy5rYXRlZ29yaWVuLCBzZXJpZW4gPSBlcmcuc2VyaWVuOwogICAgaWYgKCFr +YXQubGVuZ3RoKSByZXR1cm4gX2xlZXIoKTsKICAgIHZhciBtZWhyID0gZXJnLm1laHJzZXJpZzsK +ICAgIHZhciBrb3BmID0gJzx0cj48dGg+JyArIGVzY2FwZUhUTUwoZXJnLmRpbVhMYWJlbCB8fCAn +JykgKyAnPC90aD4nICsKICAgICAgICBzZXJpZW4ubWFwKGZ1bmN0aW9uKHMpeyByZXR1cm4gJzx0 +aCBjbGFzcz0iemFobCI+JyArIGVzY2FwZUhUTUwobWVociA/IChzLm5hbWUgfHwgJ+KAlCcpIDog +KGVyZy5rZW5uemFobExhYmVsIHx8ICdXZXJ0JykpICsgJzwvdGg+JzsgfSkuam9pbignJykgKwog +ICAgICAgIChtZWhyID8gJzx0aCBjbGFzcz0iemFobCI+zqM8L3RoPicgOiAnJykgKyAnPC90cj4n +OwogICAgdmFyIHplaWxlbiA9IGthdC5tYXAoZnVuY3Rpb24oaywgaSkgewogICAgICAgIHZhciBz +dW0gPSAwOwogICAgICAgIHZhciB0ZHMgPSBzZXJpZW4ubWFwKGZ1bmN0aW9uKHMpeyB2YXIgdiA9 +IHMud2VydGVbaV0gfHwgMDsgc3VtICs9IHY7IHJldHVybiAnPHRkIGNsYXNzPSJ6YWhsIj4nICsg +X251bSh2KSArICc8L3RkPic7IH0pLmpvaW4oJycpOwogICAgICAgIHJldHVybiAnPHRyPjx0ZD4n +ICsgZXNjYXBlSFRNTChrLmxhYmVsKSArICc8L3RkPicgKyB0ZHMgKyAobWVociA/ICc8dGQgY2xh +c3M9InphaGwiPjxiPicgKyBfbnVtKHN1bSkgKyAnPC9iPjwvdGQ+JyA6ICcnKSArICc8L3RyPic7 +CiAgICB9KS5qb2luKCcnKTsKICAgIHJldHVybiAnPGRpdiBjbGFzcz0idGFiZWxsZS1zY3JvbGwi +Pjx0YWJsZSBjbGFzcz0iYWRtaW4tdGFiZWxsZSBzdGF0LXBpdm90Ij48dGhlYWQ+JyArIGtvcGYg +KyAnPC90aGVhZD48dGJvZHk+JyArIHplaWxlbiArICc8L3Rib2R5PjwvdGFibGU+PC9kaXY+JzsK +fQoKLy8gS1BJIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLQoKZnVuY3Rpb24gX2twaShlcmcpIHsKICAgIHZhciBrYXQgPSBl +cmcua2F0ZWdvcmllbiwgc2VyaWVuID0gZXJnLnNlcmllbjsKICAgIHZhciBnZXNhbXQgPSAwOwog +ICAgc2VyaWVuLmZvckVhY2goZnVuY3Rpb24ocyl7IHMud2VydGUuZm9yRWFjaChmdW5jdGlvbih2 +KXsgZ2VzYW10ICs9IHYgfHwgMDsgfSk7IH0pOwogICAgdmFyIGthcnRlbiA9ICc8ZGl2IGNsYXNz +PSJzdGF0LWtwaS1ncm9zcyI+PGRpdiBjbGFzcz0ic3RhdC1rcGktZ3Jvc3Mtd2VydCI+JyArIF9u +dW0oZ2VzYW10KSArICc8L2Rpdj4nICsKICAgICAgICAnPGRpdiBjbGFzcz0ic3RhdC1rcGktZ3Jv +c3MtbGFiZWwiPicgKyBlc2NhcGVIVE1MKGVyZy5rZW5uemFobExhYmVsIHx8ICdHZXNhbXQnKSAr +ICc8L2Rpdj48L2Rpdj4nOwogICAgLy8gQmlzIHp1IDYgVG9wLUthdGVnb3JpZW4gYWxzIGtsZWlu +ZSBLUElzLgogICAgdmFyIHdlcnRlID0ga2F0Lm1hcChmdW5jdGlvbihfLCBpKXsgdmFyIHMgPSAw +OyBzZXJpZW4uZm9yRWFjaChmdW5jdGlvbihzZSl7IHMgKz0gc2Uud2VydGVbaV0gfHwgMDsgfSk7 +IHJldHVybiB7IGxhYmVsOiBrYXRbaV0ubGFiZWwsIHY6IHMgfTsgfSk7CiAgICB3ZXJ0ZS5zb3J0 +KGZ1bmN0aW9uKGEsIGIpeyByZXR1cm4gYi52IC0gYS52OyB9KTsKICAgIHZhciB0b3AgPSB3ZXJ0 +ZS5zbGljZSgwLCA2KS5tYXAoZnVuY3Rpb24odykgewogICAgICAgIHJldHVybiAnPGRpdiBjbGFz +cz0ic3RhdC1rcGkiPjxkaXYgY2xhc3M9InN0YXRzLWtwaS13ZXJ0Ij4nICsgX251bSh3LnYpICsg +JzwvZGl2PjxkaXYgY2xhc3M9InN0YXRzLWtwaS1sYWJlbCI+JyArIGVzY2FwZUhUTUwody5sYWJl +bCkgKyAnPC9kaXY+PC9kaXY+JzsKICAgIH0pLmpvaW4oJycpOwogICAgcmV0dXJuICc8ZGl2IGNs +YXNzPSJzdGF0LWtwaS13cmFwIj4nICsga2FydGVuICsgJzxkaXYgY2xhc3M9InN0YXRzLWtwaXMg +c3RhdC1rcGktbWluaSI+JyArIHRvcCArICc8L2Rpdj48L2Rpdj4nOwp9Cg== +### FILE: js/statistik_engine.js | 19010 +Ly8gPT09IHN0YXRpc3Rpa19lbmdpbmUuanMgPT09Ci8vIE1laHJkaW1lbnNpb25hbGUgQW5hbHlz +ZS1FbmdpbmUgZnVlciBkZW4gU3RhdGlzdGlrLUJ1aWxkZXIgKFBpdm90LWFydGlnKS4KLy8KLy8g +SWRlZTogYXVzIFoucGxhbnVuZy5laW50cmFlZ2UgKyBaLnBlcnNvbmVuICsgWi5hZG1pbiB3aXJk +IGNsaWVudHNlaXRpZyBlaW5lCi8vIEZBS1RFTi1UQUJFTExFIGdlYmF1dCDigJQgZWluZSBaZWls +ZSBwcm8gKFBlcnNvbiDDlyBUYWcgw5cgQ29kZSkuIEF1ZiBkaWVzZXIKLy8gRmFrdGVudGFiZWxs +ZSBsYWV1ZnQgZGFubiBlaW4ga2xhc3Npc2NoZXMgR3JvdXAtYnkvQWdncmVnYXQ6Ci8vCi8vICAg +RmlsdGVyIC0+IERpbWVuc2lvbihlbikgLT4gS2VubnphaGwvQWdncmVnYXRpb24gLT4gRXJnZWJu +aXMtU3RydWt0dXIKLy8KLy8gRGFzIEVyZ2VibmlzIGlzdCBkaWFncmFtbS1uZXV0cmFsOyBzdGF0 +aXN0aWtfY2hhcnRzLmpzIHJlbmRlcnQgZXMgYWxzIFNWRy4KLy8gS2VpbmUgU2VydmVyLUFlbmRl +cnVuZyBub2V0aWcg4oCUIGFsbGVzIGxhZXVmdCBhdWYgYmVyZWl0cyBnZWxhZGVuZW4gRGF0ZW4u +CgppbXBvcnQgeyBaIH0gZnJvbSAnLi9jb3JlX3N0YXRlLmpzJzsKaW1wb3J0IHsgcGlkS2V5LCBk +YXR1bVN0ciwgaXN0V29jaGVuZW5kZSB9IGZyb20gJy4vY29yZV91dGlsLmpzJzsKaW1wb3J0IHsg +ZmVpZXJ0YWdJbmZvIH0gZnJvbSAnLi9mZWllcnRhZ2VfZGUuanMnOwoKLy8gPT09PT0gQ29kZS1L +bGFzc2lmaXppZXJ1bmcgKHNwaWVnZWx0IHNlcnZlci5weSBfaGFuZGxlX3N0YXRpc3RpaykgPT09 +PT0KCnZhciBTT05ERVJfQ09ERVMgICAgICA9IFsnU0QnLCAnU0UnXTsKdmFyIEZPUlRCSUxEVU5H +X0NPREVTID0gWydBdUYnLCAnRVRNJywgJ1NlbScsICdUVCcsICdUekYnXTsKdmFyIEZSRUlfQ09E +RVMgICAgICAgID0gWyd3ZnInLCAnZGZyJywgJ8KnMjEnLCAnMjFhJ107CnZhciBBQldFU0VORF9D +T0RFUyAgICA9IFsnVXJsJywgJ2tyJywgJ0t1cicsICdTVScsICdMRycsICdEVScsICdCVicsICdh +YmcnLCAnQkFPJywgJ0hPJywgJ2FidycsICdYWFgnXTsKCmZ1bmN0aW9uIF9zY2hpY2h0Vm9uKGNv +ZGUpIHsKICAgIGlmICgvXkYtL2kudGVzdChjb2RlKSkgcmV0dXJuICdGJzsKICAgIGlmICgvXlMt +L2kudGVzdChjb2RlKSkgcmV0dXJuICdTJzsKICAgIGlmICgvXk4tL2kudGVzdChjb2RlKSkgcmV0 +dXJuICdOJzsKICAgIHJldHVybiAnJzsKfQpmdW5jdGlvbiBfcm9sbGVWb24oY29kZSkgewogICAg +Ly8gRi1ER0wgLT4gREdMLCBTLVdERiAtPiBXREYsIE4tRkJQIC0+IEZCUAogICAgaWYgKGNvZGUg +JiYgY29kZS5sZW5ndGggPj0gNSAmJiBjb2RlLmNoYXJBdCgxKSA9PT0gJy0nKSB7CiAgICAgICAg +dmFyIHIgPSBjb2RlLnN1YnN0cmluZygyLCA1KTsKICAgICAgICBpZiAociA9PT0gJ0RHTCcgfHwg +ciA9PT0gJ1dERicgfHwgciA9PT0gJ0ZCUCcpIHJldHVybiByOwogICAgfQogICAgcmV0dXJuICcn +Owp9CmZ1bmN0aW9uIF9pc3REaWVuc3QoY29kZSkgewogICAgcmV0dXJuIF9zY2hpY2h0Vm9uKGNv +ZGUpICE9PSAnJyB8fCBTT05ERVJfQ09ERVMuaW5kZXhPZihjb2RlKSA+PSAwOwp9CmZ1bmN0aW9u +IF9ncm9ia2xhc3NlKGNvZGUpIHsKICAgIC8vIEdyb2JlIFRhZy1BcnQgZnVlciBkaWUgS2F0ZWdv +cmllLURpbWVuc2lvbi4KICAgIGlmIChfc2NoaWNodFZvbihjb2RlKSkgcmV0dXJuICdEaWVuc3Qn +OwogICAgaWYgKFNPTkRFUl9DT0RFUy5pbmRleE9mKGNvZGUpID49IDApIHJldHVybiAnU29uZGVy +ZGllbnN0JzsKICAgIGlmIChGT1JUQklMRFVOR19DT0RFUy5pbmRleE9mKGNvZGUpID49IDAgfHwg +Y29kZSA9PT0gJ0xHJykgcmV0dXJuICdBdXMtL0ZvcnRiaWxkdW5nJzsKICAgIGlmIChbJ1VybCcs +ICdTVSddLmluZGV4T2YoY29kZSkgPj0gMCkgcmV0dXJuICdVcmxhdWInOwogICAgaWYgKFsna3In +LCAnS3VyJ10uaW5kZXhPZihjb2RlKSA+PSAwKSByZXR1cm4gJ0tyYW5rL0t1cic7CiAgICBpZiAo +RlJFSV9DT0RFUy5pbmRleE9mKGNvZGUpID49IDApIHJldHVybiAnRnJlaSc7CiAgICByZXR1cm4g +J1NvbnN0aWdlcyc7Cn0KCi8vID09PT09IEthbGVuZGVyLUhpbGZlbiA9PT09PQoKdmFyIF9mZWll +cnRhZ1NldCA9IG51bGwsIF9mZXJpZW5TZXQgPSBudWxsLCBfa2FsZW5kZXJTaWcgPSBudWxsOwoK +ZnVuY3Rpb24gX2thbGVuZGVyQXVmYmF1ZW4oKSB7CiAgICB2YXIgc2lnID0gKFouYWRtaW4gJiYg +KFouYWRtaW4uZmVpZXJ0YWdlIHx8IFtdKS5sZW5ndGggKyAneCcgKyAoWi5hZG1pbi5mZXJpZW4g +fHwgW10pLmxlbmd0aCkgfHwgJyc7CiAgICBpZiAoX2thbGVuZGVyU2lnID09PSBzaWcgJiYgX2Zl +aWVydGFnU2V0KSByZXR1cm47CiAgICBfa2FsZW5kZXJTaWcgPSBzaWc7CiAgICAvLyBXZXJ0ID0g +QmV6ZWljaG51bmcgKGZ1ZXIgYWRtaW4tZWlnZW5lIEZlaWVydGFnZSBvaG5lIEthdGFsb2ctVHJl +ZmZlciksCiAgICAvLyBtaW5kZXN0ZW5zIGFiZXIgYHRydWVgLiBLYXRhbG9nIChidW5kZXN3ZWl0 +L05SVykga29tbXQgenVzYWV0emxpY2ggaW4KICAgIC8vIGZha3RlbkJhdWVuIGRhenUuCiAgICBf +ZmVpZXJ0YWdTZXQgPSB7fTsKICAgIChaLmFkbWluICYmIFouYWRtaW4uZmVpZXJ0YWdlIHx8IFtd +KS5mb3JFYWNoKGZ1bmN0aW9uKGYpIHsKICAgICAgICBpZiAoZiAmJiBmLmRhdHVtICYmIGYuYWt0 +aXYgIT09IGZhbHNlKSBfZmVpZXJ0YWdTZXRbZi5kYXR1bV0gPSBmLmJlemVpY2hudW5nIHx8IHRy +dWU7CiAgICB9KTsKICAgIF9mZXJpZW5TZXQgPSB7fTsKICAgIChaLmFkbWluICYmIFouYWRtaW4u +ZmVyaWVuIHx8IFtdKS5mb3JFYWNoKGZ1bmN0aW9uKGZwKSB7CiAgICAgICAgaWYgKCFmcCB8fCAh +ZnAudm9uIHx8ICFmcC5iaXMpIHJldHVybjsKICAgICAgICB2YXIgZCA9IG5ldyBEYXRlKGZwLnZv +biArICdUMDA6MDA6MDAnKSwgZW5kZSA9IG5ldyBEYXRlKGZwLmJpcyArICdUMDA6MDA6MDAnKTsK +ICAgICAgICB2YXIgc2NodXR6ID0gMDsKICAgICAgICB3aGlsZSAoZCA8PSBlbmRlICYmIHNjaHV0 +eiA8IDQwMCkgeyBfZmVyaWVuU2V0W2RhdHVtU3RyKGQpXSA9IHRydWU7IGQuc2V0RGF0ZShkLmdl +dERhdGUoKSArIDEpOyBzY2h1dHorKzsgfQogICAgfSk7Cn0KCi8vIElTTy1LYWxlbmRlcndvY2hl +IChNby1iYXNpZXJ0KS4KZnVuY3Rpb24gX2lzb0tXKGQpIHsKICAgIHZhciB0ID0gbmV3IERhdGUo +ZC5nZXRGdWxsWWVhcigpLCBkLmdldE1vbnRoKCksIGQuZ2V0RGF0ZSgpKTsKICAgIHZhciB0YWcg +PSAodC5nZXREYXkoKSArIDYpICUgNzsgICAgICAgICAgICAvLyBNbz0wIOKApiBTbz02CiAgICB0 +LnNldERhdGUodC5nZXREYXRlKCkgLSB0YWcgKyAzKTsgICAgICAgICAgLy8gRG9ubmVyc3RhZyBk +aWVzZXIgV29jaGUKICAgIHZhciBqYWhyU3RhcnQgPSBuZXcgRGF0ZSh0LmdldEZ1bGxZZWFyKCks +IDAsIDQpOwogICAgdmFyIGt3ID0gMSArIE1hdGgucm91bmQoKCh0IC0gamFoclN0YXJ0KSAvIDg2 +NDAwMDAwIC0gMyArICgoamFoclN0YXJ0LmdldERheSgpICsgNikgJSA3KSkgLyA3KTsKICAgIHJl +dHVybiB7IGphaHI6IHQuZ2V0RnVsbFllYXIoKSwga3c6IGt3IH07Cn0KCnZhciBXT0NIRU5UQUdF +ID0gWydTbycsICdNbycsICdEaScsICdNaScsICdEbycsICdGcicsICdTYSddOwp2YXIgTU9OQVRT +TkFNRU4gPSBbJ0phbicsICdGZWInLCAnTcOkcicsICdBcHInLCAnTWFpJywgJ0p1bicsICdKdWwn +LCAnQXVnJywgJ1NlcCcsICdPa3QnLCAnTm92JywgJ0RleiddOwoKLy8gPT09PT0gRmFrdGVudGFi +ZWxsZSA9PT09PQoKdmFyIF9mYWt0ZW5DYWNoZSA9IG51bGwsIF9mYWt0ZW5TaWcgPSBudWxsOwoK +ZnVuY3Rpb24gX3BlcnNvbkluZGV4KCkgewogICAgdmFyIGlkeCA9IHt9OwogICAgKFoucGVyc29u +ZW4gfHwgW10pLmZvckVhY2goZnVuY3Rpb24ocCkgeyBpZHhbcGlkS2V5KHAuaWQpXSA9IHA7IH0p +OwogICAgcmV0dXJuIGlkeDsKfQoKLy8gQmF1dCAodW5kIGNhY2hlZCkgZGllIEZha3RlbnRhYmVs +bGU6IGVpbmUgWmVpbGUgcHJvIFBlcnNvbsOXVGFnw5dDb2RlLgpleHBvcnQgZnVuY3Rpb24gZmFr +dGVuQmF1ZW4oKSB7CiAgICB2YXIgZWludHIgPSAoWi5wbGFudW5nICYmIFoucGxhbnVuZy5laW50 +cmFlZ2UpIHx8IHt9OwogICAgdmFyIHNpZyA9IE9iamVjdC5rZXlzKGVpbnRyKS5sZW5ndGggKyAn +OicgKyAoWi5wZXJzb25lbiB8fCBbXSkubGVuZ3RoICsgJzonICsgKFoudGFnZSB8fCBbXSkubGVu +Z3RoOwogICAgaWYgKF9mYWt0ZW5TaWcgPT09IHNpZyAmJiBfZmFrdGVuQ2FjaGUpIHJldHVybiBf +ZmFrdGVuQ2FjaGU7CiAgICBfa2FsZW5kZXJBdWZiYXVlbigpOwogICAgdmFyIHBJZHggPSBfcGVy +c29uSW5kZXgoKTsKICAgIHZhciBmYWt0ZW4gPSBbXTsKICAgIHZhciB0YWdlID0gKFoudGFnZSAm +JiBaLnRhZ2UubGVuZ3RoKSA/IFoudGFnZS5tYXAoZGF0dW1TdHIpIDogT2JqZWN0LmtleXMoZWlu +dHIpLnNvcnQoKTsKICAgIHRhZ2UuZm9yRWFjaChmdW5jdGlvbihkYXR1bSkgewogICAgICAgIHZh +ciB0YWcgPSBlaW50cltkYXR1bV07CiAgICAgICAgaWYgKCF0YWcpIHJldHVybjsKICAgICAgICB2 +YXIgZCA9IG5ldyBEYXRlKGRhdHVtICsgJ1QwMDowMDowMCcpOwogICAgICAgIHZhciB3ZCA9IGQu +Z2V0RGF5KCk7CiAgICAgICAgdmFyIGlzbyA9IF9pc29LVyhkKTsKICAgICAgICB2YXIgbW9uYXQg +PSBkYXR1bS5zdWJzdHJpbmcoMCwgNyk7ICAgICAgICAgICAgICAgICAvLyAnWVlZWS1NTScKICAg +ICAgICBPYmplY3Qua2V5cyh0YWcpLmZvckVhY2goZnVuY3Rpb24ocGlkKSB7CiAgICAgICAgICAg +IHZhciBjb2RlID0gdGFnW3BpZF07CiAgICAgICAgICAgIGlmICghY29kZSkgcmV0dXJuOwogICAg +ICAgICAgICB2YXIgcCA9IHBJZHhbcGlkXTsKICAgICAgICAgICAgaWYgKCFwKSByZXR1cm47ICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaW5ha3RpdmUvdmVyc3RlY2t0ZSBQZXJz +b24gLT4gbmljaHQgZ2V6YWVobHQKICAgICAgICAgICAgLy8gRmVpZXJ0YWdzLUtsYXNzaWZpa2F0 +aW9uOiBLYXRhbG9nIChidW5kZXN3ZWl0L05SVykgaGF0IFZvcnJhbmcsCiAgICAgICAgICAgIC8v +IHNvbnN0IGFkbWluLWVpZ2VuZXIgRmVpZXJ0YWcgKC0+IFR5cCAnc29uc3RpZ2UnKS4gaXN0RmVp +ZXJ0YWcKICAgICAgICAgICAgLy8gYmxlaWJ0IHRydWUsIHNvYmFsZCBlaW5lIGRlciBiZWlkZW4g +UXVlbGxlbiBncmVpZnQuCiAgICAgICAgICAgIHZhciBrYXRJbmZvID0gZmVpZXJ0YWdJbmZvKGRh +dHVtKTsKICAgICAgICAgICAgdmFyIGFkbWluRnQgPSBfZmVpZXJ0YWdTZXRbZGF0dW1dOwogICAg +ICAgICAgICB2YXIgZnROYW1lID0gJycsIGZ0VHlwID0gJyc7CiAgICAgICAgICAgIGlmIChrYXRJ +bmZvKSB7IGZ0TmFtZSA9IGthdEluZm8ubmFtZTsgZnRUeXAgPSBrYXRJbmZvLnR5cDsgfQogICAg +ICAgICAgICBlbHNlIGlmIChhZG1pbkZ0KSB7IGZ0TmFtZSA9ICh0eXBlb2YgYWRtaW5GdCA9PT0g +J3N0cmluZycpID8gYWRtaW5GdCA6ICcnOyBmdFR5cCA9ICdzb25zdGlnZSc7IH0KICAgICAgICAg +ICAgZmFrdGVuLnB1c2goewogICAgICAgICAgICAgICAgcGVyc29uSWQ6IHBpZCwKICAgICAgICAg +ICAgICAgIHBlcnNvbkxhYmVsOiBfcGVyc29uTGFiZWwocCksCiAgICAgICAgICAgICAgICBncnVw +cGU6IHAuZ3J1cHBlIHx8ICfigJQnLAogICAgICAgICAgICAgICAgZnVua3Rpb246IHAuZnVua3Rp +b24gfHwgJ+KAlCcsCiAgICAgICAgICAgICAgICBzdGFuZG9ydDogcC5vZSB8fCAn4oCUJywKICAg +ICAgICAgICAgICAgIGRpZW5zdGdyYWQ6IHAuZGllbnN0Z3JhZCB8fCAn4oCUJywKICAgICAgICAg +ICAgICAgIGRhdHVtOiBkYXR1bSwKICAgICAgICAgICAgICAgIGphaHI6IFN0cmluZyhkLmdldEZ1 +bGxZZWFyKCkpLAogICAgICAgICAgICAgICAgbW9uYXQ6IG1vbmF0LAogICAgICAgICAgICAgICAg +bW9uYXRMYWJlbDogTU9OQVRTTkFNRU5bZC5nZXRNb250aCgpXSArICcgJyArIGQuZ2V0RnVsbFll +YXIoKSwKICAgICAgICAgICAgICAgIGt3S2V5OiBpc28uamFociArICctJyArIChpc28ua3cgPCAx +MCA/ICcwJyA6ICcnKSArIGlzby5rdywKICAgICAgICAgICAgICAgIGt3TGFiZWw6ICdLVyAnICsg +aXNvLmt3LAogICAgICAgICAgICAgICAgd29jaGVudGFnOiB3ZCwKICAgICAgICAgICAgICAgIHdv +Y2hlbnRhZ0xhYmVsOiBXT0NIRU5UQUdFW3dkXSwKICAgICAgICAgICAgICAgIGlzdFdFOiBpc3RX +b2NoZW5lbmRlKGQpLAogICAgICAgICAgICAgICAgaXN0RmVpZXJ0YWc6ICEhYWRtaW5GdCB8fCAh +IWthdEluZm8sCiAgICAgICAgICAgICAgICBmZWllcnRhZ05hbWU6IGZ0TmFtZSwKICAgICAgICAg +ICAgICAgIGZlaWVydGFnVHlwOiBmdFR5cCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICdi +dW5kZXN3ZWl0JyB8ICducncnIHwgJ3NvbnN0aWdlJyB8ICcnCiAgICAgICAgICAgICAgICBpc3RG +ZXJpZW46ICEhX2ZlcmllblNldFtkYXR1bV0sCiAgICAgICAgICAgICAgICBjb2RlOiBjb2RlLAog +ICAgICAgICAgICAgICAgc2NoaWNodDogX3NjaGljaHRWb24oY29kZSksCiAgICAgICAgICAgICAg +ICByb2xsZTogX3JvbGxlVm9uKGNvZGUpLAogICAgICAgICAgICAgICAga2F0ZWdvcmllOiBfZ3Jv +YmtsYXNzZShjb2RlKSwKICAgICAgICAgICAgICAgIGlzdERpZW5zdDogX2lzdERpZW5zdChjb2Rl +KQogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgIH0pOwogICAgX2Zha3RlbkNhY2hlID0g +ZmFrdGVuOyBfZmFrdGVuU2lnID0gc2lnOwogICAgcmV0dXJuIGZha3RlbjsKfQoKZnVuY3Rpb24g +X3BlcnNvbkxhYmVsKHApIHsKICAgIHZhciBuID0gKHAubmFtZSB8fCAnJykudHJpbSgpOwogICAg +dmFyIHYgPSAocC52b3JuYW1lIHx8ICcnKS50cmltKCk7CiAgICByZXR1cm4gdiA/IChuICsgJywg +JyArIHYpIDogbjsKfQoKLy8gPT09PT0gRGltZW5zaW9uZW4gKEdyb3VwLWJ5LUFjaHNlbikgPT09 +PT0KLy8gd2VydChmKSAtPiBTY2hsdWVzc2VsICh6dWdsZWljaCBTb3J0aWVya3JpdGVyaXVtIGZ1 +ZXIgJ3plaXQnLU9yZG51bmcpLAovLyBsYWJlbChrZXkpIC0+IEFuemVpZ2UuIG9yZG51bmc6ICdu +YXR1cicgKGFscGhhYmV0aXNjaC9XZXJ0KSB8ICd6ZWl0JyB8ICdmaXgnLgoKZXhwb3J0IHZhciBE +SU1FTlNJT05FTiA9IFsKICAgIHsga2V5OiAnZ3J1cHBlJywgICAgIGxhYmVsOiAnRGllbnN0Z3J1 +cHBlJywgb3JkbnVuZzogJ25hdHVyJywgd2VydDogZnVuY3Rpb24oZil7IHJldHVybiBmLmdydXBw +ZTsgfSB9LAogICAgeyBrZXk6ICdmdW5rdGlvbicsICAgbGFiZWw6ICdGdW5rdGlvbicsICAgICBv +cmRudW5nOiAnbmF0dXInLCB3ZXJ0OiBmdW5jdGlvbihmKXsgcmV0dXJuIGYuZnVua3Rpb247IH0g +fSwKICAgIHsga2V5OiAnc3RhbmRvcnQnLCAgIGxhYmVsOiAnU3RhbmRvcnQnLCAgICAgb3JkbnVu +ZzogJ25hdHVyJywgd2VydDogZnVuY3Rpb24oZil7IHJldHVybiBmLnN0YW5kb3J0OyB9IH0sCiAg +ICB7IGtleTogJ2RpZW5zdGdyYWQnLCBsYWJlbDogJ0RpZW5zdGdyYWQnLCAgIG9yZG51bmc6ICdu +YXR1cicsIHdlcnQ6IGZ1bmN0aW9uKGYpeyByZXR1cm4gZi5kaWVuc3RncmFkOyB9IH0sCiAgICB7 +IGtleTogJ3BlcnNvbicsICAgICBsYWJlbDogJ1BlcnNvbicsICAgICAgIG9yZG51bmc6ICduYXR1 +cicsIHdlcnQ6IGZ1bmN0aW9uKGYpeyByZXR1cm4gZi5wZXJzb25MYWJlbDsgfSB9LAogICAgeyBr +ZXk6ICdrYXRlZ29yaWUnLCAgbGFiZWw6ICdUYWctS2F0ZWdvcmllJywgb3JkbnVuZzogJ25hdHVy +Jywgd2VydDogZnVuY3Rpb24oZil7IHJldHVybiBmLmthdGVnb3JpZTsgfSB9LAogICAgeyBrZXk6 +ICdzY2hpY2h0JywgICAgbGFiZWw6ICdTY2hpY2h0IChGL1MvTiknLCBvcmRudW5nOiAnZml4Jywg +Zml4UmVpaGU6IFsnRicsICdTJywgJ04nLCAn4oCUJ10sCiAgICAgICAgd2VydDogZnVuY3Rpb24o +Zil7IHJldHVybiBmLnNjaGljaHQgfHwgJ+KAlCc7IH0sIGxhYmVsMjogZnVuY3Rpb24oayl7IHJl +dHVybiAoe0Y6J0Zyw7xoJywgUzonU3DDpHQnLCBOOidOYWNodCcsICfigJQnOidrZWluIERpZW5z +dCd9KVtrXSB8fCBrOyB9IH0sCiAgICB7IGtleTogJ3JvbGxlJywgICAgICBsYWJlbDogJ0RHTC9X +REYvRkJQJywgIG9yZG51bmc6ICdmaXgnLCBmaXhSZWloZTogWydER0wnLCAnV0RGJywgJ0ZCUCcs +ICfigJQnXSwKICAgICAgICB3ZXJ0OiBmdW5jdGlvbihmKXsgcmV0dXJuIGYucm9sbGUgfHwgJ+KA +lCc7IH0gfSwKICAgIHsga2V5OiAnY29kZScsICAgICAgIGxhYmVsOiAnU2NoaWNodGNvZGUnLCAg +b3JkbnVuZzogJ25hdHVyJywgd2VydDogZnVuY3Rpb24oZil7IHJldHVybiBmLmNvZGU7IH0gfSwK +ICAgIHsga2V5OiAnbW9uYXQnLCAgICAgIGxhYmVsOiAnTW9uYXQnLCAgICAgICAgb3JkbnVuZzog +J3plaXQnLCB3ZXJ0OiBmdW5jdGlvbihmKXsgcmV0dXJuIGYubW9uYXQ7IH0sIGxhYmVsMjogZnVu +Y3Rpb24oaywgZil7IHJldHVybiBmID8gZi5tb25hdExhYmVsIDogazsgfSB9LAogICAgeyBrZXk6 +ICdrdycsICAgICAgICAgbGFiZWw6ICdLYWxlbmRlcndvY2hlJywgb3JkbnVuZzogJ3plaXQnLCB3 +ZXJ0OiBmdW5jdGlvbihmKXsgcmV0dXJuIGYua3dLZXk7IH0sIGxhYmVsMjogZnVuY3Rpb24oaywg +Zil7IHJldHVybiBmID8gZi5rd0xhYmVsIDogazsgfSB9LAogICAgeyBrZXk6ICd3b2NoZW50YWcn +LCAgbGFiZWw6ICdXb2NoZW50YWcnLCAgICBvcmRudW5nOiAnZml4JywgZml4UmVpaGU6IFsnTW8n +LCAnRGknLCAnTWknLCAnRG8nLCAnRnInLCAnU2EnLCAnU28nXSwKICAgICAgICB3ZXJ0OiBmdW5j +dGlvbihmKXsgcmV0dXJuIGYud29jaGVudGFnTGFiZWw7IH0gfSwKICAgIHsga2V5OiAnamFocics +ICAgICAgIGxhYmVsOiAnSmFocicsICAgICAgICAgb3JkbnVuZzogJ3plaXQnLCB3ZXJ0OiBmdW5j +dGlvbihmKXsgcmV0dXJuIGYuamFocjsgfSB9LAogICAgeyBrZXk6ICdpc3RXRScsICAgICAgbGFi +ZWw6ICdXb2NoZW5lbmRlPycsICBvcmRudW5nOiAnZml4JywgZml4UmVpaGU6IFsnV29jaGVuZW5k +ZScsICdXZXJrdGFnJ10sCiAgICAgICAgd2VydDogZnVuY3Rpb24oZil7IHJldHVybiBmLmlzdFdF +ID8gJ1dvY2hlbmVuZGUnIDogJ1dlcmt0YWcnOyB9IH0sCiAgICB7IGtleTogJ2ZlaWVydGFnJywg +ICAgbGFiZWw6ICdGZWllcnRhZyAoTmFtZSknLCBvcmRudW5nOiAnbmF0dXInLAogICAgICAgIHdl +cnQ6IGZ1bmN0aW9uKGYpeyByZXR1cm4gZi5mZWllcnRhZ05hbWUgfHwgJ2tlaW4gRmVpZXJ0YWcn +OyB9IH0sCiAgICB7IGtleTogJ2ZlaWVydGFnVHlwJywgbGFiZWw6ICdGZWllcnRhZyAoQnVuZC9O +UlcpJywgb3JkbnVuZzogJ2ZpeCcsCiAgICAgICAgZml4UmVpaGU6IFsnQnVuZGVzd2VpdCcsICdO +Ulctc3BlemlmaXNjaCcsICdTb25zdGlnZXIgRmVpZXJ0YWcnLCAna2VpbiBGZWllcnRhZyddLAog +ICAgICAgIHdlcnQ6IGZ1bmN0aW9uKGYpeyByZXR1cm4gX2ZlaWVydGFnVHlwTGFiZWwoZi5mZWll +cnRhZ1R5cCk7IH0gfQpdOwoKLy8gQW56ZWlnZS1MYWJlbCBmdWVyIGRlbiBGZWllcnRhZ3MtVHlw +IGVpbmVyIEZha3RlbnplaWxlLgpleHBvcnQgZnVuY3Rpb24gX2ZlaWVydGFnVHlwTGFiZWwodHlw +KSB7CiAgICBpZiAodHlwID09PSAnYnVuZGVzd2VpdCcpIHJldHVybiAnQnVuZGVzd2VpdCc7CiAg +ICBpZiAodHlwID09PSAnbnJ3JykgICAgICAgIHJldHVybiAnTlJXLXNwZXppZmlzY2gnOwogICAg +aWYgKHR5cCA9PT0gJ3NvbnN0aWdlJykgICByZXR1cm4gJ1NvbnN0aWdlciBGZWllcnRhZyc7CiAg +ICByZXR1cm4gJ2tlaW4gRmVpZXJ0YWcnOwp9CgpleHBvcnQgZnVuY3Rpb24gZGltRmluZGVuKGtl +eSkgewogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBESU1FTlNJT05FTi5sZW5ndGg7IGkrKykgaWYg +KERJTUVOU0lPTkVOW2ldLmtleSA9PT0ga2V5KSByZXR1cm4gRElNRU5TSU9ORU5baV07CiAgICBy +ZXR1cm4gbnVsbDsKfQoKLy8gPT09PT0gS2VubnphaGxlbiAoWmVsbC1BZ2dyZWdhdGlvbiB1ZWJl +ciBGYWt0ZW4pID09PT09CgpleHBvcnQgdmFyIEtFTk5aQUhMRU4gPSBbCiAgICB7IGtleTogJ2Fu +emFobCcsICAgIGxhYmVsOiAnQW56YWhsIEVpbnRyw6RnZScsICBlaW5oZWl0OiAnRWludHLDpGdl +JyB9LAogICAgeyBrZXk6ICdwZXJzb25lbicsICBsYWJlbDogJ1ZlcnNjaC4gUGVyc29uZW4nLCBl +aW5oZWl0OiAnUGVyc29uZW4nIH0sCiAgICB7IGtleTogJ3RhZ2UnLCAgICAgIGxhYmVsOiAnVmVy +c2NoLiBUYWdlJywgICAgIGVpbmhlaXQ6ICdUYWdlJyB9LAogICAgeyBrZXk6ICdwcm9QZXJzb24n +LCBsYWJlbDogJ8OYIHBybyBQZXJzb24nLCAgICAgZWluaGVpdDogJ8OYL1BlcnNvbicgfSwKICAg +IHsga2V5OiAnYW50ZWlsJywgICAgbGFiZWw6ICdBbnRlaWwgKCUpJywgICAgICAgZWluaGVpdDog +JyUnIH0KXTsKCmV4cG9ydCBmdW5jdGlvbiBrZW5uemFobEZpbmRlbihrZXkpIHsKICAgIGZvciAo +dmFyIGkgPSAwOyBpIDwgS0VOTlpBSExFTi5sZW5ndGg7IGkrKykgaWYgKEtFTk5aQUhMRU5baV0u +a2V5ID09PSBrZXkpIHJldHVybiBLRU5OWkFITEVOW2ldOwogICAgcmV0dXJuIG51bGw7Cn0KCmZ1 +bmN0aW9uIF9kaXN0aW5jdChhcnIpIHsKICAgIHZhciBzZWVuID0ge30sIG4gPSAwOwogICAgZm9y +ICh2YXIgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHsgaWYgKCFzZWVuW2FycltpXV0pIHsg +c2VlblthcnJbaV1dID0gMTsgbisrOyB9IH0KICAgIHJldHVybiBuOwp9CmZ1bmN0aW9uIF9hZ2co +ZmFrdGVuLCBrZW5uemFobCkgewogICAgaWYgKCFmYWt0ZW4gfHwgIWZha3Rlbi5sZW5ndGgpIHJl +dHVybiAwOwogICAgaWYgKGtlbm56YWhsID09PSAncGVyc29uZW4nKSByZXR1cm4gX2Rpc3RpbmN0 +KGZha3Rlbi5tYXAoZnVuY3Rpb24oZil7IHJldHVybiBmLnBlcnNvbklkOyB9KSk7CiAgICBpZiAo +a2VubnphaGwgPT09ICd0YWdlJykgICAgIHJldHVybiBfZGlzdGluY3QoZmFrdGVuLm1hcChmdW5j +dGlvbihmKXsgcmV0dXJuIGYuZGF0dW07IH0pKTsKICAgIGlmIChrZW5uemFobCA9PT0gJ3Byb1Bl +cnNvbicpIHsKICAgICAgICB2YXIgcCA9IF9kaXN0aW5jdChmYWt0ZW4ubWFwKGZ1bmN0aW9uKGYp +eyByZXR1cm4gZi5wZXJzb25JZDsgfSkpOwogICAgICAgIHJldHVybiBwID8gTWF0aC5yb3VuZChm +YWt0ZW4ubGVuZ3RoIC8gcCAqIDEwKSAvIDEwIDogMDsKICAgIH0KICAgIHJldHVybiBmYWt0ZW4u +bGVuZ3RoOyAvLyAnYW56YWhsJyAodW5kIEJhc2lzIGZ1ZXIgJ2FudGVpbCcpCn0KCi8vID09PT09 +IEZpbHRlciA9PT09PQoKZnVuY3Rpb24gX2ZpbHRlclBhc3N0KGYsIHNwZWMpIHsKICAgIHZhciBm +aSA9IHNwZWMuZmlsdGVyIHx8IHt9OwogICAgaWYgKGZpLnBlcnNvbmVuICYmIGZpLnBlcnNvbmVu +Lmxlbmd0aCAmJiBmaS5wZXJzb25lbi5pbmRleE9mKGYucGVyc29uSWQpIDwgMCkgcmV0dXJuIGZh +bHNlOwogICAgaWYgKGZpLmdydXBwZW4gJiYgZmkuZ3J1cHBlbi5sZW5ndGggJiYgZmkuZ3J1cHBl +bi5pbmRleE9mKGYuZ3J1cHBlKSA8IDApIHJldHVybiBmYWxzZTsKICAgIGlmIChmaS5mdW5rdGlv +bmVuICYmIGZpLmZ1bmt0aW9uZW4ubGVuZ3RoICYmIGZpLmZ1bmt0aW9uZW4uaW5kZXhPZihmLmZ1 +bmt0aW9uKSA8IDApIHJldHVybiBmYWxzZTsKICAgIGlmIChmaS5zdGFuZG9ydGUgJiYgZmkuc3Rh +bmRvcnRlLmxlbmd0aCAmJiBmaS5zdGFuZG9ydGUuaW5kZXhPZihmLnN0YW5kb3J0KSA8IDApIHJl +dHVybiBmYWxzZTsKICAgIGlmIChmaS5kaWVuc3RncmFkZSAmJiBmaS5kaWVuc3RncmFkZS5sZW5n +dGggJiYgZmkuZGllbnN0Z3JhZGUuaW5kZXhPZihmLmRpZW5zdGdyYWQpIDwgMCkgcmV0dXJuIGZh +bHNlOwogICAgaWYgKGZpLmNvZGVzICYmIGZpLmNvZGVzLmxlbmd0aCAmJiBmaS5jb2Rlcy5pbmRl +eE9mKGYuY29kZSkgPCAwKSByZXR1cm4gZmFsc2U7CiAgICBpZiAoZmkua2F0ZWdvcmllbiAmJiBm +aS5rYXRlZ29yaWVuLmxlbmd0aCAmJiBmaS5rYXRlZ29yaWVuLmluZGV4T2YoZi5rYXRlZ29yaWUp +IDwgMCkgcmV0dXJuIGZhbHNlOwogICAgaWYgKGZpLm51cldFICYmICFmLmlzdFdFKSByZXR1cm4g +ZmFsc2U7CiAgICBpZiAoZmkubnVyRmVpZXJ0YWcgJiYgIWYuaXN0RmVpZXJ0YWcpIHJldHVybiBm +YWxzZTsKICAgIGlmIChmaS5udXJGZWllcnRhZ0J1bmQgJiYgZi5mZWllcnRhZ1R5cCAhPT0gJ2J1 +bmRlc3dlaXQnKSByZXR1cm4gZmFsc2U7CiAgICBpZiAoZmkubnVyRmVpZXJ0YWdOUlcgJiYgZi5m +ZWllcnRhZ1R5cCAhPT0gJ25ydycpIHJldHVybiBmYWxzZTsKICAgIGlmIChmaS5udXJEaWVuc3Qg +JiYgIWYuaXN0RGllbnN0KSByZXR1cm4gZmFsc2U7CiAgICBpZiAoZmkud29jaGVudGFnZSAmJiBm +aS53b2NoZW50YWdlLmxlbmd0aCAmJiBmaS53b2NoZW50YWdlLmluZGV4T2YoZi53b2NoZW50YWcp +IDwgMCkgcmV0dXJuIGZhbHNlOwogICAgaWYgKHNwZWMuemVpdFZvbiAmJiBmLmRhdHVtIDwgc3Bl +Yy56ZWl0Vm9uKSByZXR1cm4gZmFsc2U7CiAgICBpZiAoc3BlYy56ZWl0QmlzICYmIGYuZGF0dW0g +PiBzcGVjLnplaXRCaXMpIHJldHVybiBmYWxzZTsKICAgIHJldHVybiB0cnVlOwp9CgovLyA9PT09 +PSBBdXN3ZXJ0dW5nID09PT09Ci8vCi8vIExpZWZlcnQgZWluIGRpYWdyYW1tLW5ldXRyYWxlcyBF +cmdlYm5pczoKLy8gICB7IGthdGVnb3JpZW46W3trZXksbGFiZWx9XSwgc2VyaWVuOlt7bmFtZSwg +d2VydGU6Wy4uLl19XSwgZWluaGVpdCwgZ2VzYW10LAovLyAgICAgcHVua3RlOlt7bGFiZWwseCx5 +fV0gKFNjYXR0ZXIpLCBpc3RMZWVyIH0KCmV4cG9ydCBmdW5jdGlvbiBhdXN3ZXJ0ZW4oc3BlYykg +ewogICAgc3BlYyA9IHNwZWMgfHwge307CiAgICB2YXIgZmFrdGVuID0gZmFrdGVuQmF1ZW4oKS5m +aWx0ZXIoZnVuY3Rpb24oZil7IHJldHVybiBfZmlsdGVyUGFzc3QoZiwgc3BlYyk7IH0pOwogICAg +aWYgKCFmYWt0ZW4ubGVuZ3RoKSByZXR1cm4geyBpc3RMZWVyOiB0cnVlLCBrYXRlZ29yaWVuOiBb +XSwgc2VyaWVuOiBbXSwgcHVua3RlOiBbXSB9OwoKICAgIGlmIChzcGVjLmRpYWdyYW1tID09PSAn +c2NhdHRlcicpIHJldHVybiBfYXVzd2VydGVuU2NhdHRlcihzcGVjLCBmYWt0ZW4pOwoKICAgIHZh +ciBkaW1YID0gZGltRmluZGVuKHNwZWMuZGltWCkgfHwgZGltRmluZGVuKCdncnVwcGUnKTsKICAg +IHZhciBkaW1TID0gc3BlYy5kaW1TZXJpZSA/IGRpbUZpbmRlbihzcGVjLmRpbVNlcmllKSA6IG51 +bGw7CiAgICB2YXIga2VubnphaGwgPSBzcGVjLmtlbm56YWhsIHx8ICdhbnphaGwnOwoKICAgIC8v +IFplbGxlbjogY2F0S2V5IC0+IHNlcmllS2V5IC0+IGZha3RlbltdCiAgICB2YXIgemVsbGVuID0g +e30sIGNhdE1ldGEgPSB7fSwgc2VyaWVNZXRhID0ge307CiAgICBmYWt0ZW4uZm9yRWFjaChmdW5j +dGlvbihmKSB7CiAgICAgICAgdmFyIGNrID0gZGltWC53ZXJ0KGYpOwogICAgICAgIHZhciBzayA9 +IGRpbVMgPyBkaW1TLndlcnQoZikgOiAnX19hbGwnOwogICAgICAgIGlmICghY2F0TWV0YVtja10p +IGNhdE1ldGFbY2tdID0geyBrZXk6IGNrLCBsYWJlbDogX2RpbUxhYmVsKGRpbVgsIGNrLCBmKSwg +YmVpc3BpZWw6IGYgfTsKICAgICAgICBpZiAoIXNlcmllTWV0YVtza10pIHNlcmllTWV0YVtza10g +PSB7IGtleTogc2ssIGxhYmVsOiBkaW1TID8gX2RpbUxhYmVsKGRpbVMsIHNrLCBmKSA6ICcnIH07 +CiAgICAgICAgKHplbGxlbltja10gfHwgKHplbGxlbltja10gPSB7fSkpOwogICAgICAgICh6ZWxs +ZW5bY2tdW3NrXSB8fCAoemVsbGVuW2NrXVtza10gPSBbXSkpLnB1c2goZik7CiAgICB9KTsKCiAg +ICB2YXIga2F0S2V5cyA9IF9zb3J0S2F0ZWdvcmllbihPYmplY3Qua2V5cyhjYXRNZXRhKSwgY2F0 +TWV0YSwgZGltWCk7CiAgICB2YXIgc2VyaWVLZXlzID0gX3NvcnRLYXRlZ29yaWVuKE9iamVjdC5r +ZXlzKHNlcmllTWV0YSksIHNlcmllTWV0YSwgZGltUyB8fCBkaW1YKTsKCiAgICAvLyBSb2gtQWdn +cmVnYXRlCiAgICB2YXIgZ2VzYW10ID0gMDsKICAgIHZhciBzZXJpZW4gPSBzZXJpZUtleXMubWFw +KGZ1bmN0aW9uKHNrKSB7CiAgICAgICAgdmFyIHdlcnRlID0ga2F0S2V5cy5tYXAoZnVuY3Rpb24o +Y2spIHsKICAgICAgICAgICAgdmFyIHYgPSBfYWdnKCh6ZWxsZW5bY2tdICYmIHplbGxlbltja11b +c2tdKSB8fCBbXSwga2VubnphaGwgPT09ICdhbnRlaWwnID8gJ2FuemFobCcgOiBrZW5uemFobCk7 +CiAgICAgICAgICAgIGdlc2FtdCArPSAoa2VubnphaGwgPT09ICdhbnRlaWwnKSA/IHYgOiAwOwog +ICAgICAgICAgICByZXR1cm4gdjsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4geyBuYW1lOiBz +ZXJpZU1ldGFbc2tdLmxhYmVsLCB3ZXJ0ZTogd2VydGUgfTsKICAgIH0pOwoKICAgIC8vIEFudGVp +bCAoJSk6IGplZGUgWmVsbGUgcmVsYXRpdiB6dXIgR2VzYW10c3VtbWUgYWxsZXIgWmVsbGVuLgog +ICAgaWYgKGtlbm56YWhsID09PSAnYW50ZWlsJyAmJiBnZXNhbXQgPiAwKSB7CiAgICAgICAgc2Vy +aWVuLmZvckVhY2goZnVuY3Rpb24ocykgewogICAgICAgICAgICBzLndlcnRlID0gcy53ZXJ0ZS5t +YXAoZnVuY3Rpb24odil7IHJldHVybiBNYXRoLnJvdW5kKHYgLyBnZXNhbXQgKiAxMDAwKSAvIDEw +OyB9KTsKICAgICAgICB9KTsKICAgIH0KCiAgICAvLyBTb3J0aWVydW5nIGRlciBLYXRlZ29yaWVu +IG5hY2ggV2VydCAoUmFua2luZykgKyBUb3BOLgogICAgdmFyIGVyZ2VibmlzID0gX3NvcnRVbmRU +b3Aoc3BlYywga2F0S2V5cywgY2F0TWV0YSwgc2VyaWVuKTsKCiAgICByZXR1cm4gewogICAgICAg +IGlzdExlZXI6IGZhbHNlLAogICAgICAgIGthdGVnb3JpZW46IGVyZ2VibmlzLmthdGVnb3JpZW4s +CiAgICAgICAgc2VyaWVuOiBlcmdlYm5pcy5zZXJpZW4sCiAgICAgICAgbWVocnNlcmlnOiAhIWRp +bVMsCiAgICAgICAgZWluaGVpdDogKGtlbm56YWhsRmluZGVuKGtlbm56YWhsKSB8fCB7fSkuZWlu +aGVpdCB8fCAnJywKICAgICAgICBkaW1YTGFiZWw6IGRpbVgubGFiZWwsCiAgICAgICAgZGltU2Vy +aWVMYWJlbDogZGltUyA/IGRpbVMubGFiZWwgOiAnJywKICAgICAgICBrZW5uemFobExhYmVsOiAo +a2VubnphaGxGaW5kZW4oa2VubnphaGwpIHx8IHt9KS5sYWJlbCB8fCAnJwogICAgfTsKfQoKZnVu +Y3Rpb24gX2RpbUxhYmVsKGRpbSwga2V5LCBmYWt0KSB7CiAgICBpZiAoZGltLmxhYmVsMikgcmV0 +dXJuIGRpbS5sYWJlbDIoa2V5LCBmYWt0KTsKICAgIHJldHVybiBrZXk7Cn0KCmZ1bmN0aW9uIF9z +b3J0S2F0ZWdvcmllbihrZXlzLCBtZXRhLCBkaW0pIHsKICAgIGlmIChkaW0gJiYgZGltLm9yZG51 +bmcgPT09ICdmaXgnICYmIGRpbS5maXhSZWloZSkgewogICAgICAgIHZhciByZWloZSA9IGRpbS5m +aXhSZWloZTsKICAgICAgICByZXR1cm4ga2V5cy5zbGljZSgpLnNvcnQoZnVuY3Rpb24oYSwgYikg +ewogICAgICAgICAgICB2YXIgaWEgPSByZWloZS5pbmRleE9mKGEpLCBpYiA9IHJlaWhlLmluZGV4 +T2YoYik7CiAgICAgICAgICAgIGlmIChpYSA8IDApIGlhID0gOTk5OyBpZiAoaWIgPCAwKSBpYiA9 +IDk5OTsKICAgICAgICAgICAgcmV0dXJuIGlhIC0gaWIgfHwgYS5sb2NhbGVDb21wYXJlKGIsICdk +ZScpOwogICAgICAgIH0pOwogICAgfQogICAgaWYgKGRpbSAmJiBkaW0ub3JkbnVuZyA9PT0gJ3pl +aXQnKSB7CiAgICAgICAgcmV0dXJuIGtleXMuc2xpY2UoKS5zb3J0KGZ1bmN0aW9uKGEsIGIpeyBy +ZXR1cm4gYSA8IGIgPyAtMSA6IChhID4gYiA/IDEgOiAwKTsgfSk7CiAgICB9CiAgICByZXR1cm4g +a2V5cy5zbGljZSgpLnNvcnQoZnVuY3Rpb24oYSwgYil7IHJldHVybiBhLmxvY2FsZUNvbXBhcmUo +YiwgJ2RlJyk7IH0pOwp9CgpmdW5jdGlvbiBfc29ydFVuZFRvcChzcGVjLCBrYXRLZXlzLCBjYXRN +ZXRhLCBzZXJpZW4pIHsKICAgIHZhciBzb3J0ID0gc3BlYy5zb3J0IHx8ICdsYWJlbCc7CiAgICB2 +YXIgaWR4UmVpaGUgPSBrYXRLZXlzLm1hcChmdW5jdGlvbihfLCBpKXsgcmV0dXJuIGk7IH0pOwoK +ICAgIGlmIChzb3J0ID09PSAnd2VydC1kZXNjJyB8fCBzb3J0ID09PSAnd2VydC1hc2MnKSB7CiAg +ICAgICAgdmFyIHN1bW1lbiA9IGthdEtleXMubWFwKGZ1bmN0aW9uKF8sIGkpIHsKICAgICAgICAg +ICAgdmFyIHMgPSAwOyBzZXJpZW4uZm9yRWFjaChmdW5jdGlvbihzZSl7IHMgKz0gc2Uud2VydGVb +aV0gfHwgMDsgfSk7IHJldHVybiBzOwogICAgICAgIH0pOwogICAgICAgIGlkeFJlaWhlLnNvcnQo +ZnVuY3Rpb24oYSwgYikgewogICAgICAgICAgICByZXR1cm4gc29ydCA9PT0gJ3dlcnQtZGVzYycg +PyBzdW1tZW5bYl0gLSBzdW1tZW5bYV0gOiBzdW1tZW5bYV0gLSBzdW1tZW5bYl07CiAgICAgICAg +fSk7CiAgICB9CiAgICAvLyAoc29uc3Q6IFJlaWhlbmZvbGdlIGF1cyBfc29ydEthdGVnb3JpZW4g +YmVpYmVoYWx0ZW4pCgogICAgdmFyIHRvcE4gPSBzcGVjLnRvcE4gfHwgMDsKICAgIGlmICh0b3BO +ID4gMCAmJiBpZHhSZWloZS5sZW5ndGggPiB0b3BOKSBpZHhSZWloZSA9IGlkeFJlaWhlLnNsaWNl +KDAsIHRvcE4pOwoKICAgIHZhciBrYXRlZ29yaWVuID0gaWR4UmVpaGUubWFwKGZ1bmN0aW9uKGkp +eyByZXR1cm4geyBrZXk6IGthdEtleXNbaV0sIGxhYmVsOiBjYXRNZXRhW2thdEtleXNbaV1dLmxh +YmVsIH07IH0pOwogICAgdmFyIG5ldWVTZXJpZW4gPSBzZXJpZW4ubWFwKGZ1bmN0aW9uKHNlKSB7 +CiAgICAgICAgcmV0dXJuIHsgbmFtZTogc2UubmFtZSwgd2VydGU6IGlkeFJlaWhlLm1hcChmdW5j +dGlvbihpKXsgcmV0dXJuIHNlLndlcnRlW2ldOyB9KSB9OwogICAgfSk7CiAgICByZXR1cm4geyBr +YXRlZ29yaWVuOiBrYXRlZ29yaWVuLCBzZXJpZW46IG5ldWVTZXJpZW4gfTsKfQoKLy8gLS0tLS0g +U2NhdHRlcjogendlaSBQZXJzb25lbi1LZW5uemFobGVuIGdlZ2VuZWluYW5kZXIgLS0tLS0KLy8g +c2NhdHRlclgvc2NhdHRlclkgcmVmZXJlbnppZXJlbiBQRVJTT05fTUFTU0UgKFphZWhsdW5nZW4g +cHJvIFBlcnNvbiB1ZWJlciBkaWUKLy8gZ2VmaWx0ZXJ0ZW4gRmFrdGVuIOKAlCB6LkIuIE5hY2h0 +ZGllbnN0ZSB2cy4gVXJsYXVic3RhZ2UgamUgUGVyc29uKS4KCmV4cG9ydCB2YXIgUEVSU09OX01B +U1NFID0gWwogICAgeyBrZXk6ICdkaWVuc3RlJywgICAgIGxhYmVsOiAnRGllbnN0ZSBnZXNhbXQn +LCB0ZXN0OiBmdW5jdGlvbihmKXsgcmV0dXJuIGYuaXN0RGllbnN0OyB9IH0sCiAgICB7IGtleTog +J2ZydWVoJywgICAgICAgbGFiZWw6ICdGcsO8aGRpZW5zdGUnLCAgICB0ZXN0OiBmdW5jdGlvbihm +KXsgcmV0dXJuIGYuc2NoaWNodCA9PT0gJ0YnOyB9IH0sCiAgICB7IGtleTogJ3NwYWV0JywgICAg +ICAgbGFiZWw6ICdTcMOkdGRpZW5zdGUnLCAgICB0ZXN0OiBmdW5jdGlvbihmKXsgcmV0dXJuIGYu +c2NoaWNodCA9PT0gJ1MnOyB9IH0sCiAgICB7IGtleTogJ25hY2h0JywgICAgICAgbGFiZWw6ICdO +YWNodGRpZW5zdGUnLCAgIHRlc3Q6IGZ1bmN0aW9uKGYpeyByZXR1cm4gZi5zY2hpY2h0ID09PSAn +Tic7IH0gfSwKICAgIHsga2V5OiAnd2UnLCAgICAgICAgICBsYWJlbDogJ1dFLURpZW5zdGUnLCAg +ICAgdGVzdDogZnVuY3Rpb24oZil7IHJldHVybiBmLmlzdERpZW5zdCAmJiBmLmlzdFdFOyB9IH0s +CiAgICB7IGtleTogJ2ZlaWVydGFnJywgICAgbGFiZWw6ICdGZWllcnRhZ3NkaWVuc3RlJywgdGVz +dDogZnVuY3Rpb24oZil7IHJldHVybiBmLmlzdERpZW5zdCAmJiBmLmlzdEZlaWVydGFnOyB9IH0s +CiAgICB7IGtleTogJ2ZlaWVydGFnTlJXJywgbGFiZWw6ICdOUlctRmVpZXJ0YWdzZGllbnN0ZScs +IHRlc3Q6IGZ1bmN0aW9uKGYpeyByZXR1cm4gZi5pc3REaWVuc3QgJiYgZi5mZWllcnRhZ1R5cCA9 +PT0gJ25ydyc7IH0gfSwKICAgIHsga2V5OiAnZGdsJywgICAgICAgICBsYWJlbDogJ0RHTC1FaW5z +w6R0emUnLCAgIHRlc3Q6IGZ1bmN0aW9uKGYpeyByZXR1cm4gZi5yb2xsZSA9PT0gJ0RHTCc7IH0g +fSwKICAgIHsga2V5OiAndXJsYXViJywgICAgICBsYWJlbDogJ1VybGF1YnN0YWdlJywgICAgdGVz +dDogZnVuY3Rpb24oZil7IHJldHVybiBmLmNvZGUgPT09ICdVcmwnOyB9IH0sCiAgICB7IGtleTog +J2ZvcnRiaWxkdW5nJywgbGFiZWw6ICdGb3J0YmlsZHVuZycsICAgIHRlc3Q6IGZ1bmN0aW9uKGYp +eyByZXR1cm4gZi5rYXRlZ29yaWUgPT09ICdBdXMtL0ZvcnRiaWxkdW5nJzsgfSB9LAogICAgeyBr +ZXk6ICdmcmVpJywgICAgICAgIGxhYmVsOiAnRnJlaS1UYWdlJywgICAgICB0ZXN0OiBmdW5jdGlv +bihmKXsgcmV0dXJuIGYua2F0ZWdvcmllID09PSAnRnJlaSc7IH0gfQpdOwpleHBvcnQgZnVuY3Rp +b24gcGVyc29uTWFzc0ZpbmRlbihrZXkpIHsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgUEVSU09O +X01BU1NFLmxlbmd0aDsgaSsrKSBpZiAoUEVSU09OX01BU1NFW2ldLmtleSA9PT0ga2V5KSByZXR1 +cm4gUEVSU09OX01BU1NFW2ldOwogICAgcmV0dXJuIG51bGw7Cn0KCmZ1bmN0aW9uIF9hdXN3ZXJ0 +ZW5TY2F0dGVyKHNwZWMsIGZha3RlbikgewogICAgdmFyIG14ID0gcGVyc29uTWFzc0ZpbmRlbihz +cGVjLnNjYXR0ZXJYKSB8fCBQRVJTT05fTUFTU0VbM107IC8vIG5hY2h0CiAgICB2YXIgbXkgPSBw +ZXJzb25NYXNzRmluZGVuKHNwZWMuc2NhdHRlclkpIHx8IFBFUlNPTl9NQVNTRVs2XTsgLy8gdXJs +YXViCiAgICB2YXIgcHJvUGVyc29uID0ge307CiAgICBmYWt0ZW4uZm9yRWFjaChmdW5jdGlvbihm +KSB7CiAgICAgICAgdmFyIGUgPSBwcm9QZXJzb25bZi5wZXJzb25JZF0gfHwgKHByb1BlcnNvbltm +LnBlcnNvbklkXSA9IHsgbGFiZWw6IGYucGVyc29uTGFiZWwsIHg6IDAsIHk6IDAgfSk7CiAgICAg +ICAgaWYgKG14LnRlc3QoZikpIGUueCsrOwogICAgICAgIGlmIChteS50ZXN0KGYpKSBlLnkrKzsK +ICAgIH0pOwogICAgdmFyIHB1bmt0ZSA9IE9iamVjdC5rZXlzKHByb1BlcnNvbikubWFwKGZ1bmN0 +aW9uKHBpZCl7IHJldHVybiBwcm9QZXJzb25bcGlkXTsgfSk7CiAgICByZXR1cm4gewogICAgICAg +IGlzdExlZXI6IHB1bmt0ZS5sZW5ndGggPT09IDAsCiAgICAgICAgcHVua3RlOiBwdW5rdGUsCiAg +ICAgICAga2F0ZWdvcmllbjogW10sIHNlcmllbjogW10sCiAgICAgICAgYWNoc2VYOiBteC5sYWJl +bCwgYWNoc2VZOiBteS5sYWJlbAogICAgfTsKfQo= +### FILE: js/sync.js | 19474 +Ly8gPT09IHN5bmMuanMgPT09Ci8vIExpdmUtU3luYy1DbGllbnQgKyBaZWxsLUxvY2stTWFuYWdl +bWVudCBpbiBlaW5lbSBNb2R1bC4KLy8KLy8gTGl2ZS1TeW5jOiBXZWItV29ya2VyLWJhc2llcnRl +cyBQb2xsaW5nLCBDcm9zcy1Ccm93c2VyLUF1ZmxldWNodGVuIHZvbgovLyByZW1vdGUtZ2VhZW5k +ZXJ0ZW4gWmVsbGVuLCBTeW5jLVRvYXN0LURlYm91bmNlLgovLyBaZWxsLUxvY2s6IHBlc3NpbWlz +dGljIENlbGwtTG9jay1DbGllbnQgKEFjcXVpcmUvRm9yY2UvUmVsZWFzZS9IZWFydGJlYXQpLAov +LyBEaWZmLUFud2VuZHVuZyBmcmVtZGVyIExvY2tzIGF1ZnMgR3JpZCwgVG9vbHRpcC1UZXh0ZSBm +dWVyIGxvY2tlZCBaZWxsZW4uCi8vCi8vIENyb3NzLU1vZHVsLUhvb2tzOiBlZGl0b3JTY2hsaWVz +c2VuICsgemVsbGVWaXN1ZWxsQWt0dWFsaXNpZXJlbiB3ZXJkZW4KLy8genVyIExhdWZ6ZWl0IGlu +aml6aWVydCAoWnlrbGVuIHZlcm1laWRlbiwgd2VpbCBncmlkX2VkaXRvci5qcyBhdWNoCi8vIGhp +ZXJoaW4gaW1wb3J0aWVydCkuCgppbXBvcnQgeyBaIH0gZnJvbSAnLi9jb3JlX3N0YXRlLmpzJzsK +aW1wb3J0IHsgZGF0dW1Gb3JtYXRERSwgYW56ZWlnZU5hbWVGdWVyS2VubnVuZyB9IGZyb20gJy4v +Y29yZV91dGlsLmpzJzsKaW1wb3J0IHsgYXBpU2FmZSB9IGZyb20gJy4vY29yZV9hcGkuanMnOwpp +bXBvcnQgeyB0b2FzdCwgYmVzdGFldGlnZW4gfSBmcm9tICcuL3VpX2RpYWxvZy5qcyc7CgpleHBv +cnQgdmFyIHN5bmNIb29rcyA9IHsKICAgIGVkaXRvclNjaGxpZXNzZW46IG51bGwsICAgICAgICAg +ICAvLyAob2huZVJlbGVhc2U6IGJvb2wpIC0+IHZvaWQKICAgIHplbGxlVmlzdWVsbEFrdHVhbGlz +aWVyZW46IG51bGwsICAvLyBncmlkL3JlbmRlci5qcwogICAgaGlud2Vpc2VBa3R1YWxpc2llcnQ6 +IG51bGwgICAgICAgIC8vIChoaW53ZWlzZTogYXJyYXkpIC0+IHZvaWQgKGhpbndlaXNlLmpzIHZp +YSBhcHAuanMpCn07CgovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vIExJVkUtU1lOQwovLyA9PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09CgovLyA9PT09PSBTeW5jLVRvYXN0LURlYm91bmNlID09PT09Ci8vIE1l +aHJlcmUgTGl2ZS1FdmVudHMgaW4ga3VyemVyIEZvbGdlIHp1c2FtbWVuZmFzc2VuLCBzdGF0dCBm +dWVyIGplZGUKLy8gQWVuZGVydW5nIGVpbmVuIHNlcGFyYXRlbiBUb2FzdC4KCnZhciBTWU5DX1RP +QVNUX1BVRkZFUiA9IFtdOwp2YXIgU1lOQ19UT0FTVF9USU1FUiA9IG51bGw7CgpleHBvcnQgZnVu +Y3Rpb24gc3luY1RvYXN0RGVib3VuY2VkKHRleHQpIHsKICAgIFNZTkNfVE9BU1RfUFVGRkVSLnB1 +c2godGV4dCk7CiAgICBpZiAoU1lOQ19UT0FTVF9USU1FUikgcmV0dXJuOwogICAgU1lOQ19UT0FT +VF9USU1FUiA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgU1lOQ19UT0FTVF9USU1F +UiA9IG51bGw7CiAgICAgICAgdmFyIGFuemFobCA9IFNZTkNfVE9BU1RfUFVGRkVSLmxlbmd0aDsK +ICAgICAgICBpZiAoYW56YWhsID09PSAxKSB0b2FzdChTWU5DX1RPQVNUX1BVRkZFUlswXSwgJ2lu +Zm8nKTsKICAgICAgICBlbHNlIGlmIChhbnphaGwgPiAxKSB0b2FzdChhbnphaGwgKyAnIExpdmUt +w4RuZGVydW5nZW4uIExldHp0ZSDDhG5kZXJ1bmc6ICcgKyBTWU5DX1RPQVNUX1BVRkZFUlthbnph +aGwgLSAxXSwgJ2luZm8nKTsKICAgICAgICBTWU5DX1RPQVNUX1BVRkZFUiA9IFtdOwogICAgfSwg +MzUwKTsKfQoKLy8gPT09PT0gVmlzdWVsbGVzIEF1ZmxldWNodGVuIChDU1MtS2xhc3NlIHplbGxl +LWZsYXNoKSA9PT09PQoKZXhwb3J0IGZ1bmN0aW9uIHN5bmNGbGFzaChlbGVtLCBrbGFzc2UpIHsK +ICAgIGlmICghZWxlbSkgcmV0dXJuOwogICAgdmFyIGsgPSBrbGFzc2UgfHwgJ3plbGxlLWZsYXNo +JzsKICAgIGVsZW0uY2xhc3NMaXN0LnJlbW92ZShrKTsKICAgIHZvaWQgZWxlbS5vZmZzZXRXaWR0 +aDsgIC8vIFJlZmxvdywgZGFtaXQgZGllIEFuaW1hdGlvbiBuZXUgc3RhcnRldAogICAgZWxlbS5j +bGFzc0xpc3QuYWRkKGspOwogICAgLy8gRGF1ZXIgYXVzIGRlbSBFcnNjaGVpbnVuZ3NiaWxkLUVk +aXRvciBsZXNlbiAoLS1tc2YtZGF1ZXIgaW4gbXMsCiAgICAvLyBEZWZhdWx0IDE1MDAgbXMpLiAr +NTAgbXMgU2ljaGVyaGVpdHMtUG9sc3RlciwgZGFtaXQgZGVyIGZpbmFsZQogICAgLy8gS2V5ZnJh +bWUgbm9jaCBncmVpZnQsIGJldm9yIHdpciBkaWUgS2xhc3NlIGVudGZlcm5lbi4KICAgIHZhciBk +YXVlciA9IHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50 +KS5nZXRQcm9wZXJ0eVZhbHVlKCctLW1zZi1kYXVlcicpLCAxMCk7CiAgICBpZiAoaXNOYU4oZGF1 +ZXIpIHx8IGRhdWVyIDwgMjAwKSBkYXVlciA9IDE1MDA7CiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u +KCkgeyBlbGVtLmNsYXNzTGlzdC5yZW1vdmUoayk7IH0sIGRhdWVyICsgNTApOwp9CgpleHBvcnQg +ZnVuY3Rpb24gc3luY0ZsYXNoWmVsbGUoZFN0ciwgcGlkKSB7CiAgICB2YXIgeiA9IGRvY3VtZW50 +LnF1ZXJ5U2VsZWN0b3IoJy5ncmlkLXplbGxlW2RhdGEtZGF0dW09IicgKyBkU3RyICsgJyJdW2Rh +dGEtcGVyc29uPSInICsgcGlkICsgJyJdJyk7CiAgICBzeW5jRmxhc2goeiwgJ3plbGxlLWZsYXNo +Jyk7Cn0KCi8vID09PT09IENoYW5nZS1Mb2ctQW53ZW5kdW5nID09PT09CgpleHBvcnQgZnVuY3Rp +b24gc3luY0NoYW5nZXNBbndlbmRlbihjaGFuZ2VzKSB7CiAgICBpZiAoIWNoYW5nZXMgfHwgIWNo +YW5nZXMubGVuZ3RoKSByZXR1cm47CiAgICB2YXIgYmVudXR6ZXJMb3dlciA9IChaLmJlbnV0emVy +IHx8ICcnKS50b0xvd2VyQ2FzZSgpOwogICAgdmFyIGJlbnV0emVyS3VyeiA9IGJlbnV0emVyTG93 +ZXIuaW5kZXhPZignXFwnKSA+PSAwID8gYmVudXR6ZXJMb3dlci5zcGxpdCgnXFwnKS5wb3AoKSA6 +IGJlbnV0emVyTG93ZXI7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYW5nZXMubGVuZ3RoOyBp +KyspIHsKICAgICAgICB2YXIgYyA9IGNoYW5nZXNbaV07CiAgICAgICAgdmFyIHZvbiA9IChjLnZv +biB8fCAnJykudG9Mb3dlckNhc2UoKTsKICAgICAgICB2YXIgZWlnZW4gPSAodm9uID09PSBiZW51 +dHplckxvd2VyIHx8IHZvbiA9PT0gYmVudXR6ZXJLdXJ6KTsKICAgICAgICBpZiAoYy5raW5kID09 +PSAnemVsbGUnKSB7CiAgICAgICAgICAgIGlmICghWi5wbGFudW5nLmVpbnRyYWVnZSkgWi5wbGFu +dW5nLmVpbnRyYWVnZSA9IHt9OwogICAgICAgICAgICBpZiAoIVoucGxhbnVuZy5laW50cmFlZ2Vb +Yy5kYXR1bV0pIFoucGxhbnVuZy5laW50cmFlZ2VbYy5kYXR1bV0gPSB7fTsKICAgICAgICAgICAg +aWYgKGMubmV1KSBaLnBsYW51bmcuZWludHJhZWdlW2MuZGF0dW1dW2MucGVyc29uSWRdID0gYy5u +ZXU7CiAgICAgICAgICAgIGVsc2UgZGVsZXRlIFoucGxhbnVuZy5laW50cmFlZ2VbYy5kYXR1bV1b +Yy5wZXJzb25JZF07CiAgICAgICAgICAgIGlmICh0eXBlb2Ygc3luY0hvb2tzLnplbGxlVmlzdWVs +bEFrdHVhbGlzaWVyZW4gPT09ICdmdW5jdGlvbicpIHsKICAgICAgICAgICAgICAgIHN5bmNIb29r +cy56ZWxsZVZpc3VlbGxBa3R1YWxpc2llcmVuKGMuZGF0dW0sIGMucGVyc29uSWQsIGMubmV1IHx8 +ICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoIWVpZ2VuKSB7CiAgICAgICAgICAg +ICAgICBzeW5jRmxhc2haZWxsZShjLmRhdHVtLCBjLnBlcnNvbklkKTsKICAgICAgICAgICAgICAg +IHZhciBsYWJlbCA9IGMubmV1ID8gYy5uZXUgOiAnKGxlZXIpJzsKICAgICAgICAgICAgICAgIHZh +ciByb2xsZUhpbndlaXMgPSAoYy5yb2xsZSAmJiBjLnJvbGxlICE9PSAncmVndWxhZXInKSA/ICgn +IFsnICsgYy5yb2xsZSArICddJykgOiAnJzsKICAgICAgICAgICAgICAgIHN5bmNUb2FzdERlYm91 +bmNlZChhbnplaWdlTmFtZUZ1ZXJLZW5udW5nKGMudm9uKSArIHJvbGxlSGlud2VpcyArICcgc2V0 +enRlICcgKyBsYWJlbCArICcgYW0gJyArIGRhdHVtRm9ybWF0REUoYy5kYXR1bSkpOwogICAgICAg +ICAgICB9CiAgICAgICAgfSBlbHNlIGlmIChjLmtpbmQgPT09ICdrb21tZW50YXInKSB7CiAgICAg +ICAgICAgIGlmICghWi5wbGFudW5nLmtvbW1lbnRhcmUpIFoucGxhbnVuZy5rb21tZW50YXJlID0g +e307CiAgICAgICAgICAgIGlmICghWi5wbGFudW5nLmtvbW1lbnRhcmVbYy5kYXR1bV0pIFoucGxh +bnVuZy5rb21tZW50YXJlW2MuZGF0dW1dID0ge307CiAgICAgICAgICAgIGlmIChjLm5ldSkgewog +ICAgICAgICAgICAgICAgWi5wbGFudW5nLmtvbW1lbnRhcmVbYy5kYXR1bV1bYy5wZXJzb25JZF0g +PSB7CiAgICAgICAgICAgICAgICAgICAgdGV4dDogYy5uZXUsCiAgICAgICAgICAgICAgICAgICAg +Z2VhZW5kZXJ0QW06IGMuemVpdHN0ZW1wZWwgfHwgbmV3IERhdGUoKS50b0lTT1N0cmluZygpLAog +ICAgICAgICAgICAgICAgICAgIGdlYWVuZGVydFZvbjogYy52b24gfHwgJycKICAgICAgICAgICAg +ICAgIH07CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkZWxldGUgWi5wbGFu +dW5nLmtvbW1lbnRhcmVbYy5kYXR1bV1bYy5wZXJzb25JZF07CiAgICAgICAgICAgIH0KICAgICAg +ICAgICAgaWYgKHR5cGVvZiBzeW5jSG9va3MuemVsbGVWaXN1ZWxsQWt0dWFsaXNpZXJlbiA9PT0g +J2Z1bmN0aW9uJykgewogICAgICAgICAgICAgICAgc3luY0hvb2tzLnplbGxlVmlzdWVsbEFrdHVh +bGlzaWVyZW4oYy5kYXR1bSwgYy5wZXJzb25JZCwgKChaLnBsYW51bmcuZWludHJhZWdlIHx8IHt9 +KVtjLmRhdHVtXSB8fCB7fSlbYy5wZXJzb25JZF0gfHwgJycpOwogICAgICAgICAgICB9CiAgICAg +ICAgICAgIGlmICghZWlnZW4pIHsKICAgICAgICAgICAgICAgIHN5bmNGbGFzaFplbGxlKGMuZGF0 +dW0sIGMucGVyc29uSWQpOwogICAgICAgICAgICAgICAgc3luY1RvYXN0RGVib3VuY2VkKGFuemVp +Z2VOYW1lRnVlcktlbm51bmcoYy52b24pICsgJyDDpG5kZXJ0ZSBLb21tZW50YXIgYW0gJyArIGRh +dHVtRm9ybWF0REUoYy5kYXR1bSkpOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIGlmIChj +LmtpbmQgPT09ICdsb2NrX2ZvcmNlJykgewogICAgICAgICAgICBpZiAoIWVpZ2VuICYmIFouemVs +bExvY2sgJiYgWi56ZWxsTG9jay5kYXR1bSA9PT0gYy5kYXR1bSAmJiBTdHJpbmcoWi56ZWxsTG9j +ay5wZXJzb25JZCkgPT09IFN0cmluZyhjLnBlcnNvbklkKSkgewogICAgICAgICAgICAgICAgdG9h +c3QoJ0RlaW5lIEJlYXJiZWl0dW5ncy1TcGVycmUgd3VyZGUgdm9uICcgKyBhbnplaWdlTmFtZUZ1 +ZXJLZW5udW5nKGMudm9uKSArICcgw7xiZXJub21tZW4uJywgJ3dhcm51bmcnKTsKICAgICAgICAg +ICAgICAgIFouemVsbExvY2sudG9rZW4gPSBudWxsOwogICAgICAgICAgICAgICAgaWYgKHR5cGVv +ZiBzeW5jSG9va3MuZWRpdG9yU2NobGllc3NlbiA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgICAg +ICAgICAgICAgIHN5bmNIb29rcy5lZGl0b3JTY2hsaWVzc2VuKHRydWUpOwogICAgICAgICAgICAg +ICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgovLyA9PT09PSBTeW5jLVdvcmtl +ciBzdGFydGVuID09PT09CgpleHBvcnQgZnVuY3Rpb24gc3luY1dvcmtlclN0YXJ0ZW4oKSB7CiAg +ICBpZiAoWi5zeW5jV29ya2VyKSByZXR1cm47CiAgICB0cnkgewogICAgICAgIC8vIENhY2hlLUJ1 +c3RlciB2ZXJoaW5kZXJ0LCBkYXNzIGVpbiBCcm93c2VyIGVpbmUgYWx0ZSBzeW5jLXdvcmtlci5q +cwogICAgICAgIC8vIGF1cyBkZW0gSFRUUC1DYWNoZSBudXR6dCDigJQgYmVpIFdvcmtlci1Mb2dp +ay1BZW5kZXJ1bmdlbiB3YWVyZSBkYXMKICAgICAgICAvLyBzb25zdCBlaW4gUGhhbnRvbS1CdWcg +KFdvcmtlciBsYWV1ZnQsIGFiZXIgYWx0ZSBDb2RlLVBmYWRlKS4KICAgICAgICAvLyBEZXIgUXVl +cnktU3RyaW5nIHdpcmQgbmljaHQgdm9tIFNlcnZlciBpbnRlcnByZXRpZXJ0LgogICAgICAgIFou +c3luY1dvcmtlciA9IG5ldyBXb3JrZXIoJ3N5bmMtd29ya2VyLmpzP3Y9MjAyNi0wNi0xNS1zZXEn +KTsKICAgICAgICBjb25zb2xlLmluZm8oJ1tWSTNdIHN5bmMtd29ya2VyIGVyc3RlbGx0Jyk7CiAg +ICAgICAgLy8gV2F0Y2hkb2c6IHdlbm4gbmFjaCA4IHMga2VpbiBQdWxzIG9kZXIgbm9jaCBrZWlu +IFN5bmMtUmVzdWx0YXQKICAgICAgICAvLyBhbmdla29tbWVuIGlzdCwgaGF0IGRlciBXb3JrZXIg +ZW50d2VkZXIgbmljaHQgZ2VzdGFydGV0IG9kZXIgZGFzCiAgICAgICAgLy8gUG9sbGluZyBsYWV1 +ZnQgaW5zIExlZXJlLiBUb2FzdCBmdWVyIFN1cGVyVXNlciwgZGFtaXQga2xhciBpc3QKICAgICAg +ICAvLyB3byBkZXIgQnVnIHNpdHp0LgogICAgICAgIHZhciBzdGFydFRzID0gRGF0ZS5ub3coKTsK +ICAgICAgICBaLnN5bmNXb3JrZXIub25lcnJvciA9IGZ1bmN0aW9uKGVycikgewogICAgICAgICAg +ICBjb25zb2xlLmVycm9yKCdbVkkzXSBzeW5jLXdvcmtlciBvbmVycm9yOicsIGVyciAmJiAoZXJy +Lm1lc3NhZ2UgfHwgZXJyLmZpbGVuYW1lICsgJzonICsgZXJyLmxpbmVubykgfHwgZXJyKTsKICAg +ICAgICAgICAgaWYgKFoucmVjaHRlICYmIFoucmVjaHRlLmlzdFN1cGVyVXNlcikgewogICAgICAg +ICAgICAgICAgdG9hc3QoJ1N5bmMtV29ya2VyLUZlaGxlciDigJQgRGV0YWlscyBpbiBEZXZUb29s +cy1Lb25zb2xlJywgJ2ZlaGxlcicpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgICAgICBa +LnN5bmNXb3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICBpZiAoIWUu +ZGF0YSkgcmV0dXJuOwogICAgICAgICAgICBpZiAoZS5kYXRhLnR5cGUgPT09ICdwdWxzJykgewog +ICAgICAgICAgICAgICAgY29uc29sZS5pbmZvKCdbVkkzXSBzeW5jLXdvcmtlciBwdWxzJyArIChl +LmRhdGEucGhhc2UgPyAnICgnK2UuZGF0YS5waGFzZSsnKScgOiAnJykgKyAnIG5hY2ggJyArIChE +YXRlLm5vdygpIC0gc3RhcnRUcykgKyAnIG1zJyk7CiAgICAgICAgICAgICAgICBaLnN5bmNXb3Jr +ZXJMZWJ0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAg +ICAgICAgICBpZiAoZS5kYXRhLnR5cGUgPT09ICdzeW5jJykgewogICAgICAgICAgICAgICAgaWYg +KGUuZGF0YS5zZXJ2ZXJUcykgWi5sYXN0U3luY1RzID0gZS5kYXRhLnNlcnZlclRzOwogICAgICAg +ICAgICAgICAgaWYgKGUuZGF0YS5zZXJ2ZXJTZXEgIT0gbnVsbCkgWi5sYXN0U3luY1NlcSA9IGUu +ZGF0YS5zZXJ2ZXJTZXE7CiAgICAgICAgICAgICAgICBpZiAoZS5kYXRhLmNoYW5nZXMpIHN5bmND +aGFuZ2VzQW53ZW5kZW4oZS5kYXRhLmNoYW5nZXMpOwogICAgICAgICAgICAgICAgaWYgKGUuZGF0 +YS5sb2NrcykgICBsb2NrU3RhdGVBbndlbmRlbihlLmRhdGEubG9ja3MpOwogICAgICAgICAgICAg +ICAgLy8gSGlud2Vpcy1TeXN0ZW06IExpc3RlIHZvbSBTZXJ2ZXIgdWViZXJuZWhtZW4gKyBCYW5u +ZXIvQmFkZ2UKICAgICAgICAgICAgICAgIC8vIG5ldSByZW5kZXJuLiBzeW5jSG9va3MuaGlud2Vp +c2VBa3R1YWxpc2llcnQgd2lyZCBpbiBhcHAuanMKICAgICAgICAgICAgICAgIC8vIG1pdCBoaW53 +ZWlzZS5qcyB2ZXJkcmFodGV0IChDcm9zcy1Nb2R1bCBvaG5lIHppcmt1bGFlcmVuIEltcG9ydCku +CiAgICAgICAgICAgICAgICBpZiAoZS5kYXRhLmhpbndlaXNlICYmIHN5bmNIb29rcy5oaW53ZWlz +ZUFrdHVhbGlzaWVydCkgewogICAgICAgICAgICAgICAgICAgIHN5bmNIb29rcy5oaW53ZWlzZUFr +dHVhbGlzaWVydChlLmRhdGEuaGlud2Vpc2UpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAg +ICB9IGVsc2UgaWYgKGUuZGF0YS50eXBlID09PSAncGVybWlzc2lvbl9sb3N0JykgewogICAgICAg +ICAgICAgICAgLy8gQXVkaXQtUGhhc2UgQS40ICgyMDI2LTA1LTIxKTogV29ya2VyIGhhdCBkcmVp +IE1hbCBpbiBGb2xnZQogICAgICAgICAgICAgICAgLy8gNDAzIHZvbiAvYXBpL3BsYW51bmcvY2hh +bmdlcyBvZGVyIC9hcGkvbG9jay96ZWxsZW4gZXJoYWx0ZW4uCiAgICAgICAgICAgICAgICAvLyBW +ZXJtdXRsaWNoIGhhdCBlaW4gYW5kZXJlciBTVSBkaWUgUm9sbGUgZW50em9nZW4g4oCUIFVzZXIK +ICAgICAgICAgICAgICAgIC8vIG11c3MgbmV1IGxhZGVuLCBkYW1pdCBaLnJlY2h0ZSBrb3JyZWt0 +IGFrdHVhbGlzaWVydCB3aXJkLgogICAgICAgICAgICAgICAgLy8KICAgICAgICAgICAgICAgIC8v +IFVYLUF1ZGl0IFNwcmludCAxLjYgKDIwMjYtMDUtMjkpOiBUb2FzdCB2ZXJzY2h3aW5kZXQgbmFj +aCA0cwogICAgICAgICAgICAgICAgLy8gdW5kIGthbm4gw7xiZXJzZWhlbiB3ZXJkZW4g4oCUIHN0 +YXR0ZGVzc2VuIG1vZGFsZXIgRGlhbG9nIG1pdAogICAgICAgICAgICAgICAgLy8gUmVsb2FkLUFj +dGlvbiwgZGFtaXQgZGVyIFVzZXIgYWt0aXYgcmVhZ2llcmVuIG11c3MuCiAgICAgICAgICAgICAg +ICBiZXN0YWV0aWdlbigKICAgICAgICAgICAgICAgICAgICAnRGVpbmUgQmVyZWNodGlndW5nIHd1 +cmRlIHfDpGhyZW5kIGRlciBTaXR6dW5nIGdlw6RuZGVydC4gJyArCiAgICAgICAgICAgICAgICAg +ICAgJ0JpdHRlIGRpZSBTZWl0ZSBuZXUgbGFkZW4sIGRhbWl0IGRpZSBha3R1ZWxsZW4gUmVjaHRl +IGdyZWlmZW4uJywKICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgbG9jYXRpb24ucmVs +b2FkKCk7IH0sCiAgICAgICAgICAgICAgICAgICAgeyB0aXRlbDogJ0JlcmVjaHRpZ3VuZyBnZcOk +bmRlcnQnLCBqYVRleHQ6ICdOZXUgbGFkZW4nIH0KICAgICAgICAgICAgICAgICk7CiAgICAgICAg +ICAgIH0KICAgICAgICB9OwogICAgICAgIFouc3luY1dvcmtlci5wb3N0TWVzc2FnZSh7IGNtZDog +J3N0YXJ0Jywgc2VpdDogWi5sYXN0U3luY1RzLCBzZWl0U2VxOiBaLmxhc3RTeW5jU2VxIH0pOwog +ICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCBmdW5j +dGlvbigpIHsKICAgICAgICAgICAgWi5zeW5jV29ya2VyLnBvc3RNZXNzYWdlKHsgY21kOiBkb2N1 +bWVudC5oaWRkZW4gPyAncGF1c2UnIDogJ3Jlc3VtZScsIHNlaXQ6IFoubGFzdFN5bmNUcywgc2Vp +dFNlcTogWi5sYXN0U3luY1NlcSB9KTsKICAgICAgICB9KTsKICAgICAgICAvLyBXYXRjaGRvZzog +bmFjaCA4IHMgcHJ1ZWZlbiwgb2IgZGVyIFdvcmtlciBnZWFudHdvcnRldCBoYXQuIFdlbm4KICAg +ICAgICAvLyBuaWNodCwgbGF1dHN0YXJrIG1lbGRlbiDigJQgc29uc3Qgc3RpbGxlciBMaXZlLVN5 +bmMtVG9kLgogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmICgh +Wi5zeW5jV29ya2VyTGVidCkgewogICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignW1ZJM10g +c3luYy13b3JrZXIgaGF0IG5hY2ggOCBzIG5vY2gga2VpbmVuIFB1bHMgZ2VzZW5kZXQg4oCUIFdv +cmtlciBzdGFydGV0IG5pY2h0IG9kZXIgcG9sbHQgbmljaHRzLicpOwogICAgICAgICAgICAgICAg +aWYgKFoucmVjaHRlICYmIFoucmVjaHRlLmlzdFN1cGVyVXNlcikgewogICAgICAgICAgICAgICAg +ICAgIHRvYXN0KCdMaXZlLVN5bmMgbMOkdWZ0IG5pY2h0IOKAlCBEZXRhaWxzIGluIERldlRvb2xz +LUtvbnNvbGUnLCAnZmVobGVyJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAg +ICAgICB9LCA4MDAwKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAvLyBGYWxsYmFjazogUG9s +bGluZyBpbSBNYWludGhyZWFkICh6LkIuIGZpbGU6Ly8gc3RhdHQgaHR0cDovLykKICAgICAgICBz +ZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYgKGRvY3VtZW50LmhpZGRlbikg +cmV0dXJuOwogICAgICAgICAgICB2YXIgc3EgPSAoWi5sYXN0U3luY1NlcSAhPSBudWxsKSA/IFN0 +cmluZyhaLmxhc3RTeW5jU2VxKSA6ICcnOwogICAgICAgICAgICBmZXRjaCgnL2FwaS9wbGFudW5n +L2NoYW5nZXM/c2VpdF9zZXE9JyArIGVuY29kZVVSSUNvbXBvbmVudChzcSkgKyAnJnNlaXQ9JyAr +IGVuY29kZVVSSUNvbXBvbmVudChaLmxhc3RTeW5jVHMgfHwgJycpKQogICAgICAgICAgICAgICAg +LnRoZW4oZnVuY3Rpb24ocikgeyByZXR1cm4gci5qc29uKCk7IH0pLnRoZW4oZnVuY3Rpb24oZCkg +ewogICAgICAgICAgICAgICAgICAgIGlmIChkLnNlcnZlclRzKSBaLmxhc3RTeW5jVHMgPSBkLnNl +cnZlclRzOwogICAgICAgICAgICAgICAgICAgIGlmIChkLnNlcnZlclNlcSAhPSBudWxsKSBaLmxh +c3RTeW5jU2VxID0gZC5zZXJ2ZXJTZXE7CiAgICAgICAgICAgICAgICAgICAgc3luY0NoYW5nZXNB +bndlbmRlbihkLmNoYW5nZXMgfHwgW10pOwogICAgICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rp +b24oKSB7fSk7CiAgICAgICAgICAgIGZldGNoKCcvYXBpL2xvY2svemVsbGVuJykKICAgICAgICAg +ICAgICAgIC50aGVuKGZ1bmN0aW9uKHIpIHsgcmV0dXJuIHIuanNvbigpOyB9KS50aGVuKGZ1bmN0 +aW9uKGQpIHsKICAgICAgICAgICAgICAgICAgICBsb2NrU3RhdGVBbndlbmRlbihkLmxvY2tzIHx8 +IFtdKTsKICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKCkge30pOwogICAgICAgIH0s +IDMwMDApOwogICAgfQp9CgovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vIFpFTEwtTE9DSwovLyA9 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09CgovLyA9PT09PSBJbnRlci1UYWItTG9jay1Ccm9hZGNhc3QgKFNw +cmludCAzIOKAlCBSb2J1c3RoZWl0IDIwMjYtMDUtMjgpID09PT09Ci8vIFdlbm4gZGVyIGdsZWlj +aGUgV2luZG93cy1Vc2VyIGRpZSBBcHAgaW4gbWVocmVyZW4gQnJvd3Nlci1UYWJzIG9mZmVuIGhh +dAovLyAoei5CLiBlaW5lbiBUYWIgaW4gZGVyIFBsYW50YWZlbCwgZWluZW4gaW4gZGVyIFBlcnNv +bmFsdmVyd2FsdHVuZyksIGthbm4KLy8gamVkZXIgVGFiIGdsZWljaHplaXRpZyBhdWYgZGllc2Vs +YmUgWmVsbGUgTG9jay1BY3F1aXJlIHBvc3Rlbi4gU2VydmVyCi8vIHZlcmdsZWljaHQgbnVyICd1 +c2VybmFtZSAtaWVxJywgZGFoZXIgYmVrb21tZW4gYmVpZGUgVGFicyBzY2hlaW5iYXIgRXJmb2xn +Ci8vIOKAlCBhYmVyIGRlciBUb2tlbiBhdXMgVGFiIEEgd2lyZCBkdXJjaCBkYXMgVG9rZW4gYXVz +IFRhYiBCIHVuYmVtZXJrdAovLyB1ZWJlcnNjaHJpZWJlbi4gSGVhcnRiZWF0IGF1cyBUYWIgQSB0 +cmlmZnQgZGFubiBhdWYgNDA0ICgiZGVpbiBMb2NrIHdlZyIpLgovLyBNaXQgQnJvYWRjYXN0Q2hh +bm5lbCBrdWVuZGlnZW4gd2lyIEFjcXVpcmUvUmVsZWFzZSB6d2lzY2hlbiBUYWJzIGFuIHVuZAov +LyB3YXJuZW4gZGVuIFVzZXIgdm9yIChTZXJ2ZXItQWNxdWlyZSBsYWV1ZnQgdHJvdHpkZW0g4oCU +IENoYW5uZWwgaXN0IG51cgovLyBJbnRlci1UYWItU2ljaHQsIGtlaW5lIEF1dGgtUXVlbGxlKS4K +CnZhciBCQyA9ICh0eXBlb2YgQnJvYWRjYXN0Q2hhbm5lbCAhPT0gJ3VuZGVmaW5lZCcpID8gbmV3 +IEJyb2FkY2FzdENoYW5uZWwoJ3ZpMy16ZWxsLWxvY2snKSA6IG51bGw7CnZhciBCQ19SRU1PVEVf +TE9DS1MgPSB7fTsgIC8vICdkYXR1bXxwaWQnIC0+IDEgKHZvbiBhbmRlcmVuIFRhYnMgZ2VtZWxk +ZXQpCgppZiAoQkMpIHsKICAgIEJDLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2KSB7CiAgICAgICAg +dmFyIG1zZyA9IGV2LmRhdGEgfHwge307CiAgICAgICAgaWYgKCFtc2cudHlwZSB8fCAhbXNnLmRh +dHVtIHx8IG1zZy5waWQgPT0gbnVsbCkgcmV0dXJuOwogICAgICAgIHZhciBrZXkgPSBtc2cuZGF0 +dW0gKyAnfCcgKyBTdHJpbmcobXNnLnBpZCk7CiAgICAgICAgaWYgKG1zZy50eXBlID09PSAnYWNx +dWlyZWQnKSBCQ19SRU1PVEVfTE9DS1Nba2V5XSA9IDE7CiAgICAgICAgZWxzZSBpZiAobXNnLnR5 +cGUgPT09ICdyZWxlYXNlZCcpIGRlbGV0ZSBCQ19SRU1PVEVfTE9DS1Nba2V5XTsKICAgIH07Cn0K +CmZ1bmN0aW9uIGJjQW5ub3VuY2VBY3F1aXJlKGRhdHVtLCBwaWQpIHsKICAgIGlmIChCQykgdHJ5 +IHsgQkMucG9zdE1lc3NhZ2UoeyB0eXBlOiAnYWNxdWlyZWQnLCBkYXR1bTogZGF0dW0sIHBpZDog +U3RyaW5nKHBpZCkgfSk7IH0gY2F0Y2ggKGUpIHt9Cn0KZnVuY3Rpb24gYmNBbm5vdW5jZVJlbGVh +c2UoZGF0dW0sIHBpZCkgewogICAgaWYgKEJDKSB0cnkgeyBCQy5wb3N0TWVzc2FnZSh7IHR5cGU6 +ICdyZWxlYXNlZCcsIGRhdHVtOiBkYXR1bSwgcGlkOiBTdHJpbmcocGlkKSB9KTsgfSBjYXRjaCAo +ZSkge30KfQoKLy8gPT09PT0gRW5kcG9pbnRzID09PT09CgpleHBvcnQgZnVuY3Rpb24gbG9ja1pl +bGxlQWNxdWlyZShkYXR1bSwgcGVyc29uSWQpIHsKICAgIHZhciBrZXkgPSBkYXR1bSArICd8JyAr +IFN0cmluZyhwZXJzb25JZCk7CiAgICBpZiAoQkNfUkVNT1RFX0xPQ0tTW2tleV0pIHsKICAgICAg +ICAvLyBWb3ItV2FybnVuZzogZWluIGFuZGVyZXIgVGFiIGRpZXNlcyBCcm93c2VycyBoYXQgZGll +IFplbGxlIGdlcmFkZQogICAgICAgIC8vIG9mZmVuLiBXaXIgdmVyc3VjaGVuIGRlbiBMb2NrIHRy +b3R6ZGVtIChVc2VyIGVudHNjaGVpZGV0KTsgU2VydmVyLQogICAgICAgIC8vIEFudHdvcnQgaXN0 +IGRpZSBmaW5hbGUgV2FocmhlaXQuCiAgICAgICAgdG9hc3QoJ0RpZXNlIFplbGxlIGlzdCBpbiBl +aW5lbSBhbmRlcmVuIFRhYiBnZcO2ZmZuZXQg4oCUIGRlciB6dWxldHp0IGdlw7ZmZm5ldGUgVGFi +IGdld2lubnQuJywgJ3dhcm51bmcnKTsKICAgIH0KICAgIHJldHVybiBhcGlTYWZlKCcvYXBpL2xv +Y2svemVsbGUnLCB7CiAgICAgICAgbWV0aG9kOiAnUE9TVCcsCiAgICAgICAgaGVhZGVyczogeyAn +Q29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sCiAgICAgICAgYm9keTogSlNPTi5z +dHJpbmdpZnkoeyBkYXR1bTogZGF0dW0sIHBlcnNvbklkOiBTdHJpbmcocGVyc29uSWQpIH0pCiAg +ICB9KS50aGVuKGZ1bmN0aW9uKHJlcykgewogICAgICAgIGlmIChyZXMgJiYgcmVzLnN0YXR1cyA9 +PT0gMjAwKSBiY0Fubm91bmNlQWNxdWlyZShkYXR1bSwgcGVyc29uSWQpOwogICAgICAgIHJldHVy +biByZXM7CiAgICB9KTsKfQoKZXhwb3J0IGZ1bmN0aW9uIGxvY2taZWxsZUZvcmNlKGRhdHVtLCBw +ZXJzb25JZCkgewogICAgcmV0dXJuIGFwaVNhZmUoJy9hcGkvbG9jay96ZWxsZS9mb3JjZScsIHsK +ICAgICAgICBtZXRob2Q6ICdQT1NUJywKICAgICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUn +OiAnYXBwbGljYXRpb24vanNvbicgfSwKICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IGRh +dHVtOiBkYXR1bSwgcGVyc29uSWQ6IFN0cmluZyhwZXJzb25JZCkgfSkKICAgIH0pOwp9CgpleHBv +cnQgZnVuY3Rpb24gbG9ja1plbGxlUmVsZWFzZSh0b2tlbikgewogICAgaWYgKCF0b2tlbikgcmV0 +dXJuIFByb21pc2UucmVzb2x2ZSh7IHN0YXR1czogMjAwLCBib2R5OiB7IG9rOiB0cnVlIH0gfSk7 +CiAgICAvLyBUYWItQnJvYWRjYXN0IChTcHJpbnQgMyk6IGFuZGVyZSBUYWJzIGR1ZXJmZW4gZGll +IFplbGxlIGpldHp0IHdpZWRlcgogICAgLy8gc3BlcnJlbi4gV2lyIGtlbm5lbiBEYXR1bSArIFBl +cnNvbklkIGF1cyBaLnplbGxMb2NrIOKAlCBmYWxscyBkaWUgbm9jaAogICAgLy8gZ2VzZXR6dCBz +aW5kIChyZWxlYXNlIHdpcmQgb2Z0IHZvciBkZW0gVG9rZW4tbnVsbCBnZXJ1ZmVuKS4KICAgIGlm +IChaLnplbGxMb2NrICYmIFouemVsbExvY2suZGF0dW0gJiYgWi56ZWxsTG9jay5wZXJzb25JZCAh +PSBudWxsKSB7CiAgICAgICAgYmNBbm5vdW5jZVJlbGVhc2UoWi56ZWxsTG9jay5kYXR1bSwgWi56 +ZWxsTG9jay5wZXJzb25JZCk7CiAgICB9CiAgICByZXR1cm4gYXBpU2FmZSgnL2FwaS9sb2NrL3pl +bGxlJywgewogICAgICAgIG1ldGhvZDogJ0RFTEVURScsCiAgICAgICAgaGVhZGVyczogeyAnQ29u +dGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sCiAgICAgICAgYm9keTogSlNPTi5zdHJp +bmdpZnkoeyB0b2tlbjogdG9rZW4gfSkKICAgIH0pOwp9CgpleHBvcnQgZnVuY3Rpb24gbG9ja1pl +bGxlSGVhcnRiZWF0U2VuZGVuKHRva2VuKSB7CiAgICByZXR1cm4gYXBpU2FmZSgnL2FwaS9sb2Nr +L3plbGxlL2hlYXJ0YmVhdCcsIHsKICAgICAgICBtZXRob2Q6ICdQT1NUJywKICAgICAgICBoZWFk +ZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSwKICAgICAgICBib2R5 +OiBKU09OLnN0cmluZ2lmeSh7IHRva2VuOiB0b2tlbiB9KQogICAgfSk7Cn0KCi8vID09PT09IEhl +YXJ0YmVhdC1Mb29wIChhbGxlIDIwcywgc29sYW5nZSBFZGl0b3Igb2ZmZW4pID09PT09CgpleHBv +cnQgZnVuY3Rpb24gbG9ja0hlYXJ0YmVhdFN0YXJ0ZW4odG9rZW4pIHsKICAgIGxvY2tIZWFydGJl +YXRTdG9wcGVuKCk7CiAgICBaLnplbGxMb2NrLmhiVGltZXIgPSBzZXRJbnRlcnZhbChmdW5jdGlv +bigpIHsKICAgICAgICBpZiAoIVouemVsbExvY2sudG9rZW4pIHsgbG9ja0hlYXJ0YmVhdFN0b3Bw +ZW4oKTsgcmV0dXJuOyB9CiAgICAgICAgbG9ja1plbGxlSGVhcnRiZWF0U2VuZGVuKFouemVsbExv +Y2sudG9rZW4pLnRoZW4oZnVuY3Rpb24ocmVzKSB7CiAgICAgICAgICAgIGlmIChyZXMuc3RhdHVz +ID09PSA0MDQpIHsKICAgICAgICAgICAgICAgIHRvYXN0KCdEZWluIEVkaXQtTG9jayB3dXJkZSBh +dWZnZWhvYmVuICh2ZXJtdXRsaWNoIEZhY2hhdWZzaWNodC1PdmVycmlkZSkuJywgJ3dhcm51bmcn +KTsKICAgICAgICAgICAgICAgIFouemVsbExvY2sudG9rZW4gPSBudWxsOwogICAgICAgICAgICAg +ICAgaWYgKHR5cGVvZiBzeW5jSG9va3MuZWRpdG9yU2NobGllc3NlbiA9PT0gJ2Z1bmN0aW9uJykg +ewogICAgICAgICAgICAgICAgICAgIHN5bmNIb29rcy5lZGl0b3JTY2hsaWVzc2VuKHRydWUpOwog +ICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24o +KSB7fSk7CiAgICB9LCAyMDAwMCk7Cn0KCmV4cG9ydCBmdW5jdGlvbiBsb2NrSGVhcnRiZWF0U3Rv +cHBlbigpIHsKICAgIGlmIChaLnplbGxMb2NrICYmIFouemVsbExvY2suaGJUaW1lcikgeyBjbGVh +ckludGVydmFsKFouemVsbExvY2suaGJUaW1lcik7IFouemVsbExvY2suaGJUaW1lciA9IG51bGw7 +IH0KfQoKLy8gPT09PT0gTG9jay1TdGF0ZSBpbSBHcmlkID09PT09CgpleHBvcnQgZnVuY3Rpb24g +bG9ja0tleShkYXR1bSwgcGVyc29uSWQpIHsgcmV0dXJuIGRhdHVtICsgJ3wnICsgU3RyaW5nKHBl +cnNvbklkKTsgfQoKLy8gTlctS2VubnVuZyBkZXMgTG9ja3MgLT4gS2xhcm5hbWUgKFZvcm5hbWUg +TmFjaG5hbWUpIGF1cyBkZXIgUGVyc29uYWwtCi8vIHZlcndhbHR1bmcsIGVyc2F0endlaXNlIEZh +Y2hhdWZzaWNodC9TdXBlclVzZXIsIHNvbnN0IGRpZSBLZW5udW5nIG9obmUKLy8gRG9tYWluLiBC +ZXd1c3N0IEtFSU4gIltzdXBlcnVzZXJdIi9Sb2xsZW4tU3VmZml4IHVuZCBrZWluZSBEYXVlciDi +gJQgZGVyCi8vIEhpbndlaXMgc29sbCBzY2hsaWNodCBibGVpYmVuLgpmdW5jdGlvbiBsb2NrUGVy +c29uTmFtZShsb2NrKSB7CiAgICB2YXIgdSA9IChsb2NrICYmIGxvY2sudXNlcm5hbWUgfHwgJycp +LnRvTG93ZXJDYXNlKCk7CiAgICBpZiAoIXUpIHJldHVybiAnZWluZXIgYW5kZXJlbiBQZXJzb24n +OwogICAgdmFyIHVTaG9ydCA9IHUuaW5kZXhPZignXFwnKSA+PSAwID8gdS5zcGxpdCgnXFwnKS5w +b3AoKSA6IHU7CiAgICBmdW5jdGlvbiBwYXNzdChrKSB7IGlmICghaykgcmV0dXJuIGZhbHNlOyBr +ID0gU3RyaW5nKGspLnRvTG93ZXJDYXNlKCk7IHJldHVybiBrID09PSB1IHx8IGsgPT09IHVTaG9y +dDsgfQogICAgdmFyIHBlcnNvbmVuID0gKFoucGxhbnVuZyAmJiBaLnBsYW51bmcucGVyc29uZW4p +IHx8IFtdOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwZXJzb25lbi5sZW5ndGg7IGkrKykgewog +ICAgICAgIGlmIChwYXNzdChwZXJzb25lbltpXS5ud0tlbm51bmcpKSB7CiAgICAgICAgICAgIHZh +ciBuID0gKChwZXJzb25lbltpXS52b3JuYW1lID8gcGVyc29uZW5baV0udm9ybmFtZSArICcgJyA6 +ICcnKSArIChwZXJzb25lbltpXS5uYW1lIHx8ICcnKSkudHJpbSgpOwogICAgICAgICAgICBpZiAo +bikgcmV0dXJuIG47CiAgICAgICAgfQogICAgfQogICAgdmFyIGZhID0gKFouYWRtaW4gJiYgWi5h +ZG1pbi5mYWNoYXVmc2ljaHQpIHx8IFtdOwogICAgZm9yICh2YXIgaiA9IDA7IGogPCBmYS5sZW5n +dGg7IGorKykgeyBpZiAocGFzc3QoZmFbal0ubndLZW5udW5nKSAmJiBmYVtqXS5uYW1lKSByZXR1 +cm4gZmFbal0ubmFtZTsgfQogICAgdmFyIHN1ID0gKFouYWRtaW4gJiYgWi5hZG1pbi5zdXBlclVz +ZXIpIHx8IFtdOwogICAgZm9yICh2YXIgayA9IDA7IGsgPCBzdS5sZW5ndGg7IGsrKykgeyBpZiAo +cGFzc3Qoc3Vba10ubndLZW5udW5nKSAmJiBzdVtrXS5uYW1lKSByZXR1cm4gc3Vba10ubmFtZTsg +fQogICAgLy8gRmFsbGJhY2s6IEtlbm51bmcgb2huZSBEb21haW4gKHouQi4gTm90ZmFsbC1BY2Nv +dW50IG9obmUgUGxhbi1QZXJzb24pLgogICAgcmV0dXJuIGxvY2sudXNlcm5hbWUuaW5kZXhPZign +XFwnKSA+PSAwID8gbG9jay51c2VybmFtZS5zcGxpdCgnXFwnKS5wb3AoKSA6IGxvY2sudXNlcm5h +bWU7Cn0KCmV4cG9ydCBmdW5jdGlvbiBsb2NrVG9vbHRpcFRleHQobG9jaykgewogICAgcmV0dXJu +ICdEaWVzZSBaZWxsZSB3aXJkIGdlcmFkZSB2b24gJyArIGxvY2tQZXJzb25OYW1lKGxvY2spICsg +JyBiZWFyYmVpdGV0IHVuZCBpc3QgZGVzaGFsYiBnZXNwZXJydC4nOwp9CgpleHBvcnQgZnVuY3Rp +b24gZnJlbWRMb2NrU2V0emVuKGRhdHVtLCBwZXJzb25JZCwgbG9jaykgewogICAgdmFyIGtleSA9 +IGxvY2tLZXkoZGF0dW0sIHBlcnNvbklkKTsKICAgIGlmIChsb2NrKSBaLmZyZW1kZUxvY2tzW2tl +eV0gPSBsb2NrOwogICAgZWxzZSBkZWxldGUgWi5mcmVtZGVMb2Nrc1trZXldOwogICAgdmFyIHog +PSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuZ3JpZC16ZWxsZVtkYXRhLWRhdHVtPSInICsgZGF0 +dW0gKyAnIl1bZGF0YS1wZXJzb249IicgKyBTdHJpbmcocGVyc29uSWQpICsgJyJdJyk7CiAgICBp +ZiAoIXopIHJldHVybjsKICAgIGlmIChsb2NrKSB7CiAgICAgICAgei5jbGFzc0xpc3QuYWRkKCdn +cmlkLXplbGxlLWxvY2tlZCcpOwogICAgICAgIC8vIE9yaWdpbmFsZW4gWmVsbC1UaXRlbCBlaW5t +YWxpZyBzaWNoZXJuICh6dW0gV2llZGVyaGVyc3RlbGxlbiBiZWltCiAgICAgICAgLy8gRW50c3Bl +cnJlbikuIE5JQ0hUIG1laHIgYW4gZGVuIExvY2stSGlud2VpcyBhbmhhZW5nZW4g4oCUIHNvbnN0 +IHN0YXBlbHRlCiAgICAgICAgLy8gc2ljaCBiZWkgamVkZW0gSGVhcnRiZWF0LVVwZGF0ZSBlaW4g +d2VpdGVyZXIgIldpcmQgYmVhcmJlaXRldCDigKYiLVRleHQKICAgICAgICAvLyAoZGVyIGRvcHBl +bHRlIFRvb2x0aXAgaW0gU2NyZWVuc2hvdCkuIERlciBIaW53ZWlzIGJsZWlidCBzY2hsaWNodC4K +ICAgICAgICBpZiAoIXouZ2V0QXR0cmlidXRlKCdkYXRhLW9yaWctdGl0bGUnKSkgei5zZXRBdHRy +aWJ1dGUoJ2RhdGEtb3JpZy10aXRsZScsIHoudGl0bGUgfHwgJycpOwogICAgICAgIHoudGl0bGUg +PSBsb2NrVG9vbHRpcFRleHQobG9jayk7CiAgICB9IGVsc2UgewogICAgICAgIHouY2xhc3NMaXN0 +LnJlbW92ZSgnZ3JpZC16ZWxsZS1sb2NrZWQnKTsKICAgICAgICB2YXIgc2F2ZWQgPSB6LmdldEF0 +dHJpYnV0ZSgnZGF0YS1vcmlnLXRpdGxlJyk7CiAgICAgICAgaWYgKHNhdmVkICE9PSBudWxsKSB7 +IHoudGl0bGUgPSBzYXZlZDsgei5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtb3JpZy10aXRsZScpOyB9 +CiAgICB9Cn0KCmV4cG9ydCBmdW5jdGlvbiBsb2NrU3RhdGVBbndlbmRlbihuZXVlTG9ja3MpIHsK +ICAgIC8vIG5ldWVMb2NrczogQXJyYXkgdm9uIExvY2stT2JqZWt0ZW4gdm9tIC9hcGkvbG9jay96 +ZWxsZW4KICAgIHZhciBuZXVNYXAgPSB7fTsKICAgIHZhciBiZW51dHplckxvd2VyID0gKFouYmVu +dXR6ZXIgfHwgJycpLnRvTG93ZXJDYXNlKCk7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5ldWVM +b2Nrcy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciBMID0gbmV1ZUxvY2tzW2ldOwogICAgICAg +IC8vIEVpZ2VuZSBMb2NrcyBOSUNIVCBhbHMgZnJlbWQgcmVuZGVybgogICAgICAgIHZhciBsVXNl +ciA9IChMLnVzZXJuYW1lIHx8ICcnKS50b0xvd2VyQ2FzZSgpOwogICAgICAgIGlmIChsVXNlciA9 +PT0gYmVudXR6ZXJMb3dlcikgY29udGludWU7CiAgICAgICAgdmFyIGJlbnV0emVyT2huZURvbWFp +biA9IGJlbnV0emVyTG93ZXIuaW5kZXhPZignXFwnKSA+PSAwID8gYmVudXR6ZXJMb3dlci5zcGxp +dCgnXFwnKS5wb3AoKSA6IGJlbnV0emVyTG93ZXI7CiAgICAgICAgaWYgKGxVc2VyID09PSBiZW51 +dHplck9obmVEb21haW4pIGNvbnRpbnVlOwogICAgICAgIG5ldU1hcFtsb2NrS2V5KEwuZGF0dW0s +IEwucGVyc29uSWQpXSA9IEw7CiAgICB9CiAgICAvLyBEaWZmOiBhbHRlIExvY2tzLCBkaWUgamV0 +enQgd2VnIHNpbmQgLT4gZW50ZmVybmVuCiAgICBPYmplY3Qua2V5cyhaLmZyZW1kZUxvY2tzKS5m +b3JFYWNoKGZ1bmN0aW9uKGspIHsKICAgICAgICBpZiAoIW5ldU1hcFtrXSkgewogICAgICAgICAg +ICB2YXIgcGFydHMgPSBrLnNwbGl0KCd8Jyk7CiAgICAgICAgICAgIGZyZW1kTG9ja1NldHplbihw +YXJ0c1swXSwgcGFydHNbMV0sIG51bGwpOwogICAgICAgIH0KICAgIH0pOwogICAgLy8gTmV1ZSBM +b2NrcyAob2RlciBnZWFlbmRlcnRlKSAtPiBzZXR6ZW4KICAgIE9iamVjdC5rZXlzKG5ldU1hcCku +Zm9yRWFjaChmdW5jdGlvbihrKSB7CiAgICAgICAgdmFyIGFsdCA9IFouZnJlbWRlTG9ja3Nba107 +CiAgICAgICAgdmFyIG5ldSA9IG5ldU1hcFtrXTsKICAgICAgICBpZiAoIWFsdCB8fCBhbHQubGFz +dEJlYXQgIT09IG5ldS5sYXN0QmVhdCkgewogICAgICAgICAgICB2YXIgcGFydHMgPSBrLnNwbGl0 +KCd8Jyk7CiAgICAgICAgICAgIGZyZW1kTG9ja1NldHplbihwYXJ0c1swXSwgcGFydHNbMV0sIG5l +dSk7CiAgICAgICAgfQogICAgfSk7Cn0KCi8vID09PT09IENsZWFudXAgYmVpbSBUYWItQ2xvc2Ug +KHNlbmRCZWFjb24tc3R5bGUgbWl0IGtlZXBhbGl2ZSkgPT09PT0KCmV4cG9ydCBmdW5jdGlvbiBh +bGxlRWlnZW5lbkxvY2tzRnJlaWdlYmVuQmVhY29uKCkgewogICAgaWYgKFouemVsbExvY2sgJiYg +Wi56ZWxsTG9jay50b2tlbikgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGZldGNoKCcvYXBp +L2xvY2svemVsbGU/dG9rZW49JyArIGVuY29kZVVSSUNvbXBvbmVudChaLnplbGxMb2NrLnRva2Vu +KSwgewogICAgICAgICAgICAgICAgbWV0aG9kOiAnREVMRVRFJywKICAgICAgICAgICAgICAgIGtl +ZXBhbGl2ZTogdHJ1ZQogICAgICAgICAgICB9KTsKICAgICAgICB9IGNhdGNoIChlKSB7fQogICAg +ICAgIFouemVsbExvY2sudG9rZW4gPSBudWxsOwogICAgfQp9Cg== +### FILE: js/ui_dialog.js | 39021 +Ly8gPT09IHVpL2RpYWxvZy5qcyA9PT0KLy8gU3RhbmQ6IDIwMjYtMDUtMTQKLy8gVUktRmVlZGJh +Y2stUHJpbWl0aXZlOiBUb2FzdCwgTW9kYWwsIEJlc3RhZXRpZ2VuLCBFbnR3dXJmcy1Mb2NhbFN0 +b3JhZ2UsCi8vIERpcnR5LVRyYWNrZXIuIEJld3Vzc3RlIEtvbnNvbGlkaWVydW5nIGdlZ2VuIEZM +RCAoZG9ydCBzZXBhcmF0ZSBNb2R1bGUKLy8gdG9hc3QvbW9kYWwpOiBpbiBWSTMgbnV0emVuIGFs +bGUgZHJlaSBkZW4gZ2xlaWNoZW4gTW9kYWwtU3RhdGUgKFoubW9kYWwqKQovLyB1bmQgZGFzIHF1 +ZXJzY2huaXR0bGljaGUgRElSVFktUmVnaXN0cnkgcGFzc3QgbmlyZ2VuZHMgYmVzc2VyIGhpbi4K +Ly8KLy8gTW9kdWwtc3BlemlmaXNjaGUgSW5pdC1GdW5rdGlvbmVuICh6LkIuIGRpcnR5VHJhY2tl +ckVpbnJpY2h0ZW4pIGJsZWliZW4KLy8gaW0gYXVmcnVmZW5kZW4gTW9kdWwgKGFwcC5qcyBiencu +IGFkbWluL2FkbWluLmpzIGluIFBoYXNlIDgpIHVuZAovLyBpbXBvcnRpZXJlbiBkaXJ0eVJlZ2lz +dHJpZXJlL2RpcnR5QWt0aXZlIHZvbiBoaWVyLgoKaW1wb3J0IHsgWiB9IGZyb20gJy4vY29yZV9z +dGF0ZS5qcyc7CmltcG9ydCB7IGVzY2FwZUhUTUwgfSBmcm9tICcuL2NvcmVfdXRpbC5qcyc7Cmlt +cG9ydCB7IHNhbml0aXplUmljaEh0bWwgfSBmcm9tICcuL3VpX3J0ZS5qcyc7CgovLyA9PT09PSBM +YWRlLU92ZXJsYXkgKFBha2V0LUMgUXVpY2stV2luLCAyMDI2LTA1LTI5KSA9PT09PQovLwovLyBV +bml2ZXJzZWxsZXIgU3Bpbm5lci1PdmVybGF5IGZ1ZXIgQXN5bmMtT3BlcmF0aW9uZW4uIFdpcmQg +cGVyCi8vIGxhZGVPdmVybGF5WmVpZ2VuKGNvbnRhaW5lciwgdGV4dCkgYW5nZXplaWd0IHVuZCBt +aXQgbGFkZU92ZXJsYXlWZXJzdGVja2VuKCkKLy8gd2llZGVyIHdlZ2dlbm9tbWVuLiBWZXJoaW5k +ZXJ0IGJsYW5rZSBTY3JlZW5zIGJlaSBsYW5nc2FtZW4gU2VydmVyLQovLyBBbnR3b3J0ZW4gYXVm +IGRlbiBQb2xpemVpLVBDcy4KCmV4cG9ydCBmdW5jdGlvbiBsYWRlT3ZlcmxheVplaWdlbihjb250 +YWluZXJPZGVySWQsIHRleHQpIHsKICAgIHZhciBjID0gdHlwZW9mIGNvbnRhaW5lck9kZXJJZCA9 +PT0gJ3N0cmluZycgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb250YWluZXJPZGVySWQpIDog +Y29udGFpbmVyT2RlcklkOwogICAgaWYgKCFjKSByZXR1cm47CiAgICAvLyBQb3NpdGlvbjpyZWxh +dGl2ZSBub2V0aWcsIGRhbWl0IGRhcyBhYnNvbHV0ZSBPdmVybGF5IGlubmVyaGFsYiBkZXMKICAg +IC8vIENvbnRhaW5lcnMgYmxlaWJ0LiBOdXIgc2V0emVuIHdlbm4gbm9jaCBuaWNodCBwb3NpdGlv +bmllcnQuCiAgICB0cnkgewogICAgICAgIHZhciBjcyA9ICh0eXBlb2YgZ2V0Q29tcHV0ZWRTdHls +ZSA9PT0gJ2Z1bmN0aW9uJykgPyBnZXRDb21wdXRlZFN0eWxlKGMpIDogbnVsbDsKICAgICAgICBp +ZiAoY3MgJiYgY3MucG9zaXRpb24gPT09ICdzdGF0aWMnKSBjLnN0eWxlLnBvc2l0aW9uID0gJ3Jl +bGF0aXZlJzsKICAgIH0gY2F0Y2ggKF8pIHsgLyogaWdub3JlIGluIFRlc3QtTW9jayAqLyB9CiAg +ICB2YXIgYWx0ID0gYy5xdWVyeVNlbGVjdG9yID8gYy5xdWVyeVNlbGVjdG9yKCcubGFkZS1vdmVy +bGF5JykgOiBudWxsOwogICAgaWYgKGFsdCAmJiBhbHQucmVtb3ZlKSBhbHQucmVtb3ZlKCk7CiAg +ICB2YXIgb3YgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIG92LmNsYXNzTmFt +ZSA9ICdsYWRlLW92ZXJsYXknOwogICAgb3Yuc2V0QXR0cmlidXRlKCdyb2xlJywgJ3N0YXR1cycp +OwogICAgb3Yuc2V0QXR0cmlidXRlKCdhcmlhLWxpdmUnLCAncG9saXRlJyk7CiAgICBvdi5pbm5l +ckhUTUwgPSAnPGRpdiBjbGFzcz0ibGFkZS1vdmVybGF5LXNwaW5uZXIiIGFyaWEtaGlkZGVuPSJ0 +cnVlIj48L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJsYWRlLW92ZXJs +YXktdGV4dCI+JyArIGVzY2FwZUhUTUwodGV4dCB8fCAnTMOkZHQg4oCmJykgKyAnPC9kaXY+JzsK +ICAgIGMuYXBwZW5kQ2hpbGQob3YpOwp9CgpleHBvcnQgZnVuY3Rpb24gbGFkZU92ZXJsYXlWZXJz +dGVja2VuKGNvbnRhaW5lck9kZXJJZCkgewogICAgdmFyIGMgPSB0eXBlb2YgY29udGFpbmVyT2Rl +cklkID09PSAnc3RyaW5nJyA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNvbnRhaW5lck9kZXJJ +ZCkgOiBjb250YWluZXJPZGVySWQ7CiAgICBpZiAoIWMgfHwgIWMucXVlcnlTZWxlY3RvcikgcmV0 +dXJuOwogICAgdmFyIG92ID0gYy5xdWVyeVNlbGVjdG9yKCcubGFkZS1vdmVybGF5Jyk7CiAgICBp +ZiAob3YgJiYgb3YucmVtb3ZlKSBvdi5yZW1vdmUoKTsKfQoKLy8gPT09PT0gTGFlbmdlbi1Db3Vu +dGVyIChRdWljay1XaW4gUGFrZXQtQiwgMjAyNi0wNS0yOSkgPT09PT0KLy8KLy8gWmVpZ3QgdW50 +ZXIgZWluZW0gVGV4dGZlbGQgZWluZW4ga2xlaW5lbiBDb3VudGVyICI0Ny8yNTAiLCBkYW1pdCBk +ZXIgVXNlcgovLyBzaWVodCB3aWUgdmllbGUgWmVpY2hlbiBub2NoIGZyZWkgc2luZC4gQXV0b21h +dGlzY2ggdWViZXIgZGF0YS1BdHRyaWJ1dAovLyBha3RpdmllcnQ6IHNldHplIGVpbmZhY2ggYGRh +dGEtbWF4bGVuZ3RoLWNvdW50ZXI9IjEiYCArIGBtYXhsZW5ndGg9Ik4iYCBhbQovLyBJbnB1dC9U +ZXh0YXJlYS4gRGVyIENvdW50ZXIgd2lyZCBiZWltIG1vZGFsWmVpZ2VuKCkgaW5pdGlhbGlzaWVy +dCB1bmQgYmVpCi8vIGplZGVtIGlucHV0L2NoYW5nZSBha3R1YWxpc2llcnQgKERlbGVnYXRpb24g +YXVmIGRvY3VtZW50KS4KCmZ1bmN0aW9uIF9sYWVuZ2VDb3VudGVyVXBkYXRlKGVsKSB7CiAgICBp +ZiAoIWVsIHx8ICFlbC5wYXJlbnROb2RlKSByZXR1cm47CiAgICB2YXIgbWF4ID0gcGFyc2VJbnQo +ZWwuZ2V0QXR0cmlidXRlKCdtYXhsZW5ndGgnKSwgMTApOwogICAgaWYgKCFtYXgpIHJldHVybjsK +ICAgIHZhciBjb3VudGVyID0gZWwubmV4dEVsZW1lbnRTaWJsaW5nOwogICAgaWYgKCFjb3VudGVy +IHx8ICFjb3VudGVyLmNsYXNzTGlzdCB8fCAhY291bnRlci5jbGFzc0xpc3QuY29udGFpbnMoJ2xh +ZW5nZS1jb3VudGVyJykpIHsKICAgICAgICBjb3VudGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu +dCgnc3BhbicpOwogICAgICAgIGNvdW50ZXIuY2xhc3NOYW1lID0gJ2xhZW5nZS1jb3VudGVyJzsK +ICAgICAgICBlbC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjb3VudGVyLCBlbC5uZXh0U2libGlu +Zyk7CiAgICB9CiAgICB2YXIgbGVuID0gKGVsLnZhbHVlIHx8ICcnKS5sZW5ndGg7CiAgICBjb3Vu +dGVyLnRleHRDb250ZW50ID0gbGVuICsgJyAvICcgKyBtYXg7CiAgICAvLyBXYXJuZmFyYmUgYWIg +OTAlIEF1c2xhc3R1bmcsIEZlaGxlcmZhcmJlIGJlaSB2b2xsLgogICAgY291bnRlci5jbGFzc0xp +c3QudG9nZ2xlKCdsYWVuZ2UtY291bnRlci13YXJuJywgbGVuID49IG1heCAqIDAuOSAmJiBsZW4g +PCBtYXgpOwogICAgY291bnRlci5jbGFzc0xpc3QudG9nZ2xlKCdsYWVuZ2UtY291bnRlci12b2xs +JywgbGVuID49IG1heCk7Cn0KCmV4cG9ydCBmdW5jdGlvbiBsYWVuZ2VDb3VudGVySW1Db250YWlu +ZXJJbml0aWFsaXNpZXJlbihjb250YWluZXIpIHsKICAgIGlmICghY29udGFpbmVyIHx8ICFjb250 +YWluZXIucXVlcnlTZWxlY3RvckFsbCkgcmV0dXJuOwogICAgdmFyIGlucHV0cyA9IGNvbnRhaW5l +ci5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1tYXhsZW5ndGgtY291bnRlcl0nKTsKICAgIGZvciAo +dmFyIGkgPSAwOyBpIDwgaW5wdXRzLmxlbmd0aDsgaSsrKSBfbGFlbmdlQ291bnRlclVwZGF0ZShp +bnB1dHNbaV0pOwp9CgppZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBl +b2YgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJykgewogICAgZG9jdW1l +bnQuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBmdW5jdGlvbihlKSB7CiAgICAgICAgdmFyIGVs +ID0gZS50YXJnZXQ7CiAgICAgICAgaWYgKCFlbCB8fCAhZWwuZ2V0QXR0cmlidXRlKSByZXR1cm47 +CiAgICAgICAgaWYgKCFlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtbWF4bGVuZ3RoLWNvdW50ZXInKSkg +cmV0dXJuOwogICAgICAgIF9sYWVuZ2VDb3VudGVyVXBkYXRlKGVsKTsKICAgIH0pOwp9CgovLyA9 +PT09PSBQZmxpY2h0ZmVsZC1WYWxpZGllcnVuZyAoVVgtQXVkaXQgU3ByaW50IDMuNCwgMjAyNi0w +NS0yOSkgPT09PT0KLy8KLy8gSGVscGVyIGZ1ZXIgY2xpZW50c2VpdGlnZSBQZmxpY2h0ZmVsZC1W +YWxpZGllcnVuZyBWT1IgZGVtIEFQSS1DYWxsLgovLyBNYXJraWVydCBkYXMgZmVobGVuZGUgRmVs +ZCByb3QsIHNjcm9sbHQgZXMgaW5zIEJpbGQsIGZva3Vzc2llcnQgZXMgKwovLyB6ZWlndCBlaW5l +biBXYXJuLVRvYXN0LiBCZWltIG5hZWNoc3RlbiBpbnB1dC9jaGFuZ2UgdmVyc2Nod2luZGV0IGRp +ZQovLyByb3RlIE1hcmtpZXJ1bmcgd2llZGVyLCBkYW1pdCBkZXIgVXNlciBtZXJrdDogIkVpbmdh +YmUgd3VyZGUKLy8gcmVnaXN0cmllcnQsIGpldHp0IG5vY2htYWwgU3BlaWNoZXJuIHByb2JpZXJl +bi4iCmV4cG9ydCBmdW5jdGlvbiBwZmxpY2h0ZmVsZEZlaGxlcihlbGVtZW50T2RlcklkLCBtZWxk +dW5nKSB7CiAgICB2YXIgZiA9IHR5cGVvZiBlbGVtZW50T2RlcklkID09PSAnc3RyaW5nJyA/IGRv +Y3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRPZGVySWQpIDogZWxlbWVudE9kZXJJZDsKICAg +IGlmIChmKSB7CiAgICAgICAgZi5jbGFzc0xpc3QuYWRkKCdmZWxkLWZlaGxlcicpOwogICAgICAg +IHRyeSB7IGYuZm9jdXMoKTsgfSBjYXRjaCAoZSkge30KICAgICAgICB0cnkgeyBmLnNjcm9sbElu +dG9WaWV3KHsgYmxvY2s6ICdjZW50ZXInLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7IH0gY2F0Y2gg +KGUpIHt9CiAgICAgICAgdmFyIGNsZWFyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGYuY2xh +c3NMaXN0LnJlbW92ZSgnZmVsZC1mZWhsZXInKTsKICAgICAgICAgICAgZi5yZW1vdmVFdmVudExp +c3RlbmVyKCdpbnB1dCcsIGNsZWFyKTsKICAgICAgICAgICAgZi5yZW1vdmVFdmVudExpc3RlbmVy +KCdjaGFuZ2UnLCBjbGVhcik7CiAgICAgICAgfTsKICAgICAgICBmLmFkZEV2ZW50TGlzdGVuZXIo +J2lucHV0JywgY2xlYXIpOwogICAgICAgIGYuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgY2xl +YXIpOwogICAgfQogICAgdG9hc3QobWVsZHVuZyB8fCAnUGZsaWNodGZlbGQgZmVobHQnLCAnd2Fy +bnVuZycpOwp9CgovLyA9PT09PSBIaWxmZS1JY29uIChVWC1BdWRpdCBTcHJpbnQgMi4yLCAyMDI2 +LTA1LTI5KSA9PT09PQovLwovLyBIZWxwZXIgZnVlciBJbmxpbmUtSGlsZmV0ZXh0ZTogZXJ6ZXVn +dCBlaW5lbiBrbGVpbmVuIHJ1bmRlbiDik5gtQnV0dG9uIG1pdAovLyBgZGF0YS1oaWxmZWAtQXR0 +cmlidXQuIEdsb2JhbGVyIENsaWNrLUxpc3RlbmVyICh3ZWl0ZXIgdW50ZW4pIGZhZW5ndCBkYXMK +Ly8gdW5kIHplaWd0IGRlbiBUZXh0IGFscyBJbmZvLVRvYXN0ICg4cyBzaWNodGJhcikuIERhbWl0 +IGxhbmRlbiBIaWxmZS1UZXh0ZQovLyAqKmFuIGRlciBTdGVsbGUgd28gc2llIGdlYnJhdWNodCB3 +ZXJkZW4qKiwgbmljaHQgbnVyIGltIHplbnRyYWxlbiBJbmZvLU1vZGFsLgovLwovLyBOdXR6dW5n +OiBgJzxsYWJlbD5EYXRlaTwvbGFiZWw+JyArIGhpbGZlSWNvbignRXJ3YXJ0ZXQgZGllIEV4Y2Vs +LVZvcmxhZ2Ug4oCmJylgCmV4cG9ydCBmdW5jdGlvbiBoaWxmZUljb24odGV4dCkgewogICAgaWYg +KCF0ZXh0KSByZXR1cm4gJyc7CiAgICB2YXIgdCA9IFN0cmluZyh0ZXh0KTsKICAgIHJldHVybiAn +PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJoaWxmZS1pY29uIiBhcmlhLWxhYmVsPSJIaWxm +ZSBhbnplaWdlbiInICsKICAgICAgICAgICAnIHRpdGxlPSInICsgdC5yZXBsYWNlKC8iL2csICcm +cXVvdDsnKS5yZXBsYWNlKC88L2csICcmbHQ7JykucmVwbGFjZSgvPi9nLCAnJmd0OycpICsgJyIn +ICsKICAgICAgICAgICAnIGRhdGEtaGlsZmU9IicgKyB0LnJlcGxhY2UoLyYvZywgJyZhbXA7Jyku +cmVwbGFjZSgvIi9nLCAnJnF1b3Q7JykucmVwbGFjZSgvPC9nLCAnJmx0OycpLnJlcGxhY2UoLz4v +ZywgJyZndDsnKSArICciPj88L2J1dHRvbj4nOwp9CgovLyBHbG9iYWxlciBMaXN0ZW5lciDigJQg +ZWlubWFsIGJpbmRlbi4gZG9jdW1lbnQgZXhpc3RpZXJ0IG51ciBpbSBCcm93c2VyCi8vIChUZXN0 +LVNldHVwIG1vY2t0IG51ciBlaW4gTWluaW1hbC1kb2N1bWVudCBvaG5lIGFkZEV2ZW50TGlzdGVu +ZXIpLCBkYWhlcgovLyBkZWZlbnNpdmUgUHJ1ZWZ1bmcuCmlmICh0eXBlb2YgZG9jdW1lbnQgIT09 +ICd1bmRlZmluZWQnICYmIHR5cGVvZiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyID09PSAnZnVu +Y3Rpb24nKSB7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9u +KGUpIHsKICAgICAgICB2YXIgYnRuID0gZS50YXJnZXQgJiYgZS50YXJnZXQuY2xvc2VzdCAmJiBl +LnRhcmdldC5jbG9zZXN0KCcuaGlsZmUtaWNvbicpOwogICAgICAgIGlmICghYnRuKSByZXR1cm47 +CiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIHZhciB0ID0gYnRuLmdldEF0dHJp +YnV0ZSgnZGF0YS1oaWxmZScpOwogICAgICAgIGlmICh0KSB0b2FzdCh0LCAnaW5mbycsIHsgZGF1 +ZXI6IDgwMDAgfSk7CiAgICB9KTsKfQoKLy8gPT09PT0gVG9hc3QgPT09PT0KCmV4cG9ydCBmdW5j +dGlvbiB0b2FzdCh0ZXh0LCB0eXAsIG9wdCkgewogICAgb3B0ID0gb3B0IHx8IHt9OwogICAgdmFy +IGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9hc3QtY29udGFpbmVyJyk7CiAgICB2YXIg +ZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIGVsLmNsYXNzTmFtZSA9ICd0 +b2FzdCB0b2FzdC0nICsgKHR5cCB8fCAnaW5mbycpOwogICAgZWwudGV4dENvbnRlbnQgPSB0ZXh0 +OwogICAgaWYgKHR5cGVvZiBvcHQub25DbGljayA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgIGVs +LnN0eWxlLmN1cnNvciA9ICdwb2ludGVyJzsKICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdj +bGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0cnkgeyBvcHQub25DbGljaygpOyB9IGNh +dGNoIChlKSB7fQogICAgICAgICAgICBlbC5yZW1vdmUoKTsKICAgICAgICB9KTsKICAgIH0KICAg +IGMuYXBwZW5kQ2hpbGQoZWwpOwogICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgZWwucmVtb3Zl +KCk7IH0sIG9wdC5kYXVlciB8fCA0MDAwKTsKfQoKLy8gPT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyBh +MTF5IOKAlCBGb2N1cy1UcmFwICsgRVNDLUhhbmRsZXIgKFNwcmludCA2YSAyMDI2LTA1LTI5LCBG +aW5kaW5nIDIyKQovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vIFBybyBPdmVybGF5LUNvbnRhaW5l +ciBlaW4gZWlnZW5lciBIYW5kbGVyLiBmb2t1c1RyYXBBa3RpdmllcmVuIGZhZW5ndAovLyBUYWIv +U2hpZnQrVGFiICsgRXNjYXBlLiBMSUZPOiBkYXMgenVsZXR6dCBnZW9lZmZuZXRlIE92ZXJsYXkg +c2NobGllc3N0Ci8vIGF1ZiBFc2NhcGUgKFN0YWNrIHZpYSBfYWt0aXZlT3ZlcmxheXMpLiBCZWlt +IFNjaGxpZXNzZW4gd2lyZCBkZXIgdm9yaGVyCi8vIGZva3Vzc2llcnRlIEtub3RlbiB3aWVkZXJo +ZXJnZXN0ZWxsdCAoWi5tb2RhbEZvY3VzUmV0dXJuKS4KCnZhciBGT0tVU1NJRVJCQVJfU0VMRUtU +T1IgPSAnYVtocmVmXSwgYnV0dG9uOm5vdChbZGlzYWJsZWRdKSwgdGV4dGFyZWE6bm90KFtkaXNh +YmxlZF0pLCBpbnB1dDpub3QoW2Rpc2FibGVkXSk6bm90KFt0eXBlPSJoaWRkZW4iXSksIHNlbGVj +dDpub3QoW2Rpc2FibGVkXSksIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD0iLTEiXSknOwoKdmFy +IF9ha3RpdmVPdmVybGF5cyA9IFtdOyAgICAgICAgICAgLy8gTElGTy1TdGFjawp2YXIgX292ZXJs +YXlIYW5kbGVyID0gbmV3IFdlYWtNYXAoKTsgLy8gb3ZlcmxheSAtPiBoYW5kbGVyLUZ1bmt0aW9u +IGZ1ZXIga2V5ZG93bgoKZnVuY3Rpb24gZm9rdXNzaWVyYmFyU2FtbWVsbihjb250YWluZXIpIHsK +ICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChjb250YWluZXIucXVlcnlTZWxl +Y3RvckFsbChGT0tVU1NJRVJCQVJfU0VMRUtUT1IpKQogICAgICAgIC5maWx0ZXIoZnVuY3Rpb24o +ZWwpIHsgcmV0dXJuIGVsLm9mZnNldFBhcmVudCAhPT0gbnVsbDsgfSk7ICAvLyBzaWNodGJhcgp9 +CgpmdW5jdGlvbiBmb2t1c1RyYXBBa3RpdmllcmVuKG92ZXJsYXkpIHsKICAgIGlmICghb3Zlcmxh +eSkgcmV0dXJuOwogICAgLy8gRG9wcGVsYWt0aXZpZXJ1bmc6IHZvcmhlciBkZWFrdGl2aWVyZW4s +IGRhbm4gbmV1ICh6LkIuIHdlbm4gZGFzc2VsYmUKICAgIC8vIG92ZXJsYXkgbmV1IGJlZnVlbGx0 +IHd1cmRlKS4KICAgIGZva3VzVHJhcERlYWt0aXZpZXJlbihvdmVybGF5KTsKICAgIHZhciBoYW5k +bGVyID0gZnVuY3Rpb24oZSkgewogICAgICAgIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHsKICAg +ICAgICAgICAgLy8gTnVyIGRhcyBvYmVyc3RlIE92ZXJsYXkgc2NobGllc3N0IHNpY2gg4oCUIElu +bmVyLU1vZGFsLUVybGVibmlzCiAgICAgICAgICAgIC8vIG1pdCBDb25maXJtLU92ZXJsYXkgZnVu +a3Rpb25pZXJ0IHdlaXRlciAoTElGTykuCiAgICAgICAgICAgIGlmIChfYWt0aXZlT3ZlcmxheXNb +X2FrdGl2ZU92ZXJsYXlzLmxlbmd0aCAtIDFdICE9PSBvdmVybGF5KSByZXR1cm47CiAgICAgICAg +ICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgaWYgKG92ZXJsYXkuaWQgPT09ICdj +b25maXJtLW92ZXJsYXknKSB7CiAgICAgICAgICAgICAgICBvdmVybGF5LmNsYXNzTGlzdC5hZGQo +J3ZlcnN0ZWNrdCcpOwogICAgICAgICAgICAgICAgb3ZlcmxheS5zZXRBdHRyaWJ1dGUoJ2FyaWEt +aGlkZGVuJywgJ3RydWUnKTsKICAgICAgICAgICAgICAgIGZva3VzVHJhcERlYWt0aXZpZXJlbihv +dmVybGF5KTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIG1vZGFsU2NobGll +c3NlbigpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAg +ICAgaWYgKGUua2V5ICE9PSAnVGFiJykgcmV0dXJuOwogICAgICAgIHZhciBsaXN0ZSA9IGZva3Vz +c2llcmJhclNhbW1lbG4ob3ZlcmxheSk7CiAgICAgICAgaWYgKGxpc3RlLmxlbmd0aCA9PT0gMCkg +eyBlLnByZXZlbnREZWZhdWx0KCk7IHJldHVybjsgfQogICAgICAgIHZhciBlcnN0ZXIgPSBsaXN0 +ZVswXSwgbGV0enRlciA9IGxpc3RlW2xpc3RlLmxlbmd0aCAtIDFdOwogICAgICAgIGlmIChlLnNo +aWZ0S2V5ICYmIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGVyc3RlcikgewogICAgICAgICAg +ICBlLnByZXZlbnREZWZhdWx0KCk7IGxldHp0ZXIuZm9jdXMoKTsKICAgICAgICB9IGVsc2UgaWYg +KCFlLnNoaWZ0S2V5ICYmIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGxldHp0ZXIpIHsKICAg +ICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOyBlcnN0ZXIuZm9jdXMoKTsKICAgICAgICB9CiAg +ICB9OwogICAgb3ZlcmxheS5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlcik7CiAg +ICBfb3ZlcmxheUhhbmRsZXIuc2V0KG92ZXJsYXksIGhhbmRsZXIpOwogICAgX2FrdGl2ZU92ZXJs +YXlzLnB1c2gob3ZlcmxheSk7CiAgICAvLyBJbml0aWFsZW4gRm9rdXMgc2V0emVuOiBlcnN0ZXIg +Zm9rdXNzaWVyYmFyZXIgS25vdGVuIChuaWNodCBkZXIKICAgIC8vIFNjaGxpZXNzLVgtQnV0dG9u +IOKAlCBkZXIgaXN0IG5vcm1hbGVyd2Vpc2UgbGV0enRlciBUYWItU3RvcCkuCiAgICBzZXRUaW1l +b3V0KGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBsaXN0ZSA9IGZva3Vzc2llcmJhclNhbW1lbG4o +b3ZlcmxheSk7CiAgICAgICAgdmFyIHppZWwgPSBsaXN0ZS5maW5kKGZ1bmN0aW9uKGVsKSB7IHJl +dHVybiAhZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdtb2RhbC1zY2hsaWVzc2VuJyk7IH0pIHx8IGxp +c3RlWzBdOwogICAgICAgIGlmICh6aWVsKSB0cnkgeyB6aWVsLmZvY3VzKCk7IH0gY2F0Y2ggKGUp +IHt9CiAgICB9LCAzMCk7Cn0KCmZ1bmN0aW9uIGZva3VzVHJhcERlYWt0aXZpZXJlbihvdmVybGF5 +KSB7CiAgICBpZiAoIW92ZXJsYXkpIHJldHVybjsKICAgIHZhciBoYW5kbGVyID0gX292ZXJsYXlI +YW5kbGVyLmdldChvdmVybGF5KTsKICAgIGlmIChoYW5kbGVyKSB7CiAgICAgICAgb3ZlcmxheS5y +ZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlcik7CiAgICAgICAgX292ZXJsYXlI +YW5kbGVyLmRlbGV0ZShvdmVybGF5KTsKICAgIH0KICAgIHZhciBpZHggPSBfYWt0aXZlT3Zlcmxh +eXMuaW5kZXhPZihvdmVybGF5KTsKICAgIGlmIChpZHggPj0gMCkgX2FrdGl2ZU92ZXJsYXlzLnNw +bGljZShpZHgsIDEpOwp9CgovLyBFeHBvcnRpZXJlbiBmdWVyIGJlc3RhZXRpZ2VuKCkg4oCUIGRl +ciBudXR6dCBlaW4gYW5kZXJlcyBPdmVybGF5LgpleHBvcnQgeyBmb2t1c1RyYXBBa3RpdmllcmVu +LCBmb2t1c1RyYXBEZWFrdGl2aWVyZW4gfTsKCi8vID09PT09IEJlc3RhZXRpZ2VuIChBc3luYy1D +b25maXJtLVJlcGxhY2VtZW50KSA9PT09PQoKLy8gRXJzYXR6IGZ1ZXIgd2luZG93LmNvbmZpcm0o +KSDigJQgYXN5bmNocm9uLCBub24tYmxvY2tpbmcsIGVpZ2VuZXMgTW9kYWwuCi8vIE51dHp1bmc6 +Ci8vICAgYmVzdGFldGlnZW4oJ1RleHQnLCBmdW5jdGlvbigpIHsgd2VpdGVyTWFjaGVuKCk7IH0p +OwovLyAgIGJlc3RhZXRpZ2VuKCdUZXh0JywgY2IsICdUaXRlbCcpOyAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIC8vIFRpdGVsLUt1cnpmb3JtCi8vICAgYmVzdGFldGlnZW4oJ1RleHQnLCBj +YiwgeyB0aXRlbCwgamFUZXh0LCBqYURhbmdlciB9KTsgICAgICAgICAgLy8gT3B0aW9uZW4tRm9y +bQovLyAgIGphRGFuZ2VyOiB0cnVlICAtPiByb3RlciBCZXN0YWV0aWd1bmdzLUJ1dHRvbiwgRGVm +YXVsdC1qYVRleHQgIkzDtnNjaGVuIgovLwovLyBTcHJpbnQgNSDigJQgTW9kYWwtU3RhY2sgKDIw +MjYtMDUtMjksIEZpbmRpbmcgMTcpOiBudXR6dCBlaW5lbiBERURJWklFUlRFTgovLyBDb25maXJt +LU92ZXJsYXktQ29udGFpbmVyICgjY29uZmlybS1vdmVybGF5KSwgbmljaHQgZGFzIEhhdXB0LU1v +ZGFsLgovLyBEYW1pdCBrYW5uIGJlc3RhZXRpZ2VuKCkgaW5uZXJoYWxiIGVpbmVzIGdlb2VmZm5l +dGVuIEhhdXB0bW9kYWxzICh6LkIuCi8vIFBlcnNvbi1FZGl0KSBzaWNoZXIgYWxzIHp3ZWl0ZSBT +dGFjay1FYmVuZSBhdWZ0YXVjaGVuLCBvaG5lIGRlbgovLyBIaW50ZXJncnVuZC1EaWFsb2cgenUg +emVyc3RvZXJlbi4gRnJ1ZWhlcjogbW9kYWxaZWlnZW4oKS1BdWZydWYKLy8gdWViZXJzY2hyaWVi +IGRhcyBTaW5nbGV0b24tTW9kYWwg4oCUIGJlaSAiQWJicmVjaGVuIiB3YXIgZGVyIEVkaXQtU3Rh +bmQgd2VnLgpleHBvcnQgZnVuY3Rpb24gYmVzdGFldGlnZW4odGV4dCwgb25KYSwgb3B0KSB7CiAg +ICB2YXIgdGl0ZWwgPSBudWxsLCBqYVRleHQgPSAnQmVzdMOkdGlnZW4nLCBqYURhbmdlciA9IGZh +bHNlOwogICAgaWYgKHR5cGVvZiBvcHQgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgdGl0ZWwgPSBv +cHQ7CiAgICB9IGVsc2UgaWYgKG9wdCkgewogICAgICAgIHRpdGVsID0gb3B0LnRpdGVsIHx8IG51 +bGw7CiAgICAgICAgamFEYW5nZXIgPSAhIW9wdC5qYURhbmdlcjsKICAgICAgICBqYVRleHQgPSBv +cHQuamFUZXh0IHx8IChqYURhbmdlciA/ICdMw7ZzY2hlbicgOiAnQmVzdMOkdGlnZW4nKTsKICAg +IH0KICAgIHZhciBvdmVybGF5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbmZpcm0tb3Zl +cmxheScpOwogICAgaWYgKCFvdmVybGF5KSB7CiAgICAgICAgLy8gRmFsbGJhY2sgZnVlciBUZXN0 +LS9FZGdlLUZhZWxsZSBvaG5lIGRlbiBkZWRpemllcnRlbiBDb250YWluZXI6CiAgICAgICAgLy8g +YWx0ZSBTaW5nbGV0b24tVmFyaWFudGUgdmlhIG1vZGFsWmVpZ2VuLgogICAgICAgIHZhciBrb2Vy +cGVyRmIgPSAnPGRpdiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLWxpbmU7bGluZS1oZWlnaHQ6MS41 +O3BhZGRpbmc6OHB4IDAiPicgKyBlc2NhcGVIVE1MKHRleHQpICsgJzwvZGl2Pic7CiAgICAgICAg +dmFyIGphQ2xzRmIgPSAnYnRuICcgKyAoamFEYW5nZXIgPyAnYnRuLWdlZmFocicgOiAnYnRuLXBy +aW1hZXInKTsKICAgICAgICB2YXIgZnVzc0ZiID0gJzxidXR0b24gY2xhc3M9ImJ0biIgaWQ9ImJl +c3QtbmVpbiIgdHlwZT0iYnV0dG9uIj5BYmJyZWNoZW48L2J1dHRvbj4nICsKICAgICAgICAgICAg +ICAgICAgICAgJzxidXR0b24gY2xhc3M9IicgKyBqYUNsc0ZiICsgJyIgaWQ9ImJlc3QtamEiIHR5 +cGU9ImJ1dHRvbiI+JyArIGVzY2FwZUhUTUwoamFUZXh0KSArICc8L2J1dHRvbj4nOwogICAgICAg +IG1vZGFsWmVpZ2VuKHRpdGVsIHx8ICdCZXN0w6R0aWd1bmcnLCBrb2VycGVyRmIsIGZ1c3NGYiwg +bnVsbCwgbnVsbCwgeyByZWluZXJEaWFsb2c6IHRydWUgfSk7CiAgICAgICAgZG9jdW1lbnQuZ2V0 +RWxlbWVudEJ5SWQoJ2Jlc3QtamEnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9u +KCkgewogICAgICAgICAgICBtb2RhbFNjaGxpZXNzZW4odHJ1ZSk7CiAgICAgICAgICAgIGlmICh0 +eXBlb2Ygb25KYSA9PT0gJ2Z1bmN0aW9uJykgb25KYSgpOwogICAgICAgIH0pOwogICAgICAgIGRv +Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdiZXN0LW5laW4nKS5hZGRFdmVudExpc3RlbmVyKCdjbGlj +aycsIGZ1bmN0aW9uKCkgeyBtb2RhbFNjaGxpZXNzZW4odHJ1ZSk7IH0pOwogICAgICAgIHJldHVy +bjsKICAgIH0KICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25maXJtLXRpdGVsJykudGV4 +dENvbnRlbnQgPSB0aXRlbCB8fCAnQmVzdMOkdGlndW5nJzsKICAgIGRvY3VtZW50LmdldEVsZW1l +bnRCeUlkKCdjb25maXJtLWtvZXJwZXInKS5pbm5lckhUTUwgPQogICAgICAgICc8ZGl2IHN0eWxl +PSJ3aGl0ZS1zcGFjZTpwcmUtbGluZTtsaW5lLWhlaWdodDoxLjU7cGFkZGluZzo4cHggMCI+JyAr +IGVzY2FwZUhUTUwodGV4dCkgKyAnPC9kaXY+JzsKICAgIHZhciBqYUNscyA9ICdidG4gJyArIChq +YURhbmdlciA/ICdidG4tZ2VmYWhyJyA6ICdidG4tcHJpbWFlcicpOwogICAgZG9jdW1lbnQuZ2V0 +RWxlbWVudEJ5SWQoJ2NvbmZpcm0tZnVzcycpLmlubmVySFRNTCA9CiAgICAgICAgJzxidXR0b24g +Y2xhc3M9ImJ0biIgaWQ9ImJlc3QtbmVpbiIgdHlwZT0iYnV0dG9uIj5BYmJyZWNoZW48L2J1dHRv +bj4nICsKICAgICAgICAnPGJ1dHRvbiBjbGFzcz0iJyArIGphQ2xzICsgJyIgaWQ9ImJlc3QtamEi +IHR5cGU9ImJ1dHRvbiI+JyArIGVzY2FwZUhUTUwoamFUZXh0KSArICc8L2J1dHRvbj4nOwogICAg +b3ZlcmxheS5jbGFzc0xpc3QucmVtb3ZlKCd2ZXJzdGVja3QnKTsKICAgIG92ZXJsYXkuc2V0QXR0 +cmlidXRlKCdhcmlhLWhpZGRlbicsICdmYWxzZScpOwoKICAgIC8vIFZvcmlnZW4gRm9rdXMgbWVy +a2VuIChrYW5uIGRlciBUcmlnZ2VyIGltIEhhdXB0bW9kYWwgc2VpbiksIGRhbmFjaAogICAgLy8g +d2llZGVyaGVyc3RlbGxlbi4gV2VubiBkYXMgQ29uZmlybS1PdmVybGF5IElOTkVSSEFMQiBlaW5l +cyBhbmRlcmVuCiAgICAvLyBNb2RhbHMgZXJzY2hlaW50LCBpc3QgYWN0aXZlRWxlbWVudCBlaW4g +QnV0dG9uIGltIEhhdXB0bW9kYWwg4oCUIGRlcgogICAgLy8gYmVrb21tdCBuYWNoIENvbmZpcm0t +U2NobGllc3NlbiBkZW4gRm9rdXMgenVydWVjay4KICAgIHZhciBmb2t1c1JldHVybiA9IGRvY3Vt +ZW50LmFjdGl2ZUVsZW1lbnQ7CiAgICBmdW5jdGlvbiBzY2hsaWVzc2VuKCkgewogICAgICAgIG92 +ZXJsYXkuY2xhc3NMaXN0LmFkZCgndmVyc3RlY2t0Jyk7CiAgICAgICAgb3ZlcmxheS5zZXRBdHRy +aWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTsKICAgICAgICBmb2t1c1RyYXBEZWFrdGl2aWVy +ZW4ob3ZlcmxheSk7CiAgICAgICAgaWYgKGZva3VzUmV0dXJuICYmIHR5cGVvZiBmb2t1c1JldHVy +bi5mb2N1cyA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgICAgICB0cnkgeyBmb2t1c1JldHVybi5m +b2N1cygpOyB9IGNhdGNoIChlKSB7fQogICAgICAgIH0KICAgIH0KICAgIGRvY3VtZW50LmdldEVs +ZW1lbnRCeUlkKCdiZXN0LWphJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigp +IHsKICAgICAgICBzY2hsaWVzc2VuKCk7CiAgICAgICAgaWYgKHR5cGVvZiBvbkphID09PSAnZnVu +Y3Rpb24nKSBvbkphKCk7CiAgICB9KTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiZXN0 +LW5laW4nKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHNjaGxpZXNzZW4pOwogICAgdmFyIHNj +aGxpZXNzQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbmZpcm0tc2NobGllc3Nlbi1i +dG4nKTsKICAgIGlmIChzY2hsaWVzc0J0bikgc2NobGllc3NCdG4ub25jbGljayA9IHNjaGxpZXNz +ZW47CiAgICAvLyBCYWNrZHJvcC1LbGljayAoYXVmIGRhcyBPdmVybGF5IHNlbGJzdCwgbmljaHQg +ZGVuIEluaGFsdCkgc2NobGllc3N0IGF1Y2guCiAgICBvdmVybGF5Lm9uY2xpY2sgPSBmdW5jdGlv +bihlKSB7IGlmIChlLnRhcmdldCA9PT0gb3ZlcmxheSkgc2NobGllc3NlbigpOyB9OwogICAgLy8g +YTExeTogRm9jdXMtVHJhcCArIEVTQy4gRVNDIHNjaGxpZXNzdCBudXIgZGllc2VzIE92ZXJsYXkg +KExJRk8gaW0KICAgIC8vIFN0YWNrKSwgSGF1cHRtb2RhbCBibGVpYnQgdW5hbmdldGFzdGV0Lgog +ICAgZm9rdXNUcmFwQWt0aXZpZXJlbihvdmVybGF5KTsKfQoKLy8gPT09PT0gRW50d3VyZnMtTG9j +YWxTdG9yYWdlIChTcGVjIEYuNCkgPT09PT0KLy8gU3BlaWNoZXJ1bmcgaW4gbG9jYWxTdG9yYWdl +ICd2aTMubW9kYWxFbnR3dWVyZmUnIGFscyBNYXAKLy8geyA8bW9kYWxLZXk+OiB7IHRzLCB0aXRl +bCwgZGF0ZW4gfSB9LCB3b2JlaSBkYXRlbiA9IHs8ZWxlbWVudElkPjogPHdlcnQ+fS4KLy8gQXV0 +by1Mb2VzY2ggbmFjaCAxNCBUYWdlbiDigJQgQ2xlYW51cCBsYWV1ZnQgYmVpbSBBcHAtSW5pdC4K +CmV4cG9ydCB2YXIgRU5UV1VSRl9UVExfVEFHRSA9IDE0OwpleHBvcnQgdmFyIEVOVFdVUkZfTFNf +S0VZID0gJ3ZpMy5tb2RhbEVudHd1ZXJmZSc7CgpmdW5jdGlvbiBlbnR3dWVyZmVMYWRlbigpIHsK +ICAgIHRyeSB7IHJldHVybiBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKEVOVFdVUkZf +TFNfS0VZKSB8fCAne30nKSB8fCB7fTsgfQogICAgY2F0Y2ggKGUpIHsgcmV0dXJuIHt9OyB9Cn0K +ZnVuY3Rpb24gZW50d3VlcmZlU3BlaWNoZXJuKG1hcCkgewogICAgdHJ5IHsgbG9jYWxTdG9yYWdl +LnNldEl0ZW0oRU5UV1VSRl9MU19LRVksIEpTT04uc3RyaW5naWZ5KG1hcCkpOyB9IGNhdGNoIChl +KSB7fQp9CmV4cG9ydCBmdW5jdGlvbiBlbnR3dXJmRnVlcihtb2RhbEtleSkgewogICAgaWYgKCFt +b2RhbEtleSkgcmV0dXJuIG51bGw7CiAgICB2YXIgbWFwID0gZW50d3VlcmZlTGFkZW4oKTsKICAg +IHJldHVybiBtYXBbbW9kYWxLZXldIHx8IG51bGw7Cn0KZXhwb3J0IGZ1bmN0aW9uIGVudHd1cmZT +cGVpY2hlcm4obW9kYWxLZXksIHRpdGVsLCBkYXRlbikgewogICAgaWYgKCFtb2RhbEtleSkgcmV0 +dXJuOwogICAgdmFyIG1hcCA9IGVudHd1ZXJmZUxhZGVuKCk7CiAgICBtYXBbbW9kYWxLZXldID0g +eyB0czogRGF0ZS5ub3coKSwgdGl0ZWw6IHRpdGVsIHx8ICcnLCBkYXRlbjogZGF0ZW4gfHwge30g +fTsKICAgIGVudHd1ZXJmZVNwZWljaGVybihtYXApOwp9CmV4cG9ydCBmdW5jdGlvbiBlbnR3dXJm +TG9lc2NoZW4obW9kYWxLZXkpIHsKICAgIGlmICghbW9kYWxLZXkpIHJldHVybjsKICAgIHZhciBt +YXAgPSBlbnR3dWVyZmVMYWRlbigpOwogICAgaWYgKG1vZGFsS2V5IGluIG1hcCkgeyBkZWxldGUg +bWFwW21vZGFsS2V5XTsgZW50d3VlcmZlU3BlaWNoZXJuKG1hcCk7IH0KfQpleHBvcnQgZnVuY3Rp +b24gZW50d3VyZkF1dG9DbGVhbnVwKCkgewogICAgdmFyIG1hcCA9IGVudHd1ZXJmZUxhZGVuKCk7 +CiAgICB2YXIgbnVuID0gRGF0ZS5ub3coKTsKICAgIHZhciBtYXggPSBFTlRXVVJGX1RUTF9UQUdF +ICogODY0MDAwMDA7CiAgICB2YXIgZ2VhZW5kZXJ0ID0gZmFsc2U7CiAgICBPYmplY3Qua2V5cyht +YXApLmZvckVhY2goZnVuY3Rpb24oaykgewogICAgICAgIGlmICghbWFwW2tdIHx8ICFtYXBba10u +dHMgfHwgKG51biAtIG1hcFtrXS50cykgPiBtYXgpIHsKICAgICAgICAgICAgZGVsZXRlIG1hcFtr +XTsgZ2VhZW5kZXJ0ID0gdHJ1ZTsKICAgICAgICB9CiAgICB9KTsKICAgIGlmIChnZWFlbmRlcnQp +IGVudHd1ZXJmZVNwZWljaGVybihtYXApOwp9CgovLyA9PT09PSBUYWItRHJhZnQtTG9jYWxTdG9y +YWdlIChQaGFzZSA5IOKAlCBBdXRvLVNhdmUgZnVlciBBZG1pbi1UYWJzKSA9PT09PQovLwovLyBF +aWdlbmVyIE5hbWVzcGFjZSAndmkzLnRhYkRyYWZ0cycgKGdldHJlbm50IHZvbiB2aTMubW9kYWxF +bnR3dWVyZmUpLCBkYW1pdAovLyBNb2RhbC0gdW5kIFRhYi1EcmFmdHMgc2ljaCBuaWNodCB1ZWJl +cnNjaG5laWRlbi4gU2VsYmVyIFRUTCAoMTQgVGFnZSksCi8vIHNlbGJlIENsZWFudXAtTG9naWsu +IEZvcm1hdCBwcm8gRWludHJhZzoKLy8gICB7IHRzLCBiYXNpc1RzLCBkYXRlbiB9Ci8vIC0gdHM6 +ICAgICAgWmVpdHN0ZW1wZWwgZGVzIGxldHp0ZW4gQXV0by1TYXZlCi8vIC0gYmFzaXNUczogU2Vy +dmVyLURhdGVuc3RhbmQtVFMgYmVpbSBCZWdpbm4gZGVyIEVkaXRpZXJ1bmcgKG5pY2h0IGFrdHVl +bGwKLy8gICBnZW51dHp0IGZ1ZXIgS29uZmxpa3Rlcmtlbm51bmcsIGFiZXIgUGxhdHpoYWx0ZXIg +ZnVlciBzcGFldGVyKQovLyAtIGRhdGVuOiAgIFRhYi1zcGV6aWZpc2NoZXIgU25hcHNob3QgKHBl +ciBzbmFwc2hvdEZuIHByb2R1emllcnQpCmV4cG9ydCB2YXIgVEFCX0RSQUZUX0xTX0tFWSA9ICd2 +aTMudGFiRHJhZnRzJzsKCmZ1bmN0aW9uIHRhYkRyYWZ0c0xhZGVuKCkgewogICAgdHJ5IHsgcmV0 +dXJuIEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oVEFCX0RSQUZUX0xTX0tFWSkgfHwg +J3t9JykgfHwge307IH0KICAgIGNhdGNoIChlKSB7IHJldHVybiB7fTsgfQp9CmZ1bmN0aW9uIHRh +YkRyYWZ0c1NwZWljaGVybihtYXApIHsKICAgIHRyeSB7IGxvY2FsU3RvcmFnZS5zZXRJdGVtKFRB +Ql9EUkFGVF9MU19LRVksIEpTT04uc3RyaW5naWZ5KG1hcCkpOyB9CiAgICBjYXRjaCAoZSkgeyAv +KiBRdW90YSB2b2xsPyBBdXRvLVNhdmUgc2NoZWl0ZXJ0IHN0dW1tIOKAlCBTZXJ2ZXItU2F2ZSBi +bGVpYnQgZGVyIHp1dmVybGFlc3NpZ2UgV2VnLiAqLyB9Cn0KZXhwb3J0IGZ1bmN0aW9uIHRhYkRy +YWZ0RnVlcih0YWJLZXkpIHsKICAgIGlmICghdGFiS2V5KSByZXR1cm4gbnVsbDsKICAgIHJldHVy +biB0YWJEcmFmdHNMYWRlbigpW3RhYktleV0gfHwgbnVsbDsKfQpleHBvcnQgZnVuY3Rpb24gdGFi +RHJhZnRTcGVpY2hlcm4odGFiS2V5LCBkYXRlbiwgYmFzaXNUcykgewogICAgaWYgKCF0YWJLZXkp +IHJldHVybjsKICAgIHZhciBtYXAgPSB0YWJEcmFmdHNMYWRlbigpOwogICAgbWFwW3RhYktleV0g +PSB7IHRzOiBEYXRlLm5vdygpLCBiYXNpc1RzOiBiYXNpc1RzIHx8IDAsIGRhdGVuOiBkYXRlbiA9 +PSBudWxsID8gbnVsbCA6IGRhdGVuIH07CiAgICB0YWJEcmFmdHNTcGVpY2hlcm4obWFwKTsKfQpl +eHBvcnQgZnVuY3Rpb24gdGFiRHJhZnRMb2VzY2hlbih0YWJLZXkpIHsKICAgIGlmICghdGFiS2V5 +KSByZXR1cm47CiAgICB2YXIgbWFwID0gdGFiRHJhZnRzTGFkZW4oKTsKICAgIGlmICh0YWJLZXkg +aW4gbWFwKSB7IGRlbGV0ZSBtYXBbdGFiS2V5XTsgdGFiRHJhZnRzU3BlaWNoZXJuKG1hcCk7IH0K +fQpleHBvcnQgZnVuY3Rpb24gdGFiRHJhZnRBdXRvQ2xlYW51cCgpIHsKICAgIHZhciBtYXAgPSB0 +YWJEcmFmdHNMYWRlbigpOwogICAgdmFyIG51biA9IERhdGUubm93KCk7CiAgICB2YXIgbWF4ID0g +RU5UV1VSRl9UVExfVEFHRSAqIDg2NDAwMDAwOwogICAgdmFyIGdlYWVuZGVydCA9IGZhbHNlOwog +ICAgT2JqZWN0LmtleXMobWFwKS5mb3JFYWNoKGZ1bmN0aW9uKGspIHsKICAgICAgICBpZiAoIW1h +cFtrXSB8fCAhbWFwW2tdLnRzIHx8IChudW4gLSBtYXBba10udHMpID4gbWF4KSB7CiAgICAgICAg +ICAgIGRlbGV0ZSBtYXBba107IGdlYWVuZGVydCA9IHRydWU7CiAgICAgICAgfQogICAgfSk7CiAg +ICBpZiAoZ2VhZW5kZXJ0KSB0YWJEcmFmdHNTcGVpY2hlcm4obWFwKTsKfQoKLy8gPT09PT0gTW9k +YWwtRm9ybS1EYXRlbiBsZXNlbi9zY2hyZWliZW4gPT09PT0KCi8vIExpZXN0IGFsbGUgRm9ybS1G +ZWxkZXIgaW0gYWt0dWVsbGVuIE1vZGFsIGFscyB7aWQ6IHdlcnR9LU9iamVrdC4KLy8gR2VudXR6 +dCBmdWVyIEVudHd1cmYtU2F2ZSB1bmQgRW50d3VyZi1SZXN0b3JlLiBSVEUtRmVsZGVyCi8vIChj +b250ZW50ZWRpdGFibGU9dHJ1ZSkgd2VyZGVuIHZpYSBpbm5lckhUTUwgbWl0IE1hcmtlci1QcmFl +Zml4IGVyZmFzc3QsCi8vIGRhbWl0IHNpZSBiZWltIFJlc3RvcmUga29ycmVrdCBhbHMgSFRNTCBz +dGF0dCBQbGFpbiByZWluZ2VzZXR6dCB3ZXJkZW4uCmV4cG9ydCBmdW5jdGlvbiBtb2RhbEZvcm1E +YXRlbkxlc2VuKCkgewogICAgdmFyIGtvZXJwZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn +bW9kYWwta29lcnBlcicpOwogICAgaWYgKCFrb2VycGVyKSByZXR1cm4ge307CiAgICB2YXIgZGF0 +ZW4gPSB7fTsKICAgIGtvZXJwZXIucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQsIHRleHRhcmVhLCBz +ZWxlY3QnKS5mb3JFYWNoKGZ1bmN0aW9uKGVsKSB7CiAgICAgICAgaWYgKCFlbC5pZCkgcmV0dXJu +OwogICAgICAgIGlmIChlbC50eXBlID09PSAnY2hlY2tib3gnIHx8IGVsLnR5cGUgPT09ICdyYWRp +bycpIGRhdGVuW2VsLmlkXSA9ICEhZWwuY2hlY2tlZDsKICAgICAgICBlbHNlIGRhdGVuW2VsLmlk +XSA9IGVsLnZhbHVlOwogICAgfSk7CiAgICBrb2VycGVyLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tjb250 +ZW50ZWRpdGFibGU9InRydWUiXScpLmZvckVhY2goZnVuY3Rpb24oZWwpIHsKICAgICAgICBpZiAo +IWVsLmlkKSByZXR1cm47CiAgICAgICAgZGF0ZW5bZWwuaWRdID0gJ19faHRtbF9fJyArIGVsLmlu +bmVySFRNTDsKICAgIH0pOwogICAgcmV0dXJuIGRhdGVuOwp9CgpleHBvcnQgZnVuY3Rpb24gbW9k +YWxGb3JtRGF0ZW5TY2hyZWliZW4oZGF0ZW4pIHsKICAgIGlmICghZGF0ZW4pIHJldHVybjsKICAg +IE9iamVjdC5rZXlzKGRhdGVuKS5mb3JFYWNoKGZ1bmN0aW9uKGlkKSB7CiAgICAgICAgdmFyIGVs +ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOwogICAgICAgIGlmICghZWwpIHJldHVybjsK +ICAgICAgICB2YXIgd2VydCA9IGRhdGVuW2lkXTsKICAgICAgICAvLyBIVE1MLVdlcnRlIChFbnR3 +dXJmLVJlc3RvcmUgYXVzIGxvY2FsU3RvcmFnZSwgY29udGVudGVkaXRhYmxlLVJURXMpOgogICAg +ICAgIC8vIHN0cmlrdCBkdXJjaCBkaWUgQWxsb3dsaXN0LVNhbml0aXplci1Qb2xpY3kuIFNvbnN0 +IGtvZW5udGUgZWluCiAgICAgICAgLy8gcHJhZXBhcmllcnRlciBQZXJzaXN0ZWQtSFRNTC1XZXJ0 +ICh6LkIuIHZpYSBkaXJla3RlbSBhZG1pbi5qc29uLUVkaXQpCiAgICAgICAgLy8gYmVpbSBSZXN0 +b3JlIGFrdGl2ZW4gU2NyaXB0LUNvZGUgaW5qaXppZXJlbi4KICAgICAgICBpZiAodHlwZW9mIHdl +cnQgPT09ICdzdHJpbmcnICYmIHdlcnQuaW5kZXhPZignX19odG1sX18nKSA9PT0gMCkgewogICAg +ICAgICAgICBlbC5pbm5lckhUTUwgPSBzYW5pdGl6ZVJpY2hIdG1sKHdlcnQuc2xpY2UoOCkpOwog +ICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGlmIChlbC50eXBlID09PSAnY2hl +Y2tib3gnIHx8IGVsLnR5cGUgPT09ICdyYWRpbycpIGVsLmNoZWNrZWQgPSAhIXdlcnQ7CiAgICAg +ICAgZWxzZSBpZiAoZWwudGFnTmFtZSA9PT0gJ0lOUFVUJyB8fCBlbC50YWdOYW1lID09PSAnVEVY +VEFSRUEnIHx8IGVsLnRhZ05hbWUgPT09ICdTRUxFQ1QnKSBlbC52YWx1ZSA9IHdlcnQ7CiAgICAg +ICAgZWxzZSBlbC5pbm5lckhUTUwgPSBzYW5pdGl6ZVJpY2hIdG1sKHR5cGVvZiB3ZXJ0ID09PSAn +c3RyaW5nJyA/IHdlcnQgOiAnJyk7CiAgICB9KTsKfQoKLy8gPT09PT0gTW9kYWwtU3lzdGVtID09 +PT09CgpleHBvcnQgZnVuY3Rpb24gbW9kYWxEaXJ0eVRyYWNraW5nQWt0aXZpZXJlbigpIHsKICAg +IHZhciBrb2VycGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGFsLWtvZXJwZXInKTsK +ICAgIGlmICgha29lcnBlcikgcmV0dXJuOwogICAgZnVuY3Rpb24gbWFya0RpcnR5KCkgeyBaLm1v +ZGFsRGlydHkgPSB0cnVlOyB9CiAgICB2YXIgaW5wdXRzID0ga29lcnBlci5xdWVyeVNlbGVjdG9y +QWxsKCdpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCwgW2NvbnRlbnRlZGl0YWJsZT0idHJ1ZSJdJyk7 +CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlucHV0cy5sZW5ndGg7IGkrKykgewogICAgICAgIGlu +cHV0c1tpXS5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIG1hcmtEaXJ0eSk7CiAgICAgICAgaW5w +dXRzW2ldLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIG1hcmtEaXJ0eSk7CiAgICB9Cn0KCmV4 +cG9ydCBmdW5jdGlvbiBtb2RhbFNwZWljaGVyQnV0dG9uQmluZGVuKCkgewogICAgaWYgKCFaLm1v +ZGFsT25TcGVpY2hlcm4pIHJldHVybjsKICAgIHZhciBidG4gPSBkb2N1bWVudC5nZXRFbGVtZW50 +QnlJZCgnZGxnLXNwZWljaGVybicpOwogICAgaWYgKCFidG4pIHJldHVybjsKICAgIGJ0bi5hZGRF +dmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgIC8vIFJlLUVudHJ5LVNj +aHV0eiAoQXVkaXQtUGhhc2UgQS4yLCAyMDI2LTA1LTIxKTogd2VubiBkZXIgVXNlcgogICAgICAg +IC8vIG1laHJmYWNoIHNjaG5lbGwgaGludGVyZWluYW5kZXIga2xpY2t0L0VudGVydGlwcHQsIHNv +bGwgZGVyIFNhdmUtCiAgICAgICAgLy8gQ2FsbGJhY2sgbnVyIGVpbiBNYWwgbGF1ZmVuLiBEaXJ0 +eS1GbGFnIHdpcmQgYXVjaCBnbGVpY2ggenVydWVjay0KICAgICAgICAvLyBnZXNldHp0LCBkYW1p +dCBlaW4gbmFjaGZvbGdlbmRlcyBtb2RhbFNjaGxpZXNzZW4oKSBpbSBDYWxsYmFjawogICAgICAg +IC8vIG9obmUgQ29uZmlybSBkdXJjaGdlaHQuCiAgICAgICAgaWYgKGJ0bi5kaXNhYmxlZCkgcmV0 +dXJuOwogICAgICAgIGJ0bi5kaXNhYmxlZCA9IHRydWU7CiAgICAgICAgWi5tb2RhbERpcnR5ID0g +ZmFsc2U7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgWi5tb2RhbE9uU3BlaWNoZXJuKCk7CiAg +ICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgLy8gRmFsbHMgZGFzIE1vZGFsIG5vY2ggb2Zm +ZW4gaXN0IChWYWxpZGllcnVuZyBzY2hsdWcgZmVobCwKICAgICAgICAgICAgLy8gdG9hc3Qgc3Rh +dHQgY2xvc2UpLCB3aWVkZXIgZnJlaWdlYmVuIOKAlCBzb25zdCBibGVpYnQgZGVyCiAgICAgICAg +ICAgIC8vIEJ1dHRvbiBkYXVlcmhhZnQgaW5ha3RpdiB1bmQgZGVyIFVzZXIgc2l0enQgZmVzdC4K +ICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBz +dGlsbE9wZW4gPSAhZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGFsLW92ZXJsYXknKS5jbGFz +c0xpc3QuY29udGFpbnMoJ3ZlcnN0ZWNrdCcpOwogICAgICAgICAgICAgICAgdmFyIHNhbWVCdG4g +PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGxnLXNwZWljaGVybicpOwogICAgICAgICAgICAg +ICAgaWYgKHN0aWxsT3BlbiAmJiBzYW1lQnRuID09PSBidG4pIGJ0bi5kaXNhYmxlZCA9IGZhbHNl +OwogICAgICAgICAgICB9LCAwKTsKICAgICAgICB9CiAgICB9KTsKfQoKLy8gbW9kYWxaZWlnZW4o +dGl0ZWwsIGtvZXJwZXJIdG1sLCBmdXNzSHRtbCwgb25TcGVpY2hlcm4sIG1vZGFsS2V5Pywgb3B0 +PykKLy8gbW9kYWxLZXkgaXN0IG9wdGlvbmFsIOKAlCB3ZW5uIGdlc2V0enQsIHdpcmQgZGVyIEVu +dHd1cmYtTWVjaGFuaXNtdXMKLy8gKFNwZWMgRi40KSBha3RpdmllcnQ6IFJlc3RvcmUtQmFubmVy +IGJlaW0gT3BlbiwgIkFscyBFbnR3dXJmIi1PcHRpb24KLy8gYmVpbSBWZXJ3ZXJmZW4tRGlhbG9n +LiBFbXBmb2hsZW4gZnVlciBhbGxlIE1vZGFscyBtaXQgbmljaHQtdHJpdmlhbGVuCi8vIEVpbmdh +YmVuIChFLU1haWwtVm9ybGFnZW4sIFBlcnNvbi1FZGl0LCBTb25kZXJ0ZXJtaW4sIGV0Yy4pLgov +LyBvcHQucmVpbmVyRGlhbG9nPXRydWUgdWViZXJzcHJpbmd0IERpcnR5LVRyYWNraW5nICsgU3Bl +aWNoZXItQnV0dG9uLQovLyBCaW5kaW5nIOKAlCBmdWVyIENvbmZpcm0tL0luZm8tTW9kYWxzIG9o +bmUgRm9ybS1JbnB1dHMgKEJlc3RhZXRpZ2VuLAovLyBWZXJhbnR3b3J0dW5ncy1VZWJlcmdhbmcp +LiBTcGFydCBRdWVyeXMgdW5kIExpc3RlbmVyLUJpbmRpbmdzIGF1ZiBkZW4KLy8gbGFuZ3NhbWVu +IEJlaG9lcmRlbi1QQ3MuCmV4cG9ydCBmdW5jdGlvbiBtb2RhbFplaWdlbih0aXRlbCwga29lcnBl +ckh0bWwsIGZ1c3NIdG1sLCBvblNwZWljaGVybiwgbW9kYWxLZXksIG9wdCkgewogICAgb3B0ID0g +b3B0IHx8IHt9OwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGFsLXRpdGVsJykudGV4 +dENvbnRlbnQgPSB0aXRlbDsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbC1rb2Vy +cGVyJykuaW5uZXJIVE1MID0ga29lcnBlckh0bWw7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ +ZCgnbW9kYWwtZnVzcycpLmlubmVySFRNTCA9IGZ1c3NIdG1sOwogICAgdmFyIG92ZXJsYXkgPSBk +b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9kYWwtb3ZlcmxheScpOwogICAgb3ZlcmxheS5jbGFz +c0xpc3QucmVtb3ZlKCd2ZXJzdGVja3QnKTsKICAgIG92ZXJsYXkuc2V0QXR0cmlidXRlKCdhcmlh +LWhpZGRlbicsICdmYWxzZScpOwoKICAgIFoubW9kYWxEaXJ0eSA9IGZhbHNlOwogICAgWi5tb2Rh +bE9uU3BlaWNoZXJuID0gb25TcGVpY2hlcm4gfHwgbnVsbDsKICAgIFoubW9kYWxTcGVpY2hlckZ1 +c3NIdG1sID0gZnVzc0h0bWwgfHwgJyc7CiAgICBaLm1vZGFsS2V5ID0gbW9kYWxLZXkgfHwgbnVs +bDsKICAgIC8vIEF1dG8tU2F2ZSAoUGFrZXQtQywgMjAyNi0wNS0yOSk6IHdlbm4gb3B0LmF1dG9T +YXZlIGdlc2V0enQgaXN0LCBydWZ0CiAgICAvLyBtb2RhbFNjaGxpZXNzZW4oKSBiZWkgZGlydHkg +YXV0b21hdGlzY2ggb25TcGVpY2hlcm4oKSBzdGF0dCBkZW4KICAgIC8vICJWZXJ3ZXJmZW4/IFNw +ZWljaGVybj8iLURpYWxvZyB6dSB6ZWlnZW4uIFVzZXItUHJhZWZlcmVuejogd2VuaWdlcgogICAg +Ly8gS2xpY2tzLCBFaW5nYWJlbiBnZWhlbiBuaWNodCBhdXMgVmVyc2VoZW4gdmVybG9yZW4uCiAg +ICBaLm1vZGFsQXV0b1NhdmUgPSAhIW9wdC5hdXRvU2F2ZTsKCiAgICBpZiAoIW9wdC5yZWluZXJE +aWFsb2cpIHsKICAgICAgICBtb2RhbFNwZWljaGVyQnV0dG9uQmluZGVuKCk7CiAgICAgICAgbW9k +YWxEaXJ0eVRyYWNraW5nQWt0aXZpZXJlbigpOwogICAgfQoKICAgIC8vIExhZW5nZW4tQ291bnRl +ciBmdWVyIEZlbGRlciBtaXQgZGF0YS1tYXhsZW5ndGgtY291bnRlciBpbml0aWFsaXNpZXJlbi4K +ICAgIGxhZW5nZUNvdW50ZXJJbUNvbnRhaW5lckluaXRpYWxpc2llcmVuKGRvY3VtZW50LmdldEVs +ZW1lbnRCeUlkKCdtb2RhbC1rb2VycGVyJykpOwoKICAgIC8vIEVudHd1cmYtUmVzdG9yZS1CYW5u +ZXIgZmFsbHMgdm9yaGFuZGVuCiAgICBpZiAobW9kYWxLZXkpIHsKICAgICAgICB2YXIgZW50d3Vy +ZiA9IGVudHd1cmZGdWVyKG1vZGFsS2V5KTsKICAgICAgICBpZiAoZW50d3VyZikgbW9kYWxFbnR3 +dXJmQmFubmVyWmVpZ2VuKGVudHd1cmYpOwogICAgfQoKICAgIC8vIGExMXkgKFNwcmludCA2YSAy +MDI2LTA1LTI5KTogRm9jdXMtVHJhcCBha3RpdmllcmVuICsgZXJzdGVuIEZva3VzCiAgICAvLyBp +biBkYXMgTW9kYWwgc2V0emVuLiBWb3JoZXIgYWt0aXZlciBGb2t1cyB3aXJkIGluIFoubW9kYWxG +b2N1c1JldHVybgogICAgLy8gZ2VtZXJrdCwgZGFtaXQgbW9kYWxTY2hsaWVzc2VuKCkgaWhuIHJl +c3RhdXJpZXJ0LgogICAgWi5tb2RhbEZvY3VzUmV0dXJuID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVu +dDsKICAgIGZva3VzVHJhcEFrdGl2aWVyZW4ob3ZlcmxheSk7Cn0KCmV4cG9ydCBmdW5jdGlvbiBt +b2RhbFNjaGxpZXNzZW4oZm9yY2UpIHsKICAgIGlmICghZm9yY2UgJiYgWi5tb2RhbERpcnR5KSB7 +CiAgICAgICAgLy8gQXV0by1TYXZlLU1vZHVzIChQYWtldC1DLCAyMDI2LTA1LTI5KTogd2VubiBk +ZXIgQXVmcnVmZXIKICAgICAgICAvLyB7YXV0b1NhdmU6dHJ1ZX0gZ2VzZXR6dCB1bmQgZWluZW4g +U3BlaWNoZXItSGFuZGxlciByZWdpc3RyaWVydAogICAgICAgIC8vIGhhdCwgc3BlaWNoZXJuIHdp +ciBkaXJla3QuIERlciBIYW5kbGVyIHNjaGxpZXNzdCBkYXMgTW9kYWwKICAgICAgICAvLyBzZWxi +c3QgYmVpIEVyZm9sZyAob2RlciB6ZWlndCBWYWxpZGllcnVuZ3MtVG9hc3QgdW5kIGxhZXNzdCBl +cwogICAgICAgIC8vIG9mZmVuKS4gQmVpIE1pc3NlcmZvbGcgc2llaHQgZGVyIFVzZXIgZGllIFBm +bGljaHRmZWxkLUhlcnZvci0KICAgICAgICAvLyBoZWJ1bmcgdW5kIGthbm4gbmFjaGJlc3Nlcm4u +CiAgICAgICAgaWYgKFoubW9kYWxBdXRvU2F2ZSAmJiB0eXBlb2YgWi5tb2RhbE9uU3BlaWNoZXJu +ID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgIHRyeSB7IFoubW9kYWxPblNwZWljaGVybigp +OyB9IGNhdGNoIChfKSB7fQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIG1v +ZGFsRGlydHlCZXN0YWV0aWd1bmdaZWlnZW4oKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBa +Lm1vZGFsRGlydHkgPSBmYWxzZTsKICAgIFoubW9kYWxPblNwZWljaGVybiA9IG51bGw7CiAgICBa +Lm1vZGFsU3BlaWNoZXJGdXNzSHRtbCA9IG51bGw7CiAgICBaLm1vZGFsS2V5ID0gbnVsbDsKICAg +IFoubW9kYWxPbkRpc2NhcmQgPSBudWxsOwogICAgWi5tb2RhbEF1dG9TYXZlID0gZmFsc2U7CiAg +ICB2YXIgb3ZlcmxheSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbC1vdmVybGF5Jyk7 +CiAgICBvdmVybGF5LmNsYXNzTGlzdC5hZGQoJ3ZlcnN0ZWNrdCcpOwogICAgb3ZlcmxheS5zZXRB +dHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTsKICAgIC8vIGRhdGEtbm8tY2xvc2UgKHNp +ZWhlIGFwcC5qcyBCYWNrZHJvcC1IYW5kbGVyKSB6dXJ1ZWNrc2V0emVuLCBzb25zdAogICAgLy8g +d3VlcmRlIGRhcyBuYWVjaHN0ZSBNb2RhbCBkZW4gU2NodXR6IGVyYmVuLgogICAgb3ZlcmxheS5y +ZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtbm8tY2xvc2UnKTsKICAgIC8vIE1vZGFsLVNwZXppYWwtR3Jv +ZXNzZW5rbGFzc2Ugd2llZGVyIGVudGZlcm5lbiwgZGFtaXQgZGFzIG5hZWNoc3RlCiAgICAvLyBN +b2RhbCB3aWVkZXIgU3RhbmRhcmQtNjIwcHggaGF0CiAgICB2YXIgaW5oYWx0ID0gZG9jdW1lbnQu +cXVlcnlTZWxlY3RvcignI21vZGFsLW92ZXJsYXkgLm1vZGFsLWluaGFsdCcpOwogICAgaWYgKGlu +aGFsdCkgaW5oYWx0LmNsYXNzTGlzdC5yZW1vdmUoJ21vZGFsLWluaGFsdC1ncm9zcycpOwoKICAg +IC8vIGExMXkgKFNwcmludCA2YSAyMDI2LTA1LTI5KTogRm9jdXMtVHJhcCBhdXMsIEZva3VzIHp1 +cnVlY2suCiAgICBmb2t1c1RyYXBEZWFrdGl2aWVyZW4ob3ZlcmxheSk7CiAgICBpZiAoWi5tb2Rh +bEZvY3VzUmV0dXJuICYmIHR5cGVvZiBaLm1vZGFsRm9jdXNSZXR1cm4uZm9jdXMgPT09ICdmdW5j +dGlvbicpIHsKICAgICAgICB0cnkgeyBaLm1vZGFsRm9jdXNSZXR1cm4uZm9jdXMoKTsgfSBjYXRj +aCAoZSkge30KICAgIH0KICAgIFoubW9kYWxGb2N1c1JldHVybiA9IG51bGw7Cn0KCmV4cG9ydCBm +dW5jdGlvbiBtb2RhbERpcnR5QmVzdGFldGlndW5nWmVpZ2VuKCkgewogICAgdmFyIGZ1c3MgPSBk +b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9kYWwtZnVzcycpOwogICAgaWYgKCFmdXNzKSByZXR1 +cm47CiAgICBpZiAoZnVzcy5xdWVyeVNlbGVjdG9yKCcuZGlydHktd2Fybi16ZWlsZScpKSByZXR1 +cm47IC8vIGJlcmVpdHMgYWt0aXYKICAgIC8vIEVudHd1cmYtQnV0dG9uIG51ciB3ZW5uIGRlciBB +dWZydWZlciBlaW5lbiBtb2RhbEtleSBnZXNldHp0IGhhdAogICAgdmFyIGVudHd1cmZCdG4gPSBa +Lm1vZGFsS2V5CiAgICAgICAgPyAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWsiIGlkPSJkaXJ0 +eS1lbnR3dXJmIiB0eXBlPSJidXR0b24iIHRpdGxlPSJFaW5nYWJlbiBhbHMgRW50d3VyZiB6d2lz +Y2hlbnNwZWljaGVybiAobWF4ICcgKyBFTlRXVVJGX1RUTF9UQUdFICsgJyBUYWdlKSI+QWxzIEVu +dHd1cmY8L2J1dHRvbj4nCiAgICAgICAgOiAnJzsKICAgIC8vIFNwZWljaGVybi1CdXR0b24gbnVy +IHdlbm4gZGVyIE1vZGFsLUNhbGxlciBlaW5lbiBvblNwZWljaGVybi1IYW5kbGVyCiAgICAvLyBy +ZWdpc3RyaWVydCBoYXQuIFNwYXJ0IGRlbSBVc2VyIGRlbiBVbXdlZyB1ZWJlciAiV2VpdGVyIGJl +YXJiZWl0ZW4iCiAgICAvLyArIEtsaWNrIGF1ZiBkZW4gZWlnZW50bGljaGVuIFNwZWljaGVybi1C +dXR0b24gaW0gTW9kYWwtRm9vdGVyLgogICAgdmFyIHNwZWljaGVybkJ0biA9ICh0eXBlb2YgWi5t +b2RhbE9uU3BlaWNoZXJuID09PSAnZnVuY3Rpb24nKQogICAgICAgID8gJzxidXR0b24gY2xhc3M9 +ImJ0biBidG4tcHJpbWFlciIgaWQ9ImRpcnR5LXNwZWljaGVybiIgdHlwZT0iYnV0dG9uIj5TcGVp +Y2hlcm48L2J1dHRvbj4nCiAgICAgICAgOiAnJzsKICAgIGZ1c3MuaW5uZXJIVE1MID0KICAgICAg +ICAnPGRpdiBjbGFzcz0iZGlydHktd2Fybi16ZWlsZSIgc3R5bGU9Im1hcmdpbi1yaWdodDphdXRv +O2NvbG9yOnZhcigtLWZhcmJlLXdhcm51bmcpO2ZvbnQtd2VpZ2h0OjYwMDtkaXNwbGF5OmZsZXg7 +YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHgiPicgKwogICAgICAgICAgICAnPHNwYW4+VW5nZXNw +ZWljaGVydGUgw4RuZGVydW5nZW48L3NwYW4+JyArCiAgICAgICAgJzwvZGl2PicgKwogICAgICAg +ICc8YnV0dG9uIGNsYXNzPSJidG4iIGlkPSJkaXJ0eS16dXJ1ZWNrIiB0eXBlPSJidXR0b24iPldl +aXRlciBiZWFyYmVpdGVuPC9idXR0b24+JyArCiAgICAgICAgZW50d3VyZkJ0biArCiAgICAgICAg +JzxidXR0b24gY2xhc3M9ImJ0biBidG4tZ2VmYWhyIiBpZD0iZGlydHktdmVyd2VyZmVuIiB0eXBl +PSJidXR0b24iPlZlcndlcmZlbjwvYnV0dG9uPicgKwogICAgICAgIHNwZWljaGVybkJ0bjsKICAg +IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaXJ0eS16dXJ1ZWNrJykuYWRkRXZlbnRMaXN0ZW5l +cignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICBmdXNzLmlubmVySFRNTCA9IFoubW9kYWxT +cGVpY2hlckZ1c3NIdG1sIHx8ICcnOwogICAgICAgIG1vZGFsU3BlaWNoZXJCdXR0b25CaW5kZW4o +KTsKICAgIH0pOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RpcnR5LXZlcndlcmZlbicp +LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgLy8gV2VubiBl +aW4gRW50d3VyZiBnZXNwZWljaGVydCB3YXI6IG5pY2h0IGF1dG9tYXRpc2NoIGxvZXNjaGVuLAog +ICAgICAgIC8vIGRhbWl0IGRlciBVc2VyIGlobiBiZWltIG5hZWNoc3RlbiBPZWZmbmVuIHdpZWRl +ciBmaW5kZXQg4oCUCiAgICAgICAgLy8gYWJlciBkZXIgYWt0dWVsbGUgVmVyd2VyZmVuLUtsaWNr +IHNjaGxpZXNzdCB0cm90emRlbS4KICAgICAgICAvLyBadXNhZXR6bGljaDogTW9kdWwtc3Blemlm +aXNjaGVyIERpc2NhcmQtSG9vayBmdWVyIFJvbGxiYWNrLUxvZ2lrCiAgICAgICAgLy8gKEV4Y2Vs +LUltcG9ydC1NYXBwaW5nIHJvbGx0IGltcFN0YXRlIGF1ZiBTbmFwc2hvdCB6dXJ1ZWNrKS4KICAg +ICAgICBpZiAodHlwZW9mIFoubW9kYWxPbkRpc2NhcmQgPT09ICdmdW5jdGlvbicpIHsKICAgICAg +ICAgICAgdHJ5IHsgWi5tb2RhbE9uRGlzY2FyZCgpOyB9IGNhdGNoIChlKSB7fQogICAgICAgIH0K +ICAgICAgICBtb2RhbFNjaGxpZXNzZW4odHJ1ZSk7CiAgICB9KTsKICAgIHZhciBlbnR3dXJmRWwg +PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGlydHktZW50d3VyZicpOwogICAgaWYgKGVudHd1 +cmZFbCkgZW50d3VyZkVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAg +ICAgICAgdmFyIHRpdGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGFsLXRpdGVsJykg +PyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9kYWwtdGl0ZWwnKS50ZXh0Q29udGVudCA6ICcn +OwogICAgICAgIGVudHd1cmZTcGVpY2hlcm4oWi5tb2RhbEtleSwgdGl0ZWwsIG1vZGFsRm9ybURh +dGVuTGVzZW4oKSk7CiAgICAgICAgdG9hc3QoJ0FscyBFbnR3dXJmIGdlc3BlaWNoZXJ0ICgnICsg +RU5UV1VSRl9UVExfVEFHRSArICcgVGFnZSBoYWx0YmFyKScsICdlcmZvbGcnKTsKICAgICAgICBt +b2RhbFNjaGxpZXNzZW4odHJ1ZSk7CiAgICB9KTsKICAgIHZhciBzcGVpY2hlcm5FbCA9IGRvY3Vt +ZW50LmdldEVsZW1lbnRCeUlkKCdkaXJ0eS1zcGVpY2hlcm4nKTsKICAgIGlmIChzcGVpY2hlcm5F +bCkgc3BlaWNoZXJuRWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAg +ICAgICAvLyBSZS1FbnRyeS1TY2h1dHogKEF1ZGl0LVBoYXNlIEEuMiwgMjAyNi0wNS0yMSkuCiAg +ICAgICAgaWYgKHNwZWljaGVybkVsLmRpc2FibGVkKSByZXR1cm47CiAgICAgICAgc3BlaWNoZXJu +RWwuZGlzYWJsZWQgPSB0cnVlOwogICAgICAgIC8vIFZvcmdlbWVya3RlbiBTYXZlLUhhbmRsZXIg +YXVmcnVmZW47IGRlciBpc3QgdmlhIG1vZGFsWmVpZ2VuKCkKICAgICAgICAvLyBnZXNldHp0IHVu +ZCBrdWVtbWVydCBzaWNoIHVtIFZhbGlkaWVydW5nICsgQVBJLUF1ZnJ1ZiArIFNjaGxpZXNzZW4u +CiAgICAgICAgdHJ5IHsgWi5tb2RhbE9uU3BlaWNoZXJuKCk7IH0gY2F0Y2ggKGUpIHsKICAgICAg +ICAgICAgdG9hc3QoJ0ZlaGxlciBiZWltIFNwZWljaGVybjogJyArIChlICYmIGUubWVzc2FnZSB8 +fCBlKSwgJ2ZlaGxlcicpOwogICAgICAgICAgICBzcGVpY2hlcm5FbC5kaXNhYmxlZCA9IGZhbHNl +OwogICAgICAgIH0KICAgIH0pOwp9CgovLyBSZXN0b3JlLUJhbm5lciBiZWltIE1vZGFsLU9wZW4g +KFNwZWMgRi40KTogd2VubiBmdWVyIGRlbiBtb2RhbEtleSBlaW4KLy8gRW50d3VyZiBleGlzdGll +cnQsIG9iZW4gaW0gTW9kYWwtS29lcnBlciBlaW4gZGV6ZW50ZXMgQmFubmVyIG1pdAovLyBXaWVk +ZXJoZXJzdGVsbGVuICsgVmVyd2VyZmVuLgpleHBvcnQgZnVuY3Rpb24gbW9kYWxFbnR3dXJmQmFu +bmVyWmVpZ2VuKGVudHd1cmYpIHsKICAgIHZhciBrb2VycGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVu +dEJ5SWQoJ21vZGFsLWtvZXJwZXInKTsKICAgIGlmICgha29lcnBlciB8fCAhZW50d3VyZikgcmV0 +dXJuOwogICAgdmFyIGFsdFRhZ2UgPSBNYXRoLm1heCgwLCBNYXRoLmZsb29yKChEYXRlLm5vdygp +IC0gZW50d3VyZi50cykgLyA4NjQwMDAwMCkpOwogICAgdmFyIGFsdFRleHQgPSBhbHRUYWdlID09 +PSAwID8gJ2hldXRlJyA6IChhbHRUYWdlID09PSAxID8gJ2dlc3Rlcm4nIDogJ3ZvciAnICsgYWx0 +VGFnZSArICcgVGFnZW4nKTsKICAgIHZhciBiYW5uZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50 +KCdkaXYnKTsKICAgIGJhbm5lci5jbGFzc05hbWUgPSAnbW9kYWwtZW50d3VyZi1iYW5uZXInOwog +ICAgYmFubmVyLmlubmVySFRNTCA9CiAgICAgICAgJzxzcGFuIGNsYXNzPSJtZWItdGV4dCI+RHUg +aGFzdCBoaWVyIGVpbmVuIEVudHd1cmYgdm9uIDxzdHJvbmc+JyArIGVzY2FwZUhUTUwoYWx0VGV4 +dCkgKyAnPC9zdHJvbmc+IGxpZWdlbi4gV2llZGVyaGVyc3RlbGxlbj88L3NwYW4+JyArCiAgICAg +ICAgJzxidXR0b24gY2xhc3M9ImJ0biBidG4ta2xlaW4gYnRuLXByaW1hZXIiIHR5cGU9ImJ1dHRv +biIgaWQ9Im1lYi1yZXN0b3JlIj5XaWVkZXJoZXJzdGVsbGVuPC9idXR0b24+JyArCiAgICAgICAg +JzxidXR0b24gY2xhc3M9ImJ0biBidG4ta2xlaW4iIHR5cGU9ImJ1dHRvbiIgaWQ9Im1lYi12ZXJ3 +ZXJmZW4iIHRpdGxlPSJFbnR3dXJmIGVuZGfDvGx0aWcgbMO2c2NoZW4iPlZlcndlcmZlbjwvYnV0 +dG9uPic7CiAgICBrb2VycGVyLmluc2VydEJlZm9yZShiYW5uZXIsIGtvZXJwZXIuZmlyc3RDaGls +ZCk7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWViLXJlc3RvcmUnKS5hZGRFdmVudExp +c3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgIG1vZGFsRm9ybURhdGVuU2NocmVp +YmVuKGVudHd1cmYuZGF0ZW4pOwogICAgICAgIGVudHd1cmZMb2VzY2hlbihaLm1vZGFsS2V5KTsK +ICAgICAgICBiYW5uZXIucmVtb3ZlKCk7CiAgICAgICAgWi5tb2RhbERpcnR5ID0gdHJ1ZTsKICAg +ICAgICB0b2FzdCgnRW50d3VyZiB3aWVkZXJoZXJnZXN0ZWxsdCcsICdlcmZvbGcnKTsKICAgIH0p +OwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lYi12ZXJ3ZXJmZW4nKS5hZGRFdmVudExp +c3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgIGVudHd1cmZMb2VzY2hlbihaLm1v +ZGFsS2V5KTsKICAgICAgICBiYW5uZXIucmVtb3ZlKCk7CiAgICAgICAgdG9hc3QoJ0VudHd1cmYg +Z2Vsw7ZzY2h0JywgJ2luZm8nKTsKICAgIH0pOwp9CgovLyA9PT09PSBaZW50cmFsZXIgRGlydHkt +VHJhY2tlciA9PT09PQovLyBNb3RpdmF0aW9uOiBUYWJlbGxlbi1JbnB1dHMgKEZhY2hhdWZzaWNo +dCwgU3VwZXJVc2VyLCBEaWVuc3RncnVwcGVuLCDigKYpCi8vIHdlcmRlbiBudXIgYmVpbSBLbGlj +ayBhdWYgIlNwZWljaGVybiIgcGVyc2lzdGllcnQuIFdlciBkZW4gVGFiIHZvcmhlcgovLyB3ZWNo +c2VsdCwgdmVybGllcnQgZGllIEVpbmdhYmVuLiBEZXIgVHJhY2tlciBzYW1tZWx0IHBybyBUYWIg +ZWluZW4KLy8gRGlydHktU3RhdGUsIGxhZXNzdCBkZW4gU2F2ZS1CdXR0b24gcHVsc2VuICsgZWlu +ZW4gIlVuZ2VzcGVpY2hlcnRlCi8vIEFlbmRlcnVuZ2VuIi1IaW53ZWlzIGVyc2NoZWluZW4sIHVu +ZCB6ZWlndCBiZWltIFRhYi1XZWNoc2VsIGVpbgovLyBCZXN0YWV0aWd1bmdzLU1vZGFsIG1pdCBT +cGVpY2hlcm4vVmVyd2VyZmVuL0FiYnJlY2hlbi4KLy8KLy8gVGFiLXNwZXppZmlzY2hlIFJlZ2lz +dHJhdGlvbnMgbGViZW4gaW4gZGVyIGF1ZnJ1ZmVuZGVuIEluaXQtRnVua3Rpb24KLy8gKGFrdHVl +bGwgZGlydHlUcmFja2VyRWlucmljaHRlbiBpbiBhcHAuanMsIGFiIFBoYXNlIDggaW4gYWRtaW4v +YWRtaW4uanMpLgovLyBIaWVyIG51ciBkaWUgZ2VuZXJpc2NoZSBSZWdpc3RyeS0gdW5kIEFrdGlv +bnMtQVBJLgoKdmFyIERJUlRZID0ge307ICAvLyB0YWJJZCAtPiB7IGRpcnR5LCBsYWJlbCwgYnRu +SWRzW10sIGhpbnRJZHNbXSwgc2F2ZUZuPywgZGlzY2FyZEZuPywgY2hhbmdlU3VtbWFyeT8gfQoK +ZXhwb3J0IGZ1bmN0aW9uIGRpcnR5UmVnaXN0cmllcmUodGFiSWQsIGNmZykgewogICAgRElSVFlb +dGFiSWRdID0gewogICAgICAgIGRpcnR5OiBmYWxzZSwKICAgICAgICBsYWJlbDogY2ZnLmxhYmVs +IHx8IHRhYklkLAogICAgICAgIGJ0bklkczogY2ZnLmJ0bklkcyB8fCAoY2ZnLmJ0bklkID8gW2Nm +Zy5idG5JZF0gOiBbXSksCiAgICAgICAgaGludElkczogY2ZnLmhpbnRJZHMgfHwgKGNmZy5oaW50 +SWQgPyBbY2ZnLmhpbnRJZF0gOiBbXSksCiAgICAgICAgc2F2ZUZuOiBjZmcuc2F2ZUZuIHx8IG51 +bGwsCiAgICAgICAgZGlzY2FyZEZuOiBjZmcuZGlzY2FyZEZuIHx8IG51bGwsCiAgICAgICAgLy8g +Y2hhbmdlU3VtbWFyeTogZnVuY3Rpb24oKSAtPiBBcnJheTxTdHJpbmc+IG1pdCBrb25rcmV0ZW4K +ICAgICAgICAvLyBBZW5kZXJ1bmdzLUJlc2NocmVpYnVuZ2VuICgiR3J1cHBlIEEgdW1iZW5hbm50 +IHp1IEEtU2NoaWNodCIsCiAgICAgICAgLy8gIkZhcmJlIEdydXBwZSBCIGdlYWVuZGVydCIpLiBX +aXJkIHZvbiBkaXJ0eVBydWVmZW4oKSBpbSBEaWFsb2cKICAgICAgICAvLyBwcm8gVGFiIGdlcmVu +ZGVydC4gV2VubiBuaWNodCBnZXNldHp0OiBudXIgVGFiLUxhYmVsIGltIERpYWxvZy4KICAgICAg +ICBjaGFuZ2VTdW1tYXJ5OiBjZmcuY2hhbmdlU3VtbWFyeSB8fCBudWxsLAogICAgICAgIC8vIFBo +YXNlLTkgQXV0by1TYXZlIChsb2thbGVyIERyYWZ0IGltIGxvY2FsU3RvcmFnZSk6CiAgICAgICAg +Ly8gLSBkcmFmdEtleTogICBTY2hsdWVzc2VsIGltIHZpMy50YWJEcmFmdHMtTmFtZXNwYWNlICh6 +LkIuICdncnVwcGVuJykKICAgICAgICAvLyAtIHNuYXBzaG90Rm46IGZ1bmN0aW9uKCkgLT4gYmVs +aWViaWdlIERhdGVuIOKAlCBsaWVmZXJ0IGFrdHVlbGxlbgogICAgICAgIC8vICAgU2VrdGlvbnMt +U3RhbmQgenVtIFBlcnNpc3RpZXJlbiBhbHMgRHJhZnQKICAgICAgICAvLyAtIHJlc3RvcmVGbjog +IGZ1bmN0aW9uKGRhdGVuKSAtPiB3ZW5kZXQgZWluZW4gRHJhZnQgYXVmIGRlbiBET00vU3RhdGUg +YW4KICAgICAgICAvLyBOdXIgd2VubiBhbGxlIGRyZWkgZ2VzZXR6dCBzaW5kLCBzY2hyZWlidCBk +ZXIgVHJhY2tlciBiZWkgamVkZW0KICAgICAgICAvLyBpbnB1dC9jaGFuZ2UtRXZlbnQgZWluZW4g +RHJhZnQgKGRlYm91bmNlZCAycykuIEJlaW0gU2F2ZSB3aXJkIGVyCiAgICAgICAgLy8gdm9tIGpl +d2VpbGlnZW4gSGFuZGxlciB2aWEgdGFiRHJhZnRMb2VzY2hlbiBhdWZnZXJhZXVtdC4KICAgICAg +ICBkcmFmdEtleTogY2ZnLmRyYWZ0S2V5IHx8IG51bGwsCiAgICAgICAgc25hcHNob3RGbjogY2Zn +LnNuYXBzaG90Rm4gfHwgbnVsbCwKICAgICAgICByZXN0b3JlRm46IGNmZy5yZXN0b3JlRm4gfHwg +bnVsbAogICAgfTsKfQoKLy8gTGllZmVydCBkaWUgUmVnaXN0cnktRWludHJhZWdlIChyZWFkLW9u +bHkgWnVncmlmZiBmdWVyIGRlbiBUcmFja2VyCi8vIGltIGFkbWluLmpzLCBkYW1pdCBlciBzbmFw +c2hvdEZuL2RyYWZ0S2V5IGxlc2VuIGthbm4gb2huZSBlaW4KLy8gd2VpdGVyZXMgRXhwb3J0LVN5 +bWJvbCkuIEJld3Vzc3Qga2xlaW4gZ2VoYWx0ZW46IG51ciBGZWxkZXIsIGRpZQovLyBkZXIgVHJh +Y2tlciB0YXRzYWVjaGxpY2ggYnJhdWNodC4KZXhwb3J0IGZ1bmN0aW9uIGRpcnR5RWludHJhZyh0 +YWJJZCkgewogICAgdmFyIHIgPSBESVJUWVt0YWJJZF07CiAgICBpZiAoIXIpIHJldHVybiBudWxs +OwogICAgcmV0dXJuIHsgZHJhZnRLZXk6IHIuZHJhZnRLZXksIHNuYXBzaG90Rm46IHIuc25hcHNo +b3RGbiwgcmVzdG9yZUZuOiByLnJlc3RvcmVGbiwgbGFiZWw6IHIubGFiZWwgfTsKfQoKZXhwb3J0 +IGZ1bmN0aW9uIGRpcnR5U2V0emVuKHRhYklkLCB3ZXJ0KSB7CiAgICBpZiAoIURJUlRZW3RhYklk +XSkgcmV0dXJuOwogICAgRElSVFlbdGFiSWRdLmRpcnR5ID0gISF3ZXJ0OwogICAgRElSVFlbdGFi +SWRdLmJ0bklkcy5mb3JFYWNoKGZ1bmN0aW9uKGlkKSB7CiAgICAgICAgdmFyIGIgPSBkb2N1bWVu +dC5nZXRFbGVtZW50QnlJZChpZCk7CiAgICAgICAgaWYgKGIpIGIuY2xhc3NMaXN0LnRvZ2dsZSgn +ZGlydHktcHVsc2UnLCAhIXdlcnQpOwogICAgfSk7CiAgICBESVJUWVt0YWJJZF0uaGludElkcy5m +b3JFYWNoKGZ1bmN0aW9uKGlkKSB7CiAgICAgICAgdmFyIGggPSBkb2N1bWVudC5nZXRFbGVtZW50 +QnlJZChpZCk7CiAgICAgICAgaWYgKGgpIGguc3R5bGUuZGlzcGxheSA9IHdlcnQgPyAnJyA6ICdu +b25lJzsKICAgIH0pOwp9CgpleHBvcnQgZnVuY3Rpb24gZGlydHlJc3QodGFiSWQpIHsgcmV0dXJu +ICEhKERJUlRZW3RhYklkXSAmJiBESVJUWVt0YWJJZF0uZGlydHkpOyB9CgovLyBFeGlzdGVuei1D +aGVjazogaXN0IHRhYklkIHVlYmVyaGF1cHQgcmVnaXN0cmllcnQ/IFdpcmQgdm9tIERPTS1FdmVu +dC1UcmFja2VyCi8vIGdlYnJhdWNodCwgZGVyIHBybyBTZWN0aW9uLS9UYWItL1RhYmVsbGUtSUQg +bmFjaHNjaGF1ZW4gbXVzcywgb2IgZWluCi8vIERpcnR5LVNsb3QgZXhpc3RpZXJ0LCBiZXZvciBl +ciBpaG4gYXVmIHRydWUgc2V0enQuCmV4cG9ydCBmdW5jdGlvbiBkaXJ0eUtlbm50KHRhYklkKSB7 +IHJldHVybiAhIURJUlRZW3RhYklkXTsgfQoKZXhwb3J0IGZ1bmN0aW9uIGRpcnR5QWt0aXZlKCkg +ewogICAgcmV0dXJuIE9iamVjdC5rZXlzKERJUlRZKS5maWx0ZXIoZnVuY3Rpb24oaykgeyByZXR1 +cm4gRElSVFlba10uZGlydHk7IH0pOwp9CgovLyBDaGVjay1Nb2RhbCBiZWkgVGFiLVdlY2hzZWw6 +IHplaWd0IExpc3RlIGRlciBkaXJ0eSBUYWJzICsgMyBBa3Rpb25lbi4KLy8gd2VpdGVyOiBDYWxs +YmFjayBmdWVyIGRlbiBlaWdlbnRsaWNoZW4gV2VjaHNlbCAod2lyZCBudXIgYXVzZ2VmdWVocnQs +Ci8vIHdlbm4gZGVyIFVzZXIgZW50d2VkZXIgc3BlaWNoZXJ0IG9kZXIgYmV3dXNzdCB2ZXJ3aXJm +dCkuCmV4cG9ydCBmdW5jdGlvbiBkaXJ0eVBydWVmZW4od2VpdGVyKSB7CiAgICB2YXIgYWt0aXYg +PSBkaXJ0eUFrdGl2ZSgpOwogICAgaWYgKGFrdGl2Lmxlbmd0aCA9PT0gMCkgeyB3ZWl0ZXIoKTsg +cmV0dXJuOyB9CiAgICAvLyBQcm8gYmV0cm9mZmVuZW0gVGFiOiBMYWJlbCBmZXR0ICsgKHdlbm4g +Y2hhbmdlU3VtbWFyeSB2b3JoYW5kZW4pCiAgICAvLyB2ZXJzY2hhY2h0ZWx0ZSBEZXRhaWwtTGlz +dGUgbWl0IGtvbmtyZXRlbiBBZW5kZXJ1bmdlbi4gV2VubgogICAgLy8gY2hhbmdlU3VtbWFyeSBh +dXNuYWhtc3dlaXNlIGVpbmUgRXhjZXB0aW9uIHdpcmZ0ICh6LkIuIHdlaWwgZWluCiAgICAvLyBE +T00tS25vdGVuIHdlZyBpc3QpLCB3aXJkIGRlciBUYWIgbnVyIG1pdCBMYWJlbC1aZWlsZSBnZXJl +bmRlcnQuCiAgICB2YXIgaXRlbXMgPSBha3Rpdi5tYXAoZnVuY3Rpb24oaykgewogICAgICAgIHZh +ciBlbnRyeSA9IERJUlRZW2tdOwogICAgICAgIHZhciBoZWFkID0gJzxzdHJvbmc+JyArIGVzY2Fw +ZUhUTUwoZW50cnkubGFiZWwpICsgJzwvc3Ryb25nPic7CiAgICAgICAgdmFyIGRldGFpbCA9ICcn +OwogICAgICAgIGlmICh0eXBlb2YgZW50cnkuY2hhbmdlU3VtbWFyeSA9PT0gJ2Z1bmN0aW9uJykg +ewogICAgICAgICAgICB2YXIgemVpbGVuID0gW107CiAgICAgICAgICAgIHRyeSB7IHplaWxlbiA9 +IGVudHJ5LmNoYW5nZVN1bW1hcnkoKSB8fCBbXTsgfSBjYXRjaCAoZSkgeyB6ZWlsZW4gPSBbXTsg +fQogICAgICAgICAgICBpZiAoemVpbGVuLmxlbmd0aCkgewogICAgICAgICAgICAgICAgaGVhZCA9 +ICc8c3Ryb25nPicgKyBlc2NhcGVIVE1MKGVudHJ5LmxhYmVsKSArICc8L3N0cm9uZz4gPHNwYW4g +c3R5bGU9ImNvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZToxMnB4Ij4oJyArIHplaWxl +bi5sZW5ndGggKyAnKTwvc3Bhbj4nOwogICAgICAgICAgICAgICAgZGV0YWlsID0gJzx1bCBzdHls +ZT0ibWFyZ2luOjRweCAwIDAgMThweDtwYWRkaW5nOjA7Zm9udC1zaXplOjEyLjVweDtjb2xvcjp2 +YXIoLS10ZXh0LXNlY29uZGFyeSkiPicgKwogICAgICAgICAgICAgICAgICAgIHplaWxlbi5tYXAo +ZnVuY3Rpb24oeikgeyByZXR1cm4gJzxsaT4nICsgZXNjYXBlSFRNTCh6KSArICc8L2xpPic7IH0p +LmpvaW4oJycpICsKICAgICAgICAgICAgICAgICc8L3VsPic7CiAgICAgICAgICAgIH0KICAgICAg +ICB9CiAgICAgICAgcmV0dXJuICc8bGkgc3R5bGU9Im1hcmdpbi1ib3R0b206OHB4Ij4nICsgaGVh +ZCArIGRldGFpbCArICc8L2xpPic7CiAgICB9KS5qb2luKCcnKTsKICAgIHZhciBrb2VycGVyID0K +ICAgICAgICAnPHA+RXMgZ2lidCB1bmdlc3BlaWNoZXJ0ZSDDhG5kZXJ1bmdlbjo8L3A+JyArCiAg +ICAgICAgJzx1bCBzdHlsZT0ibWFyZ2luOjhweCAwIDE0cHggMjBweDtwYWRkaW5nOjA7bGlzdC1z +dHlsZTpub25lIj4nICsgaXRlbXMgKyAnPC91bD4nICsKICAgICAgICAnPHA+TcO2Y2h0ZXN0IGR1 +IGRpZSDDhG5kZXJ1bmdlbiBzcGVpY2hlcm4gb2RlciB2ZXJ3ZXJmZW4/PC9wPic7CiAgICB2YXIg +ZnVzcyA9CiAgICAgICAgJzxidXR0b24gY2xhc3M9ImJ0biIgaWQ9ImRwLWFiYnJlY2hlbiIgdHlw +ZT0iYnV0dG9uIj5BYmJyZWNoZW48L2J1dHRvbj4nICsKICAgICAgICAnPGJ1dHRvbiBjbGFzcz0i +YnRuIGJ0bi1nZWZhaHIiIGlkPSJkcC12ZXJ3ZXJmZW4iIHR5cGU9ImJ1dHRvbiI+VmVyd2VyZmVu +PC9idXR0b24+JyArCiAgICAgICAgJzxidXR0b24gY2xhc3M9ImJ0biBidG4tcHJpbWFlciIgaWQ9 +ImRwLXNwZWljaGVybiIgdHlwZT0iYnV0dG9uIj5TcGVpY2hlcm48L2J1dHRvbj4nOwogICAgbW9k +YWxaZWlnZW4oJ1VuZ2VzcGVpY2hlcnRlIMOEbmRlcnVuZ2VuJywga29lcnBlciwgZnVzcyk7CiAg +ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHAtYWJicmVjaGVuJykuYWRkRXZlbnRMaXN0ZW5l +cignY2xpY2snLCBmdW5jdGlvbigpIHsgbW9kYWxTY2hsaWVzc2VuKHRydWUpOyB9KTsKICAgIGRv +Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdkcC12ZXJ3ZXJmZW4nKS5hZGRFdmVudExpc3RlbmVyKCdj +bGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBwcm9taXNlcyA9IGFrdGl2Lm1hcChmdW5j +dGlvbihrKSB7CiAgICAgICAgICAgIHRyeSB7IHJldHVybiAoRElSVFlba10uZGlzY2FyZEZuICYm +IERJUlRZW2tdLmRpc2NhcmRGbigpKSB8fCBQcm9taXNlLnJlc29sdmUoKTsgfQogICAgICAgICAg +ICBjYXRjaChlKSB7IHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsgfQogICAgICAgIH0pOwogICAg +ICAgIFByb21pc2UuYWxsKHByb21pc2VzKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICBh +a3Rpdi5mb3JFYWNoKGZ1bmN0aW9uKGspIHsgZGlydHlTZXR6ZW4oaywgZmFsc2UpOyB9KTsKICAg +ICAgICAgICAgbW9kYWxTY2hsaWVzc2VuKHRydWUpOwogICAgICAgICAgICB3ZWl0ZXIoKTsKICAg +ICAgICB9KTsKICAgIH0pOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RwLXNwZWljaGVy +bicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGJ0 +biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkcC1zcGVpY2hlcm4nKTsKICAgICAgICBidG4u +ZGlzYWJsZWQgPSB0cnVlOyBidG4udGV4dENvbnRlbnQgPSAnU3BlaWNoZXJl4oCmJzsKICAgICAg +ICB2YXIgcHJvbWlzZXMgPSBha3Rpdi5tYXAoZnVuY3Rpb24oaykgeyByZXR1cm4gZGlydHlTcGVp +Y2hlcm4oayk7IH0pOwogICAgICAgIFByb21pc2UuYWxsKHByb21pc2VzKS50aGVuKGZ1bmN0aW9u +KCkgewogICAgICAgICAgICBtb2RhbFNjaGxpZXNzZW4odHJ1ZSk7CiAgICAgICAgICAgIHdlaXRl +cigpOwogICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdG9hc3QoJ0Zl +aGxlciBiZWltIFNwZWljaGVybjogJyArIChlICYmIGUubWVzc2FnZSB8fCBlKSwgJ2ZlaGxlcicp +OwogICAgICAgICAgICBidG4uZGlzYWJsZWQgPSBmYWxzZTsgYnRuLnRleHRDb250ZW50ID0gJ1Nw +ZWljaGVybic7CiAgICAgICAgfSk7CiAgICB9KTsKfQoKLy8gU3BlaWNoZXJ0IGVpbmVuIGRpcnR5 +LVRhYi4gQmV2b3J6dWd0IHNhdmVGbjsgRmFsbGJhY2s6IENsaWNrIGF1ZgovLyBwcmltYWVyZW4g +U2F2ZS1CdXR0b24gKyBQb2xsIGF1ZiBkaXJ0eT1mYWxzZSAobWF4IDVzKS4gQ2xpY2stSGFuZGxl +cgovLyBzZXR6dCBkaXJ0eT1mYWxzZSBuYWNoIGVyZm9sZ3JlaWNoZW0gUFVUIChzaWVoZSBlaW56 +ZWxuZSBTYXZlLUJpbmRpbmdzKS4KZXhwb3J0IGZ1bmN0aW9uIGRpcnR5U3BlaWNoZXJuKHRhYklk +KSB7CiAgICB2YXIgciA9IERJUlRZW3RhYklkXTsKICAgIGlmICghcikgcmV0dXJuIFByb21pc2Uu +cmVzb2x2ZSgpOwogICAgaWYgKHIuc2F2ZUZuKSB7CiAgICAgICAgcmV0dXJuIFByb21pc2UucmVz +b2x2ZShyLnNhdmVGbigpKS50aGVuKGZ1bmN0aW9uKCkgeyBkaXJ0eVNldHplbih0YWJJZCwgZmFs +c2UpOyB9KTsKICAgIH0KICAgIHZhciBidG4gPSAoci5idG5JZHNbMF0gJiYgZG9jdW1lbnQuZ2V0 +RWxlbWVudEJ5SWQoci5idG5JZHNbMF0pKSB8fCBudWxsOwogICAgaWYgKCFidG4pIHJldHVybiBQ +cm9taXNlLnJlc29sdmUoKTsKICAgIGJ0bi5jbGljaygpOwogICAgcmV0dXJuIG5ldyBQcm9taXNl +KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgIHZhciBzdGFydCA9IERhdGUubm93 +KCk7CiAgICAgICAgZnVuY3Rpb24gcG9sbCgpIHsKICAgICAgICAgICAgaWYgKCFESVJUWVt0YWJJ +ZF0uZGlydHkpIHJldHVybiByZXNvbHZlKCk7CiAgICAgICAgICAgIGlmIChEYXRlLm5vdygpIC0g +c3RhcnQgPiA1MDAwKSByZXR1cm4gcmVqZWN0KG5ldyBFcnJvcignU3BlaWNoZXJuIGRhdWVydCB6 +dSBsYW5nZSAoJyArIHIubGFiZWwgKyAnKScpKTsKICAgICAgICAgICAgc2V0VGltZW91dChwb2xs +LCAxMDApOwogICAgICAgIH0KICAgICAgICBwb2xsKCk7CiAgICB9KTsKfQoKLy8gPT09PT0gVGFn +L05hY2h0LVRoZW1lLVRvZ2dsZSA9PT09PQovLyBQZXJzaXN0aWVydCBpbiBsb2NhbFN0b3JhZ2Ug +dW50ZXIgJ3ZpMy10aGVtZScuIENTUy1WYXJpYWJsZW4tU3lzdGVtCi8vIHN0ZWh0IGluIHN0eWxl +LmNzcyAoOnJvb3QgdnMuIFtkYXRhLXRoZW1lPSJuaWdodCJdKS4KCmV4cG9ydCBmdW5jdGlvbiB0 +aGVtZVVtc2NoYWx0ZW4oKSB7CiAgICB2YXIgYWt0dWVsbCA9IGRvY3VtZW50LmRvY3VtZW50RWxl +bWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGhlbWUnKTsKICAgIHZhciBuZXUgPSBha3R1ZWxsID09 +PSAnbmlnaHQnID8gJycgOiAnbmlnaHQnOwogICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNl +dEF0dHJpYnV0ZSgnZGF0YS10aGVtZScsIG5ldSk7CiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgn +dmkzLXRoZW1lJywgbmV1KTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tdGhlbWUn +KS50ZXh0Q29udGVudCA9IG5ldSA9PT0gJ25pZ2h0JyA/ICdUYWcnIDogJ05hY2h0JzsKfQoKZXhw +b3J0IGZ1bmN0aW9uIHRoZW1lV2llZGVyaGVyc3RlbGxlbigpIHsKICAgIHZhciBnID0gbG9jYWxT +dG9yYWdlLmdldEl0ZW0oJ3ZpMy10aGVtZScpIHx8ICcnOwogICAgaWYgKGcgPT09ICduaWdodCcp +IHsKICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLXRo +ZW1lJywgJ25pZ2h0Jyk7CiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J0bi10aGVt +ZScpLnRleHRDb250ZW50ID0gJ1RhZyc7CiAgICB9Cn0K +### FILE: js/ui_rte.js | 6951 +Ly8gPT09IHVpL3J0ZS5qcyA9PT0KLy8gTWluaW1hbGVyIFJpY2gtVGV4dC1FZGl0b3IgKyBIVE1M +LVNhbml0aXplciArIEVtb2ppLVBpY2tlci4KLy8KLy8gR2VudXR6dCBhbiBkcmVpIFN0ZWxsZW46 +IFNvbmRlcnRlcm1pbi1FZGl0b3IsIEVtYWlsLVZvcmxhZ2VuLUVkaXRvcgovLyB1bmQgSW5mby1I +aWxmZS1UYWIuIFJURS1Jbml0IGJpbmRldCBjb250ZW50RWRpdGFibGUtQnV0dG9ucyAoQi9JL1Us +Ci8vIExpc3RlbiwgSW5kZW50KSwgU2FuaXRpemVyIGZhZWhydCBBbGxvd2xpc3QtUG9saWN5IChz +aWVoZSBzYW5pdGl6ZVJpY2hIdG1sKS4KCmltcG9ydCB7IGVzY2FwZUhUTUwsIGVzY2FwZUF0dHIg +fSBmcm9tICcuL2NvcmVfdXRpbC5qcyc7CgovLyA9PT09PSBIVE1MLVNhbml0aXplciA9PT09PQoK +Ly8gTnVyIEJhc2lzLUZvcm1hdGllcnVuZywga2VpbmUgU2NyaXB0L1N0eWxlL0F0dHIgYXVzc2Vy +IGhyZWYvdGFyZ2V0L3JlbCBhdWYgPGE+LgovLyBCTE9DS1FVT1RFIGlzdCBlcmxhdWJ0IGZ1ZXIg +SW5kZW50IChlbnRzdGVodCBkdXJjaCBkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5kZW50JykKLy8g +d2VubiBzdHlsZVdpdGhDU1M9ZmFsc2UgZ2VzZXR6dCBpc3QgLSBzaWVoZSBydGVJbml0KS4KZXhw +b3J0IGZ1bmN0aW9uIHNhbml0aXplUmljaEh0bWwoaHRtbCkgewogICAgaWYgKCFodG1sKSByZXR1 +cm4gJyc7CiAgICB2YXIgYWxsb3dlZCA9IHsgQjoxLCBTVFJPTkc6MSwgSToxLCBFTToxLCBVOjEs +IEJSOjEsIFA6MSwgVUw6MSwgT0w6MSwgTEk6MSwgQToxLCBESVY6MSwgU1BBTjoxLCBIMzoxLCBI +NDoxLCBCTE9DS1FVT1RFOjEgfTsKICAgIHZhciBkb2MgPSBuZXcgRE9NUGFyc2VyKCkucGFyc2VG +cm9tU3RyaW5nKCc8IWRvY3R5cGUgaHRtbD48Ym9keT4nICsgaHRtbCArICc8L2JvZHk+JywgJ3Rl +eHQvaHRtbCcpOwogICAgKGZ1bmN0aW9uIHdhbGsobm9kZSkgewogICAgICAgIHZhciBjaGlsZCA9 +IG5vZGUuZmlyc3RDaGlsZDsKICAgICAgICB3aGlsZSAoY2hpbGQpIHsKICAgICAgICAgICAgdmFy +IG5leHQgPSBjaGlsZC5uZXh0U2libGluZzsKICAgICAgICAgICAgaWYgKGNoaWxkLm5vZGVUeXBl +ID09PSAxKSB7CiAgICAgICAgICAgICAgICB2YXIgdGFnID0gY2hpbGQudGFnTmFtZTsKICAgICAg +ICAgICAgICAgIGlmICghYWxsb3dlZFt0YWddKSB7CiAgICAgICAgICAgICAgICAgICAgd2hpbGUg +KGNoaWxkLmZpcnN0Q2hpbGQpIG5vZGUuaW5zZXJ0QmVmb3JlKGNoaWxkLmZpcnN0Q2hpbGQsIGNo +aWxkKTsKICAgICAgICAgICAgICAgICAgICBub2RlLnJlbW92ZUNoaWxkKGNoaWxkKTsKICAgICAg +ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IGNoaWxk +LmF0dHJpYnV0ZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHsKICAgICAgICAgICAgICAgICAg +ICAgICAgdmFyIGF0dHIgPSBjaGlsZC5hdHRyaWJ1dGVzW2ldLm5hbWU7CiAgICAgICAgICAgICAg +ICAgICAgICAgIHZhciBrZWVwID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0 +YWcgPT09ICdBJyAmJiAoYXR0ciA9PT0gJ2hyZWYnIHx8IGF0dHIgPT09ICd0YXJnZXQnIHx8IGF0 +dHIgPT09ICdyZWwnKSkga2VlcCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgh +a2VlcCkgY2hpbGQucmVtb3ZlQXR0cmlidXRlKGF0dHIpOwogICAgICAgICAgICAgICAgICAgIH0K +ICAgICAgICAgICAgICAgICAgICBpZiAodGFnID09PSAnQScpIHsKICAgICAgICAgICAgICAgICAg +ICAgICAgdmFyIGhyZWYgPSBjaGlsZC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSB8fCAnJzsKICAgICAg +ICAgICAgICAgICAgICAgICAgaWYgKC9eXHMqKGphdmFzY3JpcHR8ZGF0YSk6L2kudGVzdChocmVm +KSkgY2hpbGQucmVtb3ZlQXR0cmlidXRlKCdocmVmJyk7CiAgICAgICAgICAgICAgICAgICAgICAg +IGNoaWxkLnNldEF0dHJpYnV0ZSgndGFyZ2V0JywgJ19ibGFuaycpOwogICAgICAgICAgICAgICAg +ICAgICAgICBjaGlsZC5zZXRBdHRyaWJ1dGUoJ3JlbCcsICdub29wZW5lciBub3JlZmVycmVyJyk7 +CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHdhbGsoY2hpbGQpOwog +ICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgaWYgKGNoaWxkLm5vZGVUeXBlICE9 +PSAzICYmIGNoaWxkLm5vZGVUeXBlICE9PSA4KSB7CiAgICAgICAgICAgICAgICAvLyBOdXIgRWxl +bWVudC0sIFRleHQtLCBDb21tZW50LUtub3RlbiAtIENvbW1lbnRzIHdlcmRlbiBlbnRmZXJudAog +ICAgICAgICAgICAgICAgbm9kZS5yZW1vdmVDaGlsZChjaGlsZCk7CiAgICAgICAgICAgIH0KICAg +ICAgICAgICAgY2hpbGQgPSBuZXh0OwogICAgICAgIH0KICAgIH0pKGRvYy5ib2R5KTsKICAgIC8v +IEtvbW1lbnRhcmUgcmF1cwogICAgZG9jLmJvZHkucXVlcnlTZWxlY3RvckFsbCAmJiBkb2MuYm9k +eS5jaGlsZE5vZGVzLmZvckVhY2ggJiYgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChkb2Mu +Ym9keS5jaGlsZE5vZGVzLCBmdW5jdGlvbigpIHt9KTsKICAgIHJldHVybiBkb2MuYm9keS5pbm5l +ckhUTUw7Cn0KCi8vID09PT09IEVtb2ppLVBpY2tlciA9PT09PQoKLy8gTW9ub2Nocm9tZSBVbmlj +b2RlLVN5bWJvbGUgc3RhdHQgYnVudGUgRW1vamkgKENoZXJyeS1QaWNrIDhiMmQwZmQpOgovLyAt +IHJlbmRlcm4gaW4gZGVyIFRleHRmYXJiZSDihpIgT1MtIHVuZCBUaGVtZS11bmFiaGFlbmdpZyBr +b25zaXN0ZW50Ci8vIC0gVmFyaWF0aW9uLVNlbGVjdG9yLTE1ICjvuI4pIGVyendpbmd0IGRpZSBH +bHlwaC1EYXJzdGVsbHVuZyBpbgovLyAgIEJyb3dzZXJuLCBkaWUgZGFzIFN5bWJvbCBzb25zdCBh +bHMgYnVudGUgRW1vamktVmFyaWFudGUgemVpZ2VuCmV4cG9ydCB2YXIgRU1PSklfU0VUID0gWwog +ICAgeyBrYXQ6ICdBbGxnZW1laW4nLCAgICAgICAgZTogWyfihLnvuI4nLCfik5gnLCfinI4nLCfi +mIUnLCfimIYnLCfimpEnXSB9LAogICAgeyBrYXQ6ICdXYXJudW5nICYgVmVyYm90JywgZTogWyfi +mqDvuI4nLCfigLzvuI4nLCfinZfvuI4nLCfim5TvuI4nLCfinJYnLCfinJcnXSB9LAogICAgeyBr +YXQ6ICdHZWZhaHIgJiBFaW5zYXR6JywgZTogWyfimqHvuI4nLCfimKLvuI4nLCfimKPvuI4nLCfi +mKDvuI4nLCfimpLvuI4nXSB9LAogICAgeyBrYXQ6ICdUZXJtaW4gJiBaZWl0JywgICAgZTogWyfi +jJrvuI4nLCfijJsnLCfij7HvuI4nLCfij7MnXSB9LAogICAgeyBrYXQ6ICdWZXJ3YWx0dW5nJywg +ICAgICAgZTogWyfimpbvuI4nLCfimI7vuI4nLCfinInvuI4nLCfimJHvuI4nLCfimJLvuI4nLCfi +mpnvuI4nXSB9Cl07Cgp2YXIgZW1vamlQaWNrZXJBa3RpdiA9IG51bGw7CgpleHBvcnQgZnVuY3Rp +b24gZW1vamlQaWNrZXJaZWlnZW4oYW5jaG9yLCBvblNlbGVjdCkgewogICAgZW1vamlQaWNrZXJT +Y2hsaWVzc2VuKCk7CiAgICB2YXIgcG9wID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7 +CiAgICBwb3AuY2xhc3NOYW1lID0gJ2Vtb2ppLXBpY2tlcic7CiAgICB2YXIgaHRtbCA9ICc8ZGl2 +IGNsYXNzPSJlbW9qaS1waWNrZXItZ3JpZCI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJl +bW9qaS1waWNrZXItb3B0IGtlaW5lciIgZGF0YS12PSIiPihrZWlucyk8L2J1dHRvbj48L2Rpdj4n +OwogICAgRU1PSklfU0VULmZvckVhY2goZnVuY3Rpb24oZykgewogICAgICAgIGh0bWwgKz0gJzxk +aXYgY2xhc3M9ImVtb2ppLXBpY2tlci1rYXQiPicgKyBnLmthdCArICc8L2Rpdj4nICsKICAgICAg +ICAgICAgJzxkaXYgY2xhc3M9ImVtb2ppLXBpY2tlci1ncmlkIj4nICsKICAgICAgICAgICAgZy5l +Lm1hcChmdW5jdGlvbihlbSkgeyByZXR1cm4gJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0i +ZW1vamktcGlja2VyLW9wdCIgZGF0YS12PSInICsgZXNjYXBlQXR0cihlbSkgKyAnIj4nICsgZXNj +YXBlSFRNTChlbSkgKyAnPC9idXR0b24+JzsgfSkuam9pbignJykgKwogICAgICAgICAgICAnPC9k +aXY+JzsKICAgIH0pOwogICAgcG9wLmlubmVySFRNTCA9IGh0bWw7CiAgICBkb2N1bWVudC5ib2R5 +LmFwcGVuZENoaWxkKHBvcCk7CiAgICB2YXIgciA9IGFuY2hvci5nZXRCb3VuZGluZ0NsaWVudFJl +Y3QoKTsKICAgIHZhciBsZWZ0ID0gTWF0aC5taW4oci5sZWZ0LCB3aW5kb3cuaW5uZXJXaWR0aCAt +IDI4NCk7CiAgICB2YXIgdG9wID0gci5ib3R0b20gKyA0OwogICAgaWYgKHRvcCArIDM0MCA+IHdp +bmRvdy5pbm5lckhlaWdodCkgdG9wID0gTWF0aC5tYXgoOCwgci50b3AgLSAzNDQpOwogICAgcG9w +LnN0eWxlLmxlZnQgPSBsZWZ0ICsgJ3B4JzsKICAgIHBvcC5zdHlsZS50b3AgPSB0b3AgKyAncHgn +OwogICAgcG9wLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAg +IHZhciBiID0gZS50YXJnZXQuY2xvc2VzdCgnW2RhdGEtdl0nKTsKICAgICAgICBpZiAoIWIpIHJl +dHVybjsKICAgICAgICBvblNlbGVjdChiLmdldEF0dHJpYnV0ZSgnZGF0YS12JykpOwogICAgICAg +IGVtb2ppUGlja2VyU2NobGllc3NlbigpOwogICAgfSk7CiAgICBlbW9qaVBpY2tlckFrdGl2ID0g +cG9wOwogICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICBkb2N1bWVudC5hZGRFdmVu +dExpc3RlbmVyKCdjbGljaycsIGVtb2ppUGlja2VyQXV0b0Nsb3NlLCB7IG9uY2U6IHRydWUgfSk7 +CiAgICB9LCAwKTsKfQoKZnVuY3Rpb24gZW1vamlQaWNrZXJBdXRvQ2xvc2UoZSkgewogICAgaWYg +KGVtb2ppUGlja2VyQWt0aXYgJiYgIWVtb2ppUGlja2VyQWt0aXYuY29udGFpbnMoZS50YXJnZXQp +KSBlbW9qaVBpY2tlclNjaGxpZXNzZW4oKTsKICAgIGVsc2UgaWYgKGVtb2ppUGlja2VyQWt0aXYp +IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNr +JywgZW1vamlQaWNrZXJBdXRvQ2xvc2UsIHsgb25jZTogdHJ1ZSB9KTsgfSwgMCk7Cn0KCmV4cG9y +dCBmdW5jdGlvbiBlbW9qaVBpY2tlclNjaGxpZXNzZW4oKSB7CiAgICBpZiAoZW1vamlQaWNrZXJB +a3RpdikgeyBlbW9qaVBpY2tlckFrdGl2LnJlbW92ZSgpOyBlbW9qaVBpY2tlckFrdGl2ID0gbnVs +bDsgfQp9CgovLyA9PT09PSBNaW5pbWFsZXIgUmljaC1UZXh0LUVkaXRvciA9PT09PQoKZXhwb3J0 +IGZ1bmN0aW9uIHJ0ZUluaXQoZWRpdG9yKSB7CiAgICAvLyBzdHlsZVdpdGhDU1M9ZmFsc2Ugendp +bmd0IEJyb3dzZXIsIGZ1ZXIgSW5kZW50IDxibG9ja3F1b3RlPi1UYWdzIHp1CiAgICAvLyBlcnpl +dWdlbiAoc3RhdHQgc3R5bGU9Im1hcmdpbi1sZWZ0OjQwcHgiKS4gVm9ydGVpbDogYmxvY2txdW90 +ZQogICAgLy8gdWViZXJsZWJ0IHNhbml0aXplUmljaEh0bWwgKyBFbnRlci1UYXN0ZSBpbm5lcmhh +bGIgYmVoYWVsdCBkYXMKICAgIC8vIEluZGVudC1MZXZlbCAoVXNlci1XdW5zY2g6ICJhdWNoIHpl +aWxlbnVtYnJ1Y2h1ZWJlcmdyZWlmZW5kIikuCiAgICB0cnkgeyBkb2N1bWVudC5leGVjQ29tbWFu +ZCgnc3R5bGVXaXRoQ1NTJywgZmFsc2UsIGZhbHNlKTsgfSBjYXRjaCAoZSkge30KICAgIHZhciB0 +b29sYmFyID0gZWRpdG9yLnBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvcignLnJ0ZS10b29sYmFy +Jyk7CiAgICBpZiAodG9vbGJhcikgewogICAgICAgIHRvb2xiYXIuYWRkRXZlbnRMaXN0ZW5lcign +bW91c2Vkb3duJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgYnRuID0gZS50YXJnZXQu +Y2xvc2VzdCgnW2RhdGEtY21kXScpOwogICAgICAgICAgICBpZiAoIWJ0bikgcmV0dXJuOwogICAg +ICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7IC8vIGJlaMOkbHQgU2VsZWN0aW9uIGltIEVkaXRv +cgogICAgICAgICAgICB2YXIgY21kID0gYnRuLmdldEF0dHJpYnV0ZSgnZGF0YS1jbWQnKTsKICAg +ICAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoY21kLCBmYWxzZSwgbnVsbCk7CiAgICAgICAg +ICAgIHJ0ZUJ1dHRvblN0YXRlcyhlZGl0b3IsIHRvb2xiYXIpOwogICAgICAgIH0pOwogICAgICAg +IGVkaXRvci5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIGZ1bmN0aW9uKCkgeyBydGVCdXR0b25T +dGF0ZXMoZWRpdG9yLCB0b29sYmFyKTsgfSk7CiAgICAgICAgZWRpdG9yLmFkZEV2ZW50TGlzdGVu +ZXIoJ21vdXNldXAnLCBmdW5jdGlvbigpIHsgcnRlQnV0dG9uU3RhdGVzKGVkaXRvciwgdG9vbGJh +cik7IH0pOwogICAgfQogICAgLy8gUGFzdGU6IEhUTUwgYmVyZWluaWdlbgogICAgZWRpdG9yLmFk +ZEV2ZW50TGlzdGVuZXIoJ3Bhc3RlJywgZnVuY3Rpb24oZSkgewogICAgICAgIGUucHJldmVudERl +ZmF1bHQoKTsKICAgICAgICB2YXIgaHRtbCA9IChlLmNsaXBib2FyZERhdGEgfHwgd2luZG93LmNs +aXBib2FyZERhdGEpLmdldERhdGEoJ3RleHQvaHRtbCcpOwogICAgICAgIHZhciB0ZXh0ID0gKGUu +Y2xpcGJvYXJkRGF0YSB8fCB3aW5kb3cuY2xpcGJvYXJkRGF0YSkuZ2V0RGF0YSgndGV4dC9wbGFp +bicpOwogICAgICAgIHZhciBpbnNlcnQgPSBodG1sID8gc2FuaXRpemVSaWNoSHRtbChodG1sKSA6 +IGVzY2FwZUhUTUwodGV4dCkucmVwbGFjZSgvXHI/XG4vZywgJzxicj4nKTsKICAgICAgICBkb2N1 +bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0SFRNTCcsIGZhbHNlLCBpbnNlcnQpOwogICAgfSk7Cn0K +CmV4cG9ydCBmdW5jdGlvbiBydGVCdXR0b25TdGF0ZXMoZWRpdG9yLCB0b29sYmFyKSB7CiAgICB0 +b29sYmFyLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLWNtZF0nKS5mb3JFYWNoKGZ1bmN0aW9uKGJ0 +bikgewogICAgICAgIHZhciBjbWQgPSBidG4uZ2V0QXR0cmlidXRlKCdkYXRhLWNtZCcpOwogICAg +ICAgIHRyeSB7CiAgICAgICAgICAgIGlmIChkb2N1bWVudC5xdWVyeUNvbW1hbmRTdGF0ZShjbWQp +KSBidG4uY2xhc3NMaXN0LmFkZCgnYWt0aXYnKTsKICAgICAgICAgICAgZWxzZSBidG4uY2xhc3NM +aXN0LnJlbW92ZSgnYWt0aXYnKTsKICAgICAgICB9IGNhdGNoIChlKSB7fQogICAgfSk7Cn0K +### FILE: js/wochenplan.js | 15204 +Ly8gPT09IHdvY2hlbnBsYW4vd29jaGVucGxhbi5qcyA9PT0KLy8gV29jaGVucGxhbi0gdW5kIFBl +cnNvbmVuLVBsYW4tVGFiLgoKaW1wb3J0IHsgWiB9IGZyb20gJy4vY29yZV9zdGF0ZS5qcyc7Cmlt +cG9ydCB7CiAgICBlc2NhcGVIVE1MLCBlc2NhcGVBdHRyLAogICAgZGF0dW1TdHIsIGRhdHVtRm9y +bWF0REUsIGRhdHVtS3VyekRFLCB3b2NoZW50YWdLdXJ6LCBpc3RXb2NoZW5lbmRlLAogICAgZnVu +a3Rpb25zUmFuZywgcmVuZGVyRXJyb3JCb3gKfSBmcm9tICcuL2NvcmVfdXRpbC5qcyc7CmltcG9y +dCB7IHNvbmRlclRpdGVsQXVzVGV4dCB9IGZyb20gJy4vYWRtaW5fa2FsZW5kZXIuanMnOwppbXBv +cnQgeyBrb21tZW50YXJUZXh0IH0gZnJvbSAnLi9ncmlkX2ludGVyYWN0aW9uLmpzJzsKCiAgICAv +LyA9PT09PSBXb2NoZW5wbGFuID09PT09CgogICAgdmFyIHdwT2Zmc2V0ID0gMDsgLy8gV29jaGVu +b2Zmc2V0IHJlbGF0aXYgenVyIGFrdHVlbGxlbiBXb2NoZQoKICAgIGZ1bmN0aW9uIHdwV29jaGVU +YWdlKG9mZnNldCkgewogICAgICAgIHZhciBoZXV0ZSA9IG5ldyBEYXRlKCk7CiAgICAgICAgLy8g +TW9udGFnIGRlciBha3R1ZWxsZW4gV29jaGUgYmVyZWNobmVuCiAgICAgICAgdmFyIHRhZyA9IGhl +dXRlLmdldERheSgpOyAvLyAwPVNvLCAxPU1vLCAuLi4KICAgICAgICB2YXIgZGlmZiA9IHRhZyA9 +PT0gMCA/IC02IDogMSAtIHRhZzsKICAgICAgICB2YXIgbW9udGFnID0gbmV3IERhdGUoaGV1dGUp +OwogICAgICAgIG1vbnRhZy5zZXREYXRlKG1vbnRhZy5nZXREYXRlKCkgKyBkaWZmICsgKG9mZnNl +dCAqIDcpKTsKICAgICAgICBtb250YWcuc2V0SG91cnMoMCwgMCwgMCwgMCk7CgogICAgICAgIHZh +ciB0YWdlID0gW107CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA3OyBpKyspIHsKICAgICAg +ICAgICAgdmFyIGQgPSBuZXcgRGF0ZShtb250YWcpOwogICAgICAgICAgICBkLnNldERhdGUoZC5n +ZXREYXRlKCkgKyBpKTsKICAgICAgICAgICAgdGFnZS5wdXNoKGQpOwogICAgICAgIH0KICAgICAg +ICByZXR1cm4gdGFnZTsKICAgIH0KCiAgICBmdW5jdGlvbiB3cFJlbmRlcm4oKSB7CiAgICAgICAg +dHJ5IHsKICAgICAgICAgICAgX3dwUmVuZGVybkludGVybigpOwogICAgICAgIH0gY2F0Y2ggKGUp +IHsKICAgICAgICAgICAgcmVuZGVyRXJyb3JCb3goZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Fu +c2ljaHQtd29jaGVucGxhbicpLCBlLCAnV29jaGVucGxhbicpOwogICAgICAgIH0KICAgIH0KICAg +IGZ1bmN0aW9uIF93cFJlbmRlcm5JbnRlcm4oKSB7CiAgICAgICAgdmFyIHRhZ2UgPSB3cFdvY2hl +VGFnZSh3cE9mZnNldCk7CiAgICAgICAgdmFyIGhldXRlS2V5ID0gWi5oZXV0ZVN0cjsKICAgICAg +ICB2YXIgdm9uID0gdGFnZVswXSwgYmlzID0gdGFnZVs2XTsKCiAgICAgICAgZG9jdW1lbnQuZ2V0 +RWxlbWVudEJ5SWQoJ3dwLXplaXRyYXVtJykuaW5uZXJIVE1MID0KICAgICAgICAgICAgJzxzdHJv +bmc+VkkzIOKAlCBXb2NoZW5wbGFuICcgKyBkYXR1bUt1cnpERSh2b24pICsgJ+KAkycgKyBkYXR1 +bUt1cnpERShiaXMpICsgJyAnICsgdm9uLmdldEZ1bGxZZWFyKCkgKyAnPC9zdHJvbmc+JzsKCiAg +ICAgICAgLy8gNiBTY2hpY2h0LVNwYWx0ZW46IERHTCBGL1MvTiArIFdERi9GQlAgRi9TL04KICAg +ICAgICB2YXIgc3BhbHRlbiA9IFsKICAgICAgICAgICAgeyBjbHM6ICd3cC1zY2hpY2h0LWZydWVo +JywgcHJlZml4ZTogW3sgY29kZTonRi1ER0wnLCBzdGVybjpmYWxzZSB9XSB9LAogICAgICAgICAg +ICB7IGNsczogJ3dwLXNjaGljaHQtc3BhZXQnLCBwcmVmaXhlOiBbeyBjb2RlOidTLURHTCcsIHN0 +ZXJuOmZhbHNlIH1dIH0sCiAgICAgICAgICAgIHsgY2xzOiAnd3Atc2NoaWNodC1uYWNodCcsIHBy +ZWZpeGU6IFt7IGNvZGU6J04tREdMJywgc3Rlcm46ZmFsc2UgfV0gfSwKICAgICAgICAgICAgeyBj +bHM6ICd3cC1zY2hpY2h0LWZydWVoJywgcHJlZml4ZTogW3sgY29kZTonRi1XREYnLCBzdGVybjpm +YWxzZSB9LHsgY29kZTonRi1GQlAnLCBzdGVybjp0cnVlIH1dIH0sCiAgICAgICAgICAgIHsgY2xz +OiAnd3Atc2NoaWNodC1zcGFldCcsIHByZWZpeGU6IFt7IGNvZGU6J1MtV0RGJywgc3Rlcm46ZmFs +c2UgfSx7IGNvZGU6J1MtRkJQJywgc3Rlcm46dHJ1ZSB9XSB9LAogICAgICAgICAgICB7IGNsczog +J3dwLXNjaGljaHQtbmFjaHQnLCBwcmVmaXhlOiBbeyBjb2RlOidOLVdERicsIHN0ZXJuOmZhbHNl +IH0seyBjb2RlOidOLUZCUCcsIHN0ZXJuOnRydWUgfV0gfQogICAgICAgIF07CiAgICAgICAgdmFy +IHd0TmFtZW4gPSBbJ01vJywnRGknLCdNaScsJ0RvJywnRnInLCdTYScsJ1NvJ107CgogICAgICAg +IHZhciBibG9lY2tlSHRtbCA9ICcnOwogICAgICAgIHRhZ2UuZm9yRWFjaChmdW5jdGlvbihkLCBk +aSkgewogICAgICAgICAgICB2YXIgZFN0ciA9IGRhdHVtU3RyKGQpOwogICAgICAgICAgICB2YXIg +aW5mbyA9IFoudGFnSW5mb3NbZFN0cl0gfHwgeyB0eXA6ICdub3JtYWwnIH07CiAgICAgICAgICAg +IHZhciBlaW50ciA9IChaLnBsYW51bmcuZWludHJhZWdlIHx8IHt9KVtkU3RyXSB8fCB7fTsKICAg +ICAgICAgICAgdmFyIGlzdEhldXRlID0gZFN0ciA9PT0gaGV1dGVLZXk7CiAgICAgICAgICAgIHZh +ciBpc3RGVCA9IGluZm8udHlwID09PSAnZmVpZXJ0YWcnOwogICAgICAgICAgICB2YXIgaXN0V0Ug +PSBkaSA+PSA1OwoKICAgICAgICAgICAgdmFyIGJsb2NrQ2xzID0gJ3dwLXRhZ2Jsb2NrJzsKICAg +ICAgICAgICAgaWYgKGlzdEhldXRlKSBibG9ja0NscyArPSAnIHdwLXRhZ2Jsb2NrLWhldXRlJzsK +ICAgICAgICAgICAgaWYgKGlzdEZUKSBibG9ja0NscyArPSAnIHdwLXRhZ2Jsb2NrLWZ0JyArIChp +bmZvLndpY2h0aWcgPyAnIHdwLXRhZ2Jsb2NrLWZ0LXdpY2h0aWcnIDogJycpOwogICAgICAgICAg +ICBlbHNlIGlmIChpc3RXRSkgYmxvY2tDbHMgKz0gJyB3cC10YWdibG9jay13ZSc7CiAgICAgICAg +ICAgIGVsc2UgaWYgKGluZm8udHlwID09PSAnZmVyaWVuJykgYmxvY2tDbHMgKz0gJyB3cC10YWdi +bG9jay1ucyc7CgogICAgICAgICAgICAvLyBQZXJzb25lbiBqZSBTcGFsdGUgc2FtbWVsbiwgbmFj +aCBQb3NpdGlvbiBzb3J0aWVydAogICAgICAgICAgICB2YXIgc3BhbHRlbkRhdGVuID0gc3BhbHRl +bi5tYXAoZnVuY3Rpb24oc3ApIHsKICAgICAgICAgICAgICAgIHZhciBlcmcgPSBbXTsKICAgICAg +ICAgICAgICAgIFoucGVyc29uZW4uZm9yRWFjaChmdW5jdGlvbihwKSB7CiAgICAgICAgICAgICAg +ICAgICAgdmFyIHcgPSBlaW50cltTdHJpbmcocC5pZCldIHx8ICcnOwogICAgICAgICAgICAgICAg +ICAgIHNwLnByZWZpeGUuZm9yRWFjaChmdW5jdGlvbihwcmVmKSB7CiAgICAgICAgICAgICAgICAg +ICAgICAgIGlmICh3ID09PSBwcmVmLmNvZGUpIGVyZy5wdXNoKHsgaWQ6IHAuaWQsIG5hbWU6IHAu +bmFtZSwgcG9zOiBwLnBvc2l0aW9uIHx8IDk5OSwgc3Rlcm46IHByZWYuc3Rlcm4gfSk7CiAgICAg +ICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGVy +Zy5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsgcmV0dXJuIGEucG9zIC0gYi5wb3M7IH0pOwogICAgICAg +ICAgICAgICAgcmV0dXJuIGVyZzsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIC8vIEltbWVy +IGV4YWt0IDggWmVpbGVuIHBybyBUYWcg4oCUIGhvbW9nZW5lcyBMYXlvdXQsIGdhcmFudGllcnQg +ZWluc2VpdGlnZXIgRHJ1Y2sKICAgICAgICAgICAgdmFyIG1heFJvd3MgPSA4OwoKICAgICAgICAg +ICAgLy8gVGFnLUxhYmVsIChsaW5rcywgdmVydGlrYWwva29tcGFrdCkKICAgICAgICAgICAgdmFy +IHp1c2F0eiA9ICcnOwogICAgICAgICAgICBpZiAoaXN0RlQpIHp1c2F0eiA9ICc8c3BhbiBjbGFz +cz0id3AtdGwtenVzYXR6IHdwLXRsLXotZnQiIHRpdGxlPSInICsgZXNjYXBlQXR0cihpbmZvLm5h +bWUgfHwgJ0ZlaWVydGFnJykgKyAnIj7wn46JICcgKyBlc2NhcGVIVE1MKGluZm8ubmFtZSB8fCAn +RmVpZXJ0YWcnKSArICc8L3NwYW4+JzsKICAgICAgICAgICAgZWxzZSBpZiAoaW5mby50eXAgPT09 +ICdmZXJpZW4nKSB6dXNhdHogPSAnPHNwYW4gY2xhc3M9IndwLXRsLXp1c2F0eiB3cC10bC16LWZl +cmllbiIgdGl0bGU9IicgKyBlc2NhcGVBdHRyKGluZm8ubmFtZSB8fCAnU2NodWxmZXJpZW4nKSAr +ICciPvCfj5bvuI8gJyArIGVzY2FwZUhUTUwoaW5mby5uYW1lIHx8ICdTY2h1bGZlcmllbicpICsg +Jzwvc3Bhbj4nOwogICAgICAgICAgICBpZiAoaW5mby5zb25kZXIpIHsKICAgICAgICAgICAgICAg +IHZhciBzSWNvbiA9IGluZm8uc29uZGVyLmljb24gfHwgKGluZm8uc29uZGVyLnR5cCA9PT0gJ3dh +cm51bmcnID8gJ+KaoCcgOiAn4oS5Jyk7CiAgICAgICAgICAgICAgICB2YXIgc1RpdCA9IGluZm8u +c29uZGVyLnRpdGVsIHx8IHNvbmRlclRpdGVsQXVzVGV4dChpbmZvLnNvbmRlci50ZXh0KSB8fCAn +SGlud2Vpcyc7CiAgICAgICAgICAgICAgICB6dXNhdHogKz0gJzxzcGFuIGNsYXNzPSJ3cC10bC16 +dXNhdHogd3AtdGwtei0nICsgKGluZm8uc29uZGVyLnR5cCB8fCAnaGlud2VpcycpICsgJyIgdGl0 +bGU9IicgKyBlc2NhcGVBdHRyKHNUaXQpICsgJyI+JyArIGVzY2FwZUhUTUwoc0ljb24pICsgJyAn +ICsgZXNjYXBlSFRNTChzVGl0KSArICc8L3NwYW4+JzsKICAgICAgICAgICAgfQogICAgICAgICAg +ICBpZiAoaW5mby5nZWJ1cnRzdGFnZSAmJiBpbmZvLmdlYnVydHN0YWdlLmxlbmd0aCkgewogICAg +ICAgICAgICAgICAgenVzYXR6ICs9ICc8c3BhbiBjbGFzcz0id3AtdGwtenVzYXR6IHdwLXRsLXot +Z2IiIHRpdGxlPSJHZWJ1cnRzdGFnIj7wn46CICcgKyBlc2NhcGVIVE1MKGluZm8uZ2VidXJ0c3Rh +Z2UubWFwKGZ1bmN0aW9uKGcpe3JldHVybiBnLm5hbWU7fSkuam9pbignLCAnKSkgKyAnPC9zcGFu +Pic7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciB0YWdMYWJlbCA9ICc8ZGl2IGNsYXNz +PSJ3cC10YWdibG9jay1sYWJlbCI+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0id3At +dGwta29wZiI+JyArCiAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJ3cC10bC13dCI+ +JyArIHd0TmFtZW5bZGldICsgJy48L3NwYW4+JyArCiAgICAgICAgICAgICAgICAgICAgJzxzcGFu +IGNsYXNzPSJ3cC10bC1kYXR1bSI+JyArIGRhdHVtRm9ybWF0REUoZFN0cikgKyAnPC9zcGFuPicg +KwogICAgICAgICAgICAgICAgJzwvZGl2PicgKwogICAgICAgICAgICAgICAgKHp1c2F0eiA/ICc8 +ZGl2IGNsYXNzPSJ3cC10bC16dXNhdHotYm94Ij4nICsgenVzYXR6ICsgJzwvZGl2PicgOiAnJykg +KwogICAgICAgICAgICAnPC9kaXY+JzsKCiAgICAgICAgICAgIC8vIFRhYmVsbGUgcHJvIFRhZyAo +NiBTcGFsdGVuKTogREdMIEYvUy9OIHwgV0RGL0ZCUCBGL1MvTgogICAgICAgICAgICB2YXIgdGFi +ID0gJzx0YWJsZSBjbGFzcz0id3AtdGFnYmxvY2stdGFiZWxsZSI+JyArCiAgICAgICAgICAgICAg +ICAnPHRoZWFkPicgKwogICAgICAgICAgICAgICAgICAgICc8dHIgY2xhc3M9IndwLXRhZy1oMSI+ +JyArCiAgICAgICAgICAgICAgICAgICAgICAgICc8dGggY29sc3Bhbj0iMyIgY2xhc3M9IndwLWgx +LWRnbCI+REdMPC90aD4nICsKICAgICAgICAgICAgICAgICAgICAgICAgJzx0aCBjb2xzcGFuPSIz +IiBjbGFzcz0id3AtaDEtd2RmIj5XREYvRkJQPC90aD4nICsKICAgICAgICAgICAgICAgICAgICAn +PC90cj4nICsKICAgICAgICAgICAgICAgICAgICAnPHRyIGNsYXNzPSJ3cC10YWctaDIiPicgKwog +ICAgICAgICAgICAgICAgICAgICAgICAnPHRoIGNsYXNzPSJ3cC1zY2hpY2h0LWZydWVoIj5GcsO8 +aDwvdGg+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICc8dGggY2xhc3M9IndwLXNjaGljaHQt +c3BhZXQiPlNww6R0PC90aD4nICsKICAgICAgICAgICAgICAgICAgICAgICAgJzx0aCBjbGFzcz0i +d3Atc2NoaWNodC1uYWNodCI+TmFjaHQ8L3RoPicgKwogICAgICAgICAgICAgICAgICAgICAgICAn +PHRoIGNsYXNzPSJ3cC1zY2hpY2h0LWZydWVoIj5GcsO8aDwvdGg+JyArCiAgICAgICAgICAgICAg +ICAgICAgICAgICc8dGggY2xhc3M9IndwLXNjaGljaHQtc3BhZXQiPlNww6R0PC90aD4nICsKICAg +ICAgICAgICAgICAgICAgICAgICAgJzx0aCBjbGFzcz0id3Atc2NoaWNodC1uYWNodCI+TmFjaHQ8 +L3RoPicgKwogICAgICAgICAgICAgICAgICAgICc8L3RyPicgKwogICAgICAgICAgICAgICAgJzwv +dGhlYWQ+JyArCiAgICAgICAgICAgICAgICAnPHRib2R5Pic7CiAgICAgICAgICAgIGZvciAodmFy +IHIgPSAwOyByIDwgbWF4Um93czsgcisrKSB7CiAgICAgICAgICAgICAgICB0YWIgKz0gJzx0cj4n +OwogICAgICAgICAgICAgICAgc3BhbHRlbkRhdGVuLmZvckVhY2goZnVuY3Rpb24oc3AsIHNpKSB7 +CiAgICAgICAgICAgICAgICAgICAgdmFyIHAgPSBzcFtyXTsKICAgICAgICAgICAgICAgICAgICB2 +YXIgc2NoaWNodENscyA9IHNwYWx0ZW5bc2ldLmNsczsKICAgICAgICAgICAgICAgICAgICB2YXIg +Y2VsbCA9ICcnOwogICAgICAgICAgICAgICAgICAgIGlmIChwKSB7CiAgICAgICAgICAgICAgICAg +ICAgICAgIGNlbGwgPSAnPHNwYW4gY2xhc3M9IndwLW5hbWUnICsgKHAuc3Rlcm4gPyAnIHdwLW5h +bWUtZmJwJyA6ICcnKSArICciIGRhdGEtcGVyc29uLWlkPSInICsgcC5pZCArICciPicgKwogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgZXNjYXBlSFRNTChwLm5hbWUpICsgKHAuc3Rlcm4gPyAn +PHN1cD4qPC9zdXA+JyA6ICcnKSArICc8L3NwYW4+JzsKICAgICAgICAgICAgICAgICAgICB9CiAg +ICAgICAgICAgICAgICAgICAgdGFiICs9ICc8dGQgY2xhc3M9IndwLXRkLW5hbWUgJyArIHNjaGlj +aHRDbHMgKyAnIj4nICsgY2VsbCArICc8L3RkPic7CiAgICAgICAgICAgICAgICB9KTsKICAgICAg +ICAgICAgICAgIHRhYiArPSAnPC90cj4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRhYiAr +PSAnPC90Ym9keT48L3RhYmxlPic7CgogICAgICAgICAgICBibG9lY2tlSHRtbCArPSAnPGRpdiBj +bGFzcz0iJyArIGJsb2NrQ2xzICsgJyI+JyArIHRhZ0xhYmVsICsgJzxkaXYgY2xhc3M9IndwLXRh +Z2Jsb2NrLWluaGFsdCI+JyArIHRhYiArICc8L2Rpdj48L2Rpdj4nOwogICAgICAgIH0pOwoKICAg +ICAgICAvLyBGb290ZXI6IEhpbndlaXMgdW5kIERydWNrZGF0dW0KICAgICAgICB2YXIgamV0enQg +PSBuZXcgRGF0ZSgpOwogICAgICAgIHZhciBwYWQgPSBmdW5jdGlvbihuKXsgcmV0dXJuIChuPDEw +PycwJzonJykgKyBuOyB9OwogICAgICAgIHZhciBkcnVja1plaXQgPSBkYXR1bUZvcm1hdERFKFou +aGV1dGVTdHIpICsgJyAnICsgcGFkKGpldHp0LmdldEhvdXJzKCkpICsgJzonICsgcGFkKGpldHp0 +LmdldE1pbnV0ZXMoKSk7CiAgICAgICAgdmFyIGZvb3RlciA9ICc8ZGl2IGNsYXNzPSJ3cC1zZWl0 +ZS1mdXNzIj4nICsKICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJ3cC1mdXNzLW5vdGUiPjxzdXA+ +Kjwvc3VwPiBCZXNldHp1bmcgZWluZXIgU3RyZWlmZSBhdXMgZGVtIEZ1bmt0aW9uc2Jlc2V0enVu +Z3NwbGFuPC9zcGFuPicgKwogICAgICAgICAgICAnPHNwYW4gY2xhc3M9IndwLWZ1c3MtZHJ1Y2si +PkRydWNrOiAnICsgZHJ1Y2taZWl0ICsgJzwvc3Bhbj4nICsKICAgICAgICAnPC9kaXY+JzsKCiAg +ICAgICAgLy8gU2VpdGVuLUtvcGYgKG9wdGlvbmFsIGbDvHIgQmlsZHNjaGlybTsgd2lyZCBiZWlt +IERydWNrIG9obmVoaW4gYXVzZ2VibGVuZGV0IGF1w59lcmhhbGIpCiAgICAgICAgdmFyIHNlaXRl +S29wZiA9ICc8ZGl2IGNsYXNzPSJ3cC1zZWl0ZS1rb3BmIj4nICsKICAgICAgICAgICAgJzxoMT5W +ZXJrZWhyc2luc3Bla3Rpb24gMyDigJQgV29jaGVucGxhbiB2b24gPHN0cm9uZz4nICsgZGF0dW1L +dXJ6REUodm9uKSArICc8L3N0cm9uZz4gYmlzIDxzdHJvbmc+JyArIGRhdHVtS3VyekRFKGJpcykg +KyAnPC9zdHJvbmc+ICcgKyB2b24uZ2V0RnVsbFllYXIoKSArICc8L2gxPicgKwogICAgICAgICc8 +L2Rpdj4nOwoKICAgICAgICB2YXIgc2Nyb2xsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLndw +LXNjcm9sbCcpOwogICAgICAgIGlmIChzY3JvbGwpIHNjcm9sbC5pbm5lckhUTUwgPSAnPGRpdiBj +bGFzcz0id3Atc2VpdGUiPicgKyBzZWl0ZUtvcGYgKyBibG9lY2tlSHRtbCArIGZvb3RlciArICc8 +L2Rpdj4nOwogICAgfQoKICAgIC8vID09PT09IFBlcnPDtm5saWNoZXIgUGxhbiA9PT09PQoKICAg +IGZ1bmN0aW9uIHBwUmVuZGVybigpIHsKICAgICAgICAvLyBEcm9wZG93biBiZWbDvGxsZW4KICAg +ICAgICB2YXIgc2VsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BwLXBlcnNvbi1hdXN3YWhs +Jyk7CiAgICAgICAgaWYgKHNlbC5vcHRpb25zLmxlbmd0aCA9PT0gMCkgewogICAgICAgICAgICBa +LnBlcnNvbmVuLmZvckVhY2goZnVuY3Rpb24ocCkgewogICAgICAgICAgICAgICAgdmFyIG9wdCA9 +IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicpOwogICAgICAgICAgICAgICAgb3B0LnZh +bHVlID0gcC5pZDsKICAgICAgICAgICAgICAgIG9wdC50ZXh0Q29udGVudCA9IHAubmFtZSArIChw +LnZvcm5hbWUgPyAnLCAnICsgcC52b3JuYW1lIDogJycpICsgJyAoJyArIHAuZ3J1cHBlICsgJykn +OwogICAgICAgICAgICAgICAgc2VsLmFwcGVuZENoaWxkKG9wdCk7CiAgICAgICAgICAgIH0pOwog +ICAgICAgIH0KCiAgICAgICAgdmFyIHBpZCA9IHNlbC52YWx1ZTsKICAgICAgICBpZiAoIXBpZCAm +JiBaLnBlcnNvbmVuLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgcGlkID0gU3RyaW5nKFoucGVy +c29uZW5bMF0uaWQpOwogICAgICAgICAgICBzZWwudmFsdWUgPSBwaWQ7CiAgICAgICAgfQogICAg +ICAgIHZhciBwZXJzb24gPSBaLnBlcnNvbmVuLmZpbmQoZnVuY3Rpb24ocCkgeyByZXR1cm4gU3Ry +aW5nKHAuaWQpID09PSBTdHJpbmcocGlkKTsgfSk7CiAgICAgICAgaWYgKCFwZXJzb24pIHJldHVy +bjsKCiAgICAgICAgLy8gVGl0ZWwKICAgICAgICB2YXIgdGl0ZWxUZXh0ID0gJ1BlcnPDtm5saWNo +ZXIgRGllbnN0cGxhbiB2b24gJyArIHBlcnNvbi5uYW1lICsKICAgICAgICAgICAgKHBlcnNvbi52 +b3JuYW1lID8gJywgJyArIHBlcnNvbi52b3JuYW1lIDogJycpICsgJyDigJQgJyArIChaLmFkbWlu +LmphaHIgfHwgJycpOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcC10aXRlbCcp +LnRleHRDb250ZW50ID0gdGl0ZWxUZXh0OwoKICAgICAgICAvLyAxMiBNb25hdHNibMO2Y2tlCiAg +ICAgICAgdmFyIGphaHIgPSBaLmFkbWluLmphaHIgfHwgbmV3IERhdGUoKS5nZXRGdWxsWWVhcigp +OwogICAgICAgIHZhciBtb25hdGVIdG1sID0gJyc7CiAgICAgICAgdmFyIHN0YXRzID0geyBmcnVl +aDogMCwgc3BhZXQ6IDAsIG5hY2h0OiAwLCB1cmxhdWI6IDAsIGtyYW5rOiAwLCBsZWhyZ2FuZzog +MCwgZnJlaTogMCwgc29uZGVyOiAwLCBnZXNhbXQ6IDAgfTsKICAgICAgICB2YXIgbW9OYW1lbiA9 +IFsnSmFudWFyJywnRmVicnVhcicsJ03DpHJ6JywnQXByaWwnLCdNYWknLCdKdW5pJywnSnVsaScs +J0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09rdG9iZXInLCdOb3ZlbWJlcicsJ0RlemVtYmVyJ107CiAg +ICAgICAgdmFyIHd0S3VyeiA9IFsnTW8nLCdEaScsJ01pJywnRG8nLCdGcicsJ1NhJywnU28nXTsK +CiAgICAgICAgZm9yICh2YXIgbSA9IDA7IG0gPCAxMzsgbSsrKSB7CiAgICAgICAgICAgIC8vIG09 +MTIgLT4gQnVmZmVyLUphbnVhciBkZXMgRm9sZ2VqYWhyZXMgKERhdGUtS29uc3RydWt0b3Igbm9y +bWFsaXNpZXJ0OiBqYWhyPTIwMjYsIG09MTIgLT4gMjAyNy0wMSkKICAgICAgICAgICAgdmFyIG1v +bmF0TGFiZWwgPSBtID09PSAxMiA/IChtb05hbWVuWzBdICsgJyAnICsgKGphaHIgKyAxKSkgOiBt +b05hbWVuW21dOwogICAgICAgICAgICBtb25hdGVIdG1sICs9ICc8ZGl2IGNsYXNzPSJwcC1tb25h +dCI+PGRpdiBjbGFzcz0icHAtbW9uYXQta29wZiI+JyArIG1vbmF0TGFiZWwgKyAnPC9kaXY+JzsK +ICAgICAgICAgICAgbW9uYXRlSHRtbCArPSAnPGRpdiBjbGFzcz0icHAtbW9uYXQtZ3JpZCI+JzsK +CiAgICAgICAgICAgIC8vIFdvY2hlbnRhZy1IZWFkZXIKICAgICAgICAgICAgd3RLdXJ6LmZvckVh +Y2goZnVuY3Rpb24odykgewogICAgICAgICAgICAgICAgbW9uYXRlSHRtbCArPSAnPGRpdiBjbGFz +cz0icHAtd3Qta29wZiI+JyArIHcgKyAnPC9kaXY+JzsKICAgICAgICAgICAgfSk7CgogICAgICAg +ICAgICAvLyBFcnN0ZXIgVGFnOiB3ZWxjaGVyIFdvY2hlbnRhZz8KICAgICAgICAgICAgdmFyIGVy +c3RlclRhZyA9IG5ldyBEYXRlKGphaHIsIG0sIDEpOwogICAgICAgICAgICB2YXIgc3RhcnRXdCA9 +IGVyc3RlclRhZy5nZXREYXkoKTsgLy8gMD1TbwogICAgICAgICAgICBzdGFydFd0ID0gc3RhcnRX +dCA9PT0gMCA/IDYgOiBzdGFydFd0IC0gMTsgLy8gMD1NbwoKICAgICAgICAgICAgLy8gTGVlcmUg +WmVsbGVuIHZvciBkZW0gMS4KICAgICAgICAgICAgZm9yICh2YXIgbGVlciA9IDA7IGxlZXIgPCBz +dGFydFd0OyBsZWVyKyspIHsKICAgICAgICAgICAgICAgIG1vbmF0ZUh0bWwgKz0gJzxkaXYgY2xh +c3M9InBwLXRhZyBwcC10YWctbGVlciI+PC9kaXY+JzsKICAgICAgICAgICAgfQoKICAgICAgICAg +ICAgdmFyIHRhZ2VJbU1vbmF0ID0gbmV3IERhdGUoamFociwgbSArIDEsIDApLmdldERhdGUoKTsK +ICAgICAgICAgICAgZm9yICh2YXIgdCA9IDE7IHQgPD0gdGFnZUltTW9uYXQ7IHQrKykgewogICAg +ICAgICAgICAgICAgdmFyIGQgPSBuZXcgRGF0ZShqYWhyLCBtLCB0KTsKICAgICAgICAgICAgICAg +IHZhciBkU3RyID0gZGF0dW1TdHIoZCk7CiAgICAgICAgICAgICAgICB2YXIgaW5mbyA9IFoudGFn +SW5mb3NbZFN0cl0gfHwgeyB0eXA6ICdub3JtYWwnIH07CiAgICAgICAgICAgICAgICB2YXIgZWlu +dHIgPSAoWi5wbGFudW5nLmVpbnRyYWVnZSB8fCB7fSlbZFN0cl0gfHwge307CiAgICAgICAgICAg +ICAgICB2YXIgd2VydCA9IGVpbnRyW1N0cmluZyhwaWQpXSB8fCAnJzsKICAgICAgICAgICAgICAg +IHZhciBmYXJiZW4gPSBaLmNvZGVNYXBbd2VydF0gfHwge307CiAgICAgICAgICAgICAgICAvLyBL +b21tZW50YXI6IHNlaXQgU2NoZW1hLVVtc3RlbGx1bmcgaXN0IGRlciBFaW50cmFnIGVpbiBPYmpl +a3QKICAgICAgICAgICAgICAgIC8vICh7dGV4dCwgZ2VhZW5kZXJ0QW0sIGdlYWVuZGVydFZvbn0p +IOKAlCB2b3JoZXIgZWluIFBsYWluLVN0cmluZy4KICAgICAgICAgICAgICAgIC8vIGtvbW1lbnRh +clRleHQoKSBoYWVuZGVsdCBiZWlkZSBGb3JtZW4gdW5kIGdpYnQgZWluZW4gc2F1YmVyZW4KICAg +ICAgICAgICAgICAgIC8vIFN0cmluZyB6dXJ1ZWNrIChzb25zdCBsYW5kZXRlICJbb2JqZWN0IE9i +amVjdF0iIGltIFRvb2x0aXApLgogICAgICAgICAgICAgICAgdmFyIGtvbW1lbnRhciA9IGtvbW1l +bnRhclRleHQoKChaLnBsYW51bmcua29tbWVudGFyZSB8fCB7fSlbZFN0cl0gfHwge30pW1N0cmlu +ZyhwaWQpXSk7CiAgICAgICAgICAgICAgICB2YXIgd2UgPSBpc3RXb2NoZW5lbmRlKGQpOwoKICAg +ICAgICAgICAgICAgIHZhciB0YWdDbHMgPSAncHAtdGFnJzsKICAgICAgICAgICAgICAgIGlmIChk +U3RyID09PSBaLmhldXRlU3RyKSB0YWdDbHMgKz0gJyBwcC10YWctaGV1dGUnOwogICAgICAgICAg +ICAgICAgaWYgKGluZm8udHlwID09PSAnZmVpZXJ0YWcnKSB0YWdDbHMgKz0gJyBwcC10YWctZnQn +OwogICAgICAgICAgICAgICAgZWxzZSBpZiAod2UpIHRhZ0NscyArPSAnIHBwLXRhZy13ZSc7CiAg +ICAgICAgICAgICAgICBpZiAoa29tbWVudGFyKSB0YWdDbHMgKz0gJyBwcC10YWcta29tbWVudGFy +JzsKCiAgICAgICAgICAgICAgICB2YXIgd2VydFN0eWxlID0gJyc7CiAgICAgICAgICAgICAgICB2 +YXIgd2VydFRleHQgPSAnJzsKICAgICAgICAgICAgICAgIGlmICh3ZXJ0ICYmIGZhcmJlbi5oaW50 +ZXJncnVuZCkgewogICAgICAgICAgICAgICAgICAgIHdlcnRTdHlsZSA9ICdiYWNrZ3JvdW5kOicg +KyBlc2NhcGVBdHRyKGZhcmJlbi5oaW50ZXJncnVuZCkgKyAnO2NvbG9yOicgKyBlc2NhcGVBdHRy +KGZhcmJlbi5zY2hyaWZ0IHx8ICcjMDAwJyk7CiAgICAgICAgICAgICAgICAgICAgd2VydFRleHQg +PSBmYXJiZW4ua3VlcnplbCB8fCB3ZXJ0OwogICAgICAgICAgICAgICAgfSBlbHNlIGlmICh3ZXJ0 +KSB7CiAgICAgICAgICAgICAgICAgICAgd2VydFRleHQgPSB3ZXJ0OwogICAgICAgICAgICAgICAg +fQoKICAgICAgICAgICAgICAgIC8vIFN0YXRpc3RpawogICAgICAgICAgICAgICAgaWYgKHdlcnQp +IHsKICAgICAgICAgICAgICAgICAgICBpZiAod2VydC5pbmRleE9mKCdGLURHTCcpID09PSAwKSBz +dGF0cy5mcnVlaCsrOwogICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHdlcnQuaW5kZXhPZign +Uy1ER0wnKSA9PT0gMCkgc3RhdHMuc3BhZXQrKzsKICAgICAgICAgICAgICAgICAgICBlbHNlIGlm +ICh3ZXJ0LmluZGV4T2YoJ04tREdMJykgPT09IDApIHN0YXRzLm5hY2h0Kys7CiAgICAgICAgICAg +ICAgICAgICAgaWYgKHdlcnQgPT09ICdVcmwnKSBzdGF0cy51cmxhdWIrKzsKICAgICAgICAgICAg +ICAgICAgICBpZiAod2VydCA9PT0gJ2tyJyB8fCB3ZXJ0ID09PSAnS3VyJykgc3RhdHMua3Jhbmsr +KzsKICAgICAgICAgICAgICAgICAgICBpZiAod2VydCA9PT0gJ0xHJyB8fCB3ZXJ0ID09PSAnU2Vt +Jykgc3RhdHMubGVocmdhbmcrKzsKICAgICAgICAgICAgICAgICAgICBpZiAod2VydCA9PT0gJ3dm +cicgfHwgd2VydCA9PT0gJ2RmcicpIHN0YXRzLmZyZWkrKzsKICAgICAgICAgICAgICAgICAgICBp +ZiAod2VydC5pbmRleE9mKCdER0wnKSA+PSAwIHx8IHdlcnQuaW5kZXhPZignV0RGJykgPj0gMCB8 +fCB3ZXJ0LmluZGV4T2YoJ0ZCUCcpID49IDApIHN0YXRzLmdlc2FtdCsrOwogICAgICAgICAgICAg +ICAgfQoKICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IHdlcnQ7CiAgICAgICAgICAgICAgICBp +ZiAoa29tbWVudGFyKSB0aXRsZSArPSAnIHwgJyArIGtvbW1lbnRhcjsKICAgICAgICAgICAgICAg +IGlmIChpbmZvLm5hbWUpIHRpdGxlICs9ICcgfCAnICsgaW5mby5uYW1lOwoKICAgICAgICAgICAg +ICAgIG1vbmF0ZUh0bWwgKz0gJzxkaXYgY2xhc3M9IicgKyB0YWdDbHMgKyAnIiB0aXRsZT0iJyAr +IGVzY2FwZUF0dHIodGl0bGUpICsgJyI+JyArCiAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNs +YXNzPSJwcC10YWctbnIiPicgKyB0ICsgJzwvc3Bhbj4nOwogICAgICAgICAgICAgICAgaWYgKHdl +cnRUZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgbW9uYXRlSHRtbCArPSAnPHNwYW4gY2xhc3M9 +InBwLXRhZy13ZXJ0IiBzdHlsZT0iJyArIHdlcnRTdHlsZSArICciPicgKyBlc2NhcGVIVE1MKHdl +cnRUZXh0KSArICc8L3NwYW4+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIG1v +bmF0ZUh0bWwgKz0gJzwvZGl2Pic7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIG1vbmF0ZUh0 +bWwgKz0gJzwvZGl2PjwvZGl2Pic7CiAgICAgICAgfQogICAgICAgIGRvY3VtZW50LmdldEVsZW1l +bnRCeUlkKCdwcC1tb25hdGUnKS5pbm5lckhUTUwgPSBtb25hdGVIdG1sOwoKICAgICAgICAvLyBa +dXNhbW1lbmZhc3N1bmcKICAgICAgICB2YXIgc3VtSHRtbCA9ICc8aDM+WnVzYW1tZW5mYXNzdW5n +ICcgKyAoWi5hZG1pbi5qYWhyIHx8ICcnKSArICc8L2gzPjxkaXYgY2xhc3M9InBwLXN1bW1hcnkt +Z3JpZCI+JyArCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJwcC1zdGF0LWl0ZW0iPjxzcGFuIGNs +YXNzPSJwcC1zdGF0LXphaGwiIHN0eWxlPSJjb2xvcjp2YXIoLS1mYXJiZS1mcnVlaCkiPicgKyBz +dGF0cy5mcnVlaCArICc8L3NwYW4+PHNwYW4gY2xhc3M9InBwLXN0YXQtbGFiZWwiPkZyw7xoZGll +bnN0ZTwvc3Bhbj48L2Rpdj4nICsKICAgICAgICAgICAgJzxkaXYgY2xhc3M9InBwLXN0YXQtaXRl +bSI+PHNwYW4gY2xhc3M9InBwLXN0YXQtemFobCIgc3R5bGU9ImNvbG9yOnZhcigtLWZhcmJlLXNw +YWV0KSI+JyArIHN0YXRzLnNwYWV0ICsgJzwvc3Bhbj48c3BhbiBjbGFzcz0icHAtc3RhdC1sYWJl +bCI+U3DDpHRkaWVuc3RlPC9zcGFuPjwvZGl2PicgKwogICAgICAgICAgICAnPGRpdiBjbGFzcz0i +cHAtc3RhdC1pdGVtIj48c3BhbiBjbGFzcz0icHAtc3RhdC16YWhsIiBzdHlsZT0iY29sb3I6dmFy +KC0tZmFyYmUtbmFjaHQpIj4nICsgc3RhdHMubmFjaHQgKyAnPC9zcGFuPjxzcGFuIGNsYXNzPSJw +cC1zdGF0LWxhYmVsIj5OYWNodGRpZW5zdGU8L3NwYW4+PC9kaXY+JyArCiAgICAgICAgICAgICc8 +ZGl2IGNsYXNzPSJwcC1zdGF0LWl0ZW0iPjxzcGFuIGNsYXNzPSJwcC1zdGF0LXphaGwiPicgKyBz +dGF0cy5nZXNhbXQgKyAnPC9zcGFuPjxzcGFuIGNsYXNzPSJwcC1zdGF0LWxhYmVsIj5EaWVuc3Rl +IGdlc2FtdDwvc3Bhbj48L2Rpdj4nICsKICAgICAgICAgICAgJzxkaXYgY2xhc3M9InBwLXN0YXQt +aXRlbSI+PHNwYW4gY2xhc3M9InBwLXN0YXQtemFobCI+JyArIHN0YXRzLnVybGF1YiArICc8L3Nw +YW4+PHNwYW4gY2xhc3M9InBwLXN0YXQtbGFiZWwiPlVybGF1Yjwvc3Bhbj48L2Rpdj4nICsKICAg +ICAgICAgICAgJzxkaXYgY2xhc3M9InBwLXN0YXQtaXRlbSI+PHNwYW4gY2xhc3M9InBwLXN0YXQt +emFobCI+JyArIHN0YXRzLmxlaHJnYW5nICsgJzwvc3Bhbj48c3BhbiBjbGFzcz0icHAtc3RhdC1s +YWJlbCI+TGVocmdhbmcvU2VtaW5hcjwvc3Bhbj48L2Rpdj4nICsKICAgICAgICAgICAgJzxkaXYg +Y2xhc3M9InBwLXN0YXQtaXRlbSI+PHNwYW4gY2xhc3M9InBwLXN0YXQtemFobCI+JyArIHN0YXRz +LmZyZWkgKyAnPC9zcGFuPjxzcGFuIGNsYXNzPSJwcC1zdGF0LWxhYmVsIj5EaWVuc3RmcmVpPC9z +cGFuPjwvZGl2PicgKwogICAgICAgICAgICAnPC9kaXY+JzsKICAgICAgICBkb2N1bWVudC5nZXRF +bGVtZW50QnlJZCgncHAtc3VtbWFyeScpLmlubmVySFRNTCA9IHN1bUh0bWw7CiAgICB9CgpmdW5j +dGlvbiB3cFZvcndvY2hlKCkgICAgICAgeyB3cE9mZnNldC0tOyB3cFJlbmRlcm4oKTsgfQpmdW5j +dGlvbiB3cE5hZWNoc3RlV29jaGUoKSAgeyB3cE9mZnNldCsrOyB3cFJlbmRlcm4oKTsgfQpmdW5j +dGlvbiB3cEFrdHVlbGxlV29jaGUoKSAgeyB3cE9mZnNldCA9IDA7IHdwUmVuZGVybigpOyB9Cgpl +eHBvcnQgewogICAgd3BXb2NoZVRhZ2UsIHdwUmVuZGVybiwgcHBSZW5kZXJuLAogICAgd3BWb3J3 +b2NoZSwgd3BOYWVjaHN0ZVdvY2hlLCB3cEFrdHVlbGxlV29jaGUKfTsK +### FILE: server.ps1 | 241201 +IyBTdGFuZDogMjAyNi0wNS0xNA0KcGFyYW0oDQogICAgW2ludF0kUG9ydCA9IDgwODAsDQogICAg +W3N0cmluZ10kUm9vdFBhdGggPSAnJywNCiAgICAjIE9wdGlvbmFsZXMgendlaXRlcyBSb290IGZ1 +ZXIgZ2VtZWluc2FtZSBEYXRlbiAoYWRtaW4uanNvbiBldGMuKS4gV2Vubg0KICAgICMgZ2VzZXR6 +dCwga29tbWVuIC9kYXRhLy1SZWFkcyArIFNjaHJlaWJ6dWdyaWZmZSBhdXMgZGllc2VtIFBmYWQg +c3RhdHQNCiAgICAjIGF1cyAkUm9vdFBhdGgvZGF0YS4gRGFtaXQga29lbm5lbiBDbGllbnRzIGlo +cmUgc3RhdGlzY2hlbiBBc3NldHMgYXVzDQogICAgIyBlaW5lciBsb2thbGVuIEtvcGllIGJlZGll +bmVuIChTaGFyZSBsYWVzc3Qgc2ljaCBqZWRlcnplaXQgYWt0dWFsaXNpZXJlbiwNCiAgICAjIGtl +aW5lIERhdGVpLUxvY2tzIG1laHIpIHVuZCB0cm90emRlbSBhdWYgZGVtIGdlbWVpbnNhbWVuIEpT +T04tU3RhbmQNCiAgICAjIGFtIFNoYXJlIGFyYmVpdGVuLg0KICAgIFtzdHJpbmddJERhdGFQYXRo +ID0gJycsDQogICAgIyBPcHRpb25hbGVyIFNoYXJlLUZhbGxiYWNrIGZ1ZXIgc3RhdGlzY2hlIERh +dGVpZW4sIGRpZSBOSUNIVCBsb2thbA0KICAgICMgaW0gQ2FjaGUgbGllZ2VuICh6LkIuIHhsc3gu +ZnVsbC5taW4uanMpIOKAlCB3ZXJkZW4gZGFubiB2b20gU2hhcmUNCiAgICAjIG5hY2hnZWxhZGVu +LiBMZWVyID0ga2VpbiBGYWxsYmFjay4NCiAgICBbc3RyaW5nXSRBc3NldEZhbGxiYWNrID0gJycN +CikNCg0KIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KIyBWSTMgREdMLVBsYW51bmcgLSBQb3dlclNo +ZWxsLVNlcnZlcg0KIyBTcGllZ2VsdCBkaWUgUHl0aG9uLVZhcmlhbnRlIChzZXJ2ZXIucHkpIGZ1 +bmt0aW9uYWwuDQojIFBTIDUuMSArIENMTS1rb21wYXRpYmVsOiBudXIgRW5jb2Rpbmc6OlVURjgg +U3RhdGljLCBrZWluZSBDb25zdHJ1Y3Rvci1DYWxscy4NCiMgRGF0ZWktSS9PIHVlYmVyIFtTeXN0 +ZW0uSU8uRmlsZV06OlJlYWRBbGxCeXRlcyAvIFdyaXRlQWxsQnl0ZXMgKFVOQy1zaWNoZXIpLg0K +IyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PQ0KDQojIC0tLSBBcmJlaXRzdmVyemVpY2huaXMgYmVzdGlt +bWVuIC0tLQ0KaWYgKC1ub3QgJFJvb3RQYXRoKSB7DQogICAgV3JpdGUtSG9zdCAnRkVITEVSOiAt +Um9vdFBhdGggd3VyZGUgbmljaHQgdWViZXJnZWJlbi4nIC1Gb3JlZ3JvdW5kQ29sb3IgUmVkDQog +ICAgU3RhcnQtU2xlZXAgLVNlY29uZHMgNQ0KICAgIGV4aXQgMQ0KfQ0KaWYgKC1ub3QgKFRlc3Qt +UGF0aCAtTGl0ZXJhbFBhdGggJFJvb3RQYXRoKSkgew0KICAgIFdyaXRlLUhvc3QgKCdGRUhMRVI6 +IFJvb3RQYXRoIGV4aXN0aWVydCBuaWNodDogezB9JyAtZiAkUm9vdFBhdGgpIC1Gb3JlZ3JvdW5k +Q29sb3IgUmVkDQogICAgU3RhcnQtU2xlZXAgLVNlY29uZHMgNQ0KICAgIGV4aXQgMQ0KfQ0KIyBQ +cm92aWRlclBhdGggc3RhdHQgUGF0aDogbGllZmVydCByZWluZW4gV2luMzItL1VOQy1QZmFkIG9o +bmUNCiMgIk1pY3Jvc29mdC5Qb3dlclNoZWxsLkNvcmVcRmlsZVN5c3RlbTo6IiBQcmVmaXgsIGRl +biAuTkVULURhdGVpLUFQSXMNCiMgKFtTeXN0ZW0uSU8uRmlsZV06OlJlYWRBbGxCeXRlcyBldGMu +KSBuaWNodCB2ZXJzdGVoZW4uDQokUm9vdCA9IChSZXNvbHZlLVBhdGggLUxpdGVyYWxQYXRoICRS +b290UGF0aCkuUHJvdmlkZXJQYXRoDQoNCiMgQXNzZXRGYWxsYmFjayBmcnVlaCBhdWZsb2VzZW4s +IGRhbWl0IGRpZSBEYXRhRGlyLVN1Y2hlIGlobiBhbHMgUXVlbGxlIG51dHplbg0KIyBrYW5uLiBF +cmxhdWJ0IGVzLCBlaW56ZWxuZSBEYXRlaWVuICh6LkIuIHhsc3guZnVsbC5taW4uanMpIHZvbSBT +aGFyZSB6dQ0KIyBiZWRpZW5lbiwgYXVjaCB3ZW5uIGRlciBSZXN0IGRlciBBcHAgYXVzIGxva2Fs +ZXIgS29waWUga29tbXQuDQokc2NyaXB0OkFzc2V0RmFsbGJhY2sgPSAnJw0KaWYgKCRBc3NldEZh +bGxiYWNrIC1hbmQgKFRlc3QtUGF0aCAtTGl0ZXJhbFBhdGggJEFzc2V0RmFsbGJhY2spKSB7DQog +ICAgJHNjcmlwdDpBc3NldEZhbGxiYWNrID0gKFJlc29sdmUtUGF0aCAtTGl0ZXJhbFBhdGggJEFz +c2V0RmFsbGJhY2spLlByb3ZpZGVyUGF0aA0KfQ0KDQojIC0tLSBEYXRhRGlyIHJvYnVzdCBhdWZs +b2VzZW4gKHVlYmVybGVidCBkYXMgVmVyc2NoaWViZW4gZGVzIEJlenVnb3JkbmVycykgLS0tDQoj +IFdpciBwcm9iaWVyZW4gbWVocmVyZSBRdWVsbGVuIGluIFByaW9yaXRhZXQgdW5kIG5laG1lbiBk +aWUgRVJTVEUsIGRpZSBlY2h0ZQ0KIyBEYXRlbiAoYWRtaW4uanNvbikgZW50aGFlbHQuIERhbWl0 +IGZpbmRldCBkZXIgU2VydmVyIHNlaW5lIEpTT04gYXVjaCBkYW5uLA0KIyB3ZW5uIGRlciB1ZWJl +cmdlYmVuZSAtRGF0YVBhdGggdmVyYWx0ZXQgb2RlciBsZWVyIGlzdCAoei5CLiBlaW4gYWx0ZXIN +CiMgTGF1bmNoZXIgbWl0IGhhcnRjb2RpZXJ0ZW0gTGF1ZndlcmtzYnVjaHN0YWJlbiB3aWUgVzpc +MDI1KSwgc29sYW5nZQ0KIyBpcmdlbmRlaW5lIGJla2FubnRlIFF1ZWxsZSBkaWUgRGF0ZW4gbm9j +aCBoYXQ6DQojICAgMS4gLURhdGFQYXRoICAgICAgICAgIChleHBsaXppdCB1ZWJlcmdlYmVuKQ0K +IyAgIDIuIDxBc3NldEZhbGxiYWNrPlxkYXRhICAoUXVlbGwtL1NoYXJlLU9yZG5lciDigJQgd2Fu +ZGVydCBiZWltIFZlcnNjaGllYmVuIG1pdCkNCiMgICAzLiA8Um9vdD5cZGF0YSAgICAgICAgKGxv +a2FsZXIgQXNzZXQtQ2FjaGUpDQojICAgNC4gPFNjcmlwdE9yZG5lcj5cZGF0YSAoU2VsYnN0YmV6 +dWcsIGZhbGxzIHNlcnZlci5wczEgZGlyZWt0IGltIEJlenVnb3JkbmVyIGxpZWd0KQ0KJGRhdGFL +YW5kaWRhdGVuID0gQCgpDQppZiAoJERhdGFQYXRoKSAgICAgICAgICAgICB7ICRkYXRhS2FuZGlk +YXRlbiArPSAkRGF0YVBhdGggfQ0KaWYgKCRzY3JpcHQ6QXNzZXRGYWxsYmFjaykgeyAkZGF0YUth +bmRpZGF0ZW4gKz0gKEpvaW4tUGF0aCAkc2NyaXB0OkFzc2V0RmFsbGJhY2sgJ2RhdGEnKSB9DQok +ZGF0YUthbmRpZGF0ZW4gKz0gKEpvaW4tUGF0aCAkUm9vdCAnZGF0YScpDQppZiAoJFBTU2NyaXB0 +Um9vdCkgICAgICAgICB7ICRkYXRhS2FuZGlkYXRlbiArPSAoSm9pbi1QYXRoICRQU1NjcmlwdFJv +b3QgJ2RhdGEnKSB9DQoNCiREYXRhRGlyID0gJycNCmZvcmVhY2ggKCRjYW5kIGluICRkYXRhS2Fu +ZGlkYXRlbikgew0KICAgIGlmICgkY2FuZCAtYW5kIChUZXN0LVBhdGggLUxpdGVyYWxQYXRoIChK +b2luLVBhdGggJGNhbmQgJ2FkbWluLmpzb24nKSkpIHsNCiAgICAgICAgJERhdGFEaXIgPSAoUmVz +b2x2ZS1QYXRoIC1MaXRlcmFsUGF0aCAkY2FuZCkuUHJvdmlkZXJQYXRoDQogICAgICAgIGJyZWFr +DQogICAgfQ0KfQ0KDQppZiAoLW5vdCAkRGF0YURpcikgew0KICAgICMgS2VpbmUgUXVlbGxlIGhh +dCBlY2h0ZSBEYXRlbi4gRnVlciBlaW5lIEVyc3RpbnN0YWxsYXRpb24gbGVnZW4gd2lyIGRlbg0K +ICAgICMgWmllbG9yZG5lciBhbiDigJQgYWJlciBMQVVULCBuaWNodCBzdHVtbSwgZGFtaXQgZWlu +IHZlcnNlaGVudGxpY2ggbGVlcmVyDQogICAgIyBEYXRlbnN0YW5kICh6LkIuIGRhdGFcLU9yZG5l +ciBiZWltIFZlcnNjaGllYmVuIHZlcmdlc3Nlbiwgb2RlciBlaW4gYWx0ZXINCiAgICAjIExhdW5j +aGVyIG1pdCB0b3RlbSAtRGF0YVBhdGgpIHNvZm9ydCBhdWZmYWVsbHQgc3RhdHQgYWxzICJsZWVy +ZSBBcHAiLg0KICAgIGlmICgkRGF0YVBhdGgpIHsNCiAgICAgICAgaWYgKC1ub3QgKFRlc3QtUGF0 +aCAtTGl0ZXJhbFBhdGggJERhdGFQYXRoKSkgeyBOZXctSXRlbSAtSXRlbVR5cGUgRGlyZWN0b3J5 +IC1QYXRoICREYXRhUGF0aCAtRm9yY2UgfCBPdXQtTnVsbCB9DQogICAgICAgICREYXRhRGlyID0g +KFJlc29sdmUtUGF0aCAtTGl0ZXJhbFBhdGggJERhdGFQYXRoKS5Qcm92aWRlclBhdGgNCiAgICB9 +IGVsc2Ugew0KICAgICAgICAkRGF0YURpciA9IEpvaW4tUGF0aCAkUm9vdCAnZGF0YScNCiAgICAg +ICAgaWYgKC1ub3QgKFRlc3QtUGF0aCAtTGl0ZXJhbFBhdGggJERhdGFEaXIpKSB7IE5ldy1JdGVt +IC1JdGVtVHlwZSBEaXJlY3RvcnkgLVBhdGggJERhdGFEaXIgLUZvcmNlIHwgT3V0LU51bGwgfQ0K +ICAgIH0NCiAgICBXcml0ZS1Ib3N0ICcnDQogICAgV3JpdGUtSG9zdCAnICAqKiogV0FSTlVORzog +SW4ga2VpbmVyIGJla2FubnRlbiBRdWVsbGUgd3VyZGUgYWRtaW4uanNvbiBnZWZ1bmRlbiEgKioq +JyAtRm9yZWdyb3VuZENvbG9yIFJlZA0KICAgIFdyaXRlLUhvc3QgJyAgRHVyY2hzdWNodGUgT3J0 +ZTonIC1Gb3JlZ3JvdW5kQ29sb3IgWWVsbG93DQogICAgZm9yZWFjaCAoJGNhbmQgaW4gJGRhdGFL +YW5kaWRhdGVuKSB7IFdyaXRlLUhvc3QgKCcgICAgLSB7MH0nIC1mICRjYW5kKSAtRm9yZWdyb3Vu +ZENvbG9yIFllbGxvdyB9DQogICAgV3JpdGUtSG9zdCAoJyAgU2VydmVyIHN0YXJ0ZXQgbWl0IExF +RVJFTSBEYXRlbm9yZG5lcjogezB9JyAtZiAkRGF0YURpcikgLUZvcmVncm91bmRDb2xvciBZZWxs +b3cNCiAgICBXcml0ZS1Ib3N0ICcgIC0+IFd1cmRlIGRlciBPcmRuZXIgdmVyc2Nob2Jlbj8gRGFu +biBkZW4gZGF0YVwtVW50ZXJvcmRuZXIgbWl0a29waWVyZW4uJyAtRm9yZWdyb3VuZENvbG9yIFll +bGxvdw0KICAgIFdyaXRlLUhvc3QgJycNCn0NCg0KJHNjcmlwdDpDb3JzT3JpZ2luID0gImh0dHA6 +Ly9sb2NhbGhvc3Q6JFBvcnQiDQokc2NyaXB0Okxhc3RIZWFydGJlYXQgPSBHZXQtRGF0ZQ0KJHNj +cmlwdDpTaHV0ZG93blBlbmRpbmcgPSAkZmFsc2UNCg0KJFVzZXJuYW1lID0gJGVudjpVU0VSTkFN +RQ0KaWYgKC1ub3QgJFVzZXJuYW1lKSB7ICRVc2VybmFtZSA9ICd1bmtub3duJyB9DQokRG9tYWlu +ID0gJGVudjpVU0VSRE9NQUlODQppZiAoLW5vdCAkRG9tYWluKSB7ICREb21haW4gPSAnKicgfQ0K +DQojIC0tLSBNSU1FIC0tLQ0KJE1pbWVUeXBlcyA9IEB7DQogICAgJy5odG1sJyA9ICd0ZXh0L2h0 +bWw7IGNoYXJzZXQ9dXRmLTgnDQogICAgJy5jc3MnICA9ICd0ZXh0L2NzczsgY2hhcnNldD11dGYt +OCcNCiAgICAnLmpzJyAgID0gJ2FwcGxpY2F0aW9uL2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgn +DQogICAgJy5qc29uJyA9ICdhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04Jw0KICAgICcu +cG5nJyAgPSAnaW1hZ2UvcG5nJw0KICAgICcuanBnJyAgPSAnaW1hZ2UvanBlZycNCiAgICAnLmpw +ZWcnID0gJ2ltYWdlL2pwZWcnDQogICAgJy5zdmcnICA9ICdpbWFnZS9zdmcreG1sJw0KICAgICcu +aWNvJyAgPSAnaW1hZ2UveC1pY29uJw0KfQ0KDQojIC0tLSBMb2cgLS0tDQokc2NyaXB0OkFwaUxv +ZyA9IEpvaW4tUGF0aCAkZW52OlRFTVAgJ1ZJM0RHTF9hcGkubG9nJw0KdHJ5IHsgUmVtb3ZlLUl0 +ZW0gLUxpdGVyYWxQYXRoICRzY3JpcHQ6QXBpTG9nIC1Gb3JjZSAtRXJyb3JBY3Rpb24gU2lsZW50 +bHlDb250aW51ZSB9IGNhdGNoIHt9DQpmdW5jdGlvbiBMb2ctQXBpKCRNZXNzYWdlKSB7DQogICAg +dHJ5IHsNCiAgICAgICAgJGxpbmUgPSAiWyQoR2V0LURhdGUgLUZvcm1hdCAnSEg6bW06c3MuZmZm +JyldICRNZXNzYWdlIg0KICAgICAgICBBZGQtQ29udGVudCAtTGl0ZXJhbFBhdGggJHNjcmlwdDpB +cGlMb2cgLVZhbHVlICRsaW5lIC1FbmNvZGluZyBVVEY4DQogICAgfSBjYXRjaCB7fQ0KfQ0KDQpM +b2ctQXBpICgnU1RBUlRVUCBSb290ICAgICAgICAgID0gezB9JyAtZiAkUm9vdCkNCkxvZy1BcGkg +KCdTVEFSVFVQIERhdGFEaXIgICAgICAgPSB7MH0nIC1mICREYXRhRGlyKQ0KJF9hZkxvZyA9IGlm +ICgkc2NyaXB0OkFzc2V0RmFsbGJhY2spIHsgJHNjcmlwdDpBc3NldEZhbGxiYWNrIH0gZWxzZSB7 +ICcobmljaHQgZ2VzZXR6dCknIH0NCkxvZy1BcGkgKCdTVEFSVFVQIEFzc2V0RmFsbGJhY2sgPSB7 +MH0nIC1mICRfYWZMb2cpDQojIEZhbGxzIGRlciB1ZWJlcmdlYmVuZSAtRGF0YVBhdGgga2VpbmUg +RGF0ZW4gaGF0dGUgdW5kIGRpZSByb2J1c3RlIFN1Y2hlIGF1Zg0KIyBlaW5lIGFuZGVyZSBRdWVs +bGUgYXVzZ2V3aWNoZW4gaXN0LCBkYXMgbGF1dCBpbnMgTG9nIHNjaHJlaWJlbiDigJQgc29uc3Qg +c2llaHQNCiMgbWFuIGRlbSAiRGF0YURpciA9IC4uLiIgbmljaHQgYW4sIGRhc3MgZWluIHRvdGVy +IC1EYXRhUGF0aCB1ZWJlcmJydWVja3Qgd3VyZGUuDQppZiAoJERhdGFQYXRoKSB7DQogICAgJF9k +cEZ1bGwgPSAnJw0KICAgIGlmIChUZXN0LVBhdGggLUxpdGVyYWxQYXRoICREYXRhUGF0aCkgeyAk +X2RwRnVsbCA9IChSZXNvbHZlLVBhdGggLUxpdGVyYWxQYXRoICREYXRhUGF0aCkuUHJvdmlkZXJQ +YXRoIH0NCiAgICBpZiAoJF9kcEZ1bGwgLW5lICREYXRhRGlyKSB7DQogICAgICAgIExvZy1BcGkg +KCdTVEFSVFVQIEhJTldFSVM6IC1EYXRhUGF0aCAoezB9KSBvaG5lIGFkbWluLmpzb24g4oCUIHJv +YnVzdGVyIEZhbGxiYWNrIGF1ZiB7MX0nIC1mICREYXRhUGF0aCwgJERhdGFEaXIpDQogICAgfQ0K +fQ0KZm9yZWFjaCAoJGZuIGluICdhZG1pbi5qc29uJywncGxhbnVuZy5qc29uJywnbG9nYnVjaC5q +c29uJykgew0KICAgICRmcCA9IEpvaW4tUGF0aCAkRGF0YURpciAkZm4NCiAgICBpZiAoVGVzdC1Q +YXRoIC1MaXRlcmFsUGF0aCAkZnApIHsNCiAgICAgICAgJHN6ID0gKEdldC1JdGVtIC1MaXRlcmFs +UGF0aCAkZnApLkxlbmd0aA0KICAgICAgICBMb2ctQXBpICgnU1RBUlRVUCB7MH06IGV4aXN0cyBz +aXplPXsxfScgLWYgJGZuLCAkc3opDQogICAgfSBlbHNlIHsNCiAgICAgICAgTG9nLUFwaSAoJ1NU +QVJUVVAgezB9OiBGRUhMVCcgLWYgJGZuKQ0KICAgIH0NCn0NCg0KIyA9PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PQ0KIyBEYXRlaS1DYWNoaW5nIChJbi1NZW1vcnkpDQojID09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +DQoNCiMgSW4tTWVtb3J5LUNhY2hlIGZ1ZXIgRGF0ZWktSW5oYWx0ZS4gSG90LVBhdGgtUmVhZHMg +KHouQi4gL2FwaS9wbGFudW5nKSBnZWhlbg0KIyBhbiBEaXNrLUlPIHZvcmJlaS4gSW52YWxpZGll +cnVuZyB1ZWJlciBtdGltZS1WZXJnbGVpY2ggYmVpbSBuYWVjaHN0ZW4gUmVhZC4NCiMgS2V5ID0g +RGF0ZWluYW1lLCBWYWx1ZSA9IEB7IFRleHQ9c3RyaW5nOyBNdGltZVRpY2tzPWxvbmcgfQ0KJHNj +cmlwdDpGaWxlQ2FjaGUgPSBAe30NCg0KIyBad2VpdGUgQ2FjaGUtU3R1ZmU6IGJlcmVpdHMgdmlh +IENvbnZlcnRGcm9tLUpzb24gemVybGVndGUgUFNDdXN0b21PYmplY3RzLg0KIyBSZWFkLUpzb25P +YmplY3Qgb2huZSBkaWVzZW4gQ2FjaGUgcGFyc3QgZGllIDIwMCBLQiBncm9zc2VuIEpTT05zIGF1 +ZiBqZWRlbQ0KIyAvYXBpL2luZm8tUmVxdWVzdCBtZWhyZmFjaCAoVGVzdC1Jc3RTdXBlclVzZXIs +IEdldC1GYWNoYXVmc2ljaHRFaW50cmFnLA0KIyBHZXQtTWVpbmVQZXJzb24gbGVzZW4gamV3ZWls +cyBhZG1pbi5qc29uIGJ6dy4gcGxhbnVuZy5qc29uIGVpZ2Vuc3RhZW5kaWcpDQojIOKAlCBhdWYg +QmVob2VyZGVuLVBDcyBtaXQgUG93ZXJTaGVsbCA1LjEgc2luZCBkYXMgc2NobmVsbCBtYWwgMzAw +LTUwMCBtcw0KIyBBdWZzY2hsYWcgcHJvIFN0YXJ0cGhhc2UtUmVxdWVzdC4NCiMgS2V5ID0gRGF0 +ZWluYW1lLCBWYWx1ZSA9IEB7IE9iaj1QU0N1c3RvbU9iamVjdDsgTXRpbWVUaWNrcz1sb25nIH0N +CiMgQWNodHVuZzogUFNDdXN0b21PYmplY3QgaXN0IG11dGFibGUuIEF1ZnJ1ZmVyIGR1ZXJmZW4g +ZGFzIHp1cnVlY2tnZWdlYmVuZQ0KIyBPYmpla3QgTklDSFQgaW4tcGxhY2UgbW9kaWZpemllcmVu +IOKAlCBlbnR3ZWRlciByZWFkb25seSBudXR6ZW4gb2RlciB2aWENCiMgQ29udmVydFRvLUpzb24g +fCBDb252ZXJ0RnJvbS1Kc29uIGtsb25lbiwgYmV2b3IgRmVsZGVyIHVlYmVyc2NocmllYmVuDQoj +IHdlcmRlbi4gUFVULUhhbmRsZXIgc2luZCBzaWNoZXI6IHNpZSBzY2hyZWliZW4gYW5zY2hsaWVz +c2VuZCBXcml0ZS1Kc29uT2JqZWN0LA0KIyBkYXMgZGVuIENhY2hlIGVpbnRyYWdzd2Vpc2UgbmV1 +IHNldHp0Lg0KJHNjcmlwdDpKc29uQ2FjaGUgPSBAe30NCg0KIyBCYWNrdXAtQnl0ZXMgYXVmIERp +c2sgc2NocmVpYmVuIChLbGFydGV4dCkuDQojIFNwcmludCA1IOKAlCBXYXJ0dW5nc3NjaHVsZCAo +MjAyNi0wNS0yOSwgRmluZGluZyAxOCk6IGRhbmFjaCB3aXJkIGRpZSBOVEZTLQ0KIyBBQ0wgYXVm +ICJudXIgT3duZXIgKyBBZG1pbmlzdHJhdG9ycyIgZWluZ2VzY2hyYWVua3QgKGtlaW4gQXV0aGVu +dGljYXRlZA0KIyBVc2VycyksIGRhbWl0IFBJSS1CYWNrdXBzIGluIGRhdGEvY2FjaGUvIG5pY2h0 +IHZvbiBiZWxpZWJpZ2VuIGxva2FsZW4NCiMgUHJvZ3JhbW1lbiBsZXNiYXIgc2luZC4gQXVmIEZp +bGVzeXN0ZW1lbiwgZGllIEFDTCBuaWNodCB1bnRlcnN0dWV0emVuDQojIChTaGFyZS9VTkMpLCBz +dGlsbCB0b2xlcmllcmVuIOKAlCBGaW5kaW5nLUluaGFsdCBpc3QgQmVzdC1FZmZvcnQsIG5pY2h0 +DQojIGtyaXRpc2NoZXIgUGZhZC4NCmZ1bmN0aW9uIFdyaXRlLUJhY2t1cEJ5dGVzKCRQZmFkQWJz +LCAkS2xhcnRleHQpIHsNCiAgICBpZiAoLW5vdCAkS2xhcnRleHQpIHsgJEtsYXJ0ZXh0ID0gJycg +fQ0KICAgICRwbGFpbiA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVURjguR2V0Qnl0ZXMoJEts +YXJ0ZXh0KQ0KICAgIFtTeXN0ZW0uSU8uRmlsZV06OldyaXRlQWxsQnl0ZXMoJFBmYWRBYnMsICRw +bGFpbikNCiAgICB0cnkgew0KICAgICAgICAkYWNsID0gR2V0LUFjbCAtTGl0ZXJhbFBhdGggJFBm +YWRBYnMNCiAgICAgICAgJGFjbC5TZXRBY2Nlc3NSdWxlUHJvdGVjdGlvbigkdHJ1ZSwgJGZhbHNl +KSAgICMgSW5oZXJpdCBhdXMsIGtlaW5lIFZlcmVyYnVuZw0KICAgICAgICAkYWNsLkFjY2VzcyB8 +IEZvckVhY2gtT2JqZWN0IHsgJGFjbC5SZW1vdmVBY2Nlc3NSdWxlQWxsKCRfKSB9IHwgT3V0LU51 +bGwNCiAgICAgICAgJG93biA9ICIkZW52OlVTRVJET01BSU5cJGVudjpVU0VSTkFNRSINCiAgICAg +ICAgJHJ1bGUgPSBOZXctT2JqZWN0IFN5c3RlbS5TZWN1cml0eS5BY2Nlc3NDb250cm9sLkZpbGVT +eXN0ZW1BY2Nlc3NSdWxlKA0KICAgICAgICAgICAgJG93biwgJ0Z1bGxDb250cm9sJywgJ0FsbG93 +JykNCiAgICAgICAgJGFjbC5TZXRBY2Nlc3NSdWxlKCRydWxlKQ0KICAgICAgICAjIEFkbWluaXN0 +cmF0b3JzIGFscyBCYWNrdXAtUmVzZXJ2ZXp1Z2FuZyAoUmVjb3ZlcnkgZHVyY2ggSVQpDQogICAg +ICAgIHRyeSB7DQogICAgICAgICAgICAkYWRtaW5zID0gTmV3LU9iamVjdCBTeXN0ZW0uU2VjdXJp +dHkuUHJpbmNpcGFsLlNlY3VyaXR5SWRlbnRpZmllcigNCiAgICAgICAgICAgICAgICBbU3lzdGVt +LlNlY3VyaXR5LlByaW5jaXBhbC5XZWxsS25vd25TaWRUeXBlXTo6QnVpbHRpbkFkbWluaXN0cmF0 +b3JzU2lkLCAkbnVsbCkNCiAgICAgICAgICAgICRhZG1pblJ1bGUgPSBOZXctT2JqZWN0IFN5c3Rl +bS5TZWN1cml0eS5BY2Nlc3NDb250cm9sLkZpbGVTeXN0ZW1BY2Nlc3NSdWxlKA0KICAgICAgICAg +ICAgICAgICRhZG1pbnMsICdGdWxsQ29udHJvbCcsICdBbGxvdycpDQogICAgICAgICAgICAkYWNs +LlNldEFjY2Vzc1J1bGUoJGFkbWluUnVsZSkNCiAgICAgICAgfSBjYXRjaCB7fQ0KICAgICAgICBT +ZXQtQWNsIC1MaXRlcmFsUGF0aCAkUGZhZEFicyAtQWNsT2JqZWN0ICRhY2wgLUVycm9yQWN0aW9u +IFN0b3ANCiAgICB9IGNhdGNoIHsNCiAgICAgICAgTG9nLUFwaSAoJ0JBQ0tVUC1BQ0wtTk9USUNF +IHswfTogezF9JyAtZiAkUGZhZEFicywgJF8uRXhjZXB0aW9uLk1lc3NhZ2UpDQogICAgfQ0KfQ0K +DQojIEJhY2t1cC1CeXRlcyBsZXNlbiwgQk9NLVN0cmlwcGluZywgbGllZmVydCBVVEYtOC1UZXh0 +IHp1cnVlY2suDQpmdW5jdGlvbiBSZWFkLUJhY2t1cFRleHQoJFBmYWRBYnMpIHsNCiAgICBpZiAo +LW5vdCAoVGVzdC1QYXRoIC1MaXRlcmFsUGF0aCAkUGZhZEFicykpIHsgcmV0dXJuICRudWxsIH0N +CiAgICAkYnl0ZXMgPSBbU3lzdGVtLklPLkZpbGVdOjpSZWFkQWxsQnl0ZXMoJFBmYWRBYnMpDQog +ICAgaWYgKCRieXRlcy5MZW5ndGggLWVxIDApIHsgcmV0dXJuICRudWxsIH0NCiAgICAkb2Zmc2V0 +ID0gMA0KICAgIGlmICgkYnl0ZXMuTGVuZ3RoIC1nZSAzIC1hbmQgJGJ5dGVzWzBdIC1lcSAweEVG +IC1hbmQgJGJ5dGVzWzFdIC1lcSAweEJCIC1hbmQgJGJ5dGVzWzJdIC1lcSAweEJGKSB7ICRvZmZz +ZXQgPSAzIH0NCiAgICByZXR1cm4gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VVRGOC5HZXRTdHJp +bmcoJGJ5dGVzLCAkb2Zmc2V0LCAkYnl0ZXMuTGVuZ3RoIC0gJG9mZnNldCkNCn0NCg0KIyAtLS0g +RGF0ZWktSS9PIChVTkMtc2ljaGVyLCBVVEYtOCBvaG5lIEJPTSwgbWl0IEluLU1lbW9yeS1DYWNo +ZSkgLS0tDQpmdW5jdGlvbiBSZWFkLVRleHRGaWxlKCRGaWxlTmFtZSkgew0KICAgICMgQ2FjaGUt +SGl0Pw0KICAgIGlmICgkc2NyaXB0OkZpbGVDYWNoZS5Db250YWluc0tleSgkRmlsZU5hbWUpKSB7 +DQogICAgICAgICRlbnRyeSA9ICRzY3JpcHQ6RmlsZUNhY2hlWyRGaWxlTmFtZV0NCiAgICAgICAg +dHJ5IHsNCiAgICAgICAgICAgICRwID0gSm9pbi1QYXRoICREYXRhRGlyICRGaWxlTmFtZQ0KICAg +ICAgICAgICAgaWYgKFRlc3QtUGF0aCAtTGl0ZXJhbFBhdGggJHApIHsNCiAgICAgICAgICAgICAg +ICAkbXQgPSAoR2V0LUl0ZW0gLUxpdGVyYWxQYXRoICRwKS5MYXN0V3JpdGVUaW1lVXRjLlRpY2tz +DQogICAgICAgICAgICAgICAgaWYgKCRtdCAtZXEgJGVudHJ5Lk10aW1lVGlja3MpIHsNCiAgICAg +ICAgICAgICAgICAgICAgcmV0dXJuICRlbnRyeS5UZXh0DQogICAgICAgICAgICAgICAgfQ0KICAg +ICAgICAgICAgfQ0KICAgICAgICB9IGNhdGNoIHt9DQogICAgICAgICRzY3JpcHQ6RmlsZUNhY2hl +LlJlbW92ZSgkRmlsZU5hbWUpIHwgT3V0LU51bGwNCiAgICB9DQogICAgJHAgPSBKb2luLVBhdGgg +JERhdGFEaXIgJEZpbGVOYW1lDQogICAgaWYgKC1ub3QgKFRlc3QtUGF0aCAtTGl0ZXJhbFBhdGgg +JHApKSB7DQogICAgICAgIExvZy1BcGkgKCdSRUFEIHswfTogTklDSFQgVk9SSEFOREVOICh7MX0p +JyAtZiAkRmlsZU5hbWUsICRwKQ0KICAgICAgICByZXR1cm4gJG51bGwNCiAgICB9DQogICAgdHJ5 +IHsNCiAgICAgICAgJGJ5dGVzID0gW1N5c3RlbS5JTy5GaWxlXTo6UmVhZEFsbEJ5dGVzKCRwKQ0K +ICAgICAgICBpZiAoJGJ5dGVzLkxlbmd0aCAtZXEgMCkgew0KICAgICAgICAgICAgTG9nLUFwaSAo +J1JFQUQgezB9OiBsZWVyJyAtZiAkRmlsZU5hbWUpDQogICAgICAgICAgICByZXR1cm4gJG51bGwN +CiAgICAgICAgfQ0KICAgICAgICAkb2Zmc2V0ID0gMA0KICAgICAgICBpZiAoJGJ5dGVzLkxlbmd0 +aCAtZ2UgMyAtYW5kICRieXRlc1swXSAtZXEgMHhFRiAtYW5kICRieXRlc1sxXSAtZXEgMHhCQiAt +YW5kICRieXRlc1syXSAtZXEgMHhCRikgeyAkb2Zmc2V0ID0gMyB9DQogICAgICAgICR0ZXh0ID0g +W1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VVRGOC5HZXRTdHJpbmcoJGJ5dGVzLCAkb2Zmc2V0LCAk +Ynl0ZXMuTGVuZ3RoIC0gJG9mZnNldCkNCiAgICAgICAgTG9nLUFwaSAoJ1JFQUQgezB9OiB7MX0g +Qnl0ZXMgb2snIC1mICRGaWxlTmFtZSwgKCRieXRlcy5MZW5ndGggLSAkb2Zmc2V0KSkNCiAgICAg +ICAgJG10ID0gKEdldC1JdGVtIC1MaXRlcmFsUGF0aCAkcCkuTGFzdFdyaXRlVGltZVV0Yy5UaWNr +cw0KICAgICAgICAkc2NyaXB0OkZpbGVDYWNoZVskRmlsZU5hbWVdID0gQHsgVGV4dCA9ICR0ZXh0 +OyBNdGltZVRpY2tzID0gJG10IH0NCiAgICAgICAgcmV0dXJuICR0ZXh0DQogICAgfSBjYXRjaCB7 +DQogICAgICAgIExvZy1BcGkgKCdSRUFEIHswfSBGRUhMRVI6IHsxfScgLWYgJEZpbGVOYW1lLCAk +Xy5FeGNlcHRpb24uTWVzc2FnZSkNCiAgICAgICAgcmV0dXJuICRudWxsDQogICAgfQ0KfQ0KDQpm +dW5jdGlvbiBXcml0ZS1UZXh0RmlsZSgkRmlsZU5hbWUsICRUZXh0KSB7DQogICAgJHAgPSBKb2lu +LVBhdGggJERhdGFEaXIgJEZpbGVOYW1lDQogICAgdHJ5IHsNCiAgICAgICAgaWYgKC1ub3QgJFRl +eHQpIHsgJFRleHQgPSAnJyB9DQogICAgICAgICRwbGFpbiA9IFtTeXN0ZW0uVGV4dC5FbmNvZGlu +Z106OlVURjguR2V0Qnl0ZXMoJFRleHQpDQogICAgICAgICMgQXRvbWFyZXIgU2NocmVpYnZvcmdh +bmc6IGVyc3Qgdm9sbHN0YWVuZGlnIGluIGVpbmUgVGVtcC1EYXRlaSwgZGFubg0KICAgICAgICAj +IHBlciBSZXBsYWNlL01vdmUgdWViZXIgZGllIFppZWxkYXRlaSB0YXVzY2hlbi4gU28gaGludGVy +bGFlc3N0IGVpbg0KICAgICAgICAjIENyYXNoIC8gU3Ryb21hdXNmYWxsIC8gIlBsYXR0ZSB2b2xs +IiBtaXR0ZW4gaW0gU2NocmVpYmVuIE5JRSBlaW5lDQogICAgICAgICMgaGFsYiBnZXNjaHJpZWJl +bmUsIGtvcnJ1cHRlIHBsYW51bmcuanNvbi9hZG1pbi5qc29uIOKAlCBlbnR3ZWRlciBkZXINCiAg +ICAgICAgIyBhbHRlIG9kZXIgZGVyIG5ldWUgVm9sbHN0YW5kIGlzdCBkYS4gKERlciBEYXRlaS1M +b2NrIHNjaHVldHp0IG51cg0KICAgICAgICAjIGdlZ2VuIFBhcmFsbGVsLVByb3plc3NlLCBuaWNo +dCBnZWdlbiBUZWlsLVdyaXRlcy4pDQogICAgICAgICR0bXAgPSAkcCArICcudG1wJw0KICAgICAg +ICBbU3lzdGVtLklPLkZpbGVdOjpXcml0ZUFsbEJ5dGVzKCR0bXAsICRwbGFpbikNCiAgICAgICAg +dHJ5IHsNCiAgICAgICAgICAgIGlmIChUZXN0LVBhdGggLUxpdGVyYWxQYXRoICRwKSB7DQogICAg +ICAgICAgICAgICAgIyBSZXBsYWNlIGlzdCBhdG9tYXIgKE1vdmVGaWxlRXggUkVQTEFDRV9FWElT +VElORykgYXVmIE5URlMuDQogICAgICAgICAgICAgICAgW1N5c3RlbS5JTy5GaWxlXTo6UmVwbGFj +ZSgkdG1wLCAkcCwgJG51bGwpDQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAg +IFtTeXN0ZW0uSU8uRmlsZV06Ok1vdmUoJHRtcCwgJHApDQogICAgICAgICAgICB9DQogICAgICAg +IH0gY2F0Y2ggew0KICAgICAgICAgICAgIyBGYWxsYmFjayBmdWVyIFNoYXJlcyBvaG5lIFJlcGxh +Y2UtU3VwcG9ydDogVGVtcCBpc3QgYmVyZWl0cw0KICAgICAgICAgICAgIyB2b2xsc3RhZW5kaWcg +4oCUIFppZWwgZW50ZmVybmVuIHVuZCBUZW1wIHVtYmVuZW5uZW4gKFJlbmFtZSBpc3QNCiAgICAg +ICAgICAgICMgYXVmIGRlbXNlbGJlbiBWb2x1bWUgZWluZSBNZXRhZGF0ZW4tT3BlcmF0aW9uKS4N +CiAgICAgICAgICAgIGlmIChUZXN0LVBhdGggLUxpdGVyYWxQYXRoICRwKSB7IFJlbW92ZS1JdGVt +IC1MaXRlcmFsUGF0aCAkcCAtRm9yY2UgfQ0KICAgICAgICAgICAgW1N5c3RlbS5JTy5GaWxlXTo6 +TW92ZSgkdG1wLCAkcCkNCiAgICAgICAgfQ0KICAgICAgICAkbXQgPSAoR2V0LUl0ZW0gLUxpdGVy +YWxQYXRoICRwKS5MYXN0V3JpdGVUaW1lVXRjLlRpY2tzDQogICAgICAgICRzY3JpcHQ6RmlsZUNh +Y2hlWyRGaWxlTmFtZV0gPSBAeyBUZXh0ID0gJFRleHQ7IE10aW1lVGlja3MgPSAkbXQgfQ0KICAg +ICAgICAjIEpTT04tQ2FjaGUgaW52YWxpZGllcmVuOiBkZXIgbmFlY2hzdGUgUmVhZC1Kc29uT2Jq +ZWN0IG11c3MgbmV1IHBhcnNlbi4NCiAgICAgICAgaWYgKCRzY3JpcHQ6SnNvbkNhY2hlLkNvbnRh +aW5zS2V5KCRGaWxlTmFtZSkpIHsNCiAgICAgICAgICAgICRzY3JpcHQ6SnNvbkNhY2hlLlJlbW92 +ZSgkRmlsZU5hbWUpIHwgT3V0LU51bGwNCiAgICAgICAgfQ0KICAgICAgICBMb2ctQXBpICgnV1JJ +VEUgezB9OiB7MX0gQnl0ZXMgb2snIC1mICRGaWxlTmFtZSwgJHBsYWluLkxlbmd0aCkNCiAgICAg +ICAgcmV0dXJuICR0cnVlDQogICAgfSBjYXRjaCB7DQogICAgICAgIExvZy1BcGkgKCdXUklURSB7 +MH0gRkVITEVSOiB7MX0nIC1mICRGaWxlTmFtZSwgJF8uRXhjZXB0aW9uLk1lc3NhZ2UpDQogICAg +ICAgICMgVmVyd2Fpc3RlIFRlbXAtRGF0ZWkgYXVmcmFldW1lbiwgZmFsbHMgZGVyIFRhdXNjaCBz +Y2hlaXRlcnRlLg0KICAgICAgICB0cnkgeyAkdG1wQyA9IChKb2luLVBhdGggJERhdGFEaXIgJEZp +bGVOYW1lKSArICcudG1wJzsgaWYgKFRlc3QtUGF0aCAtTGl0ZXJhbFBhdGggJHRtcEMpIHsgUmVt +b3ZlLUl0ZW0gLUxpdGVyYWxQYXRoICR0bXBDIC1Gb3JjZSAtRXJyb3JBY3Rpb24gU2lsZW50bHlD +b250aW51ZSB9IH0gY2F0Y2gge30NCiAgICAgICAgcmV0dXJuICRmYWxzZQ0KICAgIH0NCn0NCg0K +IyA9PT09PT09PT09PT09PT09PT09PT0gUmljaC1UZXh0LVNhbml0aXplciAoU2VydmVyLXNlaXRp +ZykgPT09PT09PT09PT09PT09PT09PT09DQojIFNwaWVnZWx0IGRpZSBDbGllbnQtQWxsb3dsaXN0 +IGF1cyBqcy91aV9ydGUuanMgKHNhbml0aXplUmljaEh0bWwpIHVuZCBkZW4NCiMgUHl0aG9uLURl +di1TZXJ2ZXIgKHNhbml0aXplX3JpY2hfaHRtbCkuIEJpc2xhbmcgbGllZiBkaWUgQmVyZWluaWd1 +bmcgTlVSIGltDQojIEJyb3dzZXIg4oCUIGVpbiBtYW5pcHVsaWVydGVyIENsaWVudCAvIGRpcmVr +dGVyIEFQSS1DYWxsIGtvbm50ZSBiZWxpZWJpZ2VzDQojIEhUTUwvPHNjcmlwdD4gaW4gaW5mb3Rl +eHQvaGlsZmV0ZXh0L2VtYWlsVm9ybGFnZW4vTWl0dGVpbHVuZ2VuIHNjaHJlaWJlbiwNCiMgZGFz +IGFuZGVyZSBBZG1pbnMvVXNlciB2aWEgaW5uZXJIVE1MIGdlcmVuZGVydCBiZWthbWVuIChTdG9y +ZWQgWFNTKS4NCiMgUmVnZXgtYmFzaWVydCAoUG93ZXJTaGVsbCBoYXQga2VpbmVuIEhUTUwtUGFy +c2VyIGluIGRlciBTdGRsaWIpIOKAlCBiZXd1c3N0DQojIGtvbnNlcnZhdGl2OiB1bmJla2FubnRl +IFRhZ3Mgd2VyZGVuIGVudGZlcm50IChJbmhhbHQgYmxlaWJ0KSwgQXR0cmlidXRlDQojIGtvbXBs +ZXR0IGdlc3RyaXBwdCAoQXVzbmFobWU6IHZhbGlkaWVydGVzIGhyZWYgYW4gPGE+KS4NCiRzY3Jp +cHQ6U2FuaXRpemVBbGxvd2VkVGFncyA9IEAoJ2InLCdzdHJvbmcnLCdpJywnZW0nLCd1JywnYnIn +LCdwJywndWwnLCdvbCcsJ2xpJywnYScsJ2RpdicsJ3NwYW4nLCdoMycsJ2g0JywnYmxvY2txdW90 +ZScpDQoNCmZ1bmN0aW9uIENvbnZlcnRUby1TYWZlUmljaEh0bWwgew0KICAgIHBhcmFtKFtzdHJp +bmddJEh0bWwpDQogICAgaWYgKFtzdHJpbmddOjpJc051bGxPckVtcHR5KCRIdG1sKSkgeyByZXR1 +cm4gJycgfQ0KICAgICRzID0gJEh0bWwNCiAgICAjIDEuIEdlZmFlaHJsaWNoZSBFbGVtZW50LUJs +b2Vja2UgaW5rbC4gSW5oYWx0IGtvbXBsZXR0IGVudGZlcm5lbi4NCiAgICAkcyA9IFtyZWdleF06 +OlJlcGxhY2UoJHMsICcoP2lzKTwoc2NyaXB0fHN0eWxlfGlmcmFtZXxvYmplY3R8ZW1iZWR8c3Zn +fG1hdGgpXGIuKj88L1wxXHMqPicsICcnKQ0KICAgICRzID0gW3JlZ2V4XTo6UmVwbGFjZSgkcywg +Jyg/aXMpPChzY3JpcHR8c3R5bGV8aWZyYW1lfG9iamVjdHxlbWJlZHxzdmd8bWF0aClcYltePl0q +Lz8+JywgJycpDQogICAgIyAyLiBIVE1MLUtvbW1lbnRhcmUgcmF1cyAoa29lbm5lbiBDb25kaXRp +b25hbC1Db21tZW50LVRyaWNrcyB0cmFnZW4pLg0KICAgICRzID0gW3JlZ2V4XTo6UmVwbGFjZSgk +cywgJyg/cyk8IS0tLio/LS0+JywgJycpDQogICAgIyAzLiBKZWRlcyB2ZXJibGVpYmVuZGUgVGFn +IGR1cmNoIGRlbiBBbGxvd2xpc3QtRXZhbHVhdG9yIHNjaGlja2VuLg0KICAgICRhbGxvd2VkID0g +JHNjcmlwdDpTYW5pdGl6ZUFsbG93ZWRUYWdzDQogICAgJGV2YWx1YXRvciA9IHsNCiAgICAgICAg +cGFyYW0oJG0pDQogICAgICAgICRzbGFzaCA9ICRtLkdyb3Vwc1snc2xhc2gnXS5WYWx1ZQ0KICAg +ICAgICAkbmFtZSAgPSAkbS5Hcm91cHNbJ25hbWUnXS5WYWx1ZS5Ub0xvd2VyKCkNCiAgICAgICAg +aWYgKCRhbGxvd2VkIC1ub3Rjb250YWlucyAkbmFtZSkgeyByZXR1cm4gJycgfSAgICAgICAjIFVu +d3JhcDogVGFnIHdlZywgSW5oYWx0IGJsZWlidA0KICAgICAgICBpZiAoJHNsYXNoIC1lcSAnLycp +IHsgcmV0dXJuICI8LyRuYW1lPiIgfQ0KICAgICAgICBpZiAoJG5hbWUgLWVxICdicicpIHsgcmV0 +dXJuICc8YnI+JyB9DQogICAgICAgIGlmICgkbmFtZSAtZXEgJ2EnKSB7DQogICAgICAgICAgICAk +YXR0cnMgPSAkbS5Hcm91cHNbJ2F0dHJzJ10uVmFsdWUNCiAgICAgICAgICAgICRocmVmICA9ICcn +DQogICAgICAgICAgICAkaG0gPSBbcmVnZXhdOjpNYXRjaCgkYXR0cnMsICcoP2kpaHJlZlxzKj1c +cyooIihbXiJdKikifCcnKFteJyddKiknJ3woW15ccz5dKykpJykNCiAgICAgICAgICAgIGlmICgk +aG0uU3VjY2VzcykgeyAkaHJlZiA9ICgkaG0uR3JvdXBzWzJdLlZhbHVlICsgJGhtLkdyb3Vwc1sz +XS5WYWx1ZSArICRobS5Hcm91cHNbNF0uVmFsdWUpLlRyaW0oKSB9DQogICAgICAgICAgICAkb3V0 +ID0gJzxhJw0KICAgICAgICAgICAgaWYgKCRocmVmIC1hbmQgJGhyZWYgLW5vdG1hdGNoICcoP2kp +XlxzKihqYXZhc2NyaXB0fGRhdGF8dmJzY3JpcHQpOicpIHsNCiAgICAgICAgICAgICAgICAkaHJl +ZkVzYyA9ICRocmVmIC1yZXBsYWNlICcmJywnJmFtcDsnIC1yZXBsYWNlICciJywnJnF1b3Q7JyAt +cmVwbGFjZSAnPCcsJyZsdDsnIC1yZXBsYWNlICc+JywnJmd0OycNCiAgICAgICAgICAgICAgICAk +b3V0ICs9ICIgaHJlZj0iIiRocmVmRXNjIiIiDQogICAgICAgICAgICB9DQogICAgICAgICAgICAk +b3V0ICs9ICcgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+Jw0KICAg +ICAgICAgICAgcmV0dXJuICRvdXQNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIjwkbmFtZT4i +ICAgIyBlcmxhdWJ0ZXMgVGFnLCBhbGxlIEF0dHJpYnV0ZSBnZXN0cmlwcHQNCiAgICB9DQogICAg +JHMgPSBbcmVnZXhdOjpSZXBsYWNlKCRzLCAnKD9zKTwoPzxzbGFzaD4vPykoPzxuYW1lPlthLXpB +LVpdW2EtekEtWjAtOV0qKSg/PGF0dHJzPltePl0qKT4nLCAkZXZhbHVhdG9yKQ0KICAgIHJldHVy +biAkcw0KfQ0KDQojIEtleS1VbmlvbjogZmVobGVuZGUgVG9wLUxldmVsLUtleXMgYXVzIGRlbSBB +bHQtU3RhbmQgZXJoYWx0ZW4uIFBVVCAvYXBpL2FkbWluDQojIHdhciBWb2xsLU92ZXJ3cml0ZSDi +gJQgZWluIFBhcnRpYWwtUFVUIGxvZXNjaHRlIG5pY2h0IG1pdGdlc2VuZGV0ZSBUb3AtTGV2ZWwt +DQojIEtleXMgKHNjaGljaHRjb2RlcywgZmVpZXJ0YWdlLCDigKYpLiBTY2h1ZXR6dCBnZWdlbiB2 +ZXJzZWhlbnRsaWNoZXMgRW50a2VybmVuLg0KZnVuY3Rpb24gTWVyZ2UtQWRtaW5LZXlzKCRBbHQs +ICROZXUpIHsNCiAgICBpZiAoJG51bGwgLWVxICRBbHQgLW9yICRudWxsIC1lcSAkTmV1KSB7IHJl +dHVybiAkTmV1IH0NCiAgICBmb3JlYWNoICgkcHJvcCBpbiAkQWx0LlBTT2JqZWN0LlByb3BlcnRp +ZXMpIHsNCiAgICAgICAgaWYgKC1ub3QgJE5ldS5QU09iamVjdC5Qcm9wZXJ0aWVzWyRwcm9wLk5h +bWVdKSB7DQogICAgICAgICAgICAkTmV1IHwgQWRkLU1lbWJlciAtTm90ZVByb3BlcnR5TmFtZSAk +cHJvcC5OYW1lIC1Ob3RlUHJvcGVydHlWYWx1ZSAkcHJvcC5WYWx1ZSAtRm9yY2UNCiAgICAgICAg +fQ0KICAgIH0NCiAgICByZXR1cm4gJE5ldQ0KfQ0KDQojIEJlcmVpbmlndCBkaWUgYmVrYW5udGVu +IFJpY2gtVGV4dC1GZWxkZXIgZWluZXMgKFRlaWwtKUFkbWluLU9iamVrdHMgaW4tcGxhY2UuDQpm +dW5jdGlvbiBJbnZva2UtQWRtaW5SaWNodGV4dFNhbml0aXplKCREYXRlbikgew0KICAgIGlmICgk +bnVsbCAtZXEgJERhdGVuKSB7IHJldHVybiB9DQogICAgZm9yZWFjaCAoJGsgaW4gJ2hpbGZldGV4 +dCcsJ2luZm90ZXh0JywnYmVkaWVudW5nc3RleHRlJywnaW1wcmVzc3VtJywnc2NobGllc3NpbmZv +Jywnc3VwcG9ydGluZm8nLCdzdGFuZG9ydGVCZXNjaHJlaWJ1bmcnLCdzdXBwb3J0TWFpbFRleHQn +KSB7DQogICAgICAgIGlmICgkRGF0ZW4uUFNPYmplY3QuUHJvcGVydGllc1ska10gLWFuZCAoJERh +dGVuLiRrIC1pcyBbc3RyaW5nXSkpIHsNCiAgICAgICAgICAgICREYXRlbi4kayA9IENvbnZlcnRU +by1TYWZlUmljaEh0bWwgJERhdGVuLiRrDQogICAgICAgIH0NCiAgICB9DQogICAgaWYgKCREYXRl +bi5QU09iamVjdC5Qcm9wZXJ0aWVzWydlbWFpbFZvcmxhZ2VuJ10gLWFuZCAkbnVsbCAtbmUgJERh +dGVuLmVtYWlsVm9ybGFnZW4pIHsNCiAgICAgICAgZm9yZWFjaCAoJHAgaW4gJERhdGVuLmVtYWls +Vm9ybGFnZW4uUFNPYmplY3QuUHJvcGVydGllcykgew0KICAgICAgICAgICAgJHYgPSAkcC5WYWx1 +ZQ0KICAgICAgICAgICAgaWYgKCRudWxsIC1uZSAkdiAtYW5kICR2LlBTT2JqZWN0LlByb3BlcnRp +ZXNbJ3RleHQnXSAtYW5kICgkdi50ZXh0IC1pcyBbc3RyaW5nXSkpIHsNCiAgICAgICAgICAgICAg +ICAkdi50ZXh0ID0gQ29udmVydFRvLVNhZmVSaWNoSHRtbCAkdi50ZXh0DQogICAgICAgICAgICB9 +DQogICAgICAgIH0NCiAgICB9DQogICAgaWYgKCREYXRlbi5QU09iamVjdC5Qcm9wZXJ0aWVzWydz +b25kZXJ0ZXJtaW5lJ10gLWFuZCAkbnVsbCAtbmUgJERhdGVuLnNvbmRlcnRlcm1pbmUpIHsNCiAg +ICAgICAgZm9yZWFjaCAoJGUgaW4gQCgkRGF0ZW4uc29uZGVydGVybWluZSkpIHsNCiAgICAgICAg +ICAgIGlmICgkbnVsbCAtbmUgJGUgLWFuZCAkZS5QU09iamVjdC5Qcm9wZXJ0aWVzWyd0ZXh0J10g +LWFuZCAoJGUudGV4dCAtaXMgW3N0cmluZ10pKSB7DQogICAgICAgICAgICAgICAgJGUudGV4dCA9 +IENvbnZlcnRUby1TYWZlUmljaEh0bWwgJGUudGV4dA0KICAgICAgICAgICAgfQ0KICAgICAgICB9 +DQogICAgfQ0KfQ0KDQojIFBTLTUuMS1BcnJheS1XcmFwcGVyLUJ1ZzogQ29udmVydFRvLUpzb24g +c2VyaWFsaXNpZXJ0IGJlaSBiZXN0aW1tdGVuDQojIFBTQ3VzdG9tT2JqZWN0LS9bb2JqZWN0W11d +LUtvbWJpbmF0aW9uZW4gZWluIEFycmF5IGFscw0KIyB7ICJ2YWx1ZSI6IFsuLi5dLCAiQ291bnQi +OiBOIH0gc3RhdHQgYWxzIGVjaHRlcyBKU09OLUFycmF5LiBGb2xnZSBiZWltDQojIG5hZWNoc3Rl +biBSZWFkOiBDb252ZXJ0RnJvbS1Kc29uIGxpZWZlcnQgZWluIFdyYXBwZXItT2JqZWt0LCBmb3Jl +YWNoDQojIGl0ZXJpZXJ0IG51ciAxeCwgdW5kIG53S2VubnVuZy1NYXRjaGVzIChTdXBlclVzZXIs +IEZhY2hhdWZzaWNodCkgbGF1ZmVuDQojIGxlZXIgLT4gRWludHJhZWdlIHdpcmtlbiB3aWUgZ2Vs +b2VzY2h0LCBVc2VyIHdlcmRlbiBrZWluZSBSZWNodGUgenVnZW9yZG5ldC4NCiMNCiMgQ29udmVy +dFRvLUpzb25TYWZlIGtvbnZlcnRpZXJ0IGRhcyBPYmpla3Qgdm9yIGRlciBTZXJpYWxpc2llcnVu +ZyBpbg0KIyBlaW5lIHJlaW5lIEhhc2h0YWJsZS0vQXJyYXktL1ByaW1pdGl2ZS1TdHJ1a3R1ci4g +RGFtaXQgdmVyc2Nod2luZGVuDQojIFBTQ3VzdG9tT2JqZWN0LVdyYXBwZXIgZ3J1bmRzYWV0emxp +Y2gsIHVuZCB2b3JoYW5kZW5lIHsgdmFsdWUsIENvdW50IH0tDQojIFdyYXBwZXIgd2VyZGVuIGJl +aSBkaWVzZXIgR2VsZWdlbmhlaXQgYXVjaCBnbGVpY2ggZW50cGFja3QuIEhlaWx0DQojIGV4aXN0 +aWVyZW5kZSBrYXB1dHRlIERhdGVpZW4gYmVpbSBuYWVjaHN0ZW4gV3JpdGUtWnlrbHVzLg0KZnVu +Y3Rpb24gVGVzdC1Jc1dyYXBwZXJPYmplY3QoJG8pIHsNCiAgICBpZiAoJG51bGwgLWVxICRvKSB7 +IHJldHVybiAkZmFsc2UgfQ0KICAgIGlmICgtbm90ICgkbyAtaXMgW1BTQ3VzdG9tT2JqZWN0XSkp +IHsgcmV0dXJuICRmYWxzZSB9DQogICAgJG5hbWVzID0gQCgkby5QU09iamVjdC5Qcm9wZXJ0aWVz +IHwgRm9yRWFjaC1PYmplY3QgeyAkXy5OYW1lIH0pDQogICAgaWYgKCRuYW1lcy5Db3VudCAtbmUg +MikgeyByZXR1cm4gJGZhbHNlIH0NCiAgICBpZiAoLW5vdCAoKCRuYW1lcyAtY29udGFpbnMgJ3Zh +bHVlJykgLWFuZCAoJG5hbWVzIC1jb250YWlucyAnQ291bnQnKSkpIHsgcmV0dXJuICRmYWxzZSB9 +DQogICAgcmV0dXJuICgkby52YWx1ZSAtaXMgW1N5c3RlbS5Db2xsZWN0aW9ucy5JTGlzdF0gLWFu +ZCAtbm90ICgkby52YWx1ZSAtaXMgW3N0cmluZ10pKQ0KfQ0KDQpmdW5jdGlvbiBDb252ZXJ0VG8t +SnNvblNhZmUoJG9iaikgew0KICAgIGlmICgkbnVsbCAtZXEgJG9iaikgeyByZXR1cm4gJG51bGwg +fQ0KICAgIGlmICgkb2JqIC1pcyBbc3RyaW5nXSkgeyByZXR1cm4gJG9iaiB9DQogICAgaWYgKCRv +YmogLWlzIFtib29sXSAtb3IgJG9iaiAtaXMgW2ludF0gLW9yICRvYmogLWlzIFtsb25nXSAtb3Ig +JG9iaiAtaXMgW2RvdWJsZV0gLW9yICRvYmogLWlzIFtkZWNpbWFsXSkgeyByZXR1cm4gJG9iaiB9 +DQogICAgaWYgKCRvYmouR2V0VHlwZSgpLklzVmFsdWVUeXBlKSB7IHJldHVybiAkb2JqIH0NCiAg +ICBpZiAoJG9iaiAtaXMgW1N5c3RlbS5Db2xsZWN0aW9ucy5JRGljdGlvbmFyeV0pIHsNCiAgICAg +ICAgJGggPSBbb3JkZXJlZF1Ae30NCiAgICAgICAgZm9yZWFjaCAoJGsgaW4gJG9iai5LZXlzKSB7 +ICRoW1tzdHJpbmddJGtdID0gQ29udmVydFRvLUpzb25TYWZlICRvYmpbJGtdIH0NCiAgICAgICAg +cmV0dXJuICRoDQogICAgfQ0KICAgIGlmICgkb2JqIC1pcyBbU3lzdGVtLkNvbGxlY3Rpb25zLklM +aXN0XSkgew0KICAgICAgICAjIFdyYXBwZXIgc2l0enQgSU0gQXJyYXk6IFt7dmFsdWU6Wy4uLl0s +IENvdW50Ok59XSAtPiBlcnNldHplIGRpZQ0KICAgICAgICAjIGFldXNzZXJlIExpc3RlIGR1cmNo +IGRhcyBpbm5lcmUgdmFsdWUtQXJyYXkuDQogICAgICAgIGlmICgkb2JqLkNvdW50IC1lcSAxIC1h +bmQgKFRlc3QtSXNXcmFwcGVyT2JqZWN0ICRvYmpbMF0pKSB7DQogICAgICAgICAgICAkaW5uZXIg +PSAkb2JqWzBdLnZhbHVlDQogICAgICAgICAgICAkb3V0ID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29s +bGVjdGlvbnMuQXJyYXlMaXN0DQogICAgICAgICAgICBmb3JlYWNoICgkaXQgaW4gJGlubmVyKSB7 +IFt2b2lkXSRvdXQuQWRkKChDb252ZXJ0VG8tSnNvblNhZmUgJGl0KSkgfQ0KICAgICAgICAgICAg +cmV0dXJuICwoW29iamVjdFtdXSRvdXQuVG9BcnJheSgpKQ0KICAgICAgICB9DQogICAgICAgICRv +dXQgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5BcnJheUxpc3QNCiAgICAgICAgZm9y +ZWFjaCAoJGl0IGluICRvYmopIHsgW3ZvaWRdJG91dC5BZGQoKENvbnZlcnRUby1Kc29uU2FmZSAk +aXQpKSB9DQogICAgICAgIHJldHVybiAsKFtvYmplY3RbXV0kb3V0LlRvQXJyYXkoKSkNCiAgICB9 +DQogICAgaWYgKCRvYmogLWlzIFtQU0N1c3RvbU9iamVjdF0pIHsNCiAgICAgICAgJGggPSBbb3Jk +ZXJlZF1Ae30NCiAgICAgICAgZm9yZWFjaCAoJHAgaW4gJG9iai5QU09iamVjdC5Qcm9wZXJ0aWVz +KSB7ICRoWyRwLk5hbWVdID0gQ29udmVydFRvLUpzb25TYWZlICRwLlZhbHVlIH0NCiAgICAgICAg +cmV0dXJuICRoDQogICAgfQ0KICAgIHJldHVybiAkb2JqDQp9DQoNCiMgUmVhZC1zZWl0aWdlIFdy +YXBwZXItSGVpbHVuZzogZmFsbHMgZWluZSB2b3JoYW5kZW5lIERhdGVpIGJlcmVpdHMgZGVuDQoj +IHt2YWx1ZSxDb3VudH0tRGVmZWt0IGhhdCwgZW50cGFja2VuIHdpciBiZWltIEVpbmxlc2VuLCBk +YW1pdCBkZXIgcmVzdGxpY2hlDQojIENvZGUgKGZvcmVhY2ggdWViZXIgYWRtaW4uc3VwZXJVc2Vy +IGV0Yy4pIHdpZWRlciBzYXViZXIgaXRlcmllcnQuDQpmdW5jdGlvbiBSZXBhaXItSnNvbldyYXBw +ZXIoJG9iaikgew0KICAgIGlmICgkbnVsbCAtZXEgJG9iaikgeyByZXR1cm4gJG51bGwgfQ0KICAg +IGlmICgkb2JqIC1pcyBbc3RyaW5nXSAtb3IgJG9iaiAtaXMgW2Jvb2xdKSB7IHJldHVybiAkb2Jq +IH0NCiAgICBpZiAoJG9iai5HZXRUeXBlKCkuSXNWYWx1ZVR5cGUpIHsgcmV0dXJuICRvYmogfQ0K +ICAgIGlmICgkb2JqIC1pcyBbU3lzdGVtLkNvbGxlY3Rpb25zLklMaXN0XSAtYW5kIC1ub3QgKCRv +YmogLWlzIFtzdHJpbmddKSkgew0KICAgICAgICBpZiAoJG9iai5Db3VudCAtZXEgMSAtYW5kIChU +ZXN0LUlzV3JhcHBlck9iamVjdCAkb2JqWzBdKSkgew0KICAgICAgICAgICAgJGlubmVyID0gJG9i +alswXS52YWx1ZQ0KICAgICAgICAgICAgJG91dCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rp +b25zLkFycmF5TGlzdA0KICAgICAgICAgICAgZm9yZWFjaCAoJGl0IGluICRpbm5lcikgeyBbdm9p +ZF0kb3V0LkFkZCgoUmVwYWlyLUpzb25XcmFwcGVyICRpdCkpIH0NCiAgICAgICAgICAgIHJldHVy +biAsKFtvYmplY3RbXV0kb3V0LlRvQXJyYXkoKSkNCiAgICAgICAgfQ0KICAgICAgICAkb3V0ID0g +TmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuQXJyYXlMaXN0DQogICAgICAgIGZvcmVhY2gg +KCRpdCBpbiAkb2JqKSB7IFt2b2lkXSRvdXQuQWRkKChSZXBhaXItSnNvbldyYXBwZXIgJGl0KSkg +fQ0KICAgICAgICByZXR1cm4gLChbb2JqZWN0W11dJG91dC5Ub0FycmF5KCkpDQogICAgfQ0KICAg +IGlmICgkb2JqIC1pcyBbUFNDdXN0b21PYmplY3RdKSB7DQogICAgICAgIGZvcmVhY2ggKCRwIGlu +IEAoJG9iai5QU09iamVjdC5Qcm9wZXJ0aWVzKSkgew0KICAgICAgICAgICAgJG9iai4kKCRwLk5h +bWUpID0gUmVwYWlyLUpzb25XcmFwcGVyICRwLlZhbHVlDQogICAgICAgIH0NCiAgICAgICAgcmV0 +dXJuICRvYmoNCiAgICB9DQogICAgcmV0dXJuICRvYmoNCn0NCg0KZnVuY3Rpb24gUmVhZC1Kc29u +T2JqZWN0KCRGaWxlTmFtZSkgew0KICAgICMgSlNPTi1DYWNoZS1IaXQ/IFBydWVmZW4gdWViZXIg +ZGllc2VsYmUgTXRpbWUsIGRpZSBkZXIgVGV4dC1DYWNoZSBmdWVocnQuDQogICAgIyBEYXMgc3Bh +cnQgcHJvIEhpdCBlaW4gQ29udmVydEZyb20tSnNvbiAoMjAwIEtCIC0+IH4xNTAgbXMgYXVmIFBT +IDUuMSkuDQogICAgaWYgKCRzY3JpcHQ6SnNvbkNhY2hlLkNvbnRhaW5zS2V5KCRGaWxlTmFtZSkp +IHsNCiAgICAgICAgJGpjZSA9ICRzY3JpcHQ6SnNvbkNhY2hlWyRGaWxlTmFtZV0NCiAgICAgICAg +dHJ5IHsNCiAgICAgICAgICAgICRwID0gSm9pbi1QYXRoICREYXRhRGlyICRGaWxlTmFtZQ0KICAg +ICAgICAgICAgaWYgKFRlc3QtUGF0aCAtTGl0ZXJhbFBhdGggJHApIHsNCiAgICAgICAgICAgICAg +ICAkbXQgPSAoR2V0LUl0ZW0gLUxpdGVyYWxQYXRoICRwKS5MYXN0V3JpdGVUaW1lVXRjLlRpY2tz +DQogICAgICAgICAgICAgICAgaWYgKCRtdCAtZXEgJGpjZS5NdGltZVRpY2tzKSB7DQogICAgICAg +ICAgICAgICAgICAgIHJldHVybiAkamNlLk9iag0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAg +ICAgIH0NCiAgICAgICAgfSBjYXRjaCB7fQ0KICAgICAgICAkc2NyaXB0Okpzb25DYWNoZS5SZW1v +dmUoJEZpbGVOYW1lKSB8IE91dC1OdWxsDQogICAgfQ0KICAgICR0eHQgPSBSZWFkLVRleHRGaWxl +ICRGaWxlTmFtZQ0KICAgIGlmICgkbnVsbCAtZXEgJHR4dCAtb3IgW3N0cmluZ106OklzTnVsbE9y +V2hpdGVTcGFjZSgkdHh0KSkgeyByZXR1cm4gJG51bGwgfQ0KICAgIHRyeSB7DQogICAgICAgICRv +YmogPSBSZXBhaXItSnNvbldyYXBwZXIgKCR0eHQgfCBDb252ZXJ0RnJvbS1Kc29uKQ0KICAgICAg +ICAjIENhY2hlIG51ciBmdWVyIGRpZSBncm9zc2VuIEpTT05zIChhZG1pbi5qc29uLCBwbGFudW5n +Lmpzb24sIGxvZ2J1Y2guanNvbikuDQogICAgICAgIGlmICgkRmlsZU5hbWUgLWVxICdhZG1pbi5q +c29uJyAtb3IgJEZpbGVOYW1lIC1lcSAncGxhbnVuZy5qc29uJyAtb3IgJEZpbGVOYW1lIC1lcSAn +bG9nYnVjaC5qc29uJykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAkcCA9 +IEpvaW4tUGF0aCAkRGF0YURpciAkRmlsZU5hbWUNCiAgICAgICAgICAgICAgICBpZiAoVGVzdC1Q +YXRoIC1MaXRlcmFsUGF0aCAkcCkgew0KICAgICAgICAgICAgICAgICAgICAkbXQgPSAoR2V0LUl0 +ZW0gLUxpdGVyYWxQYXRoICRwKS5MYXN0V3JpdGVUaW1lVXRjLlRpY2tzDQogICAgICAgICAgICAg +ICAgICAgICRzY3JpcHQ6SnNvbkNhY2hlWyRGaWxlTmFtZV0gPSBAeyBPYmogPSAkb2JqOyBNdGlt +ZVRpY2tzID0gJG10IH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9IGNhdGNoIHt9 +DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICRvYmoNCiAgICB9IGNhdGNoIHsNCiAgICAgICAg +TG9nLUFwaSAoJ1BBUlNFIHswfSBGRUhMRVI6IHsxfScgLWYgJEZpbGVOYW1lLCAkXy5FeGNlcHRp +b24uTWVzc2FnZSkNCiAgICAgICAgcmV0dXJuICRudWxsDQogICAgfQ0KfQ0KDQpmdW5jdGlvbiBX +cml0ZS1Kc29uT2JqZWN0KCRGaWxlTmFtZSwgJE9iaikgew0KICAgICRzYWZlID0gQ29udmVydFRv +LUpzb25TYWZlICRPYmoNCiAgICAkanNvbiA9ICRzYWZlIHwgQ29udmVydFRvLUpzb24gLURlcHRo +IDMwDQogICAgJGVyZyA9IFdyaXRlLVRleHRGaWxlICRGaWxlTmFtZSAkanNvbg0KICAgICMgV29j +aGVucGxhbi1TbmFwc2hvdCAoc3RhdGlzY2hlIE9mZmxpbmUtRGF0ZWkpIGF1dG9tYXRpc2NoIG5h +Y2h6aWVoZW4sDQogICAgIyBzb2JhbGQgUGxhbnVuZ3MtIG9kZXIgQWRtaW4tRGF0ZW4gZ2VzY2hy +aWViZW4gd3VyZGVuLiBXaXJmdCBGZWhsZXIgd2VnDQogICAgIyBkYW1pdCBlaW4ga2FwdXR0ZXMg +VGVtcGxhdGUgZGVuIGVpZ2VudGxpY2hlbiBXcml0ZSBuaWNodCBibG9ja2llcnQuDQogICAgaWYg +KCRlcmcgLWFuZCAoJEZpbGVOYW1lIC1lcSAncGxhbnVuZy5qc29uJyAtb3IgJEZpbGVOYW1lIC1l +cSAnYWRtaW4uanNvbicpKSB7DQogICAgICAgIHRyeSB7IEdlbmVyYXRlLVdvY2hlbnBsYW5TbmFw +c2hvdCB9IGNhdGNoIHsNCiAgICAgICAgICAgIExvZy1BcGkgKCdTTkFQU0hPVCAoaG9vaykgRkVI +TEVSOiB7MH0nIC1mICRfLkV4Y2VwdGlvbi5NZXNzYWdlKQ0KICAgICAgICB9DQogICAgfQ0KICAg +IHJldHVybiAkZXJnDQp9DQoNCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBXb2NoZW5wbGFuLU9m +ZmxpbmUtU25hcHNob3QNCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFcnpldWd0IGVpbmUgc3Rh +dGlzY2hlICJWSTMvV29jaGVucGxhbi5odG1sIiBtaXQgZWluZ2ViZXR0ZXRlbiBQbGFudW5ncy0N +CiMgRGF0ZW4uIERhdGVpIGxhZXVmdCBrb21wbGV0dCBvaG5lIFNlcnZlciAoRG9wcGVsa2xpY2sg +cmVpY2h0KTogaW5saW5lIENTUw0KIyB1bmQgaW5saW5lIEpTLCBrZWluIEZldGNoLCBrZWluZSBl +eHRlcm5lbiBBc3NldHMuIFdpcmQgbmFjaCBqZWRlbSBTY2hyZWliZW4NCiMgYXVmIHBsYW51bmcu +anNvbiBvZGVyIGFkbWluLmpzb24gYXV0b21hdGlzY2ggcmVnZW5lcmllcnQgKHNpZWhlIEhvb2sg +aW4NCiMgV3JpdGUtSnNvbk9iamVjdCkgdW5kIGVpbm1hbCBiZWltIFNlcnZlci1TdGFydC4NCmZ1 +bmN0aW9uIEdlbmVyYXRlLVdvY2hlbnBsYW5TbmFwc2hvdCB7DQogICAgdHJ5IHsNCiAgICAgICAg +IyBUZW1wbGF0ZS1TdWNoZTogZXJzdCBpbSAkUm9vdCAobG9rYWxlciBBc3NldC1DYWNoZSksIGRh +bm4gaW0NCiAgICAgICAgIyBBc3NldEZhbGxiYWNrIChTaGFyZSkuIERhbWl0IGZ1bmt0aW9uaWVy +dCBkZXIgU25hcHNob3QgYXVjaCwgd2Vubg0KICAgICAgICAjIGRlciBMYXVuY2hlciBkYXMgVGVt +cGxhdGUgbm9jaCBuaWNodCBpbiBkZW4gQ2FjaGUga29waWVydCBoYXQNCiAgICAgICAgIyAoei5C +LiB3ZWlsIGVpbmUgYWVsdGVyZSBkZ2wuYmF0IGltIEVpbnNhdHogd2FyLCBvZGVyIGJlaSBtYW51 +ZWxsZXINCiAgICAgICAgIyBTZXJ2ZXItU3RhcnQtVmFyaWFudGUgb2huZSByb2JvY29weS1Wb3Js +YXVmKS4NCiAgICAgICAgJHRwbFBhdGggPSBKb2luLVBhdGggJFJvb3QgJ1dvY2hlbnBsYW4udGVt +cGxhdGUuaHRtbCcNCiAgICAgICAgaWYgKC1ub3QgKFRlc3QtUGF0aCAtTGl0ZXJhbFBhdGggJHRw +bFBhdGgpKSB7DQogICAgICAgICAgICBpZiAoJHNjcmlwdDpBc3NldEZhbGxiYWNrKSB7DQogICAg +ICAgICAgICAgICAgJHRwbEZhbGxiYWNrID0gSm9pbi1QYXRoICRzY3JpcHQ6QXNzZXRGYWxsYmFj +ayAnV29jaGVucGxhbi50ZW1wbGF0ZS5odG1sJw0KICAgICAgICAgICAgICAgIGlmIChUZXN0LVBh +dGggLUxpdGVyYWxQYXRoICR0cGxGYWxsYmFjaykgew0KICAgICAgICAgICAgICAgICAgICAkdHBs +UGF0aCA9ICR0cGxGYWxsYmFjaw0KICAgICAgICAgICAgICAgICAgICBMb2ctQXBpICgnU05BUFNI +T1Q6IFRlbXBsYXRlIGF1cyBBc3NldEZhbGxiYWNrICh7MH0pJyAtZiAkdHBsRmFsbGJhY2spDQog +ICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgTG9nLUFwaSAnU05B +UFNIT1Q6IFRlbXBsYXRlIFdvY2hlbnBsYW4udGVtcGxhdGUuaHRtbCBmZWhsdCAod2VkZXIgJFJv +b3Qgbm9jaCBBc3NldEZhbGxiYWNrKScNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICRmYWxz +ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAg +ICAgTG9nLUFwaSAnU05BUFNIT1Q6IFRlbXBsYXRlIFdvY2hlbnBsYW4udGVtcGxhdGUuaHRtbCBm +ZWhsdCAoa2VpbiBBc3NldEZhbGxiYWNrIGdlc2V0enQpJw0KICAgICAgICAgICAgICAgIHJldHVy +biAkZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICAkdHBsQnl0ZXMgPSBb +U3lzdGVtLklPLkZpbGVdOjpSZWFkQWxsQnl0ZXMoJHRwbFBhdGgpDQogICAgICAgICR0cGwgPSBb +U3lzdGVtLlRleHQuRW5jb2RpbmddOjpVVEY4LkdldFN0cmluZygkdHBsQnl0ZXMpDQoNCiAgICAg +ICAgJGFkbWluID0gUmVhZC1Kc29uT2JqZWN0ICdhZG1pbi5qc29uJw0KICAgICAgICAkcGxhbnVu +ZyA9IFJlYWQtSnNvbk9iamVjdCAncGxhbnVuZy5qc29uJw0KDQogICAgICAgICMgU2NobGFua2Vy +IERhdGVuLUJsb2NrOiBudXIgd2FzIGRlciBXb2NoZW5wbGFuLVJlbmRlcmVyIGJyYXVjaHQuDQog +ICAgICAgICRkYXRlbiA9IFtvcmRlcmVkXUB7DQogICAgICAgICAgICBqYWhyICAgICAgICAgICA9 +IGlmICgkYWRtaW4gLWFuZCAkYWRtaW4uUFNPYmplY3QuUHJvcGVydGllc1snamFociddKSB7ICRh +ZG1pbi5qYWhyIH0gZWxzZSB7IChHZXQtRGF0ZSkuWWVhciB9DQogICAgICAgICAgICBmZWllcnRh +Z2UgICAgICA9IGlmICgkYWRtaW4gLWFuZCAkYWRtaW4uUFNPYmplY3QuUHJvcGVydGllc1snZmVp +ZXJ0YWdlJ10pICAgICAgeyAkYWRtaW4uZmVpZXJ0YWdlIH0gICAgICBlbHNlIHsgQCgpIH0NCiAg +ICAgICAgICAgIGZlcmllbiAgICAgICAgID0gaWYgKCRhZG1pbiAtYW5kICRhZG1pbi5QU09iamVj +dC5Qcm9wZXJ0aWVzWydmZXJpZW4nXSkgICAgICAgICB7ICRhZG1pbi5mZXJpZW4gfSAgICAgICAg +IGVsc2UgeyBAKCkgfQ0KICAgICAgICAgICAgc29uZGVydGVybWluZSAgPSBpZiAoJGFkbWluIC1h +bmQgJGFkbWluLlBTT2JqZWN0LlByb3BlcnRpZXNbJ3NvbmRlcnRlcm1pbmUnXSkgIHsgJGFkbWlu +LnNvbmRlcnRlcm1pbmUgfSAgZWxzZSB7IEAoKSB9DQogICAgICAgICAgICBmdW5rdGlvbmVuICAg +ICA9IGlmICgkYWRtaW4gLWFuZCAkYWRtaW4uUFNPYmplY3QuUHJvcGVydGllc1snZnVua3Rpb25l +biddKSAgICAgeyAkYWRtaW4uZnVua3Rpb25lbiB9ICAgICBlbHNlIHsgQCgpIH0NCiAgICAgICAg +ICAgIGdydXBwZW4gICAgICAgID0gaWYgKCRhZG1pbiAtYW5kICRhZG1pbi5QU09iamVjdC5Qcm9w +ZXJ0aWVzWydncnVwcGVuJ10pICAgICAgICB7ICRhZG1pbi5ncnVwcGVuIH0gICAgICAgIGVsc2Ug +eyBAKCkgfQ0KICAgICAgICAgICAgcGVyc29uZW4gICAgICAgPSBpZiAoJHBsYW51bmcgLWFuZCAk +cGxhbnVuZy5QU09iamVjdC5Qcm9wZXJ0aWVzWydwZXJzb25lbiddKSAgIHsgJHBsYW51bmcucGVy +c29uZW4gfSAgICAgZWxzZSB7IEAoKSB9DQogICAgICAgICAgICBlaW50cmFlZ2UgICAgICA9IGlm +ICgkcGxhbnVuZyAtYW5kICRwbGFudW5nLlBTT2JqZWN0LlByb3BlcnRpZXNbJ2VpbnRyYWVnZSdd +KSAgeyAkcGxhbnVuZy5laW50cmFlZ2UgfSAgICBlbHNlIHsgQHt9IH0NCiAgICAgICAgfQ0KDQog +ICAgICAgICRzYWZlID0gQ29udmVydFRvLUpzb25TYWZlICRkYXRlbg0KICAgICAgICAkanNvbiA9 +ICRzYWZlIHwgQ29udmVydFRvLUpzb24gLURlcHRoIDMwIC1Db21wcmVzcw0KDQogICAgICAgICMg +U2NodXR6IHZvciAnPC9zY3JpcHQ+Jy1BdXNicnVjaCBhdXMgZGVtIGlubGluZSA8c2NyaXB0Pi1C +bG9jazogd2Vubg0KICAgICAgICAjIGVpbiBQZXJzb25lbi1OYW1lIG9kZXIgU29uZGVydGVybWlu +LUhUTUwgPC8gZW50aGFlbHQsIG11c3MgZGFyYXVzDQogICAgICAgICMgPFwvIHdlcmRlbiwgc29u +c3Qgd3VlcmRlIGRlciBCcm93c2VyIGFuIGRpZXNlciBTdGVsbGUgZGFzIFNjcmlwdC0NCiAgICAg +ICAgIyBUYWcgc2NobGllc3Nlbi4gSlNPTi1QYXJzZXIgYWt6ZXB0aWVydCBkaWUgQmFja3NsYXNo +LUVzY2FwZXMuDQogICAgICAgICRqc29uID0gJGpzb24uUmVwbGFjZSgnPC8nLCAnPFwvJykNCg0K +ICAgICAgICAkemVpdCA9IChHZXQtRGF0ZSAtRm9ybWF0ICdkZC5NTS55eXl5IEhIOm1tJykNCiAg +ICAgICAgJGh0bWwgPSAkdHBsLlJlcGxhY2UoJ19fREFURU5fSlNPTl9fJywgJGpzb24pLlJlcGxh +Y2UoJ19fU05BUFNIT1RfWkVJVF9fJywgJHplaXQpDQoNCiAgICAgICAgJHppZWwgPSBKb2luLVBh +dGggJFJvb3QgJ1dvY2hlbnBsYW4uaHRtbCcNCiAgICAgICAgW1N5c3RlbS5JTy5GaWxlXTo6V3Jp +dGVBbGxCeXRlcygkemllbCwgW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VVRGOC5HZXRCeXRlcygk +aHRtbCkpDQogICAgICAgIExvZy1BcGkgKCdTTkFQU0hPVCBXb2NoZW5wbGFuLmh0bWw6IHswfSBC +eXRlcyBnZXNjaHJpZWJlbiAoU3RhbmQgezF9KScgLWYgJGh0bWwuTGVuZ3RoLCAkemVpdCkNCiAg +ICAgICAgcmV0dXJuICR0cnVlDQogICAgfSBjYXRjaCB7DQogICAgICAgIExvZy1BcGkgKCdTTkFQ +U0hPVCBGRUhMRVI6IHswfScgLWYgJF8uRXhjZXB0aW9uLk1lc3NhZ2UpDQogICAgICAgIHJldHVy +biAkZmFsc2UNCiAgICB9DQp9DQoNCiMgQXV0by1CYWNrdXAgdm9yIGVpbmVtIEFkbWluLVdyaXRl +LiBLb3N0ZXQgcXVhc2kgbmljaHRzIHVuZCBoYXQgc2Nob24NCiMgZWlubWFsIGRhcyBSZXBvIGdl +cmV0dGV0IChBdWRpdC1VbmZhbGwgRi0wMDApLiBSb3RpZXJ0OiBtYXggMjAgS29waWVuLg0KZnVu +Y3Rpb24gQmFja3VwLUFkbWluSnNvbihbc3RyaW5nXSRIaW53ZWlzID0gJ3ByZXNhdmUnKSB7DQog +ICAgJHNyYyA9IEpvaW4tUGF0aCAkRGF0YURpciAnYWRtaW4uanNvbicNCiAgICBpZiAoLW5vdCAo +VGVzdC1QYXRoIC1MaXRlcmFsUGF0aCAkc3JjKSkgeyByZXR1cm4gJG51bGwgfQ0KICAgIHRyeSB7 +DQogICAgICAgICR0cyA9IChHZXQtRGF0ZSAtRm9ybWF0ICd5eXl5TU1kZF9ISG1tc3MnKQ0KICAg +ICAgICAkbmFtZSA9ICgnYWRtaW5fYmFja3VwX3swfV97MX0uanNvbicgLWYgJHRzLCAkSGlud2Vp +cykNCiAgICAgICAgJHppZWwgPSBKb2luLVBhdGggJERhdGFEaXIgJG5hbWUNCiAgICAgICAgJGts +YXJ0ZXh0ID0gUmVhZC1UZXh0RmlsZSAnYWRtaW4uanNvbicNCiAgICAgICAgaWYgKCRudWxsIC1l +cSAka2xhcnRleHQpIHsgcmV0dXJuICRudWxsIH0NCiAgICAgICAgV3JpdGUtQmFja3VwQnl0ZXMg +JHppZWwgJGtsYXJ0ZXh0DQogICAgICAgICRhbGxlID0gQChHZXQtQ2hpbGRJdGVtIC1MaXRlcmFs +UGF0aCAkRGF0YURpciAtRmlsdGVyICdhZG1pbl9iYWNrdXBfKi5qc29uJyAtRXJyb3JBY3Rpb24g +U2lsZW50bHlDb250aW51ZSB8DQogICAgICAgICAgICAgICAgICBTb3J0LU9iamVjdCBMYXN0V3Jp +dGVUaW1lIC1EZXNjZW5kaW5nKQ0KICAgICAgICBpZiAoJGFsbGUuQ291bnQgLWd0IDIwKSB7DQog +ICAgICAgICAgICBmb3IgKCRpID0gMjA7ICRpIC1sdCAkYWxsZS5Db3VudDsgJGkrKykgew0KICAg +ICAgICAgICAgICAgIHRyeSB7IFJlbW92ZS1JdGVtIC1MaXRlcmFsUGF0aCAkYWxsZVskaV0uRnVs +bE5hbWUgLUZvcmNlIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlIH0gY2F0Y2gge30NCiAg +ICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gJG5hbWUNCiAgICB9IGNhdGNo +IHsNCiAgICAgICAgTG9nLUFwaSAoIkJBQ0tVUCBhZG1pbi5qc29uIEZFSExFUjogezB9IiAtZiAk +Xy5FeGNlcHRpb24uTWVzc2FnZSkNCiAgICAgICAgcmV0dXJuICRudWxsDQogICAgfQ0KfQ0KDQoj +IFdpcGUtU2NodXR6OiB2ZXJoaW5kZXJ0LCBkYXNzIGVpbmUgYmVmdWVsbHRlIExpc3RlIGR1cmNo +IGVpbiBsZWVyZXMNCiMgQXJyYXkgYXVzIFZlcnNlaGVuIGF1ZiAwIGdlc2V0enQgd2lyZC4gQXVz +bG9lc2VyIHdhciBkZXIgQXVkaXQtVW5mYWxsDQojIHZvbSAyMDI2LTA0LTI0LiBVbWdlaHVuZyBl +eHBsaXppdCB2aWEgP2NvbmZpcm1SZXNldD10cnVlIG9kZXIgQm9keS5jb25maXJtUmVzZXQuDQoj +IEdpYnQgJG51bGwgenVydWVjayB3ZW5uIE9LLCBzb25zdCBlaW5lbiBGZWhsZXItU3RyaW5nIGZ1 +ZXIgNDA5Lg0KZnVuY3Rpb24gVGVzdC1XaXBlU2NodXR6KFtzdHJpbmddJEZlbGQsICROZXVEYXRl +biwgJEFkbWluLCAkUmVxdWVzdCwgJEJvZHlKc29uKSB7DQogICAgaWYgKCRudWxsIC1lcSAkQWRt +aW4gLW9yIC1ub3QgJEFkbWluLlBTT2JqZWN0LlByb3BlcnRpZXNbJEZlbGRdKSB7IHJldHVybiAk +bnVsbCB9DQogICAgJGFsdCA9ICRBZG1pbi4kRmVsZA0KICAgIGlmICgkbnVsbCAtZXEgJGFsdCAt +b3IgLW5vdCAoJGFsdCAtaXMgW1N5c3RlbS5Db2xsZWN0aW9ucy5JTGlzdF0pKSB7IHJldHVybiAk +bnVsbCB9DQogICAgJGFsdENvdW50ID0gQCgkYWx0KS5Db3VudA0KICAgIGlmICgkYWx0Q291bnQg +LWVxIDApIHsgcmV0dXJuICRudWxsIH0NCiAgICAkbmV1Q291bnQgPSAwDQogICAgaWYgKCRudWxs +IC1uZSAkTmV1RGF0ZW4pIHsNCiAgICAgICAgaWYgKCROZXVEYXRlbiAtaXMgW1N5c3RlbS5Db2xs +ZWN0aW9ucy5JTGlzdF0pIHsgJG5ldUNvdW50ID0gQCgkTmV1RGF0ZW4pLkNvdW50IH0NCiAgICAg +ICAgZWxzZSB7ICRuZXVDb3VudCA9IDEgfQ0KICAgIH0NCiAgICBpZiAoJG5ldUNvdW50IC1ndCAw +KSB7IHJldHVybiAkbnVsbCB9DQogICAgIyBBdXNuYWhtZTogZXhwbGl6aXQgYmVzdGFldGlndGVy +IFJlc2V0IChRdWVyeS1QYXJhbSBPREVSIEJvZHktRmxhZykNCiAgICB0cnkgew0KICAgICAgICBp +ZiAoJFJlcXVlc3QgLWFuZCAkUmVxdWVzdC5VcmwgLWFuZCAkUmVxdWVzdC5VcmwuUXVlcnkgLW1h +dGNoICdjb25maXJtUmVzZXQ9KHRydWV8MSknKSB7IHJldHVybiAkbnVsbCB9DQogICAgfSBjYXRj +aCB7fQ0KICAgIGlmICgkQm9keUpzb24gLWFuZCAkQm9keUpzb24uUFNPYmplY3QuUHJvcGVydGll +c1snY29uZmlybVJlc2V0J10gLWFuZCBbYm9vbF0kQm9keUpzb24uY29uZmlybVJlc2V0KSB7IHJl +dHVybiAkbnVsbCB9DQogICAgcmV0dXJuICgiTGlzdGUgJ3swfScgd3VlcmRlIHZvbiB7MX0gRWlu +dHJhZWdlbiBhdWYgMCBnZXNldHp0LiBBYnNpY2h0bGljaD8gUmVxdWVzdCBtaXQgP2NvbmZpcm1S +ZXNldD10cnVlIHdpZWRlcmhvbGVuLiIgLWYgJEZlbGQsICRhbHRDb3VudCkNCn0NCg0KIyBDcm9z +cy1wcm9jZXNzIExvY2sgcGVyIExvY2stRmlsZS4gVmVyaGluZGVydCwgZGFzcyB6d2VpIHBhcmFs +bGVsZQ0KIyBTZXJ2ZXItSW5zdGFuemVuICh6LkIuIHp3ZWkgVXNlciBhdWYgZGVtc2VsYmVuIE5l +dHpsYXVmd2Vyaywgb2RlciBlaW4NCiMgTGF1bmNoZXItUmFjZSB3YWVocmVuZCBkZXMgU2VydmVy +d2VjaHNlbHMpIGdsZWljaHplaXRpZyBkaWVzZWxiZSBEYXRlaQ0KIyByZWFkLW1vZGlmeS13cml0 +ZW4gdW5kIHNpY2ggZGFiZWkgemVyc2NoaWVzc2VuLiBJbm5lcmhhbGIgRUlORVMgU2VydmVyLQ0K +IyBQcm96ZXNzZXMgaXN0IEh0dHBMaXN0ZW5lciB6d2FyIHNlcmllbGwsIGFiZXIgZGVyIExvY2sg +c2NodWV0enQgenVzYWV0emxpY2gNCiMgZ2VnZW4gcGFyYWxsZWxlIFNlcnZlci1TdGFydHMuDQoj +IFBTLTUuMS1VbndyYXAtU2NodXR6IGZ1ZXIgYWRtaW4uanNvbi1MaXN0ZW5mZWxkZXI6IExpc3Rl +biBtaXQgbnVyIGVpbmVtDQojIEVsZW1lbnQgd2VyZGVuIHZvbSBKU09OLVJvdW5kdHJpcCAoQ29u +dmVydEZyb20tSnNvbiArIHNwYWV0ZXJlcyBDb252ZXJ0VG8tSnNvbikNCiMgcmVnZWxtYWVzc2ln +IHp1IEVpbnplbC1PYmpla3RlbiBlbnRwYWNrdCwgd2FzIGltIENsaWVudCB6dSAieC5mb3JFYWNo +IGlzIG5vdA0KIyBhIGZ1bmN0aW9uIiB1bmQgaW4gYWRtaW4uanNvbiB6dSBkZWdlbmVyaWVydGVy +IFN0cnVrdHVyIGZ1ZWhydC4gRGllIExpc3RlDQojIHNwaWVnZWx0IEFETUlOX0xJU1RfRkVMREVS +IGluIGpzL2NvcmVfZGF0ZW5MYWRlbi5qcyDigJQgd2VubiBkZXIgQ2xpZW50IGVpbmVuDQojIHdl +aXRlcmVuIExpc3Rlbi1GZWxkIGRhenUgbmltbXQsIGhpZXIgbWl0IGF1Zm5laG1lbi4NCiRzY3Jp +cHQ6QWRtaW5MaXN0RmVsZGVyID0gQCgNCiAgICAnZmVpZXJ0YWdlJywnZmVyaWVuJywnc29uZGVy +dGVybWluZScsJ3NjaGljaHRjb2RlcycsJ2dydXBwZW4nLCdzdGFuZG9ydGUnLA0KICAgICdmdW5r +dGlvbmVuJywnZGllbnN0Z3JhZGUnLCdzdXBlclVzZXInLCdmYWNoYXVmc2ljaHQnLCdkaXJla3Rp +b25zbGVpdHVuZycsJ2Z1ZWhydW5nc3N0ZWxsZScsJ3NjaGljaHRmb2xnZW4nLCdyb2xsZW4nLCdt +aWtyb3RlYW1zJywNCiAgICAnc3RhdGlzdGlrS2FjaGVsbicsJ3N0YXRpc3Rpa0xheW91dCcNCikN +Cg0KZnVuY3Rpb24gTm9ybWFsaXNpZXJlLUFkbWluTGlzdGVuKCREYXRlbikgew0KICAgIGlmICgt +bm90ICREYXRlbikgeyByZXR1cm4gfQ0KICAgIGZvcmVhY2ggKCRmZWxkIGluICRzY3JpcHQ6QWRt +aW5MaXN0RmVsZGVyKSB7DQogICAgICAgIGlmICgtbm90ICREYXRlbi5QU09iamVjdC5Qcm9wZXJ0 +aWVzWyRmZWxkXSkgeyBjb250aW51ZSB9DQogICAgICAgICR3ZXJ0ID0gJERhdGVuLiRmZWxkDQog +ICAgICAgIGlmICgkbnVsbCAtZXEgJHdlcnQpIHsNCiAgICAgICAgICAgICREYXRlbi4kZmVsZCA9 +IEAoKQ0KICAgICAgICB9IGVsc2VpZiAoJHdlcnQgLWlzIFtTeXN0ZW0uQXJyYXldKSB7DQogICAg +ICAgICAgICAjIFNjaG9uIEFycmF5IOKAlCB0cm90emRlbSBhbHMgW29iamVjdFtdXSB6d2luZ2Vu +LCBkYW1pdA0KICAgICAgICAgICAgIyBTaW5nbGUtRWxlbWVudC1BcnJheXMgbmFjaCBkZW0gbmFl +Y2hzdGVuIENvbnZlcnRUby1Kc29uIG5pY2h0DQogICAgICAgICAgICAjIGVybmV1dCBlbnRwYWNr +dCB3ZXJkZW4uDQogICAgICAgICAgICAkRGF0ZW4uJGZlbGQgPSBbb2JqZWN0W11dQCgkd2VydCkN +CiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICMgRWluemVsLU9iamVrdCBvZGVyIFNjYWxh +ciAtPiBpbiBlaW5lbGVtZW50aWdlcyBBcnJheSBwYWNrZW4NCiAgICAgICAgICAgICREYXRlbi4k +ZmVsZCA9IFtvYmplY3RbXV1AKCR3ZXJ0KQ0KICAgICAgICB9DQogICAgfQ0KfQ0KDQpmdW5jdGlv +biBJbnZva2UtV2l0aEZpbGVMb2NrKCROYW1lLCAkQWN0aW9uLCAkTWF4V2FpdE1zID0gMjAwMCwg +JFN0YWxlQWZ0ZXJTZWMgPSAxMCkgew0KICAgICRMb2NrUGF0aCA9IEpvaW4tUGF0aCAkRGF0YURp +ciAoJE5hbWUgKyAnLmxvY2snKQ0KICAgICRTdGFydCA9IEdldC1EYXRlDQogICAgd2hpbGUgKCR0 +cnVlKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICAkU3RyZWFtID0gW1N5c3RlbS5JTy5G +aWxlXTo6T3BlbigkTG9ja1BhdGgsIFtTeXN0ZW0uSU8uRmlsZU1vZGVdOjpDcmVhdGVOZXcsIFtT +eXN0ZW0uSU8uRmlsZUFjY2Vzc106OldyaXRlLCBbU3lzdGVtLklPLkZpbGVTaGFyZV06Ok5vbmUp +DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIHJldHVybiAmICRBY3Rpb24NCiAg +ICAgICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICAgICAgJFN0cmVhbS5DbG9zZSgpDQog +ICAgICAgICAgICAgICAgdHJ5IHsgUmVtb3ZlLUl0ZW0gJExvY2tQYXRoIC1Gb3JjZSAtRXJyb3JB +Y3Rpb24gU2lsZW50bHlDb250aW51ZSB9IGNhdGNoIHt9DQogICAgICAgICAgICB9DQogICAgICAg +IH0gY2F0Y2ggW1N5c3RlbS5JTy5JT0V4Y2VwdGlvbl0gew0KICAgICAgICAgICAgaWYgKCgoR2V0 +LURhdGUpIC0gJFN0YXJ0KS5Ub3RhbE1pbGxpc2Vjb25kcyAtZ3QgJE1heFdhaXRNcykgew0KICAg +ICAgICAgICAgICAgIHRocm93ICJTcGVycmUgYXVmICROYW1lIGtvbm50ZSBuaWNodCBlcmxhbmd0 +IHdlcmRlbiINCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICMgU3RhbGUtTG9jay1Fcmtlbm51 +bmc6IExvY2tmaWxlIGFlbHRlciBhbHMgTiBTZWt1bmRlbiAtPiBlbnRmZXJuZW4NCiAgICAgICAg +ICAgIGlmIChUZXN0LVBhdGggJExvY2tQYXRoKSB7DQogICAgICAgICAgICAgICAgJEFnZSA9ICgo +R2V0LURhdGUpIC0gKEdldC1JdGVtICRMb2NrUGF0aCkuTGFzdFdyaXRlVGltZSkuVG90YWxTZWNv +bmRzDQogICAgICAgICAgICAgICAgaWYgKCRBZ2UgLWd0ICRTdGFsZUFmdGVyU2VjKSB7DQogICAg +ICAgICAgICAgICAgICAgIHRyeSB7IFJlbW92ZS1JdGVtICRMb2NrUGF0aCAtRm9yY2UgLUVycm9y +QWN0aW9uIFNpbGVudGx5Q29udGludWUgfSBjYXRjaCB7fQ0KICAgICAgICAgICAgICAgICAgICBj +b250aW51ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIFN0 +YXJ0LVNsZWVwIC1NaWxsaXNlY29uZHMgNTANCiAgICAgICAgfQ0KICAgIH0NCn0NCg0KZnVuY3Rp +b24gUmVzb2x2ZS1TYWZlUGF0aCgkUmVsUGF0aCkgew0KICAgIHRyeSB7DQogICAgICAgICRGdWxs +ID0gW1N5c3RlbS5JTy5QYXRoXTo6R2V0RnVsbFBhdGgoKEpvaW4tUGF0aCAkUm9vdCAkUmVsUGF0 +aCkpDQogICAgfSBjYXRjaCB7IHJldHVybiAkbnVsbCB9DQogICAgIyBQcmVmaXgtQ2hlY2sgaXN0 +IG51ciBzaWNoZXIsIHdlbm4gJFJvb3QgbWl0IERpcmVjdG9yeS1TZXBhcmF0b3IgZW5kZXQg4oCU +DQogICAgIyBzb25zdCBwYXNzaWVydCAiQzpcVkkzX2V2aWwiIGRpZSBQcnVlZnVuZyBiZWkgJFJv +b3Q9IkM6XFZJMyIuDQogICAgJHNlcCA9IFtTeXN0ZW0uSU8uUGF0aF06OkRpcmVjdG9yeVNlcGFy +YXRvckNoYXINCiAgICAkcm9vdFdpdGhTZXAgPSBpZiAoJFJvb3QuRW5kc1dpdGgoJHNlcCkpIHsg +JFJvb3QgfSBlbHNlIHsgJFJvb3QgKyAkc2VwIH0NCiAgICBpZiAoJEZ1bGwgLW5lICRSb290IC1h +bmQgLW5vdCAkRnVsbC5TdGFydHNXaXRoKCRyb290V2l0aFNlcCwgW1N0cmluZ0NvbXBhcmlzb25d +OjpPcmRpbmFsSWdub3JlQ2FzZSkpIHsNCiAgICAgICAgcmV0dXJuICRudWxsDQogICAgfQ0KICAg +IHJldHVybiAkRnVsbA0KfQ0KDQojIC0tLSBIVFRQLUhlbGZlciAtLS0NCmZ1bmN0aW9uIEFkZC1T +ZWN1cml0eUhlYWRlcnMoJFJlc3BvbnNlKSB7DQogICAgIyBXaXJkIGZ1ZXIgYWxsZSBBbnR3b3J0 +ZW4gZ2VzZXR6dCDigJQgc3BpZWdlbHQgc2VydmVyLnB5LVZlcmhhbHRlbi4NCiAgICAkUmVzcG9u +c2UuSGVhZGVycy5BZGQoJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbicsICRzY3JpcHQ6Q29y +c09yaWdpbikNCiAgICAkUmVzcG9uc2UuSGVhZGVycy5BZGQoJ0FjY2Vzcy1Db250cm9sLUFsbG93 +LU1ldGhvZHMnLCAnR0VULCBQT1NULCBQVVQsIERFTEVURSwgT1BUSU9OUycpDQogICAgJFJlc3Bv +bnNlLkhlYWRlcnMuQWRkKCdBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzJywgJ0NvbnRlbnQt +VHlwZScpDQogICAgJFJlc3BvbnNlLkhlYWRlcnMuQWRkKCdDYWNoZS1Db250cm9sJywgJ25vLXN0 +b3JlJykNCiAgICAkUmVzcG9uc2UuSGVhZGVycy5BZGQoJ1gtQ29udGVudC1UeXBlLU9wdGlvbnMn +LCAnbm9zbmlmZicpDQogICAgJFJlc3BvbnNlLkhlYWRlcnMuQWRkKCdYLUZyYW1lLU9wdGlvbnMn +LCAnREVOWScpDQogICAgJFJlc3BvbnNlLkhlYWRlcnMuQWRkKCdSZWZlcnJlci1Qb2xpY3knLCAn +bm8tcmVmZXJyZXInKQ0KICAgICMgQ1NQIChTcHJpbnQgMSDigJQgU2ljaGVyaGVpdHMtTm90YnJl +bXNlIDIwMjYtMDUtMjgpOg0KICAgICMgVmFuaWxsYS1KUy1BcHAgb2huZSBleHRlcm5lIENETnMs +IGFsbGVzIG11c3Mgdm9uICdzZWxmJyBrb21tZW4uIElubGluZS0NCiAgICAjIFN0eWxlcyBzaW5k +IHRvbGVyaWVydCAoU2NoaWNodGNvZGUtRmFyYmVuLCBBdmF0YXItU3R5bGUtQXR0cmlidXRlIHdl +cmRlbg0KICAgICMgZHluYW1pc2NoIHZpYSBzdHlsZT0iLi4uIiBnZXNldHp0KS4gSW5saW5lLVNj +cmlwdHMgTklDSFQgZXJsYXVidCDigJQgd2lyDQogICAgIyBudXR6ZW4gYXVzc2NobGllc3NsaWNo +IDxzY3JpcHQgdHlwZT0ibW9kdWxlIiBzcmM9Ii4uLiI+LiBkYXRhOi1CaWxkZXINCiAgICAjIHNp +bmQgZXJsYXVidCAoQXZhdGFyZSBrb2VubmVuIGJhc2U2NCBzZWluKS4gd29ya2VyLXNyYyBkZWNr +dCBzeW5jLSB1bmQNCiAgICAjIGhlYXJ0YmVhdC1Xb3JrZXIgYWIuDQogICAgJFJlc3BvbnNlLkhl +YWRlcnMuQWRkKCdDb250ZW50LVNlY3VyaXR5LVBvbGljeScsDQogICAgICAgICJkZWZhdWx0LXNy +YyAnc2VsZic7ICIgKw0KICAgICAgICAic2NyaXB0LXNyYyAnc2VsZic7ICIgKw0KICAgICAgICAi +c3R5bGUtc3JjICdzZWxmJyAndW5zYWZlLWlubGluZSc7ICIgKw0KICAgICAgICAiaW1nLXNyYyAn +c2VsZicgZGF0YTo7ICIgKw0KICAgICAgICAiY29ubmVjdC1zcmMgJ3NlbGYnOyAiICsNCiAgICAg +ICAgIndvcmtlci1zcmMgJ3NlbGYnOyAiICsNCiAgICAgICAgImZyYW1lLWFuY2VzdG9ycyAnbm9u +ZSc7ICIgKw0KICAgICAgICAiYmFzZS11cmkgJ3NlbGYnOyAiICsNCiAgICAgICAgImZvcm0tYWN0 +aW9uICdzZWxmJyIpDQp9DQoNCmZ1bmN0aW9uIFNlbmQtSnNvblRleHQoJFJlc3BvbnNlLCAkSnNv +blRleHQsICRTdGF0dXNDb2RlID0gMjAwKSB7DQogICAgaWYgKCRudWxsIC1lcSAkSnNvblRleHQp +IHsgJEpzb25UZXh0ID0gJ251bGwnIH0NCiAgICBpZiAoJEpzb25UZXh0Lkxlbmd0aCAtZ3QgMCAt +YW5kIFtpbnRdKCRKc29uVGV4dFswXSkgLWVxIDB4RkVGRikgeyAkSnNvblRleHQgPSAkSnNvblRl +eHQuU3Vic3RyaW5nKDEpIH0NCiAgICAkYnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpV +VEY4LkdldEJ5dGVzKCRKc29uVGV4dCkNCiAgICB0cnkgew0KICAgICAgICAkUmVzcG9uc2UuU3Rh +dHVzQ29kZSA9ICRTdGF0dXNDb2RlDQogICAgICAgICRSZXNwb25zZS5Db250ZW50VHlwZSA9ICdh +cHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04Jw0KICAgICAgICBBZGQtU2VjdXJpdHlIZWFk +ZXJzICRSZXNwb25zZQ0KICAgICAgICAkUmVzcG9uc2UuQ29udGVudExlbmd0aDY0ID0gJGJ5dGVz +Lkxlbmd0aA0KICAgICAgICAkUmVzcG9uc2UuT3V0cHV0U3RyZWFtLldyaXRlKCRieXRlcywgMCwg +JGJ5dGVzLkxlbmd0aCkNCiAgICB9IGNhdGNoIHsNCiAgICAgICAgTG9nLUFwaSAoJ1NFTkQgRkVI +TEVSOiB7MH0nIC1mICRfLkV4Y2VwdGlvbi5NZXNzYWdlKQ0KICAgIH0gZmluYWxseSB7DQogICAg +ICAgIHRyeSB7ICRSZXNwb25zZS5PdXRwdXRTdHJlYW0uQ2xvc2UoKSB9IGNhdGNoIHt9DQogICAg +fQ0KfQ0KDQpmdW5jdGlvbiBTZW5kLUpzb25PYmplY3QoJFJlc3BvbnNlLCAkRGF0YSwgJFN0YXR1 +c0NvZGUgPSAyMDApIHsNCiAgICBpZiAoJG51bGwgLWVxICREYXRhKSB7ICR0ZXh0ID0gJ251bGwn +IH0NCiAgICBlbHNlaWYgKCREYXRhIC1pcyBbc3RyaW5nXSkgeyAkdGV4dCA9ICREYXRhIH0NCiAg +ICBlbHNlIHsNCiAgICAgICAgdHJ5IHsgJHRleHQgPSAoQ29udmVydFRvLUpzb25TYWZlICREYXRh +KSB8IENvbnZlcnRUby1Kc29uIC1EZXB0aCAzMCAtQ29tcHJlc3MgfQ0KICAgICAgICBjYXRjaCB7 +ICR0ZXh0ID0gJ3siZmVobGVyIjoiSlNPTi1Lb252ZXJ0aWVydW5nIGZlaGxnZXNjaGxhZ2VuIn0n +IH0NCiAgICB9DQogICAgU2VuZC1Kc29uVGV4dCAkUmVzcG9uc2UgJHRleHQgJFN0YXR1c0NvZGUN +Cn0NCg0KZnVuY3Rpb24gU2VuZC1FcnJvcigkUmVzcG9uc2UsICRNZXNzYWdlLCAkU3RhdHVzQ29k +ZSA9IDUwMCkgew0KICAgIFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2UgQHsgZmVobGVyID0gJE1l +c3NhZ2UgfSAkU3RhdHVzQ29kZQ0KfQ0KDQpmdW5jdGlvbiBSZWFkLUJvZHkoJFJlcXVlc3QsICRN +YXhTaXplID0gMTBNQikgew0KICAgICRsZW5ndGggPSBbaW50XSRSZXF1ZXN0LkNvbnRlbnRMZW5n +dGg2NA0KICAgIGlmICgkbGVuZ3RoIC1sZSAwIC1vciAkbGVuZ3RoIC1ndCAkTWF4U2l6ZSkgeyBy +ZXR1cm4gJG51bGwgfQ0KICAgICRidWZmZXIgPSBOZXctT2JqZWN0IGJ5dGVbXSAkbGVuZ3RoDQog +ICAgJG9mZnNldCA9IDANCiAgICB3aGlsZSAoJG9mZnNldCAtbHQgJGxlbmd0aCkgew0KICAgICAg +ICAkcmVhZCA9ICRSZXF1ZXN0LklucHV0U3RyZWFtLlJlYWQoJGJ1ZmZlciwgJG9mZnNldCwgJGxl +bmd0aCAtICRvZmZzZXQpDQogICAgICAgIGlmICgkcmVhZCAtZXEgMCkgeyBicmVhayB9DQogICAg +ICAgICRvZmZzZXQgKz0gJHJlYWQNCiAgICB9DQogICAgcmV0dXJuIFtTeXN0ZW0uVGV4dC5FbmNv +ZGluZ106OlVURjguR2V0U3RyaW5nKCRidWZmZXIsIDAsICRvZmZzZXQpDQp9DQoNCiMgRS1NYWls +LVZlcnNhbmQ6IGF1c3NjaGxpZXNzbGljaCBGcm9udGVuZC1zZWl0aWcgdmlhIG1haWx0bzotUG9w +dXAgKE91dGxvb2sNCiMgb2VmZm5ldCBzaWNoIG1pdCB2b3JhdXNnZWZ1ZWxsdGVuIEZlbGRlcm4p +LiBLZWluIFNNVFAsIGtlaW4gU2NoZWR1bGVyLg0KIyBEZXIgU2VydmVyIHBlcnNpc3RpZXJ0IG51 +ciBWb3JsYWdlbiArIFRyaWdnZXItS29uZmlnIGluIGFkbWluLmpzb24gdW50ZXINCiMgZW1haWxW +b3JsYWdlbiAvIGVtYWlsVHJpZ2dlci4NCiMgLS0tIExvZ2J1Y2ggLS0tDQpmdW5jdGlvbiBXcml0 +ZS1Mb2dFaW50cmFnKCRBa3Rpb24sICREZXRhaWxzKSB7DQogICAgJGxvZ2J1Y2ggPSBSZWFkLUpz +b25PYmplY3QgJ2xvZ2J1Y2guanNvbicNCiAgICBpZiAoJG51bGwgLWVxICRsb2didWNoKSB7ICRs +b2didWNoID0gQCgpIH0NCiAgICAjIERldGFpbC1GZWxkZXIgd2VyZGVuIEZMQUNIIGluIGRlbiBF +aW50cmFnIHVlYmVybm9tbWVuIChrb25zaXN0ZW50IG1pdA0KICAgICMgUHl0aG9uLURldi1TZXJ2 +ZXIpLiBGcnVlaGVyIGFscyAkZWludHJhZy5kZXRhaWxzID0gJERldGFpbHMgZ2VuZXN0ZWQsDQog +ICAgIyBhYmVyIGRlciBDbGllbnQgZ3JlaWZ0IGRpcmVrdCBhdWYgZS5hbHRlcldlcnQgLyBlLnBl +cnNvbklkIHp1Lg0KICAgICRlaW50cmFnID0gW29yZGVyZWRdQHsNCiAgICAgICAgemVpdHN0ZW1w +ZWwgPSAoR2V0LURhdGUgLUZvcm1hdCAneXl5eS1NTS1kZCBISDptbTpzcycpDQogICAgICAgIGJl +bnV0emVyICAgID0gIiREb21haW5cJFVzZXJuYW1lIg0KICAgICAgICBha3Rpb24gICAgICA9ICRB +a3Rpb24NCiAgICB9DQogICAgaWYgKCREZXRhaWxzKSB7DQogICAgICAgIGlmICgkRGV0YWlscyAt +aXMgW1N5c3RlbS5Db2xsZWN0aW9ucy5JRGljdGlvbmFyeV0pIHsNCiAgICAgICAgICAgIGZvcmVh +Y2ggKCRrIGluICREZXRhaWxzLktleXMpIHsgJGVpbnRyYWdbW3N0cmluZ10ka10gPSAkRGV0YWls +c1ska10gfQ0KICAgICAgICB9IGVsc2VpZiAoJERldGFpbHMuUFNPYmplY3QpIHsNCiAgICAgICAg +ICAgIGZvcmVhY2ggKCRwIGluICREZXRhaWxzLlBTT2JqZWN0LlByb3BlcnRpZXMpIHsgJGVpbnRy +YWdbJHAuTmFtZV0gPSAkcC5WYWx1ZSB9DQogICAgICAgIH0NCiAgICB9DQogICAgJG5ldSA9IEAo +JGVpbnRyYWcpICsgQCgkbG9nYnVjaCkNCiAgICBpZiAoJG5ldS5Db3VudCAtZ3QgMTAwMCkgeyAk +bmV1ID0gJG5ldVswLi45OTldIH0NCiAgICBXcml0ZS1Kc29uT2JqZWN0ICdsb2didWNoLmpzb24n +ICRuZXUgfCBPdXQtTnVsbA0KfQ0KDQpmdW5jdGlvbiBHZXQtQWt0dWVsbGVyQmVudXR6ZXIgeyBy +ZXR1cm4gIiREb21haW5cJFVzZXJuYW1lIiB9DQoNCmZ1bmN0aW9uIFRlc3QtTWF0Y2hLZW5udW5n +KCRFaW50cmFnKSB7DQogICAgaWYgKFtzdHJpbmddOjpJc051bGxPckVtcHR5KCRFaW50cmFnKSkg +eyByZXR1cm4gJGZhbHNlIH0NCiAgICAkayA9ICRFaW50cmFnLlRvTG93ZXIoKQ0KICAgIHJldHVy +biAoJGsgLWVxICRVc2VybmFtZS5Ub0xvd2VyKCkpIC1vciAoJGsgLWVxIChHZXQtQWt0dWVsbGVy +QmVudXR6ZXIpLlRvTG93ZXIoKSkNCn0NCg0KIyBOb3RmYWxsLVN1cGVyVXNlcjogZGllc2UgS2Vu +bnVuZ2VuIHNpbmQgSU1NRVIgU3VwZXJVc2VyLCBlZ2FsIHdhcyBpbg0KIyBhZG1pbi5qc29uIHN0 +ZWh0LiBTY2h1ZXR6dCBkYXZvciwgc2ljaCBzZWxic3QgdmVyc2VoZW50bGljaCBhdXMgZGVyDQoj +IFN1cGVyVXNlci1MaXN0ZSByYXVzenVuZWhtZW4gKG9kZXIgZHVyY2gga2FwdXR0ZSBhZG1pbi5q +c29uIGF1c3p1c3BlcnJlbikuDQokc2NyaXB0Ok5vdGZhbGxTdXBlclVzZXIgPSBAKCdOVzA1MzYw +OScsICdyaGlubycpDQoNCmZ1bmN0aW9uIFRlc3QtSXN0U3VwZXJVc2VyIHsNCiAgICAjIE5vdGZh +bGwtQ2hlY2sgenVlcnN0OiBoYXJ0dmVyZHJhaHRldGUgS2VubnVuZ2VuIHNpbmQgaW1tZXIgU3Vw +ZXJVc2VyDQogICAgJHVzZXJMb3dlciA9ICRVc2VybmFtZS5Ub0xvd2VyKCkNCiAgICBmb3JlYWNo +ICgkayBpbiAkc2NyaXB0Ok5vdGZhbGxTdXBlclVzZXIpIHsNCiAgICAgICAgaWYgKCRrLlRvTG93 +ZXIoKSAtZXEgJHVzZXJMb3dlcikgeyByZXR1cm4gJHRydWUgfQ0KICAgIH0NCiAgICAjIFJlZ3Vs +YWVyZSBQcnVlZnVuZyB2aWEgYWRtaW4uanNvbg0KICAgICRhZG1pbiA9IFJlYWQtSnNvbk9iamVj +dCAnYWRtaW4uanNvbicNCiAgICBpZiAoJG51bGwgLWVxICRhZG1pbiAtb3IgJG51bGwgLWVxICRh +ZG1pbi5zdXBlclVzZXIpIHsgcmV0dXJuICRmYWxzZSB9DQogICAgZm9yZWFjaCAoJHN1IGluIEAo +JGFkbWluLnN1cGVyVXNlcikpIHsNCiAgICAgICAgaWYgKFRlc3QtTWF0Y2hLZW5udW5nIChbc3Ry +aW5nXSRzdS5ud0tlbm51bmcpKSB7IHJldHVybiAkdHJ1ZSB9DQogICAgfQ0KICAgIHJldHVybiAk +ZmFsc2UNCn0NCg0KZnVuY3Rpb24gR2V0LUZhY2hhdWZzaWNodEVpbnRyYWcgew0KICAgICRhZG1p +biA9IFJlYWQtSnNvbk9iamVjdCAnYWRtaW4uanNvbicNCiAgICBpZiAoJG51bGwgLWVxICRhZG1p +biAtb3IgJG51bGwgLWVxICRhZG1pbi5mYWNoYXVmc2ljaHQpIHsgcmV0dXJuICRudWxsIH0NCiAg +ICBmb3JlYWNoICgkZmEgaW4gQCgkYWRtaW4uZmFjaGF1ZnNpY2h0KSkgew0KICAgICAgICBpZiAo +VGVzdC1NYXRjaEtlbm51bmcgKFtzdHJpbmddJGZhLm53S2VubnVuZykpIHsgcmV0dXJuICRmYSB9 +DQogICAgfQ0KICAgIHJldHVybiAkbnVsbA0KfQ0KDQojIERpcmVrdGlvbnNsZWl0dW5nICsgRnVl +aHJ1bmdzc3RlbGxlIChzZWl0IDIwMjYtMDUtMjMpIOKAlCBnbGVpY2hlcyBTY2hlbWENCiMgd2ll +IEZhY2hhdWZzaWNodC4gR2VuZXJpc2NoZXIgSGVscGVyLCB3ZWlsIGRhcyBMb29rdXAtTXVzdGVy +IGlkZW50aXNjaA0KIyBpc3QgdW5kIG51ciBkZXIgTGlzdGVuLU5hbWUgd2VjaHNlbHQuDQpmdW5j +dGlvbiBHZXQtUm9sbGVuRWludHJhZyhbc3RyaW5nXSRMaXN0ZW5OYW1lKSB7DQogICAgJGFkbWlu +ID0gUmVhZC1Kc29uT2JqZWN0ICdhZG1pbi5qc29uJw0KICAgIGlmICgkbnVsbCAtZXEgJGFkbWlu +IC1vciAtbm90ICRhZG1pbi5QU09iamVjdC5Qcm9wZXJ0aWVzWyRMaXN0ZW5OYW1lXSkgeyByZXR1 +cm4gJG51bGwgfQ0KICAgICRsaXN0ZSA9ICRhZG1pbi4kTGlzdGVuTmFtZQ0KICAgIGlmICgkbnVs +bCAtZXEgJGxpc3RlKSB7IHJldHVybiAkbnVsbCB9DQogICAgZm9yZWFjaCAoJGUgaW4gQCgkbGlz +dGUpKSB7DQogICAgICAgIGlmIChUZXN0LU1hdGNoS2VubnVuZyAoW3N0cmluZ10kZS5ud0tlbm51 +bmcpKSB7IHJldHVybiAkZSB9DQogICAgfQ0KICAgIHJldHVybiAkbnVsbA0KfQ0KDQpmdW5jdGlv +biBHZXQtTWVpbmVQZXJzb24gew0KICAgICRwbGFudW5nID0gUmVhZC1Kc29uT2JqZWN0ICdwbGFu +dW5nLmpzb24nDQogICAgaWYgKCRudWxsIC1lcSAkcGxhbnVuZyAtb3IgJG51bGwgLWVxICRwbGFu +dW5nLnBlcnNvbmVuKSB7IHJldHVybiAkbnVsbCB9DQogICAgZm9yZWFjaCAoJHAgaW4gQCgkcGxh +bnVuZy5wZXJzb25lbikpIHsNCiAgICAgICAgaWYgKFRlc3QtTWF0Y2hLZW5udW5nIChbc3RyaW5n +XSRwLm53S2VubnVuZykpIHsgcmV0dXJuICRwIH0NCiAgICB9DQogICAgcmV0dXJuICRudWxsDQp9 +DQoNCiMgTXRpbWUtYmFzaWVydGVyIENhY2hlIGZ1ZXIgR2V0LVJlY2h0ZS4gRGVyIHplbnRyYWxl +IFJlY2h0ZS1SZXNvbHZlciB3aXJkDQojIHBybyAvYXBpL2luZm8tUmVxdWVzdCBtZWhyZmFjaCBh +dWZnZXJ1ZmVuIHVuZCBsaWVzdCBkYWJlaSBhZG1pbi5qc29uICsNCiMgcGxhbnVuZy5qc29uLiBT +b2xhbmdlIGJlaWRlIERhdGVpZW4gbmljaHQgYWVuZGVydGVuLCBrb21tdCBkYXMgZ2xlaWNoZQ0K +IyBFcmdlYm5pcyB6dXJ1ZWNrIOKAlCBkZXIgQ2FjaGUgaW52YWxpZGllcnQgYXV0b21hdGlzY2gg +dWViZXIgTGFzdFdyaXRlVGltZVV0Yy4NCiRzY3JpcHQ6UmVjaHRlQ2FjaGUgPSBAeyBXZXJ0ID0g +JG51bGw7IEFkbWluTXQgPSAwOyBQbGFudW5nTXQgPSAwIH0NCg0KZnVuY3Rpb24gR2V0LVJlY2h0 +ZSB7DQogICAgIyBaZW50cmFsZXIgUm9sbGVuLSB1bmQgUmVjaHRlLVJlc29sdmVyIChQZW5kYW50 +IHp1IHNlcnZlci5weSBiZXJlY2huZV9yZWNodGUoKSkuDQogICAgIyBMaWVmZXJ0IEhhc2h0YWJs +ZSBtaXQgcm9sbGUsIGlzdFN1cGVyVXNlciwgaXN0RmFjaGF1ZnNpY2h0LCBzZWhlbnsuLi59LA0K +ICAgICMgZWRpdGllcmVuey4uLn0gKG51bGwgPSB3aWxkY2FyZCBmdWVyIFN1cGVyVXNlciksIG1l +aW5lUGVyc29uSWQuDQoNCiAgICAjIENhY2hlLVZhbGlkaWVydW5nIHVlYmVyIG10aW1lIGRlciBi +ZWlkZW4gUXVlbGwtRGF0ZWllbi4NCiAgICAkYU10ID0gMDsgJHBNdCA9IDANCiAgICB0cnkgew0K +ICAgICAgICAkYUZpbGUgPSBKb2luLVBhdGggJERhdGFEaXIgJ2FkbWluLmpzb24nDQogICAgICAg +IGlmIChUZXN0LVBhdGggLUxpdGVyYWxQYXRoICRhRmlsZSkgeyAkYU10ID0gKEdldC1JdGVtIC1M +aXRlcmFsUGF0aCAkYUZpbGUpLkxhc3RXcml0ZVRpbWVVdGMuVGlja3MgfQ0KICAgICAgICAkcEZp +bGUgPSBKb2luLVBhdGggJERhdGFEaXIgJ3BsYW51bmcuanNvbicNCiAgICAgICAgaWYgKFRlc3Qt +UGF0aCAtTGl0ZXJhbFBhdGggJHBGaWxlKSB7ICRwTXQgPSAoR2V0LUl0ZW0gLUxpdGVyYWxQYXRo +ICRwRmlsZSkuTGFzdFdyaXRlVGltZVV0Yy5UaWNrcyB9DQogICAgfSBjYXRjaCB7fQ0KICAgIGlm +ICgkc2NyaXB0OlJlY2h0ZUNhY2hlLldlcnQgLW5lICRudWxsIC1hbmQNCiAgICAgICAgJHNjcmlw +dDpSZWNodGVDYWNoZS5BZG1pbk10IC1lcSAkYU10IC1hbmQNCiAgICAgICAgJHNjcmlwdDpSZWNo +dGVDYWNoZS5QbGFudW5nTXQgLWVxICRwTXQpIHsNCiAgICAgICAgcmV0dXJuICRzY3JpcHQ6UmVj +aHRlQ2FjaGUuV2VydA0KICAgIH0NCg0KICAgICRpc3RTVSA9IFRlc3QtSXN0U3VwZXJVc2VyDQog +ICAgIyBSb2xsZW4tTG9va3VwOiBSZWloZW5mb2xnZSBiZXN0aW1tdCBWb3JyYW5nIGJlaSBLb25m +bGlrdGVuLiBmYWNoYXVmc2ljaHQNCiAgICAjIHp1ZXJzdCAod2FyIGhpc3RvcmlzY2ggZXJzdGUg +Um9sbGUpLCBkYW5uIGRpZSBuZXVlbiAiRGlyZWt0aW9uc2xlaXR1bmciDQogICAgIyB1bmQgIkZ1 +ZWhydW5nc3N0ZWxsZSIgKDIwMjYtMDUtMjMpLiBEZXIgImlzdEZBIi1QZmFkIHdpcmQgZnVlciBh +bGxlIGRyZWkNCiAgICAjIHdlaXRlcnZlcndlbmRldCDigJQgUm9sbGUgaW4gZGVyIEFQSSBpc3Qg +dW50ZXJzY2hpZWRsaWNoLCBMb2dpayBpbiBkZXINCiAgICAjIFNpY2h0YmFya2VpdHMtL0VkaXQt +QXVzd2VydHVuZyBpc3QgaWRlbnRpc2NoLg0KICAgICRmYSA9ICRudWxsDQogICAgJHJvbGxlUXVl +bGxlID0gJG51bGwNCiAgICBpZiAoLW5vdCAkaXN0U1UpIHsNCiAgICAgICAgJGZhID0gR2V0LUZh +Y2hhdWZzaWNodEVpbnRyYWcNCiAgICAgICAgaWYgKCRudWxsIC1uZSAkZmEpIHsgJHJvbGxlUXVl +bGxlID0gJ2ZhY2hhdWZzaWNodCcgfQ0KICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICRmYSA9 +IEdldC1Sb2xsZW5FaW50cmFnICdkaXJla3Rpb25zbGVpdHVuZycNCiAgICAgICAgICAgIGlmICgk +bnVsbCAtbmUgJGZhKSB7ICRyb2xsZVF1ZWxsZSA9ICdkaXJla3Rpb25zbGVpdHVuZycgfQ0KICAg +ICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgJGZhID0gR2V0LVJvbGxlbkVpbnRyYWcg +J2Z1ZWhydW5nc3N0ZWxsZScNCiAgICAgICAgICAgICAgICBpZiAoJG51bGwgLW5lICRmYSkgeyAk +cm9sbGVRdWVsbGUgPSAnZnVlaHJ1bmdzc3RlbGxlJyB9DQogICAgICAgICAgICB9DQogICAgICAg +IH0NCiAgICB9DQogICAgJGlzdEZBID0gJG51bGwgLW5lICRmYQ0KDQogICAgJHNlaGVuID0gQHsg +YWRtaW5pc3RyYXRpb24gPSAkZmFsc2U7IHN0YXRpc3RpayA9ICRmYWxzZTsgbG9nYnVjaCA9ICRm +YWxzZTsgYmFja3VwcyA9ICRmYWxzZSB9DQogICAgaWYgKCRpc3RTVSkgew0KICAgICAgICBmb3Jl +YWNoICgkayBpbiBAKCRzZWhlbi5LZXlzKSkgeyAkc2VoZW5bJGtdID0gJHRydWUgfQ0KICAgIH0g +ZWxzZWlmICgkaXN0RkEgLWFuZCAkZmEuUFNPYmplY3QuUHJvcGVydGllc1snc2VoZW4nXSkgew0K +ICAgICAgICBmb3JlYWNoICgkayBpbiBAKCdhZG1pbmlzdHJhdGlvbicsJ3N0YXRpc3RpaycsJ2xv +Z2J1Y2gnLCdiYWNrdXBzJykpIHsNCiAgICAgICAgICAgIGlmICgkZmEuc2VoZW4uUFNPYmplY3Qu +UHJvcGVydGllc1ska10pIHsgJHNlaGVuWyRrXSA9IFtib29sXSRmYS5zZWhlbi4kayB9DQogICAg +ICAgIH0NCiAgICB9DQoNCiAgICAjIE1laW5lLVBlcnNvbiBlaW5tYWwgbGVzZW4g4oCUIHdpcmQg +c293b2hsIGZ1ZXIgZWRpdFJlY2h0ZS1GYWxsYmFjayBhbHMNCiAgICAjIGF1Y2ggZnVlciBtZWlu +ZUlkICsgcGVyLVBlcnNvbi1zZWhlbi1PdmVycmlkZXMgZ2VicmF1Y2h0Lg0KICAgICRtcCA9IEdl +dC1NZWluZVBlcnNvbg0KDQogICAgJGVkaXRpZXJlbiA9ICRudWxsDQogICAgaWYgKC1ub3QgJGlz +dFNVKSB7DQogICAgICAgICRxdWVsbGUgPSAkbnVsbA0KICAgICAgICBpZiAoJGlzdEZBIC1hbmQg +JGZhLlBTT2JqZWN0LlByb3BlcnRpZXNbJ2VkaXRpZXJlbiddKSB7ICRxdWVsbGUgPSAkZmEuZWRp +dGllcmVuIH0NCiAgICAgICAgZWxzZWlmICgkbXAgLWFuZCAkbXAuUFNPYmplY3QuUHJvcGVydGll +c1snZWRpdFJlY2h0ZSddKSB7ICRxdWVsbGUgPSAkbXAuZWRpdFJlY2h0ZSB9DQogICAgICAgICMg +U3Ryb25nLXR5cGVkIEFycmF5cyBlcnp3aW5nZW46IFBvd2VyU2hlbGwgNS4xIHVud3JhcHMgc2lu +Z2xlLUVsZW1lbnQtDQogICAgICAgICMgUGlwZWxpbmVzIHp1IGVpbmVtIFNrYWxhciAoRm9yRWFj +aC1PYmplY3QgeyBbaW50XSRfIH0gbGllZmVydCBiZWkgZWluZXINCiAgICAgICAgIyBMaXN0ZSBt +aXQgMSBFaW50cmFnIGVpbmUgWmFobCBzdGF0dCBBcnJheSkuIENvbnZlcnRUby1Kc29uIHd1ZXJk +ZSBkYW5uDQogICAgICAgICMgInBlcnNvbmVuSWRzIjogNSBzdGF0dCBbNV0gc2NocmVpYmVuIOKA +lCBDbGllbnQtc2lkZSAuaW5kZXhPZigpIHNjaGxhZWd0DQogICAgICAgICMgZmVobCB1bmQgZGll +IFBsYW51bmdzLUFuc2ljaHQgYmxlaWJ0IGxlZXIgKENoZXJyeS1QaWNrIDFhZWZlMjYgQnVnICMx +KS4NCiAgICAgICAgJGVkaXRpZXJlbiA9IEB7IHBlcnNvbmVuSWRzID0gQCgpOyBkaWVuc3RncnVw +cGVuID0gQCgpOyBzdGFuZG9ydGUgPSBAKCkgfQ0KICAgICAgICBpZiAoJHF1ZWxsZSkgew0KICAg +ICAgICAgICAgaWYgKCRxdWVsbGUuUFNPYmplY3QuUHJvcGVydGllc1sncGVyc29uZW5JZHMnXSkg +IHsgJGVkaXRpZXJlbi5wZXJzb25lbklkcyAgID0gW2ludFtdXSAgIEAoJHF1ZWxsZS5wZXJzb25l +bklkcyAgIHwgRm9yRWFjaC1PYmplY3QgeyBbaW50XSRfIH0pIH0NCiAgICAgICAgICAgIGlmICgk +cXVlbGxlLlBTT2JqZWN0LlByb3BlcnRpZXNbJ2RpZW5zdGdydXBwZW4nXSkgeyAkZWRpdGllcmVu +LmRpZW5zdGdydXBwZW4gPSBbc3RyaW5nW11dQCgkcXVlbGxlLmRpZW5zdGdydXBwZW4gfCBGb3JF +YWNoLU9iamVjdCB7IFtzdHJpbmddJF8gfSkgfQ0KICAgICAgICAgICAgaWYgKCRxdWVsbGUuUFNP +YmplY3QuUHJvcGVydGllc1snc3RhbmRvcnRlJ10pICAgICB7ICRlZGl0aWVyZW4uc3RhbmRvcnRl +ICAgICA9IFtzdHJpbmdbXV1AKCRxdWVsbGUuc3RhbmRvcnRlICAgICB8IEZvckVhY2gtT2JqZWN0 +IHsgW3N0cmluZ10kXyB9KSB9DQogICAgICAgIH0NCiAgICAgICAgIyBTdGFuZGFyZHJlY2h0ZSAo +Z2VnZW5zZWl0aWdlIFBsYW51bmcgamUgRGllbnN0Z3J1cHBlL1N0YW5kb3J0KSBhZGRpdGl2DQog +ICAgICAgICMgaW4gZWRpdGllcmVuIGVpbndlYmVuIOKAlCBncmVpZnQgZGFubiBpbiBkYXJmX3pl +bGxlX2VkaXRpZXJlbiB1bmQgaW0gQ2xpZW50Lg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAg +JHNyID0gJG51bGwNCiAgICAgICAgICAgICRhZG0yID0gUmVhZC1Kc29uT2JqZWN0ICdhZG1pbi5q +c29uJw0KICAgICAgICAgICAgaWYgKCRhZG0yIC1hbmQgJGFkbTIuUFNPYmplY3QuUHJvcGVydGll +c1snc3RhbmRhcmRSZWNodGUnXSkgeyAkc3IgPSAkYWRtMi5zdGFuZGFyZFJlY2h0ZSB9DQogICAg +ICAgICAgICBpZiAoJHNyIC1hbmQgJG1wKSB7DQogICAgICAgICAgICAgICAgJG1nID0gaWYgKCRt +cC5QU09iamVjdC5Qcm9wZXJ0aWVzWydncnVwcGUnXSkgeyBbc3RyaW5nXSRtcC5ncnVwcGUgfSBl +bHNlIHsgJycgfQ0KICAgICAgICAgICAgICAgICRtbyA9IGlmICgkbXAuUFNPYmplY3QuUHJvcGVy +dGllc1snb2UnXSkgICAgIHsgW3N0cmluZ10kbXAub2UgfSAgICAgZWxzZSB7ICcnIH0NCiAgICAg +ICAgICAgICAgICAkZ2cgPSBAKCk7IGlmICgkc3IuUFNPYmplY3QuUHJvcGVydGllc1snZ2VnZW5z +ZWl0aWdHcnVwcGVuJ10pICAgeyAkZ2cgPSBAKCRzci5nZWdlbnNlaXRpZ0dydXBwZW4gICB8IEZv +ckVhY2gtT2JqZWN0IHsgW3N0cmluZ10kXyB9KSB9DQogICAgICAgICAgICAgICAgJGdzID0gQCgp +OyBpZiAoJHNyLlBTT2JqZWN0LlByb3BlcnRpZXNbJ2dlZ2Vuc2VpdGlnU3RhbmRvcnRlJ10pIHsg +JGdzID0gQCgkc3IuZ2VnZW5zZWl0aWdTdGFuZG9ydGUgfCBGb3JFYWNoLU9iamVjdCB7IFtzdHJp +bmddJF8gfSkgfQ0KICAgICAgICAgICAgICAgIGlmICgkbWcgLWFuZCAoJGdnIC1jb250YWlucyAk +bWcpIC1hbmQgLW5vdCAoJGVkaXRpZXJlbi5kaWVuc3RncnVwcGVuIC1jb250YWlucyAkbWcpKSB7 +DQogICAgICAgICAgICAgICAgICAgICRlZGl0aWVyZW4uZGllbnN0Z3J1cHBlbiA9IFtzdHJpbmdb +XV1AKCRlZGl0aWVyZW4uZGllbnN0Z3J1cHBlbiArICRtZykNCiAgICAgICAgICAgICAgICB9DQog +ICAgICAgICAgICAgICAgaWYgKCRtbyAtYW5kICgkZ3MgLWNvbnRhaW5zICRtbykgLWFuZCAtbm90 +ICgkZWRpdGllcmVuLnN0YW5kb3J0ZSAtY29udGFpbnMgJG1vKSkgew0KICAgICAgICAgICAgICAg +ICAgICAkZWRpdGllcmVuLnN0YW5kb3J0ZSA9IFtzdHJpbmdbXV1AKCRlZGl0aWVyZW4uc3RhbmRv +cnRlICsgJG1vKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSBj +YXRjaCB7fQ0KICAgIH0NCg0KICAgICRtZWluZUlkID0gJG51bGwNCiAgICBpZiAoJG1wKSB7ICRt +ZWluZUlkID0gJG1wLmlkIH0NCg0KICAgICMgR2VzYW10dmVyYW50d29ydGxpY2hrZWl0OiBGbGFn +IGFuIGRlciBGYWNoYXVmc2ljaHQgb2RlciBTdXBlclVzZXItQm9udXMNCiAgICAjIChTVSBkYXJm +IHBlciBEZWZpbml0aW9uIGFsbGVzLCBiZWtvbW10IGFsc28gYXVjaCBkZW4gQmVzZXR6dW5nc2tv +bnRyb2xsLVRhYikuDQogICAgJGlzdEdlc2FtdCA9ICRmYWxzZQ0KICAgIGlmICgkaXN0U1UpIHsg +JGlzdEdlc2FtdCA9ICR0cnVlIH0NCiAgICBlbHNlaWYgKCRpc3RGQSAtYW5kICRmYS5QU09iamVj +dC5Qcm9wZXJ0aWVzWydnZXNhbXR2ZXJhbnR3b3J0bGljaCddKSB7DQogICAgICAgICRpc3RHZXNh +bXQgPSBbYm9vbF0kZmEuZ2VzYW10dmVyYW50d29ydGxpY2gNCiAgICB9DQoNCiAgICAjIEdyYW51 +bGFyZSBTdWItU2ljaHRiYXJrZWl0IChGaW5kaW5nIEMuOSAvIFNwZWMgRi4yKToNCiAgICAjIFBy +byBGYWNoYXVmc2ljaHQgb3B0aW9uYWwgZmEuYWRtaW5TaWNodGJhcmtlaXR7PHN1YnRhYj46IGJv +b2x9IHVuZA0KICAgICMgZmEuc3RhdGlzdGlrU2ljaHRiYXJrZWl0ezxiZXJlaWNoPjogYm9vbH0u +IFdlbm4gbmljaHQgZ2VzZXR6dCAtPiBmYWxsYmFjaw0KICAgICMgYXVmIGRhcyB1ZWJlcmdlb3Jk +bmV0ZSBzZWhlbi5hZG1pbmlzdHJhdGlvbiAvIHNlaGVuLnN0YXRpc3RpayAoYWxsZXMgb2Rlcg0K +ICAgICMgbmljaHRzKS4gU3VwZXJVc2VyIHNpZWh0IGltbWVyIGFsbGVzICgkbnVsbCA9IFdpbGRj +YXJkKS4NCiAgICAkYWRtaW5TdWJ0YWJzID0gJG51bGwNCiAgICAkc3RhdEJlcmVpY2hlID0gJG51 +bGwNCiAgICBpZiAoLW5vdCAkaXN0U1UpIHsNCiAgICAgICAgaWYgKCRpc3RGQSAtYW5kICRzZWhl +bi5hZG1pbmlzdHJhdGlvbiAtYW5kICRmYS5QU09iamVjdC5Qcm9wZXJ0aWVzWydhZG1pblNpY2h0 +YmFya2VpdCddIC1hbmQgJGZhLmFkbWluU2ljaHRiYXJrZWl0KSB7DQogICAgICAgICAgICAkYWRt +aW5TdWJ0YWJzID0gQHt9DQogICAgICAgICAgICBmb3JlYWNoICgkcHJvcCBpbiAkZmEuYWRtaW5T +aWNodGJhcmtlaXQuUFNPYmplY3QuUHJvcGVydGllcykgeyAkYWRtaW5TdWJ0YWJzWyRwcm9wLk5h +bWVdID0gW2Jvb2xdJHByb3AuVmFsdWUgfQ0KICAgICAgICB9IGVsc2VpZiAoLW5vdCAoJGlzdEZB +IC1hbmQgJHNlaGVuLmFkbWluaXN0cmF0aW9uKSkgew0KICAgICAgICAgICAgJGFkbWluU3VidGFi +cyA9IEB7fSAgIyBsZWVyID0gbmljaHRzIGVybGF1YnQNCiAgICAgICAgfQ0KICAgICAgICBpZiAo +JGlzdEZBIC1hbmQgJHNlaGVuLnN0YXRpc3RpayAtYW5kICRmYS5QU09iamVjdC5Qcm9wZXJ0aWVz +WydzdGF0aXN0aWtTaWNodGJhcmtlaXQnXSAtYW5kICRmYS5zdGF0aXN0aWtTaWNodGJhcmtlaXQp +IHsNCiAgICAgICAgICAgICRzdGF0QmVyZWljaGUgPSBAe30NCiAgICAgICAgICAgIGZvcmVhY2gg +KCRwcm9wIGluICRmYS5zdGF0aXN0aWtTaWNodGJhcmtlaXQuUFNPYmplY3QuUHJvcGVydGllcykg +eyAkc3RhdEJlcmVpY2hlWyRwcm9wLk5hbWVdID0gW2Jvb2xdJHByb3AuVmFsdWUgfQ0KICAgICAg +ICB9IGVsc2VpZiAoLW5vdCAoJGlzdEZBIC1hbmQgJHNlaGVuLnN0YXRpc3RpaykpIHsNCiAgICAg +ICAgICAgICRzdGF0QmVyZWljaGUgPSBAe30NCiAgICAgICAgfQ0KICAgIH0NCg0KICAgICMgUGVy +LVBlcnNvbi1TaWNodGJhcmtlaXRzLU92ZXJyaWRlIChTY2hlbWEgYmxlaWJ0IGFrdGl2IHVuYWJo +YWVuZ2lnIHZvbQ0KICAgICMgZmVhdHVyZXMucGVyUGVyc29uU2ljaHRiYXJrZWl0LVRvZ2dsZSDi +gJQgZGVyIHNjaGFsdGV0IG51ciBkaWUgVUkgaW0NCiAgICAjIFBlcnNvbi1Nb2RhbCBmcmVpLiBX +ZW5uIGRpZSBQZXJzb24gZWluIGBzZWhlbntsb2didWNoLHN0YXRpc3Rpa31gIFByb3BlcnR5DQog +ICAgIyBtaXQgYm9vbC1XZXJ0IGhhdCAobmljaHQgJG51bGwpLCB1ZWJlcnNjaHJlaWJ0IGRhcyBk +ZW4gUm9sbGVuLURlZmF1bHQuDQogICAgaWYgKCRtcCAtYW5kICRtcC5QU09iamVjdC5Qcm9wZXJ0 +aWVzWydzZWhlbiddIC1hbmQgJG1wLnNlaGVuKSB7DQogICAgICAgIGZvcmVhY2ggKCRrIGluIEAo +J2xvZ2J1Y2gnLCdzdGF0aXN0aWsnKSkgew0KICAgICAgICAgICAgaWYgKCRtcC5zZWhlbi5QU09i +amVjdC5Qcm9wZXJ0aWVzWyRrXSkgew0KICAgICAgICAgICAgICAgICR2YWwgPSAkbXAuc2VoZW4u +JGsNCiAgICAgICAgICAgICAgICBpZiAoJG51bGwgLW5lICR2YWwpIHsgJHNlaGVuWyRrXSA9IFti +b29sXSR2YWwgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KDQogICAgJHJvbGxl +ID0gaWYgKCRpc3RTVSkgeyAnc3VwZXJ1c2VyJyB9IGVsc2VpZiAoJGlzdEZBKSB7ICRyb2xsZVF1 +ZWxsZSB9IGVsc2UgeyAncmVndWxhZXInIH0NCiAgICAkZXJnZWJuaXMgPSBAew0KICAgICAgICBy +b2xsZSAgICAgICAgICAgICAgICAgID0gJHJvbGxlDQogICAgICAgIGlzdFN1cGVyVXNlciAgICAg +ICAgICAgPSAkaXN0U1UNCiAgICAgICAgaXN0RmFjaGF1ZnNpY2h0ICAgICAgICA9ICRpc3RGQQ0K +ICAgICAgICBpc3RHZXNhbXR2ZXJhbnR3b3J0bGljaCA9ICRpc3RHZXNhbXQNCiAgICAgICAgc2Vo +ZW4gICAgICAgICAgICAgICAgICA9ICRzZWhlbg0KICAgICAgICBhZG1pblN1YnRhYnMgICAgICAg +ICAgID0gJGFkbWluU3VidGFicw0KICAgICAgICBzdGF0aXN0aWtCZXJlaWNoZSAgICAgID0gJHN0 +YXRCZXJlaWNoZQ0KICAgICAgICBlZGl0aWVyZW4gICAgICAgICAgICAgID0gJGVkaXRpZXJlbg0K +ICAgICAgICBtZWluZVBlcnNvbklkICAgICAgICAgID0gJG1laW5lSWQNCiAgICB9DQogICAgJHNj +cmlwdDpSZWNodGVDYWNoZS5XZXJ0ICAgICAgPSAkZXJnZWJuaXMNCiAgICAkc2NyaXB0OlJlY2h0 +ZUNhY2hlLkFkbWluTXQgICA9ICRhTXQNCiAgICAkc2NyaXB0OlJlY2h0ZUNhY2hlLlBsYW51bmdN +dCA9ICRwTXQNCiAgICByZXR1cm4gJGVyZ2VibmlzDQp9DQoNCmZ1bmN0aW9uIFRlc3QtRGFyZkJl +cmVpY2goW3N0cmluZ10kQmVyZWljaCkgew0KICAgICRyID0gR2V0LVJlY2h0ZQ0KICAgIGlmICgk +ci5pc3RTdXBlclVzZXIpIHsgcmV0dXJuICR0cnVlIH0NCiAgICBpZiAoJHIuaXN0RmFjaGF1ZnNp +Y2h0IC1hbmQgJHIuc2VoZW5bJEJlcmVpY2hdKSB7IHJldHVybiAkdHJ1ZSB9DQogICAgcmV0dXJu +ICRmYWxzZQ0KfQ0KDQojID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiMgSGlud2Vpcy1TeXN0ZW0gKElu +LUFwcC1CYW5uZXIgKyBNb2RhbCBmdWVyIFN1cGVyVXNlciArIEdlc2FtdHZlcmFudHdvcnRsaWNo +ZSkNCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBTdGF0dCBtYWlsdG8tVHJpZ2dlcm4gZnVlciBS +b3V0aW5lLUVyZWlnbmlzc2UgKElkZW50aXRhZXRzLUFlbmRlcnVuZywgQmFja3VwLQ0KIyBSZXN0 +b3JlLCBLcmFua21lbGR1bmcsIC4uLikgZXJ6ZXVndCBkZXIgU2VydmVyIGhpZXIgZWluZW4gSGlu +d2Vpcy1FaW50cmFnIGluDQojIGRhdGEvaGlud2Vpc2UuanNvbi4gU3VwZXJVc2VyICsgR2VzYW10 +dmVyYW50d29ydGxpY2hlIHNlaGVuIGVpbmVuIEJhbm5lciBtaXQNCiMgQW56YWhsICsgQmFkZ2Ug +YW0gZWlnZW5lbiBOYW1lbiB1bmQga29lbm5lbiBkaWUgSGlud2Vpc2UgaW0gTW9kYWwgYWJuaWNr +ZW4uDQojDQojIEVtcGZhZW5nZXItU25hcHNob3Qgd2lyZCBiZWltIEVyemV1Z2VuIGZlc3RnZXNj +aHJpZWJlbjogV2VyIGJlaW0gVHJpZ2dlciBub2NoDQojIG5pY2h0IGluIGRlciBTVS0vR2VzYW10 +dmVyYW50d29ydGxpY2gtTGlzdGUgc3RhbmQsIGJla29tbXQgZGVuIEhpbndlaXMgbmljaHQNCiMg +bmFjaHRyYWVnbGljaC4gRGFzIGlzdCBiZXd1c3N0IHNvIChrZWluIHdhaHJlcyAiUHViL1N1YiIs +IHNvbmRlcm4gQXVkaXQtTG9nKS4NCiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQojIExpZWZlcnQg +ZWluIEFycmF5IGVpbmRldXRpZ2VyIG53S2VubnVuZ2VuIGFsbGVyIGFrdHVlbGxlbiBTVSArIEdl +c2FtdC0NCiMgdmVyYW50d29ydGxpY2hlbiBhdXMgYWRtaW4uanNvbi4gRm9ybWF0IHdpZSBpbiBh +ZG1pbi5qc29uIGhpbnRlcmxlZ3QNCiMgKHR5cC4gIk5XMDUzNjA5IiBvZGVyICJET01BSU5cTlcw +NTM2MDkiKS4gTWF0Y2ggbGFldWZ0IGNhc2UtaW5zZW5zaXRpdi4NCmZ1bmN0aW9uIEdldC1IaW53 +ZWlzRW1wZmFlbmdlciB7DQogICAgJGFkbWluID0gUmVhZC1Kc29uT2JqZWN0ICdhZG1pbi5qc29u +Jw0KICAgIGlmICgkbnVsbCAtZXEgJGFkbWluKSB7IHJldHVybiBAKCkgfQ0KICAgICRzZXQgPSBA +e30NCiAgICBmb3JlYWNoICgkc3UgaW4gQCgkYWRtaW4uc3VwZXJVc2VyKSkgew0KICAgICAgICAk +ayA9IFtzdHJpbmddJHN1Lm53S2VubnVuZw0KICAgICAgICBpZiAoJGspIHsgJHNldFskay5Ub0xv +d2VyKCldID0gJGsgfQ0KICAgIH0NCiAgICBmb3JlYWNoICgkZmEgaW4gQCgkYWRtaW4uZmFjaGF1 +ZnNpY2h0KSkgew0KICAgICAgICBpZiAoJGZhLlBTT2JqZWN0LlByb3BlcnRpZXNbJ2dlc2FtdHZl +cmFudHdvcnRsaWNoJ10gLWFuZCBbYm9vbF0kZmEuZ2VzYW10dmVyYW50d29ydGxpY2gpIHsNCiAg +ICAgICAgICAgICRrID0gW3N0cmluZ10kZmEubndLZW5udW5nDQogICAgICAgICAgICBpZiAoJGsp +IHsgJHNldFskay5Ub0xvd2VyKCldID0gJGsgfQ0KICAgICAgICB9DQogICAgfQ0KICAgICMgTm90 +ZmFsbC1TVSBzaW5kIGltbWVyIEVtcGZhZW5nZXIsIGF1Y2ggd2VubiBhZG1pbi5qc29uIHNpZSBu +aWNodCBsaXN0ZXQNCiAgICBmb3JlYWNoICgkayBpbiAkc2NyaXB0Ok5vdGZhbGxTdXBlclVzZXIp +IHsNCiAgICAgICAgaWYgKC1ub3QgJHNldC5Db250YWluc0tleSgkay5Ub0xvd2VyKCkpKSB7ICRz +ZXRbJGsuVG9Mb3dlcigpXSA9ICRrIH0NCiAgICB9DQogICAgcmV0dXJuIEAoJHNldC5WYWx1ZXMp +DQp9DQoNCiMgU2NocmVpYnQgZWluZW4gbmV1ZW4gSGlud2VpcyBpbiBkYXRhL2hpbndlaXNlLmpz +b24uIEVtcGZhZW5nZXItU2xvdHMgd2VyZGVuDQojIG1pdCAkbnVsbCB2b3JiZWxlZ3QgKD0gdW5n +ZWxlc2VuKS4gTG9jay1nZXNjaHVldHp0OyBiZWkgRmVobGVyIG51ciBsb2dnZW4sDQojIG5pY2h0 +IHByb3BhZ2llcmVuLCBkYW1pdCBkZXIgYXVzbMO2c2VuZGUgUFVUIG5pY2h0IGtpcHB0Lg0KZnVu +Y3Rpb24gTmV3LUhpbndlaXMoW3N0cmluZ10kVHlwLCAkS29udGV4dCwgW3N0cmluZ10kQXVzbG9l +c2VyKSB7DQogICAgdHJ5IHsNCiAgICAgICAgJGVtcGZhZW5nZXIgPSBHZXQtSGlud2Vpc0VtcGZh +ZW5nZXINCiAgICAgICAgaWYgKC1ub3QgJGVtcGZhZW5nZXIgLW9yICRlbXBmYWVuZ2VyLkNvdW50 +IC1lcSAwKSB7IHJldHVybiAkbnVsbCB9DQogICAgICAgICRzY3JpcHQ6ZXJ6ZXVndGVJZCA9ICRu +dWxsDQogICAgICAgIEludm9rZS1XaXRoRmlsZUxvY2sgJ2hpbndlaXNlLmpzb24nIHsNCiAgICAg +ICAgICAgICRoID0gUmVhZC1Kc29uT2JqZWN0ICdoaW53ZWlzZS5qc29uJw0KICAgICAgICAgICAg +aWYgKCRudWxsIC1lcSAkaCAtb3IgLW5vdCAkaC5QU09iamVjdC5Qcm9wZXJ0aWVzWydoaW53ZWlz +ZSddIC1vciAtbm90ICRoLlBTT2JqZWN0LlByb3BlcnRpZXNbJ25hZWNoc3RlSWQnXSkgew0KICAg +ICAgICAgICAgICAgICRoID0gW1BTQ3VzdG9tT2JqZWN0XUB7IGhpbndlaXNlID0gQCgpOyBuYWVj +aHN0ZUlkID0gMSB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkaWQgPSBbaW50XSRoLm5h +ZWNoc3RlSWQNCiAgICAgICAgICAgICRrbiA9IFtvcmRlcmVkXUB7fQ0KICAgICAgICAgICAgZm9y +ZWFjaCAoJGUgaW4gJGVtcGZhZW5nZXIpIHsgJGtuWyRlXSA9ICRudWxsIH0NCiAgICAgICAgICAg +ICRlaW50cmFnID0gW29yZGVyZWRdQHsNCiAgICAgICAgICAgICAgICBpZCAgICAgICAgICAgID0g +JGlkDQogICAgICAgICAgICAgICAgdHlwICAgICAgICAgICA9ICRUeXANCiAgICAgICAgICAgICAg +ICBlcnN0ZWxsdEFtICAgID0gKEdldC1EYXRlKS5Ub1VuaXZlcnNhbFRpbWUoKS5Ub1N0cmluZygn +eXl5eS1NTS1kZFRISDptbTpzc1onKQ0KICAgICAgICAgICAgICAgIGF1c2xvZXNlciAgICAgPSAk +QXVzbG9lc2VyDQogICAgICAgICAgICAgICAga29udGV4dCAgICAgICA9ICRLb250ZXh0DQogICAg +ICAgICAgICAgICAga2VubnRuaXNuYWhtZW4gPSAka24NCiAgICAgICAgICAgIH0NCiAgICAgICAg +ICAgICMgUFMtNS4xLVVud3JhcC1TY2h1dHo6IGVpbnplbG5lcyBFbGVtZW50IG11c3MgYWxzIEFy +cmF5IGJsZWliZW4uDQogICAgICAgICAgICAkaC5oaW53ZWlzZSAgID0gW29iamVjdFtdXUAoQCgk +aC5oaW53ZWlzZSkgKyBAKFtQU0N1c3RvbU9iamVjdF0kZWludHJhZykpDQogICAgICAgICAgICAk +aC5uYWVjaHN0ZUlkID0gJGlkICsgMQ0KICAgICAgICAgICAgV3JpdGUtSnNvbk9iamVjdCAnaGlu +d2Vpc2UuanNvbicgJGggfCBPdXQtTnVsbA0KICAgICAgICAgICAgJHNjcmlwdDplcnpldWd0ZUlk +ID0gJGlkDQogICAgICAgIH0gfCBPdXQtTnVsbA0KICAgICAgICBXcml0ZS1Mb2dFaW50cmFnICdo +aW53ZWlzLmVyemV1Z3QnIEB7IHR5cCA9ICRUeXA7IGVtcGZhZW5nZXIgPSAkZW1wZmFlbmdlci5D +b3VudCB9DQogICAgICAgIHJldHVybiAkc2NyaXB0OmVyemV1Z3RlSWQNCiAgICB9IGNhdGNoIHsN +CiAgICAgICAgTG9nLUFwaSAoIkhJTldFSVMtRVJaRVVHRU4gRkVITEVSICh7MH0pOiB7MX0iIC1m +ICRUeXAsICRfLkV4Y2VwdGlvbi5NZXNzYWdlKQ0KICAgICAgICByZXR1cm4gJG51bGwNCiAgICB9 +DQp9DQoNCiMgRW50ZmVybnQgb2ZmZW5lIEtyYW5rbWVsZHVuZ3MtSGlud2Vpc2UgZnVlciBlaW5l +IGtvbmtyZXRlIFBlcnNvbiArIERhdHVtLg0KIyBBdWZnZXJ1ZmVuIHZvbSBaZWxsLUVkaXQtSGFu +ZGxlciwgd2VubiBlaW4gImtyIi8iS3VyIi1FaW50cmFnIHdpZWRlcg0KIyB6dXJ1ZWNrZ2Vub21t +ZW4gd2lyZCDigJQgc29uc3QgYmxlaWJ0IGRlciBIaW53ZWlzIDMwIFRhZ2Ugb2ZmZW4sIG9id29o +bA0KIyBkYXMgRXJlaWduaXMgZXJsZWRpZ3QgaXN0IChQaGFzZSBELjMsIDIwMjYtMDUtMjEpLg0K +ZnVuY3Rpb24gUmVtb3ZlLU9mZmVuZUtyYW5rbWVsZHVuZ3NIaW53ZWlzZShbaW50XSRQZXJzb25J +ZCwgW3N0cmluZ10kRGF0dW0pIHsNCiAgICB0cnkgew0KICAgICAgICBJbnZva2UtV2l0aEZpbGVM +b2NrICdoaW53ZWlzZS5qc29uJyB7DQogICAgICAgICAgICAkaCA9IFJlYWQtSnNvbk9iamVjdCAn +aGlud2Vpc2UuanNvbicNCiAgICAgICAgICAgIGlmICgkbnVsbCAtZXEgJGggLW9yIC1ub3QgJGgu +UFNPYmplY3QuUHJvcGVydGllc1snaGlud2Vpc2UnXSkgeyByZXR1cm4gfQ0KICAgICAgICAgICAg +JGJlaGFsdGVuID0gQCgpDQogICAgICAgICAgICAkZW50ZmVybnQgPSAwDQogICAgICAgICAgICBm +b3JlYWNoICgkZSBpbiBAKCRoLmhpbndlaXNlKSkgew0KICAgICAgICAgICAgICAgIGlmICgkZS50 +eXAgLWVxICdrcmFua21lbGR1bmcnIC1hbmQgJGUua29udGV4dCAtYW5kIGANCiAgICAgICAgICAg +ICAgICAgICAgW2ludF0kZS5rb250ZXh0LnBlcnNvbl9pZCAtZXEgJFBlcnNvbklkIC1hbmQgYA0K +ICAgICAgICAgICAgICAgICAgICBbc3RyaW5nXSRlLmtvbnRleHQuZGF0dW0gLWVxICREYXR1bSkg +ew0KICAgICAgICAgICAgICAgICAgICAkZW50ZmVybnQrKw0KICAgICAgICAgICAgICAgICAgICBj +b250aW51ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkYmVoYWx0ZW4gKz0g +JGUNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmICgkZW50ZmVybnQgLWd0IDApIHsNCiAg +ICAgICAgICAgICAgICAkaC5oaW53ZWlzZSA9IFtvYmplY3RbXV0kYmVoYWx0ZW4NCiAgICAgICAg +ICAgICAgICBXcml0ZS1Kc29uT2JqZWN0ICdoaW53ZWlzZS5qc29uJyAkaCB8IE91dC1OdWxsDQog +ICAgICAgICAgICAgICAgV3JpdGUtTG9nRWludHJhZyAnaGlud2Vpcy5rcmFua21lbGR1bmcuenVy +dWVja2dlbm9tbWVuJyBAeyBwZXJzb25JZCA9ICRQZXJzb25JZDsgZGF0dW0gPSAkRGF0dW07IGVu +dGZlcm50ID0gJGVudGZlcm50IH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSB8IE91dC1OdWxs +DQogICAgfSBjYXRjaCB7DQogICAgICAgIExvZy1BcGkgKCJISU5XRUlTLUtSQU5LTUVMRFVORy1D +TEVBTlVQIEZFSExFUjogezB9IiAtZiAkXy5FeGNlcHRpb24uTWVzc2FnZSkNCiAgICB9DQp9DQoN +CiMgTG9lc2NodCBhYmdlbGF1ZmVuZSBIaW53ZWlzZSAoYWxsZSBTbG90cyAhPSBudWxsIFVORCA+ +IDMwIFRhZ2UpLiBXaXJkIGxhenkNCiMgYmVpbSBHRVQgL2FwaS9oaW53ZWlzZSBhdWZnZXJ1ZmVu +LCBtYXguIDF4IHBybyBNaW51dGUgKFNjcmlwdC1TY29wZS1DYWNoZSkuDQokc2NyaXB0Okhpbndl +aXNQcnVuZVp1bGV0enQgPSBbRGF0ZVRpbWVdOjpNaW5WYWx1ZQ0KZnVuY3Rpb24gSW52b2tlLUhp +bndlaXNQcnVuaW5nIHsNCiAgICAkamV0enQgPSBHZXQtRGF0ZQ0KICAgIGlmICgoJGpldHp0IC0g +JHNjcmlwdDpIaW53ZWlzUHJ1bmVadWxldHp0KS5Ub3RhbFNlY29uZHMgLWx0IDYwKSB7IHJldHVy +biB9DQogICAgJHNjcmlwdDpIaW53ZWlzUHJ1bmVadWxldHp0ID0gJGpldHp0DQogICAgdHJ5IHsN +CiAgICAgICAgSW52b2tlLVdpdGhGaWxlTG9jayAnaGlud2Vpc2UuanNvbicgew0KICAgICAgICAg +ICAgJGggPSBSZWFkLUpzb25PYmplY3QgJ2hpbndlaXNlLmpzb24nDQogICAgICAgICAgICBpZiAo +JG51bGwgLWVxICRoIC1vciAtbm90ICRoLlBTT2JqZWN0LlByb3BlcnRpZXNbJ2hpbndlaXNlJ10p +IHsgcmV0dXJuIH0NCiAgICAgICAgICAgICRncmVuemUgPSAkamV0enQuQWRkRGF5cygtMzApLlRv +VW5pdmVyc2FsVGltZSgpDQogICAgICAgICAgICAkYmVoYWx0ZW4gPSBAKCkNCiAgICAgICAgICAg +IGZvcmVhY2ggKCRlaW50cmFnIGluIEAoJGguaGlud2Vpc2UpKSB7DQogICAgICAgICAgICAgICAg +JGVyc3RlbGx0ID0gW0RhdGVUaW1lXTo6TWluVmFsdWUNCiAgICAgICAgICAgICAgICB0cnkgeyAk +ZXJzdGVsbHQgPSBbRGF0ZVRpbWVdOjpQYXJzZShbc3RyaW5nXSRlaW50cmFnLmVyc3RlbGx0QW0p +LlRvVW5pdmVyc2FsVGltZSgpIH0gY2F0Y2gge30NCiAgICAgICAgICAgICAgICAkYWxsZUdlbGVz +ZW4gPSAkdHJ1ZQ0KICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRwIGluICRlaW50cmFnLmtlbm50 +bmlzbmFobWVuLlBTT2JqZWN0LlByb3BlcnRpZXMpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYg +KCRudWxsIC1lcSAkcC5WYWx1ZSkgeyAkYWxsZUdlbGVzZW4gPSAkZmFsc2U7IGJyZWFrIH0NCiAg +ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgIyBCZWhhbHRlbiwgd2VubiBqdWVuZ2Vy +IGFscyAzMCBUYWdlIE9ERVIgbm9jaCB1bmdlbGVzZW4NCiAgICAgICAgICAgICAgICBpZiAoJGVy +c3RlbGx0IC1ndCAkZ3JlbnplIC1vciAtbm90ICRhbGxlR2VsZXNlbikgeyAkYmVoYWx0ZW4gKz0g +JGVpbnRyYWcgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKCRiZWhhbHRlbi5Db3Vu +dCAtbmUgQCgkaC5oaW53ZWlzZSkuQ291bnQpIHsNCiAgICAgICAgICAgICAgICAkaC5oaW53ZWlz +ZSA9IFtvYmplY3RbXV0kYmVoYWx0ZW4NCiAgICAgICAgICAgICAgICBXcml0ZS1Kc29uT2JqZWN0 +ICdoaW53ZWlzZS5qc29uJyAkaCB8IE91dC1OdWxsDQogICAgICAgICAgICB9DQogICAgICAgIH0g +fCBPdXQtTnVsbA0KICAgIH0gY2F0Y2ggew0KICAgICAgICBMb2ctQXBpICgiSElOV0VJUy1QUlVO +SU5HIEZFSExFUjogezB9IiAtZiAkXy5FeGNlcHRpb24uTWVzc2FnZSkNCiAgICB9DQp9DQoNCiMg +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBNSVRURUlMVU5HRU4g4oCUIEZpbHRlciBmdWVyIGRlbiBh +a3R1ZWxsZW4gVXNlci4gU3BpZWdlbCB2b24NCiMgX21pdHRlaWx1bmdlbl9mdWVyX2FrdHVlbGxl +bl91c2VyKCkgaW0gUHl0aG9uLVNlcnZlciAoU3ByaW50IEQtM2EvRC0zYikuDQojIEJlYWNodGV0 +IGVtcGZhZW5nZXIge2FsbGUsIHBlcnNvbmVuLCBncnVwcGVuLCByb2xsZW59LCBiaXNEYXR1bS1T +dGljaHRhZw0KIyB1bmQgVHJpZ2dlci1SZWdlbCAoZWlubWFsIHZzLiBqZWRlc21hbC9iaXNEYXR1 +bSBtaXQgIjF4IHBybyBLYWxlbmRlcnRhZyIpLg0KZnVuY3Rpb24gR2V0LU1pdHRlaWx1bmdlbkZ1 +ZXJBa3R1ZWxsZW5Vc2VyIHsNCiAgICAkbSA9IFJlYWQtSnNvbk9iamVjdCAnbWl0dGVpbHVuZ2Vu +Lmpzb24nDQogICAgaWYgKCRudWxsIC1lcSAkbSAtb3IgLW5vdCAkbS5QU09iamVjdC5Qcm9wZXJ0 +aWVzWydtaXR0ZWlsdW5nZW4nXSkgeyByZXR1cm4gQCgpIH0NCiAgICAkZWludHJhZWdlID0gQCgk +bS5taXR0ZWlsdW5nZW4pDQogICAgaWYgKCRlaW50cmFlZ2UuQ291bnQgLWVxIDApIHsgcmV0dXJu +IEAoKSB9DQogICAgJHIgPSBHZXQtUmVjaHRlDQogICAgJHBpZCA9ICRyLm1laW5lUGVyc29uSWQN +CiAgICAkcGVyc29uID0gJG51bGwNCiAgICBpZiAoJG51bGwgLW5lICRwaWQpIHsNCiAgICAgICAg +JHBsYW51bmcgPSBSZWFkLUpzb25PYmplY3QgJ3BsYW51bmcuanNvbicNCiAgICAgICAgaWYgKCRu +dWxsIC1uZSAkcGxhbnVuZyAtYW5kICRwbGFudW5nLlBTT2JqZWN0LlByb3BlcnRpZXNbJ3BlcnNv +bmVuJ10pIHsNCiAgICAgICAgICAgIGZvcmVhY2ggKCRwIGluIEAoJHBsYW51bmcucGVyc29uZW4p +KSB7DQogICAgICAgICAgICAgICAgaWYgKFtzdHJpbmddJHAuaWQgLWVxIFtzdHJpbmddJHBpZCkg +eyAkcGVyc29uID0gJHA7IGJyZWFrIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0N +CiAgICAkbWVpbmVHcnVwcGUgICA9IGlmICgkcGVyc29uIC1hbmQgJHBlcnNvbi5QU09iamVjdC5Q +cm9wZXJ0aWVzWydncnVwcGUnXSkgICB7IFtzdHJpbmddJHBlcnNvbi5ncnVwcGUgfSAgIGVsc2Ug +eyAkbnVsbCB9DQogICAgJG1laW5lRnVua3Rpb24gPSBpZiAoJHBlcnNvbiAtYW5kICRwZXJzb24u +UFNPYmplY3QuUHJvcGVydGllc1snZnVua3Rpb24nXSkgeyBbc3RyaW5nXSRwZXJzb24uZnVua3Rp +b24gfSBlbHNlIHsgJG51bGwgfQ0KICAgICRpc3RTVSA9IFtib29sXSRyLmlzdFN1cGVyVXNlcg0K +ICAgICRpc3RHViA9IFtib29sXSRyLmlzdEdlc2FtdHZlcmFudHdvcnRsaWNoDQogICAgJGhldXRl +ID0gKEdldC1EYXRlKS5Ub1N0cmluZygneXl5eS1NTS1kZCcpDQogICAgJGdlbGVzZW5Vc2VyID0g +W3BzY3VzdG9tb2JqZWN0XUB7fQ0KICAgIGlmICgkbnVsbCAtbmUgJHBpZCAtYW5kICRtLlBTT2Jq +ZWN0LlByb3BlcnRpZXNbJ2dlbGVzZW4nXSkgew0KICAgICAgICAkcGlkU3RyID0gW3N0cmluZ10k +cGlkDQogICAgICAgIGlmICgkbS5nZWxlc2VuLlBTT2JqZWN0LlByb3BlcnRpZXNbJHBpZFN0cl0p +IHsNCiAgICAgICAgICAgICRnZWxlc2VuVXNlciA9ICRtLmdlbGVzZW4uJHBpZFN0cg0KICAgICAg +ICB9DQogICAgfQ0KICAgICRyZWxldmFudCA9IEAoKQ0KICAgIGZvcmVhY2ggKCRlaW50cmFnIGlu +ICRlaW50cmFlZ2UpIHsNCiAgICAgICAgaWYgKC1ub3QgJGVpbnRyYWcuUFNPYmplY3QuUHJvcGVy +dGllc1snZW1wZmFlbmdlciddKSB7IGNvbnRpbnVlIH0NCiAgICAgICAgJGVtcCA9ICRlaW50cmFn +LmVtcGZhZW5nZXINCiAgICAgICAgJGlzdFppZWxncnVwcGUgPSAkZmFsc2UNCiAgICAgICAgaWYg +KCRlbXAuUFNPYmplY3QuUHJvcGVydGllc1snYWxsZSddIC1hbmQgJGVtcC5hbGxlKSB7ICRpc3Ra +aWVsZ3J1cHBlID0gJHRydWUgfQ0KICAgICAgICBpZiAoJG51bGwgLW5lICRwaWQgLWFuZCAkZW1w +LlBTT2JqZWN0LlByb3BlcnRpZXNbJ3BlcnNvbmVuJ10pIHsNCiAgICAgICAgICAgIGZvcmVhY2gg +KCRwIGluIEAoJGVtcC5wZXJzb25lbikpIHsNCiAgICAgICAgICAgICAgICBpZiAoW3N0cmluZ10k +cCAtZXEgW3N0cmluZ10kcGlkKSB7ICRpc3RaaWVsZ3J1cHBlID0gJHRydWU7IGJyZWFrIH0NCiAg +ICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBpZiAoJG1laW5lR3J1cHBlIC1hbmQgJGVt +cC5QU09iamVjdC5Qcm9wZXJ0aWVzWydncnVwcGVuJ10pIHsNCiAgICAgICAgICAgIGlmIChAKCRl +bXAuZ3J1cHBlbikgLWNvbnRhaW5zICRtZWluZUdydXBwZSkgeyAkaXN0WmllbGdydXBwZSA9ICR0 +cnVlIH0NCiAgICAgICAgfQ0KICAgICAgICAkcm9sbGVuID0gaWYgKCRlbXAuUFNPYmplY3QuUHJv +cGVydGllc1sncm9sbGVuJ10pIHsgQCgkZW1wLnJvbGxlbikgfSBlbHNlIHsgQCgpIH0NCiAgICAg +ICAgaWYgKCRtZWluZUZ1bmt0aW9uIC1hbmQgKCRyb2xsZW4gLWNvbnRhaW5zICRtZWluZUZ1bmt0 +aW9uKSkgeyAkaXN0WmllbGdydXBwZSA9ICR0cnVlIH0NCiAgICAgICAgaWYgKCRpc3RTVSAtYW5k +ICgkcm9sbGVuIC1jb250YWlucyAnU1UnKSkgICAgICAgICAgICAgICAgICAgeyAkaXN0WmllbGdy +dXBwZSA9ICR0cnVlIH0NCiAgICAgICAgaWYgKCRpc3RHViAtYW5kICgkcm9sbGVuIC1jb250YWlu +cyAnR2VzYW10dmVyYW50d29ydGxpY2gnKSkgeyAkaXN0WmllbGdydXBwZSA9ICR0cnVlIH0NCiAg +ICAgICAgaWYgKC1ub3QgJGlzdFppZWxncnVwcGUpIHsgY29udGludWUgfQ0KICAgICAgICAjIGJp +c0RhdHVtLVN0aWNodGFnDQogICAgICAgICRiaXMgPSBpZiAoJGVpbnRyYWcuUFNPYmplY3QuUHJv +cGVydGllc1snYmlzRGF0dW0nXSkgeyBbc3RyaW5nXSRlaW50cmFnLmJpc0RhdHVtIH0gZWxzZSB7 +ICRudWxsIH0NCiAgICAgICAgaWYgKCRiaXMgLWFuZCAoJGhldXRlIC1ndCAkYmlzKSkgeyBjb250 +aW51ZSB9DQogICAgICAgICMgVHJpZ2dlci1SZWdlbA0KICAgICAgICAkdHJpZ2dlciA9IGlmICgk +ZWludHJhZy5QU09iamVjdC5Qcm9wZXJ0aWVzWyd0cmlnZ2VyJ10gLWFuZCAkZWludHJhZy50cmln +Z2VyKSB7IFtzdHJpbmddJGVpbnRyYWcudHJpZ2dlciB9IGVsc2UgeyAnZWlubWFsJyB9DQogICAg +ICAgICRtaWQgPSBbc3RyaW5nXSRlaW50cmFnLmlkDQogICAgICAgICR6dWxldHp0R2VzZWhlbiA9 +IGlmICgkZ2VsZXNlblVzZXIuUFNPYmplY3QuUHJvcGVydGllc1skbWlkXSkgeyBbc3RyaW5nXSRn +ZWxlc2VuVXNlci4kbWlkIH0gZWxzZSB7ICRudWxsIH0NCiAgICAgICAgaWYgKCR0cmlnZ2VyIC1l +cSAnZWlubWFsJykgew0KICAgICAgICAgICAgaWYgKCR6dWxldHp0R2VzZWhlbikgeyBjb250aW51 +ZSB9DQogICAgICAgIH0gZWxzZWlmICgkdHJpZ2dlciAtZXEgJ2plZGVzbWFsJyAtb3IgJHRyaWdn +ZXIgLWVxICdiaXNEYXR1bScpIHsNCiAgICAgICAgICAgIGlmICgkenVsZXR6dEdlc2VoZW4gLWVx +ICRoZXV0ZSkgeyBjb250aW51ZSB9DQogICAgICAgIH0NCiAgICAgICAgJHJlbGV2YW50ICs9ICRl +aW50cmFnDQogICAgfQ0KICAgIHJldHVybiBbb2JqZWN0W11dJHJlbGV2YW50DQp9DQoNCiMgLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KIyBEaWZmLUhlbHBlciBmdWVyIFJvbGxlbi1FbmRwb2ludHMgKFNV +ICsgRmFjaGF1ZnNpY2h0KS4gTGllZmVydCBNYWlsdG8tDQojIERpZmZzIChyZWluL3JhdXMgYXVz +IFZlcmFudHdvcnR1bmcpIHVuZCBIaW53ZWlzLURpZmZzIChSb2xsZW4tVXBkYXRlcw0KIyBvaG5l +IFZlcmFudHdvcnR1bmdzLVdlY2hzZWwpIGdldHJlbm50IHp1cnVlY2suDQojIC0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0NCg0KZnVuY3Rpb24gX1BlcnNvbk5hbWVGdWVyS2VubnVuZyhbc3RyaW5nXSROd0tl +bm51bmcpIHsNCiAgICBpZiAoLW5vdCAkTndLZW5udW5nKSB7IHJldHVybiAnJyB9DQogICAgJGtr +ID0gJE53S2VubnVuZy5Ub0xvd2VyKCkNCiAgICAjIEJldm9yenVndDogUGVyc29uZW5kYXRlbiBh +dXMgcGxhbnVuZy5qc29uIChpbmtsLiBWb3JuYW1lKS4NCiAgICAkcGwgPSBSZWFkLUpzb25PYmpl +Y3QgJ3BsYW51bmcuanNvbicNCiAgICBpZiAoJHBsIC1hbmQgJHBsLnBlcnNvbmVuKSB7DQogICAg +ICAgIGZvcmVhY2ggKCRwIGluIEAoJHBsLnBlcnNvbmVuKSkgew0KICAgICAgICAgICAgaWYgKFtz +dHJpbmddJHAubndLZW5udW5nIC1hbmQgJHAubndLZW5udW5nLlRvTG93ZXIoKSAtZXEgJGtrKSB7 +DQogICAgICAgICAgICAgICAgJHZuID0gJycNCiAgICAgICAgICAgICAgICBpZiAoJHAuUFNPYmpl +Y3QuUHJvcGVydGllc1sndm9ybmFtZSddKSB7ICR2biA9IFtzdHJpbmddJHAudm9ybmFtZSB9DQog +ICAgICAgICAgICAgICAgcmV0dXJuICgiJHZuICQoJHAubmFtZSkiKS5UcmltKCkNCiAgICAgICAg +ICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICAjIEZhbGxiYWNrOiBSb2xsZS1MaXN0ZW4gaW4g +YWRtaW4uanNvbiAoU3VwZXJVc2VyLCBGYWNoYXVmc2ljaHQsDQogICAgIyBEaXJla3Rpb25zbGVp +dHVuZywgRnVlaHJ1bmdzc3RlbGxlKS4gU29sY2hlIEVpbnRyYWVnZSBmdWVocmVuIGVpbg0KICAg +ICMgZWlnZW5lcyBuYW1lLUZlbGQgdW5kIGtvbW1lbiBvZnQgb2huZSBwbGFudW5nLnBlcnNvbmVu +LVBlbmRhbnQgdm9yDQogICAgIyAoei5CLiBTdXBlclVzZXIgb2huZSBTY2hpY2h0ZGllbnN0KS4g +T2huZSBkaWVzZW4gRmFsbGJhY2sgZ3J1ZcOfdCBkZXINCiAgICAjIFNlcnZlciBkaWUgUGVyc29u +IG1pdCBpaHJlciBOVy1LZW5udW5nIHN0YXR0IG1pdCBpaHJlbSBOYW1lbi4NCiAgICAkYWRtaW4g +PSBSZWFkLUpzb25PYmplY3QgJ2FkbWluLmpzb24nDQogICAgaWYgKCRhZG1pbikgew0KICAgICAg +ICBmb3JlYWNoICgkZmVsZCBpbiAnc3VwZXJVc2VyJywnZmFjaGF1ZnNpY2h0JywnZGlyZWt0aW9u +c2xlaXR1bmcnLCdmdWVocnVuZ3NzdGVsbGUnKSB7DQogICAgICAgICAgICBpZiAoLW5vdCAkYWRt +aW4uUFNPYmplY3QuUHJvcGVydGllc1skZmVsZF0pIHsgY29udGludWUgfQ0KICAgICAgICAgICAg +Zm9yZWFjaCAoJGUgaW4gQCgkYWRtaW4uJGZlbGQpKSB7DQogICAgICAgICAgICAgICAgaWYgKC1u +b3QgJGUpIHsgY29udGludWUgfQ0KICAgICAgICAgICAgICAgIGlmIChbc3RyaW5nXSRlLm53S2Vu +bnVuZyAtYW5kICRlLm53S2VubnVuZy5Ub0xvd2VyKCkgLWVxICRraykgew0KICAgICAgICAgICAg +ICAgICAgICBpZiAoJGUuUFNPYmplY3QuUHJvcGVydGllc1snbmFtZSddIC1hbmQgJGUubmFtZSkg +ew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtzdHJpbmddJGUubmFtZQ0KICAgICAg +ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAg +ICB9DQogICAgfQ0KICAgIHJldHVybiAnJw0KfQ0KDQojIEdlbmVyaXNjaGVyIERpZmYgZnVlciBy +ZWluZSAiTGlzdGUgbWl0IG53S2VubnVuZyItRW5kcG9pbnRzIChTdXBlclVzZXIpLg0KIyBMaWVm +ZXJ0IGVpbiBBcnJheSB2b24gbWFpbHRvLURpZmYtT2JqZWt0ZW46IHJlaW4vcmF1cywgamV3ZWls +cyBtaXQgTmFtZS4NCmZ1bmN0aW9uIEdldC1Sb2xsZURpZmZzKCRhbHRMaXN0ZSwgJG5ldUxpc3Rl +LCBbc3RyaW5nXSRSb2xsZUxhYmVsLCBbYm9vbF0kTnVyTWl0R2VzYW10RmxhZykgew0KICAgICRh +bHRTZXQgPSBAe30NCiAgICBmb3JlYWNoICgkZSBpbiBAKCRhbHRMaXN0ZSkpIHsNCiAgICAgICAg +aWYgKCRlIC1hbmQgJGUubndLZW5udW5nKSB7ICRhbHRTZXRbW3N0cmluZ10kZS5ud0tlbm51bmcu +VG9Mb3dlcigpXSA9ICRlIH0NCiAgICB9DQogICAgJG5ldVNldCA9IEB7fQ0KICAgIGZvcmVhY2gg +KCRlIGluIEAoJG5ldUxpc3RlKSkgew0KICAgICAgICBpZiAoJGUgLWFuZCAkZS5ud0tlbm51bmcp +IHsgJG5ldVNldFtbc3RyaW5nXSRlLm53S2VubnVuZy5Ub0xvd2VyKCldID0gJGUgfQ0KICAgIH0N +CiAgICAkZGlmZnMgPSBAKCkNCiAgICBmb3JlYWNoICgkayBpbiAkbmV1U2V0LktleXMpIHsNCiAg +ICAgICAgaWYgKC1ub3QgJGFsdFNldC5Db250YWluc0tleSgkaykpIHsNCiAgICAgICAgICAgICRl +ID0gJG5ldVNldFska10NCiAgICAgICAgICAgIGlmICgkTnVyTWl0R2VzYW10RmxhZyAtYW5kIC1u +b3QgKFtib29sXSRlLmdlc2FtdHZlcmFudHdvcnRsaWNoKSkgeyBjb250aW51ZSB9DQogICAgICAg +ICAgICAkZGlmZnMgKz0gW29yZGVyZWRdQHsNCiAgICAgICAgICAgICAgICByaWNodHVuZyAgID0g +J3JlaW4nDQogICAgICAgICAgICAgICAgcm9sbGUgICAgICA9ICRSb2xsZUxhYmVsDQogICAgICAg +ICAgICAgICAgbndLZW5udW5nICA9IFtzdHJpbmddJGUubndLZW5udW5nDQogICAgICAgICAgICAg +ICAgbmFtZSAgICAgICA9IF9QZXJzb25OYW1lRnVlcktlbm51bmcoW3N0cmluZ10kZS5ud0tlbm51 +bmcpDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQogICAgZm9yZWFjaCAoJGsgaW4g +JGFsdFNldC5LZXlzKSB7DQogICAgICAgIGlmICgtbm90ICRuZXVTZXQuQ29udGFpbnNLZXkoJGsp +KSB7DQogICAgICAgICAgICAkZSA9ICRhbHRTZXRbJGtdDQogICAgICAgICAgICBpZiAoJE51ck1p +dEdlc2FtdEZsYWcgLWFuZCAtbm90IChbYm9vbF0kZS5nZXNhbXR2ZXJhbnR3b3J0bGljaCkpIHsg +Y29udGludWUgfQ0KICAgICAgICAgICAgJGRpZmZzICs9IFtvcmRlcmVkXUB7DQogICAgICAgICAg +ICAgICAgcmljaHR1bmcgICA9ICdyYXVzJw0KICAgICAgICAgICAgICAgIHJvbGxlICAgICAgPSAk +Um9sbGVMYWJlbA0KICAgICAgICAgICAgICAgIG53S2VubnVuZyAgPSBbc3RyaW5nXSRlLm53S2Vu +bnVuZw0KICAgICAgICAgICAgICAgIG5hbWUgICAgICAgPSBfUGVyc29uTmFtZUZ1ZXJLZW5udW5n +KFtzdHJpbmddJGUubndLZW5udW5nKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0K +ICAgIHJldHVybiBbb2JqZWN0W11dJGRpZmZzDQp9DQoNCiMgRmFjaGF1ZnNpY2h0LURpZmY6IHRy +ZW5udCBtYWlsdG8td3VlcmRpZ2UgVmVyYW50d29ydHVuZ3MtVWViZXJnYWVuZ2UNCiMgKEdlc2Ft +dHZlcmFudHdvcnRsaWNoLVN0YXR1cy1XZWNoc2VsKSB2b24gSW4tQXBwLUhpbndlaXNlbiAoRkEg +aGluenUvDQojIGVudGZlcm50IG9obmUgR2VzYW10ZmxhZywgb2RlciBTZWhlbi1GbGFnLURpZmYp +Lg0KZnVuY3Rpb24gR2V0LUZhY2hhdWZzaWNodERpZmZzKCRhbHRMaXN0ZSwgJG5ldUxpc3RlKSB7 +DQogICAgJGFsdE1hcCA9IEB7fQ0KICAgIGZvcmVhY2ggKCRlIGluIEAoJGFsdExpc3RlKSkgew0K +ICAgICAgICBpZiAoJGUgLWFuZCAkZS5ud0tlbm51bmcpIHsgJGFsdE1hcFtbc3RyaW5nXSRlLm53 +S2VubnVuZy5Ub0xvd2VyKCldID0gJGUgfQ0KICAgIH0NCiAgICAkbmV1TWFwID0gQHt9DQogICAg +Zm9yZWFjaCAoJGUgaW4gQCgkbmV1TGlzdGUpKSB7DQogICAgICAgIGlmICgkZSAtYW5kICRlLm53 +S2VubnVuZykgeyAkbmV1TWFwW1tzdHJpbmddJGUubndLZW5udW5nLlRvTG93ZXIoKV0gPSAkZSB9 +DQogICAgfQ0KICAgICRtYWlsdG8gID0gQCgpDQogICAgJGhpbndlaXMgPSBAKCkNCiAgICAjIFZl +cmVpbmlndGUgS2VubnVuZ3MtTWVuZ2UNCiAgICAkYWxsZUtleXMgPSBAe30NCiAgICBmb3JlYWNo +ICgkayBpbiAkYWx0TWFwLktleXMpIHsgJGFsbGVLZXlzWyRrXSA9ICR0cnVlIH0NCiAgICBmb3Jl +YWNoICgkayBpbiAkbmV1TWFwLktleXMpIHsgJGFsbGVLZXlzWyRrXSA9ICR0cnVlIH0NCiAgICBm +b3JlYWNoICgkayBpbiAkYWxsZUtleXMuS2V5cykgew0KICAgICAgICAkYSA9ICRhbHRNYXBbJGtd +DQogICAgICAgICRuID0gJG5ldU1hcFska10NCiAgICAgICAgJGFsdEdlc2FtdCA9ICRmYWxzZTsg +aWYgKCRhIC1hbmQgJGEuUFNPYmplY3QuUHJvcGVydGllc1snZ2VzYW10dmVyYW50d29ydGxpY2gn +XSkgeyAkYWx0R2VzYW10ID0gW2Jvb2xdJGEuZ2VzYW10dmVyYW50d29ydGxpY2ggfQ0KICAgICAg +ICAkbmV1R2VzYW10ID0gJGZhbHNlOyBpZiAoJG4gLWFuZCAkbi5QU09iamVjdC5Qcm9wZXJ0aWVz +WydnZXNhbXR2ZXJhbnR3b3J0bGljaCddKSB7ICRuZXVHZXNhbXQgPSBbYm9vbF0kbi5nZXNhbXR2 +ZXJhbnR3b3J0bGljaCB9DQogICAgICAgICRuYW1lID0gX1BlcnNvbk5hbWVGdWVyS2VubnVuZygk +aykNCiAgICAgICAgJG53SyAgPSBpZiAoJG4pIHsgW3N0cmluZ10kbi5ud0tlbm51bmcgfSBlbHNl +aWYgKCRhKSB7IFtzdHJpbmddJGEubndLZW5udW5nIH0gZWxzZSB7ICcnIH0NCg0KICAgICAgICAj +IEdlc2FtdHZlcmFudHdvcnRsaWNoLVN0YXR1cy1XZWNoc2VsIC0+IG1haWx0bw0KICAgICAgICBp +ZiAoJGFsdEdlc2FtdCAtbmUgJG5ldUdlc2FtdCkgew0KICAgICAgICAgICAgJHJpY2h0dW5nID0g +aWYgKCRuZXVHZXNhbXQpIHsgJ3JlaW4nIH0gZWxzZSB7ICdyYXVzJyB9DQogICAgICAgICAgICAk +bWFpbHRvICs9IFtvcmRlcmVkXUB7DQogICAgICAgICAgICAgICAgcmljaHR1bmcgID0gJHJpY2h0 +dW5nDQogICAgICAgICAgICAgICAgcm9sbGUgICAgID0gJ0dlc2FtdHZlcmFudHdvcnRsaWNoJw0K +ICAgICAgICAgICAgICAgIG53S2VubnVuZyA9ICRud0sNCiAgICAgICAgICAgICAgICBuYW1lICAg +ICAgPSAkbmFtZQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgY29udGludWUNCiAgICAgICAg +fQ0KDQogICAgICAgICMgR2xlaWNoZXIgR2VzYW10LVN0YXR1cywgYWJlciBFaW50cmFnIHJlaW4v +cmF1cyAtPiBIaW53ZWlzICJGYWNoYXVmc2ljaHQiDQogICAgICAgIGlmICgkYSAtYW5kIC1ub3Qg +JG4pIHsNCiAgICAgICAgICAgICRoaW53ZWlzICs9IFtvcmRlcmVkXUB7DQogICAgICAgICAgICAg +ICAgcmljaHR1bmcgICAgPSAncmF1cycNCiAgICAgICAgICAgICAgICByb2xsZSAgICAgICA9ICdG +YWNoYXVmc2ljaHQnDQogICAgICAgICAgICAgICAgbndLZW5udW5nICAgPSAkbndLDQogICAgICAg +ICAgICAgICAgcGVyc29uX25hbWUgPSAkbmFtZQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAg +Y29udGludWUNCiAgICAgICAgfQ0KICAgICAgICBpZiAoJG4gLWFuZCAtbm90ICRhKSB7DQogICAg +ICAgICAgICAkaGlud2VpcyArPSBbb3JkZXJlZF1Aew0KICAgICAgICAgICAgICAgIHJpY2h0dW5n +ICAgID0gJ3JlaW4nDQogICAgICAgICAgICAgICAgcm9sbGUgICAgICAgPSAnRmFjaGF1ZnNpY2h0 +Jw0KICAgICAgICAgICAgICAgIG53S2VubnVuZyAgID0gJG53Sw0KICAgICAgICAgICAgICAgIHBl +cnNvbl9uYW1lID0gJG5hbWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGNvbnRpbnVlDQog +ICAgICAgIH0NCg0KICAgICAgICAjIEJlaWRlIGV4aXN0aWVyZW4sIGdsZWljaGVyIEdlc2FtdC1T +dGF0dXM6IFNlaGVuLUZsYWdzIHZlcmdsZWljaGVuDQogICAgICAgICRzZWhlbkRpZmYgPSBAKCkN +CiAgICAgICAgJGFsdFNlaGVuID0gaWYgKCRhLlBTT2JqZWN0LlByb3BlcnRpZXNbJ3NlaGVuJ10p +IHsgJGEuc2VoZW4gfSBlbHNlIHsgJG51bGwgfQ0KICAgICAgICAkbmV1U2VoZW4gPSBpZiAoJG4u +UFNPYmplY3QuUHJvcGVydGllc1snc2VoZW4nXSkgeyAkbi5zZWhlbiB9IGVsc2UgeyAkbnVsbCB9 +DQogICAgICAgIGZvcmVhY2ggKCRmbGFnIGluIEAoJ2FkbWluaXN0cmF0aW9uJywnc3RhdGlzdGlr +JywnbG9nYnVjaCcsJ2JhY2t1cHMnKSkgew0KICAgICAgICAgICAgJGF2ID0gJGZhbHNlOyBpZiAo +JGFsdFNlaGVuIC1hbmQgJGFsdFNlaGVuLlBTT2JqZWN0LlByb3BlcnRpZXNbJGZsYWddKSB7ICRh +diA9IFtib29sXSRhbHRTZWhlbi4kZmxhZyB9DQogICAgICAgICAgICAkbnYgPSAkZmFsc2U7IGlm +ICgkbmV1U2VoZW4gLWFuZCAkbmV1U2VoZW4uUFNPYmplY3QuUHJvcGVydGllc1skZmxhZ10pIHsg +JG52ID0gW2Jvb2xdJG5ldVNlaGVuLiRmbGFnIH0NCiAgICAgICAgICAgIGlmICgkYXYgLW5lICRu +dikgeyAkc2VoZW5EaWZmICs9ICIkZmxhZyA6ICRhdiAtPiAkbnYiIH0NCiAgICAgICAgfQ0KICAg +ICAgICBpZiAoJHNlaGVuRGlmZi5Db3VudCAtZ3QgMCkgew0KICAgICAgICAgICAgJGhpbndlaXMg +Kz0gW29yZGVyZWRdQHsNCiAgICAgICAgICAgICAgICByaWNodHVuZyAgICA9ICdha3R1YWxpc2ll +cnQnDQogICAgICAgICAgICAgICAgcm9sbGUgICAgICAgPSAnRmFjaGF1ZnNpY2h0LVJlY2h0ZScN +CiAgICAgICAgICAgICAgICBud0tlbm51bmcgICA9ICRud0sNCiAgICAgICAgICAgICAgICBwZXJz +b25fbmFtZSA9ICRuYW1lDQogICAgICAgICAgICAgICAgYWVuZGVydW5nZW4gPSAoJHNlaGVuRGlm +ZiAtam9pbiAnOyAnKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KICAgIHJldHVy +biBAeyBtYWlsdG9EaWZmcyA9IFtvYmplY3RbXV0kbWFpbHRvOyBoaW53ZWlzRGlmZnMgPSBbb2Jq +ZWN0W11dJGhpbndlaXMgfQ0KfQ0KDQojID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiMgU3RhdGlzdGlr +LUJ1aWxkZXIgKEhlbHBlcikgLS0gbGllZmVydCBkYXMgUGVyLVBlcnNvbi1TdGF0aXN0aWstQXJy +YXkuDQojIEhhdCBrZWluZW4gUmVzcG9uc2UtU2lkZS1FZmZlY3Q7IENhbGxlciBzZW5kIEpzb25P +YmplY3QuDQojID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCmZ1bmN0aW9uIEdldC1TdGF0aXN0aWtEYXRh +KCRwbGFudW5nLCAkYWRtaW4pIHsNCiAgICBpZiAoJG51bGwgLWVxICRwbGFudW5nKSB7IHJldHVy +biBAKCkgfQ0KICAgICMgSGFzaHRhYmxlIHN0YXR0IEdlbmVyaWMgSGFzaFNldCAoQ0xNLXNpY2hl +cikNCiAgICAkZmVpZXJ0YWdlID0gQHt9DQogICAgaWYgKCRhZG1pbiAtYW5kICRhZG1pbi5mZWll +cnRhZ2UpIHsNCiAgICAgICAgZm9yZWFjaCAoJGYgaW4gQCgkYWRtaW4uZmVpZXJ0YWdlKSkgew0K +ICAgICAgICAgICAgJGQgPSBbc3RyaW5nXSRmLmRhdHVtDQogICAgICAgICAgICAjIGFrdGl2PWZh +bHNlIHVlYmVyc3ByaW5nZW4gKHouQi4gZnVlciBrdWx0dXJlbGxlL3JlbGlnaW9lc2UgRmVpZXIt +DQogICAgICAgICAgICAjIHRhZ2UsIGRpZSBkZXIgVXNlciBwZXIgVG9nZ2xlIGF1c2dlYmxlbmRl +dCBoYXQpLiBGZWhsZW5kZXMgYWt0aXYtDQogICAgICAgICAgICAjIEZlbGQgPT0gYWt0aXYgKEJh +Y2t3YXJkcy1Db21wYXQpLg0KICAgICAgICAgICAgJGFrdGl2ID0gJHRydWUNCiAgICAgICAgICAg +IGlmICgkZi5QU09iamVjdC5Qcm9wZXJ0aWVzWydha3RpdiddKSB7ICRha3RpdiA9IFtib29sXSRm +LmFrdGl2IH0NCiAgICAgICAgICAgIGlmICgkZCAtYW5kICRha3RpdikgeyAkZmVpZXJ0YWdlWyRk +XSA9ICR0cnVlIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICAjIFplaXRyYXVtLUN1dDogbnVyIHJl +YWxpc2llcnRlICsgbmFlY2hzdGUgMTQgVGFnZSB6YWVobGVuLg0KICAgICRqYWhyUGxhbnVuZyA9 +ICRudWxsDQogICAgaWYgKCRhZG1pbiAtYW5kICRhZG1pbi5QU09iamVjdC5Qcm9wZXJ0aWVzWydq +YWhyJ10pIHsgJGphaHJQbGFudW5nID0gJGFkbWluLmphaHIgfQ0KICAgIGlmICgtbm90ICRqYWhy +UGxhbnVuZykgeyAkamFoclBsYW51bmcgPSAoR2V0LURhdGUpLlllYXIgfQ0KICAgICRjdXRTdGFy +dCA9ICgnezB9LTAxLTAxJyAtZiAkamFoclBsYW51bmcpDQogICAgJGN1dEVuZGUgID0gKEdldC1E +YXRlKS5BZGREYXlzKDE0KS5Ub1N0cmluZygneXl5eS1NTS1kZCcpDQogICAgIyBTT0xMLVBvb2w6 +IEFuemFobCBTYStTby1UYWdlIGltIEN1dCwgZGllIEtFSU4gRmVpZXJ0YWcgc2luZC4NCiAgICAk +d2VUYWdlTWF4ID0gMA0KICAgICRfZCA9IFtkYXRldGltZV06OlBhcnNlRXhhY3QoJGN1dFN0YXJ0 +LCAneXl5eS1NTS1kZCcsICRudWxsKQ0KICAgICRfZSA9IFtkYXRldGltZV06OlBhcnNlRXhhY3Qo +JGN1dEVuZGUsICAneXl5eS1NTS1kZCcsICRudWxsKQ0KICAgIHdoaWxlICgkX2QgLWxlICRfZSkg +ew0KICAgICAgICBpZiAoKCRfZC5EYXlPZldlZWsgLWVxICdTYXR1cmRheScgLW9yICRfZC5EYXlP +ZldlZWsgLWVxICdTdW5kYXknKSAtYW5kIC1ub3QgJGZlaWVydGFnZS5Db250YWluc0tleSgkX2Qu +VG9TdHJpbmcoJ3l5eXktTU0tZGQnKSkpIHsNCiAgICAgICAgICAgICR3ZVRhZ2VNYXgrKw0KICAg +ICAgICB9DQogICAgICAgICRfZCA9ICRfZC5BZGREYXlzKDEpDQogICAgfQ0KICAgICRzdGF0aXN0 +aWtlbiA9IE5ldy1PYmplY3QgJ1N5c3RlbS5Db2xsZWN0aW9ucy5BcnJheUxpc3QnDQogICAgJHBl +cnNvbmVuID0gQCgpDQogICAgaWYgKCRwbGFudW5nLnBlcnNvbmVuKSB7ICRwZXJzb25lbiA9IEAo +JHBsYW51bmcucGVyc29uZW4pIH0NCiAgICAkZGF0ZW5Tb3J0aWVydCA9IEAoKQ0KICAgIGlmICgk +cGxhbnVuZy5laW50cmFlZ2UpIHsNCiAgICAgICAgJGRhdGVuU29ydGllcnQgPSBAKCRwbGFudW5n +LmVpbnRyYWVnZS5QU09iamVjdC5Qcm9wZXJ0aWVzIHwgRm9yRWFjaC1PYmplY3QgeyAkXy5OYW1l +IH0gfCBTb3J0LU9iamVjdCkNCiAgICB9DQogICAgZm9yZWFjaCAoJHBlcnNvbiBpbiAkcGVyc29u +ZW4pIHsNCiAgICAgICAgaWYgKCRwZXJzb24uUFNPYmplY3QuUHJvcGVydGllc1snYWt0aXYnXSAt +YW5kIC1ub3QgJHBlcnNvbi5ha3RpdikgeyBjb250aW51ZSB9DQogICAgICAgICRwZXJzb25JZCA9 +IFtzdHJpbmddJHBlcnNvbi5pZA0KICAgICAgICAkdm9ybmFtZVR4dCA9ICcnDQogICAgICAgIGlm +ICgkcGVyc29uLlBTT2JqZWN0LlByb3BlcnRpZXNbJ3Zvcm5hbWUnXSkgeyAkdm9ybmFtZVR4dCA9 +IFtzdHJpbmddJHBlcnNvbi52b3JuYW1lIH0NCiAgICAgICAgJGdydXBwZVR4dCA9ICcnDQogICAg +ICAgIGlmICgkcGVyc29uLlBTT2JqZWN0LlByb3BlcnRpZXNbJ2dydXBwZSddKSB7ICRncnVwcGVU +eHQgPSBbc3RyaW5nXSRwZXJzb24uZ3J1cHBlIH0NCiAgICAgICAgJGRncmFkVHh0ID0gJycNCiAg +ICAgICAgaWYgKCRwZXJzb24uUFNPYmplY3QuUHJvcGVydGllc1snZGllbnN0Z3JhZCddKSB7ICRk +Z3JhZFR4dCA9IFtzdHJpbmddJHBlcnNvbi5kaWVuc3RncmFkIH0NCiAgICAgICAgJGZ1bmtUeHQg +ID0gJycNCiAgICAgICAgaWYgKCRwZXJzb24uUFNPYmplY3QuUHJvcGVydGllc1snZnVua3Rpb24n +XSkgICB7ICRmdW5rVHh0ICA9IFtzdHJpbmddJHBlcnNvbi5mdW5rdGlvbiB9DQogICAgICAgICRz +dGF0cyA9IFtvcmRlcmVkXUB7DQogICAgICAgICAgICBwZXJzb25JZCAgICAgICAgPSAkcGVyc29u +LmlkDQogICAgICAgICAgICBuYW1lICAgICAgICAgICAgPSAoJ3swfSwgezF9JyAtZiAkcGVyc29u +Lm5hbWUsICR2b3JuYW1lVHh0KQ0KICAgICAgICAgICAgZGllbnN0Z3JhZCAgICAgID0gJGRncmFk +VHh0DQogICAgICAgICAgICBmdW5rdGlvbiAgICAgICAgPSAkZnVua1R4dA0KICAgICAgICAgICAg +Z3J1cHBlICAgICAgICAgID0gJGdydXBwZVR4dA0KICAgICAgICAgICAgZnJ1ZWggICAgICAgICAg +ID0gMDsgc3BhZXQgPSAwOyBuYWNodCA9IDA7IGdlc2FtdCA9IDANCiAgICAgICAgICAgIGRnbCAg +ICAgICAgICAgICA9IDA7IHdkZiA9IDA7IGZicCA9IDA7IHNvbmRlcmRpZW5zdCA9IDANCiAgICAg +ICAgICAgIGtyYW5rICAgICAgICAgICA9IDA7IGt1ciA9IDA7IHVybGF1YiA9IDA7IGxlaHJnYW5n +ID0gMDsgYXpBdXNnbGVpY2ggPSAwOyBzb25kZXJ1cmxhdWIgPSAwDQogICAgICAgICAgICB3b2No +ZW5lbmRUYWdlICAgPSAwOyBmZWllcnRhZ1RhZ2UgPSAwOyB2b3JGZWllcnRhZ1RhZ2UgPSAwDQog +ICAgICAgICAgICBzYW1zdGFnRGllbnN0ZSAgPSAwOyBzb25udGFnRGllbnN0ZSA9IDA7IGZlaWVy +dGFnRGllbnN0ZSA9IDANCiAgICAgICAgICAgIGtvbXBsZXR0ZVdFICAgICA9IDANCiAgICAgICAg +ICAgIHdlVGFnZU1heCAgICAgICA9ICR3ZVRhZ2VNYXgNCiAgICAgICAgICAgIHdlVGFnZUFid2Vz +ZW5kICA9IDANCiAgICAgICAgICAgIHdlVGFnZVZlcmZ1ZWdiYXIgPSAwDQogICAgICAgICAgICBm +b3J0YmlsZHVuZyAgICAgPSAwDQogICAgICAgICAgICBkaWVuc3R1bnRlcnJpY2h0ID0gMA0KICAg +ICAgICAgICAgbGVocmdhbmdMYW5nICAgID0gMA0KICAgICAgICAgICAgd2FjaGZyZWkgICAgICAg +ID0gMA0KICAgICAgICAgICAgZGllbnN0ZnJlaVRhZyAgID0gMA0KICAgICAgICAgICAgcGFyYWdy +YXBoMjEgICAgID0gMA0KICAgICAgICAgICAgYXpBdXNnbGVpY2hSZWluID0gMA0KICAgICAgICAg +ICAgZWluZ2VzcHJ1bmdlbiAgID0gMA0KICAgICAgICAgICAgZWluZ2VzcHJ1bmdlbl9mID0gMA0K +ICAgICAgICAgICAgZWluZ2VzcHJ1bmdlbl9zID0gMA0KICAgICAgICAgICAgZWluZ2VzcHJ1bmdl +bl9uID0gMA0KICAgICAgICAgICAga3JhbmtQZXJpb2RlbiAgID0gTmV3LU9iamVjdCAnU3lzdGVt +LkNvbGxlY3Rpb25zLkFycmF5TGlzdCcNCiAgICAgICAgfQ0KICAgICAgICAka3JhbmtTdGFydCA9 +ICRudWxsDQogICAgICAgICRsZXR6dGVyS3JhbmtUYWcgPSAkbnVsbA0KICAgICAgICAkd2VEaWVu +c3RQcm9Xb2NoZSA9IEB7fQ0KICAgICAgICBmb3JlYWNoICgkZGF0dW0gaW4gJGRhdGVuU29ydGll +cnQpIHsNCiAgICAgICAgICAgIGlmICgkZGF0dW0gLWx0ICRjdXRTdGFydCAtb3IgJGRhdHVtIC1n +dCAkY3V0RW5kZSkgew0KICAgICAgICAgICAgICAgIGlmICgka3JhbmtTdGFydCkgew0KICAgICAg +ICAgICAgICAgICAgICBbdm9pZF0kc3RhdHMua3JhbmtQZXJpb2Rlbi5BZGQoW29yZGVyZWRdQHsg +dm9uID0gJGtyYW5rU3RhcnQ7IGJpcyA9ICRsZXR6dGVyS3JhbmtUYWcgfSkNCiAgICAgICAgICAg +ICAgICAgICAgJGtyYW5rU3RhcnQgPSAkbnVsbA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAg +ICAgICAgICBjb250aW51ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJGVpbnRyYWcgPSAk +cGxhbnVuZy5laW50cmFlZ2UuJGRhdHVtDQogICAgICAgICAgICAkd2VydCA9ICRudWxsDQogICAg +ICAgICAgICBpZiAoJGVpbnRyYWcgLWFuZCAkZWludHJhZy5QU09iamVjdC5Qcm9wZXJ0aWVzWyRw +ZXJzb25JZF0pIHsgJHdlcnQgPSBbc3RyaW5nXSRlaW50cmFnLiRwZXJzb25JZCB9DQogICAgICAg +ICAgICBpZiAoJG51bGwgLWVxICR3ZXJ0IC1vciAkd2VydCAtZXEgJycpIHsNCiAgICAgICAgICAg +ICAgICBpZiAoJGtyYW5rU3RhcnQpIHsNCiAgICAgICAgICAgICAgICAgICAgW3ZvaWRdJHN0YXRz +LmtyYW5rUGVyaW9kZW4uQWRkKFtvcmRlcmVkXUB7IHZvbiA9ICRrcmFua1N0YXJ0OyBiaXMgPSAk +bGV0enRlcktyYW5rVGFnIH0pDQogICAgICAgICAgICAgICAgICAgICRrcmFua1N0YXJ0ID0gJG51 +bGwNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgY29udGludWUNCiAgICAgICAg +ICAgIH0NCiAgICAgICAgICAgIHRyeSB7ICRkYXR1bU9iaiA9IFtkYXRldGltZV06OlBhcnNlRXhh +Y3QoJGRhdHVtLCAneXl5eS1NTS1kZCcsICRudWxsKSB9IGNhdGNoIHsgY29udGludWUgfQ0KICAg +ICAgICAgICAgJGlzdFdFICAgICAgPSAkZGF0dW1PYmouRGF5T2ZXZWVrIC1lcSAnU2F0dXJkYXkn +IC1vciAkZGF0dW1PYmouRGF5T2ZXZWVrIC1lcSAnU3VuZGF5Jw0KICAgICAgICAgICAgJGlzdEZl +aWVyICAgPSAkZmVpZXJ0YWdlLkNvbnRhaW5zS2V5KCRkYXR1bSkNCiAgICAgICAgICAgICRtb3Jn +ZW4gICAgID0gJGRhdHVtT2JqLkFkZERheXMoMSkuVG9TdHJpbmcoJ3l5eXktTU0tZGQnKQ0KICAg +ICAgICAgICAgJGlzdFZvckZlaWVyID0gJGZlaWVydGFnZS5Db250YWluc0tleSgkbW9yZ2VuKQ0K +ICAgICAgICAgICAgJHplaXRQcmVmaXggPSAnJw0KICAgICAgICAgICAgaWYgKCR3ZXJ0Lkxlbmd0 +aCAtZ2UgMiAtYW5kICR3ZXJ0LlN1YnN0cmluZygxLDEpIC1lcSAnLScpIHsgJHplaXRQcmVmaXgg +PSAkd2VydC5TdWJzdHJpbmcoMCwyKSB9DQogICAgICAgICAgICAkaXN0RGllbnN0ID0gJGZhbHNl +DQogICAgICAgICAgICBzd2l0Y2ggKCR6ZWl0UHJlZml4KSB7DQogICAgICAgICAgICAgICAgJ0Yt +JyB7ICRzdGF0cy5mcnVlaCsrOyAkc3RhdHMuZ2VzYW10Kys7ICRpc3REaWVuc3QgPSAkdHJ1ZSB9 +DQogICAgICAgICAgICAgICAgJ1MtJyB7ICRzdGF0cy5zcGFldCsrOyAkc3RhdHMuZ2VzYW10Kys7 +ICRpc3REaWVuc3QgPSAkdHJ1ZSB9DQogICAgICAgICAgICAgICAgJ04tJyB7ICRzdGF0cy5uYWNo +dCsrOyAkc3RhdHMuZ2VzYW10Kys7ICRpc3REaWVuc3QgPSAkdHJ1ZSB9DQogICAgICAgICAgICB9 +DQogICAgICAgICAgICBpZiAoLW5vdCAkaXN0RGllbnN0IC1hbmQgKCR3ZXJ0IC1lcSAnU0QnIC1v +ciAkd2VydCAtZXEgJ1NFJykpIHsNCiAgICAgICAgICAgICAgICAkc3RhdHMuc29uZGVyZGllbnN0 +Kys7ICRzdGF0cy5nZXNhbXQrKzsgJGlzdERpZW5zdCA9ICR0cnVlDQogICAgICAgICAgICB9DQog +ICAgICAgICAgICBpZiAoJHplaXRQcmVmaXggLWluIEAoJ0YtJywnUy0nLCdOLScpIC1hbmQgJHdl +cnQuTGVuZ3RoIC1nZSA1KSB7DQogICAgICAgICAgICAgICAgJHJvbGxlID0gJHdlcnQuU3Vic3Ry +aW5nKDIsMykNCiAgICAgICAgICAgICAgICBpZiAoJHJvbGxlIC1lcSAnREdMJykgeyAkc3RhdHMu +ZGdsKysgfQ0KICAgICAgICAgICAgICAgIGVsc2VpZiAoJHJvbGxlIC1lcSAnV0RGJykgeyAkc3Rh +dHMud2RmKysgfQ0KICAgICAgICAgICAgICAgIGVsc2VpZiAoJHJvbGxlIC1lcSAnRkJQJykgeyAk +c3RhdHMuZmJwKysgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKCR3ZXJ0IC1lcSAn +a3InKSB7DQogICAgICAgICAgICAgICAgJHN0YXRzLmtyYW5rKysNCiAgICAgICAgICAgICAgICAk +bGV0enRlcktyYW5rVGFnID0gJGRhdHVtDQogICAgICAgICAgICAgICAgaWYgKC1ub3QgJGtyYW5r +U3RhcnQpIHsgJGtyYW5rU3RhcnQgPSAkZGF0dW0gfQ0KICAgICAgICAgICAgfSBlbHNlIHsNCiAg +ICAgICAgICAgICAgICBpZiAoJGtyYW5rU3RhcnQpIHsNCiAgICAgICAgICAgICAgICAgICAgW3Zv +aWRdJHN0YXRzLmtyYW5rUGVyaW9kZW4uQWRkKFtvcmRlcmVkXUB7IHZvbiA9ICRrcmFua1N0YXJ0 +OyBiaXMgPSAkbGV0enRlcktyYW5rVGFnIH0pDQogICAgICAgICAgICAgICAgICAgICRrcmFua1N0 +YXJ0ID0gJG51bGwNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAg +ICBpZiAoJHdlcnQgLWVxICdLdXInKSB7ICRzdGF0cy5rdXIrKyB9DQogICAgICAgICAgICBpZiAo +JHdlcnQgLWVxICdVcmwnKSB7ICRzdGF0cy51cmxhdWIrKyB9DQogICAgICAgICAgICBpZiAoJHdl +cnQgLWVxICdTVScpICB7ICRzdGF0cy5zb25kZXJ1cmxhdWIrKyB9DQogICAgICAgICAgICBpZiAo +JHdlcnQgLWluIEAoJ0xHJywnVFQnLCdBdUYnLCdGQicsJ1NlbScsJ0VUTScsJ0RVJykpIHsgJHN0 +YXRzLmxlaHJnYW5nKysgfQ0KICAgICAgICAgICAgaWYgKCR3ZXJ0IC1pbiBAKCfCpzIxJywnMjFh +JywnQVpBJykpIHsgJHN0YXRzLmF6QXVzZ2xlaWNoKysgfQ0KICAgICAgICAgICAgaWYgKCR3ZXJ0 +IC1pbiBAKCdBdUYnLCdFVE0nLCdTZW0nLCdUVCcsJ1R6RicpKSB7ICRzdGF0cy5mb3J0YmlsZHVu +ZysrIH0NCiAgICAgICAgICAgIGlmICgkd2VydCAtZXEgJ0RVJykgICB7ICRzdGF0cy5kaWVuc3R1 +bnRlcnJpY2h0KysgfQ0KICAgICAgICAgICAgaWYgKCR3ZXJ0IC1lcSAnTEcnKSAgIHsgJHN0YXRz +LmxlaHJnYW5nTGFuZysrIH0NCiAgICAgICAgICAgIGlmICgkd2VydCAtaW4gQCgnwqcyMScsJzIx +YScpKSB7ICRzdGF0cy5wYXJhZ3JhcGgyMSsrIH0NCiAgICAgICAgICAgIGlmICgkd2VydCAtZXEg +J0FaQScpICB7ICRzdGF0cy5hekF1c2dsZWljaFJlaW4rKyB9DQogICAgICAgICAgICBpZiAoJHdl +cnQgLWVxICd3ZnInKSAgeyAkc3RhdHMud2FjaGZyZWkrKyB9DQogICAgICAgICAgICBpZiAoJHdl +cnQgLWVxICdkZnInKSAgeyAkc3RhdHMuZGllbnN0ZnJlaVRhZysrIH0NCiAgICAgICAgICAgIGlm +ICgkaXN0V0UgLWFuZCAkaXN0RGllbnN0KSAgICAgICB7ICRzdGF0cy53b2NoZW5lbmRUYWdlKysg +fQ0KICAgICAgICAgICAgaWYgKCRpc3RGZWllciAtYW5kICRpc3REaWVuc3QpICAgIHsgJHN0YXRz +LmZlaWVydGFnVGFnZSsrIH0NCiAgICAgICAgICAgIGlmICgkaXN0Vm9yRmVpZXIgLWFuZCAkaXN0 +RGllbnN0KSB7ICRzdGF0cy52b3JGZWllcnRhZ1RhZ2UrKyB9DQogICAgICAgICAgICBpZiAoJGlz +dERpZW5zdCkgew0KICAgICAgICAgICAgICAgIGlmICgkaXN0RmVpZXIpIHsNCiAgICAgICAgICAg +ICAgICAgICAgJHN0YXRzLmZlaWVydGFnRGllbnN0ZSsrDQogICAgICAgICAgICAgICAgfSBlbHNl +aWYgKCRkYXR1bU9iai5EYXlPZldlZWsgLWVxICdTYXR1cmRheScpIHsNCiAgICAgICAgICAgICAg +ICAgICAgJHN0YXRzLnNhbXN0YWdEaWVuc3RlKysNCiAgICAgICAgICAgICAgICB9IGVsc2VpZiAo +JGRhdHVtT2JqLkRheU9mV2VlayAtZXEgJ1N1bmRheScpIHsNCiAgICAgICAgICAgICAgICAgICAg +JHN0YXRzLnNvbm50YWdEaWVuc3RlKysNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9 +DQogICAgICAgICAgICBpZiAoKCRkYXR1bU9iai5EYXlPZldlZWsgLWVxICdTYXR1cmRheScgLW9y +ICRkYXR1bU9iai5EYXlPZldlZWsgLWVxICdTdW5kYXknKSAtYW5kIC1ub3QgJGlzdEZlaWVyIC1h +bmQgJHdlcnQgLWluIEAoJ1VybCcsJ2tyJywnS3VyJywnU1UnLCdMRycsJ0F1RicsJ0VUTScsJ1Nl +bScsJ1RUJywnVHpGJywnRFUnLCdCVicsJ2FiZycsJ0JBTycsJ0hPJykpIHsNCiAgICAgICAgICAg +ICAgICAkc3RhdHMud2VUYWdlQWJ3ZXNlbmQrKw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAg +aWYgKCRpc3REaWVuc3QgLWFuZCAoJGRhdHVtT2JqLkRheU9mV2VlayAtZXEgJ1NhdHVyZGF5JyAt +b3IgJGRhdHVtT2JqLkRheU9mV2VlayAtZXEgJ1N1bmRheScpKSB7DQogICAgICAgICAgICAgICAg +aWYgKCRkYXR1bU9iai5EYXlPZldlZWsgLWVxICdTYXR1cmRheScpIHsNCiAgICAgICAgICAgICAg +ICAgICAgJGFua2VyID0gJGRhdHVtDQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAg +ICAgICAgICAgICAgJGFua2VyID0gJGRhdHVtT2JqLkFkZERheXMoLTEpLlRvU3RyaW5nKCd5eXl5 +LU1NLWRkJykNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKC1ub3QgJHdl +RGllbnN0UHJvV29jaGUuQ29udGFpbnNLZXkoJGFua2VyKSkgew0KICAgICAgICAgICAgICAgICAg +ICAkd2VEaWVuc3RQcm9Xb2NoZVskYW5rZXJdID0gQHsgc2EgPSAkZmFsc2U7IHNvID0gJGZhbHNl +IH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKCRkYXR1bU9iai5EYXlP +ZldlZWsgLWVxICdTYXR1cmRheScpIHsNCiAgICAgICAgICAgICAgICAgICAgJHdlRGllbnN0UHJv +V29jaGVbJGFua2VyXS5zYSA9ICR0cnVlDQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAg +ICAgICAgICAgICAgICAgJHdlRGllbnN0UHJvV29jaGVbJGFua2VyXS5zbyA9ICR0cnVlDQogICAg +ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIGlmICgka3Jh +bmtTdGFydCkgew0KICAgICAgICAgICAgW3ZvaWRdJHN0YXRzLmtyYW5rUGVyaW9kZW4uQWRkKFtv +cmRlcmVkXUB7IHZvbiA9ICRrcmFua1N0YXJ0OyBiaXMgPSAkbGV0enRlcktyYW5rVGFnIH0pDQog +ICAgICAgIH0NCiAgICAgICAgZm9yZWFjaCAoJHcgaW4gJHdlRGllbnN0UHJvV29jaGUuVmFsdWVz +KSB7DQogICAgICAgICAgICBpZiAoJHcuc2EgLWFuZCAkdy5zbykgeyAkc3RhdHMua29tcGxldHRl +V0UrKyB9DQogICAgICAgIH0NCiAgICAgICAgJHN0YXRzLndlVGFnZVZlcmZ1ZWdiYXIgPSBbTWF0 +aF06Ok1heCgwLCAkc3RhdHMud2VUYWdlTWF4IC0gJHN0YXRzLndlVGFnZUFid2VzZW5kKQ0KICAg +ICAgICBbdm9pZF0kc3RhdGlzdGlrZW4uQWRkKCRzdGF0cykNCiAgICB9DQoNCiAgICAjID09PT09 +IEFnZ3JlZ2F0aW9uICJFaW5nZXNwcnVuZ2VuIiBhdXMgZGVtIExvZ2J1Y2ggPT09PT0NCiAgICAj +IFphZWhsdCB2ZXJhbnR3b3J0dW5nLmVpbmdlc3BydW5nZW4tRWludHJhZWdlIHBybyBQZXJzb24s +IGdydXBwaWVydCBuYWNoDQogICAgIyBTY2hpY2h0IChGL1MvTikuIFZlcmJpbmRsaWNoa2VpdHNm +ZW5zdGVyLUxvZ2lrIGxpZWd0IGltIENsaWVudCAoZGFzDQogICAgIyBFdmVudCB3aXJkIG9obmVo +aW4gbnVyIGluIGRlciBWZXJiaW5kbGljaGtlaXQgZW1pdHRpZXJ0KSDigJQgd2lyIHN1bW1pZXJl +bg0KICAgICMgaGllciBlaW5mYWNoIGFsbGUgZXhpc3RpZXJlbmRlbiBFaW50cmFlZ2UgaW0gQ3V0 +LVplaXRyYXVtLg0KICAgICRsb2didWNoID0gJG51bGwNCiAgICB0cnkgeyAkbG9nYnVjaCA9IFJl +YWQtSnNvbk9iamVjdCAnbG9nYnVjaC5qc29uJyB9IGNhdGNoIHsgJGxvZ2J1Y2ggPSAkbnVsbCB9 +DQogICAgaWYgKCRsb2didWNoKSB7DQogICAgICAgICRzdGF0c0J5UGlkID0gQHt9DQogICAgICAg +IGZvcmVhY2ggKCRzIGluICRzdGF0aXN0aWtlbikgeyAkc3RhdHNCeVBpZFtbc3RyaW5nXSRzLnBl +cnNvbklkXSA9ICRzIH0NCiAgICAgICAgZm9yZWFjaCAoJGVudHJ5IGluIEAoJGxvZ2J1Y2gpKSB7 +DQogICAgICAgICAgICBpZiAoLW5vdCAkZW50cnkpIHsgY29udGludWUgfQ0KICAgICAgICAgICAg +aWYgKC1ub3QgJGVudHJ5LlBTT2JqZWN0LlByb3BlcnRpZXNbJ2FrdGlvbiddKSB7IGNvbnRpbnVl +IH0NCiAgICAgICAgICAgIGlmIChbc3RyaW5nXSRlbnRyeS5ha3Rpb24gLW5lICd2ZXJhbnR3b3J0 +dW5nLmVpbmdlc3BydW5nZW4nKSB7IGNvbnRpbnVlIH0NCiAgICAgICAgICAgICRwaWRLZXkgPSAn +Jw0KICAgICAgICAgICAgaWYgKCRlbnRyeS5QU09iamVjdC5Qcm9wZXJ0aWVzWydwZXJzb25JZCdd +KSB7ICRwaWRLZXkgPSBbc3RyaW5nXSRlbnRyeS5wZXJzb25JZCB9DQogICAgICAgICAgICBpZiAo +LW5vdCAkc3RhdHNCeVBpZC5Db250YWluc0tleSgkcGlkS2V5KSkgeyBjb250aW51ZSB9DQogICAg +ICAgICAgICAjIEN1dC1aZWl0cmF1bTogbnVyIEV2ZW50cyBtaXQgRGF0dW0gaW0gQ3V0IHphZWhs +ZW4gKFZlcmJpbmRsaWNoa2VpdA0KICAgICAgICAgICAgIyBsaWVndCBoZXV0ZSArIDE0IFRhZ2Us +IGRhaGVyIHBhc3NlbiBkaWUgRWluZ2VzcHJpbmdlbi1FdmVudHMgbmFoZXp1DQogICAgICAgICAg +ICAjIGltbWVyIHJlaW4sIGFiZXIgVm9yYXVzLUtvcnJla3R1cmVuIGtvZW5udGVuIHdlaXRlciBk +cmF1c3NlbiBsaWVnZW4pLg0KICAgICAgICAgICAgJGRhdHVtID0gJycNCiAgICAgICAgICAgIGlm +ICgkZW50cnkuUFNPYmplY3QuUHJvcGVydGllc1snZGF0dW0nXSkgeyAkZGF0dW0gPSBbc3RyaW5n +XSRlbnRyeS5kYXR1bSB9DQogICAgICAgICAgICBpZiAoJGRhdHVtIC1hbmQgKCRkYXR1bSAtbHQg +JGN1dFN0YXJ0IC1vciAkZGF0dW0gLWd0ICRjdXRFbmRlKSkgeyBjb250aW51ZSB9DQogICAgICAg +ICAgICAkcyA9ICRzdGF0c0J5UGlkWyRwaWRLZXldDQogICAgICAgICAgICAkcy5laW5nZXNwcnVu +Z2VuKysNCiAgICAgICAgICAgICRzY2ggPSAnJw0KICAgICAgICAgICAgaWYgKCRlbnRyeS5QU09i +amVjdC5Qcm9wZXJ0aWVzWydzY2hpY2h0J10pIHsgJHNjaCA9IFtzdHJpbmddJGVudHJ5LnNjaGlj +aHQgfQ0KICAgICAgICAgICAgaWYgICAgICgkc2NoIC1lcSAnRicpIHsgJHMuZWluZ2VzcHJ1bmdl +bl9mKysgfQ0KICAgICAgICAgICAgZWxzZWlmICgkc2NoIC1lcSAnUycpIHsgJHMuZWluZ2VzcHJ1 +bmdlbl9zKysgfQ0KICAgICAgICAgICAgZWxzZWlmICgkc2NoIC1lcSAnTicpIHsgJHMuZWluZ2Vz +cHJ1bmdlbl9uKysgfQ0KICAgICAgICB9DQogICAgfQ0KDQogICAgcmV0dXJuICwkc3RhdGlzdGlr +ZW4NCn0NCg0KIyBMb2didWNoLVJlYWRlciAtLSBsaWVmZXJ0IGRlbiBVVEYtOC1UZXh0IGRlciBM +b2didWNoLURhdGVpIChvZGVyICdbXScgd2VubiBsZWVyKS4NCmZ1bmN0aW9uIEdldC1Mb2didWNo +VGV4dCB7DQogICAgJHR4dCA9IFJlYWQtVGV4dEZpbGUgJ2xvZ2J1Y2guanNvbicNCiAgICBpZiAo +JG51bGwgLWVxICR0eHQpIHsgcmV0dXJuICdbXScgfQ0KICAgIHJldHVybiAkdHh0DQp9DQoNCmZ1 +bmN0aW9uIFRlc3QtRGFyZlplbGxlRWRpdGllcmVuKCRaaWVsUGVyc29uKSB7DQogICAgJHIgPSBH +ZXQtUmVjaHRlDQogICAgaWYgKCRudWxsIC1lcSAkci5lZGl0aWVyZW4pIHsgcmV0dXJuICR0cnVl +IH0gICMgU3VwZXJVc2VyDQogICAgaWYgKCRudWxsIC1lcSAkWmllbFBlcnNvbikgeyByZXR1cm4g +JGZhbHNlIH0NCiAgICBpZiAoJG51bGwgLW5lICRyLm1laW5lUGVyc29uSWQgLWFuZCBbaW50XSRa +aWVsUGVyc29uLmlkIC1lcSBbaW50XSRyLm1laW5lUGVyc29uSWQpIHsgcmV0dXJuICR0cnVlIH0N +CiAgICAjIE1pa3JvdGVhbS1NaXRnbGllZGVyIGR1ZXJmZW4gZWluYW5kZXIgbWl0LXBsYW5lbiAo +VXNlci1XdW5zY2gNCiAgICAjIDIwMjYtMDUtMjMpLiBXaXIgbGVzZW4gTWlrcm90ZWFtLUxpc3Rl +IGF1cyBhZG1pbi5qc29uIGZyaXNjaCDigJQgZGVyDQogICAgIyBtdGltZS1iYXNpZXJ0ZSBDYWNo +ZSBpbiBHZXQtUmVjaHRlIGNhY2hlZCBkaWUgdm9sbGUgUmVjaHRlLVN0cnVrdHVyLA0KICAgICMg +YWJlciBtaWtyb3RlYW1zIHNpbmQgZG9ydCBuaWNodCBlbnRoYWx0ZW4sIGRhaGVyIGhpZXIgb24t +ZGVtYW5kLg0KICAgIGlmICgkbnVsbCAtbmUgJHIubWVpbmVQZXJzb25JZCkgew0KICAgICAgICB0 +cnkgew0KICAgICAgICAgICAgJGFkbWluID0gUmVhZC1Kc29uT2JqZWN0ICdhZG1pbi5qc29uJw0K +ICAgICAgICAgICAgaWYgKCRudWxsIC1uZSAkYWRtaW4gLWFuZCAkYWRtaW4uUFNPYmplY3QuUHJv +cGVydGllc1snbWlrcm90ZWFtcyddKSB7DQogICAgICAgICAgICAgICAgJG1laW5lSWQgPSBbaW50 +XSRyLm1laW5lUGVyc29uSWQNCiAgICAgICAgICAgICAgICAkemllbElkICA9IFtpbnRdJFppZWxQ +ZXJzb24uaWQNCiAgICAgICAgICAgICAgICBmb3JlYWNoICgkdCBpbiBAKCRhZG1pbi5taWtyb3Rl +YW1zKSkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoJG51bGwgLWVxICR0IC1vciAtbm90ICR0 +LlBTT2JqZWN0LlByb3BlcnRpZXNbJ3BlcnNvbklkcyddKSB7IGNvbnRpbnVlIH0NCiAgICAgICAg +ICAgICAgICAgICAgJGlkcyA9IEAoJHQucGVyc29uSWRzIHwgRm9yRWFjaC1PYmplY3QgeyBbaW50 +XSRfIH0pDQogICAgICAgICAgICAgICAgICAgIGlmICgkaWRzIC1jb250YWlucyAkbWVpbmVJZCAt +YW5kICRpZHMgLWNvbnRhaW5zICR6aWVsSWQpIHsgcmV0dXJuICR0cnVlIH0NCiAgICAgICAgICAg +ICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0gY2F0Y2gge30NCiAgICB9DQogICAgJGVk +ID0gJHIuZWRpdGllcmVuDQogICAgaWYgKCRlZC5wZXJzb25lbklkcyAtY29udGFpbnMgW2ludF0k +WmllbFBlcnNvbi5pZCkgeyByZXR1cm4gJHRydWUgfQ0KICAgIGlmICgkWmllbFBlcnNvbi5QU09i +amVjdC5Qcm9wZXJ0aWVzWydncnVwcGUnXSAtYW5kICRlZC5kaWVuc3RncnVwcGVuIC1jb250YWlu +cyBbc3RyaW5nXSRaaWVsUGVyc29uLmdydXBwZSkgeyByZXR1cm4gJHRydWUgfQ0KICAgIGlmICgk +WmllbFBlcnNvbi5QU09iamVjdC5Qcm9wZXJ0aWVzWydvZSddIC1hbmQgJGVkLnN0YW5kb3J0ZSAt +Y29udGFpbnMgW3N0cmluZ10kWmllbFBlcnNvbi5vZSkgeyByZXR1cm4gJHRydWUgfQ0KICAgIHJl +dHVybiAkZmFsc2UNCn0NCg0KIyBBbGlhcyBmdWVyIGJlc3RlaGVuZGUgR3VhcmRzIOKAlCBtYXBw +dCBhdWYgJ2FkbWluaXN0cmF0aW9uJy1CZXJlaWNoLg0KZnVuY3Rpb24gVGVzdC1Jc3RBZG1pbiB7 +IHJldHVybiAoVGVzdC1EYXJmQmVyZWljaCAnYWRtaW5pc3RyYXRpb24nKSB9DQoNCiMgRm9yY2Ut +TG9jay1CZXJlY2h0aWd1bmc6IEZhY2hhdWZzaWNodCBvZGVyIFN1cGVyVXNlciBkdWVyZmVuIGpl +ZGVuIEVkaXQtTG9jaw0KIyB1ZWJlcm5laG1lbi4gU2llaGUgUGhhc2UgRiAoTGl2ZS1TeW5jKS4N +CmZ1bmN0aW9uIFRlc3QtRGFyZkxvY2tVZWJlcnNjaHJlaWJlbiB7DQogICAgJHIgPSBHZXQtUmVj +aHRlDQogICAgaWYgKCRyLmlzdFN1cGVyVXNlcikgeyByZXR1cm4gJHRydWUgfQ0KICAgIGlmICgk +ci5pc3RGYWNoYXVmc2ljaHQpIHsgcmV0dXJuICR0cnVlIH0NCiAgICByZXR1cm4gJGZhbHNlDQp9 +DQoNCiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiMgWkVMTC1MT0NLICsgQ0hBTkdFLUxPRyAoTGl2 +ZS1TeW5jKQ0KIyBTdG9yYWdlOiBkYXRhLy5sb2Nrcy96ZWxsZV88ZGF0dW0+XzxwZXJzb25JZD4u +bG9jaw0KIyAgICAgICAgICBkYXRhL2NoYW5nZXMuanNvbiAoRklGTywgbWF4IDUwMCBFaW50cmFl +Z2UpDQojIFN0YWxlLUxvY2stVFRMOiA2MHMgb2huZSBIZWFydGJlYXQgLT4gYXV0b21hdGlzY2gg +ZW50ZmVybnQNCiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KJHNjcmlwdDpDZWxsTG9ja0RpciA9 +IEpvaW4tUGF0aCAkRGF0YURpciAnLmxvY2tzJw0KJHNjcmlwdDpDZWxsTG9ja1N0YWxlU2VjID0g +NjANCiRzY3JpcHQ6Q2hhbmdlTG9nTWF4ID0gNTAwDQoNCmZ1bmN0aW9uIEluaXRpYWxpemUtQ2Vs +bExvY2tEaXIgew0KICAgIGlmICgtbm90IChUZXN0LVBhdGggJHNjcmlwdDpDZWxsTG9ja0Rpcikp +IHsNCiAgICAgICAgdHJ5IHsgTmV3LUl0ZW0gLUl0ZW1UeXBlIERpcmVjdG9yeSAtUGF0aCAkc2Ny +aXB0OkNlbGxMb2NrRGlyIC1Gb3JjZSB8IE91dC1OdWxsIH0gY2F0Y2gge30NCiAgICB9DQp9DQoN +CmZ1bmN0aW9uIFRlc3QtTG9ja1NhZmVJZCgkV2VydCkgew0KICAgIGlmIChbc3RyaW5nXTo6SXNO +dWxsT3JXaGl0ZVNwYWNlKCRXZXJ0KSkgeyByZXR1cm4gJGZhbHNlIH0NCiAgICByZXR1cm4gKCRX +ZXJ0IC1tYXRjaCAnXltBLVphLXowLTlfXC1dKyQnKQ0KfQ0KDQpmdW5jdGlvbiBUZXN0LUxvY2tT +YWZlRGF0dW0oJFdlcnQpIHsNCiAgICByZXR1cm4gKCRXZXJ0IC1tYXRjaCAnXlxkezR9LVxkezJ9 +LVxkezJ9JCcpDQp9DQoNCmZ1bmN0aW9uIEdldC1DZWxsTG9ja1BhdGgoJERhdHVtLCAkUGVyc29u +SWQpIHsNCiAgICBJbml0aWFsaXplLUNlbGxMb2NrRGlyDQogICAgJFNhZmUgPSAiemVsbGVfJCgk +RGF0dW0pXyQoJFBlcnNvbklkKS5sb2NrIg0KICAgIHJldHVybiBKb2luLVBhdGggJHNjcmlwdDpD +ZWxsTG9ja0RpciAkU2FmZQ0KfQ0KDQpmdW5jdGlvbiBSZWFkLUNlbGxMb2NrKCREYXR1bSwgJFBl +cnNvbklkKSB7DQogICAgJFBhdGggPSBHZXQtQ2VsbExvY2tQYXRoICREYXR1bSAkUGVyc29uSWQN +CiAgICBpZiAoLW5vdCAoVGVzdC1QYXRoICRQYXRoKSkgeyByZXR1cm4gJG51bGwgfQ0KICAgIHRy +eSB7DQogICAgICAgICRDb250ZW50ID0gW1N5c3RlbS5JTy5GaWxlXTo6UmVhZEFsbFRleHQoJFBh +dGgsIFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVURjgpDQogICAgICAgIGlmIChbc3RyaW5nXTo6 +SXNOdWxsT3JXaGl0ZVNwYWNlKCRDb250ZW50KSkgeyByZXR1cm4gJG51bGwgfQ0KICAgICAgICAk +TG9jayA9ICRDb250ZW50IHwgQ29udmVydEZyb20tSnNvbg0KICAgICAgICAkTGFzdEJlYXQgPSBb +RGF0ZVRpbWVdOjpQYXJzZSgkTG9jay5sYXN0QmVhdCkuVG9Vbml2ZXJzYWxUaW1lKCkNCiAgICAg +ICAgJEFnZVNlYyA9ICgoR2V0LURhdGUpLlRvVW5pdmVyc2FsVGltZSgpIC0gJExhc3RCZWF0KS5U +b3RhbFNlY29uZHMNCiAgICAgICAgaWYgKCRBZ2VTZWMgLWd0ICRzY3JpcHQ6Q2VsbExvY2tTdGFs +ZVNlYykgew0KICAgICAgICAgICAgdHJ5IHsgUmVtb3ZlLUl0ZW0gJFBhdGggLUZvcmNlIC1FcnJv +ckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlIH0gY2F0Y2gge30NCiAgICAgICAgICAgIHJldHVybiAk +bnVsbA0KICAgICAgICB9DQogICAgICAgIHJldHVybiAkTG9jaw0KICAgIH0gY2F0Y2ggew0KICAg +ICAgICB0cnkgeyBSZW1vdmUtSXRlbSAkUGF0aCAtRm9yY2UgLUVycm9yQWN0aW9uIFNpbGVudGx5 +Q29udGludWUgfSBjYXRjaCB7fQ0KICAgICAgICByZXR1cm4gJG51bGwNCiAgICB9DQp9DQoNCmZ1 +bmN0aW9uIFdyaXRlLUNlbGxMb2NrKCRMb2NrKSB7DQogICAgJFBhdGggPSBHZXQtQ2VsbExvY2tQ +YXRoICRMb2NrLmRhdHVtICRMb2NrLnBlcnNvbklkDQogICAgJEpzb24gPSAkTG9jayB8IENvbnZl +cnRUby1Kc29uIC1EZXB0aCA1IC1Db21wcmVzcw0KICAgIFtTeXN0ZW0uSU8uRmlsZV06OldyaXRl +QWxsVGV4dCgkUGF0aCwgJEpzb24sIFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVURjgpDQp9DQoN +CmZ1bmN0aW9uIEFjcXVpcmUtQ2VsbExvY2soJERhdHVtLCAkUGVyc29uSWQsICRVc2VyLCAkUm9s +bGUsICRGb3JjZSA9ICRmYWxzZSkgew0KICAgICRFeGlzdGluZyA9IFJlYWQtQ2VsbExvY2sgJERh +dHVtICRQZXJzb25JZA0KICAgIGlmICgkbnVsbCAtbmUgJEV4aXN0aW5nKSB7DQogICAgICAgICRT +ZWxic3QgPSAoJEV4aXN0aW5nLnVzZXJuYW1lIC1pZXEgJFVzZXIpDQogICAgICAgIGlmICgtbm90 +ICRTZWxic3QgLWFuZCAtbm90ICRGb3JjZSkgew0KICAgICAgICAgICAgcmV0dXJuIEB7IG9rID0g +JGZhbHNlOyBleGlzdGluZyA9ICRFeGlzdGluZyB9DQogICAgICAgIH0NCiAgICB9DQogICAgJE5v +dyA9IChHZXQtRGF0ZSkuVG9Vbml2ZXJzYWxUaW1lKCkuVG9TdHJpbmcoJ28nKQ0KICAgICRMb2Nr +ID0gW29yZGVyZWRdQHsNCiAgICAgICAgdG9rZW4gICAgPSBbR3VpZF06Ok5ld0d1aWQoKS5Ub1N0 +cmluZygpDQogICAgICAgIGRhdHVtICAgID0gJERhdHVtDQogICAgICAgIHBlcnNvbklkID0gJFBl +cnNvbklkDQogICAgICAgIHVzZXJuYW1lID0gJFVzZXINCiAgICAgICAgcm9sbGUgICAgPSAkUm9s +bGUNCiAgICAgICAgbG9ja2VkQXQgPSAkTm93DQogICAgICAgIGxhc3RCZWF0ID0gJE5vdw0KICAg +IH0NCiAgICBXcml0ZS1DZWxsTG9jayAkTG9jaw0KICAgIGlmICgkbnVsbCAtbmUgJEV4aXN0aW5n +IC1hbmQgLW5vdCAoJEV4aXN0aW5nLnVzZXJuYW1lIC1pZXEgJFVzZXIpKSB7DQogICAgICAgIEFk +ZC1DaGFuZ2VMb2dFaW50cmFnICdsb2NrX2ZvcmNlJyBAew0KICAgICAgICAgICAgZGF0dW0gICAg +ICA9ICREYXR1bQ0KICAgICAgICAgICAgcGVyc29uSWQgICA9ICRQZXJzb25JZA0KICAgICAgICAg +ICAgdmVyZHJhZW5ndCA9ICRFeGlzdGluZy51c2VybmFtZQ0KICAgICAgICB9DQogICAgfQ0KICAg +IHJldHVybiBAeyBvayA9ICR0cnVlOyBsb2NrID0gJExvY2sgfQ0KfQ0KDQpmdW5jdGlvbiBGaW5k +LUNlbGxMb2NrQnlUb2tlbigkVG9rZW4pIHsNCiAgICBJbml0aWFsaXplLUNlbGxMb2NrRGlyDQog +ICAgaWYgKFtzdHJpbmddOjpJc051bGxPcldoaXRlU3BhY2UoJFRva2VuKSkgeyByZXR1cm4gJG51 +bGwgfQ0KICAgIGZvcmVhY2ggKCRGIGluIEdldC1DaGlsZEl0ZW0gLVBhdGggJHNjcmlwdDpDZWxs +TG9ja0RpciAtRmlsdGVyICd6ZWxsZV8qLmxvY2snIC1GaWxlIC1FcnJvckFjdGlvbiBTaWxlbnRs +eUNvbnRpbnVlKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICAkTCA9IFtTeXN0ZW0uSU8u +RmlsZV06OlJlYWRBbGxUZXh0KCRGLkZ1bGxOYW1lLCBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpV +VEY4KSB8IENvbnZlcnRGcm9tLUpzb24NCiAgICAgICAgICAgIGlmICgkTC50b2tlbiAtZXEgJFRv +a2VuKSB7IHJldHVybiBAeyBsb2NrID0gJEw7IHBhdGggPSAkRi5GdWxsTmFtZSB9IH0NCiAgICAg +ICAgfSBjYXRjaCB7fQ0KICAgIH0NCiAgICByZXR1cm4gJG51bGwNCn0NCg0KZnVuY3Rpb24gUmVm +cmVzaC1DZWxsTG9jaygkVG9rZW4pIHsNCiAgICAkRiA9IEZpbmQtQ2VsbExvY2tCeVRva2VuICRU +b2tlbg0KICAgIGlmICgkbnVsbCAtZXEgJEYpIHsgcmV0dXJuIEB7IG9rID0gJGZhbHNlIH0gfQ0K +ICAgICRMID0gJEYubG9jaw0KICAgICRMLmxhc3RCZWF0ID0gKEdldC1EYXRlKS5Ub1VuaXZlcnNh +bFRpbWUoKS5Ub1N0cmluZygnbycpDQogICAgV3JpdGUtQ2VsbExvY2sgJEwNCiAgICByZXR1cm4g +QHsgb2sgPSAkdHJ1ZTsgbG9jayA9ICRMIH0NCn0NCg0KZnVuY3Rpb24gUmVsZWFzZS1DZWxsTG9j +aygkVG9rZW4pIHsNCiAgICAkRiA9IEZpbmQtQ2VsbExvY2tCeVRva2VuICRUb2tlbg0KICAgIGlm +ICgkbnVsbCAtZXEgJEYpIHsgcmV0dXJuIEB7IG9rID0gJGZhbHNlIH0gfQ0KICAgIHRyeSB7IFJl +bW92ZS1JdGVtICRGLnBhdGggLUZvcmNlIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlIH0g +Y2F0Y2gge30NCiAgICByZXR1cm4gQHsgb2sgPSAkdHJ1ZTsgbG9jayA9ICRGLmxvY2sgfQ0KfQ0K +DQpmdW5jdGlvbiBHZXQtQWxsQWN0aXZlQ2VsbExvY2tzIHsNCiAgICBJbml0aWFsaXplLUNlbGxM +b2NrRGlyDQogICAgJFJlc3VsdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5 +TGlzdA0KICAgIGZvcmVhY2ggKCRGIGluIEdldC1DaGlsZEl0ZW0gLVBhdGggJHNjcmlwdDpDZWxs +TG9ja0RpciAtRmlsdGVyICd6ZWxsZV8qLmxvY2snIC1GaWxlIC1FcnJvckFjdGlvbiBTaWxlbnRs +eUNvbnRpbnVlKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICAkTCA9IFtTeXN0ZW0uSU8u +RmlsZV06OlJlYWRBbGxUZXh0KCRGLkZ1bGxOYW1lLCBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpV +VEY4KSB8IENvbnZlcnRGcm9tLUpzb24NCiAgICAgICAgICAgICRMYXN0QmVhdCA9IFtEYXRlVGlt +ZV06OlBhcnNlKCRMLmxhc3RCZWF0KS5Ub1VuaXZlcnNhbFRpbWUoKQ0KICAgICAgICAgICAgJEFn +ZVNlYyA9ICgoR2V0LURhdGUpLlRvVW5pdmVyc2FsVGltZSgpIC0gJExhc3RCZWF0KS5Ub3RhbFNl +Y29uZHMNCiAgICAgICAgICAgIGlmICgkQWdlU2VjIC1ndCAkc2NyaXB0OkNlbGxMb2NrU3RhbGVT +ZWMpIHsNCiAgICAgICAgICAgICAgICB0cnkgeyBSZW1vdmUtSXRlbSAkRi5GdWxsTmFtZSAtRm9y +Y2UgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUgfSBjYXRjaCB7fQ0KICAgICAgICAgICAg +ICAgIGNvbnRpbnVlDQogICAgICAgICAgICB9DQogICAgICAgICAgICBbdm9pZF0kUmVzdWx0LkFk +ZChbb3JkZXJlZF1Aew0KICAgICAgICAgICAgICAgIGRhdHVtICAgID0gJEwuZGF0dW0NCiAgICAg +ICAgICAgICAgICBwZXJzb25JZCA9ICRMLnBlcnNvbklkDQogICAgICAgICAgICAgICAgdXNlcm5h +bWUgPSAkTC51c2VybmFtZQ0KICAgICAgICAgICAgICAgIHJvbGxlICAgID0gJEwucm9sbGUNCiAg +ICAgICAgICAgICAgICBsb2NrZWRBdCA9ICRMLmxvY2tlZEF0DQogICAgICAgICAgICAgICAgbGFz +dEJlYXQgPSAkTC5sYXN0QmVhdA0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSBjYXRjaCB7fQ0K +ICAgIH0NCiAgICByZXR1cm4gLCRSZXN1bHQuVG9BcnJheSgpDQp9DQoNCiMgLS0tIENoYW5nZS1M +b2c6IGFwcGVuZC1vbmx5IExpc3RlIGRlciBsZXR6dGVuIEFlbmRlcnVuZ2VuLCBmdWVyIExpdmUt +U3luYyAtLS0NCiMgV0lDSFRJRzogUmVhZC1Nb2RpZnktV3JpdGUgaW5uZXJoYWxiIGVpbmVzIEZp +bGVMb2NrLCBzb25zdCBnZWhlbiBiZWkNCiMgY29uY3VycmVudCBTY2hyZWliZXJuICh6d2VpIFVz +ZXIgc3BlaWNoZXJuIGdsZWljaHplaXRpZykgRWludHJhZWdlDQojIHZlcmxvcmVuIOKAlCBsZXR6 +dGVyIFNjaHJlaWJlciBnZXdpbm50Lg0KIyBIb2VjaHN0ZSBzZXEgaW0gQ2hhbmdlLUxvZyAoRklG +Ty1zaWNoZXI6IGJsZWlidCBtb25vdG9uLCBhdWNoIHdlbm4gYWx0ZQ0KIyBFaW50cmFlZ2UgcmF1 +c2ZhbGxlbikuIFNwaWVnZWx0IF9tYXhfY2hhbmdlX3NlcSBpbiBkZXYvc2VydmVyLnB5Lg0KZnVu +Y3Rpb24gR2V0LU1heENoYW5nZVNlcSgkTG9nKSB7DQogICAgJG0gPSAwDQogICAgZm9yZWFjaCAo +JGUgaW4gQCgkTG9nKSkgew0KICAgICAgICBpZiAoJG51bGwgLWVxICRlKSB7IGNvbnRpbnVlIH0N +CiAgICAgICAgJHMgPSAkbnVsbA0KICAgICAgICBpZiAoJGUgLWlzIFtTeXN0ZW0uQ29sbGVjdGlv +bnMuSURpY3Rpb25hcnldKSB7ICRzID0gJGVbJ3NlcSddIH0NCiAgICAgICAgZWxzZWlmICgkZS5Q +U09iamVjdCAtYW5kICRlLlBTT2JqZWN0LlByb3BlcnRpZXNbJ3NlcSddKSB7ICRzID0gJGUuc2Vx +IH0NCiAgICAgICAgaWYgKCRudWxsIC1uZSAkcykgeyB0cnkgeyAkc3YgPSBbaW50XSRzOyBpZiAo +JHN2IC1ndCAkbSkgeyAkbSA9ICRzdiB9IH0gY2F0Y2gge30gfQ0KICAgIH0NCiAgICByZXR1cm4g +JG0NCn0NCg0KZnVuY3Rpb24gQWRkLUNoYW5nZUxvZ0VpbnRyYWcoJEtpbmQsICREZXRhaWxzKSB7 +DQogICAgJGVpbnRyYWcgPSBbb3JkZXJlZF1Aew0KICAgICAgICB0cyAgICA9IChHZXQtRGF0ZSku +VG9Vbml2ZXJzYWxUaW1lKCkuVG9TdHJpbmcoJ28nKQ0KICAgICAgICBraW5kICA9ICRLaW5kDQog +ICAgICAgIHZvbiAgID0gIiREb21haW5cJFVzZXJuYW1lIg0KICAgICAgICByb2xsZSA9IChHZXQt +UmVjaHRlKS5yb2xsZQ0KICAgIH0NCiAgICBpZiAoJERldGFpbHMpIHsNCiAgICAgICAgZm9yZWFj +aCAoJGsgaW4gJERldGFpbHMuS2V5cykgeyAkZWludHJhZ1ska10gPSAkRGV0YWlsc1ska10gfQ0K +ICAgIH0NCiAgICB0cnkgew0KICAgICAgICBJbnZva2UtV2l0aEZpbGVMb2NrICdjaGFuZ2VzLmpz +b24nIHsNCiAgICAgICAgICAgICRsb2cgPSBSZWFkLUpzb25PYmplY3QgJ2NoYW5nZXMuanNvbicN +CiAgICAgICAgICAgIGlmICgkbnVsbCAtZXEgJGxvZyAtb3IgLW5vdCAoJGxvZyAtaXMgW2FycmF5 +XSkpIHsgJGxvZyA9IEAoKSB9DQogICAgICAgICAgICAjIE1vbm90b25lIHNlcSBmdWVyIGRlbiBy +YWNlLWZyZWllbiBMaXZlLVN5bmMtQ3Vyc29yIChzdGF0dCBXYWxsLUNsb2NrKS4NCiAgICAgICAg +ICAgICRlaW50cmFnWydzZXEnXSA9IChHZXQtTWF4Q2hhbmdlU2VxICRsb2cpICsgMQ0KICAgICAg +ICAgICAgJG5ldSA9IEAoJGxvZykgKyBAKCRlaW50cmFnKQ0KICAgICAgICAgICAgaWYgKCRuZXUu +Q291bnQgLWd0ICRzY3JpcHQ6Q2hhbmdlTG9nTWF4KSB7DQogICAgICAgICAgICAgICAgJG5ldSA9 +ICRuZXVbKCRuZXUuQ291bnQgLSAkc2NyaXB0OkNoYW5nZUxvZ01heCkuLigkbmV1LkNvdW50IC0g +MSldDQogICAgICAgICAgICB9DQogICAgICAgICAgICBXcml0ZS1Kc29uT2JqZWN0ICdjaGFuZ2Vz +Lmpzb24nICRuZXUgfCBPdXQtTnVsbA0KICAgICAgICB9IHwgT3V0LU51bGwNCiAgICB9IGNhdGNo +IHsNCiAgICAgICAgTG9nLUFwaSAoJ0NIQU5HRVMgV1JJVEUgRkVITEVSOiB7MH0nIC1mICRfLkV4 +Y2VwdGlvbi5NZXNzYWdlKQ0KICAgIH0NCn0NCg0KIyBCYXRjaGVkLVZhcmlhbnRlIGZ1ZXIgQnVs +ay1FbmRwb2ludHMgKHouQi4gL2FwaS9wbGFudW5nL3plbGxlbi1idWxrOg0KIyBEcmFnLUZpbGwg +KyBMb2didWNoLVJlc3RvcmUpLiBTY2hyZWlidCBtZWhyZXJlIGNoYW5nZS1sb2ctRWludHJhZWdl +DQojIGluIEVJTkVNIEZpbGUtTG9jayArIEVJTkVNIFJlYWQvV3JpdGUgZGVyIGNoYW5nZXMuanNv +biDigJQgc29uc3Qgd3VlcmRlDQojIGVpbiAxNC1UYWdlLURyYWctRmlsbCAxNHggRmlsZS1Mb2Nr +ICsgMTR4IFJlYWQvV3JpdGUgZXJ6ZXVnZW4uDQojIERldGFpbHNMaXN0ZSA9IExpc3RlIHZvbiBI +YXNodGFibGVzLCBqZWRlIHRyYWVndCBkaWUgRGV0YWlsLUZlbGRlcg0KIyBmdWVyIGVpbmVuIGNo +YW5nZSAoJ2RhdHVtJywgJ3BlcnNvbklkJywgJ2FsdCcsICduZXUnLCAuLi4pLiBGb3JtYXQNCiMg +cHJvIEVpbnRyYWcgaXN0IGlkZW50aXNjaCB6dW0gU2luZ3VsYXItSGVscGVyIOKAlCBDbGllbnQt +VmVyYXJiZWl0dW5nDQojIChzeW5jLmpzIHN5bmNDaGFuZ2VzQW53ZW5kZW4pIHVudmVyYWVuZGVy +dC4NCmZ1bmN0aW9uIEFkZC1DaGFuZ2VMb2dFaW50cmFlZ2UoW3N0cmluZ10kS2luZCwgJERldGFp +bHNMaXN0ZSkgew0KICAgIGlmICgtbm90ICREZXRhaWxzTGlzdGUpIHsgcmV0dXJuIH0NCiAgICAk +bGlzdGVBcnIgPSBAKCREZXRhaWxzTGlzdGUpDQogICAgaWYgKCRsaXN0ZUFyci5Db3VudCAtZXEg +MCkgeyByZXR1cm4gfQ0KICAgICR0cyAgICA9IChHZXQtRGF0ZSkuVG9Vbml2ZXJzYWxUaW1lKCku +VG9TdHJpbmcoJ28nKQ0KICAgICR2b24gICA9ICIkRG9tYWluXCRVc2VybmFtZSINCiAgICAkcm9s +bGUgPSAoR2V0LVJlY2h0ZSkucm9sbGUNCiAgICAkZWludHJhZWdlID0gTmV3LU9iamVjdCBTeXN0 +ZW0uQ29sbGVjdGlvbnMuQXJyYXlMaXN0DQogICAgZm9yZWFjaCAoJGQgaW4gJGxpc3RlQXJyKSB7 +DQogICAgICAgICRlID0gW29yZGVyZWRdQHsgdHMgPSAkdHM7IGtpbmQgPSAkS2luZDsgdm9uID0g +JHZvbjsgcm9sbGUgPSAkcm9sbGUgfQ0KICAgICAgICBpZiAoJGQpIHsgZm9yZWFjaCAoJGsgaW4g +JGQuS2V5cykgeyAkZVska10gPSAkZFska10gfSB9DQogICAgICAgIFt2b2lkXSRlaW50cmFlZ2Uu +QWRkKCRlKQ0KICAgIH0NCiAgICB0cnkgew0KICAgICAgICBJbnZva2UtV2l0aEZpbGVMb2NrICdj +aGFuZ2VzLmpzb24nIHsNCiAgICAgICAgICAgICRsb2cgPSBSZWFkLUpzb25PYmplY3QgJ2NoYW5n +ZXMuanNvbicNCiAgICAgICAgICAgIGlmICgkbnVsbCAtZXEgJGxvZyAtb3IgLW5vdCAoJGxvZyAt +aXMgW2FycmF5XSkpIHsgJGxvZyA9IEAoKSB9DQogICAgICAgICAgICAkYmFzZSA9IEdldC1NYXhD +aGFuZ2VTZXEgJGxvZw0KICAgICAgICAgICAgJGkgPSAwDQogICAgICAgICAgICBmb3JlYWNoICgk +ZSBpbiAkZWludHJhZWdlKSB7ICRlWydzZXEnXSA9ICRiYXNlICsgMSArICRpOyAkaSsrIH0NCiAg +ICAgICAgICAgICRuZXUgPSBAKCRsb2cpICsgQCgkZWludHJhZWdlLlRvQXJyYXkoKSkNCiAgICAg +ICAgICAgIGlmICgkbmV1LkNvdW50IC1ndCAkc2NyaXB0OkNoYW5nZUxvZ01heCkgew0KICAgICAg +ICAgICAgICAgICRuZXUgPSAkbmV1WygkbmV1LkNvdW50IC0gJHNjcmlwdDpDaGFuZ2VMb2dNYXgp +Li4oJG5ldS5Db3VudCAtIDEpXQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgV3JpdGUtSnNv +bk9iamVjdCAnY2hhbmdlcy5qc29uJyAkbmV1IHwgT3V0LU51bGwNCiAgICAgICAgfSB8IE91dC1O +dWxsDQogICAgfSBjYXRjaCB7DQogICAgICAgIExvZy1BcGkgKCdDSEFOR0VTIFdSSVRFIEZFSExF +UjogezB9JyAtZiAkXy5FeGNlcHRpb24uTWVzc2FnZSkNCiAgICB9DQp9DQoNCmZ1bmN0aW9uIEdl +dC1DaGFuZ2VzU2luY2UoJFNlaXQpIHsNCiAgICAkbG9nID0gUmVhZC1Kc29uT2JqZWN0ICdjaGFu +Z2VzLmpzb24nDQogICAgaWYgKCRudWxsIC1lcSAkbG9nKSB7IHJldHVybiBAKCkgfQ0KICAgIGlm +IChbc3RyaW5nXTo6SXNOdWxsT3JXaGl0ZVNwYWNlKCRTZWl0KSkgeyByZXR1cm4gLEAoJGxvZykg +fQ0KICAgIHRyeSB7DQogICAgICAgICRzZWl0RHQgPSBbRGF0ZVRpbWVdOjpQYXJzZSgkU2VpdCku +VG9Vbml2ZXJzYWxUaW1lKCkNCiAgICAgICAgJHJlc3VsdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNv +bGxlY3Rpb25zLkFycmF5TGlzdA0KICAgICAgICBmb3JlYWNoICgkZSBpbiBAKCRsb2cpKSB7DQog +ICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgICRlRHQgPSBbRGF0ZVRpbWVdOjpQYXJz +ZShbc3RyaW5nXSRlLnRzKS5Ub1VuaXZlcnNhbFRpbWUoKQ0KICAgICAgICAgICAgICAgIGlmICgk +ZUR0IC1ndCAkc2VpdER0KSB7IFt2b2lkXSRyZXN1bHQuQWRkKCRlKSB9DQogICAgICAgICAgICB9 +IGNhdGNoIHt9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICwkcmVzdWx0LlRvQXJyYXkoKQ0K +ICAgIH0gY2F0Y2ggew0KICAgICAgICByZXR1cm4gLEAoJGxvZykNCiAgICB9DQp9DQoNCiMgLS0t +IEZ1ZWhydW5nc2tyYWZ0LVphZWhsdW5nIC8gVW50ZXJiZXNldHp1bmdzLVBydWVmdW5nIC0tLQ0K +DQpmdW5jdGlvbiBHZXQtRnVlaHJ1bmdzU2NoaWNodExldHRlcigkV2VydCkgew0KICAgICMgTnVy +IERHTCB6YWVobHQgYWxzIEZ1ZWhydW5nLiBXREYvRkJQIHNpbmQgUm9sbGVuIGltIERpZW5zdCwg +YWJlciBrZWluZQ0KICAgICMgRnVlaHJ1bmdza3JhZWZ0ZSBmdWVyIGRpZSBNaW5kZXN0YmVzZXR6 +dW5ncy1QcnVlZnVuZy4NCiAgICBpZiAoLW5vdCAkV2VydCAtb3IgJFdlcnQuTGVuZ3RoIC1sdCA1 +KSB7IHJldHVybiAkbnVsbCB9DQogICAgJHByZWZpeCA9ICRXZXJ0LlN1YnN0cmluZygwLCAxKQ0K +ICAgIGlmICgkcHJlZml4IC1uZSAnRicgLWFuZCAkcHJlZml4IC1uZSAnUycgLWFuZCAkcHJlZml4 +IC1uZSAnTicpIHsgcmV0dXJuICRudWxsIH0NCiAgICBpZiAoJFdlcnQuU3Vic3RyaW5nKDIsIDMp +IC1lcSAnREdMJykgeyByZXR1cm4gJHByZWZpeCB9DQogICAgcmV0dXJuICRudWxsDQp9DQoNCmZ1 +bmN0aW9uIEdldC1GdWVocnVuZ3NDb3VudCgkUGxhbnVuZywgJERhdHVtLCAkU2NoaWNodCkgew0K +ICAgIGlmICgkbnVsbCAtZXEgJFBsYW51bmcgLW9yICRudWxsIC1lcSAkUGxhbnVuZy5wZXJzb25l +bikgeyByZXR1cm4gMCB9DQogICAgJGVpbnRyYWVnZSA9ICRudWxsDQogICAgaWYgKCRQbGFudW5n +LlBTT2JqZWN0LlByb3BlcnRpZXNbJ2VpbnRyYWVnZSddIC1hbmQgJFBsYW51bmcuZWludHJhZWdl +LlBTT2JqZWN0LlByb3BlcnRpZXNbJERhdHVtXSkgew0KICAgICAgICAkZWludHJhZWdlID0gJFBs +YW51bmcuZWludHJhZWdlLiREYXR1bQ0KICAgIH0NCiAgICBpZiAoJG51bGwgLWVxICRlaW50cmFl +Z2UpIHsgcmV0dXJuIDAgfQ0KICAgICRjb3VudCA9IDANCiAgICBmb3JlYWNoICgkcCBpbiBAKCRQ +bGFudW5nLnBlcnNvbmVuKSkgew0KICAgICAgICBpZiAoJHAuUFNPYmplY3QuUHJvcGVydGllc1sn +YWt0aXYnXSAtYW5kIC1ub3QgJHAuYWt0aXYpIHsgY29udGludWUgfQ0KICAgICAgICAkaWQgPSBb +c3RyaW5nXSRwLmlkDQogICAgICAgIGlmICgtbm90ICRlaW50cmFlZ2UuUFNPYmplY3QuUHJvcGVy +dGllc1skaWRdKSB7IGNvbnRpbnVlIH0NCiAgICAgICAgJHcgPSBbc3RyaW5nXSRlaW50cmFlZ2Uu +JGlkDQogICAgICAgIGlmICgoR2V0LUZ1ZWhydW5nc1NjaGljaHRMZXR0ZXIgJHcpIC1lcSAkU2No +aWNodCkgeyAkY291bnQrKyB9DQogICAgfQ0KICAgIHJldHVybiAkY291bnQNCn0NCg0KZnVuY3Rp +b24gVGVzdC1JblZlcmJpbmRsaWNoa2VpdCgkRGF0dW1TdHIpIHsNCiAgICAjIFJlZ2VsOiBVbnRl +cmJlc2V0enVuZ3MtQ2hlY2sgZ3JlaWZ0IG51ciBmdWVyIFRhZ2UgaW5uZXJoYWxiIGRlciBuYWVj +aHN0ZW4NCiAgICAjIDE0IFRhZ2UgKGlua2wuIGhldXRlKS4gRGF2b3IvZGFuYWNoIGlzdCBkZXIg +UGxhbnVuZ3MtS29ycmlkb3IgdW52ZXJiaW5kbGljaC4NCiAgICB0cnkgew0KICAgICAgICAkemll +bCA9IFtkYXRldGltZV06OlBhcnNlRXhhY3QoJERhdHVtU3RyLCAneXl5eS1NTS1kZCcsICRudWxs +KS5EYXRlDQogICAgICAgICRoZXV0ZSA9IChHZXQtRGF0ZSkuRGF0ZQ0KICAgICAgICAkZGlmZiA9 +ICgkemllbCAtICRoZXV0ZSkuRGF5cw0KICAgICAgICByZXR1cm4gKCRkaWZmIC1nZSAwIC1hbmQg +JGRpZmYgLWxlIDE0KQ0KICAgIH0gY2F0Y2ggeyByZXR1cm4gJGZhbHNlIH0NCn0NCg0KIyBQcmUt +d2FybTogUmVhZC1Kc29uT2JqZWN0IHNjaG9uIGhpZXIgbGF1ZmVuIGxhc3NlbiwgZGFtaXQgZGVy +IHRldXJlDQojIEVyc3QtUGFyc2UgKENvbnZlcnRGcm9tLUpzb24gZnVlciBkaWUgMjAwLUtCLUpT +T05zKSB3YWVocmVuZCBkZXINCiMgU2VydmVyLVN0YXJ0LVBoYXNlIHBhc3NpZXJ0IOKAlCB1bmQg +bmljaHQgenVtIFplaXRwdW5rdCwgYW4gZGVtIGRlcg0KIyBFbmRhbndlbmRlciBpbSBCcm93c2Vy +IGF1ZiBkZW4gZXJzdGVuIC9hcGkvaW5mbyB3YXJ0ZXQuIFNwYXJ0IGF1Zg0KIyBCZWhvZXJkZW4t +UENzIHNwdWVyYmFyIFdhcnRlemVpdCBiZWltIExvZ2luLg0KdHJ5IHsgUmVhZC1Kc29uT2JqZWN0 +ICdhZG1pbi5qc29uJyAgIHwgT3V0LU51bGw7IExvZy1BcGkgJ1BSRVdBUk0gYWRtaW4uanNvbiBv +aycgfSBjYXRjaCB7IExvZy1BcGkgKCdQUkVXQVJNIGFkbWluLmpzb24gRkVITEVSOiB7MH0nIC1m +ICRfLkV4Y2VwdGlvbi5NZXNzYWdlKSB9DQp0cnkgeyBSZWFkLUpzb25PYmplY3QgJ3BsYW51bmcu +anNvbicgfCBPdXQtTnVsbDsgTG9nLUFwaSAnUFJFV0FSTSBwbGFudW5nLmpzb24gb2snIH0gY2F0 +Y2ggeyBMb2ctQXBpICgnUFJFV0FSTSBwbGFudW5nLmpzb24gRkVITEVSOiB7MH0nIC1mICRfLkV4 +Y2VwdGlvbi5NZXNzYWdlKSB9DQoNCiMgPT09IFVwZGF0ZS1DaGVjayA9PT0NCiRzY3JpcHQ6VXBk +YXRlQXZhaWxhYmxlICAgPSAkZmFsc2UNCiRzY3JpcHQ6UmVtb3RlVmVyc2lvbiAgICAgPSAnJw0K +JHNjcmlwdDpVcGRhdGVMYXN0Q2hlY2tVdGMgPSBbZGF0ZXRpbWVdOjpNaW5WYWx1ZQ0KDQpmdW5j +dGlvbiBSZWZyZXNoLVVwZGF0ZUNoZWNrIHsNCiAgICBpZiAoKFtkYXRldGltZV06OlV0Y05vdyAt +ICRzY3JpcHQ6VXBkYXRlTGFzdENoZWNrVXRjKS5Ub3RhbE1pbnV0ZXMgLWx0IDYwKSB7IHJldHVy +biB9DQogICAgJHNjcmlwdDpVcGRhdGVMYXN0Q2hlY2tVdGMgPSBbZGF0ZXRpbWVdOjpVdGNOb3cN +CiAgICAkbG9jYWxWZXIgPSAnMC4wLjAnDQogICAgJF92ZiA9IEpvaW4tUGF0aCAkUm9vdCAnVkVS +U0lPTicNCiAgICBpZiAoVGVzdC1QYXRoIC1MaXRlcmFsUGF0aCAkX3ZmKSB7ICRsb2NhbFZlciA9 +IChHZXQtQ29udGVudCAtTGl0ZXJhbFBhdGggJF92ZiAtUmF3KS5UcmltKCkgfQ0KICAgIHRyeSB7 +DQogICAgICAgICRydiA9IChJbnZva2UtV2ViUmVxdWVzdCAtVXJpICdodHRwczovL2dpdGVhLnJo +aW5vLm5ydy9SaGluby9TdGF0dXNRdW9fVXBkYXRlcy9yYXcvYnJhbmNoL21haW4vVkkzREdML1ZF +UlNJT04nIGANCiAgICAgICAgICAgICAgIC1Vc2VCYXNpY1BhcnNpbmcgLVRpbWVvdXRTZWMgMyAt +RXJyb3JBY3Rpb24gU3RvcCkuQ29udGVudC5UcmltKCkNCiAgICAgICAgJHNjcmlwdDpSZW1vdGVW +ZXJzaW9uICAgPSAkcnYNCiAgICAgICAgJHNjcmlwdDpVcGRhdGVBdmFpbGFibGUgPSAoW1N5c3Rl +bS5WZXJzaW9uXSRydiAtZ3QgW1N5c3RlbS5WZXJzaW9uXSRsb2NhbFZlcikNCiAgICAgICAgTG9n +LUFwaSAoIlVQREFURS1DSEVDSzogbG9rYWw9JGxvY2FsVmVyIHJlbW90ZT0kcnYgYXZhaWxhYmxl +PSQoJHNjcmlwdDpVcGRhdGVBdmFpbGFibGUpIikNCiAgICB9IGNhdGNoIHsNCiAgICAgICAgTG9n +LUFwaSAoIlVQREFURS1DSEVDSzogbmljaHQgZXJyZWljaGJhciAoJCgkXy5FeGNlcHRpb24uTWVz +c2FnZSkpIikNCiAgICB9DQp9DQpSZWZyZXNoLVVwZGF0ZUNoZWNrDQoNCiMgSW5pdGlhbC1TbmFw +c2hvdCBkZXIgT2ZmbGluZS1Xb2NoZW5wbGFuLmh0bWwgYmVpbSBTdGFydCByZWdlbmVyaWVyZW4N +CiMgKGF1Y2ggd2VubiBzZWl0IGRlbSBsZXR6dGVuIExhdWYgbmljaHRzIGdlYWVuZGVydCB3dXJk +ZSwgaGF0IHNpY2ggei5CLg0KIyBkYXMgRGF0dW0gdmVyc2Nob2JlbiB1bmQgZGVyIEhldXRlLU1h +cmtlciB6ZWlndCBzb25zdCBkaWUgYWx0ZSBXb2NoZSkuDQp0cnkgeyBHZW5lcmF0ZS1Xb2NoZW5w +bGFuU25hcHNob3QgfCBPdXQtTnVsbCB9IGNhdGNoIHsgTG9nLUFwaSAoJ1NOQVBTSE9UIChpbml0 +aWFsKSBGRUhMRVI6IHswfScgLWYgJF8uRXhjZXB0aW9uLk1lc3NhZ2UpIH0NCg0KIyAtLS0gU2Vy +dmVyIHN0YXJ0ZW4gLS0tDQokTGlzdGVuZXIgPSBOZXctT2JqZWN0IFN5c3RlbS5OZXQuSHR0cExp +c3RlbmVyDQokTGlzdGVuZXIuUHJlZml4ZXMuQWRkKCJodHRwOi8vbG9jYWxob3N0OiRQb3J0LyIp +DQp0cnkgew0KICAgICRMaXN0ZW5lci5TdGFydCgpDQp9IGNhdGNoIHsNCiAgICBXcml0ZS1Ib3N0 +ICgnRkVITEVSOiBMaXN0ZW5lciBhdWYgUG9ydCB7MH0ga2FubiBuaWNodCBzdGFydGVuLicgLWYg +JFBvcnQpIC1Gb3JlZ3JvdW5kQ29sb3IgUmVkDQogICAgV3JpdGUtSG9zdCAkXw0KICAgIExvZy1B +cGkgKCdMSVNURU5FUiBGRUhMRVI6IHswfScgLWYgJF8uRXhjZXB0aW9uLk1lc3NhZ2UpDQogICAg +U3RhcnQtU2xlZXAgLVNlY29uZHMgNQ0KICAgIGV4aXQgMQ0KfQ0KDQpXcml0ZS1Ib3N0ICgnVkkz +IERHTC1QbGFudW5nIGF1ZiBodHRwOi8vbG9jYWxob3N0OnswfScgLWYgJFBvcnQpDQpXcml0ZS1I +b3N0ICgnUm9vdDogICAgezB9JyAtZiAkUm9vdCkNCldyaXRlLUhvc3QgKCdEYXRhRGlyOiB7MH0n +IC1mICREYXRhRGlyKQ0KV3JpdGUtSG9zdCAoJ0xvZzogICAgIHswfScgLWYgJHNjcmlwdDpBcGlM +b2cpDQoNCiMgLS0tIEhlYXJ0YmVhdC1XYXRjaGRvZyAtLS0NCiRXYXRjaGRvZ1RpbWVyID0gTmV3 +LU9iamVjdCBTeXN0ZW0uVGltZXJzLlRpbWVyDQokV2F0Y2hkb2dUaW1lci5JbnRlcnZhbCA9IDUw +MDANCiRXYXRjaGRvZ1RpbWVyLkF1dG9SZXNldCA9ICR0cnVlDQpSZWdpc3Rlci1PYmplY3RFdmVu +dCAtSW5wdXRPYmplY3QgJFdhdGNoZG9nVGltZXIgLUV2ZW50TmFtZSBFbGFwc2VkIC1BY3Rpb24g +ew0KICAgICRlbGFwc2VkID0gKEdldC1EYXRlKSAtICRzY3JpcHQ6TGFzdEhlYXJ0YmVhdA0KICAg +IGlmICgkZWxhcHNlZC5Ub3RhbFNlY29uZHMgLWd0IDMwKSB7DQogICAgICAgIGlmICgtbm90ICRz +Y3JpcHQ6U2h1dGRvd25QZW5kaW5nKSB7DQogICAgICAgICAgICAkc2NyaXB0OlNodXRkb3duUGVu +ZGluZyA9ICR0cnVlDQogICAgICAgIH0gZWxzZWlmICgkZWxhcHNlZC5Ub3RhbFNlY29uZHMgLWd0 +IDM1KSB7DQogICAgICAgICAgICAkTGlzdGVuZXIuU3RvcCgpDQogICAgICAgICAgICBbRW52aXJv +bm1lbnRdOjpFeGl0KDApDQogICAgICAgIH0NCiAgICB9DQp9IHwgT3V0LU51bGwNCiRXYXRjaGRv +Z1RpbWVyLlN0YXJ0KCkNCg0KIyAtLS0gUmVxdWVzdC1Mb29wIC0tLQ0KdHJ5IHsNCiAgICB3aGls +ZSAoJExpc3RlbmVyLklzTGlzdGVuaW5nKSB7DQogICAgICAgICRBc3luY1Jlc3VsdCA9ICRMaXN0 +ZW5lci5CZWdpbkdldENvbnRleHQoJG51bGwsICRudWxsKQ0KICAgICAgICB3aGlsZSAoLW5vdCAk +QXN5bmNSZXN1bHQuQXN5bmNXYWl0SGFuZGxlLldhaXRPbmUoMTAwMCkpIHsgfQ0KICAgICAgICAk +Q29udGV4dCA9ICRMaXN0ZW5lci5FbmRHZXRDb250ZXh0KCRBc3luY1Jlc3VsdCkNCiAgICAgICAg +JFJlcXVlc3QgPSAkQ29udGV4dC5SZXF1ZXN0DQogICAgICAgICRSZXNwb25zZSA9ICRDb250ZXh0 +LlJlc3BvbnNlDQogICAgICAgICRNZXRob2QgPSAkUmVxdWVzdC5IdHRwTWV0aG9kDQogICAgICAg +ICRQYXRoID0gJFJlcXVlc3QuVXJsLkFic29sdXRlUGF0aA0KICAgICAgICBMb2ctQXBpICgnUkVR +IHswfSB7MX0nIC1mICRNZXRob2QsICRQYXRoKQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAg +ICAjID09PT09IENPUlMgUHJlZmxpZ2h0ID09PT09DQogICAgICAgICAgICBpZiAoJE1ldGhvZCAt +ZXEgJ09QVElPTlMnKSB7DQogICAgICAgICAgICAgICAgJFJlc3BvbnNlLlN0YXR1c0NvZGUgPSAy +MDQNCiAgICAgICAgICAgICAgICBBZGQtU2VjdXJpdHlIZWFkZXJzICRSZXNwb25zZQ0KICAgICAg +ICAgICAgICAgICRSZXNwb25zZS5PdXRwdXRTdHJlYW0uQ2xvc2UoKQ0KICAgICAgICAgICAgICAg +IGNvbnRpbnVlDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICMgPT09PT0gU1lTVEVNID09 +PT09DQogICAgICAgICAgICBpZiAoJFBhdGggLWVxICcvYXBpL2hlYXJ0YmVhdCcgLWFuZCAkTWV0 +aG9kIC1lcSAnUE9TVCcpIHsNCiAgICAgICAgICAgICAgICAjIE9yaWdpbi1DaGVjayAoU3ByaW50 +IDEg4oCUIFNpY2hlcmhlaXRzLU5vdGJyZW1zZSAyMDI2LTA1LTI4KToNCiAgICAgICAgICAgICAg +ICAjIEhlYXJ0YmVhdCBha3plcHRpZXJ0IG51ciBSZXF1ZXN0cyB2b24gZGVyIGVpZ2VuZW4gQXBw +LiBBbmRlcmUNCiAgICAgICAgICAgICAgICAjIGxva2FsZSBQcm96ZXNzZSBrb2VubnRlbiBzb25z +dCBwZXIgTG9vcCBkaWUgQXV0by1TaHV0ZG93bi1Mb2dpaw0KICAgICAgICAgICAgICAgICMgdW1n +ZWhlbiBvZGVyIGRlbiBTZXJ2ZXIgYmV3dXNzdCBhbSBMZWJlbiBoYWx0ZW4uIEJyb3dzZXIgc2Vu +ZGV0DQogICAgICAgICAgICAgICAgIyBPcmlnaW4gYXV0b21hdGlzY2g7IGZlaGxlbmRlciBIZWFk +ZXIgd2lyZCB0b2xlcmllcmVuIChzZW5kQmVhY29uDQogICAgICAgICAgICAgICAgIyBpbiBtYW5j +aGVuIEJyb3dzZXJuKSwgYWJlciBGQUxTQ0hFUiBPcmlnaW4gd2lyZCBhYmdlbGVobnQuDQogICAg +ICAgICAgICAgICAgJG9yaWdpbiA9ICRSZXF1ZXN0LkhlYWRlcnNbJ09yaWdpbiddDQogICAgICAg +ICAgICAgICAgaWYgKCRvcmlnaW4gLWFuZCAkb3JpZ2luIC1uZSAkc2NyaXB0OkNvcnNPcmlnaW4p +IHsNCiAgICAgICAgICAgICAgICAgICAgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ09yaWdpbiBuaWNo +dCBlcmxhdWJ0JyA0MDMNCiAgICAgICAgICAgICAgICAgICAgTG9nLUFwaSAoJ0hFQVJUQkVBVCA0 +MDMgT3JpZ2luPXswfScgLWYgJG9yaWdpbikNCiAgICAgICAgICAgICAgICAgICAgY29udGludWUN +CiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJHNjcmlwdDpMYXN0SGVhcnRiZWF0 +ID0gR2V0LURhdGUNCiAgICAgICAgICAgICAgICAkc2NyaXB0OlNodXRkb3duUGVuZGluZyA9ICRm +YWxzZQ0KICAgICAgICAgICAgICAgICMgYWRtaW5WZXJzaW9uIC8gcGxhbnVuZ1ZlcnNpb246IG10 +aW1lIGFscyBUaWNrcy4gRXJsYXVidCBkZW0NCiAgICAgICAgICAgICAgICAjIENsaWVudCwgUmVj +aHRlLSBiencuIFBlcnNvbmVuLUFlbmRlcnVuZ2VuIGltIEhpbnRlcmdydW5kIHp1DQogICAgICAg +ICAgICAgICAgIyBlcmtlbm5lbiB1bmQgWi5yZWNodGUvWi5wbGFudW5nIG5ldSB6dSBsYWRlbiwg +b2huZSBkYXNzIGRlcg0KICAgICAgICAgICAgICAgICMgVXNlciBGNSBkcnVlY2tlbiBtdXNzLiBw +bGFudW5nVmVyc2lvbiBkZWNrdCBpbnNiZXNvbmRlcmUNCiAgICAgICAgICAgICAgICAjIGVkaXRS +ZWNodGUvc2VoZW4tVXBkYXRlcyBhYiwgZGllIGRlciBMaXZlLVN5bmMtRGVsdGEgbmljaHQNCiAg +ICAgICAgICAgICAgICAjIGxpZWZlcnQgKENoZXJyeS1QaWNrIDFhZWZlMjYgQnVnICMzKS4NCiAg +ICAgICAgICAgICAgICAkYWRtaW5WZXIgICA9IDANCiAgICAgICAgICAgICAgICAkcGxhbnVuZ1Zl +ciA9IDANCiAgICAgICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgICAgICAkYWRtaW5G +aWxlID0gSm9pbi1QYXRoICREYXRhRGlyICdhZG1pbi5qc29uJw0KICAgICAgICAgICAgICAgICAg +ICBpZiAoVGVzdC1QYXRoIC1MaXRlcmFsUGF0aCAkYWRtaW5GaWxlKSB7DQogICAgICAgICAgICAg +ICAgICAgICAgICAkYWRtaW5WZXIgPSAoR2V0LUl0ZW0gLUxpdGVyYWxQYXRoICRhZG1pbkZpbGUp +Lkxhc3RXcml0ZVRpbWVVdGMuVGlja3MNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg +ICAgICAgICAgICAkcGxhbnVuZ0ZpbGUgPSBKb2luLVBhdGggJERhdGFEaXIgJ3BsYW51bmcuanNv +bicNCiAgICAgICAgICAgICAgICAgICAgaWYgKFRlc3QtUGF0aCAtTGl0ZXJhbFBhdGggJHBsYW51 +bmdGaWxlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkcGxhbnVuZ1ZlciA9IChHZXQtSXRl +bSAtTGl0ZXJhbFBhdGggJHBsYW51bmdGaWxlKS5MYXN0V3JpdGVUaW1lVXRjLlRpY2tzDQogICAg +ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9IGNhdGNoIHt9DQogICAgICAgICAg +ICAgICAgU2VuZC1Kc29uT2JqZWN0ICRSZXNwb25zZSBAeyBzdGF0dXMgPSAnb2snOyBhZG1pblZl +cnNpb24gPSAkYWRtaW5WZXI7IHBsYW51bmdWZXJzaW9uID0gJHBsYW51bmdWZXIgfQ0KICAgICAg +ICAgICAgICAgIGNvbnRpbnVlDQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoJFBhdGgg +LWVxICcvYXBpL3NodXRkb3duJyAtYW5kICRNZXRob2QgLWVxICdQT1NUJykgew0KICAgICAgICAg +ICAgICAgIFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2UgQHsgc3RhdHVzID0gJ3NodXRkb3duJyB9 +DQogICAgICAgICAgICAgICAgU3RhcnQtU2xlZXAgLU1pbGxpc2Vjb25kcyAzMDANCiAgICAgICAg +ICAgICAgICAkTGlzdGVuZXIuU3RvcCgpDQogICAgICAgICAgICAgICAgW0Vudmlyb25tZW50XTo6 +RXhpdCgwKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKCRQYXRoIC1lcSAnL2FwaS9p +bmZvJyAtYW5kICRNZXRob2QgLWVxICdHRVQnKSB7DQogICAgICAgICAgICAgICAgUmVmcmVzaC1V +cGRhdGVDaGVjaw0KICAgICAgICAgICAgICAgICRyID0gR2V0LVJlY2h0ZQ0KICAgICAgICAgICAg +ICAgICRpbmZvT2JqID0gQHsNCiAgICAgICAgICAgICAgICAgICAgYmVudXR6ZXIgICAgICAgICAg +ICAgICAgPSAiJERvbWFpblwkVXNlcm5hbWUiDQogICAgICAgICAgICAgICAgICAgIHJvbGxlICAg +ICAgICAgICAgICAgICAgID0gJHIucm9sbGUNCiAgICAgICAgICAgICAgICAgICAgaXN0U3VwZXJV +c2VyICAgICAgICAgICAgPSAkci5pc3RTdXBlclVzZXINCiAgICAgICAgICAgICAgICAgICAgaXN0 +RmFjaGF1ZnNpY2h0ICAgICAgICAgPSAkci5pc3RGYWNoYXVmc2ljaHQNCiAgICAgICAgICAgICAg +ICAgICAgaXN0R2VzYW10dmVyYW50d29ydGxpY2ggPSAkci5pc3RHZXNhbXR2ZXJhbnR3b3J0bGlj +aA0KICAgICAgICAgICAgICAgICAgICBzZWhlbiAgICAgICAgICAgICAgICAgICA9ICRyLnNlaGVu +DQogICAgICAgICAgICAgICAgICAgIGFkbWluU3VidGFicyAgICAgICAgICAgID0gJHIuYWRtaW5T +dWJ0YWJzDQogICAgICAgICAgICAgICAgICAgIHN0YXRpc3Rpa0JlcmVpY2hlICAgICAgID0gJHIu +c3RhdGlzdGlrQmVyZWljaGUNCiAgICAgICAgICAgICAgICAgICAgZWRpdGllcmVuICAgICAgICAg +ICAgICAgPSAkci5lZGl0aWVyZW4gICAjIG51bGwgYmVpIFN1cGVyVXNlciA9ICJhbGxlcyBlcmxh +dWJ0Ig0KICAgICAgICAgICAgICAgICAgICBtZWluZVBlcnNvbklkICAgICAgICAgICA9ICRyLm1l +aW5lUGVyc29uSWQNCiAgICAgICAgICAgICAgICAgICAgc2VydmVyICAgICAgICAgICAgICAgICAg +PSAkc2NyaXB0OkNvcnNPcmlnaW4NCiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQXZhaWxhYmxl +ICAgICAgICAgPSAkc2NyaXB0OlVwZGF0ZUF2YWlsYWJsZQ0KICAgICAgICAgICAgICAgICAgICBy +ZW1vdGVWZXJzaW9uICAgICAgICAgICA9ICRzY3JpcHQ6UmVtb3RlVmVyc2lvbg0KICAgICAgICAg +ICAgICAgIH0NCiAgICAgICAgICAgICAgICBTZW5kLUpzb25PYmplY3QgJFJlc3BvbnNlICRpbmZv +T2JqDQogICAgICAgICAgICAgICAgY29udGludWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAg +IGlmICgkUGF0aCAtZXEgJy9hcGkvZGVidWcnIC1hbmQgJE1ldGhvZCAtZXEgJ0dFVCcpIHsNCiAg +ICAgICAgICAgICAgICAkZGF0ID0gQHsgUm9vdCA9ICRSb290OyBEYXRhRGlyID0gJERhdGFEaXI7 +IEZpbGVzID0gQHt9IH0NCiAgICAgICAgICAgICAgICBmb3JlYWNoICgkZiBpbiAnYWRtaW4uanNv +bicsJ3BsYW51bmcuanNvbicsJ2xvZ2J1Y2guanNvbicpIHsNCiAgICAgICAgICAgICAgICAgICAg +JGZwID0gSm9pbi1QYXRoICREYXRhRGlyICRmDQogICAgICAgICAgICAgICAgICAgICRpbmZvID0g +QHsgZXhpc3RzID0gKFRlc3QtUGF0aCAtTGl0ZXJhbFBhdGggJGZwKSB9DQogICAgICAgICAgICAg +ICAgICAgIGlmICgkaW5mby5leGlzdHMpIHsgJGluZm8uc2l6ZSA9IChHZXQtSXRlbSAtTGl0ZXJh +bFBhdGggJGZwKS5MZW5ndGggfQ0KICAgICAgICAgICAgICAgICAgICAkZGF0LkZpbGVzWyRmXSA9 +ICRpbmZvDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICMgUmVjaHRlLUluZm8g +KHdpY2h0aWcgZnVlciBBZG1pbi1UYWItU2ljaHRiYXJrZWl0KQ0KICAgICAgICAgICAgICAgICRk +YXQuQmVudXR6ZXIgPSAiJERvbWFpblwkVXNlcm5hbWUiDQogICAgICAgICAgICAgICAgdHJ5IHsN +CiAgICAgICAgICAgICAgICAgICAgJHIgPSBHZXQtUmVjaHRlDQogICAgICAgICAgICAgICAgICAg +ICRkYXQuUmVjaHRlID0gQHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGxlICAgICAgICAg +ICA9ICRyLnJvbGxlDQogICAgICAgICAgICAgICAgICAgICAgICBpc3RTdXBlclVzZXIgICAgPSAk +ci5pc3RTdXBlclVzZXINCiAgICAgICAgICAgICAgICAgICAgICAgIGlzdEZhY2hhdWZzaWNodCA9 +ICRyLmlzdEZhY2hhdWZzaWNodA0KICAgICAgICAgICAgICAgICAgICAgICAgc2VoZW4gICAgICAg +ICAgID0gJHIuc2VoZW4NCiAgICAgICAgICAgICAgICAgICAgICAgIG1laW5lUGVyc29uSWQgICA9 +ICRyLm1laW5lUGVyc29uSWQNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg +IH0gY2F0Y2ggew0KICAgICAgICAgICAgICAgICAgICAkZGF0LlJlY2h0ZSA9IEB7IGZlaGxlciA9 +ICRfLkV4Y2VwdGlvbi5NZXNzYWdlIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg +ICAgIyBBZG1pbi5qc29uIEt1cnpjaGVjaw0KICAgICAgICAgICAgICAgICRhZG1pbk9iaiA9IFJl +YWQtSnNvbk9iamVjdCAnYWRtaW4uanNvbicNCiAgICAgICAgICAgICAgICBpZiAoJG51bGwgLWVx +ICRhZG1pbk9iaikgew0KICAgICAgICAgICAgICAgICAgICAkZGF0LkFkbWluSnNvbkxlc2JhciA9 +ICRmYWxzZQ0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICRh +bnpTVSA9IDANCiAgICAgICAgICAgICAgICAgICAgaWYgKCRhZG1pbk9iai5zdXBlclVzZXIpIHsg +JGFuelNVID0gQCgkYWRtaW5PYmouc3VwZXJVc2VyKS5Db3VudCB9DQogICAgICAgICAgICAgICAg +ICAgICRzdUtlbm51bmdlbiA9IEAoKQ0KICAgICAgICAgICAgICAgICAgICBpZiAoJGFkbWluT2Jq +LnN1cGVyVXNlcikgew0KICAgICAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJHMgaW4gQCgk +YWRtaW5PYmouc3VwZXJVc2VyKSkgeyAkc3VLZW5udW5nZW4gKz0gW3N0cmluZ10kcy5ud0tlbm51 +bmcgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICRkYXQuQWRt +aW5Kc29uTGVzYmFyID0gJHRydWUNCiAgICAgICAgICAgICAgICAgICAgJGRhdC5TdXBlclVzZXJB +bnphaGwgPSAkYW56U1UNCiAgICAgICAgICAgICAgICAgICAgJGRhdC5TdXBlclVzZXJLZW5udW5n +ZW4gPSAkc3VLZW5udW5nZW4NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgU2Vu +ZC1Kc29uT2JqZWN0ICRSZXNwb25zZSAkZGF0DQogICAgICAgICAgICAgICAgY29udGludWUNCiAg +ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgIyA9PT09PSBTWU5DLUNIRUNLID09PT09DQogICAg +ICAgICAgICAjIFZlcmdsZWljaHQgcHJvIFdlYi1Bc3NldCBkaWUgRGF0ZWktR3JvZXNzZSBpbiBk +ZXIgU291cmNlIChnZXB1bGx0ZXMNCiAgICAgICAgICAgICMgUmVwbywgJHNjcmlwdDpBc3NldEZh +bGxiYWNrKSBnZWdlbiBkaWUgRGF0ZWktR3JvZXNzZSBpbSBBc3NldC1DYWNoZQ0KICAgICAgICAg +ICAgIyAoJFJvb3QsIFJvYm9jb3B5LVppZWwpLiBFcmtlbm50IHVudm9sbHN0YWVuZGlnZSBSb2Jv +Y29weS1VZWJlci0NCiAgICAgICAgICAgICMgdHJhZ3VuZ2VuLCB2ZXJhbHRldGUgQXNzZXQtQ2Fj +aGVzIHVuZCBmZWhsZW5kZSBEYXRlaWVuLg0KICAgICAgICAgICAgaWYgKCRQYXRoIC1lcSAnL2Fw +aS9zeW5jLWNoZWNrL2RhdGVpZW4nIC1hbmQgJE1ldGhvZCAtZXEgJ0dFVCcpIHsNCiAgICAgICAg +ICAgICAgICBpZiAoLW5vdCAoVGVzdC1Jc3RBZG1pbikpIHsgU2VuZC1FcnJvciAkUmVzcG9uc2Ug +J0tlaW5lIEFkbWluLVJlY2h0ZScgNDAzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgaWYg +KC1ub3QgJHNjcmlwdDpBc3NldEZhbGxiYWNrKSB7DQogICAgICAgICAgICAgICAgICAgIFNlbmQt +SnNvbk9iamVjdCAkUmVzcG9uc2UgQHsNCiAgICAgICAgICAgICAgICAgICAgICAgIG9rID0gJGZh +bHNlDQogICAgICAgICAgICAgICAgICAgICAgICBmZWhsZXIgPSAnQXNzZXRGYWxsYmFjayBuaWNo +dCBrb25maWd1cmllcnQg4oCUIFNvdXJjZS1QZmFkIHVuYmVrYW5udCwgVmVyZ2xlaWNoIG5pY2h0 +IG1vZWdsaWNoLiAoU2VydmVyIHd1cmRlIG9obmUgLUFzc2V0RmFsbGJhY2sgZ2VzdGFydGV0Likn +DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgY29udGludWUNCiAg +ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJHdlYkV4dCA9ICcuanMnLCcuY3NzJywn +Lmh0bWwnLCcuaWNvJywnLnBuZycsJy5qcGcnLCcuanBlZycsJy5zdmcnDQogICAgICAgICAgICAg +ICAgJGlnbm9yaWVyZVRvcCA9IEAoJy5naXQnLCdkb2NzJywnZGV2JywndGVzdHMnLCdkYXRhJywn +Y2FjaGUnKQ0KICAgICAgICAgICAgICAgICRkYXRlaWVuID0gQCgpDQogICAgICAgICAgICAgICAg +dHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgJGFsbGUgPSBHZXQtQ2hpbGRJdGVtIC1MaXRlcmFs +UGF0aCAkc2NyaXB0OkFzc2V0RmFsbGJhY2sgLVJlY3Vyc2UgLUZpbGUgLUVycm9yQWN0aW9uIFNp +bGVudGx5Q29udGludWUNCiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJGYgaW4gJGFsbGUp +IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRyZWwgPSAkZi5GdWxsTmFtZS5TdWJzdHJpbmco +JHNjcmlwdDpBc3NldEZhbGxiYWNrLkxlbmd0aCArIDEpIC1yZXBsYWNlICdcXCcsICcvJw0KICAg +ICAgICAgICAgICAgICAgICAgICAgJHRvcCA9ICgkcmVsIC1zcGxpdCAnLycpWzBdDQogICAgICAg +ICAgICAgICAgICAgICAgICBpZiAoJGlnbm9yaWVyZVRvcCAtY29udGFpbnMgJHRvcCkgeyBjb250 +aW51ZSB9DQogICAgICAgICAgICAgICAgICAgICAgICAkZXh0ID0gJGYuRXh0ZW5zaW9uLlRvTG93 +ZXIoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR3ZWJFeHQgLW5vdGNvbnRhaW5zICRl +eHQpIHsgY29udGludWUgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgJGRhdGVpZW4gKz0gJHJl +bA0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICMgZGF0YS8tU29u +ZGVyZmFlbGxlOiBudXIgZGllIHp3ZWkgVGFybi1NYXJrdXBzLCBhbGxlcyBhbmRlcmUNCiAgICAg +ICAgICAgICAgICAgICAgIyBsaWVndCBpbSBEYXRhRGlyIChhZG1pbi5qc29uL3BsYW51bmcuanNv +bi8uLi4pIHVuZCB3aXJkIG5pY2h0DQogICAgICAgICAgICAgICAgICAgICMgaW4gZGVuIEFzc2V0 +LUNhY2hlIGtvcGllcnQuDQogICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRleHRyYSBpbiAn +ZGF0YS9tYWluZnJhbWUuaHRtbCcsJ2RhdGEvc2FuaXRpemVyLmh0bWwnKSB7DQogICAgICAgICAg +ICAgICAgICAgICAgICAkc3JjRXh0cmEgPSBKb2luLVBhdGggJHNjcmlwdDpBc3NldEZhbGxiYWNr +ICRleHRyYQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFRlc3QtUGF0aCAtTGl0ZXJhbFBh +dGggJHNyY0V4dHJhKSB7ICRkYXRlaWVuICs9ICRleHRyYSB9DQogICAgICAgICAgICAgICAgICAg +IH0NCiAgICAgICAgICAgICAgICB9IGNhdGNoIHsNCiAgICAgICAgICAgICAgICAgICAgU2VuZC1K +c29uT2JqZWN0ICRSZXNwb25zZSBAeyBvayA9ICRmYWxzZTsgZmVobGVyID0gKCdTb3VyY2UtVmVy +emVpY2huaXMgbmljaHQgbGVzYmFyOiAnICsgJF8uRXhjZXB0aW9uLk1lc3NhZ2UpIH0NCiAgICAg +ICAgICAgICAgICAgICAgY29udGludWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg +ICAgJGRhdGVpZW4gPSAkZGF0ZWllbiB8IFNvcnQtT2JqZWN0IC1VbmlxdWUNCiAgICAgICAgICAg +ICAgICAkZWludHJhZWdlID0gQCgpDQogICAgICAgICAgICAgICAgJGFuek9rID0gMDsgJGFuekRp +ZmYgPSAwOyAkYW56RmVobHRBc3NldCA9IDA7ICRhbnpGZWhsdFNvdXJjZSA9IDANCiAgICAgICAg +ICAgICAgICBmb3JlYWNoICgkcmVsIGluICRkYXRlaWVuKSB7DQogICAgICAgICAgICAgICAgICAg +ICRhc3NldFBmYWQgID0gSm9pbi1QYXRoICRSb290ICRyZWwNCiAgICAgICAgICAgICAgICAgICAg +JHNvdXJjZVBmYWQgPSBKb2luLVBhdGggJHNjcmlwdDpBc3NldEZhbGxiYWNrICRyZWwNCiAgICAg +ICAgICAgICAgICAgICAgJGFzc2V0Qnl0ZXMgID0gJG51bGwNCiAgICAgICAgICAgICAgICAgICAg +JHNvdXJjZUJ5dGVzID0gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgaWYgKFRlc3QtUGF0aCAt +TGl0ZXJhbFBhdGggJGFzc2V0UGZhZCkgIHsgJGFzc2V0Qnl0ZXMgID0gKEdldC1JdGVtIC1MaXRl +cmFsUGF0aCAkYXNzZXRQZmFkKS5MZW5ndGggfQ0KICAgICAgICAgICAgICAgICAgICBpZiAoVGVz +dC1QYXRoIC1MaXRlcmFsUGF0aCAkc291cmNlUGZhZCkgeyAkc291cmNlQnl0ZXMgPSAoR2V0LUl0 +ZW0gLUxpdGVyYWxQYXRoICRzb3VyY2VQZmFkKS5MZW5ndGggfQ0KICAgICAgICAgICAgICAgICAg +ICAkc3RhdHVzID0gJ3VuYmVrYW5udCcNCiAgICAgICAgICAgICAgICAgICAgaWYgKCRudWxsIC1l +cSAkc291cmNlQnl0ZXMgLWFuZCAkbnVsbCAtZXEgJGFzc2V0Qnl0ZXMpIHsgJHN0YXR1cyA9ICdi +ZWlkZV9mZWhsZW4nIH0NCiAgICAgICAgICAgICAgICAgICAgZWxzZWlmICgkbnVsbCAtZXEgJGFz +c2V0Qnl0ZXMpICB7ICRzdGF0dXMgPSAnYXNzZXRfZmVobHQnOyAgJGFuekZlaGx0QXNzZXQrKyB9 +DQogICAgICAgICAgICAgICAgICAgIGVsc2VpZiAoJG51bGwgLWVxICRzb3VyY2VCeXRlcykgeyAk +c3RhdHVzID0gJ3NvdXJjZV9mZWhsdCc7ICRhbnpGZWhsdFNvdXJjZSsrIH0NCiAgICAgICAgICAg +ICAgICAgICAgZWxzZWlmICgkYXNzZXRCeXRlcyAtZXEgJHNvdXJjZUJ5dGVzKSB7ICRzdGF0dXMg +PSAnb2snOyAkYW56T2srKyB9DQogICAgICAgICAgICAgICAgICAgIGVsc2UgeyAkc3RhdHVzID0g +J2dyb2Vzc2VfZGlmZic7ICRhbnpEaWZmKysgfQ0KICAgICAgICAgICAgICAgICAgICAkZWludHJh +ZWdlICs9IFtvcmRlcmVkXUB7DQogICAgICAgICAgICAgICAgICAgICAgICBwZmFkICAgICAgICA9 +ICRyZWwNCiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUJ5dGVzID0gJHNvdXJjZUJ5dGVz +DQogICAgICAgICAgICAgICAgICAgICAgICBhc3NldEJ5dGVzICA9ICRhc3NldEJ5dGVzDQogICAg +ICAgICAgICAgICAgICAgICAgICBkaWZmQnl0ZXMgICA9IGlmICgkbnVsbCAtbmUgJHNvdXJjZUJ5 +dGVzIC1hbmQgJG51bGwgLW5lICRhc3NldEJ5dGVzKSB7ICRhc3NldEJ5dGVzIC0gJHNvdXJjZUJ5 +dGVzIH0gZWxzZSB7ICRudWxsIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cyAgICAg +ID0gJHN0YXR1cw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAg +ICAgICAgICAgICAgIFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2UgQHsNCiAgICAgICAgICAgICAg +ICAgICAgb2sgICAgICAgICAgPSAkdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICBzb3VyY2VSb290 +ICA9ICRzY3JpcHQ6QXNzZXRGYWxsYmFjaw0KICAgICAgICAgICAgICAgICAgICBhc3NldFJvb3Qg +ICA9ICRSb290DQogICAgICAgICAgICAgICAgICAgIGFuemFobCAgICAgID0gJGVpbnRyYWVnZS5D +b3VudA0KICAgICAgICAgICAgICAgICAgICBhbnpPayAgICAgICA9ICRhbnpPaw0KICAgICAgICAg +ICAgICAgICAgICBhbnpEaWZmICAgICA9ICRhbnpEaWZmDQogICAgICAgICAgICAgICAgICAgIGFu +ekZlaGx0QXNzZXQgID0gJGFuekZlaGx0QXNzZXQNCiAgICAgICAgICAgICAgICAgICAgYW56RmVo +bHRTb3VyY2UgPSAkYW56RmVobHRTb3VyY2UNCiAgICAgICAgICAgICAgICAgICAgZGF0ZWllbiAg +ICAgPSAkZWludHJhZWdlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGNvbnRp +bnVlDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICMgPT09PT0gQURNSU4gPT09PT0NCiAg +ICAgICAgICAgIGlmICgkUGF0aCAtZXEgJy9hcGkvYWRtaW4nIC1hbmQgJE1ldGhvZCAtZXEgJ0dF +VCcpIHsNCiAgICAgICAgICAgICAgICAkdHh0ID0gUmVhZC1UZXh0RmlsZSAnYWRtaW4uanNvbicN +CiAgICAgICAgICAgICAgICBpZiAoJG51bGwgLWVxICR0eHQpIHsgU2VuZC1FcnJvciAkUmVzcG9u +c2UgJ2FkbWluLmpzb24gbmljaHQgZ2VmdW5kZW4nIDQwNCB9DQogICAgICAgICAgICAgICAgZWxz +ZSB7IFNlbmQtSnNvblRleHQgJFJlc3BvbnNlICR0eHQgfQ0KICAgICAgICAgICAgICAgIGNvbnRp +bnVlDQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoJFBhdGggLWVxICcvYXBpL2FkbWlu +JyAtYW5kICRNZXRob2QgLWVxICdQVVQnKSB7DQogICAgICAgICAgICAgICAgaWYgKC1ub3QgKFRl +c3QtRGFyZkJlcmVpY2ggJ2FkbWluaXN0cmF0aW9uJykpIHsgU2VuZC1FcnJvciAkUmVzcG9uc2Ug +J0tlaW5lIEFkbWluLVJlY2h0ZScgNDAzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJGJv +ZHkgPSBSZWFkLUJvZHkgJFJlcXVlc3QNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAkYm9keSkg +eyBTZW5kLUVycm9yICRSZXNwb25zZSAnQW5mcmFnZSB6dSBncm9zcycgNDEzOyBjb250aW51ZSB9 +DQogICAgICAgICAgICAgICAgJGRhdGVuID0gJGJvZHkgfCBDb252ZXJ0RnJvbS1Kc29uDQogICAg +ICAgICAgICAgICAgaWYgKCRkYXRlbi5QU09iamVjdC5Qcm9wZXJ0aWVzWydhZG1pbktlbm51bmdl +biddKSB7ICRkYXRlbi5QU09iamVjdC5Qcm9wZXJ0aWVzLlJlbW92ZSgnYWRtaW5LZW5udW5nZW4n +KSB9DQogICAgICAgICAgICAgICAgIyBQUy01LjEtVW53cmFwLVNjaHV0ejogYWxsZSBMaXN0ZW4t +RmVsZGVyLCBkaWUgZGVyIENsaWVudCB1bnRlcg0KICAgICAgICAgICAgICAgICMgQURNSU5fTElT +VF9GRUxERVIgZnVlaHJ0LCBzZXJ2ZXItc2VpdGlnIGFscyBBcnJheXMgZXJ6d2luZ2VuLg0KICAg +ICAgICAgICAgICAgICMgU29uc3Qgd2VyZGVuIExpc3RlbiBtaXQgbnVyIGVpbmVtIEVsZW1lbnQg +dm9tIFBvd2VyU2hlbGwtSlNPTi0NCiAgICAgICAgICAgICAgICAjIFJvdW5kdHJpcCB6dW0gRWlu +emVsLU9iamVrdCBlbnRwYWNrdCB1bmQgY2xpZW50LXNlaXRpZyBrb21tdA0KICAgICAgICAgICAg +ICAgICMgYWRtaW5MaXN0ZW5Ob3JtYWxpc2llcmVuIGdnZi4genUgc3BhZXQgKHouQi4gbmFjaCBI +b3QtUmVsb2FkKS4NCiAgICAgICAgICAgICAgICBOb3JtYWxpc2llcmUtQWRtaW5MaXN0ZW4gJGRh +dGVuDQogICAgICAgICAgICAgICAgIyBTZXJ2ZXItc2VpdGlnZSBSaWNoLVRleHQtU2FuaXRpc2ll +cnVuZyAoU3RvcmVkLVhTUy1TY2h1dHopLg0KICAgICAgICAgICAgICAgIEludm9rZS1BZG1pblJp +Y2h0ZXh0U2FuaXRpemUgJGRhdGVuDQogICAgICAgICAgICAgICAgJGlzdFNVID0gVGVzdC1Jc3RT +dXBlclVzZXINCiAgICAgICAgICAgICAgICAkbG9ja0VyZ2VibmlzID0gJG51bGwNCiAgICAgICAg +ICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgICAgICAkbG9ja0VyZ2VibmlzID0gSW52b2tl +LVdpdGhGaWxlTG9jayAnYWRtaW4uanNvbicgew0KICAgICAgICAgICAgICAgICAgICAgICAgIyBO +dXIgU3VwZXJVc2VyIGRhcmYgZGllIFJvbGxlbi1MaXN0ZW4gc3VwZXJVc2VyL2ZhY2hhdWZzaWNo +dA0KICAgICAgICAgICAgICAgICAgICAgICAgIyB1ZWJlciAvYXBpL2FkbWluIGFlbmRlcm4g4oCU +IHNvbnN0IGtvZW5udGUgamVtYW5kIHNpY2ggc2VsYnN0DQogICAgICAgICAgICAgICAgICAgICAg +ICAjIHp1bSBTdXBlclVzZXIgYmVmb2VyZGVybiB1bmQgZGFtaXQgZGllIHNlcGFyYXRlbiBHdWFy +ZHMgYXVmDQogICAgICAgICAgICAgICAgICAgICAgICAjIC9hcGkvYWRtaW4vc3VwZXJ1c2VyIGJ6 +dy4gL2FwaS9hZG1pbi9mYWNoYXVmc2ljaHQgdW1nZWhlbi4NCiAgICAgICAgICAgICAgICAgICAg +ICAgICMgYWRtaW5LZW5udW5nZW4gaXN0IGdlbmVyZWxsIGFiZ2VzY2hhZmZ0IHVuZCB3aXJkIGVu +dGZlcm50Lg0KICAgICAgICAgICAgICAgICAgICAgICAgIyBSZWFkIGRlciBhbHRlbiBXZXJ0ZSBt +dXNzIElOTkVSSEFMQiBkZXMgTG9ja3MgcGFzc2llcmVuLA0KICAgICAgICAgICAgICAgICAgICAg +ICAgIyBkYW1pdCBkaWUgU1UvRmFjaGF1ZnNpY2h0LUxpc3RlbiBhdG9tYXIgZXJoYWx0ZW4gYmxl +aWJlbi4NCiAgICAgICAgICAgICAgICAgICAgICAgICRhbHQgPSBSZWFkLUpzb25PYmplY3QgJ2Fk +bWluLmpzb24nDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoLW5vdCAkaXN0U1UpIHsNCiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkZmVsZCBpbiAnc3VwZXJVc2VyJywn +ZmFjaGF1ZnNpY2h0JywnZGlyZWt0aW9uc2xlaXR1bmcnLCdmdWVocnVuZ3NzdGVsbGUnKSB7DQog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkYWx0IC1hbmQgJGFsdC5QU09iamVj +dC5Qcm9wZXJ0aWVzWyRmZWxkXSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgaWYgKCRkYXRlbi5QU09iamVjdC5Qcm9wZXJ0aWVzWyRmZWxkXSkgeyAkZGF0ZW4uJGZlbGQg +PSAkYWx0LiRmZWxkIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Ug +eyAkZGF0ZW4gfCBBZGQtTWVtYmVyIC1Ob3RlUHJvcGVydHlOYW1lICRmZWxkIC1Ob3RlUHJvcGVy +dHlWYWx1ZSAkYWx0LiRmZWxkIC1Gb3JjZSB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIH0gZWxzZWlmICgkZGF0ZW4uUFNPYmplY3QuUHJvcGVydGllc1skZmVsZF0pIHsNCiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkYXRlbi5QU09iamVjdC5Qcm9wZXJ0aWVz +LlJlbW92ZSgkZmVsZCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg +ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg +ICAgICAgICAgICAgICAgICAgICMgS2V5LVVuaW9uOiBuaWNodCBtaXRnZXNlbmRldGUgVG9wLUxl +dmVsLUtleXMgZXJoYWx0ZW4uDQogICAgICAgICAgICAgICAgICAgICAgICBbdm9pZF0oTWVyZ2Ut +QWRtaW5LZXlzICRhbHQgJGRhdGVuKQ0KICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtSnNv +bk9iamVjdCAnYWRtaW4uanNvbicgJGRhdGVuIHwgT3V0LU51bGwNCiAgICAgICAgICAgICAgICAg +ICAgICAgIHJldHVybiBAeyBvayA9ICR0cnVlIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAg +ICAgICAgICAgICAgIH0gY2F0Y2ggew0KICAgICAgICAgICAgICAgICAgICBTZW5kLUVycm9yICRS +ZXNwb25zZSAoIkxvY2stRmVobGVyOiAkXyIpIDUwMzsgY29udGludWUNCiAgICAgICAgICAgICAg +ICB9DQogICAgICAgICAgICAgICAgaWYgKC1ub3QgJGxvY2tFcmdlYm5pcy5vaykgeyBTZW5kLUVy +cm9yICRSZXNwb25zZSAkbG9ja0VyZ2VibmlzLm1zZyAkbG9ja0VyZ2VibmlzLnN0YXR1czsgY29u +dGludWUgfQ0KICAgICAgICAgICAgICAgIFdyaXRlLUxvZ0VpbnRyYWcgJ2FkbWluLmdlYWVuZGVy +dCcgQHt9DQogICAgICAgICAgICAgICAgU2VuZC1Kc29uT2JqZWN0ICRSZXNwb25zZSBAeyBzdGF0 +dXMgPSAnZ2VzcGVpY2hlcnQnIH0NCiAgICAgICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAg +ICAgfQ0KDQogICAgICAgICAgICAjIFN1cGVyLVVzZXItTGlzdGU6IG51ciBTdXBlclVzZXIgZGFy +ZiBTdXBlclVzZXIgdmVyd2FsdGVuDQogICAgICAgICAgICBpZiAoJFBhdGggLWVxICcvYXBpL2Fk +bWluL3N1cGVydXNlcicgLWFuZCAkTWV0aG9kIC1lcSAnUFVUJykgew0KICAgICAgICAgICAgICAg +IGlmICgtbm90IChUZXN0LUlzdFN1cGVyVXNlcikpIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ051 +ciBTdXBlclVzZXIgZHVlcmZlbiBTdXBlclVzZXIgdmVyd2FsdGVuJyA0MDM7IGNvbnRpbnVlIH0N +CiAgICAgICAgICAgICAgICAkYm9keSA9IFJlYWQtQm9keSAkUmVxdWVzdA0KICAgICAgICAgICAg +ICAgIGlmICgtbm90ICRib2R5KSB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICdBbmZyYWdlIHp1IGdy +b3NzJyA0MTM7IGNvbnRpbnVlIH0NCiAgICAgICAgICAgICAgICAjIEAoLi4uKSBlcnp3aW5ndCBB +cnJheSBhdWNoIGJlaSAxIEVsZW1lbnQgKFBTIDUuMSBlbnRwYWNrdCBzb25zdCB6dSBFaW56ZWwt +T2JqZWt0LA0KICAgICAgICAgICAgICAgICMgZGFubiB3aXJkIGRpZSBMaXN0ZSBpbiBhZG1pbi5q +c29uIHp1bSBPYmpla3QgZGVnZW5lcmllcnQgLT4gQ2xpZW50LUZlaGxlcikuDQogICAgICAgICAg +ICAgICAgJGJvZHlPYmogPSAkYm9keSB8IENvbnZlcnRGcm9tLUpzb24NCiAgICAgICAgICAgICAg +ICAkZGF0ZW4gPSBbb2JqZWN0W11dQCgkYm9keU9iaikNCiAgICAgICAgICAgICAgICAkbG9ja0Vy +Z2VibmlzID0gJG51bGwNCiAgICAgICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgICAg +ICAkbG9ja0VyZ2VibmlzID0gSW52b2tlLVdpdGhGaWxlTG9jayAnYWRtaW4uanNvbicgew0KICAg +ICAgICAgICAgICAgICAgICAgICAgJGFkbWluID0gUmVhZC1Kc29uT2JqZWN0ICdhZG1pbi5qc29u +Jw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRudWxsIC1lcSAkYWRtaW4pIHsgcmV0dXJu +IEB7IG9rID0gJGZhbHNlOyBzdGF0dXMgPSA1MDA7IG1zZyA9ICdhZG1pbi5qc29uIG5pY2h0IGxl +c2JhcicgfSB9DQogICAgICAgICAgICAgICAgICAgICAgICAkd2lwZU1zZyA9IFRlc3QtV2lwZVNj +aHV0eiAnc3VwZXJVc2VyJyAkZGF0ZW4gJGFkbWluICRSZXF1ZXN0ICRib2R5T2JqDQogICAgICAg +ICAgICAgICAgICAgICAgICBpZiAoJHdpcGVNc2cpIHsgcmV0dXJuIEB7IG9rID0gJGZhbHNlOyBz +dGF0dXMgPSA0MDk7IG1zZyA9ICR3aXBlTXNnIH0gfQ0KICAgICAgICAgICAgICAgICAgICAgICAg +IyBBbHRlIExpc3RlIHZvciBkZW0gT3ZlcndyaXRlIHNuYXBzaG90dGVuIOKAlCB3aXIgYnJhdWNo +ZW4NCiAgICAgICAgICAgICAgICAgICAgICAgICMgc2llIG5hY2ggZGVtIExvY2sgZnVlciBkaWUg +RGlmZi1CZXJlY2hudW5nIChtYWlsdG8gYmVpDQogICAgICAgICAgICAgICAgICAgICAgICAjIFNV +IHJlaW4vcmF1cykuDQogICAgICAgICAgICAgICAgICAgICAgICAkYWx0U1UgPSBAKCkNCiAgICAg +ICAgICAgICAgICAgICAgICAgIGlmICgkYWRtaW4uUFNPYmplY3QuUHJvcGVydGllc1snc3VwZXJV +c2VyJ10pIHsgJGFsdFNVID0gW29iamVjdFtdXUAoJGFkbWluLnN1cGVyVXNlcikgfQ0KICAgICAg +ICAgICAgICAgICAgICAgICAgW3ZvaWRdKEJhY2t1cC1BZG1pbkpzb24gJ3N1cGVyVXNlcicpDQog +ICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGFkbWluLlBTT2JqZWN0LlByb3BlcnRpZXNbJ3N1 +cGVyVXNlciddKSB7ICRhZG1pbi5zdXBlclVzZXIgPSAkZGF0ZW4gfQ0KICAgICAgICAgICAgICAg +ICAgICAgICAgZWxzZSB7ICRhZG1pbiB8IEFkZC1NZW1iZXIgLU5vdGVQcm9wZXJ0eU5hbWUgJ3N1 +cGVyVXNlcicgLU5vdGVQcm9wZXJ0eVZhbHVlICRkYXRlbiAtRm9yY2UgfQ0KICAgICAgICAgICAg +ICAgICAgICAgICAgV3JpdGUtSnNvbk9iamVjdCAnYWRtaW4uanNvbicgJGFkbWluIHwgT3V0LU51 +bGwNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBAeyBvayA9ICR0cnVlOyBhbHQgPSAk +YWx0U1UgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSBjYXRjaCB7 +DQogICAgICAgICAgICAgICAgICAgIFNlbmQtRXJyb3IgJFJlc3BvbnNlICgiTG9jay1GZWhsZXI6 +ICRfIikgNTAzOyBjb250aW51ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBp +ZiAoLW5vdCAkbG9ja0VyZ2VibmlzLm9rKSB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICRsb2NrRXJn +ZWJuaXMubXNnICRsb2NrRXJnZWJuaXMuc3RhdHVzOyBjb250aW51ZSB9DQogICAgICAgICAgICAg +ICAgIyBEaWZmIGFsdC9uZXUgbmFjaCBud0tlbm51bmcuIFNVLVJlaW4vUmF1cyBsb2VzdCBtYWls +dG8gdmlhIENsaWVudCBhdXMNCiAgICAgICAgICAgICAgICAjIChWZXJhbnR3b3J0dW5ncy1VZWJl +cmdhbmcgVm9ybGFnZSAncm9sbGVfdmVyYW50d29ydHVuZycpLg0KICAgICAgICAgICAgICAgICRt +YWlsdG9EaWZmcyA9IEdldC1Sb2xsZURpZmZzICRsb2NrRXJnZWJuaXMuYWx0ICRkYXRlbiAnU3Vw +ZXJVc2VyJyAkZmFsc2UNCiAgICAgICAgICAgICAgICAjIGFuemFobCBtaXRnZWJlbiDigJQgZGVy +IExvZ2J1Y2gtQ2xpZW50IGxpZXN0IGUuYW56YWhsOyBvaG5lIGRhcw0KICAgICAgICAgICAgICAg +ICMgRmVsZCBibGllYiBkaWUgRGV0YWlsLVNwYWx0ZSBiZWkgU1UtTGlzdGVuYWVuZGVydW5nZW4g +bGVlcg0KICAgICAgICAgICAgICAgICMgKGZhY2hhdWZzaWNodC5nZWFlbmRlcnQgdW50ZW4gbWFj +aHQgZXMgZ2VuYXVzbykuDQogICAgICAgICAgICAgICAgV3JpdGUtTG9nRWludHJhZyAnc3VwZXJV +c2VyLmdlYWVuZGVydCcgQHsgYW56YWhsID0gJGRhdGVuLkNvdW50OyBkaWZmcyA9ICRtYWlsdG9E +aWZmcy5Db3VudCB9DQogICAgICAgICAgICAgICAgJHJlc3AgPSBAeyBzdGF0dXMgPSAnZ2VzcGVp +Y2hlcnQnIH0NCiAgICAgICAgICAgICAgICBpZiAoJG1haWx0b0RpZmZzLkNvdW50IC1ndCAwKSB7 +DQogICAgICAgICAgICAgICAgICAgICMgUFMtNS4xLVVud3JhcC1TY2h1dHo6IEAoJHgpIGVyendp +bmd0IEFycmF5IGF1Y2ggYmVpIDEgRWxlbWVudC4NCiAgICAgICAgICAgICAgICAgICAgJHJlc3Bb +J19icmF1Y2h0X21haWx0byddID0gW29yZGVyZWRdQHsgdHJpZ2dlciA9ICdyb2xsZV92ZXJhbnR3 +b3J0dW5nJzsgZGlmZnMgPSBbb2JqZWN0W11dQCgkbWFpbHRvRGlmZnMpIH0NCiAgICAgICAgICAg +ICAgICB9DQogICAgICAgICAgICAgICAgU2VuZC1Kc29uT2JqZWN0ICRSZXNwb25zZSAkcmVzcA0K +ICAgICAgICAgICAgICAgIGNvbnRpbnVlDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICMg +RmFjaGF1ZnNpY2h0LUxpc3RlOiBudXIgU3VwZXJVc2VyIGRhcmYgRmFjaGF1ZnNpY2h0IHZlcndh +bHRlbg0KICAgICAgICAgICAgaWYgKCRQYXRoIC1lcSAnL2FwaS9hZG1pbi9mYWNoYXVmc2ljaHQn +IC1hbmQgJE1ldGhvZCAtZXEgJ1BVVCcpIHsNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAoVGVz +dC1Jc3RTdXBlclVzZXIpKSB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICdOdXIgU3VwZXJVc2VyIGR1 +ZXJmZW4gRmFjaGF1ZnNpY2h0IHZlcndhbHRlbicgNDAzOyBjb250aW51ZSB9DQogICAgICAgICAg +ICAgICAgJGJvZHkgPSBSZWFkLUJvZHkgJFJlcXVlc3QNCiAgICAgICAgICAgICAgICBpZiAoLW5v +dCAkYm9keSkgeyBTZW5kLUVycm9yICRSZXNwb25zZSAnQW5mcmFnZSB6dSBncm9zcycgNDEzOyBj +b250aW51ZSB9DQogICAgICAgICAgICAgICAgJGJvZHlPYmogPSAkYm9keSB8IENvbnZlcnRGcm9t +LUpzb24NCiAgICAgICAgICAgICAgICAkZGF0ZW4gPSBbb2JqZWN0W11dQCgkYm9keU9iaikNCiAg +ICAgICAgICAgICAgICAkbG9ja0VyZ2VibmlzID0gJG51bGwNCiAgICAgICAgICAgICAgICB0cnkg +ew0KICAgICAgICAgICAgICAgICAgICAkbG9ja0VyZ2VibmlzID0gSW52b2tlLVdpdGhGaWxlTG9j +ayAnYWRtaW4uanNvbicgew0KICAgICAgICAgICAgICAgICAgICAgICAgJGFkbWluID0gUmVhZC1K +c29uT2JqZWN0ICdhZG1pbi5qc29uJw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRudWxs +IC1lcSAkYWRtaW4pIHsgcmV0dXJuIEB7IG9rID0gJGZhbHNlOyBzdGF0dXMgPSA1MDA7IG1zZyA9 +ICdhZG1pbi5qc29uIG5pY2h0IGxlc2JhcicgfSB9DQogICAgICAgICAgICAgICAgICAgICAgICAk +d2lwZU1zZyA9IFRlc3QtV2lwZVNjaHV0eiAnZmFjaGF1ZnNpY2h0JyAkZGF0ZW4gJGFkbWluICRS +ZXF1ZXN0ICRib2R5T2JqDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHdpcGVNc2cpIHsg +cmV0dXJuIEB7IG9rID0gJGZhbHNlOyBzdGF0dXMgPSA0MDk7IG1zZyA9ICR3aXBlTXNnIH0gfQ0K +ICAgICAgICAgICAgICAgICAgICAgICAgJGFsdEZBID0gQCgpDQogICAgICAgICAgICAgICAgICAg +ICAgICBpZiAoJGFkbWluLlBTT2JqZWN0LlByb3BlcnRpZXNbJ2ZhY2hhdWZzaWNodCddKSB7ICRh +bHRGQSA9IFtvYmplY3RbXV1AKCRhZG1pbi5mYWNoYXVmc2ljaHQpIH0NCiAgICAgICAgICAgICAg +ICAgICAgICAgIFt2b2lkXShCYWNrdXAtQWRtaW5Kc29uICdmYWNoYXVmc2ljaHQnKQ0KICAgICAg +ICAgICAgICAgICAgICAgICAgaWYgKCRhZG1pbi5QU09iamVjdC5Qcm9wZXJ0aWVzWydmYWNoYXVm +c2ljaHQnXSkgeyAkYWRtaW4uZmFjaGF1ZnNpY2h0ID0gJGRhdGVuIH0NCiAgICAgICAgICAgICAg +ICAgICAgICAgIGVsc2UgeyAkYWRtaW4gfCBBZGQtTWVtYmVyIC1Ob3RlUHJvcGVydHlOYW1lICdm +YWNoYXVmc2ljaHQnIC1Ob3RlUHJvcGVydHlWYWx1ZSAkZGF0ZW4gLUZvcmNlIH0NCiAgICAgICAg +ICAgICAgICAgICAgICAgIFdyaXRlLUpzb25PYmplY3QgJ2FkbWluLmpzb24nICRhZG1pbiB8IE91 +dC1OdWxsDQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gQHsgb2sgPSAkdHJ1ZTsgYWx0 +ID0gJGFsdEZBIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0gY2F0 +Y2ggew0KICAgICAgICAgICAgICAgICAgICBTZW5kLUVycm9yICRSZXNwb25zZSAoIkxvY2stRmVo +bGVyOiAkXyIpIDUwMzsgY29udGludWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg +ICAgaWYgKC1ub3QgJGxvY2tFcmdlYm5pcy5vaykgeyBTZW5kLUVycm9yICRSZXNwb25zZSAkbG9j +a0VyZ2VibmlzLm1zZyAkbG9ja0VyZ2VibmlzLnN0YXR1czsgY29udGludWUgfQ0KICAgICAgICAg +ICAgICAgICMgRmFjaGF1ZnNpY2h0LURpZmY6IHRyZW5udCBtYWlsdG8td3VlcmRpZ2UgVmVyYW50 +d29ydHVuZ3MtDQogICAgICAgICAgICAgICAgIyBVZWJlcmdhZW5nZSAoR2VzYW10dmVyYW50d29y +dGxpY2ggcmVpbi9yYXVzKSB2b20gcmVzdGxpY2hlbg0KICAgICAgICAgICAgICAgICMgUm9sbGVu +LVVwZGF0ZXMgKEZBIGhpbnp1L3JhdXMgb2huZSBHZXNhbXQsIG9kZXIgU2VoZW4tRmxhZy0NCiAg +ICAgICAgICAgICAgICAjIFdlY2hzZWwpLiBFcnN0ZSBmbGllw59lbiBpbiBkZW4gbWFpbHRvLVRy +aWdnZXIsIGRlciBSZXN0IHdpcmQNCiAgICAgICAgICAgICAgICAjIHp1IEluLUFwcC1IaW53ZWlz +ZW4uDQogICAgICAgICAgICAgICAgJGZhQXVzd2VydHVuZyA9IEdldC1GYWNoYXVmc2ljaHREaWZm +cyAkbG9ja0VyZ2VibmlzLmFsdCAkZGF0ZW4NCiAgICAgICAgICAgICAgICBXcml0ZS1Mb2dFaW50 +cmFnICdmYWNoYXVmc2ljaHQuZ2VhZW5kZXJ0JyBAeyBhbnphaGwgPSAkZGF0ZW4uQ291bnQ7IG1h +aWx0byA9ICRmYUF1c3dlcnR1bmcubWFpbHRvRGlmZnMuQ291bnQ7IGhpbndlaXNlID0gJGZhQXVz +d2VydHVuZy5oaW53ZWlzRGlmZnMuQ291bnQgfQ0KICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRo +IGluICRmYUF1c3dlcnR1bmcuaGlud2Vpc0RpZmZzKSB7DQogICAgICAgICAgICAgICAgICAgIE5l +dy1IaW53ZWlzICdyb2xsZV9nZWFlbmRlcnQnICRoIChHZXQtQWt0dWVsbGVyQmVudXR6ZXIpIHwg +T3V0LU51bGwNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJHJlc3AgPSBAeyBz +dGF0dXMgPSAnZ2VzcGVpY2hlcnQnIH0NCiAgICAgICAgICAgICAgICBpZiAoJGZhQXVzd2VydHVu +Zy5tYWlsdG9EaWZmcy5Db3VudCAtZ3QgMCkgew0KICAgICAgICAgICAgICAgICAgICAjIFBTLTUu +MS1VbndyYXAtU2NodXR6OiBAKCR4KSBlcnp3aW5ndCBBcnJheSBhdWNoIGJlaSAxIEVsZW1lbnQu +DQogICAgICAgICAgICAgICAgICAgICRyZXNwWydfYnJhdWNodF9tYWlsdG8nXSA9IFtvcmRlcmVk +XUB7IHRyaWdnZXIgPSAncm9sbGVfdmVyYW50d29ydHVuZyc7IGRpZmZzID0gW29iamVjdFtdXUAo +JGZhQXVzd2VydHVuZy5tYWlsdG9EaWZmcykgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAg +ICAgICAgICBTZW5kLUpzb25PYmplY3QgJFJlc3BvbnNlICRyZXNwDQogICAgICAgICAgICAgICAg +Y29udGludWUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgIyBEaXJla3Rpb25zbGVpdHVu +ZyArIEZ1ZWhydW5nc3N0ZWxsZSAoZ2xlaWNoZXMgU2NoZW1hIHdpZQ0KICAgICAgICAgICAgIyBG +YWNoYXVmc2ljaHQsIG51ciBzZXBhcmF0ZSBMaXN0ZW4pLiBCZWlkZSBSb3V0ZW4gdGVpbGVuIGRp +ZQ0KICAgICAgICAgICAgIyBnbGVpY2hlIExvZ2lrOiBTVS1vbmx5IFBVVCwgQmFja3VwLCBTY2hy +ZWliZW4sIERpZmZzIHp1DQogICAgICAgICAgICAjIEluLUFwcC1IaW53ZWlzZW4gdW1zZXR6ZW4u +DQogICAgICAgICAgICBpZiAoKCRQYXRoIC1lcSAnL2FwaS9hZG1pbi9kaXJla3Rpb25zbGVpdHVu +ZycgLW9yICRQYXRoIC1lcSAnL2FwaS9hZG1pbi9mdWVocnVuZ3NzdGVsbGUnKSAtYW5kICRNZXRo +b2QgLWVxICdQVVQnKSB7DQogICAgICAgICAgICAgICAgaWYgKC1ub3QgKFRlc3QtSXN0U3VwZXJV +c2VyKSkgeyBTZW5kLUVycm9yICRSZXNwb25zZSAnTnVyIFN1cGVyVXNlciBkdWVyZmVuIFJvbGxl +biB2ZXJ3YWx0ZW4nIDQwMzsgY29udGludWUgfQ0KICAgICAgICAgICAgICAgICRmZWxkTmFtZSA9 +IGlmICgkUGF0aCAtZXEgJy9hcGkvYWRtaW4vZGlyZWt0aW9uc2xlaXR1bmcnKSB7ICdkaXJla3Rp +b25zbGVpdHVuZycgfSBlbHNlIHsgJ2Z1ZWhydW5nc3N0ZWxsZScgfQ0KICAgICAgICAgICAgICAg +ICRib2R5ID0gUmVhZC1Cb2R5ICRSZXF1ZXN0DQogICAgICAgICAgICAgICAgaWYgKC1ub3QgJGJv +ZHkpIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ0FuZnJhZ2UgenUgZ3Jvc3MnIDQxMzsgY29udGlu +dWUgfQ0KICAgICAgICAgICAgICAgICRib2R5T2JqID0gJGJvZHkgfCBDb252ZXJ0RnJvbS1Kc29u +DQogICAgICAgICAgICAgICAgJGRhdGVuID0gW29iamVjdFtdXUAoJGJvZHlPYmopDQogICAgICAg +ICAgICAgICAgJGxvY2tFcmdlYm5pcyA9ICRudWxsDQogICAgICAgICAgICAgICAgdHJ5IHsNCiAg +ICAgICAgICAgICAgICAgICAgJGxvY2tFcmdlYm5pcyA9IEludm9rZS1XaXRoRmlsZUxvY2sgJ2Fk +bWluLmpzb24nIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRhZG1pbiA9IFJlYWQtSnNvbk9i +amVjdCAnYWRtaW4uanNvbicNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkbnVsbCAtZXEg +JGFkbWluKSB7IHJldHVybiBAeyBvayA9ICRmYWxzZTsgc3RhdHVzID0gNTAwOyBtc2cgPSAnYWRt +aW4uanNvbiBuaWNodCBsZXNiYXInIH0gfQ0KICAgICAgICAgICAgICAgICAgICAgICAgJGFsdCA9 +IEAoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRhZG1pbi5QU09iamVjdC5Qcm9wZXJ0 +aWVzWyRmZWxkTmFtZV0pIHsgJGFsdCA9IFtvYmplY3RbXV1AKCRhZG1pbi4kZmVsZE5hbWUpIH0N +CiAgICAgICAgICAgICAgICAgICAgICAgIFt2b2lkXShCYWNrdXAtQWRtaW5Kc29uICRmZWxkTmFt +ZSkNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkYWRtaW4uUFNPYmplY3QuUHJvcGVydGll +c1skZmVsZE5hbWVdKSB7ICRhZG1pbi4kZmVsZE5hbWUgPSAkZGF0ZW4gfQ0KICAgICAgICAgICAg +ICAgICAgICAgICAgZWxzZSB7ICRhZG1pbiB8IEFkZC1NZW1iZXIgLU5vdGVQcm9wZXJ0eU5hbWUg +JGZlbGROYW1lIC1Ob3RlUHJvcGVydHlWYWx1ZSAkZGF0ZW4gLUZvcmNlIH0NCiAgICAgICAgICAg +ICAgICAgICAgICAgIFdyaXRlLUpzb25PYmplY3QgJ2FkbWluLmpzb24nICRhZG1pbiB8IE91dC1O +dWxsDQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gQHsgb2sgPSAkdHJ1ZTsgYWx0ID0g +JGFsdCB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9IGNhdGNoIHsN +CiAgICAgICAgICAgICAgICAgICAgU2VuZC1FcnJvciAkUmVzcG9uc2UgKCJMb2NrLUZlaGxlcjog +JF8iKSA1MDM7IGNvbnRpbnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlm +ICgtbm90ICRsb2NrRXJnZWJuaXMub2spIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJGxvY2tFcmdl +Ym5pcy5tc2cgJGxvY2tFcmdlYm5pcy5zdGF0dXM7IGNvbnRpbnVlIH0NCiAgICAgICAgICAgICAg +ICBXcml0ZS1Mb2dFaW50cmFnICgkZmVsZE5hbWUgKyAnLmdlYWVuZGVydCcpIEB7IGFuemFobCA9 +ICRkYXRlbi5Db3VudCB9DQogICAgICAgICAgICAgICAgU2VuZC1Kc29uT2JqZWN0ICRSZXNwb25z +ZSBAeyBzdGF0dXMgPSAnZ2VzcGVpY2hlcnQnIH0NCiAgICAgICAgICAgICAgICBjb250aW51ZQ0K +ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAjIEJlemVpY2hudW5nZW46IE9iamVrdCAoTWFw +IGtleS0+bGFiZWwpLiBMZWVyZXMgT2JqZWt0ID0gUmVzZXQuDQogICAgICAgICAgICBpZiAoJFBh +dGggLWVxICcvYXBpL2FkbWluL2JlemVpY2hudW5nZW4nIC1hbmQgJE1ldGhvZCAtZXEgJ1BVVCcp +IHsNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAoVGVzdC1Jc3RBZG1pbikpIHsgU2VuZC1FcnJv +ciAkUmVzcG9uc2UgJ0tlaW5lIEFkbWluLVJlY2h0ZScgNDAzOyBjb250aW51ZSB9DQogICAgICAg +ICAgICAgICAgJGJvZHkgPSBSZWFkLUJvZHkgJFJlcXVlc3QNCiAgICAgICAgICAgICAgICBpZiAo +LW5vdCAkYm9keSkgeyBTZW5kLUVycm9yICRSZXNwb25zZSAnQW5mcmFnZSB6dSBncm9zcycgNDEz +OyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJGRhdGVuID0gJGJvZHkgfCBDb252ZXJ0RnJv +bS1Kc29uDQogICAgICAgICAgICAgICAgJGxvY2tFcmdlYm5pcyA9ICRudWxsDQogICAgICAgICAg +ICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgJGxvY2tFcmdlYm5pcyA9IEludm9rZS1X +aXRoRmlsZUxvY2sgJ2FkbWluLmpzb24nIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRhZG1p +biA9IFJlYWQtSnNvbk9iamVjdCAnYWRtaW4uanNvbicNCiAgICAgICAgICAgICAgICAgICAgICAg +IGlmICgkbnVsbCAtZXEgJGFkbWluKSB7IHJldHVybiBAeyBvayA9ICRmYWxzZTsgc3RhdHVzID0g +NTAwOyBtc2cgPSAnYWRtaW4uanNvbiBuaWNodCBsZXNiYXInIH0gfQ0KICAgICAgICAgICAgICAg +ICAgICAgICAgaWYgKCRhZG1pbi5QU09iamVjdC5Qcm9wZXJ0aWVzWydiZXplaWNobnVuZ2VuJ10p +IHsgJGFkbWluLmJlemVpY2hudW5nZW4gPSAkZGF0ZW4gfQ0KICAgICAgICAgICAgICAgICAgICAg +ICAgZWxzZSB7ICRhZG1pbiB8IEFkZC1NZW1iZXIgLU5vdGVQcm9wZXJ0eU5hbWUgJ2JlemVpY2hu +dW5nZW4nIC1Ob3RlUHJvcGVydHlWYWx1ZSAkZGF0ZW4gLUZvcmNlIH0NCiAgICAgICAgICAgICAg +ICAgICAgICAgIFdyaXRlLUpzb25PYmplY3QgJ2FkbWluLmpzb24nICRhZG1pbiB8IE91dC1OdWxs +DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gQHsgb2sgPSAkdHJ1ZSB9DQogICAgICAg +ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9IGNhdGNoIHsNCiAgICAgICAgICAgICAg +ICAgICAgU2VuZC1FcnJvciAkUmVzcG9uc2UgKCJMb2NrLUZlaGxlcjogJF8iKSA1MDM7IGNvbnRp +bnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmICgtbm90ICRsb2NrRXJn +ZWJuaXMub2spIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJGxvY2tFcmdlYm5pcy5tc2cgJGxvY2tF +cmdlYm5pcy5zdGF0dXM7IGNvbnRpbnVlIH0NCiAgICAgICAgICAgICAgICBXcml0ZS1Mb2dFaW50 +cmFnICdiZXplaWNobnVuZ2VuLmdlYWVuZGVydCcgQHt9DQogICAgICAgICAgICAgICAgU2VuZC1K +c29uT2JqZWN0ICRSZXNwb25zZSBAeyBzdGF0dXMgPSAnZ2VzcGVpY2hlcnQnIH0NCiAgICAgICAg +ICAgICAgICBjb250aW51ZQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAjIFN0YXRpc3Rp +ay1CYXVrYXN0ZW4gKHNlbGJzdGdlYmF1dGUgS2FjaGVsbikgKyBTdXBlclVzZXItTGF5b3V0LVJh +c3Rlci4NCiAgICAgICAgICAgICMgR2F0ZSBiZXd1c3N0IFNVIE9ERVIgR2VzYW10dmVyYW50d29y +dGxpY2ggKG5pY2h0IFRlc3QtSXN0QWRtaW4pIOKAlCBkZXINCiAgICAgICAgICAgICMgQnVpbGRl +ciBsZWJ0IGltIFN0YXRpc3Rpay1UYWIgdW5kIG11c3MgYXVjaCBmdWVyIEdlc2FtdHZlcmFudHdv +cnRsaWNoZQ0KICAgICAgICAgICAgIyBvaG5lIGFkbWluaXN0cmF0aW9uLVp1Z2FuZyBzcGVpY2hl +cmJhciBzZWluLiBQYXJ0aWFsLU1lcmdlIG51ciBkZXINCiAgICAgICAgICAgICMgYmVpZGVuIGJl +a2FubnRlbiBLZXlzOyBiZWlkZSBhbHMgW29iamVjdFtdXSB6d2luZ2VuIChQUy01LjEtVW53cmFw +KS4NCiAgICAgICAgICAgIGlmICgkUGF0aCAtZXEgJy9hcGkvYWRtaW4vc3RhdGlzdGlrJyAtYW5k +ICRNZXRob2QgLWVxICdQVVQnKSB7DQogICAgICAgICAgICAgICAgJHIgPSBHZXQtUmVjaHRlDQog +ICAgICAgICAgICAgICAgaWYgKC1ub3QgKChUZXN0LUlzdEFkbWluKSAtb3IgJHIuaXN0R2VzYW10 +dmVyYW50d29ydGxpY2gpKSB7DQogICAgICAgICAgICAgICAgICAgIFNlbmQtRXJyb3IgJFJlc3Bv +bnNlICdOdXIgQWRtaW5zIHVuZCBHZXNhbXR2ZXJhbnR3b3J0bGljaGUgZHVlcmZlbiBTdGF0aXN0 +aWstS2FjaGVsbiBhZW5kZXJuJyA0MDM7IGNvbnRpbnVlDQogICAgICAgICAgICAgICAgfQ0KICAg +ICAgICAgICAgICAgICRib2R5ID0gUmVhZC1Cb2R5ICRSZXF1ZXN0DQogICAgICAgICAgICAgICAg +aWYgKC1ub3QgJGJvZHkpIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ0FuZnJhZ2UgenUgZ3Jvc3Mn +IDQxMzsgY29udGludWUgfQ0KICAgICAgICAgICAgICAgICRkYXRlbiA9ICRib2R5IHwgQ29udmVy +dEZyb20tSnNvbg0KICAgICAgICAgICAgICAgICRoYXRLYWNoZWxuID0gKCRudWxsIC1uZSAkZGF0 +ZW4gLWFuZCAkZGF0ZW4uUFNPYmplY3QuUHJvcGVydGllc1snc3RhdGlzdGlrS2FjaGVsbiddKQ0K +ICAgICAgICAgICAgICAgICRoYXRMYXlvdXQgID0gKCRudWxsIC1uZSAkZGF0ZW4gLWFuZCAkZGF0 +ZW4uUFNPYmplY3QuUHJvcGVydGllc1snc3RhdGlzdGlrTGF5b3V0J10pDQogICAgICAgICAgICAg +ICAgJGxvY2tFcmdlYm5pcyA9ICRudWxsDQogICAgICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAg +ICAgICAgICAgICAgJGxvY2tFcmdlYm5pcyA9IEludm9rZS1XaXRoRmlsZUxvY2sgJ2FkbWluLmpz +b24nIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRhZG1pbiA9IFJlYWQtSnNvbk9iamVjdCAn +YWRtaW4uanNvbicNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkbnVsbCAtZXEgJGFkbWlu +KSB7IHJldHVybiBAeyBvayA9ICRmYWxzZTsgc3RhdHVzID0gNTAwOyBtc2cgPSAnYWRtaW4uanNv +biBuaWNodCBsZXNiYXInIH0gfQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRoYXRLYWNo +ZWxuKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGsgPSBbb2JqZWN0W11dQCgkZGF0 +ZW4uc3RhdGlzdGlrS2FjaGVsbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGFk +bWluLlBTT2JqZWN0LlByb3BlcnRpZXNbJ3N0YXRpc3Rpa0thY2hlbG4nXSkgeyAkYWRtaW4uc3Rh +dGlzdGlrS2FjaGVsbiA9ICRrIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsg +JGFkbWluIHwgQWRkLU1lbWJlciAtTm90ZVByb3BlcnR5TmFtZSAnc3RhdGlzdGlrS2FjaGVsbicg +LU5vdGVQcm9wZXJ0eVZhbHVlICRrIC1Gb3JjZSB9DQogICAgICAgICAgICAgICAgICAgICAgICB9 +DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGhhdExheW91dCkgew0KICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICRsID0gW29iamVjdFtdXUAoJGRhdGVuLnN0YXRpc3Rpa0xheW91dCkN +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGFkbWluLlBTT2JqZWN0LlByb3BlcnRp +ZXNbJ3N0YXRpc3Rpa0xheW91dCddKSB7ICRhZG1pbi5zdGF0aXN0aWtMYXlvdXQgPSAkbCB9DQog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7ICRhZG1pbiB8IEFkZC1NZW1iZXIgLU5v +dGVQcm9wZXJ0eU5hbWUgJ3N0YXRpc3Rpa0xheW91dCcgLU5vdGVQcm9wZXJ0eVZhbHVlICRsIC1G +b3JjZSB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAg +ICBXcml0ZS1Kc29uT2JqZWN0ICdhZG1pbi5qc29uJyAkYWRtaW4gfCBPdXQtTnVsbA0KICAgICAg +ICAgICAgICAgICAgICAgICAgcmV0dXJuIEB7IG9rID0gJHRydWUgfQ0KICAgICAgICAgICAgICAg +ICAgICB9DQogICAgICAgICAgICAgICAgfSBjYXRjaCB7DQogICAgICAgICAgICAgICAgICAgIFNl +bmQtRXJyb3IgJFJlc3BvbnNlICgiTG9jay1GZWhsZXI6ICRfIikgNTAzOyBjb250aW51ZQ0KICAg +ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAkbG9ja0VyZ2VibmlzLm9r +KSB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICRsb2NrRXJnZWJuaXMubXNnICRsb2NrRXJnZWJuaXMu +c3RhdHVzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgV3JpdGUtTG9nRWludHJhZyAnc3Rh +dGlzdGlrLmNvbmZpZy5nZWFlbmRlcnQnIEB7fQ0KICAgICAgICAgICAgICAgIFNlbmQtSnNvbk9i +amVjdCAkUmVzcG9uc2UgQHsgc3RhdHVzID0gJ2dlc3BlaWNoZXJ0JyB9DQogICAgICAgICAgICAg +ICAgY29udGludWUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgIyBTdGFuZGFyZHJlY2h0 +ZSAocmVndWxhZXJlIFVzZXIpOiBnZWdlbnNlaXRpZ2UgUGxhbnVuZyBqZSBEaWVuc3RncnVwcGUv +DQogICAgICAgICAgICAjIFN0YW5kb3J0LiBTVS1vbmx5LiBXaXJkIGluIEdldC1SZWNodGUgYWRk +aXRpdiBpbiBlZGl0aWVyZW4gZWluZ2V3b2Jlbi4NCiAgICAgICAgICAgIGlmICgkUGF0aCAtZXEg +Jy9hcGkvYWRtaW4vc3RhbmRhcmRyZWNodGUnIC1hbmQgJE1ldGhvZCAtZXEgJ1BVVCcpIHsNCiAg +ICAgICAgICAgICAgICBpZiAoLW5vdCAoVGVzdC1Jc3RTdXBlclVzZXIpKSB7IFNlbmQtRXJyb3Ig +JFJlc3BvbnNlICdOdXIgU3VwZXJVc2VyIGR1ZXJmZW4gU3RhbmRhcmRyZWNodGUgYWVuZGVybicg +NDAzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJGJvZHkgPSBSZWFkLUJvZHkgJFJlcXVl +c3QNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAkYm9keSkgeyBTZW5kLUVycm9yICRSZXNwb25z +ZSAnQW5mcmFnZSB6dSBncm9zcycgNDEzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJGRh +dGVuID0gJGJvZHkgfCBDb252ZXJ0RnJvbS1Kc29uDQogICAgICAgICAgICAgICAgJGdnID0gQCgp +OyBpZiAoJGRhdGVuIC1hbmQgJGRhdGVuLlBTT2JqZWN0LlByb3BlcnRpZXNbJ2dlZ2Vuc2VpdGln +R3J1cHBlbiddKSAgIHsgJGdnID0gW3N0cmluZ1tdXUAoJGRhdGVuLmdlZ2Vuc2VpdGlnR3J1cHBl +biAgIHwgRm9yRWFjaC1PYmplY3QgeyBbc3RyaW5nXSRfIH0pIH0NCiAgICAgICAgICAgICAgICAk +Z3MgPSBAKCk7IGlmICgkZGF0ZW4gLWFuZCAkZGF0ZW4uUFNPYmplY3QuUHJvcGVydGllc1snZ2Vn +ZW5zZWl0aWdTdGFuZG9ydGUnXSkgeyAkZ3MgPSBbc3RyaW5nW11dQCgkZGF0ZW4uZ2VnZW5zZWl0 +aWdTdGFuZG9ydGUgfCBGb3JFYWNoLU9iamVjdCB7IFtzdHJpbmddJF8gfSkgfQ0KICAgICAgICAg +ICAgICAgICRzciA9IEB7IGdlZ2Vuc2VpdGlnR3J1cHBlbiA9ICRnZzsgZ2VnZW5zZWl0aWdTdGFu +ZG9ydGUgPSAkZ3MgfQ0KICAgICAgICAgICAgICAgICRsb2NrRXJnZWJuaXMgPSAkbnVsbA0KICAg +ICAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgICAgICRsb2NrRXJnZWJuaXMgPSBJ +bnZva2UtV2l0aEZpbGVMb2NrICdhZG1pbi5qc29uJyB7DQogICAgICAgICAgICAgICAgICAgICAg +ICAkYWRtaW4gPSBSZWFkLUpzb25PYmplY3QgJ2FkbWluLmpzb24nDQogICAgICAgICAgICAgICAg +ICAgICAgICBpZiAoJG51bGwgLWVxICRhZG1pbikgeyByZXR1cm4gQHsgb2sgPSAkZmFsc2U7IHN0 +YXR1cyA9IDUwMDsgbXNnID0gJ2FkbWluLmpzb24gbmljaHQgbGVzYmFyJyB9IH0NCiAgICAgICAg +ICAgICAgICAgICAgICAgIGlmICgkYWRtaW4uUFNPYmplY3QuUHJvcGVydGllc1snc3RhbmRhcmRS +ZWNodGUnXSkgeyAkYWRtaW4uc3RhbmRhcmRSZWNodGUgPSAkc3IgfQ0KICAgICAgICAgICAgICAg +ICAgICAgICAgZWxzZSB7ICRhZG1pbiB8IEFkZC1NZW1iZXIgLU5vdGVQcm9wZXJ0eU5hbWUgJ3N0 +YW5kYXJkUmVjaHRlJyAtTm90ZVByb3BlcnR5VmFsdWUgJHNyIC1Gb3JjZSB9DQogICAgICAgICAg +ICAgICAgICAgICAgICBXcml0ZS1Kc29uT2JqZWN0ICdhZG1pbi5qc29uJyAkYWRtaW4gfCBPdXQt +TnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEB7IG9rID0gJHRydWUgfQ0KICAg +ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSBjYXRjaCB7DQogICAgICAgICAg +ICAgICAgICAgIFNlbmQtRXJyb3IgJFJlc3BvbnNlICgiTG9jay1GZWhsZXI6ICRfIikgNTAzOyBj +b250aW51ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAkbG9j +a0VyZ2VibmlzLm9rKSB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICRsb2NrRXJnZWJuaXMubXNnICRs +b2NrRXJnZWJuaXMuc3RhdHVzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgV3JpdGUtTG9n +RWludHJhZyAnc3RhbmRhcmRyZWNodGUuZ2VhZW5kZXJ0JyBAe30NCiAgICAgICAgICAgICAgICBT +ZW5kLUpzb25PYmplY3QgJFJlc3BvbnNlIEB7IHN0YXR1cyA9ICdnZXNwZWljaGVydCcgfQ0KICAg +ICAgICAgICAgICAgIGNvbnRpbnVlDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICMgRS1N +YWlsLVZvcmxhZ2VuOiBPYmpla3QgKG5pY2h0IEFycmF5KSDigJQgZWlnZW5lciBIYW5kbGVyLg0K +ICAgICAgICAgICAgaWYgKCRQYXRoIC1lcSAnL2FwaS9hZG1pbi9lbWFpbHZvcmxhZ2VuJyAtYW5k +ICRNZXRob2QgLWVxICdQVVQnKSB7DQogICAgICAgICAgICAgICAgaWYgKC1ub3QgKFRlc3QtSXN0 +QWRtaW4pKSB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICdLZWluZSBBZG1pbi1SZWNodGUnIDQwMzsg +Y29udGludWUgfQ0KICAgICAgICAgICAgICAgICRib2R5ID0gUmVhZC1Cb2R5ICRSZXF1ZXN0DQog +ICAgICAgICAgICAgICAgaWYgKC1ub3QgJGJvZHkpIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ0Fu +ZnJhZ2UgenUgZ3Jvc3MnIDQxMzsgY29udGludWUgfQ0KICAgICAgICAgICAgICAgICRkYXRlbiA9 +ICRib2R5IHwgQ29udmVydEZyb20tSnNvbg0KICAgICAgICAgICAgICAgICMgUmljaC1UZXh0LUJv +ZHkgamUgVm9ybGFnZSBzZXJ2ZXJzZWl0aWcgYmVyZWluaWdlbiAoU3RvcmVkLVhTUykuDQogICAg +ICAgICAgICAgICAgaWYgKCRudWxsIC1uZSAkZGF0ZW4pIHsNCiAgICAgICAgICAgICAgICAgICAg +Zm9yZWFjaCAoJHAgaW4gJGRhdGVuLlBTT2JqZWN0LlByb3BlcnRpZXMpIHsNCiAgICAgICAgICAg +ICAgICAgICAgICAgICR2ID0gJHAuVmFsdWUNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgk +bnVsbCAtbmUgJHYgLWFuZCAkdi5QU09iamVjdC5Qcm9wZXJ0aWVzWyd0ZXh0J10gLWFuZCAoJHYu +dGV4dCAtaXMgW3N0cmluZ10pKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHYudGV4 +dCA9IENvbnZlcnRUby1TYWZlUmljaEh0bWwgJHYudGV4dA0KICAgICAgICAgICAgICAgICAgICAg +ICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAg +ICAgICAgICRsb2NrRXJnZWJuaXMgPSAkbnVsbA0KICAgICAgICAgICAgICAgIHRyeSB7DQogICAg +ICAgICAgICAgICAgICAgICRsb2NrRXJnZWJuaXMgPSBJbnZva2UtV2l0aEZpbGVMb2NrICdhZG1p +bi5qc29uJyB7DQogICAgICAgICAgICAgICAgICAgICAgICAkYWRtaW4gPSBSZWFkLUpzb25PYmpl +Y3QgJ2FkbWluLmpzb24nDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJG51bGwgLWVxICRh +ZG1pbikgeyByZXR1cm4gQHsgb2sgPSAkZmFsc2U7IHN0YXR1cyA9IDUwMDsgbXNnID0gJ2FkbWlu +Lmpzb24gbmljaHQgbGVzYmFyJyB9IH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkYWRt +aW4uUFNPYmplY3QuUHJvcGVydGllc1snZW1haWxWb3JsYWdlbiddKSB7ICRhZG1pbi5lbWFpbFZv +cmxhZ2VuID0gJGRhdGVuIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeyAkYWRtaW4g +fCBBZGQtTWVtYmVyIC1Ob3RlUHJvcGVydHlOYW1lICdlbWFpbFZvcmxhZ2VuJyAtTm90ZVByb3Bl +cnR5VmFsdWUgJGRhdGVuIC1Gb3JjZSB9DQogICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1K +c29uT2JqZWN0ICdhZG1pbi5qc29uJyAkYWRtaW4gfCBPdXQtTnVsbA0KICAgICAgICAgICAgICAg +ICAgICAgICAgcmV0dXJuIEB7IG9rID0gJHRydWUgfQ0KICAgICAgICAgICAgICAgICAgICB9DQog +ICAgICAgICAgICAgICAgfSBjYXRjaCB7DQogICAgICAgICAgICAgICAgICAgIFNlbmQtRXJyb3Ig +JFJlc3BvbnNlICgiTG9jay1GZWhsZXI6ICRfIikgNTAzOyBjb250aW51ZQ0KICAgICAgICAgICAg +ICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAkbG9ja0VyZ2VibmlzLm9rKSB7IFNlbmQt +RXJyb3IgJFJlc3BvbnNlICRsb2NrRXJnZWJuaXMubXNnICRsb2NrRXJnZWJuaXMuc3RhdHVzOyBj +b250aW51ZSB9DQogICAgICAgICAgICAgICAgV3JpdGUtTG9nRWludHJhZyAnZW1haWx2b3JsYWdl +bi5nZWFlbmRlcnQnIEB7fQ0KICAgICAgICAgICAgICAgIFNlbmQtSnNvbk9iamVjdCAkUmVzcG9u +c2UgQHsgc3RhdHVzID0gJ2dlc3BlaWNoZXJ0JyB9DQogICAgICAgICAgICAgICAgY29udGludWUN +CiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgIyBFLU1haWwtVHJpZ2dlci1Lb25maWcgKHBy +byBUcmlnZ2VyOiBha3RpdiArIEVtcGZhZW5nZXItVGFncykg4oCUDQogICAgICAgICAgICAjIGF1 +c3NjaGxpZXNzbGljaCBTdGV1ZXJ1bmcgZnVlciBkZW4gRnJvbnRlbmQtbWFpbHRvOi1EaXNwYXRj +aGVyLg0KICAgICAgICAgICAgaWYgKCRQYXRoIC1lcSAnL2FwaS9hZG1pbi9lbWFpbHRyaWdnZXIn +IC1hbmQgJE1ldGhvZCAtZXEgJ1BVVCcpIHsNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAoVGVz +dC1Jc3RBZG1pbikpIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ0tlaW5lIEFkbWluLVJlY2h0ZScg +NDAzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJGJvZHkgPSBSZWFkLUJvZHkgJFJlcXVl +c3QNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAkYm9keSkgeyBTZW5kLUVycm9yICRSZXNwb25z +ZSAnQW5mcmFnZSB6dSBncm9zcycgNDEzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJGRh +dGVuID0gJGJvZHkgfCBDb252ZXJ0RnJvbS1Kc29uDQogICAgICAgICAgICAgICAgJGxvY2tFcmdl +Ym5pcyA9ICRudWxsDQogICAgICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAg +JGxvY2tFcmdlYm5pcyA9IEludm9rZS1XaXRoRmlsZUxvY2sgJ2FkbWluLmpzb24nIHsNCiAgICAg +ICAgICAgICAgICAgICAgICAgICRhZG1pbiA9IFJlYWQtSnNvbk9iamVjdCAnYWRtaW4uanNvbicN +CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkbnVsbCAtZXEgJGFkbWluKSB7IHJldHVybiBA +eyBvayA9ICRmYWxzZTsgc3RhdHVzID0gNTAwOyBtc2cgPSAnYWRtaW4uanNvbiBuaWNodCBsZXNi +YXInIH0gfQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRhZG1pbi5QU09iamVjdC5Qcm9w +ZXJ0aWVzWydlbWFpbFRyaWdnZXInXSkgeyAkYWRtaW4uZW1haWxUcmlnZ2VyID0gJGRhdGVuIH0N +CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeyAkYWRtaW4gfCBBZGQtTWVtYmVyIC1Ob3Rl +UHJvcGVydHlOYW1lICdlbWFpbFRyaWdnZXInIC1Ob3RlUHJvcGVydHlWYWx1ZSAkZGF0ZW4gLUZv +cmNlIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLUpzb25PYmplY3QgJ2FkbWluLmpz +b24nICRhZG1pbiB8IE91dC1OdWxsDQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gQHsg +b2sgPSAkdHJ1ZSB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9IGNh +dGNoIHsNCiAgICAgICAgICAgICAgICAgICAgU2VuZC1FcnJvciAkUmVzcG9uc2UgKCJMb2NrLUZl +aGxlcjogJF8iKSA1MDM7IGNvbnRpbnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg +ICAgIGlmICgtbm90ICRsb2NrRXJnZWJuaXMub2spIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJGxv +Y2tFcmdlYm5pcy5tc2cgJGxvY2tFcmdlYm5pcy5zdGF0dXM7IGNvbnRpbnVlIH0NCiAgICAgICAg +ICAgICAgICAkYW56ID0gaWYgKCRkYXRlbikgeyAoJGRhdGVuLlBTT2JqZWN0LlByb3BlcnRpZXMg +fCBNZWFzdXJlLU9iamVjdCkuQ291bnQgfSBlbHNlIHsgMCB9DQogICAgICAgICAgICAgICAgV3Jp +dGUtTG9nRWludHJhZyAnZW1haWx0cmlnZ2VyLmdlYWVuZGVydCcgQHsgYW56YWhsX3RyaWdnZXIg +PSAkYW56IH0NCiAgICAgICAgICAgICAgICBTZW5kLUpzb25PYmplY3QgJFJlc3BvbnNlIEB7IHN0 +YXR1cyA9ICdnZXNwZWljaGVydCcgfQ0KICAgICAgICAgICAgICAgIGNvbnRpbnVlDQogICAgICAg +ICAgICB9DQoNCiAgICAgICAgICAgICRhZG1pbktleXMgPSBAew0KICAgICAgICAgICAgICAgICcv +YXBpL2FkbWluL2ZlaWVydGFnZScgICAgICA9ICdmZWllcnRhZ2UnDQogICAgICAgICAgICAgICAg +Jy9hcGkvYWRtaW4vZmVyaWVuJyAgICAgICAgID0gJ2ZlcmllbicNCiAgICAgICAgICAgICAgICAn +L2FwaS9hZG1pbi9zb25kZXJ0ZXJtaW5lJyAgPSAnc29uZGVydGVybWluZScNCiAgICAgICAgICAg +ICAgICAnL2FwaS9hZG1pbi9zdGFuZG9ydGUnICAgICAgPSAnc3RhbmRvcnRlJw0KICAgICAgICAg +ICAgfQ0KICAgICAgICAgICAgaWYgKCRhZG1pbktleXMuQ29udGFpbnNLZXkoJFBhdGgpIC1hbmQg +JE1ldGhvZCAtZXEgJ1BVVCcpIHsNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAoVGVzdC1Jc3RB +ZG1pbikpIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ0tlaW5lIEFkbWluLVJlY2h0ZScgNDAzOyBj +b250aW51ZSB9DQogICAgICAgICAgICAgICAgJGJvZHkgPSBSZWFkLUJvZHkgJFJlcXVlc3QNCiAg +ICAgICAgICAgICAgICBpZiAoLW5vdCAkYm9keSkgeyBTZW5kLUVycm9yICRSZXNwb25zZSAnQW5m +cmFnZSB6dSBncm9zcycgNDEzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJGtleSA9ICRh +ZG1pbktleXNbJFBhdGhdDQogICAgICAgICAgICAgICAgIyBAKC4uLikgZXJ6d2luZ3QgQXJyYXkg +YXVjaCBiZWkgMSBFbGVtZW50IChQUyA1LjEgZW50cGFja3Qgc29uc3QpLg0KICAgICAgICAgICAg +ICAgICRib2R5T2JqID0gJGJvZHkgfCBDb252ZXJ0RnJvbS1Kc29uDQogICAgICAgICAgICAgICAg +JGRhdGVuID0gW29iamVjdFtdXUAoJGJvZHlPYmopDQogICAgICAgICAgICAgICAgIyBzb25kZXJ0 +ZXJtaW5lIHRyYWdlbiBSaWNoLVRleHQgKHRleHQpIOKAlCBzZXJ2ZXJzZWl0aWcgYmVyZWluaWdl +bi4NCiAgICAgICAgICAgICAgICBpZiAoJGtleSAtZXEgJ3NvbmRlcnRlcm1pbmUnKSB7DQogICAg +ICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRlIGluICRkYXRlbikgew0KICAgICAgICAgICAgICAg +ICAgICAgICAgaWYgKCRudWxsIC1uZSAkZSAtYW5kICRlLlBTT2JqZWN0LlByb3BlcnRpZXNbJ3Rl +eHQnXSAtYW5kICgkZS50ZXh0IC1pcyBbc3RyaW5nXSkpIHsNCiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAkZS50ZXh0ID0gQ29udmVydFRvLVNhZmVSaWNoSHRtbCAkZS50ZXh0DQogICAgICAg +ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg +ICB9DQogICAgICAgICAgICAgICAgJGxvY2tFcmdlYm5pcyA9ICRudWxsDQogICAgICAgICAgICAg +ICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgJGxvY2tFcmdlYm5pcyA9IEludm9rZS1XaXRo +RmlsZUxvY2sgJ2FkbWluLmpzb24nIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRhZG1pbiA9 +IFJlYWQtSnNvbk9iamVjdCAnYWRtaW4uanNvbicNCiAgICAgICAgICAgICAgICAgICAgICAgIGlm +ICgkbnVsbCAtZXEgJGFkbWluKSB7IHJldHVybiBAeyBvayA9ICRmYWxzZTsgc3RhdHVzID0gNTAw +OyBtc2cgPSAnYWRtaW4uanNvbiBuaWNodCBsZXNiYXInIH0gfQ0KICAgICAgICAgICAgICAgICAg +ICAgICAgJHdpcGVNc2cgPSBUZXN0LVdpcGVTY2h1dHogJGtleSAkZGF0ZW4gJGFkbWluICRSZXF1 +ZXN0ICRib2R5T2JqDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHdpcGVNc2cpIHsgcmV0 +dXJuIEB7IG9rID0gJGZhbHNlOyBzdGF0dXMgPSA0MDk7IG1zZyA9ICR3aXBlTXNnIH0gfQ0KICAg +ICAgICAgICAgICAgICAgICAgICAgW3ZvaWRdKEJhY2t1cC1BZG1pbkpzb24gJGtleSkNCiAgICAg +ICAgICAgICAgICAgICAgICAgIGlmICgkYWRtaW4uUFNPYmplY3QuUHJvcGVydGllc1ska2V5XSkg +eyAkYWRtaW4uJGtleSA9ICRkYXRlbiB9DQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsg +JGFkbWluIHwgQWRkLU1lbWJlciAtTm90ZVByb3BlcnR5TmFtZSAka2V5IC1Ob3RlUHJvcGVydHlW +YWx1ZSAkZGF0ZW4gLUZvcmNlIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLUpzb25P +YmplY3QgJ2FkbWluLmpzb24nICRhZG1pbiB8IE91dC1OdWxsDQogICAgICAgICAgICAgICAgICAg +ICAgICByZXR1cm4gQHsgb2sgPSAkdHJ1ZSB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAg +ICAgICAgICAgICB9IGNhdGNoIHsNCiAgICAgICAgICAgICAgICAgICAgU2VuZC1FcnJvciAkUmVz +cG9uc2UgKCJMb2NrLUZlaGxlcjogJF8iKSA1MDM7IGNvbnRpbnVlDQogICAgICAgICAgICAgICAg +fQ0KICAgICAgICAgICAgICAgIGlmICgtbm90ICRsb2NrRXJnZWJuaXMub2spIHsgU2VuZC1FcnJv +ciAkUmVzcG9uc2UgJGxvY2tFcmdlYm5pcy5tc2cgJGxvY2tFcmdlYm5pcy5zdGF0dXM7IGNvbnRp +bnVlIH0NCiAgICAgICAgICAgICAgICBXcml0ZS1Mb2dFaW50cmFnICIka2V5LmdlYWVuZGVydCIg +QHt9DQogICAgICAgICAgICAgICAgU2VuZC1Kc29uT2JqZWN0ICRSZXNwb25zZSBAeyBzdGF0dXMg +PSAnZ2VzcGVpY2hlcnQnIH0NCiAgICAgICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAgICAg +fQ0KICAgICAgICAgICAgaWYgKCRQYXRoIC1lcSAnL2FwaS9hZG1pbi9laW5zdGVsbHVuZ2VuJyAt +YW5kICRNZXRob2QgLWVxICdQVVQnKSB7DQogICAgICAgICAgICAgICAgaWYgKC1ub3QgKFRlc3Qt +SXN0QWRtaW4pKSB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICdLZWluZSBBZG1pbi1SZWNodGUnIDQw +MzsgY29udGludWUgfQ0KICAgICAgICAgICAgICAgICRib2R5ID0gUmVhZC1Cb2R5ICRSZXF1ZXN0 +DQogICAgICAgICAgICAgICAgaWYgKC1ub3QgJGJvZHkpIHsgU2VuZC1FcnJvciAkUmVzcG9uc2Ug +J0FuZnJhZ2UgenUgZ3Jvc3MnIDQxMzsgY29udGludWUgfQ0KICAgICAgICAgICAgICAgICRkYXRl +biA9ICRib2R5IHwgQ29udmVydEZyb20tSnNvbg0KICAgICAgICAgICAgICAgICMgUmljaC1UZXh0 +IHNlcnZlcnNlaXRpZyBzYW5pdGlzaWVyZW4g4oCUIGRpZXNlciBQZmFkIHNwZWljaGVydA0KICAg +ICAgICAgICAgICAgICMgaW5mb3RleHQvaGlsZmV0ZXh0L2JlZGllbnVuZ3N0ZXh0ZS9pbXByZXNz +dW0vc3VwcG9ydGluZm8vDQogICAgICAgICAgICAgICAgIyBzY2hsaWVzc2luZm8sIHdhciBhYmVy +IGJpc2hlciBhbSBTZXJ2ZXItU2FuaXRpemVyIHZvcmJlaSAoZGVyDQogICAgICAgICAgICAgICAg +IyBudXIgYW0gVm9sbC1QVVQgL2FwaS9hZG1pbiBoaW5nKS4gU2NodXR6IGdlZ2VuIG1hbmlwdWxp +ZXJ0ZW4NCiAgICAgICAgICAgICAgICAjIENsaWVudCAvIERpcmVrdC1BUEktQ2FsbC4NCiAgICAg +ICAgICAgICAgICBJbnZva2UtQWRtaW5SaWNodGV4dFNhbml0aXplICRkYXRlbg0KICAgICAgICAg +ICAgICAgICRsb2NrRXJnZWJuaXMgPSAkbnVsbA0KICAgICAgICAgICAgICAgIHRyeSB7DQogICAg +ICAgICAgICAgICAgICAgICRsb2NrRXJnZWJuaXMgPSBJbnZva2UtV2l0aEZpbGVMb2NrICdhZG1p +bi5qc29uJyB7DQogICAgICAgICAgICAgICAgICAgICAgICAkYWRtaW4gPSBSZWFkLUpzb25PYmpl +Y3QgJ2FkbWluLmpzb24nDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJG51bGwgLWVxICRh +ZG1pbikgeyByZXR1cm4gQHsgb2sgPSAkZmFsc2U7IHN0YXR1cyA9IDUwMDsgbXNnID0gJ2FkbWlu +Lmpzb24gbmljaHQgbGVzYmFyJyB9IH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2gg +KCRrIGluICdqYWhyJywnaW5mb3RleHQnLCdzdXBwb3J0aW5mbycsJ3NjaGxpZXNzaW5mbycsJ2hp +bGZldGV4dCcsJ2JlZGllbnVuZ3N0ZXh0ZScsJ3BhcGllcmtvcmJUYWdlQXVmYmV3YWhydW5nJywn +ZW1haWxBdXRvRG9tYWluJywnYXZhdGFyR3JvZXNzZScsJ2ltcHJlc3N1bScsJ3N1cHBvcnRNYWls +VGV4dCcsJ2VkaXRvclRyaWdnZXInKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg +KCRkYXRlbi5QU09iamVjdC5Qcm9wZXJ0aWVzWyRrXSkgew0KICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICBpZiAoJGFkbWluLlBTT2JqZWN0LlByb3BlcnRpZXNbJGtdKSB7ICRhZG1pbi4k +ayA9ICRkYXRlbi4kayB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeyAk +YWRtaW4gfCBBZGQtTWVtYmVyIC1Ob3RlUHJvcGVydHlOYW1lICRrIC1Ob3RlUHJvcGVydHlWYWx1 +ZSAkZGF0ZW4uJGsgLUZvcmNlIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAg +ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAjIGVkaXRvclRy +aWdnZXIgaXN0IGVpbiBFbnVtIOKAlCBmcmVtZGUgV2VydGUgKERpcmVrdC1BUEkpIGF1Zg0KICAg +ICAgICAgICAgICAgICAgICAgICAgIyBkZW4gRGVmYXVsdCBrbGVtbWVuLCBkYW1pdCBuaWUgTXVl +bGwgaW4gYWRtaW4uanNvbiBsYW5kZXQuDQogICAgICAgICAgICAgICAgICAgICAgICAkZXRWYWwg +PSBpZiAoJGFkbWluLlBTT2JqZWN0LlByb3BlcnRpZXNbJ2VkaXRvclRyaWdnZXInXSkgeyBbc3Ry +aW5nXSRhZG1pbi5lZGl0b3JUcmlnZ2VyIH0gZWxzZSB7ICcnIH0NCiAgICAgICAgICAgICAgICAg +ICAgICAgIGlmIChAKCdyZWNodHMnLCdsaW5rcycsJ21pdHRlJywnZG9wcGVsJykgLW5vdGNvbnRh +aW5zICRldFZhbCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkYWRtaW4uUFNP +YmplY3QuUHJvcGVydGllc1snZWRpdG9yVHJpZ2dlciddKSB7ICRhZG1pbi5lZGl0b3JUcmlnZ2Vy +ID0gJ3JlY2h0cycgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeyAkYWRtaW4g +fCBBZGQtTWVtYmVyIC1Ob3RlUHJvcGVydHlOYW1lICdlZGl0b3JUcmlnZ2VyJyAtTm90ZVByb3Bl +cnR5VmFsdWUgJ3JlY2h0cycgLUZvcmNlIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg +ICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLUpzb25PYmplY3QgJ2FkbWluLmpzb24nICRhZG1p +biB8IE91dC1OdWxsDQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gQHsgb2sgPSAkdHJ1 +ZSB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9IGNhdGNoIHsNCiAg +ICAgICAgICAgICAgICAgICAgU2VuZC1FcnJvciAkUmVzcG9uc2UgKCJMb2NrLUZlaGxlcjogJF8i +KSA1MDM7IGNvbnRpbnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmICgt +bm90ICRsb2NrRXJnZWJuaXMub2spIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJGxvY2tFcmdlYm5p +cy5tc2cgJGxvY2tFcmdlYm5pcy5zdGF0dXM7IGNvbnRpbnVlIH0NCiAgICAgICAgICAgICAgICBX +cml0ZS1Mb2dFaW50cmFnICdlaW5zdGVsbHVuZ2VuLmdlYWVuZGVydCcgQHt9DQogICAgICAgICAg +ICAgICAgU2VuZC1Kc29uT2JqZWN0ICRSZXNwb25zZSBAeyBzdGF0dXMgPSAnZ2VzcGVpY2hlcnQn +IH0NCiAgICAgICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAg +ICAjID09PT09IFBMQU5VTkcgPT09PT0NCiAgICAgICAgICAgIGlmICgkUGF0aCAtZXEgJy9hcGkv +cGxhbnVuZycgLWFuZCAkTWV0aG9kIC1lcSAnR0VUJykgew0KICAgICAgICAgICAgICAgICR0eHQg +PSBSZWFkLVRleHRGaWxlICdwbGFudW5nLmpzb24nDQogICAgICAgICAgICAgICAgaWYgKCRudWxs +IC1lcSAkdHh0KSB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICdwbGFudW5nLmpzb24gbmljaHQgZ2Vm +dW5kZW4nIDQwNCB9DQogICAgICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgICAg +ICMgVmVyc2lvbnMtU3RlbXBlbCAobXRpbWUtVGlja3MpIGZ1ZXIgb3B0aW1pc3Rpc2NoZSBTcGVy +cmUgZGVzDQogICAgICAgICAgICAgICAgICAgICMgRXhjZWwtSW1wb3J0cy4gRGVyIENsaWVudCBz +Y2hpY2t0IGlobiBiZWltIFBVVCB6dXJ1ZWNrLg0KICAgICAgICAgICAgICAgICAgICB0cnkgew0K +ICAgICAgICAgICAgICAgICAgICAgICAgJHBwViA9IEpvaW4tUGF0aCAkRGF0YURpciAncGxhbnVu +Zy5qc29uJw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFRlc3QtUGF0aCAtTGl0ZXJhbFBh +dGggJHBwVikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRSZXNwb25zZS5IZWFkZXJz +LkFkZCgnWC1QbGFudW5nLVZlcnNpb24nLCBbc3RyaW5nXShHZXQtSXRlbSAtTGl0ZXJhbFBhdGgg +JHBwVikuTGFzdFdyaXRlVGltZVV0Yy5UaWNrcykNCiAgICAgICAgICAgICAgICAgICAgICAgIH0N +CiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCB7fQ0KICAgICAgICAgICAgICAgICAgICBTZW5k +LUpzb25UZXh0ICRSZXNwb25zZSAkdHh0DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg +ICAgIGNvbnRpbnVlDQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoJFBhdGggLWVxICcv +YXBpL3BsYW51bmcnIC1hbmQgJE1ldGhvZCAtZXEgJ1BVVCcpIHsNCiAgICAgICAgICAgICAgICBp +ZiAoLW5vdCAoVGVzdC1Jc3RBZG1pbikpIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ0tlaW5lIEFk +bWluLVJlY2h0ZScgNDAzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJGJvZHkgPSBSZWFk +LUJvZHkgJFJlcXVlc3QNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAkYm9keSkgeyBTZW5kLUVy +cm9yICRSZXNwb25zZSAnQW5mcmFnZSB6dSBncm9zcycgNDEzOyBjb250aW51ZSB9DQogICAgICAg +ICAgICAgICAgIyBSZWFkLU1vZGlmeS1Xcml0ZSBhdG9tYXIgaW4gZGVyIGdsZWljaGVuIFNwZXJy +ZSB3aWUgZGllIEVpbnplbC0NCiAgICAgICAgICAgICAgICAjIHplbGwtRW5kcG9pbnRzLCBkYW1p +dCBkZXIgVm9sbC1JbXBvcnQgbmljaHQgbWl0IHBhcmFsbGVsZW4NCiAgICAgICAgICAgICAgICAj +IFplbGwtU2NocmVpYnZvcmdhZW5nZW4gdmVyemFobnQuIE9wdGlvbmFsZXIgVmVyc2lvbnMtQ2hl +Y2sNCiAgICAgICAgICAgICAgICAjIChvcHRpbWlzdGlzY2hlIE5lYmVubGFldWZpZ2tlaXQpOiBo +YXQgZGVyIENsaWVudCBlaW5lbg0KICAgICAgICAgICAgICAgICMgSWYtUGxhbnVuZy1WZXJzaW9u +LUhlYWRlciBnZXNjaGlja3QgdW5kIHN0aW1tdCBkZXIgbmljaHQgbWVocg0KICAgICAgICAgICAg +ICAgICMgbWl0IGRlbSBha3R1ZWxsZW4gU3RhbmQgdWViZXJlaW4sIHd1cmRlIHp3aXNjaGVuemVp +dGxpY2gNCiAgICAgICAgICAgICAgICAjIGdlc2NocmllYmVuIC0+IDQwOSwgTklDSFRTIHdpcmQg +dWViZXJzY2hyaWViZW4uDQogICAgICAgICAgICAgICAgJGVyd2FydGV0ZVZlcnNpb24gPSAkUmVx +dWVzdC5IZWFkZXJzWydJZi1QbGFudW5nLVZlcnNpb24nXQ0KICAgICAgICAgICAgICAgICRsb2Nr +RXJnZWJuaXMgPSAkbnVsbA0KICAgICAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAg +ICAgICRsb2NrRXJnZWJuaXMgPSBJbnZva2UtV2l0aEZpbGVMb2NrICdwbGFudW5nLmpzb24nIHsN +CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkZXJ3YXJ0ZXRlVmVyc2lvbikgew0KICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICRwcFYgPSBKb2luLVBhdGggJERhdGFEaXIgJ3BsYW51bmcu +anNvbicNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWt0dWVsbGVWZXJzaW9uID0gJycN +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoVGVzdC1QYXRoIC1MaXRlcmFsUGF0aCAk +cHBWKSB7ICRha3R1ZWxsZVZlcnNpb24gPSBbc3RyaW5nXShHZXQtSXRlbSAtTGl0ZXJhbFBhdGgg +JHBwVikuTGFzdFdyaXRlVGltZVV0Yy5UaWNrcyB9DQogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgaWYgKCRha3R1ZWxsZVZlcnNpb24gLW5lICRlcndhcnRldGVWZXJzaW9uKSB7DQogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBAeyB0eXAgPSAna29uZmxpa3QnOyBha3R1 +ZWxsID0gJGFrdHVlbGxlVmVyc2lvbiB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K +ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUt +VGV4dEZpbGUgJ3BsYW51bmcuanNvbicgJGJvZHkgfCBPdXQtTnVsbA0KICAgICAgICAgICAgICAg +ICAgICAgICAgcmV0dXJuIEB7IHR5cCA9ICdvaycgfQ0KICAgICAgICAgICAgICAgICAgICB9DQog +ICAgICAgICAgICAgICAgfSBjYXRjaCB7DQogICAgICAgICAgICAgICAgICAgIFNlbmQtRXJyb3Ig +JFJlc3BvbnNlICgiTG9jay1GZWhsZXI6ICRfIikgNTAzOyBjb250aW51ZQ0KICAgICAgICAgICAg +ICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoJGxvY2tFcmdlYm5pcy50eXAgLWVxICdrb25mbGlr +dCcpIHsNCiAgICAgICAgICAgICAgICAgICAgU2VuZC1Kc29uT2JqZWN0ICRSZXNwb25zZSBAew0K +ICAgICAgICAgICAgICAgICAgICAgICAgZmVobGVyICAgICAgICAgID0gJ2tvbmZsaWt0Jw0KICAg +ICAgICAgICAgICAgICAgICAgICAgbWVsZHVuZyAgICAgICAgID0gJ0RpZSBQbGFudW5nIHd1cmRl +IHp3aXNjaGVuemVpdGxpY2ggdm9uIGVpbmVyIGFuZGVyZW4gUGVyc29uIGdlYWVuZGVydC4nDQog +ICAgICAgICAgICAgICAgICAgICAgICBha3R1ZWxsZVZlcnNpb24gPSAkbG9ja0VyZ2VibmlzLmFr +dHVlbGwNCiAgICAgICAgICAgICAgICAgICAgfSA0MDkNCiAgICAgICAgICAgICAgICAgICAgY29u +dGludWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgU2VuZC1Kc29uT2JqZWN0 +ICRSZXNwb25zZSBAeyBzdGF0dXMgPSAnZ2VzcGVpY2hlcnQnIH0NCiAgICAgICAgICAgICAgICBj +b250aW51ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKCRQYXRoIC1lcSAnL2FwaS9w +bGFudW5nL3plbGxlJyAtYW5kICRNZXRob2QgLWVxICdQT1NUJykgew0KICAgICAgICAgICAgICAg +ICRib2R5ID0gUmVhZC1Cb2R5ICRSZXF1ZXN0DQogICAgICAgICAgICAgICAgaWYgKC1ub3QgJGJv +ZHkpIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ0FuZnJhZ2UgenUgZ3Jvc3MnIDQxMzsgY29udGlu +dWUgfQ0KICAgICAgICAgICAgICAgICRhID0gJGJvZHkgfCBDb252ZXJ0RnJvbS1Kc29uDQogICAg +ICAgICAgICAgICAgJGRhdHVtID0gJGEuZGF0dW0NCiAgICAgICAgICAgICAgICAkcGVyc29uSWQg +PSBbc3RyaW5nXSRhLnBlcnNvbklkDQogICAgICAgICAgICAgICAgJHdlcnQgPSBpZiAoJGEuUFNP +YmplY3QuUHJvcGVydGllc1snd2VydCddKSB7ICRhLndlcnQgfSBlbHNlIHsgJycgfQ0KICAgICAg +ICAgICAgICAgICMgT3B0aW1pc3RpYy1Db25jdXJyZW5jeTogV2VubiBkZXIgQ2xpZW50IHNlaW5l +biB6dWxldHp0IGdlc2VoZW5lbg0KICAgICAgICAgICAgICAgICMgV2VydCBtaXRsaWVmZXJ0LCBw +cnVlZmVuIHdpciB2b3IgZGVtIFNjaHJlaWJlbiBvYiBkZXIgU2VydmVyDQogICAgICAgICAgICAg +ICAgIyBub2NoIGRlbnNlbGJlbiBTdGFuZCBoYXQuIE1pc21hdGNoIC0+IDQwOSBtaXQgYWt0dWVs +bGVyV2VydC4NCiAgICAgICAgICAgICAgICAkaGF0RXJ3YXJ0ZXQgPSAkYS5QU09iamVjdC5Qcm9w +ZXJ0aWVzWydlcndhcnRldGVyQWx0ZXJXZXJ0J10NCiAgICAgICAgICAgICAgICAkZXJ3YXJ0ZXQg +PSBpZiAoJGhhdEVyd2FydGV0KSB7IFtzdHJpbmddJGEuZXJ3YXJ0ZXRlckFsdGVyV2VydCB9IGVs +c2UgeyAkbnVsbCB9DQoNCiAgICAgICAgICAgICAgICAjIEVkaXQtUmVjaHQgZ2VnZW4gYWt0dWVs +bGVuIFN0YW5kIHBydWVmZW4gKG5vY2ggb2huZSBMb2NrIOKAlCBudXIgTG9va3VwKQ0KICAgICAg +ICAgICAgICAgICRwbGFudW5nQ2hlY2sgPSBSZWFkLUpzb25PYmplY3QgJ3BsYW51bmcuanNvbicN +CiAgICAgICAgICAgICAgICBpZiAoJG51bGwgLWVxICRwbGFudW5nQ2hlY2spIHsgU2VuZC1FcnJv +ciAkUmVzcG9uc2UgJ3BsYW51bmcuanNvbiBuaWNodCBnZWZ1bmRlbicgNDA0OyBjb250aW51ZSB9 +DQogICAgICAgICAgICAgICAgJHppZWxQZXJzb24gPSAkbnVsbA0KICAgICAgICAgICAgICAgIGlm +ICgkcGxhbnVuZ0NoZWNrLnBlcnNvbmVuKSB7DQogICAgICAgICAgICAgICAgICAgIGZvcmVhY2gg +KCRwcCBpbiBAKCRwbGFudW5nQ2hlY2sucGVyc29uZW4pKSB7DQogICAgICAgICAgICAgICAgICAg +ICAgICBpZiAoW3N0cmluZ10kcHAuaWQgLWVxICRwZXJzb25JZCkgeyAkemllbFBlcnNvbiA9ICRw +cDsgYnJlYWsgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAg +ICAgICAgICAgICAgIGlmICgtbm90IChUZXN0LURhcmZaZWxsZUVkaXRpZXJlbiAkemllbFBlcnNv +bikpIHsNCiAgICAgICAgICAgICAgICAgICAgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ0tlaW5lIEJl +cmVjaHRpZ3VuZyBmdWVyIGRpZXNlIFplbGxlJyA0MDM7IGNvbnRpbnVlDQogICAgICAgICAgICAg +ICAgfQ0KDQogICAgICAgICAgICAgICAgIyBSZWFkLU1vZGlmeS1Xcml0ZSBhdG9tYXIgaW4gTG9j +azoNCiAgICAgICAgICAgICAgICAkY2xpZW50UXVpdHRpZXJ0ID0gKCRhLlBTT2JqZWN0LlByb3Bl +cnRpZXNbJ3VudGVyYmVzZXR6dW5nU2NoaWNodCddIC1hbmQgJGEudW50ZXJiZXNldHp1bmdTY2hp +Y2h0KQ0KICAgICAgICAgICAgICAgICRsb2NrRXJnZWJuaXMgPSAkbnVsbA0KICAgICAgICAgICAg +ICAgIHRyeSB7DQogICAgICAgICAgICAgICAgICAgICRsb2NrRXJnZWJuaXMgPSBJbnZva2UtV2l0 +aEZpbGVMb2NrICdwbGFudW5nLmpzb24nIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRwbGFu +dW5nID0gUmVhZC1Kc29uT2JqZWN0ICdwbGFudW5nLmpzb24nDQogICAgICAgICAgICAgICAgICAg +ICAgICBpZiAoJG51bGwgLWVxICRwbGFudW5nKSB7IHJldHVybiBAeyB0eXAgPSAnZXJyb3InOyBj +b2RlID0gNDA0OyBtc2cgPSAncGxhbnVuZy5qc29uIG5pY2h0IGdlZnVuZGVuJyB9IH0NCiAgICAg +ICAgICAgICAgICAgICAgICAgIGlmICgtbm90ICRwbGFudW5nLlBTT2JqZWN0LlByb3BlcnRpZXNb +J2VpbnRyYWVnZSddKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBsYW51bmcgfCBB +ZGQtTWVtYmVyIC1Ob3RlUHJvcGVydHlOYW1lICdlaW50cmFlZ2UnIC1Ob3RlUHJvcGVydHlWYWx1 +ZSAoTmV3LU9iamVjdCBQU09iamVjdCkgLUZvcmNlDQogICAgICAgICAgICAgICAgICAgICAgICB9 +DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoLW5vdCAkcGxhbnVuZy5laW50cmFlZ2UuUFNP +YmplY3QuUHJvcGVydGllc1skZGF0dW1dKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg +JHBsYW51bmcuZWludHJhZWdlIHwgQWRkLU1lbWJlciAtTm90ZVByb3BlcnR5TmFtZSAkZGF0dW0g +LU5vdGVQcm9wZXJ0eVZhbHVlIChOZXctT2JqZWN0IFBTT2JqZWN0KSAtRm9yY2UNCiAgICAgICAg +ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICRhbHRlciA9ICcnDQog +ICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHBsYW51bmcuZWludHJhZWdlLiRkYXR1bS5QU09i +amVjdC5Qcm9wZXJ0aWVzWyRwZXJzb25JZF0pIHsgJGFsdGVyID0gW3N0cmluZ10kcGxhbnVuZy5l +aW50cmFlZ2UuJGRhdHVtLiRwZXJzb25JZCB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICMg +T3B0aW1pc3RpYy1Db25jdXJyZW5jeS1DaGVjaw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYg +KCRoYXRFcndhcnRldCAtYW5kICRlcndhcnRldCAtbmUgJGFsdGVyKSB7DQogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgcmV0dXJuIEB7IHR5cCA9ICdrb25mbGlrdCc7IGFrdHVlbGwgPSAkYWx0 +ZXIgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAg +ICAjIEZ1ZWhydW5ncy1VbnRlcmJlc2V0enVuZyAoVmVyYmluZGxpY2hrZWl0c2ZlbnN0ZXIpIC0g +Z2xlaWNoZXMgUHJpbnppcCB3aWUgdm9yaGVyLA0KICAgICAgICAgICAgICAgICAgICAgICAgIyBq +ZXR6dCBhYmVyIGdlZ2VuIGRlbiBnZWxvY2t0ZW4gU3RhbmQuDQogICAgICAgICAgICAgICAgICAg +ICAgICBpZiAoLW5vdCAkY2xpZW50UXVpdHRpZXJ0IC1hbmQgKFRlc3QtSW5WZXJiaW5kbGljaGtl +aXQgJGRhdHVtKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbHRlU2NoaWNodCA9 +IEdldC1GdWVocnVuZ3NTY2hpY2h0TGV0dGVyICRhbHRlcg0KICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICRuZXVlU2NoaWNodCA9IEdldC1GdWVocnVuZ3NTY2hpY2h0TGV0dGVyICR3ZXJ0DQog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRhbHRlU2NoaWNodCAtYW5kICRhbHRlU2No +aWNodCAtbmUgJG5ldWVTY2hpY2h0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICRha3R1ZWxsQ291bnQgPSBHZXQtRnVlaHJ1bmdzQ291bnQgJHBsYW51bmcgJGRhdHVtICRhbHRl +U2NoaWNodA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKCRha3R1ZWxsQ291 +bnQgLSAxKSAtbHQgMikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0 +dXJuIEB7IHR5cCA9ICd1bnRlcmJlc2V0enVuZyc7IHNjaGljaHQgPSAkYWx0ZVNjaGljaHQ7IGFr +dHVlbGxDb3VudCA9ICRha3R1ZWxsQ291bnQ7IGFsdGVyID0gJGFsdGVyIH0NCiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg +ICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC1u +b3QgJHdlcnQgLW9yIFtzdHJpbmddOjpJc051bGxPcldoaXRlU3BhY2UoJHdlcnQpKSB7DQogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRwbGFudW5nLmVpbnRyYWVnZS4kZGF0dW0uUFNP +YmplY3QuUHJvcGVydGllc1skcGVyc29uSWRdKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICRwbGFudW5nLmVpbnRyYWVnZS4kZGF0dW0uUFNPYmplY3QuUHJvcGVydGllcy5SZW1v +dmUoJHBlcnNvbklkKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg +ICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRw +bGFudW5nLmVpbnRyYWVnZS4kZGF0dW0uUFNPYmplY3QuUHJvcGVydGllc1skcGVyc29uSWRdKSB7 +ICRwbGFudW5nLmVpbnRyYWVnZS4kZGF0dW0uJHBlcnNvbklkID0gJHdlcnQgfQ0KICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIGVsc2UgeyAkcGxhbnVuZy5laW50cmFlZ2UuJGRhdHVtIHwgQWRk +LU1lbWJlciAtTm90ZVByb3BlcnR5TmFtZSAkcGVyc29uSWQgLU5vdGVQcm9wZXJ0eVZhbHVlICR3 +ZXJ0IC1Gb3JjZSB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg +ICAgICAgICBXcml0ZS1Kc29uT2JqZWN0ICdwbGFudW5nLmpzb24nICRwbGFudW5nIHwgT3V0LU51 +bGwNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBAeyB0eXAgPSAnb2snOyBhbHRlciA9 +ICRhbHRlciB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9IGNhdGNo +IHsNCiAgICAgICAgICAgICAgICAgICAgU2VuZC1FcnJvciAkUmVzcG9uc2UgKCJMb2NrLUZlaGxl +cjogJF8iKSA1MDM7IGNvbnRpbnVlDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAg +ICAgaWYgKCRsb2NrRXJnZWJuaXMudHlwIC1lcSAnZXJyb3InKSB7IFNlbmQtRXJyb3IgJFJlc3Bv +bnNlICRsb2NrRXJnZWJuaXMubXNnICRsb2NrRXJnZWJuaXMuY29kZTsgY29udGludWUgfQ0KICAg +ICAgICAgICAgICAgIGlmICgkbG9ja0VyZ2VibmlzLnR5cCAtZXEgJ2tvbmZsaWt0Jykgew0KICAg +ICAgICAgICAgICAgICAgICBTZW5kLUpzb25PYmplY3QgJFJlc3BvbnNlIEB7DQogICAgICAgICAg +ICAgICAgICAgICAgICBmZWhsZXIgICAgICAgID0gJ2tvbmZsaWt0Jw0KICAgICAgICAgICAgICAg +ICAgICAgICAgbWVsZHVuZyAgICAgICA9ICdEaWVzZSBaZWxsZSB3dXJkZSBpbnp3aXNjaGVuIGdl +YWVuZGVydC4nDQogICAgICAgICAgICAgICAgICAgICAgICBha3R1ZWxsZXJXZXJ0ID0gJGxvY2tF +cmdlYm5pcy5ha3R1ZWxsDQogICAgICAgICAgICAgICAgICAgIH0gNDA5DQogICAgICAgICAgICAg +ICAgICAgIGNvbnRpbnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmICgk +bG9ja0VyZ2VibmlzLnR5cCAtZXEgJ3VudGVyYmVzZXR6dW5nJykgew0KICAgICAgICAgICAgICAg +ICAgICBTZW5kLUpzb25PYmplY3QgJFJlc3BvbnNlIEB7DQogICAgICAgICAgICAgICAgICAgICAg +ICBmZWhsZXIgICAgICAgICA9ICdGdWVocnVuZ3MtVW50ZXJiZXNldHp1bmcnDQogICAgICAgICAg +ICAgICAgICAgICAgICBrb25mbGlrdFR5cCAgICA9ICd1bnRlcmJlc2V0enVuZycNCiAgICAgICAg +ICAgICAgICAgICAgICAgIHNjaGljaHQgICAgICAgID0gJGxvY2tFcmdlYm5pcy5zY2hpY2h0DQog +ICAgICAgICAgICAgICAgICAgICAgICBha3R1ZWxsQ291bnQgICA9ICRsb2NrRXJnZWJuaXMuYWt0 +dWVsbENvdW50DQogICAgICAgICAgICAgICAgICAgICAgICBhbHRlcldlcnQgICAgICA9ICRsb2Nr +RXJnZWJuaXMuYWx0ZXINCiAgICAgICAgICAgICAgICAgICAgICAgIG5ldWVyV2VydCAgICAgID0g +JHdlcnQNCiAgICAgICAgICAgICAgICAgICAgfSA0MDkNCiAgICAgICAgICAgICAgICAgICAgY29u +dGludWUNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAkYWx0ZXIgPSAkbG9j +a0VyZ2VibmlzLmFsdGVyDQogICAgICAgICAgICAgICAgV3JpdGUtTG9nRWludHJhZyAnemVsbGUu +Z2VhZW5kZXJ0JyBAeyBkYXR1bSA9ICRkYXR1bTsgcGVyc29uSWQgPSAkcGVyc29uSWQ7IGFsdGVy +V2VydCA9ICIkYWx0ZXIiOyBuZXVlcldlcnQgPSAiJHdlcnQiIH0NCiAgICAgICAgICAgICAgICAj +IExpdmUtU3luYzogQ2hhbmdlLUxvZyBmdWVyIGRlbiBzeW5jLXdvcmtlci4NCiAgICAgICAgICAg +ICAgICBBZGQtQ2hhbmdlTG9nRWludHJhZyAnemVsbGUnIEB7DQogICAgICAgICAgICAgICAgICAg +IGRhdHVtICAgID0gJGRhdHVtDQogICAgICAgICAgICAgICAgICAgIHBlcnNvbklkID0gJHBlcnNv +bklkDQogICAgICAgICAgICAgICAgICAgIGFsdCAgICAgID0gIiRhbHRlciINCiAgICAgICAgICAg +ICAgICAgICAgbmV1ICAgICAgPSAiJHdlcnQiDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAg +ICAgICAgICAgIyBVbnRlcmJlc2V0enVuZ3MtUXVpdHR1bmc6IGV4dHJhIExvZ2J1Y2gtRWludHJh +ZywgZGVuIEZhY2hhdWZzaWNodC9XTCBzZWhlbiBzb2xsDQogICAgICAgICAgICAgICAgaWYgKCRh +LlBTT2JqZWN0LlByb3BlcnRpZXNbJ3VudGVyYmVzZXR6dW5nU2NoaWNodCddIC1hbmQgJGEudW50 +ZXJiZXNldHp1bmdTY2hpY2h0KSB7DQogICAgICAgICAgICAgICAgICAgICRzY2hpY2h0TGV0dGVy +ID0gW3N0cmluZ10kYS51bnRlcmJlc2V0enVuZ1NjaGljaHQNCiAgICAgICAgICAgICAgICAgICAg +JHNjaGljaHRUZXh0ID0gc3dpdGNoICgkc2NoaWNodExldHRlcikgew0KICAgICAgICAgICAgICAg +ICAgICAgICAgJ0YnIHsgJ0ZydWVoc2NoaWNodCcgfQ0KICAgICAgICAgICAgICAgICAgICAgICAg +J1MnIHsgJ1NwYWV0c2NoaWNodCcgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgJ04nIHsgJ05h +Y2h0c2NoaWNodCcgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdCB7ICRzY2hpY2h0 +TGV0dGVyIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAkb2VU +eHQgPSAnJw0KICAgICAgICAgICAgICAgICAgICBpZiAoJHppZWxQZXJzb24gLWFuZCAkemllbFBl +cnNvbi5QU09iamVjdC5Qcm9wZXJ0aWVzWydvZSddKSB7ICRvZVR4dCA9IFtzdHJpbmddJHppZWxQ +ZXJzb24ub2UgfQ0KICAgICAgICAgICAgICAgICAgICAkbmFtZVR4dCA9ICcnDQogICAgICAgICAg +ICAgICAgICAgIGlmICgkemllbFBlcnNvbikgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHZu +ID0gJyc7IGlmICgkemllbFBlcnNvbi5QU09iamVjdC5Qcm9wZXJ0aWVzWyd2b3JuYW1lJ10pIHsg +JHZuID0gW3N0cmluZ10kemllbFBlcnNvbi52b3JuYW1lIH0NCiAgICAgICAgICAgICAgICAgICAg +ICAgICRuYW1lVHh0ID0gKCIkdm4gJCgkemllbFBlcnNvbi5uYW1lKSIpLlRyaW0oKQ0KICAgICAg +ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIFdyaXRlLUxvZ0VpbnRyYWcgJ3Vu +dGVyYmVzZXR6dW5nLnF1aXR0aWVydCcgQHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdHVt +ICAgICA9ICRkYXR1bQ0KICAgICAgICAgICAgICAgICAgICAgICAgcGVyc29uSWQgID0gJHBlcnNv +bklkDQogICAgICAgICAgICAgICAgICAgICAgICBwZXJzb24gICAgPSAkbmFtZVR4dA0KICAgICAg +ICAgICAgICAgICAgICAgICAgb2UgICAgICAgID0gJG9lVHh0DQogICAgICAgICAgICAgICAgICAg +ICAgICBzY2hpY2h0ICAgPSAkc2NoaWNodFRleHQNCiAgICAgICAgICAgICAgICAgICAgICAgIGFs +dGVyV2VydCA9ICIkYWx0ZXIiDQogICAgICAgICAgICAgICAgICAgICAgICBuZXVlcldlcnQgPSAi +JHdlcnQiDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAg +ICAgICAgICAgIyBQaGFzZSBELjMgKDIwMjYtMDUtMjEpOiB3ZW5uIGRpZSBLcmFua21lbGR1bmcg +enVydWVja2dlbm9tbWVuDQogICAgICAgICAgICAgICAgIyB3aXJkIChhbHRlciBXZXJ0IHdhciBr +ci9LdXIsIG5ldWVyIFdlcnQgaXN0IGVzIG5pY2h0IG1laHIpLA0KICAgICAgICAgICAgICAgICMg +ZW50ZmVybmVuIHdpciBkZW4gb2ZmZW5lbiBIaW53ZWlzIOKAlCBzb25zdCBpc3QgZXIgYmlzIHp1 +DQogICAgICAgICAgICAgICAgIyAzMCBUYWdlIHByYWVzZW50LCBvYndvaGwgZGFzIEVyZWlnbmlz +IGVybGVkaWd0IGlzdC4NCiAgICAgICAgICAgICAgICBpZiAoKCRhbHRlciAtZXEgJ2tyJyAtb3Ig +JGFsdGVyIC1lcSAnS3VyJykgLWFuZCAoJHdlcnQgLW5lICdrcicgLWFuZCAkd2VydCAtbmUgJ0t1 +cicpKSB7DQogICAgICAgICAgICAgICAgICAgIFJlbW92ZS1PZmZlbmVLcmFua21lbGR1bmdzSGlu +d2Vpc2UgJHBlcnNvbklkICRkYXR1bQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg +ICAjIEhpbndlaXMtVHJpZ2dlcjogS3JhbmttZWxkdW5nIGVyemV1Z3QgZWluZW4gSW4tQXBwLUhp +bndlaXMNCiAgICAgICAgICAgICAgICAjIGZ1ZXIgU1UgKyBHZXNhbXR2ZXJhbnR3b3J0bGljaGUg +KFNjaGljaHRsb2NoIGltIE1vZGFsIGRpcmVrdA0KICAgICAgICAgICAgICAgICMgYWRyZXNzaWVy +YmFyIHZpYSAiS2FuZGlkYXRlbiBhbnNjaHJlaWJlbiItQnV0dG9uKS4NCiAgICAgICAgICAgICAg +ICBpZiAoJHdlcnQgLWVxICdrcicgLW9yICR3ZXJ0IC1lcSAnS3VyJykgew0KICAgICAgICAgICAg +ICAgICAgICAka21OYW1lID0gJycNCiAgICAgICAgICAgICAgICAgICAgaWYgKCR6aWVsUGVyc29u +KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAka3ZuID0gJyc7IGlmICgkemllbFBlcnNvbi5Q +U09iamVjdC5Qcm9wZXJ0aWVzWyd2b3JuYW1lJ10pIHsgJGt2biA9IFtzdHJpbmddJHppZWxQZXJz +b24udm9ybmFtZSB9DQogICAgICAgICAgICAgICAgICAgICAgICAka21OYW1lID0gKCIka3ZuICQo +JHppZWxQZXJzb24ubmFtZSkiKS5UcmltKCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg +ICAgICAgICAgICAgICAka21HcnVwcGUgPSAnJw0KICAgICAgICAgICAgICAgICAgICBpZiAoJHpp +ZWxQZXJzb24gLWFuZCAkemllbFBlcnNvbi5QU09iamVjdC5Qcm9wZXJ0aWVzWydncnVwcGUnXSkg +eyAka21HcnVwcGUgPSBbc3RyaW5nXSR6aWVsUGVyc29uLmdydXBwZSB9DQogICAgICAgICAgICAg +ICAgICAgICRrbVNjaGljaHRMZXR0ZXIgPSAnJw0KICAgICAgICAgICAgICAgICAgICBpZiAoIiRh +bHRlciIgLW1hdGNoICdeKFtGU05dKS0nKSB7ICRrbVNjaGljaHRMZXR0ZXIgPSAkTWF0Y2hlc1sx +XSB9DQogICAgICAgICAgICAgICAgICAgIE5ldy1IaW53ZWlzICdrcmFua21lbGR1bmcnIChbb3Jk +ZXJlZF1Aew0KICAgICAgICAgICAgICAgICAgICAgICAgcGVyc29uX2lkICAgID0gJHBlcnNvbklk +DQogICAgICAgICAgICAgICAgICAgICAgICBwZXJzb25fbmFtZSAgPSAka21OYW1lDQogICAgICAg +ICAgICAgICAgICAgICAgICBncnVwcGUgICAgICAgPSAka21HcnVwcGUNCiAgICAgICAgICAgICAg +ICAgICAgICAgIGRhdHVtICAgICAgICA9ICRkYXR1bQ0KICAgICAgICAgICAgICAgICAgICAgICAg +c2NoaWNodENvZGUgID0gIiRhbHRlciINCiAgICAgICAgICAgICAgICAgICAgICAgIHNjaGljaHRL +dXJ6ICA9ICRrbVNjaGljaHRMZXR0ZXINCiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUgICAg +ICAgICA9ICIkd2VydCINCiAgICAgICAgICAgICAgICAgICAgfSkgKEdldC1Ba3R1ZWxsZXJCZW51 +dHplcikgfCBPdXQtTnVsbA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBTZW5k +LUpzb25PYmplY3QgJFJlc3BvbnNlIEB7IHN0YXR1cyA9ICdnZXNwZWljaGVydCc7IGFsdGVyV2Vy +dCA9ICRhbHRlciB9DQogICAgICAgICAgICAgICAgY29udGludWUNCiAgICAgICAgICAgIH0NCiAg +ICAgICAgICAgICMgQnVsay1TY2hyZWliZW4gbWVocmVyZXIgWmVsbGVuIGluIGVpbmVtIFNjaHJp +dHQg4oCUIGF1ZmdlcnVmZW4NCiAgICAgICAgICAgICMgdm9tIEV4Y2VsLUZ1ZWxsLUdyaWZmLiBT +cGFydCBwcm8gRHJhZyBiaXMgenUgMTAwKyBIVFRQLVJvdW5kdHJpcHMNCiAgICAgICAgICAgICMg +dW5kIERhdGVpLVNjaHJlaWJ2b3JnYWVuZ2UuIFBlcm1pc3Npb24tQ2hlY2sgcHJvIFplbGxlLCBl +aW4NCiAgICAgICAgICAgICMgZWluemlnZXIgTG9nYnVjaC1FaW50cmFnIGZhc3N0IGRpZSBBa3Rp +b24genVzYW1tZW4uDQogICAgICAgICAgICBpZiAoJFBhdGggLWVxICcvYXBpL3BsYW51bmcvemVs +bGVuLWJ1bGsnIC1hbmQgJE1ldGhvZCAtZXEgJ1BPU1QnKSB7DQogICAgICAgICAgICAgICAgJGJv +ZHkgPSBSZWFkLUJvZHkgJFJlcXVlc3QNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAkYm9keSkg +eyBTZW5kLUVycm9yICRSZXNwb25zZSAnQW5mcmFnZSB6dSBncm9zcycgNDEzOyBjb250aW51ZSB9 +DQogICAgICAgICAgICAgICAgJGEgPSAkYm9keSB8IENvbnZlcnRGcm9tLUpzb24NCiAgICAgICAg +ICAgICAgICAkZWludHJhZWdlID0gQCgkYS5laW50cmFlZ2UpDQogICAgICAgICAgICAgICAgaWYg +KC1ub3QgJGVpbnRyYWVnZSAtb3IgJGVpbnRyYWVnZS5Db3VudCAtZXEgMCkgew0KICAgICAgICAg +ICAgICAgICAgICBTZW5kLUpzb25PYmplY3QgJFJlc3BvbnNlIEB7IHN0YXR1cyA9ICdvayc7IG9r +ID0gMDsgYWJnZWxlaG50ID0gQCgpIH0NCiAgICAgICAgICAgICAgICAgICAgY29udGludWUNCiAg +ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgIyBSZWFkLU1vZGlmeS1Xcml0ZSBhdG9t +YXIgaW4gZGVyIERhdGVpLVNwZXJyZSDigJQgd2llIGRlciBFaW56ZWwtDQogICAgICAgICAgICAg +ICAgIyB6ZWxsLUVuZHBvaW50LiBPaG5lIExvY2sga2FubiBlaW4gcGFyYWxsZWxlciBFZGl0L0J1 +bGsgKGF1Y2gNCiAgICAgICAgICAgICAgICAjIGF1cyBlaW5lbSBhbmRlcmVuIFNlcnZlci1Qcm96 +ZXNzIGF1ZiBkZW1zZWxiZW4gU2hhcmUpIGRlbg0KICAgICAgICAgICAgICAgICMgZ2VyYWRlIGdl +bGVzZW5lbiBHZXNhbXRzdGFuZCB1ZWJlcnNjaHJlaWJlbiAoTG9zdCBVcGRhdGUgdWViZXINCiAg +ICAgICAgICAgICAgICAjIGRpZSBHQU5aRSBEYXRlaSkuIExvZ2J1Y2ggKyBMaXZlLVN5bmMgbGF1 +ZmVuIE5BQ0ggZGVyIFNwZXJyZSwNCiAgICAgICAgICAgICAgICAjIHVtIGdlc2NoYWNodGVsdGUg +TG9ja3MgKGxvZ2J1Y2gvY2hhbmdlcykgenUgdmVybWVpZGVuLg0KICAgICAgICAgICAgICAgICRy +ZXMgPSAkbnVsbA0KICAgICAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgICAgICRy +ZXMgPSBJbnZva2UtV2l0aEZpbGVMb2NrICdwbGFudW5nLmpzb24nIHsNCiAgICAgICAgICAgICAg +ICAgICAgICAgICRwbGFudW5nID0gUmVhZC1Kc29uT2JqZWN0ICdwbGFudW5nLmpzb24nDQogICAg +ICAgICAgICAgICAgICAgICAgICBpZiAoJG51bGwgLWVxICRwbGFudW5nKSB7IHJldHVybiBAeyB0 +eXAgPSAnZXJyb3InOyBjb2RlID0gNDA0OyBtc2cgPSAncGxhbnVuZy5qc29uIG5pY2h0IGdlZnVu +ZGVuJyB9IH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgtbm90ICRwbGFudW5nLlBTT2Jq +ZWN0LlByb3BlcnRpZXNbJ2VpbnRyYWVnZSddKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgJHBsYW51bmcgfCBBZGQtTWVtYmVyIC1Ob3RlUHJvcGVydHlOYW1lICdlaW50cmFlZ2UnIC1O +b3RlUHJvcGVydHlWYWx1ZSAoW1BTQ3VzdG9tT2JqZWN0XUB7fSkgLUZvcmNlDQogICAgICAgICAg +ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAjIFBlcnNvbmVuLU1hcCBl +aW5tYWwgYXVmYmF1ZW4g4oCUIFBlcm1pc3Npb24tQ2hlY2sgcHJvDQogICAgICAgICAgICAgICAg +ICAgICAgICAjIEVpbnRyYWcgb2huZSBSZXNjYW4gZGVyIFBlcnNvbmVubGlzdGUuDQogICAgICAg +ICAgICAgICAgICAgICAgICAkcGVyc29uTWFwID0gQHt9DQogICAgICAgICAgICAgICAgICAgICAg +ICBpZiAoJHBsYW51bmcucGVyc29uZW4pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBm +b3JlYWNoICgkcHAgaW4gQCgkcGxhbnVuZy5wZXJzb25lbikpIHsgJHBlcnNvbk1hcFtbc3RyaW5n +XSRwcC5pZF0gPSAkcHAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg +ICAgICAgICAgICAgJG9rQ291bnQgPSAwDQogICAgICAgICAgICAgICAgICAgICAgICAkYWJnZWxl +aG50ID0gQCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkZXJzdGVzUGlkID0gJG51bGwNCiAg +ICAgICAgICAgICAgICAgICAgICAgICRlcnN0ZXNXZXJ0ID0gJG51bGwNCiAgICAgICAgICAgICAg +ICAgICAgICAgICRlcnN0ZXNEYXR1bSA9ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAk +bGV0enRlc0RhdHVtID0gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICMgYWx0ZVdlcnRl +LU1hcCBmdWVyIExvZ2J1Y2gtUmVzdG9yZTogS2V5ID0gIjxkYXR1bT58PHBlcnNvbklkPiIuDQog +ICAgICAgICAgICAgICAgICAgICAgICAkYWx0ZVdlcnRlID0gQHt9DQogICAgICAgICAgICAgICAg +ICAgICAgICAjIHN5bmNFaW50cmFlZ2U6IHBybyBnZW11dGllcnRlciBaZWxsZSBlaW4gRWludHJh +ZyBmdWVyDQogICAgICAgICAgICAgICAgICAgICAgICAjIGRlbiBMaXZlLVN5bmMtQ2hhbmdlLUxv +ZyAoRm9ybWF0IHdpZSBTaW5nbGUtQ2VsbCkuDQogICAgICAgICAgICAgICAgICAgICAgICAkc3lu +Y0VpbnRyYWVnZSA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdA0KICAg +ICAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJGUgaW4gJGVpbnRyYWVnZSkgew0KICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICRkYXR1bSA9IFtzdHJpbmddJGUuZGF0dW0NCiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAkcGVyc29uSWQgPSBbc3RyaW5nXSRlLnBlcnNvbklkDQogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgJHdlcnQgPSBpZiAoJGUuUFNPYmplY3QuUHJvcGVydGll +c1snd2VydCddIC1hbmQgJG51bGwgLW5lICRlLndlcnQpIHsgW3N0cmluZ10kZS53ZXJ0IH0gZWxz +ZSB7ICcnIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoLW5vdCAkZGF0dW0gLW9y +IC1ub3QgJHBlcnNvbklkKSB7ICRhYmdlbGVobnQgKz0gQHsgZGF0dW0gPSAkZGF0dW07IHBlcnNv +bklkID0gJHBlcnNvbklkOyBncnVuZCA9ICd1bnZvbGxzdGFlbmRpZycgfTsgY29udGludWUgfQ0K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICR6aWVsUGVyc29uID0gJHBlcnNvbk1hcFskcGVy +c29uSWRdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC1ub3QgKFRlc3QtRGFyZlpl +bGxlRWRpdGllcmVuICR6aWVsUGVyc29uKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAkYWJnZWxlaG50ICs9IEB7IGRhdHVtID0gJGRhdHVtOyBwZXJzb25JZCA9ICRwZXJzb25J +ZDsgZ3J1bmQgPSAna2Vpbi1yZWNodCcgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICBjb250aW51ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICBpZiAoLW5vdCAkcGxhbnVuZy5laW50cmFlZ2UuUFNPYmplY3QuUHJvcGVy +dGllc1skZGF0dW1dKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwbGFudW5n +LmVpbnRyYWVnZSB8IEFkZC1NZW1iZXIgLU5vdGVQcm9wZXJ0eU5hbWUgJGRhdHVtIC1Ob3RlUHJv +cGVydHlWYWx1ZSAoW1BTQ3VzdG9tT2JqZWN0XUB7fSkgLUZvcmNlDQogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQWx0ZW4gV2VydCBt +ZXJrZW4gQkVWT1Igd2lyIGRpZSBaZWxsZSB1ZWJlcnNjaHJlaWJlbi4NCiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAkYWx0ZXJXZXJ0ID0gJycNCiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICBpZiAoJHBsYW51bmcuZWludHJhZWdlLiRkYXR1bS5QU09iamVjdC5Qcm9wZXJ0aWVzWyRwZXJz +b25JZF0pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsdGVyV2VydCA9IFtz +dHJpbmddJHBsYW51bmcuZWludHJhZWdlLiRkYXR1bS4kcGVyc29uSWQNCiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsdGVXZXJ0ZVso +InswfXx7MX0iIC1mICRkYXR1bSwgJHBlcnNvbklkKV0gPSAkYWx0ZXJXZXJ0DQogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgaWYgKFtzdHJpbmddOjpJc051bGxPckVtcHR5KCR3ZXJ0KSkgew0K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHBsYW51bmcuZWludHJhZWdlLiRk +YXR1bS5QU09iamVjdC5Qcm9wZXJ0aWVzWyRwZXJzb25JZF0pIHsNCiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICRwbGFudW5nLmVpbnRyYWVnZS4kZGF0dW0uUFNPYmplY3QuUHJv +cGVydGllcy5SZW1vdmUoJHBlcnNvbklkKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgaWYgKCRwbGFudW5nLmVpbnRyYWVnZS4kZGF0dW0uUFNPYmplY3Qu +UHJvcGVydGllc1skcGVyc29uSWRdKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAkcGxhbnVuZy5laW50cmFlZ2UuJGRhdHVtLiRwZXJzb25JZCA9ICR3ZXJ0DQogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAkcGxhbnVuZy5laW50cmFlZ2UuJGRhdHVtIHwgQWRkLU1lbWJlciAtTm90 +ZVByb3BlcnR5TmFtZSAkcGVyc29uSWQgLU5vdGVQcm9wZXJ0eVZhbHVlICR3ZXJ0IC1Gb3JjZQ0K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRva0NvdW50KysNCiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICBpZiAoJG51bGwgLWVxICRlcnN0ZXNQaWQpIHsgJGVyc3Rlc1Bp +ZCA9ICRwZXJzb25JZDsgJGVyc3Rlc1dlcnQgPSAkd2VydDsgJGVyc3Rlc0RhdHVtID0gJGRhdHVt +IH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGV0enRlc0RhdHVtID0gJGRhdHVtDQog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZvaWRdJHN5bmNFaW50cmFlZ2UuQWRkKEB7IGRh +dHVtID0gJGRhdHVtOyBwZXJzb25JZCA9ICRwZXJzb25JZDsgYWx0ID0gIiRhbHRlcldlcnQiOyBu +ZXUgPSAiJHdlcnQiIH0pDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg +ICAgICAgICAgICAjIERhdGVpIG51ciBzY2hyZWliZW4sIHdlbm4gdGF0c2FlY2hsaWNoIHdhcyBn +ZWFlbmRlcnQgd3VyZGUuDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJG9rQ291bnQgLWd0 +IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1Kc29uT2JqZWN0ICdwbGFu +dW5nLmpzb24nICRwbGFudW5nIHwgT3V0LU51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0N +CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBAeyB0eXAgPSAnb2snOyBva0NvdW50ID0g +JG9rQ291bnQ7IGFiZ2VsZWhudCA9ICRhYmdlbGVobnQ7IGVyc3Rlc1BpZCA9ICRlcnN0ZXNQaWQ7 +IGVyc3Rlc1dlcnQgPSAkZXJzdGVzV2VydDsgZXJzdGVzRGF0dW0gPSAkZXJzdGVzRGF0dW07IGxl +dHp0ZXNEYXR1bSA9ICRsZXR6dGVzRGF0dW07IGFsdGVXZXJ0ZSA9ICRhbHRlV2VydGU7IHN5bmNF +aW50cmFlZ2UgPSAkc3luY0VpbnRyYWVnZSB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAg +ICAgICAgICAgICB9IGNhdGNoIHsNCiAgICAgICAgICAgICAgICAgICAgU2VuZC1FcnJvciAkUmVz +cG9uc2UgKCJMb2NrLUZlaGxlcjogJF8iKSA1MDM7IGNvbnRpbnVlDQogICAgICAgICAgICAgICAg +fQ0KICAgICAgICAgICAgICAgIGlmICgkcmVzLnR5cCAtZXEgJ2Vycm9yJykgeyBTZW5kLUVycm9y +ICRSZXNwb25zZSAkcmVzLm1zZyAkcmVzLmNvZGU7IGNvbnRpbnVlIH0NCiAgICAgICAgICAgICAg +ICAjIExvZ2J1Y2ggKyBMaXZlLVN5bmMgTkFDSCBkZW0gTG9jayAoa2VpbiBnZXNjaGFjaHRlbHRl +cyBMb2NrKS4NCiAgICAgICAgICAgICAgICBpZiAoJHJlcy5va0NvdW50IC1ndCAwKSB7DQogICAg +ICAgICAgICAgICAgICAgIFdyaXRlLUxvZ0VpbnRyYWcgJ3plbGxlbi5idWxrLmdlYWVuZGVydCcg +QHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHBlcnNvbklkICAgID0gJHJlcy5lcnN0ZXNQaWQN +CiAgICAgICAgICAgICAgICAgICAgICAgIHdlcnQgICAgICAgID0gJHJlcy5lcnN0ZXNXZXJ0DQog +ICAgICAgICAgICAgICAgICAgICAgICBhbnphaGwgICAgICA9ICRyZXMub2tDb3VudA0KICAgICAg +ICAgICAgICAgICAgICAgICAgZXJzdGVyVGFnICAgPSAkcmVzLmVyc3Rlc0RhdHVtDQogICAgICAg +ICAgICAgICAgICAgICAgICBsZXR6dGVyVGFnICA9ICRyZXMubGV0enRlc0RhdHVtDQogICAgICAg +ICAgICAgICAgICAgICAgICBhYmdlbGVobnQgICA9ICRyZXMuYWJnZWxlaG50LkNvdW50DQogICAg +ICAgICAgICAgICAgICAgICAgICAjIFJlc3RvcmUtUGF5bG9hZDogcHJvIFplbGxlIGRlciBXZXJ0 +IHZvciBkZXIgQWVuZGVydW5nLg0KICAgICAgICAgICAgICAgICAgICAgICAgYWx0ZVdlcnRlICAg +PSAkcmVzLmFsdGVXZXJ0ZQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg +ICAgICMgTGl2ZS1TeW5jOiBwcm8gWmVsbGUgZWluICd6ZWxsZSctRWludHJhZyBpbnMgY2hhbmdl +cy5qc29uLg0KICAgICAgICAgICAgICAgICAgICBBZGQtQ2hhbmdlTG9nRWludHJhZWdlICd6ZWxs +ZScgJHJlcy5zeW5jRWludHJhZWdlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg +IFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2UgQHsgc3RhdHVzID0gJ29rJzsgb2sgPSAkcmVzLm9r +Q291bnQ7IGFiZ2VsZWhudCA9IEAoJHJlcy5hYmdlbGVobnQpIH0NCiAgICAgICAgICAgICAgICBj +b250aW51ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgIyBQT1NUIC9hcGkvcGxhbnVuZy9r +b21tZW50YXINCiAgICAgICAgICAgICMgSGFlbmd0IGVpbmVuIG5ldWVuIEtvbW1lbnRhciBhbiBk +aWUgTGlzdGUgZnVlciAoZGF0dW0scGVyc29uSWQpIGFuLg0KICAgICAgICAgICAgIyBTY2hlbWEt +TWlncmF0aW9uIChsYXp5KTogdm9yaGFuZGVuZXIgU3RyaW5nIG9kZXIgT2JqZWt0LUVpbnRyYWcg +d2lyZA0KICAgICAgICAgICAgIyBiZWltIGVyc3RlbiBTY2hyZWliZW4gaW4gZWluZSBMaXN0ZSBr +b252ZXJ0aWVydC4gTGVlcmVyIFRleHQgd2lyZA0KICAgICAgICAgICAgIyBhYmdlbGVobnQg4oCU +IExvZXNjaGVuIGVpbnplbG5lciBLb21tZW50YXJlIGxhZXVmdCB1ZWJlciBkZW4gREVMRVRFLQ0K +ICAgICAgICAgICAgIyBFbmRwdW5rdCAobWl0IEtvbW1lbnRhci1JRCksIGRhcyBMb2VzY2hlbiBn +YW56ZXIgTGlzdGVuIGlzdCB1ZWJlcg0KICAgICAgICAgICAgIyBkaWUgQVBJIG5pY2h0IG1laHIg +bW9lZ2xpY2ggKHZlcnNlaGVudGxpY2hlciBWZXJsdXN0IGF1c2dlc2NobG9zc2VuKS4NCiAgICAg +ICAgICAgIGlmICgkUGF0aCAtZXEgJy9hcGkvcGxhbnVuZy9rb21tZW50YXInIC1hbmQgJE1ldGhv +ZCAtZXEgJ1BPU1QnKSB7DQogICAgICAgICAgICAgICAgJGJvZHkgPSBSZWFkLUJvZHkgJFJlcXVl +c3QNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAkYm9keSkgeyBTZW5kLUVycm9yICRSZXNwb25z +ZSAnQW5mcmFnZSB6dSBncm9zcycgNDEzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJGEg +PSAkYm9keSB8IENvbnZlcnRGcm9tLUpzb24NCiAgICAgICAgICAgICAgICAkZGF0dW0gPSAkYS5k +YXR1bQ0KICAgICAgICAgICAgICAgICRwZXJzb25JZCA9IFtzdHJpbmddJGEucGVyc29uSWQNCiAg +ICAgICAgICAgICAgICAkdGV4dCA9IGlmICgkYS5QU09iamVjdC5Qcm9wZXJ0aWVzWyd0ZXh0J10p +IHsgKCIkKCRhLnRleHQpIikuVHJpbSgpIH0gZWxzZSB7ICcnIH0NCiAgICAgICAgICAgICAgICBp +ZiAoLW5vdCAkdGV4dCkgew0KICAgICAgICAgICAgICAgICAgICBTZW5kLUVycm9yICRSZXNwb25z +ZSAnTGVlcmVyIEtvbW1lbnRhciDigJQgYml0dGUgREVMRVRFIC9hcGkvcGxhbnVuZy9rb21tZW50 +YXIgZnVlciBMb2VzY2hlbiB2ZXJ3ZW5kZW4nIDQwMA0KICAgICAgICAgICAgICAgICAgICBjb250 +aW51ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAjIEVkaXQtUmVjaHQgdm9y +IExvY2sgcHJ1ZWZlbg0KICAgICAgICAgICAgICAgICRwbGFudW5nQ2hlY2sgPSBSZWFkLUpzb25P +YmplY3QgJ3BsYW51bmcuanNvbicNCiAgICAgICAgICAgICAgICBpZiAoJG51bGwgLWVxICRwbGFu +dW5nQ2hlY2spIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ3BsYW51bmcuanNvbiBuaWNodCBnZWZ1 +bmRlbicgNDA0OyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJHppZWxQZXJzb24gPSAkbnVs +bA0KICAgICAgICAgICAgICAgIGlmICgkcGxhbnVuZ0NoZWNrLnBlcnNvbmVuKSB7DQogICAgICAg +ICAgICAgICAgICAgIGZvcmVhY2ggKCRwcCBpbiBAKCRwbGFudW5nQ2hlY2sucGVyc29uZW4pKSB7 +DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoW3N0cmluZ10kcHAuaWQgLWVxICRwZXJzb25J +ZCkgeyAkemllbFBlcnNvbiA9ICRwcDsgYnJlYWsgfQ0KICAgICAgICAgICAgICAgICAgICB9DQog +ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmICgtbm90IChUZXN0LURhcmZaZWxs +ZUVkaXRpZXJlbiAkemllbFBlcnNvbikpIHsNCiAgICAgICAgICAgICAgICAgICAgU2VuZC1FcnJv +ciAkUmVzcG9uc2UgJ0tlaW5lIEJlcmVjaHRpZ3VuZyBmdWVyIGRpZXNlbiBLb21tZW50YXInIDQw +MzsgY29udGludWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJGpldHp0ID0g +KEdldC1EYXRlKS5Ub1N0cmluZygnbycpICAjIElTTyA4NjAxIG1pdCBaZWl0em9uZQ0KICAgICAg +ICAgICAgICAgICRiZW51dHplciA9ICIkRG9tYWluXCRVc2VybmFtZSINCiAgICAgICAgICAgICAg +ICAkbmV1ZUlkID0gJ2tfJyArIChbRGF0ZVRpbWVPZmZzZXRdOjpOb3cuVG9Vbml4VGltZU1pbGxp +c2Vjb25kcygpKSArICdfJyArIChHZXQtUmFuZG9tIC1NYXhpbXVtIDk5OTk5KQ0KICAgICAgICAg +ICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgICAgICRudWxsID0gSW52b2tlLVdpdGhGaWxl +TG9jayAncGxhbnVuZy5qc29uJyB7DQogICAgICAgICAgICAgICAgICAgICAgICAkcGxhbnVuZyA9 +IFJlYWQtSnNvbk9iamVjdCAncGxhbnVuZy5qc29uJw0KICAgICAgICAgICAgICAgICAgICAgICAg +aWYgKCRudWxsIC1lcSAkcGxhbnVuZykgeyByZXR1cm4gJG51bGwgfQ0KICAgICAgICAgICAgICAg +ICAgICAgICAgaWYgKC1ub3QgJHBsYW51bmcuUFNPYmplY3QuUHJvcGVydGllc1sna29tbWVudGFy +ZSddKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBsYW51bmcgfCBBZGQtTWVtYmVy +IC1Ob3RlUHJvcGVydHlOYW1lICdrb21tZW50YXJlJyAtTm90ZVByb3BlcnR5VmFsdWUgKE5ldy1P +YmplY3QgUFNPYmplY3QpIC1Gb3JjZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg +ICAgICAgICAgICAgICAgICAgaWYgKC1ub3QgJHBsYW51bmcua29tbWVudGFyZS5QU09iamVjdC5Q +cm9wZXJ0aWVzWyRkYXR1bV0pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGxhbnVu +Zy5rb21tZW50YXJlIHwgQWRkLU1lbWJlciAtTm90ZVByb3BlcnR5TmFtZSAkZGF0dW0gLU5vdGVQ +cm9wZXJ0eVZhbHVlIChOZXctT2JqZWN0IFBTT2JqZWN0KSAtRm9yY2UNCiAgICAgICAgICAgICAg +ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICMgQWt0dWVsbGUgTGlzdGUgaGVy +YXVzemllaGVuICsgZ2dmLiBhdXMgQWx0c2NoZW1hIG1pZ3JpZXJlbi4NCiAgICAgICAgICAgICAg +ICAgICAgICAgICMgTGlzdGUgaXN0IGNocm9ub2xvZ2lzY2ggKGFlbHRlc3RlIHp1ZXJzdCksIGRl +ciBuZXVlDQogICAgICAgICAgICAgICAgICAgICAgICAjIEVpbnRyYWcgd2lyZCBoaW50ZW4gYW5n +ZWhhZW5ndC4NCiAgICAgICAgICAgICAgICAgICAgICAgICRsaXN0ZSA9IE5ldy1PYmplY3QgU3lz +dGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdFtvYmplY3RdDQogICAgICAgICAgICAgICAgICAg +ICAgICBpZiAoJHBsYW51bmcua29tbWVudGFyZS4kZGF0dW0uUFNPYmplY3QuUHJvcGVydGllc1sk +cGVyc29uSWRdKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHZvcmggPSAkcGxhbnVu +Zy5rb21tZW50YXJlLiRkYXR1bS4kcGVyc29uSWQNCiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICBpZiAoJHZvcmggLWlzIFtzdHJpbmddIC1hbmQgJHZvcmgpIHsNCiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIyBBbHRlciBTdHJpbmctRWludHJhZyDigJQgZWluIEVsZW1lbnQgb2hu +ZSBNZXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaXN0ZS5BZGQoW1BTQ3Vz +dG9tT2JqZWN0XUB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZCAgICAg +ICAgICAgPSAna19sZWdhY3lfJyArIChHZXQtUmFuZG9tIC1NYXhpbXVtIDk5OTk5KQ0KICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCAgICAgICAgID0gJHZvcmgNCiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlYWVuZGVydEFtICA9ICRudWxsDQogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZWFlbmRlcnRWb24gPSAkbnVsbA0KICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSB8IE91dC1OdWxsDQogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgfSBlbHNlaWYgKCR2b3JoIC1pcyBbYXJyYXldIC1vciAoJHZvcmggLWlz +IFtTeXN0ZW0uQ29sbGVjdGlvbnMuSUVudW1lcmFibGVdIC1hbmQgLW5vdCAoJHZvcmggLWlzIFtz +dHJpbmddKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBTY2hvbiBlaW4g +QXJyYXkgKG5ldWVzIFNjaGVtYSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9y +ZWFjaCAoJGUgaW4gQCgkdm9yaCkpIHsgJGxpc3RlLkFkZCgkZSkgfCBPdXQtTnVsbCB9DQogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlaWYgKCR2b3JoIC1hbmQgJHZvcmguUFNPYmpl +Y3QuUHJvcGVydGllc1sndGV4dCddKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICMgQWx0ZXMgT2JqZWt0LVNjaGVtYSB7IHRleHQsIGdlYWVuZGVydEFtLCBnZWFlbmRlcnRWb24g +fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbWlnSWQgPSBpZiAoJHZvcmguUFNP +YmplY3QuUHJvcGVydGllc1snaWQnXSkgeyBbc3RyaW5nXSR2b3JoLmlkIH0gZWxzZSB7ICdrX2xl +Z2FjeV8nICsgKEdldC1SYW5kb20gLU1heGltdW0gOTk5OTkpIH0NCiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgJGxpc3RlLkFkZChbUFNDdXN0b21PYmplY3RdQHsNCiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIGlkICAgICAgICAgICA9ICRtaWdJZA0KICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCAgICAgICAgID0gW3N0cmluZ10kdm9yaC50 +ZXh0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZWFlbmRlcnRBbSAgPSBp +ZiAoJHZvcmguUFNPYmplY3QuUHJvcGVydGllc1snZ2VhZW5kZXJ0QW0nXSkgIHsgJHZvcmguZ2Vh +ZW5kZXJ0QW0gfSAgZWxzZSB7ICRudWxsIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgIGdlYWVuZGVydFZvbiA9IGlmICgkdm9yaC5QU09iamVjdC5Qcm9wZXJ0aWVzWydnZWFl +bmRlcnRWb24nXSkgeyAkdm9yaC5nZWFlbmRlcnRWb24gfSBlbHNlIHsgJG51bGwgfQ0KICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICB9KSB8IE91dC1OdWxsDQogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg +ICAgICAgICAgJGxpc3RlLkFkZChbUFNDdXN0b21PYmplY3RdQHsNCiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICBpZCAgICAgICAgICAgPSAkbmV1ZUlkDQogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgdGV4dCAgICAgICAgID0gJHRleHQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBn +ZWFlbmRlcnRBbSAgPSAkamV0enQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZWFlbmRl +cnRWb24gPSAkYmVudXR6ZXINCiAgICAgICAgICAgICAgICAgICAgICAgIH0pIHwgT3V0LU51bGwN +CiAgICAgICAgICAgICAgICAgICAgICAgICMgWnVydWVjayBhbHMgQXJyYXkgKFBTLVNlcmlhbGlz +aWVydW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJGFyciA9IEAoJGxpc3RlLlRvQXJyYXko +KSkNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkcGxhbnVuZy5rb21tZW50YXJlLiRkYXR1 +bS5QU09iamVjdC5Qcm9wZXJ0aWVzWyRwZXJzb25JZF0pIHsNCiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAkcGxhbnVuZy5rb21tZW50YXJlLiRkYXR1bS4kcGVyc29uSWQgPSAkYXJyDQogICAg +ICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICRwbGFudW5nLmtvbW1lbnRhcmUuJGRhdHVtIHwgQWRkLU1lbWJlciAtTm90ZVByb3BlcnR5TmFt +ZSAkcGVyc29uSWQgLU5vdGVQcm9wZXJ0eVZhbHVlICRhcnIgLUZvcmNlDQogICAgICAgICAgICAg +ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1Kc29uT2JqZWN0ICdw +bGFudW5nLmpzb24nICRwbGFudW5nIHwgT3V0LU51bGwNCiAgICAgICAgICAgICAgICAgICAgICAg +IHJldHVybiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSBj +YXRjaCB7DQogICAgICAgICAgICAgICAgICAgIFNlbmQtRXJyb3IgJFJlc3BvbnNlICgiTG9jay1G +ZWhsZXI6ICRfIikgNTAzOyBjb250aW51ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg +ICAgICAjIFJlZGFjdGlvbiB3aWUgYmVpIGtvbW1lbnRhci5nZWxvZXNjaHQgKFNwcmludCAxIOKA +lCBTaWNoZXJoZWl0cy0NCiAgICAgICAgICAgICAgICAjIE5vdGJyZW1zZSAyMDI2LTA1LTI4KTog +Vm9sbHRleHQgYmxlaWJ0IGluIHBsYW51bmcuanNvbiAoZG9ydA0KICAgICAgICAgICAgICAgICMg +ZWRpdGllcmJhci9sb2VzY2hiYXIpLCBkYXMgTG9nYnVjaCBiZWtvbW10IG51ciBWb3JzY2hhdSAr +IExhZW5nZS4NCiAgICAgICAgICAgICAgICAjIFZlcm1laWRldCBQSUktRWNobywgd2VubiBlaW4g +S29tbWVudGFyIHNwYWV0ZXIgZ2Vsb2VzY2h0IHdpcmQNCiAgICAgICAgICAgICAgICAjIGFiZXIg +aW0gTG9nIGltbWVyIG5vY2gga29tcGxldHQgbGllc3Qgc3RlaHQuDQogICAgICAgICAgICAgICAg +JHRleHRWb3JzY2hhdSA9ICR0ZXh0DQogICAgICAgICAgICAgICAgaWYgKCR0ZXh0Vm9yc2NoYXUu +TGVuZ3RoIC1ndCA0MCkgeyAkdGV4dFZvcnNjaGF1ID0gJHRleHRWb3JzY2hhdS5TdWJzdHJpbmco +MCwgNDApICsgJ+KApicgfQ0KICAgICAgICAgICAgICAgIFdyaXRlLUxvZ0VpbnRyYWcgJ2tvbW1l +bnRhci5oaW56dWdlZnVlZ3QnIEB7DQogICAgICAgICAgICAgICAgICAgIGRhdHVtICAgICAgICAg +PSAkZGF0dW0NCiAgICAgICAgICAgICAgICAgICAgcGVyc29uSWQgICAgICA9ICRwZXJzb25JZA0K +ICAgICAgICAgICAgICAgICAgICBrb21tZW50YXJJZCAgID0gJG5ldWVJZA0KICAgICAgICAgICAg +ICAgICAgICB0ZXh0Vm9yc2NoYXUgID0gJHRleHRWb3JzY2hhdQ0KICAgICAgICAgICAgICAgICAg +ICB0ZXh0TGFlbmdlICAgID0gJHRleHQuTGVuZ3RoDQogICAgICAgICAgICAgICAgfQ0KICAgICAg +ICAgICAgICAgIEFkZC1DaGFuZ2VMb2dFaW50cmFnICdrb21tZW50YXInIEB7DQogICAgICAgICAg +ICAgICAgICAgIGRhdHVtICAgID0gJGRhdHVtDQogICAgICAgICAgICAgICAgICAgIHBlcnNvbklk +ID0gJHBlcnNvbklkDQogICAgICAgICAgICAgICAgICAgIGtvbW1lbnRhcklkID0gJG5ldWVJZA0K +ICAgICAgICAgICAgICAgICAgICAjIExpdmUtU3luYyBicmF1Y2h0IGRlbiBUZXh0IG5pY2h0IOKA +lCBuYWVjaHN0ZXIgUmVuZGVyIGxhZWR0DQogICAgICAgICAgICAgICAgICAgICMgaWhuIGF1cyBw +bGFudW5nLmpzb24uIE51ciBNZXRhZGF0ZW4gZnVlciBBa3Rpdml0YWV0cy1BbnplaWdlLg0KICAg +ICAgICAgICAgICAgICAgICB6ZWl0c3RlbXBlbCA9ICRqZXR6dA0KICAgICAgICAgICAgICAgIH0N +CiAgICAgICAgICAgICAgICBTZW5kLUpzb25PYmplY3QgJFJlc3BvbnNlIEB7DQogICAgICAgICAg +ICAgICAgICAgIHN0YXR1cyAgICAgICA9ICdoaW56dWdlZnVlZ3QnDQogICAgICAgICAgICAgICAg +ICAgIGtvbW1lbnRhcklkICA9ICRuZXVlSWQNCiAgICAgICAgICAgICAgICAgICAgZ2VhZW5kZXJ0 +QW0gID0gJGpldHp0DQogICAgICAgICAgICAgICAgICAgIGdlYWVuZGVydFZvbiA9ICRiZW51dHpl +cg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAg +ICAgfQ0KDQogICAgICAgICAgICAjIERFTEVURSAvYXBpL3BsYW51bmcva29tbWVudGFyDQogICAg +ICAgICAgICAjIEJvZHk6IHsgZGF0dW0sIHBlcnNvbklkLCBrb21tZW50YXJJZCB9DQogICAgICAg +ICAgICAjIEJlcmVjaHRpZ3VuZzogU3VwZXJVc2VyIG9kZXIgR2VzYW10dmVyYW50d29ydGxpY2hl +LiBBbmRlcmUgUm9sbGVuDQogICAgICAgICAgICAjIGJla29tbWVuIDQwMyDigJQgYXVjaCBkZXIg +VmVyZmFzc2VyIHNlbGJzdCBkYXJmIG5pY2h0IGxvZXNjaGVuDQogICAgICAgICAgICAjIChiZXd1 +c3N0ZSBEZXNpZ25lbnRzY2hlaWR1bmc6IEtvbW1lbnRhci1WZXJsYXVmIGlzdCBDaHJvbmlrKS4N +CiAgICAgICAgICAgIGlmICgkUGF0aCAtZXEgJy9hcGkvcGxhbnVuZy9rb21tZW50YXInIC1hbmQg +JE1ldGhvZCAtZXEgJ0RFTEVURScpIHsNCiAgICAgICAgICAgICAgICAkYm9keSA9IFJlYWQtQm9k +eSAkUmVxdWVzdA0KICAgICAgICAgICAgICAgIGlmICgtbm90ICRib2R5KSB7IFNlbmQtRXJyb3Ig +JFJlc3BvbnNlICdBbmZyYWdlIHp1IGdyb3NzJyA0MTM7IGNvbnRpbnVlIH0NCiAgICAgICAgICAg +ICAgICAkYSA9ICRib2R5IHwgQ29udmVydEZyb20tSnNvbg0KICAgICAgICAgICAgICAgICRkYXR1 +bSA9ICRhLmRhdHVtDQogICAgICAgICAgICAgICAgJHBlcnNvbklkID0gW3N0cmluZ10kYS5wZXJz +b25JZA0KICAgICAgICAgICAgICAgICRrb21tZW50YXJJZCA9IFtzdHJpbmddJGEua29tbWVudGFy +SWQNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAkZGF0dW0gLW9yIC1ub3QgJHBlcnNvbklkIC1v +ciAtbm90ICRrb21tZW50YXJJZCkgew0KICAgICAgICAgICAgICAgICAgICBTZW5kLUVycm9yICRS +ZXNwb25zZSAnZGF0dW0sIHBlcnNvbklkIHVuZCBrb21tZW50YXJJZCBzaW5kIFBmbGljaHQnIDQw +MDsgY29udGludWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJHIgPSBHZXQt +UmVjaHRlDQogICAgICAgICAgICAgICAgaWYgKC1ub3QgKCRyLmlzdFN1cGVyVXNlciAtb3IgJHIu +aXN0R2VzYW10dmVyYW50d29ydGxpY2gpKSB7DQogICAgICAgICAgICAgICAgICAgIFNlbmQtRXJy +b3IgJFJlc3BvbnNlICdOdXIgU3VwZXJVc2VyIHVuZCBHZXNhbXR2ZXJhbnR3b3J0bGljaGUgZHVl +cmZlbiBLb21tZW50YXJlIGxvZXNjaGVuJyA0MDMNCiAgICAgICAgICAgICAgICAgICAgY29udGlu +dWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJGdlbG9lc2NodGVyVGV4dCA9 +ICRudWxsDQogICAgICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgJGVyZyA9 +IEludm9rZS1XaXRoRmlsZUxvY2sgJ3BsYW51bmcuanNvbicgew0KICAgICAgICAgICAgICAgICAg +ICAgICAgJHBsYW51bmcgPSBSZWFkLUpzb25PYmplY3QgJ3BsYW51bmcuanNvbicNCiAgICAgICAg +ICAgICAgICAgICAgICAgIGlmICgkbnVsbCAtZXEgJHBsYW51bmcgLW9yIC1ub3QgJHBsYW51bmcu +UFNPYmplY3QuUHJvcGVydGllc1sna29tbWVudGFyZSddKSB7IHJldHVybiBAeyB0ZXh0ID0gJG51 +bGwgfSB9DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoLW5vdCAkcGxhbnVuZy5rb21tZW50 +YXJlLlBTT2JqZWN0LlByb3BlcnRpZXNbJGRhdHVtXSkgeyByZXR1cm4gQHsgdGV4dCA9ICRudWxs +IH0gfQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC1ub3QgJHBsYW51bmcua29tbWVudGFy +ZS4kZGF0dW0uUFNPYmplY3QuUHJvcGVydGllc1skcGVyc29uSWRdKSB7IHJldHVybiBAeyB0ZXh0 +ID0gJG51bGwgfSB9DQogICAgICAgICAgICAgICAgICAgICAgICAkdm9yaCA9ICRwbGFudW5nLmtv +bW1lbnRhcmUuJGRhdHVtLiRwZXJzb25JZA0KICAgICAgICAgICAgICAgICAgICAgICAgIyBDb21w +YXQgZnVlciBBbHQtRm9ybWF0ZSAoU3ByaW50IDMg4oCUIERyaWZ0L1JvYnVzdGhlaXQNCiAgICAg +ICAgICAgICAgICAgICAgICAgICMgMjAyNi0wNS0yOCk6IENsaWVudCBrZW5uemVpY2huZXQgU3Ry +aW5nLSBvZGVyIFNpbmdsZS0NCiAgICAgICAgICAgICAgICAgICAgICAgICMgT2JqZWN0LW9obmUt +SUQgRWludHJhZWdlIGluIGtvbW1lbnRhckxpc3RlKCkgbWl0DQogICAgICAgICAgICAgICAgICAg +ICAgICAjIFNlbnRpbmVsLUlEICdrX2xlZ2FjeScuIERFTEVURSBtaXQgZGllc2VyIElEIGdlZ2Vu +DQogICAgICAgICAgICAgICAgICAgICAgICAjIGVpbmVuIEFsdC1FaW50cmFnID0ga29tcGxldHRl +ciBFaW50cmFnIHdpcmQgZW50ZmVybnQNCiAgICAgICAgICAgICAgICAgICAgICAgICMgKE1pZ3Jh +dGlvbiArIExvZXNjaHVuZyBpbiBlaW5lbSBTY2hyaXR0KS4NCiAgICAgICAgICAgICAgICAgICAg +ICAgICR0cmVmZmVyID0gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRuZXVlTGlzdGUg +PSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3Rbb2JqZWN0XQ0KICAg +ICAgICAgICAgICAgICAgICAgICAgaWYgKCR2b3JoIC1pcyBbc3RyaW5nXSAtYW5kICR2b3JoKSB7 +DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRrb21tZW50YXJJZCAtZXEgJ2tfbGVn +YWN5Jykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdHJlZmZlciA9IFtQU0N1 +c3RvbU9iamVjdF1AeyB0ZXh0ID0gJHZvcmggfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg +IH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBAeyB0ZXh0 +ID0gJG51bGw7IGZlaGxlciA9ICdrb21tZW50YXJOaWNodEdlZnVuZGVuJyB9DQogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAkbGlzdGUgPSBAKCkNCiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICBpZiAoJHZvcmggLWlzIFthcnJheV0gLW9yICgkdm9yaCAtaXMgW1N5c3RlbS5D +b2xsZWN0aW9ucy5JRW51bWVyYWJsZV0gLWFuZCAtbm90ICgkdm9yaCAtaXMgW3N0cmluZ10pKSkg +ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGlzdGUgPSBAKCR2b3JoKQ0KICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZWlmICgkdm9yaCAtYW5kICR2b3JoLlBTT2Jq +ZWN0LlByb3BlcnRpZXNbJ3RleHQnXSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAkYWx0SWQgPSBpZiAoJHZvcmguUFNPYmplY3QuUHJvcGVydGllc1snaWQnXSkgeyBbc3RyaW5n +XSR2b3JoLmlkIH0gZWxzZSB7ICcnIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +aWYgKC1ub3QgJGFsdElkKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp +ZiAoJGtvbW1lbnRhcklkIC1lcSAna19sZWdhY3knKSB7DQogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgJHRyZWZmZXIgPSAkdm9yaA0KICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICByZXR1cm4gQHsgdGV4dCA9ICRudWxsOyBmZWhsZXIgPSAna29tbWVudGFyTmljaHRH +ZWZ1bmRlbicgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgJGxpc3RlID0gQCgkdm9yaCkNCiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICBpZiAoLW5vdCAkdHJlZmZlcikgew0KICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICBmb3JlYWNoICgkZSBpbiAkbGlzdGUpIHsNCiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICRlaWQgPSBpZiAoJGUgLWFuZCAkZS5QU09iamVjdC5Qcm9wZXJ0aWVz +WydpZCddKSB7IFtzdHJpbmddJGUuaWQgfSBlbHNlIHsgJycgfQ0KICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgaWYgKCRlaWQgLWVxICRrb21tZW50YXJJZCkgew0KICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0cmVmZmVyID0gJGUNCiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgJG5ldWVMaXN0ZS5BZGQoJGUpIHwgT3V0LU51bGwNCiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg +ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgtbm90ICR0cmVmZmVyKSB7IHJl +dHVybiBAeyB0ZXh0ID0gJG51bGw7IGZlaGxlciA9ICdrb21tZW50YXJOaWNodEdlZnVuZGVuJyB9 +IH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkbmV1ZUxpc3RlLkNvdW50IC1lcSAwKSB7 +DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBMZXR6dGVyIEtvbW1lbnRhciBlbnRmZXJu +dCAtPiBQcm9wZXJ0eSBrb21wbGV0dCByYXVzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg +JHBsYW51bmcua29tbWVudGFyZS4kZGF0dW0uUFNPYmplY3QuUHJvcGVydGllcy5SZW1vdmUoJHBl +cnNvbklkKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTGVlcmVyIFRhZ2VzLUJ1Y2tl +dCBhdWZyYWV1bWVuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRhZ1Byb3BzID0gQCgk +cGxhbnVuZy5rb21tZW50YXJlLiRkYXR1bS5QU09iamVjdC5Qcm9wZXJ0aWVzKQ0KICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIGlmICgkdGFnUHJvcHMuQ291bnQgLWVxIDApIHsNCiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgJHBsYW51bmcua29tbWVudGFyZS5QU09iamVjdC5Qcm9w +ZXJ0aWVzLlJlbW92ZSgkZGF0dW0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAg +ICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAkcGxhbnVuZy5rb21tZW50YXJlLiRkYXR1bS4kcGVyc29uSWQgPSBAKCRuZXVlTGlzdGUuVG9B +cnJheSgpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg +ICAgV3JpdGUtSnNvbk9iamVjdCAncGxhbnVuZy5qc29uJyAkcGxhbnVuZyB8IE91dC1OdWxsDQog +ICAgICAgICAgICAgICAgICAgICAgICAkZW50ZmVybnRUZXh0ID0gaWYgKCR0cmVmZmVyLlBTT2Jq +ZWN0LlByb3BlcnRpZXNbJ3RleHQnXSkgeyBbc3RyaW5nXSR0cmVmZmVyLnRleHQgfSBlbHNlIHsg +JycgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEB7IHRleHQgPSAkZW50ZmVybnRU +ZXh0IH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBpZiAoJGVy +Zy5mZWhsZXIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkZXJnLmZlaGxlciAtZXEg +J2tvbW1lbnRhck5pY2h0R2VmdW5kZW4nKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg +U2VuZC1FcnJvciAkUmVzcG9uc2UgJ0tvbW1lbnRhciBtaXQgZGllc2VyIElEIG5pY2h0IGdlZnVu +ZGVuJyA0MDQ7IGNvbnRpbnVlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg +ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgJGdlbG9lc2NodGVyVGV4dCA9ICRlcmcu +dGV4dA0KICAgICAgICAgICAgICAgIH0gY2F0Y2ggew0KICAgICAgICAgICAgICAgICAgICBTZW5k +LUVycm9yICRSZXNwb25zZSAoIkxvY2stRmVobGVyOiAkXyIpIDUwMzsgY29udGludWUNCiAgICAg +ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgIyBSZWRhY3Rpb24gKFNwcmludCAxIOKAlCBT +aWNoZXJoZWl0cy1Ob3RicmVtc2UgMjAyNi0wNS0yOCk6DQogICAgICAgICAgICAgICAgIyBQSUkt +U2NodXR6LiBGcnVlaGVyIGxhbmRldGUgZGVyIHZvbGxzdGFlbmRpZ2UgS29tbWVudGFyLVRleHQg +aW0NCiAgICAgICAgICAgICAgICAjIExvZ2J1Y2gg4oCUIHdlbm4gZGVyIEtvbW1lbnRhciBLcmFu +a2hlaXRzLS9EaXN6aXBsaW5hci1JbmZvIGVudGhpZWx0LA0KICAgICAgICAgICAgICAgICMgbGVi +dGUgc2llIG5hY2ggJ0xvZXNjaGVuJyB3ZWl0ZXIgaW0gTG9nLiBKZXR6dCBudXIgTGFlbmdlICsg +a3VyemVyDQogICAgICAgICAgICAgICAgIyBBdXN6dWcgKDQwIFplaWNoZW4pLCBnZW51ZyBmdWVy +IE5hY2h2b2xsemllaGJhcmtlaXQgb2huZSBWb2xsdGV4dC4NCiAgICAgICAgICAgICAgICAkdGV4 +dFZvcnNjaGF1ID0gJycNCiAgICAgICAgICAgICAgICBpZiAoJGdlbG9lc2NodGVyVGV4dCkgew0K +ICAgICAgICAgICAgICAgICAgICAka3VyeiA9ICRnZWxvZXNjaHRlclRleHQNCiAgICAgICAgICAg +ICAgICAgICAgaWYgKCRrdXJ6Lkxlbmd0aCAtZ3QgNDApIHsgJGt1cnogPSAka3Vyei5TdWJzdHJp +bmcoMCwgNDApICsgJ+KApicgfQ0KICAgICAgICAgICAgICAgICAgICAkdGV4dFZvcnNjaGF1ID0g +JGt1cnoNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJHRleHRMYWVuZ2UgPSBp +ZiAoJGdlbG9lc2NodGVyVGV4dCkgeyAkZ2Vsb2VzY2h0ZXJUZXh0Lkxlbmd0aCB9IGVsc2UgeyAw +IH0NCiAgICAgICAgICAgICAgICBXcml0ZS1Mb2dFaW50cmFnICdrb21tZW50YXIuZ2Vsb2VzY2h0 +JyBAew0KICAgICAgICAgICAgICAgICAgICBkYXR1bSAgICAgICAgID0gJGRhdHVtDQogICAgICAg +ICAgICAgICAgICAgIHBlcnNvbklkICAgICAgPSAkcGVyc29uSWQNCiAgICAgICAgICAgICAgICAg +ICAga29tbWVudGFySWQgICA9ICRrb21tZW50YXJJZA0KICAgICAgICAgICAgICAgICAgICB0ZXh0 +Vm9yc2NoYXUgID0gJHRleHRWb3JzY2hhdQ0KICAgICAgICAgICAgICAgICAgICB0ZXh0TGFlbmdl +ICAgID0gJHRleHRMYWVuZ2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgQWRk +LUNoYW5nZUxvZ0VpbnRyYWcgJ2tvbW1lbnRhcicgQHsNCiAgICAgICAgICAgICAgICAgICAgZGF0 +dW0gICAgPSAkZGF0dW0NCiAgICAgICAgICAgICAgICAgICAgcGVyc29uSWQgPSAkcGVyc29uSWQN +CiAgICAgICAgICAgICAgICAgICAga29tbWVudGFySWQgPSAka29tbWVudGFySWQNCiAgICAgICAg +ICAgICAgICAgICAgIyBMaXZlLVN5bmMtQ2hhbm5lbCBicmF1Y2h0IGRlbiBUZXh0IG5pY2h0IOKA +lCBCcm93c2VyIGxhZWR0DQogICAgICAgICAgICAgICAgICAgICMgYmVpIG5hZWNoc3RlbSBSZW5k +ZXIgZWggYXVzIHBsYW51bmcuanNvbiAod28gZGVyIEVpbnRyYWcNCiAgICAgICAgICAgICAgICAg +ICAgIyB3ZWcgaXN0KS4gSGllciBudXIgTWV0YWRhdGVuIGZ1ZXIgQWt0aXZpdGFldHMtQW56ZWln +ZS4NCiAgICAgICAgICAgICAgICAgICAgbmV1ICAgICAgPSAnJw0KICAgICAgICAgICAgICAgICAg +ICB6ZWl0c3RlbXBlbCA9IChHZXQtRGF0ZSkuVG9TdHJpbmcoJ28nKQ0KICAgICAgICAgICAgICAg +IH0NCiAgICAgICAgICAgICAgICBTZW5kLUpzb25PYmplY3QgJFJlc3BvbnNlIEB7IHN0YXR1cyA9 +ICdnZWxvZXNjaHQnOyBrb21tZW50YXJJZCA9ICRrb21tZW50YXJJZCB9DQogICAgICAgICAgICAg +ICAgY29udGludWUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgIyA9PT09PSBQRVJTT05F +TiA9PT09PQ0KICAgICAgICAgICAgaWYgKCRQYXRoIC1lcSAnL2FwaS9wZXJzb25lbicgLWFuZCAk +TWV0aG9kIC1lcSAnUE9TVCcpIHsNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAoVGVzdC1Jc3RB +ZG1pbikpIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ0tlaW5lIEFkbWluLVJlY2h0ZScgNDAzOyBj +b250aW51ZSB9DQogICAgICAgICAgICAgICAgJGJvZHkgPSBSZWFkLUJvZHkgJFJlcXVlc3QNCiAg +ICAgICAgICAgICAgICBpZiAoLW5vdCAkYm9keSkgeyBTZW5kLUVycm9yICRSZXNwb25zZSAnQW5m +cmFnZSB6dSBncm9zcycgNDEzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJG5ldSA9ICRi +b2R5IHwgQ29udmVydEZyb20tSnNvbg0KICAgICAgICAgICAgICAgICMgUmVhZC1Nb2RpZnktV3Jp +dGUgYXRvbWFyIGluIGRlciBEYXRlaS1TcGVycmUuIFdpY2h0aWcgbmljaHQgbnVyDQogICAgICAg +ICAgICAgICAgIyBnZWdlbiBMb3N0IFVwZGF0ZXMsIHNvbmRlcm4gZ2VnZW4gZGllIG1heElkLVJh +Y2U6IHp3ZWkgcGFyYWxsZWxlDQogICAgICAgICAgICAgICAgIyBQZXJzb25lbi1BbmxhZ2VuIHd1 +ZXJkZW4gc29uc3QgZGllc2VsYmUgbWF4SWQgbGVzZW4gdW5kIElERU5USVNDSEUNCiAgICAgICAg +ICAgICAgICAjIElEcyB2ZXJnZWJlbiAoZG9wcGVsdGUgUGVyc29uZW4tSURzID0ga29ycnVwdGVy +IFN0YXRlKS4NCiAgICAgICAgICAgICAgICAkcGVyc1JlcyA9ICRudWxsDQogICAgICAgICAgICAg +ICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAkcGVyc1JlcyA9IEludm9rZS1XaXRoRmlsZUxvY2sg +J3BsYW51bmcuanNvbicgew0KICAgICAgICAgICAgICAgICRwbGFudW5nID0gUmVhZC1Kc29uT2Jq +ZWN0ICdwbGFudW5nLmpzb24nDQogICAgICAgICAgICAgICAgJG1heElkID0gMA0KICAgICAgICAg +ICAgICAgIGZvcmVhY2ggKCRwIGluICRwbGFudW5nLnBlcnNvbmVuKSB7IGlmICgkcC5pZCAtZ3Qg +JG1heElkKSB7ICRtYXhJZCA9ICRwLmlkIH0gfQ0KICAgICAgICAgICAgICAgICRuZXVlSWQgPSAk +bWF4SWQgKyAxDQoNCiAgICAgICAgICAgICAgICAjIEVpbnJlaWh1bmdzLUxvZ2lrOiAidW50ZW4i +IChEZWZhdWx0KSwgInZvciIgb2RlciAibmFjaCIgZWluZXIgUmVmZXJlbnpwZXJzb24NCiAgICAg +ICAgICAgICAgICAkZWlucmVpaGVuID0gJ3VudGVuJw0KICAgICAgICAgICAgICAgIGlmICgkbmV1 +LlBTT2JqZWN0LlByb3BlcnRpZXNbJ2VpbnJlaWhlbiddIC1hbmQgJG5ldS5laW5yZWloZW4pIHsg +JGVpbnJlaWhlbiA9IChbc3RyaW5nXSRuZXUuZWlucmVpaGVuKS5Ub0xvd2VyKCkgfQ0KICAgICAg +ICAgICAgICAgICRyZWZJZCA9ICRudWxsDQogICAgICAgICAgICAgICAgaWYgKCRuZXUuUFNPYmpl +Y3QuUHJvcGVydGllc1sncmVmZXJlbnpJZCddIC1hbmQgJG51bGwgLW5lICRuZXUucmVmZXJlbnpJ +ZCkgeyAkcmVmSWQgPSBbaW50XSRuZXUucmVmZXJlbnpJZCB9DQoNCiAgICAgICAgICAgICAgICAk +emllbFBvcyA9ICRudWxsDQogICAgICAgICAgICAgICAgaWYgKCgkZWlucmVpaGVuIC1lcSAndm9y +JyAtb3IgJGVpbnJlaWhlbiAtZXEgJ25hY2gnKSAtYW5kICRudWxsIC1uZSAkcmVmSWQpIHsNCiAg +ICAgICAgICAgICAgICAgICAgJHJlZlBvcyA9ICRudWxsDQogICAgICAgICAgICAgICAgICAgIGZv +cmVhY2ggKCRwIGluICRwbGFudW5nLnBlcnNvbmVuKSB7DQogICAgICAgICAgICAgICAgICAgICAg +ICBpZiAoW2ludF0kcC5pZCAtZXEgJHJlZklkKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgJHJlZlBvcyA9IGlmICgkcC5QU09iamVjdC5Qcm9wZXJ0aWVzWydwb3NpdGlvbiddIC1hbmQg +JHAucG9zaXRpb24pIHsgW2ludF0kcC5wb3NpdGlvbiB9IGVsc2UgeyAwIH0NCiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICBicmVhaw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg +ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGlmICgkbnVsbCAtbmUgJHJlZlBv +cykgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHppZWxQb3MgPSBpZiAoJGVpbnJlaWhlbiAt +ZXEgJ3ZvcicpIHsgJHJlZlBvcyB9IGVsc2UgeyAkcmVmUG9zICsgMSB9DQogICAgICAgICAgICAg +ICAgICAgICAgICAjIFBvc2l0aW9uZW4gYWIgemllbFBvcyB1bSAxIG5hY2ggaGludGVuIHNjaGll +YmVuDQogICAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkcCBpbiAkcGxhbnVuZy5wZXJz +b25lbikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwcCA9IGlmICgkcC5QU09iamVj +dC5Qcm9wZXJ0aWVzWydwb3NpdGlvbiddIC1hbmQgJHAucG9zaXRpb24pIHsgW2ludF0kcC5wb3Np +dGlvbiB9IGVsc2UgeyAwIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHBwIC1n +ZSAkemllbFBvcykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHAuUFNP +YmplY3QuUHJvcGVydGllc1sncG9zaXRpb24nXSkgeyAkcC5wb3NpdGlvbiA9ICRwcCArIDEgfQ0K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsgJHAgfCBBZGQtTWVtYmVyIC1O +b3RlUHJvcGVydHlOYW1lICdwb3NpdGlvbicgLU5vdGVQcm9wZXJ0eVZhbHVlICgkcHAgKyAxKSAt +Rm9yY2UgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg +ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAg +ICAgICAgICAgICBpZiAoJG51bGwgLWVxICR6aWVsUG9zKSB7DQogICAgICAgICAgICAgICAgICAg +ICRtYXhQb3MgPSAwDQogICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRwIGluICRwbGFudW5n +LnBlcnNvbmVuKSB7ICRwb3MgPSBpZiAoJHAucG9zaXRpb24pIHsgW2ludF0kcC5wb3NpdGlvbiB9 +IGVsc2UgeyAwIH07IGlmICgkcG9zIC1ndCAkbWF4UG9zKSB7ICRtYXhQb3MgPSAkcG9zIH0gfQ0K +ICAgICAgICAgICAgICAgICAgICAkemllbFBvcyA9ICRtYXhQb3MgKyAxDQogICAgICAgICAgICAg +ICAgfQ0KDQogICAgICAgICAgICAgICAgJHBlcnNvbiA9IFtvcmRlcmVkXUB7DQogICAgICAgICAg +ICAgICAgICAgIGlkID0gJG5ldWVJZA0KICAgICAgICAgICAgICAgICAgICBha3RpdiA9IGlmICgk +bmV1LlBTT2JqZWN0LlByb3BlcnRpZXNbJ2FrdGl2J10pIHsgJG5ldS5ha3RpdiB9IGVsc2UgeyAk +dHJ1ZSB9DQogICAgICAgICAgICAgICAgICAgIG5hbWUgPSAkbmV1Lm5hbWUNCiAgICAgICAgICAg +ICAgICAgICAgdm9ybmFtZSA9IGlmICgkbmV1LlBTT2JqZWN0LlByb3BlcnRpZXNbJ3Zvcm5hbWUn +XSkgeyAkbmV1LnZvcm5hbWUgfSBlbHNlIHsgJycgfQ0KICAgICAgICAgICAgICAgICAgICBkaWVu +c3RncmFkID0gaWYgKCRuZXUuUFNPYmplY3QuUHJvcGVydGllc1snZGllbnN0Z3JhZCddKSB7ICRu +ZXUuZGllbnN0Z3JhZCB9IGVsc2UgeyAnJyB9DQogICAgICAgICAgICAgICAgICAgIGZ1bmt0aW9u +ID0gaWYgKCRuZXUuUFNPYmplY3QuUHJvcGVydGllc1snZnVua3Rpb24nXSkgeyAkbmV1LmZ1bmt0 +aW9uIH0gZWxzZSB7ICcnIH0NCiAgICAgICAgICAgICAgICAgICAgZ3J1cHBlID0gaWYgKCRuZXUu +UFNPYmplY3QuUHJvcGVydGllc1snZ3J1cHBlJ10pIHsgJG5ldS5ncnVwcGUgfSBlbHNlIHsgJycg +fQ0KICAgICAgICAgICAgICAgICAgICBvZSA9IGlmICgkbmV1LlBTT2JqZWN0LlByb3BlcnRpZXNb +J29lJ10pIHsgJG5ldS5vZSB9IGVsc2UgeyAnJyB9DQogICAgICAgICAgICAgICAgICAgIGRpZW5z +dG51bW1lciA9IGlmICgkbmV1LlBTT2JqZWN0LlByb3BlcnRpZXNbJ2RpZW5zdG51bW1lciddKSB7 +ICRuZXUuZGllbnN0bnVtbWVyIH0gZWxzZSB7ICcnIH0NCiAgICAgICAgICAgICAgICAgICAgdGVs +ZWZvbiA9IGlmICgkbmV1LlBTT2JqZWN0LlByb3BlcnRpZXNbJ3RlbGVmb24nXSkgeyAkbmV1LnRl +bGVmb24gfSBlbHNlIHsgJycgfQ0KICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiA9ICR6aWVs +UG9zDQogICAgICAgICAgICAgICAgICAgIGVtYWlsID0gaWYgKCRuZXUuUFNPYmplY3QuUHJvcGVy +dGllc1snZW1haWwnXSkgeyAkbmV1LmVtYWlsIH0gZWxzZSB7ICcnIH0NCiAgICAgICAgICAgICAg +ICAgICAgbndLZW5udW5nID0gaWYgKCRuZXUuUFNPYmplY3QuUHJvcGVydGllc1snbndLZW5udW5n +J10pIHsgJG5ldS5ud0tlbm51bmcgfSBlbHNlIHsgJycgfQ0KICAgICAgICAgICAgICAgICAgICBn +ZWJ1cnRzZGF0dW0gPSBpZiAoJG5ldS5QU09iamVjdC5Qcm9wZXJ0aWVzWydnZWJ1cnRzZGF0dW0n +XSkgeyAkbmV1LmdlYnVydHNkYXR1bSB9IGVsc2UgeyAnJyB9DQogICAgICAgICAgICAgICAgICAg +IGVsRGdsUXVhbGlmaXppZXJ0ID0gaWYgKCRuZXUuUFNPYmplY3QuUHJvcGVydGllc1snZWxEZ2xR +dWFsaWZpemllcnQnXSkgeyBbYm9vbF0kbmV1LmVsRGdsUXVhbGlmaXppZXJ0IH0gZWxzZSB7ICRm +YWxzZSB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICMgTWFya2VyIGZ1ZXIg +UGVyc29uZW4sIGRpZSBwZXIgRXhjZWwtSW1wb3J0IGZyaXNjaCBhbmdlbGVndA0KICAgICAgICAg +ICAgICAgICMgd3VyZGVuLiBQZXJzb25hbHZlcndhbHR1bmcgYmxlbmRldCBzaWUgaW0gTmV1aW1w +b3J0LUJsb2NrDQogICAgICAgICAgICAgICAgIyBvYmVuIGVpbiwgYmlzIGRhcyBGbGFnIG1hbnVl +bGwgd2VnZ2VzZXR6dCB3aXJkIChFcmxlZGlndC0NCiAgICAgICAgICAgICAgICAjIEJ1dHRvbikg +b2RlciBkYXMgbGV0enRlIFBmbGljaHRmZWxkIChEaWVuc3RncnVwcGUpIGdlcGZsZWd0DQogICAg +ICAgICAgICAgICAgIyBpc3QgdW5kIGRlciBVc2VyIGF1ZiAiQmxvY2sgbGVlcmVuIiBrbGlja3Qu +DQogICAgICAgICAgICAgICAgaWYgKCRuZXUuUFNPYmplY3QuUHJvcGVydGllc1snaW1wb3J0TmV1 +QW0nXSAtYW5kICRuZXUuaW1wb3J0TmV1QW0pIHsNCiAgICAgICAgICAgICAgICAgICAgJHBlcnNv +blsnaW1wb3J0TmV1QW0nXSA9IFtzdHJpbmddJG5ldS5pbXBvcnROZXVBbQ0KICAgICAgICAgICAg +ICAgIH0NCiAgICAgICAgICAgICAgICAkcGxhbnVuZy5wZXJzb25lbiArPSBbUFNDdXN0b21PYmpl +Y3RdJHBlcnNvbg0KICAgICAgICAgICAgICAgIFdyaXRlLUpzb25PYmplY3QgJ3BsYW51bmcuanNv +bicgJHBsYW51bmcgfCBPdXQtTnVsbA0KICAgICAgICAgICAgICAgIHJldHVybiBAeyBuZXVlSWQg +PSAkbmV1ZUlkOyB6aWVsUG9zID0gJHppZWxQb3M7IGVpbnJlaWhlbiA9ICRlaW5yZWloZW4gfQ0K +ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9IGNhdGNoIHsNCiAgICAgICAgICAg +ICAgICAgICAgU2VuZC1FcnJvciAkUmVzcG9uc2UgKCJMb2NrLUZlaGxlcjogJF8iKSA1MDM7IGNv +bnRpbnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIFdyaXRlLUxvZ0VpbnRy +YWcgJ3BlcnNvbi5hbmdlbGVndCcgQHsgcGVyc29uSWQgPSAkcGVyc1Jlcy5uZXVlSWQ7IG5hbWUg +PSAiJCgkbmV1LnZvcm5hbWUpICQoJG5ldS5uYW1lKSIuVHJpbSgpOyBlaW5yZWloZW4gPSAkcGVy +c1Jlcy5laW5yZWloZW47IHBvc2l0aW9uID0gJHBlcnNSZXMuemllbFBvcyB9DQogICAgICAgICAg +ICAgICAgU2VuZC1Kc29uT2JqZWN0ICRSZXNwb25zZSBAeyBzdGF0dXMgPSAnYW5nZWxlZ3QnOyBp +ZCA9ICRwZXJzUmVzLm5ldWVJZDsgcG9zaXRpb24gPSAkcGVyc1Jlcy56aWVsUG9zIH0NCiAgICAg +ICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKCRQYXRo +IC1tYXRjaCAnXi9hcGkvcGVyc29uZW4vKFxkKykkJyAtYW5kICRNZXRob2QgLWVxICdQVVQnKSB7 +DQogICAgICAgICAgICAgICAgaWYgKC1ub3QgKFRlc3QtSXN0QWRtaW4pKSB7IFNlbmQtRXJyb3Ig +JFJlc3BvbnNlICdLZWluZSBBZG1pbi1SZWNodGUnIDQwMzsgY29udGludWUgfQ0KICAgICAgICAg +ICAgICAgICRwZXJzb25JZCA9IFtpbnRdJE1hdGNoZXNbMV0NCiAgICAgICAgICAgICAgICAkYm9k +eSA9IFJlYWQtQm9keSAkUmVxdWVzdA0KICAgICAgICAgICAgICAgIGlmICgtbm90ICRib2R5KSB7 +IFNlbmQtRXJyb3IgJFJlc3BvbnNlICdBbmZyYWdlIHp1IGdyb3NzJyA0MTM7IGNvbnRpbnVlIH0N +CiAgICAgICAgICAgICAgICAkdXBkYXRlID0gJGJvZHkgfCBDb252ZXJ0RnJvbS1Kc29uDQogICAg +ICAgICAgICAgICAgIyBBdWRpdC1QaGFzZSBBLjMgKDIwMjYtMDUtMjEpOiBQcml2aWxlZ2llbi1T +Y2h1dHouIFJlaW5lDQogICAgICAgICAgICAgICAgIyBGYWNoYXVmc2ljaHQtQWRtaW5zIChzZWhl +bi5hZG1pbmlzdHJhdGlvbj10cnVlLCBhYmVyIGtlaW4gU1UpDQogICAgICAgICAgICAgICAgIyBk +dWVyZmVuIFN0YW1tZGF0ZW4gZWRpdGllcmVuLCBhYmVyIEtFSU5FIFNpY2h0YmFya2VpdHMtDQog +ICAgICAgICAgICAgICAgIyBPdmVycmlkZXMgKGBzZWhlbmApIG9kZXIgZWRpdGllci1SZWNodGUg +KGBlZGl0UmVjaHRlYCkgc2V0emVuDQogICAgICAgICAgICAgICAgIyDigJQgc29uc3Qga29lbm50 +ZW4gc2llIHNpY2ggTG9nYnVjaC0vU3RhdGlzdGlrLVNpY2h0IHNlbGJzdA0KICAgICAgICAgICAg +ICAgICMgZnJlaXNjaGFsdGVuLiBQZXIgRGV2VG9vbHMtbWFuaXB1bGllcnRlcyBQYXlsb2FkIGFi +ZmFuZ2VuLg0KICAgICAgICAgICAgICAgIGlmICgtbm90IChUZXN0LUlzdFN1cGVyVXNlcikpIHsN +CiAgICAgICAgICAgICAgICAgICAgaWYgKCR1cGRhdGUuUFNPYmplY3QuUHJvcGVydGllc1snc2Vo +ZW4nXSkgICAgICB7ICR1cGRhdGUuUFNPYmplY3QuUHJvcGVydGllcy5SZW1vdmUoJ3NlaGVuJykg +fQ0KICAgICAgICAgICAgICAgICAgICBpZiAoJHVwZGF0ZS5QU09iamVjdC5Qcm9wZXJ0aWVzWydl +ZGl0UmVjaHRlJ10pIHsgJHVwZGF0ZS5QU09iamVjdC5Qcm9wZXJ0aWVzLlJlbW92ZSgnZWRpdFJl +Y2h0ZScpIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJHB1dFJlcyA9ICRu +dWxsDQogICAgICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAkcHV0UmVzID0gSW52 +b2tlLVdpdGhGaWxlTG9jayAncGxhbnVuZy5qc29uJyB7DQogICAgICAgICAgICAgICAgJHBsYW51 +bmcgPSBSZWFkLUpzb25PYmplY3QgJ3BsYW51bmcuanNvbicNCiAgICAgICAgICAgICAgICAkZ2Vm +dW5kZW4gICA9ICRmYWxzZQ0KICAgICAgICAgICAgICAgICRhbHRlV2VydGUgID0gQHt9DQogICAg +ICAgICAgICAgICAgJHBlcnNvbk5hbWUgPSAnJw0KICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRw +IGluICRwbGFudW5nLnBlcnNvbmVuKSB7DQogICAgICAgICAgICAgICAgICAgIGlmICgkcC5pZCAt +ZXEgJHBlcnNvbklkKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkcGVyc29uTmFtZSA9ICgo +IiQoJHAudm9ybmFtZSkgJCgkcC5uYW1lKSIpLlRyaW0oKSkNCiAgICAgICAgICAgICAgICAgICAg +ICAgIGZvcmVhY2ggKCRwcm9wIGluICR1cGRhdGUuUFNPYmplY3QuUHJvcGVydGllcykgew0KICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkcHJvcC5OYW1lIC1uZSAnaWQnKSB7DQogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbHRlV2VydGVbJHByb3AuTmFtZV0gPSBpZiAo +JHAuUFNPYmplY3QuUHJvcGVydGllc1skcHJvcC5OYW1lXSkgeyAkcC4oJHByb3AuTmFtZSkgfSBl +bHNlIHsgJG51bGwgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHAuUFNP +YmplY3QuUHJvcGVydGllc1skcHJvcC5OYW1lXSkgeyAkcC4oJHByb3AuTmFtZSkgPSAkcHJvcC5W +YWx1ZSB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeyAkcCB8IEFkZC1N +ZW1iZXIgLU5vdGVQcm9wZXJ0eU5hbWUgJHByb3AuTmFtZSAtTm90ZVByb3BlcnR5VmFsdWUgJHBy +b3AuVmFsdWUgLUZvcmNlIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg +ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAkZ2VmdW5kZW4gPSAk +dHJ1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsNCiAgICAgICAgICAgICAgICAgICAg +fQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAkZ2VmdW5kZW4p +IHsgcmV0dXJuIEB7IGdlZnVuZGVuID0gJGZhbHNlIH0gfQ0KICAgICAgICAgICAgICAgIFdyaXRl +LUpzb25PYmplY3QgJ3BsYW51bmcuanNvbicgJHBsYW51bmcgfCBPdXQtTnVsbA0KICAgICAgICAg +ICAgICAgIHJldHVybiBAeyBnZWZ1bmRlbiA9ICR0cnVlOyBhbHRlV2VydGUgPSAkYWx0ZVdlcnRl +OyBwZXJzb25OYW1lID0gJHBlcnNvbk5hbWUgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAg +ICAgICAgICB9IGNhdGNoIHsNCiAgICAgICAgICAgICAgICAgICAgU2VuZC1FcnJvciAkUmVzcG9u +c2UgKCJMb2NrLUZlaGxlcjogJF8iKSA1MDM7IGNvbnRpbnVlDQogICAgICAgICAgICAgICAgfQ0K +ICAgICAgICAgICAgICAgIGlmICgtbm90ICRwdXRSZXMuZ2VmdW5kZW4pIHsgU2VuZC1FcnJvciAk +UmVzcG9uc2UgIlBlcnNvbiAkcGVyc29uSWQgbmljaHQgZ2VmdW5kZW4iIDQwNDsgY29udGludWUg +fQ0KICAgICAgICAgICAgICAgICRhbHRlV2VydGUgID0gJHB1dFJlcy5hbHRlV2VydGUNCiAgICAg +ICAgICAgICAgICAkcGVyc29uTmFtZSA9ICRwdXRSZXMucGVyc29uTmFtZQ0KDQogICAgICAgICAg +ICAgICAgIyBEaWZmLURpY3Qg4oCUIG51ciBGZWxkZXIsIGluIGRlbmVuIHNpY2ggZGVyIFdlcnQg +dGF0c2FlY2hsaWNoDQogICAgICAgICAgICAgICAgIyBnZWFlbmRlcnQgaGF0LiBKU09OLXN0YWJp +bGUgVmVyZ2xlaWNoc2Jhc2lzLg0KICAgICAgICAgICAgICAgICRnZWFlbmRlcnQgPSBbb3JkZXJl +ZF1Ae30NCiAgICAgICAgICAgICAgICBmb3JlYWNoICgkcHJvcCBpbiAkdXBkYXRlLlBTT2JqZWN0 +LlByb3BlcnRpZXMpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCRwcm9wLk5hbWUgLWVxICdp +ZCcpIHsgY29udGludWUgfQ0KICAgICAgICAgICAgICAgICAgICAkYWx0VmFsICA9ICRhbHRlV2Vy +dGVbJHByb3AuTmFtZV0NCiAgICAgICAgICAgICAgICAgICAgJG5ldVZhbCAgPSAkcHJvcC5WYWx1 +ZQ0KICAgICAgICAgICAgICAgICAgICAkYWx0SnNvbiA9ICgkYWx0VmFsIHwgQ29udmVydFRvLUpz +b24gLUNvbXByZXNzIC1EZXB0aCA4KQ0KICAgICAgICAgICAgICAgICAgICAkbmV1SnNvbiA9ICgk +bmV1VmFsIHwgQ29udmVydFRvLUpzb24gLUNvbXByZXNzIC1EZXB0aCA4KQ0KICAgICAgICAgICAg +ICAgICAgICBpZiAoJGFsdEpzb24gLW5lICRuZXVKc29uKSB7DQogICAgICAgICAgICAgICAgICAg +ICAgICAkZ2VhZW5kZXJ0WyRwcm9wLk5hbWVdID0gW29yZGVyZWRdQHsgYWx0ID0gJGFsdFZhbDsg +bmV1ID0gJG5ldVZhbCB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9 +DQoNCiAgICAgICAgICAgICAgICBXcml0ZS1Mb2dFaW50cmFnICdwZXJzb24uZ2VhZW5kZXJ0JyAo +W29yZGVyZWRdQHsNCiAgICAgICAgICAgICAgICAgICAgcGVyc29uSWQgID0gJHBlcnNvbklkDQog +ICAgICAgICAgICAgICAgICAgIG5hbWUgICAgICA9ICRwZXJzb25OYW1lDQogICAgICAgICAgICAg +ICAgICAgIGdlYWVuZGVydCA9ICRnZWFlbmRlcnQNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAg +ICAgICAgICAgICMgSGlud2Vpcy1UcmlnZ2VyOiBJZGVudGl0YWV0cy1BZW5kZXJ1bmcgKG53S2Vu +bnVuZyAvIGVtYWlsKSBiZWtvbW10DQogICAgICAgICAgICAgICAgIyBlaW5lbiBJbi1BcHAtSGlu +d2VpcyBmdWVyIFNVICsgR2VzYW10dmVyYW50d29ydGxpY2hlLiBQcm8gRmVsZCBlaW4NCiAgICAg +ICAgICAgICAgICAjIGVpZ2VuZXIgRWludHJhZywgZGFtaXQgZGFzIE1vZGFsIGxlc2JhciBibGVp +YnQuDQogICAgICAgICAgICAgICAgZm9yZWFjaCAoJGZlbGQgaW4gQCgnbndLZW5udW5nJywgJ2Vt +YWlsJykpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCRnZWFlbmRlcnQuQ29udGFpbnMoJGZl +bGQpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkZGlmZiA9ICRnZWFlbmRlcnRbJGZlbGRd +DQogICAgICAgICAgICAgICAgICAgICAgICBOZXctSGlud2VpcyAnaWRlbnRpdGFldF9nZWFlbmRl +cnQnIChbb3JkZXJlZF1Aew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcnNvbl9pZCAg +ID0gJHBlcnNvbklkDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyc29uX25hbWUgPSAk +cGVyc29uTmFtZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZlbGQgICAgICAgID0gJGZl +bGQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHRlcl93ZXJ0ICA9ICIkKCRkaWZmLmFs +dCkiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV1ZXJfd2VydCAgPSAiJCgkZGlmZi5u +ZXUpIg0KICAgICAgICAgICAgICAgICAgICAgICAgfSkgKEdldC1Ba3R1ZWxsZXJCZW51dHplcikg +fCBPdXQtTnVsbA0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAg +ICAgICAgICAgICAgIFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2UgQHsgc3RhdHVzID0gJ2FrdHVh +bGlzaWVydCcgfQ0KICAgICAgICAgICAgICAgIGNvbnRpbnVlDQogICAgICAgICAgICB9DQogICAg +ICAgICAgICAjIERFTEVURSAvYXBpL3BlcnNvbmVuL3tpZH0gICAgICAgICAgICAtPiBTb2Z0LURl +bGV0ZSAoZ2Vsb2VzY2h0QW0gZ2VzZXR6dCwgUGVyc29uIGJsZWlidCBpbSBEYXRlbnNhdHogZnVl +ciBQYXBpZXJrb3JiLVJ1ZWNraG9sdW5nKQ0KICAgICAgICAgICAgIyBERUxFVEUgL2FwaS9wZXJz +b25lbi97aWR9P2VuZGd1ZWx0aWc9MSAtPiBIYXJkLURlbGV0ZSAoUGVyc29uIGtvbXBsZXR0IGVu +dGZlcm5lbiwgRWludHJhZWdlL0tvbW1lbnRhcmUgdmVyd2Fpc2VuKQ0KICAgICAgICAgICAgIyBW +b3IgZGVtIFNvZnQtRGVsZXRlIHdlcmRlbiBpbSBzZWxiZW4gWnVnIGJlcmVpdHMgUGFwaWVya29y +Yi1FaW50cmFlZ2UgYXVmZ2VyYWV1bXQsIGRpZSBhZWx0ZXIgYWxzDQogICAgICAgICAgICAjIGFk +bWluLnBhcGllcmtvcmJUYWdlQXVmYmV3YWhydW5nIChEZWZhdWx0IDMwIFRhZ2UpIHNpbmQuIFNv +IGJsZWlidCBkZXIgRGF0ZW5zYXR6IHNjaGxhbmssIG9obmUNCiAgICAgICAgICAgICMgZWluZW4g +c2VwYXJhdGVuIENyb24tSm9iIHp1IGJyYXVjaGVuLg0KICAgICAgICAgICAgaWYgKCRQYXRoIC1t +YXRjaCAnXi9hcGkvcGVyc29uZW4vKFxkKykkJyAtYW5kICRNZXRob2QgLWVxICdERUxFVEUnKSB7 +DQogICAgICAgICAgICAgICAgaWYgKC1ub3QgKFRlc3QtSXN0QWRtaW4pKSB7IFNlbmQtRXJyb3Ig +JFJlc3BvbnNlICdLZWluZSBBZG1pbi1SZWNodGUnIDQwMzsgY29udGludWUgfQ0KICAgICAgICAg +ICAgICAgICRwZXJzb25JZCA9IFtpbnRdJE1hdGNoZXNbMV0NCiAgICAgICAgICAgICAgICAkZW5k +Z3VlbHRpZyA9ICRmYWxzZQ0KICAgICAgICAgICAgICAgIGlmICgkUmVxdWVzdC5VcmwuUXVlcnkp +IHsNCiAgICAgICAgICAgICAgICAgICAgJHEgPSBbU3lzdGVtLldlYi5IdHRwVXRpbGl0eV06OlBh +cnNlUXVlcnlTdHJpbmcoJFJlcXVlc3QuVXJsLlF1ZXJ5KQ0KICAgICAgICAgICAgICAgICAgICAk +ZW5kZ3VlbHRpZyA9IChbc3RyaW5nXSRxWydlbmRndWVsdGlnJ10pIC1lcSAnMScNCiAgICAgICAg +ICAgICAgICB9DQogICAgICAgICAgICAgICAgJGRlbFJlcyA9ICRudWxsDQogICAgICAgICAgICAg +ICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAkZGVsUmVzID0gSW52b2tlLVdpdGhGaWxlTG9jayAn +cGxhbnVuZy5qc29uJyB7DQogICAgICAgICAgICAgICAgJHBsYW51bmcgPSBSZWFkLUpzb25PYmpl +Y3QgJ3BsYW51bmcuanNvbicNCiAgICAgICAgICAgICAgICAkYWRtaW4gICA9IFJlYWQtSnNvbk9i +amVjdCAnYWRtaW4uanNvbicNCiAgICAgICAgICAgICAgICAkYXVmYmV3YWhydW5nID0gMzANCiAg +ICAgICAgICAgICAgICBpZiAoJGFkbWluIC1hbmQgJGFkbWluLlBTT2JqZWN0LlByb3BlcnRpZXNb +J3BhcGllcmtvcmJUYWdlQXVmYmV3YWhydW5nJ10pIHsNCiAgICAgICAgICAgICAgICAgICAgdHJ5 +IHsgJGF1ZmJld2FocnVuZyA9IFtpbnRdJGFkbWluLnBhcGllcmtvcmJUYWdlQXVmYmV3YWhydW5n +IH0gY2F0Y2gge30NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJGpldHp0ID0g +KEdldC1EYXRlKS5Ub1N0cmluZygnbycpDQogICAgICAgICAgICAgICAgJHBlcnNvbk5hbWUgPSAn +Jw0KICAgICAgICAgICAgICAgICRnZWZ1bmRlbiA9ICRmYWxzZQ0KICAgICAgICAgICAgICAgICRu +ZXVlUGVyc29uZW4gPSBAKCkNCiAgICAgICAgICAgICAgICBmb3JlYWNoICgkcCBpbiAkcGxhbnVu +Zy5wZXJzb25lbikgew0KICAgICAgICAgICAgICAgICAgICBpZiAoJHAuaWQgLWVxICRwZXJzb25J +ZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJGdlZnVuZGVuID0gJHRydWUNCiAgICAgICAg +ICAgICAgICAgICAgICAgICRwZXJzb25OYW1lID0gKCgiJCgkcC52b3JuYW1lKSAkKCRwLm5hbWUp +IikuVHJpbSgpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRlbmRndWVsdGlnKSB7DQog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBIYXJkLURlbGV0ZTogdWViZXJzcHJpbmdlbiwg +UGVyc29uIGZsaWVndCByYXVzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUN +CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgaWYgKCRwLlBTT2JqZWN0LlByb3BlcnRpZXNbJ2dlbG9lc2NodEFtJ10pIHsgJHAuZ2Vs +b2VzY2h0QW0gPSAkamV0enQgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeyAk +cCB8IEFkZC1NZW1iZXIgLU5vdGVQcm9wZXJ0eU5hbWUgJ2dlbG9lc2NodEFtJyAtTm90ZVByb3Bl +cnR5VmFsdWUgJGpldHp0IC1Gb3JjZSB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5l +dWVQZXJzb25lbiArPSAkcA0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg +ICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgIyBBdXRvLVB1cmdlOiBT +b2Z0LURlbGV0ZWQtUGVyc29uZW4sIGRlcmVuIGdlbG9lc2NodEFtIGFlbHRlcg0KICAgICAgICAg +ICAgICAgICAgICAgICAgIyBhbHMgJGF1ZmJld2FocnVuZyBUYWdlIGlzdCwgd2VyZGVuIGhpZXIg +ZW5kZ3VlbHRpZyBlbnRmZXJudC4NCiAgICAgICAgICAgICAgICAgICAgICAgICRwdXJnZSA9ICRm +YWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRwLlBTT2JqZWN0LlByb3BlcnRpZXNb +J2dlbG9lc2NodEFtJ10gLWFuZCAkcC5nZWxvZXNjaHRBbSkgew0KICAgICAgICAgICAgICAgICAg +ICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbHRlciA9 +IFtkYXRldGltZV0kcC5nZWxvZXNjaHRBbQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICBpZiAoKE5ldy1UaW1lU3BhbiAtU3RhcnQgJGFsdGVyIC1FbmQgKEdldC1EYXRlKSkuVG90YWxE +YXlzIC1ndCAkYXVmYmV3YWhydW5nKSB7ICRwdXJnZSA9ICR0cnVlIH0NCiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICB9IGNhdGNoIHt9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAg +ICAgICAgICAgICAgICAgICAgICBpZiAoLW5vdCAkcHVyZ2UpIHsgJG5ldWVQZXJzb25lbiArPSAk +cCB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAg +ICAgICAgaWYgKC1ub3QgJGdlZnVuZGVuKSB7IHJldHVybiBAeyBnZWZ1bmRlbiA9ICRmYWxzZSB9 +IH0NCiAgICAgICAgICAgICAgICAkcGxhbnVuZy5wZXJzb25lbiA9IFtvYmplY3RbXV1AKCRuZXVl +UGVyc29uZW4pDQogICAgICAgICAgICAgICAgV3JpdGUtSnNvbk9iamVjdCAncGxhbnVuZy5qc29u +JyAkcGxhbnVuZyB8IE91dC1OdWxsDQogICAgICAgICAgICAgICAgcmV0dXJuIEB7IGdlZnVuZGVu +ID0gJHRydWU7IHBlcnNvbk5hbWUgPSAkcGVyc29uTmFtZTsgamV0enQgPSAkamV0enQgfQ0KICAg +ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9IGNhdGNoIHsNCiAgICAgICAgICAgICAg +ICAgICAgU2VuZC1FcnJvciAkUmVzcG9uc2UgKCJMb2NrLUZlaGxlcjogJF8iKSA1MDM7IGNvbnRp +bnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmICgtbm90ICRkZWxSZXMu +Z2VmdW5kZW4pIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgIlBlcnNvbiAkcGVyc29uSWQgbmljaHQg +Z2VmdW5kZW4iIDQwNDsgY29udGludWUgfQ0KICAgICAgICAgICAgICAgICRwZXJzb25OYW1lID0g +JGRlbFJlcy5wZXJzb25OYW1lDQogICAgICAgICAgICAgICAgJGpldHp0ID0gJGRlbFJlcy5qZXR6 +dA0KICAgICAgICAgICAgICAgIGlmICgkZW5kZ3VlbHRpZykgew0KICAgICAgICAgICAgICAgICAg +ICBXcml0ZS1Mb2dFaW50cmFnICdwZXJzb24uZW5kZ3VlbHRpZy5nZWxvZXNjaHQnIEB7IHBlcnNv +bklkID0gJHBlcnNvbklkOyBuYW1lID0gJHBlcnNvbk5hbWUgfQ0KICAgICAgICAgICAgICAgIH0g +ZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIFdyaXRlLUxvZ0VpbnRyYWcgJ3BlcnNvbi5pbi5w +YXBpZXJrb3JiJyBAeyBwZXJzb25JZCA9ICRwZXJzb25JZDsgbmFtZSA9ICRwZXJzb25OYW1lOyBn +ZWxvZXNjaHRBbSA9ICRqZXR6dCB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg +IFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2UgQHsgc3RhdHVzID0gJ2dlbG9lc2NodCc7IG1vZHVz +ID0gaWYgKCRlbmRndWVsdGlnKSB7ICdlbmRndWVsdGlnJyB9IGVsc2UgeyAncGFwaWVya29yYicg +fSB9DQogICAgICAgICAgICAgICAgY29udGludWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAg +IGlmICgkUGF0aCAtZXEgJy9hcGkvcGVyc29uZW4vcmVpaGVuZm9sZ2UnIC1hbmQgJE1ldGhvZCAt +ZXEgJ1BVVCcpIHsNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAoVGVzdC1Jc3RBZG1pbikpIHsg +U2VuZC1FcnJvciAkUmVzcG9uc2UgJ0tlaW5lIEFkbWluLVJlY2h0ZScgNDAzOyBjb250aW51ZSB9 +DQogICAgICAgICAgICAgICAgJGJvZHkgPSBSZWFkLUJvZHkgJFJlcXVlc3QNCiAgICAgICAgICAg +ICAgICBpZiAoLW5vdCAkYm9keSkgeyBTZW5kLUVycm9yICRSZXNwb25zZSAnQW5mcmFnZSB6dSBn +cm9zcycgNDEzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJHJlaWhlbmZvbGdlID0gJGJv +ZHkgfCBDb252ZXJ0RnJvbS1Kc29uDQogICAgICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAg +ICAgICAgICAgSW52b2tlLVdpdGhGaWxlTG9jayAncGxhbnVuZy5qc29uJyB7DQogICAgICAgICAg +ICAgICAgICAgICAgICAkcGxhbnVuZyA9IFJlYWQtSnNvbk9iamVjdCAncGxhbnVuZy5qc29uJw0K +ICAgICAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJHIgaW4gJHJlaWhlbmZvbGdlKSB7DQog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJHAgaW4gJHBsYW51bmcucGVyc29u +ZW4pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRwLmlkIC1lcSAkci5p +ZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRwLlBTT2JqZWN0 +LlByb3BlcnRpZXNbJ3Bvc2l0aW9uJ10pIHsgJHAucG9zaXRpb24gPSAkci5wb3NpdGlvbiB9DQog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsgJHAgfCBBZGQtTWVtYmVy +IC1Ob3RlUHJvcGVydHlOYW1lICdwb3NpdGlvbicgLU5vdGVQcm9wZXJ0eVZhbHVlICRyLnBvc2l0 +aW9uIC1Gb3JjZSB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaw0K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg +ICAgV3JpdGUtSnNvbk9iamVjdCAncGxhbnVuZy5qc29uJyAkcGxhbnVuZyB8IE91dC1OdWxsDQog +ICAgICAgICAgICAgICAgICAgIH0gfCBPdXQtTnVsbA0KICAgICAgICAgICAgICAgIH0gY2F0Y2gg +ew0KICAgICAgICAgICAgICAgICAgICBTZW5kLUVycm9yICRSZXNwb25zZSAoIkxvY2stRmVobGVy +OiAkXyIpIDUwMzsgY29udGludWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg +V3JpdGUtTG9nRWludHJhZyAncGVyc29uZW4ucmVpaGVuZm9sZ2UuZ2VhZW5kZXJ0JyBAe30NCiAg +ICAgICAgICAgICAgICBTZW5kLUpzb25PYmplY3QgJFJlc3BvbnNlIEB7IHN0YXR1cyA9ICdha3R1 +YWxpc2llcnQnIH0NCiAgICAgICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAgICAgfQ0KDQog +ICAgICAgICAgICAjID09PT09IEhJTldFSVNFIChJbi1BcHAtQmFubmVyL01vZGFsLVN5c3RlbSkg +PT09PT0NCiAgICAgICAgICAgICMgR0VUICAvYXBpL2hpbndlaXNlICAgICAgICAgICAgLT4gb2Zm +ZW5lIEhpbndlaXNlIGZ1ZXIgZGVuIGVpbmdlbG9nZ3RlbiBVc2VyDQogICAgICAgICAgICAjIFBP +U1QgL2FwaS9oaW53ZWlzZS97aWR9L2tlbm50bmlzIC0+IEtlbm50bmlzbmFobWUgc2V0emVuDQog +ICAgICAgICAgICAjIEdFVCAgL2FwaS9oaW53ZWlzZS91ZWJlcnNpY2h0IC0+IFNVLW9ubHksIHZv +bGxzdGFlbmRpZ2UgU2ljaHQgaW5rbC4gTGVzZS1TdGF0dXMNCiAgICAgICAgICAgIGlmICgkUGF0 +aCAtZXEgJy9hcGkvaGlud2Vpc2UnIC1hbmQgJE1ldGhvZCAtZXEgJ0dFVCcpIHsNCiAgICAgICAg +ICAgICAgICAjIEdhdGVkOiBudXIgRW1wZmFlbmdlciAoU1Ugb2RlciBHZXNhbXR2ZXJhbnR3b3J0 +bGljaCkgZHVlcmZlbiB1ZWJlcmhhdXB0IGZyYWdlbg0KICAgICAgICAgICAgICAgICRyID0gR2V0 +LVJlY2h0ZQ0KICAgICAgICAgICAgICAgIGlmICgtbm90ICgkci5pc3RTdXBlclVzZXIgLW9yICRy +LmlzdEdlc2FtdHZlcmFudHdvcnRsaWNoKSkgew0KICAgICAgICAgICAgICAgICAgICBTZW5kLUpz +b25PYmplY3QgJFJlc3BvbnNlIEB7IGhpbndlaXNlID0gQCgpIH0NCiAgICAgICAgICAgICAgICAg +ICAgY29udGludWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgSW52b2tlLUhp +bndlaXNQcnVuaW5nDQogICAgICAgICAgICAgICAgJGggPSBSZWFkLUpzb25PYmplY3QgJ2hpbndl +aXNlLmpzb24nDQogICAgICAgICAgICAgICAgaWYgKCRudWxsIC1lcSAkaCAtb3IgLW5vdCAkaC5Q +U09iamVjdC5Qcm9wZXJ0aWVzWydoaW53ZWlzZSddKSB7DQogICAgICAgICAgICAgICAgICAgIFNl +bmQtSnNvbk9iamVjdCAkUmVzcG9uc2UgQHsgaGlud2Vpc2UgPSBAKCkgfQ0KICAgICAgICAgICAg +ICAgICAgICBjb250aW51ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkb2Zm +ZW4gPSBAKCkNCiAgICAgICAgICAgICAgICBmb3JlYWNoICgkZWludHJhZyBpbiBAKCRoLmhpbndl +aXNlKSkgew0KICAgICAgICAgICAgICAgICAgICAkaXN0RW1wZmFlbmdlciA9ICRmYWxzZQ0KICAg +ICAgICAgICAgICAgICAgICAkaXN0R2VsZXNlbiAgICA9ICRmYWxzZQ0KICAgICAgICAgICAgICAg +ICAgICBmb3JlYWNoICgkcCBpbiAkZWludHJhZy5rZW5udG5pc25haG1lbi5QU09iamVjdC5Qcm9w +ZXJ0aWVzKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoVGVzdC1NYXRjaEtlbm51bmcg +KFtzdHJpbmddJHAuTmFtZSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaXN0RW1w +ZmFlbmdlciA9ICR0cnVlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRudWxsIC1u +ZSAkcC5WYWx1ZSkgeyAkaXN0R2VsZXNlbiA9ICR0cnVlIH0NCiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICBicmVhaw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg +ICAgICB9DQogICAgICAgICAgICAgICAgICAgIGlmICgkaXN0RW1wZmFlbmdlciAtYW5kIC1ub3Qg +JGlzdEdlbGVzZW4pIHsgJG9mZmVuICs9ICRlaW50cmFnIH0NCiAgICAgICAgICAgICAgICB9DQog +ICAgICAgICAgICAgICAgU2VuZC1Kc29uT2JqZWN0ICRSZXNwb25zZSBAeyBoaW53ZWlzZSA9IFtv +YmplY3RbXV0kb2ZmZW4gfQ0KICAgICAgICAgICAgICAgIGNvbnRpbnVlDQogICAgICAgICAgICB9 +DQogICAgICAgICAgICBpZiAoJFBhdGggLW1hdGNoICdeL2FwaS9oaW53ZWlzZS8oXGQrKS9rZW5u +dG5pcyQnIC1hbmQgJE1ldGhvZCAtZXEgJ1BPU1QnKSB7DQogICAgICAgICAgICAgICAgJGhpbndl +aXNJZCA9IFtpbnRdJE1hdGNoZXNbMV0NCiAgICAgICAgICAgICAgICAkciA9IEdldC1SZWNodGUN +CiAgICAgICAgICAgICAgICBpZiAoLW5vdCAoJHIuaXN0U3VwZXJVc2VyIC1vciAkci5pc3RHZXNh +bXR2ZXJhbnR3b3J0bGljaCkpIHsNCiAgICAgICAgICAgICAgICAgICAgU2VuZC1FcnJvciAkUmVz +cG9uc2UgJ0tlaW5lIEJlcmVjaHRpZ3VuZycgNDAzOyBjb250aW51ZQ0KICAgICAgICAgICAgICAg +IH0NCiAgICAgICAgICAgICAgICAkc2NyaXB0OmhpbndlaXNLZW5udG5pc0dlc2V0enQgPSAkZmFs +c2UNCiAgICAgICAgICAgICAgICAkc2NyaXB0OmhpbndlaXNLZW5udG5pc1R5cCA9ICRudWxsDQog +ICAgICAgICAgICAgICAgSW52b2tlLVdpdGhGaWxlTG9jayAnaGlud2Vpc2UuanNvbicgew0KICAg +ICAgICAgICAgICAgICAgICAkaCA9IFJlYWQtSnNvbk9iamVjdCAnaGlud2Vpc2UuanNvbicNCiAg +ICAgICAgICAgICAgICAgICAgaWYgKCRudWxsIC1lcSAkaCAtb3IgLW5vdCAkaC5QU09iamVjdC5Q +cm9wZXJ0aWVzWydoaW53ZWlzZSddKSB7IHJldHVybiB9DQogICAgICAgICAgICAgICAgICAgIGZv +cmVhY2ggKCRlaW50cmFnIGluIEAoJGguaGlud2Vpc2UpKSB7DQogICAgICAgICAgICAgICAgICAg +ICAgICBpZiAoW2ludF0kZWludHJhZy5pZCAtbmUgJGhpbndlaXNJZCkgeyBjb250aW51ZSB9DQog +ICAgICAgICAgICAgICAgICAgICAgICAjIEVyc3QgZGVuIE1hdGNoLVNsb3QgZXJtaXR0ZWxuLCBk +YW5uIGF1c3NlcmhhbGIgZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAjIFByb3BlcnR5LUVu +dW1lcmF0aW9uIGluLXBsYWNlIHNldHplbiAoUFMgNS4xIG1hZyBkYXMNCiAgICAgICAgICAgICAg +ICAgICAgICAgICMgTW9kaWZpemllcmVuIHdhZWhyZW5kIGZvcmVhY2ggbmljaHQgaW1tZXIpLg0K +ICAgICAgICAgICAgICAgICAgICAgICAgJG1hdGNoTmFtZSA9ICRudWxsDQogICAgICAgICAgICAg +ICAgICAgICAgICBmb3JlYWNoICgkcCBpbiAkZWludHJhZy5rZW5udG5pc25haG1lbi5QU09iamVj +dC5Qcm9wZXJ0aWVzKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFRlc3QtTWF0 +Y2hLZW5udW5nIChbc3RyaW5nXSRwLk5hbWUpKSB7ICRtYXRjaE5hbWUgPSAkcC5OYW1lOyBicmVh +ayB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBp +ZiAoJG1hdGNoTmFtZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0cyA9IChHZXQt +RGF0ZSkuVG9Vbml2ZXJzYWxUaW1lKCkuVG9TdHJpbmcoJ3l5eXktTU0tZGRUSEg6bW06c3NaJykN +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZWludHJhZy5rZW5udG5pc25haG1lbiB8IEFk +ZC1NZW1iZXIgLU5vdGVQcm9wZXJ0eU5hbWUgJG1hdGNoTmFtZSAtTm90ZVByb3BlcnR5VmFsdWUg +JHRzIC1Gb3JjZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY3JpcHQ6aGlud2Vpc0tl +bm50bmlzR2VzZXR6dCA9ICR0cnVlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRl +aW50cmFnLlBTT2JqZWN0LlByb3BlcnRpZXNbJ3R5cCddKSB7ICRzY3JpcHQ6aGlud2Vpc0tlbm50 +bmlzVHlwID0gW3N0cmluZ10kZWludHJhZy50eXAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAg +fQ0KICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsNCiAgICAgICAgICAgICAgICAgICAgfQ0K +ICAgICAgICAgICAgICAgICAgICBpZiAoJHNjcmlwdDpoaW53ZWlzS2VubnRuaXNHZXNldHp0KSB7 +DQogICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1Kc29uT2JqZWN0ICdoaW53ZWlzZS5qc29u +JyAkaCB8IE91dC1OdWxsDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9 +IHwgT3V0LU51bGwNCiAgICAgICAgICAgICAgICAkZ2VzZXR6dCA9IFtib29sXSRzY3JpcHQ6aGlu +d2Vpc0tlbm50bmlzR2VzZXR6dA0KICAgICAgICAgICAgICAgICRrZW5udG5pc1R5cCA9ICRzY3Jp +cHQ6aGlud2Vpc0tlbm50bmlzVHlwDQogICAgICAgICAgICAgICAgJHNjcmlwdDpoaW53ZWlzS2Vu +bnRuaXNHZXNldHp0ID0gJGZhbHNlDQogICAgICAgICAgICAgICAgJHNjcmlwdDpoaW53ZWlzS2Vu +bnRuaXNUeXAgPSAkbnVsbA0KICAgICAgICAgICAgICAgIGlmICgtbm90ICRnZXNldHp0KSB7DQog +ICAgICAgICAgICAgICAgICAgIFNlbmQtRXJyb3IgJFJlc3BvbnNlICJIaW53ZWlzICRoaW53ZWlz +SWQgbmljaHQgZ2VmdW5kZW4gb2RlciBuaWNodCBmdWVyIFNpZSBiZXN0aW1tdCIgNDA0OyBjb250 +aW51ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkbG9nRmVsZGVyID0gQHsg +aGlud2Vpc0lkID0gJGhpbndlaXNJZCB9DQogICAgICAgICAgICAgICAgaWYgKCRrZW5udG5pc1R5 +cCkgeyAkbG9nRmVsZGVyWyd0eXAnXSA9ICRrZW5udG5pc1R5cCB9DQogICAgICAgICAgICAgICAg +V3JpdGUtTG9nRWludHJhZyAnaGlud2Vpcy5rZW5udG5pcycgJGxvZ0ZlbGRlcg0KICAgICAgICAg +ICAgICAgIFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2UgQHsgc3RhdHVzID0gJ2tlbm50bmlzX2dl +c2V0enQnIH0NCiAgICAgICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAgICAgfQ0KICAgICAg +ICAgICAgaWYgKCRQYXRoIC1lcSAnL2FwaS9oaW53ZWlzZS91ZWJlcnNpY2h0JyAtYW5kICRNZXRo +b2QgLWVxICdHRVQnKSB7DQogICAgICAgICAgICAgICAgaWYgKC1ub3QgKFRlc3QtSXN0U3VwZXJV +c2VyKSkgeyBTZW5kLUVycm9yICRSZXNwb25zZSAnTnVyIFN1cGVyVXNlcicgNDAzOyBjb250aW51 +ZSB9DQogICAgICAgICAgICAgICAgSW52b2tlLUhpbndlaXNQcnVuaW5nDQogICAgICAgICAgICAg +ICAgJGggPSBSZWFkLUpzb25PYmplY3QgJ2hpbndlaXNlLmpzb24nDQogICAgICAgICAgICAgICAg +aWYgKCRudWxsIC1lcSAkaCAtb3IgLW5vdCAkaC5QU09iamVjdC5Qcm9wZXJ0aWVzWydoaW53ZWlz +ZSddKSB7DQogICAgICAgICAgICAgICAgICAgIFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2UgQHsg +aGlud2Vpc2UgPSBAKCkgfQ0KICAgICAgICAgICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAg +ICAgICAgIH0NCiAgICAgICAgICAgICAgICBTZW5kLUpzb25PYmplY3QgJFJlc3BvbnNlIEB7IGhp +bndlaXNlID0gW29iamVjdFtdXUAoJGguaGlud2Vpc2UpIH0NCiAgICAgICAgICAgICAgICBjb250 +aW51ZQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAjID09PT09IE1JVFRFSUxVTkdFTiAo +U3ByaW50IEQtM2IsIDIwMjYtMDUtMjkpID09PT09DQogICAgICAgICAgICAjIFZvbSBTVSBtYW51 +ZWxsIGdlcGZsZWd0ZXMgSGlud2Vpcy1Nb2RhbC1TeXN0ZW0gKHNlcGFyYXQgdm9uDQogICAgICAg +ICAgICAjIC9hcGkvaGlud2Vpc2UsIGRhcyBpc3QgbnVyIGZ1ZXIgU3lzdGVtLUVyZWlnbmlzc2Ug +U1UvR1YpLg0KICAgICAgICAgICAgIyBTY2hlbWEgKyBGaWx0ZXJ1bmctTG9naWsgZ2VzcGllZ2Vs +dCBhdXMgZGV2L3NlcnZlci5weToNCiAgICAgICAgICAgICMgICBfbWl0dGVpbHVuZ2VuX2Z1ZXJf +YWt0dWVsbGVuX3VzZXIoKSBiencuIF9wZXJzb25fYXVzX3BpZCgpLg0KICAgICAgICAgICAgaWYg +KCRQYXRoIC1lcSAnL2FwaS9taXR0ZWlsdW5nZW4nIC1hbmQgJE1ldGhvZCAtZXEgJ0dFVCcpIHsN +CiAgICAgICAgICAgICAgICBTZW5kLUpzb25PYmplY3QgJFJlc3BvbnNlIEB7IG1pdHRlaWx1bmdl +biA9IChHZXQtTWl0dGVpbHVuZ2VuRnVlckFrdHVlbGxlblVzZXIpIH0NCiAgICAgICAgICAgICAg +ICBjb250aW51ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKCRQYXRoIC1lcSAnL2Fw +aS9taXR0ZWlsdW5nZW4vYWxsZScgLWFuZCAkTWV0aG9kIC1lcSAnR0VUJykgew0KICAgICAgICAg +ICAgICAgIGlmICgtbm90IChUZXN0LUlzdFN1cGVyVXNlcikpIHsgU2VuZC1FcnJvciAkUmVzcG9u +c2UgJ051ciBTdXBlclVzZXInIDQwMzsgY29udGludWUgfQ0KICAgICAgICAgICAgICAgICRtID0g +UmVhZC1Kc29uT2JqZWN0ICdtaXR0ZWlsdW5nZW4uanNvbicNCiAgICAgICAgICAgICAgICAkbGlz +dGUgPSBAKCkNCiAgICAgICAgICAgICAgICBpZiAoJG51bGwgLW5lICRtIC1hbmQgJG0uUFNPYmpl +Y3QuUHJvcGVydGllc1snbWl0dGVpbHVuZ2VuJ10pIHsNCiAgICAgICAgICAgICAgICAgICAgJGxp +c3RlID0gQCgkbS5taXR0ZWlsdW5nZW4pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg +ICAgIFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2UgQHsgbWl0dGVpbHVuZ2VuID0gW29iamVjdFtd +XSRsaXN0ZSB9DQogICAgICAgICAgICAgICAgY29udGludWUNCiAgICAgICAgICAgIH0NCiAgICAg +ICAgICAgIGlmICgkUGF0aCAtZXEgJy9hcGkvbWl0dGVpbHVuZ2VuJyAtYW5kICRNZXRob2QgLWVx +ICdQT1NUJykgew0KICAgICAgICAgICAgICAgIGlmICgtbm90IChUZXN0LUlzdFN1cGVyVXNlcikp +IHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ051ciBTdXBlclVzZXIgZHVlcmZlbiBNaXR0ZWlsdW5n +ZW4gYW5sZWdlbicgNDAzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJHJhdyA9IFJlYWQt +Qm9keSAkUmVxdWVzdA0KICAgICAgICAgICAgICAgIGlmICgtbm90ICRyYXcpIHsgU2VuZC1FcnJv +ciAkUmVzcG9uc2UgJ0JvZHkgZmVobHQnIDQwMDsgY29udGludWUgfQ0KICAgICAgICAgICAgICAg +IHRyeSB7ICRib2R5ID0gJHJhdyB8IENvbnZlcnRGcm9tLUpzb24gfSBjYXRjaCB7IFNlbmQtRXJy +b3IgJFJlc3BvbnNlICdVbmd1ZWx0aWdlcyBKU09OJyA0MDA7IGNvbnRpbnVlIH0NCiAgICAgICAg +ICAgICAgICAjIFNlcnZlci1zZWl0aWdlIFNhbml0aXNpZXJ1bmcgKFN0b3JlZC1YU1MpOiB0aXRl +bCArIHRleHQgd2VyZGVuDQogICAgICAgICAgICAgICAgIyBpbSBDbGllbnQgdmlhIGlubmVySFRN +TCBnZXJlbmRlcnQuDQogICAgICAgICAgICAgICAgJHRpdGVsID0gQ29udmVydFRvLVNhZmVSaWNo +SHRtbCAoKFtzdHJpbmddKCRib2R5LnRpdGVsKSkuVHJpbSgpKQ0KICAgICAgICAgICAgICAgICR0 +ZXh0ICA9IENvbnZlcnRUby1TYWZlUmljaEh0bWwgKChbc3RyaW5nXSgkYm9keS50ZXh0KSkuVHJp +bSgpKQ0KICAgICAgICAgICAgICAgIGlmICgtbm90ICR0aXRlbCkgeyBTZW5kLUVycm9yICRSZXNw +b25zZSAnVGl0ZWwgaXN0IFBmbGljaHRmZWxkJyA0MDA7IGNvbnRpbnVlIH0NCiAgICAgICAgICAg +ICAgICBpZiAoLW5vdCAkdGV4dCkgIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ1RleHQgaXN0IFBm +bGljaHRmZWxkJyAgNDAwOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJHJhbmQgPSAtam9p +biAoKDQ4Li41NykgKyAoOTcuLjEyMikgfCBHZXQtUmFuZG9tIC1Db3VudCA2IHwgRm9yRWFjaC1P +YmplY3QgeyBbY2hhcl0kXyB9KQ0KICAgICAgICAgICAgICAgICRtcyA9IFtpbnQ2NF0oW0RhdGVU +aW1lT2Zmc2V0XTo6VXRjTm93LlRvVW5peFRpbWVNaWxsaXNlY29uZHMoKSkNCiAgICAgICAgICAg +ICAgICAkbmV1ZUlkID0gIm1fJHttc31fJHtyYW5kfSINCiAgICAgICAgICAgICAgICAkZW1wZkRl +ZmF1bHQgPSBbcHNjdXN0b21vYmplY3RdQHsNCiAgICAgICAgICAgICAgICAgICAgYWxsZSA9ICR0 +cnVlOyBwZXJzb25lbiA9IEAoKTsgZ3J1cHBlbiA9IEAoKTsgcm9sbGVuID0gQCgpDQogICAgICAg +ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICRlbXBmID0gaWYgKCRib2R5LlBTT2JqZWN0LlBy +b3BlcnRpZXNbJ2VtcGZhZW5nZXInXSkgeyAkYm9keS5lbXBmYWVuZ2VyIH0gZWxzZSB7ICRlbXBm +RGVmYXVsdCB9DQogICAgICAgICAgICAgICAgJG5ldSA9IFtwc2N1c3RvbW9iamVjdF1Aew0KICAg +ICAgICAgICAgICAgICAgICBpZCAgICAgICAgICAgPSAkbmV1ZUlkDQogICAgICAgICAgICAgICAg +ICAgIHRpdGVsICAgICAgICA9ICR0aXRlbA0KICAgICAgICAgICAgICAgICAgICB0ZXh0ICAgICAg +ICAgPSAkdGV4dA0KICAgICAgICAgICAgICAgICAgICB0aHVtYm5haWwgICAgPSBpZiAoJGJvZHku +UFNPYmplY3QuUHJvcGVydGllc1sndGh1bWJuYWlsJ10pIHsgJGJvZHkudGh1bWJuYWlsIH0gZWxz +ZSB7ICRudWxsIH0NCiAgICAgICAgICAgICAgICAgICAgcGRmICAgICAgICAgID0gaWYgKCRib2R5 +LlBTT2JqZWN0LlByb3BlcnRpZXNbJ3BkZiddKSAgICAgICB7ICRib2R5LnBkZiB9ICAgICAgIGVs +c2UgeyAkbnVsbCB9DQogICAgICAgICAgICAgICAgICAgIHRyaWdnZXIgICAgICA9IGlmICgkYm9k +eS5QU09iamVjdC5Qcm9wZXJ0aWVzWyd0cmlnZ2VyJ10gLWFuZCAkYm9keS50cmlnZ2VyKSB7IFtz +dHJpbmddJGJvZHkudHJpZ2dlciB9IGVsc2UgeyAnZWlubWFsJyB9DQogICAgICAgICAgICAgICAg +ICAgIGJpc0RhdHVtICAgICA9IGlmICgkYm9keS5QU09iamVjdC5Qcm9wZXJ0aWVzWydiaXNEYXR1 +bSddKSAgeyAkYm9keS5iaXNEYXR1bSB9ICBlbHNlIHsgJG51bGwgfQ0KICAgICAgICAgICAgICAg +ICAgICBlbXBmYWVuZ2VyICAgPSAkZW1wZg0KICAgICAgICAgICAgICAgICAgICBlcnN0ZWxsdEFt +ICAgPSAoR2V0LURhdGUpLlRvVW5pdmVyc2FsVGltZSgpLlRvU3RyaW5nKCd5eXl5LU1NLWRkVEhI +Om1tOnNzWicpDQogICAgICAgICAgICAgICAgICAgIGVyc3RlbGx0Vm9uICA9IChHZXQtQWt0dWVs +bGVyQmVudXR6ZXIpDQogICAgICAgICAgICAgICAgICAgIGdlYWVuZGVydEFtICA9ICRudWxsDQog +ICAgICAgICAgICAgICAgICAgIGdlYWVuZGVydFZvbiA9ICRudWxsDQogICAgICAgICAgICAgICAg +fQ0KICAgICAgICAgICAgICAgIEludm9rZS1XaXRoRmlsZUxvY2sgJ21pdHRlaWx1bmdlbi5qc29u +JyB7DQogICAgICAgICAgICAgICAgICAgICRtID0gUmVhZC1Kc29uT2JqZWN0ICdtaXR0ZWlsdW5n +ZW4uanNvbicNCiAgICAgICAgICAgICAgICAgICAgaWYgKCRudWxsIC1lcSAkbSkgeyAkbSA9IFtw +c2N1c3RvbW9iamVjdF1AeyBtaXR0ZWlsdW5nZW4gPSBAKCk7IGdlbGVzZW4gPSBbcHNjdXN0b21v +YmplY3RdQHt9IH0gfQ0KICAgICAgICAgICAgICAgICAgICBpZiAoLW5vdCAkbS5QU09iamVjdC5Q +cm9wZXJ0aWVzWydtaXR0ZWlsdW5nZW4nXSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJG0g +fCBBZGQtTWVtYmVyIC1Ob3RlUHJvcGVydHlOYW1lIG1pdHRlaWx1bmdlbiAtTm90ZVByb3BlcnR5 +VmFsdWUgQCgpIC1Gb3JjZQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg +ICAgIGlmICgtbm90ICRtLlBTT2JqZWN0LlByb3BlcnRpZXNbJ2dlbGVzZW4nXSkgew0KICAgICAg +ICAgICAgICAgICAgICAgICAgJG0gfCBBZGQtTWVtYmVyIC1Ob3RlUHJvcGVydHlOYW1lIGdlbGVz +ZW4gLU5vdGVQcm9wZXJ0eVZhbHVlIChbcHNjdXN0b21vYmplY3RdQHt9KSAtRm9yY2UNCiAgICAg +ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAjIG5ldWVzdGUgb2Jlbg0KICAg +ICAgICAgICAgICAgICAgICAkbS5taXR0ZWlsdW5nZW4gPSBAKCRuZXUpICsgQCgkbS5taXR0ZWls +dW5nZW4pDQogICAgICAgICAgICAgICAgICAgIFdyaXRlLUpzb25PYmplY3QgJ21pdHRlaWx1bmdl +bi5qc29uJyAkbSB8IE91dC1OdWxsDQogICAgICAgICAgICAgICAgfSB8IE91dC1OdWxsDQogICAg +ICAgICAgICAgICAgV3JpdGUtTG9nRWludHJhZyAnbWl0dGVpbHVuZy5hbmdlbGVndCcgQHsgaWQg +PSAkbmV1ZUlkOyB0aXRlbCA9ICR0aXRlbCB9DQogICAgICAgICAgICAgICAgU2VuZC1Kc29uT2Jq +ZWN0ICRSZXNwb25zZSBAeyBzdGF0dXMgPSAnYW5nZWxlZ3QnOyBtaXR0ZWlsdW5nID0gJG5ldSB9 +DQogICAgICAgICAgICAgICAgY29udGludWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlm +ICgkUGF0aCAtbWF0Y2ggJ14vYXBpL21pdHRlaWx1bmdlbi8oW1x3LV0rKSQnIC1hbmQgJE1ldGhv +ZCAtZXEgJ1BVVCcpIHsNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAoVGVzdC1Jc3RTdXBlclVz +ZXIpKSB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICdOdXIgU3VwZXJVc2VyJyA0MDM7IGNvbnRpbnVl +IH0NCiAgICAgICAgICAgICAgICAkbWlkID0gJE1hdGNoZXNbMV0NCiAgICAgICAgICAgICAgICAk +cmF3ID0gUmVhZC1Cb2R5ICRSZXF1ZXN0DQogICAgICAgICAgICAgICAgaWYgKC1ub3QgJHJhdykg +eyBTZW5kLUVycm9yICRSZXNwb25zZSAnQm9keSBmZWhsdCcgNDAwOyBjb250aW51ZSB9DQogICAg +ICAgICAgICAgICAgdHJ5IHsgJGJvZHkgPSAkcmF3IHwgQ29udmVydEZyb20tSnNvbiB9IGNhdGNo +IHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ1VuZ3VlbHRpZ2VzIEpTT04nIDQwMDsgY29udGludWUg +fQ0KICAgICAgICAgICAgICAgICRzY3JpcHQ6bWl0dGVpbHVuZ0dlZnVuZGVuID0gJGZhbHNlDQog +ICAgICAgICAgICAgICAgJHNjcmlwdDptaXR0ZWlsdW5nWmllbCA9ICRudWxsDQogICAgICAgICAg +ICAgICAgSW52b2tlLVdpdGhGaWxlTG9jayAnbWl0dGVpbHVuZ2VuLmpzb24nIHsNCiAgICAgICAg +ICAgICAgICAgICAgJG0gPSBSZWFkLUpzb25PYmplY3QgJ21pdHRlaWx1bmdlbi5qc29uJw0KICAg +ICAgICAgICAgICAgICAgICBpZiAoJG51bGwgLWVxICRtIC1vciAtbm90ICRtLlBTT2JqZWN0LlBy +b3BlcnRpZXNbJ21pdHRlaWx1bmdlbiddKSB7IHJldHVybiB9DQogICAgICAgICAgICAgICAgICAg +IGZvcmVhY2ggKCRlaW50cmFnIGluIEAoJG0ubWl0dGVpbHVuZ2VuKSkgew0KICAgICAgICAgICAg +ICAgICAgICAgICAgaWYgKFtzdHJpbmddJGVpbnRyYWcuaWQgLW5lICRtaWQpIHsgY29udGludWUg +fQ0KICAgICAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJGZlbGQgaW4gJ3RpdGVsJywndGV4 +dCcsJ3RodW1ibmFpbCcsJ3BkZicsJ3RyaWdnZXInLCdiaXNEYXR1bScsJ2VtcGZhZW5nZXInKSB7 +DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRib2R5LlBTT2JqZWN0LlByb3BlcnRp +ZXNbJGZlbGRdKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3ZXJ0ID0gJGJv +ZHkuJGZlbGQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgkZmVsZCAtZXEg +J3RpdGVsJyAtb3IgJGZlbGQgLWVxICd0ZXh0JykgLWFuZCAoJHdlcnQgLWlzIFtzdHJpbmddKSkg +ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdlcnQgPSBDb252ZXJ0VG8t +U2FmZVJpY2hIdG1sICR3ZXJ0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGVpbnRyYWcgfCBBZGQtTWVtYmVyIC1Ob3Rl +UHJvcGVydHlOYW1lICRmZWxkIC1Ob3RlUHJvcGVydHlWYWx1ZSAkd2VydCAtRm9yY2UNCiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAg +ICAgICAgICAgICAgICAgICAgICAkZWludHJhZyB8IEFkZC1NZW1iZXIgLU5vdGVQcm9wZXJ0eU5h +bWUgZ2VhZW5kZXJ0QW0gIC1Ob3RlUHJvcGVydHlWYWx1ZSAoKEdldC1EYXRlKS5Ub1VuaXZlcnNh +bFRpbWUoKS5Ub1N0cmluZygneXl5eS1NTS1kZFRISDptbTpzc1onKSkgLUZvcmNlDQogICAgICAg +ICAgICAgICAgICAgICAgICAkZWludHJhZyB8IEFkZC1NZW1iZXIgLU5vdGVQcm9wZXJ0eU5hbWUg +Z2VhZW5kZXJ0Vm9uIC1Ob3RlUHJvcGVydHlWYWx1ZSAoR2V0LUFrdHVlbGxlckJlbnV0emVyKSAt +Rm9yY2UNCiAgICAgICAgICAgICAgICAgICAgICAgICRzY3JpcHQ6bWl0dGVpbHVuZ0dlZnVuZGVu +ID0gJHRydWUNCiAgICAgICAgICAgICAgICAgICAgICAgICRzY3JpcHQ6bWl0dGVpbHVuZ1ppZWwg +PSAkZWludHJhZw0KICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsNCiAgICAgICAgICAgICAg +ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBpZiAoJHNjcmlwdDptaXR0ZWlsdW5nR2VmdW5k +ZW4pIHsgV3JpdGUtSnNvbk9iamVjdCAnbWl0dGVpbHVuZ2VuLmpzb24nICRtIHwgT3V0LU51bGwg +fQ0KICAgICAgICAgICAgICAgIH0gfCBPdXQtTnVsbA0KICAgICAgICAgICAgICAgIGlmICgtbm90 +ICRzY3JpcHQ6bWl0dGVpbHVuZ0dlZnVuZGVuKSB7DQogICAgICAgICAgICAgICAgICAgIFNlbmQt +RXJyb3IgJFJlc3BvbnNlICJNaXR0ZWlsdW5nICRtaWQgbmljaHQgZ2VmdW5kZW4iIDQwNDsgY29u +dGludWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJHppZWwgPSAkc2NyaXB0 +Om1pdHRlaWx1bmdaaWVsDQogICAgICAgICAgICAgICAgJHNjcmlwdDptaXR0ZWlsdW5nR2VmdW5k +ZW4gPSAkZmFsc2U7ICRzY3JpcHQ6bWl0dGVpbHVuZ1ppZWwgPSAkbnVsbA0KICAgICAgICAgICAg +ICAgIFdyaXRlLUxvZ0VpbnRyYWcgJ21pdHRlaWx1bmcuZ2VhZW5kZXJ0JyBAeyBpZCA9ICRtaWQg +fQ0KICAgICAgICAgICAgICAgIFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2UgQHsgc3RhdHVzID0g +J2dlYWVuZGVydCc7IG1pdHRlaWx1bmcgPSAkemllbCB9DQogICAgICAgICAgICAgICAgY29udGlu +dWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmICgkUGF0aCAtbWF0Y2ggJ14vYXBpL21p +dHRlaWx1bmdlbi8oW1x3LV0rKSQnIC1hbmQgJE1ldGhvZCAtZXEgJ0RFTEVURScpIHsNCiAgICAg +ICAgICAgICAgICBpZiAoLW5vdCAoVGVzdC1Jc3RTdXBlclVzZXIpKSB7IFNlbmQtRXJyb3IgJFJl +c3BvbnNlICdOdXIgU3VwZXJVc2VyJyA0MDM7IGNvbnRpbnVlIH0NCiAgICAgICAgICAgICAgICAk +bWlkID0gJE1hdGNoZXNbMV0NCiAgICAgICAgICAgICAgICAkc2NyaXB0Om1pdHRlaWx1bmdHZWxv +ZXNjaHQgPSAkZmFsc2UNCiAgICAgICAgICAgICAgICBJbnZva2UtV2l0aEZpbGVMb2NrICdtaXR0 +ZWlsdW5nZW4uanNvbicgew0KICAgICAgICAgICAgICAgICAgICAkbSA9IFJlYWQtSnNvbk9iamVj +dCAnbWl0dGVpbHVuZ2VuLmpzb24nDQogICAgICAgICAgICAgICAgICAgIGlmICgkbnVsbCAtZXEg +JG0gLW9yIC1ub3QgJG0uUFNPYmplY3QuUHJvcGVydGllc1snbWl0dGVpbHVuZ2VuJ10pIHsgcmV0 +dXJuIH0NCiAgICAgICAgICAgICAgICAgICAgJHZvcmhlciA9IEAoJG0ubWl0dGVpbHVuZ2VuKQ0K +ICAgICAgICAgICAgICAgICAgICAkbmFjaGhlciA9IEAoJHZvcmhlciB8IFdoZXJlLU9iamVjdCB7 +IFtzdHJpbmddJF8uaWQgLW5lICRtaWQgfSkNCiAgICAgICAgICAgICAgICAgICAgaWYgKCR2b3Jo +ZXIuQ291bnQgLWVxICRuYWNoaGVyLkNvdW50KSB7IHJldHVybiB9DQogICAgICAgICAgICAgICAg +ICAgICRtLm1pdHRlaWx1bmdlbiA9ICRuYWNoaGVyDQogICAgICAgICAgICAgICAgICAgICMgZ2Vs +ZXNlbi1FaW50cmFlZ2UgZnVlciBkaWVzZSBNaXR0ZWlsdW5nIGF1ZnJhZXVtZW4NCiAgICAgICAg +ICAgICAgICAgICAgaWYgKCRtLlBTT2JqZWN0LlByb3BlcnRpZXNbJ2dlbGVzZW4nXSkgew0KICAg +ICAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJHAgaW4gQCgkbS5nZWxlc2VuLlBTT2JqZWN0 +LlByb3BlcnRpZXMpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRwLlZhbHVl +LlBTT2JqZWN0LlByb3BlcnRpZXNbJG1pZF0pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgJHAuVmFsdWUuUFNPYmplY3QuUHJvcGVydGllcy5SZW1vdmUoJG1pZCkNCiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg +ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgV3JpdGUtSnNvbk9iamVjdCAnbWl0 +dGVpbHVuZ2VuLmpzb24nICRtIHwgT3V0LU51bGwNCiAgICAgICAgICAgICAgICAgICAgJHNjcmlw +dDptaXR0ZWlsdW5nR2Vsb2VzY2h0ID0gJHRydWUNCiAgICAgICAgICAgICAgICB9IHwgT3V0LU51 +bGwNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAkc2NyaXB0Om1pdHRlaWx1bmdHZWxvZXNjaHQp +IHsNCiAgICAgICAgICAgICAgICAgICAgU2VuZC1FcnJvciAkUmVzcG9uc2UgIk1pdHRlaWx1bmcg +JG1pZCBuaWNodCBnZWZ1bmRlbiIgNDA0OyBjb250aW51ZQ0KICAgICAgICAgICAgICAgIH0NCiAg +ICAgICAgICAgICAgICAkc2NyaXB0Om1pdHRlaWx1bmdHZWxvZXNjaHQgPSAkZmFsc2UNCiAgICAg +ICAgICAgICAgICBXcml0ZS1Mb2dFaW50cmFnICdtaXR0ZWlsdW5nLmdlbG9lc2NodCcgQHsgaWQg +PSAkbWlkIH0NCiAgICAgICAgICAgICAgICBTZW5kLUpzb25PYmplY3QgJFJlc3BvbnNlIEB7IHN0 +YXR1cyA9ICdnZWxvZXNjaHQnIH0NCiAgICAgICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAg +ICAgfQ0KICAgICAgICAgICAgIyBQT1NUIC9hcGkvbWl0dGVpbHVuZ2VuL3VwbG9hZCDigJQgU1Ut +b25seSwgQmlsZCAoMiBNQikgb2RlciBQREYgKDEwIE1CKQ0KICAgICAgICAgICAgIyBCb2R5OiB7 +ImFydCI6ICJiaWxkInwicGRmIiwgImRhdGVpbmFtZSI6ICJ4LnBuZyIsICJkYXRhVXJsIjogImRh +dGE6Li4uIn0NCiAgICAgICAgICAgIGlmICgkUGF0aCAtZXEgJy9hcGkvbWl0dGVpbHVuZ2VuL3Vw +bG9hZCcgLWFuZCAkTWV0aG9kIC1lcSAnUE9TVCcpIHsNCiAgICAgICAgICAgICAgICBpZiAoLW5v +dCAoVGVzdC1Jc3RTdXBlclVzZXIpKSB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICdOdXIgU3VwZXJV +c2VyIGR1ZXJmZW4gTWl0dGVpbHVuZ3MtQW5oYWVuZ2UgaG9jaGxhZGVuJyA0MDM7IGNvbnRpbnVl +IH0NCiAgICAgICAgICAgICAgICAjIDE0IE1CIE1heFNpemUsIHdlaWwgMTBNQiBQREYgYmFzZTY0 +LWNvZGllcnQgfjEzLjQgTUIgUGF5bG9hZCB3aXJkDQogICAgICAgICAgICAgICAgJHJhdyA9IFJl +YWQtQm9keSAkUmVxdWVzdCAtTWF4U2l6ZSAxNE1CDQogICAgICAgICAgICAgICAgaWYgKC1ub3Qg +JHJhdykgeyBTZW5kLUVycm9yICRSZXNwb25zZSAnQW5mcmFnZSB6dSBncm9zcyAobWF4IDE0IE1C +KScgNDEzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgdHJ5IHsgJGJvZHkgPSAkcmF3IHwg +Q29udmVydEZyb20tSnNvbiB9IGNhdGNoIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ1VuZ3VlbHRp +Z2VzIEpTT04nIDQwMDsgY29udGludWUgfQ0KICAgICAgICAgICAgICAgICRhcnQgPSAoW3N0cmlu +Z10kYm9keS5hcnQpLlRvTG93ZXIoKQ0KICAgICAgICAgICAgICAgICRkYXRhVXJsID0gW3N0cmlu +Z10kYm9keS5kYXRhVXJsDQogICAgICAgICAgICAgICAgaWYgKCRhcnQgLW5lICdiaWxkJyAtYW5k +ICRhcnQgLW5lICdwZGYnKSB7DQogICAgICAgICAgICAgICAgICAgIFNlbmQtRXJyb3IgJFJlc3Bv +bnNlICdhcnQgbXVzcyAiYmlsZCIgb2RlciAicGRmIiBzZWluJyA0MDA7IGNvbnRpbnVlDQogICAg +ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICRleHQgPSAkbnVsbDsgJG1heEJ5dGVzID0g +MA0KICAgICAgICAgICAgICAgIGlmICgkYXJ0IC1lcSAnYmlsZCcpIHsNCiAgICAgICAgICAgICAg +ICAgICAgaWYgKCRkYXRhVXJsIC1tYXRjaCAnXmRhdGE6aW1hZ2UvKGpwZWd8anBnfHBuZ3x3ZWJw +KTtiYXNlNjQsJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgJGV4dCA9ICgkTWF0Y2hlc1sx +XSAtcmVwbGFjZSAnanBlZycsJ2pwZycpDQogICAgICAgICAgICAgICAgICAgICAgICAkbWF4Qnl0 +ZXMgPSAyICogMTAyNCAqIDEwMjQNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAg +ICAgICAgICAgICAgICAgICAgIFNlbmQtRXJyb3IgJFJlc3BvbnNlICdCaWxkOiBlcndhcnRldCBk +YXRhOmltYWdlLyhqcGVnfHBuZ3x3ZWJwKTtiYXNlNjQsLi4uJyA0MDA7IGNvbnRpbnVlDQogICAg +ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAg +ICAgICAgICBpZiAoJGRhdGFVcmwgLWxpa2UgJ2RhdGE6YXBwbGljYXRpb24vcGRmO2Jhc2U2NCwq +Jykgew0KICAgICAgICAgICAgICAgICAgICAgICAgJGV4dCA9ICdwZGYnDQogICAgICAgICAgICAg +ICAgICAgICAgICAkbWF4Qnl0ZXMgPSAxMCAqIDEwMjQgKiAxMDI0DQogICAgICAgICAgICAgICAg +ICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBTZW5kLUVycm9yICRSZXNwb25z +ZSAnUERGOiBlcndhcnRldCBkYXRhOmFwcGxpY2F0aW9uL3BkZjtiYXNlNjQsLi4uJyA0MDA7IGNv +bnRpbnVlDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAg +ICAgICAgICAgJGJhc2U2NCA9ICRkYXRhVXJsIC1yZXBsYWNlICdeZGF0YTpbXjtdKztiYXNlNjQs +JywgJycNCiAgICAgICAgICAgICAgICB0cnkgeyAkYnl0ZXMgPSBbU3lzdGVtLkNvbnZlcnRdOjpG +cm9tQmFzZTY0U3RyaW5nKCRiYXNlNjQpIH0NCiAgICAgICAgICAgICAgICBjYXRjaCB7IFNlbmQt +RXJyb3IgJFJlc3BvbnNlICdVbmd1ZWx0aWdlIGJhc2U2NC1EYXRlbicgNDAwOyBjb250aW51ZSB9 +DQogICAgICAgICAgICAgICAgaWYgKCRieXRlcy5MZW5ndGggLWd0ICRtYXhCeXRlcykgew0KICAg +ICAgICAgICAgICAgICAgICAkbGltaXRLYiA9IFtpbnRdKCRtYXhCeXRlcyAvIDEwMjQpDQogICAg +ICAgICAgICAgICAgICAgIFNlbmQtRXJyb3IgJFJlc3BvbnNlICIkYXJ0IHp1IGdyb3NzIChtYXgg +JGxpbWl0S2IgS0IpIiA0MTM7IGNvbnRpbnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAg +ICAgICAgICR1cGxvYWREaXIgPSBKb2luLVBhdGggJERhdGFEaXIgJ3VwbG9hZHMnIHwgSm9pbi1Q +YXRoIC1DaGlsZFBhdGggJ21pdHRlaWx1bmdlbicNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAo +VGVzdC1QYXRoIC1MaXRlcmFsUGF0aCAkdXBsb2FkRGlyKSkgew0KICAgICAgICAgICAgICAgICAg +ICB0cnkgeyBOZXctSXRlbSAtSXRlbVR5cGUgRGlyZWN0b3J5IC1QYXRoICR1cGxvYWREaXIgLUZv +cmNlIHwgT3V0LU51bGwgfSBjYXRjaCB7fQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg +ICAgICAkcmFuZCA9IC1qb2luICgoNDguLjU3KSArICg5Ny4uMTIyKSB8IEdldC1SYW5kb20gLUNv +dW50IDYgfCBGb3JFYWNoLU9iamVjdCB7IFtjaGFyXSRfIH0pDQogICAgICAgICAgICAgICAgJG1z +ID0gW2ludDY0XShbRGF0ZVRpbWVPZmZzZXRdOjpVdGNOb3cuVG9Vbml4VGltZU1pbGxpc2Vjb25k +cygpKQ0KICAgICAgICAgICAgICAgICRmaWxlbmFtZSA9ICJtXyR7bXN9XyR7cmFuZH0uJGV4dCIN +CiAgICAgICAgICAgICAgICAkemllbFBmYWQgPSBKb2luLVBhdGggJHVwbG9hZERpciAkZmlsZW5h +bWUNCiAgICAgICAgICAgICAgICBbU3lzdGVtLklPLkZpbGVdOjpXcml0ZUFsbEJ5dGVzKCR6aWVs +UGZhZCwgJGJ5dGVzKQ0KICAgICAgICAgICAgICAgICMgS2VpbmUgQUNMLVJlc3RyaWN0aW9uOiBV +cGxvYWRzIHNpbmQgZnVlciBkaWUgRW1wZmFlbmdlci0NCiAgICAgICAgICAgICAgICAjIEdydXBw +ZSAobWFudWVsbCB2b20gU1UgdmVydGVpbHQpIGdlZGFjaHQsIG5pY2h0IGdlaGVpbS4NCiAgICAg +ICAgICAgICAgICAkcmVsUGZhZCA9ICIvZGF0YS91cGxvYWRzL21pdHRlaWx1bmdlbi8kZmlsZW5h +bWUiDQogICAgICAgICAgICAgICAgV3JpdGUtTG9nRWludHJhZyAnbWl0dGVpbHVuZy51cGxvYWQn +IEB7IGFydCA9ICRhcnQ7IGRhdGVpID0gJGZpbGVuYW1lOyBieXRlcyA9ICRieXRlcy5MZW5ndGgg +fQ0KICAgICAgICAgICAgICAgIFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2UgQHsgc3RhdHVzID0g +J29rJzsgcGZhZCA9ICRyZWxQZmFkOyBieXRlcyA9ICRieXRlcy5MZW5ndGggfQ0KICAgICAgICAg +ICAgICAgIGNvbnRpbnVlDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmICgkUGF0aCAt +bWF0Y2ggJ14vYXBpL21pdHRlaWx1bmdlbi8oW1x3LV0rKS9rZW5udG5pcyQnIC1hbmQgJE1ldGhv +ZCAtZXEgJ1BPU1QnKSB7DQogICAgICAgICAgICAgICAgJG1pZCA9ICRNYXRjaGVzWzFdDQogICAg +ICAgICAgICAgICAgJHIgPSBHZXQtUmVjaHRlDQogICAgICAgICAgICAgICAgJHBpZCA9ICRyLm1l +aW5lUGVyc29uSWQNCiAgICAgICAgICAgICAgICBpZiAoJG51bGwgLWVxICRwaWQpIHsgU2VuZC1F +cnJvciAkUmVzcG9uc2UgJ0tlaW5lIFBlcnNvbiB6dWdlb3JkbmV0JyA0MDM7IGNvbnRpbnVlIH0N +CiAgICAgICAgICAgICAgICAkc2NyaXB0Om1pdHRlaWx1bmdLZW5udG5pc09LID0gJGZhbHNlDQog +ICAgICAgICAgICAgICAgSW52b2tlLVdpdGhGaWxlTG9jayAnbWl0dGVpbHVuZ2VuLmpzb24nIHsN +CiAgICAgICAgICAgICAgICAgICAgJG0gPSBSZWFkLUpzb25PYmplY3QgJ21pdHRlaWx1bmdlbi5q +c29uJw0KICAgICAgICAgICAgICAgICAgICBpZiAoJG51bGwgLWVxICRtIC1vciAtbm90ICRtLlBT +T2JqZWN0LlByb3BlcnRpZXNbJ21pdHRlaWx1bmdlbiddKSB7IHJldHVybiB9DQogICAgICAgICAg +ICAgICAgICAgICRleGlzdGllcnQgPSBAKCRtLm1pdHRlaWx1bmdlbiB8IFdoZXJlLU9iamVjdCB7 +IFtzdHJpbmddJF8uaWQgLWVxICRtaWQgfSkuQ291bnQgLWd0IDANCiAgICAgICAgICAgICAgICAg +ICAgaWYgKC1ub3QgJGV4aXN0aWVydCkgeyByZXR1cm4gfQ0KICAgICAgICAgICAgICAgICAgICBp +ZiAoLW5vdCAkbS5QU09iamVjdC5Qcm9wZXJ0aWVzWydnZWxlc2VuJ10pIHsNCiAgICAgICAgICAg +ICAgICAgICAgICAgICRtIHwgQWRkLU1lbWJlciAtTm90ZVByb3BlcnR5TmFtZSBnZWxlc2VuIC1O +b3RlUHJvcGVydHlWYWx1ZSAoW3BzY3VzdG9tb2JqZWN0XUB7fSkgLUZvcmNlDQogICAgICAgICAg +ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgJHBpZFN0ciA9IFtzdHJpbmddJHBpZA0K +ICAgICAgICAgICAgICAgICAgICBpZiAoLW5vdCAkbS5nZWxlc2VuLlBTT2JqZWN0LlByb3BlcnRp +ZXNbJHBpZFN0cl0pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRtLmdlbGVzZW4gfCBBZGQt +TWVtYmVyIC1Ob3RlUHJvcGVydHlOYW1lICRwaWRTdHIgLU5vdGVQcm9wZXJ0eVZhbHVlIChbcHNj +dXN0b21vYmplY3RdQHt9KSAtRm9yY2UNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg +ICAgICAgICAgICAkaGV1dGUgPSAoR2V0LURhdGUpLlRvU3RyaW5nKCd5eXl5LU1NLWRkJykNCiAg +ICAgICAgICAgICAgICAgICAgJG0uZ2VsZXNlbi4kcGlkU3RyIHwgQWRkLU1lbWJlciAtTm90ZVBy +b3BlcnR5TmFtZSAkbWlkIC1Ob3RlUHJvcGVydHlWYWx1ZSAkaGV1dGUgLUZvcmNlDQogICAgICAg +ICAgICAgICAgICAgIFdyaXRlLUpzb25PYmplY3QgJ21pdHRlaWx1bmdlbi5qc29uJyAkbSB8IE91 +dC1OdWxsDQogICAgICAgICAgICAgICAgICAgICRzY3JpcHQ6bWl0dGVpbHVuZ0tlbm50bmlzT0sg +PSAkdHJ1ZQ0KICAgICAgICAgICAgICAgIH0gfCBPdXQtTnVsbA0KICAgICAgICAgICAgICAgIGlm +ICgtbm90ICRzY3JpcHQ6bWl0dGVpbHVuZ0tlbm50bmlzT0spIHsNCiAgICAgICAgICAgICAgICAg +ICAgU2VuZC1FcnJvciAkUmVzcG9uc2UgIk1pdHRlaWx1bmcgJG1pZCBuaWNodCBnZWZ1bmRlbiIg +NDA0OyBjb250aW51ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkc2NyaXB0 +Om1pdHRlaWx1bmdLZW5udG5pc09LID0gJGZhbHNlDQogICAgICAgICAgICAgICAgU2VuZC1Kc29u +T2JqZWN0ICRSZXNwb25zZSBAeyBzdGF0dXMgPSAna2VubnRuaXNfZ2VzZXR6dCcgfQ0KICAgICAg +ICAgICAgICAgIGNvbnRpbnVlDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICMgPT09PT0g +QkFDS1VQUyA9PT09PQ0KICAgICAgICAgICAgIyBCYWNrdXAtTmFtaW5nIChnZXRhcm50LCBpbiBk +YXRhL2NhY2hlLyk6DQogICAgICAgICAgICAjIC0gc25hcF88dHM+LmJhayAgPSBCdW5kbGUgKHBs +YW51bmcrYWRtaW4pIC0tIG1hbnVlbGxlIEJhY2t1cHMgKyBTaWNoZXJ1bmdlbg0KICAgICAgICAg +ICAgIyAgICAgICAgICAgICAgICAgICAgdm9yIFdpZWRlcmhlcnN0ZWxsdW5nDQogICAgICAgICAg +ICAjIC0gbGVnXzx0cz4uYmFrICAgPSBOdXIgUGxhbnVuZyAtLSBMZWdhY3ktQmFja3VwcyArIEF1 +dG8tU2ljaGVydW5nZW4NCiAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgIHZvciBSZXNl +dC9EdW1teWRhdGVuDQogICAgICAgICAgICAjIC0gY2ZnXzx0cz5fPGhpbndlaXM+LmJhayA9IGFk +bWluLmpzb24tQXV0by1CYWNrdXBzIChCYWNrdXAtQWRtaW5Kc29uKQ0KICAgICAgICAgICAgaWYg +KCRQYXRoIC1lcSAnL2FwaS9wbGFudW5nL2JhY2t1cCcgLWFuZCAkTWV0aG9kIC1lcSAnUE9TVCcp +IHsNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAoVGVzdC1EYXJmQmVyZWljaCAnYmFja3Vwcycp +KSB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICdLZWluZSBCZXJlY2h0aWd1bmcgKEJhY2t1cHMpJyA0 +MDM7IGNvbnRpbnVlIH0NCiAgICAgICAgICAgICAgICAkcGxhbnVuZ1BhdGggPSBKb2luLVBhdGgg +JERhdGFEaXIgJ3BsYW51bmcuanNvbicNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAoVGVzdC1Q +YXRoIC1MaXRlcmFsUGF0aCAkcGxhbnVuZ1BhdGgpKSB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICdQ +bGFudW5nIG5pY2h0IGdlZnVuZGVuJyA0MDQ7IGNvbnRpbnVlIH0NCiAgICAgICAgICAgICAgICAk +cGxhbnVuZ09iaiA9IFJlYWQtSnNvbk9iamVjdCAncGxhbnVuZy5qc29uJw0KICAgICAgICAgICAg +ICAgICRhZG1pbk9iaiAgID0gUmVhZC1Kc29uT2JqZWN0ICdhZG1pbi5qc29uJw0KICAgICAgICAg +ICAgICAgIGlmICgkbnVsbCAtZXEgJGFkbWluT2JqKSB7ICRhZG1pbk9iaiA9IE5ldy1PYmplY3Qg +UFNPYmplY3QgfQ0KICAgICAgICAgICAgICAgICR0cyA9IEdldC1EYXRlIC1Gb3JtYXQgJ3l5eXlN +TWRkX0hIbW1zcycNCiAgICAgICAgICAgICAgICAkYm5hbWUgPSAic25hcF8kdHMuYmFrIg0KICAg +ICAgICAgICAgICAgICRidW5kbGUgPSBbb3JkZXJlZF1Aew0KICAgICAgICAgICAgICAgICAgICBm +b3JtYXQgID0gJ3ZpMy1iYWNrdXAtdjEnDQogICAgICAgICAgICAgICAgICAgIHRzICAgICAgPSAk +dHMNCiAgICAgICAgICAgICAgICAgICAgcGxhbnVuZyA9ICRwbGFudW5nT2JqDQogICAgICAgICAg +ICAgICAgICAgIGFkbWluICAgPSAkYWRtaW5PYmoNCiAgICAgICAgICAgICAgICB9DQogICAgICAg +ICAgICAgICAgJGpzb24gPSAkYnVuZGxlIHwgQ29udmVydFRvLUpzb24gLURlcHRoIDMwDQogICAg +ICAgICAgICAgICAgJGNhY2hlRGlyID0gSm9pbi1QYXRoICREYXRhRGlyICdjYWNoZScNCiAgICAg +ICAgICAgICAgICBpZiAoLW5vdCAoVGVzdC1QYXRoIC1MaXRlcmFsUGF0aCAkY2FjaGVEaXIpKSB7 +IE5ldy1JdGVtIC1JdGVtVHlwZSBEaXJlY3RvcnkgLVBhdGggJGNhY2hlRGlyIC1Gb3JjZSB8IE91 +dC1OdWxsIH0NCiAgICAgICAgICAgICAgICBXcml0ZS1CYWNrdXBCeXRlcyAoSm9pbi1QYXRoICRj +YWNoZURpciAkYm5hbWUpICRqc29uDQogICAgICAgICAgICAgICAgV3JpdGUtTG9nRWludHJhZyAn +YmFja3VwLmVyc3RlbGx0JyBAeyBkYXRlaW5hbWUgPSAkYm5hbWU7IGluaGFsdCA9ICdwbGFudW5n +K2FkbWluJyB9DQogICAgICAgICAgICAgICAgU2VuZC1Kc29uT2JqZWN0ICRSZXNwb25zZSBAeyBz +dGF0dXMgPSAnZXJzdGVsbHQnOyBkYXRlaW5hbWUgPSAkYm5hbWUgfQ0KICAgICAgICAgICAgICAg +IGNvbnRpbnVlDQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoJFBhdGggLWVxICcvYXBp +L3BsYW51bmcvYmFja3VwcycgLWFuZCAkTWV0aG9kIC1lcSAnR0VUJykgew0KICAgICAgICAgICAg +ICAgIGlmICgtbm90IChUZXN0LURhcmZCZXJlaWNoICdiYWNrdXBzJykpIHsgU2VuZC1FcnJvciAk +UmVzcG9uc2UgJ0tlaW5lIEJlcmVjaHRpZ3VuZyAoQmFja3VwcyknIDQwMzsgY29udGludWUgfQ0K +ICAgICAgICAgICAgICAgICRlaW50cmFlZ2UgPSBAKCkNCiAgICAgICAgICAgICAgICAkY2FjaGVE +aXIgPSBKb2luLVBhdGggJERhdGFEaXIgJ2NhY2hlJw0KICAgICAgICAgICAgICAgIGlmIChUZXN0 +LVBhdGggLUxpdGVyYWxQYXRoICRjYWNoZURpcikgew0KICAgICAgICAgICAgICAgICAgICBmb3Jl +YWNoICgkbXVzdGVyIGluICdzbmFwXyouYmFrJywnbGVnXyouYmFrJykgew0KICAgICAgICAgICAg +ICAgICAgICAgICAgR2V0LUNoaWxkSXRlbSAtTGl0ZXJhbFBhdGggJGNhY2hlRGlyIC1GaWx0ZXIg +JG11c3RlciAtRmlsZSAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSB8IEZvckVhY2gtT2Jq +ZWN0IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbmFtZSA9ICRfLk5hbWUNCiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAkdHlwID0gaWYgKCRuYW1lIC1tYXRjaCAnX3Zvcl9kdW1t +eV8nKSB7ICd2b3IgRHVtbXlkYXRlbicgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgZWxzZWlmICgkbmFtZSAtbWF0Y2ggJ192b3JfcmVzZXRfJykgeyAndm9yIFJlc2V0JyB9DQog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYgKCRuYW1lIC1tYXRjaCAnX3Zv +cl93aWVkZXJoZXJzdGVsbHVuZ18nKSB7ICd2b3IgV2llZGVyaGVyc3RlbGx1bmcnIH0NCiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeyAnbWFudWVsbCcgfQ0KICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICRidW5kbGUgPSAkbmFtZS5TdGFydHNXaXRoKCdzbmFwXycpDQog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGVpbnRyYWVnZSArPSBbb3JkZXJlZF1Aew0KICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlaW5hbWUgICA9ICRuYW1lDQogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIGdyb2Vzc2UgICAgID0gJF8uTGVuZ3RoDQogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIGVyc3RlbGx0QW0gID0gJF8uTGFzdFdyaXRlVGltZS5U +b1N0cmluZygncycpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cCAgICAgICAg +ID0gJHR5cA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmhhbHQgICAgICA9IGlm +ICgkYnVuZGxlKSB7ICdLb21wbGV0dCAoUGxhbnVuZyArIEFkbWluKScgfSBlbHNlIHsgJ051ciBQ +bGFudW5nJyB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzdEJ1bmRsZSAgID0g +JGJ1bmRsZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg +ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAg +ICAgICAgICAgICAkZWludHJhZWdlID0gQCgkZWludHJhZWdlIHwgU29ydC1PYmplY3QgLVByb3Bl +cnR5IGVyc3RlbGx0QW0gLURlc2NlbmRpbmcpDQogICAgICAgICAgICAgICAgU2VuZC1Kc29uT2Jq +ZWN0ICRSZXNwb25zZSAkZWludHJhZWdlDQogICAgICAgICAgICAgICAgY29udGludWUNCiAgICAg +ICAgICAgIH0NCiAgICAgICAgICAgIGlmICgkUGF0aCAtbWF0Y2ggJ14vYXBpL3BsYW51bmcvYmFj +a3VwL2Rvd25sb2FkLyguKykkJyAtYW5kICRNZXRob2QgLWVxICdHRVQnKSB7DQogICAgICAgICAg +ICAgICAgaWYgKC1ub3QgKFRlc3QtRGFyZkJlcmVpY2ggJ2JhY2t1cHMnKSkgeyBTZW5kLUVycm9y +ICRSZXNwb25zZSAnS2VpbmUgQmVyZWNodGlndW5nIChCYWNrdXBzKScgNDAzOyBjb250aW51ZSB9 +DQogICAgICAgICAgICAgICAgJG5hbWUgPSAkTWF0Y2hlc1sxXQ0KICAgICAgICAgICAgICAgIGlm +ICgtbm90ICgkbmFtZSAtbWF0Y2ggJ14oc25hcF98bGVnXylbMC05X2EtekEtWl0rXC5iYWskJykp +IHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ1VuZ3VlbHRpZ2VyIERhdGVpbmFtZScgNDAwOyBjb250 +aW51ZSB9DQogICAgICAgICAgICAgICAgJGZwID0gSm9pbi1QYXRoICREYXRhRGlyICgnY2FjaGUv +JyArICRuYW1lKQ0KICAgICAgICAgICAgICAgIGlmICgtbm90IChUZXN0LVBhdGggLUxpdGVyYWxQ +YXRoICRmcCkpIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ0JhY2t1cCBuaWNodCBnZWZ1bmRlbicg +NDA0OyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJGtsYXJ0ZXh0ID0gUmVhZC1CYWNrdXBU +ZXh0ICRmcA0KICAgICAgICAgICAgICAgIGlmICgkbnVsbCAtZXEgJGtsYXJ0ZXh0KSB7IFNlbmQt +RXJyb3IgJFJlc3BvbnNlICdCYWNrdXAtRGF0ZWkga29ubnRlIG5pY2h0IGdlbGVzZW4gd2VyZGVu +JyA1MDA7IGNvbnRpbnVlIH0NCiAgICAgICAgICAgICAgICAkYnl0ZXMgPSBbU3lzdGVtLlRleHQu +RW5jb2RpbmddOjpVVEY4LkdldEJ5dGVzKCRrbGFydGV4dCkNCiAgICAgICAgICAgICAgICAkUmVz +cG9uc2UuU3RhdHVzQ29kZSA9IDIwMA0KICAgICAgICAgICAgICAgICRSZXNwb25zZS5Db250ZW50 +VHlwZSA9ICdhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04Jw0KICAgICAgICAgICAgICAg +IEFkZC1TZWN1cml0eUhlYWRlcnMgJFJlc3BvbnNlDQogICAgICAgICAgICAgICAgJFJlc3BvbnNl +LkhlYWRlcnMuQWRkKCdDb250ZW50LURpc3Bvc2l0aW9uJywgImF0dGFjaG1lbnQ7IGZpbGVuYW1l +PWAiJG5hbWVgIiIpDQogICAgICAgICAgICAgICAgJFJlc3BvbnNlLkNvbnRlbnRMZW5ndGg2NCA9 +ICRieXRlcy5MZW5ndGgNCiAgICAgICAgICAgICAgICAkUmVzcG9uc2UuT3V0cHV0U3RyZWFtLldy +aXRlKCRieXRlcywgMCwgJGJ5dGVzLkxlbmd0aCkNCiAgICAgICAgICAgICAgICAkUmVzcG9uc2Uu +T3V0cHV0U3RyZWFtLkNsb3NlKCkNCiAgICAgICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAg +ICAgfQ0KICAgICAgICAgICAgaWYgKCRQYXRoIC1lcSAnL2FwaS9wbGFudW5nL2JhY2t1cC93aWVk +ZXJoZXJzdGVsbGVuJyAtYW5kICRNZXRob2QgLWVxICdQT1NUJykgew0KICAgICAgICAgICAgICAg +IGlmICgtbm90IChUZXN0LURhcmZCZXJlaWNoICdiYWNrdXBzJykpIHsgU2VuZC1FcnJvciAkUmVz +cG9uc2UgJ0tlaW5lIEJlcmVjaHRpZ3VuZyAoQmFja3VwcyknIDQwMzsgY29udGludWUgfQ0KICAg +ICAgICAgICAgICAgICRib2R5ID0gUmVhZC1Cb2R5ICRSZXF1ZXN0DQogICAgICAgICAgICAgICAg +JGRhdGVuID0gJGJvZHkgfCBDb252ZXJ0RnJvbS1Kc29uDQogICAgICAgICAgICAgICAgJG5hbWUg +PSAiJCgkZGF0ZW4uZGF0ZWluYW1lKSINCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAoJG5hbWUg +LW1hdGNoICdeKHNuYXBffGxlZ18pWzAtOV9hLXpBLVpdK1wuYmFrJCcpKSB7IFNlbmQtRXJyb3Ig +JFJlc3BvbnNlICdVbmd1ZWx0aWdlciBEYXRlaW5hbWUnIDQwMDsgY29udGludWUgfQ0KICAgICAg +ICAgICAgICAgICRjYWNoZURpciA9IEpvaW4tUGF0aCAkRGF0YURpciAnY2FjaGUnDQogICAgICAg +ICAgICAgICAgaWYgKC1ub3QgKFRlc3QtUGF0aCAtTGl0ZXJhbFBhdGggJGNhY2hlRGlyKSkgeyBO +ZXctSXRlbSAtSXRlbVR5cGUgRGlyZWN0b3J5IC1QYXRoICRjYWNoZURpciAtRm9yY2UgfCBPdXQt +TnVsbCB9DQogICAgICAgICAgICAgICAgJHF1ZWxsID0gSm9pbi1QYXRoICRjYWNoZURpciAkbmFt +ZQ0KICAgICAgICAgICAgICAgIGlmICgtbm90IChUZXN0LVBhdGggLUxpdGVyYWxQYXRoICRxdWVs +bCkpIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ0JhY2t1cCBuaWNodCBnZWZ1bmRlbicgNDA0OyBj +b250aW51ZSB9DQogICAgICAgICAgICAgICAgJHRzID0gR2V0LURhdGUgLUZvcm1hdCAneXl5eU1N +ZGRfSEhtbXNzJw0KICAgICAgICAgICAgICAgICRzaWNoZXIgPSAic25hcF92b3Jfd2llZGVyaGVy +c3RlbGx1bmdfJHRzLmJhayINCiAgICAgICAgICAgICAgICAjIFNpY2hlcmhlaXRzLUJ1bmRsZSBk +ZXIgYWt0dWVsbGVuIERhdGVuIHZvciBVZWJlcnNjaHJlaWJlbi4NCiAgICAgICAgICAgICAgICAk +c2ljaGVyQnVuZGxlID0gW29yZGVyZWRdQHsNCiAgICAgICAgICAgICAgICAgICAgZm9ybWF0ICA9 +ICd2aTMtYmFja3VwLXYxJw0KICAgICAgICAgICAgICAgICAgICB0cyAgICAgID0gJHRzDQogICAg +ICAgICAgICAgICAgICAgIHBsYW51bmcgPSAoUmVhZC1Kc29uT2JqZWN0ICdwbGFudW5nLmpzb24n +KQ0KICAgICAgICAgICAgICAgICAgICBhZG1pbiAgID0gKFJlYWQtSnNvbk9iamVjdCAnYWRtaW4u +anNvbicpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIFdyaXRlLUJhY2t1cEJ5 +dGVzIChKb2luLVBhdGggJGNhY2hlRGlyICRzaWNoZXIpICgkc2ljaGVyQnVuZGxlIHwgQ29udmVy +dFRvLUpzb24gLURlcHRoIDMwKQ0KDQogICAgICAgICAgICAgICAgJHF1ZWxsSW5oYWx0ID0gUmVh +ZC1CYWNrdXBUZXh0ICRxdWVsbA0KICAgICAgICAgICAgICAgIGlmICgkbnVsbCAtZXEgJHF1ZWxs +SW5oYWx0KSB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICdCYWNrdXAtRGF0ZWkga29ubnRlIG5pY2h0 +IGdlbGVzZW4gd2VyZGVuJyA1MDA7IGNvbnRpbnVlIH0NCiAgICAgICAgICAgICAgICB0cnkgeyAk +cXVlbGxEYXRlbiA9ICRxdWVsbEluaGFsdCB8IENvbnZlcnRGcm9tLUpzb24gfSBjYXRjaCB7IFNl +bmQtRXJyb3IgJFJlc3BvbnNlICdCYWNrdXAtRGF0ZWkgbmljaHQgcGFyc2llcmJhcicgNDAwOyBj +b250aW51ZSB9DQogICAgICAgICAgICAgICAgJHdpZWRlcmhlcmdlc3RlbGx0ID0gQCgpDQogICAg +ICAgICAgICAgICAgaWYgKCRxdWVsbERhdGVuIC1hbmQgJHF1ZWxsRGF0ZW4uUFNPYmplY3QuUHJv +cGVydGllc1snZm9ybWF0J10gLWFuZCAiJCgkcXVlbGxEYXRlbi5mb3JtYXQpIi5TdGFydHNXaXRo +KCd2aTMtYmFja3VwJykpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCRxdWVsbERhdGVuLlBT +T2JqZWN0LlByb3BlcnRpZXNbJ3BsYW51bmcnXSkgew0KICAgICAgICAgICAgICAgICAgICAgICAg +V3JpdGUtSnNvbk9iamVjdCAncGxhbnVuZy5qc29uJyAkcXVlbGxEYXRlbi5wbGFudW5nIHwgT3V0 +LU51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICR3aWVkZXJoZXJnZXN0ZWxsdCArPSAncGxh +bnVuZycNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBpZiAoJHF1 +ZWxsRGF0ZW4uUFNPYmplY3QuUHJvcGVydGllc1snYWRtaW4nXSkgew0KICAgICAgICAgICAgICAg +ICAgICAgICAgV3JpdGUtSnNvbk9iamVjdCAnYWRtaW4uanNvbicgJHF1ZWxsRGF0ZW4uYWRtaW4g +fCBPdXQtTnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJHdpZWRlcmhlcmdlc3RlbGx0ICs9 +ICdhZG1pbicNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0gZWxzZSB7 +DQogICAgICAgICAgICAgICAgICAgICMgTGVnYWN5LUZvcm1hdCAobnVyIHBsYW51bmcuanNvbi1J +bmhhbHQpLg0KICAgICAgICAgICAgICAgICAgICBXcml0ZS1Kc29uT2JqZWN0ICdwbGFudW5nLmpz +b24nICRxdWVsbERhdGVuIHwgT3V0LU51bGwNCiAgICAgICAgICAgICAgICAgICAgJHdpZWRlcmhl +cmdlc3RlbGx0ICs9ICdwbGFudW5nJw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg +ICBXcml0ZS1Mb2dFaW50cmFnICdiYWNrdXAud2llZGVyaGVyZ2VzdGVsbHQnIEB7IHF1ZWxsZSA9 +ICRuYW1lOyBzaWNoZXJ1bmcgPSAkc2ljaGVyOyBpbmhhbHQgPSAoJHdpZWRlcmhlcmdlc3RlbGx0 +IC1qb2luICcrJykgfQ0KICAgICAgICAgICAgICAgIE5ldy1IaW53ZWlzICdiYWNrdXBfd2llZGVy +aGVyZ2VzdGVsbHQnIChbb3JkZXJlZF1Aew0KICAgICAgICAgICAgICAgICAgICBiYWNrdXAgICAg +PSAkbmFtZQ0KICAgICAgICAgICAgICAgICAgICBzaWNoZXJ1bmcgPSAkc2ljaGVyDQogICAgICAg +ICAgICAgICAgICAgIGluaGFsdCAgICA9ICgkd2llZGVyaGVyZ2VzdGVsbHQgLWpvaW4gJysnKQ0K +ICAgICAgICAgICAgICAgIH0pIChHZXQtQWt0dWVsbGVyQmVudXR6ZXIpIHwgT3V0LU51bGwNCiAg +ICAgICAgICAgICAgICBTZW5kLUpzb25PYmplY3QgJFJlc3BvbnNlIEB7IHN0YXR1cyA9ICd3aWVk +ZXJoZXJnZXN0ZWxsdCc7IHNpY2hlcnVuZyA9ICRzaWNoZXI7IGluaGFsdCA9ICR3aWVkZXJoZXJn +ZXN0ZWxsdCB9DQogICAgICAgICAgICAgICAgY29udGludWUNCiAgICAgICAgICAgIH0NCiAgICAg +ICAgICAgIGlmICgkUGF0aCAtZXEgJy9hcGkvcGxhbnVuZy9iYWNrdXAvbG9lc2NoZW4nIC1hbmQg +JE1ldGhvZCAtZXEgJ1BPU1QnKSB7DQogICAgICAgICAgICAgICAgaWYgKC1ub3QgKFRlc3QtRGFy +ZkJlcmVpY2ggJ2JhY2t1cHMnKSkgeyBTZW5kLUVycm9yICRSZXNwb25zZSAnS2VpbmUgQmVyZWNo +dGlndW5nIChCYWNrdXBzKScgNDAzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJGJvZHkg +PSBSZWFkLUJvZHkgJFJlcXVlc3QNCiAgICAgICAgICAgICAgICAkZGF0ZW4gPSAkYm9keSB8IENv +bnZlcnRGcm9tLUpzb24NCiAgICAgICAgICAgICAgICAkbmFtZSA9ICIkKCRkYXRlbi5kYXRlaW5h +bWUpIg0KICAgICAgICAgICAgICAgIGlmICgtbm90ICgkbmFtZSAtbWF0Y2ggJ14oc25hcF98bGVn +XylbMC05X2EtekEtWl0rXC5iYWskJykpIHsgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ1VuZ3VlbHRp +Z2VyIERhdGVpbmFtZScgNDAwOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJGZwID0gSm9p +bi1QYXRoICREYXRhRGlyICgnY2FjaGUvJyArICRuYW1lKQ0KICAgICAgICAgICAgICAgIGlmICgt +bm90IChUZXN0LVBhdGggLUxpdGVyYWxQYXRoICRmcCkpIHsgU2VuZC1FcnJvciAkUmVzcG9uc2Ug +J0JhY2t1cCBuaWNodCBnZWZ1bmRlbicgNDA0OyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAg +UmVtb3ZlLUl0ZW0gLUxpdGVyYWxQYXRoICRmcCAtRm9yY2UNCiAgICAgICAgICAgICAgICBXcml0 +ZS1Mb2dFaW50cmFnICdiYWNrdXAuZ2Vsb2VzY2h0JyBAeyBkYXRlaW5hbWUgPSAkbmFtZSB9DQog +ICAgICAgICAgICAgICAgU2VuZC1Kc29uT2JqZWN0ICRSZXNwb25zZSBAeyBzdGF0dXMgPSAnZ2Vs +b2VzY2h0JyB9DQogICAgICAgICAgICAgICAgY29udGludWUNCiAgICAgICAgICAgIH0NCg0KICAg +ICAgICAgICAgIyA9PT09PSBSRVNFVCAvIERVTU1ZREFURU4gPT09PT0NCiAgICAgICAgICAgIGlm +ICgkUGF0aCAtZXEgJy9hcGkvcGxhbnVuZy9yZXNldCcgLWFuZCAkTWV0aG9kIC1lcSAnUE9TVCcp +IHsNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAoVGVzdC1Jc3RTdXBlclVzZXIpKSB7IFNlbmQt +RXJyb3IgJFJlc3BvbnNlICdOdXIgU3VwZXJVc2VyIGR1ZXJmZW4gZGllIFBsYW51bmcgenVydWVj +a3NldHplbicgNDAzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJHBsYW51bmdQYXRoID0g +Sm9pbi1QYXRoICREYXRhRGlyICdwbGFudW5nLmpzb24nDQogICAgICAgICAgICAgICAgJGJhY2t1 +cE5hbWUgPSAkbnVsbA0KICAgICAgICAgICAgICAgIGlmIChUZXN0LVBhdGggLUxpdGVyYWxQYXRo +ICRwbGFudW5nUGF0aCkgew0KICAgICAgICAgICAgICAgICAgICAkdHMgPSBHZXQtRGF0ZSAtRm9y +bWF0ICd5eXl5TU1kZF9ISG1tc3MnDQogICAgICAgICAgICAgICAgICAgICRjYWNoZURpciA9IEpv +aW4tUGF0aCAkRGF0YURpciAnY2FjaGUnDQogICAgICAgICAgICAgICAgICAgIGlmICgtbm90IChU +ZXN0LVBhdGggLUxpdGVyYWxQYXRoICRjYWNoZURpcikpIHsgTmV3LUl0ZW0gLUl0ZW1UeXBlIERp +cmVjdG9yeSAtUGF0aCAkY2FjaGVEaXIgLUZvcmNlIHwgT3V0LU51bGwgfQ0KICAgICAgICAgICAg +ICAgICAgICAjIFJlc3RhdXJpZXJiYXJlciBOYW1lIChwbGFudW5nX2JhY2t1cF92b3JfcmVzZXRf +Ki5qc29uKSBzdGF0dA0KICAgICAgICAgICAgICAgICAgICAjIC5iYWsgLT4gd2lyZCB2b20gQmFj +a3Vwcy1UYWIgZ2VsaXN0ZXQgdW5kIGthbm4gd2llZGVyaGVyZ2VzdGVsbHQNCiAgICAgICAgICAg +ICAgICAgICAgIyB3ZXJkZW4uIEZydWVoZXIgenVkZW0gbmljaHQgYW4gZGVuIENsaWVudCB6dXJ1 +ZWNrZ2VnZWJlbg0KICAgICAgICAgICAgICAgICAgICAjIC0+ICJCYWNrdXA6IHVuZGVmaW5lZCIg +aW4gZGVyIFVJLg0KICAgICAgICAgICAgICAgICAgICAkYmFja3VwTmFtZSA9ICJwbGFudW5nX2Jh +Y2t1cF92b3JfcmVzZXRfJHRzLmpzb24iDQogICAgICAgICAgICAgICAgICAgIENvcHktSXRlbSAt +TGl0ZXJhbFBhdGggJHBsYW51bmdQYXRoIC1EZXN0aW5hdGlvbiAoSm9pbi1QYXRoICRjYWNoZURp +ciAkYmFja3VwTmFtZSkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJHBsYW51 +bmcgPSBSZWFkLUpzb25PYmplY3QgJ3BsYW51bmcuanNvbicNCiAgICAgICAgICAgICAgICBpZiAo +JG51bGwgLW5lICRwbGFudW5nKSB7DQogICAgICAgICAgICAgICAgICAgIGlmICgkcGxhbnVuZy5Q +U09iamVjdC5Qcm9wZXJ0aWVzWydlaW50cmFlZ2UnXSkgeyAkcGxhbnVuZy5laW50cmFlZ2UgPSBO +ZXctT2JqZWN0IFBTT2JqZWN0IH0NCiAgICAgICAgICAgICAgICAgICAgaWYgKCRwbGFudW5nLlBT +T2JqZWN0LlByb3BlcnRpZXNbJ2tvbW1lbnRhcmUnXSkgeyAkcGxhbnVuZy5rb21tZW50YXJlID0g +TmV3LU9iamVjdCBQU09iamVjdCB9DQogICAgICAgICAgICAgICAgICAgIFdyaXRlLUpzb25PYmpl +Y3QgJ3BsYW51bmcuanNvbicgJHBsYW51bmcgfCBPdXQtTnVsbA0KICAgICAgICAgICAgICAgIH0N +CiAgICAgICAgICAgICAgICBXcml0ZS1Mb2dFaW50cmFnICdwbGFudW5nLnJlc2V0JyBAe30NCiAg +ICAgICAgICAgICAgICBOZXctSGlud2VpcyAncGxhbnVuZ19yZXNldCcgKFtvcmRlcmVkXUB7DQog +ICAgICAgICAgICAgICAgICAgIGhpbndlaXMgPSAnRWludHJhZWdlIHVuZCBLb21tZW50YXJlIHd1 +cmRlbiBnZWxvZXNjaHQ7IFNpY2hlcnVuZyBsaWVndCBpbiBkYXRhL2NhY2hlLy4nDQogICAgICAg +ICAgICAgICAgfSkgKEdldC1Ba3R1ZWxsZXJCZW51dHplcikgfCBPdXQtTnVsbA0KICAgICAgICAg +ICAgICAgIFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2UgQHsgc3RhdHVzID0gJ3p1cnVlY2tnZXNl +dHp0JzsgYmFja3VwID0gJGJhY2t1cE5hbWUgfQ0KICAgICAgICAgICAgICAgIGNvbnRpbnVlDQog +ICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoJFBhdGggLWVxICcvYXBpL3BsYW51bmcvZHVt +bXlkYXRlbicgLWFuZCAkTWV0aG9kIC1lcSAnUE9TVCcpIHsNCiAgICAgICAgICAgICAgICBpZiAo +LW5vdCAoVGVzdC1Jc3RTdXBlclVzZXIpKSB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICdOdXIgU3Vw +ZXJVc2VyIGR1ZXJmZW4gRHVtbXlkYXRlbiBlaW5zcGllbGVuJyA0MDM7IGNvbnRpbnVlIH0NCiAg +ICAgICAgICAgICAgICBTZW5kLUVycm9yICRSZXNwb25zZSAnRHVtbXlkYXRlbiBudXIgaW0gRGVi +dWctU2VydmVyIChkZXYvc2VydmVyLnB5KSBpbXBsZW1lbnRpZXJ0LicgNTAxDQogICAgICAgICAg +ICAgICAgY29udGludWUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgIyBQT1NUIC9hcGkv +YWRtaW4vcHJvdG9rb2xsLWxvZXNjaGVuDQogICAgICAgICAgICAjIEVpbm1hbC1SZXNldCBmdWVy +IExvZ2J1Y2ggKyBBUEktTG9nLiBTZXR6dCBsb2didWNoLmpzb24gYXVmIFtdLA0KICAgICAgICAg +ICAgIyBsb2VzY2h0IGRpZSBBUEktTG9nLURhdGVpIGF1cyAlVEVNUCUsIHVuZCBzY2hyZWlidCBl +aW5lbiBlaW56aWdlbg0KICAgICAgICAgICAgIyBuZXVlbiBMb2didWNoLUVpbnRyYWcgKHByb3Rv +a29sbC5nZWxvZXNjaHQpLCBkYW1pdCBkYXMgRXJlaWduaXMNCiAgICAgICAgICAgICMgc2VsYnN0 +IG5hY2h2b2xsemllaGJhciBibGVpYnQuDQogICAgICAgICAgICBpZiAoJFBhdGggLWVxICcvYXBp +L2FkbWluL3Byb3Rva29sbC1sb2VzY2hlbicgLWFuZCAkTWV0aG9kIC1lcSAnUE9TVCcpIHsNCiAg +ICAgICAgICAgICAgICBpZiAoLW5vdCAoVGVzdC1Jc3RTdXBlclVzZXIpKSB7IFNlbmQtRXJyb3Ig +JFJlc3BvbnNlICdOdXIgU3VwZXJVc2VyIGR1ZXJmZW4gZGFzIFByb3Rva29sbCBsb2VzY2hlbicg +NDAzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJHZvcmhlciA9IFJlYWQtSnNvbk9iamVj +dCAnbG9nYnVjaC5qc29uJw0KICAgICAgICAgICAgICAgICRhbnphaGxWb3JoZXIgPSAwDQogICAg +ICAgICAgICAgICAgaWYgKCRudWxsIC1uZSAkdm9yaGVyKSB7DQogICAgICAgICAgICAgICAgICAg +ICRhbnphaGxWb3JoZXIgPSBAKCR2b3JoZXIpLkNvdW50DQogICAgICAgICAgICAgICAgfQ0KICAg +ICAgICAgICAgICAgIFdyaXRlLUpzb25PYmplY3QgJ2xvZ2J1Y2guanNvbicgQCgpIHwgT3V0LU51 +bGwNCg0KICAgICAgICAgICAgICAgICRhcGlMb2dCeXRlcyA9IDANCiAgICAgICAgICAgICAgICBp +ZiAoVGVzdC1QYXRoIC1MaXRlcmFsUGF0aCAkc2NyaXB0OkFwaUxvZykgew0KICAgICAgICAgICAg +ICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJGFwaUxvZ0J5dGVzID0gKEdl +dC1JdGVtIC1MaXRlcmFsUGF0aCAkc2NyaXB0OkFwaUxvZykuTGVuZ3RoDQogICAgICAgICAgICAg +ICAgICAgICAgICBSZW1vdmUtSXRlbSAtTGl0ZXJhbFBhdGggJHNjcmlwdDpBcGlMb2cgLUZvcmNl +IC1FcnJvckFjdGlvbiBTdG9wDQogICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggew0KICAgICAg +ICAgICAgICAgICAgICAgICAgIyBEYXRlaSBldnRsLiBub2NoIG9mZmVuOyBpZ25vcmllcmVuLCBM +b2didWNoIGlzdCBkaWUgd2ljaHRpZ2VyZSBTcHVyDQogICAgICAgICAgICAgICAgICAgICAgICAk +YXBpTG9nQnl0ZXMgPSAtMQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg +fQ0KDQogICAgICAgICAgICAgICAgV3JpdGUtTG9nRWludHJhZyAncHJvdG9rb2xsLmdlbG9lc2No +dCcgQHsNCiAgICAgICAgICAgICAgICAgICAgbG9nYnVjaEVpbnRyYWVnZVZvcmhlciA9ICRhbnph +aGxWb3JoZXINCiAgICAgICAgICAgICAgICAgICAgYXBpTG9nQnl0ZXMgICAgICAgICAgICA9ICRh +cGlMb2dCeXRlcw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBTZW5kLUpzb25P +YmplY3QgJFJlc3BvbnNlIEB7DQogICAgICAgICAgICAgICAgICAgIHN0YXR1cyAgICAgICAgICAg +ICAgICAgPSAnZ2Vsb2VzY2h0Jw0KICAgICAgICAgICAgICAgICAgICBsb2didWNoRWludHJhZWdl +Vm9yaGVyID0gJGFuemFobFZvcmhlcg0KICAgICAgICAgICAgICAgICAgICBhcGlMb2dCeXRlcyAg +ICAgICAgICAgID0gJGFwaUxvZ0J5dGVzDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg +ICAgIGNvbnRpbnVlDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICMgPT09PT0gU1RBVElT +VElLIC8gTE9HQlVDSCA9PT09PQ0KICAgICAgICAgICAgaWYgKCRQYXRoIC1lcSAnL2FwaS9zdGF0 +aXN0aWsnIC1hbmQgJE1ldGhvZCAtZXEgJ0dFVCcpIHsNCiAgICAgICAgICAgICAgICBpZiAoLW5v +dCAoVGVzdC1EYXJmQmVyZWljaCAnc3RhdGlzdGlrJykpIHsNCiAgICAgICAgICAgICAgICAgICAg +U2VuZC1FcnJvciAkUmVzcG9uc2UgJ0tlaW5lIEJlcmVjaHRpZ3VuZyAoU3RhdGlzdGlrKScgNDAz +OyBjb250aW51ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkcGxhbnVuZyA9 +IFJlYWQtSnNvbk9iamVjdCAncGxhbnVuZy5qc29uJw0KICAgICAgICAgICAgICAgICRhZG1pbiAg +ID0gUmVhZC1Kc29uT2JqZWN0ICdhZG1pbi5qc29uJw0KICAgICAgICAgICAgICAgIFNlbmQtSnNv +bk9iamVjdCAkUmVzcG9uc2UgKEdldC1TdGF0aXN0aWtEYXRhICRwbGFudW5nICRhZG1pbikNCiAg +ICAgICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKCRQ +YXRoIC1lcSAnL2FwaS9sb2didWNoJyAtYW5kICRNZXRob2QgLWVxICdHRVQnKSB7DQogICAgICAg +ICAgICAgICAgaWYgKC1ub3QgKFRlc3QtRGFyZkJlcmVpY2ggJ2xvZ2J1Y2gnKSkgew0KICAgICAg +ICAgICAgICAgICAgICBTZW5kLUVycm9yICRSZXNwb25zZSAnS2VpbmUgQmVyZWNodGlndW5nIChM +b2didWNoKScgNDAzOyBjb250aW51ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg +ICBTZW5kLUpzb25UZXh0ICRSZXNwb25zZSAoR2V0LUxvZ2J1Y2hUZXh0KQ0KICAgICAgICAgICAg +ICAgIGNvbnRpbnVlDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICMgPT09PT09PT09PT09 +PT09PT09PT09IFpFTEwtTE9DSyArIENIQU5HRVMgKExpdmUtU3luYykgPT09PT09PT09PT09PT09 +PT09PT09DQogICAgICAgICAgICAjIFBPU1QgL2FwaS9sb2NrL3plbGxlICB7IGRhdHVtLCBwZXJz +b25JZCB9IC0+IHsgb2ssIHRva2VuLCAuLi4gfSBvZGVyIDQyMyB7IHNwZXJyZXIsIC4uLiB9DQog +ICAgICAgICAgICBpZiAoJFBhdGggLWVxICcvYXBpL2xvY2svemVsbGUnIC1hbmQgJE1ldGhvZCAt +ZXEgJ1BPU1QnKSB7DQogICAgICAgICAgICAgICAgJGJvZHkgPSBSZWFkLUJvZHkgJFJlcXVlc3QN +CiAgICAgICAgICAgICAgICBpZiAoLW5vdCAkYm9keSkgeyBTZW5kLUVycm9yICRSZXNwb25zZSAn +QW5mcmFnZSB6dSBncm9zcycgNDEzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgJGEgPSAk +Ym9keSB8IENvbnZlcnRGcm9tLUpzb24NCiAgICAgICAgICAgICAgICAkZGF0dW0gPSBbc3RyaW5n +XSRhLmRhdHVtDQogICAgICAgICAgICAgICAgJHBlcnNvbklkID0gW3N0cmluZ10kYS5wZXJzb25J +ZA0KICAgICAgICAgICAgICAgIGlmICgtbm90IChUZXN0LUxvY2tTYWZlRGF0dW0gJGRhdHVtKSAt +b3IgLW5vdCAoVGVzdC1Mb2NrU2FmZUlkICRwZXJzb25JZCkpIHsNCiAgICAgICAgICAgICAgICAg +ICAgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ1VuZ3VlbHRpZ2UgZGF0dW0vcGVyc29uSWQnIDQwMDsg +Y29udGludWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJHVzZXIgPSBHZXQt +QWt0dWVsbGVyQmVudXR6ZXINCiAgICAgICAgICAgICAgICAkcm9sbGUgPSAoR2V0LVJlY2h0ZSku +cm9sbGUNCiAgICAgICAgICAgICAgICAkcmVzID0gQWNxdWlyZS1DZWxsTG9jayAkZGF0dW0gJHBl +cnNvbklkICR1c2VyICRyb2xsZSAkZmFsc2UNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAkcmVz +Lm9rKSB7DQogICAgICAgICAgICAgICAgICAgIFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2UgQHsN +CiAgICAgICAgICAgICAgICAgICAgICAgIGZlaGxlciAgICA9ICdnZXNwZXJydCcNCiAgICAgICAg +ICAgICAgICAgICAgICAgIG1lbGR1bmcgICA9ICJXaXJkIGJlYXJiZWl0ZXQgdm9uICQoJHJlcy5l +eGlzdGluZy51c2VybmFtZSkiDQogICAgICAgICAgICAgICAgICAgICAgICBzcGVycmVyICAgPSAk +cmVzLmV4aXN0aW5nLnVzZXJuYW1lDQogICAgICAgICAgICAgICAgICAgICAgICByb2xsZSAgICAg +PSAkcmVzLmV4aXN0aW5nLnJvbGxlDQogICAgICAgICAgICAgICAgICAgICAgICBzZWl0ICAgICAg +PSAkcmVzLmV4aXN0aW5nLmxvY2tlZEF0DQogICAgICAgICAgICAgICAgICAgICAgICBrYW5uRm9y +Y2UgPSAoVGVzdC1EYXJmTG9ja1VlYmVyc2NocmVpYmVuKQ0KICAgICAgICAgICAgICAgICAgICB9 +IDQyMw0KICAgICAgICAgICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAgICAgICAgIH0NCiAg +ICAgICAgICAgICAgICBTZW5kLUpzb25PYmplY3QgJFJlc3BvbnNlIEB7DQogICAgICAgICAgICAg +ICAgICAgIG9rICAgICAgID0gJHRydWUNCiAgICAgICAgICAgICAgICAgICAgdG9rZW4gICAgPSAk +cmVzLmxvY2sudG9rZW4NCiAgICAgICAgICAgICAgICAgICAgZGF0dW0gICAgPSAkZGF0dW0NCiAg +ICAgICAgICAgICAgICAgICAgcGVyc29uSWQgPSAkcGVyc29uSWQNCiAgICAgICAgICAgICAgICAg +ICAgcm9sbGUgICAgPSAkcm9sbGUNCiAgICAgICAgICAgICAgICAgICAgbG9ja2VkQXQgPSAkcmVz +LmxvY2subG9ja2VkQXQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgY29udGlu +dWUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgIyBQT1NUIC9hcGkvbG9jay96ZWxsZS9m +b3JjZSAgeyBkYXR1bSwgcGVyc29uSWQgfSAtPiB1ZWJlcnNjaHJlaWJ0IGZyZW1kZW4gTG9jaw0K +ICAgICAgICAgICAgaWYgKCRQYXRoIC1lcSAnL2FwaS9sb2NrL3plbGxlL2ZvcmNlJyAtYW5kICRN +ZXRob2QgLWVxICdQT1NUJykgew0KICAgICAgICAgICAgICAgIGlmICgtbm90IChUZXN0LURhcmZM +b2NrVWViZXJzY2hyZWliZW4pKSB7DQogICAgICAgICAgICAgICAgICAgIFNlbmQtRXJyb3IgJFJl +c3BvbnNlICdGb3JjZS1Mb2NrIG51ciBmdWVyIEZhY2hhdWZzaWNodC9TdXBlclVzZXInIDQwMzsg +Y29udGludWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJGJvZHkgPSBSZWFk +LUJvZHkgJFJlcXVlc3QNCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAkYm9keSkgeyBTZW5kLUVy +cm9yICRSZXNwb25zZSAnQW5mcmFnZSB6dSBncm9zcycgNDEzOyBjb250aW51ZSB9DQogICAgICAg +ICAgICAgICAgJGEgPSAkYm9keSB8IENvbnZlcnRGcm9tLUpzb24NCiAgICAgICAgICAgICAgICAk +ZGF0dW0gPSBbc3RyaW5nXSRhLmRhdHVtDQogICAgICAgICAgICAgICAgJHBlcnNvbklkID0gW3N0 +cmluZ10kYS5wZXJzb25JZA0KICAgICAgICAgICAgICAgIGlmICgtbm90IChUZXN0LUxvY2tTYWZl +RGF0dW0gJGRhdHVtKSAtb3IgLW5vdCAoVGVzdC1Mb2NrU2FmZUlkICRwZXJzb25JZCkpIHsNCiAg +ICAgICAgICAgICAgICAgICAgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ1VuZ3VlbHRpZ2UgZGF0dW0v +cGVyc29uSWQnIDQwMDsgY29udGludWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg +ICAgJHVzZXIgPSBHZXQtQWt0dWVsbGVyQmVudXR6ZXINCiAgICAgICAgICAgICAgICAkcm9sbGUg +PSAoR2V0LVJlY2h0ZSkucm9sbGUNCiAgICAgICAgICAgICAgICAkcmVzID0gQWNxdWlyZS1DZWxs +TG9jayAkZGF0dW0gJHBlcnNvbklkICR1c2VyICRyb2xsZSAkdHJ1ZQ0KICAgICAgICAgICAgICAg +IFdyaXRlLUxvZ0VpbnRyYWcgJ2xvY2suZm9yY2UnIEB7IGRhdHVtID0gJGRhdHVtOyBwZXJzb25J +ZCA9ICRwZXJzb25JZDsgcm9sbGUgPSAkcm9sbGUgfQ0KICAgICAgICAgICAgICAgIFNlbmQtSnNv +bk9iamVjdCAkUmVzcG9uc2UgQHsNCiAgICAgICAgICAgICAgICAgICAgb2sgICAgICAgPSAkdHJ1 +ZQ0KICAgICAgICAgICAgICAgICAgICB0b2tlbiAgICA9ICRyZXMubG9jay50b2tlbg0KICAgICAg +ICAgICAgICAgICAgICBkYXR1bSAgICA9ICRkYXR1bQ0KICAgICAgICAgICAgICAgICAgICBwZXJz +b25JZCA9ICRwZXJzb25JZA0KICAgICAgICAgICAgICAgICAgICByb2xsZSAgICA9ICRyb2xsZQ0K +ICAgICAgICAgICAgICAgICAgICBsb2NrZWRBdCA9ICRyZXMubG9jay5sb2NrZWRBdA0KICAgICAg +ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAgICAgfQ0KDQog +ICAgICAgICAgICAjIFBPU1QgL2FwaS9sb2NrL3plbGxlL2hlYXJ0YmVhdCAgeyB0b2tlbiB9IC0+ +IGFrdHVhbGlzaWVydCBsYXN0QmVhdA0KICAgICAgICAgICAgaWYgKCRQYXRoIC1lcSAnL2FwaS9s +b2NrL3plbGxlL2hlYXJ0YmVhdCcgLWFuZCAkTWV0aG9kIC1lcSAnUE9TVCcpIHsNCiAgICAgICAg +ICAgICAgICAkYm9keSA9IFJlYWQtQm9keSAkUmVxdWVzdA0KICAgICAgICAgICAgICAgIGlmICgt +bm90ICRib2R5KSB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICdBbmZyYWdlIHp1IGdyb3NzJyA0MTM7 +IGNvbnRpbnVlIH0NCiAgICAgICAgICAgICAgICAkYSA9ICRib2R5IHwgQ29udmVydEZyb20tSnNv +bg0KICAgICAgICAgICAgICAgICR0b2tlbiA9IGlmICgkYS5QU09iamVjdC5Qcm9wZXJ0aWVzWyd0 +b2tlbiddKSB7IFtzdHJpbmddJGEudG9rZW4gfSBlbHNlIHsgJycgfQ0KICAgICAgICAgICAgICAg +IGlmIChbc3RyaW5nXTo6SXNOdWxsT3JXaGl0ZVNwYWNlKCR0b2tlbikpIHsgU2VuZC1FcnJvciAk +UmVzcG9uc2UgJ1Rva2VuIGZlaGx0JyA0MDA7IGNvbnRpbnVlIH0NCiAgICAgICAgICAgICAgICAk +cmVzID0gUmVmcmVzaC1DZWxsTG9jayAkdG9rZW4NCiAgICAgICAgICAgICAgICBpZiAoLW5vdCAk +cmVzLm9rKSB7DQogICAgICAgICAgICAgICAgICAgIFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2Ug +QHsgZmVobGVyID0gJ3VuYmVrYW5udGVyX2xvY2snOyBtZWxkdW5nID0gJ0xvY2sgZXhpc3RpZXJ0 +IG5pY2h0IChtZWhyKS4nIH0gNDA0DQogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlDQogICAg +ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2Ug +QHsgb2sgPSAkdHJ1ZTsgbGFzdEJlYXQgPSAkcmVzLmxvY2subGFzdEJlYXQgfQ0KICAgICAgICAg +ICAgICAgIGNvbnRpbnVlDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICMgREVMRVRFIC9h +cGkvbG9jay96ZWxsZSAgeyB0b2tlbiB9IC0+IExvY2sgZnJlaWdlYmVuIChhdWNoIHZpYSBRdWVy +eS1TdHJpbmcgZnVlciBzZW5kQmVhY29uKQ0KICAgICAgICAgICAgaWYgKCRQYXRoIC1lcSAnL2Fw +aS9sb2NrL3plbGxlJyAtYW5kICRNZXRob2QgLWVxICdERUxFVEUnKSB7DQogICAgICAgICAgICAg +ICAgJGJvZHkgPSBSZWFkLUJvZHkgJFJlcXVlc3QNCiAgICAgICAgICAgICAgICAkdG9rZW4gPSAk +bnVsbA0KICAgICAgICAgICAgICAgIGlmICgkYm9keSkgew0KICAgICAgICAgICAgICAgICAgICB0 +cnkgeyAkYSA9ICRib2R5IHwgQ29udmVydEZyb20tSnNvbjsgaWYgKCRhLlBTT2JqZWN0LlByb3Bl +cnRpZXNbJ3Rva2VuJ10pIHsgJHRva2VuID0gW3N0cmluZ10kYS50b2tlbiB9IH0gY2F0Y2gge30N +CiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKFtzdHJpbmddOjpJc051bGxP +cldoaXRlU3BhY2UoJHRva2VuKSAtYW5kICRSZXF1ZXN0LlVybC5RdWVyeSkgew0KICAgICAgICAg +ICAgICAgICAgICAkcSA9IFtTeXN0ZW0uV2ViLkh0dHBVdGlsaXR5XTo6UGFyc2VRdWVyeVN0cmlu +ZygkUmVxdWVzdC5VcmwuUXVlcnkpDQogICAgICAgICAgICAgICAgICAgICR0b2tlbiA9IFtzdHJp +bmddJHFbJ3Rva2VuJ10NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKFtz +dHJpbmddOjpJc051bGxPcldoaXRlU3BhY2UoJHRva2VuKSkgeyBTZW5kLUVycm9yICRSZXNwb25z +ZSAnVG9rZW4gZmVobHQnIDQwMDsgY29udGludWUgfQ0KICAgICAgICAgICAgICAgICRyZXMgPSBS +ZWxlYXNlLUNlbGxMb2NrICR0b2tlbg0KICAgICAgICAgICAgICAgIFNlbmQtSnNvbk9iamVjdCAk +UmVzcG9uc2UgQHsgb2sgPSAkcmVzLm9rIH0NCiAgICAgICAgICAgICAgICBjb250aW51ZQ0KICAg +ICAgICAgICAgfQ0KDQogICAgICAgICAgICAjIEdFVCAvYXBpL2xvY2svemVsbGVuIC0+IExpc3Rl +IGFsbGVyIGFrdGl2ZW4gTG9ja3MgKGZ1ZXIgTGl2ZS1JbmRpY2F0b3IpDQogICAgICAgICAgICBp +ZiAoJFBhdGggLWVxICcvYXBpL2xvY2svemVsbGVuJyAtYW5kICRNZXRob2QgLWVxICdHRVQnKSB7 +DQogICAgICAgICAgICAgICAgU2VuZC1Kc29uT2JqZWN0ICRSZXNwb25zZSBAeyBsb2NrcyA9IChH +ZXQtQWxsQWN0aXZlQ2VsbExvY2tzKSB9DQogICAgICAgICAgICAgICAgY29udGludWUNCiAgICAg +ICAgICAgIH0NCg0KICAgICAgICAgICAgIyBQT1NUIC9hcGkvdmVyYW50d29ydHVuZy9hdWZnZXJ1 +ZWNrdCDigJQgU3RhdGlzdGlrLUNhcHR1cmUgZnVlciBkZW4NCiAgICAgICAgICAgICMgIkVpbmdl +c3BydW5nZW4iLUJhbGtlbiBpbiBkZXIgU2NoaWNodHZlcnRlaWx1bmcuIFdpcmQgdm9tIENsaWVu +dA0KICAgICAgICAgICAgIyBnZWZldWVydCwgc29iYWxkIGplbWFuZCBpbm5lcmhhbGIgZGVyIDE0 +LVRhZ2UtVmVyYmluZGxpY2hrZWl0IG5ldQ0KICAgICAgICAgICAgIyBpbiBkaWUgVG9wLTIgKDEu +LzIuIFZJMy1ER0wpIGVpbmVyIFNjaGljaHQgYXVmcnVlY2t0IOKAlCBhbHNvDQogICAgICAgICAg +ICAjIGF1c3NlcnBsYW5tYWVzc2lnIFZlcmFudHdvcnR1bmcgdWViZXJuaW1tdC4NCiAgICAgICAg +ICAgICMgQm9keTogeyBwZXJzb25JZCwgZGF0dW0sIHNjaGljaHQsIHN0dWZlLCB2b3JoZXJXZXJ0 +LCBhdXNsb2VzZXJQZXJzb25JZCB9DQogICAgICAgICAgICBpZiAoJFBhdGggLWVxICcvYXBpL3Zl +cmFudHdvcnR1bmcvYXVmZ2VydWVja3QnIC1hbmQgJE1ldGhvZCAtZXEgJ1BPU1QnKSB7DQogICAg +ICAgICAgICAgICAgJGJvZHkgPSBSZWFkLUJvZHkgJFJlcXVlc3QNCiAgICAgICAgICAgICAgICBp +ZiAoLW5vdCAkYm9keSkgeyBTZW5kLUVycm9yICRSZXNwb25zZSAnQW5mcmFnZSB6dSBncm9zcycg +NDEzOyBjb250aW51ZSB9DQogICAgICAgICAgICAgICAgdHJ5IHsgJGEgPSAkYm9keSB8IENvbnZl +cnRGcm9tLUpzb24gfSBjYXRjaCB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICdVbmd1ZWx0aWdlcyBK +U09OJyA0MDA7IGNvbnRpbnVlIH0NCiAgICAgICAgICAgICAgICAkcGlkID0gaWYgKCRhLlBTT2Jq +ZWN0LlByb3BlcnRpZXNbJ3BlcnNvbklkJ10pIHsgW3N0cmluZ10kYS5wZXJzb25JZCB9IGVsc2Ug +eyAnJyB9DQogICAgICAgICAgICAgICAgJGRhdCA9IGlmICgkYS5QU09iamVjdC5Qcm9wZXJ0aWVz +WydkYXR1bSddKSB7IFtzdHJpbmddJGEuZGF0dW0gfSBlbHNlIHsgJycgfQ0KICAgICAgICAgICAg +ICAgIGlmICgtbm90ICRwaWQgLW9yIC1ub3QgJGRhdCkgeyBTZW5kLUVycm9yICRSZXNwb25zZSAn +cGVyc29uSWQvZGF0dW0gZmVobHQnIDQwMDsgY29udGludWUgfQ0KICAgICAgICAgICAgICAgICRm +ZWxkZXIgPSBbb3JkZXJlZF1Aew0KICAgICAgICAgICAgICAgICAgICBwZXJzb25JZCAgID0gJHBp +ZA0KICAgICAgICAgICAgICAgICAgICBkYXR1bSAgICAgID0gJGRhdA0KICAgICAgICAgICAgICAg +ICAgICBzY2hpY2h0ICAgID0gaWYgKCRhLlBTT2JqZWN0LlByb3BlcnRpZXNbJ3NjaGljaHQnXSkg +eyBbc3RyaW5nXSRhLnNjaGljaHQgfSBlbHNlIHsgJycgfQ0KICAgICAgICAgICAgICAgICAgICBz +dHVmZSAgICAgID0gaWYgKCRhLlBTT2JqZWN0LlByb3BlcnRpZXNbJ3N0dWZlJ10pIHsgW2ludF0k +YS5zdHVmZSB9IGVsc2UgeyAwIH0NCiAgICAgICAgICAgICAgICAgICAgdm9yaGVyV2VydCA9IGlm +ICgkYS5QU09iamVjdC5Qcm9wZXJ0aWVzWyd2b3JoZXJXZXJ0J10pIHsgW3N0cmluZ10kYS52b3Jo +ZXJXZXJ0IH0gZWxzZSB7ICcnIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg +aWYgKCRhLlBTT2JqZWN0LlByb3BlcnRpZXNbJ2F1c2xvZXNlclBlcnNvbklkJ10pIHsNCiAgICAg +ICAgICAgICAgICAgICAgJGZlbGRlclsnYXVzbG9lc2VyUGVyc29uSWQnXSA9IFtzdHJpbmddJGEu +YXVzbG9lc2VyUGVyc29uSWQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgV3Jp +dGUtTG9nRWludHJhZyAndmVyYW50d29ydHVuZy5laW5nZXNwcnVuZ2VuJyAkZmVsZGVyDQogICAg +ICAgICAgICAgICAgU2VuZC1Kc29uT2JqZWN0ICRSZXNwb25zZSBAeyBvayA9ICR0cnVlIH0NCiAg +ICAgICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAgICAgfQ0KDQoNCiAgICAgICAgICAgICMg +R0VUIC9hcGkvcGxhbnVuZy9jaGFuZ2VzP3NlaXQ9PGlzby10cz4gLT4gRGVsdGEtTGlzdGUgZnVl +ciBMaXZlLVN5bmMNCiAgICAgICAgICAgIGlmICgkUGF0aCAtZXEgJy9hcGkvcGxhbnVuZy9jaGFu +Z2VzJyAtYW5kICRNZXRob2QgLWVxICdHRVQnKSB7DQogICAgICAgICAgICAgICAgJHEgPSBbU3lz +dGVtLldlYi5IdHRwVXRpbGl0eV06OlBhcnNlUXVlcnlTdHJpbmcoJFJlcXVlc3QuVXJsLlF1ZXJ5 +KQ0KICAgICAgICAgICAgICAgICRsb2cgPSBSZWFkLUpzb25PYmplY3QgJ2NoYW5nZXMuanNvbicN +CiAgICAgICAgICAgICAgICBpZiAoJG51bGwgLWVxICRsb2cgLW9yIC1ub3QgKCRsb2cgLWlzIFth +cnJheV0pKSB7ICRsb2cgPSBAKCkgfQ0KICAgICAgICAgICAgICAgICRtYXhTZXEgPSBHZXQtTWF4 +Q2hhbmdlU2VxICRsb2cNCiAgICAgICAgICAgICAgICBpZiAoJHEuQWxsS2V5cyAtY29udGFpbnMg +J3NlaXRfc2VxJykgew0KICAgICAgICAgICAgICAgICAgICAjIE5ldWVyIHJhY2UtZnJlaWVyIHNl +cS1DdXJzb3IgKENoYW5nZXMgKyBzZXJ2ZXJTZXEgYXVzDQogICAgICAgICAgICAgICAgICAgICMg +REVNU0VMQkVOIFJlYWQpLiBMZWVyZXIgc2VpdF9zZXEgPSBFcnN0LVN5bmMgLT4gbnVyIEN1cnNv +ci4NCiAgICAgICAgICAgICAgICAgICAgJHJhdyA9IFtzdHJpbmddJHFbJ3NlaXRfc2VxJ10NCiAg +ICAgICAgICAgICAgICAgICAgaWYgKFtzdHJpbmddOjpJc051bGxPckVtcHR5KCRyYXcpKSB7DQog +ICAgICAgICAgICAgICAgICAgICAgICAkY2hhbmdlcyA9IEAoKQ0KICAgICAgICAgICAgICAgICAg +ICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgJHNxID0gMDsgW3ZvaWRdW2ludF06 +OlRyeVBhcnNlKCRyYXcsIFtyZWZdJHNxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJGNoYW5n +ZXMgPSBAKCRsb2cgfCBXaGVyZS1PYmplY3QgeyAkbnVsbCAtbmUgJF8uc2VxIC1hbmQgW2ludF0k +Xy5zZXEgLWd0ICRzcSB9KQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg +ICAgIFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2UgQHsNCiAgICAgICAgICAgICAgICAgICAgICAg +IHNlcnZlclRzICA9IChHZXQtRGF0ZSkuVG9Vbml2ZXJzYWxUaW1lKCkuVG9TdHJpbmcoJ28nKQ0K +ICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyU2VxID0gJG1heFNlcQ0KICAgICAgICAgICAg +ICAgICAgICAgICAgY2hhbmdlcyAgID0gW29iamVjdFtdXSRjaGFuZ2VzDQogICAgICAgICAgICAg +ICAgICAgIH0NCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAj +IEJhY2t3YXJkLWNvbXBhdDogYWx0ZXIgV2FsbC1DbG9jay1DdXJzb3IgKGFsdGUgQ2xpZW50cyku +DQogICAgICAgICAgICAgICAgICAgICRzZWl0ID0gW3N0cmluZ10kcVsnc2VpdCddDQogICAgICAg +ICAgICAgICAgICAgIFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2UgQHsNCiAgICAgICAgICAgICAg +ICAgICAgICAgIHNlcnZlclRzICA9IChHZXQtRGF0ZSkuVG9Vbml2ZXJzYWxUaW1lKCkuVG9TdHJp +bmcoJ28nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyU2VxID0gJG1heFNlcQ0KICAg +ICAgICAgICAgICAgICAgICAgICAgY2hhbmdlcyAgID0gKEdldC1DaGFuZ2VzU2luY2UgJHNlaXQp +DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg +ICAgY29udGludWUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgIyA9PT09PSBQcm9maWxi +aWxkZXIgKEF2YXRhcmUpID09PT09DQogICAgICAgICAgICAjIERhdGVpOiAkRGF0YURpci9hdmF0 +YXJzLzxpZD4uanBnICAgKEpQRUcsIHZvbSBDbGllbnQgYXVmIDIwMHgyMDANCiAgICAgICAgICAg +ICMgaGVydW50ZXJnZXJlY2huZXQsIHVlYmxpY2ggNS0yNSBLQikuDQogICAgICAgICAgICAjDQog +ICAgICAgICAgICAjIEJlcmVjaHRpZ3VuZzoNCiAgICAgICAgICAgICMgICBQT1NUL0RFTEVURTog +U1UvRkEgT0RFUiBlaWdlbmUgUGVyc29uSWQgKFNlbGYtU2VydmljZSkuDQogICAgICAgICAgICAj +ICAgR0VUOiAgICAgICAgIGFsbGUgZWluZ2Vsb2dndGVuIFVzZXIgKGltIEdyaWQgc2ljaHRiYXIp +Lg0KICAgICAgICAgICAgIw0KICAgICAgICAgICAgIyBQT1NULUJvZHk6IHsgImRhdGFVcmwiOiAi +ZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCw8Li4uPiIgfQ0KICAgICAgICAgICAgIyAyNTAgS0IgaGFy +dGVyIENhcCAoZGVmZW5zaXYg4oCUIENsaWVudCBzY2hpY2t0IHR5cGlzY2ggPDMwIEtCKS4NCiAg +ICAgICAgICAgIGlmICgkUGF0aCAtbWF0Y2ggJ14vYXBpL3BlcnNvbmVuLyhcZCspL2F2YXRhciQn +KSB7DQogICAgICAgICAgICAgICAgJHBlcnNvbklkID0gJG1hdGNoZXNbMV0NCiAgICAgICAgICAg +ICAgICAkciA9IEdldC1SZWNodGUNCiAgICAgICAgICAgICAgICAkaXN0RWlnZW4gPSAoJG51bGwg +LW5lICRyLm1laW5lUGVyc29uSWQgLWFuZCBbaW50XSRwZXJzb25JZCAtZXEgW2ludF0kci5tZWlu +ZVBlcnNvbklkKQ0KICAgICAgICAgICAgICAgICRpc3RCZXJlY2h0aWd0ID0gKFRlc3QtSXN0QWRt +aW4pIC1vciAkaXN0RWlnZW4NCiAgICAgICAgICAgICAgICAkYXZhdGFyRGlyID0gSm9pbi1QYXRo +ICREYXRhRGlyICdhdmF0YXJzJw0KICAgICAgICAgICAgICAgIGlmICgtbm90IChUZXN0LVBhdGgg +LUxpdGVyYWxQYXRoICRhdmF0YXJEaXIpKSB7DQogICAgICAgICAgICAgICAgICAgIHRyeSB7IE5l +dy1JdGVtIC1JdGVtVHlwZSBEaXJlY3RvcnkgLVBhdGggJGF2YXRhckRpciAtRm9yY2UgfCBPdXQt +TnVsbCB9IGNhdGNoIHt9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICRhdmF0 +YXJGaWxlID0gSm9pbi1QYXRoICRhdmF0YXJEaXIgKCRwZXJzb25JZCArICcuanBnJykNCiAgICAg +ICAgICAgICAgICBpZiAoJE1ldGhvZCAtZXEgJ1BPU1QnKSB7DQogICAgICAgICAgICAgICAgICAg +IGlmICgtbm90ICRpc3RCZXJlY2h0aWd0KSB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICdLZWluZSBC +ZXJlY2h0aWd1bmcnIDQwMzsgY29udGludWUgfQ0KICAgICAgICAgICAgICAgICAgICAkYm9keSA9 +IFJlYWQtQm9keSAkUmVxdWVzdA0KICAgICAgICAgICAgICAgICAgICBpZiAoLW5vdCAkYm9keSkg +eyBTZW5kLUVycm9yICRSZXNwb25zZSAnQW5mcmFnZSB6dSBncm9zcycgNDEzOyBjb250aW51ZSB9 +DQogICAgICAgICAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkb2Jq +ID0gJGJvZHkgfCBDb252ZXJ0RnJvbS1Kc29uDQogICAgICAgICAgICAgICAgICAgICAgICAkZGF0 +YVVybCA9IFtzdHJpbmddJG9iai5kYXRhVXJsDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAo +LW5vdCAkZGF0YVVybCAtb3IgLW5vdCAkZGF0YVVybC5TdGFydHNXaXRoKCdkYXRhOmltYWdlLycp +KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VuZC1FcnJvciAkUmVzcG9uc2UgJ1Vu +Z3VlbHRpZ2VzIEJpbGRmb3JtYXQgKGVyd2FydGUgZGF0YTppbWFnZS8uLi47YmFzZTY0LC4uLikn +IDQwMDsgY29udGludWUNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg +ICAgICAgICAgICRiYXNlNjQgPSAkZGF0YVVybCAtcmVwbGFjZSAnXmRhdGE6aW1hZ2UvW2EtekEt +Wl0rO2Jhc2U2NCwnLCAnJw0KICAgICAgICAgICAgICAgICAgICAgICAgJGJ5dGVzID0gW1N5c3Rl +bS5Db252ZXJ0XTo6RnJvbUJhc2U2NFN0cmluZygkYmFzZTY0KQ0KICAgICAgICAgICAgICAgICAg +ICAgICAgaWYgKCRieXRlcy5MZW5ndGggLWd0IDI2MjE0NCkgeyBTZW5kLUVycm9yICRSZXNwb25z +ZSAnQmlsZCB6dSBncm9zcyAobWF4IDI1MCBLQiknIDQxMzsgY29udGludWUgfQ0KICAgICAgICAg +ICAgICAgICAgICAgICAgW1N5c3RlbS5JTy5GaWxlXTo6V3JpdGVBbGxCeXRlcygkYXZhdGFyRmls +ZSwgJGJ5dGVzKQ0KICAgICAgICAgICAgICAgICAgICAgICAgIyBhdmF0YXJUcyBpbiBwbGFudW5n +Lmpzb24gc2V0emVuLCBkYW1pdCBkZXIgQ2FjaGUtQnVzdGVyDQogICAgICAgICAgICAgICAgICAg +ICAgICAjIG5hY2ggUmVsb2FkIGJla2FubnQgaXN0IChDbGllbnQgaGFlbmd0ID90cz08YXZhdGFy +VHM+DQogICAgICAgICAgICAgICAgICAgICAgICAjIGFuIGRpZSBCaWxkLVVSTCkuDQogICAgICAg +ICAgICAgICAgICAgICAgICAkdHMgPSBbbG9uZ10oW0RhdGVUaW1lT2Zmc2V0XTo6VXRjTm93LlRv +VW5peFRpbWVNaWxsaXNlY29uZHMoKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIEludm9rZS1X +aXRoRmlsZUxvY2sgJ3BsYW51bmcuanNvbicgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICRwbGFudW5nID0gUmVhZC1Kc29uT2JqZWN0ICdwbGFudW5nLmpzb24nDQogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgaWYgKCRudWxsIC1uZSAkcGxhbnVuZyAtYW5kICRwbGFudW5nLnBlcnNv +bmVuKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRwIGluICRw +bGFudW5nLnBlcnNvbmVuKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp +ZiAoW3N0cmluZ10kcC5pZCAtZXEgW3N0cmluZ10kcGVyc29uSWQpIHsNCiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHAuUFNPYmplY3QuUHJvcGVydGllc1snYXZh +dGFyVHMnXSkgeyAkcC5hdmF0YXJUcyA9ICR0cyB9DQogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgZWxzZSB7ICRwIHwgQWRkLU1lbWJlciAtTm90ZVByb3BlcnR5TmFtZSAn +YXZhdGFyVHMnIC1Ob3RlUHJvcGVydHlWYWx1ZSAkdHMgLUZvcmNlIH0NCiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaw0KICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLUpzb25PYmplY3QgJ3BsYW51bmcuanNvbicg +JHBsYW51bmcgfCBPdXQtTnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg +ICAgICAgICAgICAgICAgICAgIH0gfCBPdXQtTnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAg +V3JpdGUtTG9nRWludHJhZyAnYXZhdGFyLmdlc2V0enQnIEB7IHBlcnNvbklkID0gJHBlcnNvbklk +OyBieXRlcyA9ICRieXRlcy5MZW5ndGggfQ0KICAgICAgICAgICAgICAgICAgICAgICAgU2VuZC1K +c29uT2JqZWN0ICRSZXNwb25zZSBAeyBzdGF0dXMgPSAnZ2VzcGVpY2hlcnQnOyBieXRlcyA9ICRi +eXRlcy5MZW5ndGg7IGF2YXRhclRzID0gJHRzIH0NCiAgICAgICAgICAgICAgICAgICAgfSBjYXRj +aCB7DQogICAgICAgICAgICAgICAgICAgICAgICBTZW5kLUVycm9yICRSZXNwb25zZSAoIkF2YXRh +ci1VcGxvYWQgZmVobGdlc2NobGFnZW46ICIgKyAkXy5FeGNlcHRpb24uTWVzc2FnZSkgNTAwDQog +ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgY29udGludWUNCiAgICAg +ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKCRNZXRob2QgLWVxICdERUxFVEUnKSB7 +DQogICAgICAgICAgICAgICAgICAgIGlmICgtbm90ICRpc3RCZXJlY2h0aWd0KSB7IFNlbmQtRXJy +b3IgJFJlc3BvbnNlICdLZWluZSBCZXJlY2h0aWd1bmcnIDQwMzsgY29udGludWUgfQ0KICAgICAg +ICAgICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFRlc3QtUGF0 +aCAtTGl0ZXJhbFBhdGggJGF2YXRhckZpbGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICBSZW1vdmUtSXRlbSAtTGl0ZXJhbFBhdGggJGF2YXRhckZpbGUgLUZvcmNlIC1FcnJvckFjdGlv +biBTaWxlbnRseUNvbnRpbnVlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtTG9n +RWludHJhZyAnYXZhdGFyLmVudGZlcm50JyBAeyBwZXJzb25JZCA9ICRwZXJzb25JZCB9DQogICAg +ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBJbnZva2UtV2l0 +aEZpbGVMb2NrICdwbGFudW5nLmpzb24nIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAk +cGxhbnVuZyA9IFJlYWQtSnNvbk9iamVjdCAncGxhbnVuZy5qc29uJw0KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIGlmICgkbnVsbCAtbmUgJHBsYW51bmcgLWFuZCAkcGxhbnVuZy5wZXJzb25l +bikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkcCBpbiAkcGxh +bnVuZy5wZXJzb25lbikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg +KFtzdHJpbmddJHAuaWQgLWVxIFtzdHJpbmddJHBlcnNvbklkIC1hbmQgJHAuUFNPYmplY3QuUHJv +cGVydGllc1snYXZhdGFyVHMnXSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICRwLlBTT2JqZWN0LlByb3BlcnRpZXMuUmVtb3ZlKCdhdmF0YXJUcycpDQogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsNCiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1Kc29uT2JqZWN0ICdwbGFudW5n +Lmpzb24nICRwbGFudW5nIHwgT3V0LU51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 +DQogICAgICAgICAgICAgICAgICAgICAgICB9IHwgT3V0LU51bGwNCiAgICAgICAgICAgICAgICAg +ICAgICAgIFNlbmQtSnNvbk9iamVjdCAkUmVzcG9uc2UgQHsgc3RhdHVzID0gJ2dlbG9lc2NodCcg +fQ0KICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIHsNCiAgICAgICAgICAgICAgICAgICAgICAg +IFNlbmQtRXJyb3IgJFJlc3BvbnNlICgiQXZhdGFyLUxvZXNjaGVuIGZlaGxnZXNjaGxhZ2VuOiAi +ICsgJF8uRXhjZXB0aW9uLk1lc3NhZ2UpIDUwMA0KICAgICAgICAgICAgICAgICAgICB9DQogICAg +ICAgICAgICAgICAgICAgIGNvbnRpbnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg +fQ0KICAgICAgICAgICAgIyBBdmF0YXItU3RhdGljLVNlcnZpbmc6IC9kYXRhL2F2YXRhcnMvPGlk +Pi5qcGcgbGllc3QgZGlyZWt0IGF1cw0KICAgICAgICAgICAgIyAkRGF0YURpci9hdmF0YXJzLy4g +QmV3dXNzdCBlaWdlbmVyIFBmYWQgc3RhdHQgdWViZXIgUmVzb2x2ZS0NCiAgICAgICAgICAgICMg +U2FmZVBhdGgsIHdlaWwgZG9ydCBkZXIgQXNzZXQtQ2FjaGUtUm9vdCBnZW51dHp0IHdpcmQgKEF2 +YXRhcmUNCiAgICAgICAgICAgICMgbGllZ2VuIGFiZXIgdW50ZXIgRGF0YURpcikuDQogICAgICAg +ICAgICBpZiAoJFBhdGggLW1hdGNoICdeL2RhdGEvYXZhdGFycy8oXGQrKVwuanBnJCcgLWFuZCAk +TWV0aG9kIC1lcSAnR0VUJykgew0KICAgICAgICAgICAgICAgICRhdmF0YXJGaWxlID0gSm9pbi1Q +YXRoIChKb2luLVBhdGggJERhdGFEaXIgJ2F2YXRhcnMnKSAoJG1hdGNoZXNbMV0gKyAnLmpwZycp +DQogICAgICAgICAgICAgICAgaWYgKFRlc3QtUGF0aCAtTGl0ZXJhbFBhdGggJGF2YXRhckZpbGUg +LVBhdGhUeXBlIExlYWYpIHsNCiAgICAgICAgICAgICAgICAgICAgJGNvbnRlbnQgPSBbU3lzdGVt +LklPLkZpbGVdOjpSZWFkQWxsQnl0ZXMoJGF2YXRhckZpbGUpDQogICAgICAgICAgICAgICAgICAg +ICRSZXNwb25zZS5TdGF0dXNDb2RlID0gMjAwDQogICAgICAgICAgICAgICAgICAgICRSZXNwb25z +ZS5Db250ZW50VHlwZSA9ICdpbWFnZS9qcGVnJw0KICAgICAgICAgICAgICAgICAgICBBZGQtU2Vj +dXJpdHlIZWFkZXJzICRSZXNwb25zZQ0KICAgICAgICAgICAgICAgICAgICAkUmVzcG9uc2UuQ29u +dGVudExlbmd0aDY0ID0gJGNvbnRlbnQuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICRSZXNw +b25zZS5PdXRwdXRTdHJlYW0uV3JpdGUoJGNvbnRlbnQsIDAsICRjb250ZW50Lkxlbmd0aCkNCiAg +ICAgICAgICAgICAgICAgICAgJFJlc3BvbnNlLk91dHB1dFN0cmVhbS5DbG9zZSgpDQogICAgICAg +ICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgU2VuZC1FcnJvciAkUmVzcG9u +c2UgKCJBdmF0YXIgbmljaHQgZ2VmdW5kZW46ICIgKyAkUGF0aCkgNDA0DQogICAgICAgICAgICAg +ICAgfQ0KICAgICAgICAgICAgICAgIGNvbnRpbnVlDQogICAgICAgICAgICB9DQoNCiAgICAgICAg +ICAgICMgPT09PT0gU3RhdGlzY2hlIERhdGVpZW4gPT09PT0NCiAgICAgICAgICAgIGlmICgkUGF0 +aCAtZXEgJy8nIC1vciAkUGF0aCAtZXEgJycpIHsgJFBhdGggPSAnL2luZGV4Lmh0bWwnIH0NCiAg +ICAgICAgICAgICRSZWxQYXRoID0gJFBhdGguVHJpbVN0YXJ0KCcvJykNCiAgICAgICAgICAgICMg +ZGF0YS8tRGlyZWt0enVncmlmZi1HYXRlIChTcHJpbnQgMSDigJQgU2ljaGVyaGVpdHMtTm90YnJl +bXNlIDIwMjYtMDUtMjgpOg0KICAgICAgICAgICAgIyBHRVQgL2RhdGEvYWRtaW4uanNvbiAodW5k +IHBsYW51bmcuanNvbiwgbG9nYnVjaC5qc29uLCBoaW53ZWlzZS5qc29uLA0KICAgICAgICAgICAg +IyBjaGFuZ2VzLmpzb24sIHNvd2llIGFsbGUgQmFja3VwLURhdGVpZW4pIGxpZWZlcnRlIHZvcmhl +ciBSb2gtSlNPTiBPSE5FDQogICAgICAgICAgICAjIEF1dGgtQ2hlY2suIEF2YXRhci1TdWJwZmFk +IHdpcmQgb2JlbiBzZXBhcmF0IGdlcm91dGV0LiBBbGxlcyBhbmRlcmUNCiAgICAgICAgICAgICMg +dW50ZXIgL2RhdGEvIGRhcmYgTlVSIGR1cmNoIGVpbmUgZXhwbGl6aXRlIFdoaXRlbGlzdCAoU3Rh +dGlzdGlrLSB1bmQNCiAgICAgICAgICAgICMgTG9nYnVjaC1UYXJuLU1hcmt1cHMsIHdlaXRlciB1 +bnRlbiBnZWdhdGVkKS4gU29uc3QgNDA0Lg0KICAgICAgICAgICAgIyBNaXR0ZWlsdW5ncy1VcGxv +YWRzIChTcHJpbnQgRC0zYiwgMjAyNi0wNS0yOSk6IHZvbSBTVSBob2NoZ2VsYWRlbmUNCiAgICAg +ICAgICAgICMgQmlsZGVyICsgUERGcyB1bnRlciBkYXRhL3VwbG9hZHMvbWl0dGVpbHVuZ2VuL21f +PHRzPl88cmFuZD4uPGV4dD4uDQogICAgICAgICAgICAjIEVuZHVuZ3MtV2hpdGVsaXN0IHZlcmhp +bmRlcnQgQ29kZS1TbXVnZ2xpbmcgdWViZXIgZGVuIFBmYWQuDQogICAgICAgICAgICAkaXN0TWl0 +dGVpbHVuZ1VwbG9hZCA9ICgkUmVsUGF0aCAtbWF0Y2ggJ15kYXRhL3VwbG9hZHMvbWl0dGVpbHVu +Z2VuL21fXGQrX1thLXowLTldK1wuKGpwZ3xwbmd8d2VicHxwZGYpJCcpDQogICAgICAgICAgICBp +ZiAoJFJlbFBhdGggLWxpa2UgJ2RhdGEvKicgLWFuZA0KICAgICAgICAgICAgICAgICRSZWxQYXRo +IC1uZSAnZGF0YS9tYWluZnJhbWUuaHRtbCcgLWFuZA0KICAgICAgICAgICAgICAgICRSZWxQYXRo +IC1uZSAnZGF0YS9zYW5pdGl6ZXIuaHRtbCcgLWFuZA0KICAgICAgICAgICAgICAgIC1ub3QgJGlz +dE1pdHRlaWx1bmdVcGxvYWQpIHsNCiAgICAgICAgICAgICAgICBMb2ctQXBpICgnR0FURSA0MDQg +ezB9IChkYXRhLy1EaXJla3R6dWdyaWZmIGJsb2NraWVydCknIC1mICRSZWxQYXRoKQ0KICAgICAg +ICAgICAgICAgIFNlbmQtRXJyb3IgJFJlc3BvbnNlICgiVW5iZWthbm50ZXIgRW5kcHVua3Q6ICRN +ZXRob2QgJFBhdGgiKSA0MDQNCiAgICAgICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAgICAg +fQ0KICAgICAgICAgICAgIyBWZXJzY2hsZWllcnVuZ3MtRmlsdGVyOiBkYXMgU3RhdGlzdGlrLSB1 +bmQgTG9nYnVjaC1Nb2R1bCBzYW10DQogICAgICAgICAgICAjIE1hcmt1cC1GcmFnbWVudCB3ZXJk +ZW4gbnVyIGFuIEJlcmVjaHRpZ3RlIGF1c2dlbGllZmVydC4NCiAgICAgICAgICAgICMgRGlyZWt0 +ZXIgWnVncmlmZiBkdXJjaCBVbmJlcmVjaHRpZ3RlIChCcm93c2VyLVVSTC1FaW5nYWJlLA0KICAg +ICAgICAgICAgIyBTb3VyY2UtU3RvZWJlcm4pIGJla29tbXQgNDA0IOKAlCB3aWUgYmVpIGplZGVt +IG5pY2h0IGV4aXN0aWVyZW5kZW4NCiAgICAgICAgICAgICMgUGZhZCwga2VpbiBTdGF0dXNjb2Rl +LVZlcnJhdC4NCiAgICAgICAgICAgIGlmICgkUmVsUGF0aCAtZXEgJ2pzL3N0YXRpc3Rpay5qcycg +LW9yICRSZWxQYXRoIC1lcSAnZGF0YS9tYWluZnJhbWUuaHRtbCcpIHsNCiAgICAgICAgICAgICAg +ICBpZiAoLW5vdCAoVGVzdC1EYXJmQmVyZWljaCAnc3RhdGlzdGlrJykpIHsNCiAgICAgICAgICAg +ICAgICAgICAgTG9nLUFwaSAoJ0dBVEUgNDA0IHswfSAoa2VpbiBTdGF0aXN0aWstUmVjaHQpJyAt +ZiAkUmVsUGF0aCkNCiAgICAgICAgICAgICAgICAgICAgU2VuZC1FcnJvciAkUmVzcG9uc2UgKCJV +bmJla2FubnRlciBFbmRwdW5rdDogJE1ldGhvZCAkUGF0aCIpIDQwNA0KICAgICAgICAgICAgICAg +ICAgICBjb250aW51ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0gZWxzZWlmICgk +UmVsUGF0aCAtZXEgJ2pzL2xvZ2J1Y2guanMnIC1vciAkUmVsUGF0aCAtZXEgJ2RhdGEvc2FuaXRp +emVyLmh0bWwnKSB7DQogICAgICAgICAgICAgICAgaWYgKC1ub3QgKFRlc3QtRGFyZkJlcmVpY2gg +J2xvZ2J1Y2gnKSkgew0KICAgICAgICAgICAgICAgICAgICBMb2ctQXBpICgnR0FURSA0MDQgezB9 +IChrZWluIExvZ2J1Y2gtUmVjaHQpJyAtZiAkUmVsUGF0aCkNCiAgICAgICAgICAgICAgICAgICAg +U2VuZC1FcnJvciAkUmVzcG9uc2UgKCJVbmJla2FubnRlciBFbmRwdW5rdDogJE1ldGhvZCAkUGF0 +aCIpIDQwNA0KICAgICAgICAgICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAgICAgICAgIH0N +CiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICRGaWxlUGF0aCA9IFJlc29sdmUtU2FmZVBhdGgg +JFJlbFBhdGgNCiAgICAgICAgICAgICR2b25GYWxsYmFjayA9ICRmYWxzZQ0KICAgICAgICAgICAg +IyBTaGFyZS1GYWxsYmFjazogd2VubiBkaWUgRGF0ZWkgbG9rYWwgZmVobHQgKHouQi4geGxzeC5m +dWxsLm1pbi5qcw0KICAgICAgICAgICAgIyB3aXJkIGJld3Vzc3QgbmljaHQgaW4gZGVuIENsaWVu +dC1DYWNoZSBrb3BpZXJ0KSwgdmVyc3VjaGUgc2llDQogICAgICAgICAgICAjIHZvbSBrb25maWd1 +cmllcnRlbiBBc3NldEZhbGxiYWNrLVBmYWQgbmFjaHp1bGFkZW4uDQogICAgICAgICAgICBpZiAo +KC1ub3QgJEZpbGVQYXRoIC1vciAtbm90IChUZXN0LVBhdGggLUxpdGVyYWxQYXRoICRGaWxlUGF0 +aCAtUGF0aFR5cGUgTGVhZikpIC1hbmQgJHNjcmlwdDpBc3NldEZhbGxiYWNrKSB7DQogICAgICAg +ICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrVHJ5ID0gSm9pbi1Q +YXRoICRzY3JpcHQ6QXNzZXRGYWxsYmFjayAkUmVsUGF0aA0KICAgICAgICAgICAgICAgICAgICAk +ZmFsbGJhY2tOb3JtID0gW1N5c3RlbS5JTy5QYXRoXTo6R2V0RnVsbFBhdGgoJGZhbGxiYWNrVHJ5 +KQ0KICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2tSb290Tm9ybSA9IFtTeXN0ZW0uSU8uUGF0 +aF06OkdldEZ1bGxQYXRoKCRzY3JpcHQ6QXNzZXRGYWxsYmFjaykNCiAgICAgICAgICAgICAgICAg +ICAgaWYgKCRmYWxsYmFja05vcm0uU3RhcnRzV2l0aCgkZmFsbGJhY2tSb290Tm9ybSwgW1N5c3Rl +bS5TdHJpbmdDb21wYXJpc29uXTo6T3JkaW5hbElnbm9yZUNhc2UpIC1hbmQNCiAgICAgICAgICAg +ICAgICAgICAgICAgIChUZXN0LVBhdGggLUxpdGVyYWxQYXRoICRmYWxsYmFja05vcm0gLVBhdGhU +eXBlIExlYWYpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkRmlsZVBhdGggPSAkZmFsbGJh +Y2tOb3JtDQogICAgICAgICAgICAgICAgICAgICAgICAkdm9uRmFsbGJhY2sgPSAkdHJ1ZQ0KICAg +ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSBjYXRjaCB7DQogICAgICAgICAg +ICAgICAgICAgIExvZy1BcGkgKCdGQUxMQkFDSy1GRUhMRVIgezB9OiB7MX0nIC1mICRSZWxQYXRo +LCAkXy5FeGNlcHRpb24uTWVzc2FnZSkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9 +DQogICAgICAgICAgICBpZiAoJEZpbGVQYXRoIC1hbmQgKFRlc3QtUGF0aCAtTGl0ZXJhbFBhdGgg +JEZpbGVQYXRoIC1QYXRoVHlwZSBMZWFmKSkgew0KICAgICAgICAgICAgICAgICRleHQgPSBbU3lz +dGVtLklPLlBhdGhdOjpHZXRFeHRlbnNpb24oJEZpbGVQYXRoKS5Ub0xvd2VyKCkNCiAgICAgICAg +ICAgICAgICAkbWltZSA9IGlmICgkTWltZVR5cGVzLkNvbnRhaW5zS2V5KCRleHQpKSB7ICRNaW1l +VHlwZXNbJGV4dF0gfSBlbHNlIHsgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScgfQ0KICAgICAg +ICAgICAgICAgICRjb250ZW50ID0gW1N5c3RlbS5JTy5GaWxlXTo6UmVhZEFsbEJ5dGVzKCRGaWxl +UGF0aCkNCiAgICAgICAgICAgICAgICAkUmVzcG9uc2UuU3RhdHVzQ29kZSA9IDIwMA0KICAgICAg +ICAgICAgICAgICRSZXNwb25zZS5Db250ZW50VHlwZSA9ICRtaW1lDQogICAgICAgICAgICAgICAg +QWRkLVNlY3VyaXR5SGVhZGVycyAkUmVzcG9uc2UNCiAgICAgICAgICAgICAgICAkUmVzcG9uc2Uu +Q29udGVudExlbmd0aDY0ID0gJGNvbnRlbnQuTGVuZ3RoDQogICAgICAgICAgICAgICAgJFJlc3Bv +bnNlLk91dHB1dFN0cmVhbS5Xcml0ZSgkY29udGVudCwgMCwgJGNvbnRlbnQuTGVuZ3RoKQ0KICAg +ICAgICAgICAgICAgICRSZXNwb25zZS5PdXRwdXRTdHJlYW0uQ2xvc2UoKQ0KICAgICAgICAgICAg +ICAgIGlmICgkdm9uRmFsbGJhY2spIHsgTG9nLUFwaSAoJ0ZJTEUgMjAwIHswfSAoRmFsbGJhY2ss +IHsxfSBCeXRlcyknIC1mICRSZWxQYXRoLCAkY29udGVudC5MZW5ndGgpIH0NCiAgICAgICAgICAg +IH0gZWxzZSB7DQogICAgICAgICAgICAgICAgTG9nLUFwaSAoJ0ZJTEUgNDA0IHswfSAod2VkZXIg +aW0gUm9vdCBub2NoIHVlYmVyIEFzc2V0RmFsbGJhY2sgZ2VmdW5kZW4pJyAtZiAkUmVsUGF0aCkN +CiAgICAgICAgICAgICAgICBTZW5kLUVycm9yICRSZXNwb25zZSAoIlVuYmVrYW5udGVyIEVuZHB1 +bmt0OiAkTWV0aG9kICRQYXRoIikgNDA0DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAg +ICAgY2F0Y2ggew0KICAgICAgICAgICAgTG9nLUFwaSAoJ0VYQ0VQVElPTiB7MH0gezF9OiB7Mn0n +IC1mICRNZXRob2QsICRQYXRoLCAkXy5FeGNlcHRpb24uTWVzc2FnZSkNCiAgICAgICAgICAgIHRy +eSB7IFNlbmQtRXJyb3IgJFJlc3BvbnNlICRfLkV4Y2VwdGlvbi5NZXNzYWdlIDUwMCB9IGNhdGNo +IHt9DQogICAgICAgIH0NCiAgICB9DQp9DQpjYXRjaCB7DQogICAgV3JpdGUtSG9zdCAoJ1NlcnZl +ci1GZWhsZXI6IHswfScgLWYgJF8uRXhjZXB0aW9uLk1lc3NhZ2UpDQogICAgTG9nLUFwaSAoJ01B +SU4tTE9PUCBFWENFUFRJT046IHswfScgLWYgJF8uRXhjZXB0aW9uLk1lc3NhZ2UpDQp9DQpmaW5h +bGx5IHsNCiAgICAkV2F0Y2hkb2dUaW1lci5TdG9wKCkNCiAgICBpZiAoJExpc3RlbmVyLklzTGlz +dGVuaW5nKSB7ICRMaXN0ZW5lci5TdG9wKCkgfQ0KICAgIExvZy1BcGkgJ1NIVVRET1dOJw0KICAg +IFdyaXRlLUhvc3QgJ1NlcnZlciBiZWVuZGV0LicNCn0NCg== +### FILE: stop.bat | 1307 +QGVjaG8gb2ZmDQpzZXRsb2NhbCBlbmFibGVkZWxheWVkZXhwYW5zaW9uDQpjaGNwIDY1MDAxID5u +dWwgMj4mMQ0KdGl0bGUgVkkzIERHTC1QbGFudW5nIC0gU3RvcA0KDQo6OiA9PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCjo6ICBWSTMg +REdMLVBsYW51bmcg4oCUIFN0b3AtU2tyaXB0DQo6Og0KOjogIEJlZW5kZXQgc2FlbXRsaWNoZSBQ +b3dlclNoZWxsLVByb3plc3NlLCBkaWUgc2VydmVyLnBzMQ0KOjogIGF1c2Z1ZWhyZW4uIE5vdHdl +bmRpZyB6LkIuIHdlbm4gUTpcX2FwcCB1bWJlbmFubnQvZ2Vsb2VzY2h0DQo6OiAgd2VyZGVuIHNv +bGwgdW5kIGVpbiBhbHRlciBTZXJ2ZXIgbm9jaCBEYXRlaS1IYW5kbGVzIGhhZWx0Lg0KOjogPT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +DQoNCmVjaG8uDQplY2hvICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PQ0KZWNobyAgIFZJMyBER0wtUGxhbnVuZyAtIFN0b3ANCmVjaG8gID09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQplY2hvLg0KDQpzZXQgIkJFRU5ERVQ9MCIN +CmZvciAvZiAidXNlYmFja3EgdG9rZW5zPSoiICUlUCBpbiAoYHBvd2Vyc2hlbGwgLU5vUHJvZmls +ZSAtQ29tbWFuZCAiR2V0LUNpbUluc3RhbmNlIFdpbjMyX1Byb2Nlc3MgLUVycm9yQWN0aW9uIFNp +bGVudGx5Q29udGludWUgfCBXaGVyZS1PYmplY3QgeyAoJF8uTmFtZSAtZXEgJ3Bvd2Vyc2hlbGwu +ZXhlJyAtb3IgJF8uTmFtZSAtZXEgJ3B3c2guZXhlJykgLWFuZCAkXy5Db21tYW5kTGluZSAtYW5k +ICRfLkNvbW1hbmRMaW5lIC1tYXRjaCAnc2VydmVyW1xcdy5dKlwucHMxJyB9IHwgU2VsZWN0LU9i +amVjdCAtRXhwYW5kUHJvcGVydHkgUHJvY2Vzc0lkImApIGRvICgNCiAgICBlY2hvICAgQmVlbmRl +IFBvd2VyU2hlbGwgUElEICUlUCBeKHNlcnZlci5wczFeKS4uLg0KICAgIHRhc2traWxsIC9QSUQg +JSVQIC9GID5udWwgMj4mMQ0KICAgIHNldCAvYSBCRUVOREVUPSFCRUVOREVUISsxDQopDQoNCmlm +ICIhQkVFTkRFVCEiPT0iMCIgKA0KICAgIGVjaG8gICBLZWluZSBsYXVmZW5kZW4gc2VydmVyLnBz +MS1Qcm96ZXNzZSBnZWZ1bmRlbi4NCikgZWxzZSAoDQogICAgZWNoby4NCiAgICBlY2hvICAgJUJF +RU5ERVQlIFByb3plc3NeKGVeKSBiZWVuZGV0LiBEYXRlaS1Mb2NrcyBzaW5kIGpldHp0IGZyZWku +DQopDQoNCmVjaG8uDQp0aW1lb3V0IC90IDMgL25vYnJlYWsgPm51bA0KZXhpdCAvYiAwDQo= +### FILE: style.css | 234532 +LyogPT09IFZJMyBER0wtUGxhbnVuZyDigJQgU3R5bGVzaGVldCAoRXhjZWwtdHJldWVzIExheW91 +dCkgPT09CiAgIFN0YW5kOiAyMDI2LTA1LTE0ICovCgoqLCAqOjpiZWZvcmUsICo6OmFmdGVyIHsg +Ym94LXNpemluZzogYm9yZGVyLWJveDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9CgovKiA9PT09 +PSBDU1MtVmFyaWFibGVuID09PT09ICovCjpyb290IHsKICAgIC8qIEdlZGVja3RlcywgcHJvZmVz +c2lvbmVsbGVzIEZhcmJzY2hlbWEgKi8KICAgIC0tYmctcHJpbWFyeTogIzJDM0U1MDsKICAgIC0t +YmctcHJpbWFyeS1kYXJrOiAjMjQzMzQyOwogICAgLS1iZy1ib2R5OiAjRjBGMUYzOwogICAgLS1i +Zy1jYXJkOiAjRkZGRkZGOwogICAgLS1iZy1jYXJkLWFsdDogI0Y1RjZGODsKICAgIC0tYmctdG9v +bGJhcjogI0U4RUFFRDsKICAgIC0tYmctaG92ZXI6ICNFOEVERjI7CiAgICAtLWJnLWFjdGl2ZTog +I0Q2REVFNjsKICAgIC0tYmctaW5wdXQ6ICNGRkZGRkY7CiAgICAtLWJnLXNpZGViYXI6ICNGMEYx +RjM7CiAgICAtLWJnLW5hdi1ob3ZlcjogI0RERTZFRjsgICAvKiBTaWRlYmFyLU5hdjogZXR3YXMg +ZGV1dGxpY2hlciBibGF1LWdldG9lbnRlciBIb3ZlciAqLwogICAgLS1iZy1uYXYtYWt0aXY6ICND +NkQzRTE7ICAgLyogU2lkZWJhci1OYXY6IGtsYXIgc2ljaHRiYXJlciBBa3Rpdi1adXN0YW5kICov +CgogICAgLS10ZXh0LXByaW1hcnk6ICMyQzNFNTA7CiAgICAtLXRleHQtc2Vjb25kYXJ5OiAjNUQ2 +RDdFOwogICAgLS10ZXh0LW11dGVkOiAjNjM2RTcyOyAgIC8qIEtvbnRyYXN0IDQuNjc6MSBhdWYg +LS1iZy1ib2R5ICh2b3JoZXIgIzk1QTVBNiA9IDIuMjU6MSwgV0NBRy1BQSB2ZXJmZWhsdCkgKi8K +ICAgIC0tdGV4dC1oZWFkaW5nOiAjMkMzRTUwOwogICAgLS10ZXh0LW9uLXByaW1hcnk6ICNFQ0Yw +RjE7CgogICAgLS1ib3JkZXItY29sb3I6ICNENUQ4REM7CiAgICAtLWJvcmRlci1saWdodDogI0U1 +RThFQjsKICAgIC0tYm9yZGVyLXN0cm9uZzogI0FFQjZCRjsKICAgIC8qIEVpZ2VuZSBHcmlkLUxp +bmllbmZhcmJlOiAtLWJvcmRlci1saWdodCAoI0U1RThFQikgd2FyIGF1ZiBsZWVyZW4gd2Vpc3Nl +bgogICAgICAgWmVsbGVuIHByYWt0aXNjaCB1bnNpY2h0YmFyICgiWmVsbGJlZ3Jlbnp1bmdzbGlu +aWVuIHdlaXNzL2R1cmNoc2ljaHRpZyIpLgogICAgICAgRGV1dGxpY2gga3JhZWZ0aWdlciAodGFi +ZWxsZW5rYWxrdWxhdGlvbnMtdHlwaXNjaGVzIEdyYXUpLCBkYW1pdCBkYXMKICAgICAgIFJhc3Rl +ciBhdWNoIGF1ZiByZWluIHdlaXNzZW4gWmVsbGVuIG9obmUgU3BhbHRlbi1UaW50IGtsYXIgZXJr +ZW5uYmFyCiAgICAgICBibGVpYnQg4oCUIGVnYWwgYW4gd2VsY2hlciBTdGVsbGUgZGVyIFRhZmVs +LiAqLwogICAgLS1ncmlkLWxpbmllOiAjQkZDOEQ0OwogICAgLS1zaGFkb3ctbGlnaHQ6IHJnYmEo +MCwwLDAsMC4wNCk7CiAgICAtLXNoYWRvdy1tZWRpdW06IHJnYmEoMCwwLDAsMC4xMCk7CiAgICAt +LXNoYWRvdy1tb2RhbDogMCA4cHggMzJweCByZ2JhKDAsMCwwLDAuMjApOwogICAgLS10cmFuc2l0 +aW9uLXN0ZDogYWxsIDAuMTVzIGVhc2U7CgogICAgLyogR3JpZC1EaW1lbnNpb25lbiDigJQga29t +cGFrdCB3aWUgRXhjZWwgKi8KICAgIC0temVsbGUtYnJlaXRlOiA2MnB4OwogICAgLS16ZWxsZS1o +b2VoZTogMjJweDsKICAgIC0tbmFtZW4tYnJlaXRlOiAyNjBweDsKICAgIC0ta29wZi16ZWlsZW4t +aG9laGU6IDIwcHg7CgogICAgLS10YWctbm9ybWFsOiAjRkZGRkZGOwogICAgLS10YWctd29jaGVu +ZW5kZTogI0VERjJGODsgICAgIC8qIHNlaHIgaGVsbGVzIEJsYXUsIHJ1aGlnIChNaS1Lby1GZWVk +YmFjazoga2VpbiBMaWxhKSAqLwogICAgLS10YWctZmVpZXJ0YWc6ICNEN0U0RjA7ICAgICAgIC8q +IGV0d2FzIGtyYWVmdGlnZXJlcyBCbGF1LCBoZWJ0IHNpY2ggdm9tIFdFIGFiICovCiAgICAtLXRh +Zy1mZXJpZW46ICNFOEY1RUM7CiAgICAtLXRhZy1oZXV0ZTogIzJDM0U1MDsKICAgIC0tdGFnLXNv +bmRlcjogI0ZGRjlFNjsKCiAgICAvKiBHZWRlY2t0ZSBTY2hpY2h0ZmFyYmVuICovCiAgICAtLWZh +cmJlLWZydWVoOiAjQjcxQzFDOwogICAgLS1mYXJiZS1zcGFldDogIzFBNTI3NjsKICAgIC0tZmFy +YmUtbmFjaHQ6ICMxQjVFMjA7CiAgICAtLWZhcmJlLWVyZm9sZzogIzI3ODk2RDsKICAgIC0tZmFy +YmUtZmVobGVyOiAjQjAzQTJFOwogICAgLS1mYXJiZS13YXJudW5nOiAjQ0E2RjFFOwogICAgLS1m +YXJiZS1pbmZvOiAjMkMzRTUwOwogICAgLS1mYXJiZS1ha3plbnQ6ICM0YTkwZTI7CgogICAgLyog +QnJhbmQtUHJpbWFlciAod2FyIHZvcmhlciBpbXBsaXppdCB1ZWJlciAtLXRleHQtaGVhZGluZzsK +ICAgICAgIHdpcmQgYW4gdmllbGVuIFN0ZWxsZW4gZGlyZWt0IHJlZmVyZW56aWVydCwgamV0enQg +c2F1YmVyIGRlZmluaWVydCkgKi8KICAgIC0tZmFyYmUtcHJpbWFlcjogdmFyKC0tdGV4dC1oZWFk +aW5nKTsKICAgIC0tZmFyYmUtcHJpbWFlci1ob3ZlcjogIzE0MzA0YTsKCiAgICAvKiBWZXJhbnR3 +b3J0bGljaC1NYXJrZXIg4oCUIHRoZW1lLWZlc3Qgc3RhdHQgaGFyZGNvZGVkIEdvbGQgKCNGMUM0 +MEYpICovCiAgICAtLWZhcmJlLXZlcmFudHdvcnRsaWNoOiB2YXIoLS1mYXJiZS13YXJudW5nKTsK +CiAgICAvKiBTcGFjaW5nLVNrYWxhIChzdGF0dCBIYXJkY29kZS1QaXhlbCB1ZWJlcmFsbCkgKi8K +ICAgIC0tc3AtMTogNHB4OwogICAgLS1zcC0yOiA4cHg7CiAgICAtLXNwLTM6IDEycHg7CiAgICAt +LXNwLTQ6IDE2cHg7CiAgICAtLXNwLTU6IDI0cHg7CiAgICAtLXNwLTY6IDMycHg7CiAgICAtLXNw +LTc6IDQ4cHg7CgogICAgLyogQm9yZGVyLVJhZGl1cy1Ta2FsYSAoVVgtQXVkaXQgU3ByaW50IDMu +MSwgMjAyNi0wNS0yOSkuCiAgICAgICBWb3JoZXI6IDQ3IHZlcnNjaGllZGVuZSBIZXgtV2VydGUg +ZnVlciBib3JkZXItcmFkaXVzIGltIENTUywKICAgICAgIGNoYW90aXNjaGVyIE1peCBhdXMgMy80 +LzYvOC8xMC8xMnB4LiBKZXR6dCB2aWVyIHplbnRyYWxlCiAgICAgICBWYXJpYWJsZW4sIGRpZSBl +aW4ga29uc2lzdGVudGVyIFJlZmFjdG9yIHVlYmVyIGRpZSBoYWV1Zmlnc3RlbgogICAgICAgU3Rl +bGxlbiAoMy80LzYvMTBweCA9IH4xNDMgVHJlZmZlcikgYWJiaWxkZXQuICovCiAgICAtLXJhZGl1 +cy14czogM3B4OyAgIC8qIGtsZWluZSBJbnB1dHMsIGtvbXBha3RlIEJhZGdlcyAqLwogICAgLS1y +YWRpdXMtc206IDRweDsgICAvKiBTdGFuZGFyZC1CdXR0b25zLCBub3JtYWxlIEthcnRlbiAqLwog +ICAgLS1yYWRpdXMtbWQ6IDZweDsgICAvKiBCYW5uZXIsIGdyb2Vzc2VyZSBDYXJkcyAqLwogICAg +LS1yYWRpdXMtbGc6IDEwcHg7ICAvKiBNb2RhbCwgVG9wLUxldmVsLUNvbnRhaW5lciAqLwoKICAg +IC8qIEZvbnQtU2l6ZS1Ta2FsYSAoVVgtQXVkaXQgU3ByaW50IDMuMykuIEJpc2hlciA4LTIwcHgg +dmVyc3RyZXV0LiAqLwogICAgLS1mcy14czogMTBweDsKICAgIC0tZnMtc206IDExcHg7CiAgICAt +LWZzLWJhc2U6IDEycHg7CiAgICAtLWZzLW1kOiAxM3B4OwogICAgLS1mcy1sZzogMTRweDsKICAg +IC0tZnMteGw6IDE2cHg7CiAgICAtLWZzLTJ4bDogMjBweDsKCiAgICAvKiBaLUluZGV4LUViZW5l +biAoc3RhdHQgMTAwIC8gMjAwIC8gMTAwMCAvIDk5OTkgaGFyZGNvZGVkKS4KICAgICAgIFdpY2h0 +aWc6IFBhZ2UtUG9wb3ZlciBsaWVndCBVTlRFUiBkZW0gTW9kYWwsIE1vZGFsLVBvcG92ZXIgKHou +Qi4KICAgICAgIERyb3Bkb3ducyBpbiBNb2RhbGVuKSBEQVJVRUJFUi4gVG9hc3QgaW1tZXIgb2Jl +biBkcmF1Zi4gKi8KICAgIC0tei1iYXNlOiAxOwogICAgLS16LXN0aWNreTogNTsKICAgIC0tei1u +YXY6IDEwOwogICAgLS16LW92ZXJsYXk6IDEwMDsKICAgIC0tei1lZGl0b3I6IDIwMDsKICAgIC0t +ei1wb3BvdmVyLXBhZ2U6IDk5OTk7CiAgICAtLXotbW9kYWw6IDEwMDAwOwogICAgLS16LXBvcG92 +ZXI6IDEwMTAwOwogICAgLS16LXRvYXN0OiAyMDAwMDsKCiAgICAvKiBTdGF0dXMtQmFubmVyIChS +ZWFkLW9ubHktSGlud2VpcywgT25ib2FyZGluZy1FbXB0eS1TdGF0ZSwgSW5saW5lLUluZm8pICov +CiAgICAtLWJhbm5lci1pbmZvLWJnOiAjRTNFRUY3OwogICAgLS1iYW5uZXItaW5mby1ib3JkZXI6 +IHZhcigtLWZhcmJlLWFremVudCk7CiAgICAtLWJhbm5lci1pbmZvLXRleHQ6IHZhcigtLXRleHQt +aGVhZGluZyk7CiAgICAtLWJhbm5lci13YXJuLWJnOiAjRkJFRUREOwogICAgLS1iYW5uZXItd2Fy +bi1ib3JkZXI6IHZhcigtLWZhcmJlLXdhcm51bmcpOwogICAgLS1iYW5uZXItd2Fybi10ZXh0OiAj +OEE0QTEyOwogICAgLS1iYW5uZXItZXJmb2xnLWJnOiAjRENFRkU3OwogICAgLS1iYW5uZXItZXJm +b2xnLWJvcmRlcjogdmFyKC0tZmFyYmUtZXJmb2xnKTsKICAgIC0tYmFubmVyLWVyZm9sZy10ZXh0 +OiAjMUE2MTQ5OwoKICAgIC8qIFN0YXRpc3Rpay1DaGFydC1QYWxldHRlIChVWC1BdWRpdCBTcHJp +bnQgMS4xLCAyMDI2LTA1LTI5KS4KICAgICAgIFRhZy1XZXJ0ZSBzaW5kIGRpZSBoaXN0b3Jpc2No +ZW4gSGV4IGF1cyBzdGF0aXN0aWsuanM7IE5pZ2h0LVdlcnRlCiAgICAgICBpbiBbZGF0YS10aGVt +ZT0ibmlnaHQiXSBzb3JnZW4gZsO8ciBsZXNiYXJlIEJhbGtlbiBhdWYgZHVua2xlbSBHcnVuZC4g +Ki8KICAgIC0tc3RhdC1zZDogI0Q2ODkxMDsKICAgIC0tc3RhdC1zYW1zdGFnOiAjOEU0NEFEOwog +ICAgLS1zdGF0LXNvbm50YWc6ICM2QzM0ODM7CiAgICAtLXN0YXQtZmVpZXJ0YWc6ICM5MjJCMjE7 +CiAgICAtLXN0YXQta29tcGxldHRlLXdlOiAjNUIyQzZGOwogICAgLS1zdGF0LWZvcnRiaWxkdW5n +LTE6ICMxRjYxOEQ7CiAgICAtLXN0YXQtZm9ydGJpbGR1bmctMjogIzI4NzRBNjsKICAgIC0tc3Rh +dC1mb3J0YmlsZHVuZy0zOiAjNTQ5OUM3OwogICAgLS1zdGF0LXVybGF1YjogIzVENkQ3RTsKICAg +IC0tc3RhdC1rdXI6ICMxMTdBNjU7CiAgICAtLXN0YXQtc29uZGVydXJsYXViOiAjN0I3RDdEOwp9 +CgpbZGF0YS10aGVtZT0ibmlnaHQiXSB7CiAgICAtLWJnLXByaW1hcnk6ICMxQTI1MkY7CiAgICAt +LWJnLXByaW1hcnktZGFyazogIzE0MUQyNTsKICAgIC0tYmctYm9keTogIzE1MUQyNTsKICAgIC0t +YmctY2FyZDogIzFDMjYzMDsKICAgIC0tYmctY2FyZC1hbHQ6ICMyMTMwM0Q7CiAgICAtLWJnLXRv +b2xiYXI6ICMyMTMwM0Q7CiAgICAtLWJnLWhvdmVyOiAjMjgzQTRBOwogICAgLS1iZy1hY3RpdmU6 +ICMyRjQ0NTg7CiAgICAtLWJnLWlucHV0OiAjMUMyNjMwOwogICAgLS1iZy1zaWRlYmFyOiAjMTgy +MjJDOwogICAgLS1iZy1uYXYtaG92ZXI6ICMyNjM4NEE7CiAgICAtLWJnLW5hdi1ha3RpdjogIzM3 +NTE3MDsKCiAgICAtLXRleHQtcHJpbWFyeTogI0Q1RERFNTsKICAgIC0tdGV4dC1zZWNvbmRhcnk6 +ICM4ODk5QTY7CiAgICAtLXRleHQtbXV0ZWQ6ICM3QzhDOUE7ICAgLyogS29udHJhc3QgfjU6MSBh +dWYgRGFyay1Cb2R5ICh2b3JoZXIgIzVBNkE3OCA9IH4zOjEsIEFBLWdyZW56d2VydGlnKSAqLwog +ICAgLS10ZXh0LWhlYWRpbmc6ICNBOEM0RDg7CiAgICAtLXRleHQtb24tcHJpbWFyeTogI0Q1RERF +NTsKCiAgICAtLWJvcmRlci1jb2xvcjogIzI4M0E0QTsKICAgIC0tYm9yZGVyLWxpZ2h0OiAjMjIz +MDQwOwogICAgLS1ib3JkZXItc3Ryb25nOiAjM0E0RTYwOwogICAgLS1ncmlkLWxpbmllOiAjMzg1 +MDZBOwogICAgLS1zaGFkb3ctbGlnaHQ6IHJnYmEoMCwwLDAsMC4xNSk7CiAgICAtLXNoYWRvdy1t +ZWRpdW06IHJnYmEoMCwwLDAsMC4zMCk7CiAgICAtLXNoYWRvdy1tb2RhbDogMCA4cHggMzJweCBy +Z2JhKDAsMCwwLDAuNDUpOwoKICAgIC0tdGFnLW5vcm1hbDogIzFDMjYzMDsKICAgIC0tdGFnLXdv +Y2hlbmVuZGU6ICMxRjJBMzg7CiAgICAtLXRhZy1mZWllcnRhZzogIzI1MzU0NzsKICAgIC0tdGFn +LWZlcmllbjogIzFDMkUyMjsKICAgIC0tdGFnLXNvbmRlcjogIzJFMkExODsKCiAgICAvKiBCcmFu +ZC1QcmltYWVyIChEYXJrKTogaGVsbGVyIGZ1ZXIgSG92ZXItU2ljaHRiYXJrZWl0ICovCiAgICAt +LWZhcmJlLXByaW1hZXItaG92ZXI6ICNDNkRCRTk7CgogICAgLyogQmFubmVyIChEYXJrKTogZ2Vk +ZWNrdGUgRnVlbGxmYXJiZW4sIGtsYXJlIEFremVudGJvcmTDvHJlICovCiAgICAtLWJhbm5lci1p +bmZvLWJnOiAjMUYyRDNEOwogICAgLS1iYW5uZXItaW5mby10ZXh0OiAjQzZEQkU5OwogICAgLS1i +YW5uZXItd2Fybi1iZzogIzJFMjQxMjsKICAgIC0tYmFubmVyLXdhcm4tdGV4dDogI0U1Qjg3MjsK +ICAgIC0tYmFubmVyLWVyZm9sZy1iZzogIzE2MzAyQTsKICAgIC0tYmFubmVyLWVyZm9sZy10ZXh0 +OiAjODhDQ0FFOwoKICAgIC8qIFN0YXRpc3Rpay1DaGFydC1QYWxldHRlIChEYXJrKTogYXVmZ2Vo +ZWxsdGUgVMO2bmUgZGFtaXQgQmFsa2VuCiAgICAgICBhdWYgZHVua2xlbSBCb2R5IHNpY2h0YmFy +IGJsZWliZW4uIEtvbnRyYXN0IH40LjU6MSB6dW0gYmctY2FyZC4gKi8KICAgIC0tc3RhdC1zZDog +I0Y0QTY0MTsKICAgIC0tc3RhdC1zYW1zdGFnOiAjQjQ3Q0QwOwogICAgLS1zdGF0LXNvbm50YWc6 +ICM5RTYzQkQ7CiAgICAtLXN0YXQtZmVpZXJ0YWc6ICNEODcwNjc7CiAgICAtLXN0YXQta29tcGxl +dHRlLXdlOiAjOUI2NUI1OwogICAgLS1zdGF0LWZvcnRiaWxkdW5nLTE6ICM1QjlCQzk7CiAgICAt +LXN0YXQtZm9ydGJpbGR1bmctMjogIzZGQUFEODsKICAgIC0tc3RhdC1mb3J0YmlsZHVuZy0zOiAj +ODZCRkUwOwogICAgLS1zdGF0LXVybGF1YjogIzk1QTRCMDsKICAgIC0tc3RhdC1rdXI6ICMzRkJB +OUM7CiAgICAtLXN0YXQtc29uZGVydXJsYXViOiAjQThBQUFBOwp9CgpodG1sLCBib2R5IHsKICAg +IGhlaWdodDogMTAwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBmb250LWZhbWlseTogIlNl +Z29lIFVJIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBSb2JvdG8sICJIZWx2 +ZXRpY2EgTmV1ZSIsIEFyaWFsLCBzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1i +YXNlKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5 +KTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWJvZHkpOwp9CgovKiA9PT09PSBIZWFkZXIgPT09 +PT0gKi8KI2tvcGZsZWlzdGUgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBj +ZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICBiYWNrZ3JvdW5k +OiB2YXIoLS1iZy1wcmltYXJ5KTsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LW9uLXByaW1hcnkpOwog +ICAgcGFkZGluZzogMCAyMHB4OwogICAgaGVpZ2h0OiA0MHB4OwogICAgYm94LXNoYWRvdzogMCAy +cHggOHB4IHJnYmEoMCwwLDAsMC4xNSk7CiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdmFy +KC0tYm9yZGVyLWNvbG9yKTsKICAgIHotaW5kZXg6IHZhcigtLXotb3ZlcmxheSk7CiAgICBwb3Np +dGlvbjogcmVsYXRpdmU7Cn0KCiNrb3BmbGVpc3RlIGgxIHsgZm9udC1zaXplOiB2YXIoLS1mcy1s +Zyk7IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAtMC4zcHg7IGRpc3BsYXk6IGZs +ZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0KLmhlYWRlci1sb2dvIHsgaGVpZ2h0OiAzMHB4OyB3 +aWR0aDogYXV0bzsgbWFyZ2luLXJpZ2h0OiAxMHB4OyBmbGV4OiBub25lOyB9Ci5oZWFkZXItamFo +ciB7IGZvbnQtd2VpZ2h0OiA0MDA7IG9wYWNpdHk6IDAuNzsgbWFyZ2luLWxlZnQ6IDhweDsgfQoK +LmhlYWRlci1uYXYgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDJweDsgfQoubmF2LWJ0biB7CiAgICBi +YWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNik7 +CiAgICBib3JkZXI6IG5vbmU7CiAgICBwYWRkaW5nOiA2cHggMTRweDsKICAgIGJvcmRlci1yYWRp +dXM6IHZhcigtLXJhZGl1cy1zbSkgNHB4IDAgMDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGZv +bnQtc2l6ZTogdmFyKC0tZnMtYmFzZSk7CiAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgIGZv +bnQtd2VpZ2h0OiA1MDA7CiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLXN0ZCk7Cn0K +Lm5hdi1idG46aG92ZXIgeyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1 +NSwwLjA4KTsgfQoubmF2LWJ0bi5ha3RpdiB7IGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kOiByZ2Jh +KDI1NSwyNTUsMjU1LDAuMTUpOyBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjsgfQovKiBQ +cnVlZnVuZ3MtVGFiIFN0YXR1cy1GYWVyYnVuZyDigJQgVW50ZXJiZXNldHp1bmdzLVZvcndhcm51 +bmcgKi8KLm5hdi1idG4uYmstdGFiLWRlZml6aXQtMncgewogICAgY29sb3I6ICNmZmY7CiAgICBi +YWNrZ3JvdW5kOiByZ2JhKDE3Niw1OCw0NiwwLjU1KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAg +LTJweCAwICNCMDNBMkU7CiAgICBhbmltYXRpb246IGJrUHVscyAyLjRzIGVhc2UtaW4tb3V0IGlu +ZmluaXRlOwp9Ci5uYXYtYnRuLmJrLXRhYi1kZWZpeml0LTJ3OmhvdmVyIHsgYmFja2dyb3VuZDog +cmdiYSgxNzYsNTgsNDYsMC43KTsgfQoubmF2LWJ0bi5iay10YWItZGVmaXppdC00dyB7CiAgICBj +b2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjAyLDExMSwzMCwwLjQ1KTsKICAgIGJv +eC1zaGFkb3c6IGluc2V0IDAgLTJweCAwICNDQTZGMUU7Cn0KLm5hdi1idG4uYmstdGFiLWRlZml6 +aXQtNHc6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDIwMiwxMTEsMzAsMC42KTsgfQpAa2V5ZnJh +bWVzIGJrUHVscyB7IDAlLDEwMCUgeyBib3gtc2hhZG93OiBpbnNldCAwIC0ycHggMCAjQjAzQTJF +OyB9IDUwJSB7IGJveC1zaGFkb3c6IGluc2V0IDAgLTJweCAwICNmZjZiNWUsIDAgMCA4cHggcmdi +YSgxNzYsNTgsNDYsMC42KTsgfSB9CgouaGVhZGVyLXJlY2h0cyB7IGRpc3BsYXk6IGZsZXg7IGFs +aWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTJweDsgfQouYmVudXR6ZXItYmFkZ2UgeyBmb250LXNp +emU6IHZhcigtLWZzLXNtKTsgb3BhY2l0eTogMC43OyB9Ci5pY29uLWJ0biB7CiAgICBiYWNrZ3Jv +dW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KTsgYm9yZGVyOiAx +cHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjIpOwogICAgcGFkZGluZzogM3B4IDEwcHg7IGJv +cmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7IGN1cnNvcjogcG9pbnRlcjsgZm9udC1zaXpl +OiB2YXIoLS1mcy1zbSk7IGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgdHJhbnNpdGlvbjogdmFy +KC0tdHJhbnNpdGlvbi1zdGQpOwp9Ci5pY29uLWJ0bjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEo +MjU1LDI1NSwyNTUsMC4xKTsgY29sb3I6ICNmZmY7IH0KCi8qIEJ1Z1JlcG9ydC1CdXR0b246IGRl +dXRsaWNoZXIgYWxzIEluZm8sIG1pdCByb3RlbSBHbMO8aGVuIGJlaW0gSG92ZXIuICovCi5idWdy +ZXBvcnQtYnRuIHsKICAgIGNvbG9yOiAjZmZjNGJjOwogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE3 +Niw1OCw0NiwwLjY1KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsZXR0ZXItc3BhY2luZzog +MC4zcHg7Cn0KLmJ1Z3JlcG9ydC1idG46aG92ZXIgewogICAgYmFja2dyb3VuZDogdmFyKC0tZmFy +YmUtZmVobGVyLCAjQjAzQTJFKTsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZmFyYmUtZmVobGVy +LCAjQjAzQTJFKTsKICAgIGNvbG9yOiAjZmZmOwogICAgYm94LXNoYWRvdzogMCAwIDEwcHggMXB4 +IHZhcigtLWZhcmJlLWZlaGxlciwgI0IwM0EyRSksIDAgMCAyMHB4IHJnYmEoMTc2LDU4LDQ2LDAu +NTUpOwp9CgovKiA9PT09PSBBbnNpY2h0ZW4gPT09PT0gKi8KLmFuc2ljaHQgeyBoZWlnaHQ6IGNh +bGMoMTAwdmggLSA0MHB4KTsgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogZmxleDsgZmxleC1k +aXJlY3Rpb246IGNvbHVtbjsgfQoudmVyc3RlY2t0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50 +OyB9CgovKiA9PT09PSBUb29sYmFyIChQbGFudW5nKSA9PT09PSAqLwojcGxhbnVuZy10b29sYmFy +IHsKICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OwogICAg +cGFkZGluZzogNHB4IDEycHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy10b29sYmFyKTsKICAg +IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpOwogICAgaGVpZ2h0 +OiAzMHB4Owp9Ci50b29sYmFyLWJ0biB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsg +Y29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1i +b3JkZXItc3Ryb25nKTsgcGFkZGluZzogMnB4IDEwcHg7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJh +ZGl1cy14cyk7CiAgICBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOyBm +b250LWZhbWlseTogaW5oZXJpdDsgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1zdGQpOwp9 +Ci50b29sYmFyLWJ0bjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWJnLWhvdmVyKTsgYm9yZGVy +LWNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOyB9Ci50b29sYmFyLXRyZW5uZXIgeyB3aWR0aDog +MXB4OyBoZWlnaHQ6IDE2cHg7IGJhY2tncm91bmQ6IHZhcigtLWJvcmRlci1jb2xvcik7IG1hcmdp +bjogMCA0cHg7IH0KLnRvb2xiYXItaW5mbyB7IGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOyBjb2xv +cjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOyB9Ci50b29sYmFyLWNoZWNrIHsKICAgIGRpc3BsYXk6 +IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDRweDsKICAgIGZvbnQtc2l6 +ZTogdmFyKC0tZnMtc20pOyBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOyBjdXJzb3I6IHBv +aW50ZXI7CiAgICBwYWRkaW5nOiAycHggNnB4OyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMt +eHMpOwp9Ci50b29sYmFyLWNoZWNrOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIp +OyB9Ci50b29sYmFyLWNoZWNrIGlucHV0IHsgY3Vyc29yOiBwb2ludGVyOyB9CgovKiBVbWdlc2V0 +enRlIFBlcnNvbmVuIChudXIgenVyIFJlY2hlcmNoZSBlaW5nZWJsZW5kZXQpICovCi5uYW1lbi16 +ZWlsZS11bWdlc2V0enQgeyBvcGFjaXR5OiAwLjQ1OyBmb250LXN0eWxlOiBpdGFsaWM7IH0KLm5h +bWVuLXplaWxlLXVtZ2VzZXR6dCAubnotbmFtZSB7IHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJv +dWdoOyB9Ci5ncmlkLXplaWxlLXVtZ2VzZXR6dCB7IG9wYWNpdHk6IDAuNDU7IH0KLmdyaWQtemVp +bGUtdW1nZXNldHp0IC5ncmlkLXplbGxlIHsgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50 +OyB9Ci56ZWlsZS11bWdlc2V0enQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7IG9wYWNp +dHk6IDAuNzsgfQovKiBDaGVycnktUGljayAzMDA5ZWE4OiBQYXBpZXJrb3JiLVplaWxlbiBrbGFy +IGFiZ2VzZXR6dCByb3Qg4oCUIHZpc3VlbGwgdm9tCiAgICJVbWdlc2V0enQiIChTdGF0dXMgbmlj +aHQgbWVociBha3RpdikgdW50ZXJzY2hlaWRiYXIsIHdlaWwgaGllciBkaWUgUGVyc29uCiAgIGlu +IEF1ZmxvZXN1bmcgaXN0IHVuZCBuYWNoIEF1ZmJld2FocnVuZ3MtRnJpc3QgaGFydCBnZWxvZXNj +aHQgd2lyZC4gKi8KLnplaWxlLXBhcGllcmtvcmIgewogICAgYmFja2dyb3VuZDogcmdiYSgxNzYs +IDU4LCA0NiwgMC4wOCk7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOwp9Ci56ZWls +ZS1wYXBpZXJrb3JiOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMTc2LCA1OCwgNDYsIDAu +MTQpOwp9Ci56ZWlsZS11bWdlc2V0enQgdGQgeyBmb250LXN0eWxlOiBpdGFsaWM7IH0KCi8qID09 +PT09IFBsYW51bmdzLUNvbnRhaW5lciAoRXhjZWwtTGF5b3V0KSA9PT09PSAqLwojcGxhbnVuZy1j +b250YWluZXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXg6IDE7CiAgICBvdmVyZmxvdzog +aGlkZGVuOwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7Cn0KCi8qID09PT09IEZpeGll +cnRlIGxpbmtlIFNwYWx0ZSA9PT09PSAqLwojbmFtZW4tc3BhbHRlIHsKICAgIHdpZHRoOiB2YXIo +LS1uYW1lbi1icmVpdGUpOwogICAgbWluLXdpZHRoOiB2YXIoLS1uYW1lbi1icmVpdGUpOwogICAg +Ym9yZGVyLXJpZ2h0OiAycHggc29saWQgdmFyKC0tYm9yZGVyLXN0cm9uZyk7CiAgICBkaXNwbGF5 +OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGJhY2tncm91bmQ6IHZhcigt +LWJnLWNhcmQpOwogICAgei1pbmRleDogMTA7Cn0KCi8qIEtvcGZiZXJlaWNoIGxpbmtzICovCiNr +b3BmLWxpbmtzIHsKICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1ib3JkZXItc3Ry +b25nKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0KTsKfQoKLmtvcGYtemVpbGUg +ewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBoZWlnaHQ6 +IHZhcigtLWtvcGYtemVpbGVuLWhvZWhlKTsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2 +YXIoLS1ib3JkZXItbGlnaHQpOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy14cyk7CiAgICBwYWRk +aW5nOiAwIDZweDsKfQoKLmt6LWRhdHVtLCAua3otd29jaGVudGFnLCAua3otYW5sYXNzIHsKICAg +IGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpOwogICAgY29sb3I6IHZhcigtLXRleHQtb24t +cHJpbWFyeSk7Cn0KLyogSGVpZ2h0cyBtdWVzc2VuIDE6MSB6dSBkZW4gRGF0ZW4tWmVpbGVuIHJl +Y2h0cyBwYXNzZW4gKi8KLmt6LWFubGFzcyAgeyBoZWlnaHQ6IDMycHg7IH0gICAvKiA9ICNkYXR1 +bS16ZWlsZS1hbmxhc3MgLmtkLXplbGxlIChNYWkgMjAyNjogRXZlbnRzIG1pdCBkcmluKSAqLwoK +LyogSGV1dGUtQmFubmVyIHVlYmVyZGVja3QgZGllIG9iZXJlbiBkcmVpIFBsYXR6aGFsdGVyCiAg +IChrei1kYXR1bSArIGt6LXdvY2hlbnRhZyArIGt6LWFubGFzcykgPSAyMCArIDIwICsgMzggPSA3 +OHB4LiAqLwoja29wZi1saW5rcyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfQoja2wtaGV1dGUtYmFu +bmVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAg +ICByaWdodDogMDsKICAgIGhlaWdodDogY2FsYyh2YXIoLS1rb3BmLXplaWxlbi1ob2VoZSkgKiAy +ICsgMzJweCk7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTsKICAgIGNvbG9yOiB2 +YXIoLS10ZXh0LW9uLXByaW1hcnkpOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1z +OiBjZW50ZXI7CiAgICBnYXA6IDhweDsKICAgIHBhZGRpbmc6IDAgMTJweDsKICAgIHotaW5kZXg6 +IDI7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCByZ2JhKDI1NSwyNTUsMjU1LDAuMDYp +Owp9Ci5rbC1oZXV0ZS1idXR0b24gewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSww +LjE0KTsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LW9uLXByaW1hcnkpOwogICAgYm9yZGVyOiAxcHgg +c29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMyKTsKICAgIHBhZGRpbmc6IDZweCAxNnB4OwogICAg +Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0 +OwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNlKTsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAg +ICBsZXR0ZXItc3BhY2luZzogMC40cHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0cmFuc2l0 +aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCB0cmFu +c2Zvcm0gMC4xcyBlYXNlOwp9Ci5rbC1oZXV0ZS1idXR0b246aG92ZXIgewogICAgYmFja2dyb3Vu +ZDogcmdiYSgyNTUsMjU1LDI1NSwwLjI2KTsKICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1 +LDI1NSwwLjU1KTsKfQoua2wtaGV1dGUtYnV0dG9uOmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kOiBy +Z2JhKDI1NSwyNTUsMjU1LDAuMzQpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7Cn0K +LmtsLWhldXRlLWluZm8gewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBj +b2x1bW47CiAgICBsaW5lLWhlaWdodDogMS4xNTsKICAgIG1pbi13aWR0aDogMDsKfQoua2wtaGV1 +dGUtZGF0dW0tdHh0IHsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtbWQpOwogICAgZm9udC13ZWln +aHQ6IDcwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDsKfQoua2wtaGV1dGUtd3RhZy10eHQg +ewogICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7CiAgICBmb250LXdlaWdodDogNTAwOwogICAg +b3BhY2l0eTogMC43ODsKICAgIG1hcmdpbi10b3A6IDFweDsKfQoKLmt6LXN0YWVya2UgewogICAg +YmFja2dyb3VuZDogIzM0NDk1RTsKICAgIGNvbG9yOiAjRUNGMEYxOwogICAgZm9udC13ZWlnaHQ6 +IDcwMDsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpOwp9Cgoua3otc2NoaWNodGZvbGdlIHsK +ICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0KTsKICAgIGNvbG9yOiB2YXIoLS10ZXh0 +LXNlY29uZGFyeSk7CiAgICBmb250LXNpemU6IHZhcigtLWZzLXhzKTsKfQoKLmt6LXNmLWVyc3Rl +IHsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3Ryb25nKTsKfQoKLmts +LWxhYmVsIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHdpZHRoOiA3MHB4OwogICAg +bWluLXdpZHRoOiA3MHB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGNvbG9yOiBpbmhlcml0 +OwogICAgb3BhY2l0eTogMC44Owp9Cgoua2wtd2VydCB7CiAgICBmbGV4OiAxOwogICAgb3ZlcmZs +b3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6 +IG5vd3JhcDsKfQoKLyogTmFtZW5saXN0ZSAqLwojbmFtZW4tbGlzdGUgewogICAgZmxleDogMTsK +ICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5uYW1lbi16ZWlsZSB7CiAgICBkaXNwbGF5OiBmbGV4 +OwogICAgaGVpZ2h0OiB2YXIoLS16ZWxsZS1ob2VoZSk7CiAgICBib3JkZXItYm90dG9tOiAxcHgg +c29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBm +b250LXNpemU6IHZhcigtLWZzLXNtKTsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xczsK +ICAgIHBhZGRpbmc6IDAgNHB4Owp9Ci5uYW1lbi16ZWlsZTpob3ZlciB7IGJhY2tncm91bmQ6IHZh +cigtLWJnLWhvdmVyKTsgfQoKLyogR3J1cHBlbnRyZW5uemVpbGUgKi8KLm5hbWVuLXRyZW5uZXIg +ewogICAgZGlzcGxheTogZmxleDsKICAgIGhlaWdodDogMThweDsKICAgIGFsaWduLWl0ZW1zOiBj +ZW50ZXI7CiAgICBmb250LXNpemU6IDlweDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICB0ZXh0 +LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgY29s +b3I6IHZhcigtLXRleHQtbXV0ZWQpOwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1hbHQp +OwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7CiAgICBi +b3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTsKICAgIHBhZGRpbmc6IDAg +NnB4Owp9CgoubnotbmFtZSB7CiAgICB3aWR0aDogMTEwcHg7CiAgICBtaW4td2lkdGg6IDExMHB4 +OwogICAgcGFkZGluZzogMCA0cHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgZGlzcGxheTog +ZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDZweDsKfQoubnotbmFtZS10 +ZXh0IHsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsK +ICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBtaW4td2lkdGg6IDA7CiAgICBmbGV4OiAxOwp9 +Ci5uei1vZSB7CiAgICB3aWR0aDogMjhweDsKICAgIG1pbi13aWR0aDogMjhweDsKICAgIHRleHQt +YWxpZ246IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogOXB4OwogICAgY29sb3I6IHZhcigtLXRleHQt +c2Vjb25kYXJ5KTsKfQoubnotZ3J1cHBlIHsKICAgIHdpZHRoOiAxNnB4OwogICAgbWluLXdpZHRo +OiAxNnB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgZm9udC1zaXplOiA5cHg7CiAgICBm +b250LXdlaWdodDogNzAwOwp9Ci5uei1kbnIgewogICAgd2lkdGg6IDM4cHg7CiAgICBtaW4td2lk +dGg6IDM4cHg7CiAgICBmb250LXNpemU6IDlweDsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVk +KTsKICAgIHBhZGRpbmc6IDAgNHB4OwogICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICBvdmVyZmxv +dzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICB3aGl0ZS1zcGFjZTog +bm93cmFwOwp9Ci5uei1yYW5nIHsKICAgIGZsZXg6IDE7CiAgICBmb250LXNpemU6IDlweDsKICAg +IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKICAgIHBhZGRpbmc6IDAgNHB4OwogICAgdGV4dC1h +bGlnbjogcmlnaHQ7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsK +ICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoK +LyogR3J1cHBlbi1CYWRnZSAoQWRtaW4tVGFiZWxsZSkgKi8KLmdydXBwZW4tYmFkZ2UgewogICAg +ZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOiAxcHggOHB4OyBib3JkZXItcmFkaXVzOiB2 +YXIoLS1yYWRpdXMteHMpOyBmb250LXNpemU6IHZhcigtLWZzLXhzKTsgZm9udC13ZWlnaHQ6IDYw +MDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDsKfQoKLyogRGllbnN0Z3J1cHBlbi1UYWJlbGxl +OiBaZWlsZSBlaW5lciBhdXNnZWJsZW5kZXRlbiBHcnVwcGUgKGluUGxhbnVuZz1mYWxzZSkKICAg +d2lyZCBsZWljaHQgYXVzZ2VncmF1dCwgZGFtaXQgYXVmIGVpbmVuIEJsaWNrIGtsYXIgaXN0LCBk +YXNzIGRpZXNlIEdydXBwZQogICBha3R1ZWxsIG5pY2h0IGluIGRlciBQbGFudGFmZWwvV29jaGVu +cGxhbi9QZXJzLlBsYW4gZXJzY2hlaW50LiAqLwouZ3J1cHBlLXplaWxlLXZlcnN0ZWNrdCB7IG9w +YWNpdHk6IDAuNjU7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0KTsgfQouZ3J1cHBlLWlu +cGxhbnVuZy1sYWJlbCB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVy +OyBjdXJzb3I6IHBvaW50ZXI7IH0KLmdydXBwZS1pbnBsYW51bmctaW5wdXQgeyBjdXJzb3I6IHBv +aW50ZXI7IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7IH0KCi8qIEdydXBwZW4tRmFyYmNvZGVz +ICovCi5nci1BIHsgY29sb3I6ICNCNzFDMUM7IH0KLmdyLUIgeyBjb2xvcjogIzFBNTI3NjsgfQou +Z3ItQyB7IGNvbG9yOiAjMUI1RTIwOyB9Ci5nci1LIHsgY29sb3I6ICM4RDZFMjg7IH0KLmdyLUwg +eyBjb2xvcjogIzU0NkU3QTsgfQoKLyogPT09PT0gU2Nyb2xsYmFyZXIgcmVjaHRlciBCZXJlaWNo +ID09PT09ICovCiNncmlkLXNjcm9sbC1jb250YWluZXIgewogICAgZmxleDogMTsKICAgIG92ZXJm +bG93OiBhdXRvOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgovKiBLb3BmYmVyZWljaCByZWNo +dHMgKHN0aWNreSkgKi8KI2tvcGYtcmVjaHRzIHsKICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICB0 +b3A6IDA7CiAgICB6LWluZGV4OiA1OwogICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigt +LWJvcmRlci1zdHJvbmcpOwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7Cn0KCi5rb3Bm +LWRhdGVuLXplaWxlIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBoZWlnaHQ6IHZhcigtLWtvcGYt +emVpbGVuLWhvZWhlKTsKfQovKiBFaW56ZWxuZSBaZWlsZW4gYnJhdWNoZW4gZWlnZW5lIEhvZWhl +biwgZGFtaXQgZGllIC5rZC16ZWxsZS1LaW5kZXIgbmljaHQKICAgbnVyIHZpc3VlbGwgdWViZXJs +YXVmZW4sIHNvbmRlcm4gZGllIFJvdyBhdWNoIGxvZ2lzY2ggZGllIHJpY2h0aWdlIEhvZWhlCiAg +IGJlbGVndCAoc29uc3QgdmVyc2NoaWVidCBzaWNoIGRpZSBOYW1lbnNzcGFsdGUgbGlua3MpLgog +ICBBbmxhc3MgKyBFdmVudHMgc2luZCBzZWl0IE1haSAyMDI2IGluIGVpbmVyIFplaWxlIHp1c2Ft +bWVuZ2VmYXNzdC4gKi8KI2RhdHVtLXplaWxlLWFubGFzcyB7IGhlaWdodDogMzJweDsgfQoKLyog +RGF0dW0tWmVsbGVuIGltIEtvcGYgKi8KLmtkLXplbGxlIHsKICAgIHdpZHRoOiB2YXIoLS16ZWxs +ZS1icmVpdGUpOwogICAgbWluLXdpZHRoOiB2YXIoLS16ZWxsZS1icmVpdGUpOwogICAgZGlzcGxh +eTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNl +bnRlcjsKICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7CiAg +ICBmb250LXNpemU6IHZhcigtLWZzLXhzKTsKfQoKLyogWmVpbGUgMTogRGF0dW0gKi8KI2RhdHVt +LXplaWxlLXRhZyAua2QtemVsbGUgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7 +CiAgICBjb2xvcjogdmFyKC0tdGV4dC1vbi1wcmltYXJ5KTsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7 +CiAgICBmb250LXNpemU6IHZhcigtLWZzLXhzKTsKICAgIGJvcmRlci1yaWdodC1jb2xvcjogcmdi +YSgyNTUsMjU1LDI1NSwwLjEpOwp9CgovKiBaZWlsZSAyOiBXb2NoZW50YWcgKi8KI2RhdHVtLXpl +aWxlLXdvY2hlbnRhZyAua2QtemVsbGUgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFy +eS1kYXJrKTsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LW9uLXByaW1hcnkpOwogICAgZm9udC1zaXpl +OiA5cHg7CiAgICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4xKTsKfQoK +LyogWmVpbGUgMzoga29tYmluaWVydGUgSWNvbi1aZWlsZSAoRmVpZXJ0YWcgKyBTb25kZXJ0ZXJt +aW4gKyBHZWJ1cnRzdGFnKS4KICAgU2VpdCBNYWkgMjAyNiBpbiBlaW5lciBaZWlsZSBzdGF0dCB2 +b3JoZXIgendlaSAoQW5sYXNzICsgRXZlbnRzKS4gKi8KI2RhdHVtLXplaWxlLWFubGFzcyAua2Qt +emVsbGUgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7CiAgICBjb2xvcjogcmdi +YSgyNTUsMjU1LDI1NSwwLjcpOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7CiAgICBmb250 +LXdlaWdodDogNjAwOwogICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAu +MSk7CiAgICBoZWlnaHQ6IDMycHg7CiAgICBwYWRkaW5nOiAycHggMXB4OwogICAgYWxpZ24taXRl +bXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZ2FwOiAycHg7CiAg +ICBvdmVyZmxvdzogaGlkZGVuOwp9Ci8qIEljb24tU3RpbDoga29tcGFrdCwgZGFtaXQgendlaSBv +ZGVyIGRyZWkgSWNvbnMgbmViZW5laW5hbmRlciBpbiA2MnB4CiAgIHBhc3NlbiAoRmVpZXJ0YWcg +KyBTb25kZXJ0ZXJtaW4gKyBHZWJ1cnRzdGFnIOKAlCBzZWx0ZW4gYWxsZSBkcmVpCiAgIGdsZWlj +aHplaXRpZykuIEVtb2ppLUZvbnQgcmVuZGVydCBmYXJiaWcsIG1vbm9jaHJvbWUgR2x5cGhzICji +nKEg4piqKQogICBlcmJlbiBjb2xvciB2b24gZGVyIHVtZ2ViZW5kZW4gLmtkLWFubGFzcy1mZWll +cnRhZy0qIFJlZ2VsLiAqLwoua2QtYW5sYXNzLWljb24gewogICAgZm9udC1zaXplOiAyMHB4Owog +ICAgbGluZS1oZWlnaHQ6IDE7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB1c2VyLXNl +bGVjdDogbm9uZTsKfQojZGF0dW0temVpbGUtYW5sYXNzIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9 +Ci8qIFNvbGlkZSBGYXJiZW4gYW5hbG9nIHp1IC5rZC1mZWllcnRhZy1iZyAvIC5rZC13b2NoZW5l +bmRlIOKAlCBkaWUgYWx0ZW4KICAgcmdiYSgpLVdlcnRlIHdhcmVuIHNlbWl0cmFuc3BhcmVudCBn +ZWdlbiBkZW4gd2Vpc3NlbiAja29wZi1yZWNodHMtYmcKICAgdW5kIGxpZXNzZW4gZGllIFplbGxl +IHByYWt0aXNjaCB3ZWlzcyBlcnNjaGVpbmVuLCBkZXIgaGVsbGUgVGV4dCB3YXIKICAgZGFkdXJj +aCB1bmxlc2Jhci4gKi8KI2RhdHVtLXplaWxlLWFubGFzcyAua2QtYW5sYXNzLWZlaWVydGFnIHsg +YmFja2dyb3VuZDogIzRBNkE4QzsgY29sb3I6ICNGRkZGRkY7IGN1cnNvcjogcG9pbnRlcjsgfQoj +ZGF0dW0temVpbGUtYW5sYXNzIC5rZC1hbmxhc3MtZmVpZXJ0YWc6aG92ZXIgeyBmaWx0ZXI6IGJy +aWdodG5lc3MoMS4xNSk7IH0KI2RhdHVtLXplaWxlLWFubGFzcyAua2QtYW5sYXNzLWZlaWVydGFn +IC5rZC1hbmxhc3MtdGV4dCB7IGNvbG9yOiAjRkZGRkZGOyB9Ci8qIEthdGVnb3JpZS1zcGV6aWZp +c2NoZSBGYXJiZ2VidW5nLiAua2QtYW5sYXNzLWZlaWVydGFnLWdlc2V0emxpY2gKICAgYmVudXR6 +dCBkZW4gU3RhbmRhcmQgdm9uIG9iZW4gKCM0QTZBOEMpLCBkaWUgYW5kZXJlbiBLYXRlZ29yaWVu +CiAgIGJla29tbWVuIGVpbmUgZWlnZW5lIGdlZGVja3RlIEZhcmJlLiAqLwojZGF0dW0temVpbGUt +YW5sYXNzIC5rZC1hbmxhc3MtZmVpZXJ0YWctanVlZGlzY2ggICAgeyBiYWNrZ3JvdW5kOiAjNkU0 +RkEwOyB9CiNkYXR1bS16ZWlsZS1hbmxhc3MgLmtkLWFubGFzcy1mZWllcnRhZy1tdXNsaW1pc2No +ICB7IGJhY2tncm91bmQ6ICMxQjdDNjY7IH0KI2RhdHVtLXplaWxlLWFubGFzcyAua2QtYW5sYXNz +LWZlaWVydGFnLXR1ZXJraXNjaCAgIHsgYmFja2dyb3VuZDogI0M3MjEyMDsgfQovKiBXaWNodGln +LU1hcmtlcjogYmVoYWVsdCBkaWUgS2F0ZWdvcmllLUZhcmJlIHVuZCBiZWtvbW10IG51ciBlaW5l +CiAgIGRlemVudGUgZ29sZGVuZSBCb2RlbmxpbmllIGFscyBBa3plbnQgKHZvcmhlciByb3QrZ29s +ZGVuZXIgUmFobWVuICsKICAgd2Vpc3NlciBUZXh0IOKAlCB3aXJrdGUgbWl0IERhdHVtICsgV29j +aGVudGFnICsgQW5sYXNzLUljb24ga29tYmluaWVydAogICB6dSB3dWNodGlnLCBVc2VyLUZlZWRi +YWNrIDIwMjYtMDUtMjIpLiAqLwojZGF0dW0temVpbGUtYW5sYXNzIC5rZC1hbmxhc3MtZmVpZXJ0 +YWcua2QtZmVpZXJ0YWctd2ljaHRpZyB7IGJveC1zaGFkb3c6IGluc2V0IDAgLTNweCAwICNENEEw +MTc7IH0KW2RhdGEtdGhlbWU9Im5pZ2h0Il0gI2RhdHVtLXplaWxlLWFubGFzcyAua2QtYW5sYXNz +LWZlaWVydGFnLmtkLWZlaWVydGFnLXdpY2h0aWcgeyBib3gtc2hhZG93OiBpbnNldCAwIC0zcHgg +MCAjRTVCNTNBOyB9CiNkYXR1bS16ZWlsZS1hbmxhc3MgLmtkLWFubGFzcy1mZXJpZW4geyBiYWNr +Z3JvdW5kOiAjMkU3RDMyOyBjb2xvcjogI0ZGRkZGRjsgfQojZGF0dW0temVpbGUtYW5sYXNzIC5r +ZC1hbmxhc3MtZmVyaWVuIC5rZC1hbmxhc3MtdGV4dCB7IGNvbG9yOiAjRkZGRkZGOyB9CltkYXRh +LXRoZW1lPSJuaWdodCJdICNkYXR1bS16ZWlsZS1hbmxhc3MgLmtkLWFubGFzcy1mZWllcnRhZyB7 +IGJhY2tncm91bmQ6ICMzRDU2NzI7IGNvbG9yOiAjRThFRUY1OyB9CltkYXRhLXRoZW1lPSJuaWdo +dCJdICNkYXR1bS16ZWlsZS1hbmxhc3MgLmtkLWFubGFzcy1mZWllcnRhZy1qdWVkaXNjaCAgICB7 +IGJhY2tncm91bmQ6ICM0QTMwNzA7IH0KW2RhdGEtdGhlbWU9Im5pZ2h0Il0gI2RhdHVtLXplaWxl +LWFubGFzcyAua2QtYW5sYXNzLWZlaWVydGFnLW11c2xpbWlzY2ggIHsgYmFja2dyb3VuZDogIzEz +NEY0MDsgfQpbZGF0YS10aGVtZT0ibmlnaHQiXSAjZGF0dW0temVpbGUtYW5sYXNzIC5rZC1hbmxh +c3MtZmVpZXJ0YWctdHVlcmtpc2NoICAgeyBiYWNrZ3JvdW5kOiAjODIxODE4OyB9Ci8qIE5pZ2h0 +LVRoZW1lOiBXaWNodGlnLU1hcmtlciBiZWhhZWx0IGpldHp0IGRpZSBLYXRlZ29yaWUtRmFyYmUs +IGRpZQogICBnb2xkZW5lIEJvZGVubGluaWUgd2lyZCBpbiBkZXIgYWxsZ2VtZWluZW4gUmVnZWwg +b2JlbiAoWmVpbGUgNTI5KSBnZXNldHp0LiAqLwpbZGF0YS10aGVtZT0ibmlnaHQiXSAjZGF0dW0t +emVpbGUtYW5sYXNzIC5rZC1hbmxhc3MtZmVyaWVuIHsgYmFja2dyb3VuZDogIzFFNTAyNDsgY29s +b3I6ICNFOEY1RUM7IH0KCi8qIEhvcml6b250YWxlIEZlcmllbi1CYXI6IHVlYmVybGFnZXJ0IGRp +ZSBwZXItVGFnLVplbGxlbiBkZXIgQW5sYXNzLVplaWxlIG1pdAogICBlaW5lbSBkdXJjaGdlaGVu +ZGVuIExhYmVsIHVlYmVyIGRpZSBnZXNhbXRlIEZlcmllbi1QZXJpb2RlLiAqLwovKiBPcHRpayAo +SGludGVyZ3J1bmQvUmFobWVuL0dsb3cpIHVlYmVyIEN1c3RvbS1Qcm9wZXJ0aWVzIGF1cyBkZW0K +ICAgRXJzY2hlaW51bmdzYmlsZC1FZGl0b3IgKC0tbWZlci0qKS4gVW5rb25maWd1cmllcnQgPSB0 +cmFuc3BhcmVudGVyIEJhbGtlbiwKICAgbnVyIGRhcyBMYWJlbCwgd2llIGJpc2hlci4gKi8KLmtk +LWZlcmllbi1iYXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiA1MCU7CiAgICB0 +cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICBoZWlnaHQ6IDIycHg7CiAgICBkaXNwbGF5 +OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2Vu +dGVyOwogICAgcGFkZGluZzogMCA4cHg7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIHot +aW5kZXg6IDI7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tZmVyLWJnLCB0cmFuc3BhcmVudCk7CiAg +ICBib3gtc2hhZG93OiB2YXIoLS1tZmVyLXNoYWRvdywgbm9uZSk7CiAgICBhbmltYXRpb246IHZh +cigtLW1mZXItYW5pbSwgbm9uZSk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHMp +Owp9Ci5rZC1mZXJpZW4tYmFyLXRleHQgewogICAgZm9udC1zaXplOiBjYWxjKDExcHggKiB2YXIo +LS1tZmVyLWZzLCAxKSk7CiAgICBmb250LXdlaWdodDogdmFyKC0tbWZlci1mdywgNzAwKTsKICAg +IGNvbG9yOiB2YXIoLS1tZmVyLXRleHQsICMyNTYwMjkpOwogICAgbGV0dGVyLXNwYWNpbmc6IDAu +M3B4OwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIHdoaXRlLXNwYWNlOiBub3dy +YXA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAg +ICBtYXgtd2lkdGg6IDEwMCU7CiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwyNTUs +MjU1LDAuMzUpOwp9CltkYXRhLXRoZW1lPSJuaWdodCJdIC5rZC1mZXJpZW4tYmFyLXRleHQgewog +ICAgY29sb3I6IHZhcigtLW1mZXItdGV4dCwgI2E1ZDZhNyk7CiAgICB0ZXh0LXNoYWRvdzogMCAx +cHggMCByZ2JhKDAsMCwwLDAuNDUpOwp9Ci8qIFdvY2hlbmVuZC1NYXJrZXIgaW5uZXJoYWxiIGRl +ciBGZXJpZW4tQmFyOiBkZXplbnRlLCBsZWljaHQgZHVua2xlcmUKICAgU2NocmFmZnVyIHVlYmVy +IFNhL1NvLCBkYW1pdCBzaWUgYXVjaCB3YWVocmVuZCBkZXIgRmVyaWVuIG9wdGlzY2gKICAgc2lj +aHRiYXIgYmxlaWJlbi4gUHJvIFdvY2hlbmVuZC1UYWcgZWluIDxzcGFuPiBtaXQgYWJzb2x1dGVy +CiAgIFBvc2l0aW9uIChQaXhlbC1PZmZzZXQgd2lyZCB2b20gSlMgZ2VzZXR6dCkuICovCi5rZC1m +ZXJpZW4tYmFyLXdlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGJv +dHRvbTogMDsKICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoCiAgICAg +ICAgMTM1ZGVnLAogICAgICAgIHJnYmEoMCwwLDAsMC4xMCkgMCwKICAgICAgICByZ2JhKDAsMCww +LDAuMTApIDRweCwKICAgICAgICB0cmFuc3BhcmVudCA0cHgsCiAgICAgICAgdHJhbnNwYXJlbnQg +OHB4CiAgICApOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KW2RhdGEtdGhlbWU9Im5pZ2h0 +Il0gLmtkLWZlcmllbi1iYXItd2UgewogICAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1n +cmFkaWVudCgKICAgICAgICAxMzVkZWcsCiAgICAgICAgcmdiYSgwLDAsMCwwLjMwKSAwLAogICAg +ICAgIHJnYmEoMCwwLDAsMC4zMCkgNHB4LAogICAgICAgIHRyYW5zcGFyZW50IDRweCwKICAgICAg +ICB0cmFuc3BhcmVudCA4cHgKICAgICk7Cn0KCi8qIEV2ZW50LUljb25zIChTb25kZXJ0ZXJtaW4g +KyBHZWJ1cnRzdGFnKSDigJQgbGViZW4gamV0enQgaW4gZGVyIGdlbWVpbnNhbWVuCiAgIEFubGFz +cy1aZWlsZSBzdGF0dCBlaW5lciBzZXBhcmF0ZW4gRXZlbnRzLVplaWxlIChNYWkgMjAyNikuICov +Ci5rZC1ldmVudC1pY29uIHsKICAgIGZvbnQtc2l6ZTogMThweDsKICAgIGxpbmUtaGVpZ2h0OiAx +OwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgdXNlci1zZWxlY3Q6IG5vbmU7Cn0KLmtk +LWV2ZW50LXNvbmRlciB7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0cmFuc2l0aW9uOiB0cmFu +c2Zvcm0gMC4xMnM7CiAgICAvKiBNb25vY2hyb21lIFN5bWJvbC1EYXJzdGVsbHVuZyAoQ2hlcnJ5 +LVBpY2sgOGIyZDBmZCk6IGZvbGd0IGRlcgogICAgICAgVGhlbWUtVGV4dGZhcmJlIHN0YXR0IGJ1 +bnRlbiBFbW9qaS4gKi8KICAgIGZvbnQtZmFtaWx5OiAiU2Vnb2UgVUkgU3ltYm9sIiwiQ2FtYnJp +YSBNYXRoIiwiU1RJWCIsIkRlamFWdSBTYW5zIiwiTHVjaWRhIFNhbnMgVW5pY29kZSIsc2Fucy1z +ZXJpZjsKICAgIGZvbnQtdmFyaWFudC1lbW9qaTogdGV4dDsKICAgIGNvbG9yOiB2YXIoLS10ZXh0 +LW9uLXByaW1hcnksIGN1cnJlbnRDb2xvcik7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAg +IGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIG1p +bi13aWR0aDogMThweDsKICAgIG1pbi1oZWlnaHQ6IDE4cHg7CiAgICBwYWRkaW5nOiAxcHggM3B4 +OwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICAgIGJvcmRlcjogMnB4IHNv +bGlkIHRyYW5zcGFyZW50OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQovKiBIaW53ZWlz +LS9XYXJudW5ncy1Tb25kZXJ0ZXJtaW5lIGFscyBrbGFyIGxlc2JhcmVzIEJhZGdlIHN0YXR0IG51 +ciBoZWxsZXIKICAgR2x5cGggYXVmIGR1bmtsZW0gSGVhZGVyICh3YXIgYXVmIG1hbmNoZW4gSGlu +dGVyZ3J1ZW5kZW4g4oCUIHouQi4gS2FybmV2YWwKICAgMTYuMDIg4oCUIHNjaHdlciBsZXNiYXIp +LiBSdW5kZXIgSW5mby1QdW5rdCBtaXQga3JhZWZ0aWdlciBGdWVsbHVuZy4gKi8KLmtkLWV2ZW50 +LXNvbmRlci5rZC1ldmVudC1oaW53ZWlzIHsKICAgIGJhY2tncm91bmQ6ICMyZjdmZDE7IGNvbG9y +OiAjZmZmOyBmb250LXdlaWdodDogNzAwOwogICAgYm9yZGVyLXJhZGl1czogNTAlOyB3aWR0aDog +MTdweDsgaGVpZ2h0OiAxN3B4OwogICAgbWluLXdpZHRoOiAxN3B4OyBtaW4taGVpZ2h0OiAxN3B4 +OyBwYWRkaW5nOiAwOyBmb250LXNpemU6IDEycHg7Cn0KLmtkLWV2ZW50LXNvbmRlci5rZC1ldmVu +dC13YXJudW5nIHsKICAgIGJhY2tncm91bmQ6ICNkNjZmMWU7IGNvbG9yOiAjZmZmOyBmb250LXdl +aWdodDogNzAwOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKfQpbZGF0YS10 +aGVtZT0ibmlnaHQiXSAua2QtZXZlbnQtc29uZGVyLmtkLWV2ZW50LWhpbndlaXMgeyBiYWNrZ3Jv +dW5kOiAjM2E4ZmUwOyB9CltkYXRhLXRoZW1lPSJuaWdodCJdIC5rZC1ldmVudC1zb25kZXIua2Qt +ZXZlbnQtd2FybnVuZyB7IGJhY2tncm91bmQ6ICNlMDdmMmU7IH0KLmtkLWV2ZW50LXNvbmRlcjpo +b3ZlciB7IHRyYW5zZm9ybTogc2NhbGUoMS4xOCk7IH0KLyogIldpY2h0aWciLU1hcmtpZXJ1bmcg +KENoZXJyeS1QaWNrIDg0ZmIwZjcsIGhpbnRlciBUb2dnbGUKICAgYGZlYXR1cmVzLnNvbmRlcnRl +cm1pbmVXaWNodGlnYCk6IGJvcmRlYXV4cm90ZXIgU2lnbmFsLVJhaG1lbi4gKi8KLmtkLWV2ZW50 +LXNvbmRlci5rZC1ldmVudC13aWNodGlnIHsKICAgIGJvcmRlci1jb2xvcjogIzgwMDAyMDsKICAg +IGJhY2tncm91bmQ6IHJnYmEoMTI4LDAsMzIsMC4xMik7CiAgICBib3gtc2hhZG93OiAwIDAgMCAx +cHggcmdiYSgxMjgsMCwzMiwwLjM1KTsKfQpbZGF0YS10aGVtZT0ibmlnaHQiXSAua2QtZXZlbnQt +c29uZGVyLmtkLWV2ZW50LXdpY2h0aWcgewogICAgYm9yZGVyLWNvbG9yOiAjYzA0NTVhOwogICAg +YmFja2dyb3VuZDogcmdiYSgxOTIsNjksOTAsMC4xOCk7Cn0KLmtkLWV2ZW50LWdlYnVydHN0YWcg +eyBjdXJzb3I6IGhlbHA7IH0KLmtkLWV2ZW50cy1rbGlja2JhciB7IGN1cnNvcjogcG9pbnRlcjsg +fQoKLyogWmVpbGUgNDogU3TDpHJrZSAqLwojc3RhZXJrZS16ZWlsZSAua2QtemVsbGUgewogICAg +Zm9udC1zaXplOiB2YXIoLS1mcy14cyk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6 +ICNmZmY7CiAgICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4xNSk7Cn0K +LnN0YWVya2Utb2sgeyBiYWNrZ3JvdW5kOiAjMjc4OTZEOyB9Ci5zdGFlcmtlLXdhcm51bmcgeyBi +YWNrZ3JvdW5kOiAjQjAzQTJFOyBhbmltYXRpb246IHB1bHNSb3QgMnMgZWFzZS1pbi1vdXQgaW5m +aW5pdGU7IH0KQGtleWZyYW1lcyBwdWxzUm90IHsgMCUsMTAwJSB7IG9wYWNpdHk6MTsgfSA1MCUg +eyBvcGFjaXR5OjAuNzsgfSB9CgovKiBTY2hpY2h0Zm9sZ2UtWmVpbGVuICovCiNzY2hpY2h0Zm9s +Z2UtcmVjaHRzIC5rb3BmLWRhdGVuLXplaWxlIC5rZC16ZWxsZSB7CiAgICBiYWNrZ3JvdW5kOiB2 +YXIoLS1iZy1jYXJkLWFsdCk7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOwogICAg +Zm9udC1zaXplOiA5cHg7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgYm9yZGVyLXJpZ2h0LWNv +bG9yOiB2YXIoLS1ib3JkZXItbGlnaHQpOwp9CiNzY2hpY2h0Zm9sZ2UtcmVjaHRzIC5rb3BmLWRh +dGVuLXplaWxlOmZpcnN0LWNoaWxkIC5rZC16ZWxsZSB7CiAgICBib3JkZXItdG9wOiAxcHggc29s +aWQgdmFyKC0tYm9yZGVyLXN0cm9uZyk7Cn0KCi8qIFRhZ2VzdHlwZW4gaW0gS29wZiDigJQgc3Rh +cmtlciBLb250cmFzdCAqLwoua2Qtd29jaGVuZW5kZSB7IGJhY2tncm91bmQ6ICM3MTkxQjMgIWlt +cG9ydGFudDsgY29sb3I6ICNGMkY2RkEgIWltcG9ydGFudDsgfQoua2QtZmVpZXJ0YWctYmcgeyBi +YWNrZ3JvdW5kOiAjNEE2QThDICFpbXBvcnRhbnQ7IGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7 +IH0KLyogV2ljaHRpZ2UgRmVpZXJ0YWdlOiBhbGxlIHZpc3VlbGxlbiBQYXJhbWV0ZXIga29tbWVu +IHVlYmVyIEN1c3RvbS0KICAgUHJvcGVydGllcyAoc2llaGUgYWRtaW5fZXJzY2hlaW51bmdzYmls +ZC5qcykuIERlZmF1bHRzIHNpbmQgaW0gRWRpdG9yCiAgIHBlciBLbGljayB3aWVkZXJoZXJzdGVs +bGJhci4gKi8KLmtkLWZlaWVydGFnLXdpY2h0aWcgewogICAgYmFja2dyb3VuZDogdmFyKC0tbWZ3 +aS1iZywgdHJhbnNwYXJlbnQpICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogICAgICB2YXIoLS1tZndp +LXRleHQsIGluaGVyaXQpICFpbXBvcnRhbnQ7CiAgICBmb250LXdlaWdodDogdmFyKC0tbWZ3aS1m +dywgNDAwKSAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogdmFyKC0tbWZ3aS1zaGFkb3csIG5v +bmUpICFpbXBvcnRhbnQ7CiAgICBhbmltYXRpb246ICB2YXIoLS1tZndpLWFuaW0sIG5vbmUpOwp9 +Ci5rZC1oZXV0ZSB7IGJhY2tncm91bmQ6IHZhcigtLXRhZy1oZXV0ZSkgIWltcG9ydGFudDsgY29s +b3I6ICNmZmYgIWltcG9ydGFudDsgYm94LXNoYWRvdzogaW5zZXQgMnB4IDAgMCAjRDRBMDE3LCBp +bnNldCAtMnB4IDAgMCAjRDRBMDE3OyB9CltkYXRhLXRoZW1lPSJuaWdodCJdIC5rZC1oZXV0ZSB7 +IGJveC1zaGFkb3c6IGluc2V0IDJweCAwIDAgI0U1QjUzQSwgaW5zZXQgLTJweCAwIDAgI0U1QjUz +QTsgfQpbZGF0YS10aGVtZT0ibmlnaHQiXSAua2Qtd29jaGVuZW5kZSB7IGJhY2tncm91bmQ6ICMy +RTQwNTggIWltcG9ydGFudDsgY29sb3I6ICNDOUQ2RTQgIWltcG9ydGFudDsgfQpbZGF0YS10aGVt +ZT0ibmlnaHQiXSAua2QtZmVpZXJ0YWctYmcgeyBiYWNrZ3JvdW5kOiAjM0Q1NjcyICFpbXBvcnRh +bnQ7IGNvbG9yOiAjRThFRUY1ICFpbXBvcnRhbnQ7IH0KLyogTmlnaHQtVGhlbWU6IFRhZy9OYWNo +dCB0ZWlsZW4gc2ljaCBha3R1ZWxsIGRpZSBWYXJpYWJsZW4gYXVzIGRlbQogICBFZGl0b3Ig4oCU +IGJlaSBCZWRhcmYga2FubiBoaWVyIHNwYWV0ZXIgZWluIFRoZW1lLU92ZXJyaWRlIGdyZWlmZW4u +ICovCgovKiBTb25kZXJ0YWdlIOKAlCBhbGxlIHZpc3VlbGxlbiBQYXJhbWV0ZXIga29tbWVuIHVl +YmVyIEN1c3RvbS1Qcm9wZXJ0aWVzCiAgIChzaWVoZSBhZG1pbl9lcnNjaGVpbnVuZ3NiaWxkLmpz +KS4gUHVsc2UtQW5pbWF0aW9uIHdpcmQgdWViZXIgendlaQogICBCb3gtU2hhZG93LUF1c3ByYWVn +dW5nZW4gaW50ZXJwb2xpZXJ0OiAtLW0uLi4tc2hhZG93IChSdWhlLVp1c3RhbmQpCiAgIHVuZCAt +LW0uLi4tc2hhZG93LXB1bHMgKFB1bHNlLVNwaXR6ZSwgNTAlLUtleWZyYW1lKS4gKi8KLmtkLXNv +bmRlcnRhZy1oaW53ZWlzIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1oaW4tYmcsIHRy +YW5zcGFyZW50KTsKICAgIGNvbG9yOiAgICAgICAgICAgIHZhcigtLW1oaW4tdGV4dCwgaW5oZXJp +dCk7CiAgICBmb250LXdlaWdodDogICAgICB2YXIoLS1taGluLWZ3LCA0MDApOwogICAgYm94LXNo +YWRvdzogICAgICAgdmFyKC0tbWhpbi1zaGFkb3csIG5vbmUpOwogICAgYW5pbWF0aW9uOiAgICAg +ICAgdmFyKC0tbWhpbi1hbmltLCBub25lKTsKICAgIC0tbWFya2llcnVuZy1zaGFkb3ctcHVsczog +dmFyKC0tbWhpbi1zaGFkb3ctcHVscywgdmFyKC0tbWhpbi1zaGFkb3csIG5vbmUpKTsKfQoua2Qt +c29uZGVydGFnLXdhcm51bmcgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbXdhci1iZywg +dHJhbnNwYXJlbnQpOwogICAgY29sb3I6ICAgICAgICAgICAgdmFyKC0tbXdhci10ZXh0LCBpbmhl +cml0KTsKICAgIGZvbnQtd2VpZ2h0OiAgICAgIHZhcigtLW13YXItZncsIDQwMCk7CiAgICBib3gt +c2hhZG93OiAgICAgICB2YXIoLS1td2FyLXNoYWRvdywgbm9uZSk7CiAgICBhbmltYXRpb246ICAg +ICAgICB2YXIoLS1td2FyLWFuaW0sIG5vbmUpOwogICAgLS1tYXJraWVydW5nLXNoYWRvdy1wdWxz +OiB2YXIoLS1td2FyLXNoYWRvdy1wdWxzLCB2YXIoLS1td2FyLXNoYWRvdywgbm9uZSkpOwp9Ci8q +IFBybyBNYXJraWVydW5nc3R5cCBlaWdlbmVyIEBrZXlmcmFtZXMtQmxvY2ssIHdlaWwgQ1NTLUFu +aW1hdGlvbmVuCiAgIGlocmUgVmFyaWFibGVuLUF1c3dlcnR1bmcgenVyIEFuaW1hdGlvbi1EZWZp +bml0aW9ucy1aZWl0IG1hY2hlbiDigJQKICAgZWluIGdlbmVyaXNjaGVyIEJsb2NrIGtvZW5udGUg +ZGllIHBlci1FbGVtZW50IGdlc2V0enRlbiBWYXJpYWJsZW4KICAgbmljaHQgdHJlbm5lbi4gKi8K +QGtleWZyYW1lcyBwdWxzSGlud2VpcyAgeyAwJSwxMDAlIHsgYm94LXNoYWRvdzogdmFyKC0tbWhp +bi1zaGFkb3csIG5vbmUpOyB9IDUwJSB7IGJveC1zaGFkb3c6IHZhcigtLW1oaW4tc2hhZG93LXB1 +bHMsIHZhcigtLW1oaW4tc2hhZG93LCBub25lKSk7IH0gfQpAa2V5ZnJhbWVzIHB1bHNXYXJudW5n +ICB7IDAlLDEwMCUgeyBib3gtc2hhZG93OiB2YXIoLS1td2FyLXNoYWRvdywgbm9uZSk7IH0gNTAl +IHsgYm94LXNoYWRvdzogdmFyKC0tbXdhci1zaGFkb3ctcHVscywgdmFyKC0tbXdhci1zaGFkb3cs +IG5vbmUpKTsgfSB9CkBrZXlmcmFtZXMgcHVsc0ZlaWVydGFnIHsgMCUsMTAwJSB7IGJveC1zaGFk +b3c6IHZhcigtLW1md2ktc2hhZG93LCBub25lKTsgfSA1MCUgeyBib3gtc2hhZG93OiB2YXIoLS1t +ZndpLXNoYWRvdy1wdWxzLCB2YXIoLS1tZndpLXNoYWRvdywgbm9uZSkpOyB9IH0KQGtleWZyYW1l +cyBwdWxzSGV1dGUgICAgeyAwJSwxMDAlIHsgYm94LXNoYWRvdzogdmFyKC0tbWhlLXNoYWRvdywg +IG5vbmUpOyB9IDUwJSB7IGJveC1zaGFkb3c6IHZhcigtLW1oZS1zaGFkb3ctcHVscywgIHZhcigt +LW1oZS1zaGFkb3csICBub25lKSk7IH0gfQpAa2V5ZnJhbWVzIHB1bHNGZXJpZW4gICB7IDAlLDEw +MCUgeyBib3gtc2hhZG93OiB2YXIoLS1tZmVyLXNoYWRvdywgbm9uZSk7IH0gNTAlIHsgYm94LXNo +YWRvdzogdmFyKC0tbWZlci1zaGFkb3ctcHVscywgdmFyKC0tbWZlci1zaGFkb3csIG5vbmUpKTsg +fSB9CgovKiBEaXJ0eS1QdWxzZSBmdWVyIFNwZWljaGVybi1CdXR0b25zIG1pdCB1bmdlc3BlaWNo +ZXJ0ZW4gQWVuZGVydW5nZW4uCiAgIFZpc3VlbGxlciBIaW53ZWlzIGJldm9yIGRlciBVc2VyIHZl +cnNlaGVudGxpY2ggZGVuIFRhYiB3ZWNoc2VsdCB1bmQgSW5wdXQKICAgdmVybGllcnQgKHNpZWhl +IEZhY2hhdWZzaWNodC1UYWJlbGxlKS4gKi8KLmJ0bi5kaXJ0eS1wdWxzZSB7IGFuaW1hdGlvbjog +ZGlydHlQdWxzIDEuNnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IGJveC1zaGFkb3c6IDAgMCAwIDAg +cmdiYSgyMDIsMTExLDMwLDAuNik7IH0KQGtleWZyYW1lcyBkaXJ0eVB1bHMgeyAwJSwxMDAlIHsg +Ym94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDIwMiwxMTEsMzAsMC42KTsgfSA1MCUgeyBib3gtc2hh +ZG93OiAwIDAgMCA2cHggcmdiYSgyMDIsMTExLDMwLDApOyB9IH0KCi8qIEltcGVyc29uYXRpb24t +QmFubmVyOiB6ZWlndCwgZGFzcyBkaWUgT2JlcmZsYWVjaGUgYWt0dWVsbCBhbHMgYW5kZXJlCiAg +IFJvbGxlIHNpbXVsaWVydCB3aXJkLiBTZXJ2ZXItUmVjaHRlIGJsZWliZW4gU1UsIFVJIGFlbmRl +cnQgc2ljaCByZWluCiAgIGNsaWVudHNlaXRpZy4gKi8KLmltcGVyc29uYXRlLWJhbm5lciB7CiAg +ICBwb3NpdGlvbjogc3RpY2t5OwogICAgdG9wOiAwOwogICAgei1pbmRleDogdmFyKC0tei1vdmVy +bGF5KTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWZhcmJlLXdhcm51bmcpOwogICAgY29sb3I6ICNm +ZmY7CiAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1z +OiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZ2FwOiAxNHB4OwogICAgZm9u +dC13ZWlnaHQ6IDYwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDsKICAgIGJveC1zaGFkb3c6 +IDAgMnB4IDZweCByZ2JhKDAsMCwwLDAuMTUpOwp9Ci5pbXBlcnNvbmF0ZS1iYW5uZXIgLmltcC1p +Y29uIHsgZm9udC1zaXplOiAxOHB4OyB9Ci5pbXBlcnNvbmF0ZS1iYW5uZXIgLmJ0biB7IGJhY2tn +cm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4yKTsgY29sb3I6ICNmZmY7IGJvcmRlci1jb2xvcjog +cmdiYSgyNTUsMjU1LDI1NSwwLjUpOyB9Ci5pbXBlcnNvbmF0ZS1iYW5uZXIgLmJ0bjpob3ZlciB7 +IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4zMik7IH0KCi8qIChBbHRlIFNvbmRlcm1h +cmtlci1DU1MgaW4gZGVyIGZydWVoZXJlbiBGZXJpZW4tWmVpbGUgZW50ZmVybnQg4oCUIEZpbmRp +bmdzIEMuMTIvQy4xMy4KICAgU29uZGVydGVybWluZSBzaW5kIGpldHp0IGluIGRlciBlaWdlbmVu +IEV2ZW50cy1aZWlsZSBtaXQgZ3Jvc3NlbiBJY29ucy4pICovCgovKiBCYWRnZXMgaW4gS29wZnpl +aWxlIChEYXR1bSkg4oCUIEdlYnVydHN0YWcsIEhpbndlaXMsIFdhcm51bmcgKi8KLmtkLXplbGxl +IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9Ci5rZC1iYWRnZXMgewogICAgcG9zaXRpb246IGFic29s +dXRlOwogICAgdG9wOiAxcHg7CiAgICByaWdodDogMXB4OwogICAgZGlzcGxheTogZmxleDsKICAg +IGdhcDogMXB4OwogICAgcG9pbnRlci1ldmVudHM6IGF1dG87Cn0KLmtkLWJhZGdlIHsKICAgIGZv +bnQtc2l6ZTogOHB4OwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBjdXJzb3I6IGhlbHA7CiAgICBm +aWx0ZXI6IGRyb3Atc2hhZG93KDAgMXB4IDFweCByZ2JhKDAsMCwwLDAuNSkpOwp9Ci5rZC1iYWRn +ZS1nYiB7IGZvbnQtc2l6ZTogOXB4OyB9Ci5rZC1iYWRnZS13YXJudW5nIHsgY29sb3I6ICNmZjll +NDI7IGZvbnQtd2VpZ2h0OiA3MDA7IH0KLmtkLWJhZGdlLWhpbndlaXMgeyBjb2xvcjogIzdlYjhk +YTsgZm9udC13ZWlnaHQ6IDcwMDsgfQoKLyogU2NoaWNodGZvbGdlLUZhcmJlbiAoZGV6ZW50ZSBF +aW5mw6RyYnVuZyBqZSBSb3RhdGlvbikgKi8KI3NjaGljaHRmb2xnZS1yZWNodHMgLnNmLWFiYyB7 +IGJhY2tncm91bmQ6ICNFOEYxRTggIWltcG9ydGFudDsgY29sb3I6ICMyZDVhM2QgIWltcG9ydGFu +dDsgfQojc2NoaWNodGZvbGdlLXJlY2h0cyAuc2YtYmNhIHsgYmFja2dyb3VuZDogI0U4RURGNSAh +aW1wb3J0YW50OyBjb2xvcjogIzJkNDM3MCAhaW1wb3J0YW50OyB9CiNzY2hpY2h0Zm9sZ2UtcmVj +aHRzIC5zZi1jYWIgeyBiYWNrZ3JvdW5kOiAjRjVFOEU4ICFpbXBvcnRhbnQ7IGNvbG9yOiAjNmIy +ZDJkICFpbXBvcnRhbnQ7IH0KI3NjaGljaHRmb2xnZS1yZWNodHMgLnNmLXBvb2wgeyBiYWNrZ3Jv +dW5kOiAjRUNFQ0VDICFpbXBvcnRhbnQ7IGNvbG9yOiAjNjY2ICFpbXBvcnRhbnQ7IGZvbnQtc3R5 +bGU6IGl0YWxpYzsgfQpbZGF0YS10aGVtZT0ibmlnaHQiXSAjc2NoaWNodGZvbGdlLXJlY2h0cyAu +c2YtYWJjIHsgYmFja2dyb3VuZDogIzFjMzAyNCAhaW1wb3J0YW50OyBjb2xvcjogIzhmZDBhMCAh +aW1wb3J0YW50OyB9CltkYXRhLXRoZW1lPSJuaWdodCJdICNzY2hpY2h0Zm9sZ2UtcmVjaHRzIC5z +Zi1iY2EgeyBiYWNrZ3JvdW5kOiAjMWMyNDM2ICFpbXBvcnRhbnQ7IGNvbG9yOiAjOGZiMGUwICFp +bXBvcnRhbnQ7IH0KW2RhdGEtdGhlbWU9Im5pZ2h0Il0gI3NjaGljaHRmb2xnZS1yZWNodHMgLnNm +LWNhYiB7IGJhY2tncm91bmQ6ICMzMDFjMWMgIWltcG9ydGFudDsgY29sb3I6ICNlMGEwYTAgIWlt +cG9ydGFudDsgfQpbZGF0YS10aGVtZT0ibmlnaHQiXSAjc2NoaWNodGZvbGdlLXJlY2h0cyAuc2Yt +cG9vbCB7IGJhY2tncm91bmQ6ICMyYTJhMmEgIWltcG9ydGFudDsgY29sb3I6ICM5OTkgIWltcG9y +dGFudDsgfQoKLyogUmh5dGhtdXMtVm9yc2NoYXUgaW0gQWRtaW4tVGFiICovCi5zZi12b3JzY2hh +dSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwYWRkaW5nOiAycHggNXB4OwogICAg +bWFyZ2luOiAxcHg7CiAgICBmb250LXNpemU6IHZhcigtLWZzLXhzKTsKICAgIGZvbnQtd2VpZ2h0 +OiA2MDA7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHMpOwogICAgZm9udC1mYW1p +bHk6IG1vbm9zcGFjZTsKfQouc2Ytdm9yc2NoYXUuc2YtYWJjIHsgYmFja2dyb3VuZDogI0Q4RThE +ODsgY29sb3I6ICMyZDVhM2Q7IH0KLnNmLXZvcnNjaGF1LnNmLWJjYSB7IGJhY2tncm91bmQ6ICNE +OEUwRjA7IGNvbG9yOiAjMmQ0MzcwOyB9Ci5zZi12b3JzY2hhdS5zZi1jYWIgeyBiYWNrZ3JvdW5k +OiAjRjBEOEQ4OyBjb2xvcjogIzZiMmQyZDsgfQouc2Ytdm9yc2NoYXUuc2Ytdm9yc2NoYXUtcG9v +bCB7IGJhY2tncm91bmQ6ICNFMEUwRTA7IGNvbG9yOiAjNjY2OyBmb250LXN0eWxlOiBpdGFsaWM7 +IHBhZGRpbmc6IDNweCAxMHB4OyB9CltkYXRhLXRoZW1lPSJuaWdodCJdIC5zZi12b3JzY2hhdS5z +Zi1hYmMgeyBiYWNrZ3JvdW5kOiAjMWMzMDI0OyBjb2xvcjogIzhmZDBhMDsgfQpbZGF0YS10aGVt +ZT0ibmlnaHQiXSAuc2Ytdm9yc2NoYXUuc2YtYmNhIHsgYmFja2dyb3VuZDogIzFjMjQzNjsgY29s +b3I6ICM4ZmIwZTA7IH0KW2RhdGEtdGhlbWU9Im5pZ2h0Il0gLnNmLXZvcnNjaGF1LnNmLWNhYiB7 +IGJhY2tncm91bmQ6ICMzMDFjMWM7IGNvbG9yOiAjZTBhMGEwOyB9CltkYXRhLXRoZW1lPSJuaWdo +dCJdIC5zZi12b3JzY2hhdS5zZi12b3JzY2hhdS1wb29sIHsgYmFja2dyb3VuZDogIzJhMmEyYTsg +Y29sb3I6ICM5OTk7IH0KCi8qID09PT09IERhdGVuZ3JpZCA9PT09PSAqLwojZ3JpZC1kYXRlbiB7 +IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0KCi5ncmlkLXplaWxlIHsK +ICAgIGRpc3BsYXk6IGZsZXg7CiAgICBoZWlnaHQ6IHZhcigtLXplbGxlLWhvZWhlKTsKICAgIGJv +cmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ncmlkLWxpbmllKTsKfQoKLyogR3J1cHBlbnRy +ZW5uemVpbGUgaW0gR3JpZCDigJQgZGllc2VsYmUgSGVhZGVyLUJsYXUtRmxhZWNoZSB3aWUgZGll +IEtvcGZsZWlzdGUsCiAgIGRhbWl0IGRlciBsZWVyZSBCZXJlaWNoIG5lYmVuIGRlbSAiLS0tIERJ +RU5TVEdSVVBQRSBYIC0tLSItTGFiZWwgbmljaHQgbWVocgogICB3ZWlzcyB3aXJrdC4gIWltcG9y +dGFudCwgd2VpbCBsZWVyZSBGbGV4LUtpbmRlciBzb25zdCBnZWxlZ2VudGxpY2ggdm9tCiAgIFBh +cmVudC1IaW50ZXJncnVuZCB1ZWJlcmRlY2t0IHdlcmRlbi4gKi8KI2dyaWQtZGF0ZW4gPiAuZ3Jp +ZC10cmVubmVyIHsKICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgIGhlaWdodDogMThw +eCAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSkgIWltcG9ydGFu +dDsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpOwogICAg +Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7CiAgICBtaW4td2lkdGg6 +IDEwMCUgIWltcG9ydGFudDsKfQoKLmdyaWQtemVsbGUgewogICAgd2lkdGg6IHZhcigtLXplbGxl +LWJyZWl0ZSk7CiAgICBtaW4td2lkdGg6IHZhcigtLXplbGxlLWJyZWl0ZSk7CiAgICBkaXNwbGF5 +OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2Vu +dGVyOwogICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tZ3JpZC1saW5pZSk7CiAgICBm +b250LXNpemU6IDlweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBjdXJzb3I6IHBvaW50ZXI7 +CiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXM7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAg +d2hpdGUtc3BhY2U6IG5vd3JhcDsKfQouZ3JpZC16ZWxsZTpob3ZlciB7IG9wYWNpdHk6IDAuODsg +b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLXRleHQtaGVhZGluZyk7IG91dGxpbmUtb2Zmc2V0OiAt +MnB4OyB6LWluZGV4OiAxOyB9Ci8qIExpbmtza2xpY2stTWFya2llcnVuZyAoQXVzd2FobCBvaG5l +IExvY2spLiBLbGFyZXIgUmluZyBpbiBBa3plbnRmYXJiZSwKICAgYmxlaWJ0IHNpY2h0YmFyIGJp +cyBlaW5lIGFuZGVyZSBaZWxsZSBtYXJraWVydCBvZGVyIG5ldSBnZXJlbmRlcnQgd2lyZC4KICAg +UmVjaHRza2xpY2sgYXVmIGRpZSBtYXJraWVydGUgWmVsbGUgb2VmZm5ldCBkZW4gU2NoaWNodC1F +ZGl0b3IuICovCi5ncmlkLXplbGxlLW1hcmtpZXJ0IHsgb3V0bGluZTogMnB4IHNvbGlkIHZhcigt +LWJnLXByaW1hcnkpOyBvdXRsaW5lLW9mZnNldDogLTJweDsgei1pbmRleDogMjsgYm94LXNoYWRv +dzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWJnLXByaW1hcnkpOyB9CltkYXRhLXRoZW1lPSJuaWdo +dCJdIC5ncmlkLXplbGxlLW1hcmtpZXJ0IHsgb3V0bGluZS1jb2xvcjogIzVhOWZkYjsgYm94LXNo +YWRvdzogaW5zZXQgMCAwIDAgMXB4ICM1YTlmZGI7IH0KLmdyaWQtemVsbGUuZ2VzcGVycnQgeyBj +dXJzb3I6IG5vdC1hbGxvd2VkOyBvcGFjaXR5OiAwLjY7IH0KLyogR2VzcGVycnRlIFplbGxlbiBr +bGFyIGFiZ2VzZXR6dDogZ2VkYWVtcGZ0ICsgbGVpY2h0ZSBHcmF1c3R1ZmUsIGRhbWl0IG1hbiBz +aWUKICAgYWxzICJuaWNodC1lZGl0aWVyYmFyIiBlcmtlbm50LCBkZXIgSW5oYWx0IGZyZW1kZXIg +R3J1cHBlbiBhYmVyIGxlc2JhciBibGVpYnQKICAgKFVzZXItV3Vuc2NoIDIwMjYtMDUtMjcpLiBD +aGVycnktUGljayAyYTc3NTJiLiAqLwouZ3JpZC16ZWxsZS1nZXNwZXJydCB7IGN1cnNvcjogbm90 +LWFsbG93ZWQ7IG9wYWNpdHk6IDAuNTsgZmlsdGVyOiBncmF5c2NhbGUoMC41KTsgfQouZ3JpZC16 +ZWxsZS1nZXNwZXJydDpob3ZlciB7IG9wYWNpdHk6IDAuNzU7IG91dGxpbmU6IDJweCBkYXNoZWQg +dmFyKC0tdGV4dC1tdXRlZCk7IG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9CgovKiBMaXZlLVN5bmM6 +IFplbGxlIHdpcmQgZ2VyYWRlIHZvbiBlaW5lbSBhbmRlcmVuIFVzZXIgZWRpdGllcnQuCiAgIFZp +c3VlbGxlciBJbmRpa2F0b3IgKyBjdXJzb3Igbm90LWFsbG93ZWQuIFRvb2x0aXAgd2lyZCB2b20g +SlMgZ2VzZXR6dC4gKi8KLmdyaWQtemVsbGUtbG9ja2VkIHsKICAgIGN1cnNvcjogbm90LWFsbG93 +ZWQgIWltcG9ydGFudDsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAjQ0E2RjFFICFp +bXBvcnRhbnQ7ICAvKiB3YXJuLW9yYW5nZSBSYWhtZW4gKi8KICAgIHBvc2l0aW9uOiByZWxhdGl2 +ZTsKfQouZ3JpZC16ZWxsZS1sb2NrZWQ6OmFmdGVyIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgcG9z +aXRpb246IGFic29sdXRlOwogICAgdG9wOiAxcHg7IHJpZ2h0OiAxcHg7CiAgICB3aWR0aDogNnB4 +OyBoZWlnaHQ6IDZweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJhY2tncm91bmQ6ICND +QTZGMUU7CiAgICBib3gtc2hhZG93OiAwIDAgNHB4IHJnYmEoMjAyLDExMSwzMCwwLjYpOwogICAg +cG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KW2RhdGEtdGhlbWU9Im5pZ2h0Il0gLmdyaWQtemVsbGUt +bG9ja2VkIHsgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4ICNFNjhBMzUgIWltcG9ydGFudDsg +fQpbZGF0YS10aGVtZT0ibmlnaHQiXSAuZ3JpZC16ZWxsZS1sb2NrZWQ6OmFmdGVyIHsgYmFja2dy +b3VuZDogI0U2OEEzNTsgfQoKLyogTGl2ZS1TeW5jOiBBdWZsZXVjaHRlbiBiZWkgcmVtb3RlLWdl +dHJpZ2dlcnRlbiBBZW5kZXJ1bmdlbi4KICAgRmFyYmUgKyBHbG93ICsgRGF1ZXIgdWViZXIgQ3Vz +dG9tLVByb3BlcnRpZXMgYXVzIGRlbSBFcnNjaGVpbnVuZ3MtCiAgIGJpbGQtRWRpdG9yICgtLW1z +Zi0qKS4gRGVmYXVsdC1BbmltYXRpb24gbGFldWZ0IGVpbm1hbCwgZGF1ZXIgYXVzCiAgIC0tbXNm +LWRhdWVyIChGYWxsYmFjayAxNTAwbXMpLiAqLwpAa2V5ZnJhbWVzIHplbGxlLWZsYXNoIHsKICAg +IDAlICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tc2YtYmcsIHJnYmEoMjU1LDIzMCwxMjgs +MC44NSkpOyBib3gtc2hhZG93OiB2YXIoLS1tc2Ytc2hhZG93LCAwIDAgMTJweCA0cHggcmdiYSgy +NTUsMjE1LDAsMC44NSkpOyB9CiAgICA1MCUgIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbXNm +LWJnLCByZ2JhKDI1NSwyMzAsMTI4LDAuNTUpKTsgYm94LXNoYWRvdzogdmFyKC0tbXNmLXNoYWRv +dy1wdWxzLCB2YXIoLS1tc2Ytc2hhZG93LCAwIDAgOHB4IDJweCByZ2JhKDI1NSwyMTUsMCwwLjU1 +KSkpOyB9CiAgICAxMDAlIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGJveC1zaGFk +b3c6IG5vbmU7IH0KfQouemVsbGUtZmxhc2ggeyBhbmltYXRpb246IHplbGxlLWZsYXNoIHZhcigt +LW1zZi1kYXVlciwgMTUwMG1zKSBlYXNlLW91dDsgfQoKLyogRXhjZWwtYWVobmxpY2hlciBGdWVs +bC1HcmlmZjoKICAgLSBzb3VyY2UgPSBRdWVsbC1aZWxsZSAoaGF0dGUgZ2VyYWRlIGVpbmVuIEVk +aXQpCiAgIC0gdGFyZ2V0ID0gdm9yZ2VtZXJrdGUgWmVsbGUgd2FlaHJlbmQgZGVzIERyYWdzCiAg +IC0gI2ZpbGwtaGFuZGxlID0gZGFzIGtsZWluZSBibGF1ZSBRdWFkcmF0IHVudGVuIHJlY2h0cyBh +biBkZXIgUXVlbGxlICovCi5ncmlkLXplbGxlLWZpbGwtc291cmNlIHsKICAgIG91dGxpbmU6IDJw +eCBzb2xpZCB2YXIoLS1mYXJiZS1ha3plbnQsICM0YTkwZTIpICFpbXBvcnRhbnQ7CiAgICBvdXRs +aW5lLW9mZnNldDogLTJweDsKICAgIHotaW5kZXg6IDI7Cn0KLmdyaWQtemVsbGUtZmlsbC10YXJn +ZXQgewogICAgb3V0bGluZTogMXB4IGRhc2hlZCB2YXIoLS1mYXJiZS1ha3plbnQsICM0YTkwZTIp +OwogICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXIt +Z3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50IDAgMzUlLCByZ2JhKDc0LDE0NCwyMjYsMC4xOCkg +MzUlIDY1JSwgdHJhbnNwYXJlbnQgNjUlKTsKfQojZmlsbC1oYW5kbGUgewogICAgcG9zaXRpb246 +IGZpeGVkOwogICAgd2lkdGg6IDhweDsgaGVpZ2h0OiA4cHg7CiAgICBiYWNrZ3JvdW5kOiAjOGIw +MDAwOwogICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjsKICAgIGN1cnNvcjogY3Jvc3NoYWlyOwog +ICAgei1pbmRleDogMTAwMDsKICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsMCwwLDAu +NDUpOwogICAgYm9yZGVyLXJhZGl1czogMXB4Owp9CiNmaWxsLWhhbmRsZTpob3ZlciB7IHRyYW5z +Zm9ybTogc2NhbGUoMS40KTsgYmFja2dyb3VuZDogI2EwMDAwMDsgfQoKLyogU3BhbHRlbnR5cGVu +IOKAlCBkZXV0bGljaGUgVW50ZXJzY2hlaWR1bmcgKi8KLnNwYWx0ZS13b2NoZW5lbmRlIHsgYmFj +a2dyb3VuZC1jb2xvcjogI0VERjJGODsgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjRDRERUVDOyB9Ci5z +cGFsdGUtZmVpZXJ0YWcgICB7IGJhY2tncm91bmQtY29sb3I6ICNEN0U0RjA7IGJvcmRlci1yaWdo +dC1jb2xvcjogI0IwQzREODsgfQouc3BhbHRlLWZlcmllbiAgICAgeyBiYWNrZ3JvdW5kLWNvbG9y +OiB2YXIoLS1tZmVyLXNwYWx0ZS1iZywgI0UwRjBFNCk7IH0KW2RhdGEtdGhlbWU9Im5pZ2h0Il0g +LnNwYWx0ZS13b2NoZW5lbmRlIHsgYmFja2dyb3VuZC1jb2xvcjogIzFGMkEzODsgYm9yZGVyLXJp +Z2h0LWNvbG9yOiAjMkQzRTU1OyB9CltkYXRhLXRoZW1lPSJuaWdodCJdIC5zcGFsdGUtZmVpZXJ0 +YWcgICB7IGJhY2tncm91bmQtY29sb3I6ICMyNTM1NDc7IGJvcmRlci1yaWdodC1jb2xvcjogIzM4 +NTI3MDsgfQpbZGF0YS10aGVtZT0ibmlnaHQiXSAuc3BhbHRlLWZlcmllbiAgICAgeyBiYWNrZ3Jv +dW5kLWNvbG9yOiB2YXIoLS1tZmVyLXNwYWx0ZS1iZywgIzFDMkUyMik7IH0KCi8qIEhldXRlLVNw +YWx0ZTogYWxsZSB2aXN1ZWxsZW4gUGFyYW1ldGVyIChIaW50ZXJncnVuZCwgUmFobWVuLUFremVu +dGUsCiAgIG9wdGlvbmFsZXIgR2xvdykga29tbWVuIHVlYmVyIEN1c3RvbS1Qcm9wZXJ0aWVzIGF1 +cyBkZW0gRXJzY2hlaW51bmdzLQogICBiaWxkLUVkaXRvciAoYWRtaW5fZXJzY2hlaW51bmdzYmls +ZC5qcyAvIG1hcmtpZXJ1bmdlbkFud2VuZGVuKS4gKi8KLnNwYWx0ZS1oZXV0ZSB7CiAgICBiYWNr +Z3JvdW5kLWNvbG9yOiB2YXIoLS1taGUtYmcsIHRyYW5zcGFyZW50KTsKICAgIGNvbG9yOiB2YXIo +LS1taGUtdGV4dCwgaW5oZXJpdCk7CiAgICBmb250LXdlaWdodDogdmFyKC0tbWhlLWZ3LCA0MDAp +OwogICAgZm9udC1zaXplOiBjYWxjKHZhcigtLW1oZS1mcywgMSkgKiAxZW0pOwogICAgYm94LXNo +YWRvdzogdmFyKC0tbWhlLXNoYWRvdywgbm9uZSk7CiAgICBhbmltYXRpb246IHZhcigtLW1oZS1h +bmltLCBub25lKTsKfQoKLyogU2NocmFmZnVyZW4g4oCUIGFsbGUgUmljaHR1bmdlbiBlaW5oZWl0 +bGljaCA0NWRlZyAodm9uIGxpbmtzIHVudGVuIG5hY2gKICAgcmVjaHRzIG9iZW4pLiBVbnRlcnNj +aGVpZHVuZyBGL1MvTiBudXIgdWViZXIgTGluaWVuLURpY2h0ZToKICAgRiA9IG1pdHRsZXJlIFN0 +cmljaC1EaWNodGUsIFMgPSBicmVpdGUgU3RyZWlmZW4sIE4gPSBzZWhyIGRpY2h0ZSBTY2hyYWZm +dXIuCiAgIC0yIFZhcmlhbnRlIChSYW5nIDIpIGlzdCBoZWxsZXIuIENoZXJyeS1QaWNrIDg0ZmIw +ZjcuICovCi5zY2hyYWZmdXItZnJ1ZWggewogICAgYmFja2dyb3VuZC1pbWFnZTogcmVwZWF0aW5n +LWxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQgMCAzcHgsIHJnYmEoMjU1LDI1NSwy +NTUsMC4yNSkgM3B4IDVweCkgIWltcG9ydGFudDsKICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9y +dGFudDsgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMyk7Cn0KLnNjaHJhZmZ1 +ci1zcGFldCB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50 +KDQ1ZGVnLCB0cmFuc3BhcmVudCAwIDZweCwgcmdiYSgyNTUsMjU1LDI1NSwwLjI1KSA2cHggOXB4 +KSAhaW1wb3J0YW50OwogICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50OyB0ZXh0LXNoYWRv +dzogMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4zKTsKfQouc2NocmFmZnVyLW5hY2h0IHsKICAgIGJh +Y2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFy +ZW50IDAgMS41cHgsIHJnYmEoMjU1LDI1NSwyNTUsMC4zMCkgMS41cHggM3B4KSAhaW1wb3J0YW50 +OwogICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50OyB0ZXh0LXNoYWRvdzogMCAxcHggMnB4 +IHJnYmEoMCwwLDAsMC4zKTsKfQouc2NocmFmZnVyLWZydWVoLTIgeyBiYWNrZ3JvdW5kLWltYWdl +OiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCAwIDRweCwgcmdi +YSgyNTUsMjU1LDI1NSwwLjE1KSA0cHggNnB4KSAhaW1wb3J0YW50OyB9Ci5zY2hyYWZmdXItc3Bh +ZXQtMiB7IGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoNDVkZWcs +IHRyYW5zcGFyZW50IDAgN3B4LCByZ2JhKDI1NSwyNTUsMjU1LDAuMTUpIDdweCAxMHB4KSAhaW1w +b3J0YW50OyB9Ci5zY2hyYWZmdXItbmFjaHQtMiB7IGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGlu +Zy1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50IDAgMnB4LCByZ2JhKDI1NSwyNTUs +MjU1LDAuMTUpIDJweCA0cHgpICFpbXBvcnRhbnQ7IH0KCi8qIFZlcmFudHdvcnRsaWNoa2VpdHMt +TWFya2llcnVuZyAoVG9wLTIgcHJvIFNjaGljaHQpLgogICBUb2tlbiAtLWZhcmJlLXZlcmFudHdv +cnRsaWNoIGlzdCB0aGVtZS1mZXN0IChQaGFzZSAxIGVpbmdlZnVlaHJ0KSDigJQKICAgTGlnaHQ6 +IE9yYW5nZSAoLS1mYXJiZS13YXJudW5nKSwgRGFyazogYmxlaWJ0IG9yYW5nZSAoZ3V0IHNpY2h0 +YmFyKS4gKi8KLmdyaWQtemVsbGUudmVyYW50d29ydGxpY2ggewogICAgYm94LXNoYWRvdzogaW5z +ZXQgMCAtMnB4IDAgMCB2YXIoLS1mYXJiZS12ZXJhbnR3b3J0bGljaCk7Cn0KLnZlcmFudHdvcnRs +aWNoLWJhZGdlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMXB4OwogICAgcmln +aHQ6IDFweDsKICAgIHdpZHRoOiA2cHg7CiAgICBoZWlnaHQ6IDZweDsKICAgIGJhY2tncm91bmQ6 +IHZhcigtLWZhcmJlLXZlcmFudHdvcnRsaWNoKTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKfQoK +LyogPT09PT0gWmVsbC1FZGl0b3IgPT09PT0gKi8KI3plbGwtZWRpdG9yIHsKICAgIHBvc2l0aW9u +OiBmaXhlZDsgei1pbmRleDogdmFyKC0tei1lZGl0b3IpOwogICAgYmFja2dyb3VuZDogdmFyKC0t +YmctY2FyZCk7IGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXRleHQtaGVhZGluZyk7CiAgICBib3Jk +ZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOyBib3gtc2hhZG93OiAwIDZweCAyMHB4IHZhcigt +LXNoYWRvdy1tZWRpdW0pOwp9CiNlZGl0b3ItYXVzd2FobCB7CiAgICBib3JkZXI6IG5vbmU7IG91 +dGxpbmU6IG5vbmU7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IHZhcigtLWZzLXNt +KTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBjb2xvcjogdmFyKC0tdGV4dC1wcmlt +YXJ5KTsKICAgIG1pbi13aWR0aDogMjAwcHg7IGN1cnNvcjogcG9pbnRlcjsgYm9yZGVyLXJhZGl1 +czogdmFyKC0tcmFkaXVzLXhzKTsKfQojZWRpdG9yLWF1c3dhaGwgb3B0aW9uIHsgcGFkZGluZzog +NHB4IDhweDsgfQojZWRpdG9yLWF1c3dhaGwgb3B0aW9uOmNoZWNrZWQgeyBiYWNrZ3JvdW5kOiB2 +YXIoLS1iZy1hY3RpdmUpOyB9CgovKiA9PT09PSBBZG1pbi1MYXlvdXQgPT09PT0gKi8KLmFkbWlu +LWxheW91dCB7CiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4OiAxOyBvdmVyZmxvdzogaGlkZGVuOwp9 +Ci5hZG1pbi1zaWRlYmFyIHsKICAgIHdpZHRoOiAyNDBweDsgbWluLXdpZHRoOiAyNDBweDsKICAg +IGJhY2tncm91bmQ6IHZhcigtLWJnLXNpZGViYXIpOyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2 +YXIoLS1ib3JkZXItY29sb3IpOwogICAgcGFkZGluZzogMCAwIDI0cHggMDsgZGlzcGxheTogZmxl +eDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIG92ZXJmbG93LXk6IGF1dG87Cn0KLyogQ2x1 +c3Rlci1HcnVwcGU6IFVlYmVyc2NocmlmdCAoYmxhdWVyIEhlYWRlcikgKyBCdXR0b25zICovCi5h +ZG1pbi1uYXYtZ3J1cHBlIHsKICAgIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1 +bW47CiAgICBwYWRkaW5nOiAwIDAgNnB4IDA7Cn0KLmFkbWluLW5hdi10aXRlbCB7CiAgICBtYXJn +aW46IDA7IHBhZGRpbmc6IDhweCAxNnB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFy +eSk7IGNvbG9yOiB2YXIoLS10ZXh0LW9uLXByaW1hcnkpOwogICAgZm9udC1zaXplOiB2YXIoLS1m +cy1zbSk7IGZvbnQtd2VpZ2h0OiA3MDA7IGxldHRlci1zcGFjaW5nOiAxcHg7CiAgICB0ZXh0LXRy +YW5zZm9ybTogdXBwZXJjYXNlOwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgIHVzZXItc2VsZWN0 +OiBub25lOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJnLXByaW1hcnktZGFy +ayk7Cn0KLyogRXR3YXMgTHVmdCB6d2lzY2hlbiBUaXRlbCB1bmQgZXJzdGVtIEJ1dHRvbiAqLwou +YWRtaW4tbmF2LWdydXBwZSAuYWRtaW4tbmF2LWJ0bjpmaXJzdC1vZi10eXBlIHsgbWFyZ2luLXRv +cDogNnB4OyB9CgouYWRtaW4tbmF2LWJ0biB7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsg +Ym9yZGVyOiBub25lOyBwYWRkaW5nOiA4cHggMTRweDsKICAgIG1hcmdpbjogMXB4IDhweDsKICAg +IHRleHQtYWxpZ246IGxlZnQ7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7IGN1cnNv +cjogcG9pbnRlcjsKICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDEzLjVweDsg +Zm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDEuNDsKICAgIGNvbG9yOiB2YXIoLS10ZXh0 +LXByaW1hcnkpOwogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlLCBjb2xvciAw +LjE1cyBlYXNlOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5hZG1pbi1uYXYtYnRuOmhvdmVy +IHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLW5hdi1ob3Zlcik7IGNvbG9yOiB2YXIoLS10ZXh0 +LWhlYWRpbmcpOwp9Ci5hZG1pbi1uYXYtYnRuLmFrdGl2IHsKICAgIGJhY2tncm91bmQ6IHZhcigt +LWJnLW5hdi1ha3Rpdik7IGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOyBmb250LXdlaWdodDog +NjAwOwogICAgYm94LXNoYWRvdzogaW5zZXQgM3B4IDAgMCAwIHZhcigtLXRleHQtaGVhZGluZyk7 +Cn0KLmFkbWluLW5hdi1idG4uYWt0aXY6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1uYXYt +YWt0aXYpOyB9Ci8qIFNpY2h0YmFyZXIgRm9rdXMgZnVlciBLZXlib2FyZC1OYXZpZ2F0aW9uIChU +QUIgZHVyY2ggU2lkZWJhcikuCiAgIDpmb2N1cy12aXNpYmxlIGZldWVydCBuaWNodCBiZWkgTWF1 +cy1LbGljaywgbnVyIGJlaSBUYXN0YXR1ci1Gb2t1cyDigJQKICAgc3RvZXJ0IGFsc28gTWF1cy1V +c2VyIG5pY2h0LiAqLwouYWRtaW4tbmF2LWJ0bjpmb2N1cy12aXNpYmxlIHsKICAgIG91dGxpbmU6 +IDJweCBzb2xpZCB2YXIoLS1mYXJiZS1ha3plbnQpOwogICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7 +Cn0KCi5hZG1pbi1pbmhhbHQgeyBmbGV4OiAxOyBvdmVyZmxvdy15OiBhdXRvOyBwYWRkaW5nOiAy +NHB4IDMycHg7IH0KLmFkbWluLWtvcGYgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2Vu +dGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IG1hcmdpbi1ib3R0b206IDIwcHg7 +IH0KLmFkbWluLWtvcGYgaDIgeyBmb250LXNpemU6IDIwcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNv +bG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOyB9Ci5hZG1pbi1oaW53ZWlzIHsgZm9udC1zaXplOiB2 +YXIoLS1mcy1tZCk7IGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7IG1hcmdpbi1ib3R0b206 +IDE2cHg7IGxpbmUtaGVpZ2h0OiAxLjY7IH0KCi5hZG1pbi10YWIgeyBhbmltYXRpb246IGZhZGVJ +biAwLjE1cyBlYXNlOyB9CkBrZXlmcmFtZXMgZmFkZUluIHsgZnJvbSB7IG9wYWNpdHk6IDA7IH0g +dG8geyBvcGFjaXR5OiAxOyB9IH0KCi8qIFNla3Rpb25lbiBpbm5lcmhhbGIgZWluZXMgVGFicyAo +ZnVlciBnZW1lcmd0ZSBUYWJzIHdpZSAiRmVpZXJ0YWdlICYgRmVyaWVuIikuCiAgIFZvcmhlciA0 +cHgg4oCUIFNla3Rpb25lbiBrbGVidGVuIHp1c2FtbWVuLCBrZWluIG9wdGlzY2hlciBBdGVtcmF1 +bS4KICAgTWl0IC0tc3AtNSAoMjRweCkgc2l0emVuIHp3ZWkgU2VrdGlvbmVuIGtsYXIgZ2V0cmVu +bnQgdm9uZWluYW5kZXIuICovCi5hZG1pbi1zZWt0aW9uIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0t +c3AtNSk7IH0KLmFkbWluLXNla3Rpb24ta29wZiB7CiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1p +dGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICBnYXA6IDEy +cHg7IG1hcmdpbi1ib3R0b206IDE0cHg7Cn0KLmFkbWluLXNla3Rpb24ta29wZiBoMyB7CiAgICBm +b250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRp +bmcpOyBtYXJnaW46IDA7Cn0KLmFkbWluLXNla3Rpb24tdHJlbm5lciB7CiAgICBib3JkZXI6IDA7 +IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOwogICAgbWFyZ2luOiAy +OHB4IDAgMjJweCAwOwp9CgovKiA9PT09PSBBZG1pbi1CYW5uZXIgKFJlYWQtb25seS1IaW53ZWlz +LCBJbmxpbmUtSW5mbykgPT09PT0KICAgRHJlaSBWYXJpYW50ZW46IC5hZG1pbi1iYW5uZXItaW5m +byAvIC5hZG1pbi1iYW5uZXItd2FybiAvIC5hZG1pbi1iYW5uZXItZXJmb2xnLgogICBMaW5rZXIg +QWt6ZW50LVN0cmVpZmVuICsgSWNvbi1TbG90ICsgSW5oYWx0cy1TbG90LiBEZWZhdWx0ID0gaW5m +by4gKi8KLmFkbWluLWJhbm5lciB7CiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxl +eC1zdGFydDsgZ2FwOiB2YXIoLS1zcC0zKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwLTMpIHZhcigt +LXNwLTQpOwogICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtNCk7CiAgICBib3JkZXItcmFkaXVz +OiB2YXIoLS1yYWRpdXMtc20pOwogICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1iYW5u +ZXItaW5mby1ib3JkZXIpOwogICAgYmFja2dyb3VuZDogdmFyKC0tYmFubmVyLWluZm8tYmcpOwog +ICAgY29sb3I6IHZhcigtLWJhbm5lci1pbmZvLXRleHQpOwogICAgZm9udC1zaXplOiB2YXIoLS1m +cy1tZCk7IGxpbmUtaGVpZ2h0OiAxLjU7Cn0KLmFkbWluLWJhbm5lci13YXJuIHsKICAgIGJvcmRl +ci1sZWZ0LWNvbG9yOiB2YXIoLS1iYW5uZXItd2Fybi1ib3JkZXIpOwogICAgYmFja2dyb3VuZDog +dmFyKC0tYmFubmVyLXdhcm4tYmcpOwogICAgY29sb3I6IHZhcigtLWJhbm5lci13YXJuLXRleHQp +Owp9Ci5hZG1pbi1iYW5uZXItZXJmb2xnIHsKICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1i +YW5uZXItZXJmb2xnLWJvcmRlcik7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYW5uZXItZXJmb2xn +LWJnKTsKICAgIGNvbG9yOiB2YXIoLS1iYW5uZXItZXJmb2xnLXRleHQpOwp9Ci5hZG1pbi1iYW5u +ZXItaWNvbiB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIGZvbnQtc2l6ZTogMTZweDsgbGluZS1o +ZWlnaHQ6IDEuMjsKICAgIG1hcmdpbi10b3A6IDFweDsKfQouYWRtaW4tYmFubmVyLXRleHQgeyBm +bGV4OiAxIDEgYXV0bzsgfQouYWRtaW4tYmFubmVyLXRpdGVsIHsKICAgIGZvbnQtd2VpZ2h0OiA3 +MDA7IG1hcmdpbi1ib3R0b206IDJweDsKfQouYWRtaW4tYmFubmVyLWJvZHkgeyBmb250LXNpemU6 +IDEyLjVweDsgb3BhY2l0eTogMC45MjsgfQoKLyogPT09PT0gQWRtaW4tU3ViLU5hdmlnYXRpb24g +KGlubmVyaGFsYiBlaW5lcyBUb3AtVGFicykgPT09PT0KICAgSG9yaXpvbnRhbGVyIFRhYi1TdHJl +aWZlbiBhbSBvYmVyZW4gUmFuZCBkZXMgLmFkbWluLWluaGFsdC1CZXJlaWNocy4KICAgTnVyIHNp +Y2h0YmFyLCB3ZW5uIGRlciBUb3AtVGFiID4gMSBTZWt0aW9uIGhhdC4gKi8KLmFkbWluLXN1Ym5h +diB7CiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogdmFyKC0tc3AtMSk7 +CiAgICBtYXJnaW46IDAgMCB2YXIoLS1zcC01KSAwOwogICAgcGFkZGluZzogMCAwIHZhcigtLXNw +LTIpIDA7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsK +fQouYWRtaW4tc3VibmF2LWJ0biB7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVy +OiBub25lOyBjdXJzb3I6IHBvaW50ZXI7CiAgICBwYWRkaW5nOiB2YXIoLS1zcC0yKSB2YXIoLS1z +cC00KTsKICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IHZhcigtLWZzLW1kKTsg +Zm9udC13ZWlnaHQ6IDUwMDsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7CiAgICBi +b3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pIDRweCAwIDA7CiAgICBib3JkZXItYm90dG9t +OiAycHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9u +LXN0ZCk7CiAgICBtYXJnaW4tYm90dG9tOiAtMXB4OyAgLyogdWViZXJsYXBwdCBkaWUgdW50ZXJl +IExpbmllIGRlciBzdWJuYXYgKi8KfQouYWRtaW4tc3VibmF2LWJ0bjpob3ZlciB7CiAgICBiYWNr +Z3JvdW5kOiB2YXIoLS1iZy1uYXYtaG92ZXIpOyBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsK +fQouYWRtaW4tc3VibmF2LWJ0bi5ha3RpdiB7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5n +KTsgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWZhcmJl +LXByaW1hZXIpOwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7Cn0KLmFkbWluLXN1Ym5hdi1i +dG46Zm9jdXMtdmlzaWJsZSB7CiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZmFyYmUtYWt6 +ZW50KTsKICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7Cn0KCi8qID09PT09IEFkbWluLUVtcHR5LVN0 +YXRlIChPbmJvYXJkaW5nLUthcnRlIGZ1ZXIgbGVlcmUgU2VrdGlvbmVuKSA9PT09PQogICBXaXJk +IGdlcmVuZGVydCwgd2VubiBlaW5lIExpc3RlIGtlaW5lIERhdGVuc2FldHplIGhhdC4gKi8KLmFk +bWluLWVtcHR5IHsKICAgIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFs +aWduLWl0ZW1zOiBjZW50ZXI7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBwYWRkaW5nOiB2 +YXIoLS1zcC02KSB2YXIoLS1zcC01KTsKICAgIG1hcmdpbjogdmFyKC0tc3AtNCkgMDsKICAgIGJh +Y2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0KTsKICAgIGJvcmRlcjogMXB4IGRhc2hlZCB2YXIo +LS1ib3JkZXItc3Ryb25nKTsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7Cn0K +LmFkbWluLWVtcHR5LWljb24gewogICAgZm9udC1zaXplOiAzMnB4OwogICAgbWFyZ2luLWJvdHRv +bTogdmFyKC0tc3AtMyk7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7Cn0KLmFkbWluLWVt +cHR5LXRpdGVsIHsKICAgIGZvbnQtc2l6ZTogMTVweDsgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNv +bG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOwogICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtMik7 +Cn0KLmFkbWluLWVtcHR5LXRleHQgewogICAgZm9udC1zaXplOiB2YXIoLS1mcy1tZCk7IGNvbG9y +OiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7CiAgICBtYXgtd2lkdGg6IDQ2MHB4OyBsaW5lLWhlaWdo +dDogMS41OwogICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtNCk7Cn0KLmFkbWluLWVtcHR5LWFr +dGlvbiB7IG1hcmdpbi10b3A6IHZhcigtLXNwLTEpOyB9CgovKiA9PT09PSBUYXN0YXR1cmt1ZXJ6 +ZWwtVGFiZWxsZSBpbSBJbmZvLU1vZGFsIChVWC1BdWRpdCBTcHJpbnQgMy43KSA9PT09PSAqLwou +aW5mby1zaG9ydGN1dHMgeyB3aWR0aDogMTAwJTsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsg +Zm9udC1zaXplOiB2YXIoLS1mcy1tZCk7IG1hcmdpbi10b3A6IHZhcigtLXNwLTIpOyB9Ci5pbmZv +LXNob3J0Y3V0cyB0aCwgLmluZm8tc2hvcnRjdXRzIHRkIHsgdGV4dC1hbGlnbjogbGVmdDsgcGFk +ZGluZzogdmFyKC0tc3AtMSkgdmFyKC0tc3AtMik7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2 +YXIoLS1ib3JkZXItbGlnaHQpOyB9Ci5pbmZvLXNob3J0Y3V0cyB0aCB7IGJhY2tncm91bmQ6IHZh +cigtLWJnLWNhcmQtYWx0KTsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLXRleHQtaGVh +ZGluZyk7IH0KLmluZm8tc2hvcnRjdXRzIGtiZCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7 +CiAgICBwYWRkaW5nOiAycHggNnB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctdG9vbGJhcik7 +CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3Ryb25nKTsKICAgIGJvcmRlci1y +YWRpdXM6IHZhcigtLXJhZGl1cy14cyk7CiAgICBmb250LWZhbWlseTogQ29uc29sYXMsICJTRiBN +b25vIiwgTWVubG8sIG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOwogICAg +Y29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7CiAgICBib3gtc2hhZG93OiAwIDFweCAwIHZhcigt +LXNoYWRvdy1tZWRpdW0pOwp9CgovKiA9PT09PSBIaWxmZS1JY29uIChVWC1BdWRpdCBTcHJpbnQg +Mi4yLCAyMDI2LTA1LTI5KSA9PT09PQogICBLbGVpbmVyIHJ1bmRlciDik5gtQnV0dG9uIG5lYmVu +IExhYmVscyBvZGVyIEJ1dHRvbnMuIENsaWNrIOKGkiBUb2FzdC4gKi8KLmhpbGZlLWljb24gewog +ICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5 +LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7CiAgICBtYXJn +aW4tbGVmdDogdmFyKC0tc3AtMSk7CiAgICBwYWRkaW5nOiAwOwogICAgYm9yZGVyOiAxcHggc29s +aWQgdmFyKC0tYm9yZGVyLXN0cm9uZyk7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBiYWNr +Z3JvdW5kOiB2YXIoLS1iZy1jYXJkLWFsdCk7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7 +CiAgICBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGN1cnNv +cjogaGVscDsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICBsaW5lLWhlaWdodDogMTsK +ICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tc3RkKTsKfQouaGlsZmUtaWNvbjpob3Zl +ciwgLmhpbGZlLWljb246Zm9jdXMtdmlzaWJsZSB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLWZh +cmJlLWFremVudCk7CiAgICBjb2xvcjogdmFyKC0tZmFyYmUtYWt6ZW50KTsKICAgIGJhY2tncm91 +bmQ6IHZhcigtLWJnLWhvdmVyKTsKICAgIG91dGxpbmU6IG5vbmU7Cn0KCi8qID09PT09IFJlbmRl +ci1FcnJvci1Cb3ggKFVYLUF1ZGl0IFNwcmludCAxLjIsIDIwMjYtMDUtMjkpID09PT09CiAgIFdp +cmQgdm9uIHJlbmRlckVycm9yQm94KCkgaW4gY29yZV91dGlsLmpzIGJlZnVlbGx0LiBFcnNldHp0 +IGJsYW5rZW4KICAgQ29udGFpbmVyLCB3ZW5uIGVpbmUgUmVuZGVyLUZ1bmt0aW9uIG1pdCBFeGNl +cHRpb24gYWJicmljaHQuICovCi5yZW5kZXItZmVobGVyLWJveCB7CiAgICBkaXNwbGF5OiBmbGV4 +OwogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICBnYXA6IHZhcigtLXNwLTMpOwogICAg +cGFkZGluZzogdmFyKC0tc3AtNCk7CiAgICBtYXJnaW46IHZhcigtLXNwLTMpIDA7CiAgICBiYWNr +Z3JvdW5kOiB2YXIoLS1iYW5uZXItd2Fybi1iZyk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIo +LS1iYW5uZXItd2Fybi1ib3JkZXIpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1k +KTsKICAgIGNvbG9yOiB2YXIoLS1iYW5uZXItd2Fybi10ZXh0KTsKICAgIG1heC13aWR0aDogNzYw +cHg7Cn0KLnJlbmRlci1mZWhsZXItaWNvbiB7IGZvbnQtc2l6ZTogMjRweDsgbGluZS1oZWlnaHQ6 +IDE7IGZsZXgtc2hyaW5rOiAwOyB9Ci5yZW5kZXItZmVobGVyLXRleHQgeyBmbGV4OiAxOyBtaW4t +d2lkdGg6IDA7IH0KLnJlbmRlci1mZWhsZXItdGl0ZWwgeyBmb250LXdlaWdodDogNzAwOyBmb250 +LXNpemU6IHZhcigtLWZzLWxnKTsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtMik7IH0KLnJlbmRl +ci1mZWhsZXItZGV0YWlsIHsKICAgIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgIlNGIE1vbm8iLCBN +ZW5sbywgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7CiAgICBwYWRkaW5n +OiB2YXIoLS1zcC0xKSB2YXIoLS1zcC0yKTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4w +Nik7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHMpOwogICAgbWFyZ2luLWJvdHRv +bTogdmFyKC0tc3AtMik7CiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwogICAgbGluZS1oZWln +aHQ6IDEuNDsKfQpbZGF0YS10aGVtZT0ibmlnaHQiXSAucmVuZGVyLWZlaGxlci1kZXRhaWwgeyBi +YWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDYpOyB9Ci5yZW5kZXItZmVobGVyLWhpbnQg +eyBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgb3BhY2l0eTogMC45OyB9CgovKiA9PT09PSBUYWJl +bGxlbiA9PT09PSAqLwouYWRtaW4tdGFiZWxsZSB7IHdpZHRoOiAxMDAlOyBib3JkZXItY29sbGFw +c2U6IGNvbGxhcHNlOyBmb250LXNpemU6IHZhcigtLWZzLW1kKTsgfQouYWRtaW4tdGFiZWxsZSB0 +aCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTsgY29sb3I6IHZhcigtLXRleHQt +b24tcHJpbWFyeSk7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBmb250LXNpemU6IHZh +cigtLWZzLXhzKTsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAg +cGFkZGluZzogMTBweCAxMnB4OyB0ZXh0LWFsaWduOiBsZWZ0OyBib3JkZXItYm90dG9tOiAycHgg +c29saWQgdmFyKC0tYm9yZGVyLXN0cm9uZyk7CiAgICBwb3NpdGlvbjogc3RpY2t5OyB0b3A6IDA7 +IHotaW5kZXg6IDI7Cn0KLmFkbWluLXRhYmVsbGUgdGQgeyBwYWRkaW5nOiA4cHggMTJweDsgYm9y +ZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7IHZlcnRpY2FsLWFsaWdu +OiBtaWRkbGU7IH0KLmFkbWluLXRhYmVsbGUgdHI6aG92ZXIgdGQgeyBiYWNrZ3JvdW5kOiB2YXIo +LS1iZy1ob3Zlcik7IH0KLmFkbWluLXRhYmVsbGUgaW5wdXRbdHlwZT0idGV4dCJdLAouYWRtaW4t +dGFiZWxsZSBpbnB1dFt0eXBlPSJlbWFpbCJdLAouYWRtaW4tdGFiZWxsZSBpbnB1dFt0eXBlPSJk +YXRlIl0sCi5hZG1pbi10YWJlbGxlIHNlbGVjdCB7CiAgICB3aWR0aDogMTAwJTsgcGFkZGluZzog +NHB4IDhweDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTsgYm9yZGVyLXJh +ZGl1czogdmFyKC0tcmFkaXVzLXhzKTsKICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNp +emU6IHZhcigtLWZzLWJhc2UpOyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1pbnB1dCk7IGNvbG9yOiB2 +YXIoLS10ZXh0LXByaW1hcnkpOwp9Ci5hZG1pbi10YWJlbGxlIGlucHV0OmZvY3VzLCAuYWRtaW4t +dGFiZWxsZSBzZWxlY3Q6Zm9jdXMgewogICAgb3V0bGluZTogbm9uZTsgYm9yZGVyLWNvbG9yOiB2 +YXIoLS10ZXh0LWhlYWRpbmcpOyBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgyNiw1OCw5Miww +LjE1KTsKfQoudGFiZWxsZS1zY3JvbGwgeyBvdmVyZmxvdzogYXV0bzsgbWF4LWhlaWdodDogY2Fs +YygxMDB2aCAtIDIwMHB4KTsgfQoKLyogPT09PT0gQnV0dG9ucyA9PT09PSAqLwouYnRuIHsKICAg +IHBhZGRpbmc6IDdweCAxOHB4OyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOyBib3Jk +ZXI6IG5vbmU7IGN1cnNvcjogcG9pbnRlcjsKICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250 +LXNpemU6IHZhcigtLWZzLW1kKTsgZm9udC13ZWlnaHQ6IDUwMDsgdHJhbnNpdGlvbjogdmFyKC0t +dHJhbnNpdGlvbi1zdGQpOwp9Ci5idG4tcHJpbWFlciB7IGJhY2tncm91bmQ6IHZhcigtLWZhcmJl +LXByaW1hZXIpOyBjb2xvcjogI2ZmZjsgfQouYnRuLXByaW1hZXI6aG92ZXIgeyBiYWNrZ3JvdW5k +OiB2YXIoLS1mYXJiZS1wcmltYWVyLWhvdmVyKTsgY29sb3I6ICNmZmY7IH0KLmJ0bi1lcmZvbGcg +eyBiYWNrZ3JvdW5kOiB2YXIoLS1mYXJiZS1lcmZvbGcpOyBjb2xvcjogI2ZmZjsgfQouYnRuLWVy +Zm9sZzpob3ZlciB7IGJhY2tncm91bmQ6ICMxZTdhNWY7IH0KLmJ0bi1nZWZhaHIgeyBiYWNrZ3Jv +dW5kOiB2YXIoLS1mYXJiZS1mZWhsZXIpOyBjb2xvcjogI2ZmZjsgfQouYnRuLWdlZmFocjpob3Zl +ciB7IGJhY2tncm91bmQ6ICNhNTI4MWI7IH0KLyogRS1NYWlsLUJ1dHRvbiBtaXQgVGVzdC0vRnJl +bWQtQWRyZXNzZSAobmljaHQgQHBvbGl6ZWkubnJ3LmRlKToKICAgZ3J1bmVyIFN0YW5kYXJkLUVy +Zm9sZy1Mb29rIHBsdXMgYXVmZmFlbGxpZ2VyIHJvdGVyIHJlY2h0ZXIgUmFuZCwKICAgZGFtaXQg +bWFuIGF1ZiBlaW5lbiBCbGljayBzaWVodCwgd28gbm9jaCBrZWluZSBvZmZpemllbGxlbiBCZWhv +ZXJkZW4tCiAgIEFkcmVzc2VuIGhpbnRlcmxlZ3Qgc2luZC4gKi8KLmJ0bi1lbWFpbC10ZXN0IHsK +ICAgIGJveC1zaGFkb3c6IGluc2V0IC00cHggMCAwIHZhcigtLWZhcmJlLWZlaGxlciwgI0IwM0Ey +RSk7CiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4Owp9Ci5idG4tc2VrIHsKICAgIGJhY2tncm91bmQ6 +IHZhcigtLWJnLWNhcmQpOyBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsKICAgIGJvcmRlcjog +MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdHJvbmcpOwp9Ci5idG4tc2VrOmhvdmVyIHsgYmFja2dy +b3VuZDogdmFyKC0tYmctaG92ZXIpOyBib3JkZXItY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7 +IH0KLmJ0bi1rbGVpbiB7IHBhZGRpbmc6IDRweCAxMnB4OyBmb250LXNpemU6IHZhcigtLWZzLXNt +KTsgZm9udC13ZWlnaHQ6IDYwMDsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsgfQou +YnRuLWljb24geyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2Fw +OiA1cHg7IGxpbmUtaGVpZ2h0OiAxOyB9Ci5idG4taWNvbjo6YmVmb3JlIHsgZm9udC1zaXplOiB2 +YXIoLS1mcy1tZCk7IGxpbmUtaGVpZ2h0OiAxOyB9Ci5idG4tYmVhcmJlaXRlbjo6YmVmb3JlIHsg +Y29udGVudDogJ+Kcjic7IH0KLmJ0bi1yaHl0aG11czo6YmVmb3JlIHsgY29udGVudDogJ+KGuyc7 +IH0KLmJ0bi1sb2VzY2hlbiB7IHBhZGRpbmc6IDRweCAxMnB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7 +IH0KCi8qIFdpY2h0aWctRmVpZXJ0YWcgQmFkZ2UgKi8KLmZlaWVydGFnLXdpY2h0aWctYmFkZ2Ug +ewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOiAycHggOHB4OyBib3JkZXItcmFk +aXVzOiB2YXIoLS1yYWRpdXMtbGcpOyBmb250LXNpemU6IHZhcigtLWZzLXhzKTsgZm9udC13ZWln +aHQ6IDcwMDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWZhcmJlLWZlaGxlcik7IGNvbG9yOiAjZmZm +OyBsZXR0ZXItc3BhY2luZzogMC40cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KLmJ0 +bi1zb3J0aWVydW5nIHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IDFweCBz +b2xpZCB2YXIoLS1ib3JkZXItY29sb3IpOyBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOwog +ICAgd2lkdGg6IDI2cHg7IGhlaWdodDogMjZweDsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWdu +LWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgYm9yZGVyLXJhZGl1 +czogdmFyKC0tcmFkaXVzLXhzKTsgY3Vyc29yOiBwb2ludGVyOyBmb250LXNpemU6IHZhcigtLWZz +LWxnKTsgcGFkZGluZzogMDsKICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tc3RkKTsK +fQouYnRuLXNvcnRpZXJ1bmc6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7IGJv +cmRlci1jb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsgY29sb3I6IHZhcigtLXRleHQtaGVhZGlu +Zyk7IH0KCi8qID09PT09IEZvcm11bGFyZSA9PT09PSAqLwouZm9ybS1ncnVwcGUgeyBtYXJnaW4t +Ym90dG9tOiAxNHB4OyB9Ci5mb3JtLWdydXBwZSBsYWJlbCB7IGRpc3BsYXk6IGJsb2NrOyBmb250 +LXNpemU6IHZhcigtLWZzLWJhc2UpOyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tdGV4 +dC1zZWNvbmRhcnkpOyBtYXJnaW4tYm90dG9tOiA0cHg7IH0KCi8qIFBmbGljaHRmZWxkLU1hcmtp +ZXJ1bmcgKFVYLUF1ZGl0IFNwcmludCAyLjEsIDIwMjYtMDUtMjkpLgogICBWb3JoZXI6IG51ciBU +ZXh0LSIqIiBpbSBMYWJlbCwgbGVpY2h0IHp1IHVlYmVyc2VoZW4uIEpldHp0OgogICAtIHJvdGVz +IFN0ZXJuY2hlbiBhdXRvbWF0aXNjaCB2aWEgOjphZnRlcgogICAtIGxpbmtlciByb3RlciBCb3Jk +ZXIgYW0gRWluZ2FiZWZlbGQKICAgLSAuZmVsZC1mZWhsZXItS2xhc3NlIGZ1ZXIgYWt0aXZlIFZh +bGlkaWVydW5ncy1IZXJ2b3JoZWJ1bmcgKi8KLmZvcm0tZ3J1cHBlLmZvcm0tcGZsaWNodCA+IGxh +YmVsOjphZnRlciB7CiAgICBjb250ZW50OiAnIConOwogICAgY29sb3I6IHZhcigtLWZhcmJlLWZl +aGxlcik7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbWFyZ2luLWxlZnQ6IDJweDsKfQouZm9y +bS1ncnVwcGUuZm9ybS1wZmxpY2h0ID4gLmZvcm0taW5wdXQsCi5mb3JtLWdydXBwZS5mb3JtLXBm +bGljaHQgLmZvcm0taW5wdXQgewogICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1mYXJi +ZS1mZWhsZXIpOwogICAgcGFkZGluZy1sZWZ0OiA2cHg7Cn0KLmZvcm0taW5wdXQuZmVsZC1mZWhs +ZXIgewogICAgYmFja2dyb3VuZDogcmdiYSgxNzYsIDU4LCA0NiwgMC4wOCk7CiAgICBib3JkZXIt +Y29sb3I6IHZhcigtLWZhcmJlLWZlaGxlcik7Cn0KCi8qIExhZW5nZW4tQ291bnRlciAoUGFrZXQt +QiBRdWljay1XaW4sIDIwMjYtMDUtMjkpLgogICBLbGVpbiwgcmVjaHRzYnVlbmRpZyB1bnRlciBk +ZW0gRWluZ2FiZWZlbGQsIGZhZXJidCBzaWNoIGJlaSBBbm5hZWhlcnVuZwogICBhbnMgTGltaXQg +Z2VsYiB1bmQgYmVpIHZvbGwgcm90LiAqLwoubGFlbmdlLWNvdW50ZXIgewogICAgZGlzcGxheTog +YmxvY2s7CiAgICBmb250LXNpemU6IHZhcigtLWZzLXhzKTsKICAgIGNvbG9yOiB2YXIoLS10ZXh0 +LW11dGVkKTsKICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgbWFyZ2luLXRvcDogMnB4OwogICAg +Zm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsKfQoubGFlbmdlLWNvdW50ZXIubGFl +bmdlLWNvdW50ZXItd2FybiB7IGNvbG9yOiB2YXIoLS1mYXJiZS13YXJudW5nKTsgZm9udC13ZWln +aHQ6IDYwMDsgfQoubGFlbmdlLWNvdW50ZXIubGFlbmdlLWNvdW50ZXItdm9sbCB7IGNvbG9yOiB2 +YXIoLS1mYXJiZS1mZWhsZXIpOyBmb250LXdlaWdodDogNzAwOyB9CgovKiBMYWRlLU92ZXJsYXkg +KFBha2V0LUMsIDIwMjYtMDUtMjkpIOKAlCB1bml2ZXJzZWxsZXIgU3Bpbm5lciBmdWVyIEFzeW5j +LQogICBPcGVyYXRpb25lbi4gV2lyZCBwZXIgbGFkZU92ZXJsYXlaZWlnZW4oKSBpbiBkZW4gQ29u +dGFpbmVyIGluaml6aWVydC4gKi8KLmxhZGUtb3ZlcmxheSB7CiAgICBwb3NpdGlvbjogYWJzb2x1 +dGU7CiAgICB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7CiAgICBiYWNrZ3Jv +dW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODIpOwogICAgZGlzcGxheTogZmxleDsgZmxleC1k +aXJlY3Rpb246IGNvbHVtbjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVu +dDogY2VudGVyOwogICAgZ2FwOiB2YXIoLS1zcC0zKTsKICAgIHotaW5kZXg6IHZhcigtLXotb3Zl +cmxheSk7Cn0KW2RhdGEtdGhlbWU9Im5pZ2h0Il0gLmxhZGUtb3ZlcmxheSB7IGJhY2tncm91bmQ6 +IHJnYmEoMjEsIDI5LCAzNywgMC44OCk7IH0KLmxhZGUtb3ZlcmxheS1zcGlubmVyIHsKICAgIHdp +ZHRoOiAzOHB4OyBoZWlnaHQ6IDM4cHg7CiAgICBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1ib3Jk +ZXItbGlnaHQpOwogICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tZmFyYmUtYWt6ZW50KTsKICAg +IGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGFuaW1hdGlvbjogbGFkZS1vdmVybGF5LXNwaW4gMC44 +cyBsaW5lYXIgaW5maW5pdGU7Cn0KQGtleWZyYW1lcyBsYWRlLW92ZXJsYXktc3BpbiB7CiAgICB0 +byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0KfQoubGFkZS1vdmVybGF5LXRleHQgewog +ICAgZm9udC1zaXplOiB2YXIoLS1mcy1tZCk7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRh +cnkpOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKfQouZm9ybS1pbnB1dCB7CiAgICBwYWRkaW5nOiA4 +cHggMTJweDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXN0cm9uZyk7IGJvcmRlci1y +YWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7CiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1z +aXplOiB2YXIoLS1mcy1tZCk7IGJhY2tncm91bmQ6IHZhcigtLWJnLWlucHV0KTsgY29sb3I6IHZh +cigtLXRleHQtcHJpbWFyeSk7CiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLXN0ZCk7 +Cn0KLmZvcm0taW5wdXQ6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyBib3JkZXItY29sb3I6IHZhcigt +LXRleHQtaGVhZGluZyk7IGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDI2LDU4LDkyLDAuMTIp +OyB9CgovKiA9PT09PSBJbmZvLUJveCA9PT09PSAqLwouaW5mby1ib3ggewogICAgYmFja2dyb3Vu +ZDogdmFyKC0tYmctY2FyZC1hbHQpOyBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLXRleHQt +aGVhZGluZyk7CiAgICBwYWRkaW5nOiAxNHB4IDE4cHg7IGJvcmRlci1yYWRpdXM6IDAgNnB4IDZw +eCAwOyBmb250LXNpemU6IHZhcigtLWZzLW1kKTsgbGluZS1oZWlnaHQ6IDEuNjsKICAgIGNvbG9y +OiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7Cn0KCi8qID09PT09IFNjaGljaHRjb2RlLVZvcnNjaGF1 +ID09PT09ICovCi5zY2hpY2h0Y29kZS1rYXJ0ZSB7CiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1p +dGVtczogY2VudGVyOyBnYXA6IDEwcHg7CiAgICBwYWRkaW5nOiA2cHggOHB4IDZweCA2cHg7IGJv +cmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7IGZvbnQtc2l6ZTogdmFyKC0tZnMtbWQpOyBm +b250LXdlaWdodDogNjAwOwogICAgbWluLWhlaWdodDogNDJweDsKfQouc2NoaWNodGNvZGUtZmFy +YmZlbGQgewogICAgbWluLXdpZHRoOiA0NHB4OyBoZWlnaHQ6IDMwcHg7IGJvcmRlci1yYWRpdXM6 +IHZhcigtLXJhZGl1cy1zbSk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTsKICAg +IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRl +bnQ6IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtYmFzZSk7IGZvbnQtd2VpZ2h0OiA3 +MDA7IHBhZGRpbmc6IDAgNHB4OwogICAgZmxleC1zaHJpbms6IDA7Cn0KLnNjLWVkaXQtYnRuIHsg +cGFkZGluZzogM3B4IDZweDsgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7IGZsZXgtc2hyaW5rOiAw +OyB9Ci5zYy1lZGl0LWJ0bjo6YmVmb3JlIHsgY29udGVudDogJ+Kcjic7IGZvbnQtc2l6ZTogdmFy +KC0tZnMtc20pOyB9CgovKiBTY2hpY2h0Y29kZS1LYXJ0ZW46IEVyd2VpdGVydW5nZW4gZnVlciBB +a3Rpdi1Ub2dnbGUsIFZlcndlbmR1bmdzLUJhZGdlLCBEcmFnICovCi5zY2hpY2h0Y29kZS1rYXJ0 +ZS5zYy1pbmFrdGl2IHsgb3BhY2l0eTogMC40NTsgZmlsdGVyOiBncmF5c2NhbGUoMC40NSk7IH0K +LnNjaGljaHRjb2RlLWthcnRlLnNjLWRyYWcgeyBjdXJzb3I6IGRlZmF1bHQ7IH0KLnNjaGljaHRj +b2RlLWthcnRlLnNjLWRyYWdnaW5nIHsgb3BhY2l0eTogMC4zNTsgfQouc2NoaWNodGNvZGUta2Fy +dGUuc2MtZHJvcC1pbmRpY2F0b3IgeyBvdXRsaW5lOiAycHggZGFzaGVkIHZhcigtLWZhcmJlLXBy +aW1hZXIpOyBvdXRsaW5lLW9mZnNldDogLTFweDsgfQouc2MtZHJhZy1oYW5kbGUgewogICAgY3Vy +c29yOiBncmFiOyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgcGFk +ZGluZzogMCA0cHg7CiAgICB1c2VyLXNlbGVjdDogbm9uZTsgZmxleC1zaHJpbms6IDA7Cn0KLnNj +LWRyYWctaGFuZGxlOmFjdGl2ZSB7IGN1cnNvcjogZ3JhYmJpbmc7IH0KLnNjLWFuemFobC1iYWRn +ZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDFweCA2cHg7IGJvcmRlci1y +YWRpdXM6IDhweDsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpOyBmb250LXdlaWdodDogNzAw +OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmlt +YXJ5KTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsKICAgIHZlcnRpY2Fs +LWFsaWduOiBtaWRkbGU7IG1hcmdpbi1sZWZ0OiA0cHg7Cn0KLnNjLWFuemFobC1iYWRnZS5zYy1h +bnphaGwtbnVsbCB7IG9wYWNpdHk6IDAuNTsgfQouc2MtdG9nZ2xlIHsKICAgIGJhY2tncm91bmQ6 +IG5vbmU7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7IGJvcmRlci1yYWRp +dXM6IDUwJTsKICAgIHdpZHRoOiAyMnB4OyBoZWlnaHQ6IDIycHg7IHBhZGRpbmc6IDA7IGxpbmUt +aGVpZ2h0OiAxOyBjdXJzb3I6IHBvaW50ZXI7CiAgICBmb250LXNpemU6IHZhcigtLWZzLW1kKTsg +ZmxleC1zaHJpbms6IDA7Cn0KLnNjLXRvZ2dsZS1ha3RpdiB7IGNvbG9yOiB2YXIoLS1mYXJiZS1l +cmZvbGcpOyBib3JkZXItY29sb3I6IHJnYmEoMzksMTM3LDEwOSwwLjUpOyB9Ci5zYy10b2dnbGUt +YWt0aXY6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDM5LDEzNywxMDksMC4xMik7IH0KLnNjLXRv +Z2dsZS1pbmFrdGl2IHsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyB9Ci5zYy10b2dnbGUtaW5h +a3Rpdjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpOyBjb2xvcjogdmFyKC0t +ZmFyYmUtZXJmb2xnKTsgfQoKLyogPT09PT0gR2VuZXJhdG9yID09PT09ICovCi5nZW5lcmF0b3It +Zm9ybSB7IG1heC13aWR0aDogNTAwcHg7IH0KI2dlbmVyYXRvci1lcmdlYm5pcyB7CiAgICBtYXJn +aW4tdG9wOiAxNnB4OyBwYWRkaW5nOiAxNHB4IDE4cHg7CiAgICBib3JkZXItcmFkaXVzOiB2YXIo +LS1yYWRpdXMtbWQpOyBmb250LXNpemU6IHZhcigtLWZzLWxnKTsgZm9udC13ZWlnaHQ6IDYwMDsK +fQouZ2VuLWVyZm9sZyB7IGJhY2tncm91bmQ6ICNlOGY1ZTk7IGNvbG9yOiAjMmU3ZDMyOyBib3Jk +ZXI6IDFweCBzb2xpZCAjYTVkNmE3OyB9CltkYXRhLXRoZW1lPSJuaWdodCJdIC5nZW4tZXJmb2xn +IHsgYmFja2dyb3VuZDogIzFhMzAyMDsgY29sb3I6ICM2NmJiNmE7IGJvcmRlci1jb2xvcjogIzJl +N2QzMjsgfQovKiBTdGF0dXMtQm94IGZ1ZXIgVGVzdGRhdGVuL1Jlc2V0IChtYXJnaW4vcGFkZGlu +ZyB3aWUgI2dlbmVyYXRvci1lcmdlYm5pcykuICovCiN0ZXN0ZGF0ZW4tZXJnZWJuaXMgeyBtYXJn +aW4tdG9wOiAxNnB4OyBwYWRkaW5nOiAxNHB4IDE4cHg7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJh +ZGl1cy1tZCk7IGZvbnQtc2l6ZTogdmFyKC0tZnMtbGcpOyBmb250LXdlaWdodDogNjAwOyB9Ci5n +ZW4taW5mbyAgIHsgYmFja2dyb3VuZDogI2UzZjJmZDsgY29sb3I6ICMxNTY1YzA7IGJvcmRlcjog +MXB4IHNvbGlkICM5MGNhZjk7IH0KW2RhdGEtdGhlbWU9Im5pZ2h0Il0gLmdlbi1pbmZvICAgeyBi +YWNrZ3JvdW5kOiAjMTYyNjNhOyBjb2xvcjogIzVhOWZkYjsgYm9yZGVyLWNvbG9yOiAjMTU2NWMw +OyB9Ci5nZW4tZmVobGVyIHsgYmFja2dyb3VuZDogI2ZmZWJlZTsgY29sb3I6ICNjNjI4Mjg7IGJv +cmRlcjogMXB4IHNvbGlkICNlZjlhOWE7IH0KW2RhdGEtdGhlbWU9Im5pZ2h0Il0gLmdlbi1mZWhs +ZXIgeyBiYWNrZ3JvdW5kOiAjM2ExYTFhOyBjb2xvcjogI2U1NzM3MzsgYm9yZGVyLWNvbG9yOiAj +YzYyODI4OyB9CgovKiBGb3J0c2Nocml0dHMtQW5pbWF0aW9uIHdhZWhyZW5kIFJlc2V0L0R1bW15 +ZGF0ZW4gKHVuYmVzdGltbXQg4oCUIGRlciBTZXJ2ZXIKICAgbGllZmVydCBrZWluZSBad2lzY2hl +bnN0YWVuZGUsIGRhaGVyIFNwaW5uZXIgKyBlbmRsb3MgbGF1ZmVuZGVyIEJhbGtlbikuICovCi5n +ZW4tcHJvZ3Jlc3Mtd3JhcCB7CiAgICBtYXJnaW4tdG9wOiAxNnB4OyBwYWRkaW5nOiAxNHB4IDE4 +cHg7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7CiAgICBmb250LXNpemU6IHZhcigt +LWZzLWxnKTsgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGJhY2tncm91bmQ6ICNlM2YyZmQ7IGNvbG9y +OiAjMTU2NWMwOyBib3JkZXI6IDFweCBzb2xpZCAjOTBjYWY5Owp9CltkYXRhLXRoZW1lPSJuaWdo +dCJdIC5nZW4tcHJvZ3Jlc3Mtd3JhcCB7IGJhY2tncm91bmQ6ICMxNjI2M2E7IGNvbG9yOiAjNWE5 +ZmRiOyBib3JkZXItY29sb3I6ICMxNTY1YzA7IH0KLmdlbi1wcm9ncmVzcy1sYWJlbCB7IGRpc3Bs +YXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsgfQouZ2VuLXByb2dyZXNz +LWxhYmVsOjpiZWZvcmUgewogICAgY29udGVudDogIiI7IGZsZXg6IG5vbmU7IHdpZHRoOiAxNnB4 +OyBoZWlnaHQ6IDE2cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlcjogMnB4IHNvbGlk +IGN1cnJlbnRDb2xvcjsgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBhbmltYXRp +b246IGdlbi1zcGluIDAuN3MgbGluZWFyIGluZmluaXRlOwp9Ci5nZW4tcHJvZ3Jlc3MtYmFyIHsK +ICAgIG1hcmdpbi10b3A6IDEwcHg7IGhlaWdodDogNnB4OyBib3JkZXItcmFkaXVzOiAzcHg7CiAg +ICBiYWNrZ3JvdW5kOiByZ2JhKDIxLDEwMSwxOTIsMC4xOCk7IG92ZXJmbG93OiBoaWRkZW47IHBv +c2l0aW9uOiByZWxhdGl2ZTsKfQouZ2VuLXByb2dyZXNzLWJhciA+IHNwYW4gewogICAgcG9zaXRp +b246IGFic29sdXRlOyB0b3A6IDA7IGJvdHRvbTogMDsgd2lkdGg6IDQwJTsgYm9yZGVyLXJhZGl1 +czogM3B4OwogICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yOyBhbmltYXRpb246IGdlbi1pbmRl +dGVybWluYXRlIDEuMXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KQGtleWZyYW1lcyBnZW4tc3Bp +biB7IHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9CkBrZXlmcmFtZXMgZ2VuLWlu +ZGV0ZXJtaW5hdGUgeyAwJSB7IGxlZnQ6IC00MCU7IH0gMTAwJSB7IGxlZnQ6IDEwMCU7IH0gfQpA +bWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewogICAgLmdlbi1wcm9ncmVz +cy1sYWJlbDo6YmVmb3JlIHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjZzOyB9CiAgICAuZ2VuLXBy +b2dyZXNzLWJhciA+IHNwYW4geyBhbmltYXRpb246IG5vbmU7IGxlZnQ6IDA7IHdpZHRoOiAxMDAl +OyBvcGFjaXR5OiAwLjY7IH0KfQoKLyogPT09PT0gU3RhdGlzdGlrID09PT09ICovCi5sYXlvdXQt +c3RhdGlzdGlreyBvdmVyZmxvdy15OiBhdXRvOyBwYWRkaW5nOiAyMHB4IDI0cHg7IGZsZXg6IDE7 +IH0KCi8qIEtQSS1LYWNoZWxuICovCi5zdGF0cy1rcGlzIHsKICAgIGRpc3BsYXk6IGdyaWQ7IGdy +aWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTQwcHgsIDFmcikp +OwogICAgZ2FwOiAxMnB4OyBtYXJnaW4tYm90dG9tOiAyMHB4Owp9Ci5zdGF0cy1rcGkgewogICAg +YmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1s +Zyk7IHBhZGRpbmc6IDE2cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGln +aHQpOyB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggdmFyKC0t +c2hhZG93LWxpZ2h0KTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2U7Cn0KLnN0YXRz +LWtwaTpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgYm94LXNoYWRvdzogMCA0 +cHggMTJweCB2YXIoLS1zaGFkb3ctbWVkaXVtKTsgfQouc3RhdHMta3BpLXdlcnQgeyBmb250LXNp +emU6IDI4cHg7IGZvbnQtd2VpZ2h0OiA4MDA7IGxpbmUtaGVpZ2h0OiAxLjE7IGZvbnQtdmFyaWFu +dC1udW1lcmljOiB0YWJ1bGFyLW51bXM7IH0KLnN0YXRzLWtwaS1sYWJlbCB7IGZvbnQtc2l6ZTog +dmFyKC0tZnMtc20pOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IG1hcmdpbi10b3A6IDRweDsg +Zm9udC13ZWlnaHQ6IDYwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNp +bmc6IDAuNXB4OyB9CgovKiBEYXNoYm9hcmQtR3JpZCAoQWx0IOKAlCBibGVpYnQgZnVlciBldnRs +LiBSZXN0bnV0enVuZywgU3RhdGlzdGlrLVRhYiBudXR6dCBqZXR6dCAuc3RhdHMtZ3JpZCkgKi8K +LnN0YXRzLWRhc2hib2FyZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczog +MWZyIDFmcjsgZ2FwOiAxNnB4OyBtYXJnaW4tYm90dG9tOiAxNnB4OyB9CkBtZWRpYSAobWF4LXdp +ZHRoOiA5MDBweCkgeyAuc3RhdHMtZGFzaGJvYXJkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAx +ZnI7IH0gfQoKLyogPT09PT0gRWluaGVpdGxpY2hlcyA2LVNwYWx0ZW4tUmFzdGVyIChrb25maWd1 +cmllcmJhciB2aWEgc3RhdGlzdGlrTGF5b3V0KSA9PT09PQogICBKZWRlIEthY2hlbCBiZWxlZ3Qg +c3BhbiA2ICh2b2xsLzE6MSksIDMgKGhhbGIvMToyKSBvZGVyIDIgKGRyaXR0ZWwvMTozKS4gRGll +CiAgIGtvbmtyZXRlIEJyZWl0ZSBzZXR6dCBzdGF0aXN0aWsuanMgKGxheW91dEFud2VuZGVuKSBw +ZXIgaW5saW5lIGdyaWQtY29sdW1uLiAqLwouc3RhdHMtZ3JpZCB7CiAgICBkaXNwbGF5OiBncmlk +OyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpOwogICAgZ2FwOiAxNnB4OyBt +YXJnaW4tYm90dG9tOiAxNnB4OyBhbGlnbi1pdGVtczogc3RhcnQ7Cn0KLyogVm9tIFNVLUxheW91 +dCBhdXNnZWJsZW5kZXRlIEthY2hlbCAocmVjaHRlYmFzaWVydGVzIGRpc3BsYXk6bm9uZSBibGVp +YnQgZGF2b24KICAgdW5iZXJ1ZWhydCDigJQgYmVpZGVzIHZlcnN0ZWNrdCB1bmFiaGFlbmdpZyB2 +b25laW5hbmRlcikuICovCi5zdGF0cy1wYW5lbC50aWxlLXZlcnN0ZWNrdCB7IGRpc3BsYXk6IG5v +bmUgIWltcG9ydGFudDsgfQpAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsKICAgIC5zdGF0cy1n +cmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0KICAgIC5zdGF0cy1ncmlkID4gLnN0 +YXRzLXBhbmVsIHsgZ3JpZC1jb2x1bW46IDEgLyAtMSAhaW1wb3J0YW50OyB9Cn0KCi8qIEJhdWth +c3Rlbi1MZWlzdGUgKEJ1aWxkZXItQnV0dG9uIGltIFN0YXRpc3Rpay1Lb3BmKSAqLwouc3RhdHMt +YmF1a2FzdGVuLWxlaXN0ZSB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdh +cDogMTJweDsgbWFyZ2luLWJvdHRvbTogMTZweDsgZmxleC13cmFwOiB3cmFwOyB9Ci5zdGF0cy1i +YXVrYXN0ZW4taGlud2VpcyB7IGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOyBjb2xvcjogdmFyKC0t +dGV4dC1tdXRlZCk7IH0KCi8qIEJhdWthc3Rlbi1LYWNoZWw6IEJhZGdlICsgV2VyLUxhYmVsIGlt +IEtvcGYsIFJhbmctTnVtbWVyIGltIEJhbGtlbiAqLwouc3RhdHMtYmstYmFkZ2UgewogICAgZGlz +cGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDEwcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxl +dHRlci1zcGFjaW5nOiAuMDNlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHBhZGRp +bmc6IDFweCA2cHg7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7CiAgICBiYWNrZ3Jv +dW5kOiB2YXIoLS1iZy1wcmltYXJ5KTsgY29sb3I6IHZhcigtLXRleHQtb24tcHJpbWFyeSwgI2Zm +Zik7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KLnN0YXRzLWJrLXdlciB7IGZvbnQtc2l6ZTog +dmFyKC0tZnMtc20pOyBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOyB3aGl0ZS1zcGFjZTog +bm93cmFwOyB9Ci5zdGF0cy1iay1yYW5nIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtaW4td2lk +dGg6IDEuNmVtOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGZvbnQtdmFyaWFudC1udW1lcmlj +OiB0YWJ1bGFyLW51bXM7IH0KCi8qID09PT09IEJ1aWxkZXItTW9kYWwgPT09PT0gKi8KLmJrLWJ1 +aWxkZXIgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgyMjBw +eCwgMWZyKSBtaW5tYXgoMjYwcHgsIDEuNGZyKTsgZ2FwOiAxOHB4OyB9CkBtZWRpYSAobWF4LXdp +ZHRoOiA3MjBweCkgeyAuYmstYnVpbGRlciB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9 +IH0KLmJrLWZvcm0geyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6 +IDEwcHg7IH0KLmJrLWZlbGQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1u +OyBnYXA6IDRweDsgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7IGZvbnQtd2VpZ2h0OiA2MDA7IGNv +bG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7IH0KLmJrLWZlbGQgLmZvcm0taW5wdXQgeyBmb250 +LXdlaWdodDogNDAwOyB9Ci5iay12b3JzY2hhdSB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1j +YXJkLWFsdCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7CiAgICBib3Jk +ZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpOyBwYWRkaW5nOiAxMnB4IDE0cHg7IG1pbi13aWR0 +aDogMDsKfQouYmstdm9yc2NoYXUtdGl0ZWwgeyBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgZm9u +dC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IG1hcmdpbi1ib3R0b206 +IDhweDsgfQouYmstdm9yc2NoYXUgLnN0YXRzLWNoYXJ0LWFyZWEgeyBtYXgtaGVpZ2h0OiAzMjBw +eDsgfQouYmstbGlzdGUgeyBtYXJnaW4tdG9wOiAxOHB4OyBib3JkZXItdG9wOiAxcHggc29saWQg +dmFyKC0tYm9yZGVyLWxpZ2h0KTsgcGFkZGluZy10b3A6IDEycHg7IH0KLmJrLWxpc3RlLXRpdGVs +IHsgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIo +LS10ZXh0LWhlYWRpbmcpOyBtYXJnaW4tYm90dG9tOiA4cHg7IH0KLmJrLWxpc3RlLWxlZXIgeyBm +b250LXNpemU6IHZhcigtLWZzLXNtKTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyB9Ci5iay1s +aXN0ZS1pdGVtcyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDog +NnB4OyB9Ci5iay1saXN0ZS1pdGVtIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRl +cjsgZ2FwOiAxMHB4OyBwYWRkaW5nOiA2cHggOHB4OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1i +b3JkZXItbGlnaHQpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpOyB9Ci5iay1saXN0 +ZS1uYW1lIHsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IH0K +LmJrLWxpc3RlLW1ldGEgeyBmbGV4OiAxOyBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgY29sb3I6 +IHZhcigtLXRleHQtbXV0ZWQpOyB9CgovKiA9PT09PSBBZG1pbjogU3RhdGlzdGlrLUxheW91dC1S +YXN0ZXIgKFNVLW9ubHkpID09PT09ICovCi5zbC1sZWdlbmRlIHsgZm9udC1zaXplOiB2YXIoLS1m +cy1zbSk7IGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7IG1hcmdpbi1ib3R0b206IDE0cHg7 +IH0KLnNsLXJhc3RlciB7IG1hcmdpbi1ib3R0b206IDA7IH0KLnNsLXRpbGUgewogICAgZ3JpZC1j +b2x1bW46IHNwYW4gNjsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNv +bGlkIHZhcigtLWJvcmRlci1jb2xvcik7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMt +bWQpOyBwYWRkaW5nOiAxMHB4IDEycHg7IGN1cnNvcjogcG9pbnRlcjsgdXNlci1zZWxlY3Q6IG5v +bmU7CiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggdmFyKC0tc2hhZG93LWxpZ2h0KTsgdHJhbnNp +dGlvbjogYm9yZGVyLWNvbG9yIC4xMnMgZWFzZSwgYm94LXNoYWRvdyAuMTJzIGVhc2UsIG9wYWNp +dHkgLjEycyBlYXNlOwogICAgbWluLXdpZHRoOiAwOwp9Ci5zbC10aWxlOmhvdmVyIHsgYm9yZGVy +LWNvbG9yOiB2YXIoLS1iZy1wcmltYXJ5KTsgYm94LXNoYWRvdzogMCAycHggNnB4IHZhcigtLXNo +YWRvdy1tZWRpdW0pOyB9Ci5zbC10aWxlLWtvcGYgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVt +czogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGdhcDogOHB4OyBtYXJn +aW4tYm90dG9tOiA2cHg7IH0KLnNsLWJhZGdlIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsg +Zm9udC1zaXplOiAxMHB4OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJj +YXNlOyBsZXR0ZXItc3BhY2luZzogLjAzZW07CiAgICBwYWRkaW5nOiAxcHggNnB4OyBib3JkZXIt +cmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTsg +Y29sb3I6IHZhcigtLXRleHQtb24tcHJpbWFyeSwgI2ZmZik7Cn0KLnNsLWJhZGdlLWZlc3QgeyBi +YWNrZ3JvdW5kOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7IH0KLnNsLWF1Z2UgeyBiYWNrZ3JvdW5k +OiB2YXIoLS1iZy1jYXJkLWFsdCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdo +dCk7IGN1cnNvcjogcG9pbnRlcjsgZm9udC1zaXplOiAxMXB4OyBmb250LXdlaWdodDogNjAwOyBs +aW5lLWhlaWdodDogMS4yOyBwYWRkaW5nOiAycHggOHB4OyBib3JkZXItcmFkaXVzOiB2YXIoLS1y +YWRpdXMtc20pOyBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOyB9Ci5zbC1hdWdlOmhvdmVy +IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1iZy1wcmltYXJ5KTsgY29sb3I6IHZhcigtLXRleHQtaGVh +ZGluZyk7IH0KLnNsLXRpbGUtdGl0ZWwgeyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0t +dGV4dC1oZWFkaW5nKTsgZm9udC1zaXplOiB2YXIoLS1mcy1tZCk7IG92ZXJmbG93OiBoaWRkZW47 +IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9Ci5zbC10aWxl +LWJyZWl0ZSB7IGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRl +ZCk7IG1hcmdpbi10b3A6IDJweDsgfQouc2wtbWluIHsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQp +OyB9Ci5zbC10aWxlLnNsLXVuc2ljaHRiYXIgeyBvcGFjaXR5OiAuNTsgfQouc2wtdGlsZS5zbC1k +cmFnZ2luZyB7IG9wYWNpdHk6IC40OyB9Ci5zbC10aWxlLnNsLWRyb3AtemllbCB7IGJvcmRlci1j +b2xvcjogdmFyKC0tYmctcHJpbWFyeSk7IGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1iZy1w +cmltYXJ5KSBpbnNldDsgfQpAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsgLnNsLXRpbGUgeyBn +cmlkLWNvbHVtbjogMSAvIC0xICFpbXBvcnRhbnQ7IH0gfQoKLyogPT09PT0gTmF0aXZlIFNWRy1E +aWFncmFtbWUgKHN0YXRpc3Rpa19jaGFydHMuanMpID09PT09ICovCi5zdGF0LXN2ZyB7IGZvbnQt +ZmFtaWx5OiBpbmhlcml0OyB9Ci5zdGF0LWF4IHsgZmlsbDogdmFyKC0tdGV4dC1tdXRlZCk7IGZv +bnQtc2l6ZTogMTFweDsgfQouc3RhdC1heC1uYW1lIHsgZmlsbDogdmFyKC0tdGV4dC1zZWNvbmRh +cnkpOyBmb250LXNpemU6IDExcHg7IH0KLnN0YXQtYXgtbGVnIHsgZmlsbDogdmFyKC0tdGV4dC1z +ZWNvbmRhcnkpOyBmb250LXNpemU6IDEycHg7IH0KLnN0YXQtYXgtdGl0ZWwgeyBmaWxsOiB2YXIo +LS10ZXh0LXNlY29uZGFyeSk7IGZvbnQtc2l6ZTogMTJweDsgZm9udC13ZWlnaHQ6IDYwMDsgfQou +c3RhdC1oZWF0LXdlcnQgeyBmb250LXNpemU6IDExcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KLnN0 +YXQtZG9udXQtbWl0dGUgeyBmaWxsOiB2YXIoLS10ZXh0LWhlYWRpbmcpOyBmb250LXNpemU6IDIy +cHg7IGZvbnQtd2VpZ2h0OiA4MDA7IH0KLnN0YXQtbGVnZW5kZSB7IGRpc3BsYXk6IGZsZXg7IGZs +ZXgtd3JhcDogd3JhcDsgZ2FwOiA2cHggMTRweDsgbWFyZ2luLXRvcDogOHB4OyB9Ci5zdGF0LWxl +Zy1pdGVtIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDog +NXB4OyBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5 +KTsgfQouc3RhdC1sZWctYm94IHsgd2lkdGg6IDEycHg7IGhlaWdodDogMTJweDsgYm9yZGVyLXJh +ZGl1czogM3B4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0KLnN0YXQtcGl2b3QgdGgsIC5zdGF0 +LXBpdm90IHRkIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfQouc3RhdC1rcGktd3JhcCB7IGRpc3Bs +YXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTRweDsgfQouc3RhdC1rcGkt +Z3Jvc3MgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDhweCAwOyB9Ci5zdGF0LWtwaS1n +cm9zcy13ZXJ0IHsgZm9udC1zaXplOiA0MHB4OyBmb250LXdlaWdodDogODAwOyBjb2xvcjogdmFy +KC0tdGV4dC1oZWFkaW5nKTsgbGluZS1oZWlnaHQ6IDE7IH0KLnN0YXQta3BpLWdyb3NzLWxhYmVs +IHsgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7IGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7 +IG1hcmdpbi10b3A6IDRweDsgfQouc3RhdC1rcGktbWluaSB7IG1hcmdpbi1ib3R0b206IDA7IH0K +Ci8qID09PT09IFN0YXRpc3Rpay1CdWlsZGVyIChhZG1pbl9zdGF0aXN0aWtfYnVpbGRlci5qcykg +PT09PT0gKi8KLmJsZC1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5z +OiBtaW5tYXgoMjgwcHgsIDM2MHB4KSAxZnI7IGdhcDogMjBweDsgYWxpZ24taXRlbXM6IHN0YXJ0 +OyB9CkBtZWRpYSAobWF4LXdpZHRoOiA5ODBweCkgeyAuYmxkLWdyaWQgeyBncmlkLXRlbXBsYXRl +LWNvbHVtbnM6IDFmcjsgfSB9CgovKiBFeGNlbC1FeHBvcnQtRm9ybXVsYXIgKEFkbWluLVRhYiDi +gJ5FeGNlbC1FeHBvcnQiKSDigJQgc2NobWFsZSBTcGFsdGUsIG51dHp0CiAgIGFuc29uc3RlbiBk +aWUgLmJsZC0qLUZlbGRzdGlsZSBtaXQuICovCi5leHAtZm9ybSB7IG1heC13aWR0aDogNjgwcHg7 +IH0KLmV4cC1mb3JtIC5ibGQtY2hpcHMgeyBtYXgtaGVpZ2h0OiAyMjBweDsgb3ZlcmZsb3cteTog +YXV0bzsgfQouYmxkLXNwYWx0ZS1mb3JtIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246 +IGNvbHVtbjsgZ2FwOiAxMnB4OyB9Ci5ibGQtZmVsZCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGly +ZWN0aW9uOiBjb2x1bW47IGdhcDogNXB4OyB9Ci5ibGQtZmVsZC10aXRlbCB7IGZvbnQtc2l6ZTog +dmFyKC0tZnMtc20pOyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRh +cnkpOyB9Ci5ibGQtZmVsZC0yIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5z +OiAxZnIgMWZyOyBnYXA6IDEwcHg7IH0KLmJsZC1taW5pIHsgZGlzcGxheTogZmxleDsgZmxleC1k +aXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA0cHg7IGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOyBjb2xv +cjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOyB9Ci5ibGQtc2VrdGlvbiB7IGJvcmRlcjogMXB4IHNv +bGlkIHZhcigtLWJvcmRlci1saWdodCk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7 +IHBhZGRpbmc6IDRweCAxMnB4IDEycHg7IH0KLmJsZC1zZWt0aW9uID4gc3VtbWFyeSB7IGN1cnNv +cjogcG9pbnRlcjsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7 +IHBhZGRpbmc6IDhweCAwOyB1c2VyLXNlbGVjdDogbm9uZTsgfQouYmxkLXNla3Rpb25bb3Blbl0g +PiBzdW1tYXJ5IHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7 +IG1hcmdpbi1ib3R0b206IDEwcHg7IH0KLmJsZC1zZWt0aW9uIC5ibGQtZmVsZCB7IG1hcmdpbi10 +b3A6IDEwcHg7IH0KLmJsZC1jaGlwcyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsg +Z2FwOiA4cHg7IH0KLmJsZC1jaGlwIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1z +OiBjZW50ZXI7IHBhZGRpbmc6IDVweCAxMnB4OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3Jk +ZXItY29sb3IpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOwogICAgZm9udC1zaXpl +OiB2YXIoLS1mcy1zbSk7IGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7IGN1cnNvcjogcG9p +bnRlcjsgdXNlci1zZWxlY3Q6IG5vbmU7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBsaW5l +LWhlaWdodDogMS4zOyB9Ci5ibGQtY2hpcCBpbnB1dCB7IGRpc3BsYXk6IG5vbmU7IH0KLmJsZC1j +aGlwLmFuIHsgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7IGNvbG9yOiB2YXIoLS10ZXh0 +LW9uLXByaW1hcnksICNmZmYpOyBib3JkZXItY29sb3I6IHZhcigtLWJnLXByaW1hcnkpOyB9Ci5i +bGQtdG9nZ2xlcyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiAxNHB4OyBt +YXJnaW4tdG9wOiAxMHB4OyB9Ci5ibGQtdG9nZ2xlIHsgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7 +IGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGln +bi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsgY3Vyc29yOiBwb2ludGVyOyB9Ci5ibGQtcGVycy1o +aW53ZWlzIHsgZm9udC1zaXplOiAxMXB4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IG1hcmdp +bjogMCAwIDEwcHggMDsgfQouYmxkLXBlcnMtZ3JwIHsgbWFyZ2luLWJvdHRvbTogMTJweDsgfQou +YmxkLXBlcnMtZ3JwLWtvcGYgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBq +dXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGdhcDogOHB4OyBtYXJnaW4tYm90dG9tOiA2 +cHg7IH0KLmJsZC1wZXJzLWdycC1rb3BmID4gc3BhbiB7IGZvbnQtc2l6ZTogdmFyKC0tZnMtc20p +OyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsgfQouYmxkLXBl +cnMtemFobCB7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgZm9udC13ZWlnaHQ6IDQwMDsgfQou +YmxkLXNwYWx0ZS1hdXMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBn +YXA6IDE0cHg7IG1pbi13aWR0aDogMDsgfQouYmxkLWFrdGlvbmVuIHsgZGlzcGxheTogZmxleDsg +Z2FwOiAxMHB4OyBmbGV4LXdyYXA6IHdyYXA7IH0KLmJsZC1lcmdlYm5pcyB7IGJvcmRlcjogMXB4 +IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1s +Zyk7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBwYWRkaW5nOiAxNnB4IDE4cHg7IG1pbi1o +ZWlnaHQ6IDIwMHB4OyBtaW4td2lkdGg6IDA7IH0KLmJsZC1lcmdlYm5pcy1oaW50IHsgY29sb3I6 +IHZhcigtLXRleHQtbXV0ZWQpOyBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgfQouYmxkLWVyZ2Vi +bmlzLXRpdGVsIHsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7 +IG1hcmdpbi1ib3R0b206IDEwcHg7IH0KLmJsZC1lcmdlYm5pcy1jaGFydCB7IG92ZXJmbG93LXg6 +IGF1dG87IH0KLmJsZC1saXN0ZSB7IG1hcmdpbi10b3A6IDIycHg7IGJvcmRlci10b3A6IDFweCBz +b2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOyBwYWRkaW5nLXRvcDogMTRweDsgfQouYmxkLWxpc3Rl +LXRpdGVsIHsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IG1h +cmdpbi1ib3R0b206IDEwcHg7IH0KLmJsZC1saXN0ZS1sZWVyIHsgZm9udC1zaXplOiB2YXIoLS1m +cy1zbSk7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgfQouYmxkLWxpc3RlLWl0ZW1zIHsgZGlz +cGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA2cHg7IH0KLmJsZC1saXN0 +ZS1pdGVtIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OyBw +YWRkaW5nOiA3cHggMTBweDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsg +Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTsgfQouYmxkLWxpc3RlLWl0ZW0uYWt0aXYg +eyBib3JkZXItY29sb3I6IHZhcigtLWJnLXByaW1hcnkpOyBib3gtc2hhZG93OiAwIDAgMCAxcHgg +dmFyKC0tYmctcHJpbWFyeSkgaW5zZXQ7IH0KLmJsZC1saXN0ZS1uYW1lIHsgZm9udC13ZWlnaHQ6 +IDYwMDsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IH0KLmJsZC1saXN0ZS10eXAgeyBmbGV4 +OiAxOyBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyB9 +CgovKiBMaXZlLUZsdXNzZGlhZ3JhbW0gZGVyIEJ1aWxkZXItTG9naWsgKi8KLmJsZC1mbHVzcyB7 +IGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1ib3JkZXItY29sb3IpOyBib3JkZXItcmFkaXVzOiB2 +YXIoLS1yYWRpdXMtbWQpOyBwYWRkaW5nOiAxMHB4IDEycHg7IGJhY2tncm91bmQ6IHZhcigtLWJn +LWNhcmQtYWx0KTsgfQouZmx1c3MtdGl0ZWwgeyBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgZm9u +dC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsgbWFyZ2luLWJvdHRv +bTogOHB4OyB9Ci5mbHVzcy1rZXR0ZSB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBzdHJl +dGNoOyBnYXA6IDZweDsgZmxleC13cmFwOiB3cmFwOyB9Ci5mbHVzcy1zdGF0aW9uIHsgZmxleDog +MSAxIDExMHB4OyBtaW4td2lkdGg6IDEwMHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsg +Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsgYm9yZGVyLXJhZGl1czogdmFy +KC0tcmFkaXVzLW1kKTsgcGFkZGluZzogOHB4IDEwcHg7IH0KLmZsdXNzLWljIHsgZm9udC1zaXpl +OiAxOHB4OyBsaW5lLWhlaWdodDogMTsgfQouZmx1c3MtdCB7IGZvbnQtd2VpZ2h0OiA3MDA7IGNv +bG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOyBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgbWFyZ2lu +LXRvcDogNHB4OyB9Ci5mbHVzcy1zIHsgZm9udC1zaXplOiAxMXB4OyBjb2xvcjogdmFyKC0tdGV4 +dC1tdXRlZCk7IG1hcmdpbi10b3A6IDJweDsgd29yZC1icmVhazogYnJlYWstd29yZDsgfQouZmx1 +c3MtcGZlaWwgeyBhbGlnbi1zZWxmOiBjZW50ZXI7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsg +Zm9udC13ZWlnaHQ6IDcwMDsgfQoKLyogPT09PT0gUmVjaHRlICYgU2ljaHRiYXJrZWl0OiBSb2xs +ZW4gYWxzIGVpbmdla2xhcHB0ZSBVbnRlcnNlaXRlbiA9PT09PSAqLwoucmVjaHRlLXJvbGxlIHsg +Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsgYm9yZGVyLXJhZGl1czogdmFy +KC0tcmFkaXVzLW1kKTsgbWFyZ2luLWJvdHRvbTogMTJweDsgYmFja2dyb3VuZDogdmFyKC0tYmct +Y2FyZCk7IH0KLnJlY2h0ZS1yb2xsZSA+IHN1bW1hcnkgewogICAgbGlzdC1zdHlsZTogbm9uZTsg +Y3Vyc29yOiBwb2ludGVyOyB1c2VyLXNlbGVjdDogbm9uZTsKICAgIGRpc3BsYXk6IGZsZXg7IGFs +aWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTJweDsgcGFkZGluZzogMTRweCAxNnB4Owp9Ci5yZWNo +dGUtcm9sbGUgPiBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHsgZGlzcGxheTogbm9u +ZTsgfQoucmVjaHRlLXJvbGxlIC5yZWNodGUtY2FyZC1pY29uIHsgZm9udC1zaXplOiAyMHB4OyBm +bGV4LXNocmluazogMDsgfQoucmVjaHRlLXJvbGxlLXRpdGVsIHsgZGlzcGxheTogZmxleDsgZmxl +eC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAycHg7IGZsZXg6IDE7IG1pbi13aWR0aDogMDsgfQou +cmVjaHRlLXJvbGxlLXRpdGVsID4gc3Ryb25nIHsgZm9udC1zaXplOiB2YXIoLS1mcy1sZyk7IGNv +bG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOyB9Ci5yZWNodGUtcm9sbGUtdGl0ZWwgLnJlY2h0ZS1j +YXJkLXN1YiB7IGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOyBjb2xvcjogdmFyKC0tdGV4dC1zZWNv +bmRhcnkpOyBtYXJnaW46IDA7IH0KLnJlY2h0ZS1yb2xsZS1jaGV2IHsgY29sb3I6IHZhcigtLXRl +eHQtbXV0ZWQpOyBmb250LXdlaWdodDogNzAwOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjE1cyBl +YXNlOyBmbGV4LXNocmluazogMDsgfQoucmVjaHRlLXJvbGxlW29wZW5dID4gc3VtbWFyeSAucmVj +aHRlLXJvbGxlLWNoZXYgeyB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH0KLnJlY2h0ZS1yb2xs +ZVtvcGVuXSA+IHN1bW1hcnkgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVy +LWxpZ2h0KTsgfQoucmVjaHRlLXJvbGxlLWJvZHkgeyBwYWRkaW5nOiAxNHB4IDE2cHg7IH0KLnJl +Y2h0ZS1yb2xsZS1ha3Rpb24geyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgt +ZW5kOyBtYXJnaW4tYm90dG9tOiAxMnB4OyB9CgovKiA9PT09PSBTdGFuZGFyZHJlY2h0ZS1UYWIg +PT09PT0gKi8KLnNyLWtvbmZpZywgLnNyLXp1c2F0eiB7IG1hcmdpbi1ib3R0b206IDI0cHg7IH0K +LnNyLWtvbmZpZyBoMywgLnNyLXp1c2F0eiBoMyB7IGZvbnQtc2l6ZTogdmFyKC0tZnMtbGcpOyBj +b2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsgbWFyZ2luOiAwIDAgMTRweCAwOyB9Ci5zci1rb25m +aWcgLmJsZC1mZWxkIHsgbWFyZ2luLWJvdHRvbTogMTZweDsgfQouc3Ita29uZmlnIC5ibGQtZmVs +ZC10aXRlbCB7IG1hcmdpbi1ib3R0b206IDJweDsgfQouc3Ita29uZmlnIC5yZWNodGUtY2FyZC1m +dXNzIHsgbWFyZ2luLXRvcDogMTZweDsgfQouc3ItaGlud2VpcyB7IGZvbnQtc2l6ZTogdmFyKC0t +ZnMtc20pOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IG1hcmdpbi1sZWZ0OiAxMnB4OyB9Ci5z +ci16dXNhdHotc3ViIHsgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7IGNvbG9yOiB2YXIoLS10ZXh0 +LXNlY29uZGFyeSk7IG1hcmdpbjogMCAwIDEycHggMDsgfQouc3ItenVzYXR6LWl0ZW1zIHsgZGlz +cGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMHB4OyB9Ci5zci16dXNh +dHotaXRlbSB7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7IGJvcmRlci1y +YWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7IHBhZGRpbmc6IDEwcHggMTJweDsgYmFja2dyb3VuZDog +dmFyKC0tYmctY2FyZCk7IH0KLnNyLXp1c2F0ei1rb3BmIHsgZGlzcGxheTogZmxleDsgYWxpZ24t +aXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OyB9Ci5zci16dXNhdHotbmFtZSB7IGZvbnQtd2VpZ2h0 +OiA3MDA7IGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOyB9Ci5zci16dXNhdHotbWV0YSB7IGZs +ZXg6IDE7IGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7 +IH0KLnNyLXp1c2F0ei1yZWNodGUgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdh +cDogOHB4OyBtYXJnaW4tdG9wOiAxMHB4OyB9Ci5zci10YWcgeyBkaXNwbGF5OiBpbmxpbmUtYmxv +Y2s7IGZvbnQtc2l6ZTogMTFweDsgcGFkZGluZzogNHB4IDlweDsgYm9yZGVyLXJhZGl1czogdmFy +KC0tcmFkaXVzLXNtKTsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOyBib3JkZXI6IDFw +eCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOyBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkp +OyBsaW5lLWhlaWdodDogMS4zOyB9Cgouc3RhdHMtcGFuZWwgewogICAgYmFja2dyb3VuZDogdmFy +KC0tYmctY2FyZCk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7CiAgICBib3JkZXI6 +IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOyBib3gtc2hhZG93OiAwIDFweCA0cHggdmFy +KC0tc2hhZG93LWxpZ2h0KTsKICAgIHBhZGRpbmc6IDE2cHggMjBweDsgZGlzcGxheTogZmxleDsg +ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIG1pbi1oZWlnaHQ6IDA7IG1pbi13aWR0aDogMDsg +ICAvKiBtaW4td2lkdGg6MCBlc3NlbnppZWxsLCBzb25zdCBzcHJlbmd0CiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWl0ZXIgSW5oYWx0ICh6LkIuIEhlYXRtYXAtVGFi +ZWxsZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGllIEdyaWQtU3Bh +bHRlbi1CcmVpdGUuICovCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7ICAvKiBBbmtlciBmdWVyIGRl +biBHbG93LU92ZXJsYXkgKDo6YWZ0ZXIpICovCn0KLnN0YXRzLXBhbmVsLWtvcGYgewogICAgZGlz +cGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczog +Y2VudGVyOwogICAgbWFyZ2luLWJvdHRvbTogMTJweDsgZmxleC1zaHJpbms6IDA7Cn0KLnN0YXRz +LXBhbmVsLWtvcGYgaDMgeyBmb250LXNpemU6IHZhcigtLWZzLWxnKTsgZm9udC13ZWlnaHQ6IDcw +MDsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IG1hcmdpbjogMDsgfQouc3RhdHMtY2hhcnQt +YXJlYSB7IGZsZXg6IDE7IG1pbi1oZWlnaHQ6IDA7IG92ZXJmbG93LXk6IGF1dG87IG1heC1oZWln +aHQ6IDQyMHB4OyB9CgovKiBLbGFwcGJhcmtlaXQgcHJvIFBhbmVsIOKAlCBLbGljayBhdWYgZGVu +IEtvcGYgenUvYXVmLCBEZWZhdWx0OiBhdWZnZWtsYXBwdC4KICAgVmVyc3RlY2tlbiBhbGxlcyBp +bSBQYW5lbCBhdXNzZXIgZGVtIEtvcGYsIHdlbm4gLnp1Z2VrbGFwcHQgZ2VzZXR6dCBpc3QuICov +Ci5zdGF0cy1wYW5lbC1rb3BmIHsgY3Vyc29yOiBwb2ludGVyOyB1c2VyLXNlbGVjdDogbm9uZTsg +fQouc3RhdHMtc3Vic2VrdGlvbi1rb3BmIHsgY3Vyc29yOiBwb2ludGVyOyB1c2VyLXNlbGVjdDog +bm9uZTsgfQouc3RhdHMtc3Vic2VrdGlvbi10b2dnbGUgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7 +IHdpZHRoOiAxMnB4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGZvbnQtd2VpZ2h0OiA3MDA7 +IGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOyB9Ci5zdGF0cy10ZWFtLWJhbGtlbi56dWdla2xhcHB0 +IHsgZGlzcGxheTogbm9uZTsgfQouc3RhdHMtcGFuZWwtdG9nZ2xlIHsKICAgIGRpc3BsYXk6IGlu +bGluZS1ibG9jazsgd2lkdGg6IDE0cHg7IG1hcmdpbi1yaWdodDogNnB4OwogICAgY29sb3I6IHZh +cigtLXRleHQtbXV0ZWQpOyBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IHZhcigtLWZzLXNt +KTsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlOwp9Ci5zdGF0cy1wYW5lbC56 +dWdla2xhcHB0ID4gKjpub3QoLnN0YXRzLXBhbmVsLWtvcGYpIHsgZGlzcGxheTogbm9uZTsgfQou +c3RhdHMtcGFuZWwuenVnZWtsYXBwdCAuc3RhdHMtcGFuZWwta29wZiB7IG1hcmdpbi1ib3R0b206 +IDA7IH0KCi8qID09PT09IFJlbmRlci1QaXBlbGluZTogU2tlbGV0b24tSGludCArIEdsb3cgPT09 +PT0gKi8KLyogU2tlbGV0b24tSGlud2VpcyBwcm8gUGFuZWwgd2FlaHJlbmQgZGVzIHNlcXVlbnRp +ZWxsZW4gTGFkZW5zLiBEZXV0bGljaAogICBzaWNodGJhcmVyIFRleHQgbWl0IHB1bHNpZXJlbmRl +ciBBbmltYXRpb24sIGRhbWl0IGRlciBVc2VyIHdhZWhyZW5kCiAgIGRlciBnZXNhbXRlbiBQaXBl +bGluZSBrbGFyIGVya2VubnQgImhpZXIgcGFzc2llcnQgd2FzIi4gV2lyZCBkdXJjaCBkYXMKICAg +ZWlnZW50bGljaGUgUmVuZGVyLUhUTUwgdWViZXJzY2hyaWViZW4sIHNvYmFsZCBkZXIgU2Nocml0 +dCBkcmFuIGlzdC4gKi8KLnN0YXRzLWxvYWRpbmcgewogICAgcGFkZGluZzogNDhweCAyMHB4OyB0 +ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsgZm9udC1z +aXplOiB2YXIoLS1mcy1sZyk7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBiYWNrZ3JvdW5kOiB2YXIo +LS1iZy1jYXJkLWFsdCk7CiAgICBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tYm9yZGVyLWNvbG9y +KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTsKICAgIGFuaW1hdGlvbjogc3RhdC1w +dWxzZSAxLjZzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5zdGF0cy1sb2FkaW5nOjpiZWZvcmUg +ewogICAgY29udGVudDogJ1wyM0YzJzsgICAvKiDij7MgKi8KICAgIGZvbnQtd2VpZ2h0OiBub3Jt +YWw7IG1hcmdpbi1yaWdodDogOHB4OyBmb250LXNpemU6IDE2cHg7CiAgICBkaXNwbGF5OiBpbmxp +bmUtYmxvY2s7CiAgICBhbmltYXRpb246IHN0YXQtbG9hZGluZy1zcGluIDEuNnMgbGluZWFyIGlu +ZmluaXRlOwp9CkBrZXlmcmFtZXMgc3RhdC1wdWxzZSB7CiAgICAwJSwgMTAwJSB7IG9wYWNpdHk6 +IDAuNzU7IH0KICAgIDUwJSAgICAgIHsgb3BhY2l0eTogMS4wMDsgfQp9CkBrZXlmcmFtZXMgc3Rh +dC1sb2FkaW5nLXNwaW4gewogICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9CiAg +ICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQp9Ci8qIEdsb3ctRWZmZWt0IGF1 +ZiBkZW0gUGFuZWwtUmFobWVuIOKAlCB2aXN1ZWxsZXMgU2lnbmFsICJmcmlzY2ggYmVyZWNobmV0 +IgogICAoUmVuZGVyLVBpcGVsaW5lKSBiencuICJpY2ggYmluIGludGVyYWt0aXYiIChIb3Zlci1G +ZWVkYmFjaykuCiAgIDIgU2VrdW5kZW4gRGF1ZXIsIGRldXRsaWNoIHNpY2h0YmFyZXIgYm94LXNo +YWRvdy1SaW5nLiBJbXBsZW1lbnRpZXJ0CiAgIHVlYmVyIGVpbiBQc2V1ZG8tRWxlbWVudCBtaXQg +c3RhdGlzY2hlbSBib3gtc2hhZG93ICsgb3BhY2l0eS1BbmltYXRpb246CiAgIG51ciBDb21wb3Np +dGUtUGFzcywga2VpbiB0ZXVyZXMgUmVwYWludCAoaTUtODUwMC1mcmV1bmRsaWNoKS4KCiAgIFBz +ZXVkby1FbGVtZW50IGhhZW5ndCBhbSBQYW5lbCBzZWxic3QgKGltbWVyIGRhLCBkZWZhdWx0IG9w +YWNpdHk6MCksCiAgIGRhbWl0IGF1Y2ggZGVyIDpob3Zlci1UcmlnZ2VyIGlobiBmaW5kZXQuIEFu +aW1hdGlvbiB3aXJkIGR1cmNoIHp3ZWkKICAgU2VsZWt0b3JlbiBhdXNnZWxvZXN0OgogICAgIC5z +dGF0cy1nbG93ICAgICAgIOKAlCB2b24gZGVyIEpTLVJlbmRlci1QaXBlbGluZSBwcm8gU2Nocml0 +dCBnZXNldHp0CiAgICAgLnN0YXRzLXBhbmVsOmhvdmVyIOKAlCB3ZW5uIGRlciBVc2VyIG1pdCBk +ZXIgTWF1cyBkcnVlYmVyIGZhZWhydCAqLwouc3RhdHMtcGFuZWw6OmFmdGVyIHsKICAgIGNvbnRl +bnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAtM3B4OyBib3JkZXItcmFkaXVzOiBp +bmhlcml0OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IG9wYWNpdHk6IDA7CiAgICBib3gtc2hh +ZG93OiAwIDAgMjhweCA2cHggcmdiYSgyNiwgODIsIDExOCwgMC41NSksCiAgICAgICAgICAgICAg +ICAwIDAgMCAycHggcmdiYSgyNiwgODIsIDExOCwgMC4zNSk7Cn0KLnN0YXRzLWdsb3c6OmFmdGVy +IHsgYW5pbWF0aW9uOiBzdGF0LWdsb3ctYW5pbSAycyBlYXNlLW91dDsgfQovKiBCZXd1c3N0IHp3 +ZWl0ZSBBbmltYXRpb24gbWl0IGdsZWljaGVuIEtleWZyYW1lcywgYWJlciBlaWdlbmVtIE5hbWVu +CiAgIChzdGF0LWdsb3ctaG92ZXIpLiBXZW5uIGRhcyBQYW5lbCBuYWNoIGRlbSBJbml0aWFsLVJl +bmRlciBiZXJlaXRzIGRpZQogICBLbGFzc2UgLnN0YXRzLWdsb3cgdHJhZWd0LCBoYXQgZGVyIDo6 +YWZ0ZXItU2VsZWt0b3IgZGllIEFuaW1hdGlvbgogICAnc3RhdC1nbG93LWFuaW0nIGltIGNvbXB1 +dGVkLXZhbHVlLVBvb2wuIFNldHp0IDpob3ZlciBkaWUgZ2xlaWNoZQogICBBbmltYXRpb24sIHNp +ZWh0IGRlciBCcm93c2VyIGtlaW5lbiBBZW5kZXJ1bmdzdW50ZXJzY2hpZWQgdW5kIGZldWVydAog +ICBzaWUgbmljaHQgbmV1LiBFaW4gc2VwYXJhdGVyIE5hbWUgZXJ6d2luZ3QgZGVuIFJlc3RhcnQu +ICovCi5zdGF0cy1wYW5lbDpob3Zlcjo6YWZ0ZXIgeyBhbmltYXRpb246IHN0YXQtZ2xvdy1ob3Zl +ciAycyBlYXNlLW91dDsgfQpAa2V5ZnJhbWVzIHN0YXQtZ2xvdy1hbmltIHsKICAgIDAlICAgeyBv +cGFjaXR5OiAwOyB9CiAgICAxNSUgIHsgb3BhY2l0eTogMTsgfQogICAgNjAlICB7IG9wYWNpdHk6 +IDE7IH0KICAgIDEwMCUgeyBvcGFjaXR5OiAwOyB9Cn0KQGtleWZyYW1lcyBzdGF0LWdsb3ctaG92 +ZXIgewogICAgMCUgICB7IG9wYWNpdHk6IDA7IH0KICAgIDE1JSAgeyBvcGFjaXR5OiAxOyB9CiAg +ICA2MCUgIHsgb3BhY2l0eTogMTsgfQogICAgMTAwJSB7IG9wYWNpdHk6IDA7IH0KfQoKLyogVG9n +Z2xlLUJ1dHRvbnMgaW4gUGFuZWxzICovCi8qIEthdGVnb3JpZS1CdXR0b25zIGltIFNjaGljaHR2 +ZXJ0ZWlsdW5ncy1QYW5lbCAoU2NoaWNodGVuIC8gV29jaGVuZW5kZSAvCiAgIEZvcnRiaWxkdW5n +IC8gQWJ3ZXNlbmhlaXQpLiBMb2VzdCBkZW4gU29ydC1Ecm9wZG93biAyMDI2LTA1IGFiLiAqLwou +c3RhdHMta2F0LWdydXBwZSB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdh +cDogNHB4OyBmbGV4LXdyYXA6IHdyYXA7IH0KLnN0YXRzLWthdC1idG4gewogICAgcGFkZGluZzog +NHB4IDEwcHg7IGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOyBmb250LXdlaWdodDogNjAwOyBib3Jk +ZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpOwogICAgYmFja2dyb3VuZDogdmFyKC0t +YmctY2FyZC1hbHQpOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGN1cnNvcjogcG9pbnRlcjsg +Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICAgIHRyYW5zaXRpb246IGFsbCAwLjE1 +cyBlYXNlOwp9Ci5zdGF0cy1rYXQtYnRuOmhvdmVyOm5vdCguYWt0aXYpIHsgYmFja2dyb3VuZDog +dmFyKC0tYmctaG92ZXIpOyBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsgfQouc3RhdHMta2F0 +LWJ0bi5ha3RpdiB7IGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpOyBjb2xvcjogdmFyKC0t +dGV4dC1vbi1wcmltYXJ5KTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1iZy1wcmltYXJ5KTsgfQouc3Rh +dHMtc29ydC1yaWNodHVuZyB7IHdpZHRoOiAyNnB4OyBoZWlnaHQ6IDI2cHg7IHBhZGRpbmc6IDA7 +IG1hcmdpbi1sZWZ0OiA0cHg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1 +c3RpZnktY29udGVudDogY2VudGVyOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29s +b3IpOyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFk +aXVzLXNtKTsgY3Vyc29yOiBwb2ludGVyOyBmb250LXNpemU6IHZhcigtLWZzLW1kKTsgY29sb3I6 +IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsgfQouc3RhdHMtc29ydC1yaWNodHVuZzpob3ZlciB7IGJh +Y2tncm91bmQ6IHZhcigtLWJnLWhvdmVyKTsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IH0K +LnN0YXRzLXNvcnQtcGZlaWwgeyBsaW5lLWhlaWdodDogMTsgZm9udC13ZWlnaHQ6IDcwMDsgfQoK +LyogQmFkZ2UgKi8KLnN0YXRzLWJhZGdlIHsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOyBm +b250LXdlaWdodDogNzAwOyBwYWRkaW5nOiAycHggOHB4OyBib3JkZXItcmFkaXVzOiB2YXIoLS1y +YWRpdXMtbGcpOwogICAgYmFja2dyb3VuZDogdmFyKC0tZmFyYmUtd2FybnVuZyk7IGNvbG9yOiAj +ZmZmOyBtaW4td2lkdGg6IDIwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsKfQouc3RhdHMtYmFkZ2U6 +ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9Ci5zdGF0cy1iYWRnZS1vayB7IGJhY2tncm91bmQ6IHZh +cigtLWZhcmJlLWVyZm9sZyk7IH0KCi8qIERldGFpbC1UYWJlbGxlICovCi5zdGF0cy10YWJlbGxl +IHRoLnphaGwsIC5zdGF0cy10YWJlbGxlIHRkLnphaGwgeyB0ZXh0LWFsaWduOiByaWdodDsgZm9u +dC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsgfQovKiBTY2hpY2h0LUtvcGYtWmVsbGVu +IG1pdCBlaWdlbmVtIGhlbGxlbSBIaW50ZXJncnVuZCDigJQgZGllIEZhcmJ0b2VuZQogICAocm90 +L2JsYXUvZ3J1ZW4pIHdhcmVuIGF1ZiBkZW0gZHVua2VsYmxhdWVuIGFkbWluLXRhYmVsbGUtSGVh +ZGVyCiAgIGthdW0gbGVzYmFyLiBKZXR6dCBzdGljaHQgamVkZSBTY2hpY2h0IGFscyBrbGFyZXMg +RmFyYi1UYWcgaGVyYXVzLiAqLwouc3RhdHMtdGFiZWxsZSAuZnJ1ZWgta29wZiwgLnN0YXRzLXRh +YmVsbGUgLnNwYWV0LWtvcGYsIC5zdGF0cy10YWJlbGxlIC5uYWNodC1rb3BmIHsKICAgIGJhY2tn +cm91bmQ6ICNmZmY7IGZvbnQtd2VpZ2h0OiA4MDA7IHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGJv +cmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy14cyk7IHBhZGRpbmc6IDZweCA4cHg7Cn0KLnN0YXRz +LXRhYmVsbGUgLmZydWVoLWtvcGYgeyBjb2xvcjogdmFyKC0tZmFyYmUtZnJ1ZWgpOyB9Ci5zdGF0 +cy10YWJlbGxlIC5zcGFldC1rb3BmIHsgY29sb3I6IHZhcigtLWZhcmJlLXNwYWV0KTsgfQouc3Rh +dHMtdGFiZWxsZSAubmFjaHQta29wZiB7IGNvbG9yOiB2YXIoLS1mYXJiZS1uYWNodCk7IH0KLnN0 +YXRzLXRhYmVsbGUgLndhcm4ta29wZiB7IGNvbG9yOiB2YXIoLS1mYXJiZS1mZWhsZXIpOyB9Ci5z +dGF0cy1kZXRhaWxzIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXItcmFk +aXVzOiB2YXIoLS1yYWRpdXMtbGcpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVy +LWxpZ2h0KTsgYm94LXNoYWRvdzogMCAxcHggNHB4IHZhcigtLXNoYWRvdy1saWdodCk7CiAgICBt +YXJnaW4tYm90dG9tOiAxNnB4Owp9Ci5zdGF0cy1kZXRhaWxzLXN1bW1hcnkgewogICAgcGFkZGlu +ZzogMTRweCAyMHB4OyBmb250LXNpemU6IHZhcigtLWZzLW1kKTsgZm9udC13ZWlnaHQ6IDcwMDsg +Y3Vyc29yOiBwb2ludGVyOwogICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsgdXNlci1z +ZWxlY3Q6IG5vbmU7IGxpc3Qtc3R5bGU6IG5vbmU7Cn0KLnN0YXRzLWRldGFpbHMtc3VtbWFyeTo6 +YmVmb3JlIHsgY29udGVudDogJ1wyNUI2ICAnOyBmb250LXNpemU6IHZhcigtLWZzLXhzKTsgdHJh +bnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQouc3RhdHMt +ZGV0YWlsc1tvcGVuXSAuc3RhdHMtZGV0YWlscy1zdW1tYXJ5OjpiZWZvcmUgeyB0cmFuc2Zvcm06 +IHJvdGF0ZSg5MGRlZyk7IH0KLnN0YXRzLWRldGFpbHNbb3Blbl0gLnN0YXRzLWRldGFpbHMtc3Vt +bWFyeSB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOyB9Ci5z +dGF0cy1kZXRhaWxzIC50YWJlbGxlLXNjcm9sbCB7IHBhZGRpbmc6IDAgMjBweCAxNnB4OyB9Cgov +KiBCYWxrZW5kaWFncmFtbSAoaW0gUGFuZWwpIOKAlCBrZWluIGhvcml6b250YWxlciBTY3JvbGws +IGFsbGVzIHBhc3N0IHJlaW4gKi8KLnN0YXRzLWJhbGtlbi1jb250YWluZXIgeyBkaXNwbGF5OiBm +bGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDRweDsgb3ZlcmZsb3cteDogaGlkZGVu +OyB9Ci5zdGF0cy1iYWxrZW4temVpbGUgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2Vu +dGVyOyBnYXA6IDhweDsgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7IHBhZGRpbmc6IDJweCAwOyBt +aW4td2lkdGg6IDA7IH0KLnN0YXRzLWJhbGtlbi1uYW1lIHsgd2lkdGg6IDEyMHB4OyBtaW4td2lk +dGg6IDEyMHB4OyB0ZXh0LWFsaWduOiByaWdodDsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6IHZh +cigtLXRleHQtc2Vjb25kYXJ5KTsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxs +aXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH0KLnN0YXRzLWJhbGtlbi1iYXItd3JhcCB7IGZs +ZXg6IDE7IG1pbi13aWR0aDogMDsgZGlzcGxheTogZmxleDsgZ2FwOiAxcHg7IGhlaWdodDogMThw +eDsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1y +YWRpdXMteHMpOyBvdmVyZmxvdzogaGlkZGVuOyB9Ci5zdGF0cy1iYWxrZW4tc2VnbWVudCB7IGhl +aWdodDogMTAwJTsgdHJhbnNpdGlvbjogd2lkdGggMC40cyBlYXNlOyBkaXNwbGF5OiBmbGV4OyBh +bGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZm9udC1zaXplOiA5 +cHg7IGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogNzAwOyB9Ci8qIFRvdGFsLVNwYWx0ZTogYnJl +aXQgZ2VudWcgZnVlciAizqMgRm9ydGJpbGR1bmciLUxhYmVsIGltIEtvcGYsIG5vd3JhcC4gKi8K +LnN0YXRzLWJhbGtlbi10b3RhbCB7IHdpZHRoOiA5MHB4OyBtaW4td2lkdGg6IDkwcHg7IHRleHQt +YWxpZ246IHJpZ2h0OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRh +cnkpOyBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOyB3aGl0ZS1zcGFjZTogbm93 +cmFwOyB9CgovKiBFeHRyYS1TcGFsdGUgcmVjaHRzOiBNaW5pLUJhciBmdWVyIGVpbmVuIHp1c2Fl +dHpsaWNoZW4gSW5kaWthdG9yCiAgIChha3R1ZWxsIGdlbnV0enQgaW4gZGVyIEthdGVnb3JpZSAi +V29jaGVuZW5kZSIgZnVlciBrb21wbGV0dGVXRSkuICovCi5zdGF0cy1iYWxrZW4tZXh0cmEgeyB3 +aWR0aDogMTAwcHg7IG1pbi13aWR0aDogMTAwcHg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1z +OiBjZW50ZXI7IGdhcDogNnB4OyB9Ci5zdGF0cy1iYWxrZW4ta29udGV4dC1iYXIgeyBmbGV4OiAx +OyBoZWlnaHQ6IDhweDsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOyBib3JkZXItcmFk +aXVzOiAycHg7IG92ZXJmbG93OiBoaWRkZW47IH0KLnN0YXRzLWJhbGtlbi1rb250ZXh0LWZpbGwg +eyBoZWlnaHQ6IDEwMCU7IHRyYW5zaXRpb246IHdpZHRoIDAuNHMgZWFzZTsgYm9yZGVyLXJhZGl1 +czogMnB4OyB9Ci5zdGF0cy1iYWxrZW4ta29udGV4dC13ZXJ0IHsgd2lkdGg6IDI4cHg7IHRleHQt +YWxpZ246IHJpZ2h0OyBmb250LXdlaWdodDogNzAwOyBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFi +dWxhci1udW1zOyBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsgfQoKLyogT3B0aW9uYWxlIEth +dGVnb3JpZS1CZXNjaHJlaWJ1bmcgdWViZXIgZGVtIEJhbGtlbi1DaGFydCAoei5CLiBmdWVyCiAg +ICJFaW5nZXNwcnVuZ2VuIjogd2FzIHdpcmQgaGllciBlaWdlbnRsaWNoIGdlemFlaGx0PykuIFNj +aG1hbGUgSW5mby1Cb3gKICAgbWl0IGxpbmtlbSBBa3plbnQtU3RyZWlmZW4uICovCi5zdGF0cy1r +YXQtYmVzY2hyZWlidW5nIHsKICAgIG1hcmdpbjogMCAwIDEwcHg7CiAgICBwYWRkaW5nOiA4cHgg +MTJweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoOTEsIDEyNSwgMTc3LCAwLjA4KTsKICAgIGJvcmRl +ci1sZWZ0OiAzcHggc29saWQgdmFyKC0tcG9saXplaS1ibGF1LCAjMDA2M2FmKTsKICAgIGJvcmRl +ci1yYWRpdXM6IDAgNHB4IDRweCAwOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNlKTsKICAg +IGxpbmUtaGVpZ2h0OiAxLjU7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOwp9Ci5z +dGF0cy1rYXQtYmVzY2hyZWlidW5nIGIgeyBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsgfQoK +LyogU3BhbHRlbi1Lb3BmemVpbGUgdWViZXIgZGVuIEJhbGtlbiDigJQgbGFiZWx0IFNlZ21lbnRl +ICsgS2F0ZWdvcmllLVN1bW1lLiAqLwouc3RhdHMtYmFsa2VuLWtvcGYgeyBkaXNwbGF5OiBmbGV4 +OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgcGFkZGluZzogMCAwIDRweCAwOyBib3Jk +ZXItYm90dG9tOiAxcHggZGFzaGVkIHZhcigtLWJvcmRlci1jb2xvcik7IG1hcmdpbi1ib3R0b206 +IDRweDsgfQouc3RhdHMtYmFsa2VuLWtvcGYgLnN0YXRzLWJhbGtlbi1iYXItd3JhcCwKLnN0YXRz +LWJhbGtlbi1rb3BmIC5zdGF0cy1iYWxrZW4tdG90YWwsCi5zdGF0cy1iYWxrZW4ta29wZiAuc3Rh +dHMtYmFsa2VuLWV4dHJhIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGhlaWdodDogYXV0bzsg +fQouc3RhdHMtYmFsa2VuLWtvcGYtbGFiZWwgeyBmb250LXNpemU6IHZhcigtLWZzLXhzKTsgZm9u +dC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyB0ZXh0LXRyYW5zZm9ybTog +dXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMC40cHg7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH0K +LnN0YXRzLXNpZ21hLWhpbGZlIHsgY3Vyc29yOiBoZWxwOyBib3JkZXItYm90dG9tOiAxcHggZG90 +dGVkIHZhcigtLXRleHQtbXV0ZWQpOyB9Ci5zdGF0cy1iYWxrZW4tc2VnLWxhYmVsIHsgZm9udC13 +ZWlnaHQ6IDcwMDsgfQoKLyogTXVzdGVyICovCi5zdGF0cy1tdXN0ZXItY29udGFpbmVyIHsgZGlz +cGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA2cHg7IG1heC1oZWlnaHQ6 +IDQyMHB4OyBvdmVyZmxvdy15OiBhdXRvOyB9Ci5tdXN0ZXIta2FydGUgewogICAgZGlzcGxheTog +ZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGdhcDogMTBweDsKICAgIHBhZGRpbmc6IDEw +cHggMTRweDsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTsKICAgIGJvcmRlcjogMXB4 +IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7IGZvbnQtc2l6ZTogdmFyKC0tZnMtYmFzZSk7Cn0K +Lm11c3Rlci1pY29uIHsgZm9udC1zaXplOiB2YXIoLS1mcy1sZyk7IG1pbi13aWR0aDogMjJweDsg +aGVpZ2h0OiAyMnB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGxpbmUtaGVpZ2h0OiAyMnB4OyBib3Jk +ZXItcmFkaXVzOiA1MCU7IGNvbG9yOiAjZmZmOyBmbGV4LXNocmluazogMDsgfQoubXVzdGVyLXRl +eHQgeyBmb250LXNpemU6IHZhcigtLWZzLWJhc2UpOyBsaW5lLWhlaWdodDogMS41OyB9Ci5tdXN0 +ZXItdGV4dCBzdHJvbmcgeyBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsgfQoubXVzdGVyLXdh +cm51bmcgeyBiYWNrZ3JvdW5kOiByZ2JhKDIwMiwxMTEsMzAsMC4wNik7IH0KLm11c3Rlci13YXJu +dW5nIC5tdXN0ZXItaWNvbiB7IGJhY2tncm91bmQ6IHZhcigtLWZhcmJlLXdhcm51bmcpOyB9Ci5t +dXN0ZXItaW5mbyB7IGJhY2tncm91bmQ6IHJnYmEoNDQsNjIsODAsMC4wNCk7IH0KLm11c3Rlci1p +bmZvIC5tdXN0ZXItaWNvbiB7IGJhY2tncm91bmQ6IHZhcigtLWZhcmJlLWluZm8pOyB9Ci5tdXN0 +ZXItZXJmb2xnIHsgYmFja2dyb3VuZDogcmdiYSgzOSwxMzcsMTA5LDAuMDYpOyB9Ci5tdXN0ZXIt +ZXJmb2xnIC5tdXN0ZXItaWNvbiB7IGJhY2tncm91bmQ6IHZhcigtLWZhcmJlLWVyZm9sZyk7IH0K +Ci8qIEZhaXJuZXNzIGNvbXBhY3QgKi8KLmZhaXJuZXNzLWNvbXBhY3QgeyBkaXNwbGF5OiBmbGV4 +OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDNweDsgfQouZmFpcm5lc3Mtcm93IHsKICAg +IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTEwcHggMWZyIDQwcHg7IGdh +cDogNnB4OyBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7 +IHBhZGRpbmc6IDNweCAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxp +Z2h0KTsKfQouZmFpcm5lc3Mtcm93Omxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9 +Ci5mYWlybmVzcy1yb3ctbmFtZSB7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS10ZXh0 +LWhlYWRpbmcpOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hp +dGUtc3BhY2U6IG5vd3JhcDsgfQouZmFpcm5lc3Mtcm93LWJhciB7IGhlaWdodDogMTZweDsgYm9y +ZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXhzKTsgcG9zaXRpb246IHJlbGF0aXZlOyBiYWNrZ3Jv +dW5kOiB2YXIoLS1iZy1jYXJkLWFsdCk7IH0KLmZhaXJuZXNzLXJvdy1maWxsIHsgaGVpZ2h0OiAx +MDAlOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHMpOyB0cmFuc2l0aW9uOiB3aWR0aCAw +LjRzIGVhc2U7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfQouZmFpcm5lc3Mtcm93LWF2ZyB7IHBvc2l0 +aW9uOiBhYnNvbHV0ZTsgdG9wOiAtMnB4OyBib3R0b206IC0ycHg7IHdpZHRoOiAycHg7IGJhY2tn +cm91bmQ6IHZhcigtLXRleHQtaGVhZGluZyk7IG9wYWNpdHk6IDAuNTsgei1pbmRleDogMTsgfQou +ZmFpcm5lc3Mtcm93LXZhbCB7IHRleHQtYWxpZ246IHJpZ2h0OyBmb250LXdlaWdodDogNzAwOyBm +b250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOyBjb2xvcjogdmFyKC0tdGV4dC1zZWNv +bmRhcnkpOyBsaW5lLWhlaWdodDogMS4xOyB9Ci5mYWlybmVzcy1yb3ctc3ViIHsgZm9udC1zaXpl +OiA5cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgfQovKiBX +RS1aZWlsZW4gaGFiZW4gZWluZSA0LiBTcGFsdGUgZnVlciBLb21wbGV0dGUgV0VzIChEaWNodGUt +SW5kaWthdG9yKS4KICAgQnJlaXRlciAoOTZweCkgZGFtaXQgZGFzIExhYmVsICJLb21wbGV0dGUg +V0VzIiB2b2xsc3RhZW5kaWcgc2ljaHRiYXIgaXN0LiAqLwouZmFpcm5lc3Mtcm93LXdlIHsgZ3Jp +ZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMTBweCAxZnIgNDBweCA5NnB4OyB9Ci5mYWlybmVzcy1zdWJ0 +aXRsZSB7CiAgICBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgY29sb3I6IHZhcigtLXRleHQtbXV0 +ZWQpOyBtYXJnaW46IDAgMCA2cHggMDsKICAgIHBhZGRpbmctYm90dG9tOiA2cHg7IGJvcmRlci1i +b3R0b206IDFweCBkYXNoZWQgdmFyKC0tYm9yZGVyLWNvbG9yKTsKICAgIHdoaXRlLXNwYWNlOiBu +b3dyYXA7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwp9Ci5mYWly +bmVzcy1yb3cta3cgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDRw +eDsgfQouZmFpcm5lc3Mtcm93LWt3LWJhciB7IGZsZXg6IDE7IGhlaWdodDogNnB4OyBiYWNrZ3Jv +dW5kOiB2YXIoLS1iZy1jYXJkLWFsdCk7IGJvcmRlci1yYWRpdXM6IDJweDsgb3ZlcmZsb3c6IGhp +ZGRlbjsgfQouZmFpcm5lc3Mtcm93LWt3LWZpbGwgeyBoZWlnaHQ6IDEwMCU7IGJhY2tncm91bmQ6 +ICM1QjJDNkY7IGJvcmRlci1yYWRpdXM6IDJweDsgdHJhbnNpdGlvbjogd2lkdGggMC40cyBlYXNl +OyB9Ci5mYWlybmVzcy1yb3cta3ctdmFsIHsgd2lkdGg6IDE4cHg7IHRleHQtYWxpZ246IHJpZ2h0 +OyBmb250LXdlaWdodDogNzAwOyBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOyBj +b2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOyBmb250LXNpemU6IHZhcigtLWZzLXhzKTsgfQou +ZmFpcm5lc3Mta3cta29wZiB7IHRleHQtYWxpZ246IHJpZ2h0OyBmb250LXNpemU6IDlweDsgY29s +b3I6ICM1QjJDNkY7IGZvbnQtd2VpZ2h0OiA3MDA7IH0KLmZhaXJuZXNzLWZ1c3MgeyBmb250LXNp +emU6IHZhcigtLWZzLXhzKTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBtYXJnaW4tdG9wOiA4 +cHg7IHBhZGRpbmctdG9wOiA2cHg7IGJvcmRlci10b3A6IDFweCBkYXNoZWQgdmFyKC0tYm9yZGVy +LWNvbG9yKTsgdGV4dC1hbGlnbjogY2VudGVyOyB9Ci5mYWlybmVzcy1vayB7IGJhY2tncm91bmQ6 +ICMyN0FFNjA7IH0KLmZhaXJuZXNzLXdhcm51bmcgeyBiYWNrZ3JvdW5kOiAjRTY3RTIyOyB9Ci5m +YWlybmVzcy1rcml0aXNjaCB7IGJhY2tncm91bmQ6ICNDMDM5MkI7IH0KLmZhaXJuZXNzLW5ldXRy +YWwgeyBiYWNrZ3JvdW5kOiAjOTVBNUE2OyB9Ci5mYWlybmVzcy1oZWFkZXIgeyBmb250LXdlaWdo +dDogNzAwOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGZvbnQtc2l6ZTogdmFyKC0tZnMteHMp +OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMC41cHg7IHBhZGRp +bmc6IDhweCAwIDRweDsgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50OyB9CgovKiBBYndl +c2VuaGVpdHMtQ2hhcnQgKi8KLyogPT09PT0gTWlrcm90ZWFtLUhlYXRtYXAgPT09PT0gKi8KLyog +RHVyY2hnZWhlbmRlIFRhYmVsbGU6IGFsbGUgVGFnZSB2b20gMS4xLiBiaXMgRW5kZSBWZXJiaW5k +bGljaGtlaXQgKi8KLnRlYW0taG0tbGVnZW5kZSB7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTBweDsg +Zm9udC1zaXplOiB2YXIoLS1mcy14cyk7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgYWxpZ24t +aXRlbXM6IGNlbnRlcjsgZmxleC13cmFwOiB3cmFwOyB9Ci50ZWFtLWhtLWxlZ2VuZGUgc3BhbiB7 +IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyB9Ci50ZWFtLWNlbGwt +bWluaSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDExcHg7IGhlaWdodDogMTFweDsg +Ym9yZGVyLXJhZGl1czogMnB4OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBtYXJnaW4tcmlnaHQ6 +IDNweDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTsgfQoKLnN0YXRzLXRl +YW0taGVhdG1hcCB7IG1hcmdpbjogOHB4IDAgMTZweDsgfQovKiBIZWF0bWFwLVNjcm9sbC1Db250 +YWluZXI6IHNjcm9sbHQgamV0enQgYXVjaCB2ZXJ0aWthbCwgZGFtaXQgZGVyCiAgIEJvZHktQmVy +ZWljaCBiZWkgdmllbGVuIFRlYW1zIHVudGVyIGRlbiBmaXhpZXJ0ZW4gSGVhZGVyLVplaWxlbgog +ICAoTW9uYXQgLyBUYWcgLyBXb2NoZW50YWcgLyBGZWllcnRhZ2UgLyBGZXJpZW4gLyBTb25kZXJ0 +ZXJtaW5lKQogICBkdXJjaHdhbmRlcnQuIERpZSBrdW11bGF0aXZlbiBzdGlja3ktVG9wLVdlcnRl +IHdlcmRlbiBuYWNoIGRlbQogICBSZW5kZXIgaW0gSlMgZ2VzZXR6dCAocm9idXN0IGdlZ2VuIGZl +aGxlbmRlIE1hcmtlci1aZWlsZW4pLiAqLwoudGVhbS1obS1zY3JvbGwgeyBvdmVyZmxvdzogYXV0 +bzsgbWF4LXdpZHRoOiAxMDAlOyBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjQwcHgpOyB9Ci50 +ZWFtLWhtLXRhYmVsbGUgewogICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsgYm9yZGVyLXNw +YWNpbmc6IDA7IGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpOwogICAgZm9udC12YXJpYW50LW51bWVy +aWM6IHRhYnVsYXItbnVtczsKfQoudGVhbS1obS10YWJlbGxlIHRoLCAudGVhbS1obS10YWJlbGxl +IHRkIHsKICAgIHBhZGRpbmc6IDA7IHRleHQtYWxpZ246IGNlbnRlcjsgYm9yZGVyOiAxcHggc29s +aWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsKICAgIHdpZHRoOiAyMnB4OyBtaW4td2lkdGg6IDIycHg7 +IG1heC13aWR0aDogMjJweDsgaGVpZ2h0OiAyMnB4Owp9Ci8qIFN0aWNreSBmdWVyIEFMTEUgdGhl +YWQtWmVsbGVuIOKAlCB0aCBVTkQgdGQsIHdlaWwgZGllIE1hcmtlci1aZWlsZW4KICAgKEZlaWVy +dGFnZS9GZXJpZW4vU29uZGVydGVybWluZSkgdGQtWmVsbGVuIHZlcndlbmRlbi4gRGVyIGtvbmty +ZXRlCiAgIHRvcC1XZXJ0IHdpcmQgcHJvIFplaWxlIHBlciBKUyBnZXNldHp0IChrdW11bGF0aXZl +IG9mZnNldEhlaWdodCkuCiAgIHotaW5kZXggdWViZXIgZGVuIEJvZHktWmVsbGVuIChkZWZhdWx0 +KSB1bmQgZGVuIHN0aWNreS1OYW1lLVNwYWx0ZW4KICAgKHotaW5kZXggMSk7IGRpZSBFY2tlIG9i +ZW4gbGlua3MgKHRoZWFkIC50ZWFtLWhtLW5hbWUpIGJla29tbXQKICAgei1pbmRleCAzLCB3ZWls +IHNpZSBzb3dvaGwgaG9yaXpvbnRhbCBhbHMgYXVjaCB2ZXJ0aWthbCBzdGlja3kgaXN0LiAqLwou +dGVhbS1obS10YWJlbGxlIHRoZWFkIHRoLAoudGVhbS1obS10YWJlbGxlIHRoZWFkIHRkIHsKICAg +IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0KTsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6 +IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsKICAgIHBvc2l0aW9uOiBzdGlja3k7IHotaW5kZXg6IDI7 +IGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7Cn0KLnRlYW0taG0tdGFiZWxsZSB0aGVhZCAu +dGVhbS1obS1uYW1lIHsgei1pbmRleDogMzsgfQoudGVhbS1obS1tb25hdC1jZWxsIHsgZm9udC1z +aXplOiB2YXIoLS1mcy1zbSk7IHBhZGRpbmc6IDJweCAwICFpbXBvcnRhbnQ7IGJvcmRlci1ib3R0 +b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpICFpbXBvcnRhbnQ7IH0KLnRlYW0taG0t +dGggeyBwb3NpdGlvbjogcmVsYXRpdmU7IH0KLnRlYW0taG0tdGgtbnVtIHsgZm9udC1zaXplOiB2 +YXIoLS1mcy14cyk7IGxpbmUtaGVpZ2h0OiAxLjE7IH0KLnRlYW0taG0td3QgeyBmb250LXNpemU6 +IDhweDsgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRl +ZCkgIWltcG9ydGFudDsgfQoKLyogU3BhbHRlbi1NYXJraWVydW5nZW46IGVpbmhlaXRsaWNoIGR1 +cmNoIGRpZSBHQU5aRSBTcGFsdGUgKEhlYWRlciwKICAgV29jaGVudGFnLVplaWxlLCBNYXJrZXIt +WmVpbGVuLCBCb2R5LVplbGxlbikuIFdlcnRlIGRvbWluYW50IGdlbnVnLAogICB1bSBBYndlaWNo +dW5nZW4gc29mb3J0IHp1IGVyZmFzc2VuLCBhYmVyIEFtcGVsZmFyYmVuIGJsZWliZW4gbGVzYmFy +LiAqLwoudGVhbS1obS10YWJlbGxlIC5obS13ZSAgICAgICAgICAgeyBib3gtc2hhZG93OiBpbnNl +dCAwIDAgMCA5OTlweCByZ2JhKDAsMCwwLDAuMTQpOyB9Ci50ZWFtLWhtLXRhYmVsbGUgLmhtLWZl +aWVyICAgICAgICB7IGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDk5OXB4IHJnYmEoMTkyLCA1Nywg +NDMsIDAuMzApOyB9Ci50ZWFtLWhtLXRhYmVsbGUgLmhtLWZlcmllbiAgICAgICB7IGJveC1zaGFk +b3c6IGluc2V0IDAgMCAwIDk5OXB4IHJnYmEoNDEsIDEyOCwgMTg1LCAwLjI2KTsgfQoudGVhbS1o +bS10YWJlbGxlIC5obS1zb25kZXJ0ZXJtaW4geyBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA5OTlw +eCByZ2JhKDIzMCwgMTI2LCAzNCwgMC4zMCk7IH0KLyogTWVocmZhY2gtTWFya2llcnVuZ2VuIChT +YStGZWllcnRhZywgRmVpZXJ0YWcrRmVyaWVuKTogbGV0enRlIGdld2lubnQuCiAgIFJlaWhlbmZv +bGdlIGltIEpTOiBXRSAtPiBGZWllciAtPiBGZXJpZW4gLT4gU29uZGVydGVybWluIOKAlCBTcGV6 +aWFsaXRhZXRlbgogICB1ZWJlcmxhZ2VybiBXRTsgU29uZGVydGVybWluIGdld2lubnQgaW0gS29u +Zmxpa3QgbWl0IEZlcmllbi9GZWllci4KICAgRGllIGZydWVoZXJlbiByb3Rlbi9ibGF1ZW4gU3Ry +ZWlmZW4gd3VyZGVuIDIwMjYtMDUgZW50ZmVybnQ6IGRpZSBkaXJla3RlCiAgIFNwYWx0ZW4tVG9l +bnVuZyBpc3QgZGV1dGxpY2ggZ2VudWcsIFN0cmVpZmVuIHdhcmVuIHJlZHVuZGFudC4gKi8KLyog +TWVocmVyZSBNYXJraWVydW5nZW4gYXVmIGVpbmVyIFplbGxlICh6LkIuIFNhICsgRmVpZXJ0YWcp +OiBzdW1taWVydCBzaWNoCiAgIHZpYSBtZWhyZmFjaGVyIGJveC1zaGFkb3cuIENTUy1TcGV6aWZp +dGFldHMtVHJpY2s6IHNwYWV0ZXJlIEtsYXNzZQogICBnZXdpbm50IOKAlCB3aXIgYWt6ZXB0aWVy +ZW4gZGFzIChGZWllcnRhZy9Tb25kZXJ0ZXJtaW4gPiBGZXJpZW4gPiBXRSBpbiBkZXIKICAgUmVp +aGVuZm9sZ2UgZGVyIEtsYXNzZW4pLiBWaXN1ZWxsIHJlaWNodCBkYXMgYXVzLiAqLwoKLyogUm90 +YXRpb25zLVBpbGxlIGluIGRlciBQZXJzb25hbHZlcndhbHR1bmcg4oCUIGtvbXBha3RlIEYvUy9O +LUFuemVpZ2UKICAgZGVyIGhldXRpZ2VuIFNjaGljaHQgZGVyIFBlcnNvbiwgYXVzIFN0YW5kb3J0 +LVNjaGljaHRmb2xnZSArCiAgIERpZW5zdGdydXBwZW4tUG9zaXRpb24gYWJnZWxlaXRldC4gSG92 +ZXItVG9vbHRpcCB6ZWlndCBkZW4KICAgbmFlY2hzdGVuIFdlY2hzZWx0YWcuICovCi5yb3RhLXBp +bGxlIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDIycHg7IGhlaWdodDogMjBw +eDsgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IGJvcmRlci1yYWRp +dXM6IHZhcigtLXJhZGl1cy1zbSk7CiAgICBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IHZh +cigtLWZzLXNtKTsgY29sb3I6ICNmZmY7CiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxh +ci1udW1zOwp9Ci5yb3RhLXBpbGxlLnJvdGEtZiB7IGJhY2tncm91bmQ6IHZhcigtLWZhcmJlLWZy +dWVoLCAjQjcxQzFDKTsgfQoucm90YS1waWxsZS5yb3RhLXMgeyBiYWNrZ3JvdW5kOiB2YXIoLS1m +YXJiZS1zcGFldCwgIzFiNWUyMCk7IH0KLnJvdGEtcGlsbGUucm90YS1uIHsgYmFja2dyb3VuZDog +dmFyKC0tZmFyYmUtbmFjaHQsICMxYTUyNzYpOyB9Ci5yb3RhLXBpbGxlLnJvdGEtbGVlciB7IGJh +Y2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0KTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBm +b250LXdlaWdodDogNDAwOyB9CgovKiBIb3Zlci1LcmV1ejogd2VubiBkaWUgTWF1cyB1ZWJlciBl +aW5lciBIZWF0bWFwLVplbGxlIHN0ZWh0LCB3ZXJkZW4KICAgZGllIGdlc2FtdGUgWmVpbGUgdW5k +IGRpZSBnZXNhbXRlIFNwYWx0ZSBoZXJ2b3JnZWhvYmVuIChFeGNlbC1TdGlsKS4KICAgRGllIEpT +LUxvZ2lrIGluIF9yZW5kZXJUZWFtSGVhdG1hcCBzZXR6dCAuaG0tY3Jvc3MgYXVmIGRpZSBiZXRy +b2ZmZW5lbgogICBaZWxsZW4uIEJveC1zaGFkb3cgaW5zZXQgd2llIGRpZSBobS13ZS9obS1mZWll +ci1NYXJraWVydW5nZW4sIGRhbWl0CiAgIGRlciBHbG93IG1pdCBkZW4gU3BhbHRlbi1Ub2VudW5n +ZW4gdmlzdWVsbCBzdGFwZWx0IHN0YXR0IHNpZSB6dQogICB2ZXJkcmFlbmdlbiDigJQgZGVyIFBv +bGl6ZWktTlJXLUJsYXUtVG9uIHVlYmVybGFnZXJ0IHN1YnRpbC4gKi8KLnRlYW0taG0tdGFiZWxs +ZSB0ZC5obS1jcm9zcywKLnRlYW0taG0tdGFiZWxsZSB0aC5obS1jcm9zcyB7CiAgICBib3gtc2hh +ZG93OiBpbnNldCAwIDAgMCA5OTlweCByZ2JhKDI2LCA4MiwgMTE4LCAwLjE4KSwKICAgICAgICAg +ICAgICAgIGluc2V0IDAgMCAwIDJweCByZ2JhKDI2LCA4MiwgMTE4LCAwLjU1KTsKfQoKLyogRnJ1 +ZWhlciBoYXR0ZW4gRmVpZXJ0YWcvRmVyaWVuLVplbGxlbiB6dXNhZXR6bGljaCByb3RlL2JsYXVl +IDMtcHgtU3RyZWlmZW4KICAgb2Jlbi91bnRlbi4gMjAyNi0wNSBlbnRmZXJudDogZGllIFNwYWx0 +ZW4tVG9lbnVuZyBpc3QgZWluZGV1dGlnIGdlbnVnLAogICBkaWUgU3RyZWlmZW4gd2FyZW4gcmVk +dW5kYW50IHVuZCB2aXN1ZWxsIHVucnVoaWcuICovCgovKiBTdGFuZG9ydC1UcmVubmVyOiBlY2h0 +ZSB3ZWlzc2UgRGlzdGFuenplaWxlbiBzdGF0dCBncmF1ZXIgQm9yZGVyLVRyZW5ubGluaWVuLgog +ICBIYWxiZSBaZWxsZW5ob2VoZSBwcm8gU3BhY2VyLiBCZWltIEhhdXB0d2FjaGVuLVRyZW5uZXIg +endlaSBTcGFjZXIgbWl0CiAgIGVpbmVyIGRpY2tlbiBncmF1ZW4gTGluaWUgZGF6d2lzY2hlbiAo +Ym9yZGVyLWJvdHRvbSBhdWYgZGVtIG9iZXJlbiBTcGFjZXIpLiAqLwoudGVhbS1obS1zcGFjZXIt +cm93IHRkIHsKICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgYm9yZGVyOiBub25lICFpbXBvcnRh +bnQ7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKSAhaW1wb3J0YW50OyBib3gtc2hhZG93 +OiBub25lICFpbXBvcnRhbnQ7Cn0KLnRlYW0taG0tc3BhY2VyLXJvdyAudGVhbS1obS1zcGFjZXIt +c3RhbmRvcnQgICAgIHsgaGVpZ2h0OiAxMXB4OyB9Ci50ZWFtLWhtLXNwYWNlci1yb3cgLnRlYW0t +aG0tc3BhY2VyLWhhdXB0LW9iZW4gICB7IGhlaWdodDogMTFweDsgYm9yZGVyLWJvdHRvbTogM3B4 +IHNvbGlkIHZhcigtLXRleHQtbXV0ZWQpICFpbXBvcnRhbnQ7IH0KLnRlYW0taG0tc3BhY2VyLXJv +dyAudGVhbS1obS1zcGFjZXItaGF1cHQtdW50ZW4gIHsgaGVpZ2h0OiAxMXB4OyB9Ci8qIExpbmtl +IFNwYWNlci1TcGFsdGUgbXVzcyBiZWkgaG9yaXpvbnRhbGVtIFNjcm9sbCBtaXRrb21tZW4sIGRh +bWl0IGRlcgogICBEaXN0YW56YmxvY2sga29uc2lzdGVudCB1ZWJlciBkaWUgZ2FuemUgVGFiZWxs +ZSB3aXJrdC4gKi8KLnRlYW0taG0tc3BhY2VyLXJvdyAudGVhbS1obS1zcGFjZXItbmFtZSB7IHBv +c2l0aW9uOiBzdGlja3k7IGxlZnQ6IDA7IHotaW5kZXg6IDE7IH0KCi50ZWFtLWJhbGtlbi10cmVu +bmVyLXN0YW5kb3J0IHsgbWFyZ2luLXRvcDogNnB4OyBwYWRkaW5nLXRvcDogNnB4OyBib3JkZXIt +dG9wOiAxcHggc29saWQgdmFyKC0tdGV4dC1tdXRlZCk7IH0KLnRlYW0tYmFsa2VuLXRyZW5uZXIt +aGF1cHQgICAgeyBtYXJnaW4tdG9wOiAxMHB4OyBwYWRkaW5nLXRvcDogMTBweDsgYm9yZGVyLXRv +cDogM3B4IHNvbGlkIHZhcigtLXRleHQtaGVhZGluZyk7IH0KCi8qIE1hcmtlci1aZWlsZW4gKEZl +aWVydGFnZSAvIEZlcmllbiAvIFNvbmRlcnRlcm1pbmUpICovCi50ZWFtLWhtLW1hcmtlci1yb3cg +dGgsIC50ZWFtLWhtLW1hcmtlci1yb3cgdGQgewogICAgaGVpZ2h0OiAxOHB4OyBmb250LXNpemU6 +IDlweDsgbGluZS1oZWlnaHQ6IDE7Cn0KLnRlYW0taG0tbWFya2VyLW5hbWUgewogICAgZm9udC1z +dHlsZTogaXRhbGljOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCkgIWltcG9ydGFudDsKICAgIGZv +bnQtc2l6ZTogdmFyKC0tZnMteHMpICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9y +dGFudDsKfQoudGVhbS1obS1tYXJrZXItY2VsbCB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBj +b2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOyBmb250LXdlaWdodDogNjAwOyBwYWRkaW5nOiAw +ICFpbXBvcnRhbnQ7IH0KLyogY29sc3Bhbi1aZWxsZW4gKHp1c2FtbWVuaGFlbmdlbmRlIEZlcmll +biwgbWVocnRhZWdpZ2UgU29uZGVydGVybWluZSk6CiAgIGV0d2FzIG1laHIgUGFkZGluZywga2Vp +biBtYXgtd2lkdGgtTGltaXQsIFRleHQgYmxlaWJ0IHplbnRyaWVydCBpbgogICBkZXIgZ2VzYW10 +ZW4gU3Bhbm5lLiAqLwoudGVhbS1obS1tYXJrZXItY2VsbFtjb2xzcGFuXSB7IHBhZGRpbmc6IDAg +NHB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpOyB3aGl0ZS1zcGFjZTogbm93 +cmFwOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgbWF4LXdpZHRo +OiBub25lOyB9Ci50ZWFtLWhtLW1hcmtlci1jZWxsLm1hcmtlci1mZWllciAgICAgICAgeyBiYWNr +Z3JvdW5kOiAjQzAzOTJCOyBjb2xvcjogI2ZmZjsgfQoudGVhbS1obS1tYXJrZXItY2VsbC5tYXJr +ZXItZmVyaWVuICAgICAgIHsgYmFja2dyb3VuZDogIzI5ODBCOTsgY29sb3I6ICNmZmY7IH0KLnRl +YW0taG0tbWFya2VyLWNlbGwubWFya2VyLXNvbmRlcnRlcm1pbiB7IGJhY2tncm91bmQ6ICNFNjdF +MjI7IGNvbG9yOiAjZmZmOyBjdXJzb3I6IHBvaW50ZXI7IH0KLnRlYW0taG0tbWFya2VyLWNlbGwu +bWFya2VyLXNvbmRlcnRlcm1pbjpob3ZlciB7IGJhY2tncm91bmQ6ICNEMzU0MDA7IH0KCi8qIE5h +bWUtU3BhbHRlICovCi50ZWFtLWhtLXRhYmVsbGUgLnRlYW0taG0tbmFtZSB7CiAgICB3aWR0aDog +MTMwcHg7IG1pbi13aWR0aDogMTMwcHg7IG1heC13aWR0aDogMTMwcHg7IHRleHQtYWxpZ246IGxl +ZnQ7IHBhZGRpbmc6IDJweCA2cHg7CiAgICBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0t +dGV4dC1oZWFkaW5nKTsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOyB3aGl0ZS1zcGFj +ZTogbm93cmFwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7 +CiAgICBwb3NpdGlvbjogc3RpY2t5OyBsZWZ0OiAwOyB6LWluZGV4OiAxOwp9Ci50ZWFtLWhtLWNs +aWNrYWJsZSB7IGN1cnNvcjogcG9pbnRlcjsgdXNlci1zZWxlY3Q6IG5vbmU7IH0KLnRlYW0taG0t +Y2xpY2thYmxlOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpOyB9Ci50ZWFtLWht +LXRvZ2dsZSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDEwcHg7IGNvbG9yOiB2YXIo +LS10ZXh0LW11dGVkKTsgZm9udC1zaXplOiA5cHg7IH0KCi8qIERldGFpbC1aZWlsZW4gKi8KLnRl +YW0taG0tcm93LWRldGFpbCB7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0KTsgfQoudGVh +bS1obS1uYW1lLWRldGFpbCB7IGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDsgcGFkZGluZy1s +ZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpOyBjb2xvcjogdmFy +KC0tdGV4dC1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7IH0KLnRlYW0taG0tY2VsbC1kZXRhaWwgeyBm +b250LXNpemU6IDhweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBiYWNrZ3JvdW5kOiB2YXIo +LS1iZy1jYXJkKTsgfQoudGVhbS1obS1jZWxsLWRldGFpbC1kaWVuc3QgeyBiYWNrZ3JvdW5kOiBy +Z2JhKDM5LCAxNzQsIDk2LCAwLjE1KTsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IGZvbnQt +d2VpZ2h0OiA2MDA7IH0KCi8qIEFtcGVsLUZhcmJlbiBmdWVyIGFsbGUgSGVhdG1hcC1aZWxsZW4g +Ki8KLnRlYW0taG0tY2VsbC50ZWFtLXIgICAgeyBiYWNrZ3JvdW5kOiAjQzAzOTJCOyBjb2xvcjog +I2ZmZjsgZm9udC13ZWlnaHQ6IDcwMDsgfQovKiAxIGRhID0gbmV1dHJhbCBzdGF0dCBnZWxiIChV +c2VyLUFlbmRlcnVuZyAyMDI2LTA1KSDigJQgYmV3dXNzdCBrZWluIEtvbnRyYXN0LAogICB1bSBH +b2xkIHVuZCAiMSBkYSIgdW50ZXJzY2hlaWRiYXIgenUgaGFsdGVuLiAqLwoudGVhbS1obS1jZWxs +LnRlYW0tbiAgICB7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBjb2xvcjogdmFyKC0tdGV4 +dC1oZWFkaW5nKTsgZm9udC13ZWlnaHQ6IDYwMDsgfQovKiBHcmF1ID0gbmllbWFuZCBpbSBEaWVu +c3QsIGFiZXIgbWluZC4gMSBQZXJzb24gbGVnaXRpbSBhYndlc2VuZAogICAoVXJsL2tyL0t1ci9M +ZWhyZ2FuZ+KApikuIEtlaW4gcm90ZXIgU3RhdHVzLCB3ZWlsIGRhcyBUZWFtIG5pY2h0IGhhZXR0 +ZQogICBrb21wbGV0dCBiZXNldHp0IHNlaW4gbXVlc3Nlbi4gKi8KLnRlYW0taG0tY2VsbC50ZWFt +LWdyYXUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkLWFsdCk7IGNvbG9yOiB2YXIoLS10ZXh0 +LW11dGVkKTsgfQoudGVhbS1obS1jZWxsLnRlYW0tZyAgICB7IGJhY2tncm91bmQ6ICMyN0FFNjA7 +IGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogNzAwOyB9Ci50ZWFtLWhtLWNlbGwudGVhbS1nb2xk +IHsgYmFja2dyb3VuZDogI0Q0QUMwRDsgY29sb3I6ICNmZmY7IGZvbnQtd2VpZ2h0OiA3MDA7IH0K +Ci8qIEJhbGtlbi1TZWdtZW50IGZ1ZXIgZGVuIGdyYXVlbiBBbnRlaWwgKi8KLnRlYW0tYmFsa2Vu +LXNlZy50ZWFtLWdyYXUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkLWFsdCk7IGNvbG9yOiB2 +YXIoLS10ZXh0LXNlY29uZGFyeSk7IH0KCi8qIFN1Yi1TZWt0aW9uIGluIGRlciBIZWF0bWFwOiBW +STMtREdMLVZlcmFudHdvcnR1bmcgTmViZW53YWNoZW4uICovCi50ZWFtLWhtLXN1Yi1oZWFkZXIg +dGggewogICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyBwYWRkaW5nOiA2cHggMTBweCAh +aW1wb3J0YW50OwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7IGZvbnQtd2VpZ2h0OiA3MDA7 +IGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2Fy +ZC1hbHQpOyBib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tdGV4dC1tdXRlZCkgIWltcG9ydGFu +dDsKICAgIHBvc2l0aW9uOiBzdGlja3k7IGxlZnQ6IDA7Cn0KLyogTmViZW53YWNoZW4tREdMLVpl +bGxlbjogb2huZSBBbXBlbCA9IGdyYXUgKGtlaW4gREdMLUVpbnNhdHopLCBtaXQgLnRlYW0tZwog +ICA9IGdydWVuICgxLi8yLiBWSTMtREdMIGRlcyBUYWdlcyBhdXMgZGllc2VtIFRlYW0gYmVzZXR6 +dCkuICovCi50ZWFtLWhtLW53LWNlbGwgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkLWFsdCk7 +IH0KCi8qIEJhbGtlbmRpYWdyYW1tIFRhZ2VzLUFudGVpbGUgKi8KLnN0YXRzLXRlYW0tYmFsa2Vu +LWtvcGYgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFs +aWduLWl0ZW1zOiBjZW50ZXI7IG1hcmdpbjogMTJweCAwIDZweDsgcGFkZGluZy10b3A6IDEycHg7 +IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOyB9Ci5zdGF0cy10ZWFt +LWJhbGtlbi1rb3BmIGg0IHsgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNlKTsgZm9udC13ZWlnaHQ6 +IDcwMDsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IG1hcmdpbjogMDsgfQouc3RhdHMtdGVh +bS1zb3J0LWdydXBwZSB7IGZsZXgtd3JhcDogd3JhcDsgfQouc3RhdHMtdGVhbS1iYWxrZW4geyBk +aXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDNweDsgfQoudGVhbS1i +YWxrZW4td3JhcCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDog +M3B4OyB9Ci50ZWFtLWJhbGtlbi16ZWlsZSB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUt +Y29sdW1uczogMTMwcHggMWZyIDUwcHg7IGdhcDogOHB4OyBhbGlnbi1pdGVtczogY2VudGVyOyBm +b250LXNpemU6IHZhcigtLWZzLXNtKTsgfQoudGVhbS1iYWxrZW4tbmFtZSB7IGZvbnQtd2VpZ2h0 +OiA2MDA7IGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBv +dmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfQoudGVhbS1iYWxrZW4t +YmFyLXdyYXAgeyBkaXNwbGF5OiBmbGV4OyBoZWlnaHQ6IDE4cHg7IGJhY2tncm91bmQ6IHZhcigt +LWJnLWNhcmQtYWx0KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXhzKTsgb3ZlcmZsb3c6 +IGhpZGRlbjsgfQoudGVhbS1iYWxrZW4tc2VnIHsKICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0 +ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZm9udC1zaXplOiA5cHg7 +IGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogNzAwOwogICAgdHJhbnNpdGlvbjogd2lkdGggMC40 +cyBlYXNlOwogICAgLyogTWluZGVzdGJyZWl0ZSBOVVIgZnVlciBzaWNodGJhcmVuIEZhcmJiYWxr +ZW4g4oCUIGtlaW4gZmxleC1zaHJpbms6MAogICAgICAgKGRhcyBoYXR0ZSBkaWUgUHJvcG9ydGlv +bmVuIGFuZGVyZXIgU2VnbWVudGUgdmVyemVycnQsIHdlaWwgZ3Jvc3NlCiAgICAgICBTZWdtZW50 +ZSBuaWNodCBtZWhyIHNjaHJ1bXBmZW4gZHVyZnRlbiwgdW0gZGVtIG1pbi13aWR0aCBQbGF0eiB6 +dQogICAgICAgbWFjaGVuKS4gNHB4IHJlaWNodCBmdWVyIGVpbmVuIGVya2VubmJhcmVuIFN0cmlj +aCBhdWNoIGJlaSAwLjctMSAlLgogICAgICAgRGllIFphaGwgd2lyZCBpbiBzb2xjaCBzY2htYWxl +biBTZWdtZW50ZW4gTklDSFQgbWVociBlaW5nZXJlbmRlcnQKICAgICAgIChzaWVoZSBtaW5QY3Qt +TG9naWsgaW4gaGVscGRlc2suanMpLCBkZXIgVG9vbHRpcCBsaWVmZXJ0IGRlbiBXZXJ0CiAgICAg +ICBiZWltIEhvdmVyLiAqLwogICAgbWluLXdpZHRoOiA0cHg7Cn0KLnRlYW0tYmFsa2VuLXRvdGFs +IHsgdGV4dC1hbGlnbjogcmlnaHQ7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtdmFyaWFudC1udW1l +cmljOiB0YWJ1bGFyLW51bXM7IGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7IH0KCi8qIEFt +cGVsLUZhcmJlbiBhdWNoIGltIEJhbGtlbiAqLwoudGVhbS1iYWxrZW4tc2VnLnRlYW0tciAgICB7 +IGJhY2tncm91bmQ6ICNDMDM5MkI7IH0KLyogdGVhbS1uICgxIFBlcnNvbiBpbSBEaWVuc3QpIGhh +dHRlIGRlbnNlbGJlbiBHcmF1LUJhY2tncm91bmQgd2llCiAgIHRlYW0tZ3JhdSAobGVnaXRpbSBh +Yndlc2VuZCkg4oCUIGJlaW0gU3RhcGVsbiBuaWNodCB1bnRlcnNjaGVpZGJhci4KICAgSmV0enQg +c2FuZnRlciBLaGFraS1Ub246IHZpc3VlbGwgZGV1dGxpY2ggIm5vY2ggaW4gZGVyIE5hZWhlIHZv +bgogICBncmF1IiwgYWJlciBhYmdyZW56YmFyLiAqLwoudGVhbS1iYWxrZW4tc2VnLnRlYW0tbiAg +ICB7IGJhY2tncm91bmQ6ICNENURCREI7IGNvbG9yOiAjMzQ0OTVFOyB9Ci50ZWFtLWJhbGtlbi1z +ZWcudGVhbS1nICAgIHsgYmFja2dyb3VuZDogIzI3QUU2MDsgfQoudGVhbS1iYWxrZW4tc2VnLnRl +YW0tZ29sZCB7IGJhY2tncm91bmQ6ICNENEFDMEQ7IH0KLyogRHVlbm5lIFRyZW5ubGluaWUgendp +c2NoZW4gYXVmZWluYW5kZXJmb2xnZW5kZW4gU2VnbWVudGVuIOKAlCBoaWxmdCwKICAgZGllIEdy +ZW56ZW4gYXVjaCB6d2lzY2hlbiBhZWhubGljaCBnZWZhZXJidGVuIEJsb2Vja2VuIChncmF1IC8K +ICAgbmV1dHJhbCwgZ3J1ZW4gLyBnb2xkKSBhdWYgZWluZW4gQmxpY2sgenUgc2VoZW4uIDEgcHgg +aW4gZGVyCiAgIEJvcmRlci1MaWdodC1GYXJiZSwgZmFlbGx0IGJlaSBrb250cmFzdHJlaWNoZW4g +V2VjaHNlbG4gKHJvdC9ncmF1LAogICBncnVlbi9nb2xkKSBvcHRpc2NoIGthdW0gYXVmLiAqLwou +dGVhbS1iYWxrZW4tc2VnICsgLnRlYW0tYmFsa2VuLXNlZyB7IGJvcmRlci1sZWZ0OiAxcHggc29s +aWQgdmFyKC0tYm9yZGVyLWNvbG9yKTsgfQoKLyogU29uZGVydGVybWluLURldGFpbC1Nb2RhbCAq +Lwouc29uZGVydGVybWluLWRldGFpbCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBj +b2x1bW47IGdhcDogMTBweDsgfQouc29uZGVydGVybWluLWVpbnRyYWcgeyBwYWRkaW5nOiAxMHB4 +IDEycHg7IGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTsgYmFja2dy +b3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20p +OyB9Ci5zb25kZXJ0ZXJtaW4td2FybnVuZyB7IGJvcmRlci1sZWZ0LWNvbG9yOiAjQzAzOTJCOyB9 +Ci5zb25kZXJ0ZXJtaW4taGlud2VpcyB7IGJvcmRlci1sZWZ0LWNvbG9yOiAjMjk4MEI5OyB9Ci5z +b25kZXJ0ZXJtaW4ta29wZiB7IGZvbnQtc2l6ZTogdmFyKC0tZnMtYmFzZSk7IGNvbG9yOiB2YXIo +LS10ZXh0LWhlYWRpbmcpOyBtYXJnaW4tYm90dG9tOiA0cHg7IH0KLnNvbmRlcnRlcm1pbi10ZXh0 +IHsgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNlKTsgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5 +KTsgd2hpdGUtc3BhY2U6IHByZS13cmFwOyB9CgouYWJ3LWdyaWQgeyBkaXNwbGF5OiBncmlkOyBn +cmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxMzBweCwgMWZy +KSk7IGdhcDogOHB4OyB9Ci5hYncta2FydGUgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2Fy +ZC1hbHQpOyBib3JkZXItcmFkaXVzOiA4cHg7IHBhZGRpbmc6IDEycHg7CiAgICB0ZXh0LWFsaWdu +OiBjZW50ZXI7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7CiAgICB0cmFu +c2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZTsgY3Vyc29yOiBkZWZhdWx0Owp9Ci5hYncta2Fy +dGU6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH0KLmFidy1rYXJ0ZS1pY29u +IHsgZm9udC1zaXplOiAyMHB4OyBtYXJnaW4tYm90dG9tOiA0cHg7IH0KLmFidy1rYXJ0ZS13ZXJ0 +IHsgZm9udC1zaXplOiAyNHB4OyBmb250LXdlaWdodDogODAwOyBmb250LXZhcmlhbnQtbnVtZXJp +YzogdGFidWxhci1udW1zOyB9Ci5hYncta2FydGUtbGFiZWwgeyBmb250LXNpemU6IHZhcigtLWZz +LXhzKTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBmb250LXdlaWdodDogNjAwOyB0ZXh0LXRy +YW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW4tdG9wOiAycHg7IH0KLmFidy1rYXJ0ZS1kZXRhaWwg +eyBmb250LXNpemU6IHZhcigtLWZzLXhzKTsgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsg +bWFyZ2luLXRvcDogNnB4OyBsaW5lLWhlaWdodDogMS40OyB9Ci5hYnctcGVyc29uZW4geyBmb250 +LXNpemU6IHZhcigtLWZzLXNtKTsgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsgbWFyZ2lu +LXRvcDogOHB4OyB0ZXh0LWFsaWduOiBsZWZ0OyBtYXgtaGVpZ2h0OiAwOyBvdmVyZmxvdzogaGlk +ZGVuOyB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgZWFzZTsgfQouYWJ3LWthcnRlLm9mZmVu +IC5hYnctcGVyc29uZW4geyBtYXgtaGVpZ2h0OiAzMDBweDsgfQoKLyogPT09PT0gV29jaGVucGxh +biA9PT09PSAqLwoud3AtbGF5b3V0IHsKICAgIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9u +OiBjb2x1bW47IGZsZXg6IDE7IG92ZXJmbG93OiBoaWRkZW47Cn0KLndwLXRvb2xiYXIgewogICAg +ZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7CiAgICBwYWRkaW5n +OiA4cHggMTZweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXRvb2xiYXIpOwogICAgYm9yZGVy +LWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7Cn0KLndwLXplaXRyYXVtLWFu +emVpZ2UgewogICAgZm9udC1zaXplOiB2YXIoLS1mcy1sZyk7IGZvbnQtd2VpZ2h0OiA3MDA7IGNv +bG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOwogICAgbWFyZ2luLWxlZnQ6IDhweDsKfQoud3Atc2Ny +b2xsIHsKICAgIGZsZXg6IDE7IG92ZXJmbG93OiBhdXRvOyBwYWRkaW5nOiAxNnB4Owp9Ci8qIERp +ZSBhbHRlIHN0YXRpc2NoZSBXb2NoZW5wbGFuLTx0YWJsZT4gKC53cC10YWJlbGxlLy53cC10aC0q +Ly53cC10ZC10cmVubmVyKQogICB3dXJkZSBtaXQgZGVtIEF1ZGl0IDIwMjYtMDYtMTUgZW50ZmVy +bnQg4oCUIGRlciBSZW5kZXIgbGFldWZ0IHVlYmVyIGRhcwogICBUYWdibG9jay1MYXlvdXQgKC53 +cC10YWdibG9jayovLndwLXRsLSopLiBEaWUgenVnZWhvZXJpZ2VuIFRhYmVsbGVuLVN0aWxlCiAg +IHNpbmQgaGllciBlcnNhdHpsb3MgZ2VzdHJpY2hlbi4gKC53cC1zY2hpY2h0LSogYmxlaWJ0IOKA +lCB3aXJkIHZvbSBUYWdibG9jawogICB3ZWl0ZXJ2ZXJ3ZW5kZXQuKSAqLwoKLndwLXNjaGljaHQt +ZnJ1ZWggeyBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWZhcmJlLWZydWVoKTsgfQoud3At +c2NoaWNodC1zcGFldCB7IGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tZmFyYmUtc3BhZXQp +OyB9Ci53cC1zY2hpY2h0LW5hY2h0IHsgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1mYXJi +ZS1uYWNodCk7IH0KCi8qIFRhZ2VzLVNwYWx0ZTogV29jaGVudGFnICsgRGF0dW0gKyBNZXRhIChG +ZWllcnRhZywgU29uZGVydGFnLCBHZWJ1cnRzdGFnLCBTdMOkcmtlKSAqLwoud3AtdGQtdGFnIHsK +ICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0KTsKICAgIHZlcnRpY2FsLWFsaWduOiB0 +b3AgIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDZweCAxMHB4ICFpbXBvcnRhbnQ7CiAgICBib3Jk +ZXItcmlnaHQ6IDJweCBzb2xpZCB2YXIoLS1ib3JkZXItc3Ryb25nKTsKfQoud3AtdGFnLWtvcGYg +eyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDNweDsgZm9udC1z +aXplOiB2YXIoLS1mcy1zbSk7IH0KLndwLXRhZy13dCB7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQt +c2l6ZTogdmFyKC0tZnMtbWQpOyBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsgfQoud3AtdGFn +LWRhdHVtIHsgZm9udC13ZWlnaHQ6IDYwMDsgfQoud3AtdGFnLWZ0LW5hbWUgeyBjb2xvcjogdmFy +KC0tZmFyYmUtZmVobGVyKTsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiB2YXIoLS1mcy14 +cyk7IH0KLndwLXRhZy1mZXJpZW4tbmFtZSB7IGNvbG9yOiAjZTY3ZTIyOyBmb250LXdlaWdodDog +NjAwOyBmb250LXNpemU6IHZhcigtLWZzLXhzKTsgfQoud3AtdGFnLXNvbmRlci1oaW53ZWlzIHsg +Y29sb3I6ICM0YTkwZTI7IGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpOyB9Ci53cC10YWctc29uZGVy +LXdhcm51bmcgeyBjb2xvcjogI2U2N2UyMjsgZm9udC1zaXplOiB2YXIoLS1mcy14cyk7IGZvbnQt +d2VpZ2h0OiA2MDA7IH0KLndwLXRhZy1nYiB7IGNvbG9yOiAjZDRhMDE3OyBmb250LXNpemU6IHZh +cigtLWZzLXhzKTsgfQoud3AtdGFnLW1ldGEgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDZweDsgYWxp +Z24taXRlbXM6IGNlbnRlcjsgbWFyZ2luLXRvcDogMnB4OyB9Ci53cC10YWctc3RhZXJrZSB7CiAg +ICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDFweCA1cHg7IGJvcmRlci1yYWRpdXM6 +IHZhcigtLXJhZGl1cy14cyk7CiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6 +IHZhcigtLWZzLXhzKTsgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiAjZmZmOwp9Ci53cC10 +YWctc3RhZXJrZS1vayB7IGJhY2tncm91bmQ6IHZhcigtLWZhcmJlLWVyZm9sZyk7IH0KLndwLXRh +Zy1zdGFlcmtlLXdhcm4geyBiYWNrZ3JvdW5kOiB2YXIoLS1mYXJiZS1mZWhsZXIpOyBhbmltYXRp +b246IHB1bHNSb3QgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH0KLndwLXRhZy1hYncgeyBmb250 +LXNpemU6IHZhcigtLWZzLXhzKTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBjdXJzb3I6IGhl +bHA7IH0KCi8qIFRhZ2VzLUJsb2NrIEhpbnRlcmdydW5kLVZhcmlhbnRlbiAqLwoud3AtdGFnLWhl +dXRlIC53cC10ZC10YWcgeyBiYWNrZ3JvdW5kOiB2YXIoLS10YWctaGV1dGUpOyBjb2xvcjogI2Zm +ZjsgfQoud3AtdGFnLWhldXRlIC53cC10ZC10YWcgLndwLXRhZy13dCwgLndwLXRhZy1oZXV0ZSAu +d3AtdGQtdGFnIC53cC10YWctZGF0dW0geyBjb2xvcjogI2ZmZjsgfQoud3AtdGFnLWZ0IC53cC10 +ZC10YWcgeyBiYWNrZ3JvdW5kOiB2YXIoLS10YWctZmVpZXJ0YWcpOyBjb2xvcjogIzJDM0U1MDsg +fQoud3AtdGFnLXdlIC53cC10ZC10YWcgeyBiYWNrZ3JvdW5kOiB2YXIoLS10YWctd29jaGVuZW5k +ZSk7IGNvbG9yOiAjMkMzRTUwOyB9Ci53cC10YWctd2UgLndwLXRkLXRhZyAud3AtdGFnLXd0LCAu +d3AtdGFnLXdlIC53cC10ZC10YWcgLndwLXRhZy1kYXR1bSB7IGNvbG9yOiAjNEE2QThDOyB9Cltk +YXRhLXRoZW1lPSJuaWdodCJdIC53cC10YWctZnQgLndwLXRkLXRhZyB7IGNvbG9yOiAjRThFRUY1 +OyB9CltkYXRhLXRoZW1lPSJuaWdodCJdIC53cC10YWctd2UgLndwLXRkLXRhZywKW2RhdGEtdGhl +bWU9Im5pZ2h0Il0gLndwLXRhZy13ZSAud3AtdGQtdGFnIC53cC10YWctd3QsCltkYXRhLXRoZW1l +PSJuaWdodCJdIC53cC10YWctd2UgLndwLXRkLXRhZyAud3AtdGFnLWRhdHVtIHsgY29sb3I6ICND +OUQ2RTQ7IH0KCi8qIExlaWNodGUgSGludGVyZ3J1bmQtRWluZsOkcmJ1bmcgaW4gTmFtZW5zemVs +bGVuIGFtIEZUL1dFICovCi53cC10YWctZnQgLndwLXRkLW5hbWUsIC53cC10YWctZnQgLndwLXRk +LWRuciB7IGJhY2tncm91bmQ6IHJnYmEoNjAsOTAsMTMwLDAuMDkpOyB9Ci53cC10YWctd2UgLndw +LXRkLW5hbWUsIC53cC10YWctd2UgLndwLXRkLWRuciB7IGJhY2tncm91bmQ6IHJnYmEoNjAsOTAs +MTMwLDAuMDUpOyB9Ci53cC10YWctaGV1dGUgLndwLXRkLW5hbWUsIC53cC10YWctaGV1dGUgLndw +LXRkLWRuciB7IGJhY2tncm91bmQ6IHJnYmEoMjEyLDE2MCwyMywwLjEwKTsgfQoKLyogVGFnZXNi +bG9jay1UcmVubmthbnRlICovCi53cC16ZWlsZS10YWctZW5kZSB0ZCB7IGJvcmRlci1ib3R0b206 +IDJweCBzb2xpZCB2YXIoLS1ib3JkZXItc3Ryb25nKTsgfQoKLyogTmFtZW4tWmVsbGVuICovCi53 +cC10ZC1uYW1lIHsgcGFkZGluZzogMnB4IDZweCAhaW1wb3J0YW50OyB0ZXh0LWFsaWduOiBjZW50 +ZXI7IH0KLndwLW5hbWUgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgcGFkZGluZzog +MCA0cHg7CiAgICBmb250LXNpemU6IHZhcigtLWZzLXNtKTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7 +CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Ci53cC1uYW1lLXZlcmFudHcgewogICAgZm9udC13 +ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOwogICAgYm9yZGVyLWxl +ZnQ6IDJweCBzb2xpZCAjRDRBMDE3OwogICAgcGFkZGluZy1sZWZ0OiA1cHg7Cn0KLndwLW5hbWUt +ZmJwIHsgZm9udC1zdHlsZTogaXRhbGljOyB9Ci53cC1uYW1lLWZicCBzdXAgeyBjb2xvcjogI2Q0 +YTAxNzsgZm9udC13ZWlnaHQ6IDcwMDsgbWFyZ2luLWxlZnQ6IDFweDsgfQovKiA9PT09PSBXb2No +ZW5wbGFuOiBUYWdlc2Jsw7Zja2UgKEJpbGRzY2hpcm0gKyBCYXNpcyBmw7xycyBEcnVja2VuKSA9 +PT09PSAqLwoud3Atc2VpdGUgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IHBhZGRp +bmc6IDE2cHggMThweDsKICAgIG1hcmdpbjogMTJweDsKICAgIGJveC1zaGFkb3c6IDAgMnB4IDEw +cHggcmdiYSgwLDAsMCwwLjA2KTsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7 +Cn0KLndwLXNlaXRlLWtvcGYgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyBwYWRkaW5nLWJvdHRvbTog +OHB4OyBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tYmctcHJpbWFyeSk7IH0KLndwLXNl +aXRlLWtvcGYgaDEgewogICAgZm9udC1zaXplOiAxNXB4OyBmb250LXdlaWdodDogNzAwOyBjb2xv +cjogdmFyKC0tdGV4dC1oZWFkaW5nKTsKICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDsgbWFyZ2lu +OiAwOwp9Ci53cC1zZWl0ZS1rb3BmIGgxIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1iZy1wcmltYXJ5 +KTsgfQoKLndwLXRhZ2Jsb2NrIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRl +LWNvbHVtbnM6IDE0MHB4IDFmcjsKICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgIGJvcmRlcjog +MXB4IHNvbGlkIHZhcigtLWJnLXByaW1hcnkpOwogICAgYmFja2dyb3VuZDogI2ZmZjsKfQpbZGF0 +YS10aGVtZT0ibmlnaHQiXSAud3AtdGFnYmxvY2sgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJk +KTsgYm9yZGVyLWNvbG9yOiAjM2E0ZDYwOyB9Cgoud3AtdGFnYmxvY2stbGFiZWwgewogICAgYmFj +a2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7IGNvbG9yOiAjZmZmOwogICAgZGlzcGxheTogZmxl +eDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IGp1c3RpZnkt +Y29udGVudDogZmxleC1zdGFydDsKICAgIHBhZGRpbmc6IDZweCA4cHg7IHRleHQtYWxpZ246IGxl +ZnQ7IGdhcDogMDsKfQoud3AtdGwta29wZiB7CiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVt +czogYmFzZWxpbmU7IGdhcDogNnB4OwogICAgcGFkZGluZy1ib3R0b206IDRweDsKICAgIGJvcmRl +ci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMik7Cn0KLndwLXRsLXd0IHsg +Zm9udC1zaXplOiB2YXIoLS1mcy1tZCk7IGZvbnQtd2VpZ2h0OiA3MDA7IGxldHRlci1zcGFjaW5n +OiAwLjVweDsgfQoud3AtdGwtZGF0dW0geyBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgZm9udC1m +YW1pbHk6IG1vbm9zcGFjZTsgb3BhY2l0eTogMC45OyB9Ci53cC10bC16dXNhdHotYm94IHsKICAg +IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogM3B4OyBtYXJnaW4t +dG9wOiAxNHB4OyB3aWR0aDogMTAwJTsKfQoud3AtdGwtenVzYXR6IHsKICAgIGZvbnQtc2l6ZTog +dmFyKC0tZnMteHMpOyBwYWRkaW5nOiAycHggNXB4OyBib3JkZXItcmFkaXVzOiAycHg7CiAgICBi +YWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMTUpOyBsaW5lLWhlaWdodDogMS4zOwogICAg +d2hpdGUtc3BhY2U6IG5vd3JhcDsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxs +aXBzaXM7CiAgICB0ZXh0LWFsaWduOiBsZWZ0Owp9Ci53cC10bC16LWZ0IHsgYmFja2dyb3VuZDog +cmdiYSgyNTUsMjAwLDIwMCwwLjI1KTsgZm9udC13ZWlnaHQ6IDcwMDsgfQoud3AtdGwtei13YXJu +dW5nIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsMTgwLDEwMCwwLjMpOyB9Ci53cC10bC16LWZlcmll +biB7IGJhY2tncm91bmQ6IHJnYmEoMjMwLDEyNiwzNCwwLjIwKTsgfQoud3AtdGwtei1oaW53ZWlz +IHsgYmFja2dyb3VuZDogcmdiYSg3NCwxNDQsMjI2LDAuMjApOyB9Ci53cC10bC16LWdiIHsgYmFj +a2dyb3VuZDogcmdiYSgyMTIsMTYwLDIzLDAuMjIpOyB9Cgoud3AtdGFnYmxvY2staW5oYWx0IHsg +cGFkZGluZzogMDsgfQoKLndwLXRhZ2Jsb2NrLXRhYmVsbGUgewogICAgd2lkdGg6IDEwMCU7IGJv +cmRlci1jb2xsYXBzZTogY29sbGFwc2U7IHRhYmxlLWxheW91dDogZml4ZWQ7CiAgICBmb250LXNp +emU6IHZhcigtLWZzLWJhc2UpOwp9Ci53cC10YWdibG9jay10YWJlbGxlIHRoLAoud3AtdGFnYmxv +Y2stdGFiZWxsZSB0ZCB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzhjZWQ0OwogICAgcGFkZGlu +ZzogM3B4IDZweDsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICB0ZXh0LWFsaWduOiBs +ZWZ0Owp9CltkYXRhLXRoZW1lPSJuaWdodCJdIC53cC10YWdibG9jay10YWJlbGxlIHRoLApbZGF0 +YS10aGVtZT0ibmlnaHQiXSAud3AtdGFnYmxvY2stdGFiZWxsZSB0ZCB7IGJvcmRlci1jb2xvcjog +IzNhNGQ2MDsgfQoKLndwLXRhZy1oMSB0aCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmlt +YXJ5KTsgY29sb3I6ICNmZmY7CiAgICBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IHZhcigt +LWZzLWJhc2UpOyB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBwYWRkaW5nOiA0cHggNnB4OwogICAg +Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmctcHJpbWFyeSk7Cn0KLndwLXRhZy1oMSB0aC53cC1o +MS1kZ2wgeyBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZmZmOyB9Cgoud3AtdGFnLWgyIHRoIHsK +ICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnktZGFyayk7IGNvbG9yOiAjZmZmOwogICAg +Zm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7IHRleHQtYWxpZ246IGNl +bnRlcjsKICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1i +Zy1wcmltYXJ5KTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5n +OiAwLjNweDsKfQoKLndwLXRhZ2Jsb2NrLXRhYmVsbGUgdGQgewogICAgaGVpZ2h0OiAyMnB4OyBt +aW4taGVpZ2h0OiAyMnB4OwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7Cn0KLndwLXRhZ2Js +b2NrLXRhYmVsbGUgdGQud3Atc2NoaWNodC1mcnVlaCB7IGJhY2tncm91bmQ6IHJnYmEoMTgzLDI4 +LDI4LDAuMDUpOyB9Ci53cC10YWdibG9jay10YWJlbGxlIHRkLndwLXNjaGljaHQtc3BhZXQgeyBi +YWNrZ3JvdW5kOiByZ2JhKDI2LDgyLDExOCwwLjA1KTsgfQoud3AtdGFnYmxvY2stdGFiZWxsZSB0 +ZC53cC1zY2hpY2h0LW5hY2h0IHsgYmFja2dyb3VuZDogcmdiYSgyNyw5NCwzMiwwLjA1KTsgfQpb +ZGF0YS10aGVtZT0ibmlnaHQiXSAud3AtdGFnYmxvY2stdGFiZWxsZSB0ZC53cC1zY2hpY2h0LWZy +dWVoIHsgYmFja2dyb3VuZDogcmdiYSgxODMsMjgsMjgsMC4xMik7IH0KW2RhdGEtdGhlbWU9Im5p +Z2h0Il0gLndwLXRhZ2Jsb2NrLXRhYmVsbGUgdGQud3Atc2NoaWNodC1zcGFldCB7IGJhY2tncm91 +bmQ6IHJnYmEoMjYsODIsMTE4LDAuMTUpOyB9CltkYXRhLXRoZW1lPSJuaWdodCJdIC53cC10YWdi +bG9jay10YWJlbGxlIHRkLndwLXNjaGljaHQtbmFjaHQgeyBiYWNrZ3JvdW5kOiByZ2JhKDI3LDk0 +LDMyLDAuMTIpOyB9CgovKiBWZXJ0aWthbGUgVHJlbm51bmcgREdMIHwgV0RGL0ZCUCAqLwoud3At +dGFnYmxvY2stdGFiZWxsZSB0ZDpudGgtY2hpbGQoMyksCi53cC10YWdibG9jay10YWJlbGxlIC53 +cC10YWctaDIgdGg6bnRoLWNoaWxkKDMpIHsgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgdmFyKC0t +YmctcHJpbWFyeSk7IH0KCi53cC1uYW1lIHsgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7IHdoaXRl +LXNwYWNlOiBub3dyYXA7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lz +OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1heC13aWR0aDogMTAwJTsgfQoud3AtbmFtZS1mYnAg +eyBmb250LXN0eWxlOiBpdGFsaWM7IH0KLndwLW5hbWUtZmJwIHN1cCB7IGNvbG9yOiAjRDRBMDE3 +OyBmb250LXdlaWdodDogNzAwOyBtYXJnaW4tbGVmdDogMXB4OyB9CgovKiBUYWctU3RhdHVzLUFr +emVudGUgKGRlemVudCkgKi8KLndwLXRhZ2Jsb2NrLWhldXRlIHsgb3V0bGluZTogMnB4IHNvbGlk +ICNENEEwMTc7IG91dGxpbmUtb2Zmc2V0OiAtMXB4OyB9Ci53cC10YWdibG9jay1mdCAud3AtdGFn +YmxvY2stbGFiZWwgeyBiYWNrZ3JvdW5kOiAjNEE2QThDOyB9Ci53cC10YWdibG9jay1mdC13aWNo +dGlnIC53cC10YWdibG9jay1sYWJlbCB7IGJhY2tncm91bmQ6ICMyQzNFNTA7IH0KLndwLXRhZ2Js +b2NrLXdlIC53cC10YWdibG9jay1sYWJlbCB7IGJhY2tncm91bmQ6ICM1MjgyQTY7IH0KLndwLXRh +Z2Jsb2NrLW5zIC53cC10YWdibG9jay1sYWJlbCB7IGJhY2tncm91bmQ6ICMxQTUyNzY7IH0KCi53 +cC1zZWl0ZS1mdXNzIHsKICAgIG1hcmdpbi10b3A6IDEycHg7IHBhZGRpbmctdG9wOiAxMHB4Owog +ICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7CiAgICBkaXNwbGF5 +OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICBmb250LXNpemU6IHZh +cigtLWZzLXhzKTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwp9Ci53cC1mdXNzLW5vdGUgc3Vw +IHsgZm9udC13ZWlnaHQ6IDcwMDsgfQoKLyogPT09PT0gRHJ1Y2stTGF5b3V0IFdvY2hlbnBsYW4g +4oCUIDcgVGFnZSArIGplIGJpcyB6dSA4IFplaWxlbiBhdWYgRUlORVIgQTQtU2VpdGUgPT09PT0g +Ki8KQG1lZGlhIHByaW50IHsKICAgIEBwYWdlIHsgc2l6ZTogQTQgcG9ydHJhaXQ7IG1hcmdpbjog +N21tIDltbTsgfQoKICAgIC8qIEFsbGVzIGF1w59lciBkZW0gV29jaGVucGxhbiBrb21wbGV0dCBh +dXMgZGVtIExheW91dCBuZWhtZW4gKGRpc3BsYXk6bm9uZSwKICAgICAgIGRhbWl0IGRlciBCcm93 +c2VyIGRlbiBJbmhhbHQga29ycmVrdCBwYWdpbmllcmVuIGthbm4g4oCUIHBvc2l0aW9uOmFic29s +dXRlCiAgICAgICBmw7xocnQgc29uc3QgenVtIEFic2NobmVpZGVuIG5hY2ggZGVyIGVyc3RlbiBT +ZWl0ZSkuICovCiAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAuYW5zaWNodDpub3QoI2Fuc2lj +aHQtd29jaGVucGxhbiksCiAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiBoZWFkZXIsCiAgICBi +b2R5LmRydWNrZW4td29jaGVucGxhbiBuYXYsCiAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAu +dG9vbGJhciwKICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC10b29sYmFyLAogICAgYm9k +eS5kcnVja2VuLXdvY2hlbnBsYW4gLndwLWxlZ2VuZGUsCiAgICBib2R5LmRydWNrZW4td29jaGVu +cGxhbiAjd3AtZHJ1Y2tlbiwKICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuICNtb2RhbC1vdmVy +bGF5LAogICAgYm9keS5kcnVja2VuLXdvY2hlbnBsYW4gI3RvYXN0LWNvbnRhaW5lciwKICAgIGJv +ZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC5oZWFkZXIsCiAgICBib2R5LmRydWNrZW4td29jaGVucGxh +biAuaGF1cHRuYXYsCiAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAuc2VpdGVubGVpc3RlIHsg +ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9CgogICAgYm9keS5kcnVja2VuLXdvY2hlbnBsYW4g +eyBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IH0KICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5w +bGFuICNhbnNpY2h0LXdvY2hlbnBsYW4gewogICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRh +bnQ7CiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyBtYXJnaW46IDAgIWltcG9ydGFudDsg +YmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50OwogICAgfQogICAgYm9keS5kcnVja2VuLXdvY2hl +bnBsYW4gLndwLXNjcm9sbCwKICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC1sYXlvdXQg +ewogICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IG1heC1oZWlnaHQ6IG5vbmUg +IWltcG9ydGFudDsgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICAgICAgcGFkZGluZzogMCAh +aW1wb3J0YW50OyBtYXJnaW46IDAgIWltcG9ydGFudDsgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0 +YW50OwogICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLyogU2Vp +dGVuLUdydW5kbGF5b3V0ICovCiAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAud3Atc2VpdGUg +ewogICAgICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDsgYm94LXNoYWRvdzogbm9uZSAh +aW1wb3J0YW50OwogICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyBwYWRkaW5nOiAwICFpbXBv +cnRhbnQ7CiAgICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6 +IDAgIWltcG9ydGFudDsKICAgIH0KICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC1zZWl0 +ZS1rb3BmIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7IHBhZGRpbmctYm90dG9tOiAzcHg7 +CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMS41cHggc29saWQgdmFyKC0tYmctcHJpbWFyeSk7CiAg +ICB9CiAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAud3Atc2VpdGUta29wZiBoMSB7IGZvbnQt +c2l6ZTogMTFwdDsgbGluZS1oZWlnaHQ6IDEuMTsgfQoKICAgIC8qIEtlaW4gYmlsZHNjaGlybS1i +ZXpvZ2VuZXIgT3V0bGluZSBpbSBEcnVjayAqLwogICAgYm9keS5kcnVja2VuLXdvY2hlbnBsYW4g +LndwLXRhZ2Jsb2NrLWhldXRlIHsgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50OyB9CgogICAgLyog +SmVkZXIgVGFnZXNibG9jazoga29tcGFrdCwgYmlzIHp1IDggWmVpbGVuIHBhc3NlbiAqLwogICAg +Ym9keS5kcnVja2VuLXdvY2hlbnBsYW4gLndwLXRhZ2Jsb2NrIHsKICAgICAgICBwYWdlLWJyZWFr +LWluc2lkZTogYXZvaWQgIWltcG9ydGFudDsgYnJlYWstaW5zaWRlOiBhdm9pZCAhaW1wb3J0YW50 +OwogICAgICAgIG1hcmdpbi1ib3R0b206IDFweDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVt +bnM6IDkwcHggMWZyICFpbXBvcnRhbnQ7CiAgICAgICAgYm9yZGVyLXdpZHRoOiAwLjVweDsKICAg +IH0KICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC10YWdibG9jay1sYWJlbCB7CiAgICAg +ICAgcGFkZGluZzogMnB4IDRweDsKICAgIH0KICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53 +cC10bC1rb3BmIHsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyBhbGlnbi1pdGVtczogYmFz +ZWxpbmU7CiAgICAgICAgZ2FwOiA0cHg7IHBhZGRpbmctYm90dG9tOiAycHg7CiAgICAgICAgYm9y +ZGVyLWJvdHRvbTogMC41cHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpOwogICAgfQogICAg +Ym9keS5kcnVja2VuLXdvY2hlbnBsYW4gLndwLXRsLXd0IHsgZm9udC1zaXplOiA5cHQ7IGZvbnQt +d2VpZ2h0OiA3MDA7IH0KICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC10bC1kYXR1bSB7 +IGZvbnQtc2l6ZTogN3B0OyB9CiAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAud3AtdGwtenVz +YXR6LWJveCB7IG1hcmdpbi10b3A6IDZweDsgZ2FwOiAxLjVweDsgfQogICAgYm9keS5kcnVja2Vu +LXdvY2hlbnBsYW4gLndwLXRsLXp1c2F0eiB7IGZvbnQtc2l6ZTogNnB0OyBwYWRkaW5nOiAwIDJw +eDsgbGluZS1oZWlnaHQ6IDEuMjsgdGV4dC1hbGlnbjogbGVmdDsgfQoKICAgIC8qIFRhYmVsbGUg +4oCUIGtvbXBha3QgYWJlciBsZXNiYXIgKi8KICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53 +cC10YWdibG9jay10YWJlbGxlIHsKICAgICAgICBmb250LXNpemU6IDdwdDsKICAgIH0KICAgIGJv +ZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC10YWdibG9jay10YWJlbGxlIHRoLAogICAgYm9keS5k +cnVja2VuLXdvY2hlbnBsYW4gLndwLXRhZ2Jsb2NrLXRhYmVsbGUgdGQgewogICAgICAgIHBhZGRp +bmc6IDAgMS41bW0gIWltcG9ydGFudDsKICAgICAgICBib3JkZXItd2lkdGg6IDAuNXB4OwogICAg +ICAgIGxpbmUtaGVpZ2h0OiAxLjA1ICFpbXBvcnRhbnQ7CiAgICAgICAgYm94LXNpemluZzogYm9y +ZGVyLWJveDsKICAgIH0KICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC10YWctaDEgdGgg +eyBmb250LXNpemU6IDhwdDsgaGVpZ2h0OiAzLjVtbSAhaW1wb3J0YW50OyBwYWRkaW5nOiAwIDEu +NW1tICFpbXBvcnRhbnQ7IH0KICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC10YWctaDIg +dGggeyBmb250LXNpemU6IDYuOHB0OyBoZWlnaHQ6IDIuOW1tICFpbXBvcnRhbnQ7IHBhZGRpbmc6 +IDAgMS41bW0gIWltcG9ydGFudDsgfQogICAgYm9keS5kcnVja2VuLXdvY2hlbnBsYW4gLndwLXRh +Z2Jsb2NrLXRhYmVsbGUgdGQgewogICAgICAgIGZvbnQtc2l6ZTogN3B0OyBoZWlnaHQ6IDMuM21t +ICFpbXBvcnRhbnQ7IG1pbi1oZWlnaHQ6IDMuM21tICFpbXBvcnRhbnQ7CiAgICAgICAgb3ZlcmZs +b3c6IGhpZGRlbjsKICAgIH0KICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC1uYW1lIHsg +Zm9udC1zaXplOiA3cHQ7IGxpbmUtaGVpZ2h0OiAxLjA1OyB9CgogICAgYm9keS5kcnVja2VuLXdv +Y2hlbnBsYW4gLndwLXNlaXRlLWZ1c3MgewogICAgICAgIG1hcmdpbi10b3A6IDRweDsgcGFkZGlu +Zy10b3A6IDNweDsKICAgICAgICBmb250LXNpemU6IDYuNXB0OwogICAgfQoKICAgIC8qIFF1ZXJm +b3JtYXQ6IG1laHIgUGxhdHosIGdyw7bDn2VyZSBTY2hyaWZ0ICovCiAgICBAbWVkaWEgKG9yaWVu +dGF0aW9uOiBsYW5kc2NhcGUpIHsKICAgICAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAud3At +dGFnYmxvY2sgewogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEzMHB4IDFmciAh +aW1wb3J0YW50OwogICAgICAgIH0KICAgICAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAud3At +dGFnYmxvY2stdGFiZWxsZSB7IGZvbnQtc2l6ZTogOXB0OyB9CiAgICAgICAgYm9keS5kcnVja2Vu +LXdvY2hlbnBsYW4gLndwLXRhZ2Jsb2NrLXRhYmVsbGUgdGQgeyBmb250LXNpemU6IDlwdDsgfQog +ICAgICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC1uYW1lIHsgZm9udC1zaXplOiA5cHQ7 +IH0KICAgICAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAud3AtdGwtd3QgeyBmb250LXNpemU6 +IDExcHQ7IH0KICAgICAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAud3AtdGwtZGF0dW0geyBm +b250LXNpemU6IDlwdDsgfQogICAgICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC10bC16 +dXNhdHogeyBmb250LXNpemU6IDdwdDsgcGFkZGluZzogMXB4IDNweDsgfQogICAgICAgIGJvZHku +ZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC10bC16dXNhdHotYm94IHsgbWFyZ2luLXRvcDogOHB4OyBn +YXA6IDJweDsgfQogICAgICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuIC53cC10YWctaDEgdGgg +eyBmb250LXNpemU6IDEwcHQ7IH0KICAgICAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiAud3At +dGFnLWgyIHRoIHsgZm9udC1zaXplOiA4cHQ7IH0KICAgIH0KCiAgICAvKiBIaW50ZXJncnVuZC1G +YXJiZW4gaW0gRHJ1Y2sgZXJ6d2luZ2VuICovCiAgICBib2R5LmRydWNrZW4td29jaGVucGxhbiwK +ICAgIGJvZHkuZHJ1Y2tlbi13b2NoZW5wbGFuICogewogICAgICAgIC13ZWJraXQtcHJpbnQtY29s +b3ItYWRqdXN0OiBleGFjdCAhaW1wb3J0YW50OwogICAgICAgIHByaW50LWNvbG9yLWFkanVzdDog +ZXhhY3QgIWltcG9ydGFudDsKICAgICAgICBjb2xvci1hZGp1c3Q6IGV4YWN0ICFpbXBvcnRhbnQ7 +CiAgICB9Cn0KCi8qID09PT09IERydWNrLUxheW91dCBQZXJzb2VubGljaGVyIFBsYW4g4oCUIGFs +bGUgMTIgTW9uYXRlIGF1ZiBlaW5lciBTZWl0ZSA9PT09PQogICBXaXIgYmVuYW5udGUgQHBhZ2Ut +UmVnZWwgKCdwcC1kcnVjaycpIHN0YXR0IG9yaWVudGF0aW9uLXNwZXppZmlzY2hlciBAcGFnZS0K +ICAgUmVnZWwgaW0gQG1lZGlhIHByaW50LUJsb2NrIOKAlCBzb25zdCBrb2xsaWRpZXJ0IHNpZSBt +aXQgZGVyIHBvcnRyYWl0LUBwYWdlCiAgIGRlcyBXb2NoZW5wbGFucyAoQnJvd3NlciBuaW1tdCBz +b25zdCBudXIgZWluZSkuIFBlciBgcGFnZTogcHAtZHJ1Y2s7YCBhbiBkZXIKICAgUGVyc3BsYW4t +V3VyemVsIHdpcmQgc2llIG51ciBmdWVyIGRpZXNlbiBEcnVjayBha3Rpdi4gKi8KQHBhZ2UgcHAt +ZHJ1Y2sgeyBzaXplOiBBNCBsYW5kc2NhcGU7IG1hcmdpbjogNm1tIDhtbTsgfQoKQG1lZGlhIHBy +aW50IHsKICAgIGJvZHkuZHJ1Y2tlbi1wZXJzcGxhbiB7IGJhY2tncm91bmQ6ICNmZmYgIWltcG9y +dGFudDsgfQoKICAgIC8qIEhlYWRlciwgVG9vbGJhciwgVGFicyB1bmQgYWxsZSBhbmRlcmVuIEFu +c2ljaHRlbiBhdXNibGVuZGVuICovCiAgICBib2R5LmRydWNrZW4tcGVyc3BsYW4gI2tvcGZsZWlz +dGUsCiAgICBib2R5LmRydWNrZW4tcGVyc3BsYW4gLmFuc2ljaHQ6bm90KCNhbnNpY2h0LXBlcnNw +bGFuKSwKICAgIGJvZHkuZHJ1Y2tlbi1wZXJzcGxhbiAucHAtdG9vbGJhciwKICAgIGJvZHkuZHJ1 +Y2tlbi1wZXJzcGxhbiAjcHAtZHJ1Y2tlbiwKICAgIGJvZHkuZHJ1Y2tlbi1wZXJzcGxhbiAjbW9k +YWwtb3ZlcmxheSwKICAgIGJvZHkuZHJ1Y2tlbi1wZXJzcGxhbiAjdG9hc3QtY29udGFpbmVyIHsg +ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9CgogICAgYm9keS5kcnVja2VuLXBlcnNwbGFuICNh +bnNpY2h0LXBlcnNwbGFuIHsKICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogICAg +ICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFp +bXBvcnRhbnQ7CiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50OwogICAgICAgIHBh +ZGRpbmc6IDAgIWltcG9ydGFudDsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICAgICAgcGFnZTog +cHAtZHJ1Y2s7CiAgICB9CiAgICBib2R5LmRydWNrZW4tcGVyc3BsYW4gLnBwLXNjcm9sbCB7CiAg +ICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsKICAgICAgICBwYWRkaW5nOiAwICFp +bXBvcnRhbnQ7IG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1w +b3J0YW50OwogICAgICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDsKICAgIH0KICAgIGJv +ZHkuZHJ1Y2tlbi1wZXJzcGxhbiAucHAtdGl0ZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTJwdDsK +ICAgICAgICBtYXJnaW46IDAgMCAzbW0gMDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAg +ICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7CiAgICB9CgogICAgLyogMTIgTW9uYXRlIGFs +cyA0LVNwYWx0ZW4tR3JpZCAoNCB4IDMgPSAxMikgKi8KICAgIGJvZHkuZHJ1Y2tlbi1wZXJzcGxh +biAucHAtbW9uYXRlIHsKICAgICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7CiAgICAgICAg +Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKSAhaW1wb3J0YW50OwogICAgICAg +IGdhcDogM21tICFpbXBvcnRhbnQ7CiAgICB9CiAgICAvKiBCdWZmZXItTW9uYXQgKG09MTIgLT4g +SmFudWFyIEZvbGdlamFocikgYXVzYmxlbmRlbiwgc29kYXNzIG51ciAxMiBNb25hdGUgZ2VkcnVj +a3Qgd2VyZGVuICovCiAgICBib2R5LmRydWNrZW4tcGVyc3BsYW4gLnBwLW1vbmF0Om50aC1jaGls +ZCgxMykgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0KCiAgICBib2R5LmRydWNrZW4tcGVy +c3BsYW4gLnBwLW1vbmF0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAg +IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKICAgICAgICBib3JkZXItd2lkdGg6IDFweCAh +aW1wb3J0YW50OwogICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZCAhaW1wb3J0YW50Owog +ICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQgIWltcG9ydGFudDsKICAgIH0KICAgIGJvZHkuZHJ1 +Y2tlbi1wZXJzcGxhbiAucHAtbW9uYXQta29wZiB7CiAgICAgICAgZm9udC1zaXplOiA5cHQ7CiAg +ICAgICAgcGFkZGluZzogMnB4IDRweDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7CiAg +ICB9CiAgICBib2R5LmRydWNrZW4tcGVyc3BsYW4gLnBwLW1vbmF0LWdyaWQgeyBmb250LXNpemU6 +IDcuNXB0OyB9CiAgICBib2R5LmRydWNrZW4tcGVyc3BsYW4gLnBwLXd0LWtvcGYgewogICAgICAg +IGZvbnQtc2l6ZTogNi41cHQ7CiAgICAgICAgcGFkZGluZzogMXB4IDA7CiAgICAgICAgYm9yZGVy +LWJvdHRvbS13aWR0aDogMXB4ICFpbXBvcnRhbnQ7CiAgICB9CiAgICBib2R5LmRydWNrZW4tcGVy +c3BsYW4gLnBwLXRhZyB7CiAgICAgICAgZm9udC1zaXplOiA3cHQ7CiAgICAgICAgcGFkZGluZzog +MDsKICAgICAgICBtaW4taGVpZ2h0OiAxNHB4OwogICAgfQogICAgYm9keS5kcnVja2VuLXBlcnNw +bGFuIC5wcC10YWctbnIgeyBmb250LXNpemU6IDYuNXB0OyB9CiAgICBib2R5LmRydWNrZW4tcGVy +c3BsYW4gLnBwLXRhZy13ZXJ0IHsgZm9udC1zaXplOiA2LjVwdDsgcGFkZGluZzogMCAxcHg7IH0K +CiAgICAvKiBadXNhbW1lbmZhc3N1bmcga29tcGFrdCB1bnRlciBkZW4gTW9uYXRlbiAqLwogICAg +Ym9keS5kcnVja2VuLXBlcnNwbGFuIC5wcC1zdW1tYXJ5IHsKICAgICAgICBtYXJnaW4tdG9wOiAz +bW0gIWltcG9ydGFudDsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4ICFpbXBvcnRhbnQ7CiAgICAg +ICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkICFpbXBvcnRhbnQ7CiAgICB9CiAgICBib2R5LmRy +dWNrZW4tcGVyc3BsYW4gLnBwLXN1bW1hcnkgaDMgeyBmb250LXNpemU6IDEwcHQ7IG1hcmdpbjog +MCAwIDJtbSAwOyB9CiAgICBib2R5LmRydWNrZW4tcGVyc3BsYW4gLnBwLXN1bW1hcnktZ3JpZCB7 +CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKSAhaW1wb3J0YW50 +OwogICAgICAgIGdhcDogNHB4ICFpbXBvcnRhbnQ7CiAgICB9CiAgICBib2R5LmRydWNrZW4tcGVy +c3BsYW4gLnBwLXN0YXQtaXRlbSB7IHBhZGRpbmc6IDJweCA0cHggIWltcG9ydGFudDsgfQogICAg +Ym9keS5kcnVja2VuLXBlcnNwbGFuIC5wcC1zdGF0LXphaGwgeyBmb250LXNpemU6IDExcHQgIWlt +cG9ydGFudDsgfQogICAgYm9keS5kcnVja2VuLXBlcnNwbGFuIC5wcC1zdGF0LWxhYmVsIHsgZm9u +dC1zaXplOiA3cHQgIWltcG9ydGFudDsgfQoKICAgIC8qIEhpbnRlcmdydW5kLUZhcmJlbiAoV29j +aGVuZW5kZSwgRmVpZXJ0YWcsIFNjaGljaHRjb2RlcykgZXJ6d2luZ2VuICovCiAgICBib2R5LmRy +dWNrZW4tcGVyc3BsYW4sCiAgICBib2R5LmRydWNrZW4tcGVyc3BsYW4gKiB7CiAgICAgICAgLXdl +YmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0ICFpbXBvcnRhbnQ7CiAgICAgICAgcHJpbnQt +Y29sb3ItYWRqdXN0OiBleGFjdCAhaW1wb3J0YW50OwogICAgICAgIGNvbG9yLWFkanVzdDogZXhh +Y3QgIWltcG9ydGFudDsKICAgIH0KfQoKLyogRGllbnN0bnVtbWVyLVplbGxlbiAoZ2VsYiBoaW50 +ZXJsZWd0KSAqLwoud3AtdGQtZG5yIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjQwLDIxOCw4MCww +LjEyKTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7 +CiAgICBmb250LXNpemU6IHZhcigtLWZzLXhzKTsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29u +ZGFyeSk7Cn0KW2RhdGEtdGhlbWU9Im5pZ2h0Il0gLndwLXRkLWRuciB7IGJhY2tncm91bmQ6IHJn +YmEoMTg0LDE2MCwzMiwwLjEwKTsgfQoKLyogRnXDn3plaWxlICovCi53cC1mdXNzemVpbGUgdGQg +ewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOwogICAgYm9yZGVyLXRvcDogMnB4 +IHNvbGlkIHZhcigtLWJvcmRlci1zdHJvbmcpOwogICAgcGFkZGluZzogNnB4IDEwcHggIWltcG9y +dGFudDsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpOwogICAgY29sb3I6IHZhcigtLXRleHQt +bXV0ZWQpOwp9Ci53cC1mdXNzemVpbGUgdGQgPiBzcGFuIHsgZGlzcGxheTogaW5saW5lLWJsb2Nr +OyB9Ci53cC1mdXNzLWRydWNrIHsgZmxvYXQ6IHJpZ2h0OyBjb2xvcjogdmFyKC0tdGV4dC1zZWNv +bmRhcnkpOyBmb250LXdlaWdodDogNjAwOyB9Ci53cC1mdXNzLW5vdGUgc3VwIHsgY29sb3I6ICNk +NGEwMTc7IGZvbnQtd2VpZ2h0OiA3MDA7IH0KCi8qIEZlaWVydGFnIOKAnndpY2h0aWciIGltIEFk +bWluLVRhYiAqLwp0ci5mZWllcnRhZy13aWNodGlnIHRkIHsgYmFja2dyb3VuZDogcmdiYSgxOTIs +MCwwLDAuMDYpOyB9CgovKiBGaWx0ZXItTGVpc3RlIG9iZXJoYWxiIGRlciBGZWllcnRhZy1UYWJl +bGxlICovCi5mZWllcnRhZ2UtZmlsdGVyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBnYXA6IDE2 +cHg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZmxleC13cmFwOiB3cmFwOwogICAgcGFk +ZGluZzogOHB4IDEycHg7CiAgICBtYXJnaW46IDhweCAwOwogICAgYmFja2dyb3VuZDogdmFyKC0t +YmctY2FyZC1hbHQpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsK +ICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7CiAgICBmb250LXNpemU6IHZhcigt +LWZzLWJhc2UpOwp9Ci5mZWllcnRhZ2UtZmlsdGVyIGxhYmVsIHsgZGlzcGxheTogaW5saW5lLWZs +ZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OyBjb2xvcjogdmFyKC0tdGV4dC1zZWNv +bmRhcnkpOyB9Ci5mZWllcnRhZ2UtZmlsdGVyIHNlbGVjdCB7IHBhZGRpbmc6IDNweCA2cHg7IGZv +bnQtc2l6ZTogdmFyKC0tZnMtYmFzZSk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1j +b2xvcik7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7IGJhY2tncm91bmQ6IHZhcigt +LWJnLWlucHV0KTsgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7IH0KCi8qIEZpbHRlci1Bbndl +bmR1bmc6IGJlaSBha3RpdmVtIEZpbHRlciBhbGxlIG5pY2h0IHBhc3NlbmRlbiBaZWlsZW4gYXVz +YmxlbmRlbi4KICAgRmlsdGVyLUtsYXNzZW4gd2VyZGVuIHZvbSBKUyBhbSB0Ym9keSBnZXNldHp0 +LiAqLwojZmVpZXJ0YWdlLXRib2R5LmZpbHRlci1rYXQtZ2VzZXR6bGljaCAgdHI6bm90KC5mZWll +cnRhZy1yb3cta2F0LWdlc2V0emxpY2gpICB7IGRpc3BsYXk6IG5vbmU7IH0KI2ZlaWVydGFnZS10 +Ym9keS5maWx0ZXIta2F0LWp1ZWRpc2NoICAgIHRyOm5vdCguZmVpZXJ0YWctcm93LWthdC1qdWVk +aXNjaCkgICAgeyBkaXNwbGF5OiBub25lOyB9CiNmZWllcnRhZ2UtdGJvZHkuZmlsdGVyLWthdC1t +dXNsaW1pc2NoICB0cjpub3QoLmZlaWVydGFnLXJvdy1rYXQtbXVzbGltaXNjaCkgIHsgZGlzcGxh +eTogbm9uZTsgfQojZmVpZXJ0YWdlLXRib2R5LmZpbHRlci1rYXQtdHVlcmtpc2NoICAgdHI6bm90 +KC5mZWllcnRhZy1yb3cta2F0LXR1ZXJraXNjaCkgICB7IGRpc3BsYXk6IG5vbmU7IH0KI2ZlaWVy +dGFnZS10Ym9keS5maWx0ZXItamFoci0yMDI2ICB0cjpub3QoLmZlaWVydGFnLXJvdy1qYWhyLTIw +MjYpICB7IGRpc3BsYXk6IG5vbmU7IH0KI2ZlaWVydGFnZS10Ym9keS5maWx0ZXItamFoci0yMDI3 +ICB0cjpub3QoLmZlaWVydGFnLXJvdy1qYWhyLTIwMjcpICB7IGRpc3BsYXk6IG5vbmU7IH0KI2Zl +aWVydGFnZS10Ym9keS5maWx0ZXItamFoci0yMDI4ICB0cjpub3QoLmZlaWVydGFnLXJvdy1qYWhy +LTIwMjgpICB7IGRpc3BsYXk6IG5vbmU7IH0KI2ZlaWVydGFnZS10Ym9keS5maWx0ZXItamFoci0y +MDI5ICB0cjpub3QoLmZlaWVydGFnLXJvdy1qYWhyLTIwMjkpICB7IGRpc3BsYXk6IG5vbmU7IH0K +I2ZlaWVydGFnZS10Ym9keS5maWx0ZXItamFoci0yMDMwICB0cjpub3QoLmZlaWVydGFnLXJvdy1q +YWhyLTIwMzApICB7IGRpc3BsYXk6IG5vbmU7IH0KI2ZlaWVydGFnZS10Ym9keS5maWx0ZXItamFo +ci0yMDMxICB0cjpub3QoLmZlaWVydGFnLXJvdy1qYWhyLTIwMzEpICB7IGRpc3BsYXk6IG5vbmU7 +IH0KI2ZlaWVydGFnZS10Ym9keS5maWx0ZXItamFoci0yMDMyICB0cjpub3QoLmZlaWVydGFnLXJv +dy1qYWhyLTIwMzIpICB7IGRpc3BsYXk6IG5vbmU7IH0KI2ZlaWVydGFnZS10Ym9keS5maWx0ZXIt +amFoci0yMDMzICB0cjpub3QoLmZlaWVydGFnLXJvdy1qYWhyLTIwMzMpICB7IGRpc3BsYXk6IG5v +bmU7IH0KI2ZlaWVydGFnZS10Ym9keS5maWx0ZXItamFoci0yMDM0ICB0cjpub3QoLmZlaWVydGFn +LXJvdy1qYWhyLTIwMzQpICB7IGRpc3BsYXk6IG5vbmU7IH0KI2ZlaWVydGFnZS10Ym9keS5maWx0 +ZXItamFoci0yMDM1ICB0cjpub3QoLmZlaWVydGFnLXJvdy1qYWhyLTIwMzUpICB7IGRpc3BsYXk6 +IG5vbmU7IH0KI2ZlaWVydGFnZS10Ym9keS5maWx0ZXItbnVyLWFrdGl2ICB0ci5mZWllcnRhZy1y +b3ctaW5ha3RpdiAgICAgICAgICB7IGRpc3BsYXk6IG5vbmU7IH0KCi8qIERlemVudGUgVMO2bnVu +ZyBwcm8gS2F0ZWdvcmllIGluIGRlciBUYWJlbGxlLCBkYW1pdCBtYW4gdmlzdWVsbCB6dW9yZG5l +biBrYW5uICovCnRyLmZlaWVydGFnLXJvdy1rYXQtanVlZGlzY2ggICAgdGQgeyBib3gtc2hhZG93 +OiBpbnNldCAzcHggMCAwICM2RTRGQTA7IH0KdHIuZmVpZXJ0YWctcm93LWthdC1tdXNsaW1pc2No +ICB0ZCB7IGJveC1zaGFkb3c6IGluc2V0IDNweCAwIDAgIzFCN0M2NjsgfQp0ci5mZWllcnRhZy1y +b3cta2F0LXR1ZXJraXNjaCAgIHRkIHsgYm94LXNoYWRvdzogaW5zZXQgM3B4IDAgMCAjQzcyMTIw +OyB9CnRyLmZlaWVydGFnLXJvdy1rYXQtZ2VzZXR6bGljaCAgdGQgeyBib3gtc2hhZG93OiBpbnNl +dCAzcHggMCAwICM0QTZBOEM7IH0KdHIuZmVpZXJ0YWctcm93LWluYWt0aXYgdGQgeyBvcGFjaXR5 +OiAwLjU1OyB9CgovKiBJbmZvLUthcnRlbiBpbSBJbmZvcm1hdGlvbnNmZW5zdGVyICovCi5pbmZv +LWthcnRlIHsKICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigt +LXJhZGl1cy1tZCk7CiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgYmFja2dyb3VuZDogdmFy +KC0tYmctY2FyZC1hbHQpOwogICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS10ZXh0LWhl +YWRpbmcpOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1tZCk7CiAgICBsaW5lLWhlaWdodDogMS41 +Owp9Ci5pbmZvLWthcnRlLXN1cHBvcnQgeyBib3JkZXItbGVmdC1jb2xvcjogIzJkOWQ3ODsgfQou +aW5mby1rYXJ0ZS13YXJuIHsgYm9yZGVyLWxlZnQtY29sb3I6ICNlNjdlMjI7IGJhY2tncm91bmQ6 +IHJnYmEoMjMwLDEyNiwzNCwwLjA4KTsgfQouaW5mby1rYXJ0ZS1pbmZvIHsgYm9yZGVyLWxlZnQt +Y29sb3I6ICM0YTkwZTI7IH0KCi8qIE1haWwtQnV0dG9uIGhpbnRlciBlaW5lbSBBbnNwcmVjaHBh +cnRuZXIgaW0gSW5mby1GZW5zdGVyLgogICBEZXplbnRlIFBpbGxlIG1pdCBBa3plbnQtQm9yZGVy +OyBvZWZmbmV0IE91dGxvb2sgKG1haWx0bzopLiAqLwouaW5mby1hcC1tYWlsYnRuIHsKICAgIGRp +c3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1sZWZ0OiA2cHg7CiAgICBwYWRkaW5nOiAx +cHggOHB4OwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7CiAgICBmb250LXdlaWdodDogNjAw +OwogICAgY29sb3I6IHZhcigtLWZhcmJlLWFremVudCk7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDc0 +LDE0NCwyMjYsMC4xMCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc0LDE0NCwyMjYsMC4z +NSk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpOwogICAgdGV4dC1kZWNvcmF0 +aW9uOiBub25lOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7 +CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTJzLCBib3JkZXItY29sb3IgMC4xMnMsIGNv +bG9yIDAuMTJzOwp9Ci5pbmZvLWFwLW1haWxidG46aG92ZXIgewogICAgYmFja2dyb3VuZDogdmFy +KC0tZmFyYmUtYWt6ZW50KTsKICAgIGNvbG9yOiAjZmZmOwogICAgYm9yZGVyLWNvbG9yOiB2YXIo +LS1mYXJiZS1ha3plbnQpOwp9Ci5pbmZvLWFwLWtlaW5tYWlsIHsKICAgIGRpc3BsYXk6IGlubGlu +ZS1ibG9jazsKICAgIG1hcmdpbi1sZWZ0OiA2cHg7CiAgICBmb250LXNpemU6IHZhcigtLWZzLXNt +KTsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsK +fQoKLyogRWluc3RlbGx1bmdlbi1UYWIgKi8KLmVpbnN0ZWxsdW5nZW4tZm9ybSB7IG1heC13aWR0 +aDogNzIwcHg7IH0KLmVpbnN0ZWxsdW5nZW4tZm9ybSAuZm9ybS1ncnVwcGUgeyBtYXJnaW4tYm90 +dG9tOiAxNnB4OyB9Ci5laW5zdGVsbHVuZ2VuLWZvcm0gbGFiZWwgeyBkaXNwbGF5OiBibG9jazsg +Zm9udC13ZWlnaHQ6IDYwMDsgbWFyZ2luLWJvdHRvbTogNHB4OyBjb2xvcjogdmFyKC0tdGV4dC1o +ZWFkaW5nKTsgZm9udC1zaXplOiB2YXIoLS1mcy1tZCk7IH0KLmVpbnN0ZWxsdW5nZW4tZm9ybSB0 +ZXh0YXJlYSB7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyByZXNpemU6IHZlcnRpY2FsOyB9CgovKiBM +ZWdlbmRlICovCi53cC1sZWdlbmRlIHsKICAgIGRpc3BsYXk6IGZsZXg7IGdhcDogMjBweDsgcGFk +ZGluZzogOHB4IDE2cHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy10b29sYmFyKTsgYm9yZGVy +LXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7CiAgICBmb250LXNpemU6IHZhcigt +LWZzLXNtKTsgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsKfQoud3AtbGVnLWl0ZW0geyBk +aXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDVweDsgfQoud3AtbGVnLWRv +dCB7CiAgICB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4OyBib3JkZXItcmFkaXVzOiAycHg7IGRp +c3BsYXk6IGlubGluZS1ibG9jazsKfQoKLyogPT09PT0gUGVyc8O2bmxpY2hlciBQbGFuID09PT09 +ICovCi5wcC1sYXlvdXQgewogICAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVt +bjsgZmxleDogMTsgb3ZlcmZsb3c6IGhpZGRlbjsKfQoucHAtdG9vbGJhciB7CiAgICBkaXNwbGF5 +OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsKICAgIHBhZGRpbmc6IDhweCAx +NnB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctdG9vbGJhcik7CiAgICBib3JkZXItYm90dG9t +OiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTsKfQoucHAtc2Nyb2xsIHsKICAgIGZsZXg6 +IDE7IG92ZXJmbG93OiBhdXRvOyBwYWRkaW5nOiAyMHB4IDI0cHg7Cn0KLnBwLXRpdGVsIHsKICAg +IGZvbnQtc2l6ZTogMThweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLXRleHQtaGVh +ZGluZyk7CiAgICBtYXJnaW4tYm90dG9tOiAxNnB4Owp9Ci5wcC1tb25hdGUgewogICAgZGlzcGxh +eTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDIwcHg7Cn0KCi8qIE1vbmF0c2Jsb2NrICov +Ci5wcC1tb25hdCB7CiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ib3JkZXItc3Ryb25nKTsK +ICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7CiAgICBvdmVyZmxvdzogaGlkZGVu +OwogICAgd2lkdGg6IDMyMHB4OwogICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHZhcigtLXNoYWRv +dy1saWdodCk7Cn0KLnBwLW1vbmF0LWtvcGYgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJp +bWFyeSk7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1vbi1wcmltYXJ5KTsKICAgIHBhZGRpbmc6IDhw +eCAxMnB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtbWQp +OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4Owp9Ci5w +cC1tb25hdC1ncmlkIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVt +bnM6IHJlcGVhdCg3LCAxZnIpOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7CiAgICBiYWNr +Z3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsKfQoucHAtd3Qta29wZiB7CiAgICBiYWNrZ3JvdW5kOiB2 +YXIoLS1iZy1jYXJkLWFsdCk7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBwYWRkaW5nOiA1 +cHggMDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBmb250LXNpemU6IHZhcigtLWZzLXhzKTsK +ICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7CiAgICBib3JkZXItYm90dG9tOiAycHgg +c29saWQgdmFyKC0tYm9yZGVyLXN0cm9uZyk7Cn0KLyogU2EvU28tS8O2cGZlIGR1bmtsZXIgKi8K +LnBwLXd0LWtvcGY6bnRoLWNoaWxkKDYpLAoucHAtd3Qta29wZjpudGgtY2hpbGQoNykgewogICAg +YmFja2dyb3VuZDogI0RDRTRGMDsKICAgIGNvbG9yOiAjMkMzRTUwOwp9CltkYXRhLXRoZW1lPSJu +aWdodCJdIC5wcC13dC1rb3BmOm50aC1jaGlsZCg2KSwKW2RhdGEtdGhlbWU9Im5pZ2h0Il0gLnBw +LXd0LWtvcGY6bnRoLWNoaWxkKDcpIHsKICAgIGJhY2tncm91bmQ6ICMyNTM1NDc7CiAgICBjb2xv +cjogI0EwQjhEMDsKfQoKLnBwLXRhZyB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBwYWRk +aW5nOiAzcHggMnB4OwogICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxp +Z2h0KTsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOwog +ICAgbWluLWhlaWdodDogNDJweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlv +bjogY29sdW1uOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDog +Y2VudGVyOwogICAgZ2FwOiAycHg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLyogSmVkZSBX +b2NoZSB0cmVubmVuIOKAlCBhbGxlIDcgWmVsbGVuIGVpbmUgc3TDpHJrZXJlIHVudGVyZSBMaW5p +ZSAqLwoucHAtdGFnOm50aC1jaGlsZCg3bisxNCkgeyBib3JkZXItcmlnaHQ6IG5vbmU7IH0KCi5w +cC10YWctbnIgewogICAgZm9udC1zaXplOiB2YXIoLS1mcy14cyk7CiAgICBmb250LXdlaWdodDog +NjAwOwogICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsKICAgIGxpbmUtaGVpZ2h0OiAx +Owp9Ci5wcC10YWctd2VydCB7CiAgICBmb250LXNpemU6IHZhcigtLWZzLXhzKTsKICAgIGZvbnQt +d2VpZ2h0OiA3MDA7CiAgICBwYWRkaW5nOiAycHggNHB4OwogICAgYm9yZGVyLXJhZGl1czogdmFy +KC0tcmFkaXVzLXhzKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7Cn0KLnBwLXRhZy1sZWVyIHsKICAg +IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0KTsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0t +YmctY2FyZC1hbHQpOwp9Ci5wcC10YWctd2UgewogICAgYmFja2dyb3VuZDogI0VERjJGODsKICAg +IGJvcmRlci1ib3R0b20tY29sb3I6ICNENERFRUM7Cn0KLnBwLXRhZy13ZSAucHAtdGFnLW5yIHsg +Y29sb3I6ICM0QTZBOEM7IGZvbnQtd2VpZ2h0OiA3MDA7IH0KW2RhdGEtdGhlbWU9Im5pZ2h0Il0g +LnBwLXRhZy13ZSB7CiAgICBiYWNrZ3JvdW5kOiAjMUYyQTM4OwogICAgYm9yZGVyLWJvdHRvbS1j +b2xvcjogIzJEM0U1NTsKfQpbZGF0YS10aGVtZT0ibmlnaHQiXSAucHAtdGFnLXdlIC5wcC10YWct +bnIgeyBjb2xvcjogI0EwQjhEMDsgfQoKLnBwLXRhZy1mdCB7CiAgICBiYWNrZ3JvdW5kOiAjRDdF +NEYwOwogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0IwQzREODsKfQoucHAtdGFnLWZ0IC5wcC10 +YWctbnIgeyBjb2xvcjogIzJDM0U1MDsgZm9udC13ZWlnaHQ6IDcwMDsgfQpbZGF0YS10aGVtZT0i +bmlnaHQiXSAucHAtdGFnLWZ0IHsKICAgIGJhY2tncm91bmQ6ICMyNTM1NDc7CiAgICBib3JkZXIt +Ym90dG9tLWNvbG9yOiAjMzg1MjcwOwp9CltkYXRhLXRoZW1lPSJuaWdodCJdIC5wcC10YWctZnQg +LnBwLXRhZy1uciB7IGNvbG9yOiAjQzlENkU0OyB9CgoucHAtdGFnLWhldXRlIHsKICAgIG91dGxp +bmU6IDNweCBzb2xpZCB2YXIoLS10YWctaGV1dGUpOwogICAgb3V0bGluZS1vZmZzZXQ6IC0zcHg7 +CiAgICB6LWluZGV4OiAxOwp9Ci5wcC10YWcta29tbWVudGFyOjphZnRlciB7CiAgICBjb250ZW50 +OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDFweDsgcmlnaHQ6IDFweDsKICAgIHdpZHRo +OiAwOyBoZWlnaHQ6IDA7CiAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50Owog +ICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICNENEEwMTc7Cn0KCi8qIFN1bW1hcnkgKi8KLnBwLXN1 +bW1hcnkgewogICAgbWFyZ2luLXRvcDogMjBweDsKICAgIHBhZGRpbmc6IDE2cHg7CiAgICBiYWNr +Z3JvdW5kOiB2YXIoLS1iZy1jYXJkLWFsdCk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRp +dXMtbWQpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTsKfQoucHAt +c3VtbWFyeSBoMyB7CiAgICBmb250LXNpemU6IHZhcigtLWZzLWxnKTsgY29sb3I6IHZhcigtLXRl +eHQtaGVhZGluZyk7IG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KLnBwLXN1bW1hcnktZ3JpZCB7CiAg +ICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGws +IG1pbm1heCgxMjBweCwgMWZyKSk7IGdhcDogOHB4Owp9Ci5wcC1zdGF0LWl0ZW0gewogICAgZGlz +cGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsK +ICAgIHBhZGRpbmc6IDhweDsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsgYmFja2dy +b3VuZDogdmFyKC0tYmctY2FyZCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIt +bGlnaHQpOwp9Ci5wcC1zdGF0LXphaGwgeyBmb250LXNpemU6IDIwcHg7IGZvbnQtd2VpZ2h0OiA3 +MDA7IH0KLnBwLXN0YXQtbGFiZWwgeyBmb250LXNpemU6IHZhcigtLWZzLXhzKTsgY29sb3I6IHZh +cigtLXRleHQtbXV0ZWQpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KCi8qIFplbGwtS29tbWVudGFy +LUluZGlrYXRvciBpbSBHcmlkLiBTY2hsaWNodGVzIERyZWllY2sgZnVlciBlaW5lbgogICBLb21t +ZW50YXI7IGFiIHp3ZWkgS29tbWVudGFyZW4genVzYWV0emxpY2ggZWluIGtsZWluZXIgQ291bnRl +ci1CYWRnZQogICB1bnRlbiByZWNodHMgbWl0IGRlciBBbnphaGwuICovCi5ncmlkLXplbGxlLmhh +dC1rb21tZW50YXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH0KLmdyaWQtemVsbGUuaGF0LWtvbW1l +bnRhcjo6YWZ0ZXIgewogICAgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAw +OyByaWdodDogMDsKICAgIHdpZHRoOiAwOyBoZWlnaHQ6IDA7CiAgICBib3JkZXItbGVmdDogNnB4 +IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICNENEEwMTc7Cn0K +LmdyaWQtemVsbGUuaGF0LWtvbW1lbnRhcltkYXRhLWtvbW1lbnRhci1hbnphaGxdOjpiZWZvcmUg +ewogICAgY29udGVudDogYXR0cihkYXRhLWtvbW1lbnRhci1hbnphaGwpOwogICAgcG9zaXRpb246 +IGFic29sdXRlOyBib3R0b206IDFweDsgcmlnaHQ6IDFweDsKICAgIGJhY2tncm91bmQ6ICNENEEw +MTc7CiAgICBjb2xvcjogd2hpdGU7CiAgICBmb250LXNpemU6IDhweDsgZm9udC13ZWlnaHQ6IDcw +MDsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgcGFkZGluZzogMXB4IDNweDsKICAgIGJvcmRlci1y +YWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7CiAgICBtaW4td2lkdGg6IDlweDsKICAgIHRleHQtYWxp +Z246IGNlbnRlcjsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgovKiA9PT09PSBLb21tZW50 +YXItUG9wb3ZlciA9PT09PQogICBIVE1MLVBvcG92ZXIgc3RhdHQgZWluemVpbGlnZXIgbmF0aXZl +IHRpdGxlLVRvb2x0aXAuIFN0cnVrdHVyaWVydCBpbgogICBLb3BmIChJY29uICsgRGF0dW0pLCBC +b2R5IChNZWhyemVpbGVyLUtvbW1lbnRhcikgdW5kIEZ1c3MgKFZlcmZhc3NlciArCiAgIFplaXRz +dGVtcGVsKS4gVGFnL05hY2h0IHVlYmVyIENTUy1WYXJpYWJsZW4gKC0tYmctY2FyZCwgLS1ib3Jk +ZXItKikuCiAgIFNjaG1hbGVyIGFscyBkYXMgUGVyc29uLVBvcG92ZXIsIHdlaWwgaGllciBudXIg +VGV4dCBzdGVodC4gKi8KLnZpMy1rb21tZW50YXItcG9wb3ZlciB7CiAgICBwb3NpdGlvbjogZml4 +ZWQ7CiAgICB6LWluZGV4OiB2YXIoLS16LXBvcG92ZXItcGFnZSk7CiAgICB3aWR0aDogMzIwcHg7 +CiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAxMnB4KTsKICAgIGJhY2tncm91bmQ6IHZhcigt +LWJnLWNhcmQpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXN0cm9uZyk7CiAg +ICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpOwogICAgYm94LXNoYWRvdzogMCA4cHgg +MjRweCByZ2JhKDAsMCwwLDAuMjgpOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHBvaW50ZXIt +ZXZlbnRzOiBhdXRvOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1tZCk7CiAgICBsaW5lLWhlaWdo +dDogMS41OwogICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7Cn0KLnZpMy1rb21tZW50YXIt +cG9wb3Zlci52ZXJzdGVja3QgeyBkaXNwbGF5OiBub25lOyB9Cgoua3Ata29wZiB7CiAgICBkaXNw +bGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsKICAgIHBhZGRpbmc6IDhw +eCAxMnB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOwogICAgYm9yZGVyLWJv +dHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7Cn0KLmtwLWtvcGYtaWNvbiB7IGZv +bnQtc2l6ZTogdmFyKC0tZnMtbGcpOyB9Ci5rcC1rb3BmLXRpdGVsIHsKICAgIGZvbnQtd2VpZ2h0 +OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsKICAgIGZvbnQtc2l6ZTogMTIu +NXB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4Owp9Ci5rcC1rb3BmLWRhdHVtIHsKICAgIG1h +cmdpbi1sZWZ0OiBhdXRvOwogICAgZm9udC1zaXplOiAxMS41cHg7CiAgICBjb2xvcjogdmFyKC0t +dGV4dC1tdXRlZCk7CiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOwp9Cgou +a3AtYm9keSB7CiAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICB3aGl0ZS1zcGFjZTogbm9ybWFs +OwogICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFy +eSk7CiAgICAvKiBNZWhyemVpbGVyIG5pY2h0IHp1IGhvY2ggd2VyZGVuIGxhc3NlbjsgYmVpIHNl +aHIgbGFuZ2VtIFRleHQgc2Nyb2xsZW4uICovCiAgICBtYXgtaGVpZ2h0OiAyODBweDsKICAgIG92 +ZXJmbG93LXk6IGF1dG87Cn0KLyogU3RhY2stVmFyaWFudGUgKFN0dWZlIDIpOiBtZWhyZXJlIEtv +bW1lbnRhci1FaW50cmFlZ2UgdWViZXJlaW5hbmRlci4KICAgSmVkZXIgRWludHJhZyBpc3QgZWlu +ZSBlaWdlbmUgS2FydGUgbWl0IFRleHQgKyBNZXRhLVplaWxlLiBUcmVubmxpbmllbgogICBzdGF0 +dCB2b2xsc3RhZW5kaWdlciBCb3hlbiDigJQga29tcGFrdGVyIGFscyBuZXN0ZWQgQ2FyZHMgaW0g +UG9wb3Zlci4gKi8KLmtwLWJvZHktc3RhY2sgewogICAgcGFkZGluZzogMDsKICAgIGRpc3BsYXk6 +IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLmtwLWVpbnRyYWcgewogICAgcGFkZGlu +ZzogOHB4IDEycHg7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxp +Z2h0KTsKfQoua3AtZWludHJhZzpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfQou +a3AtZWludHJhZy10ZXh0IHsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogICAgbGlu +ZS1oZWlnaHQ6IDEuNTsKICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKfQoua3AtZWludHJhZy1t +ZXRhIHsKICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4Owog +ICAgbWFyZ2luLXRvcDogNHB4OwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7CiAgICBjb2xv +cjogdmFyKC0tdGV4dC1tdXRlZCk7Cn0KLmtwLWVpbnRyYWctYXV0b3IgeyBjb2xvcjogdmFyKC0t +dGV4dC1zZWNvbmRhcnkpOyBmb250LXdlaWdodDogNjAwOyB9Ci5rcC1laW50cmFnLXRyZW5uZXIg +eyBvcGFjaXR5OiAwLjY7IH0KLmtwLWVpbnRyYWctemVpdCB7IGZvbnQtdmFyaWFudC1udW1lcmlj +OiB0YWJ1bGFyLW51bXM7IH0KCi8qIEVkaXRvci1Lb21tZW50YXItQmVyZWljaCAqLwouZWRpdG9y +LWtvbW1lbnRhciB7CiAgICBwYWRkaW5nOiA2cHggOHB4OwogICAgYm9yZGVyLXRvcDogMXB4IHNv +bGlkIHZhcigtLWJvcmRlci1saWdodCk7CiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlv +bjogY29sdW1uOyBnYXA6IDRweDsKfQouZWRpdG9yLWtvbW1lbnRhci1idG5zIHsKICAgIGRpc3Bs +YXk6IGZsZXg7IGdhcDogNHB4Owp9CgovKiBLb21tZW50YXItVmVybGF1ZiBpbSBFZGl0b3IgKFN0 +dWZlIDIpIOKAlCBTdGFjayBhbHRlciBFaW50cmFlZ2UgdWViZXIgZGVtCiAgIGxlZXJlbiBFaW5n +YWJlZmVsZC4gTmV1ZXN0ZSBvYmVuLiBMb2VzY2gtSWNvbiBudXIgZnVlciBCZXJlY2h0aWd0ZS4g +Ki8KLmVkaXRvci1rb21tZW50YXItdmVybGF1ZiB7CiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRp +cmVjdGlvbjogY29sdW1uOyBnYXA6IDRweDsKICAgIG1heC1oZWlnaHQ6IDE4MHB4OwogICAgb3Zl +cmZsb3cteTogYXV0bzsKICAgIG1hcmdpbi1ib3R0b206IDRweDsKfQouZWRpdG9yLWtvbW1lbnRh +ci12ZXJsYXVmOmVtcHR5IHsgZGlzcGxheTogbm9uZTsgfQouZWt2LWxlZXIgewogICAgZm9udC1z +aXplOiAxMC41cHg7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7CiAgICBmb250LXN0eWxl +OiBpdGFsaWM7CiAgICBwYWRkaW5nOiAycHggNHB4Owp9Ci5la3YtZWludHJhZyB7CiAgICBiYWNr +Z3JvdW5kOiB2YXIoLS1iZy1jYXJkLWFsdCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1i +b3JkZXItbGlnaHQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICAgIHBh +ZGRpbmc6IDRweCA2cHg7CiAgICBmb250LXNpemU6IHZhcigtLWZzLXNtKTsKfQouZWt2LXRleHQg +ewogICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7CiAgICBsaW5lLWhlaWdodDogMS40Owog +ICAgd29yZC13cmFwOiBicmVhay13b3JkOwp9Ci5la3YtbWV0YSB7CiAgICBkaXNwbGF5OiBmbGV4 +OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDJweDsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMt +eHMpOwogICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwogICAgbWFyZ2luLXRvcDogMnB4Owp9 +Ci5la3YtbWV0YS1hdXRvciB7IGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7IGZvbnQtd2Vp +Z2h0OiA2MDA7IH0KLmVrdi1tZXRhLXplaXQgeyBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxh +ci1udW1zOyB9Ci5la3YtbG9lc2NoZW4gewogICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICBib3Jk +ZXI6IG5vbmU7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgY29sb3I6IHZhcigtLXRleHQt +bXV0ZWQpOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNl +KTsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgcGFkZGluZzogMnB4IDRweDsKICAgIGJvcmRlci1y +YWRpdXM6IHZhcigtLXJhZGl1cy14cyk7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTJz +LCBjb2xvciAwLjEyczsKfQouZWt2LWxvZXNjaGVuOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IHZh +cigtLWZhcmJlLWdlZmFociwgI2MwMzkyYik7CiAgICBjb2xvcjogd2hpdGU7Cn0KCi8qID09PT09 +IExvZ2J1Y2ggPT09PT0gKi8KLmxheW91dC1sb2didWNoeyBvdmVyZmxvdy15OiBhdXRvOyBwYWRk +aW5nOiAyNHB4IDMycHg7IGZsZXg6IDE7IH0KCi8qIFRhYmVsbGVuLUdydW5kbGF5b3V0IGV0d2Fz +IGdyb3NzenVlZ2lnZXIgYWxzIGRpZSBnZW5lcmlzY2hlIC5hZG1pbi10YWJlbGxlOgogICBtZWhy +IFZlcnRpa2FscmF1bSBwcm8gWmVpbGUsIGRlemVudGVyZSBaZWJyYS1TdHJlaWZlbiwga2xhcmVz +IEhvdmVyLiAqLwojbG9nLXRhYmVsbGUgeyBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOyBib3Jk +ZXItc3BhY2luZzogMDsgfQojbG9nLXRhYmVsbGUgdGhlYWQgdGggewogICAgcG9zaXRpb246IHN0 +aWNreTsgdG9wOiAwOyB6LWluZGV4OiAyOwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1h +bHQpOwogICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsKICAgIGZvbnQtd2VpZ2h0OiA2 +MDA7IGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOyBsZXR0ZXItc3BhY2luZzogMC4wNGVtOyB0ZXh0 +LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgYm9yZGVy +LWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7Cn0KI2xvZy10YWJlbGxlIHRi +b2R5IHRkIHsKICAgIHBhZGRpbmc6IDEwcHggMTJweDsKICAgIGJvcmRlci1ib3R0b206IDFweCBz +b2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOwogICAgdmVydGljYWwtYWxpZ246IHRvcDsKICAgIGZv +bnQtc2l6ZTogdmFyKC0tZnMtbWQpOyBsaW5lLWhlaWdodDogMS40NTsKfQojbG9nLXRhYmVsbGUg +dGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHRkIHsgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjAx +OCk7IH0KI2xvZy10YWJlbGxlIHRib2R5IHRyLmxvZy16ZWlsZTpob3ZlciB0ZCB7IGJhY2tncm91 +bmQ6IHZhcigtLWJnLWhvdmVyKTsgfQoKLyogU3BhbHRlIDE6IFplaXQgLSB6d2VpemVpbGlnIChE +YXR1bSBncm9zcyArIGhhbGJmZXR0LCBVaHJ6ZWl0IGtsZWluIG11dGVkKSAqLwoubG9nLXplaXQt +emVsbGUgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB3aWR0aDogMTEwcHg7IH0KLmxvZy16ZWl0LWRh +dHVtIHsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IGZvbnQt +c2l6ZTogdmFyKC0tZnMtYmFzZSk7IH0KLmxvZy16ZWl0LXVocnplaXQgeyBjb2xvcjogdmFyKC0t +dGV4dC1tdXRlZCk7IGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOyBtYXJnaW4tdG9wOiAxcHg7IGZv +bnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7IH0KCi8qIFNwYWx0ZSAyOiBBa3Rpb24g +LSBmYXJiaWdlciBQaWxsIHBybyBLYXRlZ29yaWUuIFBhZGRpbmcgKyBCb3JkZXItUmFkaXVzCiAg +IGdsZWljaGdyb3NzZSBPcHRpayB3aWUgZGllIHJlY2h0ZS1jYXJkLUFremVudGUsIGRhbWl0IGRh +cyBMb2didWNoIHNpY2gKICAgZmFyYmxpY2ggaW4gZGVuIFJlc3QgZGVyIEFwcCBlaW5mdWVndC4g +Ki8KLmxvZy1ha3Rpb24temVsbGUgeyB3aWR0aDogMjIwcHg7IH0KLmxvZy1waWxsIHsKICAgIGRp +c3BsYXk6IGlubGluZS1ibG9jazsKICAgIHBhZGRpbmc6IDNweCA5cHg7CiAgICBib3JkZXItcmFk +aXVzOiB2YXIoLS1yYWRpdXMtc20pOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7IGZvbnQt +d2VpZ2h0OiA2MDA7CiAgICBsaW5lLWhlaWdodDogMS40OwogICAgd2hpdGUtc3BhY2U6IG5vd3Jh +cDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4wNik7CiAgICBjb2xvcjogdmFyKC0tdGV4 +dC1oZWFkaW5nKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Owp9Ci5sb2ctcGls +bC1wbGFudW5nIHsgYmFja2dyb3VuZDogcmdiYSgzOSwxMzcsMTA5LDAuMTQpOyAgY29sb3I6ICMx +RjZENUE7IGJvcmRlci1jb2xvcjogcmdiYSgzOSwxMzcsMTA5LDAuMjgpOyB9Ci5sb2ctcGlsbC1w +ZXJzb24gIHsgYmFja2dyb3VuZDogcmdiYSgzMCw5NSwxNDAsMC4xNCk7ICAgY29sb3I6ICMxMzQy +NjA7IGJvcmRlci1jb2xvcjogcmdiYSgzMCw5NSwxNDAsMC4yOCk7IH0KLmxvZy1waWxsLWFkbWlu +ICAgeyBiYWNrZ3JvdW5kOiByZ2JhKDIwMiwxMTEsMzAsMC4xNik7ICBjb2xvcjogIzhBNEIxNDsg +Ym9yZGVyLWNvbG9yOiByZ2JhKDIwMiwxMTEsMzAsMC4zMCk7IH0KLmxvZy1waWxsLXJvbGxlICAg +eyBiYWNrZ3JvdW5kOiByZ2JhKDEwNiw3NiwxNDcsMC4xNik7ICBjb2xvcjogIzRCMzU2QjsgYm9y +ZGVyLWNvbG9yOiByZ2JhKDEwNiw3NiwxNDcsMC4zMCk7IH0KLmxvZy1waWxsLWhpbndlaXMgeyBi +YWNrZ3JvdW5kOiByZ2JhKDE0Miw2OCwxNzMsMC4xNik7ICBjb2xvcjogIzVFMkE3NzsgYm9yZGVy +LWNvbG9yOiByZ2JhKDE0Miw2OCwxNzMsMC4zMCk7IH0KLmxvZy1waWxsLWJhY2t1cCAgeyBiYWNr +Z3JvdW5kOiByZ2JhKDkxLDEyNSwxNzcsMC4xNik7ICBjb2xvcjogIzNBNTY4MDsgYm9yZGVyLWNv +bG9yOiByZ2JhKDkxLDEyNSwxNzcsMC4zMCk7IH0KLmxvZy1waWxsLXN5c3RlbSAgeyBiYWNrZ3Jv +dW5kOiByZ2JhKDE3Niw1OCw0NiwwLjE0KTsgICBjb2xvcjogIzdFMjkyMDsgYm9yZGVyLWNvbG9y +OiByZ2JhKDE3Niw1OCw0NiwwLjMwKTsgfQoKLyogS2F0ZWdvcmllLUZpbHRlci1DaGlwcyB1ZWJl +ciBkZXIgTG9nYnVjaC1UYWJlbGxlIChmdW5rdGlvbmFsLCBrb21iaW5pZXJ0CiAgIG1pdCBkZXIg +VGV4dHN1Y2hlKS4gVm9uIGpzL2xvZ2J1Y2guanMgZHluYW1pc2NoIGluIGRlbiBLb3BmIGluaml6 +aWVydC4gKi8KLmxvZy1rYXQtY2hpcHMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7 +IGdhcDogNnB4OyBtYXJnaW4tdG9wOiAxMHB4OyB9Ci5sb2cta2F0LWNoaXAgewogICAgY3Vyc29y +OiBwb2ludGVyOwogICAgcGFkZGluZzogNHB4IDEycHg7CiAgICBib3JkZXItcmFkaXVzOiB2YXIo +LS1yYWRpdXMtc20pOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7IGZvbnQtd2VpZ2h0OiA2 +MDA7CiAgICBsaW5lLWhlaWdodDogMS40OwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1h +bHQpOwogICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsKICAgIGJvcmRlcjogMXB4IHNv +bGlkIHZhcigtLWJvcmRlci1jb2xvcik7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTJz +LCBjb2xvciAwLjEycywgYm9yZGVyLWNvbG9yIDAuMTJzOwp9Ci5sb2cta2F0LWNoaXA6aG92ZXIg +eyBib3JkZXItY29sb3I6IHZhcigtLWJnLXByaW1hcnkpOyBjb2xvcjogdmFyKC0tdGV4dC1oZWFk +aW5nKTsgfQoubG9nLWthdC1jaGlwLmFrdGl2IHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXBy +aW1hcnkpOwogICAgY29sb3I6IHZhcigtLXRleHQtb24tcHJpbWFyeSk7CiAgICBib3JkZXItY29s +b3I6IHZhcigtLWJnLXByaW1hcnkpOwp9CgovKiBTcGFsdGUgMzogQmVudXR6ZXIgLSBrbGVpbmVy +IEluaXRpYWxlbi1BdmF0YXIgKEFudGhyYXppdCwgZ2xlaWNoZXIgTG9vawogICB3aWUgZGllIEFw +cC13ZWl0ZW4gdmkzLWF2YXRhci1pbml0aWFsZW4pICsgTmFtZS4gKi8KLmxvZy1iZW51dHplci16 +ZWxsZSB7IHdpZHRoOiAxODBweDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfQoubG9nLWJlbnV0emVy +LWF2YXRhciB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsg +anVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4OyBi +b3JkZXItcmFkaXVzOiA1cHg7CiAgICBiYWNrZ3JvdW5kOiAjM0EzRjQ3OyBjb2xvcjogI2ZmZjsK +ICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpOyBmb250LXdlaWdodDogNzAwOyBsZXR0ZXItc3Bh +Y2luZzogMC4wMmVtOwogICAgbWFyZ2luLXJpZ2h0OiA4cHg7IHZlcnRpY2FsLWFsaWduOiBtaWRk +bGU7CiAgICBmbGV4LXNocmluazogMDsKfQoubG9nLWJlbnV0emVyLW5hbWUgeyBjb2xvcjogdmFy +KC0tdGV4dC1wcmltYXJ5KTsgZm9udC1zaXplOiAxMi41cHg7IHZlcnRpY2FsLWFsaWduOiBtaWRk +bGU7IH0KCi8qIFNwYWx0ZSA0OiBEZXRhaWxzIC0gQ29kZS1UYWdzIHN1YnRpbGVyLCBQZmVpbGUg +Z2VmYWVyYnQsIEJvbGQtU3ViamVrdGUKICAgdW5kIFNvZnQtTGVlci1QbGF0emhhbHRlci4gKi8K +LmxvZy1kZXRhaWxzLXplbGxlIHsgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7IH0KLmxvZy1k +ZXRhaWxzLXplbGxlIGNvZGUgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgcGFkZGlu +ZzogMXB4IDZweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4wNSk7CiAgICBib3JkZXI6 +IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0t +cmFkaXVzLXNtKTsKICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsICJTRiBNb25vIiwgTWVu +bG8sIENvbnNvbGFzLCBtb25vc3BhY2U7CiAgICBmb250LXNpemU6IDExLjVweDsKICAgIGNvbG9y +OiB2YXIoLS10ZXh0LWhlYWRpbmcpOwogICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgIG1heC13aWR0 +aDogMzQwcHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBz +aXM7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Ci5sb2ctZGV0YWlscy16ZWxsZSBiIHsg +Y29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IH0KLmxvZy1kZXRhaWxzLXplbGxlIC5sb2ctZGV0 +YWlscy1sZWVyIHsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBmb250LXN0eWxlOiBpdGFsaWM7 +IH0KCi8qIFNwYWx0ZSA1OiBXaWVkZXJoZXJzdGVsbGVuIC0ga29tcGFrdGUgUGlsbC1PcHRpay4g +QXVmIHNjaG1hbGVuIENvbnRhaW5lcm4KICAgdmVyc2Nod2luZGV0IGRlciBUZXh0LCBudXIgZGFz +IOKGui1JY29uIGJsZWlidCBzaWNodGJhci4gKi8KLmxvZy1yZXN0b3JlLXplbGxlIHsgd2lkdGg6 +IDE1MHB4OyB0ZXh0LWFsaWduOiByaWdodDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfQoubG9nLXJl +c3RvcmUtYnRuIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVy +OyBnYXA6IDVweDsKICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0t +YmctY2FyZCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOwogICAg +Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNl +Y29uZGFyeSk7CiAgICBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgZm9udC13ZWlnaHQ6IDYwMDsK +ICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xMnMsIGJv +cmRlci1jb2xvciAwLjEycywgY29sb3IgMC4xMnM7Cn0KLmxvZy1yZXN0b3JlLWJ0bjpob3ZlciB7 +CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7CiAgICBib3JkZXItY29sb3I6IHZhcigt +LXBvbGl6ZWktYmxhdSwgIzAwNjNhZik7CiAgICBjb2xvcjogdmFyKC0tcG9saXplaS1ibGF1LCAj +MDA2M2FmKTsKfQoubG9nLXJlc3RvcmUtaWNvbiB7IGZvbnQtc2l6ZTogdmFyKC0tZnMtbWQpOyBs +aW5lLWhlaWdodDogMTsgfQoKLyogU3VjaC1JbnB1dCBvYmVuIHJlY2h0czogZ2xlaWNoZXIgTG9v +ayB3aWUgZGVyIEdydXBwZW4tRmlsdGVyIGluIGRlciBTdGF0aXN0aWsuICovCiNsb2ctc3VjaGUg +eyBmb250LXNpemU6IHZhcigtLWZzLWJhc2UpOyB9CgovKiBEYXJrLU1vZGUtQW5wYXNzdW5nIGRl +ciBQaWxsczogSGludGVyZ3J1bmQtQWxwaGFzIGxlaWNodCBob2NoemllaGVuLAogICBkYW1pdCBk +aWUgRmFyYmVuIGF1ZiBkdW5rbGVtIFVudGVyZ3J1bmQgc2ljaHRiYXIgYmxlaWJlbi4gKi8KW2Rh +dGEtdGhlbWU9Im5pZ2h0Il0gLmxvZy1waWxsLXBsYW51bmcgeyBiYWNrZ3JvdW5kOiByZ2JhKDM5 +LDEzNywxMDksMC4yOCk7ICBjb2xvcjogIzZBRDBBQzsgYm9yZGVyLWNvbG9yOiByZ2JhKDM5LDEz +NywxMDksMC40NSk7IH0KW2RhdGEtdGhlbWU9Im5pZ2h0Il0gLmxvZy1waWxsLXBlcnNvbiAgeyBi +YWNrZ3JvdW5kOiByZ2JhKDMwLDk1LDE0MCwwLjMwKTsgICBjb2xvcjogIzZGQjNERTsgYm9yZGVy +LWNvbG9yOiByZ2JhKDMwLDk1LDE0MCwwLjUwKTsgfQpbZGF0YS10aGVtZT0ibmlnaHQiXSAubG9n +LXBpbGwtYWRtaW4gICB7IGJhY2tncm91bmQ6IHJnYmEoMjAyLDExMSwzMCwwLjMwKTsgIGNvbG9y +OiAjRjJCMjc0OyBib3JkZXItY29sb3I6IHJnYmEoMjAyLDExMSwzMCwwLjUwKTsgfQpbZGF0YS10 +aGVtZT0ibmlnaHQiXSAubG9nLXBpbGwtcm9sbGUgICB7IGJhY2tncm91bmQ6IHJnYmEoMTA2LDc2 +LDE0NywwLjMyKTsgIGNvbG9yOiAjQjg5QUUwOyBib3JkZXItY29sb3I6IHJnYmEoMTA2LDc2LDE0 +NywwLjUwKTsgfQpbZGF0YS10aGVtZT0ibmlnaHQiXSAubG9nLXBpbGwtaGlud2VpcyB7IGJhY2tn +cm91bmQ6IHJnYmEoMTQyLDY4LDE3MywwLjMyKTsgIGNvbG9yOiAjQzg5M0UwOyBib3JkZXItY29s +b3I6IHJnYmEoMTQyLDY4LDE3MywwLjUwKTsgfQpbZGF0YS10aGVtZT0ibmlnaHQiXSAubG9nLXBp +bGwtYmFja3VwICB7IGJhY2tncm91bmQ6IHJnYmEoOTEsMTI1LDE3NywwLjMwKTsgIGNvbG9yOiAj +OThCNURDOyBib3JkZXItY29sb3I6IHJnYmEoOTEsMTI1LDE3NywwLjUwKTsgfQpbZGF0YS10aGVt +ZT0ibmlnaHQiXSAubG9nLXBpbGwtc3lzdGVtICB7IGJhY2tncm91bmQ6IHJnYmEoMTc2LDU4LDQ2 +LDAuMjgpOyAgIGNvbG9yOiAjRTU4NTc1OyBib3JkZXItY29sb3I6IHJnYmEoMTc2LDU4LDQ2LDAu +NDUpOyB9CltkYXRhLXRoZW1lPSJuaWdodCJdICNsb2ctdGFiZWxsZSB0Ym9keSB0cjpudGgtY2hp +bGQoZXZlbikgdGQgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDI1KTsgfQoKLyog +PT09PT0gTW9kYWxlIERpYWxvZ2UgPT09PT0gKi8KLm1vZGFsIHsKICAgIHBvc2l0aW9uOiBmaXhl +ZDsgaW5zZXQ6IDA7IHotaW5kZXg6IHZhcigtLXotbW9kYWwpOwogICAgYmFja2dyb3VuZDogcmdi +YSgwLDAsMCwwLjQpOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5 +LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGFuaW1hdGlvbjogZmFkZUluIDAuMTVzIGVhc2U7Cn0KLm1v +ZGFsLWluaGFsdCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyLXJhZGl1 +czogdmFyKC0tcmFkaXVzLWxnKTsKICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tb2RhbCk7 +CiAgICB3aWR0aDogOTAlOyBtYXgtd2lkdGg6IDYyMHB4OyBtYXgtaGVpZ2h0OiA4MHZoOyBkaXNw +bGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Ci8qIFNwZXppYWwtS2xhc3NlIGZ1 +ZXIgTW9kYWxzIG1pdCB2aWVsIEluaGFsdCAoRS1NYWlsLVZvcmxhZ2VuLUVkaXRvciBldGMuKSAq +LwoubW9kYWwtaW5oYWx0Lm1vZGFsLWluaGFsdC1ncm9zcyB7IG1heC13aWR0aDogMTE4MHB4OyBt +YXgtaGVpZ2h0OiA5MnZoOyB9Ci5tb2RhbC1rb3BmIHsKICAgIGRpc3BsYXk6IGZsZXg7IGFsaWdu +LWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGJhY2tn +cm91bmQ6IHZhcigtLWJnLXByaW1hcnkpOyBjb2xvcjogdmFyKC0tdGV4dC1vbi1wcmltYXJ5KTsK +ICAgIHBhZGRpbmc6IDE0cHggMjBweDsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKSAx +MHB4IDAgMDsKfQoubW9kYWwta29wZiBoMiB7IGZvbnQtc2l6ZTogMTVweDsgZm9udC13ZWlnaHQ6 +IDYwMDsgfQoubW9kYWwtc2NobGllc3NlbiB7CiAgICBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXI6 +IG5vbmU7IGNvbG9yOiB2YXIoLS10ZXh0LW9uLXByaW1hcnkpOwogICAgZm9udC1zaXplOiAyMnB4 +OyBjdXJzb3I6IHBvaW50ZXI7IGxpbmUtaGVpZ2h0OiAxOyBwYWRkaW5nOiAwIDRweDsgb3BhY2l0 +eTogMC43Owp9Ci5tb2RhbC1zY2hsaWVzc2VuOmhvdmVyIHsgb3BhY2l0eTogMTsgfQoubW9kYWwt +a29lcnBlciB7IHBhZGRpbmc6IDIwcHg7IG92ZXJmbG93LXk6IGF1dG87IGZsZXg6IDE7IH0KLm1v +ZGFsLWZ1c3MgewogICAgcGFkZGluZzogMTJweCAyMHB4OyBib3JkZXItdG9wOiAxcHggc29saWQg +dmFyKC0tYm9yZGVyLWNvbG9yKTsKICAgIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDog +ZmxleC1lbmQ7IGdhcDogOHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOyBi +b3JkZXItcmFkaXVzOiAwIDAgMTBweCAxMHB4Owp9CgovKiA9PT09PSBUb2FzdCA9PT09PSAqLwoj +dG9hc3QtY29udGFpbmVyIHsKICAgIHBvc2l0aW9uOiBmaXhlZDsgYm90dG9tOiAyNHB4OyByaWdo +dDogMjRweDsgei1pbmRleDogdmFyKC0tei10b2FzdCk7CiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4 +LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDZweDsKfQoudG9hc3QgewogICAgcGFkZGluZzogMTBw +eCAxOHB4OyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpOyBjb2xvcjogI2ZmZjsgZm9u +dC1zaXplOiB2YXIoLS1mcy1tZCk7IGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBib3gtc2hhZG93OiAw +IDRweCAxNnB4IHJnYmEoMCwwLDAsMC4yNSk7IGFuaW1hdGlvbjogdG9hc3RFaW4gMC4yNXMgZWFz +ZTsgbWF4LXdpZHRoOiA0MDBweDsKfQoudG9hc3QtZXJmb2xnIHsgYmFja2dyb3VuZDogdmFyKC0t +ZmFyYmUtZXJmb2xnKTsgfQoudG9hc3QtZmVobGVyIHsgYmFja2dyb3VuZDogdmFyKC0tZmFyYmUt +ZmVobGVyKTsgfQoudG9hc3QtaW5mbyB7IGJhY2tncm91bmQ6IHZhcigtLWZhcmJlLWluZm8pOyB9 +Ci50b2FzdC13YXJudW5nIHsgYmFja2dyb3VuZDogdmFyKC0tZmFyYmUtd2FybnVuZyk7IH0KQGtl +eWZyYW1lcyB0b2FzdEVpbiB7IGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7IG9w +YWNpdHk6IDA7IH0gdG8geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IG9wYWNpdHk6IDE7IH0g +fQoKLyogPT09PT0gQWxsZ2VtZWluID09PT09ICovCi50ZXh0LW11dGVkIHsgY29sb3I6IHZhcigt +LXRleHQtbXV0ZWQpOyB9Ci50ZXh0LWVyZm9sZyB7IGNvbG9yOiB2YXIoLS1mYXJiZS1lcmZvbGcp +OyB9Ci50ZXh0LWZlaGxlciB7IGNvbG9yOiB2YXIoLS1mYXJiZS1mZWhsZXIpOyB9Cgpjb2RlIHsK +ICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0KTsgcGFkZGluZzogMXB4IDZweDsgYm9y +ZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXhzKTsKICAgIGZvbnQtZmFtaWx5OiAiQ29uc29sYXMi +LCAiQ291cmllciBOZXciLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogdmFyKC0tZnMtYmFzZSk7CiAg +ICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOwp9CgovKiBTY3JvbGxiYXJz +OiBkZXV0bGljaCBzaWNodGJhciwgdm9yIGFsbGVtIGRpZSBob3Jpem9udGFsZSBMZWlzdGUgdW50 +ZXIgZGVtCiAgIEhhdXB0cGxhbiBtaXQgMTMgTW9uYXRlbiBCcmVpdGUuICovCjo6LXdlYmtpdC1z +Y3JvbGxiYXIgeyB3aWR0aDogMTRweDsgaGVpZ2h0OiAxNHB4OyB9Cjo6LXdlYmtpdC1zY3JvbGxi +YXItdHJhY2sgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOwp9Cjo6LXdlYmtp +dC1zY3JvbGxiYXItdGh1bWIgewogICAgYmFja2dyb3VuZDogdmFyKC0tdGV4dC1tdXRlZCk7CiAg +ICBib3JkZXItcmFkaXVzOiA3cHg7CiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1iZy1jYXJk +LWFsdCk7CiAgICBtaW4td2lkdGg6IDQwcHg7IG1pbi1oZWlnaHQ6IDQwcHg7Cn0KOjotd2Via2l0 +LXNjcm9sbGJhci10aHVtYjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLXRleHQtc2Vjb25kYXJ5 +KTsgfQo6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lciB7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNh +cmQtYWx0KTsgfQoKLyogRmlyZWZveCAqLwoqIHsKICAgIHNjcm9sbGJhci13aWR0aDogYXV0bzsK +ICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tdGV4dC1tdXRlZCkgdmFyKC0tYmctY2FyZC1hbHQp +Owp9CgovKiA9PT09PSBFbW9qaS1QaWNrZXIgKHNjaGxpY2h0LCBTeXN0ZW0tRm9udCBsaWVmZXJ0 +IEFwcGxlLUVtb2ppcyBhdWYgbWFjT1MvaU9TKSA9PT09PSAqLwouZW1vamktcGlja2VyIHsKICAg +IC8qIE11c3MgdWViZXIgZGVtIE1vZGFsLU92ZXJsYXkgbGllZ2VuICgubW9kYWwgaGF0IHZhcigt +LXotbW9kYWwpKSwKICAgICAgIHNvbnN0IGxhbmRldCBqZWRlciBLbGljayBhdWYgZGVuIHZlcm1l +aW50bGljaGVuIFBpY2tlciBhdWYgZGVtCiAgICAgICBkYXJ1ZWJlciBsaWVnZW5kZW4gT3Zlcmxh +eSB1bmQgc2NobGllc3N0IGRhcyBNb2RhbC4gKi8KICAgIHBvc2l0aW9uOiBmaXhlZDsgei1pbmRl +eDogdmFyKC0tei1wb3BvdmVyKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3Jk +ZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3Ryb25nKTsKICAgIGJvcmRlci1yYWRpdXM6IHZh +cigtLXJhZGl1cy1sZyk7IGJveC1zaGFkb3c6IDAgOHB4IDMycHggcmdiYSgwLDAsMCwwLjE4KTsK +ICAgIHBhZGRpbmc6IDhweDsgd2lkdGg6IDI3MnB4OyB1c2VyLXNlbGVjdDogbm9uZTsKfQouZW1v +amktcGlja2VyLWthdCB7IGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpOyBmb250LXdlaWdodDogNjAw +OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNl +OyBsZXR0ZXItc3BhY2luZzogMC40cHg7IHBhZGRpbmc6IDZweCA0cHggMnB4OyB9Ci5lbW9qaS1w +aWNrZXIta2F0OmZpcnN0LWNoaWxkIHsgcGFkZGluZy10b3A6IDJweDsgfQouZW1vamktcGlja2Vy +LWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg4LCAx +ZnIpOyBnYXA6IDJweDsgfQouZW1vamktcGlja2VyLW9wdCB7CiAgICBmb250LXNpemU6IDIwcHg7 +IGxpbmUtaGVpZ2h0OiAxOyBwYWRkaW5nOiA0cHg7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1 +cy1tZCk7CiAgICBjdXJzb3I6IHBvaW50ZXI7IHRleHQtYWxpZ246IGNlbnRlcjsgYmFja2dyb3Vu +ZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogbm9uZTsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQg +MC4wOHM7CiAgICAvKiBNb25vY2hyb21lIFN5bWJvbC1EYXJzdGVsbHVuZyAoQ2hlcnJ5LVBpY2sg +OGIyZDBmZCkgKi8KICAgIGZvbnQtZmFtaWx5OiAiU2Vnb2UgVUkgU3ltYm9sIiwiQ2FtYnJpYSBN +YXRoIiwiU1RJWCIsIkRlamFWdSBTYW5zIiwiTHVjaWRhIFNhbnMgVW5pY29kZSIsc2Fucy1zZXJp +ZjsKICAgIGZvbnQtdmFyaWFudC1lbW9qaTogdGV4dDsKfQouZW1vamktcGlja2VyLW9wdDpob3Zl +ciB7IGJhY2tncm91bmQ6IHZhcigtLWJnLWhvdmVyKTsgfQouZW1vamktcGlja2VyLW9wdC5rZWlu +ZXIgeyBmb250LXNpemU6IHZhcigtLWZzLWJhc2UpOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7 +IGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9CgovKiBFbW9qaS1BdXN3YWhsLUJ1dHRvbiBpbiBBZG1p +bi1UYWJlbGxlICovCi5lbW9qaS1idG4gewogICAgd2lkdGg6IDM4cHg7IGhlaWdodDogMzJweDsg +Zm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJn +LWlucHV0KTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTsgYm9yZGVyLXJh +ZGl1czogNXB4OwogICAgY3Vyc29yOiBwb2ludGVyOyBwYWRkaW5nOiAwOwogICAgZm9udC1mYW1p +bHk6ICJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiTm90byBDb2xvciBFbW9q +aSIsc2Fucy1zZXJpZjsKfQouZW1vamktYnRuOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1m +YXJiZS1ha3plbnQpOyB9Ci5lbW9qaS1idG4ubGVlciB7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVk +KTsgZm9udC1zaXplOiB2YXIoLS1mcy1sZyk7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9CgovKiBL +bGlja2JhcmUgU29uZGVyLVplbGxlIGltIEhlYWRlciAqLwoua2Qtc29uZGVyLWtsaWNrYmFyIHsg +Y3Vyc29yOiBwb2ludGVyOyB9Ci5rZC1zb25kZXIta2xpY2tiYXI6aG92ZXIgeyBmaWx0ZXI6IGJy +aWdodG5lc3MoMS4wOCk7IH0KCi8qIFNvbmRlci1XYXJuLU1vZGFsICovCi5zb25kZXItd2Fybi1t +b2RhbCAubW9kYWwta29wZiB7IGJhY2tncm91bmQ6IHZhcigtLWZhcmJlLXdhcm51bmcpOyB9Ci5z +b25kZXItd2Fybi1tb2RhbC50eXAtaGlud2VpcyAubW9kYWwta29wZiB7IGJhY2tncm91bmQ6IHZh +cigtLWZhcmJlLWFremVudCk7IH0KLnNvbmRlci13YXJuLWljb24geyBmb250LXNpemU6IDQ4cHg7 +IGxpbmUtaGVpZ2h0OiAxOyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbjogOHB4IDAgMTJweDsK +ICAgIGZvbnQtZmFtaWx5OiAiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSIsIk5v +dG8gQ29sb3IgRW1vamkiLHNhbnMtc2VyaWY7IH0KLnNvbmRlci13YXJuLXRpdGVsIHsgZm9udC1z +aXplOiAxOHB4OyBmb250LXdlaWdodDogNjAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGNvbG9yOiB2 +YXIoLS10ZXh0LWhlYWRpbmcpOyBtYXJnaW4tYm90dG9tOiAxMHB4OyBwYWRkaW5nOiAwIDhweDsg +d29yZC13cmFwOiBicmVhay13b3JkOyBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyB9Ci5zb25k +ZXItd2Fybi10ZXh0IHsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtbGcpOyBsaW5lLWhlaWdodDog +MS41NTsgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7IHBhZGRpbmc6IDEycHggMTRweDsKICAg +IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0KTsgYm9yZGVyLXJhZGl1czogOHB4OyBib3Jk +ZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOwogICAgbWF4LXdpZHRoOiAxMDAlOyBt +YXgtaGVpZ2h0OiA1MHZoOyBvdmVyZmxvdy15OiBhdXRvOwogICAgd29yZC13cmFwOiBicmVhay13 +b3JkOyBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyB3b3JkLWJyZWFrOiBicmVhay13b3JkOwp9 +Ci5zb25kZXItd2Fybi10ZXh0IHAgeyBtYXJnaW46IDAgMCAwLjZlbSAwOyB9Ci5zb25kZXItd2Fy +bi10ZXh0IHA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH0KLnNvbmRlci13YXJuLXRl +eHQgdWwsIC5zb25kZXItd2Fybi10ZXh0IG9sIHsgbWFyZ2luOiAwLjRlbSAwIDAuNGVtIDEuNGVt +OyBwYWRkaW5nOiAwOyB9Ci5zb25kZXItd2Fybi10ZXh0IGxpIHsgbWFyZ2luLWJvdHRvbTogMC4y +ZW07IH0KLnNvbmRlci13YXJuLXRleHQgYSB7IGNvbG9yOiB2YXIoLS1mYXJiZS1ha3plbnQpOyB0 +ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgd29yZC1icmVhazogYnJlYWstYWxsOyB9Ci5zb25k +ZXItd2Fybi1kYXR1bSB7IGZvbnQtc2l6ZTogdmFyKC0tZnMtYmFzZSk7IGNvbG9yOiB2YXIoLS10 +ZXh0LW11dGVkKTsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOiAxMnB4OyB9CgovKiBS +aWNoLVRleHQtRWRpdG9yICovCi5ydGUtdG9vbGJhciB7CiAgICBkaXNwbGF5OiBmbGV4OyBnYXA6 +IDJweDsgcGFkZGluZzogNHB4OyBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICBiYWNrZ3JvdW5kOiB2 +YXIoLS1iZy1jYXJkLWFsdCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7 +CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpIDZweCAwIDA7IGJvcmRlci1ib3R0 +b206IG5vbmU7IGZsZXgtd3JhcDogd3JhcDsKfQoucnRlLWJ0biB7CiAgICBtaW4td2lkdGg6IDMw +cHg7IGhlaWdodDogMjhweDsgcGFkZGluZzogMCA4cHg7IGZvbnQtc2l6ZTogdmFyKC0tZnMtbWQp +OwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFy +ZW50OyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOwogICAgY3Vyc29yOiBwb2ludGVy +OyBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsKfQoucnRlLWJ0bjpob3ZlciB7IGJhY2tncm91 +bmQ6IHZhcigtLWJnLWhvdmVyKTsgfQoucnRlLWJ0bi5ha3RpdiB7IGJhY2tncm91bmQ6IHZhcigt +LWJnLWFjdGl2ZSk7IGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWNvbG9yKTsgfQoucnRlLXNl +cCB7IHdpZHRoOiAxcHg7IGJhY2tncm91bmQ6IHZhcigtLWJvcmRlci1jb2xvcik7IG1hcmdpbjog +NHB4IDRweDsgfQoucnRlLWVkaXRvciB7CiAgICBtaW4taGVpZ2h0OiAxMTBweDsgbWF4LWhlaWdo +dDogMzAwcHg7IG92ZXJmbG93LXk6IGF1dG87CiAgICBwYWRkaW5nOiAxMHB4IDEycHg7IGZvbnQt +c2l6ZTogdmFyKC0tZnMtbWQpOyBsaW5lLWhlaWdodDogMS41OwogICAgYmFja2dyb3VuZDogdmFy +KC0tYmctaW5wdXQpOyBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsKICAgIGJvcmRlcjogMXB4 +IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7IGJvcmRlci1yYWRpdXM6IDAgMCA2cHggNnB4Owog +ICAgd29yZC13cmFwOiBicmVhay13b3JkOyBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyB3b3Jk +LWJyZWFrOiBicmVhay13b3JkOwogICAgbWF4LXdpZHRoOiAxMDAlOwp9Ci5ydGUtZWRpdG9yOmZv +Y3VzIHsgb3V0bGluZTogbm9uZTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1mYXJiZS1ha3plbnQpOyB9 +Ci5ydGUtZWRpdG9yIHAgeyBtYXJnaW46IDAgMCAwLjZlbSAwOyB9Ci5ydGUtZWRpdG9yIHA6bGFz +dC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH0KLnJ0ZS1lZGl0b3IgdWwsIC5ydGUtZWRpdG9y +IG9sIHsgbWFyZ2luOiAwLjRlbSAwIDAuNGVtIDEuNGVtOyBwYWRkaW5nOiAwOyB9Ci5ydGUtZWRp +dG9yIGEgeyBjb2xvcjogdmFyKC0tZmFyYmUtYWt6ZW50KTsgd29yZC1icmVhazogYnJlYWstYWxs +OyB9Ci8qIGJsb2NrcXVvdGUgPSBJbmRlbnQtTGV2ZWwuIHN0eWxlV2l0aENTUyhmYWxzZSkgc29y +Z3QgZGFmdWVyIGRhc3MgZXhlY0NvbW1hbmQKICAgJ2luZGVudCcgbmVzdGVkIGJsb2NrcXVvdGVz +IGVyemV1Z3Qg4oCUIHBybyBMZXZlbCBtZWhyIG1hcmdpbi1sZWZ0LiBGbGFjaAogICBnZXN0eWx0 +IChrZWluIFppdGF0LUxvb2spLCBibGVpYnQgemVpbGVudWViZXJncmVpZmVuZC4gKi8KLnJ0ZS1l +ZGl0b3IgYmxvY2txdW90ZSB7CiAgICBtYXJnaW46IDAgMCAwIDI0cHg7CiAgICBwYWRkaW5nOiAw +OwogICAgYm9yZGVyOiBub25lOwogICAgcXVvdGVzOiBub25lOwp9Ci5ydGUtZWRpdG9yIGJsb2Nr +cXVvdGU6OmJlZm9yZSwgLnJ0ZS1lZGl0b3IgYmxvY2txdW90ZTo6YWZ0ZXIgeyBjb250ZW50OiBu +b25lOyB9CgovKiA9PT09PSBBZG1pbjogQXVza2xhcHBiYXJlIEhpbndlaXNib3hlbiA9PT09PSAq +LwouYWRtaW4taW5mbyB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAx +cHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsKICAgIGJvcmRlci1yYWRpdXM6IDhweDsgbWFy +Z2luLWJvdHRvbTogMjBweDsgb3ZlcmZsb3c6IGhpZGRlbjsKfQouYWRtaW4td2FybmJveCB7CiAg +ICBiYWNrZ3JvdW5kOiB2YXIoLS1mYXJiZS13YXJudW5nLWJnLCAjZmZmN2VkKTsKICAgIGJvcmRl +ci1sZWZ0OiA0cHggc29saWQgdmFyKC0tZmFyYmUtd2FybnVuZywgI2Y1OWUwYik7CiAgICBjb2xv +cjogdmFyKC0tdGV4dC1wcmltYXJ5KTsKICAgIHBhZGRpbmc6IDEwcHggMTRweDsKICAgIGJvcmRl +ci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7CiAgICBmb250LXNpemU6IHZhcigtLWZzLW1kKTsK +ICAgIGxpbmUtaGVpZ2h0OiAxLjU1OwogICAgbWFyZ2luLWJvdHRvbTogMTZweDsKfQpbZGF0YS10 +aGVtZT0ibmlnaHQiXSAuYWRtaW4td2FybmJveCB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwg +MTU4LCAxMSwgMC4xMik7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsKfQouYWRtaW4t +aW5mbyA+IHN1bW1hcnkgewogICAgbGlzdC1zdHlsZTogbm9uZTsgcGFkZGluZzogMTBweCAxNHB4 +OyBjdXJzb3I6IHBvaW50ZXI7IHVzZXItc2VsZWN0OiBub25lOwogICAgZm9udC13ZWlnaHQ6IDYw +MDsgZm9udC1zaXplOiB2YXIoLS1mcy1tZCk7IGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOwog +ICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOwogICAgZGlzcGxheTogZmxleDsgYWxp +Z24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OwogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAw +LjE1czsKfQouYWRtaW4taW5mbyA+IHN1bW1hcnk6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1i +Zy1ob3Zlcik7IH0KLmFkbWluLWluZm8gPiBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2Vy +IHsgZGlzcGxheTogbm9uZTsgfQouYWRtaW4taW5mbyA+IHN1bW1hcnk6Om1hcmtlciB7IGNvbnRl +bnQ6ICcnOyB9Ci5hZG1pbi1pbmZvLWNoZXYgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBm +b250LXNpemU6IHZhcigtLWZzLXhzKTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7IGNvbG9y +OiB2YXIoLS10ZXh0LW11dGVkKTsKICAgIHdpZHRoOiAxMHB4Owp9Ci5hZG1pbi1pbmZvW29wZW5d +ID4gc3VtbWFyeSB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQp +OyB9Ci5hZG1pbi1pbmZvW29wZW5dIC5hZG1pbi1pbmZvLWNoZXYgeyB0cmFuc2Zvcm06IHJvdGF0 +ZSg5MGRlZyk7IH0KLmFkbWluLWluZm8tYmFkZ2UgewogICAgbWFyZ2luLWxlZnQ6IGF1dG87IGZv +bnQtc2l6ZTogdmFyKC0tZnMteHMpOyBmb250LXdlaWdodDogNTAwOyBjb2xvcjogdmFyKC0tdGV4 +dC1tdXRlZCk7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKfQouYWRtaW4taW5mby1ib2R5 +IHsKICAgIHBhZGRpbmc6IDE0cHggMTZweDsgZm9udC1zaXplOiAxMi41cHg7IGxpbmUtaGVpZ2h0 +OiAxLjY7IGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwp9Ci5hZG1pbi1pbmZvLWJvZHkgcCB7 +IG1hcmdpbi1ib3R0b206IDEwcHg7IH0KLmFkbWluLWluZm8tYm9keSBwOmxhc3QtY2hpbGQgeyBt +YXJnaW4tYm90dG9tOiAwOyB9Ci5hZG1pbi1pbmZvLWJvZHkgdWwgeyBtYXJnaW46IDZweCAwIDEy +cHggMjJweDsgfQouYWRtaW4taW5mby1ib2R5IHVsIHVsIHsgbWFyZ2luOiA0cHggMCA2cHggMThw +eDsgfQouYWRtaW4taW5mby1ib2R5IGxpIHsgbWFyZ2luLWJvdHRvbTogM3B4OyB9Ci5hZG1pbi1p +bmZvLWJvZHkgY29kZSB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkLWFsdCk7IHBhZGRp +bmc6IDFweCA1cHg7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy14cyk7CiAgICBmb250LXNp +emU6IDExLjVweDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsKfQouYWRt +aW4taW5mby1ib2R5IHN0cm9uZyB7IGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOyB9CgovKiA9 +PT09PSBTY2hpY2h0Y29kZS1Wb3JzY2hhdTogR3J1cHBpZXJ1bmcgPT09PT0gKi8KLnNjLXZvcnNj +aGF1LXRvb2xiYXIgewogICAgZGlzcGxheTogZmxleDsgZ2FwOiAxMnB4OyBhbGlnbi1pdGVtczog +Y2VudGVyOyBtYXJnaW4tYm90dG9tOiAxMnB4OyBmbGV4LXdyYXA6IHdyYXA7CiAgICBwYWRkaW5n +OiA4cHggMTJweDsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOyBib3JkZXItcmFkaXVz +OiB2YXIoLS1yYWRpdXMtbWQpOwp9Ci5zYy12b3JzY2hhdS10b29sYmFyIGxhYmVsIHsgZm9udC1z +aXplOiB2YXIoLS1mcy1iYXNlKTsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLXRleHQt +c2Vjb25kYXJ5KTsgfQouc2Mtdm9yc2NoYXUtdG9vbGJhciBzZWxlY3QgewogICAgcGFkZGluZzog +NHB4IDhweDsgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNlKTsgYmFja2dyb3VuZDogdmFyKC0tYmct +aW5wdXQpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTsgYm9yZGVy +LXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKfQouc2MtZ3J1cHBlIHsKICAgIG1hcmdpbi1ib3R0 +b206IDE2cHg7IGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tYm9yZGVyLXN0cm9uZyk7IHBh +ZGRpbmctbGVmdDogMTBweDsKfQouc2MtZ3J1cHBlLXRpdGVsIHsKICAgIGZvbnQtc2l6ZTogdmFy +KC0tZnMtc20pOyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IHRl +eHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7IG1hcmdp +bi1ib3R0b206IDZweDsKfQouc2MtZ3J1cHBlLWxpc3RlIHsKICAgIGRpc3BsYXk6IGdyaWQ7IGdy +aWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIyMHB4LCAxZnIp +KTsKICAgIGdhcDogNnB4Owp9Ci8qIFBlcnNvbmFsLVRhYmVsbGU6IE5hY2huYW1lIGFscyBrbGlj +a2JhcmVyIExpbmsgenVtIEVkaXQtTW9kYWwgKi8KLnBlcnNvbi1uYW1lLWxpbmsgewogICAgY3Vy +c29yOiBwb2ludGVyOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCB0cmFuc3BhcmVudDsK +ICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cywgY29sb3IgMC4xNXM7Cn0KLnBlcnNv +bi1uYW1lLWxpbms6aG92ZXIgewogICAgY29sb3I6IHZhcigtLWZhcmJlLXByaW1hZXIpOwogICAg +Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tZmFyYmUtcHJpbWFlcik7Cn0KCi8qICJOZXVlciBG +YWNoYXVmc2ljaHQtRWludHJhZyItTW9kYWwgKEJ1Zy1GaXggKyBGZWF0dXJlOiBEcm9wZG93biBk +ZXIgV2FjaGxlaXR1bmdlbikgKi8KLmZhLW5ldS1tb2R1cy16ZWlsZSB7CiAgICBkaXNwbGF5OiBm +bGV4OyBnYXA6IDE4cHg7IGZsZXgtd3JhcDogd3JhcDsKICAgIHBhZGRpbmc6IDEwcHggMTRweDsK +ICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0KTsKICAgIGJvcmRlci1yYWRpdXM6IHZh +cigtLXJhZGl1cy1tZCk7CiAgICBtYXJnaW4tYm90dG9tOiAxNHB4Owp9Ci5mYS1uZXUtbW9kdXMt +b3B0IHsKICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4Owog +ICAgY3Vyc29yOiBwb2ludGVyOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1tZCk7CiAgICBmb250 +LXdlaWdodDogNTAwOwp9Ci5mYS1uZXUtbW9kdXMtb3B0IGlucHV0W3R5cGU9InJhZGlvIl0geyB3 +aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyBjdXJzb3I6IHBvaW50ZXI7IH0KLmZhLW5ldS1iZXJl +aWNoIHsKICAgIHBhZGRpbmctdG9wOiA0cHg7Cn0KLmZhLW5ldS1ncmlkIHsKICAgIGRpc3BsYXk6 +IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICBnYXA6IDEycHgg +MTRweDsKICAgIG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KLmRsZy1sYWJlbCB7IGRpc3BsYXk6IGJs +b2NrOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IHZhcigtLWZzLW1kKTsgbWFyZ2luLWJv +dHRvbTogNHB4OyBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsgfQoKLyogTW9kYWwtRW50d3Vy +Zi1SZXN0b3JlLUJhbm5lciAoU3BlYyBGLjQpICovCi5tb2RhbC1lbnR3dXJmLWJhbm5lciB7CiAg +ICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMTBweDsK +ICAgIHBhZGRpbmc6IDEwcHggMTRweDsKICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICBiYWNr +Z3JvdW5kOiByZ2JhKDc0LDE0NCwyMjYsMC4xMCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIo +LS1mYXJiZS1ha3plbnQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTsKICAg +IGZvbnQtc2l6ZTogdmFyKC0tZnMtbWQpOwogICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7 +CiAgICBmbGV4LXdyYXA6IHdyYXA7Cn0KLm1lYi1pY29uIHsgZm9udC1zaXplOiAxOHB4OyBsaW5l +LWhlaWdodDogMTsgfQoubWViLXRleHQgeyBmbGV4OiAxOyBtaW4td2lkdGg6IDIwMHB4OyB9Cltk +YXRhLXRoZW1lPSJuaWdodCJdIC5tb2RhbC1lbnR3dXJmLWJhbm5lciB7IGJhY2tncm91bmQ6IHJn +YmEoNzQsMTQ0LDIyNiwwLjE4KTsgfQoKLyogRmFjaGF1ZnNpY2h0IEdyYW51bGFyLVN1Yi1TaWNo +dGJhcmtlaXRzLU1vZGFsIChTcGVjIEYuMikgKi8KLmZhLXN1YnNpY2h0LWFrdGlvbmVuIHsKICAg +IGRpc3BsYXk6IGZsZXg7IGdhcDogOHB4OyBmbGV4LXdyYXA6IHdyYXA7CiAgICBtYXJnaW4tYm90 +dG9tOiAxNHB4Owp9Ci5mYS1zdWJzaWNodC1saXN0ZSB7CiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4 +LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDRweDsKICAgIG1heC1oZWlnaHQ6IDUwdmg7IG92ZXJm +bG93LXk6IGF1dG87CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOwog +ICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTsKICAgIHBhZGRpbmc6IDEwcHggMTRw +eDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOwp9Ci5mYS1zdWJzaWNodC16ZWlsZSB7 +CiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsKICAgIHBh +ZGRpbmc6IDRweCA2cHg7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy14cyk7CiAgICBjdXJz +b3I6IHBvaW50ZXI7CiAgICBmb250LXNpemU6IHZhcigtLWZzLW1kKTsKfQouZmEtc3Vic2ljaHQt +emVpbGU6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7IH0KLmZhLXN1YnNpY2h0 +LXplaWxlIGlucHV0W3R5cGU9ImNoZWNrYm94Il0geyB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4 +OyBjdXJzb3I6IHBvaW50ZXI7IH0KCi8qIG1haWx0bzotQXV0by1UcmlnZ2VyLUtvbmZpZyBpbSBW +b3JsYWdlbi1FZGl0b3IgKGF1dG9UcmlnZ2VyLVZvcmxhZ2VuKSAqLwouZXZtLXRyaWdnZXItYmxv +Y2sgewogICAgbWFyZ2luLXRvcDogMTZweDsKICAgIHBhZGRpbmc6IDEycHggMTRweDsKICAgIGJh +Y2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0KTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigt +LWJvcmRlci1saWdodCk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpOwp9Ci5l +dm0tdHJpZ2dlci10aXRlbCB7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogdmFyKC0tZnMt +bWQpOyBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsgbWFyZ2luLWJvdHRvbTogMTBweDsgfQou +ZXZtLXRyaWdnZXItYWt0aXYgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBn +YXA6IDhweDsgY3Vyc29yOiBwb2ludGVyOyBmb250LXdlaWdodDogNTAwOyBmb250LXNpemU6IHZh +cigtLWZzLW1kKTsgfQouZXZtLXRyaWdnZXItYWt0aXYgaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7 +IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7IGN1cnNvcjogcG9pbnRlcjsgfQouZXZtLWVtcGYt +bGlzdGUgewogICAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA0 +cHg7CiAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsK +ICAgIHBhZGRpbmc6IDhweCAxMHB4OwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNt +KTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7Cn0KLmV2bS1lbXBm +LXplaWxlIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IGN1 +cnNvcjogcG9pbnRlcjsgZm9udC1zaXplOiAxMi41cHg7IGxpbmUtaGVpZ2h0OiAxLjQ7IHBhZGRp +bmc6IDJweCAwOyB9Ci5ldm0tZW1wZi16ZWlsZSBpbnB1dFt0eXBlPSJjaGVja2JveCJdIHsgd2lk +dGg6IDE1cHg7IGhlaWdodDogMTVweDsgY3Vyc29yOiBwb2ludGVyOyB9CgovKiBFLU1haWwtVm9y +bGFnZW4gS2FydGVuLUxheW91dCAoRmluZGluZyBDLjcgLyBTcGVjIEYuMSkgKi8KLmVtYWlsdm9y +bGFnZW4ta2FydGVuIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVt +bnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDQyMHB4LCAxZnIpKTsKICAgIGdhcDogMTZweDsK +ICAgIG1hcmdpbi10b3A6IDE2cHg7Cn0KLmVtYWlsdm9ybGFnZS1rYXJ0ZSB7CiAgICBkaXNwbGF5 +OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA2NHB4IDFmciBhdXRvOwogICAgZ2Fw +OiAxNHB4OwogICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7CiAgICBwYWRkaW5nOiAxNnB4IDE4cHg7 +CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZh +cigtLWJvcmRlci1saWdodCk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpOwog +ICAgY3Vyc29yOiBwb2ludGVyOwogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIGZvbnQ6IGluaGVy +aXQ7CiAgICBjb2xvcjogaW5oZXJpdDsKICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1 +cywgYm94LXNoYWRvdyAwLjE1cywgdHJhbnNmb3JtIDAuMDZzOwp9Ci5lbWFpbHZvcmxhZ2Uta2Fy +dGU6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWZhcmJlLWFremVudCk7IGJveC1zaGFkb3c6 +IDAgNHB4IDE0cHggcmdiYSgwLDAsMCwwLjA4KTsgfQouZW1haWx2b3JsYWdlLWthcnRlOmFjdGl2 +ZSB7IHRyYW5zZm9ybTogc2NhbGUoMC45OTgpOyB9Ci5ldmstaWNvbiB7CiAgICBkaXNwbGF5OiBm +bGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHdp +ZHRoOiA2NHB4OyBoZWlnaHQ6IDY0cHg7CiAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgZm9u +dC1zaXplOiAxMXB4OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNl +OyBsZXR0ZXItc3BhY2luZzogLjAzZW07CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IGxpbmUtaGVp +Z2h0OiAxLjI7IHBhZGRpbmc6IDRweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0 +KTsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7Cn0KLmV2ay1pY29uLXdhcm51bmcg +eyBiYWNrZ3JvdW5kOiByZ2JhKDIwMiwxMTEsMzAsMC4xOCk7IGNvbG9yOiB2YXIoLS1mYXJiZS13 +YXJudW5nKTsgfQouZXZrLWljb24tYWt6ZW50IHsgYmFja2dyb3VuZDogcmdiYSg3NCwxNDQsMjI2 +LDAuMTUpOyBjb2xvcjogdmFyKC0tZmFyYmUtYWt6ZW50KTsgfQouZXZrLWluaGFsdCB7IG1pbi13 +aWR0aDogMDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA0cHg7 +IH0KLmV2ay10aXRlbCB7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMTVweDsgY29sb3I6 +IHZhcigtLXRleHQtaGVhZGluZyk7IH0KLmV2ay1iZXNjaHJlaWJ1bmcgeyBmb250LXNpemU6IHZh +cigtLWZzLWJhc2UpOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGxpbmUtaGVpZ2h0OiAxLjQ7 +IG1hcmdpbi1ib3R0b206IDRweDsgfQouZXZrLWJldHJlZmYsIC5ldmstcHJldmlldyB7CiAgICBm +b250LXNpemU6IHZhcigtLWZzLWJhc2UpOwogICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5 +KTsKICAgIG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB3aGl0ZS1z +cGFjZTogbm93cmFwOwp9Ci5ldmstYmV0cmVmZiB7IGZvbnQtd2VpZ2h0OiA1MDA7IH0KLmV2ay1s +YWJlbCB7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgZm9udC13ZWlnaHQ6IDYwMDsgbWFyZ2lu +LXJpZ2h0OiA0cHg7IH0KLmV2ay1wcmV2aWV3IHsgZm9udC1zdHlsZTogaXRhbGljOyBvcGFjaXR5 +OiAwLjg7IH0KLmV2ay1ha3Rpb24gewogICAgYWxpZ24tc2VsZjogY2VudGVyOwogICAgZm9udC1z +aXplOiB2YXIoLS1mcy1iYXNlKTsgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGNvbG9yOiB2YXIoLS1m +YXJiZS1ha3plbnQpOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQovKiBIaWRlLUJ1dHRvbiBv +YmVuIHJlY2h0cyBhdWYgamVkZXIgVm9ybGFnZS1LYXJ0ZS4gRXJzY2hlaW50IG51ciBiZWltCiAg +IEhvdmVyLCBkYW1pdCBkaWUgS2FydGVuLU9wdGlrIGltIFJ1aGV6dXN0YW5kIHNhdWJlciBibGVp +YnQuICovCi5lbWFpbHZvcmxhZ2Uta2FydGUgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH0KLmV2ay1o +aWRlLWJ0biB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogOHB4OyByaWdodDogOHB4Owog +ICAgd2lkdGg6IDIycHg7IGhlaWdodDogMjJweDsKICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0 +ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgYmFja2dyb3VuZDogdHJh +bnNwYXJlbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJhZGl1 +czogdmFyKC0tcmFkaXVzLXNtKTsgZm9udC1zaXplOiB2YXIoLS1mcy1sZyk7IGxpbmUtaGVpZ2h0 +OiAxOwogICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBjdXJzb3I6IHBvaW50ZXI7CiAgICBv +cGFjaXR5OiAwOyB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzLCBiYWNrZ3JvdW5kIDAuMTVzLCBi +b3JkZXItY29sb3IgMC4xNXM7Cn0KLmVtYWlsdm9ybGFnZS1rYXJ0ZTpob3ZlciAuZXZrLWhpZGUt +YnRuIHsgb3BhY2l0eTogMTsgfQouZXZrLWhpZGUtYnRuOmhvdmVyIHsgYmFja2dyb3VuZDogdmFy +KC0tYmctY2FyZC1hbHQpOyBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvcik7IGNvbG9y +OiB2YXIoLS1mYXJiZS1mZWhsZXIpOyB9Ci8qIEZvb3Rlci1CZXJlaWNoIGZ1ZXIgdmVyc3RlY2t0 +ZSBWb3JsYWdlbiAqLwouZW1haWx2b3JsYWdlbi12ZXJzdGVja3QgewogICAgbWFyZ2luLXRvcDog +MjRweDsgcGFkZGluZy10b3A6IDE2cHg7CiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHZhcigt +LWJvcmRlci1jb2xvcik7Cn0KLmVtYWlsdm9ybGFnZW4tdmVyc3RlY2t0LWtvcGYgewogICAgZGlz +cGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7CiAgICBmb250LXNpemU6 +IHZhcigtLWZzLWJhc2UpOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGZvbnQtd2VpZ2h0OiA2 +MDA7CiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyBjdXJzb3I6IHBvaW50ZXI7IHVzZXItc2VsZWN0 +OiBub25lOwp9Ci5lbWFpbHZvcmxhZ2VuLXZlcnN0ZWNrdC1saXN0ZSB7CiAgICBkaXNwbGF5OiBm +bGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogOHB4Owp9Ci5ldmstdmVyc3RlY2t0LXBpbGxlIHsK +ICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsK +ICAgIHBhZGRpbmc6IDZweCAxMHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkLWFsdCk7CiAg +ICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOyBib3JkZXItcmFkaXVzOiB2 +YXIoLS1yYWRpdXMtc20pOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNlKTsgY29sb3I6IHZh +cigtLXRleHQtc2Vjb25kYXJ5KTsKfQouZXZrLXZlcnN0ZWNrdC1waWxsZSAuZXZrLXZlcnN0ZWNr +dC10aXRlbCB7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KLmV2ay1zaG93LWJ0biB7CiAgICBiYWNrZ3Jv +dW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiBub25lOyBwYWRkaW5nOiAwIDJweDsKICAgIGNvbG9y +OiB2YXIoLS1mYXJiZS1ha3plbnQpOyBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtc2l6ZTogdmFyKC0t +ZnMtYmFzZSk7CiAgICBmb250LXdlaWdodDogNjAwOwp9Ci5ldmstc2hvdy1idG46aG92ZXIgeyB0 +ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQoKLyogRWRpdG9yLU1vZGFsIHBybyBFLU1haWwt +Vm9ybGFnZSAqLwouZXZtLWJlc2NocmVpYnVuZyB7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsg +Zm9udC1zaXplOiB2YXIoLS1mcy1tZCk7IG1hcmdpbjogMCAwIDE0cHg7IH0KLmV2bS1ncmlkIHsg +ZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMjgwcHg7IGdhcDogMThw +eDsgfQpAbWVkaWEgKG1heC13aWR0aDogOTgwcHgpIHsgLmV2bS1ncmlkIHsgZ3JpZC10ZW1wbGF0 +ZS1jb2x1bW5zOiAxZnI7IH0gfQouZXZtLWZvcm0geyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVj +dGlvbjogY29sdW1uOyBtaW4td2lkdGg6IDA7IH0KLmV2bS1sYWJlbCB7IGZvbnQtd2VpZ2h0OiA2 +MDA7IGZvbnQtc2l6ZTogdmFyKC0tZnMtbWQpOyBtYXJnaW4tYm90dG9tOiA2cHg7IGNvbG9yOiB2 +YXIoLS10ZXh0LWhlYWRpbmcpOyB9Ci5ldm0tYmV0cmVmZi1pbnB1dCB7IHdpZHRoOiAxMDAlOyBm +b250LWZhbWlseTogaW5oZXJpdDsgfQouZXZtLXRleHQtaW5wdXQgeyB3aWR0aDogMTAwJTsgZm9u +dC1mYW1pbHk6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjU7IHJlc2l6ZTogdmVydGljYWw7IG1p +bi1oZWlnaHQ6IDIyMHB4OyB9Ci5ldm0tdGV4dC1ydGUgeyBtaW4taGVpZ2h0OiAzODBweDsgbWF4 +LWhlaWdodDogNjB2aDsgb3ZlcmZsb3cteTogYXV0bzsgcGFkZGluZzogMTJweCAxNHB4OyBsaW5l +LWhlaWdodDogMS41NTsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH0KLmV2bS10ZXh0LXJ0ZTplbXB0 +eTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1wbGFjZWhvbGRlcik7CiAgICBjb2xv +cjogdmFyKC0tdGV4dC1tdXRlZCk7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQouZXZtLWhp +bndlaXMgeyBkaXNwbGF5OiBibG9jazsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBmb250LXNp +emU6IHZhcigtLWZzLXNtKTsgbWFyZ2luLXRvcDogNnB4OyBsaW5lLWhlaWdodDogMS40NTsgfQou +ZXZtLXRvZ2dsZXMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6 +IDZweDsgbWFyZ2luLXRvcDogMTRweDsgcGFkZGluZy10b3A6IDEycHg7IGJvcmRlci10b3A6IDFw +eCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOyB9Ci5ldm0tdG9nZ2xlIHsgZGlzcGxheTogZmxl +eDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IGN1cnNvcjogcG9pbnRlcjsgZm9udC1z +aXplOiB2YXIoLS1mcy1tZCk7IGxpbmUtaGVpZ2h0OiAxLjQ7IH0KLmV2bS12YXJzIHsKICAgIGJh +Y2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0KTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigt +LWJvcmRlci1saWdodCk7CiAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICBwYWRkaW5nOiAxMnB4 +IDE0cHg7CiAgICBhbGlnbi1zZWxmOiBzdGFydDsKICAgIHBvc2l0aW9uOiBzdGlja3k7IHRvcDog +MDsKICAgIG1heC1oZWlnaHQ6IDcwdmg7IG92ZXJmbG93LXk6IGF1dG87Cn0KLmV2bS12YXJzLXRp +dGVsIHsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiB2YXIoLS1mcy1tZCk7IG1hcmdpbi1i +b3R0b206IDRweDsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IH0KLmV2bS12YXJzLWhpbndl +aXMgeyBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBt +YXJnaW4tYm90dG9tOiAxMnB4OyBsaW5lLWhlaWdodDogMS40OyB9Ci5ldm0tdmFycy1saXN0ZSB7 +IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNXB4OyB9Ci5ldm0t +dmFyLWJ0biB7CiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6 +IDJweDsKICAgIHBhZGRpbmc6IDdweCAxMHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2Fy +ZCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOwogICAgYm9yZGVy +LXJhZGl1czogNXB4OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgdGV4dC1hbGlnbjogbGVmdDsK +ICAgIGZvbnQ6IGluaGVyaXQ7CiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xMnMsIGJh +Y2tncm91bmQgMC4xMnM7Cn0KLmV2bS12YXItYnRuOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIo +LS1mYXJiZS1ha3plbnQpOyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7IH0KLmV2bS12YXIt +bmFtZSB7IGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsICdTRiBNb25vJywgbW9ub3NwYWNlOyBm +b250LXNpemU6IDExLjVweDsgY29sb3I6IHZhcigtLWZhcmJlLWFremVudCk7IGZvbnQtd2VpZ2h0 +OiA2MDA7IH0KLmV2bS12YXItYmVzY2hyIHsgZm9udC1zaXplOiAxMC41cHg7IGNvbG9yOiB2YXIo +LS10ZXh0LW11dGVkKTsgbGluZS1oZWlnaHQ6IDEuMzsgfQoKLyogTWl0YmVhcmJlaXRlci1MaXN0 +ZSBpbSBQZXJzb24tRWRpdC1Nb2RhbDogMyBTcGFsdGVuLCBhbHBoYWJldGlzY2ggdm9uIG9iZW4g +bmFjaCB1bnRlbiAqLwouZXItcGVyc29uZW4tZ3JpZCB7CiAgICBjb2x1bW4tY291bnQ6IDM7CiAg +ICBjb2x1bW4tZ2FwOiAxOHB4OwogICAgbWF4LWhlaWdodDogMzYwcHg7CiAgICBvdmVyZmxvdzog +YXV0bzsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7CiAgICBwYWRk +aW5nOiA4cHggMTBweDsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7CiAgICBi +YWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsKfQouZXItcGVyc29uZW4temVpbGUgewogICAgZGlz +cGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDZweDsKICAgIHBh +ZGRpbmc6IDNweCAwOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgYnJlYWstaW5zaWRlOiBhdm9p +ZDsKICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7CiAgICBwYWdlLWJyZWFr +LWluc2lkZTogYXZvaWQ7Cn0KLmVyLXBlcnNvbmVuLW5hbWUgeyBmbGV4OiAxOyBtaW4td2lkdGg6 +IDA7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB3aGl0ZS1zcGFj +ZTogbm93cmFwOyB9Ci5lci1wZXJzb25lbi1ncnVwcGUgewogICAgY29sb3I6IHZhcigtLXRleHQt +bXV0ZWQpOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7CiAgICBmb250LXdlaWdodDogNTAw +OwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOwogICAgcGFkZGluZzogMXB4IDZw +eDsKICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgIGZsZXgtc2hyaW5rOiAwOwp9CkBtZWRpYSAo +bWF4LXdpZHRoOiAxMTAwcHgpIHsKICAgIC5lci1wZXJzb25lbi1ncmlkIHsgY29sdW1uLWNvdW50 +OiAyOyB9Cn0KCi8qIENoZXJyeS1QaWNrIDg5ZWIzYzc6IERpcmVrdGUtS29sbGVnZW4tSGVydm9y +aGVidW5nIGltIFBlcnNvbi1FZGl0LURpYWxvZy4KICAgTnVyIGFrdGl2LCB3ZW5uIGBmZWF0dXJl +cy5rb2xsZWdlbkhlcnZvcmhlYmVuYCBhbiBpc3QuCiAgIE1pa3JvdGVhbS1TZWt0aW9uIChrb2xs +ZWdlbi1taWtybykgZm9sZ3QgZGVyIGdsZWljaGVuIFN0cnVrdHVyLiAqLwpmaWVsZHNldC5rb2xs +ZWdlbi1taWtybywKZmllbGRzZXQua29sbGVnZW4tZGlyZWt0LApmaWVsZHNldC5rb2xsZWdlbi1y +ZXN0IHsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7CiAgICBib3Jk +ZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOwogICAgcGFkZGluZzogOHB4IDEycHggMTBweDsK +ICAgIG1hcmdpbjogMTBweCAwIDA7Cn0KZmllbGRzZXQua29sbGVnZW4tZGlyZWt0IHsKICAgIGJh +Y2tncm91bmQ6IHJnYmEoMzksIDEzNywgMTA5LCAwLjA2KTsgIC8qIGRlemVudCBncnVlbmxpY2gg +Ki8KICAgIGJvcmRlci1jb2xvcjogcmdiYSgzOSwgMTM3LCAxMDksIDAuNDUpOwp9CmZpZWxkc2V0 +LmtvbGxlZ2VuLW1pa3JvIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgOTksIDE3NSwgMC4wNik7 +ICAgIC8qIGRlemVudCBibGFldWxpY2gsIFBvbGl6ZWktQmxhdS1IYXVjaCAqLwogICAgYm9yZGVy +LWNvbG9yOiByZ2JhKDAsIDk5LCAxNzUsIDAuNDUpOwp9CmZpZWxkc2V0LmtvbGxlZ2VuLW1pa3Jv +ICA+IGxlZ2VuZCwKZmllbGRzZXQua29sbGVnZW4tZGlyZWt0ID4gbGVnZW5kLApmaWVsZHNldC5r +b2xsZWdlbi1yZXN0ICAgPiBsZWdlbmQgewogICAgcGFkZGluZzogMCA2cHg7CiAgICBmb250LXdl +aWdodDogNjAwOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNlKTsKfQpmaWVsZHNldC5rb2xs +ZWdlbi1taWtybyAgPiAuZXItcGVyc29uZW4temVpbGUsCmZpZWxkc2V0LmtvbGxlZ2VuLWRpcmVr +dCA+IC5lci1wZXJzb25lbi16ZWlsZSwKZmllbGRzZXQua29sbGVnZW4tcmVzdCAgID4gLmVyLXBl +cnNvbmVuLXplaWxlIHsKICAgIG1hcmdpbi1yaWdodDogMTJweDsKfQpmaWVsZHNldC5rb2xsZWdl +bi1kaXJla3QgPiAuZXItcGVyc29uZW4temVpbGUgKyAuZXItcGVyc29uZW4temVpbGUgewogICAg +LyogRGlyZWt0ZSBLb2xsZWdlbiB3ZXJkZW4gaW5saW5lIChGbGV4LUxpa2UpIGdlcmVuZGVydCwg +bmljaHQgaW4gU3BhbHRlbiDigJQgbWVpc3QgbnVyIGVpbiBwYWFyICovCn0KCi8qIEluYWt0aXZl +IENvZGVzIGFscyBvcHRpc2NoIGFiZ2VzZXR6dGUgU2VrdGlvbiBhbSBFbmRlICovCi5zYy1ncnVw +cGUtaW5ha3RpdiB7CiAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgcGFkZGluZy10b3A6IDEycHg7 +CiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHZhcigtLWJvcmRlci1zdHJvbmcpOwogICAgYm9y +ZGVyLWxlZnQtY29sb3I6IHZhcigtLWJvcmRlci1saWdodCk7CiAgICBvcGFjaXR5OiAwLjg1Owp9 +Ci5zYy1ncnVwcGUtdGl0ZWwtaW5ha3RpdiB7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRh +cnkpOwp9CgovKiBTb25kZXJ0ZXJtaW5lLUxpc3RlIChyZWFkLW9ubHkpICovCi5zb25kZXItaWNv +bi16ZWxsZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsg +anVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB3aWR0aDogMzJweDsgaGVpZ2h0OiAzMnB4OyBm +b250LXNpemU6IDE4cHg7IGJvcmRlci1yYWRpdXM6IDVweDsKICAgIGJhY2tncm91bmQ6IHZhcigt +LWJnLWNhcmQtYWx0KTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsKICAg +IGZvbnQtZmFtaWx5OiAiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSIsIk5vdG8g +Q29sb3IgRW1vamkiLHNhbnMtc2VyaWY7Cn0KLnNvbmRlci1pY29uLXplbGxlLmxlZXIgeyBjb2xv +cjogdmFyKC0tdGV4dC1tdXRlZCk7IGZvbnQtc2l6ZTogdmFyKC0tZnMtbWQpOyBmb250LWZhbWls +eTogaW5oZXJpdDsgfQouc29uZGVyLXR5cC1iYWRnZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxv +Y2s7IHBhZGRpbmc6IDJweCA4cHg7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7IGZv +bnQtc2l6ZTogdmFyKC0tZnMtc20pOyBmb250LXdlaWdodDogNjAwOwp9Ci5zb25kZXItdHlwLWlu +Zm8geyBiYWNrZ3JvdW5kOiByZ2JhKDQxLDEyOCwxODUsMC4xNSk7IGNvbG9yOiB2YXIoLS1mYXJi +ZS1ha3plbnQpOyB9Ci5zb25kZXItdHlwLXdhcm4geyBiYWNrZ3JvdW5kOiByZ2JhKDIwMiwxMTEs +MzAsMC4xOCk7IGNvbG9yOiB2YXIoLS1mYXJiZS13YXJudW5nKTsgfQoKLyogQmFja3VwLVR5cC1C +YWRnZXMgKi8KLmJrLXR5cCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZzogMnB4IDhw +eDsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTsgZm9udC1zaXplOiAxMC41cHg7IGZv +bnQtd2VpZ2h0OiA2MDA7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH0KLmJrLXR5cC1tYW51ZWxsIHsg +YmFja2dyb3VuZDogcmdiYSgyNyw5NCwzMiwwLjE1KTsgY29sb3I6ICMxQjVFMjA7IH0KLmJrLXR5 +cC1hdXRvIHsgYmFja2dyb3VuZDogcmdiYSgyMDIsMTExLDMwLDAuMTgpOyBjb2xvcjogdmFyKC0t +ZmFyYmUtd2FybnVuZyk7IH0KLmJrLXR5cC1zaWNoZXJ1bmcgeyBiYWNrZ3JvdW5kOiByZ2JhKDQx +LDEyOCwxODUsMC4xNSk7IGNvbG9yOiB2YXIoLS1mYXJiZS1ha3plbnQpOyB9CltkYXRhLXRoZW1l +PSJuaWdodCJdIC5iay10eXAtbWFudWVsbCB7IGJhY2tncm91bmQ6IHJnYmEoMjcsOTQsMzIsMC4z +KTsgY29sb3I6ICNhNWQ2YTc7IH0KW2RhdGEtdGhlbWU9Im5pZ2h0Il0gLmJrLXR5cC1hdXRvIHsg +YmFja2dyb3VuZDogcmdiYSgyMDIsMTExLDMwLDAuMyk7IGNvbG9yOiAjZmZjYzgwOyB9CltkYXRh +LXRoZW1lPSJuaWdodCJdIC5iay10eXAtc2ljaGVydW5nIHsgYmFja2dyb3VuZDogcmdiYSg0MSwx +MjgsMTg1LDAuMyk7IGNvbG9yOiAjOTBjYWY5OyB9Ci8qIEJhY2t1cC1JbmhhbHRzdHlwLUJhZGdl +IGltIEFkbWluIC0+IEJhY2t1cHMgKEtvbXBsZXR0IHZzLiBOdXIgUGxhbnVuZykuCiAgIEZydWVo +ZXIgYWxzIC5iay1pbmhhbHQgZGVmaW5pZXJ0IC0tIGtvbGxpZGllcnRlIG1pdCBkZW0gZ2xlaWNo +bmFtaWdlbgogICBDb250YWluZXIgZGVyIFBydWVmdW5ncy1BbnNpY2h0ICgjYmstaW5oYWx0KS4g +Ki8KLmJrLWluaGFsdHN0eXAgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDJweCA4 +cHg7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7IGZvbnQtc2l6ZTogMTAuNXB4OyBm +b250LXdlaWdodDogNjAwOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9Ci5iay1pbmhhbHRzdHlwLWtv +bXBsZXR0IHsgYmFja2dyb3VuZDogcmdiYSg3NCwxNDQsMjI2LDAuMTUpOyBjb2xvcjogdmFyKC0t +ZmFyYmUtYWt6ZW50KTsgfQouYmstaW5oYWx0c3R5cC1wbGFudW5nIHsgYmFja2dyb3VuZDogcmdi +YSgxNDksMTY1LDE2NiwwLjE4KTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyB9CltkYXRhLXRo +ZW1lPSJuaWdodCJdIC5iay1pbmhhbHRzdHlwLWtvbXBsZXR0IHsgYmFja2dyb3VuZDogcmdiYSg3 +NCwxNDQsMjI2LDAuMyk7IGNvbG9yOiAjOTBjYWY5OyB9CltkYXRhLXRoZW1lPSJuaWdodCJdIC5i +ay1pbmhhbHRzdHlwLXBsYW51bmcgeyBiYWNrZ3JvdW5kOiByZ2JhKDE0OSwxNjUsMTY2LDAuMyk7 +IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgfQoKLyogPT09PT0gQmVzZXR6dW5nc2tvbnRyb2xs +ZSAoR2VzYW10dmVyYW50d29ydGxpY2hlKSA9PT09PSAqLwovKiBmbGV4OjEgKyBvdmVyZmxvdy15 +OmF1dG8sIGRhbWl0IGRlciBJbmhhbHQgaW0gLmFuc2ljaHQtQ29udGFpbmVyCiAgIChoZWlnaHQ6 +MTAwdmgtNDBweDsgb3ZlcmZsb3c6aGlkZGVuKSBzY3JvbGx0LCB3ZW5uIGVyIGhvZWhlciBpc3QK +ICAgYWxzIGRhcyBWaWV3cG9ydC4gbWluLWhlaWdodDowIHdlZ2VuIGZsZXgtbWluLWNvbnRlbnQt +RGVmYXVsdC4gKi8KLmJrLWxheW91dCB7CiAgICBwYWRkaW5nOiAxNnB4IDIwcHggNDBweCAyMHB4 +OwogICAgd2lkdGg6IDEwMCU7CiAgICBmbGV4OiAxOwogICAgbWluLWhlaWdodDogMDsKICAgIG92 +ZXJmbG93LXk6IGF1dG87Cn0KLmJrLWtvcGYgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRl +bnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBnYXA6IDIwcHg7IG1h +cmdpbi1ib3R0b206IDE0cHg7IHBhZGRpbmctYm90dG9tOiAxMHB4OyBib3JkZXItYm90dG9tOiAx +cHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsgZmxleC13cmFwOiB3cmFwOyB9Ci5iay1rb3Bm +LXN0YXRzIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxMHB4OyB9Ci5iay1rcGkgeyBiYWNrZ3JvdW5k +OiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsg +Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTsgcGFkZGluZzogNnB4IDEycHg7IG1pbi13 +aWR0aDogNzZweDsgdGV4dC1hbGlnbjogY2VudGVyOyB9Ci5iay1rcGktemFobCB7IGZvbnQtc2l6 +ZTogMThweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IGxp +bmUtaGVpZ2h0OiAxLjE7IH0KLmJrLWtwaS1sYWJlbCB7IGZvbnQtc2l6ZTogMTAuNXB4OyBjb2xv +cjogdmFyKC0tdGV4dC1tdXRlZCk7IG1hcmdpbi10b3A6IDFweDsgfQouYmsta3BpLXdhcm4geyBi +b3JkZXItY29sb3I6IHJnYmEoMjAyLDExMSwzMCwwLjUpOyBiYWNrZ3JvdW5kOiByZ2JhKDIwMiwx +MTEsMzAsMC4wNik7IH0KLmJrLWtwaS13YXJuIC5iay1rcGktemFobCB7IGNvbG9yOiB2YXIoLS1m +YXJiZS13YXJudW5nKTsgfQouYmsta3BpLW9rIHsgYm9yZGVyLWNvbG9yOiByZ2JhKDM5LDEzNywx +MDksMC40KTsgYmFja2dyb3VuZDogcmdiYSgzOSwxMzcsMTA5LDAuMDYpOyB9Ci5iay1rcGktb2sg +LmJrLWtwaS16YWhsIHsgY29sb3I6IHZhcigtLWZhcmJlLWVyZm9sZyk7IH0KCi8qIFBlcnNvZW5s +aWNoZSBCZWdydWVzc3VuZ3MtQm94IGltIFBydWVmdW5ncy1UYWIg4oCUIGVudHNwYW5udCBtaXQK +ICAgZWlua2xhcHBiYXJlciBEZXRhaWwtRXJrbGFlcnVuZy4gQW5yZWRlICsgQnJpZWZpbmctQnV0 +dG9uIGltbWVyCiAgIHNpY2h0YmFyIGFscyBRdWljay1FaW5zdGllZywgUXVpY2tpbnRybyBkYXJ1 +bnRlci4gKi8KLmJrLWJlZ3J1ZXNzdW5nIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQp +OwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsKICAgIGJvcmRlci1y +YWRpdXM6IDhweDsKICAgIHBhZGRpbmc6IDE0cHggMThweDsKICAgIG1hcmdpbi1ib3R0b206IDE0 +cHg7CiAgICBsaW5lLWhlaWdodDogMS41Owp9Ci5iay1iZWdyLWtvcGYgewogICAgZGlzcGxheTog +ZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVu +OwogICAgZ2FwOiAxNnB4OyBmbGV4LXdyYXA6IHdyYXA7CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7 +Cn0KLmJrLWJlZ3ItYW5yZWRlIHsKICAgIGZvbnQtc2l6ZTogMTdweDsKICAgIGZvbnQtd2VpZ2h0 +OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsKfQouYmstYmVnci1xdWlja2lu +dHJvIHsKICAgIG1hcmdpbjogMCAwIDZweCAwICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IHZh +cigtLWZzLW1kKTsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7Cn0KLmJrLWJlZ3It +ZGV0YWlscyB7IG1hcmdpbi10b3A6IDZweDsgfQouYmstYmVnci1kZXRhaWxzID4gc3VtbWFyeSB7 +CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBmb250LXNpemU6IDEyLjVweDsKICAgIGNvbG9yOiB2 +YXIoLS10ZXh0LXNlY29uZGFyeSk7CiAgICBwYWRkaW5nOiA0cHggMDsKICAgIGxpc3Qtc3R5bGU6 +IHJldmVydDsKICAgIHVzZXItc2VsZWN0OiBub25lOwp9Ci5iay1iZWdyLWRldGFpbHMgPiBzdW1t +YXJ5OmhvdmVyIHsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IH0KLmJrLWJlZ3ItZGV0YWls +c1tvcGVuXSA+IHN1bW1hcnkgeyBtYXJnaW4tYm90dG9tOiA4cHg7IH0KLmJrLWJlZ3J1ZXNzdW5n +IHAgeyBtYXJnaW46IDAgMCA4cHggMDsgZm9udC1zaXplOiAxMi41cHg7IGNvbG9yOiB2YXIoLS10 +ZXh0LXByaW1hcnkpOyB9Ci5iay1iZWdyLWxlZ2VuZGUgewogICAgZGlzcGxheTogZmxleDsgZmxl +eC1kaXJlY3Rpb246IHJvdzsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDE0cHg7CiAgICBiYWNrZ3Jv +dW5kOiB2YXIoLS1iZy1jYXJkLWFsdCk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMt +bWQpOwogICAgcGFkZGluZzogOHB4IDEycHg7CiAgICBtYXJnaW46IDhweCAwIDEwcHggMDsKfQou +YmstYmVnci1laW50cmFnIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2Fw +OiA4cHg7IGZvbnQtc2l6ZTogdmFyKC0tZnMtYmFzZSk7IGxpbmUtaGVpZ2h0OiAxLjM1OyBmbGV4 +OiAxIDEgMjgwcHg7IH0KLmJrLWJlZ3ItcGlsbCB7CiAgICBmbGV4LXNocmluazogMDsKICAgIGRp +c3BsYXk6IGlubGluZS1ibG9jazsKICAgIHBhZGRpbmc6IDJweCAxMHB4OwogICAgYm9yZGVyLXJh +ZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICAgIGZvbnQtc2l6ZTogMTAuNXB4OwogICAgZm9udC13 +ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiAjZmZmOwogICAgbWluLXdpZHRoOiA1MHB4OwogICAgdGV4 +dC1hbGlnbjogY2VudGVyOwp9Ci5iay1iZWdyLXBpbGwtcm90ICAgeyBiYWNrZ3JvdW5kOiAjQjAz +QTJFOyB9Ci5iay1iZWdyLXBpbGwtZ2VsYiAgeyBiYWNrZ3JvdW5kOiAjQ0E2RjFFOyB9Ci5iay1i +ZWdyLXBpbGwtZ3J1ZW4geyBiYWNrZ3JvdW5kOiAjMjc4OTZEOyB9Ci5iay1iZWdyLW1haWwgewog +ICAgYmFja2dyb3VuZDogcmdiYSg3NCwxNDQsMjI2LDAuMDgpOwogICAgYm9yZGVyLWxlZnQ6IDNw +eCBzb2xpZCB2YXIoLS1mYXJiZS1ha3plbnQpOwogICAgcGFkZGluZzogOHB4IDEycHg7CiAgICBi +b3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOwogICAgbWFyZ2luLXRvcDogNHB4ICFpbXBv +cnRhbnQ7CiAgICBmb250LXNpemU6IDEyLjVweCAhaW1wb3J0YW50Owp9CltkYXRhLXRoZW1lPSJu +aWdodCJdIC5iay1iZWdyLW1haWwgeyBiYWNrZ3JvdW5kOiByZ2JhKDc0LDE0NCwyMjYsMC4xNSk7 +IH0KLmJrLWJlZ3ItYnJpZWZpbmcgewogICAgbWFyZ2luLXRvcDogOHB4ICFpbXBvcnRhbnQ7CiAg +ICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMTBweDsK +ICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIGZvbnQtc2l6ZTogMTIuNXB4OwogICAgY29sb3I6IHZh +cigtLXRleHQtc2Vjb25kYXJ5KTsKfQouYmstYmVnci1icmllZmluZyBzbWFsbCB7IGNvbG9yOiB2 +YXIoLS10ZXh0LW11dGVkKTsgfQoKLyogPT09PT0gRGVmaXppdC1CcmllZmluZy1JbnRlcnZpZXct +TW9kYWwgPT09PT0gKi8KLmRlZml6aXQtYnJpZWZpbmctbW9kYWwgeyBmb250LXNpemU6IHZhcigt +LWZzLW1kKTsgfQouZGVmaXppdC1icmllZmluZy1tb2RhbCAuZGJtLWZyYWdlIHsKICAgIG1hcmdp +bjogMTRweCAwIDZweCAwOyBmb250LXNpemU6IDEzLjVweDsgZm9udC13ZWlnaHQ6IDYwMDsKICAg +IGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOwp9Ci5kZWZpeml0LWJyaWVmaW5nLW1vZGFsIC5k +Ym0tZnJhZ2U6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9Ci5kZWZpeml0LWJyaWVmaW5n +LW1vZGFsIC5kYm0tb3B0aW9uZW4gewogICAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246 +IGNvbHVtbjsgZ2FwOiA0cHg7CiAgICBwYWRkaW5nLWxlZnQ6IDRweDsKfQouZGVmaXppdC1icmll +ZmluZy1tb2RhbCAuZGJtLW9wdGlvbmVuIGxhYmVsIHsKICAgIGN1cnNvcjogcG9pbnRlcjsgcGFk +ZGluZzogNHB4IDZweDsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICAgIHRyYW5z +aXRpb246IGJhY2tncm91bmQgMC4xMnM7Cn0KLmRlZml6aXQtYnJpZWZpbmctbW9kYWwgLmRibS1v +cHRpb25lbiBsYWJlbDpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWJnLWhvdmVyKTsgfQouZGVm +aXppdC1icmllZmluZy1tb2RhbCAuZGJtLW9wdGlvbmVuIGlucHV0W3R5cGU9InJhZGlvIl0geyBt +YXJnaW4tcmlnaHQ6IDZweDsgfQouZGVmaXppdC1icmllZmluZy1tb2RhbCAuZGJtLWhpbnQgewog +ICAgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNlKTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBt +YXJnaW46IDRweCAwIDhweCAwOwp9Ci5kZWZpeml0LWJyaWVmaW5nLW1vZGFsIC5kYm0tZW1wZmFl +bmdlci1saXN0ZSB7CiAgICBtYXgtaGVpZ2h0OiAyMjBweDsgb3ZlcmZsb3cteTogYXV0bzsKICAg +IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7IGJvcmRlci1yYWRpdXM6IHZh +cigtLXJhZGl1cy1zbSk7CiAgICBwYWRkaW5nOiA2cHggOHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1i +Zy1jYXJkLWFsdCk7Cn0KLmRlZml6aXQtYnJpZWZpbmctbW9kYWwgLmRibS1pbmZvIHsKICAgIGZv +bnQtc2l6ZTogdmFyKC0tZnMtYmFzZSk7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKICAgIG1h +cmdpbi1ib3R0b206IDZweDsgZm9udC1zdHlsZTogaXRhbGljOwp9Ci5kZWZpeml0LWJyaWVmaW5n +LW1vZGFsIC5kYm0tbGVlciB7CiAgICBtYXJnaW46IDRweCAwOyBmb250LXNpemU6IDEyLjVweDsg +Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwogICAgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5n +OiA4cHg7Cn0KLmRlZml6aXQtYnJpZWZpbmctbW9kYWwgLmRibS1wZXJzb25lbiB7CiAgICBsaXN0 +LXN0eWxlOiBub25lOyBwYWRkaW5nOiAwOyBtYXJnaW46IDA7Cn0KLmRlZml6aXQtYnJpZWZpbmct +bW9kYWwgLmRibS1wZXJzb25lbiBsaSB7CiAgICBwYWRkaW5nOiAzcHggMDsgYm9yZGVyLWJvdHRv +bTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7Cn0KLmRlZml6aXQtYnJpZWZpbmctbW9k +YWwgLmRibS1wZXJzb25lbiBsaTpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfQou +ZGVmaXppdC1icmllZmluZy1tb2RhbCAuZGJtLXBlcnNvbmVuIGxhYmVsIHsKICAgIGN1cnNvcjog +cG9pbnRlcjsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDJweCAwOwogICAgZm9udC1zaXplOiAx +Mi41cHg7Cn0KLmRlZml6aXQtYnJpZWZpbmctbW9kYWwgLmRibS1wZXJzb25lbiBsYWJlbC5kYm0t +ZGlzYWJsZWQgewogICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgb3BhY2l0eTogMC42Owp9Ci5kZWZp +eml0LWJyaWVmaW5nLW1vZGFsIC5kYm0tcGVyc29uZW4gaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7 +IG1hcmdpbi1yaWdodDogNnB4OyB9Ci5kZWZpeml0LWJyaWVmaW5nLW1vZGFsIC5kYm0tdGFnZSB7 +CiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGZvbnQtc2l6ZTogMTEuNXB4Owp9Ci5kZWZp +eml0LWJyaWVmaW5nLW1vZGFsIC5kYm0tbm8tbWFpbCB7CiAgICBjb2xvcjogdmFyKC0tZmFyYmUt +d2FybnVuZyk7IGZvbnQtc2l6ZTogMTEuNXB4OyBmb250LXdlaWdodDogNTAwOwp9Ci5kZWZpeml0 +LWJyaWVmaW5nLW1vZGFsIC5kYm0tY2MtaGludCB7CiAgICBtYXJnaW4tdG9wOiAxMHB4OyBwYWRk +aW5nOiA2cHggOHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOyBib3JkZXIt +cmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNlKTsK +fQoKLyogPT09PT0gS2FsZW5kZXItTGF5b3V0IGRlciBQcnVlZnVuZ3NhbnNpY2h0ID09PT09ICov +Ci5iay1rYWwgewogICAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAg +IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0t +Ym9yZGVyLWxpZ2h0KTsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7CiAgICBv +dmVyZmxvdzogaGlkZGVuOwp9Ci5iay1rYWwtd3Qta29wZiwgLmJrLWthbC13b2NoZSB7CiAgICBk +aXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTsK +fQouYmsta2FsLXd0LWtvcGYgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkLWFsdCk7IGJvcmRl +ci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3Ryb25nKTsgfQouYmsta2FsLXd0IHsK +ICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTog +dmFyKC0tZnMtc20pOwogICAgcGFkZGluZzogNnB4IDA7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1z +ZWNvbmRhcnkpOwogICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0 +KTsKfQouYmsta2FsLXd0Omxhc3QtY2hpbGQgeyBib3JkZXItcmlnaHQ6IG5vbmU7IH0KLmJrLWth +bC13dC13ZSB7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgfQouYmsta2FsLXdvY2hlIHsgYm9y +ZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7IH0KLmJrLWthbC13b2No +ZTpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfQoKLmJrLWthbC10YWcgewogICAg +Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsKICAgIHBhZGRpbmc6 +IDZweCA4cHg7CiAgICBtaW4taGVpZ2h0OiA2NHB4OwogICAgZGlzcGxheTogZmxleDsgZmxleC1k +aXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogNHB4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwog +ICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMTJzLCB0cmFuc2Zvcm0gMC4wOHM7Cn0KLmJrLWthbC10 +YWc6bGFzdC1jaGlsZCB7IGJvcmRlci1yaWdodDogbm9uZTsgfQouYmsta2FsLWF1c3NlbiB7CiAg +ICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkLWFsdCk7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1t +dXRlZCk7CiAgICBvcGFjaXR5OiAwLjU1Owp9Ci5iay1rYWwtd2UgeyBiYWNrZ3JvdW5kOiByZ2Jh +KDAsMCwwLDAuMDIpOyB9CltkYXRhLXRoZW1lPSJuaWdodCJdIC5iay1rYWwtd2UgeyBiYWNrZ3Jv +dW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDIpOyB9Ci5iay1rYWwtaGV1dGUgewogICAgYm94LXNo +YWRvdzogaW5zZXQgMCAwIDAgMnB4IHZhcigtLXRleHQtaGVhZGluZyk7CiAgICB6LWluZGV4OiAx +Owp9CgouYmsta2FsLXRhZ25yIHsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtbGcpOyBmb250LXdl +aWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7CiAgICBsaW5lLWhlaWdo +dDogMTsKfQouYmsta2FsLW1vIHsKICAgIGZvbnQtc2l6ZTogOS41cHg7IGZvbnQtd2VpZ2h0OiA3 +MDA7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBw +ZXJjYXNlOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4OwogICAgbWFyZ2luLWxlZnQ6IDZweDsK +fQoKLyogU3RhdHVzLUhpbnRlcmdydWVuZGU6IFJvdC9HZWxiL0dydWVuIG1pdCBkZXplbnRlciBT +YWV0dGlndW5nLiAqLwouYmsta2FsLXJvdCAgIHsgYmFja2dyb3VuZDogcmdiYSgxNzYsIDU4LCA0 +NiwgMC4xOCk7IGN1cnNvcjogcG9pbnRlcjsgfQouYmsta2FsLXJvdDpob3ZlciAgIHsgYmFja2dy +b3VuZDogcmdiYSgxNzYsIDU4LCA0NiwgMC4yOCk7IH0KLmJrLWthbC1nZWxiICB7IGJhY2tncm91 +bmQ6IHJnYmEoMjAyLCAxMTEsIDMwLCAwLjE2KTsgY3Vyc29yOiBwb2ludGVyOyB9Ci5iay1rYWwt +Z2VsYjpob3ZlciAgeyBiYWNrZ3JvdW5kOiByZ2JhKDIwMiwgMTExLCAzMCwgMC4yNik7IH0KLmJr +LWthbC1ncnVlbiB7IGJhY2tncm91bmQ6IHJnYmEoMzksIDEzNywgMTA5LCAwLjEzKTsgY3Vyc29y +OiBwb2ludGVyOyB9Ci5iay1rYWwtZ3J1ZW46aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDM5LCAx +MzcsIDEwOSwgMC4yMik7IH0KCi8qIE1pbmktSW5kaWthdG9yZW4gamUgU2NoaWNodCAoRi9TL04p +IGFtIHVudGVyZW4gUmFuZCBkZXIgWmVsbGUgKi8KLmJrLWthbC1taW5pIHsgZGlzcGxheTogZmxl +eDsgZ2FwOiAzcHg7IG1hcmdpbi10b3A6IGF1dG87IH0KLmJrLWthbC1taW5pLXplbGxlIHsKICAg +IGZsZXg6IDE7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBmb250LXNpemU6IHZhcigtLWZz +LXhzKTsgZm9udC13ZWlnaHQ6IDcwMDsKICAgIHBhZGRpbmc6IDFweCAwOwogICAgYm9yZGVyLXJh +ZGl1czogdmFyKC0tcmFkaXVzLXhzKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50 +Owp9Ci5iay1rYWwtbWluaS1yb3QgICB7IGJhY2tncm91bmQ6ICNCMDNBMkU7IGNvbG9yOiAjZmZm +OyBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsMC4xNSk7IH0KLmJrLWthbC1taW5pLWdlbGIgIHsg +YmFja2dyb3VuZDogI0NBNkYxRTsgY29sb3I6ICNmZmY7IGJvcmRlci1jb2xvcjogcmdiYSgwLDAs +MCwwLjE1KTsgfQouYmsta2FsLW1pbmktZ3J1ZW4geyBiYWNrZ3JvdW5kOiAjMjc4OTZEOyBjb2xv +cjogI2ZmZjsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLDAuMTUpOyB9CgovKiBUYWctRGV0YWls +LU1vZGFsICovCi5iay1kZXRhaWwta29wZiB7CiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVt +czogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICBnYXA6IDEycHg7 +IHBhZGRpbmc6IDEwcHggMTRweDsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7 +CiAgICBtYXJnaW4tYm90dG9tOiAxNHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1h +bHQpOwp9Ci5iay1kZXRhaWwta29wZi1yb3QgICB7IGJhY2tncm91bmQ6IHJnYmEoMTc2LCA1OCwg +NDYsIDAuMTQpOyB9Ci5iay1kZXRhaWwta29wZi1nZWxiICB7IGJhY2tncm91bmQ6IHJnYmEoMjAy +LCAxMTEsIDMwLCAwLjE0KTsgfQouYmstZGV0YWlsLWtvcGYtZ3J1ZW4geyBiYWNrZ3JvdW5kOiBy +Z2JhKDM5LCAxMzcsIDEwOSwgMC4xMik7IH0KLmJrLWRldGFpbC10aXRlbCB7IGZvbnQtc2l6ZTog +MTZweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IH0KCi5i +ay1kZXRhaWwtc2NoaWNodGVuIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRl +LWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI2MHB4LCAxZnIpKTsKICAgIGdhcDog +MTBweDsKICAgIG1hcmdpbi1ib3R0b206IDE0cHg7Cn0KLmJrLWRldGFpbC1zY2hpY2h0IHsKICAg +IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0t +Ym9yZGVyLWxpZ2h0KTsKICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tdGV4dC1tdXRl +ZCk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpOwogICAgcGFkZGluZzogOHB4 +IDEycHg7Cn0KLmJrLWRldGFpbC1zY2hpY2h0LXJvdCAgIHsgYm9yZGVyLWxlZnQtY29sb3I6ICNC +MDNBMkU7IH0KLmJrLWRldGFpbC1zY2hpY2h0LWdlbGIgIHsgYm9yZGVyLWxlZnQtY29sb3I6ICND +QTZGMUU7IH0KLmJrLWRldGFpbC1zY2hpY2h0LWdydWVuIHsgYm9yZGVyLWxlZnQtY29sb3I6ICMy +Nzg5NkQ7IH0KLmJrLWRldGFpbC1zY2hpY2h0LWtvcGYgewogICAgZGlzcGxheTogZmxleDsgYWxp +Z24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OyBmbGV4LXdyYXA6IHdyYXA7CiAgICBtYXJnaW4t +Ym90dG9tOiA2cHg7CiAgICBmb250LXNpemU6IHZhcigtLWZzLW1kKTsKfQouYmstZGV0YWlsLXNj +aGljaHQtemFobCB7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOwogICAgZm9udC1z +aXplOiB2YXIoLS1mcy1iYXNlKTsKfQouYmstZGV0YWlsLWZrLWxpc3RlIHsKICAgIGxpc3Qtc3R5 +bGU6IG5vbmU7IHBhZGRpbmc6IDA7IG1hcmdpbjogMDsKICAgIGRpc3BsYXk6IGZsZXg7IGZsZXgt +ZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogM3B4Owp9Ci5iay1kZXRhaWwtZmstbGlzdGUgbGkgewog +ICAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIHBhZGRpbmc6IDNw +eCA2cHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkLWFsdCk7CiAgICBib3JkZXItcmFk +aXVzOiB2YXIoLS1yYWRpdXMtc20pOwp9Ci5iay1kZXRhaWwtZmstbmFtZSB7IGZvbnQtc2l6ZTog +MTIuNXB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsgfQou +YmstZGV0YWlsLWZrLW1ldGEgeyBmb250LXNpemU6IDEwLjVweDsgY29sb3I6IHZhcigtLXRleHQt +bXV0ZWQpOyB9Ci5iay1kZXRhaWwtbGVlciB7IGZvbnQtc2l6ZTogdmFyKC0tZnMtYmFzZSk7IGNv +bG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgZm9udC1zdHlsZTogaXRhbGljOyBwYWRkaW5nOiA0cHgg +NnB4OyB9CgouYmstZGV0YWlsLWF1c2hpbGZlIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMTc2LCA1 +OCwgNDYsIDAuMDYpOwogICAgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMTc2LCA1OCwgNDYsIDAu +NCk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpOwogICAgcGFkZGluZzogMTBw +eCAxNHB4Owp9Ci5iay1kZXRhaWwtYXVzaGlsZmUta29wZiB7IGZvbnQtd2VpZ2h0OiA3MDA7IGZv +bnQtc2l6ZTogdmFyKC0tZnMtbWQpOyBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsgbWFyZ2lu +LWJvdHRvbTogOHB4OyB9Ci5iay1kZXRhaWwtYXVzaGlsZmUtYmVyZWljaCB7IG1hcmdpbi10b3A6 +IDEwcHg7IH0KLmJrLWRldGFpbC1hdXNoaWxmZS1iZXJlaWNoOmZpcnN0LWNoaWxkIHsgbWFyZ2lu +LXRvcDogMDsgfQouYmstZGV0YWlsLWF1c2hpbGZlLWJlcmVpY2ggaDQgewogICAgZm9udC1zaXpl +OiB2YXIoLS1mcy1iYXNlKTsgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsgbWFyZ2luOiAw +IDAgNHB4IDA7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzog +MC40cHg7IGZvbnQtd2VpZ2h0OiA3MDA7Cn0KLmJrLWRldGFpbC1hdXNoaWxmZS1saXN0ZSB7CiAg +ICBsaXN0LXN0eWxlOiBub25lOyBwYWRkaW5nOiAwOyBtYXJnaW46IDA7CiAgICBkaXNwbGF5OiBm +bGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDJweDsKfQovKiBUb29sYmFyIG9iZXJo +YWxiIGRlciBBdXNoaWxmZS1MaXN0ZTogIkFsbGUgbWFya2llcmVuIiArIE1haWwtQnV0dG9uLiAq +LwouYmstZGV0YWlsLWF1c2hpbGZlLXRvb2xiYXIgewogICAgZGlzcGxheTogZmxleDsgYWxpZ24t +aXRlbXM6IGNlbnRlcjsgZ2FwOiAxNHB4OwogICAgbWFyZ2luLWJvdHRvbTogOHB4OyBwYWRkaW5n +LWJvdHRvbTogOHB4OwogICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCByZ2JhKDE3NiwgNTgs +IDQ2LCAwLjI1KTsKfQouYmstZGV0YWlsLWFsbGUgewogICAgZm9udC1zaXplOiB2YXIoLS1mcy1i +YXNlKTsgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsKICAgIGRpc3BsYXk6IGlubGluZS1m +bGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsKICAgIGN1cnNvcjogcG9pbnRlcjsg +dXNlci1zZWxlY3Q6IG5vbmU7Cn0KLmJrLWRldGFpbC1hdXNoaWxmZS16ZWlsZSB7CiAgICBkaXNw +bGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyMnB4IDE4MHB4IDYwcHggNjBw +eCAxZnIgMTMwcHg7CiAgICBnYXA6IDEwcHg7CiAgICBwYWRkaW5nOiA1cHggOHB4OwogICAgYmFj +a2dyb3VuZDogdmFyKC0tYmctY2FyZCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVu +dDsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7CiAgICBmb250LXNpemU6IHZh +cigtLWZzLWJhc2UpOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIHRyYW5zaXRpb246IGJv +cmRlci1jb2xvciAwLjEycywgYmFja2dyb3VuZCAwLjEyczsKfQouYmstZGV0YWlsLWF1c2hpbGZl +LXplaWxlOmhvdmVyIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZmFyYmUtYWt6ZW50KTsKICAg +IGJhY2tncm91bmQ6IHZhcigtLWJnLWhvdmVyKTsKfQouYmstYXVzaGlsZmUtY2hrIHsgY3Vyc29y +OiBwb2ludGVyOyB9Ci5iay1hdXNoaWxmZS1jaGs6ZGlzYWJsZWQgeyBjdXJzb3I6IG5vdC1hbGxv +d2VkOyBvcGFjaXR5OiAwLjQ7IH0KLmJrLWRldGFpbC1hdXNoaWxmZS1tYWlsYnRuIHsKICAgIHdo +aXRlLXNwYWNlOiBub3dyYXA7Cn0KLmJrLWRldGFpbC1hdXNoaWxmZS1rZWlubWFpbCB7CiAgICBm +b250LXNpemU6IHZhcigtLWZzLXNtKTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBmb250LXN0 +eWxlOiBpdGFsaWM7Cn0KLmJrLWRldGFpbC1hdXNoaWxmZS1rZWluLW1haWwgeyBvcGFjaXR5OiAw +LjU1OyB9Ci5iay1kZXRhaWwtYXVzaGlsZmUtbmFtZSB7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9y +OiB2YXIoLS10ZXh0LWhlYWRpbmcpOyB9Ci5iay1kZXRhaWwtYXVzaGlsZmUtY29kZSB7CiAgICBm +b250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IHZhcigtLWZzLXNtKTsKICAgIGJhY2tn +cm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0KTsgcGFkZGluZzogMXB4IDZweDsKICAgIGJvcmRlci1y +YWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7IHRleHQtYWxpZ246IGNlbnRlcjsKfQouYmstZGV0YWls +LWF1c2hpbGZlLWdycCB7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgZm9udC1zaXplOiB2YXIo +LS1mcy1zbSk7IH0KLmJrLWRldGFpbC1hdXNoaWxmZS1rb21tIHsKICAgIGZvbnQtc3R5bGU6IGl0 +YWxpYzsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBmb250LXNpemU6IHZhcigtLWZzLXNtKTsK +ICAgIG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB3aGl0ZS1zcGFj +ZTogbm93cmFwOwp9Ci5iay1kZXRhaWwtYXVzaGlsZmUtbWFpbCB7IGNvbG9yOiB2YXIoLS1mYXJi +ZS1ha3plbnQpOyBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgfQpAbWVkaWEgKG1heC13aWR0aDog +OTAwcHgpIHsKICAgIC5iay1kZXRhaWwtYXVzaGlsZmUtemVpbGUgewogICAgICAgIGdyaWQtdGVt +cGxhdGUtY29sdW1uczogMWZyIDYwcHg7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczoKICAg +ICAgICAgICAgIm5hbWUgY29kZSIKICAgICAgICAgICAgImdycCBncnAiCiAgICAgICAgICAgICJr +b21tIGtvbW0iCiAgICAgICAgICAgICJtYWlsIG1haWwiOwogICAgfQogICAgLmJrLWRldGFpbC1h +dXNoaWxmZS1uYW1lIHsgZ3JpZC1hcmVhOiBuYW1lOyB9CiAgICAuYmstZGV0YWlsLWF1c2hpbGZl +LWNvZGUgeyBncmlkLWFyZWE6IGNvZGU7IH0KICAgIC5iay1kZXRhaWwtYXVzaGlsZmUtZ3JwICB7 +IGdyaWQtYXJlYTogZ3JwOyB9CiAgICAuYmstZGV0YWlsLWF1c2hpbGZlLWtvbW0geyBncmlkLWFy +ZWE6IGtvbW07IH0KICAgIC5iay1kZXRhaWwtYXVzaGlsZmUtbWFpbCB7IGdyaWQtYXJlYTogbWFp +bDsgfQp9Ci5iay1hbGxlLW9rIHsgcGFkZGluZzogMzJweDsgdGV4dC1hbGlnbjogY2VudGVyOyBi +YWNrZ3JvdW5kOiByZ2JhKDM5LDEzNywxMDksMC4wOCk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEo +MzksMTM3LDEwOSwwLjM1KTsgYm9yZGVyLXJhZGl1czogOHB4OyBjb2xvcjogdmFyKC0tZmFyYmUt +ZXJmb2xnKTsgZm9udC1zaXplOiAxNXB4OyBmb250LXdlaWdodDogNTAwOyB9CgovKiBEZWZpeml0 +LU1vZGFsICovCi5iay1tb2RhbC1wZXJzb24geyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRl +LWNvbHVtbnM6IDMwcHggMTgwcHggNzBweCAxZnIgYXV0bzsgZ2FwOiAxMHB4OyBhbGlnbi1pdGVt +czogY2VudGVyOyBwYWRkaW5nOiA4cHggMTBweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZh +cigtLWJvcmRlci1saWdodCk7IGZvbnQtc2l6ZTogdmFyKC0tZnMtbWQpOyB9Ci5iay1tb2RhbC1w +ZXJzb246bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH0KLmJrLW1vZGFsLW5hbWUg +eyBmb250LXdlaWdodDogNTAwOyBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsgfQouYmstbW9k +YWwtd2VydCB7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGZvbnQtc2l6ZTogdmFyKC0tZnMtc20p +OyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTsgcGFkZGluZzogMnB4IDZweDsgYm9yZGVy +LXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBib3Jk +ZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOyB9Ci5iay1tb2RhbC1rb21tIHsgZm9u +dC1zaXplOiB2YXIoLS1mcy1iYXNlKTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBmb250LXN0 +eWxlOiBpdGFsaWM7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB3 +aGl0ZS1zcGFjZTogbm93cmFwOyB9Ci5iay1tb2RhbC1rb21tOmVtcHR5OjpiZWZvcmUgeyBjb250 +ZW50OiAn4oCUIGtlaW4gS29tbWVudGFyIOKAlCc7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsg +b3BhY2l0eTogMC41OyB9Ci5iay1tb2RhbC1lbWFpbCB7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7 +IGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IH0KLmJr +LW1vZGFsLWVtYWlsLWZlaGx0IHsgY29sb3I6IHZhcigtLWZhcmJlLWZlaGxlcik7IGZvbnQtc3R5 +bGU6IGl0YWxpYzsgfQouYmstbW9kYWwta29wZiB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxh +dGUtY29sdW1uczogMzBweCAxODBweCA3MHB4IDFmciBhdXRvOyBnYXA6IDEwcHg7IHBhZGRpbmc6 +IDZweCAxMHB4OyBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgZm9udC13ZWlnaHQ6IDYwMDsgY29s +b3I6IHZhcigtLXRleHQtbXV0ZWQpOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXIt +c3BhY2luZzogMC41cHg7IGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1ib3JkZXItbGln +aHQpOyB9CgovKiA9PT09PSBTY2hpY2h0Y29kZS1MZWdlbmRlIGltIEluZm8tTW9kYWwgPT09PT0g +Ki8KLnNjLWxlZ2VuZGUtY29udGFpbmVyIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246 +IGNvbHVtbjsgZ2FwOiAxNHB4OyB9Ci5zYy1sZWdlbmRlLWdydXBwZSB7CiAgICBib3JkZXI6IDFw +eCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMt +bWQpOwogICAgcGFkZGluZzogMTBweCAxMnB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsK +fQouc2MtbGVnZW5kZS10aXRlbCB7CiAgICBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgZm9udC13 +ZWlnaHQ6IDcwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGxldHRlci1zcGFjaW5n +OiAwLjVweDsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBtYXJnaW4tYm90dG9tOiA4cHg7CiAg +ICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsgcGFkZGluZy1i +b3R0b206IDRweDsKfQouc2MtbGVnZW5kZS1ncmlkIHsKICAgIGRpc3BsYXk6IGdyaWQ7IGdyaWQt +dGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7CiAgICBnYXA6IDZweCAxMnB4Owp9Ci5z +Yy1sZWdlbmRlLXplbGxlIHsKICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7 +IGdhcDogOHB4OwogICAgcGFkZGluZzogNHB4IDZweDsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFk +aXVzLXhzKTsKfQouc2MtbGVnZW5kZS1mYXJiZmVsZCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxl +eDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB3aWR0 +aDogMzZweDsgaGVpZ2h0OiAyMHB4OyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHMpOwog +ICAgZm9udC1zaXplOiB2YXIoLS1mcy14cyk7IGZvbnQtd2VpZ2h0OiA3MDA7IGZsZXgtc2hyaW5r +OiAwOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpOwp9Ci5zYy1sZWdlbmRl +LXRleHQgeyBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgbGluZS1oZWlnaHQ6IDEuMjU7IH0KQG1l +ZGlhIChtYXgtd2lkdGg6IDcwMHB4KSB7CiAgICAuc2MtbGVnZW5kZS1ncmlkIHsgZ3JpZC10ZW1w +bGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfQp9CgovKiA9PT09PSBFeGNlbC1JbXBvcnQg +PT09PT0gKi8KLmltcC11cGxvYWQtYm94IHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQp +OyBib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsKICAgIGJvcmRlci1yYWRp +dXM6IDhweDsgcGFkZGluZzogMjJweCAyMHB4OyB0ZXh0LWFsaWduOiBsZWZ0OwogICAgZGlzcGxh +eTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxNHB4OyBmbGV4LXdyYXA6IHdyYXA7 +Cn0KLmltcC1zdGF0dXMta2FydGUgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJv +cmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7CiAgICBib3JkZXItcmFkaXVzOiA4 +cHg7IHBhZGRpbmc6IDE2cHggMThweDsgbWFyZ2luLXRvcDogMTJweDsKfQouaW1wLWtwaS16ZWls +ZSB7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTJweDsgZmxleC13cmFwOiB3cmFwOyBtYXJnaW46IDEy +cHggMDsgfQouaW1wLWtwaSB7IGZsZXg6IDE7IG1pbi13aWR0aDogMTQwcHg7IHBhZGRpbmc6IDEw +cHggMTRweDsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTsgYmFja2dyb3VuZDogdmFy +KC0tYmctcHJpbWFyeSk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7IH0K +LmltcC1rcGktemFobCB7IGZvbnQtc2l6ZTogMjBweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6 +IHZhcigtLXRleHQtaGVhZGluZyk7IGxpbmUtaGVpZ2h0OiAxLjE7IH0KLmltcC1rcGktbGFiZWwg +eyBmb250LXNpemU6IHZhcigtLWZzLXNtKTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBtYXJn +aW4tdG9wOiAycHg7IH0KLmltcC1rcGktd2FybiB7IGJvcmRlci1jb2xvcjogcmdiYSgyMDIsMTEx +LDMwLDAuNSk7IGJhY2tncm91bmQ6IHJnYmEoMjAyLDExMSwzMCwwLjA2KTsgfQouaW1wLWtwaS13 +YXJuIC5pbXAta3BpLXphaGwgeyBjb2xvcjogdmFyKC0tZmFyYmUtd2FybnVuZyk7IH0KLmltcC1r +cGktb2sgeyBib3JkZXItY29sb3I6IHJnYmEoMzksMTM3LDEwOSwwLjQpOyBiYWNrZ3JvdW5kOiBy +Z2JhKDM5LDEzNywxMDksMC4wNik7IH0KLmltcC1rcGktb2sgLmltcC1rcGktemFobCB7IGNvbG9y +OiB2YXIoLS1mYXJiZS1lcmZvbGcpOyB9Ci5pbXAta3BpLWZlaGxlciB7IGJvcmRlci1jb2xvcjog +cmdiYSgxNzYsNTgsNDYsMC41KTsgYmFja2dyb3VuZDogcmdiYSgxNzYsNTgsNDYsMC4wOCk7IH0K +LmltcC1rcGktZmVobGVyIC5pbXAta3BpLXphaGwgeyBjb2xvcjogdmFyKC0tZmFyYmUtZmVobGVy +KTsgfQoKLmltcC1tYXBwaW5nLWxpc3RlIHsKICAgIG1heC1oZWlnaHQ6IDM2MHB4OyBvdmVyZmxv +dy15OiBhdXRvOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsgYm9y +ZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTsgbWFyZ2luLXRvcDogMTBweDsKfQouaW1wLW1h +cHBpbmctemVpbGUgewogICAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAy +NHB4IDFmciAzMHB4IDFmcjsgZ2FwOiAxMHB4OyBhbGlnbi1pdGVtczogY2VudGVyOwogICAgcGFk +ZGluZzogOHB4IDEycHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGln +aHQpOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1tZCk7Cn0KLyogU3RhdHVzLUljb24gbGlua3Mg +dm9yIGRlciBRdWVsbGUuIEZhcmJlIHdpcmQgaW5saW5lIHBybyBaZWlsZSBnZXNldHp0CiAgIChD +bG9zdXJlLUhlbHBlciBzdGF0dXNJY29uSHRtbCBpbiBpbXBvcnRfZXhjZWwuanMpLCBkaWUgS2xh +c3NlIGhhZWx0CiAgIG51ciBkYXMgTGF5b3V0LiAqLwouaW1wLW1hcHBpbmctc3RhdHVzIHsgZGlz +cGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMjBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250 +LXdlaWdodDogNzAwOyB9Ci8qIEFnZ3JlZ2F0LVplaWxlIHVlYmVyIGRlbiBUYWItQnV0dG9ucyBp +bSBNYXBwaW5nLU1vZGFsOiBrb21wYWt0ZSBMaXZlLQogICBaYWVobGVyIG5hY2ggS2F0ZWdvcmll +LiBGYXJiZW4ga29tbWVuIGlubGluZSBhdXMgZGVtIEpTLiAqLwouaW1wLXN0YXR1cy1hZ2dyZWdh +dCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgZ2FwOiAxNHB4OyBmb250LXNpemU6IHZhcigt +LWZzLW1kKTsKICAgIG1hcmdpbjogMCAwIDEycHggMDsgcGFkZGluZzogNnB4IDEwcHg7CiAgICBi +YWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVy +LWxpZ2h0KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKfQouaW1wLXN0YXR1cy1h +Z2dyZWdhdDplbXB0eSB7IGRpc3BsYXk6IG5vbmU7IH0KLmltcC1tYXBwaW5nLXplaWxlOmxhc3Qt +Y2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9Ci5pbXAtbWFwcGluZy16ZWlsZS5pbXAtb2sg +eyBiYWNrZ3JvdW5kOiByZ2JhKDM5LDEzNywxMDksMC4wNSk7IH0KLmltcC1tYXBwaW5nLXplaWxl +LmltcC13YXJuIHsgYmFja2dyb3VuZDogcmdiYSgyMDIsMTExLDMwLDAuMDYpOyB9Ci8qIFBhcGll +cmtvcmItVHJlZmZlcjogd2VpY2hlciBLb25mbGlrdCBtaXQgRGVmYXVsdC1XaWVkZXJoZXJzdGVs +bGVuLVZvcnNjaGxhZy4KICAgVmlzdWVsbCB6d2lzY2hlbiAib2siIHVuZCAid2FybiIgLS0gZGVy +IFVzZXIgc29sbCBkaWUgU3RlbGxlIHBydWVmZW4sIGFiZXIKICAgbmljaHQgaW4gUGFuaWsgZ2Vy +YXRlbi4gKi8KLmltcC1tYXBwaW5nLXplaWxlLmltcC1wYXBpZXJrb3JiIHsgYmFja2dyb3VuZDog +cmdiYSgyMDIsMTExLDMwLDAuMTApOyB9Ci5pbXAtcGFwaWVya29yYi1oaW53ZWlzIHsKICAgIGZv +bnQtc2l6ZTogdmFyKC0tZnMtc20pOyBjb2xvcjogdmFyKC0tZmFyYmUtd2FybnVuZyk7IGxpbmUt +aGVpZ2h0OiAxLjQ7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIwMiwxMTEsMzAsMC4wOCk7IHBhZGRp +bmc6IDRweCA4cHg7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7Cn0KLyogIk5ldSBh +bmxlZ2VuIiDigJQga2VpbiBLb25mbGlrdCwgc29uZGVybiBha3RpdmUgU3RhbmRhcmQtQWt0aW9u +LiBTYW5mdGVzCiAgIEJsYXUsIGRhbWl0IGRpZSBaZWlsZSBhbHMgcG9zaXRpdmVyIERlZmF1bHQg +c2ljaHRiYXIgd2lyZC4gKi8KLmltcC1tYXBwaW5nLXplaWxlLmltcC1uZXUgeyBiYWNrZ3JvdW5k +OiByZ2JhKDQ4LDk5LDE2OCwwLjA2KTsgfQouaW1wLW5ldS1oaW53ZWlzIHsKICAgIGZvbnQtc2l6 +ZTogdmFyKC0tZnMtc20pOyBjb2xvcjogdmFyKC0tZmFyYmUtcHJpbWFlcik7IGxpbmUtaGVpZ2h0 +OiAxLjQ7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ4LDk5LDE2OCwwLjA4KTsgcGFkZGluZzogNHB4 +IDhweDsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKfQouaW1wLWtwaS1uZXUgeyBi +b3JkZXItY29sb3I6IHJnYmEoNDgsOTksMTY4LDAuNDUpOyBiYWNrZ3JvdW5kOiByZ2JhKDQ4LDk5 +LDE2OCwwLjA2KTsgfQouaW1wLWtwaS1uZXUgLmltcC1rcGktemFobCB7IGNvbG9yOiB2YXIoLS1m +YXJiZS1wcmltYWVyKTsgfQouaW1wLW1hcHBpbmctcXVlbGxlIHsgZm9udC13ZWlnaHQ6IDYwMDsg +fQouaW1wLW1hcHBpbmctYW56YWhsIHsgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7IGNvbG9yOiB2 +YXIoLS10ZXh0LW11dGVkKTsgbWFyZ2luLWxlZnQ6IDZweDsgfQouaW1wLXBmZWlsIHsgdGV4dC1h +bGlnbjogY2VudGVyOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IH0KLyogSW5saW5lLUZvcm0g +Ik5ldWVuIFNjaGljaHRjb2RlIGFubGVnZW4iIChQaGFzZSAxMC1DMykuIEtsYXBwdCB1bnRlcgog +ICBkZXIgamV3ZWlsaWdlbiBNYXBwaW5nLVplaWxlIGF1ZiDigJQga2VpbiBNb2RhbC1TdGFjay4g +U2FuZnRlciBCbGF1LVRvbgogICBwYXNzdCB6dXIgIm5ldSItU2VtYW50aWsgZGVzIE1hcHBpbmct +U3RhdHVzLiAqLwouaW1wLW5ldWVyLWNvZGUtZm9ybSB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ4 +LDk5LDE2OCwwLjA2KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSg0OCw5OSwxNjgsMC4yNSk7CiAg +ICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOyBwYWRkaW5nOiAxMHB4IDEycHg7IG1h +cmdpbjogMCAxMnB4IDZweCAzNnB4OwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNlKTsKfQou +aW1wLW5ldWVyLWNvZGUtZm9ybSBsYWJlbCB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9t +OiAycHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgfQouaW1wLW5ldWVyLWNvZGUtZm9ybSAu +Zm9ybS1pbnB1dCB7IHBhZGRpbmc6IDRweCA2cHg7IGZvbnQtc2l6ZTogdmFyKC0tZnMtYmFzZSk7 +IH0KCi8qIFByb2dyZXNzLU1vZGFsICovCi5pbXAtcHJvZ3Jlc3Mta29udGV4dCB7IGJhY2tncm91 +bmQ6IHZhcigtLWJnLWNhcmQpOyBwYWRkaW5nOiAyMHB4IDI0cHg7IGJvcmRlci1yYWRpdXM6IDhw +eDsgbWluLXdpZHRoOiA0NjBweDsgfQouaW1wLXByb2dyZXNzLWJhciB7IGhlaWdodDogMjJweDsg +YmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1 +cy1zbSk7IG92ZXJmbG93OiBoaWRkZW47IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1s +aWdodCk7IG1hcmdpbjogMTRweCAwIDZweCAwOyB9Ci5pbXAtcHJvZ3Jlc3MtZmlsbCB7CiAgICBo +ZWlnaHQ6IDEwMCU7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tZmFy +YmUtcHJpbWFlciksIHZhcigtLWZhcmJlLWVyZm9sZykpOwogICAgd2lkdGg6IDAlOyB0cmFuc2l0 +aW9uOiB3aWR0aCAwLjI1cyBlYXNlLW91dDsgYm9yZGVyLXJhZGl1czogaW5oZXJpdDsKfQouaW1w +LXByb2dyZXNzLXRleHQgeyBmb250LXNpemU6IHZhcigtLWZzLWJhc2UpOyBjb2xvcjogdmFyKC0t +dGV4dC1tdXRlZCk7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IG1pbi1oZWlnaHQ6IDE2cHg7IH0K +LmltcC1wcm9ncmVzcy1waGFzZSB7IGZvbnQtc2l6ZTogdmFyKC0tZnMtbGcpOyBmb250LXdlaWdo +dDogNjAwOyBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsgfQoKLyogPT09PT0gU2Nyb2xsYmFs +a2VuIChXaW5kb3dzL0Nocm9taXVtKSA9PT09PSAqLwovKiBLZWluZSBSYW5kcGZlaWxlLCBEYXVt +ZW4gdW5hdWZmYWVsbGlnIGdyYXUsIGJlaW0gSG92ZXIvRHJhZyBIZWFkZXItQmxhdSAqLwo6Oi13 +ZWJraXQtc2Nyb2xsYmFyIHsgd2lkdGg6IDEycHg7IGhlaWdodDogMTJweDsgfQo6Oi13ZWJraXQt +c2Nyb2xsYmFyLXRyYWNrIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH0KOjotd2Via2l0LXNj +cm9sbGJhci10aHVtYiB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjIpOwogICAg +Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTsKICAgIGJvcmRlcjogMnB4IHNvbGlkIHRy +YW5zcGFyZW50OwogICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsKICAgIHRyYW5zaXRp +b246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKfQo6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhv +dmVyLAo6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kOiB2 +YXIoLS1iZy1wcmltYXJ5KTsKICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7Cn0KOjot +d2Via2l0LXNjcm9sbGJhci1idXR0b24geyBkaXNwbGF5OiBub25lOyB3aWR0aDogMDsgaGVpZ2h0 +OiAwOyB9Cjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVyIHsgYmFja2dyb3VuZDogdHJhbnNwYXJl +bnQ7IH0KCi8qIEZpcmVmb3ggKi8KKiB7IHNjcm9sbGJhci1jb2xvcjogcmdiYSgwLCAwLCAwLCAw +LjIyKSB0cmFuc3BhcmVudDsgc2Nyb2xsYmFyLXdpZHRoOiB0aGluOyB9CgpbZGF0YS10aGVtZT0i +bmlnaHQiXSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsgYmFja2dyb3VuZDogcmdiYSgyNTUs +IDI1NSwgMjU1LCAwLjE4KTsgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgfQpbZGF0YS10 +aGVtZT0ibmlnaHQiXSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyLApbZGF0YS10aGVt +ZT0ibmlnaHQiXSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmFjdGl2ZSB7IGJhY2tncm91bmQ6 +IHZhcigtLWJnLXByaW1hcnkpOyBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94OyB9CltkYXRh +LXRoZW1lPSJuaWdodCJdICogeyBzY3JvbGxiYXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwg +MC4xOCkgdHJhbnNwYXJlbnQ7IH0KCi8qID09PT09IE1hbnVlbGxlIFNvcnRpZXJ1bmcgKERyYWcg +JiBEcm9wKSA9PT09PSAqLwoubXMtbGlzdGUgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlv +bjogY29sdW1uOyBnYXA6IDRweDsgbWF4LWhlaWdodDogNjB2aDsgb3ZlcmZsb3cteTogYXV0bzsg +cGFkZGluZzogNHB4OyB9Ci5tcy16ZWlsZSB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgLyogVVgt +QXVkaXQgU3ByaW50IDMuNjogKzIgc2NobWFsZSBTcGFsdGVuIGZ1ZXIg4payL+KWvC1QZmVpbC1C +dXR0b25zIChUYXN0YXR1ci1WYXJpYW50ZSkuICovCiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6 +IDI4cHggMzZweCAxZnIgYXV0byAyNnB4IDI2cHg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwog +ICAgZ2FwOiAxMHB4OwogICAgcGFkZGluZzogOHB4IDEwcHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIo +LS1iZy1tdXRlZCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOwog +ICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTsKICAgIGN1cnNvcjogZ3JhYjsKICAg +IHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xMnMsIGJveC1zaGFkb3cgMC4xMnM7Cn0KLm1zLXpl +aWxlOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpOyB9Ci5tcy16ZWlsZS5tcy1k +cmFnZ2luZyB7IG9wYWNpdHk6IDAuNDU7IGN1cnNvcjogZ3JhYmJpbmc7IGJveC1zaGFkb3c6IDAg +NHB4IDEycHggcmdiYSgwLDAsMCwwLjIpOyB9Ci5tcy1ncmlmZiB7IGZvbnQtc2l6ZTogMThweDsg +Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGN1cnNvcjogZ3Jh +YjsgdXNlci1zZWxlY3Q6IG5vbmU7IH0KLm1zLW5hbWUgeyBmb250LXdlaWdodDogNjAwOyB9Ci5t +cy1yYW5nIHsgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNlKTsgY29sb3I6IHZhcigtLXRleHQtbXV0 +ZWQpOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9Ci5tcy1wZmVpbCB7CiAgICB3aWR0aDogMjZweDsg +aGVpZ2h0OiAyNnB4OyBwYWRkaW5nOiAwOwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7 +CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3Ryb25nKTsKICAgIGJvcmRlci1y +YWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsK +ICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtYmFzZSk7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0 +cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLXN0ZCk7Cn0KLm1zLXBmZWlsOmhvdmVyLCAubXMt +cGZlaWw6Zm9jdXMtdmlzaWJsZSB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7CiAg +ICBib3JkZXItY29sb3I6IHZhcigtLWZhcmJlLWFremVudCk7CiAgICBvdXRsaW5lOiBub25lOwp9 +CgovKiA9PT09PSBSYW5nLUlubGluZS1FZGl0IGluIGRlciBQZXJzb25hbHZlcndhbHR1bmcgPT09 +PT0gKi8KLnJhbmctZWRpdCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwYWRkaW5n +OiAycHggOHB4OwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICAgIGN1cnNv +cjogcG9pbnRlcjsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xMnMsIGNvbG9yIDAuMTJz +Owp9Ci5yYW5nLWVkaXQ6aG92ZXIgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpOwog +ICAgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7CiAgICBvdXRsaW5lOiAxcHggZGFzaGVkIHZh +cigtLWJvcmRlci1saWdodCk7Cn0KLnJhbmctZWRpdC1pbnB1dCB7CiAgICB3aWR0aDogNjBweDsK +ICAgIHBhZGRpbmc6IDJweCA0cHg7CiAgICBmb250LXNpemU6IHZhcigtLWZzLW1kKTsKICAgIGZv +bnQtd2VpZ2h0OiA3MDA7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBib3JkZXI6IDFweCBz +b2xpZCB2YXIoLS1mYXJiZS1wcmltYWVyKTsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1 +cy1zbSk7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jb250ZW50KTsKICAgIGNvbG9yOiB2YXIo +LS10ZXh0LWhlYWRpbmcpOwp9CgovKiA9PT09PSBGdW5rdGlvbi1JbmxpbmUtRWRpdCBpbiBkZXIg +UGVyc29uYWx2ZXJ3YWx0dW5nID09PT09ICovCi5mdW5rdGlvbi1lZGl0IHsKICAgIGRpc3BsYXk6 +IGlubGluZS1ibG9jazsKICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICBib3JkZXItcmFkaXVzOiB2 +YXIoLS1yYWRpdXMtc20pOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgdHJhbnNpdGlvbjogYmFj +a2dyb3VuZCAwLjEycywgY29sb3IgMC4xMnM7Cn0KLmZ1bmt0aW9uLWVkaXQ6aG92ZXIgewogICAg +YmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpOwogICAgY29sb3I6IHZhcigtLXRleHQtaGVhZGlu +Zyk7CiAgICBvdXRsaW5lOiAxcHggZGFzaGVkIHZhcigtLWJvcmRlci1saWdodCk7Cn0KLmZ1bmt0 +aW9uLWVkaXQtaW5wdXQgewogICAgd2lkdGg6IDEwMCU7CiAgICBwYWRkaW5nOiAycHggNHB4Owog +ICAgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNlKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigt +LWZhcmJlLXByaW1hZXIpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICAg +IGJhY2tncm91bmQ6IHZhcigtLWJnLWNvbnRlbnQpOwogICAgY29sb3I6IHZhcigtLXRleHQtaGVh +ZGluZyk7Cn0KCi8qID09PT09IERpZW5zdGdyYWQtSW5saW5lLUVkaXQgPT09PT0gKi8KLmRpZW5z +dGdyYWQtZWRpdCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwYWRkaW5nOiAycHgg +OHB4OwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICAgIGN1cnNvcjogcG9p +bnRlcjsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xMnMsIGNvbG9yIDAuMTJzOwp9Ci5k +aWVuc3RncmFkLWVkaXQ6aG92ZXIgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpOwog +ICAgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7CiAgICBvdXRsaW5lOiAxcHggZGFzaGVkIHZh +cigtLWJvcmRlci1saWdodCk7Cn0KLmRpZW5zdGdyYWQtZWRpdC1pbnB1dCB7CiAgICB3aWR0aDog +NzBweDsKICAgIHBhZGRpbmc6IDJweCA0cHg7CiAgICBmb250LXNpemU6IHZhcigtLWZzLWJhc2Up +OwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZmFyYmUtcHJpbWFlcik7CiAgICBib3JkZXIt +cmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY29udGVu +dCk7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsKfQoKLyogPT09PT0gUGVyc29uYWwt +SW5saW5lLUVkaXQgKGFsbGUgVGV4dGZlbGRlciBwcm8gWmVpbGUpID09PT09ICovCi8qIEtvbnNp +c3RlbnQgenVtIHJhbmctL2RpZW5zdGdyYWQtL2Z1bmt0aW9uLWVkaXQtU3RpbC4gQmVpIGxlZXJl +bSBXZXJ0CiAgIHBlcm1hbmVudCBkZXplbnQgc2ljaHRiYXIgKFBsYWNlaG9sZGVyICsgbGVpY2h0 +ZXIgSGludGVyZ3J1bmQpLCBkYW1pdAogICBkZXIgVXNlciBlcmtlbm50OiBoaWVyIGthbm4gbWFu +IGtsaWNrZW4uICovCi5wZXJzb25hbC1pbmxpbmUgewogICAgZGlzcGxheTogaW5saW5lLWJsb2Nr +OwogICAgcGFkZGluZzogMnB4IDhweDsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1z +bSk7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTJz +LCBjb2xvciAwLjEycywgb3V0bGluZS1jb2xvciAwLjEyczsKICAgIG1pbi13aWR0aDogMjRweDsK +ICAgIG1pbi1oZWlnaHQ6IDE4cHg7Cn0KLnBlcnNvbmFsLWlubGluZTpob3ZlciB7CiAgICBiYWNr +Z3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsK +ICAgIG91dGxpbmU6IDFweCBkYXNoZWQgdmFyKC0tZmFyYmUtYWt6ZW50LCAjNGE5MGUyKTsKfQov +KiBMZWVyZSBJbmxpbmUtRmVsZGVyIGJla29tbWVuIGVpbmVuIGtsYXIgZXJrZW5uYmFyZW4gIkRy +b3AtWm9uZSItTG9vayDigJQKICAgZ2VwdW5rdGV0ZXIgUmFobWVuIG1pdCBBa3plbnQtRmFyYmUs +IGxlaWNodGVyIEhpbnRlcmdydW5kLVNjaGltbWVyLAogICBkYW1pdCBkZXIgS2xpY2stSG90c3Bv +dCBuaWNodCBtaXQgZWNodGVtIExlZXJzdGFuZCB2ZXJ3ZWNoc2VsdCB3aXJkLiAqLwoucGVyc29u +YWwtaW5saW5lLWxlZXIgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOwogICAg +b3V0bGluZTogMXB4IGRhc2hlZCB2YXIoLS1ib3JkZXItc3Ryb25nKTsKfQoucGVyc29uYWwtaW5s +aW5lLWxlZXI6aG92ZXIgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpOwogICAgb3V0 +bGluZTogMXB4IGRhc2hlZCB2YXIoLS1mYXJiZS1ha3plbnQpOwp9Ci5wZXJzb25hbC1pbmxpbmUt +cGxhY2Vob2xkZXIgewogICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgZm9udC1zaXplOiB2YXIo +LS1mcy1zbSk7CiAgICBjb2xvcjogdmFyKC0tZmFyYmUtYWt6ZW50KTsKICAgIG9wYWNpdHk6IDAu +OTsKICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDsKfQoKLyogZWxkZ2wtZWRpdDogZ2xlaWNoZXMg +SG92ZXItTXVzdGVyLCBkYW1pdCBkaWUgU3BhbHRlIHNpY2h0YmFyIGVkaXRpZXJiYXIgd2lya3Qu +ICovCi5lbGRnbC1lZGl0IHsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xMnMsIG91dGxp +bmUtY29sb3IgMC4xMnM7Cn0KLmVsZGdsLWVkaXQ6aG92ZXIgewogICAgYmFja2dyb3VuZDogdmFy +KC0tYmctaG92ZXIpOwogICAgb3V0bGluZTogMXB4IGRhc2hlZCB2YXIoLS1mYXJiZS1ha3plbnQs +ICM0YTkwZTIpOwp9CgovKiA9PT09PSBWSTMtREdMLVN0YXR1cy1CdXR0b24gKFBlcnNvbmFsdmVy +d2FsdHVuZykgPT09PT0KICAgUXVhZHJhdGlzY2hlciBTdGF0dXMtQnV0dG9uLCAyNngyNiBweC4g +R3J1ZW4gKyB3ZWlzc2VyIEhha2VuIGJlaQogICBRdWFsaWZpemllcnVuZywgcm90ICsgd2Vpc3Nl +ciBob3Jpem9udGFsZXIgQmFsa2VuIChWZXJrZWhyc3NjaGlsZAogICAiVmVyYm90IGRlciBFaW5m +YWhydCItT3B0aWspIGJlaSBuaWNodCBxdWFsaWZpemllcnQuICovCi52aTNkZ2wtYnRuIHsKICAg +IGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3Rp +ZnktY29udGVudDogY2VudGVyOwogICAgd2lkdGg6IDI2cHg7CiAgICBoZWlnaHQ6IDI2cHg7CiAg +ICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOwogICAgdmVydGljYWwtYWxpZ246IG1p +ZGRsZTsKICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAu +MTJzLCBib3gtc2hhZG93IDAuMTJzOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdi +YSgwLDAsMCwwLjE4KTsKfQouZWxkZ2wtZWRpdDpob3ZlciAudmkzZGdsLWJ0biwKLmFuc3ByZWNo +cGFydG5lci1lZGl0OmhvdmVyIC52aTNkZ2wtYnRuIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4w +OCk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLDAuMTgpLCAwIDAg +MCAycHggcmdiYSg3NCwxNDQsMjI2LDAuMzUpOwp9Ci52aTNkZ2wtYnRuLW9rIHsKICAgIGJhY2tn +cm91bmQ6IHZhcigtLWZhcmJlLWVyZm9sZywgIzI3ODk2RCk7Cn0KLnZpM2RnbC1idG4tb2s6OmJl +Zm9yZSB7CiAgICBjb250ZW50OiAn4pyTJzsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC13ZWln +aHQ6IDgwMDsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIGxpbmUtaGVpZ2h0OiAxOwp9Ci52aTNk +Z2wtYnRuLW5vIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWZhcmJlLWZlaGxlciwgI0IwM0EyRSk7 +CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnZpM2RnbC1idG4tbm86OmJlZm9yZSB7CiAgICBj +b250ZW50OiAnJzsKICAgIHdpZHRoOiA2MCU7CiAgICBoZWlnaHQ6IDVweDsKICAgIGJhY2tncm91 +bmQ6ICNmZmY7CiAgICBib3JkZXItcmFkaXVzOiAxcHg7CiAgICBib3gtc2hhZG93OiAwIDAgMCAx +cHggcmdiYSgwLDAsMCwwLjEyKTsKfQovKiAiQXVzIi1WYXJpYW50ZTogZ3JhdWVyIEhpbnRlcmdy +dW5kICsgd2Vpc3NlciBNaW51cy1CYWxrZW4uIFdpcmQgaW4KICAgZGVyIEFuc3ByZWNocGFydG5l +ci1TcGFsdGUgYWxzIG5ldXRyYWxlcyAibmljaHQgZ2VzZXR6dCIgZ2VudXR6dCDigJQKICAga2Vp +bmUgV2Fybi1PcHRpayB3aWUgLnZpM2RnbC1idG4tbm8sIHdlaWwgZGFzIEZsYWcgcmVpbiBvcHRp +b25hbCBpc3QuICovCi52aTNkZ2wtYnRuLW9mZiB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0 +LW11dGVkLCAjNmM3NTdkKTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoudmkzZGdsLWJ0bi1v +ZmY6OmJlZm9yZSB7CiAgICBjb250ZW50OiAnJzsKICAgIHdpZHRoOiA2MCU7CiAgICBoZWlnaHQ6 +IDVweDsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBib3JkZXItcmFkaXVzOiAxcHg7CiAgICBi +b3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLDAsMCwwLjEyKTsKfQoKLyogPT09PT0gUGVyc29u +LU1vZGFsOiBWSTMtREdMLVRvZ2dsZSA9PT09PSAqLwovKiBIb2VoZSBhbiBkaWUgYmVuYWNoYmFy +dGVuIGZvcm0taW5wdXQvc2VsZWN0IGFuZ2VwYXNzdCAoVXNlci1GZWVkYmFjawogICAyMDI2LTA1 +LTIzOiB3YXIgenUgd3VjaHRpZykuIFN0YXR1cy1RdWFkcmF0IDIyeDIyLCBQYWRkaW5nIGtvbXBh +a3QsCiAgIFN0YXR1cyArIEhpbnQgaW5saW5lIHN0YXR0IGdlc3RhcGVsdC4gKi8KLmRsZy1lbGRn +bC10b2dnbGUgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2Vu +dGVyOwogICAgZ2FwOiAxMHB4OwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDM2cHg7CiAg +ICBwYWRkaW5nOiAwIDEwcHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkLWFsdCk7CiAg +ICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOwogICAgYm9yZGVyLXJhZGl1 +czogdmFyKC0tcmFkaXVzLW1kKTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHRyYW5zaXRpb246 +IGJhY2tncm91bmQgMC4xNXMsIGJvcmRlci1jb2xvciAwLjE1czsKICAgIGZvbnQ6IGluaGVyaXQ7 +CiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsKICAgIHRleHQtYWxpZ246IGxlZnQ7Cn0K +LmRsZy1lbGRnbC10b2dnbGU6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7IH0K +LmRsZy1lbGRnbC10b2dnbGUgLnZpM2RnbC1idG4gewogICAgd2lkdGg6IDIycHg7CiAgICBoZWln +aHQ6IDIycHg7CiAgICBmbGV4LXNocmluazogMDsKfQouZGxnLWVsZGdsLXRvZ2dsZSAudmkzZGds +LWJ0bjo6YmVmb3JlIHsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtbGcpOwp9Ci5kbGctZWxkZ2wt +dG9nZ2xlLmFrdGl2IHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZmFyYmUtZXJmb2xnLCAjMjc4 +OTZEKTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMzksMTM3LDEwOSwwLjA4KTsKfQouZGxnLWVsZGds +LXRvZ2dsZS5ha3Rpdjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMzksMTM3LDEwOSwwLjE0KTsg +fQouZGxnLWVsZGdsLXRvZ2dsZS5pbmFrdGl2IHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZmFy +YmUtZmVobGVyLCAjQjAzQTJFKTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMTc2LDU4LDQ2LDAuMDYp +Owp9Ci5kbGctZWxkZ2wtdG9nZ2xlLmluYWt0aXY6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDE3 +Niw1OCw0NiwwLjEyKTsgfQouZGxnLWVsZGdsLXRleHQgewogICAgZGlzcGxheTogaW5saW5lLWZs +ZXg7CiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICBnYXA6IDhweDsKICAgIG1pbi13aWR0 +aDogMDsKICAgIGZsZXg6IDE7Cn0KLmRsZy1lbGRnbC1zdGF0dXMgewogICAgZm9udC1zaXplOiB2 +YXIoLS1mcy1tZCk7CiAgICBmb250LXdlaWdodDogNzAwOwp9Ci5kbGctZWxkZ2wtdG9nZ2xlLmFr +dGl2IC5kbGctZWxkZ2wtc3RhdHVzIHsgY29sb3I6IHZhcigtLWZhcmJlLWVyZm9sZywgIzI3ODk2 +RCk7IH0KLmRsZy1lbGRnbC10b2dnbGUuaW5ha3RpdiAuZGxnLWVsZGdsLXN0YXR1cyB7IGNvbG9y +OiB2YXIoLS1mYXJiZS1mZWhsZXIsICNCMDNBMkUpOyB9Ci5kbGctZWxkZ2wtaGludCB7CiAgICBm +b250LXNpemU6IHZhcigtLWZzLXNtKTsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKICAg +IGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwp9CgovKiA9PT09PSBQ +cm9maWxiaWxkZXIgKEF2YXRhcmUpID09PT09CiAgIFVuaWZvcm0tTG9vazogdmllcmVja2lnIG1p +dCBkZXplbnQgYWJnZXJ1bmRldGVuIEVja2VuIHN0YXR0IEtyZWlzLAogICBEZWZhdWx0LUhpbnRl +cmdydW5kIGFudGhyYXppdC1ncmF1LiBib3JkZXItcmFkaXVzIHdpcmQgaW0gSW5saW5lLQogICBT +dHlsZSBwcm8gR3JvZXNzZSBnZXNldHp0IChwcm9wb3J0aW9uYWwgfjE4JSkuICovCi52aTMtYXZh +dGFyIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsK +ICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZmxleC1zaHJpbms6IDA7CiAgICBjb2xv +cjogI2ZmZjsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMTsKICAgIHRl +eHQtYWxpZ246IGNlbnRlcjsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB1c2VyLXNlbGVjdDog +bm9uZTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDAsMCwwLDAuMTIpOwp9 +Ci52aTMtYXZhdGFyLWJpbGQgewogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgIGJhY2tn +cm91bmQtcG9zaXRpb246IGNlbnRlcjsKICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7 +Cn0KLnZpMy1hdmF0YXItaW5pdGlhbGVuIHsKICAgIHRleHQtc2hhZG93OiAwIDFweCAxcHggcmdi +YSgwLDAsMCwwLjI1KTsKfQoKLyogUGVyc29uYWwtVGFiZWxsZTogQXZhdGFyIGxpbmtzIG5lYmVu +IE5hbWVuICovCi5wZXJzb25hbC1uYW1lLXplbGxlIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4 +OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogOHB4Owp9Ci5wZXJzb25hbC1uYW1l +LXplbGxlIC5wZXJzb24tbmFtZS1saW5rIHsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB0ZXh0 +LW92ZXJmbG93OiBlbGxpcHNpczsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KCi8qIFBlcnNv +bi1Nb2RhbDogQXZhdGFyLUJsb2NrIGdhbnogb2JlbiAoVm9yc2NoYXUgKyBCdXR0b25zKSAqLwou +ZGxnLWF2YXRhci1ibG9jayB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNl +bnRlcjsKICAgIGdhcDogMTZweDsKICAgIHBhZGRpbmc6IDEycHggMTRweDsKICAgIG1hcmdpbi1i +b3R0b206IDE0cHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsKICAgIGJvcmRlcjog +MXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7CiAgICBib3JkZXItcmFkaXVzOiA4cHg7Cn0K +LmRsZy1hdmF0YXItdm9yc2NoYXUgLnZpMy1hdmF0YXIgewogICAgYm94LXNoYWRvdzogaW5zZXQg +MCAwIDAgMXB4IHJnYmEoMCwwLDAsMC4xNSksIDAgMXB4IDRweCByZ2JhKDAsMCwwLDAuMTUpOwp9 +Ci5kbGctYXZhdGFyLWFrdGlvbmVuIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVj +dGlvbjogY29sdW1uOwogICAgZ2FwOiA2cHg7CiAgICBmbGV4OiAxOwogICAgbWluLXdpZHRoOiAw +Owp9Ci5kbGctYXZhdGFyLW5hbWUgewogICAgZm9udC1zaXplOiAxNXB4OwogICAgZm9udC13ZWln +aHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOwp9Ci5kbGctYXZhdGFyLWhp +bndlaXMgewogICAgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNlKTsKICAgIGNvbG9yOiB2YXIoLS10 +ZXh0LW11dGVkKTsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKfQoKLyogPT09PT0gUGVyc29uLUhv +dmVyLVBvcG92ZXIgPT09PT0KICAgRWlnZW5lIC5wcHYtKiBLbGFzc2VuLCB3ZWlsIC5wcC0qIG1p +dCBkZW0gcGVyc29lbmxpY2hlbiBQbGFuCiAgIGtvbGxpZGllcnQgaGF0IChib3JkZXItcmlnaHQv +b3V0bGluZS1TdGlsZSB2b20gUGVycy1QbGFuIGhhYmVuCiAgIGRpZSBNaW5pLVRhZy1aZWxsZW4g +aW0gUG9wb3ZlciB1ZWJlcmxhZ2VydCkuICovCi52aTMtcGVyc29uLXBvcG92ZXIgewogICAgcG9z +aXRpb246IGZpeGVkOwogICAgei1pbmRleDogdmFyKC0tei1wb3BvdmVyLXBhZ2UpOwogICAgd2lk +dGg6IDI4MHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7CiAgICBib3JkZXI6IDFw +eCBzb2xpZCB2YXIoLS1ib3JkZXItc3Ryb25nKTsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJh +ZGl1cy1sZyk7CiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwwLDAsMC4yOCk7CiAg +ICBwYWRkaW5nOiAxNHB4OwogICAgcG9pbnRlci1ldmVudHM6IGF1dG87Cn0KLnZpMy1wZXJzb24t +cG9wb3Zlci52ZXJzdGVja3QgeyBkaXNwbGF5OiBub25lOyB9CgoucHB2LWtvcGYgewogICAgZGlz +cGxheTogZmxleDsgZ2FwOiAxMnB4OyBhbGlnbi1pdGVtczogY2VudGVyOwogICAgbWFyZ2luLWJv +dHRvbTogMTJweDsKICAgIHBhZGRpbmctYm90dG9tOiAxMnB4OwogICAgYm9yZGVyLWJvdHRvbTog +MXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7Cn0KLnBwdi1rb3BmLXRleHQgeyBmbGV4OiAx +OyBtaW4td2lkdGg6IDA7IH0KLnBwdi1uYW1lIHsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtbGcp +OyBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7CiAgICBs +aW5lLWhlaWdodDogMS4yNTsKICAgIG1hcmdpbi1ib3R0b206IDJweDsKfQoucHB2LW1ldGEgewog +ICAgZm9udC1zaXplOiAxMS41cHg7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7CiAgICBs +aW5lLWhlaWdodDogMS40NTsKfQoKLnBwdi10YWdlLXRpdGVsIHsKICAgIGZvbnQtc2l6ZTogMTAu +NXB4OwogICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwogICAgdGV4dC10cmFuc2Zvcm06IHVw +cGVyY2FzZTsKICAgIGxldHRlci1zcGFjaW5nOiAwLjZweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7 +CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7Cn0KLnBwdi10YWdlIHsKICAgIGRpc3BsYXk6IGdyaWQ7 +CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOwogICAgZ2FwOiA0cHgg +MTBweDsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOwp9Ci5wcHYtdGFnIHsKICAgIGRpc3Bs +YXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDE4cHggMWZyIGF1dG87CiAgICBn +YXA6IDZweDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBwYWRkaW5nOiAycHggNHB4Owog +ICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICAgIHRyYW5zaXRpb246IGJhY2tn +cm91bmQgMC4xMnM7Cn0KLnBwdi10YWctd2UgewogICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQp +Owp9Ci5wcHYtdGFnLWhldXRlIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoNzQsMTQ0LDIyNiwwLjEy +KTsKfQoucHB2LXRhZy1oZXV0ZSAucHB2LXRhZy13dCwKLnBwdi10YWctaGV1dGUgLnBwdi10YWct +ZGF0dW0gewogICAgY29sb3I6IHZhcigtLWZhcmJlLWFremVudCwgIzRhOTBlMik7CiAgICBmb250 +LXdlaWdodDogODAwOwp9Ci5wcHYtdGFnLXd0IHsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVk +KTsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAg +IHRleHQtYWxpZ246IGxlZnQ7Cn0KLnBwdi10YWctZGF0dW0gewogICAgY29sb3I6IHZhcigtLXRl +eHQtc2Vjb25kYXJ5KTsKICAgIGZvbnQtc2l6ZTogMTAuNXB4OwogICAgZm9udC12YXJpYW50LW51 +bWVyaWM6IHRhYnVsYXItbnVtczsKfQoucHB2LXRhZy1jb2RlIHsKICAgIHBhZGRpbmc6IDFweCA2 +cHg7CiAgICBtaW4td2lkdGg6IDQ4cHg7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMt +eHMpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGZv +bnQtc2l6ZTogMTAuNXB4OwogICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwogICAgYmFja2dy +b3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQt +b3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoucHB2LXRhZy1s +ZWVyIC5wcHYtdGFnLWNvZGUgewogICAgY29sb3I6IHZhcigtLWJvcmRlci1zdHJvbmcpOwogICAg +YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICBmb250LXdlaWdodDogNDAwOwp9CgovKiA9PT09 +PSBBZG1pbjogUmVjaHRlICYgU2ljaHRiYXJrZWl0IOKAlCBLYXJ0ZW4tTGF5b3V0ID09PT09ICov +Ci5yZWNodGUtdGFiLXN1YiB7CiAgICBtYXJnaW46IDRweCAwIDA7CiAgICBmb250LXNpemU6IHZh +cigtLWZzLWJhc2UpOwogICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwogICAgbGluZS1oZWln +aHQ6IDEuNDU7Cn0KCiNhZG1pbi10YWItc3VwZXJ1c2VyIC5hZG1pbi1zZWt0aW9uIHsKICAgIG1h +cmdpbi1ib3R0b206IDE4cHg7Cn0KI2FkbWluLXRhYi1zdXBlcnVzZXIgLmFkbWluLXNla3Rpb24t +dHJlbm5lciB7IGRpc3BsYXk6IG5vbmU7IH0KCi5yZWNodGUtY2FyZCB7CiAgICBiYWNrZ3JvdW5k +OiB2YXIoLS1iZy1jYXJkKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdo +dCk7CiAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgcGFkZGluZzogMTRweCAxOHB4IDE2cHg7 +CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9Ci8qIEVpbmhl +aXRsaWNoZXIsIHByb2Zlc3Npb25lbGxlciBMb29rOiBrZWluIGZhcmJpZ2VyIEFremVudC1TdHJl +aWZlbiB1bmQKICAga2VpbiBSb2xsZW4tRmFyYmNvZGUgbWVociDigJQgYWxsZSBSb2xsZW4tS2Fy +dGVuIG5ldXRyYWwsIEljb25zIGltCiAgIFN0YW5kYXJkLUJsYXUgKHNpZWhlIC5yZWNodGUtY2Fy +ZC1pY29uKS4gKi8KCi5yZWNodGUtY2FyZC1rb3BmIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBh +bGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vl +bjsKICAgIGdhcDogMTJweDsKICAgIG1hcmdpbjogMCAwIDEycHg7CiAgICBwYWRkaW5nLWJvdHRv +bTogMTJweDsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQp +Owp9Ci5yZWNodGUtY2FyZC10aXRlbCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRl +bXM6IGNlbnRlcjsKICAgIGdhcDogMTJweDsKICAgIG1pbi13aWR0aDogMDsKICAgIGZsZXg6IDE7 +Cn0KLnJlY2h0ZS1jYXJkLXRpdGVsIGgzIHsKICAgIG1hcmdpbjogMDsKICAgIGZvbnQtc2l6ZTog +MTZweDsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOwogICAgbGluZS1oZWlnaHQ6IDEu +MjsKfQoucmVjaHRlLWNhcmQtc3ViIHsKICAgIG1hcmdpbjogM3B4IDAgMDsKICAgIGZvbnQtc2l6 +ZTogdmFyKC0tZnMtYmFzZSk7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7CiAgICBsaW5l +LWhlaWdodDogMS40Owp9Ci5yZWNodGUtY2FyZC1pY29uIHsKICAgIGRpc3BsYXk6IGlubGluZS1m +bGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVy +OwogICAgd2lkdGg6IDM2cHg7IGhlaWdodDogMzZweDsKICAgIGJvcmRlci1yYWRpdXM6IDhweDsK +ICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpOwogICAgY29sb3I6ICNmZmY7CiAgICBm +b250LXNpemU6IDE4cHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgZmxleC1zaHJpbms6IDA7 +Cn0KLnJlY2h0ZS1ub3RmYWxsLWJveCB7CiAgICBtYXJnaW46IDAgMCAxMnB4OwogICAgYm9yZGVy +LWxlZnQtY29sb3I6IHZhcigtLWZhcmJlLXdhcm51bmcsICNjYTZmMWUpOwogICAgZm9udC1zaXpl +OiAxMi41cHg7Cn0KLnJlY2h0ZS1jYXJkLWZ1c3MgewogICAgZGlzcGxheTogZmxleDsKICAgIGFs +aWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDEycHg7CiAgICBmbGV4LXdyYXA6IHdyYXA7CiAg +ICBwYWRkaW5nLXRvcDogMTJweDsKICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICBib3JkZXItdG9w +OiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsKfQoucmVjaHRlLWRpcnR5LWhpbndlaXMg +ewogICAgY29sb3I6IHZhcigtLWZhcmJlLXdhcm51bmcsICNjYTZmMWUpOwogICAgZm9udC13ZWln +aHQ6IDYwMDsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtYmFzZSk7Cn0KLnJlY2h0ZS1rZWluLXJl +Y2h0IHsgbWFyZ2luLXRvcDogMTJweDsgfQoKLyogPT09PT0gSW1wcmVzc3Vtcy1Nb2RhbCA9PT09 +PSAqLwouaW1wcmVzc3VtLWluaGFsdCBoNCB7CiAgICBtYXJnaW46IDE0cHggMCA0cHg7CiAgICBm +b250LXNpemU6IDEzLjVweDsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOwogICAgdGV4 +dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDsKfQouaW1w +cmVzc3VtLWluaGFsdCBoNDpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH0KLmltcHJlc3N1 +bS1pbmhhbHQgcCB7CiAgICBtYXJnaW46IDAgMCA4cHg7CiAgICBmb250LXNpemU6IHZhcigtLWZz +LW1kKTsKfQouaW1wcmVzc3VtLWluaGFsdCB1bCB7CiAgICBtYXJnaW46IDRweCAwIDhweCAxOHB4 +OwogICAgcGFkZGluZzogMDsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtbWQpOwp9Ci5pbXByZXNz +dW0taW5oYWx0IGxpIHsgbWFyZ2luLWJvdHRvbTogM3B4OyB9CgovKiBOb3RmYWxsLVJ1ZWNrZmFs +bGViZW5lOiBpc3QgaGFydGNvZGllcnQgKGtlaW4gVXNlci1FZGl0KSwgZGFtaXQgZGVyCiAgIFN1 +cHBvcnRQZmFkIGltbWVyIGV4aXN0aWVydC4gVmlzdWVsbCBhbHMgV2Fybi1Cb3ggbWl0IGxpbmtl +bQogICBBa3plbnQtU3RyZWlmZW4gKyBNYWlsLUJ1dHRvbi4gKi8KLmltcHJlc3N1bS1ub3RmYWxs +IHsKICAgIG1hcmdpbi10b3A6IDE4cHg7CiAgICBwYWRkaW5nOiAxNHB4IDE2cHg7CiAgICBiYWNr +Z3JvdW5kOiByZ2JhKDIwMiwxMTEsMzAsMC4wOCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2Jh +KDIwMiwxMTEsMzAsMC4zNSk7CiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWZhcmJl +LXdhcm51bmcsICNjYTZmMWUpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTsK +fQouaW1wcmVzc3VtLW5vdGZhbGwtdGl0ZWwgewogICAgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNl +KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tZmFyYmUtd2FybnVuZywg +I2NhNmYxZSk7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgbGV0dGVyLXNwYWNp +bmc6IDAuNXB4OwogICAgbWFyZ2luLWJvdHRvbTogNnB4Owp9Ci5pbXByZXNzdW0tbm90ZmFsbC10 +ZXh0IHsKICAgIG1hcmdpbjogMCAwIDEycHg7CiAgICBmb250LXNpemU6IDEyLjVweDsKICAgIGxp +bmUtaGVpZ2h0OiAxLjU1OwogICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7Cn0KLmltcHJl +c3N1bS1ub3RmYWxsLXRleHQgY29kZSB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMDYp +OwogICAgcGFkZGluZzogMXB4IDVweDsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy14 +cyk7CiAgICBmb250LXNpemU6IDExLjVweDsKfQouaW1wcmVzc3VtLW1haWwtYnRuIHsKICAgIGRp +c3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogNnB4 +OwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9Ci5pbXByZXNzdW0tbWFpbC1idG46aG92ZXIg +eyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KCi8qIEJ1Zy1SZXBvcnQtQm94IChNb2RhbCBoaW50 +ZXIgZGVtIEhlYWRlci1CdXR0b24g4oCeQnVnUmVwb3J0Iikg4oCUIHJvdGUgVmFyaWFudGUKICAg +ZGVyIEltcHJlc3N1bS1Ob3RmYWxsLUJveC4gKi8KLmJ1Z3JlcG9ydC1ib3ggewogICAgcGFkZGlu +ZzogMTRweCAxNnB4OwogICAgYmFja2dyb3VuZDogcmdiYSgxNzYsNTgsNDYsMC4wOCk7CiAgICBi +b3JkZXI6IDFweCBzb2xpZCByZ2JhKDE3Niw1OCw0NiwwLjM1KTsKICAgIGJvcmRlci1sZWZ0OiA0 +cHggc29saWQgdmFyKC0tZmFyYmUtZmVobGVyLCAjQjAzQTJFKTsKICAgIGJvcmRlci1yYWRpdXM6 +IHZhcigtLXJhZGl1cy1tZCk7Cn0KLmJ1Z3JlcG9ydC1ib3gtdGl0ZWwgewogICAgZm9udC1zaXpl +OiB2YXIoLS1mcy1iYXNlKTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0t +ZmFyYmUtZmVobGVyLCAjQjAzQTJFKTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAg +ICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICBtYXJnaW4tYm90dG9tOiA2cHg7Cn0KLmJ1Z3Jl +cG9ydC1ib3gtdGV4dCB7CiAgICBtYXJnaW46IDAgMCAxMnB4OwogICAgZm9udC1zaXplOiAxMi41 +cHg7CiAgICBsaW5lLWhlaWdodDogMS41NTsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkp +Owp9Ci5idWdyZXBvcnQtbWFpbC1idG4gewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBh +bGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA2cHg7CiAgICB0ZXh0LWRlY29yYXRpb246IG5v +bmU7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1mYXJiZS1mZWhsZXIsICNCMDNBMkUpOwogICAgYm9y +ZGVyLWNvbG9yOiB2YXIoLS1mYXJiZS1mZWhsZXIsICNCMDNBMkUpOwogICAgY29sb3I6ICNmZmY7 +Cn0KLmJ1Z3JlcG9ydC1tYWlsLWJ0bjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmls +dGVyOiBicmlnaHRuZXNzKDEuMDgpOyB9CgovKiA9PT09PSBHZWJ1cnRzdGFnLU1vZGFsIChCdXR0 +b24tR3JpZCBmdWVyIFRhZyAvIE1vbmF0IC8gSmFocikgPT09PT0gKi8KLmdiLWFrdHVlbGwgewog +ICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOwogICAgcGFkZGluZzogMTBweCAxNHB4 +OwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTsKICAgIG1hcmdpbi1ib3R0b206 +IDE0cHg7CiAgICBmb250LXNpemU6IHZhcigtLWZzLWxnKTsKfQouZ2Itc2VrdGlvbiB7IG1hcmdp +bi1ib3R0b206IDE0cHg7IH0KLmdiLXNla3Rpb246bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206 +IDA7IH0KLmdiLXNla3Rpb24tdGl0ZWwgewogICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7IGNv +bG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxl +dHRlci1zcGFjaW5nOiAwLjZweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7IG1hcmdpbi1ib3R0b206 +IDZweDsKfQouZ2ItZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogNHB4OyB9Ci5nYi1ncmlkLXRh +ZyAgIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTsgfQouZ2ItZ3JpZC1t +b25hdCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7IH0KQG1lZGlhICht +YXgtd2lkdGg6IDY0MHB4KSB7CiAgICAuZ2ItZ3JpZC1tb25hdCB7IGdyaWQtdGVtcGxhdGUtY29s +dW1uczogcmVwZWF0KDQsIDFmcik7IH0KfQouZ2ItZ3JpZC1qYWhyICB7IGdyaWQtdGVtcGxhdGUt +Y29sdW1uczogcmVwZWF0KDgsIDFmcik7IH0KQG1lZGlhIChtYXgtd2lkdGg6IDcwMHB4KSB7CiAg +ICAuZ2ItZ3JpZC1qYWhyIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgMWZyKTsg +fQp9Ci5nYi1idG4gewogICAgcGFkZGluZzogNnB4IDRweDsKICAgIGZvbnQtc2l6ZTogdmFyKC0t +ZnMtbWQpOwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOwogICAgYm9yZGVyOiAx +cHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJh +ZGl1cy1zbSk7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmlt +YXJ5KTsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcywgYm9yZGVyLWNvbG9yIDAuMXMs +IHRyYW5zZm9ybSAwLjA4czsKfQouZ2ItYnRuOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IHZhcigt +LWJnLWhvdmVyKTsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZmFyYmUtYWt6ZW50LCAjNGE5MGUy +KTsKfQouZ2ItYnRuOmFjdGl2ZSB7IHRyYW5zZm9ybTogc2NhbGUoMC45NSk7IH0KLmdiLWJ0bi5h +a3RpdiB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1mYXJiZS1ha3plbnQsICM0YTkwZTIpOwogICAg +Ym9yZGVyLWNvbG9yOiB2YXIoLS1mYXJiZS1ha3plbnQsICM0YTkwZTIpOwogICAgY29sb3I6ICNm +ZmY7CiAgICBmb250LXdlaWdodDogNzAwOwp9CgovKiA9PT09PSBJbmZvLU1vZGFsOiBBYnNjaG5p +dHRlIG9obmUgZG9wcGVsdGUgRWlucsO8Y2t1bmcgPT09PT0KICAgS2VpbiBob3Jpem9udGFsZXMg +UGFkZGluZyBhbSBBYnNjaG5pdHRzLVdyYXBwZXIg4oCUIExpc3RlbiBydWVja2VuIG51ciB1bSBk +aWUKICAgZWlnZW5lIEJ1bGxldC1CcmVpdGUgZWluLCBibGVpYmVuIHNvIGltIFRleHRmbHVzcyB6 +dW0gaDMtVGl0ZWwuIERhcyBpc3QgZGVyCiAgIEtvbXByb21pc3M6IGRpZSBJbmZvLUthcnRlbiBv +YmVuIChTdXBwb3J0KSBzdGVoZW4gZXR3YXMgZWluZ2V6b2dlbiBkdXJjaAogICBpaHJlbiA0cHgt +Qm9yZGVyLCBkaWUgcmVzdGxpY2hlbiBBYnNjaG5pdHRlIHNpdHplbiBhbSBNb2RhbC1SYW5kLiAq +LwouaW5mby1hYnNjaG5pdHQgewogICAgcGFkZGluZzogMDsKICAgIG1hcmdpbi1ib3R0b206IDEy +cHg7Cn0KLmluZm8tYWJzY2huaXR0ID4gaDMgewogICAgbWFyZ2luOiAxNHB4IDAgOHB4IDA7CiAg +ICBmb250LXNpemU6IDE1cHg7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsKICAgIGJv +cmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOwogICAgcGFkZGluZy1i +b3R0b206IDRweDsKfQouaW5mby1hYnNjaG5pdHQgPiBoMzpmaXJzdC1jaGlsZCB7IG1hcmdpbi10 +b3A6IDA7IH0KLmluZm8tYWJzY2huaXR0IHVsLAouaW5mby1hYnNjaG5pdHQgb2wgewogICAgbWFy +Z2luOiAwIDAgMTBweCAwOwogICAgcGFkZGluZy1sZWZ0OiAyMHB4OwogICAgZm9udC1zaXplOiB2 +YXIoLS1mcy1tZCk7CiAgICBsaW5lLWhlaWdodDogMS43Owp9Ci5pbmZvLWFic2Nobml0dCB1bCBs +aSwKLmluZm8tYWJzY2huaXR0IG9sIGxpIHsgbWFyZ2luLWJvdHRvbTogNHB4OyB9Ci5pbmZvLWFi +c2Nobml0dCB1bCBsaTpsYXN0LWNoaWxkLAouaW5mby1hYnNjaG5pdHQgb2wgbGk6bGFzdC1jaGls +ZCB7IG1hcmdpbi1ib3R0b206IDA7IH0KLmluZm8tYWJzY2huaXR0IHAgeyBtYXJnaW46IDAgMCA4 +cHggMDsgZm9udC1zaXplOiB2YXIoLS1mcy1tZCk7IH0KLmluZm8tZnVzcyB7CiAgICBtYXJnaW4t +dG9wOiAxNnB4OwogICAgcGFkZGluZzogOHB4IDAgMCAwOwogICAgZm9udC1zaXplOiB2YXIoLS1m +cy1zbSk7CiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7CiAgICBib3JkZXItdG9wOiAxcHgg +c29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsKfQoKLyogPT09PT0gU3RhdGlzdGlrOiBJbmZvLUJ1 +dHRvbnMgKyBQcm9zYSA9PT09PSAqLwouc3RhdHMtaW5mby1idG4gewogICAgZGlzcGxheTogaW5s +aW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBj +ZW50ZXI7CiAgICB3aWR0aDogMThweDsKICAgIGhlaWdodDogMThweDsKICAgIG1hcmdpbi1sZWZ0 +OiA4cHg7CiAgICBwYWRkaW5nOiAwOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVy +LWxpZ2h0KTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJn +LWNhcmQtYWx0KTsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKICAgIGZvbnQtc2l6ZTog +dmFyKC0tZnMtc20pOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGZvbnQtc3R5bGU6IGl0YWxp +YzsKICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjsKICAgIGN1cnNvcjogcG9pbnRlcjsK +ICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIHRyYW5z +aXRpb246IGJhY2tncm91bmQgMC4xMnMsIGNvbG9yIDAuMTJzOwp9Ci5zdGF0cy1pbmZvLWJ0bjpo +b3ZlciB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1mYXJiZS1wcmltYWVyLCAjMkMzRTUwKTsKICAg +IGNvbG9yOiAjZmZmOwogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mYXJiZS1wcmltYWVyLCAjMkMz +RTUwKTsKfQoKLnN0YXRzLXByb3NhLWNvbnRhaW5lciB7CiAgICBwYWRkaW5nOiA4cHggMTJweCAx +MnB4OwogICAgbWF4LWhlaWdodDogNDgwcHg7CiAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgZGlz +cGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDhweDsKfQou +c3RhdHMtcHJvc2EtemVpbGUgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUt +Y29sdW1uczogMTgwcHggMWZyOwogICAgZ2FwOiAxMnB4OwogICAgcGFkZGluZzogOHB4IDEwcHg7 +CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOwogICAgYmFja2dyb3VuZDogdmFy +KC0tYmctY2FyZC1hbHQpOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1tZCk7CiAgICBsaW5lLWhl +aWdodDogMS41Owp9Ci5zdGF0cy1wcm9zYS16ZWlsZTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigt +LWJnLWhvdmVyKTsgfQouc3RhdHMtcHJvc2EtbmFtZSB7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9y +OiB2YXIoLS10ZXh0LWhlYWRpbmcpOyB9Ci5zdGF0cy1wcm9zYS10ZXh0IHsgY29sb3I6IHZhcigt +LXRleHQtcHJpbWFyeSk7IH0KCi8qIE1vZGFsLUluZm8tSW5oYWx0OiBzYXViZXJlcyBTdHlsaW5n +IGZ1ZXIgaDQvdWwgKi8KI21vZGFsLWtvZXJwZXIgaDQgeyBtYXJnaW46IDEycHggMCA2cHggMDsg +Zm9udC1zaXplOiB2YXIoLS1mcy1tZCk7IGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOyB9CiNt +b2RhbC1rb2VycGVyIGNvZGUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkLWFsdCk7IHBhZGRp +bmc6IDFweCA0cHg7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy14cyk7IGZvbnQtc2l6ZTog +dmFyKC0tZnMtYmFzZSk7IH0KLyogTGlzdGVuIGluIGFsbGVuIE1vZGFsLUtvZXJwZXJuOiBiZXd1 +c3N0IGZsYWNoZSBFaW5ydWVja3VuZywgZGFtaXQgQnVsbGV0cwogICBkaXJla3QgbmViZW4gZGVt +IFRleHRmbHVzcyBibGVpYmVuIHVuZCBuaWNodCB3ZWl0IHZvbSBsaW5rZW4gUmFuZCBhYnN0ZWhl +bi4gKi8KI21vZGFsLWtvZXJwZXIgdWwsCiNtb2RhbC1rb2VycGVyIG9sIHsKICAgIG1hcmdpbjog +NnB4IDAgMTBweCAwOwogICAgcGFkZGluZy1sZWZ0OiAyMHB4OwogICAgbGluZS1oZWlnaHQ6IDEu +NTsKfQojbW9kYWwta29lcnBlciBsaSB7IG1hcmdpbi1ib3R0b206IDNweDsgfQoKLyogPT09PT0g +TmV1aW1wb3J0LUJsb2NrIChQZXJzb25hbHZlcndhbHR1bmcpID09PT09CiAgIEVyc2NoZWludCB1 +ZWJlciBkZXIgUGVyc29uYWwtVGFiZWxsZSwgd2VubiBkZXIgRXhjZWwtSW1wb3J0IGdlcmFkZSBm +cmlzY2hlCiAgIFBlcnNvbmVuIGFuZ2VsZWd0IGhhdC4gU2FtbWVsdCBzaWUgenVtIE5hY2hwZmxl +Z2VuIHVuZCB2ZXJzY2h3aW5kZXQsIHNvYmFsZAogICBhbGxlIE1hcmtlciBlcmxlZGlndCBzaW5k +LiAqLwojcGVyc29uYWwtbmV1aW1wb3J0LWJsb2NrIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1n +cmFkaWVudCgxMzVkZWcsIHJnYmEoNDgsOTksMTY4LDAuMDYpLCByZ2JhKDQ4LDk5LDE2OCwwLjEw +KSk7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDQ4LDk5LDE2OCwwLjQwKTsKICAgIGJvcmRl +ci1sZWZ0OiA0cHggc29saWQgdmFyKC0tZmFyYmUtcHJpbWFlcik7CiAgICBib3JkZXItcmFkaXVz +OiA4cHg7CiAgICBwYWRkaW5nOiAxNHB4IDE4cHg7CiAgICBtYXJnaW46IDAgMCAxOHB4IDA7Cn0K +Lm5ldWltcG9ydC1rb3BmIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6 +IHNwYWNlLWJldHdlZW47CiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgIGdhcDogMTZw +eDsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KLm5ldWlt +cG9ydC1rb3BmIGgzIHsKICAgIG1hcmdpbjogMCAwIDRweCAwOwogICAgZm9udC1zaXplOiAxNXB4 +OwogICAgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7Cn0KLm5ldWltcG9ydC1rb3BmIHAgewog +ICAgbWFyZ2luOiAwOwogICAgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNlKTsKICAgIGNvbG9yOiB2 +YXIoLS10ZXh0LW11dGVkKTsKICAgIG1heC13aWR0aDogNjQwcHg7Cn0KLm5ldWltcG9ydC1saXN0 +ZSB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdh +cDogNnB4Owp9Ci5uZXVpbXBvcnQtemVpbGUgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQt +dGVtcGxhdGUtY29sdW1uczogbWlubWF4KDIyMHB4LCAyZnIpIG1pbm1heCgyODBweCwgMWZyKSBh +dXRvOwogICAgZ2FwOiAxMnB4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIHBhZGRpbmc6 +IDhweCAxMHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7CiAgICBib3JkZXI6IDFw +eCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFk +aXVzLW1kKTsKfQoubmV1aW1wb3J0LW5hbWUgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczog +Y2VudGVyOyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogNHB4OyB9Ci5uZXVpbXBvcnQtZGV0YWlsIHsK +ICAgIGZsZXgtYmFzaXM6IDEwMCU7CiAgICBtYXJnaW4tdG9wOiAycHg7CiAgICBmb250LXNpemU6 +IHZhcigtLWZzLXNtKTsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKfQoubmV1aW1wb3J0 +LWZlbGRlciB7IGRpc3BsYXk6IGZsZXg7IGdhcDogOHB4OyBmbGV4LXdyYXA6IHdyYXA7IH0KLm5l +dWltcG9ydC1ha3Rpb25lbiB7IGRpc3BsYXk6IGZsZXg7IGdhcDogNnB4OyB3aGl0ZS1zcGFjZTog +bm93cmFwOyB9CgpbZGF0YS10aGVtZT0ibmlnaHQiXSAjcGVyc29uYWwtbmV1aW1wb3J0LWJsb2Nr +IHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoOTYsMTYwLDI1 +NSwwLjEwKSwgcmdiYSg5NiwxNjAsMjU1LDAuMTYpKTsKICAgIGJvcmRlci1jb2xvcjogcmdiYSg5 +NiwxNjAsMjU1LDAuNDUpOwogICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoOTYsMTYwLDI1NSww +Ljg1KTsKfQoKLyogPT09PT0gSGlud2Vpcy1TeXN0ZW0gKEJhbm5lciBvYmVuICsgQmFkZ2UgYW0g +VXNlci1OYW1lICsgTW9kYWwtTGlzdGUpID09PT09ICovCgouaGlud2Vpcy1iYW5uZXIgewogICAg +ZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMnB4OwogICAgcGFkZGlu +ZzogOHB4IDE2cHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1mYXJiZS1mZWhsZXIpOyBjb2xvcjog +I2ZmZjsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMTgpOwogICAg +Zm9udC1zaXplOiB2YXIoLS1mcy1tZCk7CiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggdmFyKC0t +c2hhZG93LWxpZ2h0KTsKfQouaGlud2Vpcy1iYW5uZXIudmVyc3RlY2t0IHsgZGlzcGxheTogbm9u +ZTsgfQouaGlud2Vpcy1iYW5uZXItdGV4dCB7IGZsZXg6IDE7IGZvbnQtd2VpZ2h0OiA2MDA7IH0K +LmhpbndlaXMtYmFubmVyIC5idG4geyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9Ci5oaW53ZWlzLWJh +bm5lci1zY2hsaWVzc2VuIHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogI2Zm +ZjsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjQpOwogICAgd2lkdGg6IDI2 +cHg7IGhlaWdodDogMjZweDsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsKICAgIGZv +bnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDE7IGN1cnNvcjogcG9pbnRlcjsKICAgIGRpc3Bs +YXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNl +bnRlcjsKfQouaGlud2Vpcy1iYW5uZXItc2NobGllc3Nlbjpob3ZlciB7IGJhY2tncm91bmQ6IHJn +YmEoMjU1LDI1NSwyNTUsMC4xNSk7IH0KCi5iZW51dHplci13cmFwIHsKICAgIHBvc2l0aW9uOiBy +ZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBn +YXA6IDhweDsKfQojYmVudXR6ZXItYW56ZWlnZSB7IGN1cnNvcjogZGVmYXVsdDsgfQoubWVpbi1h +dmF0YXItYnRuIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4 +OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC8qIEZvcm0gZm9sZ3QgZGVtIGlubmVyZW4g +LnZpMy1hdmF0YXIgKGVja2lnIG1pdCBhYmdlcnVuZGV0ZW4gRWNrZW4pLiAqLwogICAgdHJhbnNp +dGlvbjogdHJhbnNmb3JtIDAuMTJzOwp9Ci5tZWluLWF2YXRhci1idG46aG92ZXIgeyB0cmFuc2Zv +cm06IHNjYWxlKDEuMDgpOyB9Ci5tZWluLWF2YXRhci1idG46aG92ZXIgLnZpMy1hdmF0YXIgewog +ICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMCwwLDAsMC4xMiksIDAgMCAwIDJw +eCByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7Cn0KLm1laW4tYXZhdGFyLWJ0bjpmb2N1cy12aXNpYmxl +IHsKICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1mYXJiZS1ha3plbnQsICM0YTkwZTIpOwog +ICAgb3V0bGluZS1vZmZzZXQ6IDJweDsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1t +ZCk7Cn0KLyogS2xpY2tiYXJlciBDdXJzb3IgbnVyIHdlbm4gZWluIEJhZGdlIGFuZ2V6ZWlndCB3 +aXJkICg9IEhpbndlaXNlIHZvcmhhbmRlbikgKi8KLmJlbnV0emVyLXdyYXA6aGFzKC5oaW53ZWlz +LWJhZGdlOm5vdCgudmVyc3RlY2t0KSkgI2JlbnV0emVyLWFuemVpZ2UgeyBjdXJzb3I6IHBvaW50 +ZXI7IH0KCi5oaW53ZWlzLWJhZGdlIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1p +dGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIG1pbi13aWR0aDogMjBw +eDsgaGVpZ2h0OiAyMHB4OyBwYWRkaW5nOiAwIDZweDsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigt +LXJhZGl1cy1sZyk7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1mYXJiZS1mZWhsZXIpOyBjb2xvcjog +I2ZmZjsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOyBmb250LXdlaWdodDogNzAwOyBsaW5l +LWhlaWdodDogMTsKICAgIGN1cnNvcjogcG9pbnRlcjsgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9u +ZTsgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggdmFyKC0tc2hh +ZG93LWxpZ2h0KTsKfQouaGlud2Vpcy1iYWRnZS52ZXJzdGVja3QgeyBkaXNwbGF5OiBub25lOyB9 +Ci5oaW53ZWlzLWJhZGdlOmhvdmVyIHsgZmlsdGVyOiBicmlnaHRuZXNzKDEuMSk7IH0KLmhpbndl +aXMtYmFkZ2U6Zm9jdXMgeyBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tdGFnLWZlaWVydGFnKTsg +b3V0bGluZS1vZmZzZXQ6IDJweDsgfQoKLmhpbndlaXMtbW9kYWwtdGFiZWxsZSB0ZCB7IHZlcnRp +Y2FsLWFsaWduOiB0b3A7IHBhZGRpbmc6IDhweCAxMHB4OyB9Ci5oaW53ZWlzLW1vZGFsLXRhYmVs +bGUgdHIgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsgfQou +aGlud2Vpcy1tb2RhbC10YWJlbGxlIHRyOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25l +OyB9CgovKiA9PT09PSBLYW5kaWRhdGVuLVBhbmVsIHBybyB1bnRlcmJlc2V0enRlIFNjaGljaHQg +KFRhZy1EZXRhaWwpID09PT09ICovCgouYmstZGV0YWlsLXNjaGljaHQta3JpdGlzY2ggewogICAg +Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWZhcmJlLWZlaGxlcikgaW5zZXQ7CiAgICBhbmlt +YXRpb246IGJrLXB1bHNlIDEuNnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KQGtleWZyYW1lcyBi +ay1wdWxzZSB7CiAgICAwJSwgMTAwJSB7IGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1mYXJi +ZS1mZWhsZXIpIGluc2V0OyB9CiAgICA1MCUgICAgICB7IGJveC1zaGFkb3c6IDAgMCAwIDNweCB2 +YXIoLS1mYXJiZS1mZWhsZXIpIGluc2V0OyB9Cn0KCi5iay1zY2hpY2h0LWthbmRpZGF0ZW4geyBt +YXJnaW4tdG9wOiAxMHB4OyBwYWRkaW5nLXRvcDogOHB4OyBib3JkZXItdG9wOiAxcHggZGFzaGVk +IHZhcigtLWJvcmRlci1saWdodCk7IH0KLmJrLWthbmRpZGF0ZW4tdG9nZ2xlIHsKICAgIGRpc3Bs +YXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsKICAgIHRyYW5z +aXRpb246IGJhY2tncm91bmQgMC4xMnMsIGJvcmRlci1jb2xvciAwLjEyczsKfQouYmsta2FuZGlk +YXRlbi10b2dnbGUgLmJrLWthbmQtcGZlaWwgewogICAgZm9udC1zaXplOiB2YXIoLS1mcy14cyk7 +IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTJzOwp9 +Ci5iay1rYW5kaWRhdGVuLXRvZ2dsZS5iay1rYW5kaWRhdGVuLXRvZ2dsZS1vZmZlbiB7CiAgICBi +YWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7CiAgICBib3JkZXItY29sb3I6IHZhcigtLWZhcmJl +LWFremVudCk7Cn0KLmJrLWthbmRpZGF0ZW4tdG9nZ2xlLmJrLWthbmRpZGF0ZW4tdG9nZ2xlLW9m +ZmVuIC5iay1rYW5kLXBmZWlsIHsgY29sb3I6IHZhcigtLWZhcmJlLWFremVudCk7IH0KLmJrLWth +bmRpZGF0ZW4tcGFuZWwgewogICAgbWFyZ2luLXRvcDogMTBweDsgcGFkZGluZzogMTBweCAxMnB4 +OwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1hbHQpOyBib3JkZXI6IDFweCBzb2xpZCB2 +YXIoLS1ib3JkZXItbGlnaHQpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpOwp9Ci5i +ay1rYW5kaWRhdGVuLXBhbmVsLnZlcnN0ZWNrdCB7IGRpc3BsYXk6IG5vbmU7IH0KLmJrLWthbmRp +ZGF0ZW4taGlud2VpcyB7CiAgICBmb250LXNpemU6IDExLjVweDsgY29sb3I6IHZhcigtLXRleHQt +bXV0ZWQpOyBmb250LXdlaWdodDogNjAwOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsg +bGV0dGVyLXNwYWNpbmc6IDAuNHB4OwogICAgbWFyZ2luOiAxMHB4IDAgNnB4Owp9Ci5iay1rYW5k +aWRhdGVuLWhpbndlaXM6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9Ci5iay1rYW5kaWRh +dGVuLWhpbndlaXMtdW1kaXMgeyBjb2xvcjogdmFyKC0tZmFyYmUtd2FybnVuZywgI2NhNmYxZSk7 +IH0KLmJrLWthbmRpZGF0ZW4td2FybnVuZyB7CiAgICBmb250LXNpemU6IDExLjVweDsKICAgIGJh +Y2tncm91bmQ6IHJnYmEoMjAyLDExMSwzMCwwLjEwKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJn +YmEoMjAyLDExMSwzMCwwLjM1KTsKICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tZmFy +YmUtd2FybnVuZywgI2NhNmYxZSk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHMp +OwogICAgcGFkZGluZzogNnB4IDhweDsKICAgIG1hcmdpbi1ib3R0b206IDZweDsKICAgIGNvbG9y +OiB2YXIoLS10ZXh0LXByaW1hcnkpOwogICAgbGluZS1oZWlnaHQ6IDEuNDsKfQouYmsta2FuZGlk +YXRlbi1sZWVyIHsgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNlKTsgY29sb3I6IHZhcigtLXRleHQt +bXV0ZWQpOyBwYWRkaW5nOiA2cHggMDsgZm9udC1zdHlsZTogaXRhbGljOyB9Ci5iay1rYW5kaWRh +dGVuLWxpc3RlIHsgbGlzdC1zdHlsZTogbm9uZTsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9Ci5i +ay1rYW5kaWRhdGVuLXplaWxlIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRl +LWNvbHVtbnM6IDIycHggMWZyIGF1dG87CiAgICBnYXA6IDEwcHg7CiAgICBwYWRkaW5nOiA2cHgg +OHB4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNh +cmQpOwogICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItcmFkaXVz +OiB2YXIoLS1yYWRpdXMtc20pOwogICAgbWFyZ2luLWJvdHRvbTogM3B4OwogICAgdHJhbnNpdGlv +bjogYm9yZGVyLWNvbG9yIDAuMTJzLCBiYWNrZ3JvdW5kIDAuMTJzOwogICAgbWluLXdpZHRoOiAw +Owp9Ci5iay1rYW5kaWRhdGVuLXplaWxlOmhvdmVyIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0t +ZmFyYmUtYWt6ZW50KTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWhvdmVyKTsKfQouYmsta2Fu +ZGlkYXRlbi16ZWlsZTpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfQouYmsta2FuZGlk +YXRlbi16ZWlsZS11bWRpcyB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIwMiwxMTEsMzAsMC4wNik7 +CiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHJnYmEoMjAyLDExMSwzMCwwLjU1KTsKfQouYmst +a2FuZGlkYXRlbi16ZWlsZS11bWRpczpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIwMiwx +MTEsMzAsMC4xMik7CiAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyMDIsMTExLDMwLDAuODUp +Owp9Ci5iay1rYW5kaWRhdGVuLXRleHQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjog +Y29sdW1uOyBnYXA6IDJweDsgbWluLXdpZHRoOiAwOyB9Ci5iay1rYW5kaWRhdGVuLW5hbWUgewog +ICAgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IGZvbnQtc2l6 +ZTogMTIuNXB4OwogICAgbGluZS1oZWlnaHQ6IDEuMjU7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxl +eDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFw +OyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKfQouYmsta2FuZGlk +YXRlbi1tZXRhIHsKICAgIGZvbnQtc2l6ZTogMTAuNXB4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRl +ZCk7IGxpbmUtaGVpZ2h0OiAxLjI7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdzog +aGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKfQouYmsta2FuZGlkYXRlbi13YXJuIHsg +Y29sb3I6IHZhcigtLWZhcmJlLXdhcm51bmcsICNjYTZmMWUpOyBmb250LXNpemU6IHZhcigtLWZz +LXNtKTsgfQouYmsta2FuZGlkYXRlbi1jb2RlIHsKICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7 +IGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZC1h +bHQpOyBwYWRkaW5nOiAycHggN3B4OwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNt +KTsgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZh +cigtLWJvcmRlci1saWdodCk7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Ci5iay1rYW5kaWRh +dGVuLWtlaW4tbWFpbCB7IG9wYWNpdHk6IDAuNTU7IH0KLmJrLWthbmRpZGF0ZW4ta2Vpbi1tYWls +IC5iay1rYW5kaWRhdGVuLWNoayB7IGN1cnNvcjogbm90LWFsbG93ZWQ7IH0KLmJrLWthbmRpZGF0 +ZW4tYWt0aW9uZW4gewogICAgbWFyZ2luLXRvcDogMTBweDsgcGFkZGluZy10b3A6IDhweDsKICAg +IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOwogICAgZGlzcGxheTog +ZmxleDsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKfQoKLyogPT09PT09PT09PSBFcnNjaGVp +bnVuZ3NiaWxkLUVkaXRvciA9PT09PT09PT09ICovCi8qIFR3by1Db2x1bW4tTGF5b3V0OgogICDi +lIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDi +lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi +lIDilIDilIDilIDilJAKICAg4pSCIFZvcnNjaGF1ICAgIOKUgiBUYWItQmFyICAgICAgICAgICAg +ICAgICAgIOKUggogICDilIIgKHN0aWNreSkgICAg4pSCIEVkaXRvciAoYWt0aXZlciBUeXApICAg +ICAg4pSCCiAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKU +gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU +gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmAogICBTdGlja3kgRm9vdGVyIG1pdCBTcGVpY2hlcm4g +KyBSZXNldC4KKi8KLmVyc2NoZWludW5nLWxheW91dCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAg +Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMjQwcHgsIDMwMHB4KSAxZnI7CiAgICBnYXA6 +IDE2cHg7CiAgICBhbGlnbi1pdGVtczogc3RhcnQ7CiAgICBtYXJnaW4tYm90dG9tOiA3MnB4OyAg +LyogUGxhdHogZnVlciBzdGlja3kgRm9vdGVyICovCn0KQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBw +eCkgewogICAgLmVyc2NoZWludW5nLWxheW91dCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZy +OyB9Cn0KCi8qIC0tLS0gVm9yc2NoYXUtUGFuZWwgKGxpbmtzLCBzdGlja3kpIC0tLS0gKi8KLmVy +c2NoZWludW5nLXZvcnNjaGF1LXBhbmVsIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQp +OwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsKICAgIGJvcmRlci1y +YWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7CiAgICBwYWRkaW5nOiAxMnB4OwogICAgcG9zaXRpb246 +IHN0aWNreTsKICAgIHRvcDogMTBweDsKfQouZXJzY2hlaW51bmctdm9yc2NoYXUtdGl0ZWwgewog +ICAgZm9udC1zaXplOiAxMC41cHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgbWFyZ2luLWJv +dHRvbTogOHB4OwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6 +IDAuNnB4OyBmb250LXdlaWdodDogNjAwOwp9Ci5lcnNjaGVpbnVuZy12b3JzY2hhdS1zdGFjayB7 +CiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDZweDsKfQou +ZXJzY2hlaW51bmctdm9yc2NoYXUtemVpbGUgewogICAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1w +bGF0ZS1jb2x1bW5zOiA4NHB4IDFmcjsKICAgIGdhcDogMTBweDsgYWxpZ24taXRlbXM6IGNlbnRl +cjsKICAgIHBhZGRpbmc6IDZweCA4cHg7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7 +CiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGN1cnNvcjogcG9pbnRlcjsg +dHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cywgYm9yZGVyLWNvbG9yIDAuMTVzOwp9Ci5lcnNj +aGVpbnVuZy12b3JzY2hhdS16ZWlsZTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1o +b3Zlcik7Cn0KLmVyc2NoZWludW5nLXZvcnNjaGF1LXplaWxlLmFrdGl2IHsKICAgIGJhY2tncm91 +bmQ6IHZhcigtLWJnLWhvdmVyKTsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZmFyYmUtYWt6ZW50 +LCAjNGE5MGUyKTsKfQouZXJzY2hlaW51bmctdm9yc2NoYXUtY2VsbHMgewogICAgZGlzcGxheTog +ZmxleDsgZ2FwOiAycHg7Cn0KLmVyc2NoZWludW5nLXZvcnNjaGF1LXplbGxlIHsKICAgIGZsZXg6 +IDE7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0KTsKICAgIGJvcmRlci1yYWRpdXM6IHZh +cigtLXJhZGl1cy14cyk7IHBhZGRpbmc6IDRweCAzcHg7IHRleHQtYWxpZ246IGNlbnRlcjsKICAg +IGZvbnQtc2l6ZTogMTEuNXB4OyBmb250LXdlaWdodDogNjAwOyBtaW4taGVpZ2h0OiAyOHB4Owog +ICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBj +ZW50ZXI7Cn0KLmVyc2NoZWludW5nLXZvcnNjaGF1LWZsYXNoIHsKICAgIGJhY2tncm91bmQ6IHZh +cigtLWZhcmJlLWZydWVoLCAjQjcxQzFDKSAhaW1wb3J0YW50OwogICAgY29sb3I6ICNmZmY7CiAg +ICBtaW4td2lkdGg6IDgwcHg7Cn0KLmVyc2NoZWludW5nLXZvcnNjaGF1LW1ldGEgewogICAgZGlz +cGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAycHg7IG1pbi13aWR0aDog +MDsKfQouZXJzY2hlaW51bmctdm9yc2NoYXUtdHlwIHsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMt +YmFzZSk7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcpOwogICAg +d2hpdGUtc3BhY2U6IG5vd3JhcDsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxs +aXBzaXM7Cn0KLmVyc2NoZWludW5nLXZvcnNjaGF1LW5vdGl6IHsKICAgIGZvbnQtc2l6ZTogdmFy +KC0tZnMteHMpOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7Cn0KLmVyc2NoZWludW5nLXZvcnNj +aGF1LWhpbndlaXMgewogICAgbWFyZ2luLXRvcDogMTBweDsgcGFkZGluZy10b3A6IDEwcHg7CiAg +ICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsKICAgIGZvbnQtc2l6 +ZTogdmFyKC0tZnMteHMpOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGZvbnQtc3R5bGU6IGl0 +YWxpYzsKfQouYnRuLW1pbmkgewogICAgcGFkZGluZzogM3B4IDhweDsgZm9udC1zaXplOiB2YXIo +LS1mcy1zbSk7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkLWFsdCk7CiAgICBib3JkZXI6 +IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0t +cmFkaXVzLXNtKTsgY3Vyc29yOiBwb2ludGVyOwogICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFy +eSk7Cn0KLmJ0bi1taW5pOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpOyB9Cgov +KiBWb3JzY2hhdS1aZWxsZW4gZXJiZW4gZGllIGZlcnRpZ2VuIE1hcmtpZXJ1bmdzLVZhcmlhYmxl +bjogKi8KLmVyc2NoZWludW5nLXZvcnNjaGF1LXplbGxlW2RhdGEtdm9yc2NoYXUta2V5PSJzb25k +ZXJ0YWdIaW53ZWlzIl0gewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWhpbi1iZywgdmFy +KC0tYmctY2FyZC1hbHQpKTsKICAgIGNvbG9yOiB2YXIoLS1taGluLXRleHQsIGluaGVyaXQpOwog +ICAgZm9udC13ZWlnaHQ6IHZhcigtLW1oaW4tZncsIDYwMCk7CiAgICBib3gtc2hhZG93OiB2YXIo +LS1taGluLXNoYWRvdywgbm9uZSk7CiAgICBhbmltYXRpb246IHZhcigtLW1oaW4tYW5pbSwgbm9u +ZSk7Cn0KLmVyc2NoZWludW5nLXZvcnNjaGF1LXplbGxlW2RhdGEtdm9yc2NoYXUta2V5PSJzb25k +ZXJ0YWdXYXJudW5nIl0gewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbXdhci1iZywgdmFy +KC0tYmctY2FyZC1hbHQpKTsKICAgIGNvbG9yOiB2YXIoLS1td2FyLXRleHQsIGluaGVyaXQpOwog +ICAgZm9udC13ZWlnaHQ6IHZhcigtLW13YXItZncsIDYwMCk7CiAgICBib3gtc2hhZG93OiB2YXIo +LS1td2FyLXNoYWRvdywgbm9uZSk7CiAgICBhbmltYXRpb246IHZhcigtLW13YXItYW5pbSwgbm9u +ZSk7Cn0KLmVyc2NoZWludW5nLXZvcnNjaGF1LXplbGxlW2RhdGEtdm9yc2NoYXUta2V5PSJmZWll +cnRhZ1dpY2h0aWciXSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZndpLWJnLCB2YXIo +LS1iZy1jYXJkLWFsdCkpOwogICAgY29sb3I6IHZhcigtLW1md2ktdGV4dCwgaW5oZXJpdCk7CiAg +ICBmb250LXdlaWdodDogdmFyKC0tbWZ3aS1mdywgNjAwKTsKICAgIGJveC1zaGFkb3c6IHZhcigt +LW1md2ktc2hhZG93LCBub25lKTsKICAgIGFuaW1hdGlvbjogdmFyKC0tbWZ3aS1hbmltLCBub25l +KTsKfQouZXJzY2hlaW51bmctdm9yc2NoYXUtemVsbGVbZGF0YS12b3JzY2hhdS1rZXk9ImZlcmll +biJdIHsKICAgIC8qIFZvcnNjaGF1IHplaWd0IGRpZSBTcGFsdGVuLVRvZW51bmcgYWxzIFplbGxo +aW50ZXJncnVuZCArIEJhbGtlbi1UZXh0ZmFyYmU7CiAgICAgICBGYWxsYmFja3MgPSBha3R1ZWxs +ZSBGZXJpZW4tRGVmYXVsdHMsIGRhbWl0IGF1Y2ggdW5rb25maWd1cmllcnQgZGVyCiAgICAgICB2 +ZXJ0cmF1dGUgTG9vayBlcnNjaGVpbnQuICovCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1t +ZmVyLXNwYWx0ZS1iZywgI0UwRjBFNCk7CiAgICBjb2xvcjogdmFyKC0tbWZlci10ZXh0LCAjMjU2 +MDI5KTsKICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZmVyLWZ3LCA3MDApOwogICAgYm94LXNoYWRv +dzogdmFyKC0tbWZlci1zaGFkb3csIG5vbmUpOwogICAgYW5pbWF0aW9uOiB2YXIoLS1tZmVyLWFu +aW0sIG5vbmUpOwp9Ci5lcnNjaGVpbnVuZy12b3JzY2hhdS16ZWxsZVtkYXRhLXZvcnNjaGF1LWtl +eT0iaGV1dGVTcGFsdGUiXSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1taGUtYmcsIHZh +cigtLWJnLWNhcmQtYWx0KSk7CiAgICBjb2xvcjogdmFyKC0tbWhlLXRleHQsIGluaGVyaXQpOwog +ICAgZm9udC13ZWlnaHQ6IHZhcigtLW1oZS1mdywgNjAwKTsKICAgIGJveC1zaGFkb3c6IHZhcigt +LW1oZS1zaGFkb3csIG5vbmUpOwogICAgYW5pbWF0aW9uOiB2YXIoLS1taGUtYW5pbSwgbm9uZSk7 +Cn0KCi8qIC0tLS0gRWRpdG9yLVNwYWx0ZSAocmVjaHRzKSAtLS0tICovCi5lcnNjaGVpbnVuZy1l +ZGl0b3Itc3BhbHRlIHsKICAgIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47 +IGdhcDogMTBweDsKICAgIG1pbi13aWR0aDogMDsKfQovKiBUYWItQmFyOiBLYXJ0ZW4tTG9vaywg +amUgTWFya2llcnVuZ3MtVHlwIGVpbiBCdXR0b24gbWl0IGVjaHRlciBMaXZlLQogICBWb3JzY2hh +dSAoRGF0dW0vV29jaGVudGFnLSBiencuIFNjaGljaHQtWmVsbGUpIHBsdXMgTGFiZWwgZGFydW50 +ZXIuCiAgIEFrdGl2ZSBLYXJ0ZSBtaXQgQWt6ZW50LUJvcmRlciArIGxlaWNodGVtIEdsb3cuICov +Ci5lcnNjaGVpbnVuZy10YWItYmFyIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBs +YXRlLWNvbHVtbnM6IHJlcGVhdCg2LCBtaW5tYXgoMCwgMWZyKSk7CiAgICBnYXA6IDhweDsKICAg +IHBhZGRpbmc6IDhweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOwogICAgYm9yZGVy +OiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigt +LXJhZGl1cy1sZyk7Cn0KQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7CiAgICAuZXJzY2hlaW51 +bmctdGFiLWJhciB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IH0KfQpA +bWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHsKICAgIC5lcnNjaGVpbnVuZy10YWItYmFyIHsgZ3Jp +ZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfQp9Ci5lcnNjaGVpbnVuZy10YWIg +ewogICAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGFsaWduLWl0 +ZW1zOiBzdHJldGNoOyBnYXA6IDZweDsKICAgIHBhZGRpbmc6IDhweDsKICAgIGJhY2tncm91bmQ6 +IHZhcigtLWJnLWNhcmQtYWx0KTsKICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50Owog +ICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgdGV4dC1hbGln +bjogY2VudGVyOwogICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7CiAgICB0cmFuc2l0aW9u +OiBiYWNrZ3JvdW5kIDAuMTVzLCBib3JkZXItY29sb3IgMC4xNXMsIHRyYW5zZm9ybSAwLjE1cywg +Ym94LXNoYWRvdyAwLjE1czsKfQouZXJzY2hlaW51bmctdGFiOmhvdmVyIHsKICAgIGJhY2tncm91 +bmQ6IHZhcigtLWJnLWhvdmVyKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsKfQou +ZXJzY2hlaW51bmctdGFiLmFrdGl2IHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWhvdmVyKTsK +ICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZmFyYmUtYWt6ZW50LCAjNGE5MGUyKTsKICAgIGJveC1z +aGFkb3c6IDAgMnB4IDEwcHggcmdiYSg3NCwxNDQsMjI2LDAuMjUpOwp9Ci5lcnNjaGVpbnVuZy10 +YWIuYWt0aXYgLmVyc2NoZWludW5nLXRhYi1sYWJlbC10b3AgewogICAgY29sb3I6IHZhcigtLXRl +eHQtaGVhZGluZyk7CiAgICBmb250LXdlaWdodDogNzAwOwp9CgovKiBDaGlwOiBiaWxkZXQgZGFz +IHRhdHNhZWNobGljaGUgRXJzY2hlaW51bmdzYmlsZCBkZXIgTWFya2llcnVuZyBhYi4KICAgRGF0 +dW0gKyBXb2NoZW50YWcgd2llIGltIFBsYW50YWZlbC1Lb3BmIGdlc3RhcGVsdDsgU3luYy1GbGFz +aCB6ZWlndAogICBzdGF0dGRlc3NlbiBkZW4gU2NoaWNodGNvZGUtVGV4dC4gKi8KLmVyc2NoZWlu +dW5nLXRhYi1jaGlwIHsKICAgIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47 +CiAgICBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGdh +cDogMXB4OwogICAgbWluLWhlaWdodDogNDRweDsKICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAg +IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOwogICAgcGFkZGluZzogNnB4IDRweDsKICAgIGZv +bnQtd2VpZ2h0OiA3MDA7Cn0KLmVyc2NoZWludW5nLXRhYi1jaGlwLXRhZyB7CiAgICBmb250LXNp +emU6IHZhcigtLWZzLWxnKTsgbGluZS1oZWlnaHQ6IDEuMTsKfQouZXJzY2hlaW51bmctdGFiLWNo +aXAtd3QgewogICAgZm9udC1zaXplOiAxMC41cHg7IG9wYWNpdHk6IDAuODU7Cn0KLmVyc2NoZWlu +dW5nLXRhYi1jaGlwLXRleHQgewogICAgZm9udC1zaXplOiB2YXIoLS1mcy1tZCk7IGxldHRlci1z +cGFjaW5nOiAwLjVweDsKfQoKLmVyc2NoZWludW5nLXRhYi1jaGlwW2RhdGEtdm9yc2NoYXUta2V5 +PSJzb25kZXJ0YWdIaW53ZWlzIl0gewogICAgYmFja2dyb3VuZDogdmFyKC0tbWhpbi1iZywgdmFy +KC0tYmctY2FyZCkpOwogICAgY29sb3I6IHZhcigtLW1oaW4tdGV4dCwgaW5oZXJpdCk7CiAgICBi +b3gtc2hhZG93OiB2YXIoLS1taGluLXNoYWRvdywgbm9uZSk7CiAgICBhbmltYXRpb246IHZhcigt +LW1oaW4tYW5pbSwgbm9uZSk7Cn0KLmVyc2NoZWludW5nLXRhYi1jaGlwW2RhdGEtdm9yc2NoYXUt +a2V5PSJzb25kZXJ0YWdXYXJudW5nIl0gewogICAgYmFja2dyb3VuZDogdmFyKC0tbXdhci1iZywg +dmFyKC0tYmctY2FyZCkpOwogICAgY29sb3I6IHZhcigtLW13YXItdGV4dCwgaW5oZXJpdCk7CiAg +ICBib3gtc2hhZG93OiB2YXIoLS1td2FyLXNoYWRvdywgbm9uZSk7CiAgICBhbmltYXRpb246IHZh +cigtLW13YXItYW5pbSwgbm9uZSk7Cn0KLmVyc2NoZWludW5nLXRhYi1jaGlwW2RhdGEtdm9yc2No +YXUta2V5PSJmZWllcnRhZ1dpY2h0aWciXSB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tZndpLWJn +LCB2YXIoLS1iZy1jYXJkKSk7CiAgICBjb2xvcjogdmFyKC0tbWZ3aS10ZXh0LCBpbmhlcml0KTsK +ICAgIGJveC1zaGFkb3c6IHZhcigtLW1md2ktc2hhZG93LCBub25lKTsKICAgIGFuaW1hdGlvbjog +dmFyKC0tbWZ3aS1hbmltLCBub25lKTsKfQouZXJzY2hlaW51bmctdGFiLWNoaXBbZGF0YS12b3Jz +Y2hhdS1rZXk9ImZlcmllbiJdIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLW1mZXItc3BhbHRlLWJn +LCAjRTBGMEU0KTsKICAgIGNvbG9yOiB2YXIoLS1tZmVyLXRleHQsICMyNTYwMjkpOwogICAgYm94 +LXNoYWRvdzogdmFyKC0tbWZlci1zaGFkb3csIG5vbmUpOwogICAgYW5pbWF0aW9uOiB2YXIoLS1t +ZmVyLWFuaW0sIG5vbmUpOwp9Ci5lcnNjaGVpbnVuZy10YWItY2hpcFtkYXRhLXZvcnNjaGF1LWtl +eT0iaGV1dGVTcGFsdGUiXSB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1taGUtYmcsIHZhcigtLWJn +LWNhcmQpKTsKICAgIGNvbG9yOiB2YXIoLS1taGUtdGV4dCwgaW5oZXJpdCk7CiAgICBib3gtc2hh +ZG93OiB2YXIoLS1taGUtc2hhZG93LCBub25lKTsKICAgIGFuaW1hdGlvbjogdmFyKC0tbWhlLWFu +aW0sIG5vbmUpOwp9Ci5lcnNjaGVpbnVuZy10YWItY2hpcFtkYXRhLXZvcnNjaGF1LWtleT0ic3lu +Y0ZsYXNoIl0gewogICAgYmFja2dyb3VuZDogdmFyKC0tZmFyYmUtZnJ1ZWgsICNCNzFDMUMpOwog +ICAgY29sb3I6ICNmZmY7Cn0KCi5lcnNjaGVpbnVuZy10YWItbGFiZWwgewogICAgZGlzcGxheTog +ZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxcHg7CiAgICBsaW5lLWhlaWdodDog +MS4yOwp9Ci5lcnNjaGVpbnVuZy10YWItbGFiZWwtdG9wIHsKICAgIGZvbnQtc2l6ZTogMTEuNXB4 +OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsKfQouZXJzY2hl +aW51bmctdGFiLWxhYmVsLWJvdCB7CiAgICBmb250LXNpemU6IDEwLjVweDsgY29sb3I6IHZhcigt +LXRleHQtbXV0ZWQpOwp9CgouZXJzY2hlaW51bmctZWRpdG9yIHsKICAgIGJhY2tncm91bmQ6IHZh +cigtLWJnLWNhcmQpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsK +ICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7CiAgICBwYWRkaW5nOiAxNHB4IDE4 +cHg7Cn0KLmVyc2NoZWludW5nLWVkaXRvci1rb3BmIHsKICAgIG1hcmdpbi1ib3R0b206IDEycHg7 +IHBhZGRpbmctYm90dG9tOiAxMHB4OwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigt +LWJvcmRlci1saWdodCk7Cn0KLmVyc2NoZWludW5nLWVkaXRvci10aXRlbHplaWxlIHsKICAgIGRp +c3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2Ut +YmV0d2VlbjsKICAgIGdhcDogMTJweDsKfQouZXJzY2hlaW51bmctZWRpdG9yLXRpdGVsIHsKICAg +IG1hcmdpbjogMDsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nKTsK +fQouZXJzY2hlaW51bmctZWRpdG9yLXN1YiB7CiAgICBtYXJnaW46IDJweCAwIDA7IGZvbnQtc2l6 +ZTogdmFyKC0tZnMtc20pOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7Cn0KLmVyc2NoZWludW5n +LWVkaXRvci1ib2R5IHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVt +bnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7CiAgICBnYXA6IDE2cHggMjJweDsKfQpAbWVk +aWEgKG1heC13aWR0aDogMTIwMHB4KSB7CiAgICAuZXJzY2hlaW51bmctZWRpdG9yLWJvZHkgeyBn +cmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7IH0KfQpAbWVk +aWEgKG1heC13aWR0aDogNzIwcHgpIHsKICAgIC5lcnNjaGVpbnVuZy1lZGl0b3ItYm9keSB7IGdy +aWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9Cn0KLmVyc2NoZWludW5nLXNla3Rpb24geyBtaW4t +d2lkdGg6IDA7IH0KLmVyc2NoZWludW5nLXNla3Rpb24tdGl0ZWwgewogICAgbWFyZ2luOiAwIDAg +OHB4OyBmb250LXNpemU6IDEwLjVweDsgZm9udC13ZWlnaHQ6IDcwMDsKICAgIHRleHQtdHJhbnNm +b3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAwLjZweDsKICAgIGNvbG9yOiB2YXIoLS10 +ZXh0LW11dGVkKTsKICAgIHBhZGRpbmctYm90dG9tOiA0cHg7IGJvcmRlci1ib3R0b206IDFweCBk +YXNoZWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsKfQouZXJzY2hlaW51bmctc2VrdGlvbi1ncmlkIHsK +ICAgIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogOHB4Owp9Ci5l +cnNjaGVpbnVuZy1mZWxkIHsKICAgIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1u +czogOTBweCAxZnI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgbWluLXdpZHRo +OiAwOwp9Ci5lcnNjaGVpbnVuZy1mZWxkLWxhYmVsIHsKICAgIGZvbnQtc2l6ZTogMTEuNXB4OyBj +b2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IGZvbnQtd2VpZ2h0OiA1MDA7Cn0KLmVyc2NoZWludW5n +LWZlbGQtY29udHJvbCB7CiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBn +YXA6IDZweDsKICAgIG1pbi1oZWlnaHQ6IDI2cHg7IG1pbi13aWR0aDogMDsKfQoKLyogLS0tLSBF +aW5nYWJlLUtvbXBvbmVudGVuIC0tLS0gKi8KLmVyc2NoZWludW5nLWlucHV0IHsKICAgIHBhZGRp +bmc6IDVweCA4cHg7IGZvbnQtc2l6ZTogdmFyKC0tZnMtbWQpOwogICAgYm9yZGVyOiAxcHggc29s +aWQgdmFyKC0tYm9yZGVyLWNvbG9yKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0 +KTsKICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpOwogICAgYm9yZGVyLXJhZGl1czogdmFy +KC0tcmFkaXVzLXNtKTsKfQouZXJzY2hlaW51bmctaW5wdXQ6Zm9jdXMgewogICAgb3V0bGluZTog +MnB4IHNvbGlkIHZhcigtLWZhcmJlLWFremVudCwgIzRhOTBlMik7IG91dGxpbmUtb2Zmc2V0OiAx +cHg7Cn0KCi8qIEZhcmJwaWNrZXIgbWl0IMOXLUJ1dHRvbiAqLwouZXJzY2hlaW51bmctZmFyYi13 +cmFwIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAg +IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7IGJvcmRlci1yYWRpdXM6IHZh +cigtLXJhZGl1cy1zbSk7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9Ci5lcnNjaGVpbnVuZy1mYXJi +LXdyYXAubGVlciAuZXJzY2hlaW51bmctZmFyYiB7CiAgICBvcGFjaXR5OiAwLjM7CiAgICBiYWNr +Z3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVu +dCAwIDRweCwgcmdiYSgwLDAsMCwwLjE1KSA0cHggOHB4KTsKfQouZXJzY2hlaW51bmctZmFyYiB7 +CiAgICB3aWR0aDogNDRweDsgaGVpZ2h0OiAyOHB4OyBwYWRkaW5nOiAycHg7IGJvcmRlcjogbm9u +ZTsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjdXJzb3I6IHBvaW50ZXI7Cn0KLmVyc2No +ZWludW5nLWZhcmIteCB7CiAgICB3aWR0aDogMjJweDsgaGVpZ2h0OiAyOHB4OyBsaW5lLWhlaWdo +dDogMjZweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC1zaXplOiB2YXIoLS1mcy1sZyk7 +IGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBib3JkZXI6IG5vbmU7IGJvcmRlci1sZWZ0OiAxcHggc29s +aWQgdmFyKC0tYm9yZGVyLWNvbG9yKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQtYWx0 +KTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwogICAgY3Vyc29yOiBwb2ludGVyOyBwYWRkaW5n +OiAwOwp9Ci5lcnNjaGVpbnVuZy1mYXJiLXg6aG92ZXIgewogICAgYmFja2dyb3VuZDogdmFyKC0t +YmctaG92ZXIpOyBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsKfQoKLyogU2xpZGVyIG1pdCBO +dW1iZXItU3BpbmJveCAqLwouZXJzY2hlaW51bmctc2xpZGVyLXdyYXAgewogICAgZGlzcGxheTog +ZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7IGZsZXg6IDE7IG1pbi13aWR0aDog +MDsKfQouZXJzY2hlaW51bmctaW5wdXQtcmFuZ2UgewogICAgZmxleDogMTsgbWluLXdpZHRoOiA2 +MHB4OwogICAgcGFkZGluZzogMDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogbm9u +ZTsKICAgIGFjY2VudC1jb2xvcjogdmFyKC0tZmFyYmUtYWt6ZW50LCAjNGE5MGUyKTsKfQouZXJz +Y2hlaW51bmctaW5wdXQtbnVtIHsKICAgIHdpZHRoOiA1NnB4OyB0ZXh0LWFsaWduOiByaWdodDsK +fQouZXJzY2hlaW51bmctaW5wdXQtbnVtOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHsgb3Bh +Y2l0eTogMTsgfQouZXJzY2hlaW51bmctZWluaGVpdCB7CiAgICBmb250LXNpemU6IHZhcigtLWZz +LXNtKTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBtaW4td2lkdGg6IDE4cHg7Cn0KCi8qIFRv +Z2dsZS1Td2l0Y2ggKHN0YXR0IENoZWNrYm94KSAqLwouZXJzY2hlaW51bmctdG9nZ2xlIHsKICAg +IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7IGN1 +cnNvcjogcG9pbnRlcjsKICAgIHVzZXItc2VsZWN0OiBub25lOwp9Ci5lcnNjaGVpbnVuZy10b2dn +bGUgaW5wdXQgeyBkaXNwbGF5OiBub25lOyB9Ci5lcnNjaGVpbnVuZy10b2dnbGUtcmFpbCB7CiAg +ICB3aWR0aDogMzZweDsgaGVpZ2h0OiAyMHB4OyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMt +bGcpOwogICAgYmFja2dyb3VuZDogdmFyKC0tYm9yZGVyLWNvbG9yKTsgcG9zaXRpb246IHJlbGF0 +aXZlOwogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1czsKfQouZXJzY2hlaW51bmctdG9n +Z2xlLXJhaWw6OmFmdGVyIHsKICAgIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7CiAg +ICB0b3A6IDJweDsgbGVmdDogMnB4OyB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OwogICAgYm9y +ZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiAjZmZmOwogICAgdHJhbnNpdGlvbjogbGVmdCAw +LjE1czsKICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMyk7Cn0KLmVyc2No +ZWludW5nLXRvZ2dsZSBpbnB1dDpjaGVja2VkICsgLmVyc2NoZWludW5nLXRvZ2dsZS1yYWlsIHsK +ICAgIGJhY2tncm91bmQ6IHZhcigtLWZhcmJlLWVyZm9sZywgIzI3ODk2RCk7Cn0KLmVyc2NoZWlu +dW5nLXRvZ2dsZSBpbnB1dDpjaGVja2VkICsgLmVyc2NoZWludW5nLXRvZ2dsZS1yYWlsOjphZnRl +ciB7CiAgICBsZWZ0OiAxOHB4Owp9Ci5lcnNjaGVpbnVuZy10b2dnbGUtbGFiZWwgewogICAgZm9u +dC1zaXplOiB2YXIoLS1mcy1iYXNlKTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwp9CgovKiAt +LS0tIFN0aWNreSBGb290ZXIgLS0tLSAqLwouZXJzY2hlaW51bmctZm9vdGVyIHsKICAgIHBvc2l0 +aW9uOiBzdGlja3k7IGJvdHRvbTogMDsgei1pbmRleDogNTsKICAgIG1hcmdpbjogMTBweCAtMjBw +eCAtMjBweDsgIC8qIGluIGRlbiBhZG1pbi10YWItUGFkZGluZy1CZXJlaWNoIHZlcmxhZW5nZXJu +ICovCiAgICBwYWRkaW5nOiA4cHggMjBweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQp +OwogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7CiAgICBkaXNw +bGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87CiAgICBnYXA6 +IDE0cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmVyc2NoZWludW5nLWZvb3Rlci1pbmZvIHsK +ICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7CiAg +ICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCgoKLyogPT09PT0gTWVpbiBTY2hpY2h0LVRlYW0g4oCU +IDE0LVRhZ2UtTW9kYWwgKHNjaGljaHR0ZWFtLmpzKSA9PT09PSAqLwouc3Qta29wZmluZm8gewog +ICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZmxleC13cmFwOiB3cmFwOyBn +YXA6IDhweCAxNHB4OwogICAgbWFyZ2luLWJvdHRvbTogMTJweDsKfQouc3QtYmFkZ2UgewogICAg +ZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOiAzcHggMTJweDsgYm9yZGVyLXJhZGl1czog +dmFyKC0tcmFkaXVzLXNtKTsKICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtYmFzZSk7IGZvbnQtd2Vp +Z2h0OiA3MDA7IGNvbG9yOiAjZmZmOyBsZXR0ZXItc3BhY2luZzogMC4zcHg7Cn0KLnN0LWJhZGdl +LUYgeyBiYWNrZ3JvdW5kOiAjQzc3ODAwOyB9ICAgLyogRnLDvGhkaWVuc3QgKi8KLnN0LWJhZGdl +LVMgeyBiYWNrZ3JvdW5kOiAjMTU2NUMwOyB9ICAgLyogU3DDpHRkaWVuc3QgKi8KLnN0LWJhZGdl +LU4geyBiYWNrZ3JvdW5kOiAjM0YzRDhBOyB9ICAgLyogTmFjaHRkaWVuc3QgKi8KLnN0LXplaXRy +YXVtIHsgZm9udC1zaXplOiB2YXIoLS1mcy1tZCk7IGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmcp +OyBmb250LXdlaWdodDogNjAwOyB9Ci5zdC1oaW53ZWlzICB7IGZvbnQtc2l6ZTogdmFyKC0tZnMt +c20pOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IH0KCi5zdC1zY3JvbGwgeyBtYXgtaGVpZ2h0 +OiA2MnZoOyBvdmVyZmxvdzogYXV0bzsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxp +Z2h0KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsgfQouc3QtdGFiZWxsZSB7IGJv +cmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IGJvcmRlci1zcGFjaW5nOiAwOyBmb250LXNpemU6IHZh +cigtLWZzLWJhc2UpOyB3aWR0aDogbWF4LWNvbnRlbnQ7IG1pbi13aWR0aDogMTAwJTsgfQouc3Qt +dGFiZWxsZSB0aCwgLnN0LXRhYmVsbGUgdGQgeyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIo +LS1ib3JkZXItbGlnaHQpOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxp +Z2h0KTsgfQoKLyogS29wZnplaWxlIHN0aWNreSBvYmVuICovCi5zdC10YWJlbGxlIHRoZWFkIHRo +IHsgcG9zaXRpb246IHN0aWNreTsgdG9wOiAwOyB6LWluZGV4OiAyOyBiYWNrZ3JvdW5kOiB2YXIo +LS1iZy10b29sYmFyKTsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IHBhZGRpbmc6IDRweCAy +cHg7IH0KLnN0LXRoLXRhZyB7IG1pbi13aWR0aDogMzhweDsgdGV4dC1hbGlnbjogY2VudGVyOyB9 +Ci5zdC10aC1kYXR1bSB7IGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pOyBmb250LXdlaWdodDogNzAw +OyB9Ci5zdC10aC13dGFnICB7IGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpOyBjb2xvcjogdmFyKC0t +dGV4dC1tdXRlZCk7IH0KCi8qIE5hbWVuc3NwYWx0ZSBzdGlja3kgbGlua3MgKGF1Y2ggaW0gS29w +ZiAtPiB6LWluZGV4IDMpICovCi5zdC10aC1uYW1lIHsgcG9zaXRpb246IHN0aWNreTsgbGVmdDog +MDsgei1pbmRleDogMzsgdGV4dC1hbGlnbjogbGVmdDsgbWluLXdpZHRoOiAxNzBweDsgcGFkZGlu +Zy1sZWZ0OiA4cHg7IH0KLnN0LXRkLW5hbWUgeyBwb3NpdGlvbjogc3RpY2t5OyBsZWZ0OiAwOyB6 +LWluZGV4OiAxOyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgbWluLXdpZHRoOiAxNzBweDsg +cGFkZGluZzogMnB4IDhweDsgfQouc3QtcGVyc29uIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRl +bXM6IGNlbnRlcjsgZ2FwOiA3cHg7IH0KLnN0LXBlcnNvbi1uYW1lIHsgZm9udC13ZWlnaHQ6IDYw +MDsgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZyk7IGxpbmUtaGVpZ2h0OiAxLjE7IH0KLnN0LXBl +cnNvbi1tZXRhIHsgZm9udC1zaXplOiB2YXIoLS1mcy14cyk7IGNvbG9yOiB2YXIoLS10ZXh0LW11 +dGVkKTsgbGluZS1oZWlnaHQ6IDEuMTsgfQoKLnN0LXRkLXRhZyB7IHRleHQtYWxpZ246IGNlbnRl +cjsgcGFkZGluZzogM3B4IDJweDsgbWluLXdpZHRoOiAzOHB4OyBmb250LXdlaWdodDogNjAwOyBj +b2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsgfQouc3Qtd2UgeyBiYWNrZ3JvdW5kOiAjRURGMkY4 +OyB9CltkYXRhLXRoZW1lPSJuaWdodCJdIC5zdC13ZSB7IGJhY2tncm91bmQ6ICMxRjJBMzg7IH0K +Ci8qIEVpZ2VuZSBaZWlsZSBoZXJ2b3JoZWJlbiAqLwouc3QtemVpbGUtaWNoIC5zdC10ZC1uYW1l +IHsgYm94LXNoYWRvdzogaW5zZXQgM3B4IDAgMCB2YXIoLS1iZy1wcmltYXJ5KTsgfQouc3QtemVp +bGUtaWNoIC5zdC10ZC1uYW1lLCAuc3QtemVpbGUtaWNoIC5zdC10ZC10YWc6bm90KFtzdHlsZV0p +IHsgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpOyB9Cg== +### FILE: sync-check.html | 4249 +PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImRlIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9IlVU +Ri04Ij4KPHRpdGxlPlZJMyBTeW5jLUNoZWNrPC90aXRsZT4KPHN0eWxlPgogIGJvZHkgeyBmb250 +LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgc2Fucy1zZXJpZjsgbWFy +Z2luOiAyNHB4OyBiYWNrZ3JvdW5kOiNmNWY1Zjc7IGNvbG9yOiMyMjI7IH0KICBoMSB7IG1hcmdp +bjogMCAwIDEycHg7IGZvbnQtc2l6ZTogMjJweDsgfQogIC5tZXRhIHsgZm9udC1zaXplOiAxM3B4 +OyBjb2xvcjogIzY2NjsgbWFyZ2luLWJvdHRvbTogMTZweDsgfQogIC5rYXJ0ZSB7IGJhY2tncm91 +bmQ6I2ZmZjsgYm9yZGVyLXJhZGl1czo4cHg7IHBhZGRpbmc6MTZweDsgbWFyZ2luLWJvdHRvbTox +NnB4OyBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLDAsMCwwLjA4KTsgfQogIC56dXNhbW1l +bmZhc3N1bmcgeyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KICAuenVzYW1t +ZW5mYXNzdW5nLm9rICAgIHsgY29sb3I6ICMxZjdhMWY7IH0KICAuenVzYW1tZW5mYXNzdW5nLndh +cm4gIHsgY29sb3I6ICNiMDYwMDA7IH0KICAuenVzYW1tZW5mYXNzdW5nLmZlaCAgIHsgY29sb3I6 +ICNiMDIwMjA7IH0KICB0YWJsZSB7IHdpZHRoOiAxMDAlOyBib3JkZXItY29sbGFwc2U6IGNvbGxh +cHNlOyBmb250LXNpemU6IDEzcHg7IH0KICB0aCwgdGQgeyB0ZXh0LWFsaWduOiBsZWZ0OyBwYWRk +aW5nOiA2cHggMTBweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7IH0KICB0aCB7IGJh +Y2tncm91bmQ6ICNmYWZhZmE7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KICB0ci5vayAgICAgIHRkLnN0 +YXR1cyB7IGNvbG9yOiAjMWY3YTFmOyBmb250LXdlaWdodDogNjAwOyB9CiAgdHIuZmVoICAgICB0 +ZC5zdGF0dXMgeyBjb2xvcjogI2IwMjAyMDsgZm9udC13ZWlnaHQ6IDYwMDsgfQogIHRyLndhcm4g +ICAgdGQuc3RhdHVzIHsgY29sb3I6ICNiMDYwMDA7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KICB0ci5z +a2lwICAgIHRkLnN0YXR1cyB7IGNvbG9yOiAjODg4OyB9CiAgdGQucGZhZCAgIHsgZm9udC1mYW1p +bHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBDb25zb2xhcywgbW9ub3Nw +YWNlOyB9CiAgdGQuZGV0YWlsIHsgY29sb3I6ICM2NjY7IGZvbnQtc2l6ZTogMTJweDsgfQogIGRl +dGFpbHMgc3VtbWFyeSB7IGN1cnNvcjogcG9pbnRlcjsgcGFkZGluZzogNHB4IDA7IH0KICAubmV1 +dHJhbCB7IGNvbG9yOiAjNjY2OyB9CiAgLmxhdWZlbiAgeyBjb2xvcjogIzIwNjBjMDsgfQogIGJ1 +dHRvbiB7IHBhZGRpbmc6IDhweCAxNHB4OyBmb250LXNpemU6IDE0cHg7IGJvcmRlci1yYWRpdXM6 +IDZweDsgYm9yZGVyOiAxcHggc29saWQgIzIwNjBjMDsKICAgICAgICAgICBiYWNrZ3JvdW5kOiAj +MjA2MGMwOyBjb2xvcjojZmZmOyBjdXJzb3I6IHBvaW50ZXI7IH0KICBidXR0b246aG92ZXIgeyBi +YWNrZ3JvdW5kOiMxODUwYTA7IH0KICBidXR0b246ZGlzYWJsZWQgeyBiYWNrZ3JvdW5kOiM4ODg7 +IGJvcmRlci1jb2xvcjojODg4OyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9Cjwvc3R5bGU+CjwvaGVh +ZD4KPGJvZHk+CjxoMT5WSTMgU3luYy1DaGVjazwvaDE+CjxkaXYgY2xhc3M9Im1ldGEiPkRpYWdu +b3N0aXppZXJ0LCA8Yj53YXJ1bSBkaWUgU2VpdGUgbmljaHQgc3RhcnRldDwvYj4gKE1vZHVsLUxh +ZGV0ZXN0LCBzaWVoZSBLYXJ0ZSB1bnRlbikgdW5kIHByw7xmdCwgb2IgYWxsZSBEYXRlaWVuIGRl +cyBsYXVmZW5kZW4gU2VydmVycyBrb3JyZWt0IGF1c2dlbGllZmVydCB3ZXJkZW4g4oCUIGdlZ2Vu +IGRpZSBoYXJ0Y29kaWVydGUgU29sbC1MaXN0ZS4gTGllZ3QgdW50ZXIgPGNvZGU+VkkzL3N5bmMt +Y2hlY2suaHRtbDwvY29kZT4gdW5kIHdpcmQgw7xiZXIgZGVuIG5vcm1hbGVuIFdlYnNlcnZlciBi +ZXJlaXRnZXN0ZWxsdDogPGNvZGU+aHR0cDovL2xvY2FsaG9zdDo4MDgwL3N5bmMtY2hlY2suaHRt +bDwvY29kZT4uPC9kaXY+Cgo8ZGl2IGNsYXNzPSJrYXJ0ZSI+CiAgPGJ1dHRvbiBpZD0iYnRuLXN0 +YXJ0Ij5QcsO8ZnVuZyBzdGFydGVuPC9idXR0b24+CiAgPHNwYW4gaWQ9InN0YXR1cyIgY2xhc3M9 +Im5ldXRyYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDoxMnB4Ij48L3NwYW4+CjwvZGl2PgoKPGRpdiBj +bGFzcz0ia2FydGUiPgogIDxkaXYgaWQ9Inp1c2FtbWVuZmFzc3VuZyIgY2xhc3M9Inp1c2FtbWVu +ZmFzc3VuZyBuZXV0cmFsIj5CZXJlaXQuPC9kaXY+CiAgPGRpdiBpZD0iaW5mbyIgY2xhc3M9Im1l +dGEiIHN0eWxlPSJtYXJnaW4tdG9wOjhweCI+PC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0ia2Fy +dGUiPgogIDxoMiBzdHlsZT0ibWFyZ2luOjAgMCA4cHg7Zm9udC1zaXplOjE2cHgiPvCfmoAgU3Rh +cnQtRGlhZ25vc2Ug4oCUIHdhcnVtIHN0YXJ0ZXQgZGllIFNlaXRlIG5pY2h0PzwvaDI+CiAgPGRp +diBjbGFzcz0ibWV0YSI+TMOkZHQgamVkZXMgRVMtTW9kdWwgZWluemVsbiBwZXIgPGNvZGU+aW1w +b3J0KCk8L2NvZGU+LCBnZW5hdSB3aWUgZGVyIEJyb3dzZXIgYmVpbSDDlmZmbmVuIHZvbiA8Y29k +ZT5pbmRleC5odG1sPC9jb2RlPi4gRWluIFN5bnRheC0gb2RlciBJbXBvcnQvRXhwb3J0LUZlaGxl +ciBpbiBudXIgZWluZW0gTW9kdWwgbMOkc3N0IGRpZSBnYW56ZSBBcHAgd2Vpw58gYmxlaWJlbiDi +gJQgZGllIGVyc3RlIDxiPkZFSExFUjwvYj4tWmVpbGUgbmVubnQgZGFzIE1vZHVsLCB1bnRlciDi +gJ5tZWhyIiBzdGVoZW4gTWVsZHVuZyB1bmQgWmVpbGVubnVtbWVyLiA8Y29kZT5hcHAuanM8L2Nv +ZGU+IHdpcmQgenVsZXR6dCBnZWxhZGVuOiBlaW4gZWNodGVyIFBhcnNlLS9MaW5rLUZlaGxlciBl +cnNjaGVpbnQgYWxzIEZFSExFUiwgZWluIExhdWZ6ZWl0ZmVobGVyIGF1cyA8Y29kZT5pbml0KCk8 +L2NvZGU+IGdlZ2VuIGRpZSBmcmVtZGUgRGlhZ25vc2UtU2VpdGUgaXN0IGVyd2FydGJhciB1bmQg +bnVyIGFscyBJTkZPIG1hcmtpZXJ0LjwvZGl2PgogIDxkaXYgaWQ9InN0YXJ0LW1ldGEiIGNsYXNz +PSJtZXRhIiBzdHlsZT0ibWFyZ2luLXRvcDo4cHgiPkJlcmVpdC48L2Rpdj4KICA8dGFibGUgaWQ9 +InN0YXJ0LXRhYiIgc3R5bGU9Im1hcmdpbi10b3A6OHB4Ij4KICAgIDx0aGVhZD4KICAgICAgPHRy +Pjx0aCBzdHlsZT0id2lkdGg6MzIlIj5Nb2R1bDwvdGg+PHRoIHN0eWxlPSJ3aWR0aDoxNCUiPlN0 +YXR1czwvdGg+PHRoPkRldGFpbHM8L3RoPjwvdHI+CiAgICA8L3RoZWFkPgogICAgPHRib2R5IGlk +PSJzdGFydC16ZWlsZW4iPjwvdGJvZHk+CiAgPC90YWJsZT4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJr +YXJ0ZSI+CiAgPGgyIHN0eWxlPSJtYXJnaW46MCAwIDhweDtmb250LXNpemU6MTZweCI+SW5oYWx0 +cy1DaGVjayAoSFRUUC1BdXNsaWVmZXJ1bmcpPC9oMj4KICA8dGFibGUgaWQ9InRhYiI+CiAgICA8 +dGhlYWQ+CiAgICAgIDx0cj48dGggc3R5bGU9IndpZHRoOjMyJSI+RGF0ZWkgLyBQZmFkPC90aD48 +dGggc3R5bGU9IndpZHRoOjE0JSI+U3RhdHVzPC90aD48dGg+RGV0YWlsczwvdGg+PC90cj4KICAg +IDwvdGhlYWQ+CiAgICA8dGJvZHkgaWQ9InplaWxlbiI+PC90Ym9keT4KICA8L3RhYmxlPgo8L2Rp +dj4KCjxkaXYgY2xhc3M9ImthcnRlIj4KICA8aDIgc3R5bGU9Im1hcmdpbjowIDAgOHB4O2ZvbnQt +c2l6ZToxNnB4Ij5EYXRlaS1HcsO2w59lbi1WZXJnbGVpY2ggKFNvdXJjZSDihpQgQXNzZXQtQ2Fj +aGUpPC9oMj4KICA8ZGl2IGNsYXNzPSJtZXRhIiBpZD0iZ3JvZXNzZS1tZXRhIj5XaXJkIGdlbGFk +ZW7igKY8L2Rpdj4KICA8dGFibGUgaWQ9Imdyb2Vzc2UtdGFiIiBzdHlsZT0ibWFyZ2luLXRvcDo4 +cHgiPgogICAgPHRoZWFkPgogICAgICA8dHI+CiAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDo0MiUi +PkRhdGVpIC8gUGZhZDwvdGg+CiAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDoxNCU7dGV4dC1hbGln +bjpyaWdodCI+U291cmNlPC90aD4KICAgICAgICA8dGggc3R5bGU9IndpZHRoOjE0JTt0ZXh0LWFs +aWduOnJpZ2h0Ij5Bc3NldDwvdGg+CiAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDoxMiU7dGV4dC1h +bGlnbjpyaWdodCI+RGlmZjwvdGg+CiAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDoxOCUiPlN0YXR1 +czwvdGg+CiAgICAgIDwvdHI+CiAgICA8L3RoZWFkPgogICAgPHRib2R5IGlkPSJncm9lc3NlLXpl +aWxlbiI+PC90Ym9keT4KICA8L3RhYmxlPgo8L2Rpdj4KCjxzY3JpcHQgc3JjPSJzeW5jLWNoZWNr +LmpzIj48L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg== diff --git a/VI3DGL/sync-bundle-04.txt b/VI3DGL/sync-bundle-04.txt new file mode 100644 index 0000000..1dea1b8 --- /dev/null +++ b/VI3DGL/sync-bundle-04.txt @@ -0,0 +1,860 @@ +### SYNC-TRANSFER 4/5 -- mit sync-entpacken.bat entpacken +### Base64 - NICHT von Hand bearbeiten. +### FILE: sync-check.js | 34903 +Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PQovLyBTb2xsLUxpc3RlIGRlciBEYXRlaWVuLCBkaWUgdm9t +IGxhdWZlbmRlbiBTZXJ2ZXIgYWJydWZiYXIgc2VpbiBtdWVzc2VuLgovLwovLyBGZWxkZXI6Ci8v +ICAgcGZhZCAgICAgICAgIOKAlCBVUkwgcmVsYXRpdiB6dW0gU2VydmVyLVJvb3QKLy8gICBieXRl +c01pbiAgICAg4oCUIG9wdGlvbmFsZXIgTWluLVNjaHdlbGx3ZXJ0IChrbGVpbmVyIC0+IEFOS0VS +IEZFSExUIHd1ZXJkZQovLyAgICAgICAgICAgICAgICAgIHZlcm11dGxpY2ggZ3JlaWZlbiwgYWJl +ciB3aXIgd2FybmVuIGZydWVoKQovLyAgIG11c3NbXSAgICAgICDigJQgU3RyaW5ncywgZGllIGlt +IEJvZHkgdm9ya29tbWVuIE1VRVNTRU4KLy8gICBkYXJmX25pY2h0W10g4oCUIFN0cmluZ3MsIGRp +ZSBpbSBCb2R5IE5JQ0hUIHZvcmtvbW1lbiBkdWVyZmVuCi8vICAgbnVyRnVlciAgICAgIOKAlCAn +c3UnIHwgJ2RhcmZTdGF0JyB8ICdkYXJmTG9nJyDigJQgRWludHJhZyB3aXJkIHVlYmVyc3BydW5n +ZW4sCi8vICAgICAgICAgICAgICAgICAgd2VubiBkZXIgZWluZ2Vsb2dndGUgVXNlciBkaWVzZSBC +ZXJlY2h0aWd1bmcgbmljaHQgaGF0LgovLyAgICAgICAgICAgICAgICAgIERlZmF1bHQ6IGplZGVy +IGRhcmYuCi8vICAgaXN0TW9kdWwgICAgIOKAlCBiZWkgSlMtTW9kdWxlbjogenVzYWV0emxpY2gg +cHJ1ZWZlbiwgZGFzcyBrZWluICJmcm9tIi1JbXBvcnQKLy8gICAgICAgICAgICAgICAgICBhdWYg +ZWluZSBEYXRlaSB6ZWlndCwgZGllIHNlbGJzdCA0MDQgbGllZmVydAovLyA9PT09PT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 +PT09PT09CnZhciBTT0xMID0gWwogIC8vIFRvcC1MZXZlbAogIHsgcGZhZDogJ2luZGV4Lmh0bWwn +LCAgICAgICAgICAgIG11c3M6IFsnYW5zaWNodC1wbGFudW5nJywgJ21vZGFsLW92ZXJsYXknLAog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmkzLXBlcnNvbi1wb3Bv +dmVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZpMy1rb21t +ZW50YXItcG9wb3ZlcicsICAvLyBLb21tZW50YXItSG92ZXItUG9wb3ZlciAoMjAyNi0wNS0yOCkK +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VkaXRvci1rb21tZW50 +YXItdmVybGF1ZicsICAvLyBWZXJsYXVmc2xpc3RlIGltIFplbGwtRWRpdG9yIChTdHVmZSAyKQog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYnRuLWtvbW1lbnRhci1o +aW56dScsICAgICAgIC8vIG5ldWVyICJIaW56dWZ1ZWdlbiItQnV0dG9uIChTdHVmZSAyKQogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWVpbi1hdmF0YXItYnRuJywK +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluLXRhYi1lcnNj +aGVpbnVuZ3NiaWxkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +J2FkbWluLXNla3Rpb24tZGlyZWt0aW9uc2xlaXR1bmcnLAogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAnYWRtaW4tc2VrdGlvbi1mdWVocnVuZ3NzdGVsbGUnLAogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVjaHRlLWNhcmQtc3UnLCAn +cmVjaHRlLWNhcmQtZmEnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAnaWgtaW1wcmVzc3VtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgJ0Fuc3ByZWNoJywgIC8vIFNwYWx0ZW4tSGVhZGVyICJBbnNwcmVjaC3CrXBhcnRuZXIiIGlu +IFBlcnNvbmFsLVRhYgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn +SW4gUGxhbnVuZyBzaWNodGJhcicsICAvLyBGdW5rdGlvbmVuICsgR3J1cHBlbi1UYWIgU3BhbHRl +bmhlYWRlciAoMjAyNi0wNS0yNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgJ0Fuc3ByZWNocGFydG5lciBtw7ZnbGljaCcsICAvLyBuZXVlIFNwYWx0ZSBpbSBHcnVw +cGVuLVRhYiAoMjAyNi0wNS0yNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgLy8gZ3J1cHBlLWlucGxhbnVuZy1pbnB1dCAvIGdydXBwZS1kYXJmYXAtaW5wdXQgc2lu +ZCBDU1MtS2xhc3NlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +Ly8gZGllIGFkbWluLmpzIHp1ciBMYXVmemVpdCBpbiA8dGJvZHkgaWQ9ImdydXBwZW4tdGJvZHki +PiByZW5kZXJ0IOKAlAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv +LyBpbSBzdGF0aXNjaGVuIGluZGV4Lmh0bWwga29lbm5lbiBzaWUgbmllIGF1ZnRhdWNoZW4uIERp +ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTcGFsdGVuaGVh +ZGVyIG9iZW4gZGVja2VuIGRhcyBGZWF0dXJlIGluIGluZGV4Lmh0bWwgYWI7IGRpZQogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBLbGFzc2VuIHNlbGJzdCB3ZXJk +ZW4gd2VpdGVyIHVudGVuIGdlZ2VuIGpzL2FkbWluLmpzIGdlcHJ1ZWZ0LgogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYnRuLXNjaGljaHR0ZWFtJ10sICAvLyAiVGVh +bSItQnV0dG9uIGltIEhldXRlLUthc3RlbiAoMjAyNi0wNS0yNykKICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICBkYXJmX25pY2h0OiBbJ2lkPSJhbnNpY2h0LXN0YXRpc3RpayInLCAn +aWQ9ImFuc2ljaHQtbG9nYnVjaCInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAnaWQ9Im5hdi1zdGF0aXN0aWsiJywgJ2lkPSJuYXYtbG9nYnVjaCInLAog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYnRuLXBlcnNv +bmFsLWJ1bGsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAnYWRtaW4tc2VrdGlvbi1zaWNodGJhcmtlaXQnLCAgLy8gJ1JlZ3Vsw6RyZSBBZG1pbnMnLVNl +a3Rpb24gZW50ZmVybnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgJ3NpY2h0YmFya2VpdC1pbmhhbHQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAnUmVndWzDpHJlIEFkbWlucyddIH0sCiAgeyBwZmFkOiAnYXBw +LmpzJywgICAgICAgICAgICAgICAgbXVzczogWydvcHRpb25hbGVNb2R1bGVMYWRlbicsICcuL2pz +L3N0YXRpc3Rpay5qcycsICcuL2pzL2xvZ2J1Y2guanMnLAogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAnL2RhdGEvbWFpbmZyYW1lLmh0bWwnLCAnL2RhdGEvc2FuaXRp +emVyLmh0bWwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWVp +bkF2YXRhclRvcGJhckFrdHVhbGlzaWVyZW4nLCAncGVyc29uUG9wb3ZlclplaWdlbicsCiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrb21tZW50YXJQb3BvdmVyWmVp +Z2VuJywgJ2tvbW1lbnRhclBvcG92ZXJWZXJzdGVja2VuJywgIC8vIEtvbW1lbnRhci1Qb3BvdmVy +IHZlcmRyYWh0ZXQgKDIwMjYtMDUtMjgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICdrb21tZW50YXJIaW56dWZ1ZWdlbicsICdrb21tZW50YXJMb2VzY2hlbicsICAv +LyBTdHVmZS0yLVZlcmxhdWYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgJ2J0bi1rb21tZW50YXItaGluenUnLCAgLy8gbmV1ZXIgRWRpdG9yLUJ1dHRvbiAoU3R1ZmUg +MikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JvbGxlblRhYmVs +bGVSZW5kZXJuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lt +cHJlc3N1bU1vZGFsT2VmZm5lbicsICdzdXBwb3J0TWFpbEJvZHlCYXVlbicsCiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbnNwcmVjaHBhcnRuZXJJbmxpbmVUb2dn +bGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5QbGFudW5n +SW5saW5lVG9nZ2xlJywgIC8vIFByby1QZXJzb24tQXVzYmxlbmRlbiB2ZXJkcmFodGV0ICgyMDI2 +LTA1LTI3KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NoaWNo +dFRlYW1Nb2RhbE9lZmZuZW4nLCAgLy8gU2NoaWNodC1UZWFtLU1vZGFsIHZlcmRyYWh0ZXQgKDIw +MjYtMDUtMjcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdncnVw +cGVFcmxhdWJ0QXAnLCAgLy8gQW5zcHJlY2hwYXJ0bmVyLUZpbHRlciBwcm8gR3J1cHBlIGltIElu +Zm8tTW9kYWwgKDIwMjYtMDUtMjQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICdpbmZvLWFwLW1haWxidG4nLCAgLy8gTWFpbC1CdXR0b24tS2xhc3NlIGltIEluZm8t +TW9kYWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lNUFJFU1NV +TV9ERUZBVUxUJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFyZl9uaWNo +dDogWyJmcm9tICcuL2pzL3N0YXRpc3Rpay5qcyciLCAiZnJvbSAnLi9qcy9sb2didWNoLmpzJyIs +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdidWxrQmVh +cmJlaXR1bmdEaWFsb2cnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAnc2ljaHRiYXJrZWl0LWNoZWNrYm94JywgIC8vIGFsdGVyIFNpY2h0YmFya2VpdHMt +SGFuZGxlciByYXVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICdhZG1pblNpY2h0YmFya2VpdFsnXSB9LCAgLy8gc2NocmVpYmVuZGVyIFp1Z3JpZmYgZW50 +ZmVybnQKICB7IHBmYWQ6ICdzdHlsZS5jc3MnLCAgICAgICAgICAgICBtdXNzOiBbJy5sYXlvdXQt +c3RhdGlzdGlrJywgJy5sYXlvdXQtbG9nYnVjaCcsICcuc3RhdHMtJywgJy5sb2ctJywKICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy52aTMtYXZhdGFyJywgJy5wcHYt +dGFnJywgJy52aTMtcGVyc29uLXBvcG92ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAnLnZpMy1rb21tZW50YXItcG9wb3ZlcicsICcua3Ata29wZicsICcua3At +Ym9keScsICAvLyBLb21tZW50YXItUG9wb3ZlciAoMjAyNi0wNS0yOCkKICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgJy5rcC1laW50cmFnJywgJy5rcC1ib2R5LXN0YWNr +JywgIC8vIFN0YWNrLVZpZXcgYmVpIG1laHJlcmVuIEtvbW1lbnRhcmVuIChTdHVmZSAyKQogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLmVkaXRvci1rb21tZW50YXIt +dmVybGF1ZicsICcuZWt2LWVpbnRyYWcnLCAnLmVrdi1sb2VzY2hlbicsICAvLyBFZGl0b3ItVmVy +bGF1ZiAoU3R1ZmUgMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +J2RhdGEta29tbWVudGFyLWFuemFobCcsICAvLyBDb3VudGVyLUJhZGdlLUF0dHJpYnV0CiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuZGxnLWVsZGdsLXRvZ2dsZScs +ICcudmkzZGdsLWJ0bicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICcuZXJzY2hlaW51bmctbGF5b3V0JywgJy5nYi1ncmlkJywKICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgJy5yZWNodGUtY2FyZCcsICcucmVjaHRlLWNhcmQtaWNvbics +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuaW1wcmVzc3VtLW5v +dGZhbGwnLCAnLmltcHJlc3N1bS1tYWlsLWJ0bicsCiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICcuYmsta2FuZGlkYXRlbi10ZXh0JywgIC8vIG5ldWUgMi16ZWlsaWdl +IEthbmRpZGF0ZW4tWmVpbGUgKDIwMjYtMDUtMjQpCiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICcuYmsta2FuZGlkYXRlbi10b2dnbGUtb2ZmZW4nLCAgLy8gQXVma2xh +cHAtSW5kaWthdG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcu +aW5mby1hcC1tYWlsYnRuJywgIC8vIE1haWwtQnV0dG9uIGhpbnRlciBBbnNwcmVjaHBhcnRuZXJu +ICgyMDI2LTA1LTI0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn +cHVsc0ZlcmllbicsICAvLyBGZXJpZW4tTWFya2llcnVuZyBQdWxzLUtleWZyYW1lICgyMDI2LTA1 +LTI3KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1tZmVyLXNw +YWx0ZS1iZyddLCAgLy8gRmVyaWVuLVNwYWx0ZW4tVG9lbnVuZyBWYXIKICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAvLyAucHAta29wZiAoYWx0ZSBQb3BvdmVyLUtsYXNzZSwgamV0 +enQgLnBwdi1rb3BmKSBpc3QgbmlyZ2VuZHdvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgLy8gbWVociB2b3JoYW5kZW4g4oCUIHdlbm4gZG9jaCwgaXN0IGRlciBBc3NldC1DYWNo +ZSB2ZXJhbHRldC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAucHAtdGFn +IGV4aXN0aWVydCBOT0NIIGltIFBlcnMuLVBsYW47IGRhaGVyIGhpZXIgbmljaHQgcHJ1ZWZlbi4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXJmX25pY2h0OiBbJy5jcnlwdG8t +d2Fybi1iYW5uZXInLCAnLmJhLScsICcuYmItJywgJy5idWxrLWRpYWxvZycsCiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcucHAta29wZiddIH0sCiAgeyBw +ZmFkOiAnc3luYy13b3JrZXIuanMnIH0sCiAgeyBwZmFkOiAnaGVhcnRiZWF0LXdvcmtlci5qcycg +fSwKCiAgLy8gT2ZmbGluZS1Xb2NoZW5wbGFuOiBUZW1wbGF0ZSAoUXVlbGxlLCBUb2tlbi1QbGF0 +emhhbHRlcikgdW5kIGRlciB2b20KICAvLyBTZXJ2ZXIgYmVpIGplZGVyIFBsYW51bmdzLUFlbmRl +cnVuZyBuZXUgZ2VuZXJpZXJ0ZSBTbmFwc2hvdC4KICB7IHBmYWQ6ICdXb2NoZW5wbGFuLnRlbXBs +YXRlLmh0bWwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11c3M6IFsnX19E +QVRFTl9KU09OX18nLCAnX19TTkFQU0hPVF9aRUlUX18nLAogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAnd3AtdGFnYmxvY2stdGFiZWxsZScsICdPZmZsaW5lLVNuYXBz +aG90JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ07DpGNoc3Rl +IFdvY2hlJywgJ0Zyw7xoZGllbnN0J10gfSwKICB7IHBmYWQ6ICdXb2NoZW5wbGFuLmh0bWwnLCAg +ICAgICBieXRlc01pbjogODAwMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +Ly8gRGF0ZW4gbXVlc3NlbiBzdWJzdGl0dWllcnQgc2VpbiDigJQgVG9rZW5zIGR1ZXJmZW4gbmlj +aHQgbWVociBkcmluc3RlaGVuLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11 +c3M6IFsndmFyIERBVEVOJywgJ3dwLXRhZ2Jsb2NrJywgJ3dwLXZvcndvY2hlJywKICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Zyw7xoZGllbnN0J10sCiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFyZl9uaWNodDogWydfX0RBVEVOX0pTT05fXycs +ICdfX1NOQVBTSE9UX1pFSVRfXyddIH0sCgogIC8vIE1hcmt1cC1GcmFnbWVudGUgdW50ZXIgVGFy +bi1QZmFkZW4gaW4gZGF0YS8gKG51ciBCZXJlY2h0aWd0ZSkKICB7IHBmYWQ6ICdkYXRhL21haW5m +cmFtZS5odG1sJywgbnVyRnVlcjogJ2RhcmZTdGF0JywKICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICBtdXNzOiBbJzxkaXYgaWQ9ImFuc2ljaHQtc3RhdGlzdGlrIicsICdpZD0ic3Rh +dHMtdGJvZHkiJywgJ2NsYXNzPSJsYXlvdXQtc3RhdGlzdGlrIiddIH0sCiAgeyBwZmFkOiAnZGF0 +YS9zYW5pdGl6ZXIuaHRtbCcsIG51ckZ1ZXI6ICdkYXJmTG9nJywKICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICBtdXNzOiBbJzxkaXYgaWQ9ImFuc2ljaHQtbG9nYnVjaCInLCAgICdp +ZD0ibG9nLXRib2R5IicsICAgJ2NsYXNzPSJsYXlvdXQtbG9nYnVjaCInXSB9LAoKICAvLyBDb3Jl +CiAgeyBwZmFkOiAnanMvY29yZV9zdGF0ZS5qcycsICAgICAgaXN0TW9kdWw6IHRydWUsIG11c3M6 +IFsnZXhwb3J0IHZhciBaJ10gfSwKICB7IHBmYWQ6ICdqcy9jb3JlX2FwaS5qcycsICAgICAgICBp +c3RNb2R1bDogdHJ1ZSwgbXVzczogWydleHBvcnQgZnVuY3Rpb24gYXBpJ10gfSwKICB7IHBmYWQ6 +ICdqcy9jb3JlX3V0aWwuanMnLCAgICAgICBpc3RNb2R1bDogdHJ1ZSwgbXVzczogWydleHBvcnQg +ZnVuY3Rpb24gZXNjYXBlSFRNTCcsICdleHBvcnQgZnVuY3Rpb24gZGF0dW1TdHInLAogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2F2YXRh +cktyZWlzSHRtbCcsICdhdmF0YXJVcmwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuemVpZ2VOYW1lRnVlcktlbm51bmcnLAogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Z1 +bmt0aW9uSW5QbGFudW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICdleHBvcnQgZnVuY3Rpb24gcGVyc29uU2NoaWNodEFtJ10gfSwK +ICB7IHBmYWQ6ICdqcy9jb3JlX2RhdGVuTGFkZW4uanMnLCBpc3RNb2R1bDogdHJ1ZSwgbXVzczog +WydkaXJla3Rpb25zbGVpdHVuZycsICdmdWVocnVuZ3NzdGVsbGUnLAogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnN0ZWNrdGVGdW5r +dGlvbmVuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICd2ZXJzdGVja3RlR3J1cHBlbiddIH0sICAvLyBHcnVwcGVuLVNpY2h0YmFya2Vp +dCAoMjAyNi0wNS0yNCkKICB7IHBmYWQ6ICdqcy9jb3JlX3Blcm1pc3Npb25zLmpzJyxpc3RNb2R1 +bDogdHJ1ZSwgbXVzczogWydkYXJmU3RhdGlzdGlrJywgJ2RhcmZMb2didWNoJywgJ3JlY2h0ZUF1 +c0luZm8nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgJ21laW5lTWlrcm90ZWFtUGVyc29uSWRzJ10gfSwKCiAgLy8gVUkKICB7IHBmYWQ6 +ICdqcy91aV9kaWFsb2cuanMnLCAgICAgICBpc3RNb2R1bDogdHJ1ZSwgbXVzczogWydleHBvcnQg +ZnVuY3Rpb24gdG9hc3QnLCAnZXhwb3J0IGZ1bmN0aW9uIGJlc3RhZXRpZ2VuJywKICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdleHBvcnQg +ZnVuY3Rpb24gbW9kYWxaZWlnZW4nLCAnZGlydHlSZWdpc3RyaWVyZSddIH0sCiAgeyBwZmFkOiAn +anMvdWlfcnRlLmpzJywgICAgICAgICAgaXN0TW9kdWw6IHRydWUgfSwKCiAgLy8gR3JpZAogIHsg +cGZhZDogJ2pzL2dyaWRfcmVuZGVyLmpzJywgICAgIGlzdE1vZHVsOiB0cnVlLCBtdXNzOiBbJ2Fu +c2ljaHRXZWNoc2VsbicsICdrb3BmUmVuZGVybicsICdkYXRlbkdyaWRSZW5kZXJuJywKICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzcGFs +dGUtaGV1dGUnLCAnYXZhdGFyS3JlaXNIdG1sJ10gfSwKICB7IHBmYWQ6ICdqcy9ncmlkX2VkaXRv +ci5qcycsICAgICBpc3RNb2R1bDogdHJ1ZSwgbXVzczogWydlZGl0b3JPZWZmbmVuJywgJ2lzdERn +bFF1YWxpZml6aWVydCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAnZWRpdG9yS29tbWVudGFyVmVybGF1ZlJlbmRlcm4nXSB9LAogIHsg +cGZhZDogJ2pzL2dyaWRfaW50ZXJhY3Rpb24uanMnLGlzdE1vZHVsOiB0cnVlLCBtdXNzOiBbJ2Z1 +ZWxsSW5pdCcsICdmdWVsbEhhbmRsZUFuWmVsbGUnLAogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2tvbW1lbnRhclBvcG92ZXJaZWlnZW4n +LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgJ2tvbW1lbnRhclBvcG92ZXJWZXJzdGVja2VuJywKICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrb21tZW50YXJQb3BvdmVyRmVzdGhh +bHRlbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAna29tbWVudGFyTGlzdGUnLCAgICAgICAgLy8gU3R1ZmUtMi1IZWxwZXI6IExpc3Rl +IHN0YXR0IFNpbmdsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgJ2tvbW1lbnRhckFuemFobCcsCiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAna29tbWVudGFySGluenVmdWVnZW4n +LCAgLy8gUE9TVCBhbmhhZW5nZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICdrb21tZW50YXJMb2VzY2hlbicsICAgICAvLyBERUxFVEUg +cGVyIElECiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAnZGFyZktvbW1lbnRhckxvZXNjaGVuJ10gfSwKCiAgLy8gQWRtaW4KICB7IHBmYWQ6 +ICdqcy9hZG1pbi5qcycsICAgICAgICAgICBpc3RNb2R1bDogdHJ1ZSwgbXVzczogWydhZG1pblJl +bmRlcm4nLCAnZmVhdHVyZUlzdEFrdGl2JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyb2xsZW5UYWJlbGxlUmVuZGVybicsICdlcnNj +aGVpbnVuZ3NiaWxkUmVuZGVybicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAnZ3J1cHBlLWlucGxhbnVuZy1pbnB1dCcsICAvLyBTaWNo +dGJhcmtlaXRzLUNoZWNrYm94IChkeW5hbWlzY2ggZ2VyZW5kZXJ0LCAyMDI2LTA1LTI0KQogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dy +dXBwZS1kYXJmYXAtaW5wdXQnLCAgICAgLy8gQW5zcHJlY2hwYXJ0bmVyLUNoZWNrYm94IChkeW5h +bWlzY2ggZ2VyZW5kZXJ0LCAyMDI2LTA1LTI0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lNUFJFU1NVTV9ERUZBVUxUJ10gfSwKICB7 +IHBmYWQ6ICdqcy9hZG1pbl9jb21tb24uanMnLCAgICBpc3RNb2R1bDogdHJ1ZSB9LAogIHsgcGZh +ZDogJ2pzL2FkbWluX3BlcnNvbmFsLmpzJywgIGlzdE1vZHVsOiB0cnVlLCBtdXNzOiBbJ3BlcnNv +bkJlYXJiZWl0ZW5EaWFsb2cnLCAnZWxkZ2xJbmxpbmVUb2dnbGUnLAogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dlYnVydHN0YWdNb2Rh +bE9lZmZuZW4nLCAncGVyc29uUG9wb3ZlclplaWdlbicsCiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWVpblByb2ZpbE1vZGFsT2VmZm5l +bicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAnYW5zcHJlY2hwYXJ0bmVySW5saW5lVG9nZ2xlJywKICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpblBsYW51bmdJbmxpbmVUb2dn +bGUnXSB9LCAgLy8gUHJvLVBlcnNvbi1BdXNibGVuZGVuICgyMDI2LTA1LTI3KQogIHsgcGZhZDog +J2pzL2FkbWluX3JvbGxlbi5qcycsICAgIGlzdE1vZHVsOiB0cnVlLCBtdXNzOiBbJ2ZhY2hhdWZz +aWNodFJlbmRlcm4nLCAncm9sbGVuVGFiZWxsZVJlbmRlcm4nLAogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JPTExFTl9UWVBFTiddIH0s +CiAgeyBwZmFkOiAnanMvYWRtaW5fY29kZXMuanMnLCAgICAgaXN0TW9kdWw6IHRydWUgfSwKICB7 +IHBmYWQ6ICdqcy9hZG1pbl9rYWxlbmRlci5qcycsICBpc3RNb2R1bDogdHJ1ZSB9LAogIHsgcGZh +ZDogJ2pzL2FkbWluX2Vyc2NoZWludW5nc2JpbGQuanMnLCBpc3RNb2R1bDogdHJ1ZSwgbXVzczog +WydlcnNjaGVpbnVuZ3NiaWxkUmVuZGVybicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hcmtpZXJ1bmdlbkFud2VuZGVu +JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAnTUFSS0lFUlVOR0VOX0RFRkFVTFRTJywKICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3BhbHRlSGludGVy +Z3J1bmQnXSB9LCAgLy8gRmVyaWVuLU1hcmtpZXJ1bmcgKDIwMjYtMDUtMjcpCgogIC8vIFRoZW1l +bi1Nb2R1bGUKICB7IHBmYWQ6ICdqcy9iZXNldHp1bmcuanMnLCAgICAgICBpc3RNb2R1bDogdHJ1 +ZSwgbXVzczogWydiZXNldHp1bmdzS2FuZGlkYXRlbkVybWl0dGVsbicsCiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kYWwtaW5oYWx0 +LWdyb3NzJywgICAgIC8vIFRhZy1EZXRhaWwtTW9kYWwgdmVyZ3JvZXNzZXJ1bmcgKDIwMjYtMDUt +MjQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAnYmsta2FuZC1wZmVpbCcsICAgICAgICAgIC8vIFRvZ2dsZS1QZmVpbCDilr4v4pa0CiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn +Ymsta2FuZGlkYXRlbi10ZXh0J10gfSwgIC8vIDItemVpbGlnZSBLYW5kaWRhdGVuLVplaWxlCiAg +eyBwZmFkOiAnanMvZW1haWxfdm9ybGFnZW4uanMnLCAgaXN0TW9kdWw6IHRydWUsCiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm9sbGVfdmVyYW50d29ydHVuZy1EZWZhdWx0 +IG11c3MgZWNodGUgVW1sYXV0ZSBoYWJlbiAoSXNzdWUgIzQsIDIwMjYtMDUtMjQpLgogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11c3M6IFsnUsO8Y2tmcmFnZW4nLCAnR3LDvMOf +ZSddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhcmZfbmljaHQ6IFsnUnVl +Y2tmcmFnZW4nLCAnR3J1ZXNzZSddIH0sCiAgeyBwZmFkOiAnanMvd29jaGVucGxhbi5qcycsICAg +ICAgaXN0TW9kdWw6IHRydWUgfSwKICB7IHBmYWQ6ICdqcy9pbXBvcnRfZXhjZWwuanMnLCAgICBp +c3RNb2R1bDogdHJ1ZSwgbXVzczogWydpbXBUcm9ja2VubGF1ZkJlcmVjaG5lbicsICAvLyBWb3Jz +Y2hhdS1EaWZmIHZvciBJbXBvcnQgKDIwMjYtMDUtMjgpCiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW1wLXRyb2NrZW5sYXVmJywgICAg +ICAgICAgLy8gQnV0dG9uIGltIFN0YXR1cy1QYW5lbAogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4Y2VsUGlkU2V0J10gfSwgICAgICAg +ICAgIC8vIFNjaGx1ZXJtYW5uLVNjaHV0ejogbnVyIEV4Y2VsLVBlcnNvbmVuIGJlcmVpbmlnZW4K +ICB7IHBmYWQ6ICdqcy9zeW5jLmpzJywgICAgICAgICAgICBpc3RNb2R1bDogdHJ1ZSwgbXVzczog +WydzeW5jV29ya2VyU3RhcnRlbicsICdsb2NrU3RhdGVBbndlbmRlbicsCiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYW56ZWlnZU5hbWVG +dWVyS2VubnVuZyddIH0sCiAgeyBwZmFkOiAnanMvaGlud2Vpc2UuanMnLCAgICAgICAgaXN0TW9k +dWw6IHRydWUgfSwKICB7IHBmYWQ6ICdqcy9zY2hpY2h0dGVhbS5qcycsICAgICBpc3RNb2R1bDog +dHJ1ZSwgbXVzczogWydzY2hpY2h0VGVhbU1vZGFsT2VmZm5lbicsICdzY2hpY2h0Vm9uJywKICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdw +ZXJzb25TY2hpY2h0QW0nXSB9LAoKICAvLyBPcHRpb25hbC1Nb2R1bGUgKG51ciBCZXJlY2h0aWd0 +ZSkKICB7IHBmYWQ6ICdqcy9zdGF0aXN0aWsuanMnLCAgICAgICBpc3RNb2R1bDogdHJ1ZSwgbnVy +RnVlcjogJ2RhcmZTdGF0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdXNz +OiBbJ3N0YXRpc3Rpa0xhZGVuJywgJ3N0YXRpc3Rpa1JlbmRlcm4nXSB9LAogIHsgcGZhZDogJ2pz +L2xvZ2J1Y2guanMnLCAgICAgICAgIGlzdE1vZHVsOiB0cnVlLCBudXJGdWVyOiAnZGFyZkxvZycs +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVzczogWydsb2didWNoTGFkZW4n +LCAnZXhwb3J0IHZhciBsb2didWNoSG9va3MnXSB9Cl07Cgp2YXIgUSA9IGRvY3VtZW50LnF1ZXJ5 +U2VsZWN0b3IuYmluZChkb2N1bWVudCk7CgpmdW5jdGlvbiBzdGF0dXNaZWlsZShlaW50cmFnLCBz +dGF0dXMsIGtvbW1lbnRhciwgZGV0YWlscykgewogIHZhciB0ciA9IGRvY3VtZW50LmNyZWF0ZUVs +ZW1lbnQoJ3RyJyk7CiAgdHIuY2xhc3NOYW1lID0gc3RhdHVzID09PSAnT0snID8gJ29rJyA6IChz +dGF0dXMgPT09ICdXQVJOJyA/ICd3YXJuJyA6IChzdGF0dXMgPT09ICdTS0lQJyA/ICdza2lwJyA6 +ICdmZWgnKSk7CiAgdHIuaW5uZXJIVE1MID0KICAgICc8dGQgY2xhc3M9InBmYWQiPicgKyBlc2Nh +cGVIdG1sKGVpbnRyYWcucGZhZCkgKyAnPC90ZD4nICsKICAgICc8dGQgY2xhc3M9InN0YXR1cyI+ +JyArIHN0YXR1cyArICc8L3RkPicgKwogICAgJzx0ZCBjbGFzcz0iZGV0YWlsIj4nICsgKGtvbW1l +bnRhciA/IGVzY2FwZUh0bWwoa29tbWVudGFyKSA6ICcnKSArCiAgICAgIChkZXRhaWxzID8gJzxk +ZXRhaWxzPjxzdW1tYXJ5Pm1laHI8L3N1bW1hcnk+PHByZSBzdHlsZT0ibWFyZ2luOjRweCAwO3do +aXRlLXNwYWNlOnByZS13cmFwIj4nICsKICAgICAgICAgZXNjYXBlSHRtbChkZXRhaWxzKSArICc8 +L3ByZT48L2RldGFpbHM+JyA6ICcnKSArCiAgICAnPC90ZD4nOwogIFEoJyN6ZWlsZW4nKS5hcHBl +bmRDaGlsZCh0cik7Cn0KCmZ1bmN0aW9uIGVzY2FwZUh0bWwocykgewogIGlmIChzID09IG51bGwp +IHJldHVybiAnJzsKICByZXR1cm4gU3RyaW5nKHMpLnJlcGxhY2UoLyYvZywnJmFtcDsnKS5yZXBs +YWNlKC88L2csJyZsdDsnKS5yZXBsYWNlKC8+L2csJyZndDsnKS5yZXBsYWNlKC8iL2csJyZxdW90 +OycpOwp9CgpmdW5jdGlvbiByZWNodGVIb2xlbigpIHsKICByZXR1cm4gZmV0Y2goJy9hcGkvaW5m +bycpLnRoZW4oZnVuY3Rpb24ocikgewogICAgaWYgKCFyLm9rKSB0aHJvdyBuZXcgRXJyb3IoJ0hU +VFAgJyArIHIuc3RhdHVzICsgJyBhdWYgL2FwaS9pbmZvJyk7CiAgICByZXR1cm4gci5qc29uKCk7 +CiAgfSk7Cn0KCi8vIEdsb2JhbGUgTWFuaWZlc3QtVGFiZWxsZSAoRGF0ZWlwZmFkIC0+IHNoYTI1 +NitieXRlcywgZWlubWFsIGJlaW0gU3RhcnQgZ2VsYWRlbikuCi8vIFdpcmQgZWlubWFsIGJlaW0g +U3RhcnQgZ2VsYWRlbiDigJQgd2VubiBkYTogSGFzaC1WZXJnbGVpY2ggcHJvIERhdGVpCi8vIGFr +dGl2OyB3ZW5uIG5pY2h0OiBudXIgQW5rZXItL2RhcmZfbmljaHQtUHJ1ZWZ1bmcgd2llIGJpc2hl +ci4KdmFyIE1BTklGRVNUID0gbnVsbDsKdmFyIE1BTklGRVNUX01FVEEgPSBudWxsOyAgIC8vIHsg +Z2VuZXJpZXJ0LCBicmFuY2gsIGNvbW1pdCB9CgpmdW5jdGlvbiBtYW5pZmVzdExhZGVuKCkgewog +IHJldHVybiBmZXRjaCgnc3luYy1tYW5pZmVzdC5qc29uJywgeyBjYWNoZTogJ25vLXN0b3JlJyB9 +KS50aGVuKGZ1bmN0aW9uKHIpIHsKICAgIGlmICghci5vaykgcmV0dXJuIG51bGw7CiAgICByZXR1 +cm4gci5qc29uKCkudGhlbihmdW5jdGlvbihqKSB7CiAgICAgIGlmICghaiB8fCAhai5kYXRlaWVu +KSByZXR1cm4gbnVsbDsKICAgICAgTUFOSUZFU1RfTUVUQSA9IHsgZ2VuZXJpZXJ0OiBqLmdlbmVy +aWVydCwgYnJhbmNoOiBqLmJyYW5jaCwgY29tbWl0OiBqLmNvbW1pdCB9OwogICAgICByZXR1cm4g +ai5kYXRlaWVuOwogICAgfSk7CiAgfSkuY2F0Y2goZnVuY3Rpb24oKSB7IHJldHVybiBudWxsOyB9 +KTsKfQoKLy8gSGV4LVN0cmluZyBhdXMgQXJyYXlCdWZmZXIgKFNIQTI1Ni1PdXRwdXQgaXN0IDMy +IEJ5dGUgLT4gNjQgaGV4IGNoYXJzKS4KZnVuY3Rpb24gYnVmVG9IZXgoYnVmKSB7CiAgdmFyIGFy +ciA9IG5ldyBVaW50OEFycmF5KGJ1Zik7CiAgdmFyIG91dCA9ICcnOwogIGZvciAodmFyIGkgPSAw +OyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7CiAgICB2YXIgaCA9IGFycltpXS50b1N0cmluZygxNik7 +CiAgICBpZiAoaC5sZW5ndGggPT09IDEpIG91dCArPSAnMCc7CiAgICBvdXQgKz0gaDsKICB9CiAg +cmV0dXJuIG91dDsKfQoKZnVuY3Rpb24gZGFyZkZ1ZXIoZWludHJhZywgaW5mbykgewogIGlmICgh +ZWludHJhZy5udXJGdWVyKSByZXR1cm4gdHJ1ZTsKICB2YXIgc2VoZW4gPSAoaW5mbyAmJiBpbmZv +LnNlaGVuKSB8fCB7fTsKICBpZiAoZWludHJhZy5udXJGdWVyID09PSAnc3UnKSAgICAgICByZXR1 +cm4gISFpbmZvLmlzdFN1cGVyVXNlcjsKICBpZiAoZWludHJhZy5udXJGdWVyID09PSAnZGFyZlN0 +YXQnKSByZXR1cm4gISEoaW5mby5pc3RTdXBlclVzZXIgfHwgc2VoZW4uc3RhdGlzdGlrKTsKICBp +ZiAoZWludHJhZy5udXJGdWVyID09PSAnZGFyZkxvZycpICByZXR1cm4gISEoaW5mby5pc3RTdXBl +clVzZXIgfHwgc2VoZW4ubG9nYnVjaCk7CiAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIHBydWVm +ZUVpbnRyYWcoZWludHJhZywgaW5mbykgewogIC8vIFNraXAgd2VubiBuaWNodCBiZXJlY2h0aWd0 +CiAgaWYgKCFkYXJmRnVlcihlaW50cmFnLCBpbmZvKSkgewogICAgc3RhdHVzWmVpbGUoZWludHJh +ZywgJ1NLSVAnLCAnw7xiZXJzcHJ1bmdlbiAoa2VpbmUgJyArIGVpbnRyYWcubnVyRnVlciArICct +QmVyZWNodGlndW5nKScpOwogICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHN0YXR1czogJ3Nr +aXAnIH0pOwogIH0KICByZXR1cm4gZmV0Y2goZWludHJhZy5wZmFkLCB7IGNhY2hlOiAnbm8tc3Rv +cmUnIH0pLnRoZW4oZnVuY3Rpb24ocikgewogICAgaWYgKCFyLm9rKSB7CiAgICAgIHN0YXR1c1pl +aWxlKGVpbnRyYWcsICdGRUhMVCcsICdIVFRQICcgKyByLnN0YXR1cyArICcgJyArIHIuc3RhdHVz +VGV4dCk7CiAgICAgIHJldHVybiB7IHN0YXR1czogJ2ZlaCcgfTsKICAgIH0KICAgIC8vIGFycmF5 +QnVmZmVyICsgRGVjb2RlIHN0YXR0IGRpcmVrdCB0ZXh0KCk6IHdpciBicmF1Y2hlbiBiZWlkZXMK +ICAgIC8vIChIYXNoIHVlYmVyIEJ5dGVzICsgU3RyaW5nIGZ1ZXIgQW5rZXItQ2hlY2spLiBXZW5u +IHdpciBudXIgdGV4dCgpCiAgICAvLyBuZWhtZW4sIGtvZW5udGUgZWluIEJPTSBvZGVyIENSTEYv +TEYtRGlmZiBkZW4gSGFzaCB2ZXJmYWVsc2NoZW4uCiAgICByZXR1cm4gci5hcnJheUJ1ZmZlcigp +LnRoZW4oZnVuY3Rpb24oYWIpIHsKICAgICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYWIp +OwogICAgICB2YXIgYnl0ZUxlbiA9IGJ5dGVzLmxlbmd0aDsKICAgICAgdmFyIHR4dDsKICAgICAg +dHJ5IHsgdHh0ID0gbmV3IFRleHREZWNvZGVyKCd1dGYtOCcpLmRlY29kZShieXRlcyk7IH0KICAg +ICAgY2F0Y2ggKGUpIHsgdHh0ID0gJyc7IH0gICAvLyBCaW5hZXItRGF0ZWkgKHouQi4gaWNvKTog +QW5rZXItQ2hlY2sgZW50ZmFlbGx0CiAgICAgIHZhciBwcm9ibGVtZSA9IFtdOwogICAgICBpZiAo +ZWludHJhZy5ieXRlc01pbiAmJiBieXRlTGVuIDwgZWludHJhZy5ieXRlc01pbikgewogICAgICAg +IHByb2JsZW1lLnB1c2goJ0JvZHkgPCAnICsgZWludHJhZy5ieXRlc01pbiArICcgQnl0ZXMgKCcg +KyBieXRlTGVuICsgJyknKTsKICAgICAgfQogICAgICAoZWludHJhZy5tdXNzIHx8IFtdKS5mb3JF +YWNoKGZ1bmN0aW9uKHMpIHsKICAgICAgICBpZiAodHh0LmluZGV4T2YocykgPCAwKSBwcm9ibGVt +ZS5wdXNoKCdBbmtlciBmZWhsdDogIicgKyBzICsgJyInKTsKICAgICAgfSk7CiAgICAgIChlaW50 +cmFnLmRhcmZfbmljaHQgfHwgW10pLmZvckVhY2goZnVuY3Rpb24ocykgewogICAgICAgIGlmICh0 +eHQuaW5kZXhPZihzKSA+PSAwKSBwcm9ibGVtZS5wdXNoKCdkYXJmIG5pY2h0IGVudGhhbHRlbjog +IicgKyBzICsgJyInKTsKICAgICAgfSk7CiAgICAgIC8vIEltcG9ydC1QZmFkZSBwcsO8ZmVuIChu +dXIgTW9kdWwtRGF0ZWllbikuIEJlaSBkeW5hbWljIGltcG9ydCgpCiAgICAgIC8vIGlzdCBkZXIg +UGZhZCBuaWNodCBkaXJla3QgZml4IGluIGVpbmVyICJmcm9tIi1LbGF1c2VsLCBkYWhlcgogICAg +ICAvLyBwcnVlZmVuIHdpciBoaWVyIG51ciBzdGF0aXNjaGUgSW1wb3J0cy4KICAgICAgdmFyIGlt +cG9ydFBmYWRlID0gW107CiAgICAgIGlmIChlaW50cmFnLmlzdE1vZHVsKSB7CiAgICAgICAgdmFy +IHJlID0gL2Zyb21ccytbJyJdKFteJyJdKylbJyJdL2c7CiAgICAgICAgdmFyIG07CiAgICAgICAg +d2hpbGUgKChtID0gcmUuZXhlYyh0eHQpKSAhPT0gbnVsbCkgewogICAgICAgICAgdmFyIHAgPSBt +WzFdOwogICAgICAgICAgaWYgKHAuc3RhcnRzV2l0aCgnLi8nKSB8fCBwLnN0YXJ0c1dpdGgoJy4u +LycpKSBpbXBvcnRQZmFkZS5wdXNoKHApOwogICAgICAgIH0KICAgICAgfQogICAgICAvLyBNYW5p +ZmVzdC1IYXNoLVZlcmdsZWljaDogbnVyIHdlbm4gTWFuaWZlc3QgZGEgVU5EIGRpZXNlciBQZmFk +CiAgICAgIC8vIGltIE1hbmlmZXN0IGdlbGlzdGV0IGlzdC4gU28ga29lbm5lbiB3aXIgb2huZSBT +ZXJ2ZXItU2V0dXAKICAgICAgLy8gcHJ1ZWZlbiwgb2IgZGllIGF1c2dlbGllZmVydGUgRGF0ZWkg +Ynl0ZWdlbmF1IGRlbSBSZXBvLVN0YW5kCiAgICAgIC8vIGVudHNwcmljaHQg4oCUIHdpY2h0aWcg +ZnVlciBCZWhvZXJkZW4tUENzLCB3byBwZXIgSGFuZCBzdGF0dAogICAgICAvLyAnZ2l0IHB1bGwn +IGtvcGllcnQgd2lyZC4KICAgICAgdmFyIGhhc2hDaGVjayA9IFByb21pc2UucmVzb2x2ZShudWxs +KTsKICAgICAgaWYgKE1BTklGRVNUICYmIE1BTklGRVNUW2VpbnRyYWcucGZhZF0gJiYgdHlwZW9m +IGNyeXB0byAhPT0gJ3VuZGVmaW5lZCcgJiYgY3J5cHRvLnN1YnRsZSkgewogICAgICAgIGhhc2hD +aGVjayA9IGNyeXB0by5zdWJ0bGUuZGlnZXN0KCdTSEEtMjU2JywgYWIpLnRoZW4oZnVuY3Rpb24o +aGJ1ZikgewogICAgICAgICAgcmV0dXJuIGJ1ZlRvSGV4KGhidWYpOwogICAgICAgIH0pLmNhdGNo +KGZ1bmN0aW9uKCkgeyByZXR1cm4gbnVsbDsgfSk7CiAgICAgIH0KICAgICAgcmV0dXJuIGhhc2hD +aGVjay50aGVuKGZ1bmN0aW9uKGlzdEhhc2gpIHsKICAgICAgICB2YXIgaGFzaEluZm8gPSAnJzsK +ICAgICAgICBpZiAoTUFOSUZFU1QgJiYgTUFOSUZFU1RbZWludHJhZy5wZmFkXSkgewogICAgICAg +ICAgdmFyIHNvbGxIYXNoID0gTUFOSUZFU1RbZWludHJhZy5wZmFkXS5zaGEyNTY7CiAgICAgICAg +ICB2YXIgc29sbEJ5dGVzID0gTUFOSUZFU1RbZWludHJhZy5wZmFkXS5ieXRlczsKICAgICAgICAg +IGlmIChpc3RIYXNoKSB7CiAgICAgICAgICAgIGlmIChpc3RIYXNoICE9PSBzb2xsSGFzaCkgewog +ICAgICAgICAgICAgIHZhciBkZXRhaWwgPSAnRGF0ZWkgd2VpY2h0IHZvbSBSZXBvLVN0YW5kIGFi +IOKAlCBuZXUgYXVzIEdpdGVhIGtvcGllcmVuLlxuJyArCiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICdlcndhcnRldDogJyArIHNvbGxIYXNoICsgJyAoJyArIHNvbGxCeXRlcyArICcgQilcbicg +KwogICAgICAgICAgICAgICAgICAgICAgICAgICAnYWt0dWVsbDogICcgKyBpc3RIYXNoICArICcg +KCcgKyBieXRlTGVuICAgKyAnIEIpJzsKICAgICAgICAgICAgICBwcm9ibGVtZS5wdXNoKGRldGFp +bCk7CiAgICAgICAgICAgICAgaGFzaEluZm8gPSAnIMK3IOKclyBIYXNoIGFid2VpY2hlbmQnOwog +ICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGhhc2hJbmZvID0gJyDCtyDinJMgSGFz +aCBpZGVudGlzY2gnOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg +ICBoYXNoSW5mbyA9ICcgwrcgKEhhc2gtQmVyZWNobnVuZyBpbSBCcm93c2VyIG5pY2h0IG3Dtmds +aWNoKSc7CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIGlmIChNQU5JRkVTVCkgewogICAgICAg +ICAgaGFzaEluZm8gPSAnIMK3IChuaWNodCBpbSBNYW5pZmVzdCknOwogICAgICAgIH0KICAgICAg +ICBpZiAocHJvYmxlbWUubGVuZ3RoKSB7CiAgICAgICAgICBzdGF0dXNaZWlsZShlaW50cmFnLCAn +V0FSTicsIGJ5dGVMZW4gKyAnIEJ5dGVzJyArIGhhc2hJbmZvICsgJyDigJQgJyArIHByb2JsZW1l +Lmxlbmd0aCArICcgUHJvYmxlbShlKScsIHByb2JsZW1lLmpvaW4oJ1xuJykpOwogICAgICAgICAg +cmV0dXJuIHsgc3RhdHVzOiAnd2FybicsIGltcG9ydGU6IGltcG9ydFBmYWRlIH07CiAgICAgICAg +fQogICAgICAgIHN0YXR1c1plaWxlKGVpbnRyYWcsICdPSycsIGJ5dGVMZW4gKyAnIEJ5dGVzJyAr +IGhhc2hJbmZvICsgKGltcG9ydFBmYWRlLmxlbmd0aCA/ICcgwrcgJyArIGltcG9ydFBmYWRlLmxl +bmd0aCArICcgSW1wb3J0ZScgOiAnJykpOwogICAgICAgIHJldHVybiB7IHN0YXR1czogJ29rJywg +aW1wb3J0ZTogaW1wb3J0UGZhZGUgfTsKICAgICAgfSk7CiAgICB9KTsKICB9KS5jYXRjaChmdW5j +dGlvbihlKSB7CiAgICBzdGF0dXNaZWlsZShlaW50cmFnLCAnRkVITFQnLCBlLm1lc3NhZ2UgfHwg +U3RyaW5nKGUpKTsKICAgIHJldHVybiB7IHN0YXR1czogJ2ZlaCcgfTsKICB9KTsKfQoKZnVuY3Rp +b24gcHJ1ZWZlSW1wb3J0ZShlcmdlYm5pc3NlKSB7CiAgLy8gU2FtbWVsdCBhbGxlIHN0YXRpc2No +IGltcG9ydGllcnRlbiByZWxhdGl2ZW4gUGZhZGUgYXVzIGRlbiBNb2R1bC0KICAvLyBQcnVlZnVu +Z2VuIHVuZCBwcnVlZnN0IGRpZSBqZW5pZ2VuLCBkaWUgTklDSFQgc2Nob24gZXhwbGl6aXQgaW4g +U09MTAogIC8vIHN0YW5kZW4g4oCUIHNvbnN0IGRvcHBlbHRlIEFuemVpZ2UgZGVyc2VsYmVuIERh +dGVpIG1pdCB1LlUuIGFid2VpY2hlbmRlbQogIC8vIEVyZ2VibmlzIChQb3dlclNoZWxsLUh0dHBM +aXN0ZW5lciBhbnR3b3J0ZXQgYXVmIEhFQUQgbmljaHQgenV2ZXJsYWVzc2lnKS4KICAvLyBad2Vj +azogUGhhbnRvbS1JbXBvcnRzIGF1ZiBlbnRmZXJudGUvdW1iZW5hbm50ZSBNb2R1bGUgYXVmZGVj +a2VuLgogIHZhciBzb2xsUGZhZGUgPSBuZXcgU2V0KFNPTEwubWFwKGZ1bmN0aW9uKGUpIHsgcmV0 +dXJuIGUucGZhZDsgfSkpOwogIHZhciBhbGxlSW1wb3J0ZSA9IG5ldyBTZXQoKTsKICBlcmdlYm5p +c3NlLmZvckVhY2goZnVuY3Rpb24ociwgaSkgewogICAgdmFyIGJhc2lzID0gU09MTFtpXS5wZmFk +OwogICAgKHIuaW1wb3J0ZSB8fCBbXSkuZm9yRWFjaChmdW5jdGlvbihwKSB7CiAgICAgIHZhciBi +YXNpc0RpciA9IGJhc2lzLmluZGV4T2YoJy8nKSA+PSAwID8gYmFzaXMuc3Vic3RyaW5nKDAsIGJh +c2lzLmxhc3RJbmRleE9mKCcvJykgKyAxKSA6ICcnOwogICAgICB2YXIgdGVpbGUgPSAoYmFzaXNE +aXIgKyBwKS5zcGxpdCgnLycpOwogICAgICB2YXIgc3RhY2sgPSBbXTsKICAgICAgdGVpbGUuZm9y +RWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgaWYgKHQgPT09ICcuLicpIHN0YWNrLnBvcCgpOwog +ICAgICAgIGVsc2UgaWYgKHQgIT09ICcuJyAmJiB0ICE9PSAnJykgc3RhY2sucHVzaCh0KTsKICAg +ICAgfSk7CiAgICAgIHZhciB2b2xsID0gc3RhY2suam9pbignLycpOwogICAgICBpZiAoIXNvbGxQ +ZmFkZS5oYXModm9sbCkpIGFsbGVJbXBvcnRlLmFkZCh2b2xsKTsKICAgIH0pOwogIH0pOwogIGlm +IChhbGxlSW1wb3J0ZS5zaXplID09PSAwKSB7CiAgICBzdGF0dXNaZWlsZSh7IHBmYWQ6ICcoSW1w +b3J0LUtldHRlIGdlcHLDvGZ0KScgfSwgJ09LJywgJ2tlaW5lIHp1c2FldHpsaWNoZW4gUGhhbnRv +bS1JbXBvcnRzJyk7CiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgc3RhdHVzOiAnb2snIH0p +OwogIH0KICAvLyBHRVQgc3RhdHQgSEVBRDogUG93ZXJTaGVsbC1IdHRwTGlzdGVuZXIgYW50d29y +dGV0IGF1ZiBIRUFEIG5pY2h0CiAgLy8genV2ZXJsYWVzc2lnIChnbGVpY2hlciBQZmFkIGthbm4g +bWl0IEdFVCAyMDAsIG1pdCBIRUFEIDQwNSBsaWVmZXJuKS4KICAvLyBXaXIgbGVzZW4gZGVuIEJv +ZHkgbmljaHQsIGRlciBTdGF0dXMgcmVpY2h0LgogIHZhciBjaGVja3MgPSBbXTsKICBhbGxlSW1w +b3J0ZS5mb3JFYWNoKGZ1bmN0aW9uKHApIHsKICAgIGNoZWNrcy5wdXNoKGZldGNoKHAsIHsgY2Fj +aGU6ICduby1zdG9yZScgfSkudGhlbihmdW5jdGlvbihyKSB7CiAgICAgIHJldHVybiB7IHBmYWQ6 +IHAsIG9rOiByLm9rLCBzdGF0dXM6IHIuc3RhdHVzIH07CiAgICB9KS5jYXRjaChmdW5jdGlvbigp +IHsgcmV0dXJuIHsgcGZhZDogcCwgb2s6IGZhbHNlLCBzdGF0dXM6ICdORVRaJyB9OyB9KSk7CiAg +fSk7CiAgcmV0dXJuIFByb21pc2UuYWxsKGNoZWNrcykudGhlbihmdW5jdGlvbihhcnIpIHsKICAg +IHZhciBwcm9ibGVtZSA9IGFyci5maWx0ZXIoZnVuY3Rpb24oeCkgeyByZXR1cm4gIXgub2s7IH0p +OwogICAgaWYgKHByb2JsZW1lLmxlbmd0aCA9PT0gMCkgewogICAgICBzdGF0dXNaZWlsZSh7IHBm +YWQ6ICcoSW1wb3J0LUtldHRlIGdlcHLDvGZ0LCAnICsgYXJyLmxlbmd0aCArICcgUGZhZGUpJyB9 +LCAnT0snLCAnYWxsZSBuaWNodC1TT0xMLUltcG9ydHMgYXVmbG9lc2JhcicpOwogICAgICByZXR1 +cm4geyBzdGF0dXM6ICdvaycgfTsKICAgIH0KICAgIHByb2JsZW1lLmZvckVhY2goZnVuY3Rpb24o +cCkgewogICAgICBzdGF0dXNaZWlsZSh7IHBmYWQ6IHAucGZhZCB9LCAnRkVITFQnLCAnUGhhbnRv +bS1JbXBvcnQ6IEhUVFAgJyArIHAuc3RhdHVzKTsKICAgIH0pOwogICAgcmV0dXJuIHsgc3RhdHVz +OiAnZmVoJywgYW56YWhsOiBwcm9ibGVtZS5sZW5ndGggfTsKICB9KTsKfQoKZnVuY3Rpb24gYnl0 +ZXNGbXQobikgewogIGlmIChuID09IG51bGwpIHJldHVybiAn4oCUJzsKICBpZiAobiA8IDEwMjQp +IHJldHVybiBuICsgJyBCJzsKICBpZiAobiA8IDEwMjQgKiAxMDI0KSByZXR1cm4gKG4gLyAxMDI0 +KS50b0ZpeGVkKDEpICsgJyBLQic7CiAgcmV0dXJuIChuIC8gMTAyNCAvIDEwMjQpLnRvRml4ZWQo +MikgKyAnIE1CJzsKfQoKZnVuY3Rpb24gcHJ1ZWZlR3JvZXNzZW4oKSB7CiAgUSgnI2dyb2Vzc2Ut +bWV0YScpLnRleHRDb250ZW50ID0gJ0ZyYWdlIFNlcnZlci1FbmRwb2ludCAvYXBpL3N5bmMtY2hl +Y2svZGF0ZWllbiBhYuKApic7CiAgUSgnI2dyb2Vzc2UtemVpbGVuJykuaW5uZXJIVE1MID0gJyc7 +CiAgcmV0dXJuIGZldGNoKCcvYXBpL3N5bmMtY2hlY2svZGF0ZWllbicsIHsgY2FjaGU6ICduby1z +dG9yZScgfSkudGhlbihmdW5jdGlvbihyKSB7CiAgICBpZiAoIXIub2spIHsKICAgICAgUSgnI2dy +b2Vzc2UtbWV0YScpLnRleHRDb250ZW50ID0gJ0hUVFAgJyArIHIuc3RhdHVzICsgJyAnICsgci5z +dGF0dXNUZXh0ICsgJyDigJQgRW5kcG9pbnQgbmljaHQgdmVyZsO8Z2JhciBvZGVyIGtlaW5lIEFk +bWluLVJlY2h0ZS4nOwogICAgICByZXR1cm4geyBzdGF0dXM6ICdmZWgnIH07CiAgICB9CiAgICBy +ZXR1cm4gci5qc29uKCkudGhlbihmdW5jdGlvbihqKSB7CiAgICAgIGlmICghai5vaykgewogICAg +ICAgIFEoJyNncm9lc3NlLW1ldGEnKS50ZXh0Q29udGVudCA9IGouZmVobGVyIHx8ICdTZXJ2ZXIg +bWVsZGV0IEZlaGxlci4nOwogICAgICAgIHJldHVybiB7IHN0YXR1czogJ3dhcm4nIH07CiAgICAg +IH0KICAgICAgUSgnI2dyb2Vzc2UtbWV0YScpLmlubmVySFRNTCA9CiAgICAgICAgJ1NvdXJjZTog +PGNvZGU+JyArIGVzY2FwZUh0bWwoai5zb3VyY2VSb290KSArICc8L2NvZGU+PGJyPicgKwogICAg +ICAgICdBc3NldDogIDxjb2RlPicgKyBlc2NhcGVIdG1sKGouYXNzZXRSb290KSAgKyAnPC9jb2Rl +Pjxicj4nICsKICAgICAgICBqLmFuemFobCArICcgRGF0ZWllbiBnZXByw7xmdCDCtyAnICsKICAg +ICAgICAnPHNwYW4gc3R5bGU9ImNvbG9yOiMxZjdhMWYiPicgKyBqLmFuek9rICsgJyBPSzwvc3Bh +bj4gwrcgJyArCiAgICAgICAgJzxzcGFuIHN0eWxlPSJjb2xvcjojYjA2MDAwIj4nICsgai5hbnpE +aWZmICsgJyBHcsO2w59lbi1EaWZmPC9zcGFuPiDCtyAnICsKICAgICAgICAnPHNwYW4gc3R5bGU9 +ImNvbG9yOiNiMDIwMjAiPicgKyBqLmFuekZlaGx0QXNzZXQgKyAnIEFzc2V0IGZlaGx0PC9zcGFu +PiDCtyAnICsKICAgICAgICAnPHNwYW4gc3R5bGU9ImNvbG9yOiNiMDIwMjAiPicgKyBqLmFuekZl +aGx0U291cmNlICsgJyBTb3VyY2UgZmVobHQ8L3NwYW4+JzsKICAgICAgdmFyIHRib2R5ID0gUSgn +I2dyb2Vzc2UtemVpbGVuJyk7CiAgICAgIChqLmRhdGVpZW4gfHwgW10pLmZvckVhY2goZnVuY3Rp +b24oZCkgewogICAgICAgIHZhciBjbHMgPSAnb2snLCBzdGF0dXNUeHQgPSAn4pyTIGlkZW50aXNj +aCc7CiAgICAgICAgaWYgKGQuc3RhdHVzID09PSAnZ3JvZXNzZV9kaWZmJykgICB7IGNscyA9ICd3 +YXJuJzsgc3RhdHVzVHh0ID0gJ+KaoCBHcsO2w59lIGFid2VpY2hlbmQnOyB9CiAgICAgICAgZWxz +ZSBpZiAoZC5zdGF0dXMgPT09ICdhc3NldF9mZWhsdCcpICB7IGNscyA9ICdmZWgnOyAgc3RhdHVz +VHh0ID0gJ+KclyBBc3NldC1DYWNoZSBsZWVyJzsgfQogICAgICAgIGVsc2UgaWYgKGQuc3RhdHVz +ID09PSAnc291cmNlX2ZlaGx0JykgeyBjbHMgPSAnZmVoJzsgIHN0YXR1c1R4dCA9ICfinJcgU291 +cmNlIGZlaGx0JzsgfQogICAgICAgIGVsc2UgaWYgKGQuc3RhdHVzID09PSAnYmVpZGVfZmVobGVu +JykgeyBjbHMgPSAnZmVoJzsgIHN0YXR1c1R4dCA9ICfinJcgYmVpZGUgZmVobGVuJzsgfQogICAg +ICAgIHZhciBkaWZmVHh0ID0gJyc7CiAgICAgICAgaWYgKGQuZGlmZkJ5dGVzICE9IG51bGwpIHsK +ICAgICAgICAgIGlmIChkLmRpZmZCeXRlcyA9PT0gMCkgZGlmZlR4dCA9ICcwJzsKICAgICAgICAg +IGVsc2UgZGlmZlR4dCA9IChkLmRpZmZCeXRlcyA+IDAgPyAnKycgOiAnJykgKyBkLmRpZmZCeXRl +czsKICAgICAgICB9IGVsc2UgeyBkaWZmVHh0ID0gJ+KAlCc7IH0KICAgICAgICB2YXIgdHIgPSBk +b2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwogICAgICAgIHRyLmNsYXNzTmFtZSA9IGNsczsK +ICAgICAgICB0ci5pbm5lckhUTUwgPQogICAgICAgICAgJzx0ZCBjbGFzcz0icGZhZCI+JyArIGVz +Y2FwZUh0bWwoZC5wZmFkKSArICc8L3RkPicgKwogICAgICAgICAgJzx0ZCBzdHlsZT0idGV4dC1h +bGlnbjpyaWdodCI+JyArIGJ5dGVzRm10KGQuc291cmNlQnl0ZXMpICsgJzwvdGQ+JyArCiAgICAg +ICAgICAnPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOnJpZ2h0Ij4nICsgYnl0ZXNGbXQoZC5hc3NldEJ5 +dGVzKSAgKyAnPC90ZD4nICsKICAgICAgICAgICc8dGQgc3R5bGU9InRleHQtYWxpZ246cmlnaHQi +PicgKyBkaWZmVHh0ICsgJzwvdGQ+JyArCiAgICAgICAgICAnPHRkIGNsYXNzPSJzdGF0dXMiPicg +KyBzdGF0dXNUeHQgKyAnPC90ZD4nOwogICAgICAgIHRib2R5LmFwcGVuZENoaWxkKHRyKTsKICAg +ICAgfSk7CiAgICAgIHJldHVybiB7IHN0YXR1czogJ29rJywgYW56RGlmZjogai5hbnpEaWZmLCBh +bnpGZWhsdEFzc2V0OiBqLmFuekZlaGx0QXNzZXQsIGFuekZlaGx0U291cmNlOiBqLmFuekZlaGx0 +U291cmNlIH07CiAgICB9KTsKICB9KS5jYXRjaChmdW5jdGlvbihlKSB7CiAgICBRKCcjZ3JvZXNz +ZS1tZXRhJykudGV4dENvbnRlbnQgPSAnTmV0endlcmstRmVobGVyOiAnICsgKGUubWVzc2FnZSB8 +fCBlKTsKICAgIHJldHVybiB7IHN0YXR1czogJ2ZlaCcgfTsKICB9KTsKfQoKLy8gRmVobGVyLU9i +amVrdCAtPiB7IG5hbWUsIHRleHQsIHN0YWNrIH0gZnVlciBkaWUgQW56ZWlnZSBhdWZiZXJlaXRl +bi4KZnVuY3Rpb24gbW9kdWxGZWhsZXJUZXh0KGUpIHsKICB2YXIgbiA9IChlICYmIGUubmFtZSkg +fHwgJ0ZlaGxlcic7CiAgdmFyIG0gPSAoZSAmJiBlLm1lc3NhZ2UpIHx8IFN0cmluZyhlKTsKICB2 +YXIgc3RhY2sgPSAoZSAmJiBlLnN0YWNrKSA/IFN0cmluZyhlLnN0YWNrKS5zcGxpdCgnXG4nKS5z +bGljZSgwLCA1KS5qb2luKCdcbicpIDogJyc7CiAgcmV0dXJuIHsgbmFtZTogbiwgdGV4dDogbiAr +ICc6ICcgKyBtLCBzdGFjazogc3RhY2sgfTsKfQoKZnVuY3Rpb24gc3RhcnRaZWlsZShtb2R1bCwg +c3RhdHVzLCBrb21tZW50YXIsIGRldGFpbHMpIHsKICB2YXIgdHIgPSBkb2N1bWVudC5jcmVhdGVF +bGVtZW50KCd0cicpOwogIHRyLmNsYXNzTmFtZSA9IHN0YXR1cyA9PT0gJ09LJyA/ICdvaycgOiAo +c3RhdHVzID09PSAnSU5GTycgPyAnc2tpcCcgOiAnZmVoJyk7CiAgdHIuaW5uZXJIVE1MID0KICAg +ICc8dGQgY2xhc3M9InBmYWQiPicgKyBlc2NhcGVIdG1sKG1vZHVsKSArICc8L3RkPicgKwogICAg +Jzx0ZCBjbGFzcz0ic3RhdHVzIj4nICsgc3RhdHVzICsgJzwvdGQ+JyArCiAgICAnPHRkIGNsYXNz +PSJkZXRhaWwiPicgKyAoa29tbWVudGFyID8gZXNjYXBlSHRtbChrb21tZW50YXIpIDogJycpICsK +ICAgICAgKGRldGFpbHMgPyAnPGRldGFpbHM+PHN1bW1hcnk+bWVocjwvc3VtbWFyeT48cHJlIHN0 +eWxlPSJtYXJnaW46NHB4IDA7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPicgKwogICAgICAgICBlc2Nh +cGVIdG1sKGRldGFpbHMpICsgJzwvcHJlPjwvZGV0YWlscz4nIDogJycpICsKICAgICc8L3RkPic7 +CiAgUSgnI3N0YXJ0LXplaWxlbicpLmFwcGVuZENoaWxkKHRyKTsKfQoKLy8gU3RhcnQtRGlhZ25v +c2U6IGxhZWR0IGplZGVzIEVTLU1vZHVsIGVpbnplbG4gcGVyIGR5bmFtaWMgaW1wb3J0KCkuIEZh +ZW5ndAovLyBTeW50YXgtL0xpbmstRmVobGVyIChmZWhsZW5kZXIgRXhwb3J0LCBrYXB1dHRlciBJ +bXBvcnQtUGZhZCkgYWIsIGRpZSBpbQovLyBlY2h0ZW4gaW5kZXguaHRtbCB6dW0gd2Vpc3NlbiBC +aWxkc2NoaXJtIGZ1ZWhyZW4uIGFwcC5qcyB6dWxldHp0OiBkb3J0IGlzdAovLyBlaW4gTGF1Znpl +aXRmZWhsZXIgYXVzIGluaXQoKSBnZWdlbiBkaWUgZnJlbWRlIERPTSBlcndhcnRiYXIgKC0+IElO +Rk8pLCBlaW4KLy8gUGFyc2UtL0xpbmstRmVobGVyIGRhZ2VnZW4gZWluIGVjaHRlciBTdGFydC1L +aWxsZXIgKC0+IEZFSExFUikuCmZ1bmN0aW9uIHBydWVmZVN0YXJ0KGluZm8pIHsKICBRKCcjc3Rh +cnQtbWV0YScpLnRleHRDb250ZW50ID0gJ0zDpGR0IE1vZHVsZSBlaW56ZWxu4oCmJzsKICBRKCcj +c3RhcnQtemVpbGVuJykuaW5uZXJIVE1MID0gJyc7CgogIHZhciBnRXJyID0gW107CiAgZnVuY3Rp +b24gb25FcnIoZXYpIHsKICAgIGdFcnIucHVzaCgoZXYuZXJyb3IgJiYgKGV2LmVycm9yLnN0YWNr +IHx8IGV2LmVycm9yLm1lc3NhZ2UpKSB8fAogICAgICAgICAgICAgICgoZXYubWVzc2FnZSB8fCAn +ZXJyb3InKSArIChldi5maWxlbmFtZSA/ICcgQCAnICsgZXYuZmlsZW5hbWUgKyAnOicgKyBldi5s +aW5lbm8gOiAnJykpKTsKICB9CiAgZnVuY3Rpb24gb25SZWooZXYpIHsKICAgIHZhciByID0gZXYu +cmVhc29uOwogICAgZ0Vyci5wdXNoKCd1bmhhbmRsZWRyZWplY3Rpb246ICcgKyAoKHIgJiYgKHIu +c3RhY2sgfHwgci5tZXNzYWdlKSkgfHwgcikpOwogIH0KICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l +cignZXJyb3InLCBvbkVyciwgdHJ1ZSk7CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3VuaGFu +ZGxlZHJlamVjdGlvbicsIG9uUmVqKTsKCiAgLy8gTnVyIE1vZHVsZSwgZnVlciBkaWUgZGVyIFVz +ZXIgYmVyZWNodGlndCBpc3QgKHNvbnN0IDQwNCAtPiBmYWxzY2hlciBGRUhMRVIpLgogIHZhciBw +ZmFkZSA9IFNPTEwuZmlsdGVyKGZ1bmN0aW9uKGUpIHsgcmV0dXJuIGUuaXN0TW9kdWwgJiYgZGFy +ZkZ1ZXIoZSwgaW5mbyk7IH0pCiAgICAgICAgICAgICAgICAgIC5tYXAoZnVuY3Rpb24oZSkgeyBy +ZXR1cm4gZS5wZmFkOyB9KTsKCiAgdmFyIHJlcyA9IHsgb2s6IDAsIGZlaDogMCB9OwogIHZhciBj +aGFpbiA9IFByb21pc2UucmVzb2x2ZSgpOwogIHBmYWRlLmZvckVhY2goZnVuY3Rpb24ocCkgewog +ICAgY2hhaW4gPSBjaGFpbi50aGVuKGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gaW1wb3J0KCcu +LycgKyBwKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgIHN0YXJ0WmVpbGUocCwgJ09LJywgJ2dl +bGFkZW4nKTsgcmVzLm9rKys7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsKICAgICAgICB2 +YXIgZiA9IG1vZHVsRmVobGVyVGV4dChlKTsKICAgICAgICBzdGFydFplaWxlKHAsICdGRUhMRVIn +LCBmLnRleHQsIGYuc3RhY2spOyByZXMuZmVoKys7CiAgICAgIH0pOwogICAgfSk7CiAgfSk7CiAg +Ly8gYXBwLmpzIHp1bGV0enQgdW5kIGdlc29uZGVydCBrbGFzc2lmaXppZXJlbi4KICBjaGFpbiA9 +IGNoYWluLnRoZW4oZnVuY3Rpb24oKSB7CiAgICByZXR1cm4gaW1wb3J0KCcuL2FwcC5qcycpLnRo +ZW4oZnVuY3Rpb24oKSB7CiAgICAgIHN0YXJ0WmVpbGUoJ2FwcC5qcycsICdPSycsICdnZWxhZGVu +ICsgaW5pdCgpIGR1cmNobGF1ZmVuJyk7IHJlcy5vaysrOwogICAgfSkuY2F0Y2goZnVuY3Rpb24o +ZSkgewogICAgICB2YXIgZiA9IG1vZHVsRmVobGVyVGV4dChlKTsKICAgICAgaWYgKGYubmFtZSA9 +PT0gJ1N5bnRheEVycm9yJykgewogICAgICAgIC8vIFBhcnNlLSBvZGVyIExpbmstRmVobGVyICh6 +LkIuIGZlaGxlbmRlciBFeHBvcnQpIC0+IGVjaHRlciBTdGFydC1LaWxsZXIuCiAgICAgICAgc3Rh +cnRaZWlsZSgnYXBwLmpzJywgJ0ZFSExFUicsIGYudGV4dCwgZi5zdGFjayk7IHJlcy5mZWgrKzsK +ICAgICAgfSBlbHNlIHsKICAgICAgICBzdGFydFplaWxlKCdhcHAuanMnLCAnSU5GTycsCiAgICAg +ICAgICAnTW9kdWwgbMOkZHQg4oCUIExhdWZ6ZWl0ZmVobGVyIGF1cyBpbml0KCkgYXVmIGRpZXNl +ciBEaWFnbm9zZS1TZWl0ZSBlcndhcnRiYXIgKGltIGVjaHRlbiBpbmRleC5odG1sIGdnZi4gbmlj +aHQpOiAnICsgZi50ZXh0LAogICAgICAgICAgZi5zdGFjayk7CiAgICAgIH0KICAgIH0pOwogIH0p +OwoKICByZXR1cm4gY2hhaW4udGhlbihmdW5jdGlvbigpIHsKICAgIHdpbmRvdy5yZW1vdmVFdmVu +dExpc3RlbmVyKCdlcnJvcicsIG9uRXJyLCB0cnVlKTsKICAgIHdpbmRvdy5yZW1vdmVFdmVudExp +c3RlbmVyKCd1bmhhbmRsZWRyZWplY3Rpb24nLCBvblJlaik7CiAgICBpZiAoZ0Vyci5sZW5ndGgp +IHsKICAgICAgLy8gRG9wcGVsdGUgenVzYW1tZW5mYXNzZW4uCiAgICAgIHZhciBzZWVuID0ge307 +CiAgICAgIGdFcnIuZm9yRWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgaWYgKHNlZW5bdF0pIHJl +dHVybjsgc2Vlblt0XSA9IDE7CiAgICAgICAgc3RhcnRaZWlsZSgnKGdsb2JhbGVyIEZlaGxlciBi +ZWltIE1vZHVsLUxhZGV0ZXN0KScsICdGRUhMRVInLCAnc2llaGUgRGV0YWlscycsIHQpOwogICAg +ICAgIHJlcy5mZWgrKzsKICAgICAgfSk7CiAgICB9CiAgICBRKCcjc3RhcnQtbWV0YScpLmlubmVy +SFRNTCA9IHJlcy5mZWgKICAgICAgPyAnPHNwYW4gc3R5bGU9ImNvbG9yOiNiMDIwMjA7Zm9udC13 +ZWlnaHQ6NjAwIj7inJcgJyArIHJlcy5mZWggKyAnIE1vZHVsLVByb2JsZW0oZSkg4oCUIERBUyB2 +ZXJoaW5kZXJ0IGRlbiBTdGFydC48L3NwYW4+IEJlaGViZSBkaWUgZXJzdGUgRkVITEVSLVplaWxl +LCBkYW5uIGVybmV1dCBwcsO8ZmVuLicKICAgICAgOiAnPHNwYW4gc3R5bGU9ImNvbG9yOiMxZjdh +MWY7Zm9udC13ZWlnaHQ6NjAwIj7inJMgQWxsZSAnICsgcmVzLm9rICsgJyBNb2R1bGUgbGFkZW4g +ZmVobGVyZnJlaS48L3NwYW4+IFN0YXJ0ZXQgZGllIFNlaXRlIHRyb3R6ZGVtIG5pY2h0LCBsaWVn +dCBlcyBhbiBkZXIgTGF1ZnplaXQgKERhdGVuL0FQSS9pbml0KSDigJQgQnJvd3Nlci1Lb25zb2xl +IGRpcmVrdCBhdWYgPGNvZGU+aW5kZXguaHRtbDwvY29kZT4gcHLDvGZlbi4nOwogICAgcmV0dXJu +IHJlczsKICB9KTsKfQoKZnVuY3Rpb24gc3RhcnQoKSB7CiAgUSgnI2J0bi1zdGFydCcpLmRpc2Fi +bGVkID0gdHJ1ZTsKICBRKCcjemVpbGVuJykuaW5uZXJIVE1MID0gJyc7CiAgUSgnI3N0YXJ0LXpl +aWxlbicpLmlubmVySFRNTCA9ICcnOwogIFEoJyNzdGFydC1tZXRhJykudGV4dENvbnRlbnQgPSAn +bMOkdWZ04oCmJzsKICBRKCcjZ3JvZXNzZS16ZWlsZW4nKS5pbm5lckhUTUwgPSAnJzsKICBRKCcj +Z3JvZXNzZS1tZXRhJykudGV4dENvbnRlbnQgPSAnJzsKICBRKCcjc3RhdHVzJykudGV4dENvbnRl +bnQgPSAnbMOkdWZ04oCmJzsKICBRKCcjc3RhdHVzJykuY2xhc3NOYW1lID0gJ2xhdWZlbic7CiAg +USgnI3p1c2FtbWVuZmFzc3VuZycpLnRleHRDb250ZW50ID0gJ0xhZGXigKYnOwogIFEoJyN6dXNh +bW1lbmZhc3N1bmcnKS5jbGFzc05hbWUgPSAnenVzYW1tZW5mYXNzdW5nIG5ldXRyYWwnOwoKICAv +LyBFcnN0IE1hbmlmZXN0IGxhZGVuIChGZWhsZXIgdG9sZXJpZXJlbiDigJQgZGFubiBmYWVsbHQg +ZGVyIENoZWNrIGF1ZgogIC8vIHJlaW5lbiBBbmtlci1DaGVjayB6dXJ1ZWNrKSwgZGFubiBSZWNo +dGUgaG9sZW4gKyBQcnVlZnVuZyBzdGFydGVuLgogIFByb21pc2UuYWxsKFttYW5pZmVzdExhZGVu +KCksIHJlY2h0ZUhvbGVuKCldKS50aGVuKGZ1bmN0aW9uKGFycikgewogICAgTUFOSUZFU1QgPSBh +cnJbMF07CiAgICB2YXIgaW5mbyA9IGFyclsxXTsKICAgIHZhciBtYW5pZmVzdFR4dDsKICAgIGlm +IChNQU5JRkVTVCAmJiBNQU5JRkVTVF9NRVRBKSB7CiAgICAgIG1hbmlmZXN0VHh0ID0gJyDCtyBN +YW5pZmVzdDogJyArIChNQU5JRkVTVF9NRVRBLmJyYW5jaCB8fCAnPycpICsKICAgICAgICAgICAg +ICAgICAgICAnQCcgKyAoTUFOSUZFU1RfTUVUQS5jb21taXQgfHwgJz8nKSArCiAgICAgICAgICAg +ICAgICAgICAgJyAoJyArIE9iamVjdC5rZXlzKE1BTklGRVNUKS5sZW5ndGggKyAnIERhdGVpZW4s +IGdlbmVyaWVydCAnICsKICAgICAgICAgICAgICAgICAgICAoTUFOSUZFU1RfTUVUQS5nZW5lcmll +cnQgfHwgJz8nKSArICcpJzsKICAgIH0gZWxzZSB7CiAgICAgIG1hbmlmZXN0VHh0ID0gJyDCtyDi +mqAgTWFuaWZlc3QgbmljaHQgZ2VmdW5kZW4g4oCUIEhhc2gtVmVyZ2xlaWNoIMO8YmVyc3BydW5n +ZW4nICsKICAgICAgICAgICAgICAgICAgICAnICh1cGRhdGUtc3luYy1tYW5pZmVzdC5zaCBhdXNm +w7xocmVuIHVuZCBjb21taXR0ZW4pJzsKICAgIH0KICAgIFEoJyNpbmZvJykuaW5uZXJIVE1MID0K +ICAgICAgJ0VpbmdlbG9nZ3QgYWxzICcgKyBlc2NhcGVIdG1sKGluZm8uYmVudXR6ZXIgfHwgJz8n +KSArICcgwrcgUm9sbGU6ICcgKyBlc2NhcGVIdG1sKGluZm8ucm9sbGUgfHwgJz8nKSArCiAgICAg +IChpbmZvLmlzdFN1cGVyVXNlciA/ICcgwrcgU3VwZXJVc2VyJyA6ICcnKSArCiAgICAgICcgwrcg +c2VoZW46ICcgKyBlc2NhcGVIdG1sKE9iamVjdC5rZXlzKGluZm8uc2VoZW4gfHwge30pLmZpbHRl +cihmdW5jdGlvbihrKXsgcmV0dXJuIGluZm8uc2VoZW5ba107IH0pLmpvaW4oJywgJykpICsKICAg +ICAgbWFuaWZlc3RUeHQ7CiAgICAvLyBIZWFkbGluZSB6dWVyc3Q6IFN0YXJ0LURpYWdub3NlIChN +b2R1bC1MYWRldGVzdCkuIERhbmFjaCBkaWUgYmlzaGVyaWdlbgogICAgLy8gQXVzbGllZmVydW5n +cy0vQW5rZXItL0dyb2Vzc2VuLVBydWVmdW5nZW4uCiAgICByZXR1cm4gcHJ1ZWZlU3RhcnQoaW5m +bykudGhlbihmdW5jdGlvbihzdGFydFJlcykgewogICAgLy8gc2VxdWVuemllbGwgcHJ1ZWZlbiwg +ZGFtaXQgZGllIFJlaWhlbmZvbGdlIGRlciBaZWlsZW4gbWl0IFNPTEwgaWRlbnRpc2NoIGlzdAog +ICAgdmFyIGVyZ2Vibmlzc2UgPSBbXTsKICAgIHZhciBjaGFpbiA9IFByb21pc2UucmVzb2x2ZSgp +OwogICAgU09MTC5mb3JFYWNoKGZ1bmN0aW9uKGUpIHsKICAgICAgY2hhaW4gPSBjaGFpbi50aGVu +KGZ1bmN0aW9uKCkgeyByZXR1cm4gcHJ1ZWZlRWludHJhZyhlLCBpbmZvKTsgfSkudGhlbihmdW5j +dGlvbihyKSB7IGVyZ2Vibmlzc2UucHVzaChyKTsgfSk7CiAgICB9KTsKICAgIHJldHVybiBjaGFp +bi50aGVuKGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gcHJ1ZWZlSW1wb3J0ZShlcmdlYm5pc3Nl +KS50aGVuKGZ1bmN0aW9uKGltcENoZWNrKSB7CiAgICAgICAgcmV0dXJuIHBydWVmZUdyb2Vzc2Vu +KCkudGhlbihmdW5jdGlvbihnckNoZWNrKSB7CiAgICAgICAgICB2YXIgb2sgICAgPSBlcmdlYm5p +c3NlLmZpbHRlcihmdW5jdGlvbihyKXsgcmV0dXJuIHIuc3RhdHVzID09PSAnb2snOyB9KS5sZW5n +dGg7CiAgICAgICAgICB2YXIgd2FybiAgPSBlcmdlYm5pc3NlLmZpbHRlcihmdW5jdGlvbihyKXsg +cmV0dXJuIHIuc3RhdHVzID09PSAnd2Fybic7IH0pLmxlbmd0aDsKICAgICAgICAgIHZhciBmZWgg +ICA9IGVyZ2Vibmlzc2UuZmlsdGVyKGZ1bmN0aW9uKHIpeyByZXR1cm4gci5zdGF0dXMgPT09ICdm +ZWgnOyB9KS5sZW5ndGggKwogICAgICAgICAgICAgICAgICAgICAgKGltcENoZWNrLnN0YXR1cyA9 +PT0gJ2ZlaCcgPyBpbXBDaGVjay5hbnphaGwgOiAwKTsKICAgICAgICAgIHZhciBza2lwICA9IGVy +Z2Vibmlzc2UuZmlsdGVyKGZ1bmN0aW9uKHIpeyByZXR1cm4gci5zdGF0dXMgPT09ICdza2lwJzsg +fSkubGVuZ3RoOwogICAgICAgICAgLy8gR3JvZXNzZW4tQ2hlY2sgZmxpZXNzdCB6dXNhZXR6bGlj +aCBpbiBkaWUgWnVzYW1tZW5mYXNzdW5nIGVpbi4KICAgICAgICAgIHZhciBncldhcm4gPSAoZ3JD +aGVjay5hbnpEaWZmIHx8IDApOwogICAgICAgICAgdmFyIGdyRmVoICA9IChnckNoZWNrLmFuekZl +aGx0QXNzZXQgfHwgMCkgKyAoZ3JDaGVjay5hbnpGZWhsdFNvdXJjZSB8fCAwKTsKICAgICAgICAg +IHdhcm4gKz0gZ3JXYXJuOwogICAgICAgICAgZmVoICArPSBnckZlaDsKICAgICAgICAgIC8vIFN0 +YXJ0LURpYWdub3NlIChNb2R1bC1MYWRlZmVobGVyKSBpc3QgZGVyIGtyaXRpc2Noc3RlIEJsb2Nr +LgogICAgICAgICAgdmFyIHN0YXJ0RmVoID0gKHN0YXJ0UmVzICYmIHN0YXJ0UmVzLmZlaCkgfHwg +MDsKICAgICAgICAgIGZlaCArPSBzdGFydEZlaDsKCiAgICAgICAgICB2YXIgenVzID0gUSgnI3p1 +c2FtbWVuZmFzc3VuZycpOwogICAgICAgICAgdmFyIGdyU3VmZml4ID0gKGdyV2FybiB8fCBnckZl +aCkKICAgICAgICAgICAgPyAoJyDCtyBHcsO2w59lbi1DaGVjazogJyArIGdyV2FybiArICcgRGlm +ZiwgJyArIGdyRmVoICsgJyBmZWhsZW4nKQogICAgICAgICAgICA6ICcnOwogICAgICAgICAgdmFy +IHN0YXJ0U3VmZml4ID0gc3RhcnRGZWggPyAoJyDCtyDwn5qAIFN0YXJ0LURpYWdub3NlOiAnICsg +c3RhcnRGZWggKyAnIE1vZHVsLVByb2JsZW0oZSknKSA6ICcnOwogICAgICAgICAgaWYgKGZlaCA9 +PT0gMCAmJiB3YXJuID09PSAwKSB7CiAgICAgICAgICAgIHp1cy50ZXh0Q29udGVudCA9ICfinJMg +QWxsZSAnICsgb2sgKyAnIERhdGVpZW4gT0sgwrcgTW9kdWxlIGxhZGVuIMK3IEdyw7bDn2VuIGlk +ZW50aXNjaCcgKyAoc2tpcCA/ICcgKCcgKyBza2lwICsgJyDDvGJlcnNwcnVuZ2VuKScgOiAnJyk7 +CiAgICAgICAgICAgIHp1cy5jbGFzc05hbWUgPSAnenVzYW1tZW5mYXNzdW5nIG9rJzsKICAgICAg +ICAgIH0gZWxzZSBpZiAoZmVoID09PSAwKSB7CiAgICAgICAgICAgIHp1cy50ZXh0Q29udGVudCA9 +ICfimqAgJyArIG9rICsgJyBPSyDCtyAnICsgd2FybiArICcgV2FybnVuZyhlbiknICsgZ3JTdWZm +aXggKyAoc2tpcCA/ICcgwrcgJyArIHNraXAgKyAnIMO8YmVyc3BydW5nZW4nIDogJycpOwogICAg +ICAgICAgICB6dXMuY2xhc3NOYW1lID0gJ3p1c2FtbWVuZmFzc3VuZyB3YXJuJzsKICAgICAgICAg +IH0gZWxzZSB7CiAgICAgICAgICAgIHp1cy50ZXh0Q29udGVudCA9ICfinJcgJyArIGZlaCArICcg +UHJvYmxlbShlKSDCtyAnICsgb2sgKyAnIE9LIMK3ICcgKyB3YXJuICsgJyBXYXJudW5nKGVuKScg +KyBzdGFydFN1ZmZpeCArIGdyU3VmZml4OwogICAgICAgICAgICB6dXMuY2xhc3NOYW1lID0gJ3p1 +c2FtbWVuZmFzc3VuZyBmZWgnOwogICAgICAgICAgfQogICAgICAgICAgUSgnI3N0YXR1cycpLnRl +eHRDb250ZW50ID0gJ2ZlcnRpZyc7CiAgICAgICAgICBRKCcjc3RhdHVzJykuY2xhc3NOYW1lID0g +J25ldXRyYWwnOwogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0pOwogICAgfSk7CiAgfSkuY2F0 +Y2goZnVuY3Rpb24oZSkgewogICAgUSgnI3p1c2FtbWVuZmFzc3VuZycpLnRleHRDb250ZW50ID0g +J+KclyAvYXBpL2luZm8gbmljaHQgZXJyZWljaGJhcjogJyArIChlLm1lc3NhZ2UgfHwgZSk7CiAg +ICBRKCcjenVzYW1tZW5mYXNzdW5nJykuY2xhc3NOYW1lID0gJ3p1c2FtbWVuZmFzc3VuZyBmZWgn +OwogICAgUSgnI3N0YXR1cycpLnRleHRDb250ZW50ID0gJ2FiZ2Vicm9jaGVuJzsKICAgIFEoJyNz +dGF0dXMnKS5jbGFzc05hbWUgPSAnbmV1dHJhbCc7CiAgfSkuZmluYWxseShmdW5jdGlvbigpIHsK +ICAgIFEoJyNidG4tc3RhcnQnKS5kaXNhYmxlZCA9IGZhbHNlOwogIH0pOwp9CgpRKCcjYnRuLXN0 +YXJ0JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBzdGFydCk7Ci8vIEF1dG8tU3RhcnQgYmVp +bSBPZWZmbmVuCnN0YXJ0KCk7Cg== +### FILE: sync-manifest.json | 6024 +ewogICJnZW5lcmllcnQiOiAgIjIwMjYtMDYtMjBUMDg6MTg6NTlaIiwKICAiYnJhbmNoIjogICAg +ICJtYWluIiwKICAiY29tbWl0IjogICAgICIyOWU1ZTgxIiwKICAiYWxnb3JpdGhtdXMiOiJzaGEy +NTYiLAogICJkYXRlaWVuIjogewogICAgIldvY2hlbnBsYW4uaHRtbCI6IHsgInNoYTI1NiI6ICIz +MDY4NDMxMjU3NDBjOGJmMjgxY2RkN2VlMTZiMmEyNDI1ZWU2NDBkNDdhOGNkYWVkNzE2OWMwOGY4 +OWIzOGQwIiwgImJ5dGVzIjogMjE0OTM1IH0sCiAgICAiV29jaGVucGxhbi50ZW1wbGF0ZS5odG1s +IjogeyAic2hhMjU2IjogIjM4NjM0OGFhZjgxN2FmYjA1MmRlZGU5Nzc5YTljOWM0ZTg5ZGFjMWVh +OGRhYjBkMTEyMjdiMjRjNTgyNmIxNDMiLCAiYnl0ZXMiOiAyNjM4MCB9LAogICAgImFwcC5qcyI6 +IHsgInNoYTI1NiI6ICI5NjEzM2VhZDkwMDRhYTNmMDA4MzI2YmFkZWE1ZTY1ZmVmNTRkZDY3YTli +ZTVkMjg2MDU1NDFiMDZlM2Y1MzA5IiwgImJ5dGVzIjogMTQzMDk4IH0sCiAgICAiZGlhZ25vc2Uu +aHRtbCI6IHsgInNoYTI1NiI6ICIwYmY1MDdjMmZmZTI3NjNkNTE2ZjFhYmZiZDlkOTRlMjI3NDgw +OTk5ZTNjY2ZkNDJjNGQ1YjQzZWNmZTg5YjI3IiwgImJ5dGVzIjogMjUzOCB9LAogICAgImRpYWdu +b3NlLmpzIjogeyAic2hhMjU2IjogImVjOTBkMDRkZmE2MzZmYjA5MDNlZjE3MTlmOTM4YWQwYmY1 +NzM1OWM4MDQxMDFlOGExMzNmNzlkNDI4MWZlZWUiLCAiYnl0ZXMiOiA1Mjg1IH0sCiAgICAiZmF2 +aWNvbi5pY28iOiB7ICJzaGEyNTYiOiAiMjU0Y2Y1NWJkNzQ0ZDAxYTE0NjFkMjM4NzVkN2JkYjI1 +NDI0MWQ4ZmY4MjZhM2QwY2Y2ZDhkN2MwY2Q1Y2NhYSIsICJieXRlcyI6IDQ0NDMgfSwKICAgICJo +ZWFydGJlYXQtd29ya2VyLmpzIjogeyAic2hhMjU2IjogIjEzMDBiNmJhNGU4OWI2MWViYWFmOGY2 +YTk5OGMyMGM5YTFhNzQ2N2E5ZTc5M2RiMDRhM2Y1NmY1NTk2ZWEyNWEiLCAiYnl0ZXMiOiAyNzUx +IH0sCiAgICAiaW5kZXguaHRtbCI6IHsgInNoYTI1NiI6ICJmMjA2M2UxNWVkNjNiZDE3MWE1NmZm +ZGQ1NWViYzk5ODIxYjRjNjg2MzlhNTZkMmJkMTBiNWIyYWE5OGU1YTY1IiwgImJ5dGVzIjogMTI5 +MjExIH0sCiAgICAiaW5mby5odG1sIjogeyAic2hhMjU2IjogIjdmMDE2ZjUzZjVjMWQ1YjE3NzUw +MTFlNTlkZTg5MTIzMGU0ZTc3MjAyY2JmOTFiOGVhODRhMTk1OGZlN2M1NzYiLCAiYnl0ZXMiOiAx +Mjc2NSB9LAogICAgImpzL2FkbWluLmpzIjogeyAic2hhMjU2IjogIjkyZjEzM2QzMDE0YmM4Nzdi +NGUyYTA5ZmNmNjcyZWFhNzNkYTE5ZGNhN2MyZTU0ZTRkZWIxNzMyYjMwYTk4NDUiLCAiYnl0ZXMi +OiA3NzM2NSB9LAogICAgImpzL2FkbWluX2NvZGVzLmpzIjogeyAic2hhMjU2IjogIjdiNTRiMTIy +ZmYxOTIzOTNhODZlZjQyNGU4ZTUyY2ZmZmM5MzA2MjIzN2E0ODY2MzZiMTQ0OWFmOWZjOGQ1Mjci +LCAiYnl0ZXMiOiAyNjA1NSB9LAogICAgImpzL2FkbWluX2NvbW1vbi5qcyI6IHsgInNoYTI1NiI6 +ICI2NGVlOGU4YjhkMDZjMjAwYjQ5YmM0Y2I2MTkzNGU1NDE3ZjkyZjYyYTdkZjVkOWQzMWQwOTEw +ZjNiYzViZTc0IiwgImJ5dGVzIjogMTUyOCB9LAogICAgImpzL2FkbWluX2Vyc2NoZWludW5nc2Jp +bGQuanMiOiB7ICJzaGEyNTYiOiAiNTE2ODRmYjczOTc4ODM1MDU5YjIwMDlkMDUyNWEwZjkzZDNk +YTNlOWNhNTU3M2Y4OTcwMTUwY2I5NTlhZGE1NCIsICJieXRlcyI6IDMxNzQxIH0sCiAgICAianMv +YWRtaW5fa2FsZW5kZXIuanMiOiB7ICJzaGEyNTYiOiAiYzNhNzBjYzhhN2EyY2JlYmY0ODVhMzhi +OTkwNmY3MTBlNmRjYzUxOWE2YjI2YzM3YmFhOTJkZDEyMGRiMzkzYSIsICJieXRlcyI6IDI2NDg5 +IH0sCiAgICAianMvYWRtaW5fbWl0dGVpbHVuZ2VuLmpzIjogeyAic2hhMjU2IjogIjZlZWIzMDNh +MTcwMmMxZTk1YzkxYWM5Mzg5N2FkZjQ4ZDI1ODA1NzZkNWI5NWEzZTVlMzZlZTA3OWQ2ZGIxMDMi +LCAiYnl0ZXMiOiAxOTk1OSB9LAogICAgImpzL2FkbWluX3BlcnNvbmFsLmpzIjogeyAic2hhMjU2 +IjogIjdmNjI3NGM5OGIyMmJjNTI4ZTVlMGEwNmIzMThlMmM2MDNkODllZDQ3NmUxZjE4ZjNkNTRi +NDU4NzNiMGMyMWMiLCAiYnl0ZXMiOiAxMDg3NjIgfSwKICAgICJqcy9hZG1pbl9yb2xsZW4uanMi +OiB7ICJzaGEyNTYiOiAiYjI4OTNmYTNhZmMyNGQyYjQ0YzI1OTM0NjU3Nzk2NDlhZjliMjA3YmMy +NzYxODJhMzMxYzVjMTc4MmZjZjRkNCIsICJieXRlcyI6IDQzMjc4IH0sCiAgICAianMvYWRtaW5f +c3RhbmRhcmRyZWNodGUuanMiOiB7ICJzaGEyNTYiOiAiYWU2OTEyMDhmYzk4MmQwMmZlYzhhOGY1 +ZTliNDBlMDI2MzhmMzdiZWU0NGY0ZDRmZTAxZjdlMTEwNjUyZDU3NCIsICJieXRlcyI6IDkyMzcg +fSwKICAgICJqcy9hZG1pbl9zdGF0aXN0aWsuanMiOiB7ICJzaGEyNTYiOiAiMDc2NTUxODllMGUx +YmE1YWE4ZjMyYzI5M2IzNGJjN2RiZmNiMTUxY2NiY2QxNDlmM2IwODI0MTVmOTg0MTQ3NiIsICJi +eXRlcyI6IDgyNTkgfSwKICAgICJqcy9hZG1pbl9zdGF0aXN0aWtfYnVpbGRlci5qcyI6IHsgInNo +YTI1NiI6ICI0NGZjYjgyODBiZmQ3MmUwNjUxMDZiNjdkNTBlYzg2NjY2MTZmNWEyOGQ0NTYyZjc1 +MzVhYzAxNTU1NjQ2MzU1IiwgImJ5dGVzIjogMzA0OTQgfSwKICAgICJqcy9iZXNldHp1bmcuanMi +OiB7ICJzaGEyNTYiOiAiZjMxY2NmN2E1NzBkNjQ3MjNlOTVkNjIwZWI2ODY5NmVjODE2ZmUwYjJl +MjEwYjI2NmQ1ODUxZDI4MWI5MDM3NyIsICJieXRlcyI6IDU5NTk1IH0sCiAgICAianMvY29yZV9h +cGkuanMiOiB7ICJzaGEyNTYiOiAiNzA4YmQ4MDdjNjVjOWZhMTA1MjkwYTViNzlmNjE1NjExMDg1 +OTEzNjM4MDBkY2I0NjBlMWEwZDIwYzc1NjdiMSIsICJieXRlcyI6IDEwODcgfSwKICAgICJqcy9j +b3JlX2RhdGVuTGFkZW4uanMiOiB7ICJzaGEyNTYiOiAiZmQyZDZjNzgwOWE3YWMxNDE3OTFhODFm +YTgwMjcwMTkxYTJjMWJjNmVmMWNiMWY3OGRkMDdkZTRjZDQ0YWIzOSIsICJieXRlcyI6IDcyMDMg +fSwKICAgICJqcy9jb3JlX3Blcm1pc3Npb25zLmpzIjogeyAic2hhMjU2IjogIjQ2YjNhNmQ4NWFj +ZmFkYzUxOWRhNjNlODZlMmYwZGViYzRmOTNlZTI5NmYyNTBlMmRjNDQ5MTgyM2Q1ZWI5YTYiLCAi +Ynl0ZXMiOiAyMTc3MCB9LAogICAgImpzL2NvcmVfc3RhdGUuanMiOiB7ICJzaGEyNTYiOiAiNjVm +ZmM2MGZlZjg1ZjQ5YWFkZTQyYTdlMzRjM2ZkNGYzMjg1OGUwMmE1NmQwMTczZTZiZGEyODFlNDY1 +Yjc2MCIsICJieXRlcyI6IDE0MTIgfSwKICAgICJqcy9jb3JlX3V0aWwuanMiOiB7ICJzaGEyNTYi +OiAiYThhOTk2ZGQ5MTkyODY4MzFkNDIxN2E2OWM4Yjk2MjYwYWU3ZDA2MmJlZWRhNzExOGYyZTFh +NWQzNTA4OTFhMSIsICJieXRlcyI6IDEyMDQ2IH0sCiAgICAianMvZW1haWxfdm9ybGFnZW4uanMi +OiB7ICJzaGEyNTYiOiAiZDk2ODJmM2JkN2I2MmEzYTI0ZTQ4YzVmYjY5NDc1NzY3YWM0YzQxMmIw +NzAxYjg0ZTVmZDA5NjljYmMxN2EzOCIsICJieXRlcyI6IDQxNjcxIH0sCiAgICAianMvZXhwb3J0 +X3BsYW4uanMiOiB7ICJzaGEyNTYiOiAiNWY4Y2FiYjk5ZTEzYzY0MzNhNmNjYjAxMjM1MTZlYjJk +MjY4ODIxMDg3YzNhNWJhOWVhNjUwMTRkY2ExYTI3MyIsICJieXRlcyI6IDIwNzg0IH0sCiAgICAi +anMvZmVpZXJ0YWdlX2RlLmpzIjogeyAic2hhMjU2IjogIjM0MTk1YjBkOTViZGJhMjhmMDBiYjE2 +YzllMjE2MGExOWQ1Yzc1ZGI5MjEwNzRiMGMyMmM3OGQ1YWJmYTEwMWEiLCAiYnl0ZXMiOiAzMjA5 +IH0sCiAgICAianMvZ3JpZF9lZGl0b3IuanMiOiB7ICJzaGEyNTYiOiAiY2U3YzllM2FmMGVjYmZj +M2IyODM3NDIwMDBhMDUzZmRhZDkxZjgxMGI4ZWUwYmQxMzAyMWVmNTAxMWUxOTE5YyIsICJieXRl +cyI6IDQwODUxIH0sCiAgICAianMvZ3JpZF9pbnRlcmFjdGlvbi5qcyI6IHsgInNoYTI1NiI6ICI1 +OTNkNmQwYjRjMzJlZTM1Zjg1MmI1NGRlZWU2NjIzYmViNjQ3ODhhMzg1MzhkNjFkNzEyNjQyYjFm +NDkwYTA0IiwgImJ5dGVzIjogMzU4OTMgfSwKICAgICJqcy9ncmlkX3JlbmRlci5qcyI6IHsgInNo +YTI1NiI6ICIzMTM5ZjZlMmVmZDVjMTE5ZTExMzQ2OTVmZjQyMmIzYzg0YTE0MGUwMjNmZGZjNWVl +YTUwNjZlZDZlOWM2YzM2IiwgImJ5dGVzIjogMzcwNjQgfSwKICAgICJqcy9oaW53ZWlzZS5qcyI6 +IHsgInNoYTI1NiI6ICIyYjlmMzY4ZTc4MjE3MWVmMDhlZTk0ZDY1ODkzZDBhZGMyOWZiZjEyN2M1 +ZWY2MzNjYWZjZTczZTBkOTBjY2E4IiwgImJ5dGVzIjogMTkwNjEgfSwKICAgICJqcy9pbXBvcnRf +ZXhjZWwuanMiOiB7ICJzaGEyNTYiOiAiZjJhYTBkNjgyYjY1MWJlMDM4Y2IwY2U4MDc2NDczMDAw +YmQxODA5OWU2MzkxMTljNzE0YmQyNjc3NTdiNTM5MCIsICJieXRlcyI6IDkxMjI1IH0sCiAgICAi +anMvbG9nYnVjaC5qcyI6IHsgInNoYTI1NiI6ICI0Yjc3MjJkZWZhZDQyYjJkZTM0ZjhhYjJhZWNj +OGRhNTUxNDdjZmU3MDkwMDc1YzM1MmViMWRiMDI2YjA2OWZlIiwgImJ5dGVzIjogMzY4NjggfSwK +ICAgICJqcy9zY2hpY2h0dGVhbS5qcyI6IHsgInNoYTI1NiI6ICI2Mjk3YWFhNTQ0ZTlmMDYxODRj +NjZlYzM3MGMwZTE3Y2UxZDE5NTAwZjI3ODMxZjE2YWVhM2QyMGUyMzhjMDc2IiwgImJ5dGVzIjog +NjE2NCB9LAogICAgImpzL3N0YXRpc3Rpay5qcyI6IHsgInNoYTI1NiI6ICJjMzJmMzhjZjQzNzA4 +MTkyNjQyOTYxNTAzNDEzNmE5NDMwMzc3NWNiMmQxY2E0ZTRlMjFhNmQ5MzY3M2RhODJmIiwgImJ5 +dGVzIjogMTIyMDM1IH0sCiAgICAianMvc3RhdGlzdGlrX2NoYXJ0cy5qcyI6IHsgInNoYTI1NiI6 +ICJjOGYzODNjYmIxYTA2YjE0N2JlZmNjNDYyOTdiMmU5YTU3Y2I1YTM0YzRjN2IxYTg0YWU5YWRh +OWZiZmU0NzcwIiwgImJ5dGVzIjogMTg1MTEgfSwKICAgICJqcy9zdGF0aXN0aWtfZW5naW5lLmpz +IjogeyAic2hhMjU2IjogIjIzYTRhYzc5NTViNTBiYjI0NzY3NjNjMjkyYzAyNGM1OGUxNDA1YjZh +NzkzM2E4MTI5MWMwYWY0YTBjNTM3Y2IiLCAiYnl0ZXMiOiAxOTAxMCB9LAogICAgImpzL3N5bmMu +anMiOiB7ICJzaGEyNTYiOiAiNWZiYWEwZDU0OTA0NzQ2MGNkYTQzOTFjMzFmZTY5YzE4YzUxNWNi +YzhjNDViNDE4ZWNmYmI2MDdhMGQ2MzBiZiIsICJieXRlcyI6IDE5NDc0IH0sCiAgICAianMvdWlf +ZGlhbG9nLmpzIjogeyAic2hhMjU2IjogIjk5YTQzM2RkMGJhMDlhNjE5ZDFlZGI5YWMyN2I4YmUw +YmY1ZTIyODlkZDZkZGZhMjJiMTVhYzMzYjhkMTljYzYiLCAiYnl0ZXMiOiAzOTAyMSB9LAogICAg +ImpzL3VpX3J0ZS5qcyI6IHsgInNoYTI1NiI6ICJhMzkzYTY5ZDBlNDI3NWIyMTAwMGEwM2RkZDRi +YzU0ODQzMmE5ZjNkNmJmNzQzNWY4MmQ3N2IzZTQ1YzQ0NTYzIiwgImJ5dGVzIjogNjk1MSB9LAog +ICAgImpzL3dvY2hlbnBsYW4uanMiOiB7ICJzaGEyNTYiOiAiNGY5MTRmYzg1NDNjYTc2OWM1OWNl +OGU3MzdhNDZjMjg2MDdmMDEzYWRkMjY1NzgyZjgzZWMxZDI3NGEzNjgxMiIsICJieXRlcyI6IDE1 +MjA0IH0sCiAgICAic3R5bGUuY3NzIjogeyAic2hhMjU2IjogIjYzNjkyOWRjMjM4M2I2YjA0OGRk +NmFmY2M2NDFjYTc4NDc2MWY4MjU3N2U4NDZiODFiMmJhODdiYzFlNzg5ZDMiLCAiYnl0ZXMiOiAy +MzQ1MzIgfSwKICAgICJzeW5jLWNoZWNrLmh0bWwiOiB7ICJzaGEyNTYiOiAiMjRkZjA3OTliODVk +NjEyOTFkNWRkZjAyNGExN2M1MzM3OWQ5MGM3OWM5ZGE3MmJhNjlkODEzZTAxNGQ2ZjkyZiIsICJi +eXRlcyI6IDQyNDkgfSwKICAgICJzeW5jLWNoZWNrLmpzIjogeyAic2hhMjU2IjogImU2YTM5NTQ0 +YWFhYjc0NjkxYzA5N2Y5NGYxZDUwMGZhNGU5NWVlNjU4NGI0ZDkwNGViZjk5Nzc3MTc4Njk3NzQi +LCAiYnl0ZXMiOiAzNDkwMyB9LAogICAgInN5bmMtd29ya2VyLmpzIjogeyAic2hhMjU2IjogIjll +MDc1MDFjNDM1NGE4NmI4MmQ1MjFjMGY1NDhkMzM5ZjUyOTE5YzVkNmMwYmMyMmNhZGQ4Yjc2MDgx +NWVmYjciLCAiYnl0ZXMiOiA3NzUyIH0sCiAgICAieGxzeC5mdWxsLm1pbi5qcyI6IHsgInNoYTI1 +NiI6ICJjYzAxNTEzMGFhODUyMWU3ZjA4OGY4ODg5OGViYTk0OWNjZGNiZmIzOGRmMGJkMTI5YjQ0 +YjcyNzNjM2E2ZjQxIiwgImJ5dGVzIjogOTUxOTA0IH0KICB9Cn0K +### FILE: sync-worker.js | 7752 +Ly8gTGl2ZS1TeW5jIFdlYiBXb3JrZXIg4oCUIHBvbGx0IC9hcGkvcGxhbnVuZy9jaGFuZ2VzICsg +L2FwaS9sb2NrL3plbGxlbiB1bmQKLy8gc2NoaWNrdCBkaWUgRGVsdGFzIGFuIGRlbiBIYXVwdHRo +cmVhZC4gTGFldWZ0IGF1Y2ggaW4gSGludGVyZ3J1bmQtVGFicwovLyB1bmdlZHJvc3NlbHQgKGFu +YWxvZyBoZWFydGJlYXQtd29ya2VyLmpzKS4KLy8KLy8gQWRhcHRpdmVzIFBvbGxpbmc6IEJlaSBh +a3RpdmVyIE51dHp1bmcgKG1pbmQuIDEgQ2hhbmdlIG9kZXIgZnJlbWRlciBMb2NrKQovLyBhbGxl +IEJBU0lTX0lOVEVSVkFMTCBtcy4gQmVpIGxhZW5nZXJlciBJbmFrdGl2aXRhZXQgc2Nocml0dHdl +aXNlIGhvY2ggYXVmCi8vIE1BWF9JTlRFUlZBTEwsIGRhbWl0IElkbGUtVGFicyBkZW4gU2VydmVy +IG5pY2h0IG1pdCBrb25zdGFudGVuIFJlcXVlc3RzCi8vIGJlbGFzdGVuLiBCZWkgamVkZXIgQWt0 +aXZpdGFldCBvZGVyIGVpbmVtIHJlc3VtZS1Lb21tYW5kbyB2b20gTWFpbnRocmVhZAovLyBzb2Zv +cnQgenVydWVjayBhdWYgQkFTSVNfSU5URVJWQUxMLgovLwovLyBQcm90b2tvbGw6Ci8vICAgTWFp +biDihpIgV29ya2VyOiAgeyBjbWQ6ICdzdGFydCd8J3BhdXNlJ3wncmVzdW1lJywgc2VpdD86ICc8 +aXNvLXRzPicsIHNlaXRTZXE/OiA8aW50PiB9Ci8vICAgV29ya2VyIOKGkiBNYWluOiAgeyB0eXBl +OiAnc3luYycsIGNoYW5nZXM6IFsuLi5dLCBsb2NrczogWy4uLl0sIHNlcnZlclRzLCBzZXJ2ZXJT +ZXEgfQovLwovLyBDdXJzb3I6IHByaW1hZXIgZGllIG1vbm90b25lIFNlcXVlbnpudW1tZXIgKHNl +aXRfc2VxKSDigJQgcmFjZS1mcmVpLCB3ZWlsCi8vIGdlZmlsdGVydGUgQ2hhbmdlcyBVTkQgc2Vy +dmVyU2VxIGF1cyBkZW1zZWxiZW4gU2VydmVyLVJlYWQgc3RhbW1lbi4gRGVyCi8vIGFsdGUgV2Fs +bC1DbG9jay1DdXJzb3IgKHNlaXQpIHdpcmQgenVzYWV0emxpY2ggbWl0Z2VzY2hpY2t0LCBkYW1p +dCBlaW4gbm9jaAovLyBuaWNodCBha3R1YWxpc2llcnRlciBTZXJ2ZXIgKG9obmUgc2VydmVyU2Vx +KSB3ZWl0ZXIgZnVua3Rpb25pZXJ0LgoKdmFyIEJBU0lTX0lOVEVSVkFMTCA9IDMwMDA7CnZhciBN +QVhfSU5URVJWQUxMICAgPSAzMDAwMDsKdmFyIExFRVJfVElDS1NfQklTX0JBQ0tPRkYgPSAzOyAg +IC8vIG5hY2ggfjkgcyBvaG5lIEFrdGl2aXRhZXQgYW5mYW5nZW4genUgdmVyZG9wcGVsbgoKdmFy +IGludGVydmFsbCA9IEJBU0lTX0lOVEVSVkFMTDsKdmFyIGxlZXJUaWNrcyA9IDA7CnZhciBzaWNo +dGJhciA9IHRydWU7CnZhciBzZWl0ID0gJyc7ICAgICAgICAvLyBXYWxsLUNsb2NrLUN1cnNvciAo +RmFsbGJhY2sgZnVlciBhbHRlIFNlcnZlcikKdmFyIHNlaXRTZXEgPSAnJzsgICAgIC8vIHNlcS1D +dXJzb3IgKGxlZXIgPSBFcnN0LVN5bmMsIG51ciBDdXJzb3IgaG9sZW4pCnZhciB0aW1lciA9IG51 +bGw7Ci8vIEF1ZGl0LVBoYXNlIEEuNCAoMjAyNi0wNS0yMSk6IHdlbm4gZWluIGFuZGVyZXIgU1Ug +ZGVtIEJlbnV0emVyIGRpZSBSb2xsZQovLyBlbnR6aWVodCwgYW50d29ydGVuIGRpZSBFbmRwb2lu +dHMgbWl0IDQwMy4gQmlzaGVyIHd1cmRlIGRhcyBzdGlsbHNjaHdlaWdlbmQKLy8gdmVyc2NobHVj +a3QuIFdpciB6YWVobGVuIGF1ZmVpbmFuZGVyZm9sZ2VuZGUgNDAzIHVuZCBpbmZvcm1pZXJlbiBk +ZW4gTWFpbi0KLy8gdGhyZWFkLCBkYW1pdCBkb3J0IGVpbiBUb2FzdCArIFJlbG9hZC1IaW53ZWlz +IGtvbW10Lgp2YXIgYXVmZWluYW5kZXI0MDMgPSAwOwp2YXIgUEVSTUlTU0lPTl9MT1NUX05BQ0gg +PSAzOwovLyBTcHJpbnQgNSDigJQgV2FydHVuZ3NzY2h1bGQgKDIwMjYtMDUtMjksIEZpbmRpbmcg +MTUpOiB3ZW5uIGRlciBTZXJ2ZXIKLy8gbmV1IHN0YXJ0ZXQsIHNjaGx1ZyBmZXRjaCgpIGJpc2xh +bmcgZWluZmFjaCBmZWhsIChUeXBlRXJyb3IgaW0gV29ya2VyKQovLyB1bmQgZGllIENhdGNoLUhh +bmRsZXIgaGFiZW4gbnVsbCB6dXJ1ZWNrZ2VnZWJlbiDigJQgYWJlciBkYXMgbm9ybWFsZQovLyBC +YWNrb2ZmIGJyYXVjaHRlIDMgTGVlci1UaWNrcyAofjkgcyksIHdhZWhyZW5kZGVzc2VuIHdlaXRl +ciBIVFRQLVN0b3JtLgovLyBCZWkgYXVmZWluYW5kZXJmb2xnZW5kZW4gRmVobGVybiBqZXR6dCBT +T0ZPUlQgYXVmIE1BWF9JTlRFUlZBTEwuCnZhciBhdWZlaW5hbmRlckZlaGxlciA9IDA7CnZhciBG +RUhMRVJfQklTX01BWCA9IDI7Ci8vIEF1ZGl0LVBoYXNlIEIuMiAoMjAyNi0wNS0yMSk6IEhpbndl +aXNlIGFlbmRlcm4gc2ljaCBzZWx0ZW4gKEtyYW5rbWVsZHVuZ3MtCi8vIFJhdGUgbmllZHJpZyks +IGRhaGVyIG5pY2h0IGplZGVuIDMtcy1UaWNrIHBvbGxlbi4gRGVmYXVsdDogamVkZW4gNC4gVGlj +awovLyAofjEyIHMpLiBXZW5uIGVpbiBIaW53ZWlzIGVyc2NoaWVuZW4gaXN0LCBmdWVyIDMwIHMg +d2llZGVyIGplZGVuIFRpY2suCnZhciBoaW53ZWlzVGlja1phZWhsZXIgPSAwOwp2YXIgSElOV0VJ +U19USUNLX1FVT1RFID0gNDsKdmFyIGhpbndlaXNWb2xsUXVvdGVCaXMgPSAwOyAgIC8vIG1zLVRp +bWVzdGFtcDogYmlzIGRhaGluIGplZGVuIFRpY2sgZmV0Y2hlbgoKZnVuY3Rpb24gcGxhblRpbWVy +TmV1KG5ldWVzSW50ZXJ2YWxsKSB7CiAgICBpZiAobmV1ZXNJbnRlcnZhbGwgPT09IGludGVydmFs +bCAmJiB0aW1lcikgcmV0dXJuOwogICAgaW50ZXJ2YWxsID0gbmV1ZXNJbnRlcnZhbGw7CiAgICBp +ZiAodGltZXIpIGNsZWFySW50ZXJ2YWwodGltZXIpOwogICAgdGltZXIgPSBzZXRJbnRlcnZhbCh0 +aWNrLCBpbnRlcnZhbGwpOwp9CgpmdW5jdGlvbiBzb2ZvcnRCYXNpc0ludGVydmFsbCgpIHsKICAg +IGxlZXJUaWNrcyA9IDA7CiAgICBwbGFuVGltZXJOZXUoQkFTSVNfSU5URVJWQUxMKTsKfQoKLy8g +RmV0Y2gtV3JhcHBlciwgZGVyIDQwMyBlcmtlbm5iYXIgbWFjaHQgKHN0YXR0IG51ciBzaWxlbnQg +LmNhdGNoKS4KLy8gU3ByaW50IDU6IHp1c2FldHpsaWNoIFNlcnZlci1Eb3duLzV4eCBhbHMgX2Zl +aGxlciBrZW5uemVpY2huZW4sIGRhbWl0Ci8vIGRlciBUaWNrLUxvb3Agd2Vpc3MsIG9iIGVyIHNv +Zm9ydCBhdWYgTUFYX0lOVEVSVkFMTCBkcm9zc2VsbiBtdXNzLgpmdW5jdGlvbiBmZXRjaEpzb24o +dXJsKSB7CiAgICByZXR1cm4gZmV0Y2godXJsKS50aGVuKGZ1bmN0aW9uKHIpIHsKICAgICAgICBp +ZiAoci5zdGF0dXMgPT09IDQwMykgcmV0dXJuIHsgXzQwMzogdHJ1ZSB9OwogICAgICAgIGlmIChy +LnN0YXR1cyA+PSA1MDApIHJldHVybiB7IF9mZWhsZXI6IHRydWUsIF9zdGF0dXM6IHIuc3RhdHVz +IH07CiAgICAgICAgcmV0dXJuIHIuanNvbigpOwogICAgfSkuY2F0Y2goZnVuY3Rpb24oKSB7IHJl +dHVybiB7IF9mZWhsZXI6IHRydWUsIF9zdGF0dXM6IDAgfTsgfSk7Cn0KCmZ1bmN0aW9uIHRpY2so +KSB7CiAgICBpZiAoIXNpY2h0YmFyKSByZXR1cm47CiAgICB2YXIgY2hhbmdlc1AgPSBmZXRjaEpz +b24oJy9hcGkvcGxhbnVuZy9jaGFuZ2VzP3NlaXRfc2VxPScgKyBlbmNvZGVVUklDb21wb25lbnQo +c2VpdFNlcSkgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICcmc2VpdD0nICsgZW5jb2Rl +VVJJQ29tcG9uZW50KHNlaXQgfHwgJycpKTsKICAgIHZhciBsb2Nrc1AgICA9IGZldGNoSnNvbign +L2FwaS9sb2NrL3plbGxlbicpOwogICAgLy8gSGlud2Vpc2UgbnVyIGJlaSBqZWRlbSBOLXRlbiBU +aWNrIGZldGNoZW4gKEF1ZGl0LVBoYXNlIEIuMikuIEJlaQogICAgLy8gQWt0aXZpdGFldCAoSGlu +d2VpcyBlcnNjaGllbikgd2lyZCB2b2xsUXVvdGUtRmVuc3RlciBnZXNldHp0LCBkYW1pdAogICAg +Ly8gRm9sZ2UtQWt0aW9uZW4gaW5zdGFudCBzaWNodGJhciB3ZXJkZW4uCiAgICBoaW53ZWlzVGlj +a1phZWhsZXIrKzsKICAgIHZhciBqZXR6dE1zID0gRGF0ZS5ub3coKTsKICAgIHZhciBoaW53ZWlz +ZUhvbGVuID0gKGhpbndlaXNUaWNrWmFlaGxlciA+PSBISU5XRUlTX1RJQ0tfUVVPVEUpIHx8IChq +ZXR6dE1zIDwgaGlud2Vpc1ZvbGxRdW90ZUJpcyk7CiAgICBpZiAoaGlud2Vpc2VIb2xlbikgaGlu +d2Vpc1RpY2taYWVobGVyID0gMDsKICAgIHZhciBoaW53ZWlzZVAgPSBoaW53ZWlzZUhvbGVuCiAg +ICAgICAgPyBmZXRjaEpzb24oJy9hcGkvaGlud2Vpc2UnKQogICAgICAgIDogUHJvbWlzZS5yZXNv +bHZlKG51bGwpOwogICAgUHJvbWlzZS5hbGwoW2NoYW5nZXNQLCBsb2Nrc1AsIGhpbndlaXNlUF0p +LnRoZW4oZnVuY3Rpb24oYXJyKSB7CiAgICAgICAgdmFyIGNoID0gYXJyWzBdLCBsayA9IGFyclsx +XSwgaHcgPSBhcnJbMl07CiAgICAgICAgLy8gU2VydmVyLURvd24gLyA1eHgg4oCUIGJlaSBtZWhy +ZXJlbiBpbiBGb2xnZSBzb2ZvcnQgZHJvc3NlbG4sIHN0YXR0CiAgICAgICAgLy8gd2VpdGVyIGRl +biBTZXJ2ZXIgbWl0IFJlcXVlc3RzIHp1IGJvbWJhcmRpZXJlbiAoU3ByaW50IDUgRmluZGluZyAx +NSkuCiAgICAgICAgdmFyIGhhdEZlaGxlciA9IChjaCAmJiBjaC5fZmVobGVyKSB8fCAobGsgJiYg +bGsuX2ZlaGxlcik7CiAgICAgICAgaWYgKGhhdEZlaGxlcikgewogICAgICAgICAgICBhdWZlaW5h +bmRlckZlaGxlcisrOwogICAgICAgICAgICBpZiAoYXVmZWluYW5kZXJGZWhsZXIgPj0gRkVITEVS +X0JJU19NQVggJiYgaW50ZXJ2YWxsIDwgTUFYX0lOVEVSVkFMTCkgewogICAgICAgICAgICAgICAg +cGxhblRpbWVyTmV1KE1BWF9JTlRFUlZBTEwpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJl +dHVybjsKICAgICAgICB9CiAgICAgICAgYXVmZWluYW5kZXJGZWhsZXIgPSAwOwoKICAgICAgICAv +LyA0MDMtVHJhY2tpbmc6IG51ciB1ZWJlciBDaGFuZ2VzK0xvY2tzLCB3ZWlsIC9hcGkvaGlud2Vp +c2UgaW1tZXIKICAgICAgICAvLyAyMDAgbWl0IGxlZXJlbSBBcnJheSBsaWVmZXJ0IChTZXJ2ZXIt +c2VpdGlnZSBHYXRpbmctTG9naWspLgogICAgICAgIHZhciBoYXQ0MDMgPSAoY2ggJiYgY2guXzQw +MykgfHwgKGxrICYmIGxrLl80MDMpOwogICAgICAgIGlmIChoYXQ0MDMpIHsKICAgICAgICAgICAg +YXVmZWluYW5kZXI0MDMrKzsKICAgICAgICAgICAgaWYgKGF1ZmVpbmFuZGVyNDAzID49IFBFUk1J +U1NJT05fTE9TVF9OQUNIKSB7CiAgICAgICAgICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKHsgdHlw +ZTogJ3Blcm1pc3Npb25fbG9zdCcgfSk7CiAgICAgICAgICAgICAgICBzaWNodGJhciA9IGZhbHNl +OyAgICAgLy8gd2VpdGVyZXMgUG9sbGluZyBzdG9wcGVuCiAgICAgICAgICAgIH0KICAgICAgICAg +ICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBhdWZlaW5hbmRlcjQwMyA9IDA7CgogICAgICAg +IHZhciBtc2cgPSB7IHR5cGU6ICdzeW5jJyB9OwogICAgICAgIHZhciBoYXRBa3Rpdml0YWV0ID0g +ZmFsc2U7CiAgICAgICAgaWYgKGNoICYmIChjaC5zZXJ2ZXJUcyB8fCBjaC5zZXJ2ZXJTZXEgIT0g +bnVsbCkpIHsKICAgICAgICAgICAgLy8gc2VxLUN1cnNvciBiZXZvcnp1Z2VuIChyYWNlLWZyZWkp +LiBzZXJ2ZXJTZXEgZmVobHQgbnVyIGJlaSBlaW5lbQogICAgICAgICAgICAvLyBub2NoIG5pY2h0 +IGFrdHVhbGlzaWVydGVuIFNlcnZlciAtPiBkYW5uIGdyZWlmdCBkZXIgdHMtQ3Vyc29yLgogICAg +ICAgICAgICBpZiAoY2guc2VydmVyU2VxICE9IG51bGwpIHsgc2VpdFNlcSA9IFN0cmluZyhjaC5z +ZXJ2ZXJTZXEpOyBtc2cuc2VydmVyU2VxID0gY2guc2VydmVyU2VxOyB9CiAgICAgICAgICAgIGlm +IChjaC5zZXJ2ZXJUcykgeyBzZWl0ID0gY2guc2VydmVyVHM7IG1zZy5zZXJ2ZXJUcyA9IGNoLnNl +cnZlclRzOyB9CiAgICAgICAgICAgIG1zZy5jaGFuZ2VzID0gY2guY2hhbmdlcyB8fCBbXTsKICAg +ICAgICAgICAgaWYgKG1zZy5jaGFuZ2VzLmxlbmd0aCA+IDApIGhhdEFrdGl2aXRhZXQgPSB0cnVl +OwogICAgICAgIH0KICAgICAgICBpZiAobGsgJiYgbGsubG9ja3MpIHsKICAgICAgICAgICAgbXNn +LmxvY2tzID0gbGsubG9ja3M7CiAgICAgICAgICAgIGlmIChsay5sb2Nrcy5sZW5ndGggPiAwKSBo +YXRBa3Rpdml0YWV0ID0gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgaWYgKGh3ICYmIGh3Lmhpbndl +aXNlKSB7CiAgICAgICAgICAgIG1zZy5oaW53ZWlzZSA9IGh3LmhpbndlaXNlOwogICAgICAgICAg +ICAvLyBBa3Rpdml0YWV0IGVya2FubnQgLT4gMzBzIGxhbmcgamVkZW4gVGljayB3ZWl0ZXJwb2xs +ZW4uCiAgICAgICAgICAgIGlmIChody5oaW53ZWlzZS5sZW5ndGggPiAwKSBoaW53ZWlzVm9sbFF1 +b3RlQmlzID0gRGF0ZS5ub3coKSArIDMwMDAwOwogICAgICAgIH0KICAgICAgICBpZiAobXNnLmNo +YW5nZXMgfHwgbXNnLmxvY2tzIHx8IG1zZy5oaW53ZWlzZSkgc2VsZi5wb3N0TWVzc2FnZShtc2cp +OwoKICAgICAgICBpZiAoaGF0QWt0aXZpdGFldCkgewogICAgICAgICAgICBzb2ZvcnRCYXNpc0lu +dGVydmFsbCgpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGxlZXJUaWNrcysrOwogICAg +ICAgICAgICBpZiAobGVlclRpY2tzID49IExFRVJfVElDS1NfQklTX0JBQ0tPRkYgJiYgaW50ZXJ2 +YWxsIDwgTUFYX0lOVEVSVkFMTCkgewogICAgICAgICAgICAgICAgcGxhblRpbWVyTmV1KE1hdGgu +bWluKGludGVydmFsbCAqIDIsIE1BWF9JTlRFUlZBTEwpKTsKICAgICAgICAgICAgfQogICAgICAg +IH0KICAgIH0pOwp9CgpmdW5jdGlvbiBzdGFydGVuKCkgewogICAgc29mb3J0QmFzaXNJbnRlcnZh +bGwoKTsKICAgIHRpY2soKTsKICAgIC8vIExlYmVuc3plaWNoZW4gYW4gZGVuIE1haW50aHJlYWQg +4oCUIG1haW4gaG9lcnQgaW4gc3luYy5qcyBkYXJhdWYgdW5kCiAgICAvLyBzZXR6dCBaLnN5bmNX +b3JrZXJMZWJ0LiBXZW5uIGRlciBXb3JrZXIgTklDSFQgYW50d29ydGV0LCBzaWVodCBkZXIKICAg +IC8vIFVzZXIgZG9ydCBlaW5lbiBEaWFnbm9zZS1Ub2FzdC4KICAgIHNlbGYucG9zdE1lc3NhZ2Uo +eyB0eXBlOiAncHVscycsIHRzOiBEYXRlLm5vdygpIH0pOwp9CgpzZWxmLm9ubWVzc2FnZSA9IGZ1 +bmN0aW9uKGUpIHsKICAgIHZhciBkID0gZS5kYXRhIHx8IHt9OwogICAgaWYgKGQuY21kID09PSAn +c3RhcnQnKSB7CiAgICAgICAgaWYgKGQuc2VpdCkgc2VpdCA9IGQuc2VpdDsKICAgICAgICBpZiAo +ZC5zZWl0U2VxICE9IG51bGwpIHNlaXRTZXEgPSBTdHJpbmcoZC5zZWl0U2VxKTsKICAgICAgICBz +aWNodGJhciA9IHRydWU7CiAgICAgICAgc3RhcnRlbigpOwogICAgfSBlbHNlIGlmIChkLmNtZCA9 +PT0gJ3BhdXNlJykgewogICAgICAgIHNpY2h0YmFyID0gZmFsc2U7CiAgICB9IGVsc2UgaWYgKGQu +Y21kID09PSAncmVzdW1lJykgewogICAgICAgIGlmIChkLnNlaXQpIHNlaXQgPSBkLnNlaXQ7CiAg +ICAgICAgaWYgKGQuc2VpdFNlcSAhPSBudWxsKSBzZWl0U2VxID0gU3RyaW5nKGQuc2VpdFNlcSk7 +CiAgICAgICAgc2ljaHRiYXIgPSB0cnVlOwogICAgICAgIHNvZm9ydEJhc2lzSW50ZXJ2YWxsKCk7 +ICAgLy8gQWt0aXZpdGFldC1TaWduYWwgLT4genVydWVjayBhdWYgQmFzaXMtUG9sbGluZwogICAg +ICAgIHRpY2soKTsKICAgIH0gZWxzZSBpZiAoZC5jbWQgPT09ICdzdG9wJykgewogICAgICAgIGlm +ICh0aW1lcikgY2xlYXJJbnRlcnZhbCh0aW1lcik7CiAgICAgICAgdGltZXIgPSBudWxsOwogICAg +fQp9OwoKLy8gSW5pdGlhbC1QdWxzIGRpcmVrdCBiZWltIFdvcmtlci1Jbml0ICh2b3IgZGVyIGVy +c3RlbiAnc3RhcnQnLU5hY2hyaWNodCkuCi8vIERhbWl0IHNpZWh0IG1haW4gc2Nob24sIGRhc3Mg +ZGFzIE1vZHVsIHVlYmVyaGF1cHQgZ2VwYXJzdCB3dXJkZS4Kc2VsZi5wb3N0TWVzc2FnZSh7IHR5 +cGU6ICdwdWxzJywgdHM6IERhdGUubm93KCksIHBoYXNlOiAnaW5pdCcgfSk7CnN0YXJ0ZW4oKTsK diff --git a/VI3DGL/sync-bundle-05.txt b/VI3DGL/sync-bundle-05.txt new file mode 100644 index 0000000..1a99255 --- /dev/null +++ b/VI3DGL/sync-bundle-05.txt @@ -0,0 +1,16704 @@ +### SYNC-TRANSFER 5/5 -- mit sync-entpacken.bat entpacken +### Base64 - NICHT von Hand bearbeiten. +### FILE: xlsx.full.min.js | 951904 +LyohIHhsc3guanMgKEMpIDIwMTMtcHJlc2VudCBTaGVldEpTIC0tIGh0dHA6Ly9zaGVldGpzLmNv +bSAqLwp2YXIgRE9fTk9UX0VYUE9SVF9DT0RFUEFHRT10cnVlO3ZhciBjcHRhYmxlPXt2ZXJzaW9u +OiIxLjE1LjAifTtjcHRhYmxlWzQzN109ZnVuY3Rpb24oKXt2YXIgZT0iXDABAgMEBQYHXGJcdFxu +XHgwQlxmXHIODxAREhMUFRYXGBkaGxwdHh8gIVwiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9 +Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1 +dnd4eXp7fH1+f8OHw7zDqcOiw6TDoMOlw6fDqsOrw6jDr8Ouw6zDhMOFw4nDpsOGw7TDtsOyw7vD +ucO/w5bDnMKiwqPCpeKCp8aSw6HDrcOzw7rDscORwqrCusK/4oyQwqzCvcK8wqHCq8K74paR4paS +4paT4pSC4pSk4pWh4pWi4pWW4pWV4pWj4pWR4pWX4pWd4pWc4pWb4pSQ4pSU4pS04pSs4pSc4pSA +4pS84pWe4pWf4pWa4pWU4pWp4pWm4pWg4pWQ4pWs4pWn4pWo4pWk4pWl4pWZ4pWY4pWS4pWT4pWr +4pWq4pSY4pSM4paI4paE4paM4paQ4paAzrHDn86Tz4DOo8+DwrXPhM6mzpjOqc604oiez4bOteKI +qeKJocKx4oml4omk4oyg4oyhw7fiiYjCsOKImcK34oia4oG/wrLilqDCoCIscj1bXSx0PXt9O2Zv +cih2YXIgYT0wO2EhPWUubGVuZ3RoOysrYSl7aWYoZS5jaGFyQ29kZUF0KGEpIT09NjU1MzMpdFtl +LmNoYXJBdChhKV09YTtyW2FdPWUuY2hhckF0KGEpfXJldHVybntlbmM6dCxkZWM6cn19KCk7Y3B0 +YWJsZVs2MjBdPWZ1bmN0aW9uKCl7dmFyIGU9IlwwAQIDBAUGB1xiXHRcblx4MEJcZlxyDg8QERIT +FBUWFxgZGhscHR4fICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpL +TE1OT1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn/Dh8O8 +w6nDosOkw6DEhcOnw6rDq8Oow6/DrsSHw4TEhMSYxJnFgsO0w7bEhsO7w7nFmsOWw5zCosWBwqXF +m8aSxbnFu8Ozw5PFhMWDxbrFvMK/4oyQwqzCvcK8wqHCq8K74paR4paS4paT4pSC4pSk4pWh4pWi +4pWW4pWV4pWj4pWR4pWX4pWd4pWc4pWb4pSQ4pSU4pS04pSs4pSc4pSA4pS84pWe4pWf4pWa4pWU +4pWp4pWm4pWg4pWQ4pWs4pWn4pWo4pWk4pWl4pWZ4pWY4pWS4pWT4pWr4pWq4pSY4pSM4paI4paE +4paM4paQ4paAzrHDn86Tz4DOo8+DwrXPhM6mzpjOqc604oiez4bOteKIqeKJocKx4oml4omk4oyg +4oyhw7fiiYjCsOKImcK34oia4oG/wrLilqDCoCIscj1bXSx0PXt9O2Zvcih2YXIgYT0wO2EhPWUu +bGVuZ3RoOysrYSl7aWYoZS5jaGFyQ29kZUF0KGEpIT09NjU1MzMpdFtlLmNoYXJBdChhKV09YTty +W2FdPWUuY2hhckF0KGEpfXJldHVybntlbmM6dCxkZWM6cn19KCk7Y3B0YWJsZVs3MzddPWZ1bmN0 +aW9uKCl7dmFyIGU9IlwwAQIDBAUGB1xiXHRcblx4MEJcZlxyDg8QERITFBUWFxgZGhscHR4fICFc +IiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla +W1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn/Okc6SzpPOlM6VzpbOl86YzpnO +ms6bzpzOnc6ezp/OoM6hzqPOpM6lzqbOp86ozqnOsc6yzrPOtM61zrbOt864zrnOus67zrzOvc6+ +zr/PgM+Bz4PPgs+Ez4XPhs+Hz4jilpHilpLilpPilILilKTilaHilaLilZbilZXilaPilZHilZfi +lZ3ilZzilZvilJDilJTilLTilKzilJzilIDilLzilZ7ilZ/ilZrilZTilanilabilaDilZDilazi +lafilajilaTilaXilZnilZjilZLilZPilavilarilJjilIzilojiloTilozilpDiloDPic6szq3O +rs+Kzq/PjM+Nz4vPjs6GzojOic6KzozOjs6PwrHiiaXiiaTOqs6rw7fiiYjCsOKImcK34oia4oG/ +wrLilqDCoCIscj1bXSx0PXt9O2Zvcih2YXIgYT0wO2EhPWUubGVuZ3RoOysrYSl7aWYoZS5jaGFy +Q29kZUF0KGEpIT09NjU1MzMpdFtlLmNoYXJBdChhKV09YTtyW2FdPWUuY2hhckF0KGEpfXJldHVy +bntlbmM6dCxkZWM6cn19KCk7Y3B0YWJsZVs4NTBdPWZ1bmN0aW9uKCl7dmFyIGU9IlwwAQIDBAUG +B1xiXHRcblx4MEJcZlxyDg8QERITFBUWFxgZGhscHR4fICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2 +Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1u +b3BxcnN0dXZ3eHl6e3x9fn/Dh8O8w6nDosOkw6DDpcOnw6rDq8Oow6/DrsOsw4TDhcOJw6bDhsO0 +w7bDssO7w7nDv8OWw5zDuMKjw5jDl8aSw6HDrcOzw7rDscORwqrCusK/wq7CrMK9wrzCocKrwrvi +lpHilpLilpPilILilKTDgcOCw4DCqeKVo+KVkeKVl+KVncKiwqXilJDilJTilLTilKzilJzilIDi +lLzDo8OD4pWa4pWU4pWp4pWm4pWg4pWQ4pWswqTDsMOQw4rDi8OIxLHDjcOOw4/ilJjilIziloji +loTCpsOM4paAw5PDn8OUw5LDtcOVwrXDvsOew5rDm8OZw73DncKvwrTCrcKx4oCXwr7CtsKnw7fC +uMKwwqjCt8K5wrPCsuKWoMKgIixyPVtdLHQ9e307Zm9yKHZhciBhPTA7YSE9ZS5sZW5ndGg7Kyth +KXtpZihlLmNoYXJDb2RlQXQoYSkhPT02NTUzMyl0W2UuY2hhckF0KGEpXT1hO3JbYV09ZS5jaGFy +QXQoYSl9cmV0dXJue2VuYzp0LGRlYzpyfX0oKTtjcHRhYmxlWzg1Ml09ZnVuY3Rpb24oKXt2YXIg +ZT0iXDABAgMEBQYHXGJcdFxuXHgwQlxmXHIODxAREhMUFRYXGBkaGxwdHh8gIVwiIyQlJicoKSor +LC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxdXl9gYWJj +ZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f8OHw7zDqcOiw6TFr8SHw6fFgsOrxZDFkcOuxbnD +hMSGw4nEucS6w7TDtsS9xL7FmsWbw5bDnMWkxaXFgcOXxI3DocOtw7PDusSExIXFvcW+xJjEmcKs +xbrEjMWfwqvCu+KWkeKWkuKWk+KUguKUpMOBw4LEmsWe4pWj4pWR4pWX4pWdxbvFvOKUkOKUlOKU +tOKUrOKUnOKUgOKUvMSCxIPilZrilZTilanilabilaDilZDilazCpMSRxJDEjsOLxI/Fh8ONw47E +m+KUmOKUjOKWiOKWhMWixa7iloDDk8Ofw5TFg8WExYjFoMWhxZTDmsWVxbDDvcOdxaPCtMKty53L +m8uHy5jCp8O3wrjCsMKoy5nFscWYxZnilqDCoCIscj1bXSx0PXt9O2Zvcih2YXIgYT0wO2EhPWUu +bGVuZ3RoOysrYSl7aWYoZS5jaGFyQ29kZUF0KGEpIT09NjU1MzMpdFtlLmNoYXJBdChhKV09YTty +W2FdPWUuY2hhckF0KGEpfXJldHVybntlbmM6dCxkZWM6cn19KCk7Y3B0YWJsZVs4NTddPWZ1bmN0 +aW9uKCl7dmFyIGU9IlwwAQIDBAUGB1xiXHRcblx4MEJcZlxyDg8QERITFBUWFxgZGhscHR4fICFc +IiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla +W1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn/Dh8O8w6nDosOkw6DDpcOnw6rD +q8Oow6/DrsSxw4TDhcOJw6bDhsO0w7bDssO7w7nEsMOWw5zDuMKjw5jFnsWfw6HDrcOzw7rDscOR +xJ7En8K/wq7CrMK9wrzCocKrwrvilpHilpLilpPilILilKTDgcOCw4DCqeKVo+KVkeKVl+KVncKi +wqXilJDilJTilLTilKzilJzilIDilLzDo8OD4pWa4pWU4pWp4pWm4pWg4pWQ4pWswqTCusKqw4rD +i8OI77+9w43DjsOP4pSY4pSM4paI4paEwqbDjOKWgMOTw5/DlMOSw7XDlcK177+9w5fDmsObw5nD +rMO/wq/CtMKtwrHvv73CvsK2wqfDt8K4wrDCqMK3wrnCs8Ky4pagwqAiLHI9W10sdD17fTtmb3Io +dmFyIGE9MDthIT1lLmxlbmd0aDsrK2Epe2lmKGUuY2hhckNvZGVBdChhKSE9PTY1NTMzKXRbZS5j +aGFyQXQoYSldPWE7clthXT1lLmNoYXJBdChhKX1yZXR1cm57ZW5jOnQsZGVjOnJ9fSgpO2NwdGFi +bGVbODYxXT1mdW5jdGlvbigpe3ZhciBlPSJcMAECAwQFBgdcYlx0XG5ceDBCXGZccg4PEBESExQV +FhcYGRobHB0eHyAhXCIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xN +Tk9QUVJTVFVWV1hZWltcXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/w4fDvMOp +w6LDpMOgw6XDp8Oqw6vDqMOQw7DDnsOEw4XDicOmw4bDtMO2w77Du8Odw73DlsOcw7jCo8OY4oKn +xpLDocOtw7PDusOBw43Dk8Oawr/ijJDCrMK9wrzCocKrwrvilpHilpLilpPilILilKTilaHilaLi +lZbilZXilaPilZHilZfilZ3ilZzilZvilJDilJTilLTilKzilJzilIDilLzilZ7ilZ/ilZrilZTi +lanilabilaDilZDilazilafilajilaTilaXilZnilZjilZLilZPilavilarilJjilIzilojiloTi +lozilpDiloDOscOfzpPPgM6jz4PCtc+EzqbOmM6pzrTiiJ7Phs614oip4omhwrHiiaXiiaTijKDi +jKHDt+KJiMKw4oiZwrfiiJrigb/CsuKWoMKgIixyPVtdLHQ9e307Zm9yKHZhciBhPTA7YSE9ZS5s +ZW5ndGg7KythKXtpZihlLmNoYXJDb2RlQXQoYSkhPT02NTUzMyl0W2UuY2hhckF0KGEpXT1hO3Jb +YV09ZS5jaGFyQXQoYSl9cmV0dXJue2VuYzp0LGRlYzpyfX0oKTtjcHRhYmxlWzg2NV09ZnVuY3Rp +b24oKXt2YXIgZT0iXDABAgMEBQYHXGJcdFxuXHgwQlxmXHIODxAREhMUFRYXGBkaGxwdHh8gIVwi +IyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpb +XFxdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f8OHw7zDqcOiw6TDoMOlw6fDqsOr +w6jDr8Ouw6zDhMOFw4nDpsOGw7TDtsOyw7vDucO/w5bDnMO4wqPDmOKCp8aSw6HDrcOzw7rDscOR +wqrCusK/4oyQwqzCvcK8wqHCq8Kk4paR4paS4paT4pSC4pSk4pWh4pWi4pWW4pWV4pWj4pWR4pWX +4pWd4pWc4pWb4pSQ4pSU4pS04pSs4pSc4pSA4pS84pWe4pWf4pWa4pWU4pWp4pWm4pWg4pWQ4pWs +4pWn4pWo4pWk4pWl4pWZ4pWY4pWS4pWT4pWr4pWq4pSY4pSM4paI4paE4paM4paQ4paAzrHDn86T +z4DOo8+DwrXPhM6mzpjOqc604oiez4bOteKIqeKJocKx4oml4omk4oyg4oyhw7fiiYjCsOKImcK3 +4oia4oG/wrLilqDCoCIscj1bXSx0PXt9O2Zvcih2YXIgYT0wO2EhPWUubGVuZ3RoOysrYSl7aWYo +ZS5jaGFyQ29kZUF0KGEpIT09NjU1MzMpdFtlLmNoYXJBdChhKV09YTtyW2FdPWUuY2hhckF0KGEp +fXJldHVybntlbmM6dCxkZWM6cn19KCk7Y3B0YWJsZVs4NjZdPWZ1bmN0aW9uKCl7dmFyIGU9Ilww +AQIDBAUGB1xiXHRcblx4MEJcZlxyDg8QERITFBUWFxgZGhscHR4fICFcIiMkJSYnKCkqKywtLi8w +MTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdo +aWprbG1ub3BxcnN0dXZ3eHl6e3x9fn/QkNCR0JLQk9CU0JXQltCX0JjQmdCa0JvQnNCd0J7Qn9Cg +0KHQotCj0KTQpdCm0KfQqNCp0KrQq9Cs0K3QrtCv0LDQsdCy0LPQtNC10LbQt9C40LnQutC70LzQ +vdC+0L/ilpHilpLilpPilILilKTilaHilaLilZbilZXilaPilZHilZfilZ3ilZzilZvilJDilJTi +lLTilKzilJzilIDilLzilZ7ilZ/ilZrilZTilanilabilaDilZDilazilafilajilaTilaXilZni +lZjilZLilZPilavilarilJjilIzilojiloTilozilpDiloDRgNGB0YLRg9GE0YXRhtGH0YjRidGK +0YvRjNGN0Y7Rj9CB0ZHQhNGU0IfRl9CO0Z7CsOKImcK34oia4oSWwqTilqDCoCIscj1bXSx0PXt9 +O2Zvcih2YXIgYT0wO2EhPWUubGVuZ3RoOysrYSl7aWYoZS5jaGFyQ29kZUF0KGEpIT09NjU1MzMp +dFtlLmNoYXJBdChhKV09YTtyW2FdPWUuY2hhckF0KGEpfXJldHVybntlbmM6dCxkZWM6cn19KCk7 +Y3B0YWJsZVs4NzRdPWZ1bmN0aW9uKCl7dmFyIGU9IlwwAQIDBAUGB1xiXHRcblx4MEJcZlxyDg8Q +ERITFBUWFxgZGhscHR4fICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdI +SUpLTE1OT1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn/i +gqzvv73vv73vv73vv73igKbvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73igJjigJni +gJzigJ3igKLigJPigJTvv73vv73vv73vv73vv73vv73vv73vv73CoOC4geC4guC4g+C4hOC4heC4 +huC4h+C4iOC4ieC4iuC4i+C4jOC4jeC4juC4j+C4kOC4keC4kuC4k+C4lOC4leC4luC4l+C4mOC4 +meC4muC4m+C4nOC4neC4nuC4n+C4oOC4oeC4ouC4o+C4pOC4peC4puC4p+C4qOC4qeC4quC4q+C4 +rOC4reC4ruC4r+C4sOC4seC4suC4s+C4tOC4teC4tuC4t+C4uOC4ueC4uu+/ve+/ve+/ve+/veC4 +v+C5gOC5geC5guC5g+C5hOC5heC5huC5h+C5iOC5ieC5iuC5i+C5jOC5jeC5juC5j+C5kOC5keC5 +kuC5k+C5lOC5leC5luC5l+C5mOC5meC5muC5m++/ve+/ve+/ve+/vSIscj1bXSx0PXt9O2Zvcih2 +YXIgYT0wO2EhPWUubGVuZ3RoOysrYSl7aWYoZS5jaGFyQ29kZUF0KGEpIT09NjU1MzMpdFtlLmNo +YXJBdChhKV09YTtyW2FdPWUuY2hhckF0KGEpfXJldHVybntlbmM6dCxkZWM6cn19KCk7Y3B0YWJs +ZVs4OTVdPWZ1bmN0aW9uKCl7dmFyIGU9IlwwAQIDBAUGB1xiXHRcblx4MEJcZlxyDg8QERITFBUW +FxgZGhscHR4fICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1O +T1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn/EjMO8w6nE +j8OkxI7FpMSNxJvEmsS5w43Evseqw4TDgcOJxb7FvcO0w7bDk8Wvw5rDvcOWw5zFoMS9w53FmMWl +w6HDrcOzw7rFiMWHxa7DlMWhxZnFlcWUwrzCp8KrwrvilpHilpLilpPilILilKTilaHilaLilZbi +lZXilaPilZHilZfilZ3ilZzilZvilJDilJTilLTilKzilJzilIDilLzilZ7ilZ/ilZrilZTilani +labilaDilZDilazilafilajilaTilaXilZnilZjilZLilZPilavilarilJjilIzilojiloTilozi +lpDiloDOscOfzpPPgM6jz4PCtc+EzqbOmM6pzrTiiJ7Phs614oip4omhwrHiiaXiiaTijKDijKHD +t+KJiMKw4oiZwrfiiJrigb/CsuKWoMKgIixyPVtdLHQ9e307Zm9yKHZhciBhPTA7YSE9ZS5sZW5n +dGg7KythKXtpZihlLmNoYXJDb2RlQXQoYSkhPT02NTUzMyl0W2UuY2hhckF0KGEpXT1hO3JbYV09 +ZS5jaGFyQXQoYSl9cmV0dXJue2VuYzp0LGRlYzpyfX0oKTtjcHRhYmxlWzkzMl09ZnVuY3Rpb24o +KXt2YXIgZT1bXSxyPXt9LHQ9W10sYTt0WzBdPSJcMAECAwQFBgdcYlx0XG5ceDBCXGZccg4PEBES +ExQVFhcYGRobHB0eHyAhXCIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElK +S0xNTk9QUVJTVFVWV1hZWltcXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/77+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+9772h772i772j772k772l772m +772n772o772p772q772r772s772t772u772v772w772x772y772z772077217722772377247725 +7726772777287729772+772/776A776B776C776D776E776F776G776H776I776J776K776L776M +776N776O776P776Q776R776S776T776U776V776W776X776Y776Z776a776b776c776d776e776f +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9 +MDthIT10WzBdLmxlbmd0aDsrK2EpaWYodFswXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3Jb +dFswXVthXV09MCthO2VbMCthXT10WzBdW2FdfXRbMTI5XT0i77+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +44CA44CB44CC77yM77yO44O777ya77yb77yf77yB44Kb44KcwrTvvYDCqO+8vu+/o++8v+ODveOD +vuOCneOCnuOAg+S7neOAheOAhuOAh+ODvOKAleKAkO+8j++8vO+9nuKIpe+9nOKApuKApeKAmOKA +meKAnOKAne+8iO+8ieOAlOOAle+8u++8ve+9m++9neOAiOOAieOAiuOAi+OAjOOAjeOAjuOAj+OA +kOOAke+8i++8jcKxw5fvv73Dt++8neKJoO+8nO+8nuKJpuKJp+KInuKItOKZguKZgMKw4oCy4oCz +4oSD77+l77yE77+g77+h77yF77yD77yG77yK77ygwqfimIbimIXil4vil4/il47il4fil4bilqHi +lqDilrPilrLilr3ilrzigLvjgJLihpLihpDihpHihpPjgJPvv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73iiIjiiIviiobiiofiioLiioPiiKriiKnvv73vv73vv73vv73vv73vv73vv73v +v73iiKfiiKjvv6Lih5Lih5TiiIDiiIPvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73i +iKDiiqXijJLiiILiiIfiiaHiiZLiiariiaviiJriiL3iiJ3iiLXiiKviiKzvv73vv73vv73vv73v +v73vv73vv73ihKvigLDima/ima3imarigKDigKHCtu+/ve+/ve+/ve+/veKXr++/ve+/ve+/vSIu +c3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxMjldLmxlbmd0aDsrK2EpaWYodFsxMjldW2FdLmNoYXJD +b2RlQXQoMCkhPT02NTUzMyl7clt0WzEyOV1bYV1dPTMzMDI0K2E7ZVszMzAyNCthXT10WzEyOV1b +YV19dFsxMzBdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vvJDvvJHvvJLvvJPvvJTvvJXvvJbvvJfvvJjvvJnvv73vv73v +v73vv73vv73vv73vv73vvKHvvKLvvKPvvKTvvKXvvKbvvKfvvKjvvKnvvKrvvKvvvKzvvK3vvK7v +vK/vvLDvvLHvvLLvvLPvvLTvvLXvvLbvvLfvvLjvvLnvvLrvv73vv73vv73vv73vv73vv73vv73v +vYHvvYLvvYPvvYTvvYXvvYbvvYfvvYjvvYnvvYrvvYvvvYzvvY3vvY7vvY/vvZDvvZHvvZLvvZPv +vZTvvZXvvZbvvZfvvZjvvZnvvZrvv73vv73vv73vv73jgYHjgYLjgYPjgYTjgYXjgYbjgYfjgYjj +gYnjgYrjgYvjgYzjgY3jgY7jgY/jgZDjgZHjgZLjgZPjgZTjgZXjgZbjgZfjgZjjgZnjgZrjgZvj +gZzjgZ3jgZ7jgZ/jgaDjgaHjgaLjgaPjgaTjgaXjgabjgafjgajjganjgarjgavjgazjga3jga7j +ga/jgbDjgbHjgbLjgbPjgbTjgbXjgbbjgbfjgbjjgbnjgbrjgbvjgbzjgb3jgb7jgb/jgoDjgoHj +goLjgoPjgoTjgoXjgobjgofjgojjgonjgorjgovjgozjgo3jgo7jgo/jgpDjgpHjgpLjgpPvv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv70iLnNwbGl0KCIiKTtmb3IoYT0w +O2EhPXRbMTMwXS5sZW5ndGg7KythKWlmKHRbMTMwXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMp +e3JbdFsxMzBdW2FdXT0zMzI4MCthO2VbMzMyODArYV09dFsxMzBdW2FdfXRbMTMxXT0i77+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+944Kh44Ki44Kj44Kk44Kl44Km44Kn44Ko44Kp44Kq44Kr44Ks44Kt44Ku +44Kv44Kw44Kx44Ky44Kz44K044K144K244K344K444K544K644K744K844K944K+44K/44OA44OB +44OC44OD44OE44OF44OG44OH44OI44OJ44OK44OL44OM44ON44OO44OP44OQ44OR44OS44OT44OU +44OV44OW44OX44OY44OZ44Oa44Ob44Oc44Od44Oe44Of77+944Og44Oh44Oi44Oj44Ok44Ol44Om +44On44Oo44Op44Oq44Or44Os44Ot44Ou44Ov44Ow44Ox44Oy44Oz44O044O144O277+977+977+9 +77+977+977+977+977+9zpHOks6TzpTOlc6WzpfOmM6ZzprOm86czp3Ons6fzqDOoc6jzqTOpc6m +zqfOqM6p77+977+977+977+977+977+977+977+9zrHOss6zzrTOtc62zrfOuM65zrrOu868zr3O +vs6/z4DPgc+Dz4TPhc+Gz4fPiM+J77+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzEz +MV0ubGVuZ3RoOysrYSlpZih0WzEzMV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTMx +XVthXV09MzM1MzYrYTtlWzMzNTM2K2FdPXRbMTMxXVthXX10WzEzMl09Iu+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/vdCQ0JHQktCT0JTQldCB0JbQl9CY0JnQmtCb0JzQndCe0J/QoNCh0KLQo9Ck0KXQptCn +0KjQqdCq0KvQrNCt0K7Qr++/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/vdCw0LHQstCz0LTQtdGR0LbQt9C40LnQutC70LzQve+/vdC+0L/RgNGB0YLRg9GE0YXRhtGH +0YjRidGK0YvRjNGN0Y7Rj++/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veKU +gOKUguKUjOKUkOKUmOKUlOKUnOKUrOKUpOKUtOKUvOKUgeKUg+KUj+KUk+KUm+KUl+KUo+KUs+KU +q+KUu+KVi+KUoOKUr+KUqOKUt+KUv+KUneKUsOKUpeKUuOKVgu+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxMzJdLmxlbmd0aDsrK2EpaWYodFsxMzJdW2Fd +LmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzEzMl1bYV1dPTMzNzkyK2E7ZVszMzc5MithXT10 +WzEzMl1bYV19dFsxMzVdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73ikaDikaHikaLikaPikaTikaXi +kabikafikajikanikarikavikazika3ika7ika/ikbDikbHikbLikbPihaDihaHihaLihaPihaTi +haXihabihafihajihanvv73jjYnjjJTjjKLjjY3jjJjjjKfjjIPjjLbjjZHjjZfjjI3jjKbjjKPj +jKvjjYrjjLvjjpzjjp3jjp7jjo7jjo/jj4TjjqHvv73vv73vv73vv73vv73vv73vv73vv73jjbvv +v73jgJ3jgJ/ihJbjj43ihKHjiqTjiqXjiqbjiqfjiqjjiLHjiLLjiLnjjb7jjb3jjbziiZLiiaHi +iKviiK7iiJHiiJriiqXiiKDiiJ/iir/iiLXiiKniiKrvv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv70iLnNwbGl0KCIiKTtm +b3IoYT0wO2EhPXRbMTM1XS5sZW5ndGg7KythKWlmKHRbMTM1XVthXS5jaGFyQ29kZUF0KDApIT09 +NjU1MzMpe3JbdFsxMzVdW2FdXT0zNDU2MCthO2VbMzQ1NjArYV09dFsxMzVdW2FdfXRbMTM2XT0i +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+95Lqc5ZSW5aiD6Zi/5ZOA5oSb5oyo5ae26YCi6JG16Iyc56mQ +5oKq5o+h5ril5pet6JGm6Iqm6a+15qKT5Zyn5pah5omx5a6b5aeQ6Jm76aO057Wi57a+6a6O5oiW +57Kf6KK35a6J5bq15oyJ5pqX5qGI6ZeH6Z6N5p2P5Lul5LyK5L2N5L6d5YGJ5Zuy5aS35aeU5aiB +5bCJ5oOf5oSP5oWw5piT5qSF54K655WP55Ww56e757at57ev6IOD6JCO6KGj6KyC6YGV6YG65Yy7 +5LqV5Lql5Z+f6IKy6YOB56Ov5LiA5aOx5rqi6YC456iy6Iyo6IqL6bCv5YWB5Y2w5ZK95ZOh5Zug +5ae75byV6aOy5rer6IOk6JSt77+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzEzNl0u +bGVuZ3RoOysrYSlpZih0WzEzNl1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTM2XVth +XV09MzQ4MTYrYTtlWzM0ODE2K2FdPXRbMTM2XVthXX10WzEzN109Iu+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/vemZoumZsOmaoOmfu+WQi+WPs+Wuh+eDj+e+vei/gumbqOWNr+m1nOequuS4keeik+iHvOa4 +puWYmOWUhOasneiUmumwu+WnpeWOqea1pueTnOmWj+WZguS6kemBi+mbsuiNj+mkjOWPoeWWtuWs +sOW9seaYoOabs+aghOawuOazs+a0qeeRm+ebiOepjumgtOiLseihm+ipoOmLrea2sueWq+ebiumn +heaCpuisgei2iumWsuamjuWOreWGhu+/veWckuWgsOWlhOWutOW7tuaAqOaOqeaPtOayv+a8lOeC +jueElOeFmeeHleeMv+e4geiJtuiLkeiWl+mBoOmJm+m0m+WhqeaWvOaxmueUpeWHueWkruWlpeW+ +gOW/nOaKvOaXuuaoquasp+autOeOi+e/geillum0rOm0jum7hOWyoeayluiNu+WEhOWxi+aGtuiH +huahtueJoeS5meS/uuWNuOaBqea4qeepj+mfs+S4i+WMluS7ruS9leS8veS+oeS9s+WKoOWPr+WY +ieWkj+WrgeWutuWvoeenkeaah+aenOaetuatjOays+eBq+ePguemjeemvueovOeuh+iKseiLm+iM +hOiNt+iPr+iPk+idpuiqsuWYqeiyqOi/pumBjumcnuiaiuS/hOWzqOaIkeeJmeeUu+iHpeiKveib +vuizgOmbhemkk+mnleS7i+S8muino+WbnuWhiuWjiuW7u+W/q+aAquaClOaBouaHkOaIkuaLkOaU +ue+/ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxMzddLmxlbmd0aDsrK2EpaWYodFsx +MzddW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzEzN11bYV1dPTM1MDcyK2E7ZVszNTA3 +MithXT10WzEzN11bYV19dFsxMzhdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73prYHmmabmorDmtbfn +gbDnlYznmobntbXoiqXon7nplovpmo7osp3lh7Hlir7lpJblkrPlrrPltJbmhajmpoLmtq/noo3o +k4vooZfoqbLpjqfpqrjmtazppqjom5nlnqPmn7/om47piI7lioPlmoflkITlu5Pmi6HmkrnmoLzm +oLjmrrvnjbLnorrnqavopprop5LotavovIPpg63plqPpmpTpnanlrablsrPmpb3poY3poY7mjpvn +rKDmqKvvv73mqb/morbpsI3mvZ/libLllp3mgbDmi6zmtLvmuIfmu5HokZvopJDovYTkuJTpsLnl +j7bmpJvmqLrpnoTmoKrlhZznq4PokrLph5zpjozlmZvptKjmoKLojIXokLHnsqXliIjoi4Xnk6bk +ub7kvoPlhqDlr5LliIrli5jli6flt7vllprloKrlp6blrozlrpjlr5vlubLlubnmgqPmhJ/mhaPm +hr7mj5vmlaLmn5HmoZPmo7rmrL7mrZPmsZfmvKLmvpfmvYXnkrDnlJjnm6PnnIvnq7/nrqHnsKHn +t6nnvLbnv7Dogp3oiabojp7oprPoq4zosqvpgoTpkZHplpPplpHplqLpmaXpn5PppKjoiJjkuLjl +kKvlsrjlt4znjqnnmYznnLzlsqnnv6votIvpm4HpoJHpoZTpoZjkvIHkvI7ljbHllpzlmajln7rl +pYflrInlr4TlspDluIzlub7lv4zmj67mnLrml5fml6LmnJ/mo4vmo4Tvv73vv73vv70iLnNwbGl0 +KCIiKTtmb3IoYT0wO2EhPXRbMTM4XS5sZW5ndGg7KythKWlmKHRbMTM4XVthXS5jaGFyQ29kZUF0 +KDApIT09NjU1MzMpe3JbdFsxMzhdW2FdXT0zNTMyOCthO2VbMzUzMjgrYV09dFsxMzhdW2FdfXRb +MTM5XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+95qmf5biw5q+F5rCX5rG955W/56WI5a2j56iA57SA +5b696KaP6KiY6LK06LW36LuM6Lyd6aOi6aiO6ay85LqA5YG95YSA5aaT5a6c5oiv5oqA5pOs5qy6 +54qg55aR56WH576p6J+76Kq86K2w5o6s6I+K6Z6g5ZCJ5ZCD5Zar5qGU5qmY6Kmw56Cn5p216buN +5Y205a6i6ISa6JmQ6YCG5LiY5LmF5LuH5LyR5Y+K5ZC45a6u5byT5oCl5pWR77+95py95rGC5rGy +5rOj54G455CD56m256qu56yI57Sa57O+57Wm5pen54mb5Y675bGF5beo5ouS5oug5oyZ5rig6Jma +6Kix6Led6Yu45ryB56am6a2a5Lqo5Lqr5Lqs5L6b5L6g5YOR5YWH56u25YWx5Ye25Y2U5Yyh5Y2/ +5Y+r5Zas5aKD5bOh5by35b2K5oCv5oGQ5oGt5oyf5pWZ5qmL5rOB54uC54ut55+v6IO46ISF6IiI +6JWO6YO36Y+h6Z+/6aWX6ama5Luw5Yed5bCt5pqB5qWt5bGA5puy5qW1546J5qGQ57KB5YOF5Yuk +5Z2H5be+6Yym5pak5qyj5qy955C056aB56a9562L57eK6Iq56I+M6KG/6KWf6Ky56L+R6YeR5ZCf +6YqA5Lmd5YC25Y+l5Yy654uX546W55+p6Ium6Lqv6aeG6aeI6aeS5YW35oSa6Jme5Zaw56m65YG2 +5a+T6YGH6ZqF5Liy5qub6Yen5bGR5bGI77+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10 +WzEzOV0ubGVuZ3RoOysrYSlpZih0WzEzOV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3Rb +MTM5XVthXV09MzU1ODQrYTtlWzM1NTg0K2FdPXRbMTM5XVthXX10WzE0MF09Iu+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/veaOmOeqn+ayk+mdtOi9oeeqqueGiumaiOeyguagl+e5sOahkemNrOWLsuWQm+iW +q+iok+e+pOi7jemDoeWNpuiiiOelgeS/guWCvuWIkeWFhOWVk+WcreePquWei+WlkeW9ouW+hOaB +teaFtuaFp+aGqeaOsuaQuuaVrOaZr+ahgua4k+eVpueoveezu+e1jOe2mee5i+e9q+iMjuiNiuib +jeioiOipo+itpui7vemgmum2j+iKuOi/jumvqO+/veWKh+aIn+aSg+a/gOmameahgeWCkeasoOax +uua9lOeptOe1kOihgOioo+aciOS7tuWAueWApuWBpeWFvOWIuOWJo+WWp+Wcj+WgheWrjOW7uuaG +suaHuOaLs+aNsuaknOaoqeeJveeKrOeMrueglOehr+e1ueecjOiCqeimi+ismeizoui7kumBo+mN +temZuumhlemok+m5uOWFg+WOn+WOs+W5u+W8pua4m+a6kOeOhOePvue1g+iIt+iogOiruumZkOS5 +juWAi+WPpOWRvOWbuuWnkeWtpOW3seW6q+W8p+aIuOaVheaer+a5lueLkOeziuiitOiCoeiDoeiP +sOiZjuiqh+i3qOmIt+mbh+mhp+m8k+S6lOS6kuS8jeWNiOWRieWQvuWor+W+jOW+oeaCn+aip+aq +jueRmueigeiqnuiqpOitt+mGkOS5numvieS6pOS9vOS+r+WAmeWAluWFieWFrOWKn+WKueWLvuWO +muWPo+WQke+/ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNDBdLmxlbmd0aDsrK2Ep +aWYodFsxNDBdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE0MF1bYV1dPTM1ODQwK2E7 +ZVszNTg0MCthXT10WzE0MF1bYV19dFsxNDFdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73lkI7llonl +nZHlnqLlpb3lrZTlrZ3lro/lt6Xlt6flt7flubjluoPluprlurflvJjmgZLmhYzmipfmi5jmjqfm +lLvmmILmmYPmm7Tmna3moKHmopfmp4vmsZ/mtKrmtanmuK/mup3nlLLnmofnoaznqL/ns6DntIXn +tJjntZ7ntrHogJXogIPogq/ogrHohZToho/oiKrojZLooYzooaHorJvosqLos7zpg4rphbXpibHn +oL/pi7zplqTpmY3vv73poIXpppnpq5jptLvliZvliqvlj7flkIjlo5Xmi7fmv6DosarovZ/purnl +hYvliLvlkYrlm73nqYDphbfptaDpu5LnjYTmvInohbDnlJHlv73mg5rpqqjni5vovrzmraTpoIPk +u4rlm7DlnaTlor7lqZrmgajmh4fmmI/mmIbmoLnmorHmt7fnl5XntLroia7prYLkupvkvZDlj4nl +lIblta/lt6blt67mn7vmspnnkbPnoILoqZDpjpboo5/lnZDluqfmjKvlgrXlgqzlho3mnIDlk4nl +oZ7lprvlrrDlvanmiY3mjqHmoL3mrbPmuIjngb3ph4fnioDnoJXnoKbnpa3mlo7ntLDoj5zoo4Ho +vInpmpvliaTlnKjmnZDnvarosqHlhrTlnYLpmKrloLrmporogrTlkrLltI7ln7znopXpt7rkvZzl +iYrlkovmkL7mmKjmnJTmn7XnqoTnrZbntKLpjK/moZzprq3nrLnljJnlhorliLfvv73vv73vv70i +LnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTQxXS5sZW5ndGg7KythKWlmKHRbMTQxXVthXS5jaGFy +Q29kZUF0KDApIT09NjU1MzMpe3JbdFsxNDFdW2FdXT0zNjA5NithO2VbMzYwOTYrYV09dFsxNDFd +W2FdfXRbMTQyXT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+95a+f5ou25pKu5pOm5pyt5q666Jap6ZuR +55qQ6a+W5o2M6YyG6a6r55q/5pmS5LiJ5YKY5Y+C5bGx5oOo5pKS5pWj5qGf54em54+K55Sj566X +57qC6JqV6K6D6LOb6YW46aSQ5pas5pqr5q6L5LuV5LuU5Ly65L2/5Yi65Y+45Y+y5Zej5Zub5aOr +5aeL5aeJ5ae/5a2Q5bGN5biC5bir5b+X5oCd5oyH5pSv5a2c5pav5pa95peo5p6d5q2i77+95q27 +5rCP542F56WJ56eB57O457SZ57Sr6IKi6ISC6Iez6KaW6Kme6Kmp6Kmm6KqM6Kuu6LOH6LOc6ZuM +6aO85q2v5LqL5Ly85L6N5YWQ5a2X5a+65oWI5oyB5pmC5qyh5ruL5rK754i+55K955eU56OB56S6 +6ICM6ICz6Ieq6JKU6L6e5rGQ6bm/5byP6K2Y6bSr56u66Lu45a6N6Zur5LiD5Y+x5Z+35aSx5auJ +5a6k5oKJ5rm/5ryG55a+6LOq5a6f6JSA56+g5YGy5p+06Iqd5bGh6JWK57ie6IiO5YaZ5bCE5o2o +6LWm5pac54Wu56S+57SX6ICF6Kyd6LuK6YGu6JuH6YKq5YCf5Yu65bC65p2T54G854i16YWM6YeI +6Yyr6Iul5a+C5byx5oO55Li75Y+W5a6I5omL5pyx5q6K54up54+g56iu6IWr6Laj6YWS6aaW5YSS +5Y+X5ZGq5a+/5o6I5qi557as6ZyA5Zua5Y+O5ZGo77+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9 +MDthIT10WzE0Ml0ubGVuZ3RoOysrYSlpZih0WzE0Ml1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMz +KXtyW3RbMTQyXVthXV09MzYzNTIrYTtlWzM2MzUyK2FdPXRbMTQyXVthXX10WzE0M109Iu+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/veWul+WwseW3nuS/ruaEgeaLvua0suengOeni+e1gue5jee/kuiHreiI +n+iSkOihhuilsuiukOi5tOi8r+mAsemFi+mFrOmbhumGnOS7gOS9j+WFheWNgeW+k+aIjuaflOax +gea4i+eNo+e4pumHjemKg+WPlOWkmeWuv+a3keelnee4rueym+WhvueGn+WHuuihk+i/sOS/iuWz +u+aYpeeerOero+iInOmnv+WHhuW+quaXrOalr+auiea3s++/vea6lua9pOebvue0lOW3oemBtemG +h+mghuWHpuWIneaJgOaakeabmea4muW6tue3kue9suabuOiWr+iXt+iruOWKqeWPmeWls+W6j+W+ +kOaBlemLpOmZpOWCt+WEn+WLneWMoOWNh+WPrOWTqOWVhuWUseWYl+WlqOWmvuWovOWuteWwhuWw +j+WwkeWwmuW6hOW6iuW7oOW9sOaJv+aKhOaLm+aOjOaNt+aYh+aYjOaYreaZtuadvuaiouaon+ao +teayvOa2iOa4iea5mOeEvOeEpueFp+eXh+ecgeehneekgeelpeensOeroOeskeeyp+e0ueiCluiP +luiSi+iVieihneijs+ion+iovOiplOips+ixoeiznumGpOmJpumNvumQmOmanOmemOS4iuS4iOS4 +nuS5l+WGl+WJsOWfjuWgtOWjjOWsouW4uOaDheaTvuadoeadlua1hOeKtueVs+epo+iSuOitsumG +uOmMoOWYseWftOmjvu+/ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNDNdLmxlbmd0 +aDsrK2EpaWYodFsxNDNdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE0M11bYV1dPTM2 +NjA4K2E7ZVszNjYwOCthXT10WzE0M11bYV19dFsxNDRdPSLvv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73m +i63mpI3mrpbnh63nuZTogbfoibLop6bpo5/onZXovrHlsLvkvLjkv6HkvrXllIflqKDlr53lr6nl +v4PmhY7mjK/mlrDmmYvmo67mppvmtbjmt7HnlLPnlrnnnJ/npZ7np6bntLPoh6Poiq/olqropqro +qLrouqvovpvpgLLph53pnIfkurrku4HliIPlobXlo6zlsIvnlJrlsL3ohY7oqIrov4XpmaPpna3n +rKXoq4/poIjphaLlm7Pljqjvv73pgJflkLnlnoLluKXmjqjmsLTngornnaHnsovnv6DoobDpgYLp +hZTpjJDpjJjpmo/nkZ7pq4TltIfltanmlbDmnqLotqjpm5vmja7mnYnmpJnoj4XpoJfpm4Doo77m +voTmkbrlr7jkuJbngKznlZ3mmK/lh4TliLbli6Llp5PlvoHmgKfmiJDmlL/mlbTmmJ/mmbTmo7Lm +oJbmraPmuIXnibLnlJ/nm5vnsr7ogZblo7Doo73opb/oqqDoqpPoq4vpgJ3phpLpnZLpnZnmlonn +qI7ohIbpmrvluK3mg5zmiJrmlqXmmJTmnpDnn7PnqY3nsY3nuL7ohIrosqzotaTot6HouZ/noqnl +iIfmi5nmjqXmkYLmipjoqK3nqoPnr4Doqqzpm6rntbboiIzonYnku5nlhYjljYPljaDlrqPlsILl +sJblt53miKbmiYfmkrDmoJPmoLTms4nmtYXmtJfmn5PmvZznhY7nhb3ml4vnqb/nrq3nt5rvv73v +v73vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTQ0XS5sZW5ndGg7KythKWlmKHRbMTQ0XVth +XS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNDRdW2FdXT0zNjg2NCthO2VbMzY4NjQrYV09 +dFsxNDRdW2FdfXRbMTQ1XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+957mK576o6IW66Iib6Ii56Jam +6Kmu6LOO6Le16YG46YG36Yqt6YqR6ZaD6a6u5YmN5ZaE5ry454S25YWo56aF57mV6Iaz57OO5ZmM +5aGR5bKo5o6q5pu+5pu95qWa54uZ55aP55aO56SO56WW56ef57KX57Sg57WE6JiH6Ki06Zi76YGh +6byg5YOn5Ym15Y+M5Y+i5YCJ5Zaq5aOu5aWP54i95a6L5bGk5Yyd5oOj5oOz5o2c5o6D5oy/5o67 +77+95pON5pep5pu55bej5qeN5qe95ryV54el5LqJ55ep55u456qT57Of57eP57ac6IGh6I2J6I2Y +6JGs6JK86Je76KOF6LWw6YCB6YGt6Y6X6Zyc6aiS5YOP5aKX5oaO6IeT6JS16LSI6YCg5L+D5YG0 +5YmH5Y2z5oGv5o2J5p2f5ris6Laz6YCf5L+X5bGe6LOK5peP57aa5Y2S6KKW5YW25o+D5a2Y5a2r +5bCK5pCN5p2R6YGc5LuW5aSa5aSq5rGw6KmR5ZS+5aCV5aal5oOw5omT5p+B6Ii15qWV6ZmA6aeE +6aio5L2T5aCG5a++6ICQ5bKx5biv5b6F5oCg5oWL5oi05pu/5rOw5rue6IOO6IW/6IuU6KKL6LK4 +6YCA6YCu6ZqK6bub6a+b5Luj5Y+w5aSn56ys6YaN6aGM6be55rud54Cn5Y2T5ZWE5a6F5omY5oqe +5ouT5rKi5r+v55Ci6KiX6ZC45r+B6Ku+6Iy45Yen6Ju45Y+q77+977+977+9Ii5zcGxpdCgiIik7 +Zm9yKGE9MDthIT10WzE0NV0ubGVuZ3RoOysrYSlpZih0WzE0NV1bYV0uY2hhckNvZGVBdCgwKSE9 +PTY1NTMzKXtyW3RbMTQ1XVthXV09MzcxMjArYTtlWzM3MTIwK2FdPXRbMTQ1XVthXX10WzE0Nl09 +Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/veWPqeS9humBlOi+sOWlquiEseW3veerqui+v+ajmuiwt+eL +uOmxiOaoveiqsOS4ueWNmOWYhuWdpuaLheaOouaXpuatjua3oea5m+eCreefreerr+euque2u+iA +veiDhuibi+iqlemNm+Wbo+Wjh+W8vuaWreaaluaqgOauteeUt+irh+WApOefpeWcsOW8m+aBpeaZ +uuaxoOeXtOeomue9ruiHtOicmOmBhemms+evieeVnOerueetkeiThO+/vemAkOenqeeqkuiMtuWr +oeedgOS4reS7suWumeW/oOaKveaYvOafseazqOiZq+iht+iou+mFjumLs+mnkOaol+eApueMquiL +p+iRl+iyr+S4geWFhuWHi+WWi+WvteW4luW4s+W6geW8lOW8teW9q+W+tOaHsuaMkeaaouacnea9 +rueJkueUuuecuuiBtOiEueiFuOidtuiqv+irnOi2hei3s+mKmumVt+mggumzpeWLheaNl+ebtOac +leayiOePjeizg+mOrumZs+a0peWinOakjuanjOi/vemOmueXm+mAmuWhmuagguaOtOanu+S9g+a8 +rOafmOi+u+iUpue2tOmNlOakv+a9sOWdquWjt+WsrOe0rOeIquWQiumHo+m2tOS6reS9juWBnOWB +teWJg+iynuWRiOWgpOWumuW4neW6leW6reW7t+W8n+aCjOaKteaMuuaPkOair+axgOeih+emjueo +i+e3oOiJh+ioguirpui5hOmAk++/ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNDZd +Lmxlbmd0aDsrK2EpaWYodFsxNDZdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE0Nl1b +YV1dPTM3Mzc2K2E7ZVszNzM3NithXT10WzE0Nl1bYV19dFsxNDddPSLvv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73pgrjphK3ph5jpvI7ms6XmkZjmk6LmlbXmu7TnmoTnrJvpganpj5Hmurrlk7LlvrnmkqTo +vY3ov63piYTlhbjloavlpKnlsZXlupfmt7vnuo/nlJzosrzou6LpoZvngrnkvJ3mrr/mvrHnlLDp +m7vlhY7lkJDloLXloZflpqzlsaDlvpLmlpfmnZzmuKHnmbvoj5/os63pgJTpg73pjY3noKXnoLrl +iqrluqblnJ/lpbTmgJLlgJLlhZrlhqzvv73lh43liIDllJDloZTloZjlpZflrpXls7bltovmgrzm +ipXmkK3mnbHmoYPmorzmo5/nm5fmt5jmua/mtpvnga/nh4jlvZPnl5jnpbfnrYnnrZTnrZLns5bn +tbHliLDokaPolanol6ToqI7orITosYbouI/pgIPpgI/pkJnpmbbpoK3pqLDpl5jlg43li5XlkIzl +oILlsI7mhqfmkp7mtJ7nnrPnq6Xog7TokITpgZPpioXls6DptIfljL/lvpflvrPmtpznibnnnaPn +pr/nr6Tmr5Lni6zoqq3moIPmqaHlh7jnqoHmpLTlsYrps7boi6vlr4XphYnngJ7lmbjlsa/mg4fm +labmsozosZrpgYHpoJPlkZHmm4fpiI3lpYjpgqPlhoXkuY3lh6rolpnorI7ngZjmjbrpjYvmpaLp +prTnuITnlbfljZfmpaDou5/pm6PmsZ3kuozlsLzlvJDov6nljILos5Hogonombnlu7/ml6XkubPl +haXvv73vv73vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTQ3XS5sZW5ndGg7KythKWlmKHRb +MTQ3XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNDddW2FdXT0zNzYzMithO2VbMzc2 +MzIrYV09dFsxNDddW2FdfXRbMTQ4XT0i77+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+95aaC5bC/6Z+u5Lu7 +5aaK5b+N6KqN5r+h56aw56Wi5a+n6JGx54yr54ax5bm05b+15o275pKa54eD57KY5LmD5bu85LmL +5Z+c5Zqi5oKp5r+D57SN6IO96ISz6Ia/6L6y6KaX6Jqk5be05oqK5pKt6KaH5p235rOi5rS+55C2 +56C05amG57216Iqt6aas5L+z5buD5oud5o6S5pWX5p2v55uD54mM6IOM6IK66Lyp6YWN5YCN5Z+5 +5aqS5qKF77+95qWz54Wk54u96LK35aOy6LOg6Zmq6YCZ6J2/56ek55+n6JCp5Lyv5Yml5Y2a5ouN +5p+P5rOK55m9566U57KV6Ii26JaE6L+r5pud5ryg54iG57ib6I6r6aeB6bqm5Ye9566x56Gy5664 +6IKH562I5quo5bmh6IKM55WR55Wg5YWr6Ymi5rqM55m66YaX6auq5LyQ572w5oqc562P6Zal6bOp +5Zm65aGZ6Juk6Zq85Ly05Yik5Y2K5Y+N5Y+b5biG5pCs5paR5p2/5rC+5rGO54mI54qv54+t55WU +57mB6Iis6Jep6LKp56+E6YeG54Wp6aCS6aOv5oy95pmp55Wq55uk56OQ6JWD6Juu5Yyq5Y2R5ZCm +5aaD5bqH5b285oKy5omJ5om55oqr5paQ5q+U5rOM55ay55qu56KR56eY57eL57236IKl6KKr6Kq5 +6LK76YG/6Z2e6aOb5qiL57C45YKZ5bC+5b6u5p6H5q+Y55C155yJ576O77+977+977+9Ii5zcGxp +dCgiIik7Zm9yKGE9MDthIT10WzE0OF0ubGVuZ3RoOysrYSlpZih0WzE0OF1bYV0uY2hhckNvZGVB +dCgwKSE9PTY1NTMzKXtyW3RbMTQ4XVthXV09Mzc4ODgrYTtlWzM3ODg4K2FdPXRbMTQ4XVthXX10 +WzE0OV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vem8u+afiueol+WMueeWi+mrreW9puiGneiPseiC +mOW8vOW/heeVouethumAvOahp+Wnq+Wqm+e0kOeZvuisrOS/teW9quaomeawt+a8gueTouelqOih +qOipleixueW7n+aPj+eXheenkuiLl+mMqOmLsuiSnOibremwreWTgeW9rOaWjOa1nOeAleiyp+iz +k+mgu+aVj+eTtuS4jeS7mOWfoOWkq+WppuWvjOWGqOW4g+W6nOaAluaJtuaVt++/veaWp+aZrua1 +rueItuespuiFkOiGmuiKmeitnOiyoOizpui1tOmYnOmZhOS+ruaSq+atpuiInuiRoeiVqumDqOWw +gealk+miqOiRuuiVl+S8j+WJr+W+qeW5heacjeemj+iFueikh+imhua3teW8l+aJleayuOS7j+eJ +qemukuWIhuWQu+WZtOWis+aGpOaJrueEmuWlrueyieeznue0m+mbsOaWh+iBnuS4meS9teWFteWh +gOW5o+W5s+W8iuafhOS4puiUvemWiemZm+exs+mggeWDu+WjgeeZlueip+WIpeeepeiUkeeuhuWB +j+WkieeJh+evh+e3qOi+uui/lOmBjeS+v+WLieWoqeW8gemereS/neiIl+mLquWcg+aNleatqeeU +q+ijnOi8lOepguWLn+Wik+aFleaIiuaaruavjeewv+iPqeWAo+S/uOWMheWRhuWgseWlieWuneWz +sOWzr+W0qeW6luaKseaNp+aUvuaWueaci++/ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9 +dFsxNDldLmxlbmd0aDsrK2EpaWYodFsxNDldW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0 +WzE0OV1bYV1dPTM4MTQ0K2E7ZVszODE0NCthXT10WzE0OV1bYV19dFsxNTBdPSLvv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73ms5Xms6Hng7nnoLLnuKvog57oirPokIzok6zonILopJLoqKrosYrpgqbpi5Lp +o73ps7PptazkuY/kuqHlgo3liZblnYrlpqjluL3lv5jlv5nmiL/mmrTmnJvmn5Dmo5LlhpLntKHo +gqrohqjorIDosozosr/pib7pmLLlkKDpoKzljJflg5XljZzloqjmkrLmnLTniafnnabnqYbph6bl +i4PmsqHmrobloIDluYzlpZTmnKznv7vlh6Hnm4bvv73mkanno6jprZTpurvln4vlprnmmKfmnprm +r47lk6nmp5nluZXohpzmnpXprqrmn77psZLmoZ3kuqbkv6Plj4jmirnmnKvmsqvov4Tkvq3nua3p +ur/kuIfmhaLmuoDmvKvolJPlkbPmnKrprYXlt7PnrpXlsqzlr4bonJzmuYrok5HnqJTohIjlppnn +so3msJHnnKDli5nlpKLnhKHniZ/nn5vpnKfptaHmpIvlqb/lqJjlhqXlkI3lkb3mmI7nm5/ov7fp +ipjps7Tlp6rniZ3mu4XlhY3mo4nntr/nt6zpnaLpurrmkbjmqKHojILlpoTlrZ/mr5vnjJvnm7Ln +trLogJfokpnlhLLmnKjpu5nnm67mnaLli7/ppIXlsKTmiLvnsb7osrDllY/mgrbntIvploDljIHk +uZ/lhrblpJzniLrogLbph47lvKXnn6LljoTlvbnntITolqzoqLPouo3pnZbmn7Polq7pkZPmhInm +hIjmsrnnmZLvv73vv73vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTUwXS5sZW5ndGg7Kyth +KWlmKHRbMTUwXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNTBdW2FdXT0zODQwMCth +O2VbMzg0MDArYV09dFsxNTBdW2FdfXRbMTUxXT0i77+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+96Kut6Ly4 +5ZSv5L2R5YSq5YuH5Y+L5a6l5bm95oKg5oaC5o+W5pyJ5p+a5rmn5raM54y254y355Sx56WQ6KOV +6KqY6YGK6YKR6YO16ZuE6J6N5aSV5LqI5L2Z5LiO6KqJ6Ly/6aCQ5YKt5bm85aaW5a655bq45o+a +5o+65pOB5puc5qWK5qeY5rSL5rq254aU55So56qv576K6ICA6JGJ6JOJ6KaB6Kyh6LiK6YGl6Zm9 +6aSK5oW+5oqR5qyy77+95rKD5rW057+M57+85reA576F6J666KO45p2l6I6x6aC86Zu35rSb57Wh +6JC96YWq5Lmx5Y215bWQ5qyE5r+r6JeN6Jit6Kan5Yip5ZCP5bGl5p2O5qKo55CG55KD55ei6KOP +6KOh6YeM6Zui6Zm45b6L546H56uL6JGO5o6g55Wl5YqJ5rWB5rqc55CJ55WZ56Gr57KS6ZqG56uc +6b6N5L625oWu5peF6Jmc5LqG5Lqu5YOa5Lih5YeM5a+u5paZ5qKB5ra854yf55mC556t56ic57On +6Imv6KuS6YG86YeP6Zm16aCY5Yqb57eR5YCr5Y6Y5p6X5reL54eQ55Cz6Ieo6Lyq6Zqj6bGX6bqf +55Gg5aGB5raZ57Sv6aGe5Luk5Ly25L6L5Ya35Yqx5ba65oCc546y56S86IuT6Yi06Zq36Zu26ZyK +6bqX6b2i5pqm5q205YiX5Yqj54OI6KOC5buJ5oGL5oaQ5ryj54WJ57C+57e06IGv77+977+977+9 +Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE1MV0ubGVuZ3RoOysrYSlpZih0WzE1MV1bYV0uY2hh +ckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTUxXVthXV09Mzg2NTYrYTtlWzM4NjU2K2FdPXRbMTUx +XVthXX10WzE1Ml09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veiTrumAo+mMrOWRgumtr+ark+eCieiz +gui3r+mcsuWKtOWpgeW7iuW8hOacl+alvOamlOa1qua8j+eJoueLvOevreiAgeiBvuidi+mDjuWF +rem6k+emhOiCi+mMsuirluWAreWSjOipseatquizhOiEh+aDkeaeoOm3suS6meS6mOmwkOipq+iX +geiVqOakgOa5vueil+iFle+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veW8jOS4kOS4leS4quS4seS4tuS4vOS4 +v+S5guS5luS5mOS6guS6heixq+S6iuiIkuW8jeS6juS6nuS6n+S6oOS6ouS6sOS6s+S6tuS7juS7 +jeS7hOS7huS7guS7l+S7nuS7reS7n+S7t+S8ieS9muS8sOS9m+S9neS9l+S9h+S9tuS+iOS+j+S+ +mOS9u+S9qeS9sOS+keS9r+S+huS+luWEmOS/lOS/n+S/juS/mOS/m+S/keS/muS/kOS/pOS/peWA +muWAqOWAlOWAquWApeWAheS8nOS/tuWAoeWAqeWArOS/vuS/r+WAkeWAhuWBg+WBh+acg+WBleWB +kOWBiOWBmuWBluWBrOWBuOWCgOWCmuWCheWCtOWCsu+/ve+/ve+/vSIuc3BsaXQoIiIpO2Zvcihh +PTA7YSE9dFsxNTJdLmxlbmd0aDsrK2EpaWYodFsxNTJdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUz +Myl7clt0WzE1Ml1bYV1dPTM4OTEyK2E7ZVszODkxMithXT10WzE1Ml1bYV19dFsxNTNdPSLvv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73lg4nlg4rlgrPlg4Llg5blg57lg6Xlg63lg6Plg67lg7nlg7XlhInl +hIHlhILlhJblhJXlhJTlhJrlhKHlhLrlhLflhLzlhLvlhL/lhYDlhZLlhYzlhZTlhaLnq7jlhanl +harlha7lhoDlhoLlm5jlhozlhonlho/lhpHlhpPlhpXlhpblhqTlhqblhqLlhqnlhqrlhqvlhrPl +hrHlhrLlhrDlhrXlhr3lh4Xlh4nlh5vlh6DomZXlh6nlh63vv73lh7Dlh7Xlh77liITliIvliJTl +iI7liKfliKrliK7liLPliLnliY/liYTliYvliYzliZ7liZTliarlibTlianlibPlib/lib3lio3l +ipTlipLlibHliojlipHovqjovqfliqzliq3lirzlirXli4Hli43li5fli57li6Pli6bpo63li6Dl +i7Pli7Xli7jli7nljIbljIjnlLjljI3ljJDljI/ljJXljJrljKPljK/ljLHljLPljLjljYDljYbl +jYXkuJfljYnljY3lh5bljZ7ljanlja7lpJjljbvljbfljoLljpbljqDljqbljqXljq7ljrDljrbl +j4PnsJLpm5nlj5/mm7znh67lj67lj6jlj63lj7rlkIHlkL3lkYDlkKzlkK3lkLzlkK7lkLblkKnl +kJ3lkY7lko/lkbXlko7lkZ/lkbHlkbflkbDlkpLlkbvlkoDlkbblkoTlkpDlkoblk4flkqLlkrjl +kqXlkqzlk4Tlk4jlkqjvv73vv73vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTUzXS5sZW5n +dGg7KythKWlmKHRbMTUzXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNTNdW2FdXT0z +OTE2OCthO2VbMzkxNjgrYV09dFsxNTNdW2FdfXRbMTU0XT0i77+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +5ZKr5ZOC5ZKk5ZK+5ZK85ZOY5ZOl5ZOm5ZSP5ZSU5ZO95ZOu5ZOt5ZO65ZOi5ZS55ZWA5ZWj5ZWM +5ZSu5ZWc5ZWF5ZWW5ZWX5ZS45ZSz5ZWd5ZaZ5ZaA5ZKv5ZaK5Zaf5ZW75ZW+5ZaY5Zae5Zau5ZW8 +5ZaD5Zap5ZaH5Zao5Zea5ZeF5Zef5ZeE5Zec5Zek5ZeU5ZiU5Ze35ZiW5Ze+5Ze95Zib5Ze55ZmO +5ZmQ54ef5Zi05Zi25Ziy5Zi477+95Zmr5Zmk5Ziv5Zms5Zmq5ZqG5ZqA5ZqK5Zqg5ZqU5ZqP5Zql +5Zqu5Zq25Zq05ZuC5Zq85ZuB5ZuD5ZuA5ZuI5ZuO5ZuR5ZuT5ZuX5Zuu5Zu55ZyA5Zu/5ZyE5ZyJ +5ZyI5ZyL5ZyN5ZyT5ZyY5ZyW5ZeH5Zyc5Zym5Zy35Zy45Z2O5Zy75Z2A5Z2P5Z2p5Z+A5Z6I5Z2h +5Z2/5Z6J5Z6T5Z6g5Z6z5Z6k5Z6q5Z6w5Z+D5Z+G5Z+U5Z+S5Z+T5aCK5Z+W5Z+j5aCL5aCZ5aCd +5aGy5aCh5aGi5aGL5aGw5q+A5aGS5aC95aG55aKF5aK55aKf5aKr5aK65aOe5aK75aK45aKu5aOF +5aOT5aOR5aOX5aOZ5aOY5aOl5aOc5aOk5aOf5aOv5aO65aO55aO75aO85aO95aSC5aSK5aSQ5aSb +5qKm5aSl5aSs5aSt5aSy5aS45aS+56uS5aWV5aWQ5aWO5aWa5aWY5aWi5aWg5aWn5aWs5aWp77+9 +77+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE1NF0ubGVuZ3RoOysrYSlpZih0WzE1NF1b +YV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTU0XVthXV09Mzk0MjQrYTtlWzM5NDI0K2Fd +PXRbMTU0XVthXX10WzE1NV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veWluOWmgeWmneS9nuS+q+Wm +o+WmsuWnhuWnqOWnnOWmjeWnmeWnmuWopeWon+WokeWonOWoieWomuWpgOWprOWpieWoteWotuWp +ouWpquWqmuWqvOWqvuWri+WrguWqveWro+Wrl+WrpuWrqeWrluWruuWru+WsjOWsi+WsluWssuWr +kOWsquWstuWsvuWtg+WtheWtgOWtkeWtleWtmuWtm+WtpeWtqeWtsOWts+WtteWtuOaWiOWtuuWu +gO+/veWug+WupuWuuOWvg+Wvh+WvieWvlOWvkOWvpOWvpuWvouWvnuWvpeWvq+WvsOWvtuWvs+Ww +heWwh+WwiOWwjeWwk+WwoOWwouWwqOWwuOWwueWxgeWxhuWxjuWxk+WxkOWxj+WtseWxrOWxruS5 +ouWxtuWxueWyjOWykeWylOWmm+Wyq+Wyu+WytuWyvOWyt+WzheWyvuWzh+WzmeWzqeWzveWzuuWz +reW2jOWzquW0i+W0leW0l+W1nOW0n+W0m+W0keW0lOW0ouW0muW0meW0mOW1jOW1kuW1juW1i+W1 +rOW1s+W1tuW2h+W2hOW2guW2ouW2neW2rOW2ruW2veW2kOW2t+W2vOW3ieW3jeW3k+W3kuW3luW3 +m+W3q+W3suW3teW4i+W4muW4meW4keW4m+W4tuW4t+W5hOW5g+W5gOW5juW5l+W5lOW5n+W5ouW5 +pOW5h+W5teW5tuW5uum6vOW5v+W6oOW7geW7guW7iOW7kOW7j++/ve+/ve+/vSIuc3BsaXQoIiIp +O2ZvcihhPTA7YSE9dFsxNTVdLmxlbmd0aDsrK2EpaWYodFsxNTVdW2FdLmNoYXJDb2RlQXQoMCkh +PT02NTUzMyl7clt0WzE1NV1bYV1dPTM5NjgwK2E7ZVszOTY4MCthXT10WzE1NV1bYV19dFsxNTZd +PSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73lu5blu6Plu53lu5rlu5vlu6Llu6Hlu6jlu6nlu6zlu7Hl +u7Plu7Dlu7Tlu7jlu77lvIPlvInlvZ3lvZzlvIvlvJHlvJblvKnlvK3lvLjlvYHlvYjlvYzlvY7l +vK/lvZHlvZblvZflvZnlvaHlva3lvbPlvbflvoPlvoLlvb/lvorlvojlvpHlvoflvp7lvpnlvpjl +vqDlvqjlvq3lvrzlv5blv7vlv6Tlv7jlv7Hlv53mgrPlv7/mgKHmgaDvv73mgJnmgJDmgKnmgI7m +gLHmgJvmgJXmgKvmgKbmgI/mgLrmgZrmgYHmgarmgbfmgZ/mgYrmgYbmgY3mgaPmgYPmgaTmgYLm +gazmgavmgZnmgoHmgo3mg6fmgoPmgprmgoTmgpvmgpbmgpfmgpLmgqfmgovmg6Hmgrjmg6Dmg5Pm +grTlv7Dmgr3mg4bmgrXmg5jmhY3mhJXmhIbmg7bmg7fmhIDmg7Tmg7rmhIPmhKHmg7vmg7HmhI3m +hI7mhYfmhL7mhKjmhKfmhYrmhL/mhLzmhKzmhLTmhL3mhYLmhYTmhbPmhbfmhZjmhZnmhZrmhavm +hbTmha/mhaXmhbHmhZ/mhZ3mhZPmhbXmhpnmhpbmhofmhqzmhpTmhprmhormhpHmhqvmhq7mh4zm +h4rmh4nmh7fmh4jmh4Pmh4bmhrrmh4vnvbnmh43mh6bmh6Pmh7bmh7rmh7Tmh7/mh73mh7zmh77m +iIDmiIjmiInmiI3miIzmiJTmiJvvv73vv73vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTU2 +XS5sZW5ndGg7KythKWlmKHRbMTU2XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNTZd +W2FdXT0zOTkzNithO2VbMzk5MzYrYV09dFsxNTZdW2FdfXRbMTU3XT0i77+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+95oie5oih5oiq5oiu5oiw5oiy5oiz5omB5omO5ome5omj5omb5omg5omo5om85oqC5oqJ +5om+5oqS5oqT5oqW5ouU5oqD5oqU5ouX5ouR5oq75ouP5ou/5ouG5pOU5ouI5ouc5ouM5ouK5ouC +5ouH5oqb5ouJ5oyM5ouu5oux5oyn5oyC5oyI5ouv5ou15o2Q5oy+5o2N5pCc5o2P5o6W5o6O5o6A +5o6r5o225o6j5o6P5o6J5o6f5o615o2r77+95o2p5o6+5o+p5o+A5o+G5o+j5o+J5o+S5o+25o+E +5pCW5pC05pCG5pCT5pCm5pC25pSd5pCX5pCo5pCP5pGn5pGv5pG25pGO5pSq5pKV5pKT5pKl5pKp +5pKI5pK85pOa5pOS5pOF5pOH5pK75pOY5pOC5pOx5pOn6IiJ5pOg5pOh5oqs5pOj5pOv5pSs5pO2 +5pO05pOy5pO65pSA5pO95pSY5pSc5pSF5pSk5pSj5pSr5pS05pS15pS35pS25pS455WL5pWI5pWW +5pWV5pWN5pWY5pWe5pWd5pWy5pW45paC5paD6K6K5pab5paf5par5pa35peD5peG5peB5peE5peM +5peS5peb5peZ5peg5peh5pex5p2y5piK5piD5pe75p2z5pi15pi25pi05pic5pmP5pmE5pmJ5pmB +5pme5pmd5pmk5pmn5pmo5pmf5pmi5pmw5pqD5pqI5pqO5pqJ5pqE5pqY5pqd5puB5pq55puJ5pq+ +5pq877+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE1N10ubGVuZ3RoOysrYSlpZih0 +WzE1N11bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTU3XVthXV09NDAxOTIrYTtlWzQw +MTkyK2FdPXRbMTU3XVthXX10WzE1OF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veabhOaauOabluab +muaboOaYv+abpuabqeabsOabteabt+acj+acluacnuacpuacp+mcuOacruacv+actuadgeacuOac +t+adhuadnuadoOadmeado+adpOaeieadsOaeqeadvOadquaejOaei+aepuaeoeaeheaet+afr+ae +tOafrOaes+afqeaeuOafpOafnuafneafouafruaeueafjuafhuafp+aqnOagnuahhuagqeahgOah +jeagsuahju+/veais+agq+ahmeaho+aht+ahv+ain+aij+aireailOaineaim+aig+aqruaiueah +tOaiteaioOaiuuakj+aijeahvuakgeajiuakiOajmOakouakpuajoeakjOajjeajlOajp+ajleak +tuakkuakhOajl+ajo+akpeajueajoOajr+akqOakquakmuako+akoeajhualuealt+alnOaluOal +q+allOalvualruakuealtOakvealmeaksOaloealnualneamgealquamsuamruankOamv+angean +k+amvuanjuWvqOaniuanneamu+ang+amp+aoruamkeamoOamnOamleamtOannuanqOaoguaom+an +v+asiuanueansuanp+aoheamseaonuanreaolOanq+aoiuaokuargeaoo+aok+aphOaojOapsuao +tuapuOaph+apouapmeappuapiOaouOaoouaqkOaqjeaqoOaqhOaqouaqo++/ve+/ve+/vSIuc3Bs +aXQoIiIpO2ZvcihhPTA7YSE9dFsxNThdLmxlbmd0aDsrK2EpaWYodFsxNThdW2FdLmNoYXJDb2Rl +QXQoMCkhPT02NTUzMyl7clt0WzE1OF1bYV1dPTQwNDQ4K2E7ZVs0MDQ0OCthXT10WzE1OF1bYV19 +dFsxNTldPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73mqpfomJfmqrvmq4Pmq4LmqrjmqrPmqqzmq57m +q5Hmq5/mqqrmq5rmq6rmq7vmrIXomJbmq7rmrJLmrJbprLHmrJ/mrLjmrLfnm5zmrLnpo67mrYfm +rYPmrYnmrZDmrZnmrZTmrZvmrZ/mraHmrbjmrbnmrb/mroDmroTmroPmro3mrpjmrpXmrp7mrqTm +rqrmrqvmrq/mrrLmrrHmrrPmrrfmrrzmr4bmr4vmr5Pmr5/mr6zmr6vmr7Pmr6/vv73pur7msIjm +sJPmsJTmsJvmsKTmsKPmsZ7msZXmsaLmsarmsoLmso3msprmsoHmspvmsb7msajmsbPmspLmspDm +s4Tms7Hms5Pmsr3ms5fms4Xms53msq7msrHmsr7msrrms5vms6/ms5nms6rmtJ/ooY3mtLbmtKvm +tL3mtLjmtJnmtLXmtLPmtJLmtIzmtaPmtpPmtaTmtZrmtbnmtZnmto7mtpXmv6TmtoXmt7nmuJXm +uIrmtrXmt4fmt6bmtrjmt4bmt6zmt57mt4zmt6jmt5Lmt4Xmt7rmt5nmt6Tmt5Xmt6rmt67muK3m +ua7muK7muJnmubLmuZ/muL7muKPmuavmuKvmubbmuY3muJ/muYPmuLrmuY7muKTmu7/muJ3muLjm +uoLmuqrmupjmu4nmurfmu5Pmur3muq/mu4TmurLmu5Tmu5Xmuo/muqXmu4Lmup/mvYHmvJHngYzm +u6zmu7jmu77mvL/mu7LmvLHmu6/mvLLmu4zvv73vv73vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2Eh +PXRbMTU5XS5sZW5ndGg7KythKWlmKHRbMTU5XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3Jb +dFsxNTldW2FdXT00MDcwNCthO2VbNDA3MDQrYV09dFsxNTldW2FdfXRbMjI0XT0i77+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+95ry+5ryT5ru35r6G5r265r245r6B5r6A5r2v5r2b5r+z5r2t5r6C5r285r2Y +5r6O5r6R5r+C5r2m5r6z5r6j5r6h5r6k5r655r+G5r6q5r+f5r+V5r+s5r+U5r+Y5r+x5r+u5r+b +54CJ54CL5r+654CR54CB54CP5r++54Cb54Ca5r2054Cd54CY54Cf54Cw54C+54Cy54GR54Gj54KZ +54KS54Kv54Ox54Ks54K454Kz54Ku54Of54OL54Od77+954OZ54SJ54O954Sc54SZ54Wl54WV54aI +54Wm54Wi54WM54WW54Ws54aP54e754aE54aV54ao54as54eX54a554a+54eS54eJ54eU54eO54eg +54es54en54e154e854e554e/54iN54iQ54ib54io54it54is54iw54iy54i754i854i/54mA54mG +54mL54mY54m054m+54qC54qB54qH54qS54qW54qi54qn54q554qy54uD54uG54uE54uO54uS54ui +54ug54uh54u554u35YCP54yX54yK54yc54yW54yd54y054yv54yp54yl54y+542O542P6buY542X +542q542o542w542454215427542654+I546z54+O546754+A54+l54+u54+e55Ki55CF55Gv55Cl +54+455Cy55C655GV55C/55Gf55GZ55GB55Gc55Gp55Gw55Gj55Gq55G255G+55KL55Ke55Kn55OK +55OP55OU54+x77+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIyNF0ubGVuZ3RoOysr +YSlpZih0WzIyNF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjI0XVthXV09NTczNDQr +YTtlWzU3MzQ0K2FdPXRbMjI0XVthXX10WzIyNV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veeToOeT +o+eTp+eTqeeTrueTsueTsOeTseeTuOeTt+eUhOeUg+eUheeUjOeUjueUjeeUleeUk+eUnueUpueU +rOeUvOeVhOeVjeeViueVieeVm+eVhueVmueVqeeVpOeVp+eVq+eVreeVuOeVtueWhueWh+eVtOeW +iueWieeWgueWlOeWmueWneeWpeeWo+eXgueWs+eXg+eWteeWveeWuOeWvOeWseeXjeeXiueXkueX +meeXo+eXnueXvueXv++/veeXvOeYgeeXsOeXuueXsueXs+eYi+eYjeeYieeYn+eYp+eYoOeYoeeY +oueYpOeYtOeYsOeYu+eZh+eZiOeZhueZnOeZmOeZoeeZoueZqOeZqeeZqueZp+eZrOeZsOeZsueZ +tueZuOeZvOeagOeag+eaiOeai+eajuealueak+eameeamueasOeatOeauOeaueeauuebguebjeeb +luebkuebnueboeebpeebp+ebquiYr+ebu+eciOech+echOecqeecpOecnuecpeecpuecm+ect+ec +uOedh+edmuedqOedq+edm+edpeedv+edvuedueeejueei+eekeeeoOeenueesOeetueeueeev+ee +vOeeveeeu+efh+efjeefl+efmuefnOefo+efruefvOegjOegkuekpuegoOekquehheeijuehtOei +huehvOeimueijOeio+eiteeiqueir+ejkeejhueji+ejlOeivueivOejheejiuejrO+/ve+/ve+/ +vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMjVdLmxlbmd0aDsrK2EpaWYodFsyMjVdW2FdLmNo +YXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIyNV1bYV1dPTU3NjAwK2E7ZVs1NzYwMCthXT10WzIy +NV1bYV19dFsyMjZdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73no6fno5rno73no7TnpIfnpJLnpJHn +pJnnpKznpKvnpYDnpaDnpZfnpZ/npZrnpZXnpZPnpbrnpb/npornpp3npqfpvYvnpqrnpq7nprPn +prnnprrnp4nnp5Xnp6fnp6znp6Hnp6PnqIjnqI3nqJjnqJnnqKDnqJ/npoDnqLHnqLvnqL7nqLfn +qYPnqZfnqYnnqaHnqaLnqanpvp3nqbDnqbnnqb3nqojnqpfnqpXnqpjnqpbnqqnnq4jnqrDvv73n +qrbnq4Xnq4Tnqr/pgoPnq4fnq4rnq43nq4/nq5Xnq5Pnq5nnq5rnq53nq6Hnq6Lnq6bnq63nq7Dn +rILnrI/nrIrnrIbnrLPnrJjnrJnnrJ7nrLXnrKjnrLbnrZDnrbrnrITnrY3nrIvnrYznrYXnrbXn +raXnrbTnrafnrbDnrbHnraznra7nrp3nrpjnrp/nro3nrpznrprnrovnrpLnro/nrZ3nrpnnr4vn +r4Hnr4znr4/nrrTnr4bnr53nr6nnsJHnsJTnr6bnr6XnsaDnsIDnsIfnsJPnr7Pnr7fnsJfnsI3n +r7bnsKPnsKfnsKrnsJ/nsLfnsKvnsL3nsYznsYPnsZTnsY/nsYDnsZDnsZjnsZ/nsaTnsZbnsaXn +saznsbXnsoPnspDnsqTnsq3nsqLnsqvnsqHnsqjnsrPnsrLnsrHnsq7nsrnnsr3ns4Dns4Xns4Ln +s5jns5Lns5zns6LprLvns6/ns7Lns7Tns7bns7rntIbvv73vv73vv70iLnNwbGl0KCIiKTtmb3Io +YT0wO2EhPXRbMjI2XS5sZW5ndGg7KythKWlmKHRbMjI2XVthXS5jaGFyQ29kZUF0KDApIT09NjU1 +MzMpe3JbdFsyMjZdW2FdXT01Nzg1NithO2VbNTc4NTYrYV09dFsyMjZdW2FdfXRbMjI3XT0i77+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+957SC57Sc57SV57SK57WF57WL57Su57Sy57S/57S157WG57Wz57WW +57WO57Wy57Wo57Wu57WP57Wj57aT57aJ57Wb57aP57W957ab57a657au57aj57a157eH57a957ar +57i957ai57av57ec57a457af57aw57eY57ed57ek57ee57e757ey57eh57iF57iK57ij57ih57iS +57ix57if57iJ57iL57ii57mG57mm57i757i157i557mD57i377+957iy57i657mn57md57mW57me +57mZ57ma57m557mq57mp57m857m757qD57eV57m96L6u57m/57qI57qJ57qM57qS57qQ57qT57qU +57qW57qO57qb57qc57y457y6572F572M572N572O572Q572R572V572U572Y572f572g572o572p +572n5724576C576G576D576I576H576M576U576e576d576a576j576v576y5765576u57625764 +6K2x57+F57+G57+K57+V57+U57+h57+m57+p57+z57+56aOc6ICG6ICE6ICL6ICS6ICY6ICZ6ICc +6ICh6ICo6IC/6IC76IGK6IGG6IGS6IGY6IGa6IGf6IGi6IGo6IGz6IGy6IGw6IG26IG56IG96IG/ +6IKE6IKG6IKF6IKb6IKT6IKa6IKt5YaQ6IKs6IOb6IOl6IOZ6IOd6IOE6IOa6IOW6ISJ6IOv6IOx +6ISb6ISp6ISj6ISv6IWL77+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIyN10ubGVu +Z3RoOysrYSlpZih0WzIyN11bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjI3XVthXV09 +NTgxMTIrYTtlWzU4MTEyK2FdPXRbMjI3XVthXX10WzIyOF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +vemai+iFhuiEvuiFk+iFkeiDvOiFseiFruiFpeiFpuiFtOiGg+iGiOiGiuiGgOiGguiGoOiGleiG +pOiGo+iFn+iGk+iGqeiGsOiGteiGvuiGuOiGveiHgOiHguiGuuiHieiHjeiHkeiHmeiHmOiHiOiH +muiHn+iHoOiHp+iHuuiHu+iHvuiIgeiIguiIheiIh+iIiuiIjeiIkOiIluiIqeiIq+iIuOiIs+iJ +gOiJmeiJmOiJneiJmuiJn+iJpO+/veiJouiJqOiJquiJq+iIruiJseiJt+iJuOiJvuiKjeiKkuiK +q+iKn+iKu+iKrOiLoeiLo+iLn+iLkuiLtOiLs+iLuuiOk+iMg+iLu+iLueiLnuiMhuiLnOiMieiL +meiMteiMtOiMluiMsuiMseiNgOiMueiNkOiNheiMr+iMq+iMl+iMmOiOheiOmuiOquiOn+iOouiO +luiMo+iOjuiOh+iOiuiNvOiOteiNs+iNteiOoOiOieiOqOiPtOiQk+iPq+iPjuiPveiQg+iPmOiQ +i+iPgeiPt+iQh+iPoOiPsuiQjeiQouiQoOiOveiQuOiUhuiPu+iRreiQquiQvOiVmuiShOiRt+iR +q+iSreiRruiSguiRqeiRhuiQrOiRr+iRueiQteiTiuiRouiSueiSv+iSn+iTmeiTjeiSu+iTmuiT +kOiTgeiThuiTluiSoeiUoeiTv+iTtOiUl+iUmOiUrOiUn+iUleiUlOiTvOiVgOiVo+iVmOiViO+/ +ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMjhdLmxlbmd0aDsrK2EpaWYodFsyMjhd +W2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIyOF1bYV1dPTU4MzY4K2E7ZVs1ODM2OCth +XT10WzIyOF1bYV19dFsyMjldPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73olYHomILolYvolZXoloDo +lqTolojolpHolorolqjola3olpTolpvol6rolofolpzolbfolb7olpDol4nolrrol4/olrnol5Do +l5Xol53ol6Xol5zol7nomIromJPomIvol77ol7romIbomKLomJromLDomL/omY3kuZXomZTomZ/o +mafombHompPomqPomqnomqromovomozomrbomq/om4Tom4bomrDom4nooKPomqvom5Tom57om6no +m6zvv73om5/om5vom6/onJLonIbonIjonIDonIPom7vonJHonInonI3om7nonIronLTonL/onLfo +nLvonKXonKnonJronaDonZ/onbjonYzonY7onbTonZfonajona7onZnonZPonaPonarooIXonqLo +np/onoLonq/on4vonr3on4Don5Dpm5bonqvon4TonrPon4fon4bonrvon6/on7Lon6DooI/ooI3o +n77on7bon7fooI7on5LooJHooJbooJXooKLooKHooLHooLbooLnooKfooLvooYTooYLooZLooZno +oZ7ooaLooavoooHoob7oop7oobXoob3oorXoobLoooLoopfoopLooq7oopnooqLooo3ooqToorDo +or/oorHoo4Poo4Too5Too5joo5noo53oo7nopILoo7zoo7Too6joo7LopITopIzopIropJPopYPo +pJ7opKXopKropKvopYHopYTopLvopLbopLjopYzopJ3opaDopZ7vv73vv73vv70iLnNwbGl0KCIi +KTtmb3IoYT0wO2EhPXRbMjI5XS5sZW5ndGg7KythKWlmKHRbMjI5XVthXS5jaGFyQ29kZUF0KDAp +IT09NjU1MzMpe3JbdFsyMjldW2FdXT01ODYyNCthO2VbNTg2MjQrYV09dFsyMjldW2FdfXRbMjMw +XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+96KWm6KWk6KWt6KWq6KWv6KW06KW36KW+6KaD6KaI6KaK +6KaT6KaY6Kah6Kap6Kam6Kas6Kav6Kay6Ka66Ka96Ka/6KeA6Kea6Kec6Ked6Ken6Ke06Ke46KiD +6KiW6KiQ6KiM6Kib6Kid6Kil6Ki26KmB6Kmb6KmS6KmG6KmI6Km86Kmt6Kms6Kmi6KqF6KqC6KqE +6Kqo6Kqh6KqR6Kql6Kqm6Kqa6Kqj6KuE6KuN6KuC6Kua6Kur6Kuz6Kun77+96Kuk6Kux6KyU6Kug +6Kui6Ku36Kue6Kub6KyM6KyH6Kya6Kuh6KyW6KyQ6KyX6Kyg6Kyz6Z6r6Kym6Kyr6Ky+6Kyo6K2B +6K2M6K2P6K2O6K2J6K2W6K2b6K2a6K2r6K2f6K2s6K2v6K206K296K6A6K6M6K6O6K6S6K6T6K6W +6K6Z6K6a6LC66LGB6LC/6LGI6LGM6LGO6LGQ6LGV6LGi6LGs6LG46LG66LKC6LKJ6LKF6LKK6LKN +6LKO6LKU6LG86LKY5oid6LKt6LKq6LK96LKy6LKz6LKu6LK26LOI6LOB6LOk6LOj6LOa6LO96LO6 +6LO76LSE6LSF6LSK6LSH6LSP6LSN6LSQ6b2O6LST6LON6LSU6LSW6LWn6LWt6LWx6LWz6LaB6LaZ +6LeC6La+6La66LeP6Lea6LeW6LeM6Leb6LeL6Leq6Ler6Lef6Lej6Le86LiI6LiJ6Le/6Lid6Lie +6LiQ6Lif6LmC6Li16Liw6Li06LmK77+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIz +MF0ubGVuZ3RoOysrYSlpZih0WzIzMF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjMw +XVthXV09NTg4ODArYTtlWzU4ODgwK2FdPXRbMjMwXVthXX10WzIzMV09Iu+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/vei5h+i5iei5jOi5kOi5iOi5mei5pOi5oOi4qui5o+i5lei5tui5sui5vOi6gei6h+i6 +hei6hOi6i+i6iui6k+i6kei6lOi6mei6qui6oei6rOi6sOi7hui6sei6vui7hei7iOi7i+i7m+i7 +o+i7vOi7u+i7q+i7vui8iui8hei8lei8kui8mei8k+i8nOi8n+i8m+i8jOi8pui8s+i8u+i8uei9 +hei9gui8vui9jOi9iei9hui9jui9l+i9nO+/vei9oui9o+i9pOi+nOi+n+i+o+i+rei+r+i+t+i/ +mui/pei/oui/qui/r+mCh+i/tOmAhei/uei/uumAkemAlemAoemAjemAnumAlumAi+mAp+mAtumA +temAuei/uOmBj+mBkOmBkemBkumAjumBiemAvumBlumBmOmBnumBqOmBr+mBtumaqOmBsumCgumB +vemCgemCgOmCiumCiemCj+mCqOmCr+mCsemCtemDoumDpOaJiOmDm+mEgumEkumEmemEsumEsOmF +iumFlumFmOmFo+mFpemFqemFs+mFsumGi+mGiemGgumGoumGq+mGr+mGqumGtemGtOmGuumHgOmH +gemHiemHi+mHkOmHlumHn+mHoemHm+mHvOmHtemHtumInumHv+mIlOmIrOmIlemIkemJnumJl+mJ +hemJiemJpOmJiOmKlemIv+mJi+mJkOmKnOmKlumKk+mKm+mJmumLj+mKuemKt+mLqemMj+mLuumN +hOmMru+/ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMzFdLmxlbmd0aDsrK2EpaWYo +dFsyMzFdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIzMV1bYV1dPTU5MTM2K2E7ZVs1 +OTEzNithXT10WzIzMV1bYV19dFsyMzJdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73pjJnpjKLpjJrp +jKPpjLrpjLXpjLvpjZzpjaDpjbzpja7pjZbpjrDpjqzpjq3pjpTpjrnpj5bpj5fpj6jpj6Xpj5jp +j4Ppj53pj5Dpj4jpj6TpkJrpkJTpkJPpkIPpkIfpkJDpkLbpkKvpkLXpkKHpkLrpkYHpkZLpkYTp +kZvpkaDpkaLpkZ7pkarpiKnpkbDpkbXpkbfpkb3pkZrpkbzpkb7pkoHpkb/ploLplofplorplpTp +lpbplpjplpnvv73plqDplqjplqfplq3plrzplrvplrnplr7pl4rmv7bpl4Ppl43pl4zpl5Xpl5Tp +l5bpl5zpl6Hpl6Xpl6LpmKHpmKjpmK7pmK/pmYLpmYzpmY/pmYvpmbfpmZzpmZ7pmZ3pmZ/pmabp +mbLpmazpmo3pmpjpmpXpmpfpmqrpmqfpmrHpmrLpmrDpmrTpmrbpmrjpmrnpm47pm4vpm4npm43o +pY3pm5zpnI3pm5Xpm7npnITpnIbpnIjpnJPpnI7pnJHpnI/pnJbpnJnpnKTpnKrpnLDpnLnpnL3p +nL7pnYTpnYbpnYjpnYLpnYnpnZzpnaDpnaTpnabpnajli5LpnavpnbHpnbnpnoXpnbzpnoHpnbrp +nobpnovpno/pnpDpnpzpnqjpnqbpnqPpnrPpnrTpn4Ppn4bpn4jpn4vpn5zpn63pvY/pn7Lnq5/p +n7bpn7XpoI/poIzpoLjpoKTpoKHpoLfpoL3poYbpoY/poYvpoavpoa/pobDvv73vv73vv70iLnNw +bGl0KCIiKTtmb3IoYT0wO2EhPXRbMjMyXS5sZW5ndGg7KythKWlmKHRbMjMyXVthXS5jaGFyQ29k +ZUF0KDApIT09NjU1MzMpe3JbdFsyMzJdW2FdXT01OTM5MithO2VbNTkzOTIrYV09dFsyMzJdW2Fd +fXRbMjMzXT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+96aGx6aG06aGz6aKq6aKv6aKx6aK26aOE6aOD +6aOG6aOp6aOr6aSD6aSJ6aSS6aSU6aSY6aSh6aSd6aSe6aSk6aSg6aSs6aSu6aS96aS+6aWC6aWJ +6aWF6aWQ6aWL6aWR6aWS6aWM6aWV6aaX6aaY6aal6aat6aau6aa86aef6aeb6aed6aeY6aeR6aet +6aeu6aex6aey6ae76ae46aiB6aiP6aiF6aei6aiZ6air6ai36amF6amC6amA6amD77+96ai+6amV +6amN6amb6amX6amf6ami6aml6amk6amp6amr6amq6aqt6aqw6aq86auA6auP6auR6auT6auU6aue +6auf6aui6auj6aum6auv6aur6auu6au06aux6au36au76ayG6ayY6aya6ayf6ayi6ayj6ayl6ayn +6ayo6ayp6ayq6ayu6ayv6ayy6a2E6a2D6a2P6a2N6a2O6a2R6a2Y6a206a6T6a6D6a6R6a6W6a6X +6a6f6a6g6a6o6a606a+A6a+K6a656a+G6a+P6a+R6a+S6a+j6a+i6a+k6a+U6a+h6bC66a+y6a+x +6a+w6bCV6bCU6bCJ6bCT6bCM6bCG6bCI6bCS6bCK6bCE6bCu6bCb6bCl6bCk6bCh6bCw6bGH6bCy +6bGG6bC+6bGa6bGg6bGn6bG26bG46bOn6bOs6bOw6bSJ6bSI6bOr6bSD6bSG6bSq6bSm6bav6bSj +6bSf6bWE6bSV6bSS6bWB6bS/6bS+6bWG6bWI77+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDth +IT10WzIzM10ubGVuZ3RoOysrYSlpZih0WzIzM11bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXty +W3RbMjMzXVthXV09NTk2NDgrYTtlWzU5NjQ4K2FdPXRbMjMzXVthXX10WzIzNF09Iu+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/vem1nem1num1pOm1kem1kOm1mem1sum2iem2h+m2q+m1r+m1uum2mum2pOm2 +qem2sum3hOm3gem2u+m2uOm2uum3hum3j+m3gum3mem3k+m3uOm3pum3rem3r+m3vem4mum4m+m4 +num5tem5uem5vem6gem6iOm6i+m6jOm6kum6lem6kem6nem6pem6qem6uOm6qum6remdoem7jOm7 +jum7j+m7kOm7lOm7nOm7num7nem7oOm7pem7qOm7r++/vem7tOm7tum7t+m7uem7u+m7vOm7vem8 +h+m8iOeat+m8lem8oem8rOm8vum9ium9kum9lOm9o+m9n+m9oOm9oem9pum9p+m9rOm9qum9t+m9 +sum9tum+lem+nOm+oOWgr+anh+mBmeeRpOWHnOeGme+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMzRdLmxlbmd0aDsr +K2EpaWYodFsyMzRdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIzNF1bYV1dPTU5OTA0 +K2E7ZVs1OTkwNCthXT10WzIzNF1bYV19dFsyMzddPSLvv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73nuoro +pJzpjYjpiojok5zkv4nngrvmmLHmo4jpi7nmm7vlvYXkuKjku6Hku7zkvIDkvIPkvLnkvZbkvpLk +vorkvprkvpTkv43lgYDlgKLkv7/lgJ7lgYblgbDlgYLlgpTlg7Tlg5jlhYrlhaTlhp3lhr7lh6zl +iJXlipzliqbli4Dli5vljIDljIfljKTljbLljpPljrLlj53vqI7lkpzlkorlkqnlk7/lloblnZnl +naXlnqzln4jln4fvqI/vv73vqJDlop7lorLlpIvlpZPlpZvlpZ3lpaPlpqTlprrlrZblr4DnlK/l +r5jlr6zlsJ7lsqblsrrls7XltKfltZPvqJHltYLlta3ltrjltrnlt5DlvKHlvLTlvaflvrflv57m +gZ3mgoXmgormg57mg5XmhKDmg7LmhJHmhLfmhLDmhpjmiJPmiqbmj7XmkaDmkp3mk47mlY7mmIDm +mJXmmLvmmInmmK7mmJ7mmKTmmaXmmZfmmZnvqJLmmbPmmpnmmqDmmrLmmr/mm7rmnI7vpKnmnabm +nrvmoZLmn4DmoIHmoYTmo4/vqJPmpajvqJTmppjmp6LmqLDmqavmqYbmqbPmqb7mq6Lmq6Tmr5bm +sL/msZzmsobmsa/ms5rmtITmtofmta/mtpbmtqzmt4/mt7jmt7Lmt7zmuLnmuZzmuKfmuLzmur/m +vojmvrXmv7XngIXngIfngKjngoXngqvnhI/nhITnhZznhYbnhYfvqJXnh4Hnh77nirHvv73vv73v +v70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjM3XS5sZW5ndGg7KythKWlmKHRbMjM3XVthXS5j +aGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMzddW2FdXT02MDY3MithO2VbNjA2NzIrYV09dFsy +MzddW2FdfXRbMjM4XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+954q+54yk76iW5423546954+J54+W +54+j54+S55CH54+155Cm55Cq55Cp55Cu55Gi55KJ55Kf55SB55Wv55qC55qc55qe55qb55qm76iX +552G5Yqv56Ch56GO56Gk56G656Sw76iY76iZ76ia56aU76ib56ab56uR56un76ic56ur566e76id +57WI57Wc57a357ag57eW57mS572H576h76ie6IyB6I2i6I2/6I+H6I+26JGI6JK06JWT6JWZ77+9 +6JWr76if6Jaw76ig76ih6KCH6KO16KiS6Ki36Km56Kqn6Kq+6Kuf76ii6Ku26K2T6K2/6LOw6LO0 +6LSS6LW276ij6LuP76ik76il6YGn6YOe76im6YSV6YSn6Yea6YeX6Yee6Yet6Yeu6Yek6Yel6YiG +6YiQ6YiK6Yi66YmA6Yi86YmO6YmZ6YmR6Yi56Ymn6Yqn6Ym36Ym46Yun6YuX6YuZ6YuQ76in6YuV +6Yug6YuT6Yyl6Yyh6Yu776io6Yye6Yu/6Yyd6YyC6Y2w6Y2X6Y6k6Y+G6Y+e6Y+46ZCx6ZGF6ZGI +6ZaS76ec76ip6Zqd6Zqv6Zyz6Zy76Z2D6Z2N6Z2P6Z2R6Z2V6aGX6aGl76iq76ir6aSn76is6aae +6amO6auZ6auc6a216a2y6a6P6a6x6a676bCA6bWw6bWr76it6biZ6buR77+977+94oWw4oWx4oWy +4oWz4oW04oW14oW24oW34oW44oW577+i77+k77yH77yC77+977+977+9Ii5zcGxpdCgiIik7Zm9y +KGE9MDthIT10WzIzOF0ubGVuZ3RoOysrYSlpZih0WzIzOF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1 +NTMzKXtyW3RbMjM4XVthXV09NjA5MjgrYTtlWzYwOTI4K2FdPXRbMjM4XVthXX10WzI1MF09Iu+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/veKFsOKFseKFsuKFs+KFtOKFteKFtuKFt+KFuOKFueKFoOKFoeKF +ouKFo+KFpOKFpeKFpuKFp+KFqOKFqe+/ou+/pO+8h++8guOIseKEluKEoeKItee6iuiknOmNiOmK +iOiTnOS/ieeCu+aYseajiOmLueabu+W9heS4qOS7oeS7vOS8gOS8g+S8ueS9luS+kuS+iuS+muS+ +lOS/jeWBgOWAouS/v+WAnuWBhuWBsOWBguWClOWDtOWDmOWFiu+/veWFpOWGneWGvuWHrOWIleWK +nOWKpuWLgOWLm+WMgOWMh+WMpOWNsuWOk+WOsuWPne+ojuWSnOWSiuWSqeWTv+WWhuWdmeWdpeWe +rOWfiOWfh++oj++okOWinuWisuWki+Wlk+Wlm+WlneWlo+WmpOWmuuWtluWvgOeUr+WvmOWvrOWw +nuWypuWyuuWzteW0p+W1k++okeW1guW1reW2uOW2ueW3kOW8oeW8tOW9p+W+t+W/nuaBneaCheaC +iuaDnuaDleaEoOaDsuaEkeaEt+aEsOaGmOaIk+aKpuaPteaRoOaSneaTjuaVjuaYgOaYleaYu+aY +ieaYruaYnuaYpOaZpeaZl+aZme+okuaZs+aameaaoOaasuaav+abuuacju+kqeadpuaeu+ahkuaf +gOaggeahhOajj++ok+alqO+olOammOanouaosOapq+aphuaps+apvuarouarpOavluawv+axnOay +huaxr+azmua0hOa2h+a1r++/ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyNTBdLmxl +bmd0aDsrK2EpaWYodFsyNTBdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzI1MF1bYV1d +PTY0ZTMrYTtlWzY0ZTMrYV09dFsyNTBdW2FdfXRbMjUxXT0i77+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +5raW5ras5reP5re45rey5re85ri55rmc5rin5ri85rq/5r6I5r615r+154CF54CH54Co54KF54Kr +54SP54SE54Wc54WG54WH76iV54eB54e+54qx54q+54yk76iW5423546954+J54+W54+j54+S55CH +54+155Cm55Cq55Cp55Cu55Gi55KJ55Kf55SB55Wv55qC55qc55qe55qb55qm76iX552G5Yqv56Ch +56GO56Gk56G656Sw76iY76iZ77+976ia56aU76ib56ab56uR56un76ic56ur566e76id57WI57Wc +57a357ag57eW57mS572H576h76ie6IyB6I2i6I2/6I+H6I+26JGI6JK06JWT6JWZ6JWr76if6Jaw +76ig76ih6KCH6KO16KiS6Ki36Km56Kqn6Kq+6Kuf76ii6Ku26K2T6K2/6LOw6LO06LSS6LW276ij +6LuP76ik76il6YGn6YOe76im6YSV6YSn6Yea6YeX6Yee6Yet6Yeu6Yek6Yel6YiG6YiQ6YiK6Yi6 +6YmA6Yi86YmO6YmZ6YmR6Yi56Ymn6Yqn6Ym36Ym46Yun6YuX6YuZ6YuQ76in6YuV6Yug6YuT6Yyl +6Yyh6Yu776io6Yye6Yu/6Yyd6YyC6Y2w6Y2X6Y6k6Y+G6Y+e6Y+46ZCx6ZGF6ZGI6ZaS76ec76ip +6Zqd6Zqv6Zyz6Zy76Z2D6Z2N6Z2P6Z2R6Z2V6aGX6aGl76iq76ir6aSn76is6aae6amO6auZ77+9 +77+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzI1MV0ubGVuZ3RoOysrYSlpZih0WzI1MV1b +YV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjUxXVthXV09NjQyNTYrYTtlWzY0MjU2K2Fd +PXRbMjUxXVthXX10WzI1Ml09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vemrnOmttemtsumuj+musemu +u+mwgOm1sOm1q++orem4mem7ke+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vSIuc3BsaXQoIiIp +O2ZvcihhPTA7YSE9dFsyNTJdLmxlbmd0aDsrK2EpaWYodFsyNTJdW2FdLmNoYXJDb2RlQXQoMCkh +PT02NTUzMyl7clt0WzI1Ml1bYV1dPTY0NTEyK2E7ZVs2NDUxMithXT10WzI1Ml1bYV19cmV0dXJu +e2VuYzpyLGRlYzplfX0oKTtjcHRhYmxlWzkzNl09ZnVuY3Rpb24oKXt2YXIgZT1bXSxyPXt9LHQ9 +W10sYTt0WzBdPSJcMAECAwQFBgdcYlx0XG5ceDBCXGZccg4PEBESExQVFhcYGRobHB0eHyAhXCIj +JCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltc +XF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/4oKs77+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzBdLmxlbmd0aDsr +K2EpaWYodFswXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFswXVthXV09MCthO2VbMCth +XT10WzBdW2FdfXRbMTI5XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+95LiC5LiE5LiF5LiG5LiP5LiS +5LiX5Lif5Lig5Lih5Lij5Lim5Lip5Liu5Liv5Lix5Liz5Li15Li35Li85LmA5LmB5LmC5LmE5LmG +5LmK5LmR5LmV5LmX5Lma5Lmb5Lmi5Lmj5Lmk5Lml5Lmn5Lmo5Lmq5Lmr5Lms5Lmt5Lmu5Lmv5Lmy +5Lm05Lm15Lm25Lm35Lm45Lm55Lm65Lm75Lm85Lm95Lm/5LqA5LqB5LqC5LqD5LqE5LqF5LqH5LqK +77+95LqQ5LqW5LqX5LqZ5Lqc5Lqd5Lqe5Lqj5Lqq5Lqv5Lqw5Lqx5Lq05Lq25Lq35Lq45Lq55Lq8 +5Lq95Lq+5LuI5LuM5LuP5LuQ5LuS5Lua5Lub5Luc5Lug5Lui5Lum5Lun5Lup5Lut5Luu5Luv5Lux +5Lu05Lu45Lu55Lu65Lu85Lu+5LyA5LyC5LyD5LyE5LyF5LyG5LyH5LyI5LyL5LyM5LyS5LyT5LyU +5LyV5LyW5Lyc5Lyd5Lyh5Lyj5Lyo5Lyp5Lys5Lyt5Lyu5Lyx5Lyz5Ly15Ly35Ly55Ly75Ly+5Ly/ +5L2A5L2B5L2C5L2E5L2F5L2H5L2I5L2J5L2K5L2L5L2M5L2S5L2U5L2W5L2h5L2i5L2m5L2o5L2q +5L2r5L2t5L2u5L2x5L2y5L215L235L245L255L265L295L6A5L6B5L6C5L6F5L6G5L6H5L6K5L6M +5L6O5L6Q5L6S5L6T5L6V5L6W5L6Y5L6Z5L6a5L6c5L6e5L6f5L6h5L6i77+9Ii5zcGxpdCgiIik7 +Zm9yKGE9MDthIT10WzEyOV0ubGVuZ3RoOysrYSlpZih0WzEyOV1bYV0uY2hhckNvZGVBdCgwKSE9 +PTY1NTMzKXtyW3RbMTI5XVthXV09MzMwMjQrYTtlWzMzMDI0K2FdPXRbMTI5XVthXX10WzEzMF09 +Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/veS+pOS+q+S+reS+sOS+seS+suS+s+S+tOS+tuS+t+S+uOS+ +ueS+uuS+u+S+vOS+veS+vuS/gOS/geS/guS/huS/h+S/iOS/ieS/i+S/jOS/jeS/kuS/k+S/lOS/ +leS/luS/meS/m+S/oOS/ouS/pOS/peS/p+S/q+S/rOS/sOS/suS/tOS/teS/tuS/t+S/ueS/u+S/ +vOS/veS/v+WAgOWAgeWAguWAg+WAhOWAheWAhuWAh+WAiOWAieWAiu+/veWAi+WAjuWAkOWAkeWA +k+WAleWAluWAl+WAm+WAneWAnuWAoOWAouWAo+WApOWAp+WAq+WAr+WAsOWAseWAsuWAs+WAtOWA +teWAtuWAt+WAuOWAueWAu+WAveWAv+WBgOWBgeWBguWBhOWBheWBhuWBieWBiuWBi+WBjeWBkOWB +keWBkuWBk+WBlOWBluWBl+WBmOWBmeWBm+WBneWBnuWBn+WBoOWBoeWBouWBo+WBpOWBpuWBp+WB +qOWBqeWBquWBq+WBreWBruWBr+WBsOWBseWBsuWBs+WBtOWBteWBuOWBueWBuuWBvOWBveWCgeWC +guWCg+WChOWChuWCh+WCieWCiuWCi+WCjOWCjuWCj+WCkOWCkeWCkuWCk+WClOWCleWCluWCl+WC +mOWCmeWCmuWCm+WCnOWCneWCnuWCn+WCoOWCoeWCouWCpOWCpuWCquWCq+WCreWCruWCr+WCsOWC +seWCs+WCtOWCteWCtuWCt+WCuOWCueWCvO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxMzBd +Lmxlbmd0aDsrK2EpaWYodFsxMzBdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzEzMF1b +YV1dPTMzMjgwK2E7ZVszMzI4MCthXT10WzEzMF1bYV19dFsxMzFdPSLvv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73lgr3lgr7lgr/lg4Dlg4Hlg4Llg4Plg4Tlg4Xlg4blg4flg4jlg4nlg4rlg4vlg4zlg43l +g47lg5Dlg5Hlg5Llg5Plg5Tlg5Xlg5flg5jlg5nlg5vlg5zlg53lg57lg5/lg6Dlg6Hlg6Llg6Pl +g6Tlg6Xlg6jlg6nlg6rlg6vlg6/lg7Dlg7Hlg7Llg7Tlg7blg7flg7jlg7nlg7rlg7zlg73lg77l +g7/lhIDlhIHlhILlhIPlhITlhIXlhIjvv73lhInlhIrlhIzlhI3lhI7lhI/lhJDlhJHlhJPlhJTl +hJXlhJblhJflhJjlhJnlhJrlhJvlhJzlhJ3lhJ7lhJ/lhKDlhKLlhKPlhKTlhKXlhKblhKflhKjl +hKnlhKrlhKvlhKzlhK3lhK7lhK/lhLDlhLHlhLLlhLPlhLTlhLXlhLblhLflhLjlhLnlhLrlhLvl +hLzlhL3lhL7lhYLlhYflhYrlhYzlhY7lhY/lhZDlhZLlhZPlhZflhZjlhZnlhZvlhZ3lhZ7lhZ/l +haDlhaHlhaPlhaTlhablhaflhanlharlha/lhbLlhbrlhb7lhb/lhoPlhoTlhoblhoflhorlhovl +ho7lho/lhpDlhpHlhpPlhpTlhpjlhprlhp3lhp7lhp/lhqHlhqPlhqblhqflhqjlhqnlhqrlhq3l +hq7lhrTlhrjlhrnlhrrlhr7lhr/lh4Hlh4Llh4Plh4Xlh4jlh4rlh43lh47lh5Dlh5Llh5Plh5Tl +h5Xlh5blh5fvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTMxXS5sZW5ndGg7KythKWlmKHRb +MTMxXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxMzFdW2FdXT0zMzUzNithO2VbMzM1 +MzYrYV09dFsxMzFdW2FdfXRbMTMyXT0i77+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+95YeY5YeZ5Yea5Yec +5Yee5Yef5Yei5Yej5Yel5Yem5Yen5Yeo5Yep5Yeq5Yes5Yeu5Yex5Yey5Ye05Ye35Ye+5YiE5YiF +5YiJ5YiL5YiM5YiP5YiQ5YiT5YiU5YiV5Yic5Yie5Yif5Yih5Yii5Yij5Yil5Yim5Yin5Yiq5Yis +5Yiv5Yix5Yiy5Yi05Yi15Yi85Yi+5YmE5YmF5YmG5YmH5YmI5YmJ5YmL5YmO5YmP5YmS5YmT5YmV +5YmX5YmY77+95YmZ5Yma5Ymb5Ymd5Ymf5Ymg5Ymi5Ymj5Ymk5Ymm5Ymo5Ymr5Yms5Ymt5Ymu5Ymw +5Ymx5Ymz5Ym05Ym15Ym25Ym35Ym45Ym55Ym65Ym75Ym85Ym+5YqA5YqD5YqE5YqF5YqG5YqH5YqJ +5YqK5YqL5YqM5YqN5YqO5YqP5YqR5YqS5YqU5YqV5YqW5YqX5YqY5YqZ5Yqa5Yqc5Yqk5Yql5Yqm +5Yqn5Yqu5Yqv5Yqw5Yq05Yq15Yq25Yq35Yq45Yq55Yq65Yq75Yq85Yq95YuA5YuB5YuC5YuE5YuF +5YuG5YuI5YuK5YuM5YuN5YuO5YuP5YuR5YuT5YuU5YuV5YuX5YuZ5Yua5Yub5Yuc5Yud5Yue5Yug +5Yuh5Yui5Yuj5Yul5Yum5Yun5Yuo5Yup5Yuq5Yur5Yus5Yut5Yuu5Yuv5Yux5Yuy5Yuz5Yu05Yu1 +5Yu25Yu35Yu45Yu75Yu85Yu95YyB5YyC5YyD5YyE5YyH5YyJ5YyK5YyL5YyM5YyO77+9Ii5zcGxp +dCgiIik7Zm9yKGE9MDthIT10WzEzMl0ubGVuZ3RoOysrYSlpZih0WzEzMl1bYV0uY2hhckNvZGVB +dCgwKSE9PTY1NTMzKXtyW3RbMTMyXVthXV09MzM3OTIrYTtlWzMzNzkyK2FdPXRbMTMyXVthXX10 +WzEzM109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veWMkeWMkuWMk+WMlOWMmOWMm+WMnOWMnuWMn+WM +ouWMpOWMpeWMp+WMqOWMqeWMq+WMrOWMreWMr+WMsOWMseWMsuWMs+WMtOWMteWMtuWMt+WMuOWM +vOWMveWNgOWNguWNhOWNhuWNi+WNjOWNjeWNkOWNlOWNmOWNmeWNm+WNneWNpeWNqOWNquWNrOWN +reWNsuWNtuWNueWNu+WNvOWNveWNvuWOgOWOgeWOg+WOh+WOiOWOiuWOjuWOj++/veWOkOWOkeWO +kuWOk+WOlOWOluWOl+WOmeWOm+WOnOWOnuWOoOWOoeWOpOWOp+WOquWOq+WOrOWOreWOr+WOsOWO +seWOsuWOs+WOtOWOteWOt+WOuOWOueWOuuWOvOWOveWOvuWPgOWPg+WPhOWPheWPhuWPh+WPjuWP +j+WPkOWPkuWPk+WPleWPmuWPnOWPneWPnuWPoeWPouWPp+WPtOWPuuWPvuWPv+WQgOWQguWQheWQ +h+WQi+WQlOWQmOWQmeWQmuWQnOWQouWQpOWQpeWQquWQsOWQs+WQtuWQt+WQuuWQveWQv+WRgeWR +guWRhOWRheWRh+WRieWRjOWRjeWRjuWRj+WRkeWRmuWRneWRnuWRn+WRoOWRoeWRo+WRpeWRp+WR +qeWRquWRq+WRrOWRreWRruWRr+WRsOWRtOWRueWRuuWRvuWRv+WSgeWSg+WSheWSh+WSiOWSieWS +iuWSjeWSkeWSk+WSl+WSmOWSnOWSnuWSn+WSoOWSoe+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9 +dFsxMzNdLmxlbmd0aDsrK2EpaWYodFsxMzNdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0 +WzEzM11bYV1dPTM0MDQ4K2E7ZVszNDA0OCthXT10WzEzM11bYV19dFsxMzRdPSLvv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73lkqLlkqXlkq7lkrDlkrLlkrXlkrblkrflkrnlkrrlkrzlkr7lk4Plk4Xlk4rl +k4vlk5blk5jlk5vlk6Dlk6Hlk6Llk6Plk6Tlk6vlk6zlk6/lk7Dlk7Hlk7Tlk7Xlk7blk7flk7jl +k7nlk7vlk77llIDllILllIPllITllIXllIjllIrllIvllIzllI3llI7llJLllJPllJXllJbllJfl +lJjllJnllJrllJzllJ3llJ7llJ/llKHllKXllKbvv73llKjllKnllKvllK3llLLllLTllLXllLbl +lLjllLnllLrllLvllL3llYDllYLllYXllYfllYjllYvllYzllY3llY7llY/llZHllZLllZPllZTl +lZfllZjllZnllZrllZvllZ3llZ7llZ/llaDllaLllaPllajllanllavlla/llbDllbHllbLllbPl +lbTllbnllbrllb3llb/lloXllobllozllo3llo7llpDllpLllpPllpXllpbllpfllprllpvllp7l +lqDllqHllqLllqPllqTllqXllqbllqjllqnllqrllqvllqzllq3llq7llq/llrDllrLllrTllrbl +lrjllrrllrzllr/ll4Dll4Hll4Lll4Pll4bll4fll4jll4rll4vll47ll4/ll5Dll5Xll5fll5jl +l5nll5rll5vll57ll6Dll6Lll6fll6nll63ll67ll7Dll7Hll7Tll7bll7jll7nll7rll7vll7zl +l7/lmILlmIPlmITlmIXvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTM0XS5sZW5ndGg7Kyth +KWlmKHRbMTM0XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxMzRdW2FdXT0zNDMwNCth +O2VbMzQzMDQrYV09dFsxMzRdW2FdfXRbMTM1XT0i77+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+95ZiG5ZiH +5ZiK5ZiL5ZiN5ZiQ5ZiR5ZiS5ZiT5ZiU5ZiV5ZiW5ZiX5ZiZ5Zia5Zic5Zid5Zig5Zih5Zii5Zil +5Zim5Zio5Zip5Ziq5Zir5Ziu5Ziv5Ziw5Ziz5Zi15Zi35Zi45Zi65Zi85Zi95Zi+5ZmA5ZmB5ZmC +5ZmD5ZmE5ZmF5ZmG5ZmH5ZmI5ZmJ5ZmK5ZmL5ZmP5ZmQ5ZmR5ZmS5ZmT5ZmV5ZmW5Zma5Zmb5Zmd +5Zme5Zmf5Zmg5Zmh77+95Zmj5Zml5Zmm5Zmn5Zmt5Zmu5Zmv5Zmw5Zmy5Zmz5Zm05Zm15Zm35Zm4 +5Zm55Zm65Zm95Zm+5Zm/5ZqA5ZqB5ZqC5ZqD5ZqE5ZqH5ZqI5ZqJ5ZqK5ZqL5ZqM5ZqN5ZqQ5ZqR +5ZqS5ZqU5ZqV5ZqW5ZqX5ZqY5ZqZ5Zqa5Zqb5Zqc5Zqd5Zqe5Zqf5Zqg5Zqh5Zqi5Zqk5Zql5Zqm +5Zqn5Zqo5Zqp5Zqq5Zqr5Zqs5Zqt5Zqu5Zqw5Zqx5Zqy5Zqz5Zq05Zq15Zq25Zq45Zq55Zq65Zq7 +5Zq95Zq+5Zq/5ZuA5ZuB5ZuC5ZuD5ZuE5ZuF5ZuG5ZuH5ZuI5ZuJ5ZuL5ZuM5ZuN5ZuO5ZuP5ZuQ +5ZuR5ZuS5ZuT5ZuV5ZuW5ZuY5ZuZ5Zuc5Zuj5Zul5Zum5Zun5Zuo5Zup5Zuq5Zus5Zuu5Zuv5Zuy +5Zuz5Zu25Zu35Zu45Zu75Zu85ZyA5ZyB5ZyC5ZyF5ZyH5ZyL5ZyM5ZyN5ZyO5ZyP5ZyQ5ZyR77+9 +Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzEzNV0ubGVuZ3RoOysrYSlpZih0WzEzNV1bYV0uY2hh +ckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTM1XVthXV09MzQ1NjArYTtlWzM0NTYwK2FdPXRbMTM1 +XVthXX10WzEzNl09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veWckuWck+WclOWcleWcluWcl+WcmOWc +meWcmuWcm+WcneWcnuWcoOWcoeWcouWcpOWcpeWcpuWcp+Wcq+WcseWcsuWctOWcteWctuWct+Wc +uOWcvOWcveWcv+WdgeWdg+WdhOWdheWdhuWdiOWdieWdi+WdkuWdk+WdlOWdleWdluWdmOWdmeWd +ouWdo+WdpeWdp+WdrOWdruWdsOWdseWdsuWdtOWdteWduOWdueWduuWdveWdvuWdv+WegO+/veWe +geWeh+WeiOWeieWeiuWejeWejuWej+WekOWekeWelOWeleWeluWel+WemOWemeWemuWenOWeneWe +nuWen+WepeWeqOWequWerOWer+WesOWeseWes+WeteWetuWet+WeueWeuuWeu+WevOWeveWevuWe +v+WfgOWfgeWfhOWfheWfhuWfh+WfiOWfieWfiuWfjOWfjeWfkOWfkeWfk+WfluWfl+Wfm+WfnOWf +nuWfoeWfouWfo+WfpeWfpuWfp+WfqOWfqeWfquWfq+WfrOWfruWfsOWfseWfsuWfs+WfteWftuWf +t+Wfu+WfvOWfvuWfv+WggeWgg+WghOWgheWgiOWgieWgiuWgjOWgjuWgj+WgkOWgkuWgk+WglOWg +luWgl+WgmOWgmuWgm+WgnOWgneWgn+WgouWgo+WgpeWgpuWgp+WgqOWgqeWgq+WgrOWgreWgruWg +r+WgseWgsuWgs+WgtOWgtuWgt+WguOWgueWguuWgu+WgvOWgve+/vSIuc3BsaXQoIiIpO2Zvcihh +PTA7YSE9dFsxMzZdLmxlbmd0aDsrK2EpaWYodFsxMzZdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUz +Myl7clt0WzEzNl1bYV1dPTM0ODE2K2E7ZVszNDgxNithXT10WzEzNl1bYV19dFsxMzddPSLvv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73loL7loL/loYDloYHloYLloYPloYXloYbloYfloYjloYnloYrloYvl +oY7loY/loZDloZLloZPloZXloZbloZfloZnloZrloZvloZzloZ3loZ/loaDloaHloaLloaPloaTl +oabloafloajloanloarloa3loa7loa/lobDlobHlobLlobPlobTlobXlobblobflobjlobnlobrl +obvlobzlob3lob/looLlooTloobloofloojloorloovloozvv73loo3loo7loo/lopDlopHlopTl +opXlopblopflopjlopvlopzlop3loqDloqHloqLloqPloqTloqXloqbloqfloqrloqvloqzloq3l +oq7loq/lorDlorHlorLlorPlorTlorXlorblorflorjlornlorrlorvlor3lor7lor/lo4Dlo4Ll +o4Plo4Tlo4blo4flo4jlo4nlo4rlo4vlo4zlo43lo47lo4/lo5Dlo5Llo5Plo5Tlo5blo5flo5jl +o5nlo5rlo5vlo5zlo53lo57lo5/lo6Dlo6Hlo6Llo6Plo6Xlo6blo6flo6jlo6nlo6rlo63lo6/l +o7Hlo7Llo7Tlo7Xlo7flo7jlo7rlo7vlo7zlo73lo77lo7/lpIDlpIHlpIPlpIXlpIblpIjlpInl +pIrlpIvlpIzlpI7lpJDlpJHlpJLlpJPlpJflpJjlpJvlpJ3lpJ7lpKDlpKHlpKLlpKPlpKblpKjl +pKzlpLDlpLLlpLPlpLXlpLblpLvvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTM3XS5sZW5n +dGg7KythKWlmKHRbMTM3XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxMzddW2FdXT0z +NTA3MithO2VbMzUwNzIrYV09dFsxMzddW2FdfXRbMTM4XT0i77+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +5aS95aS+5aS/5aWA5aWD5aWF5aWG5aWK5aWM5aWN5aWQ5aWS5aWT5aWZ5aWb5aWc5aWd5aWe5aWf +5aWh5aWj5aWk5aWm5aWn5aWo5aWp5aWq5aWr5aWs5aWt5aWu5aWv5aWw5aWx5aWy5aW15aW35aW6 +5aW75aW85aW+5aW/5aaA5aaF5aaJ5aaL5aaM5aaO5aaP5aaQ5aaR5aaU5aaV5aaY5aaa5aab5aac +5aad5aaf5aag5aah5aai5aam77+95aan5aas5aat5aaw5aax5aaz5aa05aa15aa25aa35aa45aa6 +5aa85aa95aa/5aeA5aeB5aeC5aeD5aeE5aeF5aeH5aeI5aeJ5aeM5aeN5aeO5aeP5aeV5aeW5aeZ +5aeb5aee5aef5aeg5aeh5aei5aek5aem5aen5aep5aeq5aer5aet5aeu5aev5aew5aex5aey5aez +5ae05ae15ae25ae35ae45ae65ae85ae95ae+5aiA5aiC5aiK5aiL5aiN5aiO5aiP5aiQ5aiS5aiU +5aiV5aiW5aiX5aiZ5aia5aib5aid5aie5aih5aii5aik5aim5ain5aio5aiq5air5ais5ait5aiu +5aiv5aiw5aiz5ai15ai35ai45ai55ai65ai75ai95ai+5ai/5amB5amC5amD5amE5amF5amH5amI +5amL5amM5amN5amO5amP5amQ5amR5amS5amT5amU5amW5amX5amY5amZ5amb5amc5amd5ame5amf +5amg77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzEzOF0ubGVuZ3RoOysrYSlpZih0WzEzOF1b +YV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTM4XVthXV09MzUzMjgrYTtlWzM1MzI4K2Fd +PXRbMTM4XVthXX10WzEzOV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veWpoeWpo+WppOWppeWppuWp +qOWpqeWpq+WprOWpreWpruWpr+WpsOWpseWpsuWps+WpuOWpueWpu+WpvOWpveWpvuWqgOWqgeWq +guWqg+WqhOWqheWqhuWqh+WqiOWqieWqiuWqi+WqjOWqjeWqjuWqj+WqkOWqkeWqk+WqlOWqleWq +luWql+WqmOWqmeWqnOWqneWqnuWqn+WqoOWqoeWqouWqo+WqpOWqpeWqpuWqp+WqqOWqqeWqq+Wq +rO+/veWqreWqruWqr+WqsOWqseWqtOWqtuWqt+WqueWquuWqu+WqvOWqveWqv+WrgOWrg+WrhOWr +heWrhuWrh+WriOWriuWri+WrjeWrjuWrj+WrkOWrkeWrk+WrleWrl+WrmeWrmuWrm+WrneWrnuWr +n+WrouWrpOWrpeWrp+WrqOWrquWrrOWrreWrruWrr+WrsOWrsuWrs+WrtOWrteWrtuWrt+WruOWr +ueWruuWru+WrvOWrveWrvuWrv+WsgOWsgeWsguWsg+WshOWsheWshuWsh+WsiOWsiuWsi+WsjOWs +jeWsjuWsj+WskOWskeWskuWsk+WslOWsleWsmOWsmeWsmuWsm+WsnOWsneWsnuWsn+WsoOWsoeWs +ouWso+WspOWspeWspuWsp+WsqOWsqeWsquWsq+WsrOWsreWsruWsr+WssOWsseWss+WsteWstuWs +uOWsueWsuuWsu+WsvOWsveWsvuWsv+WtgeWtguWtg+WthOWtheWthuWth++/vSIuc3BsaXQoIiIp +O2ZvcihhPTA7YSE9dFsxMzldLmxlbmd0aDsrK2EpaWYodFsxMzldW2FdLmNoYXJDb2RlQXQoMCkh +PT02NTUzMyl7clt0WzEzOV1bYV1dPTM1NTg0K2E7ZVszNTU4NCthXT10WzEzOV1bYV19dFsxNDBd +PSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73lrYjlrYnlrYrlrYvlrYzlrY3lrY7lrY/lrZLlrZblrZ7l +raDlraHlraflrajlravlra3lra7lra/lrbLlrbTlrbblrbflrbjlrbnlrbvlrbzlrb7lrb/lroLl +roblrorlro3lro7lrpDlrpHlrpLlrpTlrpblrp/lrqflrqjlrqnlrqzlrq3lrq7lrq/lrrHlrrLl +rrflrrrlrrvlrrzlr4Dlr4Hlr4Plr4jlr4nlr4rlr4vlr43lr47lr4/vv73lr5Hlr5Tlr5Xlr5bl +r5flr5jlr5nlr5rlr5vlr5zlr6Dlr6Llr6Plr6blr6flr6nlr6rlr6vlr6zlr63lr6/lr7Hlr7Ll +r7Plr7Tlr7Xlr7blr7flr73lr77lsIDlsILlsIPlsIXlsIflsIjlsIvlsIzlsI3lsI7lsJDlsJLl +sJPlsJflsJnlsJvlsJ7lsJ/lsKDlsKHlsKPlsKblsKjlsKnlsKrlsKvlsK3lsK7lsK/lsLDlsLLl +sLPlsLXlsLblsLflsYPlsYTlsYblsYflsYzlsY3lsZLlsZPlsZTlsZblsZflsZjlsZrlsZvlsZzl +sZ3lsZ/lsaLlsaTlsaflsajlsanlsarlsavlsazlsa3lsbDlsbLlsbPlsbTlsbXlsbblsbflsbjl +sbvlsbzlsb3lsb7lsoDlsoPlsoTlsoXlsoblsoflsonlsorlsovlso7lso/lspLlspPlspXlsp3l +sp7lsp/lsqDlsqHlsqTlsqXlsqblsqflsqjvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTQw +XS5sZW5ndGg7KythKWlmKHRbMTQwXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNDBd +W2FdXT0zNTg0MCthO2VbMzU4NDArYV09dFsxNDBdW2FdfXRbMTQxXT0i77+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+95bKq5bKu5bKv5bKw5bKy5bK05bK25bK55bK65bK75bK85bK+5bOA5bOC5bOD5bOF5bOG +5bOH5bOI5bOJ5bOK5bOM5bON5bOO5bOP5bOQ5bOR5bOT5bOU5bOV5bOW5bOX5bOY5bOa5bOb5bOc +5bOd5bOe5bOf5bOg5bOi5bOj5bOn5bOp5bOr5bOs5bOu5bOv5bOx5bOy5bOz5bO05bO15bO25bO3 +5bO45bO55bO65bO85bO95bO+5bO/5bSA77+95bSB5bSE5bSF5bSI5bSJ5bSK5bSL5bSM5bSN5bSP +5bSQ5bSR5bSS5bST5bSV5bSX5bSY5bSZ5bSa5bSc5bSd5bSf5bSg5bSh5bSi5bSj5bSl5bSo5bSq +5bSr5bSs5bSv5bSw5bSx5bSy5bSz5bS15bS25bS35bS45bS55bS65bS75bS85bS/5bWA5bWB5bWC +5bWD5bWE5bWF5bWG5bWI5bWJ5bWN5bWO5bWP5bWQ5bWR5bWS5bWT5bWU5bWV5bWW5bWX5bWZ5bWa +5bWc5bWe5bWf5bWg5bWh5bWi5bWj5bWk5bWl5bWm5bWn5bWo5bWq5bWt5bWu5bWw5bWx5bWy5bWz +5bW15bW25bW35bW45bW55bW65bW75bW85bW95bW+5bW/5baA5baB5baD5baE5baF5baG5baH5baI +5baJ5baK5baL5baM5baN5baO5baP5baQ5baR5baS5baT5baU5baV5baW5baX5baY5baa5bab5bac +5bae5baf5bag77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE0MV0ubGVuZ3RoOysrYSlpZih0 +WzE0MV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTQxXVthXV09MzYwOTYrYTtlWzM2 +MDk2K2FdPXRbMTQxXVthXX10WzE0Ml09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veW2oeW2ouW2o+W2 +pOW2peW2puW2p+W2qOW2qeW2quW2q+W2rOW2reW2ruW2r+W2sOW2seW2suW2s+W2tOW2teW2tuW2 +uOW2ueW2uuW2u+W2vOW2veW2vuW2v+W3gOW3geW3guW3g+W3hOW3huW3h+W3iOW3ieW3iuW3i+W3 +jOW3juW3j+W3kOW3keW3kuW3k+W3lOW3leW3luW3l+W3mOW3meW3muW3nOW3n+W3oOW3o+W3pOW3 +quW3rOW3re+/veW3sOW3teW3tuW3uOW3ueW3uuW3u+W3vOW3v+W4gOW4hOW4h+W4ieW4iuW4i+W4 +jeW4juW4kuW4k+W4l+W4nuW4n+W4oOW4oeW4ouW4o+W4pOW4peW4qOW4qeW4quW4q+W4rOW4r+W4 +sOW4suW4s+W4tOW4teW4tuW4ueW4uuW4vuW4v+W5gOW5geW5g+W5huW5h+W5iOW5ieW5iuW5i+W5 +jeW5juW5j+W5kOW5keW5kuW5k+W5luW5l+W5mOW5meW5muW5nOW5neW5n+W5oOW5o+W5pOW5peW5 +puW5p+W5qOW5qeW5quW5q+W5rOW5reW5ruW5r+W5sOW5seW5teW5t+W5ueW5vuW6geW6guW6g+W6 +heW6iOW6ieW6jOW6jeW6juW6kuW6mOW6m+W6neW6oeW6ouW6o+W6pOW6qOW6qeW6quW6q+W6rOW6 +ruW6r+W6sOW6seW6suW6tOW6uuW6u+W6vOW6veW6v+W7gOW7geW7guW7g+W7hOW7he+/vSIuc3Bs +aXQoIiIpO2ZvcihhPTA7YSE9dFsxNDJdLmxlbmd0aDsrK2EpaWYodFsxNDJdW2FdLmNoYXJDb2Rl +QXQoMCkhPT02NTUzMyl7clt0WzE0Ml1bYV1dPTM2MzUyK2E7ZVszNjM1MithXT10WzE0Ml1bYV19 +dFsxNDNdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73lu4blu4flu4jlu4vlu4zlu43lu47lu4/lu5Dl +u5Tlu5Xlu5flu5jlu5nlu5rlu5zlu53lu57lu5/lu6Dlu6Hlu6Llu6Plu6Tlu6Xlu6blu6flu6nl +u6vlu6zlu63lu67lu6/lu7Dlu7Hlu7Llu7Plu7Xlu7jlu7nlu7vlu7zlu73lvIXlvIblvIflvInl +vIzlvI3lvI7lvJDlvJLlvJTlvJblvJnlvJrlvJzlvJ3lvJ7lvKHlvKLlvKPlvKTvv73lvKjlvKvl +vKzlvK7lvLDlvLLlvLPlvLTlvLXlvLblvLflvLjlvLvlvL3lvL7lvL/lvYHlvYLlvYPlvYTlvYXl +vYblvYflvYjlvYnlvYrlvYvlvYzlvY3lvY7lvY/lvZHlvZTlvZnlvZrlvZvlvZzlvZ7lvZ/lvaDl +vaPlvaXlvaflvajlvavlva7lva/lvbLlvbTlvbXlvbblvbjlvbrlvb3lvb7lvb/lvoPlvoblvo3l +vo7lvo/lvpHlvpPlvpTlvpblvprlvpvlvp3lvp7lvp/lvqDlvqLlvqPlvqTlvqXlvqblvqflvqnl +vqvlvqzlvq/lvrDlvrHlvrLlvrPlvrTlvrblvrjlvrnlvrrlvrvlvr7lvr/lv4Dlv4Hlv4Llv4fl +v4jlv4rlv4vlv47lv5Plv5Tlv5Xlv5rlv5vlv5zlv57lv5/lv6Llv6Plv6Xlv6blv6jlv6nlv6zl +v6/lv7Dlv7Llv7Plv7Tlv7blv7flv7nlv7rlv7zmgIfvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2Eh +PXRbMTQzXS5sZW5ndGg7KythKWlmKHRbMTQzXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3Jb +dFsxNDNdW2FdXT0zNjYwOCthO2VbMzY2MDgrYV09dFsxNDNdW2FdfXRbMTQ0XT0i77+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+95oCI5oCJ5oCL5oCM5oCQ5oCR5oCT5oCX5oCY5oCa5oCe5oCf5oCi5oCj5oCk +5oCs5oCt5oCu5oCw5oCx5oCy5oCz5oC05oC25oC35oC45oC55oC65oC95oC+5oGA5oGE5oGF5oGG +5oGH5oGI5oGJ5oGK5oGM5oGO5oGP5oGR5oGT5oGU5oGW5oGX5oGY5oGb5oGc5oGe5oGf5oGg5oGh +5oGl5oGm5oGu5oGx5oGy5oG05oG15oG35oG+5oKA77+95oKB5oKC5oKF5oKG5oKH5oKI5oKK5oKL +5oKO5oKP5oKQ5oKR5oKT5oKV5oKX5oKY5oKZ5oKc5oKe5oKh5oKi5oKk5oKl5oKn5oKp5oKq5oKu +5oKw5oKz5oK15oK25oK35oK55oK65oK95oK+5oK/5oOA5oOB5oOC5oOD5oOE5oOH5oOI5oOJ5oOM +5oON5oOO5oOP5oOQ5oOS5oOT5oOU5oOW5oOX5oOZ5oOb5oOe5oOh5oOi5oOj5oOk5oOl5oOq5oOx +5oOy5oO15oO35oO45oO75oO85oO95oO+5oO/5oSC5oSD5oSE5oSF5oSH5oSK5oSL5oSM5oSQ5oSR +5oSS5oST5oSU5oSW5oSX5oSY5oSZ5oSb5oSc5oSd5oSe5oSh5oSi5oSl5oSo5oSp5oSq5oSs5oSt +5oSu5oSv5oSw5oSx5oSy5oSz5oS05oS15oS25oS35oS45oS55oS65oS75oS85oS95oS+5oWA5oWB +5oWC5oWD5oWE5oWF5oWG77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE0NF0ubGVuZ3RoOysr +YSlpZih0WzE0NF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTQ0XVthXV09MzY4NjQr +YTtlWzM2ODY0K2FdPXRbMTQ0XVthXX10WzE0NV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veaFh+aF +ieaFi+aFjeaFj+aFkOaFkuaFk+aFlOaFluaFl+aFmOaFmeaFmuaFm+aFnOaFnuaFn+aFoOaFoeaF +o+aFpOaFpeaFpuaFqeaFquaFq+aFrOaFreaFruaFr+aFseaFsuaFs+aFtOaFtuaFuOaFueaFuuaF +u+aFvOaFveaFvuaFv+aGgOaGgeaGguaGg+aGhOaGheaGhuaGh+aGiOaGieaGiuaGjOaGjeaGj+aG +kOaGkeaGkuaGk+aGle+/veaGluaGl+aGmOaGmeaGmuaGm+aGnOaGnuaGn+aGoOaGoeaGouaGo+aG +pOaGpeaGpuaGquaGq+aGreaGruaGr+aGsOaGseaGsuaGs+aGtOaGteaGtuaGuOaGueaGuuaGu+aG +vOaGveaGv+aHgOaHgeaHg+aHhOaHheaHhuaHh+aHieaHjOaHjeaHjuaHj+aHkOaHk+aHleaHluaH +l+aHmOaHmeaHmuaHm+aHnOaHneaHnuaHn+aHoOaHoeaHouaHo+aHpOaHpeaHp+aHqOaHqeaHquaH +q+aHrOaHreaHruaHr+aHsOaHseaHsuaHs+aHtOaHtuaHt+aHuOaHueaHuuaHu+aHvOaHveaHvuaI +gOaIgeaIguaIg+aIhOaIheaIh+aIieaIk+aIlOaImeaInOaIneaInuaIoOaIo+aIpuaIp+aIqOaI +qeaIq+aIreaIr+aIsOaIseaIsuaIteaItuaIuOaIueaIuuaIu+aIvOaJguaJhOaJheaJhuaJiu+/ +vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNDVdLmxlbmd0aDsrK2EpaWYodFsxNDVdW2FdLmNo +YXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE0NV1bYV1dPTM3MTIwK2E7ZVszNzEyMCthXT10WzE0 +NV1bYV19dFsxNDZdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73miY/miZDmiZXmiZbmiZfmiZnmiZrm +iZzmiZ3miZ7miZ/miaDmiaHmiaLmiaTmiaXmiajmibHmibLmibTmibXmibfmibjmibrmibvmib3m +ioHmioLmioPmioXmiobmiofmiojmiovmiozmio3mio7mio/mipDmipTmipnmipzmip3mip7miqPm +iqbmiqfmiqnmiqrmiq3miq7miq/mirDmirLmirPmirTmirbmirfmirjmirrmir7mi4Dmi4Hvv73m +i4Pmi4vmi4/mi5Hmi5Xmi53mi57mi6Dmi6Hmi6Tmi6rmi6vmi7Dmi7Lmi7Xmi7jmi7nmi7rmi7vm +jIDmjIPmjITmjIXmjIbmjIrmjIvmjIzmjI3mjI/mjJDmjJLmjJPmjJTmjJXmjJfmjJjmjJnmjJzm +jKbmjKfmjKnmjKzmjK3mjK7mjLDmjLHmjLPmjLTmjLXmjLbmjLfmjLjmjLvmjLzmjL7mjL/mjYDm +jYHmjYTmjYfmjYjmjYrmjZHmjZLmjZPmjZTmjZbmjZfmjZjmjZnmjZrmjZvmjZzmjZ3mjaDmjaTm +jaXmjabmjajmjarmjavmjazmja/mjbDmjbLmjbPmjbTmjbXmjbjmjbnmjbzmjb3mjb7mjb/mjoHm +joPmjoTmjoXmjobmjovmjo3mjpHmjpPmjpTmjpXmjpfmjpnmjprmjpvmjpzmjp3mjp7mjp/mjqHm +jqTmjqbmjqvmjq/mjrHmjrLmjrXmjrbmjrnmjrvmjr3mjr/mj4Dvv70iLnNwbGl0KCIiKTtmb3Io +YT0wO2EhPXRbMTQ2XS5sZW5ndGg7KythKWlmKHRbMTQ2XVthXS5jaGFyQ29kZUF0KDApIT09NjU1 +MzMpe3JbdFsxNDZdW2FdXT0zNzM3NithO2VbMzczNzYrYV09dFsxNDZdW2FdfXRbMTQ3XT0i77+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+95o+B5o+C5o+D5o+F5o+H5o+I5o+K5o+L5o+M5o+R5o+T5o+U5o+V +5o+X5o+Y5o+Z5o+a5o+b5o+c5o+d5o+f5o+i5o+k5o+l5o+m5o+n5o+o5o+r5o+s5o+u5o+v5o+w +5o+x5o+z5o+15o+35o+55o+65o+75o+85o++5pCD5pCE5pCG5pCH5pCI5pCJ5pCK5pCN5pCO5pCR +5pCS5pCV5pCW5pCX5pCY5pCZ5pCa5pCd5pCf5pCi5pCj5pCk77+95pCl5pCn5pCo5pCp5pCr5pCu +5pCv5pCw5pCx5pCy5pCz5pC15pC25pC35pC45pC55pC75pC85pC+5pGA5pGC5pGD5pGJ5pGL5pGM +5pGN5pGO5pGP5pGQ5pGR5pGT5pGV5pGW5pGX5pGZ5pGa5pGb5pGc5pGd5pGf5pGg5pGh5pGi5pGj +5pGk5pGl5pGm5pGo5pGq5pGr5pGs5pGu5pGv5pGw5pGx5pGy5pGz5pG05pG15pG25pG35pG75pG8 +5pG95pG+5pG/5pKA5pKB5pKD5pKG5pKI5pKJ5pKK5pKL5pKM5pKN5pKO5pKP5pKQ5pKT5pKU5pKX +5pKY5pKa5pKb5pKc5pKd5pKf5pKg5pKh5pKi5pKj5pKl5pKm5pKn5pKo5pKq5pKr5pKv5pKx5pKy +5pKz5pK05pK25pK55pK75pK95pK+5pK/5pOB5pOD5pOE5pOG5pOH5pOI5pOJ5pOK5pOL5pOM5pOP +5pOR5pOT5pOU5pOV5pOW5pOZ5pOa77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE0N10ubGVu +Z3RoOysrYSlpZih0WzE0N11bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTQ3XVthXV09 +Mzc2MzIrYTtlWzM3NjMyK2FdPXRbMTQ3XVthXX10WzE0OF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +veaTm+aTnOaTneaTn+aToOaToeaTo+aTpeaTp+aTqOaTqeaTquaTq+aTrOaTreaTruaTr+aTsOaT +seaTsuaTs+aTtOaTteaTtuaTt+aTuOaTueaTuuaTu+aTvOaTveaTvuaTv+aUgeaUguaUg+aUhOaU +heaUhuaUh+aUiOaUiuaUi+aUjOaUjeaUjuaUj+aUkOaUkeaUk+aUlOaUleaUluaUl+aUmeaUmuaU +m+aUnOaUneaUnuaUn+aUoOaUoe+/veaUouaUo+aUpOaUpuaUp+aUqOaUqeaUquaUrOaUreaUsOaU +seaUsuaUs+aUt+aUuuaUvOaUveaVgOaVgeaVguaVg+aVhOaVhuaVh+aViuaVi+aVjeaVjuaVkOaV +kuaVk+aVlOaVl+aVmOaVmuaVnOaVn+aVoOaVoeaVpOaVpeaVp+aVqOaVqeaVquaVreaVruaVr+aV +seaVs+aVteaVtuaVuOaVueaVuuaVu+aVvOaVveaVvuaVv+aWgOaWgeaWguaWg+aWhOaWheaWhuaW +iOaWieaWiuaWjeaWjuaWj+aWkuaWlOaWleaWluaWmOaWmuaWneaWnuaWoOaWouaWo+aWpuaWqOaW +quaWrOaWruaWseaWsuaWs+aWtOaWteaWtuaWt+aWuOaWuuaWu+aWvuaWv+aXgOaXguaXh+aXiOaX +ieaXiuaXjeaXkOaXkeaXk+aXlOaXleaXmOaXmeaXmuaXm+aXnOaXneaXnuaXn+aXoeaXo+aXpOaX +quaXq++/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNDhdLmxlbmd0aDsrK2EpaWYodFsxNDhd +W2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE0OF1bYV1dPTM3ODg4K2E7ZVszNzg4OCth +XT10WzE0OF1bYV19dFsxNDldPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73ml7Lml7Pml7Tml7Xml7jm +l7nml7vml7zml73ml77ml7/mmIHmmITmmIXmmIfmmIjmmInmmIvmmI3mmJDmmJHmmJLmmJbmmJfm +mJjmmJrmmJvmmJzmmJ7mmKHmmKLmmKPmmKTmmKbmmKnmmKrmmKvmmKzmmK7mmLDmmLLmmLPmmLfm +mLjmmLnmmLrmmLvmmL3mmL/mmYDmmYLmmYTmmYXmmYbmmYfmmYjmmYnmmYrmmY3mmY7mmZDmmZHm +mZjvv73mmZnmmZvmmZzmmZ3mmZ7mmaDmmaLmmaPmmaXmmafmmanmmarmmavmmazmma3mmbHmmbLm +mbPmmbXmmbjmmbnmmbvmmbzmmb3mmb/mmoDmmoHmmoPmmoXmmobmmojmmonmmormmovmmo3mmo7m +mo/mmpDmmpLmmpPmmpTmmpXmmpjmmpnmmprmmpvmmpzmmp7mmp/mmqDmmqHmmqLmmqPmmqTmmqXm +mqbmmqnmmqrmmqvmmqzmmq3mmq/mmrDmmrHmmrLmmrPmmrXmmrbmmrfmmrjmmrrmmrvmmrzmmr3m +mr/mm4Dmm4Hmm4Lmm4Pmm4Tmm4Xmm4bmm4fmm4jmm4nmm4rmm4vmm4zmm43mm47mm4/mm5Dmm5Hm +m5Lmm5Pmm5Tmm5Xmm5bmm5fmm5jmm5rmm57mm5/mm6Dmm6Hmm6Lmm6Pmm6Tmm6Xmm6fmm6jmm6rm +m6vmm6zmm63mm67mm6/mm7Hmm7Xmm7bmm7jmm7rmm7vmm73mnIHmnILmnIPvv70iLnNwbGl0KCIi +KTtmb3IoYT0wO2EhPXRbMTQ5XS5sZW5ndGg7KythKWlmKHRbMTQ5XVthXS5jaGFyQ29kZUF0KDAp +IT09NjU1MzMpe3JbdFsxNDldW2FdXT0zODE0NCthO2VbMzgxNDQrYV09dFsxNDldW2FdfXRbMTUw +XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+95pyE5pyF5pyG5pyH5pyM5pyO5pyP5pyR5pyS5pyT5pyW +5pyY5pyZ5pya5pyc5pye5pyg5pyh5pyi5pyj5pyk5pyl5pyn5pyp5pyu5pyw5pyy5pyz5py25py3 +5py45py55py75py85py+5py/5p2B5p2E5p2F5p2H5p2K5p2L5p2N5p2S5p2U5p2V5p2X5p2Y5p2Z +5p2a5p2b5p2d5p2i5p2j5p2k5p2m5p2n5p2r5p2s5p2u5p2x5p205p2277+95p245p255p265p27 +5p295p6A5p6C5p6D5p6F5p6G5p6I5p6K5p6M5p6N5p6O5p6P5p6R5p6S5p6T5p6U5p6W5p6Z5p6b +5p6f5p6g5p6h5p6k5p6m5p6p5p6s5p6u5p6x5p6y5p605p655p665p675p685p695p6+5p6/5p+A +5p+C5p+F5p+G5p+H5p+I5p+J5p+K5p+L5p+M5p+N5p+O5p+V5p+W5p+X5p+b5p+f5p+h5p+j5p+k +5p+m5p+n5p+o5p+q5p+r5p+t5p+u5p+y5p+15p+25p+35p+45p+55p+65p+75p+85p++5qCB5qCC +5qCD5qCE5qCG5qCN5qCQ5qCS5qCU5qCV5qCY5qCZ5qCa5qCb5qCc5qCe5qCf5qCg5qCi5qCj5qCk +5qCl5qCm5qCn5qCo5qCr5qCs5qCt5qCu5qCv5qCw5qCx5qC05qC15qC25qC65qC75qC/5qGH5qGL +5qGN5qGP5qGS5qGW5qGX5qGY5qGZ5qGa5qGb77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE1 +MF0ubGVuZ3RoOysrYSlpZih0WzE1MF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTUw +XVthXV09Mzg0MDArYTtlWzM4NDAwK2FdPXRbMTUwXVthXX10WzE1MV09Iu+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/veahnOahneahnuahn+ahquahrOahreahruahr+ahsOahseahsuahs+ahteahuOahueah +uuahu+ahvOahveahvuahv+aigOaiguaihOaih+aiiOaiieaiiuaii+aijOaijeaijuaikOaikeai +kuailOaileailuaimOaimeaimuaim+ainOaineainuain+aioOaioeaio+aipOaipeaiqeaiquai +q+airOairuaiseaisuaitOaituait+aiuO+/veaiueaiuuaiu+aivOaiveaivuaiv+ajgeajg+aj +hOajheajhuajh+ajiOajiuajjOajjuajj+ajkOajkeajk+ajlOajluajl+ajmeajm+ajnOajneaj +nuajn+ajoeajouajpOajpeajpuajp+ajqOajqeajquajq+ajrOajreajr+ajsuajs+ajtOajtuaj +t+ajuOaju+ajveajvuajv+akgOakguakg+akhOakhuakh+akiOakieakiuakjOakj+akkeakk+ak +lOakleakluakl+akmOakmeakmuakm+aknOakneaknuakoeakouako+akpeakpuakp+akqOakqeak +quakq+akrOakruakr+akseaksuaks+akteaktuakt+akuOakuuaku+akvOakvualgOalgealg+al +hOalhealhualh+aliOaliealiuali+aljOaljealjualj+alkOalkealkualk+alleallualmOal +mealm+alnOaln++/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNTFdLmxlbmd0aDsrK2EpaWYo +dFsxNTFdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE1MV1bYV1dPTM4NjU2K2E7ZVsz +ODY1NithXT10WzE1MV1bYV19dFsxNTJdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73mpaHmpaLmpaTm +paXmpafmpajmpanmparmpazmpa3mpa/mpbDmpbLmpbPmpbTmpbXmpbbmpbrmpbvmpb3mpb7mpb/m +poHmpoPmpoXmpormpovmpozmpo7mpo/mppDmppHmppLmppPmppbmppfmppnmpprmpp3mpp7mpp/m +pqDmpqHmpqLmpqPmpqTmpqXmpqbmpqnmpqrmpqzmpq7mpq/mprDmprLmprPmprXmprbmprjmprnm +prrmprzmpr3vv73mpr7mpr/mp4Dmp4Lmp4Pmp4Tmp4Xmp4bmp4fmp4jmp4nmp4vmp43mp4/mp5Hm +p5Lmp5Pmp5Xmp5bmp5fmp5jmp5nmp5rmp5zmp53mp57mp6Hmp6Lmp6Pmp6Tmp6Xmp6bmp6fmp6jm +p6nmp6rmp6vmp6zmp67mp6/mp7Dmp7Hmp7Pmp7Tmp7Xmp7bmp7fmp7jmp7nmp7rmp7vmp7zmp77m +qIDmqIHmqILmqIPmqITmqIXmqIbmqIfmqIjmqInmqIvmqIzmqI3mqI7mqI/mqJDmqJHmqJLmqJPm +qJTmqJXmqJbmqJnmqJrmqJvmqJzmqJ3mqJ7mqKDmqKLmqKPmqKTmqKXmqKbmqKfmqKnmqKvmqKzm +qK3mqK7mqLDmqLLmqLPmqLTmqLbmqLfmqLjmqLnmqLrmqLvmqLzmqL/mqYDmqYHmqYLmqYPmqYXm +qYbmqYjmqYnmqYrmqYvmqYzmqY3mqY7mqY/mqZHmqZLmqZPmqZTmqZXmqZbmqZfmqZrvv70iLnNw +bGl0KCIiKTtmb3IoYT0wO2EhPXRbMTUyXS5sZW5ndGg7KythKWlmKHRbMTUyXVthXS5jaGFyQ29k +ZUF0KDApIT09NjU1MzMpe3JbdFsxNTJdW2FdXT0zODkxMithO2VbMzg5MTIrYV09dFsxNTJdW2Fd +Owp9dFsxNTNdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73mqZzmqZ3mqZ7mqZ/mqaDmqaLmqaPmqaTm +qabmqafmqajmqanmqarmqavmqazmqa3mqa7mqa/mqbDmqbLmqbPmqbTmqbXmqbbmqbfmqbjmqbrm +qbvmqb3mqb7mqb/mqoHmqoLmqoPmqoXmqobmqofmqojmqonmqormqovmqozmqo3mqo/mqpLmqpPm +qpTmqpXmqpbmqpjmqpnmqprmqpvmqpzmqp3mqp7mqp/mqqHmqqLmqqPmqqTmqqXmqqbvv73mqqfm +qqjmqqrmqq3mqq7mqq/mqrDmqrHmqrLmqrPmqrTmqrXmqrbmqrfmqrjmqrnmqrrmqrvmqrzmqr3m +qr7mqr/mq4Dmq4Hmq4Lmq4Pmq4Tmq4Xmq4bmq4fmq4jmq4nmq4rmq4vmq4zmq43mq47mq4/mq5Dm +q5Hmq5Lmq5Pmq5Tmq5Xmq5bmq5fmq5jmq5nmq5rmq5vmq5zmq53mq57mq5/mq6Dmq6Hmq6Lmq6Pm +q6Tmq6Xmq6bmq6fmq6jmq6nmq6rmq6vmq6zmq63mq67mq6/mq7Dmq7Hmq7Lmq7Pmq7Tmq7Xmq7bm +q7fmq7jmq7nmq7rmq7vmq7zmq73mq77mq7/mrIDmrIHmrILmrIPmrITmrIXmrIbmrIfmrIjmrInm +rIrmrIvmrIzmrI3mrI7mrI/mrJDmrJHmrJLmrJPmrJTmrJXmrJbmrJfmrJjmrJnmrJrmrJvmrJzm +rJ3mrJ7mrJ/mrKXmrKbmrKjmrKnmrKrmrKvmrKzmrK3mrK7vv70iLnNwbGl0KCIiKTtmb3IoYT0w +O2EhPXRbMTUzXS5sZW5ndGg7KythKWlmKHRbMTUzXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMp +e3JbdFsxNTNdW2FdXT0zOTE2OCthO2VbMzkxNjgrYV09dFsxNTNdW2FdfXRbMTU0XT0i77+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+95qyv5qyw5qyx5qyz5qy05qy15qy25qy45qy75qy85qy95qy/5q2A5q2B +5q2C5q2E5q2F5q2I5q2K5q2L5q2N5q2O5q2P5q2Q5q2R5q2S5q2T5q2U5q2V5q2W5q2X5q2Y5q2a +5q2b5q2c5q2d5q2e5q2f5q2g5q2h5q2o5q2p5q2r5q2s5q2t5q2u5q2v5q2w5q2x5q2y5q2z5q20 +5q215q225q235q245q265q295q2+5q2/5q6A5q6F5q6I77+95q6M5q6O5q6P5q6Q5q6R5q6U5q6V +5q6X5q6Y5q6Z5q6c5q6d5q6e5q6f5q6g5q6i5q6j5q6k5q6l5q6m5q6n5q6o5q6p5q6r5q6s5q6t +5q6u5q6v5q6w5q6x5q6y5q625q645q655q665q675q685q695q6+5q+A5q+D5q+E5q+G5q+H5q+I +5q+J5q+K5q+M5q+O5q+Q5q+R5q+Y5q+a5q+c5q+d5q+e5q+f5q+g5q+i5q+j5q+k5q+l5q+m5q+n +5q+o5q+p5q+s5q+t5q+u5q+w5q+x5q+y5q+05q+25q+35q+45q+65q+75q+85q++5q+/5rCA5rCB +5rCC5rCD5rCE5rCI5rCJ5rCK5rCL5rCM5rCO5rCS5rCX5rCc5rCd5rCe5rCg5rCj5rCl5rCr5rCs +5rCt5rCx5rCz5rC25rC35rC55rC65rC75rC85rC+5rC/5rGD5rGE5rGF5rGI5rGL5rGM5rGN5rGO +5rGP5rGR5rGS5rGT5rGW5rGY77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE1NF0ubGVuZ3Ro +OysrYSlpZih0WzE1NF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTU0XVthXV09Mzk0 +MjQrYTtlWzM5NDI0K2FdPXRbMTU0XVthXX10WzE1NV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veax +meaxmuaxouaxo+axpeaxpuaxp+axq+axrOaxreaxruaxr+axseaxs+axteaxt+axuOaxuuaxu+ax +vOaxv+aygOayhOayh+ayiuayi+ayjeayjuaykeaykuayleayluayl+aymOaymuaynOayneaynuay +oOayouayqOayrOayr+aysOaytOayteaytuayt+ayuuazgOazgeazguazg+azhuazh+aziOazi+az +jeazjuazj+azkeazkuazmO+/veazmeazmuaznOazneazn+azpOazpuazp+azqeazrOazreazsuaz +tOazueazv+a0gOa0gua0g+a0hea0hua0iOa0iea0iua0jea0j+a0kOa0kea0k+a0lOa0lea0lua0 +mOa0nOa0nea0n+a0oOa0oea0oua0o+a0pOa0pua0qOa0qea0rOa0rea0r+a0sOa0tOa0tua0t+a0 +uOa0uua0v+a1gOa1gua1hOa1iea1jOa1kOa1lea1lua1l+a1mOa1m+a1nea1n+a1oea1oua1pOa1 +pea1p+a1qOa1q+a1rOa1rea1sOa1sea1sua1s+a1tea1tua1uea1uua1u+a1vea1vua1v+a2gOa2 +gea2g+a2hOa2hua2h+a2iua2i+a2jea2j+a2kOa2kua2lua2l+a2mOa2mea2mua2nOa2oua2pea2 +rOa2rea2sOa2sea2s+a2tOa2tua2t+a2uea2uua2u+a2vOa2vea2vua3gea3gua3g+a3iOa3iea3 +iu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNTVdLmxlbmd0aDsrK2EpaWYodFsxNTVdW2Fd +LmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE1NV1bYV1dPTM5NjgwK2E7ZVszOTY4MCthXT10 +WzE1NV1bYV19dFsxNTZdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73mt43mt47mt4/mt5Dmt5Lmt5Pm +t5Tmt5Xmt5fmt5rmt5vmt5zmt5/mt6Lmt6Pmt6Xmt6fmt6jmt6nmt6rmt63mt6/mt7Dmt7Lmt7Tm +t7Xmt7bmt7jmt7rmt73mt77mt7/muIDmuIHmuILmuIPmuITmuIbmuIfmuIjmuInmuIvmuI/muJLm +uJPmuJXmuJjmuJnmuJvmuJzmuJ7muJ/muKLmuKbmuKfmuKjmuKrmuKzmuK7muLDmuLHmuLPmuLXv +v73muLbmuLfmuLnmuLvmuLzmuL3muL7muL/muYDmuYHmuYLmuYXmuYbmuYfmuYjmuYnmuYrmuYvm +uYzmuY/muZDmuZHmuZLmuZXmuZfmuZnmuZrmuZzmuZ3muZ7muaDmuaHmuaLmuaPmuaTmuaXmuabm +uafmuajmuanmuarmuazmua3mua/mubDmubHmubLmubPmubTmubXmubbmubfmubjmubnmubrmubvm +ubzmub3muoDmuoHmuoLmuoTmuofmuojmuormuovmuozmuo3muo7mupHmupLmupPmupTmupXmupbm +upfmupnmuprmupvmup3mup7muqDmuqHmuqPmuqTmuqbmuqjmuqnmuqvmuqzmuq3muq7murDmurPm +urXmurjmurnmurzmur7mur/mu4Dmu4Pmu4Tmu4Xmu4bmu4jmu4nmu4rmu4zmu43mu47mu5Dmu5Lm +u5bmu5jmu5nmu5vmu5zmu53mu6Pmu6fmu6rmu6vmu6zmu63mu67mu6/vv70iLnNwbGl0KCIiKTtm +b3IoYT0wO2EhPXRbMTU2XS5sZW5ndGg7KythKWlmKHRbMTU2XVthXS5jaGFyQ29kZUF0KDApIT09 +NjU1MzMpe3JbdFsxNTZdW2FdXT0zOTkzNithO2VbMzk5MzYrYV09dFsxNTZdW2FdfXRbMTU3XT0i +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+95ruw5rux5ruy5ruz5ru15ru25ru35ru45ru65ru75ru85ru9 +5ru+5ru/5ryA5ryB5ryD5ryE5ryF5ryH5ryI5ryK5ryL5ryM5ryN5ryO5ryQ5ryR5ryS5ryW5ryX +5ryY5ryZ5rya5ryb5ryc5ryd5rye5ryf5ryh5ryi5ryj5ryl5rym5ryn5ryo5rys5ryu5ryw5ryy +5ry05ry15ry35ry45ry55ry65ry75ry85ry95ry/5r2A5r2B5r2C77+95r2D5r2E5r2F5r2I5r2J +5r2K5r2M5r2O5r2P5r2Q5r2R5r2S5r2T5r2U5r2V5r2W5r2X5r2Z5r2a5r2b5r2d5r2f5r2g5r2h +5r2j5r2k5r2l5r2n5r2o5r2p5r2q5r2r5r2s5r2v5r2w5r2x5r2z5r215r225r235r255r275r29 +5r2+5r2/5r6A5r6B5r6C5r6D5r6F5r6G5r6H5r6K5r6L5r6P5r6Q5r6R5r6S5r6T5r6U5r6V5r6W +5r6X5r6Y5r6Z5r6a5r6b5r6d5r6e5r6f5r6g5r6i5r6j5r6k5r6l5r6m5r6o5r6p5r6q5r6r5r6s +5r6t5r6u5r6v5r6w5r6x5r6y5r605r615r635r645r665r675r685r695r6+5r6/5r+B5r+D5r+E +5r+F5r+G5r+H5r+I5r+K5r+L5r+M5r+N5r+O5r+P5r+Q5r+T5r+U5r+V5r+W5r+X5r+Y5r+Z5r+a +5r+b5r+c5r+d5r+f5r+i5r+j5r+k5r+l77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE1N10u +bGVuZ3RoOysrYSlpZih0WzE1N11bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTU3XVth +XV09NDAxOTIrYTtlWzQwMTkyK2FdPXRbMTU3XVthXX10WzE1OF09Iu+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/vea/pua/p+a/qOa/qea/qua/q+a/rOa/rea/sOa/sea/sua/s+a/tOa/tea/tua/t+a/uOa/ +uea/uua/u+a/vOa/vea/vua/v+eAgOeAgeeAgueAg+eAhOeAheeAhueAh+eAiOeAieeAiueAi+eA +jOeAjeeAjueAj+eAkOeAkueAk+eAlOeAleeAlueAl+eAmOeAmeeAnOeAneeAnueAn+eAoOeAoeeA +oueApOeApeeApueAp+eAqOeAqeeAqu+/veeAq+eArOeAreeArueAr+eAsOeAseeAsueAs+eAtOeA +tueAt+eAuOeAuueAu+eAvOeAveeAvueAv+eBgOeBgeeBgueBg+eBhOeBheeBhueBh+eBiOeBieeB +iueBi+eBjeeBjueBkOeBkeeBkueBk+eBlOeBleeBlueBl+eBmOeBmeeBmueBm+eBnOeBneeBn+eB +oOeBoeeBoueBo+eBpOeBpeeBpueBp+eBqOeBqeeBqueBrueBseeBsueBs+eBtOeBt+eBueeBuueB +u+eBveeCgeeCgueCg+eChOeChueCh+eCiOeCi+eCjOeCjeeCj+eCkOeCkeeCk+eCl+eCmOeCmueC +m+eCnueCn+eCoOeCoeeCoueCo+eCpOeCpeeCpueCp+eCqOeCqeeCqueCsOeCsueCtOeCteeCtueC +uueCvueCv+eDhOeDheeDhueDh+eDieeDi+eDjOeDjeeDjueDj+eDkOeDkeeDkueDk+eDlOeDleeD +lueDl+eDmu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNThdLmxlbmd0aDsrK2EpaWYodFsx +NThdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE1OF1bYV1dPTQwNDQ4K2E7ZVs0MDQ0 +OCthXT10WzE1OF1bYV19dFsxNTldPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73ng5zng53ng57ng6Dn +g6Hng6Lng6Png6Xng6rng67ng7Dng7Hng7Lng7Png7Tng7Xng7bng7jng7rng7vng7zng77ng7/n +hIDnhIHnhILnhIPnhITnhIXnhIbnhIfnhIjnhIvnhIznhI3nhI7nhI/nhJHnhJLnhJTnhJfnhJvn +hJznhJ3nhJ7nhJ/nhKDnhKHnhKLnhKPnhKTnhKXnhKfnhKjnhKnnhKrnhKvnhKznhK3nhK7nhLLn +hLPnhLTvv73nhLXnhLfnhLjnhLnnhLrnhLvnhLznhL3nhL7nhL/nhYDnhYHnhYLnhYPnhYTnhYbn +hYfnhYjnhYnnhYvnhY3nhY/nhZDnhZHnhZLnhZPnhZTnhZXnhZbnhZfnhZjnhZnnhZrnhZvnhZ3n +hZ/nhaDnhaHnhaLnhaPnhaXnhannharnhavnhaznha3nha/nhbDnhbHnhbTnhbXnhbbnhbfnhbnn +hbvnhbznhb7nhb/nhoDnhoHnhoLnhoPnhoXnhobnhofnhojnhonnhovnhoznho3nho7nhpDnhpHn +hpLnhpPnhpXnhpbnhpfnhprnhpvnhpznhp3nhp7nhqHnhqLnhqPnhqTnhqXnhqbnhqfnhqnnhqrn +hqvnhq3nhq7nhq/nhrDnhrHnhrLnhrTnhrbnhrfnhrjnhrrnhrvnhrznhr3nhr7nhr/nh4Dnh4Hn +h4Lnh4Tnh4Xnh4bnh4fnh4jnh4nnh4rnh4vnh4znh43nh4/nh5Dnh5Hnh5Lnh5Pvv70iLnNwbGl0 +KCIiKTtmb3IoYT0wO2EhPXRbMTU5XS5sZW5ndGg7KythKWlmKHRbMTU5XVthXS5jaGFyQ29kZUF0 +KDApIT09NjU1MzMpe3JbdFsxNTldW2FdXT00MDcwNCthO2VbNDA3MDQrYV09dFsxNTldW2FdfXRb +MTYwXT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+954eW54eX54eY54eZ54ea54eb54ec54ed54ee54ef +54eh54ei54ej54ek54em54eo54ep54eq54er54es54et54ev54ew54ex54ey54ez54e054e154e2 +54e354e454e654e754e854e954e+54e/54iA54iB54iC54iD54iE54iF54iH54iI54iJ54iK54iL +54iM54iN54iO54iP54iQ54iR54iS54iT54iU54iV54iW54iX54iY54iZ54ia77+954ib54ic54ie +54if54ig54ih54ii54ij54ik54il54im54in54ip54ir54it54iu54iv54iy54iz54i054i654i8 +54i+54mA54mB54mC54mD54mE54mF54mG54mJ54mK54mL54mO54mP54mQ54mR54mT54mU54mV54mX +54mY54ma54mc54me54mg54mj54mk54ml54mo54mq54mr54ms54mt54mw54mx54mz54m054m254m3 +54m454m754m854m954qC54qD54qF54qG54qH54qI54qJ54qM54qO54qQ54qR54qT54qU54qV54qW +54qX54qY54qZ54qa54qb54qc54qd54qe54qg54qh54qi54qj54qk54ql54qm54qn54qo54qp54qq +54qr54qu54qx54qy54qz54q154q654q754q854q954q+54q/54uA54uF54uG54uH54uJ54uK54uL +54uM54uP54uR54uT54uU54uV54uW54uY54ua54ub77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10 +WzE2MF0ubGVuZ3RoOysrYSlpZih0WzE2MF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3Rb +MTYwXVthXV09NDA5NjArYTtlWzQwOTYwK2FdPXRbMTYwXVthXX10WzE2MV09Iu+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/veOAgOOAgeOAgsK3y4nLh8Ko44CD44CF4oCU772e4oCW4oCm4oCY4oCZ +4oCc4oCd44CU44CV44CI44CJ44CK44CL44CM44CN44CO44CP44CW44CX44CQ44CRwrHDl8O34oi2 +4oin4oio4oiR4oiP4oiq4oip4oiI4oi34oia4oql4oil4oig4oyS4oqZ4oir4oiu4omh4omM4omI +4oi94oid4omg4omu4omv4omk4oml4oie4oi14oi04pmC4pmAwrDigLLigLPihIPvvITCpO+/oO+/ +oeKAsMKn4oSW4piG4piF4peL4peP4peO4peH4peG4pah4pag4paz4pay4oC74oaS4oaQ4oaR4oaT +44CT77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE2MV0ubGVuZ3RoOysrYSlpZih0WzE2MV1b +YV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTYxXVthXV09NDEyMTYrYTtlWzQxMjE2K2Fd +PXRbMTYxXVthXX10WzE2Ml09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veKFsOKFseKFsuKF +s+KFtOKFteKFtuKFt+KFuOKFue+/ve+/ve+/ve+/ve+/ve+/veKSiOKSieKSiuKSi+KSjOKSjeKS +juKSj+KSkOKSkeKSkuKSk+KSlOKSleKSluKSl+KSmOKSmeKSmuKSm+KRtOKRteKRtuKRt+KRuOKR +ueKRuuKRu+KRvOKRveKRvuKRv+KSgOKSgeKSguKSg+KShOKSheKShuKSh+KRoOKRoeKRouKRo+KR +pOKRpeKRpuKRp+KRqOKRqe+/ve+/veOIoOOIoeOIouOIo+OIpOOIpeOIpuOIp+OIqOOIqe+/ve+/ +veKFoOKFoeKFouKFo+KFpOKFpeKFpuKFp+KFqOKFqeKFquKFq++/ve+/ve+/vSIuc3BsaXQoIiIp +O2ZvcihhPTA7YSE9dFsxNjJdLmxlbmd0aDsrK2EpaWYodFsxNjJdW2FdLmNoYXJDb2RlQXQoMCkh +PT02NTUzMyl7clt0WzE2Ml1bYV1dPTQxNDcyK2E7ZVs0MTQ3MithXT10WzE2Ml1bYV19dFsxNjNd +PSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vvIHvvILvvIPvv6XvvIXvvIbvvIfvvIjvvInv +vIrvvIvvvIzvvI3vvI7vvI/vvJDvvJHvvJLvvJPvvJTvvJXvvJbvvJfvvJjvvJnvvJrvvJvvvJzv +vJ3vvJ7vvJ/vvKDvvKHvvKLvvKPvvKTvvKXvvKbvvKfvvKjvvKnvvKrvvKvvvKzvvK3vvK7vvK/v +vLDvvLHvvLLvvLPvvLTvvLXvvLbvvLfvvLjvvLnvvLrvvLvvvLzvvL3vvL7vvL/vvYDvvYHvvYLv +vYPvvYTvvYXvvYbvvYfvvYjvvYnvvYrvvYvvvYzvvY3vvY7vvY/vvZDvvZHvvZLvvZPvvZTvvZXv +vZbvvZfvvZjvvZnvvZrvvZvvvZzvvZ3vv6Pvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTYz +XS5sZW5ndGg7KythKWlmKHRbMTYzXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNjNd +W2FdXT00MTcyOCthO2VbNDE3MjgrYV09dFsxNjNdW2FdfXRbMTY0XT0i77+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+944GB44GC44GD44GE44GF44GG44GH44GI44GJ44GK44GL44GM44GN44GO44GP +44GQ44GR44GS44GT44GU44GV44GW44GX44GY44GZ44Ga44Gb44Gc44Gd44Ge44Gf44Gg44Gh44Gi +44Gj44Gk44Gl44Gm44Gn44Go44Gp44Gq44Gr44Gs44Gt44Gu44Gv44Gw44Gx44Gy44Gz44G044G1 +44G244G344G444G544G644G744G844G944G+44G/44KA44KB44KC44KD44KE44KF44KG44KH44KI +44KJ44KK44KL44KM44KN44KO44KP44KQ44KR44KS44KT77+977+977+977+977+977+977+977+9 +77+977+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE2NF0ubGVuZ3RoOysrYSlpZih0 +WzE2NF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTY0XVthXV09NDE5ODQrYTtlWzQx +OTg0K2FdPXRbMTY0XVthXX10WzE2NV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veOCoeOC +ouOCo+OCpOOCpeOCpuOCp+OCqOOCqeOCquOCq+OCrOOCreOCruOCr+OCsOOCseOCsuOCs+OCtOOC +teOCtuOCt+OCuOOCueOCuuOCu+OCvOOCveOCvuOCv+ODgOODgeODguODg+ODhOODheODhuODh+OD +iOODieODiuODi+ODjOODjeODjuODj+ODkOODkeODkuODk+ODlOODleODluODl+ODmOODmeODmuOD +m+ODnOODneODnuODn+ODoOODoeODouODo+ODpOODpeODpuODp+ODqOODqeODquODq+ODrOODreOD +ruODr+ODsOODseODsuODs+ODtOODteODtu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vSIuc3Bs +aXQoIiIpO2ZvcihhPTA7YSE9dFsxNjVdLmxlbmd0aDsrK2EpaWYodFsxNjVdW2FdLmNoYXJDb2Rl +QXQoMCkhPT02NTUzMyl7clt0WzE2NV1bYV1dPTQyMjQwK2E7ZVs0MjI0MCthXT10WzE2NV1bYV19 +dFsxNjZdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73Okc6SzpPOlM6VzpbOl86YzpnOms6b +zpzOnc6ezp/OoM6hzqPOpM6lzqbOp86ozqnvv73vv73vv73vv73vv73vv73vv73vv73Osc6yzrPO +tM61zrbOt864zrnOus67zrzOvc6+zr/PgM+Bz4PPhM+Fz4bPh8+Iz4nvv73vv73vv73vv73vv73v +v73vv73vuLXvuLbvuLnvuLrvuL/vuYDvuL3vuL7vuYHvuYLvuYPvuYTvv73vv73vuLvvuLzvuLfv +uLjvuLHvv73vuLPvuLTvv73vv73vv73vv73vv73vv73vv73vv73vv73vv70iLnNwbGl0KCIiKTtm +b3IoYT0wO2EhPXRbMTY2XS5sZW5ndGg7KythKWlmKHRbMTY2XVthXS5jaGFyQ29kZUF0KDApIT09 +NjU1MzMpe3JbdFsxNjZdW2FdXT00MjQ5NithO2VbNDI0OTYrYV09dFsxNjZdW2FdfXRbMTY3XT0i +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+90JDQkdCS0JPQlNCV0IHQltCX0JjQmdCa0JvQnNCd +0J7Qn9Cg0KHQotCj0KTQpdCm0KfQqNCp0KrQq9Cs0K3QrtCv77+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+90LDQsdCy0LPQtNC10ZHQttC30LjQudC60LvQvNC90L7Q +v9GA0YHRgtGD0YTRhdGG0YfRiNGJ0YrRi9GM0Y3RjtGP77+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE2N10ubGVuZ3RoOysr +YSlpZih0WzE2N11bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTY3XVthXV09NDI3NTIr +YTtlWzQyNzUyK2FdPXRbMTY3XVthXX10WzE2OF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vcuKy4vL +meKAk+KAleKApeKAteKEheKEieKGluKGl+KGmOKGmeKIleKIn+KIo+KJkuKJpuKJp+KKv+KVkOKV +keKVkuKVk+KVlOKVleKVluKVl+KVmOKVmeKVmuKVm+KVnOKVneKVnuKVn+KVoOKVoeKVouKVo+KV +pOKVpeKVpuKVp+KVqOKVqeKVquKVq+KVrOKVreKVruKVr+KVsOKVseKVsuKVs+KWgeKWguKWg+KW +hOKWheKWhuKWh++/veKWiOKWieKWiuKWi+KWjOKWjeKWjuKWj+KWk+KWlOKWleKWvOKWveKXouKX +o+KXpOKXpeKYieKKleOAkuOAneOAnu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vcSB +w6HHjsOgxJPDqcSbw6jEq8Otx5DDrMWNw7PHksOyxavDuseUw7nHlseYx5rHnMO8w6rJke+/vcWE +xYjvv73Joe+/ve+/ve+/ve+/veOEheOEhuOEh+OEiOOEieOEiuOEi+OEjOOEjeOEjuOEj+OEkOOE +keOEkuOEk+OElOOEleOEluOEl+OEmOOEmeOEmuOEm+OEnOOEneOEnuOEn+OEoOOEoeOEouOEo+OE +pOOEpeOEpuOEp+OEqOOEqe+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNjhdLmxl +bmd0aDsrK2EpaWYodFsxNjhdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE2OF1bYV1d +PTQzMDA4K2E7ZVs0MzAwOCthXT10WzE2OF1bYV19dFsxNjldPSLvv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73jgKHjgKLjgKPjgKTjgKXjgKbjgKfjgKjjgKnjiqPjjo7jjo/jjpzjjp3jjp7jjqHjj4Tjj47j +j5Hjj5Ljj5XvuLDvv6Lvv6Tvv73ihKHjiLHvv73igJDvv73vv73vv73jg7zjgpvjgpzjg73jg77j +gIbjgp3jgp7vuYnvuYrvuYvvuYzvuY3vuY7vuY/vuZDvuZHvuZLvuZTvuZXvuZbvuZfvuZnvuZrv +uZvvuZzvuZ3vuZ7vuZ/vuaDvuaHvv73vuaLvuaPvuaTvuaXvuabvuajvuanvuarvuavvv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73jgIfvv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73ilIDilIHilILilIPilITilIXilIbilIfilIjilInilIrilIvilIzi +lI3ilI7ilI/ilJDilJHilJLilJPilJTilJXilJbilJfilJjilJnilJrilJvilJzilJ3ilJ7ilJ/i +lKDilKHilKLilKPilKTilKXilKbilKfilKjilKnilKrilKvilKzilK3ilK7ilK/ilLDilLHilLLi +lLPilLTilLXilLbilLfilLjilLnilLrilLvilLzilL3ilL7ilL/ilYDilYHilYLilYPilYTilYXi +lYbilYfilYjilYnilYrilYvvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTY5XS5sZW5ndGg7KythKWlmKHRbMTY5 +XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNjldW2FdXT00MzI2NCthO2VbNDMyNjQr +YV09dFsxNjldW2FdfXRbMTcwXT0i77+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+954uc54ud54uf54ui54uj +54uk54ul54um54un54uq54ur54u154u254u554u954u+54u/54yA54yC54yE54yF54yG54yH54yI +54yJ54yL54yM54yN54yP54yQ54yR54yS54yU54yY54yZ54ya54yf54yg54yj54yk54ym54yn54yo +54yt54yv54yw54yy54yz54y154y254y654y754y854y9542A542B542C542D542E542F542G542H +542I77+9542J542K542L542M542O542P542R542T542U542V542W542Y542Z542a542b542c542d +542e542f542h542i542j542k542l542m542n542o542p542q542r542u542w542x77+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9Ii5zcGxpdCgi +Iik7Zm9yKGE9MDthIT10WzE3MF0ubGVuZ3RoOysrYSlpZih0WzE3MF1bYV0uY2hhckNvZGVBdCgw +KSE9PTY1NTMzKXtyW3RbMTcwXVthXV09NDM1MjArYTtlWzQzNTIwK2FdPXRbMTcwXVthXX10WzE3 +MV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veeNsueNs+eNtOeNteeNtueNt+eNuOeNueeNuueNu+eN +vOeNveeNv+eOgOeOgeeOgueOg+eOheeOhueOiOeOiueOjOeOjeeOj+eOkOeOkueOk+eOlOeOleeO +l+eOmOeOmeeOmueOnOeOneeOnueOoOeOoeeOo+eOpOeOpeeOpueOp+eOqOeOqueOrOeOreeOseeO +tOeOteeOtueOuOeOueeOvOeOveeOvueOv+ePgeePg+ePhOePheePhuePh++/veePi+ePjOePjueP +kuePk+ePlOePleePluePl+ePmOePmuePm+ePnOePneePn+ePoeePouePo+ePpOePpuePqOePqueP +q+ePrOePruePr+ePsOePseePs+ePtOePteePtuePt++/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsx +NzFdLmxlbmd0aDsrK2EpaWYodFsxNzFdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE3 +MV1bYV1dPTQzNzc2K2E7ZVs0Mzc3NithXT10WzE3MV1bYV19dFsxNzJdPSLvv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73nj7jnj7nnj7rnj7vnj7znj73nj77nj7/nkIDnkIHnkILnkITnkIfnkIjnkIvnkIzn +kI3nkI7nkJHnkJLnkJPnkJTnkJXnkJbnkJfnkJjnkJnnkJznkJ3nkJ7nkJ/nkKDnkKHnkKPnkKTn +kKfnkKnnkKvnkK3nkK/nkLHnkLLnkLfnkLjnkLnnkLrnkLvnkL3nkL7nkL/nkYDnkYLnkYPnkYTn +kYXnkYbnkYfnkYjnkYnnkYrnkYvnkYznkY3vv73nkY7nkY/nkZDnkZHnkZLnkZPnkZTnkZbnkZjn +kZ3nkaDnkaHnkaLnkaPnkaTnkaXnkabnkafnkajnkannkarnkavnkaznka7nka/nkbHnkbLnkbPn +kbTnkbXnkbjnkbnnkbrvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTcyXS5sZW5ndGg7KythKWlm +KHRbMTcyXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNzJdW2FdXT00NDAzMithO2Vb +NDQwMzIrYV09dFsxNzJdW2FdfXRbMTczXT0i77+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+955G755G855G9 +55G/55KC55KE55KF55KG55KI55KJ55KK55KM55KN55KP55KR55KS55KT55KU55KV55KW55KX55KY +55KZ55Ka55Kb55Kd55Kf55Kg55Kh55Ki55Kj55Kk55Kl55Km55Kq55Kr55Ks55Kt55Ku55Kv55Kw +55Kx55Ky55Kz55K055K155K255K355K455K555K755K855K955K+55K/55OA55OB55OC55OD55OE +55OF55OG55OH77+955OI55OJ55OK55OL55OM55ON55OO55OP55OQ55OR55OT55OU55OV55OW55OX +55OY55OZ55Oa55Ob55Od55Of55Oh55Ol55On55Oo55Op55Oq55Or55Os55Ot55Ow55Ox55Oy77+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9Ii5z +cGxpdCgiIik7Zm9yKGE9MDthIT10WzE3M10ubGVuZ3RoOysrYSlpZih0WzE3M11bYV0uY2hhckNv +ZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTczXVthXV09NDQyODgrYTtlWzQ0Mjg4K2FdPXRbMTczXVth +XX10WzE3NF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veeTs+eTteeTuOeTueeTuueTu+eTvOeTveeT +vueUgOeUgeeUgueUg+eUheeUhueUh+eUiOeUieeUiueUi+eUjOeUjueUkOeUkueUlOeUleeUlueU +l+eUm+eUneeUnueUoOeUoeeUoueUo+eUpOeUpueUp+eUqueUrueUtOeUtueUueeUvOeUveeUv+eV +geeVgueVg+eVhOeVhueVh+eVieeViueVjeeVkOeVkeeVkueVk+eVleeVlueVl+eVmO+/veeVneeV +nueVn+eVoOeVoeeVoueVo+eVpOeVp+eVqOeVqeeVq+eVrOeVreeVrueVr+eVsOeVseeVs+eVteeV +tueVt+eVuueVu+eVvOeVveeVvueWgOeWgeeWgueWhOeWheeWh++/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7 +YSE9dFsxNzRdLmxlbmd0aDsrK2EpaWYodFsxNzRdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7 +clt0WzE3NF1bYV1dPTQ0NTQ0K2E7ZVs0NDU0NCthXT10WzE3NF1bYV19dFsxNzVdPSLvv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73nlojnlonnlornloznlo3nlo7nlpDnlpPnlpXnlpjnlpvnlpznlp7nlqLn +lqbnlqfnlqjnlqnnlqrnlq3nlrbnlrfnlrrnlrvnlr/nl4Dnl4Hnl4bnl4vnl4znl47nl4/nl5Dn +l5Hnl5Pnl5fnl5nnl5rnl5znl53nl5/nl6Dnl6Hnl6Xnl6nnl6znl63nl67nl6/nl7Lnl7Pnl7Xn +l7bnl7fnl7jnl7rnl7vnl73nl77nmILnmITnmIbnmIfvv73nmIjnmInnmIvnmI3nmI7nmI/nmJHn +mJLnmJPnmJTnmJbnmJrnmJznmJ3nmJ7nmKHnmKPnmKfnmKjnmKznmK7nmK/nmLHnmLLnmLbnmLfn +mLnnmLrnmLvnmL3nmYHnmYLnmYTvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTc1XS5sZW5ndGg7 +KythKWlmKHRbMTc1XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNzVdW2FdXT00NDgw +MCthO2VbNDQ4MDArYV09dFsxNzVdW2FdfXRbMTc2XT0i77+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+955mF +55mG55mH55mI55mJ55mK55mL55mO55mP55mQ55mR55mS55mT55mV55mX55mY55mZ55ma55mb55md +55mf55mg55mh55mi55mk55ml55mm55mn55mo55mp55mq55ms55mt55mu55mw55mx55my55mz55m0 +55m155m255m355m555m655m855m/55qA55qB55qD55qF55qJ55qK55qM55qN55qP55qQ55qS55qU +55qV55qX55qY55qa55qb77+955qc55qd55qe55qf55qg55qh55qi55qj55ql55qm55qn55qo55qp +55qq55qr55qs55qt55qv55qw55qz55q155q255q355q455q555q655q755q855q955q+55uA55uB +55uD5ZWK6Zi/5Z+D5oyo5ZOO5ZSJ5ZOA55qR55mM6JS855+u6Im+56KN54ix6ZqY6Z6N5rCo5a6J +5L+65oyJ5pqX5bK46IO65qGI6IKu5piC55uO5Ye55pWW54as57+x6KKE5YKy5aWl5oeK5r6z6Iqt +5o2M5omS5Y+t5ZCn56yG5YWr55ak5be05ouU6LeL6Z225oqK6ICZ5Z2d6Zy4572i54i455m95p+P +55m+5pGG5L2w6LSl5ouc56iX5paR54+t5pCs5omz6Iis6aKB5p2/54mI5omu5ouM5Ly055Oj5Y2K +5Yqe57uK6YKm5biu5qKG5qac6IaA57uR5qOS56OF6JqM6ZWR5YKN6LCk6Iue6IOe5YyF6KSS5Yml +77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE3Nl0ubGVuZ3RoOysrYSlpZih0WzE3Nl1bYV0u +Y2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTc2XVthXV09NDUwNTYrYTtlWzQ1MDU2K2FdPXRb +MTc2XVthXX10WzE3N109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veebhOebh+ebieebi+ebjOebk+eb +leebmeebmuebnOebneebnueboOeboeebouebo+ebpOebpuebp+ebqOebqeebquebq+ebrOebreeb +sOebs+ebteebtuebt+ebuuebu+ebveebv+ecgOecguecg+echeechueciuecjOecjuecj+eckOec +keeckueck+eclOecleecluecl+ecmOecm+ecnOecneecnuecoeeco+ecpOecpeecp+ecquecq++/ +veecrOecruecsOecseecsuecs+ectOecueecu+ecveecvuecv+edguedhOedheedhuediOedieed +iuedi+edjOedjeedjuedj+edkuedk+edlOedleedluedl+edmOedmeednOiWhOmbueS/neWgoeml +seWuneaKseaKpeaatOixuemyjeeIhuadr+eikeaCsuWNkeWMl+i+iOiDjOi0nemSoeWAjeeLiOWk +h+aDq+eEmeiiq+WllOiLr+acrOesqOW0qee7t+eUreaztei5pui/uOmAvOm8u+avlOmEmeeslOW9 +vOeip+iTluiUveavleavmeavluW4geW6h+eXuemXreaVneW8iuW/hei+n+WjgeiHgumBv+mZm+me +rei+uee8lui0rOaJgeS+v+WPmOWNnui+qOi+qei+q+mBjeagh+W9quiGmOihqOmzluaGi+WIq+eY +quW9rOaWjOa/kua7qOWuvuaRiOWFteWGsOafhOS4meeniemlvOeCs++/vSIuc3BsaXQoIiIpO2Zv +cihhPTA7YSE9dFsxNzddLmxlbmd0aDsrK2EpaWYodFsxNzddW2FdLmNoYXJDb2RlQXQoMCkhPT02 +NTUzMyl7clt0WzE3N11bYV1dPTQ1MzEyK2E7ZVs0NTMxMithXT10WzE3N11bYV19dFsxNzhdPSLv +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73nnZ3nnZ7nnZ/nnaDnnaTnnafnnannnarnna3nna7nna/nnbDn +nbHnnbLnnbPnnbTnnbXnnbbnnbfnnbjnnbrnnbvnnbznnoHnnoLnnoPnnobnnofnnojnnonnnorn +novnno/nnpDnnpPnnpTnnpXnnpbnnpfnnpjnnpnnnprnnpvnnpznnp3nnp7nnqHnnqPnnqTnnqbn +nqjnnqvnnq3nnq7nnq/nnrHnnrLnnrTnnrbnnrfnnrjnnrnnnrrvv73nnrznnr7nn4Dnn4Hnn4Ln +n4Pnn4Tnn4Xnn4bnn4fnn4jnn4nnn4rnn4vnn4znn47nn4/nn5Dnn5Hnn5Lnn5Pnn5Tnn5Xnn5bn +n5jnn5nnn5rnn53nn57nn5/nn6Dnn6Hnn6Tnl4Xlubbnjrvoj6Dmkq3mi6jpkrXms6LljZrli4Pm +kI/pk4LnrpTkvK/luJvoiLbohJbohormuKTms4rpqbPmjZXljZzlk7rooaXln6DkuI3luIPmraXn +sL/pg6jmgJbmk6bnjJzoo4HmnZDmiY3otKLnnazouKnph4flvanoj5zolKHppJDlj4LompXmrovm +g63mg6jngb/oi43oiLHku5Pmsqfol4/mk43ns5nmp73mm7nojYnljpXnrZbkvqflhozmtYvlsYLo +ua3mj5Llj4nojKzojLbmn6XnorTmkL3lr5/lspTlt67or6fmi4bmn7TosbrmkIDmjrronYnppovo +sJfnvKDpk7LkuqfpmJDpoqTmmIznjJbvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTc4XS5s +ZW5ndGg7KythKWlmKHRbMTc4XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNzhdW2Fd +XT00NTU2OCthO2VbNDU1NjgrYV09dFsxNzhdW2FdfXRbMTc5XT0i77+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+955+m55+o55+q55+v55+w55+x55+y55+055+155+355+555+655+755+856CD56CE56CF56CG +56CH56CI56CK56CL56CO56CP56CQ56CT56CV56CZ56Cb56Ce56Cg56Ch56Ci56Ck56Co56Cq56Cr +56Cu56Cv56Cx56Cy56Cz56C156C256C956C/56GB56GC56GD56GE56GG56GI56GJ56GK56GL56GN +56GP56GR56GT56GU56GY56GZ56Ga77+956Gb56Gc56Ge56Gf56Gg56Gh56Gi56Gj56Gk56Gl56Gm +56Gn56Go56Gp56Gv56Gw56Gx56Gy56Gz56G056G156G256G456G556G656G756G956G+56G/56KA +56KB56KC56KD5Zy65bCd5bi46ZW/5YG/6IKg5Y6C5pWe55WF5ZSx5YCh6LaF5oqE6ZKe5pyd5Ziy +5r2u5bei5ZC154KS6L2m5omv5pKk5o6j5b275r6I6YO06Iej6L6w5bCY5pmo5b+x5rKJ6ZmI6LaB +6KGs5pKR56ew5Z+O5qmZ5oiQ5ZGI5LmY56iL5oOp5r6E6K+a5om/6YCe6aqL56ek5ZCD55e05oyB +5YyZ5rGg6L+f5byb6amw6IC76b2/5L6I5bC66LWk57+F5pal54K95YWF5Yay6Jmr5bSH5a6g5oq9 +6YWs55W06LiM56ig5oSB56255LuH57u4556F5LiR6Iet5Yid5Ye65qmx5Y6o6LqH6ZSE6ZuP5ruB +6Zmk5qWa77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE3OV0ubGVuZ3RoOysrYSlpZih0WzE3 +OV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTc5XVthXV09NDU4MjQrYTtlWzQ1ODI0 +K2FdPXRbMTc5XVthXX10WzE4MF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veeihOeiheeihueiiOei +iueii+eij+eikOeikueilOeileeilueimeeineeinueioOeioueipOeipueiqOeiqeeiqueiq+ei +rOeireeirueir+eiteeitueit+eiuOeiuueiu+eivOeiveeiv+ejgOejguejg+ejhOejhuejh+ej +iOejjOejjeejjuejj+ejkeejkuejk+ejluejl+ejmOejmuejm+ejnOejneejnuejn+ejoOejoeej +ouejo++/veejpOejpeejpuejp+ejqeejquejq+ejreejruejr+ejsOejseejs+ejteejtuejuOej +ueeju+ejvOejveejvuejv+ekgOekguekg+ekhOekhuekh+ekiOekieekiueki+ekjOehgOWCqOef +l+aQkOinpuWkhOaPo+W3neepv+akveS8oOiIueWWmOS4sueWrueql+W5ouW6iumXr+WIm+WQueeC +iuaNtumUpOWeguaYpeakv+mGh+WUh+a3s+e6r+igouaIs+e7sOeWteiMqOejgembjOi+nuaFiOeT +t+ivjeatpOWIuui1kOasoeiBquiRseWbseWMhuS7juS4m+WHkeeyl+mGi+ewh+S/g+i5v+evoeeq +nOaRp+W0lOWCrOiEhueYgeeyuea3rOe/oOadkeWtmOWvuOeji+aSruaQk+aOquaMq+mUmeaQrei+ +vuetlOeYqeaJk+Wkp+WRhuatueWCo+aItOW4puauhuS7o+i0t+iii+W+hemAru+/vSIuc3BsaXQo +IiIpO2ZvcihhPTA7YSE9dFsxODBdLmxlbmd0aDsrK2EpaWYodFsxODBdW2FdLmNoYXJDb2RlQXQo +MCkhPT02NTUzMyl7clt0WzE4MF1bYV1dPTQ2MDgwK2E7ZVs0NjA4MCthXT10WzE4MF1bYV19dFsx +ODFdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73npI3npI7npI/npJDnpJHnpJLnpJTnpJXnpJbnpJfn +pJjnpJnnpJrnpJvnpJznpJ3npJ/npKDnpKHnpKLnpKPnpKXnpKbnpKfnpKjnpKnnpKrnpKvnpKzn +pK3npK7npK/npLDnpLHnpLLnpLPnpLXnpLbnpLfnpLjnpLnnpL3npL/npYLnpYPnpYTnpYXnpYfn +pYrnpYvnpYznpY3npY7npY/npZDnpZHnpZLnpZTnpZXnpZjnpZnnpaHnpaPvv73npaTnpabnpann +parnpavnpaznpa7npbDnpbHnpbLnpbPnpbTnpbXnpbbnpbnnpbvnpbznpb3npb7npb/npoLnpoPn +pobnpofnpojnponnpovnpoznpo3npo7nppDnppHnppLmgKDogL3mi4XkuLnljZXpg7jmjrjog4bm +l6bmsK7kvYbmg67mt6Hor57lvLnom4vlvZPmjKHlhZrojaHmoaPliIDmjaPouYjlgJLlspvnpbfl +r7zliLDnqLvmgrzpgZPnm5flvrflvpfnmoTouaznga/nmbvnrYnnnqrlh7PpgpPloKTkvY7mu7To +v6rmlYznrJvni4TmtqTnv5/lq6HmirXlupXlnLDokoLnrKzluJ3lvJ/pgJLnvJTpoqDmjoLmu4fn +opjngrnlhbjpnZvlnqvnlLXkvYPnlLjlupfmg6blpaDmt4Dmrr/noonlj7zpm5Xlh4vliIHmjonl +kIrpkpPosIPot4zniLnnop/onbbov63osI3lj6Dvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRb +MTgxXS5sZW5ndGg7KythKWlmKHRbMTgxXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsx +ODFdW2FdXT00NjMzNithO2VbNDYzMzYrYV09dFsxODFdW2FdfXRbMTgyXT0i77+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+956aT56aU56aV56aW56aX56aY56aZ56ab56ac56ad56ae56af56ag56ah56ai56aj +56ak56al56am56ao56ap56aq56ar56as56at56au56av56aw56ax56ay56a056a156a256a356a4 +56a856a/56eC56eE56eF56eH56eI56eK56eM56eO56eP56eQ56eT56eU56eW56eX56eZ56ea56eb +56ec56ed56ee56eg56eh56ei56el56eo56eq77+956es56eu56ex56ey56ez56e056e156e256e3 +56e556e656e856e+56e/56iB56iE56iF56iH56iI56iJ56iK56iM56iP56iQ56iR56iS56iT56iV +56iW56iY56iZ56ib56ic5LiB55uv5Y+u6ZKJ6aG26byO6ZSt5a6a6K6i5Lii5Lic5Yas6JGj5oeC +5Yqo5qCL5L6X5oGr5Ya75rSe5YWc5oqW5paX6Zmh6LGG6YCX55eY6YO9552j5q+S54qK54us6K+7 +5aC155256LWM5p2c6ZWA6IKa5bqm5rih5aaS56uv55+t6ZS75q615pat57yO5aCG5YWR6Zif5a+5 +5aKp5ZCo6Lmy5pWm6aG/5Zuk6ZKd55u+6YGB5o6H5ZOG5aSa5aS65Z6b6Lqy5py16Le66Ii15YmB +5oOw5aCV6Ju+5bOo6bmF5L+E6aKd6K655ail5oG25Y6E5om86YGP6YSC6aW/5oGp6ICM5YS/6ICz +5bCU6aW15rSx5LqM77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE4Ml0ubGVuZ3RoOysrYSlp +Zih0WzE4Ml1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTgyXVthXV09NDY1OTIrYTtl +WzQ2NTkyK2FdPXRbMTgyXVthXX10WzE4M109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veeoneeon+eo +oeeooueopOeopeeopueop+eoqOeoqeeoqueoq+eorOeoreeorueor+eosOeoseeosueotOeoteeo +tueouOeouueovuepgOepgeepguepg+ephOepheeph+epiOepieepiuepi+epjOepjeepjuepj+ep +kOepkuepk+eplOepleepluepmOepmeepmuepm+epnOepneepnuepn+epoOepoeepouepo+eppOep +peeppuepp+epqO+/veepqeepquepq+eprOepreepruepr+epseepsueps+epteepu+epvOepveep +vueqgueqheeqh+eqieeqiueqi+eqjOeqjueqj+eqkOeqk+eqlOeqmeeqmueqm+eqnueqoeeqoui0 +sOWPkee9muetj+S8kOS5j+mYgOazleePkOiXqeW4hueVque/u+aoiuefvumSkue5geWHoeeDpuWP +jei/lOiMg+i0qeeKr+mlreazm+WdiuiKs+aWueiCquaIv+mYsuWmqOS7v+iuv+e6uuaUvuiPsumd +nuWVoemjnuiCpeWMquivveWQoOiCuuW6n+ayuOi0ueiKrOmFmuWQqeawm+WIhue6t+Wdn+eEmuax +vueyieWli+S7veW/v+aEpOeyquS4sOWwgeaeq+icguWzsOmUi+mjjueWr+eDvemAouWGr+e8neiu +veWlieWHpOS9m+WQpuWkq+aVt+iCpOWtteaJtuaLgui+kOW5heawn+espuS8j+S/mOacje+/vSIu +c3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxODNdLmxlbmd0aDsrK2EpaWYodFsxODNdW2FdLmNoYXJD +b2RlQXQoMCkhPT02NTUzMyl7clt0WzE4M11bYV1dPTQ2ODQ4K2E7ZVs0Njg0OCthXT10WzE4M11b +YV19dFsxODRdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73nqqPnqqTnqqfnqqnnqqrnqqvnqq7nqq/n +qrDnqrHnqrLnqrTnqrXnqrbnqrfnqrjnqrnnqrrnqrvnqrznqr3nqr7nq4Dnq4Hnq4Lnq4Pnq4Tn +q4Xnq4bnq4fnq4jnq4nnq4rnq4znq43nq47nq4/nq5Dnq5Hnq5Lnq5Pnq5Tnq5Xnq5fnq5jnq5rn +q5vnq5znq53nq6Hnq6Lnq6Tnq6fnq6jnq6nnq6rnq6vnq6znq67nq7Dnq7Hnq7Lnq7Pvv73nq7Tn +q7Xnq7bnq7fnq7jnq7vnq7znq77nrIDnrIHnrILnrIXnrIfnrInnrIznrI3nrI7nrJDnrJLnrJPn +rJbnrJfnrJjnrJrnrJznrJ3nrJ/nrKHnrKLnrKPnrKfnrKnnrK3mta7mtqrnpo/oorHlvJfnlKvm +iprovoXkv6/ph5zmlqfohK/ohZHlupzohZDotbTlia/opobotYvlpI3lgoXku5jpmJzniLbohbno +tJ/lr4zorqPpmYTlpofnvJrlkpDlmbblmI7or6XmlLnmpoLpkpnnm5bmuonlubLnlJjmnYbmn5Hn +q7/ogp3otbbmhJ/np4bmlaLotaPlhojliJrpkqLnvLjogpvnurLlspfmuK/mnaDnr5nnmovpq5jo +ho/nvpTns5XmkJ7plZDnqL/lkYrlk6XmrYzmkIHmiIjpuL3og7PnlpnlibLpnanokZvmoLzom6Tp +mIHpmpTpk6zkuKrlkITnu5nmoLnot5/ogJXmm7Tluprnvrnvv70iLnNwbGl0KCIiKTtmb3IoYT0w +O2EhPXRbMTg0XS5sZW5ndGg7KythKWlmKHRbMTg0XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMp +e3JbdFsxODRdW2FdXT00NzEwNCthO2VbNDcxMDQrYV09dFsxODRdW2FdfXRbMTg1XT0i77+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+956yv56yw56yy56y056y156y256y356y556y756y956y/562A562B562C +562D562E562G562I562K562N562O562T562V562X562Z562c562e562f562h562j562k562l562m +562n562o562p562q562r562s562t562v562w562z562056225624562656285629562/566B566C +566D566E566G566H566I566J566K566L566M566O566P77+9566R566S566T566W566Y566Z566a +566b566e566f566g566j566k566l566u566v566w566y566z5661566256635665566656675668 +5669566+566/56+A56+C56+D56+E5Z+C6IC/5qKX5bel5pS75Yqf5oGt6b6a5L6b6Lqs5YWs5a6r +5byT5bep5rGe5oux6LSh5YWx6ZKp5Yu+5rKf6Iuf54uX5Z6i5p6E6LSt5aSf6L6c6I+H5ZKV566N +5Lyw5rK95a2k5aeR6byT5Y+k6JuK6aqo6LC36IKh5pWF6aG+5Zu66ZuH5Yiu55Oc5YmQ5a+h5oyC +6KSC5LmW5ouQ5oCq5qO65YWz5a6Y5Yag6KeC566h6aaG572Q5oOv54GM6LSv5YWJ5bm/6YCb55Gw +6KeE5Zyt56GF5b2S6b6f6Ze66L2o6ay86K+h55m45qGC5p+c6Leq6LS15Yi96L6K5rua5qON6ZSF +6YOt5Zu95p6c6KO56L+H5ZOI77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE4NV0ubGVuZ3Ro +OysrYSlpZih0WzE4NV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTg1XVthXV09NDcz +NjArYTtlWzQ3MzYwK2FdPXRbMTg1XVthXX10WzE4Nl09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veev +heeviOevieeviuevi+evjeevjuevj+evkOevkuevlOevleevluevl+evmOevm+evnOevnuevn+ev +oOevouevo+evpOevp+evqOevqeevq+evrOevreevr+evsOevsuevs+evtOevteevtuevuOevueev +uuevu+evveevv+ewgOewgeewguewg+ewhOewheewhuewiOewieewiuewjeewjuewkOewkeewkuew +k+ewlOewleewl+ewmOewme+/veewmuewm+ewnOewneewnuewoOewoeewouewo+ewpOewpeewqOew +qeewq+ewrOewreewruewr+ewsOewseewsuews+ewtOewteewtuewt+ewueewuuewu+ewvOewveew +vuexgumquOWtqea1t+awpuS6peWus+mqh+mFo+aGqOmCr+mfqeWQq+a2teWvkuWHveWWiue9lee/ +sOaSvOaNjeaXseaGvuaCjeeEiuaxl+axieWkr+adreiIquWjleWajuixquavq+mDneWlveiAl+WP +t+a1qeWRteWWneiNt+iPj+aguOemvuWSjOS9leWQiOebkuiyiemYguays+a2uOi1q+ikkOm5pOi0 +uuWYv+m7keeXleW+iOeLoOaBqOWTvOS6qOaoquihoeaBkui9sOWThOeDmOiZuem4v+a0quWuj+W8 +mOe6ouWWieS+r+eMtOWQvOWOmuWAmeWQjuWRvOS5juW/veeRmuWjtuiRq+iDoeidtOeLkOeziua5 +lu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxODZdLmxlbmd0aDsrK2EpaWYodFsxODZdW2Fd +LmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE4Nl1bYV1dPTQ3NjE2K2E7ZVs0NzYxNithXT10 +WzE4Nl1bYV19dFsxODddPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73nsYPnsYTnsYXnsYbnsYfnsYjn +sYnnsYrnsYvnsYznsY7nsY/nsZDnsZHnsZLnsZPnsZTnsZXnsZbnsZfnsZjnsZnnsZrnsZvnsZzn +sZ3nsZ7nsZ/nsaDnsaHnsaLnsaPnsaTnsaXnsabnsafnsajnsannsarnsavnsaznsa3nsa7nsa/n +sbDnsbHnsbLnsbXnsbbnsbfnsbjnsbnnsbrnsb7nsb/nsoDnsoHnsoLnsoPnsoTnsoXnsobnsofv +v73nsojnsornsovnsoznso3nso7nso/nspDnspPnspTnspbnspnnsprnspvnsqDnsqHnsqPnsqbn +sqfnsqjnsqnnsqvnsqznsq3nsq/nsrDnsrTnsrXnsrbnsrfnsrjnsrrnsrvlvKfomY7llKzmiqTk +upLmsqrmiLfoirHlk5fljY7njL7mu5HnlLvliJLljJbor53mp5DlvormgIDmt67lnY/mrKLnjq/m +oZPov5jnvJPmjaLmgqPllKTnl6rosaLnhJXmtqPlrqblubvojZLmhYzpu4Tno7ronZfnsKfnmofl +h7Dmg7bnhYzmmYPluYzmgY3osI7ngbDmjKXovonlvr3mgaLom5Tlm57mr4HmgpTmhafljYnmg6Dm +mabotL/np73kvJrng6nmsYforrPor7Lnu5jojaTmmI/lqZrprYLmtZHmt7fosYHmtLvkvJnngavo +jrfmiJbmg5HpnI3otKfnpbjlh7vlnL7ln7rmnLrnlbjnqL3np6/nrpXvv70iLnNwbGl0KCIiKTtm +b3IoYT0wO2EhPXRbMTg3XS5sZW5ndGg7KythKWlmKHRbMTg3XVthXS5jaGFyQ29kZUF0KDApIT09 +NjU1MzMpe3JbdFsxODddW2FdXT00Nzg3MithO2VbNDc4NzIrYV09dFsxODddW2FdfXRbMTg4XT0i +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+957K/57OA57OC57OD57OE57OG57OJ57OL57OO57OP57OQ57OR +57OS57OT57OU57OY57Oa57Ob57Od57Oe57Oh57Oi57Oj57Ok57Ol57Om57On57Op57Oq57Or57Os +57Ot57Ou57Ow57Ox57Oy57Oz57O057O157O257O357O557O657O857O957O+57O/57SA57SB57SC +57SD57SE57SF57SG57SH57SI57SJ57SL57SM57SN57SO57SP57SQ77+957SR57SS57ST57SU57SV +57SW57SX57SY57SZ57Sa57Sb57Sc57Sd57Se57Sf57Sh57Sj57Sk57Sl57Sm57So57Sp57Sq57Ss +57St57Su57Sw57Sx57Sy57Sz57S057S157S26IKM6aWl6L+55r+A6K6l6bih5aes57up57yJ5ZCJ +5p6B5qOY6L6R57GN6ZuG5Y+K5oCl55a+5rGy5Y2z5auJ57qn5oyk5Yeg6ISK5bex6JOf5oqA5YaA +5a2j5LyO56Wt5YmC5oK45rWO5a+E5a+C6K6h6K6w5pei5b+M6ZmF5aaT57un57qq5ZiJ5p635aS5 +5L2z5a625Yqg6I2a6aKK6LS+55Sy6ZK+5YGH56i85Lu35p626am+5auB5q2855uR5Z2a5bCW56y6 +6Ze054WO5YW86IKp6Imw5aW457yE6Iyn5qOA5p+s56Kx56G35ouj5o2h566A5L+t5Ymq5YeP6I2Q +5qeb6Ym06Le16LSx6KeB6ZSu566t5Lu277+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE4OF0u +bGVuZ3RoOysrYSlpZih0WzE4OF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTg4XVth +XV09NDgxMjgrYTtlWzQ4MTI4K2FdPXRbMTg4XVthXX10WzE4OV09Iu+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/vee0t+e0uOe0uee0uue0u+e0vOe0vee0vue0v+e1gOe1gee1gue1g+e1hOe1hee1hue1h+e1 +iOe1iee1iue1i+e1jOe1jee1jue1j+e1kOe1kee1kue1k+e1lOe1lee1lue1l+e1mOe1mee1mue1 +m+e1nOe1nee1nue1n+e1oOe1oee1oue1o+e1pOe1pee1pue1p+e1qOe1qee1que1q+e1rOe1ree1 +r+e1sOe1see1sue1s+e1tOe1tee1tu+/vee1uOe1uee1uue1u+e1vOe1vee1vue1v+e2gOe2gee2 +gue2g+e2hOe2hee2hue2h+e2iOe2iee2iue2i+e2jOe2jee2jue2j+e2kOe2kee2kue2k+e2lOe2 +lee2lue2l+e2mOWBpeiIsOWJkemlr+a4kOa6hea2p+W7uuWDteWnnOWwhua1huaxn+eWhuiSi+ah +qOWlluiusuWMoOmFsemZjeiVieakkuekgeeEpuiDtuS6pOmDiua1h+mqhOWoh+WavOaQhemTsOef +q+S+peiEmueLoeinkumluue8tOe7nuWJv+aVmemFtei9v+i+g+WPq+eqluaPreaOpeeahuenuOih +l+mYtuaIquWKq+iKguahlOadsOaNt+edq+errea0gee7k+ino+WnkOaIkuiXieiKpeeVjOWAn+S7 +i+eWpeivq+WxiuW3vueti+aWpOmHkeS7iua0peiln+e0p+mUpuS7heiwqOi/m+mds+aZi+emgei/ +keeDrOa1uO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxODldLmxlbmd0aDsrK2EpaWYodFsx +ODldW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE4OV1bYV1dPTQ4Mzg0K2E7ZVs0ODM4 +NCthXT10WzE4OV1bYV19dFsxOTBdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73ntpnntprntpvntpzn +tp3ntp7ntp/ntqDntqHntqLntqPntqTntqXntqfntqjntqnntqrntqvntqzntq3ntq/ntrDntrHn +trLntrPntrTntrXntrbntrfntrjntrnntrrntrvntrzntr3ntr7ntr/nt4Dnt4Hnt4Lnt4Pnt4Tn +t4Xnt4bnt4fnt4jnt4nnt4rnt4vnt4znt43nt47nt4/nt5Dnt5Hnt5Lnt5Pnt5Tnt5Xnt5bnt5fn +t5jnt5nvv73nt5rnt5vnt5znt53nt57nt5/nt6Dnt6Hnt6Lnt6Pnt6Tnt6Xnt6bnt6fnt6jnt6nn +t6rnt6vnt6znt63nt67nt6/nt7Dnt7Hnt7Lnt7Pnt7Tnt7Xnt7bnt7fnt7jnt7nnt7rlsL3lirLo +jYblhaLojI7nnZvmmbbpsrjkuqzmg4rnsr7nsrPnu4/kupXorabmma/poojpnZnlooPmlazplZzl +voTnl4npnZbnq5/nq57lh4Dngq/nqpjmj6rnqbbnuqDnjpbpn63kuYXngbjkuZ3phZLljqnmlZHm +l6foh7zoiIXlko7lsLHnlprpnqDmi5jni5nnlr3lsYXpqbnoj4rlsYDlkoDnn6nkuL7msq7ogZrm +i5Lmja7lt6jlhbfot53ouJ7plK/kv7Hlj6Xmg6fngqzliafmjZDpuYPlqJ/lgKbnnLfljbfnu6Lm +koXmlKvmionmjpjlgJTniLXop4nlhrPor4Dnu53lnYfoj4zpkqflhpvlkJvls7vvv70iLnNwbGl0 +KCIiKTtmb3IoYT0wO2EhPXRbMTkwXS5sZW5ndGg7KythKWlmKHRbMTkwXVthXS5jaGFyQ29kZUF0 +KDApIT09NjU1MzMpe3JbdFsxOTBdW2FdXT00ODY0MCthO2VbNDg2NDArYV09dFsxOTBdW2FdfXRb +MTkxXT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+957e757e857e957e+57e/57iA57iB57iC57iD57iE +57iF57iG57iH57iI57iJ57iK57iL57iM57iN57iO57iP57iQ57iR57iS57iT57iU57iV57iW57iX +57iY57iZ57ia57ib57ic57id57ie57if57ig57ih57ii57ij57ik57il57im57in57io57ip57iq +57ir57is57it57iu57iv57iw57ix57iy57iz57i057i157i257i357i457i577+957i657i857i9 +57i+57i/57mA57mC57mD57mE57mF57mG57mI57mJ57mK57mL57mM57mN57mO57mP57mQ57mR57mS +57mT57mU57mV57mW57mX57mY57mZ57ma57mb57mc57md5L+K56uj5rWa6YOh6aqP5ZaA5ZKW5Y2h +5ZKv5byA5o+p5qW35Yev5oWo5YiK5aCq5YuY5Z2O56CN55yL5bq35oW357Og5omb5oqX5Lqi54KV +6ICD5ou354Ok6Z2g5Z236Iub5p+v5qO156OV6aKX56eR5aOz5ZKz5Y+v5ri05YWL5Yi75a6i6K++ +6IKv5ZWD5Z6m5oGz5Z2R5ZCt56m65oGQ5a2U5o6n5oqg5Y+j5omj5a+H5p6v5ZOt56qf6Ium6YW3 +5bqT6KOk5aS45Z6u5oyO6Leo6IOv5Z2X56235L6p5b+r5a695qy+5Yyh562Q54uC5qGG55+/55y2 +5pe35Ya15LqP55uU5bK/56ql6JG15aWO6a2B5YKA77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10 +WzE5MV0ubGVuZ3RoOysrYSlpZih0WzE5MV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3Rb +MTkxXVthXV09NDg4OTYrYTtlWzQ4ODk2K2FdPXRbMTkxXVthXX10WzE5Ml09Iu+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/vee5nue5n+e5oOe5oee5oue5o+e5pOe5pee5pue5p+e5qOe5qee5que5q+e5rOe5 +ree5rue5r+e5sOe5see5sue5s+e5tOe5tee5tue5t+e5uOe5uee5uue5u+e5vOe5vee5vue5v+e6 +gOe6gee6g+e6hOe6hee6hue6h+e6iOe6iee6iue6i+e6jOe6jee6jue6j+e6kOe6kee6kue6k+e6 +lOe6lee6lue6l+e6mOe6mee6mue6nOe6nee6nu+/vee6rue6tOe6u+e6vOe7lue7pOe7rOe7uee8 +iue8kOe8nue8t+e8uee8u+e8vOe8vee8vue8v+e9gOe9gee9g+e9hue9h+e9iOe9iee9iue9i+e9 +jOe9jee9jue9j+e9kue9k+mmiOaEp+a6g+WdpOaYhuaNhuWbsOaLrOaJqeW7k+mYlOWeg+aLieWW +h+icoeiFiui+o+WVpuiOseadpei1luiTneWpquagj+aLpuevrumYkeWFsOa+nOiwsOaPveiniOaH +kue8hueDgua7peeQheamlOeLvOW7iumDjuacl+a1quaNnuWKs+eJouiAgeS9rOWnpemFqueDmea2 +neWLkuS5kOmbt+mVreiVvuejiue0r+WEoeWekuaTguiCi+exu+azquajsealnuWGt+WOmOaiqOeK +gem7juevseeLuOemu+a8k+eQhuadjumHjOmypOekvOiOieiNlOWQj+agl+S4veWOieWKseegvuWO +huWIqeWCiOS+i+S/kO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxOTJdLmxlbmd0aDsrK2Ep +aWYodFsxOTJdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE5Ml1bYV1dPTQ5MTUyK2E7 +ZVs0OTE1MithXT10WzE5Ml1bYV19dFsxOTNdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73nvZbnvZnn +vZvnvZznvZ3nvZ7nvaDnvaPnvaTnvaXnvabnvafnvavnvaznva3nva/nvbDnvbPnvbXnvbbnvbfn +vbjnvbrnvbvnvbznvb3nvb/nvoDnvoLnvoPnvoTnvoXnvobnvofnvojnvonnvovnvo3nvo/nvpDn +vpHnvpLnvpPnvpXnvpbnvpfnvpjnvpnnvpvnvpznvqDnvqLnvqPnvqXnvqbnvqjnvqnnvqrnvqvn +vqznvq3nvq7nvrHvv73nvrPnvrTnvrXnvrbnvrfnvrrnvrvnvr7nv4Dnv4Lnv4Pnv4Tnv4bnv4fn +v4jnv4nnv4vnv43nv4/nv5Dnv5Hnv5Lnv5Pnv5bnv5fnv5nnv5rnv5vnv5znv53nv57nv6Lnv6Pn +l6Lnq4vnspLmsqXpmrblipvnkoPlk6nkv6nogZTojrLov57plbDlu4nmgJzmtp/luJjmlZvohLjp +k77mgYvngrznu4Pnsq7lh4nmooHnsrHoia/kuKTovobph4/mmb7kuq7osIXmkqnogYrlg5rnlpfn +h47lr6Xovr3mvabkuobmkoLplaPlu5bmlpnliJfoo4Lng4jliqPnjI7nkLPmnpfno7fpnJbkuLTp +grvps57mt4vlh5votYHlkJ3mi47njrLoj7Hpm7bpvoTpk4PkvLbnvprlh4zngbXpmbXlsq3poobl +j6bku6TmupznkInmprTnoavppo/nlZnliJjnmKTmtYHmn7Plha3pvpnogYvlkpnnrLznqr/vv70i +LnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTkzXS5sZW5ndGg7KythKWlmKHRbMTkzXVthXS5jaGFy +Q29kZUF0KDApIT09NjU1MzMpe3JbdFsxOTNdW2FdXT00OTQwOCthO2VbNDk0MDgrYV09dFsxOTNd +W2FdfXRbMTk0XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+957+k57+n57+o57+q57+r57+s57+t57+v +57+y57+057+157+257+357+457+557+657+957++57+/6ICC6ICH6ICI6ICJ6ICK6ICO6ICP6ICR +6ICT6ICa6ICb6ICd6ICe6ICf6ICh6ICj6ICk6ICr6ICs6ICt6ICu6ICv6ICw6ICy6IC06IC56IC6 +6IC86IC+6IGA6IGB6IGE6IGF6IGH6IGI6IGJ6IGO6IGP6IGQ6IGR6IGT6IGV6IGW6IGX77+96IGZ +6IGb6IGc6IGd6IGe6IGf6IGg6IGh6IGi6IGj6IGk6IGl6IGm6IGn6IGo6IGr6IGs6IGt6IGu6IGv +6IGw6IGy6IGz6IG06IG16IG26IG36IG46IG56IG66IG76IG86IG96ZqG5Z6E5oui6ZmH5qW85aiE +5pCC56+T5ryP6ZmL6Iqm5Y2i6aKF5bqQ54KJ5o6z5Y2k6JmP6bKB6bqT56KM6Zyy6Lev6LWC6bm/ +5r2e56aE5b2V6ZmG5oiu6am05ZCV6ZOd5L6j5peF5bGl5bGh57yV6JmR5rCv5b6L546H5ruk57u/ +5bOm5oyb5a2q5rum5Y215Lmx5o6g55Wl5oqh6L2u5Lym5LuR5rKm57q26K666JCd6J66572X6YC7 +6ZSj566p6aqh6KO46JC95rSb6aqG57uc5aaI6bq7546b56CB6JqC6ams6aqC5Zib5ZCX5Z+L5Lmw +6bqm5Y2W6L+I6ISJ556S6aaS6Juu5ruh6JST5pu85oWi5ryr77+9Ii5zcGxpdCgiIik7Zm9yKGE9 +MDthIT10WzE5NF0ubGVuZ3RoOysrYSlpZih0WzE5NF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMz +KXtyW3RbMTk0XVthXV09NDk2NjQrYTtlWzQ5NjY0K2FdPXRbMTk0XVthXX10WzE5NV09Iu+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/veiBvuiCgeiCguiCheiCiOiCiuiCjeiCjuiCj+iCkOiCkeiCkuiClOiC +leiCl+iCmeiCnuiCo+iCpuiCp+iCqOiCrOiCsOiCs+iCteiCtuiCuOiCueiCu+iDheiDh+iDiOiD +ieiDiuiDi+iDj+iDkOiDkeiDkuiDk+iDlOiDleiDmOiDn+iDoOiDouiDo+iDpuiDruiDteiDt+iD +ueiDu+iDvuiDv+iEgOiEgeiEg+iEhOiEheiEh+iEiOiEi++/veiEjOiEleiEl+iEmeiEm+iEnOiE +neiEn+iEoOiEoeiEouiEo+iEpOiEpeiEpuiEp+iEqOiEqeiEquiEq+iEreiEruiEsOiEs+iEtOiE +teiEt+iEueiEuuiEu+iEvOiEveiEv+iwqeiKkuiMq+ebsuawk+W/meiOveeMq+iMhemUmuavm+ef +m+mThuWNr+iMguWGkuW4veiyjOi0uOS5iOeOq+aemuaihemFtumcieeFpOayoeecieWqkumVgeav +j+e+juaYp+WvkOWmueWqmumXqOmXt+S7rOiQjOiSmeaqrOebn+mUsOeMm+aipuWtn+ecr+mGmumd +oeeznOi/t+iwnOW8peexs+enmOinheazjOicnOWvhuW5guajieecoOe7teWGleWFjeWLieWoqee8 +hemdouiLl+aPj+eehOiXkOenkua4uuW6meWmmeiUkeeBreawkeaKv+eav+aVj+aCr+mXveaYjuie +n+m4o+mTreWQjeWRveiwrOaRuO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxOTVdLmxlbmd0 +aDsrK2EpaWYodFsxOTVdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE5NV1bYV1dPTQ5 +OTIwK2E7ZVs0OTkyMCthXT10WzE5NV1bYV19dFsxOTZdPSLvv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73o +hYDohYHohYLohYPohYTohYXohYfohYnohY3ohY7ohY/ohZLohZbohZfohZjohZvohZzohZ3ohZ7o +hZ/ohaHohaLohaPohaTohabohajoharohavohazoha/ohbLohbPohbXohbbohbfohbjohoHohoPo +hoTohoXohobohofohonohovohozoho3oho7ohpDohpLohpPohpTohpXohpbohpfohpnohprohp7o +hp/ohqDohqHohqLohqTohqXvv73ohqfohqnohqvohqzohq3ohq7ohq/ohrDohrHohrLohrTohrXo +hrbohrfohrjohrnohrzohr3ohr7ohr/oh4Toh4Xoh4foh4joh4noh4voh43oh47oh4/oh5Doh5Ho +h5Loh5PmkbnomJHmqKHohpzno6jmkanprZTmirnmnKvojqvloqjpu5jmsqvmvKDlr57pmYzosIvn +iZ/mn5Dmi4fniaHkuqnlp4bmr43lopPmmq7luZXli5/mhZXmnKjnm67nnabniafnqYbmi7/lk6rl +kZDpkqDpgqPlqJznurPmsJbkuYPlpbbogJDlpYjljZfnlLfpmr7lm4rmjKDohJHmgbzpl7nmt5bl +kaLppoHlhoXlq6nog73lpq7pnJPlgKrms6XlsLzmi5/kvaDljL/ohbvpgIbmurrolKvmi4jlubTn +or7mkrXmjbvlv7XlqJjphb/puJ/lsL/mjY/ogYLlrb3lla7plYrplY3mtoXmgqjmn6Dni57lh53l +roHvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTk2XS5sZW5ndGg7KythKWlmKHRbMTk2XVth +XS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxOTZdW2FdXT01MDE3NithO2VbNTAxNzYrYV09 +dFsxOTZdW2FdfXRbMTk3XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+96IeU6IeV6IeW6IeX6IeY6IeZ +6Iea6Ieb6Iec6Ied6Iee6Ief6Ieg6Ieh6Iei6Iek6Iel6Iem6Ieo6Iep6Ier6Ieu6Iev6Iew6Iex +6Iey6Ie16Ie26Ie36Ie46Ie56Ie66Ie96Ie/6IiD6IiH6IiI6IiJ6IiK6IiL6IiO6IiP6IiR6IiT +6IiV6IiW6IiX6IiY6IiZ6Iia6Iid6Iig6Iik6Iil6Iim6Iin6Iip6Iiu6Iiy6Ii66Ii86Ii96Ii/ +77+96ImA6ImB6ImC6ImD6ImF6ImG6ImI6ImK6ImM6ImN6ImO6ImQ6ImR6ImS6ImT6ImU6ImV6ImW +6ImX6ImZ6Imb6Imc6Imd6Ime6Img6Imh6Imi6Imj6Imk6Iml6Imm6Imn6Imp5oun5rOe54mb5omt +6ZKu57q96IST5rWT5Yac5byE5aW05Yqq5oCS5aWz5pqW6JmQ55af5oyq5oem57Ov6K+65ZOm5qyn +6bil5q606JeV5ZGV5YG25rKk5ZWq6La054is5biV5oCV55C25ouN5o6S54mM5b6Y5rmD5rS+5pSA +5r2Y55uY56OQ55u855WU5Yik5Y+b5LmT5bqe5peB6ICq6IOW5oqb5ZKG5Yio54Ku6KKN6LeR5rOh +5ZG46IOa5Z+56KO06LWU6Zmq6YWN5L2p5rKb5Za355uG56Cw5oqo54O55r6O5b2t6JOs5qOa56G8 +56+36Iao5pyL6bmP5o2n56Kw5Z2v56CS6Zy55om55oqr5YqI55C15q+X77+9Ii5zcGxpdCgiIik7 +Zm9yKGE9MDthIT10WzE5N10ubGVuZ3RoOysrYSlpZih0WzE5N11bYV0uY2hhckNvZGVBdCgwKSE9 +PTY1NTMzKXtyW3RbMTk3XVthXV09NTA0MzIrYTtlWzUwNDMyK2FdPXRbMTk3XVthXX10WzE5OF09 +Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/veiJquiJq+iJrOiJreiJseiJteiJtuiJt+iJuOiJu+iJvOiK +gOiKgeiKg+iKheiKhuiKh+iKieiKjOiKkOiKk+iKlOiKleiKluiKmuiKm+iKnuiKoOiKouiKo+iK +p+iKsuiKteiKtuiKuuiKu+iKvOiKv+iLgOiLguiLg+iLheiLhuiLieiLkOiLluiLmeiLmuiLneiL +ouiLp+iLqOiLqeiLquiLrOiLreiLruiLsOiLsuiLs+iLteiLtuiLuO+/veiLuuiLvOiLveiLvuiL +v+iMgOiMiuiMi+iMjeiMkOiMkuiMk+iMluiMmOiMmeiMneiMnuiMn+iMoOiMoeiMouiMo+iMpOiM +peiMpuiMqeiMquiMruiMsOiMsuiMt+iMu+iMveWVpOiEvueWsuearuWMueeXnuWDu+WxgeitrOev +h+WBj+eJh+mql+mjmOa8gueTouelqOaSh+eepeaLvOmikei0q+WTgeiBmOS5kuWdquiLueiQjeW5 +s+WHreeTtuivhOWxj+WdoeazvOmih+WphuegtOmthOi/q+eyleWJluaJkemTuuS7huiOhuiRoeiP +qeiSsuWflOactOWcg+aZrua1puiwseabneeAkeacn+asuuagluaImuWmu+S4g+WHhOa8huafkuay +j+WFtuaji+Wlh+atp+eVpuW0juiEkOm9kOaXl+eliOelgemqkei1t+WyguS5nuS8geWQr+Wlkeeg +jOWZqOawlOi/hOW8g+axveazo+iuq+aOkO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxOThd +Lmxlbmd0aDsrK2EpaWYodFsxOThdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE5OF1b +YV1dPTUwNjg4K2E7ZVs1MDY4OCthXT10WzE5OF1bYV19dFsxOTldPSLvv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73ojL7ojL/ojYHojYLojYTojYXojYjojYrojYvojYzojY3ojY7ojZPojZXojZbojZfojZjo +jZnojZ3ojaLojbDojbHojbLojbPojbTojbXojbbojbnojbrojb7ojb/ojoDojoHojoLojoPojoTo +jofojojojorojovojozojo3ojo/ojpDojpHojpTojpXojpbojpfojpnojprojp3ojp/ojqHojqLo +jqPojqTojqXojqbojqfojqzojq3ojq7vv73ojq/ojrXojrvojr7ojr/oj4Loj4Poj4Toj4boj4jo +j4noj4voj43oj47oj5Doj5Hoj5Loj5Poj5Xoj5foj5noj5roj5voj57oj6Loj6Poj6Toj6boj6fo +j6joj6voj6zoj63mgbDmtL3nibXmiabpko7pk4XljYPov4Hnrb7ku5/osKbkub7pu5TpkrHpkrPl +iY3mvZzpgaPmtYXosLTloJHltYzmrKDmrYnmnqrlkZvohZTnvozlopnolLflvLrmiqLmqYfplLnm +lbLmgoTmoaXnnqfkuZTkvqjlt6fpnpjmkqznv5jls63kv4/nqo3liIfojITkuJTmgK/nqoPpkqbk +vrXkurLnp6bnkLTli6Toirnmk5Lnpr3lr53msoHpnZLovbvmsKLlgL7ljb/muIXmk47mmbTmsLDm +g4Xpobfor7fluobnkLznqbfnp4vkuJjpgrHnkIPmsYLlm5rphYvms4XotovljLrom4bmm7Louq/l +sYjpqbHmuKDvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTk5XS5sZW5ndGg7KythKWlmKHRb +MTk5XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxOTldW2FdXT01MDk0NCthO2VbNTA5 +NDQrYV09dFsxOTldW2FdfXRbMjAwXT0i77+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+96I+u6I+v6I+z6I+0 +6I+16I+26I+36I+66I+76I+86I++6I+/6JCA6JCC6JCF6JCH6JCI6JCJ6JCK6JCQ6JCS6JCT6JCU +6JCV6JCW6JCX6JCZ6JCa6JCb6JCe6JCf6JCg6JCh6JCi6JCj6JCp6JCq6JCr6JCs6JCt6JCu6JCv +6JCw6JCy6JCz6JC06JC16JC26JC36JC56JC66JC76JC+6JC/6JGA6JGB6JGC6JGD6JGE6JGF6JGH +6JGI6JGJ77+96JGK6JGL6JGM6JGN6JGO6JGP6JGQ6JGS6JGT6JGU6JGV6JGW6JGY6JGd6JGe6JGf +6JGg6JGi6JGk6JGl6JGm6JGn6JGo6JGq6JGu6JGv6JGw6JGy6JG06JG36JG56JG76JG85Y+W5ai2 +6b6L6Laj5Y675ZyI6aKn5p2D6Yab5rOJ5YWo55eK5ouz54qs5Yi45Yqd57y654KU55i45Y206bmK +5qa356Gu6ZuA6KOZ576k54S254eD5YaJ5p+T55Ok5aOk5pSY5Zq36K6p6aW25omw57uV5oO554Ot +5aOs5LuB5Lq65b+N6Z+n5Lu76K6k5YiD5aaK57qr5omU5LuN5pel5oiO6Iy46JOJ6I2j6J6N54aU +5rq25a6557uS5YaX5o+J5p+U6IKJ6Iy56KCV5YSS5a265aaC6L6x5Lmz5rGd5YWl6KSl6L2v6Ziu +6JWK55Ge6ZSQ6Zew5ram6Iul5byx5pKS5rSS6JCo6IWu6bOD5aGe6LWb5LiJ5Y+B77+9Ii5zcGxp +dCgiIik7Zm9yKGE9MDthIT10WzIwMF0ubGVuZ3RoOysrYSlpZih0WzIwMF1bYV0uY2hhckNvZGVB +dCgwKSE9PTY1NTMzKXtyW3RbMjAwXVthXV09NTEyMDArYTtlWzUxMjAwK2FdPXRbMjAwXVthXX10 +WzIwMV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veiRveiRvuiRv+iSgOiSgeiSg+iShOiSheiShuiS +iuiSjeiSj+iSkOiSkeiSkuiSk+iSlOiSleiSluiSmOiSmuiSm+iSneiSnuiSn+iSoOiSouiSo+iS +pOiSpeiSpuiSp+iSqOiSqeiSquiSq+iSrOiSreiSruiSsOiSseiSs+iSteiStuiSt+iSu+iSvOiS +vuiTgOiTguiTg+iTheiThuiTh+iTiOiTi+iTjOiTjuiTj+iTkuiTlOiTleiTl++/veiTmOiTmeiT +muiTm+iTnOiTnuiToeiTouiTpOiTp+iTqOiTqeiTquiTq+iTreiTruiTr+iTseiTsuiTs+iTtOiT +teiTtuiTt+iTuOiTueiTuuiTu+iTveiTvuiUgOiUgeiUguS8nuaVo+ahkeWXk+S4p+aQlOmqmuaJ +q+WrgueRn+iJsua2qeajruWDp+iOjuegguadgOWIueaymee6seWCu+WVpeeFnuetm+aZkuePiuiL +q+adieWxseWIoOeFveihq+mXqumZleaThei1oeiGs+WWhOaxleaJh+e8ruWikuS8pOWVhui1j+aZ +jOS4iuWwmuijs+aiouaNjueojeeDp+iKjeWLuumftuWwkeWTqOmCtee7jeWloui1iuibh+iIjOiI +jei1puaRhOWwhOaFkea2ieekvuiuvuegt+eUs+WRu+S8uOi6q+a3seWooOe7heelnuayiOWuoeWp +tueUmuiCvuaFjua4l+WjsOeUn+eUpeeJsuWNh+e7s++/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9 +dFsyMDFdLmxlbmd0aDsrK2EpaWYodFsyMDFdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0 +WzIwMV1bYV1dPTUxNDU2K2E7ZVs1MTQ1NithXT10WzIwMV1bYV19dFsyMDJdPSLvv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73olIPolITolIXolIbolIfolIjolInolIrolIvolI3olI7olI/olJDolJLolJTo +lJXolJbolJjolJnolJvolJzolJ3olJ7olKDolKLolKPolKTolKXolKbolKfolKjolKnolKrolK3o +lK7olK/olLDolLHolLLolLPolLTolLXolLbolL7olL/olYDolYHolYLolYTolYXolYbolYfolYvo +lYzolY3olY7olY/olZDolZHolZLolZPolZTolZXvv73olZfolZjolZrolZvolZzolZ3olZ/olaDo +laHolaLolaPolaXolabolafolanolarolavolazola3ola7ola/olbDolbHolbPolbXolbbolbfo +lbjolbzolb3olb/oloDoloHnnIHnm5vlianog5zlnKPluIjlpLHni67mlr3mub/or5flsLjombHl +jYHnn7Pmi77ml7bku4Dpo5/omoDlrp7or4blj7Lnn6Lkvb/lsY7pqbblp4vlvI/npLrlo6vkuJbm +n7/kuovmi63oqpPpgJ3lir/mmK/ll5zlmazpgILku5Xkvo3ph4rppbDmsI/luILmgYPlrqTop4bo +r5XmlLbmiYvpppblrojlr7/mjojllK7lj5fnmKblhb3olKzmnqLmorPmrormipLovpPlj5ToiJLm +t5Hnlo/kuabotY7lrbDnhp/olq/mmpHmm5nnvbLonIDpu43pvKDlsZ7mnK/ov7DmoJHmnZ/miI3n +q5blooXlurbmlbDmvLHvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjAyXS5sZW5ndGg7Kyth +KWlmKHRbMjAyXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMDJdW2FdXT01MTcxMith +O2VbNTE3MTIrYV09dFsyMDJdW2FdfXRbMjAzXT0i77+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+96JaC6JaD +6JaG6JaI6JaJ6JaK6JaL6JaM6JaN6JaO6JaQ6JaR6JaS6JaT6JaU6JaV6JaW6JaX6JaY6JaZ6Jaa +6Jad6Jae6Jaf6Jag6Jah6Jai6Jaj6Jal6Jam6Jan6Jap6Jar6Jas6Jat6Jax6Jay6Jaz6Ja06Ja1 +6Ja26Ja46Ja66Ja76Ja86Ja96Ja+6Ja/6JeA6JeC6JeD6JeE6JeF6JeG6JeH6JeI6JeK6JeL6JeM +6JeN6JeO6JeR6JeS77+96JeU6JeW6JeX6JeY6JeZ6Jea6Jeb6Jed6Jee6Jef6Jeg6Jeh6Jei6Jej +6Jel6Jem6Jen6Jeo6Jeq6Jer6Jes6Jet6Jeu6Jev6Jew6Jex6Jey6Jez6Je06Je16Je26Je36Je4 +5oGV5Yi36ICN5pGU6KGw55Sp5biF5qCT5ou06Zyc5Y+M54i96LCB5rC0552h56iO5ZCu556s6aG6 +6Iic6K+056GV5pyU54OB5pav5pKV5Zi25oCd56eB5Y+45Lid5q276IKG5a+65Zej5Zub5Ly65Ly8 +6aWy5bez5p2+6IC45oCC6aKC6YCB5a6L6K686K+15pCc6ImY5pOe5Ze96IuP6YWl5L+X57Sg6YCf +57Kf5YOz5aGR5rqv5a6/6K+J6IKD6YW46JKc566X6Jm96ZqL6ZqP57ul6auT56KO5bKB56mX6YGC +6Zqn56Wf5a2Z5o2f56yL6JOR5qKt5ZSG57yp55CQ57Si6ZSB5omA5aGM5LuW5a6D5aW55aGU77+9 +Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIwM10ubGVuZ3RoOysrYSlpZih0WzIwM11bYV0uY2hh +ckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjAzXVthXV09NTE5NjgrYTtlWzUxOTY4K2FdPXRbMjAz +XVthXX10WzIwNF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veiXueiXuuiXvOiXveiXvuiYgOiYgeiY +guiYg+iYhOiYhuiYh+iYiOiYieiYiuiYi+iYjOiYjeiYjuiYj+iYkOiYkuiYk+iYlOiYleiYl+iY +mOiYmeiYmuiYm+iYnOiYneiYnuiYn+iYoOiYoeiYouiYo+iYpOiYpeiYpuiYqOiYquiYq+iYrOiY +reiYruiYr+iYsOiYseiYsuiYs+iYtOiYteiYtuiYt+iYueiYuuiYu+iYveiYvuiYv+iZgO+/veiZ +geiZguiZg+iZhOiZheiZhuiZh+iZiOiZieiZiuiZi+iZjOiZkuiZk+iZleiZluiZl+iZmOiZmeiZ +m+iZnOiZneiZn+iZoOiZoeiZo+iZpOiZpeiZpuiZp+iZqOiZqeiZqueNreaMnui5i+i4j+iDjuiL +lOaKrOWPsOazsOmFnuWkquaAgeaxsOWdjeaRiui0queYq+a7qeWdm+aqgOeXsOa9reiwreiwiOWd +puavr+iikueis+aOouWPueeCreaxpOWhmOaQquWgguajoOiGm+WUkOezluWAmOi6uua3jOi2n+eD +q+aOj+a2m+a7lOe7puiQhOahg+mAg+a3mOmZtuiuqOWll+eJueiXpOiFvueWvOiqiuair+WJlOi4 +oumUkeaPkOmimOi5hOWVvOS9k+abv+Waj+aDlea2leWJg+WxieWkqea3u+Whq+eUsOeUnOaBrOiI +lOiFhuaMkeadoei/ouecuui3s+i0tOmTgeW4luWOheWQrOeDg++/vSIuc3BsaXQoIiIpO2Zvcihh +PTA7YSE9dFsyMDRdLmxlbmd0aDsrK2EpaWYodFsyMDRdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUz +Myl7clt0WzIwNF1bYV1dPTUyMjI0K2E7ZVs1MjIyNCthXT10WzIwNF1bYV19dFsyMDVdPSLvv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73oma3oma/ombDombLombPombTombXombbombfombjomoPomoTomoXo +mobomofomojomonomo7omo/ompDompHompLompTompbompfompjompnomprompvomp7omp/omqDo +mqHomqLomqXomqbomqvomq3omq7omrLomrPomrfomrjomrnomrvomrzomr3omr7omr/om4Hom4Lo +m4Pom4Xom4jom4zom43om5Lom5Pom5Xom5bom5fom5rom5zvv73om53om6Dom6Hom6Lom6Pom6Xo +m6bom6fom6jom6rom6vom6zom6/om7Xom7bom7fom7rom7vom7zom73om7/onIHonITonIXonIbo +nIvonIzonI7onI/onJDonJHonJTonJbmsYDlu7flgZzkuq3luq3mjLroiYfpgJrmoZDpha7nnrPl +kIzpk5zlvaTnq6XmobbmjYXnrZLnu5/nl5vlgbfmipXlpLTpgI/lh7jnp4PnqoHlm77lvpLpgJTm +toLlsaDlnJ/lkJDlhZTmuY3lm6LmjqjpopPohb/onJXopKrpgIDlkJ7lsa/oh4Dmi5bmiZjohLHp +uLXpmYDpqa7pqbzmpK3lpqXmi5PllL7mjJblk4fom5nmtLzlqIPnk6boopzmrarlpJbosYzlvK/m +ub7njqnpob3kuLjng7flroznopfmjL3mmZrnmpbmg4vlrpvlqYnkuIfohZXmsarnjovkuqHmnonn +vZHlvoDml7rmnJvlv5jlpoTlqIHvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjA1XS5sZW5n +dGg7KythKWlmKHRbMjA1XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMDVdW2FdXT01 +MjQ4MCthO2VbNTI0ODArYV09dFsyMDVdW2FdfXRbMjA2XT0i77+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +6JyZ6Jyb6Jyd6Jyf6Jyg6Jyk6Jym6Jyn6Jyo6Jyq6Jyr6Jys6Jyt6Jyv6Jyw6Jyy6Jyz6Jy16Jy2 +6Jy46Jy56Jy66Jy86Jy96J2A6J2B6J2C6J2D6J2E6J2F6J2G6J2K6J2L6J2N6J2P6J2Q6J2R6J2S +6J2U6J2V6J2W6J2Y6J2a6J2b6J2c6J2d6J2e6J2f6J2h6J2i6J2m6J2n6J2o6J2p6J2q6J2r6J2s +6J2t6J2v6J2x6J2y6J2z6J2177+96J236J246J256J266J2/6J6A6J6B6J6E6J6G6J6H6J6J6J6K +6J6M6J6O6J6P6J6Q6J6R6J6S6J6U6J6V6J6W6J6Y6J6Z6J6a6J6b6J6c6J6d6J6e6J6g6J6h6J6i +6J6j6J6k5beN5b6u5Y2x6Z+m6L+d5qGF5Zu05ZSv5oOf5Li65r2N57u06IuH6JCO5aeU5Lyf5Lyq +5bC+57qs5pyq6JSa5ZGz55WP6IOD5ZaC6a2P5L2N5rit6LCT5bCJ5oWw5Y2r55if5rip6JqK5paH +6Ze757q55ZC756iz57SK6Zeu5Zeh57+B55Ou5oyd6JyX5rah56qd5oiR5pah5Y2n5o+h5rKD5ber +5ZGc6ZKo5LmM5rGh6K+s5bGL5peg6Iqc5qKn5ZC+5ZC05q+L5q2m5LqU5o2C5Y2I6Iie5LyN5L6u +5Z2e5oiK6Zu+5pmk54mp5Yu/5Yqh5oKf6K+v5piU54aZ5p6Q6KW/56GS55+95pmw5Zi75ZC46ZSh +54m677+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIwNl0ubGVuZ3RoOysrYSlpZih0WzIwNl1b +YV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjA2XVthXV09NTI3MzYrYTtlWzUyNzM2K2Fd +PXRbMjA2XVthXX10WzIwN109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veiepeiepuiep+ieqeiequie +ruiesOieseiesuietOietuiet+ieuOieueieu+ievOievuiev+ifgeifguifg+ifhOifheifh+if +iOifieifjOifjeifjuifj+ifkOiflOifleifluifl+ifmOifmeifmuifnOifneifnuifn+ifoeif +ouifo+ifpOifpuifp+ifqOifqeifq+ifrOifreifr+ifsOifseifsuifs+iftOifteiftuift+if +uO+/veifuuifu+ifvOifveifv+iggOiggeigguighOigheighuigh+igiOigieigi+igjOigjeig +juigj+igkOigkeigkuiglOigl+igmOigmeigmuignOigneignuign+igoOigo+eogOaBr+W4jOaC +ieiGneWkleaDnOeGhOeDr+a6quaxkOeKgOaqhOiireW4reS5oOWqs+WWnOmTo+a0l+ezu+mameaI +j+e7hueejuiZvuWMo+mcnui+luaah+WzoeS+oOeLreS4i+WOpuWkj+WQk+aOgOmUqOWFiOS7memy +nOe6pOWSuOi0pOihlOiIt+mXsua2juW8puWrjOaYvumZqeeOsOeMruWOv+iFuummhee+oeWuqumZ +t+mZkOe6v+ebuOWOoumVtummmeeuseilhOa5mOS5oee/lOelpeivpuaDs+WTjeS6q+mhueW3t+ap +oeWDj+WQkeixoeiQp+ehnemchOWJiuWTruWao+mUgOa2iOWutea3huaZk++/vSIuc3BsaXQoIiIp +O2ZvcihhPTA7YSE9dFsyMDddLmxlbmd0aDsrK2EpaWYodFsyMDddW2FdLmNoYXJDb2RlQXQoMCkh +PT02NTUzMyl7clt0WzIwN11bYV1dPTUyOTkyK2E7ZVs1Mjk5MithXT10WzIwN11bYV19dFsyMDhd +PSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73ooKTooKXooKbooKfooKjooKnooKrooKvooKzooK3ooK7o +oK/ooLDooLHooLPooLTooLXooLbooLfooLjooLrooLvooL3ooL7ooL/ooYHooYLooYPooYbooYfo +oYjooYnooYrooYvooY7ooY/ooZDooZHooZLooZPooZXooZbooZjooZrooZvooZzooZ3ooZ7ooZ/o +oaDooabooafooarooa3ooa/oobHoobPoobToobXoobboobjoobnoobrvv73oobvoobzoooDoooPo +oobooofooonooorooozooo7ooo/oopDoopHoopPoopToopXoopfoopjoopnooproopvoop3oop7o +op/ooqDooqHooqPooqXooqbooqfooqjooqnooqrlsI/lrZ3moKHogpbllbjnrJHmlYjmpZTkupvm +rYfonY7pnovljY/mjJ/mkLrpgqrmlpzog4HosJDlhpnmorDljbjon7nmh4jms4Tms7vosKLlsZHo +lqroiq/plIzmrKPovpvmlrDlv7vlv4Pkv6HooYXmmJ/ohaXnjKnmg7rlhbTliJHlnovlvaLpgqLo +oYzphpLlubjmnY/mgKflp5PlhYTlh7bog7jljIjmsbnpm4TnhorkvJHkv67nvp7mnL3ll4XplIjn +p4Doopbnu6Plop/miIzpnIDomZrlmJjpobvlvpDorrjok4TphZflj5nml63luo/nlZzmgaTnta7l +qb/nu6rnu63ovanllqflrqPmgqzml4vnjoTvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjA4 +XS5sZW5ndGg7KythKWlmKHRbMjA4XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMDhd +W2FdXT01MzI0OCthO2VbNTMyNDgrYV09dFsyMDhdW2FdfXRbMjA5XT0i77+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+96KKs6KKu6KKv6KKw6KKy6KKz6KK06KK16KK26KK46KK56KK66KK76KK96KK+6KK/6KOA +6KOD6KOE6KOH6KOI6KOK6KOL6KOM6KON6KOP6KOQ6KOR6KOT6KOW6KOX6KOa6KOb6KOc6KOd6KOe +6KOg6KOh6KOm6KOn6KOp6KOq6KOr6KOs6KOt6KOu6KOv6KOy6KO16KO26KO36KO66KO76KO96KO/ +6KSA6KSB6KSD6KSE6KSF6KSG6KSH6KSI77+96KSJ6KSL6KSM6KSN6KSO6KSP6KSR6KSU6KSV6KSW +6KSX6KSY6KSc6KSd6KSe6KSf6KSg6KSi6KSj6KSk6KSm6KSn6KSo6KSp6KSs6KSt6KSu6KSv6KSx +6KSy6KSz6KS16KS36YCJ55mj55yp57ua6Z206Jab5a2m56m06Zuq6KGA5YuL54aP5b6q5pes6K+i +5a+76amv5beh5q6J5rGb6K6t6K6v6YCK6L+F5Y6L5oq86bim6bit5ZGA5Lir6Iq954mZ6Jqc5bSW +6KGZ5rav6ZuF5ZOR5Lqa6K6254SJ5ZK96ZiJ54Of5re555uQ5Lil56CU6JyS5bKp5bu26KiA6aKc +6ZiO54KO5rK/5aWE5o6p55y86KGN5ryU6Imz5aCw54eV5Y6M56Ca6ZuB5ZSB5b2m54Sw5a606LCa +6aqM5q6D5aSu6biv56en5p2o5oms5L2v55ah576K5rSL6Ziz5rCn5Luw55eS5YW75qC35ry+6YKA +6IWw5aaW55G277+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIwOV0ubGVuZ3RoOysrYSlpZih0 +WzIwOV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjA5XVthXV09NTM1MDQrYTtlWzUz +NTA0K2FdPXRbMjA5XVthXX10WzIxMF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veikuOikueikuuik +u+ikvOikveikvuikv+ilgOilguilg+ilheilhuilh+iliOilieiliuili+iljOiljeiljuilj+il +kOilkeilkuilk+illOilleilluill+ilmOilmeilmuilm+ilnOilneiloOiloeilouilo+ilpOil +peilp+ilqOilqeilquilq+ilrOilreilruilr+ilsOilseilsuils+iltOilteiltuilt+iluOil +ueiluuilvO+/veilveilvuimgOimguimhOimheimh+imiOimieimiuimi+imjOimjeimjuimj+im +kOimkeimkuimk+imlOimleimluiml+immOimmeimmuimm+imnOimneimnuimn+imoOimoeaRh+Ww +p+mBpeeqkeiwo+WnmuWSrOiIgOiNr+imgeiAgOaksOWZjuiAtueIt+mHjuWGtuS5n+mhteaOluS4 +muWPtuabs+iFi+WknOa2suS4gOWjueWMu+aPlumTseS+neS8iuiho+mikOWkt+mBl+enu+S7quiD +sOeWkeayguWunOWnqOW9neakheiageWAmuW3suS5meefo+S7peiJuuaKkeaYk+mCkeWxueS6v+W9 +ueiHhumAuOiChOeWq+S6puijlOaEj+avheW/huS5ieebiua6ouivo+iuruiwiuivkeW8gue/vOe/ +jOe7juiMteiNq+WboOaut+mfs+mYtOWnu+WQn+mTtua3q+WvhemlruWwueW8lemakO+/vSIuc3Bs +aXQoIiIpO2ZvcihhPTA7YSE9dFsyMTBdLmxlbmd0aDsrK2EpaWYodFsyMTBdW2FdLmNoYXJDb2Rl +QXQoMCkhPT02NTUzMyl7clt0WzIxMF1bYV1dPTUzNzYwK2E7ZVs1Mzc2MCthXT10WzIxMF1bYV19 +dFsyMTFdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73opqLopqPopqTopqXopqbopqfopqjopqnopqro +pqvopqzopq3opq7opq/oprDoprHoprLoprPoprToprXoprboprfoprjoprnoprroprvoprzopr3o +pr7opr/op4Dop4Pop43op5Pop5Top5Xop5fop5jop5nop5vop53op5/op6Dop6Hop6Lop6Top6fo +p6jop6nop6rop6zop63op67op7Dop7Hop7Lop7Top7Xop7bop7fop7jop7nop7rvv73op7vop7zo +p73op77op7/oqIHoqILoqIPoqIToqIXoqIboqIjoqInoqIroqIvoqIzoqI3oqI7oqI/oqJDoqJHo +qJLoqJPoqJToqJXoqJboqJfoqJjoqJnoqJroqJvoqJzoqJ3ljbDoi7HmqLHlqbTpubDlupTnvKjo +jrnokKTokKXojafonYfov47otaLnm4jlvbHpopbnoazmmKDlk5/mi6XkvaPoh4Pnl4jlurjpm43o +uIrom7nlko/ms7PmtozmsLjmgb/li4fnlKjlub3kvJjmgqDlv6flsKTnlLHpgq7pk4Dnirnmsrnm +uLjphYnmnInlj4vlj7PkvZHph4nor7Hlj4jlubzov4Lmt6Tkuo7nm4LmpobomZ7mhJroiIbkvZnk +v57pgL7psbzmhInmuJ3muJTpmoXkuojlqLHpm6jkuI7lsb/nprnlrofor63nvr3njonln5/oiovp +g4HlkIHpgYfllrvls6rlvqHmhIjmrLLni7HogrLoqonvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2Eh +PXRbMjExXS5sZW5ndGg7KythKWlmKHRbMjExXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3Jb +dFsyMTFdW2FdXT01NDAxNithO2VbNTQwMTYrYV09dFsyMTFdW2FdfXRbMjEyXT0i77+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+96Kie6Kif6Kig6Kih6Kii6Kij6Kik6Kil6Kim6Kin6Kio6Kip6Kiq6Kir6Kis +6Kit6Kiu6Kiv6Kiw6Kix6Kiy6Kiz6Ki06Ki16Ki26Ki36Ki46Ki56Ki66Ki76Ki86Ki96Ki/6KmA +6KmB6KmC6KmD6KmE6KmF6KmG6KmH6KmJ6KmK6KmL6KmM6KmN6KmO6KmP6KmQ6KmR6KmS6KmT6KmU +6KmV6KmW6KmX6KmY6KmZ6Kma6Kmb6Kmc6Kmd6Kme77+96Kmf6Kmg6Kmh6Kmi6Kmj6Kmk6Kml6Kmm +6Kmn6Kmo6Kmp6Kmq6Kmr6Kms6Kmt6Kmu6Kmv6Kmw6Kmx6Kmy6Kmz6Km06Km16Km26Km36Km46Km6 +6Km76Km86Km96Km+6Km/6KqA5rW05a+T6KOV6aKE6LGr6amt6biz5riK5Yak5YWD5Z6j6KKB5Y6f +5o+06L6V5Zut5ZGY5ZyG54y/5rqQ57yY6L+c6IuR5oS/5oCo6Zmi5puw57qm6LaK6LeD6ZKl5bKz +57Kk5pyI5oKm6ZiF6ICY5LqR6YOn5YyA6Zmo5YWB6L+Q6JW06YWd5pmV6Z+15a2V5Yyd56C45p2C +5qC95ZOJ54G+5a6w6L295YaN5Zyo5ZKx5pSS5pqC6LWe6LWD6ISP6JGs6YGt57Of5Ye/6Je75p6j +5pep5r6h6Jqk6LqB5Zmq6YCg55qC54G254el6LSj5oup5YiZ5rO96LS85oCO5aKe5oaO5pu+6LWg +5omO5Zaz5rij5pyt6L2n77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIxMl0ubGVuZ3RoOysr +YSlpZih0WzIxMl1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjEyXVthXV09NTQyNzIr +YTtlWzU0MjcyK2FdPXRbMjEyXVthXX10WzIxM109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veiqgeiq +guiqg+iqhOiqheiqhuiqh+iqiOiqi+iqjOiqjeiqjuiqj+iqkOiqkeiqkuiqlOiqleiqluiql+iq +mOiqmeiqmuiqm+iqnOiqneiqnuiqn+iqoOiqoeiqouiqo+iqpOiqpeiqpuiqp+iqqOiqqeiqquiq +q+iqrOiqreiqruiqr+iqsOiqseiqsuiqs+iqtOiqteiqtuiqt+iquOiqueiquuiqu+iqvOiqveiq +vuiqv+irgOirgeirgu+/veirg+irhOirheirhuirh+iriOirieiriuiri+irjOirjeirjuirj+ir +kOirkeirkuirk+irlOirleirluirl+irmOirmeirmuirm+irnOirneirnuirn+iroOiroeirouir +o+mToemXuOecqOagheamqOWSi+S5jeeCuOiviOaRmOaWi+WuheeqhOWAuuWvqOeeu+avoeipueey +mOayvuebj+aWqei+l+W0reWxleiYuOagiOWNoOaImOermea5m+e7veaon+eroOW9sOa8s+W8oOaO +jOa2qOadluS4iOW4kOi0puS7l+iDgOeYtOmanOaLm+aYreaJvuayvOi1teeFp+e9qeWFhuiCh+WP +rOmBruaKmOWTsuibsOi+meiAhemUl+iUl+i/mea1meePjeaWn+ecn+eUhOegp+iHu+i0numSiOS+ +puaeleeWueiviumch+aMr+mVh+mYteiSuOaMo+edgeW+geeLsOS6ieaAlOaVtOaLr+ato+aUv++/ +vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMTNdLmxlbmd0aDsrK2EpaWYodFsyMTNdW2FdLmNo +YXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIxM11bYV1dPTU0NTI4K2E7ZVs1NDUyOCthXT10WzIx +M11bYV19dFsyMTRdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73oq6Toq6Xoq6boq6foq6joq6noq6ro +q6voq6zoq63oq67oq6/oq7Doq7Hoq7Loq7Poq7Toq7Xoq7boq7foq7joq7noq7roq7voq7zoq73o +q77oq7/orIDorIHorILorIPorITorIXorIborIjorInorIrorIvorIzorI3orI7orI/orJDorJHo +rJLorJPorJTorJXorJborJforJjorJnorJrorJvorJzorJ3orJ7orJ/orKDorKHorKLorKPvv73o +rKTorKXorKforKjorKnorKrorKvorKzorK3orK7orK/orLDorLHorLLorLPorLTorLXorLborLfo +rLjorLnorLrorLvorLzorL3orL7orL/orYDorYHorYLorYPorYTorYXluKfnl4fpg5Hor4Hoip3m +np3mlK/lkLHonJjnn6XogqLohILmsYHkuYvnu4fogYznm7TmpI3mrpbmiaflgLzkvoTlnYDmjIfm +raLotr7lj6rml6jnurjlv5fmjJrmjrfoh7Poh7Tnva7luJzls5nliLbmmbrnp6nnqJrotKjngpnn +l5Tmu57msrvnqpLkuK3nm4Xlv6Dpkp/oobfnu4jnp43ogr/ph43ku7LkvJfoiJ/lkajlt57mtLLo +r4znsqXovbTogpjluJrlkpLnmrHlrpnmmLzpqqTnj6DmoKrom5vmnLHnjKror7jor5vpgJDnq7nn +g5vnha7mi4TnnqnlmLHkuLvokZfmn7Hliqnom4DotK7pk7jnrZHvv70iLnNwbGl0KCIiKTtmb3Io +YT0wO2EhPXRbMjE0XS5sZW5ndGg7KythKWlmKHRbMjE0XVthXS5jaGFyQ29kZUF0KDApIT09NjU1 +MzMpe3JbdFsyMTRdW2FdXT01NDc4NCthO2VbNTQ3ODQrYV09dFsyMTRdW2FdfXRbMjE1XT0i77+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+96K2G6K2H6K2I6K2J6K2K6K2L6K2M6K2N6K2O6K2P6K2Q6K2R6K2S +6K2T6K2U6K2V6K2W6K2X6K2Y6K2Z6K2a6K2b6K2c6K2d6K2e6K2f6K2g6K2h6K2i6K2j6K2k6K2l +6K2n6K2o6K2p6K2q6K2r6K2t6K2u6K2v6K2w6K2x6K2y6K2z6K206K216K226K236K246K256K26 +6K276K286K296K2+6K2/6K6A6K6B6K6C6K6D6K6E6K6F6K6G77+96K6H6K6I6K6J6K6K6K6L6K6M +6K6N6K6O6K6P6K6Q6K6R6K6S6K6T6K6U6K6V6K6W6K6X6K6Y6K6Z6K6a6K6b6K6c6K6d6K6e6K6f +6K6s6K6x6K676K+H6K+Q6K+q6LCJ6LCe5L2P5rOo56Wd6am75oqT54iq5ou95LiT56CW6L2s5pKw +6LWa56+G5qGp5bqE6KOF5aaG5pKe5aOu54q25qSO6ZSl6L+96LWY5Z2g57yA6LCG5YeG5o2J5ouZ +5Y2T5qGM55Ci6IyB6YWM5ZWE552A54G85rWK5YW55ZKo6LWE5ae/5ruL5reE5a2c57Sr5LuU57G9 +5ruT5a2Q6Ieq5riN5a2X6ayD5qOV6Liq5a6X57u85oC757q16YK56LWw5aWP5o+N56ef6Laz5Y2S +5peP56WW6K+F6Zi757uE6ZK757qC5Zi06YaJ5pyA572q5bCK6YG15pio5bem5L2Q5p+e5YGa5L2c +5Z2Q5bqn77+977+977+977+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIxNV0ubGVu +Z3RoOysrYSlpZih0WzIxNV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjE1XVthXV09 +NTUwNDArYTtlWzU1MDQwK2FdPXRbMjE1XVthXX10WzIxNl09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +veiwuOiwueiwuuiwu+iwvOiwveiwvuiwv+ixgOixguixg+ixhOixheixiOixiuixi+ixjeixjuix +j+ixkOixkeixkuixk+ixlOixluixl+ixmOixmeixm+ixnOixneixnuixn+ixoOixo+ixpOixpeix +puixp+ixqOixqeixrOixreixruixr+ixsOixseixsuixtOixteixtuixt+ixu+ixvOixveixvuix +v+iygOiygeiyg+iyhOiyhuiyh++/veiyiOiyi+iyjeiyjuiyj+iykOiykeiykuiyk+iyleiyluiy +l+iymeiymuiym+iynOiyneiynuiyn+iyoOiyoeiyouiyo+iypOiypeiypuiyp+iyqOiyqeiyquiy +q+iyrOiyreS6jeS4jOWFgOS4kOW7v+WNheS4leS6mOS4numssuWtrOWZqeS4qOemuuS4v+WMleS5 +h+WkreeIu+WNruawkOWbn+iDpOmml+avk+edvum8l+S4tuS6n+m8kOS5nOS5qeS6k+iKiOWtm+WV +rOWYj+S7hOWOjeWOneWOo+WOpeWOrumdpei1neWMmuWPteWMpuWMruWMvui1nOWNpuWNo+WIguWI +iOWIjuWIreWIs+WIv+WJgOWJjOWJnuWJoeWJnOiSr+WJveWKguWKgeWKkOWKk+WGgue9lOS6u+S7 +g+S7ieS7guS7qOS7oeS7q+S7nuS8m+S7s+S8ouS9pOS7teS8peS8p+S8ieS8q+S9nuS9p+aUuOS9 +muS9ne+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMTZdLmxlbmd0aDsrK2EpaWYodFsyMTZd +W2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIxNl1bYV1dPTU1Mjk2K2E7ZVs1NTI5Nith +XT10WzIxNl1bYV19dFsyMTddPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73osq7osq/osrDosrHosrLo +srPosrTosrXosrbosrfosrjosrnosrrosrvosrzosr3osr7osr/os4Dos4Hos4Los4Pos4Tos4Xo +s4bos4fos4jos4nos4ros4vos4zos43os47os4/os5Dos5Hos5Los5Pos5Tos5Xos5bos5fos5jo +s5nos5ros5vos5zos53os57os5/os6Dos6Hos6Los6Pos6Tos6Xos6bos6fos6jos6nos6ros6vo +s6zvv73os63os67os6/os7Dos7Hos7Los7Pos7Tos7Xos7bos7fos7jos7nos7ros7vos7zos73o +s77os7/otIDotIHotILotIPotITotIXotIbotIfotIjotInotIrotIvotIzotI3kvZ/kvZfkvLLk +vL3kvbbkvbTkvpHkvonkvoPkvo/kvb7kvbvkvqrkvbzkvqzkvpTkv6bkv6jkv6rkv4Xkv5rkv6Pk +v5zkv5Hkv5/kv7jlgKnlgYzkv7PlgKzlgI/lgK7lgK3kv77lgJzlgIzlgKXlgKjlgb7lgYPlgZXl +gYjlgY7lgazlgbvlgqXlgqflgqnlgrrlg5blhIblg63lg6zlg6blg67lhIflhIvku53msL3kvZjk +vaXkv47pvqDmsYbnsbTlha7lt73pu4npppjlhoHlpJTli7nljI3oqIfljJDlh6vlpJnlhZXkuqDl +hZbkurPooa7ooqTkurXohJToo5LnpoDlrLTooIPnvrjlhqvlhrHlhr3lhrzvv70iLnNwbGl0KCIi +KTtmb3IoYT0wO2EhPXRbMjE3XS5sZW5ndGg7KythKWlmKHRbMjE3XVthXS5jaGFyQ29kZUF0KDAp +IT09NjU1MzMpe3JbdFsyMTddW2FdXT01NTU1MithO2VbNTU1NTIrYV09dFsyMTddW2FdfXRbMjE4 +XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+96LSO6LSP6LSQ6LSR6LSS6LST6LSU6LSV6LSW6LSX6LSY +6LSZ6LSa6LSb6LSc6LSg6LWR6LWS6LWX6LWf6LWl6LWo6LWp6LWq6LWs6LWu6LWv6LWx6LWy6LW4 +6LW56LW66LW76LW86LW96LW+6LW/6LaA6LaC6LaD6LaG6LaH6LaI6LaJ6LaM6LaN6LaO6LaP6LaQ +6LaS6LaT6LaV6LaW6LaX6LaY6LaZ6Laa6Lab6Lac6Lad6Lae6Lag6Lah77+96Lai6Lak6Lal6Lam +6Lan6Lao6Lap6Laq6Lar6Las6Lat6Lau6Lav6Law6Lay6La26La36La56La76La96LeA6LeB6LeC +6LeF6LeH6LeI6LeJ6LeK6LeN6LeQ6LeS6LeT6LeU5YeH5YaW5Yai5Yal6K6g6K6m6K6n6K6q6K60 +6K616K636K+C6K+D6K+L6K+P6K+O6K+S6K+T6K+U6K+W6K+Y6K+Z6K+c6K+f6K+g6K+k6K+o6K+p +6K+u6K+w6K+z6K+26K+56K+86K+/6LCA6LCC6LCE6LCH6LCM6LCP6LCR6LCS6LCU6LCV6LCW6LCZ +6LCb6LCY6LCd6LCf6LCg6LCh6LCl6LCn6LCq6LCr6LCu6LCv6LCy6LCz6LC16LC25Y2p5Y266Zid +6Zii6Zih6Zix6Ziq6Zi96Zi86ZmC6ZmJ6ZmU6Zmf6Zmn6Zms6Zmy6Zm06ZqI6ZqN6ZqX6Zqw6YKX +6YKb6YKd6YKZ6YKs6YKh6YK06YKz6YK26YK677+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIx +OF0ubGVuZ3RoOysrYSlpZih0WzIxOF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjE4 +XVthXV09NTU4MDgrYTtlWzU1ODA4K2FdPXRbMjE4XVthXX10WzIxOV09Iu+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/vei3lei3mOi3mei3nOi3oOi3oei3oui3pei3pui3p+i3qei3rei3rui3sOi3sei3sui3 +tOi3tui3vOi3vui3v+i4gOi4gei4gui4g+i4hOi4hui4h+i4iOi4i+i4jei4jui4kOi4kei4kui4 +k+i4lei4lui4l+i4mOi4mei4mui4m+i4nOi4oOi4oei4pOi4pei4pui4p+i4qOi4q+i4rei4sOi4 +sui4s+i4tOi4tui4t+i4uOi4u+i4vOi4vu+/vei4v+i5g+i5hei5hui5jOi5jei5jui5j+i5kOi5 +k+i5lOi5lei5lui5l+i5mOi5mui5m+i5nOi5nei5nui5n+i5oOi5oei5oui5o+i5pOi5pei5p+i5 +qOi5qui5q+i5rui5semCuOmCsOmDj+mDhemCvumDkOmDhOmDh+mDk+mDpumDoumDnOmDl+mDm+mD +q+mDr+mDvumEhOmEoumEnumEo+mEsemEr+mEuemFg+mFhuWIjeWlguWKouWKrOWKreWKvuWTv+WL +kOWLluWLsOWPn+eHruefjeW7tOWHteWHvOmsr+WOtuW8geeVmuW3r+WdjOWeqeWeoeWhvuWivOWj +heWjkeWcqeWcrOWcquWcs+WcueWcruWcr+WdnOWcu+WdguWdqeWeheWdq+WehuWdvOWdu+WdqOWd +reWdtuWds+WereWepOWejOWesuWfj+Wep+WetOWek+WeoOWfleWfmOWfmuWfmeWfkuWeuOWftOWf +r+WfuOWfpOWfne+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMTldLmxlbmd0aDsrK2EpaWYo +dFsyMTldW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIxOV1bYV1dPTU2MDY0K2E7ZVs1 +NjA2NCthXT10WzIxOV1bYV19dFsyMjBdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73oubPoubXoubfo +ubjoubnoubroubvoub3oub7ouoDouoLouoPouoTouobouojouonouorouovouozouo3ouo7oupHo +upLoupPoupXoupboupfoupjoupnouproupvoup3oup/ouqDouqHouqLouqPouqTouqXouqbouqfo +uqjouqnouqrouq3ouq7ourDourHourPourTourXourbourfourjournourvourzour3our7our/o +u4Dou4Hou4Lvv73ou4Pou4Tou4Xou4bou4fou4jou4nou4rou4vou4zou43ou4/ou5Dou5Hou5Lo +u5Pou5Tou5Xou5bou5fou5jou5nou5rou5vou5zou53ou57ou5/ou6Dou6Hou6Lou6Pou6TloIvl +oI3ln73ln63loIDloJ7loJnloYTloKDloaXloazlooHloonloprlooDppqjpvJnmh7/oibnoib3o +ib/oio/oioroiqjoioToio7oipHoipfoipnoiqvoirjoir7oirDoi4joi4roi6Poipjoirfoiq7o +i4voi4zoi4HoiqnoirToiqHoiqroip/oi4Toi47oiqToi6HojInoi7foi6TojI/ojIfoi5zoi7To +i5Loi5jojIzoi7voi5PojJHojJrojIbojJTojJXoi6Doi5XojJzojZHojZvojZzojIjojpLojLzo +jLTojLHojpvojZ7ojK/ojY/ojYfojYPojZ/ojYDojJfojaDojK3ojLrojLPojabojaXvv70iLnNw +bGl0KCIiKTtmb3IoYT0wO2EhPXRbMjIwXS5sZW5ndGg7KythKWlmKHRbMjIwXVthXS5jaGFyQ29k +ZUF0KDApIT09NjU1MzMpe3JbdFsyMjBdW2FdXT01NjMyMCthO2VbNTYzMjArYV09dFsyMjBdW2Fd +fXRbMjIxXT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+96Lul6Lum6Lun6Luo6Lup6Luq6Lur6Lus6Lut +6Luu6Luv6Luw6Lux6Luy6Luz6Lu06Lu16Lu26Lu36Lu46Lu56Lu66Lu76Lu86Lu96Lu+6Lu/6LyA +6LyB6LyC6LyD6LyE6LyF6LyG6LyH6LyI6LyJ6LyK6LyL6LyM6LyN6LyO6LyP6LyQ6LyR6LyS6LyT +6LyU6LyV6LyW6LyX6LyY6LyZ6Lya6Lyb6Lyc6Lyd6Lye6Lyf6Lyg6Lyh6Lyi6Lyj77+96Lyk6Lyl +6Lym6Lyn6Lyo6Lyp6Lyq6Lyr6Lys6Lyt6Lyu6Lyv6Lyw6Lyx6Lyy6Lyz6Ly06Ly16Ly26Ly36Ly4 +6Ly56Ly66Ly76Ly86Ly96Ly+6Ly/6L2A6L2B6L2C6L2D6L2E6I2o6Iyb6I2p6I2s6I2q6I2t6I2u +6I6w6I246I6z6I606I6g6I6q6I6T6I6c6I6F6I286I626I6p6I296I646I276I6Y6I6e6I6o6I66 +6I686I+B6JCB6I+l6I+Y5aCH6JCY6JCL6I+d6I+96I+W6JCc6JC46JCR6JCG6I+U6I+f6JCP6JCD +6I+46I+56I+q6I+F6I+A6JCm6I+w6I+h6JGc6JGR6JGa6JGZ6JGz6JKH6JKI6JG66JKJ6JG46JC8 +6JGG6JGp6JG26JKM6JKO6JCx6JGt6JOB6JON6JOQ6JOm6JK96JOT6JOK6JK/6JK66JOg6JKh6JK5 +6JK06JKX6JOl6JOj6JSM55SN6JS46JOw6JS56JSf6JS677+9Ii5zcGxpdCgiIik7Zm9yKGE9MDth +IT10WzIyMV0ubGVuZ3RoOysrYSlpZih0WzIyMV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXty +W3RbMjIxXVthXV09NTY1NzYrYTtlWzU2NTc2K2FdPXRbMjIxXVthXX10WzIyMl09Iu+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/vei9hei9hui9h+i9iOi9iei9iui9i+i9jOi9jei9jui9j+i9kOi9kei9kui9 +k+i9lOi9lei9lui9l+i9mOi9mei9mui9m+i9nOi9nei9nui9n+i9oOi9oei9oui9o+i9pOi9pei9 +qui+gOi+jOi+kui+nei+oOi+oei+oui+pOi+pei+pui+p+i+qui+rOi+rei+rui+r+i+sui+s+i+ +tOi+tei+t+i+uOi+uui+u+i+vOi+v+i/gOi/g+i/hu+/vei/iei/iui/i+i/jOi/jei/j+i/kui/ +lui/l+i/mui/oOi/oei/o+i/p+i/rOi/r+i/sei/sui/tOi/tei/tui/uui/u+i/vOi/vui/v+mA +h+mAiOmAjOmAjumAk+mAlemAmOiVluiUu+iTv+iTvOiVmeiViOiVqOiVpOiVnuiVuueeouiVg+iV +suiVu+iWpOiWqOiWh+iWj+iVueiWruiWnOiWheiWueiWt+iWsOiXk+iXgeiXnOiXv+iYp+iYheiY +qeiYluiYvOW7vuW8iOWkvOWlgeiAt+WlleWlmuWlmOWMj+WwouWwpeWwrOWwtOaJjOaJquaKn+aK +u+aLiuaLmuaLl+aLruaMouaLtuaMueaNi+aNg+aOreaPtuaNseaNuuaOjuaOtOaNreaOrOaOiuaN +qeaOruaOvOaPsuaPuOaPoOaPv+aPhOaPnuaPjuaRkuaPhuaOvuaRheaRgeaQi+aQm+aQoOaQjOaQ +puaQoeaRnuaShOaRreaSlu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMjJdLmxlbmd0aDsr +K2EpaWYodFsyMjJdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIyMl1bYV1dPTU2ODMy +K2E7ZVs1NjgzMithXT10WzIyMl1bYV19dFsyMjNdPSLvv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73pgJnp +gJzpgKPpgKTpgKXpgKfpgKjpgKnpgKrpgKvpgKzpgLDpgLHpgLLpgLPpgLTpgLfpgLnpgLrpgL3p +gL/pgYDpgYPpgYXpgYbpgYjpgYnpgYrpgYvpgYzpgY7pgZTpgZXpgZbpgZnpgZrpgZzpgZ3pgZ7p +gZ/pgaDpgaHpgaTpgabpgafpganpgarpgavpgazpga/pgbDpgbHpgbLpgbPpgbbpgbfpgbjpgbnp +gbrpgbvpgbzpgb7pgoHvv73pgoTpgoXpgobpgofpgonpgorpgozpgo3pgo7pgo/pgpDpgpLpgpTp +gpbpgpjpgprpgpzpgp7pgp/pgqDpgqTpgqXpgqfpgqjpgqnpgqvpgq3pgrLpgrfpgrzpgr3pgr/p +g4Dmkbrmkrfmkrjmkpnmkrrmk4Dmk5Dmk5fmk6Tmk6LmlInmlKXmlK7lvIvlv5LnlJnlvJHljZ/l +j7Hlj73lj6nlj6jlj7vlkJLlkJblkIblkYvlkZLlkZPlkZTlkZblkYPlkKHlkZflkZnlkKPlkLLl +koLlkpTlkbflkbHlkaTlkprlkpvlkoTlkbblkablkp3lk5Dlkq3lk4LlkrTlk5Llkqflkqblk5Pl +k5TlkbLlkqPlk5Xlkrvlkr/lk4zlk5nlk5rlk5zlkqnlkqrlkqTlk53lk4/lk57llJvlk6fllKDl +k73llJTlk7PllKLllKPllI/llJHllKfllKrllafllo/llrXllYnlla3llYHllZXllL/llZDllLzv +v70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjIzXS5sZW5ndGg7KythKWlmKHRbMjIzXVthXS5j +aGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMjNdW2FdXT01NzA4OCthO2VbNTcwODgrYV09dFsy +MjNdW2FdfXRbMjI0XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+96YOC6YOD6YOG6YOI6YOJ6YOL6YOM +6YON6YOS6YOU6YOV6YOW6YOY6YOZ6YOa6YOe6YOf6YOg6YOj6YOk6YOl6YOp6YOq6YOs6YOu6YOw +6YOx6YOy6YOz6YO16YO26YO36YO56YO66YO76YO86YO/6YSA6YSB6YSD6YSF6YSG6YSH6YSI6YSJ +6YSK6YSL6YSM6YSN6YSO6YSP6YSQ6YSR6YSS6YST6YSU6YSV6YSW6YSX6YSY6YSa6YSb6YSc77+9 +6YSd6YSf6YSg6YSh6YSk6YSl6YSm6YSn6YSo6YSp6YSq6YSr6YSs6YSt6YSu6YSw6YSy6YSz6YS0 +6YS16YS26YS36YS46YS66YS76YS86YS96YS+6YS/6YWA6YWB6YWC6YWE5ZS35ZWW5ZW15ZW25ZW3 +5ZSz5ZSw5ZWc5ZaL5ZeS5ZaD5Zax5Za55ZaI5ZaB5Zaf5ZW+5ZeW5ZaR5ZW75Zef5Za95Za+5ZaU +5ZaZ5Zeq5Ze35ZeJ5Zif5ZeR5Zer5Zes5ZeU5Zem5Zed5ZeE5Zev5Zel5Zey5Zez5ZeM5ZeN5Zeo +5Ze15Zek6L6U5Zie5ZiI5ZiM5ZiB5Zik5Zij5Ze+5ZiA5Zin5Zit5ZmY5Zi55ZmX5Zis5ZmN5Zmi +5ZmZ5Zmc5ZmM5ZmU5ZqG5Zmk5Zmx5Zmr5Zm75Zm85ZqF5ZqT5Zqv5ZuU5ZuX5Zud5Zuh5Zu15Zur +5Zu55Zu/5ZyE5ZyK5ZyJ5Zyc5biP5biZ5biU5biR5bix5bi75bi877+9Ii5zcGxpdCgiIik7Zm9y +KGE9MDthIT10WzIyNF0ubGVuZ3RoOysrYSlpZih0WzIyNF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1 +NTMzKXtyW3RbMjI0XVthXV09NTczNDQrYTtlWzU3MzQ0K2FdPXRbMjI0XVthXX10WzIyNV09Iu+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/vemFhemFh+mFiOmFkemFk+mFlOmFlemFlumFmOmFmemFm+mFnOmF +n+mFoOmFpumFp+mFqOmFq+mFremFs+mFuumFu+mFvOmGgOmGgemGgumGg+mGhOmGhumGiOmGiumG +jumGj+mGk+mGlOmGlemGlumGl+mGmOmGmemGnOmGnemGnumGn+mGoOmGoemGpOmGpemGpumGp+mG +qOmGqemGq+mGrOmGsOmGsemGsumGs+mGtumGt+mGuOmGuemGu++/vemGvOmGvemGvumGv+mHgOmH +gemHgumHg+mHhOmHhemHhumHiOmHi+mHkOmHkumHk+mHlOmHlemHlumHl+mHmOmHmemHmumHm+mH +nemHnumHn+mHoOmHoemHoumHo+mHpOmHpeW4t+W5hOW5lOW5m+W5nuW5oeWyjOWxuuWyjeWykOWy +luWyiOWymOWymeWykeWymuWynOWyteWyouWyveWyrOWyq+WyseWyo+WzgeWyt+WzhOWzkuWzpOWz +i+WzpeW0guW0g+W0p+W0puW0ruW0pOW0nuW0huW0m+W1mOW0vuW0tOW0veW1rOW1m+W1r+W1neW1 +q+W1i+W1iuW1qeW1tOW2guW2meW2neixs+W2t+W3heW9s+W9t+W+guW+h+W+ieW+jOW+leW+meW+ +nOW+qOW+reW+teW+vOihouW9oeeKreeKsOeKtOeKt+eKuOeLg+eLgeeLjueLjeeLkueLqOeLr+eL +qeeLsueLtOeLt+eMgeeLs+eMg+eLuu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMjVdLmxl +bmd0aDsrK2EpaWYodFsyMjVdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIyNV1bYV1d +PTU3NjAwK2E7ZVs1NzYwMCthXT10WzIyNV1bYV19dFsyMjZdPSLvv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73ph6bph6fph6jph6nph6rph6vph6zph63ph67ph6/ph7Dph7Hph7Lph7Pph7Tph7Xph7bph7fp +h7jph7nph7rph7vph7zph73ph77ph7/piIDpiIHpiILpiIPpiITpiIXpiIbpiIfpiIjpiInpiIrp +iIvpiIzpiI3piI7piI/piJDpiJHpiJLpiJPpiJTpiJXpiJbpiJfpiJjpiJnpiJrpiJvpiJzpiJ3p +iJ7piJ/piKDpiKHpiKLpiKPpiKTvv73piKXpiKbpiKfpiKjpiKnpiKrpiKvpiKzpiK3piK7piK/p +iLDpiLHpiLLpiLPpiLTpiLXpiLbpiLfpiLjpiLnpiLrpiLvpiLzpiL3piL7piL/piYDpiYHpiYLp +iYPpiYTpiYXni7vnjJfnjJPnjKHnjIrnjJ7njJ3njJXnjKLnjLnnjKXnjKznjLjnjLHnjZDnjY3n +jZfnjaDnjaznja/njb7oiJvlpKXpo6flpKTlpILppaPppafppajppanpparppavppazppbTppbfp +pb3ppoDppoTppofpporppo3pppDpppHpppPpppTpppXluoDlupHluovlupbluqXluqDlurnlurXl +ur7lurPotZPlu5Llu5Hlu5vlu6jlu6rohrrlv4Tlv4nlv5blv4/mgIPlv67mgITlv6Hlv6Tlv77m +gIXmgIblv6rlv63lv7jmgJnmgLXmgKbmgJvmgI/mgI3mgKnmgKvmgIrmgL/mgKHmgbjmgbnmgbvm +gbrmgYLvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjI2XS5sZW5ndGg7KythKWlmKHRbMjI2 +XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMjZdW2FdXT01Nzg1NithO2VbNTc4NTYr +YV09dFsyMjZdW2FdfXRbMjI3XT0i77+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+96YmG6YmH6YmI6YmJ6YmK +6YmL6YmM6YmN6YmO6YmP6YmQ6YmR6YmS6YmT6YmU6YmV6YmW6YmX6YmY6YmZ6Yma6Ymb6Ymc6Ymd +6Yme6Ymf6Ymg6Ymh6Ymi6Ymj6Ymk6Yml6Ymm6Ymn6Ymo6Ymp6Ymq6Ymr6Yms6Ymt6Ymu6Ymv6Ymw +6Ymx6Ymy6Ymz6Ym16Ym26Ym36Ym46Ym56Ym66Ym76Ym86Ym96Ym+6Ym/6YqA6YqB6YqC6YqD6YqE +6YqF77+96YqG6YqH6YqI6YqJ6YqK6YqL6YqM6YqN6YqP6YqQ6YqR6YqS6YqT6YqU6YqV6YqW6YqX +6YqY6YqZ6Yqa6Yqb6Yqc6Yqd6Yqe6Yqf6Yqg6Yqh6Yqi6Yqj6Yqk6Yql6Yqm6Yqn5oGq5oG95oKW +5oKa5oKt5oKd5oKD5oKS5oKM5oKb5oOs5oK75oKx5oOd5oOY5oOG5oOa5oK05oSg5oSm5oSV5oSj +5oO05oSA5oSO5oSr5oWK5oW15oas5oaU5oan5oa35oeU5oe15b+d6Zqz6Zep6Zer6Zex6Zez6Ze1 +6Ze26Ze86Ze+6ZiD6ZiE6ZiG6ZiI6ZiK6ZiL6ZiM6ZiN6ZiP6ZiS6ZiV6ZiW6ZiX6ZiZ6Zia5Lis +54i/5oiV5rC15rGU5rGc5rGK5rKj5rKF5rKQ5rKU5rKM5rGo5rGp5rG05rG25rKG5rKp5rOQ5rOU +5rKt5rO35rO45rOx5rOX5rKy5rOg5rOW5rO65rOr5rOu5rKx5rOT5rOv5rO+77+9Ii5zcGxpdCgi +Iik7Zm9yKGE9MDthIT10WzIyN10ubGVuZ3RoOysrYSlpZih0WzIyN11bYV0uY2hhckNvZGVBdCgw +KSE9PTY1NTMzKXtyW3RbMjI3XVthXV09NTgxMTIrYTtlWzU4MTEyK2FdPXRbMjI3XVthXX10WzIy +OF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vemKqOmKqemKqumKq+mKrOmKremKr+mKsOmKsemKsumK +s+mKtOmKtemKtumKt+mKuOmKuemKuumKu+mKvOmKvemKvumKv+mLgOmLgemLgumLg+mLhOmLhemL +humLh+mLiemLiumLi+mLjOmLjemLjumLj+mLkOmLkemLkumLk+mLlOmLlemLlumLl+mLmOmLmemL +mumLm+mLnOmLnemLnumLn+mLoOmLoemLoumLo+mLpOmLpemLpumLp+mLqO+/vemLqemLqumLq+mL +rOmLremLrumLr+mLsOmLsemLsumLs+mLtOmLtemLtumLt+mLuOmLuemLuumLu+mLvOmLvemLvumL +v+mMgOmMgemMgumMg+mMhOmMhemMhumMh+mMiOmMiea0uea0p+a0jOa1g+a1iOa0h+a0hOa0mea0 +jua0q+a1jea0rua0tea0mua1j+a1kua1lOa0s+a2kea1r+a2nua2oOa1nua2k+a2lOa1nOa1oOa1 +vOa1o+a4mua3h+a3hea3nua4jua2v+a3oOa4kea3pua3nea3mea4lua2q+a4jOa2rua4q+a5rua5 +jua5q+a6sua5n+a6hua5k+a5lOa4sua4pea5hOa7n+a6sea6mOa7oOa8rea7oua6pea6p+a6vea6 +u+a6t+a7l+a6tOa7j+a6j+a7gua6n+a9oua9hua9h+a8pOa8lea7uea8r+a8tua9i+a9tOa8qua8 +iea8qea+iea+jea+jOa9uOa9sua9vOa9uua/ke+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsy +MjhdLmxlbmd0aDsrK2EpaWYodFsyMjhdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIy +OF1bYV1dPTU4MzY4K2E7ZVs1ODM2OCthXT10WzIyOF1bYV19dFsyMjldPSLvv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73pjIrpjIvpjIzpjI3pjI7pjI/pjJDpjJHpjJLpjJPpjJTpjJXpjJbpjJfpjJjpjJnp +jJrpjJvpjJzpjJ3pjJ7pjJ/pjKDpjKHpjKLpjKPpjKTpjKXpjKbpjKfpjKjpjKnpjKrpjKvpjKzp +jK3pjK7pjK/pjLDpjLHpjLLpjLPpjLTpjLXpjLbpjLfpjLjpjLnpjLrpjLvpjLzpjL3pjL/pjYDp +jYHpjYLpjYPpjYTpjYXpjYbpjYfpjYjpjYnvv73pjYrpjYvpjYzpjY3pjY7pjY/pjZDpjZHpjZLp +jZPpjZTpjZXpjZbpjZfpjZjpjZnpjZrpjZvpjZzpjZ3pjZ7pjZ/pjaDpjaHpjaLpjaPpjaTpjaXp +jabpjafpjajpjanpjavmv4nmvqfmvrnmvrbmv4Lmv6Hmv67mv57mv6Dmv6/ngJrngKPngJvngLnn +gLXngY/ngZ7lroDlroTlrpXlrpPlrqXlrrjnlK/pqp7mkLTlr6Tlr67opLDlr7DouYforIfovrbo +v5Pov5Xov6Xov67ov6Tov6nov6bov7Pov6jpgIXpgITpgIvpgKbpgJHpgI3pgJbpgKHpgLXpgLbp +gK3pgK/pgYTpgZHpgZLpgZDpgajpgZjpgaLpgZvmmrnpgbTpgb3pgoLpgojpgoPpgovlvZDlvZfl +vZblvZjlsLvlkqvlsZDlsZnlrbHlsaPlsabnvrzlvKrlvKnlvK3oibTlvLzprLvlsa7lpoHlpoPl +po3lpqnlpqrlpqPvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjI5XS5sZW5ndGg7KythKWlm +KHRbMjI5XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMjldW2FdXT01ODYyNCthO2Vb +NTg2MjQrYV09dFsyMjldW2FdfXRbMjMwXT0i77+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+96Y2s6Y2t6Y2u +6Y2v6Y2w6Y2x6Y2y6Y2z6Y206Y216Y226Y236Y246Y256Y266Y276Y286Y296Y2+6Y2/6Y6A6Y6B +6Y6C6Y6D6Y6E6Y6F6Y6G6Y6H6Y6I6Y6J6Y6K6Y6L6Y6M6Y6N6Y6O6Y6Q6Y6R6Y6S6Y6T6Y6U6Y6V +6Y6W6Y6X6Y6Y6Y6Z6Y6a6Y6b6Y6c6Y6d6Y6e6Y6f6Y6g6Y6h6Y6i6Y6j6Y6k6Y6l6Y6m6Y6n6Y6o +6Y6p6Y6q6Y6r77+96Y6s6Y6t6Y6u6Y6v6Y6w6Y6x6Y6y6Y6z6Y606Y616Y626Y636Y646Y656Y66 +6Y676Y686Y696Y6+6Y6/6Y+A6Y+B6Y+C6Y+D6Y+E6Y+F6Y+G6Y+H6Y+I6Y+J6Y+L6Y+M6Y+N5aaX +5aeK5aar5aae5aak5aeS5aay5aav5aeX5aa+5aiF5aiG5aed5aiI5aej5aeY5ae55aiM5aiJ5aiy +5ai05aiR5aij5aiT5amA5amn5amK5amV5ai85ami5am16IOs5aqq5aqb5am35am65aq+5aur5aqy +5auS5auU5aq45aug5auj5aux5auW5aum5auY5auc5ayJ5ayX5ayW5ayy5ay35a2A5bCV5bCc5a2a +5a2l5a2z5a2R5a2T5a2i6am16am36am46am66am/6am96aqA6aqB6aqF6aqI6aqK6aqQ6aqS6aqT +6aqW6aqY6aqb6aqc6aqd6aqf6aqg6aqi6aqj6aql6aqn57qf57qh57qj57ql57qo57qp77+9Ii5z +cGxpdCgiIik7Zm9yKGE9MDthIT10WzIzMF0ubGVuZ3RoOysrYSlpZih0WzIzMF1bYV0uY2hhckNv +ZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjMwXVthXV09NTg4ODArYTtlWzU4ODgwK2FdPXRbMjMwXVth +XX10WzIzMV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vemPjumPj+mPkOmPkemPkumPk+mPlOmPlemP +l+mPmOmPmemPmumPm+mPnOmPnemPnumPn+mPoOmPoemPoumPo+mPpOmPpemPpumPp+mPqOmPqemP +qumPq+mPrOmPremPrumPr+mPsOmPsemPsumPs+mPtOmPtemPtumPt+mPuOmPuemPuumPu+mPvOmP +vemPvumPv+mQgOmQgemQgumQg+mQhOmQhemQhumQh+mQiOmQiemQiumQi+mQjOmQje+/vemQjumQ +j+mQkOmQkemQkumQk+mQlOmQlemQlumQl+mQmOmQmemQmumQm+mQnOmQnemQnumQn+mQoOmQoemQ +oumQo+mQpOmQpemQpumQp+mQqOmQqemQqumQq+mQrOmQremQrue6ree6sOe6vue7gOe7gee7gue7 +iee7i+e7jOe7kOe7lOe7l+e7m+e7oOe7oee7qOe7q+e7rue7r+e7see7sue8jee7tue7uue7u+e7 +vue8gee8gue8g+e8h+e8iOe8i+e8jOe8j+e8kee8kue8l+e8mee8nOe8m+e8n+e8oee8oue8o+e8 +pOe8pee8pue8p+e8que8q+e8rOe8ree8r+e8sOe8see8sue8s+e8teW5uueVv+W3m+eUvumCleeO +jueOkeeOrueOoueOn+ePj+ePguePkeeOt+eOs+ePgOePieePiOePpeePmemhvOeQiuePqeePp+eP +nueOuuePsueQj+eQqueRm+eQpueQpeeQqOeQsOeQrueQrO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7 +YSE9dFsyMzFdLmxlbmd0aDsrK2EpaWYodFsyMzFdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7 +clt0WzIzMV1bYV1dPTU5MTM2K2E7ZVs1OTEzNithXT10WzIzMV1bYV19dFsyMzJdPSLvv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73pkK/pkLDpkLHpkLLpkLPpkLTpkLXpkLbpkLfpkLjpkLnpkLrpkLvpkLzp +kL3pkL/pkYDpkYHpkYLpkYPpkYTpkYXpkYbpkYfpkYjpkYnpkYrpkYvpkYzpkY3pkY7pkY/pkZDp +kZHpkZLpkZPpkZTpkZXpkZbpkZfpkZjpkZnpkZrpkZvpkZzpkZ3pkZ7pkZ/pkaDpkaHpkaLpkaPp +kaTpkaXpkabpkafpkajpkanpkarpkazpka3pka7pka/vv73pkbDpkbHpkbLpkbPpkbTpkbXpkbbp +kbfpkbjpkbnpkbrpkbvpkbzpkb3pkb7pkb/pkoDpkoHpkoLpkoPpkoTpkpHpkpbpkpjpk4fpk4/p +k5Ppk5Tpk5rpk6bpk7vplJzplKDnkJvnkJrnkYHnkZznkZfnkZXnkZnnkbfnka3nkb7nkpznko7n +koDnkoHnkofnkovnkp7nkqjnkqnnkpDnkqfnk5Lnkrrpn6rpn6vpn6zmnYzmnZPmnZ7mnYjmnanm +nqXmnofmnarmnbPmnpjmnqfmnbXmnqjmnp7mnq3mnovmnbfmnbzmn7DmoInmn5jmoIrmn6nmnrDm +oIzmn5nmnrXmn5rmnrPmn53moIDmn4Pmnrjmn6LmoI7mn4Hmn73moLLmoLPmoaDmoaHmoY7moaLm +oYTmoaTmooPmoJ3moZXmoabmoYHmoafmoYDmoL7moYrmoYnmoKnmorXmoo/mobTmobfmopPmoavm +o4Lmpa7mo7zmpJ/mpKDmo7nvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjMyXS5sZW5ndGg7 +KythKWlmKHRbMjMyXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMzJdW2FdXT01OTM5 +MithO2VbNTkzOTIrYV09dFsyMzJdW2FdfXRbMjMzXT0i77+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+96ZSn +6ZSz6ZS96ZWD6ZWI6ZWL6ZWV6ZWa6ZWg6ZWu6ZW06ZW16ZW36ZW46ZW56ZW66ZW76ZW86ZW96ZW+ +6ZaA6ZaB6ZaC6ZaD6ZaE6ZaF6ZaG6ZaH6ZaI6ZaJ6ZaK6ZaL6ZaM6ZaN6ZaO6ZaP6ZaQ6ZaR6ZaS +6ZaT6ZaU6ZaV6ZaW6ZaX6ZaY6ZaZ6Zaa6Zab6Zac6Zad6Zae6Zaf6Zag6Zah6Zai6Zaj6Zak6Zal +6Zam6Zan6Zao6Zap6Zaq77+96Zar6Zas6Zat6Zau6Zav6Zaw6Zax6Zay6Zaz6Za06Za16Za26Za3 +6Za46Za56Za66Za76Za86Za96Za+6Za/6ZeA6ZeB6ZeC6ZeD6ZeE6ZeF6ZeG6ZeH6ZeI6ZeJ6ZeK +6ZeL5qSk5qOw5qSL5qSB5qWX5qOj5qSQ5qWx5qS55qWg5qWC5qWd5qaE5qWr5qaA5qaY5qW45qS0 +5qeM5qaH5qaI5qeO5qaJ5qWm5qWj5qW55qab5qan5qa75qar5qat5qeU5qax5qeB5qeK5qef5qaV +5qeg5qaN5qe/5qiv5qet5qiX5qiY5qml5qey5qmE5qi+5qqg5qmQ5qmb5qi15qqO5qm55qi95qio +5qmY5qm85qqR5qqQ5qqp5qqX5qqr54y3542S5q6B5q6C5q6H5q6E5q6S5q6T5q6N5q6a5q6b5q6h +5q6q6L2r6L2t6L2x6L2y6L2z6L216L226L246L236L256L266L286L2+6L6B6L6C6L6E6L6H6L6L +77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIzM10ubGVuZ3RoOysrYSlpZih0WzIzM11bYV0u +Y2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjMzXVthXV09NTk2NDgrYTtlWzU5NjQ4K2FdPXRb +MjMzXVthXX10WzIzNF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vemXjOmXjemXjumXj+mXkOmXkemX +kumXk+mXlOmXlemXlumXl+mXmOmXmemXmumXm+mXnOmXnemXnumXn+mXoOmXoemXoumXo+mXpOmX +pemXpumXp+mXrOmXv+mYh+mYk+mYmOmYm+mYnumYoOmYo+mYpOmYpemYpumYp+mYqOmYqemYq+mY +rOmYremYr+mYsOmYt+mYuOmYuemYuumYvumZgemZg+mZiumZjumZj+mZkemZkumZk+mZlumZl++/ +vemZmOmZmemZmumZnOmZnemZnumZoOmZo+mZpemZpumZq+mZremZrumZr+mZsOmZsemZs+mZuOmZ +uemZuumZu+mZvOmZvemZvumZv+magOmagemagumag+mahOmah+maiemaiui+jei+jui+j+i+mOi+ +mui7juaIi+aIl+aIm+aIn+aIouaIoeaIpeaIpOaIrOiHp+eTr+eTtOeTv+eUj+eUkeeUk+aUtOaX +ruaXr+aXsOaYiuaYmeadsuaYg+aYleaYgOeCheabt+aYneaYtOaYseaYtuaYteiAhuaZn+aZlOaZ +geaZj+aZluaZoeaZl+aZt+aahOaajOaap+aaneaavuabm+abnOabpuabqei0sui0s+i0tui0u+i0 +vei1gOi1hei1hui1iOi1iei1h+i1jei1lei1meinh+iniuini+injOinjuinj+inkOinkeeJrueK +n+eJneeJpueJr+eJvueJv+eKhOeKi+eKjeeKj+eKkuaMiOaMsuaOsO+/vSIuc3BsaXQoIiIpO2Zv +cihhPTA7YSE9dFsyMzRdLmxlbmd0aDsrK2EpaWYodFsyMzRdW2FdLmNoYXJDb2RlQXQoMCkhPT02 +NTUzMyl7clt0WzIzNF1bYV1dPTU5OTA0K2E7ZVs1OTkwNCthXT10WzIzNF1bYV19dFsyMzVdPSLv +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73pmozpmo7pmpHpmpLpmpPpmpXpmpbpmprpmpvpmp3pmp7pmp/p +mqDpmqHpmqLpmqPpmqTpmqXpmqbpmqjpmqnpmqrpmqvpmqzpmq3pmq7pmq/pmrHpmrLpmrTpmrXp +mrfpmrjpmrrpmrvpmr/pm4Lpm4Ppm4jpm4rpm4vpm5Dpm5Hpm5Ppm5Tpm5bpm5fpm5jpm5npm5rp +m5vpm5zpm53pm57pm5/pm6Hpm6Lpm6Ppm6Tpm6Xpm6bpm6fpm6vvv73pm6zpm63pm67pm7Dpm7Hp +m7Lpm7Tpm7Xpm7jpm7rpm7vpm7zpm73pm7/pnILpnIPpnIXpnIrpnIvpnIzpnJDpnJHpnJLpnJTp +nJXpnJfpnJjpnJnpnJrpnJvpnJ3pnJ/pnKDmkL/mk5jogITmr6rmr7Pmr73mr7Xmr7nmsIXmsIfm +sIbmsI3msJXmsJjmsJnmsJrmsKHmsKnmsKTmsKrmsLLmlLXmlZXmlavniY3niZLniZbniLDomaLl +iJbogp/ogpzogpPogrzmnIrogr3ogrHogqvogq3ogrTogrfog6fog6jog6nog6rog5vog4Log4To +g5nog43og5fmnJDog53og6vog7Hog7Tog63ohI3ohI7og7Log7zmnJXohJLosZrohLbohJ7ohKzo +hJjohLLohYjohYzohZPohbTohZnohZrohbHohaDohanohbzohb3oha3ohafloY3lqrXohojohoLo +hpHmu5XohqPohqroh4zmnKboh4rohrvvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjM1XS5s +ZW5ndGg7KythKWlmKHRbMjM1XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMzVdW2Fd +XT02MDE2MCthO2VbNjAxNjArYV09dFsyMzVdW2FdfXRbMjM2XT0i77+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+96Zyh6Zyi6Zyj6Zyk6Zyl6Zym6Zyn6Zyo6Zyp6Zyr6Zys6Zyu6Zyv6Zyx6Zyz6Zy06Zy16Zy2 +6Zy36Zy66Zy76Zy86Zy96Zy/6Z2A6Z2B6Z2C6Z2D6Z2E6Z2F6Z2G6Z2H6Z2I6Z2J6Z2K6Z2L6Z2M +6Z2N6Z2O6Z2P6Z2Q6Z2R6Z2U6Z2V6Z2X6Z2Y6Z2a6Z2c6Z2d6Z2f6Z2j6Z2k6Z2m6Z2n6Z2o6Z2q +6Z2r6Z2s6Z2t6Z2u6Z2v6Z2w6Z2x77+96Z2y6Z216Z236Z246Z256Z266Z276Z296Z2+6Z2/6Z6A +6Z6B6Z6C6Z6D6Z6E6Z6G6Z6H6Z6I6Z6J6Z6K6Z6M6Z6O6Z6P6Z6Q6Z6T6Z6V6Z6W6Z6X6Z6Z6Z6a +6Z6b6Z6c6Z6d6IeB6Iam5qyk5qy35qy55q2D5q2G5q2Z6aOR6aOS6aOT6aOV6aOZ6aOa5q6z5b2A +5q+C6Kez5paQ6b2R5paT5pa85peG5peE5peD5peM5peO5peS5peW54KA54Kc54KW54Kd54K754OA +54K354Kr54Kx54Oo54OK54SQ54ST54SW54Sv54Sx54Wz54Wc54Wo54WF54Wy54WK54W454W654aY +54az54a154ao54ag54eg54eU54en54e554id54io54Gs54SY54Wm54a55oi+5oi95omD5omI5omJ +56S756WA56WG56WJ56Wb56Wc56WT56Wa56Wi56WX56Wg56Wv56Wn56W656aF56aK56aa56an56az +5b+R5b+Q77+9Ii5zcGxpdCgiIik7CmZvcihhPTA7YSE9dFsyMzZdLmxlbmd0aDsrK2EpaWYodFsy +MzZdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIzNl1bYV1dPTYwNDE2K2E7ZVs2MDQx +NithXT10WzIzNl1bYV19dFsyMzddPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73pnp7pnp/pnqHpnqLp +nqTpnqXpnqbpnqfpnqjpnqnpnqrpnqzpnq7pnrDpnrHpnrPpnrXpnrbpnrfpnrjpnrnpnrrpnrvp +nrzpnr3pnr7pnr/pn4Dpn4Hpn4Lpn4Ppn4Tpn4Xpn4bpn4fpn4jpn4npn4rpn4vpn4zpn43pn47p +n4/pn5Dpn5Hpn5Lpn5Ppn5Tpn5Xpn5bpn5fpn5jpn5npn5rpn5vpn5zpn53pn57pn5/pn6Dpn6Hp +n6Lpn6Pvv73pn6Tpn6Xpn6jpn67pn6/pn7Dpn7Hpn7Lpn7Tpn7fpn7jpn7npn7rpn7vpn7zpn73p +n77pn7/poIDpoIHpoILpoIPpoITpoIXpoIbpoIfpoIjpoInpoIrpoIvpoIzpoI3poI7mgLzmgZ3m +gZrmgafmgYHmgZnmgaPmgqvmhIbmhI3mhZ3mhqnmhp3mh4vmh5HmiIbogoDogb/mspPms7bmt7zn +n7bnn7jnoIDnoInnoJfnoJjnoJHmlqvnoK3noJznoJ3noLnnoLrnoLvnoJ/noLznoKXnoKznoKPn +oKnnoY7noa3noZbnoZfnoKbnoZDnoYfnoYznoarnopvnopPnoprnoofnopznoqHnoqPnorLnornn +oqXno5Tno5nno4nno6zno7LnpIXno7TnpJPnpKTnpJ7npLTpvpvpu7npu7vpu7znm7HnnITnnI3n +m7nnnIfnnIjnnJrnnKLnnJnnnK3nnKbnnLXnnLjnnZDnnZHnnYfnnYPnnZrnnajvv70iLnNwbGl0 +KCIiKTtmb3IoYT0wO2EhPXRbMjM3XS5sZW5ndGg7KythKWlmKHRbMjM3XVthXS5jaGFyQ29kZUF0 +KDApIT09NjU1MzMpe3JbdFsyMzddW2FdXT02MDY3MithO2VbNjA2NzIrYV09dFsyMzddW2FdfXRb +MjM4XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+96aCP6aCQ6aCR6aCS6aCT6aCU6aCV6aCW6aCX6aCY +6aCZ6aCa6aCb6aCc6aCd6aCe6aCf6aCg6aCh6aCi6aCj6aCk6aCl6aCm6aCn6aCo6aCp6aCq6aCr +6aCs6aCt6aCu6aCv6aCw6aCx6aCy6aCz6aC06aC16aC26aC36aC46aC56aC66aC76aC86aC96aC+ +6aC/6aGA6aGB6aGC6aGD6aGE6aGF6aGG6aGH6aGI6aGJ6aGK6aGL6aGM6aGN77+96aGO6aGP6aGQ +6aGR6aGS6aGT6aGU6aGV6aGW6aGX6aGY6aGZ6aGa6aGb6aGc6aGd6aGe6aGf6aGg6aGh6aGi6aGj +6aGk6aGl6aGm6aGn6aGo6aGp6aGq6aGr6aGs6aGt6aGu552i552l552/556N5529556A556M556R +556f556g556w5561556955S655WA55WO55WL55WI55Wb55Wy55W555aD572Y572h572f6KmI572o +5720572x5725576B572+55uN55ul6KCy6ZKF6ZKG6ZKH6ZKL6ZKK6ZKM6ZKN6ZKP6ZKQ6ZKU6ZKX +6ZKV6ZKa6ZKb6ZKc6ZKj6ZKk6ZKr6ZKq6ZKt6ZKs6ZKv6ZKw6ZKy6ZK06ZK26ZK36ZK46ZK56ZK6 +6ZK86ZK96ZK/6ZOE6ZOI6ZOJ6ZOK6ZOL6ZOM6ZON6ZOO6ZOQ6ZOR6ZOS6ZOV6ZOW6ZOX6ZOZ6ZOY +6ZOb6ZOe6ZOf6ZOg6ZOi6ZOk6ZOl6ZOn6ZOo6ZOq77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10 +WzIzOF0ubGVuZ3RoOysrYSlpZih0WzIzOF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3Rb +MjM4XVthXV09NjA5MjgrYTtlWzYwOTI4K2FdPXRbMjM4XVthXX10WzIzOV09Iu+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/vemhr+mhsOmhsemhsumhs+mhtOmii+mijumikumilemimemio+miqOmiqemiqumi +q+mirOmiremirumir+misOmisemisumis+mitOmitemitumit+miuOmiuemiuumiu+mivOmivemi +vumiv+mjgOmjgemjgumjg+mjhOmjhemjhumjh+mjiOmjiemjiumji+mjjOmjjemjj+mjkOmjlOmj +lumjl+mjm+mjnOmjnemjoOmjoemjoumjo+mjpO+/vemjpemjpumjqemjqumjq+mjrOmjremjrumj +r+mjsOmjsemjsumjs+mjtOmjtemjtumjt+mjuOmjuemjuumju+mjvOmjvemjvumjv+mkgOmkgemk +gumkg+mkhOmkhemkhumkh+mTqemTq+mTrumTr+mTs+mTtOmTtemTt+mTuemTvOmTvemTv+mUg+mU +gumUhumUh+mUiemUiumUjemUjumUj+mUkumUk+mUlOmUlemUlumUmOmUm+mUnemUnumUn+mUoumU +qumUq+mUqemUrOmUsemUsumUtOmUtumUt+mUuOmUvOmUvumUv+mVgumUtemVhOmVhemVhumViemV +jOmVjumVj+mVkumVk+mVlOmVlumVl+mVmOmVmemVm+mVnumVn+mVnemVoemVoumVpOmVpemVpumV +p+mVqOmVqemVqumVq+mVrOmVr+mVsemVsumVs+mUuuefp+efrOmbieenleenreeno+enq+eohuW1 +h+eog+eogueonueolO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMzldLmxlbmd0aDsrK2Ep +aWYodFsyMzldW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIzOV1bYV1dPTYxMTg0K2E7 +ZVs2MTE4NCthXT10WzIzOV1bYV19dFsyNDBdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73ppIjppInp +pIrppIvppIzppI7ppI/ppJHppJLppJPppJTppJXppJbppJfppJjppJnppJrppJvppJzppJ3ppJ7p +pJ/ppKDppKHppKLppKPppKTppKXppKbppKfppKjppKnppKrppKvppKzppK3ppK/ppLDppLHppLLp +pLPppLTppLXppLbppLfppLjppLnppLrppLvppLzppL3ppL7ppL/ppYDppYHppYLppYPppYTppYXp +pYbppYfppYjppYnvv73ppYrppYvppYzppY3ppY7ppY/ppZDppZHppZLppZPppZbppZfppZjppZnp +pZrppZvppZzppZ3ppZ7ppZ/ppaDppaHppaLppaTppabppbPppbjppbnppbvppb7ppoLppoPpponn +qLnnqLfnqZHpu4/ppqXnqbDnmojnmo7nmpPnmpnnmqTnk57nk6DnlKzpuKDpuKLpuKjpuKnpuKrp +uKvpuKzpuLLpuLHpuLbpuLjpuLfpuLnpuLrpuL7puYHpuYLpuYTpuYbpuYfpuYjpuYnpuYvpuYzp +uY7puZHpuZXpuZfpuZrpuZvpuZzpuZ7puaPpuabpuafpuajpuanpuarpuavpuazpubHpua3pubPn +lpLnlpTnlpbnlqDnlp3nlqznlqPnlrPnlrTnlrjnl4TnlrHnlrDnl4Pnl4Lnl5bnl43nl6Pnl6jn +l6bnl6Tnl6vnl6fnmIPnl7Hnl7znl7/nmJDnmIDnmIXnmIznmJfnmIrnmKXnmJjnmJXnmJnvv70i +LnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjQwXS5sZW5ndGg7KythKWlmKHRbMjQwXVthXS5jaGFy +Q29kZUF0KDApIT09NjU1MzMpe3JbdFsyNDBdW2FdXT02MTQ0MCthO2VbNjE0NDArYV09dFsyNDBd +W2FdfXRbMjQxXT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+96aaM6aaO6aaa6aab6aac6aad6aae6aaf +6aag6aah6aai6aaj6aak6aam6aan6aap6aaq6aar6aas6aat6aau6aav6aaw6aax6aay6aaz6aa0 +6aa16aa26aa36aa46aa56aa66aa76aa86aa96aa+6aa/6aeA6aeB6aeC6aeD6aeE6aeF6aeG6aeH +6aeI6aeJ6aeK6aeL6aeM6aeN6aeO6aeP6aeQ6aeR6aeS6aeT6aeU6aeV6aeW6aeX6aeY77+96aeZ +6aea6aeb6aec6aed6aee6aef6aeg6aeh6aei6aej6aek6ael6aem6aen6aeo6aep6aeq6aer6aes +6aet6aeu6aev6aew6aex6aey6aez6ae06ae16ae26ae36ae46ae555ib55i855ii55ig55mA55it +55iw55i/55i155mD55i+55iz55mN55me55mU55mc55mW55mr55mv57+K56um56m456m556qA56qG +56qI56qV56qm56qg56qs56qo56qt56qz6KGk6KGp6KGy6KG96KG/6KKC6KKi6KOG6KK36KK86KOJ +6KOi6KOO6KOj6KOl6KOx6KSa6KO86KOo6KO+6KOw6KSh6KSZ6KST6KSb6KSK6KS06KSr6KS26KWB +6KWm6KW755aL6IOl55qy55q055+c6ICS6ICU6ICW6ICc6ICg6ICi6ICl6ICm6ICn6ICp6ICo6ICx +6ICL6IC16IGD6IGG6IGN6IGS6IGp6IGx6KaD6aG46aKA6aKD77+9Ii5zcGxpdCgiIik7Zm9yKGE9 +MDthIT10WzI0MV0ubGVuZ3RoOysrYSlpZih0WzI0MV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMz +KXtyW3RbMjQxXVthXV09NjE2OTYrYTtlWzYxNjk2K2FdPXRbMjQxXVthXX10WzI0Ml09Iu+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/vemnuumnu+mnvOmnvemnvumnv+mogOmogemogumog+mohOmohemohumo +h+moiOmoiemoiumoi+mojOmojemojumoj+mokOmokemokumok+molOmolemolumol+momOmomemo +mumom+monOmonemonumon+mooOmooemooumoo+mopOmopemopumop+moqOmoqemoqumoq+morOmo +remorumor+mosOmosemosumos+motOmotemotumot+mouO+/vemouemouumou+movOmovemovumo +v+mpgOmpgempgumpg+mphOmphemphumph+mpiOmpiempiumpi+mpjOmpjempjumpj+mpkOmpkemp +kumpk+mplOmplemplumpl+mpmOmpmemiiemijOmijemij+milOmimumim+minumin+mioemioumi +pemipuiZjeiZlOiZrOiZruiZv+iZuuiZvOiZu+iaqOiajeiai+iarOianeiap+iao+iaquiak+ia +qeiatuibhOiateibjuiasOiauuiaseiar+ibieibj+iatOibqeibseibsuibreibs+ibkOick+ib +nuibtOibn+ibmOibkeicg+ich+ibuOiciOiciuicjeicieico+icu+icnuicpeicruicmuicvuid +iOictOicseicqeict+icv+ieguicouidveidvuidu+idoOidsOidjOidruiei+idk+ido+idvOid +pOidmeidpeiek+ier+ieqOifku+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyNDJdLmxlbmd0 +aDsrK2EpaWYodFsyNDJdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzI0Ml1bYV1dPTYx +OTUyK2E7ZVs2MTk1MithXT10WzI0Ml1bYV19dFsyNDNdPSLvv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73p +qZrpqZvpqZzpqZ3pqZ7pqZ/pqaDpqaHpqaLpqaPpqaTpqaXpqabpqafpqajpqanpqarpqavpqbLp +qoPpqonpqo3pqo7pqpTpqpXpqpnpqqbpqqnpqqrpqqvpqqzpqq3pqq7pqq/pqrLpqrPpqrTpqrXp +qrnpqrvpqr3pqr7pqr/pq4Ppq4Tpq4bpq4fpq4jpq4npq4rpq43pq47pq4/pq5Dpq5Lpq5Tpq5Xp +q5bpq5fpq5npq5rpq5vpq5zvv73pq53pq57pq6Dpq6Lpq6Ppq6Tpq6Xpq6fpq6jpq6npq6rpq6zp +q67pq7Dpq7Hpq7Lpq7Ppq7Tpq7Xpq7bpq7fpq7jpq7rpq7zpq73pq77pq7/prIDprIHprILprITp +rIXprIbon4bonojonoXonq3onpfonoPonqvon6XonqzonrXonrPon4von5Ponr3on5Hon4Don4ro +n5von6ron6Don67ooJbooJPon77ooIrooJvooKHooLnooLznvLbnvYLnvYTnvYXoiJDnq7rnq73n +rIjnrIPnrITnrJXnrIrnrKvnrI/nrYfnrLjnrKrnrJnnrK7nrLHnrKDnrKXnrKTnrLPnrL7nrJ7n +rZjnrZrnrYXnrbXnrYznrZ3nraDnra7nrbvnraLnrbLnrbHnrpDnrqbnrqfnrrjnrqznrp3nrqjn +roXnrqrnrpznrqLnrqvnrrTnr5Hnr4Hnr4znr53nr5rnr6Xnr6bnr6rnsIznr77nr7znsI/nsJbn +sIvvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjQzXS5sZW5ndGg7KythKWlmKHRbMjQzXVth +XS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyNDNdW2FdXT02MjIwOCthO2VbNjIyMDgrYV09 +dFsyNDNdW2FdfXRbMjQ0XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+96ayH6ayJ6ayK6ayL6ayM6ayN +6ayO6ayQ6ayR6ayS6ayU6ayV6ayW6ayX6ayY6ayZ6aya6ayb6ayc6ayd6aye6ayg6ayh6ayi6ayk +6ayl6aym6ayn6ayo6ayp6ayq6ayr6ays6ayt6ayu6ayw6ayx6ayz6ay06ay16ay26ay36ay46ay5 +6ay66ay96ay+6ay/6a2A6a2G6a2K6a2L6a2M6a2O6a2Q6a2S6a2T6a2V6a2W6a2X6a2Y6a2Z6a2a +77+96a2b6a2c6a2d6a2e6a2f6a2g6a2h6a2i6a2j6a2k6a2l6a2m6a2n6a2o6a2p6a2q6a2r6a2s +6a2t6a2u6a2v6a2w6a2x6a2y6a2z6a206a216a226a236a246a256a266a2757Cf57Cq57Cm57C4 +57GB57GA6Ie+6IiB6IiC6IiE6Ies6KGE6Iih6Iii6Iij6Iit6Iiv6Iio6Iir6Ii46Ii76Iiz6Ii0 +6Ii+6ImE6ImJ6ImL6ImP6Ima6Imf6Imo6KG+6KKF6KKI6KOY6KOf6KWe576d576f576n576v576w +576y57G85pWJ57KR57Kd57Kc57Ke57Ki57Ky57K857K957OB57OH57OM57ON57OI57OF57OX57Oo +6Imu5pqo576/57+O57+V57+l57+h57+m57+p57+u57+z57O457W357am57au57mH57qb6bq46bq0 +6LWz6LaE6LaU6LaR6Lax6LWn6LWt6LGH6LGJ6YWK6YWQ6YWO6YWP6YWk77+9Ii5zcGxpdCgiIik7 +Zm9yKGE9MDthIT10WzI0NF0ubGVuZ3RoOysrYSlpZih0WzI0NF1bYV0uY2hhckNvZGVBdCgwKSE9 +PTY1NTMzKXtyW3RbMjQ0XVthXV09NjI0NjQrYTtlWzYyNDY0K2FdPXRbMjQ0XVthXX10WzI0NV09 +Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/vemtvOmtvemtvumtv+mugOmugemugumug+muhOmuhemuhumu +h+muiOmuiemuiumui+mujOmujemujumuj+mukOmukemukumuk+mulOmulemulumul+mumOmumemu +mumum+munOmunemunumun+muoOmuoemuoumuo+mupOmupemupumup+muqOmuqemuqumuq+murOmu +remurumur+musOmusemusumus+mutOmutemutumut+muuOmuuemuuu+/vemuu+muvOmuvemuvumu +v+mvgOmvgemvgumvg+mvhOmvhemvhumvh+mviOmviemviumvi+mvjOmvjemvjumvj+mvkOmvkemv +kumvk+mvlOmvlemvlumvl+mvmOmvmemvmumvm+mFoumFoemFsOmFqemFr+mFvemFvumFsumFtOmF +uemGjOmGhemGkOmGjemGkemGoumGo+mGqumGremGrumGr+mGtemGtOmGuuixlem5vui2uOi3q+i4 +hei5mei5qei2tei2v+i2vOi2uui3hOi3lui3l+i3mui3nui3jui3j+i3m+i3hui3rOi3t+i3uOi3 +o+i3uei3u+i3pOi4iei3vei4lOi4nei4n+i4rOi4rui4o+i4r+i4uui5gOi4uei4tei4vei4sei5 +iei5gei5gui5kei5kui5iui5sOi5tui5vOi5r+i5tOi6hei6j+i6lOi6kOi6nOi6nuixuOiyguiy +iuiyheiymOiylOaWm+inluinnuinmuinnO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyNDVd +Lmxlbmd0aDsrK2EpaWYodFsyNDVdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzI0NV1b +YV1dPTYyNzIwK2E7ZVs2MjcyMCthXT10WzI0NV1bYV19dFsyNDZdPSLvv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73pr5zpr53pr57pr5/pr6Dpr6Hpr6Lpr6Ppr6Tpr6Xpr6bpr6fpr6jpr6npr6rpr6vpr6zp +r63pr67pr6/pr7Dpr7Hpr7Lpr7Ppr7Tpr7Xpr7bpr7fpr7jpr7npr7rpr7vpr7zpr73pr77pr7/p +sIDpsIHpsILpsIPpsITpsIXpsIbpsIfpsIjpsInpsIrpsIvpsIzpsI3psI7psI/psJDpsJHpsJLp +sJPpsJTpsJXpsJbpsJfpsJjpsJnpsJrvv73psJvpsJzpsJ3psJ7psJ/psKDpsKHpsKLpsKPpsKTp +sKXpsKbpsKfpsKjpsKnpsKrpsKvpsKzpsK3psK7psK/psLDpsLHpsLLpsLPpsLTpsLXpsLbpsLfp +sLjpsLnpsLrpsLvop6Xop6vop6/oqL7orKbpnZPpm6npm7Ppm6/pnIbpnIHpnIjpnI/pnI7pnKrp +nK3pnLDpnL7pvoDpvoPpvoXpvobpvofpvojpvonpvorpvozpu77pvIvpvI3pmrnpmrzpmr3pm47p +m5Lnnr/pm6Dpio7piq7pi4jpjL7pjarpj4rpjo/pkL7pkavpsb/psoLpsoXpsobpsofpsojnqKPp +sovpso7pspDpspHpspLpspTpspXpsprpspvpsp7psp/psqDpsqHpsqLpsqPpsqXpsqbpsqfpsqjp +sqnpsqvpsq3psq7psrDpsrHpsrLpsrPpsrTpsrXpsrbpsrfpsrrpsrvpsrzpsr3ps4Tps4Xps4bp +s4fps4rps4vvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjQ2XS5sZW5ndGg7KythKWlmKHRb +MjQ2XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyNDZdW2FdXT02Mjk3NithO2VbNjI5 +NzYrYV09dFsyNDZdW2FdfXRbMjQ3XT0i77+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+96bC86bC96bC+6bC/ +6bGA6bGB6bGC6bGD6bGE6bGF6bGG6bGH6bGI6bGJ6bGK6bGL6bGM6bGN6bGO6bGP6bGQ6bGR6bGS +6bGT6bGU6bGV6bGW6bGX6bGY6bGZ6bGa6bGb6bGc6bGd6bGe6bGf6bGg6bGh6bGi6bGj6bGk6bGl +6bGm6bGn6bGo6bGp6bGq6bGr6bGs6bGt6bGu6bGv6bGw6bGx6bGy6bGz6bG06bG16bG26bG36bG4 +6bG56bG677+96bG76bG96bG+6bKA6bKD6bKE6bKJ6bKK6bKM6bKP6bKT6bKW6bKX6bKY6bKZ6bKd +6bKq6bKs6bKv6bK56bK+6bK/6bOA6bOB6bOC6bOI6bOJ6bOR6bOS6bOa6bOb6bOg6bOh6bOM6bON +6bOO6bOP6bOQ6bOT6bOU6bOV6bOX6bOY6bOZ6bOc6bOd6bOf6bOi6Z286Z6F6Z6R6Z6S6Z6U6Z6v +6Z6r6Z6j6Z6y6Z606aqx6aqw6aq36bmY6aq26aq66aq86auB6auA6auF6auC6auL6auM6auR6a2F +6a2D6a2H6a2J6a2I6a2N6a2R6aOo6aSN6aSu6aWV6aWU6auf6auh6aum6auv6aur6au76aut6au5 +6ayI6ayP6ayT6ayf6ayj6bq96bq+57i76bqC6bqH6bqI6bqL6bqS6Y+W6bqd6bqf6bub6buc6bud +6bug6buf6bui6bup6bun6bul6buq6buv6byi6bys6byv6by56by36by96by+6b2E77+9Ii5zcGxp +dCgiIik7Zm9yKGE9MDthIT10WzI0N10ubGVuZ3RoOysrYSlpZih0WzI0N11bYV0uY2hhckNvZGVB +dCgwKSE9PTY1NTMzKXtyW3RbMjQ3XVthXV09NjMyMzIrYTtlWzYzMjMyK2FdPXRbMjQ3XVthXX10 +WzI0OF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vemzo+mzpOmzpemzpumzp+mzqOmzqemzqumzq+mz +rOmzremzrumzr+mzsOmzsemzsumzs+mztOmztemztumzt+mzuOmzuemzuumzu+mzvOmzvemzvumz +v+m0gOm0gem0gum0g+m0hOm0hem0hum0h+m0iOm0iem0ium0i+m0jOm0jem0jum0j+m0kOm0kem0 +kum0k+m0lOm0lem0lum0l+m0mOm0mem0mum0m+m0nOm0nem0num0n+m0oOm0oe+/vem0oum0o+m0 +pOm0pem0pum0p+m0qOm0qem0qum0q+m0rOm0rem0rum0r+m0sOm0sem0sum0s+m0tOm0tem0tum0 +t+m0uOm0uem0uum0u+m0vOm0vem0vum0v+m1gOm1gem1gu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9 +dFsyNDhdLmxlbmd0aDsrK2EpaWYodFsyNDhdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0 +WzI0OF1bYV1dPTYzNDg4K2E7ZVs2MzQ4OCthXT10WzI0OF1bYV19dFsyNDldPSLvv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73ptYPptYTptYXptYbptYfptYjptYnptYrptYvptYzptY3ptY7ptY/ptZDptZHp +tZLptZPptZTptZXptZbptZfptZjptZnptZrptZvptZzptZ3ptZ7ptZ/ptaDptaHptaLptaPptaTp +taXptabptafptajptanptarptavptazpta3pta7pta/ptbDptbHptbLptbPptbTptbXptbbptbfp +tbjptbnptbrptbvptbzptb3ptb7ptb/ptoDptoHvv73ptoLptoPptoTptoXptobptofptojptonp +torptovptozpto3pto7pto/ptpDptpHptpLptpPptpTptpXptpbptpfptpjptpnptprptpvptpzp +tp3ptp7ptp/ptqDptqHptqLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjQ5XS5sZW5ndGg7Kyth +KWlmKHRbMjQ5XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyNDldW2FdXT02Mzc0NCth +O2VbNjM3NDQrYV09dFsyNDldW2FdfXRbMjUwXT0i77+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+96baj6bak +6bal6bam6ban6bao6bap6baq6bar6bas6bat6bau6bav6baw6bax6bay6baz6ba06ba16ba26ba3 +6ba46ba56ba66ba76ba86ba96ba+6ba/6beA6beB6beC6beD6beE6beF6beG6beH6beI6beJ6beK +6beL6beM6beN6beO6beP6beQ6beR6beS6beT6beU6beV6beW6beX6beY6beZ6bea6beb6bec6bed +6bee6bef6beg6beh77+96bei6bej6bek6bel6bem6ben6beo6bep6beq6ber6bes6bet6beu6bev +6bew6bex6bey6bez6be06be16be26be36be46be56be66be76be86be96be+6be/6biA6biB6biC +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzI1MF0ubGVuZ3RoOysrYSlpZih0WzI1MF1bYV0uY2hh +ckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjUwXVthXV09NjRlMythO2VbNjRlMythXT10WzI1MF1b +YV19dFsyNTFdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73puIPpuITpuIXpuIbpuIfpuIjpuInpuIrp +uIvpuIzpuI3puI7puI/puJDpuJHpuJLpuJPpuJTpuJXpuJbpuJfpuJjpuJnpuJrpuJvpuJzpuJ3p +uJ7puKTpuKfpuK7puLDpuLTpuLvpuLzpuYDpuY3puZDpuZLpuZPpuZTpuZbpuZnpuZ3puZ/puaDp +uaHpuaLpuaXpua7pua/pubLpubTpubXpubbpubfpubjpubnpubrpubvpubzpub3puoDvv73puoHp +uoPpuoTpuoXpuobpuonpuorpuozpuo3puo7puo/pupDpupHpupTpupXpupbpupfpupjpupnpuprp +upvpupzpup7puqDpuqHpuqLpuqPpuqTpuqXpuqfpuqjpuqnpuqrvv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv70iLnNwbGl0KCIiKTtmb3IoYT0w +O2EhPXRbMjUxXS5sZW5ndGg7KythKWlmKHRbMjUxXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMp +e3JbdFsyNTFdW2FdXT02NDI1NithO2VbNjQyNTYrYV09dFsyNTFdW2FdfXRbMjUyXT0i77+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+96bqr6bqs6bqt6bqu6bqv6bqw6bqx6bqy6bqz6bq16bq26bq36bq56bq6 +6bq86bq/6buA6buB6buC6buD6buF6buG6buH6buI6buK6buL6buM6buQ6buS6buT6buV6buW6buX +6buZ6bua6bue6buh6buj6buk6bum6buo6bur6bus6but6buu6buw6bux6buy6buz6bu06bu16bu2 +6bu36bu46bu66bu96bu/6byA6byB6byC6byD6byE6byF77+96byG6byH6byI6byJ6byK6byM6byP +6byR6byS6byU6byV6byW6byY6bya6byb6byc6byd6bye6byf6byh6byj6byk6byl6bym6byn6byo +6byp6byq6byr6byt6byu6byw6byx77+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzI1Ml0ubGVuZ3Ro +OysrYSlpZih0WzI1Ml1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjUyXVthXV09NjQ1 +MTIrYTtlWzY0NTEyK2FdPXRbMjUyXVthXX10WzI1M109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vem8 +sum8s+m8tOm8tem8tum8uOm8uum8vOm8v+m9gOm9gem9gum9g+m9hem9hum9h+m9iOm9iem9ium9 +i+m9jOm9jem9jum9j+m9kum9k+m9lOm9lem9lum9l+m9mOm9mem9mum9m+m9nOm9nem9num9n+m9 +oOm9oem9oum9o+m9pOm9pem9pum9p+m9qOm9qem9qum9q+m9rOm9rem9rum9r+m9sOm9sem9sum9 +s+m9tOm9tem9tum9t+m9uO+/vem9uem9uum9u+m9vOm9vem9vum+gem+gum+jem+jum+j+m+kOm+ +kem+kum+k+m+lOm+lem+lum+l+m+mOm+nOm+nem+num+oem+oum+o+m+pOm+pe+krO+lue+mle+n +p++nse+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyNTNdLmxlbmd0aDsrK2EpaWYodFsyNTNdW2Fd +LmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzI1M11bYV1dPTY0NzY4K2E7ZVs2NDc2OCthXT10 +WzI1M11bYV19dFsyNTRdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vqIzvqI3vqI7vqI/vqJHvqJPv +qJTvqJjvqJ/vqKDvqKHvqKPvqKTvqKfvqKjvqKnvv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv70iLnNwbGl0KCIiKTtm +b3IoYT0wO2EhPXRbMjU0XS5sZW5ndGg7KythKWlmKHRbMjU0XVthXS5jaGFyQ29kZUF0KDApIT09 +NjU1MzMpe3JbdFsyNTRdW2FdXT02NTAyNCthO2VbNjUwMjQrYV09dFsyNTRdW2FdfXJldHVybntl +bmM6cixkZWM6ZX19KCk7Y3B0YWJsZVs5NDldPWZ1bmN0aW9uKCl7dmFyIGU9W10scj17fSx0PVtd +LGE7dFswXT0iXDABAgMEBQYHXGJcdFxuXHgwQlxmXHIODxAREhMUFRYXGBkaGxwdHh8gIVwiIyQl +JicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxd +Xl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f++/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFswXS5sZW5ndGg7Kyth +KWlmKHRbMF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMF1bYV1dPTArYTtlWzArYV09 +dFswXVthXX10WzEyOV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veqwguqwg+qwheqwhuqwi+qw +jOqwjeqwjuqwj+qwmOqwnuqwn+qwoeqwouqwo+qwpeqwpuqwp+qwqOqwqeqwquqwq+qwruqwsuqw +s+qwtO+/ve+/ve+/ve+/ve+/ve+/veqwteqwtuqwt+qwuuqwu+qwveqwvuqwv+qxgeqxguqxg+qx +hOqxheqxhuqxh+qxiOqxieqxiuqxjOqxjuqxj+qxkOqxkeqxkuqxk+qxle+/ve+/ve+/ve+/ve+/ +ve+/veqxluqxl+qxmeqxmuqxm+qxneqxnuqxn+qxoOqxoeqxouqxo+qxpOqxpeqxpuqxp+qxqOqx +qeqxquqxq+qxrOqxreqxruqxr+qxsuqxs+qxteqxtuqxueqxu+qxvOqxveqxvuqxv+qyguqyh+qy +iOqyjeqyjuqyj+qykeqykuqyk+qyleqyluqyl+qymOqymeqymuqym+qynuqyouqyo+qypOqypeqy +puqyp+qyq+qyreqyruqyseqysuqys+qytOqyteqytuqyt+qyuuqyvuqyv+qzgOqzguqzg+qzheqz +huqzh+qzieqziuqzi+qzjeqzjuqzj+qzkOqzkeqzkuqzk+qzlOqzluqzmOqzmeqzmuqzm+qznOqz +neqznuqzn+qzouqzo+qzpeqzpuqzqeqzq+qzreqzruqzsuqztOqzt+qzuOqzueqzuuqzu+qzvuqz +v+q0geq0guq0g+q0heq0h+q0iOq0ieq0iuq0i+q0juq0kOq0kuq0k++/vSIuc3BsaXQoIiIpO2Zv +cihhPTA7YSE9dFsxMjldLmxlbmd0aDsrK2EpaWYodFsxMjldW2FdLmNoYXJDb2RlQXQoMCkhPT02 +NTUzMyl7clt0WzEyOV1bYV1dPTMzMDI0K2E7ZVszMzAyNCthXT10WzEyOV1bYV19dFsxMzBdPSLv +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73qtJTqtJXqtJbqtJfqtJnqtJrqtJvqtJ3qtJ7qtJ/qtKHq +tKLqtKPqtKTqtKXqtKbqtKfqtKjqtKrqtKvqtK7qtK/qtLDqtLHqtLLqtLPvv73vv73vv73vv73v +v73vv73qtLbqtLfqtLnqtLrqtLvqtL3qtL7qtL/qtYDqtYHqtYLqtYPqtYbqtYjqtYrqtYvqtYzq +tY3qtY7qtY/qtZHqtZLqtZPqtZXqtZbqtZfvv73vv73vv73vv73vv73vv73qtZnqtZrqtZvqtZzq +tZ3qtZ7qtZ/qtaDqtaLqtaTqtaXqtabqtafqtajqtanqtarqtavqta7qta/qtbHqtbLqtbfqtbjq +tbnqtbrqtb7qtoDqtoPqtoTqtoXqtobqtofqtorqtovqto3qto7qto/qtpHqtpLqtpPqtpTqtpXq +tpbqtpfqtpjqtpnqtprqtpvqtp7qtp/qtqDqtqHqtqLqtqPqtqXqtqbqtqfqtqjqtqnqtqrqtqvq +tqzqtq3qtq7qtq/qtrDqtrHqtrLqtrPqtrTqtrXqtrbqtrjqtrnqtrrqtrvqtrzqtr3qtr7qtr/q +t4Lqt4Pqt4Xqt4bqt4fqt4nqt4rqt4vqt4zqt43qt47qt4/qt5Lqt5Tqt5Xqt5bqt5fqt5jqt5nq +t5rqt5vqt53qt57qt5/qt6Hqt6Lqt6Pqt6Xqt6bqt6fqt6jqt6nqt6rqt6vqt6zqt63qt67qt6/q +t7Dqt7Hqt7Lqt7Pqt7Tqt7Xqt7bqt7fvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTMwXS5s +ZW5ndGg7KythKWlmKHRbMTMwXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxMzBdW2Fd +XT0zMzI4MCthO2VbMzMyODArYV09dFsxMzBdW2FdfXRbMTMxXT0i77+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+96re66re76re96re+6riC6riD6riE6riF6riG6riH6riK6riM6riO6riP6riQ6riR6riS +6riT6riV6riW6riX6riY6riZ6ria6rib6ric77+977+977+977+977+977+96rid6rie6rif6rig +6rih6rii6rij6rik6ril6rim6rin6rio6rip6riq6rir6ris6rit6riu6riv6riy6riz6ri16ri2 +6ri56ri76ri877+977+977+977+977+977+96ri96ri+6ri/6rmC6rmE6rmH6rmI6rmJ6rmL6rmP +6rmR6rmS6rmT6rmV6rmX6rmY6rmZ6rma6rmb6rme6rmi6rmj6rmk6rmm6rmn6rmq6rmr6rmt6rmu +6rmv6rmx6rmy6rmz6rm06rm16rm26rm36rm66rm+6rm/6rqA6rqB6rqC6rqD6rqG6rqH6rqI6rqJ +6rqK6rqL6rqN6rqO6rqP6rqQ6rqR6rqS6rqT6rqU6rqV6rqW6rqX6rqY6rqZ6rqa6rqb6rqc6rqd +6rqe6rqf6rqg6rqh6rqi6rqj6rqk6rql6rqm6rqn6rqo6rqp6rqq6rqr6rqs6rqt6rqu6rqv6rqw +6rqx6rqy6rqz6rq06rq16rq26rq36rq46rq56rq66rq76rq/6ruB6ruC6ruD6ruF6ruG6ruH6ruI +6ruJ6ruK6ruL6ruO6ruS6ruT6ruU6ruV6ruW6ruX6rua6rub6rud6rue6ruf6rug6ruh6rui6ruj +6ruk6rul77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzEzMV0ubGVuZ3RoOysrYSlpZih0WzEz +MV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTMxXVthXV09MzM1MzYrYTtlWzMzNTM2 +K2FdPXRbMTMxXVthXX10WzEzMl09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veq7puq7p+q7qeq7 +quq7rOq7ruq7r+q7sOq7seq7suq7s+q7teq7tuq7t+q7ueq7uuq7u+q7veq7vuq7v+q8gOq8geq8 +guq8g+q8hOq8he+/ve+/ve+/ve+/ve+/ve+/veq8huq8ieq8iuq8i+q8jOq8juq8j+q8keq8kuq8 +k+q8lOq8leq8luq8l+q8mOq8meq8muq8m+q8nOq8neq8nuq8n+q8oOq8oeq8ouq8o++/ve+/ve+/ +ve+/ve+/ve+/veq8pOq8peq8puq8p+q8qOq8qeq8quq8q+q8ruq8r+q8seq8s+q8teq8tuq8t+q8 +uOq8ueq8uuq8u+q8vuq9gOq9hOq9heq9huq9h+q9iuq9i+q9jOq9jeq9juq9j+q9keq9kuq9k+q9 +lOq9leq9luq9l+q9mOq9meq9muq9m+q9nuq9n+q9oOq9oeq9ouq9o+q9puq9p+q9qOq9qeq9quq9 +q+q9rOq9req9ruq9r+q9sOq9seq9suq9s+q9tOq9teq9tuq9t+q9uOq9uuq9u+q9vOq9veq9vuq9 +v+q+geq+guq+g+q+heq+huq+h+q+ieq+iuq+i+q+jOq+jeq+juq+j+q+kuq+k+q+lOq+luq+l+q+ +mOq+meq+muq+m+q+neq+nuq+n+q+oOq+oeq+ouq+o+q+pOq+peq+puq+p+q+qOq+qeq+quq+q+q+ +rOq+req+ruq+r+q+sOq+seq+suq+s+q+tOq+teq+tuq+t+q+uuq+u+q+veq+vu+/vSIuc3BsaXQo +IiIpO2ZvcihhPTA7YSE9dFsxMzJdLmxlbmd0aDsrK2EpaWYodFsxMzJdW2FdLmNoYXJDb2RlQXQo +MCkhPT02NTUzMyl7clt0WzEzMl1bYV1dPTMzNzkyK2E7ZVszMzc5MithXT10WzEzMl1bYV19dFsx +MzNdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73qvr/qv4Hqv4Lqv4Pqv4Tqv4Xqv4bqv4rqv4zq +v4/qv5Dqv5Hqv5Lqv5Pqv5Xqv5bqv5fqv5jqv5nqv5rqv5vqv53qv57qv5/qv6Dqv6Hvv73vv73v +v73vv73vv73vv73qv6Lqv6Pqv6Tqv6Xqv6bqv6fqv6rqv6vqv6zqv63qv67qv6/qv7Lqv7Pqv7Xq +v7bqv7fqv7nqv7rqv7vqv7zqv73qv77qv7/rgILrgIPvv73vv73vv73vv73vv73vv73rgIXrgIbr +gIfrgIjrgInrgIrrgIvrgI3rgI7rgI/rgJHrgJLrgJPrgJXrgJbrgJfrgJjrgJnrgJrrgJvrgJ7r +gJ/rgKDrgKHrgKLrgKPrgKTrgKXrgKbrgKfrgKnrgKrrgKvrgKzrgK3rgK7rgK/rgLDrgLHrgLLr +gLPrgLTrgLXrgLbrgLfrgLjrgLnrgLrrgLvrgLzrgL3rgL7rgL/rgYDrgYHrgYLrgYPrgYbrgYfr +gYnrgYvrgY3rgY/rgZDrgZHrgZLrgZbrgZjrgZrrgZvrgZzrgZ7rgZ/rgaDrgaHrgaLrgaPrgaTr +gaXrgabrgafrgajrganrgarrgavrgazrga3rga7rga/rgbDrgbHrgbLrgbPrgbTrgbXrgbbrgbfr +gbjrgbnrgbrrgbvrgb7rgb/rgoHrgoLrgoPrgoXrgobrgofrgojrgonrgorrgovrgo7rgpDrgpLr +gpPrgpTrgpXrgpbrgpfrgpvrgp3rgp7rgqPrgqTvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRb +MTMzXS5sZW5ndGg7KythKWlmKHRbMTMzXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsx +MzNdW2FdXT0zNDA0OCthO2VbMzQwNDgrYV09dFsxMzNdW2FdfXRbMTM0XT0i77+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+964Kl64Km64Kn64Kq64Kw64Ky64K264K364K564K664K764K964K+64K/64OA +64OB64OC64OD64OG64OK64OL64OM64ON64OO64OP64OS77+977+977+977+977+977+964OT64OV +64OW64OX64OZ64Oa64Ob64Oc64Od64Oe64Of64Oh64Oi64Oj64Ok64Om64On64Oo64Op64Oq64Or +64Os64Ot64Ou64Ov64Ow77+977+977+977+977+977+964Ox64Oy64Oz64O064O164O264O364O4 +64O564O664O764O864O964O+64O/64SA64SB64SC64SD64SE64SF64SG64SH64SK64SN64SO64SP +64SR64SU64SV64SW64SX64Sa64Se64Sf64Sg64Sh64Si64Sm64Sn64Sp64Sq64Sr64St64Su64Sv +64Sw64Sx64Sy64Sz64S264S664S764S864S964S+64S/64WC64WD64WF64WG64WH64WJ64WK64WL +64WM64WN64WO64WP64WS64WT64WW64WX64WZ64Wa64Wb64Wd64We64Wf64Wh64Wi64Wj64Wk64Wl +64Wm64Wn64Wo64Wp64Wq64Wr64Ws64Wt64Wu64Wv64Ww64Wx64Wy64Wz64W064W164W264W364W6 +64W764W964W+64W/64aB64aD64aE64aF64aG64aH64aK64aM64aO64aP64aQ64aR64aV64aW64aX +64aZ64aa64ab64ad77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzEzNF0ubGVuZ3RoOysrYSlp +Zih0WzEzNF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTM0XVthXV09MzQzMDQrYTtl +WzM0MzA0K2FdPXRbMTM0XVthXX10WzEzNV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veuGnuuG +n+uGoOuGoeuGouuGo+uGpOuGpeuGpuuGp+uGqeuGquuGq+uGrOuGreuGruuGr+uGsOuGseuGsuuG +s+uGtOuGteuGtuuGt+uGuO+/ve+/ve+/ve+/ve+/ve+/veuGueuGuuuGu+uGvOuGveuGvuuGv+uH +gOuHgeuHguuHg+uHhOuHheuHhuuHh+uHiOuHieuHiuuHi+uHjeuHjuuHj+uHkeuHkuuHk+uHle+/ +ve+/ve+/ve+/ve+/ve+/veuHluuHl+uHmOuHmeuHmuuHm+uHnuuHoOuHoeuHouuHo+uHpOuHpeuH +puuHp+uHquuHq+uHreuHruuHr+uHseuHsuuHs+uHtOuHteuHtuuHt+uHuOuHuuuHvOuHvuuHv+uI +gOuIgeuIguuIg+uIhuuIh+uIieuIiuuIjeuIjuuIj+uIkOuIkeuIkuuIk+uIluuImOuImuuIm+uI +nOuIneuInuuIn+uIoeuIouuIo+uIpOuIpeuIpuuIp+uIqOuIqeuIquuIq+uIrOuIreuIruuIr+uI +sOuIseuIsuuIs+uIteuItuuIt+uIuOuIueuIuuuIu+uIveuIvuuIv+uJgOuJgeuJguuJg+uJhOuJ +heuJhuuJh+uJiOuJieuJiuuJi+uJjOuJjeuJjuuJj+uJkOuJkeuJkuuJk+uJlOuJleuJluuJl+uJ +meuJmuuJm+uJneuJnuuJn+uJoeuJouuJo+uJpOuJpeuJpuuJp+uJquuJq+uJrOuJreuJru+/vSIu +c3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxMzVdLmxlbmd0aDsrK2EpaWYodFsxMzVdW2FdLmNoYXJD +b2RlQXQoMCkhPT02NTUzMyl7clt0WzEzNV1bYV1dPTM0NTYwK2E7ZVszNDU2MCthXT10WzEzNV1b +YV19dFsxMzZdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73ria/ribDribHribLribPribbribfr +ibjribnribrribvrib3rib7rib/rioDrioHrioLrioPriobriofriojriorriovriozrio3rio7v +v73vv73vv73vv73vv73vv73rio/ripLripPripXripbripfripvripzrip3rip7rip/riqLriqTr +iqfriqjriqnriqvriq3riq7riq/rirHrirLrirPrirXrirbrirfvv73vv73vv73vv73vv73vv73r +irjrirnrirrrirvrirzrir3rir7rir/ri4Dri4Hri4Lri4Pri4Tri4Xri4bri4fri4rri4vri43r +i47ri4/ri5Hri5Pri5Tri5Xri5bri5fri5rri5zri57ri5/ri6Dri6Hri6Pri6fri6nri6rri7Dr +i7Hri7Lri7bri7zri73ri77rjILrjIPrjIXrjIbrjIfrjInrjIrrjIvrjIzrjI3rjI7rjI/rjJLr +jJbrjJfrjJjrjJnrjJrrjJvrjJ3rjJ7rjJ/rjKDrjKHrjKLrjKPrjKTrjKXrjKbrjKfrjKjrjKnr +jKrrjKvrjKzrjK3rjK7rjK/rjLDrjLHrjLLrjLPrjLTrjLXrjLbrjLfrjLjrjLnrjLrrjLvrjLzr +jL3rjL7rjL/rjYDrjYHrjYLrjYPrjYTrjYXrjYbrjYfrjYjrjYnrjYrrjYvrjYzrjY3rjY7rjY/r +jZDrjZHrjZLrjZPrjZfrjZnrjZrrjZ3rjaDrjaHrjaLrjaPvv70iLnNwbGl0KCIiKTtmb3IoYT0w +O2EhPXRbMTM2XS5sZW5ndGg7KythKWlmKHRbMTM2XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMp +e3JbdFsxMzZdW2FdXT0zNDgxNithO2VbMzQ4MTYrYV09dFsxMzZdW2FdfXRbMTM3XT0i77+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+9642m642o642q642s642t642v642y642z64216422642364256426 +642764286429642+642/646C646G646H646I646J646K646L646N77+977+977+977+977+977+9 +646O646P646R646S646T646V646W646X646Y646Z646a646b646c646d646e646f646i646j646k +646l646m646n646p646q646r646t77+977+977+977+977+977+9646u646v646w646x646y646z +6460646164626463646464656466646764686469646+646/64+A64+B64+C64+D64+G64+H64+J +64+K64+N64+P64+R64+S64+T64+W64+Y64+a64+c64+e64+f64+h64+i64+j64+l64+m64+n64+p +64+q64+r64+s64+t64+u64+v64+w64+x64+y64+z64+064+164+264+364+464+564+664+764+9 +64++64+/65CA65CB65CC65CD65CE65CF65CG65CH65CI65CJ65CK65CL65CM65CN65CO65CP65CR +65CS65CT65CU65CV65CW65CX65CZ65Ca65Cb65Cd65Ce65Cf65Ch65Ci65Cj65Ck65Cl65Cm65Cn +65Cq65Cs65Ct65Cu65Cv65Cw65Cx65Cy65Cz65C165C265C365C465C565C665C765C865C965C+ +65C/65GA65GB65GC65GD65GE77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzEzN10ubGVuZ3Ro +OysrYSlpZih0WzEzN11bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTM3XVthXV09MzUw +NzIrYTtlWzM1MDcyK2FdPXRbMTM3XVthXX10WzEzOF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +veuRheuRhuuRh+uRiOuRieuRiuuRi+uRjOuRjeuRjuuRj+uRkuuRk+uRleuRluuRl+uRmeuRmuuR +m+uRnOuRneuRnuuRn+uRouuRpOuRpu+/ve+/ve+/ve+/ve+/ve+/veuRp+uRqOuRqeuRquuRq+uR +reuRruuRr+uRsOuRseuRsuuRs+uRtOuRteuRtuuRt+uRuOuRueuRuuuRu+uRvOuRveuRvuuRv+uS +geuSgu+/ve+/ve+/ve+/ve+/ve+/veuSg+uShOuSheuShuuSh+uSieuSiuuSi+uSjOuSjeuSjuuS +j+uSkOuSkeuSkuuSk+uSlOuSleuSluuSl+uSmOuSmeuSmuuSm+uSnOuSnuuSn+uSoOuSoeuSouuS +o+uSpeuSpuuSp+uSqeuSquuSq+uSreuSruuSr+uSsOuSseuSsuuSs+uStOuStuuSuOuSuuuSu+uS +vOuSveuSvuuSv+uTgeuTguuTg+uTheuThuuTh+uTieuTiuuTi+uTjOuTjeuTjuuTj+uTkeuTkuuT +k+uTlOuTluuTl+uTmOuTmeuTmuuTm+uTnuuTn+uToeuTouuTpeuTp+uTqOuTqeuTquuTq+uTruuT +sOuTsuuTs+uTtOuTteuTtuuTt+uTueuTuuuTu+uTvOuTveuTvuuTv+uUgOuUgeuUguuUg+uUhOuU +heuUhuuUh+uUiOuUieuUiuuUi+uUjOuUjeuUjuuUj+uUkOuUkeuUkuuUk+uUluuUl+uUmeuUmuuU +ne+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxMzhdLmxlbmd0aDsrK2EpaWYodFsxMzhdW2Fd +LmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzEzOF1bYV1dPTM1MzI4K2E7ZVszNTMyOCthXT10 +WzEzOF1bYV19dFsxMzldPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73rlJ7rlJ/rlKDrlKHrlKLr +lKPrlKbrlKvrlKzrlK3rlK7rlK/rlLLrlLPrlLXrlLbrlLfrlLnrlLrrlLvrlLzrlL3rlL7rlL/r +lYLrlYbvv73vv73vv73vv73vv73vv73rlYfrlYjrlYnrlYrrlY7rlY/rlZHrlZLrlZPrlZXrlZbr +lZfrlZjrlZnrlZrrlZvrlZ7rlaLrlaPrlaTrlaXrlabrlafrlajrlanrlarvv73vv73vv73vv73v +v73vv73rlavrlazrla3rla7rla/rlbDrlbHrlbLrlbPrlbTrlbXrlbbrlbfrlbjrlbnrlbrrlbvr +lbzrlb3rlb7rlb/rloDrloHrloLrloPrloTrloXrlobrlofrlojrlonrlorrlovrlozrlo3rlo7r +lo/rlpDrlpHrlpLrlpPrlpTrlpXrlpbrlpfrlpjrlpnrlprrlpvrlpzrlp3rlp7rlp/rlqLrlqPr +lqXrlqbrlqfrlqnrlqzrlq3rlq7rlq/rlrLrlrbrlrfrlrjrlrnrlrrrlr7rlr/rl4Hrl4Lrl4Pr +l4Xrl4brl4frl4jrl4nrl4rrl4vrl47rl5Lrl5Prl5Trl5Xrl5brl5frl5nrl5rrl5vrl5zrl53r +l57rl5/rl6Drl6Hrl6Lrl6Prl6Trl6Xrl6brl6frl6jrl6nrl6rrl6vrl63rl67rl6/rl7Drl7Hr +l7Lrl7Prl7Trl7Xrl7brl7frl7jrl7nrl7rrl7vrl7zrl73rl77rl7/vv70iLnNwbGl0KCIiKTtm +b3IoYT0wO2EhPXRbMTM5XS5sZW5ndGg7KythKWlmKHRbMTM5XVthXS5jaGFyQ29kZUF0KDApIT09 +NjU1MzMpe3JbdFsxMzldW2FdXT0zNTU4NCthO2VbMzU1ODQrYV09dFsxMzldW2FdfXRbMTQwXT0i +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+965iA65iB65iC65iD65iE65iF65iG65iH65iI65iJ65iK +65iL65iM65iN65iO65iP65iS65iT65iV65iW65iX65iZ65ia65ib65ic65id77+977+977+977+9 +77+977+965ie65if65ig65ih65ii65ij65ik65im65in65io65ip65iq65ir65it65iu65iv65iw +65ix65iy65iz65i165i265i365i465i565i677+977+977+977+977+977+965i765i865i965i+ +65i/65mA65mB65mC65mD65mE65mF65mG65mH65mJ65mK65mL65mM65mN65mO65mP65mQ65mR65mS +65mT65mU65mV65mW65mX65mY65mZ65ma65mb65mc65md65me65mf65mg65mh65mi65mj65ml65mm +65mn65mp65mq65mr65ms65mt65mu65mv65mw65mx65my65mz65m065m165m265m365m465m565m6 +65m765m865m965m+65m/65qA65qB65qC65qD65qE65qF65qG65qH65qI65qJ65qK65qL65qM65qN +65qO65qP65qQ65qR65qS65qT65qU65qV65qW65qX65qY65qZ65qa65qb65qe65qf65qh65qi65qj +65ql65qm65qn65qo65qp65qq65qt65qu65qv65qw65qy65qz65q065q165q265q365q465q565q6 +65q765q865q965q+65q/65uA65uB65uC77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE0MF0u +bGVuZ3RoOysrYSlpZih0WzE0MF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTQwXVth +XV09MzU4NDArYTtlWzM1ODQwK2FdPXRbMTQwXVthXX10WzE0MV09Iu+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/veubg+ubhOubheubhuubh+ubiOubieubiuubi+ubjOubjeubjuubj+ubkOubkeubkuub +k+ubleubluubl+ubmOubmeubmuubm+ubnOubne+/ve+/ve+/ve+/ve+/ve+/veubnuubn+uboOub +oeubouubo+ubpOubpeubpuubp+ubqOubqeubquubq+ubrOubreubruubr+ubseubsuubs+ubteub +tuubt+ubueubuu+/ve+/ve+/ve+/ve+/ve+/veubu+ubvOubveubvuubv+ucguucg+uchOuchuuc +h+uciOucieuciuuci+ucjOucjeucjuucj+uckOuckeuckuuck+uclOucleucluucl+ucmOucmeuc +muucm+ucnOucneucnuucn+ucoOucoeucouuco+ucpOucpeucpuucp+ucquucq+ucreucruucseuc +suucs+uctOucteuctuuct+ucuuucvOucveucvuucv+udgOudgeudguudg+udheudhuudh+udieud +iuudi+udjeudjuudj+udkOudkeudkuudk+udluudl+udmOudmeudmuudm+udnOudneudnuudn+ud +oeudouudo+udpeudpuudp+udqeudquudq+udrOudreudruudr+udsuudtOudtuudt+uduOudueud +uuudu+udvuudv+uegeueguueg+ueheuehuueh+ueiOueieueiuuei+uejuuek+uelOueleuemuue +m+ueneuenu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNDFdLmxlbmd0aDsrK2EpaWYodFsx +NDFdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE0MV1bYV1dPTM2MDk2K2E7ZVszNjA5 +NithXT10WzE0MV1bYV19dFsxNDJdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73rnp/rnqHrnqLr +nqPrnqTrnqXrnqbrnqfrnqrrnq7rnq/rnrDrnrHrnrLrnrPrnrbrnrfrnrnrnrrrnrvrnrzrnr3r +nr7rnr/rn4Drn4Hvv73vv73vv73vv73vv73vv73rn4Lrn4Prn4Trn4Xrn4brn4jrn4rrn4vrn4zr +n43rn47rn4/rn5Drn5Hrn5Lrn5Prn5Trn5Xrn5brn5frn5jrn5nrn5rrn5vrn5zrn53vv73vv73v +v73vv73vv73vv73rn57rn5/rn6Drn6Hrn6Lrn6Prn6Trn6Xrn6brn6frn6jrn6nrn6rrn6vrn67r +n6/rn7Hrn7Lrn7Prn7Xrn7brn7frn7jrn7nrn7rrn7vrn77roILroIProITroIXroIbroIrroIvr +oI3roI7roI/roJHroJLroJProJTroJXroJbroJfroJrroJzroJ7roJ/roKDroKHroKLroKProKbr +oKfroKnroKrroKvroK3roK7roK/roLDroLHroLLroLProLbroLrroLvroLzroL3roL7roL/roYHr +oYLroYProYXroYbroYfroYjroYnroYrroYvroYzroY3roY7roY/roZDroZLroZTroZXroZbroZfr +oZjroZnroZrroZvroZ7roZ/roaHroaLroaProaXroabroafroajroanroarroavroa7robDrobLr +obProbTrobXrobbrobfrobnrobrrobvrob3rob7rob/rooDrooHrooLrooProoTvv70iLnNwbGl0 +KCIiKTtmb3IoYT0wO2EhPXRbMTQyXS5sZW5ndGg7KythKWlmKHRbMTQyXVthXS5jaGFyQ29kZUF0 +KDApIT09NjU1MzMpe3JbdFsxNDJdW2FdXT0zNjM1MithO2VbMzYzNTIrYV09dFsxNDJdW2FdfXRb +MTQzXT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+966KF66KG66KH66KI66KJ66KK66KL66KM66KO +66KP66KQ66KR66KS66KT66KU66KV66KW66KX66KY66KZ66Ka66Kb66Kc66Kd66Ke66Kf77+977+9 +77+977+977+977+966Kg66Kh66Ki66Kj66Kk66Kl66Km66Kn66Kp66Kq66Kr66Ks66Kt66Ku66Kv +66Kx66Ky66Kz66K166K266K366K566K666K766K866K977+977+977+977+977+977+966K+66K/ +66OC66OE66OG66OH66OI66OJ66OK66OL66ON66OO66OP66OR66OS66OT66OV66OW66OX66OY66OZ +66Oa66Ob66Oc66Oe66Og66Oi66Oj66Ok66Ol66Om66On66Oq66Or66Ot66Ou66Ov66Ox66Oy66Oz +66O066O166O266O366O666O866O+66O/66SA66SB66SC66SD66SF66SG66SH66SI66SJ66SK66SL +66SM66SN66SO66SP66SQ66SR66SS66ST66SU66SV66SW66SX66SZ66Sa66Sb66Sc66Sd66Se66Sf +66Sh66Si66Sj66Sk66Sl66Sm66Sn66So66Sp66Sq66Sr66Ss66St66Su66Sv66Sw66Sx66Sy66Sz +66S066S166S266S366S466S566S666S766S+66S/66WB66WC66WD66WF66WG66WH66WI66WJ66WK +66WL66WN66WO66WQ66WS66WT66WU66WV66WW66WX77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10 +WzE0M10ubGVuZ3RoOysrYSlpZih0WzE0M11bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3Rb +MTQzXVthXV09MzY2MDgrYTtlWzM2NjA4K2FdPXRbMTQzXVthXX10WzE0NF09Iu+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/veulmuulm+ulneulnuuln+uloeulouulo+ulpOulpeulpuulp+ulquulrOul +ruulr+ulsOulseulsuuls+ultuult+ulueuluuulu+ulve+/ve+/ve+/ve+/ve+/ve+/veulvuul +v+umgOumgeumguumg+umhuumiOumi+umjOumj+umkOumkeumkuumk+umlOumleumluuml+ummOum +meummuumm+umnOumneumnu+/ve+/ve+/ve+/ve+/ve+/veumn+umoOumoeumouumo+umpOumpeum +puump+umqOumqeumquumq+umruumr+umseumsuums+umteumtuumt+umuOumueumuuumu+umvuun +gOunguung+unhOunheunhuunh+uniuuni+unjeunk+unlOunleunluunl+unmuunnOunn+unoOun +ouunpuunp+unqeunquunq+unreunruunr+unsOunseunsuuns+untuunu+unvOunveunvuunv+uo +guuog+uohOuoheuohuuoh+uoieuoiuuoi+uojOuojeuojuuoj+uokOuokeuokuuok+uolOuoluuo +l+uomOuomeuomuuom+uonOuoneuonuuon+uooOuooeuoouuoo+uopOuopeuopuuop+uoqOuoqeuo +quuoq+uorOuoreuoruuor+uosOuoseuosuuos+uotOuoteuotuuot+uouuuou+uoveuovuuov+up +geupg+uphOupheuphu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNDRdLmxlbmd0aDsrK2Ep +aWYodFsxNDRdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE0NF1bYV1dPTM2ODY0K2E7 +ZVszNjg2NCthXT10WzE0NF1bYV19dFsxNDVdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73rqYfr +qYrrqYzrqY/rqZDrqZHrqZLrqZbrqZfrqZnrqZrrqZvrqZ3rqZ7rqZ/rqaDrqaHrqaLrqaPrqabr +qarrqavrqazrqa3rqa7rqa/vv73vv73vv73vv73vv73vv73rqbLrqbPrqbXrqbbrqbfrqbnrqbrr +qbvrqbzrqb3rqb7rqb/rqoDrqoHrqoLrqobrqojrqonrqorrqovrqo3rqo7rqo/rqpDrqpHrqpLv +v73vv73vv73vv73vv73vv73rqpPrqpTrqpXrqpbrqpfrqpjrqpnrqprrqpvrqpzrqp3rqp7rqp/r +qqDrqqHrqqLrqqPrqqTrqqXrqqbrqqfrqqrrqq3rqq7rqq/rqrHrqrPrqrTrqrXrqrbrqrfrqrrr +qrzrqr7rqr/rq4Drq4Hrq4Lrq4Prq4Xrq4brq4frq4nrq4rrq4vrq4zrq43rq47rq4/rq5Drq5Hr +q5Lrq5Prq5Trq5Xrq5brq5frq5rrq5vrq5zrq53rq57rq5/rq6Drq6Hrq6Lrq6Prq6Trq6Xrq6br +q6frq6jrq6nrq6rrq6vrq6zrq63rq67rq6/rq7Drq7Hrq7Lrq7Prq7Trq7Xrq7brq7frq7jrq7nr +q7rrq7vrq73rq77rq7/rrIHrrILrrIPrrIXrrIbrrIfrrIjrrInrrIrrrIvrrIzrrI7rrJDrrJLr +rJPrrJTrrJXrrJbrrJfrrJnrrJrrrJvrrJ3rrJ7rrJ/rrKHrrKLrrKPrrKTrrKXrrKbrrKfvv70i +LnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTQ1XS5sZW5ndGg7KythKWlmKHRbMTQ1XVthXS5jaGFy +Q29kZUF0KDApIT09NjU1MzMpe3JbdFsxNDVdW2FdXT0zNzEyMCthO2VbMzcxMjArYV09dFsxNDVd +W2FdfXRbMTQ2XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+966yo66yq66ys66yt66yu66yv66yw +66yx66yy66yz66y366y566y666y/662A662B662C662D662G662I662K662L662M662O662R662S +77+977+977+977+977+977+9662T662V662W662X662Z662a662b662c662d662e662f662g662i +662k662l662m662n662o662p662q662r662t662u662v662w662x77+977+977+977+977+977+9 +662y662z6620662166226623662466256626662766286629662+662/666A666B666C666D666E +666F666G666H666J666K666L666N666O666P666R666S666T666U666V666W666X666Y666Z666a +666b666c666d666e666f666g666h666i666j666l666m666n666p666q666r666t666u666v666w +666x666y666z66616662666466656666666766686669666+666/66+B66+C66+D66+F66+G66+H +66+J66+K66+L66+M66+N66+O66+P66+R66+S66+U66+V66+W66+X66+Y66+Z66+a66+b66+c66+d +66+e66+f66+g66+h66+i66+j66+k66+l66+m66+n66+o66+p66+q66+r66+s66+t66+u66+v66+w +66+x66+y66+z66+066+166+266+366+666+766+966++67CB77+9Ii5zcGxpdCgiIik7Zm9yKGE9 +MDthIT10WzE0Nl0ubGVuZ3RoOysrYSlpZih0WzE0Nl1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMz +KXtyW3RbMTQ2XVthXV09MzczNzYrYTtlWzM3Mzc2K2FdPXRbMTQ2XVthXX10WzE0N109Iu+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/veuwg+uwhOuwheuwhuuwh+uwiuuwjuuwkOuwkuuwk+uwmeuwmuuw +oOuwoeuwouuwo+uwpuuwqOuwquuwq+uwrOuwruuwr+uwsuuws+uwte+/ve+/ve+/ve+/ve+/ve+/ +veuwtuuwt+uwueuwuuuwu+uwvOuwveuwvuuwv+uxguuxhuuxh+uxiOuxiuuxi+uxjuuxj+uxkeux +kuuxk+uxlOuxleuxluuxl+uxmOuxme+/ve+/ve+/ve+/ve+/ve+/veuxmuuxm+uxnOuxnuuxn+ux +oOuxoeuxouuxo+uxpOuxpeuxpuuxp+uxqOuxqeuxquuxq+uxrOuxreuxruuxr+uxsOuxseuxsuux +s+uxtOuxteuxtuuxt+uxuOuxueuxuuuxu+uxvOuxveuxvuuxv+uygOuygeuyguuyg+uyhuuyh+uy +ieuyiuuyjeuyj+uykOuykeuykuuyk+uyluuymOuym+uynOuyneuynuuyn+uyouuyo+uypeuypuuy +qeuyquuyq+uyrOuyreuyruuyr+uysuuytuuyt+uyuOuyueuyuuuyu+uyvuuyv+uzgeuzguuzg+uz +heuzhuuzh+uziOuzieuziuuzi+uzjOuzjuuzkuuzk+uzlOuzluuzl+uzmeuzmuuzm+uzneuznuuz +n+uzoOuzoeuzouuzo+uzpOuzpeuzpuuzp+uzqOuzqeuzquuzq+uzrOuzreuzruuzr+uzsOuzseuz +suuzs+uzt+uzueuzuuuzu+uzve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNDddLmxlbmd0 +aDsrK2EpaWYodFsxNDddW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE0N11bYV1dPTM3 +NjMyK2E7ZVszNzYzMithXT10WzE0N11bYV19dFsxNDhdPSLvv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73rs77rs7/rtIDrtIHrtILrtIPrtIbrtIjrtIrrtIvrtIzrtI3rtI7rtI/rtJHrtJLrtJPrtJXr +tJbrtJfrtJjrtJnrtJrrtJvrtJzrtJ3vv73vv73vv73vv73vv73vv73rtJ7rtJ/rtKDrtKHrtKLr +tKPrtKXrtKbrtKfrtKjrtKnrtKrrtKvrtK3rtK7rtK/rtLDrtLHrtLLrtLPrtLTrtLXrtLbrtLfr +tLjrtLnvv73vv73vv73vv73vv73vv73rtLrrtLvrtLzrtL3rtL7rtL/rtYHrtYLrtYPrtYTrtYXr +tYbrtYfrtYrrtYvrtY3rtY7rtY/rtZHrtZLrtZPrtZTrtZXrtZbrtZfrtZrrtZvrtZzrtZ3rtZ7r +tZ/rtaDrtaHrtaLrtaPrtaXrtabrtafrtanrtarrtavrtazrta3rta7rta/rtbDrtbHrtbLrtbPr +tbTrtbXrtbbrtbfrtbjrtbnrtbrrtbvrtbzrtb3rtb7rtb/rtoLrtoPrtoXrtobrtovrtozrto3r +to7rto/rtpLrtpTrtpbrtpfrtpjrtpvrtp3rtp7rtp/rtqDrtqHrtqLrtqPrtqXrtqbrtqfrtqjr +tqnrtqrrtqvrtqzrtq3rtq7rtq/rtrHrtrLrtrPrtrTrtrXrtrbrtrfrtrnrtrrrtrvrtrzrtr3r +tr7rtr/rt4Drt4Hrt4Lrt4Prt4Trt4Xrt4brt4frt4jrt4nrt4rrt4vrt4zrt43rt47rt4/rt5Dr +t5Hvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTQ4XS5sZW5ndGg7KythKWlmKHRbMTQ4XVth +XS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNDhdW2FdXT0zNzg4OCthO2VbMzc4ODgrYV09 +dFsxNDhdW2FdfXRbMTQ5XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+967eS67eT67eW67eX67eZ +67ea67eb67ed67ee67ef67eg67eh67ei67ej67ek67el67em67en67eo67eq67er67es67et67eu +67ev67ex77+977+977+977+977+977+967ey67ez67e167e267e367e567e667e767e867e967e+ +67e/67iB67iC67iE67iG67iH67iI67iJ67iK67iL67iO67iP67iR67iS67iT77+977+977+977+9 +77+977+967iV67iW67iX67iY67iZ67ia67ib67ie67ig67ih67ii67ij67ik67il67im67in67io +67ip67iq67ir67is67it67iu67iv67iw67ix67iy67iz67i067i167i267i367i467i567i667i7 +67i867i967i+67i/67mA67mB67mC67mD67mG67mH67mJ67mK67mL67mN67mP67mQ67mR67mS67mT +67mW67mY67mc67md67me67mf67mi67mj67ml67mm67mn67mp67mr67ms67mt67mu67mv67my67m2 +67m367m467m567m667m+67m/67qB67qC67qD67qF67qG67qH67qI67qJ67qK67qL67qO67qS67qT +67qU67qV67qW67qX67qa67qb67qc67qd67qe67qf67qg67qh67qi67qj67qk67ql67qm67qn67qp +67qq67qr67qs67qt67qu67qv67qw67qx67qy67qz67q067q167q267q377+9Ii5zcGxpdCgiIik7 +Zm9yKGE9MDthIT10WzE0OV0ubGVuZ3RoOysrYSlpZih0WzE0OV1bYV0uY2hhckNvZGVBdCgwKSE9 +PTY1NTMzKXtyW3RbMTQ5XVthXV09MzgxNDQrYTtlWzM4MTQ0K2FdPXRbMTQ5XVthXX10WzE1MF09 +Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veu6uOu6ueu6uuu6u+u6vOu6veu6vuu6v+u7gOu7geu7 +guu7g+u7hOu7heu7huu7h+u7iOu7ieu7iuu7i+u7jOu7jeu7juu7j+u7kuu7k++/ve+/ve+/ve+/ +ve+/ve+/veu7leu7luu7meu7muu7m+u7nOu7neu7nuu7n+u7oeu7ouu7puu7p+u7qOu7qeu7quu7 +q+u7reu7ruu7r+u7sOu7seu7suu7s+u7tOu7te+/ve+/ve+/ve+/ve+/ve+/veu7tuu7t+u7uOu7 +ueu7uuu7u+u7vOu7veu7vuu7v+u8gOu8guu8g+u8hOu8heu8huu8h+u8iuu8i+u8jOu8jeu8juu8 +j+u8kOu8keu8kuu8k+u8lOu8leu8luu8l+u8muu8nuu8n+u8oOu8oeu8ouu8o+u8pOu8peu8puu8 +p+u8qOu8qeu8quu8q+u8rOu8reu8ruu8r+u8sOu8seu8suu8s+u8tOu8teu8tuu8t+u8uOu8ueu8 +uuu8u+u8vOu8veu8vuu8v+u9guu9g+u9heu9huu9h+u9ieu9iuu9i+u9jOu9jeu9juu9j+u9kuu9 +k+u9lOu9luu9l+u9mOu9meu9muu9m+u9nOu9neu9nuu9n+u9oOu9oeu9ouu9o+u9pOu9peu9puu9 +p+u9qOu9qeu9quu9q+u9rOu9reu9ruu9r+u9sOu9seu9suu9s+u9tOu9teu9tuu9t+u9uOu9ueu9 +uuu9u+u9vOu9veu9vuu9v+u+gOu+geu+gu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNTBd +Lmxlbmd0aDsrK2EpaWYodFsxNTBdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE1MF1b +YV1dPTM4NDAwK2E7ZVszODQwMCthXT10WzE1MF1bYV19dFsxNTFdPSLvv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73rvoPrvoTrvoXrvobrvofrvojrvonrvorrvovrvozrvo3rvo7rvo/rvpDrvpHrvpLr +vpPrvpXrvpbrvpfrvpjrvpnrvprrvpvrvpzrvp3vv73vv73vv73vv73vv73vv73rvp7rvp/rvqDr +vqHrvqLrvqPrvqTrvqXrvqbrvqfrvqjrvqnrvqrrvqvrvqzrvq3rvq7rvq/rvrHrvrLrvrPrvrTr +vrXrvrbrvrfrvrjvv73vv73vv73vv73vv73vv73rvrnrvrrrvrvrvrzrvr3rvr7rvr/rv4Drv4Hr +v4Lrv4Prv4Trv4brv4frv4jrv4nrv4rrv4vrv47rv4/rv5Hrv5Lrv5Prv5Xrv5brv5frv5jrv5nr +v5rrv5vrv53rv57rv6Drv6Lrv6Prv6Trv6Xrv6brv6frv6jrv6nrv6rrv6vrv6zrv63rv67rv6/r +v7Drv7Hrv7Lrv7Prv7Trv7Xrv7brv7frv7jrv7nrv7rrv7vrv7zrv73rv77rv7/sgIDsgIHsgILs +gIPsgITsgIXsgIbsgIfsgIjsgInsgIrsgIvsgIzsgI3sgI7sgI/sgJDsgJHsgJLsgJPsgJTsgJXs +gJbsgJfsgJjsgJnsgJrsgJvsgJzsgJ3sgJ7sgJ/sgKDsgKHsgKLsgKPsgKTsgKXsgKbsgKfsgKjs +gKnsgKrsgKvsgKzsgK3sgK7sgK/sgLDsgLHsgLLsgLPsgLTsgLXsgLbsgLfsgLjsgLnsgLrsgLvs +gL3sgL7sgL/vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTUxXS5sZW5ndGg7KythKWlmKHRb +MTUxXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNTFdW2FdXT0zODY1NithO2VbMzg2 +NTYrYV09dFsxNTFdW2FdfXRbMTUyXT0i77+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+97IGA7IGB7IGC +7IGD7IGE7IGF7IGG7IGH7IGI7IGJ7IGK7IGL7IGM7IGN7IGO7IGP7IGQ7IGS7IGT7IGU7IGV7IGW +7IGX7IGZ7IGa7IGb77+977+977+977+977+977+97IGd7IGe7IGf7IGh7IGi7IGj7IGk7IGl7IGm +7IGn7IGq7IGr7IGs7IGt7IGu7IGv7IGw7IGx7IGy7IGz7IG07IG17IG27IG37IG47IG577+977+9 +77+977+977+977+97IG67IG77IG87IG97IG+7IG/7IKA7IKB7IKC7IKD7IKE7IKF7IKG7IKH7IKI +7IKJ7IKK7IKL7IKM7IKN7IKO7IKP7IKS7IKT7IKV7IKW7IKX7IKZ7IKa7IKb7IKc7IKd7IKe7IKf +7IKi7IKk7IKm7IKn7IKo7IKp7IKq7IKr7IKu7IKx7IKy7IK37IK47IK57IK67IK77IK+7IOC7IOD +7IOE7IOG7IOH7IOK7IOL7ION7IOO7IOP7IOR7IOS7IOT7IOU7IOV7IOW7IOX7IOa7IOe7IOf7IOg +7IOh7IOi7IOj7IOm7IOn7IOp7IOq7IOr7IOt7IOu7IOv7IOw7IOx7IOy7IOz7IO27IO47IO67IO7 +7IO87IO97IO+7IO/7ISB7ISC7ISD7ISF7ISG7ISH7ISJ7ISK7ISL7ISM7ISN7ISO7ISP7ISR7ISS +7IST7ISU7ISW7ISX7ISY7ISZ7ISa7ISb7ISh7ISi7ISl7ISo7ISp7ISq7ISr7ISu77+9Ii5zcGxp +dCgiIik7Zm9yKGE9MDthIT10WzE1Ml0ubGVuZ3RoOysrYSlpZih0WzE1Ml1bYV0uY2hhckNvZGVB +dCgwKSE9PTY1NTMzKXtyW3RbMTUyXVthXV09Mzg5MTIrYTtlWzM4OTEyK2FdPXRbMTUyXVthXX10 +WzE1M109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veyEsuyEs+yEtOyEteyEt+yEuuyEu+yEveyE +vuyEv+yFgeyFguyFg+yFhOyFheyFhuyFh+yFiuyFjuyFj+yFkOyFkeyFkuyFk+yFluyFl++/ve+/ +ve+/ve+/ve+/ve+/veyFmeyFmuyFm+yFneyFnuyFn+yFoOyFoeyFouyFo+yFpuyFquyFq+yFrOyF +reyFruyFr+yFseyFsuyFs+yFteyFtuyFt+yFueyFuuyFu++/ve+/ve+/ve+/ve+/ve+/veyFvOyF +veyFvuyFv+yGgOyGgeyGguyGg+yGhOyGhuyGh+yGiOyGieyGiuyGi+yGj+yGkeyGkuyGk+yGleyG +l+yGmOyGmeyGmuyGm+yGnuyGoOyGouyGo+yGpOyGpuyGp+yGquyGq+yGreyGruyGr+yGseyGsuyG +s+yGtOyGteyGtuyGt+yGuOyGueyGuuyGu+yGvOyGvuyGv+yHgOyHgeyHguyHg+yHheyHhuyHh+yH +ieyHiuyHi+yHjeyHjuyHj+yHkOyHkeyHkuyHk+yHleyHluyHmeyHmuyHm+yHnOyHneyHnuyHn+yH +oeyHouyHo+yHpeyHpuyHp+yHqeyHquyHq+yHrOyHreyHruyHr+yHsuyHtOyHteyHtuyHt+yHuOyH +ueyHuuyHu+yHvuyHv+yIgeyIguyIg+yIheyIhuyIh+yIiOyIieyIiuyIi+yIjuyIkOyIkuyIk+yI +lOyIleyIluyIl+yImuyIm+yIneyInuyIoeyIouyIo++/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9 +dFsxNTNdLmxlbmd0aDsrK2EpaWYodFsxNTNdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0 +WzE1M11bYV1dPTM5MTY4K2E7ZVszOTE2OCthXT10WzE1M11bYV19dFsxNTRdPSLvv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73siKTsiKXsiKbsiKfsiKrsiKzsiK7siLDsiLPsiLXsiLbsiLfsiLjsiLns +iLrsiLvsiLzsiL3siL7siL/siYDsiYHsiYLsiYPsiYTsiYXvv73vv73vv73vv73vv73vv73siYbs +iYfsiYnsiYrsiYvsiYzsiY3siY7siY/siZLsiZPsiZXsiZbsiZfsiZnsiZrsiZvsiZzsiZ3siZ7s +iZ/siaHsiaLsiaPsiaTsiabvv73vv73vv73vv73vv73vv73siafsiajsiansiarsiavsia7sia/s +ibHsibLsibPsibXsibbsibfsibjsibnsibrsibvsib7sioDsioLsioPsioTsioXsiobsiofsiors +iovsiozsio3sio7sio/sipHsipLsipPsipTsipXsipbsipfsipnsiprsipzsip7sip/siqDsiqHs +iqLsiqPsiqbsiqfsiqnsiqrsiqvsiq7siq/sirDsirHsirLsirPsirbsirjsirrsirvsirzsir3s +ir7sir/si4Dsi4Hsi4Lsi4Psi4Tsi4Xsi4bsi4fsi4jsi4nsi4rsi4vsi4zsi43si47si4/si5Ds +i5Hsi5Lsi5Psi5Tsi5Xsi5bsi5fsi5jsi5nsi5rsi5vsi57si5/si6Hsi6Lsi6Xsi6bsi6fsi6js +i6nsi6rsi67si7Dsi7Lsi7Psi7Tsi7Xsi7fsi7rsi73si77si7/sjIHsjILsjIPsjITsjIXsjIbs +jIfsjIrsjIvsjI7sjI/vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTU0XS5sZW5ndGg7Kyth +KWlmKHRbMTU0XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNTRdW2FdXT0zOTQyNCth +O2VbMzk0MjQrYV09dFsxNTRdW2FdfXRbMTU1XT0i77+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+97IyQ +7IyR7IyS7IyW7IyX7IyZ7Iya7Iyb7Iyd7Iye7Iyf7Iyg7Iyh7Iyi7Iyj7Iym7Iyn7Iyq7Iyr7Iys +7Iyt7Iyu7Iyv7Iyw7Iyx7Iyy77+977+977+977+977+977+97Iyz7Iy07Iy17Iy27Iy37Iy47Iy5 +7Iy67Iy77Iy87Iy97Iy+7Iy/7I2A7I2B7I2C7I2D7I2E7I2G7I2H7I2I7I2J7I2K7I2L7I2M7I2N +77+977+977+977+977+977+97I2O7I2P7I2Q7I2R7I2S7I2T7I2U7I2V7I2W7I2X7I2Y7I2Z7I2a +7I2b7I2c7I2d7I2e7I2f7I2g7I2h7I2i7I2j7I2k7I2l7I2m7I2n7I2q7I2r7I2t7I2u7I2v7I2x +7I2z7I207I217I227I237I267I277I2+7I2/7I6A7I6B7I6C7I6D7I6F7I6G7I6H7I6J7I6K7I6L +7I6N7I6O7I6P7I6Q7I6R7I6S7I6T7I6U7I6V7I6W7I6X7I6Y7I6Z7I6a7I6b7I6c7I6d7I6e7I6f +7I6g7I6h7I6i7I6j7I6k7I6l7I6m7I6n7I6o7I6p7I6q7I6r7I6s7I6t7I6u7I6v7I6w7I6x7I6y +7I6z7I607I617I627I637I647I657I667I677I687I697I6+7I6/7I+B7I+C7I+D7I+E7I+F7I+G +7I+H7I+I7I+J7I+K7I+L7I+M7I+N7I+O7I+P7I+Q7I+R7I+S7I+T7I+U7I+V7I+W7I+X7I+a77+9 +Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE1NV0ubGVuZ3RoOysrYSlpZih0WzE1NV1bYV0uY2hh +ckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTU1XVthXV09Mzk2ODArYTtlWzM5NjgwK2FdPXRbMTU1 +XVthXX10WzE1Nl09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veyPm+yPneyPnuyPoeyPo+yPpOyP +peyPpuyPp+yPquyPq+yPrOyPruyPr+yPsOyPseyPsuyPs+yPtuyPt+yPueyPuuyPu+yPvOyPveyP +vu+/ve+/ve+/ve+/ve+/ve+/veyPv+yQgOyQgeyQguyQg+yQhOyQheyQhuyQh+yQieyQiuyQi+yQ +jOyQjeyQjuyQj+yQkeyQkuyQk+yQlOyQleyQluyQl+yQmOyQmeyQmu+/ve+/ve+/ve+/ve+/ve+/ +veyQm+yQnOyQneyQnuyQn+yQoOyQoeyQouyQo+yQpeyQpuyQp+yQqOyQqeyQquyQq+yQreyQruyQ +r+yQseyQsuyQs+yQteyQtuyQt+yQuOyQueyQuuyQu+yQvuyQv+yRgOyRgeyRguyRg+yRhOyRheyR +huyRh+yRieyRiuyRi+yRjOyRjeyRjuyRj+yRkOyRkeyRkuyRk+yRlOyRleyRluyRl+yRmOyRmeyR +muyRm+yRnOyRneyRnuyRn+yRoOyRoeyRouyRo+yRpuyRp+yRqeyRquyRq+yRreyRruyRr+yRsOyR +seyRsuyRs+yRtuyRt+yRuOyRuuyRu+yRvOyRveyRvuyRv+ySgeySguySg+yShOySheyShuySh+yS +iOySieySiuySi+ySjOySjeySjuySj+ySkOySkeySkuySk+ySleySluySl+ySmOySmeySmuySm+yS +neySnuySn+ySoOySoeySouySo+ySpOySpeySpuySp+ySqOySqe+/vSIuc3BsaXQoIiIpO2Zvcihh +PTA7YSE9dFsxNTZdLmxlbmd0aDsrK2EpaWYodFsxNTZdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUz +Myl7clt0WzE1Nl1bYV1dPTM5OTM2K2E7ZVszOTkzNithXT10WzE1Nl1bYV19dFsxNTddPSLvv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73skqrskqvskqzskq3skq7skq/skrDskrHskrLskrPskrTskrXs +krbskrfskrnskrrskrvskr3skr7skr/sk4Dsk4Hsk4Lsk4Psk4Tsk4Xvv73vv73vv73vv73vv73v +v73sk4bsk4fsk4jsk4nsk4rsk4vsk4zsk43sk47sk4/sk5Dsk5Hsk5Lsk5Psk5Tsk5Xsk5bsk5fs +k5jsk5nsk5rsk5vsk5zsk53sk57sk5/vv73vv73vv73vv73vv73vv73sk6Dsk6Hsk6Lsk6Psk6Ts +k6Xsk6bsk6fsk6jsk6rsk6vsk6zsk63sk67sk6/sk7Lsk7Psk7Xsk7bsk7fsk7nsk7vsk7zsk73s +k77slILslIPslITslIXslIbslIfslIjslInslIrslIvslI3slI7slI/slJHslJLslJPslJXslJbs +lJfslJjslJnslJrslJvslJ3slJ7slJ/slKDslKHslKLslKPslKTslKXslKbslKfslKrslKvslK3s +lK7slK/slLHslLLslLPslLTslLXslLbslLfslLrslLzslL7slL/slYDslYHslYLslYPslYbslYfs +lYvslY/slZDslZHslZLslZbslZrslZvslZzslZ/slaLslaPslaXslabslafslanslarslavslazs +la3sla7sla/slbLslbbslbfslbjslbnslbrslbvslb7slb/sloHsloLsloPsloXslobslojslons +lorslovslo7slpDslpLslpPslpTvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTU3XS5sZW5n +dGg7KythKWlmKHRbMTU3XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNTddW2FdXT00 +MDE5MithO2VbNDAxOTIrYV09dFsxNTddW2FdfXRbMTU4XT0i77+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+97JaW7JaZ7Jaa7Jab7Jad7Jae7Jaf7Jah7Jai7Jaj7Jak7Jal7Jam7Jan7Jao7Jaq7Jar7Jas +7Jat7Jau7Jav7Jaw7Jax7Jay7Jaz7Ja277+977+977+977+977+977+97Ja37Ja67Ja/7JeA7JeB +7JeC7JeD7JeL7JeN7JeP7JeS7JeT7JeV7JeW7JeX7JeZ7Jea7Jeb7Jec7Jed7Jee7Jef7Jei7Jek +7Jem7Jen77+977+977+977+977+977+97Jeo7Jep7Jeq7Jer7Jev7Jex7Jey7Jez7Je17Je47Je5 +7Je67Je77JiC7JiD7JiE7JiJ7JiK7JiL7JiN7JiO7JiP7JiR7JiS7JiT7JiU7JiV7JiW7JiX7Jia +7Jid7Jie7Jif7Jig7Jih7Jii7Jij7Jim7Jin7Jip7Jiq7Jir7Jiv7Jix7Jiy7Ji27Ji47Ji67Ji8 +7Ji97Ji+7Ji/7JmC7JmD7JmF7JmG7JmH7JmJ7JmK7JmL7JmM7JmN7JmO7JmP7JmS7JmW7JmX7JmY +7JmZ7Jma7Jmb7Jme7Jmf7Jmh7Jmi7Jmj7Jmk7Jml7Jmm7Jmn7Jmo7Jmp7Jmq7Jmr7Jmt7Jmu7Jmw +7Jmy7Jmz7Jm07Jm17Jm27Jm37Jm67Jm77Jm97Jm+7Jm/7JqB7JqC7JqD7JqE7JqF7JqG7JqH7JqK +7JqM7JqO7JqP7JqQ7JqR7JqS7JqT7JqW7JqX7JqZ7Jqa7Jqb7Jqd7Jqe7Jqf7Jqg7Jqh7Jqi7Jqj +7Jqm77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE1OF0ubGVuZ3RoOysrYSlpZih0WzE1OF1b +YV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTU4XVthXV09NDA0NDgrYTtlWzQwNDQ4K2Fd +PXRbMTU4XVthXX10WzE1OV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veyaqOyaquyaq+yarOya +reyaruyar+yasuyas+yateyatuyat+yau+yavOyaveyavuyav+ybguybhOybhuybh+ybiOybieyb +iuybi+ybju+/ve+/ve+/ve+/ve+/ve+/veybj+ybkeybkuybk+ybleybluybl+ybmOybmeybmuyb +m+ybnuybn+ybouybo+ybpOybpeybpuybp+ybquybq+ybreybruybr+ybseybsu+/ve+/ve+/ve+/ +ve+/ve+/veybs+ybtOybteybtuybt+ybuuybu+ybvOybvuybv+ycgOycgeycguycg+ychuych+yc +ieyciuyci+ycjeycjuycj+yckOyckeyckuyck+ycluycmOycmuycm+ycnOycneycnuycn+ycouyc +o+ycpeycpuycp+ycqeycquycq+ycrOycreycruycr+ycsuyctOyctuycuOycueycuuycu+ycvuyc +v+ydgeydguydg+ydheydhuydh+ydiOydieydi+ydjuydkOydmeydmuydm+ydneydnuydn+ydoeyd +ouydo+ydpOydpeydpuydp+ydqeydquydrOydreydruydr+ydsOydseydsuyds+ydtuydt+ydueyd +uuydu+ydv+yegOyegeyeguyehuyei+yejOyejeyej+yekuyek+yeleyemeyem+yenOyeneyenuye +n+yeouyep+yeqOyeqeyequyeq+yeruyer+yeseyesuyes+yeteyetuyet++/vSIuc3BsaXQoIiIp +O2ZvcihhPTA7YSE9dFsxNTldLmxlbmd0aDsrK2EpaWYodFsxNTldW2FdLmNoYXJDb2RlQXQoMCkh +PT02NTUzMyl7clt0WzE1OV1bYV1dPTQwNzA0K2E7ZVs0MDcwNCthXT10WzE1OV1bYV19dFsxNjBd +PSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73snrjsnrnsnrrsnrvsnr7sn4Lsn4Psn4Tsn4Xsn4bs +n4fsn4rsn4vsn43sn4/sn5Hsn5Lsn5Psn5Tsn5Xsn5bsn5fsn5nsn5rsn5vsn5zvv73vv73vv73v +v73vv73vv73sn57sn5/sn6Dsn6Hsn6Lsn6Psn6Xsn6bsn6fsn6nsn6rsn6vsn63sn67sn6/sn7Ds +n7Hsn7Lsn7Psn7Tsn7Xsn7bsn7fsn7jsn7nsn7rvv73vv73vv73vv73vv73vv73sn7vsn7zsn73s +n77sn7/soILsoIPsoIXsoIbsoIfsoInsoIvsoIzsoI3soI7soI/soJLsoJTsoJfsoJjsoJnsoJrs +oJvsoJ7soJ/soKHsoKLsoKPsoKXsoKbsoKfsoKjsoKnsoKrsoKvsoK7soLDsoLLsoLPsoLTsoLXs +oLbsoLfsoLnsoLrsoLvsoL3soL7soL/soYHsoYLsoYPsoYTsoYXsoYbsoYfsoYrsoYvsoY7soY/s +oZDsoZHsoZLsoZPsoZXsoZbsoZfsoZjsoZnsoZrsoZvsoZzsoZ3soZ7soZ/soaDsoaHsoaLsoaPs +oaTsoaXsoabsoafsoajsoansoarsoavsoazsoa3soa7soa/sobLsobPsobXsobbsobfsobnsobvs +obzsob3sob7sob/sooLsooTsoojsoonsoorsoo7soo/sopDsopHsopLsopPsopXsopbsopfsopjs +opnsoprsopvsopzsop7soqDsoqLsoqPsoqTvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTYw +XS5sZW5ndGg7KythKWlmKHRbMTYwXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNjBd +W2FdXT00MDk2MCthO2VbNDA5NjArYV09dFsxNjBdW2FdfXRbMTYxXT0i77+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+97KKl7KKm7KKn7KKp7KKq7KKr7KKs7KKt7KKu7KKv7KKw7KKx7KKy7KKz7KK07KK1 +7KK27KK37KK47KK57KK67KK77KK+7KK/7KOA7KOB77+977+977+977+977+977+97KOC7KOD7KOF +7KOG7KOH7KOJ7KOK7KOL7KON7KOO7KOP7KOQ7KOR7KOS7KOT7KOW7KOY7KOa7KOb7KOc7KOd7KOe +7KOf7KOi7KOj7KOl77+977+977+977+977+977+97KOm7KOn7KOo7KOp7KOq7KOr7KOs7KOt7KOu +7KOv7KOw7KOx7KOy7KOz7KO07KO27KO37KO47KO57KO67KO77KO+7KO/7KSB7KSC7KSD7KSH7KSI +7KSJ7KSK7KSL7KSO44CA44CB44CCwrfigKXigKbCqOOAg8Kt4oCV4oil77y84oi84oCY4oCZ4oCc +4oCd44CU44CV44CI44CJ44CK44CL44CM44CN44CO44CP44CQ44CRwrHDl8O34omg4omk4oml4oie +4oi0wrDigLLigLPihIPihKvvv6Dvv6Hvv6XimYLimYDiiKDiiqXijJLiiILiiIfiiaHiiZLCp+KA +u+KYhuKYheKXi+KXj+KXjuKXh+KXhuKWoeKWoOKWs+KWsuKWveKWvOKGkuKGkOKGkeKGk+KGlOOA +k+KJquKJq+KImuKIveKIneKIteKIq+KIrOKIiOKIi+KKhuKKh+KKguKKg+KIquKIqeKIp+KIqO+/ +ou+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNjFdLmxlbmd0aDsrK2EpaWYodFsxNjFdW2Fd +LmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE2MV1bYV1dPTQxMjE2K2E7ZVs0MTIxNithXT10 +WzE2MV1bYV19dFsxNjJdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73spJDspJLspJPspJTspJXs +pJbspJfspJnspJrspJvspJzspJ3spJ7spJ/spKDspKHspKLspKPspKTspKXspKbspKfspKjspKns +pKrspKvvv73vv73vv73vv73vv73vv73spK3spK7spK/spLDspLHspLLspLPspLXspLbspLfspLjs +pLnspLrspLvspLzspL3spL7spL/spYDspYHspYLspYPspYTspYXspYbspYfvv73vv73vv73vv73v +v73vv73spYjspYnspYrspYvspYzspY3spY7spY/spZLspZPspZXspZbspZfspZnspZrspZvspZzs +pZ3spZ7spZ/spaLspaTspaXspabspafspajspansparspavspa3spa7spa/ih5Lih5TiiIDiiIPC +tO+9nsuHy5jLncuay5nCuMubwqHCv8uQ4oiu4oiR4oiPwqTihInigLDil4Hil4DilrfilrbimaTi +maDimaHimaXimafimaPiipnil4jilqPil5Dil5HilpLilqTilqXilqjilqfilqbilqnimajimI/i +mI7imJzimJ7CtuKAoOKAoeKGleKGl+KGmeKGluKGmOKZreKZqeKZquKZrOOJv+OInOKEluOPh+KE +ouOPguOPmOKEoeKCrMKu77+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE2 +Ml0ubGVuZ3RoOysrYSlpZih0WzE2Ml1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTYy +XVthXV09NDE0NzIrYTtlWzQxNDcyK2FdPXRbMTYyXVthXX10WzE2M109Iu+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/veylseylsuyls+ylteyltuylt+yluOylueyluuylu+ylveylvuylv+ymgOymgeym +guymg+ymhOymheymhuymh+ymiuymi+ymjeymjuymj++/ve+/ve+/ve+/ve+/ve+/veymkeymkuym +k+ymlOymleymluyml+ymmuymnOymnuymn+ymoOymoeymouymo+ympOympeympuymp+ymqOymqeym +quymq+ymrOymreymru+/ve+/ve+/ve+/ve+/ve+/veymr+ymsOymseymsuyms+ymtOymteymtuym +t+ymuOymueymuuymu+ymvOymveymvuymv+ynguyng+ynheynhuynieyni+ynjOynjeynjuynj+yn +kuynlOynl+ynmOynm++8ge+8gu+8g++8hO+8he+8hu+8h++8iO+8ie+8iu+8i++8jO+8je+8ju+8 +j++8kO+8ke+8ku+8k++8lO+8le+8lu+8l++8mO+8me+8mu+8m++8nO+8ne+8nu+8n++8oO+8oe+8 +ou+8o++8pO+8pe+8pu+8p++8qO+8qe+8qu+8q++8rO+8re+8ru+8r++8sO+8se+8su+8s++8tO+8 +te+8tu+8t++8uO+8ue+8uu+8u++/pu+8ve+8vu+8v++9gO+9ge+9gu+9g++9hO+9he+9hu+9h++9 +iO+9ie+9iu+9i++9jO+9je+9ju+9j++9kO+9ke+9ku+9k++9lO+9le+9lu+9l++9mO+9me+9mu+9 +m++9nO+9ne+/o++/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNjNdLmxlbmd0aDsrK2EpaWYo +dFsxNjNdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE2M11bYV1dPTQxNzI4K2E7ZVs0 +MTcyOCthXT10WzE2M11bYV19dFsxNjRdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73sp57sp5/s +p6Hsp6Psp6Xsp6bsp6jsp6nsp6rsp6vsp67sp7Lsp7Psp7Tsp7Xsp7bsp7fsp7rsp7vsp73sp77s +p7/sqIHsqILsqIPsqITvv73vv73vv73vv73vv73vv73sqIXsqIbsqIfsqIrsqI7sqI/sqJDsqJHs +qJLsqJPsqJXsqJbsqJfsqJnsqJrsqJvsqJzsqJ3sqJ7sqJ/sqKDsqKHsqKLsqKPsqKTsqKXvv73v +v73vv73vv73vv73vv73sqKbsqKfsqKjsqKrsqKvsqKzsqK3sqK7sqK/sqLDsqLHsqLLsqLPsqLTs +qLXsqLbsqLfsqLjsqLnsqLrsqLvsqLzsqL3sqL7sqL/sqYDsqYHsqYLsqYPsqYTsqYXsqYbjhLHj +hLLjhLPjhLTjhLXjhLbjhLfjhLjjhLnjhLrjhLvjhLzjhL3jhL7jhL/jhYDjhYHjhYLjhYPjhYTj +hYXjhYbjhYfjhYjjhYnjhYrjhYvjhYzjhY3jhY7jhY/jhZDjhZHjhZLjhZPjhZTjhZXjhZbjhZfj +hZjjhZnjhZrjhZvjhZzjhZ3jhZ7jhZ/jhaDjhaHjhaLjhaPjhaTjhaXjhabjhafjhajjhanjharj +havjhazjha3jha7jha/jhbDjhbHjhbLjhbPjhbTjhbXjhbbjhbfjhbjjhbnjhbrjhbvjhbzjhb3j +hb7jhb/jhoDjhoHjhoLjhoPjhoTjhoXjhobjhofjhojjhonjhorjhovjhozjho3jho7vv70iLnNw +bGl0KCIiKTtmb3IoYT0wO2EhPXRbMTY0XS5sZW5ndGg7KythKWlmKHRbMTY0XVthXS5jaGFyQ29k +ZUF0KDApIT09NjU1MzMpe3JbdFsxNjRdW2FdXT00MTk4NCthO2VbNDE5ODQrYV09dFsxNjRdW2Fd +fXRbMTY1XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+97KmH7KmI7KmJ7KmK7KmL7KmO7KmP7KmR +7KmS7KmT7KmV7KmW7KmX7KmY7KmZ7Kma7Kmb7Kme7Kmi7Kmj7Kmk7Kml7Kmm7Kmn7Kmp7Kmq77+9 +77+977+977+977+977+97Kmr7Kms7Kmt7Kmu7Kmv7Kmw7Kmx7Kmy7Kmz7Km07Km17Km27Km37Km4 +7Km57Km67Km77Km87Km+7Km/7KqA7KqB7KqC7KqD7KqF7KqG77+977+977+977+977+977+97KqH +7KqI7KqJ7KqK7KqL7KqM7KqN7KqO7KqP7KqQ7KqR7KqS7KqT7KqU7KqV7KqW7KqX7KqZ7Kqa7Kqb +7Kqc7Kqd7Kqe7Kqf7Kqg7Kqh7Kqi7Kqj7Kqk7Kql7Kqm7Kqn4oWw4oWx4oWy4oWz4oW04oW14oW2 +4oW34oW44oW577+977+977+977+977+94oWg4oWh4oWi4oWj4oWk4oWl4oWm4oWn4oWo4oWp77+9 +77+977+977+977+977+977+9zpHOks6TzpTOlc6WzpfOmM6ZzprOm86czp3Ons6fzqDOoc6jzqTO +pc6mzqfOqM6p77+977+977+977+977+977+977+977+9zrHOss6zzrTOtc62zrfOuM65zrrOu868 +zr3Ovs6/z4DPgc+Dz4TPhc+Gz4fPiM+J77+977+977+977+977+977+977+9Ii5zcGxpdCgiIik7 +Zm9yKGE9MDthIT10WzE2NV0ubGVuZ3RoOysrYSlpZih0WzE2NV1bYV0uY2hhckNvZGVBdCgwKSE9 +PTY1NTMzKXtyW3RbMTY1XVthXV09NDIyNDArYTtlWzQyMjQwK2FdPXRbMTY1XVthXX10WzE2Nl09 +Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veyqqOyqqeyqquyqq+yqrOyqreyqruyqr+yqsOyqseyq +suyqs+yqtOyqteyqtuyqt+yquOyqueyquuyqu+yqvuyqv+yrgeyrguyrg+yrhe+/ve+/ve+/ve+/ +ve+/ve+/veyrhuyrh+yriOyrieyriuyri+yrjuyrkOyrkuyrlOyrleyrluyrl+yrmuyrm+yrnOyr +neyrnuyrn+yroeyrouyro+yrpOyrpeyrpuyrp++/ve+/ve+/ve+/ve+/ve+/veyrqOyrqeyrquyr +q+yrreyrruyrr+yrsOyrseyrsuyrs+yrteyrtuyrt+yruOyrueyruuyru+yrvOyrveyrvuyrv+ys +gOysgeysguysg+yshOysheyshuysh+ysieysiuKUgOKUguKUjOKUkOKUmOKUlOKUnOKUrOKUpOKU +tOKUvOKUgeKUg+KUj+KUk+KUm+KUl+KUo+KUs+KUq+KUu+KVi+KUoOKUr+KUqOKUt+KUv+KUneKU +sOKUpeKUuOKVguKUkuKUkeKUmuKUmeKUluKUleKUjuKUjeKUnuKUn+KUoeKUouKUpuKUp+KUqeKU +quKUreKUruKUseKUsuKUteKUtuKUueKUuuKUveKUvuKVgOKVgeKVg+KVhOKVheKVhuKVh+KViOKV +ieKViu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNjZd +Lmxlbmd0aDsrK2EpaWYodFsxNjZdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE2Nl1b +YV1dPTQyNDk2K2E7ZVs0MjQ5NithXT10WzE2Nl1bYV19dFsxNjddPSLvv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73srIvsrIzsrI3srI7srI/srJHsrJLsrJPsrJXsrJbsrJfsrJnsrJrsrJvsrJzsrJ3s +rJ7srJ/srKLsrKPsrKTsrKXsrKbsrKfsrKjsrKnvv73vv73vv73vv73vv73vv73srKrsrKvsrKzs +rK3srK7srK/srLDsrLHsrLLsrLPsrLTsrLXsrLbsrLfsrLjsrLnsrLrsrLvsrLzsrL3srL7srL/s +rYDsrYLsrYPsrYTvv73vv73vv73vv73vv73vv73srYXsrYbsrYfsrYrsrYvsrY3srY7srY/srZHs +rZLsrZPsrZTsrZXsrZbsrZfsrZrsrZvsrZzsrZ7srZ/sraDsraHsraLsraPsraXsrabsrafsrajs +ransrarsravsrazjjpXjjpbjjpfihJPjjpjjj4TjjqPjjqTjjqXjjqbjjpnjjprjjpvjjpzjjp3j +jp7jjp/jjqDjjqHjjqLjj4rjjo3jjo7jjo/jj4/jjojjjonjj4jjjqfjjqjjjrDjjrHjjrLjjrPj +jrTjjrXjjrbjjrfjjrjjjrnjjoDjjoHjjoLjjoPjjoTjjrrjjrvjjrzjjr3jjr7jjr/jjpDjjpHj +jpLjjpPjjpTihKbjj4Djj4Hjjorjjovjjozjj5bjj4Xjjq3jjq7jjq/jj5vjjqnjjqrjjqvjjqzj +j53jj5Djj5Pjj4Pjj4njj5zjj4bvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTY3XS5sZW5ndGg7KythKWlmKHRb +MTY3XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNjddW2FdXT00Mjc1MithO2VbNDI3 +NTIrYV09dFsxNjddW2FdfXRbMTY4XT0i77+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+97K2t7K2u7K2v +7K2w7K2x7K2y7K2z7K207K217K227K237K267K277K287K297K2+7K2/7K6A7K6B7K6C7K6D7K6E +7K6F7K6G7K6H7K6I77+977+977+977+977+977+97K6J7K6K7K6L7K6M7K6N7K6O7K6P7K6Q7K6R +7K6S7K6T7K6U7K6V7K6W7K6X7K6Y7K6Z7K6a7K6b7K6d7K6e7K6f7K6g7K6h7K6i7K6j77+977+9 +77+977+977+977+97K6k7K6l7K6m7K6n7K6o7K6p7K6q7K6r7K6s7K6t7K6u7K6v7K6w7K6x7K6y +7K6z7K607K617K627K637K657K667K677K687K697K6+7K6/7K+A7K+B7K+C7K+D7K+Ew4bDkMKq +xKbvv73Esu+/vcS/xYHDmMWSwrrDnsWmxYrvv73jiaDjiaHjiaLjiaPjiaTjiaXjiabjiafjiajj +ianjiarjiavjiazjia3jia7jia/jibDjibHjibLjibPjibTjibXjibbjibfjibjjibnjibrjibvi +k5Dik5Hik5Lik5Pik5Tik5Xik5bik5fik5jik5nik5rik5vik5zik53ik57ik5/ik6Dik6Hik6Li +k6Pik6Tik6Xik6bik6fik6jik6nikaDikaHikaLikaPikaTikaXikabikafikajikanikarikavi +kazika3ika7CveKFk+KFlMK8wr7ihZvihZzihZ3ihZ7vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2Eh +PXRbMTY4XS5sZW5ndGg7KythKWlmKHRbMTY4XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3Jb +dFsxNjhdW2FdXT00MzAwOCthO2VbNDMwMDgrYV09dFsxNjhdW2FdfXRbMTY5XT0i77+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+97K+F7K+G7K+H7K+I7K+J7K+K7K+L7K+M7K+N7K+O7K+P7K+Q7K+R7K+S +7K+T7K+V7K+W7K+X7K+Y7K+Z7K+a7K+b7K+c7K+d7K+e7K+f77+977+977+977+977+977+97K+g +7K+h7K+i7K+j7K+l7K+m7K+o7K+q7K+r7K+s7K+t7K+u7K+v7K+w7K+x7K+y7K+z7K+07K+17K+2 +7K+37K+47K+57K+67K+77K+877+977+977+977+977+977+97K+97K++7K+/7LCA7LCB7LCC7LCD +7LCE7LCF7LCG7LCH7LCI7LCJ7LCK7LCL7LCO7LCP7LCR7LCS7LCT7LCV7LCW7LCX7LCY7LCZ7LCa +7LCb7LCe7LCf7LCg7LCj7LCkw6bEkcOwxKfEscSzxLjFgMWCw7jFk8Ofw77Fp8WLxYnjiIDjiIHj +iILjiIPjiITjiIXjiIbjiIfjiIjjiInjiIrjiIvjiIzjiI3jiI7jiI/jiJDjiJHjiJLjiJPjiJTj +iJXjiJbjiJfjiJjjiJnjiJrjiJvikpzikp3ikp7ikp/ikqDikqHikqLikqPikqTikqXikqbikqfi +kqjikqnikqrikqvikqzikq3ikq7ikq/ikrDikrHikrLikrPikrTikrXikbTikbXikbbikbfikbji +kbnikbrikbvikbzikb3ikb7ikb/ikoDikoHikoLCucKywrPigbTigb/igoHigoLigoPigoTvv70i +LnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTY5XS5sZW5ndGg7KythKWlmKHRbMTY5XVthXS5jaGFy +Q29kZUF0KDApIT09NjU1MzMpe3JbdFsxNjldW2FdXT00MzI2NCthO2VbNDMyNjQrYV09dFsxNjld +W2FdfXRbMTcwXT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+97LCl7LCm7LCq7LCr7LCt7LCv7LCx +7LCy7LCz7LC07LC17LC27LC37LC67LC/7LGA7LGB7LGC7LGD7LGG7LGH7LGJ7LGK7LGL7LGN7LGO +77+977+977+977+977+977+97LGP7LGQ7LGR7LGS7LGT7LGW7LGa7LGb7LGc7LGd7LGe7LGf7LGh +7LGi7LGj7LGl7LGn7LGp7LGq7LGr7LGs7LGt7LGu7LGv7LGx7LGy77+977+977+977+977+977+9 +7LGz7LG07LG27LG37LG47LG57LG67LG77LG87LG97LG+7LG/7LKA7LKB7LKC7LKD7LKE7LKF7LKG +7LKH7LKI7LKJ7LKK7LKL7LKM7LKN7LKO7LKP7LKQ7LKR7LKS7LKT44GB44GC44GD44GE44GF44GG +44GH44GI44GJ44GK44GL44GM44GN44GO44GP44GQ44GR44GS44GT44GU44GV44GW44GX44GY44GZ +44Ga44Gb44Gc44Gd44Ge44Gf44Gg44Gh44Gi44Gj44Gk44Gl44Gm44Gn44Go44Gp44Gq44Gr44Gs +44Gt44Gu44Gv44Gw44Gx44Gy44Gz44G044G144G244G344G444G544G644G744G844G944G+44G/ +44KA44KB44KC44KD44KE44KF44KG44KH44KI44KJ44KK44KL44KM44KN44KO44KP44KQ44KR44KS +44KT77+977+977+977+977+977+977+977+977+977+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9 +MDthIT10WzE3MF0ubGVuZ3RoOysrYSlpZih0WzE3MF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMz +KXtyW3RbMTcwXVthXV09NDM1MjArYTtlWzQzNTIwK2FdPXRbMTcwXVthXX10WzE3MV09Iu+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/veyylOyyleyyluyyl+yymuyym+yyneyynuyyn+yyoeyyouyyo+yy +pOyypeyypuyyp+yyquyyruyyr+yysOyyseyysuyys+yytuyyt+yyue+/ve+/ve+/ve+/ve+/ve+/ +veyyuuyyu+yyveyyvuyyv+yzgOyzgeyzguyzg+yzhuyziOyziuyzi+yzjOyzjeyzjuyzj+yzkeyz +kuyzk+yzleyzluyzl+yzmOyzmeyzmu+/ve+/ve+/ve+/ve+/ve+/veyzm+yznOyzneyznuyzn+yz +oOyzoeyzouyzo+yzpeyzpuyzp+yzqOyzqeyzquyzq+yzreyzruyzr+yzseyzsuyzs+yztOyzteyz +tuyzt+yzuOyzueyzuuyzu+yzvOyzveOCoeOCouOCo+OCpOOCpeOCpuOCp+OCqOOCqeOCquOCq+OC +rOOCreOCruOCr+OCsOOCseOCsuOCs+OCtOOCteOCtuOCt+OCuOOCueOCuuOCu+OCvOOCveOCvuOC +v+ODgOODgeODguODg+ODhOODheODhuODh+ODiOODieODiuODi+ODjOODjeODjuODj+ODkOODkeOD +kuODk+ODlOODleODluODl+ODmOODmeODmuODm+ODnOODneODnuODn+ODoOODoeODouODo+ODpOOD +peODpuODp+ODqOODqeODquODq+ODrOODreODruODr+ODsOODseODsuODs+ODtOODteODtu+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNzFdLmxlbmd0 +aDsrK2EpaWYodFsxNzFdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE3MV1bYV1dPTQz +Nzc2K2E7ZVs0Mzc3NithXT10WzE3MV1bYV19dFsxNzJdPSLvv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73ss77ss7/stIDstILstIPstITstIXstIbstIfstIrstIvstI3stI7stI/stJHstJLstJPstJTs +tJXstJbstJfstJrstJzstJ7stJ/stKDvv73vv73vv73vv73vv73vv73stKHstKLstKPstKXstKbs +tKfstKnstKrstKvstK3stK7stK/stLDstLHstLLstLPstLTstLXstLbstLfstLjstLrstLvstLzs +tL3stL7vv73vv73vv73vv73vv73vv73stL/stYDstYHstYLstYPstYTstYXstYbstYfstYjstYns +tYrstYvstYzstY3stY7stY/stZDstZHstZLstZPstZTstZXstZbstZfstZjstZnstZrstZvstZ3s +tZ7stZ/QkNCR0JLQk9CU0JXQgdCW0JfQmNCZ0JrQm9Cc0J3QntCf0KDQodCi0KPQpNCl0KbQp9Co +0KnQqtCr0KzQrdCu0K/vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73QsNCx0LLQs9C00LXRkdC20LfQuNC50LrQu9C80L3QvtC/0YDRgdGC0YPRhNGF0YbRh9GI0YnR +itGL0YzRjdGO0Y/vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv70iLnNw +bGl0KCIiKTtmb3IoYT0wO2EhPXRbMTcyXS5sZW5ndGg7KythKWlmKHRbMTcyXVthXS5jaGFyQ29k +ZUF0KDApIT09NjU1MzMpe3JbdFsxNzJdW2FdXT00NDAzMithO2VbNDQwMzIrYV09dFsxNzJdW2Fd +fXRbMTczXT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+97LWh7LWi7LWj7LWl7LWm7LWn7LWo7LWp +7LWq7LWr7LWu7LWw7LWy7LWz7LW07LW17LW27LW37LW57LW67LW77LW87LW97LW+7LW/7LaA77+9 +77+977+977+977+977+97LaB7LaC7LaD7LaE7LaF7LaG7LaH7LaJ7LaK7LaL7LaM7LaN7LaO7LaP +7LaQ7LaR7LaS7LaT7LaW7LaX7LaZ7Laa7Lab7Lad7Lae7Laf77+977+977+977+977+977+97Lag +7Lah7Lai7Laj7Lam7Lao7Laq7Lar7Las7Lat7Lau7Lav7Lax7Lay7Laz7La07La17La27La37La4 +7La57La67La77La87La97La+7La/7LeA7LeB7LeC7LeD7LeF77+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDth +IT10WzE3M10ubGVuZ3RoOysrYSlpZih0WzE3M11bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXty +W3RbMTczXVthXV09NDQyODgrYTtlWzQ0Mjg4K2FdPXRbMTczXVthXX10WzE3NF09Iu+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/vey3huy3h+y3iOy3iey3iuy3i+y3jey3juy3j+y3key3kuy3k+y3lOy3 +ley3luy3l+y3mOy3mey3muy3m+y3nOy3ney3nuy3n+y3oOy3oe+/ve+/ve+/ve+/ve+/ve+/vey3 +ouy3o+y3pOy3pey3puy3p+y3qey3quy3q+y3rey3ruy3r+y3sey3suy3s+y3tOy3tey3tuy3t+y3 +uuy3vOy3vuy3v+y4gOy4gey4gu+/ve+/ve+/ve+/ve+/ve+/vey4g+y4hey4huy4h+y4iey4iuy4 +i+y4jey4juy4j+y4kOy4key4kuy4k+y4ley4luy4l+y4mOy4muy4m+y4nOy4ney4nuy4n+y4ouy4 +o+y4pey4puy4p+y4qey4quy4q++/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNzRdLmxlbmd0aDsr +K2EpaWYodFsxNzRdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE3NF1bYV1dPTQ0NTQ0 +K2E7ZVs0NDU0NCthXT10WzE3NF1bYV19dFsxNzVdPSLvv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73s +uKzsuK3suK7suK/suLLsuLTsuLbsuLfsuLjsuLnsuLrsuLvsuLzsuL3suL7suL/suYDsuYHsuYLs +uYPsuYTsuYXsuYbsuYfsuYjsuYnvv73vv73vv73vv73vv73vv73suYrsuYvsuYzsuY3suY7suY/s +uZDsuZHsuZLsuZPsuZTsuZXsuZbsuZfsuZrsuZvsuZ3suZ7suaLsuaPsuaTsuaXsuabsuafsuars +uazvv73vv73vv73vv73vv73vv73sua7sua/subDsubHsubLsubPsubbsubfsubnsubrsubvsub3s +ub7sub/suoDsuoHsuoLsuoPsuobsuojsuorsuovsuozsuo3suo7suo/supLsupPsupXsupbsupfs +upnvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTc1XS5sZW5ndGg7KythKWlmKHRbMTc1XVthXS5j +aGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNzVdW2FdXT00NDgwMCthO2VbNDQ4MDArYV09dFsx +NzVdW2FdfXRbMTc2XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+97Lqa7Lqb7Lqc7Lqd7Lqe7Lqf +7Lqi7Lqm7Lqn7Lqo7Lqp7Lqq7Lqr7Lqu7Lqv7Lqw7Lqx7Lqy7Lqz7Lq07Lq17Lq27Lq37Lq47Lq5 +7Lq677+977+977+977+977+977+97Lq77Lq87Lq97Lq+7Lq/7LuA7LuC7LuD7LuE7LuF7LuG7LuH +7LuI7LuJ7LuK7LuL7LuM7LuN7LuO7LuP7LuQ7LuR7LuS7LuT7LuU7LuV77+977+977+977+977+9 +77+97LuW7LuX7LuY7LuZ7Lua7Lub7Luc7Lud7Lue7Luf7Lug7Luh7Lui7Luj7Lum7Lun7Lup7Luq +7Lut7Luu7Luv7Luw7Lux7Luy7Luz7Lu27Lu67Lu77Lu87Lu97Lu+7Lu/6rCA6rCB6rCE6rCH6rCI +6rCJ6rCK6rCQ6rCR6rCS6rCT6rCU6rCV6rCW6rCX6rCZ6rCa6rCb6rCc6rCd6rCg6rCk6rCs6rCt +6rCv6rCw6rCx6rC46rC56rC86rGA6rGL6rGN6rGU6rGY6rGc6rGw6rGx6rG06rG36rG46rG66rKA +6rKB6rKD6rKE6rKF6rKG6rKJ6rKK6rKL6rKM6rKQ6rKU6rKc6rKd6rKf6rKg6rKh6rKo6rKp6rKq +6rKs6rKv6rKw6rK46rK56rK76rK86rK96rOB6rOE6rOI6rOM6rOV6rOX6rOg6rOh6rOk6rOn6rOo +6rOq6rOs6rOv6rOw6rOx6rOz6rO16rO26rO86rO96rSA6rSE6rSG77+9Ii5zcGxpdCgiIik7Zm9y +KGE9MDthIT10WzE3Nl0ubGVuZ3RoOysrYSlpZih0WzE3Nl1bYV0uY2hhckNvZGVBdCgwKSE9PTY1 +NTMzKXtyW3RbMTc2XVthXV09NDUwNTYrYTtlWzQ1MDU2K2FdPXRbMTc2XVthXX10WzE3N109Iu+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/vey8guy8g+y8hey8huy8h+y8iey8iuy8i+y8jOy8jey8juy8 +j+y8kuy8lOy8luy8l+y8mOy8mey8muy8m+y8ney8nuy8n+y8oey8ouy8o++/ve+/ve+/ve+/ve+/ +ve+/vey8pey8puy8p+y8qOy8qey8quy8q+y8ruy8suy8s+y8tOy8tey8tuy8t+y8uey8uuy8u+y8 +vOy8vey8vuy8v+y9gOy9gey9guy9g+y9hO+/ve+/ve+/ve+/ve+/ve+/vey9hey9huy9h+y9iOy9 +iey9iuy9i+y9jOy9jey9juy9j+y9kOy9key9kuy9k+y9luy9l+y9mey9muy9m+y9ney9nuy9n+y9 +oOy9oey9ouy9o+y9puy9qOy9quy9q+y9rOq0jOq0jeq0j+q0keq0mOq0nOq0oOq0qeq0rOq0req0 +tOq0teq0uOq0vOq1hOq1heq1h+q1ieq1kOq1lOq1mOq1oeq1o+q1rOq1req1sOq1s+q1tOq1teq1 +tuq1u+q1vOq1veq1v+q2geq2guq2iOq2ieq2jOq2kOq2nOq2neq2pOq2t+q3gOq3geq3hOq3iOq3 +kOq3keq3k+q3nOq3oOq3pOq3uOq3ueq3vOq3v+q4gOq4geq4iOq4ieq4i+q4jeq4lOq4sOq4seq4 +tOq4t+q4uOq4uuq5gOq5geq5g+q5heq5huq5iuq5jOq5jeq5juq5kOq5lOq5luq5nOq5neq5n+q5 +oOq5oeq5peq5qOq5qeq5rOq5sOq5uO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNzddLmxl +bmd0aDsrK2EpaWYodFsxNzddW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE3N11bYV1d +PTQ1MzEyK2E7ZVs0NTMxMithXT10WzE3N11bYV19dFsxNzhdPSLvv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73sva3sva7sva/svbLsvbPsvbXsvbbsvbfsvbnsvbrsvbvsvbzsvb3svb7svb/svoHsvoLs +voPsvoTsvobsvofsvojsvonsvorsvovsvo3vv73vv73vv73vv73vv73vv73svo7svo/svpDsvpHs +vpLsvpPsvpTsvpXsvpbsvpfsvpjsvpnsvprsvpvsvpzsvp3svp7svp/svqDsvqLsvqPsvqTsvqXs +vqbsvqfsvqnvv73vv73vv73vv73vv73vv73svqrsvqvsvqzsvq3svq7svq/svrHsvrLsvrPsvrTs +vrXsvrbsvrfsvrjsvrnsvrrsvrvsvrzsvr3svr7svr/sv4Dsv4Hsv4Lsv4Psv4Xsv4bsv4fsv4js +v4nsv4rsv4vqubnqubvqubzqub3quoTquoXquozqurzqur3qur7qu4Dqu4Tqu4zqu43qu4/qu5Dq +u5Hqu5jqu5nqu5zqu6jqu6vqu63qu7Tqu7jqu7zqvIfqvIjqvI3qvJDqvKzqvK3qvLDqvLLqvLTq +vLzqvL3qvL/qvYHqvYLqvYPqvYjqvYnqvZDqvZzqvZ3qvaTqvaXqvbnqvoDqvoTqvojqvpDqvpHq +vpXqvpzqvrjqvrnqvrzqv4Dqv4fqv4jqv4nqv4vqv43qv47qv5Tqv5zqv6jqv6nqv7Dqv7Hqv7Tq +v7jrgIDrgIHrgITrgIzrgJDrgJTrgJzrgJ3rgKjrgYTrgYXrgYjrgYrrgYzrgY7rgZPrgZTrgZXr +gZfrgZnvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTc4XS5sZW5ndGg7KythKWlmKHRbMTc4 +XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNzhdW2FdXT00NTU2OCthO2VbNDU1Njgr +YV09dFsxNzhdW2FdfXRbMTc5XT0i77+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+97L+M7L+N7L+O7L+P +7L+Q7L+R7L+S7L+T7L+U7L+V7L+W7L+X7L+Y7L+Z7L+a7L+b7L+c7L+d7L+e7L+f7L+i7L+j7L+l +7L+m7L+n7L+p77+977+977+977+977+977+97L+q7L+r7L+s7L+t7L+u7L+v7L+y7L+07L+27L+3 +7L+47L+57L+67L+77L+97L++7L+/7YCB7YCC7YCD7YCF7YCG7YCH7YCI7YCJ7YCK77+977+977+9 +77+977+977+97YCL7YCM7YCN7YCO7YCP7YCQ7YCS7YCT7YCU7YCV7YCW7YCX7YCZ7YCa7YCb7YCc +7YCd7YCe7YCf7YCg7YCh7YCi7YCj7YCk7YCl7YCm7YCn7YCo7YCp7YCq7YCr7YCs64Gd64G864G9 +64KA64KE64KM64KN64KP64KR64KY64KZ64Ka64Kc64Kf64Kg64Kh64Ki64Ko64Kp64Kr64Ks64Kt +64Ku64Kv64Kx64Kz64K064K164K464K864OE64OF64OH64OI64OJ64OQ64OR64OU64OY64Og64Ol +64SI64SJ64SL64SM64SQ64SS64ST64SY64SZ64Sb64Sc64Sd64Sj64Sk64Sl64So64Ss64S064S1 +64S364S464S564WA64WB64WE64WI64WQ64WR64WU64WV64WY64Wc64Wg64W464W564W864aA64aC +64aI64aJ64aL64aN64aS64aT64aU64aY64ac64ao64eM64eQ64eU64ec64ed77+9Ii5zcGxpdCgi +Iik7Zm9yKGE9MDthIT10WzE3OV0ubGVuZ3RoOysrYSlpZih0WzE3OV1bYV0uY2hhckNvZGVBdCgw +KSE9PTY1NTMzKXtyW3RbMTc5XVthXV09NDU4MjQrYTtlWzQ1ODI0K2FdPXRbMTc5XVthXX10WzE4 +MF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve2Aru2Ar+2AsO2Ase2Asu2As+2Atu2At+2Aue2A +uu2Au+2Ave2Avu2Av+2BgO2Bge2Bgu2Bg+2Bhu2BiO2Biu2Bi+2BjO2Bje2Bju2Bj++/ve+/ve+/ +ve+/ve+/ve+/ve2Bke2Bku2Bk+2Ble2Blu2Bl+2Bme2Bmu2Bm+2BnO2Bne2Bnu2Bn+2Boe2Bou2B +o+2BpO2Bpe2Bpu2Bp+2BqO2Bqe2Bqu2Bq+2Bru2Br++/ve+/ve+/ve+/ve+/ve+/ve2Bse2Bsu2B +s+2Bte2Btu2Bt+2BuO2Bue2Buu2Bu+2Bvu2Bv+2CgO2Cgu2Cg+2ChO2Che2Chu2Ch+2CiO2Cie2C +iu2Ci+2CjO2Cje2Cju2Cj+2CkO2Cke2Cku2Ck+2ClOuHn+uHqOuHqeuHrOuHsOuHueuHu+uHveuI +hOuIheuIiOuIi+uIjOuIlOuIleuIl+uImeuIoOuItOuIvOuJmOuJnOuJoOuJqOuJqeuJtOuJteuJ +vOuKhOuKheuKieuKkOuKkeuKlOuKmOuKmeuKmuuKoOuKoeuKo+uKpeuKpuuKquuKrOuKsOuKtOuL +iOuLieuLjOuLkOuLkuuLmOuLmeuLm+uLneuLouuLpOuLpeuLpuuLqOuLq+uLrOuLreuLruuLr+uL +s+uLtOuLteuLt+uLuOuLueuLuuuLu+uLv+uMgOuMgeuMhOuMiOuMkOuMkeuMk+uMlOuMleuMnOuN +lOuNleuNluuNmOuNm+uNnOuNnuuNn+uNpOuNpe+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsx +ODBdLmxlbmd0aDsrK2EpaWYodFsxODBdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE4 +MF1bYV1dPTQ2MDgwK2E7ZVs0NjA4MCthXT10WzE4MF1bYV19dFsxODFdPSLvv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73tgpXtgpbtgpftgpjtgpntgprtgpvtgpztgp3tgp7tgp/tgqDtgqHtgqLtgqPt +gqbtgqftgqntgqrtgqvtgq3tgq7tgq/tgrDtgrHtgrLvv73vv73vv73vv73vv73vv73tgrPtgrbt +grjtgrrtgrvtgrztgr3tgr7tgr/tg4Ltg4Ptg4Xtg4btg4ftg4rtg4vtg4ztg43tg47tg4/tg5Lt +g5btg5ftg5jtg5ntg5rvv73vv73vv73vv73vv73vv73tg5vtg57tg5/tg6Htg6Ltg6Ptg6Xtg6bt +g6ftg6jtg6ntg6rtg6vtg67tg7Ltg7Ptg7Ttg7Xtg7btg7ftg7ntg7rtg7vtg7ztg73tg77tg7/t +hIDthIHthILthIPthITrjafrjanrjavrja7rjbDrjbHrjbTrjbjrjoDrjoHrjoPrjoTrjoXrjozr +jpDrjpTrjqDrjqHrjqjrjqzrj4Trj4Xrj4jrj4vrj4zrj47rj5Drj5Trj5Xrj5frj5nrj5vrj53r +j6Drj6Trj6jrj7zrkJDrkJjrkJzrkKDrkKjrkKnrkKvrkLTrkZDrkZHrkZTrkZjrkaDrkaHrkaPr +kaXrkazrkoDrkojrkp3rkqTrkqjrkqzrkrXrkrfrkrnrk4Drk4Trk4jrk5Drk5Xrk5zrk53rk6Dr +k6Prk6Trk6brk6zrk63rk6/rk7Hrk7jrlJTrlJXrlJjrlJvrlJzrlKTrlKXrlKfrlKjrlKnrlKrr +lLDrlLHrlLTrlLjvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTgxXS5sZW5ndGg7KythKWlm +KHRbMTgxXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxODFdW2FdXT00NjMzNithO2Vb +NDYzMzYrYV09dFsxODFdW2FdfXRbMTgyXT0i77+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+97YSF7YSG +7YSH7YSI7YSJ7YSK7YSL7YSM7YSO7YSP7YSQ7YSR7YSS7YST7YSU7YSV7YSW7YSX7YSY7YSZ7YSa +7YSb7YSc7YSd7YSe7YSf77+977+977+977+977+977+97YSg7YSh7YSi7YSj7YSk7YSl7YSm7YSn +7YSo7YSp7YSq7YSr7YSs7YSt7YSu7YSv7YSy7YSz7YS17YS27YS37YS57YS77YS87YS97YS+77+9 +77+977+977+977+977+97YS/7YWC7YWG7YWH7YWI7YWJ7YWK7YWL7YWO7YWP7YWR7YWS7YWT7YWV +7YWW7YWX7YWY7YWZ7YWa7YWb7YWe7YWg7YWi7YWj7YWk7YWl7YWm7YWn7YWp7YWq7YWr7YWt65WA +65WB65WD65WE65WF65WL65WM65WN65WQ65WU65Wc65Wd65Wf65Wg65Wh65ag65ah65ak65ao65aq +65ar65aw65ax65az65a065a165a765a865a965eA65eE65eM65eN65eP65eQ65eR65eY65es65iQ +65iR65iU65iY65il65is65i065mI65mk65mo65qc65qd65qg65qk65qr65qs65qx65uU65uw65u0 +65u465yA65yB65yF65yo65yp65ys65yv65yw65y465y565y7652E652I652M652U652V652g652k +652o652w652x652z652165286529656A656E656M656N656P656Q656R656S656W656X77+9Ii5z +cGxpdCgiIik7Zm9yKGE9MDthIT10WzE4Ml0ubGVuZ3RoOysrYSlpZih0WzE4Ml1bYV0uY2hhckNv +ZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTgyXVthXV09NDY1OTIrYTtlWzQ2NTkyK2FdPXRbMTgyXVth +XX10WzE4M109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve2Fru2Fr+2FsO2Fse2Fsu2Fs+2FtO2F +te2Ftu2Ft+2FuO2Fue2Fuu2Fu+2Fve2Fvu2Fv+2GgO2Gge2Ggu2Gg+2Ghe2Ghu2Gh+2Gie2Giu+/ +ve+/ve+/ve+/ve+/ve+/ve2Gi+2GjO2Gje2Gju2Gj+2GkO2Gke2Gku2Gk+2GlO2Gle2Glu2Gl+2G +mO2Gme2Gmu2Gm+2GnO2Gne2Gnu2Gn+2Gou2Go+2Gpe2Gpu2Gp++/ve+/ve+/ve+/ve+/ve+/ve2G +qe2Gqu2Gq+2GrO2Gre2Gru2Gr+2Gsu2GtO2Gtu2Gt+2GuO2Gue2Gu+2Gve2Gvu2Gv+2Hge2Hgu2H +g+2HhO2Hhe2Hhu2Hh+2HiO2Hie2Hiu2Hi+2HjO2Hje2Hju2Hj+uemOuemeuenOueoOueqOueqeue +q+uerOuereuetOueteueuOufh+ufieufrOufreufsOuftOufvOufveufv+uggOuggeugh+ugiOug +ieugjOugkOugmOugmeugm+ugneugpOugpeugqOugrOugtOugteugt+uguOugueuhgOuhhOuhkeuh +k+uhnOuhneuhoOuhpOuhrOuhreuhr+uhseuhuOuhvOuijeuiqOuisOuitOuiuOujgOujgeujg+uj +heujjOujkOujlOujneujn+ujoeujqOujqeujrOujsOujuOujueuju+ujveukhOukmOukoOukvOuk +veulgOulhOuljOulj+ulkeulmOulmeulnOuloOulqOulqe+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7 +YSE9dFsxODNdLmxlbmd0aDsrK2EpaWYodFsxODNdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7 +clt0WzE4M11bYV1dPTQ2ODQ4K2E7ZVs0Njg0OCthXT10WzE4M11bYV19dFsxODRdPSLvv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73th5Dth5Hth5Lth5Pth5Tth5Xth5bth5fth5nth5rth5vth5zth53t +h57th5/th6Dth6Hth6Lth6Pth6Tth6Xth6bth6fth6jth6nth6rvv73vv73vv73vv73vv73vv73t +h6vth6zth63th67th6/th7Dth7Hth7Lth7Pth7Xth7bth7fth7nth7rth7vth7zth73th77th7/t +iIDtiIHtiILtiIPtiITtiIXtiIbvv73vv73vv73vv73vv73vv73tiIjtiIrtiIvtiIztiI3tiI7t +iI/tiJHtiJLtiJPtiJTtiJXtiJbtiJftiJjtiJntiJrtiJvtiJztiJ3tiJ7tiJ/tiKDtiKHtiKLt +iKPtiKTtiKXtiKbtiKftiKjtiKnrpavrpa3rpbTrpbXrpbjrpbzrpoTrpoXrpofrponrporrpo3r +po7rpqzrpq3rprDrprTrprzrpr3rpr/rp4Hrp4jrp4nrp4zrp47rp4/rp5Drp5Hrp5Lrp5jrp5nr +p5vrp53rp57rp6Hrp6Prp6Trp6Xrp6jrp6zrp7Trp7Xrp7frp7jrp7nrp7rrqIDrqIHrqIjrqJXr +qLjrqLnrqLzrqYDrqYLrqYjrqYnrqYvrqY3rqY7rqZPrqZTrqZXrqZjrqZzrqaTrqaXrqafrqajr +qanrqbDrqbHrqbTrqbjrqoPrqoTrqoXrqofrqozrqqjrqqnrqqvrqqzrqrDrqrLrqrjrqrnrqrvr +qr3rq4Trq4jrq5jrq5nrq7zvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTg0XS5sZW5ndGg7 +KythKWlmKHRbMTg0XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxODRdW2FdXT00NzEw +NCthO2VbNDcxMDQrYV09dFsxODRdW2FdfXRbMTg1XT0i77+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +7Yiq7Yir7Yiu7Yiv7Yix7Yiy7Yiz7Yi17Yi27Yi37Yi47Yi57Yi67Yi77Yi+7YmA7YmC7YmD7YmE +7YmF7YmG7YmH7YmJ7YmK7YmL7YmM77+977+977+977+977+977+97YmN7YmO7YmP7YmQ7YmR7YmS +7YmT7YmU7YmV7YmW7YmX7YmY7YmZ7Yma7Ymb7Ymd7Yme7Ymf7Ymg7Ymh7Ymi7Ymj7Yml7Ymm7Ymn +7Ymo77+977+977+977+977+977+97Ymp7Ymq7Ymr7Yms7Ymt7Ymu7Ymv7Ymw7Ymx7Ymy7Ymz7Ym0 +7Ym17Ym27Ym37Ym47Ym57Ym67Ym77Ym87Ym97Ym+7Ym/7YqC7YqD7YqF7YqG7YqH7YqJ7YqK7YqL +7YqM66yA66yE66yN66yP66yR66yY66yc66yg66yp66yr66y066y166y266y466y766y866y966y+ +662E662F662H662J662N662P662Q662U662Y662h662j662s666I666M666Q666k666o666s6660 +666366+A66+E66+I66+Q66+T66+466+566+866+/67CA67CC67CI67CJ67CL67CM67CN67CP67CR +67CU67CV67CW67CX67CY67Cb67Cc67Cd67Ce67Cf67Ck67Cl67Cn67Cp67Ct67Cw67Cx67C067C4 +67GA67GB67GD67GE67GF67GJ67GM67GN67GQ67Gd67KE67KF67KI67KL67KM67KO67KU67KV67KX +77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE4NV0ubGVuZ3RoOysrYSlpZih0WzE4NV1bYV0u +Y2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTg1XVthXV09NDczNjArYTtlWzQ3MzYwK2FdPXRb +MTg1XVthXX10WzE4Nl09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve2Kje2Kju2Kj+2Kku2Kk+2K +lO2Klu2Kl+2KmO2Kme2Kmu2Km+2Kne2Knu2Kn+2Koe2Kou2Ko+2Kpe2Kpu2Kp+2KqO2Kqe2Kqu2K +q+2Kre+/ve+/ve+/ve+/ve+/ve+/ve2Kru2Kr+2KsO2Ksu2Ks+2KtO2Kte2Ktu2Kt+2Kuu2Ku+2K +ve2Kvu2Lge2Lg+2LhO2Lhe2Lhu2Lh+2Liu2LjO2Lje2Lju2Lj+2LkO2Lke+/ve+/ve+/ve+/ve+/ +ve+/ve2Lku2Lk+2Lle2Llu2Ll+2Lme2Lmu2Lm+2Lne2Lnu2Ln+2LoO2Loe2Lou2Lo+2Lpu2Lp+2L +qO2Lqe2Lqu2Lq+2LrO2Lre2Lru2Lr+2Lsu2Ls+2Lte2Ltu2Lt+2Lue2LuuuymeuymuuyoOuyoeuy +pOuyp+uyqOuysOuyseuys+uytOuyteuyvOuyveuzgOuzhOuzjeuzj+uzkOuzkeuzleuzmOuznOuz +tOuzteuztuuzuOuzvOu0hOu0heu0h+u0ieu0kOu0lOu0pOu0rOu1gOu1iOu1ieu1jOu1kOu1mOu1 +meu1pOu1qOu2gOu2geu2hOu2h+u2iOu2ieu2iuu2kOu2keu2k+u2leu2meu2muu2nOu2pOu2sOu2 +uOu3lOu3leu3mOu3nOu3qeu3sOu3tOu3uOu4gOu4g+u4heu4jOu4jeu4kOu4lOu4nOu4neu4n+u5 +hOu5heu5iOu5jOu5juu5lOu5leu5l+u5meu5muu5m+u5oOu5oeu5pO+/vSIuc3BsaXQoIiIpO2Zv +cihhPTA7YSE9dFsxODZdLmxlbmd0aDsrK2EpaWYodFsxODZdW2FdLmNoYXJDb2RlQXQoMCkhPT02 +NTUzMyl7clt0WzE4Nl1bYV1dPTQ3NjE2K2E7ZVs0NzYxNithXT10WzE4Nl1bYV19dFsxODddPSLv +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73ti7vti7zti73ti77ti7/tjILtjITtjIbtjIftjIjtjInt +jIrtjIvtjI/tjJHtjJLtjJPtjJXtjJftjJjtjJntjJrtjJvtjJ7tjKLtjKPvv73vv73vv73vv73v +v73vv73tjKTtjKbtjKftjKrtjKvtjK3tjK7tjK/tjLHtjLLtjLPtjLTtjLXtjLbtjLftjLrtjL7t +jL/tjYDtjYHtjYLtjYPtjYbtjYftjYjtjYnvv73vv73vv73vv73vv73vv73tjYrtjYvtjYztjY3t +jY7tjY/tjZDtjZHtjZLtjZPtjZTtjZXtjZbtjZftjZjtjZntjZrtjZvtjZztjZ3tjZ7tjZ/tjaDt +jaHtjaLtjaPtjaTtjaXtjabtjaftjajtjanruajruarrubDrubHrubPrubTrubXrubvrubzrub3r +uoDruoTruozruo3ruo/rupDrupHrupjrupnruqjru5Dru5Hru5Tru5fru5jru6Dru6Pru6Tru6Xr +u6zrvIHrvIjrvInrvJjrvJnrvJvrvJzrvJ3rvYDrvYHrvYTrvYjrvZDrvZHrvZXrvpTrvrDrv4Xr +v4zrv43rv5Drv5Trv5zrv5/rv6HsgLzsgZHsgZjsgZzsgaDsgajsgansgpDsgpHsgpTsgpjsgqDs +gqHsgqPsgqXsgqzsgq3sgq/sgrDsgrPsgrTsgrXsgrbsgrzsgr3sgr/sg4Dsg4Hsg4Xsg4jsg4ns +g4zsg5Dsg5jsg5nsg5vsg5zsg53sg6Tvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTg3XS5s +ZW5ndGg7KythKWlmKHRbMTg3XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxODddW2Fd +XT00Nzg3MithO2VbNDc4NzIrYV09dFsxODddW2FdfXRbMTg4XT0i77+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+97Y2q7Y2r7Y2s7Y2t7Y2u7Y2v7Y2w7Y2x7Y2y7Y2z7Y207Y217Y227Y237Y247Y257Y26 +7Y277Y2+7Y2/7Y6B7Y6C7Y6D7Y6F7Y6G7Y6H77+977+977+977+977+977+97Y6I7Y6J7Y6K7Y6L +7Y6O7Y6S7Y6T7Y6U7Y6V7Y6W7Y6X7Y6a7Y6b7Y6d7Y6e7Y6f7Y6h7Y6i7Y6j7Y6k7Y6l7Y6m7Y6n +7Y6q7Y6s7Y6u77+977+977+977+977+977+97Y6v7Y6w7Y6x7Y6y7Y6z7Y617Y627Y637Y657Y66 +7Y677Y697Y6+7Y6/7Y+A7Y+B7Y+C7Y+D7Y+G7Y+H7Y+K7Y+L7Y+M7Y+N7Y+O7Y+P7Y+R7Y+S7Y+T +7Y+U7Y+V7Y+W7IOl7IOo7IOs7IO07IO17IO37IO57ISA7ISE7ISI7ISQ7ISV7ISc7ISd7ISe7ISf +7ISg7ISj7ISk7ISm7ISn7ISs7ISt7ISv7ISw7ISx7IS27IS47IS57IS87IWA7IWI7IWJ7IWL7IWM +7IWN7IWU7IWV7IWY7IWc7IWk7IWl7IWn7IWo7IWp7IWw7IW07IW47IaF7IaM7IaN7IaO7IaQ7IaU +7IaW7Iac7Iad7Iaf7Iah7Ial7Iao7Iap7Ias7Iaw7Ia97IeE7IeI7IeM7IeU7IeX7IeY7Ieg7Iek +7Ieo7Iew7Iex7Iez7Ie87Ie97IiA7IiE7IiM7IiN7IiP7IiR7IiY7IiZ7Iic7Iif7Iig7Iio7Iip +7Iir7Iit77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE4OF0ubGVuZ3RoOysrYSlpZih0WzE4 +OF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTg4XVthXV09NDgxMjgrYTtlWzQ4MTI4 +K2FdPXRbMTg4XVthXX10WzE4OV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve2Pl+2Pme2Pmu2P +m+2PnO2Pne2Pnu2Pn+2PoO2Pou2PpO2Ppe2Ppu2Pp+2PqO2Pqe2Pqu2Pq+2Pru2Pr+2Pse2Psu2P +s+2Pte2Ptu2Pt++/ve+/ve+/ve+/ve+/ve+/ve2PuO2Pue2Puu2Pu+2Pvu2QgO2Qgu2Qg+2QhO2Q +he2Qhu2Qh+2Qie2Qiu2Qi+2QjO2Qje2Qju2Qj+2QkO2Qke2Qku2Qk+2QlO2Qle2Qlu+/ve+/ve+/ +ve+/ve+/ve+/ve2Ql+2QmO2Qme2Qmu2Qm+2QnO2Qnu2Qn+2QoO2Qoe2Qou2Qo+2QpO2Qpe2Qpu2Q +p+2QqO2Qqe2Qqu2Qq+2QrO2Qre2Qru2Qr+2QsO2Qse2Qsu2Qs+2QtO2Qte2Qtu2Qt+yIr+yIseyI +suyItOyJiOyJkOyJkeyJlOyJmOyJoOyJpeyJrOyJreyJsOyJtOyJvOyJveyJv+yKgeyKiOyKieyK +kOyKmOyKm+yKneyKpOyKpeyKqOyKrOyKreyKtOyKteyKt+yKueyLnOyLneyLoOyLo+yLpOyLq+yL +rOyLreyLr+yLseyLtuyLuOyLueyLu+yLvOyMgOyMiOyMieyMjOyMjeyMk+yMlOyMleyMmOyMnOyM +pOyMpeyMqOyMqeyNheyNqOyNqeyNrOyNsOyNsuyNuOyNueyNvOyNveyOhOyOiOyOjOyPgOyPmOyP +meyPnOyPn+yPoOyPouyPqOyPqeyPreyPtOyPteyPuOyQiOyQkOyQpOyQrOyQsO+/vSIuc3BsaXQo +IiIpO2ZvcihhPTA7YSE9dFsxODldLmxlbmd0aDsrK2EpaWYodFsxODldW2FdLmNoYXJDb2RlQXQo +MCkhPT02NTUzMyl7clt0WzE4OV1bYV1dPTQ4Mzg0K2E7ZVs0ODM4NCthXT10WzE4OV1bYV19dFsx +OTBdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73tkLjtkLntkLrtkLvtkLztkL3tkL7tkL/tkYHt +kYLtkYPtkYXtkYbtkYftkYjtkYntkYrtkYvtkYztkY3tkY7tkY/tkZDtkZHtkZLtkZPvv73vv73v +v73vv73vv73vv73tkZTtkZXtkZbtkZftkZjtkZntkZrtkZvtkZ3tkZ7tkZ/tkaHtkaLtkaPtkaXt +kabtkaftkajtkantkartkavtkaztka7tkbDtkbHtkbLvv73vv73vv73vv73vv73vv73tkbPtkbTt +kbXtkbbtkbftkbrtkbvtkb3tkb7tkoHtkoPtkoTtkoXtkobtkoftkortkoztko7tko/tkpDtkpHt +kpLtkpPtkpXtkpbtkpftkpjtkpntkprtkpvtkpztkp3skLTskLzskL3skYjskaTskaXskajskazs +kbTskbXskbnskoDskpTskpzskrjskrzsk6nsk7Dsk7Hsk7Tsk7jsk7rsk7/slIDslIHslIzslJDs +lJTslJzslKjslKnslKzslLDslLjslLnslLvslL3slYTslYXslYjslYnslYrslYzslY3slY7slZPs +lZTslZXslZfslZjslZnslZ3slZ7slaDslaHslaTslajslbDslbHslbPslbTslbXslbzslb3sloDs +loTslofslozslo3slo/slpHslpXslpfslpjslpzslqDslqnslrTslrXslrjslrnslrvslrzslr3s +lr7sl4Tsl4Xsl4bsl4fsl4jsl4nsl4rsl4zsl47vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRb +MTkwXS5sZW5ndGg7KythKWlmKHRbMTkwXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsx +OTBdW2FdXT00ODY0MCthO2VbNDg2NDArYV09dFsxOTBdW2FdfXRbMTkxXT0i77+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+97ZKe7ZKf7ZKg7ZKh7ZKi7ZKj7ZKk7ZKl7ZKm7ZKn7ZKo7ZKq7ZKr7ZKs7ZKt +7ZKu7ZKv7ZKw7ZKx7ZKy7ZKz7ZK07ZK17ZK27ZK37ZK477+977+977+977+977+977+97ZK57ZK6 +7ZK77ZK87ZK97ZK+7ZK/7ZOA7ZOB7ZOC7ZOD7ZOE7ZOF7ZOG7ZOH7ZOI7ZOJ7ZOK7ZOL7ZON7ZOO +7ZOP7ZOR7ZOS7ZOT7ZOV77+977+977+977+977+977+97ZOW7ZOX7ZOY7ZOZ7ZOa7ZOb7ZOd7ZOe +7ZOg7ZOh7ZOi7ZOj7ZOk7ZOl7ZOm7ZOn7ZOp7ZOq7ZOr7ZOt7ZOu7ZOv7ZOx7ZOy7ZOz7ZO07ZO1 +7ZO27ZO37ZO57ZO67ZO87JeQ7JeR7JeU7JeY7Jeg7Jeh7Jej7Jel7Jes7Jet7Jeu7Jew7Je07Je2 +7Je37Je87Je97Je+7Je/7JiA7JiB7JiF7JiG7JiH7JiI7JiM7JiQ7JiY7JiZ7Jib7Jic7Jik7Jil +7Jio7Jis7Jit7Jiu7Jiw7Jiz7Ji07Ji17Ji37Ji57Ji77JmA7JmB7JmE7JmI7JmQ7JmR7JmT7JmU +7JmV7Jmc7Jmd7Jmg7Jms7Jmv7Jmx7Jm47Jm57Jm87JqA7JqI7JqJ7JqL7JqN7JqU7JqV7JqY7Jqc +7Jqk7Jql7Jqn7Jqp7Jqw7Jqx7Jq07Jq47Jq57Jq67JuA7JuB7JuD7JuF7JuM7JuN7JuQ7JuU7Juc +7Jud7Jug7Juh7Juo77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE5MV0ubGVuZ3RoOysrYSlp +Zih0WzE5MV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTkxXVthXV09NDg4OTYrYTtl +WzQ4ODk2K2FdPXRbMTkxXVthXX10WzE5Ml09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve2Tvu2T +v+2UgO2Uge2Ugu2Ug+2Uhe2Uhu2Uh+2Uie2Uiu2Ui+2Uje2Uju2Uj+2UkO2Uke2Uku2Uk+2Ulu2U +mO2Ume2Umu2Um+2UnO2Une+/ve+/ve+/ve+/ve+/ve+/ve2Unu2Un+2UoO2Uoe2Uou2Uo+2UpO2U +pe2Upu2Up+2UqO2Uqe2Uqu2Uq+2UrO2Ure2Uru2Ur+2UsO2Use2Usu2Us+2UtO2Ute2Utu2Ut++/ +ve+/ve+/ve+/ve+/ve+/ve2UuO2Uue2Uuu2Uu+2Uvu2Uv+2Vge2Vgu2Vg+2Vhe2Vhu2Vh+2ViO2V +ie2Viu2Vi+2Vju2VkO2Vku2Vk+2VlO2Vle2Vlu2Vl+2Vmu2Vm+2Vne2Vnu2Vn+2Voe2Vou2Vo+yb +qeybrOybsOybuOybueybveychOycheyciOycjOyclOycleycl+ycmeycoOycoeycpOycqOycsOyc +seycs+ycteyct+ycvOycveydgOydhOydiuydjOydjeydj+ydkeydkuydk+ydlOydleydluydl+yd +mOydnOydoOydqOydq+ydtOydteyduOydvOydveydvuyeg+yehOyeheyeh+yeiOyeieyeiuyejuye +kOyekeyelOyeluyel+yemOyemuyeoOyeoeyeo+yepOyepeyepuyerOyereyesOyetOyevOyeveye +v+yfgOyfgeyfiOyfieyfjOyfjuyfkOyfmOyfneyfpOyfqOyfrOyggOyggeyghOygiOygiu+/vSIu +c3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxOTJdLmxlbmd0aDsrK2EpaWYodFsxOTJdW2FdLmNoYXJD +b2RlQXQoMCkhPT02NTUzMyl7clt0WzE5Ml1bYV1dPTQ5MTUyK2E7ZVs0OTE1MithXT10WzE5Ml1b +YV19dFsxOTNdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73tlaTtlabtlaftlartlaztla7tla/t +lbDtlbHtlbLtlbPtlbbtlbftlbntlbrtlbvtlb3tlb7tlb/tloDtloHtloLtloPtlobtlortlovv +v73vv73vv73vv73vv73vv73tloztlo3tlo7tlo/tlpHtlpLtlpPtlpTtlpXtlpbtlpftlpjtlpnt +lprtlpvtlpztlp3tlp7tlp/tlqDtlqHtlqLtlqPtlqTtlqbtlqfvv73vv73vv73vv73vv73vv73t +lqjtlqntlqrtlqvtlqztlq3tlq7tlq/tlrDtlrHtlrLtlrPtlrTtlrXtlrbtlrftlrjtlrntlrrt +lrvtlrztlr3tlr7tlr/tl4Dtl4Htl4Ltl4Ptl4Ttl4Xtl4btl4fsoJDsoJHsoJPsoJXsoJbsoJzs +oJ3soKDsoKTsoKzsoK3soK/soLHsoLjsoLzsoYDsoYjsoYnsoYzsoY3soZTsobDsobHsobTsobjs +obrsooDsooHsooPsooXsoobsoofsoovsoozsoo3sopTsop3sop/soqHsoqjsorzsor3so4Tso4js +o4zso5Tso5Xso5fso5nso6Dso6Hso6Tso7Xso7zso73spIDspITspIXspIbspIzspI3spI/spJHs +pJjspKzspLTspZDspZHspZTspZjspaDspaHspaPspazspbDspbTspbzspojsponspozsppDsppjs +ppnsppvspp3sp4Dsp4Hsp4Tsp4fsp4jsp4rsp5Dsp5Hsp5Pvv70iLnNwbGl0KCIiKTsKZm9yKGE9 +MDthIT10WzE5M10ubGVuZ3RoOysrYSlpZih0WzE5M11bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMz +KXtyW3RbMTkzXVthXV09NDk0MDgrYTtlWzQ5NDA4K2FdPXRbMTkzXVthXX10WzE5NF09Iu+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve2Xiu2Xi+2Xje2Xju2Xj+2Xke2Xk+2XlO2Xle2Xlu2Xl+2Xmu2X +nO2Xnu2Xn+2XoO2Xoe2Xou2Xo+2Xpu2Xp+2Xqe2Xqu2Xq+2Xre2Xru+/ve+/ve+/ve+/ve+/ve+/ +ve2Xr+2XsO2Xse2Xsu2Xs+2Xtu2XuO2Xuu2Xu+2XvO2Xve2Xvu2Xv+2Ygu2Yg+2Yhe2Yhu2Yh+2Y +ie2Yiu2Yi+2YjO2Yje2Yju2Yj+2Yku+/ve+/ve+/ve+/ve+/ve+/ve2Ylu2Yl+2YmO2Yme2Ymu2Y +m+2Yne2Ynu2Yn+2Yoe2You2Yo+2Ype2Ypu2Yp+2YqO2Yqe2Yqu2Yq+2YrO2Yru2Yr+2YsO2Yse2Y +su2Ys+2YtO2Yte2Ytu2Yt+2Yuu2Yu+ynleynluynmeynmuynnOynneynoOynouynpOynp+ynrOyn +reynr+ynsOynseynuOynueynvOyogOyoiOyoieyoi+yojOyojeyolOyomOyoqeypjOypjeypkOyp +lOypnOypneypn+ypoOypoeypqOypveyqhOyqmOyqvOyqveyrgOyrhOyrjOyrjeyrj+yrkeyrk+yr +mOyrmeyroOyrrOyrtOysiOyskOyslOysmOysoOysoeytgeytiOytieytjOytkOytmOytmeytneyt +pOytuOytueyunOyuuOyvlOyvpOyvp+yvqeywjOywjeywkOywlOywnOywneywoeywouywp+ywqOyw +qeywrOywruywsOywuOywueywu++/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxOTRdLmxlbmd0 +aDsrK2EpaWYodFsxOTRdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE5NF1bYV1dPTQ5 +NjY0K2E7ZVs0OTY2NCthXT10WzE5NF1bYV19dFsxOTVdPSLvv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73tmL3tmL7tmL/tmYHtmYLtmYPtmYTtmYbtmYftmYrtmYztmY7tmY/tmZDtmZLtmZPtmZbtmZft +mZntmZrtmZvtmZ3tmZ7tmZ/tmaDtmaHvv73vv73vv73vv73vv73vv73tmaLtmaPtmaTtmaXtmabt +majtmartmavtmaztma3tma7tma/tmbLtmbPtmbXtmbbtmbftmbjtmbntmbrtmbvtmbztmb3tmb7t +mb/tmoDvv73vv73vv73vv73vv73vv73tmoHtmoLtmoTtmobtmoftmojtmontmortmovtmo7tmo/t +mpHtmpLtmpPtmpXtmpbtmpftmpjtmpntmprtmpvtmpztmp7tmqDtmqLtmqPtmqTtmqXtmqbtmqft +mqntmqrssLzssL3ssL7ssYTssYXssYjssYzssZTssZXssZfssZjssZnssaDssaTssabssajssbDs +sbXsspjsspnsspzssqDssqjssqnssqvssqzssq3ssrTssrXssrjssrzss4Tss4Xss4fss4nss5Ds +s5Tss6Tss6zss7DstIHstIjstInstIzstJDstJjstJnstJvstJ3stKTstKjstKzstLnstZzstaDs +taTstazsta3sta/stbHstbjstojstpTstpXstpjstpzstqTstqXstqfstqnstrDst4Tst4zst5Ds +t6jst6zst7Dst7jst7nst7vst73suITsuIjsuIzsuJTsuJnsuKDsuKHsuKTsuKjsuLDsuLHsuLPs +uLXvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTk1XS5sZW5ndGg7KythKWlmKHRbMTk1XVth +XS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxOTVdW2FdXT00OTkyMCthO2VbNDk5MjArYV09 +dFsxOTVdW2FdfXRbMTk2XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+97Zqr7Zqt7Zqu7Zqv7Zqx +7Zqy7Zqz7Zq07Zq17Zq27Zq37Zq47Zq67Zq87Zq97Zq+7Zq/7ZuA7ZuB7ZuC7ZuD7ZuG7ZuH7ZuJ +7ZuK7ZuL77+977+977+977+977+977+97ZuN7ZuO7ZuP7ZuQ7ZuS7ZuT7ZuV7ZuW7ZuY7Zua7Zub +7Zuc7Zud7Zue7Zuf7Zuh7Zui7Zuj7Zul7Zum7Zun7Zup7Zuq7Zur7Zus7Zut77+977+977+977+9 +77+977+97Zuu7Zuv7Zux7Zuy7Zuz7Zu07Zu27Zu37Zu47Zu57Zu67Zu77Zu+7Zu/7ZyB7ZyC7ZyD +7ZyF7ZyG7ZyH7ZyI7ZyJ7ZyK7ZyL7ZyM7ZyN7ZyO7ZyP7ZyQ7ZyS7ZyT7ZyU7LmY7LmZ7Lmc7Lmf +7Lmg7Lmh7Lmo7Lmp7Lmr7Lmt7Lm07Lm17Lm47Lm87LqE7LqF7LqH7LqJ7LqQ7LqR7LqU7LqY7Lqg +7Lqh7Lqj7Lqk7Lql7Lqs7Lqt7LuB7Luk7Lul7Luo7Lur7Lus7Lu07Lu17Lu37Lu47Lu57LyA7LyB +7LyE7LyI7LyQ7LyR7LyT7LyV7Lyc7Lyg7Lyk7Lys7Lyt7Lyv7Lyw7Lyx7Ly47L2U7L2V7L2Y7L2c +7L2k7L2l7L2n7L2p7L2w7L2x7L207L247L6A7L6F7L6M7L6h7L6o7L6w7L+E7L+g7L+h7L+k7L+o +7L+w7L+x7L+z7L+17L+87YCA7YCE7YCR7YCY7YCt7YC07YC17YC47YC877+9Ii5zcGxpdCgiIik7 +Zm9yKGE9MDthIT10WzE5Nl0ubGVuZ3RoOysrYSlpZih0WzE5Nl1bYV0uY2hhckNvZGVBdCgwKSE9 +PTY1NTMzKXtyW3RbMTk2XVthXV09NTAxNzYrYTtlWzUwMTc2K2FdPXRbMTk2XVthXX10WzE5N109 +Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve2cle2clu2cl+2cmu2cm+2cne2cnu2cn+2coe2cou2c +o+2cpO2cpe2cpu2cp+2cqu2crO2cru2cr+2csO2cse2csu2cs+2ctu2ct+2cue+/ve+/ve+/ve+/ +ve+/ve+/ve2cuu2cu+2cve2cvu2cv+2dgO2dge2dgu2dg+2dhe2dhu2diO2diu2di+2djO2dje2d +ju2dj+2dku2dk+2dle2dmu2dm+2dnO2dne2dnu+/ve+/ve+/ve+/ve+/ve+/ve2dn+2dou2dpO2d +pu2dp+2dqO2dqu2dq+2dre2dru2dr+2dse2dsu2ds+2dte2dtu2dt+2duO2due2duu2du+2dvu2d +v+2egO2egu2eg+2ehO2ehe2ehu2eh+2eiu2ei+2BhO2Bhe2Bh+2Bie2BkO2BlO2BmO2BoO2BrO2B +re2BsO2BtO2BvO2Bve2Cge2CpO2Cpe2CqO2CrO2CtO2Cte2Ct+2Cue2DgO2Dge2DhO2DiO2Die2D +kO2Dke2Dk+2DlO2Dle2DnO2Dne2DoO2DpO2DrO2Dre2Dr+2DsO2Dse2DuO2Eje2EsO2Ese2EtO2E +uO2Euu2FgO2Fge2Fg+2FhO2Fhe2FjO2Fje2FkO2FlO2FnO2Fne2Fn+2Foe2FqO2FrO2FvO2GhO2G +iO2GoO2Goe2GpO2GqO2GsO2Gse2Gs+2Gte2Guu2GvO2HgO2HmO2HtO2HuO2Ih+2Iie2IkO2IrO2I +re2IsO2ItO2IvO2Ive2Iv+2Jge2JiO2JnO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxOTdd +Lmxlbmd0aDsrK2EpaWYodFsxOTddW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE5N11b +YV1dPTUwNDMyK2E7ZVs1MDQzMithXT10WzE5N11bYV19dFsxOThdPSLvv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73tno3tno7tno/tnpHtnpLtnpPtnpTtnpXtnpbtnpftnprtnpztnp7tnp/tnqDtnqHt +nqLtnqPvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73tiaTtioDtioHtioTtiojtipDtipHtipXtipztiqDtiqTtiqztirHtirjtirnt +irztir/ti4Dti4Lti4jti4nti4vti5Tti5jti5zti6Tti6Xti7Dti7Hti7Tti7jtjIDtjIHtjIPt +jIXtjIztjI3tjI7tjJDtjJTtjJbtjJztjJ3tjJ/tjKDtjKHtjKXtjKjtjKntjKztjLDtjLjtjLnt +jLvtjLztjL3tjYTtjYXtjbztjb3tjoDtjoTtjoztjo3tjo/tjpDtjpHtjpjtjpntjpztjqDtjqjt +jqntjqvtjq3tjrTtjrjtjrztj4Ttj4Xtj4jtj4ntj5Dtj5jtj6Htj6Ptj6ztj63tj7Dtj7Ttj7zt +j73tj7/tkIHvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTk4XS5sZW5ndGg7KythKWlmKHRb +MTk4XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxOThdW2FdXT01MDY4OCthO2VbNTA2 +ODgrYV09dFsxOThdW2FdfXRbMTk5XT0i77+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+97ZCI7ZCd +7ZGA7ZGE7ZGc7ZGg7ZGk7ZGt7ZGv7ZG47ZG57ZG87ZG/7ZKA7ZKC7ZKI7ZKJ7ZKL7ZKN7ZKU7ZKp +7ZOM7ZOQ7ZOU7ZOc7ZOf7ZOo7ZOs7ZOw7ZO47ZO77ZO97ZSE7ZSI7ZSM7ZSU7ZSV7ZSX7ZS87ZS9 +7ZWA7ZWE7ZWM7ZWN7ZWP7ZWR7ZWY7ZWZ7ZWc7ZWg7ZWl7ZWo7ZWp7ZWr7ZWt7ZW07ZW17ZW47ZW8 +7ZaE7ZaF7ZaH7ZaI7ZaJ7ZaQ7Zal7ZeI7ZeJ7ZeM7ZeQ7ZeS7ZeY7ZeZ7Zeb7Zed7Zek7Zel7Zeo +7Zes7Ze07Ze17Ze37Ze57ZiA7ZiB7ZiE7ZiI7ZiQ7ZiR7ZiT7ZiU7ZiV7Zic7Zig77+9Ii5zcGxp +dCgiIik7Zm9yKGE9MDthIT10WzE5OV0ubGVuZ3RoOysrYSlpZih0WzE5OV1bYV0uY2hhckNvZGVB +dCgwKSE9PTY1NTMzKXtyW3RbMTk5XVthXV09NTA5NDQrYTtlWzUwOTQ0K2FdPXRbMTk5XVthXX10 +WzIwMF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve2YpO2Yre2YuO2Yue2YvO2ZgO2Zhe2Z +iO2Zie2Zi+2Zje2Zke2ZlO2Zle2ZmO2ZnO2Zp+2Zqe2ZsO2Zse2ZtO2ag+2ahe2ajO2aje2akO2a +lO2ane2an+2aoe2aqO2arO2asO2aue2au+2bhO2bhe2biO2bjO2bke2blO2bl+2bme2boO2bpO2b +qO2bsO2bte2bvO2bve2cgO2chO2cke2cmO2cme2cnO2coO2cqO2cqe2cq+2cre2ctO2cte2cuO2c +vO2dhO2dh+2die2dkO2dke2dlO2dlu2dl+2dmO2dme2doO2doe2do+2dpe2dqe2drO2dsO2dtO2d +vO2dve2ege2eiO2eie2ejO2ekO2emO2eme2em+2ene+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9 +dFsyMDBdLmxlbmd0aDsrK2EpaWYodFsyMDBdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0 +WzIwMF1bYV1dPTUxMjAwK2E7ZVs1MTIwMCthXT10WzIwMF1bYV19dFsyMDJdPSLvv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73kvL3kvbPlgYflg7nliqDlj6/lkbXlk6XlmInlq4Hlrrbmmofmnrbm +nrfmn6/mrYznj4Lnl4LnqLzoi5vojITooZfooojoqLbos4jot4/ou7vov6bpp5XliLvljbTlkITm +garmhaTmrrznj4/ohJroprrop5LplqPkvoPliIrlor7lpbjlp6blubLlubnmh4fmj4DmnYbmn6zm +ob/mvpfnmY7nnIvno7XnqIjnq7/nsKHogp3oia7oibHoq6vplpPkuavllp3mm7fmuLTnoqPnq63o +kZvopJDonY7pnqjli5jlnY7loKrltYzmhJ/mhr7miKHmlaLmn5HmqYTmuJvnlJjnlrPnm6PnnrDn +tLrpgq/pkZHpkZLpvpXvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjAyXS5sZW5ndGg7Kyth +KWlmKHRbMjAyXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMDJdW2FdXT01MTcxMith +O2VbNTE3MTIrYV09dFsyMDJdW2FdfXRbMjAzXT0i77+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +5Yyj5bKs55Sy6IOb6YmA6ZaY5Ymb5aCI5aec5bKh5bSX5bq35by65b2K5oW35rGf55W655aG57Og +57Wz57ax576M6IWU6Iih6JaR6KWB6Kyb6Yu86ZmN6bGH5LuL5Lu35YCL5Yex5aGP5oS35oS+5oWo +5pS55qeq5ryR55al55qG55uW566H6Iql6JOL76SA6Y6n6ZaL5ZaA5a6i5Z2R76SB57Kz57656Ya1 +5YCo5Y675bGF5beo5ouS5o2u5pOa5pOn5rig54Ks56Wb6Led6Lie76SC6YG96YmF6Yu45Lm+5Lu2 +5YGl5be+5bu65oSG5qWX6IWx6JmU6LmH6Y216air5Lme5YKR5p2w5qGA5YSJ5YqN5YqS5qqi77+9 +Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIwM10ubGVuZ3RoOysrYSlpZih0WzIwM11bYV0uY2hh +ckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjAzXVthXV09NTE5NjgrYTtlWzUxOTY4K2FdPXRbMjAz +XVthXX10WzIwNF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veeevOmIkOm7lOWKq+aAr+i/ +suWBiOaGqeaPreaTiuagvOaqhOa/gOiGiOimoemalOWgheeJveeKrOeUhOe1uee5reiCqeimi+it +tOmBo+m1keaKieaxuua9lOe1kOe8uuioo+WFvOaFiueuneismemJl+mOjOS6rOS/k+WAnuWCvuWE +huWLgeWLjeWNv+WdsOWig+W6muW+keaFtuaGrOaTjuaVrOaZr+aau+abtOail+a2h+eCheeDseeS +n+eSpeeTiueXmeehrOejrOern+ertue1hee2k+iAleiAv+iEm+iOluitpui8lemAlemPoemgg+mg +uOmpmumvqOS/guWVk+WguuWlkeWto+WxhuaCuOaIkuahguaisO+/vSIuc3BsaXQoIiIpO2Zvcihh +PTA7YSE9dFsyMDRdLmxlbmd0aDsrK2EpaWYodFsyMDRdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUz +Myl7clt0WzIwNF1bYV1dPTUyMjI0K2E7ZVs1MjIyNCthXT10WzIwNF1bYV19dFsyMDVdPSLvv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73mo6jmuqrnlYznmbjno47nqL3ns7vnuavnubzoqIjoqqHo +sL/pmo7pt4Tlj6Tlj6nlkYrlkbHlm7rlp5HlraTlsLvluqvmi7fmlLfmlYXmlbLmmqDmnq/mp4Hm +sr3nl7znmpDnnb7nqL/nvpTogIPogqHoho/oi6boi73oj7Dol4HooLHoorToqqXvpIPovpzpjK7p +m4fpoafpq5jpvJPlk63mlpvmm7Lmoo/nqYDosLfptaDlm7DlnaTltJHmmIbmorHmo43mu77nkKjo +op7pr6TmsajvpITpqqjkvpvlhazlhbHlip/lrZTlt6XmgZDmga3mi7HmjqfmlLvnj5nnqbromqPo +sqLpno/kuLLlr6HmiIjmnpznk5zvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjA1XS5sZW5n +dGg7KythKWlmKHRbMjA1XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMDVdW2FdXT01 +MjQ4MCthO2VbNTI0ODArYV09dFsyMDVdW2FdfXRbMjA2XT0i77+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+956eR6I+T6KqH6Kqy6Leo6YGO6Y2L6aGG5buT5qeo6Je/6YOt76SF5Yag5a6Y5a+s5oWj +5qO65qy+54GM55Cv55OY566h572Q6I+F6KeA6LKr6Zec6aSo5Yiu5oGd5ous6YCC5L6K5YWJ5Yyh +5aOZ5buj5pug5rS454Ka54uC54+W562Q6IOx6ZGb5Y2m5o6b572r5LmW5YKA5aGK5aOe5oCq5oSn +5ouQ5qeQ6a2B5a6P57SY6IKx6L2f5Lqk5YOR5ZKs5Zas5ayM5bag5ben5pSq5pWO5qCh5qmL54uh +55qO55+v57We57+56Iag6JWO6Juf6LyD6L2O6YOK6aSD6amV6a6r5LiY5LmF5Lmd5LuH5L+x5YW3 +5Yu+77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIwNl0ubGVuZ3RoOysrYSlpZih0WzIwNl1b +YV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjA2XVthXV09NTI3MzYrYTtlWzUyNzM2K2Fd +PXRbMjA2XVthXX10WzIwN109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veWNgOWPo+WPpeWS +juWYlOWdteWeouWvh+W2h+W7kOaHvOaLmOaVkeaeuOafqeani+atkOavhuavrOaxgua6neeBuOeL +l+eOlueQg+eev+efqeeptue1v+iAieiHvOiIheiIiuiLn+ihouiss+izvOi7gOmAkemCsemJpOmK +tumnkumphemzqem3l+m+nOWci+WxgOiPiumeoOmeq+m6tOWQm+eqmOe+pOijmei7jemDoeWggOWx +iOaOmOeqn+WuruW8k+epueeqruiKjui6rOWApuWIuOWLuOWNt+WciOaLs+aNsuasiua3g+ect+WO +peeNl+iVqOi5tumXleacuuarg+a9sOiprei7jOmli++khuaZt+atuOiytO+/vSIuc3BsaXQoIiIp +O2ZvcihhPTA7YSE9dFsyMDddLmxlbmd0aDsrK2EpaWYodFsyMDddW2FdLmNoYXJDb2RlQXQoMCkh +PT02NTUzMyl7clt0WzIwN11bYV1dPTUyOTkyK2E7ZVs1Mjk5MithXT10WzIwN11bYV19dFsyMDhd +PSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73prLzvpIflj6vlnK3lpY7mj4bmp7vnj6rnoYXn +qrrnq4Xns77okbXopo/otbPpgLXplqjli7vlnYfnlYfnraDoj4zpiJ7vpIjmqZjlhYvliYvliofm +iJ/mo5jmpbXpmpnlg4XliqTli6Tmh4PmlqTmoLnmp7/nkb7nrYvoirnoj6voprLorLnov5HppYnv +pInku4rlppfmk5LmmJHmqo7nkLTnpoHnpr3oiqnoob7oob/opZ/vpIrpjKbkvIvlj4rmgKXmibHm +sbLntJrntabkupjlhaLnn5zogq/kvIHkvI7lhbblhoDll5zlmajlnLvln7rln7zlpJTlpYflppPl +r4TlspDltI7lt7Hlub7lv4zmioDml5fml6Pvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjA4 +XS5sZW5ndGg7KythKWlmKHRbMjA4XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMDhd +W2FdXT01MzI0OCthO2VbNTMyNDgrYV09dFsyMDhdW2FdfXRbMjA5XT0i77+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+95pye5pyf5p2e5qOL5qOE5qmf5qy65rCj5rG95rKC5reH546Y55Cm55Cq55KC +55Kj55W455W/56KB56Ov56WB56WH56WI56W6566V57SA57a6576I6ICG6ICt6IKM6KiY6K2P6LGI +6LW36Yyh6Yyk6aOi6aWR6aiO6aiP6aml6bqS57eK5L225ZCJ5ouu5qGU6YeR5Zar5YS676SL76SM +5aic5oem76SN5ouP5ou/76SO76SP76SQ76SR76SS76ST6YKj76SU76SV76SW76SX76SY6Ku+76SZ +76Sa76Sb76Sc5pqW76Sd54WW76Se76Sf6Zuj76Sg5o2P5o265Y2X76Sh5p6P5qWg5rmz76Si55S3 +76Sj76Sk76Sl77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIwOV0ubGVuZ3RoOysrYSlpZih0 +WzIwOV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjA5XVthXV09NTM1MDQrYTtlWzUz +NTA0K2FdPXRbMjA5XVthXX10WzIxMF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vee0je+k +pu+kp+ihsuWbiuWomO+kqO+kqe+kqu+kq++krOS5g++kreWFp+WliOafsOiAkO+kruWls+W5tOaS +mueniuW/teaBrOaLiOaNu+Wvp+Wvl+WKqu+kr+WltOW8qeaAku+ksO+kse+ksueRme+ks++ktO+k +te+ktu+kt++kuOmnke+kue+kuu+ku++kvO+kve+kvu+kv++lgO+lge+lgu+lg+a/g++lhO+lheiG +v+i+suaDse+lhu+lh+iFpu+liO+lieWwv++liu+li++ljO+lje+lju+lj++lkO+lkeWrqeiopead +u+e0kO+lku+lk++llO+lle+llu+ll+iDve+lmO+lmeWwvOazpeWMv+a6uuWkmuiMtu+/vSIuc3Bs +aXQoIiIpO2ZvcihhPTA7YSE9dFsyMTBdLmxlbmd0aDsrK2EpaWYodFsyMTBdW2FdLmNoYXJDb2Rl +QXQoMCkhPT02NTUzMyl7clt0WzIxMF1bYV1dPTUzNzYwK2E7ZVs1Mzc2MCthXT10WzIxMF1bYV19 +dFsyMTFdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73kuLnkurbkvYbllq7lnJjlo4flvZbm +lrfml6bmqoDmrrXmuY3nn63nq6/nsJ7nt57om4voopLphLLpjZvmkrvmvr7njbrnlrjpgZTllZbl +nY3mhrrmk5Tmm4fmt6HmuZvmva3mvrnnl7DogYPohr3olYHopoPoq4forZrpjJ/mspPnlZPnrZTo +uI/pgZ3llJDloILloZjluaLmiIfmkp7mo6Dnlbbns5bonrPpu6jku6Plnojlna7lpKflsI3lsrHl +uLblvoXmiLTmk6HnjrPoh7rooovosrjpmorpu5vlroXlvrfmgrPlgJLliIDliLDlnJbloLXloZfl +sI7lsaDls7bltovluqblvpLmgrzmjJHmjonmkJfmoYPvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2Eh +PXRbMjExXS5sZW5ndGg7KythKWlmKHRbMjExXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3Jb +dFsyMTFdW2FdXT01NDAxNithO2VbNTQwMTYrYV09dFsyMTFdW2FdfXRbMjEyXT0i77+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+95qO55quC5reY5rih5ruU5r+k54e+55uc552556ax56i76JCE6Kap +6LOt6Lez6LmI6YCD6YCU6YGT6YO96Y2N6Zm26Z+c5q+S54CG54mY54qi542o552j56a/56+k57qb +6K6A5aKp5oOH5pWm5pe95pq+5rKM54Se54eJ6LGa6aCT5Lmt56qB5Lud5Yas5YeN5YuV5ZCM5oan +5p2x5qGQ5qOf5rSe5r2855a8556z56ul6IO06JGj6YqF5YWc5paX5p2c5p6T55eY56uH6I2z76Wa +6LGG6YCX6aCt5bGv6IeA6Iqa6YGB6YGv6YiN5b6X5bad5qmZ54eI55m7562J6Jek6KyE6YSn6aiw +5ZaH5oe276Wb55mp576F77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIxMl0ubGVuZ3RoOysr +YSlpZih0WzIxMl1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjEyXVthXV09NTQyNzIr +YTtlWzU0MjcyK2FdPXRbMjEyXVthXX10WzIxM109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +veiYv+ieuuijuOmCj++lnOa0m+eDmeePnue1oeiQve+lnemFqumnse+lnuS6guWNteashOaskueA +vueIm+iYrem4nuWJjOi+o+W1kOaTpeaUrOaslua/q+exg+e6nOiXjeilpOimveaLieiHmOign+W7 +iuacl+a1queLvOeQheeRr+iegumDnuS+huW0jeW+oOiQiuWGt+aOoOeVpeS6ruWAhuWFqeWHieai +geaokeeyrueyseezp+iJr+irkui8m+mHj+S+tuWEt+WLteWRguW7rOaFruaIvuaXhearmua/vuek +quiXnOigo+mWrempoumpqum6l+m7juWKm+abhuatt+eAneekq+i9oumdguaGkOaIgOaUo+a8o++/ +vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMTNdLmxlbmd0aDsrK2EpaWYodFsyMTNdW2FdLmNo +YXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIxM11bYV1dPTU0NTI4K2E7ZVs1NDUyOCthXT10WzIx +M11bYV19dFsyMTRdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73nhYnnkonnt7Toga/ok67o +vKbpgKPpjYrlhr3liJfliqPmtIzng4joo4Llu4nmloLmrq7mv4LnsL7njbXku6TkvLblm7nvpZ/l +srrltrrmgJznjrLnrK3nvprnv47ogYbpgJ7piLTpm7bpnYjpoJjpvaHkvovmvqfnpq7phrTpmrfl +i57vpaDmkojmk4Tmq5PmvZ7ngJjniJDnm6fogIHomIbomZzot6/ovIXpnLLpra/pt7rpubXnoozn +pb/ntqDoj4npjITpub/pupPoq5blo5/lvITmnKfngKfnk4/nsaDogb7lhKHngKjniaLno4ros4Lo +s5ros7Tpm7fkuoblg5rlr67lu5bmlpnnh47nmYLnnq3ogYrok7zvv70iLnNwbGl0KCIiKTtmb3Io +YT0wO2EhPXRbMjE0XS5sZW5ndGg7KythKWlmKHRbMjE0XVthXS5jaGFyQ29kZUF0KDApIT09NjU1 +MzMpe3JbdFsyMTRdW2FdXT01NDc4NCthO2VbNTQ3ODQrYV09dFsyMTRdW2FdfXRbMjE1XT0i77+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+96YG86ayn6b6N5aOY5amB5bGi5qiT5rea5ryP55i757Sv +57i36JSe6KS46Y+k6ZmL5YqJ5peS5p+z5qa05rWB5rqc54CP55CJ55Gg55WZ55ik56Gr6Kys6aGe +5YWt5oiu6Zm45L6W5YCr5bSZ5req57a46Lyq5b6L5oWE5qCX76Wh6ZqG5YuS6IKL5Yec5YeM5qWe +56ic57a+6I+x6Zm15L+a5Yip5Y6Y5ZCP5ZSO5bGl5oKn5p2O5qKo5rWs54qB54u455CG55KD76Wi +55ei57Gs572557646I6J6KOP6KOh6YeM6YeQ6Zui6a+J5ZCd5r2+54eQ55KY6Je66Lqq6Zqj6bGX +6bqf5p6X5reL55Cz6Ieo6ZyW56Cs77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIxNV0ubGVu +Z3RoOysrYSlpZih0WzIxNV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjE1XVthXV09 +NTUwNDArYTtlWzU1MDQwK2FdPXRbMjE1XVthXX10WzIxNl09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/veeri+esoOeykuaRqeeRqueXsueivOejqOmmrOmtlOm6u+WvnuW5lea8oOiGnOiOq+mC +iOS4h+WNjeWoqeW3kuW9juaFouaMveaZqeabvOa7v+a8q+eBo+eenuiQrOiUk+igu+i8k+mlhemw +u+WUnOaKueacq+ayq+iMieilqumduuS6oeWmhOW/mOW/meacm+e2sue9lOiKkuiMq+iOvei8numC +meWfi+WmueWqkuWvkOaYp+aemuaiheavj+eFpOe9teiyt+izo+mCgemtheiEiOiyiumZjOmpgOm6 +peWtn+awk+eMm+ebsuebn+iQjOWGquimk+WFjeWGleWLieajieaylOechOecoOe2v+e3rOmdoum6 +tea7he+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMTZdLmxlbmd0aDsrK2EpaWYodFsyMTZd +W2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIxNl1bYV1dPTU1Mjk2K2E7ZVs1NTI5Nith +XT10WzIxNl1bYV19dFsyMTddPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73olJHlhqXlkI3l +kb3mmI7mmp3mpKfmup/nmr/nnpHojJfok4Lonp/phanpipjps7ToooLkvq7lhpLli5/lp4bluL3m +hZXmkbjmkbnmmq7mn5DmqKHmr43mr5vniZ/niaHnkYHnnLjnn5vogJfoirzojIXorIDorKjosozm +nKjmspDniafnm67nnabnqYbptqnmrb/mspLlpKLmnKbokpnlja/lopPlppnlu5/mj4/mmLTmnbPm +uLrnjKvnq5foi5fpjKjli5nlt6vmhq7mh4vmiIrmi4fmkqvml6DmpZnmrabmr4vnhKHnj7fnlZ3n +uYboiJ7ojILolaroqqPosr/pnKfptaHloqjpu5jlgJHliI7lkLvllY/mlofvv70iLnNwbGl0KCIi +KTtmb3IoYT0wO2EhPXRbMjE3XS5sZW5ndGg7KythKWlmKHRbMjE3XVthXS5jaGFyQ29kZUF0KDAp +IT09NjU1MzMpe3JbdFsyMTddW2FdXT01NTU1MithO2VbNTU1NTIrYV09dFsyMTddW2FdfXRbMjE4 +XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+95rG257SK57SL6IGe6JqK6ZaA6Zuv5Yu/5rKV +54mp5ZGz5aqa5bC+5bWL5b2M5b6u5pyq5qK25qWj5ri85rmE55yJ57Gz576O6JaH6KyO6L+36Z2h +6bu05bK35oK25oSN5oar5pWP5pe75pe85rCR5rOv546f54+J57eh6ZaU5a+G6Jyc6KyQ5Ymd5Y2a +5ouN5pCP5pKy5py05qi45rOK54+A55Ke566U57KV57ib6IaK6Ii26JaE6L+r6Zu56aeB5Ly05Y2K +5Y+N5Y+b5ouM5pCs5pSA5paR5qeD5rOu5r2Y54+t55WU55ii55uk55u856OQ56O756Ss57WG6Iis +6J+g6L+U6aCS6aOv5YuD5ouU5pKl5rik5r2R77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIx +OF0ubGVuZ3RoOysrYSlpZih0WzIxOF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjE4 +XVthXV09NTU4MDgrYTtlWzU1ODA4K2FdPXRbMjE4XVthXX10WzIxOV09Iu+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/veeZvOi3i+mGsemJoumrrumtg+WAo+WCjeWdiuWmqOWwqOW5h+W9t+aIv+aU +vuaWueaXgeaYieaei+amnOa7guejhee0oeiCquiGgOiIq+iKs+iSoeiajOioquisl+mCpumYsum+ +kOWAjeS/s++lo+WfueW+mOaLnOaOkuadr+a5g+eEmeebg+iDjOiDmuijtOijteikmeizoOi8qemF +jemZquS8r+S9sOW4m+afj+agoueZveeZvumthOW5oeaoiueFqeeHlOeVqu+lpOe5geiVg+iXqemj +nOS8kOetj+e9sOmWpeWHoeW4huaiteawvuaxjuazm+eKr+evhOiMg+azleeQuuWDu+WKiOWjgeaT +mOaql+eSp+eZlu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMTldLmxlbmd0aDsrK2EpaWYo +dFsyMTldW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIxOV1bYV1dPTU2MDY0K2E7ZVs1 +NjA2NCthXT10WzIxOV1bYV19dFsyMjBdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73noqfo +mJfpl6LpnLnvpaXljZ7lvIHororovqjovq/pgorliKXnnqXpsYnpvIjkuJnlgILlhbXlsZvlubfm +mJ7mmLrmn4Tmo4XngrPnlIHnl4Xnp4nnq53ovKfppKDpqIjkv53loKHloLHlr7bmma7mraXmtJHm +ubrmvb3nj6TnlKvoj6noo5zopJPorZzovJTkvI/lg5XljJDljZzlrpPlvqnmnI3npo/ohbnojK/o +lJTopIfopobovLnovLvppqXpsJLmnKzkubbkv7jlpYnlsIHls6/ls7Dmjafmo5Lng73nhqLnkKvn +uKvok6zonILpgKLpi5Lps7PkuI3ku5jkv6/lgoXliZblia/lkKblkpDln6DlpKvlqabvv70iLnNw +bGl0KCIiKTtmb3IoYT0wO2EhPXRbMjIwXS5sZW5ndGg7KythKWlmKHRbMjIwXVthXS5jaGFyQ29k +ZUF0KDApIT09NjU1MzMpe3JbdFsyMjBdW2FdXT01NjMyMCthO2VbNTYzMjArYV09dFsyMjBdW2Fd +fXRbMjIxXT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+95a2a5a215a+M5bqc76Wm5om25pW3 +5pan5rWu5rql54i256ym57C/57y26IWQ6IWR6Iaa6ImA6IqZ6I6p6KiD6LKg6LOm6LO76LW06La6 +6YOo6Yec6Zic6ZmE6aeZ6bOn5YyX5YiG5ZCp5Zm05aKz5aWU5aWu5b+/5oak5omu5piQ5rG+54Sa +55uG57KJ57Oe57Sb6Iqs6LOB6Zuw76Wn5L2b5byX5b2/5ouC5bSp5pyL5qOa56G857mD6bWs5LiV +5YKZ5YyV5Yyq5Y2R5aaD5ami5bqH5oKy5oaK5omJ5om55paQ5p6H5qan5q+U5q+W5q+X5q+Y5rK4 +76Wo55C155e656CS56KR56eV56eY57KD57eL57+h6IKl77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDth +IT10WzIyMV0ubGVuZ3RoOysrYSlpZih0WzIyMV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXty +W3RbMjIxXVthXV09NTY1NzYrYTtlWzU2NTc2K2FdPXRbMjIxXVthXX10WzIyMl09Iu+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/veiEvuiHguiPsuicmuijqOiqueitrOiyu+mEmemdnumjm+m8u+Wa +rOWsquW9rOaWjOaqs+aur+a1nOa/seeAleeJneeOreiyp+izk+mgu+aGkeawt+iBmOmogeS5jeS6 +i+S6m+S7leS8uuS8vOS9v+S/n+WDv+WPsuWPuOWUhuWXo+Wbm+Wjq+WlouWokeWvq+WvuuWwhOW3 +s+W4q+W+meaAneaNqOaWnOaWr+aftuafu+aireatu+aymeazl+a4o+eAieeNheegguekvuelgOel +oOengeevqee0l+e1suiChuiIjeiOjuiTkeibh+ijn+ipkOipnuisneiznOi1pui+remCqumjvOmn +n+m6neWJiu+lqeaclO+lqu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMjJdLmxlbmd0aDsr +K2EpaWYodFsyMjJdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIyMl1bYV1dPTU2ODMy +K2E7ZVs1NjgzMithXT10WzIyMl1bYV19dFsyMjNdPSLvv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73lgpjliKrlsbHmlaPmsZXnj4rnlKPnlp3nrpfokpzphbjpnLDkubfmkpLmrrrnhZ7olqnkuInv +pavmnYnmo67muJfoip/olJjooavmj7fmvoHpiJLpoq/kuIrlgrflg4/lhJ/llYbllqrlmJflrYDl +sJnls6DluLjluorluqDlu4Lmg7PmoZHmqaHmuZjniL3niYDni4Dnm7jnpaXnrrHnv5Too7Pop7To +qbPosaHos57pnJzloZ7nkr3os73ll4fvpaznqaHntKLoibLnibLnlJ/nlKXvpa3nrJnlooXlo7vl +trzluo/lurblvpDmgZXmipLmjb/mlY3mmpHmm5nmm7jmoJbmo7LnioDnkZ7nra7nta7nt5bnvbLv +v70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjIzXS5sZW5ndGg7KythKWlmKHRbMjIzXVthXS5j +aGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMjNdW2FdXT01NzA4OCthO2VbNTcwODgrYV09dFsy +MjNdW2FdfXRbMjI0XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+96IOl6IiS6Jav6KW/6KqT +6YCd6Yuk6buN6byg5aSV5aWt5bit5oOc5piU5pmz5p6Q5rGQ5reF5r2f55+z56Kp6JOG6YeL6Yyr +5LuZ5YOK5YWI5ZaE5ayL5a6j5omH5pW+5peL5riy54W955CB55GE55KH55K/55ms56aq57ea57mV +576o6IW66Iaz6Ii56Jia6J+s6Km16Lej6YG46YqR6ZCl6aWN6a6u5Y2o5bGR5qWU5rOE5rSp5rir +6IiM6Jab6KS76Kit6Kqq6Zuq6b2n5Ymh5pq55q6y57qW6J++6LSN6ZaD6Zmd5pSd5raJ54eu76Wu +5Z+O5aeT5a6s5oCn5oO65oiQ5pif5pmf54yp54+555ub55yB562s77+9Ii5zcGxpdCgiIik7Zm9y +KGE9MDthIT10WzIyNF0ubGVuZ3RoOysrYSlpZih0WzIyNF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1 +NTMzKXtyW3RbMjI0XVthXV09NTczNDQrYTtlWzU3MzQ0K2FdPXRbMjI0XVthXX10WzIyNV09Iu+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veiBluiBsuiFpeiqoOmGkuS4luWLouatsua0l+eohees +uee0sO+lr+iysOWPrOWYr+WhkeWuteWwj+WwkeW3ouaJgOaOg+aQlOaYreais+ayvOa2iOa6r+eA +n+eCpOeHkueUpueWj+eWjueYmeeskeevoOewq+e0oOe0ueiUrOiVreiYh+iotOmAjemBoemCtemK +t+mftumot+S/l+WxrOadn+a2keeyn+e6jOislui0lumAn+Wtq+W3veaQjeiTgOmBnOmjoeeOh+Wu +i+aCmuadvua3nuion+iqpumAgemgjOWIt++lsOeBkeeijumOluihsOmHl+S/ruWPl+WXveWbmuWe +guWjveWrguWuiOWyq+WzgOW4peaEge+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMjVdLmxl +bmd0aDsrK2EpaWYodFsyMjVdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIyNV1bYV1d +PTU3NjAwK2E7ZVs1NzYwMCthXT10WzIyNV1bYV19dFsyMjZdPSLvv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73miI3miYvmjojmkJzmlLbmlbjmqLnmrormsLTmtJnmvLHnh6fni6nnjbjnkIfnkrLn +mKbnnaHnp4DnqZfnq6rnsrnnto/ntqznuaHnvp7ohKnojLHokpDok5rol6roopboqrDorpDovLjp +gYLpgoPphazpipbpirnpmovpmqfpmqjpm5bpnIDpoIjpppbpq5PprJrlj5Tlob7lpJnlrbDlrr/m +t5HmvZrnhp/nkKHnkrnogoXoj73lt6HlvoflvqrmgYLml6zmoJLmpa/mqZPmronmtLXmt7Pnj6Pn +m77nnqznrY3ntJTohKPoiJzojYDok7TolaPoqaLoq4TphofpjJ7poIbpprTmiIzooZPov7DpiaXl +tIfltKfvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjI2XS5sZW5ndGg7KythKWlmKHRbMjI2 +XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMjZdW2FdXT01Nzg1NithO2VbNTc4NTYr +YV09dFsyMjZdW2FdfXRbMjI3XT0i77+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+95bWp55Gf6Iad +6J2o5r+V5ou+57+S6KS26KWy5Lie5LmY5YOn5Yud5Y2H5om/5piH57mp6KCF6Zme5L6N5YyZ5Zi2 +5aeL5aqk5bC45bGO5bGN5biC5byR5oGD5pa95piv5pmC5p6+5p+054yc55+i56S657+F6JKU6JON +6KaW6Kmm6Kmp6Kuh6LGV6LG65Z+05a+U5byP5oGv5out5qSN5q6W5rmc54aE56+S6J2V6K2Y6Lu+ +6aOf6aO+5Ly45L6B5L+h5ZG75aig5a645oS85paw5pmo54e855Sz56We57Sz6IWO6Iej6I6Y6Jaq +6JeO6JyD6KiK6Lqr6L6b76Wx6L+F5aSx5a6k5a+m5oKJ5a+p5bCL5b+D5rKB77+9Ii5zcGxpdCgi +Iik7Zm9yKGE9MDthIT10WzIyN10ubGVuZ3RoOysrYSlpZih0WzIyN11bYV0uY2hhckNvZGVBdCgw +KSE9PTY1NTMzKXtyW3RbMjI3XVthXV09NTgxMTIrYTtlWzU4MTEyK2FdPXRbMjI3XVthXX10WzIy +OF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+lsua3seeAi+eUmuiKr+irtuS7gOWNge+l +s+mbmeawj+S6nuS/hOWFkuWVnuWopeWzqOaIkeeJmeiKveiOquibvuihmeionemYv+mbhemkk+m0 +iem1neWgiuWys+W2veW5hOaDoeaEleaPoeaogua4pemEgumNlOmhjumwkOm9t+WuieWyuOaMieaZ +j+ahiOecvOmbgemejemhlOmun+aWoeisgei7i+mWvOWUteWyqeW3luW6teaal+eZjOiPtOmXh+Wj +k+aKvOeLjum0qOS7sOWkruaAj+aYu+aug+enp+m0puWOk+WTgOWfg+W0luaEm+ablua2r+eijeiJ +vumamOmdhOWOhOaJvOaOlua2sue4iuiFi+mhje+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsy +MjhdLmxlbmd0aDsrK2EpaWYodFsyMjhdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIy +OF1bYV1dPTU4MzY4K2E7ZVs1ODM2OCthXT10WzIyOF1bYV19dFsyMjldPSLvv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73mq7vnvYzptq/puJrkuZ/lgLvlhrblpJzmg7nmj7bmpLDniLrogLbvpbTp +h47lvLHvpbXvpbbntIToi6Xoka/okrvol6Xouo3vpbfkva/vpbjvpbnlo6TlrYPmgZnmj5rmlJjm +la3mmpjvpbrmpYrmqKPmtIvngIHnhaznl5LnmI3nprPnqbDvpbvnvorvpbzopYTvpb3orpPph4Dp +mb3vpb7ppIrlnITlvqHmlrzmvIHnmIDnpqboqp7ppq3prZrpvazlhITmhrbmipHmqo3oh4blgYPl +oLDlvabnhInoqIDoq7rlrbzomJbkv7rlhLzlmrTlpYTmjqnmt7nltqrmpa3lhobkuojkvZnvpb/v +poDvpoHlpoLvpoLvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjI5XS5sZW5ndGg7KythKWlm +KHRbMjI5XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMjldW2FdXT01ODYyNCthO2Vb +NTg2MjQrYV09dFsyMjldW2FdfXRbMjMwXT0i77+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+976aD +5q2f5rGd76aE55K156SW76aF6IiH6ImF6Iy56Ly/6L2d76aG6aSY76aH76aI76aJ5Lqm76aK5Z+f +5b255piT76aL76aM55ar57m56K2v76aN6YCG6amb5Zql5aCn5ae45aif5a6076aO5bu276aP76aQ +5o2Q5oy776aR5qS95rKH5rK/5raO5raT5re15ryU76aS54Of54S254WZ76aT54eD54eV76aU56GP +56Gv76aV562157ej76aW57iv76aX6KGN6Luf76aY76aZ76aa6Ymb76ab6bO276ac76ad76ae5oKF +5raF76af54ax76ag76ah6Zax5Y6t76ai76aj76ak5p+T76al54KO54Sw55Cw6Im26IuS77+9Ii5z +cGxpdCgiIik7Zm9yKGE9MDthIT10WzIzMF0ubGVuZ3RoOysrYSlpZih0WzIzMF1bYV0uY2hhckNv +ZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjMwXVthXV09NTg4ODArYTtlWzU4ODgwK2FdPXRbMjMwXVth +XX10WzIzMV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+mpumWu+mrpem5veabhO+mp+eH +geiRie+mqO+mqeWhi++mqu+mq+W2uOW9se+mrOaYoOaajualueamruawuOazs+a4tua9gea/mueA +m+eAr+eFkOeHn+eNsO+mreeRm++mrueTlOebiOepjue6k++mr++msOiLseipoOi/ju+msemNiO+m +sumcme+ms++mtOS5guWAqu+mteWIiOWPoeabs+axrea/iueMiuedv+epouiKruiXneiYgu+mtuij +lOipo+itveixq++mt+mKs++muOmck+mgkOS6lOS8jeS/ieWCsuWNiOWQvuWQs+WXmuWhouWiuuWl +p+Wom+WvpOaCn++mueaHiuaVluaXv+aZpOaip+axmua+s++/vSIuc3BsaXQoIiIpO2ZvcihhPTA7 +YSE9dFsyMzFdLmxlbmd0aDsrK2EpaWYodFsyMzFdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7 +clt0WzIzMV1bYV1dPTU5MTM2K2E7ZVs1OTEzNithXT10WzIzMV1bYV19dFsyMzJdPSLvv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73ng4/nhqznjZLnrb3onIjoqqTpsLLpvIflsYvmsoPnjYTnjonp +iLrmuqvnkaXnmJ/nqannuJXomIrlhYDlo4Xmk4Hnk67nlJXnmbDnv4HpgpXpm43ppZTmuKbnk6bn +qqnnqqroh6Xom5nonbjoqJvlqYnlrozlrpvmoqHmpIDmtaPnjqnnkJPnkKznopfnt6nnv6vohJjo +hZXojp7osYzpmK7poJHmm7DlvoDml7rmnonmsarnjovlgK3lqIPmrarnn67lpJbltazlt43njKXn +lY/vprrvprvlg6Xlh7nloK/lpK3lppblp5rlr6Xvprzvpr3ltqLmi5fmkJbmkpPmk77vpr7mm5zv +pr/mqYjvp4Dnh7/nkaTvp4Hvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjMyXS5sZW5ndGg7 +KythKWlmKHRbMjMyXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMzJdW2FdXT01OTM5 +MithO2VbNTkzOTIrYV09dFsyMzJdW2FdfXRbMjMzXT0i77+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+956qI56qv57mH57me6ICA6IWw76eC6J+v6KaB6Kyg6YGZ76eD6YKA6aWS5oW+5qyy5rW057if +6KSl6L6x5L+R5YKt5YaX5YuH5Z+H5aKJ5a655bq45oWC5qaV5raM5rmn5rq254aU55Gi55So55Ss +6IGz6Iy46JOJ6LiK6Y6U6Y+e76eE5LqO5L2R5YG25YSq5Y+I5Y+L5Y+z5a6H5a+T5bCk5oSa5oaC +5pe054mb546X55GA55uC56WQ56aR56a557SG57696IqL6JeV6Jme6L+C6YGH6YO16Yeq6ZqF6Zuo +6Zup5YuW5b2n5pet5pix5qCv54Wc56i26YOB6aCK5LqR76eF5qmS5q6e5r6Q54aJ6ICY6Iq46JWT +77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIzM10ubGVuZ3RoOysrYSlpZih0WzIzM11bYV0u +Y2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjMzXVthXV09NTk2NDgrYTtlWzU5NjQ4K2FdPXRb +MjMzXVthXX10WzIzNF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vemBi+malembsumfu+iU +mumsseS6kOeGiumbhOWFg+WOn+WToeWck+WckuWeo+Wqm+WrhOWvg+aAqOaEv+aPtOayhea0uea5 +sua6kOeIsOeMv+eRl+iLkeiigei9hemBoO+nhumZoumhmOm0m+aciOi2iumJnuS9jeWBieWDnuWN +seWcjeWnlOWogeWwieaFsOaakOa4reeIsueRi+e3r+iDg+iQjuiRpuiUv+idn+ihm+ikmOisgumB +lemfi+mtj+S5s+S+keWEkuWFqu+nh+WUr+WWqeWtuuWupeW5vOW5veW6vuaCoOaDn+aEiOaEieaP +hOaUuOacie+niOaflOafmu+niealoealouayuea0p++niua4uO+ni++/vSIuc3BsaXQoIiIpO2Zv +cihhPTA7YSE9dFsyMzRdLmxlbmd0aDsrK2EpaWYodFsyMzRdW2FdLmNoYXJDb2RlQXQoMCkhPT02 +NTUzMyl7clt0WzIzNF1bYV1dPTU5OTA0K2E7ZVs1OTkwNCthXT10WzIzNF1bYV19dFsyMzVdPSLv +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73mv6HnjLbnjLfvp4znkZznlLHvp43nmZLvp47vp4/n +tq3oh77okLjoo5Xoqpjoq5voq63ouLDouYLpgYrpgL7pgbrphYnph4npja7vp5Dvp5HloInvp5Lm +r5PogonogrLvp5Pvp5TlhYHlpavlsLnvp5Xvp5bmvaTnjqfog6TotIfvp5fpiJfplo/vp5jvp5nv +p5rvp5vogb/miI7ngJzntajono3vp5zlnqDmganmhYfmrrfoqr7pioDpmrHkuZnlkJ/mt6volK3p +mbDpn7Ppo67mj5bms6PpgpHlh53mh4nohrrpt7nkvp3lgJrlhIDlrpzmhI/mh7/mk6zmpIXmr4Xn +lpHnn6PnvqnoiaTolo/on7vooaPoqrzvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjM1XS5s +ZW5ndGg7KythKWlmKHRbMjM1XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMzVdW2Fd +XT02MDE2MCthO2VbNjAxNjArYV09dFsyMzVdW2FdfXRbMjM2XT0i77+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+96K2w6Yar5LqM5Lul5LyK76ed76ee5aS35aeo76ef5bey5byb5b2b5oCh76eg76eh +76ei76ej54i+54+l76ek55Ww55eN76el56e776em6ICM6ICz6IKE6Iuh6I2R76en76eo6LK96LKz +6YKH76ep76eq6aO06aSM76er76es54C355uK57+K57+M57+86Kya5Lq65LuB5YiD5Y2w76et5ZK9 +5Zug5ae75a+F5byV5b+N5rmu76eu76ev57Wq6Iy176ew6JqT6KqN76ex6Z2t6Z2376ey76ez5LiA +5L2a5L2+5aO55pel5rqi6YC46Y6w6aa55Lu75aOs5aaK5aeZ5oGB76e076e156iU76e26I2P6LOD +5YWl5Y2E77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIzNl0ubGVuZ3RoOysrYSlpZih0WzIz +Nl1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjM2XVthXV09NjA0MTYrYTtlWzYwNDE2 +K2FdPXRbMjM2XVthXX10WzIzN109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+nt++nuO+n +ueS7jeWJqeWtleiKv+S7lOWIuuWSqOWnieWnv+WtkOWtl+WtnOaBo+aFiOa7i+eCmeeFrueOhueT +t+eWteejgee0q+iAheiHquiMqOiUl+iXieirruizh+mbjOS9nOWLuuWavOaWq+aYqOeBvOeCuOeI +tee2veiKjemFjOmbgOm1suWtseajp+aumOa9uuebnuWykeaaq+a9m+eutOewquigtumbnOS4iOS7 +l+WMoOWgtOWiu+Wjr+WlrOWwh+W4s+W6hOW8teaOjOaasuadluaon+aqo+asjOa8v+eJhu+nuueN +kOeSi+eroOeyp+iFuOiHn+iHp+iOiuiRrOiUo+iWlOiXj+ijnei0k+mGrOmVt++/vSIuc3BsaXQo +IiIpO2ZvcihhPTA7YSE9dFsyMzddLmxlbmd0aDsrK2EpaWYodFsyMzddW2FdLmNoYXJDb2RlQXQo +MCkhPT02NTUzMyl7clt0WzIzN11bYV1dPTYwNjcyK2E7ZVs2MDY3MithXT10WzIzN11bYV19dFsy +MzhdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73pmpzlho3lk4nlnKjlrrDmiY3mnZDmoL3m +opPmuL3mu5Pngb3nuKHoo4HosqHovInpvYvpvY7niK3nro/oq43pjJrkvYfkvY7lhLLlkoDlp5Dl +upXmirXmnbXmpa7mqJfmsq7muJrni5nnjKrnlr3nrrjntLXoi6foj7nokZfol7foqZvosq/ouofp +gJnpgrjpm47pvZ/li6PlkIrlq6Hlr4LmkZjmlbXmu7Tni4Tvp7vnmoTnqY3nrJvnsY3nuL7nv5/o +jbvorKvos4rotaTot6HouZ/ov6rov7npganpj5HkvYPkvbrlgrPlhajlhbjliY3liarloaHlobzl +paDlsIjlsZXlu5vmgpvmiLDmoJPmrr/msIjmvrHvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRb +MjM4XS5sZW5ndGg7KythKWlmKHRbMjM4XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsy +MzhdW2FdXT02MDkyOCthO2VbNjA5MjgrYV09dFsyMzhdW2FdfXRbMjM5XT0i77+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+954WO55Cg55Sw55S455WR55my562M566L566t56+G57qP6Kmu6Ly+6L2J +6Yi/6YqT6Yyi6ZCr6Zu76aGa6aGr6aSe5YiH5oiq5oqY5rWZ55mk56uK56+A57W25Y2g5bK+5bqX +5ry454K557KY6ZyR6a6O6bue5o6l5pG66J225LiB5LqV5Lqt5YGc5YG15ZGI5aeD5a6a5bmA5bqt +5bu35b6B5oOF5oy65pS/5pW05peM5pm25pm45p++5qWo5qqJ5q2j5rGA5reA5reo5rif5rme54Ce +54Kh546O54+955S6552b56KH56aO56iL56m957K+57aO6ImH6KiC6Kuq6LKe6YSt6YWK6YeY6Ymm +6YuM6Yyg6ZyG6Z2W77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIzOV0ubGVuZ3RoOysrYSlp +Zih0WzIzOV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjM5XVthXV09NjExODQrYTtl +WzYxMTg0K2FdPXRbMjM5XVthXX10WzI0MF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vemd +nOmggum8juWItuWKkeWVvOWgpOW4neW8n+aCjOaPkOair+a/n+elreesrOiHjeiWuuijveiruOi5 +hOmGjemZpOmam+mcvemhjOm9iuS/juWFhuWHi+WKqeWYsuW8lOW9q+aOquaTjeaXqeaZgeabuuab +ueacneaineajl+anvea8lea9rueFp+eHpeeIqueSquecuuelluelmuenn+eooOeqleeyl+ezn+e1 +hOe5sOiCh+iXu+iapOiplOiqv+i2mei6gemAoOmBremHo+mYu+mblemzpeaXj+ewh+i2s+mPg+Wt +mOWwiuWNkuaLmeeMneWAp+Wul+W+nuaCsOaFq+ajlea3meeQrueorue1gue2nOe4seiFq++/vSIu +c3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyNDBdLmxlbmd0aDsrK2EpaWYodFsyNDBdW2FdLmNoYXJD +b2RlQXQoMCkhPT02NTUzMyl7clt0WzI0MF1bYV1dPTYxNDQwK2E7ZVs2MTQ0MCthXT10WzI0MF1b +YV19dFsyNDFdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73ouKrouLXpjb7pkJjkvZDlnZDl +t6bluqfmjKvnvarkuLvkvY/kvo/lgZrlp53og4Tlkarlkajll77lpY/lrpnlt57lu5rmmZ3mnLHm +n7HmoKrms6jmtLLmuYrmvo3ngrfnj6DnlofnsYzntILntKzntqLoiJ/om5voqLvoqoXotbDouoro +vLPpgLHphY7phZLpkYTpp5Dnq7nnsqXkv4rlhIHlh4bln4jlr6/ls7vmmZnmqL3mtZrmupbmv6zn +hIznla/nq6PooKLpgKHpgbXpm4vpp7/ojIHkuK3ku7LooYbph43ljb3mq5vmpavmsYHokbrlop7m +ho7mm77mi6/ng53nlJHnl4fnuZLokrjorYnotIjkuYvlj6rvv70iLnNwbGl0KCIiKTtmb3IoYT0w +O2EhPXRbMjQxXS5sZW5ndGg7KythKWlmKHRbMjQxXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMp +e3JbdFsyNDFdW2FdXT02MTY5NithO2VbNjE2OTYrYV09dFsyNDFdW2FdfXRbMjQyXT0i77+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+95ZKr5Zyw5Z2A5b+X5oyB5oyH5pGv5pSv5peo5pm65p6d5p6z +5q2i5rGg5rKa5rys55+l56Cl56WJ56WX57SZ6IKi6ISC6Iez6Iqd6Iq36JyY6KqM76e86LSE6La+ +6YGy55u056iZ56i357mU6IG35ZSH5ZeU5aG15oyv5pCi5pmJ5pmL5qGt5qab5q6E5rSl5rqx54+N +55Go55Kh55Wb55a555uh55ye556L56em57iJ57id6Ie76JSv6KKX6Ki66LOR6Lur6L6w6YCy6Y6t +6Zmj6Zmz6ZyH5L6E5Y+x5aeq5auJ5biZ5qGO55OG55a+56ep56qS6Iaj6Jut6LOq6LeM6L+t5paf +5pyV76e95Z+35r2X57ed6Lyv77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzI0Ml0ubGVuZ3Ro +OysrYSlpZih0WzI0Ml1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjQyXVthXV09NjE5 +NTIrYTtlWzYxOTUyK2FdPXRbMjQyXVthXX10WzI0M109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/vemPtumbhuW+teaHsua+hOS4lOS+mOWAn+WPieWXn+W1r+W3ruasoeatpOeji+eumu+nvui5 +iei7iumBruaNieaQvuedgOeqhOmMr+mRv+m9quaSsOa+r+eHpueSqOeTmuerhOewkue6gueysue6 +mOiumui0iumRvemkkOmljOWIueWvn+aTpuacree0ruWDreWPg+WhueaFmOaFmeaHuuaWrOermeiu +kuiuluWAieWAoeWJteWUseWovOW7oOW9sOaEtOaVnuaYjOaYtuaaouanjea7hOa8sueMlueYoeeq +k+iEueiJmeiPluiSvOWCteWfsOWvgOWvqOW9qeaOoeegpue2teiPnOiUoemHh+mHteWGiuafteet +lu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyNDNdLmxlbmd0aDsrK2EpaWYodFsyNDNdW2Fd +LmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzI0M11bYV1dPTYyMjA4K2E7ZVs2MjIwOCthXT10 +WzI0M11bYV19dFsyNDRdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73osqzlh4Tlprvmgr3o +mZXlgJzvp7/liZTlsLrmhb3miJrmi5Pmk7LmlqXmu4znmKDohIrouaDpmZ/pmrvku5/ljYPllpjl +pKnlt53mk4Xms4nmt7rnjpTnqb/oiJvolqbos6TouJDpgbfph6fpl6HpmKHpn4blh7jlk7Lllobl +vrnmkqTmvojntrTovJ/ovY3pkLXlg4nlsJbmsr7mt7vnlJvnnrvnsL3nsaToqbnoq4LloJ7lpr7l +uJbmjbfniZLnlornnavoq5zosrzovJLlu7PmmbTmt7jogb3oj4Hoq4vpnZHpr5bvqIDliYPmm7/m +tpXmu6/nt6Doq6bpgK7pgZ7pq5TliJ3lib/lk6jmhpTmioTmi5vmoqLvv70iLnNwbGl0KCIiKTtm +b3IoYT0wO2EhPXRbMjQ0XS5sZW5ndGg7KythKWlmKHRbMjQ0XVthXS5jaGFyQ29kZUF0KDApIT09 +NjU1MzMpe3JbdFsyNDRdW2FdXT02MjQ2NCthO2VbNjI0NjQrYV09dFsyNDRdW2FdfXRbMjQ1XT0i +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+95qSS5qWa5qi154KS54Sm56Gd56SB56SO56eS56iN +6IKW6Im46IuV6I2J6JWJ6LKC6LaF6YWi6YaL6Yau5L+D5ZuR54et55+X6JyA6Ke45a+45b+W5p2R +6YKo5Y+i5aGa5a+15oKk5oaB5pGg57i96IGw6JSl6YqD5pKu5YKs5bSU5pyA5aKc5oq95o6o5qSO +5qW45qie5rmr55q656eL6Iq76JCp6KuP6Lao6L+96YSS6YWL6Yac6YyQ6YyY6Y6a6Zub6ai26bCN +5LiR55Wc56Wd56u6562R56+J57iu6JOE6LmZ6Lm06Lu46YCQ5pil5qS/55GD5Ye65pyu6buc5YWF +5b+g5rKW6J+y6KGd6KG35oK06Ia16JCD77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzI0NV0u +bGVuZ3RoOysrYSlpZih0WzI0NV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjQ1XVth +XV09NjI3MjArYTtlWzYyNzIwK2FdPXRbMjQ1XVthXX10WzI0Nl09Iu+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/vei0heWPluWQueWYtOWotuWwseeCiue/oOiBmuiEhuiHrei2o+mGiempn+m3suWB +tOS7hOWOoOaDu+a4rOWxpOS+iOWApOWXpOWzmeW5n+aBpeailOayu+a3hOeGvueXlOeXtOeZoeeo +muepiee3h+e3u+e9ruiHtOiaqei8nOmbiemms+m9kuWJh+WLhemjreimquS4g+afkua8huS+teWv +ouaeleayiOa1uOeQm+egp+mHnemNvOifhOenpOeoseW/q+S7luWSpOWUvuWiruWmpeaDsOaJk+aL +luactualleiItemZgOmmsemnneWArOWNk+WVhOWdvO+ogeaJmO+oguaTouaZq+afnea/gea/r+eQ +oueQuOiol++/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyNDZdLmxlbmd0aDsrK2EpaWYodFsy +NDZdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzI0Nl1bYV1dPTYyOTc2K2E7ZVs2Mjk3 +NithXT10WzI0Nl1bYV19dFsyNDddPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73pkLjlkZHl +mIblnablvYjmhprmrY7ngZjngq3ntrvoqpXlparohKvmjqLnnIjogL3osqrloZTmkK3mprvlrpXl +uJHmua/vqIPolanlhYzlj7DlpKrmgKDmhYvmrobmsbDms7DnrJ7og47oi5Tot4bpgrDporHvqITm +k4fmvqTmkpHmlITlhY7lkJDlnJ/oqI7mhZ/mobbvqIXnl5vnrZLntbHpgJrloIbmp4zohb/opKrp +gIDpoLnlgbjlpZflpqzmipXpgI/prKrmhZ3nibnpl5blnaHlqYblt7Tmiormkq3mk7rmnbfms6Lm +tL7niKznkLbnoLTnvbfoiq3ot5vpoJfliKTlnYLmnb/niYjnk6PosqnovqbpiJHvv70iLnNwbGl0 +KCIiKTtmb3IoYT0wO2EhPXRbMjQ3XS5sZW5ndGg7KythKWlmKHRbMjQ3XVthXS5jaGFyQ29kZUF0 +KDApIT09NjU1MzMpe3JbdFsyNDddW2FdXT02MzIzMithO2VbNjMyMzIrYV09dFsyNDddW2FdfXRb +MjQ4XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+96Ziq5YWr5Y+t5o2M5L2p5ZSE5oKW5pWX +5rKb5rW/54mM54u956iX6KaH6LKd5b2t5r6O54O56Iao5oSO5L6/5YGP5omB54mH56+H57eo57+p +6YGN6Z6t6aiZ6LK25Z2q5bmz5p6w6JCN6KmV5ZCg5ayW5bmj5bui5byK5paD6IK66JS96ZaJ6Zmb +5L2I5YyF5YyN5YyP5ZKG5ZO65ZyD5biD5oCW5oqb5oqx5o2V76iG5rOh5rWm55ax56Cy6IOe6ISv +6Iue6JGh6JKy6KKN6KSS6YCL6Yuq6aO96a6R5bmF5pq05pud54CR54iG76iH5L+15Ym95b2q5oWT +5p2T5qiZ5ryC55Oi56Wo6KGo6LG56aOH6aOE6amD77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10 +WzI0OF0ubGVuZ3RoOysrYSlpZih0WzI0OF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3Rb +MjQ4XVthXV09NjM0ODgrYTtlWzYzNDg4K2FdPXRbMjQ4XVthXX10WzI0OV09Iu+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/veWTgeeon+alk+irt+ixiumiqOmmruW9vOaKq+eWsuearuiiq+mBv+mZ +guWMueW8vOW/heazjOePjOeVoueWi+ethuiLvummneS5j+mAvOS4i+S9leWOpuWkj+W7iOaYsOay +s+eRleiNt+idpuizgOmBkOmcnumwleWjkeWtuOiZkOislOm2tOWvkuaBqOaCjeaXseaxl+a8oua+ +o+eAmue9lee/sOmWkemWkumZkOmfk+WJsui9hOWHveWQq+WSuOWVo+WWiuaqu+a2tee3mOiJpumK +nOmZt+m5ueWQiOWTiOebkuibpOmWpOmXlOmZnOS6ouS8ieWnruWrpuW3t+aBkuaKl+adreahgeay +hua4r+e8uOiCm+iIqu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyNDldLmxlbmd0aDsrK2Ep +aWYodFsyNDldW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzI0OV1bYV1dPTYzNzQ0K2E7 +ZVs2Mzc0NCthXT10WzI0OV1bYV19dFsyNTBdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +qIjvqInpoIXkuqXlgZXlkrPlnpPlpZrlranlrrPmh4jmpbfmtbfngKPon7nop6PoqbLoq6fpgoLp +p63pqrjlir7moLjlgJblubjmnY/ojYfooYzkuqvlkJHlmq7nj6bphJXpn7/ppInppZfpppnlmZPl +op/omZvoqLHmhrLmq7bnjbvou5LmrYfpmqrpqZflpZXniIDotavpnankv5Tls7TlvKbmh7jmmZvm +s6vngqvnjoTnjrnnj77nnKnnnY3ntYPntaLnuKPoiLfooZLvqIros6LpiYnpoa/lrZHnqbTooYDp +oIHlq4zkv6DljZTlpL7ls73mjL7mtbnni7nohIXohIfojqLpi4/poLDkuqjlhYTliJHlnovvv70i +LnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjUwXS5sZW5ndGg7KythKWlmKHRbMjUwXVthXS5jaGFy +Q29kZUF0KDApIT09NjU1MzMpe3JbdFsyNTBdW2FdXT02NGUzK2E7ZVs2NGUzK2FdPXRbMjUwXVth +XX10WzI1MV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veW9ouazgua7jueAheeBkOeCr+eG +kuePqeeRqeiNiuieouihoemAiOmCoumOo+mmqOWFruW9l+aDoOaFp+aas+iVmei5iumGr+mei+S5 +juS6kuWRvOWjleWjuuWlveWyteW8p+aItuaJiOaYiuaZp+avq+a1qea3j+a5lua7uOa+lOa/oOa/ +qeeBneeLkOeQpeeRmueToOeak+elnOeziue4nuiDoeiKpuiRq+iSv+iZjuiZn+idtOitt+ixqumO +rOmggOmhpeaDkeaIlumFt+WpmuaYj+a3t+a4vueQv+mtguW/veaDmuesj+WThOW8mOaxnuazk+a0 +queDmOe0heiZueiojOm0u+WMluWSjOWsheaouueBq+eVte+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7 +YSE9dFsyNTFdLmxlbmd0aDsrK2EpaWYodFsyNTFdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7 +clt0WzI1MV1bYV1dPTY0MjU2K2E7ZVs2NDI1NithXT10WzI1MV1bYV19dFsyNTJdPSLvv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73npo3npr7oirHoj6/oqbHorYHosqjpnbTvqIvmk7TmlKvnorrn +orvnqavkuLjllprlpZDlrqblubvmgqPmj5vmraHmmaXmoZPmuJnnhaXnkrDntIjpgoTpqanpsKXm +tLvmu5HnjL7osYHpl4rlh7DluYzlvqjmgY3mg7bmhLDmhYzmmYPmmYTmpqXms4HmuZ/mu4nmvaLn +hYznkpznmofnr4HnsKfojZLonZfpgZHpmo3pu4PljK/lm57lu7vlvormgaLmgpTmh7fmmabmnIPm +qpzmt67mvq7ngbDnjarnuarohr7ojLTom5Toqqjos4TlioPnjbLlrpbmqavpkITlk67lmoblrZ3m +lYjmloXmm4nmop/mto3mt4bvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjUyXS5sZW5ndGg7 +KythKWlmKHRbMjUyXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyNTJdW2FdXT02NDUx +MithO2VbNjQ1MTIrYV09dFsyNTJdW2FdfXRbMjUzXT0i77+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+954i76IK06YW16amN5L6v5YCZ5Y6a5ZCO5ZC85ZaJ5ZeF5bi/5b6M5py954Wm54+d6YCF5Yub +5Yuz5aGk5aOO54SE54aP54e76Jaw6KiT5pqI6Jao5Zan5pqE54WK6JCx5Y2J5ZaZ5q+B5b2Z5b69 +5o+u5pqJ54WH6Kux6Lyd6bq+5LyR5pC654OL55Wm6Jmn5oGk6K2O6be45YWH5Ye25YyI5rS26IO4 +6buR5piV5qyj54KY55eV5ZCD5bG557SH6KiW5qyg5qy95q2G5ZC45oGw5rS957+V6IiI5YOW5Yee +5Zac5Zmr5ZuN5aes5ayJ5biM5oaZ5oaY5oix5pme5pum54aZ54a554a654qn56an56iA576y6Kmw +77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzI1M10ubGVuZ3RoOysrYSlpZih0WzI1M11bYV0u +Y2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjUzXVthXV09NjQ3NjgrYTtlWzY0NzY4K2FdPXRb +MjUzXVthXX1yZXR1cm57ZW5jOnIsZGVjOmV9fSgpO2NwdGFibGVbOTUwXT1mdW5jdGlvbigpe3Zh +ciBlPVtdLHI9e30sdD1bXSxhO3RbMF09IlwwAQIDBAUGB1xiXHRcblx4MEJcZlxyDg8QERITFBUW +FxgZGhscHR4fICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1O +T1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn/vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2Eh +PXRbMF0ubGVuZ3RoOysrYSlpZih0WzBdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzBd +W2FdXT0wK2E7ZVswK2FdPXRbMF1bYV19dFsxNjFdPSLvv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73jgIDv +vIzjgIHjgILvvI7igKfvvJvvvJrvvJ/vvIHvuLDigKbigKXvuZDvuZHvuZLCt++5lO+5le+5lu+5 +l++9nOKAk++4seKAlO+4s+KVtO+4tO+5j++8iO+8ie+4te+4tu+9m++9ne+4t++4uOOAlOOAle+4 +ue+4uuOAkOOAke+4u++4vOOAiuOAi++4ve+4vuOAiOOAie+4v++5gOOAjOOAje+5ge+5guOAjuOA +j++5g++5hO+5me+5mu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+5m++5nO+5ne+5nuKAmOKAmeKAnOKAneOAneOAnuKAteKAsu+8g++8hu+8iuKAu8Kn44CD4peL +4peP4paz4pay4peO4piG4piF4peH4peG4pah4pag4pa94pa844qj4oSFwq/vv6PvvL/Lje+5ie+5 +iu+5je+5ju+5i++5jO+5n++5oO+5oe+8i++8jcOXw7fCseKImu+8nO+8nu+8neKJpuKJp+KJoOKI +nuKJkuKJoe+5ou+5o++5pO+5pe+5pu+9nuKIqeKIquKKpeKIoOKIn+KKv+OPkuOPkeKIq+KIruKI +teKItOKZgOKZguKKleKKmeKGkeKGk+KGkOKGkuKGluKGl+KGmeKGmOKIpeKIo++8j++/vSIuc3Bs +aXQoIiIpO2ZvcihhPTA7YSE9dFsxNjFdLmxlbmd0aDsrK2EpaWYodFsxNjFdW2FdLmNoYXJDb2Rl +QXQoMCkhPT02NTUzMyl7clt0WzE2MV1bYV1dPTQxMjE2K2E7ZVs0MTIxNithXT10WzE2MV1bYV19 +dFsxNjJdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vvLziiJXvuajvvITvv6XjgJLvv6Dvv6HvvIXv +vKDihIPihInvuanvuarvuavjj5Xjjpzjjp3jjp7jj47jjqHjjo7jjo/jj4TCsOWFmeWFm+WFnuWF +neWFoeWFo+WXp+eTqeezjuKWgeKWguKWg+KWhOKWheKWhuKWh+KWiOKWj+KWjuKWjeKWjOKWi+KW +iuKWieKUvOKUtOKUrOKUpOKUnOKWlOKUgOKUguKWleKUjOKUkOKUlOKUmOKVre+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veKVruKVsOKVr+KVkOKVnuKVquKVoeKX +ouKXo+KXpeKXpOKVseKVsuKVs++8kO+8ke+8ku+8k++8lO+8le+8lu+8l++8mO+8meKFoOKFoeKF +ouKFo+KFpOKFpeKFpuKFp+KFqOKFqeOAoeOAouOAo+OApOOApeOApuOAp+OAqOOAqeWNgeWNhOWN +he+8oe+8ou+8o++8pO+8pe+8pu+8p++8qO+8qe+8qu+8q++8rO+8re+8ru+8r++8sO+8se+8su+8 +s++8tO+8te+8tu+8t++8uO+8ue+8uu+9ge+9gu+9g++9hO+9he+9hu+9h++9iO+9ie+9iu+9i++9 +jO+9je+9ju+9j++9kO+9ke+9ku+9k++9lO+9le+9lu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9 +dFsxNjJdLmxlbmd0aDsrK2EpaWYodFsxNjJdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0 +WzE2Ml1bYV1dPTQxNDcyK2E7ZVs0MTQ3MithXT10WzE2Ml1bYV19dFsxNjNdPSLvv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vvZfvvZjvvZnvvZrOkc6SzpPOlM6VzpbOl86YzpnOms6bzpzOnc6ezp/OoM6h +zqPOpM6lzqbOp86ozqnOsc6yzrPOtM61zrbOt864zrnOus67zrzOvc6+zr/PgM+Bz4PPhM+Fz4bP +h8+Iz4njhIXjhIbjhIfjhIjjhInjhIrjhIvjhIzjhI3jhI7jhI/vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73jhJDjhJHjhJLjhJPjhJTjhJXjhJbjhJfjhJjjhJnj +hJrjhJvjhJzjhJ3jhJ7jhJ/jhKDjhKHjhKLjhKPjhKTjhKXjhKbjhKfjhKjjhKnLmcuJy4rLh8uL +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+94oKs77+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE2M10ubGVuZ3Ro +OysrYSlpZih0WzE2M11bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTYzXVthXV09NDE3 +MjgrYTtlWzQxNzI4K2FdPXRbMTYzXVthXX10WzE2NF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veS4 +gOS5meS4geS4g+S5g+S5neS6huS6jOS6uuWEv+WFpeWFq+WHoOWIgOWIgeWKm+WMleWNgeWNnOWP +iOS4ieS4i+S4iOS4iuS4q+S4uOWHoeS5heS5iOS5n+S5nuS6juS6oeWFgOWIg+WLuuWNg+WPieWP +o+Wcn+Wjq+WkleWkp+Wls+WtkOWtkeWtk+WvuOWwj+WwouWwuOWxseW3neW3peW3seW3suW3s+W3 +vuW5suW7vuW8i+W8k+aJje+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/veS4keS4kOS4jeS4reS4sOS4ueS5i+WwueS6iOS6keS6leS6kuS6lOS6ouS7geS7gOS7g+S7 +huS7h+S7jeS7iuS7i+S7hOWFg+WFgeWFp+WFreWFruWFrOWGl+WHtuWIhuWIh+WIiOWLu+WLvuWL +v+WMluWMueWNiOWNh+WNheWNnuWOhOWPi+WPiuWPjeWjrOWkqeWkq+WkquWkreWtlOWwkeWwpOWw +uuWxr+W3tOW5u+W7v+W8lOW8leW/g+aIiOaItuaJi+aJjuaUr+aWh+aWl+aWpOaWueaXpeabsOac +iOacqOasoOatouatueavi+avlOavm+awj+awtOeBq+eIqueItueIu+eJh+eJmeeJm+eKrOeOi+S4 +me+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNjRdLmxlbmd0aDsrK2EpaWYodFsxNjRdW2Fd +LmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE2NF1bYV1dPTQxOTg0K2E7ZVs0MTk4NCthXT10 +WzE2NF1bYV19dFsxNjVdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73kuJbkuJXkuJTkuJjkuLvkuY3k +uY/kuY7ku6Xku5jku5Tku5Xku5bku5fku6Pku6Tku5nku57lhYXlhYTlhonlhorlhqzlh7nlh7rl +h7jliIrliqDlip/ljIXljIbljJfljJ3ku5/ljYrljYnljaHljaDlja/lja7ljrvlj6/lj6Tlj7Pl +j6zlj67lj6nlj6jlj7zlj7jlj7Xlj6vlj6blj6rlj7Llj7Hlj7Dlj6Xlj63lj7vlm5vlm5rlpJbv +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73lpK7lpLHlpbTlpbbl +rZXlroPlsLzlt6jlt6flt6bluILluIPlubPlubzlvIHlvJjlvJflv4XmiIrmiZPmiZTmiZLmiZHm +lqXml6bmnK7mnKzmnKrmnKvmnK3mraPmr43msJHmsJDmsLjmsYHmsYDmsL7niq/njoTnjonnk5zn +k6bnlJjnlJ/nlKjnlKnnlLDnlLHnlLLnlLPnlovnmb3nmq7nmr/nm67nn5vnn6Lnn7PnpLrnpr7n +qbTnq4vkuJ7kuJ/kuZLkuZPkuankupnkuqTkuqbkuqXku7/kvInkvJnkvIrkvJXkvI3kvJDkvJHk +vI/ku7Lku7bku7vku7Dku7Pku73kvIHkvIvlhYnlhYflhYblhYjlhajvv70iLnNwbGl0KCIiKTtm +b3IoYT0wO2EhPXRbMTY1XS5sZW5ndGg7KythKWlmKHRbMTY1XVthXS5jaGFyQ29kZUF0KDApIT09 +NjU1MzMpe3JbdFsxNjVdW2FdXT00MjI0MCthO2VbNDIyNDArYV09dFsxNjVdW2FdfXRbMTY2XT0i +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+95YWx5YaN5Yaw5YiX5YiR5YiS5YiO5YiW5Yqj5YyI5Yyh5Yyg +5Y2w5Y2x5ZCJ5ZCP5ZCM5ZCK5ZCQ5ZCB5ZCL5ZCE5ZCR5ZCN5ZCI5ZCD5ZCO5ZCG5ZCS5Zug5Zue +5Zud5Zyz5Zyw5Zyo5Zyt5Zys5Zyv5Zyp5aSZ5aSa5aS35aS45aaE5aW45aaD5aW95aW55aaC5aaB +5a2X5a2Y5a6H5a6I5a6F5a6J5a+65bCW5bG55bee5biG5bm25bm077+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+95byP5byb5b+Z5b+W5oiO5oiM5oiN5oiQ5omj5omb +5omY5pS25pep5peo5pes5pet5puy5puz5pyJ5py95py05pyx5py15qyh5q2k5q275rCW5rGd5rGX +5rGZ5rGf5rGg5rGQ5rGV5rGh5rGb5rGN5rGO54Gw54mf54md55m+56u557Gz57O457y2576K5769 +6ICB6ICD6ICM6ICS6ICz6IG/6IKJ6IKL6IKM6Iej6Ieq6Iez6Ie86IiM6Iib6Iif6Imu6Imy6Im+ +6Jmr6KGA6KGM6KGj6KW/6Zih5Liy5Lqo5L2N5L2P5L2H5L2X5L2e5Ly05L2b5L2V5Lyw5L2Q5L2R +5Ly95Ly65Ly45L2D5L2U5Ly85L2G5L2j77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE2Nl0u +bGVuZ3RoOysrYSlpZih0WzE2Nl1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTY2XVth +XV09NDI0OTYrYTtlWzQyNDk2K2FdPXRbMTY2XVthXX10WzE2N109Iu+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/veS9nOS9oOS8r+S9juS8tuS9meS9neS9iOS9muWFjOWFi+WFjeWFteWGtuWGt+WIpeWIpOWI +qeWIquWIqOWKq+WKqeWKquWKrOWMo+WNs+WNteWQneWQreWQnuWQvuWQpuWRjuWQp+WRhuWRg+WQ +s+WRiOWRguWQm+WQqeWRiuWQueWQu+WQuOWQruWQteWQtuWQoOWQvOWRgOWQseWQq+WQn+WQrOWb +quWbsOWbpOWbq+WdiuWdkeWdgOWdje+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/veWdh+WdjuWcvuWdkOWdj+Wcu+Wjr+WkvuWmneWmkuWmqOWmnuWmo+WmmeWmluWm +jeWmpOWmk+WmiuWmpeWtneWtnOWtmuWtm+WujOWui+Wuj+WwrOWxgOWxgeWwv+WwvuWykOWykeWy +lOWyjOW3q+W4jOW6j+W6h+W6iuW7t+W8hOW8n+W9pOW9ouW9t+W9ueW/mOW/jOW/l+W/jeW/seW/ +q+W/uOW/quaIkuaIkeaKhOaKl+aKluaKgOaJtuaKieaJreaKiuaJvOaJvuaJueaJs+aKkuaJr+aK +mOaJruaKleaKk+aKkeaKhuaUueaUu+aUuOaXseabtOadn+adjuadj+adkOadkeadnOadluadnuad +ieadhuadoO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNjddLmxlbmd0aDsrK2EpaWYodFsx +NjddW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE2N11bYV1dPTQyNzUyK2E7ZVs0Mjc1 +MithXT10WzE2N11bYV19dFsxNjhdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73mnZPmnZfmraXmr4/m +sYLmsZ7mspnmsoHmsojmsonmsoXmspvmsarmsbrmspDmsbDmsozmsajmspbmspLmsb3msoPmsbLm +sb7msbTmsobmsbbmso3mspTmspjmsoLngbbngbzngb3ngbjniaLniaHniaDni4Tni4LnjpbnlKzn +lKvnlLfnlLjnmoLnm6/nn6Pnp4Hnp4Dnpr/nqbbns7vnvZXogpbogpPogp3ogpjogpvogprogrLo +ia/oipLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73oiovoio3o +povop5LoqIDosLfosYbosZXosp3otaTotbDotrPouqvou4rovpvovrDov4Lov4bov4Xov4Tlt6Hp +gpHpgqLpgqrpgqbpgqPphYnph4bph4zpmLLpmK7pmLHpmKrpmKzkuKbkuZbkubPkuovkupvkup7k +uqvkuqzkva/kvp3kvo3kvbPkvb/kvazkvpvkvovkvobkvoPkvbDkvbXkvojkvankvbvkvpbkvb7k +vo/kvpHkvbrlhZTlhZLlhZXlhanlhbflhbblhbjlhr3lh73liLvliLjliLfliLrliLDliK7liLbl +iYHlir7lirvljZLljZTljZPljZHljabljbfljbjljbnlj5blj5Tlj5flkbPlkbXvv70iLnNwbGl0 +KCIiKTtmb3IoYT0wO2EhPXRbMTY4XS5sZW5ndGg7KythKWlmKHRbMTY4XVthXS5jaGFyQ29kZUF0 +KDApIT09NjU1MzMpe3JbdFsxNjhdW2FdXT00MzAwOCthO2VbNDMwMDgrYV09dFsxNjhdW2FdfXRb +MTY5XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+95ZKW5ZG45ZKV5ZKA5ZG75ZG35ZKE5ZKS5ZKG5ZG8 +5ZKQ5ZGx5ZG25ZKM5ZKa5ZGi5ZGo5ZKL5ZG95ZKO5Zu65Z6D5Z235Z2q5Z2p5Z2h5Z2m5Z2k5Z28 +5aSc5aWJ5aWH5aWI5aWE5aWU5aa+5aa75aeU5aa55aau5aeR5aeG5aeQ5aeN5aeL5aeT5aeK5aav +5aaz5aeS5aeF5a2f5a2k5a2j5a6X5a6a5a6Y5a6c5a6Z5a6b5bCa5bGI5bGF77+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+95bGG5bK35bKh5bK45bKp5bKr5bKx5bKz +5biY5bia5biW5biV5bib5biR5bm45bqa5bqX5bqc5bqV5bqW5bu25bym5byn5byp5b6A5b6B5b2/ +5b285b+d5b+g5b+95b+15b+/5oCP5oCU5oCv5oC15oCW5oCq5oCV5oCh5oCn5oCp5oCr5oCb5oiW +5oiV5oi/5oi+5omA5om/5ouJ5ouM5ouE5oq/5ouC5oq55ouS5oub5oqr5ouT5ouU5ouL5ouI5oqo +5oq95oq85ouQ5ouZ5ouH5ouN5oq15oua5oqx5ouY5ouW5ouX5ouG5oqs5ouO5pS+5pan5pa85pe6 +5piU5piT5piM5piG5piC5piO5piA5piP5piV5piK77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10 +WzE2OV0ubGVuZ3RoOysrYSlpZih0WzE2OV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3Rb +MTY5XVthXV09NDMyNjQrYTtlWzQzMjY0K2FdPXRbMTY5XVthXX10WzE3MF09Iu+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/veaYh+acjeaci+adreaei+aeleadseaenOads+adt+aeh+aeneael+adr+adsOad +v+aeieadvuaekOadteaemuaek+advOadquadsuaso+atpuatp+atv+awk+awm+azo+azqOazs+ay +seazjOazpeays+ayveayvuayvOazouayq+azleazk+ayuOazhOayueazgeayruazl+azheazseay +v+ayu+azoeazm+aziuayrOazr+aznOazluazoO+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/veeCleeCjueCkueCiueCmeeIrOeIreeIuOeJiOeJp+eJqeeLgOeLjueL +meeLl+eLkOeOqeeOqOeOn+eOq+eOpeeUveeWneeWmeeWmueahOebguebsuebtOefpeefveekvuel +gOelgeenieeniOepuuepueeruuezvue9lOe+jOe+i+iAheiCuuiCpeiCouiCseiCoeiCq+iCqeiC +tOiCquiCr+iHpeiHvuiIjeiKs+iKneiKmeiKreiKveiKn+iKueiKseiKrOiKpeiKr+iKuOiKo+iK +sOiKvuiKt+iZjuiZseWIneihqOi7i+i/jui/lOi/kemCtemCuOmCsemCtumHh+mHkemVt+mWgOmY +nOmZgOmYv+mYu+mZhO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNzBdLmxlbmd0aDsrK2Ep +aWYodFsxNzBdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE3MF1bYV1dPTQzNTIwK2E7 +ZVs0MzUyMCthXT10WzE3MF1bYV19dFsxNzFdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73pmYLpmrnp +m6jpnZLpnZ7kup/kuq3kuq7kv6HkvrXkvq/kvr/kv6Dkv5Hkv4/kv53kv4Pkvrbkv5jkv5/kv4rk +v5fkvq7kv5Dkv4Tkv4Lkv5rkv47kv57kvrflhZflhpLlhpHlhqDliY7liYPliYrliY3liYzliYvl +iYfli4fli4nli4Pli4HljI3ljZfljbvljprlj5vlkqzlk4Dlkqjlk47lk4nlkrjlkqblkrPlk4fl +k4Llkr3lkqrlk4Hvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73l +k4Tlk4jlkq/lkqvlkrHlkrvlkqnlkqflkr/lm7/lnoLlnovlnqDlnqPlnqLln47lnq7lnpPlpZXl +pZHlpY/lpY7lpZDlp5zlp5jlp7/lp6Plp6jlqIPlp6Xlp6rlp5rlp6blqIHlp7vlranlrqPlrqbl +rqTlrqLlrqXlsIHlsY7lsY/lsY3lsYvls5nls5Llt7fluJ3luKXluJ/lub3luqDluqblu7rlvIjl +vK3lvaXlvojlvoXlvorlvovlvoflvozlvonmgJLmgJ3mgKDmgKXmgI7mgKjmgY3mgbDmgajmgaLm +gYbmgYPmgazmgavmgarmgaTmiYHmi5zmjJbmjInmi7zmi63mjIHmi67mi73mjIfmi7Hmi7fvv70i +LnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTcxXS5sZW5ndGg7KythKWlmKHRbMTcxXVthXS5jaGFy +Q29kZUF0KDApIT09NjU1MzMpe3JbdFsxNzFdW2FdXT00Mzc3NithO2VbNDM3NzYrYV09dFsxNzFd +W2FdfXRbMTcyXT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+95ouv5ous5ou+5ou05oyR5oyC5pS/5pWF +5par5pa95pei5pil5pit5pig5pin5piv5pif5pio5pix5pik5pu35p+/5p+T5p+x5p+U5p+Q5p+s +5p625p6v5p+15p+p5p+v5p+E5p+R5p605p+a5p+l5p645p+P5p+e5p+z5p6w5p+Z5p+i5p+d5p+S +5q2q5q6D5q6G5q615q+S5q+X5rCf5rOJ5rSL5rSy5rSq5rWB5rSl5rSM5rSx5rSe5rSX77+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+95rS75rS95rS+5rS25rSb5rO1 +5rS55rSn5rS45rSp5rSu5rS15rSO5rSr54Kr54K654Kz54Ks54Kv54Kt54K454Ku54Kk54iw54my +54mv54m054up54ug54uh546354+K5467546y54+N54+A546z55Sa55St55WP55WM55WO55WL55ar +55ak55al55ai55aj55m455qG55qH55qI55uI55uG55uD55uF55yB55u555u455yJ55yL55u+55u8 +55yH55+c56CC56CU56CM56CN56WG56WJ56WI56WH56a556a656eR56eS56eL56m/56qB56u/56u9 +57G957SC57SF57SA57SJ57SH57SE57SG57y4576O576/6ICE77+9Ii5zcGxpdCgiIik7Zm9yKGE9 +MDthIT10WzE3Ml0ubGVuZ3RoOysrYSlpZih0WzE3Ml1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMz +KXtyW3RbMTcyXVthXV09NDQwMzIrYTtlWzQ0MDMyK2FdPXRbMTcyXVthXX10WzE3M109Iu+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/veiAkOiAjeiAkeiAtuiDluiDpeiDmuiDg+iDhOiDjOiDoeiDm+iDjuiD +nuiDpOiDneiHtOiIouiLp+iMg+iMheiLo+iLm+iLpuiMhOiLpeiMguiMieiLkuiLl+iLseiMgeiL +nOiLlOiLkeiLnuiLk+iLn+iLr+iMhuiZkOiZueiZu+iZuuihjeihq+imgeinlOioiOioguiog+iy +nuiyoOi1tOi1s+i2tOi7jei7jOi/sOi/pui/oui/qui/pe+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/vei/rei/q+i/pOi/qOmDiumDjumDgemDg+mFi+mFiumHjemW +gumZkOmZi+mZjOmZjemdoumdqemfi+mfremfs+mggemiqOmjm+mjn+mmlummmeS5mOS6s+WAjOWA +jeWAo+S/r+WApuWApeS/uOWAqeWAluWAhuWAvOWAn+WAmuWAkuWAkeS/uuWAgOWAlOWAqOS/seWA +oeWAi+WAmeWAmOS/s+S/ruWAreWAquS/vuWAq+WAieWFvOWGpOWGpeWGouWHjeWHjOWHhuWHi+WJ +luWJnOWJlOWJm+WJneWMquWNv+WOn+WOneWPn+WTqOWUkOWUgeWUt+WTvOWTpeWTsuWUhuWTuuWU +lOWTqeWTreWToeWUieWTruWTqu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNzNdLmxlbmd0 +aDsrK2EpaWYodFsxNzNdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE3M11bYV1dPTQ0 +Mjg4K2E7ZVs0NDI4OCthXT10WzE3M11bYV19dFsxNzRdPSLvv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73l +k6bllKfllIflk73llI/lnIPlnITln4Lln5Tln4vln4PloInlpI/lpZflpZjlpZrlqJHlqJjlqJzl +qJ/lqJvlqJPlp6zlqKDlqKPlqKnlqKXlqIzlqInlravlsZjlrrDlrrPlrrblrrTlrq7lrrXlrrnl +rrjlsITlsZHlsZXlsZDls63ls73ls7vls6rls6jls7Dls7bltIHls7Tlt67luK3luKvluqvluq3l +uqflvLHlvpLlvpHlvpDmgZnvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73mgaPmgaXmgZDmgZXmga3mganmga/mgoTmgp/mgprmgo3mgpTmgozmgoXmgpbmiYfmi7Pm +jIjmi7/mjY7mjL7mjK/mjZXmjYLmjYbmjY/mjYnmjLrmjZDmjL3mjKrmjKvmjKjmjY3mjYzmlYjm +lYnmlpnml4Hml4XmmYLmmYnmmY/mmYPmmZLmmYzmmYXmmYHmm7jmnJTmnJXmnJfmoKHmoLjmoYjm +oYbmoZPmoLnmoYLmoZTmoKnmorPmoJfmoYzmoZHmoL3mn7TmoZDmoYDmoLzmoYPmoKrmoYXmoJPm +oJjmoYHmrormronmrrfmsKPmsKfmsKjmsKbmsKTms7DmtarmtpXmtojmtofmtabmtbjmtbfmtZnm +tpPvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTc0XS5sZW5ndGg7KythKWlmKHRbMTc0XVth +XS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNzRdW2FdXT00NDU0NCthO2VbNDQ1NDQrYV09 +dFsxNzRdW2FdfXRbMTc1XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+95rWs5raJ5rWu5rWa5rW05rWp +5raM5raK5rW55raF5rWl5raU54OK54OY54Ok54OZ54OI54OP54i554m554u854u554u954u454u3 +546G54+t55CJ54+u54+g54+q54+e55WU55Wd55Wc55Wa55WZ55a+55eF55eH55ay55az55a955a8 +55a555eC55a455qL55qw55uK55uN55uO55yp55yf55yg55yo55+p56Cw56Cn56C456Cd56C056C3 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+956Cl56Ct56Cg56Cf +56Cy56WV56WQ56Wg56Wf56WW56We56Wd56WX56Wa56ek56ej56en56ef56em56ep56eY56qE56qI +56uZ56yG56yR57KJ57Sh57SX57SL57SK57Sg57Si57SU57SQ57SV57Sa57Sc57SN57SZ57Sb57y6 +572f576U57+F57+B6ICG6ICY6ICV6ICZ6ICX6IC96IC/6IOx6ISC6IOw6ISF6IOt6IO06ISG6IO4 +6IOz6ISI6IO96ISK6IO86IOv6Iet6Ies6IiA6IiQ6Iiq6Iir6Iio6Iis6Iq76Iyr6I2S6I2U6I2K +6Iy46I2Q6I2J6Iy16Iy06I2P6Iyy6Iy56Iy26IyX6I2A6Iyx6Iyo6I2D77+9Ii5zcGxpdCgiIik7 +Zm9yKGE9MDthIT10WzE3NV0ubGVuZ3RoOysrYSlpZih0WzE3NV1bYV0uY2hhckNvZGVBdCgwKSE9 +PTY1NTMzKXtyW3RbMTc1XVthXV09NDQ4MDArYTtlWzQ0ODAwK2FdPXRbMTc1XVthXX10WzE3Nl09 +Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/veiZlOiaiuiaquiak+iapOiaqeiajOiao+ianOihsOiht+ii +geiiguihveihueiomOiokOiojuiojOioleioiuiol+iok+ioluioj+iokeixiOixuuixueiyoeiy +oui1t+i6rOi7kui7lOi7j+i+semAgemAhui/t+mAgOi/uui/tOmAg+i/vemAhei/uOmClemDoemD +nemDoumFkumFjemFjOmHmOmHnemHl+mHnOmHmemWg+mZoumZo+mZoe+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vemZm+mZnemZpOmZmOmZnumau+mjoummrOmqqOmr +mOmspemssumsvOS5vuWBuuWBveWBnOWBh+WBg+WBjOWBmuWBieWBpeWBtuWBjuWBleWBteWBtOWB +t+WBj+WAj+WBr+WBreWFnOWGleWHsOWJquWJr+WLkuWLmeWLmOWLleWMkOWMj+WMmeWMv+WNgOWM +vuWPg+abvOWVhuWVquWVpuWVhOWVnuWVoeWVg+WViuWUseWVluWVj+WVleWUr+WVpOWUuOWUruWV +nOWUrOWVo+WUs+WVgeWVl+WciOWci+WcieWfn+WgheWgiuWghuWfoOWfpOWfuuWgguWgteWft+Wf +ueWkoOWlouWotuWpgeWpieWppuWpquWpgO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNzZd +Lmxlbmd0aDsrK2EpaWYodFsxNzZdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE3Nl1b +YV1dPTQ1MDU2K2E7ZVs0NTA1NithXT10WzE3Nl1bYV19dFsxNzddPSLvv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73lqLzlqaLlqZrlqYblqYrlrbDlr4flr4Xlr4Tlr4Llrr/lr4blsInlsIjlsIflsaDlsZzl +sZ3ltIfltIbltI7ltJvltJbltKLltJHltKnltJTltJnltKTltKfltJflt6LluLjluLbluLPluLfl +urflurjlurblurXlur7lvLXlvLflvZflvazlvanlvavlvpflvpnlvp7lvpjlvqHlvqDlvpzmgb/m +gqPmgonmgqDmgqjmg4vmgrTmg6bmgr3vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73mg4XmgrvmgrXmg5zmgrzmg5jmg5Xmg4bmg5/mgrjmg5rmg4fmiJrmiJvmiYjm +jqDmjqfmjbLmjpbmjqLmjqXmjbfmjafmjpjmjqrmjbHmjqnmjonmjoPmjpvmjavmjqjmjoTmjojm +jpnmjqHmjqzmjpLmjo/mjoDmjbvmjanmjajmjbrmlZ3mlZbmlZHmlZnmlZfllZ/mlY/mlZjmlZXm +lZTmlpzmlpvmlqzml4/ml4vml4zml47mmZ3mmZrmmaTmmajmmabmmZ7mm7nli5fmnJvmooHmoq/m +oqLmopPmorXmob/mobbmorHmoqfmopfmorDmooPmo4Tmoq3moobmooXmopTmop3moqjmop/moqHm +ooLmrLLmrrrvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTc3XS5sZW5ndGg7KythKWlmKHRb +MTc3XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNzddW2FdXT00NTMxMithO2VbNDUz +MTIrYV09dFsxNzddW2FdfXRbMTc4XT0i77+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+95q+r5q+s5rCr5raO +5ra85rez5reZ5ray5reh5reM5rek5re75re65riF5reH5reL5rav5reR5rau5ree5re55ra45re3 +5re15reF5reS5ria5ra15rea5rer5reY5req5rex5reu5reo5reG5reE5raq5res5ra/5rem54O5 +54SJ54SK54O954Ov54i954m954qB54yc54yb54yW54yT54yZ546H55CF55CK55CD55CG54++55CN +55Og55O277+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+955O355Sc +55Si55Wl55Wm55Wi55Ww55aP55eU55eV55a155eK55eN55qO55uU55uS55ub55y355y+55y855y2 +55y455y656Gr56GD56GO56Wl56Wo56Wt56e756qS56qV56yg56yo56yb56ys56ym56yZ56ye56yu +57KS57KX57KV57WG57WD57Wx57Su57S557S857WA57Sw57Sz57WE57Sv57WC57Sy57Sx57y9576e +576a57+M57+O57+S6ICc6IGK6IGG6ISv6ISW6ISj6ISr6ISp6ISw6ISk6IiC6Ii16Ii36Ii26Ii5 +6I6O6I6e6I6Y6I246I6i6I6W6I696I6r6I6S6I6K6I6T6I6J6I6g6I236I276I2877+9Ii5zcGxp +dCgiIik7Zm9yKGE9MDthIT10WzE3OF0ubGVuZ3RoOysrYSlpZih0WzE3OF1bYV0uY2hhckNvZGVB +dCgwKSE9PTY1NTMzKXtyW3RbMTc4XVthXV09NDU1NjgrYTtlWzQ1NTY4K2FdPXRbMTc4XVthXX10 +WzE3OV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veiOhuiOp+iZleW9quibh+ibgOiatuibhOiateib +huibi+iaseiar+ibieihk+iinuiiiOiiq+iikuiiluiijeiii+imk+imj+ioquioneioo+iopeio +seioreion+iom+ioouixieixmuiyqeiyrOiyq+iyqOiyquiyp+i1p+i1pui2vui2uui7m+i7n+mA +memAjemAmumAl+mAo+mAn+mAnemAkOmAlemAnumAoOmAj+mAoumAlumAm+mAlO+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vemDqOmDremDvemFl+mHjumHtemHpumH +o+mHp+mHremHqemWiemZqumZtemZs+mZuOmZsOmZtOmZtumZt+mZrOmbgOmbqumbqeeroOern+mg +gumgg+mtmumzpem5tem5v+m6pem6u+WCouWCjeWCheWCmeWCkeWCgOWCluWCmOWCmuacgOWHseWJ +suWJtOWJteWJqeWLnuWLneWLm+WNmuWOpeWVu+WWgOWWp+WVvOWWiuWWneWWmOWWguWWnOWWquWW +lOWWh+WWi+WWg+WWs+WWruWWn+WUvuWWsuWWmuWWu+WWrOWWseWVvuWWieWWq+WWmeWcjeWgr+Wg +quWgtOWgpOWgsOWgseWgoeWgneWgoOWjueWjuuWloO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9 +dFsxNzldLmxlbmd0aDsrK2EpaWYodFsxNzldW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0 +WzE3OV1bYV1dPTQ1ODI0K2E7ZVs0NTgyNCthXT10WzE3OV1bYV19dFsxODBdPSLvv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73lqbflqprlqb/lqpLlqpvlqqflrbPlrbHlr5Llr4zlr5Plr5DlsIrlsIvlsLHl +tYzltZDltLTltYflt73luYXluL3luYDluYPlub7lu4rlu4Hlu4Llu4TlvLzlva3lvqnlvqrlvqjm +g5Hmg6HmgrLmgrbmg6DmhJzmhKPmg7rmhJXmg7Dmg7vmg7Tmhajmg7HmhI7mg7bmhInmhIDmhJLm +iJ/miYnmjqPmjozmj4/mj4Dmj6nmj4nmj4bmj43vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73mj5Lmj6Pmj5Dmj6Hmj5bmj63mj67mjbbmj7Tmj6rmj5vmkZLmj5rm +j7nmlZ7mlabmlaLmlaPmlpHmlpDmlq/mma7mmbDmmbTmmbbmma/mmpHmmbrmmb7mmbfmm77mm7/m +nJ/mnJ3mo7rmo5Xmo6Dmo5jmo5fmpIXmo5/mo7Xmo67mo6fmo7nmo5Lmo7Lmo6Pmo4vmo43mpI3m +pJLmpI7mo4nmo5rmpa7mo7vmrL7mrLrmrL3mrpjmrpbmrrzmr6/msK7msK/msKzmuK/muLjmuZTm +uKHmuLLmuafmuYrmuKDmuKXmuKPmuJvmuZvmuZjmuKTmuZbmua7muK3muKbmua/muLTmuY3muLrm +uKzmuYPmuJ3muL7mu4vvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTgwXS5sZW5ndGg7Kyth +KWlmKHRbMTgwXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxODBdW2FdXT00NjA4MCth +O2VbNDYwODArYV09dFsxODBdW2FdfXRbMTgxXT0i77+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+95rqJ5riZ +5rmO5rmj5rmE5rmy5rmp5rmf54SZ54Sa54Sm54Sw54Sh54S254Wu54Sc54mM54qE54qA54y254yl +54y054yp55C655Cq55Cz55Ci55Cl55C155C255C055Cv55Cb55Cm55Co55Sl55Sm55Wr55Wq55ei +55eb55ej55eZ55eY55ee55eg55m755m855qW55qT55q055uc552P55+t56Gd56Gs56Gv56iN56iI +56iL56iF56iA56qY77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +56qX56qW56ul56uj562J562W562G562Q562S562U562N562L562P562R57Kf57Kl57We57WQ57Wo +57WV57Sr57Wu57Wy57Wh57Wm57Wi57Ww57Wz5ZaE57+U57+V6ICL6IGS6IKF6IWV6IWU6IWL6IWR +6IWO6IS56IWG6IS+6IWM6IWT6IW06IiS6Iic6I+p6JCD6I+46JCN6I+g6I+F6JCL6I+B6I+v6I+x +6I+06JGX6JCK6I+w6JCM6I+M6I+96I+y6I+K6JC46JCO6JCE6I+c6JCH6I+U6I+f6Jmb6Juf6JuZ +6Jut6JuU6Jub6Juk6JuQ6Jue6KGX6KOB6KOC6KKx6KaD6KaW6Ki76Kmg6KmV6Kme6Ki86KmB77+9 +Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE4MV0ubGVuZ3RoOysrYSlpZih0WzE4MV1bYV0uY2hh +ckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTgxXVthXV09NDYzMzYrYTtlWzQ2MzM2K2FdPXRbMTgx +XVthXX10WzE4Ml09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veiplOipm+ipkOiphuiotOiouuiotuip +luixoeiyguiyr+iyvOiys+iyveizgeiyu+izgOiytOiyt+iytuiyv+iyuOi2iui2hei2gei3jui3 +nei3i+i3mui3kei3jOi3m+i3hui7u+i7uOi7vOi+nOmArumAtemAsemAuOmAsumAtumEgumDtemE +iemDvumFo+mFpemHj+mIlOmIlemIo+mIiemInumIjemIkOmIh+mIkemWlOmWj+mWi+mWke+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vemWk+mWkumWjumaiumajuma +i+mZvemahemahumajemZsumahOmbgembhembhOmbhumbh+mbr+mbsumfjOmghemghumgiOmjp+mj +qumjr+mjqemjsumjremmrummrem7g+m7jem7keS6guWCreWCteWCsuWCs+WDheWCvuWCrOWCt+WC +u+WCr+WDh+WJv+WJt+WJveWLn+WLpuWLpOWLouWLo+WMr+WXn+WXqOWXk+WXpuWXjuWXnOWXh+WX +keWXo+WXpOWXr+WXmuWXoeWXheWXhuWXpeWXieWckuWck+WhnuWhkeWhmOWhl+WhmuWhlOWhq+Wh +jOWhreWhiuWhouWhkuWhi+Wlp+WrgeWrieWrjOWqvuWqveWqvO+/vSIuc3BsaXQoIiIpO2Zvcihh +PTA7YSE9dFsxODJdLmxlbmd0aDsrK2EpaWYodFsxODJdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUz +Myl7clt0WzE4Ml1bYV1dPTQ2NTkyK2E7ZVs0NjU5MithXT10WzE4Ml1bYV19dFsxODNdPSLvv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73lqrPlq4LlqrLltanlta/luYzlubnlu4nlu4jlvJLlvZnlvqzlvq7m +hJrmhI/mhYjmhJ/mg7PmhJvmg7nmhIHmhIjmhY7mhYzmhYTmhY3mhL7mhLTmhKfmhI3mhIbmhLfm +iKHmiKLmkJPmkL7mkJ7mkKrmkK3mkL3mkKzmkI/mkJzmkJTmkI3mkLbmkJbmkJfmkIbmlazmlp/m +lrDmmpfmmonmmofmmojmmpbmmoTmmpjmmo3mnIPmppTmpa3vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73mpZrmpbfmpaDmpZTmpbXmpLDmpoLmpYrmpajmpavmpZ7m +pZPmpbnmpobmpZ3mpaPmpZvmrYfmrbLmr4Dmrr/mr5Pmr73muqLmuq/mu5Pmurbmu4LmupDmup3m +u4fmu4XmuqXmupjmurzmurrmuqvmu5Hmupbmupzmu4Tmu5TmuqrmuqfmurTnhY7nhZnnhannhaTn +hYnnhafnhZznhaznhabnhYznhaXnhZ7nhYbnhajnhZbniLrniZLnjLfnjYXnjL/njL7nka/nkZrn +kZXnkZ/nkZ7nkYHnkL/nkZnnkZvnkZznlbbnlbjnmIDnl7DnmIHnl7Lnl7Hnl7rnl7/nl7Tnl7Pn +m57nm5/nnZvnnavnnabnnZ7nnaPvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTgzXS5sZW5n +dGg7KythKWlmKHRbMTgzXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxODNdW2FdXT00 +Njg0OCthO2VbNDY4NDgrYV09dFsxODNdW2FdfXRbMTg0XT0i77+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +5525552q552s552c552l552o552i55+u56KO56Kw56KX56KY56KM56KJ56G856KR56KT56G/56W6 +56W/56aB6JCs56a956ic56ia56ig56iU56if56ie56qf56qg562356+A562g562u562n57Kx57Kz +57K157aT57W557aR57aB57aP57Wb572u572p572q572y576p576o576k6IGW6IGY6IKG6IKE6IWx +6IWw6IW46IWl6IWu6IWz6IWr77+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+96IW56IW66IWm6IiF6ImH6JKC6JG36JC96JCx6JG16JGm6JGr6JGJ6JGs6JGb6JC86JC1 +6JGh6JGj6JGp6JGt6JGG6Jme6Jmc6Jmf6Ju56JyT6JyI6JyH6JyA6Ju+6Ju76JyC6JyD6JyG6JyK +6KGZ6KOf6KOU6KOZ6KOc6KOY6KOd6KOh6KOK6KOV6KOS6Kac6Kej6Kmr6Kmy6Kmz6Kmm6Kmp6Kmw +6KqH6Km86Kmj6Kqg6Kmx6KqF6Kmt6Kmi6Kmu6Kms6Km56Km76Ki+6Kmo6LGi6LKK6LKJ6LOK6LOH +6LOI6LOE6LKy6LOD6LOC6LOF6Leh6Lef6Leo6Lev6Lez6Le66Leq6Lek6Lem6Lqy6LyD6LyJ6Lu+ +6LyK77+9Ii5zcGxpdCgiIik7CmZvcihhPTA7YSE9dFsxODRdLmxlbmd0aDsrK2EpaWYodFsxODRd +W2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE4NF1bYV1dPTQ3MTA0K2E7ZVs0NzEwNCth +XT10WzE4NF1bYV19dFsxODVdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73ovp/ovrLpgYvpgYrpgZPp +gYLpgZTpgLzpgZXpgZDpgYfpgY/pgY7pgY3pgZHpgL7pgYHphJLphJfphazpharphanph4npiLfp +iZfpiLjpiL3piYDpiL7piZvpiYvpiaTpiZHpiLTpiYnpiY3piYXpiLnpiL/piZrplpjpmpjpmpTp +mpXpm43pm4vpm4npm4rpm7fpm7vpm7npm7bpnZbpnbTpnbbpoJDpoJHpoJPpoIrpoJLpoIzpo7zp +o7Tvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73po73po77pprPp +prHpprTpq6Hps6npuoLpvI7pvJPpvKDlg6flg67lg6Xlg5blg63lg5rlg5Xlg4/lg5Hlg7Hlg47l +g6nlhaLlh7PlioPlioLljLHljq3ll77lmIDlmJvlmJfll73lmJTlmIblmInlmI3lmI7ll7flmJbl +mJ/lmIjlmJDll7blnJjlnJblobXlob7looPlopPloorlobnlooXlob3lo73lpKXlpKLlpKTlparl +panlq6Hlq6blq6nlq5flq5blq5jlq6PlrbXlr57lr6flr6Hlr6Xlr6blr6jlr6Llr6Tlr5/lsI3l +saLltoTltofluZvluaPluZXluZfluZTlu5Plu5blvIrlvYblvbDlvrnmhYfvv70iLnNwbGl0KCIi +KTtmb3IoYT0wO2EhPXRbMTg1XS5sZW5ndGg7KythKWlmKHRbMTg1XVthXS5jaGFyQ29kZUF0KDAp +IT09NjU1MzMpe3JbdFsxODVdW2FdXT00NzM2MCthO2VbNDczNjArYV09dFsxODVdW2FdfXRbMTg2 +XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+95oS/5oWL5oW35oWi5oWj5oWf5oWa5oWY5oW15oiq5pKH +5pGY5pGU5pKk5pG45pGf5pG65pGR5pGn5pC05pGt5pG75pWy5pah5peX5peW5pqi5pqo5pqd5qac +5qao5qaV5qeB5qau5qeT5qeL5qab5qa35qa75qar5qa05qeQ5qeN5qat5qeM5qam5qeD5qaj5q2J +5q2M5rCz5ryz5ryU5ru+5ryT5ru05ryp5ry+5ryg5rys5ryP5ryC5ryi77+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+95ru/5ruv5ryG5ryx5ry45ryy5ryj5ryV5ryr +5ryv5r6I5ryq5rus5ryB5ruy5ruM5ru354aU54aZ54W954aK54aE54aS54i+54qS54qW542E542Q +55Gk55Gj55Gq55Gw55Gt55SE55aR55in55iN55iL55iJ55iT55uh55uj556E5529552/552h56OB +56Kf56Kn56Kz56Kp56Kj56aO56aP56aN56iu56ix56qq56qp56ut56uv566h566V566L5621566X +566d566U566P5664566H566E57K557K957K+57a757aw57ac57a957a+57ag57eK57a057ay57ax +57a657ai57a/57a157a457at57eS57eH57as77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE4 +Nl0ubGVuZ3RoOysrYSlpZih0WzE4Nl1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTg2 +XVthXV09NDc2MTYrYTtlWzQ3NjE2K2FdPXRbMTg2XVthXX10WzE4N109Iu+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/vee9sOe/oOe/oee/n+iBnuiBmuiCh+iFkOiGgOiGj+iGiOiGiuiFv+iGguiHp+iHuuiI +h+iIlOiInuiJi+iTieiSv+iThuiThOiSmeiSnuiSsuiSnOiTi+iSuOiTgOiTk+iSkOiSvOiTkeiT +iuicv+icnOicu+icouicpeictOicmOidleict+icqeijs+ikguijtOijueijuOijveijqOikmuij +r+iqpuiqjOiqnuiqo+iqjeiqoeiqk+iqpO+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/veiqquiqpeiqqOiqmOiqkeiqmuiqp+ixquiyjeiyjOizk+izkeizkui1q+i2 +mei2lei3vOi8lOi8kui8lei8k+i+o+mBoOmBmOmBnOmBo+mBmemBnumBoumBnemBm+mEmemEmOmE +numFtemFuOmFt+mFtOmJuOmKgOmKhemKmOmKlumJu+mKk+mKnOmKqOmJvOmKkemWoemWqOmWqemW +o+mWpemWpOmamemanOmam+mbjOmbkumcgOmdvOmehemftumgl+mgmOmir+misemkg+mkhemkjOmk +iemngemqr+mqsOmrpumtgemtgumztOmztumzs+m6vOm8u+m9iuWEhOWEgOWDu+WDteWDueWEguWE +iOWEieWEheWHnO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxODddLmxlbmd0aDsrK2EpaWYo +dFsxODddW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE4N11bYV1dPTQ3ODcyK2E7ZVs0 +Nzg3MithXT10WzE4N11bYV19dFsxODhdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73liofliojlionl +io3liorli7DljrLlmK7lmLvlmLnlmLLlmL/lmLTlmKnlmZPlmY7lmZflmbTlmLblmK/lmLDlooDl +op/lop7lorPlopzloq7loqnloqblpa3lrInlq7vlrIvlq7XlrIzlrIjlr67lr6zlr6nlr6vlsaTl +saXltp3ltpTluaLluZ/luaHlu6Llu5rlu5/lu53lu6Plu6DlvYjlvbHlvrflvrXmhbbmhafmha7m +hZ3mhZXmhoLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73mhbzm +hbDmhavmhb7mhqfmhpDmhqvmho7mhqzmhprmhqTmhpTmhq7miK7mkanmka/mkbnmkp7mkrLmkojm +kpDmkrDmkqXmkpPmkpXmkqnmkpLmkq7mkq3mkqvmkprmkqzmkpnmkqLmkrPmlbXmlbfmlbjmmq7m +mqvmmrTmmrHmqKPmqJ/mp6jmqIHmqJ7mqJnmp73mqKHmqJPmqIrmp7PmqILmqIXmp63mqJHmrZDm +rY7mrqTmr4Xmr4bmvL/mvbzmvoTmvZHmvabmvZTmvobmva3mvZvmvbjmva7mvo7mvbrmvbDmvaTm +vpfmvZjmu5Xmva/mvaDmvZ/nhp/nhqznhrHnhqjniZbnipvnjY7njZfnkannkovnkoPvv70iLnNw +bGl0KCIiKTtmb3IoYT0wO2EhPXRbMTg4XS5sZW5ndGg7KythKWlmKHRbMTg4XVthXS5jaGFyQ29k +ZUF0KDApIT09NjU1MzMpe3JbdFsxODhdW2FdXT00ODEyOCthO2VbNDgxMjgrYV09dFsxODhdW2Fd +fXRbMTg5XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+955G+55KA55W/55ig55ip55if55ik55im55ih +55ii55qa55q655uk556O556H556M556R556L56OL56OF56K656OK56K+56OV56K856OQ56i/56i8 +56mA56i956i356i756qv56qu566t566x56+E566056+G56+H56+B566g56+M57OK57eg57e057ev +57e757eY57es57ed57eo57ej57ea57ee57ep57ae57eZ57ey57e557215723576v77+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+957+p6ICm6Iab6Iac6Iad6Iag6Iaa +6IaY6JSX6JS96JSa6JOu6JSs6JSt6JST6JSR6JSj6JSh6JSU6JOs6JSl6JO/6JSG6J6C6J206J22 +6J2g6J2m6J246J2o6J2Z6J2X6J2M6J2T6KGb6KGd6KSQ6KSH6KSS6KST6KSV6KSK6Kq86KuS6KuH +6KuE6KqV6KuL6Ku46Kqy6KuJ6KuC6Kq/6Kqw6KuW6KuN6Kq26Kq56Kub6LGM6LGO6LGs6LOg6LOe +6LOm6LOk6LOs6LOt6LOi6LOj6LOc6LOq6LOh6LWt6Laf6Laj6Lir6LiQ6Lid6Lii6LiP6Lip6Lif +6Lih6Lie6Lq66Lyd6Lyb6Lyf6Lyp6Lym6Lyq6Lyc6Lye77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDth +IT10WzE4OV0ubGVuZ3RoOysrYSlpZih0WzE4OV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXty +W3RbMTg5XVthXV09NDgzODQrYTtlWzQ4Mzg0K2FdPXRbMTg5XVthXX10WzE5MF09Iu+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/vei8pemBqemBrumBqOmBremBt+mEsOmEremEp+mEsemGh+mGiemGi+mGg+mL +hemKu+mKt+mLqumKrOmLpOmLgemKs+mKvOmLkumLh+mLsOmKsumWremWsemchOmchumch+mciemd +oOmejemei+mej+mgoemgq+mgnOmis+mkiumkk+mkkumkmOmnnemnkOmnn+mnm+mnkemnlemnkumn +memqt+mrrumrr+msp+mthemthOmtt+mtr+m0hum0ie+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/vem0g+m6qem6vum7juWiqOm9kuWEkuWEmOWElOWEkOWEleWGgOWG +quWHneWKkeWKk+WLs+WZmeWZq+WZueWZqeWZpOWZuOWZquWZqOWZpeWZseWZr+WZrOWZouWZtuWj +geWivuWjh+WjheWlruWsneWstOWtuOWvsOWwjuW9iuaGsuaGkeaGqeaGiuaHjeaGtuaGvuaHiuaH +iOaIsOaTheaTgeaTi+aSu+aSvOaTmuaThOaTh+aTguaTjeaSv+aTkuaTlOaSvuaVtOabhuabieaa +ueabhOabh+aauOaoveaouOaouuapmeapq+apmOaoueaphOapouapoeapi+aph+aoteapn+apiOat +meatt+awhea/gua+sea+oe+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxOTBdLmxlbmd0aDsr +K2EpaWYodFsxOTBdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE5MF1bYV1dPTQ4NjQw +K2E7ZVs0ODY0MCthXT10WzE5MF1bYV19dFsxOTFdPSLvv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73mv4Pm +vqTmv4HmvqfmvrPmv4DmvrnmvrbmvqbmvqDmvrTnhr7nh4nnh5Dnh5Lnh4jnh5Xnhrnnh47nh5nn +h5znh4Pnh4TnjajnkpznkqPnkpjnkp/nkp7nk6LnlIznlI3nmLTnmLjnmLrnm6fnm6XnnqDnnp7n +np/nnqXno6jno5rno6zno6fnpqbnqY3nqY7nqYbnqYznqYvnqrrnr5nnsJHnr4nnr6Tnr5vnr6Hn +r6nnr6bns5Xns5bnuIrvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73nuJHnuIjnuJvnuKPnuJ7nuJ3nuInnuJDnvbnnvrLnv7Dnv7Hnv67ogKjohrPohqnohqjoh7vo +iIjoiZjoiZnolYrolZnolYjolajolanolYPolYnola3olarolZ7onoPonp/onp7onqLono3ooaHo +pKropLLopKXopKvopKHopqropqboq6boq7roq6voq7HorIDoq5zoq6foq67oq77orIHorILoq7fo +q63oq7Poq7boq7zosavosa3ospPos7TouYTouLHouLTouYLouLnouLXovLvovK/ovLjovLPovqjo +vqbpgbXpgbTpgbjpgbLpgbzpgbrphLTphpLpjKDpjLbpi7jpjLPpjK/pjKLpi7zpjKvpjITpjJrv +v70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTkxXS5sZW5ndGg7KythKWlmKHRbMTkxXVthXS5j +aGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxOTFdW2FdXT00ODg5NithO2VbNDg4OTYrYV09dFsx +OTFdW2FdfXRbMTkyXT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+96YyQ6Yym6Yyh6YyV6Yyu6YyZ6Za7 +6Zqn6Zqo6Zqq6ZuV6ZyO6ZyR6ZyW6ZyN6ZyT6ZyP6Z2b6Z2c6Z2m6Z6Y6aCw6aC46aC76aC36aCt +6aC56aCk6aSQ6aSo6aSe6aSb6aSh6aSa6aet6aei6aex6aq46aq86au76aut6ayo6a6R6bSV6bSj +6bSm6bSo6bSS6bSb6buY6buU6b6N6b6c5YSq5YSf5YSh5YSy5Yu15ZqO5ZqA5ZqQ5ZqF5ZqH77+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+95ZqP5aOV5aOT5aOR5aOO +5ayw5ayq5ayk5a265bC35bGo5ba85ba65ba95ba45bmr5b2M5b695oeJ5oeC5oeH5oem5oeL5oiy +5oi05pOO5pOK5pOY5pOg5pOw5pOm5pOs5pOx5pOi5pOt5paC5paD5puZ5puW5qqA5qqU5qqE5qqi +5qqc5qub5qqj5qm+5qqX5qqQ5qqg5q2c5q6u5q+a5rCI5r+Y5r+x5r+f5r+g5r+b5r+k5r+r5r+v +5r6A5r+s5r+h5r+p5r+V5r+u5r+w54en54ef54eu54em54el54et54es54e054eg54i154mG542w +542y55Kp55Kw55Km55Ko55mG55mC55mM55uq556z556q556w556s77+9Ii5zcGxpdCgiIik7Zm9y +KGE9MDthIT10WzE5Ml0ubGVuZ3RoOysrYSlpZih0WzE5Ml1bYV0uY2hhckNvZGVBdCgwKSE9PTY1 +NTMzKXtyW3RbMTkyXVthXV09NDkxNTIrYTtlWzQ5MTUyK2FdPXRbMTkyXVthXX10WzE5M109Iu+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/veeep+eereefr+ejt+ejuuejtOejr+ekgeemp+emquepl+eqv+ew +h+ewjeevvuevt+ewjOevoOezoOeznOeznuezouezn+ezmeeznee4rue4vue5hue4t+e4sue5g+e4 +q+e4vee4see5hee5gee4tOe4uee5iOe4tee4v+e4r+e9hOe/s+e/vOiBseiBsuiBsOiBr+iBs+iH +huiHg+iGuuiHguiHgOiGv+iGveiHieiGvuiHqOiIieiJseiWqu+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veiWhOiVvuiWnOiWkeiWlOiWr+iWm+iWh+iWqOiWiuiZ +p+ifgOifkeies+ifkuifhuieq+ieu+ieuuifiOifi+iku+iktuilhOikuOikveimrOisjuisl+is +meism+isiuisoOisneishOiskOixgeiwv+ixs+izuuizveizvOizuOizu+i2qOi5iei5i+i5iOi5 +iui9hOi8vui9gui9hei8v+mBv+mBvemChOmCgemCgumCgOmEuemGo+mGnumGnOmNjemOgumMqOmN +temNiumNpemNi+mMmOmNvumNrOmNm+mNsOmNmumNlOmXiumXi+mXjOmXiOmXhumasemauOmblumc +nOmcnumeoOmfk+mhhumitumktemoge+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxOTNdLmxl +bmd0aDsrK2EpaWYodFsxOTNdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE5M11bYV1d +PTQ5NDA4K2E7ZVs0OTQwOCthXT10WzE5M11bYV19dFsxOTRdPSLvv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73pp7/prq7prqvprqrprq3ptLvptL/puovpu4/pu57pu5zpu53pu5vpvL7pvYvlj6LlmpXlmq7l +o5nlo5jlrLjlvZ3mh6PmiLPmk7Tmk7Lmk77mlIbmk7rmk7vmk7fmlrfmm5zmnKbmqrPmqqzmq4Pm +qrvmqrjmq4Lmqq7mqq/mrZ/mrbjmrq/ngInngIvmv77ngIbmv7rngJHngI/nh7vnh7znh77nh7jn +jbfnjbXnkqfnkr/nlJXnmZbnmZjvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73nmZLnnr3nnr/nnrvnnrznpI7npq7nqaHnqaLnqaDnq4Tnq4XnsKvnsKfnsKrnsJ7n +sKPnsKHns6fnuZTnuZXnuZ7nuZrnuaHnuZLnuZnnvYjnv7nnv7vogbfogbboh43oh4/oiIrol4/o +lqnol43ol5Dol4nolrDolrrolrnolqbon6/on6zon7Lon6DopoboprLop7TorKjorLnorKzorKvo +sZDotIXouZnouaPouabouaTouZ/ouZXou4DovYnovY3pgofpgoPpgojphqvphqzph5DpjpTpjorp +jpbpjqLpjrPpjq7pjqzpjrDpjpjpjprpjpfpl5Tpl5bpl5Dpl5Xpm6Lpm5zpm5npm5vpm57pnKTp +nqPpnqbvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTk0XS5sZW5ndGg7KythKWlmKHRbMTk0 +XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxOTRdW2FdXT00OTY2NCthO2VbNDk2NjQr +YV09dFsxOTRdW2FdfXRbMTk1XT0i77+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+96Z6t6Z+56aGN6aGP6aGM +6aGO6aGT6aK66aS+6aS/6aS96aSu6aal6aiO6auB6ayD6ayG6a2P6a2O6a2N6a+K6a+J6a+96a+I +6a+A6bWR6bWd6bWg6bug6byV6bys5YSz5Zql5aOe5aOf5aOi5a+16b6Q5bus5oey5oe35oe25oe1 +5pSA5pSP5pug5pud5qul5qud5qua5quT54Cb54Cf54Co54Ca54Cd54CV54CY54iG54iN54mY54qi +542477+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9542655K955OK +55Oj55aH55aG55mf55mh55+H56SZ56ax56mr56mp57C+57C/57C457C957C357GA57mr57mt57m5 +57mp57mq576F57mz5762576557646IeY6Jep6Jed6Jeq6JeV6Jek6Jel6Je36J+76KCF6KCN6J+5 +6J++6KWg6KWf6KWW6KWe6K2B6K2c6K2Y6K2J6K2a6K2O6K2P6K2G6K2Z6LSI6LSK6Lm86Lmy6LqH +6Lm26Lms6Lm66Lm06L2U6L2O6L6t6YKK6YKL6Yax6Yau6Y+h6Y+R6Y+f6Y+D6Y+I6Y+c6Y+d6Y+W +6Y+i6Y+N6Y+Y6Y+k6Y+X6Y+o6Zec6Zq06Zuj6Zyq6Zyn6Z2h6Z+c6Z+76aGe77+9Ii5zcGxpdCgi +Iik7Zm9yKGE9MDthIT10WzE5NV0ubGVuZ3RoOysrYSlpZih0WzE5NV1bYV0uY2hhckNvZGVBdCgw +KSE9PTY1NTMzKXtyW3RbMTk1XVthXV09NDk5MjArYTtlWzQ5OTIwK2FdPXRbMTk1XVthXX10WzE5 +Nl09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vemhmOmhm+mivOmlhemliemolumomemsjemvqOmvp+mv +lumvm+m2iem1oem1sum1qum1rOm6kum6l+m6k+m6tOWLuOWaqOWat+WatuWatOWavOWjpOWtgOWt +g+WtveWvtuW3ieaHuOaHuuaUmOaUlOaUmeabpuacp+arrOeAvueAsOeAsueIkOeNu+eTj+eZoueZ +peekpuekquekrOekq+erh+ertuexjOexg+exjeezr+ezsOi+rue5vee5vO+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vee6gue9jOiAgOiHmuiJpuiXu+iXueiYkeiX +uuiYhuiYi+iYh+iYiuiglOigleilpOimuuinuOitsOitrOitpuitr+itn+itq+i0j+i0jei6iei6 +gei6hei6gumGtOmHi+mQmOmQg+mPvemXoemcsOmjhOmlkumlkemmqOmoq+mosOmot+motemwk+mw +jem5uem6tem7qOm8r+m9n+m9o+m9oeWEt+WEuOWbgeWbgOWbguWklOWxrOW3jeaHvOaHvuaUneaU +nOaWleabqearu+ashOaruuausueBjOeIm+eKp+eTlueTlOeZqeefk+exkOe6j+e6jOe+vOiYl+iY +reiYmuigo+igouigoeign+ilquilrOimveittO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsx +OTZdLmxlbmd0aDsrK2EpaWYodFsxOTZdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE5 +Nl1bYV1dPTUwMTc2K2E7ZVs1MDE3NithXT10WzE5Nl1bYV19dFsxOTddPSLvv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73orbforb3otJPouorouo3ouovovZ/ovq/phrrpkK7pkLPpkLXpkLrpkLjpkLLpkKvp +l6LpnLjpnLnpnLLpn7/poafpoaXppZfpqYXpqYPpqYDpqL7pq4/prZTprZHpsK3psKXptq/ptrTp +t4Lptrjpup3pu6/pvJnpvZzpvabpvaflhLzlhLvlm4jlm4rlm4nlrb/lt5Tlt5LlvY7mh7/mlKTm +rIrmraHngZHngZjnjoDnk6Tnlornma7nmazvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73nprPnsaDnsZ/ogb7ogb3oh5/opbLopa/op7zoroDotJbotJfoupHoupPo +vaHphYjpkYTpkZHpkZLpnL3pnL7pn4Ppn4HpoavppZXpqZXpqY3pq5LprJrpsYnpsLHpsL7psLvp +t5Ppt5fpvLTpvazpvarpvpTlm4zlt5bmiIDmlKPmlKvmlKrmm6zmrJDnk5rnq4rnsaTnsaPnsaXn +upPnupbnupToh6LomLjomL/ooLHororpgpDpgo/pkaPpkaDpkaTpnajpoa/ppZzpqZrpqZvpqZfp +q5Ppq5Tpq5HpsZTpsZfpsZbpt6Xpup/pu7Tlm5Hlo6nmlKzngZ7nmbHnmbLnn5fnvZDnvojooLbo +oLnooaLorpPorpLvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTk3XS5sZW5ndGg7KythKWlm +KHRbMTk3XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxOTddW2FdXT01MDQzMithO2Vb +NTA0MzIrYV09dFsxOTddW2FdfXRbMTk4XT0i77+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+96K6W6Im36LSb +6YeA6ZGq6Z2C6Z2I6Z2E6Z+G6aGw6amf6ayi6a2Y6bGf6be56be66bm86bm96byH6b236b2y5buz +5qyW54Gj57Gs57Gu6KC76KeA6Lqh6YeB6ZGy6ZGw6aGx6aWe6auW6ayj6buM54Gk55+a6K6a6ZG3 +6Z+J6ami6aml57qc6K6c6Lqq6YeF6ZG96ZG+6ZG86bG36bG46bu36LGU6ZG/6bia54io6amq6ayx +6bib6bie57Gy77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9Ii5z +cGxpdCgiIik7Zm9yKGE9MDthIT10WzE5OF0ubGVuZ3RoOysrYSlpZih0WzE5OF1bYV0uY2hhckNv +ZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTk4XVthXV09NTA2ODgrYTtlWzUwNjg4K2FdPXRbMTk4XVth +XX10WzIwMV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veS5guS5nOWHteWMmuWOguS4h+S4jOS5h+S6 +jeWbl++ojOWxruW9s+S4j+WGh+S4juS4ruS6k+S7guS7ieS7iOWGmOWLvOWNrOWOueWcoOWkg+Wk +rOWwkOW3v+aXoeaus+avjOawlOeIv+S4seS4vOS7qOS7nOS7qeS7oeS7neS7muWIjOWMnOWNjOWc +ouWco+Wkl+Wkr+WugeWuhOWwkuWwu+WxtOWxs+W4hOW6gOW6guW/ieaIieaJkOawle+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veawtuaxg+awv+awu+eKrueKsOeO +iuemuOiCiumYnuS8juS8mOS8rOS7teS8lOS7seS8gOS7t+S8iOS8neS8guS8heS8ouS8k+S8hOS7 +tOS8kuWGseWIk+WIieWIkOWKpuWMouWMn+WNjeWOiuWQh+WboeWbn+WcruWcquWctOWkvOWmgOWl +vOWmheWlu+WlvuWlt+Wlv+WtluWwleWwpeWxvOWxuuWxu+WxvuW3n+W5teW6hOW8guW8muW9tOW/ +leW/lOW/j+aJnOaJnuaJpOaJoeaJpuaJouaJmeaJoOaJmuaJpeaXr+aXruacvuacueacuOacu+ac +uuacv+acvOacs+awmOaxhuaxkuaxnOaxj+axiuaxlOaxi++/vSIuc3BsaXQoIiIpO2ZvcihhPTA7 +YSE9dFsyMDFdLmxlbmd0aDsrK2EpaWYodFsyMDFdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7 +clt0WzIwMV1bYV1dPTUxNDU2K2E7ZVs1MTQ1NithXT10WzIwMV1bYV19dFsyMDJdPSLvv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73msYzngbHniZ7nirTnirXnjo7nlKrnmb/nqbXnvZHoibjoibzoioDoib3o +ib/omY3opb7pgpnpgpfpgpjpgpvpgpTpmKLpmKTpmKDpmKPkvZbkvLvkvaLkvYnkvZPkvaTkvL7k +vafkvZLkvZ/kvYHkvZjkvK3kvLPkvL/kvaHlho/lhrnliJzliJ7liKHliq3liq7ljInljaPljbLl +jo7ljo/lkLDlkLflkKrlkZTlkYXlkJnlkJzlkKXlkJjvv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73lkL3lkY/lkYHlkKjlkKTlkYflm67lm6flm6XlnYHlnYXlnYzl +nYnlnYvlnZLlpIblpYDlpqblppjlpqDlppflpo7lpqLlppDlpo/lpqflpqHlro7lrpLlsKjlsKrl +so3lso/lsojlsovlsonlspLlsorlsoblspPlspXlt6DluIrluI7luovluonluozluojluo3lvIXl +vJ3lvbjlvbblv5Llv5Hlv5Dlv63lv6jlv67lv7Plv6Hlv6Tlv6Plv7rlv6/lv7flv7vmgIDlv7Tm +iLrmioPmiozmio7mio/mipTmiofmibHmibvmibrmibDmioHmiojmibfmib3mibLmibTmlLfml7Dm +l7Tml7Pml7Lml7XmnYXmnYfvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjAyXS5sZW5ndGg7 +KythKWlmKHRbMjAyXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMDJdW2FdXT01MTcx +MithO2VbNTE3MTIrYV09dFsyMDJdW2FdfXRbMjAzXT0i77+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+95p2Z +5p2V5p2M5p2I5p2d5p2N5p2a5p2L5q+Q5rCZ5rCa5rG45rGn5rGr5rKE5rKL5rKP5rGx5rGv5rGp +5rKa5rGt5rKH5rKV5rKc5rGm5rGz5rGl5rG75rKO54G054G654mj54q/54q954uD54uG54uB54q6 +54uF546V546X546T546U546S55S655S555aU55aV55qB56S96IC06IKV6IKZ6IKQ6IKS6IKc6IqQ +6IqP6IqF6IqO6IqR6IqT77+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+96IqK6IqD6IqE6LG46L+J6L6/6YKf6YKh6YKl6YKe6YKn6YKg6Ziw6Zio6Ziv6Zit5Liz5L6Y +5L285L6F5L295L6A5L6H5L225L205L6J5L6E5L235L2M5L6X5L2q5L6a5L255L6B5L245L6Q5L6c +5L6U5L6e5L6S5L6C5L6V5L2r5L2u5Yae5Ya85Ya+5Yi15Yiy5Yiz5YmG5Yix5Yq85YyK5YyL5Yy8 +5Y6S5Y6U5ZKH5ZG/5ZKB5ZKR5ZKC5ZKI5ZGr5ZG65ZG+5ZGl5ZGs5ZG05ZGm5ZKN5ZGv5ZGh5ZGg +5ZKY5ZGj5ZGn5ZGk5Zu35Zu55Z2v5Z2y5Z2t5Z2r5Z2x5Z2w5Z225Z6A5Z215Z275Z2z5Z205Z2i +77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIwM10ubGVuZ3RoOysrYSlpZih0WzIwM11bYV0u +Y2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjAzXVthXV09NTE5NjgrYTtlWzUxOTY4K2FdPXRb +MjAzXVthXX10WzIwNF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veWdqOWdveWkjOWlheWmteWmuuWn +j+WnjuWmsuWnjOWngeWmtuWmvOWng+WnluWmseWmveWngOWniOWmtOWnh+WtouWtpeWuk+WuleWx +hOWxh+WyruWypOWyoOWyteWyr+WyqOWyrOWyn+Wyo+WyreWyouWyquWyp+WyneWypeWytuWysOWy +puW4l+W4lOW4meW8qOW8ouW8o+W8pOW9lOW+guW9vuW9veW/nuW/peaAreaApuaAmeaAsuaAi++/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veaAtOaAiuaAl+aAs+aA +muaAnuaArOaAouaAjeaAkOaAruaAk+aAkeaAjOaAieaAnOaIlOaIveaKreaKtOaLkeaKvuaKquaK +tuaLiuaKruaKs+aKr+aKu+aKqeaKsOaKuOaUveaWqOaWu+aYieaXvOaYhOaYkuaYiOaXu+aYg+aY +i+aYjeaYheaXveaYkeaYkOabtuaciuaeheadrOaejuaekuadtuadu+aemOaehuaehOadtOaejeae +jOaduuaen+aekeaemeaeg+adveaegeaduOadueaelOaspeaugOatvuavnuawneayk+azrOazq+az +ruazmeaytuazlOayreazp+ayt+azkOazguayuuazg+azhuazreazsu+/vSIuc3BsaXQoIiIpO2Zv +cihhPTA7YSE9dFsyMDRdLmxlbmd0aDsrK2EpaWYodFsyMDRdW2FdLmNoYXJDb2RlQXQoMCkhPT02 +NTUzMyl7clt0WzIwNF1bYV1dPTUyMjI0K2E7ZVs1MjIyNCthXT10WzIwNF1bYV19dFsyMDVdPSLv +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73ms5Lms53msrTmsormsp3msoDms57ms4DmtLDms43ms4fmsrDm +s7nms4/ms6nms5HngpTngpjngoXngpPngobngoTngpHngpbngoLngprngoPniarni5bni4vni5jn +i4nni5zni5Lni5Tni5rni4zni5HnjqTnjqHnjq3njqbnjqLnjqDnjqznjp3nk53nk6jnlL/nlYDn +lL7nloznlpjnmq/nm7Pnm7Hnm7Dnm7Xnn7jnn7znn7nnn7vnn7rvv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73nn7fnpYLnpL/np4Xnqbjnqbvnq7vnsbXns73ogLXo +go/ogq7ogqPogrjogrXogq3oiKDoiqDoi4DoiqvoiproipjoipvoirXoiqfoiq7oirzoip7oirro +irToiqjoiqHoiqnoi4LoiqToi4PoirboiqLombDoma/oma3oma7osZbov5Lov4vov5Pov43ov5bo +v5Xov5fpgrLpgrTpgq/pgrPpgrDpmLnpmL3pmLzpmLrpmYPkv43kv4Xkv5PkvrLkv4nkv4vkv4Hk +v5Tkv5zkv5nkvrvkvrPkv5vkv4fkv5bkvrrkv4Dkvrnkv6zliYTliYnli4Dli4LljL3ljbzljpfl +jpbljpnljpjlkrrlkqHlkq3lkqXlk4/vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjA1XS5s +ZW5ndGg7KythKWlmKHRbMjA1XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMDVdW2Fd +XT01MjQ4MCthO2VbNTI0ODArYV09dFsyMDVdW2FdfXRbMjA2XT0i77+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+95ZOD6IyN5ZK35ZKu5ZOW5ZK25ZOF5ZOG5ZKg5ZGw5ZK85ZKi5ZK+5ZGy5ZOe5ZKw5Z615Z6e +5Z6f5Z6k5Z6M5Z6X5Z6d5Z6b5Z6U5Z6Y5Z6P5Z6Z5Z6l5Z6a5Z6V5aO05aSN5aWT5aeh5aee5aeu +5aiA5aex5aed5ae65ae95ae85ae25aek5aey5ae35aeb5aep5aez5ae15aeg5ae+5ae05aet5a6o +5bGM5bOQ5bOY5bOM5bOX5bOL5bOb77+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+95bOe5bOa5bOJ5bOH5bOK5bOW5bOT5bOU5bOP5bOI5bOG5bOO5bOf5bO45be55bih +5bii5bij5big5bik5bqw5bqk5bqi5bqb5bqj5bql5byH5byu5b2W5b6G5oC35oC55oGU5oGy5oGe +5oGF5oGT5oGH5oGJ5oGb5oGM5oGA5oGC5oGf5oCk5oGE5oGY5oGm5oGu5omC5omD5ouP5oyN5oyL +5ou15oyO5oyD5our5ou55oyP5oyM5ou45ou25oyA5oyT5oyU5ou65oyV5ou75ouw5pWB5pWD5paq +5pa/5pi25pih5piy5pi15pic5pim5pii5piz5pir5pi65pid5pi05pi55piu5pyP5pyQ5p+B5p+y +5p+I5p6677+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIwNl0ubGVuZ3RoOysrYSlpZih0WzIw +Nl1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjA2XVthXV09NTI3MzYrYTtlWzUyNzM2 +K2FdPXRbMjA2XVthXX10WzIwN109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veafnOaeu+afuOafmOaf +gOaet+afheafq+afpOafn+aeteafjeaes+aft+aftuafruafo+afguaeueafjuafp+afsOaesuaf +vOafhuafreafjOaeruafpuafm+afuuafieafiuafg+afquafi+asqOauguauhOautuavluavmOav +oOawoOawoea0qOa0tOa0rea0n+a0vOa0v+a0kua0iuazmua0s+a0hOa0mea0uua0mua0kea0gOa0 +nea1gu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vea0gea0mOa0 +t+a0g+a0j+a1gOa0h+a0oOa0rOa0iOa0oua0iea0kOeCt+eCn+eCvueCseeCsOeCoeeCtOeCteeC +qeeJgeeJieeJiueJrOeJsOeJs+eJrueLiueLpOeLqOeLq+eLn+eLqueLpueLo+eOheePjOePgueP +iOePheeOueeOtueOteeOtOePq+eOv+ePh+eOvuePg+ePhueOuOePi+eTrOeTrueUrueVh+eViOeW +p+eWqueZueebhOeciOecg+echOecheeciuebt+ebu+ebuuefp+efqOeghuegkeegkuegheegkOeg +j+egjuegieegg+egk+eliueljOeli+elheelhOenleenjeenj+enluenjueqgO+/vSIuc3BsaXQo +IiIpO2ZvcihhPTA7YSE9dFsyMDddLmxlbmd0aDsrK2EpaWYodFsyMDddW2FdLmNoYXJDb2RlQXQo +MCkhPT02NTUzMyl7clt0WzIwN11bYV1dPTUyOTkyK2E7ZVs1Mjk5MithXT10WzIwN11bYV19dFsy +MDhdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73nqb7nq5HnrIDnrIHnsbrnsbjnsbnnsb/nsoDnsoHn +tIPntIjntIHnvZjnvpHnvo3nvr7ogIfogI7ogI/ogJTogLfog5jog4fog6Dog5Hog4jog4Log5Do +g4Xog6Pog5nog5zog4rog5Xog4nog4/og5fog6bog43oh7/oiKHoipToi5noi77oi7nojIfoi6jo +jIDoi5XojLroi6voi5boi7Toi6zoi6Hoi7Loi7XojIzoi7voi7boi7Doi6rvv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73oi6Toi6Doi7roi7Poi63ombfombTombzo +mbPooYHooY7ooafooarooanop5PoqIToqIfotbLov6Pov6Hov67ov6Dpg7Hpgr3pgr/pg5Xpg4Xp +gr7pg4fpg4vpg4jph5Tph5PpmZTpmY/pmZHpmZPpmYrpmY7lgJ7lgIXlgIflgJPlgKLlgLDlgJvk +v7Xkv7TlgLPlgLflgKzkv7bkv7flgJflgJzlgKDlgKflgLXlgK/lgLHlgI7lhZrlhpTlhpPlh4rl +h4Tlh4Xlh4jlh47liaHliZrliZLliZ7liZ/liZXliaLli43ljI7ljp7llKblk6LllJfllJLlk6fl +k7Plk6TllJrlk7/llITllIjlk6vllJHllIXlk7Hvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRb +MjA4XS5sZW5ndGg7KythKWlmKHRbMjA4XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsy +MDhdW2FdXT01MzI0OCthO2VbNTMyNDgrYV09dFsyMDhdW2FdfXRbMjA5XT0i77+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+95ZSK5ZO75ZO35ZO45ZOg5ZSO5ZSD5ZSL5ZyB5ZyC5Z+M5aCy5Z+V5Z+S5Z665Z+G +5Z695Z685Z645Z625Z6/5Z+H5Z+Q5Z655Z+B5aSO5aWK5aiZ5aiW5ait5aiu5aiV5aiP5aiX5aiK +5aie5aiz5a2s5a6n5a6t5a6s5bCD5bGW5bGU5bOs5bO/5bOu5bOx5bO35bSA5bO55bip5bio5bqo +5bqu5bqq5bqs5byz5byw5b2n5oGd5oGa5oGn77+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+95oGB5oKi5oKI5oKA5oKS5oKB5oKd5oKD5oKV5oKb5oKX5oKH5oKc5oKO +5oiZ5omG5ouy5oyQ5o2W5oys5o2E5o2F5oy25o2D5o+k5oy55o2L5o2K5oy85oyp5o2B5oy05o2Y +5o2U5o2Z5oyt5o2H5oyz5o2a5o2R5oy45o2X5o2A5o2I5pWK5pWG5peG5peD5peE5peC5pmK5pmf +5pmH5pmR5pyS5pyT5qCf5qCa5qGJ5qCy5qCz5qC75qGL5qGP5qCW5qCx5qCc5qC15qCr5qCt5qCv +5qGO5qGE5qC05qCd5qCS5qCU5qCm5qCo5qCu5qGN5qC65qCl5qCg5qys5qyv5qyt5qyx5qy05q2t +6IKC5q6I5q+m5q+k77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIwOV0ubGVuZ3RoOysrYSlp +Zih0WzIwOV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjA5XVthXV09NTM1MDQrYTtl +WzUzNTA0K2FdPXRbMjA5XVthXX10WzIxMF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veavqOavo+av +ouavp+awpea1uua1o+a1pOa1tua0jea1oea2kua1mOa1oua1rea1r+a2kea2jea3r+a1v+a2hua1 +nua1p+a1oOa2l+a1sOa1vOa1n+a2gua2mOa0r+a1qOa2i+a1vua2gOa2hOa0lua2g+a1u+a1vea1 +tea2kOeDnOeDk+eDkeeDneeDi+e8ueeDoueDl+eDkueDnueDoOeDlOeDjeeDheeDhueDh+eDmueD +jueDoeeJgueJuO+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veeJ +t+eJtueMgOeLuueLtOeLvueLtueLs+eLu+eMgeePk+ePmeePpeePlueOvOePp+ePo+ePqeePnOeP +kuePm+ePlOePneePmuePl+ePmOePqOeTnueTn+eTtOeTteeUoeeVm+eVn+eWsOeXgeeWu+eXhOeX +gOeWv+eWtueWuueaiuebieecneecm+eckOeck+eckueco+eckeecleecmeecmuecouecp+ego+eg +rOegouegteegr+egqOegruegq+egoeegqeegs+egquegseellOelm+elj+elnOelk+elkuelkeen +q+enrOenoOenruenreenquennOennuenneeqhueqieeqheeqi+eqjOeqiueqh+ermOeskO+/vSIu +c3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMTBdLmxlbmd0aDsrK2EpaWYodFsyMTBdW2FdLmNoYXJD +b2RlQXQoMCkhPT02NTUzMyl7clt0WzIxMF1bYV1dPTUzNzYwK2E7ZVs1Mzc2MCthXT10WzIxMF1b +YV19dFsyMTFdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73nrITnrJPnrIXnrI/nrIjnrIrnrI7nrInn +rJLnsoTnspHnsornsoznsojnso3nsoXntJ7ntJ3ntJHntI7ntJjntJbntJPntJ/ntJLntI/ntIzn +vZznvaHnvZ7nvaDnvZ3nvZvnvpbnvpLnv4Pnv4Lnv4DogJbogL7ogLnog7rog7Log7nog7XohIHo +g7vohIDoiIHoiK/oiKXojLPojK3ojYTojJnojZHojKXojZbojL/ojYHojKbojJzojKLvv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73ojYLojY7ojJvojKrojIjojLzo +jY3ojJbojKTojKDojLfojK/ojKnojYfojYXojYzojZPojJ7ojKzojYvojKfojYjomZPomZLomqLo +mqjompbomo3ompHomp7omofompfomobomovompromoXomqXompnomqHomqfompXompjomo7omp3o +mpDompTooYPooYTooa3oobXoobboobLoooDoobHoob/ooa/oooPoob7oobToobzoqJLosYfosZfo +sbvosqTosqPotbbotbjotrXotrfotrbou5Hou5Pov77ov7XpgILov7/ov7vpgITov7zov7bpg5bp +g6Dpg5npg5rpg6Ppg5/pg6Xpg5jpg5vpg5fpg5zpg6TphZDvv70iLnNwbGl0KCIiKTtmb3IoYT0w +O2EhPXRbMjExXS5sZW5ndGg7KythKWlmKHRbMjExXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMp +e3JbdFsyMTFdW2FdXT01NDAxNithO2VbNTQwMTYrYV09dFsyMTFdW2FdfXRbMjEyXT0i77+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+96YWO6YWP6YeV6Yei6Yea6Zmc6Zmf6Zq86aOj6auf6ayv5Lm/5YGw5YGq +5YGh5YGe5YGg5YGT5YGL5YGd5YGy5YGI5YGN5YGB5YGb5YGK5YGi5YCV5YGF5YGf5YGp5YGr5YGj +5YGk5YGG5YGA5YGu5YGz5YGX5YGR5YeQ5Ymr5Ymt5Yms5Ymu5YuW5YuT5Yyt5Y6c5ZW15ZW25ZS8 +5ZWN5ZWQ5ZS05ZSq5ZWR5ZWi5ZS25ZS15ZSw5ZWS5ZWF77+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+95ZSM5ZSy5ZWl5ZWO5ZS55ZWI5ZSt5ZS75ZWA5ZWL5ZyK5ZyH +5Z+75aCU5Z+i5Z+25Z+c5Z+05aCA5Z+t5Z+95aCI5Z+45aCL5Z+z5Z+P5aCH5Z+u5Z+j5Z+y5Z+l +5Z+s5Z+h5aCO5Z+85aCQ5Z+n5aCB5aCM5Z+x5Z+p5Z+w5aCN5aCE5aWc5amg5amY5amV5amn5ame +5ai45ai15amt5amQ5amf5aml5ams5amT5amk5amX5amD5amd5amS5amE5amb5amI5aqO5ai+5amN +5ai55amM5amw5amp5amH5amR5amW5amC5amc5a2y5a2u5a+B5a+A5bGZ5bSe5bSL5bSd5bSa5bSg +5bSM5bSo5bSN5bSm5bSl5bSP77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIxMl0ubGVuZ3Ro +OysrYSlpZih0WzIxMl1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjEyXVthXV09NTQy +NzIrYTtlWzU0MjcyK2FdPXRbMjEyXVthXX10WzIxM109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veW0 +sOW0kuW0o+W0n+W0ruW4vuW4tOW6seW6tOW6ueW6suW6s+W8tuW8uOW+m+W+luW+n+aCiuaCkOaC +huaCvuaCsOaCuuaDk+aDlOaDj+aDpOaDmeaDneaDiOaCseaDm+aCt+aDiuaCv+aDg+aDjeaDgOaM +suaNpeaOiuaOguaNveaOveaOnuaOreaOneaOl+aOq+aOjuaNr+aOh+aOkOaNruaOr+aNteaOnOaN +reaOruaNvOaOpOaMu+aOn++/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/veaNuOaOheaOgeaOkeaOjeaNsOaVk+aXjeaZpeaZoeaZm+aZmeaZnOaZouacmOahueaih+ai +kOainOahreahruairuaiq+alluahr+aio+airOaiqeahteahtOaisuaij+aht+aikuahvOahq+ah +suaiquaigOahseahvuaim+ailuaii+aioOaiieaipOahuOahu+aikeaijOaiiuahveastuass+as +t+asuOaukeauj+aujeaujuaujOawqua3gOa2q+a2tOa2s+a5tOa2rOa3qea3oua2t+a3tua3lOa4 +gOa3iOa3oOa3n+a3lua2vua3pea3nOa3nea3m+a3tOa3iua2vea3rea3sOa2uua3lea3gua3j+a3 +ie+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMTNdLmxlbmd0aDsrK2EpaWYodFsyMTNdW2Fd +LmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIxM11bYV1dPTU0NTI4K2E7ZVs1NDUyOCthXT10 +WzIxM11bYV19dFsyMTRdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73mt5Dmt7Lmt5Pmt73mt5fmt43m +t6Pmtrvng7rnhI3ng7fnhJfng7TnhIzng7DnhITng7PnhJDng7zng7/nhIbnhJPnhIDng7jng7bn +hIvnhILnhI7nib7nibvnibznib/njJ3njJfnjIfnjJHnjJjnjIrnjIjni7/njI/njJ7njojnj7bn +j7jnj7XnkITnkIHnj73nkIfnkIDnj7rnj7znj7/nkIznkIvnj7TnkIjnlaTnlaPnl47nl5Lnl4/v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73nl4vnl4znl5Hnl5Dn +mo/nmonnm5PnnLnnnK/nnK3nnLHnnLLnnLTnnLPnnL3nnKXnnLvnnLXnoYjnoZLnoYnnoY3noYrn +oYznoKbnoYXnoZDnpaTnpafnpannparnpaPnpavnpaHnprvnp7rnp7jnp7bnp7fnqo/nqpTnqpDn +rLXnrYfnrLTnrKXnrLDnrKLnrKTnrLPnrJjnrKrnrJ3nrLHnrKvnrK3nrK/nrLLnrLjnrJrnrKPn +spTnspjnspbnsqPntLXntL3ntLjntLbntLrntYXntKzntKnntYHntYfntL7ntL/ntYrntLvntKjn +vaPnvpXnvpznvp3nvpvnv4rnv4vnv43nv5Dnv5Hnv4fnv4/nv4nogJ/vv70iLnNwbGl0KCIiKTtm +b3IoYT0wO2EhPXRbMjE0XS5sZW5ndGg7KythKWlmKHRbMjE0XVthXS5jaGFyQ29kZUF0KDApIT09 +NjU1MzMpe3JbdFsyMTRdW2FdXT01NDc4NCthO2VbNTQ3ODQrYV09dFsyMTRdW2FdfXRbMjE1XT0i +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+96ICe6ICb6IGH6IGD6IGI6ISY6ISl6ISZ6ISb6ISt6ISf6ISs +6ISe6ISh6ISV6ISn6ISd6ISi6IiR6Ii46Iiz6Ii66Ii06Iiy6Im06I6Q6I6j6I6o6I6N6I266I2z +6I6k6I206I6P6I6B6I6V6I6Z6I216I6U6I6p6I296I6D6I6M6I6d6I6b6I6q6I6L6I2+6I6l6I6v +6I6I6I6X6I6w6I2/6I6m6I6H6I6u6I226I6a6JmZ6JmW6Jq/6Jq377+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+96JuC6JuB6JuF6Jq66Jqw6JuI6Jq56Jqz6Jq46JuM +6Jq06Jq76Jq86JuD6Jq96Jq+6KGS6KKJ6KKV6KKo6KKi6KKq6KKa6KKR6KKh6KKf6KKY6KKn6KKZ +6KKb6KKX6KKk6KKs6KKM6KKT6KKO6KaC6KeW6KeZ6KeV6Kiw6Kin6Kis6Kie6LC56LC76LGc6LGd +6LG96LKl6LW96LW76LW56La86LeC6La56La/6LeB6LuY6Lue6Lud6Luc6LuX6Lug6Luh6YCk6YCL +6YCR6YCc6YCM6YCh6YOv6YOq6YOw6YO06YOy6YOz6YOU6YOr6YOs6YOp6YWW6YWY6YWa6YWT6YWV +6Yes6Ye06Yex6Yez6Ye46Yek6Ye56Yeq77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIxNV0u +bGVuZ3RoOysrYSlpZih0WzIxNV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjE1XVth +XV09NTUwNDArYTtlWzU1MDQwK2FdPXRbMjE1XVthXX10WzIxNl09Iu+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/vemHq+mHt+mHqOmHrumVuumWhumWiOmZvOmZremZq+mZsemZr+mav+mdqumghOmjpemml+WC +m+WCleWClOWCnuWCi+WCo+WCg+WCjOWCjuWCneWBqOWCnOWCkuWCguWCh+WFn+WHlOWMkuWMkeWO +pOWOp+WWkeWWqOWWpeWWreWVt+WZheWWouWWk+WWiOWWj+WWteWWgeWWo+WWkuWWpOWVveWWjOWW +puWVv+WWleWWoeWWjuWcjOWgqeWgt++/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/veWgmeWgnuWgp+Wgo+WgqOWfteWhiOWgpeWgnOWgm+Wgs+Wgv+WgtuWgruWgueWg +uOWgreWgrOWgu+WloeWqr+WqlOWqn+WpuuWqouWqnuWpuOWqpuWpvOWqpeWqrOWqleWqruWot+Wq +hOWqiuWql+Wqg+Wqi+WqqeWpu+WpveWqjOWqnOWqj+Wqk+WqneWvquWvjeWvi+WvlOWvkeWviuWv +juWwjOWwsOW0t+W1g+W1q+W1geW1i+W0v+W0teW1keW1juW1leW0s+W0uuW1kuW0veW0seW1meW1 +guW0ueW1ieW0uOW0vOW0suW0tuW1gOW1heW5hOW5geW9mOW+puW+peW+q+aDieaCueaDjOaDouaD +juaDhOaElO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMTZdLmxlbmd0aDsrK2EpaWYodFsy +MTZdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIxNl1bYV1dPTU1Mjk2K2E7ZVs1NTI5 +NithXT10WzIxNl1bYV19dFsyMTddPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73mg7LmhIrmhJbmhIXm +g7XmhJPmg7jmg7zmg77mg4HmhIPmhJjmhJ3mhJDmg7/mhITmhIvmiYrmjpTmjrHmjrDmj47mj6Xm +j6jmj6/mj4Pmkp3mj7Pmj4rmj6Dmj7bmj5Xmj7Lmj7XmkaHmj5/mjr7mj53mj5zmj4Tmj5jmj5Pm +j4Lmj4fmj4zmj4vmj4jmj7Dmj5fmj5nmlLLmlafmlarmlaTmlZzmlajmlaXmlozmlp3mlp7mlq7m +l5Dml5Lvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73mmbzmmazm +mbvmmoDmmbHmmbnmmarmmbLmnIHmpIzmo5PmpITmo5zmpKrmo6zmo6rmo7HmpI/mo5bmo7fmo6vm +o6Tmo7bmpJPmpJDmo7Pmo6HmpIfmo4zmpIjmpbDmorTmpJHmo6/mo4bmpJTmo7jmo5Dmo73mo7zm +o6jmpIvmpIrmpJfmo47mo4jmo53mo57mo6bmo7Tmo5HmpIbmo5Tmo6nmpJXmpKXmo4fmrLnmrLvm +rL/mrLzmrpTmrpfmrpnmrpXmrr3mr7Dmr7Lmr7PmsLDmt7zmuYbmuYfmuJ/muYnmuojmuLzmuL3m +uYXmuaLmuKvmuL/muYHmuZ3mubPmuJzmuLPmuYvmuYDmuZHmuLvmuIPmuK7muZ7vv70iLnNwbGl0 +KCIiKTtmb3IoYT0wO2EhPXRbMjE3XS5sZW5ndGg7KythKWlmKHRbMjE3XVthXS5jaGFyQ29kZUF0 +KDApIT09NjU1MzMpe3JbdFsyMTddW2FdXT01NTU1MithO2VbNTU1NTIrYV09dFsyMTddW2FdfXRb +MjE4XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+95rmo5rmc5rmh5rix5rio5rmg5rmx5rmr5ri55rii +5riw5rmT5rml5rin5rm45rmk5rm35rmV5rm55rmS5rmm5ri15ri25rma54Sg54Se54Sv54O754Su +54Sx54Sj54Sl54Si54Sy54Sf54So54S654Sb54mL54ma54qI54qJ54qG54qF54qL54yS54yL54yw +54yi54yx54yz54yn54yy54yt54ym54yj54y154yM55Cu55Cs55Cw55Cr55CW77+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+955Ca55Ch55Ct55Cx55Ck55Cj55Cd55Cp +55Cg55Cy55O755Sv55Wv55Ws55en55ea55eh55em55ed55ef55ek55eX55qV55qS55ua552G552H +552E552N552F552K552O552L552M55+e55+s56Gg56Gk56Gl56Gc56Gt56Gx56Gq56Gu56Gw56Gp +56Go56Ge56Gi56W056Wz56Wy56Ww56iC56iK56iD56iM56iE56qZ56um56uk562K56y7562E562I +562M562O562A562Y562F57Ki57Ke57Ko57Kh57WY57Wv57Wj57WT57WW57Wn57Wq57WP57Wt57Wc +57Wr57WS57WU57Wp57WR57Wf57WO57y+57y/572l77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10 +WzIxOF0ubGVuZ3RoOysrYSlpZih0WzIxOF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3Rb +MjE4XVthXV09NTU4MDgrYTtlWzU1ODA4K2FdPXRbMjE4XVthXX10WzIxOV09Iu+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/vee9pue+oue+oOe+oee/l+iBkeiBj+iBkOiDvuiDlOiFg+iFiuiFkuiFj+iFh+iE +veiFjeiEuuiHpuiHruiHt+iHuOiHueiIhOiIvOiIveiIv+iJteiMu+iPj+iPueiQo+iPgOiPqOiQ +kuiPp+iPpOiPvOiPtuiQkOiPhuiPiOiPq+iPo+iOv+iQgeiPneiPpeiPmOiPv+iPoeiPi+iPjuiP +luiPteiPieiQieiQj+iPnuiQkeiQhuiPguiPs++/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/veiPleiPuuiPh+iPkeiPquiQk+iPg+iPrOiPruiPhOiPu+iPl+iPouiQ +m+iPm+iPvuibmOibouibpuibk+ibo+ibmuibquibneibq+ibnOibrOibqeibl+ibqOibkeihiOih +luihleiiuuijl+iiueiiuOijgOiivuiituiivOiit+iiveiisuikgeijieimleimmOiml+innein +muinm+ipjuipjeioueipmeipgOipl+ipmOiphOipheipkuipiOipkeipiuipjOipj+ixn+iygeiy +gOiyuuiyvuiysOiyueiytei2hOi2gOi2iei3mOi3k+i3jei3h+i3lui3nOi3j+i3lei3mei3iOi3 +l+i3hei7r+i7t+i7uu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMTldLmxlbmd0aDsrK2Ep +aWYodFsyMTldW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIxOV1bYV1dPTU2MDY0K2E7 +ZVs1NjA2NCthXT10WzIxOV1bYV19dFsyMjBdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73ou7nou6bo +u67ou6Xou7Xou6fou6jou7bou6vou7Hou6zou7Tou6npgK3pgLTpgK/phIbphKzphITpg7/pg7zp +hIjpg7npg7vphIHphIDphIfphIXphIPphaHphaTphZ/phaLphaDpiIHpiIrpiKXpiIPpiJrpiKbp +iI/piIzpiIDpiJLph7/ph73piIbpiITpiKfpiILpiJzpiKTpiJnpiJfpiIXpiJbplbvplo3plozp +lpDpmofpmb7pmojvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73p +monpmoPpmoDpm4Lpm4jpm4Ppm7Hpm7DpnazpnbDpna7poIfpoqnpo6vps6bpu7nkuoPkuoTkurbl +gr3lgr/lg4blgq7lg4Tlg4rlgrTlg4jlg4LlgrDlg4HlgrrlgrHlg4vlg4nlgrblgrjlh5flibrl +ibjlibvlibzll4Pll5vll4zll5Dll4vll4rll53ll4Dll5Tll4Tll6nllr/ll5Lllo3ll4/ll5Xl +l6Lll5bll4jll7Lll43ll5nll4LlnJTloZPloajloaTloY/loY3loYnloa/loZXloY7loZ3loZnl +oaXloZvloL3loaPlobHlo7zlq4flq4Tlq4vlqrrlqrjlqrHlqrXlqrDlqr/lq4jlqrvlq4bvv70i +LnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjIwXS5sZW5ndGg7KythKWlmKHRbMjIwXVthXS5jaGFy +Q29kZUF0KDApIT09NjU1MzMpe3JbdFsyMjBdW2FdXT01NjMyMCthO2VbNTYzMjArYV09dFsyMjBd +W2FdfXRbMjIxXT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+95aq35auA5auK5aq05aq25auN5aq55aqQ +5a+W5a+Y5a+Z5bCf5bCz5bWx5bWj5bWK5bWl5bWy5bWs5bWe5bWo5bWn5bWi5bew5bmP5bmO5bmK +5bmN5bmL5buF5buM5buG5buL5buH5b2A5b6v5b6t5oO35oWJ5oWK5oSr5oWF5oS25oSy5oSu5oWG +5oSv5oWP5oSp5oWA5oig6YWo5oij5oil5oik5o+F5o+x5o+r5pCQ5pCS5pCJ5pCg5pCk77+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+95pCz5pGD5pCf5pCV5pCY5pC5 +5pC35pCi5pCj5pCM5pCm5pCw5pCo5pGB5pC15pCv5pCK5pCa5pGA5pCl5pCn5pCL5o+n5pCb5pCu +5pCh5pCO5pWv5paS5peT5pqG5pqM5pqV5pqQ5pqL5pqK5pqZ5pqU5pm45pyg5qWm5qWf5qS45qWO +5qWi5qWx5qS/5qWF5qWq5qS55qWC5qWX5qWZ5qW65qWI5qWJ5qS15qWs5qSz5qS95qWl5qOw5qW4 +5qS05qWp5qWA5qWv5qWE5qW25qWY5qWB5qW05qWM5qS75qWL5qS35qWc5qWP5qWR5qSy5qWS5qSv +5qW75qS85q2G5q2F5q2D5q2C5q2I5q2B5q6b76iN5q+75q+877+9Ii5zcGxpdCgiIik7Zm9yKGE9 +MDthIT10WzIyMV0ubGVuZ3RoOysrYSlpZih0WzIyMV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMz +KXtyW3RbMjIxXVthXV09NTY1NzYrYTtlWzU2NTc2K2FdPXRbMjIxXVthXX10WzIyMl09Iu+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/veavueavt+avuOa6m+a7lua7iOa6j+a7gOa6n+a6k+a6lOa6oOa6sea6 +uea7hua7kua6vea7gea6nua7iea6t+a6sOa7jea6pua7j+a6sua6vua7g+a7nOa7mOa6mea6kua6 +jua6jea6pOa6oea6v+a6s+a7kOa7iua6l+a6rua6o+eFh+eFlOeFkueFo+eFoOeFgeeFneeFoueF +sueFuOeFqueFoeeFgueFmOeFg+eFi+eFsOeFn+eFkOeFk++/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/veeFhOeFjeeFmueJj+eKjeeKjOeKkeeKkOeKjueMvOeNgueM +u+eMuueNgOeNiueNieeRhOeRiueRi+eRkueRkeeRl+eRgOeRj+eRkOeRjueRgueRhueRjeeRlOeT +oeeTv+eTvueTveeUneeVueeVt+amg+eXr+eYj+eYg+eXt+eXvueXvOeXueeXuOeYkOeXu+eXtueX +reeXteeXveeameeateebneedleedn+edoOedkuedluedmuedqeedp+edlOedmeedreefoOeih+ei +mueilOeij+eihOeileeiheeihueioeeig+ehueeimeeigOeiluehu+elvOemguelveelueeokeeo +mOeomeeokueol+eoleeooueok++/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMjJdLmxlbmd0 +aDsrK2EpaWYodFsyMjJdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIyMl1bYV1dPTU2 +ODMyK2E7ZVs1NjgzMithXT10WzIyMl1bYV19dFsyMjNdPSLvv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73n +qJvnqJDnqqPnqqLnqp7nq6vnrabnraTnra3nrbTnrannrbLnraXnrbPnrbHnrbDnraHnrbjnrbbn +raPnsrLnsrTnsq/ntojntobntoDnto3ntb/ntoXntbrnto7ntbvntoPntbzntozntpTntoTntb3n +tpLnva3nvavnvafnvajnvaznvqbnvqXnvqfnv5vnv5zogKHohaTohaDohbfohZzohanohZvohaLo +hbLmnKHohZ7ohbbohafoha/vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73ohYTohaHoiJ3oiYnoiYToiYDoiYLoiYXok7HokL/okZbokbbokbnoko/oko3okaXokZHo +kYDokobokafokLDokY3okb3okZrokZnokbTokbPokZ3olIfokZ7okLfokLrokLTokbrokYPokbjo +kLLokYXokKnoj5nokYvokK/okYLokK3okZ/okbDokLnokY7okYzokZLoka/ok4Xoko7okLvokYfo +kLbokLPokajokb7okYTokKvokaDokZToka7okZDonIvonITom7fonIzom7rom5bom7XonY3om7jo +nI7onInonIHom7bonI3onIXoo5boo4voo43oo47oo57oo5voo5roo4zoo5DopoXoppvop5/op6Xo +p6Tvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjIzXS5sZW5ndGg7KythKWlmKHRbMjIzXVth +XS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMjNdW2FdXT01NzA4OCthO2VbNTcwODgrYV09 +dFsyMjNdW2FdfXRbMjI0XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+96Keh6Keg6Kei6Kec6Kem6Km2 +6KqG6Km/6Kmh6Ki/6Km36KqC6KqE6Km16KqD6KqB6Km06Km66LC86LGL6LGK6LGl6LGk6LGm6LKG +6LKE6LKF6LOM6LWo6LWp6LaR6LaM6LaO6LaP6LaN6LaT6LaU6LaQ6LaS6Lew6Leg6Les6Lex6Leu +6LeQ6Lep6Lej6Lei6Len6Ley6Ler6Le06LyG6Lu/6LyB6LyA6LyF6LyH6LyI6LyC6LyL6YGS6YC/ +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+96YGE6YGJ6YC96YSQ +6YSN6YSP6YSR6YSW6YSU6YSL6YSO6YWu6YWv6YmI6YmS6Yiw6Yi66Ymm6Yiz6Yml6Yme6YqD6Yiu +6YmK6YmG6Ymt6Yms6YmP6Ymg6Ymn6Ymv6Yi26Ymh6Ymw6Yix6YmU6Ymj6YmQ6Ymy6YmO6YmT6YmM +6YmW6Yiy6Zaf6Zac6Zae6Zab6ZqS6ZqT6ZqR6ZqX6ZuO6Zu66Zu96Zu46Zu16Z2z6Z236Z246Z2y +6aCP6aCN6aCO6aKs6aO26aO56aav6aay6aaw6aa16aqt6aqr6a2b6bOq6bOt6bOn6bqA6bu95YOm +5YOU5YOX5YOo5YOz5YOb5YOq5YOd5YOk5YOT5YOs5YOw5YOv5YOj5YOg77+9Ii5zcGxpdCgiIik7 +Zm9yKGE9MDthIT10WzIyNF0ubGVuZ3RoOysrYSlpZih0WzIyNF1bYV0uY2hhckNvZGVBdCgwKSE9 +PTY1NTMzKXtyW3RbMjI0XVthXV09NTczNDQrYTtlWzU3MzQ0K2FdPXRbMjI0XVthXX10WzIyNV09 +Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/veWHmOWKgOWKgeWLqeWLq+WMsOWOrOWYp+WYleWYjOWYkuWX +vOWYj+WYnOWYgeWYk+WYguWXuuWYneWYhOWXv+WXueWiieWhvOWikOWimOWihuWigeWhv+WhtOWi +i+WhuuWih+WikeWijuWhtuWiguWiiOWhu+WilOWij+WjvuWlq+WrnOWrruWrpeWrleWrquWrmuWr +reWrq+Wrs+WrouWroOWrm+WrrOWrnuWrneWrmeWrqOWrn+Wtt+WvoO+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veWvo+Wxo+W2guW2gOW1veW2huW1uuW2geW1t+W2 +iuW2ieW2iOW1vuW1vOW2jeW1ueW1v+W5mOW5meW5k+W7mOW7keW7l+W7juW7nOW7leW7meW7kuW7 +lOW9hOW9g+W9r+W+tuaErOaEqOaFgeaFnuaFseaFs+aFkuaFk+aFsuaFrOaGgOaFtOaFlOaFuuaF +m+aFpeaEu+aFquaFoeaFluaIqeaIp+aIq+aQq+aRjeaRm+aRneaRtOaRtuaRsuaRs+aRveaRteaR +puaSpuaRjuaSguaRnuaRnOaRi+aRk+aRoOaRkOaRv+aQv+aRrOaRq+aRmeaRpeaRt+aVs+aWoOaa +oeaaoOaan+acheachOacouamseamtuanie+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMjVd +Lmxlbmd0aDsrK2EpaWYodFsyMjVdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIyNV1b +YV1dPTU3NjAwK2E7ZVs1NzYwMCthXT10WzIyNV1bYV19dFsyMjZdPSLvv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73mpqDmp47mppbmprDmpqzmprzmppHmppnmpo7mpqfmpo3mpqnmpr7mpq/mpr/mp4Tmpr3m +pqTmp5Tmprnmp4rmpprmp4/mprPmppPmpqrmpqHmpp7mp5nmppfmppDmp4LmprXmpqXmp4bmrYrm +rY3mrYvmrp7mrp/mrqDmr4Pmr4Tmr77mu47mu7Xmu7HmvIPmvKXmu7jmvLfmu7vmvK7mvInmvY7m +vJnmvJrmvKfmvJjmvLvmvJLmu63mvIrvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73mvLbmvbPmu7nmu67mvK3mvYDmvLDmvLzmvLXmu6vmvIfmvI7mvYPmvIXmu73m +u7bmvLnmvJzmu7zmvLrmvJ/mvI3mvJ7mvIjmvKHnhofnhpDnhonnhoDnhoXnhoLnho/nhbvnhobn +hoHnhpfniYTniZPnipfnipXnipPnjYPnjY3njZHnjYznkaLnkbPnkbHnkbXnkbLnkafnka7nlIDn +lILnlIPnlb3nlpDnmJbnmIjnmIznmJXnmJHnmIrnmJTnmrjnnoHnnbznnoXnnoLnna7nnoDnna/n +nb7nnoPnorLnoqrnorTnoq3noqjnob7noqvnop7noqXnoqDnoqznoqLnoqTnppjnpornpovnppbn +ppXnppTnppPvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjI2XS5sZW5ndGg7KythKWlmKHRb +MjI2XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMjZdW2FdXT01Nzg1NithO2VbNTc4 +NTYrYV09dFsyMjZdW2FdfXRbMjI3XT0i77+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+956aX56aI56aS56aQ +56ir56mK56iw56iv56io56im56qo56qr56qs56uu566I566c566K566R566Q566W566N566M566b +566O566F566Y5YqE566Z566k566C57K757K/57K857K657an57a357eC57aj57aq57eB57eA57eF +57ad57eO57eE57eG57eL57eM57av57a557aW57a857af57am57au57ap57ah57eJ572z57+i57+j +57+l57+e77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+96ICk6IGd +6IGc6IaJ6IaG6IaD6IaH6IaN6IaM6IaL6IiV6JKX6JKk6JKh6JKf6JK66JOO6JOC6JKs6JKu6JKr +6JK56JK06JOB6JON6JKq6JKa6JKx6JOQ6JKd6JKn6JK76JKi6JKU6JOH6JOM6JKb6JKp6JKv6JKo +6JOW6JKY6JK26JOP6JKg6JOX6JOU6JOS6JOb6JKw6JKR6Jmh6Jyz6Jyj6Jyo6J2r6J2A6Jyu6Jye +6Jyh6JyZ6Jyb6J2D6Jys6J2B6Jy+6J2G6Jyg6Jyy6Jyq6Jyt6Jy86JyS6Jy66Jyx6Jy16J2C6Jym +6Jyn6Jy46Jyk6Jya6Jyw6JyR6KO36KOn6KOx6KOy6KO66KO+6KOu6KO86KO26KO777+9Ii5zcGxp +dCgiIik7Zm9yKGE9MDthIT10WzIyN10ubGVuZ3RoOysrYSlpZih0WzIyN11bYV0uY2hhckNvZGVB +dCgwKSE9PTY1NTMzKXtyW3RbMjI3XVthXV09NTgxMTIrYTtlWzU4MTEyK2FdPXRbMjI3XVthXX10 +WzIyOF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veijsOijrOijq+imneimoeimn+imnuinqeinq+in +qOiqq+iqmeiqi+iqkuiqj+iqluiwveixqOixqeizleizj+izl+i2lui4iei4gui3v+i4jei3vei4 +iui4g+i4h+i4hui4hei3vui4gOi4hOi8kOi8kei8jui8jemEo+mEnOmEoOmEoumEn+mEnemEmumE +pOmEoemEm+mFuumFsumFuemFs+mKpemKpOmJtumKm+mJuumKoOmKlOmKqumKje+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vemKpumKmumKq+mJuemKl+mJv+mKo+mL +rumKjumKgumKlemKoumJvemKiOmKoemKiumKhumKjOmKmemKp+mJvumKh+mKqemKnemKi+mIrema +numaoembv+mdmOmdvemduumdvumeg+megOmegumdu+mehOmegemdv+mfjumfjemglumiremirumk +gumkgOmkh+mmnemmnOmng+mmuemmu+mmuumngummvemnh+mqsemro+mrp+msvumsv+mtoOmtoemt +n+mzsemzsumztem6p+WDv+WEg+WEsOWDuOWEhuWEh+WDtuWDvuWEi+WEjOWDveWEiuWKi+WKjOWL +seWLr+WZiOWZguWZjOWYteWZgeWZiuWZieWZhuWZmO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9 +dFsyMjhdLmxlbmd0aDsrK2EpaWYodFsyMjhdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0 +WzIyOF1bYV1dPTU4MzY4K2E7ZVs1ODM2OCthXT10WzIyOF1bYV19dFsyMjldPSLvv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73lmZrlmYDlmLPlmL3lmKzlmL7lmLjlmKrlmLrlnJrloqvlop3lorHloqDloqPl +oq/loqzloqXloqHlo7/lq7/lq7Tlq73lq7flq7blrIPlq7jlrILlq7nlrIHlrIflrIXlrI/lsafl +tpnltpfltp/ltpLltqLltpPltpXltqDltpzltqHltprltp7luanluZ3luaDluZznt7Plu5vlu57l +u6HlvYnlvrLmhovmhoPmhbnmhrHmhrDmhqLmhonvv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73mhpvmhpPmhq/mhq3mhp/mhpLmhqrmhqHmho3mhabmhrPmiK3mka7m +kbDmkpbmkqDmkoXmkpfmkpzmko/mkovmkormkozmkqPmkp/mkajmkrHmkpjmlbbmlbrmlbnmlbvm +lrLmlrPmmrXmmrDmmqnmmrLmmrfmmqrmmq/mqIDmqIbmqJfmp6Xmp7jmqJXmp7Hmp6TmqKDmp7/m +p6zmp6LmqJvmqJ3mp77mqKfmp7Lmp67mqJTmp7fmp6fmqYDmqIjmp6bmp7vmqI3mp7zmp6vmqInm +qITmqJjmqKXmqI/mp7bmqKbmqIfmp7TmqJbmrZHmrqXmrqPmrqLmrqbmsIHmsIDmr7/msILmvYHm +vKbmvb7mvofmv4bmvpLvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjI5XS5sZW5ndGg7Kyth +KWlmKHRbMjI5XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMjldW2FdXT01ODYyNCth +O2VbNTg2MjQrYV09dFsyMjldW2FdfXRbMjMwXT0i77+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+95r6N5r6J +5r6M5r2i5r2P5r6F5r2a5r6W5r225r2s5r6C5r2V5r2y5r2S5r2Q5r2X5r6U5r6T5r2d5ryA5r2h +5r2r5r295r2n5r6Q5r2T5r6L5r2p5r2/5r6V5r2j5r235r2q5r2754ay54av54ab54aw54ag54aa +54ap54a154ad54al54ae54ak54ah54aq54ac54an54az54qY54qa542Y542S542e542f542g542d +542b542h542a542Z77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +542i55KH55KJ55KK55KG55KB55G955KF55KI55G855G555SI55SH55W+55il55ie55iZ55id55ic +55ij55ia55io55ib55qc55qd55qe55qb556N556P556J556I56ON56K756OP56OM56OR56OO56OU +56OI56OD56OE56OJ56aa56ah56ag56ac56ai56ab5q2256i556qy56q056qz566356+L566+566s +56+O566v566556+K566157OF57OI57OM57OL57e357eb57eq57en57eX57eh57iD57e657em57e2 +57ex57ew57eu57ef5722576s576w576t57+t57+r57+q57+s57+m57+o6IGk6IGn6Iaj6Iaf77+9 +Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIzMF0ubGVuZ3RoOysrYSlpZih0WzIzMF1bYV0uY2hh +ckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjMwXVthXV09NTg4ODArYTtlWzU4ODgwK2FdPXRbMjMw +XVthXX10WzIzMV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veiGnuiGleiGouiGmeiGl+iIluiJj+iJ +k+iJkuiJkOiJjuiJkeiUpOiUu+iUj+iUgOiUqeiUjuiUieiUjeiUn+iUiuiUp+iUnOiTu+iUq+iT +uuiUiOiUjOiTtOiUquiTsuiUleiTt+iTq+iTs+iTvOiUkuiTquiTqeiUluiTvuiUqOiUneiUruiU +guiTveiUnuiTtuiUseiUpuiTp+iTqOiTsOiTr+iTueiUmOiUoOiUsOiUi+iUmeiUr+iZou+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veidluido+idpOidt+ifoeid +s+idmOidlOidm+idkuidoeidmuidkeidnuidreidquidkOidjuidn+idneidr+idrOiduuidruid +nOidpeidj+idu+idteidouidp+idqeihmuikheikjOiklOiki+ikl+ikmOikmeikhuikluikkeik +juikieimouimpOimo+inreinsOinrOirj+irhuiquOirk+irkeirlOirleiqu+irl+iqvuirgOir +heirmOirg+iquuiqveirmeiwvuixjeiyj+izpeizn+izmeizqOizmuizneizp+i2oOi2nOi2oei2 +m+i4oOi4o+i4pei4pOi4rui4lei4m+i4lui4kei4mei4pui4p++/vSIuc3BsaXQoIiIpO2Zvcihh +PTA7YSE9dFsyMzFdLmxlbmd0aDsrK2EpaWYodFsyMzFdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUz +Myl7clt0WzIzMV1bYV1dPTU5MTM2K2E7ZVs1OTEzNithXT10WzIzMV1bYV19dFsyMzJdPSLvv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73ouJTouJLouJjouJPouJzouJfouJrovKzovKTovJjovJrovKDovKPo +vJbovJfpgbPpgbDpga/pgafpgavphK/phKvphKnphKrphLLphKbphK7phoXphobphorphoHphoLp +hoTphoDpi5Dpi4Ppi4Tpi4Dpi5npirbpi4/pi7Hpi5/pi5jpi6npi5fpi53pi4zpi6/pi4Lpi6jp +i4rpi4jpi47pi6bpi43pi5Xpi4npi6Dpi57pi6fpi5Hpi5Pvv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73pirXpi6Hpi4bpirTplbzplqzplqvplq7plrDpmqTpmqLp +m5PpnIXpnIjpnILpnZrpnorpno7pnojpn5Dpn4/poJ7poJ3poKbpoKnpoKjpoKDpoJvpoKfporLp +pIjpo7rppJHppJTppJbppJfppJXpp5zpp43pp4/pp5Ppp5Tpp47pp4npp5bpp5jpp4vpp5fpp4zp +qrPpq6zpq6vpq7Ppq7Lpq7HprYbprYPprafprbTprbHprabprbbprbXprbDprajpraTprazps7zp +s7rps73ps7/ps7fptIfptIDps7nps7vptIjptIXptITpuoPpu5PpvI/pvJDlhJzlhJPlhJflhJrl +hJHlh57ljLTlj6HlmbDlmaDlma7vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjMyXS5sZW5n +dGg7KythKWlmKHRbMjMyXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMzJdW2FdXT01 +OTM5MithO2VbNTkzOTIrYV09dFsyMzJdW2FdfXRbMjMzXT0i77+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +5Zmz5Zmm5Zmj5Zmt5Zmy5Zme5Zm35Zyc5Zyb5aOI5aK95aOJ5aK/5aK65aOC5aK85aOG5ayX5ayZ +5ayb5ayh5ayU5ayT5ayQ5ayW5ayo5aya5ayg5aye5a+v5bas5bax5bap5ban5ba15baw5bau5baq +5bao5bay5bat5bav5ba05bmn5bmo5bmm5bmv5bup5bun5bum5buo5bul5b2L5b685oad5oao5oaW +5oeF5oa05oeG5oeB5oeM5oa677+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+95oa/5oa45oaM5pOX5pOW5pOQ5pOP5pOJ5pK95pKJ5pOD5pOb5pOz5pOZ5pSz5pW/5pW8 +5pai5puI5pq+5puA5puK5puL5puP5pq95pq75pq65puM5pyj5qi05qmm5qmJ5qmn5qiy5qmo5qi+ +5qmd5qmt5qm25qmb5qmR5qio5qma5qi75qi/5qmB5qmq5qmk5qmQ5qmP5qmU5qmv5qmp5qmg5qi8 +5qme5qmW5qmV5qmN5qmO5qmG5q2V5q2U5q2W5q6n5q6q5q6r5q+I5q+H5rCE5rCD5rCG5r6t5r+L +5r6j5r+H5r685r+O5r+I5r2e5r+E5r695r6e5r+K5r6o54CE5r6l5r6u5r665r6s5r6q5r+P5r6/ +5r6477+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIzM10ubGVuZ3RoOysrYSlpZih0WzIzM11b +YV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjMzXVthXV09NTk2NDgrYTtlWzU5NjQ4K2Fd +PXRbMjMzXVthXX10WzIzNF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vea+oua/iea+q+a/jea+r+a+ +sua+sOeHheeHgueGv+eGuOeHlueHgOeHgeeHi+eHlOeHiueHh+eHj+eGveeHmOeGvOeHhueHmueH +m+eKneeKnueNqeeNpueNp+eNrOeNpeeNq+eNqueRv+eSmueSoOeSlOeSkueSleeSoeeUi+eWgOeY +r+eYreeYseeYveeYs+eYvOeYteeYsueYsOeau+ebpueemueeneeeoeeenOeem+eeoueeo+eeleee +me+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veeel+ejneejqeej +peejquejnuejo+ejm+ejoeejouejreejn+ejoOempOephOepiOeph+eqtuequOeqteeqseeqt+ev +nuevo+evp+evneevleevpeevmuevqOevueevlOevquevouevnOevq+evmOevn+ezkuezlOezl+ez +kOezkee4kue4oee4l+e4jOe4n+e4oOe4k+e4jue4nOe4lee4mue4oue4i+e4j+e4lue4jee4lOe4 +pee4pOe9g+e9u+e9vOe9uue+see/r+iAquiAqeiBrOiGseiGpuiGruiGueiGteiGq+iGsOiGrOiG +tOiGsuiGt+iGp+iHsuiJleiJluiJl+iVluiVheiVq+iVjeiVk+iVoeiVmO+/vSIuc3BsaXQoIiIp +O2ZvcihhPTA7YSE9dFsyMzRdLmxlbmd0aDsrK2EpaWYodFsyMzRdW2FdLmNoYXJDb2RlQXQoMCkh +PT02NTUzMyl7clt0WzIzNF1bYV1dPTU5OTA0K2E7ZVs1OTkwNCthXT10WzIzNF1bYV19dFsyMzVd +PSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73olYDolYbolaTolYHolaLolYTolZHolYfolaPolL7olZvo +lbHolY7ola7olbXolZXolafolaDolozolabolZ3olZTolaXolazomaPomaXomaTonpvono/onpfo +npPonpLonojonoHonpbonpjonbnonofonqPonoXonpDonpHonp3onoTonpTonpzonprononopJ7o +pKbopLDopK3opK7opKfopLHopKLopKnopKPopK/opKzopJ/op7Hoq6Dvv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73oq6Loq7Loq7Toq7Xoq53orJToq6Toq5/oq7Do +q4joq57oq6Hoq6joq7/oq6/oq7vospHospLospDos7Xos67os7Hos7Dos7Potazota7otqXotqfo +uLPouL7ouLjouYDouYXouLbouLzouL3ouYHouLDouL/our3ovLbovK7ovLXovLLovLnovLfovLTp +gbbpgbnpgbvpgobpg7rphLPphLXphLbphpPphpDphpHpho3pho/pjKfpjJ7pjIjpjJ/pjIbpjI/p +jbrpjLjpjLzpjJvpjKPpjJLpjIHpjYbpjK3pjI7pjI3pi4vpjJ3pi7rpjKXpjJPpi7npi7fpjLTp +jILpjKTpi7/pjKnpjLnpjLXpjKrpjJTpjIzvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjM1 +XS5sZW5ndGg7KythKWlmKHRbMjM1XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMzVd +W2FdXT02MDE2MCthO2VbNjAxNjArYV09dFsyMzVdW2FdfXRbMjM2XT0i77+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+96YyL6Yu+6YyJ6YyA6Yu76YyW6Za86ZeN6Za+6Za56Za66Za26Za/6Za16Za96Zqp6ZuU +6ZyL6ZyS6ZyQ6Z6Z6Z6X6Z6U6Z+w6Z+46aC16aCv6aCy6aSk6aSf6aSn6aSp6aae6aeu6aes6ael +6aek6aew6aej6aeq6aep6aen6aq56aq/6aq06aq76au26au66au56au36ayz6a6A6a6F6a6H6a28 +6a2+6a276a6C6a6T6a6S6a6Q6a266a6V77+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+96a296a6I6bSl6bSX6bSg6bSe6bSU6bSp6bSd6bSY6bSi6bSQ6bSZ6bSf6bqI +6bqG6bqH6bqu6bqt6buV6buW6bu66byS6by95YSm5YSl5YSi5YSk5YSg5YSp5Yu05ZqT5ZqM5ZqN +5ZqG5ZqE5ZqD5Zm+5ZqC5Zm/5ZqB5aOW5aOU5aOP5aOS5ayt5ayl5ayy5ayj5ays5ayn5aym5ayv +5ayu5a275a+x5a+y5ba35bms5bmq5b6+5b675oeD5oa15oa85oen5oeg5oel5oek5oeo5oee5pOv +5pOp5pOj5pOr5pOk5pOo5paB5paA5pa25pea5puS5qqN5qqW5qqB5qql5qqJ5qqf5qqb5qqh5qqe +5qqH5qqT5qqO77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIzNl0ubGVuZ3RoOysrYSlpZih0 +WzIzNl1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjM2XVthXV09NjA0MTYrYTtlWzYw +NDE2K2FdPXRbMjM2XVthXX10WzIzN109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veaqleaqg+aqqOaq +pOaqkeapv+aqpuaqmuaqheaqjOaqkuatm+aureawiea/jOa+qea/tOa/lOa/o+a/nOa/rea/p+a/ +pua/nua/sua/nea/oua/qOeHoeeHseeHqOeHsueHpOeHsOeHoueNs+eNrueNr+eSl+eSsueSq+eS +kOeSqueSreeSseeSpeeSr+eUkOeUkeeUkueUj+eWhOeZg+eZiOeZieeZh+eapOebqeeeteeeq+ee +sueet+eetu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veeetOee +seeeqOefsOejs+ejveekgueju+ejvOejsuekheejueejvuekhOemq+emqOepnOepm+epluepmOep +lOepmueqvuergOergeewheewj+evsuewgOevv+evu+ewjuevtOewi+evs+ewguewieewg+ewgeev +uOevveewhuevsOevseewkOewiuezqOe4ree4vOe5gue4s+mhiOe4uOe4que5iee5gOe5h+e4qee5 +jOe4sOe4u+e4tue5hOe4uue9hee9v+e9vue9vee/tOe/suiArOiGu+iHhOiHjOiHiuiHheiHh+iG +vOiHqeiJm+iJmuiJnOiWg+iWgOiWj+iWp+iWleiWoOiWi+iWo+iVu+iWpOiWmuiWnu+/vSIuc3Bs +aXQoIiIpO2ZvcihhPTA7YSE9dFsyMzddLmxlbmd0aDsrK2EpaWYodFsyMzddW2FdLmNoYXJDb2Rl +QXQoMCkhPT02NTUzMyl7clt0WzIzN11bYV1dPTYwNjcyK2E7ZVs2MDY3MithXT10WzIzN11bYV19 +dFsyMzhdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73olbfolbzolonolqHolbrolbjolZfolo7olpbo +lobolo3olpnolp3oloHolqLoloLolojoloXolbnolbbolpjolpDolp/omajonr7onqronq3on4Xo +nrDonqzonrnonrXonrzonq7on4non4Pon4Lon4zonrfonq/on4Ton4ronrTonrbonr/onrjonr3o +n57onrLopLXopLPopLzopL7opYHopZLopLfopYLopq3opq/opq7op7Lop7PorJ7vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73orJjorJborJHorIXorIvorKLorI/o +rJLorJXorIforI3orIjorIborJzorJPorJrosY/osbDosbLosbHosa/ospXospTos7nota/ouY7o +uY3ouZPouZDouYzouYfovYPovYDpgoXpgb7phLjphprphqLphpvphpnphp/phqHphp3phqDpjqHp +joPpjq/pjaTpjZbpjYfpjbzpjZjpjZzpjbbpjYnpjZDpjZHpjaDpja3pjo/pjYzpjarpjbnpjZfp +jZXpjZLpjY/pjbHpjbfpjbvpjaHpjZ7pjaPpjafpjoDpjY7pjZnpl4fpl4Dpl4npl4Ppl4Xplrfp +mq7pmrDpmqzpnKDpnJ/pnJjpnJ3pnJnpnprpnqHpnpzvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2Eh +PXRbMjM4XS5sZW5ndGg7KythKWlmKHRbMjM4XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3Jb +dFsyMzhdW2FdXT02MDkyOCthO2VbNjA5MjgrYV09dFsyMzhdW2FdfXRbMjM5XT0i77+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+96Z6e6Z6d6Z+V6Z+U6Z+x6aGB6aGE6aGK6aGJ6aGF6aGD6aSl6aSr6aSs6aSq +6aSz6aSy6aSv6aSt6aSx6aSw6aaY6aaj6aah6aiC6ae66ae06ae36ae56ae46ae26ae76ae96ae+ +6ae86aiD6aq+6au+6au96ayB6au86a2I6a6a6a6o6a6e6a6b6a6m6a6h6a6l6a6k6a6G6a6i6a6g +6a6v6bSz6bWB6bWn6bS26bSu6bSv6bSx6bS46bSw77+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+96bWF6bWC6bWD6bS+6bS36bWA6bS957+16bSt6bqK6bqJ6bqN6bqw +6buI6bua6bu76bu/6byk6byj6byi6b2U6b6g5YSx5YSt5YSu5ZqY5Zqc5ZqX5Zqa5Zqd5ZqZ5aWw +5ay85bGp5bGq5beA5bmt5bmu5oeY5oef5oet5oeu5oex5oeq5oew5oer5oeW5oep5pO/5pSE5pO9 +5pO45pSB5pSD5pO85paU5peb5pua5pub5puY5quF5qq55qq95quh5quG5qq65qq25qq35quH5qq0 +5qqt5q2e5q+J5rCL54CH54CM54CN54CB54CF54CU54CO5r+/54CA5r+754Cm5r+85r+354CK54iB +54e/54e554iD54e9542277+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIzOV0ubGVuZ3RoOysr +YSlpZih0WzIzOV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjM5XVthXV09NjExODQr +YTtlWzYxMTg0K2FdPXRbMjM5XVthXX10WzI0MF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veeSuOeT +gOeSteeTgeeSvueStueSu+eTgueUlOeUk+eZnOeZpOeZmeeZkOeZk+eZl+eZmueapueaveebrOef +gueeuuejv+ekjOekk+eklOekieekkOekkuekkeemreemrOepn+ewnOewqeewmeewoOewn+ewreew +neewpuewqOewouewpeewsOe5nOe5kOe5lue5o+e5mOe5oue5n+e5kee5oOe5l+e5k+e+tee+s+e/ +t+e/uOiBteiHkeiHku+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +veiHkOiJn+iJnuiWtOiXhuiXgOiXg+iXguiWs+iWteiWveiXh+iXhOiWv+iXi+iXjuiXiOiXheiW +seiWtuiXkuiYpOiWuOiWt+iWvuiZqeifp+ifpuifouifm+ifq+ifquifpeifn+ifs+ifpOiflOif +nOifk+ifreifmOifo+iepOifl+ifmeiggeiftOifqOifneilk+ili+ilj+iljOilhuilkOilkeil +ieisquisp+iso+iss+issOisteith+isr+isvOisvuisseispeist+ispuistuisruispOisu+is +veisuuixguixteiymeiymOiyl+izvui0hOi0gui0gOi5nOi5oui5oOi5l+i5lui5nui5pei5p++/ +vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyNDBdLmxlbmd0aDsrK2EpaWYodFsyNDBdW2FdLmNo +YXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzI0MF1bYV1dPTYxNDQwK2E7ZVs2MTQ0MCthXT10WzI0 +MF1bYV19dFsyNDFdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73ouZvouZrouaHouZ3ouanouZTovYbo +vYfovYjovYvphKjphLrphLvphL7phqjphqXphqfphq/phqrpjrXpjozpjpLpjrfpjpvpjp3pjonp +jqfpjo7pjqrpjp7pjqbpjpXpjojpjpnpjp/pjo3pjrHpjpHpjrLpjqTpjqjpjrTpjqPpjqXpl5Lp +l5Ppl5HpmrPpm5fpm5rlt4Lpm5/pm5jpm53pnKPpnKLpnKXpnqzpnq7pnqjpnqvpnqTpnqrvv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73pnqLpnqXpn5fpn5npn5bp +n5jpn7rpoZDpoZHpoZLporjppYHppLzppLrpqI/pqIvpqInpqI3pqITpqJHpqIrpqIXpqIfpqIbp +q4Dpq5zprIjprITprIXprKnprLXprYrprYzprYvpr4fpr4bpr4Pprr/pr4HprrXprrjpr5Pprrbp +r4Tprrnprr3ptZzptZPptY/ptYrptZvptYvptZnptZbptYzptZfptZLptZTptZ/ptZjptZrpuo7p +uozpu5/pvIHpvIDpvJbpvKXpvKvpvKrpvKnpvKjpvYzpvZXlhLTlhLXlipbli7fljrTlmqvlmq3l +mqblmqflmqrlmqzlo5rlo53lo5vlpJLlrL3lrL7lrL/lt4PlubDvv70iLnNwbGl0KCIiKTtmb3Io +YT0wO2EhPXRbMjQxXS5sZW5ndGg7KythKWlmKHRbMjQxXVthXS5jaGFyQ29kZUF0KDApIT09NjU1 +MzMpe3JbdFsyNDFdW2FdXT02MTY5NithO2VbNjE2OTYrYV09dFsyNDFdW2FdfXRbMjQyXT0i77+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+95b6/5oe75pSH5pSQ5pSN5pSJ5pSM5pSO5paE5pee5ped5pue5qun +5qug5quM5quR5quZ5quL5quf5quc5quQ5qur5quP5quN5que5q2g5q6w5rCM54CZ54Cn54Cg54CW +54Cr54Ch54Ci54Cj54Cp54CX54Ck54Cc54Cq54iM54iK54iH54iC54iF54ql54qm54qk54qj54qh +55OL55OF55K355OD55SW55mg55+J55+K55+E55+x56Sd56Sb77+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+956Sh56Sc56SX56Se56aw56mn56mo57Cz57C857C557Cs +57C757Os57Oq57m257m157m457mw57m357mv57m657my57m057mo572L572K576D576G576357+9 +57++6IG46IeX6IeV6Imk6Imh6Imj6Jer6Jex6Jet6JeZ6Jeh6Jeo6Jea6JeX6Jes6Jey6Je46JeY +6Jef6Jej6Jec6JeR6Jew6Jem6Jev6Jee6Jei6KCA6J+66KCD6J+26J+36KCJ6KCM6KCL6KCG6J+8 +6KCI6J+/6KCK6KCC6KWi6KWa6KWb6KWX6KWh6KWc6KWY6KWd6KWZ6KaI6Ka36Ka26Ke26K2Q6K2I +6K2K6K2A6K2T6K2W6K2U6K2L6K2V77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzI0Ml0ubGVu +Z3RoOysrYSlpZih0WzI0Ml1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjQyXVthXV09 +NjE5NTIrYTtlWzYxOTUyK2FdPXRbMjQyXVthXX10WzI0M109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +veitkeitguitkuitl+ixg+ixt+ixtuiymui0hui0h+i0iei2rOi2qui2rei2q+i5rei5uOi5s+i5 +qui5r+i5u+i7gui9kui9kei9j+i9kOi9k+i+tOmFgOmEv+mGsOmGremPnumPh+mPj+mPgumPmumP +kOmPuemPrOmPjOmPmemOqemPpumPiumPlOmPrumPo+mPlemPhOmPjumPgOmPkumPp+mVvemXmumX +m+mboemcqemcq+mcrOmcqOmcpu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/vemes+met+metumfnemfnumfn+mhnOmhmemhnemhl+miv+mivemiu+mivumliOmlh+ml +g+mmpummp+momumolemopemonemopOmom+mooumooOmop+moo+monumonOmolOmrgumsi+msiums +jumsjOmst+mvqumvq+mvoOmvnumvpOmvpumvoumvsOmvlOmvl+mvrOmvnOmvmemvpemvlemvoemv +mum1t+m2gem2ium2hOm2iOm1sem2gOm1uOm2hum2i+m2jOm1vem1q+m1tOm1tem1sOm1qem2hem1 +s+m1u+m2gum1r+m1uem1v+m2h+m1qOm6lOm6kem7gOm7vOm8rem9gOm9gem9jem9lum9l+m9mOWM +t+Wasu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyNDNdLmxlbmd0aDsrK2EpaWYodFsyNDNd +W2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzI0M11bYV1dPTYyMjA4K2E7ZVs2MjIwOCth +XT10WzI0M11bYV19dFsyNDRdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73lmrXlmrPlo6PlrYXlt4bl +t4flu67lu6/lv4Dlv4Hmh7nmlJfmlJbmlJXmlJPml5/mm6jmm6Pmm6Tmq7Pmq7Dmq6rmq6jmq7nm +q7Hmq67mq6/ngLzngLXngK/ngLfngLTngLHngYLngLjngL/ngLrngLnngYDngLvngLPngYHniJPn +iJTniqjnjb3njbznkrrnmqvnmqrnmr7nm63nn4znn47nn4/nn43nn7LnpKXnpKPnpKfnpKjnpKTn +pKnvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73nprLnqa7nqazn +qa3nq7fnsYnnsYjnsYrnsYfnsYXns67nubvnub7nuoHnuoDnvrrnv7/ogbnoh5voh5noiIvoiajo +ianomKLol7/omIHol77omJvomIDol7bomITomInomIXomIzol73ooJnooJDooJHooJfooJPooJbo +paPopaboprnop7foraDorarorZ3orajoraPoraXorafora3otq7ouobouojouoTovZnovZbovZfo +vZXovZjovZrpgo3phYPphYHphrfphrXphrLphrPpkIvpkJPpj7vpkKDpkI/pkJTpj77pkJXpkJDp +kKjpkJnpkI3pj7XpkIDpj7fpkIfpkI7pkJbpkJLpj7rpkInpj7jpkIrpj7/vv70iLnNwbGl0KCIi +KTtmb3IoYT0wO2EhPXRbMjQ0XS5sZW5ndGg7KythKWlmKHRbMjQ0XVthXS5jaGFyQ29kZUF0KDAp +IT09NjU1MzMpe3JbdFsyNDRdW2FdXT02MjQ2NCthO2VbNjI0NjQrYV09dFsyNDRdW2FdfXRbMjQ1 +XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+96Y+86ZCM6Y+26ZCR6ZCG6Zee6Zeg6Zef6Zyu6Zyv6Z65 +6Z676Z+96Z++6aGg6aGi6aGj6aGf6aOB6aOC6aWQ6aWO6aWZ6aWM6aWL6aWT6aiy6ai06aix6ais +6aiq6ai26aip6aiu6ai46ait6auH6auK6auG6ayQ6ayS6ayR6bCL6bCI6a+36bCF6bCS6a+46bGA +6bCH6bCO6bCG6bCX6bCU6bCJ6baf6baZ6bak6bad6baS6baY6baQ6bab77+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+96bag6baU6bac6baq6baX6bah6baa6bai6bao +6bae6baj6ba/6bap6baW6bam6ban6bqZ6bqb6bqa6bul6buk6bun6bum6byw6byu6b2b6b2g6b2e +6b2d6b2Z6b6R5YS65YS55YqY5YqX5ZuD5Zq95Zq+5a2I5a2H5beL5beP5bux5oe95pSb5qyC5qu8 +5qyD5qu45qyA54GD54GE54GK54GI54GJ54GF54GG54id54ia54iZ542+55SX55mq55+Q56St56Sx +56Sv57GU57GT57Oy57qK57qH57qI57qL57qG57qN572N57676ICw6Ied6JiY6Jiq6Jim6Jif6Jij +6Jic6JiZ6Jin6Jiu6Jih6Jig6Jip6Jie6Jil77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzI0 +NV0ubGVuZ3RoOysrYSlpZih0WzI0NV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjQ1 +XVthXV09NjI3MjArYTtlWzYyNzIwK2FdPXRbMjQ1XVthXX10WzI0Nl09Iu+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/veigqeigneigm+igoOigpOignOigq+ihiuilreilqeilruilq+inuuitueituOitheit +uuitu+i0kOi0lOi2r+i6jui6jOi9nui9m+i9nemFhumFhOmFhemGuemQv+mQu+mQtumQqemQvemQ +vOmQsOmQuemQqumQt+mQrOmRgOmQsemXpemXpOmXo+mctemcuumev+mfoemhpOmjiemjhumjgOml +mOmllumouemovemphumphOmpgumpgemouu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/vemov+mrjemslemsl+msmOmslumsuumtkumwq+mwnemwnOmwrOmwo+mwqOmw +qemwpOmwoem2t+m2tum2vOm3gem3h+m3ium3j+m2vum3hem3g+m2u+m2tem3jum2uem2uum2rOm3 +iOm2sem2rem3jOm2s+m3jem2sum5uum6nOm7q+m7rum7rem8m+m8mOm8mum8sem9jum9pem9pOm+ +kuS6ueWbhuWbheWbi+WlseWti+WtjOW3leW3keW7suaUoeaUoOaUpuaUouasi+asiOasieawjeeB +leeBlueBl+eBkueInueIn+eKqeeNv+eTmOeTleeTmeeTl+eZreeareekteemtOepsOepseexl+ex +nOexmeexm+exmu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyNDZdLmxlbmd0aDsrK2EpaWYo +dFsyNDZdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzI0Nl1bYV1dPTYyOTc2K2E7ZVs2 +Mjk3NithXT10WzI0Nl1bYV19dFsyNDddPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73ns7Tns7HnupHn +vY/nvofoh57oiavomLTomLXomLPomKzomLLomLbooKzooKjooKbooKrooKXopbHopr/opr7op7vo +rb7oroToroLoroboroXorb/otJXoupXoupTouproupLoupDoupboupfovaDovaLphYfpkYzpkZDp +kYrpkYvpkY/pkYfpkYXpkYjpkYnpkYbpnL/pn6Ppoarpoanpo4vppZTppZvpqY7pqZPpqZTpqYzp +qY/pqYjpqYrvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73pqYnp +qZLpqZDpq5DprJnprKvprLvprZbprZXpsYbpsYjpsL/psYTpsLnpsLPpsYHpsLzpsLfpsLTpsLLp +sL3psLbpt5vpt5Lpt57pt5rpt4vpt5Dpt5zpt5Hpt5/pt6npt5npt5jpt5bpt7Xpt5Xpt53purbp +u7DpvLXpvLPpvLLpvYLpvavpvpXpvqLlhL3lipnlo6jlo6flpbLlrY3lt5jooK/lvY/miIHmiIPm +iITmlKnmlKXmlpbmm6vmrJHmrJLmrI/mr4rngZvngZrniKLnjoLnjoHnjoPnmbDnn5Tnsafnsabn +upXoiazomLromYDomLnomLzomLHomLvomL7ooLDooLLooK7ooLPopbbopbTopbPop77vv70iLnNw +bGl0KCIiKTtmb3IoYT0wO2EhPXRbMjQ3XS5sZW5ndGg7KythKWlmKHRbMjQ3XVthXS5jaGFyQ29k +ZUF0KDApIT09NjU1MzMpe3JbdFsyNDddW2FdXT02MzIzMithO2VbNjMyMzIrYV09dFsyNDddW2Fd +fXRbMjQ4XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+96K6M6K6O6K6L6K6I6LGF6LSZ6LqY6L2k6L2j +6Ya86ZGi6ZGV6ZGd6ZGX6ZGe6Z+E6Z+F6aCA6amW6amZ6aye6ayf6ayg6bGS6bGY6bGQ6bGK6bGN +6bGL6bGV6bGZ6bGM6bGO6be76be36bev6bej6ber6be46bek6be26beh6beu6bem6bey6bew6bei +6bes6be06bez6beo6bet6buC6buQ6buy6buz6byG6byc6by46by36by26b2D6b2P77+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+96b2x6b2w6b2u6b2v5ZuT5ZuN5a2O +5bGt5pSt5put5puu5qyT54Gf54Gh54Gd54Gg54ij55Ob55Ol55+V56S456a356a257Gq57qX576J +6Imt6JmD6KC46KC36KC16KGL6K6U6K6V6Lqe6Lqf6Lqg6Lqd6Ya+6Ya96YeC6ZGr6ZGo6ZGp6Zul +6Z2G6Z2D6Z2H6Z+H6Z+l6ame6auV6a2Z6bGj6bGn6bGm6bGi6bGe6bGg6biC6be+6biH6biD6biG +6biF6biA6biB6biJ6be/6be96biE6bqg6bye6b2G6b206b216b225ZuU5pSu5pa45qyY5qyZ5qyX +5qya54Gi54im54qq55+Y55+Z56S557Gp57Gr57O257qa77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDth +IT10WzI0OF0ubGVuZ3RoOysrYSlpZih0WzI0OF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXty +W3RbMjQ4XVthXV09NjM0ODgrYTtlWzYzNDg4K2FdPXRbMjQ4XVthXX10WzI0OV09Iu+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/vee6mOe6m+e6meiHoOiHoeiZhuiZh+iZiOilueiluuilvOilu+inv+iumOiu +mei6pei6pOi6o+mRrumRremRr+mRsemRs+mdiemhsumln+mxqOmxrumxrem4i+m4jem4kOm4j+m4 +kum4kem6oem7tem8iem9h+m9uOm9u+m9uum9ueWcnueBpuexr+igvOi2sui6pumHg+mRtOmRuOmR +tumRtempoOmxtOmxs+mxsemxtem4lOm4k+m7tum8iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/vem+pOeBqOeBpeezt+iZquigvuigveigv+iunuiynOi6qei7iemd +i+mhs+mhtOmjjOmloemmq+mppOmppumpp+mspOm4lem4l+m9iOaIh+asnueIp+iZjOi6qOmSgumS +gOmSgempqempqOmsrum4meeIqeiZi+iun+mSg+mxuem6t+eZtempq+mxuum4neeBqeeBqum6pOm9 +vum9iem+mOeigemKueijj+Wiu+aBkueyp+WruuKVlOKVpuKVl+KVoOKVrOKVo+KVmuKVqeKVneKV +kuKVpOKVleKVnuKVquKVoeKVmOKVp+KVm+KVk+KVpeKVluKVn+KVq+KVouKVmeKVqOKVnOKVkeKV +kOKVreKVruKVsOKVr+KWk++/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyNDldLmxlbmd0aDsr +K2EpaWYodFsyNDldW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzI0OV1bYV1dPTYzNzQ0 +K2E7ZVs2Mzc0NCthXT10WzI0OV1bYV19cmV0dXJue2VuYzpyLGRlYzplfX0oKTtjcHRhYmxlWzEy +NTBdPWZ1bmN0aW9uKCl7dmFyIGU9IlwwAQIDBAUGB1xiXHRcblx4MEJcZlxyDg8QERITFBUWFxgZ +GhscHR4fICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BR +UlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn/igqzvv73igJrv +v73igJ7igKbigKDigKHvv73igLDFoOKAucWaxaTFvcW577+94oCY4oCZ4oCc4oCd4oCi4oCT4oCU +77+94oSixaHigLrFm8Wlxb7FusKgy4fLmMWBwqTEhMKmwqfCqMKpxZ7Cq8Kswq3CrsW7wrDCscub +xYLCtMK1wrbCt8K4xIXFn8K7xL3LncS+xbzFlMOBw4LEgsOExLnEhsOHxIzDicSYw4vEmsONw47E +jsSQxYPFh8OTw5TFkMOWw5fFmMWuw5rFsMOcw53FosOfxZXDocOixIPDpMS6xIfDp8SNw6nEmcOr +xJvDrcOuxI/EkcWExYjDs8O0xZHDtsO3xZnFr8O6xbHDvMO9xaPLmSIscj1bXSx0PXt9O2Zvcih2 +YXIgYT0wO2EhPWUubGVuZ3RoOysrYSl7aWYoZS5jaGFyQ29kZUF0KGEpIT09NjU1MzMpdFtlLmNo +YXJBdChhKV09YTtyW2FdPWUuY2hhckF0KGEpfXJldHVybntlbmM6dCxkZWM6cn19KCk7Y3B0YWJs +ZVsxMjUxXT1mdW5jdGlvbigpe3ZhciBlPSJcMAECAwQFBgdcYlx0XG5ceDBCXGZccg4PEBESExQV +FhcYGRobHB0eHyAhXCIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xN +Tk9QUVJTVFVWV1hZWltcXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/0ILQg+KA +mtGT4oCe4oCm4oCg4oCh4oKs4oCw0InigLnQitCM0IvQj9GS4oCY4oCZ4oCc4oCd4oCi4oCT4oCU +77+94oSi0ZnigLrRmtGc0ZvRn8Kg0I7RntCIwqTSkMKmwqfQgcKp0ITCq8Kswq3CrtCHwrDCsdCG +0ZbSkcK1wrbCt9GR4oSW0ZTCu9GY0IXRldGX0JDQkdCS0JPQlNCV0JbQl9CY0JnQmtCb0JzQndCe +0J/QoNCh0KLQo9Ck0KXQptCn0KjQqdCq0KvQrNCt0K7Qr9Cw0LHQstCz0LTQtdC20LfQuNC50LrQ +u9C80L3QvtC/0YDRgdGC0YPRhNGF0YbRh9GI0YnRitGL0YzRjdGO0Y8iLHI9W10sdD17fTtmb3Io +dmFyIGE9MDthIT1lLmxlbmd0aDsrK2Epe2lmKGUuY2hhckNvZGVBdChhKSE9PTY1NTMzKXRbZS5j +aGFyQXQoYSldPWE7clthXT1lLmNoYXJBdChhKX1yZXR1cm57ZW5jOnQsZGVjOnJ9fSgpO2NwdGFi +bGVbMTI1Ml09ZnVuY3Rpb24oKXt2YXIgZT0iXDABAgMEBQYHXGJcdFxuXHgwQlxmXHIODxAREhMU +FRYXGBkaGxwdHh8gIVwiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktM +TU5PUFFSU1RVVldYWVpbXFxdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f+KCrO+/ +veKAmsaS4oCe4oCm4oCg4oChy4bigLDFoOKAucWS77+9xb3vv73vv73igJjigJnigJzigJ3igKLi +gJPigJTLnOKEosWh4oC6xZPvv73FvsW4wqDCocKiwqPCpMKlwqbCp8KowqnCqsKrwqzCrcKuwq/C +sMKxwrLCs8K0wrXCtsK3wrjCucK6wrvCvMK9wr7Cv8OAw4HDgsODw4TDhcOGw4fDiMOJw4rDi8OM +w43DjsOPw5DDkcOSw5PDlMOVw5bDl8OYw5nDmsObw5zDncOew5/DoMOhw6LDo8Okw6XDpsOnw6jD +qcOqw6vDrMOtw67Dr8Oww7HDssOzw7TDtcO2w7fDuMO5w7rDu8O8w73DvsO/IixyPVtdLHQ9e307 +Zm9yKHZhciBhPTA7YSE9ZS5sZW5ndGg7KythKXtpZihlLmNoYXJDb2RlQXQoYSkhPT02NTUzMyl0 +W2UuY2hhckF0KGEpXT1hO3JbYV09ZS5jaGFyQXQoYSl9cmV0dXJue2VuYzp0LGRlYzpyfX0oKTtj +cHRhYmxlWzEyNTNdPWZ1bmN0aW9uKCl7dmFyIGU9IlwwAQIDBAUGB1xiXHRcblx4MEJcZlxyDg8Q +ERITFBUWFxgZGhscHR4fICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdI +SUpLTE1OT1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn/i +gqzvv73igJrGkuKAnuKApuKAoOKAoe+/veKAsO+/veKAue+/ve+/ve+/ve+/ve+/veKAmOKAmeKA +nOKAneKAouKAk+KAlO+/veKEou+/veKAuu+/ve+/ve+/ve+/vcKgzoXOhsKjwqTCpcKmwqfCqMKp +77+9wqvCrMKtwq7igJXCsMKxwrLCs86EwrXCtsK3zojOic6KwrvOjMK9zo7Oj86QzpHOks6TzpTO +lc6WzpfOmM6ZzprOm86czp3Ons6fzqDOoe+/vc6jzqTOpc6mzqfOqM6pzqrOq86szq3Ors6vzrDO +sc6yzrPOtM61zrbOt864zrnOus67zrzOvc6+zr/PgM+Bz4LPg8+Ez4XPhs+Hz4jPic+Kz4vPjM+N +z47vv70iLHI9W10sdD17fTtmb3IodmFyIGE9MDthIT1lLmxlbmd0aDsrK2Epe2lmKGUuY2hhckNv +ZGVBdChhKSE9PTY1NTMzKXRbZS5jaGFyQXQoYSldPWE7clthXT1lLmNoYXJBdChhKX1yZXR1cm57 +ZW5jOnQsZGVjOnJ9fSgpO2NwdGFibGVbMTI1NF09ZnVuY3Rpb24oKXt2YXIgZT0iXDABAgMEBQYH +XGJcdFxuXHgwQlxmXHIODxAREhMUFRYXGBkaGxwdHh8gIVwiIyQlJicoKSorLC0uLzAxMjM0NTY3 +ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxdXl9gYWJjZGVmZ2hpamtsbW5v +cHFyc3R1dnd4eXp7fH1+f+KCrO+/veKAmsaS4oCe4oCm4oCg4oChy4bigLDFoOKAucWS77+977+9 +77+977+94oCY4oCZ4oCc4oCd4oCi4oCT4oCUy5zihKLFoeKAusWT77+977+9xbjCoMKhwqLCo8Kk +wqXCpsKnwqjCqcKqwqvCrMKtwq7Cr8KwwrHCssKzwrTCtcK2wrfCuMK5wrrCu8K8wr3CvsK/w4DD +gcOCw4PDhMOFw4bDh8OIw4nDisOLw4zDjcOOw4/EnsORw5LDk8OUw5XDlsOXw5jDmcOaw5vDnMSw +xZ7Dn8Ogw6HDosOjw6TDpcOmw6fDqMOpw6rDq8Osw63DrsOvxJ/DscOyw7PDtMO1w7bDt8O4w7nD +usO7w7zEscWfw78iLHI9W10sdD17fTtmb3IodmFyIGE9MDthIT1lLmxlbmd0aDsrK2Epe2lmKGUu +Y2hhckNvZGVBdChhKSE9PTY1NTMzKXRbZS5jaGFyQXQoYSldPWE7clthXT1lLmNoYXJBdChhKX1y +ZXR1cm57ZW5jOnQsZGVjOnJ9fSgpO2NwdGFibGVbMTI1NV09ZnVuY3Rpb24oKXt2YXIgZT0iXDAB +AgMEBQYHXGJcdFxuXHgwQlxmXHIODxAREhMUFRYXGBkaGxwdHh8gIVwiIyQlJicoKSorLC0uLzAx +MjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxdXl9gYWJjZGVmZ2hp +amtsbW5vcHFyc3R1dnd4eXp7fH1+f+KCrO+/veKAmsaS4oCe4oCm4oCg4oChy4bigLDvv73igLnv +v73vv73vv73vv73vv73igJjigJnigJzigJ3igKLigJPigJTLnOKEou+/veKAuu+/ve+/ve+/ve+/ +vcKgwqHCosKj4oKqwqXCpsKnwqjCqcOXwqvCrMKtwq7Cr8KwwrHCssKzwrTCtcK2wrfCuMK5w7fC +u8K8wr3CvsK/1rDWsday1rPWtNa11rbWt9a41rnvv73Wu9a81r3Wvta/14DXgdeC14PXsNex17LX +s9e077+977+977+977+977+977+977+915DXkdeS15PXlNeV15bXl9eY15nXmteb15zXndee15/X +oNeh16LXo9ek16XXpten16jXqdeq77+977+94oCO4oCP77+9IixyPVtdLHQ9e307Zm9yKHZhciBh +PTA7YSE9ZS5sZW5ndGg7KythKXtpZihlLmNoYXJDb2RlQXQoYSkhPT02NTUzMyl0W2UuY2hhckF0 +KGEpXT1hO3JbYV09ZS5jaGFyQXQoYSl9cmV0dXJue2VuYzp0LGRlYzpyfX0oKTtjcHRhYmxlWzEy +NTZdPWZ1bmN0aW9uKCl7dmFyIGU9IlwwAQIDBAUGB1xiXHRcblx4MEJcZlxyDg8QERITFBUWFxgZ +GhscHR4fICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BR +UlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn/igqzZvuKAmsaS +4oCe4oCm4oCg4oChy4bigLDZueKAucWS2obamNqI2q/igJjigJnigJzigJ3igKLigJPigJTaqeKE +otqR4oC6xZPigIzigI3ausKg2IzCosKjwqTCpcKmwqfCqMKp2r7Cq8Kswq3CrsKvwrDCscKywrPC +tMK1wrbCt8K4wrnYm8K7wrzCvcK+2J/bgdih2KLYo9ik2KXYptin2KjYqdiq2KvYrNit2K7Yr9iw +2LHYstiz2LTYtdi2w5fYt9i42LnYutmA2YHZgtmDw6DZhMOi2YXZhtmH2YjDp8Oow6nDqsOr2YnZ +isOuw6/Zi9mM2Y3ZjsO02Y/ZkMO32ZHDudmSw7vDvOKAjuKAj9uSIixyPVtdLHQ9e307Zm9yKHZh +ciBhPTA7YSE9ZS5sZW5ndGg7KythKXtpZihlLmNoYXJDb2RlQXQoYSkhPT02NTUzMyl0W2UuY2hh +ckF0KGEpXT1hO3JbYV09ZS5jaGFyQXQoYSl9cmV0dXJue2VuYzp0LGRlYzpyfX0oKTtjcHRhYmxl +WzEyNTddPWZ1bmN0aW9uKCl7dmFyIGU9IlwwAQIDBAUGB1xiXHRcblx4MEJcZlxyDg8QERITFBUW +FxgZGhscHR4fICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1O +T1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn/igqzvv73i +gJrvv73igJ7igKbigKDigKHvv73igLDvv73igLnvv73CqMuHwrjvv73igJjigJnigJzigJ3igKLi +gJPigJTvv73ihKLvv73igLrvv73Cr8ub77+9wqDvv73CosKjwqTvv73CpsKnw5jCqcWWwqvCrMKt +wq7DhsKwwrHCssKzwrTCtcK2wrfDuMK5xZfCu8K8wr3CvsOmxITErsSAxIbDhMOFxJjEksSMw4nF +ucSWxKLEtsSqxLvFoMWDxYXDk8WMw5XDlsOXxbLFgcWaxarDnMW7xb3Dn8SFxK/EgcSHw6TDpcSZ +xJPEjcOpxbrEl8SjxLfEq8S8xaHFhMWGw7PFjcO1w7bDt8WzxYLFm8Wrw7zFvMW+y5kiLHI9W10s +dD17fTtmb3IodmFyIGE9MDthIT1lLmxlbmd0aDsrK2Epe2lmKGUuY2hhckNvZGVBdChhKSE9PTY1 +NTMzKXRbZS5jaGFyQXQoYSldPWE7clthXT1lLmNoYXJBdChhKX1yZXR1cm57ZW5jOnQsZGVjOnJ9 +fSgpO2NwdGFibGVbMTI1OF09ZnVuY3Rpb24oKXt2YXIgZT0iXDABAgMEBQYHXGJcdFxuXHgwQlxm +XHIODxAREhMUFRYXGBkaGxwdHh8gIVwiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJD +REVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7 +fH1+f+KCrO+/veKAmsaS4oCe4oCm4oCg4oChy4bigLDvv73igLnFku+/ve+/ve+/ve+/veKAmOKA +meKAnOKAneKAouKAk+KAlMuc4oSi77+94oC6xZPvv73vv73FuMKgwqHCosKjwqTCpcKmwqfCqMKp +wqrCq8Kswq3CrsKvwrDCscKywrPCtMK1wrbCt8K4wrnCusK7wrzCvcK+wr/DgMOBw4LEgsOEw4XD +hsOHw4jDicOKw4vMgMONw47Dj8SQw5HMicOTw5TGoMOWw5fDmMOZw5rDm8Ocxq/Mg8Ofw6DDocOi +xIPDpMOlw6bDp8Oow6nDqsOrzIHDrcOuw6/EkcOxzKPDs8O0xqHDtsO3w7jDucO6w7vDvMaw4oKr +w78iLHI9W10sdD17fTtmb3IodmFyIGE9MDthIT1lLmxlbmd0aDsrK2Epe2lmKGUuY2hhckNvZGVB +dChhKSE9PTY1NTMzKXRbZS5jaGFyQXQoYSldPWE7clthXT1lLmNoYXJBdChhKX1yZXR1cm57ZW5j +OnQsZGVjOnJ9fSgpO2NwdGFibGVbMWU0XT1mdW5jdGlvbigpe3ZhciBlPSJcMAECAwQFBgdcYlx0 +XG5ceDBCXGZccg4PEBESExQVFhcYGRobHB0eHyAhXCIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7 +PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJz +dHV2d3h5ent8fX5/w4TDhcOHw4nDkcOWw5zDocOgw6LDpMOjw6XDp8Opw6jDqsOrw63DrMOuw6/D +scOzw7LDtMO2w7XDusO5w7vDvOKAoMKwwqLCo8Kn4oCiwrbDn8KuwqnihKLCtMKo4omgw4bDmOKI +nsKx4omk4omlwqXCteKIguKIkeKIj8+A4oirwqrCuuKEpsOmw7jCv8KhwqziiJrGkuKJiOKIhsKr +wrvigKbCoMOAw4PDlcWSxZPigJPigJTigJzigJ3igJjigJnDt+KXisO/xbjigYTCpOKAueKAuu+s +ge+sguKAocK34oCa4oCe4oCww4LDisOBw4vDiMONw47Dj8OMw5PDlO+/vcOSw5rDm8OZxLHLhsuc +wq/LmMuZy5rCuMudy5vLhyIscj1bXSx0PXt9O2Zvcih2YXIgYT0wO2EhPWUubGVuZ3RoOysrYSl7 +aWYoZS5jaGFyQ29kZUF0KGEpIT09NjU1MzMpdFtlLmNoYXJBdChhKV09YTtyW2FdPWUuY2hhckF0 +KGEpfXJldHVybntlbmM6dCxkZWM6cn19KCk7Y3B0YWJsZVsxMDAwNl09ZnVuY3Rpb24oKXt2YXIg +ZT0iXDABAgMEBQYHXGJcdFxuXHgwQlxmXHIODxAREhMUFRYXGBkaGxwdHh8gIVwiIyQlJicoKSor +LC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxdXl9gYWJj +ZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f8OEwrnCssOJwrPDlsOczoXDoMOiw6TOhMKow6fD +qcOow6rDq8Kj4oSiw67Dr+KAosK94oCww7TDtsKmwq3DucO7w7zigKDOk86UzpjOm86ezqDDn8Ku +wqnOo86qwqfiiaDCsM6HzpHCseKJpOKJpcKlzpLOlc6WzpfOmc6azpzOps6rzqjOqc6szp3CrM6f +zqHiiYjOpMKrwrvigKbCoM6lzqfOhs6IxZPigJPigJXigJzigJ3igJjigJnDt86JzorOjM6Ozq3O +rs6vz4zOj8+NzrHOss+IzrTOtc+GzrPOt865zr7Ous67zrzOvc6/z4DPjs+Bz4PPhM64z4nPgs+H +z4XOts+Kz4vOkM6w77+9IixyPVtdLHQ9e307Zm9yKHZhciBhPTA7YSE9ZS5sZW5ndGg7KythKXtp +ZihlLmNoYXJDb2RlQXQoYSkhPT02NTUzMyl0W2UuY2hhckF0KGEpXT1hO3JbYV09ZS5jaGFyQXQo +YSl9cmV0dXJue2VuYzp0LGRlYzpyfX0oKTtjcHRhYmxlWzEwMDA3XT1mdW5jdGlvbigpe3ZhciBl +PSJcMAECAwQFBgdcYlx0XG5ceDBCXGZccg4PEBESExQVFhcYGRobHB0eHyAhXCIjJCUmJygpKiss +LS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXF1eX2BhYmNk +ZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/0JDQkdCS0JPQlNCV0JbQl9CY0JnQmtCb0JzQndCe +0J/QoNCh0KLQo9Ck0KXQptCn0KjQqdCq0KvQrNCt0K7Qr+KAoMKwwqLCo8Kn4oCiwrbQhsKuwqni +hKLQgtGS4omg0IPRk+KInsKx4omk4oml0ZbCteKIgtCI0ITRlNCH0ZfQidGZ0IrRmtGY0IXCrOKI +msaS4omI4oiGwqvCu+KApsKg0IvRm9CM0ZzRleKAk+KAlOKAnOKAneKAmOKAmcO34oCe0I7RntCP +0Z/ihJbQgdGR0Y/QsNCx0LLQs9C00LXQttC30LjQudC60LvQvNC90L7Qv9GA0YHRgtGD0YTRhdGG +0YfRiNGJ0YrRi9GM0Y3RjsKkIixyPVtdLHQ9e307Zm9yKHZhciBhPTA7YSE9ZS5sZW5ndGg7Kyth +KXtpZihlLmNoYXJDb2RlQXQoYSkhPT02NTUzMyl0W2UuY2hhckF0KGEpXT1hO3JbYV09ZS5jaGFy +QXQoYSl9cmV0dXJue2VuYzp0LGRlYzpyfX0oKTtjcHRhYmxlWzEwMDA4XT1mdW5jdGlvbigpe3Zh +ciBlPVtdLHI9e30sdD1bXSxhO3RbMF09IlwwAQIDBAUGB1xiXHRcblx4MEJcZlxyDg8QERITFBUW +FxgZGhscHR4fICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1O +T1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn/CgO+jmO+j +me+jmu+jm++jnO+jne+jnu+jn++joO+joe+jou+jo++jpO+jpe+jpu+jp++jqO+jqe+jqu+jq++j +rO+jre+jru+jr++jsO+jse+jsu+js++jtO+jte+jtu+jt++/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+juO+jue+juu+ju++jvO+jve+jvu+jvyIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9 +dFswXS5sZW5ndGg7KythKWlmKHRbMF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMF1b +YV1dPTArYTtlWzArYV09dFswXVthXX10WzE2MV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +veOAgOOAgeOAguODu8uJy4fCqOOAg+OAheKAle+9nu+/veKApuKAmOKAmeKAnOKAneOAlOOAleOA +iOOAieOAiuOAi+OAjOOAjeOAjuOAj+OAluOAl+OAkOOAkcKxw5fDt+KItuKIp+KIqOKIkeKIj+KI +quKIqeKIiOKIt+KImuKKpeKIpeKIoOKMkuKKmeKIq+KIruKJoeKJjOKJiOKIveKIneKJoOKJruKJ +r+KJpOKJpeKInuKIteKItOKZguKZgMKw4oCy4oCz4oSD77yEwqTvv6Dvv6HigLDCp+KEluKYhuKY +heKXi+KXj+KXjuKXh+KXhuKWoeKWoOKWs+KWsuKAu+KGkuKGkOKGkeKGk+OAk++/vSIuc3BsaXQo +IiIpO2ZvcihhPTA7YSE9dFsxNjFdLmxlbmd0aDsrK2EpaWYodFsxNjFdW2FdLmNoYXJDb2RlQXQo +MCkhPT02NTUzMyl7clt0WzE2MV1bYV1dPTQxMjE2K2E7ZVs0MTIxNithXT10WzE2MV1bYV19dFsx +NjJdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73ikojikonikorikovikoziko3iko7iko/ikpDikpHikpLi +kpPikpTikpXikpbikpfikpjikpnikprikpvikbTikbXikbbikbfikbjikbnikbrikbvikbzikb3i +kb7ikb/ikoDikoHikoLikoPikoTikoXikobikofikaDikaHikaLikaPikaTikaXikabikafikaji +kanvv73vv73jiKDjiKHjiKLjiKPjiKTjiKXjiKbjiKfjiKjjiKnvv73vv73ihaDihaHihaLihaPi +haTihaXihabihafihajihaniharihavvv73vv73vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRb +MTYyXS5sZW5ndGg7KythKWlmKHRbMTYyXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsx +NjJdW2FdXT00MTQ3MithO2VbNDE0NzIrYV09dFsxNjJdW2FdfXRbMTYzXT0i77+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977yB77yC77yD77+l77yF77yG77yH77yI77yJ77yK77yL77yM77yN77yO +77yP77yQ77yR77yS77yT77yU77yV77yW77yX77yY77yZ77ya77yb77yc77yd77ye77yf77yg77yh +77yi77yj77yk77yl77ym77yn77yo77yp77yq77yr77ys77yt77yu77yv77yw77yx77yy77yz77y0 +77y177y277y377y477y577y677y777y877y977y+77y/772A772B772C772D772E772F772G772H +772I772J772K772L772M772N772O772P772Q772R772S772T772U772V772W772X772Y772Z772a +772b772c772d77+j77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE2M10ubGVuZ3RoOysrYSlp +Zih0WzE2M11bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTYzXVthXV09NDE3MjgrYTtl +WzQxNzI4K2FdPXRbMTYzXVthXX10WzE2NF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veOB +geOBguOBg+OBhOOBheOBhuOBh+OBiOOBieOBiuOBi+OBjOOBjeOBjuOBj+OBkOOBkeOBkuOBk+OB +lOOBleOBluOBl+OBmOOBmeOBmuOBm+OBnOOBneOBnuOBn+OBoOOBoeOBouOBo+OBpOOBpeOBpuOB +p+OBqOOBqeOBquOBq+OBrOOBreOBruOBr+OBsOOBseOBsuOBs+OBtOOBteOBtuOBt+OBuOOBueOB +uuOBu+OBvOOBveOBvuOBv+OCgOOCgeOCguOCg+OChOOCheOChuOCh+OCiOOCieOCiuOCi+OCjOOC +jeOCjuOCj+OCkOOCkeOCkuOCk++/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vSIu +c3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNjRdLmxlbmd0aDsrK2EpaWYodFsxNjRdW2FdLmNoYXJD +b2RlQXQoMCkhPT02NTUzMyl7clt0WzE2NF1bYV1dPTQxOTg0K2E7ZVs0MTk4NCthXT10WzE2NF1b +YV19dFsxNjVdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73jgqHjgqLjgqPjgqTjgqXjgqbj +gqfjgqjjgqnjgqrjgqvjgqzjgq3jgq7jgq/jgrDjgrHjgrLjgrPjgrTjgrXjgrbjgrfjgrjjgrnj +grrjgrvjgrzjgr3jgr7jgr/jg4Djg4Hjg4Ljg4Pjg4Tjg4Xjg4bjg4fjg4jjg4njg4rjg4vjg4zj +g43jg47jg4/jg5Djg5Hjg5Ljg5Pjg5Tjg5Xjg5bjg5fjg5jjg5njg5rjg5vjg5zjg53jg57jg5/j +g6Djg6Hjg6Ljg6Pjg6Tjg6Xjg6bjg6fjg6jjg6njg6rjg6vjg6zjg63jg67jg6/jg7Djg7Hjg7Lj +g7Pjg7Tjg7Xjg7bvv73vv73vv73vv73vv73vv73vv73vv73vv70iLnNwbGl0KCIiKTtmb3IoYT0w +O2EhPXRbMTY1XS5sZW5ndGg7KythKWlmKHRbMTY1XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMp +e3JbdFsxNjVdW2FdXT00MjI0MCthO2VbNDIyNDArYV09dFsxNjVdW2FdfXRbMTY2XT0i77+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+9zpHOks6TzpTOlc6WzpfOmM6ZzprOm86czp3Ons6fzqDOoc6j +zqTOpc6mzqfOqM6p77+977+977+977+977+977+977+977+9zrHOss6zzrTOtc62zrfOuM65zrrO +u868zr3Ovs6/z4DPgc+Dz4TPhc+Gz4fPiM+J77+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE2 +Nl0ubGVuZ3RoOysrYSlpZih0WzE2Nl1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXsKclt0WzE2 +Nl1bYV1dPTQyNDk2K2E7ZVs0MjQ5NithXT10WzE2Nl1bYV19dFsxNjddPSLvv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73QkNCR0JLQk9CU0JXQgdCW0JfQmNCZ0JrQm9Cc0J3QntCf0KDQodCi0KPQ +pNCl0KbQp9Co0KnQqtCr0KzQrdCu0K/vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73QsNCx0LLQs9C00LXRkdC20LfQuNC50LrQu9C80L3QvtC/0YDRgdGC0YPRhNGF +0YbRh9GI0YnRitGL0YzRjdGO0Y/vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTY3XS5sZW5ndGg7KythKWlmKHRbMTY3XVth +XS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNjddW2FdXT00Mjc1MithO2VbNDI3NTIrYV09 +dFsxNjddW2FdfXRbMTY4XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9xIHDoceOw6DEk8Op +xJvDqMSrw63HkMOsxY3Ds8eSw7LFq8O6x5TDuceWx5jHmsecw7zDqu+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/veOEheOEhuOEh+OEiOOEieOEiuOEi+OEjOOEjeOEjuOEj+OEkOOEkeOEkuOE +k+OElOOEleOEluOEl+OEmOOEmeOEmuOEm+OEnOOEneOEnuOEn+OEoOOEoeOEouOEo+OEpOOEpeOE +puOEp+OEqOOEqe+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNjhdLmxlbmd0aDsr +K2EpaWYodFsxNjhdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE2OF1bYV1dPTQzMDA4 +K2E7ZVs0MzAwOCthXT10WzE2OF1bYV19dFsxNjldPSLvv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73ilIDilIHilILilIPilITilIXilIbilIfilIjilInilIrilIvilIzilI3ilI7i +lI/ilJDilJHilJLilJPilJTilJXilJbilJfilJjilJnilJrilJvilJzilJ3ilJ7ilJ/ilKDilKHi +lKLilKPilKTilKXilKbilKfilKjilKnilKrilKvilKzilK3ilK7ilK/ilLDilLHilLLilLPilLTi +lLXilLbilLfilLjilLnilLrilLvilLzilL3ilL7ilL/ilYDilYHilYLilYPilYTilYXilYbilYfi +lYjilYnilYrilYvvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTY5XS5sZW5ndGg7KythKWlmKHRbMTY5XVthXS5j +aGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNjldW2FdXT00MzI2NCthO2VbNDMyNjQrYV09dFsx +NjldW2FdfXRbMTc2XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+95ZWK6Zi/5Z+D5oyo5ZOO +5ZSJ5ZOA55qR55mM6JS855+u6Im+56KN54ix6ZqY6Z6N5rCo5a6J5L+65oyJ5pqX5bK46IO65qGI +6IKu5piC55uO5Ye55pWW54as57+x6KKE5YKy5aWl5oeK5r6z6Iqt5o2M5omS5Y+t5ZCn56yG5YWr +55ak5be05ouU6LeL6Z225oqK6ICZ5Z2d6Zy4572i54i455m95p+P55m+5pGG5L2w6LSl5ouc56iX +5paR54+t5pCs5omz6Iis6aKB5p2/54mI5omu5ouM5Ly055Oj5Y2K5Yqe57uK6YKm5biu5qKG5qac +6IaA57uR5qOS56OF6JqM6ZWR5YKN6LCk6Iue6IOe5YyF6KSS5Yml77+9Ii5zcGxpdCgiIik7Zm9y +KGE9MDthIT10WzE3Nl0ubGVuZ3RoOysrYSlpZih0WzE3Nl1bYV0uY2hhckNvZGVBdCgwKSE9PTY1 +NTMzKXtyW3RbMTc2XVthXV09NDUwNTYrYTtlWzQ1MDU2K2FdPXRbMTc2XVthXX10WzE3N109Iu+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veiWhOmbueS/neWgoemlseWuneaKseaKpeaatOixuemy +jeeIhuadr+eikeaCsuWNkeWMl+i+iOiDjOi0nemSoeWAjeeLiOWkh+aDq+eEmeiiq+WllOiLr+ac +rOesqOW0qee7t+eUreaztei5pui/uOmAvOm8u+avlOmEmeeslOW9vOeip+iTluiUveavleavmeav +luW4geW6h+eXuemXreaVneW8iuW/hei+n+WjgeiHgumBv+mZm+merei+uee8lui0rOaJgeS+v+WP +mOWNnui+qOi+qei+q+mBjeagh+W9quiGmOihqOmzluaGi+WIq+eYquW9rOaWjOa/kua7qOWuvuaR +iOWFteWGsOafhOS4meeniemlvOeCs++/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxNzddLmxl +bmd0aDsrK2EpaWYodFsxNzddW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE3N11bYV1d +PTQ1MzEyK2E7ZVs0NTMxMithXT10WzE3N11bYV19dFsxNzhdPSLvv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73nl4Xlubbnjrvoj6Dmkq3mi6jpkrXms6LljZrli4PmkI/pk4LnrpTkvK/luJvoiLbo +hJbohormuKTms4rpqbPmjZXljZzlk7rooaXln6DkuI3luIPmraXnsL/pg6jmgJbmk6bnjJzoo4Hm +nZDmiY3otKLnnazouKnph4flvanoj5zolKHppJDlj4LompXmrovmg63mg6jngb/oi43oiLHku5Pm +sqfol4/mk43ns5nmp73mm7nojYnljpXnrZbkvqflhozmtYvlsYLoua3mj5Llj4nojKzojLbmn6Xn +orTmkL3lr5/lspTlt67or6fmi4bmn7TosbrmkIDmjrronYnppovosJfnvKDpk7LkuqfpmJDpoqTm +mIznjJbvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTc4XS5sZW5ndGg7KythKWlmKHRbMTc4 +XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxNzhdW2FdXT00NTU2OCthO2VbNDU1Njgr +YV09dFsxNzhdW2FdfXRbMTc5XT0i77+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+95Zy65bCd5bi4 +6ZW/5YG/6IKg5Y6C5pWe55WF5ZSx5YCh6LaF5oqE6ZKe5pyd5Ziy5r2u5bei5ZC154KS6L2m5omv +5pKk5o6j5b275r6I6YO06Iej6L6w5bCY5pmo5b+x5rKJ6ZmI6LaB6KGs5pKR56ew5Z+O5qmZ5oiQ +5ZGI5LmY56iL5oOp5r6E6K+a5om/6YCe6aqL56ek5ZCD55e05oyB5YyZ5rGg6L+f5byb6amw6IC7 +6b2/5L6I5bC66LWk57+F5pal54K95YWF5Yay6Jmr5bSH5a6g5oq96YWs55W06LiM56ig5oSB5625 +5LuH57u4556F5LiR6Iet5Yid5Ye65qmx5Y6o6LqH6ZSE6ZuP5ruB6Zmk5qWa77+9Ii5zcGxpdCgi +Iik7Zm9yKGE9MDthIT10WzE3OV0ubGVuZ3RoOysrYSlpZih0WzE3OV1bYV0uY2hhckNvZGVBdCgw +KSE9PTY1NTMzKXtyW3RbMTc5XVthXV09NDU4MjQrYTtlWzQ1ODI0K2FdPXRbMTc5XVthXX10WzE4 +MF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veehgOWCqOefl+aQkOinpuWkhOaPo+W3neep +v+akveS8oOiIueWWmOS4sueWrueql+W5ouW6iumXr+WIm+WQueeCiuaNtumUpOWeguaYpeakv+mG +h+WUh+a3s+e6r+igouaIs+e7sOeWteiMqOejgembjOi+nuaFiOeTt+ivjeatpOWIuui1kOasoeiB +quiRseWbseWMhuS7juS4m+WHkeeyl+mGi+ewh+S/g+i5v+evoeeqnOaRp+W0lOWCrOiEhueYgeey +uea3rOe/oOadkeWtmOWvuOeji+aSruaQk+aOquaMq+mUmeaQrei+vuetlOeYqeaJk+Wkp+WRhuat +ueWCo+aItOW4puauhuS7o+i0t+iii+W+hemAru+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsx +ODBdLmxlbmd0aDsrK2EpaWYodFsxODBdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE4 +MF1bYV1dPTQ2MDgwK2E7ZVs0NjA4MCthXT10WzE4MF1bYV19dFsxODFdPSLvv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73mgKDogL3mi4XkuLnljZXpg7jmjrjog4bml6bmsK7kvYbmg67mt6Hor57l +vLnom4vlvZPmjKHlhZrojaHmoaPliIDmjaPouYjlgJLlspvnpbflr7zliLDnqLvmgrzpgZPnm5fl +vrflvpfnmoTouaznga/nmbvnrYnnnqrlh7PpgpPloKTkvY7mu7Tov6rmlYznrJvni4TmtqTnv5/l +q6HmirXlupXlnLDokoLnrKzluJ3lvJ/pgJLnvJTpoqDmjoLmu4fnopjngrnlhbjpnZvlnqvnlLXk +vYPnlLjlupfmg6blpaDmt4Dmrr/noonlj7zpm5Xlh4vliIHmjonlkIrpkpPosIPot4zniLnnop/o +nbbov63osI3lj6Dvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTgxXS5sZW5ndGg7KythKWlm +KHRbMTgxXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxODFdW2FdXT00NjMzNithO2Vb +NDYzMzYrYV09dFsxODFdW2FdfXRbMTgyXT0i77+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+95LiB +55uv5Y+u6ZKJ6aG26byO6ZSt5a6a6K6i5Lii5Lic5Yas6JGj5oeC5Yqo5qCL5L6X5oGr5Ya75rSe +5YWc5oqW5paX6Zmh6LGG6YCX55eY6YO9552j5q+S54qK54us6K+75aC155256LWM5p2c6ZWA6IKa +5bqm5rih5aaS56uv55+t6ZS75q615pat57yO5aCG5YWR6Zif5a+55aKp5ZCo6Lmy5pWm6aG/5Zuk +6ZKd55u+6YGB5o6H5ZOG5aSa5aS65Z6b6Lqy5py16Le66Ii15YmB5oOw5aCV6Ju+5bOo6bmF5L+E +6aKd6K655ail5oG25Y6E5om86YGP6YSC6aW/5oGp6ICM5YS/6ICz5bCU6aW15rSx5LqM77+9Ii5z +cGxpdCgiIik7Zm9yKGE9MDthIT10WzE4Ml0ubGVuZ3RoOysrYSlpZih0WzE4Ml1bYV0uY2hhckNv +ZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTgyXVthXV09NDY1OTIrYTtlWzQ2NTkyK2FdPXRbMTgyXVth +XX10WzE4M109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vei0sOWPkee9muetj+S8kOS5j+mY +gOazleePkOiXqeW4hueVque/u+aoiuefvumSkue5geWHoeeDpuWPjei/lOiMg+i0qeeKr+mlreaz +m+WdiuiKs+aWueiCquaIv+mYsuWmqOS7v+iuv+e6uuaUvuiPsumdnuWVoemjnuiCpeWMquivveWQ +oOiCuuW6n+ayuOi0ueiKrOmFmuWQqeawm+WIhue6t+Wdn+eEmuaxvueyieWli+S7veW/v+aEpOey +quS4sOWwgeaeq+icguWzsOmUi+mjjueWr+eDvemAouWGr+e8neiuveWlieWHpOS9m+WQpuWkq+aV +t+iCpOWtteaJtuaLgui+kOW5heawn+espuS8j+S/mOacje+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7 +YSE9dFsxODNdLmxlbmd0aDsrK2EpaWYodFsxODNdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7 +clt0WzE4M11bYV1dPTQ2ODQ4K2E7ZVs0Njg0OCthXT10WzE4M11bYV19dFsxODRdPSLvv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73mta7mtqrnpo/oorHlvJfnlKvmiprovoXkv6/ph5zmlqfohK/o +hZHlupzohZDotbTlia/opobotYvlpI3lgoXku5jpmJzniLbohbnotJ/lr4zorqPpmYTlpofnvJrl +kpDlmbblmI7or6XmlLnmpoLpkpnnm5bmuonlubLnlJjmnYbmn5Hnq7/ogp3otbbmhJ/np4bmlaLo +taPlhojliJrpkqLnvLjogpvnurLlspfmuK/mnaDnr5nnmovpq5joho/nvpTns5XmkJ7plZDnqL/l +kYrlk6XmrYzmkIHmiIjpuL3og7PnlpnlibLpnanokZvmoLzom6TpmIHpmpTpk6zkuKrlkITnu5nm +oLnot5/ogJXmm7Tluprnvrnvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTg0XS5sZW5ndGg7 +KythKWlmKHRbMTg0XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxODRdW2FdXT00NzEw +NCthO2VbNDcxMDQrYV09dFsxODRdW2FdfXRbMTg1XT0i77+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+95Z+C6IC/5qKX5bel5pS75Yqf5oGt6b6a5L6b6Lqs5YWs5a6r5byT5bep5rGe5oux6LSh5YWx +6ZKp5Yu+5rKf6Iuf54uX5Z6i5p6E6LSt5aSf6L6c6I+H5ZKV566N5Lyw5rK95a2k5aeR6byT5Y+k +6JuK6aqo6LC36IKh5pWF6aG+5Zu66ZuH5Yiu55Oc5YmQ5a+h5oyC6KSC5LmW5ouQ5oCq5qO65YWz +5a6Y5Yag6KeC566h6aaG572Q5oOv54GM6LSv5YWJ5bm/6YCb55Gw6KeE5Zyt56GF5b2S6b6f6Ze6 +6L2o6ay86K+h55m45qGC5p+c6Leq6LS15Yi96L6K5rua5qON6ZSF6YOt5Zu95p6c6KO56L+H5ZOI +77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE4NV0ubGVuZ3RoOysrYSlpZih0WzE4NV1bYV0u +Y2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTg1XVthXV09NDczNjArYTtlWzQ3MzYwK2FdPXRb +MTg1XVthXX10WzE4Nl09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vemquOWtqea1t+awpuS6 +peWus+mqh+mFo+aGqOmCr+mfqeWQq+a2teWvkuWHveWWiue9lee/sOaSvOaNjeaXseaGvuaCjeeE +iuaxl+axieWkr+adreiIquWjleWajuixquavq+mDneWlveiAl+WPt+a1qeWRteWWneiNt+iPj+ag +uOemvuWSjOS9leWQiOebkuiyiemYguays+a2uOi1q+ikkOm5pOi0uuWYv+m7keeXleW+iOeLoOaB +qOWTvOS6qOaoquihoeaBkui9sOWThOeDmOiZuem4v+a0quWuj+W8mOe6ouWWieS+r+eMtOWQvOWO +muWAmeWQjuWRvOS5juW/veeRmuWjtuiRq+iDoeidtOeLkOeziua5lu+/vSIuc3BsaXQoIiIpO2Zv +cihhPTA7YSE9dFsxODZdLmxlbmd0aDsrK2EpaWYodFsxODZdW2FdLmNoYXJDb2RlQXQoMCkhPT02 +NTUzMyl7clt0WzE4Nl1bYV1dPTQ3NjE2K2E7ZVs0NzYxNithXT10WzE4Nl1bYV19dFsxODddPSLv +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73lvKfomY7llKzmiqTkupLmsqrmiLfoirHlk5fljY7n +jL7mu5HnlLvliJLljJbor53mp5DlvormgIDmt67lnY/mrKLnjq/moZPov5jnvJPmjaLmgqPllKTn +l6rosaLnhJXmtqPlrqblubvojZLmhYzpu4Tno7ronZfnsKfnmoflh7Dmg7bnhYzmmYPluYzmgY3o +sI7ngbDmjKXovonlvr3mgaLom5Tlm57mr4HmgpTmhafljYnmg6DmmabotL/np73kvJrng6nmsYfo +rrPor7Lnu5jojaTmmI/lqZrprYLmtZHmt7fosYHmtLvkvJnngavojrfmiJbmg5HpnI3otKfnpbjl +h7vlnL7ln7rmnLrnlbjnqL3np6/nrpXvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMTg3XS5s +ZW5ndGg7KythKWlmKHRbMTg3XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsxODddW2Fd +XT00Nzg3MithO2VbNDc4NzIrYV09dFsxODddW2FdfXRbMTg4XT0i77+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+96IKM6aWl6L+55r+A6K6l6bih5aes57up57yJ5ZCJ5p6B5qOY6L6R57GN6ZuG5Y+K +5oCl55a+5rGy5Y2z5auJ57qn5oyk5Yeg6ISK5bex6JOf5oqA5YaA5a2j5LyO56Wt5YmC5oK45rWO +5a+E5a+C6K6h6K6w5pei5b+M6ZmF5aaT57un57qq5ZiJ5p635aS55L2z5a625Yqg6I2a6aKK6LS+ +55Sy6ZK+5YGH56i85Lu35p626am+5auB5q2855uR5Z2a5bCW56y66Ze054WO5YW86IKp6Imw5aW4 +57yE6Iyn5qOA5p+s56Kx56G35ouj5o2h566A5L+t5Ymq5YeP6I2Q5qeb6Ym06Le16LSx6KeB6ZSu +566t5Lu277+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE4OF0ubGVuZ3RoOysrYSlpZih0WzE4 +OF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTg4XVthXV09NDgxMjgrYTtlWzQ4MTI4 +K2FdPXRbMTg4XVthXX10WzE4OV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veWBpeiIsOWJ +kemlr+a4kOa6hea2p+W7uuWDteWnnOWwhua1huaxn+eWhuiSi+ahqOWlluiusuWMoOmFsemZjeiV +ieakkuekgeeEpuiDtuS6pOmDiua1h+mqhOWoh+WavOaQhemTsOefq+S+peiEmueLoeinkumluue8 +tOe7nuWJv+aVmemFtei9v+i+g+WPq+eqluaPreaOpeeahuenuOihl+mYtuaIquWKq+iKguahlOad +sOaNt+edq+errea0gee7k+ino+WnkOaIkuiXieiKpeeVjOWAn+S7i+eWpeivq+WxiuW3vueti+aW +pOmHkeS7iua0peiln+e0p+mUpuS7heiwqOi/m+mds+aZi+emgei/keeDrOa1uO+/vSIuc3BsaXQo +IiIpO2ZvcihhPTA7YSE9dFsxODldLmxlbmd0aDsrK2EpaWYodFsxODldW2FdLmNoYXJDb2RlQXQo +MCkhPT02NTUzMyl7clt0WzE4OV1bYV1dPTQ4Mzg0K2E7ZVs0ODM4NCthXT10WzE4OV1bYV19dFsx +OTBdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73lsL3lirLojYblhaLojI7nnZvmmbbpsrjk +uqzmg4rnsr7nsrPnu4/kupXorabmma/poojpnZnlooPmlazplZzlvoTnl4npnZbnq5/nq57lh4Dn +gq/nqpjmj6rnqbbnuqDnjpbpn63kuYXngbjkuZ3phZLljqnmlZHml6foh7zoiIXlko7lsLHnlprp +nqDmi5jni5nnlr3lsYXpqbnoj4rlsYDlkoDnn6nkuL7msq7ogZrmi5Lmja7lt6jlhbfot53ouJ7p +lK/kv7Hlj6Xmg6fngqzliafmjZDpuYPlqJ/lgKbnnLfljbfnu6LmkoXmlKvmionmjpjlgJTniLXo +p4nlhrPor4Dnu53lnYfoj4zpkqflhpvlkJvls7vvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRb +MTkwXS5sZW5ndGg7KythKWlmKHRbMTkwXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsx +OTBdW2FdXT00ODY0MCthO2VbNDg2NDArYV09dFsxOTBdW2FdfXRbMTkxXT0i77+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+95L+K56uj5rWa6YOh6aqP5ZaA5ZKW5Y2h5ZKv5byA5o+p5qW35Yev5oWo +5YiK5aCq5YuY5Z2O56CN55yL5bq35oW357Og5omb5oqX5Lqi54KV6ICD5ou354Ok6Z2g5Z236Iub +5p+v5qO156OV6aKX56eR5aOz5ZKz5Y+v5ri05YWL5Yi75a6i6K++6IKv5ZWD5Z6m5oGz5Z2R5ZCt +56m65oGQ5a2U5o6n5oqg5Y+j5omj5a+H5p6v5ZOt56qf6Ium6YW35bqT6KOk5aS45Z6u5oyO6Leo +6IOv5Z2X56235L6p5b+r5a695qy+5Yyh562Q54uC5qGG55+/55y25pe35Ya15LqP55uU5bK/56ql +6JG15aWO6a2B5YKA77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE5MV0ubGVuZ3RoOysrYSlp +Zih0WzE5MV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTkxXVthXV09NDg4OTYrYTtl +WzQ4ODk2K2FdPXRbMTkxXVthXX10WzE5Ml09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vemm +iOaEp+a6g+WdpOaYhuaNhuWbsOaLrOaJqeW7k+mYlOWeg+aLieWWh+icoeiFiui+o+WVpuiOsead +pei1luiTneWpquagj+aLpuevrumYkeWFsOa+nOiwsOaPveiniOaHkue8hueDgua7peeQheamlOeL +vOW7iumDjuacl+a1quaNnuWKs+eJouiAgeS9rOWnpemFqueDmea2neWLkuS5kOmbt+mVreiVvuej +iue0r+WEoeWekuaTguiCi+exu+azquajsealnuWGt+WOmOaiqOeKgem7juevseeLuOemu+a8k+eQ +huadjumHjOmypOekvOiOieiNlOWQj+agl+S4veWOieWKseegvuWOhuWIqeWCiOS+i+S/kO+/vSIu +c3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxOTJdLmxlbmd0aDsrK2EpaWYodFsxOTJdW2FdLmNoYXJD +b2RlQXQoMCkhPT02NTUzMyl7clt0WzE5Ml1bYV1dPTQ5MTUyK2E7ZVs0OTE1MithXT10WzE5Ml1b +YV19dFsxOTNdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73nl6Lnq4vnspLmsqXpmrblipvn +koPlk6nkv6nogZTojrLov57plbDlu4nmgJzmtp/luJjmlZvohLjpk77mgYvngrznu4Pnsq7lh4nm +ooHnsrHoia/kuKTovobph4/mmb7kuq7osIXmkqnogYrlg5rnlpfnh47lr6Xovr3mvabkuobmkoLp +laPlu5bmlpnliJfoo4Lng4jliqPnjI7nkLPmnpfno7fpnJbkuLTpgrvps57mt4vlh5votYHlkJ3m +i47njrLoj7Hpm7bpvoTpk4PkvLbnvprlh4zngbXpmbXlsq3pooblj6bku6TmupznkInmprTnoavp +po/nlZnliJjnmKTmtYHmn7Plha3pvpnogYvlkpnnrLznqr/vv70iLnNwbGl0KCIiKTtmb3IoYT0w +O2EhPXRbMTkzXS5sZW5ndGg7KythKWlmKHRbMTkzXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMp +e3JbdFsxOTNdW2FdXT00OTQwOCthO2VbNDk0MDgrYV09dFsxOTNdW2FdfXRbMTk0XT0i77+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+96ZqG5Z6E5oui6ZmH5qW85aiE5pCC56+T5ryP6ZmL6Iqm5Y2i +6aKF5bqQ54KJ5o6z5Y2k6JmP6bKB6bqT56KM6Zyy6Lev6LWC6bm/5r2e56aE5b2V6ZmG5oiu6am0 +5ZCV6ZOd5L6j5peF5bGl5bGh57yV6JmR5rCv5b6L546H5ruk57u/5bOm5oyb5a2q5rum5Y215Lmx +5o6g55Wl5oqh6L2u5Lym5LuR5rKm57q26K666JCd6J66572X6YC76ZSj566p6aqh6KO46JC95rSb +6aqG57uc5aaI6bq7546b56CB6JqC6ams6aqC5Zib5ZCX5Z+L5Lmw6bqm5Y2W6L+I6ISJ556S6aaS +6Juu5ruh6JST5pu85oWi5ryr77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE5NF0ubGVuZ3Ro +OysrYSlpZih0WzE5NF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTk0XVthXV09NDk2 +NjQrYTtlWzQ5NjY0K2FdPXRbMTk0XVthXX10WzE5NV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/veiwqeiKkuiMq+ebsuawk+W/meiOveeMq+iMhemUmuavm+efm+mThuWNr+iMguWGkuW4veiy +jOi0uOS5iOeOq+aemuaihemFtumcieeFpOayoeecieWqkumVgeavj+e+juaYp+WvkOWmueWqmumX +qOmXt+S7rOiQjOiSmeaqrOebn+mUsOeMm+aipuWtn+ecr+mGmumdoeeznOi/t+iwnOW8peexs+en +mOinheazjOicnOWvhuW5guajieecoOe7teWGleWFjeWLieWoqee8hemdouiLl+aPj+eehOiXkOen +kua4uuW6meWmmeiUkeeBreawkeaKv+eav+aVj+aCr+mXveaYjuien+m4o+mTreWQjeWRveiwrOaR +uO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxOTVdLmxlbmd0aDsrK2EpaWYodFsxOTVdW2Fd +LmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE5NV1bYV1dPTQ5OTIwK2E7ZVs0OTkyMCthXT10 +WzE5NV1bYV19dFsxOTZdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73mkbnomJHmqKHohpzn +o6jmkanprZTmirnmnKvojqvloqjpu5jmsqvmvKDlr57pmYzosIvniZ/mn5Dmi4fniaHkuqnlp4bm +r43lopPmmq7luZXli5/mhZXmnKjnm67nnabniafnqYbmi7/lk6rlkZDpkqDpgqPlqJznurPmsJbk +uYPlpbbogJDlpYjljZfnlLfpmr7lm4rmjKDohJHmgbzpl7nmt5blkaLppoHlhoXlq6nog73lpq7p +nJPlgKrms6XlsLzmi5/kvaDljL/ohbvpgIbmurrolKvmi4jlubTnor7mkrXmjbvlv7XlqJjphb/p +uJ/lsL/mjY/ogYLlrb3lla7plYrplY3mtoXmgqjmn6Dni57lh53lroHvv70iLnNwbGl0KCIiKTtm +b3IoYT0wO2EhPXRbMTk2XS5sZW5ndGg7KythKWlmKHRbMTk2XVthXS5jaGFyQ29kZUF0KDApIT09 +NjU1MzMpe3JbdFsxOTZdW2FdXT01MDE3NithO2VbNTAxNzYrYV09dFsxOTZdW2FdfXRbMTk3XT0i +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+95oun5rOe54mb5omt6ZKu57q96IST5rWT5Yac5byE +5aW05Yqq5oCS5aWz5pqW6JmQ55af5oyq5oem57Ov6K+65ZOm5qyn6bil5q606JeV5ZGV5YG25rKk +5ZWq6La054is5biV5oCV55C25ouN5o6S54mM5b6Y5rmD5rS+5pSA5r2Y55uY56OQ55u855WU5Yik +5Y+b5LmT5bqe5peB6ICq6IOW5oqb5ZKG5Yio54Ku6KKN6LeR5rOh5ZG46IOa5Z+56KO06LWU6Zmq +6YWN5L2p5rKb5Za355uG56Cw5oqo54O55r6O5b2t6JOs5qOa56G856+36Iao5pyL6bmP5o2n56Kw +5Z2v56CS6Zy55om55oqr5YqI55C15q+X77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzE5N10u +bGVuZ3RoOysrYSlpZih0WzE5N11bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMTk3XVth +XV09NTA0MzIrYTtlWzUwNDMyK2FdPXRbMTk3XVthXX10WzE5OF09Iu+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/veWVpOiEvueWsuearuWMueeXnuWDu+WxgeitrOevh+WBj+eJh+mql+mjmOa8gueT +ouelqOaSh+eepeaLvOmikei0q+WTgeiBmOS5kuWdquiLueiQjeW5s+WHreeTtuivhOWxj+Wdoeaz +vOmih+WphuegtOmthOi/q+eyleWJluaJkemTuuS7huiOhuiRoeiPqeiSsuWflOactOWcg+aZrua1 +puiwseabneeAkeacn+asuuagluaImuWmu+S4g+WHhOa8huafkuayj+WFtuaji+Wlh+atp+eVpuW0 +juiEkOm9kOaXl+eliOelgemqkei1t+WyguS5nuS8geWQr+WlkeegjOWZqOawlOi/hOW8g+axveaz +o+iuq+aOkO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsxOThdLmxlbmd0aDsrK2EpaWYodFsx +OThdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzE5OF1bYV1dPTUwNjg4K2E7ZVs1MDY4 +OCthXT10WzE5OF1bYV19dFsxOTldPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73mgbDmtL3n +ibXmiabpko7pk4XljYPov4Hnrb7ku5/osKbkub7pu5TpkrHpkrPliY3mvZzpgaPmtYXosLTloJHl +tYzmrKDmrYnmnqrlkZvohZTnvozlopnolLflvLrmiqLmqYfplLnmlbLmgoTmoaXnnqfkuZTkvqjl +t6fpnpjmkqznv5jls63kv4/nqo3liIfojITkuJTmgK/nqoPpkqbkvrXkurLnp6bnkLTli6Toirnm +k5Lnpr3lr53msoHpnZLovbvmsKLlgL7ljb/muIXmk47mmbTmsLDmg4Xpobfor7fluobnkLznqbfn +p4vkuJjpgrHnkIPmsYLlm5rphYvms4XotovljLrom4bmm7Louq/lsYjpqbHmuKDvv70iLnNwbGl0 +KCIiKTtmb3IoYT0wO2EhPXRbMTk5XS5sZW5ndGg7KythKWlmKHRbMTk5XVthXS5jaGFyQ29kZUF0 +KDApIT09NjU1MzMpe3JbdFsxOTldW2FdXT01MDk0NCthO2VbNTA5NDQrYV09dFsxOTldW2FdfXRb +MjAwXT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+95Y+W5ai26b6L6Laj5Y675ZyI6aKn5p2D +6Yab5rOJ5YWo55eK5ouz54qs5Yi45Yqd57y654KU55i45Y206bmK5qa356Gu6ZuA6KOZ576k54S2 +54eD5YaJ5p+T55Ok5aOk5pSY5Zq36K6p6aW25omw57uV5oO554Ot5aOs5LuB5Lq65b+N6Z+n5Lu7 +6K6k5YiD5aaK57qr5omU5LuN5pel5oiO6Iy46JOJ6I2j6J6N54aU5rq25a6557uS5YaX5o+J5p+U +6IKJ6Iy56KCV5YSS5a265aaC6L6x5Lmz5rGd5YWl6KSl6L2v6Ziu6JWK55Ge6ZSQ6Zew5ram6Iul +5byx5pKS5rSS6JCo6IWu6bOD5aGe6LWb5LiJ5Y+B77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10 +WzIwMF0ubGVuZ3RoOysrYSlpZih0WzIwMF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3Rb +MjAwXVthXV09NTEyMDArYTtlWzUxMjAwK2FdPXRbMjAwXVthXX10WzIwMV09Iu+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/veS8nuaVo+ahkeWXk+S4p+aQlOmqmuaJq+WrgueRn+iJsua2qeajruWD +p+iOjuegguadgOWIueaymee6seWCu+WVpeeFnuetm+aZkuePiuiLq+adieWxseWIoOeFveihq+mX +qumZleaThei1oeiGs+WWhOaxleaJh+e8ruWikuS8pOWVhui1j+aZjOS4iuWwmuijs+aiouaNjueo +jeeDp+iKjeWLuumftuWwkeWTqOmCtee7jeWloui1iuibh+iIjOiIjei1puaRhOWwhOaFkea2ieek +vuiuvuegt+eUs+WRu+S8uOi6q+a3seWooOe7heelnuayiOWuoeWptueUmuiCvuaFjua4l+WjsOeU +n+eUpeeJsuWNh+e7s++/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMDFdLmxlbmd0aDsrK2Ep +aWYodFsyMDFdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIwMV1bYV1dPTUxNDU2K2E7 +ZVs1MTQ1NithXT10WzIwMV1bYV19dFsyMDJdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73n +nIHnm5vlianog5zlnKPluIjlpLHni67mlr3mub/or5flsLjombHljYHnn7Pmi77ml7bku4Dpo5/o +moDlrp7or4blj7Lnn6Lkvb/lsY7pqbblp4vlvI/npLrlo6vkuJbmn7/kuovmi63oqpPpgJ3lir/m +mK/ll5zlmazpgILku5Xkvo3ph4rppbDmsI/luILmgYPlrqTop4bor5XmlLbmiYvpppblrojlr7/m +jojllK7lj5fnmKblhb3olKzmnqLmorPmrormipLovpPlj5ToiJLmt5Hnlo/kuabotY7lrbDnhp/o +lq/mmpHmm5nnvbLonIDpu43pvKDlsZ7mnK/ov7DmoJHmnZ/miI3nq5blooXlurbmlbDmvLHvv70i +LnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjAyXS5sZW5ndGg7KythKWlmKHRbMjAyXVthXS5jaGFy +Q29kZUF0KDApIT09NjU1MzMpe3JbdFsyMDJdW2FdXT01MTcxMithO2VbNTE3MTIrYV09dFsyMDJd +W2FdfXRbMjAzXT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+95oGV5Yi36ICN5pGU6KGw55Sp +5biF5qCT5ou06Zyc5Y+M54i96LCB5rC0552h56iO5ZCu556s6aG66Iic6K+056GV5pyU54OB5pav +5pKV5Zi25oCd56eB5Y+45Lid5q276IKG5a+65Zej5Zub5Ly65Ly86aWy5bez5p2+6IC45oCC6aKC +6YCB5a6L6K686K+15pCc6ImY5pOe5Ze96IuP6YWl5L+X57Sg6YCf57Kf5YOz5aGR5rqv5a6/6K+J +6IKD6YW46JKc566X6Jm96ZqL6ZqP57ul6auT56KO5bKB56mX6YGC6Zqn56Wf5a2Z5o2f56yL6JOR +5qKt5ZSG57yp55CQ57Si6ZSB5omA5aGM5LuW5a6D5aW55aGU77+9Ii5zcGxpdCgiIik7Zm9yKGE9 +MDthIT10WzIwM10ubGVuZ3RoOysrYSlpZih0WzIwM11bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMz +KXtyW3RbMjAzXVthXV09NTE5NjgrYTtlWzUxOTY4K2FdPXRbMjAzXVthXX10WzIwNF09Iu+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/veeNreaMnui5i+i4j+iDjuiLlOaKrOWPsOazsOmFnuWkquaA +geaxsOWdjeaRiui0queYq+a7qeWdm+aqgOeXsOa9reiwreiwiOWdpuavr+iikueis+aOouWPueeC +reaxpOWhmOaQquWgguajoOiGm+WUkOezluWAmOi6uua3jOi2n+eDq+aOj+a2m+a7lOe7puiQhOah +g+mAg+a3mOmZtuiuqOWll+eJueiXpOiFvueWvOiqiuair+WJlOi4oumUkeaPkOmimOi5hOWVvOS9 +k+abv+Waj+aDlea2leWJg+WxieWkqea3u+Whq+eUsOeUnOaBrOiIlOiFhuaMkeadoei/ouecuui3 +s+i0tOmTgeW4luWOheWQrOeDg++/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMDRdLmxlbmd0 +aDsrK2EpaWYodFsyMDRdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIwNF1bYV1dPTUy +MjI0K2E7ZVs1MjIyNCthXT10WzIwNF1bYV19dFsyMDVdPSLvv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73msYDlu7flgZzkuq3luq3mjLroiYfpgJrmoZDpha7nnrPlkIzpk5zlvaTnq6XmobbmjYXn +rZLnu5/nl5vlgbfmipXlpLTpgI/lh7jnp4PnqoHlm77lvpLpgJTmtoLlsaDlnJ/lkJDlhZTmuY3l +m6LmjqjpopPohb/onJXopKrpgIDlkJ7lsa/oh4Dmi5bmiZjohLHpuLXpmYDpqa7pqbzmpK3lpqXm +i5PllL7mjJblk4fom5nmtLzlqIPnk6boopzmrarlpJbosYzlvK/mub7njqnpob3kuLjng7flrozn +opfmjL3mmZrnmpbmg4vlrpvlqYnkuIfohZXmsarnjovkuqHmnonnvZHlvoDml7rmnJvlv5jlpoTl +qIHvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjA1XS5sZW5ndGg7KythKWlmKHRbMjA1XVth +XS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMDVdW2FdXT01MjQ4MCthO2VbNTI0ODArYV09 +dFsyMDVdW2FdfXRbMjA2XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+95beN5b6u5Y2x6Z+m +6L+d5qGF5Zu05ZSv5oOf5Li65r2N57u06IuH6JCO5aeU5Lyf5Lyq5bC+57qs5pyq6JSa5ZGz55WP +6IOD5ZaC6a2P5L2N5rit6LCT5bCJ5oWw5Y2r55if5rip6JqK5paH6Ze757q55ZC756iz57SK6Zeu +5Zeh57+B55Ou5oyd6JyX5rah56qd5oiR5pah5Y2n5o+h5rKD5ber5ZGc6ZKo5LmM5rGh6K+s5bGL +5peg6Iqc5qKn5ZC+5ZC05q+L5q2m5LqU5o2C5Y2I6Iie5LyN5L6u5Z2e5oiK6Zu+5pmk54mp5Yu/ +5Yqh5oKf6K+v5piU54aZ5p6Q6KW/56GS55+95pmw5Zi75ZC46ZSh54m677+9Ii5zcGxpdCgiIik7 +Zm9yKGE9MDthIT10WzIwNl0ubGVuZ3RoOysrYSlpZih0WzIwNl1bYV0uY2hhckNvZGVBdCgwKSE9 +PTY1NTMzKXtyW3RbMjA2XVthXV09NTI3MzYrYTtlWzUyNzM2K2FdPXRbMjA2XVthXX10WzIwN109 +Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veeogOaBr+W4jOaCieiGneWkleaDnOeGhOeDr+a6 +quaxkOeKgOaqhOiireW4reS5oOWqs+WWnOmTo+a0l+ezu+mameaIj+e7hueejuiZvuWMo+mcnui+ +luaah+WzoeS+oOeLreS4i+WOpuWkj+WQk+aOgOmUqOWFiOS7memynOe6pOWSuOi0pOihlOiIt+mX +sua2juW8puWrjOaYvumZqeeOsOeMruWOv+iFuummhee+oeWuqumZt+mZkOe6v+ebuOWOoumVtumm +meeuseilhOa5mOS5oee/lOelpeivpuaDs+WTjeS6q+mhueW3t+apoeWDj+WQkeixoeiQp+ehnemc +hOWJiuWTruWao+mUgOa2iOWutea3huaZk++/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMDdd +Lmxlbmd0aDsrK2EpaWYodFsyMDddW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIwN11b +YV1dPTUyOTkyK2E7ZVs1Mjk5MithXT10WzIwN11bYV19dFsyMDhdPSLvv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73lsI/lrZ3moKHogpbllbjnrJHmlYjmpZTkupvmrYfonY7pnovljY/mjJ/mkLrp +gqrmlpzog4HosJDlhpnmorDljbjon7nmh4jms4Tms7vosKLlsZHolqroiq/plIzmrKPovpvmlrDl +v7vlv4Pkv6HooYXmmJ/ohaXnjKnmg7rlhbTliJHlnovlvaLpgqLooYzphpLlubjmnY/mgKflp5Pl +hYTlh7bog7jljIjmsbnpm4TnhorkvJHkv67nvp7mnL3ll4XplIjnp4Doopbnu6Plop/miIzpnIDo +mZrlmJjpobvlvpDorrjok4TphZflj5nml63luo/nlZzmgaTnta7lqb/nu6rnu63ovanllqflrqPm +gqzml4vnjoTvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjA4XS5sZW5ndGg7KythKWlmKHRb +MjA4XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMDhdW2FdXT01MzI0OCthO2VbNTMy +NDgrYV09dFsyMDhdW2FdfXRbMjA5XT0i77+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+96YCJ55mj +55yp57ua6Z206Jab5a2m56m06Zuq6KGA5YuL54aP5b6q5pes6K+i5a+76amv5beh5q6J5rGb6K6t +6K6v6YCK6L+F5Y6L5oq86bim6bit5ZGA5Lir6Iq954mZ6Jqc5bSW6KGZ5rav6ZuF5ZOR5Lqa6K62 +54SJ5ZK96ZiJ54Of5re555uQ5Lil56CU6JyS5bKp5bu26KiA6aKc6ZiO54KO5rK/5aWE5o6p55y8 +6KGN5ryU6Imz5aCw54eV5Y6M56Ca6ZuB5ZSB5b2m54Sw5a606LCa6aqM5q6D5aSu6biv56en5p2o +5oms5L2v55ah576K5rSL6Ziz5rCn5Luw55eS5YW75qC35ry+6YKA6IWw5aaW55G277+9Ii5zcGxp +dCgiIik7Zm9yKGE9MDthIT10WzIwOV0ubGVuZ3RoOysrYSlpZih0WzIwOV1bYV0uY2hhckNvZGVB +dCgwKSE9PTY1NTMzKXtyW3RbMjA5XVthXV09NTM1MDQrYTtlWzUzNTA0K2FdPXRbMjA5XVthXX10 +WzIxMF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veaRh+Wwp+mBpeeqkeiwo+WnmuWSrOiI +gOiNr+imgeiAgOaksOWZjuiAtueIt+mHjuWGtuS5n+mhteaOluS4muWPtuabs+iFi+WknOa2suS4 +gOWjueWMu+aPlumTseS+neS8iuiho+mikOWkt+mBl+enu+S7quiDsOeWkeayguWunOWnqOW9neak +heiageWAmuW3suS5meefo+S7peiJuuaKkeaYk+mCkeWxueS6v+W9ueiHhumAuOiChOeWq+S6puij +lOaEj+avheW/huS5ieebiua6ouivo+iuruiwiuivkeW8gue/vOe/jOe7juiMteiNq+WboOaut+mf +s+mYtOWnu+WQn+mTtua3q+WvhemlruWwueW8lemakO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9 +dFsyMTBdLmxlbmd0aDsrK2EpaWYodFsyMTBdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0 +WzIxMF1bYV1dPTUzNzYwK2E7ZVs1Mzc2MCthXT10WzIxMF1bYV19dFsyMTFdPSLvv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73ljbDoi7HmqLHlqbTpubDlupTnvKjojrnokKTokKXojafonYfov47o +taLnm4jlvbHpopbnoazmmKDlk5/mi6XkvaPoh4Pnl4jlurjpm43ouIrom7nlko/ms7PmtozmsLjm +gb/li4fnlKjlub3kvJjmgqDlv6flsKTnlLHpgq7pk4DnirnmsrnmuLjphYnmnInlj4vlj7PkvZHp +h4nor7Hlj4jlubzov4Lmt6Tkuo7nm4LmpobomZ7mhJroiIbkvZnkv57pgL7psbzmhInmuJ3muJTp +moXkuojlqLHpm6jkuI7lsb/nprnlrofor63nvr3njonln5/oiovpg4HlkIHpgYfllrvls6rlvqHm +hIjmrLLni7HogrLoqonvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjExXS5sZW5ndGg7Kyth +KWlmKHRbMjExXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMTFdW2FdXT01NDAxNith +O2VbNTQwMTYrYV09dFsyMTFdW2FdfXRbMjEyXT0i77+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +5rW05a+T6KOV6aKE6LGr6amt6biz5riK5Yak5YWD5Z6j6KKB5Y6f5o+06L6V5Zut5ZGY5ZyG54y/ +5rqQ57yY6L+c6IuR5oS/5oCo6Zmi5puw57qm6LaK6LeD6ZKl5bKz57Kk5pyI5oKm6ZiF6ICY5LqR +6YOn5YyA6Zmo5YWB6L+Q6JW06YWd5pmV6Z+15a2V5Yyd56C45p2C5qC95ZOJ54G+5a6w6L295YaN +5Zyo5ZKx5pSS5pqC6LWe6LWD6ISP6JGs6YGt57Of5Ye/6Je75p6j5pep5r6h6Jqk6LqB5Zmq6YCg +55qC54G254el6LSj5oup5YiZ5rO96LS85oCO5aKe5oaO5pu+6LWg5omO5Zaz5rij5pyt6L2n77+9 +Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIxMl0ubGVuZ3RoOysrYSlpZih0WzIxMl1bYV0uY2hh +ckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjEyXVthXV09NTQyNzIrYTtlWzU0MjcyK2FdPXRbMjEy +XVthXX10WzIxM109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vemToemXuOecqOagheamqOWS +i+S5jeeCuOiviOaRmOaWi+WuheeqhOWAuuWvqOeeu+avoeipueeymOayvuebj+aWqei+l+W0reWx +leiYuOagiOWNoOaImOermea5m+e7veaon+eroOW9sOa8s+W8oOaOjOa2qOadluS4iOW4kOi0puS7 +l+iDgOeYtOmanOaLm+aYreaJvuayvOi1teeFp+e9qeWFhuiCh+WPrOmBruaKmOWTsuibsOi+meiA +hemUl+iUl+i/mea1meePjeaWn+ecn+eUhOegp+iHu+i0numSiOS+puaeleeWueiviumch+aMr+mV +h+mYteiSuOaMo+edgeW+geeLsOS6ieaAlOaVtOaLr+ato+aUv++/vSIuc3BsaXQoIiIpO2Zvcihh +PTA7YSE9dFsyMTNdLmxlbmd0aDsrK2EpaWYodFsyMTNdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUz +Myl7clt0WzIxM11bYV1dPTU0NTI4K2E7ZVs1NDUyOCthXT10WzIxM11bYV19dFsyMTRdPSLvv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73luKfnl4fpg5Hor4Hoip3mnp3mlK/lkLHonJjnn6XogqLo +hILmsYHkuYvnu4fogYznm7TmpI3mrpbmiaflgLzkvoTlnYDmjIfmraLotr7lj6rml6jnurjlv5fm +jJrmjrfoh7Poh7Tnva7luJzls5nliLbmmbrnp6nnqJrotKjngpnnl5Tmu57msrvnqpLkuK3nm4Xl +v6Dpkp/oobfnu4jnp43ogr/ph43ku7LkvJfoiJ/lkajlt57mtLLor4znsqXovbTogpjluJrlkpLn +mrHlrpnmmLzpqqTnj6DmoKrom5vmnLHnjKror7jor5vpgJDnq7nng5vnha7mi4TnnqnlmLHkuLvo +kZfmn7Hliqnom4DotK7pk7jnrZHvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjE0XS5sZW5n +dGg7KythKWlmKHRbMjE0XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMTRdW2FdXT01 +NDc4NCthO2VbNTQ3ODQrYV09dFsyMTRdW2FdfXRbMjE1XT0i77+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+95L2P5rOo56Wd6am75oqT54iq5ou95LiT56CW6L2s5pKw6LWa56+G5qGp5bqE6KOF5aaG +5pKe5aOu54q25qSO6ZSl6L+96LWY5Z2g57yA6LCG5YeG5o2J5ouZ5Y2T5qGM55Ci6IyB6YWM5ZWE +552A54G85rWK5YW55ZKo6LWE5ae/5ruL5reE5a2c57Sr5LuU57G95ruT5a2Q6Ieq5riN5a2X6ayD +5qOV6Liq5a6X57u85oC757q16YK56LWw5aWP5o+N56ef6Laz5Y2S5peP56WW6K+F6Zi757uE6ZK7 +57qC5Zi06YaJ5pyA572q5bCK6YG15pio5bem5L2Q5p+e5YGa5L2c5Z2Q5bqn77+977+977+977+9 +77+977+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIxNV0ubGVuZ3RoOysrYSlpZih0WzIxNV1b +YV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjE1XVthXV09NTUwNDArYTtlWzU1MDQwK2Fd +PXRbMjE1XVthXX10WzIxNl09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veS6jeS4jOWFgOS4 +kOW7v+WNheS4leS6mOS4numssuWtrOWZqeS4qOemuuS4v+WMleS5h+WkreeIu+WNruawkOWbn+iD +pOmml+avk+edvum8l+S4tuS6n+m8kOS5nOS5qeS6k+iKiOWtm+WVrOWYj+S7hOWOjeWOneWOo+WO +peWOrumdpei1neWMmuWPteWMpuWMruWMvui1nOWNpuWNo+WIguWIiOWIjuWIreWIs+WIv+WJgOWJ +jOWJnuWJoeWJnOiSr+WJveWKguWKgeWKkOWKk+WGgue9lOS6u+S7g+S7ieS7guS7qOS7oeS7q+S7 +nuS8m+S7s+S8ouS9pOS7teS8peS8p+S8ieS8q+S9nuS9p+aUuOS9muS9ne+/vSIuc3BsaXQoIiIp +O2ZvcihhPTA7YSE9dFsyMTZdLmxlbmd0aDsrK2EpaWYodFsyMTZdW2FdLmNoYXJDb2RlQXQoMCkh +PT02NTUzMyl7clt0WzIxNl1bYV1dPTU1Mjk2K2E7ZVs1NTI5NithXT10WzIxNl1bYV19dFsyMTdd +PSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73kvZ/kvZfkvLLkvL3kvbbkvbTkvpHkvonkvoPk +vo/kvb7kvbvkvqrkvbzkvqzkvpTkv6bkv6jkv6rkv4Xkv5rkv6Pkv5zkv5Hkv5/kv7jlgKnlgYzk +v7PlgKzlgI/lgK7lgK3kv77lgJzlgIzlgKXlgKjlgb7lgYPlgZXlgYjlgY7lgazlgbvlgqXlgqfl +gqnlgrrlg5blhIblg63lg6zlg6blg67lhIflhIvku53msL3kvZjkvaXkv47pvqDmsYbnsbTlha7l +t73pu4npppjlhoHlpJTli7nljI3oqIfljJDlh6vlpJnlhZXkuqDlhZbkurPooa7ooqTkurXohJTo +o5LnpoDlrLTooIPnvrjlhqvlhrHlhr3lhrzvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjE3 +XS5sZW5ndGg7KythKWlmKHRbMjE3XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMTdd +W2FdXT01NTU1MithO2VbNTU1NTIrYV09dFsyMTddW2FdfXRbMjE4XT0i77+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+95YeH5YaW5Yai5Yal6K6g6K6m6K6n6K6q6K606K616K636K+C6K+D6K+L6K+P +6K+O6K+S6K+T6K+U6K+W6K+Y6K+Z6K+c6K+f6K+g6K+k6K+o6K+p6K+u6K+w6K+z6K+26K+56K+8 +6K+/6LCA6LCC6LCE6LCH6LCM6LCP6LCR6LCS6LCU6LCV6LCW6LCZ6LCb6LCY6LCd6LCf6LCg6LCh +6LCl6LCn6LCq6LCr6LCu6LCv6LCy6LCz6LC16LC25Y2p5Y266Zid6Zii6Zih6Zix6Ziq6Zi96Zi8 +6ZmC6ZmJ6ZmU6Zmf6Zmn6Zms6Zmy6Zm06ZqI6ZqN6ZqX6Zqw6YKX6YKb6YKd6YKZ6YKs6YKh6YK0 +6YKz6YK26YK677+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIxOF0ubGVuZ3RoOysrYSlpZih0 +WzIxOF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjE4XVthXV09NTU4MDgrYTtlWzU1 +ODA4K2FdPXRbMjE4XVthXX10WzIxOV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vemCuOmC +sOmDj+mDhemCvumDkOmDhOmDh+mDk+mDpumDoumDnOmDl+mDm+mDq+mDr+mDvumEhOmEoumEnumE +o+mEsemEr+mEuemFg+mFhuWIjeWlguWKouWKrOWKreWKvuWTv+WLkOWLluWLsOWPn+eHruefjeW7 +tOWHteWHvOmsr+WOtuW8geeVmuW3r+WdjOWeqeWeoeWhvuWivOWjheWjkeWcqeWcrOWcquWcs+Wc +ueWcruWcr+WdnOWcu+WdguWdqeWeheWdq+WehuWdvOWdu+WdqOWdreWdtuWds+WereWepOWejOWe +suWfj+Wep+WetOWek+WeoOWfleWfmOWfmuWfmeWfkuWeuOWftOWfr+WfuOWfpOWfne+/vSIuc3Bs +aXQoIiIpO2ZvcihhPTA7YSE9dFsyMTldLmxlbmd0aDsrK2EpaWYodFsyMTldW2FdLmNoYXJDb2Rl +QXQoMCkhPT02NTUzMyl7clt0WzIxOV1bYV1dPTU2MDY0K2E7ZVs1NjA2NCthXT10WzIxOV1bYV19 +dFsyMjBdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73loIvloI3ln73ln63loIDloJ7loJnl +oYTloKDloaXloazlooHloonloprlooDppqjpvJnmh7/oibnoib3oib/oio/oioroiqjoioToio7o +ipHoipfoipnoiqvoirjoir7oirDoi4joi4roi6Poipjoirfoiq7oi4voi4zoi4HoiqnoirToiqHo +iqroip/oi4Toi47oiqToi6HojInoi7foi6TojI/ojIfoi5zoi7Toi5Loi5jojIzoi7voi5PojJHo +jJrojIbojJTojJXoi6Doi5XojJzojZHojZvojZzojIjojpLojLzojLTojLHojpvojZ7ojK/ojY/o +jYfojYPojZ/ojYDojJfojaDojK3ojLrojLPojabojaXvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2Eh +PXRbMjIwXS5sZW5ndGg7KythKWlmKHRbMjIwXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3Jb +dFsyMjBdW2FdXT01NjMyMCthO2VbNTYzMjArYV09dFsyMjBdW2FdfXRbMjIxXT0i77+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+96I2o6Iyb6I2p6I2s6I2q6I2t6I2u6I6w6I246I6z6I606I6g6I6q +6I6T6I6c6I6F6I286I626I6p6I296I646I276I6Y6I6e6I6o6I666I686I+B6JCB6I+l6I+Y5aCH +6JCY6JCL6I+d6I+96I+W6JCc6JC46JCR6JCG6I+U6I+f6JCP6JCD6I+46I+56I+q6I+F6I+A6JCm +6I+w6I+h6JGc6JGR6JGa6JGZ6JGz6JKH6JKI6JG66JKJ6JG46JC86JGG6JGp6JG26JKM6JKO6JCx +6JGt6JOB6JON6JOQ6JOm6JK96JOT6JOK6JK/6JK66JOg6JKh6JK56JK06JKX6JOl6JOj6JSM55SN +6JS46JOw6JS56JSf6JS677+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIyMV0ubGVuZ3RoOysr +YSlpZih0WzIyMV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjIxXVthXV09NTY1NzYr +YTtlWzU2NTc2K2FdPXRbMjIxXVthXX10WzIyMl09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +veiVluiUu+iTv+iTvOiVmeiViOiVqOiVpOiVnuiVuueeouiVg+iVsuiVu+iWpOiWqOiWh+iWj+iV +ueiWruiWnOiWheiWueiWt+iWsOiXk+iXgeiXnOiXv+iYp+iYheiYqeiYluiYvOW7vuW8iOWkvOWl +geiAt+WlleWlmuWlmOWMj+WwouWwpeWwrOWwtOaJjOaJquaKn+aKu+aLiuaLmuaLl+aLruaMouaL +tuaMueaNi+aNg+aOreaPtuaNseaNuuaOjuaOtOaNreaOrOaOiuaNqeaOruaOvOaPsuaPuOaPoOaP +v+aPhOaPnuaPjuaRkuaPhuaOvuaRheaRgeaQi+aQm+aQoOaQjOaQpuaQoeaRnuaShOaRreaSlu+/ +vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMjJdLmxlbmd0aDsrK2EpaWYodFsyMjJdW2FdLmNo +YXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIyMl1bYV1dPTU2ODMyK2E7ZVs1NjgzMithXT10WzIy +Ml1bYV19dFsyMjNdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73mkbrmkrfmkrjmkpnmkrrm +k4Dmk5Dmk5fmk6Tmk6LmlInmlKXmlK7lvIvlv5LnlJnlvJHljZ/lj7Hlj73lj6nlj6jlj7vlkJLl +kJblkIblkYvlkZLlkZPlkZTlkZblkYPlkKHlkZflkZnlkKPlkLLlkoLlkpTlkbflkbHlkaTlkprl +kpvlkoTlkbblkablkp3lk5Dlkq3lk4LlkrTlk5Llkqflkqblk5Plk5TlkbLlkqPlk5Xlkrvlkr/l +k4zlk5nlk5rlk5zlkqnlkqrlkqTlk53lk4/lk57llJvlk6fllKDlk73llJTlk7PllKLllKPllI/l +lJHllKfllKrllafllo/llrXllYnlla3llYHllZXllL/llZDllLzvv70iLnNwbGl0KCIiKTtmb3Io +YT0wO2EhPXRbMjIzXS5sZW5ndGg7KythKWlmKHRbMjIzXVthXS5jaGFyQ29kZUF0KDApIT09NjU1 +MzMpe3JbdFsyMjNdW2FdXT01NzA4OCthO2VbNTcwODgrYV09dFsyMjNdW2FdfXRbMjI0XT0i77+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+95ZS35ZWW5ZW15ZW25ZW35ZSz5ZSw5ZWc5ZaL5ZeS5ZaD +5Zax5Za55ZaI5ZaB5Zaf5ZW+5ZeW5ZaR5ZW75Zef5Za95Za+5ZaU5ZaZ5Zeq5Ze35ZeJ5Zif5ZeR +5Zer5Zes5ZeU5Zem5Zed5ZeE5Zev5Zel5Zey5Zez5ZeM5ZeN5Zeo5Ze15Zek6L6U5Zie5ZiI5ZiM +5ZiB5Zik5Zij5Ze+5ZiA5Zin5Zit5ZmY5Zi55ZmX5Zis5ZmN5Zmi5ZmZ5Zmc5ZmM5ZmU5ZqG5Zmk +5Zmx5Zmr5Zm75Zm85ZqF5ZqT5Zqv5ZuU5ZuX5Zud5Zuh5Zu15Zur5Zu55Zu/5ZyE5ZyK5ZyJ5Zyc +5biP5biZ5biU5biR5bix5bi75bi877+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIyNF0ubGVu +Z3RoOysrYSlpZih0WzIyNF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjI0XVthXV09 +NTczNDQrYTtlWzU3MzQ0K2FdPXRbMjI0XVthXX10WzIyNV09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/veW4t+W5hOW5lOW5m+W5nuW5oeWyjOWxuuWyjeWykOWyluWyiOWymOWymeWykeWymuWy +nOWyteWyouWyveWyrOWyq+WyseWyo+WzgeWyt+WzhOWzkuWzpOWzi+WzpeW0guW0g+W0p+W0puW0 +ruW0pOW0nuW0huW0m+W1mOW0vuW0tOW0veW1rOW1m+W1r+W1neW1q+W1i+W1iuW1qeW1tOW2guW2 +meW2neixs+W2t+W3heW9s+W9t+W+guW+h+W+ieW+jOW+leW+meW+nOW+qOW+reW+teW+vOihouW9 +oeeKreeKsOeKtOeKt+eKuOeLg+eLgeeLjueLjeeLkueLqOeLr+eLqeeLsueLtOeLt+eMgeeLs+eM +g+eLuu+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMjVdLmxlbmd0aDsrK2EpaWYodFsyMjVd +W2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIyNV1bYV1dPTU3NjAwK2E7ZVs1NzYwMCth +XT10WzIyNV1bYV19dFsyMjZdPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73ni7vnjJfnjJPn +jKHnjIrnjJ7njJ3njJXnjKLnjLnnjKXnjKznjLjnjLHnjZDnjY3njZfnjaDnjaznja/njb7oiJvl +pKXpo6flpKTlpILppaPppafppajppanpparppavppazppbTppbfppb3ppoDppoTppofpporppo3p +ppDpppHpppPpppTpppXluoDlupHluovlupbluqXluqDlurnlurXlur7lurPotZPlu5Llu5Hlu5vl +u6jlu6rohrrlv4Tlv4nlv5blv4/mgIPlv67mgITlv6Hlv6Tlv77mgIXmgIblv6rlv63lv7jmgJnm +gLXmgKbmgJvmgI/mgI3mgKnmgKvmgIrmgL/mgKHmgbjmgbnmgbvmgbrmgYLvv70iLnNwbGl0KCIi +KTtmb3IoYT0wO2EhPXRbMjI2XS5sZW5ndGg7KythKWlmKHRbMjI2XVthXS5jaGFyQ29kZUF0KDAp +IT09NjU1MzMpe3JbdFsyMjZdW2FdXT01Nzg1NithO2VbNTc4NTYrYV09dFsyMjZdW2FdfXRbMjI3 +XT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+95oGq5oG95oKW5oKa5oKt5oKd5oKD5oKS5oKM +5oKb5oOs5oK75oKx5oOd5oOY5oOG5oOa5oK05oSg5oSm5oSV5oSj5oO05oSA5oSO5oSr5oWK5oW1 +5oas5oaU5oan5oa35oeU5oe15b+d6Zqz6Zep6Zer6Zex6Zez6Ze16Ze26Ze86Ze+6ZiD6ZiE6ZiG +6ZiI6ZiK6ZiL6ZiM6ZiN6ZiP6ZiS6ZiV6ZiW6ZiX6ZiZ6Zia5Lis54i/5oiV5rC15rGU5rGc5rGK +5rKj5rKF5rKQ5rKU5rKM5rGo5rGp5rG05rG25rKG5rKp5rOQ5rOU5rKt5rO35rO45rOx5rOX5rKy +5rOg5rOW5rO65rOr5rOu5rKx5rOT5rOv5rO+77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzIy +N10ubGVuZ3RoOysrYSlpZih0WzIyN11bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjI3 +XVthXV09NTgxMTIrYTtlWzU4MTEyK2FdPXRbMjI3XVthXX10WzIyOF09Iu+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/vea0uea0p+a0jOa1g+a1iOa0h+a0hOa0mea0jua0q+a1jea0rua0tea0mua1 +j+a1kua1lOa0s+a2kea1r+a2nua2oOa1nua2k+a2lOa1nOa1oOa1vOa1o+a4mua3h+a3hea3nua4 +jua2v+a3oOa4kea3pua3nea3mea4lua2q+a4jOa2rua4q+a5rua5jua5q+a6sua5n+a6hua5k+a5 +lOa4sua4pea5hOa7n+a6sea6mOa7oOa8rea7oua6pea6p+a6vea6u+a6t+a7l+a6tOa7j+a6j+a7 +gua6n+a9oua9hua9h+a8pOa8lea7uea8r+a8tua9i+a9tOa8qua8iea8qea+iea+jea+jOa9uOa9 +sua9vOa9uua/ke+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMjhdLmxlbmd0aDsrK2EpaWYo +dFsyMjhdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIyOF1bYV1dPTU4MzY4K2E7ZVs1 +ODM2OCthXT10WzIyOF1bYV19dFsyMjldPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73mv4nm +vqfmvrnmvrbmv4Lmv6Hmv67mv57mv6Dmv6/ngJrngKPngJvngLnngLXngY/ngZ7lroDlroTlrpXl +rpPlrqXlrrjnlK/pqp7mkLTlr6Tlr67opLDlr7DouYforIfovrbov5Pov5Xov6Xov67ov6Tov6no +v6bov7Pov6jpgIXpgITpgIvpgKbpgJHpgI3pgJbpgKHpgLXpgLbpgK3pgK/pgYTpgZHpgZLpgZDp +gajpgZjpgaLpgZvmmrnpgbTpgb3pgoLpgojpgoPpgovlvZDlvZflvZblvZjlsLvlkqvlsZDlsZnl +rbHlsaPlsabnvrzlvKrlvKnlvK3oibTlvLzprLvlsa7lpoHlpoPlpo3lpqnlpqrlpqPvv70iLnNw +bGl0KCIiKTtmb3IoYT0wO2EhPXRbMjI5XS5sZW5ndGg7KythKWlmKHRbMjI5XVthXS5jaGFyQ29k +ZUF0KDApIT09NjU1MzMpe3JbdFsyMjldW2FdXT01ODYyNCthO2VbNTg2MjQrYV09dFsyMjldW2Fd +fXRbMjMwXT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+95aaX5aeK5aar5aae5aak5aeS5aay +5aav5aeX5aa+5aiF5aiG5aed5aiI5aej5aeY5ae55aiM5aiJ5aiy5ai05aiR5aij5aiT5amA5amn +5amK5amV5ai85ami5am16IOs5aqq5aqb5am35am65aq+5aur5aqy5auS5auU5aq45aug5auj5aux +5auW5aum5auY5auc5ayJ5ayX5ayW5ayy5ay35a2A5bCV5bCc5a2a5a2l5a2z5a2R5a2T5a2i6am1 +6am36am46am66am/6am96aqA6aqB6aqF6aqI6aqK6aqQ6aqS6aqT6aqW6aqY6aqb6aqc6aqd6aqf +6aqg6aqi6aqj6aql6aqn57qf57qh57qj57ql57qo57qp77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDth +IT10WzIzMF0ubGVuZ3RoOysrYSlpZih0WzIzMF1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXty +W3RbMjMwXVthXV09NTg4ODArYTtlWzU4ODgwK2FdPXRbMjMwXVthXX10WzIzMV09Iu+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/vee6ree6sOe6vue7gOe7gee7gue7iee7i+e7jOe7kOe7lOe7l+e7 +m+e7oOe7oee7qOe7q+e7rue7r+e7see7sue8jee7tue7uue7u+e7vue8gee8gue8g+e8h+e8iOe8 +i+e8jOe8j+e8kee8kue8l+e8mee8nOe8m+e8n+e8oee8oue8o+e8pOe8pee8pue8p+e8que8q+e8 +rOe8ree8r+e8sOe8see8sue8s+e8teW5uueVv+W3m+eUvumCleeOjueOkeeOrueOoueOn+ePj+eP +guePkeeOt+eOs+ePgOePieePiOePpeePmemhvOeQiuePqeePp+ePnueOuuePsueQj+eQqueRm+eQ +pueQpeeQqOeQsOeQrueQrO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMzFdLmxlbmd0aDsr +K2EpaWYodFsyMzFdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIzMV1bYV1dPTU5MTM2 +K2E7ZVs1OTEzNithXT10WzIzMV1bYV19dFsyMzJdPSLvv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73nkJvnkJrnkYHnkZznkZfnkZXnkZnnkbfnka3nkb7nkpznko7nkoDnkoHnkofnkovnkp7nkqjn +kqnnkpDnkqfnk5Lnkrrpn6rpn6vpn6zmnYzmnZPmnZ7mnYjmnanmnqXmnofmnarmnbPmnpjmnqfm +nbXmnqjmnp7mnq3mnovmnbfmnbzmn7DmoInmn5jmoIrmn6nmnrDmoIzmn5nmnrXmn5rmnrPmn53m +oIDmn4Pmnrjmn6LmoI7mn4Hmn73moLLmoLPmoaDmoaHmoY7moaLmoYTmoaTmooPmoJ3moZXmoabm +oYHmoafmoYDmoL7moYrmoYnmoKnmorXmoo/mobTmobfmopPmoavmo4Lmpa7mo7zmpJ/mpKDmo7nv +v70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjMyXS5sZW5ndGg7KythKWlmKHRbMjMyXVthXS5j +aGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMzJdW2FdXT01OTM5MithO2VbNTkzOTIrYV09dFsy +MzJdW2FdfXRbMjMzXT0i77+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+95qSk5qOw5qSL5qSB5qWX +5qOj5qSQ5qWx5qS55qWg5qWC5qWd5qaE5qWr5qaA5qaY5qW45qS05qeM5qaH5qaI5qeO5qaJ5qWm +5qWj5qW55qab5qan5qa75qar5qat5qeU5qax5qeB5qeK5qef5qaV5qeg5qaN5qe/5qiv5qet5qiX +5qiY5qml5qey5qmE5qi+5qqg5qmQ5qmb5qi15qqO5qm55qi95qio5qmY5qm85qqR5qqQ5qqp5qqX +5qqr54y3542S5q6B5q6C5q6H5q6E5q6S5q6T5q6N5q6a5q6b5q6h5q6q6L2r6L2t6L2x6L2y6L2z +6L216L226L246L236L256L266L286L2+6L6B6L6C6L6E6L6H6L6L77+9Ii5zcGxpdCgiIik7Zm9y +KGE9MDthIT10WzIzM10ubGVuZ3RoOysrYSlpZih0WzIzM11bYV0uY2hhckNvZGVBdCgwKSE9PTY1 +NTMzKXtyW3RbMjMzXVthXV09NTk2NDgrYTtlWzU5NjQ4K2FdPXRbMjMzXVthXX10WzIzNF09Iu+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/vei+jei+jui+j+i+mOi+mui7juaIi+aIl+aIm+aIn+aI +ouaIoeaIpeaIpOaIrOiHp+eTr+eTtOeTv+eUj+eUkeeUk+aUtOaXruaXr+aXsOaYiuaYmeadsuaY +g+aYleaYgOeCheabt+aYneaYtOaYseaYtuaYteiAhuaZn+aZlOaZgeaZj+aZluaZoeaZl+aZt+aa +hOaajOaap+aaneaavuabm+abnOabpuabqei0sui0s+i0tui0u+i0vei1gOi1hei1hui1iOi1iei1 +h+i1jei1lei1meinh+iniuini+injOinjuinj+inkOinkeeJrueKn+eJneeJpueJr+eJvueJv+eK +hOeKi+eKjeeKj+eKkuaMiOaMsuaOsO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsyMzRdLmxl +bmd0aDsrK2EpaWYodFsyMzRdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIzNF1bYV1d +PTU5OTA0K2E7ZVs1OTkwNCthXT10WzIzNF1bYV19dFsyMzVdPSLvv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73mkL/mk5jogITmr6rmr7Pmr73mr7Xmr7nmsIXmsIfmsIbmsI3msJXmsJjmsJnmsJrm +sKHmsKnmsKTmsKrmsLLmlLXmlZXmlavniY3niZLniZbniLDomaLliJbogp/ogpzogpPogrzmnIro +gr3ogrHogqvogq3ogrTogrfog6fog6jog6nog6rog5vog4Log4Tog5nog43og5fmnJDog53og6vo +g7Hog7Tog63ohI3ohI7og7Log7zmnJXohJLosZrohLbohJ7ohKzohJjohLLohYjohYzohZPohbTo +hZnohZrohbHohaDohanohbzohb3oha3ohafloY3lqrXohojohoLohpHmu5XohqPohqroh4zmnKbo +h4rohrvvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjM1XS5sZW5ndGg7KythKWlmKHRbMjM1 +XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMzVdW2FdXT02MDE2MCthO2VbNjAxNjAr +YV09dFsyMzVdW2FdfXRbMjM2XT0i77+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+96IeB6Iam5qyk +5qy35qy55q2D5q2G5q2Z6aOR6aOS6aOT6aOV6aOZ6aOa5q6z5b2A5q+C6Kez5paQ6b2R5paT5pa8 +5peG5peE5peD5peM5peO5peS5peW54KA54Kc54KW54Kd54K754OA54K354Kr54Kx54Oo54OK54SQ +54ST54SW54Sv54Sx54Wz54Wc54Wo54WF54Wy54WK54W454W654aY54az54a154ao54ag54eg54eU +54en54e554id54io54Gs54SY54Wm54a55oi+5oi95omD5omI5omJ56S756WA56WG56WJ56Wb56Wc +56WT56Wa56Wi56WX56Wg56Wv56Wn56W656aF56aK56aa56an56az5b+R5b+Q77+9Ii5zcGxpdCgi +Iik7Zm9yKGE9MDthIT10WzIzNl0ubGVuZ3RoOysrYSlpZih0WzIzNl1bYV0uY2hhckNvZGVBdCgw +KSE9PTY1NTMzKXtyW3RbMjM2XVthXV09NjA0MTYrYTtlWzYwNDE2K2FdPXRbMjM2XVthXX10WzIz +N109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veaAvOaBneaBmuaBp+aBgeaBmeaBo+aCq+aE +huaEjeaFneaGqeaGneaHi+aHkeaIhuiCgOiBv+ayk+aztua3vOeftuefuOeggOegieegl+egmOeg +keaWq+egreegnOegneegueeguuegu+egn+egvOegpeegrOego+egqeehjuehreehluehl+egpueh +kOehh+ehjOehqueim+eik+eimueih+einOeioeeio+eisueiueeipeejlOejmeejieejrOejsuek +heejtOekk+ekpOeknuektOm+m+m7uem7u+m7vOebseechOecjeebueech+eciOecmuecouecmeec +reecpuecteecuOedkOedkeedh+edg+edmuedqO+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7YSE9dFsy +MzddLmxlbmd0aDsrK2EpaWYodFsyMzddW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7clt0WzIz +N11bYV1dPTYwNjcyK2E7ZVs2MDY3MithXT10WzIzN11bYV19dFsyMzhdPSLvv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73nnaLnnaXnnb/nno3nnb3nnoDnnoznnpHnnp/nnqDnnrDnnrXnnr3nlLrn +lYDnlY7nlYvnlYjnlZvnlbLnlbnnloPnvZjnvaHnvZ/oqYjnvajnvbTnvbHnvbnnvoHnvb7nm43n +m6XooLLpkoXpkobpkofpkovpkorpkozpko3pko/pkpDpkpTpkpfpkpXpkprpkpvpkpzpkqPpkqTp +kqvpkqrpkq3pkqzpkq/pkrDpkrLpkrTpkrbpkrfpkrjpkrnpkrrpkrzpkr3pkr/pk4Tpk4jpk4np +k4rpk4vpk4zpk43pk47pk5Dpk5Hpk5Lpk5Xpk5bpk5fpk5npk5jpk5vpk57pk5/pk6Dpk6Lpk6Tp +k6Xpk6fpk6jpk6rvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjM4XS5sZW5ndGg7KythKWlm +KHRbMjM4XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyMzhdW2FdXT02MDkyOCthO2Vb +NjA5MjgrYV09dFsyMzhdW2FdfXRbMjM5XT0i77+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+96ZOp +6ZOr6ZOu6ZOv6ZOz6ZO06ZO16ZO36ZO56ZO86ZO96ZO/6ZSD6ZSC6ZSG6ZSH6ZSJ6ZSK6ZSN6ZSO +6ZSP6ZSS6ZST6ZSU6ZSV6ZSW6ZSY6ZSb6ZSd6ZSe6ZSf6ZSi6ZSq6ZSr6ZSp6ZSs6ZSx6ZSy6ZS0 +6ZS26ZS36ZS46ZS86ZS+6ZS/6ZWC6ZS16ZWE6ZWF6ZWG6ZWJ6ZWM6ZWO6ZWP6ZWS6ZWT6ZWU6ZWW +6ZWX6ZWY6ZWZ6ZWb6ZWe6ZWf6ZWd6ZWh6ZWi6ZWk6ZWl6ZWm6ZWn6ZWo6ZWp6ZWq6ZWr6ZWs6ZWv +6ZWx6ZWy6ZWz6ZS655+n55+s6ZuJ56eV56et56ej56er56iG5bWH56iD56iC56ie56iU77+9Ii5z +cGxpdCgiIik7Zm9yKGE9MDthIT10WzIzOV0ubGVuZ3RoOysrYSlpZih0WzIzOV1bYV0uY2hhckNv +ZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjM5XVthXV09NjExODQrYTtlWzYxMTg0K2FdPXRbMjM5XVth +XX10WzI0MF09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veeoueeot+epkem7j+mmpeepsOea +iOeajueak+eameeapOeTnueToOeUrOm4oOm4oum4qOm4qem4qum4q+m4rOm4sum4sem4tum4uOm4 +t+m4uem4uum4vum5gem5gum5hOm5hum5h+m5iOm5iem5i+m5jOm5jum5kem5lem5l+m5mum5m+m5 +nOm5num5o+m5pum5p+m5qOm5qem5qum5q+m5rOm5sem5rem5s+eWkueWlOeWlueWoOeWneeWrOeW +o+eWs+eWtOeWuOeXhOeWseeWsOeXg+eXgueXlueXjeeXo+eXqOeXpueXpOeXq+eXp+eYg+eXseeX +vOeXv+eYkOeYgOeYheeYjOeYl+eYiueYpeeYmOeYleeYme+/vSIuc3BsaXQoIiIpO2ZvcihhPTA7 +YSE9dFsyNDBdLmxlbmd0aDsrK2EpaWYodFsyNDBdW2FdLmNoYXJDb2RlQXQoMCkhPT02NTUzMyl7 +clt0WzI0MF1bYV1dPTYxNDQwK2E7ZVs2MTQ0MCthXT10WzI0MF1bYV19dFsyNDFdPSLvv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73nmJvnmLznmKLnmKDnmYDnmK3nmLDnmL/nmLXnmYPnmL7nmLPn +mY3nmZ7nmZTnmZznmZbnmavnma/nv4rnq6bnqbjnqbnnqoDnqobnqojnqpXnqqbnqqDnqqznqqjn +qq3nqrPooaTooanoobLoob3oob/oooLooqLoo4boorfoorzoo4noo6Loo47oo6Poo6Xoo7HopJro +o7zoo6joo77oo7DopKHopJnopJPopJvopIropLTopKvopLbopYHopabopbvnlovog6XnmrLnmrTn +n5zogJLogJTogJbogJzogKDogKLogKXogKbogKfogKnogKjogLHogIvogLXogYPogYbogY3ogZLo +ganogbHopoPpobjpooDpooPvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjQxXS5sZW5ndGg7 +KythKWlmKHRbMjQxXVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyNDFdW2FdXT02MTY5 +NithO2VbNjE2OTYrYV09dFsyNDFdW2FdfXRbMjQyXT0i77+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+96aKJ6aKM6aKN6aKP6aKU6aKa6aKb6aKe6aKf6aKh6aKi6aKl6aKm6JmN6JmU6Jms6Jmu6Jm/ +6Jm66Jm86Jm76Jqo6JqN6JqL6Jqs6Jqd6Jqn6Jqj6Jqq6JqT6Jqp6Jq26JuE6Jq16JuO6Jqw6Jq6 +6Jqx6Jqv6JuJ6JuP6Jq06Jup6Jux6Juy6Jut6Juz6JuQ6JyT6Jue6Ju06Juf6JuY6JuR6JyD6JyH +6Ju46JyI6JyK6JyN6JyJ6Jyj6Jy76Jye6Jyl6Jyu6Jya6Jy+6J2I6Jy06Jyx6Jyp6Jy36Jy/6J6C +6Jyi6J296J2+6J276J2g6J2w6J2M6J2u6J6L6J2T6J2j6J286J2k6J2Z6J2l6J6T6J6v6J6o6J+S +77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzI0Ml0ubGVuZ3RoOysrYSlpZih0WzI0Ml1bYV0u +Y2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjQyXVthXV09NjE5NTIrYTtlWzYxOTUyK2FdPXRb +MjQyXVthXX10WzI0M109Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veifhuieiOieheiereie +l+ieg+ieq+ifpeierOieteies+ifi+ifk+ieveifkeifgOifiuifm+ifquifoOifruigluigk+if +vuigiuigm+igoeigueigvOe8tue9gue9hOe9heiIkOeruuerveesiOesg+eshOesleesiuesq+es +j+eth+esuOesquesmeesruesseesoOespeespOess+esvuesnuetmOetmuetheetteetjOetneet +oOetruetu+etouetsuetseeukOeupueup+euuOeurOeuneeuqOeuheeuqueunOeuoueuq+eutOev +keevgeevjOevneevmuevpeevpuevquewjOevvuevvOewj+ewluewi++/vSIuc3BsaXQoIiIpO2Zv +cihhPTA7YSE9dFsyNDNdLmxlbmd0aDsrK2EpaWYodFsyNDNdW2FdLmNoYXJDb2RlQXQoMCkhPT02 +NTUzMyl7clt0WzI0M11bYV1dPTYyMjA4K2E7ZVs2MjIwOCthXT10WzI0M11bYV19dFsyNDRdPSLv +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73nsJ/nsKrnsKbnsLjnsYHnsYDoh77oiIHoiILoiITo +h6zooYToiKHoiKLoiKPoiK3oiK/oiKjoiKvoiLjoiLvoiLPoiLToiL7oiYToiYnoiYvoiY/oiZro +iZ/oiajoob7oooXooojoo5joo5/opZ7nvp3nvp/nvqfnvq/nvrDnvrLnsbzmlYnnspHnsp3nspzn +sp7nsqLnsrLnsrznsr3ns4Hns4fns4zns43ns4jns4Xns5fns6joia7mmqjnvr/nv47nv5Xnv6Xn +v6Hnv6bnv6nnv67nv7Pns7jntbfntqbntq7nuYfnupvpurjpurTotbPotoTotpTotpHotrHotafo +ta3osYfosYnphYrphZDphY7phY/phaTvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRbMjQ0XS5s +ZW5ndGg7KythKWlmKHRbMjQ0XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsyNDRdW2Fd +XT02MjQ2NCthO2VbNjI0NjQrYV09dFsyNDRdW2FdfXRbMjQ1XT0i77+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+977+9 +77+977+977+96YWi6YWh6YWw6YWp6YWv6YW96YW+6YWy6YW06YW56YaM6YaF6YaQ6YaN6YaR6Yai +6Yaj6Yaq6Yat6Yau6Yav6Ya16Ya06Ya66LGV6bm+6La46Ler6LiF6LmZ6Lmp6La16La/6La86La6 +6LeE6LeW6LeX6Lea6Lee6LeO6LeP6Leb6LeG6Les6Le36Le46Lej6Le56Le76Lek6LiJ6Le96LiU +6Lid6Lif6Lis6Liu6Lij6Liv6Li66LmA6Li56Li16Li96Lix6LmJ6LmB6LmC6LmR6LmS6LmK6Lmw +6Lm26Lm86Lmv6Lm06LqF6LqP6LqU6LqQ6Lqc6Lqe6LG46LKC6LKK6LKF6LKY6LKU5pab6KeW6Kee +6Kea6Kec77+9Ii5zcGxpdCgiIik7Zm9yKGE9MDthIT10WzI0NV0ubGVuZ3RoOysrYSlpZih0WzI0 +NV1bYV0uY2hhckNvZGVBdCgwKSE9PTY1NTMzKXtyW3RbMjQ1XVthXV09NjI3MjArYTtlWzYyNzIw +K2FdPXRbMjQ1XVthXX10WzI0Nl09Iu+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ +ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/ve+/veinpeinq+in +r+iovuispumdk+mbqembs+mbr+mchumcgemciOmcj+mcjumcqumcremcsOmcvum+gOm+g+m+hem+ +hum+h+m+iOm+iem+ium+jOm7vum8i+m8jemauemavOmavembjumbkueev+mboOmKjumKrumLiOmM +vumNqumPiumOj+mQvumRq+mxv+mygumyhemyhumyh+myiOeoo+myi+myjumykOmykemykumylOmy +lemymumym+mynumyn+myoOmyoemyoumyo+mypemypumyp+myqOmyqemyq+myremyrumysOmysemy +sumys+mytOmytemytumyt+myuumyu+myvOmyvemzhOmzhemzhumzh+mziumzi++/vSIuc3BsaXQo +IiIpO2ZvcihhPTA7YSE9dFsyNDZdLmxlbmd0aDsrK2EpaWYodFsyNDZdW2FdLmNoYXJDb2RlQXQo +MCkhPT02NTUzMyl7clt0WzI0Nl1bYV1dPTYyOTc2K2E7ZVs2Mjk3NithXT10WzI0Nl1bYV19dFsy +NDddPSLvv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73v +v73vv73vv73vv73vv73vv73vv73vv73vv73vv73vv73ps4zps43ps47ps4/ps5Dps5Pps5Tps5Xp +s5fps5jps5nps5zps53ps5/ps6LpnbzpnoXpnpHpnpLpnpTpnq/pnqvpnqPpnrLpnrTpqrHpqrDp +qrfpuZjpqrbpqrrpqrzpq4Hpq4Dpq4Xpq4Lpq4vpq4zpq5HprYXprYPprYfprYnprYjprY3prZHp +o6jppI3ppK7ppZXppZTpq5/pq6Hpq6bpq6/pq6vpq7vpq63pq7nprIjprI/prJPprJ/prKPpur3p +ur7nuLvpuoLpuofpuojpuovpupLpj5bpup3pup/pu5vpu5zpu53pu6Dpu5/pu6Lpu6npu6fpu6Xp +u6rpu6/pvKLpvKzpvK/pvLnpvLfpvL3pvL7pvYTvv70iLnNwbGl0KCIiKTtmb3IoYT0wO2EhPXRb +MjQ3XS5sZW5ndGg7KythKWlmKHRbMjQ3XVthXS5jaGFyQ29kZUF0KDApIT09NjU1MzMpe3JbdFsy +NDddW2FdXT02MzIzMithO2VbNjMyMzIrYV09dFsyNDddW2FdfXJldHVybntlbmM6cixkZWM6ZX19 +KCk7Y3B0YWJsZVsxMDAyOV09ZnVuY3Rpb24oKXt2YXIgZT0iXDABAgMEBQYHXGJcdFxuXHgwQlxm +XHIODxAREhMUFRYXGBkaGxwdHh8gIVwiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJD +REVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7 +fH1+f8OExIDEgcOJxITDlsOcw6HEhcSMw6TEjcSGxIfDqcW5xbrEjsOtxI/EksSTxJbDs8SXw7TD +tsO1w7rEmsSbw7zigKDCsMSYwqPCp+KAosK2w5/CrsKp4oSixJnCqOKJoMSjxK7Er8Sq4omk4oml +xKvEtuKIguKIkcWCxLvEvMS9xL7EucS6xYXFhsWDwqziiJrFhMWH4oiGwqvCu+KApsKgxYjFkMOV +xZHFjOKAk+KAlOKAnOKAneKAmOKAmcO34peKxY3FlMWVxZjigLnigLrFmcWWxZfFoOKAmuKAnsWh +xZrFm8OBxaTFpcONxb3FvsWqw5PDlMWrxa7DmsWvxbDFscWyxbPDncO9xLfFu8WBxbzEosuHIixy +PVtdLHQ9e307Zm9yKHZhciBhPTA7YSE9ZS5sZW5ndGg7KythKXtpZihlLmNoYXJDb2RlQXQoYSkh +PT02NTUzMyl0W2UuY2hhckF0KGEpXT1hO3JbYV09ZS5jaGFyQXQoYSl9cmV0dXJue2VuYzp0LGRl +YzpyfX0oKTtjcHRhYmxlWzEwMDc5XT1mdW5jdGlvbigpe3ZhciBlPSJcMAECAwQFBgdcYlx0XG5c +eDBCXGZccg4PEBESExQVFhcYGRobHB0eHyAhXCIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+ +P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2 +d3h5ent8fX5/w4TDhcOHw4nDkcOWw5zDocOgw6LDpMOjw6XDp8Opw6jDqsOrw63DrMOuw6/DscOz +w7LDtMO2w7XDusO5w7vDvMOdwrDCosKjwqfigKLCtsOfwq7CqeKEosK0wqjiiaDDhsOY4oiewrHi +iaTiiaXCpcK14oiC4oiR4oiPz4DiiKvCqsK64oSmw6bDuMK/wqHCrOKImsaS4omI4oiGwqvCu+KA +psKgw4DDg8OVxZLFk+KAk+KAlOKAnOKAneKAmOKAmcO34peKw7/FuOKBhMKkw5DDsMOew77DvcK3 +4oCa4oCe4oCww4LDisOBw4vDiMONw47Dj8OMw5PDlO+/vcOSw5rDm8OZxLHLhsucwq/LmMuZy5rC +uMudy5vLhyIscj1bXSx0PXt9O2Zvcih2YXIgYT0wO2EhPWUubGVuZ3RoOysrYSl7aWYoZS5jaGFy +Q29kZUF0KGEpIT09NjU1MzMpdFtlLmNoYXJBdChhKV09YTtyW2FdPWUuY2hhckF0KGEpfXJldHVy +bntlbmM6dCxkZWM6cn19KCk7Y3B0YWJsZVsxMDA4MV09ZnVuY3Rpb24oKXt2YXIgZT0iXDABAgME +BQYHXGJcdFxuXHgwQlxmXHIODxAREhMUFRYXGBkaGxwdHh8gIVwiIyQlJicoKSorLC0uLzAxMjM0 +NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxdXl9gYWJjZGVmZ2hpamts +bW5vcHFyc3R1dnd4eXp7fH1+f8OEw4XDh8OJw5HDlsOcw6HDoMOiw6TDo8Olw6fDqcOow6rDq8Ot +w6zDrsOvw7HDs8Oyw7TDtsO1w7rDucO7w7zigKDCsMKiwqPCp+KAosK2w5/CrsKp4oSiwrTCqOKJ +oMOGw5jiiJ7CseKJpOKJpcKlwrXiiILiiJHiiI/PgOKIq8KqwrrihKbDpsO4wr/CocKs4oiaxpLi +iYjiiIbCq8K74oCmwqDDgMODw5XFksWT4oCT4oCU4oCc4oCd4oCY4oCZw7fil4rDv8W4xJ7En8Sw +xLHFnsWf4oChwrfigJrigJ7igLDDgsOKw4HDi8OIw43DjsOPw4zDk8OU77+9w5LDmsObw5nvv73L +hsucwq/LmMuZy5rCuMudy5vLhyIscj1bXSx0PXt9O2Zvcih2YXIgYT0wO2EhPWUubGVuZ3RoOysr +YSl7aWYoZS5jaGFyQ29kZUF0KGEpIT09NjU1MzMpdFtlLmNoYXJBdChhKV09YTtyW2FdPWUuY2hh +ckF0KGEpfXJldHVybntlbmM6dCxkZWM6cn19KCk7Y3B0YWJsZVsyODU5MV09ZnVuY3Rpb24oKXt2 +YXIgZT0iXDABAgMEBQYHXGJcdFxuXHgwQlxmXHIODxAREhMUFRYXGBkaGxwdHh8gIVwiIyQlJico +KSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxdXl9g +YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f8KAwoHCgsKDwoTChcKGwofCiMKJworCi8KM +wo3CjsKPwpDCkcKSwpPClMKVwpbCl8KYwpnCmsKbwpzCncKewp/CoMKhwqLCo8KkwqXCpsKnwqjC +qcKqwqvCrMKtwq7Cr8KwwrHCssKzwrTCtcK2wrfCuMK5wrrCu8K8wr3CvsK/w4DDgcOCw4PDhMOF +w4bDh8OIw4nDisOLw4zDjcOOw4/DkMORw5LDk8OUw5XDlsOXw5jDmcOaw5vDnMOdw57Dn8Ogw6HD +osOjw6TDpcOmw6fDqMOpw6rDq8Osw63DrsOvw7DDscOyw7PDtMO1w7bDt8O4w7nDusO7w7zDvcO+ +w78iLHI9W10sdD17fTtmb3IodmFyIGE9MDthIT1lLmxlbmd0aDsrK2Epe2lmKGUuY2hhckNvZGVB +dChhKSE9PTY1NTMzKXRbZS5jaGFyQXQoYSldPWE7clthXT1lLmNoYXJBdChhKX1yZXR1cm57ZW5j +OnQsZGVjOnJ9fSgpO2lmKHR5cGVvZiBtb2R1bGUhPT0idW5kZWZpbmVkIiYmbW9kdWxlLmV4cG9y +dHMmJnR5cGVvZiBET19OT1RfRVhQT1JUX0NPREVQQUdFPT09InVuZGVmaW5lZCIpbW9kdWxlLmV4 +cG9ydHM9Y3B0YWJsZTsoZnVuY3Rpb24oZSxyKXsidXNlIHN0cmljdCI7aWYodHlwZW9mIGNwdGFi +bGU9PT0idW5kZWZpbmVkIil7aWYodHlwZW9mIHJlcXVpcmUhPT0idW5kZWZpbmVkIil7dmFyIHQ9 +Y3B0YWJsZTtpZih0eXBlb2YgbW9kdWxlIT09InVuZGVmaW5lZCImJm1vZHVsZS5leHBvcnRzJiZ0 +eXBlb2YgRE9fTk9UX0VYUE9SVF9DT0RFUEFHRT09PSJ1bmRlZmluZWQiKW1vZHVsZS5leHBvcnRz +PXIodCk7ZWxzZSBlLmNwdGFibGU9cih0KX1lbHNlIHRocm93IG5ldyBFcnJvcigiY3B0YWJsZSBu +b3QgZm91bmQiKX1lbHNlIGNwdGFibGU9cihjcHRhYmxlKX0pKHRoaXMsZnVuY3Rpb24oZSl7InVz +ZSBzdHJpY3QiO3ZhciByPXsxMjAwOiJ1dGYxNmxlIiwxMjAxOiJ1dGYxNmJlIiwxMjAwMDoidXRm +MzJsZSIsMTIwMDE6InV0ZjMyYmUiLDE2OTY5OiJ1dGY2NGxlIiwyMDEyNzoiYXNjaWkiLDY1MDAw +OiJ1dGY3Iiw2NTAwMToidXRmOCJ9O3ZhciB0PVs4NzQsMTI1MCwxMjUxLDEyNTIsMTI1MywxMjU0 +LDEyNTUsMTI1NiwxZTRdO3ZhciBhPVs5MzIsOTM2LDk0OSw5NTBdO3ZhciBuPVs2NTAwMV07dmFy +IGk9e307dmFyIHM9e307dmFyIGY9e307dmFyIGw9e307dmFyIG89ZnVuY3Rpb24gRChlKXtyZXR1 +cm4gU3RyaW5nLmZyb21DaGFyQ29kZShlKX07dmFyIGM9ZnVuY3Rpb24gUChlKXtyZXR1cm4gZS5j +aGFyQ29kZUF0KDApfTt2YXIgaD10eXBlb2YgQnVmZmVyIT09InVuZGVmaW5lZCI7dmFyIHU9ZnVu +Y3Rpb24oKXt9O2lmKGgpe3ZhciBkPSFCdWZmZXIuZnJvbTtpZighZCl0cnl7QnVmZmVyLmZyb20o +ImZvbyIsInV0ZjgiKX1jYXRjaCh2KXtkPXRydWV9dT1kP2Z1bmN0aW9uKGUscil7cmV0dXJuIHI/ +bmV3IEJ1ZmZlcihlLHIpOm5ldyBCdWZmZXIoZSl9OkJ1ZmZlci5mcm9tLmJpbmQoQnVmZmVyKTtp +ZighQnVmZmVyLmFsbG9jVW5zYWZlKUJ1ZmZlci5hbGxvY1Vuc2FmZT1mdW5jdGlvbihlKXtyZXR1 +cm4gbmV3IEJ1ZmZlcihlKX07dmFyIHA9MTAyNCxtPUJ1ZmZlci5hbGxvY1Vuc2FmZShwKTt2YXIg +Zz1mdW5jdGlvbiBMKGUpe3ZhciByPUJ1ZmZlci5hbGxvY1Vuc2FmZSg2NTUzNik7Zm9yKHZhciB0 +PTA7dDw2NTUzNjsrK3Qpclt0XT0wO3ZhciBhPU9iamVjdC5rZXlzKGUpLG49YS5sZW5ndGg7Zm9y +KHZhciBpPTAscz1hW2ldO2k8bjsrK2kpe2lmKCEocz1hW2ldKSljb250aW51ZTtyW3MuY2hhckNv +ZGVBdCgwKV09ZVtzXX1yZXR1cm4gcn07dmFyIGI9ZnVuY3Rpb24gTShyKXt2YXIgdD1nKGVbcl0u +ZW5jKTtyZXR1cm4gZnVuY3Rpb24gYShlLHIpe3ZhciBhPWUubGVuZ3RoO3ZhciBuLGk9MCxzPTAs +Zj0wLGw9MDtpZih0eXBlb2YgZT09PSJzdHJpbmciKXtuPUJ1ZmZlci5hbGxvY1Vuc2FmZShhKTtm +b3IoaT0wO2k8YTsrK2kpbltpXT10W2UuY2hhckNvZGVBdChpKV19ZWxzZSBpZihCdWZmZXIuaXNC +dWZmZXIoZSkpewpuPUJ1ZmZlci5hbGxvY1Vuc2FmZSgyKmEpO3M9MDtmb3IoaT0wO2k8YTsrK2kp +e2Y9ZVtpXTtpZihmPDEyOCluW3MrK109dFtmXTtlbHNlIGlmKGY8MjI0KXtuW3MrK109dFsoKGYm +MzEpPDw2KSsoZVtpKzFdJjYzKV07KytpfWVsc2UgaWYoZjwyNDApe25bcysrXT10WygoZiYxNSk8 +PDEyKSsoKGVbaSsxXSY2Myk8PDYpKyhlW2krMl0mNjMpXTtpKz0yfWVsc2V7bD0oKGYmNyk8PDE4 +KSsoKGVbaSsxXSY2Myk8PDEyKSsoKGVbaSsyXSY2Myk8PDYpKyhlW2krM10mNjMpO2krPTM7aWYo +bDw2NTUzNiluW3MrK109dFtsXTtlbHNle2wtPTY1NTM2O25bcysrXT10WzU1Mjk2KyhsPj4xMCYx +MDIzKV07bltzKytdPXRbNTYzMjArKGwmMTAyMyldfX19bj1uLnNsaWNlKDAscyl9ZWxzZXtuPUJ1 +ZmZlci5hbGxvY1Vuc2FmZShhKTtmb3IoaT0wO2k8YTsrK2kpbltpXT10W2VbaV0uY2hhckNvZGVB +dCgwKV19aWYoIXJ8fHI9PT0iYnVmIilyZXR1cm4gbjtpZihyIT09ImFyciIpcmV0dXJuIG4udG9T +dHJpbmcoImJpbmFyeSIpO3JldHVybltdLnNsaWNlLmNhbGwobil9fTt2YXIgdz1mdW5jdGlvbiBV +KHIpe3ZhciB0PWVbcl0uZGVjO3ZhciBhPUJ1ZmZlci5hbGxvY1Vuc2FmZSgxMzEwNzIpLG49MCxp +PSIiO2ZvcihuPTA7bjx0Lmxlbmd0aDsrK24pe2lmKCEoaT10W25dKSljb250aW51ZTt2YXIgcz1p +LmNoYXJDb2RlQXQoMCk7YVsyKm5dPXMmMjU1O2FbMipuKzFdPXM+Pjh9cmV0dXJuIGZ1bmN0aW9u +IGYoZSl7dmFyIHI9ZS5sZW5ndGgsdD0wLG49MDtpZigyKnI+cCl7cD0yKnI7bT1CdWZmZXIuYWxs +b2NVbnNhZmUocCl9aWYoQnVmZmVyLmlzQnVmZmVyKGUpKXtmb3IodD0wO3Q8cjt0Kyspe249Mipl +W3RdO21bMip0XT1hW25dO21bMip0KzFdPWFbbisxXX19ZWxzZSBpZih0eXBlb2YgZT09PSJzdHJp +bmciKXtmb3IodD0wO3Q8cjt0Kyspe249MiplLmNoYXJDb2RlQXQodCk7bVsyKnRdPWFbbl07bVsy +KnQrMV09YVtuKzFdfX1lbHNle2Zvcih0PTA7dDxyO3QrKyl7bj0yKmVbdF07bVsyKnRdPWFbbl07 +bVsyKnQrMV09YVtuKzFdfX1yZXR1cm4gbS5zbGljZSgwLDIqcikudG9TdHJpbmcoInVjczIiKX19 +O3ZhciBrPWZ1bmN0aW9uIEIocil7dmFyIHQ9ZVtyXS5lbmM7dmFyIGE9QnVmZmVyLmFsbG9jVW5z +YWZlKDEzMTA3Mik7Zm9yKHZhciBuPTA7bjwxMzEwNzI7KytuKWFbbl09MDt2YXIgaT1PYmplY3Qu +a2V5cyh0KTtmb3IodmFyIHM9MCxmPWlbc107czxpLmxlbmd0aDsrK3Mpe2lmKCEoZj1pW3NdKSlj +b250aW51ZTt2YXIgbD1mLmNoYXJDb2RlQXQoMCk7YVsyKmxdPXRbZl0mMjU1O2FbMipsKzFdPXRb +Zl0+Pjh9cmV0dXJuIGZ1bmN0aW9uIG8oZSxyKXt2YXIgdD1lLmxlbmd0aCxuPUJ1ZmZlci5hbGxv +Y1Vuc2FmZSgyKnQpLGk9MCxzPTAsZj0wLGw9MCxvPTA7aWYodHlwZW9mIGU9PT0ic3RyaW5nIil7 +Zm9yKGk9bD0wO2k8dDsrK2kpe3M9ZS5jaGFyQ29kZUF0KGkpKjI7bltsKytdPWFbcysxXXx8YVtz +XTtpZihhW3MrMV0+MCluW2wrK109YVtzXX1uPW4uc2xpY2UoMCxsKX1lbHNlIGlmKEJ1ZmZlci5p +c0J1ZmZlcihlKSl7Zm9yKGk9bD0wO2k8dDsrK2kpe289ZVtpXTtpZihvPDEyOClzPW87ZWxzZSBp +ZihvPDIyNCl7cz0oKG8mMzEpPDw2KSsoZVtpKzFdJjYzKTsrK2l9ZWxzZSBpZihvPDI0MCl7cz0o +KG8mMTUpPDwxMikrKChlW2krMV0mNjMpPDw2KSsoZVtpKzJdJjYzKTtpKz0yfWVsc2V7cz0oKG8m +Nyk8PDE4KSsoKGVbaSsxXSY2Myk8PDEyKSsoKGVbaSsyXSY2Myk8PDYpKyhlW2krM10mNjMpO2kr +PTN9aWYoczw2NTUzNil7cyo9MjtuW2wrK109YVtzKzFdfHxhW3NdO2lmKGFbcysxXT4wKW5bbCsr +XT1hW3NdfWVsc2V7Zj1zLTY1NTM2O3M9MiooNTUyOTYrKGY+PjEwJjEwMjMpKTtuW2wrK109YVtz +KzFdfHxhW3NdO2lmKGFbcysxXT4wKW5bbCsrXT1hW3NdO3M9MiooNTYzMjArKGYmMTAyMykpO25b +bCsrXT1hW3MrMV18fGFbc107aWYoYVtzKzFdPjApbltsKytdPWFbc119fW49bi5zbGljZSgwLGwp +fWVsc2V7Zm9yKGk9bD0wO2k8dDtpKyspe3M9ZVtpXS5jaGFyQ29kZUF0KDApKjI7bltsKytdPWFb +cysxXXx8YVtzXTtpZihhW3MrMV0+MCluW2wrK109YVtzXX19aWYoIXJ8fHI9PT0iYnVmIilyZXR1 +cm4gbjtpZihyIT09ImFyciIpcmV0dXJuIG4udG9TdHJpbmcoImJpbmFyeSIpO3JldHVybltdLnNs +aWNlLmNhbGwobil9fTt2YXIgQT1mdW5jdGlvbiBXKHIpe3ZhciB0PWVbcl0uZGVjO3ZhciBhPUJ1 +ZmZlci5hbGxvY1Vuc2FmZSgxMzEwNzIpLG49MCxpLHM9MCxmPTAsbD0wO2ZvcihsPTA7bDw2NTUz +NjsrK2wpe2FbMipsXT0yNTU7YVsyKmwrMV09MjUzfWZvcihuPTA7bjx0Lmxlbmd0aDsrK24pe2lm +KCEoaT10W25dKSljb250aW51ZTtzPWkuY2hhckNvZGVBdCgwKTtmPTIqbjthW2ZdPXMmMjU1O2Fb +ZisxXT1zPj44fXJldHVybiBmdW5jdGlvbiBvKGUpe3ZhciByPWUubGVuZ3RoLHQ9QnVmZmVyLmFs +bG9jVW5zYWZlKDIqciksbj0wLGk9MCxzPTA7aWYoQnVmZmVyLmlzQnVmZmVyKGUpKXtmb3Iobj0w +O248cjtuKyspe2k9MiplW25dO2lmKGFbaV09PT0yNTUmJmFbaSsxXT09PTI1Myl7aT0yKigoZVtu +XTw8OCkrZVtuKzFdKTsrK259dFtzKytdPWFbaV07dFtzKytdPWFbaSsxXX19ZWxzZSBpZih0eXBl +b2YgZT09PSJzdHJpbmciKXtmb3Iobj0wO248cjtuKyspe2k9MiplLmNoYXJDb2RlQXQobik7aWYo +YVtpXT09PTI1NSYmYVtpKzFdPT09MjUzKXtpPTIqKChlLmNoYXJDb2RlQXQobik8PDgpK2UuY2hh +ckNvZGVBdChuKzEpKTsrK259dFtzKytdPWFbaV07dFtzKytdPWFbaSsxXX19ZWxzZXtmb3Iobj0w +O248cjtuKyspe2k9MiplW25dO2lmKGFbaV09PT0yNTUmJmFbaSsxXT09PTI1Myl7aT0yKigoZVtu +XTw8OCkrZVtuKzFdKTsrK259dFtzKytdPWFbaV07dFtzKytdPWFbaSsxXX19cmV0dXJuIHQuc2xp +Y2UoMCxzKS50b1N0cmluZygidWNzMiIpfX07aVs2NTAwMV09ZnVuY3Rpb24geihlKXtpZih0eXBl +b2YgZT09PSJzdHJpbmciKXJldHVybiB6KGUuc3BsaXQoIiIpLm1hcChjKSk7dmFyIHI9ZS5sZW5n +dGgsdD0wLGE9MDtpZig0KnI+cCl7cD00KnI7bT1CdWZmZXIuYWxsb2NVbnNhZmUocCl9dmFyIG49 +MDtpZihyPj0zJiZlWzBdPT0yMzkpaWYoZVsxXT09MTg3JiZlWzJdPT0xOTEpbj0zO2Zvcih2YXIg +aT0xLHM9MCxmPTA7bjxyO24rPWkpe2k9MTtmPWVbbl07aWYoZjwxMjgpdD1mO2Vsc2UgaWYoZjwy +MjQpe3Q9KGYmMzEpKjY0KyhlW24rMV0mNjMpO2k9Mn1lbHNlIGlmKGY8MjQwKXt0PSgoZiYxNSk8 +PDEyKSsoZVtuKzFdJjYzKSo2NCsoZVtuKzJdJjYzKTtpPTN9ZWxzZXt0PShmJjcpKjI2MjE0NCso +KGVbbisxXSY2Myk8PDEyKSsoZVtuKzJdJjYzKSo2NCsoZVtuKzNdJjYzKTtpPTR9aWYodDw2NTUz +Nil7bVtzKytdPXQmMjU1O21bcysrXT10Pj44fWVsc2V7dC09NjU1MzY7YT01NTI5NisodD4+MTAm +MTAyMyk7dD01NjMyMCsodCYxMDIzKTttW3MrK109YSYyNTU7bVtzKytdPWE+Pj44O21bcysrXT10 +JjI1NTttW3MrK109dD4+PjgmMjU1fX1yZXR1cm4gbS5zbGljZSgwLHMpLnRvU3RyaW5nKCJ1Y3My +Iil9O3NbNjUwMDFdPWZ1bmN0aW9uIEgoZSxyKXtpZihoJiZCdWZmZXIuaXNCdWZmZXIoZSkpe2lm +KCFyfHxyPT09ImJ1ZiIpcmV0dXJuIGU7aWYociE9PSJhcnIiKXJldHVybiBlLnRvU3RyaW5nKCJi +aW5hcnkiKTtyZXR1cm5bXS5zbGljZS5jYWxsKGUpfXZhciB0PWUubGVuZ3RoLGE9MCxuPTAsaT0w +O3ZhciBzPXR5cGVvZiBlPT09InN0cmluZyI7aWYoNCp0PnApe3A9NCp0O209QnVmZmVyLmFsbG9j +VW5zYWZlKHApfWZvcih2YXIgZj0wO2Y8dDsrK2Ype2E9cz9lLmNoYXJDb2RlQXQoZik6ZVtmXS5j +aGFyQ29kZUF0KDApO2lmKGE8PTEyNyltW2krK109YTtlbHNlIGlmKGE8PTIwNDcpe21baSsrXT0x +OTIrKGE+PjYpO21baSsrXT0xMjgrKGEmNjMpfWVsc2UgaWYoYT49NTUyOTYmJmE8PTU3MzQzKXth +LT01NTI5NjsrK2Y7bj0ocz9lLmNoYXJDb2RlQXQoZik6ZVtmXS5jaGFyQ29kZUF0KDApKS01NjMy +MCsoYTw8MTApO21baSsrXT0yNDArKG4+Pj4xOCY3KTttW2krK109MTQ0KyhuPj4+MTImNjMpO21b +aSsrXT0xMjgrKG4+Pj42JjYzKTttW2krK109MTI4KyhuJjYzKX1lbHNle21baSsrXT0yMjQrKGE+ +PjEyKTttW2krK109MTI4KyhhPj42JjYzKTttW2krK109MTI4KyhhJjYzKX19aWYoIXJ8fHI9PT0i +YnVmIilyZXR1cm4gbS5zbGljZSgwLGkpO2lmKHIhPT0iYXJyIilyZXR1cm4gbS5zbGljZSgwLGkp +LnRvU3RyaW5nKCJiaW5hcnkiKTtyZXR1cm5bXS5zbGljZS5jYWxsKG0sMCxpKX19dmFyIFQ9ZnVu +Y3Rpb24gVigpe2lmKGgpe2lmKGZbdFswXV0pcmV0dXJuO3ZhciByPTAsbz0wO2ZvcihyPTA7cjx0 +Lmxlbmd0aDsrK3Ipe289dFtyXTtpZihlW29dKXtmW29dPXcobyk7bFtvXT1iKG8pfX1mb3Iocj0w +O3I8YS5sZW5ndGg7KytyKXtvPWFbcl07aWYoZVtvXSl7ZltvXT1BKG8pO2xbb109ayhvKX19Zm9y +KHI9MDtyPG4ubGVuZ3RoOysrcil7bz1uW3JdO2lmKGlbb10pZltvXT1pW29dO2lmKHNbb10pbFtv +XT1zW29dfX19O3ZhciB5PWZ1bmN0aW9uKGUscil7dm9pZCByO3JldHVybiIifTt2YXIgRT1mdW5j +dGlvbiAkKGUpe2RlbGV0ZSBmW2VdO2RlbGV0ZSBsW2VdfTt2YXIgQz1mdW5jdGlvbiBYKCl7aWYo +aCl7aWYoIWZbdFswXV0pcmV0dXJuO3QuZm9yRWFjaChFKTthLmZvckVhY2goRSk7bi5mb3JFYWNo +KEUpfU89eTtJPTB9O3ZhciBfPXtlbmNhY2hlOlQsZGVjYWNoZTpDLHNiY3M6dCxkYmNzOmF9O1Qo +KTt2YXIgUz0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2 +d3h5ejAxMjM0NTY3ODkrLyI7dmFyIHg9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVm +Z2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5JygpLC0uLzo/Ijt2YXIgTz15LEk9MDt2YXIg +Uj1mdW5jdGlvbiBHKHQsYSxuKXtpZih0PT09SSYmTyl7cmV0dXJuIE8oYSxuKX1pZihsW3RdKXtP +PWxbST10XTtyZXR1cm4gTyhhLG4pfWlmKGgmJkJ1ZmZlci5pc0J1ZmZlcihhKSlhPWEudG9TdHJp +bmcoInV0ZjgiKTt2YXIgaT1hLmxlbmd0aDt2YXIgcz1oP0J1ZmZlci5hbGxvY1Vuc2FmZSg0Kmkp +OltdLGY9MCxjPTAsZD0wLHY9MDt2YXIgcD1lW3RdLG0sZz0iIjt2YXIgYj10eXBlb2YgYT09PSJz +dHJpbmciO2lmKHAmJihtPXAuZW5jKSlmb3IoYz0wO2M8aTsrK2MsKytkKXtmPW1bYj9hLmNoYXJB +dChjKTphW2NdXTtpZihmPjI1NSl7c1tkXT1mPj44O3NbKytkXT1mJjI1NX1lbHNlIHNbZF09ZiYy +NTV9ZWxzZSBpZihnPXJbdF0pc3dpdGNoKGcpe2Nhc2UidXRmOCI6aWYoaCYmYil7cz11KGEsZyk7 +ZD1zLmxlbmd0aDticmVha31mb3IoYz0wO2M8aTsrK2MsKytkKXtmPWI/YS5jaGFyQ29kZUF0KGMp +OmFbY10uY2hhckNvZGVBdCgwKTtpZihmPD0xMjcpc1tkXT1mO2Vsc2UgaWYoZjw9MjA0Nyl7c1tk +XT0xOTIrKGY+PjYpO3NbKytkXT0xMjgrKGYmNjMpfWVsc2UgaWYoZj49NTUyOTYmJmY8PTU3MzQz +KXtmLT01NTI5Njt2PShiP2EuY2hhckNvZGVBdCgrK2MpOmFbKytjXS5jaGFyQ29kZUF0KDApKS01 +NjMyMCsoZjw8MTApO3NbZF09MjQwKyh2Pj4+MTgmNyk7c1srK2RdPTE0NCsodj4+PjEyJjYzKTtz +WysrZF09MTI4Kyh2Pj4+NiY2Myk7c1srK2RdPTEyOCsodiY2Myl9ZWxzZXtzW2RdPTIyNCsoZj4+ +MTIpO3NbKytkXT0xMjgrKGY+PjYmNjMpO3NbKytkXT0xMjgrKGYmNjMpfX1icmVhaztjYXNlImFz +Y2lpIjppZihoJiZ0eXBlb2YgYT09PSJzdHJpbmciKXtzPXUoYSxnKTtkPXMubGVuZ3RoO2JyZWFr +fWZvcihjPTA7YzxpOysrYywrK2Qpe2Y9Yj9hLmNoYXJDb2RlQXQoYyk6YVtjXS5jaGFyQ29kZUF0 +KDApO2lmKGY8PTEyNylzW2RdPWY7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoImJhZCBhc2NpaSAiK2Yp +fWJyZWFrO2Nhc2UidXRmMTZsZSI6aWYoaCYmdHlwZW9mIGE9PT0ic3RyaW5nIil7cz11KGEsZyk7 +ZD1zLmxlbmd0aDticmVha31mb3IoYz0wO2M8aTsrK2Mpe2Y9Yj9hLmNoYXJDb2RlQXQoYyk6YVtj +XS5jaGFyQ29kZUF0KDApO3NbZCsrXT1mJjI1NTtzW2QrK109Zj4+OH1icmVhaztjYXNlInV0ZjE2 +YmUiOmZvcihjPTA7YzxpOysrYyl7Zj1iP2EuY2hhckNvZGVBdChjKTphW2NdLmNoYXJDb2RlQXQo +MCk7c1tkKytdPWY+Pjg7c1tkKytdPWYmMjU1fWJyZWFrO2Nhc2UidXRmMzJsZSI6Zm9yKGM9MDtj +PGk7KytjKXtmPWI/YS5jaGFyQ29kZUF0KGMpOmFbY10uY2hhckNvZGVBdCgwKTtpZihmPj01NTI5 +NiYmZjw9NTczNDMpZj02NTUzNisoZi01NTI5Njw8MTApKyhhWysrY10uY2hhckNvZGVBdCgwKS01 +NjMyMCk7c1tkKytdPWYmMjU1O2Y+Pj04O3NbZCsrXT1mJjI1NTtmPj49ODtzW2QrK109ZiYyNTU7 +Zj4+PTg7c1tkKytdPWYmMjU1fWJyZWFrO2Nhc2UidXRmMzJiZSI6Zm9yKGM9MDtjPGk7KytjKXtm +PWI/YS5jaGFyQ29kZUF0KGMpOmFbY10uY2hhckNvZGVBdCgwKTtpZihmPj01NTI5NiYmZjw9NTcz +NDMpZj02NTUzNisoZi01NTI5Njw8MTApKyhhWysrY10uY2hhckNvZGVBdCgwKS01NjMyMCk7c1tk +KzNdPWYmMjU1O2Y+Pj04O3NbZCsyXT1mJjI1NTtmPj49ODtzW2QrMV09ZiYyNTU7Zj4+PTg7c1tk +XT1mJjI1NTtkKz00fWJyZWFrO2Nhc2UidXRmNyI6Zm9yKGM9MDtjPGk7YysrKXt2YXIgdz1iP2Eu +Y2hhckF0KGMpOmFbY10uY2hhckF0KDApO2lmKHc9PT0iKyIpe3NbZCsrXT00MztzW2QrK109NDU7 +Y29udGludWV9aWYoeC5pbmRleE9mKHcpPi0xKXtzW2QrK109dy5jaGFyQ29kZUF0KDApO2NvbnRp +bnVlfXZhciBrPUcoMTIwMSx3KTtzW2QrK109NDM7c1tkKytdPVMuY2hhckNvZGVBdChrWzBdPj4y +KTtzW2QrK109Uy5jaGFyQ29kZUF0KCgoa1swXSYzKTw8NCkrKChrWzFdfHwwKT4+NCkpO3NbZCsr +XT1TLmNoYXJDb2RlQXQoKChrWzFdJjE1KTw8MikrKChrWzJdfHwwKT4+NikpO3NbZCsrXT00NX1i +cmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgbWFnaWM6ICIrdCsiICIr +clt0XSk7fWVsc2UgdGhyb3cgbmV3IEVycm9yKCJVbnJlY29nbml6ZWQgQ1A6ICIrdCk7cz1zLnNs +aWNlKDAsZCk7aWYoIWgpcmV0dXJuIG49PSJzdHIiP3MubWFwKG8pLmpvaW4oIiIpOnM7aWYoIW58 +fG49PT0iYnVmIilyZXR1cm4gcztpZihuIT09ImFyciIpcmV0dXJuIHMudG9TdHJpbmcoImJpbmFy +eSIpO3JldHVybltdLnNsaWNlLmNhbGwocyl9O3ZhciBOPWZ1bmN0aW9uIGoodCxhKXt2YXIgbjtp +ZihuPWZbdF0pcmV0dXJuIG4oYSk7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm4gaih0LGEu +c3BsaXQoIiIpLm1hcChjKSk7dmFyIGk9YS5sZW5ndGgscz1uZXcgQXJyYXkoaSksbD0iIixvPTAs +dT0wLGQ9MSx2PTAscD0wO3ZhciBtPWVbdF0sZyxiPSIiO2lmKG0mJihnPW0uZGVjKSl7Zm9yKHU9 +MDt1PGk7dSs9ZCl7ZD0yO2w9Z1soYVt1XTw8OCkrYVt1KzFdXTtpZighbCl7ZD0xO2w9Z1thW3Vd +XX1pZighbCl0aHJvdyBuZXcgRXJyb3IoIlVucmVjb2duaXplZCBjb2RlOiAiK2FbdV0rIiAiK2Fb +dStkLTFdKyIgIit1KyIgIitkKyIgIitnW2FbdV1dKTtzW3YrK109bH19ZWxzZSBpZihiPXJbdF0p +c3dpdGNoKGIpe2Nhc2UidXRmOCI6aWYoaT49MyYmYVswXT09MjM5KWlmKGFbMV09PTE4NyYmYVsy +XT09MTkxKXU9Mztmb3IoO3U8aTt1Kz1kKXtkPTE7aWYoYVt1XTwxMjgpbz1hW3VdO2Vsc2UgaWYo +YVt1XTwyMjQpe289KGFbdV0mMzEpKjY0KyhhW3UrMV0mNjMpO2Q9Mn1lbHNlIGlmKGFbdV08MjQw +KXtvPSgoYVt1XSYxNSk8PDEyKSsoYVt1KzFdJjYzKSo2NCsoYVt1KzJdJjYzKTtkPTN9ZWxzZXtv +PShhW3VdJjcpKjI2MjE0NCsoKGFbdSsxXSY2Myk8PDEyKSsoYVt1KzJdJjYzKSo2NCsoYVt1KzNd +JjYzKTtkPTR9aWYobzw2NTUzNil7c1t2KytdPVN0cmluZy5mcm9tQ2hhckNvZGUobyl9ZWxzZXtv +LT02NTUzNjtwPTU1Mjk2KyhvPj4xMCYxMDIzKTtvPTU2MzIwKyhvJjEwMjMpO3NbdisrXT1TdHJp +bmcuZnJvbUNoYXJDb2RlKHApO3NbdisrXT1TdHJpbmcuZnJvbUNoYXJDb2RlKG8pfX1icmVhaztj +YXNlImFzY2lpIjppZihoJiZCdWZmZXIuaXNCdWZmZXIoYSkpcmV0dXJuIGEudG9TdHJpbmcoYik7 +Zm9yKHU9MDt1PGk7dSsrKXNbdV09U3RyaW5nLmZyb21DaGFyQ29kZShhW3VdKTt2PWk7YnJlYWs7 +Y2FzZSJ1dGYxNmxlIjppZihpPj0yJiZhWzBdPT0yNTUpaWYoYVsxXT09MjU0KXU9MjtpZihoJiZC +dWZmZXIuaXNCdWZmZXIoYSkpcmV0dXJuIGEudG9TdHJpbmcoYik7ZD0yO2Zvcig7dSsxPGk7dSs9 +ZCl7c1t2KytdPVN0cmluZy5mcm9tQ2hhckNvZGUoKGFbdSsxXTw8OCkrYVt1XSl9YnJlYWs7Y2Fz +ZSJ1dGYxNmJlIjppZihpPj0yJiZhWzBdPT0yNTQpaWYoYVsxXT09MjU1KXU9MjtkPTI7Zm9yKDt1 +KzE8aTt1Kz1kKXtzW3YrK109U3RyaW5nLmZyb21DaGFyQ29kZSgoYVt1XTw8OCkrYVt1KzFdKX1i +cmVhaztjYXNlInV0ZjMybGUiOmlmKGk+PTQmJmFbMF09PTI1NSlpZihhWzFdPT0yNTQmJmFbMl09 +PT0wJiZhWzNdPT09MCl1PTQ7ZD00O2Zvcig7dTxpO3UrPWQpe289KGFbdSszXTw8MjQpKyhhW3Ur +Ml08PDE2KSsoYVt1KzFdPDw4KSthW3VdO2lmKG8+NjU1MzUpe28tPTY1NTM2O3NbdisrXT1TdHJp +bmcuZnJvbUNoYXJDb2RlKDU1Mjk2KyhvPj4xMCYxMDIzKSk7c1t2KytdPVN0cmluZy5mcm9tQ2hh +ckNvZGUoNTYzMjArKG8mMTAyMykpfWVsc2Ugc1t2KytdPVN0cmluZy5mcm9tQ2hhckNvZGUobyl9 +YnJlYWs7Y2FzZSJ1dGYzMmJlIjppZihpPj00JiZhWzNdPT0yNTUpaWYoYVsyXT09MjU0JiZhWzFd +PT09MCYmYVswXT09PTApdT00O2Q9NDtmb3IoO3U8aTt1Kz1kKXtvPShhW3VdPDwyNCkrKGFbdSsx +XTw8MTYpKyhhW3UrMl08PDgpK2FbdSszXTtpZihvPjY1NTM1KXtvLT02NTUzNjtzW3YrK109U3Ry +aW5nLmZyb21DaGFyQ29kZSg1NTI5Nisobz4+MTAmMTAyMykpO3NbdisrXT1TdHJpbmcuZnJvbUNo +YXJDb2RlKDU2MzIwKyhvJjEwMjMpKX1lbHNlIHNbdisrXT1TdHJpbmcuZnJvbUNoYXJDb2RlKG8p +fWJyZWFrO2Nhc2UidXRmNyI6aWYoaT49NCYmYVswXT09NDMmJmFbMV09PTQ3JiZhWzJdPT0xMTgp +e2lmKGk+PTUmJmFbM109PTU2JiZhWzRdPT00NSl1PTU7ZWxzZSBpZihhWzNdPT01Nnx8YVszXT09 +NTd8fGFbM109PTQzfHxhWzNdPT00Nyl1PTR9Zm9yKDt1PGk7dSs9ZCl7aWYoYVt1XSE9PTQzKXtk +PTE7c1t2KytdPVN0cmluZy5mcm9tQ2hhckNvZGUoYVt1XSk7Y29udGludWV9ZD0xO2lmKGFbdSsx +XT09PTQ1KXtkPTI7c1t2KytdPSIrIjtjb250aW51ZX13aGlsZShTdHJpbmcuZnJvbUNoYXJDb2Rl +KGFbdStkXSkubWF0Y2goL1tBLVphLXowLTkrXC9dLykpZCsrO3ZhciB3PTA7aWYoYVt1K2RdPT09 +NDUpeysrZDt3PTF9dmFyIGs9W107dmFyIEE9IiI7dmFyIFQ9MCx5PTAsRT0wO3ZhciBDPTAsXz0w +LHg9MCxPPTA7Zm9yKHZhciBJPTE7STxkLXc7KXtDPVMuaW5kZXhPZihTdHJpbmcuZnJvbUNoYXJD +b2RlKGFbdStJKytdKSk7Xz1TLmluZGV4T2YoU3RyaW5nLmZyb21DaGFyQ29kZShhW3UrSSsrXSkp +O1Q9Qzw8MnxfPj40O2sucHVzaChUKTt4PVMuaW5kZXhPZihTdHJpbmcuZnJvbUNoYXJDb2RlKGFb +dStJKytdKSk7aWYoeD09PS0xKWJyZWFrO3k9KF8mMTUpPDw0fHg+PjI7ay5wdXNoKHkpO089Uy5p +bmRleE9mKFN0cmluZy5mcm9tQ2hhckNvZGUoYVt1K0krK10pKTtpZihPPT09LTEpYnJlYWs7RT0o +eCYzKTw8NnxPO2lmKE88NjQpay5wdXNoKEUpfUE9aigxMjAxLGspO2ZvcihJPTA7STxBLmxlbmd0 +aDsrK0kpc1t2KytdPUEuY2hhckF0KEkpfWJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJV +bnN1cHBvcnRlZCBtYWdpYzogIit0KyIgIityW3RdKTt9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIlVu +cmVjb2duaXplZCBDUDogIit0KTtyZXR1cm4gcy5zbGljZSgwLHYpLmpvaW4oIiIpfTt2YXIgRj1m +dW5jdGlvbiBLKHQpe3JldHVybiEhKGVbdF18fHJbdF0pfTtlLnV0aWxzPXtkZWNvZGU6TixlbmNv +ZGU6UixoYXNjcDpGLG1hZ2ljOnIsY2FjaGU6X307cmV0dXJuIGV9KTt2YXIgWExTWD17fTtmdW5j +dGlvbiBtYWtlX3hsc3hfbGliKGUpe2UudmVyc2lvbj0iMC4yMC4zIjt2YXIgcj0xMjAwLHQ9MTI1 +Mjt2YXIgYTt2YXIgbj1bODc0LDkzMiw5MzYsOTQ5LDk1MCwxMjUwLDEyNTEsMTI1MiwxMjUzLDEy +NTQsMTI1NSwxMjU2LDEyNTcsMTI1OCwxZTRdO3ZhciBpPXswOjEyNTIsMTo2NTAwMSwyOjY1MDAx +LDc3OjFlNCwxMjg6OTMyLDEyOTo5NDksMTMwOjEzNjEsMTM0OjkzNiwxMzY6OTUwLDE2MToxMjUz +LDE2MjoxMjU0LDE2MzoxMjU4LDE3NzoxMjU1LDE3ODoxMjU2LDE4NjoxMjU3LDIwNDoxMjUxLDIy +Mjo4NzQsMjM4OjEyNTAsMjU1OjEyNTIsNjk6Njk2OX07dmFyIHM9ZnVuY3Rpb24oZSl7aWYobi5p +bmRleE9mKGUpPT0tMSlyZXR1cm47dD1pWzBdPWV9O2Z1bmN0aW9uIGYoKXtzKDEyNTIpfXZhciBs +PWZ1bmN0aW9uKGUpe3I9ZTtzKGUpfTtmdW5jdGlvbiBvKCl7bCgxMjAwKTtmKCl9ZnVuY3Rpb24g +YyhlKXt2YXIgcj1bXTtmb3IodmFyIHQ9MCxhPWUubGVuZ3RoO3Q8YTsrK3Qpclt0XT1lLmNoYXJD +b2RlQXQodCk7cmV0dXJuIHJ9ZnVuY3Rpb24gaChlKXt2YXIgcj1bXTtmb3IodmFyIHQ9MDt0PGUu +bGVuZ3RoPj4xOysrdClyW3RdPVN0cmluZy5mcm9tQ2hhckNvZGUoZS5jaGFyQ29kZUF0KDIqdCkr +KGUuY2hhckNvZGVBdCgyKnQrMSk8PDgpKTtyZXR1cm4gci5qb2luKCIiKX1mdW5jdGlvbiB1KGUp +e3ZhciByPVtdO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg+PjE7Kyt0KXJbdF09U3RyaW5nLmZyb21D +aGFyQ29kZShlWzIqdF0rKGVbMip0KzFdPDw4KSk7cmV0dXJuIHIuam9pbigiIil9ZnVuY3Rpb24g +ZChlKXt2YXIgcj1bXTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoPj4xOysrdClyW3RdPVN0cmluZy5m +cm9tQ2hhckNvZGUoZS5jaGFyQ29kZUF0KDIqdCsxKSsoZS5jaGFyQ29kZUF0KDIqdCk8PDgpKTty +ZXR1cm4gci5qb2luKCIiKX12YXIgdj1mdW5jdGlvbihlKXt2YXIgcj1lLmNoYXJDb2RlQXQoMCks +dD1lLmNoYXJDb2RlQXQoMSk7aWYocj09MjU1JiZ0PT0yNTQpcmV0dXJuIGgoZS5zbGljZSgyKSk7 +aWYocj09MjU0JiZ0PT0yNTUpcmV0dXJuIGQoZS5zbGljZSgyKSk7aWYocj09NjUyNzkpcmV0dXJu +IGUuc2xpY2UoMSk7cmV0dXJuIGV9O3ZhciBwPWZ1bmN0aW9uIGZBKGUpe3JldHVybiBTdHJpbmcu +ZnJvbUNoYXJDb2RlKGUpfTt2YXIgbT1mdW5jdGlvbiBsQShlKXtyZXR1cm4gU3RyaW5nLmZyb21D +aGFyQ29kZShlKX07ZnVuY3Rpb24gZyhlKXthPWU7bD1mdW5jdGlvbihlKXtyPWU7cyhlKX07dj1m +dW5jdGlvbihlKXtpZihlLmNoYXJDb2RlQXQoMCk9PT0yNTUmJmUuY2hhckNvZGVBdCgxKT09PTI1 +NCl7cmV0dXJuIGEudXRpbHMuZGVjb2RlKDEyMDAsYyhlLnNsaWNlKDIpKSl9cmV0dXJuIGV9O3A9 +ZnVuY3Rpb24gbihlKXtpZihyPT09MTIwMClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShlKTty +ZXR1cm4gYS51dGlscy5kZWNvZGUocixbZSYyNTUsZT4+OF0pWzBdfTttPWZ1bmN0aW9uIGkoZSl7 +cmV0dXJuIGEudXRpbHMuZGVjb2RlKHQsW2VdKVswXX07bWEoKX12YXIgYj1udWxsO3ZhciB3PXRy +dWU7dmFyIGs9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1 +dnd4eXowMTIzNDU2Nzg5Ky89IjtmdW5jdGlvbiBBKGUpe3ZhciByPSIiO3ZhciB0PTAsYT0wLG49 +MCxpPTAscz0wLGY9MCxsPTA7Zm9yKHZhciBvPTA7bzxlLmxlbmd0aDspe3Q9ZS5jaGFyQ29kZUF0 +KG8rKyk7aT10Pj4yO2E9ZS5jaGFyQ29kZUF0KG8rKyk7cz0odCYzKTw8NHxhPj40O249ZS5jaGFy +Q29kZUF0KG8rKyk7Zj0oYSYxNSk8PDJ8bj4+NjtsPW4mNjM7aWYoaXNOYU4oYSkpe2Y9bD02NH1l +bHNlIGlmKGlzTmFOKG4pKXtsPTY0fXIrPWsuY2hhckF0KGkpK2suY2hhckF0KHMpK2suY2hhckF0 +KGYpK2suY2hhckF0KGwpfXJldHVybiByfWZ1bmN0aW9uIFQoZSl7dmFyIHI9IiI7dmFyIHQ9MCxh +PTAsbj0wLGk9MCxzPTAsZj0wLGw9MDtmb3IodmFyIG89MDtvPGUubGVuZ3RoOyl7dD1lLmNoYXJD +b2RlQXQobysrKTtpZih0PjI1NSl0PTk1O2k9dD4+MjthPWUuY2hhckNvZGVBdChvKyspO2lmKGE+ +MjU1KWE9OTU7cz0odCYzKTw8NHxhPj40O249ZS5jaGFyQ29kZUF0KG8rKyk7aWYobj4yNTUpbj05 +NTtmPShhJjE1KTw8MnxuPj42O2w9biY2MztpZihpc05hTihhKSl7Zj1sPTY0fWVsc2UgaWYoaXNO +YU4obikpe2w9NjR9cis9ay5jaGFyQXQoaSkray5jaGFyQXQocykray5jaGFyQXQoZikray5jaGFy +QXQobCl9cmV0dXJuIHJ9ZnVuY3Rpb24geShlKXt2YXIgcj0iIjt2YXIgdD0wLGE9MCxuPTAsaT0w +LHM9MCxmPTAsbD0wO2Zvcih2YXIgbz0wO288ZS5sZW5ndGg7KXt0PWVbbysrXTtpPXQ+PjI7YT1l +W28rK107cz0odCYzKTw8NHxhPj40O249ZVtvKytdO2Y9KGEmMTUpPDwyfG4+PjY7bD1uJjYzO2lm +KGlzTmFOKGEpKXtmPWw9NjR9ZWxzZSBpZihpc05hTihuKSl7bD02NH1yKz1rLmNoYXJBdChpKStr +LmNoYXJBdChzKStrLmNoYXJBdChmKStrLmNoYXJBdChsKX1yZXR1cm4gcn1mdW5jdGlvbiBFKGUp +e3ZhciByPSIiO3ZhciB0PTAsYT0wLG49MCxpPTAscz0wLGY9MCxsPTA7aWYoZS5zbGljZSgwLDUp +PT0iZGF0YToiKXt2YXIgbz1lLnNsaWNlKDAsMTAyNCkuaW5kZXhPZigiO2Jhc2U2NCwiKTtpZihv +Pi0xKWU9ZS5zbGljZShvKzgpfWU9ZS5yZXBsYWNlKC9bXlx3XCtcL1w9XS9nLCIiKTtmb3IodmFy +IG89MDtvPGUubGVuZ3RoOyl7aT1rLmluZGV4T2YoZS5jaGFyQXQobysrKSk7cz1rLmluZGV4T2Yo +ZS5jaGFyQXQobysrKSk7dD1pPDwyfHM+PjQ7cis9U3RyaW5nLmZyb21DaGFyQ29kZSh0KTtmPWsu +aW5kZXhPZihlLmNoYXJBdChvKyspKTthPShzJjE1KTw8NHxmPj4yO2lmKGYhPT02NCl7cis9U3Ry +aW5nLmZyb21DaGFyQ29kZShhKX1sPWsuaW5kZXhPZihlLmNoYXJBdChvKyspKTtuPShmJjMpPDw2 +fGw7aWYobCE9PTY0KXtyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKG4pfX1yZXR1cm4gcn12YXIgQz1m +dW5jdGlvbigpe3JldHVybiB0eXBlb2YgQnVmZmVyIT09InVuZGVmaW5lZCImJnR5cGVvZiB1bmRl +ZmluZWQhPT0idW5kZWZpbmVkIiYmdHlwZW9me30hPT0idW5kZWZpbmVkIiYmISF7fS5ub2RlfSgp +O3ZhciBfPWZ1bmN0aW9uKCl7aWYodHlwZW9mIEJ1ZmZlciE9PSJ1bmRlZmluZWQiKXt2YXIgZT0h +QnVmZmVyLmZyb207aWYoIWUpdHJ5e0J1ZmZlci5mcm9tKCJmb28iLCJ1dGY4Iil9Y2F0Y2gocil7 +ZT10cnVlfXJldHVybiBlP2Z1bmN0aW9uKGUscil7cmV0dXJuIHI/bmV3IEJ1ZmZlcihlLHIpOm5l +dyBCdWZmZXIoZSl9OkJ1ZmZlci5mcm9tLmJpbmQoQnVmZmVyKX1yZXR1cm4gZnVuY3Rpb24oKXt9 +fSgpO3ZhciBTPWZ1bmN0aW9uKCl7aWYodHlwZW9mIEJ1ZmZlcj09PSJ1bmRlZmluZWQiKXJldHVy +biBmYWxzZTt2YXIgZT1fKFs2NSwwXSk7aWYoIWUpcmV0dXJuIGZhbHNlO3ZhciByPWUudG9TdHJp +bmcoInV0ZjE2bGUiKTtyZXR1cm4gci5sZW5ndGg9PTF9KCk7ZnVuY3Rpb24geChlKXtpZihDKXJl +dHVybiBCdWZmZXIuYWxsb2M/QnVmZmVyLmFsbG9jKGUpOm5ldyBCdWZmZXIoZSk7cmV0dXJuIHR5 +cGVvZiBVaW50OEFycmF5IT0idW5kZWZpbmVkIj9uZXcgVWludDhBcnJheShlKTpuZXcgQXJyYXko +ZSl9ZnVuY3Rpb24gTyhlKXtpZihDKXJldHVybiBCdWZmZXIuYWxsb2NVbnNhZmU/QnVmZmVyLmFs +bG9jVW5zYWZlKGUpOm5ldyBCdWZmZXIoZSk7cmV0dXJuIHR5cGVvZiBVaW50OEFycmF5IT0idW5k +ZWZpbmVkIj9uZXcgVWludDhBcnJheShlKTpuZXcgQXJyYXkoZSl9dmFyIEk9ZnVuY3Rpb24gb0Eo +ZSl7aWYoQylyZXR1cm4gXyhlLCJiaW5hcnkiKTtyZXR1cm4gZS5zcGxpdCgiIikubWFwKGZ1bmN0 +aW9uKGUpe3JldHVybiBlLmNoYXJDb2RlQXQoMCkmMjU1fSl9O2Z1bmN0aW9uIFIoZSl7aWYodHlw +ZW9mIEFycmF5QnVmZmVyPT09InVuZGVmaW5lZCIpcmV0dXJuIEkoZSk7dmFyIHI9bmV3IEFycmF5 +QnVmZmVyKGUubGVuZ3RoKSx0PW5ldyBVaW50OEFycmF5KHIpO2Zvcih2YXIgYT0wO2EhPWUubGVu +Z3RoOysrYSl0W2FdPWUuY2hhckNvZGVBdChhKSYyNTU7cmV0dXJuIHJ9ZnVuY3Rpb24gTihlKXtp +ZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gU3RyaW5n +LmZyb21DaGFyQ29kZShlKX0pLmpvaW4oIiIpO3ZhciByPVtdO2Zvcih2YXIgdD0wO3Q8ZS5sZW5n +dGg7Kyt0KXJbdF09U3RyaW5nLmZyb21DaGFyQ29kZShlW3RdKTtyZXR1cm4gci5qb2luKCIiKX1m +dW5jdGlvbiBGKGUpe2lmKHR5cGVvZiBVaW50OEFycmF5PT09InVuZGVmaW5lZCIpdGhyb3cgbmV3 +IEVycm9yKCJVbnN1cHBvcnRlZCIpO3JldHVybiBuZXcgVWludDhBcnJheShlKX1mdW5jdGlvbiBE +KGUpe2lmKHR5cGVvZiBBcnJheUJ1ZmZlcj09InVuZGVmaW5lZCIpdGhyb3cgbmV3IEVycm9yKCJV +bnN1cHBvcnRlZCIpO2lmKGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gRChuZXcgVWlu +dDhBcnJheShlKSk7dmFyIHI9bmV3IEFycmF5KGUubGVuZ3RoKTtmb3IodmFyIHQ9MDt0PGUubGVu +Z3RoOysrdClyW3RdPWVbdF07cmV0dXJuIHJ9dmFyIFA9Qz9mdW5jdGlvbihlKXtyZXR1cm4gQnVm +ZmVyLmNvbmNhdChlLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gQnVmZmVyLmlzQnVmZmVyKGUpP2U6 +XyhlKX0pKX06ZnVuY3Rpb24oZSl7aWYodHlwZW9mIFVpbnQ4QXJyYXkhPT0idW5kZWZpbmVkIil7 +dmFyIHI9MCx0PTA7Zm9yKHI9MDtyPGUubGVuZ3RoOysrcil0Kz1lW3JdLmxlbmd0aDt2YXIgYT1u +ZXcgVWludDhBcnJheSh0KTt2YXIgbj0wO2ZvcihyPTAsdD0wO3I8ZS5sZW5ndGg7dCs9biwrK3Ip +e249ZVtyXS5sZW5ndGg7aWYoZVtyXWluc3RhbmNlb2YgVWludDhBcnJheSlhLnNldChlW3JdLHQp +O2Vsc2UgaWYodHlwZW9mIGVbcl09PSJzdHJpbmciKWEuc2V0KG5ldyBVaW50OEFycmF5KEkoZVty +XSkpLHQpO2Vsc2UgYS5zZXQobmV3IFVpbnQ4QXJyYXkoZVtyXSksdCl9cmV0dXJuIGF9cmV0dXJu +W10uY29uY2F0LmFwcGx5KFtdLGUubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBBcnJheS5pc0FycmF5 +KGUpP2U6W10uc2xpY2UuY2FsbChlKX0pKX07ZnVuY3Rpb24gTChlKXt2YXIgcj1bXSx0PTAsYT1l +Lmxlbmd0aCsyNTA7dmFyIG49eChlLmxlbmd0aCsyNTUpO2Zvcih2YXIgaT0wO2k8ZS5sZW5ndGg7 +KytpKXt2YXIgcz1lLmNoYXJDb2RlQXQoaSk7aWYoczwxMjgpblt0KytdPXM7ZWxzZSBpZihzPDIw +NDgpe25bdCsrXT0xOTJ8cz4+NiYzMTtuW3QrK109MTI4fHMmNjN9ZWxzZSBpZihzPj01NTI5NiYm +czw1NzM0NCl7cz0ocyYxMDIzKSs2NDt2YXIgZj1lLmNoYXJDb2RlQXQoKytpKSYxMDIzO25bdCsr +XT0yNDB8cz4+OCY3O25bdCsrXT0xMjh8cz4+MiY2MztuW3QrK109MTI4fGY+PjYmMTV8KHMmMyk8 +PDQ7blt0KytdPTEyOHxmJjYzfWVsc2V7blt0KytdPTIyNHxzPj4xMiYxNTtuW3QrK109MTI4fHM+ +PjYmNjM7blt0KytdPTEyOHxzJjYzfWlmKHQ+YSl7ci5wdXNoKG4uc2xpY2UoMCx0KSk7dD0wO249 +eCg2NTUzNSk7YT02NTUzMH19ci5wdXNoKG4uc2xpY2UoMCx0KSk7cmV0dXJuIFAocil9dmFyIE09 +L1x1MDAwMC9nLFU9L1tcdTAwMDEtXHUwMDA2XS9nO2Z1bmN0aW9uIEIoZSl7dmFyIHI9IiIsdD1l +Lmxlbmd0aC0xO3doaWxlKHQ+PTApcis9ZS5jaGFyQXQodC0tKTtyZXR1cm4gcn1mdW5jdGlvbiBX +KGUscil7dmFyIHQ9IiIrZTtyZXR1cm4gdC5sZW5ndGg+PXI/dDpUcigiMCIsci10Lmxlbmd0aCkr +dH1mdW5jdGlvbiB6KGUscil7dmFyIHQ9IiIrZTtyZXR1cm4gdC5sZW5ndGg+PXI/dDpUcigiICIs +ci10Lmxlbmd0aCkrdH1mdW5jdGlvbiBIKGUscil7dmFyIHQ9IiIrZTtyZXR1cm4gdC5sZW5ndGg+ +PXI/dDp0K1RyKCIgIixyLXQubGVuZ3RoKX1mdW5jdGlvbiBWKGUscil7dmFyIHQ9IiIrTWF0aC5y +b3VuZChlKTtyZXR1cm4gdC5sZW5ndGg+PXI/dDpUcigiMCIsci10Lmxlbmd0aCkrdH1mdW5jdGlv +biBYKGUscil7dmFyIHQ9IiIrZTtyZXR1cm4gdC5sZW5ndGg+PXI/dDpUcigiMCIsci10Lmxlbmd0 +aCkrdH12YXIgRz1NYXRoLnBvdygyLDMyKTtmdW5jdGlvbiBqKGUscil7aWYoZT5HfHxlPC1HKXJl +dHVybiBWKGUscik7dmFyIHQ9TWF0aC5yb3VuZChlKTtyZXR1cm4gWCh0LHIpfWZ1bmN0aW9uIEso +ZSxyKXtyPXJ8fDA7cmV0dXJuIGUubGVuZ3RoPj03K3ImJihlLmNoYXJDb2RlQXQocil8MzIpPT09 +MTAzJiYoZS5jaGFyQ29kZUF0KHIrMSl8MzIpPT09MTAxJiYoZS5jaGFyQ29kZUF0KHIrMil8MzIp +PT09MTEwJiYoZS5jaGFyQ29kZUF0KHIrMyl8MzIpPT09MTAxJiYoZS5jaGFyQ29kZUF0KHIrNCl8 +MzIpPT09MTE0JiYoZS5jaGFyQ29kZUF0KHIrNSl8MzIpPT09OTcmJihlLmNoYXJDb2RlQXQocis2 +KXwzMik9PT0xMDh9dmFyIFk9W1siU3VuIiwiU3VuZGF5Il0sWyJNb24iLCJNb25kYXkiXSxbIlR1 +ZSIsIlR1ZXNkYXkiXSxbIldlZCIsIldlZG5lc2RheSJdLFsiVGh1IiwiVGh1cnNkYXkiXSxbIkZy +aSIsIkZyaWRheSJdLFsiU2F0IiwiU2F0dXJkYXkiXV07dmFyIFo9W1siSiIsIkphbiIsIkphbnVh +cnkiXSxbIkYiLCJGZWIiLCJGZWJydWFyeSJdLFsiTSIsIk1hciIsIk1hcmNoIl0sWyJBIiwiQXBy +IiwiQXByaWwiXSxbIk0iLCJNYXkiLCJNYXkiXSxbIkoiLCJKdW4iLCJKdW5lIl0sWyJKIiwiSnVs +IiwiSnVseSJdLFsiQSIsIkF1ZyIsIkF1Z3VzdCJdLFsiUyIsIlNlcCIsIlNlcHRlbWJlciJdLFsi +TyIsIk9jdCIsIk9jdG9iZXIiXSxbIk4iLCJOb3YiLCJOb3ZlbWJlciJdLFsiRCIsIkRlYyIsIkRl +Y2VtYmVyIl1dO2Z1bmN0aW9uIEooZSl7aWYoIWUpZT17fTtlWzBdPSJHZW5lcmFsIjtlWzFdPSIw +IjtlWzJdPSIwLjAwIjtlWzNdPSIjLCMjMCI7ZVs0XT0iIywjIzAuMDAiO2VbOV09IjAlIjtlWzEw +XT0iMC4wMCUiO2VbMTFdPSIwLjAwRSswMCI7ZVsxMl09IiMgPy8/IjtlWzEzXT0iIyA/Py8/PyI7 +ZVsxNF09Im0vZC95eSI7ZVsxNV09ImQtbW1tLXl5IjtlWzE2XT0iZC1tbW0iO2VbMTddPSJtbW0t +eXkiO2VbMThdPSJoOm1tIEFNL1BNIjtlWzE5XT0iaDptbTpzcyBBTS9QTSI7ZVsyMF09Img6bW0i +O2VbMjFdPSJoOm1tOnNzIjtlWzIyXT0ibS9kL3l5IGg6bW0iO2VbMzddPSIjLCMjMCA7KCMsIyMw +KSI7ZVszOF09IiMsIyMwIDtbUmVkXSgjLCMjMCkiO2VbMzldPSIjLCMjMC4wMDsoIywjIzAuMDAp +IjtlWzQwXT0iIywjIzAuMDA7W1JlZF0oIywjIzAuMDApIjtlWzQ1XT0ibW06c3MiO2VbNDZdPSJb +aF06bW06c3MiO2VbNDddPSJtbXNzLjAiO2VbNDhdPSIjIzAuMEUrMCI7ZVs0OV09IkAiO2VbNTZd +PSci5LiK5Y2IL+S4i+WNiCAiaGgi5pmCIm1tIuWIhiJzcyLnp5IgIic7cmV0dXJuIGV9dmFyIHE9 +ezA6IkdlbmVyYWwiLDE6IjAiLDI6IjAuMDAiLDM6IiMsIyMwIiw0OiIjLCMjMC4wMCIsOToiMCUi +LDEwOiIwLjAwJSIsMTE6IjAuMDBFKzAwIiwxMjoiIyA/Lz8iLDEzOiIjID8/Lz8/IiwxNDoibS9k +L3l5IiwxNToiZC1tbW0teXkiLDE2OiJkLW1tbSIsMTc6Im1tbS15eSIsMTg6Img6bW0gQU0vUE0i +LDE5OiJoOm1tOnNzIEFNL1BNIiwyMDoiaDptbSIsMjE6Img6bW06c3MiLDIyOiJtL2QveXkgaDpt +bSIsMzc6IiMsIyMwIDsoIywjIzApIiwzODoiIywjIzAgO1tSZWRdKCMsIyMwKSIsMzk6IiMsIyMw +LjAwOygjLCMjMC4wMCkiLDQwOiIjLCMjMC4wMDtbUmVkXSgjLCMjMC4wMCkiLDQ1OiJtbTpzcyIs +NDY6IltoXTptbTpzcyIsNDc6Im1tc3MuMCIsNDg6IiMjMC4wRSswIiw0OToiQCIsNTY6JyLkuIrl +jYgv5LiL5Y2IICJoaCLmmYIibW0i5YiGInNzIuenkiAiJ307dmFyIFE9ezU6MzcsNjozOCw3OjM5 +LDg6NDAsMjM6MCwyNDowLDI1OjAsMjY6MCwyNzoxNCwyODoxNCwyOToxNCwzMDoxNCwzMToxNCw1 +MDoxNCw1MToxNCw1MjoxNCw1MzoxNCw1NDoxNCw1NToxNCw1NjoxNCw1NzoxNCw1ODoxNCw1OTox +LDYwOjIsNjE6Myw2Mjo0LDY3OjksNjg6MTAsNjk6MTIsNzA6MTMsNzE6MTQsNzI6MTQsNzM6MTUs +NzQ6MTYsNzU6MTcsNzY6MjAsNzc6MjEsNzg6MjIsNzk6NDUsODA6NDYsODE6NDcsODI6MH07dmFy +IGVlPXs1OiciJCIjLCMjMF8pO1xcKCIkIiMsIyMwXFwpJyw2MzonIiQiIywjIzBfKTtcXCgiJCIj +LCMjMFxcKScsNjonIiQiIywjIzBfKTtbUmVkXVxcKCIkIiMsIyMwXFwpJyw2NDonIiQiIywjIzBf +KTtbUmVkXVxcKCIkIiMsIyMwXFwpJyw3OiciJCIjLCMjMC4wMF8pO1xcKCIkIiMsIyMwLjAwXFwp +Jyw2NTonIiQiIywjIzAuMDBfKTtcXCgiJCIjLCMjMC4wMFxcKScsODonIiQiIywjIzAuMDBfKTtb +UmVkXVxcKCIkIiMsIyMwLjAwXFwpJyw2NjonIiQiIywjIzAuMDBfKTtbUmVkXVxcKCIkIiMsIyMw +LjAwXFwpJyw0MTonXygqICMsIyMwXyk7XygqIFxcKCMsIyMwXFwpO18oKiAiLSJfKTtfKEBfKScs +NDI6J18oIiQiKiAjLCMjMF8pO18oIiQiKiBcXCgjLCMjMFxcKTtfKCIkIiogIi0iXyk7XyhAXykn +LDQzOidfKCogIywjIzAuMDBfKTtfKCogXFwoIywjIzAuMDBcXCk7XygqICItIj8/Xyk7XyhAXykn +LDQ0OidfKCIkIiogIywjIzAuMDBfKTtfKCIkIiogXFwoIywjIzAuMDBcXCk7XygiJCIqICItIj8/ +Xyk7XyhAXyknfTtmdW5jdGlvbiByZShlLHIsdCl7dmFyIGE9ZTwwPy0xOjE7dmFyIG49ZSphO3Zh +ciBpPTAscz0xLGY9MDt2YXIgbD0xLG89MCxjPTA7dmFyIGg9TWF0aC5mbG9vcihuKTt3aGlsZShv +PHIpe2g9TWF0aC5mbG9vcihuKTtmPWgqcytpO2M9aCpvK2w7aWYobi1oPDVlLTgpYnJlYWs7bj0x +LyhuLWgpO2k9cztzPWY7bD1vO289Y31pZihjPnIpe2lmKG8+cil7Yz1sO2Y9aX1lbHNle2M9bztm +PXN9fWlmKCF0KXJldHVyblswLGEqZixjXTt2YXIgdT1NYXRoLmZsb29yKGEqZi9jKTtyZXR1cm5b +dSxhKmYtdSpjLGNdfWZ1bmN0aW9uIHRlKGUpe3ZhciByPWUudG9QcmVjaXNpb24oMTYpO2lmKHIu +aW5kZXhPZigiZSIpPi0xKXt2YXIgdD1yLnNsaWNlKDAsci5pbmRleE9mKCJlIikpO3Q9dC5pbmRl +eE9mKCIuIik+LTE/dC5zbGljZSgwLHQuc2xpY2UoMCwyKT09IjAuIj8xNzoxNik6dC5zbGljZSgw +LDE1KStUcigiMCIsdC5sZW5ndGgtMTUpO3JldHVybiB0K3Iuc2xpY2Uoci5pbmRleE9mKCJlIikp +fXZhciBhPXIuaW5kZXhPZigiLiIpPi0xP3Iuc2xpY2UoMCxyLnNsaWNlKDAsMik9PSIwLiI/MTc6 +MTYpOnIuc2xpY2UoMCwxNSkrVHIoIjAiLHIubGVuZ3RoLTE1KTtyZXR1cm4gTnVtYmVyKGEpfWZ1 +bmN0aW9uIGFlKGUscix0KXtpZihlPjI5NTg0NjV8fGU8MClyZXR1cm4gbnVsbDtlPXRlKGUpO3Zh +ciBhPWV8MCxuPU1hdGguZmxvb3IoODY0MDAqKGUtYSkpLGk9MDt2YXIgcz1bXTt2YXIgZj17RDph +LFQ6bix1Ojg2NDAwKihlLWEpLW4seTowLG06MCxkOjAsSDowLE06MCxTOjAscTowfTtpZihNYXRo +LmFicyhmLnUpPDFlLTYpZi51PTA7aWYociYmci5kYXRlMTkwNClhKz0xNDYyO2lmKGYudT4uOTk5 +OSl7Zi51PTA7aWYoKytuPT04NjQwMCl7Zi5UPW49MDsrK2E7KytmLkR9fWlmKGE9PT02MCl7cz10 +P1sxMzE3LDEwLDI5XTpbMTkwMCwyLDI5XTtpPTN9ZWxzZSBpZihhPT09MCl7cz10P1sxMzE3LDgs +MjldOlsxOTAwLDEsMF07aT02fWVsc2V7aWYoYT42MCktLWE7dmFyIGw9bmV3IERhdGUoMTkwMCww +LDEpO2wuc2V0RGF0ZShsLmdldERhdGUoKSthLTEpO3M9W2wuZ2V0RnVsbFllYXIoKSxsLmdldE1v +bnRoKCkrMSxsLmdldERhdGUoKV07aT1sLmdldERheSgpO2lmKGE8NjApaT0oaSs2KSU3O2lmKHQp +aT1jZShsLHMpfWYueT1zWzBdO2YubT1zWzFdO2YuZD1zWzJdO2YuUz1uJTYwO249TWF0aC5mbG9v +cihuLzYwKTtmLk09biU2MDtuPU1hdGguZmxvb3Iobi82MCk7Zi5IPW47Zi5xPWk7cmV0dXJuIGZ9 +ZnVuY3Rpb24gbmUoZSl7cmV0dXJuIGUuaW5kZXhPZigiLiIpPT0tMT9lOmUucmVwbGFjZSgvKD86 +XC4wKnwoXC5cZCpbMS05XSkwKykkLywiJDEiKX1mdW5jdGlvbiBpZShlKXtpZihlLmluZGV4T2Yo +IkUiKT09LTEpcmV0dXJuIGU7cmV0dXJuIGUucmVwbGFjZSgvKD86XC4wKnwoXC5cZCpbMS05XSkw +KylbRWVdLywiJDFFIikucmVwbGFjZSgvKEVbKy1dKShcZCkkLywiJDEwJDIiKX1mdW5jdGlvbiBz +ZShlKXt2YXIgcj1lPDA/MTI6MTE7dmFyIHQ9bmUoZS50b0ZpeGVkKDEyKSk7aWYodC5sZW5ndGg8 +PXIpcmV0dXJuIHQ7dD1lLnRvUHJlY2lzaW9uKDEwKTtpZih0Lmxlbmd0aDw9cilyZXR1cm4gdDty +ZXR1cm4gZS50b0V4cG9uZW50aWFsKDUpfWZ1bmN0aW9uIGZlKGUpe3ZhciByPW5lKGUudG9GaXhl +ZCgxMSkpO3JldHVybiByLmxlbmd0aD4oZTwwPzEyOjExKXx8cj09PSIwInx8cj09PSItMCI/ZS50 +b1ByZWNpc2lvbig2KTpyfWZ1bmN0aW9uIGxlKGUpe2lmKCFpc0Zpbml0ZShlKSlyZXR1cm4gaXNO +YU4oZSk/IiNOVU0hIjoiI0RJVi8wISI7dmFyIHI9TWF0aC5mbG9vcihNYXRoLmxvZyhNYXRoLmFi +cyhlKSkqTWF0aC5MT0cxMEUpLHQ7aWYocj49LTQmJnI8PS0xKXQ9ZS50b1ByZWNpc2lvbigxMCty +KTtlbHNlIGlmKE1hdGguYWJzKHIpPD05KXQ9c2UoZSk7ZWxzZSBpZihyPT09MTApdD1lLnRvRml4 +ZWQoMTApLnN1YnN0cigwLDEyKTtlbHNlIHQ9ZmUoZSk7cmV0dXJuIG5lKGllKHQudG9VcHBlckNh +c2UoKSkpfWZ1bmN0aW9uIG9lKGUscil7c3dpdGNoKHR5cGVvZiBlKXtjYXNlInN0cmluZyI6cmV0 +dXJuIGU7Y2FzZSJib29sZWFuIjpyZXR1cm4gZT8iVFJVRSI6IkZBTFNFIjtjYXNlIm51bWJlciI6 +cmV0dXJuKGV8MCk9PT1lP2UudG9TdHJpbmcoMTApOmxlKGUpO2Nhc2UidW5kZWZpbmVkIjpyZXR1 +cm4iIjtjYXNlIm9iamVjdCI6aWYoZT09bnVsbClyZXR1cm4iIjtpZihlIGluc3RhbmNlb2YgRGF0 +ZSlyZXR1cm4gemUoMTQsZHIoZSxyJiZyLmRhdGUxOTA0KSxyKTt9dGhyb3cgbmV3IEVycm9yKCJ1 +bnN1cHBvcnRlZCB2YWx1ZSBpbiBHZW5lcmFsIGZvcm1hdDogIitlKX1mdW5jdGlvbiBjZShlLHIp +e3JbMF0tPTU4MTt2YXIgdD1lLmdldERheSgpO2lmKGU8NjApdD0odCs2KSU3O3JldHVybiB0fWZ1 +bmN0aW9uIGhlKGUscix0LGEpe3ZhciBuPSIiLGk9MCxzPTAsZj10LnksbCxvPTA7c3dpdGNoKGUp +e2Nhc2UgOTg6Zj10LnkrNTQzO2Nhc2UgMTIxOnN3aXRjaChyLmxlbmd0aCl7Y2FzZSAxOjtjYXNl +IDI6bD1mJTEwMDtvPTI7YnJlYWs7ZGVmYXVsdDpsPWYlMWU0O289NDticmVhazt9YnJlYWs7Y2Fz +ZSAxMDk6c3dpdGNoKHIubGVuZ3RoKXtjYXNlIDE6O2Nhc2UgMjpsPXQubTtvPXIubGVuZ3RoO2Jy +ZWFrO2Nhc2UgMzpyZXR1cm4gWlt0Lm0tMV1bMV07Y2FzZSA1OnJldHVybiBaW3QubS0xXVswXTtk +ZWZhdWx0OnJldHVybiBaW3QubS0xXVsyXTt9YnJlYWs7Y2FzZSAxMDA6c3dpdGNoKHIubGVuZ3Ro +KXtjYXNlIDE6O2Nhc2UgMjpsPXQuZDtvPXIubGVuZ3RoO2JyZWFrO2Nhc2UgMzpyZXR1cm4gWVt0 +LnFdWzBdO2RlZmF1bHQ6cmV0dXJuIFlbdC5xXVsxXTt9YnJlYWs7Y2FzZSAxMDQ6c3dpdGNoKHIu +bGVuZ3RoKXtjYXNlIDE6O2Nhc2UgMjpsPTErKHQuSCsxMSklMTI7bz1yLmxlbmd0aDticmVhaztk +ZWZhdWx0OnRocm93ImJhZCBob3VyIGZvcm1hdDogIityO31icmVhaztjYXNlIDcyOnN3aXRjaChy +Lmxlbmd0aCl7Y2FzZSAxOjtjYXNlIDI6bD10Lkg7bz1yLmxlbmd0aDticmVhaztkZWZhdWx0OnRo +cm93ImJhZCBob3VyIGZvcm1hdDogIityO31icmVhaztjYXNlIDc3OnN3aXRjaChyLmxlbmd0aCl7 +Y2FzZSAxOjtjYXNlIDI6bD10Lk07bz1yLmxlbmd0aDticmVhaztkZWZhdWx0OnRocm93ImJhZCBt +aW51dGUgZm9ybWF0OiAiK3I7fWJyZWFrO2Nhc2UgMTE1OmlmKHIhPSJzIiYmciE9InNzIiYmciE9 +Ii4wIiYmciE9Ii4wMCImJnIhPSIuMDAwIil0aHJvdyJiYWQgc2Vjb25kIGZvcm1hdDogIityO2lm +KHQudT09PTAmJihyPT0icyJ8fHI9PSJzcyIpKXJldHVybiBXKHQuUyxyLmxlbmd0aCk7aWYoYT49 +MilzPWE9PT0zPzFlMzoxMDA7ZWxzZSBzPWE9PT0xPzEwOjE7aT1NYXRoLnJvdW5kKHMqKHQuUyt0 +LnUpKTtpZihpPj02MCpzKWk9MDtpZihyPT09InMiKXJldHVybiBpPT09MD8iMCI6IiIraS9zO249 +VyhpLDIrYSk7aWYocj09PSJzcyIpcmV0dXJuIG4uc3Vic3RyKDAsMik7cmV0dXJuIi4iK24uc3Vi +c3RyKDIsci5sZW5ndGgtMSk7Y2FzZSA5MDpzd2l0Y2gocil7Y2FzZSJbaF0iOjtjYXNlIltoaF0i +Omw9dC5EKjI0K3QuSDticmVhaztjYXNlIlttXSI6O2Nhc2UiW21tXSI6bD0odC5EKjI0K3QuSCkq +NjArdC5NO2JyZWFrO2Nhc2UiW3NdIjo7Y2FzZSJbc3NdIjpsPSgodC5EKjI0K3QuSCkqNjArdC5N +KSo2MCsoYT09MD9NYXRoLnJvdW5kKHQuUyt0LnUpOnQuUyk7YnJlYWs7ZGVmYXVsdDp0aHJvdyJi +YWQgYWJzdGltZSBmb3JtYXQ6ICIrcjt9bz1yLmxlbmd0aD09PTM/MToyO2JyZWFrO2Nhc2UgMTAx +Omw9ZjtvPTE7YnJlYWs7fXZhciBjPW8+MD9XKGwsbyk6IiI7cmV0dXJuIGN9ZnVuY3Rpb24gdWUo +ZSl7dmFyIHI9MztpZihlLmxlbmd0aDw9cilyZXR1cm4gZTt2YXIgdD1lLmxlbmd0aCVyLGE9ZS5z +dWJzdHIoMCx0KTtmb3IoO3QhPWUubGVuZ3RoO3QrPXIpYSs9KGEubGVuZ3RoPjA/IiwiOiIiKStl +LnN1YnN0cih0LHIpO3JldHVybiBhfXZhciBkZT0vJS9nO2Z1bmN0aW9uIHZlKGUscix0KXt2YXIg +YT1yLnJlcGxhY2UoZGUsIiIpLG49ci5sZW5ndGgtYS5sZW5ndGg7cmV0dXJuIEZlKGUsYSx0Kk1h +dGgucG93KDEwLDIqbikpK1RyKCIlIixuKX1mdW5jdGlvbiBwZShlLHIsdCl7dmFyIGE9ci5sZW5n +dGgtMTt3aGlsZShyLmNoYXJDb2RlQXQoYS0xKT09PTQ0KS0tYTtyZXR1cm4gRmUoZSxyLnN1YnN0 +cigwLGEpLHQvTWF0aC5wb3coMTAsMyooci5sZW5ndGgtYSkpKX1mdW5jdGlvbiBtZShlLHIpe3Zh +ciB0O3ZhciBhPWUuaW5kZXhPZigiRSIpLWUuaW5kZXhPZigiLiIpLTE7aWYoZS5tYXRjaCgvXiMr +MC4wRVwrMCQvKSl7aWYocj09MClyZXR1cm4iMC4wRSswIjtlbHNlIGlmKHI8MClyZXR1cm4iLSIr +bWUoZSwtcik7dmFyIG49ZS5pbmRleE9mKCIuIik7aWYobj09PS0xKW49ZS5pbmRleE9mKCJFIik7 +dmFyIGk9TWF0aC5mbG9vcihNYXRoLmxvZyhyKSpNYXRoLkxPRzEwRSklbjtpZihpPDApaSs9bjt0 +PShyL01hdGgucG93KDEwLGkpKS50b1ByZWNpc2lvbihhKzErKG4raSklbik7aWYodC5pbmRleE9m +KCJlIik9PT0tMSl7dmFyIHM9TWF0aC5mbG9vcihNYXRoLmxvZyhyKSpNYXRoLkxPRzEwRSk7aWYo +dC5pbmRleE9mKCIuIik9PT0tMSl0PXQuY2hhckF0KDApKyIuIit0LnN1YnN0cigxKSsiRSsiKyhz +LXQubGVuZ3RoK2kpO2Vsc2UgdCs9IkUrIisocy1pKTt3aGlsZSh0LnN1YnN0cigwLDIpPT09IjAu +Iil7dD10LmNoYXJBdCgwKSt0LnN1YnN0cigyLG4pKyIuIit0LnN1YnN0cigyK24pO3Q9dC5yZXBs +YWNlKC9eMCsoWzEtOV0pLywiJDEiKS5yZXBsYWNlKC9eMCtcLi8sIjAuIil9dD10LnJlcGxhY2Uo +L1wrLS8sIi0iKX10PXQucmVwbGFjZSgvXihbKy1dPykoXGQqKVwuKFxkKilbRWVdLyxmdW5jdGlv +bihlLHIsdCxhKXtyZXR1cm4gcit0K2Euc3Vic3RyKDAsKG4raSklbikrIi4iK2Euc3Vic3RyKGkp +KyJFIn0pfWVsc2UgdD1yLnRvRXhwb25lbnRpYWwoYSk7aWYoZS5tYXRjaCgvRVwrMDAkLykmJnQu +bWF0Y2goL2VbKy1dXGQkLykpdD10LnN1YnN0cigwLHQubGVuZ3RoLTEpKyIwIit0LmNoYXJBdCh0 +Lmxlbmd0aC0xKTtpZihlLm1hdGNoKC9FXC0vKSYmdC5tYXRjaCgvZVwrLykpdD10LnJlcGxhY2Uo +L2VcKy8sImUiKTtyZXR1cm4gdC5yZXBsYWNlKCJlIiwiRSIpfXZhciBnZT0vIyAoXD8rKSggPylc +LyggPykoXGQrKS87ZnVuY3Rpb24gYmUoZSxyLHQpe3ZhciBhPXBhcnNlSW50KGVbNF0sMTApLG49 +TWF0aC5yb3VuZChyKmEpLGk9TWF0aC5mbG9vcihuL2EpO3ZhciBzPW4taSphLGY9YTtyZXR1cm4g +dCsoaT09PTA/IiI6IiIraSkrIiAiKyhzPT09MD9UcigiICIsZVsxXS5sZW5ndGgrMStlWzRdLmxl +bmd0aCk6eihzLGVbMV0ubGVuZ3RoKStlWzJdKyIvIitlWzNdK1coZixlWzRdLmxlbmd0aCkpfWZ1 +bmN0aW9uIHdlKGUscix0KXtyZXR1cm4gdCsocj09PTA/IiI6IiIrcikrVHIoIiAiLGVbMV0ubGVu +Z3RoKzIrZVs0XS5sZW5ndGgpfXZhciBrZT0vXiMqMCpcLihbMCNdKykvO3ZhciBBZT0vXClbXild +KlswI10vO3ZhciBUZT0vXCgjIyNcKSAjIyNcXD8tIyMjIy87ZnVuY3Rpb24geWUoZSl7dmFyIHI9 +IiIsdDtmb3IodmFyIGE9MDthIT1lLmxlbmd0aDsrK2Epc3dpdGNoKHQ9ZS5jaGFyQ29kZUF0KGEp +KXtjYXNlIDM1OmJyZWFrO2Nhc2UgNjM6cis9IiAiO2JyZWFrO2Nhc2UgNDg6cis9IjAiO2JyZWFr +O2RlZmF1bHQ6cis9U3RyaW5nLmZyb21DaGFyQ29kZSh0KTt9cmV0dXJuIHJ9ZnVuY3Rpb24gRWUo +ZSxyKXt2YXIgdD1NYXRoLnBvdygxMCxyKTtyZXR1cm4iIitNYXRoLnJvdW5kKGUqdCkvdH1mdW5j +dGlvbiBDZShlLHIpe3ZhciB0PWUtTWF0aC5mbG9vcihlKSxhPU1hdGgucG93KDEwLHIpO2lmKHI8 +KCIiK01hdGgucm91bmQodCphKSkubGVuZ3RoKXJldHVybiAwO3JldHVybiBNYXRoLnJvdW5kKHQq +YSl9ZnVuY3Rpb24gX2UoZSxyKXtpZihyPCgiIitNYXRoLnJvdW5kKChlLU1hdGguZmxvb3IoZSkp +Kk1hdGgucG93KDEwLHIpKSkubGVuZ3RoKXtyZXR1cm4gMX1yZXR1cm4gMH1mdW5jdGlvbiBTZShl +KXtpZihlPDIxNDc0ODM2NDcmJmU+LTIxNDc0ODM2NDgpcmV0dXJuIiIrKGU+PTA/ZXwwOmUtMXww +KTtyZXR1cm4iIitNYXRoLmZsb29yKGUpfWZ1bmN0aW9uIHhlKGUscix0KXtpZihlLmNoYXJDb2Rl +QXQoMCk9PT00MCYmIXIubWF0Y2goQWUpKXt2YXIgYT1yLnJlcGxhY2UoL1woICovLCIiKS5yZXBs +YWNlKC8gXCkvLCIiKS5yZXBsYWNlKC9cKS8sIiIpO2lmKHQ+PTApcmV0dXJuIHhlKCJuIixhLHQp +O3JldHVybiIoIit4ZSgibiIsYSwtdCkrIikifWlmKHIuY2hhckNvZGVBdChyLmxlbmd0aC0xKT09 +PTQ0KXJldHVybiBwZShlLHIsdCk7aWYoci5pbmRleE9mKCIlIikhPT0tMSlyZXR1cm4gdmUoZSxy +LHQpO2lmKHIuaW5kZXhPZigiRSIpIT09LTEpcmV0dXJuIG1lKHIsdCk7aWYoci5jaGFyQ29kZUF0 +KDApPT09MzYpcmV0dXJuIiQiK3hlKGUsci5zdWJzdHIoci5jaGFyQXQoMSk9PSIgIj8yOjEpLHQp +O3ZhciBuO3ZhciBpLHMsZixsPU1hdGguYWJzKHQpLG89dDwwPyItIjoiIjtpZihyLm1hdGNoKC9e +MDArJC8pKXJldHVybiBvK2oobCxyLmxlbmd0aCk7aWYoci5tYXRjaCgvXlsjP10rJC8pKXtuPWoo +dCwwKTtpZihuPT09IjAiKW49IiI7cmV0dXJuIG4ubGVuZ3RoPnIubGVuZ3RoP246eWUoci5zdWJz +dHIoMCxyLmxlbmd0aC1uLmxlbmd0aCkpK259aWYoaT1yLm1hdGNoKGdlKSlyZXR1cm4gYmUoaSxs +LG8pO2lmKHIubWF0Y2goL14jKzArJC8pKXJldHVybiBvK2oobCxyLmxlbmd0aC1yLmluZGV4T2Yo +IjAiKSk7aWYoaT1yLm1hdGNoKGtlKSl7bj1FZSh0LGlbMV0ubGVuZ3RoKS5yZXBsYWNlKC9eKFte +XC5dKykkLywiJDEuIit5ZShpWzFdKSkucmVwbGFjZSgvXC4kLywiLiIreWUoaVsxXSkpLnJlcGxh +Y2UoL1wuKFxkKikkLyxmdW5jdGlvbihlLHIpe3JldHVybiIuIityK1RyKCIwIix5ZShpWzFdKS5s +ZW5ndGgtci5sZW5ndGgpfSk7cmV0dXJuIHIuaW5kZXhPZigiMC4iKSE9PS0xP246bi5yZXBsYWNl +KC9eMFwuLywiLiIpfXI9ci5yZXBsYWNlKC9eIysoWzAuXSkvLCIkMSIpO2lmKGk9ci5tYXRjaCgv +XigwKilcLigjKikkLykpe3JldHVybiBvK0VlKGwsaVsyXS5sZW5ndGgpLnJlcGxhY2UoL1wuKFxk +KlsxLTldKTAqJC8sIi4kMSIpLnJlcGxhY2UoL14oLT9cZCopJC8sIiQxLiIpLnJlcGxhY2UoL14w +XC4vLGlbMV0ubGVuZ3RoPyIwLiI6Ii4iKX1pZihpPXIubWF0Y2goL14jezEsM30sIyMwKFwuPykk +LykpcmV0dXJuIG8rdWUoaihsLDApKTtpZihpPXIubWF0Y2goL14jLCMjMFwuKFsjMF0qMCkkLykp +e3JldHVybiB0PDA/Ii0iK3hlKGUsciwtdCk6dWUoIiIrKE1hdGguZmxvb3IodCkrX2UodCxpWzFd +Lmxlbmd0aCkpKSsiLiIrVyhDZSh0LGlbMV0ubGVuZ3RoKSxpWzFdLmxlbmd0aCl9aWYoaT1yLm1h +dGNoKC9eIywjKiwjMC8pKXJldHVybiB4ZShlLHIucmVwbGFjZSgvXiMsIyosLywiIiksdCk7aWYo +aT1yLm1hdGNoKC9eKFswI10rKShcXD8tKFswI10rKSkrJC8pKXtuPUIoeGUoZSxyLnJlcGxhY2Uo +L1tcXC1dL2csIiIpLHQpKTtzPTA7cmV0dXJuIEIoQihyLnJlcGxhY2UoL1xcL2csIiIpKS5yZXBs +YWNlKC9bMCNdL2csZnVuY3Rpb24oZSl7cmV0dXJuIHM8bi5sZW5ndGg/bi5jaGFyQXQocysrKTpl +PT09IjAiPyIwIjoiIn0pKX1pZihyLm1hdGNoKFRlKSl7bj14ZShlLCIjIyMjIyMjIyMjIix0KTty +ZXR1cm4iKCIrbi5zdWJzdHIoMCwzKSsiKSAiK24uc3Vic3RyKDMsMykrIi0iK24uc3Vic3RyKDYp +fXZhciBjPSIiO2lmKGk9ci5tYXRjaCgvXihbIzA/XSspKCA/KVwvKCA/KShbIzA/XSspLykpe3M9 +TWF0aC5taW4oaVs0XS5sZW5ndGgsNyk7Zj1yZShsLE1hdGgucG93KDEwLHMpLTEsZmFsc2UpO249 +IiIrbztjPUZlKCJuIixpWzFdLGZbMV0pO2lmKGMuY2hhckF0KGMubGVuZ3RoLTEpPT0iICIpYz1j +LnN1YnN0cigwLGMubGVuZ3RoLTEpKyIwIjtuKz1jK2lbMl0rIi8iK2lbM107Yz1IKGZbMl0scyk7 +aWYoYy5sZW5ndGg8aVs0XS5sZW5ndGgpYz15ZShpWzRdLnN1YnN0cihpWzRdLmxlbmd0aC1jLmxl +bmd0aCkpK2M7bis9YztyZXR1cm4gbn1pZihpPXIubWF0Y2goL14jIChbIzA/XSspKCA/KVwvKCA/ +KShbIzA/XSspLykpe3M9TWF0aC5taW4oTWF0aC5tYXgoaVsxXS5sZW5ndGgsaVs0XS5sZW5ndGgp +LDcpO2Y9cmUobCxNYXRoLnBvdygxMCxzKS0xLHRydWUpO3JldHVybiBvKyhmWzBdfHwoZlsxXT8i +IjoiMCIpKSsiICIrKGZbMV0/eihmWzFdLHMpK2lbMl0rIi8iK2lbM10rSChmWzJdLHMpOlRyKCIg +IiwyKnMrMStpWzJdLmxlbmd0aCtpWzNdLmxlbmd0aCkpfWlmKGk9ci5tYXRjaCgvXlsjMD9dKyQv +KSl7bj1qKHQsMCk7aWYoci5sZW5ndGg8PW4ubGVuZ3RoKXJldHVybiBuO3JldHVybiB5ZShyLnN1 +YnN0cigwLHIubGVuZ3RoLW4ubGVuZ3RoKSkrbn1pZihpPXIubWF0Y2goL14oWyMwP10rKVwuKFsj +MF0rKSQvKSl7bj0iIit0LnRvRml4ZWQoTWF0aC5taW4oaVsyXS5sZW5ndGgsMTApKS5yZXBsYWNl +KC8oW14wXSkwKyQvLCIkMSIpO3M9bi5pbmRleE9mKCIuIik7dmFyIGg9ci5pbmRleE9mKCIuIikt +cyx1PXIubGVuZ3RoLW4ubGVuZ3RoLWg7cmV0dXJuIHllKHIuc3Vic3RyKDAsaCkrbityLnN1YnN0 +cihyLmxlbmd0aC11KSl9aWYoaT1yLm1hdGNoKC9eMDAsMDAwXC4oWyMwXSowKSQvKSl7cz1DZSh0 +LGlbMV0ubGVuZ3RoKTtyZXR1cm4gdDwwPyItIit4ZShlLHIsLXQpOnVlKFNlKHQpKS5yZXBsYWNl +KC9eXGQsXGR7M30kLywiMCQmIikucmVwbGFjZSgvXlxkKiQvLGZ1bmN0aW9uKGUpe3JldHVybiIw +MCwiKyhlLmxlbmd0aDwzP1coMCwzLWUubGVuZ3RoKToiIikrZX0pKyIuIitXKHMsaVsxXS5sZW5n +dGgpfXN3aXRjaChyKXtjYXNlIiMjIywjIzAuMDAiOnJldHVybiB4ZShlLCIjLCMjMC4wMCIsdCk7 +Y2FzZSIjIyMsIyMjIjo7Y2FzZSIjIywjIyMiOjtjYXNlIiMsIyMjIjp2YXIgZD11ZShqKGwsMCkp +O3JldHVybiBkIT09IjAiP28rZDoiIjtjYXNlIiMjIywjIyMuMDAiOnJldHVybiB4ZShlLCIjIyMs +IyMwLjAwIix0KS5yZXBsYWNlKC9eMFwuLywiLiIpO2Nhc2UiIywjIyMuMDAiOnJldHVybiB4ZShl +LCIjLCMjMC4wMCIsdCkucmVwbGFjZSgvXjBcLi8sIi4iKTtkZWZhdWx0Ojt9dGhyb3cgbmV3IEVy +cm9yKCJ1bnN1cHBvcnRlZCBmb3JtYXQgfCIrcisifCIpfWZ1bmN0aW9uIE9lKGUscix0KXt2YXIg +YT1yLmxlbmd0aC0xO3doaWxlKHIuY2hhckNvZGVBdChhLTEpPT09NDQpLS1hO3JldHVybiBGZShl +LHIuc3Vic3RyKDAsYSksdC9NYXRoLnBvdygxMCwzKihyLmxlbmd0aC1hKSkpfWZ1bmN0aW9uIEll +KGUscix0KXt2YXIgYT1yLnJlcGxhY2UoZGUsIiIpLG49ci5sZW5ndGgtYS5sZW5ndGg7cmV0dXJu +IEZlKGUsYSx0Kk1hdGgucG93KDEwLDIqbikpK1RyKCIlIixuKX1mdW5jdGlvbiBSZShlLHIpe3Zh +ciB0O3ZhciBhPWUuaW5kZXhPZigiRSIpLWUuaW5kZXhPZigiLiIpLTE7aWYoZS5tYXRjaCgvXiMr +MC4wRVwrMCQvKSl7aWYocj09MClyZXR1cm4iMC4wRSswIjtlbHNlIGlmKHI8MClyZXR1cm4iLSIr +UmUoZSwtcik7dmFyIG49ZS5pbmRleE9mKCIuIik7aWYobj09PS0xKW49ZS5pbmRleE9mKCJFIik7 +dmFyIGk9TWF0aC5mbG9vcihNYXRoLmxvZyhyKSpNYXRoLkxPRzEwRSklbjtpZihpPDApaSs9bjt0 +PShyL01hdGgucG93KDEwLGkpKS50b1ByZWNpc2lvbihhKzErKG4raSklbik7aWYoIXQubWF0Y2go +L1tFZV0vKSl7dmFyIHM9TWF0aC5mbG9vcihNYXRoLmxvZyhyKSpNYXRoLkxPRzEwRSk7aWYodC5p +bmRleE9mKCIuIik9PT0tMSl0PXQuY2hhckF0KDApKyIuIit0LnN1YnN0cigxKSsiRSsiKyhzLXQu +bGVuZ3RoK2kpO2Vsc2UgdCs9IkUrIisocy1pKTt0PXQucmVwbGFjZSgvXCstLywiLSIpfXQ9dC5y +ZXBsYWNlKC9eKFsrLV0/KShcZCopXC4oXGQqKVtFZV0vLGZ1bmN0aW9uKGUscix0LGEpe3JldHVy +biByK3QrYS5zdWJzdHIoMCwobitpKSVuKSsiLiIrYS5zdWJzdHIoaSkrIkUifSl9ZWxzZSB0PXIu +dG9FeHBvbmVudGlhbChhKTtpZihlLm1hdGNoKC9FXCswMCQvKSYmdC5tYXRjaCgvZVsrLV1cZCQv +KSl0PXQuc3Vic3RyKDAsdC5sZW5ndGgtMSkrIjAiK3QuY2hhckF0KHQubGVuZ3RoLTEpO2lmKGUu +bWF0Y2goL0VcLS8pJiZ0Lm1hdGNoKC9lXCsvKSl0PXQucmVwbGFjZSgvZVwrLywiZSIpO3JldHVy +biB0LnJlcGxhY2UoImUiLCJFIil9ZnVuY3Rpb24gTmUoZSxyLHQpe2lmKGUuY2hhckNvZGVBdCgw +KT09PTQwJiYhci5tYXRjaChBZSkpe3ZhciBhPXIucmVwbGFjZSgvXCggKi8sIiIpLnJlcGxhY2Uo +LyBcKS8sIiIpLnJlcGxhY2UoL1wpLywiIik7aWYodD49MClyZXR1cm4gTmUoIm4iLGEsdCk7cmV0 +dXJuIigiK05lKCJuIixhLC10KSsiKSJ9aWYoci5jaGFyQ29kZUF0KHIubGVuZ3RoLTEpPT09NDQp +cmV0dXJuIE9lKGUscix0KTtpZihyLmluZGV4T2YoIiUiKSE9PS0xKXJldHVybiBJZShlLHIsdCk7 +aWYoci5pbmRleE9mKCJFIikhPT0tMSlyZXR1cm4gUmUocix0KTtpZihyLmNoYXJDb2RlQXQoMCk9 +PT0zNilyZXR1cm4iJCIrTmUoZSxyLnN1YnN0cihyLmNoYXJBdCgxKT09IiAiPzI6MSksdCk7dmFy +IG47dmFyIGkscyxmLGw9TWF0aC5hYnModCksbz10PDA/Ii0iOiIiO2lmKHIubWF0Y2goL14wMCsk +LykpcmV0dXJuIG8rVyhsLHIubGVuZ3RoKTtpZihyLm1hdGNoKC9eWyM/XSskLykpe249IiIrdDtp +Zih0PT09MCluPSIiO3JldHVybiBuLmxlbmd0aD5yLmxlbmd0aD9uOnllKHIuc3Vic3RyKDAsci5s +ZW5ndGgtbi5sZW5ndGgpKStufWlmKGk9ci5tYXRjaChnZSkpcmV0dXJuIHdlKGksbCxvKTtpZihy +Lm1hdGNoKC9eIyswKyQvKSlyZXR1cm4gbytXKGwsci5sZW5ndGgtci5pbmRleE9mKCIwIikpO2lm +KGk9ci5tYXRjaChrZSkpe249KCIiK3QpLnJlcGxhY2UoL14oW15cLl0rKSQvLCIkMS4iK3llKGlb +MV0pKS5yZXBsYWNlKC9cLiQvLCIuIit5ZShpWzFdKSk7bj1uLnJlcGxhY2UoL1wuKFxkKikkLyxm +dW5jdGlvbihlLHIpe3JldHVybiIuIityK1RyKCIwIix5ZShpWzFdKS5sZW5ndGgtci5sZW5ndGgp +fSk7cmV0dXJuIHIuaW5kZXhPZigiMC4iKSE9PS0xP246bi5yZXBsYWNlKC9eMFwuLywiLiIpfXI9 +ci5yZXBsYWNlKC9eIysoWzAuXSkvLCIkMSIpO2lmKGk9ci5tYXRjaCgvXigwKilcLigjKikkLykp +e3JldHVybiBvKygiIitsKS5yZXBsYWNlKC9cLihcZCpbMS05XSkwKiQvLCIuJDEiKS5yZXBsYWNl +KC9eKC0/XGQqKSQvLCIkMS4iKS5yZXBsYWNlKC9eMFwuLyxpWzFdLmxlbmd0aD8iMC4iOiIuIil9 +aWYoaT1yLm1hdGNoKC9eI3sxLDN9LCMjMChcLj8pJC8pKXJldHVybiBvK3VlKCIiK2wpO2lmKGk9 +ci5tYXRjaCgvXiMsIyMwXC4oWyMwXSowKSQvKSl7cmV0dXJuIHQ8MD8iLSIrTmUoZSxyLC10KTp1 +ZSgiIit0KSsiLiIrVHIoIjAiLGlbMV0ubGVuZ3RoKX1pZihpPXIubWF0Y2goL14jLCMqLCMwLykp +cmV0dXJuIE5lKGUsci5yZXBsYWNlKC9eIywjKiwvLCIiKSx0KTtpZihpPXIubWF0Y2goL14oWzAj +XSspKFxcPy0oWzAjXSspKSskLykpe249QihOZShlLHIucmVwbGFjZSgvW1xcLV0vZywiIiksdCkp +O3M9MDtyZXR1cm4gQihCKHIucmVwbGFjZSgvXFwvZywiIikpLnJlcGxhY2UoL1swI10vZyxmdW5j +dGlvbihlKXtyZXR1cm4gczxuLmxlbmd0aD9uLmNoYXJBdChzKyspOmU9PT0iMCI/IjAiOiIifSkp +fWlmKHIubWF0Y2goVGUpKXtuPU5lKGUsIiMjIyMjIyMjIyMiLHQpO3JldHVybiIoIituLnN1YnN0 +cigwLDMpKyIpICIrbi5zdWJzdHIoMywzKSsiLSIrbi5zdWJzdHIoNil9dmFyIGM9IiI7aWYoaT1y +Lm1hdGNoKC9eKFsjMD9dKykoID8pXC8oID8pKFsjMD9dKykvKSl7cz1NYXRoLm1pbihpWzRdLmxl +bmd0aCw3KTtmPXJlKGwsTWF0aC5wb3coMTAscyktMSxmYWxzZSk7bj0iIitvO2M9RmUoIm4iLGlb +MV0sZlsxXSk7aWYoYy5jaGFyQXQoYy5sZW5ndGgtMSk9PSIgIiljPWMuc3Vic3RyKDAsYy5sZW5n +dGgtMSkrIjAiO24rPWMraVsyXSsiLyIraVszXTtjPUgoZlsyXSxzKTtpZihjLmxlbmd0aDxpWzRd +Lmxlbmd0aCljPXllKGlbNF0uc3Vic3RyKGlbNF0ubGVuZ3RoLWMubGVuZ3RoKSkrYztuKz1jO3Jl +dHVybiBufWlmKGk9ci5tYXRjaCgvXiMgKFsjMD9dKykoID8pXC8oID8pKFsjMD9dKykvKSl7cz1N +YXRoLm1pbihNYXRoLm1heChpWzFdLmxlbmd0aCxpWzRdLmxlbmd0aCksNyk7Zj1yZShsLE1hdGgu +cG93KDEwLHMpLTEsdHJ1ZSk7cmV0dXJuIG8rKGZbMF18fChmWzFdPyIiOiIwIikpKyIgIisoZlsx +XT96KGZbMV0scykraVsyXSsiLyIraVszXStIKGZbMl0scyk6VHIoIiAiLDIqcysxK2lbMl0ubGVu +Z3RoK2lbM10ubGVuZ3RoKSl9aWYoaT1yLm1hdGNoKC9eWyMwP10rJC8pKXtuPSIiK3Q7aWYoci5s +ZW5ndGg8PW4ubGVuZ3RoKXJldHVybiBuO3JldHVybiB5ZShyLnN1YnN0cigwLHIubGVuZ3RoLW4u +bGVuZ3RoKSkrbn1pZihpPXIubWF0Y2goL14oWyMwXSspXC4oWyMwXSspJC8pKXtuPSIiK3QudG9G +aXhlZChNYXRoLm1pbihpWzJdLmxlbmd0aCwxMCkpLnJlcGxhY2UoLyhbXjBdKTArJC8sIiQxIik7 +cz1uLmluZGV4T2YoIi4iKTt2YXIgaD1yLmluZGV4T2YoIi4iKS1zLHU9ci5sZW5ndGgtbi5sZW5n +dGgtaDtyZXR1cm4geWUoci5zdWJzdHIoMCxoKStuK3Iuc3Vic3RyKHIubGVuZ3RoLXUpKX1pZihp +PXIubWF0Y2goL14wMCwwMDBcLihbIzBdKjApJC8pKXtyZXR1cm4gdDwwPyItIitOZShlLHIsLXQp +OnVlKCIiK3QpLnJlcGxhY2UoL15cZCxcZHszfSQvLCIwJCYiKS5yZXBsYWNlKC9eXGQqJC8sZnVu +Y3Rpb24oZSl7cmV0dXJuIjAwLCIrKGUubGVuZ3RoPDM/VygwLDMtZS5sZW5ndGgpOiIiKStlfSkr +Ii4iK1coMCxpWzFdLmxlbmd0aCl9c3dpdGNoKHIpe2Nhc2UiIyMjLCMjIyI6O2Nhc2UiIyMsIyMj +Ijo7Y2FzZSIjLCMjIyI6dmFyIGQ9dWUoIiIrbCk7cmV0dXJuIGQhPT0iMCI/bytkOiIiO2RlZmF1 +bHQ6aWYoci5tYXRjaCgvXC5bMCM/XSokLykpcmV0dXJuIE5lKGUsci5zbGljZSgwLHIubGFzdElu +ZGV4T2YoIi4iKSksdCkreWUoci5zbGljZShyLmxhc3RJbmRleE9mKCIuIikpKTt9dGhyb3cgbmV3 +IEVycm9yKCJ1bnN1cHBvcnRlZCBmb3JtYXQgfCIrcisifCIpfWZ1bmN0aW9uIEZlKGUscix0KXty +ZXR1cm4odHwwKT09PXQ/TmUoZSxyLHQpOnhlKGUscix0KX1mdW5jdGlvbiBEZShlKXt2YXIgcj1b +XTt2YXIgdD1mYWxzZTtmb3IodmFyIGE9MCxuPTA7YTxlLmxlbmd0aDsrK2Epc3dpdGNoKGUuY2hh +ckNvZGVBdChhKSl7Y2FzZSAzNDp0PSF0O2JyZWFrO2Nhc2UgOTU6O2Nhc2UgNDI6O2Nhc2UgOTI6 +KythO2JyZWFrO2Nhc2UgNTk6cltyLmxlbmd0aF09ZS5zdWJzdHIobixhLW4pO249YSsxO31yW3Iu +bGVuZ3RoXT1lLnN1YnN0cihuKTtpZih0PT09dHJ1ZSl0aHJvdyBuZXcgRXJyb3IoIkZvcm1hdCB8 +IitlKyJ8IHVudGVybWluYXRlZCBzdHJpbmcgIik7cmV0dXJuIHJ9dmFyIFBlPS9cW1tIaE1tU3Nc +dTBFMEFcdTBFMTlcdTBFMTddKlxdLztmdW5jdGlvbiBMZShlKXt2YXIgcj0wLHQ9IiIsYT0iIjt3 +aGlsZShyPGUubGVuZ3RoKXtzd2l0Y2godD1lLmNoYXJBdChyKSl7Y2FzZSJHIjppZihLKGUscikp +cis9NjtyKys7YnJlYWs7Y2FzZSciJzpmb3IoO2UuY2hhckNvZGVBdCgrK3IpIT09MzQmJnI8ZS5s +ZW5ndGg7KXt9KytyO2JyZWFrO2Nhc2UiXFwiOnIrPTI7YnJlYWs7Y2FzZSJfIjpyKz0yO2JyZWFr +O2Nhc2UiQCI6CisrcjticmVhaztjYXNlIkIiOjtjYXNlImIiOmlmKGUuY2hhckF0KHIrMSk9PT0i +MSJ8fGUuY2hhckF0KHIrMSk9PT0iMiIpcmV0dXJuIHRydWU7Y2FzZSJNIjo7Y2FzZSJEIjo7Y2Fz +ZSJZIjo7Y2FzZSJIIjo7Y2FzZSJTIjo7Y2FzZSJFIjo7Y2FzZSJtIjo7Y2FzZSJkIjo7Y2FzZSJ5 +Ijo7Y2FzZSJoIjo7Y2FzZSJzIjo7Y2FzZSJlIjo7Y2FzZSJnIjpyZXR1cm4gdHJ1ZTtjYXNlIkEi +OjtjYXNlImEiOjtjYXNlIuS4iiI6aWYoZS5zdWJzdHIociwzKS50b1VwcGVyQ2FzZSgpPT09IkEv +UCIpcmV0dXJuIHRydWU7aWYoZS5zdWJzdHIociw1KS50b1VwcGVyQ2FzZSgpPT09IkFNL1BNIily +ZXR1cm4gdHJ1ZTtpZihlLnN1YnN0cihyLDUpLnRvVXBwZXJDYXNlKCk9PT0i5LiK5Y2IL+S4i+WN +iCIpcmV0dXJuIHRydWU7KytyO2JyZWFrO2Nhc2UiWyI6YT10O3doaWxlKGUuY2hhckF0KHIrKykh +PT0iXSImJnI8ZS5sZW5ndGgpYSs9ZS5jaGFyQXQocik7aWYoYS5tYXRjaChQZSkpcmV0dXJuIHRy +dWU7YnJlYWs7Y2FzZSIuIjo7Y2FzZSIwIjo7Y2FzZSIjIjp3aGlsZShyPGUubGVuZ3RoJiYoIjAj +Py4sRSstJSIuaW5kZXhPZih0PWUuY2hhckF0KCsrcikpPi0xfHx0PT0iXFwiJiZlLmNoYXJBdChy +KzEpPT0iLSImJiIwIyIuaW5kZXhPZihlLmNoYXJBdChyKzIpKT4tMSkpe31icmVhaztjYXNlIj8i +OndoaWxlKGUuY2hhckF0KCsrcik9PT10KXt9YnJlYWs7Y2FzZSIqIjorK3I7aWYoZS5jaGFyQXQo +cik9PSIgInx8ZS5jaGFyQXQocik9PSIqIikrK3I7YnJlYWs7Y2FzZSIoIjo7Y2FzZSIpIjorK3I7 +YnJlYWs7Y2FzZSIxIjo7Y2FzZSIyIjo7Y2FzZSIzIjo7Y2FzZSI0Ijo7Y2FzZSI1Ijo7Y2FzZSI2 +Ijo7Y2FzZSI3Ijo7Y2FzZSI4Ijo7Y2FzZSI5Ijp3aGlsZShyPGUubGVuZ3RoJiYiMDEyMzQ1Njc4 +OSIuaW5kZXhPZihlLmNoYXJBdCgrK3IpKT4tMSl7fWJyZWFrO2Nhc2UiICI6KytyO2JyZWFrO2Rl +ZmF1bHQ6KytyO2JyZWFrO319cmV0dXJuIGZhbHNlfWZ1bmN0aW9uIE1lKGUscix0LGEpe3ZhciBu +PVtdLGk9IiIscz0wLGY9IiIsbD0idCIsbyxjLGg7dmFyIHU9IkgiO3doaWxlKHM8ZS5sZW5ndGgp +e3N3aXRjaChmPWUuY2hhckF0KHMpKXtjYXNlIkciOmlmKCFLKGUscykpdGhyb3cgbmV3IEVycm9y +KCJ1bnJlY29nbml6ZWQgY2hhcmFjdGVyICIrZisiIGluICIrZSk7bltuLmxlbmd0aF09e3Q6Ikci +LHY6IkdlbmVyYWwifTtzKz03O2JyZWFrO2Nhc2UnIic6Zm9yKGk9IiI7KGg9ZS5jaGFyQ29kZUF0 +KCsrcykpIT09MzQmJnM8ZS5sZW5ndGg7KWkrPVN0cmluZy5mcm9tQ2hhckNvZGUoaCk7bltuLmxl +bmd0aF09e3Q6InQiLHY6aX07KytzO2JyZWFrO2Nhc2UiXFwiOnZhciBkPWUuY2hhckF0KCsrcyks +dj1kPT09IigifHxkPT09IikiP2Q6InQiO25bbi5sZW5ndGhdPXt0OnYsdjpkfTsrK3M7YnJlYWs7 +Y2FzZSJfIjpuW24ubGVuZ3RoXT17dDoidCIsdjoiICJ9O3MrPTI7YnJlYWs7Y2FzZSJAIjpuW24u +bGVuZ3RoXT17dDoiVCIsdjpyfTsrK3M7YnJlYWs7Y2FzZSJCIjo7Y2FzZSJiIjppZihlLmNoYXJB +dChzKzEpPT09IjEifHxlLmNoYXJBdChzKzEpPT09IjIiKXtpZihvPT1udWxsKXtvPWFlKHIsdCxl +LmNoYXJBdChzKzEpPT09IjIiKTtpZihvPT1udWxsKXJldHVybiIifW5bbi5sZW5ndGhdPXt0OiJY +Iix2OmUuc3Vic3RyKHMsMil9O2w9ZjtzKz0yO2JyZWFrfTtjYXNlIk0iOjtjYXNlIkQiOjtjYXNl +IlkiOjtjYXNlIkgiOjtjYXNlIlMiOjtjYXNlIkUiOmY9Zi50b0xvd2VyQ2FzZSgpO2Nhc2UibSI6 +O2Nhc2UiZCI6O2Nhc2UieSI6O2Nhc2UiaCI6O2Nhc2UicyI6O2Nhc2UiZSI6O2Nhc2UiZyI6aWYo +cjwwKXJldHVybiIiO2lmKG89PW51bGwpe289YWUocix0KTtpZihvPT1udWxsKXJldHVybiIifWk9 +Zjt3aGlsZSgrK3M8ZS5sZW5ndGgmJmUuY2hhckF0KHMpLnRvTG93ZXJDYXNlKCk9PT1mKWkrPWY7 +aWYoZj09PSJtIiYmbC50b0xvd2VyQ2FzZSgpPT09ImgiKWY9Ik0iO2lmKGY9PT0iaCIpZj11O25b +bi5sZW5ndGhdPXt0OmYsdjppfTtsPWY7YnJlYWs7Y2FzZSJBIjo7Y2FzZSJhIjo7Y2FzZSLkuIoi +OnZhciBwPXt0OmYsdjpmfTtpZihvPT1udWxsKW89YWUocix0KTtpZihlLnN1YnN0cihzLDMpLnRv +VXBwZXJDYXNlKCk9PT0iQS9QIil7aWYobyE9bnVsbClwLnY9by5IPj0xMj9lLmNoYXJBdChzKzIp +OmY7cC50PSJUIjt1PSJoIjtzKz0zfWVsc2UgaWYoZS5zdWJzdHIocyw1KS50b1VwcGVyQ2FzZSgp +PT09IkFNL1BNIil7aWYobyE9bnVsbClwLnY9by5IPj0xMj8iUE0iOiJBTSI7cC50PSJUIjtzKz01 +O3U9ImgifWVsc2UgaWYoZS5zdWJzdHIocyw1KS50b1VwcGVyQ2FzZSgpPT09IuS4iuWNiC/kuIvl +jYgiKXtpZihvIT1udWxsKXAudj1vLkg+PTEyPyLkuIvljYgiOiLkuIrljYgiO3AudD0iVCI7cys9 +NTt1PSJoIn1lbHNle3AudD0idCI7KytzfWlmKG89PW51bGwmJnAudD09PSJUIilyZXR1cm4iIjtu +W24ubGVuZ3RoXT1wO2w9ZjticmVhaztjYXNlIlsiOmk9Zjt3aGlsZShlLmNoYXJBdChzKyspIT09 +Il0iJiZzPGUubGVuZ3RoKWkrPWUuY2hhckF0KHMpO2lmKGkuc2xpY2UoLTEpIT09Il0iKXRocm93 +J3VudGVybWluYXRlZCAiWyIgYmxvY2s6IHwnK2krInwiO2lmKGkubWF0Y2goUGUpKXtpZihvPT1u +dWxsKXtvPWFlKHIsdCk7aWYobz09bnVsbClyZXR1cm4iIn1uW24ubGVuZ3RoXT17dDoiWiIsdjpp +LnRvTG93ZXJDYXNlKCl9O2w9aS5jaGFyQXQoMSl9ZWxzZSBpZihpLmluZGV4T2YoIiQiKT4tMSl7 +aT0oaS5tYXRjaCgvXCQoW14tXFtcXV0qKS8pfHxbXSlbMV18fCIkIjtpZighTGUoZSkpbltuLmxl +bmd0aF09e3Q6InQiLHY6aX19YnJlYWs7Y2FzZSIuIjppZihvIT1udWxsKXtpPWY7d2hpbGUoKytz +PGUubGVuZ3RoJiYoZj1lLmNoYXJBdChzKSk9PT0iMCIpaSs9ZjtuW24ubGVuZ3RoXT17dDoicyIs +djppfTticmVha307Y2FzZSIwIjo7Y2FzZSIjIjppPWY7d2hpbGUoKytzPGUubGVuZ3RoJiYiMCM/ +LixFKy0lIi5pbmRleE9mKGY9ZS5jaGFyQXQocykpPi0xKWkrPWY7bltuLmxlbmd0aF09e3Q6Im4i +LHY6aX07YnJlYWs7Y2FzZSI/IjppPWY7d2hpbGUoZS5jaGFyQXQoKytzKT09PWYpaSs9ZjtuW24u +bGVuZ3RoXT17dDpmLHY6aX07bD1mO2JyZWFrO2Nhc2UiKiI6KytzO2lmKGUuY2hhckF0KHMpPT0i +ICJ8fGUuY2hhckF0KHMpPT0iKiIpKytzO2JyZWFrO2Nhc2UiKCI6O2Nhc2UiKSI6bltuLmxlbmd0 +aF09e3Q6YT09PTE/InQiOmYsdjpmfTsrK3M7YnJlYWs7Y2FzZSIxIjo7Y2FzZSIyIjo7Y2FzZSIz +Ijo7Y2FzZSI0Ijo7Y2FzZSI1Ijo7Y2FzZSI2Ijo7Y2FzZSI3Ijo7Y2FzZSI4Ijo7Y2FzZSI5Ijpp +PWY7d2hpbGUoczxlLmxlbmd0aCYmIjAxMjM0NTY3ODkiLmluZGV4T2YoZS5jaGFyQXQoKytzKSk+ +LTEpaSs9ZS5jaGFyQXQocyk7bltuLmxlbmd0aF09e3Q6IkQiLHY6aX07YnJlYWs7Y2FzZSIgIjpu +W24ubGVuZ3RoXT17dDpmLHY6Zn07KytzO2JyZWFrO2Nhc2UiJCI6bltuLmxlbmd0aF09e3Q6InQi +LHY6IiQifTsrK3M7YnJlYWs7ZGVmYXVsdDppZigiLCQtKy8oKTohXiYnfnt9PD494oKsYWNmaWpr +bG9wcXJ0dXZ3eHpQIi5pbmRleE9mKGYpPT09LTEpdGhyb3cgbmV3IEVycm9yKCJ1bnJlY29nbml6 +ZWQgY2hhcmFjdGVyICIrZisiIGluICIrZSk7bltuLmxlbmd0aF09e3Q6InQiLHY6Zn07KytzO2Jy +ZWFrO319dmFyIG09MCxnPTAsYjtmb3Iocz1uLmxlbmd0aC0xLGw9InQiO3M+PTA7LS1zKXtzd2l0 +Y2gobltzXS50KXtjYXNlImgiOjtjYXNlIkgiOm5bc10udD11O2w9ImgiO2lmKG08MSltPTE7YnJl +YWs7Y2FzZSJzIjppZihiPW5bc10udi5tYXRjaCgvXC4wKyQvKSl7Zz1NYXRoLm1heChnLGJbMF0u +bGVuZ3RoLTEpO209NH1pZihtPDMpbT0zO2Nhc2UiZCI6O2Nhc2UieSI6O2Nhc2UiZSI6bD1uW3Nd +LnQ7YnJlYWs7Y2FzZSJNIjpsPW5bc10udDtpZihtPDIpbT0yO2JyZWFrO2Nhc2UibSI6aWYobD09 +PSJzIil7bltzXS50PSJNIjtpZihtPDIpbT0yfWJyZWFrO2Nhc2UiWCI6YnJlYWs7Y2FzZSJaIjpp +ZihtPDEmJm5bc10udi5tYXRjaCgvW0hoXS8pKW09MTtpZihtPDImJm5bc10udi5tYXRjaCgvW01t +XS8pKW09MjtpZihtPDMmJm5bc10udi5tYXRjaCgvW1NzXS8pKW09Mzt9fXZhciB3O3N3aXRjaCht +KXtjYXNlIDA6YnJlYWs7Y2FzZSAxOjtjYXNlIDI6O2Nhc2UgMzppZihvLnU+PS41KXtvLnU9MDsr +K28uU31pZihvLlM+PTYwKXtvLlM9MDsrK28uTX1pZihvLk0+PTYwKXtvLk09MDsrK28uSH1pZihv +Lkg+PTI0KXtvLkg9MDsrK28uRDt3PWFlKG8uRCk7dy51PW8udTt3LlM9by5TO3cuTT1vLk07dy5I +PW8uSDtvPXd9YnJlYWs7Y2FzZSA0OnN3aXRjaChnKXtjYXNlIDE6by51PU1hdGgucm91bmQoby51 +KjEwKS8xMDticmVhaztjYXNlIDI6by51PU1hdGgucm91bmQoby51KjEwMCkvMTAwO2JyZWFrO2Nh +c2UgMzpvLnU9TWF0aC5yb3VuZChvLnUqMWUzKS8xZTM7YnJlYWs7fWlmKG8udT49MSl7by51PTA7 +KytvLlN9aWYoby5TPj02MCl7by5TPTA7KytvLk19aWYoby5NPj02MCl7by5NPTA7KytvLkh9aWYo +by5IPj0yNCl7by5IPTA7KytvLkQ7dz1hZShvLkQpO3cudT1vLnU7dy5TPW8uUzt3Lk09by5NO3cu +SD1vLkg7bz13fWJyZWFrO312YXIgaz0iIixBO2ZvcihzPTA7czxuLmxlbmd0aDsrK3Mpe3N3aXRj +aChuW3NdLnQpe2Nhc2UidCI6O2Nhc2UiVCI6O2Nhc2UiICI6O2Nhc2UiRCI6YnJlYWs7Y2FzZSJY +IjpuW3NdLnY9IiI7bltzXS50PSI7IjticmVhaztjYXNlImQiOjtjYXNlIm0iOjtjYXNlInkiOjtj +YXNlImgiOjtjYXNlIkgiOjtjYXNlIk0iOjtjYXNlInMiOjtjYXNlImUiOjtjYXNlImIiOjtjYXNl +IloiOm5bc10udj1oZShuW3NdLnQuY2hhckNvZGVBdCgwKSxuW3NdLnYsbyxnKTtuW3NdLnQ9InQi +O2JyZWFrO2Nhc2UibiI6O2Nhc2UiPyI6QT1zKzE7d2hpbGUobltBXSE9bnVsbCYmKChmPW5bQV0u +dCk9PT0iPyJ8fGY9PT0iRCJ8fChmPT09IiAifHxmPT09InQiKSYmbltBKzFdIT1udWxsJiYobltB +KzFdLnQ9PT0iPyJ8fG5bQSsxXS50PT09InQiJiZuW0ErMV0udj09PSIvIil8fG5bc10udD09PSIo +IiYmKGY9PT0iICJ8fGY9PT0ibiJ8fGY9PT0iKSIpfHxmPT09InQiJiYobltBXS52PT09Ii8ifHxu +W0FdLnY9PT0iICImJm5bQSsxXSE9bnVsbCYmbltBKzFdLnQ9PSI/IikpKXtuW3NdLnYrPW5bQV0u +djtuW0FdPXt2OiIiLHQ6IjsifTsrK0F9ays9bltzXS52O3M9QS0xO2JyZWFrO2Nhc2UiRyI6bltz +XS50PSJ0IjtuW3NdLnY9b2Uocix0KTticmVhazt9fXZhciBUPSIiLHksRTtpZihrLmxlbmd0aD4w +KXtpZihrLmNoYXJDb2RlQXQoMCk9PTQwKXt5PXI8MCYmay5jaGFyQ29kZUF0KDApPT09NDU/LXI6 +cjtFPUZlKCJuIixrLHkpfWVsc2V7eT1yPDAmJmE+MT8tcjpyO0U9RmUoIm4iLGsseSk7aWYoeTww +JiZuWzBdJiZuWzBdLnQ9PSJ0Iil7RT1FLnN1YnN0cigxKTtuWzBdLnY9Ii0iK25bMF0udn19QT1F +Lmxlbmd0aC0xO3ZhciBDPW4ubGVuZ3RoO2ZvcihzPTA7czxuLmxlbmd0aDsrK3MpaWYobltzXSE9 +bnVsbCYmbltzXS50IT0idCImJm5bc10udi5pbmRleE9mKCIuIik+LTEpe0M9czticmVha312YXIg +Xz1uLmxlbmd0aDtpZihDPT09bi5sZW5ndGgmJkUuaW5kZXhPZigiRSIpPT09LTEpe2ZvcihzPW4u +bGVuZ3RoLTE7cz49MDstLXMpe2lmKG5bc109PW51bGx8fCJuPyIuaW5kZXhPZihuW3NdLnQpPT09 +LTEpY29udGludWU7aWYoQT49bltzXS52Lmxlbmd0aC0xKXtBLT1uW3NdLnYubGVuZ3RoO25bc10u +dj1FLnN1YnN0cihBKzEsbltzXS52Lmxlbmd0aCl9ZWxzZSBpZihBPDApbltzXS52PSIiO2Vsc2V7 +bltzXS52PUUuc3Vic3RyKDAsQSsxKTtBPS0xfW5bc10udD0idCI7Xz1zfWlmKEE+PTAmJl88bi5s +ZW5ndGgpbltfXS52PUUuc3Vic3RyKDAsQSsxKStuW19dLnZ9ZWxzZSBpZihDIT09bi5sZW5ndGgm +JkUuaW5kZXhPZigiRSIpPT09LTEpe0E9RS5pbmRleE9mKCIuIiktMTtmb3Iocz1DO3M+PTA7LS1z +KXtpZihuW3NdPT1udWxsfHwibj8iLmluZGV4T2YobltzXS50KT09PS0xKWNvbnRpbnVlO2M9bltz +XS52LmluZGV4T2YoIi4iKT4tMSYmcz09PUM/bltzXS52LmluZGV4T2YoIi4iKS0xOm5bc10udi5s +ZW5ndGgtMTtUPW5bc10udi5zdWJzdHIoYysxKTtmb3IoO2M+PTA7LS1jKXtpZihBPj0wJiYobltz +XS52LmNoYXJBdChjKT09PSIwInx8bltzXS52LmNoYXJBdChjKT09PSIjIikpVD1FLmNoYXJBdChB +LS0pK1R9bltzXS52PVQ7bltzXS50PSJ0IjtfPXN9aWYoQT49MCYmXzxuLmxlbmd0aCluW19dLnY9 +RS5zdWJzdHIoMCxBKzEpK25bX10udjtBPUUuaW5kZXhPZigiLiIpKzE7Zm9yKHM9QztzPG4ubGVu +Z3RoOysrcyl7aWYobltzXT09bnVsbHx8Im4/KCIuaW5kZXhPZihuW3NdLnQpPT09LTEmJnMhPT1D +KWNvbnRpbnVlO2M9bltzXS52LmluZGV4T2YoIi4iKT4tMSYmcz09PUM/bltzXS52LmluZGV4T2Yo +Ii4iKSsxOjA7VD1uW3NdLnYuc3Vic3RyKDAsYyk7Zm9yKDtjPG5bc10udi5sZW5ndGg7KytjKXtp +ZihBPEUubGVuZ3RoKVQrPUUuY2hhckF0KEErKyl9bltzXS52PVQ7bltzXS50PSJ0IjtfPXN9fX1m +b3Iocz0wO3M8bi5sZW5ndGg7KytzKWlmKG5bc10hPW51bGwmJiJuPyIuaW5kZXhPZihuW3NdLnQp +Pi0xKXt5PWE+MSYmcjwwJiZzPjAmJm5bcy0xXS52PT09Ii0iPy1yOnI7bltzXS52PUZlKG5bc10u +dCxuW3NdLnYseSk7bltzXS50PSJ0In12YXIgUz0iIjtmb3Iocz0wO3MhPT1uLmxlbmd0aDsrK3Mp +aWYobltzXSE9bnVsbClTKz1uW3NdLnY7cmV0dXJuIFN9dmFyIFVlPS9cWyg9fD5bPV0/fDxbPj1d +PykoLT9cZCsoPzpcLlxkKik/KVxdLztmdW5jdGlvbiBCZShlLHIpe2lmKHI9PW51bGwpcmV0dXJu +IGZhbHNlO3ZhciB0PXBhcnNlRmxvYXQoclsyXSk7c3dpdGNoKHJbMV0pe2Nhc2UiPSI6aWYoZT09 +dClyZXR1cm4gdHJ1ZTticmVhaztjYXNlIj4iOmlmKGU+dClyZXR1cm4gdHJ1ZTticmVhaztjYXNl +IjwiOmlmKGU8dClyZXR1cm4gdHJ1ZTticmVhaztjYXNlIjw+IjppZihlIT10KXJldHVybiB0cnVl +O2JyZWFrO2Nhc2UiPj0iOmlmKGU+PXQpcmV0dXJuIHRydWU7YnJlYWs7Y2FzZSI8PSI6aWYoZTw9 +dClyZXR1cm4gdHJ1ZTticmVhazt9cmV0dXJuIGZhbHNlfWZ1bmN0aW9uIFdlKGUscil7dmFyIHQ9 +RGUoZSk7dmFyIGE9dC5sZW5ndGgsbj10W2EtMV0uaW5kZXhPZigiQCIpO2lmKGE8NCYmbj4tMSkt +LWE7aWYodC5sZW5ndGg+NCl0aHJvdyBuZXcgRXJyb3IoImNhbm5vdCBmaW5kIHJpZ2h0IGZvcm1h +dCBmb3IgfCIrdC5qb2luKCJ8IikrInwiKTtpZih0eXBlb2YgciE9PSJudW1iZXIiKXJldHVybls0 +LHQubGVuZ3RoPT09NHx8bj4tMT90W3QubGVuZ3RoLTFdOiJAIl07aWYodHlwZW9mIHI9PT0ibnVt +YmVyIiYmIWlzRmluaXRlKHIpKXI9MDtzd2l0Y2godC5sZW5ndGgpe2Nhc2UgMTp0PW4+LTE/WyJH +ZW5lcmFsIiwiR2VuZXJhbCIsIkdlbmVyYWwiLHRbMF1dOlt0WzBdLHRbMF0sdFswXSwiQCJdO2Jy +ZWFrO2Nhc2UgMjp0PW4+LTE/W3RbMF0sdFswXSx0WzBdLHRbMV1dOlt0WzBdLHRbMV0sdFswXSwi +QCJdO2JyZWFrO2Nhc2UgMzp0PW4+LTE/W3RbMF0sdFsxXSx0WzBdLHRbMl1dOlt0WzBdLHRbMV0s +dFsyXSwiQCJdO2JyZWFrO2Nhc2UgNDpicmVhazt9dmFyIGk9cj4wP3RbMF06cjwwP3RbMV06dFsy +XTtpZih0WzBdLmluZGV4T2YoIlsiKT09PS0xJiZ0WzFdLmluZGV4T2YoIlsiKT09PS0xKXJldHVy +blthLGldO2lmKHRbMF0ubWF0Y2goL1xbWz08Pl0vKSE9bnVsbHx8dFsxXS5tYXRjaCgvXFtbPTw+ +XS8pIT1udWxsKXt2YXIgcz10WzBdLm1hdGNoKFVlKTt2YXIgZj10WzFdLm1hdGNoKFVlKTtyZXR1 +cm4gQmUocixzKT9bYSx0WzBdXTpCZShyLGYpP1thLHRbMV1dOlthLHRbcyE9bnVsbCYmZiE9bnVs +bD8yOjFdXX1yZXR1cm5bYSxpXX1mdW5jdGlvbiB6ZShlLHIsdCl7aWYodD09bnVsbCl0PXt9O3Zh +ciBhPSIiO3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJzdHJpbmciOmlmKGU9PSJtL2QveXkiJiZ0LmRh +dGVORilhPXQuZGF0ZU5GO2Vsc2UgYT1lO2JyZWFrO2Nhc2UibnVtYmVyIjppZihlPT0xNCYmdC5k +YXRlTkYpYT10LmRhdGVORjtlbHNlIGE9KHQudGFibGUhPW51bGw/dC50YWJsZTpxKVtlXTtpZihh +PT1udWxsKWE9dC50YWJsZSYmdC50YWJsZVtRW2VdXXx8cVtRW2VdXTtpZihhPT1udWxsKWE9ZWVb +ZV18fCJHZW5lcmFsIjticmVhazt9aWYoSyhhLDApKXJldHVybiBvZShyLHQpO2lmKHIgaW5zdGFu +Y2VvZiBEYXRlKXI9ZHIocix0LmRhdGUxOTA0KTt2YXIgbj1XZShhLHIpO2lmKEsoblsxXSkpcmV0 +dXJuIG9lKHIsdCk7aWYocj09PXRydWUpcj0iVFJVRSI7ZWxzZSBpZihyPT09ZmFsc2Upcj0iRkFM +U0UiO2Vsc2UgaWYocj09PSIifHxyPT1udWxsKXJldHVybiIiO2Vsc2UgaWYoaXNOYU4ocikmJm5b +MV0uaW5kZXhPZigiMCIpPi0xKXJldHVybiIjTlVNISI7ZWxzZSBpZighaXNGaW5pdGUocikmJm5b +MV0uaW5kZXhPZigiMCIpPi0xKXJldHVybiIjRElWLzAhIjtyZXR1cm4gTWUoblsxXSxyLHQsblsw +XSl9ZnVuY3Rpb24gSGUoZSxyKXtpZih0eXBlb2YgciE9Im51bWJlciIpe3I9K3J8fC0xO2Zvcih2 +YXIgdD0wO3Q8MzkyOysrdCl7aWYocVt0XT09dW5kZWZpbmVkKXtpZihyPDApcj10O2NvbnRpbnVl +fWlmKHFbdF09PWUpe3I9dDticmVha319aWYocjwwKXI9MzkxfXFbcl09ZTtyZXR1cm4gcn1mdW5j +dGlvbiBWZShlKXtmb3IodmFyIHI9MDtyIT0zOTI7KytyKWlmKGVbcl0hPT11bmRlZmluZWQpSGUo +ZVtyXSxyKX1mdW5jdGlvbiAkZSgpe3E9SigpfXZhciBYZT17Zm9ybWF0OnplLGxvYWQ6SGUsX3Rh +YmxlOnEsbG9hZF90YWJsZTpWZSxwYXJzZV9kYXRlX2NvZGU6YWUsaXNfZGF0ZTpMZSxnZXRfdGFi +bGU6ZnVuY3Rpb24gY0EoKXtyZXR1cm4gWGUuX3RhYmxlPXF9fTt2YXIgR2U9ezU6JyIkIiMsIyMw +Xyk7XFwoIiQiIywjIzBcXCknLDY6JyIkIiMsIyMwXyk7W1JlZF1cXCgiJCIjLCMjMFxcKScsNzon +IiQiIywjIzAuMDBfKTtcXCgiJCIjLCMjMC4wMFxcKScsODonIiQiIywjIzAuMDBfKTtbUmVkXVxc +KCIkIiMsIyMwLjAwXFwpJywyMzoiR2VuZXJhbCIsMjQ6IkdlbmVyYWwiLDI1OiJHZW5lcmFsIiwy +NjoiR2VuZXJhbCIsMjc6Im0vZC95eSIsMjg6Im0vZC95eSIsMjk6Im0vZC95eSIsMzA6Im0vZC95 +eSIsMzE6Im0vZC95eSIsMzI6Img6bW06c3MiLDMzOiJoOm1tOnNzIiwzNDoiaDptbTpzcyIsMzU6 +Img6bW06c3MiLDM2OiJtL2QveXkiLDQxOidfKCogIywjIzBfKTtfKCogKCMsIyMwKTtfKCogIi0i +Xyk7XyhAXyknLDQyOidfKCIkIiogIywjIzBfKTtfKCIkIiogKCMsIyMwKTtfKCIkIiogIi0iXyk7 +XyhAXyknLDQzOidfKCogIywjIzAuMDBfKTtfKCogKCMsIyMwLjAwKTtfKCogIi0iPz9fKTtfKEBf +KScsNDQ6J18oIiQiKiAjLCMjMC4wMF8pO18oIiQiKiAoIywjIzAuMDApO18oIiQiKiAiLSI/P18p +O18oQF8pJyw1MDoibS9kL3l5Iiw1MToibS9kL3l5Iiw1MjoibS9kL3l5Iiw1MzoibS9kL3l5Iiw1 +NDoibS9kL3l5Iiw1NToibS9kL3l5Iiw1NjoibS9kL3l5Iiw1NzoibS9kL3l5Iiw1ODoibS9kL3l5 +Iiw1OToiMCIsNjA6IjAuMDAiLDYxOiIjLCMjMCIsNjI6IiMsIyMwLjAwIiw2MzonIiQiIywjIzBf +KTtcXCgiJCIjLCMjMFxcKScsNjQ6JyIkIiMsIyMwXyk7W1JlZF1cXCgiJCIjLCMjMFxcKScsNjU6 +JyIkIiMsIyMwLjAwXyk7XFwoIiQiIywjIzAuMDBcXCknLDY2OiciJCIjLCMjMC4wMF8pO1tSZWRd +XFwoIiQiIywjIzAuMDBcXCknLDY3OiIwJSIsNjg6IjAuMDAlIiw2OToiIyA/Lz8iLDcwOiIjID8/ +Lz8/Iiw3MToibS9kL3l5Iiw3MjoibS9kL3l5Iiw3MzoiZC1tbW0teXkiLDc0OiJkLW1tbSIsNzU6 +Im1tbS15eSIsNzY6Img6bW0iLDc3OiJoOm1tOnNzIiw3ODoibS9kL3l5IGg6bW0iLDc5OiJtbTpz +cyIsODA6IltoXTptbTpzcyIsODE6Im1tc3MuMCJ9O3ZhciBqZT0vW2REXSt8W21NXSt8W3lZZUVd +K3xbSGhdK3xbU3NdKy9nO2Z1bmN0aW9uIEtlKGUpe3ZhciByPXR5cGVvZiBlPT0ibnVtYmVyIj9x +W2VdOmU7cj1yLnJlcGxhY2UoamUsIihcXGQrKSIpO2plLmxhc3RJbmRleD0wO3JldHVybiBuZXcg +UmVnRXhwKCJeIityKyIkIil9ZnVuY3Rpb24gWWUoZSxyLHQpe3ZhciBhPS0xLG49LTEsaT0tMSxz +PS0xLGY9LTEsbD0tMTsoci5tYXRjaChqZSl8fFtdKS5mb3JFYWNoKGZ1bmN0aW9uKGUscil7dmFy +IG89cGFyc2VJbnQodFtyKzFdLDEwKTtzd2l0Y2goZS50b0xvd2VyQ2FzZSgpLmNoYXJBdCgwKSl7 +Y2FzZSJ5IjphPW87YnJlYWs7Y2FzZSJkIjppPW87YnJlYWs7Y2FzZSJoIjpzPW87YnJlYWs7Y2Fz +ZSJzIjpsPW87YnJlYWs7Y2FzZSJtIjppZihzPj0wKWY9bztlbHNlIG49bzticmVhazt9fSk7amUu +bGFzdEluZGV4PTA7aWYobD49MCYmZj09LTEmJm4+PTApe2Y9bjtuPS0xfXZhciBvPSgiIisoYT49 +MD9hOihuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSkpLnNsaWNlKC00KSsiLSIrKCIwMCIrKG4+PTE/ +bjoxKSkuc2xpY2UoLTIpKyItIisoIjAwIisoaT49MT9pOjEpKS5zbGljZSgtMik7aWYoby5sZW5n +dGg9PTcpbz0iMCIrbztpZihvLmxlbmd0aD09OClvPSIyMCIrbzt2YXIgYz0oIjAwIisocz49MD9z +OjApKS5zbGljZSgtMikrIjoiKygiMDAiKyhmPj0wP2Y6MCkpLnNsaWNlKC0yKSsiOiIrKCIwMCIr +KGw+PTA/bDowKSkuc2xpY2UoLTIpO2lmKHM9PS0xJiZmPT0tMSYmbD09LTEpcmV0dXJuIG87aWYo +YT09LTEmJm49PS0xJiZpPT0tMSlyZXR1cm4gYztyZXR1cm4gbysiVCIrY312YXIgWmU9eyJkLm0i +OiJkXFwubSJ9O2Z1bmN0aW9uIEplKGUscil7cmV0dXJuIEhlKFplW2VdfHxlLHIpfXZhciBxZT1m +dW5jdGlvbigpe3ZhciBlPXt9O2UudmVyc2lvbj0iMS4yLjAiO2Z1bmN0aW9uIHIoKXt2YXIgZT0w +LHI9bmV3IEFycmF5KDI1Nik7Zm9yKHZhciB0PTA7dCE9MjU2OysrdCl7ZT10O2U9ZSYxPy0zMDY2 +NzQ5MTJeZT4+PjE6ZT4+PjE7ZT1lJjE/LTMwNjY3NDkxMl5lPj4+MTplPj4+MTtlPWUmMT8tMzA2 +Njc0OTEyXmU+Pj4xOmU+Pj4xO2U9ZSYxPy0zMDY2NzQ5MTJeZT4+PjE6ZT4+PjE7ZT1lJjE/LTMw +NjY3NDkxMl5lPj4+MTplPj4+MTtlPWUmMT8tMzA2Njc0OTEyXmU+Pj4xOmU+Pj4xO2U9ZSYxPy0z +MDY2NzQ5MTJeZT4+PjE6ZT4+PjE7ZT1lJjE/LTMwNjY3NDkxMl5lPj4+MTplPj4+MTtyW3RdPWV9 +cmV0dXJuIHR5cGVvZiBJbnQzMkFycmF5IT09InVuZGVmaW5lZCI/bmV3IEludDMyQXJyYXkocik6 +cn12YXIgdD1yKCk7ZnVuY3Rpb24gYShlKXt2YXIgcj0wLHQ9MCxhPTAsbj10eXBlb2YgSW50MzJB +cnJheSE9PSJ1bmRlZmluZWQiP25ldyBJbnQzMkFycmF5KDQwOTYpOm5ldyBBcnJheSg0MDk2KTtm +b3IoYT0wO2EhPTI1NjsrK2EpblthXT1lW2FdO2ZvcihhPTA7YSE9MjU2OysrYSl7dD1lW2FdO2Zv +cihyPTI1NithO3I8NDA5NjtyKz0yNTYpdD1uW3JdPXQ+Pj44XmVbdCYyNTVdfXZhciBpPVtdO2Zv +cihhPTE7YSE9MTY7KythKWlbYS0xXT10eXBlb2YgSW50MzJBcnJheSE9PSJ1bmRlZmluZWQiJiZ0 +eXBlb2Ygbi5zdWJhcnJheT09ImZ1bmN0aW9uIj9uLnN1YmFycmF5KGEqMjU2LGEqMjU2KzI1Nik6 +bi5zbGljZShhKjI1NixhKjI1NisyNTYpO3JldHVybiBpfXZhciBuPWEodCk7dmFyIGk9blswXSxz +PW5bMV0sZj1uWzJdLGw9blszXSxvPW5bNF07dmFyIGM9bls1XSxoPW5bNl0sdT1uWzddLGQ9bls4 +XSx2PW5bOV07dmFyIHA9blsxMF0sbT1uWzExXSxnPW5bMTJdLGI9blsxM10sdz1uWzE0XTtmdW5j +dGlvbiBrKGUscil7dmFyIGE9cl4tMTtmb3IodmFyIG49MCxpPWUubGVuZ3RoO248aTspYT1hPj4+ +OF50WyhhXmUuY2hhckNvZGVBdChuKyspKSYyNTVdO3JldHVybn5hfWZ1bmN0aW9uIEEoZSxyKXt2 +YXIgYT1yXi0xLG49ZS5sZW5ndGgtMTUsaz0wO2Zvcig7azxuOylhPXdbZVtrKytdXmEmMjU1XV5i +W2VbaysrXV5hPj44JjI1NV1eZ1tlW2srK11eYT4+MTYmMjU1XV5tW2VbaysrXV5hPj4+MjRdXnBb +ZVtrKytdXV52W2VbaysrXV1eZFtlW2srK11dXnVbZVtrKytdXV5oW2VbaysrXV1eY1tlW2srK11d +Xm9bZVtrKytdXV5sW2VbaysrXV1eZltlW2srK11dXnNbZVtrKytdXV5pW2VbaysrXV1edFtlW2sr +K11dO24rPTE1O3doaWxlKGs8bilhPWE+Pj44XnRbKGFeZVtrKytdKSYyNTVdO3JldHVybn5hfWZ1 +bmN0aW9uIFQoZSxyKXt2YXIgYT1yXi0xO2Zvcih2YXIgbj0wLGk9ZS5sZW5ndGgscz0wLGY9MDtu +PGk7KXtzPWUuY2hhckNvZGVBdChuKyspO2lmKHM8MTI4KXthPWE+Pj44XnRbKGFecykmMjU1XX1l +bHNlIGlmKHM8MjA0OCl7YT1hPj4+OF50WyhhXigxOTJ8cz4+NiYzMSkpJjI1NV07YT1hPj4+OF50 +WyhhXigxMjh8cyY2MykpJjI1NV19ZWxzZSBpZihzPj01NTI5NiYmczw1NzM0NCl7cz0ocyYxMDIz +KSs2NDtmPWUuY2hhckNvZGVBdChuKyspJjEwMjM7YT1hPj4+OF50WyhhXigyNDB8cz4+OCY3KSkm +MjU1XTthPWE+Pj44XnRbKGFeKDEyOHxzPj4yJjYzKSkmMjU1XTthPWE+Pj44XnRbKGFeKDEyOHxm +Pj42JjE1fChzJjMpPDw0KSkmMjU1XTthPWE+Pj44XnRbKGFeKDEyOHxmJjYzKSkmMjU1XX1lbHNl +e2E9YT4+PjhedFsoYV4oMjI0fHM+PjEyJjE1KSkmMjU1XTthPWE+Pj44XnRbKGFeKDEyOHxzPj42 +JjYzKSkmMjU1XTthPWE+Pj44XnRbKGFeKDEyOHxzJjYzKSkmMjU1XX19cmV0dXJufmF9ZS50YWJs +ZT10O2UuYnN0cj1rO2UuYnVmPUE7ZS5zdHI9VDtyZXR1cm4gZX0oKTt2YXIgUWU9ZnVuY3Rpb24g +aEEoKXt2YXIgZT17fTtlLnZlcnNpb249IjEuMi4yIjtmdW5jdGlvbiByKGUscil7dmFyIHQ9ZS5z +cGxpdCgiLyIpLGE9ci5zcGxpdCgiLyIpO2Zvcih2YXIgbj0wLGk9MCxzPU1hdGgubWluKHQubGVu +Z3RoLGEubGVuZ3RoKTtuPHM7KytuKXtpZihpPXRbbl0ubGVuZ3RoLWFbbl0ubGVuZ3RoKXJldHVy +biBpO2lmKHRbbl0hPWFbbl0pcmV0dXJuIHRbbl08YVtuXT8tMToxfXJldHVybiB0Lmxlbmd0aC1h +Lmxlbmd0aH1mdW5jdGlvbiB0KGUpe2lmKGUuY2hhckF0KGUubGVuZ3RoLTEpPT0iLyIpcmV0dXJu +IGUuc2xpY2UoMCwtMSkuaW5kZXhPZigiLyIpPT09LTE/ZTp0KGUuc2xpY2UoMCwtMSkpO3ZhciBy +PWUubGFzdEluZGV4T2YoIi8iKTtyZXR1cm4gcj09PS0xP2U6ZS5zbGljZSgwLHIrMSl9ZnVuY3Rp +b24gYShlKXtpZihlLmNoYXJBdChlLmxlbmd0aC0xKT09Ii8iKXJldHVybiBhKGUuc2xpY2UoMCwt +MSkpO3ZhciByPWUubGFzdEluZGV4T2YoIi8iKTtyZXR1cm4gcj09PS0xP2U6ZS5zbGljZShyKzEp +fWZ1bmN0aW9uIG4oZSxyKXtpZih0eXBlb2Ygcj09PSJzdHJpbmciKXI9bmV3IERhdGUocik7dmFy +IHQ9ci5nZXRIb3VycygpO3Q9dDw8NnxyLmdldE1pbnV0ZXMoKTt0PXQ8PDV8ci5nZXRTZWNvbmRz +KCk+Pj4xO2UuX1coMix0KTt2YXIgYT1yLmdldEZ1bGxZZWFyKCktMTk4MDthPWE8PDR8ci5nZXRN +b250aCgpKzE7YT1hPDw1fHIuZ2V0RGF0ZSgpO2UuX1coMixhKX1mdW5jdGlvbiBpKGUpe3ZhciBy +PWUuX1IoMikmNjU1MzU7dmFyIHQ9ZS5fUigyKSY2NTUzNTt2YXIgYT1uZXcgRGF0ZTt2YXIgbj10 +JjMxO3Q+Pj49NTt2YXIgaT10JjE1O3Q+Pj49NDthLnNldE1pbGxpc2Vjb25kcygwKTthLnNldEZ1 +bGxZZWFyKHQrMTk4MCk7YS5zZXRNb250aChpLTEpO2Euc2V0RGF0ZShuKTt2YXIgcz1yJjMxO3I+ +Pj49NTt2YXIgZj1yJjYzO3I+Pj49NjthLnNldEhvdXJzKHIpO2Euc2V0TWludXRlcyhmKTthLnNl +dFNlY29uZHMoczw8MSk7cmV0dXJuIGF9ZnVuY3Rpb24gcyhlKXtPYShlLDApO3ZhciByPXt9O3Zh +ciB0PTA7d2hpbGUoZS5sPD1lLmxlbmd0aC00KXt2YXIgYT1lLl9SKDIpO3ZhciBuPWUuX1IoMiks +aT1lLmwrbjt2YXIgcz17fTtzd2l0Y2goYSl7Y2FzZSAyMTU4OTp7dD1lLl9SKDEpO2lmKHQmMSlz +Lm10aW1lPWUuX1IoNCk7aWYobj41KXtpZih0JjIpcy5hdGltZT1lLl9SKDQpO2lmKHQmNClzLmN0 +aW1lPWUuX1IoNCl9aWYocy5tdGltZSlzLm10PW5ldyBEYXRlKHMubXRpbWUqMWUzKX1icmVhaztj +YXNlIDE6e3ZhciBmPWUuX1IoNCksbD1lLl9SKDQpO3MudXN6PWwqTWF0aC5wb3coMiwzMikrZjtm +PWUuX1IoNCk7bD1lLl9SKDQpO3MuY3N6PWwqTWF0aC5wb3coMiwzMikrZn1icmVhazt9ZS5sPWk7 +clthXT1zfXJldHVybiByfXZhciBmO2Z1bmN0aW9uIGwoKXtyZXR1cm4gZnx8KGY9ZXIpfWZ1bmN0 +aW9uIG8oZSxyKXtpZihlWzBdPT04MCYmZVsxXT09NzUpcmV0dXJuIFJlKGUscik7aWYoKGVbMF18 +MzIpPT0xMDkmJihlWzFdfDMyKT09MTA1KXJldHVybiBXZShlLHIpO2lmKGUubGVuZ3RoPDUxMil0 +aHJvdyBuZXcgRXJyb3IoIkNGQiBmaWxlIHNpemUgIitlLmxlbmd0aCsiIDwgNTEyIik7dmFyIHQ9 +Mzt2YXIgYT01MTI7dmFyIG49MDt2YXIgaT0wO3ZhciBzPTA7dmFyIGY9MDt2YXIgbD0wO3ZhciBv +PVtdO3ZhciB2PWUuc2xpY2UoMCw1MTIpO09hKHYsMCk7dmFyIG09Yyh2KTt0PW1bMF07c3dpdGNo +KHQpe2Nhc2UgMzphPTUxMjticmVhaztjYXNlIDQ6YT00MDk2O2JyZWFrO2Nhc2UgMDppZihtWzFd +PT0wKXJldHVybiBSZShlLHIpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJNYWpvciBWZXJzaW9u +OiBFeHBlY3RlZCAzIG9yIDQgc2F3ICIrdCk7fWlmKGEhPT01MTIpe3Y9ZS5zbGljZSgwLGEpO09h +KHYsMjgpfXZhciB3PWUuc2xpY2UoMCxhKTtoKHYsdCk7dmFyIGs9di5fUig0LCJpIik7aWYodD09 +PTMmJmshPT0wKXRocm93IG5ldyBFcnJvcigiIyBEaXJlY3RvcnkgU2VjdG9yczogRXhwZWN0ZWQg +MCBzYXcgIitrKTt2LmwrPTQ7cz12Ll9SKDQsImkiKTt2LmwrPTQ7di5jaGsoIjAwMTAwMDAwIiwi +TWluaSBTdHJlYW0gQ3V0b2ZmIFNpemU6ICIpO2Y9di5fUig0LCJpIik7bj12Ll9SKDQsImkiKTts +PXYuX1IoNCwiaSIpO2k9di5fUig0LCJpIik7Zm9yKHZhciBBPS0xLFQ9MDtUPDEwOTsrK1Qpe0E9 +di5fUig0LCJpIik7aWYoQTwwKWJyZWFrO29bVF09QX12YXIgeT11KGUsYSk7cChsLGkseSxhLG8p +O3ZhciBFPWcoeSxzLG8sYSk7aWYoczxFLmxlbmd0aClFW3NdLm5hbWU9IiFEaXJlY3RvcnkiO2lm +KG4+MCYmZiE9PUwpRVtmXS5uYW1lPSIhTWluaUZBVCI7RVtvWzBdXS5uYW1lPSIhRkFUIjtFLmZh +dF9hZGRycz1vO0Uuc3N6PWE7dmFyIEM9e30sXz1bXSxTPVtdLHg9W107YihzLEUseSxfLG4sQyxT +LGYpO2QoUyx4LF8pO18uc2hpZnQoKTt2YXIgTz17RmlsZUluZGV4OlMsRnVsbFBhdGhzOnh9O2lm +KHImJnIucmF3KU8ucmF3PXtoZWFkZXI6dyxzZWN0b3JzOnl9O3JldHVybiBPfWZ1bmN0aW9uIGMo +ZSl7aWYoZVtlLmxdPT04MCYmZVtlLmwrMV09PTc1KXJldHVyblswLDBdO2UuY2hrKEIsIkhlYWRl +ciBTaWduYXR1cmU6ICIpO2UubCs9MTY7dmFyIHI9ZS5fUigyLCJ1Iik7cmV0dXJuW2UuX1IoMiwi +dSIpLHJdfWZ1bmN0aW9uIGgoZSxyKXt2YXIgdD05O2UubCs9Mjtzd2l0Y2godD1lLl9SKDIpKXtj +YXNlIDk6aWYociE9Myl0aHJvdyBuZXcgRXJyb3IoIlNlY3RvciBTaGlmdDogRXhwZWN0ZWQgOSBz +YXcgIit0KTticmVhaztjYXNlIDEyOmlmKHIhPTQpdGhyb3cgbmV3IEVycm9yKCJTZWN0b3IgU2hp +ZnQ6IEV4cGVjdGVkIDEyIHNhdyAiK3QpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJT +ZWN0b3IgU2hpZnQ6IEV4cGVjdGVkIDkgb3IgMTIgc2F3ICIrdCk7fWUuY2hrKCIwNjAwIiwiTWlu +aSBTZWN0b3IgU2hpZnQ6ICIpO2UuY2hrKCIwMDAwMDAwMDAwMDAiLCJSZXNlcnZlZDogIil9ZnVu +Y3Rpb24gdShlLHIpe3ZhciB0PU1hdGguY2VpbChlLmxlbmd0aC9yKS0xO3ZhciBhPVtdO2Zvcih2 +YXIgbj0xO248dDsrK24pYVtuLTFdPWUuc2xpY2UobipyLChuKzEpKnIpO2FbdC0xXT1lLnNsaWNl +KHQqcik7cmV0dXJuIGF9ZnVuY3Rpb24gZChlLHIsdCl7dmFyIGE9MCxuPTAsaT0wLHM9MCxmPTAs +bD10Lmxlbmd0aDt2YXIgbz1bXSxjPVtdO2Zvcig7YTxsOysrYSl7b1thXT1jW2FdPWE7clthXT10 +W2FdfWZvcig7ZjxjLmxlbmd0aDsrK2Ype2E9Y1tmXTtuPWVbYV0uTDtpPWVbYV0uUjtzPWVbYV0u +QztpZihvW2FdPT09YSl7aWYobiE9PS0xJiZvW25dIT09bilvW2FdPW9bbl07aWYoaSE9PS0xJiZv +W2ldIT09aSlvW2FdPW9baV19aWYocyE9PS0xKW9bc109YTtpZihuIT09LTEmJmEhPW9bYV0pe29b +bl09b1thXTtpZihjLmxhc3RJbmRleE9mKG4pPGYpYy5wdXNoKG4pfWlmKGkhPT0tMSYmYSE9b1th +XSl7b1tpXT1vW2FdO2lmKGMubGFzdEluZGV4T2YoaSk8ZiljLnB1c2goaSl9fWZvcihhPTE7YTxs +OysrYSlpZihvW2FdPT09YSl7aWYoaSE9PS0xJiZvW2ldIT09aSlvW2FdPW9baV07ZWxzZSBpZihu +IT09LTEmJm9bbl0hPT1uKW9bYV09b1tuXX1mb3IoYT0xO2E8bDsrK2Epe2lmKGVbYV0udHlwZT09 +PTApY29udGludWU7Zj1hO2lmKGYhPW9bZl0pZG97Zj1vW2ZdO3JbYV09cltmXSsiLyIrclthXX13 +aGlsZShmIT09MCYmLTEhPT1vW2ZdJiZmIT1vW2ZdKTtvW2FdPS0xfXJbMF0rPSIvIjtmb3IoYT0x +O2E8bDsrK2Epe2lmKGVbYV0udHlwZSE9PTIpclthXSs9Ii8ifX1mdW5jdGlvbiB2KGUscix0KXt2 +YXIgYT1lLnN0YXJ0LG49ZS5zaXplO3ZhciBpPVtdO3ZhciBzPWE7d2hpbGUodCYmbj4wJiZzPj0w +KXtpLnB1c2goci5zbGljZShzKkQscypEK0QpKTtuLT1EO3M9QWEodCxzKjQpfWlmKGkubGVuZ3Ro +PT09MClyZXR1cm4gUmEoMCk7cmV0dXJuIFAoaSkuc2xpY2UoMCxlLnNpemUpfWZ1bmN0aW9uIHAo +ZSxyLHQsYSxuKXt2YXIgaT1MO2lmKGU9PT1MKXtpZihyIT09MCl0aHJvdyBuZXcgRXJyb3IoIkRJ +RkFUIGNoYWluIHNob3J0ZXIgdGhhbiBleHBlY3RlZCIpfWVsc2UgaWYoZSE9PS0xKXt2YXIgcz10 +W2VdLGY9KGE+Pj4yKS0xO2lmKCFzKXJldHVybjtmb3IodmFyIGw9MDtsPGY7KytsKXtpZigoaT1B +YShzLGwqNCkpPT09TClicmVhaztuLnB1c2goaSl9aWYocj49MSlwKEFhKHMsYS00KSxyLTEsdCxh +LG4pfX1mdW5jdGlvbiBtKGUscix0LGEsbil7dmFyIGk9W10scz1bXTtpZighbiluPVtdO3ZhciBm +PWEtMSxsPTAsbz0wO2ZvcihsPXI7bD49MDspe25bbF09dHJ1ZTtpW2kubGVuZ3RoXT1sO3MucHVz +aChlW2xdKTt2YXIgYz10W01hdGguZmxvb3IobCo0L2EpXTtvPWwqNCZmO2lmKGE8NCtvKXRocm93 +IG5ldyBFcnJvcigiRkFUIGJvdW5kYXJ5IGNyb3NzZWQ6ICIrbCsiIDQgIithKTtpZighZVtjXSli +cmVhaztsPUFhKGVbY10sbyl9cmV0dXJue25vZGVzOmksZGF0YTpadChbc10pfX1mdW5jdGlvbiBn +KGUscix0LGEpe3ZhciBuPWUubGVuZ3RoLGk9W107dmFyIHM9W10sZj1bXSxsPVtdO3ZhciBvPWEt +MSxjPTAsaD0wLHU9MCxkPTA7Zm9yKGM9MDtjPG47KytjKXtmPVtdO3U9YytyO2lmKHU+PW4pdS09 +bjtpZihzW3VdKWNvbnRpbnVlO2w9W107dmFyIHY9W107Zm9yKGg9dTtoPj0wOyl7dltoXT10cnVl +O3NbaF09dHJ1ZTtmW2YubGVuZ3RoXT1oO2wucHVzaChlW2hdKTt2YXIgcD10W01hdGguZmxvb3Io +aCo0L2EpXTtkPWgqNCZvO2lmKGE8NCtkKXRocm93IG5ldyBFcnJvcigiRkFUIGJvdW5kYXJ5IGNy +b3NzZWQ6ICIraCsiIDQgIithKTtpZighZVtwXSlicmVhaztoPUFhKGVbcF0sZCk7aWYodltoXSli +cmVha31pW3VdPXtub2RlczpmLGRhdGE6WnQoW2xdKX19cmV0dXJuIGl9ZnVuY3Rpb24gYihlLHIs +dCxhLG4saSxzLGYpe3ZhciBsPTAsbz1hLmxlbmd0aD8yOjA7dmFyIGM9cltlXS5kYXRhO3ZhciBo +PTAsdT0wLGQ7Zm9yKDtoPGMubGVuZ3RoO2grPTEyOCl7dmFyIHA9Yy5zbGljZShoLGgrMTI4KTtP +YShwLDY0KTt1PXAuX1IoMik7ZD1xdChwLDAsdS1vKTthLnB1c2goZCk7dmFyIGc9e25hbWU6ZCx0 +eXBlOnAuX1IoMSksY29sb3I6cC5fUigxKSxMOnAuX1IoNCwiaSIpLFI6cC5fUig0LCJpIiksQzpw +Ll9SKDQsImkiKSxjbHNpZDpwLl9SKDE2KSxzdGF0ZTpwLl9SKDQsImkiKSxzdGFydDowLHNpemU6 +MH07dmFyIGI9cC5fUigyKStwLl9SKDIpK3AuX1IoMikrcC5fUigyKTtpZihiIT09MClnLmN0PXco +cCxwLmwtOCk7dmFyIGs9cC5fUigyKStwLl9SKDIpK3AuX1IoMikrcC5fUigyKTtpZihrIT09MCln +Lm10PXcocCxwLmwtOCk7Zy5zdGFydD1wLl9SKDQsImkiKTtnLnNpemU9cC5fUig0LCJpIik7aWYo +Zy5zaXplPDAmJmcuc3RhcnQ8MCl7Zy5zaXplPWcudHlwZT0wO2cuc3RhcnQ9TDtnLm5hbWU9IiJ9 +aWYoZy50eXBlPT09NSl7bD1nLnN0YXJ0O2lmKG4+MCYmbCE9PUwpcltsXS5uYW1lPSIhU3RyZWFt +RGF0YSJ9ZWxzZSBpZihnLnNpemU+PTQwOTYpe2cuc3RvcmFnZT0iZmF0IjtpZihyW2cuc3RhcnRd +PT09dW5kZWZpbmVkKXJbZy5zdGFydF09bSh0LGcuc3RhcnQsci5mYXRfYWRkcnMsci5zc3opO3Jb +Zy5zdGFydF0ubmFtZT1nLm5hbWU7Zy5jb250ZW50PXJbZy5zdGFydF0uZGF0YS5zbGljZSgwLGcu +c2l6ZSl9ZWxzZXtnLnN0b3JhZ2U9Im1pbmlmYXQiO2lmKGcuc2l6ZTwwKWcuc2l6ZT0wO2Vsc2Ug +aWYobCE9PUwmJmcuc3RhcnQhPT1MJiZyW2xdKXtnLmNvbnRlbnQ9dihnLHJbbF0uZGF0YSwocltm +XXx8e30pLmRhdGEpfX1pZihnLmNvbnRlbnQpT2EoZy5jb250ZW50LDApO2lbZF09ZztzLnB1c2go +Zyl9fWZ1bmN0aW9uIHcoZSxyKXtyZXR1cm4gbmV3IERhdGUoKGthKGUscis0KS8xZTcqTWF0aC5w +b3coMiwzMikra2EoZSxyKS8xZTctMTE2NDQ0NzM2MDApKjFlMyl9ZnVuY3Rpb24gayhlLHIpe2wo +KTtyZXR1cm4gbyhmLnJlYWRGaWxlU3luYyhlKSxyKX1mdW5jdGlvbiBUKGUscil7dmFyIHQ9ciYm +ci50eXBlO2lmKCF0KXtpZihDJiZCdWZmZXIuaXNCdWZmZXIoZSkpdD0iYnVmZmVyIn1zd2l0Y2go +dHx8ImJhc2U2NCIpe2Nhc2UiZmlsZSI6cmV0dXJuIGsoZSxyKTtjYXNlImJhc2U2NCI6cmV0dXJu +IG8oSShFKGUpKSxyKTtjYXNlImJpbmFyeSI6cmV0dXJuIG8oSShlKSxyKTt9cmV0dXJuIG8oZSxy +KX1mdW5jdGlvbiB5KGUscil7dmFyIHQ9cnx8e30sYT10LnJvb3R8fCJSb290IEVudHJ5IjtpZigh +ZS5GdWxsUGF0aHMpZS5GdWxsUGF0aHM9W107aWYoIWUuRmlsZUluZGV4KWUuRmlsZUluZGV4PVtd +O2lmKGUuRnVsbFBhdGhzLmxlbmd0aCE9PWUuRmlsZUluZGV4Lmxlbmd0aCl0aHJvdyBuZXcgRXJy +b3IoImluY29uc2lzdGVudCBDRkIgc3RydWN0dXJlIik7aWYoZS5GdWxsUGF0aHMubGVuZ3RoPT09 +MCl7ZS5GdWxsUGF0aHNbMF09YSsiLyI7ZS5GaWxlSW5kZXhbMF09e25hbWU6YSx0eXBlOjV9fWlm +KHQuQ0xTSUQpZS5GaWxlSW5kZXhbMF0uY2xzaWQ9dC5DTFNJRDtTKGUpfWZ1bmN0aW9uIFMoZSl7 +dmFyIHI9IgFTaDMzdEo1IjtpZihRZS5maW5kKGUsIi8iK3IpKXJldHVybjt2YXIgdD1SYSg0KTt0 +WzBdPTU1O3RbMV09dFszXT01MDt0WzJdPTU0O2UuRmlsZUluZGV4LnB1c2goe25hbWU6cix0eXBl +OjIsY29udGVudDp0LHNpemU6NCxMOjY5LFI6NjksQzo2OX0pO2UuRnVsbFBhdGhzLnB1c2goZS5G +dWxsUGF0aHNbMF0rcik7UihlKX1mdW5jdGlvbiBSKGUsbil7eShlKTt2YXIgaT1mYWxzZSxzPWZh +bHNlO2Zvcih2YXIgZj1lLkZ1bGxQYXRocy5sZW5ndGgtMTtmPj0wOy0tZil7dmFyIGw9ZS5GaWxl +SW5kZXhbZl07c3dpdGNoKGwudHlwZSl7Y2FzZSAwOmlmKHMpaT10cnVlO2Vsc2V7ZS5GaWxlSW5k +ZXgucG9wKCk7ZS5GdWxsUGF0aHMucG9wKCl9YnJlYWs7Y2FzZSAxOjtjYXNlIDI6O2Nhc2UgNTpz +PXRydWU7aWYoaXNOYU4obC5SKmwuTCpsLkMpKWk9dHJ1ZTtpZihsLlI+LTEmJmwuTD4tMSYmbC5S +PT1sLkwpaT10cnVlO2JyZWFrO2RlZmF1bHQ6aT10cnVlO2JyZWFrO319aWYoIWkmJiFuKXJldHVy +bjt2YXIgbz1uZXcgRGF0ZSgxOTg3LDEsMTkpLGM9MDt2YXIgaD1PYmplY3QuY3JlYXRlP09iamVj +dC5jcmVhdGUobnVsbCk6e307dmFyIHU9W107Zm9yKGY9MDtmPGUuRnVsbFBhdGhzLmxlbmd0aDsr +K2Ype2hbZS5GdWxsUGF0aHNbZl1dPXRydWU7aWYoZS5GaWxlSW5kZXhbZl0udHlwZT09PTApY29u +dGludWU7dS5wdXNoKFtlLkZ1bGxQYXRoc1tmXSxlLkZpbGVJbmRleFtmXV0pfWZvcihmPTA7Zjx1 +Lmxlbmd0aDsrK2Ype3ZhciBkPXQodVtmXVswXSk7cz1oW2RdO3doaWxlKCFzKXt3aGlsZSh0KGQp +JiYhaFt0KGQpXSlkPXQoZCk7dS5wdXNoKFtkLHtuYW1lOmEoZCkucmVwbGFjZSgiLyIsIiIpLHR5 +cGU6MSxjbHNpZDp6LGN0Om8sbXQ6byxjb250ZW50Om51bGx9XSk7aFtkXT10cnVlO2Q9dCh1W2Zd +WzBdKTtzPWhbZF19fXUuc29ydChmdW5jdGlvbihlLHQpe3JldHVybiByKGVbMF0sdFswXSl9KTtl +LkZ1bGxQYXRocz1bXTtlLkZpbGVJbmRleD1bXTtmb3IoZj0wO2Y8dS5sZW5ndGg7KytmKXtlLkZ1 +bGxQYXRoc1tmXT11W2ZdWzBdO2UuRmlsZUluZGV4W2ZdPXVbZl1bMV19Zm9yKGY9MDtmPHUubGVu +Z3RoOysrZil7dmFyIHY9ZS5GaWxlSW5kZXhbZl07dmFyIHA9ZS5GdWxsUGF0aHNbZl07di5uYW1l +PWEocCkucmVwbGFjZSgiLyIsIiIpO3YuTD12LlI9di5DPS0odi5jb2xvcj0xKTt2LnNpemU9di5j +b250ZW50P3YuY29udGVudC5sZW5ndGg6MDt2LnN0YXJ0PTA7di5jbHNpZD12LmNsc2lkfHx6O2lm +KGY9PT0wKXt2LkM9dS5sZW5ndGg+MT8xOi0xO3Yuc2l6ZT0wO3YudHlwZT01fWVsc2UgaWYocC5z +bGljZSgtMSk9PSIvIil7Zm9yKGM9ZisxO2M8dS5sZW5ndGg7KytjKWlmKHQoZS5GdWxsUGF0aHNb +Y10pPT1wKWJyZWFrO3YuQz1jPj11Lmxlbmd0aD8tMTpjO2ZvcihjPWYrMTtjPHUubGVuZ3RoOysr +YylpZih0KGUuRnVsbFBhdGhzW2NdKT09dChwKSlicmVhazt2LlI9Yz49dS5sZW5ndGg/LTE6Yzt2 +LnR5cGU9MX1lbHNle2lmKHQoZS5GdWxsUGF0aHNbZisxXXx8IiIpPT10KHApKXYuUj1mKzE7di50 +eXBlPTJ9fX1mdW5jdGlvbiBOKGUscil7dmFyIHQ9cnx8e307aWYodC5maWxlVHlwZT09Im1hZCIp +cmV0dXJuIHplKGUsdCk7UihlKTtzd2l0Y2godC5maWxlVHlwZSl7Y2FzZSJ6aXAiOnJldHVybiBG +ZShlLHQpO312YXIgYT1mdW5jdGlvbihlKXt2YXIgcj0wLHQ9MDtmb3IodmFyIGE9MDthPGUuRmls +ZUluZGV4Lmxlbmd0aDsrK2Epe3ZhciBuPWUuRmlsZUluZGV4W2FdO2lmKCFuLmNvbnRlbnQpY29u +dGludWU7dmFyIGk9bi5jb250ZW50Lmxlbmd0aDtpZihpPjApe2lmKGk8NDA5NilyKz1pKzYzPj42 +O2Vsc2UgdCs9aSs1MTE+Pjl9fXZhciBzPWUuRnVsbFBhdGhzLmxlbmd0aCszPj4yO3ZhciBmPXIr +Nz4+Mzt2YXIgbD1yKzEyNz4+Nzt2YXIgbz1mK3QrcytsO3ZhciBjPW8rMTI3Pj43O3ZhciBoPWM8 +PTEwOT8wOk1hdGguY2VpbCgoYy0xMDkpLzEyNyk7d2hpbGUobytjK2grMTI3Pj43PmMpaD0rK2M8 +PTEwOT8wOk1hdGguY2VpbCgoYy0xMDkpLzEyNyk7dmFyIHU9WzEsaCxjLGwscyx0LHIsMF07ZS5G +aWxlSW5kZXhbMF0uc2l6ZT1yPDw2O3VbN109KGUuRmlsZUluZGV4WzBdLnN0YXJ0PXVbMF0rdVsx +XSt1WzJdK3VbM10rdVs0XSt1WzVdKSsodVs2XSs3Pj4zKTtyZXR1cm4gdX0oZSk7dmFyIG49UmEo +YVs3XTw8OSk7dmFyIGk9MCxzPTA7e2ZvcihpPTA7aTw4OysraSluLl9XKDEsV1tpXSk7Zm9yKGk9 +MDtpPDg7KytpKW4uX1coMiwwKTtuLl9XKDIsNjIpO24uX1coMiwzKTtuLl9XKDIsNjU1MzQpO24u +X1coMiw5KTtuLl9XKDIsNik7Zm9yKGk9MDtpPDM7KytpKW4uX1coMiwwKTtuLl9XKDQsMCk7bi5f +Vyg0LGFbMl0pO24uX1coNCxhWzBdK2FbMV0rYVsyXSthWzNdLTEpO24uX1coNCwwKTtuLl9XKDQs +MTw8MTIpO24uX1coNCxhWzNdP2FbMF0rYVsxXSthWzJdLTE6TCk7bi5fVyg0LGFbM10pO24uX1co +LTQsYVsxXT9hWzBdLTE6TCk7bi5fVyg0LGFbMV0pO2ZvcihpPTA7aTwxMDk7KytpKW4uX1coLTQs +aTxhWzJdP2FbMV0raTotMSl9aWYoYVsxXSl7Zm9yKHM9MDtzPGFbMV07KytzKXtmb3IoO2k8MjM2 +K3MqMTI3OysraSluLl9XKC00LGk8YVsyXT9hWzFdK2k6LTEpO24uX1coLTQscz09PWFbMV0tMT9M +OnMrMSl9fXZhciBmPWZ1bmN0aW9uKGUpe2ZvcihzKz1lO2k8cy0xOysraSluLl9XKC00LGkrMSk7 +aWYoZSl7KytpO24uX1coLTQsTCl9fTtzPWk9MDtmb3Iocys9YVsxXTtpPHM7KytpKW4uX1coLTQs +SC5ESUZTRUNUKTtmb3Iocys9YVsyXTtpPHM7KytpKW4uX1coLTQsSC5GQVRTRUNUKTtmKGFbM10p +O2YoYVs0XSk7dmFyIGw9MCxvPTA7dmFyIGM9ZS5GaWxlSW5kZXhbMF07Zm9yKDtsPGUuRmlsZUlu +ZGV4Lmxlbmd0aDsrK2wpe2M9ZS5GaWxlSW5kZXhbbF07aWYoIWMuY29udGVudCljb250aW51ZTtv +PWMuY29udGVudC5sZW5ndGg7aWYobzw0MDk2KWNvbnRpbnVlO2Muc3RhcnQ9cztmKG8rNTExPj45 +KX1mKGFbNl0rNz4+Myk7d2hpbGUobi5sJjUxMSluLl9XKC00LEguRU5ET0ZDSEFJTik7cz1pPTA7 +Zm9yKGw9MDtsPGUuRmlsZUluZGV4Lmxlbmd0aDsrK2wpe2M9ZS5GaWxlSW5kZXhbbF07aWYoIWMu +Y29udGVudCljb250aW51ZTtvPWMuY29udGVudC5sZW5ndGg7aWYoIW98fG8+PTQwOTYpY29udGlu +dWU7Yy5zdGFydD1zO2Yobys2Mz4+Nil9d2hpbGUobi5sJjUxMSluLl9XKC00LEguRU5ET0ZDSEFJ +Tik7Zm9yKGk9MDtpPGFbNF08PDI7KytpKXt2YXIgaD1lLkZ1bGxQYXRoc1tpXTtpZighaHx8aC5s +ZW5ndGg9PT0wKXtmb3IobD0wO2w8MTc7KytsKW4uX1coNCwwKTtmb3IobD0wO2w8MzsrK2wpbi5f +Vyg0LC0xKTtmb3IobD0wO2w8MTI7KytsKW4uX1coNCwwKTtjb250aW51ZX1jPWUuRmlsZUluZGV4 +W2ldO2lmKGk9PT0wKWMuc3RhcnQ9Yy5zaXplP2Muc3RhcnQtMTpMO3ZhciB1PWk9PT0wJiZ0LnJv +b3R8fGMubmFtZTtpZih1Lmxlbmd0aD4zMSl7Y29uc29sZS5lcnJvcigiTmFtZSAiK3UrIiB3aWxs +IGJlIHRydW5jYXRlZCB0byAiK3Uuc2xpY2UoMCwzMSkpO3U9dS5zbGljZSgwLDMxKX1vPTIqKHUu +bGVuZ3RoKzEpO24uX1coNjQsdSwidXRmMTZsZSIpO24uX1coMixvKTtuLl9XKDEsYy50eXBlKTtu +Ll9XKDEsYy5jb2xvcik7bi5fVygtNCxjLkwpO24uX1coLTQsYy5SKTtuLl9XKC00LGMuQyk7aWYo +IWMuY2xzaWQpZm9yKGw9MDtsPDQ7KytsKW4uX1coNCwwKTtlbHNlIG4uX1coMTYsYy5jbHNpZCwi +aGV4Iik7bi5fVyg0LGMuc3RhdGV8fDApO24uX1coNCwwKTtuLl9XKDQsMCk7bi5fVyg0LDApO24u +X1coNCwwKTtuLl9XKDQsYy5zdGFydCk7bi5fVyg0LGMuc2l6ZSk7bi5fVyg0LDApfWZvcihpPTE7 +aTxlLkZpbGVJbmRleC5sZW5ndGg7KytpKXtjPWUuRmlsZUluZGV4W2ldO2lmKGMuc2l6ZT49NDA5 +Nil7bi5sPWMuc3RhcnQrMTw8OTtpZihDJiZCdWZmZXIuaXNCdWZmZXIoYy5jb250ZW50KSl7Yy5j +b250ZW50LmNvcHkobixuLmwsMCxjLnNpemUpO24ubCs9Yy5zaXplKzUxMSYtNTEyfWVsc2V7Zm9y +KGw9MDtsPGMuc2l6ZTsrK2wpbi5fVygxLGMuY29udGVudFtsXSk7Zm9yKDtsJjUxMTsrK2wpbi5f +VygxLDApfX19Zm9yKGk9MTtpPGUuRmlsZUluZGV4Lmxlbmd0aDsrK2kpe2M9ZS5GaWxlSW5kZXhb +aV07aWYoYy5zaXplPjAmJmMuc2l6ZTw0MDk2KXtpZihDJiZCdWZmZXIuaXNCdWZmZXIoYy5jb250 +ZW50KSl7Yy5jb250ZW50LmNvcHkobixuLmwsMCxjLnNpemUpO24ubCs9Yy5zaXplKzYzJi02NH1l +bHNle2ZvcihsPTA7bDxjLnNpemU7KytsKW4uX1coMSxjLmNvbnRlbnRbbF0pO2Zvcig7bCY2Mzsr +K2wpbi5fVygxLDApfX19aWYoQyl7bi5sPW4ubGVuZ3RofWVsc2V7d2hpbGUobi5sPG4ubGVuZ3Ro +KW4uX1coMSwwKX1yZXR1cm4gbn1mdW5jdGlvbiBGKGUscil7dmFyIHQ9ZS5GdWxsUGF0aHMubWFw +KGZ1bmN0aW9uKGUpe3JldHVybiBlLnRvVXBwZXJDYXNlKCl9KTt2YXIgYT10Lm1hcChmdW5jdGlv +bihlKXt2YXIgcj1lLnNwbGl0KCIvIik7cmV0dXJuIHJbci5sZW5ndGgtKGUuc2xpY2UoLTEpPT0i +LyI/MjoxKV19KTt2YXIgbj1mYWxzZTtpZihyLmNoYXJDb2RlQXQoMCk9PT00Nyl7bj10cnVlO3I9 +dFswXS5zbGljZSgwLC0xKStyfWVsc2Ugbj1yLmluZGV4T2YoIi8iKSE9PS0xO3ZhciBpPXIudG9V +cHBlckNhc2UoKTt2YXIgcz1uPT09dHJ1ZT90LmluZGV4T2YoaSk6YS5pbmRleE9mKGkpO2lmKHMh +PT0tMSlyZXR1cm4gZS5GaWxlSW5kZXhbc107dmFyIGY9IWkubWF0Y2goVSk7aT1pLnJlcGxhY2Uo +TSwiIik7aWYoZilpPWkucmVwbGFjZShVLCIhIik7Zm9yKHM9MDtzPHQubGVuZ3RoOysrcyl7aWYo +KGY/dFtzXS5yZXBsYWNlKFUsIiEiKTp0W3NdKS5yZXBsYWNlKE0sIiIpPT1pKXJldHVybiBlLkZp +bGVJbmRleFtzXTtpZigoZj9hW3NdLnJlcGxhY2UoVSwiISIpOmFbc10pLnJlcGxhY2UoTSwiIik9 +PWkpcmV0dXJuIGUuRmlsZUluZGV4W3NdfXJldHVybiBudWxsfXZhciBEPTY0O3ZhciBMPS0yO3Zh +ciBCPSJkMGNmMTFlMGExYjExYWUxIjt2YXIgVz1bMjA4LDIwNywxNywyMjQsMTYxLDE3NywyNiwy +MjVdO3ZhciB6PSIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCI7dmFyIEg9e01BWFJF +R1NFQ1Q6LTYsRElGU0VDVDotNCxGQVRTRUNUOi0zLEVORE9GQ0hBSU46TCxGUkVFU0VDVDotMSxI +RUFERVJfU0lHTkFUVVJFOkIsSEVBREVSX01JTk9SX1ZFUlNJT046IjNlMDAiLE1BWFJFR1NJRDot +NixOT1NUUkVBTTotMSxIRUFERVJfQ0xTSUQ6eixFbnRyeVR5cGVzOlsidW5rbm93biIsInN0b3Jh +Z2UiLCJzdHJlYW0iLCJsb2NrYnl0ZXMiLCJwcm9wZXJ0eSIsInJvb3QiXX07ZnVuY3Rpb24gVihl +LHIsdCl7bCgpO3ZhciBhPU4oZSx0KTtmLndyaXRlRmlsZVN5bmMocixhKX1mdW5jdGlvbiAkKGUp +e3ZhciByPW5ldyBBcnJheShlLmxlbmd0aCk7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDsrK3Qpclt0 +XT1TdHJpbmcuZnJvbUNoYXJDb2RlKGVbdF0pO3JldHVybiByLmpvaW4oIiIpfWZ1bmN0aW9uIFgo +ZSxyKXt2YXIgdD1OKGUscik7c3dpdGNoKHImJnIudHlwZXx8ImJ1ZmZlciIpe2Nhc2UiZmlsZSI6 +bCgpO2Yud3JpdGVGaWxlU3luYyhyLmZpbGVuYW1lLHQpO3JldHVybiB0O2Nhc2UiYmluYXJ5Ijpy +ZXR1cm4gdHlwZW9mIHQ9PSJzdHJpbmciP3Q6JCh0KTtjYXNlImJhc2U2NCI6cmV0dXJuIEEodHlw +ZW9mIHQ9PSJzdHJpbmciP3Q6JCh0KSk7Y2FzZSJidWZmZXIiOmlmKEMpcmV0dXJuIEJ1ZmZlci5p +c0J1ZmZlcih0KT90Ol8odCk7Y2FzZSJhcnJheSI6cmV0dXJuIHR5cGVvZiB0PT0ic3RyaW5nIj9J +KHQpOnQ7fXJldHVybiB0fXZhciBHO2Z1bmN0aW9uIGooZSl7dHJ5e3ZhciByPWUuSW5mbGF0ZVJh +dzt2YXIgdD1uZXcgcjt0Ll9wcm9jZXNzQ2h1bmsobmV3IFVpbnQ4QXJyYXkoWzMsMF0pLHQuX2Zp +bmlzaEZsdXNoRmxhZyk7aWYodC5ieXRlc1JlYWQpRz1lO2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJ6 +bGliIGRvZXMgbm90IGV4cG9zZSBieXRlc1JlYWQiKX1jYXRjaChhKXtjb25zb2xlLmVycm9yKCJj +YW5ub3QgdXNlIG5hdGl2ZSB6bGliOiAiKyhhLm1lc3NhZ2V8fGEpKX19ZnVuY3Rpb24gSyhlLHIp +e2lmKCFHKXJldHVybiBPZShlLHIpO3ZhciB0PUcuSW5mbGF0ZVJhdzt2YXIgYT1uZXcgdDt2YXIg +bj1hLl9wcm9jZXNzQ2h1bmsoZS5zbGljZShlLmwpLGEuX2ZpbmlzaEZsdXNoRmxhZyk7ZS5sKz1h +LmJ5dGVzUmVhZDtyZXR1cm4gbn1mdW5jdGlvbiBZKGUpe3JldHVybiBHP0cuZGVmbGF0ZVJhd1N5 +bmMoZSk6QWUoZSl9dmFyIFo9WzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LDExLDQsMTIsMywxMywy +LDE0LDEsMTVdO3ZhciBKPVszLDQsNSw2LDcsOCw5LDEwLDExLDEzLDE1LDE3LDE5LDIzLDI3LDMx +LDM1LDQzLDUxLDU5LDY3LDgzLDk5LDExNSwxMzEsMTYzLDE5NSwyMjcsMjU4XTt2YXIgcT1bMSwy +LDMsNCw1LDcsOSwxMywxNywyNSwzMyw0OSw2NSw5NywxMjksMTkzLDI1NywzODUsNTEzLDc2OSwx +MDI1LDE1MzcsMjA0OSwzMDczLDQwOTcsNjE0NSw4MTkzLDEyMjg5LDE2Mzg1LDI0NTc3XTtmdW5j +dGlvbiBRKGUpe3ZhciByPShlPDwxfGU8PDExKSYxMzk1MzZ8KGU8PDV8ZTw8MTUpJjU1ODE0NDty +ZXR1cm4ocj4+MTZ8cj4+OHxyKSYyNTV9dmFyIGVlPXR5cGVvZiBVaW50OEFycmF5IT09InVuZGVm +aW5lZCI7dmFyIHJlPWVlP25ldyBVaW50OEFycmF5KDE8PDgpOltdO2Zvcih2YXIgdGU9MDt0ZTwx +PDw4OysrdGUpcmVbdGVdPVEodGUpO2Z1bmN0aW9uIGFlKGUscil7dmFyIHQ9cmVbZSYyNTVdO2lm +KHI8PTgpcmV0dXJuIHQ+Pj44LXI7dD10PDw4fHJlW2U+PjgmMjU1XTtpZihyPD0xNilyZXR1cm4g +dD4+PjE2LXI7dD10PDw4fHJlW2U+PjE2JjI1NV07cmV0dXJuIHQ+Pj4yNC1yfWZ1bmN0aW9uIG5l +KGUscil7dmFyIHQ9ciY3LGE9cj4+PjM7cmV0dXJuKGVbYV18KHQ8PTY/MDplW2ErMV08PDgpKT4+ +PnQmM31mdW5jdGlvbiBpZShlLHIpe3ZhciB0PXImNyxhPXI+Pj4zO3JldHVybihlW2FdfCh0PD01 +PzA6ZVthKzFdPDw4KSk+Pj50Jjd9ZnVuY3Rpb24gc2UoZSxyKXt2YXIgdD1yJjcsYT1yPj4+Mzty +ZXR1cm4oZVthXXwodDw9ND8wOmVbYSsxXTw8OCkpPj4+dCYxNX1mdW5jdGlvbiBmZShlLHIpe3Zh +ciB0PXImNyxhPXI+Pj4zO3JldHVybihlW2FdfCh0PD0zPzA6ZVthKzFdPDw4KSk+Pj50JjMxfWZ1 +bmN0aW9uIGxlKGUscil7dmFyIHQ9ciY3LGE9cj4+PjM7cmV0dXJuKGVbYV18KHQ8PTE/MDplW2Er +MV08PDgpKT4+PnQmMTI3fWZ1bmN0aW9uIG9lKGUscix0KXt2YXIgYT1yJjcsbj1yPj4+MyxpPSgx +PDx0KS0xO3ZhciBzPWVbbl0+Pj5hO2lmKHQ8OC1hKXJldHVybiBzJmk7c3w9ZVtuKzFdPDw4LWE7 +aWYodDwxNi1hKXJldHVybiBzJmk7c3w9ZVtuKzJdPDwxNi1hO2lmKHQ8MjQtYSlyZXR1cm4gcyZp +O3N8PWVbbiszXTw8MjQtYTtyZXR1cm4gcyZpfWZ1bmN0aW9uIGNlKGUscix0KXt2YXIgYT1yJjcs +bj1yPj4+MztpZihhPD01KWVbbl18PSh0JjcpPDxhO2Vsc2V7ZVtuXXw9dDw8YSYyNTU7ZVtuKzFd +PSh0JjcpPj44LWF9cmV0dXJuIHIrM31mdW5jdGlvbiBoZShlLHIsdCl7dmFyIGE9ciY3LG49cj4+ +PjM7dD0odCYxKTw8YTtlW25dfD10O3JldHVybiByKzF9ZnVuY3Rpb24gdWUoZSxyLHQpe3ZhciBh +PXImNyxuPXI+Pj4zO3Q8PD1hO2Vbbl18PXQmMjU1O3Q+Pj49ODtlW24rMV09dDtyZXR1cm4gcis4 +fWZ1bmN0aW9uIGRlKGUscix0KXt2YXIgYT1yJjcsbj1yPj4+Mzt0PDw9YTtlW25dfD10JjI1NTt0 +Pj4+PTg7ZVtuKzFdPXQmMjU1O2VbbisyXT10Pj4+ODtyZXR1cm4gcisxNn1mdW5jdGlvbiB2ZShl +LHIpe3ZhciB0PWUubGVuZ3RoLGE9Mip0PnI/Mip0OnIrNSxuPTA7aWYodD49cilyZXR1cm4gZTtp +ZihDKXt2YXIgaT1PKGEpO2lmKGUuY29weSllLmNvcHkoaSk7ZWxzZSBmb3IoO248ZS5sZW5ndGg7 +KytuKWlbbl09ZVtuXTtyZXR1cm4gaX1lbHNlIGlmKGVlKXt2YXIgcz1uZXcgVWludDhBcnJheShh +KTtpZihzLnNldClzLnNldChlKTtlbHNlIGZvcig7bjx0OysrbilzW25dPWVbbl07cmV0dXJuIHN9 +ZS5sZW5ndGg9YTtyZXR1cm4gZX1mdW5jdGlvbiBwZShlKXt2YXIgcj1uZXcgQXJyYXkoZSk7Zm9y +KHZhciB0PTA7dDxlOysrdClyW3RdPTA7cmV0dXJuIHJ9ZnVuY3Rpb24gbWUoZSxyLHQpe3ZhciBh +PTEsbj0wLGk9MCxzPTAsZj0wLGw9ZS5sZW5ndGg7dmFyIG89ZWU/bmV3IFVpbnQxNkFycmF5KDMy +KTpwZSgzMik7Zm9yKGk9MDtpPDMyOysraSlvW2ldPTA7Zm9yKGk9bDtpPHQ7KytpKWVbaV09MDts +PWUubGVuZ3RoO3ZhciBjPWVlP25ldyBVaW50MTZBcnJheShsKTpwZShsKTtmb3IoaT0wO2k8bDsr +K2kpe29bbj1lW2ldXSsrO2lmKGE8bilhPW47Y1tpXT0wfW9bMF09MDtmb3IoaT0xO2k8PWE7Kytp +KW9baSsxNl09Zj1mK29baS0xXTw8MTtmb3IoaT0wO2k8bDsrK2kpe2Y9ZVtpXTtpZihmIT0wKWNb +aV09b1tmKzE2XSsrfXZhciBoPTA7Zm9yKGk9MDtpPGw7KytpKXtoPWVbaV07aWYoaCE9MCl7Zj1h +ZShjW2ldLGEpPj5hLWg7Zm9yKHM9KDE8PGErNC1oKS0xO3M+PTA7LS1zKXJbZnxzPDxoXT1oJjE1 +fGk8PDR9fXJldHVybiBhfXZhciBnZT1lZT9uZXcgVWludDE2QXJyYXkoNTEyKTpwZSg1MTIpO3Zh +ciBiZT1lZT9uZXcgVWludDE2QXJyYXkoMzIpOnBlKDMyKTtpZighZWUpe2Zvcih2YXIgd2U9MDt3 +ZTw1MTI7Kyt3ZSlnZVt3ZV09MDtmb3Iod2U9MDt3ZTwzMjsrK3dlKWJlW3dlXT0wfShmdW5jdGlv +bigpe3ZhciBlPVtdO3ZhciByPTA7Zm9yKDtyPDMyO3IrKyllLnB1c2goNSk7bWUoZSxiZSwzMik7 +dmFyIHQ9W107cj0wO2Zvcig7cjw9MTQzO3IrKyl0LnB1c2goOCk7Zm9yKDtyPD0yNTU7cisrKXQu +cHVzaCg5KTtmb3IoO3I8PTI3OTtyKyspdC5wdXNoKDcpO2Zvcig7cjw9Mjg3O3IrKyl0LnB1c2go +OCk7bWUodCxnZSwyODgpfSkoKTt2YXIga2U9ZnVuY3Rpb24gamUoKXt2YXIgZT1lZT9uZXcgVWlu +dDhBcnJheSgzMjc2OCk6W107dmFyIHI9MCx0PTA7Zm9yKDtyPHEubGVuZ3RoLTE7KytyKXtmb3Io +O3Q8cVtyKzFdOysrdCllW3RdPXJ9Zm9yKDt0PDMyNzY4OysrdCllW3RdPTI5O3ZhciBhPWVlP25l +dyBVaW50OEFycmF5KDI1OSk6W107Zm9yKHI9MCx0PTA7cjxKLmxlbmd0aC0xOysrcil7Zm9yKDt0 +PEpbcisxXTsrK3QpYVt0XT1yfWZ1bmN0aW9uIG4oZSxyKXt2YXIgdD0wO3doaWxlKHQ8ZS5sZW5n +dGgpe3ZhciBhPU1hdGgubWluKDY1NTM1LGUubGVuZ3RoLXQpO3ZhciBuPXQrYT09ZS5sZW5ndGg7 +ci5fVygxLCtuKTtyLl9XKDIsYSk7ci5fVygyLH5hJjY1NTM1KTt3aGlsZShhLS0gPjApcltyLmwr +K109ZVt0KytdfXJldHVybiByLmx9ZnVuY3Rpb24gaShyLHQpe3ZhciBuPTA7dmFyIGk9MDt2YXIg +cz1lZT9uZXcgVWludDE2QXJyYXkoMzI3NjgpOltdO3doaWxlKGk8ci5sZW5ndGgpe3ZhciBmPU1h +dGgubWluKDY1NTM1LHIubGVuZ3RoLWkpO2lmKGY8MTApe249Y2UodCxuLCshIShpK2Y9PXIubGVu +Z3RoKSk7aWYobiY3KW4rPTgtKG4mNyk7dC5sPW4vOHwwO3QuX1coMixmKTt0Ll9XKDIsfmYmNjU1 +MzUpO3doaWxlKGYtLSA+MCl0W3QubCsrXT1yW2krK107bj10LmwqODtjb250aW51ZX1uPWNlKHQs +biwrISEoaStmPT1yLmxlbmd0aCkrMik7dmFyIGw9MDt3aGlsZShmLS0gPjApe3ZhciBvPXJbaV07 +bD0obDw8NV5vKSYzMjc2Nzt2YXIgYz0tMSxoPTA7aWYoYz1zW2xdKXtjfD1pJn4zMjc2NztpZihj +PmkpYy09MzI3Njg7aWYoYzxpKXdoaWxlKHJbYytoXT09cltpK2hdJiZoPDI1MCkrK2h9aWYoaD4y +KXtvPWFbaF07aWYobzw9MjIpbj11ZSh0LG4scmVbbysxXT4+MSktMTtlbHNle3VlKHQsbiwzKTtu +Kz01O3VlKHQsbixyZVtvLTIzXT4+NSk7bis9M312YXIgdT1vPDg/MDpvLTQ+PjI7aWYodT4wKXtk +ZSh0LG4saC1KW29dKTtuKz11fW89ZVtpLWNdO249dWUodCxuLHJlW29dPj4zKTtuLT0zO3ZhciBk +PW88ND8wOm8tMj4+MTtpZihkPjApe2RlKHQsbixpLWMtcVtvXSk7bis9ZH1mb3IodmFyIHY9MDt2 +PGg7Kyt2KXtzW2xdPWkmMzI3Njc7bD0obDw8NV5yW2ldKSYzMjc2NzsrK2l9Zi09aC0xfWVsc2V7 +aWYobzw9MTQzKW89bys0ODtlbHNlIG49aGUodCxuLDEpO249dWUodCxuLHJlW29dKTtzW2xdPWkm +MzI3Njc7KytpfX1uPXVlKHQsbiwwKS0xfXQubD0obis3KS84fDA7cmV0dXJuIHQubH1yZXR1cm4g +ZnVuY3Rpb24gcyhlLHIpe2lmKGUubGVuZ3RoPDgpcmV0dXJuIG4oZSxyKTtyZXR1cm4gaShlLHIp +fX0oKTtmdW5jdGlvbiBBZShlKXt2YXIgcj1SYSg1MCtNYXRoLmZsb29yKGUubGVuZ3RoKjEuMSkp +O3ZhciB0PWtlKGUscik7cmV0dXJuIHIuc2xpY2UoMCx0KX12YXIgVGU9ZWU/bmV3IFVpbnQxNkFy +cmF5KDMyNzY4KTpwZSgzMjc2OCk7dmFyIHllPWVlP25ldyBVaW50MTZBcnJheSgzMjc2OCk6cGUo +MzI3NjgpO3ZhciBFZT1lZT9uZXcgVWludDE2QXJyYXkoMTI4KTpwZSgxMjgpO3ZhciBDZT0xLF9l +PTE7ZnVuY3Rpb24gU2UoZSxyKXt2YXIgdD1mZShlLHIpKzI1NztyKz01O3ZhciBhPWZlKGUscikr +MTtyKz01O3ZhciBuPXNlKGUscikrNDtyKz00O3ZhciBpPTA7dmFyIHM9ZWU/bmV3IFVpbnQ4QXJy +YXkoMTkpOnBlKDE5KTt2YXIgZj1bMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs +MF07dmFyIGw9MTt2YXIgbz1lZT9uZXcgVWludDhBcnJheSg4KTpwZSg4KTt2YXIgYz1lZT9uZXcg +VWludDhBcnJheSg4KTpwZSg4KTt2YXIgaD1zLmxlbmd0aDtmb3IodmFyIHU9MDt1PG47Kyt1KXtz +W1pbdV1dPWk9aWUoZSxyKTtpZihsPGkpbD1pO29baV0rKztyKz0zfXZhciBkPTA7b1swXT0wO2Zv +cih1PTE7dTw9bDsrK3UpY1t1XT1kPWQrb1t1LTFdPDwxO2Zvcih1PTA7dTxoOysrdSlpZigoZD1z +W3VdKSE9MClmW3VdPWNbZF0rKzt2YXIgdj0wO2Zvcih1PTA7dTxoOysrdSl7dj1zW3VdO2lmKHYh +PTApe2Q9cmVbZlt1XV0+Pjgtdjtmb3IodmFyIHA9KDE8PDctdiktMTtwPj0wOy0tcClFZVtkfHA8 +PHZdPXYmN3x1PDwzfX12YXIgbT1bXTtsPTE7Zm9yKDttLmxlbmd0aDx0K2E7KXtkPUVlW2xlKGUs +cildO3IrPWQmNztzd2l0Y2goZD4+Pj0zKXtjYXNlIDE2Omk9MytuZShlLHIpO3IrPTI7ZD1tW20u +bGVuZ3RoLTFdO3doaWxlKGktLSA+MCltLnB1c2goZCk7YnJlYWs7Y2FzZSAxNzppPTMraWUoZSxy +KTtyKz0zO3doaWxlKGktLSA+MCltLnB1c2goMCk7YnJlYWs7Y2FzZSAxODppPTExK2xlKGUscik7 +cis9Nzt3aGlsZShpLS0gPjApbS5wdXNoKDApO2JyZWFrO2RlZmF1bHQ6bS5wdXNoKGQpO2lmKGw8 +ZClsPWQ7YnJlYWs7fX12YXIgZz1tLnNsaWNlKDAsdCksYj1tLnNsaWNlKHQpO2Zvcih1PXQ7dTwy +ODY7Kyt1KWdbdV09MDtmb3IodT1hO3U8MzA7Kyt1KWJbdV09MDtDZT1tZShnLFRlLDI4Nik7X2U9 +bWUoYix5ZSwzMCk7cmV0dXJuIHJ9ZnVuY3Rpb24geGUoZSxyKXtpZihlWzBdPT0zJiYhKGVbMV0m +Mykpe3JldHVyblt4KHIpLDJdfXZhciB0PTA7dmFyIGE9MDt2YXIgbj1PKHI/cjoxPDwxOCk7dmFy +IGk9MDt2YXIgcz1uLmxlbmd0aD4+PjA7dmFyIGY9MCxsPTA7d2hpbGUoKGEmMSk9PTApe2E9aWUo +ZSx0KTt0Kz0zO2lmKGE+Pj4xPT0wKXtpZih0JjcpdCs9OC0odCY3KTt2YXIgbz1lW3Q+Pj4zXXxl +Wyh0Pj4+MykrMV08PDg7dCs9MzI7aWYobz4wKXtpZighciYmczxpK28pe249dmUobixpK28pO3M9 +bi5sZW5ndGh9d2hpbGUoby0tID4wKXtuW2krK109ZVt0Pj4+M107dCs9OH19Y29udGludWV9ZWxz +ZSBpZihhPj4xPT0xKXtmPTk7bD01fWVsc2V7dD1TZShlLHQpO2Y9Q2U7bD1fZX1mb3IoOzspe2lm +KCFyJiZzPGkrMzI3Njcpe249dmUobixpKzMyNzY3KTtzPW4ubGVuZ3RofXZhciBjPW9lKGUsdCxm +KTt2YXIgaD1hPj4+MT09MT9nZVtjXTpUZVtjXTt0Kz1oJjE1O2g+Pj49NDtpZigoaD4+PjgmMjU1 +KT09PTApbltpKytdPWg7ZWxzZSBpZihoPT0yNTYpYnJlYWs7ZWxzZXtoLT0yNTc7dmFyIHU9aDw4 +PzA6aC00Pj4yO2lmKHU+NSl1PTA7dmFyIGQ9aStKW2hdO2lmKHU+MCl7ZCs9b2UoZSx0LHUpO3Qr +PXV9Yz1vZShlLHQsbCk7aD1hPj4+MT09MT9iZVtjXTp5ZVtjXTt0Kz1oJjE1O2g+Pj49NDt2YXIg +dj1oPDQ/MDpoLTI+PjE7dmFyIHA9cVtoXTtpZih2PjApe3ArPW9lKGUsdCx2KTt0Kz12fWlmKCFy +JiZzPGQpe249dmUobixkKzEwMCk7cz1uLmxlbmd0aH13aGlsZShpPGQpe25baV09bltpLXBdOysr +aX19fX1pZihyKXJldHVybltuLHQrNz4+PjNdO3JldHVybltuLnNsaWNlKDAsaSksdCs3Pj4+M119 +ZnVuY3Rpb24gT2UoZSxyKXt2YXIgdD1lLnNsaWNlKGUubHx8MCk7CnZhciBhPXhlKHQscik7ZS5s +Kz1hWzFdO3JldHVybiBhWzBdfWZ1bmN0aW9uIEllKGUscil7aWYoZSl7aWYodHlwZW9mIGNvbnNv +bGUhPT0idW5kZWZpbmVkIiljb25zb2xlLmVycm9yKHIpfWVsc2UgdGhyb3cgbmV3IEVycm9yKHIp +fWZ1bmN0aW9uIFJlKGUscil7dmFyIHQ9ZTtPYSh0LDApO3ZhciBhPVtdLG49W107dmFyIGk9e0Zp +bGVJbmRleDphLEZ1bGxQYXRoczpufTt5KGkse3Jvb3Q6ci5yb290fSk7dmFyIGY9dC5sZW5ndGgt +NDt3aGlsZSgodFtmXSE9ODB8fHRbZisxXSE9NzV8fHRbZisyXSE9NXx8dFtmKzNdIT02KSYmZj49 +MCktLWY7dC5sPWYrNDt0LmwrPTQ7dmFyIGw9dC5fUigyKTt0LmwrPTY7dmFyIG89dC5fUig0KTt0 +Lmw9bztmb3IoZj0wO2Y8bDsrK2Ype3QubCs9MjA7dmFyIGM9dC5fUig0KTt2YXIgaD10Ll9SKDQp +O3ZhciB1PXQuX1IoMik7dmFyIGQ9dC5fUigyKTt2YXIgdj10Ll9SKDIpO3QubCs9ODt2YXIgcD10 +Ll9SKDQpO3ZhciBtPXModC5zbGljZSh0LmwrdSx0LmwrdStkKSk7dC5sKz11K2Qrdjt2YXIgZz10 +Lmw7dC5sPXArNDtpZihtJiZtWzFdKXtpZigobVsxXXx8e30pLnVzeiloPW1bMV0udXN6O2lmKCht +WzFdfHx7fSkuY3N6KWM9bVsxXS5jc3p9TmUodCxjLGgsaSxtKTt0Lmw9Z31yZXR1cm4gaX1mdW5j +dGlvbiBOZShlLHIsdCxhLG4pe2UubCs9Mjt2YXIgZj1lLl9SKDIpO3ZhciBsPWUuX1IoMik7dmFy +IG89aShlKTtpZihmJjgyNTcpdGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBaSVAgZW5jcnlw +dGlvbiIpO3ZhciBjPWUuX1IoNCk7dmFyIGg9ZS5fUig0KTt2YXIgdT1lLl9SKDQpO3ZhciBkPWUu +X1IoMik7dmFyIHY9ZS5fUigyKTt2YXIgcD0iIjtmb3IodmFyIG09MDttPGQ7KyttKXArPVN0cmlu +Zy5mcm9tQ2hhckNvZGUoZVtlLmwrK10pO2lmKHYpe3ZhciBnPXMoZS5zbGljZShlLmwsZS5sK3Yp +KTtpZigoZ1syMTU4OV18fHt9KS5tdClvPWdbMjE1ODldLm10O2lmKChnWzFdfHx7fSkudXN6KXU9 +Z1sxXS51c3o7aWYoKGdbMV18fHt9KS5jc3opaD1nWzFdLmNzejtpZihuKXtpZigoblsyMTU4OV18 +fHt9KS5tdClvPW5bMjE1ODldLm10O2lmKChuWzFdfHx7fSkudXN6KXU9blsxXS51c3o7aWYoKG5b +MV18fHt9KS5jc3opaD1uWzFdLmNzen19ZS5sKz12O3ZhciBiPWUuc2xpY2UoZS5sLGUubCtoKTtz +d2l0Y2gobCl7Y2FzZSA4OmI9SyhlLHUpO2JyZWFrO2Nhc2UgMDplLmwrPWg7YnJlYWs7ZGVmYXVs +dDp0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIFpJUCBDb21wcmVzc2lvbiBtZXRob2QgIits +KTt9dmFyIHc9ZmFsc2U7aWYoZiY4KXtjPWUuX1IoNCk7aWYoYz09MTM0Njk1NzYwKXtjPWUuX1Io +NCk7dz10cnVlfWg9ZS5fUig0KTt1PWUuX1IoNCl9aWYoaCE9cilJZSh3LCJCYWQgY29tcHJlc3Nl +ZCBzaXplOiAiK3IrIiAhPSAiK2gpO2lmKHUhPXQpSWUodywiQmFkIHVuY29tcHJlc3NlZCBzaXpl +OiAiK3QrIiAhPSAiK3UpO1ZlKGEscCxiLHt1bnNhZmU6dHJ1ZSxtdDpvfSl9ZnVuY3Rpb24gRmUo +ZSxyKXt2YXIgdD1yfHx7fTt2YXIgYT1bXSxpPVtdO3ZhciBzPVJhKDEpO3ZhciBmPXQuY29tcHJl +c3Npb24/ODowLGw9MDt2YXIgbz1mYWxzZTtpZihvKWx8PTg7dmFyIGM9MCxoPTA7dmFyIHU9MCxk +PTA7dmFyIHY9ZS5GdWxsUGF0aHNbMF0scD12LG09ZS5GaWxlSW5kZXhbMF07dmFyIGc9W107dmFy +IGI9MDtmb3IoYz0xO2M8ZS5GdWxsUGF0aHMubGVuZ3RoOysrYyl7cD1lLkZ1bGxQYXRoc1tjXS5z +bGljZSh2Lmxlbmd0aCk7bT1lLkZpbGVJbmRleFtjXTtpZighbS5zaXplfHwhbS5jb250ZW50fHxB +cnJheS5pc0FycmF5KG0uY29udGVudCkmJm0uY29udGVudC5sZW5ndGg9PTB8fHA9PSIBU2gzM3RK +NSIpY29udGludWU7dmFyIHc9dTt2YXIgaz1SYShwLmxlbmd0aCk7Zm9yKGg9MDtoPHAubGVuZ3Ro +OysraClrLl9XKDEscC5jaGFyQ29kZUF0KGgpJjEyNyk7az1rLnNsaWNlKDAsay5sKTtnW2RdPXR5 +cGVvZiBtLmNvbnRlbnQ9PSJzdHJpbmciP3FlLmJzdHIobS5jb250ZW50LDApOnFlLmJ1ZihtLmNv +bnRlbnQsMCk7dmFyIEE9dHlwZW9mIG0uY29udGVudD09InN0cmluZyI/SShtLmNvbnRlbnQpOm0u +Y29udGVudDtpZihmPT04KUE9WShBKTtzPVJhKDMwKTtzLl9XKDQsNjczMjQ3NTIpO3MuX1coMiwy +MCk7cy5fVygyLGwpO3MuX1coMixmKTtpZihtLm10KW4ocyxtLm10KTtlbHNlIHMuX1coNCwwKTtz +Ll9XKC00LGwmOD8wOmdbZF0pO3MuX1coNCxsJjg/MDpBLmxlbmd0aCk7cy5fVyg0LGwmOD8wOm0u +Y29udGVudC5sZW5ndGgpO3MuX1coMixrLmxlbmd0aCk7cy5fVygyLDApO3UrPXMubGVuZ3RoO2Eu +cHVzaChzKTt1Kz1rLmxlbmd0aDthLnB1c2goayk7dSs9QS5sZW5ndGg7YS5wdXNoKEEpO2lmKGwm +OCl7cz1SYSgxMik7cy5fVygtNCxnW2RdKTtzLl9XKDQsQS5sZW5ndGgpO3MuX1coNCxtLmNvbnRl +bnQubGVuZ3RoKTt1Kz1zLmw7YS5wdXNoKHMpfXM9UmEoNDYpO3MuX1coNCwzMzYzOTI0OCk7cy5f +VygyLDApO3MuX1coMiwyMCk7cy5fVygyLGwpO3MuX1coMixmKTtzLl9XKDQsMCk7cy5fVygtNCxn +W2RdKTtzLl9XKDQsQS5sZW5ndGgpO3MuX1coNCxtLmNvbnRlbnQubGVuZ3RoKTtzLl9XKDIsay5s +ZW5ndGgpO3MuX1coMiwwKTtzLl9XKDIsMCk7cy5fVygyLDApO3MuX1coMiwwKTtzLl9XKDQsMCk7 +cy5fVyg0LHcpO2IrPXMubDtpLnB1c2gocyk7Yis9ay5sZW5ndGg7aS5wdXNoKGspOysrZH1zPVJh +KDIyKTtzLl9XKDQsMTAxMDEwMjU2KTtzLl9XKDIsMCk7cy5fVygyLDApO3MuX1coMixkKTtzLl9X +KDIsZCk7cy5fVyg0LGIpO3MuX1coNCx1KTtzLl9XKDIsMCk7cmV0dXJuIFAoW1AoYSksUChpKSxz +XSl9dmFyIERlPXtodG06InRleHQvaHRtbCIseG1sOiJ0ZXh0L3htbCIsZ2lmOiJpbWFnZS9naWYi +LGpwZzoiaW1hZ2UvanBlZyIscG5nOiJpbWFnZS9wbmciLG1zbzoiYXBwbGljYXRpb24veC1tc28i +LHRobXg6ImFwcGxpY2F0aW9uL3ZuZC5tcy1vZmZpY2V0aGVtZSIsc2gzM3RqNToiYXBwbGljYXRp +b24vb2N0ZXQtc3RyZWFtIn07ZnVuY3Rpb24gUGUoZSxyKXtpZihlLmN0eXBlKXJldHVybiBlLmN0 +eXBlO3ZhciB0PWUubmFtZXx8IiIsYT10Lm1hdGNoKC9cLihbXlwuXSspJC8pO2lmKGEmJkRlW2Fb +MV1dKXJldHVybiBEZVthWzFdXTtpZihyKXthPSh0PXIpLm1hdGNoKC9bXC5cXF0oW15cLlxcXSkr +JC8pO2lmKGEmJkRlW2FbMV1dKXJldHVybiBEZVthWzFdXX1yZXR1cm4iYXBwbGljYXRpb24vb2N0 +ZXQtc3RyZWFtIn1mdW5jdGlvbiBMZShlKXt2YXIgcj1BKGUpO3ZhciB0PVtdO2Zvcih2YXIgYT0w +O2E8ci5sZW5ndGg7YSs9NzYpdC5wdXNoKHIuc2xpY2UoYSxhKzc2KSk7cmV0dXJuIHQuam9pbigi +XHJcbiIpKyJcclxuIn1mdW5jdGlvbiBNZShlKXt2YXIgcj1lLnJlcGxhY2UoL1tceDAwLVx4MDhc +eDBCXHgwQ1x4MEUtXHgxRlx4N0UtXHhGRj1dL2csZnVuY3Rpb24oZSl7dmFyIHI9ZS5jaGFyQ29k +ZUF0KDApLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpO3JldHVybiI9Iisoci5sZW5ndGg9PTE/ +IjAiK3I6cil9KTtyPXIucmVwbGFjZSgvICQvZ20sIj0yMCIpLnJlcGxhY2UoL1x0JC9nbSwiPTA5 +Iik7aWYoci5jaGFyQXQoMCk9PSJcbiIpcj0iPTBEIityLnNsaWNlKDEpO3I9ci5yZXBsYWNlKC9c +cig/IVxuKS9nbSwiPTBEIikucmVwbGFjZSgvXG5cbi9nbSwiXG49MEEiKS5yZXBsYWNlKC8oW15c +clxuXSlcbi9nbSwiJDE9MEEiKTt2YXIgdD1bXSxhPXIuc3BsaXQoIlxyXG4iKTtmb3IodmFyIG49 +MDtuPGEubGVuZ3RoOysrbil7dmFyIGk9YVtuXTtpZihpLmxlbmd0aD09MCl7dC5wdXNoKCIiKTtj +b250aW51ZX1mb3IodmFyIHM9MDtzPGkubGVuZ3RoOyl7dmFyIGY9NzY7dmFyIGw9aS5zbGljZShz +LHMrZik7aWYobC5jaGFyQXQoZi0xKT09Ij0iKWYtLTtlbHNlIGlmKGwuY2hhckF0KGYtMik9PSI9 +IilmLT0yO2Vsc2UgaWYobC5jaGFyQXQoZi0zKT09Ij0iKWYtPTM7bD1pLnNsaWNlKHMscytmKTtz +Kz1mO2lmKHM8aS5sZW5ndGgpbCs9Ij0iO3QucHVzaChsKX19cmV0dXJuIHQuam9pbigiXHJcbiIp +fWZ1bmN0aW9uIFVlKGUpe3ZhciByPVtdO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7Kyt0KXt2YXIg +YT1lW3RdO3doaWxlKHQ8PWUubGVuZ3RoJiZhLmNoYXJBdChhLmxlbmd0aC0xKT09Ij0iKWE9YS5z +bGljZSgwLGEubGVuZ3RoLTEpK2VbKyt0XTtyLnB1c2goYSl9Zm9yKHZhciBuPTA7bjxyLmxlbmd0 +aDsrK24pcltuXT1yW25dLnJlcGxhY2UoL1s9XVswLTlBLUZhLWZdezJ9L2csZnVuY3Rpb24oZSl7 +cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQoZS5zbGljZSgxKSwxNikpfSk7cmV0 +dXJuIEkoci5qb2luKCJcclxuIikpfWZ1bmN0aW9uIEJlKGUscix0KXt2YXIgYT0iIixuPSIiLGk9 +IiIsczt2YXIgZj0wO2Zvcig7ZjwxMDsrK2Ype3ZhciBsPXJbZl07aWYoIWx8fGwubWF0Y2goL15c +cyokLykpYnJlYWs7dmFyIG89bC5tYXRjaCgvXihbXjpdKj8pOlxzKihbXlxzXS4qKSQvKTtpZihv +KXN3aXRjaChvWzFdLnRvTG93ZXJDYXNlKCkpe2Nhc2UiY29udGVudC1sb2NhdGlvbiI6YT1vWzJd +LnRyaW0oKTticmVhaztjYXNlImNvbnRlbnQtdHlwZSI6aT1vWzJdLnRyaW0oKTticmVhaztjYXNl +ImNvbnRlbnQtdHJhbnNmZXItZW5jb2RpbmciOm49b1syXS50cmltKCk7YnJlYWs7fX0rK2Y7c3dp +dGNoKG4udG9Mb3dlckNhc2UoKSl7Y2FzZSJiYXNlNjQiOnM9SShFKHIuc2xpY2UoZikuam9pbigi +IikpKTticmVhaztjYXNlInF1b3RlZC1wcmludGFibGUiOnM9VWUoci5zbGljZShmKSk7YnJlYWs7 +ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIENvbnRlbnQtVHJhbnNmZXItRW5j +b2RpbmcgIituKTt9dmFyIGM9VmUoZSxhLnNsaWNlKHQubGVuZ3RoKSxzLHt1bnNhZmU6dHJ1ZX0p +O2lmKGkpYy5jdHlwZT1pfWZ1bmN0aW9uIFdlKGUscil7aWYoJChlLnNsaWNlKDAsMTMpKS50b0xv +d2VyQ2FzZSgpIT0ibWltZS12ZXJzaW9uOiIpdGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBN +QUQgaGVhZGVyIik7dmFyIHQ9ciYmci5yb290fHwiIjt2YXIgYT0oQyYmQnVmZmVyLmlzQnVmZmVy +KGUpP2UudG9TdHJpbmcoImJpbmFyeSIpOiQoZSkpLnNwbGl0KCJcclxuIik7dmFyIG49MCxpPSIi +O2ZvcihuPTA7bjxhLmxlbmd0aDsrK24pe2k9YVtuXTtpZighL15Db250ZW50LUxvY2F0aW9uOi9p +LnRlc3QoaSkpY29udGludWU7aT1pLnNsaWNlKGkuaW5kZXhPZigiZmlsZSIpKTtpZighdCl0PWku +c2xpY2UoMCxpLmxhc3RJbmRleE9mKCIvIikrMSk7aWYoaS5zbGljZSgwLHQubGVuZ3RoKT09dClj +b250aW51ZTt3aGlsZSh0Lmxlbmd0aD4wKXt0PXQuc2xpY2UoMCx0Lmxlbmd0aC0xKTt0PXQuc2xp +Y2UoMCx0Lmxhc3RJbmRleE9mKCIvIikrMSk7aWYoaS5zbGljZSgwLHQubGVuZ3RoKT09dClicmVh +a319dmFyIHM9KGFbMV18fCIiKS5tYXRjaCgvYm91bmRhcnk9IiguKj8pIi8pO2lmKCFzKXRocm93 +IG5ldyBFcnJvcigiTUFEIGNhbm5vdCBmaW5kIGJvdW5kYXJ5Iik7dmFyIGY9Ii0tIisoc1sxXXx8 +IiIpO3ZhciBsPVtdLG89W107dmFyIGM9e0ZpbGVJbmRleDpsLEZ1bGxQYXRoczpvfTt5KGMpO3Zh +ciBoLHU9MDtmb3Iobj0wO248YS5sZW5ndGg7KytuKXt2YXIgZD1hW25dO2lmKGQhPT1mJiZkIT09 +ZisiLS0iKWNvbnRpbnVlO2lmKHUrKylCZShjLGEuc2xpY2UoaCxuKSx0KTtoPW59cmV0dXJuIGN9 +ZnVuY3Rpb24gemUoZSxyKXt2YXIgdD1yfHx7fTt2YXIgYT10LmJvdW5kYXJ5fHwiU2hlZXRKUyI7 +YT0iLS0tLS0tPSIrYTt2YXIgbj1bIk1JTUUtVmVyc2lvbjogMS4wIiwnQ29udGVudC1UeXBlOiBt +dWx0aXBhcnQvcmVsYXRlZDsgYm91bmRhcnk9IicrYS5zbGljZSgyKSsnIicsIiIsIiIsIiJdO3Zh +ciBpPWUuRnVsbFBhdGhzWzBdLHM9aSxmPWUuRmlsZUluZGV4WzBdO2Zvcih2YXIgbD0xO2w8ZS5G +dWxsUGF0aHMubGVuZ3RoOysrbCl7cz1lLkZ1bGxQYXRoc1tsXS5zbGljZShpLmxlbmd0aCk7Zj1l +LkZpbGVJbmRleFtsXTtpZighZi5zaXplfHwhZi5jb250ZW50fHxzPT0iAVNoMzN0SjUiKWNvbnRp +bnVlO3M9cy5yZXBsYWNlKC9bXHgwMC1ceDA4XHgwQlx4MENceDBFLVx4MUZceDdFLVx4RkZdL2cs +ZnVuY3Rpb24oZSl7cmV0dXJuIl94IitlLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpKyJfIn0p +LnJlcGxhY2UoL1tcdTAwODAtXHVGRkZGXS9nLGZ1bmN0aW9uKGUpe3JldHVybiJfdSIrZS5jaGFy +Q29kZUF0KDApLnRvU3RyaW5nKDE2KSsiXyJ9KTt2YXIgbz1mLmNvbnRlbnQ7dmFyIGM9QyYmQnVm +ZmVyLmlzQnVmZmVyKG8pP28udG9TdHJpbmcoImJpbmFyeSIpOiQobyk7dmFyIGg9MCx1PU1hdGgu +bWluKDEwMjQsYy5sZW5ndGgpLGQ9MDtmb3IodmFyIHY9MDt2PD11OysrdilpZigoZD1jLmNoYXJD +b2RlQXQodikpPj0zMiYmZDwxMjgpKytoO3ZhciBwPWg+PXUqNC81O24ucHVzaChhKTtuLnB1c2go +IkNvbnRlbnQtTG9jYXRpb246ICIrKHQucm9vdHx8ImZpbGU6Ly8vQzovU2hlZXRKUy8iKStzKTtu +LnB1c2goIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6ICIrKHA/InF1b3RlZC1wcmludGFibGUi +OiJiYXNlNjQiKSk7bi5wdXNoKCJDb250ZW50LVR5cGU6ICIrUGUoZixzKSk7bi5wdXNoKCIiKTtu +LnB1c2gocD9NZShjKTpMZShjKSl9bi5wdXNoKGErIi0tXHJcbiIpO3JldHVybiBuLmpvaW4oIlxy +XG4iKX1mdW5jdGlvbiBIZShlKXt2YXIgcj17fTt5KHIsZSk7cmV0dXJuIHJ9ZnVuY3Rpb24gVmUo +ZSxyLHQsbil7dmFyIGk9biYmbi51bnNhZmU7aWYoIWkpeShlKTt2YXIgcz0haSYmUWUuZmluZChl +LHIpO2lmKCFzKXt2YXIgZj1lLkZ1bGxQYXRoc1swXTtpZihyLnNsaWNlKDAsZi5sZW5ndGgpPT1m +KWY9cjtlbHNle2lmKGYuc2xpY2UoLTEpIT0iLyIpZis9Ii8iO2Y9KGYrcikucmVwbGFjZSgiLy8i +LCIvIil9cz17bmFtZTphKHIpLHR5cGU6Mn07ZS5GaWxlSW5kZXgucHVzaChzKTtlLkZ1bGxQYXRo +cy5wdXNoKGYpO2lmKCFpKVFlLnV0aWxzLmNmYl9nYyhlKX1zLmNvbnRlbnQ9dDtzLnNpemU9dD90 +Lmxlbmd0aDowO2lmKG4pe2lmKG4uQ0xTSUQpcy5jbHNpZD1uLkNMU0lEO2lmKG4ubXQpcy5tdD1u +Lm10O2lmKG4uY3Qpcy5jdD1uLmN0fXJldHVybiBzfWZ1bmN0aW9uICRlKGUscil7eShlKTt2YXIg +dD1RZS5maW5kKGUscik7aWYodClmb3IodmFyIGE9MDthPGUuRmlsZUluZGV4Lmxlbmd0aDsrK2Ep +aWYoZS5GaWxlSW5kZXhbYV09PXQpe2UuRmlsZUluZGV4LnNwbGljZShhLDEpO2UuRnVsbFBhdGhz +LnNwbGljZShhLDEpO3JldHVybiB0cnVlfXJldHVybiBmYWxzZX1mdW5jdGlvbiBYZShlLHIsdCl7 +eShlKTt2YXIgbj1RZS5maW5kKGUscik7aWYobilmb3IodmFyIGk9MDtpPGUuRmlsZUluZGV4Lmxl +bmd0aDsrK2kpaWYoZS5GaWxlSW5kZXhbaV09PW4pe2UuRmlsZUluZGV4W2ldLm5hbWU9YSh0KTtl +LkZ1bGxQYXRoc1tpXT10O3JldHVybiB0cnVlfXJldHVybiBmYWxzZX1mdW5jdGlvbiBHZShlKXtS +KGUsdHJ1ZSl9ZS5maW5kPUY7ZS5yZWFkPVQ7ZS5wYXJzZT1vO2Uud3JpdGU9WDtlLndyaXRlRmls +ZT1WO2UudXRpbHM9e2NmYl9uZXc6SGUsY2ZiX2FkZDpWZSxjZmJfZGVsOiRlLGNmYl9tb3Y6WGUs +Y2ZiX2djOkdlLFJlYWRTaGlmdDp5YSxDaGVja0ZpZWxkOnhhLHByZXBfYmxvYjpPYSxiY29uY2F0 +OlAsdXNlX3psaWI6aixfZGVmbGF0ZVJhdzpBZSxfaW5mbGF0ZVJhdzpPZSxjb25zdHM6SH07cmV0 +dXJuIGV9KCk7dmFyIGVyO2Z1bmN0aW9uIHJyKGUpe2VyPWV9ZnVuY3Rpb24gdHIoZSl7aWYodHlw +ZW9mIGU9PT0ic3RyaW5nIilyZXR1cm4gUihlKTtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBG +KGUpO3JldHVybiBlfWZ1bmN0aW9uIGFyKGUscix0KXtpZih0eXBlb2YgZXIhPT0idW5kZWZpbmVk +IiYmZXIud3JpdGVGaWxlU3luYylyZXR1cm4gdD9lci53cml0ZUZpbGVTeW5jKGUscix0KTplci53 +cml0ZUZpbGVTeW5jKGUscik7aWYodHlwZW9mIERlbm8hPT0idW5kZWZpbmVkIil7aWYodCYmdHlw +ZW9mIHI9PSJzdHJpbmciKXN3aXRjaCh0KXtjYXNlInV0ZjgiOnI9bmV3IFRleHRFbmNvZGVyKHQp +LmVuY29kZShyKTticmVhaztjYXNlImJpbmFyeSI6cj1SKHIpO2JyZWFrO2RlZmF1bHQ6dGhyb3cg +bmV3IEVycm9yKCJVbnN1cHBvcnRlZCBlbmNvZGluZyAiK3QpO31yZXR1cm4gRGVuby53cml0ZUZp +bGVTeW5jKGUscil9dmFyIGE9dD09InV0ZjgiP1J0KHIpOnI7aWYodHlwZW9mIElFX1NhdmVGaWxl +IT09InVuZGVmaW5lZCIpcmV0dXJuIElFX1NhdmVGaWxlKGEsZSk7aWYodHlwZW9mIEJsb2IhPT0i +dW5kZWZpbmVkIil7dmFyIG49bmV3IEJsb2IoW3RyKGEpXSx7dHlwZToiYXBwbGljYXRpb24vb2N0 +ZXQtc3RyZWFtIn0pO2lmKHR5cGVvZiBuYXZpZ2F0b3IhPT0idW5kZWZpbmVkIiYmbmF2aWdhdG9y +Lm1zU2F2ZUJsb2IpcmV0dXJuIG5hdmlnYXRvci5tc1NhdmVCbG9iKG4sZSk7aWYodHlwZW9mIHNh +dmVBcyE9PSJ1bmRlZmluZWQiKXJldHVybiBzYXZlQXMobixlKTtpZih0eXBlb2YgVVJMIT09InVu +ZGVmaW5lZCImJnR5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiZkb2N1bWVudC5jcmVhdGVF +bGVtZW50JiZVUkwuY3JlYXRlT2JqZWN0VVJMKXt2YXIgaT1VUkwuY3JlYXRlT2JqZWN0VVJMKG4p +O2lmKHR5cGVvZiBjaHJvbWU9PT0ib2JqZWN0IiYmdHlwZW9mKGNocm9tZS5kb3dubG9hZHN8fHt9 +KS5kb3dubG9hZD09ImZ1bmN0aW9uIil7aWYoVVJMLnJldm9rZU9iamVjdFVSTCYmdHlwZW9mIHNl +dFRpbWVvdXQhPT0idW5kZWZpbmVkIilzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7VVJMLnJldm9rZU9i +amVjdFVSTChpKX0sNmU0KTtyZXR1cm4gY2hyb21lLmRvd25sb2Fkcy5kb3dubG9hZCh7dXJsOmks +ZmlsZW5hbWU6ZSxzYXZlQXM6dHJ1ZX0pfXZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEi +KTtpZihzLmRvd25sb2FkIT1udWxsKXtzLmRvd25sb2FkPWU7cy5ocmVmPWk7ZG9jdW1lbnQuYm9k +eS5hcHBlbmRDaGlsZChzKTtzLmNsaWNrKCk7ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzKTtp +ZihVUkwucmV2b2tlT2JqZWN0VVJMJiZ0eXBlb2Ygc2V0VGltZW91dCE9PSJ1bmRlZmluZWQiKXNl +dFRpbWVvdXQoZnVuY3Rpb24oKXtVUkwucmV2b2tlT2JqZWN0VVJMKGkpfSw2ZTQpO3JldHVybiBp +fX1lbHNlIGlmKHR5cGVvZiBVUkwhPT0idW5kZWZpbmVkIiYmIVVSTC5jcmVhdGVPYmplY3RVUkwm +JnR5cGVvZiBjaHJvbWU9PT0ib2JqZWN0Iil7dmFyIGY9ImRhdGE6YXBwbGljYXRpb24vb2N0ZXQt +c3RyZWFtO2Jhc2U2NCwiK3kobmV3IFVpbnQ4QXJyYXkodHIoYSkpKTtyZXR1cm4gY2hyb21lLmRv +d25sb2Fkcy5kb3dubG9hZCh7dXJsOmYsZmlsZW5hbWU6ZSxzYXZlQXM6dHJ1ZX0pfX1pZih0eXBl +b2YgJCE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgRmlsZSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgRm9s +ZGVyIT09InVuZGVmaW5lZCIpdHJ5e3ZhciBsPUZpbGUoZSk7bC5vcGVuKCJ3Iik7bC5lbmNvZGlu +Zz0iYmluYXJ5IjtpZihBcnJheS5pc0FycmF5KHIpKXI9TihyKTtsLndyaXRlKHIpO2wuY2xvc2Uo +KTtyZXR1cm4gcn1jYXRjaChvKXtpZighby5tZXNzYWdlfHxvLm1lc3NhZ2UuaW5kZXhPZigib25z +dHJ1Y3QiKT09LTEpdGhyb3cgb310aHJvdyBuZXcgRXJyb3IoImNhbm5vdCBzYXZlIGZpbGUgIitl +KX1mdW5jdGlvbiBucihlKXtpZih0eXBlb2YgZXIhPT0idW5kZWZpbmVkIilyZXR1cm4gZXIucmVh +ZEZpbGVTeW5jKGUpO2lmKHR5cGVvZiBEZW5vIT09InVuZGVmaW5lZCIpcmV0dXJuIERlbm8ucmVh +ZEZpbGVTeW5jKGUpO2lmKHR5cGVvZiAkIT09InVuZGVmaW5lZCImJnR5cGVvZiBGaWxlIT09InVu +ZGVmaW5lZCImJnR5cGVvZiBGb2xkZXIhPT0idW5kZWZpbmVkIil0cnl7dmFyIHI9RmlsZShlKTty +Lm9wZW4oInIiKTtyLmVuY29kaW5nPSJiaW5hcnkiO3ZhciB0PXIucmVhZCgpO3IuY2xvc2UoKTty +ZXR1cm4gdH1jYXRjaChhKXtpZighYS5tZXNzYWdlfHxhLm1lc3NhZ2UuaW5kZXhPZigib25zdHJ1 +Y3QiKT09LTEpdGhyb3cgYX10aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBhY2Nlc3MgZmlsZSAiK2Up +fWZ1bmN0aW9uIGlyKGUpe3ZhciByPU9iamVjdC5rZXlzKGUpLHQ9W107Zm9yKHZhciBhPTA7YTxy +Lmxlbmd0aDsrK2EpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsclth +XSkpdC5wdXNoKHJbYV0pO3JldHVybiB0fWZ1bmN0aW9uIHNyKGUscil7dmFyIHQ9W10sYT1pcihl +KTtmb3IodmFyIG49MDtuIT09YS5sZW5ndGg7KytuKWlmKHRbZVthW25dXVtyXV09PW51bGwpdFtl +W2Fbbl1dW3JdXT1hW25dO3JldHVybiB0fWZ1bmN0aW9uIGZyKGUpe3ZhciByPVtdLHQ9aXIoZSk7 +Zm9yKHZhciBhPTA7YSE9PXQubGVuZ3RoOysrYSlyW2VbdFthXV1dPXRbYV07cmV0dXJuIHJ9ZnVu +Y3Rpb24gbHIoZSl7dmFyIHI9W10sdD1pcihlKTtmb3IodmFyIGE9MDthIT09dC5sZW5ndGg7Kyth +KXJbZVt0W2FdXV09cGFyc2VJbnQodFthXSwxMCk7cmV0dXJuIHJ9ZnVuY3Rpb24gb3IoZSl7dmFy +IHI9W10sdD1pcihlKTtmb3IodmFyIGE9MDthIT09dC5sZW5ndGg7KythKXtpZihyW2VbdFthXV1d +PT1udWxsKXJbZVt0W2FdXV09W107cltlW3RbYV1dXS5wdXNoKHRbYV0pfXJldHVybiByfXZhciBj +cj1EYXRlLlVUQygxODk5LDExLDMwLDAsMCwwKTt2YXIgaHI9RGF0ZS5VVEMoMTg5OSwxMSwzMSww +LDAsMCk7dmFyIHVyPURhdGUuVVRDKDE5MDQsMCwxLDAsMCwwKTtmdW5jdGlvbiBkcihlLHIpe3Zh +ciB0PWUuZ2V0VGltZSgpO3ZhciBhPSh0LWNyKS8oMjQqNjAqNjAqMWUzKTtpZihyKXthLT0xNDYy +O3JldHVybiBhPC0xNDAyP2EtMTphfXJldHVybiBhPDYwP2EtMTphfWZ1bmN0aW9uIHZyKGUpe2lm +KGU+PTYwJiZlPDYxKXJldHVybiBlO3ZhciByPW5ldyBEYXRlO3Iuc2V0VGltZSgoZT42MD9lOmUr +MSkqMjQqNjAqNjAqMWUzK2NyKTtyZXR1cm4gcn1mdW5jdGlvbiBwcihlKXt2YXIgcj0wLHQ9MCxh +PWZhbHNlO3ZhciBuPWUubWF0Y2goL1AoWzAtOVwuXStZKT8oWzAtOVwuXStNKT8oWzAtOVwuXStE +KT9UKFswLTlcLl0rSCk/KFswLTlcLl0rTSk/KFswLTlcLl0rUyk/Lyk7aWYoIW4pdGhyb3cgbmV3 +IEVycm9yKCJ8IitlKyJ8IGlzIG5vdCBhbiBJU084NjAxIER1cmF0aW9uIik7Zm9yKHZhciBpPTE7 +aSE9bi5sZW5ndGg7KytpKXtpZighbltpXSljb250aW51ZTt0PTE7aWYoaT4zKWE9dHJ1ZTtzd2l0 +Y2gobltpXS5zbGljZShuW2ldLmxlbmd0aC0xKSl7Y2FzZSJZIjp0aHJvdyBuZXcgRXJyb3IoIlVu +c3VwcG9ydGVkIElTTyBEdXJhdGlvbiBGaWVsZDogIituW2ldLnNsaWNlKG5baV0ubGVuZ3RoLTEp +KTtjYXNlIkQiOnQqPTI0O2Nhc2UiSCI6dCo9NjA7Y2FzZSJNIjppZighYSl0aHJvdyBuZXcgRXJy +b3IoIlVuc3VwcG9ydGVkIElTTyBEdXJhdGlvbiBGaWVsZDogTSIpO2Vsc2UgdCo9NjA7Y2FzZSJT +IjpicmVhazt9cis9dCpwYXJzZUludChuW2ldLDEwKX1yZXR1cm4gcn12YXIgbXI9L14oXGQrKToo +XGQrKSg6XGQrKT8oXC5cZCspPyQvO3ZhciBncj0vXihcZCspLShcZCspLShcZCspJC87dmFyIGJy +PS9eKFxkKyktKFxkKyktKFxkKylbVCBdKFxkKyk6KFxkKykoOlxkKyk/KFwuXGQrKT8kLztmdW5j +dGlvbiB3cihlLHIpe2lmKGUgaW5zdGFuY2VvZiBEYXRlKXJldHVybiBlO3ZhciB0PWUubWF0Y2go +bXIpO2lmKHQpcmV0dXJuIG5ldyBEYXRlKChyP3VyOmhyKSsoKHBhcnNlSW50KHRbMV0sMTApKjYw +K3BhcnNlSW50KHRbMl0sMTApKSo2MCsodFszXT9wYXJzZUludCh0WzNdLnNsaWNlKDEpLDEwKTow +KSkqMWUzKyh0WzRdP3BhcnNlSW50KCh0WzRdKyIwMDAiKS5zbGljZSgxLDQpLDEwKTowKSk7dD1l +Lm1hdGNoKGdyKTtpZih0KXJldHVybiBuZXcgRGF0ZShEYXRlLlVUQygrdFsxXSwrdFsyXS0xLCt0 +WzNdLDAsMCwwLDApKTt0PWUubWF0Y2goYnIpO2lmKHQpcmV0dXJuIG5ldyBEYXRlKERhdGUuVVRD +KCt0WzFdLCt0WzJdLTEsK3RbM10sK3RbNF0sK3RbNV0sdFs2XSYmcGFyc2VJbnQodFs2XS5zbGlj +ZSgxKSwxMCl8fDAsdFs3XSYmcGFyc2VJbnQoKHRbN10rIjAwMDAiKS5zbGljZSgxLDQpLDEwKXx8 +MCkpO3ZhciBhPW5ldyBEYXRlKGUpO3JldHVybiBhfWZ1bmN0aW9uIGtyKGUscil7aWYoQyYmQnVm +ZmVyLmlzQnVmZmVyKGUpKXtpZihyJiZTKXtpZihlWzBdPT0yNTUmJmVbMV09PTI1NClyZXR1cm4g +UnQoZS5zbGljZSgyKS50b1N0cmluZygidXRmMTZsZSIpKTtpZihlWzFdPT0yNTQmJmVbMl09PTI1 +NSlyZXR1cm4gUnQoZChlLnNsaWNlKDIpLnRvU3RyaW5nKCJiaW5hcnkiKSkpfXJldHVybiBlLnRv +U3RyaW5nKCJiaW5hcnkiKX1pZih0eXBlb2YgVGV4dERlY29kZXIhPT0idW5kZWZpbmVkIil0cnl7 +aWYocil7aWYoZVswXT09MjU1JiZlWzFdPT0yNTQpcmV0dXJuIFJ0KG5ldyBUZXh0RGVjb2Rlcigi +dXRmLTE2bGUiKS5kZWNvZGUoZS5zbGljZSgyKSkpO2lmKGVbMF09PTI1NCYmZVsxXT09MjU1KXJl +dHVybiBSdChuZXcgVGV4dERlY29kZXIoInV0Zi0xNmJlIikuZGVjb2RlKGUuc2xpY2UoMikpKX12 +YXIgdD17IuKCrCI6IsKAIiwi4oCaIjoiwoIiLCLGkiI6IsKDIiwi4oCeIjoiwoQiLCLigKYiOiLC +hSIsIuKAoCI6IsKGIiwi4oChIjoiwociLCLLhiI6IsKIIiwi4oCwIjoiwokiLCLFoCI6IsKKIiwi +4oC5IjoiwosiLCLFkiI6IsKMIiwixb0iOiLCjiIsIuKAmCI6IsKRIiwi4oCZIjoiwpIiLCLigJwi +OiLCkyIsIuKAnSI6IsKUIiwi4oCiIjoiwpUiLCLigJMiOiLCliIsIuKAlCI6IsKXIiwiy5wiOiLC +mCIsIuKEoiI6IsKZIiwixaEiOiLCmiIsIuKAuiI6IsKbIiwixZMiOiLCnCIsIsW+Ijoiwp4iLCLF +uCI6IsKfIn07aWYoQXJyYXkuaXNBcnJheShlKSllPW5ldyBVaW50OEFycmF5KGUpO3JldHVybiBu +ZXcgVGV4dERlY29kZXIoImxhdGluMSIpLmRlY29kZShlKS5yZXBsYWNlKC9b4oKs4oCaxpLigJ7i +gKbigKDigKHLhuKAsMWg4oC5xZLFveKAmOKAmeKAnOKAneKAouKAk+KAlMuc4oSixaHigLrFk8W+ +xbhdL2csZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV18fGV9KX1jYXRjaChhKXt9dmFyIG49W10saT0w +O3RyeXtmb3IoaT0wO2k8ZS5sZW5ndGgtNjU1MzY7aSs9NjU1MzYpbi5wdXNoKFN0cmluZy5mcm9t +Q2hhckNvZGUuYXBwbHkoMCxlLnNsaWNlKGksaSs2NTUzNikpKTtuLnB1c2goU3RyaW5nLmZyb21D +aGFyQ29kZS5hcHBseSgwLGUuc2xpY2UoaSkpKX1jYXRjaChhKXt0cnl7Zm9yKDtpPGUubGVuZ3Ro +LTE2Mzg0O2krPTE2Mzg0KW4ucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KDAsZS5zbGlj +ZShpLGkrMTYzODQpKSk7bi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoMCxlLnNsaWNl +KGkpKSl9Y2F0Y2goYSl7Zm9yKDtpIT1lLmxlbmd0aDsrK2kpbi5wdXNoKFN0cmluZy5mcm9tQ2hh +ckNvZGUoZVtpXSkpfX1yZXR1cm4gbi5qb2luKCIiKX1mdW5jdGlvbiBBcihlKXtpZih0eXBlb2Yg +SlNPTiE9InVuZGVmaW5lZCImJiFBcnJheS5pc0FycmF5KGUpKXJldHVybiBKU09OLnBhcnNlKEpT +T04uc3RyaW5naWZ5KGUpKTtpZih0eXBlb2YgZSE9Im9iamVjdCJ8fGU9PW51bGwpcmV0dXJuIGU7 +aWYoZSBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKGUuZ2V0VGltZSgpKTt2YXIgcj17 +fTtmb3IodmFyIHQgaW4gZSlpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwo +ZSx0KSlyW3RdPUFyKGVbdF0pO3JldHVybiByfWZ1bmN0aW9uIFRyKGUscil7dmFyIHQ9IiI7d2hp +bGUodC5sZW5ndGg8cil0Kz1lO3JldHVybiB0fWZ1bmN0aW9uIHlyKGUpe3ZhciByPU51bWJlcihl +KTtpZighaXNOYU4ocikpcmV0dXJuIGlzRmluaXRlKHIpP3I6TmFOO2lmKCEvXGQvLnRlc3QoZSkp +cmV0dXJuIHI7dmFyIHQ9MTt2YXIgYT1lLnJlcGxhY2UoLyhbXGRdKSwoW1xkXSkvZywiJDEkMiIp +LnJlcGxhY2UoL1skXS9nLCIiKS5yZXBsYWNlKC9bJV0vZyxmdW5jdGlvbigpe3QqPTEwMDtyZXR1 +cm4iIn0pO2lmKCFpc05hTihyPU51bWJlcihhKSkpcmV0dXJuIHIvdDthPWEucmVwbGFjZSgvWyhd +KFteKCldKilbKV0vLGZ1bmN0aW9uKGUscil7dD0tdDtyZXR1cm4gcn0pO2lmKCFpc05hTihyPU51 +bWJlcihhKSkpcmV0dXJuIHIvdDtyZXR1cm4gcn12YXIgRXI9L14oMD9cZHwxWzAtMl0pKD86fDoo +WzAtNV0/XGQpKD86fChcLlxkKykoPzp8OihbMC01XT9cZCkpfDooWzAtNV0/XGQpKHxcLlxkKykp +KVxzKyhbYXBdKW0/JC87dmFyIENyPS9eKFswMV0/XGR8MlswLTNdKSg/Onw6KFswLTVdP1xkKSg/ +OnwoXC5cZCspKD86fDooWzAtNV0/XGQpKXw6KFswLTVdP1xkKSh8XC5cZCspKSkkLzt2YXIgX3I9 +L14oXGQrKS0oXGQrKS0oXGQrKVtUIF0oXGQrKTooXGQrKSg6XGQrKShcLlxkKyk/W1pdPyQvO3Zh +ciBTcj1uZXcgRGF0ZSgiNi85LzY5IDAwOjAwIFVUQyIpLnZhbHVlT2YoKT09LTE3Nzk4NGU1O2Z1 +bmN0aW9uIHhyKGUpe2lmKCFlWzJdKXJldHVybiBuZXcgRGF0ZShEYXRlLlVUQygxODk5LDExLDMx +LCtlWzFdJTEyKyhlWzddPT0icCI/MTI6MCksMCwwLDApKTtpZihlWzNdKXtpZihlWzRdKXJldHVy +biBuZXcgRGF0ZShEYXRlLlVUQygxODk5LDExLDMxLCtlWzFdJTEyKyhlWzddPT0icCI/MTI6MCks +K2VbMl0sK2VbNF0scGFyc2VGbG9hdChlWzNdKSoxZTMpKTtlbHNlIHJldHVybiBuZXcgRGF0ZShE +YXRlLlVUQygxODk5LDExLDMxLGVbN109PSJwIj8xMjowLCtlWzFdLCtlWzJdLHBhcnNlRmxvYXQo +ZVszXSkqMWUzKSl9ZWxzZSBpZihlWzVdKXJldHVybiBuZXcgRGF0ZShEYXRlLlVUQygxODk5LDEx +LDMxLCtlWzFdJTEyKyhlWzddPT0icCI/MTI6MCksK2VbMl0sK2VbNV0sZVs2XT9wYXJzZUZsb2F0 +KGVbNl0pKjFlMzowKSk7ZWxzZSByZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEMoMTg5OSwxMSwzMSwr +ZVsxXSUxMisoZVs3XT09InAiPzEyOjApLCtlWzJdLDAsMCkpfWZ1bmN0aW9uIE9yKGUpe2lmKCFl +WzJdKXJldHVybiBuZXcgRGF0ZShEYXRlLlVUQygxODk5LDExLDMxLCtlWzFdLDAsMCwwKSk7aWYo +ZVszXSl7aWYoZVs0XSlyZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEMoMTg5OSwxMSwzMSwrZVsxXSwr +ZVsyXSwrZVs0XSxwYXJzZUZsb2F0KGVbM10pKjFlMykpO2Vsc2UgcmV0dXJuIG5ldyBEYXRlKERh +dGUuVVRDKDE4OTksMTEsMzEsMCwrZVsxXSwrZVsyXSxwYXJzZUZsb2F0KGVbM10pKjFlMykpfWVs +c2UgaWYoZVs1XSlyZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEMoMTg5OSwxMSwzMSwrZVsxXSwrZVsy +XSwrZVs1XSxlWzZdP3BhcnNlRmxvYXQoZVs2XSkqMWUzOjApKTtlbHNlIHJldHVybiBuZXcgRGF0 +ZShEYXRlLlVUQygxODk5LDExLDMxLCtlWzFdLCtlWzJdLDAsMCkpfXZhciBJcj1bImphbnVhcnki +LCJmZWJydWFyeSIsIm1hcmNoIiwiYXByaWwiLCJtYXkiLCJqdW5lIiwianVseSIsImF1Z3VzdCIs +InNlcHRlbWJlciIsIm9jdG9iZXIiLCJub3ZlbWJlciIsImRlY2VtYmVyIl07ZnVuY3Rpb24gUnIo +ZSl7aWYoX3IudGVzdChlKSlyZXR1cm4gZS5pbmRleE9mKCJaIik9PS0xP0RyKG5ldyBEYXRlKGUp +KTpuZXcgRGF0ZShlKTt2YXIgcj1lLnRvTG93ZXJDYXNlKCk7dmFyIHQ9ci5yZXBsYWNlKC9ccysv +ZywiICIpLnRyaW0oKTt2YXIgYT10Lm1hdGNoKEVyKTtpZihhKXJldHVybiB4cihhKTthPXQubWF0 +Y2goQ3IpO2lmKGEpcmV0dXJuIE9yKGEpO2E9dC5tYXRjaChicik7aWYoYSlyZXR1cm4gbmV3IERh +dGUoRGF0ZS5VVEMoK2FbMV0sK2FbMl0tMSwrYVszXSwrYVs0XSwrYVs1XSxhWzZdJiZwYXJzZUlu +dChhWzZdLnNsaWNlKDEpLDEwKXx8MCxhWzddJiZwYXJzZUludCgoYVs3XSsiMDAwMCIpLnNsaWNl +KDEsNCksMTApfHwwKSk7dmFyIG49bmV3IERhdGUoU3ImJmUuaW5kZXhPZigiVVRDIik9PS0xP2Ur +IiBVVEMiOmUpLGk9bmV3IERhdGUoTmFOKTt2YXIgcz1uLmdldFllYXIoKSxmPW4uZ2V0TW9udGgo +KSxsPW4uZ2V0RGF0ZSgpO2lmKGlzTmFOKGwpKXJldHVybiBpO2lmKHIubWF0Y2goL2phbnxmZWJ8 +bWFyfGFwcnxtYXl8anVufGp1bHxhdWd8c2VwfG9jdHxub3Z8ZGVjLykpe3I9ci5yZXBsYWNlKC9b +XmEtel0vZywiIikucmVwbGFjZSgvKFteYS16XXxeKVthcF1tPyhbXmEtel18JCkvLCIiKTtpZihy +Lmxlbmd0aD4zJiZJci5pbmRleE9mKHIpPT0tMSlyZXR1cm4gaX1lbHNlIGlmKHIucmVwbGFjZSgv +W2FwXW0/LywiIikubWF0Y2goL1thLXpdLykpcmV0dXJuIGk7aWYoczwwfHxzPjgwOTl8fGUubWF0 +Y2goL1teLTAtOTosXC9cXFwgXS8pKXJldHVybiBpO3JldHVybiBufXZhciBOcj1mdW5jdGlvbigp +e3ZhciBlPSJhYmFjYWJhIi5zcGxpdCgvKDo/YikvaSkubGVuZ3RoPT01O3JldHVybiBmdW5jdGlv +biByKHQsYSxuKXtpZihlfHx0eXBlb2YgYT09InN0cmluZyIpcmV0dXJuIHQuc3BsaXQoYSk7dmFy +IGk9dC5zcGxpdChhKSxzPVtpWzBdXTtmb3IodmFyIGY9MTtmPGkubGVuZ3RoOysrZil7cy5wdXNo +KG4pO3MucHVzaChpW2ZdKX1yZXR1cm4gc319KCk7ZnVuY3Rpb24gRnIoZSl7cmV0dXJuIG5ldyBE +YXRlKGUuZ2V0VVRDRnVsbFllYXIoKSxlLmdldFVUQ01vbnRoKCksZS5nZXRVVENEYXRlKCksZS5n +ZXRVVENIb3VycygpLGUuZ2V0VVRDTWludXRlcygpLGUuZ2V0VVRDU2Vjb25kcygpLGUuZ2V0VVRD +TWlsbGlzZWNvbmRzKCkpfWZ1bmN0aW9uIERyKGUpe3JldHVybiBuZXcgRGF0ZShEYXRlLlVUQyhl +LmdldEZ1bGxZZWFyKCksZS5nZXRNb250aCgpLGUuZ2V0RGF0ZSgpLGUuZ2V0SG91cnMoKSxlLmdl +dE1pbnV0ZXMoKSxlLmdldFNlY29uZHMoKSxlLmdldE1pbGxpc2Vjb25kcygpKSl9ZnVuY3Rpb24g +UHIoZSl7dmFyIHI9ZS5zbGljZSgwLDEwMjQpO3ZhciB0PXIuaW5kZXhPZigiPCFET0NUWVBFIik7 +aWYodD09LTEpcmV0dXJuIGU7dmFyIGE9ZS5tYXRjaCgvPFtcd10vKTtpZighYSlyZXR1cm4gZTty +ZXR1cm4gZS5zbGljZSgwLHQpK2Uuc2xpY2UoYS5pbmRleCl9ZnVuY3Rpb24gTHIoZSxyLHQpe3Zh +ciBhPVtdO3ZhciBuPWUuaW5kZXhPZihyKTt3aGlsZShuPi0xKXt2YXIgaT1lLmluZGV4T2YodCxu +K3IubGVuZ3RoKTtpZihpPT0tMSlicmVhazthLnB1c2goZS5zbGljZShuLGkrdC5sZW5ndGgpKTtu +PWUuaW5kZXhPZihyLGkrdC5sZW5ndGgpfXJldHVybiBhLmxlbmd0aD4wP2E6bnVsbH1mdW5jdGlv +biBNcihlLHIsdCl7dmFyIGE9W10sbj0wO3ZhciBpPWUuaW5kZXhPZihyKTtpZihpPT0tMSlyZXR1 +cm4gZTt3aGlsZShpPi0xKXthLnB1c2goZS5zbGljZShuLGkpKTt2YXIgcz1lLmluZGV4T2YodCxp +K3IubGVuZ3RoKTtpZihzPT0tMSlicmVhaztpZigoaT1lLmluZGV4T2YocixuPXMrdC5sZW5ndGgp +KT09LTEpYS5wdXNoKGUuc2xpY2UobikpfXJldHVybiBhLmpvaW4oIiIpfXZhciBVcj17IiAiOjEs +Ilx0IjoxLCJcciI6MSwiXG4iOjEsIj4iOjF9O2Z1bmN0aW9uIEJyKGUscil7dmFyIHQ9ZS5pbmRl +eE9mKCI8IityKSxhPXIubGVuZ3RoKzEsbj1lLmxlbmd0aDt3aGlsZSh0Pj0wJiZ0PD1uLWEmJiFV +cltlLmNoYXJBdCh0K2EpXSl0PWUuaW5kZXhPZigiPCIrcix0KzEpO2lmKHQ9PT0tMSlyZXR1cm4g +bnVsbDt2YXIgaT1lLmluZGV4T2YoIj4iLHQrci5sZW5ndGgpO2lmKGk9PT0tMSlyZXR1cm4gbnVs +bDt2YXIgcz0iPC8iK3IrIj4iO3ZhciBmPWUuaW5kZXhPZihzLGkpO2lmKGY9PS0xKXJldHVybiBu +dWxsO3JldHVybltlLnNsaWNlKHQsZitzLmxlbmd0aCksZS5zbGljZShpKzEsZildfXZhciBXcj1m +dW5jdGlvbigpe3ZhciBlPXt9O3JldHVybiBmdW5jdGlvbiByKHQsYSl7dmFyIG49ZVthXTtpZigh +billW2FdPW49W25ldyBSZWdFeHAoIjwoPzpcXHcrOik/IithKyJcXGJbXjw+XSo+IiwiZyIpLG5l +dyBSZWdFeHAoIjwvKD86XFx3KzopPyIrYSsiPiIsImciKV07blswXS5sYXN0SW5kZXg9blsxXS5s +YXN0SW5kZXg9MDt2YXIgaT1uWzBdLmV4ZWModCk7aWYoIWkpcmV0dXJuIG51bGw7dmFyIHM9aS5p +bmRleDt2YXIgZj1uWzBdLmxhc3RJbmRleDtuWzFdLmxhc3RJbmRleD1uWzBdLmxhc3RJbmRleDtp +PW5bMV0uZXhlYyh0KTtpZighaSlyZXR1cm4gbnVsbDt2YXIgbD1pLmluZGV4O3ZhciBvPW5bMV0u +bGFzdEluZGV4O3JldHVyblt0LnNsaWNlKHMsbyksdC5zbGljZShmLGwpXX19KCk7dmFyIHpyPWZ1 +bmN0aW9uKCl7dmFyIGU9e307cmV0dXJuIGZ1bmN0aW9uIHIodCxhKXt2YXIgbj1bXTt2YXIgaT1l +W2FdO2lmKCFpKWVbYV09aT1bbmV3IFJlZ0V4cCgiPCg/Olxcdys6KT8iK2ErIlxcYltePD5dKj4i +LCJnIiksbmV3IFJlZ0V4cCgiPC8oPzpcXHcrOik/IithKyI+IiwiZyIpXTtpWzBdLmxhc3RJbmRl +eD1pWzFdLmxhc3RJbmRleD0wO3ZhciBzO3doaWxlKHM9aVswXS5leGVjKHQpKXt2YXIgZj1zLmlu +ZGV4O2lbMV0ubGFzdEluZGV4PWlbMF0ubGFzdEluZGV4O3M9aVsxXS5leGVjKHQpO2lmKCFzKXJl +dHVybiBudWxsO3ZhciBsPWlbMV0ubGFzdEluZGV4O24ucHVzaCh0LnNsaWNlKGYsbCkpO2lbMF0u +bGFzdEluZGV4PWlbMV0ubGFzdEluZGV4fXJldHVybiBuLmxlbmd0aD09MD9udWxsOm59fSgpO3Zh +ciBIcj1mdW5jdGlvbigpe3ZhciBlPXt9O3JldHVybiBmdW5jdGlvbiByKHQsYSl7dmFyIG49W107 +dmFyIGk9ZVthXTtpZighaSllW2FdPWk9W25ldyBSZWdFeHAoIjwoPzpcXHcrOik/IithKyJcXGJb +Xjw+XSo+IiwiZyIpLG5ldyBSZWdFeHAoIjwvKD86XFx3KzopPyIrYSsiPiIsImciKV07aVswXS5s +YXN0SW5kZXg9aVsxXS5sYXN0SW5kZXg9MDt2YXIgczt2YXIgZj0wLGw9MDt3aGlsZShzPWlbMF0u +ZXhlYyh0KSl7Zj1zLmluZGV4O24ucHVzaCh0LnNsaWNlKGwsZikpO2w9ZjtpWzFdLmxhc3RJbmRl +eD1pWzBdLmxhc3RJbmRleDtzPWlbMV0uZXhlYyh0KTtpZighcylyZXR1cm4gbnVsbDtsPWlbMV0u +bGFzdEluZGV4O2lbMF0ubGFzdEluZGV4PWlbMV0ubGFzdEluZGV4fW4ucHVzaCh0LnNsaWNlKGwp +KTtyZXR1cm4gbi5sZW5ndGg9PTA/IiI6bi5qb2luKCIiKX19KCk7dmFyIFZyPWZ1bmN0aW9uKCl7 +dmFyIGU9e307cmV0dXJuIGZ1bmN0aW9uIHIodCxhKXt2YXIgbj1bXTt2YXIgaT1lW2FdO2lmKCFp +KWVbYV09aT1bbmV3IFJlZ0V4cCgiPCIrYSsiXFxiW148Pl0qPiIsImlnIiksbmV3IFJlZ0V4cCgi +PC8iK2ErIj4iLCJpZyIpXTtpWzBdLmxhc3RJbmRleD1pWzFdLmxhc3RJbmRleD0wO3ZhciBzO3do +aWxlKHM9aVswXS5leGVjKHQpKXt2YXIgZj1zLmluZGV4O2lbMV0ubGFzdEluZGV4PWlbMF0ubGFz +dEluZGV4O3M9aVsxXS5leGVjKHQpO2lmKCFzKXJldHVybiBudWxsO3ZhciBsPWlbMV0ubGFzdElu +ZGV4O24ucHVzaCh0LnNsaWNlKGYsbCkpO2lbMF0ubGFzdEluZGV4PWlbMV0ubGFzdEluZGV4fXJl +dHVybiBuLmxlbmd0aD09MD9udWxsOm59fSgpO2Z1bmN0aW9uICRyKGUpe2lmKCFlKXJldHVybiBu +dWxsO2lmKGUuY29udGVudCYmZS50eXBlKXJldHVybiBrcihlLmNvbnRlbnQsdHJ1ZSk7aWYoZS5k +YXRhKXJldHVybiB2KGUuZGF0YSk7aWYoZS5hc05vZGVCdWZmZXImJkMpcmV0dXJuIHYoZS5hc05v +ZGVCdWZmZXIoKS50b1N0cmluZygiYmluYXJ5IikpO2lmKGUuYXNCaW5hcnkpcmV0dXJuIHYoZS5h +c0JpbmFyeSgpKTtpZihlLl9kYXRhJiZlLl9kYXRhLmdldENvbnRlbnQpcmV0dXJuIHYoa3IoQXJy +YXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZS5fZGF0YS5nZXRDb250ZW50KCksMCkpKTtyZXR1cm4g +bnVsbH1mdW5jdGlvbiBYcihlKXtpZighZSlyZXR1cm4gbnVsbDtpZihlLmRhdGEpcmV0dXJuIGMo +ZS5kYXRhKTtpZihlLmFzTm9kZUJ1ZmZlciYmQylyZXR1cm4gZS5hc05vZGVCdWZmZXIoKTtpZihl +Ll9kYXRhJiZlLl9kYXRhLmdldENvbnRlbnQpe3ZhciByPWUuX2RhdGEuZ2V0Q29udGVudCgpO2lm +KHR5cGVvZiByPT0ic3RyaW5nIilyZXR1cm4gYyhyKTtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNs +aWNlLmNhbGwocil9aWYoZS5jb250ZW50JiZlLnR5cGUpcmV0dXJuIGUuY29udGVudDtyZXR1cm4g +bnVsbH1mdW5jdGlvbiBHcihlKXtyZXR1cm4gZSYmZS5uYW1lLnNsaWNlKC00KT09PSIuYmluIj9Y +cihlKTokcihlKX1mdW5jdGlvbiBqcihlLHIpe3ZhciB0PWUuRnVsbFBhdGhzfHxpcihlLmZpbGVz +KTt2YXIgYT1yLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvW1wvXS9nLCJcXCIpLG49YS5yZXBsYWNl +KC9cXC9nLCIvIik7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDsrK2kpe3ZhciBzPXRbaV0ucmVwbGFj +ZSgvXlJvb3QgRW50cnlbXC9dLywiIikudG9Mb3dlckNhc2UoKTtpZihhPT1zfHxuPT1zKXJldHVy +biBlLmZpbGVzP2UuZmlsZXNbdFtpXV06ZS5GaWxlSW5kZXhbaV19cmV0dXJuIG51bGx9ZnVuY3Rp +b24gS3IoZSxyKXt2YXIgdD1qcihlLHIpO2lmKHQ9PW51bGwpdGhyb3cgbmV3IEVycm9yKCJDYW5u +b3QgZmluZCBmaWxlICIrcisiIGluIHppcCIpO3JldHVybiB0fWZ1bmN0aW9uIFlyKGUscix0KXtp +ZighdClyZXR1cm4gR3IoS3IoZSxyKSk7aWYoIXIpcmV0dXJuIG51bGw7dHJ5e3JldHVybiBZcihl +LHIpfWNhdGNoKGEpe3JldHVybiBudWxsfX1mdW5jdGlvbiBacihlLHIsdCl7aWYoIXQpcmV0dXJu +ICRyKEtyKGUscikpO2lmKCFyKXJldHVybiBudWxsO3RyeXtyZXR1cm4gWnIoZSxyKX1jYXRjaChh +KXtyZXR1cm4gbnVsbH19ZnVuY3Rpb24gSnIoZSxyLHQpe2lmKCF0KXJldHVybiBYcihLcihlLHIp +KTtpZighcilyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIEpyKGUscil9Y2F0Y2goYSl7cmV0dXJuIG51 +bGx9fWZ1bmN0aW9uIHFyKGUpe3ZhciByPWUuRnVsbFBhdGhzfHxpcihlLmZpbGVzKSx0PVtdO2Zv +cih2YXIgYT0wO2E8ci5sZW5ndGg7KythKWlmKHJbYV0uc2xpY2UoLTEpIT0iLyIpdC5wdXNoKHJb +YV0ucmVwbGFjZSgvXlJvb3QgRW50cnlbXC9dLywiIikpO3JldHVybiB0LnNvcnQoKX1mdW5jdGlv +biBRcihlLHIsdCl7aWYoZS5GdWxsUGF0aHMpe2lmKEFycmF5LmlzQXJyYXkodCkmJnR5cGVvZiB0 +WzBdPT0ic3RyaW5nIil7dD10LmpvaW4oIiIpfWlmKHR5cGVvZiB0PT0ic3RyaW5nIil7dmFyIGE7 +aWYoQylhPV8odCk7ZWxzZSBhPUwodCk7cmV0dXJuIFFlLnV0aWxzLmNmYl9hZGQoZSxyLGEpfVFl +LnV0aWxzLmNmYl9hZGQoZSxyLHQpfWVsc2UgZS5maWxlKHIsdCl9ZnVuY3Rpb24gZXQoKXtyZXR1 +cm4gUWUudXRpbHMuY2ZiX25ldygpfWZ1bmN0aW9uIHJ0KGUscil7c3dpdGNoKHIudHlwZSl7Y2Fz +ZSJiYXNlNjQiOnJldHVybiBRZS5yZWFkKGUse3R5cGU6ImJhc2U2NCJ9KTtjYXNlImJpbmFyeSI6 +cmV0dXJuIFFlLnJlYWQoZSx7dHlwZToiYmluYXJ5In0pO2Nhc2UiYnVmZmVyIjo7Y2FzZSJhcnJh +eSI6cmV0dXJuIFFlLnJlYWQoZSx7dHlwZToiYnVmZmVyIn0pO310aHJvdyBuZXcgRXJyb3IoIlVu +cmVjb2duaXplZCB0eXBlICIrci50eXBlKX1mdW5jdGlvbiB0dChlLHIpe2lmKGUuY2hhckF0KDAp +PT0iLyIpcmV0dXJuIGUuc2xpY2UoMSk7dmFyIHQ9ci5zcGxpdCgiLyIpO2lmKHIuc2xpY2UoLTEp +IT0iLyIpdC5wb3AoKTt2YXIgYT1lLnNwbGl0KCIvIik7d2hpbGUoYS5sZW5ndGghPT0wKXt2YXIg +bj1hLnNoaWZ0KCk7aWYobj09PSIuLiIpdC5wb3AoKTtlbHNlIGlmKG4hPT0iLiIpdC5wdXNoKG4p +fXJldHVybiB0LmpvaW4oIi8iKX12YXIgYXQ9Jzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9 +IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz5cclxuJzt2YXIgbnQ9L1xzKFteIlxzPz5cL10rKVxz +Kj1ccyooKD86IikoW14iXSopKD86Iil8KD86JykoW14nXSopKD86Jyl8KFteJyI+XHNdKykpL2c7 +dmFyIGl0PS88W1wvXD9dP1thLXpBLVowLTk6Xy1dKyg/OlxzK1teIlxzPzw+XC9dK1xzKj1ccyoo +PzoiW14iXSoifCdbXiddKid8W14nIjw+XHM9XSspKSpccypbXC9cP10/Pi9nbSxzdD0vPFtePD5d +Kj4vZzt2YXIgZnQ9YXQubWF0Y2goaXQpP2l0OnN0O3ZhciBsdD0vPFx3KjovLG90PS88KFwvPylc +dys6LztmdW5jdGlvbiBjdChlLHIsdCl7dmFyIGE9e307dmFyIG49MCxpPTA7Zm9yKDtuIT09ZS5s +ZW5ndGg7KytuKWlmKChpPWUuY2hhckNvZGVBdChuKSk9PT0zMnx8aT09PTEwfHxpPT09MTMpYnJl +YWs7aWYoIXIpYVswXT1lLnNsaWNlKDAsbik7aWYobj09PWUubGVuZ3RoKXJldHVybiBhO3ZhciBz +PWUubWF0Y2gobnQpLGY9MCxsPSIiLG89MCxjPSIiLGg9IiIsdT0xO2lmKHMpZm9yKG89MDtvIT1z +Lmxlbmd0aDsrK28pe2g9c1tvXS5zbGljZSgxKTtmb3IoaT0wO2khPWgubGVuZ3RoOysraSlpZiho +LmNoYXJDb2RlQXQoaSk9PT02MSlicmVhaztjPWguc2xpY2UoMCxpKS50cmltKCk7d2hpbGUoaC5j +aGFyQ29kZUF0KGkrMSk9PTMyKSsraTt1PShuPWguY2hhckNvZGVBdChpKzEpKT09MzR8fG49PTM5 +PzE6MDtsPWguc2xpY2UoaSsxK3UsaC5sZW5ndGgtdSk7Zm9yKGY9MDtmIT1jLmxlbmd0aDsrK2Yp +aWYoYy5jaGFyQ29kZUF0KGYpPT09NTgpYnJlYWs7aWYoZj09PWMubGVuZ3RoKXtpZihjLmluZGV4 +T2YoIl8iKT4wKWM9Yy5zbGljZSgwLGMuaW5kZXhPZigiXyIpKTthW2NdPWw7aWYoIXQpYVtjLnRv +TG93ZXJDYXNlKCldPWx9ZWxzZXt2YXIgZD0oZj09PTUmJmMuc2xpY2UoMCw1KT09PSJ4bWxucyI/ +InhtbG5zIjoiIikrYy5zbGljZShmKzEpO2lmKGFbZF0mJmMuc2xpY2UoZi0zLGYpPT0iZXh0Iilj +b250aW51ZTthW2RdPWw7aWYoIXQpYVtkLnRvTG93ZXJDYXNlKCldPWx9fXJldHVybiBhfWZ1bmN0 +aW9uIGh0KGUscix0KXt2YXIgYT17fTt2YXIgbj0wLGk9MDtmb3IoO24hPT1lLmxlbmd0aDsrK24p +aWYoKGk9ZS5jaGFyQ29kZUF0KG4pKT09PTMyfHxpPT09MTB8fGk9PT0xMylicmVhaztpZighcilh +WzBdPWUuc2xpY2UoMCxuKTtpZihuPT09ZS5sZW5ndGgpcmV0dXJuIGE7dmFyIHM9ZS5tYXRjaChu +dCksZj0wLGw9IiIsbz0wLGM9IiIsaD0iIix1PTE7aWYocylmb3Iobz0wO28hPXMubGVuZ3RoOysr +byl7aD1zW29dLnNsaWNlKDEpO2ZvcihpPTA7aSE9aC5sZW5ndGg7KytpKWlmKGguY2hhckNvZGVB +dChpKT09PTYxKWJyZWFrO2M9aC5zbGljZSgwLGkpLnRyaW0oKTt3aGlsZShoLmNoYXJDb2RlQXQo +aSsxKT09MzIpKytpO3U9KG49aC5jaGFyQ29kZUF0KGkrMSkpPT0zNHx8bj09Mzk/MTowO2w9aC5z +bGljZShpKzErdSxoLmxlbmd0aC11KTtpZihjLmluZGV4T2YoIl8iKT4wKWM9Yy5zbGljZSgwLGMu +aW5kZXhPZigiXyIpKTthW2NdPWw7aWYoIXQpYVtjLnRvTG93ZXJDYXNlKCldPWx9cmV0dXJuIGF9 +ZnVuY3Rpb24gdXQoZSl7cmV0dXJuIGUucmVwbGFjZShvdCwiPCQxIil9dmFyIGR0PXsiJnF1b3Q7 +IjonIicsIiZhcG9zOyI6IiciLCImZ3Q7IjoiPiIsIiZsdDsiOiI8IiwiJmFtcDsiOiImIn07dmFy +IHZ0PWZyKGR0KTt2YXIgcHQ9ZnVuY3Rpb24oKXt2YXIgZT0vJig/OnF1b3R8YXBvc3xndHxsdHxh +bXB8I3g/KFtcZGEtZkEtRl0rKSk7L2dpLHI9L194KFtcZGEtZkEtRl17NH0pXy9naTtmdW5jdGlv +biB0KGEpe3ZhciBuPWErIiIsaT1uLmluZGV4T2YoIjwhW0NEQVRBWyIpO2lmKGk9PS0xKXJldHVy +biBuLnJlcGxhY2UoZSxmdW5jdGlvbihlLHIpe3JldHVybiBkdFtlXXx8U3RyaW5nLmZyb21DaGFy +Q29kZShwYXJzZUludChyLGUuaW5kZXhPZigieCIpPi0xPzE2OjEwKSl8fGV9KS5yZXBsYWNlKHIs +ZnVuY3Rpb24oZSxyKXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUludChyLDE2KSl9 +KTt2YXIgcz1uLmluZGV4T2YoIl1dPiIpO3JldHVybiB0KG4uc2xpY2UoMCxpKSkrbi5zbGljZShp +KzkscykrdChuLnNsaWNlKHMrMykpfXJldHVybiBmdW5jdGlvbiBhKGUscil7dmFyIGE9dChlKTty +ZXR1cm4gcj9hLnJlcGxhY2UoL1xyXG4vZywiXG4iKTphfX0oKTt2YXIgbXQ9L1smPD4nIl0vZyxn +dD0vW1x1MDAwMC1cdTAwMDhcdTAwMGItXHUwMDFmXHVGRkZFLVx1RkZGRl0vZztmdW5jdGlvbiBi +dChlKXt2YXIgcj1lKyIiO3JldHVybiByLnJlcGxhY2UobXQsZnVuY3Rpb24oZSl7cmV0dXJuIHZ0 +W2VdfSkucmVwbGFjZShndCxmdW5jdGlvbihlKXtyZXR1cm4iX3giKygiMDAwIitlLmNoYXJDb2Rl +QXQoMCkudG9TdHJpbmcoMTYpKS5zbGljZSgtNCkrIl8ifSl9ZnVuY3Rpb24gd3QoZSl7cmV0dXJu +IGJ0KGUpLnJlcGxhY2UoLyAvZywiX3gwMDIwXyIpfXZhciBrdD0vW1x1MDAwMC1cdTAwMWZdL2c7 +ZnVuY3Rpb24gQXQoZSl7dmFyIHI9ZSsiIjtyZXR1cm4gci5yZXBsYWNlKG10LGZ1bmN0aW9uKGUp +e3JldHVybiB2dFtlXX0pLnJlcGxhY2UoL1xuL2csIjxici8+IikucmVwbGFjZShrdCxmdW5jdGlv +bihlKXtyZXR1cm4iJiN4IisoIjAwMCIrZS5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KSkuc2xp +Y2UoLTQpKyI7In0pfWZ1bmN0aW9uIFR0KGUpe3ZhciByPWUrIiI7cmV0dXJuIHIucmVwbGFjZSht +dCxmdW5jdGlvbihlKXtyZXR1cm4gdnRbZV19KS5yZXBsYWNlKGt0LGZ1bmN0aW9uKGUpe3JldHVy +biImI3giK2UuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKSsiOyJ9KX12 +YXIgeXQ9ZnVuY3Rpb24oKXt2YXIgZT0vJiMoXGQrKTsvZztmdW5jdGlvbiByKGUscil7cmV0dXJu +IFN0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQociwxMCkpfXJldHVybiBmdW5jdGlvbiB0KGEp +e3JldHVybiBhLnJlcGxhY2UoZSxyKX19KCk7ZnVuY3Rpb24gRXQoZSl7cmV0dXJuIGUucmVwbGFj +ZSgvKFxyXG58W1xyXG5dKS9nLCImIzEwOyIpfWZ1bmN0aW9uIEN0KGUpe3N3aXRjaChlKXtjYXNl +IDE6O2Nhc2UgdHJ1ZTo7Y2FzZSIxIjo7Y2FzZSJ0cnVlIjpyZXR1cm4gdHJ1ZTtjYXNlIDA6O2Nh +c2UgZmFsc2U6O2Nhc2UiMCI6O2Nhc2UiZmFsc2UiOnJldHVybiBmYWxzZTt9cmV0dXJuIGZhbHNl +fWZ1bmN0aW9uIF90KGUpe3ZhciByPSIiLHQ9MCxhPTAsbj0wLGk9MCxzPTAsZj0wO3doaWxlKHQ8 +ZS5sZW5ndGgpe2E9ZS5jaGFyQ29kZUF0KHQrKyk7aWYoYTwxMjgpe3IrPVN0cmluZy5mcm9tQ2hh +ckNvZGUoYSk7Y29udGludWV9bj1lLmNoYXJDb2RlQXQodCsrKTtpZihhPjE5MSYmYTwyMjQpe3M9 +KGEmMzEpPDw2O3N8PW4mNjM7cis9U3RyaW5nLmZyb21DaGFyQ29kZShzKTtjb250aW51ZX1pPWUu +Y2hhckNvZGVBdCh0KyspO2lmKGE8MjQwKXtyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKChhJjE1KTw8 +MTJ8KG4mNjMpPDw2fGkmNjMpO2NvbnRpbnVlfXM9ZS5jaGFyQ29kZUF0KHQrKyk7Zj0oKGEmNyk8 +PDE4fChuJjYzKTw8MTJ8KGkmNjMpPDw2fHMmNjMpLTY1NTM2O3IrPVN0cmluZy5mcm9tQ2hhckNv +ZGUoNTUyOTYrKGY+Pj4xMCYxMDIzKSk7cis9U3RyaW5nLmZyb21DaGFyQ29kZSg1NjMyMCsoZiYx +MDIzKSl9cmV0dXJuIHJ9ZnVuY3Rpb24gU3QoZSl7dmFyIHI9eCgyKmUubGVuZ3RoKSx0LGEsbj0x +LGk9MCxzPTAsZjtmb3IoYT0wO2E8ZS5sZW5ndGg7YSs9bil7bj0xO2lmKChmPWUuY2hhckNvZGVB +dChhKSk8MTI4KXQ9ZjtlbHNlIGlmKGY8MjI0KXt0PShmJjMxKSo2NCsoZS5jaGFyQ29kZUF0KGEr +MSkmNjMpO249Mn1lbHNlIGlmKGY8MjQwKXt0PShmJjE1KSo0MDk2KyhlLmNoYXJDb2RlQXQoYSsx +KSY2MykqNjQrKGUuY2hhckNvZGVBdChhKzIpJjYzKTtuPTN9ZWxzZXtuPTQ7dD0oZiY3KSoyNjIx +NDQrKGUuY2hhckNvZGVBdChhKzEpJjYzKSo0MDk2KyhlLmNoYXJDb2RlQXQoYSsyKSY2MykqNjQr +KGUuY2hhckNvZGVBdChhKzMpJjYzKTt0LT02NTUzNjtzPTU1Mjk2Kyh0Pj4+MTAmMTAyMyk7dD01 +NjMyMCsodCYxMDIzKX1pZihzIT09MCl7cltpKytdPXMmMjU1O3JbaSsrXT1zPj4+ODtzPTB9cltp +KytdPXQlMjU2O3JbaSsrXT10Pj4+OH1yZXR1cm4gci5zbGljZSgwLGkpLnRvU3RyaW5nKCJ1Y3My +Iil9ZnVuY3Rpb24geHQoZSl7cmV0dXJuIF8oZSwiYmluYXJ5IikudG9TdHJpbmcoInV0ZjgiKX12 +YXIgT3Q9ImZvbyBiYXIgYmF6w6LCmMKDw7DCn8KNwqMiO3ZhciBJdD1DJiYoeHQoT3QpPT1fdChP +dCkmJnh0fHxTdChPdCk9PV90KE90KSYmU3QpfHxfdDt2YXIgUnQ9Qz9mdW5jdGlvbihlKXtyZXR1 +cm4gXyhlLCJ1dGY4IikudG9TdHJpbmcoImJpbmFyeSIpfTpmdW5jdGlvbihlKXt2YXIgcj1bXSx0 +PTAsYT0wLG49MDt3aGlsZSh0PGUubGVuZ3RoKXthPWUuY2hhckNvZGVBdCh0KyspO3N3aXRjaCh0 +cnVlKXtjYXNlIGE8MTI4OnIucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGEpKTticmVhaztjYXNl +IGE8MjA0ODpyLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZSgxOTIrKGE+PjYpKSk7ci5wdXNoKFN0 +cmluZy5mcm9tQ2hhckNvZGUoMTI4KyhhJjYzKSkpO2JyZWFrO2Nhc2UgYT49NTUyOTYmJmE8NTcz +NDQ6YS09NTUyOTY7bj1lLmNoYXJDb2RlQXQodCsrKS01NjMyMCsoYTw8MTApO3IucHVzaChTdHJp +bmcuZnJvbUNoYXJDb2RlKDI0MCsobj4+MTgmNykpKTtyLnB1c2goU3RyaW5nLmZyb21DaGFyQ29k +ZSgxNDQrKG4+PjEyJjYzKSkpO3IucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKDEyOCsobj4+NiY2 +MykpKTtyLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZSgxMjgrKG4mNjMpKSk7YnJlYWs7ZGVmYXVs +dDpyLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZSgyMjQrKGE+PjEyKSkpO3IucHVzaChTdHJpbmcu +ZnJvbUNoYXJDb2RlKDEyOCsoYT4+NiY2MykpKTtyLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZSgx +MjgrKGEmNjMpKSk7fX1yZXR1cm4gci5qb2luKCIiKX07dmFyIE50PWZ1bmN0aW9uKCl7dmFyIGU9 +W1sibmJzcCIsIiAiXSxbIm1pZGRvdCIsIsK3Il0sWyJxdW90IiwnIiddLFsiYXBvcyIsIiciXSxb +Imd0IiwiPiJdLFsibHQiLCI8Il0sWyJhbXAiLCImIl1dLm1hcChmdW5jdGlvbihlKXtyZXR1cm5b +bmV3IFJlZ0V4cCgiJiIrZVswXSsiOyIsImlnIiksZVsxXV19KTtyZXR1cm4gZnVuY3Rpb24gcih0 +KXt2YXIgYT10LnJlcGxhY2UoL15bXHRcblxyIF0rLywiIikucmVwbGFjZSgvKF58W15cdFxuXHIg +XSlbXHRcblxyIF0rJC8sIiQxIikucmVwbGFjZSgvPlxzKy9nLCI+IikucmVwbGFjZSgvXGJccys8 +L2csIjwiKS5yZXBsYWNlKC9bXHRcblxyIF0rL2csIiAiKS5yZXBsYWNlKC88XHMqW2JCXVtyUl1c +cypcLz8+L2csIlxuIikucmVwbGFjZSgvPFtePD5dKj4vZywiIik7Zm9yKHZhciBuPTA7bjxlLmxl +bmd0aDsrK24pYT1hLnJlcGxhY2UoZVtuXVswXSxlW25dWzFdKTtyZXR1cm4gYX19KCk7dmFyIEZ0 +PS88XC8/KD86dnQ6KT92YXJpYW50Pi9nLER0PS88KD86dnQ6KShbXjwiJz5dKik+KFtcc1xTXSop +PC87ZnVuY3Rpb24gUHQoZSxyKXt2YXIgdD1jdChlKTt2YXIgYT16cihlLHQuYmFzZVR5cGUpfHxb +XTt2YXIgbj1bXTtpZihhLmxlbmd0aCE9dC5zaXplKXtpZihyLldURil0aHJvdyBuZXcgRXJyb3Io +InVuZXhwZWN0ZWQgdmVjdG9yIGxlbmd0aCAiK2EubGVuZ3RoKyIgIT0gIit0LnNpemUpO3JldHVy +biBufWEuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgcj1lLnJlcGxhY2UoRnQsIiIpLm1hdGNoKER0 +KTtpZihyKW4ucHVzaCh7djpJdChyWzJdKSx0OnJbMV19KX0pO3JldHVybiBufXZhciBMdD0vKF5c +c3xccyR8XG4pLztmdW5jdGlvbiBNdChlLHIpe3JldHVybiI8IitlKyhyLm1hdGNoKEx0KT8nIHht +bDpzcGFjZT0icHJlc2VydmUiJzoiIikrIj4iK3IrIjwvIitlKyI+In1mdW5jdGlvbiBVdChlKXty +ZXR1cm4gaXIoZSkubWFwKGZ1bmN0aW9uKHIpe3JldHVybiIgIityKyc9IicrZVtyXSsnIid9KS5q +b2luKCIiKX1mdW5jdGlvbiBCdChlLHIsdCl7cmV0dXJuIjwiK2UrKHQhPW51bGw/VXQodCk6IiIp +KyhyIT1udWxsPyhyLm1hdGNoKEx0KT8nIHhtbDpzcGFjZT0icHJlc2VydmUiJzoiIikrIj4iK3Ir +IjwvIitlOiIvIikrIj4ifWZ1bmN0aW9uIFd0KGUscil7dHJ5e3JldHVybiBlLnRvSVNPU3RyaW5n +KCkucmVwbGFjZSgvXC5cZCovLCIiKX1jYXRjaCh0KXtpZihyKXRocm93IHR9cmV0dXJuIiJ9ZnVu +Y3Rpb24genQoZSxyKXtzd2l0Y2godHlwZW9mIGUpe2Nhc2Uic3RyaW5nIjp2YXIgdD1CdCgidnQ6 +bHB3c3RyIixidChlKSk7aWYocil0PXQucmVwbGFjZSgvJnF1b3Q7L2csIl94MDAyMl8iKTtyZXR1 +cm4gdDtjYXNlIm51bWJlciI6cmV0dXJuIEJ0KChlfDApPT1lPyJ2dDppNCI6InZ0OnI4IixidChT +dHJpbmcoZSkpKTtjYXNlImJvb2xlYW4iOnJldHVybiBCdCgidnQ6Ym9vbCIsZT8idHJ1ZSI6ImZh +bHNlIik7fWlmKGUgaW5zdGFuY2VvZiBEYXRlKXJldHVybiBCdCgidnQ6ZmlsZXRpbWUiLFd0KGUp +KTt0aHJvdyBuZXcgRXJyb3IoIlVuYWJsZSB0byBzZXJpYWxpemUgIitlKX1mdW5jdGlvbiBIdChl +KXtpZihDJiZCdWZmZXIuaXNCdWZmZXIoZSkpcmV0dXJuIGUudG9TdHJpbmcoInV0ZjgiKTtpZih0 +eXBlb2YgZT09PSJzdHJpbmciKXJldHVybiBlO2lmKHR5cGVvZiBVaW50OEFycmF5IT09InVuZGVm +aW5lZCImJmUgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiBJdChOKEQoZSkpKTt0aHJvdyBu +ZXcgRXJyb3IoIkJhZCBpbnB1dCBmb3JtYXQ6IGV4cGVjdGVkIEJ1ZmZlciBvciBzdHJpbmciKX12 +YXIgVnQ9LzwoW1wvXT8pKFteXHM/PjwhXC86Il0qOnwpKFteXHM/PD46XC8iXSspKD86XHMrW148 +Pj0/Iidcc10rPSJbXiJdKj8iKSpccypbXC9dPz4vZ207dmFyICR0PXtDT1JFX1BST1BTOiJodHRw +Oi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L21ldGFkYXRhL2NvcmUt +cHJvcGVydGllcyIsQ1VTVF9QUk9QUzoiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3Jn +L29mZmljZURvY3VtZW50LzIwMDYvY3VzdG9tLXByb3BlcnRpZXMiLEVYVF9QUk9QUzoiaHR0cDov +L3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvZXh0ZW5kZWQt +cHJvcGVydGllcyIsQ1Q6Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9wYWNrYWdl +LzIwMDYvY29udGVudC10eXBlcyIsUkVMUzoiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMu +b3JnL3BhY2thZ2UvMjAwNi9yZWxhdGlvbnNoaXBzIixUQ01OVDoiaHR0cDovL3NjaGVtYXMubWlj +cm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDE4L3RocmVhZGVkY29tbWVudHMiLGRj +OiJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIsZGN0ZXJtczoiaHR0cDovL3B1cmwu +b3JnL2RjL3Rlcm1zLyIsZGNtaXR5cGU6Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS8iLG14 +OiJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9tYWMvZXhjZWwvMjAwOC9tYWlu +IixyOiJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAw +Ni9yZWxhdGlvbnNoaXBzIixzanM6Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9w +YWNrYWdlLzIwMDYvc2hlZXRqcy9jb3JlLXByb3BlcnRpZXMiLHZ0OiJodHRwOi8vc2NoZW1hcy5v +cGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9kb2NQcm9wc1ZUeXBlcyIseHNp +OiJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIseHNkOiJodHRwOi8v +d3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSJ9O3ZhciBYdD1bImh0dHA6Ly9zY2hlbWFzLm9wZW54 +bWxmb3JtYXRzLm9yZy9zcHJlYWRzaGVldG1sLzIwMDYvbWFpbiIsImh0dHA6Ly9wdXJsLm9jbGMu +b3JnL29veG1sL3NwcmVhZHNoZWV0bWwvbWFpbiIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j +b20vb2ZmaWNlL2V4Y2VsLzIwMDYvbWFpbiIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20v +b2ZmaWNlL2V4Y2VsLzIwMDYvMiJdO3ZhciBHdD17bzoidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNv +bTpvZmZpY2U6b2ZmaWNlIix4OiJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpleGNl +bCIsc3M6InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOnNwcmVhZHNoZWV0IixkdDoi +dXVpZDpDMkY0MTAxMC02NUIzLTExZDEtQTI5Ri0wMEFBMDBDMTQ4ODIiLG12OiJodHRwOi8vbWFj +Vm1sU2NoZW1hVXJpIix2OiJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOnZtbCIsaHRtbDoiaHR0 +cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCJ9O2Z1bmN0aW9uIGp0KGUscil7dmFyIHQ9MS0y +KihlW3IrN10+Pj43KTt2YXIgYT0oKGVbcis3XSYxMjcpPDw0KSsoZVtyKzZdPj4+NCYxNSk7dmFy +IG49ZVtyKzZdJjE1O2Zvcih2YXIgaT01O2k+PTA7LS1pKW49bioyNTYrZVtyK2ldO2lmKGE9PTIw +NDcpcmV0dXJuIG49PTA/dCpJbmZpbml0eTpOYU47aWYoYT09MClhPS0xMDIyO2Vsc2V7YS09MTAy +MztuKz1NYXRoLnBvdygyLDUyKX1yZXR1cm4gdCpNYXRoLnBvdygyLGEtNTIpKm59ZnVuY3Rpb24g +S3QoZSxyLHQpe3ZhciBhPShyPDB8fDEvcj09LUluZmluaXR5PzE6MCk8PDcsbj0wLGk9MDt2YXIg +cz1hPy1yOnI7aWYoIWlzRmluaXRlKHMpKXtuPTIwNDc7aT1pc05hTihyKT8yNjk4NTowfWVsc2Ug +aWYocz09MCluPWk9MDtlbHNle249TWF0aC5mbG9vcihNYXRoLmxvZyhzKS9NYXRoLkxOMik7aT1z +Kk1hdGgucG93KDIsNTItbik7aWYobjw9LTEwMjMmJighaXNGaW5pdGUoaSl8fGk8TWF0aC5wb3co +Miw1MikpKXtuPS0xMDIyfWVsc2V7aS09TWF0aC5wb3coMiw1Mik7bis9MTAyM319Zm9yKHZhciBm +PTA7Zjw9NTsrK2YsaS89MjU2KWVbdCtmXT1pJjI1NTtlW3QrNl09KG4mMTUpPDw0fGkmMTU7ZVt0 +KzddPW4+PjR8YX12YXIgWXQ9ZnVuY3Rpb24oZSl7dmFyIHI9W10sdD0xMDI0MDtmb3IodmFyIGE9 +MDthPGVbMF0ubGVuZ3RoOysrYSlpZihlWzBdW2FdKWZvcih2YXIgbj0wLGk9ZVswXVthXS5sZW5n +dGg7bjxpO24rPXQpci5wdXNoLmFwcGx5KHIsZVswXVthXS5zbGljZShuLG4rdCkpO3JldHVybiBy +fTt2YXIgWnQ9Qz9mdW5jdGlvbihlKXtyZXR1cm4gZVswXS5sZW5ndGg+MCYmQnVmZmVyLmlzQnVm +ZmVyKGVbMF1bMF0pP0J1ZmZlci5jb25jYXQoZVswXS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIEJ1 +ZmZlci5pc0J1ZmZlcihlKT9lOl8oZSl9KSk6WXQoZSl9Oll0O3ZhciBKdD1mdW5jdGlvbihlLHIs +dCl7dmFyIGE9W107Zm9yKHZhciBuPXI7bjx0O24rPTIpYS5wdXNoKFN0cmluZy5mcm9tQ2hhckNv +ZGUoYmEoZSxuKSkpO3JldHVybiBhLmpvaW4oIiIpLnJlcGxhY2UoTSwiIil9O3ZhciBxdD1DP2Z1 +bmN0aW9uKGUscix0KXtpZighQnVmZmVyLmlzQnVmZmVyKGUpfHwhUylyZXR1cm4gSnQoZSxyLHQp +O3JldHVybiBlLnRvU3RyaW5nKCJ1dGYxNmxlIixyLHQpLnJlcGxhY2UoTSwiIil9Okp0O3ZhciBR +dD1mdW5jdGlvbihlLHIsdCl7dmFyIGE9W107Zm9yKHZhciBuPXI7bjxyK3Q7KytuKWEucHVzaCgo +IjAiK2Vbbl0udG9TdHJpbmcoMTYpKS5zbGljZSgtMikpO3JldHVybiBhLmpvaW4oIiIpfTt2YXIg +ZWE9Qz9mdW5jdGlvbihlLHIsdCl7cmV0dXJuIEJ1ZmZlci5pc0J1ZmZlcihlKT9lLnRvU3RyaW5n +KCJoZXgiLHIscit0KTpRdChlLHIsdCl9OlF0O3ZhciByYT1mdW5jdGlvbihlLHIsdCl7dmFyIGE9 +W107Zm9yKHZhciBuPXI7bjx0O24rKylhLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShnYShlLG4p +KSk7cmV0dXJuIGEuam9pbigiIil9O3ZhciB0YT1DP2Z1bmN0aW9uIHVBKGUscix0KXtyZXR1cm4g +QnVmZmVyLmlzQnVmZmVyKGUpP2UudG9TdHJpbmcoInV0ZjgiLHIsdCk6cmEoZSxyLHQpfTpyYTt2 +YXIgYWE9ZnVuY3Rpb24oZSxyKXt2YXIgdD1rYShlLHIpO3JldHVybiB0PjA/dGEoZSxyKzQscis0 +K3QtMSk6IiJ9O3ZhciBuYT1hYTt2YXIgaWE9ZnVuY3Rpb24oZSxyKXt2YXIgdD1rYShlLHIpO3Jl +dHVybiB0PjA/dGEoZSxyKzQscis0K3QtMSk6IiJ9O3ZhciBzYT1pYTt2YXIgZmE9ZnVuY3Rpb24o +ZSxyKXt2YXIgdD0yKmthKGUscik7cmV0dXJuIHQ+MD90YShlLHIrNCxyKzQrdC0xKToiIn07dmFy +IGxhPWZhO3ZhciBvYT1mdW5jdGlvbiBkQShlLHIpe3ZhciB0PWthKGUscik7cmV0dXJuIHQ+MD9x +dChlLHIrNCxyKzQrdCk6IiJ9O3ZhciBjYT1vYTt2YXIgaGE9ZnVuY3Rpb24oZSxyKXsKdmFyIHQ9 +a2EoZSxyKTtyZXR1cm4gdD4wP3RhKGUscis0LHIrNCt0KToiIn07dmFyIHVhPWhhO3ZhciBkYT1m +dW5jdGlvbihlLHIpe3JldHVybiBqdChlLHIpfTt2YXIgdmE9ZGE7dmFyIHBhPWZ1bmN0aW9uIHZB +KGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpfHx0eXBlb2YgVWludDhBcnJheSE9PSJ1bmRlZmlu +ZWQiJiZlIGluc3RhbmNlb2YgVWludDhBcnJheX07aWYoQyl7bmE9ZnVuY3Rpb24gcEEoZSxyKXtp +ZighQnVmZmVyLmlzQnVmZmVyKGUpKXJldHVybiBhYShlLHIpO3ZhciB0PWUucmVhZFVJbnQzMkxF +KHIpO3JldHVybiB0PjA/ZS50b1N0cmluZygidXRmOCIscis0LHIrNCt0LTEpOiIifTtzYT1mdW5j +dGlvbiBtQShlLHIpe2lmKCFCdWZmZXIuaXNCdWZmZXIoZSkpcmV0dXJuIGlhKGUscik7dmFyIHQ9 +ZS5yZWFkVUludDMyTEUocik7cmV0dXJuIHQ+MD9lLnRvU3RyaW5nKCJ1dGY4IixyKzQscis0K3Qt +MSk6IiJ9O2xhPWZ1bmN0aW9uIGdBKGUscil7aWYoIUJ1ZmZlci5pc0J1ZmZlcihlKXx8IVMpcmV0 +dXJuIGZhKGUscik7dmFyIHQ9MiplLnJlYWRVSW50MzJMRShyKTtyZXR1cm4gZS50b1N0cmluZygi +dXRmMTZsZSIscis0LHIrNCt0LTEpfTtjYT1mdW5jdGlvbiBiQShlLHIpe2lmKCFCdWZmZXIuaXNC +dWZmZXIoZSl8fCFTKXJldHVybiBvYShlLHIpO3ZhciB0PWUucmVhZFVJbnQzMkxFKHIpO3JldHVy +biBlLnRvU3RyaW5nKCJ1dGYxNmxlIixyKzQscis0K3QpfTt1YT1mdW5jdGlvbiB3QShlLHIpe2lm +KCFCdWZmZXIuaXNCdWZmZXIoZSkpcmV0dXJuIGhhKGUscik7dmFyIHQ9ZS5yZWFkVUludDMyTEUo +cik7cmV0dXJuIGUudG9TdHJpbmcoInV0ZjgiLHIrNCxyKzQrdCl9O3ZhPWZ1bmN0aW9uIGtBKGUs +cil7aWYoQnVmZmVyLmlzQnVmZmVyKGUpKXJldHVybiBlLnJlYWREb3VibGVMRShyKTtyZXR1cm4g +ZGEoZSxyKX07cGE9ZnVuY3Rpb24gQUEoZSl7cmV0dXJuIEJ1ZmZlci5pc0J1ZmZlcihlKXx8QXJy +YXkuaXNBcnJheShlKXx8dHlwZW9mIFVpbnQ4QXJyYXkhPT0idW5kZWZpbmVkIiYmZSBpbnN0YW5j +ZW9mIFVpbnQ4QXJyYXl9fWZ1bmN0aW9uIG1hKCl7cXQ9ZnVuY3Rpb24oZSxyLHQpe3JldHVybiBh +LnV0aWxzLmRlY29kZSgxMjAwLGUuc2xpY2Uocix0KSkucmVwbGFjZShNLCIiKX07dGE9ZnVuY3Rp +b24oZSxyLHQpe3JldHVybiBhLnV0aWxzLmRlY29kZSg2NTAwMSxlLnNsaWNlKHIsdCkpfTtuYT1m +dW5jdGlvbihlLHIpe3ZhciBuPWthKGUscik7cmV0dXJuIG4+MD9hLnV0aWxzLmRlY29kZSh0LGUu +c2xpY2Uocis0LHIrNCtuLTEpKToiIn07c2E9ZnVuY3Rpb24oZSx0KXt2YXIgbj1rYShlLHQpO3Jl +dHVybiBuPjA/YS51dGlscy5kZWNvZGUocixlLnNsaWNlKHQrNCx0KzQrbi0xKSk6IiJ9O2xhPWZ1 +bmN0aW9uKGUscil7dmFyIHQ9MiprYShlLHIpO3JldHVybiB0PjA/YS51dGlscy5kZWNvZGUoMTIw +MCxlLnNsaWNlKHIrNCxyKzQrdC0xKSk6IiJ9O2NhPWZ1bmN0aW9uKGUscil7dmFyIHQ9a2EoZSxy +KTtyZXR1cm4gdD4wP2EudXRpbHMuZGVjb2RlKDEyMDAsZS5zbGljZShyKzQscis0K3QpKToiIn07 +dWE9ZnVuY3Rpb24oZSxyKXt2YXIgdD1rYShlLHIpO3JldHVybiB0PjA/YS51dGlscy5kZWNvZGUo +NjUwMDEsZS5zbGljZShyKzQscis0K3QpKToiIn19aWYodHlwZW9mIGEhPT0idW5kZWZpbmVkIilt +YSgpO3ZhciBnYT1mdW5jdGlvbihlLHIpe3JldHVybiBlW3JdfTt2YXIgYmE9ZnVuY3Rpb24oZSxy +KXtyZXR1cm4gZVtyKzFdKigxPDw4KStlW3JdfTt2YXIgd2E9ZnVuY3Rpb24oZSxyKXt2YXIgdD1l +W3IrMV0qKDE8PDgpK2Vbcl07cmV0dXJuIHQ8MzI3Njg/dDooNjU1MzUtdCsxKSotMX07dmFyIGth +PWZ1bmN0aW9uKGUscil7cmV0dXJuIGVbciszXSooMTw8MjQpKyhlW3IrMl08PDE2KSsoZVtyKzFd +PDw4KStlW3JdfTt2YXIgQWE9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gZVtyKzNdPDwyNHxlW3IrMl08 +PDE2fGVbcisxXTw8OHxlW3JdfTt2YXIgVGE9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gZVtyXTw8MjR8 +ZVtyKzFdPDwxNnxlW3IrMl08PDh8ZVtyKzNdfTtmdW5jdGlvbiB5YShlLHQpe3ZhciBuPSIiLGks +cyxmPVtdLGwsbyxjLGg7c3dpdGNoKHQpe2Nhc2UiZGJjcyI6aD10aGlzLmw7aWYoQyYmQnVmZmVy +LmlzQnVmZmVyKHRoaXMpJiZTKW49dGhpcy5zbGljZSh0aGlzLmwsdGhpcy5sKzIqZSkudG9TdHJp +bmcoInV0ZjE2bGUiKTtlbHNlIGZvcihjPTA7YzxlOysrYyl7bis9U3RyaW5nLmZyb21DaGFyQ29k +ZShiYSh0aGlzLGgpKTtoKz0yfWUqPTI7YnJlYWs7Y2FzZSJ1dGY4IjpuPXRhKHRoaXMsdGhpcy5s +LHRoaXMubCtlKTticmVhaztjYXNlInV0ZjE2bGUiOmUqPTI7bj1xdCh0aGlzLHRoaXMubCx0aGlz +LmwrZSk7YnJlYWs7Y2FzZSJ3c3RyIjppZih0eXBlb2YgYSE9PSJ1bmRlZmluZWQiKW49YS51dGls +cy5kZWNvZGUocix0aGlzLnNsaWNlKHRoaXMubCx0aGlzLmwrMiplKSk7ZWxzZSByZXR1cm4geWEu +Y2FsbCh0aGlzLGUsImRiY3MiKTtlPTIqZTticmVhaztjYXNlImxwc3RyLWFuc2kiOm49bmEodGhp +cyx0aGlzLmwpO2U9NCtrYSh0aGlzLHRoaXMubCk7YnJlYWs7Y2FzZSJscHN0ci1jcCI6bj1zYSh0 +aGlzLHRoaXMubCk7ZT00K2thKHRoaXMsdGhpcy5sKTticmVhaztjYXNlImxwd3N0ciI6bj1sYSh0 +aGlzLHRoaXMubCk7ZT00KzIqa2EodGhpcyx0aGlzLmwpO2JyZWFrO2Nhc2UibHBwNCI6ZT00K2th +KHRoaXMsdGhpcy5sKTtuPWNhKHRoaXMsdGhpcy5sKTtpZihlJjIpZSs9MjticmVhaztjYXNlIjhs +cHA0IjplPTQra2EodGhpcyx0aGlzLmwpO249dWEodGhpcyx0aGlzLmwpO2lmKGUmMyllKz00LShl +JjMpO2JyZWFrO2Nhc2UiY3N0ciI6ZT0wO249IiI7d2hpbGUoKGw9Z2EodGhpcyx0aGlzLmwrZSsr +KSkhPT0wKWYucHVzaChwKGwpKTtuPWYuam9pbigiIik7YnJlYWs7Y2FzZSJfd3N0ciI6ZT0wO249 +IiI7d2hpbGUoKGw9YmEodGhpcyx0aGlzLmwrZSkpIT09MCl7Zi5wdXNoKHAobCkpO2UrPTJ9ZSs9 +MjtuPWYuam9pbigiIik7YnJlYWs7Y2FzZSJkYmNzLWNvbnQiOm49IiI7aD10aGlzLmw7Zm9yKGM9 +MDtjPGU7KytjKXtpZih0aGlzLmxlbnMmJnRoaXMubGVucy5pbmRleE9mKGgpIT09LTEpe2w9Z2Eo +dGhpcyxoKTt0aGlzLmw9aCsxO289eWEuY2FsbCh0aGlzLGUtYyxsPyJkYmNzLWNvbnQiOiJzYmNz +LWNvbnQiKTtyZXR1cm4gZi5qb2luKCIiKStvfWYucHVzaChwKGJhKHRoaXMsaCkpKTtoKz0yfW49 +Zi5qb2luKCIiKTtlKj0yO2JyZWFrO2Nhc2UiY3BzdHIiOmlmKHR5cGVvZiBhIT09InVuZGVmaW5l +ZCIpe249YS51dGlscy5kZWNvZGUocix0aGlzLnNsaWNlKHRoaXMubCx0aGlzLmwrZSkpO2JyZWFr +fTtjYXNlInNiY3MtY29udCI6bj0iIjtoPXRoaXMubDtmb3IoYz0wO2MhPWU7KytjKXtpZih0aGlz +LmxlbnMmJnRoaXMubGVucy5pbmRleE9mKGgpIT09LTEpe2w9Z2EodGhpcyxoKTt0aGlzLmw9aCsx +O289eWEuY2FsbCh0aGlzLGUtYyxsPyJkYmNzLWNvbnQiOiJzYmNzLWNvbnQiKTtyZXR1cm4gZi5q +b2luKCIiKStvfWYucHVzaChwKGdhKHRoaXMsaCkpKTtoKz0xfW49Zi5qb2luKCIiKTticmVhaztk +ZWZhdWx0OnN3aXRjaChlKXtjYXNlIDE6aT1nYSh0aGlzLHRoaXMubCk7dGhpcy5sKys7cmV0dXJu +IGk7Y2FzZSAyOmk9KHQ9PT0iaSI/d2E6YmEpKHRoaXMsdGhpcy5sKTt0aGlzLmwrPTI7cmV0dXJu +IGk7Y2FzZSA0OjtjYXNlLTQ6aWYodD09PSJpInx8KHRoaXNbdGhpcy5sKzNdJjEyOCk9PT0wKXtp +PShlPjA/QWE6VGEpKHRoaXMsdGhpcy5sKTt0aGlzLmwrPTQ7cmV0dXJuIGl9ZWxzZXtzPWthKHRo +aXMsdGhpcy5sKTt0aGlzLmwrPTR9cmV0dXJuIHM7Y2FzZSA4OjtjYXNlLTg6aWYodD09PSJmIil7 +aWYoZT09OClzPXZhKHRoaXMsdGhpcy5sKTtlbHNlIHM9dmEoW3RoaXNbdGhpcy5sKzddLHRoaXNb +dGhpcy5sKzZdLHRoaXNbdGhpcy5sKzVdLHRoaXNbdGhpcy5sKzRdLHRoaXNbdGhpcy5sKzNdLHRo +aXNbdGhpcy5sKzJdLHRoaXNbdGhpcy5sKzFdLHRoaXNbdGhpcy5sKzBdXSwwKTt0aGlzLmwrPTg7 +cmV0dXJuIHN9ZWxzZSBlPTg7Y2FzZSAxNjpuPWVhKHRoaXMsdGhpcy5sLGUpO2JyZWFrO307fXRo +aXMubCs9ZTtyZXR1cm4gbn12YXIgRWE9ZnVuY3Rpb24oZSxyLHQpe2VbdF09ciYyNTU7ZVt0KzFd +PXI+Pj44JjI1NTtlW3QrMl09cj4+PjE2JjI1NTtlW3QrM109cj4+PjI0JjI1NX07dmFyIENhPWZ1 +bmN0aW9uKGUscix0KXtlW3RdPXImMjU1O2VbdCsxXT1yPj44JjI1NTtlW3QrMl09cj4+MTYmMjU1 +O2VbdCszXT1yPj4yNCYyNTV9O3ZhciBfYT1mdW5jdGlvbihlLHIsdCl7ZVt0XT1yJjI1NTtlW3Qr +MV09cj4+PjgmMjU1fTtmdW5jdGlvbiBTYShlLG4saSl7dmFyIHM9MCxmPTA7aWYoaT09PSJkYmNz +Iil7Zm9yKGY9MDtmIT1uLmxlbmd0aDsrK2YpX2EodGhpcyxuLmNoYXJDb2RlQXQoZiksdGhpcy5s +KzIqZik7cz0yKm4ubGVuZ3RofWVsc2UgaWYoaT09PSJzYmNzInx8aT09ImNwc3RyIil7aWYodHlw +ZW9mIGEhPT0idW5kZWZpbmVkIiYmdD09ODc0KXtmb3IoZj0wO2YhPW4ubGVuZ3RoOysrZil7dmFy +IGw9YS51dGlscy5lbmNvZGUodCxuLmNoYXJBdChmKSk7dGhpc1t0aGlzLmwrZl09bFswXX1zPW4u +bGVuZ3RofWVsc2UgaWYodHlwZW9mIGEhPT0idW5kZWZpbmVkIiYmaT09ImNwc3RyIil7bD1hLnV0 +aWxzLmVuY29kZShyLG4pO2lmKGwubGVuZ3RoPT1uLmxlbmd0aClmb3IoZj0wO2Y8bi5sZW5ndGg7 +KytmKWlmKGxbZl09PTAmJm4uY2hhckNvZGVBdChmKSE9MClsW2ZdPTk1O2lmKGwubGVuZ3RoPT0y +Km4ubGVuZ3RoKWZvcihmPTA7ZjxuLmxlbmd0aDsrK2YpaWYobFsyKmZdPT0wJiZsWzIqZisxXT09 +MCYmbi5jaGFyQ29kZUF0KGYpIT0wKWxbMipmXT05NTtmb3IoZj0wO2Y8bC5sZW5ndGg7KytmKXRo +aXNbdGhpcy5sK2ZdPWxbZl07cz1sLmxlbmd0aH1lbHNle249bi5yZXBsYWNlKC9bXlx4MDAtXHg3 +Rl0vZywiXyIpO2ZvcihmPTA7ZiE9bi5sZW5ndGg7KytmKXRoaXNbdGhpcy5sK2ZdPW4uY2hhckNv +ZGVBdChmKSYyNTU7cz1uLmxlbmd0aH19ZWxzZSBpZihpPT09ImhleCIpe2Zvcig7ZjxlOysrZil7 +dGhpc1t0aGlzLmwrK109cGFyc2VJbnQobi5zbGljZSgyKmYsMipmKzIpLDE2KXx8MH1yZXR1cm4g +dGhpc31lbHNlIGlmKGk9PT0idXRmMTZsZSIpe3ZhciBvPU1hdGgubWluKHRoaXMubCtlLHRoaXMu +bGVuZ3RoKTtmb3IoZj0wO2Y8TWF0aC5taW4obi5sZW5ndGgsZSk7KytmKXt2YXIgYz1uLmNoYXJD +b2RlQXQoZik7dGhpc1t0aGlzLmwrK109YyYyNTU7dGhpc1t0aGlzLmwrK109Yz4+OH13aGlsZSh0 +aGlzLmw8byl0aGlzW3RoaXMubCsrXT0wO3JldHVybiB0aGlzfWVsc2Ugc3dpdGNoKGUpe2Nhc2Ug +MTpzPTE7dGhpc1t0aGlzLmxdPW4mMjU1O2JyZWFrO2Nhc2UgMjpzPTI7dGhpc1t0aGlzLmxdPW4m +MjU1O24+Pj49ODt0aGlzW3RoaXMubCsxXT1uJjI1NTticmVhaztjYXNlIDM6cz0zO3RoaXNbdGhp +cy5sXT1uJjI1NTtuPj4+PTg7dGhpc1t0aGlzLmwrMV09biYyNTU7bj4+Pj04O3RoaXNbdGhpcy5s +KzJdPW4mMjU1O2JyZWFrO2Nhc2UgNDpzPTQ7RWEodGhpcyxuLHRoaXMubCk7YnJlYWs7Y2FzZSA4 +OnM9ODtpZihpPT09ImYiKXtLdCh0aGlzLG4sdGhpcy5sKTticmVha307Y2FzZSAxNjpicmVhaztj +YXNlLTQ6cz00O0NhKHRoaXMsbix0aGlzLmwpO2JyZWFrO310aGlzLmwrPXM7cmV0dXJuIHRoaXN9 +ZnVuY3Rpb24geGEoZSxyKXt2YXIgdD1lYSh0aGlzLHRoaXMubCxlLmxlbmd0aD4+MSk7aWYodCE9 +PWUpdGhyb3cgbmV3IEVycm9yKHIrIkV4cGVjdGVkICIrZSsiIHNhdyAiK3QpO3RoaXMubCs9ZS5s +ZW5ndGg+PjF9ZnVuY3Rpb24gT2EoZSxyKXtlLmw9cjtlLl9SPXlhO2UuY2hrPXhhO2UuX1c9U2F9 +ZnVuY3Rpb24gSWEoZSxyKXtlLmwrPXJ9ZnVuY3Rpb24gUmEoZSl7dmFyIHI9eChlKTtPYShyLDAp +O3JldHVybiByfWZ1bmN0aW9uIE5hKGUscix0KXtpZighZSlyZXR1cm47dmFyIGEsbixpO09hKGUs +ZS5sfHwwKTt2YXIgcz1lLmxlbmd0aCxmPTAsbD0wO3doaWxlKGUubDxzKXtmPWUuX1IoMSk7aWYo +ZiYxMjgpZj0oZiYxMjcpKygoZS5fUigxKSYxMjcpPDw3KTt2YXIgbz1aZ1tmXXx8WmdbNjU1MzVd +O2E9ZS5fUigxKTtpPWEmMTI3O2ZvcihuPTE7bjw0JiZhJjEyODsrK24paSs9KChhPWUuX1IoMSkp +JjEyNyk8PDcqbjtsPWUubCtpO3ZhciBjPW8uZiYmby5mKGUsaSx0KTtlLmw9bDtpZihyKGMsbyxm +KSlyZXR1cm59fWZ1bmN0aW9uIEZhKCl7dmFyIGU9W10scj1DPzE2Mzg0OjIwNDg7dmFyIHQ9QyYm +dHlwZW9mIFJhKHIpLmNvcHk9PSJmdW5jdGlvbiI7dmFyIGE9ZnVuY3Rpb24gYyhlKXt2YXIgcj1S +YShlKTtPYShyLDApO3JldHVybiByfTt2YXIgbj1hKHIpO3ZhciBpPWZ1bmN0aW9uIGgoKXtpZigh +bilyZXR1cm47aWYobi5sKXtpZihuLmxlbmd0aD5uLmwpe249bi5zbGljZSgwLG4ubCk7bi5sPW4u +bGVuZ3RofWlmKG4ubGVuZ3RoPjApZS5wdXNoKG4pfW49bnVsbH07dmFyIHM9ZnVuY3Rpb24gdShl +KXtpZihuJiZlPG4ubGVuZ3RoLW4ubClyZXR1cm4gbjtpKCk7cmV0dXJuIG49YShNYXRoLm1heChl +KzEscikpfTt2YXIgZj1mdW5jdGlvbiBkKCl7aSgpO3JldHVybiBQKGUpfTt2YXIgbD1mdW5jdGlv +bigpe2koKTtyZXR1cm4gZX07dmFyIG89ZnVuY3Rpb24gdihlKXtpKCk7bj1lO2lmKG4ubD09bnVs +bCluLmw9bi5sZW5ndGg7cyhyKX07cmV0dXJue25leHQ6cyxwdXNoOm8sZW5kOmYsX2J1ZnM6ZSxl +bmQyOmx9fWZ1bmN0aW9uIERhKGUscix0LGEpe3ZhciBuPStyLGk7aWYoaXNOYU4obikpcmV0dXJu +O2lmKCFhKWE9Wmdbbl0ucHx8KHR8fFtdKS5sZW5ndGh8fDA7aT0xKyhuPj0xMjg/MTowKSsxO2lm +KGE+PTEyOCkrK2k7aWYoYT49MTYzODQpKytpO2lmKGE+PTIwOTcxNTIpKytpO3ZhciBzPWUubmV4 +dChpKTtpZihuPD0xMjcpcy5fVygxLG4pO2Vsc2V7cy5fVygxLChuJjEyNykrMTI4KTtzLl9XKDEs +bj4+Nyl9Zm9yKHZhciBmPTA7ZiE9NDsrK2Ype2lmKGE+PTEyOCl7cy5fVygxLChhJjEyNykrMTI4 +KTthPj49N31lbHNle3MuX1coMSxhKTticmVha319aWYoYT4wJiZwYSh0KSllLnB1c2godCl9ZnVu +Y3Rpb24gUGEoZSxyLHQpe3ZhciBhPUFyKGUpO2lmKHIucyl7aWYoYS5jUmVsKWEuYys9ci5zLmM7 +aWYoYS5yUmVsKWEucis9ci5zLnJ9ZWxzZXtpZihhLmNSZWwpYS5jKz1yLmM7aWYoYS5yUmVsKWEu +cis9ci5yfWlmKCF0fHx0LmJpZmY8MTIpe3doaWxlKGEuYz49MjU2KWEuYy09MjU2O3doaWxlKGEu +cj49NjU1MzYpYS5yLT02NTUzNn1yZXR1cm4gYX1mdW5jdGlvbiBMYShlLHIsdCl7dmFyIGE9QXIo +ZSk7YS5zPVBhKGEucyxyLnMsdCk7YS5lPVBhKGEuZSxyLnMsdCk7cmV0dXJuIGF9ZnVuY3Rpb24g +TWEoZSxyKXtpZihlLmNSZWwmJmUuYzwwKXtlPUFyKGUpO3doaWxlKGUuYzwwKWUuYys9cj44PzE2 +Mzg0OjI1Nn1pZihlLnJSZWwmJmUucjwwKXtlPUFyKGUpO3doaWxlKGUucjwwKWUucis9cj44PzEw +NDg1NzY6cj41PzY1NTM2OjE2Mzg0fXZhciB0PVlhKGUpO2lmKCFlLmNSZWwmJmUuY1JlbCE9bnVs +bCl0PVhhKHQpO2lmKCFlLnJSZWwmJmUuclJlbCE9bnVsbCl0PXphKHQpO3JldHVybiB0fWZ1bmN0 +aW9uIFVhKGUscil7aWYoZS5zLnI9PTAmJiFlLnMuclJlbCl7aWYoZS5lLnI9PShyLmJpZmY+PTEy +PzEwNDg1NzU6ci5iaWZmPj04PzY1NTM2OjE2Mzg0KSYmIWUuZS5yUmVsKXtyZXR1cm4oZS5zLmNS +ZWw/IiI6IiQiKSskYShlLnMuYykrIjoiKyhlLmUuY1JlbD8iIjoiJCIpKyRhKGUuZS5jKX19aWYo +ZS5zLmM9PTAmJiFlLnMuY1JlbCl7aWYoZS5lLmM9PShyLmJpZmY+PTEyPzE2MzgzOjI1NSkmJiFl +LmUuY1JlbCl7cmV0dXJuKGUucy5yUmVsPyIiOiIkIikrV2EoZS5zLnIpKyI6IisoZS5lLnJSZWw/ +IiI6IiQiKStXYShlLmUucil9fXJldHVybiBNYShlLnMsci5iaWZmKSsiOiIrTWEoZS5lLHIuYmlm +Zil9aWYodHlwZW9mIGNwdGFibGUhPT0idW5kZWZpbmVkIilnKGNwdGFibGUpO2Vsc2UgaWYodHlw +ZW9mIG1vZHVsZSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgcmVxdWlyZSE9PSJ1bmRlZmluZWQiKXtn +KHVuZGVmaW5lZCl9ZnVuY3Rpb24gQmEoZSl7cmV0dXJuIHBhcnNlSW50KEhhKGUpLDEwKS0xfWZ1 +bmN0aW9uIFdhKGUpe3JldHVybiIiKyhlKzEpfWZ1bmN0aW9uIHphKGUpe3JldHVybiBlLnJlcGxh +Y2UoLyhbQS1aXXxeKShcZCspJC8sIiQxJCQkMiIpfWZ1bmN0aW9uIEhhKGUpe3JldHVybiBlLnJl +cGxhY2UoL1wkKFxkKykkLywiJDEiKX1mdW5jdGlvbiBWYShlKXt2YXIgcj1HYShlKSx0PTAsYT0w +O2Zvcig7YSE9PXIubGVuZ3RoOysrYSl0PTI2KnQrci5jaGFyQ29kZUF0KGEpLTY0O3JldHVybiB0 +LTF9ZnVuY3Rpb24gJGEoZSl7aWYoZTwwKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBjb2x1bW4g +IitlKTt2YXIgcj0iIjtmb3IoKytlO2U7ZT1NYXRoLmZsb29yKChlLTEpLzI2KSlyPVN0cmluZy5m +cm9tQ2hhckNvZGUoKGUtMSklMjYrNjUpK3I7cmV0dXJuIHJ9ZnVuY3Rpb24gWGEoZSl7cmV0dXJu +IGUucmVwbGFjZSgvXihbQS1aXSkvLCIkJCQxIil9ZnVuY3Rpb24gR2EoZSl7cmV0dXJuIGUucmVw +bGFjZSgvXlwkKFtBLVpdKS8sIiQxIil9ZnVuY3Rpb24gamEoZSl7cmV0dXJuIGUucmVwbGFjZSgv +KFwkP1tBLVpdKikoXCQ/XGQqKS8sIiQxLCQyIikuc3BsaXQoIiwiKX1mdW5jdGlvbiBLYShlKXt2 +YXIgcj0wLHQ9MDtmb3IodmFyIGE9MDthPGUubGVuZ3RoOysrYSl7dmFyIG49ZS5jaGFyQ29kZUF0 +KGEpO2lmKG4+PTQ4JiZuPD01NylyPTEwKnIrKG4tNDgpO2Vsc2UgaWYobj49NjUmJm48PTkwKXQ9 +MjYqdCsobi02NCl9cmV0dXJue2M6dC0xLHI6ci0xfX1mdW5jdGlvbiBZYShlKXt2YXIgcj1lLmMr +MTt2YXIgdD0iIjtmb3IoO3I7cj0oci0xKS8yNnwwKXQ9U3RyaW5nLmZyb21DaGFyQ29kZSgoci0x +KSUyNis2NSkrdDtyZXR1cm4gdCsoZS5yKzEpfWZ1bmN0aW9uIFphKGUpe3ZhciByPWUuaW5kZXhP +ZigiOiIpO2lmKHI9PS0xKXJldHVybntzOkthKGUpLGU6S2EoZSl9O3JldHVybntzOkthKGUuc2xp +Y2UoMCxyKSksZTpLYShlLnNsaWNlKHIrMSkpfX1mdW5jdGlvbiBKYShlLHIpe2lmKHR5cGVvZiBy +PT09InVuZGVmaW5lZCJ8fHR5cGVvZiByPT09Im51bWJlciIpe3JldHVybiBKYShlLnMsZS5lKX1p +Zih0eXBlb2YgZSE9PSJzdHJpbmciKWU9WWEoZSk7aWYodHlwZW9mIHIhPT0ic3RyaW5nIilyPVlh +KHIpO3JldHVybiBlPT1yP2U6ZSsiOiIrcn1mdW5jdGlvbiBxYShlKXt2YXIgcj1aYShlKTtyZXR1 +cm4iJCIrJGEoci5zLmMpKyIkIitXYShyLnMucikrIjokIiskYShyLmUuYykrIiQiK1dhKHIuZS5y +KX1mdW5jdGlvbiBRYShlLHIpe2lmKCFlJiYhKHImJnIuYmlmZjw9NSYmci5iaWZmPj0yKSl0aHJv +dyBuZXcgRXJyb3IoImVtcHR5IHNoZWV0IG5hbWUiKTtpZigvW15cd1x1NEUwMC1cdTlGRkZcdTMw +NDAtXHUzMEZGXS8udGVzdChlKSlyZXR1cm4iJyIrZS5yZXBsYWNlKC8nL2csIicnIikrIiciO3Jl +dHVybiBlfWZ1bmN0aW9uIGVuKGUpe3ZhciByPXtzOntjOjAscjowfSxlOntjOjAscjowfX07dmFy +IHQ9MCxhPTAsbj0wO3ZhciBpPWUubGVuZ3RoO2Zvcih0PTA7YTxpOysrYSl7aWYoKG49ZS5jaGFy +Q29kZUF0KGEpLTY0KTwxfHxuPjI2KWJyZWFrO3Q9MjYqdCtufXIucy5jPS0tdDtmb3IodD0wO2E8 +aTsrK2Epe2lmKChuPWUuY2hhckNvZGVBdChhKS00OCk8MHx8bj45KWJyZWFrO3Q9MTAqdCtufXIu +cy5yPS0tdDtpZihhPT09aXx8biE9MTApe3IuZS5jPXIucy5jO3IuZS5yPXIucy5yO3JldHVybiBy +fSsrYTtmb3IodD0wO2EhPWk7KythKXtpZigobj1lLmNoYXJDb2RlQXQoYSktNjQpPDF8fG4+MjYp +YnJlYWs7dD0yNip0K259ci5lLmM9LS10O2Zvcih0PTA7YSE9aTsrK2Epe2lmKChuPWUuY2hhckNv +ZGVBdChhKS00OCk8MHx8bj45KWJyZWFrO3Q9MTAqdCtufXIuZS5yPS0tdDtyZXR1cm4gcn1mdW5j +dGlvbiBybihlLHIpe3ZhciB0PWUudD09ImQiJiZyIGluc3RhbmNlb2YgRGF0ZTtpZihlLnohPW51 +bGwpdHJ5e3JldHVybiBlLnc9emUoZS56LHQ/ZHIocik6cil9Y2F0Y2goYSl7fXRyeXtyZXR1cm4g +ZS53PXplKChlLlhGfHx7fSkubnVtRm10SWR8fCh0PzE0OjApLHQ/ZHIocik6cil9Y2F0Y2goYSl7 +cmV0dXJuIiIrcn19ZnVuY3Rpb24gdG4oZSxyLHQpe2lmKGU9PW51bGx8fGUudD09bnVsbHx8ZS50 +PT0ieiIpcmV0dXJuIiI7aWYoZS53IT09dW5kZWZpbmVkKXJldHVybiBlLnc7aWYoZS50PT0iZCIm +JiFlLnomJnQmJnQuZGF0ZU5GKWUuej10LmRhdGVORjtpZihlLnQ9PSJlIilyZXR1cm4gY2lbZS52 +XXx8ZS52O2lmKHI9PXVuZGVmaW5lZClyZXR1cm4gcm4oZSxlLnYpO3JldHVybiBybihlLHIpfWZ1 +bmN0aW9uIGFuKGUscil7dmFyIHQ9ciYmci5zaGVldD9yLnNoZWV0OiJTaGVldDEiO3ZhciBhPXt9 +O2FbdF09ZTtyZXR1cm57U2hlZXROYW1lczpbdF0sU2hlZXRzOmF9fWZ1bmN0aW9uIG5uKGUpe3Zh +ciByPXt9O3ZhciB0PWV8fHt9O2lmKHQuZGVuc2UpclsiIWRhdGEiXT1bXTtyZXR1cm4gcn1mdW5j +dGlvbiBzbihlLHIsdCl7dmFyIGE9dHx8e307dmFyIG49ZT9lWyIhZGF0YSJdIT1udWxsOmEuZGVu +c2U7aWYoYiE9bnVsbCYmbj09bnVsbCluPWI7dmFyIGk9ZXx8KG4/eyIhZGF0YSI6W119Ont9KTtp +ZihuJiYhaVsiIWRhdGEiXSlpWyIhZGF0YSJdPVtdO3ZhciBzPTAsZj0wO2lmKGkmJmEub3JpZ2lu +IT1udWxsKXtpZih0eXBlb2YgYS5vcmlnaW49PSJudW1iZXIiKXM9YS5vcmlnaW47ZWxzZXt2YXIg +bD10eXBlb2YgYS5vcmlnaW49PSJzdHJpbmciP0thKGEub3JpZ2luKTphLm9yaWdpbjtzPWwucjtm +PWwuY319dmFyIG89e3M6e2M6MWU3LHI6MWU3fSxlOntjOjAscjowfX07aWYoaVsiIXJlZiJdKXt2 +YXIgYz1lbihpWyIhcmVmIl0pO28ucy5jPWMucy5jO28ucy5yPWMucy5yO28uZS5jPU1hdGgubWF4 +KG8uZS5jLGMuZS5jKTtvLmUucj1NYXRoLm1heChvLmUucixjLmUucik7aWYocz09LTEpby5lLnI9 +cz1pWyIhcmVmIl0/Yy5lLnIrMTowfWVsc2V7by5zLmM9by5lLmM9by5zLnI9by5lLnI9MH12YXIg +aD1bXSx1PWZhbHNlO2Zvcih2YXIgZD0wO2QhPXIubGVuZ3RoOysrZCl7aWYoIXJbZF0pY29udGlu +dWU7aWYoIUFycmF5LmlzQXJyYXkocltkXSkpdGhyb3cgbmV3IEVycm9yKCJhb2FfdG9fc2hlZXQg +ZXhwZWN0cyBhbiBhcnJheSBvZiBhcnJheXMiKTt2YXIgdj1zK2Q7aWYobil7aWYoIWlbIiFkYXRh +Il1bdl0paVsiIWRhdGEiXVt2XT1bXTtoPWlbIiFkYXRhIl1bdl19dmFyIHA9cltkXTtmb3IodmFy +IG09MDttIT1wLmxlbmd0aDsrK20pe2lmKHR5cGVvZiBwW21dPT09InVuZGVmaW5lZCIpY29udGlu +dWU7dmFyIGc9e3Y6cFttXSx0OiIifTt2YXIgdz1mK207aWYoby5zLnI+dilvLnMucj12O2lmKG8u +cy5jPncpby5zLmM9dztpZihvLmUucjx2KW8uZS5yPXY7aWYoby5lLmM8dylvLmUuYz13O3U9dHJ1 +ZTtpZihwW21dJiZ0eXBlb2YgcFttXT09PSJvYmplY3QiJiYhQXJyYXkuaXNBcnJheShwW21dKSYm +IShwW21daW5zdGFuY2VvZiBEYXRlKSlnPXBbbV07ZWxzZXtpZihBcnJheS5pc0FycmF5KGcudikp +e2cuZj1wW21dWzFdO2cudj1nLnZbMF19aWYoZy52PT09bnVsbCl7aWYoZy5mKWcudD0ibiI7ZWxz +ZSBpZihhLm51bGxFcnJvcil7Zy50PSJlIjtnLnY9MH1lbHNlIGlmKCFhLnNoZWV0U3R1YnMpY29u +dGludWU7ZWxzZSBnLnQ9InoifWVsc2UgaWYodHlwZW9mIGcudj09PSJudW1iZXIiKXtpZihpc0Zp +bml0ZShnLnYpKWcudD0ibiI7ZWxzZSBpZihpc05hTihnLnYpKXtnLnQ9ImUiO2cudj0xNX1lbHNl +e2cudD0iZSI7Zy52PTd9fWVsc2UgaWYodHlwZW9mIGcudj09PSJib29sZWFuIilnLnQ9ImIiO2Vs +c2UgaWYoZy52IGluc3RhbmNlb2YgRGF0ZSl7Zy56PWEuZGF0ZU5GfHxxWzE0XTtpZighYS5VVEMp +Zy52PURyKGcudik7aWYoYS5jZWxsRGF0ZXMpe2cudD0iZCI7Zy53PXplKGcueixkcihnLnYsYS5k +YXRlMTkwNCkpfWVsc2V7Zy50PSJuIjtnLnY9ZHIoZy52LGEuZGF0ZTE5MDQpO2cudz16ZShnLnos +Zy52KX19ZWxzZSBnLnQ9InMifWlmKG4pe2lmKGhbd10mJmhbd10ueilnLno9aFt3XS56O2hbd109 +Z31lbHNle3ZhciBrPSRhKHcpKyh2KzEpO2lmKGlba10mJmlba10ueilnLno9aVtrXS56O2lba109 +Z319fWlmKHUmJm8ucy5jPDEwNGU1KWlbIiFyZWYiXT1KYShvKTtyZXR1cm4gaX1mdW5jdGlvbiBm +bihlLHIpe3JldHVybiBzbihudWxsLGUscil9ZnVuY3Rpb24gbG4oZSl7cmV0dXJuIGUuX1IoNCwi +aSIpfWZ1bmN0aW9uIG9uKGUscil7aWYoIXIpcj1SYSg0KTtyLl9XKDQsZSk7cmV0dXJuIHJ9ZnVu +Y3Rpb24gY24oZSl7dmFyIHI9ZS5fUig0KTtyZXR1cm4gcj09PTA/IiI6ZS5fUihyLCJkYmNzIil9 +ZnVuY3Rpb24gaG4oZSxyKXt2YXIgdD1mYWxzZTtpZihyPT1udWxsKXt0PXRydWU7cj1SYSg0KzIq +ZS5sZW5ndGgpfXIuX1coNCxlLmxlbmd0aCk7aWYoZS5sZW5ndGg+MClyLl9XKDAsZSwiZGJjcyIp +O3JldHVybiB0P3Iuc2xpY2UoMCxyLmwpOnJ9ZnVuY3Rpb24gdW4oZSl7cmV0dXJue2ljaDplLl9S +KDIpLGlmbnQ6ZS5fUigyKX19ZnVuY3Rpb24gZG4oZSxyKXtpZighcilyPVJhKDQpO3IuX1coMixl +LmljaHx8MCk7ci5fVygyLGUuaWZudHx8MCk7cmV0dXJuIHJ9ZnVuY3Rpb24gdm4oZSxyKXt2YXIg +dD1lLmw7dmFyIGE9ZS5fUigxKTt2YXIgbj1jbihlKTt2YXIgaT1bXTt2YXIgcz17dDpuLGg6bn07 +aWYoKGEmMSkhPT0wKXt2YXIgZj1lLl9SKDQpO2Zvcih2YXIgbD0wO2whPWY7KytsKWkucHVzaCh1 +bihlKSk7cy5yPWl9ZWxzZSBzLnI9W3tpY2g6MCxpZm50OjB9XTtlLmw9dCtyO3JldHVybiBzfWZ1 +bmN0aW9uIHBuKGUscil7dmFyIHQ9ZmFsc2U7aWYocj09bnVsbCl7dD10cnVlO3I9UmEoMTUrNCpl +LnQubGVuZ3RoKX1yLl9XKDEsMCk7aG4oZS50LHIpO3JldHVybiB0P3Iuc2xpY2UoMCxyLmwpOnJ9 +dmFyIG1uPXZuO2Z1bmN0aW9uIGduKGUscil7dmFyIHQ9ZmFsc2U7aWYocj09bnVsbCl7dD10cnVl +O3I9UmEoMjMrNCplLnQubGVuZ3RoKX1yLl9XKDEsMSk7aG4oZS50LHIpO3IuX1coNCwxKTtkbih7 +aWNoOjAsaWZudDowfSxyKTtyZXR1cm4gdD9yLnNsaWNlKDAsci5sKTpyfWZ1bmN0aW9uIGJuKGUp +e3ZhciByPWUuX1IoNCk7dmFyIHQ9ZS5fUigyKTt0Kz1lLl9SKDEpPDwxNjtlLmwrKztyZXR1cm57 +YzpyLGlTdHlsZVJlZjp0fX1mdW5jdGlvbiB3bihlLHIpe2lmKHI9PW51bGwpcj1SYSg4KTtyLl9X +KC00LGUuYyk7ci5fVygzLGUuaVN0eWxlUmVmfHxlLnMpO3IuX1coMSwwKTtyZXR1cm4gcn1mdW5j +dGlvbiBrbihlKXt2YXIgcj1lLl9SKDIpO3IrPWUuX1IoMSk8PDE2O2UubCsrO3JldHVybntjOi0x +LGlTdHlsZVJlZjpyfX1mdW5jdGlvbiBBbihlLHIpe2lmKHI9PW51bGwpcj1SYSg0KTtyLl9XKDMs +ZS5pU3R5bGVSZWZ8fGUucyk7ci5fVygxLDApO3JldHVybiByfXZhciBUbj1jbjt2YXIgeW49aG47 +ZnVuY3Rpb24gRW4oZSl7dmFyIHI9ZS5fUig0KTtyZXR1cm4gcj09PTB8fHI9PT00Mjk0OTY3Mjk1 +PyIiOmUuX1IociwiZGJjcyIpfWZ1bmN0aW9uIENuKGUscil7dmFyIHQ9ZmFsc2U7aWYocj09bnVs +bCl7dD10cnVlO3I9UmEoMTI3KX1yLl9XKDQsZS5sZW5ndGg+MD9lLmxlbmd0aDo0Mjk0OTY3Mjk1 +KTtpZihlLmxlbmd0aD4wKXIuX1coMCxlLCJkYmNzIik7cmV0dXJuIHQ/ci5zbGljZSgwLHIubCk6 +cn12YXIgX249Y247dmFyIFNuPUVuO3ZhciB4bj1DbjtmdW5jdGlvbiBPbihlKXt2YXIgcj1lLnNs +aWNlKGUubCxlLmwrNCk7dmFyIHQ9clswXSYxLGE9clswXSYyO2UubCs9NDt2YXIgbj1hPT09MD92 +YShbMCwwLDAsMCxyWzBdJjI1MixyWzFdLHJbMl0sclszXV0sMCk6QWEociwwKT4+MjtyZXR1cm4g +dD9uLzEwMDpufWZ1bmN0aW9uIEluKGUscil7aWYocj09bnVsbClyPVJhKDQpO3ZhciB0PTAsYT0w +LG49ZSoxMDA7aWYoZT09KGV8MCkmJmU+PS0oMTw8MjkpJiZlPDE8PDI5KXthPTF9ZWxzZSBpZihu +PT0obnwwKSYmbj49LSgxPDwyOSkmJm48MTw8Mjkpe2E9MTt0PTF9aWYoYSlyLl9XKC00LCgodD9u +OmUpPDwyKSsodCsyKSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIFJrTnVtYmVy +ICIrZSl9ZnVuY3Rpb24gUm4oZSl7dmFyIHI9e3M6e30sZTp7fX07ci5zLnI9ZS5fUig0KTtyLmUu +cj1lLl9SKDQpO3Iucy5jPWUuX1IoNCk7ci5lLmM9ZS5fUig0KTtyZXR1cm4gcn1mdW5jdGlvbiBO +bihlLHIpe2lmKCFyKXI9UmEoMTYpO3IuX1coNCxlLnMucik7ci5fVyg0LGUuZS5yKTtyLl9XKDQs +ZS5zLmMpO3IuX1coNCxlLmUuYyk7cmV0dXJuIHJ9dmFyIEZuPVJuO3ZhciBEbj1ObjtmdW5jdGlv +biBQbihlKXtpZihlLmxlbmd0aC1lLmw8OCl0aHJvdyJYTFMgWG51bSBCdWZmZXIgdW5kZXJmbG93 +IjtyZXR1cm4gZS5fUig4LCJmIil9ZnVuY3Rpb24gTG4oZSxyKXtyZXR1cm4ocnx8UmEoOCkpLl9X +KDgsZSwiZiIpfWZ1bmN0aW9uIE1uKGUpe3ZhciByPXt9O3ZhciB0PWUuX1IoMSk7dmFyIGE9dD4+ +PjE7dmFyIG49ZS5fUigxKTt2YXIgaT1lLl9SKDIsImkiKTt2YXIgcz1lLl9SKDEpO3ZhciBmPWUu +X1IoMSk7dmFyIGw9ZS5fUigxKTtlLmwrKztzd2l0Y2goYSl7Y2FzZSAwOnIuYXV0bz0xO2JyZWFr +O2Nhc2UgMTpyLmluZGV4PW47dmFyIG89b2lbbl07aWYobylyLnJnYj1abyhvKTticmVhaztjYXNl +IDI6ci5yZ2I9Wm8oW3MsZixsXSk7YnJlYWs7Y2FzZSAzOnIudGhlbWU9bjticmVhazt9aWYoaSE9 +MClyLnRpbnQ9aT4wP2kvMzI3Njc6aS8zMjc2ODtyZXR1cm4gcn1mdW5jdGlvbiBVbihlLHIpe2lm +KCFyKXI9UmEoOCk7aWYoIWV8fGUuYXV0byl7ci5fVyg0LDApO3IuX1coNCwwKTtyZXR1cm4gcn1p +ZihlLmluZGV4IT1udWxsKXtyLl9XKDEsMik7ci5fVygxLGUuaW5kZXgpfWVsc2UgaWYoZS50aGVt +ZSE9bnVsbCl7ci5fVygxLDYpO3IuX1coMSxlLnRoZW1lKX1lbHNle3IuX1coMSw1KTtyLl9XKDEs +MCl9dmFyIHQ9ZS50aW50fHwwO2lmKHQ+MCl0Kj0zMjc2NztlbHNlIGlmKHQ8MCl0Kj0zMjc2ODty +Ll9XKDIsdCk7aWYoIWUucmdifHxlLnRoZW1lIT1udWxsKXtyLl9XKDIsMCk7ci5fVygxLDApO3Iu +X1coMSwwKX1lbHNle3ZhciBhPWUucmdifHwiRkZGRkZGIjtpZih0eXBlb2YgYT09Im51bWJlciIp +YT0oIjAwMDAwMCIrYS50b1N0cmluZygxNikpLnNsaWNlKC02KTtyLl9XKDEscGFyc2VJbnQoYS5z +bGljZSgwLDIpLDE2KSk7ci5fVygxLHBhcnNlSW50KGEuc2xpY2UoMiw0KSwxNikpO3IuX1coMSxw +YXJzZUludChhLnNsaWNlKDQsNiksMTYpKTtyLl9XKDEsMjU1KX1yZXR1cm4gcn1mdW5jdGlvbiBC +bihlKXt2YXIgcj1lLl9SKDEpO2UubCsrO3ZhciB0PXtmQm9sZDpyJjEsZkl0YWxpYzpyJjIsZlVu +ZGVybGluZTpyJjQsZlN0cmlrZW91dDpyJjgsZk91dGxpbmU6ciYxNixmU2hhZG93OnImMzIsZkNv +bmRlbnNlOnImNjQsZkV4dGVuZDpyJjEyOH07cmV0dXJuIHR9ZnVuY3Rpb24gV24oZSxyKXtpZigh +cilyPVJhKDIpO3ZhciB0PShlLml0YWxpYz8yOjApfChlLnN0cmlrZT84OjApfChlLm91dGxpbmU/ +MTY6MCl8KGUuc2hhZG93PzMyOjApfChlLmNvbmRlbnNlPzY0OjApfChlLmV4dGVuZD8xMjg6MCk7 +ci5fVygxLHQpO3IuX1coMSwwKTtyZXR1cm4gcn1mdW5jdGlvbiB6bihlLHIpe3ZhciB0PXsyOiJC +SVRNQVAiLDM6Ik1FVEFGSUxFUElDVCIsODoiRElCIiwxNDoiRU5ITUVUQUZJTEUifTt2YXIgYT1l +Ll9SKDQpO3N3aXRjaChhKXtjYXNlIDA6cmV0dXJuIiI7Y2FzZSA0Mjk0OTY3Mjk1OjtjYXNlIDQy +OTQ5NjcyOTQ6cmV0dXJuIHRbZS5fUig0KV18fCIiO31pZihhPjQwMCl0aHJvdyBuZXcgRXJyb3Io +IlVuc3VwcG9ydGVkIENsaXBib2FyZDogIithLnRvU3RyaW5nKDE2KSk7ZS5sLT00O3JldHVybiBl +Ll9SKDAscj09MT8ibHBzdHIiOiJscHdzdHIiKX1mdW5jdGlvbiBIbihlKXtyZXR1cm4gem4oZSwx +KX1mdW5jdGlvbiBWbihlKXtyZXR1cm4gem4oZSwyKX12YXIgJG49Mjt2YXIgWG49Mzt2YXIgR249 +MTE7dmFyIGpuPTEyO3ZhciBLbj0xOTt2YXIgWW49NjQ7dmFyIFpuPTY1O3ZhciBKbj03MTt2YXIg +cW49NDEwODt2YXIgUW49NDEyNjt2YXIgZWk9ODA7dmFyIHJpPTgxO3ZhciB0aT1bZWkscmldO3Zh +ciBhaT17MTp7bjoiQ29kZVBhZ2UiLHQ6JG59LDI6e246IkNhdGVnb3J5Iix0OmVpfSwzOntuOiJQ +cmVzZW50YXRpb25Gb3JtYXQiLHQ6ZWl9LDQ6e246IkJ5dGVDb3VudCIsdDpYbn0sNTp7bjoiTGlu +ZUNvdW50Iix0OlhufSw2OntuOiJQYXJhZ3JhcGhDb3VudCIsdDpYbn0sNzp7bjoiU2xpZGVDb3Vu +dCIsdDpYbn0sODp7bjoiTm90ZUNvdW50Iix0OlhufSw5OntuOiJIaWRkZW5Db3VudCIsdDpYbn0s +MTA6e246Ik11bHRpbWVkaWFDbGlwQ291bnQiLHQ6WG59LDExOntuOiJTY2FsZUNyb3AiLHQ6R259 +LDEyOntuOiJIZWFkaW5nUGFpcnMiLHQ6cW59LDEzOntuOiJUaXRsZXNPZlBhcnRzIix0OlFufSwx +NDp7bjoiTWFuYWdlciIsdDplaX0sMTU6e246IkNvbXBhbnkiLHQ6ZWl9LDE2OntuOiJMaW5rc1Vw +VG9EYXRlIix0OkdufSwxNzp7bjoiQ2hhcmFjdGVyQ291bnQiLHQ6WG59LDE5OntuOiJTaGFyZWRE +b2MiLHQ6R259LDIyOntuOiJIeXBlcmxpbmtzQ2hhbmdlZCIsdDpHbn0sMjM6e246IkFwcFZlcnNp +b24iLHQ6WG4scDoidmVyc2lvbiJ9LDI0OntuOiJEaWdTaWciLHQ6Wm59LDI2OntuOiJDb250ZW50 +VHlwZSIsdDplaX0sMjc6e246IkNvbnRlbnRTdGF0dXMiLHQ6ZWl9LDI4OntuOiJMYW5ndWFnZSIs +dDplaX0sMjk6e246IlZlcnNpb24iLHQ6ZWl9LDI1NTp7fSwyMTQ3NDgzNjQ4OntuOiJMb2NhbGUi +LHQ6S259LDIxNDc0ODM2NTE6e246IkJlaGF2aW9yIix0OktufSwxOTE5MDU0NDM0Ont9fTt2YXIg +bmk9ezE6e246IkNvZGVQYWdlIix0OiRufSwyOntuOiJUaXRsZSIsdDplaX0sMzp7bjoiU3ViamVj +dCIsdDplaX0sNDp7bjoiQXV0aG9yIix0OmVpfSw1OntuOiJLZXl3b3JkcyIsdDplaX0sNjp7bjoi +Q29tbWVudHMiLHQ6ZWl9LDc6e246IlRlbXBsYXRlIix0OmVpfSw4OntuOiJMYXN0QXV0aG9yIix0 +OmVpfSw5OntuOiJSZXZOdW1iZXIiLHQ6ZWl9LDEwOntuOiJFZGl0VGltZSIsdDpZbn0sMTE6e246 +Ikxhc3RQcmludGVkIix0OllufSwxMjp7bjoiQ3JlYXRlZERhdGUiLHQ6WW59LDEzOntuOiJNb2Rp +ZmllZERhdGUiLHQ6WW59LDE0OntuOiJQYWdlQ291bnQiLHQ6WG59LDE1OntuOiJXb3JkQ291bnQi +LHQ6WG59LDE2OntuOiJDaGFyQ291bnQiLHQ6WG59LDE3OntuOiJUaHVtYm5haWwiLHQ6Sm59LDE4 +OntuOiJBcHBsaWNhdGlvbiIsdDplaX0sMTk6e246IkRvY1NlY3VyaXR5Iix0OlhufSwyNTU6e30s +MjE0NzQ4MzY0ODp7bjoiTG9jYWxlIix0OktufSwyMTQ3NDgzNjUxOntuOiJCZWhhdmlvciIsdDpL +bn0sMTkxOTA1NDQzNDp7fX07dmFyIGlpPXsxOiJVUyIsMjoiQ0EiLDM6IiIsNzoiUlUiLDIwOiJF +RyIsMzA6IkdSIiwzMToiTkwiLDMyOiJCRSIsMzM6IkZSIiwzNDoiRVMiLDM2OiJIVSIsMzk6IklU +Iiw0MToiQ0giLDQzOiJBVCIsNDQ6IkdCIiw0NToiREsiLDQ2OiJTRSIsNDc6Ik5PIiw0ODoiUEwi +LDQ5OiJERSIsNTI6Ik1YIiw1NToiQlIiLDYxOiJBVSIsNjQ6Ik5aIiw2NjoiVEgiLDgxOiJKUCIs +ODI6IktSIiw4NDoiVk4iLDg2OiJDTiIsOTA6IlRSIiwxMDU6IkpTIiwyMTM6IkRaIiwyMTY6Ik1B +IiwyMTg6IkxZIiwzNTE6IlBUIiwzNTQ6IklTIiwzNTg6IkZJIiw0MjA6IkNaIiw4ODY6IlRXIiw5 +NjE6IkxCIiw5NjI6IkpPIiw5NjM6IlNZIiw5NjQ6IklRIiw5NjU6IktXIiw5NjY6IlNBIiw5NzE6 +IkFFIiw5NzI6IklMIiw5NzQ6IlFBIiw5ODE6IklSIiw2NTUzNToiVVMifTt2YXIgc2k9W251bGws +InNvbGlkIiwibWVkaXVtR3JheSIsImRhcmtHcmF5IiwibGlnaHRHcmF5IiwiZGFya0hvcml6b250 +YWwiLCJkYXJrVmVydGljYWwiLCJkYXJrRG93biIsImRhcmtVcCIsImRhcmtHcmlkIiwiZGFya1Ry +ZWxsaXMiLCJsaWdodEhvcml6b250YWwiLCJsaWdodFZlcnRpY2FsIiwibGlnaHREb3duIiwibGln +aHRVcCIsImxpZ2h0R3JpZCIsImxpZ2h0VHJlbGxpcyIsImdyYXkxMjUiLCJncmF5MDYyNSJdO2Z1 +bmN0aW9uIGZpKGUpe3JldHVybiBlLm1hcChmdW5jdGlvbihlKXtyZXR1cm5bZT4+MTYmMjU1LGU+ +PjgmMjU1LGUmMjU1XX0pfXZhciBsaT1maShbMCwxNjc3NzIxNSwxNjcxMTY4MCw2NTI4MCwyNTUs +MTY3NzY5NjAsMTY3MTE5MzUsNjU1MzUsMCwxNjc3NzIxNSwxNjcxMTY4MCw2NTI4MCwyNTUsMTY3 +NzY5NjAsMTY3MTE5MzUsNjU1MzUsODM4ODYwOCwzMjc2OCwxMjgsODQyMTM3Niw4Mzg4NzM2LDMy +ODk2LDEyNjMyMjU2LDg0MjE1MDQsMTAwNjY0MzEsMTAwNDAxNjYsMTY3NzcxNjQsMTM0MzQ4Nzks +NjY4NDc3NCwxNjc0NDU3NiwyNjMxNiwxMzQyMTgyMywxMjgsMTY3MTE5MzUsMTY3NzY5NjAsNjU1 +MzUsODM4ODczNiw4Mzg4NjA4LDMyODk2LDI1NSw1MjQ3OSwxMzQzNDg3OSwxMzQzNDgyOCwxNjc3 +NzExMywxMDA3OTQ4NywxNjc1MTA1MiwxMzQwODc2NywxNjc2NDA1NywzMzY4NzAzLDMzOTQ3NjQs +MTAwNzkyMzIsMTY3NjM5MDQsMTY3NTA4NDgsMTY3Mzc3OTIsNjcxMDkzNyw5ODY4OTUwLDEzMTU4 +LDMzODE2MDYsMTMwNTYsMzM1NTM5MiwxMDA0MDA2NCwxMDA0MDE2NiwzMzU1NTQ1LDMzNTU0NDMs +MCwxNjc3NzIxNSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSk7dmFyIG9pPUFyKGxp +KTt2YXIgY2k9ezA6IiNOVUxMISIsNzoiI0RJVi8wISIsMTU6IiNWQUxVRSEiLDIzOiIjUkVGISIs +Mjk6IiNOQU1FPyIsMzY6IiNOVU0hIiw0MjoiI04vQSIsNDM6IiNHRVRUSU5HX0RBVEEiLDI1NToi +I1dURj8ifTt2YXIgaGk9eyIjTlVMTCEiOjAsIiNESVYvMCEiOjcsIiNWQUxVRSEiOjE1LCIjUkVG +ISI6MjMsIiNOQU1FPyI6MjksIiNOVU0hIjozNiwiI04vQSI6NDIsIiNHRVRUSU5HX0RBVEEiOjQz +LCIjV1RGPyI6MjU1fTt2YXIgdWk9WyJfeGxubS5Db25zb2xpZGF0ZV9BcmVhIiwiX3hsbm0uQXV0 +b19PcGVuIiwiX3hsbm0uQXV0b19DbG9zZSIsIl94bG5tLkV4dHJhY3QiLCJfeGxubS5EYXRhYmFz +ZSIsIl94bG5tLkNyaXRlcmlhIiwiX3hsbm0uUHJpbnRfQXJlYSIsIl94bG5tLlByaW50X1RpdGxl +cyIsIl94bG5tLlJlY29yZGVyIiwiX3hsbm0uRGF0YV9Gb3JtIiwiX3hsbm0uQXV0b19BY3RpdmF0 +ZSIsIl94bG5tLkF1dG9fRGVhY3RpdmF0ZSIsIl94bG5tLlNoZWV0X1RpdGxlIiwiX3hsbm0uX0Zp +bHRlckRhdGFiYXNlIl07dmFyIGRpPXsiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9m +ZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQubWFpbit4bWwiOiJ3b3JrYm9va3MiLCJh +cHBsaWNhdGlvbi92bmQubXMtZXhjZWwuc2hlZXQubWFjcm9FbmFibGVkLm1haW4reG1sIjoid29y +a2Jvb2tzIiwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnNoZWV0LmJpbmFyeS5tYWNyb0VuYWJs +ZWQubWFpbiI6Indvcmtib29rcyIsImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5hZGRpbi5tYWNy +b0VuYWJsZWQubWFpbit4bWwiOiJ3b3JrYm9va3MiLCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZv +cm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC50ZW1wbGF0ZS5tYWluK3htbCI6Indv +cmtib29rcyIsImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5z +cHJlYWRzaGVldG1sLndvcmtzaGVldCt4bWwiOiJzaGVldHMiLCJhcHBsaWNhdGlvbi92bmQubXMt +ZXhjZWwud29ya3NoZWV0Ijoic2hlZXRzIiwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLmJpbklu +ZGV4V3MiOiJUT0RPIiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3Vt +ZW50LnNwcmVhZHNoZWV0bWwuY2hhcnRzaGVldCt4bWwiOiJjaGFydHMiLCJhcHBsaWNhdGlvbi92 +bmQubXMtZXhjZWwuY2hhcnRzaGVldCI6ImNoYXJ0cyIsImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNl +bC5tYWNyb3NoZWV0K3htbCI6Im1hY3JvcyIsImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5tYWNy +b3NoZWV0IjoibWFjcm9zIiwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLmludGxtYWNyb3NoZWV0 +IjoiVE9ETyIsImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5iaW5JbmRleE1zIjoiVE9ETyIsImFw +cGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1s +LmRpYWxvZ3NoZWV0K3htbCI6ImRpYWxvZ3MiLCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuZGlh +bG9nc2hlZXQiOiJkaWFsb2dzIiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmlj +ZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hhcmVkU3RyaW5ncyt4bWwiOiJzdHJzIiwiYXBwbGlj +YXRpb24vdm5kLm1zLWV4Y2VsLnNoYXJlZFN0cmluZ3MiOiJzdHJzIiwiYXBwbGljYXRpb24vdm5k +Lm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc3R5bGVzK3htbCI6 +InN0eWxlcyIsImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zdHlsZXMiOiJzdHlsZXMiLCJhcHBs +aWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5jb3JlLXByb3BlcnRpZXMreG1sIjoi +Y29yZXByb3BzIiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50 +LmN1c3RvbS1wcm9wZXJ0aWVzK3htbCI6ImN1c3Rwcm9wcyIsImFwcGxpY2F0aW9uL3ZuZC5vcGVu +eG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5leHRlbmRlZC1wcm9wZXJ0aWVzK3htbCI6ImV4dHBy +b3BzIiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmN1c3Rv +bVhtbFByb3BlcnRpZXMreG1sIjoiVE9ETyIsImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0 +cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLmN1c3RvbVByb3BlcnR5IjoiVE9ETyIsImFw +cGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1s +LmNvbW1lbnRzK3htbCI6ImNvbW1lbnRzIiwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLmNvbW1l +bnRzIjoiY29tbWVudHMiLCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwudGhyZWFkZWRjb21tZW50 +cyt4bWwiOiJ0aHJlYWRlZGNvbW1lbnRzIiwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnBlcnNv +bit4bWwiOiJwZW9wbGUiLCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9j +dW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldE1ldGFkYXRhK3htbCI6Im1ldGFkYXRhIiwiYXBwbGlj +YXRpb24vdm5kLm1zLWV4Y2VsLnNoZWV0TWV0YWRhdGEiOiJtZXRhZGF0YSIsImFwcGxpY2F0aW9u +L3ZuZC5tcy1leGNlbC5waXZvdFRhYmxlIjoiVE9ETyIsImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1s +Zm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnBpdm90VGFibGUreG1sIjoiVE9E +TyIsImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5kcmF3aW5n +bWwuY2hhcnQreG1sIjoiVE9ETyIsImFwcGxpY2F0aW9uL3ZuZC5tcy1vZmZpY2UuY2hhcnRjb2xv +cnN0eWxlK3htbCI6IlRPRE8iLCJhcHBsaWNhdGlvbi92bmQubXMtb2ZmaWNlLmNoYXJ0c3R5bGUr +eG1sIjoiVE9ETyIsImFwcGxpY2F0aW9uL3ZuZC5tcy1vZmZpY2UuY2hhcnRleCt4bWwiOiJUT0RP +IiwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLmNhbGNDaGFpbiI6ImNhbGNjaGFpbnMiLCJhcHBs +aWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5j +YWxjQ2hhaW4reG1sIjoiY2FsY2NoYWlucyIsImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0 +cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnByaW50ZXJTZXR0aW5ncyI6IlRPRE8iLCJh +cHBsaWNhdGlvbi92bmQubXMtb2ZmaWNlLmFjdGl2ZVgiOiJUT0RPIiwiYXBwbGljYXRpb24vdm5k +Lm1zLW9mZmljZS5hY3RpdmVYK3htbCI6IlRPRE8iLCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwu +YXR0YWNoZWRUb29sYmFycyI6IlRPRE8iLCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuY29ubmVj +dGlvbnMiOiJUT0RPIiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3Vt +ZW50LnNwcmVhZHNoZWV0bWwuY29ubmVjdGlvbnMreG1sIjoiVE9ETyIsImFwcGxpY2F0aW9uL3Zu +ZC5tcy1leGNlbC5leHRlcm5hbExpbmsiOiJsaW5rcyIsImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1s +Zm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLmV4dGVybmFsTGluayt4bWwiOiJs +aW5rcyIsImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5waXZvdENhY2hlRGVmaW5pdGlvbiI6IlRP +RE8iLCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwucGl2b3RDYWNoZVJlY29yZHMiOiJUT0RPIiwi +YXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0 +bWwucGl2b3RDYWNoZURlZmluaXRpb24reG1sIjoiVE9ETyIsImFwcGxpY2F0aW9uL3ZuZC5vcGVu +eG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnBpdm90Q2FjaGVSZWNvcmRz +K3htbCI6IlRPRE8iLCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwucXVlcnlUYWJsZSI6IlRPRE8i +LCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hl +ZXRtbC5xdWVyeVRhYmxlK3htbCI6IlRPRE8iLCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwudXNl +ck5hbWVzIjoiVE9ETyIsImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5yZXZpc2lvbkhlYWRlcnMi +OiJUT0RPIiwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnJldmlzaW9uTG9nIjoiVE9ETyIsImFw +cGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1s +LnJldmlzaW9uSGVhZGVycyt4bWwiOiJUT0RPIiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3Jt +YXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwucmV2aXNpb25Mb2creG1sIjoiVE9ETyIs +ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVl +dG1sLnVzZXJOYW1lcyt4bWwiOiJUT0RPIiwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnRhYmxl +U2luZ2xlQ2VsbHMiOiJUT0RPIiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmlj +ZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwudGFibGVTaW5nbGVDZWxscyt4bWwiOiJUT0RPIiwiYXBw +bGljYXRpb24vdm5kLm1zLWV4Y2VsLnNsaWNlciI6IlRPRE8iLCJhcHBsaWNhdGlvbi92bmQubXMt +ZXhjZWwuc2xpY2VyQ2FjaGUiOiJUT0RPIiwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnNsaWNl +cit4bWwiOiJUT0RPIiwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnNsaWNlckNhY2hlK3htbCI6 +IlRPRE8iLCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwud3NTb3J0TWFwIjoiVE9ETyIsImFwcGxp +Y2F0aW9uL3ZuZC5tcy1leGNlbC50YWJsZSI6IlRPRE8iLCJhcHBsaWNhdGlvbi92bmQub3Blbnht +bGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC50YWJsZSt4bWwiOiJUT0RPIiwi +YXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnRoZW1lK3htbCI6 +InRoZW1lcyIsImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC50 +aGVtZU92ZXJyaWRlK3htbCI6IlRPRE8iLCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuVGltZWxp +bmUreG1sIjoiVE9ETyIsImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5UaW1lbGluZUNhY2hlK3ht +bCI6IlRPRE8iLCJhcHBsaWNhdGlvbi92bmQubXMtb2ZmaWNlLnZiYVByb2plY3QiOiJ2YmEiLCJh +cHBsaWNhdGlvbi92bmQubXMtb2ZmaWNlLnZiYVByb2plY3RTaWduYXR1cmUiOiJUT0RPIiwiYXBw +bGljYXRpb24vdm5kLm1zLW9mZmljZS52b2xhdGlsZURlcGVuZGVuY2llcyI6IlRPRE8iLCJhcHBs +aWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC52 +b2xhdGlsZURlcGVuZGVuY2llcyt4bWwiOiJUT0RPIiwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2Vs +LmNvbnRyb2xwcm9wZXJ0aWVzK3htbCI6IlRPRE8iLCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZv +cm1hdHMtb2ZmaWNlZG9jdW1lbnQubW9kZWwrZGF0YSI6IlRPRE8iLCJhcHBsaWNhdGlvbi92bmQu +bXMtZXhjZWwuU3VydmV5K3htbCI6IlRPRE8iLCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1h +dHMtb2ZmaWNlZG9jdW1lbnQuZHJhd2luZyt4bWwiOiJkcmF3aW5ncyIsImFwcGxpY2F0aW9uL3Zu +ZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5kcmF3aW5nbWwuY2hhcnRzaGFwZXMreG1s +IjoiVE9ETyIsImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5k +cmF3aW5nbWwuZGlhZ3JhbUNvbG9ycyt4bWwiOiJUT0RPIiwiYXBwbGljYXRpb24vdm5kLm9wZW54 +bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmRyYXdpbmdtbC5kaWFncmFtRGF0YSt4bWwiOiJUT0RP +IiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmRyYXdpbmdt +bC5kaWFncmFtTGF5b3V0K3htbCI6IlRPRE8iLCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1h +dHMtb2ZmaWNlZG9jdW1lbnQuZHJhd2luZ21sLmRpYWdyYW1TdHlsZSt4bWwiOiJUT0RPIiwiYXBw +bGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnZtbERyYXdpbmciOiJU +T0RPIiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLXBhY2thZ2UucmVsYXRpb25zaGlw +cyt4bWwiOiJyZWxzIiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3Vt +ZW50Lm9sZU9iamVjdCI6IlRPRE8iLCJpbWFnZS9wbmciOiJUT0RPIixzaGVldDoianMifTt2YXIg +dmk9e3dvcmtib29rczp7eGxzeDoiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmlj +ZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQubWFpbit4bWwiLHhsc206ImFwcGxpY2F0aW9u +L3ZuZC5tcy1leGNlbC5zaGVldC5tYWNyb0VuYWJsZWQubWFpbit4bWwiLHhsc2I6ImFwcGxpY2F0 +aW9uL3ZuZC5tcy1leGNlbC5zaGVldC5iaW5hcnkubWFjcm9FbmFibGVkLm1haW4iLHhsYW06ImFw +cGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5hZGRpbi5tYWNyb0VuYWJsZWQubWFpbit4bWwiLHhsdHg6 +ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVl +dG1sLnRlbXBsYXRlLm1haW4reG1sIn0sc3Ryczp7eGxzeDoiYXBwbGljYXRpb24vdm5kLm9wZW54 +bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hhcmVkU3RyaW5ncyt4bWwi +LHhsc2I6ImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zaGFyZWRTdHJpbmdzIn0sY29tbWVudHM6 +e3hsc3g6ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJl +YWRzaGVldG1sLmNvbW1lbnRzK3htbCIseGxzYjoiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLmNv +bW1lbnRzIn0sc2hlZXRzOnt4bHN4OiJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2Zm +aWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC53b3Jrc2hlZXQreG1sIix4bHNiOiJhcHBsaWNhdGlv +bi92bmQubXMtZXhjZWwud29ya3NoZWV0In0sY2hhcnRzOnt4bHN4OiJhcHBsaWNhdGlvbi92bmQu +b3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5jaGFydHNoZWV0K3ht +bCIseGxzYjoiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLmNoYXJ0c2hlZXQifSxkaWFsb2dzOnt4 +bHN4OiJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFk +c2hlZXRtbC5kaWFsb2dzaGVldCt4bWwiLHhsc2I6ImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5k +aWFsb2dzaGVldCJ9LG1hY3Jvczp7eGxzeDoiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLm1hY3Jv +c2hlZXQreG1sIix4bHNiOiJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwubWFjcm9zaGVldCJ9LG1l +dGFkYXRhOnt4bHN4OiJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1l +bnQuc3ByZWFkc2hlZXRtbC5zaGVldE1ldGFkYXRhK3htbCIseGxzYjoiYXBwbGljYXRpb24vdm5k +Lm1zLWV4Y2VsLnNoZWV0TWV0YWRhdGEifSxzdHlsZXM6e3hsc3g6ImFwcGxpY2F0aW9uL3ZuZC5v +cGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnN0eWxlcyt4bWwiLHhs +c2I6ImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zdHlsZXMifX07ZnVuY3Rpb24gcGkoKXtyZXR1 +cm57d29ya2Jvb2tzOltdLHNoZWV0czpbXSxjaGFydHM6W10sZGlhbG9nczpbXSxtYWNyb3M6W10s +cmVsczpbXSxzdHJzOltdLGNvbW1lbnRzOltdLHRocmVhZGVkY29tbWVudHM6W10sbGlua3M6W10s +Y29yZXByb3BzOltdLGV4dHByb3BzOltdLGN1c3Rwcm9wczpbXSx0aGVtZXM6W10sc3R5bGVzOltd +LGNhbGNjaGFpbnM6W10sdmJhOltdLGRyYXdpbmdzOltdLG1ldGFkYXRhOltdLHBlb3BsZTpbXSxU +T0RPOltdLHhtbG5zOiIifX1mdW5jdGlvbiBtaShlKXt2YXIgcj1waSgpO2lmKCFlfHwhZS5tYXRj +aClyZXR1cm4gcjt2YXIgdD17fTsoZS5tYXRjaChmdCl8fFtdKS5mb3JFYWNoKGZ1bmN0aW9uKGUp +e3ZhciBhPWN0KGUpO3N3aXRjaChhWzBdLnJlcGxhY2UobHQsIjwiKSl7Y2FzZSI8P3htbCI6YnJl +YWs7Y2FzZSI8VHlwZXMiOnIueG1sbnM9YVsieG1sbnMiKyhhWzBdLm1hdGNoKC88KFx3Kyk6Lyl8 +fFsiIiwiIl0pWzFdXTticmVhaztjYXNlIjxEZWZhdWx0Ijp0W2EuRXh0ZW5zaW9uLnRvTG93ZXJD +YXNlKCldPWEuQ29udGVudFR5cGU7YnJlYWs7Y2FzZSI8T3ZlcnJpZGUiOmlmKHJbZGlbYS5Db250 +ZW50VHlwZV1dIT09dW5kZWZpbmVkKXJbZGlbYS5Db250ZW50VHlwZV1dLnB1c2goYS5QYXJ0TmFt +ZSk7YnJlYWs7fX0pO2lmKHIueG1sbnMhPT0kdC5DVCl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24g +TmFtZXNwYWNlOiAiK3IueG1sbnMpO3IuY2FsY2NoYWluPXIuY2FsY2NoYWlucy5sZW5ndGg+MD9y +LmNhbGNjaGFpbnNbMF06IiI7ci5zc3Q9ci5zdHJzLmxlbmd0aD4wP3Iuc3Ryc1swXToiIjtyLnN0 +eWxlPXIuc3R5bGVzLmxlbmd0aD4wP3Iuc3R5bGVzWzBdOiIiO3IuZGVmYXVsdHM9dDtkZWxldGUg +ci5jYWxjY2hhaW5zO3JldHVybiByfWZ1bmN0aW9uIGdpKGUscix0KXt2YXIgYT1vcihkaSk7dmFy +IG49W10saTtpZighdCl7bltuLmxlbmd0aF09YXQ7bltuLmxlbmd0aF09QnQoIlR5cGVzIixudWxs +LHt4bWxuczokdC5DVCwieG1sbnM6eHNkIjokdC54c2QsInhtbG5zOnhzaSI6JHQueHNpfSk7bj1u +LmNvbmNhdChbWyJ4bWwiLCJhcHBsaWNhdGlvbi94bWwiXSxbImJpbiIsImFwcGxpY2F0aW9uL3Zu +ZC5tcy1leGNlbC5zaGVldC5iaW5hcnkubWFjcm9FbmFibGVkLm1haW4iXSxbInZtbCIsImFwcGxp +Y2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC52bWxEcmF3aW5nIl0sWyJk +YXRhIiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50Lm1vZGVs +K2RhdGEiXSxbImJtcCIsImltYWdlL2JtcCJdLFsicG5nIiwiaW1hZ2UvcG5nIl0sWyJnaWYiLCJp +bWFnZS9naWYiXSxbImVtZiIsImltYWdlL3gtZW1mIl0sWyJ3bWYiLCJpbWFnZS94LXdtZiJdLFsi +anBnIiwiaW1hZ2UvanBlZyJdLFsianBlZyIsImltYWdlL2pwZWciXSxbInRpZiIsImltYWdlL3Rp +ZmYiXSxbInRpZmYiLCJpbWFnZS90aWZmIl0sWyJwZGYiLCJhcHBsaWNhdGlvbi9wZGYiXSxbInJl +bHMiLCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5yZWxhdGlvbnNoaXBz +K3htbCJdXS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIEJ0KCJEZWZhdWx0IixudWxsLHtFeHRlbnNp +b246ZVswXSxDb250ZW50VHlwZTplWzFdfSl9KSl9dmFyIHM9ZnVuY3Rpb24odCl7aWYoZVt0XSYm +ZVt0XS5sZW5ndGg+MCl7aT1lW3RdWzBdO25bbi5sZW5ndGhdPUJ0KCJPdmVycmlkZSIsbnVsbCx7 +UGFydE5hbWU6KGlbMF09PSIvIj8iIjoiLyIpK2ksQ29udGVudFR5cGU6dmlbdF1bci5ib29rVHlw +ZV18fHZpW3RdWyJ4bHN4Il19KX19O3ZhciBmPWZ1bmN0aW9uKHQpeyhlW3RdfHxbXSkuZm9yRWFj +aChmdW5jdGlvbihlKXtuW24ubGVuZ3RoXT1CdCgiT3ZlcnJpZGUiLG51bGwse1BhcnROYW1lOihl +WzBdPT0iLyI/IiI6Ii8iKStlLENvbnRlbnRUeXBlOnZpW3RdW3IuYm9va1R5cGVdfHx2aVt0XVsi +eGxzeCJdfSl9KX07dmFyIGw9ZnVuY3Rpb24ocil7KGVbcl18fFtdKS5mb3JFYWNoKGZ1bmN0aW9u +KGUpe25bbi5sZW5ndGhdPUJ0KCJPdmVycmlkZSIsbnVsbCx7UGFydE5hbWU6KGVbMF09PSIvIj8i +IjoiLyIpK2UsQ29udGVudFR5cGU6YVtyXVswXX0pfSl9O3MoIndvcmtib29rcyIpO2YoInNoZWV0 +cyIpO2YoImNoYXJ0cyIpO2woInRoZW1lcyIpO1sic3RycyIsInN0eWxlcyJdLmZvckVhY2gocyk7 +WyJjb3JlcHJvcHMiLCJleHRwcm9wcyIsImN1c3Rwcm9wcyJdLmZvckVhY2gobCk7bCgidmJhIik7 +bCgiY29tbWVudHMiKTtsKCJ0aHJlYWRlZGNvbW1lbnRzIik7bCgiZHJhd2luZ3MiKTtmKCJtZXRh +ZGF0YSIpO2woInBlb3BsZSIpO2lmKCF0JiZuLmxlbmd0aD4yKXtuW24ubGVuZ3RoXT0iPC9UeXBl +cz4iO25bMV09blsxXS5yZXBsYWNlKCIvPiIsIj4iKX1yZXR1cm4gbi5qb2luKCIiKX12YXIgYmk9 +e1dCOiJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAw +Ni9yZWxhdGlvbnNoaXBzL29mZmljZURvY3VtZW50IixTSEVFVDoiaHR0cDovL3NoZWV0anMub3Bl +bnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwcy9vZmZpY2VE +b2N1bWVudCIsSExJTks6Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VE +b2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvaHlwZXJsaW5rIixWTUw6Imh0dHA6Ly9zY2hlbWFz +Lm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvdm1s +RHJhd2luZyIsWFBBVEg6Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VE +b2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvZXh0ZXJuYWxMaW5rUGF0aCIsWE1JU1M6Imh0dHA6 +Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlLzIwMDYvcmVsYXRpb25zaGlwcy94bEV4dGVy +bmFsTGlua1BhdGgveGxQYXRoTWlzc2luZyIsWExJTks6Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxm +b3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvZXh0ZXJuYWxMaW5r +IixDWE1MOiJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQv +MjAwNi9yZWxhdGlvbnNoaXBzL2N1c3RvbVhtbCIsQ1hNTFA6Imh0dHA6Ly9zY2hlbWFzLm9wZW54 +bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvY3VzdG9tWG1s +UHJvcHMiLENNTlQ6Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1 +bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvY29tbWVudHMiLENPUkVfUFJPUFM6Imh0dHA6Ly9zY2hl +bWFzLm9wZW54bWxmb3JtYXRzLm9yZy9wYWNrYWdlLzIwMDYvcmVsYXRpb25zaGlwcy9tZXRhZGF0 +YS9jb3JlLXByb3BlcnRpZXMiLEVYVF9QUk9QUzoiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1h +dHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwcy9leHRlbmRlZC1wcm9wZXJ0 +aWVzIixDVVNUX1BST1BTOiJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNl +RG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL2N1c3RvbS1wcm9wZXJ0aWVzIixTU1Q6Imh0dHA6 +Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9u +c2hpcHMvc2hhcmVkU3RyaW5ncyIsU1RZOiJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5v +cmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3N0eWxlcyIsVEhFTUU6Imh0dHA6 +Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9u +c2hpcHMvdGhlbWUiLENIQVJUOiJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2Zm +aWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL2NoYXJ0IixDSEFSVEVYOiJodHRwOi8vc2No +ZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDE0L3JlbGF0aW9uc2hpcHMvY2hhcnRFeCIsQ1M6 +Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3Jl +bGF0aW9uc2hpcHMvY2hhcnRzaGVldCIsV1M6WyJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0 +cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIsImh0dHA6 +Ly9wdXJsLm9jbGMub3JnL29veG1sL29mZmljZURvY3VtZW50L3JlbGF0aW9uc2hpcHMvd29ya3No +ZWV0Il0sRFM6Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVu +dC8yMDA2L3JlbGF0aW9uc2hpcHMvZGlhbG9nc2hlZXQiLE1TOiJodHRwOi8vc2NoZW1hcy5taWNy +b3NvZnQuY29tL29mZmljZS8yMDA2L3JlbGF0aW9uc2hpcHMveGxNYWNyb3NoZWV0IixJTUc6Imh0 +dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0 +aW9uc2hpcHMvaW1hZ2UiLERSQVc6Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9v +ZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvZHJhd2luZyIsWExNRVRBOiJodHRwOi8v +c2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNo +aXBzL3NoZWV0TWV0YWRhdGEiLFRDTU5UOiJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29m +ZmljZS8yMDE3LzEwL3JlbGF0aW9uc2hpcHMvdGhyZWFkZWRDb21tZW50IixQRU9QTEU6Imh0dHA6 +Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlLzIwMTcvMTAvcmVsYXRpb25zaGlwcy9wZXJz +b24iLENPTk46Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVu +dC8yMDA2L3JlbGF0aW9uc2hpcHMvY29ubmVjdGlvbnMiLFZCQToiaHR0cDovL3NjaGVtYXMubWlj +cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNi9yZWxhdGlvbnNoaXBzL3ZiYVByb2plY3QifTtmdW5jdGlv +biB3aShlKXt2YXIgcj1lLmxhc3RJbmRleE9mKCIvIik7cmV0dXJuIGUuc2xpY2UoMCxyKzEpKyJf +cmVscy8iK2Uuc2xpY2UocisxKSsiLnJlbHMifWZ1bmN0aW9uIGtpKGUscil7dmFyIHQ9eyIhaWQi +Ont9fTtpZighZSlyZXR1cm4gdDtpZihyLmNoYXJBdCgwKSE9PSIvIil7CnI9Ii8iK3J9dmFyIGE9 +e307KGUubWF0Y2goZnQpfHxbXSkuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgbj1jdChlKTtpZihu +WzBdPT09IjxSZWxhdGlvbnNoaXAiKXt2YXIgaT17fTtpLlR5cGU9bi5UeXBlO2kuVGFyZ2V0PXB0 +KG4uVGFyZ2V0KTtpLklkPW4uSWQ7aWYobi5UYXJnZXRNb2RlKWkuVGFyZ2V0TW9kZT1uLlRhcmdl +dE1vZGU7dmFyIHM9bi5UYXJnZXRNb2RlPT09IkV4dGVybmFsIj9uLlRhcmdldDp0dChuLlRhcmdl +dCxyKTt0W3NdPWk7YVtuLklkXT1pfX0pO3RbIiFpZCJdPWE7cmV0dXJuIHR9ZnVuY3Rpb24gQWko +ZSl7dmFyIHI9W2F0LEJ0KCJSZWxhdGlvbnNoaXBzIixudWxsLHt4bWxuczokdC5SRUxTfSldO2ly +KGVbIiFpZCJdKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3Jbci5sZW5ndGhdPUJ0KCJSZWxhdGlvbnNo +aXAiLG51bGwsZVsiIWlkIl1bdF0pfSk7aWYoci5sZW5ndGg+Mil7cltyLmxlbmd0aF09IjwvUmVs +YXRpb25zaGlwcz4iO3JbMV09clsxXS5yZXBsYWNlKCIvPiIsIj4iKX1yZXR1cm4gci5qb2luKCIi +KX1mdW5jdGlvbiBUaShlLHIsdCxhLG4saSl7aWYoIW4pbj17fTtpZighZVsiIWlkIl0pZVsiIWlk +Il09e307aWYoIWVbIiFpZHgiXSllWyIhaWR4Il09MTtpZihyPDApZm9yKHI9ZVsiIWlkeCJdO2Vb +IiFpZCJdWyJySWQiK3JdOysrcil7fWVbIiFpZHgiXT1yKzE7bi5JZD0icklkIityO24uVHlwZT1h +O24uVGFyZ2V0PXQ7aWYoaSluLlRhcmdldE1vZGU9aTtlbHNlIGlmKFtiaS5ITElOSyxiaS5YUEFU +SCxiaS5YTUlTU10uaW5kZXhPZihuLlR5cGUpPi0xKW4uVGFyZ2V0TW9kZT0iRXh0ZXJuYWwiO2lm +KGVbIiFpZCJdW24uSWRdKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHJld3JpdGUgcklkICIrcik7 +ZVsiIWlkIl1bbi5JZF09bjtlWygiLyIrbi5UYXJnZXQpLnJlcGxhY2UoIi8vIiwiLyIpXT1uO3Jl +dHVybiByfXZhciB5aT0iYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5zcHJlYWRz +aGVldCI7ZnVuY3Rpb24gRWkoZSxyKXt2YXIgdD1IdChlKTt2YXIgYTt2YXIgbjt3aGlsZShhPVZ0 +LmV4ZWModCkpc3dpdGNoKGFbM10pe2Nhc2UibWFuaWZlc3QiOmJyZWFrO2Nhc2UiZmlsZS1lbnRy +eSI6bj1jdChhWzBdLGZhbHNlKTtpZihuLnBhdGg9PSIvIiYmbi50eXBlIT09eWkpdGhyb3cgbmV3 +IEVycm9yKCJUaGlzIE9wZW5Eb2N1bWVudCBpcyBub3QgYSBzcHJlYWRzaGVldCIpO2JyZWFrO2Nh +c2UiZW5jcnlwdGlvbi1kYXRhIjo7Y2FzZSJhbGdvcml0aG0iOjtjYXNlInN0YXJ0LWtleS1nZW5l +cmF0aW9uIjo7Y2FzZSJrZXktZGVyaXZhdGlvbiI6dGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRl +ZCBPRFMgRW5jcnlwdGlvbiIpO2RlZmF1bHQ6aWYociYmci5XVEYpdGhyb3cgYTt9fWZ1bmN0aW9u +IENpKGUpe3ZhciByPVthdF07ci5wdXNoKCc8bWFuaWZlc3Q6bWFuaWZlc3QgeG1sbnM6bWFuaWZl +c3Q9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6bWFuaWZlc3Q6MS4wIiBt +YW5pZmVzdDp2ZXJzaW9uPSIxLjIiPlxuJyk7ci5wdXNoKCcgIDxtYW5pZmVzdDpmaWxlLWVudHJ5 +IG1hbmlmZXN0OmZ1bGwtcGF0aD0iLyIgbWFuaWZlc3Q6dmVyc2lvbj0iMS4yIiBtYW5pZmVzdDpt +ZWRpYS10eXBlPSJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0 +Ii8+XG4nKTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoOysrdClyLnB1c2goJyAgPG1hbmlmZXN0OmZp +bGUtZW50cnkgbWFuaWZlc3Q6ZnVsbC1wYXRoPSInK2VbdF1bMF0rJyIgbWFuaWZlc3Q6bWVkaWEt +dHlwZT0iJytlW3RdWzFdKyciLz5cbicpO3IucHVzaCgiPC9tYW5pZmVzdDptYW5pZmVzdD4iKTty +ZXR1cm4gci5qb2luKCIiKX1mdW5jdGlvbiBfaShlLHIsdCl7cmV0dXJuWycgIDxyZGY6RGVzY3Jp +cHRpb24gcmRmOmFib3V0PSInK2UrJyI+XG4nLCcgICAgPHJkZjp0eXBlIHJkZjpyZXNvdXJjZT0i +aHR0cDovL2RvY3Mub2FzaXMtb3Blbi5vcmcvbnMvb2ZmaWNlLzEuMi9tZXRhLycrKHR8fCJvZGYi +KSsiIyIrcisnIi8+XG4nLCIgIDwvcmRmOkRlc2NyaXB0aW9uPlxuIl0uam9pbigiIil9ZnVuY3Rp +b24gU2koZSxyKXtyZXR1cm5bJyAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IicrZSsnIj5c +bicsJyAgICA8bnMwOmhhc1BhcnQgeG1sbnM6bnMwPSJodHRwOi8vZG9jcy5vYXNpcy1vcGVuLm9y +Zy9ucy9vZmZpY2UvMS4yL21ldGEvcGtnIyIgcmRmOnJlc291cmNlPSInK3IrJyIvPlxuJywiICA8 +L3JkZjpEZXNjcmlwdGlvbj5cbiJdLmpvaW4oIiIpfWZ1bmN0aW9uIHhpKGUpe3ZhciByPVthdF07 +ci5wdXNoKCc8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjIt +cmRmLXN5bnRheC1ucyMiPlxuJyk7Zm9yKHZhciB0PTA7dCE9ZS5sZW5ndGg7Kyt0KXtyLnB1c2go +X2koZVt0XVswXSxlW3RdWzFdKSk7ci5wdXNoKFNpKCIiLGVbdF1bMF0pKX1yLnB1c2goX2koIiIs +IkRvY3VtZW50IiwicGtnIikpO3IucHVzaCgiPC9yZGY6UkRGPiIpO3JldHVybiByLmpvaW4oIiIp +fWZ1bmN0aW9uIE9pKHIsdCl7cmV0dXJuJzxvZmZpY2U6ZG9jdW1lbnQtbWV0YSB4bWxuczpvZmZp +Y2U9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIgeG1s +bnM6bWV0YT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczptZXRhOjEuMCIg +eG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bGluaz0i +aHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgb2ZmaWNlOnZlcnNpb249IjEuMiI+PG9mZmlj +ZTptZXRhPjxtZXRhOmdlbmVyYXRvcj5TaGVldEpTICcrZS52ZXJzaW9uKyI8L21ldGE6Z2VuZXJh +dG9yPjwvb2ZmaWNlOm1ldGE+PC9vZmZpY2U6ZG9jdW1lbnQtbWV0YT4ifXZhciBJaT1bWyJjcDpj +YXRlZ29yeSIsIkNhdGVnb3J5Il0sWyJjcDpjb250ZW50U3RhdHVzIiwiQ29udGVudFN0YXR1cyJd +LFsiY3A6a2V5d29yZHMiLCJLZXl3b3JkcyJdLFsiY3A6bGFzdE1vZGlmaWVkQnkiLCJMYXN0QXV0 +aG9yIl0sWyJjcDpsYXN0UHJpbnRlZCIsIkxhc3RQcmludGVkIl0sWyJjcDpyZXZpc2lvbiIsIlJl +dk51bWJlciJdLFsiY3A6dmVyc2lvbiIsIlZlcnNpb24iXSxbImRjOmNyZWF0b3IiLCJBdXRob3Ii +XSxbImRjOmRlc2NyaXB0aW9uIiwiQ29tbWVudHMiXSxbImRjOmlkZW50aWZpZXIiLCJJZGVudGlm +aWVyIl0sWyJkYzpsYW5ndWFnZSIsIkxhbmd1YWdlIl0sWyJkYzpzdWJqZWN0IiwiU3ViamVjdCJd +LFsiZGM6dGl0bGUiLCJUaXRsZSJdLFsiZGN0ZXJtczpjcmVhdGVkIiwiQ3JlYXRlZERhdGUiLCJk +YXRlIl0sWyJkY3Rlcm1zOm1vZGlmaWVkIiwiTW9kaWZpZWREYXRlIiwiZGF0ZSJdXTtmdW5jdGlv +biBSaShlKXt2YXIgcj17fTtlPUl0KGUpO2Zvcih2YXIgdD0wO3Q8SWkubGVuZ3RoOysrdCl7dmFy +IGE9SWlbdF0sbj1CcihlLGFbMF0pO2lmKG4hPW51bGwmJm4ubGVuZ3RoPjApclthWzFdXT1wdChu +WzFdKTtpZihhWzJdPT09ImRhdGUiJiZyW2FbMV1dKXJbYVsxXV09d3IoclthWzFdXSl9cmV0dXJu +IHJ9ZnVuY3Rpb24gTmkoZSxyLHQsYSxuKXtpZihuW2VdIT1udWxsfHxyPT1udWxsfHxyPT09IiIp +cmV0dXJuO25bZV09cjtyPWJ0KHIpO2FbYS5sZW5ndGhdPXQ/QnQoZSxyLHQpOk10KGUscil9ZnVu +Y3Rpb24gRmkoZSxyKXt2YXIgdD1yfHx7fTt2YXIgYT1bYXQsQnQoImNwOmNvcmVQcm9wZXJ0aWVz +IixudWxsLHsieG1sbnM6Y3AiOiR0LkNPUkVfUFJPUFMsInhtbG5zOmRjIjokdC5kYywieG1sbnM6 +ZGN0ZXJtcyI6JHQuZGN0ZXJtcywieG1sbnM6ZGNtaXR5cGUiOiR0LmRjbWl0eXBlLCJ4bWxuczp4 +c2kiOiR0LnhzaX0pXSxuPXt9O2lmKCFlJiYhdC5Qcm9wcylyZXR1cm4gYS5qb2luKCIiKTtpZihl +KXtpZihlLkNyZWF0ZWREYXRlIT1udWxsKU5pKCJkY3Rlcm1zOmNyZWF0ZWQiLHR5cGVvZiBlLkNy +ZWF0ZWREYXRlPT09InN0cmluZyI/ZS5DcmVhdGVkRGF0ZTpXdChlLkNyZWF0ZWREYXRlLHQuV1RG +KSx7InhzaTp0eXBlIjoiZGN0ZXJtczpXM0NEVEYifSxhLG4pO2lmKGUuTW9kaWZpZWREYXRlIT1u +dWxsKU5pKCJkY3Rlcm1zOm1vZGlmaWVkIix0eXBlb2YgZS5Nb2RpZmllZERhdGU9PT0ic3RyaW5n +Ij9lLk1vZGlmaWVkRGF0ZTpXdChlLk1vZGlmaWVkRGF0ZSx0LldURikseyJ4c2k6dHlwZSI6ImRj +dGVybXM6VzNDRFRGIn0sYSxuKX1mb3IodmFyIGk9MDtpIT1JaS5sZW5ndGg7KytpKXt2YXIgcz1J +aVtpXTt2YXIgZj10LlByb3BzJiZ0LlByb3BzW3NbMV1dIT1udWxsP3QuUHJvcHNbc1sxXV06ZT9l +W3NbMV1dOm51bGw7aWYoZj09PXRydWUpZj0iMSI7ZWxzZSBpZihmPT09ZmFsc2UpZj0iMCI7ZWxz +ZSBpZih0eXBlb2YgZj09Im51bWJlciIpZj1TdHJpbmcoZik7aWYoZiE9bnVsbClOaShzWzBdLGYs +bnVsbCxhLG4pfWlmKGEubGVuZ3RoPjIpe2FbYS5sZW5ndGhdPSI8L2NwOmNvcmVQcm9wZXJ0aWVz +PiI7YVsxXT1hWzFdLnJlcGxhY2UoIi8+IiwiPiIpfXJldHVybiBhLmpvaW4oIiIpfXZhciBEaT1b +WyJBcHBsaWNhdGlvbiIsIkFwcGxpY2F0aW9uIiwic3RyaW5nIl0sWyJBcHBWZXJzaW9uIiwiQXBw +VmVyc2lvbiIsInN0cmluZyJdLFsiQ29tcGFueSIsIkNvbXBhbnkiLCJzdHJpbmciXSxbIkRvY1Nl +Y3VyaXR5IiwiRG9jU2VjdXJpdHkiLCJzdHJpbmciXSxbIk1hbmFnZXIiLCJNYW5hZ2VyIiwic3Ry +aW5nIl0sWyJIeXBlcmxpbmtzQ2hhbmdlZCIsIkh5cGVybGlua3NDaGFuZ2VkIiwiYm9vbCJdLFsi +U2hhcmVkRG9jIiwiU2hhcmVkRG9jIiwiYm9vbCJdLFsiTGlua3NVcFRvRGF0ZSIsIkxpbmtzVXBU +b0RhdGUiLCJib29sIl0sWyJTY2FsZUNyb3AiLCJTY2FsZUNyb3AiLCJib29sIl0sWyJIZWFkaW5n +UGFpcnMiLCJIZWFkaW5nUGFpcnMiLCJyYXciXSxbIlRpdGxlc09mUGFydHMiLCJUaXRsZXNPZlBh +cnRzIiwicmF3Il1dO3ZhciBQaT1bIldvcmtzaGVldHMiLCJTaGVldE5hbWVzIiwiTmFtZWRSYW5n +ZXMiLCJEZWZpbmVkTmFtZXMiLCJDaGFydHNoZWV0cyIsIkNoYXJ0TmFtZXMiXTtmdW5jdGlvbiBM +aShlLHIsdCxhKXt2YXIgbj1bXTtpZih0eXBlb2YgZT09InN0cmluZyIpbj1QdChlLGEpO2Vsc2Ug +Zm9yKHZhciBpPTA7aTxlLmxlbmd0aDsrK2kpbj1uLmNvbmNhdChlW2ldLm1hcChmdW5jdGlvbihl +KXtyZXR1cm57djplfX0pKTt2YXIgcz10eXBlb2Ygcj09InN0cmluZyI/UHQocixhKS5tYXAoZnVu +Y3Rpb24oZSl7cmV0dXJuIGUudn0pOnI7dmFyIGY9MCxsPTA7aWYocy5sZW5ndGg+MClmb3IodmFy +IG89MDtvIT09bi5sZW5ndGg7bys9Mil7bD0rbltvKzFdLnY7c3dpdGNoKG5bb10udil7Y2FzZSJX +b3Jrc2hlZXRzIjo7Y2FzZSLlt6XkvZzooagiOjtjYXNlItCb0LjRgdGC0YsiOjtjYXNlItij2YjY +sdin2YIg2KfZhNi52YXZhCI6O2Nhc2Ui44Ov44O844Kv44K344O844OIIjo7Y2FzZSLXktec15nX +ldeg15XXqiDXoteR15XXk9eUIjo7Y2FzZSJBcmJlaXRzYmzDpHR0ZXIiOjtjYXNlIsOHYWzEscWf +bWEgU2F5ZmFsYXLEsSI6O2Nhc2UiRmV1aWxsZXMgZGUgY2FsY3VsIjo7Y2FzZSJGb2dsaSBkaSBs +YXZvcm8iOjtjYXNlIkZvbGhhcyBkZSBjw6FsY3VsbyI6O2Nhc2UiUGxhbmlsaGFzIjo7Y2FzZSJS +ZWduZWFyayI6O2Nhc2UiSG9qYXMgZGUgY8OhbGN1bG8iOjtjYXNlIldlcmtibGFkZW4iOnQuV29y +a3NoZWV0cz1sO3QuU2hlZXROYW1lcz1zLnNsaWNlKGYsZitsKTticmVhaztjYXNlIk5hbWVkIFJh +bmdlcyI6O2Nhc2UiUmFuZ29zIGNvbiBub21icmUiOjtjYXNlIuWQjeWJjeS7mOOBjeS4gOimpyI6 +O2Nhc2UiQmVuYW5udGUgQmVyZWljaGUiOjtjYXNlIk5hdm5naXZuZSBvbXLDpWRlciI6dC5OYW1l +ZFJhbmdlcz1sO3QuRGVmaW5lZE5hbWVzPXMuc2xpY2UoZixmK2wpO2JyZWFrO2Nhc2UiQ2hhcnRz +Ijo7Y2FzZSJEaWFncmFtbWUiOnQuQ2hhcnRzaGVldHM9bDt0LkNoYXJ0TmFtZXM9cy5zbGljZShm +LGYrbCk7YnJlYWs7fWYrPWx9fWZ1bmN0aW9uIE1pKGUscix0KXt2YXIgYT17fTtpZighcilyPXt9 +O2U9SXQoZSk7RGkuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgbj0oV3IoZSx0WzBdKXx8W10pWzFd +O3N3aXRjaCh0WzJdKXtjYXNlInN0cmluZyI6aWYobilyW3RbMV1dPXB0KG4pO2JyZWFrO2Nhc2Ui +Ym9vbCI6clt0WzFdXT1uPT09InRydWUiO2JyZWFrO2Nhc2UicmF3Ijp2YXIgaT1CcihlLHRbMF0p +O2lmKGkmJmkubGVuZ3RoPjApYVt0WzFdXT1pWzFdO2JyZWFrO319KTtpZihhLkhlYWRpbmdQYWly +cyYmYS5UaXRsZXNPZlBhcnRzKUxpKGEuSGVhZGluZ1BhaXJzLGEuVGl0bGVzT2ZQYXJ0cyxyLHQp +O3JldHVybiByfWZ1bmN0aW9uIFVpKGUpe3ZhciByPVtdLHQ9QnQ7aWYoIWUpZT17fTtlLkFwcGxp +Y2F0aW9uPSJTaGVldEpTIjtyW3IubGVuZ3RoXT1hdDtyW3IubGVuZ3RoXT1CdCgiUHJvcGVydGll +cyIsbnVsbCx7eG1sbnM6JHQuRVhUX1BST1BTLCJ4bWxuczp2dCI6JHQudnR9KTtEaS5mb3JFYWNo +KGZ1bmN0aW9uKGEpe2lmKGVbYVsxXV09PT11bmRlZmluZWQpcmV0dXJuO3ZhciBuO3N3aXRjaChh +WzJdKXtjYXNlInN0cmluZyI6bj1idChTdHJpbmcoZVthWzFdXSkpO2JyZWFrO2Nhc2UiYm9vbCI6 +bj1lW2FbMV1dPyJ0cnVlIjoiZmFsc2UiO2JyZWFrO31pZihuIT09dW5kZWZpbmVkKXJbci5sZW5n +dGhdPXQoYVswXSxuKX0pO3Jbci5sZW5ndGhdPXQoIkhlYWRpbmdQYWlycyIsdCgidnQ6dmVjdG9y +Iix0KCJ2dDp2YXJpYW50IiwiPHZ0Omxwc3RyPldvcmtzaGVldHM8L3Z0Omxwc3RyPiIpK3QoInZ0 +OnZhcmlhbnQiLHQoInZ0Omk0IixTdHJpbmcoZS5Xb3Jrc2hlZXRzKSkpLHtzaXplOjIsYmFzZVR5 +cGU6InZhcmlhbnQifSkpO3Jbci5sZW5ndGhdPXQoIlRpdGxlc09mUGFydHMiLHQoInZ0OnZlY3Rv +ciIsZS5TaGVldE5hbWVzLm1hcChmdW5jdGlvbihlKXtyZXR1cm4iPHZ0Omxwc3RyPiIrYnQoZSkr +IjwvdnQ6bHBzdHI+In0pLmpvaW4oIiIpLHtzaXplOmUuV29ya3NoZWV0cyxiYXNlVHlwZToibHBz +dHIifSkpO2lmKHIubGVuZ3RoPjIpe3Jbci5sZW5ndGhdPSI8L1Byb3BlcnRpZXM+IjtyWzFdPXJb +MV0ucmVwbGFjZSgiLz4iLCI+Iil9cmV0dXJuIHIuam9pbigiIil9dmFyIEJpPS88W148Pl0rPlte +PF0qL2c7ZnVuY3Rpb24gV2koZSxyKXt2YXIgdD17fSxhPSIiO3ZhciBuPWUubWF0Y2goQmkpO2lm +KG4pZm9yKHZhciBpPTA7aSE9bi5sZW5ndGg7KytpKXt2YXIgcz1uW2ldLGY9Y3Qocyk7c3dpdGNo +KHV0KGZbMF0pKXtjYXNlIjw/eG1sIjpicmVhaztjYXNlIjxQcm9wZXJ0aWVzIjpicmVhaztjYXNl +Ijxwcm9wZXJ0eSI6YT1wdChmLm5hbWUpO2JyZWFrO2Nhc2UiPC9wcm9wZXJ0eT4iOmE9bnVsbDti +cmVhaztkZWZhdWx0OmlmKHMuaW5kZXhPZigiPHZ0OiIpPT09MCl7dmFyIGw9cy5zcGxpdCgiPiIp +O3ZhciBvPWxbMF0uc2xpY2UoNCksYz1sWzFdO3N3aXRjaChvKXtjYXNlImxwc3RyIjo7Y2FzZSJi +c3RyIjo7Y2FzZSJscHdzdHIiOnRbYV09cHQoYyk7YnJlYWs7Y2FzZSJib29sIjp0W2FdPUN0KGMp +O2JyZWFrO2Nhc2UiaTEiOjtjYXNlImkyIjo7Y2FzZSJpNCI6O2Nhc2UiaTgiOjtjYXNlImludCI6 +O2Nhc2UidWludCI6dFthXT1wYXJzZUludChjLDEwKTticmVhaztjYXNlInI0Ijo7Y2FzZSJyOCI6 +O2Nhc2UiZGVjaW1hbCI6dFthXT1wYXJzZUZsb2F0KGMpO2JyZWFrO2Nhc2UiZmlsZXRpbWUiOjtj +YXNlImRhdGUiOnRbYV09d3IoYyk7YnJlYWs7Y2FzZSJjeSI6O2Nhc2UiZXJyb3IiOnRbYV09cHQo +Yyk7YnJlYWs7ZGVmYXVsdDppZihvLnNsaWNlKC0xKT09Ii8iKWJyZWFrO2lmKHIuV1RGJiZ0eXBl +b2YgY29uc29sZSE9PSJ1bmRlZmluZWQiKWNvbnNvbGUud2FybigiVW5leHBlY3RlZCIscyxvLGwp +O319ZWxzZSBpZihzLnNsaWNlKDAsMik9PT0iPC8iKXt9ZWxzZSBpZihyLldURil0aHJvdyBuZXcg +RXJyb3Iocyk7fX1yZXR1cm4gdH1mdW5jdGlvbiB6aShlKXt2YXIgcj1bYXQsQnQoIlByb3BlcnRp +ZXMiLG51bGwse3htbG5zOiR0LkNVU1RfUFJPUFMsInhtbG5zOnZ0IjokdC52dH0pXTtpZighZSly +ZXR1cm4gci5qb2luKCIiKTt2YXIgdD0xO2lyKGUpLmZvckVhY2goZnVuY3Rpb24gYShuKXsrK3Q7 +cltyLmxlbmd0aF09QnQoInByb3BlcnR5Iix6dChlW25dLHRydWUpLHtmbXRpZDoie0Q1Q0RENTA1 +LTJFOUMtMTAxQi05Mzk3LTA4MDAyQjJDRjlBRX0iLHBpZDp0LG5hbWU6YnQobil9KX0pO2lmKHIu +bGVuZ3RoPjIpe3Jbci5sZW5ndGhdPSI8L1Byb3BlcnRpZXM+IjtyWzFdPXJbMV0ucmVwbGFjZSgi +Lz4iLCI+Iil9cmV0dXJuIHIuam9pbigiIil9dmFyIEhpPXtUaXRsZToiVGl0bGUiLFN1YmplY3Q6 +IlN1YmplY3QiLEF1dGhvcjoiQXV0aG9yIixLZXl3b3JkczoiS2V5d29yZHMiLENvbW1lbnRzOiJE +ZXNjcmlwdGlvbiIsTGFzdEF1dGhvcjoiTGFzdEF1dGhvciIsUmV2TnVtYmVyOiJSZXZpc2lvbiIs +QXBwbGljYXRpb246IkFwcE5hbWUiLExhc3RQcmludGVkOiJMYXN0UHJpbnRlZCIsQ3JlYXRlZERh +dGU6IkNyZWF0ZWQiLE1vZGlmaWVkRGF0ZToiTGFzdFNhdmVkIixDYXRlZ29yeToiQ2F0ZWdvcnki +LE1hbmFnZXI6Ik1hbmFnZXIiLENvbXBhbnk6IkNvbXBhbnkiLEFwcFZlcnNpb246IlZlcnNpb24i +LENvbnRlbnRTdGF0dXM6IkNvbnRlbnRTdGF0dXMiLElkZW50aWZpZXI6IklkZW50aWZpZXIiLExh +bmd1YWdlOiJMYW5ndWFnZSJ9O3ZhciBWaTtmdW5jdGlvbiAkaShlLHIsdCl7aWYoIVZpKVZpPWZy +KEhpKTtyPVZpW3JdfHxyO2Vbcl09dH1mdW5jdGlvbiBYaShlLHIpe3ZhciB0PVtdO2lyKEhpKS5t +YXAoZnVuY3Rpb24oZSl7Zm9yKHZhciByPTA7cjxJaS5sZW5ndGg7KytyKWlmKElpW3JdWzFdPT1l +KXJldHVybiBJaVtyXTtmb3Iocj0wO3I8RGkubGVuZ3RoOysrcilpZihEaVtyXVsxXT09ZSlyZXR1 +cm4gRGlbcl07dGhyb3cgZX0pLmZvckVhY2goZnVuY3Rpb24oYSl7aWYoZVthWzFdXT09bnVsbCly +ZXR1cm47dmFyIG49ciYmci5Qcm9wcyYmci5Qcm9wc1thWzFdXSE9bnVsbD9yLlByb3BzW2FbMV1d +OmVbYVsxXV07c3dpdGNoKGFbMl0pe2Nhc2UiZGF0ZSI6bj1uZXcgRGF0ZShuKS50b0lTT1N0cmlu +ZygpLnJlcGxhY2UoL1wuXGQqWi8sIloiKTticmVhazt9aWYodHlwZW9mIG49PSJudW1iZXIiKW49 +U3RyaW5nKG4pO2Vsc2UgaWYobj09PXRydWV8fG49PT1mYWxzZSl7bj1uPyIxIjoiMCJ9ZWxzZSBp +ZihuIGluc3RhbmNlb2YgRGF0ZSluPW5ldyBEYXRlKG4pLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgv +XC5cZCpaLywiIik7dC5wdXNoKE10KEhpW2FbMV1dfHxhWzFdLG4pKX0pO3JldHVybiBCdCgiRG9j +dW1lbnRQcm9wZXJ0aWVzIix0LmpvaW4oIiIpLHt4bWxuczpHdC5vfSl9ZnVuY3Rpb24gR2koZSxy +KXt2YXIgdD1bIldvcmtzaGVldHMiLCJTaGVldE5hbWVzIl07dmFyIGE9IkN1c3RvbURvY3VtZW50 +UHJvcGVydGllcyI7dmFyIG49W107aWYoZSlpcihlKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe2lmKCFP +YmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSlyZXR1cm47Zm9yKHZhciBh +PTA7YTxJaS5sZW5ndGg7KythKWlmKHI9PUlpW2FdWzFdKXJldHVybjtmb3IoYT0wO2E8RGkubGVu +Z3RoOysrYSlpZihyPT1EaVthXVsxXSlyZXR1cm47Zm9yKGE9MDthPHQubGVuZ3RoOysrYSlpZihy +PT10W2FdKXJldHVybjt2YXIgaT1lW3JdO3ZhciBzPSJzdHJpbmciO2lmKHR5cGVvZiBpPT0ibnVt +YmVyIil7cz0iZmxvYXQiO2k9U3RyaW5nKGkpfWVsc2UgaWYoaT09PXRydWV8fGk9PT1mYWxzZSl7 +cz0iYm9vbGVhbiI7aT1pPyIxIjoiMCJ9ZWxzZSBpPVN0cmluZyhpKTtuLnB1c2goQnQod3Qociks +aSx7ImR0OmR0IjpzfSkpfSk7aWYocilpcihyKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lmKCFPYmpl +Y3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocix0KSlyZXR1cm47aWYoZSYmT2JqZWN0 +LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsdCkpcmV0dXJuO3ZhciBhPXJbdF07dmFy +IGk9InN0cmluZyI7aWYodHlwZW9mIGE9PSJudW1iZXIiKXtpPSJmbG9hdCI7YT1TdHJpbmcoYSl9 +ZWxzZSBpZihhPT09dHJ1ZXx8YT09PWZhbHNlKXtpPSJib29sZWFuIjthPWE/IjEiOiIwIn1lbHNl +IGlmKGEgaW5zdGFuY2VvZiBEYXRlKXtpPSJkYXRlVGltZS50eiI7YT1hLnRvSVNPU3RyaW5nKCl9 +ZWxzZSBhPVN0cmluZyhhKTtuLnB1c2goQnQod3QodCksYSx7ImR0OmR0IjppfSkpfSk7cmV0dXJu +IjwiK2ErJyB4bWxucz0iJytHdC5vKyciPicrbi5qb2luKCIiKSsiPC8iK2ErIj4ifWZ1bmN0aW9u +IGppKGUpe3ZhciByPWUuX1IoNCksdD1lLl9SKDQpO3JldHVybiBuZXcgRGF0ZSgodC8xZTcqTWF0 +aC5wb3coMiwzMikrci8xZTctMTE2NDQ0NzM2MDApKjFlMykudG9JU09TdHJpbmcoKS5yZXBsYWNl +KC9cLjAwMC8sIiIpfWZ1bmN0aW9uIEtpKGUpe3ZhciByPXR5cGVvZiBlPT0ic3RyaW5nIj9uZXcg +RGF0ZShEYXRlLnBhcnNlKGUpKTplO3ZhciB0PXIuZ2V0VGltZSgpLzFlMysxMTY0NDQ3MzYwMDt2 +YXIgYT10JU1hdGgucG93KDIsMzIpLG49KHQtYSkvTWF0aC5wb3coMiwzMik7YSo9MWU3O24qPTFl +Nzt2YXIgaT1hL01hdGgucG93KDIsMzIpfDA7aWYoaT4wKXthPWElTWF0aC5wb3coMiwzMik7bis9 +aX12YXIgcz1SYSg4KTtzLl9XKDQsYSk7cy5fVyg0LG4pO3JldHVybiBzfWZ1bmN0aW9uIFlpKGUs +cix0KXt2YXIgYT1lLmw7dmFyIG49ZS5fUigwLCJscHN0ci1jcCIpO2lmKHQpd2hpbGUoZS5sLWEm +MykrK2UubDtyZXR1cm4gbn1mdW5jdGlvbiBaaShlLHIsdCl7dmFyIGE9ZS5fUigwLCJscHdzdHIi +KTtpZih0KWUubCs9NC0oYS5sZW5ndGgrMSYzKSYzO3JldHVybiBhfWZ1bmN0aW9uIEppKGUscix0 +KXtpZihyPT09MzEpcmV0dXJuIFppKGUpO3JldHVybiBZaShlLHIsdCl9ZnVuY3Rpb24gcWkoZSxy +LHQpe3JldHVybiBKaShlLHIsdD09PWZhbHNlPzA6NCl9ZnVuY3Rpb24gUWkoZSxyKXtpZighcil0 +aHJvdyBuZXcgRXJyb3IoIlZ0VW5hbGlnbmVkU3RyaW5nIG11c3QgaGF2ZSBwb3NpdGl2ZSBsZW5n +dGgiKTtyZXR1cm4gSmkoZSxyLDApfWZ1bmN0aW9uIGVzKGUpe3ZhciByPWUuX1IoNCk7dmFyIHQ9 +W107Zm9yKHZhciBhPTA7YSE9cjsrK2Epe3ZhciBuPWUubDt0W2FdPWUuX1IoMCwibHB3c3RyIiku +cmVwbGFjZShNLCIiKTtpZihlLmwtbiYyKWUubCs9Mn1yZXR1cm4gdH1mdW5jdGlvbiBycyhlKXt2 +YXIgcj1lLl9SKDQpO3ZhciB0PVtdO2Zvcih2YXIgYT0wO2EhPXI7KythKXRbYV09ZS5fUigwLCJs +cHN0ci1jcCIpLnJlcGxhY2UoTSwiIik7cmV0dXJuIHR9ZnVuY3Rpb24gdHMoZSl7dmFyIHI9ZS5s +O3ZhciB0PWZzKGUscmkpO2lmKGVbZS5sXT09MCYmZVtlLmwrMV09PTAmJmUubC1yJjIpZS5sKz0y +O3ZhciBhPWZzKGUsWG4pO3JldHVyblt0LGFdfWZ1bmN0aW9uIGFzKGUpe3ZhciByPWUuX1IoNCk7 +dmFyIHQ9W107Zm9yKHZhciBhPTA7YTxyLzI7KythKXQucHVzaCh0cyhlKSk7cmV0dXJuIHR9ZnVu +Y3Rpb24gbnMoZSxyKXt2YXIgdD1lLl9SKDQpO3ZhciBhPXt9O2Zvcih2YXIgbj0wO24hPXQ7Kytu +KXt2YXIgaT1lLl9SKDQpO3ZhciBzPWUuX1IoNCk7YVtpXT1lLl9SKHMscj09PTEyMDA/InV0ZjE2 +bGUiOiJ1dGY4IikucmVwbGFjZShNLCIiKS5yZXBsYWNlKFUsIiEiKTtpZihyPT09MTIwMCYmcyUy +KWUubCs9Mn1pZihlLmwmMyllLmw9ZS5sPj4yKzE8PDI7cmV0dXJuIGF9ZnVuY3Rpb24gaXMoZSl7 +dmFyIHI9ZS5fUig0KTt2YXIgdD1lLnNsaWNlKGUubCxlLmwrcik7ZS5sKz1yO2lmKChyJjMpPjAp +ZS5sKz00LShyJjMpJjM7cmV0dXJuIHR9ZnVuY3Rpb24gc3MoZSl7dmFyIHI9e307ci5TaXplPWUu +X1IoNCk7ZS5sKz1yLlNpemUrMy0oci5TaXplLTEpJTQ7cmV0dXJuIHJ9ZnVuY3Rpb24gZnMoZSxy +LHQpe3ZhciBhPWUuX1IoMiksbixpPXR8fHt9O2UubCs9MjtpZihyIT09am4paWYoYSE9PXImJnRp +LmluZGV4T2Yocik9PT0tMSYmISgociY2NTUzNCk9PTQxMjYmJihhJjY1NTM0KT09NDEyNikpdGhy +b3cgbmV3IEVycm9yKCJFeHBlY3RlZCB0eXBlICIrcisiIHNhdyAiK2EpO3N3aXRjaChyPT09am4/ +YTpyKXtjYXNlIDI6bj1lLl9SKDIsImkiKTtpZighaS5yYXcpZS5sKz0yO3JldHVybiBuO2Nhc2Ug +MzpuPWUuX1IoNCwiaSIpO3JldHVybiBuO2Nhc2UgMTE6cmV0dXJuIGUuX1IoNCkhPT0wO2Nhc2Ug +MTk6bj1lLl9SKDQpO3JldHVybiBuO2Nhc2UgMzA6ZS5sKz00O3ZhbD1xaShlLGVbZS5sLTRdKS5y +ZXBsYWNlKC8oXnxbXlx1MDAwMF0pXHUwMDAwKyQvLCIkMSIpO2JyZWFrO2Nhc2UgMzE6ZS5sKz00 +O3ZhbD1xaShlLGVbZS5sLTRdKS5yZXBsYWNlKC8oXnxbXlx1MDAwMF0pXHUwMDAwKyQvLCIkMSIp +O2JyZWFrO2Nhc2UgNjQ6cmV0dXJuIGppKGUpO2Nhc2UgNjU6cmV0dXJuIGlzKGUpO2Nhc2UgNzE6 +cmV0dXJuIHNzKGUpO2Nhc2UgODA6cmV0dXJuIHFpKGUsYSwhaS5yYXcpLnJlcGxhY2UoTSwiIik7 +Y2FzZSA4MTpyZXR1cm4gUWkoZSxhKS5yZXBsYWNlKE0sIiIpO2Nhc2UgNDEwODpyZXR1cm4gYXMo +ZSk7Y2FzZSA0MTI2OjtjYXNlIDQxMjc6cmV0dXJuIGE9PTQxMjc/ZXMoZSk6cnMoZSk7ZGVmYXVs +dDp0aHJvdyBuZXcgRXJyb3IoIlR5cGVkUHJvcGVydHlWYWx1ZSB1bnJlY29nbml6ZWQgdHlwZSAi +K3IrIiAiK2EpO319ZnVuY3Rpb24gbHMoZSxyKXt2YXIgdD1SYSg0KSxhPVJhKDQpO3QuX1coNCxl +PT04MD8zMTplKTtzd2l0Y2goZSl7Y2FzZSAzOmEuX1coLTQscik7YnJlYWs7Y2FzZSA1OmE9UmEo +OCk7YS5fVyg4LHIsImYiKTticmVhaztjYXNlIDExOmEuX1coNCxyPzE6MCk7YnJlYWs7Y2FzZSA2 +NDphPUtpKHIpO2JyZWFrO2Nhc2UgMzE6O2Nhc2UgODA6YT1SYSg0KzIqKHIubGVuZ3RoKzEpKyhy +Lmxlbmd0aCUyPzA6MikpO2EuX1coNCxyLmxlbmd0aCsxKTthLl9XKDAsciwiZGJjcyIpO3doaWxl +KGEubCE9YS5sZW5ndGgpYS5fVygxLDApO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJU +eXBlZFByb3BlcnR5VmFsdWUgdW5yZWNvZ25pemVkIHR5cGUgIitlKyIgIityKTt9cmV0dXJuIFAo +W3QsYV0pfWZ1bmN0aW9uIG9zKGUscil7dmFyIHQ9ZS5sO3ZhciBhPWUuX1IoNCk7dmFyIG49ZS5f +Uig0KTt2YXIgaT1bXSxzPTA7dmFyIGY9MDt2YXIgbz0tMSxjPXt9O2ZvcihzPTA7cyE9bjsrK3Mp +e3ZhciBoPWUuX1IoNCk7dmFyIHU9ZS5fUig0KTtpW3NdPVtoLHUrdF19aS5zb3J0KGZ1bmN0aW9u +KGUscil7cmV0dXJuIGVbMV0tclsxXX0pO3ZhciBkPXt9O2ZvcihzPTA7cyE9bjsrK3Mpe2lmKGUu +bCE9PWlbc11bMV0pe3ZhciB2PXRydWU7aWYocz4wJiZyKXN3aXRjaChyW2lbcy0xXVswXV0udCl7 +Y2FzZSAyOmlmKGUubCsyPT09aVtzXVsxXSl7ZS5sKz0yO3Y9ZmFsc2V9YnJlYWs7Y2FzZSA4MDpp +ZihlLmw8PWlbc11bMV0pe2UubD1pW3NdWzFdO3Y9ZmFsc2V9YnJlYWs7Y2FzZSA0MTA4OmlmKGUu +bDw9aVtzXVsxXSl7ZS5sPWlbc11bMV07dj1mYWxzZX1icmVhazt9aWYoKCFyfHxzPT0wKSYmZS5s +PD1pW3NdWzFdKXt2PWZhbHNlO2UubD1pW3NdWzFdfWlmKHYpdGhyb3cgbmV3IEVycm9yKCJSZWFk +IEVycm9yOiBFeHBlY3RlZCBhZGRyZXNzICIraVtzXVsxXSsiIGF0ICIrZS5sKyIgOiIrcyl9aWYo +cil7aWYoaVtzXVswXT09MCYmaS5sZW5ndGg+cysxJiZpW3NdWzFdPT1pW3MrMV1bMV0pY29udGlu +dWU7dmFyIHA9cltpW3NdWzBdXTtkW3Aubl09ZnMoZSxwLnQse3Jhdzp0cnVlfSk7aWYocC5wPT09 +InZlcnNpb24iKWRbcC5uXT1TdHJpbmcoZFtwLm5dPj4xNikrIi4iKygiMDAwMCIrU3RyaW5nKGRb +cC5uXSY2NTUzNSkpLnNsaWNlKC00KTtpZihwLm49PSJDb2RlUGFnZSIpc3dpdGNoKGRbcC5uXSl7 +Y2FzZSAwOmRbcC5uXT0xMjUyO2Nhc2UgODc0OjtjYXNlIDkzMjo7Y2FzZSA5MzY6O2Nhc2UgOTQ5 +OjtjYXNlIDk1MDo7Y2FzZSAxMjUwOjtjYXNlIDEyNTE6O2Nhc2UgMTI1Mzo7Y2FzZSAxMjU0Ojtj +YXNlIDEyNTU6O2Nhc2UgMTI1Njo7Y2FzZSAxMjU3OjtjYXNlIDEyNTg6O2Nhc2UgMWU0OjtjYXNl +IDEyMDA6O2Nhc2UgMTIwMTo7Y2FzZSAxMjUyOjtjYXNlIDY1ZTM6O2Nhc2UtNTM2OjtjYXNlIDY1 +MDAxOjtjYXNlLTUzNTpsKGY9ZFtwLm5dPj4+MCY2NTUzNSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBu +ZXcgRXJyb3IoIlVuc3VwcG9ydGVkIENvZGVQYWdlOiAiK2RbcC5uXSk7fX1lbHNle2lmKGlbc11b +MF09PT0xKXtmPWQuQ29kZVBhZ2U9ZnMoZSwkbik7bChmKTtpZihvIT09LTEpe3ZhciBtPWUubDtl +Lmw9aVtvXVsxXTtjPW5zKGUsZik7ZS5sPW19fWVsc2UgaWYoaVtzXVswXT09PTApe2lmKGY9PT0w +KXtvPXM7ZS5sPWlbcysxXVsxXTtjb250aW51ZX1jPW5zKGUsZil9ZWxzZXt2YXIgZz1jW2lbc11b +MF1dO3ZhciBiO3N3aXRjaChlW2UubF0pe2Nhc2UgNjU6ZS5sKz00O2I9aXMoZSk7YnJlYWs7Y2Fz +ZSAzMDplLmwrPTQ7Yj1xaShlLGVbZS5sLTRdKS5yZXBsYWNlKC8oXnxbXlx1MDAwMF0pXHUwMDAw +KyQvLCIkMSIpO2JyZWFrO2Nhc2UgMzE6ZS5sKz00O2I9cWkoZSxlW2UubC00XSkucmVwbGFjZSgv +KF58W15cdTAwMDBdKVx1MDAwMCskLywiJDEiKTticmVhaztjYXNlIDM6ZS5sKz00O2I9ZS5fUig0 +LCJpIik7YnJlYWs7Y2FzZSAxOTplLmwrPTQ7Yj1lLl9SKDQpO2JyZWFrO2Nhc2UgNTplLmwrPTQ7 +Yj1lLl9SKDgsImYiKTticmVhaztjYXNlIDExOmUubCs9NDtiPWJzKGUsNCk7YnJlYWs7Y2FzZSA2 +NDplLmwrPTQ7Yj13cihqaShlKSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoInVucGFy +c2VkIHZhbHVlOiAiK2VbZS5sXSk7fWRbZ109Yn19fWUubD10K2E7cmV0dXJuIGR9dmFyIGNzPVsi +Q29kZVBhZ2UiLCJUaHVtYm5haWwiLCJfUElEX0xJTktCQVNFIiwiX1BJRF9ITElOS1MiLCJTeXN0 +ZW1JZGVudGlmaWVyIiwiRk1USUQiXTtmdW5jdGlvbiBocyhlKXtzd2l0Y2godHlwZW9mIGUpe2Nh +c2UiYm9vbGVhbiI6cmV0dXJuIDExO2Nhc2UibnVtYmVyIjpyZXR1cm4oZXwwKT09ZT8zOjU7Y2Fz +ZSJzdHJpbmciOnJldHVybiAzMTtjYXNlIm9iamVjdCI6aWYoZSBpbnN0YW5jZW9mIERhdGUpcmV0 +dXJuIDY0O2JyZWFrO31yZXR1cm4tMX1mdW5jdGlvbiB1cyhlLHIsdCl7dmFyIGE9UmEoOCksbj1b +XSxpPVtdO3ZhciBzPTgsZj0wO3ZhciBsPVJhKDgpLG89UmEoOCk7bC5fVyg0LDIpO2wuX1coNCwx +MjAwKTtvLl9XKDQsMSk7aS5wdXNoKGwpO24ucHVzaChvKTtzKz04K2wubGVuZ3RoO2lmKCFyKXtv +PVJhKDgpO28uX1coNCwwKTtuLnVuc2hpZnQobyk7dmFyIGM9W1JhKDQpXTtjWzBdLl9XKDQsZS5s +ZW5ndGgpO2ZvcihmPTA7ZjxlLmxlbmd0aDsrK2Ype3ZhciBoPWVbZl1bMF07bD1SYSg0KzQrMioo +aC5sZW5ndGgrMSkrKGgubGVuZ3RoJTI/MDoyKSk7bC5fVyg0LGYrMik7bC5fVyg0LGgubGVuZ3Ro +KzEpO2wuX1coMCxoLCJkYmNzIik7d2hpbGUobC5sIT1sLmxlbmd0aClsLl9XKDEsMCk7Yy5wdXNo +KGwpfWw9UChjKTtpLnVuc2hpZnQobCk7cys9OCtsLmxlbmd0aH1mb3IoZj0wO2Y8ZS5sZW5ndGg7 +KytmKXtpZihyJiYhcltlW2ZdWzBdXSljb250aW51ZTtpZihjcy5pbmRleE9mKGVbZl1bMF0pPi0x +fHxQaS5pbmRleE9mKGVbZl1bMF0pPi0xKWNvbnRpbnVlO2lmKGVbZl1bMV09PW51bGwpY29udGlu +dWU7dmFyIHU9ZVtmXVsxXSxkPTA7aWYocil7ZD0rcltlW2ZdWzBdXTt2YXIgdj10W2RdO2lmKHYu +cD09InZlcnNpb24iJiZ0eXBlb2YgdT09InN0cmluZyIpe3ZhciBwPXUuc3BsaXQoIi4iKTt1PSgr +cFswXTw8MTYpKygrcFsxXXx8MCl9bD1scyh2LnQsdSl9ZWxzZXt2YXIgbT1ocyh1KTtpZihtPT0t +MSl7bT0zMTt1PVN0cmluZyh1KX1sPWxzKG0sdSl9aS5wdXNoKGwpO289UmEoOCk7by5fVyg0LCFy +PzIrZjpkKTtuLnB1c2gobyk7cys9OCtsLmxlbmd0aH12YXIgZz04KihpLmxlbmd0aCsxKTtmb3Io +Zj0wO2Y8aS5sZW5ndGg7KytmKXtuW2ZdLl9XKDQsZyk7Zys9aVtmXS5sZW5ndGh9YS5fVyg0LHMp +O2EuX1coNCxpLmxlbmd0aCk7cmV0dXJuIFAoW2FdLmNvbmNhdChuKS5jb25jYXQoaSkpfWZ1bmN0 +aW9uIGRzKGUscix0KXt2YXIgYT1lLmNvbnRlbnQ7aWYoIWEpcmV0dXJue307T2EoYSwwKTt2YXIg +bixpLHMsZixsPTA7YS5jaGsoImZlZmYiLCJCeXRlIE9yZGVyOiAiKTthLl9SKDIpO3ZhciBvPWEu +X1IoNCk7dmFyIGM9YS5fUigxNik7aWYoYyE9PVFlLnV0aWxzLmNvbnN0cy5IRUFERVJfQ0xTSUQm +JmMhPT10KXRocm93IG5ldyBFcnJvcigiQmFkIFByb3BlcnR5U2V0IENMU0lEICIrYyk7bj1hLl9S +KDQpO2lmKG4hPT0xJiZuIT09Mil0aHJvdyBuZXcgRXJyb3IoIlVucmVjb2duaXplZCAjU2V0czog +IituKTtpPWEuX1IoMTYpO2Y9YS5fUig0KTtpZihuPT09MSYmZiE9PWEubCl0aHJvdyBuZXcgRXJy +b3IoIkxlbmd0aCBtaXNtYXRjaDogIitmKyIgIT09ICIrYS5sKTtlbHNlIGlmKG49PT0yKXtzPWEu +X1IoMTYpO2w9YS5fUig0KX12YXIgaD1vcyhhLHIpO3ZhciB1PXtTeXN0ZW1JZGVudGlmaWVyOm99 +O2Zvcih2YXIgZCBpbiBoKXVbZF09aFtkXTt1LkZNVElEPWk7aWYobj09PTEpcmV0dXJuIHU7aWYo +bC1hLmw9PTIpYS5sKz0yO2lmKGEubCE9PWwpdGhyb3cgbmV3IEVycm9yKCJMZW5ndGggbWlzbWF0 +Y2ggMjogIithLmwrIiAhPT0gIitsKTt2YXIgdjt0cnl7dj1vcyhhLG51bGwpfWNhdGNoKHApe31m +b3IoZCBpbiB2KXVbZF09dltkXTt1LkZNVElEPVtpLHNdO3JldHVybiB1fWZ1bmN0aW9uIHZzKGUs +cix0LGEsbixpKXt2YXIgcz1SYShuPzY4OjQ4KTt2YXIgZj1bc107cy5fVygyLDY1NTM0KTtzLl9X +KDIsMCk7cy5fVyg0LDg0MjQxMjU5OSk7cy5fVygxNixRZS51dGlscy5jb25zdHMuSEVBREVSX0NM +U0lELCJoZXgiKTtzLl9XKDQsbj8yOjEpO3MuX1coMTYsciwiaGV4Iik7cy5fVyg0LG4/Njg6NDgp +O3ZhciBsPXVzKGUsdCxhKTtmLnB1c2gobCk7aWYobil7dmFyIG89dXMobixudWxsLG51bGwpO3Mu +X1coMTYsaSwiaGV4Iik7cy5fVyg0LDY4K2wubGVuZ3RoKTtmLnB1c2gobyl9cmV0dXJuIFAoZil9 +ZnVuY3Rpb24gcHMoZSxyKXtlLl9SKHIpO3JldHVybiBudWxsfWZ1bmN0aW9uIG1zKGUscil7aWYo +IXIpcj1SYShlKTtmb3IodmFyIHQ9MDt0PGU7Kyt0KXIuX1coMSwwKTtyZXR1cm4gcn1mdW5jdGlv +biBncyhlLHIsdCl7dmFyIGE9W10sbj1lLmwrcjt3aGlsZShlLmw8bilhLnB1c2godChlLG4tZS5s +KSk7aWYobiE9PWUubCl0aHJvdyBuZXcgRXJyb3IoIlNsdXJwIGVycm9yIik7cmV0dXJuIGF9ZnVu +Y3Rpb24gYnMoZSxyKXtyZXR1cm4gZS5fUihyKT09PTF9ZnVuY3Rpb24gd3MoZSxyKXtpZighcily +PVJhKDIpO3IuX1coMiwrISFlKTtyZXR1cm4gcn1mdW5jdGlvbiBrcyhlKXtyZXR1cm4gZS5fUigy +LCJ1Iil9ZnVuY3Rpb24gQXMoZSxyKXtpZighcilyPVJhKDIpO3IuX1coMixlKTtyZXR1cm4gcn1m +dW5jdGlvbiBUcyhlLHIpe3JldHVybiBncyhlLHIsa3MpfWZ1bmN0aW9uIHlzKGUpe3ZhciByPWUu +X1IoMSksdD1lLl9SKDEpO3JldHVybiB0PT09MT9yOnI9PT0xfWZ1bmN0aW9uIEVzKGUscix0KXtp +ZighdCl0PVJhKDIpO3QuX1coMSxyPT0iZSI/K2U6KyEhZSk7dC5fVygxLHI9PSJlIj8xOjApO3Jl +dHVybiB0fWZ1bmN0aW9uIENzKGUsdCxhKXt2YXIgbj1lLl9SKGEmJmEuYmlmZj49MTI/MjoxKTt2 +YXIgaT0ic2Jjcy1jb250Ijt2YXIgcz1yO2lmKGEmJmEuYmlmZj49OClyPTEyMDA7aWYoIWF8fGEu +YmlmZj09OCl7dmFyIGY9ZS5fUigxKTtpZihmKXtpPSJkYmNzLWNvbnQifX1lbHNlIGlmKGEuYmlm +Zj09MTIpe2k9IndzdHIifWlmKGEuYmlmZj49MiYmYS5iaWZmPD01KWk9ImNwc3RyIjt2YXIgbD1u +P2UuX1IobixpKToiIjtyPXM7cmV0dXJuIGx9ZnVuY3Rpb24gX3MoZSl7dmFyIHQ9cjtyPTEyMDA7 +dmFyIGE9ZS5fUigyKSxuPWUuX1IoMSk7dmFyIGk9biY0LHM9biY4O3ZhciBmPTErKG4mMSk7dmFy +IGw9MCxvO3ZhciBjPXt9O2lmKHMpbD1lLl9SKDIpO2lmKGkpbz1lLl9SKDQpO3ZhciBoPWY9PTI/ +ImRiY3MtY29udCI6InNiY3MtY29udCI7dmFyIHU9YT09PTA/IiI6ZS5fUihhLGgpO2lmKHMpZS5s +Kz00Kmw7aWYoaSllLmwrPW87Yy50PXU7aWYoIXMpe2MucmF3PSI8dD4iK2MudCsiPC90PiI7Yy5y +PWMudH1yPXQ7cmV0dXJuIGN9ZnVuY3Rpb24gU3MoZSl7dmFyIHI9ZS50fHwiIix0PTE7dmFyIGE9 +UmEoMysodD4xPzI6MCkpO2EuX1coMixyLmxlbmd0aCk7YS5fVygxLCh0PjE/ODowKXwxKTtpZih0 +PjEpYS5fVygyLHQpO3ZhciBuPVJhKDIqci5sZW5ndGgpO24uX1coMipyLmxlbmd0aCxyLCJ1dGYx +NmxlIik7dmFyIGk9W2Esbl07cmV0dXJuIFAoaSl9ZnVuY3Rpb24geHMoZSxyLHQpe3ZhciBhO2lm +KHQpe2lmKHQuYmlmZj49MiYmdC5iaWZmPD01KXJldHVybiBlLl9SKHIsImNwc3RyIik7aWYodC5i +aWZmPj0xMilyZXR1cm4gZS5fUihyLCJkYmNzLWNvbnQiKX12YXIgbj1lLl9SKDEpO2lmKG49PT0w +KXthPWUuX1Iociwic2Jjcy1jb250Iil9ZWxzZXthPWUuX1IociwiZGJjcy1jb250Iil9cmV0dXJu +IGF9ZnVuY3Rpb24gT3MoZSxyLHQpe3ZhciBhPWUuX1IodCYmdC5iaWZmPT0yPzE6Mik7aWYoYT09 +PTApe2UubCsrO3JldHVybiIifXJldHVybiB4cyhlLGEsdCl9ZnVuY3Rpb24gSXMoZSxyLHQpe2lm +KHQuYmlmZj41KXJldHVybiBPcyhlLHIsdCk7dmFyIGE9ZS5fUigxKTtpZihhPT09MCl7ZS5sKys7 +cmV0dXJuIiJ9cmV0dXJuIGUuX1IoYSx0LmJpZmY8PTR8fCFlLmxlbnM/ImNwc3RyIjoic2Jjcy1j +b250Iil9ZnVuY3Rpb24gUnMoZSxyLHQpe2lmKCF0KXQ9UmEoMysyKmUubGVuZ3RoKTt0Ll9XKDIs +ZS5sZW5ndGgpO3QuX1coMSwxKTt0Ll9XKDMxLGUsInV0ZjE2bGUiKTtyZXR1cm4gdH1mdW5jdGlv +biBOcyhlKXt2YXIgcj1lLl9SKDEpO2UubCsrO3ZhciB0PWUuX1IoMik7ZS5sKz0yO3JldHVyblty +LHRdfWZ1bmN0aW9uIEZzKGUpe3ZhciByPWUuX1IoNCksdD1lLmw7dmFyIGE9ZmFsc2U7aWYocj4y +NCl7ZS5sKz1yLTI0O2lmKGUuX1IoMTYpPT09Ijc5NTg4MWY0M2IxZDdmNDhhZjJjODI1ZGM0ODUy +NzYzIilhPXRydWU7ZS5sPXR9dmFyIG49ZS5fUigoYT9yLTI0OnIpPj4xLCJ1dGYxNmxlIikucmVw +bGFjZShNLCIiKTtpZihhKWUubCs9MjQ7cmV0dXJuIG59ZnVuY3Rpb24gRHMoZSl7dmFyIHI9ZS5f +UigyKTt2YXIgdD0iIjt3aGlsZShyLS0gPjApdCs9Ii4uLyI7dmFyIGE9ZS5fUigwLCJscHN0ci1h +bnNpIik7ZS5sKz0yO2lmKGUuX1IoMikhPTU3MDA1KXRocm93IG5ldyBFcnJvcigiQmFkIEZpbGVN +b25pa2VyIik7dmFyIG49ZS5fUig0KTtpZihuPT09MClyZXR1cm4gdCthLnJlcGxhY2UoL1xcL2cs +Ii8iKTt2YXIgaT1lLl9SKDQpO2lmKGUuX1IoMikhPTMpdGhyb3cgbmV3IEVycm9yKCJCYWQgRmls +ZU1vbmlrZXIiKTt2YXIgcz1lLl9SKGk+PjEsInV0ZjE2bGUiKS5yZXBsYWNlKE0sIiIpO3JldHVy +biB0K3N9ZnVuY3Rpb24gUHMoZSxyKXt2YXIgdD1lLl9SKDE2KTtyLT0xNjtzd2l0Y2godCl7Y2Fz +ZSJlMGM5ZWE3OWY5YmFjZTExOGM4MjAwYWEwMDRiYTkwYiI6cmV0dXJuIEZzKGUscik7Y2FzZSIw +MzAzMDAwMDAwMDAwMDAwYzAwMDAwMDAwMDAwMDA0NiI6cmV0dXJuIERzKGUscik7ZGVmYXVsdDp0 +aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIE1vbmlrZXIgIit0KTt9fWZ1bmN0aW9uIExzKGUp +e3ZhciByPWUuX1IoNCk7dmFyIHQ9cj4wP2UuX1IociwidXRmMTZsZSIpLnJlcGxhY2UoTSwiIik6 +IiI7cmV0dXJuIHR9ZnVuY3Rpb24gTXMoZSxyKXtpZighcilyPVJhKDYrZS5sZW5ndGgqMik7ci5f +Vyg0LDErZS5sZW5ndGgpO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7Kyt0KXIuX1coMixlLmNoYXJD +b2RlQXQodCkpO3IuX1coMiwwKTtyZXR1cm4gcn1mdW5jdGlvbiBVcyhlLHIpe3ZhciB0PWUubCty +O3ZhciBhPWUuX1IoNCk7aWYoYSE9PTIpdGhyb3cgbmV3IEVycm9yKCJVbnJlY29nbml6ZWQgc3Ry +ZWFtVmVyc2lvbjogIithKTt2YXIgbj1lLl9SKDIpO2UubCs9Mjt2YXIgaSxzLGYsbCxvPSIiLGMs +aDtpZihuJjE2KWk9THMoZSx0LWUubCk7aWYobiYxMjgpcz1McyhlLHQtZS5sKTtpZigobiYyNTcp +PT09MjU3KWY9THMoZSx0LWUubCk7aWYoKG4mMjU3KT09PTEpbD1QcyhlLHQtZS5sKTtpZihuJjgp +bz1McyhlLHQtZS5sKTtpZihuJjMyKWM9ZS5fUigxNik7aWYobiY2NCloPWppKGUpO2UubD10O3Zh +ciB1PXN8fGZ8fGx8fCIiO2lmKHUmJm8pdSs9IiMiK287aWYoIXUpdT0iIyIrbztpZihuJjImJnUu +Y2hhckF0KDApPT0iLyImJnUuY2hhckF0KDEpIT0iLyIpdT0iZmlsZTovLyIrdTt2YXIgZD17VGFy +Z2V0OnV9O2lmKGMpZC5ndWlkPWM7aWYoaClkLnRpbWU9aDtpZihpKWQuVG9vbHRpcD1pO3JldHVy +biBkfWZ1bmN0aW9uIEJzKGUpe3ZhciByPVJhKDUxMiksdD0wO3ZhciBhPWUuVGFyZ2V0O2lmKGEu +c2xpY2UoMCw3KT09ImZpbGU6Ly8iKWE9YS5zbGljZSg3KTt2YXIgbj1hLmluZGV4T2YoIiMiKTt2 +YXIgaT1uPi0xPzMxOjIzO3N3aXRjaChhLmNoYXJBdCgwKSl7Y2FzZSIjIjppPTI4O2JyZWFrO2Nh +c2UiLiI6aSY9fjI7YnJlYWs7fXIuX1coNCwyKTtyLl9XKDQsaSk7dmFyIHM9WzgsNjgxNTgyNyw2 +NjE5MjM3LDQ4NDk3ODAsODNdO2Zvcih0PTA7dDxzLmxlbmd0aDsrK3Qpci5fVyg0LHNbdF0pO2lm +KGk9PTI4KXthPWEuc2xpY2UoMSk7TXMoYSxyKX1lbHNlIGlmKGkmMil7cz0iZTAgYzkgZWEgNzkg +ZjkgYmEgY2UgMTEgOGMgODIgMDAgYWEgMDAgNGIgYTkgMGIiLnNwbGl0KCIgIik7Zm9yKHQ9MDt0 +PHMubGVuZ3RoOysrdClyLl9XKDEscGFyc2VJbnQoc1t0XSwxNikpO3ZhciBmPW4+LTE/YS5zbGlj +ZSgwLG4pOmE7ci5fVyg0LDIqKGYubGVuZ3RoKzEpKTtmb3IodD0wO3Q8Zi5sZW5ndGg7Kyt0KXIu +X1coMixmLmNoYXJDb2RlQXQodCkpO3IuX1coMiwwKTtpZihpJjgpTXMobj4tMT9hLnNsaWNlKG4r +MSk6IiIscil9ZWxzZXtzPSIwMyAwMyAwMCAwMCAwMCAwMCAwMCAwMCBjMCAwMCAwMCAwMCAwMCAw +MCAwMCA0NiIuc3BsaXQoIiAiKTtmb3IodD0wO3Q8cy5sZW5ndGg7Kyt0KXIuX1coMSxwYXJzZUlu +dChzW3RdLDE2KSk7dmFyIGw9MDt3aGlsZShhLnNsaWNlKGwqMyxsKjMrMyk9PSIuLi8ifHxhLnNs +aWNlKGwqMyxsKjMrMyk9PSIuLlxcIikrK2w7ci5fVygyLGwpO3IuX1coNCxhLmxlbmd0aC0zKmwr +MSk7Zm9yKHQ9MDt0PGEubGVuZ3RoLTMqbDsrK3Qpci5fVygxLGEuY2hhckNvZGVBdCh0KzMqbCkm +MjU1KTtyLl9XKDEsMCk7ci5fVygyLDY1NTM1KTtyLl9XKDIsNTcwMDUpO2Zvcih0PTA7dDw2Oysr +dClyLl9XKDQsMCl9cmV0dXJuIHIuc2xpY2UoMCxyLmwpfWZ1bmN0aW9uIFdzKGUpe3ZhciByPWUu +X1IoMSksdD1lLl9SKDEpLGE9ZS5fUigxKSxuPWUuX1IoMSk7cmV0dXJuW3IsdCxhLG5dfWZ1bmN0 +aW9uIHpzKGUscil7dmFyIHQ9V3MoZSxyKTt0WzNdPTA7cmV0dXJuIHR9ZnVuY3Rpb24gSHMoZSxy +LHQpe3ZhciBhPWUuX1IoMik7dmFyIG49ZS5fUigyKTt2YXIgaT17cjphLGM6bixpeGZlOjB9O2lm +KHQmJnQuYmlmZj09Mnx8cj09Nyl7dmFyIHM9ZS5fUigxKTtpLml4ZmU9cyY2MztlLmwrPTJ9ZWxz +ZSBpLml4ZmU9ZS5fUigyKTtyZXR1cm4gaX1mdW5jdGlvbiBWcyhlLHIsdCxhKXtpZighYSlhPVJh +KDYpO2EuX1coMixlKTthLl9XKDIscik7YS5fVygyLHR8fDApO3JldHVybiBhfWZ1bmN0aW9uICRz +KGUpe3ZhciByPWUuX1IoMik7dmFyIHQ9ZS5fUigyKTtlLmwrPTg7cmV0dXJue3R5cGU6cixmbGFn +czp0fX1mdW5jdGlvbiBYcyhlLHIsdCl7cmV0dXJuIHI9PT0wPyIiOklzKGUscix0KX1mdW5jdGlv +biBHcyhlLHIsdCl7dmFyIGE9dC5iaWZmPjg/NDoyO3ZhciBuPWUuX1IoYSksaT1lLl9SKGEsImki +KSxzPWUuX1IoYSwiaSIpO3JldHVybltuLGksc119ZnVuY3Rpb24ganMoZSl7dmFyIHI9ZS5fUigy +KTt2YXIgdD1PbihlKTtyZXR1cm5bcix0XX1mdW5jdGlvbiBLcyhlLHIsdCl7ZS5sKz00O3ItPTQ7 +dmFyIGE9ZS5sK3I7dmFyIG49Q3MoZSxyLHQpO3ZhciBpPWUuX1IoMik7YS09ZS5sO2lmKGkhPT1h +KXRocm93IG5ldyBFcnJvcigiTWFsZm9ybWVkIEFkZGluVWRmOiBwYWRkaW5nID0gIithKyIgIT0g +IitpKTtlLmwrPWk7cmV0dXJuIG59ZnVuY3Rpb24gWXMoZSl7dmFyIHI9ZS5fUigyKTt2YXIgdD1l +Ll9SKDIpO3ZhciBhPWUuX1IoMik7dmFyIG49ZS5fUigyKTtyZXR1cm57czp7YzphLHI6cn0sZTp7 +YzpuLHI6dH19fWZ1bmN0aW9uIFpzKGUscil7aWYoIXIpcj1SYSg4KTtyLl9XKDIsZS5zLnIpO3Iu +X1coMixlLmUucik7ci5fVygyLGUucy5jKTtyLl9XKDIsZS5lLmMpO3JldHVybiByfWZ1bmN0aW9u +IEpzKGUpe3ZhciByPWUuX1IoMik7dmFyIHQ9ZS5fUigyKTt2YXIgYT1lLl9SKDEpO3ZhciBuPWUu +X1IoMSk7cmV0dXJue3M6e2M6YSxyOnJ9LGU6e2M6bixyOnR9fX12YXIgcXM9SnM7ZnVuY3Rpb24g +UXMoZSl7ZS5sKz00O3ZhciByPWUuX1IoMik7dmFyIHQ9ZS5fUigyKTt2YXIgYT1lLl9SKDIpO2Uu +bCs9MTI7cmV0dXJuW3QscixhXX1mdW5jdGlvbiBlZihlKXt2YXIgcj17fTtlLmwrPTQ7ZS5sKz0x +NjtyLmZTaGFyZWROb3RlPWUuX1IoMik7ZS5sKz00O3JldHVybiByfWZ1bmN0aW9uIHJmKGUpe3Zh +ciByPXt9O2UubCs9NDtlLmNmPWUuX1IoMik7cmV0dXJuIHJ9ZnVuY3Rpb24gdGYoZSl7ZS5sKz0y +O2UubCs9ZS5fUigyKX12YXIgYWY9ezA6dGYsNDp0Ziw1OnRmLDY6dGYsNzpyZiw4OnRmLDk6dGYs +MTA6dGYsMTE6dGYsMTI6dGYsMTM6ZWYsMTQ6dGYsMTU6dGYsMTY6dGYsMTc6dGYsMTg6dGYsMTk6 +dGYsMjA6dGYsMjE6UXN9O2Z1bmN0aW9uIG5mKGUscil7dmFyIHQ9ZS5sK3I7dmFyIGE9W107d2hp +bGUoZS5sPHQpe3ZhciBuPWUuX1IoMik7ZS5sLT0yO3RyeXthW25dPWFmW25dKGUsdC1lLmwpfWNh +dGNoKGkpe2UubD10O3JldHVybiBhfX1pZihlLmwhPXQpZS5sPXQ7cmV0dXJuIGF9ZnVuY3Rpb24g +c2YoZSxyKXt2YXIgdD17QklGRlZlcjowLGR0OjB9O3QuQklGRlZlcj1lLl9SKDIpO3ItPTI7aWYo +cj49Mil7dC5kdD1lLl9SKDIpO2UubC09Mn1zd2l0Y2godC5CSUZGVmVyKXtjYXNlIDE1MzY6O2Nh +c2UgMTI4MDo7Y2FzZSAxMDI0OjtjYXNlIDc2ODo7Y2FzZSA1MTI6O2Nhc2UgMjo7Y2FzZSA3OmJy +ZWFrO2RlZmF1bHQ6aWYocj42KXRocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCBCSUZGIFZlciAi +K3QuQklGRlZlcik7fWUuX1Iocik7cmV0dXJuIHR9ZnVuY3Rpb24gZmYoZSxyLHQpe3ZhciBhPTE1 +MzYsbj0xNjtzd2l0Y2godC5ib29rVHlwZSl7Y2FzZSJiaWZmOCI6YnJlYWs7Y2FzZSJiaWZmNSI6 +YT0xMjgwO249ODticmVhaztjYXNlImJpZmY0IjphPTQ7bj02O2JyZWFrO2Nhc2UiYmlmZjMiOmE9 +MztuPTY7YnJlYWs7Y2FzZSJiaWZmMiI6YT0yO249NDticmVhaztjYXNlInhsYSI6YnJlYWs7ZGVm +YXVsdDp0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIEJJRkYgdmVyc2lvbiIpO312YXIgaT1S +YShuKTtpLl9XKDIsYSk7aS5fVygyLHIpO2lmKG4+NClpLl9XKDIsMjkyODIpO2lmKG4+NilpLl9X +KDIsMTk5Nyk7aWYobj44KXtpLl9XKDIsNDkxNjEpO2kuX1coMiwxKTtpLl9XKDIsMTc5OCk7aS5f +VygyLDApfXJldHVybiBpfWZ1bmN0aW9uIGxmKGUscil7aWYocj09PTApcmV0dXJuIDEyMDA7aWYo +ZS5fUigyKSE9PTEyMDApe31yZXR1cm4gMTIwMH1mdW5jdGlvbiBvZihlLHIsdCl7aWYodC5lbmMp +e2UubCs9cjtyZXR1cm4iIn12YXIgYT1lLmw7dmFyIG49SXMoZSwwLHQpO2UuX1IocithLWUubCk7 +cmV0dXJuIG59ZnVuY3Rpb24gY2YoZSxyKXt2YXIgdD0hcnx8ci5iaWZmPT04O3ZhciBhPVJhKHQ/ +MTEyOjU0KTthLl9XKHIuYmlmZj09OD8yOjEsNyk7aWYodClhLl9XKDEsMCk7YS5fVyg0LDg1OTAw +NzA1OSk7YS5fVyg0LDU0NTg1NDh8KHQ/MDo1MzY4NzA5MTIpKTt3aGlsZShhLmw8YS5sZW5ndGgp +YS5fVygxLHQ/MDozMik7cmV0dXJuIGF9ZnVuY3Rpb24gaGYoZSxyLHQpe3ZhciBhPXQmJnQuYmlm +Zj09OHx8cj09Mj9lLl9SKDIpOihlLmwrPXIsMCk7cmV0dXJue2ZEaWFsb2c6YSYxNixmQmVsb3c6 +YSY2NCxmUmlnaHQ6YSYxMjh9fWZ1bmN0aW9uIHVmKGUscix0KXt2YXIgYT0iIjtpZih0LmJpZmY9 +PTQpe2E9Q3MoZSwwLHQpO2lmKGEubGVuZ3RoPT09MClhPSJTaGVldDEiO3JldHVybntuYW1lOmF9 +fXZhciBuPWUuX1IoNCk7dmFyIGk9ZS5fUigxKSYzO3ZhciBzPWUuX1IoMSk7c3dpdGNoKHMpe2Nh +c2UgMDpzPSJXb3Jrc2hlZXQiO2JyZWFrO2Nhc2UgMTpzPSJNYWNyb3NoZWV0IjticmVhaztjYXNl +IDI6cz0iQ2hhcnRzaGVldCI7YnJlYWs7Y2FzZSA2OnM9IlZCQU1vZHVsZSI7YnJlYWs7fWE9Q3Mo +ZSwwLHQpO2lmKGEubGVuZ3RoPT09MClhPSJTaGVldDEiO3JldHVybntwb3M6bixoczppLGR0OnMs +bmFtZTphfX1mdW5jdGlvbiBkZihlLHIpe3ZhciB0PSFyfHxyLmJpZmY+PTg/MjoxO3ZhciBhPVJh +KDgrdCplLm5hbWUubGVuZ3RoKTthLl9XKDQsZS5wb3MpO2EuX1coMSxlLmhzfHwwKTthLl9XKDEs +ZS5kdCk7YS5fVygxLGUubmFtZS5sZW5ndGgpO2lmKHIuYmlmZj49OClhLl9XKDEsMSk7YS5fVyh0 +KmUubmFtZS5sZW5ndGgsZS5uYW1lLHIuYmlmZjw4PyJzYmNzIjoidXRmMTZsZSIpO3ZhciBuPWEu +c2xpY2UoMCxhLmwpO24ubD1hLmw7cmV0dXJuIG59ZnVuY3Rpb24gdmYoZSxyKXt2YXIgdD1lLmwr +cjt2YXIgYT1lLl9SKDQpO3ZhciBuPWUuX1IoNCk7dmFyIGk9W107Zm9yKHZhciBzPTA7cyE9biYm +ZS5sPHQ7KytzKXtpLnB1c2goX3MoZSkpfWkuQ291bnQ9YTtpLlVuaXF1ZT1uO3JldHVybiBpfWZ1 +bmN0aW9uIHBmKGUscil7dmFyIHQ9UmEoOCk7dC5fVyg0LGUuQ291bnQpO3QuX1coNCxlLlVuaXF1 +ZSk7dmFyIGE9W107Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDsrK24pYVtuXT1TcyhlW25dLHIpO3Zh +ciBpPVAoW3RdLmNvbmNhdChhKSk7aS5wYXJ0cz1bdC5sZW5ndGhdLmNvbmNhdChhLm1hcChmdW5j +dGlvbihlKXtyZXR1cm4gZS5sZW5ndGh9KSk7cmV0dXJuIGl9ZnVuY3Rpb24gbWYoZSxyKXt2YXIg +dD17fTt0LmRzc3Q9ZS5fUigyKTtlLmwrPXItMjtyZXR1cm4gdH1mdW5jdGlvbiBnZihlKXt2YXIg +cj17fTtyLnI9ZS5fUigyKTtyLmM9ZS5fUigyKTtyLmNudD1lLl9SKDIpLXIuYzt2YXIgdD1lLl9S +KDIpO2UubCs9NDt2YXIgYT1lLl9SKDEpO2UubCs9MztpZihhJjcpci5sZXZlbD1hJjc7aWYoYSYz +MilyLmhpZGRlbj10cnVlO2lmKGEmNjQpci5ocHQ9dC8yMDtyZXR1cm4gcn1mdW5jdGlvbiBiZihl +KXt2YXIgcj0kcyhlKTtpZihyLnR5cGUhPTIyMTEpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIEZ1 +dHVyZSBSZWNvcmQgIityLnR5cGUpO3ZhciB0PWUuX1IoNCk7cmV0dXJuIHQhPT0wfWZ1bmN0aW9u +IHdmKGUpe2UuX1IoMik7cmV0dXJuIGUuX1IoNCl9ZnVuY3Rpb24ga2YoZSxyLHQpe3ZhciBhPTA7 +aWYoISh0JiZ0LmJpZmY9PTIpKXthPWUuX1IoMil9dmFyIG49ZS5fUigyKTtpZih0JiZ0LmJpZmY9 +PTIpe2E9MS0obj4+MTUpO24mPTMyNzY3fXZhciBpPXtVbnN5bmNlZDphJjEsRHlaZXJvOihhJjIp +Pj4xLEV4QXNjOihhJjQpPj4yLEV4RHNjOihhJjgpPj4zfTtyZXR1cm5baSxuXX1mdW5jdGlvbiBB +ZihlKXt2YXIgcj1lLl9SKDIpLHQ9ZS5fUigyKSxhPWUuX1IoMiksbj1lLl9SKDIpO3ZhciBpPWUu +X1IoMikscz1lLl9SKDIpLGY9ZS5fUigyKTt2YXIgbD1lLl9SKDIpLG89ZS5fUigyKTtyZXR1cm57 +UG9zOltyLHRdLERpbTpbYSxuXSxGbGFnczppLEN1clRhYjpzLEZpcnN0VGFiOmYsU2VsZWN0ZWQ6 +bCxUYWJSYXRpbzpvfX1mdW5jdGlvbiBUZigpe3ZhciBlPVJhKDE4KTtlLl9XKDIsMCk7ZS5fVygy +LDApO2UuX1coMiwyOTI4MCk7ZS5fVygyLDE3NjAwKTtlLl9XKDIsNTYpO2UuX1coMiwwKTtlLl9X +KDIsMCk7ZS5fVygyLDEpO2UuX1coMiw1MDApO3JldHVybiBlfWZ1bmN0aW9uIHlmKGUscix0KXtp +Zih0JiZ0LmJpZmY+PTImJnQuYmlmZjw1KXJldHVybnt9O3ZhciBhPWUuX1IoMik7cmV0dXJue1JU +TDphJjY0fX1mdW5jdGlvbiBFZihlKXt2YXIgcj1SYSgxOCksdD0xNzE4O2lmKGUmJmUuUlRMKXR8 +PTY0O3IuX1coMix0KTtyLl9XKDQsMCk7ci5fVyg0LDY0KTtyLl9XKDQsMCk7ci5fVyg0LDApO3Jl +dHVybiByfWZ1bmN0aW9uIENmKCl7fWZ1bmN0aW9uIF9mKGUscix0KXt2YXIgYT17ZHlIZWlnaHQ6 +ZS5fUigyKSxmbDplLl9SKDIpfTtzd2l0Y2godCYmdC5iaWZmfHw4KXtjYXNlIDI6YnJlYWs7Y2Fz +ZSAzOjtjYXNlIDQ6ZS5sKz0yO2JyZWFrO2RlZmF1bHQ6ZS5sKz0xMDticmVhazt9YS5uYW1lPUNz +KGUsMCx0KTtyZXR1cm4gYX1mdW5jdGlvbiBTZihlLHIpe3ZhciB0PWUubmFtZXx8IkFyaWFsIjt2 +YXIgYT1yJiZyLmJpZmY9PTUsbj1hPzE1K3QubGVuZ3RoOjE2KzIqdC5sZW5ndGg7dmFyIGk9UmEo +bik7aS5fVygyLChlLnN6fHwxMikqMjApO2kuX1coNCwwKTtpLl9XKDIsNDAwKTtpLl9XKDQsMCk7 +aS5fVygyLDApO2kuX1coMSx0Lmxlbmd0aCk7aWYoIWEpaS5fVygxLDEpO2kuX1coKGE/MToyKSp0 +Lmxlbmd0aCx0LGE/InNiY3MiOiJ1dGYxNmxlIik7cmV0dXJuIGl9ZnVuY3Rpb24geGYoZSxyLHQp +e3ZhciBhPUhzKGUscix0KTthLmlzc3Q9ZS5fUig0KTtyZXR1cm4gYX1mdW5jdGlvbiBPZihlLHIs +dCxhKXt2YXIgbj1SYSgxMCk7VnMoZSxyLGEsbik7bi5fVyg0LHQpO3JldHVybiBufWZ1bmN0aW9u +IElmKGUscix0KXtpZih0LmJpZmZndWVzcyYmdC5iaWZmPT0yKXQuYmlmZj01O3ZhciBhPWUubCty +O3ZhciBuPUhzKGUscix0KTt2YXIgaT1PcyhlLGEtZS5sLHQpO24udmFsPWk7cmV0dXJuIG59ZnVu +Y3Rpb24gUmYoZSxyLHQsYSxuKXt2YXIgaT0hbnx8bi5iaWZmPT04O3ZhciBzPVJhKDYrMisgK2kr +KDEraSkqdC5sZW5ndGgpO1ZzKGUscixhLHMpO3MuX1coMix0Lmxlbmd0aCk7aWYoaSlzLl9XKDEs +MSk7cy5fVygoMStpKSp0Lmxlbmd0aCx0LGk/InV0ZjE2bGUiOiJzYmNzIik7cmV0dXJuIHN9ZnVu +Y3Rpb24gTmYoZSxyLHQpe3ZhciBhPWUuX1IoMik7dmFyIG49SXMoZSwwLHQpO3JldHVyblthLG5d +fWZ1bmN0aW9uIEZmKGUscix0LGEpe3ZhciBuPXQmJnQuYmlmZj09NTtpZighYSlhPVJhKG4/Myty +Lmxlbmd0aDo1KzIqci5sZW5ndGgpO2EuX1coMixlKTthLl9XKG4/MToyLHIubGVuZ3RoKTtpZigh +bilhLl9XKDEsMSk7YS5fVygobj8xOjIpKnIubGVuZ3RoLHIsbj8ic2JjcyI6InV0ZjE2bGUiKTt2 +YXIgaT1hLmxlbmd0aD5hLmw/YS5zbGljZSgwLGEubCk6YTtpZihpLmw9PW51bGwpaS5sPWkubGVu +Z3RoO3JldHVybiBpfXZhciBEZj1JcztmdW5jdGlvbiBQZihlKXt2YXIgcj1SYSgxK2UubGVuZ3Ro +KTtyLl9XKDEsZS5sZW5ndGgpO3IuX1coZS5sZW5ndGgsZSwic2JjcyIpO3JldHVybiByfWZ1bmN0 +aW9uIExmKGUpe3ZhciByPVJhKDMrZS5sZW5ndGgpO3IubCs9MjtyLl9XKDEsZS5sZW5ndGgpO3Iu +X1coZS5sZW5ndGgsZSwic2JjcyIpO3JldHVybiByfWZ1bmN0aW9uIE1mKGUscix0KXt2YXIgYT1l +Lmwrcjt2YXIgbj10LmJpZmY9PTh8fCF0LmJpZmY/NDoyO3ZhciBpPWUuX1Iobikscz1lLl9SKG4p +O3ZhciBmPWUuX1IoMiksbD1lLl9SKDIpO2UubD1hO3JldHVybntzOntyOmksYzpmfSxlOntyOnMs +YzpsfX19ZnVuY3Rpb24gVWYoZSxyKXt2YXIgdD1yLmJpZmY9PTh8fCFyLmJpZmY/NDoyO3ZhciBh +PVJhKDIqdCs2KTthLl9XKHQsZS5zLnIpO2EuX1codCxlLmUucisxKTthLl9XKDIsZS5zLmMpO2Eu +X1coMixlLmUuYysxKTthLl9XKDIsMCk7cmV0dXJuIGF9ZnVuY3Rpb24gQmYoZSl7dmFyIHI9ZS5f +UigyKSx0PWUuX1IoMik7dmFyIGE9anMoZSk7cmV0dXJue3I6cixjOnQsaXhmZTphWzBdLHJrbnVt +OmFbMV19fWZ1bmN0aW9uIFdmKGUscil7dmFyIHQ9ZS5sK3ItMjt2YXIgYT1lLl9SKDIpLG49ZS5f +UigyKTt2YXIgaT1bXTt3aGlsZShlLmw8dClpLnB1c2goanMoZSkpO2lmKGUubCE9PXQpdGhyb3cg +bmV3IEVycm9yKCJNdWxSSyByZWFkIGVycm9yIik7dmFyIHM9ZS5fUigyKTtpZihpLmxlbmd0aCE9 +cy1uKzEpdGhyb3cgbmV3IEVycm9yKCJNdWxSSyBsZW5ndGggbWlzbWF0Y2giKTtyZXR1cm57cjph +LGM6bixDOnMscmtyZWM6aX19ZnVuY3Rpb24gemYoZSxyKXt2YXIgdD1lLmwrci0yO3ZhciBhPWUu +X1IoMiksbj1lLl9SKDIpO3ZhciBpPVtdO3doaWxlKGUubDx0KWkucHVzaChlLl9SKDIpKTtpZihl +LmwhPT10KXRocm93IG5ldyBFcnJvcigiTXVsQmxhbmsgcmVhZCBlcnJvciIpO3ZhciBzPWUuX1Io +Mik7aWYoaS5sZW5ndGghPXMtbisxKXRocm93IG5ldyBFcnJvcigiTXVsQmxhbmsgbGVuZ3RoIG1p +c21hdGNoIik7cmV0dXJue3I6YSxjOm4sQzpzLGl4ZmU6aX19ZnVuY3Rpb24gSGYoZSxyLHQsYSl7 +dmFyIG49e307dmFyIGk9ZS5fUig0KSxzPWUuX1IoNCk7dmFyIGY9ZS5fUig0KSxsPWUuX1IoMik7 +bi5wYXR0ZXJuVHlwZT1zaVtmPj4yNl07aWYoIWEuY2VsbFN0eWxlcylyZXR1cm4gbjtuLmFsYz1p +Jjc7bi5mV3JhcD1pPj4zJjE7bi5hbGNWPWk+PjQmNztuLmZKdXN0TGFzdD1pPj43JjE7bi50cm90 +PWk+PjgmMjU1O24uY0luZGVudD1pPj4xNiYxNTtuLmZTaHJpbmtUb0ZpdD1pPj4yMCYxO24uaVJl +YWRPcmRlcj1pPj4yMiYyO24uZkF0ck51bT1pPj4yNiYxO24uZkF0ckZudD1pPj4yNyYxO24uZkF0 +ckFsYz1pPj4yOCYxO24uZkF0ckJkcj1pPj4yOSYxO24uZkF0clBhdD1pPj4zMCYxO24uZkF0clBy +b3Q9aT4+MzEmMTtuLmRnTGVmdD1zJjE1O24uZGdSaWdodD1zPj40JjE1O24uZGdUb3A9cz4+OCYx +NTtuLmRnQm90dG9tPXM+PjEyJjE1O24uaWN2TGVmdD1zPj4xNiYxMjc7bi5pY3ZSaWdodD1zPj4y +MyYxMjc7bi5ncmJpdERpYWc9cz4+MzAmMztuLmljdlRvcD1mJjEyNztuLmljdkJvdHRvbT1mPj43 +JjEyNztuLmljdkRpYWc9Zj4+MTQmMTI3O24uZGdEaWFnPWY+PjIxJjE1O24uaWN2Rm9yZT1sJjEy +NztuLmljdkJhY2s9bD4+NyYxMjc7bi5mc3hCdXR0b249bD4+MTQmMTtyZXR1cm4gbn1mdW5jdGlv +biBWZihlLHIsdCl7dmFyIGE9e307YS5pZm50PWUuX1IoMik7YS5udW1GbXRJZD1lLl9SKDIpO2Eu +ZmxhZ3M9ZS5fUigyKTthLmZTdHlsZT1hLmZsYWdzPj4yJjE7ci09NjthLmRhdGE9SGYoZSxyLGEu +ZlN0eWxlLHQpO3JldHVybiBhfWZ1bmN0aW9uICRmKGUscix0LGEpe3ZhciBuPXQmJnQuYmlmZj09 +NTtpZighYSlhPVJhKG4/MTY6MjApO2EuX1coMiwwKTtpZihlLnN0eWxlKXthLl9XKDIsZS5udW1G +bXRJZHx8MCk7YS5fVygyLDY1NTI0KX1lbHNle2EuX1coMixlLm51bUZtdElkfHwwKTthLl9XKDIs +cjw8NCl9dmFyIGk9MDtpZihlLm51bUZtdElkPjAmJm4paXw9MTAyNDthLl9XKDQsaSk7YS5fVyg0 +LDApO2lmKCFuKWEuX1coNCwwKTthLl9XKDIsMCk7cmV0dXJuIGF9ZnVuY3Rpb24gWGYoZSl7dmFy +IHI9e307ci5pZm50PWUuX1IoMSk7ZS5sKys7ci5mbGFncz1lLl9SKDEpO3IubnVtRm10SWQ9ci5m +bGFncyY2MztyLmZsYWdzPj49NjtyLmZTdHlsZT0wO3IuZGF0YT17fTtyZXR1cm4gcn1mdW5jdGlv +biBHZihlKXt2YXIgcj1SYSg0KTtyLmwrPTI7ci5fVygxLGUubnVtRm10SWQpO3IubCsrO3JldHVy +biByfWZ1bmN0aW9uIGpmKGUpe3ZhciByPVJhKDEyKTtyLmwrKztyLl9XKDEsZS5udW1GbXRJZCk7 +ci5sKz0xMDtyZXR1cm4gcn12YXIgS2Y9amY7ZnVuY3Rpb24gWWYoZSl7dmFyIHI9e307ci5pZm50 +PWUuX1IoMSk7ci5udW1GbXRJZD1lLl9SKDEpO3IuZmxhZ3M9ZS5fUigyKTtyLmZTdHlsZT1yLmZs +YWdzPj4yJjE7ci5kYXRhPXt9OwpyZXR1cm4gcn1mdW5jdGlvbiBaZihlKXt2YXIgcj17fTtyLmlm +bnQ9ZS5fUigxKTtyLm51bUZtdElkPWUuX1IoMSk7ci5mbGFncz1lLl9SKDIpO3IuZlN0eWxlPXIu +ZmxhZ3M+PjImMTtyLmRhdGE9e307cmV0dXJuIHJ9ZnVuY3Rpb24gSmYoZSl7ZS5sKz00O3ZhciBy +PVtlLl9SKDIpLGUuX1IoMildO2lmKHJbMF0hPT0wKXJbMF0tLTtpZihyWzFdIT09MClyWzFdLS07 +aWYoclswXT43fHxyWzFdPjcpdGhyb3cgbmV3IEVycm9yKCJCYWQgR3V0dGVyczogIityLmpvaW4o +InwiKSk7cmV0dXJuIHJ9ZnVuY3Rpb24gcWYoZSl7dmFyIHI9UmEoOCk7ci5fVyg0LDApO3IuX1co +MixlWzBdP2VbMF0rMTowKTtyLl9XKDIsZVsxXT9lWzFdKzE6MCk7cmV0dXJuIHJ9ZnVuY3Rpb24g +UWYoZSxyLHQpe3ZhciBhPUhzKGUsNix0KTt2YXIgbj15cyhlLDIpO2EudmFsPW47YS50PW49PT10 +cnVlfHxuPT09ZmFsc2U/ImIiOiJlIjtyZXR1cm4gYX1mdW5jdGlvbiBlbChlLHIsdCxhLG4saSl7 +dmFyIHM9UmEoOCk7VnMoZSxyLGEscyk7RXModCxpLHMpO3JldHVybiBzfWZ1bmN0aW9uIHJsKGUs +cix0KXtpZih0LmJpZmZndWVzcyYmdC5iaWZmPT0yKXQuYmlmZj01O3ZhciBhPUhzKGUsNix0KTt2 +YXIgbj1QbihlLDgpO2EudmFsPW47cmV0dXJuIGF9ZnVuY3Rpb24gdGwoZSxyLHQsYSl7dmFyIG49 +UmEoMTQpO1ZzKGUscixhLG4pO0xuKHQsbik7cmV0dXJuIG59dmFyIGFsPVhzO2Z1bmN0aW9uIG5s +KGUscix0KXt2YXIgYT1lLmwrcjt2YXIgbj1lLl9SKDIpO3ZhciBpPWUuX1IoMik7dC5zYmNjaD1p +O2lmKGk9PTEwMjV8fGk9PTE0ODQ5KXJldHVybltpLG5dO2lmKGk8MXx8aT4yNTUpdGhyb3cgbmV3 +IEVycm9yKCJVbmV4cGVjdGVkIFN1cEJvb2sgdHlwZTogIitpKTt2YXIgcz14cyhlLGkpO3ZhciBm +PVtdO3doaWxlKGE+ZS5sKWYucHVzaChPcyhlKSk7cmV0dXJuW2ksbixzLGZdfWZ1bmN0aW9uIGls +KGUscix0KXt2YXIgYT1lLl9SKDIpO3ZhciBuO3ZhciBpPXtmQnVpbHRJbjphJjEsZldhbnRBZHZp +c2U6YT4+PjEmMSxmV2FudFBpY3Q6YT4+PjImMSxmT2xlOmE+Pj4zJjEsZk9sZUxpbms6YT4+PjQm +MSxjZjphPj4+NSYxMDIzLGZJY29uOmE+Pj4xNSYxfTtpZih0LnNiY2NoPT09MTQ4NDkpbj1Lcyhl +LHItMix0KTtpLmJvZHk9bnx8ZS5fUihyLTIpO2lmKHR5cGVvZiBuPT09InN0cmluZyIpaS5OYW1l +PW47cmV0dXJuIGl9ZnVuY3Rpb24gc2woZSxyLHQpe3ZhciBhPWUubCtyO3ZhciBuPWUuX1IoMik7 +dmFyIGk9ZS5fUigxKTt2YXIgcz1lLl9SKDEpO3ZhciBmPWUuX1IodCYmdC5iaWZmPT0yPzE6Mik7 +dmFyIGw9MDtpZighdHx8dC5iaWZmPj01KXtpZih0LmJpZmYhPTUpZS5sKz0yO2w9ZS5fUigyKTtp +Zih0LmJpZmY9PTUpZS5sKz0yO2UubCs9NH12YXIgbz14cyhlLHMsdCk7aWYobiYzMilvPXVpW28u +Y2hhckNvZGVBdCgwKV07dmFyIGM9YS1lLmw7aWYodCYmdC5iaWZmPT0yKS0tYzt2YXIgaD1hPT1l +Lmx8fGY9PT0wfHwhKGM+MCk/W106V2QoZSxjLHQsZik7cmV0dXJue2NoS2V5OmksTmFtZTpvLGl0 +YWI6bCxyZ2NlOmh9fWZ1bmN0aW9uIGZsKGUscix0KXtpZih0LmJpZmY8OClyZXR1cm4gbGwoZSxy +LHQpO2lmKCEodC5iaWZmPjgpJiZyPT1lW2UubF0rKGVbZS5sKzFdPT0zPzE6MCkrMSlyZXR1cm4g +bGwoZSxyLHQpO3ZhciBhPVtdLG49ZS5sK3IsaT1lLl9SKHQuYmlmZj44PzQ6Mik7d2hpbGUoaS0t +IT09MClhLnB1c2goR3MoZSx0LmJpZmY+OD8xMjo2LHQpKTtpZihlLmwhPW4pdGhyb3cgbmV3IEVy +cm9yKCJCYWQgRXh0ZXJuU2hlZXQ6ICIrZS5sKyIgIT0gIituKTtyZXR1cm4gYX1mdW5jdGlvbiBs +bChlLHIsdCl7aWYoZVtlLmwrMV09PTMpZVtlLmxdKys7dmFyIGE9Q3MoZSxyLHQpO3JldHVybiBh +LmNoYXJDb2RlQXQoMCk9PTM/YS5zbGljZSgxKTphfWZ1bmN0aW9uIG9sKGUscix0KXtpZih0LmJp +ZmY8OCl7ZS5sKz1yO3JldHVybn12YXIgYT1lLl9SKDIpO3ZhciBuPWUuX1IoMik7dmFyIGk9eHMo +ZSxhLHQpO3ZhciBzPXhzKGUsbix0KTtyZXR1cm5baSxzXX1mdW5jdGlvbiBjbChlLHIsdCl7dmFy +IGE9SnMoZSw2KTtlLmwrKzt2YXIgbj1lLl9SKDEpO3ItPTg7cmV0dXJuW3pkKGUscix0KSxuLGFd +fWZ1bmN0aW9uIGhsKGUscix0KXt2YXIgYT1xcyhlLDYpO3N3aXRjaCh0LmJpZmYpe2Nhc2UgMjpl +LmwrKztyLT03O2JyZWFrO2Nhc2UgMzo7Y2FzZSA0OmUubCs9MjtyLT04O2JyZWFrO2RlZmF1bHQ6 +ZS5sKz02O3ItPTEyO31yZXR1cm5bYSxVZChlLHIsdCxhKV19ZnVuY3Rpb24gdWwoZSl7dmFyIHI9 +ZS5fUig0KSE9PTA7dmFyIHQ9ZS5fUig0KSE9PTA7dmFyIGE9ZS5fUig0KTtyZXR1cm5bcix0LGFd +fWZ1bmN0aW9uIGRsKGUscix0KXt2YXIgYT1lLl9SKDIpLG49ZS5fUigyKTt2YXIgaT1lLl9SKDIp +LHM9ZS5fUigyKTt2YXIgZj1JcyhlLDAsdCk7cmV0dXJuW3tyOmEsYzpufSxmLHMsaV19ZnVuY3Rp +b24gdmwoZSxyLHQpe2lmKHQmJnQuYmlmZjw4KXt2YXIgYT1lLl9SKDIpLG49ZS5fUigyKTtpZihh +PT02NTUzNXx8YT09LTEpcmV0dXJuO3ZhciBpPWUuX1IoMik7dmFyIHM9ZS5fUihNYXRoLm1pbihp +LDIwNDgpLCJjcHN0ciIpO3JldHVyblt7cjphLGM6bn0sc119cmV0dXJuIGRsKGUscix0KX1mdW5j +dGlvbiBwbChlLHIsdCxhKXt2YXIgbj1SYSg2KyhhfHxlLmxlbmd0aCkpO24uX1coMixyKTtuLl9X +KDIsdCk7bi5fVygyLGF8fGUubGVuZ3RoKTtuLl9XKGUubGVuZ3RoLGUsInNiY3MiKTtyZXR1cm4g +bn1mdW5jdGlvbiBtbChlLHIpe3ZhciB0PVtdO3ZhciBhPWUuX1IoMik7d2hpbGUoYS0tKXQucHVz +aChZcyhlLHIpKTtyZXR1cm4gdH1mdW5jdGlvbiBnbChlKXt2YXIgcj1SYSgyK2UubGVuZ3RoKjgp +O3IuX1coMixlLmxlbmd0aCk7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDsrK3QpWnMoZVt0XSxyKTty +ZXR1cm4gcn1mdW5jdGlvbiBibChlLHIsdCl7aWYodCYmdC5iaWZmPDgpcmV0dXJuIGtsKGUscix0 +KTt2YXIgYT1RcyhlLDIyKTt2YXIgbj1uZihlLHItMjIsYVsxXSk7cmV0dXJue2NtbzphLGZ0Om59 +fXZhciB3bD17ODpmdW5jdGlvbihlLHIpe3ZhciB0PWUubCtyO2UubCs9MTA7dmFyIGE9ZS5fUigy +KTtlLmwrPTQ7ZS5sKz0yO2UubCs9MjtlLmwrPTI7ZS5sKz00O3ZhciBuPWUuX1IoMSk7ZS5sKz1u +O2UubD10O3JldHVybntmbXQ6YX19fTtmdW5jdGlvbiBrbChlLHIsdCl7ZS5sKz00O3ZhciBhPWUu +X1IoMik7dmFyIG49ZS5fUigyKTt2YXIgaT1lLl9SKDIpO2UubCs9MjtlLmwrPTI7ZS5sKz0yO2Uu +bCs9MjtlLmwrPTI7ZS5sKz0yO2UubCs9MjtlLmwrPTI7ZS5sKz0yO2UubCs9NjtyLT0zNjt2YXIg +cz1bXTtzLnB1c2goKHdsW2FdfHxJYSkoZSxyLHQpKTtyZXR1cm57Y21vOltuLGEsaV0sZnQ6c319 +ZnVuY3Rpb24gQWwoZSxyLHQpe3ZhciBhPWUubDt2YXIgbj0iIjt0cnl7ZS5sKz00O3ZhciBpPSh0 +Lmxhc3RvYmp8fHtjbW86WzAsMF19KS5jbW9bMV07dmFyIHM7aWYoWzAsNSw3LDExLDEyLDE0XS5p +bmRleE9mKGkpPT0tMSllLmwrPTY7ZWxzZSBzPU5zKGUsNix0KTt2YXIgZj1lLl9SKDIpO2UuX1Io +Mik7a3MoZSwyKTt2YXIgbD1lLl9SKDIpO2UubCs9bDtmb3IodmFyIG89MTtvPGUubGVucy5sZW5n +dGgtMTsrK28pe2lmKGUubC1hIT1lLmxlbnNbb10pdGhyb3cgbmV3IEVycm9yKCJUeE86IGJhZCBj +b250aW51ZSByZWNvcmQiKTt2YXIgYz1lW2UubF07dmFyIGg9eHMoZSxlLmxlbnNbbysxXS1lLmxl +bnNbb10tMSk7bis9aDtpZihuLmxlbmd0aD49KGM/ZjoyKmYpKWJyZWFrfWlmKG4ubGVuZ3RoIT09 +ZiYmbi5sZW5ndGghPT1mKjIpe3Rocm93IG5ldyBFcnJvcigiY2NoVGV4dDogIitmKyIgIT0gIitu +Lmxlbmd0aCl9ZS5sPWErcjtyZXR1cm57dDpufX1jYXRjaCh1KXtlLmw9YStyO3JldHVybnt0Om59 +fX1mdW5jdGlvbiBUbChlLHIpe3ZhciB0PVlzKGUsOCk7ZS5sKz0xNjt2YXIgYT1VcyhlLHItMjQp +O3JldHVyblt0LGFdfWZ1bmN0aW9uIHlsKGUpe3ZhciByPVJhKDI0KTt2YXIgdD1LYShlWzBdKTty +Ll9XKDIsdC5yKTtyLl9XKDIsdC5yKTtyLl9XKDIsdC5jKTtyLl9XKDIsdC5jKTt2YXIgYT0iZDAg +YzkgZWEgNzkgZjkgYmEgY2UgMTEgOGMgODIgMDAgYWEgMDAgNGIgYTkgMGIiLnNwbGl0KCIgIik7 +Zm9yKHZhciBuPTA7bjwxNjsrK24pci5fVygxLHBhcnNlSW50KGFbbl0sMTYpKTtyZXR1cm4gUChb +cixCcyhlWzFdKV0pfWZ1bmN0aW9uIEVsKGUscil7ZS5fUigyKTt2YXIgdD1ZcyhlLDgpO3ZhciBh +PWUuX1IoKHItMTApLzIsImRiY3MtY29udCIpO2E9YS5yZXBsYWNlKE0sIiIpO3JldHVyblt0LGFd +fWZ1bmN0aW9uIENsKGUpe3ZhciByPWVbMV0uVG9vbHRpcDt2YXIgdD1SYSgxMCsyKihyLmxlbmd0 +aCsxKSk7dC5fVygyLDIwNDgpO3ZhciBhPUthKGVbMF0pO3QuX1coMixhLnIpO3QuX1coMixhLnIp +O3QuX1coMixhLmMpO3QuX1coMixhLmMpO2Zvcih2YXIgbj0wO248ci5sZW5ndGg7KytuKXQuX1co +MixyLmNoYXJDb2RlQXQobikpO3QuX1coMiwwKTtyZXR1cm4gdH1mdW5jdGlvbiBfbChlKXt2YXIg +cj1bMCwwXSx0O3Q9ZS5fUigyKTtyWzBdPWlpW3RdfHx0O3Q9ZS5fUigyKTtyWzFdPWlpW3RdfHx0 +O3JldHVybiByfWZ1bmN0aW9uIFNsKGUpe2lmKCFlKWU9UmEoNCk7ZS5fVygyLDEpO2UuX1coMiwx +KTtyZXR1cm4gZX1mdW5jdGlvbiB4bChlKXt2YXIgcj1lLl9SKDIpO3ZhciB0PVtdO3doaWxlKHIt +LSA+MCl0LnB1c2goenMoZSw4KSk7cmV0dXJuIHR9ZnVuY3Rpb24gT2woZSl7dmFyIHI9ZS5fUigy +KTt2YXIgdD1bXTt3aGlsZShyLS0gPjApdC5wdXNoKHpzKGUsOCkpO3JldHVybiB0fWZ1bmN0aW9u +IElsKGUpe2UubCs9Mjt2YXIgcj17Y3hmczowLGNyYzowfTtyLmN4ZnM9ZS5fUigyKTtyLmNyYz1l +Ll9SKDQpO3JldHVybiByfWZ1bmN0aW9uIFJsKGUscix0KXtpZighdC5jZWxsU3R5bGVzKXJldHVy +biBJYShlLHIpO3ZhciBhPXQmJnQuYmlmZj49MTI/NDoyO3ZhciBuPWUuX1IoYSk7dmFyIGk9ZS5f +UihhKTt2YXIgcz1lLl9SKGEpO3ZhciBmPWUuX1IoYSk7dmFyIGw9ZS5fUigyKTtpZihhPT0yKWUu +bCs9Mjt2YXIgbz17czpuLGU6aSx3OnMsaXhmZTpmLGZsYWdzOmx9O2lmKHQuYmlmZj49NXx8IXQu +YmlmZilvLmxldmVsPWw+PjgmNztyZXR1cm4gb31mdW5jdGlvbiBObChlLHIpe3ZhciB0PVJhKDEy +KTt0Ll9XKDIscik7dC5fVygyLHIpO3QuX1coMixlLndpZHRoKjI1Nik7dC5fVygyLDApO3ZhciBh +PTA7aWYoZS5oaWRkZW4pYXw9MTt0Ll9XKDEsYSk7YT1lLmxldmVsfHwwO3QuX1coMSxhKTt0Ll9X +KDIsMCk7cmV0dXJuIHR9ZnVuY3Rpb24gRmwoZSxyKXt2YXIgdD17fTtpZihyPDMyKXJldHVybiB0 +O2UubCs9MTY7dC5oZWFkZXI9UG4oZSw4KTt0LmZvb3Rlcj1QbihlLDgpO2UubCs9MjtyZXR1cm4g +dH1mdW5jdGlvbiBEbChlLHIsdCl7dmFyIGE9e2FyZWE6ZmFsc2V9O2lmKHQuYmlmZiE9NSl7ZS5s +Kz1yO3JldHVybiBhfXZhciBuPWUuX1IoMSk7ZS5sKz0zO2lmKG4mMTYpYS5hcmVhPXRydWU7cmV0 +dXJuIGF9ZnVuY3Rpb24gUGwoZSl7dmFyIHI9UmEoMiplKTtmb3IodmFyIHQ9MDt0PGU7Kyt0KXIu +X1coMix0KzEpO3JldHVybiByfXZhciBMbD1Iczt2YXIgTWw9VHM7dmFyIFVsPU9zO2Z1bmN0aW9u +IEJsKGUpe3ZhciByPWUuX1IoMik7dmFyIHQ9ZS5fUigyKTt2YXIgYT1lLl9SKDQpO3ZhciBuPXtm +bXQ6cixlbnY6dCxsZW46YSxkYXRhOmUuc2xpY2UoZS5sLGUubCthKX07ZS5sKz1hO3JldHVybiBu +fWZ1bmN0aW9uIFdsKGUscix0LGEsbil7aWYoIWUpZT1SYSg3KTtlLl9XKDIscik7ZS5fVygyLHQp +O2UuX1coMSxhfHwwKTtlLl9XKDEsbnx8MCk7ZS5fVygxLDApO3JldHVybiBlfWZ1bmN0aW9uIHps +KGUscix0KXtpZih0LmJpZmZndWVzcyYmdC5iaWZmPT01KXQuYmlmZj0yO3ZhciBhPUhzKGUsNyx0 +KTt2YXIgbj1JcyhlLHItNyx0KTthLnQ9InN0ciI7YS52YWw9bjtyZXR1cm4gYX1mdW5jdGlvbiBI +bChlLHIsdCl7dmFyIGE9SHMoZSw3LHQpO3ZhciBuPVBuKGUsOCk7YS50PSJuIjthLnZhbD1uO3Jl +dHVybiBhfWZ1bmN0aW9uIFZsKGUscix0LGEsbil7dmFyIGk9UmEoMTUpO1dsKGksZSxyLGF8fDAs +bnx8MCk7aS5fVyg4LHQsImYiKTtyZXR1cm4gaX1mdW5jdGlvbiAkbChlLHIsdCl7dmFyIGE9SHMo +ZSw3LHQpO3ZhciBuPWUuX1IoMik7YS50PSJuIjthLnZhbD1uO3JldHVybiBhfWZ1bmN0aW9uIFhs +KGUscix0LGEsbil7dmFyIGk9UmEoOSk7V2woaSxlLHIsYXx8MCxufHwwKTtpLl9XKDIsdCk7cmV0 +dXJuIGl9ZnVuY3Rpb24gR2woZSl7dmFyIHI9ZS5fUigxKTtpZihyPT09MCl7ZS5sKys7cmV0dXJu +IiJ9cmV0dXJuIGUuX1Iociwic2Jjcy1jb250Iil9ZnVuY3Rpb24gamwoZSxyLHQpe3ZhciBhPWUu +bCs3O3ZhciBuPUhzKGUsNix0KTtlLmw9YTt2YXIgaT15cyhlLDIpO24udmFsPWk7bi50PWk9PT10 +cnVlfHxpPT09ZmFsc2U/ImIiOiJlIjtyZXR1cm4gbn1mdW5jdGlvbiBLbChlLHIpe2UubCs9Njtl +LmwrPTI7ZS5sKz0xO2UubCs9MztlLmwrPTE7ZS5sKz1yLTEzfWZ1bmN0aW9uIFlsKGUscix0KXt2 +YXIgYT1lLmwrcjt2YXIgbj1IcyhlLDYsdCk7dmFyIGk9ZS5fUigyKTt2YXIgcz14cyhlLGksdCk7 +ZS5sPWE7bi50PSJzdHIiO24udmFsPXM7cmV0dXJuIG59ZnVuY3Rpb24gWmwoZSl7dmFyIHI9ZS5f +Uig0KTt2YXIgdD1lLl9SKDEpLGE9ZS5fUih0LCJzYmNzIik7aWYoYS5sZW5ndGg9PT0wKWE9IlNo +ZWV0MSI7cmV0dXJue2ZsYWdzOnIsbmFtZTphfX12YXIgSmw9WzIsMyw0OCw0OSwxMzEsMTM5LDE0 +MCwyNDVdO3ZhciBxbD1mdW5jdGlvbigpe3ZhciBlPXsxOjQzNywyOjg1MCwzOjEyNTIsNDoxZTQs +MTAwOjg1MiwxMDE6ODY2LDEwMjo4NjUsMTAzOjg2MSwxMDQ6ODk1LDEwNTo2MjAsMTA2OjczNywx +MDc6ODU3LDEyMDo5NTAsMTIxOjk0OSwxMjI6OTM2LDEyMzo5MzIsMTI0Ojg3NCwxMjU6MTI1NSwx +MjY6MTI1NiwxNTA6MTAwMDcsMTUxOjEwMDI5LDE1MjoxMDAwNiwyMDA6MTI1MCwyMDE6MTI1MSwy +MDI6MTI1NCwyMDM6MTI1MywwOjIwMTI3LDg6ODY1LDk6NDM3LDEwOjg1MCwxMTo0MzcsMTM6NDM3 +LDE0Ojg1MCwxNTo0MzcsMTY6ODUwLDE3OjQzNywxODo4NTAsMTk6OTMyLDIwOjg1MCwyMTo0Mzcs +MjI6ODUwLDIzOjg2NSwyNDo0MzcsMjU6NDM3LDI2Ojg1MCwyNzo0MzcsMjg6ODYzLDI5Ojg1MCwz +MTo4NTIsMzQ6ODUyLDM1Ojg1MiwzNjo4NjAsMzc6ODUwLDM4Ojg2Niw1NTo4NTAsNjQ6ODUyLDc3 +OjkzNiw3ODo5NDksNzk6OTUwLDgwOjg3NCw4NzoxMjUyLDg4OjEyNTIsODk6MTI1MiwxMDg6ODYz +LDEzNDo3MzcsMTM1Ojg1MiwxMzY6ODU3LDIwNDoxMjU3LDI1NToxNjk2OX07dmFyIG49ZnIoezE6 +NDM3LDI6ODUwLDM6MTI1Miw0OjFlNCwxMDA6ODUyLDEwMTo4NjYsMTAyOjg2NSwxMDM6ODYxLDEw +NDo4OTUsMTA1OjYyMCwxMDY6NzM3LDEwNzo4NTcsMTIwOjk1MCwxMjE6OTQ5LDEyMjo5MzYsMTIz +OjkzMiwxMjQ6ODc0LDEyNToxMjU1LDEyNjoxMjU2LDE1MDoxMDAwNywxNTE6MTAwMjksMTUyOjEw +MDA2LDIwMDoxMjUwLDIwMToxMjUxLDIwMjoxMjU0LDIwMzoxMjUzLDA6MjAxMjd9KTtmdW5jdGlv +biBpKHIsdCl7dmFyIG49W107dmFyIGk9eCgxKTtzd2l0Y2godC50eXBlKXtjYXNlImJhc2U2NCI6 +aT1JKEUocikpO2JyZWFrO2Nhc2UiYmluYXJ5IjppPUkocik7YnJlYWs7Y2FzZSJidWZmZXIiOjtj +YXNlImFycmF5IjppPXI7YnJlYWs7fU9hKGksMCk7dmFyIHM9aS5fUigxKTt2YXIgZj0hIShzJjEz +Nik7dmFyIGw9ZmFsc2Usbz1mYWxzZTtzd2l0Y2gocyl7Y2FzZSAyOmJyZWFrO2Nhc2UgMzpicmVh +aztjYXNlIDQ4Omw9dHJ1ZTtmPXRydWU7YnJlYWs7Y2FzZSA0OTpsPXRydWU7Zj10cnVlO2JyZWFr +O2Nhc2UgMTMxOmJyZWFrO2Nhc2UgMTM5OmJyZWFrO2Nhc2UgMTQwOm89dHJ1ZTticmVhaztjYXNl +IDI0NTpicmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiREJGIFVuc3VwcG9ydGVkIFZlcnNp +b246ICIrcy50b1N0cmluZygxNikpO312YXIgYz0wLGg9NTIxO2lmKHM9PTIpYz1pLl9SKDIpO2ku +bCs9MztpZihzIT0yKWM9aS5fUig0KTtpZihjPjEwNDg1NzYpYz0xZTY7aWYocyE9MiloPWkuX1Io +Mik7dmFyIHU9aS5fUigyKTt2YXIgZD10LmNvZGVwYWdlfHwxMjUyO2lmKHMhPTIpe2kubCs9MTY7 +aS5fUigxKTtpZihpW2kubF0hPT0wKWQ9ZVtpW2kubF1dO2kubCs9MTtpLmwrPTJ9aWYobylpLmwr +PTM2O3ZhciB2PVtdLHA9e307dmFyIG09TWF0aC5taW4oaS5sZW5ndGgscz09Mj81MjE6aC0xMC0o +bD8yNjQ6MCkpO3ZhciBnPW8/MzI6MTE7d2hpbGUoaS5sPG0mJmlbaS5sXSE9MTMpe3A9e307cC5u +YW1lPSh0eXBlb2YgYSE9PSJ1bmRlZmluZWQiP2EudXRpbHMuZGVjb2RlKGQsaS5zbGljZShpLmws +aS5sK2cpKTpOKGkuc2xpY2UoaS5sLGkubCtnKSkpLnJlcGxhY2UoL1tcdTAwMDBcclxuXVtcU1xz +XSokL2csIiIpO2kubCs9ZztwLnR5cGU9U3RyaW5nLmZyb21DaGFyQ29kZShpLl9SKDEpKTtpZihz +IT0yJiYhbylwLm9mZnNldD1pLl9SKDQpO3AubGVuPWkuX1IoMSk7aWYocz09MilwLm9mZnNldD1p +Ll9SKDIpO3AuZGVjPWkuX1IoMSk7aWYocC5uYW1lLmxlbmd0aCl2LnB1c2gocCk7aWYocyE9Milp +LmwrPW8/MTM6MTQ7c3dpdGNoKHAudHlwZSl7Y2FzZSJCIjppZigoIWx8fHAubGVuIT04KSYmdC5X +VEYpY29uc29sZS5sb2coIlNraXBwaW5nICIrcC5uYW1lKyI6IitwLnR5cGUpO2JyZWFrO2Nhc2Ui +RyI6O2Nhc2UiUCI6aWYodC5XVEYpY29uc29sZS5sb2coIlNraXBwaW5nICIrcC5uYW1lKyI6Iitw +LnR5cGUpO2JyZWFrO2Nhc2UiKyI6O2Nhc2UiMCI6O2Nhc2UiQCI6O2Nhc2UiQyI6O2Nhc2UiRCI6 +O2Nhc2UiRiI6O2Nhc2UiSSI6O2Nhc2UiTCI6O2Nhc2UiTSI6O2Nhc2UiTiI6O2Nhc2UiTyI6O2Nh +c2UiVCI6O2Nhc2UiWSI6YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gRmll +bGQgVHlwZTogIitwLnR5cGUpO319aWYoaVtpLmxdIT09MTMpaS5sPWgtMTtpZihpLl9SKDEpIT09 +MTMpdGhyb3cgbmV3IEVycm9yKCJEQkYgVGVybWluYXRvciBub3QgZm91bmQgIitpLmwrIiAiK2lb +aS5sXSk7aS5sPWg7dmFyIGI9MCx3PTA7blswXT1bXTtmb3Iodz0wO3chPXYubGVuZ3RoOysrdylu +WzBdW3ddPXZbd10ubmFtZTt3aGlsZShjLS0gPjApe2lmKGlbaS5sXT09PTQyKXtpLmwrPXU7Y29u +dGludWV9KytpLmw7blsrK2JdPVtdO3c9MDtmb3Iodz0wO3chPXYubGVuZ3RoOysrdyl7dmFyIGs9 +aS5zbGljZShpLmwsaS5sK3Zbd10ubGVuKTtpLmwrPXZbd10ubGVuO09hKGssMCk7dmFyIEE9dHlw +ZW9mIGEhPT0idW5kZWZpbmVkIj9hLnV0aWxzLmRlY29kZShkLGspOk4oayk7c3dpdGNoKHZbd10u +dHlwZSl7Y2FzZSJDIjppZihBLnRyaW0oKS5sZW5ndGgpbltiXVt3XT1BLnJlcGxhY2UoLyhbXlxz +XSlccyskLywiJDEiKTticmVhaztjYXNlIkQiOmlmKEEubGVuZ3RoPT09OCl7bltiXVt3XT1uZXcg +RGF0ZShEYXRlLlVUQygrQS5zbGljZSgwLDQpLCtBLnNsaWNlKDQsNiktMSwrQS5zbGljZSg2LDgp +LDAsMCwwLDApKTtpZighKHQmJnQuVVRDKSl7bltiXVt3XT1GcihuW2JdW3ddKX19ZWxzZSBuW2Jd +W3ddPUE7YnJlYWs7Y2FzZSJGIjpuW2JdW3ddPXBhcnNlRmxvYXQoQS50cmltKCkpO2JyZWFrO2Nh +c2UiKyI6O2Nhc2UiSSI6bltiXVt3XT1vP2suX1IoLTQsImkiKV4yMTQ3NDgzNjQ4OmsuX1IoNCwi +aSIpO2JyZWFrO2Nhc2UiTCI6c3dpdGNoKEEudHJpbSgpLnRvVXBwZXJDYXNlKCkpe2Nhc2UiWSI6 +O2Nhc2UiVCI6bltiXVt3XT10cnVlO2JyZWFrO2Nhc2UiTiI6O2Nhc2UiRiI6bltiXVt3XT1mYWxz +ZTticmVhaztjYXNlIiI6O2Nhc2UiXDAiOjtjYXNlIj8iOmJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3 +IEVycm9yKCJEQkYgVW5yZWNvZ25pemVkIEw6fCIrQSsifCIpO31icmVhaztjYXNlIk0iOmlmKCFm +KXRocm93IG5ldyBFcnJvcigiREJGIFVuZXhwZWN0ZWQgTUVNTyBmb3IgdHlwZSAiK3MudG9TdHJp +bmcoMTYpKTtuW2JdW3ddPSIjI01FTU8jIyIrKG8/cGFyc2VJbnQoQS50cmltKCksMTApOmsuX1Io +NCkpO2JyZWFrO2Nhc2UiTiI6QT1BLnJlcGxhY2UoL1x1MDAwMC9nLCIiKS50cmltKCk7aWYoQSYm +QSE9Ii4iKW5bYl1bd109K0F8fDA7YnJlYWs7Y2FzZSJAIjpuW2JdW3ddPW5ldyBEYXRlKGsuX1Io +LTgsImYiKS02MjEzNTY4MzJlNSk7YnJlYWs7Y2FzZSJUIjp7dmFyIFQ9ay5fUig0KSx5PWsuX1Io +NCk7aWYoVD09MCYmeT09MClicmVhaztuW2JdW3ddPW5ldyBEYXRlKChULTI0NDA1ODgpKjg2NGU1 +K3kpO2lmKCEodCYmdC5VVEMpKW5bYl1bd109RnIobltiXVt3XSl9YnJlYWs7Y2FzZSJZIjpuW2Jd +W3ddPWsuX1IoNCwiaSIpLzFlNCtrLl9SKDQsImkiKS8xZTQqTWF0aC5wb3coMiwzMik7YnJlYWs7 +Y2FzZSJPIjpuW2JdW3ddPS1rLl9SKC04LCJmIik7YnJlYWs7Y2FzZSJCIjppZihsJiZ2W3ddLmxl +bj09OCl7bltiXVt3XT1rLl9SKDgsImYiKTticmVha307Y2FzZSJHIjo7Y2FzZSJQIjprLmwrPXZb +d10ubGVuO2JyZWFrO2Nhc2UiMCI6aWYodlt3XS5uYW1lPT09Il9OdWxsRmxhZ3MiKWJyZWFrO2Rl +ZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJEQkYgVW5zdXBwb3J0ZWQgZGF0YSB0eXBlICIrdlt3XS50 +eXBlKTt9fX1pZihzIT0yKWlmKGkubDxpLmxlbmd0aCYmaVtpLmwrK10hPTI2KXRocm93IG5ldyBF +cnJvcigiREJGIEVPRiBNYXJrZXIgbWlzc2luZyAiKyhpLmwtMSkrIiBvZiAiK2kubGVuZ3RoKyIg +IitpW2kubC0xXS50b1N0cmluZygxNikpO2lmKHQmJnQuc2hlZXRSb3dzKW49bi5zbGljZSgwLHQu +c2hlZXRSb3dzKTt0LkRCRj12O3JldHVybiBufWZ1bmN0aW9uIHMoZSxyKXt2YXIgdD1yfHx7fTtp +ZighdC5kYXRlTkYpdC5kYXRlTkY9Inl5eXltbWRkIjt2YXIgYT1mbihpKGUsdCksdCk7YVsiIWNv +bHMiXT10LkRCRi5tYXAoZnVuY3Rpb24oZSl7cmV0dXJue3djaDplLmxlbixEQkY6ZX19KTtkZWxl +dGUgdC5EQkY7cmV0dXJuIGF9ZnVuY3Rpb24gZihlLHIpe3RyeXt2YXIgdD1hbihzKGUscikscik7 +dC5ib29rVHlwZT0iZGJmIjtyZXR1cm4gdH1jYXRjaChhKXtpZihyJiZyLldURil0aHJvdyBhfXJl +dHVybntTaGVldE5hbWVzOltdLFNoZWV0czp7fX19dmFyIG89e0I6OCxDOjI1MCxMOjEsRDo4LCI/ +IjowLCIiOjB9O2Z1bmN0aW9uIGMoaSxzKXtpZighaVsiIXJlZiJdKXRocm93IG5ldyBFcnJvcigi +Q2Fubm90IGV4cG9ydCBlbXB0eSBzaGVldCB0byBEQkYiKTt2YXIgZj1zfHx7fTt2YXIgYz1yO2lm +KCtmLmNvZGVwYWdlPj0wKWwoK2YuY29kZXBhZ2UpO2lmKGYudHlwZT09InN0cmluZyIpdGhyb3cg +bmV3IEVycm9yKCJDYW5ub3Qgd3JpdGUgREJGIHRvIEpTIHN0cmluZyIpO3ZhciBoPUZhKCk7dmFy +IHU9RGsoaSx7aGVhZGVyOjEscmF3OnRydWUsY2VsbERhdGVzOnRydWV9KTt2YXIgZD11WzBdLHY9 +dS5zbGljZSgxKSxwPWlbIiFjb2xzIl18fFtdO3ZhciBtPTAsZz0wLGI9MCx3PTE7Zm9yKG09MDtt +PGQubGVuZ3RoOysrbSl7aWYoKChwW21dfHx7fSkuREJGfHx7fSkubmFtZSl7ZFttXT1wW21dLkRC +Ri5uYW1lOysrYjtjb250aW51ZX1pZihkW21dPT1udWxsKWNvbnRpbnVlOysrYjtpZih0eXBlb2Yg +ZFttXT09PSJudW1iZXIiKWRbbV09ZFttXS50b1N0cmluZygxMCk7aWYodHlwZW9mIGRbbV0hPT0i +c3RyaW5nIil0aHJvdyBuZXcgRXJyb3IoIkRCRiBJbnZhbGlkIGNvbHVtbiBuYW1lICIrZFttXSsi +IHwiK3R5cGVvZiBkW21dKyJ8Iik7aWYoZC5pbmRleE9mKGRbbV0pIT09bSlmb3IoZz0wO2c8MTAy +NDsrK2cpaWYoZC5pbmRleE9mKGRbbV0rIl8iK2cpPT0tMSl7ZFttXSs9Il8iK2c7YnJlYWt9fXZh +ciBrPWVuKGlbIiFyZWYiXSk7dmFyIEE9W107dmFyIFQ9W107dmFyIHk9W107Zm9yKG09MDttPD1r +LmUuYy1rLnMuYzsrK20pe3ZhciBFPSIiLEM9IiIsXz0wO3ZhciBTPVtdO2ZvcihnPTA7Zzx2Lmxl +bmd0aDsrK2cpe2lmKHZbZ11bbV0hPW51bGwpUy5wdXNoKHZbZ11bbV0pfWlmKFMubGVuZ3RoPT0w +fHxkW21dPT1udWxsKXtBW21dPSI/Ijtjb250aW51ZX1mb3IoZz0wO2c8Uy5sZW5ndGg7KytnKXtz +d2l0Y2godHlwZW9mIFNbZ10pe2Nhc2UibnVtYmVyIjpDPSJCIjticmVhaztjYXNlInN0cmluZyI6 +Qz0iQyI7YnJlYWs7Y2FzZSJib29sZWFuIjpDPSJMIjticmVhaztjYXNlIm9iamVjdCI6Qz1TW2dd +aW5zdGFuY2VvZiBEYXRlPyJEIjoiQyI7YnJlYWs7ZGVmYXVsdDpDPSJDIjt9Xz1NYXRoLm1heChf +LCh0eXBlb2YgYSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgU1tnXT09InN0cmluZyI/YS51dGlscy5l +bmNvZGUodCxTW2ddKTpTdHJpbmcoU1tnXSkpLmxlbmd0aCk7RT1FJiZFIT1DPyJDIjpDfWlmKF8+ +MjUwKV89MjUwO0M9KChwW21dfHx7fSkuREJGfHx7fSkudHlwZTtpZihDPT0iQyIpe2lmKHBbbV0u +REJGLmxlbj5fKV89cFttXS5EQkYubGVufWlmKEU9PSJCIiYmQz09Ik4iKXtFPSJOIjt5W21dPXBb +bV0uREJGLmRlYztfPXBbbV0uREJGLmxlbn1UW21dPUU9PSJDInx8Qz09Ik4iP186b1tFXXx8MDt3 +Kz1UW21dO0FbbV09RX12YXIgeD1oLm5leHQoMzIpO3guX1coNCwzMTg5MDI1NzYpO3guX1coNCx2 +Lmxlbmd0aCk7eC5fVygyLDI5NiszMipiKTt4Ll9XKDIsdyk7Zm9yKG09MDttPDQ7KyttKXguX1co +NCwwKTt2YXIgTz0rbltyXXx8Mzt4Ll9XKDQsMHxPPDw4KTtpZihlW09dIT0rZi5jb2RlcGFnZSl7 +aWYoZi5jb2RlcGFnZSljb25zb2xlLmVycm9yKCJEQkYgVW5zdXBwb3J0ZWQgY29kZXBhZ2UgIity +KyIsIHVzaW5nIDEyNTIiKTtyPTEyNTJ9Zm9yKG09MCxnPTA7bTxkLmxlbmd0aDsrK20pe2lmKGRb +bV09PW51bGwpY29udGludWU7dmFyIEk9aC5uZXh0KDMyKTt2YXIgUj0oZFttXS5zbGljZSgtMTAp +KyJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIikuc2xpY2UoMCwxMSk7SS5fVygxLFIsInNiY3MiKTtJ +Ll9XKDEsQVttXT09Ij8iPyJDIjpBW21dLCJzYmNzIik7SS5fVyg0LGcpO0kuX1coMSxUW21dfHxv +W0FbbV1dfHwwKTtJLl9XKDEseVttXXx8MCk7SS5fVygxLDIpO0kuX1coNCwwKTtJLl9XKDEsMCk7 +SS5fVyg0LDApO0kuX1coNCwwKTtnKz1UW21dfHxvW0FbbV1dfHwwfXZhciBOPWgubmV4dCgyNjQp +O04uX1coNCwxMyk7Zm9yKG09MDttPDY1OysrbSlOLl9XKDQsMCk7Zm9yKG09MDttPHYubGVuZ3Ro +OysrbSl7dmFyIEY9aC5uZXh0KHcpO0YuX1coMSwwKTtmb3IoZz0wO2c8ZC5sZW5ndGg7KytnKXtp +ZihkW2ddPT1udWxsKWNvbnRpbnVlO3N3aXRjaChBW2ddKXtjYXNlIkwiOkYuX1coMSx2W21dW2dd +PT1udWxsPzYzOnZbbV1bZ10/ODQ6NzApO2JyZWFrO2Nhc2UiQiI6Ri5fVyg4LHZbbV1bZ118fDAs +ImYiKTticmVhaztjYXNlIk4iOnZhciBEPSIwIjtpZih0eXBlb2YgdlttXVtnXT09Im51bWJlciIp +RD12W21dW2ddLnRvRml4ZWQoeVtnXXx8MCk7aWYoRC5sZW5ndGg+VFtnXSlEPUQuc2xpY2UoMCxU +W2ddKTtmb3IoYj0wO2I8VFtnXS1ELmxlbmd0aDsrK2IpRi5fVygxLDMyKTtGLl9XKDEsRCwic2Jj +cyIpO2JyZWFrO2Nhc2UiRCI6aWYoIXZbbV1bZ10pRi5fVyg4LCIwMDAwMDAwMCIsInNiY3MiKTtl +bHNle0YuX1coNCwoIjAwMDAiK3ZbbV1bZ10uZ2V0RnVsbFllYXIoKSkuc2xpY2UoLTQpLCJzYmNz +Iik7Ri5fVygyLCgiMDAiKyh2W21dW2ddLmdldE1vbnRoKCkrMSkpLnNsaWNlKC0yKSwic2JjcyIp +O0YuX1coMiwoIjAwIit2W21dW2ddLmdldERhdGUoKSkuc2xpY2UoLTIpLCJzYmNzIil9YnJlYWs7 +Y2FzZSJDIjp2YXIgUD1GLmw7dmFyIEw9U3RyaW5nKHZbbV1bZ10hPW51bGw/dlttXVtnXToiIiku +c2xpY2UoMCxUW2ddKTtGLl9XKDEsTCwiY3BzdHIiKTtQKz1UW2ddLUYubDtmb3IoYj0wO2I8UDsr +K2IpRi5fVygxLDMyKTticmVhazt9fX1yPWM7aC5uZXh0KDEpLl9XKDEsMjYpO3JldHVybiBoLmVu +ZCgpfXJldHVybnt0b193b3JrYm9vazpmLHRvX3NoZWV0OnMsZnJvbV9zaGVldDpjfX0oKTt2YXIg +UWw9ZnVuY3Rpb24oKXt2YXIgZT17QUE6IsOAIixCQToiw4EiLENBOiLDgiIsREE6MTk1LEhBOiLD +hCIsSkE6MTk3LEFFOiLDiCIsQkU6IsOJIixDRToiw4oiLEhFOiLDiyIsQUk6IsOMIixCSToiw40i +LENJOiLDjiIsSEk6IsOPIixBTzoiw5IiLEJPOiLDkyIsQ086IsOUIixETzoyMTMsSE86IsOWIixB +VToiw5kiLEJVOiLDmiIsQ1U6IsObIixIVToiw5wiLEFhOiLDoCIsQmE6IsOhIixDYToiw6IiLERh +OjIyNyxIYToiw6QiLEphOjIyOSxBZToiw6giLEJlOiLDqSIsQ2U6IsOqIixIZToiw6siLEFpOiLD +rCIsQmk6IsOtIixDaToiw64iLEhpOiLDryIsQW86IsOyIixCbzoiw7MiLENvOiLDtCIsRG86MjQ1 +LEhvOiLDtiIsQXU6IsO5IixCdToiw7oiLEN1OiLDuyIsSHU6IsO8IixLQzoiw4ciLEtjOiLDpyIs +cToiw6YiLHo6IsWTIixhOiLDhiIsajoixZIiLEROOjIwOSxEbjoyNDEsSHk6MjU1LFM6MTY5LGM6 +MTcwLFI6MTc0LCJCICI6MTgwLDA6MTc2LDE6MTc3LDI6MTc4LDM6MTc5LDU6MTgxLDY6MTgyLDc6 +MTgzLFE6MTg1LGs6MTg2LGI6MjA4LGk6MjE2LGw6MjIyLHM6MjQwLHk6MjQ4LCIhIjoxNjEsJyIn +OjE2MiwiIyI6MTYzLCIoIjoxNjQsIiUiOjE2NSwiJyI6MTY3LCJIICI6MTY4LCIrIjoxNzEsIjsi +OjE4NywiPCI6MTg4LCI9IjoxODksIj4iOjE5MCwiPyI6MTkxLCJ7IjoyMjN9O3ZhciByPW5ldyBS +ZWdFeHAoIhtOKCIraXIoZSkuam9pbigifCIpLnJlcGxhY2UoL1x8XHxcfC8sInxcXHx8IikucmVw +bGFjZSgvKFs/KCkrXSkvZywiXFwkMSIpLnJlcGxhY2UoInsiLCJcXHsiKSsifFxcfCkiLCJnbSIp +O3RyeXtyPW5ldyBSZWdFeHAoIhtOKCIraXIoZSkuam9pbigifCIpLnJlcGxhY2UoL1x8XHxcfC8s +InxcXHx8IikucmVwbGFjZSgvKFs/KCkrXSkvZywiXFwkMSIpKyJ8XFx8KSIsImdtIil9Y2F0Y2go +dCl7fXZhciBuPWZ1bmN0aW9uKHIsdCl7dmFyIGE9ZVt0XTtyZXR1cm4gdHlwZW9mIGE9PSJudW1i +ZXIiP20oYSk6YX07dmFyIGk9ZnVuY3Rpb24oZSxyLHQpe3ZhciBhPXIuY2hhckNvZGVBdCgwKS0z +Mjw8NHx0LmNoYXJDb2RlQXQoMCktNDg7cmV0dXJuIGE9PTU5P2U6bShhKX07ZVsifCJdPTI1NDt2 +YXIgcz1mdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKC9cbi9nLCIbIDoiKS5yZXBsYWNlKC9c +ci9nLCIbID0iKX07ZnVuY3Rpb24gZihlLHIpe3N3aXRjaChyLnR5cGUpe2Nhc2UiYmFzZTY0Ijpy +ZXR1cm4gbyhFKGUpLHIpO2Nhc2UiYmluYXJ5IjpyZXR1cm4gbyhlLHIpO2Nhc2UiYnVmZmVyIjpy +ZXR1cm4gbyhDJiZCdWZmZXIuaXNCdWZmZXIoZSk/ZS50b1N0cmluZygiYmluYXJ5Iik6TihlKSxy +KTtjYXNlImFycmF5IjpyZXR1cm4gbyhrcihlKSxyKTt9dGhyb3cgbmV3IEVycm9yKCJVbnJlY29n +bml6ZWQgdHlwZSAiK3IudHlwZSl9ZnVuY3Rpb24gbyhlLHQpe3ZhciBzPWUuc3BsaXQoL1tcblxy +XSsvKSxmPS0xLG89LTEsYz0wLGg9MCx1PVtdO3ZhciBkPVtdO3ZhciB2PW51bGw7dmFyIHA9e30s +bT1bXSxnPVtdLGI9W107dmFyIHc9MCxrO3ZhciBBPXtXb3JrYm9vazp7V0JQcm9wczp7fSxOYW1l +czpbXX19O2lmKCt0LmNvZGVwYWdlPj0wKWwoK3QuY29kZXBhZ2UpO2Zvcig7YyE9PXMubGVuZ3Ro +OysrYyl7dz0wO3ZhciBUPXNbY10udHJpbSgpLnJlcGxhY2UoL1x4MUIoW1x4MjAtXHgyRl0pKFtc +eDMwLVx4M0ZdKS9nLGkpLnJlcGxhY2UocixuKTt2YXIgeT1ULnJlcGxhY2UoLzs7L2csIlwwIiku +c3BsaXQoIjsiKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSgvXHUwMDAwL2csIjsi +KX0pO3ZhciBFPXlbMF0sQztpZihULmxlbmd0aD4wKXN3aXRjaChFKXtjYXNlIklEIjpicmVhaztj +YXNlIkUiOmJyZWFrO2Nhc2UiQiI6YnJlYWs7Y2FzZSJPIjpmb3IoaD0xO2g8eS5sZW5ndGg7Kyto +KXN3aXRjaCh5W2hdLmNoYXJBdCgwKSl7Y2FzZSJWIjp7dmFyIF89cGFyc2VJbnQoeVtoXS5zbGlj +ZSgxKSwxMCk7aWYoXz49MSYmXzw9NClBLldvcmtib29rLldCUHJvcHMuZGF0ZTE5MDQ9dHJ1ZX1i +cmVhazt9YnJlYWs7Y2FzZSJXIjpicmVhaztjYXNlIlAiOnN3aXRjaCh5WzFdLmNoYXJBdCgwKSl7 +Y2FzZSJQIjpkLnB1c2goVC5zbGljZSgzKS5yZXBsYWNlKC87Oy9nLCI7IikpO2JyZWFrO31icmVh +aztjYXNlIk5OIjp7dmFyIFM9e1NoZWV0OjB9O2ZvcihoPTE7aDx5Lmxlbmd0aDsrK2gpc3dpdGNo +KHlbaF0uY2hhckF0KDApKXtjYXNlIk4iOlMuTmFtZT15W2hdLnNsaWNlKDEpO2JyZWFrO2Nhc2Ui +RSI6Uy5SZWY9KHQmJnQuc2hlZXR8fCJTaGVldDEiKSsiISIrcnUoeVtoXS5zbGljZSgxKSk7YnJl +YWs7fUEuV29ya2Jvb2suTmFtZXMucHVzaChTKX1icmVhaztjYXNlIkMiOnZhciB4PWZhbHNlLE89 +ZmFsc2UsST1mYWxzZSxSPWZhbHNlLE49LTEsRj0tMSxEPSIiLFA9InoiO3ZhciBMPSIiO2Zvciho +PTE7aDx5Lmxlbmd0aDsrK2gpc3dpdGNoKHlbaF0uY2hhckF0KDApKXtjYXNlIkEiOkw9eVtoXS5z +bGljZSgxKTticmVhaztjYXNlIlgiOm89cGFyc2VJbnQoeVtoXS5zbGljZSgxKSwxMCktMTtPPXRy +dWU7YnJlYWs7Y2FzZSJZIjpmPXBhcnNlSW50KHlbaF0uc2xpY2UoMSksMTApLTE7aWYoIU8pbz0w +O2ZvcihrPXUubGVuZ3RoO2s8PWY7KytrKXVba109W107YnJlYWs7Y2FzZSJLIjpDPXlbaF0uc2xp +Y2UoMSk7aWYoQy5jaGFyQXQoMCk9PT0nIicpe0M9Qy5zbGljZSgxLEMubGVuZ3RoLTEpO1A9InMi +fWVsc2UgaWYoQz09PSJUUlVFInx8Qz09PSJGQUxTRSIpe0M9Qz09PSJUUlVFIjtQPSJiIn1lbHNl +IGlmKEMuY2hhckF0KDApPT0iIyImJmhpW0NdIT1udWxsKXtQPSJlIjtDPWhpW0NdfWVsc2UgaWYo +IWlzTmFOKHlyKEMpKSl7Qz15cihDKTtQPSJuIjtpZih2IT09bnVsbCYmTGUodikmJnQuY2VsbERh +dGVzKXtDPXZyKEEuV29ya2Jvb2suV0JQcm9wcy5kYXRlMTkwND9DKzE0NjI6Qyk7UD10eXBlb2Yg +Qz09Im51bWJlciI/Im4iOiJkIn19aWYodHlwZW9mIGEhPT0idW5kZWZpbmVkIiYmdHlwZW9mIEM9 +PSJzdHJpbmciJiYodHx8e30pLnR5cGUhPSJzdHJpbmciJiYodHx8e30pLmNvZGVwYWdlKUM9YS51 +dGlscy5kZWNvZGUodC5jb2RlcGFnZSxDKTt4PXRydWU7YnJlYWs7Y2FzZSJFIjpSPXRydWU7RD1y +dSh5W2hdLnNsaWNlKDEpLHtyOmYsYzpvfSk7YnJlYWs7Y2FzZSJTIjpJPXRydWU7YnJlYWs7Y2Fz +ZSJHIjpicmVhaztjYXNlIlIiOk49cGFyc2VJbnQoeVtoXS5zbGljZSgxKSwxMCktMTticmVhaztj +YXNlIkMiOkY9cGFyc2VJbnQoeVtoXS5zbGljZSgxKSwxMCktMTticmVhaztkZWZhdWx0OmlmKHQm +JnQuV1RGKXRocm93IG5ldyBFcnJvcigiU1lMSyBiYWQgcmVjb3JkICIrVCk7fWlmKHgpe2lmKCF1 +W2ZdW29dKXVbZl1bb109e3Q6UCx2OkN9O2Vsc2V7dVtmXVtvXS50PVA7dVtmXVtvXS52PUN9aWYo +dil1W2ZdW29dLno9djtpZih0LmNlbGxUZXh0IT09ZmFsc2UmJnYpdVtmXVtvXS53PXplKHVbZl1b +b10ueix1W2ZdW29dLnYse2RhdGUxOTA0OkEuV29ya2Jvb2suV0JQcm9wcy5kYXRlMTkwNH0pO3Y9 +bnVsbH1pZihJKXtpZihSKXRocm93IG5ldyBFcnJvcigiU1lMSyBzaGFyZWQgZm9ybXVsYSBjYW5u +b3QgaGF2ZSBvd24gZm9ybXVsYSIpO3ZhciBNPU4+LTEmJnVbTl1bRl07aWYoIU18fCFNWzFdKXRo +cm93IG5ldyBFcnJvcigiU1lMSyBzaGFyZWQgZm9ybXVsYSBjYW5ub3QgZmluZCBiYXNlIik7RD1p +dShNWzFdLHtyOmYtTixjOm8tRn0pfWlmKEQpe2lmKCF1W2ZdW29dKXVbZl1bb109e3Q6Im4iLGY6 +RH07ZWxzZSB1W2ZdW29dLmY9RH1pZihMKXtpZighdVtmXVtvXSl1W2ZdW29dPXt0OiJ6In07dVtm +XVtvXS5jPVt7YToiU2hlZXRKU1lMSyIsdDpMfV19YnJlYWs7Y2FzZSJGIjp2YXIgVT0wO2Zvciho +PTE7aDx5Lmxlbmd0aDsrK2gpc3dpdGNoKHlbaF0uY2hhckF0KDApKXtjYXNlIlgiOm89cGFyc2VJ +bnQoeVtoXS5zbGljZSgxKSwxMCktMTsrK1U7YnJlYWs7Y2FzZSJZIjpmPXBhcnNlSW50KHlbaF0u +c2xpY2UoMSksMTApLTE7Zm9yKGs9dS5sZW5ndGg7azw9ZjsrK2spdVtrXT1bXTticmVhaztjYXNl +Ik0iOnc9cGFyc2VJbnQoeVtoXS5zbGljZSgxKSwxMCkvMjA7YnJlYWs7Y2FzZSJGIjpicmVhaztj +YXNlIkciOmJyZWFrO2Nhc2UiUCI6dj1kW3BhcnNlSW50KHlbaF0uc2xpY2UoMSksMTApXTticmVh +aztjYXNlIlMiOmJyZWFrO2Nhc2UiRCI6YnJlYWs7Y2FzZSJOIjpicmVhaztjYXNlIlciOmI9eVto +XS5zbGljZSgxKS5zcGxpdCgiICIpO2ZvcihrPXBhcnNlSW50KGJbMF0sMTApO2s8PXBhcnNlSW50 +KGJbMV0sMTApOysrayl7dz1wYXJzZUludChiWzJdLDEwKTtnW2stMV09dz09PTA/e2hpZGRlbjp0 +cnVlfTp7d2NoOnd9fWJyZWFrO2Nhc2UiQyI6bz1wYXJzZUludCh5W2hdLnNsaWNlKDEpLDEwKS0x +O2lmKCFnW29dKWdbb109e307YnJlYWs7Y2FzZSJSIjpmPXBhcnNlSW50KHlbaF0uc2xpY2UoMSks +MTApLTE7aWYoIW1bZl0pbVtmXT17fTtpZih3PjApe21bZl0uaHB0PXc7bVtmXS5ocHg9ZGModyl9 +ZWxzZSBpZih3PT09MCltW2ZdLmhpZGRlbj10cnVlO2JyZWFrO2RlZmF1bHQ6aWYodCYmdC5XVEYp +dGhyb3cgbmV3IEVycm9yKCJTWUxLIGJhZCByZWNvcmQgIitUKTt9aWYoVTwxKXY9bnVsbDticmVh +aztkZWZhdWx0OmlmKHQmJnQuV1RGKXRocm93IG5ldyBFcnJvcigiU1lMSyBiYWQgcmVjb3JkICIr +VCk7fX1pZihtLmxlbmd0aD4wKXBbIiFyb3dzIl09bTtpZihnLmxlbmd0aD4wKXBbIiFjb2xzIl09 +ZztnLmZvckVhY2goZnVuY3Rpb24oZSl7b2MoZSl9KTtpZih0JiZ0LnNoZWV0Um93cyl1PXUuc2xp +Y2UoMCx0LnNoZWV0Um93cyk7cmV0dXJuW3UscCxBXX1mdW5jdGlvbiBjKGUscil7dmFyIHQ9Zihl +LHIpO3ZhciBhPXRbMF0sbj10WzFdLGk9dFsyXTt2YXIgcz1BcihyKTtzLmRhdGUxOTA0PSgoKGl8 +fHt9KS5Xb3JrYm9va3x8e30pLldCUHJvcHN8fHt9KS5kYXRlMTkwNDt2YXIgbD1mbihhLHMpO2ly +KG4pLmZvckVhY2goZnVuY3Rpb24oZSl7bFtlXT1uW2VdfSk7dmFyIG89YW4obCxyKTtpcihpKS5m +b3JFYWNoKGZ1bmN0aW9uKGUpe29bZV09aVtlXX0pO28uYm9va1R5cGU9InN5bGsiO3JldHVybiBv +fWZ1bmN0aW9uIGgoZSxyLHQsYSxuLGkpe3ZhciBzPSJDO1kiKyh0KzEpKyI7WCIrKGErMSkrIjtL +Ijtzd2l0Y2goZS50KXtjYXNlIm4iOnMrPWlzRmluaXRlKGUudik/ZS52fHwwOmNpW2lzTmFOKGUu +dik/MzY6N107aWYoZS5mJiYhZS5GKXMrPSI7RSIrbnUoZS5mLHtyOnQsYzphfSk7YnJlYWs7Y2Fz +ZSJiIjpzKz1lLnY/IlRSVUUiOiJGQUxTRSI7YnJlYWs7Y2FzZSJlIjpzKz1lLnd8fGNpW2Uudl18 +fGUudjticmVhaztjYXNlImQiOnMrPWRyKHdyKGUudixpKSxpKTticmVhaztjYXNlInMiOnMrPSci +JysoZS52PT1udWxsPyIiOlN0cmluZyhlLnYpKS5yZXBsYWNlKC8iL2csIiIpLnJlcGxhY2UoLzsv +ZywiOzsiKSsnIic7YnJlYWs7fXJldHVybiBzfWZ1bmN0aW9uIHUoZSxyLHQpe3ZhciBhPSJDO1ki +KyhyKzEpKyI7WCIrKHQrMSkrIjtBIjthKz1zKGUubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLnR9 +KS5qb2luKCIiKSk7cmV0dXJuIGF9ZnVuY3Rpb24gZChlLHIpe3IuZm9yRWFjaChmdW5jdGlvbihy +LHQpe3ZhciBhPSJGO1ciKyh0KzEpKyIgIisodCsxKSsiICI7aWYoci5oaWRkZW4pYSs9IjAiO2Vs +c2V7aWYodHlwZW9mIHIud2lkdGg9PSJudW1iZXIiJiYhci53cHgpci53cHg9bmMoci53aWR0aCk7 +aWYodHlwZW9mIHIud3B4PT0ibnVtYmVyIiYmIXIud2NoKXIud2NoPWljKHIud3B4KTtpZih0eXBl +b2Ygci53Y2g9PSJudW1iZXIiKWErPU1hdGgucm91bmQoci53Y2gpfWlmKGEuY2hhckF0KGEubGVu +Z3RoLTEpIT0iICIpZS5wdXNoKGEpfSl9ZnVuY3Rpb24gdihlLHIpe3IuZm9yRWFjaChmdW5jdGlv +bihyLHQpe3ZhciBhPSJGOyI7aWYoci5oaWRkZW4pYSs9Ik0wOyI7ZWxzZSBpZihyLmhwdClhKz0i +TSIrMjAqci5ocHQrIjsiO2Vsc2UgaWYoci5ocHgpYSs9Ik0iKzIwKnVjKHIuaHB4KSsiOyI7aWYo +YS5sZW5ndGg+MillLnB1c2goYSsiUiIrKHQrMSkpfSl9ZnVuY3Rpb24gcChlLHIsdCl7aWYoIXIp +cj17fTtyLl9mb3JtYXRzPVsiR2VuZXJhbCJdO3ZhciBhPVsiSUQ7UFNoZWV0SlM7TjtFIl0sbj1b +XTt2YXIgaT1lbihlWyIhcmVmIl18fCJBMSIpLHM7dmFyIGY9ZVsiIWRhdGEiXSE9bnVsbDt2YXIg +bD0iXHJcbiI7dmFyIG89KCgodHx8e30pLldvcmtib29rfHx7fSkuV0JQcm9wc3x8e30pLmRhdGUx +OTA0O3ZhciBjPSJHZW5lcmFsIjthLnB1c2goIlA7UEdlbmVyYWwiKTt2YXIgcD1pLnMucixtPWku +cy5jLGc9W107aWYoZVsiIXJlZiJdKWZvcihwPWkucy5yO3A8PWkuZS5yOysrcCl7aWYoZiYmIWVb +IiFkYXRhIl1bcF0pY29udGludWU7Zz1bXTtmb3IobT1pLnMuYzttPD1pLmUuYzsrK20pe3M9Zj9l +WyIhZGF0YSJdW3BdW21dOmVbJGEobSkrV2EocCldO2lmKCFzfHwhcy5jKWNvbnRpbnVlO2cucHVz +aCh1KHMuYyxwLG0pKX1pZihnLmxlbmd0aCluLnB1c2goZy5qb2luKGwpKX1pZihlWyIhcmVmIl0p +Zm9yKHA9aS5zLnI7cDw9aS5lLnI7KytwKXtpZihmJiYhZVsiIWRhdGEiXVtwXSljb250aW51ZTtn +PVtdO2ZvcihtPWkucy5jO208PWkuZS5jOysrbSl7cz1mP2VbIiFkYXRhIl1bcF1bbV06ZVskYSht +KStXYShwKV07aWYoIXN8fHMudj09bnVsbCYmKCFzLmZ8fHMuRikpY29udGludWU7aWYoKHMuenx8 +KHMudD09ImQiP3FbMTRdOiJHZW5lcmFsIikpIT1jKXt2YXIgYj1yLl9mb3JtYXRzLmluZGV4T2Yo +cy56KTtpZihiPT0tMSl7ci5fZm9ybWF0cy5wdXNoKHMueik7Yj1yLl9mb3JtYXRzLmxlbmd0aC0x +O2EucHVzaCgiUDtQIitzLnoucmVwbGFjZSgvOy9nLCI7OyIpKX1nLnB1c2goIkY7UCIrYisiO1ki +KyhwKzEpKyI7WCIrKG0rMSkpfWcucHVzaChoKHMsZSxwLG0scixvKSl9bi5wdXNoKGcuam9pbihs +KSl9YS5wdXNoKCJGO1AwO0RHMEc4O00yNTUiKTtpZihlWyIhY29scyJdKWQoYSxlWyIhY29scyJd +KTtpZihlWyIhcm93cyJdKXYoYSxlWyIhcm93cyJdKTtpZihlWyIhcmVmIl0pYS5wdXNoKCJCO1ki +KyhpLmUuci1pLnMucisxKSsiO1giKyhpLmUuYy1pLnMuYysxKSsiO0QiK1tpLnMuYyxpLnMucixp +LmUuYyxpLmUucl0uam9pbigiICIpKTthLnB1c2goIk87TDtEO0IiKyhvPyI7VjQiOiIiKSsiO0s0 +NztHMTAwIDAuMDAxIik7ZGVsZXRlIHIuX2Zvcm1hdHM7cmV0dXJuIGEuam9pbihsKStsK24uam9p +bihsKStsKyJFIitsfXJldHVybnt0b193b3JrYm9vazpjLGZyb21fc2hlZXQ6cH19KCk7dmFyIGVv +PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQpe3N3aXRjaCh0LnR5cGUpe2Nhc2UiYmFzZTY0Ijpy +ZXR1cm4gcihFKGUpLHQpO2Nhc2UiYmluYXJ5IjpyZXR1cm4gcihlLHQpO2Nhc2UiYnVmZmVyIjpy +ZXR1cm4gcihDJiZCdWZmZXIuaXNCdWZmZXIoZSk/ZS50b1N0cmluZygiYmluYXJ5Iik6TihlKSx0 +KTtjYXNlImFycmF5IjpyZXR1cm4gcihrcihlKSx0KTt9dGhyb3cgbmV3IEVycm9yKCJVbnJlY29n +bml6ZWQgdHlwZSAiK3QudHlwZSl9ZnVuY3Rpb24gcihlLHIpe3ZhciB0PWUuc3BsaXQoIlxuIiks +YT0tMSxuPS0xLGk9MCxzPVtdO2Zvcig7aSE9PXQubGVuZ3RoOysraSl7aWYodFtpXS50cmltKCk9 +PT0iQk9UIil7c1srK2FdPVtdO249MDtjb250aW51ZX1pZihhPDApY29udGludWU7dmFyIGY9dFtp +XS50cmltKCkuc3BsaXQoIiwiKTt2YXIgbD1mWzBdLG89ZlsxXTsrK2k7dmFyIGM9dFtpXXx8IiI7 +d2hpbGUoKGMubWF0Y2goL1siXS9nKXx8W10pLmxlbmd0aCYxJiZpPHQubGVuZ3RoLTEpYys9Ilxu +Iit0WysraV07Yz1jLnRyaW0oKTtzd2l0Y2goK2wpe2Nhc2UtMTppZihjPT09IkJPVCIpe3NbKyth +XT1bXTtuPTA7Y29udGludWV9ZWxzZSBpZihjIT09IkVPRCIpdGhyb3cgbmV3IEVycm9yKCJVbnJl +Y29nbml6ZWQgRElGIHNwZWNpYWwgY29tbWFuZCAiK2MpO2JyZWFrO2Nhc2UgMDppZihjPT09IlRS +VUUiKXNbYV1bbl09dHJ1ZTtlbHNlIGlmKGM9PT0iRkFMU0UiKXNbYV1bbl09ZmFsc2U7ZWxzZSBp +ZighaXNOYU4oeXIobykpKXNbYV1bbl09eXIobyk7ZWxzZSBpZighaXNOYU4oUnIobykuZ2V0RGF0 +ZSgpKSl7c1thXVtuXT13cihvKTtpZighKHImJnIuVVRDKSl7c1thXVtuXT1GcihzW2FdW25dKX19 +ZWxzZSBzW2FdW25dPW87KytuO2JyZWFrO2Nhc2UgMTpjPWMuc2xpY2UoMSxjLmxlbmd0aC0xKTtj +PWMucmVwbGFjZSgvIiIvZywnIicpO2lmKHcmJmMmJmMubWF0Y2goL149Ii4qIiQvKSljPWMuc2xp +Y2UoMiwtMSk7c1thXVtuKytdPWMhPT0iIj9jOm51bGw7YnJlYWs7fWlmKGM9PT0iRU9EIilicmVh +a31pZihyJiZyLnNoZWV0Um93cylzPXMuc2xpY2UoMCxyLnNoZWV0Um93cyk7cmV0dXJuIHN9ZnVu +Y3Rpb24gdChyLHQpe3JldHVybiBmbihlKHIsdCksdCl9ZnVuY3Rpb24gYShlLHIpe3ZhciBhPWFu +KHQoZSxyKSxyKTthLmJvb2tUeXBlPSJkaWYiO3JldHVybiBhfWZ1bmN0aW9uIG4oZSxyKXtyZXR1 +cm4iMCwiK1N0cmluZyhlKSsiXHJcbiIrcn1mdW5jdGlvbiBpKGUpe3JldHVybicxLDBcclxuIicr +ZS5yZXBsYWNlKC8iL2csJyIiJykrJyInfWZ1bmN0aW9uIHMoZSl7dmFyIHI9dztpZighZVsiIXJl +ZiJdKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGV4cG9ydCBlbXB0eSBzaGVldCB0byBESUYiKTt2 +YXIgdD1lbihlWyIhcmVmIl0pO3ZhciBhPWVbIiFkYXRhIl0hPW51bGw7dmFyIHM9WydUQUJMRVxy +XG4wLDFcclxuInNoZWV0anMiXHJcbicsIlZFQ1RPUlNcclxuMCwiKyh0LmUuci10LnMucisxKSsn +XHJcbiIiXHJcbicsIlRVUExFU1xyXG4wLCIrKHQuZS5jLXQucy5jKzEpKydcclxuIiJcclxuJywn +REFUQVxyXG4wLDBcclxuIiJcclxuJ107Zm9yKHZhciBmPXQucy5yO2Y8PXQuZS5yOysrZil7dmFy +IGw9YT9lWyIhZGF0YSJdW2ZdOltdO3ZhciBvPSItMSwwXHJcbkJPVFxyXG4iO2Zvcih2YXIgYz10 +LnMuYztjPD10LmUuYzsrK2Mpe3ZhciBoPWE/bCYmbFtjXTplW1lhKHtyOmYsYzpjfSldO2lmKGg9 +PW51bGwpe28rPScxLDBcclxuIiJcclxuJztjb250aW51ZX1zd2l0Y2goaC50KXtjYXNlIm4iOmlm +KHIpe2lmKGgudyE9bnVsbClvKz0iMCwiK2gudysiXHJcblYiO2Vsc2UgaWYoaC52IT1udWxsKW8r +PW4oaC52LCJWIik7ZWxzZSBpZihoLmYhPW51bGwmJiFoLkYpbys9aSgiPSIraC5mKTtlbHNlIG8r +PScxLDBcclxuIiInfWVsc2V7aWYoaC52PT1udWxsKW8rPScxLDBcclxuIiInO2Vsc2Ugbys9biho +LnYsIlYiKX1icmVhaztjYXNlImIiOm8rPWgudj9uKDEsIlRSVUUiKTpuKDAsIkZBTFNFIik7YnJl +YWs7Y2FzZSJzIjpvKz1pKCFyfHxpc05hTigraC52KT9oLnY6Jz0iJytoLnYrJyInKTticmVhaztj +YXNlImQiOmlmKCFoLncpaC53PXplKGguenx8cVsxNF0sZHIod3IoaC52KSkpO2lmKHIpbys9biho +LncsIlYiKTtlbHNlIG8rPWkoaC53KTticmVhaztkZWZhdWx0Om8rPScxLDBcclxuIiInO31vKz0i +XHJcbiJ9cy5wdXNoKG8pfXJldHVybiBzLmpvaW4oIiIpKyItMSwwXHJcbkVPRCJ9cmV0dXJue3Rv +X3dvcmtib29rOmEsdG9fc2hlZXQ6dCxmcm9tX3NoZWV0OnN9fSgpO3ZhciBybz1mdW5jdGlvbigp +e2Z1bmN0aW9uIGUoZSl7cmV0dXJuIGUucmVwbGFjZSgvXFxiL2csIlxcIikucmVwbGFjZSgvXFxj +L2csIjoiKS5yZXBsYWNlKC9cXG4vZywiXG4iKX1mdW5jdGlvbiByKGUpe3JldHVybiBlLnJlcGxh +Y2UoL1xcL2csIlxcYiIpLnJlcGxhY2UoLzovZywiXFxjIikucmVwbGFjZSgvXG4vZywiXFxuIil9 +ZnVuY3Rpb24gdChyLHQpe3ZhciBhPXIuc3BsaXQoIlxuIiksbj0tMSxpPS0xLHM9MCxmPVtdO2Zv +cig7cyE9PWEubGVuZ3RoOysrcyl7dmFyIGw9YVtzXS50cmltKCkuc3BsaXQoIjoiKTtpZihsWzBd +IT09ImNlbGwiKWNvbnRpbnVlO3ZhciBvPUthKGxbMV0pO2lmKGYubGVuZ3RoPD1vLnIpZm9yKG49 +Zi5sZW5ndGg7bjw9by5yOysrbilpZighZltuXSlmW25dPVtdO249by5yO2k9by5jO3N3aXRjaChs +WzJdKXtjYXNlInQiOmZbbl1baV09ZShsWzNdKTticmVhaztjYXNlInYiOmZbbl1baV09K2xbM107 +YnJlYWs7Y2FzZSJ2dGYiOnZhciBjPWxbbC5sZW5ndGgtMV07Y2FzZSJ2dGMiOnN3aXRjaChsWzNd +KXtjYXNlIm5sIjpmW25dW2ldPStsWzRdP3RydWU6ZmFsc2U7YnJlYWs7ZGVmYXVsdDpmW25dW2ld +PWxbbC5sZW5ndGgtMV0uY2hhckF0KDApPT0iIyI/e3Q6ImUiLHY6aGlbbFtsLmxlbmd0aC0xXV19 +OitsWzRdO2JyZWFrO31pZihsWzJdPT0idnRmIilmW25dW2ldPVtmW25dW2ldLGNdO319aWYodCYm +dC5zaGVldFJvd3MpZj1mLnNsaWNlKDAsdC5zaGVldFJvd3MpO3JldHVybiBmfWZ1bmN0aW9uIGEo +ZSxyKXtyZXR1cm4gZm4odChlLHIpLHIpfWZ1bmN0aW9uIG4oZSxyKXtyZXR1cm4gYW4oYShlLHIp +LHIpfXZhciBpPVsic29jaWFsY2FsYzp2ZXJzaW9uOjEuNSIsIk1JTUUtVmVyc2lvbjogMS4wIiwi +Q29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PVNvY2lhbENhbGNTcHJlYWRz +aGVldENvbnRyb2xTYXZlIl0uam9pbigiXG4iKTt2YXIgcz1bIi0tU29jaWFsQ2FsY1NwcmVhZHNo +ZWV0Q29udHJvbFNhdmUiLCJDb250ZW50LXR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgi +XS5qb2luKCJcbiIpKyJcbiI7dmFyIGY9WyIjIFNvY2lhbENhbGMgU3ByZWFkc2hlZXQgQ29udHJv +bCBTYXZlIiwicGFydDpzaGVldCJdLmpvaW4oIlxuIik7dmFyIGw9Ii0tU29jaWFsQ2FsY1NwcmVh +ZHNoZWV0Q29udHJvbFNhdmUtLSI7ZnVuY3Rpb24gbyhlKXtpZighZXx8IWVbIiFyZWYiXSlyZXR1 +cm4iIjt2YXIgdD1bXSxhPVtdLG4saT0iIjt2YXIgcz1aYShlWyIhcmVmIl0pO3ZhciBmPWVbIiFk +YXRhIl0hPW51bGw7Zm9yKHZhciBsPXMucy5yO2w8PXMuZS5yOysrbCl7Zm9yKHZhciBvPXMucy5j +O288PXMuZS5jOysrbyl7aT1ZYSh7cjpsLGM6b30pO249Zj8oZVsiIWRhdGEiXVtsXXx8W10pW29d +OmVbaV07aWYoIW58fG4udj09bnVsbHx8bi50PT09InoiKWNvbnRpbnVlO2E9WyJjZWxsIixpLCJ0 +Il07c3dpdGNoKG4udCl7Y2FzZSJzIjphLnB1c2gocihuLnYpKTticmVhaztjYXNlImIiOmFbMl09 +InZ0Iisobi5mPyJmIjoiYyIpO2FbM109Im5sIjthWzRdPW4udj8iMSI6IjAiO2FbNV09cihuLmZ8 +fChuLnY/IlRSVUUiOiJGQUxTRSIpKTticmVhaztjYXNlImQiOnZhciBjPWRyKHdyKG4udikpO2Fb +Ml09InZ0YyI7YVszXT0ibmQiO2FbNF09IiIrYzthWzVdPW4ud3x8emUobi56fHxxWzE0XSxjKTti +cmVhaztjYXNlIm4iOmlmKGlzRmluaXRlKG4udikpe2lmKCFuLmYpe2FbMl09InYiO2FbM109bi52 +fWVsc2V7YVsyXT0idnRmIjthWzNdPSJuIjthWzRdPW4udjthWzVdPXIobi5mKX19ZWxzZXthWzJd +PSJ2dCIrKG4uZj8iZiI6ImMiKTthWzNdPSJlIitjaVtpc05hTihuLnYpPzM2OjddO2FbNF09IjAi +O2FbNV09bi5mfHxhWzNdLnNsaWNlKDEpO2FbNl09ImUiO2FbN109YVszXS5zbGljZSgxKX1icmVh +aztjYXNlImUiOmNvbnRpbnVlO310LnB1c2goYS5qb2luKCI6IikpfX10LnB1c2goInNoZWV0OmM6 +Iisocy5lLmMtcy5zLmMrMSkrIjpyOiIrKHMuZS5yLXMucy5yKzEpKyI6dHZmOjEiKTt0LnB1c2go +InZhbHVlZm9ybWF0OjE6dGV4dC13aWtpIik7cmV0dXJuIHQuam9pbigiXG4iKX1mdW5jdGlvbiBj +KGUpe3JldHVybltpLHMsZixzLG8oZSksbF0uam9pbigiXG4iKX1yZXR1cm57dG9fd29ya2Jvb2s6 +bix0b19zaGVldDphLGZyb21fc2hlZXQ6Y319KCk7dmFyIHRvPWZ1bmN0aW9uKCl7ZnVuY3Rpb24g +ZShlLHIsdCxhLG4pe2lmKG4ucmF3KXJbdF1bYV09ZTtlbHNlIGlmKGU9PT0iIil7fWVsc2UgaWYo +ZT09PSJUUlVFIilyW3RdW2FdPXRydWU7ZWxzZSBpZihlPT09IkZBTFNFIilyW3RdW2FdPWZhbHNl +O2Vsc2UgaWYoIWlzTmFOKHlyKGUpKSlyW3RdW2FdPXlyKGUpO2Vsc2UgaWYoIWlzTmFOKFJyKGUp +LmdldERhdGUoKSkpclt0XVthXT13cihlKTtlbHNlIGlmKGUuY2hhckNvZGVBdCgwKT09MzUmJmhp +W2VdIT1udWxsKXJbdF1bYV09e3Q6ImUiLHY6aGlbZV0sdzplfTtlbHNlIHJbdF1bYV09ZX1mdW5j +dGlvbiByKHIsdCl7dmFyIGE9dHx8e307dmFyIG49W107aWYoIXJ8fHIubGVuZ3RoPT09MClyZXR1 +cm4gbjt2YXIgaT1yLnNwbGl0KC9bXHJcbl0vKTt2YXIgcz1pLmxlbmd0aC0xO3doaWxlKHM+PTAm +Jmlbc10ubGVuZ3RoPT09MCktLXM7dmFyIGY9MTAsbD0wO3ZhciBvPTA7Zm9yKDtvPD1zOysrbyl7 +bD1pW29dLmluZGV4T2YoIiAiKTtpZihsPT0tMSlsPWlbb10ubGVuZ3RoO2Vsc2UgbCsrO2Y9TWF0 +aC5tYXgoZixsKX1mb3Iobz0wO288PXM7KytvKXtuW29dPVtdO3ZhciBjPTA7ZShpW29dLnNsaWNl +KDAsZikudHJpbSgpLG4sbyxjLGEpO2ZvcihjPTE7Yzw9KGlbb10ubGVuZ3RoLWYpLzEwKzE7Kytj +KWUoaVtvXS5zbGljZShmKyhjLTEpKjEwLGYrYyoxMCkudHJpbSgpLG4sbyxjLGEpfWlmKGEuc2hl +ZXRSb3dzKW49bi5zbGljZSgwLGEuc2hlZXRSb3dzKTtyZXR1cm4gbn12YXIgdD17NDQ6IiwiLDk6 +Ilx0Iiw1OToiOyIsMTI0OiJ8In07dmFyIG49ezQ0OjMsOToyLDU5OjEsMTI0OjB9O2Z1bmN0aW9u +IGkoZSl7dmFyIHI9e30sYT1mYWxzZSxpPTAscz0wO2Zvcig7aTxlLmxlbmd0aDsrK2kpe2lmKChz +PWUuY2hhckNvZGVBdChpKSk9PTM0KWE9IWE7ZWxzZSBpZighYSYmcyBpbiB0KXJbc109KHJbc118 +fDApKzF9cz1bXTtmb3IoaSBpbiByKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHku +Y2FsbChyLGkpKXtzLnB1c2goW3JbaV0saV0pfWlmKCFzLmxlbmd0aCl7cj1uO2ZvcihpIGluIHIp +aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsaSkpe3MucHVzaChbcltp +XSxpXSl9fXMuc29ydChmdW5jdGlvbihlLHIpe3JldHVybiBlWzBdLXJbMF18fG5bZVsxXV0tblty +WzFdXX0pO3JldHVybiB0W3MucG9wKClbMV1dfHw0NH1mdW5jdGlvbiBzKGUscil7dmFyIHQ9cnx8 +e307dmFyIGE9IiI7aWYoYiE9bnVsbCYmdC5kZW5zZT09bnVsbCl0LmRlbnNlPWI7dmFyIG49e307 +aWYodC5kZW5zZSluWyIhZGF0YSJdPVtdO3ZhciBzPXtzOntjOjAscjowfSxlOntjOjAscjowfX07 +aWYoZS5zbGljZSgwLDQpPT0ic2VwPSIpe2lmKGUuY2hhckNvZGVBdCg1KT09MTMmJmUuY2hhckNv +ZGVBdCg2KT09MTApe2E9ZS5jaGFyQXQoNCk7ZT1lLnNsaWNlKDcpfWVsc2UgaWYoZS5jaGFyQ29k +ZUF0KDUpPT0xM3x8ZS5jaGFyQ29kZUF0KDUpPT0xMCl7YT1lLmNoYXJBdCg0KTtlPWUuc2xpY2Uo +Nil9ZWxzZSBhPWkoZS5zbGljZSgwLDEwMjQpKX1lbHNlIGlmKHQmJnQuRlMpYT10LkZTO2Vsc2Ug +YT1pKGUuc2xpY2UoMCwxMDI0KSk7dmFyIGY9MCxsPTAsbz0wO3ZhciBjPTAsaD0wLHU9YS5jaGFy +Q29kZUF0KDApLGQ9ZmFsc2Usdj0wLHA9ZS5jaGFyQ29kZUF0KDApO3ZhciBtPXQuZGF0ZU5GIT1u +dWxsP0tlKHQuZGF0ZU5GKTpudWxsO2Z1bmN0aW9uIGcoKXt2YXIgcj1lLnNsaWNlKGMsaCk7aWYo +ci5zbGljZSgtMSk9PSJcciIpcj1yLnNsaWNlKDAsLTEpO3ZhciBhPXt9O2lmKHIuY2hhckF0KDAp +PT0nIicmJnIuY2hhckF0KHIubGVuZ3RoLTEpPT0nIicpcj1yLnNsaWNlKDEsLTEpLnJlcGxhY2Uo +LyIiL2csJyInKTtpZih0LmNlbGxUZXh0IT09ZmFsc2UpYS53PXI7aWYoci5sZW5ndGg9PT0wKWEu +dD0ieiI7ZWxzZSBpZih0LnJhdyl7YS50PSJzIjthLnY9cn1lbHNlIGlmKHIudHJpbSgpLmxlbmd0 +aD09PTApe2EudD0icyI7YS52PXJ9ZWxzZSBpZihyLmNoYXJDb2RlQXQoMCk9PTYxKXtpZihyLmNo +YXJDb2RlQXQoMSk9PTM0JiZyLmNoYXJDb2RlQXQoci5sZW5ndGgtMSk9PTM0KXthLnQ9InMiO2Eu +dj1yLnNsaWNlKDIsLTEpLnJlcGxhY2UoLyIiL2csJyInKX1lbHNlIGlmKGZ1KHIpKXthLnQ9InMi +O2EuZj1yLnNsaWNlKDEpO2Eudj1yfWVsc2V7YS50PSJzIjthLnY9cn19ZWxzZSBpZihyPT0iVFJV +RSIpe2EudD0iYiI7YS52PXRydWV9ZWxzZSBpZihyPT0iRkFMU0UiKXthLnQ9ImIiO2Eudj1mYWxz +ZX1lbHNlIGlmKCFpc05hTihvPXlyKHIpKSl7YS50PSJuIjthLnY9b31lbHNlIGlmKCFpc05hTigo +bz1ScihyKSkuZ2V0RGF0ZSgpKXx8bSYmci5tYXRjaChtKSl7YS56PXQuZGF0ZU5GfHxxWzE0XTtp +ZihtJiZyLm1hdGNoKG0pKXt2YXIgaT1ZZShyLHQuZGF0ZU5GLHIubWF0Y2gobSl8fFtdKTtvPXdy +KGkpO2lmKHQmJnQuVVRDPT09ZmFsc2Upbz1GcihvKX1lbHNlIGlmKHQmJnQuVVRDPT09ZmFsc2Up +bz1GcihvKTtlbHNlIGlmKHQuY2VsbFRleHQhPT1mYWxzZSYmdC5kYXRlTkYpYS53PXplKGEueixv +KTtpZih0LmNlbGxEYXRlcyl7YS50PSJkIjthLnY9b31lbHNle2EudD0ibiI7YS52PWRyKG8pfWlm +KCF0LmNlbGxORilkZWxldGUgYS56fWVsc2UgaWYoci5jaGFyQ29kZUF0KDApPT0zNSYmaGlbcl0h +PW51bGwpe2EudD0iZSI7YS53PXI7YS52PWhpW3JdfWVsc2V7YS50PSJzIjthLnY9cn1pZihhLnQ9 +PSJ6Iil7fWVsc2UgaWYodC5kZW5zZSl7aWYoIW5bIiFkYXRhIl1bZl0pblsiIWRhdGEiXVtmXT1b +XTtuWyIhZGF0YSJdW2ZdW2xdPWF9ZWxzZSBuW1lhKHtjOmwscjpmfSldPWE7Yz1oKzE7cD1lLmNo +YXJDb2RlQXQoYyk7aWYocy5lLmM8bClzLmUuYz1sO2lmKHMuZS5yPGYpcy5lLnI9ZjtpZih2PT11 +KSsrbDtlbHNle2w9MDsrK2Y7aWYodC5zaGVldFJvd3MmJnQuc2hlZXRSb3dzPD1mKXJldHVybiB0 +cnVlfX1lOmZvcig7aDxlLmxlbmd0aDsrK2gpc3dpdGNoKHY9ZS5jaGFyQ29kZUF0KGgpKXtjYXNl +IDM0OmlmKHA9PT0zNClkPSFkO2JyZWFrO2Nhc2UgMTM6aWYoZClicmVhaztpZihlLmNoYXJDb2Rl +QXQoaCsxKT09MTApKytoO2Nhc2UgdTo7Y2FzZSAxMDppZighZCYmZygpKWJyZWFrIGU7YnJlYWs7 +ZGVmYXVsdDpicmVhazt9aWYoaC1jPjApZygpO25bIiFyZWYiXT1KYShzKTtyZXR1cm4gbn1mdW5j +dGlvbiBmKGUsdCl7aWYoISh0JiZ0LlBSTikpcmV0dXJuIHMoZSx0KTtpZih0LkZTKXJldHVybiBz +KGUsdCk7aWYoZS5zbGljZSgwLDQpPT0ic2VwPSIpcmV0dXJuIHMoZSx0KTtpZihlLmluZGV4T2Yo +Ilx0Iik+PTB8fGUuaW5kZXhPZigiLCIpPj0wfHxlLmluZGV4T2YoIjsiKT49MClyZXR1cm4gcyhl +LHQpO3JldHVybiBmbihyKGUsdCksdCl9ZnVuY3Rpb24gbChlLHIpe3ZhciB0PSIiLG49ci50eXBl +PT0ic3RyaW5nIj9bMCwwLDAsMF06bGsoZSxyKTtzd2l0Y2goci50eXBlKXtjYXNlImJhc2U2NCI6 +dD1FKGUpO2JyZWFrO2Nhc2UiYmluYXJ5Ijp0PWU7YnJlYWs7Y2FzZSJidWZmZXIiOmlmKHIuY29k +ZXBhZ2U9PTY1MDAxKXQ9ZS50b1N0cmluZygidXRmOCIpO2Vsc2UgaWYoci5jb2RlcGFnZSYmdHlw +ZW9mIGEhPT0idW5kZWZpbmVkIil0PWEudXRpbHMuZGVjb2RlKHIuY29kZXBhZ2UsZSk7ZWxzZSB0 +PUMmJkJ1ZmZlci5pc0J1ZmZlcihlKT9lLnRvU3RyaW5nKCJiaW5hcnkiKTpOKGUpO2JyZWFrO2Nh +c2UiYXJyYXkiOnQ9a3IoZSk7YnJlYWs7Y2FzZSJzdHJpbmciOnQ9ZTticmVhaztkZWZhdWx0OnRo +cm93IG5ldyBFcnJvcigiVW5yZWNvZ25pemVkIHR5cGUgIityLnR5cGUpO31pZihuWzBdPT0yMzkm +Jm5bMV09PTE4NyYmblsyXT09MTkxKXQ9SXQodC5zbGljZSgzKSk7ZWxzZSBpZihyLnR5cGUhPSJz +dHJpbmciJiZyLnR5cGUhPSJidWZmZXIiJiZyLmNvZGVwYWdlPT02NTAwMSl0PUl0KHQpO2Vsc2Ug +aWYoci50eXBlPT0iYmluYXJ5IiYmdHlwZW9mIGEhPT0idW5kZWZpbmVkIiYmci5jb2RlcGFnZSl0 +PWEudXRpbHMuZGVjb2RlKHIuY29kZXBhZ2UsYS51dGlscy5lbmNvZGUoMjg1OTEsdCkpO2lmKHQu +c2xpY2UoMCwxOSk9PSJzb2NpYWxjYWxjOnZlcnNpb246IilyZXR1cm4gcm8udG9fc2hlZXQoci50 +eXBlPT0ic3RyaW5nIj90Okl0KHQpLHIpO3JldHVybiBmKHQscil9ZnVuY3Rpb24gbyhlLHIpe3Jl +dHVybiBhbihsKGUscikscil9ZnVuY3Rpb24gYyhlKXt2YXIgcj1bXTtpZighZVsiIXJlZiJdKXJl +dHVybiIiO3ZhciB0PWVuKGVbIiFyZWYiXSksYTt2YXIgbj1lWyIhZGF0YSJdIT1udWxsO2Zvcih2 +YXIgaT10LnMucjtpPD10LmUucjsrK2kpe3ZhciBzPVtdO2Zvcih2YXIgZj10LnMuYztmPD10LmUu +YzsrK2Ype3ZhciBsPVlhKHtyOmksYzpmfSk7YT1uPyhlWyIhZGF0YSJdW2ldfHxbXSlbZl06ZVts +XTtpZighYXx8YS52PT1udWxsKXtzLnB1c2goIiAgICAgICAgICAiKTtjb250aW51ZX12YXIgbz0o +YS53fHwodG4oYSksYS53KXx8IiIpLnNsaWNlKDAsMTApO3doaWxlKG8ubGVuZ3RoPDEwKW8rPSIg +IjtzLnB1c2gobysoZj09PTA/IiAiOiIiKSl9ci5wdXNoKHMuam9pbigiIikpfXJldHVybiByLmpv +aW4oIlxuIil9cmV0dXJue3RvX3dvcmtib29rOm8sdG9fc2hlZXQ6bCxmcm9tX3NoZWV0OmN9fSgp +O2Z1bmN0aW9uIGFvKGUscil7dmFyIHQ9cnx8e30sYT0hIXQuV1RGO3QuV1RGPXRydWU7dHJ5e3Zh +ciBuPVFsLnRvX3dvcmtib29rKGUsdCk7dC5XVEY9YTtyZXR1cm4gbn1jYXRjaChpKXt0LldURj1h +O2lmKGkubWVzc2FnZS5pbmRleE9mKCJTWUxLIGJhZCByZWNvcmQgSUQiKT09LTEmJmEpdGhyb3cg +aTtyZXR1cm4gdG8udG9fd29ya2Jvb2soZSxyKX19dmFyIG5vPWZ1bmN0aW9uKCl7ZnVuY3Rpb24g +ZShlLHIsdCl7aWYoIWUpcmV0dXJuO09hKGUsZS5sfHwwKTt2YXIgYT10LkVudW18fFY7d2hpbGUo +ZS5sPGUubGVuZ3RoKXt2YXIgbj1lLl9SKDIpO3ZhciBpPWFbbl18fGFbNjU1MzVdO3ZhciBzPWUu +X1IoMik7dmFyIGY9ZS5sK3M7dmFyIGw9aS5mJiZpLmYoZSxzLHQpO2UubD1mO2lmKHIobCxpLG4p +KXJldHVybn19ZnVuY3Rpb24gcihlLHIpe3N3aXRjaChyLnR5cGUpe2Nhc2UiYmFzZTY0IjpyZXR1 +cm4gYShJKEUoZSkpLHIpO2Nhc2UiYmluYXJ5IjpyZXR1cm4gYShJKGUpLHIpO2Nhc2UiYnVmZmVy +Ijo7Y2FzZSJhcnJheSI6cmV0dXJuIGEoZSxyKTt9dGhyb3ciVW5zdXBwb3J0ZWQgdHlwZSAiK3Iu +dHlwZX12YXIgdD1bIm1tbW0iLCJkZC1tbW0teXl5eSIsImRkLW1tbSIsIm1tbS15eXl5IiwiQCIs +Im1tL2RkIiwiaGg6bW06c3MgQU0vUE0iLCJoaDptbSBBTS9QTSIsIm1tL2RkL3l5eXkiLCJtbS9k +ZCIsImhoOm1tOnNzIiwiaGg6bW0iXTtmdW5jdGlvbiBhKHIsYSl7aWYoIXIpcmV0dXJuIHI7CnZh +ciBuPWF8fHt9O2lmKGIhPW51bGwmJm4uZGVuc2U9PW51bGwpbi5kZW5zZT1iO3ZhciBpPXt9LHM9 +IlNoZWV0MSIsZj0iIixsPTA7dmFyIG89e30sYz1bXSxoPVtdLHU9W107aWYobi5kZW5zZSl1PWlb +IiFkYXRhIl09W107dmFyIGQ9e3M6e3I6MCxjOjB9LGU6e3I6MCxjOjB9fTt2YXIgdj1uLnNoZWV0 +Um93c3x8MDt2YXIgcD17fTtpZihyWzRdPT04MSYmcls1XT09ODAmJnJbNl09PTg3KXJldHVybiBq +KHIsYSk7aWYoclsyXT09MCl7aWYoclszXT09OHx8clszXT09OSl7aWYoci5sZW5ndGg+PTE2JiZy +WzE0XT09NSYmclsxNV09PT0xMDgpdGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBXb3JrcyAz +IGZvciBNYWMgZmlsZSIpfX1pZihyWzJdPT0yKXtuLkVudW09VjtlKHIsZnVuY3Rpb24oZSxyLGEp +e3N3aXRjaChhKXtjYXNlIDA6bi52ZXJzPWU7aWYoZT49NDA5NiluLnFwcm89dHJ1ZTticmVhaztj +YXNlIDI1NTpuLnZlcnM9ZTtuLndvcmtzPXRydWU7YnJlYWs7Y2FzZSA2OmQ9ZTticmVhaztjYXNl +IDIwNDppZihlKWY9ZTticmVhaztjYXNlIDIyMjpmPWU7YnJlYWs7Y2FzZSAxNTo7Y2FzZSA1MTpp +ZigoIW4ucXBybyYmIW4ud29ya3N8fGE9PTUxKSYmZVsxXS52LmNoYXJDb2RlQXQoMCk8NDgpZVsx +XS52PWVbMV0udi5zbGljZSgxKTtpZihuLndvcmtzfHxuLndvcmtzMillWzFdLnY9ZVsxXS52LnJl +cGxhY2UoL1xyXG4vZywiXG4iKTtjYXNlIDEzOjtjYXNlIDE0OjtjYXNlIDE2OmlmKChlWzJdJjEx +Mik9PTExMiYmKGVbMl0mMTUpPjEmJihlWzJdJjE1KTwxNSl7ZVsxXS56PW4uZGF0ZU5GfHx0Wyhl +WzJdJjE1KS0xXXx8cVsxNF07aWYobi5jZWxsRGF0ZXMpe2VbMV0udj12cihlWzFdLnYpO2VbMV0u +dD10eXBlb2YgZVsxXS52PT0ibnVtYmVyIj8ibiI6ImQifX1pZihuLnFwcm8pe2lmKGVbM10+bCl7 +aVsiIXJlZiJdPUphKGQpO29bc109aTtjLnB1c2gocyk7aT17fTtpZihuLmRlbnNlKXU9aVsiIWRh +dGEiXT1bXTtkPXtzOntyOjAsYzowfSxlOntyOjAsYzowfX07bD1lWzNdO3M9Znx8IlNoZWV0Iiso +bCsxKTtmPSIifX12YXIgaD1uLmRlbnNlPyh1W2VbMF0ucl18fFtdKVtlWzBdLmNdOmlbWWEoZVsw +XSldO2lmKGgpe2gudD1lWzFdLnQ7aC52PWVbMV0udjtpZihlWzFdLnohPW51bGwpaC56PWVbMV0u +ejtpZihlWzFdLmYhPW51bGwpaC5mPWVbMV0uZjtwPWg7YnJlYWt9aWYobi5kZW5zZSl7aWYoIXVb +ZVswXS5yXSl1W2VbMF0ucl09W107dVtlWzBdLnJdW2VbMF0uY109ZVsxXX1lbHNlIGlbWWEoZVsw +XSldPWVbMV07cD1lWzFdO2JyZWFrO2Nhc2UgMjE1MDk6bi53b3JrczI9dHJ1ZTticmVhaztjYXNl +IDIxNTA2OntpZihlPT01MjgxKXtwLno9ImhoOm1tOnNzIjtpZihuLmNlbGxEYXRlcyYmcC50PT0i +biIpe3Audj12cihwLnYpO3AudD10eXBlb2YgcC52PT0ibnVtYmVyIj8ibiI6ImQifX19YnJlYWs7 +fX0sbil9ZWxzZSBpZihyWzJdPT0yNnx8clsyXT09MTQpe24uRW51bT0kO2lmKHJbMl09PTE0KXtu +LnFwcm89dHJ1ZTtyLmw9MH1lKHIsZnVuY3Rpb24oZSxyLHQpe3N3aXRjaCh0KXtjYXNlIDIwNDpz +PWU7YnJlYWs7Y2FzZSAyMjppZihlWzFdLnYuY2hhckNvZGVBdCgwKTw0OCllWzFdLnY9ZVsxXS52 +LnNsaWNlKDEpO2VbMV0udj1lWzFdLnYucmVwbGFjZSgvXHgwRi4vZyxmdW5jdGlvbihlKXtyZXR1 +cm4gU3RyaW5nLmZyb21DaGFyQ29kZShlLmNoYXJDb2RlQXQoMSktMzIpfSkucmVwbGFjZSgvXHJc +bi9nLCJcbiIpO2Nhc2UgMjM6O2Nhc2UgMjQ6O2Nhc2UgMjU6O2Nhc2UgMzc6O2Nhc2UgMzk6O2Nh +c2UgNDA6aWYoZVszXT5sKXtpWyIhcmVmIl09SmEoZCk7b1tzXT1pO2MucHVzaChzKTtpPXt9O2lm +KG4uZGVuc2UpdT1pWyIhZGF0YSJdPVtdO2Q9e3M6e3I6MCxjOjB9LGU6e3I6MCxjOjB9fTtsPWVb +M107cz0iU2hlZXQiKyhsKzEpfWlmKHY+MCYmZVswXS5yPj12KWJyZWFrO2lmKG4uZGVuc2Upe2lm +KCF1W2VbMF0ucl0pdVtlWzBdLnJdPVtdO3VbZVswXS5yXVtlWzBdLmNdPWVbMV19ZWxzZSBpW1lh +KGVbMF0pXT1lWzFdO2lmKGQuZS5jPGVbMF0uYylkLmUuYz1lWzBdLmM7aWYoZC5lLnI8ZVswXS5y +KWQuZS5yPWVbMF0ucjticmVhaztjYXNlIDI3OmlmKGVbMTRlM10paFtlWzE0ZTNdWzBdXT1lWzE0 +ZTNdWzFdO2JyZWFrO2Nhc2UgMTUzNzpoW2VbMF1dPWVbMV07aWYoZVswXT09bClzPWVbMV07YnJl +YWs7ZGVmYXVsdDpicmVhazt9fSxuKX1lbHNlIHRocm93IG5ldyBFcnJvcigiVW5yZWNvZ25pemVk +IExPVFVTIEJPRiAiK3JbMl0pO2lbIiFyZWYiXT1KYShkKTtvW2Z8fHNdPWk7Yy5wdXNoKGZ8fHMp +O2lmKCFoLmxlbmd0aClyZXR1cm57U2hlZXROYW1lczpjLFNoZWV0czpvfTt2YXIgbT17fSxnPVtd +O2Zvcih2YXIgdz0wO3c8aC5sZW5ndGg7Kyt3KWlmKG9bY1t3XV0pe2cucHVzaChoW3ddfHxjW3dd +KTttW2hbd11dPW9baFt3XV18fG9bY1t3XV19ZWxzZXtnLnB1c2goaFt3XSk7bVtoW3ddXT17IiFy +ZWYiOiJBMSJ9fXJldHVybntTaGVldE5hbWVzOmcsU2hlZXRzOm19fWZ1bmN0aW9uIG4oZSxyKXt2 +YXIgdD1yfHx7fTtpZigrdC5jb2RlcGFnZT49MClsKCt0LmNvZGVwYWdlKTtpZih0LnR5cGU9PSJz +dHJpbmciKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHdyaXRlIFdLMSB0byBKUyBzdHJpbmciKTt2 +YXIgYT1GYSgpO2lmKCFlWyIhcmVmIl0pdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgZXhwb3J0IGVt +cHR5IHNoZWV0IHRvIFdLMSIpO3ZhciBuPWVuKGVbIiFyZWYiXSk7dmFyIGk9ZVsiIWRhdGEiXSE9 +bnVsbDt2YXIgZj1bXTtxZyhhLDAscygxMDMwKSk7cWcoYSw2LGMobikpO3ZhciBvPU1hdGgubWlu +KG4uZS5yLDgxOTEpO2Zvcih2YXIgaD1uLnMuYztoPD1uLmUuYzsrK2gpZltoXT0kYShoKTtmb3Io +dmFyIHU9bi5zLnI7dTw9bzsrK3Upe3ZhciBkPVdhKHUpO2ZvcihoPW4ucy5jO2g8PW4uZS5jOysr +aCl7dmFyIHA9aT8oZVsiIWRhdGEiXVt1XXx8W10pW2hdOmVbZltoXStkXTtpZighcHx8cC50PT0i +eiIpY29udGludWU7c3dpdGNoKHAudCl7Y2FzZSJuIjppZigocC52fDApPT1wLnYmJnAudj49LTMy +NzY4JiZwLnY8PTMyNzY3KXFnKGEsMTMsZyh1LGgscCkpO2Vsc2UgcWcoYSwxNCxrKHUsaCxwKSk7 +YnJlYWs7Y2FzZSJkIjp2YXIgbT1kcihwLnYpO2lmKChtfDApPT1tJiZtPj0tMzI3NjgmJm08PTMy +NzY3KXFnKGEsMTMsZyh1LGgse3Q6Im4iLHY6bSx6OnAuenx8cVsxNF19KSk7ZWxzZSBxZyhhLDE0 +LGsodSxoLHt0OiJuIix2Om0sejpwLnp8fHFbMTRdfSkpO2JyZWFrO2RlZmF1bHQ6dmFyIGI9dG4o +cCk7cWcoYSwxNSx2KHUsaCxiLnNsaWNlKDAsMjM5KSkpO319fXFnKGEsMSk7cmV0dXJuIGEuZW5k +KCl9ZnVuY3Rpb24gaShlLHIpe3ZhciB0PXJ8fHt9O2lmKCt0LmNvZGVwYWdlPj0wKWwoK3QuY29k +ZXBhZ2UpO2lmKHQudHlwZT09InN0cmluZyIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgd3JpdGUg +V0szIHRvIEpTIHN0cmluZyIpO3ZhciBhPUZhKCk7cWcoYSwwLGYoZSkpO2Zvcih2YXIgbj0wLGk9 +MDtuPGUuU2hlZXROYW1lcy5sZW5ndGg7KytuKWlmKChlLlNoZWV0c1tlLlNoZWV0TmFtZXNbbl1d +fHx7fSlbIiFyZWYiXSlxZyhhLDI3LEgoZS5TaGVldE5hbWVzW25dLGkrKykpO3ZhciBzPTA7Zm9y +KG49MDtuPGUuU2hlZXROYW1lcy5sZW5ndGg7KytuKXt2YXIgbz1lLlNoZWV0c1tlLlNoZWV0TmFt +ZXNbbl1dO2lmKCFvfHwhb1siIXJlZiJdKWNvbnRpbnVlO3ZhciBjPWVuKG9bIiFyZWYiXSk7dmFy +IGg9b1siIWRhdGEiXSE9bnVsbDt2YXIgdT1bXTt2YXIgZD1NYXRoLm1pbihjLmUuciw4MTkxKTtm +b3IodmFyIHY9Yy5zLnI7djw9ZDsrK3Ype3ZhciBwPVdhKHYpO2Zvcih2YXIgbT1jLnMuYzttPD1j +LmUuYzsrK20pe2lmKHY9PT1jLnMucil1W21dPSRhKG0pO3ZhciBnPXVbbV0rcDt2YXIgYj1oPyhv +WyIhZGF0YSJdW3ZdfHxbXSlbbV06b1tnXTtpZighYnx8Yi50PT0ieiIpY29udGludWU7aWYoYi50 +PT0ibiIpe3FnKGEsMjMsRih2LG0scyxiLnYpKX1lbHNle3ZhciB3PXRuKGIpO3FnKGEsMjIsTyh2 +LG0scyx3LnNsaWNlKDAsMjM5KSkpfX19KytzfXFnKGEsMSk7cmV0dXJuIGEuZW5kKCl9ZnVuY3Rp +b24gcyhlKXt2YXIgcj1SYSgyKTtyLl9XKDIsZSk7cmV0dXJuIHJ9ZnVuY3Rpb24gZihlKXt2YXIg +cj1SYSgyNik7ci5fVygyLDQwOTYpO3IuX1coMiw0KTtyLl9XKDQsMCk7dmFyIHQ9MCxhPTAsbj0w +O2Zvcih2YXIgaT0wO2k8ZS5TaGVldE5hbWVzLmxlbmd0aDsrK2kpe3ZhciBzPWUuU2hlZXROYW1l +c1tpXTt2YXIgZj1lLlNoZWV0c1tzXTtpZighZnx8IWZbIiFyZWYiXSljb250aW51ZTsrK247dmFy +IGw9WmEoZlsiIXJlZiJdKTtpZih0PGwuZS5yKXQ9bC5lLnI7aWYoYTxsLmUuYylhPWwuZS5jfWlm +KHQ+ODE5MSl0PTgxOTE7ci5fVygyLHQpO3IuX1coMSxuKTtyLl9XKDEsYSk7ci5fVygyLDApO3Iu +X1coMiwwKTtyLl9XKDEsMSk7ci5fVygxLDIpO3IuX1coNCwwKTtyLl9XKDQsMCk7cmV0dXJuIHJ9 +ZnVuY3Rpb24gbyhlLHIsdCl7dmFyIGE9e3M6e2M6MCxyOjB9LGU6e2M6MCxyOjB9fTtpZihyPT04 +JiZ0LnFwcm8pe2Eucy5jPWUuX1IoMSk7ZS5sKys7YS5zLnI9ZS5fUigyKTthLmUuYz1lLl9SKDEp +O2UubCsrO2EuZS5yPWUuX1IoMik7cmV0dXJuIGF9YS5zLmM9ZS5fUigyKTthLnMucj1lLl9SKDIp +O2lmKHI9PTEyJiZ0LnFwcm8pZS5sKz0yO2EuZS5jPWUuX1IoMik7YS5lLnI9ZS5fUigyKTtpZihy +PT0xMiYmdC5xcHJvKWUubCs9MjtpZihhLnMuYz09NjU1MzUpYS5zLmM9YS5lLmM9YS5zLnI9YS5l +LnI9MDtyZXR1cm4gYX1mdW5jdGlvbiBjKGUpe3ZhciByPVJhKDgpO3IuX1coMixlLnMuYyk7ci5f +VygyLGUucy5yKTtyLl9XKDIsZS5lLmMpO3IuX1coMixlLmUucik7cmV0dXJuIHJ9ZnVuY3Rpb24g +aChlLHIsdCl7dmFyIGE9W3tjOjAscjowfSx7dDoibiIsdjowfSwwLDBdO2lmKHQucXBybyYmdC52 +ZXJzIT0yMDc2OCl7YVswXS5jPWUuX1IoMSk7YVszXT1lLl9SKDEpO2FbMF0ucj1lLl9SKDIpO2Uu +bCs9Mn1lbHNlIGlmKHQud29ya3Mpe2FbMF0uYz1lLl9SKDIpO2FbMF0ucj1lLl9SKDIpO2FbMl09 +ZS5fUigyKX1lbHNle2FbMl09ZS5fUigxKTthWzBdLmM9ZS5fUigyKTthWzBdLnI9ZS5fUigyKX1y +ZXR1cm4gYX1mdW5jdGlvbiB1KGUpe2lmKGUueiYmTGUoZS56KSl7cmV0dXJuIDI0MHwodC5pbmRl +eE9mKGUueikrMXx8Mil9cmV0dXJuIDI1NX1mdW5jdGlvbiBkKGUscix0KXt2YXIgYT1lLmwrcjt2 +YXIgbj1oKGUscix0KTtuWzFdLnQ9InMiO2lmKCh0LnZlcnMmNjU1MzQpPT0yMDc2OCl7ZS5sKys7 +dmFyIGk9ZS5fUigxKTtuWzFdLnY9ZS5fUihpLCJ1dGY4Iik7cmV0dXJuIG59aWYodC5xcHJvKWUu +bCsrO25bMV0udj1lLl9SKGEtZS5sLCJjc3RyIik7cmV0dXJuIG59ZnVuY3Rpb24gdihlLHIsdCl7 +dmFyIGE9UmEoNyt0Lmxlbmd0aCk7YS5fVygxLDI1NSk7YS5fVygyLHIpO2EuX1coMixlKTthLl9X +KDEsMzkpO2Zvcih2YXIgbj0wO248YS5sZW5ndGg7KytuKXt2YXIgaT10LmNoYXJDb2RlQXQobik7 +YS5fVygxLGk+PTEyOD85NTppKX1hLl9XKDEsMCk7cmV0dXJuIGF9ZnVuY3Rpb24gcChlLHIsdCl7 +dmFyIGE9ZS5sK3I7dmFyIG49aChlLHIsdCk7blsxXS50PSJzIjtpZih0LnZlcnM9PTIwNzY4KXt2 +YXIgaT1lLl9SKDEpO25bMV0udj1lLl9SKGksInV0ZjgiKTtyZXR1cm4gbn1uWzFdLnY9ZS5fUihh +LWUubCwiY3N0ciIpO3JldHVybiBufWZ1bmN0aW9uIG0oZSxyLHQpe3ZhciBhPWgoZSxyLHQpO2Fb +MV0udj1lLl9SKDIsImkiKTtyZXR1cm4gYX1mdW5jdGlvbiBnKGUscix0KXt2YXIgYT1SYSg3KTth +Ll9XKDEsdSh0KSk7YS5fVygyLHIpO2EuX1coMixlKTthLl9XKDIsdC52LCJpIik7cmV0dXJuIGF9 +ZnVuY3Rpb24gdyhlLHIsdCl7dmFyIGE9aChlLHIsdCk7YVsxXS52PWUuX1IoOCwiZiIpO3JldHVy +biBhfWZ1bmN0aW9uIGsoZSxyLHQpe3ZhciBhPVJhKDEzKTthLl9XKDEsdSh0KSk7YS5fVygyLHIp +O2EuX1coMixlKTthLl9XKDgsdC52LCJmIik7cmV0dXJuIGF9ZnVuY3Rpb24gQShlLHIsdCl7dmFy +IGE9ZS5sK3I7dmFyIG49aChlLHIsdCk7blsxXS52PWUuX1IoOCwiZiIpO2lmKHQucXBybyllLmw9 +YTtlbHNle3ZhciBpPWUuX1IoMik7XyhlLnNsaWNlKGUubCxlLmwraSksbik7ZS5sKz1pfXJldHVy +biBufWZ1bmN0aW9uIFQoZSxyLHQpe3ZhciBhPXImMzI3Njg7ciY9fjMyNzY4O3I9KGE/ZTowKSso +cj49ODE5Mj9yLTE2Mzg0OnIpO3JldHVybihhPyIiOiIkIikrKHQ/JGEocik6V2EocikpfXZhciB5 +PXszMTpbIk5BIiwwXSwzMzpbIkFCUyIsMV0sMzQ6WyJUUlVOQyIsMV0sMzU6WyJTUVJUIiwxXSwz +NjpbIkxPRyIsMV0sMzc6WyJMTiIsMV0sMzg6WyJQSSIsMF0sMzk6WyJTSU4iLDFdLDQwOlsiQ09T +IiwxXSw0MTpbIlRBTiIsMV0sNDI6WyJBVEFOMiIsMl0sNDM6WyJBVEFOIiwxXSw0NDpbIkFTSU4i +LDFdLDQ1OlsiQUNPUyIsMV0sNDY6WyJFWFAiLDFdLDQ3OlsiTU9EIiwyXSw0OTpbIklTTkEiLDFd +LDUwOlsiSVNFUlIiLDFdLDUxOlsiRkFMU0UiLDBdLDUyOlsiVFJVRSIsMF0sNTM6WyJSQU5EIiww +XSw1NDpbIkRBVEUiLDNdLDYzOlsiUk9VTkQiLDJdLDY0OlsiVElNRSIsM10sNjg6WyJJU05VTUJF +UiIsMV0sNjk6WyJJU1RFWFQiLDFdLDcwOlsiTEVOIiwxXSw3MTpbIlZBTFVFIiwxXSw3MzpbIk1J +RCIsM10sNzQ6WyJDSEFSIiwxXSw4MDpbIlNVTSIsNjldLDgxOlsiQVZFUkFHRUEiLDY5XSw4Mjpb +IkNPVU5UQSIsNjldLDgzOlsiTUlOQSIsNjldLDg0OlsiTUFYQSIsNjldLDEwMjpbIlVQUEVSIiwx +XSwxMDM6WyJMT1dFUiIsMV0sMTA3OlsiUFJPUEVSIiwxXSwxMDk6WyJUUklNIiwxXSwxMTE6WyJU +IiwxXX07dmFyIEM9WyIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIrIiwiLSIsIioiLCIvIiwi +XiIsIj0iLCI8PiIsIjw9IiwiPj0iLCI8IiwiPiIsIiIsIiIsIiIsIiIsIiYiLCIiLCIiLCIiLCIi +LCIiLCIiLCIiXTtmdW5jdGlvbiBfKGUscil7T2EoZSwwKTt2YXIgdD1bXSxhPTAsbj0iIixpPSIi +LHM9IiIsZj0iIjt3aGlsZShlLmw8ZS5sZW5ndGgpe3ZhciBsPWVbZS5sKytdO3N3aXRjaChsKXtj +YXNlIDA6dC5wdXNoKGUuX1IoOCwiZiIpKTticmVhaztjYXNlIDE6e2k9VChyWzBdLmMsZS5fUigy +KSx0cnVlKTtuPVQoclswXS5yLGUuX1IoMiksZmFsc2UpO3QucHVzaChpK24pfWJyZWFrO2Nhc2Ug +Mjp7dmFyIG89VChyWzBdLmMsZS5fUigyKSx0cnVlKTt2YXIgYz1UKHJbMF0ucixlLl9SKDIpLGZh +bHNlKTtpPVQoclswXS5jLGUuX1IoMiksdHJ1ZSk7bj1UKHJbMF0ucixlLl9SKDIpLGZhbHNlKTt0 +LnB1c2gobytjKyI6IitpK24pfWJyZWFrO2Nhc2UgMzppZihlLmw8ZS5sZW5ndGgpe2NvbnNvbGUu +ZXJyb3IoIldLMSBwcmVtYXR1cmUgZm9ybXVsYSBlbmQiKTtyZXR1cm59YnJlYWs7Y2FzZSA0OnQu +cHVzaCgiKCIrdC5wb3AoKSsiKSIpO2JyZWFrO2Nhc2UgNTp0LnB1c2goZS5fUigyKSk7YnJlYWs7 +Y2FzZSA2Ont2YXIgaD0iIjt3aGlsZShsPWVbZS5sKytdKWgrPVN0cmluZy5mcm9tQ2hhckNvZGUo +bCk7dC5wdXNoKCciJytoLnJlcGxhY2UoLyIvZywnIiInKSsnIicpfWJyZWFrO2Nhc2UgODp0LnB1 +c2goIi0iK3QucG9wKCkpO2JyZWFrO2Nhc2UgMjM6dC5wdXNoKCIrIit0LnBvcCgpKTticmVhaztj +YXNlIDIyOnQucHVzaCgiTk9UKCIrdC5wb3AoKSsiKSIpO2JyZWFrO2Nhc2UgMjA6O2Nhc2UgMjE6 +e2Y9dC5wb3AoKTtzPXQucG9wKCk7dC5wdXNoKFsiQU5EIiwiT1IiXVtsLTIwXSsiKCIrcysiLCIr +ZisiKSIpfWJyZWFrO2RlZmF1bHQ6aWYobDwzMiYmQ1tsXSl7Zj10LnBvcCgpO3M9dC5wb3AoKTt0 +LnB1c2gocytDW2xdK2YpfWVsc2UgaWYoeVtsXSl7YT15W2xdWzFdO2lmKGE9PTY5KWE9ZVtlLmwr +K107aWYoYT50Lmxlbmd0aCl7Y29uc29sZS5lcnJvcigiV0sxIGJhZCBmb3JtdWxhIHBhcnNlIDB4 +IitsLnRvU3RyaW5nKDE2KSsiOnwiK3Quam9pbigifCIpKyJ8Iik7cmV0dXJufXZhciB1PXQuc2xp +Y2UoLWEpO3QubGVuZ3RoLT1hO3QucHVzaCh5W2xdWzBdKyIoIit1LmpvaW4oIiwiKSsiKSIpfWVs +c2UgaWYobDw9NylyZXR1cm4gY29uc29sZS5lcnJvcigiV0sxIGludmFsaWQgb3Bjb2RlICIrbC50 +b1N0cmluZygxNikpO2Vsc2UgaWYobDw9MjQpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIldLMSB1bnN1 +cHBvcnRlZCBvcCAiK2wudG9TdHJpbmcoMTYpKTtlbHNlIGlmKGw8PTMwKXJldHVybiBjb25zb2xl +LmVycm9yKCJXSzEgaW52YWxpZCBvcGNvZGUgIitsLnRvU3RyaW5nKDE2KSk7ZWxzZSBpZihsPD0x +MTUpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIldLMSB1bnN1cHBvcnRlZCBmdW5jdGlvbiBvcGNvZGUg +IitsLnRvU3RyaW5nKDE2KSk7ZWxzZSByZXR1cm4gY29uc29sZS5lcnJvcigiV0sxIHVucmVjb2du +aXplZCBvcGNvZGUgIitsLnRvU3RyaW5nKDE2KSk7fX1pZih0Lmxlbmd0aD09MSlyWzFdLmY9IiIr +dFswXTtlbHNlIGNvbnNvbGUuZXJyb3IoIldLMSBiYWQgZm9ybXVsYSBwYXJzZSB8Iit0LmpvaW4o +InwiKSsifCIpfWZ1bmN0aW9uIFMoZSl7dmFyIHI9W3tjOjAscjowfSx7dDoibiIsdjowfSwwXTty +WzBdLnI9ZS5fUigyKTtyWzNdPWVbZS5sKytdO3JbMF0uYz1lW2UubCsrXTtyZXR1cm4gcn1mdW5j +dGlvbiB4KGUscil7dmFyIHQ9UyhlLHIpO3RbMV0udD0icyI7dFsxXS52PWUuX1Ioci00LCJjc3Ry +Iik7cmV0dXJuIHR9ZnVuY3Rpb24gTyhlLHIsdCxhKXt2YXIgbj1SYSg2K2EubGVuZ3RoKTtuLl9X +KDIsZSk7bi5fVygxLHQpO24uX1coMSxyKTtuLl9XKDEsMzkpO2Zvcih2YXIgaT0wO2k8YS5sZW5n +dGg7KytpKXt2YXIgcz1hLmNoYXJDb2RlQXQoaSk7bi5fVygxLHM+PTEyOD85NTpzKX1uLl9XKDEs +MCk7cmV0dXJuIG59ZnVuY3Rpb24gUihlLHIpe3ZhciB0PVMoZSxyKTt0WzFdLnY9ZS5fUigyKTt2 +YXIgYT10WzFdLnY+PjE7aWYodFsxXS52JjEpe3N3aXRjaChhJjcpe2Nhc2UgMDphPShhPj4zKSo1 +ZTM7YnJlYWs7Y2FzZSAxOmE9KGE+PjMpKjUwMDticmVhaztjYXNlIDI6YT0oYT4+MykvMjA7YnJl +YWs7Y2FzZSAzOmE9KGE+PjMpLzIwMDticmVhaztjYXNlIDQ6YT0oYT4+MykvMmUzO2JyZWFrO2Nh +c2UgNTphPShhPj4zKS8yZTQ7YnJlYWs7Y2FzZSA2OmE9KGE+PjMpLzE2O2JyZWFrO2Nhc2UgNzph +PShhPj4zKS82NDticmVhazt9fXRbMV0udj1hO3JldHVybiB0fWZ1bmN0aW9uIE4oZSxyKXt2YXIg +dD1TKGUscik7dmFyIGE9ZS5fUig0KTt2YXIgbj1lLl9SKDQpO3ZhciBpPWUuX1IoMik7aWYoaT09 +NjU1MzUpe2lmKGE9PT0wJiZuPT09MzIyMTIyNTQ3Mil7dFsxXS50PSJlIjt0WzFdLnY9MTV9ZWxz +ZSBpZihhPT09MCYmbj09PTM0ODk2NjA5Mjgpe3RbMV0udD0iZSI7dFsxXS52PTQyfWVsc2UgdFsx +XS52PTA7cmV0dXJuIHR9dmFyIHM9aSYzMjc2ODtpPShpJjMyNzY3KS0xNjQ0Njt0WzFdLnY9KDEt +cyoyKSoobipNYXRoLnBvdygyLGkrMzIpK2EqTWF0aC5wb3coMixpKSk7cmV0dXJuIHR9ZnVuY3Rp +b24gRihlLHIsdCxhKXt2YXIgbj1SYSgxNCk7bi5fVygyLGUpO24uX1coMSx0KTtuLl9XKDEscik7 +aWYoYT09MCl7bi5fVyg0LDApO24uX1coNCwwKTtuLl9XKDIsNjU1MzUpO3JldHVybiBufXZhciBp +PTAscz0wLGY9MCxsPTA7aWYoYTwwKXtpPTE7YT0tYX1zPU1hdGgubG9nMihhKXwwO2EvPU1hdGgu +cG93KDIscy0zMSk7bD1hPj4+MDtpZigobCYyMTQ3NDgzNjQ4KT09MCl7YS89MjsrK3M7bD1hPj4+ +MH1hLT1sO2x8PTIxNDc0ODM2NDg7bD4+Pj0wO2EqPU1hdGgucG93KDIsMzIpO2Y9YT4+PjA7bi5f +Vyg0LGYpO24uX1coNCxsKTtzKz0xNjM4MysoaT8zMjc2ODowKTtuLl9XKDIscyk7cmV0dXJuIG59 +ZnVuY3Rpb24gRChlLHIpe3ZhciB0PU4oZSwxNCk7ZS5sKz1yLTE0O3JldHVybiB0fWZ1bmN0aW9u +IFAoZSxyKXt2YXIgdD1TKGUscik7dmFyIGE9ZS5fUig0KTt0WzFdLnY9YT4+NjtyZXR1cm4gdH1m +dW5jdGlvbiBMKGUscil7dmFyIHQ9UyhlLHIpO3ZhciBhPWUuX1IoOCwiZiIpO3RbMV0udj1hO3Jl +dHVybiB0fWZ1bmN0aW9uIE0oZSxyKXt2YXIgdD1MKGUsMTIpO2UubCs9ci0xMjtyZXR1cm4gdH1m +dW5jdGlvbiBVKGUscil7cmV0dXJuIGVbZS5sK3ItMV09PTA/ZS5fUihyLCJjc3RyIik6IiJ9ZnVu +Y3Rpb24gQihlLHIpe3ZhciB0PWVbZS5sKytdO2lmKHQ+ci0xKXQ9ci0xO3ZhciBhPSIiO3doaWxl +KGEubGVuZ3RoPHQpYSs9U3RyaW5nLmZyb21DaGFyQ29kZShlW2UubCsrXSk7cmV0dXJuIGF9ZnVu +Y3Rpb24gVyhlLHIsdCl7aWYoIXQucXByb3x8cjwyMSlyZXR1cm47dmFyIGE9ZS5fUigxKTtlLmwr +PTE3O2UubCs9MTtlLmwrPTI7dmFyIG49ZS5fUihyLTIxLCJjc3RyIik7cmV0dXJuW2Esbl19ZnVu +Y3Rpb24geihlLHIpe3ZhciB0PXt9LGE9ZS5sK3I7d2hpbGUoZS5sPGEpe3ZhciBuPWUuX1IoMik7 +aWYobj09MTRlMyl7dFtuXT1bMCwiIl07dFtuXVswXT1lLl9SKDIpO3doaWxlKGVbZS5sXSl7dFtu +XVsxXSs9U3RyaW5nLmZyb21DaGFyQ29kZShlW2UubF0pO2UubCsrfWUubCsrfX1yZXR1cm4gdH1m +dW5jdGlvbiBIKGUscil7dmFyIHQ9UmEoNStlLmxlbmd0aCk7dC5fVygyLDE0ZTMpO3QuX1coMixy +KTtmb3IodmFyIGE9MDthPGUubGVuZ3RoOysrYSl7dmFyIG49ZS5jaGFyQ29kZUF0KGEpO3RbdC5s +KytdPW4+MTI3Pzk1Om59dFt0LmwrK109MDtyZXR1cm4gdH12YXIgVj17MDp7bjoiQk9GIixmOmtz +fSwxOntuOiJFT0YifSwyOntuOiJDQUxDTU9ERSJ9LDM6e246IkNBTENPUkRFUiJ9LDQ6e246IlNQ +TElUIn0sNTp7bjoiU1lOQyJ9LDY6e246IlJBTkdFIixmOm99LDc6e246IldJTkRPVzEifSw4Ontu +OiJDT0xXMSJ9LDk6e246IldJTlRXTyJ9LDEwOntuOiJDT0xXMiJ9LDExOntuOiJOQU1FIn0sMTI6 +e246IkJMQU5LIn0sMTM6e246IklOVEVHRVIiLGY6bX0sMTQ6e246Ik5VTUJFUiIsZjp3fSwxNTp7 +bjoiTEFCRUwiLGY6ZH0sMTY6e246IkZPUk1VTEEiLGY6QX0sMjQ6e246IlRBQkxFIn0sMjU6e246 +Ik9SQU5HRSJ9LDI2OntuOiJQUkFOR0UifSwyNzp7bjoiU1JBTkdFIn0sMjg6e246IkZSQU5HRSJ9 +LDI5OntuOiJLUkFOR0UxIn0sMzI6e246IkhSQU5HRSJ9LDM1OntuOiJLUkFOR0UyIn0sMzY6e246 +IlBST1RFQyJ9LDM3OntuOiJGT09URVIifSwzODp7bjoiSEVBREVSIn0sMzk6e246IlNFVFVQIn0s +NDA6e246Ik1BUkdJTlMifSw0MTp7bjoiTEFCRUxGTVQifSw0Mjp7bjoiVElUTEVTIn0sNDM6e246 +IlNIRUVUSlMifSw0NTp7bjoiR1JBUEgifSw0Njp7bjoiTkdSQVBIIn0sNDc6e246IkNBTENDT1VO +VCJ9LDQ4OntuOiJVTkZPUk1BVFRFRCJ9LDQ5OntuOiJDVVJTT1JXMTIifSw1MDp7bjoiV0lORE9X +In0sNTE6e246IlNUUklORyIsZjpwfSw1NTp7bjoiUEFTU1dPUkQifSw1Njp7bjoiTE9DS0VEIn0s +NjA6e246IlFVRVJZIn0sNjE6e246IlFVRVJZTkFNRSJ9LDYyOntuOiJQUklOVCJ9LDYzOntuOiJQ +UklOVE5BTUUifSw2NDp7bjoiR1JBUEgyIn0sNjU6e246IkdSQVBITkFNRSJ9LDY2OntuOiJaT09N +In0sNjc6e246IlNZTVNQTElUIn0sNjg6e246Ik5TUk9XUyJ9LDY5OntuOiJOU0NPTFMifSw3MDp7 +bjoiUlVMRVIifSw3MTp7bjoiTk5BTUUifSw3Mjp7bjoiQUNPTU0ifSw3Mzp7bjoiQU1BQ1JPIn0s +NzQ6e246IlBBUlNFIn0sMTAyOntuOiJQUkFOR0VTPz8ifSwxMDM6e246IlJSQU5HRVM/PyJ9LDEw +NDp7bjoiRk5BTUU/PyJ9LDEwNTp7bjoiTVJBTkdFUz8/In0sMjA0OntuOiJTSEVFVE5BTUVDUyIs +ZjpVfSwyMjI6e246IlNIRUVUTkFNRUxQIixmOkJ9LDI1NTp7bjoiQk9GIixmOmtzfSwyMTUwNjp7 +bjoiV0tTTkYiLGY6a3N9LDY1NTM1OntuOiIifX07dmFyICQ9ezA6e246IkJPRiJ9LDE6e246IkVP +RiJ9LDI6e246IlBBU1NXT1JEIn0sMzp7bjoiQ0FMQ1NFVCJ9LDQ6e246IldJTkRPV1NFVCJ9LDU6 +e246IlNIRUVUQ0VMTFBUUiJ9LDY6e246IlNIRUVUTEFZT1VUIn0sNzp7bjoiQ09MVU1OV0lEVEgi +fSw4OntuOiJISURERU5DT0xVTU4ifSw5OntuOiJVU0VSUkFOR0UifSwxMDp7bjoiU1lTVEVNUkFO +R0UifSwxMTp7bjoiWkVST0ZPUkNFIn0sMTI6e246IlNPUlRLRVlESVIifSwxMzp7bjoiRklMRVNF +QUwifSwxNDp7bjoiREFUQUZJTExOVU1TIn0sMTU6e246IlBSSU5UTUFJTiJ9LDE2OntuOiJQUklO +VFNUUklORyJ9LDE3OntuOiJHUkFQSE1BSU4ifSwxODp7bjoiR1JBUEhTVFJJTkcifSwxOTp7bjoi +Pz8ifSwyMDp7bjoiRVJSQ0VMTCJ9LDIxOntuOiJOQUNFTEwifSwyMjp7bjoiTEFCRUwxNiIsZjp4 +fSwyMzp7bjoiTlVNQkVSMTciLGY6Tn0sMjQ6e246Ik5VTUJFUjE4IixmOlJ9LDI1OntuOiJGT1JN +VUxBMTkiLGY6RH0sMjY6e246IkZPUk1VTEExQSJ9LDI3OntuOiJYRk9STUFUIixmOnp9LDI4Ontu +OiJEVExBQkVMTUlTQyJ9LDI5OntuOiJEVExBQkVMQ0VMTCJ9LDMwOntuOiJHUkFQSFdJTkRPVyJ9 +LDMxOntuOiJDUEEifSwzMjp7bjoiTFBMQVVUTyJ9LDMzOntuOiJRVUVSWSJ9LDM0OntuOiJISURE +RU5TSEVFVCJ9LDM1OntuOiI/PyJ9LDM3OntuOiJOVU1CRVIyNSIsZjpQfSwzODp7bjoiPz8ifSwz +OTp7bjoiTlVNQkVSMjciLGY6TH0sNDA6e246IkZPUk1VTEEyOCIsZjpNfSwxNDI6e246Ij8/In0s +MTQ3OntuOiI/PyJ9LDE1MDp7bjoiPz8ifSwxNTE6e246Ij8/In0sMTUyOntuOiI/PyJ9LDE1Mzp7 +bjoiPz8ifSwxNTQ6e246Ij8/In0sMTU1OntuOiI/PyJ9LDE1Njp7bjoiPz8ifSwxNjM6e246Ij8/ +In0sMTc0OntuOiI/PyJ9LDE3NTp7bjoiPz8ifSwxNzY6e246Ij8/In0sMTc3OntuOiI/PyJ9LDE4 +NDp7bjoiPz8ifSwxODU6e246Ij8/In0sMTg2OntuOiI/PyJ9LDE4Nzp7bjoiPz8ifSwxODg6e246 +Ij8/In0sMTk1OntuOiI/PyJ9LDIwMTp7bjoiPz8ifSwyMDQ6e246IlNIRUVUTkFNRUNTIixmOlV9 +LDIwNTp7bjoiPz8ifSwyMDY6e246Ij8/In0sMjA3OntuOiI/PyJ9LDIwODp7bjoiPz8ifSwyNTY6 +e246Ij8/In0sMjU5OntuOiI/PyJ9LDI2MDp7bjoiPz8ifSwyNjE6e246Ij8/In0sMjYyOntuOiI/ +PyJ9LDI2Mzp7bjoiPz8ifSwyNjU6e246Ij8/In0sMjY2OntuOiI/PyJ9LDI2Nzp7bjoiPz8ifSwy +Njg6e246Ij8/In0sMjcwOntuOiI/PyJ9LDI3MTp7bjoiPz8ifSwzODQ6e246Ij8/In0sMzg5Ontu +OiI/PyJ9LDM5MDp7bjoiPz8ifSwzOTM6e246Ij8/In0sMzk2OntuOiI/PyJ9LDUxMjp7bjoiPz8i +fSw1MTQ6e246Ij8/In0sNTEzOntuOiI/PyJ9LDUxNjp7bjoiPz8ifSw1MTc6e246Ij8/In0sNjQw +OntuOiI/PyJ9LDY0MTp7bjoiPz8ifSw2NDI6e246Ij8/In0sNjQzOntuOiI/PyJ9LDY0NDp7bjoi +Pz8ifSw2NDU6e246Ij8/In0sNjQ2OntuOiI/PyJ9LDY0Nzp7bjoiPz8ifSw2NDg6e246Ij8/In0s +NjU4OntuOiI/PyJ9LDY1OTp7bjoiPz8ifSw2NjA6e246Ij8/In0sNjYxOntuOiI/PyJ9LDY2Mjp7 +bjoiPz8ifSw2NjU6e246Ij8/In0sNjY2OntuOiI/PyJ9LDc2ODp7bjoiPz8ifSw3NzI6e246Ij8/ +In0sMTUzNzp7bjoiU0hFRVRJTkZPUVAiLGY6V30sMTYwMDp7bjoiPz8ifSwxNjAyOntuOiI/PyJ9 +LDE3OTM6e246Ij8/In0sMTc5NDp7bjoiPz8ifSwxNzk1OntuOiI/PyJ9LDE3OTY6e246Ij8/In0s +MTkyMDp7bjoiPz8ifSwyMDQ4OntuOiI/PyJ9LDIwNDk6e246Ij8/In0sMjA1Mjp7bjoiPz8ifSwy +Njg4OntuOiI/PyJ9LDEwOTk4OntuOiI/PyJ9LDEyODQ5OntuOiI/PyJ9LDI4MjMzOntuOiI/PyJ9 +LDI4NDg0OntuOiI/PyJ9LDY1NTM1OntuOiIifX07dmFyIFg9ezU6ImRkLW1tbS15eSIsNjoiZGQt +bW1tIiw3OiJtbW0teXkiLDg6Im1tL2RkL3l5IiwxMDoiaGg6bW06c3MgQU0vUE0iLDExOiJoaDpt +bSBBTS9QTSIsMTQ6ImRkLW1tbS15eXl5IiwxNToibW1tLXl5eXkiLDM0OiIwLjAwIiw1MDoiMC4w +MDtbUmVkXTAuMDAiLDY2OiIwLjAwOygwLjAwKSIsODI6IjAuMDA7W1JlZF0oMC4wMCkiLDE2Mjon +IiQiIywjIzAuMDA7XFwoIiQiIywjIzAuMDBcXCknLDI4ODoiMCUiLDMwNDoiMEUrMDAiLDMyMDoi +IyA/Lz8ifTtmdW5jdGlvbiBHKGUpe3ZhciByPWUuX1IoMik7dmFyIHQ9ZS5fUigxKTtpZih0IT0w +KXRocm93InVuc3VwcG9ydGVkIFFQVyBzdHJpbmcgdHlwZSAiK3QudG9TdHJpbmcoMTYpO3JldHVy +biBlLl9SKHIsInNiY3MtY29udCIpfWZ1bmN0aW9uIGooZSxyKXtPYShlLDApO3ZhciB0PXJ8fHt9 +O2lmKGIhPW51bGwmJnQuZGVuc2U9PW51bGwpdC5kZW5zZT1iO3ZhciBhPXt9O2lmKHQuZGVuc2Up +YVsiIWRhdGEiXT1bXTt2YXIgbj1bXSxpPSIiLHM9W107dmFyIGY9e3M6e3I6LTEsYzotMX0sZTp7 +cjotMSxjOi0xfX07dmFyIGw9MCxvPTAsYz0wLGg9MDt2YXIgdT17U2hlZXROYW1lczpbXSxTaGVl +dHM6e319O3ZhciBkPVtdO2U6d2hpbGUoZS5sPGUubGVuZ3RoKXt2YXIgdj1lLl9SKDIpLHA9ZS5f +UigyKTt2YXIgbT1lLnNsaWNlKGUubCxlLmwrcCk7T2EobSwwKTtzd2l0Y2godil7Y2FzZSAxOmlm +KG0uX1IoNCkhPTk2MjAyMzUwNSl0aHJvdyJCYWQgUVBXOSBCT0YhIjticmVhaztjYXNlIDI6YnJl +YWsgZTtjYXNlIDg6YnJlYWs7Y2FzZSAxMDp7dmFyIGc9bS5fUig0KTt2YXIgdz0obS5sZW5ndGgt +bS5sKS9nfDA7Zm9yKHZhciBrPTA7azxnOysrayl7dmFyIEE9bS5sK3c7dmFyIFQ9e307bS5sKz0y +O1QubnVtRm10SWQ9bS5fUigyKTtpZihYW1QubnVtRm10SWRdKVQuej1YW1QubnVtRm10SWRdO20u +bD1BO2QucHVzaChUKX19YnJlYWs7Y2FzZSAxMDI1OmJyZWFrO2Nhc2UgMTAyNjpicmVhaztjYXNl +IDEwMzE6e20ubCs9MTI7d2hpbGUobS5sPG0ubGVuZ3RoKXtsPW0uX1IoMik7bz1tLl9SKDEpO24u +cHVzaChtLl9SKGwsImNzdHIiKSl9fWJyZWFrO2Nhc2UgMTAzMjp7fWJyZWFrO2Nhc2UgMTUzNzp7 +dmFyIHk9bS5fUigyKTthPXt9O2lmKHQuZGVuc2UpYVsiIWRhdGEiXT1bXTtmLnMuYz1tLl9SKDIp +O2YuZS5jPW0uX1IoMik7Zi5zLnI9bS5fUig0KTtmLmUucj1tLl9SKDQpO20ubCs9NDtpZihtLmwr +MjxtLmxlbmd0aCl7bD1tLl9SKDIpO289bS5fUigxKTtpPWw9PTA/IiI6bS5fUihsLCJjc3RyIil9 +aWYoIWkpaT0kYSh5KX1icmVhaztjYXNlIDE1Mzg6e2lmKGYucy5jPjI1NXx8Zi5zLnI+OTk5OTk5 +KWJyZWFrO2lmKGYuZS5jPGYucy5jKWYuZS5jPWYucy5jO2lmKGYuZS5yPGYucy5yKWYuZS5yPWYu +cy5yO2FbIiFyZWYiXT1KYShmKTtYayh1LGEsaSl9YnJlYWs7Y2FzZSAyNTYxOntjPW0uX1IoMik7 +aWYoZi5lLmM8YylmLmUuYz1jO2lmKGYucy5jPmMpZi5zLmM9YztoPW0uX1IoNCk7aWYoZi5zLnI+ +aClmLnMucj1oO2g9bS5fUig0KTtpZihmLmUucjxoKWYuZS5yPWh9YnJlYWs7Y2FzZSAzMDczOnto +PW0uX1IoNCksbD1tLl9SKDQpO2lmKGYucy5yPmgpZi5zLnI9aDtpZihmLmUucjxoK2wtMSlmLmUu +cj1oK2wtMTt2YXIgRT0kYShjKTt3aGlsZShtLmw8bS5sZW5ndGgpe3ZhciBDPXt0OiJ6In07dmFy +IF89bS5fUigxKSxTPS0xO2lmKF8mMTI4KVM9bS5fUigyKTt2YXIgeD1fJjY0P20uX1IoMiktMTow +O3N3aXRjaChfJjMxKXtjYXNlIDA6YnJlYWs7Y2FzZSAxOmJyZWFrO2Nhc2UgMjpDPXt0OiJuIix2 +Om0uX1IoMil9O2JyZWFrO2Nhc2UgMzpDPXt0OiJuIix2Om0uX1IoMiwiaSIpfTticmVhaztjYXNl +IDQ6Qz17dDoibiIsdjpPbihtKX07YnJlYWs7Y2FzZSA1OkM9e3Q6Im4iLHY6bS5fUig4LCJmIil9 +O2JyZWFrO2Nhc2UgNzpDPXt0OiJzIix2Om5bbz1tLl9SKDQpLTFdfTticmVhaztjYXNlIDg6Qz17 +dDoibiIsdjptLl9SKDgsImYiKX07bS5sKz0yO20ubCs9NDtpZihpc05hTihDLnYpKUM9e3Q6ImUi +LHY6MTV9O2JyZWFrO2RlZmF1bHQ6dGhyb3ciVW5yZWNvZ25pemVkIFFQVyBjZWxsIHR5cGUgIiso +XyYzMSk7fWlmKFMhPS0xJiYoZFtTLTFdfHx7fSkueilDLno9ZFtTLTFdLno7dmFyIE89MDtpZihf +JjMyKXN3aXRjaChfJjMxKXtjYXNlIDI6Tz1tLl9SKDIpO2JyZWFrO2Nhc2UgMzpPPW0uX1IoMiwi +aSIpO2JyZWFrO2Nhc2UgNzpPPW0uX1IoMik7YnJlYWs7ZGVmYXVsdDp0aHJvdyJVbnN1cHBvcnRl +ZCBkZWx0YSBmb3IgUVBXIGNlbGwgdHlwZSAiKyhfJjMxKTt9aWYoISghdC5zaGVldFN0dWJzJiZD +LnQ9PSJ6Iikpe3ZhciBJPUFyKEMpO2lmKEMudD09Im4iJiZDLnomJkxlKEMueikmJnQuY2VsbERh +dGVzKXtJLnY9dnIoQy52KTtJLnQ9dHlwZW9mIEkudj09Im51bWJlciI/Im4iOiJkIn1pZihhWyIh +ZGF0YSJdIT1udWxsKXtpZighYVsiIWRhdGEiXVtoXSlhWyIhZGF0YSJdW2hdPVtdO2FbIiFkYXRh +Il1baF1bY109SX1lbHNlIGFbRStXYShoKV09SX0rK2g7LS1sO3doaWxlKHgtLSA+MCYmbD49MCl7 +aWYoXyYzMilzd2l0Y2goXyYzMSl7Y2FzZSAyOkM9e3Q6Im4iLHY6Qy52K08mNjU1MzV9O2JyZWFr +O2Nhc2UgMzpDPXt0OiJuIix2OkMuditPJjY1NTM1fTtpZihDLnY+MzI3NjcpQy52LT02NTUzNjti +cmVhaztjYXNlIDc6Qz17dDoicyIsdjpuW289bytPPj4+MF19O2JyZWFrO2RlZmF1bHQ6dGhyb3ci +Q2Fubm90IGFwcGx5IGRlbHRhIGZvciBRUFcgY2VsbCB0eXBlICIrKF8mMzEpO31lbHNlIHN3aXRj +aChfJjMxKXtjYXNlIDE6Qz17dDoieiJ9O2JyZWFrO2Nhc2UgMjpDPXt0OiJuIix2Om0uX1IoMil9 +O2JyZWFrO2Nhc2UgNzpDPXt0OiJzIix2Om5bbz1tLl9SKDQpLTFdfTticmVhaztkZWZhdWx0OnRo +cm93IkNhbm5vdCBhcHBseSByZXBlYXQgZm9yIFFQVyBjZWxsIHR5cGUgIisoXyYzMSk7fWlmKFMh +PS0xKTtpZighKCF0LnNoZWV0U3R1YnMmJkMudD09InoiKSl7aWYoYVsiIWRhdGEiXSE9bnVsbCl7 +aWYoIWFbIiFkYXRhIl1baF0pYVsiIWRhdGEiXVtoXT1bXTthWyIhZGF0YSJdW2hdW2NdPUN9ZWxz +ZSBhW0UrV2EoaCldPUN9KytoOy0tbH19fWJyZWFrO2Nhc2UgMzA3NDp7Yz1tLl9SKDIpO2g9bS5f +Uig0KTt2YXIgUj1HKG0pO2lmKGFbIiFkYXRhIl0hPW51bGwpe2lmKCFhWyIhZGF0YSJdW2hdKWFb +IiFkYXRhIl1baF09W107YVsiIWRhdGEiXVtoXVtjXT17dDoicyIsdjpSfX1lbHNlIGFbJGEoYykr +V2EoaCldPXt0OiJzIix2OlJ9fWJyZWFrO2RlZmF1bHQ6YnJlYWs7fWUubCs9cH1yZXR1cm4gdX1y +ZXR1cm57c2hlZXRfdG9fd2sxOm4sYm9va190b193azM6aSx0b193b3JrYm9vazpyfX0oKTtmdW5j +dGlvbiBpbyhlKXt2YXIgcj17fSx0PWUubWF0Y2goZnQpLGE9MDt2YXIgbj1mYWxzZTtpZih0KWZv +cig7YSE9dC5sZW5ndGg7KythKXt2YXIgcz1jdCh0W2FdKTtzd2l0Y2goc1swXS5yZXBsYWNlKC88 +XHcqOi9nLCI8Iikpe2Nhc2UiPGNvbmRlbnNlIjpicmVhaztjYXNlIjxleHRlbmQiOmJyZWFrO2Nh +c2UiPHNoYWRvdyI6aWYoIXMudmFsKWJyZWFrO2Nhc2UiPHNoYWRvdz4iOjtjYXNlIjxzaGFkb3cv +PiI6ci5zaGFkb3c9MTticmVhaztjYXNlIjwvc2hhZG93PiI6YnJlYWs7Y2FzZSI8Y2hhcnNldCI6 +aWYocy52YWw9PSIxIilicmVhaztyLmNwPWlbcGFyc2VJbnQocy52YWwsMTApXTticmVhaztjYXNl +IjxvdXRsaW5lIjppZighcy52YWwpYnJlYWs7Y2FzZSI8b3V0bGluZT4iOjtjYXNlIjxvdXRsaW5l +Lz4iOnIub3V0bGluZT0xO2JyZWFrO2Nhc2UiPC9vdXRsaW5lPiI6YnJlYWs7Y2FzZSI8ckZvbnQi +OnIubmFtZT1zLnZhbDticmVhaztjYXNlIjxzeiI6ci5zej1zLnZhbDticmVhaztjYXNlIjxzdHJp +a2UiOmlmKCFzLnZhbClicmVhaztjYXNlIjxzdHJpa2U+Ijo7Y2FzZSI8c3RyaWtlLz4iOnIuc3Ry +aWtlPTE7YnJlYWs7Y2FzZSI8L3N0cmlrZT4iOmJyZWFrO2Nhc2UiPHUiOmlmKCFzLnZhbClicmVh +aztzd2l0Y2gocy52YWwpe2Nhc2UiZG91YmxlIjpyLnV2YWw9ImRvdWJsZSI7YnJlYWs7Y2FzZSJz +aW5nbGVBY2NvdW50aW5nIjpyLnV2YWw9InNpbmdsZS1hY2NvdW50aW5nIjticmVhaztjYXNlImRv +dWJsZUFjY291bnRpbmciOnIudXZhbD0iZG91YmxlLWFjY291bnRpbmciO2JyZWFrO307Y2FzZSI8 +dT4iOjtjYXNlIjx1Lz4iOnIudT0xO2JyZWFrO2Nhc2UiPC91PiI6YnJlYWs7Y2FzZSI8YiI6aWYo +cy52YWw9PSIwIilicmVhaztjYXNlIjxiPiI6O2Nhc2UiPGIvPiI6ci5iPTE7YnJlYWs7Y2FzZSI8 +L2I+IjpicmVhaztjYXNlIjxpIjppZihzLnZhbD09IjAiKWJyZWFrO2Nhc2UiPGk+Ijo7Y2FzZSI8 +aS8+IjpyLmk9MTticmVhaztjYXNlIjwvaT4iOmJyZWFrO2Nhc2UiPGNvbG9yIjppZihzLnJnYily +LmNvbG9yPXMucmdiLnNsaWNlKDIsOCk7YnJlYWs7Y2FzZSI8Y29sb3I+Ijo7Y2FzZSI8Y29sb3Iv +PiI6O2Nhc2UiPC9jb2xvcj4iOmJyZWFrO2Nhc2UiPGZhbWlseSI6ci5mYW1pbHk9cy52YWw7YnJl +YWs7Y2FzZSI8ZmFtaWx5PiI6O2Nhc2UiPGZhbWlseS8+Ijo7Y2FzZSI8L2ZhbWlseT4iOmJyZWFr +O2Nhc2UiPHZlcnRBbGlnbiI6ci52YWxpZ249cy52YWw7YnJlYWs7Y2FzZSI8dmVydEFsaWduPiI6 +O2Nhc2UiPHZlcnRBbGlnbi8+Ijo7Y2FzZSI8L3ZlcnRBbGlnbj4iOmJyZWFrO2Nhc2UiPHNjaGVt +ZSI6YnJlYWs7Y2FzZSI8c2NoZW1lPiI6O2Nhc2UiPHNjaGVtZS8+Ijo7Y2FzZSI8L3NjaGVtZT4i +OmJyZWFrO2Nhc2UiPGV4dExzdCI6O2Nhc2UiPGV4dExzdD4iOjtjYXNlIjwvZXh0THN0PiI6YnJl +YWs7Y2FzZSI8ZXh0IjpuPXRydWU7YnJlYWs7Y2FzZSI8L2V4dD4iOm49ZmFsc2U7YnJlYWs7ZGVm +YXVsdDppZihzWzBdLmNoYXJDb2RlQXQoMSkhPT00NyYmIW4pdGhyb3cgbmV3IEVycm9yKCJVbnJl +Y29nbml6ZWQgcmljaCBmb3JtYXQgIitzWzBdKTt9fXJldHVybiByfXZhciBzbz1mdW5jdGlvbigp +e2Z1bmN0aW9uIGUoZSl7dmFyIHI9V3IoZSwidCIpO2lmKCFyKXJldHVybnt0OiJzIix2OiIifTt2 +YXIgdD17dDoicyIsdjpwdChyWzFdKX07dmFyIGE9V3IoZSwiclByIik7aWYoYSl0LnM9aW8oYVsx +XSk7cmV0dXJuIHR9dmFyIHI9LzwoPzpcdys6KT9yPi9nLHQ9LzxcLyg/Olx3KzopP3I+LztyZXR1 +cm4gZnVuY3Rpb24gYShuKXtyZXR1cm4gbi5yZXBsYWNlKHIsIiIpLnNwbGl0KHQpLm1hcChlKS5m +aWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIGUudn0pfX0oKTt2YXIgZm89ZnVuY3Rpb24gVEEoKXt2 +YXIgZT0vKFxyXG58XG4pL2c7ZnVuY3Rpb24gcihlLHIsdCl7dmFyIGE9W107aWYoZS51KWEucHVz +aCgidGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Iik7aWYoZS51dmFsKWEucHVzaCgidGV4dC11 +bmRlcmxpbmUtc3R5bGU6IitlLnV2YWwrIjsiKTtpZihlLnN6KWEucHVzaCgiZm9udC1zaXplOiIr +ZS5zeisicHQ7Iik7aWYoZS5vdXRsaW5lKWEucHVzaCgidGV4dC1lZmZlY3Q6IG91dGxpbmU7Iik7 +aWYoZS5zaGFkb3cpYS5wdXNoKCJ0ZXh0LXNoYWRvdzogYXV0bzsiKTtyLnB1c2goJzxzcGFuIHN0 +eWxlPSInK2Euam9pbigiIikrJyI+Jyk7aWYoZS5iKXtyLnB1c2goIjxiPiIpO3QucHVzaCgiPC9i +PiIpfWlmKGUuaSl7ci5wdXNoKCI8aT4iKTt0LnB1c2goIjwvaT4iKX1pZihlLnN0cmlrZSl7ci5w +dXNoKCI8cz4iKTt0LnB1c2goIjwvcz4iKX12YXIgbj1lLnZhbGlnbnx8IiI7aWYobj09InN1cGVy +c2NyaXB0Inx8bj09InN1cGVyIiluPSJzdXAiO2Vsc2UgaWYobj09InN1YnNjcmlwdCIpbj0ic3Vi +IjtpZihuIT0iIil7ci5wdXNoKCI8IituKyI+Iik7dC5wdXNoKCI8LyIrbisiPiIpfXQucHVzaCgi +PC9zcGFuPiIpO3JldHVybiBlfWZ1bmN0aW9uIHQodCl7dmFyIGE9W1tdLHQudixbXV07aWYoIXQu +dilyZXR1cm4iIjtpZih0LnMpcih0LnMsYVswXSxhWzJdKTtyZXR1cm4gYVswXS5qb2luKCIiKSth +WzFdLnJlcGxhY2UoZSwiPGJyLz4iKSthWzJdLmpvaW4oIiIpfXJldHVybiBmdW5jdGlvbiBhKGUp +e3JldHVybiBlLm1hcCh0KS5qb2luKCIiKX19KCk7dmFyIGxvPS88KD86XHcrOik/dFxiW148Pl0q +PihbXjxdKik8XC8oPzpcdys6KT90Pi9nLG9vPS88KD86XHcrOik/clxiW148Pl0qPi87ZnVuY3Rp +b24gY28oZSxyKXt2YXIgdD1yP3IuY2VsbEhUTUw6dHJ1ZTt2YXIgYT17fTtpZighZSlyZXR1cm57 +dDoiIn07aWYoZS5tYXRjaCgvXlxzKjwoPzpcdys6KT90W14+XSo+Lykpe2EudD1wdChJdChlLnNs +aWNlKGUuaW5kZXhPZigiPiIpKzEpLnNwbGl0KC88XC8oPzpcdys6KT90Pi8pWzBdfHwiIiksdHJ1 +ZSk7YS5yPUl0KGUpO2lmKHQpYS5oPUF0KGEudCl9ZWxzZSBpZihlLm1hdGNoKG9vKSl7YS5yPUl0 +KGUpO2EudD1wdChJdCgoSHIoZSwiclBoIikubWF0Y2gobG8pfHxbXSkuam9pbigiIikucmVwbGFj +ZShmdCwiIikpLHRydWUpO2lmKHQpYS5oPWZvKHNvKGEucikpfXJldHVybiBhfXZhciBobz0vPCg/ +Olx3KzopPyg/OnNpfHNzdEl0ZW0pPi9nO3ZhciB1bz0vPFwvKD86XHcrOik/KD86c2l8c3N0SXRl +bSk+LztmdW5jdGlvbiB2byhlLHIpe3ZhciB0PVtdLGE9IiI7aWYoIWUpcmV0dXJuIHQ7dmFyIG49 +V3IoZSwic3N0Iik7aWYobil7YT1uWzFdLnJlcGxhY2UoaG8sIiIpLnNwbGl0KHVvKTtmb3IodmFy +IGk9MDtpIT1hLmxlbmd0aDsrK2kpe3ZhciBzPWNvKGFbaV0udHJpbSgpLHIpO2lmKHMhPW51bGwp +dFt0Lmxlbmd0aF09c31uPWN0KG5bMF0uc2xpY2UoMCxuWzBdLmluZGV4T2YoIj4iKSkpO3QuQ291 +bnQ9bi5jb3VudDt0LlVuaXF1ZT1uLnVuaXF1ZUNvdW50fXJldHVybiB0fXZhciBwbz0vXlxzfFxz +JHxbXHRcblxyXS87ZnVuY3Rpb24gbW8oZSxyKXtpZighci5ib29rU1NUKXJldHVybiIiO3ZhciB0 +PVthdF07dFt0Lmxlbmd0aF09QnQoInNzdCIsbnVsbCx7eG1sbnM6WHRbMF0sY291bnQ6ZS5Db3Vu +dCx1bmlxdWVDb3VudDplLlVuaXF1ZX0pO2Zvcih2YXIgYT0wO2EhPWUubGVuZ3RoOysrYSl7aWYo +ZVthXT09bnVsbCljb250aW51ZTt2YXIgbj1lW2FdO3ZhciBpPSI8c2k+IjtpZihuLnIpaSs9bi5y +O2Vsc2V7aSs9Ijx0IjtpZighbi50KW4udD0iIjtpZih0eXBlb2Ygbi50IT09InN0cmluZyIpbi50 +PVN0cmluZyhuLnQpO2lmKG4udC5tYXRjaChwbykpaSs9JyB4bWw6c3BhY2U9InByZXNlcnZlIic7 +aSs9Ij4iK2J0KG4udCkrIjwvdD4ifWkrPSI8L3NpPiI7dFt0Lmxlbmd0aF09aX1pZih0Lmxlbmd0 +aD4yKXt0W3QubGVuZ3RoXT0iPC9zc3Q+Ijt0WzFdPXRbMV0ucmVwbGFjZSgiLz4iLCI+Iil9cmV0 +dXJuIHQuam9pbigiIil9ZnVuY3Rpb24gZ28oZSl7cmV0dXJuW2UuX1IoNCksZS5fUig0KV19ZnVu +Y3Rpb24gYm8oZSxyKXt2YXIgdD1bXTt2YXIgYT1mYWxzZTtOYShlLGZ1bmN0aW9uIG4oZSxpLHMp +e3N3aXRjaChzKXtjYXNlIDE1OTp0LkNvdW50PWVbMF07dC5VbmlxdWU9ZVsxXTticmVhaztjYXNl +IDE5OnQucHVzaChlKTticmVhaztjYXNlIDE2MDpyZXR1cm4gdHJ1ZTtjYXNlIDM1OmE9dHJ1ZTti +cmVhaztjYXNlIDM2OmE9ZmFsc2U7YnJlYWs7ZGVmYXVsdDppZihpLlQpe31pZighYXx8ci5XVEYp +dGhyb3cgbmV3IEVycm9yKCJVbmV4cGVjdGVkIHJlY29yZCAweCIrcy50b1N0cmluZygxNikpO319 +KTtyZXR1cm4gdH1mdW5jdGlvbiB3byhlLHIpe2lmKCFyKXI9UmEoOCk7ci5fVyg0LGUuQ291bnQp +O3IuX1coNCxlLlVuaXF1ZSk7cmV0dXJuIHJ9dmFyIGtvPXBuO2Z1bmN0aW9uIEFvKGUpe3ZhciBy +PUZhKCk7RGEociwxNTksd28oZSkpO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7Kyt0KURhKHIsMTks +a28oZVt0XSkpO0RhKHIsMTYwKTtyZXR1cm4gci5lbmQoKX1mdW5jdGlvbiBUbyhlKXtpZih0eXBl +b2YgYSE9PSJ1bmRlZmluZWQiKXJldHVybiBhLnV0aWxzLmVuY29kZSh0LGUpO3ZhciByPVtdLG49 +ZS5zcGxpdCgiIik7Zm9yKHZhciBpPTA7aTxuLmxlbmd0aDsrK2kpcltpXT1uW2ldLmNoYXJDb2Rl +QXQoMCk7cmV0dXJuIHJ9ZnVuY3Rpb24geW8oZSxyKXt2YXIgdD17fTt0Lk1ham9yPWUuX1IoMik7 +dC5NaW5vcj1lLl9SKDIpO2lmKHI+PTQpZS5sKz1yLTQ7cmV0dXJuIHR9ZnVuY3Rpb24gRW8oZSl7 +dmFyIHI9e307ci5pZD1lLl9SKDAsImxwcDQiKTtyLlI9eW8oZSw0KTtyLlU9eW8oZSw0KTtyLlc9 +eW8oZSw0KTtyZXR1cm4gcn1mdW5jdGlvbiBDbyhlKXt2YXIgcj1lLl9SKDQpO3ZhciB0PWUubCty +LTQ7dmFyIGE9e307dmFyIG49ZS5fUig0KTt2YXIgaT1bXTt3aGlsZShuLS0gPjApaS5wdXNoKHt0 +OmUuX1IoNCksdjplLl9SKDAsImxwcDQiKX0pO2EubmFtZT1lLl9SKDAsImxwcDQiKTthLmNvbXBz +PWk7aWYoZS5sIT10KXRocm93IG5ldyBFcnJvcigiQmFkIERhdGFTcGFjZU1hcEVudHJ5OiAiK2Uu +bCsiICE9ICIrdCk7cmV0dXJuIGF9ZnVuY3Rpb24gX28oZSl7dmFyIHI9W107ZS5sKz00O3ZhciB0 +PWUuX1IoNCk7d2hpbGUodC0tID4wKXIucHVzaChDbyhlKSk7cmV0dXJuIHJ9ZnVuY3Rpb24gU28o +ZSl7dmFyIHI9W107ZS5sKz00O3ZhciB0PWUuX1IoNCk7d2hpbGUodC0tID4wKXIucHVzaChlLl9S +KDAsImxwcDQiKSk7cmV0dXJuIHJ9ZnVuY3Rpb24geG8oZSl7dmFyIHI9e307ZS5fUig0KTtlLmwr +PTQ7ci5pZD1lLl9SKDAsImxwcDQiKTtyLm5hbWU9ZS5fUigwLCJscHA0Iik7ci5SPXlvKGUsNCk7 +ci5VPXlvKGUsNCk7ci5XPXlvKGUsNCk7cmV0dXJuIHJ9ZnVuY3Rpb24gT28oZSl7dmFyIHI9eG8o +ZSk7ci5lbmFtZT1lLl9SKDAsIjhscHA0Iik7ci5ibGtzej1lLl9SKDQpO3IuY21vZGU9ZS5fUig0 +KTtpZihlLl9SKDQpIT00KXRocm93IG5ldyBFcnJvcigiQmFkICFQcmltYXJ5IHJlY29yZCIpO3Jl +dHVybiByfWZ1bmN0aW9uIElvKGUscil7dmFyIHQ9ZS5sK3I7dmFyIGE9e307YS5GbGFncz1lLl9S +KDQpJjYzO2UubCs9NDthLkFsZ0lEPWUuX1IoNCk7dmFyIG49ZmFsc2U7c3dpdGNoKGEuQWxnSUQp +e2Nhc2UgMjYxMjY6O2Nhc2UgMjYxMjc6O2Nhc2UgMjYxMjg6bj1hLkZsYWdzPT0zNjticmVhaztj +YXNlIDI2NjI1Om49YS5GbGFncz09NDticmVhaztjYXNlIDA6bj1hLkZsYWdzPT0xNnx8YS5GbGFn +cz09NHx8YS5GbGFncz09MzY7YnJlYWs7ZGVmYXVsdDp0aHJvdyJVbnJlY29nbml6ZWQgZW5jcnlw +dGlvbiBhbGdvcml0aG06ICIrYS5BbGdJRDt9aWYoIW4pdGhyb3cgbmV3IEVycm9yKCJFbmNyeXB0 +aW9uIEZsYWdzL0FsZ0lEIG1pc21hdGNoIik7YS5BbGdJREhhc2g9ZS5fUig0KTthLktleVNpemU9 +ZS5fUig0KTthLlByb3ZpZGVyVHlwZT1lLl9SKDQpO2UubCs9ODthLkNTUE5hbWU9ZS5fUih0LWUu +bD4+MSwidXRmMTZsZSIpO2UubD10O3JldHVybiBhfWZ1bmN0aW9uIFJvKGUscil7dmFyIHQ9e30s +YT1lLmwrcjtlLmwrPTQ7dC5TYWx0PWUuc2xpY2UoZS5sLGUubCsxNik7ZS5sKz0xNjt0LlZlcmlm +aWVyPWUuc2xpY2UoZS5sLGUubCsxNik7ZS5sKz0xNjtlLl9SKDQpO3QuVmVyaWZpZXJIYXNoPWUu +c2xpY2UoZS5sLGEpO2UubD1hO3JldHVybiB0fWZ1bmN0aW9uIE5vKGUpe3ZhciByPXlvKGUpO3N3 +aXRjaChyLk1pbm9yKXtjYXNlIDI6cmV0dXJuW3IuTWlub3IsRm8oZSxyKV07Y2FzZSAzOnJldHVy +bltyLk1pbm9yLERvKGUscildO2Nhc2UgNDpyZXR1cm5bci5NaW5vcixQbyhlLHIpXTt9dGhyb3cg +bmV3IEVycm9yKCJFQ01BLTM3NiBFbmNyeXB0ZWQgZmlsZSB1bnJlY29nbml6ZWQgVmVyc2lvbjog +IityLk1pbm9yKX1mdW5jdGlvbiBGbyhlKXt2YXIgcj1lLl9SKDQpO2lmKChyJjYzKSE9MzYpdGhy +b3cgbmV3IEVycm9yKCJFbmNyeXB0aW9uSW5mbyBtaXNtYXRjaCIpO3ZhciB0PWUuX1IoNCk7dmFy +IGE9SW8oZSx0KTt2YXIgbj1SbyhlLGUubGVuZ3RoLWUubCk7cmV0dXJue3Q6IlN0ZCIsaDphLHY6 +bn19ZnVuY3Rpb24gRG8oKXt0aHJvdyBuZXcgRXJyb3IoIkZpbGUgaXMgcGFzc3dvcmQtcHJvdGVj +dGVkOiBFQ01BLTM3NiBFeHRlbnNpYmxlIil9ZnVuY3Rpb24gUG8oZSl7dmFyIHI9WyJzYWx0U2l6 +ZSIsImJsb2NrU2l6ZSIsImtleUJpdHMiLCJoYXNoU2l6ZSIsImNpcGhlckFsZ29yaXRobSIsImNp +cGhlckNoYWluaW5nIiwiaGFzaEFsZ29yaXRobSIsInNhbHRWYWx1ZSJdO2UubCs9NDt2YXIgdD1l +Ll9SKGUubGVuZ3RoLWUubCwidXRmOCIpO3ZhciBhPXt9O3QucmVwbGFjZShmdCxmdW5jdGlvbiBu +KGUpe3ZhciB0PWN0KGUpO3N3aXRjaCh1dCh0WzBdKSl7Y2FzZSI8P3htbCI6YnJlYWs7Y2FzZSI8 +ZW5jcnlwdGlvbiI6O2Nhc2UiPC9lbmNyeXB0aW9uPiI6YnJlYWs7Y2FzZSI8a2V5RGF0YSI6ci5m +b3JFYWNoKGZ1bmN0aW9uKGUpe2FbZV09dFtlXX0pO2JyZWFrO2Nhc2UiPGRhdGFJbnRlZ3JpdHki +OmEuZW5jcnlwdGVkSG1hY0tleT10LmVuY3J5cHRlZEhtYWNLZXk7YS5lbmNyeXB0ZWRIbWFjVmFs +dWU9dC5lbmNyeXB0ZWRIbWFjVmFsdWU7YnJlYWs7Y2FzZSI8a2V5RW5jcnlwdG9ycz4iOjtjYXNl +IjxrZXlFbmNyeXB0b3JzIjphLmVuY3M9W107YnJlYWs7Y2FzZSI8L2tleUVuY3J5cHRvcnM+Ijpi +cmVhaztjYXNlIjxrZXlFbmNyeXB0b3IiOmEudXJpPXQudXJpO2JyZWFrO2Nhc2UiPC9rZXlFbmNy +eXB0b3I+IjpicmVhaztjYXNlIjxlbmNyeXB0ZWRLZXkiOmEuZW5jcy5wdXNoKHQpO2JyZWFrO2Rl +ZmF1bHQ6dGhyb3cgdFswXTt9fSk7cmV0dXJuIGF9ZnVuY3Rpb24gTG8oZSxyKXt2YXIgdD17fTt2 +YXIgYT10LkVuY3J5cHRpb25WZXJzaW9uSW5mbz15byhlLDQpO3ItPTQ7aWYoYS5NaW5vciE9Mil0 +aHJvdyBuZXcgRXJyb3IoInVucmVjb2duaXplZCBtaW5vciB2ZXJzaW9uIGNvZGU6ICIrYS5NaW5v +cik7aWYoYS5NYWpvcj40fHxhLk1ham9yPDIpdGhyb3cgbmV3IEVycm9yKCJ1bnJlY29nbml6ZWQg +bWFqb3IgdmVyc2lvbiBjb2RlOiAiK2EuTWFqb3IpO3QuRmxhZ3M9ZS5fUig0KTtyLT00O3ZhciBu +PWUuX1IoNCk7ci09NDt0LkVuY3J5cHRpb25IZWFkZXI9SW8oZSxuKTtyLT1uO3QuRW5jcnlwdGlv +blZlcmlmaWVyPVJvKGUscik7cmV0dXJuIHR9ZnVuY3Rpb24gTW8oZSl7dmFyIHI9e307dmFyIHQ9 +ci5FbmNyeXB0aW9uVmVyc2lvbkluZm89eW8oZSw0KTtpZih0Lk1ham9yIT0xfHx0Lk1pbm9yIT0x +KXRocm93InVucmVjb2duaXplZCB2ZXJzaW9uIGNvZGUgIit0Lk1ham9yKyIgOiAiK3QuTWlub3I7 +ci5TYWx0PWUuX1IoMTYpO3IuRW5jcnlwdGVkVmVyaWZpZXI9ZS5fUigxNik7ci5FbmNyeXB0ZWRW +ZXJpZmllckhhc2g9ZS5fUigxNik7cmV0dXJuIHJ9ZnVuY3Rpb24gVW8oZSl7dmFyIHI9MCx0O3Zh +ciBhPVRvKGUpO3ZhciBuPWEubGVuZ3RoKzEsaSxzO3ZhciBmLGwsbzt0PXgobik7dFswXT1hLmxl +bmd0aDtmb3IoaT0xO2khPW47KytpKXRbaV09YVtpLTFdO2ZvcihpPW4tMTtpPj0wOy0taSl7cz10 +W2ldO2Y9KHImMTYzODQpPT09MD8wOjE7bD1yPDwxJjMyNzY3O289ZnxsO3I9b15zfXJldHVybiBy +XjUyODExfXZhciBCbz1mdW5jdGlvbigpe3ZhciBlPVsxODcsMjU1LDI1NSwxODYsMjU1LDI1NSwx +ODUsMTI4LDAsMTkwLDE1LDAsMTkxLDE1LDBdO3ZhciByPVs1Nzg0MCw3NDM5LDUyMzgwLDMzOTg0 +LDQzNjQsMzYwMCw2MTkwMiwxMjYwNiw2MjU4LDU3NjU3LDU0Mjg3LDM0MDQxLDEwMjUyLDQzMzcw +LDIwMTYzXTt2YXIgdD1bNDQ3OTYsMTk5MjksMzk4NTgsMTAwNTMsMjAxMDYsNDAyMTIsMTA3NjEs +MzE1ODUsNjMxNzAsNjQ5MzMsNjAyNjcsNTA5MzUsNDAzOTksMTExOTksMTc3NjMsMzU1MjYsMTQ1 +MywyOTA2LDU4MTIsMTE2MjQsMjMyNDgsODg1LDE3NzAsMzU0MCw3MDgwLDE0MTYwLDI4MzIwLDU2 +NjQwLDU1MzY5LDQxMTM5LDIwODA3LDQxNjE0LDIxODIxLDQzNjQyLDE3NjIxLDI4NDg1LDU2OTcw +LDQ0MzQxLDE5MDE5LDM4MDM4LDE0NjA1LDI5MjEwLDYwMTk1LDUwNzkxLDQwMTc1LDEwNzUxLDIx +NTAyLDQzMDA0LDI0NTM3LDE4Mzg3LDM2Nzc0LDM5NDksNzg5OCwxNTc5NiwzMTU5Miw2MzE4NCw0 +NzIwMSwyNDgwMyw0OTYwNiwzNzgwNSwxNDIwMywyODQwNiw1NjgxMiwxNzgyNCwzNTY0OCwxNjk3 +LDMzOTQsNjc4OCwxMzU3NiwyNzE1Miw0MzYwMSwxNzUzOSwzNTA3OCw1NTcsMTExNCwyMjI4LDQ0 +NTYsMzAzODgsNjA3NzYsNTE5NTMsMzQyNDMsNzA3OSwxNDE1OCwyODMxNiwxNDEyOCwyODI1Niw1 +NjUxMiw0MzQyNSwxNzI1MSwzNDUwMiw3NTk3LDEzMTA1LDI2MjEwLDUyNDIwLDM1MjQxLDg4Mywx +NzY2LDM1MzIsNDEyOSw4MjU4LDE2NTE2LDMzMDMyLDQ2NTcsOTMxNCwxODYyOF07dmFyIGE9ZnVu +Y3Rpb24oZSl7cmV0dXJuKGUvMnxlKjEyOCkmMjU1fTt2YXIgbj1mdW5jdGlvbihlLHIpe3JldHVy +biBhKGVecil9O3ZhciBpPWZ1bmN0aW9uKGUpe3ZhciBhPXJbZS5sZW5ndGgtMV07dmFyIG49MTA0 +O2Zvcih2YXIgaT1lLmxlbmd0aC0xO2k+PTA7LS1pKXt2YXIgcz1lW2ldO2Zvcih2YXIgZj0wO2Yh +PTc7KytmKXtpZihzJjY0KWFePXRbbl07cyo9MjstLW59fXJldHVybiBhfTtyZXR1cm4gZnVuY3Rp +b24ocil7dmFyIHQ9VG8ocik7dmFyIGE9aSh0KTt2YXIgcz10Lmxlbmd0aDt2YXIgZj14KDE2KTtm +b3IodmFyIGw9MDtsIT0xNjsrK2wpZltsXT0wO3ZhciBvLGMsaDtpZigocyYxKT09PTEpe289YT4+ +ODtmW3NdPW4oZVswXSxvKTstLXM7bz1hJjI1NTtjPXRbdC5sZW5ndGgtMV07ZltzXT1uKGMsbyl9 +d2hpbGUocz4wKXstLXM7bz1hPj44O2Zbc109bih0W3NdLG8pOy0tcztvPWEmMjU1O2Zbc109bih0 +W3NdLG8pfXM9MTU7aD0xNS10Lmxlbmd0aDt3aGlsZShoPjApe289YT4+ODtmW3NdPW4oZVtoXSxv +KTstLXM7LS1oO289YSYyNTU7ZltzXT1uKHRbc10sbyk7LS1zOy0taH1yZXR1cm4gZn19KCk7dmFy +IFdvPWZ1bmN0aW9uKGUscix0LGEsbil7aWYoIW4pbj1yO2lmKCFhKWE9Qm8oZSk7dmFyIGkscztm +b3IoaT0wO2khPXIubGVuZ3RoOysraSl7cz1yW2ldO3NePWFbdF07cz0ocz4+NXxzPDwzKSYyNTU7 +bltpXT1zOysrdH1yZXR1cm5bbix0LGFdfTt2YXIgem89ZnVuY3Rpb24oZSl7dmFyIHI9MCx0PUJv +KGUpO3JldHVybiBmdW5jdGlvbihlKXt2YXIgYT1XbygiIixlLHIsdCk7cj1hWzFdO3JldHVybiBh +WzBdfX07ZnVuY3Rpb24gSG8oZSxyLHQsYSl7dmFyIG49e2tleTprcyhlKSx2ZXJpZmljYXRpb25C +eXRlczprcyhlKX07aWYodC5wYXNzd29yZCluLnZlcmlmaWVyPVVvKHQucGFzc3dvcmQpO2EudmFs +aWQ9bi52ZXJpZmljYXRpb25CeXRlcz09PW4udmVyaWZpZXI7aWYoYS52YWxpZClhLmluc2l0dT16 +byh0LnBhc3N3b3JkKTtyZXR1cm4gbn1mdW5jdGlvbiBWbyhlLHIsdCl7dmFyIGE9dHx8e307YS5J +bmZvPWUuX1IoMik7ZS5sLT0yO2lmKGEuSW5mbz09PTEpYS5EYXRhPU1vKGUscik7ZWxzZSBhLkRh +dGE9TG8oZSxyKTtyZXR1cm4gYX1mdW5jdGlvbiAkbyhlLHIsdCl7dmFyIGE9e1R5cGU6dC5iaWZm +Pj04P2UuX1IoMik6MH07aWYoYS5UeXBlKVZvKGUsci0yLGEpO2Vsc2UgSG8oZSx0LmJpZmY+PTg/ +cjpyLTIsdCxhKTtyZXR1cm4gYX1mdW5jdGlvbiBYbyhlLHIpe3N3aXRjaChyLnR5cGUpe2Nhc2Ui +YmFzZTY0IjpyZXR1cm4gR28oRShlKSxyKTtjYXNlImJpbmFyeSI6cmV0dXJuIEdvKGUscik7Y2Fz +ZSJidWZmZXIiOnJldHVybiBHbyhDJiZCdWZmZXIuaXNCdWZmZXIoZSk/ZS50b1N0cmluZygiYmlu +YXJ5Iik6TihlKSxyKTtjYXNlImFycmF5IjpyZXR1cm4gR28oa3IoZSkscik7fXRocm93IG5ldyBF +cnJvcigiVW5yZWNvZ25pemVkIHR5cGUgIityLnR5cGUpfWZ1bmN0aW9uIEdvKGUscil7dmFyIHQ9 +cnx8e307dmFyIGE9e307dmFyIG49dC5kZW5zZTtpZihuKWFbIiFkYXRhIl09W107dmFyIGk9THIo +ZSwiXFx0cm93ZCIsIlxccm93Iik7aWYoIWkpdGhyb3cgbmV3IEVycm9yKCJSVEYgbWlzc2luZyB0 +YWJsZSIpO3ZhciBzPXtzOntjOjAscjowfSxlOntjOjAscjppLmxlbmd0aC0xfX07dmFyIGY9W107 +aS5mb3JFYWNoKGZ1bmN0aW9uKGUscil7aWYobilmPWFbIiFkYXRhIl1bcl09W107dmFyIGk9L1xc +W1x3XC1dK1xiL2c7dmFyIGw9MDt2YXIgbzt2YXIgYz0tMTt2YXIgaD1bXTt3aGlsZSgobz1pLmV4 +ZWMoZSkpIT1udWxsKXt2YXIgdT1lLnNsaWNlKGwsaS5sYXN0SW5kZXgtb1swXS5sZW5ndGgpO2lm +KHUuY2hhckNvZGVBdCgwKT09MzIpdT11LnNsaWNlKDEpO2lmKHUubGVuZ3RoKWgucHVzaCh1KTtz +d2l0Y2gob1swXSl7Y2FzZSJcXGNlbGwiOisrYztpZihoLmxlbmd0aCl7dmFyIGQ9e3Y6aC5qb2lu +KCIiKSx0OiJzIn07aWYoZC52PT0iVFJVRSJ8fGQudj09IkZBTFNFIil7ZC52PWQudj09IlRSVUUi +O2QudD0iYiJ9ZWxzZSBpZighaXNOYU4oeXIoZC52KSkpe2QudD0ibiI7aWYodC5jZWxsVGV4dCE9 +PWZhbHNlKWQudz1kLnY7ZC52PXlyKGQudil9ZWxzZSBpZihoaVtkLnZdIT1udWxsKXtkLnQ9ImUi +O2Qudz1kLnY7ZC52PWhpW2Qudl19aWYobilmW2NdPWQ7ZWxzZSBhW1lhKHtyOnIsYzpjfSldPWR9 +aD1bXTticmVhaztjYXNlIlxccGFyIjpoLnB1c2goIlxuIik7YnJlYWs7fWw9aS5sYXN0SW5kZXh9 +aWYoYz5zLmUuYylzLmUuYz1jfSk7YVsiIXJlZiJdPUphKHMpO3JldHVybiBhfWZ1bmN0aW9uIGpv +KGUscil7dmFyIHQ9YW4oWG8oZSxyKSxyKTt0LmJvb2tUeXBlPSJydGYiO3JldHVybiB0fWZ1bmN0 +aW9uIEtvKGUscil7dmFyIHQ9WyJ7XFxydGYxXFxhbnNpIl07aWYoIWVbIiFyZWYiXSlyZXR1cm4g +dFswXSsifSI7dmFyIGE9ZW4oZVsiIXJlZiJdKSxuO3ZhciBpPWVbIiFkYXRhIl0hPW51bGwscz1b +XTtmb3IodmFyIGY9YS5zLnI7Zjw9YS5lLnI7KytmKXt0LnB1c2goIlxcdHJvd2RcXHRyYXV0b2Zp +dDEiKTtmb3IodmFyIGw9YS5zLmM7bDw9YS5lLmM7KytsKXQucHVzaCgiXFxjZWxseCIrKGwrMSkp +O3QucHVzaCgiXFxwYXJkXFxpbnRibCIpO2lmKGkpcz1lWyIhZGF0YSJdW2ZdfHxbXTtmb3IobD1h +LnMuYztsPD1hLmUuYzsrK2wpe3ZhciBvPVlhKHtyOmYsYzpsfSk7bj1pP3NbbF06ZVtvXTtpZigh +bnx8bi52PT1udWxsJiYoIW4uZnx8bi5GKSl7dC5wdXNoKCIgXFxjZWxsIik7Y29udGludWV9dC5w +dXNoKCIgIisobi53fHwodG4obiksbi53KXx8IiIpLnJlcGxhY2UoL1tcclxuXS9nLCJcXHBhciAi +KSk7dC5wdXNoKCJcXGNlbGwiKX10LnB1c2goIlxccGFyZFxcaW50YmxcXHJvdyIpfXJldHVybiB0 +LmpvaW4oIiIpKyJ9In1mdW5jdGlvbiBZbyhlKXt2YXIgcj1lLnNsaWNlKGVbMF09PT0iIyI/MTow +KS5zbGljZSgwLDYpO3JldHVybltwYXJzZUludChyLnNsaWNlKDAsMiksMTYpLHBhcnNlSW50KHIu +c2xpY2UoMiw0KSwxNikscGFyc2VJbnQoci5zbGljZSg0LDYpLDE2KV19ZnVuY3Rpb24gWm8oZSl7 +Zm9yKHZhciByPTAsdD0xO3IhPTM7KytyKXQ9dCoyNTYrKGVbcl0+MjU1PzI1NTplW3JdPDA/MDpl +W3JdKTtyZXR1cm4gdC50b1N0cmluZygxNikudG9VcHBlckNhc2UoKS5zbGljZSgxKX1mdW5jdGlv +biBKbyhlKXt2YXIgcj1lWzBdLzI1NSx0PWVbMV0vMjU1LGE9ZVsyXS8yNTU7dmFyIG49TWF0aC5t +YXgocix0LGEpLGk9TWF0aC5taW4ocix0LGEpLHM9bi1pO2lmKHM9PT0wKXJldHVyblswLDAscl07 +dmFyIGY9MCxsPTAsbz1uK2k7bD1zLyhvPjE/Mi1vOm8pO3N3aXRjaChuKXtjYXNlIHI6Zj0oKHQt +YSkvcys2KSU2O2JyZWFrO2Nhc2UgdDpmPShhLXIpL3MrMjticmVhaztjYXNlIGE6Zj0oci10KS9z +KzQ7YnJlYWs7fXJldHVybltmLzYsbCxvLzJdfWZ1bmN0aW9uIHFvKGUpe3ZhciByPWVbMF0sdD1l +WzFdLGE9ZVsyXTt2YXIgbj10KjIqKGE8LjU/YToxLWEpLGk9YS1uLzI7dmFyIHM9W2ksaSxpXSxm +PTYqcjt2YXIgbDtpZih0IT09MClzd2l0Y2goZnwwKXtjYXNlIDA6O2Nhc2UgNjpsPW4qZjtzWzBd +Kz1uO3NbMV0rPWw7YnJlYWs7Y2FzZSAxOmw9biooMi1mKTtzWzBdKz1sO3NbMV0rPW47YnJlYWs7 +Y2FzZSAyOmw9biooZi0yKTtzWzFdKz1uO3NbMl0rPWw7YnJlYWs7Y2FzZSAzOmw9biooNC1mKTtz +WzFdKz1sO3NbMl0rPW47YnJlYWs7Y2FzZSA0Omw9biooZi00KTtzWzJdKz1uO3NbMF0rPWw7YnJl +YWs7Y2FzZSA1Omw9biooNi1mKTtzWzJdKz1sO3NbMF0rPW47YnJlYWs7fWZvcih2YXIgbz0wO28h +PTM7KytvKXNbb109TWF0aC5yb3VuZChzW29dKjI1NSk7cmV0dXJuIHN9ZnVuY3Rpb24gUW8oZSxy +KXtpZihyPT09MClyZXR1cm4gZTt2YXIgdD1KbyhZbyhlKSk7aWYocjwwKXRbMl09dFsyXSooMSty +KTtlbHNlIHRbMl09MS0oMS10WzJdKSooMS1yKTtyZXR1cm4gWm8ocW8odCkpfXZhciBlYz02LHJj +PTE1LHRjPTEsYWM9ZWM7ZnVuY3Rpb24gbmMoZSl7cmV0dXJuIE1hdGguZmxvb3IoKGUrTWF0aC5y +b3VuZCgxMjgvYWMpLzI1NikqYWMpfWZ1bmN0aW9uIGljKGUpe3JldHVybiBNYXRoLmZsb29yKChl +LTUpL2FjKjEwMCsuNSkvMTAwfWZ1bmN0aW9uIHNjKGUpe3JldHVybiBNYXRoLnJvdW5kKChlKmFj +KzUpL2FjKjI1NikvMjU2fWZ1bmN0aW9uIGZjKGUpe3JldHVybiBzYyhpYyhuYyhlKSkpfWZ1bmN0 +aW9uIGxjKGUpe3ZhciByPU1hdGguYWJzKGUtZmMoZSkpLHQ9YWM7aWYocj4uMDA1KWZvcihhYz10 +YzthYzxyYzsrK2FjKWlmKE1hdGguYWJzKGUtZmMoZSkpPD1yKXtyPU1hdGguYWJzKGUtZmMoZSkp +O3Q9YWN9YWM9dH1mdW5jdGlvbiBvYyhlKXtpZihlLndpZHRoKXtlLndweD1uYyhlLndpZHRoKTtl +LndjaD1pYyhlLndweCk7ZS5NRFc9YWN9ZWxzZSBpZihlLndweCl7ZS53Y2g9aWMoZS53cHgpO2Uu +d2lkdGg9c2MoZS53Y2gpO2UuTURXPWFjfWVsc2UgaWYodHlwZW9mIGUud2NoPT0ibnVtYmVyIil7 +ZS53aWR0aD1zYyhlLndjaCk7ZS53cHg9bmMoZS53aWR0aCk7ZS5NRFc9YWN9aWYoZS5jdXN0b21X +aWR0aClkZWxldGUgZS5jdXN0b21XaWR0aH12YXIgY2M9OTYsaGM9Y2M7ZnVuY3Rpb24gdWMoZSl7 +cmV0dXJuIGUqOTYvaGN9ZnVuY3Rpb24gZGMoZSl7cmV0dXJuIGUqaGMvOTZ9dmFyIHZjPXtOb25l +OiJub25lIixTb2xpZDoic29saWQiLEdyYXk1MDoibWVkaXVtR3JheSIsR3JheTc1OiJkYXJrR3Jh +eSIsR3JheTI1OiJsaWdodEdyYXkiLEhvcnpTdHJpcGU6ImRhcmtIb3Jpem9udGFsIixWZXJ0U3Ry +aXBlOiJkYXJrVmVydGljYWwiLFJldmVyc2VEaWFnU3RyaXBlOiJkYXJrRG93biIsRGlhZ1N0cmlw +ZToiZGFya1VwIixEaWFnQ3Jvc3M6ImRhcmtHcmlkIixUaGlja0RpYWdDcm9zczoiZGFya1RyZWxs +aXMiLFRoaW5Ib3J6U3RyaXBlOiJsaWdodEhvcml6b250YWwiLApUaGluVmVydFN0cmlwZToibGln +aHRWZXJ0aWNhbCIsVGhpblJldmVyc2VEaWFnU3RyaXBlOiJsaWdodERvd24iLFRoaW5Ib3J6Q3Jv +c3M6ImxpZ2h0R3JpZCJ9O2Z1bmN0aW9uIHBjKGUscix0LGEpe3IuQm9yZGVycz1bXTt2YXIgbj17 +fTt2YXIgaT1mYWxzZTsoZS5tYXRjaChmdCl8fFtdKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciB0 +PWN0KGUpO3N3aXRjaCh1dCh0WzBdKSl7Y2FzZSI8Ym9yZGVycyI6O2Nhc2UiPGJvcmRlcnM+Ijo7 +Y2FzZSI8L2JvcmRlcnM+IjpicmVhaztjYXNlIjxib3JkZXIiOjtjYXNlIjxib3JkZXI+Ijo7Y2Fz +ZSI8Ym9yZGVyLz4iOm49e307aWYodC5kaWFnb25hbFVwKW4uZGlhZ29uYWxVcD1DdCh0LmRpYWdv +bmFsVXApO2lmKHQuZGlhZ29uYWxEb3duKW4uZGlhZ29uYWxEb3duPUN0KHQuZGlhZ29uYWxEb3du +KTtyLkJvcmRlcnMucHVzaChuKTticmVhaztjYXNlIjwvYm9yZGVyPiI6YnJlYWs7Y2FzZSI8bGVm +dC8+IjpicmVhaztjYXNlIjxsZWZ0Ijo7Y2FzZSI8bGVmdD4iOmJyZWFrO2Nhc2UiPC9sZWZ0PiI6 +YnJlYWs7Y2FzZSI8cmlnaHQvPiI6YnJlYWs7Y2FzZSI8cmlnaHQiOjtjYXNlIjxyaWdodD4iOmJy +ZWFrO2Nhc2UiPC9yaWdodD4iOmJyZWFrO2Nhc2UiPHRvcC8+IjpicmVhaztjYXNlIjx0b3AiOjtj +YXNlIjx0b3A+IjpicmVhaztjYXNlIjwvdG9wPiI6YnJlYWs7Y2FzZSI8Ym90dG9tLz4iOmJyZWFr +O2Nhc2UiPGJvdHRvbSI6O2Nhc2UiPGJvdHRvbT4iOmJyZWFrO2Nhc2UiPC9ib3R0b20+IjpicmVh +aztjYXNlIjxkaWFnb25hbCI6O2Nhc2UiPGRpYWdvbmFsPiI6O2Nhc2UiPGRpYWdvbmFsLz4iOmJy +ZWFrO2Nhc2UiPC9kaWFnb25hbD4iOmJyZWFrO2Nhc2UiPGhvcml6b250YWwiOjtjYXNlIjxob3Jp +em9udGFsPiI6O2Nhc2UiPGhvcml6b250YWwvPiI6YnJlYWs7Y2FzZSI8L2hvcml6b250YWw+Ijpi +cmVhaztjYXNlIjx2ZXJ0aWNhbCI6O2Nhc2UiPHZlcnRpY2FsPiI6O2Nhc2UiPHZlcnRpY2FsLz4i +OmJyZWFrO2Nhc2UiPC92ZXJ0aWNhbD4iOmJyZWFrO2Nhc2UiPHN0YXJ0Ijo7Y2FzZSI8c3RhcnQ+ +Ijo7Y2FzZSI8c3RhcnQvPiI6YnJlYWs7Y2FzZSI8L3N0YXJ0PiI6YnJlYWs7Y2FzZSI8ZW5kIjo7 +Y2FzZSI8ZW5kPiI6O2Nhc2UiPGVuZC8+IjpicmVhaztjYXNlIjwvZW5kPiI6YnJlYWs7Y2FzZSI8 +Y29sb3IiOjtjYXNlIjxjb2xvcj4iOmJyZWFrO2Nhc2UiPGNvbG9yLz4iOjtjYXNlIjwvY29sb3I+ +IjpicmVhaztjYXNlIjxleHRMc3QiOjtjYXNlIjxleHRMc3Q+Ijo7Y2FzZSI8L2V4dExzdD4iOmJy +ZWFrO2Nhc2UiPGV4dCI6aT10cnVlO2JyZWFrO2Nhc2UiPC9leHQ+IjppPWZhbHNlO2JyZWFrO2Rl +ZmF1bHQ6aWYoYSYmYS5XVEYpe2lmKCFpKXRocm93IG5ldyBFcnJvcigidW5yZWNvZ25pemVkICIr +dFswXSsiIGluIGJvcmRlcnMiKX07fX0pfWZ1bmN0aW9uIG1jKGUscix0LGEpe3IuRmlsbHM9W107 +dmFyIG49e307dmFyIGk9ZmFsc2U7KGUubWF0Y2goZnQpfHxbXSkuZm9yRWFjaChmdW5jdGlvbihl +KXt2YXIgdD1jdChlKTtzd2l0Y2godXQodFswXSkpe2Nhc2UiPGZpbGxzIjo7Y2FzZSI8ZmlsbHM+ +Ijo7Y2FzZSI8L2ZpbGxzPiI6YnJlYWs7Y2FzZSI8ZmlsbD4iOjtjYXNlIjxmaWxsIjo7Y2FzZSI8 +ZmlsbC8+IjpuPXt9O3IuRmlsbHMucHVzaChuKTticmVhaztjYXNlIjwvZmlsbD4iOmJyZWFrO2Nh +c2UiPGdyYWRpZW50RmlsbD4iOmJyZWFrO2Nhc2UiPGdyYWRpZW50RmlsbCI6O2Nhc2UiPC9ncmFk +aWVudEZpbGw+IjpyLkZpbGxzLnB1c2gobik7bj17fTticmVhaztjYXNlIjxwYXR0ZXJuRmlsbCI6 +O2Nhc2UiPHBhdHRlcm5GaWxsPiI6aWYodC5wYXR0ZXJuVHlwZSluLnBhdHRlcm5UeXBlPXQucGF0 +dGVyblR5cGU7YnJlYWs7Y2FzZSI8cGF0dGVybkZpbGwvPiI6O2Nhc2UiPC9wYXR0ZXJuRmlsbD4i +OmJyZWFrO2Nhc2UiPGJnQ29sb3IiOmlmKCFuLmJnQ29sb3Ipbi5iZ0NvbG9yPXt9O2lmKHQuaW5k +ZXhlZCluLmJnQ29sb3IuaW5kZXhlZD1wYXJzZUludCh0LmluZGV4ZWQsMTApO2lmKHQudGhlbWUp +bi5iZ0NvbG9yLnRoZW1lPXBhcnNlSW50KHQudGhlbWUsMTApO2lmKHQudGludCluLmJnQ29sb3Iu +dGludD1wYXJzZUZsb2F0KHQudGludCk7aWYodC5yZ2Ipbi5iZ0NvbG9yLnJnYj10LnJnYi5zbGlj +ZSgtNik7YnJlYWs7Y2FzZSI8YmdDb2xvci8+Ijo7Y2FzZSI8L2JnQ29sb3I+IjpicmVhaztjYXNl +IjxmZ0NvbG9yIjppZighbi5mZ0NvbG9yKW4uZmdDb2xvcj17fTtpZih0LnRoZW1lKW4uZmdDb2xv +ci50aGVtZT1wYXJzZUludCh0LnRoZW1lLDEwKTtpZih0LnRpbnQpbi5mZ0NvbG9yLnRpbnQ9cGFy +c2VGbG9hdCh0LnRpbnQpO2lmKHQucmdiIT1udWxsKW4uZmdDb2xvci5yZ2I9dC5yZ2Iuc2xpY2Uo +LTYpO2JyZWFrO2Nhc2UiPGZnQ29sb3IvPiI6O2Nhc2UiPC9mZ0NvbG9yPiI6YnJlYWs7Y2FzZSI8 +c3RvcCI6O2Nhc2UiPHN0b3AvPiI6YnJlYWs7Y2FzZSI8L3N0b3A+IjpicmVhaztjYXNlIjxjb2xv +ciI6O2Nhc2UiPGNvbG9yLz4iOmJyZWFrO2Nhc2UiPC9jb2xvcj4iOmJyZWFrO2Nhc2UiPGV4dExz +dCI6O2Nhc2UiPGV4dExzdD4iOjtjYXNlIjwvZXh0THN0PiI6YnJlYWs7Y2FzZSI8ZXh0IjppPXRy +dWU7YnJlYWs7Y2FzZSI8L2V4dD4iOmk9ZmFsc2U7YnJlYWs7ZGVmYXVsdDppZihhJiZhLldURil7 +aWYoIWkpdGhyb3cgbmV3IEVycm9yKCJ1bnJlY29nbml6ZWQgIit0WzBdKyIgaW4gZmlsbHMiKX07 +fX0pfWZ1bmN0aW9uIGdjKGUscix0LGEpe3IuRm9udHM9W107dmFyIG49e307dmFyIHM9ZmFsc2U7 +KGUubWF0Y2goZnQpfHxbXSkuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgZj1jdChlKTtzd2l0Y2go +dXQoZlswXSkpe2Nhc2UiPGZvbnRzIjo7Y2FzZSI8Zm9udHM+Ijo7Y2FzZSI8L2ZvbnRzPiI6YnJl +YWs7Y2FzZSI8Zm9udCI6O2Nhc2UiPGZvbnQ+IjpicmVhaztjYXNlIjwvZm9udD4iOjtjYXNlIjxm +b250Lz4iOnIuRm9udHMucHVzaChuKTtuPXt9O2JyZWFrO2Nhc2UiPG5hbWUiOmlmKGYudmFsKW4u +bmFtZT1JdChmLnZhbCk7YnJlYWs7Y2FzZSI8bmFtZS8+Ijo7Y2FzZSI8L25hbWU+IjpicmVhaztj +YXNlIjxiIjpuLmJvbGQ9Zi52YWw/Q3QoZi52YWwpOjE7YnJlYWs7Y2FzZSI8Yi8+IjpuLmJvbGQ9 +MTticmVhaztjYXNlIjwvYj4iOjtjYXNlIjwvYiI6YnJlYWs7Y2FzZSI8aSI6bi5pdGFsaWM9Zi52 +YWw/Q3QoZi52YWwpOjE7YnJlYWs7Y2FzZSI8aS8+IjpuLml0YWxpYz0xO2JyZWFrO2Nhc2UiPC9p +PiI6O2Nhc2UiPC9pIjpicmVhaztjYXNlIjx1Ijpzd2l0Y2goZi52YWwpe2Nhc2Uibm9uZSI6bi51 +bmRlcmxpbmU9MDticmVhaztjYXNlInNpbmdsZSI6bi51bmRlcmxpbmU9MTticmVhaztjYXNlImRv +dWJsZSI6bi51bmRlcmxpbmU9MjticmVhaztjYXNlInNpbmdsZUFjY291bnRpbmciOm4udW5kZXJs +aW5lPTMzO2JyZWFrO2Nhc2UiZG91YmxlQWNjb3VudGluZyI6bi51bmRlcmxpbmU9MzQ7YnJlYWs7 +fWJyZWFrO2Nhc2UiPHUvPiI6bi51bmRlcmxpbmU9MTticmVhaztjYXNlIjwvdT4iOjtjYXNlIjwv +dSI6YnJlYWs7Y2FzZSI8c3RyaWtlIjpuLnN0cmlrZT1mLnZhbD9DdChmLnZhbCk6MTticmVhaztj +YXNlIjxzdHJpa2UvPiI6bi5zdHJpa2U9MTticmVhaztjYXNlIjwvc3RyaWtlPiI6O2Nhc2UiPC9z +dHJpa2UiOmJyZWFrO2Nhc2UiPG91dGxpbmUiOm4ub3V0bGluZT1mLnZhbD9DdChmLnZhbCk6MTti +cmVhaztjYXNlIjxvdXRsaW5lLz4iOm4ub3V0bGluZT0xO2JyZWFrO2Nhc2UiPC9vdXRsaW5lPiI6 +O2Nhc2UiPC9vdXRsaW5lIjpicmVhaztjYXNlIjxzaGFkb3ciOm4uc2hhZG93PWYudmFsP0N0KGYu +dmFsKToxO2JyZWFrO2Nhc2UiPHNoYWRvdy8+IjpuLnNoYWRvdz0xO2JyZWFrO2Nhc2UiPC9zaGFk +b3c+Ijo7Y2FzZSI8L3NoYWRvdyI6YnJlYWs7Y2FzZSI8Y29uZGVuc2UiOm4uY29uZGVuc2U9Zi52 +YWw/Q3QoZi52YWwpOjE7YnJlYWs7Y2FzZSI8Y29uZGVuc2UvPiI6bi5jb25kZW5zZT0xO2JyZWFr +O2Nhc2UiPC9jb25kZW5zZT4iOjtjYXNlIjwvY29uZGVuc2UiOmJyZWFrO2Nhc2UiPGV4dGVuZCI6 +bi5leHRlbmQ9Zi52YWw/Q3QoZi52YWwpOjE7YnJlYWs7Y2FzZSI8ZXh0ZW5kLz4iOm4uZXh0ZW5k +PTE7YnJlYWs7Y2FzZSI8L2V4dGVuZD4iOjtjYXNlIjwvZXh0ZW5kIjpicmVhaztjYXNlIjxzeiI6 +aWYoZi52YWwpbi5zej0rZi52YWw7YnJlYWs7Y2FzZSI8c3ovPiI6O2Nhc2UiPC9zej4iOjtjYXNl +Ijwvc3oiOmJyZWFrO2Nhc2UiPHZlcnRBbGlnbiI6aWYoZi52YWwpbi52ZXJ0QWxpZ249Zi52YWw7 +YnJlYWs7Y2FzZSI8dmVydEFsaWduLz4iOjtjYXNlIjwvdmVydEFsaWduPiI6O2Nhc2UiPC92ZXJ0 +QWxpZ24iOmJyZWFrO2Nhc2UiPGZhbWlseSI6aWYoZi52YWwpbi5mYW1pbHk9cGFyc2VJbnQoZi52 +YWwsMTApO2JyZWFrO2Nhc2UiPGZhbWlseS8+Ijo7Y2FzZSI8L2ZhbWlseT4iOjtjYXNlIjwvZmFt +aWx5IjpicmVhaztjYXNlIjxzY2hlbWUiOmlmKGYudmFsKW4uc2NoZW1lPWYudmFsO2JyZWFrO2Nh +c2UiPHNjaGVtZS8+Ijo7Y2FzZSI8L3NjaGVtZT4iOjtjYXNlIjwvc2NoZW1lIjpicmVhaztjYXNl +IjxjaGFyc2V0IjppZihmLnZhbD09IjEiKWJyZWFrO2YuY29kZXBhZ2U9aVtwYXJzZUludChmLnZh +bCwxMCldO2JyZWFrO2Nhc2UiPGNoYXJzZXQvPiI6O2Nhc2UiPC9jaGFyc2V0PiI6O2Nhc2UiPC9j +aGFyc2V0IjpicmVhaztjYXNlIjxjb2xvciI6aWYoIW4uY29sb3Ipbi5jb2xvcj17fTtpZihmLmF1 +dG8pbi5jb2xvci5hdXRvPUN0KGYuYXV0byk7aWYoZi5yZ2Ipbi5jb2xvci5yZ2I9Zi5yZ2Iuc2xp +Y2UoLTYpO2Vsc2UgaWYoZi5pbmRleGVkKXtuLmNvbG9yLmluZGV4PXBhcnNlSW50KGYuaW5kZXhl +ZCwxMCk7dmFyIGw9b2lbbi5jb2xvci5pbmRleF07aWYobi5jb2xvci5pbmRleD09ODEpbD1vaVsx +XTtpZighbClsPW9pWzFdO24uY29sb3IucmdiPWxbMF0udG9TdHJpbmcoMTYpK2xbMV0udG9TdHJp +bmcoMTYpK2xbMl0udG9TdHJpbmcoMTYpfWVsc2UgaWYoZi50aGVtZSl7bi5jb2xvci50aGVtZT1w +YXJzZUludChmLnRoZW1lLDEwKTtpZihmLnRpbnQpbi5jb2xvci50aW50PXBhcnNlRmxvYXQoZi50 +aW50KTtpZihmLnRoZW1lJiZ0LnRoZW1lRWxlbWVudHMmJnQudGhlbWVFbGVtZW50cy5jbHJTY2hl +bWUpe24uY29sb3IucmdiPVFvKHQudGhlbWVFbGVtZW50cy5jbHJTY2hlbWVbbi5jb2xvci50aGVt +ZV0ucmdiLG4uY29sb3IudGludHx8MCl9fWJyZWFrO2Nhc2UiPGNvbG9yLz4iOjtjYXNlIjwvY29s +b3I+Ijo7Y2FzZSI8L2NvbG9yIjpicmVhaztjYXNlIjxBbHRlcm5hdGVDb250ZW50IjpzPXRydWU7 +YnJlYWs7Y2FzZSI8L0FsdGVybmF0ZUNvbnRlbnQ+Ijo7Y2FzZSI8L0FsdGVybmF0ZUNvbnRlbnQi +OnM9ZmFsc2U7YnJlYWs7Y2FzZSI8ZXh0THN0Ijo7Y2FzZSI8ZXh0THN0PiI6O2Nhc2UiPC9leHRM +c3Q+IjpicmVhaztjYXNlIjxleHQiOnM9dHJ1ZTticmVhaztjYXNlIjwvZXh0PiI6cz1mYWxzZTti +cmVhaztkZWZhdWx0OmlmKGEmJmEuV1RGKXtpZighcyl0aHJvdyBuZXcgRXJyb3IoInVucmVjb2du +aXplZCAiK2ZbMF0rIiBpbiBmb250cyIpfTt9fSl9ZnVuY3Rpb24gYmMoZSxyLHQpe3IuTnVtYmVy +Rm10PVtdO3ZhciBhPWlyKHEpO2Zvcih2YXIgbj0wO248YS5sZW5ndGg7KytuKXIuTnVtYmVyRm10 +W2Fbbl1dPXFbYVtuXV07dmFyIGk9ZS5tYXRjaChmdCk7aWYoIWkpcmV0dXJuO2ZvcihuPTA7bjxp +Lmxlbmd0aDsrK24pe3ZhciBzPWN0KGlbbl0pO3N3aXRjaCh1dChzWzBdKSl7Y2FzZSI8bnVtRm10 +cyI6O2Nhc2UiPC9udW1GbXRzPiI6O2Nhc2UiPG51bUZtdHMvPiI6O2Nhc2UiPG51bUZtdHM+Ijpi +cmVhaztjYXNlIjxudW1GbXQiOnt2YXIgZj1wdChJdChzLmZvcm1hdENvZGUpKSxsPXBhcnNlSW50 +KHMubnVtRm10SWQsMTApO3IuTnVtYmVyRm10W2xdPWY7aWYobD4wKXtpZihsPjM5Mil7Zm9yKGw9 +MzkyO2w+NjA7LS1sKWlmKHIuTnVtYmVyRm10W2xdPT1udWxsKWJyZWFrO3IuTnVtYmVyRm10W2xd +PWZ9SmUoZixsKX19YnJlYWs7Y2FzZSI8L251bUZtdD4iOmJyZWFrO2RlZmF1bHQ6aWYodC5XVEYp +dGhyb3cgbmV3IEVycm9yKCJ1bnJlY29nbml6ZWQgIitzWzBdKyIgaW4gbnVtRm10cyIpO319fWZ1 +bmN0aW9uIHdjKGUpe3ZhciByPVsiPG51bUZtdHM+Il07W1s1LDhdLFsyMywyNl0sWzQxLDQ0XSxb +NTAsMzkyXV0uZm9yRWFjaChmdW5jdGlvbih0KXtmb3IodmFyIGE9dFswXTthPD10WzFdOysrYSlp +ZihlW2FdIT1udWxsKXJbci5sZW5ndGhdPUJ0KCJudW1GbXQiLG51bGwse251bUZtdElkOmEsZm9y +bWF0Q29kZTpidChlW2FdKX0pfSk7aWYoci5sZW5ndGg9PT0xKXJldHVybiIiO3Jbci5sZW5ndGhd +PSI8L251bUZtdHM+IjtyWzBdPUJ0KCJudW1GbXRzIixudWxsLHtjb3VudDpyLmxlbmd0aC0yfSku +cmVwbGFjZSgiLz4iLCI+Iik7cmV0dXJuIHIuam9pbigiIil9dmFyIGtjPVsibnVtRm10SWQiLCJm +aWxsSWQiLCJmb250SWQiLCJib3JkZXJJZCIsInhmSWQiXTt2YXIgQWM9WyJhcHBseUFsaWdubWVu +dCIsImFwcGx5Qm9yZGVyIiwiYXBwbHlGaWxsIiwiYXBwbHlGb250IiwiYXBwbHlOdW1iZXJGb3Jt +YXQiLCJhcHBseVByb3RlY3Rpb24iLCJwaXZvdEJ1dHRvbiIsInF1b3RlUHJlZml4Il07ZnVuY3Rp +b24gVGMoZSxyLHQpe3IuQ2VsbFhmPVtdO3ZhciBhO3ZhciBuPWZhbHNlOyhlLm1hdGNoKGZ0KXx8 +W10pLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIGk9Y3QoZSkscz0wO3N3aXRjaCh1dChpWzBdKSl7 +Y2FzZSI8Y2VsbFhmcyI6O2Nhc2UiPGNlbGxYZnM+Ijo7Y2FzZSI8Y2VsbFhmcy8+Ijo7Y2FzZSI8 +L2NlbGxYZnM+IjpicmVhaztjYXNlIjx4ZiI6O2Nhc2UiPHhmLz4iOjtjYXNlIjx4Zj4iOmE9aTtk +ZWxldGUgYVswXTtmb3Iocz0wO3M8a2MubGVuZ3RoOysrcylpZihhW2tjW3NdXSlhW2tjW3NdXT1w +YXJzZUludChhW2tjW3NdXSwxMCk7Zm9yKHM9MDtzPEFjLmxlbmd0aDsrK3MpaWYoYVtBY1tzXV0p +YVtBY1tzXV09Q3QoYVtBY1tzXV0pO2lmKHIuTnVtYmVyRm10JiZhLm51bUZtdElkPjM5Mil7Zm9y +KHM9MzkyO3M+NjA7LS1zKWlmKHIuTnVtYmVyRm10W2EubnVtRm10SWRdPT1yLk51bWJlckZtdFtz +XSl7YS5udW1GbXRJZD1zO2JyZWFrfX1yLkNlbGxYZi5wdXNoKGEpO2JyZWFrO2Nhc2UiPC94Zj4i +OmJyZWFrO2Nhc2UiPGFsaWdubWVudCI6O2Nhc2UiPGFsaWdubWVudC8+Ijo7Y2FzZSI8YWxpZ25t +ZW50PiI6dmFyIGY9e307aWYoaS52ZXJ0aWNhbClmLnZlcnRpY2FsPWkudmVydGljYWw7aWYoaS5o +b3Jpem9udGFsKWYuaG9yaXpvbnRhbD1pLmhvcml6b250YWw7aWYoaS50ZXh0Um90YXRpb24hPW51 +bGwpZi50ZXh0Um90YXRpb249aS50ZXh0Um90YXRpb247aWYoaS5pbmRlbnQpZi5pbmRlbnQ9aS5p +bmRlbnQ7aWYoaS53cmFwVGV4dClmLndyYXBUZXh0PUN0KGkud3JhcFRleHQpO2EuYWxpZ25tZW50 +PWY7YnJlYWs7Y2FzZSI8L2FsaWdubWVudD4iOmJyZWFrO2Nhc2UiPHByb3RlY3Rpb24iOjtjYXNl +Ijxwcm90ZWN0aW9uPiI6YnJlYWs7Y2FzZSI8L3Byb3RlY3Rpb24+Ijo7Y2FzZSI8cHJvdGVjdGlv +bi8+IjpicmVhaztjYXNlIjxBbHRlcm5hdGVDb250ZW50Ijo7Y2FzZSI8QWx0ZXJuYXRlQ29udGVu +dD4iOm49dHJ1ZTticmVhaztjYXNlIjwvQWx0ZXJuYXRlQ29udGVudD4iOm49ZmFsc2U7YnJlYWs7 +Y2FzZSI8ZXh0THN0Ijo7Y2FzZSI8ZXh0THN0PiI6O2Nhc2UiPC9leHRMc3Q+IjpicmVhaztjYXNl +IjxleHQiOm49dHJ1ZTticmVhaztjYXNlIjwvZXh0PiI6bj1mYWxzZTticmVhaztkZWZhdWx0Omlm +KHQmJnQuV1RGKXtpZighbil0aHJvdyBuZXcgRXJyb3IoInVucmVjb2duaXplZCAiK2lbMF0rIiBp +biBjZWxsWGZzIil9O319KX1mdW5jdGlvbiB5YyhlKXt2YXIgcj1bXTtyW3IubGVuZ3RoXT1CdCgi +Y2VsbFhmcyIsbnVsbCk7ZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3Jbci5sZW5ndGhdPUJ0KCJ4ZiIs +bnVsbCxlKX0pO3Jbci5sZW5ndGhdPSI8L2NlbGxYZnM+IjtpZihyLmxlbmd0aD09PTIpcmV0dXJu +IiI7clswXT1CdCgiY2VsbFhmcyIsbnVsbCx7Y291bnQ6ci5sZW5ndGgtMn0pLnJlcGxhY2UoIi8+ +IiwiPiIpO3JldHVybiByLmpvaW4oIiIpfXZhciBFYz1mdW5jdGlvbiB5QSgpe3JldHVybiBmdW5j +dGlvbiBlKHIsdCxhKXt2YXIgbj17fTtpZighcilyZXR1cm4gbjtyPVByKE1yKHIsIjwhLS0iLCIt +LT4iKSk7dmFyIGk7aWYoaT1XcihyLCJudW1GbXRzIikpYmMoaVswXSxuLGEpO2lmKGk9V3Iociwi +Zm9udHMiKSlnYyhpWzBdLG4sdCxhKTtpZihpPVdyKHIsImZpbGxzIikpbWMoaVswXSxuLHQsYSk7 +aWYoaT1XcihyLCJib3JkZXJzIikpcGMoaVswXSxuLHQsYSk7aWYoaT1XcihyLCJjZWxsWGZzIikp +VGMoaVswXSxuLGEpO3JldHVybiBufX0oKTtmdW5jdGlvbiBDYyhlLHIpe3ZhciB0PVthdCxCdCgi +c3R5bGVTaGVldCIsbnVsbCx7eG1sbnM6WHRbMF0sInhtbG5zOnZ0IjokdC52dH0pXSxhO2lmKGUu +U1NGJiYoYT13YyhlLlNTRikpIT1udWxsKXRbdC5sZW5ndGhdPWE7dFt0Lmxlbmd0aF09Jzxmb250 +cyBjb3VudD0iMSI+PGZvbnQ+PHN6IHZhbD0iMTIiLz48Y29sb3IgdGhlbWU9IjEiLz48bmFtZSB2 +YWw9IkNhbGlicmkiLz48ZmFtaWx5IHZhbD0iMiIvPjxzY2hlbWUgdmFsPSJtaW5vciIvPjwvZm9u +dD48L2ZvbnRzPic7dFt0Lmxlbmd0aF09JzxmaWxscyBjb3VudD0iMiI+PGZpbGw+PHBhdHRlcm5G +aWxsIHBhdHRlcm5UeXBlPSJub25lIi8+PC9maWxsPjxmaWxsPjxwYXR0ZXJuRmlsbCBwYXR0ZXJu +VHlwZT0iZ3JheTEyNSIvPjwvZmlsbD48L2ZpbGxzPic7dFt0Lmxlbmd0aF09Jzxib3JkZXJzIGNv +dW50PSIxIj48Ym9yZGVyPjxsZWZ0Lz48cmlnaHQvPjx0b3AvPjxib3R0b20vPjxkaWFnb25hbC8+ +PC9ib3JkZXI+PC9ib3JkZXJzPic7dFt0Lmxlbmd0aF09JzxjZWxsU3R5bGVYZnMgY291bnQ9IjEi +Pjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSIwIiBmaWxsSWQ9IjAiIGJvcmRlcklkPSIwIi8+PC9j +ZWxsU3R5bGVYZnM+JztpZihhPXljKHIuY2VsbFhmcykpdFt0Lmxlbmd0aF09YTt0W3QubGVuZ3Ro +XT0nPGNlbGxTdHlsZXMgY291bnQ9IjEiPjxjZWxsU3R5bGUgbmFtZT0iTm9ybWFsIiB4ZklkPSIw +IiBidWlsdGluSWQ9IjAiLz48L2NlbGxTdHlsZXM+Jzt0W3QubGVuZ3RoXT0nPGR4ZnMgY291bnQ9 +IjAiLz4nO3RbdC5sZW5ndGhdPSc8dGFibGVTdHlsZXMgY291bnQ9IjAiIGRlZmF1bHRUYWJsZVN0 +eWxlPSJUYWJsZVN0eWxlTWVkaXVtOSIgZGVmYXVsdFBpdm90U3R5bGU9IlBpdm90U3R5bGVNZWRp +dW00Ii8+JztpZih0Lmxlbmd0aD4yKXt0W3QubGVuZ3RoXT0iPC9zdHlsZVNoZWV0PiI7dFsxXT10 +WzFdLnJlcGxhY2UoIi8+IiwiPiIpfXJldHVybiB0LmpvaW4oIiIpfWZ1bmN0aW9uIF9jKGUscil7 +dmFyIHQ9ZS5fUigyKTt2YXIgYT1jbihlLHItMik7cmV0dXJuW3QsYV19ZnVuY3Rpb24gU2MoZSxy +LHQpe2lmKCF0KXQ9UmEoNis0KnIubGVuZ3RoKTt0Ll9XKDIsZSk7aG4ocix0KTt2YXIgYT10Lmxl +bmd0aD50Lmw/dC5zbGljZSgwLHQubCk6dDtpZih0Lmw9PW51bGwpdC5sPXQubGVuZ3RoO3JldHVy +biBhfWZ1bmN0aW9uIHhjKGUscix0KXt2YXIgYT17fTthLnN6PWUuX1IoMikvMjA7dmFyIG49Qm4o +ZSwyLHQpO2lmKG4uZkl0YWxpYylhLml0YWxpYz0xO2lmKG4uZkNvbmRlbnNlKWEuY29uZGVuc2U9 +MTtpZihuLmZFeHRlbmQpYS5leHRlbmQ9MTtpZihuLmZTaGFkb3cpYS5zaGFkb3c9MTtpZihuLmZP +dXRsaW5lKWEub3V0bGluZT0xO2lmKG4uZlN0cmlrZW91dClhLnN0cmlrZT0xO3ZhciBpPWUuX1Io +Mik7aWYoaT09PTcwMClhLmJvbGQ9MTtzd2l0Y2goZS5fUigyKSl7Y2FzZSAxOmEudmVydEFsaWdu +PSJzdXBlcnNjcmlwdCI7YnJlYWs7Y2FzZSAyOmEudmVydEFsaWduPSJzdWJzY3JpcHQiO2JyZWFr +O312YXIgcz1lLl9SKDEpO2lmKHMhPTApYS51bmRlcmxpbmU9czt2YXIgZj1lLl9SKDEpO2lmKGY+ +MClhLmZhbWlseT1mO3ZhciBsPWUuX1IoMSk7aWYobD4wKWEuY2hhcnNldD1sO2UubCsrO2EuY29s +b3I9TW4oZSw4KTtzd2l0Y2goZS5fUigxKSl7Y2FzZSAxOmEuc2NoZW1lPSJtYWpvciI7YnJlYWs7 +Y2FzZSAyOmEuc2NoZW1lPSJtaW5vciI7YnJlYWs7fWEubmFtZT1jbihlLHItMjEpO3JldHVybiBh +fWZ1bmN0aW9uIE9jKGUscil7aWYoIXIpcj1SYSgyNSs0KjMyKTtyLl9XKDIsZS5zeioyMCk7V24o +ZSxyKTtyLl9XKDIsZS5ib2xkPzcwMDo0MDApO3ZhciB0PTA7aWYoZS52ZXJ0QWxpZ249PSJzdXBl +cnNjcmlwdCIpdD0xO2Vsc2UgaWYoZS52ZXJ0QWxpZ249PSJzdWJzY3JpcHQiKXQ9MjtyLl9XKDIs +dCk7ci5fVygxLGUudW5kZXJsaW5lfHwwKTtyLl9XKDEsZS5mYW1pbHl8fDApO3IuX1coMSxlLmNo +YXJzZXR8fDApO3IuX1coMSwwKTtVbihlLmNvbG9yLHIpO3ZhciBhPTA7aWYoZS5zY2hlbWU9PSJt +YWpvciIpYT0xO2lmKGUuc2NoZW1lPT0ibWlub3IiKWE9MjtyLl9XKDEsYSk7aG4oZS5uYW1lLHIp +O3JldHVybiByLmxlbmd0aD5yLmw/ci5zbGljZSgwLHIubCk6cn12YXIgSWM9WyJub25lIiwic29s +aWQiLCJtZWRpdW1HcmF5IiwiZGFya0dyYXkiLCJsaWdodEdyYXkiLCJkYXJrSG9yaXpvbnRhbCIs +ImRhcmtWZXJ0aWNhbCIsImRhcmtEb3duIiwiZGFya1VwIiwiZGFya0dyaWQiLCJkYXJrVHJlbGxp +cyIsImxpZ2h0SG9yaXpvbnRhbCIsImxpZ2h0VmVydGljYWwiLCJsaWdodERvd24iLCJsaWdodFVw +IiwibGlnaHRHcmlkIiwibGlnaHRUcmVsbGlzIiwiZ3JheTEyNSIsImdyYXkwNjI1Il07dmFyIFJj +O3ZhciBOYz1JYTtmdW5jdGlvbiBGYyhlLHIpe2lmKCFyKXI9UmEoNCozKzgqNysxNioxKTtpZigh +UmMpUmM9ZnIoSWMpO3ZhciB0PVJjW2UucGF0dGVyblR5cGVdO2lmKHQ9PW51bGwpdD00MDtyLl9X +KDQsdCk7dmFyIGE9MDtpZih0IT00MCl7VW4oe2F1dG86MX0scik7VW4oe2F1dG86MX0scik7Zm9y +KDthPDEyOysrYSlyLl9XKDQsMCl9ZWxzZXtmb3IoO2E8NDsrK2Epci5fVyg0LDApO2Zvcig7YTwx +MjsrK2Epci5fVyg0LDApfXJldHVybiByLmxlbmd0aD5yLmw/ci5zbGljZSgwLHIubCk6cn1mdW5j +dGlvbiBEYyhlLHIpe3ZhciB0PWUubCtyO3ZhciBhPWUuX1IoMik7dmFyIG49ZS5fUigyKTtlLmw9 +dDtyZXR1cm57aXhmZTphLG51bUZtdElkOm59fWZ1bmN0aW9uIFBjKGUscix0KXtpZighdCl0PVJh +KDE2KTt0Ll9XKDIscnx8MCk7dC5fVygyLGUubnVtRm10SWR8fDApO3QuX1coMiwwKTt0Ll9XKDIs +MCk7dC5fVygyLDApO3QuX1coMSwwKTt0Ll9XKDEsMCk7dmFyIGE9MDt0Ll9XKDEsYSk7dC5fVygx +LDApO3QuX1coMSwwKTt0Ll9XKDEsMCk7cmV0dXJuIHR9ZnVuY3Rpb24gTGMoZSxyKXtpZighcily +PVJhKDEwKTtyLl9XKDEsMCk7ci5fVygxLDApO3IuX1coNCwwKTtyLl9XKDQsMCk7cmV0dXJuIHJ9 +dmFyIE1jPUlhO2Z1bmN0aW9uIFVjKGUscil7aWYoIXIpcj1SYSg1MSk7ci5fVygxLDApO0xjKG51 +bGwscik7TGMobnVsbCxyKTtMYyhudWxsLHIpO0xjKG51bGwscik7TGMobnVsbCxyKTtyZXR1cm4g +ci5sZW5ndGg+ci5sP3Iuc2xpY2UoMCxyLmwpOnJ9ZnVuY3Rpb24gQmMoZSxyKXtpZighcilyPVJh +KDEyKzQqMTApO3IuX1coNCxlLnhmSWQpO3IuX1coMiwxKTtyLl9XKDEsK2UuYnVpbHRpbklkKTty +Ll9XKDEsMCk7Q24oZS5uYW1lfHwiIixyKTtyZXR1cm4gci5sZW5ndGg+ci5sP3Iuc2xpY2UoMCxy +LmwpOnJ9ZnVuY3Rpb24gV2MoZSxyLHQpe3ZhciBhPVJhKDQrMjU2KjIqNCk7YS5fVyg0LGUpO0Nu +KHIsYSk7Q24odCxhKTtyZXR1cm4gYS5sZW5ndGg+YS5sP2Euc2xpY2UoMCxhLmwpOmF9ZnVuY3Rp +b24gemMoZSxyLHQpe3ZhciBhPXt9O2EuTnVtYmVyRm10PVtdO2Zvcih2YXIgbiBpbiBxKWEuTnVt +YmVyRm10W25dPXFbbl07YS5DZWxsWGY9W107YS5Gb250cz1bXTt2YXIgaT1bXTt2YXIgcz1mYWxz +ZTtOYShlLGZ1bmN0aW9uIGYoZSxuLGwpe3N3aXRjaChsKXtjYXNlIDQ0OmEuTnVtYmVyRm10W2Vb +MF1dPWVbMV07SmUoZVsxXSxlWzBdKTticmVhaztjYXNlIDQzOmEuRm9udHMucHVzaChlKTtpZihl +LmNvbG9yLnRoZW1lIT1udWxsJiZyJiZyLnRoZW1lRWxlbWVudHMmJnIudGhlbWVFbGVtZW50cy5j +bHJTY2hlbWUpe2UuY29sb3IucmdiPVFvKHIudGhlbWVFbGVtZW50cy5jbHJTY2hlbWVbZS5jb2xv +ci50aGVtZV0ucmdiLGUuY29sb3IudGludHx8MCl9YnJlYWs7Y2FzZSAxMDI1OmJyZWFrO2Nhc2Ug +NDU6YnJlYWs7Y2FzZSA0NjpicmVhaztjYXNlIDQ3OmlmKGlbaS5sZW5ndGgtMV09PTYxNyl7YS5D +ZWxsWGYucHVzaChlKX1icmVhaztjYXNlIDQ4OjtjYXNlIDUwNzo7Y2FzZSA1NzI6O2Nhc2UgNDc1 +OmJyZWFrO2Nhc2UgMTE3MTo7Y2FzZSAyMTAyOjtjYXNlIDExMzA6O2Nhc2UgNTEyOjtjYXNlIDIw +OTU6O2Nhc2UgMzA3MjpicmVhaztjYXNlIDM1OnM9dHJ1ZTticmVhaztjYXNlIDM2OnM9ZmFsc2U7 +YnJlYWs7Y2FzZSAzNzppLnB1c2gobCk7cz10cnVlO2JyZWFrO2Nhc2UgMzg6aS5wb3AoKTtzPWZh +bHNlO2JyZWFrO2RlZmF1bHQ6aWYobi5UPjApaS5wdXNoKGwpO2Vsc2UgaWYobi5UPDApaS5wb3Ao +KTtlbHNlIGlmKCFzfHx0LldURiYmaVtpLmxlbmd0aC0xXSE9MzcpdGhyb3cgbmV3IEVycm9yKCJV +bmV4cGVjdGVkIHJlY29yZCAweCIrbC50b1N0cmluZygxNikpO319KTtyZXR1cm4gYX1mdW5jdGlv +biBIYyhlLHIpe2lmKCFyKXJldHVybjt2YXIgdD0wO1tbNSw4XSxbMjMsMjZdLFs0MSw0NF0sWzUw +LDM5Ml1dLmZvckVhY2goZnVuY3Rpb24oZSl7Zm9yKHZhciBhPWVbMF07YTw9ZVsxXTsrK2EpaWYo +clthXSE9bnVsbCkrK3R9KTtpZih0PT0wKXJldHVybjtEYShlLDYxNSxvbih0KSk7W1s1LDhdLFsy +MywyNl0sWzQxLDQ0XSxbNTAsMzkyXV0uZm9yRWFjaChmdW5jdGlvbih0KXtmb3IodmFyIGE9dFsw +XTthPD10WzFdOysrYSlpZihyW2FdIT1udWxsKURhKGUsNDQsU2MoYSxyW2FdKSl9KTtEYShlLDYx +Nil9ZnVuY3Rpb24gVmMoZSl7dmFyIHI9MTtpZihyPT0wKXJldHVybjtEYShlLDYxMSxvbihyKSk7 +RGEoZSw0MyxPYyh7c3o6MTIsY29sb3I6e3RoZW1lOjF9LG5hbWU6IkNhbGlicmkiLGZhbWlseToy +LHNjaGVtZToibWlub3IifSkpO0RhKGUsNjEyKX1mdW5jdGlvbiAkYyhlKXt2YXIgcj0yO2lmKHI9 +PTApcmV0dXJuO0RhKGUsNjAzLG9uKHIpKTtEYShlLDQ1LEZjKHtwYXR0ZXJuVHlwZToibm9uZSJ9 +KSk7RGEoZSw0NSxGYyh7cGF0dGVyblR5cGU6ImdyYXkxMjUifSkpO0RhKGUsNjA0KX1mdW5jdGlv +biBYYyhlKXt2YXIgcj0xO2lmKHI9PTApcmV0dXJuO0RhKGUsNjEzLG9uKHIpKTtEYShlLDQ2LFVj +KHt9KSk7RGEoZSw2MTQpfWZ1bmN0aW9uIEdjKGUpe3ZhciByPTE7RGEoZSw2MjYsb24ocikpO0Rh +KGUsNDcsUGMoe251bUZtdElkOjAsZm9udElkOjAsZmlsbElkOjAsYm9yZGVySWQ6MH0sNjU1MzUp +KTtEYShlLDYyNyl9ZnVuY3Rpb24gamMoZSxyKXtEYShlLDYxNyxvbihyLmxlbmd0aCkpO3IuZm9y +RWFjaChmdW5jdGlvbihyKXtEYShlLDQ3LFBjKHIsMCkpfSk7RGEoZSw2MTgpfWZ1bmN0aW9uIEtj +KGUpe3ZhciByPTE7RGEoZSw2MTksb24ocikpO0RhKGUsNDgsQmMoe3hmSWQ6MCxidWlsdGluSWQ6 +MCxuYW1lOiJOb3JtYWwifSkpO0RhKGUsNjIwKX1mdW5jdGlvbiBZYyhlKXt2YXIgcj0wO0RhKGUs +NTA1LG9uKHIpKTtEYShlLDUwNil9ZnVuY3Rpb24gWmMoZSl7dmFyIHI9MDtEYShlLDUwOCxXYyhy +LCJUYWJsZVN0eWxlTWVkaXVtOSIsIlBpdm90U3R5bGVNZWRpdW00IikpO0RhKGUsNTA5KX1mdW5j +dGlvbiBKYygpe3JldHVybn1mdW5jdGlvbiBxYyhlLHIpe3ZhciB0PUZhKCk7RGEodCwyNzgpO0hj +KHQsZS5TU0YpO1ZjKHQsZSk7JGModCxlKTtYYyh0LGUpO0djKHQsZSk7amModCxyLmNlbGxYZnMp +O0tjKHQsZSk7WWModCxlKTtaYyh0LGUpO0pjKHQsZSk7RGEodCwyNzkpO3JldHVybiB0LmVuZCgp +fXZhciBRYz1bIjwvYTpsdDE+IiwiPC9hOmRrMT4iLCI8L2E6bHQyPiIsIjwvYTpkazI+IiwiPC9h +OmFjY2VudDE+IiwiPC9hOmFjY2VudDI+IiwiPC9hOmFjY2VudDM+IiwiPC9hOmFjY2VudDQ+Iiwi +PC9hOmFjY2VudDU+IiwiPC9hOmFjY2VudDY+IiwiPC9hOmhsaW5rPiIsIjwvYTpmb2xIbGluaz4i +XTtmdW5jdGlvbiBlaChlLHIsdCl7ci50aGVtZUVsZW1lbnRzLmNsclNjaGVtZT1bXTt2YXIgYT17 +fTsoZVswXS5tYXRjaChmdCl8fFtdKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBuPWN0KGUpO3N3 +aXRjaChuWzBdKXtjYXNlIjxhOmNsclNjaGVtZSI6O2Nhc2UiPC9hOmNsclNjaGVtZT4iOmJyZWFr +O2Nhc2UiPGE6c3JnYkNsciI6YS5yZ2I9bi52YWw7YnJlYWs7Y2FzZSI8L2E6c3JnYkNscj4iOmJy +ZWFrO2Nhc2UiPGE6c3lzQ2xyIjphLnJnYj1uLmxhc3RDbHI7YnJlYWs7Y2FzZSI8L2E6c3lzQ2xy +PiI6YnJlYWs7Y2FzZSI8L2E6ZGsxPiI6O2Nhc2UiPC9hOmx0MT4iOjtjYXNlIjxhOmRrMT4iOjtj +YXNlIjxhOmx0MT4iOjtjYXNlIjxhOmRrMj4iOjtjYXNlIjwvYTpkazI+Ijo7Y2FzZSI8YTpsdDI+ +Ijo7Y2FzZSI8L2E6bHQyPiI6O2Nhc2UiPGE6YWNjZW50MT4iOjtjYXNlIjwvYTphY2NlbnQxPiI6 +O2Nhc2UiPGE6YWNjZW50Mj4iOjtjYXNlIjwvYTphY2NlbnQyPiI6O2Nhc2UiPGE6YWNjZW50Mz4i +OjtjYXNlIjwvYTphY2NlbnQzPiI6O2Nhc2UiPGE6YWNjZW50ND4iOjtjYXNlIjwvYTphY2NlbnQ0 +PiI6O2Nhc2UiPGE6YWNjZW50NT4iOjtjYXNlIjwvYTphY2NlbnQ1PiI6O2Nhc2UiPGE6YWNjZW50 +Nj4iOjtjYXNlIjwvYTphY2NlbnQ2PiI6O2Nhc2UiPGE6aGxpbms+Ijo7Y2FzZSI8L2E6aGxpbms+ +Ijo7Y2FzZSI8YTpmb2xIbGluaz4iOjtjYXNlIjwvYTpmb2xIbGluaz4iOmlmKG5bMF0uY2hhckF0 +KDEpPT09Ii8iKXtyLnRoZW1lRWxlbWVudHMuY2xyU2NoZW1lW1FjLmluZGV4T2YoblswXSldPWE7 +YT17fX1lbHNle2EubmFtZT1uWzBdLnNsaWNlKDMsblswXS5sZW5ndGgtMSl9YnJlYWs7ZGVmYXVs +dDppZih0JiZ0LldURil0aHJvdyBuZXcgRXJyb3IoIlVucmVjb2duaXplZCAiK25bMF0rIiBpbiBj +bHJTY2hlbWUiKTt9fSl9ZnVuY3Rpb24gcmgoKXt9ZnVuY3Rpb24gdGgoKXt9ZnVuY3Rpb24gYWgo +ZSxyLHQpe3IudGhlbWVFbGVtZW50cz17fTt2YXIgYTtpZighKGE9QnIoZSwiYTpjbHJTY2hlbWUi +KSkpdGhyb3cgbmV3IEVycm9yKCJjbHJTY2hlbWUgbm90IGZvdW5kIGluIHRoZW1lRWxlbWVudHMi +KTtlaChhLHIsdCk7aWYoIShhPUJyKGUsImE6Zm9udFNjaGVtZSIpKSl0aHJvdyBuZXcgRXJyb3Io +ImZvbnRTY2hlbWUgbm90IGZvdW5kIGluIHRoZW1lRWxlbWVudHMiKTtyaChhLHIsdCk7aWYoIShh +PUJyKGUsImE6Zm10U2NoZW1lIikpKXRocm93IG5ldyBFcnJvcigiZm10U2NoZW1lIG5vdCBmb3Vu +ZCBpbiB0aGVtZUVsZW1lbnRzIik7dGgoYSxyLHQpfWZ1bmN0aW9uIG5oKGUscil7aWYoIWV8fGUu +bGVuZ3RoPT09MCllPWloKCk7dmFyIHQ7dmFyIGE9e307aWYoISh0PUJyKGUsImE6dGhlbWVFbGVt +ZW50cyIpKSl0aHJvdyBuZXcgRXJyb3IoInRoZW1lRWxlbWVudHMgbm90IGZvdW5kIGluIHRoZW1l +Iik7YWgodFswXSxhLHIpO2EucmF3PWU7cmV0dXJuIGF9ZnVuY3Rpb24gaWgoZSxyKXtpZihyJiZy +LnRoZW1lWExTWClyZXR1cm4gci50aGVtZVhMU1g7aWYoZSYmdHlwZW9mIGUucmF3PT0ic3RyaW5n +IilyZXR1cm4gZS5yYXc7dmFyIHQ9W2F0XTt0W3QubGVuZ3RoXT0nPGE6dGhlbWUgeG1sbnM6YT0i +aHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL2RyYXdpbmdtbC8yMDA2L21haW4iIG5h +bWU9Ik9mZmljZSBUaGVtZSI+Jzt0W3QubGVuZ3RoXT0iPGE6dGhlbWVFbGVtZW50cz4iO3RbdC5s +ZW5ndGhdPSc8YTpjbHJTY2hlbWUgbmFtZT0iT2ZmaWNlIj4nO3RbdC5sZW5ndGhdPSc8YTpkazE+ +PGE6c3lzQ2xyIHZhbD0id2luZG93VGV4dCIgbGFzdENscj0iMDAwMDAwIi8+PC9hOmRrMT4nO3Rb +dC5sZW5ndGhdPSc8YTpsdDE+PGE6c3lzQ2xyIHZhbD0id2luZG93IiBsYXN0Q2xyPSJGRkZGRkYi +Lz48L2E6bHQxPic7dFt0Lmxlbmd0aF09JzxhOmRrMj48YTpzcmdiQ2xyIHZhbD0iMUY0OTdEIi8+ +PC9hOmRrMj4nO3RbdC5sZW5ndGhdPSc8YTpsdDI+PGE6c3JnYkNsciB2YWw9IkVFRUNFMSIvPjwv +YTpsdDI+Jzt0W3QubGVuZ3RoXT0nPGE6YWNjZW50MT48YTpzcmdiQ2xyIHZhbD0iNEY4MUJEIi8+ +PC9hOmFjY2VudDE+Jzt0W3QubGVuZ3RoXT0nPGE6YWNjZW50Mj48YTpzcmdiQ2xyIHZhbD0iQzA1 +MDREIi8+PC9hOmFjY2VudDI+Jzt0W3QubGVuZ3RoXT0nPGE6YWNjZW50Mz48YTpzcmdiQ2xyIHZh +bD0iOUJCQjU5Ii8+PC9hOmFjY2VudDM+Jzt0W3QubGVuZ3RoXT0nPGE6YWNjZW50ND48YTpzcmdi +Q2xyIHZhbD0iODA2NEEyIi8+PC9hOmFjY2VudDQ+Jzt0W3QubGVuZ3RoXT0nPGE6YWNjZW50NT48 +YTpzcmdiQ2xyIHZhbD0iNEJBQ0M2Ii8+PC9hOmFjY2VudDU+Jzt0W3QubGVuZ3RoXT0nPGE6YWNj +ZW50Nj48YTpzcmdiQ2xyIHZhbD0iRjc5NjQ2Ii8+PC9hOmFjY2VudDY+Jzt0W3QubGVuZ3RoXT0n +PGE6aGxpbms+PGE6c3JnYkNsciB2YWw9IjAwMDBGRiIvPjwvYTpobGluaz4nO3RbdC5sZW5ndGhd +PSc8YTpmb2xIbGluaz48YTpzcmdiQ2xyIHZhbD0iODAwMDgwIi8+PC9hOmZvbEhsaW5rPic7dFt0 +Lmxlbmd0aF09IjwvYTpjbHJTY2hlbWU+Ijt0W3QubGVuZ3RoXT0nPGE6Zm9udFNjaGVtZSBuYW1l +PSJPZmZpY2UiPic7dFt0Lmxlbmd0aF09IjxhOm1ham9yRm9udD4iO3RbdC5sZW5ndGhdPSc8YTps +YXRpbiB0eXBlZmFjZT0iQ2FtYnJpYSIvPic7dFt0Lmxlbmd0aF09JzxhOmVhIHR5cGVmYWNlPSIi +Lz4nO3RbdC5sZW5ndGhdPSc8YTpjcyB0eXBlZmFjZT0iIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9u +dCBzY3JpcHQ9IkpwYW4iIHR5cGVmYWNlPSLvvK3vvLMg77yw44K044K344OD44KvIi8+Jzt0W3Qu +bGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9IkhhbmciIHR5cGVmYWNlPSLrp5HsnYAg6rOg65SVIi8+ +Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9IkhhbnMiIHR5cGVmYWNlPSLlrovkvZMiLz4n +O3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD0iSGFudCIgdHlwZWZhY2U9IuaWsOe0sOaYjumr +lCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PSJBcmFiIiB0eXBlZmFjZT0iVGltZXMg +TmV3IFJvbWFuIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9IkhlYnIiIHR5cGVmYWNl +PSJUaW1lcyBOZXcgUm9tYW4iLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD0iVGhhaSIg +dHlwZWZhY2U9IlRhaG9tYSIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PSJFdGhpIiB0 +eXBlZmFjZT0iTnlhbGEiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD0iQmVuZyIgdHlw +ZWZhY2U9IlZyaW5kYSIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PSJHdWpyIiB0eXBl +ZmFjZT0iU2hydXRpIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9IktobXIiIHR5cGVm +YWNlPSJNb29sQm9yYW4iLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD0iS25kYSIgdHlw +ZWZhY2U9IlR1bmdhIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9Ikd1cnUiIHR5cGVm +YWNlPSJSYWF2aSIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PSJDYW5zIiB0eXBlZmFj +ZT0iRXVwaGVtaWEiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD0iQ2hlciIgdHlwZWZh +Y2U9IlBsYW50YWdlbmV0IENoZXJva2VlIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9 +IllpaWkiIHR5cGVmYWNlPSJNaWNyb3NvZnQgWWkgQmFpdGkiLz4nO3RbdC5sZW5ndGhdPSc8YTpm +b250IHNjcmlwdD0iVGlidCIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBIaW1hbGF5YSIvPic7dFt0Lmxl +bmd0aF09JzxhOmZvbnQgc2NyaXB0PSJUaGFhIiB0eXBlZmFjZT0iTVYgQm9saSIvPic7dFt0Lmxl +bmd0aF09JzxhOmZvbnQgc2NyaXB0PSJEZXZhIiB0eXBlZmFjZT0iTWFuZ2FsIi8+Jzt0W3QubGVu +Z3RoXT0nPGE6Zm9udCBzY3JpcHQ9IlRlbHUiIHR5cGVmYWNlPSJHYXV0YW1pIi8+Jzt0W3QubGVu +Z3RoXT0nPGE6Zm9udCBzY3JpcHQ9IlRhbWwiIHR5cGVmYWNlPSJMYXRoYSIvPic7dFt0Lmxlbmd0 +aF09JzxhOmZvbnQgc2NyaXB0PSJTeXJjIiB0eXBlZmFjZT0iRXN0cmFuZ2VsbyBFZGVzc2EiLz4n +O3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD0iT3J5YSIgdHlwZWZhY2U9IkthbGluZ2EiLz4n +O3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD0iTWx5bSIgdHlwZWZhY2U9IkthcnRpa2EiLz4n +O3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD0iTGFvbyIgdHlwZWZhY2U9IkRva0NoYW1wYSIv +Pic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PSJTaW5oIiB0eXBlZmFjZT0iSXNrb29sYSBQ +b3RhIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9Ik1vbmciIHR5cGVmYWNlPSJNb25n +b2xpYW4gQmFpdGkiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD0iVmlldCIgdHlwZWZh +Y2U9IlRpbWVzIE5ldyBSb21hbiIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PSJVaWdo +IiB0eXBlZmFjZT0iTWljcm9zb2Z0IFVpZ2h1ciIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2Ny +aXB0PSJHZW9yIiB0eXBlZmFjZT0iU3lsZmFlbiIvPic7dFt0Lmxlbmd0aF09IjwvYTptYWpvckZv +bnQ+Ijt0W3QubGVuZ3RoXT0iPGE6bWlub3JGb250PiI7dFt0Lmxlbmd0aF09JzxhOmxhdGluIHR5 +cGVmYWNlPSJDYWxpYnJpIi8+Jzt0W3QubGVuZ3RoXT0nPGE6ZWEgdHlwZWZhY2U9IiIvPic7dFt0 +Lmxlbmd0aF09JzxhOmNzIHR5cGVmYWNlPSIiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlw +dD0iSnBhbiIgdHlwZWZhY2U9Iu+8re+8syDvvLDjgrTjgrfjg4Pjgq8iLz4nO3RbdC5sZW5ndGhd +PSc8YTpmb250IHNjcmlwdD0iSGFuZyIgdHlwZWZhY2U9IuunkeydgCDqs6DrlJUiLz4nO3RbdC5s +ZW5ndGhdPSc8YTpmb250IHNjcmlwdD0iSGFucyIgdHlwZWZhY2U9IuWui+S9kyIvPic7dFt0Lmxl +bmd0aF09JzxhOmZvbnQgc2NyaXB0PSJIYW50IiB0eXBlZmFjZT0i5paw57Sw5piO6auUIi8+Jzt0 +W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9IkFyYWIiIHR5cGVmYWNlPSJBcmlhbCIvPic7dFt0 +Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PSJIZWJyIiB0eXBlZmFjZT0iQXJpYWwiLz4nO3RbdC5s +ZW5ndGhdPSc8YTpmb250IHNjcmlwdD0iVGhhaSIgdHlwZWZhY2U9IlRhaG9tYSIvPic7dFt0Lmxl +bmd0aF09JzxhOmZvbnQgc2NyaXB0PSJFdGhpIiB0eXBlZmFjZT0iTnlhbGEiLz4nO3RbdC5sZW5n +dGhdPSc8YTpmb250IHNjcmlwdD0iQmVuZyIgdHlwZWZhY2U9IlZyaW5kYSIvPic7dFt0Lmxlbmd0 +aF09JzxhOmZvbnQgc2NyaXB0PSJHdWpyIiB0eXBlZmFjZT0iU2hydXRpIi8+Jzt0W3QubGVuZ3Ro +XT0nPGE6Zm9udCBzY3JpcHQ9IktobXIiIHR5cGVmYWNlPSJEYXVuUGVuaCIvPic7dFt0Lmxlbmd0 +aF09JzxhOmZvbnQgc2NyaXB0PSJLbmRhIiB0eXBlZmFjZT0iVHVuZ2EiLz4nO3RbdC5sZW5ndGhd +PSc8YTpmb250IHNjcmlwdD0iR3VydSIgdHlwZWZhY2U9IlJhYXZpIi8+Jzt0W3QubGVuZ3RoXT0n +PGE6Zm9udCBzY3JpcHQ9IkNhbnMiIHR5cGVmYWNlPSJFdXBoZW1pYSIvPic7dFt0Lmxlbmd0aF09 +JzxhOmZvbnQgc2NyaXB0PSJDaGVyIiB0eXBlZmFjZT0iUGxhbnRhZ2VuZXQgQ2hlcm9rZWUiLz4n +O3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD0iWWlpaSIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBZ +aSBCYWl0aSIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PSJUaWJ0IiB0eXBlZmFjZT0i +TWljcm9zb2Z0IEhpbWFsYXlhIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9IlRoYWEi +IHR5cGVmYWNlPSJNViBCb2xpIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9IkRldmEi +IHR5cGVmYWNlPSJNYW5nYWwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD0iVGVsdSIg +dHlwZWZhY2U9IkdhdXRhbWkiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD0iVGFtbCIg +dHlwZWZhY2U9IkxhdGhhIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9IlN5cmMiIHR5 +cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0 +PSJPcnlhIiB0eXBlZmFjZT0iS2FsaW5nYSIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0 +PSJNbHltIiB0eXBlZmFjZT0iS2FydGlrYSIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0 +PSJMYW9vIiB0eXBlZmFjZT0iRG9rQ2hhbXBhIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3Jp +cHQ9IlNpbmgiIHR5cGVmYWNlPSJJc2tvb2xhIFBvdGEiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250 +IHNjcmlwdD0iTW9uZyIgdHlwZWZhY2U9Ik1vbmdvbGlhbiBCYWl0aSIvPic7dFt0Lmxlbmd0aF09 +JzxhOmZvbnQgc2NyaXB0PSJWaWV0IiB0eXBlZmFjZT0iQXJpYWwiLz4nO3RbdC5sZW5ndGhdPSc8 +YTpmb250IHNjcmlwdD0iVWlnaCIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBVaWdodXIiLz4nO3RbdC5s +ZW5ndGhdPSc8YTpmb250IHNjcmlwdD0iR2VvciIgdHlwZWZhY2U9IlN5bGZhZW4iLz4nO3RbdC5s +ZW5ndGhdPSI8L2E6bWlub3JGb250PiI7dFt0Lmxlbmd0aF09IjwvYTpmb250U2NoZW1lPiI7dFt0 +Lmxlbmd0aF09JzxhOmZtdFNjaGVtZSBuYW1lPSJPZmZpY2UiPic7dFt0Lmxlbmd0aF09IjxhOmZp +bGxTdHlsZUxzdD4iO3RbdC5sZW5ndGhdPSc8YTpzb2xpZEZpbGw+PGE6c2NoZW1lQ2xyIHZhbD0i +cGhDbHIiLz48L2E6c29saWRGaWxsPic7dFt0Lmxlbmd0aF09JzxhOmdyYWRGaWxsIHJvdFdpdGhT +aGFwZT0iMSI+Jzt0W3QubGVuZ3RoXT0iPGE6Z3NMc3Q+Ijt0W3QubGVuZ3RoXT0nPGE6Z3MgcG9z +PSIwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6dGludCB2YWw9IjUwMDAwIi8+PGE6c2F0 +TW9kIHZhbD0iMzAwMDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+Jzt0W3QubGVuZ3RoXT0nPGE6 +Z3MgcG9zPSIzNTAwMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnRpbnQgdmFsPSIzNzAw +MCIvPjxhOnNhdE1vZCB2YWw9IjMwMDAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPic7dFt0Lmxl +bmd0aF09JzxhOmdzIHBvcz0iMTAwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6dGlu +dCB2YWw9IjE1MDAwIi8+PGE6c2F0TW9kIHZhbD0iMzUwMDAwIi8+PC9hOnNjaGVtZUNscj48L2E6 +Z3M+Jzt0W3QubGVuZ3RoXT0iPC9hOmdzTHN0PiI7dFt0Lmxlbmd0aF09JzxhOmxpbiBhbmc9IjE2 +MjAwMDAwIiBzY2FsZWQ9IjEiLz4nO3RbdC5sZW5ndGhdPSI8L2E6Z3JhZEZpbGw+Ijt0W3QubGVu +Z3RoXT0nPGE6Z3JhZEZpbGwgcm90V2l0aFNoYXBlPSIxIj4nO3RbdC5sZW5ndGhdPSI8YTpnc0xz +dD4iO3RbdC5sZW5ndGhdPSc8YTpncyBwb3M9IjAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48 +YTp0aW50IHZhbD0iMTAwMDAwIi8+PGE6c2hhZGUgdmFsPSIxMDAwMDAiLz48YTpzYXRNb2QgdmFs +PSIxMzAwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz4nO3RbdC5sZW5ndGhdPSc8YTpncyBwb3M9 +IjEwMDAwMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnRpbnQgdmFsPSI1MDAwMCIvPjxh +OnNoYWRlIHZhbD0iMTAwMDAwIi8+PGE6c2F0TW9kIHZhbD0iMzUwMDAwIi8+PC9hOnNjaGVtZUNs +cj48L2E6Z3M+Jzt0W3QubGVuZ3RoXT0iPC9hOmdzTHN0PiI7dFt0Lmxlbmd0aF09JzxhOmxpbiBh +bmc9IjE2MjAwMDAwIiBzY2FsZWQ9IjAiLz4nO3RbdC5sZW5ndGhdPSI8L2E6Z3JhZEZpbGw+Ijt0 +W3QubGVuZ3RoXT0iPC9hOmZpbGxTdHlsZUxzdD4iO3RbdC5sZW5ndGhdPSI8YTpsblN0eWxlTHN0 +PiI7dFt0Lmxlbmd0aF09JzxhOmxuIHc9Ijk1MjUiIGNhcD0iZmxhdCIgY21wZD0ic25nIiBhbGdu +PSJjdHIiPjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6c2hhZGUgdmFs +PSI5NTAwMCIvPjxhOnNhdE1vZCB2YWw9IjEwNTAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOnNvbGlk +RmlsbD48YTpwcnN0RGFzaCB2YWw9InNvbGlkIi8+PC9hOmxuPic7dFt0Lmxlbmd0aF09JzxhOmxu +IHc9IjI1NDAwIiBjYXA9ImZsYXQiIGNtcGQ9InNuZyIgYWxnbj0iY3RyIj48YTpzb2xpZEZpbGw+ +PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiLz48L2E6c29saWRGaWxsPjxhOnByc3REYXNoIHZhbD0i +c29saWQiLz48L2E6bG4+Jzt0W3QubGVuZ3RoXT0nPGE6bG4gdz0iMzgxMDAiIGNhcD0iZmxhdCIg +Y21wZD0ic25nIiBhbGduPSJjdHIiPjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPSJwaENs +ciIvPjwvYTpzb2xpZEZpbGw+PGE6cHJzdERhc2ggdmFsPSJzb2xpZCIvPjwvYTpsbj4nO3RbdC5s +ZW5ndGhdPSI8L2E6bG5TdHlsZUxzdD4iO3RbdC5sZW5ndGhdPSI8YTplZmZlY3RTdHlsZUxzdD4i +O3RbdC5sZW5ndGhdPSI8YTplZmZlY3RTdHlsZT4iO3RbdC5sZW5ndGhdPSI8YTplZmZlY3RMc3Q+ +Ijt0W3QubGVuZ3RoXT0nPGE6b3V0ZXJTaGR3IGJsdXJSYWQ9IjQwMDAwIiBkaXN0PSIyMDAwMCIg +ZGlyPSI1NDAwMDAwIiByb3RXaXRoU2hhcGU9IjAiPjxhOnNyZ2JDbHIgdmFsPSIwMDAwMDAiPjxh +OmFscGhhIHZhbD0iMzgwMDAiLz48L2E6c3JnYkNscj48L2E6b3V0ZXJTaGR3Pic7dFt0Lmxlbmd0 +aF09IjwvYTplZmZlY3RMc3Q+Ijt0W3QubGVuZ3RoXT0iPC9hOmVmZmVjdFN0eWxlPiI7dFt0Lmxl +bmd0aF09IjxhOmVmZmVjdFN0eWxlPiI7dFt0Lmxlbmd0aF09IjxhOmVmZmVjdExzdD4iO3RbdC5s +ZW5ndGhdPSc8YTpvdXRlclNoZHcgYmx1clJhZD0iNDAwMDAiIGRpc3Q9IjIzMDAwIiBkaXI9IjU0 +MDAwMDAiIHJvdFdpdGhTaGFwZT0iMCI+PGE6c3JnYkNsciB2YWw9IjAwMDAwMCI+PGE6YWxwaGEg +dmFsPSIzNTAwMCIvPjwvYTpzcmdiQ2xyPjwvYTpvdXRlclNoZHc+Jzt0W3QubGVuZ3RoXT0iPC9h +OmVmZmVjdExzdD4iO3RbdC5sZW5ndGhdPSI8L2E6ZWZmZWN0U3R5bGU+Ijt0W3QubGVuZ3RoXT0i +PGE6ZWZmZWN0U3R5bGU+Ijt0W3QubGVuZ3RoXT0iPGE6ZWZmZWN0THN0PiI7dFt0Lmxlbmd0aF09 +JzxhOm91dGVyU2hkdyBibHVyUmFkPSI0MDAwMCIgZGlzdD0iMjMwMDAiIGRpcj0iNTQwMDAwMCIg +cm90V2l0aFNoYXBlPSIwIj48YTpzcmdiQ2xyIHZhbD0iMDAwMDAwIj48YTphbHBoYSB2YWw9IjM1 +MDAwIi8+PC9hOnNyZ2JDbHI+PC9hOm91dGVyU2hkdz4nO3RbdC5sZW5ndGhdPSI8L2E6ZWZmZWN0 +THN0PiI7dFt0Lmxlbmd0aF09JzxhOnNjZW5lM2Q+PGE6Y2FtZXJhIHByc3Q9Im9ydGhvZ3JhcGhp +Y0Zyb250Ij48YTpyb3QgbGF0PSIwIiBsb249IjAiIHJldj0iMCIvPjwvYTpjYW1lcmE+PGE6bGln +aHRSaWcgcmlnPSJ0aHJlZVB0IiBkaXI9InQiPjxhOnJvdCBsYXQ9IjAiIGxvbj0iMCIgcmV2PSIx +MjAwMDAwIi8+PC9hOmxpZ2h0UmlnPjwvYTpzY2VuZTNkPic7dFt0Lmxlbmd0aF09JzxhOnNwM2Q+ +PGE6YmV2ZWxUIHc9IjYzNTAwIiBoPSIyNTQwMCIvPjwvYTpzcDNkPic7dFt0Lmxlbmd0aF09Ijwv +YTplZmZlY3RTdHlsZT4iO3RbdC5sZW5ndGhdPSI8L2E6ZWZmZWN0U3R5bGVMc3Q+Ijt0W3QubGVu +Z3RoXT0iPGE6YmdGaWxsU3R5bGVMc3Q+Ijt0W3QubGVuZ3RoXT0nPGE6c29saWRGaWxsPjxhOnNj +aGVtZUNsciB2YWw9InBoQ2xyIi8+PC9hOnNvbGlkRmlsbD4nO3RbdC5sZW5ndGhdPSc8YTpncmFk +RmlsbCByb3RXaXRoU2hhcGU9IjEiPic7dFt0Lmxlbmd0aF09IjxhOmdzTHN0PiI7dFt0Lmxlbmd0 +aF09JzxhOmdzIHBvcz0iMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnRpbnQgdmFsPSI0 +MDAwMCIvPjxhOnNhdE1vZCB2YWw9IjM1MDAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPic7dFt0 +Lmxlbmd0aF09JzxhOmdzIHBvcz0iNDAwMDAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTp0 +aW50IHZhbD0iNDUwMDAiLz48YTpzaGFkZSB2YWw9Ijk5MDAwIi8+PGE6c2F0TW9kIHZhbD0iMzUw +MDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+Jzt0W3QubGVuZ3RoXT0nPGE6Z3MgcG9zPSIxMDAw +MDAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpzaGFkZSB2YWw9IjIwMDAwIi8+PGE6c2F0 +TW9kIHZhbD0iMjU1MDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+Jzt0W3QubGVuZ3RoXT0iPC9h +OmdzTHN0PiI7dFt0Lmxlbmd0aF09JzxhOnBhdGggcGF0aD0iY2lyY2xlIj48YTpmaWxsVG9SZWN0 +IGw9IjUwMDAwIiB0PSItODAwMDAiIHI9IjUwMDAwIiBiPSIxODAwMDAiLz48L2E6cGF0aD4nO3Rb +dC5sZW5ndGhdPSI8L2E6Z3JhZEZpbGw+Ijt0W3QubGVuZ3RoXT0nPGE6Z3JhZEZpbGwgcm90V2l0 +aFNoYXBlPSIxIj4nO3RbdC5sZW5ndGhdPSI8YTpnc0xzdD4iO3RbdC5sZW5ndGhdPSc8YTpncyBw +b3M9IjAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTp0aW50IHZhbD0iODAwMDAiLz48YTpz +YXRNb2QgdmFsPSIzMDAwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz4nO3RbdC5sZW5ndGhdPSc8 +YTpncyBwb3M9IjEwMDAwMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnNoYWRlIHZhbD0i +MzAwMDAiLz48YTpzYXRNb2QgdmFsPSIyMDAwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz4nO3Rb +dC5sZW5ndGhdPSI8L2E6Z3NMc3Q+Ijt0W3QubGVuZ3RoXT0nPGE6cGF0aCBwYXRoPSJjaXJjbGUi +PjxhOmZpbGxUb1JlY3QgbD0iNTAwMDAiIHQ9IjUwMDAwIiByPSI1MDAwMCIgYj0iNTAwMDAiLz48 +L2E6cGF0aD4nO3RbdC5sZW5ndGhdPSI8L2E6Z3JhZEZpbGw+Ijt0W3QubGVuZ3RoXT0iPC9hOmJn +RmlsbFN0eWxlTHN0PiI7dFt0Lmxlbmd0aF09IjwvYTpmbXRTY2hlbWU+Ijt0W3QubGVuZ3RoXT0i +PC9hOnRoZW1lRWxlbWVudHM+Ijt0W3QubGVuZ3RoXT0iPGE6b2JqZWN0RGVmYXVsdHM+Ijt0W3Qu +bGVuZ3RoXT0iPGE6c3BEZWY+Ijt0W3QubGVuZ3RoXT0nPGE6c3BQci8+PGE6Ym9keVByLz48YTps +c3RTdHlsZS8+PGE6c3R5bGU+PGE6bG5SZWYgaWR4PSIxIj48YTpzY2hlbWVDbHIgdmFsPSJhY2Nl +bnQxIi8+PC9hOmxuUmVmPjxhOmZpbGxSZWYgaWR4PSIzIj48YTpzY2hlbWVDbHIgdmFsPSJhY2Nl +bnQxIi8+PC9hOmZpbGxSZWY+PGE6ZWZmZWN0UmVmIGlkeD0iMiI+PGE6c2NoZW1lQ2xyIHZhbD0i +YWNjZW50MSIvPjwvYTplZmZlY3RSZWY+PGE6Zm9udFJlZiBpZHg9Im1pbm9yIj48YTpzY2hlbWVD +bHIgdmFsPSJsdDEiLz48L2E6Zm9udFJlZj48L2E6c3R5bGU+Jzt0W3QubGVuZ3RoXT0iPC9hOnNw +RGVmPiI7dFt0Lmxlbmd0aF09IjxhOmxuRGVmPiI7dFt0Lmxlbmd0aF09JzxhOnNwUHIvPjxhOmJv +ZHlQci8+PGE6bHN0U3R5bGUvPjxhOnN0eWxlPjxhOmxuUmVmIGlkeD0iMiI+PGE6c2NoZW1lQ2xy +IHZhbD0iYWNjZW50MSIvPjwvYTpsblJlZj48YTpmaWxsUmVmIGlkeD0iMCI+PGE6c2NoZW1lQ2xy +IHZhbD0iYWNjZW50MSIvPjwvYTpmaWxsUmVmPjxhOmVmZmVjdFJlZiBpZHg9IjEiPjxhOnNjaGVt +ZUNsciB2YWw9ImFjY2VudDEiLz48L2E6ZWZmZWN0UmVmPjxhOmZvbnRSZWYgaWR4PSJtaW5vciI+ +PGE6c2NoZW1lQ2xyIHZhbD0idHgxIi8+PC9hOmZvbnRSZWY+PC9hOnN0eWxlPic7dFt0Lmxlbmd0 +aF09IjwvYTpsbkRlZj4iO3RbdC5sZW5ndGhdPSI8L2E6b2JqZWN0RGVmYXVsdHM+Ijt0W3QubGVu +Z3RoXT0iPGE6ZXh0cmFDbHJTY2hlbWVMc3QvPiI7dFt0Lmxlbmd0aF09IjwvYTp0aGVtZT4iO3Jl +dHVybiB0LmpvaW4oIiIpfWZ1bmN0aW9uIHNoKGUscix0KXt2YXIgYT1lLmwrcjt2YXIgbj1lLl9S +KDQpO2lmKG49PT0xMjQyMjYpcmV0dXJuO2lmKCF0LmNlbGxTdHlsZXMpe2UubD1hO3JldHVybn12 +YXIgaT1lLnNsaWNlKGUubCk7ZS5sPWE7dmFyIHM7dHJ5e3M9cnQoaSx7dHlwZToiYXJyYXkifSl9 +Y2F0Y2goZil7cmV0dXJufXZhciBsPVpyKHMsInRoZW1lL3RoZW1lL3RoZW1lMS54bWwiLHRydWUp +O2lmKCFsKXJldHVybjtyZXR1cm4gbmgobCx0KX1mdW5jdGlvbiBmaChlKXtyZXR1cm4gZS5fUig0 +KX1mdW5jdGlvbiBsaChlKXt2YXIgcj17fTtyLnhjbHJUeXBlPWUuX1IoMik7ci5uVGludFNoYWRl +PWUuX1IoMik7c3dpdGNoKHIueGNsclR5cGUpe2Nhc2UgMDplLmwrPTQ7YnJlYWs7Y2FzZSAxOnIu +eGNsclZhbHVlPW9oKGUsNCk7YnJlYWs7Y2FzZSAyOnIueGNsclZhbHVlPVdzKGUsNCk7YnJlYWs7 +Y2FzZSAzOnIueGNsclZhbHVlPWZoKGUsNCk7YnJlYWs7Y2FzZSA0OmUubCs9NDticmVhazt9ZS5s +Kz04O3JldHVybiByfWZ1bmN0aW9uIG9oKGUscil7cmV0dXJuIElhKGUscil9ZnVuY3Rpb24gY2go +ZSxyKXtyZXR1cm4gSWEoZSxyKX1mdW5jdGlvbiBoaChlKXt2YXIgcj1lLl9SKDIpO3ZhciB0PWUu +X1IoMiktNDt2YXIgYT1bcl07c3dpdGNoKHIpe2Nhc2UgNDo7Y2FzZSA1OjtjYXNlIDc6O2Nhc2Ug +ODo7Y2FzZSA5OjtjYXNlIDEwOjtjYXNlIDExOjtjYXNlIDEzOmFbMV09bGgoZSx0KTticmVhaztj +YXNlIDY6YVsxXT1jaChlLHQpO2JyZWFrO2Nhc2UgMTQ6O2Nhc2UgMTU6YVsxXT1lLl9SKHQ9PT0x +PzE6Mik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVucmVjb2duaXplZCBFeHRQcm9w +IHR5cGU6ICIrcisiICIrdCk7fXJldHVybiBhfWZ1bmN0aW9uIHVoKGUscil7dmFyIHQ9ZS5sK3I7 +ZS5sKz0yO3ZhciBhPWUuX1IoMik7ZS5sKz0yO3ZhciBuPWUuX1IoMik7dmFyIGk9W107d2hpbGUo +bi0tID4wKWkucHVzaChoaChlLHQtZS5sKSk7cmV0dXJue2l4ZmU6YSxleHQ6aX19ZnVuY3Rpb24g +ZGgoZSxyKXtyLmZvckVhY2goZnVuY3Rpb24oZSl7c3dpdGNoKGVbMF0pe2Nhc2UgNDpicmVhaztj +YXNlIDU6YnJlYWs7Y2FzZSA2OmJyZWFrO2Nhc2UgNzpicmVhaztjYXNlIDg6YnJlYWs7Y2FzZSA5 +OmJyZWFrO2Nhc2UgMTA6YnJlYWs7Y2FzZSAxMTpicmVhaztjYXNlIDEzOmJyZWFrO2Nhc2UgMTQ6 +YnJlYWs7Y2FzZSAxNTpicmVhazt9fSl9ZnVuY3Rpb24gdmgoZSxyKXtyZXR1cm57ZmxhZ3M6ZS5f +Uig0KSx2ZXJzaW9uOmUuX1IoNCksbmFtZTpjbihlLHItOCl9fWZ1bmN0aW9uIHBoKGUpe3ZhciBy +PVJhKDEyKzIqZS5uYW1lLmxlbmd0aCk7ci5fVyg0LGUuZmxhZ3MpO3IuX1coNCxlLnZlcnNpb24p +O2huKGUubmFtZSxyKTtyZXR1cm4gci5zbGljZSgwLHIubCl9ZnVuY3Rpb24gbWgoZSl7dmFyIHI9 +W107dmFyIHQ9ZS5fUig0KTt3aGlsZSh0LS0gPjApci5wdXNoKFtlLl9SKDQpLGUuX1IoNCldKTty +ZXR1cm4gcn1mdW5jdGlvbiBnaChlKXt2YXIgcj1SYSg0KzgqZS5sZW5ndGgpO3IuX1coNCxlLmxl +bmd0aCk7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDsrK3Qpe3IuX1coNCxlW3RdWzBdKTtyLl9XKDQs +ZVt0XVsxXSl9cmV0dXJuIHJ9ZnVuY3Rpb24gYmgoZSxyKXt2YXIgdD1SYSg4KzIqci5sZW5ndGgp +O3QuX1coNCxlKTtobihyLHQpO3JldHVybiB0LnNsaWNlKDAsdC5sKX1mdW5jdGlvbiB3aChlKXtl +LmwrPTQ7cmV0dXJuIGUuX1IoNCkhPTB9ZnVuY3Rpb24ga2goZSxyKXt2YXIgdD1SYSg4KTt0Ll9X +KDQsZSk7dC5fVyg0LHI/MTowKTtyZXR1cm4gdH1mdW5jdGlvbiBBaChlLHIsdCl7dmFyIGE9e1R5 +cGVzOltdLENlbGw6W10sVmFsdWU6W119O3ZhciBuPXR8fHt9O3ZhciBpPVtdO3ZhciBzPWZhbHNl +O3ZhciBmPTI7TmEoZSxmdW5jdGlvbihlLHIsdCl7c3dpdGNoKHQpe2Nhc2UgMzM1OmEuVHlwZXMu +cHVzaCh7bmFtZTplLm5hbWV9KTticmVhaztjYXNlIDUxOmUuZm9yRWFjaChmdW5jdGlvbihlKXtp +ZihmPT0xKWEuQ2VsbC5wdXNoKHt0eXBlOmEuVHlwZXNbZVswXS0xXS5uYW1lLGluZGV4OmVbMV19 +KTtlbHNlIGlmKGY9PTApYS5WYWx1ZS5wdXNoKHt0eXBlOmEuVHlwZXNbZVswXS0xXS5uYW1lLGlu +ZGV4OmVbMV19KX0pO2JyZWFrO2Nhc2UgMzM3OmY9ZT8xOjA7YnJlYWs7Y2FzZSAzMzg6Zj0yO2Jy +ZWFrO2Nhc2UgMzU6aS5wdXNoKHQpO3M9dHJ1ZTticmVhaztjYXNlIDM2OmkucG9wKCk7cz1mYWxz +ZTticmVhaztkZWZhdWx0OmlmKHIuVCl7fWVsc2UgaWYoIXN8fG4uV1RGJiZpW2kubGVuZ3RoLTFd +IT0zNSl0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgcmVjb3JkIDB4Iit0LnRvU3RyaW5nKDE2 +KSk7fX0pO3JldHVybiBhfWZ1bmN0aW9uIFRoKCl7dmFyIGU9RmEoKTtEYShlLDMzMik7RGEoZSwz +MzQsb24oMSkpO0RhKGUsMzM1LHBoKHtuYW1lOiJYTERBUFIiLHZlcnNpb246MTJlNCxmbGFnczoz +NDk2NjU3MDcyfSkpO0RhKGUsMzM2KTtEYShlLDMzOSxiaCgxLCJYTERBUFIiKSk7RGEoZSw1Mik7 +RGEoZSwzNSxvbig1MTQpKTtEYShlLDQwOTYsb24oMCkpO0RhKGUsNDA5NyxBcygxKSk7RGEoZSwz +Nik7RGEoZSw1Myk7RGEoZSwzNDApO0RhKGUsMzM3LGtoKDEsdHJ1ZSkpO0RhKGUsNTEsZ2goW1sx +LDBdXSkpO0RhKGUsMzM4KTtEYShlLDMzMyk7cmV0dXJuIGUuZW5kKCl9ZnVuY3Rpb24geWgoZSxy +LHQpe3ZhciBhPXtUeXBlczpbXSxDZWxsOltdLFZhbHVlOltdfTtpZighZSlyZXR1cm4gYTt2YXIg +bj1mYWxzZTt2YXIgaT0yO3ZhciBzO2UucmVwbGFjZShmdCxmdW5jdGlvbihlKXt2YXIgcj1jdChl +KTtzd2l0Y2godXQoclswXSkpe2Nhc2UiPD94bWwiOmJyZWFrO2Nhc2UiPG1ldGFkYXRhIjo7Y2Fz +ZSI8L21ldGFkYXRhPiI6YnJlYWs7Y2FzZSI8bWV0YWRhdGFUeXBlcyI6O2Nhc2UiPC9tZXRhZGF0 +YVR5cGVzPiI6YnJlYWs7Y2FzZSI8bWV0YWRhdGFUeXBlIjphLlR5cGVzLnB1c2goe25hbWU6ci5u +YW1lfSk7YnJlYWs7Y2FzZSI8L21ldGFkYXRhVHlwZT4iOmJyZWFrO2Nhc2UiPGZ1dHVyZU1ldGFk +YXRhIjpmb3IodmFyIGY9MDtmPGEuVHlwZXMubGVuZ3RoOysrZilpZihhLlR5cGVzW2ZdLm5hbWU9 +PXIubmFtZSlzPWEuVHlwZXNbZl07YnJlYWs7Y2FzZSI8L2Z1dHVyZU1ldGFkYXRhPiI6YnJlYWs7 +Y2FzZSI8Yms+IjpicmVhaztjYXNlIjwvYms+IjpicmVhaztjYXNlIjxyYyI6aWYoaT09MSlhLkNl +bGwucHVzaCh7dHlwZTphLlR5cGVzW3IudC0xXS5uYW1lLGluZGV4OityLnZ9KTtlbHNlIGlmKGk9 +PTApYS5WYWx1ZS5wdXNoKHt0eXBlOmEuVHlwZXNbci50LTFdLm5hbWUsaW5kZXg6K3Iudn0pO2Jy +ZWFrO2Nhc2UiPC9yYz4iOmJyZWFrO2Nhc2UiPGNlbGxNZXRhZGF0YSI6aT0xO2JyZWFrO2Nhc2Ui +PC9jZWxsTWV0YWRhdGE+IjppPTI7YnJlYWs7Y2FzZSI8dmFsdWVNZXRhZGF0YSI6aT0wO2JyZWFr +O2Nhc2UiPC92YWx1ZU1ldGFkYXRhPiI6aT0yO2JyZWFrO2Nhc2UiPGV4dExzdCI6O2Nhc2UiPGV4 +dExzdD4iOjtjYXNlIjwvZXh0THN0PiI6O2Nhc2UiPGV4dExzdC8+IjpicmVhaztjYXNlIjxleHQi +Om49dHJ1ZTticmVhaztjYXNlIjwvZXh0PiI6bj1mYWxzZTticmVhaztjYXNlIjxydmIiOmlmKCFz +KWJyZWFrO2lmKCFzLm9mZnNldHMpcy5vZmZzZXRzPVtdO3Mub2Zmc2V0cy5wdXNoKCtyLmkpO2Jy +ZWFrO2RlZmF1bHQ6aWYoIW4mJih0PT1udWxsP3ZvaWQgMDp0LldURikpdGhyb3cgbmV3IEVycm9y +KCJ1bnJlY29nbml6ZWQgIityWzBdKyIgaW4gbWV0YWRhdGEiKTt9cmV0dXJuIGV9KTtyZXR1cm4g +YX1mdW5jdGlvbiBFaCgpe3ZhciBlPVthdF07ZS5wdXNoKCc8bWV0YWRhdGEgeG1sbnM9Imh0dHA6 +Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9zcHJlYWRzaGVldG1sLzIwMDYvbWFpbiIgeG1s +bnM6eGxyZD0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRt +bC8yMDE3L3JpY2hkYXRhIiB4bWxuczp4ZGE9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20v +b2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNy9keW5hbWljYXJyYXkiPlxuICA8bWV0YWRhdGFUeXBl +cyBjb3VudD0iMSI+XG4gICAgPG1ldGFkYXRhVHlwZSBuYW1lPSJYTERBUFIiIG1pblN1cHBvcnRl +ZFZlcnNpb249IjEyMDAwMCIgY29weT0iMSIgcGFzdGVBbGw9IjEiIHBhc3RlVmFsdWVzPSIxIiBt +ZXJnZT0iMSIgc3BsaXRGaXJzdD0iMSIgcm93Q29sU2hpZnQ9IjEiIGNsZWFyRm9ybWF0cz0iMSIg +Y2xlYXJDb21tZW50cz0iMSIgYXNzaWduPSIxIiBjb2VyY2U9IjEiIGNlbGxNZXRhPSIxIi8+XG4g +IDwvbWV0YWRhdGFUeXBlcz5cbiAgPGZ1dHVyZU1ldGFkYXRhIG5hbWU9IlhMREFQUiIgY291bnQ9 +IjEiPlxuICAgIDxiaz5cbiAgICAgIDxleHRMc3Q+XG4gICAgICAgIDxleHQgdXJpPSJ7YmRiYjhj +ZGMtZmExZS00OTZlLWE4NTctM2MzZjMwYzAyOWMzfSI+XG4gICAgICAgICAgPHhkYTpkeW5hbWlj +QXJyYXlQcm9wZXJ0aWVzIGZEeW5hbWljPSIxIiBmQ29sbGFwc2VkPSIwIi8+XG4gICAgICAgIDwv +ZXh0PlxuICAgICAgPC9leHRMc3Q+XG4gICAgPC9iaz5cbiAgPC9mdXR1cmVNZXRhZGF0YT5cbiAg +PGNlbGxNZXRhZGF0YSBjb3VudD0iMSI+XG4gICAgPGJrPlxuICAgICAgPHJjIHQ9IjEiIHY9IjAi +Lz5cbiAgICA8L2JrPlxuICA8L2NlbGxNZXRhZGF0YT5cbjwvbWV0YWRhdGE+Jyk7cmV0dXJuIGUu +am9pbigiIil9ZnVuY3Rpb24gQ2goZSl7dmFyIHI9W107aWYoIWUpcmV0dXJuIHI7dmFyIHQ9MTso +ZS5tYXRjaChmdCl8fFtdKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBhPWN0KGUpO3N3aXRjaChh +WzBdKXtjYXNlIjw/eG1sIjpicmVhaztjYXNlIjxjYWxjQ2hhaW4iOjtjYXNlIjxjYWxjQ2hhaW4+ +Ijo7Y2FzZSI8L2NhbGNDaGFpbj4iOmJyZWFrO2Nhc2UiPGMiOmRlbGV0ZSBhWzBdO2lmKGEuaSl0 +PWEuaTtlbHNlIGEuaT10O3IucHVzaChhKTticmVhazt9fSk7cmV0dXJuIHJ9ZnVuY3Rpb24gX2go +ZSl7dmFyIHI9e307ci5pPWUuX1IoNCk7dmFyIHQ9e307dC5yPWUuX1IoNCk7dC5jPWUuX1IoNCk7 +ci5yPVlhKHQpO3ZhciBhPWUuX1IoMSk7aWYoYSYyKXIubD0iMSI7aWYoYSY4KXIuYT0iMSI7cmV0 +dXJuIHJ9ZnVuY3Rpb24gU2goZSxyLHQpe3ZhciBhPVtdO3ZhciBuPWZhbHNlO05hKGUsZnVuY3Rp +b24gaShlLHIscyl7c3dpdGNoKHMpe2Nhc2UgNjM6YS5wdXNoKGUpO2JyZWFrO2RlZmF1bHQ6aWYo +ci5UKXt9ZWxzZSBpZighbnx8dC5XVEYpdGhyb3cgbmV3IEVycm9yKCJVbmV4cGVjdGVkIHJlY29y +ZCAweCIrcy50b1N0cmluZygxNikpO319KTtyZXR1cm4gYX1mdW5jdGlvbiB4aCgpe31mdW5jdGlv +biBPaChlLHIsdCxhKXtpZighZSlyZXR1cm4gZTt2YXIgbj1hfHx7fTt2YXIgaT1mYWxzZSxzPWZh +bHNlO05hKGUsZnVuY3Rpb24gZihlLHIsdCl7aWYocylyZXR1cm47c3dpdGNoKHQpe2Nhc2UgMzU5 +OjtjYXNlIDM2Mzo7Y2FzZSAzNjQ6O2Nhc2UgMzY2OjtjYXNlIDM2Nzo7Y2FzZSAzNjg6O2Nhc2Ug +MzY5OjtjYXNlIDM3MDo7Y2FzZSAzNzE6O2Nhc2UgNDcyOjtjYXNlIDU3Nzo7Y2FzZSA1Nzg6O2Nh +c2UgNTc5OjtjYXNlIDU4MDo7Y2FzZSA1ODE6O2Nhc2UgNTgyOjtjYXNlIDU4Mzo7Y2FzZSA1ODQ6 +O2Nhc2UgNTg1OjtjYXNlIDU4Njo7Y2FzZSA1ODc6YnJlYWs7Y2FzZSAzNTppPXRydWU7YnJlYWs7 +Y2FzZSAzNjppPWZhbHNlO2JyZWFrO2RlZmF1bHQ6aWYoci5UKXt9ZWxzZSBpZighaXx8bi5XVEYp +dGhyb3cgbmV3IEVycm9yKCJVbmV4cGVjdGVkIHJlY29yZCAweCIrdC50b1N0cmluZygxNikpO319 +LG4pfWZ1bmN0aW9uIEloKGUscil7aWYoIWUpcmV0dXJuIj8/Ijt2YXIgdD0oZS5tYXRjaCgvPGM6 +Y2hhcnQgW148Pl0qcjppZD0iKFtePD4iXSopIi8pfHxbIiIsIiJdKVsxXTtyZXR1cm4gclsiIWlk +Il1bdF0uVGFyZ2V0fWZ1bmN0aW9uIFJoKGUscix0KXt2YXIgYT0wOwooenIoZSwic2hhcGUiKXx8 +W10pLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIG49IiI7dmFyIGk9dHJ1ZTt2YXIgcz0tMTt2YXIg +Zj0tMSxsPS0xO2UucmVwbGFjZShmdCxmdW5jdGlvbihyLHQpe3ZhciBhPWN0KHIpO3N3aXRjaCh1 +dChhWzBdKSl7Y2FzZSI8Q2xpZW50RGF0YSI6aWYoYS5PYmplY3RUeXBlKW49YS5PYmplY3RUeXBl +O2JyZWFrO2Nhc2UiPFZpc2libGUiOjtjYXNlIjxWaXNpYmxlLz4iOmk9ZmFsc2U7YnJlYWs7Y2Fz +ZSI8Um93Ijo7Y2FzZSI8Um93PiI6cz10K3IubGVuZ3RoO2JyZWFrO2Nhc2UiPC9Sb3c+IjpmPStl +LnNsaWNlKHMsdCkudHJpbSgpO2JyZWFrO2Nhc2UiPENvbHVtbiI6O2Nhc2UiPENvbHVtbj4iOnM9 +dCtyLmxlbmd0aDticmVhaztjYXNlIjwvQ29sdW1uPiI6bD0rZS5zbGljZShzLHQpLnRyaW0oKTti +cmVhazt9cmV0dXJuIiJ9KTtzd2l0Y2gobil7Y2FzZSJOb3RlIjp2YXIgbz1IayhyLGY+PTAmJmw+ +PTA/WWEoe3I6ZixjOmx9KTp0W2FdLnJlZik7aWYoby5jKXtvLmMuaGlkZGVuPWl9KythO2JyZWFr +O319KX1mdW5jdGlvbiBOaChlLHIsdCl7dmFyIGE9WzIxNjAwLDIxNjAwXTt2YXIgbj1bIm0wLDBs +MCIsYVsxXSxhWzBdLGFbMV0sYVswXSwiMHhlIl0uam9pbigiLCIpO3ZhciBpPVtCdCgieG1sIixu +dWxsLHsieG1sbnM6diI6R3QudiwieG1sbnM6byI6R3QubywieG1sbnM6eCI6R3QueCwieG1sbnM6 +bXYiOkd0Lm12fSkucmVwbGFjZSgvXC8+LywiPiIpLEJ0KCJvOnNoYXBlbGF5b3V0IixCdCgibzpp +ZG1hcCIsbnVsbCx7InY6ZXh0IjoiZWRpdCIsZGF0YTplfSkseyJ2OmV4dCI6ImVkaXQifSldO3Zh +ciBzPTY1NTM2KmU7dmFyIGY9cnx8W107aWYoZi5sZW5ndGg+MClpLnB1c2goQnQoInY6c2hhcGV0 +eXBlIixbQnQoInY6c3Ryb2tlIixudWxsLHtqb2luc3R5bGU6Im1pdGVyIn0pLEJ0KCJ2OnBhdGgi +LG51bGwse2dyYWRpZW50c2hhcGVvazoidCIsIm86Y29ubmVjdHR5cGUiOiJyZWN0In0pXS5qb2lu +KCIiKSx7aWQ6Il94MDAwMF90MjAyIixjb29yZHNpemU6YS5qb2luKCIsIiksIm86c3B0IjoyMDIs +cGF0aDpufSkpO2YuZm9yRWFjaChmdW5jdGlvbihlKXsrK3M7aS5wdXNoKEZoKGUscykpfSk7aS5w +dXNoKCI8L3htbD4iKTtyZXR1cm4gaS5qb2luKCIiKX1mdW5jdGlvbiBGaChlLHIsdCl7dmFyIGE9 +S2EoZVswXSk7dmFyIG49e2NvbG9yMjoiI0JFRkY4MiIsdHlwZToiZ3JhZGllbnQifTtpZihuLnR5 +cGU9PSJncmFkaWVudCIpbi5hbmdsZT0iLTE4MCI7dmFyIGk9bi50eXBlPT0iZ3JhZGllbnQiP0J0 +KCJvOmZpbGwiLG51bGwse3R5cGU6ImdyYWRpZW50VW5zY2FsZWQiLCJ2OmV4dCI6InZpZXcifSk6 +bnVsbDt2YXIgcz1CdCgidjpmaWxsIixpLG4pO3ZhciBmPXtvbjoidCIsb2JzY3VyZWQ6InQifTty +ZXR1cm5bIjx2OnNoYXBlIitVdCh7aWQ6Il94MDAwMF9zIityLHR5cGU6IiNfeDAwMDBfdDIwMiIs +c3R5bGU6InBvc2l0aW9uOmFic29sdXRlOyBtYXJnaW4tbGVmdDo4MHB0O21hcmdpbi10b3A6NXB0 +O3dpZHRoOjEwNHB0O2hlaWdodDo2NHB0O3otaW5kZXg6MTAiKyhlWzFdLmhpZGRlbj8iO3Zpc2li +aWxpdHk6aGlkZGVuIjoiIiksZmlsbGNvbG9yOiIjRUNGQUQ0IixzdHJva2Vjb2xvcjoiI2VkZWFh +MSJ9KSsiPiIscyxCdCgidjpzaGFkb3ciLG51bGwsZiksQnQoInY6cGF0aCIsbnVsbCx7Im86Y29u +bmVjdHR5cGUiOiJub25lIn0pLCc8djp0ZXh0Ym94PjxkaXYgc3R5bGU9InRleHQtYWxpZ246bGVm +dCI+PC9kaXY+PC92OnRleHRib3g+JywnPHg6Q2xpZW50RGF0YSBPYmplY3RUeXBlPSJOb3RlIj4n +LCI8eDpNb3ZlV2l0aENlbGxzLz4iLCI8eDpTaXplV2l0aENlbGxzLz4iLE10KCJ4OkFuY2hvciIs +W2EuYysxLDAsYS5yKzEsMCxhLmMrMywyMCxhLnIrNSwyMF0uam9pbigiLCIpKSxNdCgieDpBdXRv +RmlsbCIsIkZhbHNlIiksTXQoIng6Um93IixTdHJpbmcoYS5yKSksTXQoIng6Q29sdW1uIixTdHJp +bmcoYS5jKSksZVsxXS5oaWRkZW4/IiI6Ijx4OlZpc2libGUvPiIsIjwveDpDbGllbnREYXRhPiIs +IjwvdjpzaGFwZT4iXS5qb2luKCIiKX1mdW5jdGlvbiBEaChlLHIsdCxhKXt2YXIgbj1lWyIhZGF0 +YSJdIT1udWxsO3ZhciBpO3IuZm9yRWFjaChmdW5jdGlvbihyKXt2YXIgcz1LYShyLnJlZik7aWYo +cy5yPDB8fHMuYzwwKXJldHVybjtpZihuKXtpZighZVsiIWRhdGEiXVtzLnJdKWVbIiFkYXRhIl1b +cy5yXT1bXTtpPWVbIiFkYXRhIl1bcy5yXVtzLmNdfWVsc2UgaT1lW3IucmVmXTtpZighaSl7aT17 +dDoieiJ9O2lmKG4pZVsiIWRhdGEiXVtzLnJdW3MuY109aTtlbHNlIGVbci5yZWZdPWk7dmFyIGY9 +ZW4oZVsiIXJlZiJdfHwiQkRXR08xMDAwMDAxOkExIik7aWYoZi5zLnI+cy5yKWYucy5yPXMucjtp +ZihmLmUucjxzLnIpZi5lLnI9cy5yO2lmKGYucy5jPnMuYylmLnMuYz1zLmM7aWYoZi5lLmM8cy5j +KWYuZS5jPXMuYzt2YXIgbD1KYShmKTtlWyIhcmVmIl09bH1pZighaS5jKWkuYz1bXTt2YXIgbz17 +YTpyLmF1dGhvcix0OnIudCxyOnIucixUOnR9O2lmKHIuaClvLmg9ci5oO2Zvcih2YXIgYz1pLmMu +bGVuZ3RoLTE7Yz49MDstLWMpe2lmKCF0JiZpLmNbY10uVClyZXR1cm47aWYodCYmIWkuY1tjXS5U +KWkuYy5zcGxpY2UoYywxKX1pZih0JiZhKWZvcihjPTA7YzxhLmxlbmd0aDsrK2Mpe2lmKG8uYT09 +YVtjXS5pZCl7by5hPWFbY10ubmFtZXx8by5hO2JyZWFrfX1pLmMucHVzaChvKX0pfWZ1bmN0aW9u +IFBoKGUscil7aWYoZS5tYXRjaCgvPCg/Olx3KzopP2NvbW1lbnRzICpcLz4vKSlyZXR1cm5bXTt2 +YXIgdD1bXTt2YXIgYT1bXTt2YXIgbj1XcihlLCJhdXRob3JzIik7aWYobiYmblsxXSluWzFdLnNw +bGl0KC88XC9cdyo6P2F1dGhvcj4vKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lmKGU9PT0iInx8ZS50 +cmltKCk9PT0iIilyZXR1cm47dmFyIHI9ZS5tYXRjaCgvPCg/Olx3KzopP2F1dGhvcltePD5dKj4o +LiopLyk7aWYocil0LnB1c2goclsxXSl9KTt2YXIgaT1XcihlLCJjb21tZW50TGlzdCIpO2lmKGkm +JmlbMV0paVsxXS5zcGxpdCgvPFwvXHcqOj9jb21tZW50Pi8pLmZvckVhY2goZnVuY3Rpb24oZSl7 +aWYoZT09PSIifHxlLnRyaW0oKT09PSIiKXJldHVybjt2YXIgbj1lLm1hdGNoKC88KD86XHcrOik/ +Y29tbWVudFtePD5dKj4vKTtpZighbilyZXR1cm47dmFyIGk9Y3QoblswXSk7dmFyIHM9e2F1dGhv +cjppLmF1dGhvcklkJiZ0W2kuYXV0aG9ySWRdfHwic2hlZXRqc2dob3N0IixyZWY6aS5yZWYsZ3Vp +ZDppLmd1aWR9O3ZhciBmPUthKGkucmVmKTtpZihyLnNoZWV0Um93cyYmci5zaGVldFJvd3M8PWYu +cilyZXR1cm47dmFyIGw9V3IoZSwidGV4dCIpO3ZhciBvPSEhbCYmISFsWzFdJiZjbyhsWzFdKXx8 +e3I6IiIsdDoiIixoOiIifTtzLnI9by5yO2lmKG8ucj09Ijx0PjwvdD4iKW8udD1vLmg9IiI7cy50 +PShvLnR8fCIiKS5yZXBsYWNlKC9cclxuL2csIlxuIikucmVwbGFjZSgvXHIvZywiXG4iKTtpZihy +LmNlbGxIVE1MKXMuaD1vLmg7YS5wdXNoKHMpfSk7cmV0dXJuIGF9ZnVuY3Rpb24gTGgoZSl7dmFy +IHI9W2F0LEJ0KCJjb21tZW50cyIsbnVsbCx7eG1sbnM6WHRbMF19KV07dmFyIHQ9W107ci5wdXNo +KCI8YXV0aG9ycz4iKTtlLmZvckVhY2goZnVuY3Rpb24oZSl7ZVsxXS5mb3JFYWNoKGZ1bmN0aW9u +KGUpe3ZhciBhPWJ0KGUuYSk7aWYodC5pbmRleE9mKGEpPT0tMSl7dC5wdXNoKGEpO3IucHVzaCgi +PGF1dGhvcj4iK2ErIjwvYXV0aG9yPiIpfWlmKGUuVCYmZS5JRCYmdC5pbmRleE9mKCJ0Yz0iK2Uu +SUQpPT0tMSl7dC5wdXNoKCJ0Yz0iK2UuSUQpO3IucHVzaCgiPGF1dGhvcj4iKyJ0Yz0iK2UuSUQr +IjwvYXV0aG9yPiIpfX0pfSk7aWYodC5sZW5ndGg9PTApe3QucHVzaCgiU2hlZXRKNSIpO3IucHVz +aCgiPGF1dGhvcj5TaGVldEo1PC9hdXRob3I+Iil9ci5wdXNoKCI8L2F1dGhvcnM+Iik7ci5wdXNo +KCI8Y29tbWVudExpc3Q+Iik7ZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBhPTAsbj1bXSxpPTA7 +aWYoZVsxXVswXSYmZVsxXVswXS5UJiZlWzFdWzBdLklEKWE9dC5pbmRleE9mKCJ0Yz0iK2VbMV1b +MF0uSUQpO2VbMV0uZm9yRWFjaChmdW5jdGlvbihlKXtpZihlLmEpYT10LmluZGV4T2YoYnQoZS5h +KSk7aWYoZS5UKSsraTtuLnB1c2goZS50PT1udWxsPyIiOmJ0KGUudCkpfSk7aWYoaT09PTApe2Vb +MV0uZm9yRWFjaChmdW5jdGlvbihhKXtyLnB1c2goJzxjb21tZW50IHJlZj0iJytlWzBdKyciIGF1 +dGhvcklkPSInK3QuaW5kZXhPZihidChhLmEpKSsnIj48dGV4dD4nKTtyLnB1c2goTXQoInQiLGEu +dD09bnVsbD8iIjpidChhLnQpKSk7ci5wdXNoKCI8L3RleHQ+PC9jb21tZW50PiIpfSl9ZWxzZXtp +ZihlWzFdWzBdJiZlWzFdWzBdLlQmJmVbMV1bMF0uSUQpYT10LmluZGV4T2YoInRjPSIrZVsxXVsw +XS5JRCk7ci5wdXNoKCc8Y29tbWVudCByZWY9IicrZVswXSsnIiBhdXRob3JJZD0iJythKyciPjx0 +ZXh0PicpO3ZhciBzPSJDb21tZW50OlxuICAgICIrblswXSsiXG4iO2Zvcih2YXIgZj0xO2Y8bi5s +ZW5ndGg7KytmKXMrPSJSZXBseTpcbiAgICAiK25bZl0rIlxuIjtyLnB1c2goTXQoInQiLGJ0KHMp +KSk7ci5wdXNoKCI8L3RleHQ+PC9jb21tZW50PiIpfX0pO3IucHVzaCgiPC9jb21tZW50TGlzdD4i +KTtpZihyLmxlbmd0aD4yKXtyW3IubGVuZ3RoXT0iPC9jb21tZW50cz4iO3JbMV09clsxXS5yZXBs +YWNlKCIvPiIsIj4iKX1yZXR1cm4gci5qb2luKCIiKX1mdW5jdGlvbiBNaChlLHIpe3ZhciB0PVtd +O3ZhciBhPWZhbHNlLG49e30saT0wO2UucmVwbGFjZShmdCxmdW5jdGlvbiBzKGYsbCl7dmFyIG89 +Y3QoZik7c3dpdGNoKHV0KG9bMF0pKXtjYXNlIjw/eG1sIjpicmVhaztjYXNlIjxUaHJlYWRlZENv +bW1lbnRzIjpicmVhaztjYXNlIjwvVGhyZWFkZWRDb21tZW50cz4iOmJyZWFrO2Nhc2UiPHRocmVh +ZGVkQ29tbWVudCI6bj17YXV0aG9yOm8ucGVyc29uSWQsZ3VpZDpvLmlkLHJlZjpvLnJlZixUOjF9 +O2JyZWFrO2Nhc2UiPC90aHJlYWRlZENvbW1lbnQ+IjppZihuLnQhPW51bGwpdC5wdXNoKG4pO2Jy +ZWFrO2Nhc2UiPHRleHQ+Ijo7Y2FzZSI8dGV4dCI6aT1sK2YubGVuZ3RoO2JyZWFrO2Nhc2UiPC90 +ZXh0PiI6bi50PWUuc2xpY2UoaSxsKS5yZXBsYWNlKC9cclxuL2csIlxuIikucmVwbGFjZSgvXHIv +ZywiXG4iKTticmVhaztjYXNlIjxtZW50aW9ucyI6O2Nhc2UiPG1lbnRpb25zPiI6YT10cnVlO2Jy +ZWFrO2Nhc2UiPC9tZW50aW9ucz4iOmE9ZmFsc2U7YnJlYWs7Y2FzZSI8ZXh0THN0Ijo7Y2FzZSI8 +ZXh0THN0PiI6O2Nhc2UiPC9leHRMc3Q+Ijo7Y2FzZSI8ZXh0THN0Lz4iOmJyZWFrO2Nhc2UiPGV4 +dCI6YT10cnVlO2JyZWFrO2Nhc2UiPC9leHQ+IjphPWZhbHNlO2JyZWFrO2RlZmF1bHQ6aWYoIWEm +JnIuV1RGKXRocm93IG5ldyBFcnJvcigidW5yZWNvZ25pemVkICIrb1swXSsiIGluIHRocmVhZGVk +IGNvbW1lbnRzIik7fXJldHVybiBmfSk7cmV0dXJuIHR9ZnVuY3Rpb24gVWgoZSxyLHQpe3ZhciBh +PVthdCxCdCgiVGhyZWFkZWRDb21tZW50cyIsbnVsbCx7eG1sbnM6JHQuVENNTlR9KS5yZXBsYWNl +KC9bXC9dPi8sIj4iKV07ZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBuPSIiOyhlWzFdfHxbXSku +Zm9yRWFjaChmdW5jdGlvbihpLHMpe2lmKCFpLlQpe2RlbGV0ZSBpLklEO3JldHVybn1pZihpLmEm +JnIuaW5kZXhPZihpLmEpPT0tMSlyLnB1c2goaS5hKTt2YXIgZj17cmVmOmVbMF0saWQ6Ins1NEVF +Nzk1MS03MjYyLTQyMDAtNjk2OS0iKygiMDAwMDAwMDAwMDAwIit0LnRjaWQrKykuc2xpY2UoLTEy +KSsifSJ9O2lmKHM9PTApbj1mLmlkO2Vsc2UgZi5wYXJlbnRJZD1uO2kuSUQ9Zi5pZDtpZihpLmEp +Zi5wZXJzb25JZD0iezU0RUU3OTUwLTcyNjItNDIwMC02OTY5LSIrKCIwMDAwMDAwMDAwMDAiK3Iu +aW5kZXhPZihpLmEpKS5zbGljZSgtMTIpKyJ9IjthLnB1c2goQnQoInRocmVhZGVkQ29tbWVudCIs +TXQoInRleHQiLGkudHx8IiIpLGYpKX0pfSk7YS5wdXNoKCI8L1RocmVhZGVkQ29tbWVudHM+Iik7 +cmV0dXJuIGEuam9pbigiIil9ZnVuY3Rpb24gQmgoZSxyKXt2YXIgdD1bXTt2YXIgYT1mYWxzZTtl +LnJlcGxhY2UoZnQsZnVuY3Rpb24gbihlKXt2YXIgbj1jdChlKTtzd2l0Y2godXQoblswXSkpe2Nh +c2UiPD94bWwiOmJyZWFrO2Nhc2UiPHBlcnNvbkxpc3QiOmJyZWFrO2Nhc2UiPC9wZXJzb25MaXN0 +PiI6YnJlYWs7Y2FzZSI8cGVyc29uIjp0LnB1c2goe25hbWU6bi5kaXNwbGF5bmFtZSxpZDpuLmlk +fSk7YnJlYWs7Y2FzZSI8L3BlcnNvbj4iOmJyZWFrO2Nhc2UiPGV4dExzdCI6O2Nhc2UiPGV4dExz +dD4iOjtjYXNlIjwvZXh0THN0PiI6O2Nhc2UiPGV4dExzdC8+IjpicmVhaztjYXNlIjxleHQiOmE9 +dHJ1ZTticmVhaztjYXNlIjwvZXh0PiI6YT1mYWxzZTticmVhaztkZWZhdWx0OmlmKCFhJiZyLldU +Ril0aHJvdyBuZXcgRXJyb3IoInVucmVjb2duaXplZCAiK25bMF0rIiBpbiB0aHJlYWRlZCBjb21t +ZW50cyIpO31yZXR1cm4gZX0pO3JldHVybiB0fWZ1bmN0aW9uIFdoKGUpe3ZhciByPVthdCxCdCgi +cGVyc29uTGlzdCIsbnVsbCx7eG1sbnM6JHQuVENNTlQsInhtbG5zOngiOlh0WzBdfSkucmVwbGFj +ZSgvW1wvXT4vLCI+IildO2UuZm9yRWFjaChmdW5jdGlvbihlLHQpe3IucHVzaChCdCgicGVyc29u +IixudWxsLHtkaXNwbGF5TmFtZTplLGlkOiJ7NTRFRTc5NTAtNzI2Mi00MjAwLTY5NjktIisoIjAw +MDAwMDAwMDAwMCIrdCkuc2xpY2UoLTEyKSsifSIsdXNlcklkOmUscHJvdmlkZXJJZDoiTm9uZSJ9 +KSl9KTtyLnB1c2goIjwvcGVyc29uTGlzdD4iKTtyZXR1cm4gci5qb2luKCIiKX1mdW5jdGlvbiB6 +aChlKXt2YXIgcj17fTtyLmlhdXRob3I9ZS5fUig0KTt2YXIgdD1GbihlLDE2KTtyLnJmeD10LnM7 +ci5yZWY9WWEodC5zKTtlLmwrPTE2O3JldHVybiByfWZ1bmN0aW9uIEhoKGUscil7aWYocj09bnVs +bClyPVJhKDM2KTtyLl9XKDQsZVsxXS5pYXV0aG9yKTtEbihlWzBdLHIpO3IuX1coNCwwKTtyLl9X +KDQsMCk7ci5fVyg0LDApO3IuX1coNCwwKTtyZXR1cm4gcn12YXIgVmg9Y247ZnVuY3Rpb24gJGgo +ZSl7cmV0dXJuIGhuKGUuc2xpY2UoMCw1NCkpfWZ1bmN0aW9uIFhoKGUscil7dmFyIHQ9W107dmFy +IGE9W107dmFyIG49e307dmFyIGk9ZmFsc2U7TmEoZSxmdW5jdGlvbiBzKGUsZixsKXtzd2l0Y2go +bCl7Y2FzZSA2MzI6YS5wdXNoKGUpO2JyZWFrO2Nhc2UgNjM1Om49ZTticmVhaztjYXNlIDYzNzpu +LnQ9ZS50O24uaD1lLmg7bi5yPWUucjticmVhaztjYXNlIDYzNjpuLmF1dGhvcj1hW24uaWF1dGhv +cl07ZGVsZXRlIG4uaWF1dGhvcjtpZihyLnNoZWV0Um93cyYmbi5yZngmJnIuc2hlZXRSb3dzPD1u +LnJmeC5yKWJyZWFrO2lmKCFuLnQpbi50PSIiO2RlbGV0ZSBuLnJmeDt0LnB1c2gobik7YnJlYWs7 +Y2FzZSAzMDcyOmJyZWFrO2Nhc2UgMzU6aT10cnVlO2JyZWFrO2Nhc2UgMzY6aT1mYWxzZTticmVh +aztjYXNlIDM3OmJyZWFrO2Nhc2UgMzg6YnJlYWs7ZGVmYXVsdDppZihmLlQpe31lbHNlIGlmKCFp +fHxyLldURil0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgcmVjb3JkIDB4IitsLnRvU3RyaW5n +KDE2KSk7fX0pO3JldHVybiB0fWZ1bmN0aW9uIEdoKGUpe3ZhciByPUZhKCk7dmFyIHQ9W107RGEo +ciw2MjgpO0RhKHIsNjMwKTtlLmZvckVhY2goZnVuY3Rpb24oZSl7ZVsxXS5mb3JFYWNoKGZ1bmN0 +aW9uKGUpe2lmKHQuaW5kZXhPZihlLmEpPi0xKXJldHVybjt0LnB1c2goZS5hLnNsaWNlKDAsNTQp +KTtEYShyLDYzMiwkaChlLmEpKTtpZihlLlQmJmUuSUQmJnQuaW5kZXhPZigidGM9IitlLklEKT09 +LTEpe3QucHVzaCgidGM9IitlLklEKTtEYShyLDYzMiwkaCgidGM9IitlLklEKSl9fSl9KTtEYShy +LDYzMSk7RGEociw2MzMpO2UuZm9yRWFjaChmdW5jdGlvbihlKXtlWzFdLmZvckVhY2goZnVuY3Rp +b24oYSl7dmFyIG49LTE7aWYoYS5JRCluPXQuaW5kZXhPZigidGM9IithLklEKTtpZihuPT0tMSYm +ZVsxXVswXS5UJiZlWzFdWzBdLklEKW49dC5pbmRleE9mKCJ0Yz0iK2VbMV1bMF0uSUQpO2lmKG49 +PS0xKW49dC5pbmRleE9mKGEuYSk7YS5pYXV0aG9yPW47dmFyIGk9e3M6S2EoZVswXSksZTpLYShl +WzBdKX07RGEociw2MzUsSGgoW2ksYV0pKTtpZihhLnQmJmEudC5sZW5ndGg+MClEYShyLDYzNyxn +bihhKSk7RGEociw2MzYpO2RlbGV0ZSBhLmlhdXRob3J9KX0pO0RhKHIsNjM0KTtEYShyLDYyOSk7 +cmV0dXJuIHIuZW5kKCl9dmFyIGpoPSJhcHBsaWNhdGlvbi92bmQubXMtb2ZmaWNlLnZiYVByb2pl +Y3QiO2Z1bmN0aW9uIEtoKGUpe3ZhciByPVFlLnV0aWxzLmNmYl9uZXcoe3Jvb3Q6IlIifSk7ZS5G +dWxsUGF0aHMuZm9yRWFjaChmdW5jdGlvbih0LGEpe2lmKHQuc2xpY2UoLTEpPT09Ii8ifHwhdC5t +YXRjaCgvX1ZCQV9QUk9KRUNUX0NVUi8pKXJldHVybjt2YXIgbj10LnJlcGxhY2UoL15bXlwvXSov +LCJSIikucmVwbGFjZSgvXC9fVkJBX1BST0pFQ1RfQ1VSXHUwMDAwKi8sIiIpO1FlLnV0aWxzLmNm +Yl9hZGQocixuLGUuRmlsZUluZGV4W2FdLmNvbnRlbnQpfSk7cmV0dXJuIFFlLndyaXRlKHIpfWZ1 +bmN0aW9uIFloKGUscil7ci5GdWxsUGF0aHMuZm9yRWFjaChmdW5jdGlvbih0LGEpe2lmKGE9PTAp +cmV0dXJuO3ZhciBuPXQucmVwbGFjZSgvXltcL10qW15cL10qW1wvXS8sIi9fVkJBX1BST0pFQ1Rf +Q1VSLyIpO2lmKG4uc2xpY2UoLTEpIT09Ii8iKVFlLnV0aWxzLmNmYl9hZGQoZSxuLHIuRmlsZUlu +ZGV4W2FdLmNvbnRlbnQpfSl9dmFyIFpoPVsieGxzYiIsInhsc20iLCJ4bGFtIiwiYmlmZjgiLCJ4 +bGEiXTtmdW5jdGlvbiBKaCgpe3JldHVybnsiIXR5cGUiOiJkaWFsb2cifX1mdW5jdGlvbiBxaCgp +e3JldHVybnsiIXR5cGUiOiJkaWFsb2cifX1mdW5jdGlvbiBRaCgpe3JldHVybnsiIXR5cGUiOiJt +YWNybyJ9fWZ1bmN0aW9uIGV1KCl7cmV0dXJueyIhdHlwZSI6Im1hY3JvIn19dmFyIHJ1PWZ1bmN0 +aW9uKCl7dmFyIGU9LyhefFteQS1aYS16X10pUihcWz8tP1xkK1xdfFsxLTldXGQqfClDKFxbPy0/ +XGQrXF18WzEtOV1cZCp8KSg/IVtBLVphLXowLTlfXSkvZzt2YXIgcj17cjowLGM6MH07ZnVuY3Rp +b24gdChlLHQsYSxuKXt2YXIgaT1mYWxzZSxzPWZhbHNlO2lmKGEubGVuZ3RoPT0wKXM9dHJ1ZTtl +bHNlIGlmKGEuY2hhckF0KDApPT0iWyIpe3M9dHJ1ZTthPWEuc2xpY2UoMSwtMSl9aWYobi5sZW5n +dGg9PTApaT10cnVlO2Vsc2UgaWYobi5jaGFyQXQoMCk9PSJbIil7aT10cnVlO249bi5zbGljZSgx +LC0xKX12YXIgZj1hLmxlbmd0aD4wP3BhcnNlSW50KGEsMTApfDA6MCxsPW4ubGVuZ3RoPjA/cGFy +c2VJbnQobiwxMCl8MDowO2lmKGkpbCs9ci5jO2Vsc2UtLWw7aWYocylmKz1yLnI7ZWxzZS0tZjty +ZXR1cm4gdCsoaT8iIjoiJCIpKyRhKGwpKyhzPyIiOiIkIikrV2EoZil9cmV0dXJuIGZ1bmN0aW9u +IGEobixpKXtyPWk7cmV0dXJuIG4ucmVwbGFjZShlLHQpfX0oKTt2YXIgdHU9LyhefFteLl9BLVow +LTldKShcJD8pKFtBLVpdezEsMn18W0EtV11bQS1aXXsyfXxYW0EtRV1bQS1aXXxYRltBLURdKShc +JD8pKFxkezEsN30pKD8hW18uXChBLVphLXowLTldKS9nO3RyeXt0dT0vKF58W14uX0EtWjAtOV0p +KFskXT8pKFtBLVpdezEsMn18W0EtV11bQS1aXXsyfXxYW0EtRV1bQS1aXXxYRltBLURdKShbJF0/ +KSgxMFswLTNdXGR7NH18MTA0WzAtN11cZHszfXwxMDQ4WzAtNF1cZHsyfXwxMDQ4NVswLTZdXGR8 +MTA0ODU3WzAtNl18WzEtOV1cZHswLDV9KSg/IVtfLlwoQS1aYS16MC05XSkvZ31jYXRjaChhdSl7 +fXZhciBudT1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHIsdCl7cmV0dXJuIHIucmVwbGFj +ZSh0dSxmdW5jdGlvbihlLHIsYSxuLGkscyl7dmFyIGY9VmEobiktKGE/MDp0LmMpO3ZhciBsPUJh +KHMpLShpPzA6dC5yKTt2YXIgbz1pPT0iJCI/bCsxOmw9PTA/IiI6IlsiK2wrIl0iO3ZhciBjPWE9 +PSIkIj9mKzE6Zj09MD8iIjoiWyIrZisiXSI7cmV0dXJuIHIrIlIiK28rIkMiK2N9KX19KCk7ZnVu +Y3Rpb24gaXUoZSxyKXtyZXR1cm4gZS5yZXBsYWNlKHR1LGZ1bmN0aW9uKGUsdCxhLG4saSxzKXty +ZXR1cm4gdCsoYT09IiQiP2ErbjokYShWYShuKStyLmMpKSsoaT09IiQiP2krczpXYShCYShzKSty +LnIpKX0pfWZ1bmN0aW9uIHN1KGUscix0KXt2YXIgYT1aYShyKSxuPWEucyxpPUthKHQpO3ZhciBz +PXtyOmkuci1uLnIsYzppLmMtbi5jfTtyZXR1cm4gaXUoZSxzKX1mdW5jdGlvbiBmdShlKXtpZihl +Lmxlbmd0aD09MSlyZXR1cm4gZmFsc2U7cmV0dXJuIHRydWV9ZnVuY3Rpb24gbHUoZSl7cmV0dXJu +IGUucmVwbGFjZSgvX3hsZm5cLi9nLCIiKX1mdW5jdGlvbiBvdShlKXtlLmwrPTE7cmV0dXJufWZ1 +bmN0aW9uIGN1KGUscil7dmFyIHQ9ZS5fUihyPT0xPzE6Mik7cmV0dXJuW3QmMTYzODMsdD4+MTQm +MSx0Pj4xNSYxXX1mdW5jdGlvbiBodShlLHIsdCl7dmFyIGE9MjtpZih0KXtpZih0LmJpZmY+PTIm +JnQuYmlmZjw9NSlyZXR1cm4gdXUoZSxyLHQpO2Vsc2UgaWYodC5iaWZmPT0xMilhPTR9dmFyIG49 +ZS5fUihhKSxpPWUuX1IoYSk7dmFyIHM9Y3UoZSwyKTt2YXIgZj1jdShlLDIpO3JldHVybntzOnty +Om4sYzpzWzBdLGNSZWw6c1sxXSxyUmVsOnNbMl19LGU6e3I6aSxjOmZbMF0sY1JlbDpmWzFdLHJS +ZWw6ZlsyXX19fWZ1bmN0aW9uIHV1KGUpe3ZhciByPWN1KGUsMiksdD1jdShlLDIpO3ZhciBhPWUu +X1IoMSk7dmFyIG49ZS5fUigxKTtyZXR1cm57czp7cjpyWzBdLGM6YSxjUmVsOnJbMV0sclJlbDpy +WzJdfSxlOntyOnRbMF0sYzpuLGNSZWw6dFsxXSxyUmVsOnRbMl19fX1mdW5jdGlvbiBkdShlLHIs +dCl7aWYodC5iaWZmPDgpcmV0dXJuIHV1KGUscix0KTt2YXIgYT1lLl9SKHQuYmlmZj09MTI/NDoy +KSxuPWUuX1IodC5iaWZmPT0xMj80OjIpO3ZhciBpPWN1KGUsMik7dmFyIHM9Y3UoZSwyKTtyZXR1 +cm57czp7cjphLGM6aVswXSxjUmVsOmlbMV0sclJlbDppWzJdfSxlOntyOm4sYzpzWzBdLGNSZWw6 +c1sxXSxyUmVsOnNbMl19fX1mdW5jdGlvbiB2dShlLHIsdCl7aWYodCYmdC5iaWZmPj0yJiZ0LmJp +ZmY8PTUpcmV0dXJuIHB1KGUscix0KTt2YXIgYT1lLl9SKHQmJnQuYmlmZj09MTI/NDoyKTt2YXIg +bj1jdShlLDIpO3JldHVybntyOmEsYzpuWzBdLGNSZWw6blsxXSxyUmVsOm5bMl19fWZ1bmN0aW9u +IHB1KGUpe3ZhciByPWN1KGUsMik7dmFyIHQ9ZS5fUigxKTtyZXR1cm57cjpyWzBdLGM6dCxjUmVs +OnJbMV0sclJlbDpyWzJdfX1mdW5jdGlvbiBtdShlKXt2YXIgcj1lLl9SKDIpO3ZhciB0PWUuX1Io +Mik7cmV0dXJue3I6cixjOnQmMjU1LGZRdW90ZWQ6ISEodCYxNjM4NCksY1JlbDp0Pj4xNSxyUmVs +OnQ+PjE1fX1mdW5jdGlvbiBndShlLHIsdCl7dmFyIGE9dCYmdC5iaWZmP3QuYmlmZjo4O2lmKGE+ +PTImJmE8PTUpcmV0dXJuIGJ1KGUscix0KTt2YXIgbj1lLl9SKGE+PTEyPzQ6Mik7dmFyIGk9ZS5f +UigyKTt2YXIgcz0oaSYxNjM4NCk+PjE0LGY9KGkmMzI3NjgpPj4xNTtpJj0xNjM4MztpZihmPT0x +KXdoaWxlKG4+NTI0Mjg3KW4tPTEwNDg1NzY7aWYocz09MSl3aGlsZShpPjgxOTEpaT1pLTE2Mzg0 +O3JldHVybntyOm4sYzppLGNSZWw6cyxyUmVsOmZ9fWZ1bmN0aW9uIGJ1KGUpe3ZhciByPWUuX1Io +Mik7dmFyIHQ9ZS5fUigxKTt2YXIgYT0ociYzMjc2OCk+PjE1LG49KHImMTYzODQpPj4xNDtyJj0x +NjM4MztpZihhPT0xJiZyPj04MTkyKXI9ci0xNjM4NDtpZihuPT0xJiZ0Pj0xMjgpdD10LTI1Njty +ZXR1cm57cjpyLGM6dCxjUmVsOm4sclJlbDphfX1mdW5jdGlvbiB3dShlLHIsdCl7dmFyIGE9KGVb +ZS5sKytdJjk2KT4+NTt2YXIgbj1odShlLHQuYmlmZj49MiYmdC5iaWZmPD01PzY6OCx0KTtyZXR1 +cm5bYSxuXX1mdW5jdGlvbiBrdShlLHIsdCl7dmFyIGE9KGVbZS5sKytdJjk2KT4+NTt2YXIgbj1l +Ll9SKDIsImkiKTt2YXIgaT04O2lmKHQpc3dpdGNoKHQuYmlmZil7Y2FzZSA1OmUubCs9MTI7aT02 +O2JyZWFrO2Nhc2UgMTI6aT0xMjticmVhazt9dmFyIHM9aHUoZSxpLHQpO3JldHVyblthLG4sc119 +ZnVuY3Rpb24gQXUoZSxyLHQpe3ZhciBhPShlW2UubCsrXSY5Nik+PjU7ZS5sKz10JiZ0LmJpZmY+ +OD8xMjp0LmJpZmY8OD82Ojg7cmV0dXJuW2FdfWZ1bmN0aW9uIFR1KGUscix0KXt2YXIgYT0oZVtl +LmwrK10mOTYpPj41O3ZhciBuPWUuX1IoMik7dmFyIGk9ODtpZih0KXN3aXRjaCh0LmJpZmYpe2Nh +c2UgNTplLmwrPTEyO2k9NjticmVhaztjYXNlIDEyOmk9MTI7YnJlYWs7fWUubCs9aTtyZXR1cm5b +YSxuXX1mdW5jdGlvbiB5dShlLHIsdCl7dmFyIGE9KGVbZS5sKytdJjk2KT4+NTt2YXIgbj1kdShl +LHItMSx0KTtyZXR1cm5bYSxuXX1mdW5jdGlvbiBFdShlLHIsdCl7dmFyIGE9KGVbZS5sKytdJjk2 +KT4+NTtlLmwrPXQuYmlmZj09Mj82OnQuYmlmZj09MTI/MTQ6NztyZXR1cm5bYV19ZnVuY3Rpb24g +Q3UoZSl7dmFyIHI9ZVtlLmwrMV0mMTt2YXIgdD0xO2UubCs9NDtyZXR1cm5bcix0XX1mdW5jdGlv +biBfdShlLHIsdCl7ZS5sKz0yO3ZhciBhPWUuX1IodCYmdC5iaWZmPT0yPzE6Mik7dmFyIG49W107 +Zm9yKHZhciBpPTA7aTw9YTsrK2kpbi5wdXNoKGUuX1IodCYmdC5iaWZmPT0yPzE6MikpO3JldHVy +biBufWZ1bmN0aW9uIFN1KGUscix0KXt2YXIgYT1lW2UubCsxXSYyNTU/MTowO2UubCs9MjtyZXR1 +cm5bYSxlLl9SKHQmJnQuYmlmZj09Mj8xOjIpXX1mdW5jdGlvbiB4dShlLHIsdCl7dmFyIGE9ZVtl +LmwrMV0mMjU1PzE6MDtlLmwrPTI7cmV0dXJuW2EsZS5fUih0JiZ0LmJpZmY9PTI/MToyKV19ZnVu +Y3Rpb24gT3UoZSl7dmFyIHI9ZVtlLmwrMV0mMjU1PzE6MDtlLmwrPTI7cmV0dXJuW3IsZS5fUigy +KV19ZnVuY3Rpb24gSXUoZSxyLHQpe3ZhciBhPWVbZS5sKzFdJjI1NT8xOjA7ZS5sKz10JiZ0LmJp +ZmY9PTI/Mzo0O3JldHVyblthXX1mdW5jdGlvbiBSdShlKXt2YXIgcj1lLl9SKDEpLHQ9ZS5fUigx +KTtyZXR1cm5bcix0XX1mdW5jdGlvbiBOdShlKXtlLl9SKDIpO3JldHVybiBSdShlLDIpfWZ1bmN0 +aW9uIEZ1KGUpe2UuX1IoMik7cmV0dXJuIFJ1KGUsMil9ZnVuY3Rpb24gRHUoZSxyLHQpe3ZhciBh +PShlW2UubF0mOTYpPj41O2UubCs9MTt2YXIgbj12dShlLDAsdCk7cmV0dXJuW2Esbl19ZnVuY3Rp +b24gUHUoZSxyLHQpe3ZhciBhPShlW2UubF0mOTYpPj41O2UubCs9MTt2YXIgbj1ndShlLDAsdCk7 +cmV0dXJuW2Esbl19ZnVuY3Rpb24gTHUoZSxyLHQpe3ZhciBhPShlW2UubF0mOTYpPj41O2UubCs9 +MTt2YXIgbj1lLl9SKDIpO2lmKHQmJnQuYmlmZj09NSllLmwrPTEyO3ZhciBpPXZ1KGUsMCx0KTty +ZXR1cm5bYSxuLGldfWZ1bmN0aW9uIE11KGUscix0KXt2YXIgYT0oZVtlLmxdJjk2KT4+NTtlLmwr +PTE7dmFyIG49ZS5fUih0JiZ0LmJpZmY8PTM/MToyKTtyZXR1cm5baHZbbl0sY3Zbbl0sYV19ZnVu +Y3Rpb24gVXUoZSxyLHQpe3ZhciBhPWVbZS5sKytdO3ZhciBuPWUuX1IoMSksaT10JiZ0LmJpZmY8 +PTM/W2E9PTg4Py0xOjAsZS5fUigxKV06QnUoZSk7cmV0dXJuW24sKGlbMF09PT0wP2N2Om92KVtp +WzFdXV19ZnVuY3Rpb24gQnUoZSl7cmV0dXJuW2VbZS5sKzFdPj43LGUuX1IoMikmMzI3NjddfWZ1 +bmN0aW9uIFd1KGUscix0KXtlLmwrPXQmJnQuYmlmZj09Mj8zOjQ7cmV0dXJufWZ1bmN0aW9uIHp1 +KGUscix0KXtlLmwrKztpZih0JiZ0LmJpZmY9PTEyKXJldHVybltlLl9SKDQsImkiKSwwXTt2YXIg +YT1lLl9SKDIpO3ZhciBuPWUuX1IodCYmdC5iaWZmPT0yPzE6Mik7cmV0dXJuW2Esbl19ZnVuY3Rp +b24gSHUoZSl7ZS5sKys7cmV0dXJuIGNpW2UuX1IoMSldfWZ1bmN0aW9uIFZ1KGUpe2UubCsrO3Jl +dHVybiBlLl9SKDIpfWZ1bmN0aW9uICR1KGUpe2UubCsrO3JldHVybiBlLl9SKDEpIT09MH1mdW5j +dGlvbiBYdShlKXtlLmwrKztyZXR1cm4gUG4oZSw4KX1mdW5jdGlvbiBHdShlLHIsdCl7ZS5sKys7 +cmV0dXJuIENzKGUsci0xLHQpfWZ1bmN0aW9uIGp1KGUscil7dmFyIHQ9W2UuX1IoMSldO2lmKHI9 +PTEyKXN3aXRjaCh0WzBdKXtjYXNlIDI6dFswXT00O2JyZWFrO2Nhc2UgNDp0WzBdPTE2O2JyZWFr +O2Nhc2UgMDp0WzBdPTE7YnJlYWs7Y2FzZSAxOnRbMF09MjticmVhazt9c3dpdGNoKHRbMF0pe2Nh +c2UgNDp0WzFdPWJzKGUsMSk/IlRSVUUiOiJGQUxTRSI7aWYociE9MTIpZS5sKz03O2JyZWFrO2Nh +c2UgMzc6O2Nhc2UgMTY6dFsxXT1jaVtlW2UubF1dO2UubCs9cj09MTI/NDo4O2JyZWFrO2Nhc2Ug +MDplLmwrPTg7YnJlYWs7Y2FzZSAxOnRbMV09UG4oZSw4KTticmVhaztjYXNlIDI6dFsxXT1Jcyhl +LDAse2JpZmY6cj4wJiZyPDg/MjpyfSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkJh +ZCBTZXJBcjogIit0WzBdKTt9cmV0dXJuIHR9ZnVuY3Rpb24gS3UoZSxyLHQpe3ZhciBhPWUuX1Io +dC5iaWZmPT0xMj80OjIpO3ZhciBuPVtdO2Zvcih2YXIgaT0wO2khPWE7KytpKW4ucHVzaCgodC5i +aWZmPT0xMj9GbjpZcykoZSw4KSk7cmV0dXJuIG59ZnVuY3Rpb24gWXUoZSxyLHQpe3ZhciBhPTAs +bj0wO2lmKHQuYmlmZj09MTIpe2E9ZS5fUig0KTtuPWUuX1IoNCl9ZWxzZXtuPTErZS5fUigxKTth +PTErZS5fUigyKX1pZih0LmJpZmY+PTImJnQuYmlmZjw4KXstLWE7aWYoLS1uPT0wKW49MjU2fWZv +cih2YXIgaT0wLHM9W107aSE9YSYmKHNbaV09W10pOysraSlmb3IodmFyIGY9MDtmIT1uOysrZilz +W2ldW2ZdPWp1KGUsdC5iaWZmKTtyZXR1cm4gc31mdW5jdGlvbiBadShlLHIsdCl7dmFyIGE9ZS5f +UigxKT4+PjUmMzt2YXIgbj0hdHx8dC5iaWZmPj04PzQ6Mjt2YXIgaT1lLl9SKG4pO3N3aXRjaCh0 +LmJpZmYpe2Nhc2UgMjplLmwrPTU7YnJlYWs7Y2FzZSAzOjtjYXNlIDQ6ZS5sKz04O2JyZWFrO2Nh +c2UgNTplLmwrPTEyO2JyZWFrO31yZXR1cm5bYSwwLGldfWZ1bmN0aW9uIEp1KGUscix0KXtpZih0 +LmJpZmY9PTUpcmV0dXJuIHF1KGUscix0KTt2YXIgYT1lLl9SKDEpPj4+NSYzO3ZhciBuPWUuX1Io +Mik7dmFyIGk9ZS5fUig0KTtyZXR1cm5bYSxuLGldfWZ1bmN0aW9uIHF1KGUpe3ZhciByPWUuX1Io +MSk+Pj41JjM7dmFyIHQ9ZS5fUigyLCJpIik7ZS5sKz04O3ZhciBhPWUuX1IoMik7ZS5sKz0xMjty +ZXR1cm5bcix0LGFdfWZ1bmN0aW9uIFF1KGUscix0KXt2YXIgYT1lLl9SKDEpPj4+NSYzO2UubCs9 +dCYmdC5iaWZmPT0yPzM6NDt2YXIgbj1lLl9SKHQmJnQuYmlmZj09Mj8xOjIpO3JldHVyblthLG5d +fWZ1bmN0aW9uIGVkKGUscix0KXt2YXIgYT1lLl9SKDEpPj4+NSYzO3ZhciBuPWUuX1IodCYmdC5i +aWZmPT0yPzE6Mik7cmV0dXJuW2Esbl19ZnVuY3Rpb24gcmQoZSxyLHQpe3ZhciBhPWUuX1IoMSk+ +Pj41JjM7ZS5sKz00O2lmKHQuYmlmZjw4KWUubC0tO2lmKHQuYmlmZj09MTIpZS5sKz0yO3JldHVy +blthXX1mdW5jdGlvbiB0ZChlLHIsdCl7dmFyIGE9KGVbZS5sKytdJjk2KT4+NTt2YXIgbj1lLl9S +KDIpO3ZhciBpPTQ7aWYodClzd2l0Y2godC5iaWZmKXtjYXNlIDU6aT0xNTticmVhaztjYXNlIDEy +Omk9NjticmVhazt9ZS5sKz1pO3JldHVyblthLG5dfXZhciBhZD1JYTt2YXIgbmQ9SWE7dmFyIGlk +PUlhO2Z1bmN0aW9uIHNkKGUscix0KXtlLmwrPTI7cmV0dXJuW211KGUsNCx0KV19ZnVuY3Rpb24g +ZmQoZSl7ZS5sKz02O3JldHVybltdfXZhciBsZD1zZDt2YXIgb2Q9ZmQ7dmFyIGNkPWZkO3ZhciBo +ZD1zZDtmdW5jdGlvbiB1ZChlKXtlLmwrPTI7cmV0dXJuW2tzKGUpLGUuX1IoMikmMV19dmFyIGRk +PXNkO3ZhciB2ZD11ZDt2YXIgcGQ9ZmQ7dmFyIG1kPXNkO3ZhciBnZD1zZDt2YXIgYmQ9WyJEYXRh +IiwiQWxsIiwiSGVhZGVycyIsIj8/IiwiP0RhdGEyIiwiPz8iLCI/RGF0YUhlYWRlcnMiLCI/PyIs +IlRvdGFscyIsIj8/IiwiPz8iLCI/PyIsIj9EYXRhVG90YWxzIiwiPz8iLCI/PyIsIj8/IiwiP0N1 +cnJlbnQiXTtmdW5jdGlvbiB3ZChlKXtlLmwrPTI7dmFyIHI9ZS5fUigyKTt2YXIgdD1lLl9SKDIp +O3ZhciBhPWUuX1IoNCk7dmFyIG49ZS5fUigyKTt2YXIgaT1lLl9SKDIpO3ZhciBzPWJkW3Q+PjIm +MzFdO3JldHVybntpeHRpOnIsY29sdHlwZTp0JjMscnQ6cyxpZHg6YSxjOm4sQzppfX1mdW5jdGlv +biBrZChlKXtlLmwrPTI7cmV0dXJuW2UuX1IoNCldfWZ1bmN0aW9uIEFkKGUscix0KXtlLmwrPTU7 +ZS5sKz0yO2UubCs9dC5iaWZmPT0yPzE6NDtyZXR1cm5bIlBUR1NIRUVUIl19ZnVuY3Rpb24gVGQo +ZSxyLHQpe2UubCs9dC5iaWZmPT0yPzQ6NTtyZXR1cm5bIlBUR0VORFNIRUVUIl19ZnVuY3Rpb24g +eWQoZSl7dmFyIHI9ZS5fUigxKT4+PjUmMzt2YXIgdD1lLl9SKDIpO3JldHVybltyLHRdfWZ1bmN0 +aW9uIEVkKGUpe3ZhciByPWUuX1IoMSk+Pj41JjM7dmFyIHQ9ZS5fUigyKTtyZXR1cm5bcix0XX1m +dW5jdGlvbiBDZChlKXtlLmwrPTQ7cmV0dXJuWzAsMF19dmFyIF9kPXsxOntuOiJQdGdFeHAiLGY6 +enV9LDI6e246IlB0Z1RibCIsZjppZH0sMzp7bjoiUHRnQWRkIixmOm91fSw0OntuOiJQdGdTdWIi +LGY6b3V9LDU6e246IlB0Z011bCIsZjpvdX0sNjp7bjoiUHRnRGl2IixmOm91fSw3OntuOiJQdGdQ +b3dlciIsZjpvdX0sODp7bjoiUHRnQ29uY2F0IixmOm91fSw5OntuOiJQdGdMdCIsZjpvdX0sMTA6 +e246IlB0Z0xlIixmOm91fSwxMTp7bjoiUHRnRXEiLGY6b3V9LDEyOntuOiJQdGdHZSIsZjpvdX0s +MTM6e246IlB0Z0d0IixmOm91fSwxNDp7bjoiUHRnTmUiLGY6b3V9LDE1OntuOiJQdGdJc2VjdCIs +ZjpvdX0sMTY6e246IlB0Z1VuaW9uIixmOm91fSwxNzp7bjoiUHRnUmFuZ2UiLGY6b3V9LDE4Ontu +OiJQdGdVcGx1cyIsZjpvdX0sMTk6e246IlB0Z1VtaW51cyIsZjpvdX0sMjA6e246IlB0Z1BlcmNl +bnQiLGY6b3V9LDIxOntuOiJQdGdQYXJlbiIsZjpvdX0sMjI6e246IlB0Z01pc3NBcmciLGY6b3V9 +LDIzOntuOiJQdGdTdHIiLGY6R3V9LDI2OntuOiJQdGdTaGVldCIsZjpBZH0sMjc6e246IlB0Z0Vu +ZFNoZWV0IixmOlRkfSwyODp7bjoiUHRnRXJyIixmOkh1fSwyOTp7bjoiUHRnQm9vbCIsZjokdX0s +MzA6e246IlB0Z0ludCIsZjpWdX0sMzE6e246IlB0Z051bSIsZjpYdX0sMzI6e246IlB0Z0FycmF5 +IixmOkV1fSwzMzp7bjoiUHRnRnVuYyIsZjpNdX0sMzQ6e246IlB0Z0Z1bmNWYXIiLGY6VXV9LDM1 +OntuOiJQdGdOYW1lIixmOlp1fSwzNjp7bjoiUHRnUmVmIixmOkR1fSwzNzp7bjoiUHRnQXJlYSIs +Zjp3dX0sMzg6e246IlB0Z01lbUFyZWEiLGY6UXV9LDM5OntuOiJQdGdNZW1FcnIiLGY6YWR9LDQw +OntuOiJQdGdNZW1Ob01lbSIsZjpuZH0sNDE6e246IlB0Z01lbUZ1bmMiLGY6ZWR9LDQyOntuOiJQ +dGdSZWZFcnIiLGY6cmR9LDQzOntuOiJQdGdBcmVhRXJyIixmOkF1fSw0NDp7bjoiUHRnUmVmTiIs +ZjpQdX0sNDU6e246IlB0Z0FyZWFOIixmOnl1fSw0Njp7bjoiUHRnTWVtQXJlYU4iLGY6eWR9LDQ3 +OntuOiJQdGdNZW1Ob01lbU4iLGY6RWR9LDU3OntuOiJQdGdOYW1lWCIsZjpKdX0sNTg6e246IlB0 +Z1JlZjNkIixmOkx1fSw1OTp7bjoiUHRnQXJlYTNkIixmOmt1fSw2MDp7bjoiUHRnUmVmRXJyM2Qi +LGY6dGR9LDYxOntuOiJQdGdBcmVhRXJyM2QiLGY6VHV9LDI1NTp7fX07dmFyIFNkPXs2NDozMiw5 +NjozMiw2NTozMyw5NzozMyw2NjozNCw5ODozNCw2NzozNSw5OTozNSw2ODozNiwxMDA6MzYsNjk6 +MzcsMTAxOjM3LDcwOjM4LDEwMjozOCw3MTozOSwxMDM6MzksNzI6NDAsMTA0OjQwLDczOjQxLDEw +NTo0MSw3NDo0MiwxMDY6NDIsNzU6NDMsMTA3OjQzLDc2OjQ0LDEwODo0NCw3Nzo0NSwxMDk6NDUs +Nzg6NDYsMTEwOjQ2LDc5OjQ3LDExMTo0Nyw4ODozNCwxMjA6MzQsODk6NTcsMTIxOjU3LDkwOjU4 +LDEyMjo1OCw5MTo1OSwxMjM6NTksOTI6NjAsMTI0OjYwLDkzOjYxLDEyNTo2MX07dmFyIHhkPXsx +OntuOiJQdGdFbGZMZWwiLGY6dWR9LDI6e246IlB0Z0VsZlJ3IixmOm1kfSwzOntuOiJQdGdFbGZD +b2wiLGY6bGR9LDY6e246IlB0Z0VsZlJ3ViIsZjpnZH0sNzp7bjoiUHRnRWxmQ29sViIsZjpoZH0s +MTA6e246IlB0Z0VsZlJhZGljYWwiLGY6ZGR9LDExOntuOiJQdGdFbGZSYWRpY2FsUyIsZjpwZH0s +MTM6e246IlB0Z0VsZkNvbFMiLGY6b2R9LDE1OntuOiJQdGdFbGZDb2xTViIsZjpjZH0sMTY6e246 +IlB0Z0VsZlJhZGljYWxMZWwiLGY6dmR9LDI1OntuOiJQdGdMaXN0IixmOndkfSwyOTp7bjoiUHRn +U3hOYW1lIixmOmtkfSwyNTU6e319O3ZhciBPZD17MDp7bjoiUHRnQXR0ck5vb3AiLGY6Q2R9LDE6 +e246IlB0Z0F0dHJTZW1pIixmOkl1fSwyOntuOiJQdGdBdHRySWYiLGY6eHV9LDQ6e246IlB0Z0F0 +dHJDaG9vc2UiLGY6X3V9LDg6e246IlB0Z0F0dHJHb3RvIixmOlN1fSwxNjp7bjoiUHRnQXR0clN1 +bSIsZjpXdX0sMzI6e246IlB0Z0F0dHJCYXhjZWwiLGY6Q3V9LDMzOntuOiJQdGdBdHRyQmF4Y2Vs +IixmOkN1fSw2NDp7bjoiUHRnQXR0clNwYWNlIixmOk51fSw2NTp7bjoiUHRnQXR0clNwYWNlU2Vt +aSIsZjpGdX0sMTI4OntuOiJQdGdBdHRySWZFcnJvciIsZjpPdX0sMjU1Ont9fTtmdW5jdGlvbiBJ +ZChlLHIsdCxhKXtpZihhLmJpZmY8OClyZXR1cm4gSWEoZSxyKTt2YXIgbj1lLmwrcjt2YXIgaT1b +XTtmb3IodmFyIHM9MDtzIT09dC5sZW5ndGg7KytzKXtzd2l0Y2godFtzXVswXSl7Y2FzZSJQdGdB +cnJheSI6dFtzXVsxXT1ZdShlLDAsYSk7aS5wdXNoKHRbc11bMV0pO2JyZWFrO2Nhc2UiUHRnTWVt +QXJlYSI6dFtzXVsyXT1LdShlLHRbc11bMV0sYSk7aS5wdXNoKHRbc11bMl0pO2JyZWFrO2Nhc2Ui +UHRnRXhwIjppZihhJiZhLmJpZmY9PTEyKXt0W3NdWzFdWzFdPWUuX1IoNCk7aS5wdXNoKHRbc11b +MV0pfWJyZWFrO2Nhc2UiUHRnTGlzdCI6O2Nhc2UiUHRnRWxmUmFkaWNhbFMiOjtjYXNlIlB0Z0Vs +ZkNvbFMiOjtjYXNlIlB0Z0VsZkNvbFNWIjp0aHJvdyJVbnN1cHBvcnRlZCAiK3Rbc11bMF07ZGVm +YXVsdDpicmVhazt9fXI9bi1lLmw7aWYociE9PTApaS5wdXNoKElhKGUscikpO3JldHVybiBpfWZ1 +bmN0aW9uIFJkKGUscix0KXt2YXIgYT1lLmwrcjt2YXIgbixpLHM9W107d2hpbGUoYSE9ZS5sKXty +PWEtZS5sO2k9ZVtlLmxdO249X2RbaV18fF9kW1NkW2ldXTtpZihpPT09MjR8fGk9PT0yNSluPShp +PT09MjQ/eGQ6T2QpW2VbZS5sKzFdXTtpZighbnx8IW4uZil7SWEoZSxyKX1lbHNle3MucHVzaChb +bi5uLG4uZihlLHIsdCldKX19cmV0dXJuIHN9ZnVuY3Rpb24gTmQoZSl7dmFyIHI9W107Zm9yKHZh +ciB0PTA7dDxlLmxlbmd0aDsrK3Qpe3ZhciBhPWVbdF0sbj1bXTtmb3IodmFyIGk9MDtpPGEubGVu +Z3RoOysraSl7dmFyIHM9YVtpXTtpZihzKXN3aXRjaChzWzBdKXtjYXNlIDI6bi5wdXNoKCciJytz +WzFdLnJlcGxhY2UoLyIvZywnIiInKSsnIicpO2JyZWFrO2RlZmF1bHQ6bi5wdXNoKHNbMV0pO31l +bHNlIG4ucHVzaCgiIil9ci5wdXNoKG4uam9pbigiLCIpKX1yZXR1cm4gci5qb2luKCI7Iil9dmFy +IEZkPXtQdGdBZGQ6IisiLFB0Z0NvbmNhdDoiJiIsUHRnRGl2OiIvIixQdGdFcToiPSIsUHRnR2U6 +Ij49IixQdGdHdDoiPiIsUHRnTGU6Ijw9IixQdGdMdDoiPCIsUHRnTXVsOiIqIixQdGdOZToiPD4i +LFB0Z1Bvd2VyOiJeIixQdGdTdWI6Ii0ifTtmdW5jdGlvbiBEZChlLHIpe3ZhciB0PWUubGFzdElu +ZGV4T2YoIiEiKSxhPXIubGFzdEluZGV4T2YoIiEiKTtpZih0PT0tMSYmYT09LTEpcmV0dXJuIGUr +IjoiK3I7aWYodD4wJiZhPjAmJmUuc2xpY2UoMCx0KS50b0xvd2VyQ2FzZSgpPT1yLnNsaWNlKDAs +YSkudG9Mb3dlckNhc2UoKSlyZXR1cm4gZSsiOiIrci5zbGljZShhKzEpO2NvbnNvbGUuZXJyb3Io +IkNhbm5vdCBoeWRyYXRlIHJhbmdlIixlLHIpO3JldHVybiBlKyI6IityfWZ1bmN0aW9uIFBkKGUs +cix0KXtpZighZSlyZXR1cm4iU0gzM1RKU0VSUjAiO2lmKHQuYmlmZj44JiYoIWUuWFRJfHwhZS5Y +VElbcl0pKXJldHVybiBlLlNoZWV0TmFtZXNbcl07aWYoIWUuWFRJKXJldHVybiJTSDMzVEpTRVJS +NiI7dmFyIGE9ZS5YVElbcl07aWYodC5iaWZmPDgpe2lmKHI+MWU0KXItPTY1NTM2O2lmKHI8MCly +PS1yO3JldHVybiByPT0wPyIiOmUuWFRJW3ItMV19aWYoIWEpcmV0dXJuIlNIMzNUSlNFUlIxIjt2 +YXIgbj0iIjtpZih0LmJpZmY+OClzd2l0Y2goZVthWzBdXVswXSl7Y2FzZSAzNTc6bj1hWzFdPT0t +MT8iI1JFRiI6ZS5TaGVldE5hbWVzW2FbMV1dO3JldHVybiBhWzFdPT1hWzJdP246bisiOiIrZS5T +aGVldE5hbWVzW2FbMl1dO2Nhc2UgMzU4OmlmKHQuU0lEIT1udWxsKXJldHVybiBlLlNoZWV0TmFt +ZXNbdC5TSURdO3JldHVybiJTSDMzVEpTU0FNRSIrZVthWzBdXVswXTtjYXNlIDM1NTo7ZGVmYXVs +dDpyZXR1cm4iU0gzM1RKU1NSQyIrZVthWzBdXVswXTt9c3dpdGNoKGVbYVswXV1bMF1bMF0pe2Nh +c2UgMTAyNTpuPWFbMV09PS0xPyIjUkVGIjplLlNoZWV0TmFtZXNbYVsxXV18fCJTSDMzVEpTRVJS +MyI7cmV0dXJuIGFbMV09PWFbMl0/bjpuKyI6IitlLlNoZWV0TmFtZXNbYVsyXV07Y2FzZSAxNDg0 +OTpyZXR1cm4gZVthWzBdXS5zbGljZSgxKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUuTmFtZX0p +LmpvaW4oIjs7Iik7ZGVmYXVsdDppZighZVthWzBdXVswXVszXSlyZXR1cm4iU0gzM1RKU0VSUjIi +O249YVsxXT09LTE/IiNSRUYiOmVbYVswXV1bMF1bM11bYVsxXV18fCJTSDMzVEpTRVJSNCI7cmV0 +dXJuIGFbMV09PWFbMl0/bjpuKyI6IitlW2FbMF1dWzBdWzNdW2FbMl1dO319ZnVuY3Rpb24gTGQo +ZSxyLHQpe3ZhciBhPVBkKGUscix0KTtyZXR1cm4gYT09IiNSRUYiP2E6UWEoYSx0KX1mdW5jdGlv +biBNZChlLHIsdCxhLG4pe3ZhciBpPW4mJm4uYmlmZnx8ODt2YXIgcz17czp7YzowLHI6MH0sZTp7 +YzowLHI6MH19O3ZhciBmPVtdLGwsbyxjLGg9MCx1PTAsZCx2PSIiO2lmKCFlWzBdfHwhZVswXVsw +XSlyZXR1cm4iIjt2YXIgcD0tMSxtPSIiO2Zvcih2YXIgZz0wLGI9ZVswXS5sZW5ndGg7ZzxiOysr +Zyl7dmFyIHc9ZVswXVtnXTtzd2l0Y2god1swXSl7Y2FzZSJQdGdVbWludXMiOmYucHVzaCgiLSIr +Zi5wb3AoKSk7YnJlYWs7Y2FzZSJQdGdVcGx1cyI6Zi5wdXNoKCIrIitmLnBvcCgpKTticmVhaztj +YXNlIlB0Z1BlcmNlbnQiOmYucHVzaChmLnBvcCgpKyIlIik7YnJlYWs7Y2FzZSJQdGdBZGQiOjtj +YXNlIlB0Z0NvbmNhdCI6O2Nhc2UiUHRnRGl2Ijo7Y2FzZSJQdGdFcSI6O2Nhc2UiUHRnR2UiOjtj +YXNlIlB0Z0d0Ijo7Y2FzZSJQdGdMZSI6O2Nhc2UiUHRnTHQiOjtjYXNlIlB0Z011bCI6O2Nhc2Ui +UHRnTmUiOjtjYXNlIlB0Z1Bvd2VyIjo7Y2FzZSJQdGdTdWIiOmw9Zi5wb3AoKTtvPWYucG9wKCk7 +aWYocD49MCl7c3dpdGNoKGVbMF1bcF1bMV1bMF0pe2Nhc2UgMDptPVRyKCIgIixlWzBdW3BdWzFd +WzFdKTticmVhaztjYXNlIDE6bT1UcigiXHIiLGVbMF1bcF1bMV1bMV0pO2JyZWFrO2RlZmF1bHQ6 +bT0iIjtpZihuLldURil0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgUHRnQXR0clNwYWNlVHlw +ZSAiK2VbMF1bcF1bMV1bMF0pO31vPW8rbTtwPS0xfWYucHVzaChvK0ZkW3dbMF1dK2wpO2JyZWFr +O2Nhc2UiUHRnSXNlY3QiOmw9Zi5wb3AoKTtvPWYucG9wKCk7Zi5wdXNoKG8rIiAiK2wpO2JyZWFr +O2Nhc2UiUHRnVW5pb24iOmw9Zi5wb3AoKTtvPWYucG9wKCk7Zi5wdXNoKG8rIiwiK2wpO2JyZWFr +O2Nhc2UiUHRnUmFuZ2UiOmw9Zi5wb3AoKTtvPWYucG9wKCk7Zi5wdXNoKERkKG8sbCkpO2JyZWFr +O2Nhc2UiUHRnQXR0ckNob29zZSI6YnJlYWs7Y2FzZSJQdGdBdHRyR290byI6YnJlYWs7Y2FzZSJQ +dGdBdHRySWYiOmJyZWFrO2Nhc2UiUHRnQXR0cklmRXJyb3IiOmJyZWFrO2Nhc2UiUHRnUmVmIjpj +PVBhKHdbMV1bMV0scyxuKTtmLnB1c2goTWEoYyxpKSk7YnJlYWs7Y2FzZSJQdGdSZWZOIjpjPXQ/ +UGEod1sxXVsxXSx0LG4pOndbMV1bMV07Zi5wdXNoKE1hKGMsaSkpO2JyZWFrO2Nhc2UiUHRnUmVm +M2QiOmg9d1sxXVsxXTtjPVBhKHdbMV1bMl0scyxuKTt2PUxkKGEsaCxuKTt2YXIgaz12O2YucHVz +aCh2KyIhIitNYShjLGkpKTticmVhaztjYXNlIlB0Z0Z1bmMiOjtjYXNlIlB0Z0Z1bmNWYXIiOnZh +ciBBPXdbMV1bMF0sVD13WzFdWzFdO2lmKCFBKUE9MDtBJj0xMjc7dmFyIHk9QT09MD9bXTpmLnNs +aWNlKC1BKTtmLmxlbmd0aC09QTtpZihUPT09IlVzZXIiKVQ9eS5zaGlmdCgpO2YucHVzaChUKyIo +Iit5LmpvaW4oIiwiKSsiKSIpO2JyZWFrO2Nhc2UiUHRnQm9vbCI6Zi5wdXNoKHdbMV0/IlRSVUUi +OiJGQUxTRSIpO2JyZWFrO2Nhc2UiUHRnSW50IjpmLnB1c2god1sxXSk7YnJlYWs7Y2FzZSJQdGdO +dW0iOmYucHVzaChTdHJpbmcod1sxXSkpO2JyZWFrO2Nhc2UiUHRnU3RyIjpmLnB1c2goJyInK3db +MV0ucmVwbGFjZSgvIi9nLCciIicpKyciJyk7YnJlYWs7Y2FzZSJQdGdFcnIiOmYucHVzaCh3WzFd +KTticmVhaztjYXNlIlB0Z0FyZWFOIjpkPUxhKHdbMV1bMV0sdD97czp0fTpzLG4pO2YucHVzaChV +YShkLG4pKTticmVhaztjYXNlIlB0Z0FyZWEiOmQ9TGEod1sxXVsxXSxzLG4pO2YucHVzaChVYShk +LG4pKTticmVhaztjYXNlIlB0Z0FyZWEzZCI6aD13WzFdWzFdO2Q9d1sxXVsyXTt2PUxkKGEsaCxu +KTtmLnB1c2godisiISIrVWEoZCxuKSk7YnJlYWs7Y2FzZSJQdGdBdHRyU3VtIjpmLnB1c2goIlNV +TSgiK2YucG9wKCkrIikiKTticmVhaztjYXNlIlB0Z0F0dHJCYXhjZWwiOjtjYXNlIlB0Z0F0dHJT +ZW1pIjpicmVhaztjYXNlIlB0Z05hbWUiOnU9d1sxXVsyXTt2YXIgRT0oYS5uYW1lc3x8W10pW3Ut +MV18fChhWzBdfHxbXSlbdV07dmFyIEM9RT9FLk5hbWU6IlNIMzNUSlNOQU1FIitTdHJpbmcodSk7 +aWYoQyYmQy5zbGljZSgwLDYpPT0iX3hsZm4uIiYmIW4ueGxmbilDPUMuc2xpY2UoNik7Zi5wdXNo +KEMpO2JyZWFrO2Nhc2UiUHRnTmFtZVgiOnZhciBfPXdbMV1bMV07dT13WzFdWzJdO3ZhciBTO2lm +KG4uYmlmZjw9NSl7aWYoXzwwKV89LV87aWYoYVtfXSlTPWFbX11bdV19ZWxzZXt2YXIgeD0iIjtp +ZigoKGFbX118fFtdKVswXXx8W10pWzBdPT0xNDg0OSl7fWVsc2UgaWYoKChhW19dfHxbXSlbMF18 +fFtdKVswXT09MTAyNSl7aWYoYVtfXVt1XSYmYVtfXVt1XS5pdGFiPjApe3g9YS5TaGVldE5hbWVz +W2FbX11bdV0uaXRhYi0xXSsiISJ9fWVsc2UgeD1hLlNoZWV0TmFtZXNbdS0xXSsiISI7aWYoYVtf +XSYmYVtfXVt1XSl4Kz1hW19dW3VdLk5hbWU7ZWxzZSBpZihhWzBdJiZhWzBdW3VdKXgrPWFbMF1b +dV0uTmFtZTtlbHNle3ZhciBPPShQZChhLF8sbil8fCIiKS5zcGxpdCgiOzsiKTtpZihPW3UtMV0p +eD1PW3UtMV07ZWxzZSB4Kz0iU0gzM1RKU0VSUlgifWYucHVzaCh4KTticmVha31pZighUylTPXtO +YW1lOiJTSDMzVEpTRVJSWSJ9O2YucHVzaChTLk5hbWUpO2JyZWFrO2Nhc2UiUHRnUGFyZW4iOnZh +ciBJPSIoIixSPSIpIjtpZihwPj0wKXttPSIiO3N3aXRjaChlWzBdW3BdWzFdWzBdKXtjYXNlIDI6 +ST1UcigiICIsZVswXVtwXVsxXVsxXSkrSTticmVhaztjYXNlIDM6ST1UcigiXHIiLGVbMF1bcF1b +MV1bMV0pK0k7YnJlYWs7Y2FzZSA0OlI9VHIoIiAiLGVbMF1bcF1bMV1bMV0pK1I7YnJlYWs7Y2Fz +ZSA1OlI9VHIoIlxyIixlWzBdW3BdWzFdWzFdKStSO2JyZWFrO2RlZmF1bHQ6aWYobi5XVEYpdGhy +b3cgbmV3IEVycm9yKCJVbmV4cGVjdGVkIFB0Z0F0dHJTcGFjZVR5cGUgIitlWzBdW3BdWzFdWzBd +KTt9cD0tMX1mLnB1c2goSStmLnBvcCgpK1IpO2JyZWFrO2Nhc2UiUHRnUmVmRXJyIjpmLnB1c2go +IiNSRUYhIik7YnJlYWs7Y2FzZSJQdGdSZWZFcnIzZCI6Zi5wdXNoKCIjUkVGISIpO2JyZWFrO2Nh +c2UiUHRnRXhwIjpjPXtjOndbMV1bMV0scjp3WzFdWzBdfTt2YXIgTj17Yzp0LmMscjp0LnJ9O2lm +KGEuc2hhcmVkZltZYShjKV0pe3ZhciBGPWEuc2hhcmVkZltZYShjKV07Zi5wdXNoKE1kKEYscyxO +LGEsbikpfWVsc2V7dmFyIEQ9ZmFsc2U7Zm9yKGw9MDtsIT1hLmFycmF5Zi5sZW5ndGg7KytsKXtv +PWEuYXJyYXlmW2xdO2lmKGMuYzxvWzBdLnMuY3x8Yy5jPm9bMF0uZS5jKWNvbnRpbnVlO2lmKGMu +cjxvWzBdLnMucnx8Yy5yPm9bMF0uZS5yKWNvbnRpbnVlO2YucHVzaChNZChvWzFdLHMsTixhLG4p +KTtEPXRydWU7YnJlYWt9aWYoIUQpZi5wdXNoKHdbMV0pfWJyZWFrO2Nhc2UiUHRnQXJyYXkiOmYu +cHVzaCgieyIrTmQod1sxXSkrIn0iKTticmVhaztjYXNlIlB0Z01lbUFyZWEiOmJyZWFrO2Nhc2Ui +UHRnQXR0clNwYWNlIjo7Y2FzZSJQdGdBdHRyU3BhY2VTZW1pIjpwPWc7YnJlYWs7Y2FzZSJQdGdU +YmwiOmJyZWFrO2Nhc2UiUHRnTWVtRXJyIjpicmVhaztjYXNlIlB0Z01pc3NBcmciOmYucHVzaCgi +Iik7YnJlYWs7Y2FzZSJQdGdBcmVhRXJyIjpmLnB1c2goIiNSRUYhIik7YnJlYWs7Y2FzZSJQdGdB +cmVhRXJyM2QiOmYucHVzaCgiI1JFRiEiKTticmVhaztjYXNlIlB0Z0xpc3QiOmYucHVzaCgiVGFi +bGUiK3dbMV0uaWR4KyJbIyIrd1sxXS5ydCsiXSIpO2JyZWFrO2Nhc2UiUHRnTWVtQXJlYU4iOjtj +YXNlIlB0Z01lbU5vTWVtTiI6O2Nhc2UiUHRnQXR0ck5vb3AiOjtjYXNlIlB0Z1NoZWV0Ijo7Y2Fz +ZSJQdGdFbmRTaGVldCI6YnJlYWs7Y2FzZSJQdGdNZW1GdW5jIjpicmVhaztjYXNlIlB0Z01lbU5v +TWVtIjpicmVhaztjYXNlIlB0Z0VsZkNvbCI6O2Nhc2UiUHRnRWxmQ29sUyI6O2Nhc2UiUHRnRWxm +Q29sU1YiOjtjYXNlIlB0Z0VsZkNvbFYiOjtjYXNlIlB0Z0VsZkxlbCI6O2Nhc2UiUHRnRWxmUmFk +aWNhbCI6O2Nhc2UiUHRnRWxmUmFkaWNhbExlbCI6O2Nhc2UiUHRnRWxmUmFkaWNhbFMiOjtjYXNl +IlB0Z0VsZlJ3Ijo7Y2FzZSJQdGdFbGZSd1YiOnRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQg +RUxGcyIpO2Nhc2UiUHRnU3hOYW1lIjp0aHJvdyBuZXcgRXJyb3IoIlVucmVjb2duaXplZCBGb3Jt +dWxhIFRva2VuOiAiK1N0cmluZyh3KSk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVucmVjb2du +aXplZCBGb3JtdWxhIFRva2VuOiAiK1N0cmluZyh3KSk7fXZhciBQPVsiUHRnQXR0clNwYWNlIiwi +UHRnQXR0clNwYWNlU2VtaSIsIlB0Z0F0dHJHb3RvIl07aWYobi5iaWZmIT0zKWlmKHA+PTAmJlAu +aW5kZXhPZihlWzBdW2ddWzBdKT09LTEpe3c9ZVswXVtwXTt2YXIgTD10cnVlO3N3aXRjaCh3WzFd +WzBdKXtjYXNlIDQ6TD1mYWxzZTtjYXNlIDA6bT1UcigiICIsd1sxXVsxXSk7YnJlYWs7Y2FzZSA1 +Okw9ZmFsc2U7Y2FzZSAxOm09VHIoIlxyIix3WzFdWzFdKTticmVhaztkZWZhdWx0Om09IiI7aWYo +bi5XVEYpdGhyb3cgbmV3IEVycm9yKCJVbmV4cGVjdGVkIFB0Z0F0dHJTcGFjZVR5cGUgIit3WzFd +WzBdKTt9Zi5wdXNoKChMP206IiIpK2YucG9wKCkrKEw/IiI6bSkpO3A9LTF9fWlmKGYubGVuZ3Ro +PjEmJm4uV1RGKXRocm93IG5ldyBFcnJvcigiYmFkIGZvcm11bGEgc3RhY2siKTtpZihmWzBdPT0i +VFJVRSIpcmV0dXJuIHRydWU7aWYoZlswXT09IkZBTFNFIilyZXR1cm4gZmFsc2U7cmV0dXJuIGZb +MF19ZnVuY3Rpb24gVWQoZSxyLHQpe3ZhciBhPWUubCtyLG49dC5iaWZmPT0yPzE6Mjt2YXIgaSxz +PWUuX1Iobik7aWYocz09NjU1MzUpcmV0dXJuW1tdLElhKGUsci0yKV07dmFyIGY9UmQoZSxzLHQp +O2lmKHIhPT1zK24paT1JZChlLHItcy1uLGYsdCk7ZS5sPWE7cmV0dXJuW2YsaV19ZnVuY3Rpb24g +QmQoZSxyLHQpe3ZhciBhPWUubCtyLG49dC5iaWZmPT0yPzE6Mjt2YXIgaSxzPWUuX1Iobik7aWYo +cz09NjU1MzUpcmV0dXJuW1tdLElhKGUsci0yKV07dmFyIGY9UmQoZSxzLHQpO2lmKHIhPT1zK24p +aT1JZChlLHItcy1uLGYsdCk7ZS5sPWE7cmV0dXJuW2YsaV19ZnVuY3Rpb24gV2QoZSxyLHQsYSl7 +dmFyIG49ZS5sK3I7dmFyIGk9UmQoZSxhLHQpO3ZhciBzO2lmKG4hPT1lLmwpcz1JZChlLG4tZS5s +LGksdCk7cmV0dXJuW2ksc119ZnVuY3Rpb24gemQoZSxyLHQpe3ZhciBhPWUubCtyO3ZhciBuLGk9 +ZS5fUigyKTt2YXIgcz1SZChlLGksdCk7aWYoaT09NjU1MzUpcmV0dXJuW1tdLElhKGUsci0yKV07 +aWYociE9PWkrMiluPUlkKGUsYS1pLTIscyx0KTtyZXR1cm5bcyxuXX1mdW5jdGlvbiBIZChlKXt2 +YXIgcjtpZihiYShlLGUubCs2KSE9PTY1NTM1KXJldHVybltQbihlKSwibiJdO3N3aXRjaChlW2Uu +bF0pe2Nhc2UgMDplLmwrPTg7cmV0dXJuWyJTdHJpbmciLCJzIl07Y2FzZSAxOnI9ZVtlLmwrMl09 +PT0xO2UubCs9ODtyZXR1cm5bciwiYiJdO2Nhc2UgMjpyPWVbZS5sKzJdO2UubCs9ODtyZXR1cm5b +ciwiZSJdO2Nhc2UgMzplLmwrPTg7cmV0dXJuWyIiLCJzIl07fXJldHVybltdfWZ1bmN0aW9uIFZk +KGUpe2lmKGU9PW51bGwpe3ZhciByPVJhKDgpO3IuX1coMSwzKTtyLl9XKDEsMCk7ci5fVygyLDAp +O3IuX1coMiwwKTtyLl9XKDIsNjU1MzUpO3JldHVybiByfWVsc2UgaWYodHlwZW9mIGU9PSJudW1i +ZXIiKXJldHVybiBMbihlKTtyZXR1cm4gTG4oMCl9ZnVuY3Rpb24gJGQoZSxyLHQpe3ZhciBhPWUu +bCtyO3ZhciBuPUhzKGUsNix0KTt2YXIgaT1IZChlLDgpO3ZhciBzPWUuX1IoMSk7aWYodC5iaWZm +IT0yKXtlLl9SKDEpO2lmKHQuYmlmZj49NSl7ZS5fUig0KX19dmFyIGY9QmQoZSxhLWUubCx0KTty +ZXR1cm57Y2VsbDpuLHZhbDppWzBdLGZvcm11bGE6ZixzaGFyZWQ6cz4+MyYxLHR0OmlbMV19fWZ1 +bmN0aW9uIFhkKGUscix0LGEsbil7dmFyIGk9VnMocix0LG4pO3ZhciBzPVZkKGUudik7dmFyIGY9 +UmEoNik7dmFyIGw9MXwzMjtmLl9XKDIsbCk7Zi5fVyg0LDApO3ZhciBvPVJhKGUuYmYubGVuZ3Ro +KTtmb3IodmFyIGM9MDtjPGUuYmYubGVuZ3RoOysrYylvW2NdPWUuYmZbY107dmFyIGg9UChbaSxz +LGYsb10pO3JldHVybiBofWZ1bmN0aW9uIEdkKGUscix0KXt2YXIgYT1lLl9SKDQpO3ZhciBuPVJk +KGUsYSx0KTt2YXIgaT1lLl9SKDQpO3ZhciBzPWk+MD9JZChlLGksbix0KTpudWxsO3JldHVybltu +LHNdfXZhciBqZD1HZDt2YXIgS2Q9R2Q7dmFyIFlkPUdkO3ZhciBaZD1HZDtmdW5jdGlvbiBKZChl +KXtpZigoZXwwKT09ZSYmZTxNYXRoLnBvdygyLDE2KSYmZT49MCl7dmFyIHI9UmEoMTEpO3IuX1co +NCwzKTtyLl9XKDEsMzApO3IuX1coMixlKTtyLl9XKDQsMCk7cmV0dXJuIHJ9dmFyIHQ9UmEoMTcp +O3QuX1coNCwxMSk7dC5fVygxLDMxKTt0Ll9XKDgsZSk7dC5fVyg0LDApO3JldHVybiB0fWZ1bmN0 +aW9uIHFkKGUpe3ZhciByPVJhKDEwKTtyLl9XKDQsMik7ci5fVygxLDI4KTtyLl9XKDEsZSk7ci5f +Vyg0LDApO3JldHVybiByfWZ1bmN0aW9uIFFkKGUpe3ZhciByPVJhKDEwKTtyLl9XKDQsMik7ci5f +VygxLDI5KTtyLl9XKDEsZT8xOjApO3IuX1coNCwwKTtyZXR1cm4gcn1mdW5jdGlvbiBldihlKXt2 +YXIgcj1SYSg3KTtyLl9XKDQsMysyKmUubGVuZ3RoKTtyLl9XKDEsMjMpO3IuX1coMixlLmxlbmd0 +aCk7dmFyIHQ9UmEoMiplLmxlbmd0aCk7dC5fVygyKmUubGVuZ3RoLGUsInV0ZjE2bGUiKTt2YXIg +YT1SYSg0KTthLl9XKDQsMCk7cmV0dXJuIFAoW3IsdCxhXSl9ZnVuY3Rpb24gcnYoZSl7dmFyIHI9 +S2EoZSk7dmFyIHQ9UmEoMTUpO3QuX1coNCw3KTt0Ll9XKDEsNHwxPDw1KTt0Ll9XKDQsci5yKTt0 +Ll9XKDIsci5jfChlLmNoYXJBdCgwKT09IiQiPzA6MSk8PDE0fChlLm1hdGNoKC9cJFxkLyk/MDox +KTw8MTUpO3QuX1coNCwwKTtyZXR1cm4gdH1mdW5jdGlvbiB0dihlLHIpe3ZhciB0PWUubGFzdElu +ZGV4T2YoIiEiKTt2YXIgYT1lLnNsaWNlKDAsdCk7ZT1lLnNsaWNlKHQrMSk7dmFyIG49S2EoZSk7 +aWYoYS5jaGFyQXQoMCk9PSInIilhPWEuc2xpY2UoMSwtMSkucmVwbGFjZSgvJycvZywiJyIpO3Zh +ciBpPVJhKDE3KTtpLl9XKDQsOSk7aS5fVygxLDI2fDE8PDUpO2kuX1coMiwyK3IuU2hlZXROYW1l +cy5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUudG9Mb3dlckNhc2UoKX0pLmluZGV4T2YoYS50b0xv +d2VyQ2FzZSgpKSk7aS5fVyg0LG4ucik7aS5fVygyLG4uY3woZS5jaGFyQXQoMCk9PSIkIj8wOjEp +PDwxNHwoZS5tYXRjaCgvXCRcZC8pPzA6MSk8PDE1KTtpLl9XKDQsMCk7cmV0dXJuIGl9ZnVuY3Rp +b24gYXYoZSxyKXt2YXIgdD1lLmxhc3RJbmRleE9mKCIhIik7dmFyIGE9ZS5zbGljZSgwLHQpO2U9 +ZS5zbGljZSh0KzEpO2lmKGEuY2hhckF0KDApPT0iJyIpYT1hLnNsaWNlKDEsLTEpLnJlcGxhY2Uo +LycnL2csIiciKTt2YXIgbj1SYSgxNyk7bi5fVyg0LDkpO24uX1coMSwyOHwxPDw1KTtuLl9XKDIs +MityLlNoZWV0TmFtZXMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRvTG93ZXJDYXNlKCl9KS5p +bmRleE9mKGEudG9Mb3dlckNhc2UoKSkpO24uX1coNCwwKTtuLl9XKDIsMCk7bi5fVyg0LDApO3Jl +dHVybiBufWZ1bmN0aW9uIG52KGUpe3ZhciByPWUuc3BsaXQoIjoiKSx0PXJbMF07dmFyIGE9UmEo +MjMpO2EuX1coNCwxNSk7dD1yWzBdO3ZhciBuPUthKHQpO2EuX1coMSw0fDE8PDUpO2EuX1coNCxu +LnIpO2EuX1coMixuLmN8KHQuY2hhckF0KDApPT0iJCI/MDoxKTw8MTR8KHQubWF0Y2goL1wkXGQv +KT8wOjEpPDwxNSk7YS5fVyg0LDApO3Q9clsxXTtuPUthKHQpO2EuX1coMSw0fDE8PDUpO2EuX1co +NCxuLnIpO2EuX1coMixuLmN8KHQuY2hhckF0KDApPT0iJCI/MDoxKTw8MTR8KHQubWF0Y2goL1wk +XGQvKT8wOjEpPDwxNSk7YS5fVyg0LDApO2EuX1coMSwxNyk7YS5fVyg0LDApO3JldHVybiBhfWZ1 +bmN0aW9uIGl2KGUscil7dmFyIHQ9ZS5sYXN0SW5kZXhPZigiISIpO3ZhciBhPWUuc2xpY2UoMCx0 +KTtlPWUuc2xpY2UodCsxKTtpZihhLmNoYXJBdCgwKT09IiciKWE9YS5zbGljZSgxLC0xKS5yZXBs +YWNlKC8nJy9nLCInIik7dmFyIG49ZS5zcGxpdCgiOiIpO3ZhciBpPVJhKDI3KTtpLl9XKDQsMTkp +O3ZhciBzPW5bMF0sZj1LYShzKTtpLl9XKDEsMjZ8MTw8NSk7aS5fVygyLDIrci5TaGVldE5hbWVz +Lm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS50b0xvd2VyQ2FzZSgpfSkuaW5kZXhPZihhLnRvTG93 +ZXJDYXNlKCkpKTtpLl9XKDQsZi5yKTtpLl9XKDIsZi5jfChzLmNoYXJBdCgwKT09IiQiPzA6MSk8 +PDE0fChzLm1hdGNoKC9cJFxkLyk/MDoxKTw8MTUpO3M9blsxXTtmPUthKHMpO2kuX1coMSwyNnwx +PDw1KTtpLl9XKDIsMityLlNoZWV0TmFtZXMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRvTG93 +ZXJDYXNlKCl9KS5pbmRleE9mKGEudG9Mb3dlckNhc2UoKSkpO2kuX1coNCxmLnIpO2kuX1coMixm +LmN8KHMuY2hhckF0KDApPT0iJCI/MDoxKTw8MTR8KHMubWF0Y2goL1wkXGQvKT8wOjEpPDwxNSk7 +aS5fVygxLDE3KTtpLl9XKDQsMCk7cmV0dXJuIGl9ZnVuY3Rpb24gc3YoZSxyKXt2YXIgdD1lLmxh +c3RJbmRleE9mKCIhIik7dmFyIGE9ZS5zbGljZSgwLHQpO2U9ZS5zbGljZSh0KzEpO2lmKGEuY2hh +ckF0KDApPT0iJyIpYT1hLnNsaWNlKDEsLTEpLnJlcGxhY2UoLycnL2csIiciKTt2YXIgbj1aYShl +KTt2YXIgaT1SYSgyMyk7aS5fVyg0LDE1KTtpLl9XKDEsMjd8MTw8NSk7aS5fVygyLDIrci5TaGVl +dE5hbWVzLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS50b0xvd2VyQ2FzZSgpfSkuaW5kZXhPZihh +LnRvTG93ZXJDYXNlKCkpKTtpLl9XKDQsbi5zLnIpO2kuX1coNCxuLmUucik7aS5fVygyLG4ucy5j +KTtpLl9XKDIsbi5lLmMpO2kuX1coNCwwKTtyZXR1cm4gaX1mdW5jdGlvbiBmdihlLHIpe2lmKHR5 +cGVvZiBlPT0ibnVtYmVyIilyZXR1cm4gSmQoZSk7aWYodHlwZW9mIGU9PSJib29sZWFuIilyZXR1 +cm4gUWQoZSk7aWYoL14jKERJVlwvMCF8R0VUVElOR19EQVRBfE5cL0F8TkFNRVw/fE5VTEwhfE5V +TSF8UkVGIXxWQUxVRSEpJC8udGVzdChlKSlyZXR1cm4gcWQoK2hpW2VdKTtpZihlLm1hdGNoKC9e +XCQ/KD86W0EtV11bQS1aXXsyfXxYW0EtRV1bQS1aXXxYRltBLURdfFtBLVpdezEsMn0pXCQ/KD86 +MTBbMC0zXVxkezR9fDEwNFswLTddXGR7M318MTA0OFswLTRdXGR7Mn18MTA0ODVbMC02XVxkfDEw +NDg1N1swLTZdfFsxLTldXGR7MCw1fSkkLykpcmV0dXJuIHJ2KGUpO2lmKGUubWF0Y2goL15cJD8o +PzpbQS1XXVtBLVpdezJ9fFhbQS1FXVtBLVpdfFhGW0EtRF18W0EtWl17MSwyfSlcJD8oPzoxMFsw +LTNdXGR7NH18MTA0WzAtN11cZHszfXwxMDQ4WzAtNF1cZHsyfXwxMDQ4NVswLTZdXGR8MTA0ODU3 +WzAtNl18WzEtOV1cZHswLDV9KTpcJD8oPzpbQS1XXVtBLVpdezJ9fFhbQS1FXVtBLVpdfFhGW0Et +RF18W0EtWl17MSwyfSlcJD8oPzoxMFswLTNdXGR7NH18MTA0WzAtN11cZHszfXwxMDQ4WzAtNF1c +ZHsyfXwxMDQ4NVswLTZdXGR8MTA0ODU3WzAtNl18WzEtOV1cZHswLDV9KSQvKSlyZXR1cm4gbnYo +ZSk7aWYoZS5tYXRjaCgvXiNSRUYhXCQ/KD86W0EtV11bQS1aXXsyfXxYW0EtRV1bQS1aXXxYRltB +LURdfFtBLVpdezEsMn0pXCQ/KD86MTBbMC0zXVxkezR9fDEwNFswLTddXGR7M318MTA0OFswLTRd +XGR7Mn18MTA0ODVbMC02XVxkfDEwNDg1N1swLTZdfFsxLTldXGR7MCw1fSk6XCQ/KD86W0EtV11b +QS1aXXsyfXxYW0EtRV1bQS1aXXxYRltBLURdfFtBLVpdezEsMn0pXCQ/KD86MTBbMC0zXVxkezR9 +fDEwNFswLTddXGR7M318MTA0OFswLTRdXGR7Mn18MTA0ODVbMC02XVxkfDEwNDg1N1swLTZdfFsx +LTldXGR7MCw1fSkkLykpcmV0dXJuIHN2KGUscik7aWYoZS5tYXRjaCgvXig/OidbXlxcXC8/Klxb +XF06XSonfFteJ11bXlxcXC8/KlxbXF06J2B+IUAjJCVeKClcLT0re318Oyw8Lj5dKikhXCQ/KD86 +W0EtV11bQS1aXXsyfXxYW0EtRV1bQS1aXXxYRltBLURdfFtBLVpdezEsMn0pXCQ/KD86MTBbMC0z +XVxkezR9fDEwNFswLTddXGR7M318MTA0OFswLTRdXGR7Mn18MTA0ODVbMC02XVxkfDEwNDg1N1sw +LTZdfFsxLTldXGR7MCw1fSkkLykpcmV0dXJuIHR2KGUscik7aWYoZS5tYXRjaCgvXig/OidbXlxc +XC8/KlxbXF06XSonfFteJ11bXlxcXC8/KlxbXF06J2B+IUAjJCVeKClcLT0re318Oyw8Lj5dKikh +XCQ/KD86W0EtV11bQS1aXXsyfXxYW0EtRV1bQS1aXXxYRltBLURdfFtBLVpdezEsMn0pXCQ/KD86 +MTBbMC0zXVxkezR9fDEwNFswLTddXGR7M318MTA0OFswLTRdXGR7Mn18MTA0ODVbMC02XVxkfDEw +NDg1N1swLTZdfFsxLTldXGR7MCw1fSk6XCQ/KD86W0EtV11bQS1aXXsyfXxYW0EtRV1bQS1aXXxY +RltBLURdfFtBLVpdezEsMn0pXCQ/KD86MTBbMC0zXVxkezR9fDEwNFswLTddXGR7M318MTA0OFsw +LTRdXGR7Mn18MTA0ODVbMC02XVxkfDEwNDg1N1swLTZdfFsxLTldXGR7MCw1fSkkLykpcmV0dXJu +IGl2KGUscik7CmlmKC9eKD86J1teXFxcLz8qXFtcXTpdKid8W14nXVteXFxcLz8qXFtcXTonYH4h +QCMkJV4oKVwtPSt7fXw7LDwuPl0qKSEjUkVGISQvLnRlc3QoZSkpcmV0dXJuIGF2KGUscik7aWYo +L14iLioiJC8udGVzdChlKSlyZXR1cm4gZXYoZSk7aWYoL15bKy1dXGQrJC8udGVzdChlKSlyZXR1 +cm4gSmQocGFyc2VJbnQoZSwxMCkpO3Rocm93IkZvcm11bGEgfCIrZSsifCBub3Qgc3VwcG9ydGVk +IGZvciBYTFNCIn12YXIgbHY9ZnY7dmFyIG92PXswOiJCRUVQIiwxOiJPUEVOIiwyOiJPUEVOLkxJ +TktTIiwzOiJDTE9TRS5BTEwiLDQ6IlNBVkUiLDU6IlNBVkUuQVMiLDY6IkZJTEUuREVMRVRFIiw3 +OiJQQUdFLlNFVFVQIiw4OiJQUklOVCIsOToiUFJJTlRFUi5TRVRVUCIsMTA6IlFVSVQiLDExOiJO +RVcuV0lORE9XIiwxMjoiQVJSQU5HRS5BTEwiLDEzOiJXSU5ET1cuU0laRSIsMTQ6IldJTkRPVy5N +T1ZFIiwxNToiRlVMTCIsMTY6IkNMT1NFIiwxNzoiUlVOIiwyMjoiU0VULlBSSU5ULkFSRUEiLDIz +OiJTRVQuUFJJTlQuVElUTEVTIiwyNDoiU0VULlBBR0UuQlJFQUsiLDI1OiJSRU1PVkUuUEFHRS5C +UkVBSyIsMjY6IkZPTlQiLDI3OiJESVNQTEFZIiwyODoiUFJPVEVDVC5ET0NVTUVOVCIsMjk6IlBS +RUNJU0lPTiIsMzA6IkExLlIxQzEiLDMxOiJDQUxDVUxBVEUuTk9XIiwzMjoiQ0FMQ1VMQVRJT04i +LDM0OiJEQVRBLkZJTkQiLDM1OiJFWFRSQUNUIiwzNjoiREFUQS5ERUxFVEUiLDM3OiJTRVQuREFU +QUJBU0UiLDM4OiJTRVQuQ1JJVEVSSUEiLDM5OiJTT1JUIiw0MDoiREFUQS5TRVJJRVMiLDQxOiJU +QUJMRSIsNDI6IkZPUk1BVC5OVU1CRVIiLDQzOiJBTElHTk1FTlQiLDQ0OiJTVFlMRSIsNDU6IkJP +UkRFUiIsNDY6IkNFTEwuUFJPVEVDVElPTiIsNDc6IkNPTFVNTi5XSURUSCIsNDg6IlVORE8iLDQ5 +OiJDVVQiLDUwOiJDT1BZIiw1MToiUEFTVEUiLDUyOiJDTEVBUiIsNTM6IlBBU1RFLlNQRUNJQUwi +LDU0OiJFRElULkRFTEVURSIsNTU6IklOU0VSVCIsNTY6IkZJTEwuUklHSFQiLDU3OiJGSUxMLkRP +V04iLDYxOiJERUZJTkUuTkFNRSIsNjI6IkNSRUFURS5OQU1FUyIsNjM6IkZPUk1VTEEuR09UTyIs +NjQ6IkZPUk1VTEEuRklORCIsNjU6IlNFTEVDVC5MQVNULkNFTEwiLDY2OiJTSE9XLkFDVElWRS5D +RUxMIiw2NzoiR0FMTEVSWS5BUkVBIiw2ODoiR0FMTEVSWS5CQVIiLDY5OiJHQUxMRVJZLkNPTFVN +TiIsNzA6IkdBTExFUlkuTElORSIsNzE6IkdBTExFUlkuUElFIiw3MjoiR0FMTEVSWS5TQ0FUVEVS +Iiw3MzoiQ09NQklOQVRJT04iLDc0OiJQUkVGRVJSRUQiLDc1OiJBREQuT1ZFUkxBWSIsNzY6IkdS +SURMSU5FUyIsNzc6IlNFVC5QUkVGRVJSRUQiLDc4OiJBWEVTIiw3OToiTEVHRU5EIiw4MDoiQVRU +QUNILlRFWFQiLDgxOiJBREQuQVJST1ciLDgyOiJTRUxFQ1QuQ0hBUlQiLDgzOiJTRUxFQ1QuUExP +VC5BUkVBIiw4NDoiUEFUVEVSTlMiLDg1OiJNQUlOLkNIQVJUIiw4NjoiT1ZFUkxBWSIsODc6IlND +QUxFIiw4ODoiRk9STUFULkxFR0VORCIsODk6IkZPUk1BVC5URVhUIiw5MDoiRURJVC5SRVBFQVQi +LDkxOiJQQVJTRSIsOTI6IkpVU1RJRlkiLDkzOiJISURFIiw5NDoiVU5ISURFIiw5NToiV09SS1NQ +QUNFIiw5NjoiRk9STVVMQSIsOTc6IkZPUk1VTEEuRklMTCIsOTg6IkZPUk1VTEEuQVJSQVkiLDk5 +OiJEQVRBLkZJTkQuTkVYVCIsMTAwOiJEQVRBLkZJTkQuUFJFViIsMTAxOiJGT1JNVUxBLkZJTkQu +TkVYVCIsMTAyOiJGT1JNVUxBLkZJTkQuUFJFViIsMTAzOiJBQ1RJVkFURSIsMTA0OiJBQ1RJVkFU +RS5ORVhUIiwxMDU6IkFDVElWQVRFLlBSRVYiLDEwNjoiVU5MT0NLRUQuTkVYVCIsMTA3OiJVTkxP +Q0tFRC5QUkVWIiwxMDg6IkNPUFkuUElDVFVSRSIsMTA5OiJTRUxFQ1QiLDExMDoiREVMRVRFLk5B +TUUiLDExMToiREVMRVRFLkZPUk1BVCIsMTEyOiJWTElORSIsMTEzOiJITElORSIsMTE0OiJWUEFH +RSIsMTE1OiJIUEFHRSIsMTE2OiJWU0NST0xMIiwxMTc6IkhTQ1JPTEwiLDExODoiQUxFUlQiLDEx +OToiTkVXIiwxMjA6IkNBTkNFTC5DT1BZIiwxMjE6IlNIT1cuQ0xJUEJPQVJEIiwxMjI6Ik1FU1NB +R0UiLDEyNDoiUEFTVEUuTElOSyIsMTI1OiJBUFAuQUNUSVZBVEUiLDEyNjoiREVMRVRFLkFSUk9X +IiwxMjc6IlJPVy5IRUlHSFQiLDEyODoiRk9STUFULk1PVkUiLDEyOToiRk9STUFULlNJWkUiLDEz +MDoiRk9STVVMQS5SRVBMQUNFIiwxMzE6IlNFTkQuS0VZUyIsMTMyOiJTRUxFQ1QuU1BFQ0lBTCIs +MTMzOiJBUFBMWS5OQU1FUyIsMTM0OiJSRVBMQUNFLkZPTlQiLDEzNToiRlJFRVpFLlBBTkVTIiwx +MzY6IlNIT1cuSU5GTyIsMTM3OiJTUExJVCIsMTM4OiJPTi5XSU5ET1ciLDEzOToiT04uREFUQSIs +MTQwOiJESVNBQkxFLklOUFVUIiwxNDI6Ik9VVExJTkUiLDE0MzoiTElTVC5OQU1FUyIsMTQ0OiJG +SUxFLkNMT1NFIiwxNDU6IlNBVkUuV09SS0JPT0siLDE0NjoiREFUQS5GT1JNIiwxNDc6IkNPUFku +Q0hBUlQiLDE0ODoiT04uVElNRSIsMTQ5OiJXQUlUIiwxNTA6IkZPUk1BVC5GT05UIiwxNTE6IkZJ +TEwuVVAiLDE1MjoiRklMTC5MRUZUIiwxNTM6IkRFTEVURS5PVkVSTEFZIiwxNTU6IlNIT1JULk1F +TlVTIiwxNTk6IlNFVC5VUERBVEUuU1RBVFVTIiwxNjE6IkNPTE9SLlBBTEVUVEUiLDE2MjoiREVM +RVRFLlNUWUxFIiwxNjM6IldJTkRPVy5SRVNUT1JFIiwxNjQ6IldJTkRPVy5NQVhJTUlaRSIsMTY2 +OiJDSEFOR0UuTElOSyIsMTY3OiJDQUxDVUxBVEUuRE9DVU1FTlQiLDE2ODoiT04uS0VZIiwxNjk6 +IkFQUC5SRVNUT1JFIiwxNzA6IkFQUC5NT1ZFIiwxNzE6IkFQUC5TSVpFIiwxNzI6IkFQUC5NSU5J +TUlaRSIsMTczOiJBUFAuTUFYSU1JWkUiLDE3NDoiQlJJTkcuVE8uRlJPTlQiLDE3NToiU0VORC5U +Ty5CQUNLIiwxODU6Ik1BSU4uQ0hBUlQuVFlQRSIsMTg2OiJPVkVSTEFZLkNIQVJULlRZUEUiLDE4 +NzoiU0VMRUNULkVORCIsMTg4OiJPUEVOLk1BSUwiLDE4OToiU0VORC5NQUlMIiwxOTA6IlNUQU5E +QVJELkZPTlQiLDE5MToiQ09OU09MSURBVEUiLDE5MjoiU09SVC5TUEVDSUFMIiwxOTM6IkdBTExF +UlkuM0QuQVJFQSIsMTk0OiJHQUxMRVJZLjNELkNPTFVNTiIsMTk1OiJHQUxMRVJZLjNELkxJTkUi +LDE5NjoiR0FMTEVSWS4zRC5QSUUiLDE5NzoiVklFVy4zRCIsMTk4OiJHT0FMLlNFRUsiLDE5OToi +V09SS0dST1VQIiwyMDA6IkZJTEwuR1JPVVAiLDIwMToiVVBEQVRFLkxJTksiLDIwMjoiUFJPTU9U +RSIsMjAzOiJERU1PVEUiLDIwNDoiU0hPVy5ERVRBSUwiLDIwNjoiVU5HUk9VUCIsMjA3OiJPQkpF +Q1QuUFJPUEVSVElFUyIsMjA4OiJTQVZFLk5FVy5PQkpFQ1QiLDIwOToiU0hBUkUiLDIxMDoiU0hB +UkUuTkFNRSIsMjExOiJEVVBMSUNBVEUiLDIxMjoiQVBQTFkuU1RZTEUiLDIxMzoiQVNTSUdOLlRP +Lk9CSkVDVCIsMjE0OiJPQkpFQ1QuUFJPVEVDVElPTiIsMjE1OiJISURFLk9CSkVDVCIsMjE2OiJT +RVQuRVhUUkFDVCIsMjE3OiJDUkVBVEUuUFVCTElTSEVSIiwyMTg6IlNVQlNDUklCRS5UTyIsMjE5 +OiJBVFRSSUJVVEVTIiwyMjA6IlNIT1cuVE9PTEJBUiIsMjIyOiJQUklOVC5QUkVWSUVXIiwyMjM6 +IkVESVQuQ09MT1IiLDIyNDoiU0hPVy5MRVZFTFMiLDIyNToiRk9STUFULk1BSU4iLDIyNjoiRk9S +TUFULk9WRVJMQVkiLDIyNzoiT04uUkVDQUxDIiwyMjg6IkVESVQuU0VSSUVTIiwyMjk6IkRFRklO +RS5TVFlMRSIsMjQwOiJMSU5FLlBSSU5UIiwyNDM6IkVOVEVSLkRBVEEiLDI0OToiR0FMTEVSWS5S +QURBUiIsMjUwOiJNRVJHRS5TVFlMRVMiLDI1MToiRURJVElPTi5PUFRJT05TIiwyNTI6IlBBU1RF +LlBJQ1RVUkUiLDI1MzoiUEFTVEUuUElDVFVSRS5MSU5LIiwyNTQ6IlNQRUxMSU5HIiwyNTY6IlpP +T00iLDI1OToiSU5TRVJULk9CSkVDVCIsMjYwOiJXSU5ET1cuTUlOSU1JWkUiLDI2NToiU09VTkQu +Tk9URSIsMjY2OiJTT1VORC5QTEFZIiwyNjc6IkZPUk1BVC5TSEFQRSIsMjY4OiJFWFRFTkQuUE9M +WUdPTiIsMjY5OiJGT1JNQVQuQVVUTyIsMjcyOiJHQUxMRVJZLjNELkJBUiIsMjczOiJHQUxMRVJZ +LjNELlNVUkZBQ0UiLDI3NDoiRklMTC5BVVRPIiwyNzY6IkNVU1RPTUlaRS5UT09MQkFSIiwyNzc6 +IkFERC5UT09MIiwyNzg6IkVESVQuT0JKRUNUIiwyNzk6Ik9OLkRPVUJMRUNMSUNLIiwyODA6Ik9O +LkVOVFJZIiwyODE6IldPUktCT09LLkFERCIsMjgyOiJXT1JLQk9PSy5NT1ZFIiwyODM6IldPUktC +T09LLkNPUFkiLDI4NDoiV09SS0JPT0suT1BUSU9OUyIsMjg1OiJTQVZFLldPUktTUEFDRSIsMjg4 +OiJDSEFSVC5XSVpBUkQiLDI4OToiREVMRVRFLlRPT0wiLDI5MDoiTU9WRS5UT09MIiwyOTE6IldP +UktCT09LLlNFTEVDVCIsMjkyOiJXT1JLQk9PSy5BQ1RJVkFURSIsMjkzOiJBU1NJR04uVE8uVE9P +TCIsMjk1OiJDT1BZLlRPT0wiLDI5NjoiUkVTRVQuVE9PTCIsMjk3OiJDT05TVFJBSU4uTlVNRVJJ +QyIsMjk4OiJQQVNURS5UT09MIiwzMDI6IldPUktCT09LLk5FVyIsMzA1OiJTQ0VOQVJJTy5DRUxM +UyIsMzA2OiJTQ0VOQVJJTy5ERUxFVEUiLDMwNzoiU0NFTkFSSU8uQUREIiwzMDg6IlNDRU5BUklP +LkVESVQiLDMwOToiU0NFTkFSSU8uU0hPVyIsMzEwOiJTQ0VOQVJJTy5TSE9XLk5FWFQiLDMxMToi +U0NFTkFSSU8uU1VNTUFSWSIsMzEyOiJQSVZPVC5UQUJMRS5XSVpBUkQiLDMxMzoiUElWT1QuRklF +TEQuUFJPUEVSVElFUyIsMzE0OiJQSVZPVC5GSUVMRCIsMzE1OiJQSVZPVC5JVEVNIiwzMTY6IlBJ +Vk9ULkFERC5GSUVMRFMiLDMxODoiT1BUSU9OUy5DQUxDVUxBVElPTiIsMzE5OiJPUFRJT05TLkVE +SVQiLDMyMDoiT1BUSU9OUy5WSUVXIiwzMjE6IkFERElOLk1BTkFHRVIiLDMyMjoiTUVOVS5FRElU +T1IiLDMyMzoiQVRUQUNILlRPT0xCQVJTIiwzMjQ6IlZCQUFjdGl2YXRlIiwzMjU6Ik9QVElPTlMu +Q0hBUlQiLDMyODoiVkJBLklOU0VSVC5GSUxFIiwzMzA6IlZCQS5QUk9DRURVUkUuREVGSU5JVElP +TiIsMzM2OiJST1VUSU5HLlNMSVAiLDMzODoiUk9VVEUuRE9DVU1FTlQiLDMzOToiTUFJTC5MT0dP +TiIsMzQyOiJJTlNFUlQuUElDVFVSRSIsMzQzOiJFRElULlRPT0wiLDM0NDoiR0FMTEVSWS5ET1VH +SE5VVCIsMzUwOiJDSEFSVC5UUkVORCIsMzUyOiJQSVZPVC5JVEVNLlBST1BFUlRJRVMiLDM1NDoi +V09SS0JPT0suSU5TRVJUIiwzNTU6Ik9QVElPTlMuVFJBTlNJVElPTiIsMzU2OiJPUFRJT05TLkdF +TkVSQUwiLDM3MDoiRklMVEVSLkFEVkFOQ0VEIiwzNzM6Ik1BSUwuQURELk1BSUxFUiIsMzc0OiJN +QUlMLkRFTEVURS5NQUlMRVIiLDM3NToiTUFJTC5SRVBMWSIsMzc2OiJNQUlMLlJFUExZLkFMTCIs +Mzc3OiJNQUlMLkZPUldBUkQiLDM3ODoiTUFJTC5ORVhULkxFVFRFUiIsMzc5OiJEQVRBLkxBQkVM +IiwzODA6IklOU0VSVC5USVRMRSIsMzgxOiJGT05ULlBST1BFUlRJRVMiLDM4MjoiTUFDUk8uT1BU +SU9OUyIsMzgzOiJXT1JLQk9PSy5ISURFIiwzODQ6IldPUktCT09LLlVOSElERSIsMzg1OiJXT1JL +Qk9PSy5ERUxFVEUiLDM4NjoiV09SS0JPT0suTkFNRSIsMzg4OiJHQUxMRVJZLkNVU1RPTSIsMzkw +OiJBREQuQ0hBUlQuQVVUT0ZPUk1BVCIsMzkxOiJERUxFVEUuQ0hBUlQuQVVUT0ZPUk1BVCIsMzky +OiJDSEFSVC5BREQuREFUQSIsMzkzOiJBVVRPLk9VVExJTkUiLDM5NDoiVEFCLk9SREVSIiwzOTU6 +IlNIT1cuRElBTE9HIiwzOTY6IlNFTEVDVC5BTEwiLDM5NzoiVU5HUk9VUC5TSEVFVFMiLDM5ODoi +U1VCVE9UQUwuQ1JFQVRFIiwzOTk6IlNVQlRPVEFMLlJFTU9WRSIsNDAwOiJSRU5BTUUuT0JKRUNU +Iiw0MTI6IldPUktCT09LLlNDUk9MTCIsNDEzOiJXT1JLQk9PSy5ORVhUIiw0MTQ6IldPUktCT09L +LlBSRVYiLDQxNToiV09SS0JPT0suVEFCLlNQTElUIiw0MTY6IkZVTEwuU0NSRUVOIiw0MTc6IldP +UktCT09LLlBST1RFQ1QiLDQyMDoiU0NST0xMQkFSLlBST1BFUlRJRVMiLDQyMToiUElWT1QuU0hP +Vy5QQUdFUyIsNDIyOiJURVhULlRPLkNPTFVNTlMiLDQyMzoiRk9STUFULkNIQVJUVFlQRSIsNDI0 +OiJMSU5LLkZPUk1BVCIsNDI1OiJUUkFDRVIuRElTUExBWSIsNDMwOiJUUkFDRVIuTkFWSUdBVEUi +LDQzMToiVFJBQ0VSLkNMRUFSIiw0MzI6IlRSQUNFUi5FUlJPUiIsNDMzOiJQSVZPVC5GSUVMRC5H +Uk9VUCIsNDM0OiJQSVZPVC5GSUVMRC5VTkdST1VQIiw0MzU6IkNIRUNLQk9YLlBST1BFUlRJRVMi +LDQzNjoiTEFCRUwuUFJPUEVSVElFUyIsNDM3OiJMSVNUQk9YLlBST1BFUlRJRVMiLDQzODoiRURJ +VEJPWC5QUk9QRVJUSUVTIiw0Mzk6IlBJVk9ULlJFRlJFU0giLDQ0MDoiTElOSy5DT01CTyIsNDQx +OiJPUEVOLlRFWFQiLDQ0MjoiSElERS5ESUFMT0ciLDQ0MzoiU0VULkRJQUxPRy5GT0NVUyIsNDQ0 +OiJFTkFCTEUuT0JKRUNUIiw0NDU6IlBVU0hCVVRUT04uUFJPUEVSVElFUyIsNDQ2OiJTRVQuRElB +TE9HLkRFRkFVTFQiLDQ0NzoiRklMVEVSIiw0NDg6IkZJTFRFUi5TSE9XLkFMTCIsNDQ5OiJDTEVB +Ui5PVVRMSU5FIiw0NTA6IkZVTkNUSU9OLldJWkFSRCIsNDUxOiJBREQuTElTVC5JVEVNIiw0NTI6 +IlNFVC5MSVNULklURU0iLDQ1MzoiUkVNT1ZFLkxJU1QuSVRFTSIsNDU0OiJTRUxFQ1QuTElTVC5J +VEVNIiw0NTU6IlNFVC5DT05UUk9MLlZBTFVFIiw0NTY6IlNBVkUuQ09QWS5BUyIsNDU4OiJPUFRJ +T05TLkxJU1RTLkFERCIsNDU5OiJPUFRJT05TLkxJU1RTLkRFTEVURSIsNDYwOiJTRVJJRVMuQVhF +UyIsNDYxOiJTRVJJRVMuWCIsNDYyOiJTRVJJRVMuWSIsNDYzOiJFUlJPUkJBUi5YIiw0NjQ6IkVS +Uk9SQkFSLlkiLDQ2NToiRk9STUFULkNIQVJUIiw0NjY6IlNFUklFUy5PUkRFUiIsNDY3OiJNQUlM +LkxPR09GRiIsNDY4OiJDTEVBUi5ST1VUSU5HLlNMSVAiLDQ2OToiQVBQLkFDVElWQVRFLk1JQ1JP +U09GVCIsNDcwOiJNQUlMLkVESVQuTUFJTEVSIiw0NzE6Ik9OLlNIRUVUIiw0NzI6IlNUQU5EQVJE +LldJRFRIIiw0NzM6IlNDRU5BUklPLk1FUkdFIiw0NzQ6IlNVTU1BUlkuSU5GTyIsNDc1OiJGSU5E +LkZJTEUiLDQ3NjoiQUNUSVZFLkNFTEwuRk9OVCIsNDc3OiJFTkFCTEUuVElQV0laQVJEIiw0Nzg6 +IlZCQS5NQUtFLkFERElOIiw0ODA6IklOU0VSVERBVEFUQUJMRSIsNDgxOiJXT1JLR1JPVVAuT1BU +SU9OUyIsNDgyOiJNQUlMLlNFTkQuTUFJTEVSIiw0ODU6IkFVVE9DT1JSRUNUIiw0ODk6IlBPU1Qu +RE9DVU1FTlQiLDQ5MToiUElDS0xJU1QiLDQ5MzoiVklFVy5TSE9XIiw0OTQ6IlZJRVcuREVGSU5F +Iiw0OTU6IlZJRVcuREVMRVRFIiw1MDk6IlNIRUVULkJBQ0tHUk9VTkQiLDUxMDoiSU5TRVJULk1B +UC5PQkpFQ1QiLDUxMToiT1BUSU9OUy5NRU5PTk8iLDUxNzoiTVNPQ0hFQ0tTIiw1MTg6Ik5PUk1B +TCIsNTE5OiJMQVlPVVQiLDUyMDoiUk0uUFJJTlQuQVJFQSIsNTIxOiJDTEVBUi5QUklOVC5BUkVB +Iiw1MjI6IkFERC5QUklOVC5BUkVBIiw1MjM6Ik1PVkUuQlJLIiw1NDU6IkhJREVDVVJSLk5PVEUi +LDU0NjoiSElERUFMTC5OT1RFUyIsNTQ3OiJERUxFVEUuTk9URSIsNTQ4OiJUUkFWRVJTRS5OT1RF +UyIsNTQ5OiJBQ1RJVkFURS5OT1RFUyIsNjIwOiJQUk9URUNULlJFVklTSU9OUyIsNjIxOiJVTlBS +T1RFQ1QuUkVWSVNJT05TIiw2NDc6Ik9QVElPTlMuTUUiLDY1MzoiV0VCLlBVQkxJU0giLDY2Nzoi +TkVXV0VCUVVFUlkiLDY3MzoiUElWT1QuVEFCTEUuQ0hBUlQiLDc1MzoiT1BUSU9OUy5TQVZFIiw3 +NTU6Ik9QVElPTlMuU1BFTEwiLDgwODoiSElERUFMTC5JTktBTk5PVFMifTt2YXIgY3Y9ezA6IkNP +VU5UIiwxOiJJRiIsMjoiSVNOQSIsMzoiSVNFUlJPUiIsNDoiU1VNIiw1OiJBVkVSQUdFIiw2OiJN +SU4iLDc6Ik1BWCIsODoiUk9XIiw5OiJDT0xVTU4iLDEwOiJOQSIsMTE6Ik5QViIsMTI6IlNUREVW +IiwxMzoiRE9MTEFSIiwxNDoiRklYRUQiLDE1OiJTSU4iLDE2OiJDT1MiLDE3OiJUQU4iLDE4OiJB +VEFOIiwxOToiUEkiLDIwOiJTUVJUIiwyMToiRVhQIiwyMjoiTE4iLDIzOiJMT0cxMCIsMjQ6IkFC +UyIsMjU6IklOVCIsMjY6IlNJR04iLDI3OiJST1VORCIsMjg6IkxPT0tVUCIsMjk6IklOREVYIiwz +MDoiUkVQVCIsMzE6Ik1JRCIsMzI6IkxFTiIsMzM6IlZBTFVFIiwzNDoiVFJVRSIsMzU6IkZBTFNF +IiwzNjoiQU5EIiwzNzoiT1IiLDM4OiJOT1QiLDM5OiJNT0QiLDQwOiJEQ09VTlQiLDQxOiJEU1VN +Iiw0MjoiREFWRVJBR0UiLDQzOiJETUlOIiw0NDoiRE1BWCIsNDU6IkRTVERFViIsNDY6IlZBUiIs +NDc6IkRWQVIiLDQ4OiJURVhUIiw0OToiTElORVNUIiw1MDoiVFJFTkQiLDUxOiJMT0dFU1QiLDUy +OiJHUk9XVEgiLDUzOiJHT1RPIiw1NDoiSEFMVCIsNTU6IlJFVFVSTiIsNTY6IlBWIiw1NzoiRlYi +LDU4OiJOUEVSIiw1OToiUE1UIiw2MDoiUkFURSIsNjE6Ik1JUlIiLDYyOiJJUlIiLDYzOiJSQU5E +Iiw2NDoiTUFUQ0giLDY1OiJEQVRFIiw2NjoiVElNRSIsNjc6IkRBWSIsNjg6Ik1PTlRIIiw2OToi +WUVBUiIsNzA6IldFRUtEQVkiLDcxOiJIT1VSIiw3MjoiTUlOVVRFIiw3MzoiU0VDT05EIiw3NDoi +Tk9XIiw3NToiQVJFQVMiLDc2OiJST1dTIiw3NzoiQ09MVU1OUyIsNzg6Ik9GRlNFVCIsNzk6IkFC +U1JFRiIsODA6IlJFTFJFRiIsODE6IkFSR1VNRU5UIiw4MjoiU0VBUkNIIiw4MzoiVFJBTlNQT1NF +Iiw4NDoiRVJST1IiLDg1OiJTVEVQIiw4NjoiVFlQRSIsODc6IkVDSE8iLDg4OiJTRVQuTkFNRSIs +ODk6IkNBTExFUiIsOTA6IkRFUkVGIiw5MToiV0lORE9XUyIsOTI6IlNFUklFUyIsOTM6IkRPQ1VN +RU5UUyIsOTQ6IkFDVElWRS5DRUxMIiw5NToiU0VMRUNUSU9OIiw5NjoiUkVTVUxUIiw5NzoiQVRB +TjIiLDk4OiJBU0lOIiw5OToiQUNPUyIsMTAwOiJDSE9PU0UiLDEwMToiSExPT0tVUCIsMTAyOiJW +TE9PS1VQIiwxMDM6IkxJTktTIiwxMDQ6IklOUFVUIiwxMDU6IklTUkVGIiwxMDY6IkdFVC5GT1JN +VUxBIiwxMDc6IkdFVC5OQU1FIiwxMDg6IlNFVC5WQUxVRSIsMTA5OiJMT0ciLDExMDoiRVhFQyIs +MTExOiJDSEFSIiwxMTI6IkxPV0VSIiwxMTM6IlVQUEVSIiwxMTQ6IlBST1BFUiIsMTE1OiJMRUZU +IiwxMTY6IlJJR0hUIiwxMTc6IkVYQUNUIiwxMTg6IlRSSU0iLDExOToiUkVQTEFDRSIsMTIwOiJT +VUJTVElUVVRFIiwxMjE6IkNPREUiLDEyMjoiTkFNRVMiLDEyMzoiRElSRUNUT1JZIiwxMjQ6IkZJ +TkQiLDEyNToiQ0VMTCIsMTI2OiJJU0VSUiIsMTI3OiJJU1RFWFQiLDEyODoiSVNOVU1CRVIiLDEy +OToiSVNCTEFOSyIsMTMwOiJUIiwxMzE6Ik4iLDEzMjoiRk9QRU4iLDEzMzoiRkNMT1NFIiwxMzQ6 +IkZTSVpFIiwxMzU6IkZSRUFETE4iLDEzNjoiRlJFQUQiLDEzNzoiRldSSVRFTE4iLDEzODoiRldS +SVRFIiwxMzk6IkZQT1MiLDE0MDoiREFURVZBTFVFIiwxNDE6IlRJTUVWQUxVRSIsMTQyOiJTTE4i +LDE0MzoiU1lEIiwxNDQ6IkREQiIsMTQ1OiJHRVQuREVGIiwxNDY6IlJFRlRFWFQiLDE0NzoiVEVY +VFJFRiIsMTQ4OiJJTkRJUkVDVCIsMTQ5OiJSRUdJU1RFUiIsMTUwOiJDQUxMIiwxNTE6IkFERC5C +QVIiLDE1MjoiQURELk1FTlUiLDE1MzoiQURELkNPTU1BTkQiLDE1NDoiRU5BQkxFLkNPTU1BTkQi +LDE1NToiQ0hFQ0suQ09NTUFORCIsMTU2OiJSRU5BTUUuQ09NTUFORCIsMTU3OiJTSE9XLkJBUiIs +MTU4OiJERUxFVEUuTUVOVSIsMTU5OiJERUxFVEUuQ09NTUFORCIsMTYwOiJHRVQuQ0hBUlQuSVRF +TSIsMTYxOiJESUFMT0cuQk9YIiwxNjI6IkNMRUFOIiwxNjM6Ik1ERVRFUk0iLDE2NDoiTUlOVkVS +U0UiLDE2NToiTU1VTFQiLDE2NjoiRklMRVMiLDE2NzoiSVBNVCIsMTY4OiJQUE1UIiwxNjk6IkNP +VU5UQSIsMTcwOiJDQU5DRUwuS0VZIiwxNzE6IkZPUiIsMTcyOiJXSElMRSIsMTczOiJCUkVBSyIs +MTc0OiJORVhUIiwxNzU6IklOSVRJQVRFIiwxNzY6IlJFUVVFU1QiLDE3NzoiUE9LRSIsMTc4OiJF +WEVDVVRFIiwxNzk6IlRFUk1JTkFURSIsMTgwOiJSRVNUQVJUIiwxODE6IkhFTFAiLDE4MjoiR0VU +LkJBUiIsMTgzOiJQUk9EVUNUIiwxODQ6IkZBQ1QiLDE4NToiR0VULkNFTEwiLDE4NjoiR0VULldP +UktTUEFDRSIsMTg3OiJHRVQuV0lORE9XIiwxODg6IkdFVC5ET0NVTUVOVCIsMTg5OiJEUFJPRFVD +VCIsMTkwOiJJU05PTlRFWFQiLDE5MToiR0VULk5PVEUiLDE5MjoiTk9URSIsMTkzOiJTVERFVlAi +LDE5NDoiVkFSUCIsMTk1OiJEU1RERVZQIiwxOTY6IkRWQVJQIiwxOTc6IlRSVU5DIiwxOTg6IklT +TE9HSUNBTCIsMTk5OiJEQ09VTlRBIiwyMDA6IkRFTEVURS5CQVIiLDIwMToiVU5SRUdJU1RFUiIs +MjA0OiJVU0RPTExBUiIsMjA1OiJGSU5EQiIsMjA2OiJTRUFSQ0hCIiwyMDc6IlJFUExBQ0VCIiwy +MDg6IkxFRlRCIiwyMDk6IlJJR0hUQiIsMjEwOiJNSURCIiwyMTE6IkxFTkIiLDIxMjoiUk9VTkRV +UCIsMjEzOiJST1VORERPV04iLDIxNDoiQVNDIiwyMTU6IkRCQ1MiLDIxNjoiUkFOSyIsMjE5OiJB +RERSRVNTIiwyMjA6IkRBWVMzNjAiLDIyMToiVE9EQVkiLDIyMjoiVkRCIiwyMjM6IkVMU0UiLDIy +NDoiRUxTRS5JRiIsMjI1OiJFTkQuSUYiLDIyNjoiRk9SLkNFTEwiLDIyNzoiTUVESUFOIiwyMjg6 +IlNVTVBST0RVQ1QiLDIyOToiU0lOSCIsMjMwOiJDT1NIIiwyMzE6IlRBTkgiLDIzMjoiQVNJTkgi +LDIzMzoiQUNPU0giLDIzNDoiQVRBTkgiLDIzNToiREdFVCIsMjM2OiJDUkVBVEUuT0JKRUNUIiwy +Mzc6IlZPTEFUSUxFIiwyMzg6IkxBU1QuRVJST1IiLDIzOToiQ1VTVE9NLlVORE8iLDI0MDoiQ1VT +VE9NLlJFUEVBVCIsMjQxOiJGT1JNVUxBLkNPTlZFUlQiLDI0MjoiR0VULkxJTksuSU5GTyIsMjQz +OiJURVhULkJPWCIsMjQ0OiJJTkZPIiwyNDU6IkdST1VQIiwyNDY6IkdFVC5PQkpFQ1QiLDI0Nzoi +REIiLDI0ODoiUEFVU0UiLDI1MToiUkVTVU1FIiwyNTI6IkZSRVFVRU5DWSIsMjUzOiJBREQuVE9P +TEJBUiIsMjU0OiJERUxFVEUuVE9PTEJBUiIsMjU1OiJVc2VyIiwyNTY6IlJFU0VULlRPT0xCQVIi +LDI1NzoiRVZBTFVBVEUiLDI1ODoiR0VULlRPT0xCQVIiLDI1OToiR0VULlRPT0wiLDI2MDoiU1BF +TExJTkcuQ0hFQ0siLDI2MToiRVJST1IuVFlQRSIsMjYyOiJBUFAuVElUTEUiLDI2MzoiV0lORE9X +LlRJVExFIiwyNjQ6IlNBVkUuVE9PTEJBUiIsMjY1OiJFTkFCTEUuVE9PTCIsMjY2OiJQUkVTUy5U +T09MIiwyNjc6IlJFR0lTVEVSLklEIiwyNjg6IkdFVC5XT1JLQk9PSyIsMjY5OiJBVkVERVYiLDI3 +MDoiQkVUQURJU1QiLDI3MToiR0FNTUFMTiIsMjcyOiJCRVRBSU5WIiwyNzM6IkJJTk9NRElTVCIs +Mjc0OiJDSElESVNUIiwyNzU6IkNISUlOViIsMjc2OiJDT01CSU4iLDI3NzoiQ09ORklERU5DRSIs +Mjc4OiJDUklUQklOT00iLDI3OToiRVZFTiIsMjgwOiJFWFBPTkRJU1QiLDI4MToiRkRJU1QiLDI4 +MjoiRklOViIsMjgzOiJGSVNIRVIiLDI4NDoiRklTSEVSSU5WIiwyODU6IkZMT09SIiwyODY6IkdB +TU1BRElTVCIsMjg3OiJHQU1NQUlOViIsMjg4OiJDRUlMSU5HIiwyODk6IkhZUEdFT01ESVNUIiwy +OTA6IkxPR05PUk1ESVNUIiwyOTE6IkxPR0lOViIsMjkyOiJORUdCSU5PTURJU1QiLDI5MzoiTk9S +TURJU1QiLDI5NDoiTk9STVNESVNUIiwyOTU6Ik5PUk1JTlYiLDI5NjoiTk9STVNJTlYiLDI5Nzoi +U1RBTkRBUkRJWkUiLDI5ODoiT0REIiwyOTk6IlBFUk1VVCIsMzAwOiJQT0lTU09OIiwzMDE6IlRE +SVNUIiwzMDI6IldFSUJVTEwiLDMwMzoiU1VNWE1ZMiIsMzA0OiJTVU1YMk1ZMiIsMzA1OiJTVU1Y +MlBZMiIsMzA2OiJDSElURVNUIiwzMDc6IkNPUlJFTCIsMzA4OiJDT1ZBUiIsMzA5OiJGT1JFQ0FT +VCIsMzEwOiJGVEVTVCIsMzExOiJJTlRFUkNFUFQiLDMxMjoiUEVBUlNPTiIsMzEzOiJSU1EiLDMx +NDoiU1RFWVgiLDMxNToiU0xPUEUiLDMxNjoiVFRFU1QiLDMxNzoiUFJPQiIsMzE4OiJERVZTUSIs +MzE5OiJHRU9NRUFOIiwzMjA6IkhBUk1FQU4iLDMyMToiU1VNU1EiLDMyMjoiS1VSVCIsMzIzOiJT +S0VXIiwzMjQ6IlpURVNUIiwzMjU6IkxBUkdFIiwzMjY6IlNNQUxMIiwzMjc6IlFVQVJUSUxFIiwz +Mjg6IlBFUkNFTlRJTEUiLDMyOToiUEVSQ0VOVFJBTksiLDMzMDoiTU9ERSIsMzMxOiJUUklNTUVB +TiIsMzMyOiJUSU5WIiwzMzQ6Ik1PVklFLkNPTU1BTkQiLDMzNToiR0VULk1PVklFIiwzMzY6IkNP +TkNBVEVOQVRFIiwzMzc6IlBPV0VSIiwzMzg6IlBJVk9ULkFERC5EQVRBIiwzMzk6IkdFVC5QSVZP +VC5UQUJMRSIsMzQwOiJHRVQuUElWT1QuRklFTEQiLDM0MToiR0VULlBJVk9ULklURU0iLDM0Mjoi +UkFESUFOUyIsMzQzOiJERUdSRUVTIiwzNDQ6IlNVQlRPVEFMIiwzNDU6IlNVTUlGIiwzNDY6IkNP +VU5USUYiLDM0NzoiQ09VTlRCTEFOSyIsMzQ4OiJTQ0VOQVJJTy5HRVQiLDM0OToiT1BUSU9OUy5M +SVNUUy5HRVQiLDM1MDoiSVNQTVQiLDM1MToiREFURURJRiIsMzUyOiJEQVRFU1RSSU5HIiwzNTM6 +Ik5VTUJFUlNUUklORyIsMzU0OiJST01BTiIsMzU1OiJPUEVOLkRJQUxPRyIsMzU2OiJTQVZFLkRJ +QUxPRyIsMzU3OiJWSUVXLkdFVCIsMzU4OiJHRVRQSVZPVERBVEEiLDM1OToiSFlQRVJMSU5LIiwz +NjA6IlBIT05FVElDIiwzNjE6IkFWRVJBR0VBIiwzNjI6Ik1BWEEiLDM2MzoiTUlOQSIsMzY0OiJT +VERFVlBBIiwzNjU6IlZBUlBBIiwzNjY6IlNUREVWQSIsMzY3OiJWQVJBIiwzNjg6IkJBSFRURVhU +IiwzNjk6IlRIQUlEQVlPRldFRUsiLDM3MDoiVEhBSURJR0lUIiwzNzE6IlRIQUlNT05USE9GWUVB +UiIsMzcyOiJUSEFJTlVNU09VTkQiLDM3MzoiVEhBSU5VTVNUUklORyIsMzc0OiJUSEFJU1RSSU5H +TEVOR1RIIiwzNzU6IklTVEhBSURJR0lUIiwzNzY6IlJPVU5EQkFIVERPV04iLDM3NzoiUk9VTkRC +QUhUVVAiLDM3ODoiVEhBSVlFQVIiLDM3OToiUlREIiwzODA6IkNVQkVWQUxVRSIsMzgxOiJDVUJF +TUVNQkVSIiwzODI6IkNVQkVNRU1CRVJQUk9QRVJUWSIsMzgzOiJDVUJFUkFOS0VETUVNQkVSIiwz +ODQ6IkhFWDJCSU4iLDM4NToiSEVYMkRFQyIsMzg2OiJIRVgyT0NUIiwzODc6IkRFQzJCSU4iLDM4 +ODoiREVDMkhFWCIsMzg5OiJERUMyT0NUIiwzOTA6Ik9DVDJCSU4iLDM5MToiT0NUMkhFWCIsMzky +OiJPQ1QyREVDIiwzOTM6IkJJTjJERUMiLDM5NDoiQklOMk9DVCIsMzk1OiJCSU4ySEVYIiwzOTY6 +IklNU1VCIiwzOTc6IklNRElWIiwzOTg6IklNUE9XRVIiLDM5OToiSU1BQlMiLDQwMDoiSU1TUVJU +Iiw0MDE6IklNTE4iLDQwMjoiSU1MT0cyIiw0MDM6IklNTE9HMTAiLDQwNDoiSU1TSU4iLDQwNToi +SU1DT1MiLDQwNjoiSU1FWFAiLDQwNzoiSU1BUkdVTUVOVCIsNDA4OiJJTUNPTkpVR0FURSIsNDA5 +OiJJTUFHSU5BUlkiLDQxMDoiSU1SRUFMIiw0MTE6IkNPTVBMRVgiLDQxMjoiSU1TVU0iLDQxMzoi +SU1QUk9EVUNUIiw0MTQ6IlNFUklFU1NVTSIsNDE1OiJGQUNURE9VQkxFIiw0MTY6IlNRUlRQSSIs +NDE3OiJRVU9USUVOVCIsNDE4OiJERUxUQSIsNDE5OiJHRVNURVAiLDQyMDoiSVNFVkVOIiw0MjE6 +IklTT0REIiw0MjI6Ik1ST1VORCIsNDIzOiJFUkYiLDQyNDoiRVJGQyIsNDI1OiJCRVNTRUxKIiw0 +MjY6IkJFU1NFTEsiLDQyNzoiQkVTU0VMWSIsNDI4OiJCRVNTRUxJIiw0Mjk6IlhJUlIiLDQzMDoi +WE5QViIsNDMxOiJQUklDRU1BVCIsNDMyOiJZSUVMRE1BVCIsNDMzOiJJTlRSQVRFIiw0MzQ6IlJF +Q0VJVkVEIiw0MzU6IkRJU0MiLDQzNjoiUFJJQ0VESVNDIiw0Mzc6IllJRUxERElTQyIsNDM4OiJU +QklMTEVRIiw0Mzk6IlRCSUxMUFJJQ0UiLDQ0MDoiVEJJTExZSUVMRCIsNDQxOiJQUklDRSIsNDQy +OiJZSUVMRCIsNDQzOiJET0xMQVJERSIsNDQ0OiJET0xMQVJGUiIsNDQ1OiJOT01JTkFMIiw0NDY6 +IkVGRkVDVCIsNDQ3OiJDVU1QUklOQyIsNDQ4OiJDVU1JUE1UIiw0NDk6IkVEQVRFIiw0NTA6IkVP +TU9OVEgiLDQ1MToiWUVBUkZSQUMiLDQ1MjoiQ09VUERBWUJTIiw0NTM6IkNPVVBEQVlTIiw0NTQ6 +IkNPVVBEQVlTTkMiLDQ1NToiQ09VUE5DRCIsNDU2OiJDT1VQTlVNIiw0NTc6IkNPVVBQQ0QiLDQ1 +ODoiRFVSQVRJT04iLDQ1OToiTURVUkFUSU9OIiw0NjA6Ik9ERExQUklDRSIsNDYxOiJPRERMWUlF +TEQiLDQ2MjoiT0RERlBSSUNFIiw0NjM6Ik9EREZZSUVMRCIsNDY0OiJSQU5EQkVUV0VFTiIsNDY1 +OiJXRUVLTlVNIiw0NjY6IkFNT1JERUdSQyIsNDY3OiJBTU9STElOQyIsNDY4OiJDT05WRVJUIiw3 +MjQ6IlNIRUVUSlMiLDQ2OToiQUNDUklOVCIsNDcwOiJBQ0NSSU5UTSIsNDcxOiJXT1JLREFZIiw0 +NzI6Ik5FVFdPUktEQVlTIiw0NzM6IkdDRCIsNDc0OiJNVUxUSU5PTUlBTCIsNDc1OiJMQ00iLDQ3 +NjoiRlZTQ0hFRFVMRSIsNDc3OiJDVUJFS1BJTUVNQkVSIiw0Nzg6IkNVQkVTRVQiLDQ3OToiQ1VC +RVNFVENPVU5UIiw0ODA6IklGRVJST1IiLDQ4MToiQ09VTlRJRlMiLDQ4MjoiU1VNSUZTIiw0ODM6 +IkFWRVJBR0VJRiIsNDg0OiJBVkVSQUdFSUZTIn07dmFyIGh2PXsyOjEsMzoxLDEwOjAsMTU6MSwx +NjoxLDE3OjEsMTg6MSwxOTowLDIwOjEsMjE6MSwyMjoxLDIzOjEsMjQ6MSwyNToxLDI2OjEsMjc6 +MiwzMDoyLDMxOjMsMzI6MSwzMzoxLDM0OjAsMzU6MCwzODoxLDM5OjIsNDA6Myw0MTozLDQyOjMs +NDM6Myw0NDozLDQ1OjMsNDc6Myw0ODoyLDUzOjEsNjE6Myw2MzowLDY1OjMsNjY6Myw2NzoxLDY4 +OjEsNjk6MSw3MDoxLDcxOjEsNzI6MSw3MzoxLDc0OjAsNzU6MSw3NjoxLDc3OjEsNzk6Miw4MDoy +LDgzOjEsODU6MCw4NjoxLDg5OjAsOTA6MSw5NDowLDk1OjAsOTc6Miw5ODoxLDk5OjEsMTAxOjMs +MTAyOjMsMTA1OjEsMTA2OjEsMTA4OjIsMTExOjEsMTEyOjEsMTEzOjEsMTE0OjEsMTE3OjIsMTE4 +OjEsMTE5OjQsMTIxOjEsMTI2OjEsMTI3OjEsMTI4OjEsMTI5OjEsMTMwOjEsMTMxOjEsMTMzOjEs +MTM0OjEsMTM1OjEsMTM2OjIsMTM3OjIsMTM4OjIsMTQwOjEsMTQxOjEsMTQyOjMsMTQzOjQsMTQ0 +OjQsMTYxOjEsMTYyOjEsMTYzOjEsMTY0OjEsMTY1OjIsMTcyOjEsMTc1OjIsMTc2OjIsMTc3OjMs +MTc4OjIsMTc5OjEsMTg0OjEsMTg2OjEsMTg5OjMsMTkwOjEsMTk1OjMsMTk2OjMsMTk3OjEsMTk4 +OjEsMTk5OjMsMjAxOjEsMjA3OjQsMjEwOjMsMjExOjEsMjEyOjIsMjEzOjIsMjE0OjEsMjE1OjEs +MjI1OjAsMjI5OjEsMjMwOjEsMjMxOjEsMjMyOjEsMjMzOjEsMjM0OjEsMjM1OjMsMjQ0OjEsMjQ3 +OjQsMjUyOjIsMjU3OjEsMjYxOjEsMjcxOjEsMjczOjQsMjc0OjIsMjc1OjIsMjc2OjIsMjc3OjMs +Mjc4OjMsMjc5OjEsMjgwOjMsMjgxOjMsMjgyOjMsMjgzOjEsMjg0OjEsMjg1OjIsMjg2OjQsMjg3 +OjMsMjg4OjIsMjg5OjQsMjkwOjMsMjkxOjMsMjkyOjMsMjkzOjQsMjk0OjEsMjk1OjMsMjk2OjEs +Mjk3OjMsMjk4OjEsMjk5OjIsMzAwOjMsMzAxOjMsMzAyOjQsMzAzOjIsMzA0OjIsMzA1OjIsMzA2 +OjIsMzA3OjIsMzA4OjIsMzA5OjMsMzEwOjIsMzExOjIsMzEyOjIsMzEzOjIsMzE0OjIsMzE1OjIs +MzE2OjQsMzI1OjIsMzI2OjIsMzI3OjIsMzI4OjIsMzMxOjIsMzMyOjIsMzM3OjIsMzQyOjEsMzQz +OjEsMzQ2OjIsMzQ3OjEsMzUwOjQsMzUxOjMsMzUyOjEsMzUzOjIsMzYwOjEsMzY4OjEsMzY5OjEs +MzcwOjEsMzcxOjEsMzcyOjEsMzczOjEsMzc0OjEsMzc1OjEsMzc2OjEsMzc3OjEsMzc4OjEsMzgy +OjMsMzg1OjEsMzkyOjEsMzkzOjEsMzk2OjIsMzk3OjIsMzk4OjIsMzk5OjEsNDAwOjEsNDAxOjEs +NDAyOjEsNDAzOjEsNDA0OjEsNDA1OjEsNDA2OjEsNDA3OjEsNDA4OjEsNDA5OjEsNDEwOjEsNDE0 +OjQsNDE1OjEsNDE2OjEsNDE3OjIsNDIwOjEsNDIxOjEsNDIyOjIsNDI0OjEsNDI1OjIsNDI2OjIs +NDI3OjIsNDI4OjIsNDMwOjMsNDM4OjMsNDM5OjMsNDQwOjMsNDQzOjIsNDQ0OjIsNDQ1OjIsNDQ2 +OjIsNDQ3OjYsNDQ4OjYsNDQ5OjIsNDUwOjIsNDY0OjIsNDY4OjMsNDc2OjIsNDc5OjEsNDgwOjIs +NjU1MzU6MH07ZnVuY3Rpb24gdXYoZSl7aWYoZS5zbGljZSgwLDMpPT0ib2Y6IillPWUuc2xpY2Uo +Myk7aWYoZS5jaGFyQ29kZUF0KDApPT02MSl7ZT1lLnNsaWNlKDEpO2lmKGUuY2hhckNvZGVBdCgw +KT09NjEpZT1lLnNsaWNlKDEpfWU9ZS5yZXBsYWNlKC9DT01cLk1JQ1JPU09GVFwuL2csIiIpO2U9 +ZS5yZXBsYWNlKC9cWygoPzpcLltBLVpdK1swLTldKykoPzo6XC5bQS1aXStbMC05XSspPylcXS9n +LGZ1bmN0aW9uKGUscil7cmV0dXJuIHIucmVwbGFjZSgvXC4vZywiIil9KTtlPWUucmVwbGFjZSgv +XCQnKFteJ118JycpKycvZyxmdW5jdGlvbihlKXtyZXR1cm4gZS5zbGljZSgxKX0pO2U9ZS5yZXBs +YWNlKC9cJChbXlxdXC4gIyRdKykvZyxmdW5jdGlvbihlLHIpe3JldHVybiByLm1hdGNoKC9eKFtB +LVpdezEsMn18W0EtV11bQS1aXXsyfXxYW0EtRV1bQS1aXXxYRltBLURdKT8oMTBbMC0zXVxkezR9 +fDEwNFswLTddXGR7M318MTA0OFswLTRdXGR7Mn18MTA0ODVbMC02XVxkfDEwNDg1N1swLTZdfFsx +LTldXGR7MCw1fSk/JC8pP2U6cn0pO2U9ZS5yZXBsYWNlKC9cWy4oI1tBLVpdKls/IV0pXF0vZywi +JDEiKTtyZXR1cm4gZS5yZXBsYWNlKC9bO35dL2csIiwiKS5yZXBsYWNlKC9cfC9nLCI7Iil9ZnVu +Y3Rpb24gZHYoZSl7dmFyIHI9Im9mOj0iK2UucmVwbGFjZSh0dSwiJDFbLiQyJDMkNCQ1XSIpLnJl +cGxhY2UoL1xdOlxbL2csIjoiKTtyZXR1cm4gci5yZXBsYWNlKC87L2csInwiKS5yZXBsYWNlKC8s +L2csIjsiKX1mdW5jdGlvbiB2dihlKXtlPWUucmVwbGFjZSgvXCQnKFteJ118JycpKycvZyxmdW5j +dGlvbihlKXtyZXR1cm4gZS5zbGljZSgxKX0pO2U9ZS5yZXBsYWNlKC9cJChbXlxdXC4gIyRdKykv +ZyxmdW5jdGlvbihlLHIpe3JldHVybiByLm1hdGNoKC9eKFtBLVpdezEsMn18W0EtV11bQS1aXXsy +fXxYW0EtRV1bQS1aXXxYRltBLURdKT8oMTBbMC0zXVxkezR9fDEwNFswLTddXGR7M318MTA0OFsw +LTRdXGR7Mn18MTA0ODVbMC02XVxkfDEwNDg1N1swLTZdfFsxLTldXGR7MCw1fSk/JC8pP2U6cn0p +O3ZhciByPWUuc3BsaXQoIjoiKTt2YXIgdD1yWzBdLnNwbGl0KCIuIilbMF07cmV0dXJuW3Qsclsw +XS5zcGxpdCgiLiIpWzFdKyhyLmxlbmd0aD4xPyI6IisoclsxXS5zcGxpdCgiLiIpWzFdfHxyWzFd +LnNwbGl0KCIuIilbMF0pOiIiKV19ZnVuY3Rpb24gcHYoZSl7cmV0dXJuIGUucmVwbGFjZSgvIS8s +Ii4iKS5yZXBsYWNlKC86LywiOi4iKX12YXIgbXY9e307dmFyIGd2PXt9O3ZhciBidj10eXBlb2Yg +TWFwIT09InVuZGVmaW5lZCI7ZnVuY3Rpb24gd3YoZSxyLHQpe3ZhciBhPTAsbj1lLmxlbmd0aDtp +Zih0KXtpZihidj90LmhhcyhyKTpPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwo +dCxyKSl7dmFyIGk9YnY/dC5nZXQocik6dFtyXTtmb3IoO2E8aS5sZW5ndGg7KythKXtpZihlW2lb +YV1dLnQ9PT1yKXtlLkNvdW50Kys7cmV0dXJuIGlbYV19fX19ZWxzZSBmb3IoO2E8bjsrK2Epe2lm +KGVbYV0udD09PXIpe2UuQ291bnQrKztyZXR1cm4gYX19ZVtuXT17dDpyfTtlLkNvdW50Kys7ZS5V +bmlxdWUrKztpZih0KXtpZihidil7aWYoIXQuaGFzKHIpKXQuc2V0KHIsW10pO3QuZ2V0KHIpLnB1 +c2gobil9ZWxzZXtpZighT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikp +dFtyXT1bXTt0W3JdLnB1c2gobil9fXJldHVybiBufWZ1bmN0aW9uIGt2KGUscil7dmFyIHQ9e21p +bjplKzEsbWF4OmUrMX07dmFyIGE9LTE7aWYoci5NRFcpYWM9ci5NRFc7aWYoci53aWR0aCE9bnVs +bCl0LmN1c3RvbVdpZHRoPTE7ZWxzZSBpZihyLndweCE9bnVsbClhPWljKHIud3B4KTtlbHNlIGlm +KHIud2NoIT1udWxsKWE9ci53Y2g7aWYoYT4tMSl7dC53aWR0aD1zYyhhKTt0LmN1c3RvbVdpZHRo +PTF9ZWxzZSBpZihyLndpZHRoIT1udWxsKXQud2lkdGg9ci53aWR0aDtpZihyLmhpZGRlbil0Lmhp +ZGRlbj10cnVlO2lmKHIubGV2ZWwhPW51bGwpe3Qub3V0bGluZUxldmVsPXQubGV2ZWw9ci5sZXZl +bH1yZXR1cm4gdH1mdW5jdGlvbiBBdihlLHIpe2lmKCFlKXJldHVybjt2YXIgdD1bLjcsLjcsLjc1 +LC43NSwuMywuM107aWYocj09InhsbWwiKXQ9WzEsMSwxLDEsLjUsLjVdO2lmKGUubGVmdD09bnVs +bCllLmxlZnQ9dFswXTtpZihlLnJpZ2h0PT1udWxsKWUucmlnaHQ9dFsxXTtpZihlLnRvcD09bnVs +bCllLnRvcD10WzJdO2lmKGUuYm90dG9tPT1udWxsKWUuYm90dG9tPXRbM107aWYoZS5oZWFkZXI9 +PW51bGwpZS5oZWFkZXI9dFs0XTtpZihlLmZvb3Rlcj09bnVsbCllLmZvb3Rlcj10WzVdfWZ1bmN0 +aW9uIFR2KGUscix0KXt2YXIgYT10LnJldnNzZltyLnohPW51bGw/ci56OiJHZW5lcmFsIl07dmFy +IG49NjAsaT1lLmxlbmd0aDtpZihhPT1udWxsJiZ0LnNzZil7Zm9yKDtuPDM5MjsrK24paWYodC5z +c2Zbbl09PW51bGwpe0plKHIueixuKTt0LnNzZltuXT1yLno7dC5yZXZzc2Zbci56XT1hPW47YnJl +YWt9fWZvcihuPTA7biE9aTsrK24paWYoZVtuXS5udW1GbXRJZD09PWEpcmV0dXJuIG47ZVtpXT17 +bnVtRm10SWQ6YSxmb250SWQ6MCxmaWxsSWQ6MCxib3JkZXJJZDowLHhmSWQ6MCxhcHBseU51bWJl +ckZvcm1hdDoxfTtyZXR1cm4gaX1mdW5jdGlvbiB5dihlLHIsdCxhLG4saSxzKXt0cnl7aWYoYS5j +ZWxsTkYpZS56PXFbcl19Y2F0Y2goZil7aWYoYS5XVEYpdGhyb3cgZn1pZihlLnQ9PT0ieiImJiFh +LmNlbGxTdHlsZXMpcmV0dXJuO2lmKGUudD09PSJkIiYmdHlwZW9mIGUudj09PSJzdHJpbmciKWUu +dj13cihlLnYpO2lmKCghYXx8YS5jZWxsVGV4dCE9PWZhbHNlKSYmZS50IT09InoiKXRyeXtpZihx +W3JdPT1udWxsKUplKEdlW3JdfHwiR2VuZXJhbCIscik7aWYoZS50PT09ImUiKWUudz1lLnd8fGNp +W2Uudl07ZWxzZSBpZihyPT09MCl7aWYoZS50PT09Im4iKXtpZigoZS52fDApPT09ZS52KWUudz1l +LnYudG9TdHJpbmcoMTApO2Vsc2UgZS53PWxlKGUudil9ZWxzZSBpZihlLnQ9PT0iZCIpe3ZhciBs +PWRyKGUudiwhIXMpO2lmKChsfDApPT09bCllLnc9bC50b1N0cmluZygxMCk7ZWxzZSBlLnc9bGUo +bCl9ZWxzZSBpZihlLnY9PT11bmRlZmluZWQpcmV0dXJuIiI7ZWxzZSBlLnc9b2UoZS52LGd2KX1l +bHNlIGlmKGUudD09PSJkIillLnc9emUocixkcihlLnYsISFzKSxndik7ZWxzZSBlLnc9emUocixl +LnYsZ3YpfWNhdGNoKGYpe2lmKGEuV1RGKXRocm93IGZ9aWYoIWEuY2VsbFN0eWxlcylyZXR1cm47 +aWYodCE9bnVsbCl0cnl7ZS5zPWkuRmlsbHNbdF07aWYoZS5zLmZnQ29sb3ImJmUucy5mZ0NvbG9y +LnRoZW1lJiYhZS5zLmZnQ29sb3IucmdiKXtlLnMuZmdDb2xvci5yZ2I9UW8obi50aGVtZUVsZW1l +bnRzLmNsclNjaGVtZVtlLnMuZmdDb2xvci50aGVtZV0ucmdiLGUucy5mZ0NvbG9yLnRpbnR8fDAp +O2lmKGEuV1RGKWUucy5mZ0NvbG9yLnJhd19yZ2I9bi50aGVtZUVsZW1lbnRzLmNsclNjaGVtZVtl +LnMuZmdDb2xvci50aGVtZV0ucmdifWlmKGUucy5iZ0NvbG9yJiZlLnMuYmdDb2xvci50aGVtZSl7 +ZS5zLmJnQ29sb3IucmdiPVFvKG4udGhlbWVFbGVtZW50cy5jbHJTY2hlbWVbZS5zLmJnQ29sb3Iu +dGhlbWVdLnJnYixlLnMuYmdDb2xvci50aW50fHwwKTtpZihhLldURillLnMuYmdDb2xvci5yYXdf +cmdiPW4udGhlbWVFbGVtZW50cy5jbHJTY2hlbWVbZS5zLmJnQ29sb3IudGhlbWVdLnJnYn19Y2F0 +Y2goZil7aWYoYS5XVEYmJmkuRmlsbHMpdGhyb3cgZn19ZnVuY3Rpb24gRXYoZSxyLHQpe2lmKGUm +JmVbIiFyZWYiXSl7dmFyIGE9ZW4oZVsiIXJlZiJdKTtpZihhLmUuYzxhLnMuY3x8YS5lLnI8YS5z +LnIpdGhyb3cgbmV3IEVycm9yKCJCYWQgcmFuZ2UgKCIrdCsiKTogIitlWyIhcmVmIl0pfX1mdW5j +dGlvbiBDdihlLHIpe3ZhciB0PWVuKHIpO2lmKHQucy5yPD10LmUuciYmdC5zLmM8PXQuZS5jJiZ0 +LnMucj49MCYmdC5zLmM+PTApZVsiIXJlZiJdPUphKHQpfXZhciBfdj0vPCg/Olx3KzopP21lcmdl +Q2VsbCByZWY9WyInXVtBLVowLTk6XStbJyJdXHMqW1wvXT8+L2c7dmFyIFN2PS88KD86XHcrOik/ +aHlwZXJsaW5rIFtePD5dKj4vZ207dmFyIHh2PS8iKFx3KjpcdyopIi87dmFyIE92PS88KD86XHcr +Oik/Y29sXGJbXjw+XSpbXC9dPz4vZzt2YXIgSXY9LzwoPzpcdys6KT9hdXRvRmlsdGVyW14+XSov +Zzt2YXIgUnY9LzwoPzpcdys6KT9wYWdlTWFyZ2luc1tePD5dKlwvPi9nO3ZhciBOdj0vPCg/Olx3 +KzopP3NoZWV0UHJcYltePD5dKj9cLz4vO2Z1bmN0aW9uIEZ2KGUscix0LGEsbixpLHMpe2lmKCFl +KXJldHVybiBlO2lmKCFhKWE9eyIhaWQiOnt9fTtpZihiIT1udWxsJiZyLmRlbnNlPT1udWxsKXIu +ZGVuc2U9Yjt2YXIgZj17fTtpZihyLmRlbnNlKWZbIiFkYXRhIl09W107dmFyIGw9e3M6e3I6MmU2 +LGM6MmU2fSxlOntyOjAsYzowfX07dmFyIG89IiIsYz0iIjt2YXIgaD1XcihlLCJzaGVldERhdGEi +KTtpZihoKXtvPWUuc2xpY2UoMCxoLmluZGV4KTtjPWUuc2xpY2UoaC5pbmRleCtoWzBdLmxlbmd0 +aCl9ZWxzZSBvPWM9ZTt2YXIgdT1vLm1hdGNoKE52KTtpZih1KVB2KHVbMF0sZixuLHQpO2Vsc2Ug +aWYodT1XcihvLCJzaGVldFByIikpTHYodVswXSx1WzFdfHwiIixmLG4sdCxzLGkpO3ZhciBkPShv +Lm1hdGNoKC88KD86XHcqOik/ZGltZW5zaW9uLyl8fHtpbmRleDotMX0pLmluZGV4O2lmKGQ+MCl7 +dmFyIHY9by5zbGljZShkLGQrNTApLm1hdGNoKHh2KTtpZih2JiYhKHImJnIubm9kaW0pKUN2KGYs +dlsxXSl9dmFyIHA9V3Iobywic2hlZXRWaWV3cyIpO2lmKHAmJnBbMV0pWXYocFsxXSxuKTt2YXIg +bT1bXTtpZihyLmNlbGxTdHlsZXMpe3ZhciBnPW8ubWF0Y2goT3YpO2lmKGcpJHYobSxnKX1pZiho +KXF2KGhbMV0sZixyLGwsaSxzLG4pO3ZhciB3PWMubWF0Y2goSXYpO2lmKHcpZlsiIWF1dG9maWx0 +ZXIiXT1Hdih3WzBdKTt2YXIgaz1bXTt2YXIgQT1jLm1hdGNoKF92KTtpZihBKWZvcihkPTA7ZCE9 +QS5sZW5ndGg7KytkKWtbZF09ZW4oQVtkXS5zbGljZShBW2RdLmluZGV4T2YoIj0iKSsyKSk7dmFy +IFQ9Yy5tYXRjaChTdik7aWYoVCl6dihmLFQsYSk7dmFyIHk9Yy5tYXRjaChSdik7aWYoeSlmWyIh +bWFyZ2lucyJdPUh2KGN0KHlbMF0pKTt2YXIgRTtpZihFPWMubWF0Y2goL2xlZ2FjeURyYXdpbmcg +cjppZD0iKC4qPykiLykpZlsiIWxlZ3JlbCJdPUVbMV07aWYociYmci5ub2RpbSlsLnMuYz1sLnMu +cj0wO2lmKCFmWyIhcmVmIl0mJmwuZS5jPj1sLnMuYyYmbC5lLnI+PWwucy5yKWZbIiFyZWYiXT1K +YShsKTtpZihyLnNoZWV0Um93cz4wJiZmWyIhcmVmIl0pe3ZhciBDPWVuKGZbIiFyZWYiXSk7aWYo +ci5zaGVldFJvd3M8PStDLmUucil7Qy5lLnI9ci5zaGVldFJvd3MtMTtpZihDLmUucj5sLmUucilD +LmUucj1sLmUucjtpZihDLmUucjxDLnMucilDLnMucj1DLmUucjtpZihDLmUuYz5sLmUuYylDLmUu +Yz1sLmUuYztpZihDLmUuYzxDLnMuYylDLnMuYz1DLmUuYztmWyIhZnVsbHJlZiJdPWZbIiFyZWYi +XTtmWyIhcmVmIl09SmEoQyl9fWlmKG0ubGVuZ3RoPjApZlsiIWNvbHMiXT1tO2lmKGsubGVuZ3Ro +PjApZlsiIW1lcmdlcyJdPWs7aWYoYVsiIWlkIl1bZlsiIWxlZ3JlbCJdXSlmWyIhbGVnZHJhd2Vs +Il09YVsiIWlkIl1bZlsiIWxlZ3JlbCJdXTtyZXR1cm4gZn1mdW5jdGlvbiBEdihlKXtpZihlLmxl +bmd0aD09PTApcmV0dXJuIiI7dmFyIHI9JzxtZXJnZUNlbGxzIGNvdW50PSInK2UubGVuZ3RoKyci +Pic7Zm9yKHZhciB0PTA7dCE9ZS5sZW5ndGg7Kyt0KXIrPSc8bWVyZ2VDZWxsIHJlZj0iJytKYShl +W3RdKSsnIi8+JztyZXR1cm4gcisiPC9tZXJnZUNlbGxzPiJ9ZnVuY3Rpb24gUHYoZSxyLHQsYSl7 +dmFyIG49Y3QoZSk7aWYoIXQuU2hlZXRzW2FdKXQuU2hlZXRzW2FdPXt9O2lmKG4uY29kZU5hbWUp +dC5TaGVldHNbYV0uQ29kZU5hbWU9cHQoSXQobi5jb2RlTmFtZSkpfWZ1bmN0aW9uIEx2KGUscix0 +LGEsbil7UHYoZS5zbGljZSgwLGUuaW5kZXhPZigiPiIpKSx0LGEsbil9ZnVuY3Rpb24gTXYoZSxy +LHQsYSxuKXt2YXIgaT1mYWxzZTt2YXIgcz17fSxmPW51bGw7aWYoYS5ib29rVHlwZSE9PSJ4bHN4 +IiYmci52YmFyYXcpe3ZhciBsPXIuU2hlZXROYW1lc1t0XTt0cnl7aWYoci5Xb3JrYm9vaylsPXIu +V29ya2Jvb2suU2hlZXRzW3RdLkNvZGVOYW1lfHxsfWNhdGNoKG8pe31pPXRydWU7cy5jb2RlTmFt +ZT1SdChidChsKSl9aWYoZSYmZVsiIW91dGxpbmUiXSl7dmFyIGM9e3N1bW1hcnlCZWxvdzoxLHN1 +bW1hcnlSaWdodDoxfTtpZihlWyIhb3V0bGluZSJdLmFib3ZlKWMuc3VtbWFyeUJlbG93PTA7aWYo +ZVsiIW91dGxpbmUiXS5sZWZ0KWMuc3VtbWFyeVJpZ2h0PTA7Zj0oZnx8IiIpK0J0KCJvdXRsaW5l +UHIiLG51bGwsYyl9aWYoIWkmJiFmKXJldHVybjtuW24ubGVuZ3RoXT1CdCgic2hlZXRQciIsZixz +KX12YXIgVXY9WyJvYmplY3RzIiwic2NlbmFyaW9zIiwic2VsZWN0TG9ja2VkQ2VsbHMiLCJzZWxl +Y3RVbmxvY2tlZENlbGxzIl07dmFyIEJ2PVsiZm9ybWF0Q29sdW1ucyIsImZvcm1hdFJvd3MiLCJm +b3JtYXRDZWxscyIsImluc2VydENvbHVtbnMiLCJpbnNlcnRSb3dzIiwiaW5zZXJ0SHlwZXJsaW5r +cyIsImRlbGV0ZUNvbHVtbnMiLCJkZWxldGVSb3dzIiwic29ydCIsImF1dG9GaWx0ZXIiLCJwaXZv +dFRhYmxlcyJdO2Z1bmN0aW9uIFd2KGUpe3ZhciByPXtzaGVldDoxfTtVdi5mb3JFYWNoKGZ1bmN0 +aW9uKHQpe2lmKGVbdF0hPW51bGwmJmVbdF0pclt0XT0iMSJ9KTtCdi5mb3JFYWNoKGZ1bmN0aW9u +KHQpe2lmKGVbdF0hPW51bGwmJiFlW3RdKXJbdF09IjAifSk7aWYoZS5wYXNzd29yZClyLnBhc3N3 +b3JkPVVvKGUucGFzc3dvcmQpLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpO3JldHVybiBCdCgi +c2hlZXRQcm90ZWN0aW9uIixudWxsLHIpfWZ1bmN0aW9uIHp2KGUscix0KXt2YXIgYT1lWyIhZGF0 +YSJdIT1udWxsO2Zvcih2YXIgbj0wO24hPXIubGVuZ3RoOysrbil7dmFyIGk9Y3QoSXQocltuXSks +dHJ1ZSk7aWYoIWkucmVmKXJldHVybjt2YXIgcz0oKHR8fHt9KVsiIWlkIl18fFtdKVtpLmlkXTtp +ZihzKXtpLlRhcmdldD1zLlRhcmdldDtpZihpLmxvY2F0aW9uKWkuVGFyZ2V0Kz0iIyIrcHQoaS5s +b2NhdGlvbil9ZWxzZXtpLlRhcmdldD0iIyIrcHQoaS5sb2NhdGlvbik7cz17VGFyZ2V0OmkuVGFy +Z2V0LFRhcmdldE1vZGU6IkludGVybmFsIn19aS5SZWw9cztpZihpLnRvb2x0aXApe2kuVG9vbHRp +cD1pLnRvb2x0aXA7ZGVsZXRlIGkudG9vbHRpcH12YXIgZj1lbihpLnJlZik7Zm9yKHZhciBsPWYu +cy5yO2w8PWYuZS5yOysrbClmb3IodmFyIG89Zi5zLmM7bzw9Zi5lLmM7KytvKXt2YXIgYz0kYShv +KStXYShsKTtpZihhKXtpZighZVsiIWRhdGEiXVtsXSllWyIhZGF0YSJdW2xdPVtdO2lmKCFlWyIh +ZGF0YSJdW2xdW29dKWVbIiFkYXRhIl1bbF1bb109e3Q6InoiLHY6dW5kZWZpbmVkfTtlWyIhZGF0 +YSJdW2xdW29dLmw9aX1lbHNle2lmKCFlW2NdKWVbY109e3Q6InoiLHY6dW5kZWZpbmVkfTtlW2Nd +Lmw9aX19fX1mdW5jdGlvbiBIdihlKXt2YXIgcj17fTtbImxlZnQiLCJyaWdodCIsInRvcCIsImJv +dHRvbSIsImhlYWRlciIsImZvb3RlciJdLmZvckVhY2goZnVuY3Rpb24odCl7aWYoZVt0XSlyW3Rd +PXBhcnNlRmxvYXQoZVt0XSl9KTtyZXR1cm4gcn1mdW5jdGlvbiBWdihlKXtBdihlKTtyZXR1cm4g +QnQoInBhZ2VNYXJnaW5zIixudWxsLGUpfWZ1bmN0aW9uICR2KGUscil7dmFyIHQ9ZmFsc2U7Zm9y +KHZhciBhPTA7YSE9ci5sZW5ndGg7KythKXt2YXIgbj1jdChyW2FdLHRydWUpO2lmKG4uaGlkZGVu +KW4uaGlkZGVuPUN0KG4uaGlkZGVuKTt2YXIgaT1wYXJzZUludChuLm1pbiwxMCktMSxzPXBhcnNl +SW50KG4ubWF4LDEwKS0xO2lmKG4ub3V0bGluZUxldmVsKW4ubGV2ZWw9K24ub3V0bGluZUxldmVs +fHwwO2RlbGV0ZSBuLm1pbjtkZWxldGUgbi5tYXg7bi53aWR0aD0rbi53aWR0aDtpZighdCYmbi53 +aWR0aCl7dD10cnVlO2xjKG4ud2lkdGgpfW9jKG4pO3doaWxlKGk8PXMpZVtpKytdPUFyKG4pfX1m +dW5jdGlvbiBYdihlLHIpe3ZhciB0PVsiPGNvbHM+Il0sYTtmb3IodmFyIG49MDtuIT1yLmxlbmd0 +aDsrK24pe2lmKCEoYT1yW25dKSljb250aW51ZTt0W3QubGVuZ3RoXT1CdCgiY29sIixudWxsLGt2 +KG4sYSkpfXRbdC5sZW5ndGhdPSI8L2NvbHM+IjtyZXR1cm4gdC5qb2luKCIiKX1mdW5jdGlvbiBH +dihlKXt2YXIgcj17cmVmOihlLm1hdGNoKC9yZWY9IihbXiJdKikiLyl8fFtdKVsxXX07cmV0dXJu +IHJ9ZnVuY3Rpb24ganYoZSxyLHQsYSl7dmFyIG49dHlwZW9mIGUucmVmPT0ic3RyaW5nIj9lLnJl +ZjpKYShlLnJlZik7aWYoIXQuV29ya2Jvb2spdC5Xb3JrYm9vaz17U2hlZXRzOltdfTtpZighdC5X +b3JrYm9vay5OYW1lcyl0Lldvcmtib29rLk5hbWVzPVtdO3ZhciBpPXQuV29ya2Jvb2suTmFtZXM7 +dmFyIHM9WmEobik7aWYocy5zLnI9PXMuZS5yKXtzLmUucj1aYShyWyIhcmVmIl0pLmUucjtuPUph +KHMpfWZvcih2YXIgZj0wO2Y8aS5sZW5ndGg7KytmKXt2YXIgbD1pW2ZdO2lmKGwuTmFtZSE9Il94 +bG5tLl9GaWx0ZXJEYXRhYmFzZSIpY29udGludWU7aWYobC5TaGVldCE9YSljb250aW51ZTtsLlJl +Zj1RYSh0LlNoZWV0TmFtZXNbYV0pKyIhIitxYShuKTticmVha31pZihmPT1pLmxlbmd0aClpLnB1 +c2goe05hbWU6Il94bG5tLl9GaWx0ZXJEYXRhYmFzZSIsU2hlZXQ6YSxSZWY6IiciK3QuU2hlZXRO +YW1lc1thXSsiJyEiK259KTtyZXR1cm4gQnQoImF1dG9GaWx0ZXIiLG51bGwse3JlZjpufSl9dmFy +IEt2PS88KD86XHc6KT9zaGVldFZpZXcoPzpbXjw+YS16XVtePD5dKik/XC8/Pi9nO2Z1bmN0aW9u +IFl2KGUscil7aWYoIXIuVmlld3Mpci5WaWV3cz1be31dOyhlLm1hdGNoKEt2KXx8W10pLmZvckVh +Y2goZnVuY3Rpb24oZSx0KXt2YXIgYT1jdChlKTtpZighci5WaWV3c1t0XSlyLlZpZXdzW3RdPXt9 +O2lmKCthLnpvb21TY2FsZSlyLlZpZXdzW3RdLnpvb209K2Euem9vbVNjYWxlO2lmKGEucmlnaHRU +b0xlZnQmJkN0KGEucmlnaHRUb0xlZnQpKXIuVmlld3NbdF0uUlRMPXRydWV9KX1mdW5jdGlvbiBa +dihlLHIsdCxhKXt2YXIgbj17d29ya2Jvb2tWaWV3SWQ6IjAifTtpZigoKChhfHx7fSkuV29ya2Jv +b2t8fHt9KS5WaWV3c3x8W10pWzBdKW4ucmlnaHRUb0xlZnQ9YS5Xb3JrYm9vay5WaWV3c1swXS5S +VEw/IjEiOiIwIjtyZXR1cm4gQnQoInNoZWV0Vmlld3MiLEJ0KCJzaGVldFZpZXciLG51bGwsbiks +e30pfWZ1bmN0aW9uIEp2KGUscix0LGEsbixpLHMpe2lmKGUuYyl0WyIhY29tbWVudHMiXS5wdXNo +KFtyLGUuY10pO2lmKChlLnY9PT11bmRlZmluZWR8fGUudD09PSJ6IiYmIShhfHx7fSkuc2hlZXRT +dHVicykmJnR5cGVvZiBlLmYhPT0ic3RyaW5nIiYmdHlwZW9mIGUuej09InVuZGVmaW5lZCIpcmV0 +dXJuIiI7dmFyIGY9IiI7dmFyIGw9ZS50LG89ZS52O2lmKGUudCE9PSJ6Iilzd2l0Y2goZS50KXtj +YXNlImIiOmY9ZS52PyIxIjoiMCI7YnJlYWs7Y2FzZSJuIjppZihpc05hTihlLnYpKXtlLnQ9ImUi +O2Y9Y2lbZS52PTM2XX1lbHNlIGlmKCFpc0Zpbml0ZShlLnYpKXtlLnQ9ImUiO2Y9Y2lbZS52PTdd +fWVsc2UgZj0iIitlLnY7YnJlYWs7Y2FzZSJlIjpmPWNpW2Uudl07YnJlYWs7Y2FzZSJkIjppZihh +JiZhLmNlbGxEYXRlcyl7dmFyIGM9d3IoZS52LHMpO2Y9Yy50b0lTT1N0cmluZygpO2lmKGMuZ2V0 +VVRDRnVsbFllYXIoKTwxOTAwKWY9Zi5zbGljZShmLmluZGV4T2YoIlQiKSsxKS5yZXBsYWNlKCJa +IiwiIil9ZWxzZXtlPUFyKGUpO2UudD0ibiI7Zj0iIisoZS52PWRyKHdyKGUudixzKSxzKSl9aWYo +dHlwZW9mIGUuej09PSJ1bmRlZmluZWQiKWUuej1xWzE0XTticmVhaztkZWZhdWx0OmY9ZS52O2Jy +ZWFrO312YXIgaD1lLnQ9PSJ6Inx8ZS52PT1udWxsPyIiOk10KCJ2IixidChmKSksdT17cjpyfTt2 +YXIgZD1UdihhLmNlbGxYZnMsZSxhKTtpZihkIT09MCl1LnM9ZDtzd2l0Y2goZS50KXtjYXNlIm4i +OmJyZWFrO2Nhc2UiZCI6dS50PSJkIjticmVhaztjYXNlImIiOnUudD0iYiI7YnJlYWs7Y2FzZSJl +Ijp1LnQ9ImUiO2JyZWFrO2Nhc2UieiI6YnJlYWs7ZGVmYXVsdDppZihlLnY9PW51bGwpe2RlbGV0 +ZSBlLnQ7YnJlYWt9aWYoZS52Lmxlbmd0aD4zMjc2Nyl0aHJvdyBuZXcgRXJyb3IoIlRleHQgbGVu +Z3RoIG11c3Qgbm90IGV4Y2VlZCAzMjc2NyBjaGFyYWN0ZXJzIik7aWYoYSYmYS5ib29rU1NUKXto +PU10KCJ2IiwiIit3dihhLlN0cmluZ3MsZS52LGEucmV2U3RyaW5ncykpO3UudD0icyI7YnJlYWt9 +ZWxzZSB1LnQ9InN0ciI7YnJlYWs7fWlmKGUudCE9bCl7ZS50PWw7ZS52PW99aWYodHlwZW9mIGUu +Zj09InN0cmluZyImJmUuZil7dmFyIHY9ZS5GJiZlLkYuc2xpY2UoMCxyLmxlbmd0aCk9PXI/e3Q6 +ImFycmF5IixyZWY6ZS5GfTpudWxsO2g9QnQoImYiLGJ0KGUuZiksdikrKGUudiE9bnVsbD9oOiIi +KX1pZihlLmwpe2UubC5kaXNwbGF5PWJ0KGYpO3RbIiFsaW5rcyJdLnB1c2goW3IsZS5sXSl9aWYo +ZS5EKXUuY209MTtyZXR1cm4gQnQoImMiLGgsdSl9dmFyIHF2PWZ1bmN0aW9uKCl7dmFyIGU9Lzwo +Pzpcdys6KT9jWyBcLz5dLyxyPS88XC8oPzpcdys6KT9yb3c+Lzt2YXIgdD0vcj1bIiddKFteIidd +KilbIiddLzt2YXIgYT0vcmVmPVsiJ10oW14iJ10qKVsiJ10vO3JldHVybiBmdW5jdGlvbiBuKGks +cyxmLGwsbyxjLGgpe3ZhciB1PTAsZD0iIix2PVtdLHA9W10sbT0wLGc9MCxiPTAsdz0iIixrO3Zh +ciBBLFQ9MCx5PTA7dmFyIEUsQzt2YXIgXz0wLFM9MDt2YXIgeD1BcnJheS5pc0FycmF5KGMuQ2Vs +bFhmKSxPO3ZhciBJPVtdO3ZhciBSPVtdO3ZhciBOPXNbIiFkYXRhIl0hPW51bGw7dmFyIEY9W10s +RD17fSxQPWZhbHNlO3ZhciBMPSEhZi5zaGVldFN0dWJzO3ZhciBNPSEhKChofHx7fSkuV0JQcm9w +c3x8e30pLmRhdGUxOTA0O2Zvcih2YXIgVT1pLnNwbGl0KHIpLEI9MCxXPVUubGVuZ3RoO0IhPVc7 +KytCKXtkPVVbQl0udHJpbSgpO3ZhciB6PWQubGVuZ3RoO2lmKHo9PT0wKWNvbnRpbnVlO3ZhciBI +PTA7ZTpmb3IodT0wO3U8ejsrK3Upc3dpdGNoKGRbdV0pe2Nhc2UiPiI6aWYoZFt1LTFdIT0iLyIp +eysrdTticmVhayBlfWlmKGYmJmYuY2VsbFN0eWxlcyl7QT1jdChkLnNsaWNlKEgsdSksdHJ1ZSk7 +VD1BLnIhPW51bGw/cGFyc2VJbnQoQS5yLDEwKTpUKzE7eT0tMTtpZihmLnNoZWV0Um93cyYmZi5z +aGVldFJvd3M8VCljb250aW51ZTtEPXt9O1A9ZmFsc2U7aWYoQS5odCl7UD10cnVlO0QuaHB0PXBh +cnNlRmxvYXQoQS5odCk7RC5ocHg9ZGMoRC5ocHQpfWlmKEEuaGlkZGVuJiZDdChBLmhpZGRlbikp +e1A9dHJ1ZTtELmhpZGRlbj10cnVlfWlmKEEub3V0bGluZUxldmVsIT1udWxsKXtQPXRydWU7RC5s +ZXZlbD0rQS5vdXRsaW5lTGV2ZWx9aWYoUClGW1QtMV09RH1icmVhaztjYXNlIjwiOkg9dTticmVh +azt9aWYoSD49dSlicmVhaztBPWN0KGQuc2xpY2UoSCx1KSx0cnVlKTtUPUEuciE9bnVsbD9wYXJz +ZUludChBLnIsMTApOlQrMTt5PS0xO2lmKGYuc2hlZXRSb3dzJiZmLnNoZWV0Um93czxUKWNvbnRp +bnVlO2lmKCFmLm5vZGltKXtpZihsLnMucj5ULTEpbC5zLnI9VC0xO2lmKGwuZS5yPFQtMSlsLmUu +cj1ULTF9aWYoZiYmZi5jZWxsU3R5bGVzKXtEPXt9O1A9ZmFsc2U7aWYoQS5odCl7UD10cnVlO0Qu +aHB0PXBhcnNlRmxvYXQoQS5odCk7RC5ocHg9ZGMoRC5ocHQpfWlmKEEuaGlkZGVuJiZDdChBLmhp +ZGRlbikpe1A9dHJ1ZTtELmhpZGRlbj10cnVlfWlmKEEub3V0bGluZUxldmVsIT1udWxsKXtQPXRy +dWU7RC5sZXZlbD0rQS5vdXRsaW5lTGV2ZWx9aWYoUClGW1QtMV09RH12PWQuc2xpY2UodSkuc3Bs +aXQoZSk7Zm9yKHZhciBWPTA7ViE9di5sZW5ndGg7KytWKWlmKHZbVl0udHJpbSgpLmNoYXJBdCgw +KSE9IjwiKWJyZWFrO3Y9di5zbGljZShWKTtmb3IodT0wO3UhPXYubGVuZ3RoOysrdSl7ZD12W3Vd +LnRyaW0oKTtpZihkLmxlbmd0aD09PTApY29udGludWU7cD1kLm1hdGNoKHQpO209dTtnPTA7Yj0w +O2Q9IjxjICIrKGQuc2xpY2UoMCwxKT09IjwiPyI+IjoiIikrZDtpZihwIT1udWxsJiZwLmxlbmd0 +aD09PTIpe209MDt3PXBbMV07Zm9yKGc9MDtnIT13Lmxlbmd0aDsrK2cpe2lmKChiPXcuY2hhckNv +ZGVBdChnKS02NCk8MXx8Yj4yNilicmVhazttPTI2Km0rYn0tLW07eT1tfWVsc2UrK3k7Zm9yKGc9 +MDtnIT1kLmxlbmd0aDsrK2cpaWYoZC5jaGFyQ29kZUF0KGcpPT09NjIpYnJlYWs7KytnO0E9Y3Qo +ZC5zbGljZSgwLGcpLHRydWUpO2lmKCFBLnIpQS5yPVlhKHtyOlQtMSxjOnl9KTt3PWQuc2xpY2Uo +Zyk7az17dDoiIn07aWYoKHA9V3IodywidiIpKSE9bnVsbCYmcFsxXSE9PSIiKWsudj1wdChwWzFd +KTtpZihmLmNlbGxGb3JtdWxhKXtpZigocD1Xcih3LCJmIikpIT1udWxsKXtpZihwWzFdPT0iIil7 +aWYocFswXS5pbmRleE9mKCd0PSJzaGFyZWQiJyk+LTEpe0M9Y3QocFswXSk7aWYoUltDLnNpXSlr +LmY9c3UoUltDLnNpXVsxXSxSW0Muc2ldWzJdLEEucil9fWVsc2V7ay5mPXB0KEl0KHBbMV0pLHRy +dWUpO2lmKCFmLnhsZm4pay5mPWx1KGsuZik7aWYocFswXS5pbmRleE9mKCd0PSJhcnJheSInKT4t +MSl7ay5GPSh3Lm1hdGNoKGEpfHxbXSlbMV07aWYoay5GLmluZGV4T2YoIjoiKT4tMSlJLnB1c2go +W2VuKGsuRiksay5GXSl9ZWxzZSBpZihwWzBdLmluZGV4T2YoJ3Q9InNoYXJlZCInKT4tMSl7Qz1j +dChwWzBdKTt2YXIgJD1wdChJdChwWzFdKSk7aWYoIWYueGxmbikkPWx1KCQpO1JbcGFyc2VJbnQo +Qy5zaSwxMCldPVtDLCQsQS5yXX19fWVsc2UgaWYocD13Lm1hdGNoKC88ZltePD5dKlwvPi8pKXtD +PWN0KHBbMF0pO2lmKFJbQy5zaV0pay5mPXN1KFJbQy5zaV1bMV0sUltDLnNpXVsyXSxBLnIpfXZh +ciBYPUthKEEucik7Zm9yKGc9MDtnPEkubGVuZ3RoOysrZylpZihYLnI+PUlbZ11bMF0ucy5yJiZY +LnI8PUlbZ11bMF0uZS5yKWlmKFguYz49SVtnXVswXS5zLmMmJlguYzw9SVtnXVswXS5lLmMpay5G +PUlbZ11bMV19aWYoQS50PT1udWxsJiZrLnY9PT11bmRlZmluZWQpe2lmKGsuZnx8ay5GKXtrLnY9 +MDtrLnQ9Im4ifWVsc2UgaWYoIUwpY29udGludWU7ZWxzZSBrLnQ9InoifWVsc2Ugay50PUEudHx8 +Im4iO2lmKGwucy5jPnkpbC5zLmM9eTtpZihsLmUuYzx5KWwuZS5jPXk7c3dpdGNoKGsudCl7Y2Fz +ZSJuIjppZihrLnY9PSIifHxrLnY9PW51bGwpe2lmKCFMKWNvbnRpbnVlO2sudD0ieiJ9ZWxzZSBr +LnY9cGFyc2VGbG9hdChrLnYpO2JyZWFrO2Nhc2UicyI6aWYodHlwZW9mIGsudj09InVuZGVmaW5l +ZCIpe2lmKCFMKWNvbnRpbnVlO2sudD0ieiJ9ZWxzZXtFPW12W3BhcnNlSW50KGsudiwxMCldO2su +dj1FLnQ7ay5yPUUucjtpZihmLmNlbGxIVE1MKWsuaD1FLmh9YnJlYWs7Y2FzZSJzdHIiOmsudD0i +cyI7ay52PWsudiE9bnVsbD9wdChJdChrLnYpLHRydWUpOiIiO2lmKGYuY2VsbEhUTUwpay5oPUF0 +KGsudik7YnJlYWs7Y2FzZSJpbmxpbmVTdHIiOnA9V3IodywiaXMiKTtrLnQ9InMiO2lmKHAhPW51 +bGwmJihFPWNvKHBbMV0pKSl7ay52PUUudDtpZihmLmNlbGxIVE1MKWsuaD1FLmh9ZWxzZSBrLnY9 +IiI7YnJlYWs7Y2FzZSJiIjprLnY9Q3Qoay52KTticmVhaztjYXNlImQiOmlmKGYuY2VsbERhdGVz +KWsudj13cihrLnYsTSk7ZWxzZXtrLnY9ZHIod3Ioay52LE0pLE0pO2sudD0ibiJ9YnJlYWs7Y2Fz +ZSJlIjppZighZnx8Zi5jZWxsVGV4dCE9PWZhbHNlKWsudz1rLnY7ay52PWhpW2sudl07YnJlYWs7 +fV89Uz0wO089bnVsbDtpZih4JiZBLnMhPT11bmRlZmluZWQpe089Yy5DZWxsWGZbQS5zXTtpZihP +IT1udWxsKXtpZihPLm51bUZtdElkIT1udWxsKV89Ty5udW1GbXRJZDtpZihmLmNlbGxTdHlsZXMp +e2lmKE8uZmlsbElkIT1udWxsKVM9Ty5maWxsSWR9fX15dihrLF8sUyxmLG8sYyxNKTtpZihmLmNl +bGxEYXRlcyYmeCYmay50PT0ibiImJkxlKHFbX10pKXtrLnY9dnIoay52KyhNPzE0NjI6MCkpO2su +dD10eXBlb2Ygay52PT0ibnVtYmVyIj8ibiI6ImQifWlmKEEuY20mJmYueGxtZXRhKXt2YXIgRz0o +Zi54bG1ldGEuQ2VsbHx8W10pWytBLmNtLTFdO2lmKEcmJkcudHlwZT09IlhMREFQUiIpay5EPXRy +dWV9dmFyIGo7aWYoZi5ub2RpbSl7aj1LYShBLnIpO2lmKGwucy5yPmoucilsLnMucj1qLnI7aWYo +bC5lLnI8ai5yKWwuZS5yPWoucn1pZihOKXtqPUthKEEucik7aWYoIXNbIiFkYXRhIl1bai5yXSlz +WyIhZGF0YSJdW2oucl09W107c1siIWRhdGEiXVtqLnJdW2ouY109a31lbHNlIHNbQS5yXT1rfX1p +ZihGLmxlbmd0aD4wKXNbIiFyb3dzIl09Rn19KCk7ZnVuY3Rpb24gUXYoZSxyLHQsYSl7dmFyIG49 +W10saT1bXSxzPWVuKGVbIiFyZWYiXSksZj0iIixsLG89IiIsYz1bXSxoPTAsdT0wLGQ9ZVsiIXJv +d3MiXTt2YXIgdj1lWyIhZGF0YSJdIT1udWxsLHA9dj9lWyIhZGF0YSJdOltdO3ZhciBtPXtyOm99 +LGcsYj0tMTt2YXIgdz0oKChhfHx7fSkuV29ya2Jvb2t8fHt9KS5XQlByb3BzfHx7fSkuZGF0ZTE5 +MDQ7Zm9yKHU9cy5zLmM7dTw9cy5lLmM7Kyt1KWNbdV09JGEodSk7Zm9yKGg9cy5zLnI7aDw9cy5l +LnI7KytoKXtpPVtdO289V2EoaCk7dmFyIGs9dj9wW2hdOltdO2Zvcih1PXMucy5jO3U8PXMuZS5j +OysrdSl7bD1jW3VdK287dmFyIEE9dj9rW3VdOmVbbF07aWYoQT09PXVuZGVmaW5lZCljb250aW51 +ZTtpZigoZj1KdihBLGwsZSxyLHQsYSx3KSkhPW51bGwpaS5wdXNoKGYpfWlmKGkubGVuZ3RoPjB8 +fGQmJmRbaF0pe209e3I6b307aWYoZCYmZFtoXSl7Zz1kW2hdO2lmKGcuaGlkZGVuKW0uaGlkZGVu +PTE7Yj0tMTtpZihnLmhweCliPXVjKGcuaHB4KTtlbHNlIGlmKGcuaHB0KWI9Zy5ocHQ7aWYoYj4t +MSl7bS5odD1iO20uY3VzdG9tSGVpZ2h0PTF9aWYoZy5sZXZlbCl7bS5vdXRsaW5lTGV2ZWw9Zy5s +ZXZlbH19bltuLmxlbmd0aF09QnQoInJvdyIsaS5qb2luKCIiKSxtKX19aWYoZClmb3IoO2g8ZC5s +ZW5ndGg7KytoKXtpZihkJiZkW2hdKXttPXtyOmgrMX07Zz1kW2hdO2lmKGcuaGlkZGVuKW0uaGlk +ZGVuPTE7Yj0tMTtpZihnLmhweCliPXVjKGcuaHB4KTtlbHNlIGlmKGcuaHB0KWI9Zy5ocHQ7aWYo +Yj4tMSl7bS5odD1iO20uY3VzdG9tSGVpZ2h0PTF9aWYoZy5sZXZlbCl7bS5vdXRsaW5lTGV2ZWw9 +Zy5sZXZlbH1uW24ubGVuZ3RoXT1CdCgicm93IiwiIixtKX19cmV0dXJuIG4uam9pbigiIil9ZnVu +Y3Rpb24gZXAoZSxyLHQsYSl7dmFyIG49W2F0LEJ0KCJ3b3Jrc2hlZXQiLG51bGwse3htbG5zOlh0 +WzBdLCJ4bWxuczpyIjokdC5yfSldO3ZhciBpPXQuU2hlZXROYW1lc1tlXSxzPTAsZj0iIjt2YXIg +bD10LlNoZWV0c1tpXTtpZihsPT1udWxsKWw9e307dmFyIG89bFsiIXJlZiJdfHwiQTEiO3ZhciBj +PWVuKG8pO2lmKGMuZS5jPjE2MzgzfHxjLmUucj4xMDQ4NTc1KXtpZihyLldURil0aHJvdyBuZXcg +RXJyb3IoIlJhbmdlICIrbysiIGV4Y2VlZHMgZm9ybWF0IGxpbWl0IEExOlhGRDEwNDg1NzYiKTtj +LmUuYz1NYXRoLm1pbihjLmUuYywxNjM4Myk7Yy5lLnI9TWF0aC5taW4oYy5lLmMsMTA0ODU3NSk7 +bz1KYShjKX1pZighYSlhPXt9O2xbIiFjb21tZW50cyJdPVtdO3ZhciBoPVtdO012KGwsdCxlLHIs +bik7bltuLmxlbmd0aF09QnQoImRpbWVuc2lvbiIsbnVsbCx7cmVmOm99KTtuW24ubGVuZ3RoXT1a +dihsLHIsZSx0KTtpZihyLnNoZWV0Rm9ybWF0KW5bbi5sZW5ndGhdPUJ0KCJzaGVldEZvcm1hdFBy +IixudWxsLHtkZWZhdWx0Um93SGVpZ2h0OnIuc2hlZXRGb3JtYXQuZGVmYXVsdFJvd0hlaWdodHx8 +IjE2IixiYXNlQ29sV2lkdGg6ci5zaGVldEZvcm1hdC5iYXNlQ29sV2lkdGh8fCIxMCIsb3V0bGlu +ZUxldmVsUm93OnIuc2hlZXRGb3JtYXQub3V0bGluZUxldmVsUm93fHwiNyJ9KTtpZihsWyIhY29s +cyJdIT1udWxsJiZsWyIhY29scyJdLmxlbmd0aD4wKW5bbi5sZW5ndGhdPVh2KGwsbFsiIWNvbHMi +XSk7bltzPW4ubGVuZ3RoXT0iPHNoZWV0RGF0YS8+IjtsWyIhbGlua3MiXT1bXTtpZihsWyIhcmVm +Il0hPW51bGwpe2Y9UXYobCxyLGUsdCxhKTtpZihmLmxlbmd0aD4wKW5bbi5sZW5ndGhdPWZ9aWYo +bi5sZW5ndGg+cysxKXtuW24ubGVuZ3RoXT0iPC9zaGVldERhdGE+IjtuW3NdPW5bc10ucmVwbGFj +ZSgiLz4iLCI+Iil9aWYobFsiIXByb3RlY3QiXSluW24ubGVuZ3RoXT1XdihsWyIhcHJvdGVjdCJd +KTtpZihsWyIhYXV0b2ZpbHRlciJdIT1udWxsKW5bbi5sZW5ndGhdPWp2KGxbIiFhdXRvZmlsdGVy +Il0sbCx0LGUpO2lmKGxbIiFtZXJnZXMiXSE9bnVsbCYmbFsiIW1lcmdlcyJdLmxlbmd0aD4wKW5b +bi5sZW5ndGhdPUR2KGxbIiFtZXJnZXMiXSk7dmFyIHU9LTEsZCx2PS0xO2lmKGxbIiFsaW5rcyJd +Lmxlbmd0aD4wKXtuW24ubGVuZ3RoXT0iPGh5cGVybGlua3M+IjtsWyIhbGlua3MiXS5mb3JFYWNo +KGZ1bmN0aW9uKGUpe2lmKCFlWzFdLlRhcmdldClyZXR1cm47ZD17cmVmOmVbMF19O2lmKGVbMV0u +VGFyZ2V0LmNoYXJBdCgwKSE9IiMiKXt2PVRpKGEsLTEsYnQoZVsxXS5UYXJnZXQpLnJlcGxhY2Uo +LyNbXHNcU10qJC8sIiIpLGJpLkhMSU5LKTtkWyJyOmlkIl09InJJZCIrdn1pZigodT1lWzFdLlRh +cmdldC5pbmRleE9mKCIjIikpPi0xKWQubG9jYXRpb249YnQoZVsxXS5UYXJnZXQuc2xpY2UodSsx +KSk7CmlmKGVbMV0uVG9vbHRpcClkLnRvb2x0aXA9YnQoZVsxXS5Ub29sdGlwKTtkLmRpc3BsYXk9 +ZVsxXS5kaXNwbGF5O25bbi5sZW5ndGhdPUJ0KCJoeXBlcmxpbmsiLG51bGwsZCl9KTtuW24ubGVu +Z3RoXT0iPC9oeXBlcmxpbmtzPiJ9ZGVsZXRlIGxbIiFsaW5rcyJdO2lmKGxbIiFtYXJnaW5zIl0h +PW51bGwpbltuLmxlbmd0aF09VnYobFsiIW1hcmdpbnMiXSk7aWYoIXJ8fHIuaWdub3JlRUN8fHIu +aWdub3JlRUM9PXZvaWQgMCluW24ubGVuZ3RoXT1NdCgiaWdub3JlZEVycm9ycyIsQnQoImlnbm9y +ZWRFcnJvciIsbnVsbCx7bnVtYmVyU3RvcmVkQXNUZXh0OjEsc3FyZWY6b30pKTtpZihoLmxlbmd0 +aD4wKXt2PVRpKGEsLTEsIi4uL2RyYXdpbmdzL2RyYXdpbmciKyhlKzEpKyIueG1sIixiaS5EUkFX +KTtuW24ubGVuZ3RoXT1CdCgiZHJhd2luZyIsbnVsbCx7InI6aWQiOiJySWQiK3Z9KTtsWyIhZHJh +d2luZyJdPWh9aWYobFsiIWNvbW1lbnRzIl0ubGVuZ3RoPjApe3Y9VGkoYSwtMSwiLi4vZHJhd2lu +Z3Mvdm1sRHJhd2luZyIrKGUrMSkrIi52bWwiLGJpLlZNTCk7bltuLmxlbmd0aF09QnQoImxlZ2Fj +eURyYXdpbmciLG51bGwseyJyOmlkIjoicklkIit2fSk7bFsiIWxlZ2FjeSJdPXZ9aWYobi5sZW5n +dGg+MSl7bltuLmxlbmd0aF09Ijwvd29ya3NoZWV0PiI7blsxXT1uWzFdLnJlcGxhY2UoIi8+Iiwi +PiIpfXJldHVybiBuLmpvaW4oIiIpfWZ1bmN0aW9uIHJwKGUscil7dmFyIHQ9e307dmFyIGE9ZS5s +K3I7dC5yPWUuX1IoNCk7ZS5sKz00O3ZhciBuPWUuX1IoMik7ZS5sKz0xO3ZhciBpPWUuX1IoMSk7 +ZS5sPWE7aWYoaSY3KXQubGV2ZWw9aSY3O2lmKGkmMTYpdC5oaWRkZW49dHJ1ZTtpZihpJjMyKXQu +aHB0PW4vMjA7cmV0dXJuIHR9ZnVuY3Rpb24gdHAoZSxyLHQpe3ZhciBhPVJhKDE3KzgqMTYpO3Zh +ciBuPSh0WyIhcm93cyJdfHxbXSlbZV18fHt9O2EuX1coNCxlKTthLl9XKDQsMCk7dmFyIGk9MzIw +O2lmKG4uaHB4KWk9dWMobi5ocHgpKjIwO2Vsc2UgaWYobi5ocHQpaT1uLmhwdCoyMDthLl9XKDIs +aSk7YS5fVygxLDApO3ZhciBzPTA7aWYobi5sZXZlbClzfD1uLmxldmVsO2lmKG4uaGlkZGVuKXN8 +PTE2O2lmKG4uaHB4fHxuLmhwdClzfD0zMjthLl9XKDEscyk7YS5fVygxLDApO3ZhciBmPTAsbD1h +Lmw7YS5sKz00O3ZhciBvPXtyOmUsYzowfTt2YXIgYz10WyIhZGF0YSJdIT1udWxsO2Zvcih2YXIg +aD0wO2g8MTY7KytoKXtpZihyLnMuYz5oKzE8PDEwfHxyLmUuYzxoPDwxMCljb250aW51ZTt2YXIg +dT0tMSxkPS0xO2Zvcih2YXIgdj1oPDwxMDt2PGgrMTw8MTA7Kyt2KXtvLmM9djt2YXIgcD1jPyh0 +WyIhZGF0YSJdW28ucl18fFtdKVtvLmNdOnRbWWEobyldO2lmKHApe2lmKHU8MCl1PXY7ZD12fX1p +Zih1PDApY29udGludWU7KytmO2EuX1coNCx1KTthLl9XKDQsZCl9dmFyIG09YS5sO2EubD1sO2Eu +X1coNCxmKTthLmw9bTtyZXR1cm4gYS5sZW5ndGg+YS5sP2Euc2xpY2UoMCxhLmwpOmF9ZnVuY3Rp +b24gYXAoZSxyLHQsYSl7dmFyIG49dHAoYSx0LHIpO2lmKG4ubGVuZ3RoPjE3fHwoclsiIXJvd3Mi +XXx8W10pW2FdKURhKGUsMCxuKX12YXIgbnA9Rm47dmFyIGlwPURuO2Z1bmN0aW9uIHNwKCl7fWZ1 +bmN0aW9uIGZwKGUscil7dmFyIHQ9e307dmFyIGE9ZVtlLmxdOysrZS5sO3QuYWJvdmU9IShhJjY0 +KTt0LmxlZnQ9IShhJjEyOCk7ZS5sKz0xODt0Lm5hbWU9VG4oZSxyLTE5KTtyZXR1cm4gdH1mdW5j +dGlvbiBscChlLHIsdCl7aWYodD09bnVsbCl0PVJhKDg0KzQqZS5sZW5ndGgpO3ZhciBhPTE5Mjtp +ZihyKXtpZihyLmFib3ZlKWEmPX42NDtpZihyLmxlZnQpYSY9fjEyOH10Ll9XKDEsYSk7Zm9yKHZh +ciBuPTE7bjwzOysrbil0Ll9XKDEsMCk7VW4oe2F1dG86MX0sdCk7dC5fVygtNCwtMSk7dC5fVygt +NCwtMSk7eW4oZSx0KTtyZXR1cm4gdC5zbGljZSgwLHQubCl9ZnVuY3Rpb24gb3AoZSl7dmFyIHI9 +Ym4oZSk7cmV0dXJuW3JdfWZ1bmN0aW9uIGNwKGUscix0KXtpZih0PT1udWxsKXQ9UmEoOCk7cmV0 +dXJuIHduKHIsdCl9ZnVuY3Rpb24gaHAoZSl7dmFyIHI9a24oZSk7cmV0dXJuW3JdfWZ1bmN0aW9u +IHVwKGUscix0KXtpZih0PT1udWxsKXQ9UmEoNCk7cmV0dXJuIEFuKHIsdCl9ZnVuY3Rpb24gZHAo +ZSl7dmFyIHI9Ym4oZSk7dmFyIHQ9ZS5fUigxKTtyZXR1cm5bcix0LCJiIl19ZnVuY3Rpb24gdnAo +ZSxyLHQpe2lmKHQ9PW51bGwpdD1SYSg5KTt3bihyLHQpO3QuX1coMSxlLnY/MTowKTtyZXR1cm4g +dH1mdW5jdGlvbiBwcChlKXt2YXIgcj1rbihlKTt2YXIgdD1lLl9SKDEpO3JldHVybltyLHQsImIi +XX1mdW5jdGlvbiBtcChlLHIsdCl7aWYodD09bnVsbCl0PVJhKDUpO0FuKHIsdCk7dC5fVygxLGUu +dj8xOjApO3JldHVybiB0fWZ1bmN0aW9uIGdwKGUpe3ZhciByPWJuKGUpO3ZhciB0PWUuX1IoMSk7 +cmV0dXJuW3IsdCwiZSJdfWZ1bmN0aW9uIGJwKGUscix0KXtpZih0PT1udWxsKXQ9UmEoOSk7d24o +cix0KTt0Ll9XKDEsZS52KTtyZXR1cm4gdH1mdW5jdGlvbiB3cChlKXt2YXIgcj1rbihlKTt2YXIg +dD1lLl9SKDEpO3JldHVybltyLHQsImUiXX1mdW5jdGlvbiBrcChlLHIsdCl7aWYodD09bnVsbCl0 +PVJhKDgpO0FuKHIsdCk7dC5fVygxLGUudik7dC5fVygyLDApO3QuX1coMSwwKTtyZXR1cm4gdH1m +dW5jdGlvbiBBcChlKXt2YXIgcj1ibihlKTt2YXIgdD1lLl9SKDQpO3JldHVybltyLHQsInMiXX1m +dW5jdGlvbiBUcChlLHIsdCl7aWYodD09bnVsbCl0PVJhKDEyKTt3bihyLHQpO3QuX1coNCxyLnYp +O3JldHVybiB0fWZ1bmN0aW9uIHlwKGUpe3ZhciByPWtuKGUpO3ZhciB0PWUuX1IoNCk7cmV0dXJu +W3IsdCwicyJdfWZ1bmN0aW9uIEVwKGUscix0KXtpZih0PT1udWxsKXQ9UmEoOCk7QW4ocix0KTt0 +Ll9XKDQsci52KTtyZXR1cm4gdH1mdW5jdGlvbiBDcChlKXt2YXIgcj1ibihlKTt2YXIgdD1Qbihl +KTtyZXR1cm5bcix0LCJuIl19ZnVuY3Rpb24gX3AoZSxyLHQpe2lmKHQ9PW51bGwpdD1SYSgxNik7 +d24ocix0KTtMbihlLnYsdCk7cmV0dXJuIHR9ZnVuY3Rpb24gU3AoZSl7dmFyIHI9a24oZSk7dmFy +IHQ9UG4oZSk7cmV0dXJuW3IsdCwibiJdfWZ1bmN0aW9uIHhwKGUscix0KXtpZih0PT1udWxsKXQ9 +UmEoMTIpO0FuKHIsdCk7TG4oZS52LHQpO3JldHVybiB0fWZ1bmN0aW9uIE9wKGUpe3ZhciByPWJu +KGUpO3ZhciB0PU9uKGUpO3JldHVybltyLHQsIm4iXX1mdW5jdGlvbiBJcChlLHIsdCl7aWYodD09 +bnVsbCl0PVJhKDEyKTt3bihyLHQpO0luKGUudix0KTtyZXR1cm4gdH1mdW5jdGlvbiBScChlKXt2 +YXIgcj1rbihlKTt2YXIgdD1PbihlKTtyZXR1cm5bcix0LCJuIl19ZnVuY3Rpb24gTnAoZSxyLHQp +e2lmKHQ9PW51bGwpdD1SYSg4KTtBbihyLHQpO0luKGUudix0KTtyZXR1cm4gdH1mdW5jdGlvbiBG +cChlKXt2YXIgcj1ibihlKTt2YXIgdD12bihlKTtyZXR1cm5bcix0LCJpcyJdfWZ1bmN0aW9uIERw +KGUpe3ZhciByPWJuKGUpO3ZhciB0PWNuKGUpO3JldHVybltyLHQsInN0ciJdfWZ1bmN0aW9uIFBw +KGUscix0KXt2YXIgYT1lLnY9PW51bGw/IiI6U3RyaW5nKGUudik7aWYodD09bnVsbCl0PVJhKDEy +KzQqZS52Lmxlbmd0aCk7d24ocix0KTtobihhLHQpO3JldHVybiB0Lmxlbmd0aD50Lmw/dC5zbGlj +ZSgwLHQubCk6dH1mdW5jdGlvbiBMcChlKXt2YXIgcj1rbihlKTt2YXIgdD1jbihlKTtyZXR1cm5b +cix0LCJzdHIiXX1mdW5jdGlvbiBNcChlLHIsdCl7dmFyIGE9ZS52PT1udWxsPyIiOlN0cmluZyhl +LnYpO2lmKHQ9PW51bGwpdD1SYSg4KzQqYS5sZW5ndGgpO0FuKHIsdCk7aG4oYSx0KTtyZXR1cm4g +dC5sZW5ndGg+dC5sP3Quc2xpY2UoMCx0LmwpOnR9ZnVuY3Rpb24gVXAoZSxyLHQpe3ZhciBhPWUu +bCtyO3ZhciBuPWJuKGUpO24ucj10WyIhcm93Il07dmFyIGk9ZS5fUigxKTt2YXIgcz1bbixpLCJi +Il07aWYodC5jZWxsRm9ybXVsYSl7ZS5sKz0yO3ZhciBmPUtkKGUsYS1lLmwsdCk7c1szXT1NZChm +LG51bGwsbix0LnN1cGJvb2tzLHQpfWVsc2UgZS5sPWE7cmV0dXJuIHN9ZnVuY3Rpb24gQnAoZSxy +LHQpe3ZhciBhPWUubCtyO3ZhciBuPWJuKGUpO24ucj10WyIhcm93Il07dmFyIGk9ZS5fUigxKTt2 +YXIgcz1bbixpLCJlIl07aWYodC5jZWxsRm9ybXVsYSl7ZS5sKz0yO3ZhciBmPUtkKGUsYS1lLmws +dCk7c1szXT1NZChmLG51bGwsbix0LnN1cGJvb2tzLHQpfWVsc2UgZS5sPWE7cmV0dXJuIHN9ZnVu +Y3Rpb24gV3AoZSxyLHQpe3ZhciBhPWUubCtyO3ZhciBuPWJuKGUpO24ucj10WyIhcm93Il07dmFy +IGk9UG4oZSk7dmFyIHM9W24saSwibiJdO2lmKHQuY2VsbEZvcm11bGEpe2UubCs9Mjt2YXIgZj1L +ZChlLGEtZS5sLHQpO3NbM109TWQoZixudWxsLG4sdC5zdXBib29rcyx0KX1lbHNlIGUubD1hO3Jl +dHVybiBzfWZ1bmN0aW9uIHpwKGUscix0KXt2YXIgYT1lLmwrcjt2YXIgbj1ibihlKTtuLnI9dFsi +IXJvdyJdO3ZhciBpPWNuKGUpO3ZhciBzPVtuLGksInN0ciJdO2lmKHQuY2VsbEZvcm11bGEpe2Uu +bCs9Mjt2YXIgZj1LZChlLGEtZS5sLHQpO3NbM109TWQoZixudWxsLG4sdC5zdXBib29rcyx0KX1l +bHNlIGUubD1hO3JldHVybiBzfXZhciBIcD1Gbjt2YXIgVnA9RG47ZnVuY3Rpb24gJHAoZSxyKXtp +ZihyPT1udWxsKXI9UmEoNCk7ci5fVyg0LGUpO3JldHVybiByfWZ1bmN0aW9uIFhwKGUscil7dmFy +IHQ9ZS5sK3I7dmFyIGE9Rm4oZSwxNik7dmFyIG49RW4oZSk7dmFyIGk9Y24oZSk7dmFyIHM9Y24o +ZSk7dmFyIGY9Y24oZSk7ZS5sPXQ7dmFyIGw9e3JmeDphLHJlbElkOm4sbG9jOmksZGlzcGxheTpm +fTtpZihzKWwuVG9vbHRpcD1zO3JldHVybiBsfWZ1bmN0aW9uIEdwKGUscil7dmFyIHQ9UmEoNTAr +NCooZVsxXS5UYXJnZXQubGVuZ3RoKyhlWzFdLlRvb2x0aXB8fCIiKS5sZW5ndGgpKTtEbih7czpL +YShlWzBdKSxlOkthKGVbMF0pfSx0KTt4bigicklkIityLHQpO3ZhciBhPWVbMV0uVGFyZ2V0Lmlu +ZGV4T2YoIiMiKTt2YXIgbj1hPT0tMT8iIjplWzFdLlRhcmdldC5zbGljZShhKzEpO2huKG58fCIi +LHQpO2huKGVbMV0uVG9vbHRpcHx8IiIsdCk7aG4oIiIsdCk7cmV0dXJuIHQuc2xpY2UoMCx0Lmwp +fWZ1bmN0aW9uIGpwKCl7fWZ1bmN0aW9uIEtwKGUscix0KXt2YXIgYT1lLmwrcjt2YXIgbj1Sbihl +LDE2KTt2YXIgaT1lLl9SKDEpO3ZhciBzPVtuXTtzWzJdPWk7aWYodC5jZWxsRm9ybXVsYSl7dmFy +IGY9amQoZSxhLWUubCx0KTtzWzFdPWZ9ZWxzZSBlLmw9YTtyZXR1cm4gc31mdW5jdGlvbiBZcChl +LHIsdCl7dmFyIGE9ZS5sK3I7dmFyIG49Rm4oZSwxNik7dmFyIGk9W25dO2lmKHQuY2VsbEZvcm11 +bGEpe3ZhciBzPVpkKGUsYS1lLmwsdCk7aVsxXT1zO2UubD1hfWVsc2UgZS5sPWE7cmV0dXJuIGl9 +ZnVuY3Rpb24gWnAoZSxyLHQpe2lmKHQ9PW51bGwpdD1SYSgxOCk7dmFyIGE9a3YoZSxyKTt0Ll9X +KC00LGUpO3QuX1coLTQsZSk7dC5fVyg0LChhLndpZHRofHwxMCkqMjU2KTt0Ll9XKDQsMCk7dmFy +IG49MDtpZihyLmhpZGRlbilufD0xO2lmKHR5cGVvZiBhLndpZHRoPT0ibnVtYmVyIilufD0yO2lm +KHIubGV2ZWwpbnw9ci5sZXZlbDw8ODt0Ll9XKDIsbik7cmV0dXJuIHR9dmFyIEpwPVsibGVmdCIs +InJpZ2h0IiwidG9wIiwiYm90dG9tIiwiaGVhZGVyIiwiZm9vdGVyIl07ZnVuY3Rpb24gcXAoZSl7 +dmFyIHI9e307SnAuZm9yRWFjaChmdW5jdGlvbih0KXtyW3RdPVBuKGUsOCl9KTtyZXR1cm4gcn1m +dW5jdGlvbiBRcChlLHIpe2lmKHI9PW51bGwpcj1SYSg2KjgpO0F2KGUpO0pwLmZvckVhY2goZnVu +Y3Rpb24odCl7TG4oZVt0XSxyKX0pO3JldHVybiByfWZ1bmN0aW9uIGVtKGUpe3ZhciByPWUuX1Io +Mik7ZS5sKz0yODtyZXR1cm57UlRMOnImMzJ9fWZ1bmN0aW9uIHJtKGUscix0KXtpZih0PT1udWxs +KXQ9UmEoMzApO3ZhciBhPTkyNDtpZigoKChyfHx7fSkuVmlld3N8fFtdKVswXXx8e30pLlJUTClh +fD0zMjt0Ll9XKDIsYSk7dC5fVyg0LDApO3QuX1coNCwwKTt0Ll9XKDQsMCk7dC5fVygxLDApO3Qu +X1coMSwwKTt0Ll9XKDIsMCk7dC5fVygyLDEwMCk7dC5fVygyLDApO3QuX1coMiwwKTt0Ll9XKDIs +MCk7dC5fVyg0LDApO3JldHVybiB0fWZ1bmN0aW9uIHRtKGUpe3ZhciByPVJhKDI0KTtyLl9XKDQs +NCk7ci5fVyg0LDEpO0RuKGUscik7cmV0dXJuIHJ9ZnVuY3Rpb24gYW0oZSxyKXtpZihyPT1udWxs +KXI9UmEoMTYqNCsyKTtyLl9XKDIsZS5wYXNzd29yZD9VbyhlLnBhc3N3b3JkKTowKTtyLl9XKDQs +MSk7W1sib2JqZWN0cyIsZmFsc2VdLFsic2NlbmFyaW9zIixmYWxzZV0sWyJmb3JtYXRDZWxscyIs +dHJ1ZV0sWyJmb3JtYXRDb2x1bW5zIix0cnVlXSxbImZvcm1hdFJvd3MiLHRydWVdLFsiaW5zZXJ0 +Q29sdW1ucyIsdHJ1ZV0sWyJpbnNlcnRSb3dzIix0cnVlXSxbImluc2VydEh5cGVybGlua3MiLHRy +dWVdLFsiZGVsZXRlQ29sdW1ucyIsdHJ1ZV0sWyJkZWxldGVSb3dzIix0cnVlXSxbInNlbGVjdExv +Y2tlZENlbGxzIixmYWxzZV0sWyJzb3J0Iix0cnVlXSxbImF1dG9GaWx0ZXIiLHRydWVdLFsicGl2 +b3RUYWJsZXMiLHRydWVdLFsic2VsZWN0VW5sb2NrZWRDZWxscyIsZmFsc2VdXS5mb3JFYWNoKGZ1 +bmN0aW9uKHQpe2lmKHRbMV0pci5fVyg0LGVbdFswXV0hPW51bGwmJiFlW3RbMF1dPzE6MCk7ZWxz +ZSByLl9XKDQsZVt0WzBdXSE9bnVsbCYmZVt0WzBdXT8wOjEpfSk7cmV0dXJuIHJ9ZnVuY3Rpb24g +bm0oKXt9ZnVuY3Rpb24gaW0oKXt9ZnVuY3Rpb24gc20oZSxyLHQsYSxuLGkscyl7aWYoIWUpcmV0 +dXJuIGU7dmFyIGY9cnx8e307aWYoIWEpYT17IiFpZCI6e319O2lmKGIhPW51bGwmJmYuZGVuc2U9 +PW51bGwpZi5kZW5zZT1iO3ZhciBsPXt9O2lmKGYuZGVuc2UpbFsiIWRhdGEiXT1bXTt2YXIgbzt2 +YXIgYz17czp7cjoyZTYsYzoyZTZ9LGU6e3I6MCxjOjB9fTt2YXIgaD1bXTt2YXIgdT1mYWxzZSxk +PWZhbHNlO3ZhciB2LHAsbSxnLHcsayxBLFQseTt2YXIgRT1bXTtmLmJpZmY9MTI7ZlsiIXJvdyJd +PTA7dmFyIEM9MCxfPWZhbHNlO3ZhciBTPVtdO3ZhciB4PXt9O3ZhciBPPWYuc3VwYm9va3N8fG4u +c3VwYm9va3N8fFtbXV07Ty5zaGFyZWRmPXg7Ty5hcnJheWY9UztPLlNoZWV0TmFtZXM9bi5TaGVl +dE5hbWVzfHxuLlNoZWV0cy5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUubmFtZX0pO2lmKCFmLnN1 +cGJvb2tzKXtmLnN1cGJvb2tzPU87aWYobi5OYW1lcylmb3IodmFyIEk9MDtJPG4uTmFtZXMubGVu +Z3RoOysrSSlPWzBdW0krMV09bi5OYW1lc1tJXX12YXIgUj1bXSxOPVtdO3ZhciBGPWZhbHNlO1pn +WzE2XT17bjoiQnJ0U2hvcnRSZWFsIixmOlNwfTt2YXIgRCxQO3ZhciBMPTE0NjIqKyEhKChufHx7 +fSkuV0JQcm9wc3x8e30pLmRhdGUxOTA0O05hKGUsZnVuY3Rpb24gVShlLHIsYil7aWYoZClyZXR1 +cm47c3dpdGNoKGIpe2Nhc2UgMTQ4Om89ZTticmVhaztjYXNlIDA6dj1lO2lmKGYuc2hlZXRSb3dz +JiZmLnNoZWV0Um93czw9di5yKWQ9dHJ1ZTtUPVdhKGc9di5yKTtmWyIhcm93Il09di5yO2lmKGUu +aGlkZGVufHxlLmhwdHx8ZS5sZXZlbCE9bnVsbCl7aWYoZS5ocHQpZS5ocHg9ZGMoZS5ocHQpO05b +ZS5yXT1lfWJyZWFrO2Nhc2UgMjo7Y2FzZSAzOjtjYXNlIDQ6O2Nhc2UgNTo7Y2FzZSA2OjtjYXNl +IDc6O2Nhc2UgODo7Y2FzZSA5OjtjYXNlIDEwOjtjYXNlIDExOjtjYXNlIDEzOjtjYXNlIDE0Ojtj +YXNlIDE1OjtjYXNlIDE2OjtjYXNlIDE3OjtjYXNlIDE4OjtjYXNlIDYyOnA9e3Q6ZVsyXX07c3dp +dGNoKGVbMl0pe2Nhc2UibiI6cC52PWVbMV07YnJlYWs7Y2FzZSJzIjpBPW12W2VbMV1dO3Audj1B +LnQ7cC5yPUEucjticmVhaztjYXNlImIiOnAudj1lWzFdP3RydWU6ZmFsc2U7YnJlYWs7Y2FzZSJl +IjpwLnY9ZVsxXTtpZihmLmNlbGxUZXh0IT09ZmFsc2UpcC53PWNpW3Audl07YnJlYWs7Y2FzZSJz +dHIiOnAudD0icyI7cC52PWVbMV07YnJlYWs7Y2FzZSJpcyI6cC50PSJzIjtwLnY9ZVsxXS50O2Jy +ZWFrO31pZihtPXMuQ2VsbFhmW2VbMF0uaVN0eWxlUmVmXSl5dihwLG0ubnVtRm10SWQsbnVsbCxm +LGkscyxMPjApO3c9ZVswXS5jPT0tMT93KzE6ZVswXS5jO2lmKGYuZGVuc2Upe2lmKCFsWyIhZGF0 +YSJdW2ddKWxbIiFkYXRhIl1bZ109W107bFsiIWRhdGEiXVtnXVt3XT1wfWVsc2UgbFskYSh3KStU +XT1wO2lmKGYuY2VsbEZvcm11bGEpe189ZmFsc2U7Zm9yKEM9MDtDPFMubGVuZ3RoOysrQyl7dmFy +IEk9U1tDXTtpZih2LnI+PUlbMF0ucy5yJiZ2LnI8PUlbMF0uZS5yKWlmKHc+PUlbMF0ucy5jJiZ3 +PD1JWzBdLmUuYyl7cC5GPUphKElbMF0pO189dHJ1ZX19aWYoIV8mJmUubGVuZ3RoPjMpcC5mPWVb +M119aWYoYy5zLnI+di5yKWMucy5yPXYucjtpZihjLnMuYz53KWMucy5jPXc7aWYoYy5lLnI8di5y +KWMuZS5yPXYucjtpZihjLmUuYzx3KWMuZS5jPXc7aWYoZi5jZWxsRGF0ZXMmJm0mJnAudD09Im4i +JiZMZShxW20ubnVtRm10SWRdKSl7dmFyIE09YWUocC52K0wpO2lmKE0pe3AudD0iZCI7cC52PW5l +dyBEYXRlKERhdGUuVVRDKE0ueSxNLm0tMSxNLmQsTS5ILE0uTSxNLlMsTS51KSl9fWlmKEQpe2lm +KEQudHlwZT09IlhMREFQUiIpcC5EPXRydWU7RD12b2lkIDB9aWYoUClQPXZvaWQgMDticmVhaztj +YXNlIDE6O2Nhc2UgMTI6aWYoIWYuc2hlZXRTdHVic3x8dSlicmVhaztwPXt0OiJ6Iix2OnZvaWQg +MH07dz1lWzBdLmM9PS0xP3crMTplWzBdLmM7aWYoZi5kZW5zZSl7aWYoIWxbIiFkYXRhIl1bZ10p +bFsiIWRhdGEiXVtnXT1bXTtsWyIhZGF0YSJdW2ddW3ddPXB9ZWxzZSBsWyRhKHcpK1RdPXA7aWYo +Yy5zLnI+di5yKWMucy5yPXYucjtpZihjLnMuYz53KWMucy5jPXc7aWYoYy5lLnI8di5yKWMuZS5y +PXYucjtpZihjLmUuYzx3KWMuZS5jPXc7aWYoRCl7aWYoRC50eXBlPT0iWExEQVBSIilwLkQ9dHJ1 +ZTtEPXZvaWQgMH1pZihQKVA9dm9pZCAwO2JyZWFrO2Nhc2UgMTc2OkUucHVzaChlKTticmVhaztj +YXNlIDQ5OntEPSgoZi54bG1ldGF8fHt9KS5DZWxsfHxbXSlbZS0xXX1icmVhaztjYXNlIDQ5NDp2 +YXIgVT1hWyIhaWQiXVtlLnJlbElkXTtpZihVKXtlLlRhcmdldD1VLlRhcmdldDtpZihlLmxvYyll +LlRhcmdldCs9IiMiK2UubG9jO2UuUmVsPVV9ZWxzZSBpZihlLnJlbElkPT0iIil7ZS5UYXJnZXQ9 +IiMiK2UubG9jfWZvcihnPWUucmZ4LnMucjtnPD1lLnJmeC5lLnI7KytnKWZvcih3PWUucmZ4LnMu +Yzt3PD1lLnJmeC5lLmM7Kyt3KXtpZihmLmRlbnNlKXtpZighbFsiIWRhdGEiXVtnXSlsWyIhZGF0 +YSJdW2ddPVtdO2lmKCFsWyIhZGF0YSJdW2ddW3ddKWxbIiFkYXRhIl1bZ11bd109e3Q6InoiLHY6 +dW5kZWZpbmVkfTtsWyIhZGF0YSJdW2ddW3ddLmw9ZX1lbHNle2s9JGEodykrV2EoZyk7aWYoIWxb +a10pbFtrXT17dDoieiIsdjp1bmRlZmluZWR9O2xba10ubD1lfX1icmVhaztjYXNlIDQyNjppZigh +Zi5jZWxsRm9ybXVsYSlicmVhaztTLnB1c2goZSk7eT1mLmRlbnNlP2xbIiFkYXRhIl1bZ11bd106 +bFskYSh3KStUXTt5LmY9TWQoZVsxXSxjLHtyOnYucixjOnd9LE8sZik7eS5GPUphKGVbMF0pO2Jy +ZWFrO2Nhc2UgNDI3OmlmKCFmLmNlbGxGb3JtdWxhKWJyZWFrO3hbWWEoZVswXS5zKV09ZVsxXTt5 +PWYuZGVuc2U/bFsiIWRhdGEiXVtnXVt3XTpsWyRhKHcpK1RdO3kuZj1NZChlWzFdLGMse3I6di5y +LGM6d30sTyxmKTticmVhaztjYXNlIDYwOmlmKCFmLmNlbGxTdHlsZXMpYnJlYWs7d2hpbGUoZS5l +Pj1lLnMpe1JbZS5lLS1dPXt3aWR0aDplLncvMjU2LGhpZGRlbjohIShlLmZsYWdzJjEpLGxldmVs +OmUubGV2ZWx9O2lmKCFGKXtGPXRydWU7bGMoZS53LzI1Nil9b2MoUltlLmUrMV0pfWJyZWFrO2Nh +c2UgNTUxOmlmKGUpbFsiIWxlZ3JlbCJdPWU7YnJlYWs7Y2FzZSAxNjE6bFsiIWF1dG9maWx0ZXIi +XT17cmVmOkphKGUpfTticmVhaztjYXNlIDQ3NjpsWyIhbWFyZ2lucyJdPWU7YnJlYWs7Y2FzZSAx +NDc6aWYoIW4uU2hlZXRzW3RdKW4uU2hlZXRzW3RdPXt9O2lmKGUubmFtZSluLlNoZWV0c1t0XS5D +b2RlTmFtZT1lLm5hbWU7aWYoZS5hYm92ZXx8ZS5sZWZ0KWxbIiFvdXRsaW5lIl09e2Fib3ZlOmUu +YWJvdmUsbGVmdDplLmxlZnR9O2JyZWFrO2Nhc2UgMTM3OmlmKCFuLlZpZXdzKW4uVmlld3M9W3t9 +XTtpZighbi5WaWV3c1swXSluLlZpZXdzWzBdPXt9O2lmKGUuUlRMKW4uVmlld3NbMF0uUlRMPXRy +dWU7YnJlYWs7Y2FzZSA0ODU6YnJlYWs7Y2FzZSA2NDo7Y2FzZSAxMDUzOmJyZWFrO2Nhc2UgMTUx +OmJyZWFrO2Nhc2UgMTUyOjtjYXNlIDE3NTo7Y2FzZSA2NDQ6O2Nhc2UgNjI1OjtjYXNlIDU2Mjo7 +Y2FzZSAzOTY6O2Nhc2UgMTExMjo7Y2FzZSAxMTQ2OjtjYXNlIDQ3MTo7Y2FzZSAxMDUwOjtjYXNl +IDY0OTo7Y2FzZSAxMTA1OjtjYXNlIDU4OTo7Y2FzZSA2MDc6O2Nhc2UgNTY0OjtjYXNlIDEwNTU6 +O2Nhc2UgMTY4OjtjYXNlIDE3NDo7Y2FzZSAxMTgwOjtjYXNlIDQ5OTo7Y2FzZSA1MDc6O2Nhc2Ug +NTUwOjtjYXNlIDE3MTo7Y2FzZSAxNjc6O2Nhc2UgMTE3Nzo7Y2FzZSAxNjk6O2Nhc2UgMTE4MTo7 +Y2FzZSA1NTI6O2Nhc2UgNjYxOjtjYXNlIDYzOTo7Y2FzZSA0Nzg6O2Nhc2UgNTM3OjtjYXNlIDQ3 +Nzo7Y2FzZSA1MzY6O2Nhc2UgMTEwMzo7Y2FzZSA2ODA6O2Nhc2UgMTEwNDo7Y2FzZSAxMDI0Ojtj +YXNlIDY2Mzo7Y2FzZSA1MzU6O2Nhc2UgNjc4OjtjYXNlIDUwNDo7Y2FzZSAxMDQzOjtjYXNlIDQy +ODo7Y2FzZSAxNzA6O2Nhc2UgMzA3Mjo7Y2FzZSA1MDo7Y2FzZSAyMDcwOjtjYXNlIDEwNDU6YnJl +YWs7Y2FzZSAzNTp1PXRydWU7YnJlYWs7Y2FzZSAzNjp1PWZhbHNlO2JyZWFrO2Nhc2UgMzc6aC5w +dXNoKGIpO3U9dHJ1ZTticmVhaztjYXNlIDM4OmgucG9wKCk7dT1mYWxzZTticmVhaztkZWZhdWx0 +OmlmKHIuVCl7fWVsc2UgaWYoIXV8fGYuV1RGKXRocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCBy +ZWNvcmQgMHgiK2IudG9TdHJpbmcoMTYpKTt9fSxmKTtkZWxldGUgZi5zdXBib29rcztkZWxldGUg +ZlsiIXJvdyJdO2lmKCFsWyIhcmVmIl0mJihjLnMucjwyZTZ8fG8mJihvLmUucj4wfHxvLmUuYz4w +fHxvLnMucj4wfHxvLnMuYz4wKSkpbFsiIXJlZiJdPUphKG98fGMpO2lmKGYuc2hlZXRSb3dzJiZs +WyIhcmVmIl0pe3ZhciBNPWVuKGxbIiFyZWYiXSk7aWYoZi5zaGVldFJvd3M8PStNLmUucil7TS5l +LnI9Zi5zaGVldFJvd3MtMTtpZihNLmUucj5jLmUucilNLmUucj1jLmUucjtpZihNLmUucjxNLnMu +cilNLnMucj1NLmUucjtpZihNLmUuYz5jLmUuYylNLmUuYz1jLmUuYztpZihNLmUuYzxNLnMuYylN +LnMuYz1NLmUuYztsWyIhZnVsbHJlZiJdPWxbIiFyZWYiXTtsWyIhcmVmIl09SmEoTSl9fWlmKEUu +bGVuZ3RoPjApbFsiIW1lcmdlcyJdPUU7aWYoUi5sZW5ndGg+MClsWyIhY29scyJdPVI7aWYoTi5s +ZW5ndGg+MClsWyIhcm93cyJdPU47aWYoYVsiIWlkIl1bbFsiIWxlZ3JlbCJdXSlsWyIhbGVnZHJh +d2VsIl09YVsiIWlkIl1bbFsiIWxlZ3JlbCJdXTtyZXR1cm4gbH1mdW5jdGlvbiBmbShlLHIsdCxh +LG4saSxzLGYpe3ZhciBsPXtyOnQsYzphfTtpZihyLmMpaVsiIWNvbW1lbnRzIl0ucHVzaChbWWEo +bCksci5jXSk7aWYoci52PT09dW5kZWZpbmVkKXJldHVybiBmYWxzZTt2YXIgbz0iIjtzd2l0Y2go +ci50KXtjYXNlImIiOm89ci52PyIxIjoiMCI7YnJlYWs7Y2FzZSJkIjpyPUFyKHIpO3Iuej1yLnp8 +fHFbMTRdO3Iudj1kcih3cihyLnYsZiksZik7ci50PSJuIjticmVhaztjYXNlIm4iOjtjYXNlImUi +Om89IiIrci52O2JyZWFrO2RlZmF1bHQ6bz1yLnY7YnJlYWs7fWwucz1UdihuLmNlbGxYZnMscixu +KTtpZihyLmwpaVsiIWxpbmtzIl0ucHVzaChbWWEobCksci5sXSk7c3dpdGNoKHIudCl7Y2FzZSJz +Ijo7Y2FzZSJzdHIiOmlmKG4uYm9va1NTVCl7bz13dihuLlN0cmluZ3Msci52PT1udWxsPyIiOlN0 +cmluZyhyLnYpLG4ucmV2U3RyaW5ncyk7bC50PSJzIjtsLnY9bztpZihzKURhKGUsMTgsRXAocixs +KSk7ZWxzZSBEYShlLDcsVHAocixsKSl9ZWxzZXtsLnQ9InN0ciI7aWYocylEYShlLDE3LE1wKHIs +bCkpO2Vsc2UgRGEoZSw2LFBwKHIsbCkpfXJldHVybiB0cnVlO2Nhc2UibiI6aWYoci52PT0oci52 +fDApJiZyLnY+LTFlMyYmci52PDFlMyl7aWYocylEYShlLDEzLE5wKHIsbCkpO2Vsc2UgRGEoZSwy +LElwKHIsbCkpfWVsc2UgaWYoIWlzRmluaXRlKHIudikpe2wudD0iZSI7aWYoaXNOYU4oci52KSl7 +aWYocylEYShlLDE0LGtwKHt0OiJlIix2OjM2fSxsKSk7ZWxzZSBEYShlLDMsYnAoe3Q6ImUiLHY6 +MzZ9LGwpKX1lbHNle2lmKHMpRGEoZSwxNCxrcCh7dDoiZSIsdjo3fSxsKSk7ZWxzZSBEYShlLDMs +YnAoe3Q6ImUiLHY6N30sbCkpfX1lbHNle2lmKHMpRGEoZSwxNix4cChyLGwpKTtlbHNlIERhKGUs +NSxfcChyLGwpKX1yZXR1cm4gdHJ1ZTtjYXNlImIiOmwudD0iYiI7aWYocylEYShlLDE1LG1wKHIs +bCkpO2Vsc2UgRGEoZSw0LHZwKHIsbCkpO3JldHVybiB0cnVlO2Nhc2UiZSI6bC50PSJlIjtpZihz +KURhKGUsMTQsa3AocixsKSk7ZWxzZSBEYShlLDMsYnAocixsKSk7cmV0dXJuIHRydWU7fWlmKHMp +RGEoZSwxMix1cChyLGwpKTtlbHNlIERhKGUsMSxjcChyLGwpKTtyZXR1cm4gdHJ1ZX1mdW5jdGlv +biBsbShlLHIsdCxhLG4pe3ZhciBpPWVuKHJbIiFyZWYiXXx8IkExIikscz0iIixmPVtdO3ZhciBs +PSgoKG58fHt9KS5Xb3JrYm9va3x8e30pLldCUHJvcHN8fHt9KS5kYXRlMTkwNDtEYShlLDE0NSk7 +dmFyIG89clsiIWRhdGEiXSE9bnVsbCxjPW8/clsiIWRhdGEiXVtpLnMucl06W107dmFyIGg9aS5l +LnI7aWYoclsiIXJvd3MiXSloPU1hdGgubWF4KGkuZS5yLHJbIiFyb3dzIl0ubGVuZ3RoLTEpO2Zv +cih2YXIgdT1pLnMucjt1PD1oOysrdSl7cz1XYSh1KTtpZihvKWM9clsiIWRhdGEiXVt1XTthcChl +LHIsaSx1KTtpZihvJiYhYyljb250aW51ZTt2YXIgZD1mYWxzZTtpZih1PD1pLmUucilmb3IodmFy +IHY9aS5zLmM7djw9aS5lLmM7Kyt2KXtpZih1PT09aS5zLnIpZlt2XT0kYSh2KTt2YXIgcD1vP2Nb +dl06cltmW3ZdK3NdO2lmKCFwKXtkPWZhbHNlO2NvbnRpbnVlfWQ9Zm0oZSxwLHUsdixhLHIsZCxs +KX19RGEoZSwxNDYpfWZ1bmN0aW9uIG9tKGUscil7aWYoIXJ8fCFyWyIhbWVyZ2VzIl0pcmV0dXJu +O0RhKGUsMTc3LCRwKHJbIiFtZXJnZXMiXS5sZW5ndGgpKTtyWyIhbWVyZ2VzIl0uZm9yRWFjaChm +dW5jdGlvbihyKXtEYShlLDE3NixWcChyKSl9KTtEYShlLDE3OCl9ZnVuY3Rpb24gY20oZSxyKXtp +Zighcnx8IXJbIiFjb2xzIl0pcmV0dXJuO0RhKGUsMzkwKTtyWyIhY29scyJdLmZvckVhY2goZnVu +Y3Rpb24ocix0KXtpZihyKURhKGUsNjAsWnAodCxyKSl9KTtEYShlLDM5MSl9ZnVuY3Rpb24gaG0o +ZSxyKXtpZighcnx8IXJbIiFyZWYiXSlyZXR1cm47RGEoZSw2NDgpO0RhKGUsNjQ5LHRtKGVuKHJb +IiFyZWYiXSkpKTtEYShlLDY1MCl9ZnVuY3Rpb24gdW0oZSxyLHQpe3JbIiFsaW5rcyJdLmZvckVh +Y2goZnVuY3Rpb24ocil7aWYoIXJbMV0uVGFyZ2V0KXJldHVybjt2YXIgYT1UaSh0LC0xLHJbMV0u +VGFyZ2V0LnJlcGxhY2UoLyNbXHNcU10qJC8sIiIpLGJpLkhMSU5LKTtEYShlLDQ5NCxHcChyLGEp +KX0pO2RlbGV0ZSByWyIhbGlua3MiXX1mdW5jdGlvbiBkbShlLHIsdCxhKXtpZihyWyIhY29tbWVu +dHMiXS5sZW5ndGg+MCl7dmFyIG49VGkoYSwtMSwiLi4vZHJhd2luZ3Mvdm1sRHJhd2luZyIrKHQr +MSkrIi52bWwiLGJpLlZNTCk7RGEoZSw1NTEseG4oInJJZCIrbikpO3JbIiFsZWdhY3kiXT1ufX1m +dW5jdGlvbiB2bShlLHIsdCxhKXtpZighclsiIWF1dG9maWx0ZXIiXSlyZXR1cm47dmFyIG49clsi +IWF1dG9maWx0ZXIiXTt2YXIgaT10eXBlb2Ygbi5yZWY9PT0ic3RyaW5nIj9uLnJlZjpKYShuLnJl +Zik7aWYoIXQuV29ya2Jvb2spdC5Xb3JrYm9vaz17U2hlZXRzOltdfTtpZighdC5Xb3JrYm9vay5O +YW1lcyl0Lldvcmtib29rLk5hbWVzPVtdO3ZhciBzPXQuV29ya2Jvb2suTmFtZXM7dmFyIGY9WmEo +aSk7aWYoZi5zLnI9PWYuZS5yKXtmLmUucj1aYShyWyIhcmVmIl0pLmUucjtpPUphKGYpfWZvcih2 +YXIgbD0wO2w8cy5sZW5ndGg7KytsKXt2YXIgbz1zW2xdO2lmKG8uTmFtZSE9Il94bG5tLl9GaWx0 +ZXJEYXRhYmFzZSIpY29udGludWU7aWYoby5TaGVldCE9YSljb250aW51ZTtvLlJlZj1RYSh0LlNo +ZWV0TmFtZXNbYV0pKyIhIitxYShpKTticmVha31pZihsPT1zLmxlbmd0aClzLnB1c2goe05hbWU6 +Il94bG5tLl9GaWx0ZXJEYXRhYmFzZSIsU2hlZXQ6YSxSZWY6UWEodC5TaGVldE5hbWVzW2FdKSsi +ISIrcWEoaSl9KTtEYShlLDE2MSxEbihlbihpKSkpO0RhKGUsMTYyKX1mdW5jdGlvbiBwbShlLHIs +dCl7RGEoZSwxMzMpO3tEYShlLDEzNyxybShyLHQpKTtEYShlLDEzOCl9RGEoZSwxMzQpfWZ1bmN0 +aW9uIG1tKCl7fWZ1bmN0aW9uIGdtKGUscil7aWYoIXJbIiFwcm90ZWN0Il0pcmV0dXJuO0RhKGUs +NTM1LGFtKHJbIiFwcm90ZWN0Il0pKX1mdW5jdGlvbiBibShlLHIsdCxhKXt2YXIgbj1GYSgpO3Zh +ciBpPXQuU2hlZXROYW1lc1tlXSxzPXQuU2hlZXRzW2ldfHx7fTt2YXIgZj1pO3RyeXtpZih0JiZ0 +Lldvcmtib29rKWY9dC5Xb3JrYm9vay5TaGVldHNbZV0uQ29kZU5hbWV8fGZ9Y2F0Y2gobCl7fXZh +ciBvPWVuKHNbIiFyZWYiXXx8IkExIik7aWYoby5lLmM+MTYzODN8fG8uZS5yPjEwNDg1NzUpe2lm +KHIuV1RGKXRocm93IG5ldyBFcnJvcigiUmFuZ2UgIisoc1siIXJlZiJdfHwiQTEiKSsiIGV4Y2Vl +ZHMgZm9ybWF0IGxpbWl0IEExOlhGRDEwNDg1NzYiKTtvLmUuYz1NYXRoLm1pbihvLmUuYywxNjM4 +Myk7by5lLnI9TWF0aC5taW4oby5lLmMsMTA0ODU3NSl9c1siIWxpbmtzIl09W107c1siIWNvbW1l +bnRzIl09W107RGEobiwxMjkpO2lmKHQudmJhcmF3fHxzWyIhb3V0bGluZSJdKURhKG4sMTQ3LGxw +KGYsc1siIW91dGxpbmUiXSkpO0RhKG4sMTQ4LGlwKG8pKTtwbShuLHMsdC5Xb3JrYm9vayk7bW0o +bixzKTtjbShuLHMsZSxyLHQpO2xtKG4scyxlLHIsdCk7Z20obixzKTt2bShuLHMsdCxlKTtvbShu +LHMpO3VtKG4scyxhKTtpZihzWyIhbWFyZ2lucyJdKURhKG4sNDc2LFFwKHNbIiFtYXJnaW5zIl0p +KTtpZighcnx8ci5pZ25vcmVFQ3x8ci5pZ25vcmVFQz09dm9pZCAwKWhtKG4scyk7ZG0obixzLGUs +YSk7RGEobiwxMzApO3JldHVybiBuLmVuZCgpfWZ1bmN0aW9uIHdtKGUpe3ZhciByPVtdO3ZhciB0 +PWUubWF0Y2goL148YzpudW1DYWNoZT4vKTt2YXIgYTsoZS5tYXRjaCgvPGM6cHQgaWR4PSIoXGQq +KSJbXjw+XC9dKj48Yzp2PihbXjxdKTxcL2M6dj48XC9jOnB0Pi9nbSl8fFtdKS5mb3JFYWNoKGZ1 +bmN0aW9uKGUpe3ZhciBhPWUubWF0Y2goLzxjOnB0IGlkeD0iKFxkKikiW148PlwvXSo+PGM6dj4o +W148XSopPFwvYzp2PjxcL2M6cHQ+Lyk7aWYoIWEpcmV0dXJuO3JbK2FbMV1dPXQ/K2FbMl06YVsy +XX0pO3ZhciBuPXB0KChCcihlLCJjOmZvcm1hdENvZGUiKXx8WyIiLCJHZW5lcmFsIl0pWzFdKTso +THIoZSwiPGM6Zj4iLCI8L2M6Zj4iKXx8W10pLmZvckVhY2goZnVuY3Rpb24oZSl7YT1lLnJlcGxh +Y2UoLzxbXjw+XSo+L2csIiIpfSk7cmV0dXJuW3IsbixhXX1mdW5jdGlvbiBrbShlLHIsdCxhLG4s +aSl7dmFyIHM9aXx8eyIhdHlwZSI6ImNoYXJ0In07aWYoIWUpcmV0dXJuIGk7dmFyIGY9MCxsPTAs +bz0iQSI7dmFyIGM9e3M6e3I6MmU2LGM6MmU2fSxlOntyOjAsYzowfX07KExyKGUsIjxjOm51bUNh +Y2hlPiIsIjwvYzpudW1DYWNoZT4iKXx8W10pLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHI9d20o +ZSk7Yy5zLnI9Yy5zLmM9MDtjLmUuYz1mO289JGEoZik7clswXS5mb3JFYWNoKGZ1bmN0aW9uKGUs +dCl7aWYoc1siIWRhdGEiXSl7aWYoIXNbIiFkYXRhIl1bdF0pc1siIWRhdGEiXVt0XT1bXTtzWyIh +ZGF0YSJdW3RdW2ZdPXt0OiJuIix2OmUsejpyWzFdfX1lbHNlIHNbbytXYSh0KV09e3Q6Im4iLHY6 +ZSx6OnJbMV19O2w9dH0pO2lmKGMuZS5yPGwpYy5lLnI9bDsrK2Z9KTtpZihmPjApc1siIXJlZiJd +PUphKGMpO3JldHVybiBzfWZ1bmN0aW9uIEFtKGUscix0LGEsbil7aWYoIWUpcmV0dXJuIGU7aWYo +IWEpYT17IiFpZCI6e319O3ZhciBpPXsiIXR5cGUiOiJjaGFydCIsIiFkcmF3ZWwiOm51bGwsIiFy +ZWwiOiIifTt2YXIgczt2YXIgZj1lLm1hdGNoKE52KTtpZihmKVB2KGZbMF0saSxuLHQpO2lmKHM9 +ZS5tYXRjaCgvZHJhd2luZyByOmlkPSIoLio/KSIvKSlpWyIhcmVsIl09c1sxXTtpZihhWyIhaWQi +XVtpWyIhcmVsIl1dKWlbIiFkcmF3ZWwiXT1hWyIhaWQiXVtpWyIhcmVsIl1dO3JldHVybiBpfWZ1 +bmN0aW9uIFRtKGUscil7ZS5sKz0xMDt2YXIgdD1jbihlLHItMTApO3JldHVybntuYW1lOnR9fWZ1 +bmN0aW9uIHltKGUscix0LGEsbil7aWYoIWUpcmV0dXJuIGU7aWYoIWEpYT17IiFpZCI6e319O3Zh +ciBpPXsiIXR5cGUiOiJjaGFydCIsIiFkcmF3ZWwiOm51bGwsIiFyZWwiOiIifTt2YXIgcz1bXTt2 +YXIgZj1mYWxzZTtOYShlLGZ1bmN0aW9uIGwoZSxhLG8pe3N3aXRjaChvKXtjYXNlIDU1MDppWyIh +cmVsIl09ZTticmVhaztjYXNlIDY1MTppZighbi5TaGVldHNbdF0pbi5TaGVldHNbdF09e307aWYo +ZS5uYW1lKW4uU2hlZXRzW3RdLkNvZGVOYW1lPWUubmFtZTticmVhaztjYXNlIDU2Mjo7Y2FzZSA2 +NTI6O2Nhc2UgNjY5OjtjYXNlIDY3OTo7Y2FzZSA1NTE6O2Nhc2UgNTUyOjtjYXNlIDQ3Njo7Y2Fz +ZSAzMDcyOmJyZWFrO2Nhc2UgMzU6Zj10cnVlO2JyZWFrO2Nhc2UgMzY6Zj1mYWxzZTticmVhaztj +YXNlIDM3OnMucHVzaChvKTticmVhaztjYXNlIDM4OnMucG9wKCk7YnJlYWs7ZGVmYXVsdDppZihh +LlQ+MClzLnB1c2gobyk7ZWxzZSBpZihhLlQ8MClzLnBvcCgpO2Vsc2UgaWYoIWZ8fHIuV1RGKXRo +cm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCByZWNvcmQgMHgiK28udG9TdHJpbmcoMTYpKTt9fSxy +KTtpZihhWyIhaWQiXVtpWyIhcmVsIl1dKWlbIiFkcmF3ZWwiXT1hWyIhaWQiXVtpWyIhcmVsIl1d +O3JldHVybiBpfXZhciBFbT1bWyJhbGxvd1JlZnJlc2hRdWVyeSIsZmFsc2UsImJvb2wiXSxbImF1 +dG9Db21wcmVzc1BpY3R1cmVzIix0cnVlLCJib29sIl0sWyJiYWNrdXBGaWxlIixmYWxzZSwiYm9v +bCJdLFsiY2hlY2tDb21wYXRpYmlsaXR5IixmYWxzZSwiYm9vbCJdLFsiQ29kZU5hbWUiLCIiXSxb +ImRhdGUxOTA0IixmYWxzZSwiYm9vbCJdLFsiZGVmYXVsdFRoZW1lVmVyc2lvbiIsMCwiaW50Il0s +WyJmaWx0ZXJQcml2YWN5IixmYWxzZSwiYm9vbCJdLFsiaGlkZVBpdm90RmllbGRMaXN0IixmYWxz +ZSwiYm9vbCJdLFsicHJvbXB0ZWRTb2x1dGlvbnMiLGZhbHNlLCJib29sIl0sWyJwdWJsaXNoSXRl +bXMiLGZhbHNlLCJib29sIl0sWyJyZWZyZXNoQWxsQ29ubmVjdGlvbnMiLGZhbHNlLCJib29sIl0s +WyJzYXZlRXh0ZXJuYWxMaW5rVmFsdWVzIix0cnVlLCJib29sIl0sWyJzaG93Qm9yZGVyVW5zZWxl +Y3RlZFRhYmxlcyIsdHJ1ZSwiYm9vbCJdLFsic2hvd0lua0Fubm90YXRpb24iLHRydWUsImJvb2wi +XSxbInNob3dPYmplY3RzIiwiYWxsIl0sWyJzaG93UGl2b3RDaGFydEZpbHRlciIsZmFsc2UsImJv +b2wiXSxbInVwZGF0ZUxpbmtzIiwidXNlclNldCJdXTt2YXIgQ209W1siYWN0aXZlVGFiIiwwLCJp +bnQiXSxbImF1dG9GaWx0ZXJEYXRlR3JvdXBpbmciLHRydWUsImJvb2wiXSxbImZpcnN0U2hlZXQi +LDAsImludCJdLFsibWluaW1pemVkIixmYWxzZSwiYm9vbCJdLFsic2hvd0hvcml6b250YWxTY3Jv +bGwiLHRydWUsImJvb2wiXSxbInNob3dTaGVldFRhYnMiLHRydWUsImJvb2wiXSxbInNob3dWZXJ0 +aWNhbFNjcm9sbCIsdHJ1ZSwiYm9vbCJdLFsidGFiUmF0aW8iLDYwMCwiaW50Il0sWyJ2aXNpYmls +aXR5IiwidmlzaWJsZSJdXTt2YXIgX209W107dmFyIFNtPVtbImNhbGNDb21wbGV0ZWQiLCJ0cnVl +Il0sWyJjYWxjTW9kZSIsImF1dG8iXSxbImNhbGNPblNhdmUiLCJ0cnVlIl0sWyJjb25jdXJyZW50 +Q2FsYyIsInRydWUiXSxbImZ1bGxDYWxjT25Mb2FkIiwiZmFsc2UiXSxbImZ1bGxQcmVjaXNpb24i +LCJ0cnVlIl0sWyJpdGVyYXRlIiwiZmFsc2UiXSxbIml0ZXJhdGVDb3VudCIsIjEwMCJdLFsiaXRl +cmF0ZURlbHRhIiwiMC4wMDEiXSxbInJlZk1vZGUiLCJBMSJdXTtmdW5jdGlvbiB4bShlLHIpe2Zv +cih2YXIgdD0wO3QhPWUubGVuZ3RoOysrdCl7dmFyIGE9ZVt0XTtmb3IodmFyIG49MDtuIT1yLmxl +bmd0aDsrK24pe3ZhciBpPXJbbl07aWYoYVtpWzBdXT09bnVsbClhW2lbMF1dPWlbMV07ZWxzZSBz +d2l0Y2goaVsyXSl7Y2FzZSJib29sIjppZih0eXBlb2YgYVtpWzBdXT09InN0cmluZyIpYVtpWzBd +XT1DdChhW2lbMF1dKTticmVhaztjYXNlImludCI6aWYodHlwZW9mIGFbaVswXV09PSJzdHJpbmci +KWFbaVswXV09cGFyc2VJbnQoYVtpWzBdXSwxMCk7YnJlYWs7fX19fWZ1bmN0aW9uIE9tKGUscil7 +Zm9yKHZhciB0PTA7dCE9ci5sZW5ndGg7Kyt0KXt2YXIgYT1yW3RdO2lmKGVbYVswXV09PW51bGwp +ZVthWzBdXT1hWzFdO2Vsc2Ugc3dpdGNoKGFbMl0pe2Nhc2UiYm9vbCI6aWYodHlwZW9mIGVbYVsw +XV09PSJzdHJpbmciKWVbYVswXV09Q3QoZVthWzBdXSk7YnJlYWs7Y2FzZSJpbnQiOmlmKHR5cGVv +ZiBlW2FbMF1dPT0ic3RyaW5nIillW2FbMF1dPXBhcnNlSW50KGVbYVswXV0sMTApO2JyZWFrO319 +fWZ1bmN0aW9uIEltKGUpe09tKGUuV0JQcm9wcyxFbSk7T20oZS5DYWxjUHIsU20pO3htKGUuV0JW +aWV3LENtKTt4bShlLlNoZWV0cyxfbSk7Z3YuZGF0ZTE5MDQ9Q3QoZS5XQlByb3BzLmRhdGUxOTA0 +KX1mdW5jdGlvbiBSbShlKXtpZighZS5Xb3JrYm9vaylyZXR1cm4iZmFsc2UiO2lmKCFlLldvcmti +b29rLldCUHJvcHMpcmV0dXJuImZhbHNlIjtyZXR1cm4gQ3QoZS5Xb3JrYm9vay5XQlByb3BzLmRh +dGUxOTA0KT8idHJ1ZSI6ImZhbHNlIn12YXIgTm09IjpdWyo/L1xcIi5zcGxpdCgiIik7ZnVuY3Rp +b24gRm0oZSxyKXt0cnl7aWYoZT09IiIpdGhyb3cgbmV3IEVycm9yKCJTaGVldCBuYW1lIGNhbm5v +dCBiZSBibGFuayIpO2lmKGUubGVuZ3RoPjMxKXRocm93IG5ldyBFcnJvcigiU2hlZXQgbmFtZSBj +YW5ub3QgZXhjZWVkIDMxIGNoYXJzIik7aWYoZS5jaGFyQ29kZUF0KDApPT0zOXx8ZS5jaGFyQ29k +ZUF0KGUubGVuZ3RoLTEpPT0zOSl0aHJvdyBuZXcgRXJyb3IoIlNoZWV0IG5hbWUgY2Fubm90IHN0 +YXJ0IG9yIGVuZCB3aXRoIGFwb3N0cm9waGUgKCcpIik7aWYoZS50b0xvd2VyQ2FzZSgpPT0iaGlz +dG9yeSIpdGhyb3cgbmV3IEVycm9yKCJTaGVldCBuYW1lIGNhbm5vdCBiZSAnSGlzdG9yeSciKTtO +bS5mb3JFYWNoKGZ1bmN0aW9uKHIpe2lmKGUuaW5kZXhPZihyKT09LTEpcmV0dXJuO3Rocm93IG5l +dyBFcnJvcigiU2hlZXQgbmFtZSBjYW5ub3QgY29udGFpbiA6IFxcIC8gPyAqIFsgXSIpfSl9Y2F0 +Y2godCl7aWYocilyZXR1cm4gZmFsc2U7dGhyb3cgdH1yZXR1cm4gdHJ1ZX1mdW5jdGlvbiBEbShl +LHIsdCl7ZS5mb3JFYWNoKGZ1bmN0aW9uKGEsbil7Rm0oYSk7Zm9yKHZhciBpPTA7aTxuOysraSlp +ZihhPT1lW2ldKXRocm93IG5ldyBFcnJvcigiRHVwbGljYXRlIFNoZWV0IE5hbWU6ICIrYSk7aWYo +dCl7dmFyIHM9ciYmcltuXSYmcltuXS5Db2RlTmFtZXx8YTtpZihzLmNoYXJDb2RlQXQoMCk9PTk1 +JiZzLmxlbmd0aD4yMil0aHJvdyBuZXcgRXJyb3IoIkJhZCBDb2RlIE5hbWU6IFdvcmtzaGVldCIr +cyl9fSl9ZnVuY3Rpb24gUG0oZSl7aWYoIWV8fCFlLlNoZWV0TmFtZXN8fCFlLlNoZWV0cyl0aHJv +dyBuZXcgRXJyb3IoIkludmFsaWQgV29ya2Jvb2siKTtpZighZS5TaGVldE5hbWVzLmxlbmd0aCl0 +aHJvdyBuZXcgRXJyb3IoIldvcmtib29rIGlzIGVtcHR5Iik7dmFyIHI9ZS5Xb3JrYm9vayYmZS5X +b3JrYm9vay5TaGVldHN8fFtdO0RtKGUuU2hlZXROYW1lcyxyLCEhZS52YmFyYXcpO2Zvcih2YXIg +dD0wO3Q8ZS5TaGVldE5hbWVzLmxlbmd0aDsrK3QpRXYoZS5TaGVldHNbZS5TaGVldE5hbWVzW3Rd +XSxlLlNoZWV0TmFtZXNbdF0sdCk7ZS5TaGVldE5hbWVzLmZvckVhY2goZnVuY3Rpb24ocix0KXt2 +YXIgYT1lLlNoZWV0c1tyXTtpZighYXx8IWFbIiFhdXRvZmlsdGVyIl0pcmV0dXJuO3ZhciBuO2lm +KCFlLldvcmtib29rKWUuV29ya2Jvb2s9e307aWYoIWUuV29ya2Jvb2suTmFtZXMpZS5Xb3JrYm9v +ay5OYW1lcz1bXTtlLldvcmtib29rLk5hbWVzLmZvckVhY2goZnVuY3Rpb24oZSl7aWYoZS5OYW1l +PT0iX3hsbm0uX0ZpbHRlckRhdGFiYXNlIiYmZS5TaGVldD09dCluPWV9KTt2YXIgaT1RYShyKSsi +ISIrcWEoYVsiIWF1dG9maWx0ZXIiXS5yZWYpO2lmKG4pbi5SZWY9aTtlbHNlIGUuV29ya2Jvb2su +TmFtZXMucHVzaCh7TmFtZToiX3hsbm0uX0ZpbHRlckRhdGFiYXNlIixTaGVldDp0LFJlZjppfSl9 +KX12YXIgTG09Lzxcdys6d29ya2Jvb2svO2Z1bmN0aW9uIE1tKGUscil7aWYoIWUpdGhyb3cgbmV3 +IEVycm9yKCJDb3VsZCBub3QgZmluZCBmaWxlIik7dmFyIHQ9e0FwcFZlcnNpb246e30sV0JQcm9w +czp7fSxXQlZpZXc6W10sU2hlZXRzOltdLENhbGNQcjp7fSxOYW1lczpbXSx4bWxuczoiIn07dmFy +IGE9ZmFsc2Usbj0ieG1sbnMiO3ZhciBpPXt9LHM9MDtlLnJlcGxhY2UoZnQsZnVuY3Rpb24gZihs +LG8pe3ZhciBjPWN0KGwpO3N3aXRjaCh1dChjWzBdKSl7Y2FzZSI8P3htbCI6YnJlYWs7Y2FzZSI8 +d29ya2Jvb2siOmlmKGwubWF0Y2goTG0pKW49InhtbG5zIitsLm1hdGNoKC88KFx3Kyk6LylbMV07 +dC54bWxucz1jW25dO2JyZWFrO2Nhc2UiPC93b3JrYm9vaz4iOmJyZWFrO2Nhc2UiPGZpbGVWZXJz +aW9uIjpkZWxldGUgY1swXTt0LkFwcFZlcnNpb249YzticmVhaztjYXNlIjxmaWxlVmVyc2lvbi8+ +Ijo7Y2FzZSI8L2ZpbGVWZXJzaW9uPiI6YnJlYWs7Y2FzZSI8ZmlsZVNoYXJpbmciOmJyZWFrO2Nh +c2UiPGZpbGVTaGFyaW5nLz4iOmJyZWFrO2Nhc2UiPHdvcmtib29rUHIiOjtjYXNlIjx3b3JrYm9v +a1ByLz4iOkVtLmZvckVhY2goZnVuY3Rpb24oZSl7aWYoY1tlWzBdXT09bnVsbClyZXR1cm47c3dp +dGNoKGVbMl0pe2Nhc2UiYm9vbCI6dC5XQlByb3BzW2VbMF1dPUN0KGNbZVswXV0pO2JyZWFrO2Nh +c2UiaW50Ijp0LldCUHJvcHNbZVswXV09cGFyc2VJbnQoY1tlWzBdXSwxMCk7YnJlYWs7ZGVmYXVs +dDp0LldCUHJvcHNbZVswXV09Y1tlWzBdXTt9fSk7aWYoYy5jb2RlTmFtZSl0LldCUHJvcHMuQ29k +ZU5hbWU9SXQoYy5jb2RlTmFtZSk7YnJlYWs7Y2FzZSI8L3dvcmtib29rUHI+IjpicmVhaztjYXNl +Ijx3b3JrYm9va1Byb3RlY3Rpb24iOmJyZWFrO2Nhc2UiPHdvcmtib29rUHJvdGVjdGlvbi8+Ijpi +cmVhaztjYXNlIjxib29rVmlld3MiOjtjYXNlIjxib29rVmlld3M+Ijo7Y2FzZSI8L2Jvb2tWaWV3 +cz4iOmJyZWFrO2Nhc2UiPHdvcmtib29rVmlldyI6O2Nhc2UiPHdvcmtib29rVmlldy8+IjpkZWxl +dGUgY1swXTt0LldCVmlldy5wdXNoKGMpO2JyZWFrO2Nhc2UiPC93b3JrYm9va1ZpZXc+IjpicmVh +aztjYXNlIjxzaGVldHMiOjtjYXNlIjxzaGVldHM+Ijo7Y2FzZSI8L3NoZWV0cz4iOmJyZWFrO2Nh +c2UiPHNoZWV0Ijpzd2l0Y2goYy5zdGF0ZSl7Y2FzZSJoaWRkZW4iOmMuSGlkZGVuPTE7YnJlYWs7 +Y2FzZSJ2ZXJ5SGlkZGVuIjpjLkhpZGRlbj0yO2JyZWFrO2RlZmF1bHQ6Yy5IaWRkZW49MDt9ZGVs +ZXRlIGMuc3RhdGU7Yy5uYW1lPXB0KEl0KGMubmFtZSkpO2RlbGV0ZSBjWzBdO3QuU2hlZXRzLnB1 +c2goYyk7YnJlYWs7Y2FzZSI8L3NoZWV0PiI6YnJlYWs7Y2FzZSI8ZnVuY3Rpb25Hcm91cHMiOjtj +YXNlIjxmdW5jdGlvbkdyb3Vwcy8+IjpicmVhaztjYXNlIjxmdW5jdGlvbkdyb3VwIjpicmVhaztj +YXNlIjxleHRlcm5hbFJlZmVyZW5jZXMiOjtjYXNlIjwvZXh0ZXJuYWxSZWZlcmVuY2VzPiI6O2Nh +c2UiPGV4dGVybmFsUmVmZXJlbmNlcz4iOmJyZWFrO2Nhc2UiPGV4dGVybmFsUmVmZXJlbmNlIjpi +cmVhaztjYXNlIjxkZWZpbmVkTmFtZXMvPiI6YnJlYWs7Y2FzZSI8ZGVmaW5lZE5hbWVzPiI6O2Nh +c2UiPGRlZmluZWROYW1lcyI6YT10cnVlO2JyZWFrO2Nhc2UiPC9kZWZpbmVkTmFtZXM+IjphPWZh +bHNlO2JyZWFrO2Nhc2UiPGRlZmluZWROYW1lIjp7aT17fTtpLk5hbWU9SXQoYy5uYW1lKTtpZihj +LmNvbW1lbnQpaS5Db21tZW50PWMuY29tbWVudDtpZihjLmxvY2FsU2hlZXRJZClpLlNoZWV0PStj +LmxvY2FsU2hlZXRJZDtpZihDdChjLmhpZGRlbnx8IjAiKSlpLkhpZGRlbj10cnVlO3M9bytsLmxl +bmd0aH1icmVhaztjYXNlIjwvZGVmaW5lZE5hbWU+Ijp7aS5SZWY9cHQoSXQoZS5zbGljZShzLG8p +KSk7dC5OYW1lcy5wdXNoKGkpfWJyZWFrO2Nhc2UiPGRlZmluZWROYW1lLz4iOmJyZWFrO2Nhc2Ui +PGNhbGNQciI6ZGVsZXRlIGNbMF07dC5DYWxjUHI9YzticmVhaztjYXNlIjxjYWxjUHIvPiI6ZGVs +ZXRlIGNbMF07dC5DYWxjUHI9YzticmVhaztjYXNlIjwvY2FsY1ByPiI6YnJlYWs7Y2FzZSI8b2xl +U2l6ZSI6YnJlYWs7Y2FzZSI8Y3VzdG9tV29ya2Jvb2tWaWV3cz4iOjtjYXNlIjwvY3VzdG9tV29y +a2Jvb2tWaWV3cz4iOjtjYXNlIjxjdXN0b21Xb3JrYm9va1ZpZXdzIjpicmVhaztjYXNlIjxjdXN0 +b21Xb3JrYm9va1ZpZXciOjtjYXNlIjwvY3VzdG9tV29ya2Jvb2tWaWV3PiI6YnJlYWs7Y2FzZSI8 +cGl2b3RDYWNoZXM+Ijo7Y2FzZSI8L3Bpdm90Q2FjaGVzPiI6O2Nhc2UiPHBpdm90Q2FjaGVzIjpi +cmVhaztjYXNlIjxwaXZvdENhY2hlIjpicmVhaztjYXNlIjxzbWFydFRhZ1ByIjo7Y2FzZSI8c21h +cnRUYWdQci8+IjpicmVhaztjYXNlIjxzbWFydFRhZ1R5cGVzIjo7Y2FzZSI8c21hcnRUYWdUeXBl +cz4iOjtjYXNlIjwvc21hcnRUYWdUeXBlcz4iOmJyZWFrO2Nhc2UiPHNtYXJ0VGFnVHlwZSI6YnJl +YWs7Y2FzZSI8d2ViUHVibGlzaGluZyI6O2Nhc2UiPHdlYlB1Ymxpc2hpbmcvPiI6YnJlYWs7Y2Fz +ZSI8ZmlsZVJlY292ZXJ5UHIiOjtjYXNlIjxmaWxlUmVjb3ZlcnlQci8+IjpicmVhaztjYXNlIjx3 +ZWJQdWJsaXNoT2JqZWN0cz4iOjtjYXNlIjx3ZWJQdWJsaXNoT2JqZWN0cyI6O2Nhc2UiPC93ZWJQ +dWJsaXNoT2JqZWN0cz4iOmJyZWFrO2Nhc2UiPHdlYlB1Ymxpc2hPYmplY3QiOmJyZWFrO2Nhc2Ui +PGV4dExzdCI6O2Nhc2UiPGV4dExzdD4iOjtjYXNlIjwvZXh0THN0PiI6O2Nhc2UiPGV4dExzdC8+ +IjpicmVhaztjYXNlIjxleHQiOmE9dHJ1ZTticmVhaztjYXNlIjwvZXh0PiI6YT1mYWxzZTticmVh +aztjYXNlIjxBcmNoSUQiOmJyZWFrO2Nhc2UiPEFsdGVybmF0ZUNvbnRlbnQiOjtjYXNlIjxBbHRl +cm5hdGVDb250ZW50PiI6YT10cnVlO2JyZWFrO2Nhc2UiPC9BbHRlcm5hdGVDb250ZW50PiI6YT1m +YWxzZTticmVhaztjYXNlIjxyZXZpc2lvblB0ciI6YnJlYWs7ZGVmYXVsdDppZighYSYmci5XVEYp +dGhyb3cgbmV3IEVycm9yKCJ1bnJlY29nbml6ZWQgIitjWzBdKyIgaW4gd29ya2Jvb2siKTt9cmV0 +dXJuIGx9KTtpZihYdC5pbmRleE9mKHQueG1sbnMpPT09LTEpdGhyb3cgbmV3IEVycm9yKCJVbmtu +b3duIE5hbWVzcGFjZTogIit0LnhtbG5zKTtJbSh0KTtyZXR1cm4gdH1mdW5jdGlvbiBVbShlKXt2 +YXIgcj1bYXRdO3Jbci5sZW5ndGhdPUJ0KCJ3b3JrYm9vayIsbnVsbCx7eG1sbnM6WHRbMF0sInht +bG5zOnIiOiR0LnJ9KTt2YXIgdD1lLldvcmtib29rJiYoZS5Xb3JrYm9vay5OYW1lc3x8W10pLmxl +bmd0aD4wO3ZhciBhPXtjb2RlTmFtZToiVGhpc1dvcmtib29rIn07aWYoZS5Xb3JrYm9vayYmZS5X +b3JrYm9vay5XQlByb3BzKXtFbS5mb3JFYWNoKGZ1bmN0aW9uKHIpe2lmKGUuV29ya2Jvb2suV0JQ +cm9wc1tyWzBdXT09bnVsbClyZXR1cm47aWYoZS5Xb3JrYm9vay5XQlByb3BzW3JbMF1dPT1yWzFd +KXJldHVybjthW3JbMF1dPWUuV29ya2Jvb2suV0JQcm9wc1tyWzBdXX0pO2lmKGUuV29ya2Jvb2su +V0JQcm9wcy5Db2RlTmFtZSl7YS5jb2RlTmFtZT1lLldvcmtib29rLldCUHJvcHMuQ29kZU5hbWU7 +ZGVsZXRlIGEuQ29kZU5hbWV9fXJbci5sZW5ndGhdPUJ0KCJ3b3JrYm9va1ByIixudWxsLGEpO3Zh +ciBuPWUuV29ya2Jvb2smJmUuV29ya2Jvb2suU2hlZXRzfHxbXTt2YXIgaT0wO2lmKG4mJm5bMF0m +JiEhblswXS5IaWRkZW4pe3Jbci5sZW5ndGhdPSI8Ym9va1ZpZXdzPiI7Zm9yKGk9MDtpIT1lLlNo +ZWV0TmFtZXMubGVuZ3RoOysraSl7aWYoIW5baV0pYnJlYWs7aWYoIW5baV0uSGlkZGVuKWJyZWFr +fWlmKGk9PWUuU2hlZXROYW1lcy5sZW5ndGgpaT0wO3Jbci5sZW5ndGhdPSc8d29ya2Jvb2tWaWV3 +IGZpcnN0U2hlZXQ9IicraSsnIiBhY3RpdmVUYWI9IicraSsnIi8+JztyW3IubGVuZ3RoXT0iPC9i +b29rVmlld3M+In1yW3IubGVuZ3RoXT0iPHNoZWV0cz4iO2ZvcihpPTA7aSE9ZS5TaGVldE5hbWVz +Lmxlbmd0aDsrK2kpe3ZhciBzPXtuYW1lOmJ0KGUuU2hlZXROYW1lc1tpXS5zbGljZSgwLDMxKSl9 +O3Muc2hlZXRJZD0iIisoaSsxKTtzWyJyOmlkIl09InJJZCIrKGkrMSk7aWYobltpXSlzd2l0Y2go +bltpXS5IaWRkZW4pe2Nhc2UgMTpzLnN0YXRlPSJoaWRkZW4iO2JyZWFrO2Nhc2UgMjpzLnN0YXRl +PSJ2ZXJ5SGlkZGVuIjticmVhazt9cltyLmxlbmd0aF09QnQoInNoZWV0IixudWxsLHMpfXJbci5s +ZW5ndGhdPSI8L3NoZWV0cz4iO2lmKHQpe3Jbci5sZW5ndGhdPSI8ZGVmaW5lZE5hbWVzPiI7aWYo +ZS5Xb3JrYm9vayYmZS5Xb3JrYm9vay5OYW1lcyllLldvcmtib29rLk5hbWVzLmZvckVhY2goZnVu +Y3Rpb24oZSl7dmFyIHQ9e25hbWU6ZS5OYW1lfTtpZihlLkNvbW1lbnQpdC5jb21tZW50PWUuQ29t +bWVudDtpZihlLlNoZWV0IT1udWxsKXQubG9jYWxTaGVldElkPSIiK2UuU2hlZXQ7aWYoZS5IaWRk +ZW4pdC5oaWRkZW49IjEiO2lmKCFlLlJlZilyZXR1cm47cltyLmxlbmd0aF09QnQoImRlZmluZWRO +YW1lIixidChlLlJlZiksdCl9KTtyW3IubGVuZ3RoXT0iPC9kZWZpbmVkTmFtZXM+In1pZihyLmxl +bmd0aD4yKXtyW3IubGVuZ3RoXT0iPC93b3JrYm9vaz4iO3JbMV09clsxXS5yZXBsYWNlKCIvPiIs +Ij4iKX1yZXR1cm4gci5qb2luKCIiKX1mdW5jdGlvbiBCbShlLHIpe3ZhciB0PXt9O3QuSGlkZGVu +PWUuX1IoNCk7dC5pVGFiSUQ9ZS5fUig0KTt0LnN0clJlbElEPVNuKGUsci04KTt0Lm5hbWU9Y24o +ZSk7cmV0dXJuIHR9ZnVuY3Rpb24gV20oZSxyKXtpZighcilyPVJhKDEyNyk7ci5fVyg0LGUuSGlk +ZGVuKTtyLl9XKDQsZS5pVGFiSUQpO3huKGUuc3RyUmVsSUQscik7aG4oZS5uYW1lLnNsaWNlKDAs +MzEpLHIpO3JldHVybiByLmxlbmd0aD5yLmw/ci5zbGljZSgwLHIubCk6cn1mdW5jdGlvbiB6bShl +LHIpe3ZhciB0PXt9O3ZhciBhPWUuX1IoNCk7dC5kZWZhdWx0VGhlbWVWZXJzaW9uPWUuX1IoNCk7 +dmFyIG49cj44P2NuKGUpOiIiO2lmKG4ubGVuZ3RoPjApdC5Db2RlTmFtZT1uO3QuYXV0b0NvbXBy +ZXNzUGljdHVyZXM9ISEoYSY2NTUzNik7dC5iYWNrdXBGaWxlPSEhKGEmNjQpO3QuY2hlY2tDb21w +YXRpYmlsaXR5PSEhKGEmNDA5Nik7dC5kYXRlMTkwND0hIShhJjEpO3QuZmlsdGVyUHJpdmFjeT0h +IShhJjgpO3QuaGlkZVBpdm90RmllbGRMaXN0PSEhKGEmMTAyNCk7dC5wcm9tcHRlZFNvbHV0aW9u +cz0hIShhJjE2KTt0LnB1Ymxpc2hJdGVtcz0hIShhJjIwNDgpO3QucmVmcmVzaEFsbENvbm5lY3Rp +b25zPSEhKGEmMjYyMTQ0KTt0LnNhdmVFeHRlcm5hbExpbmtWYWx1ZXM9ISEoYSYxMjgpO3Quc2hv +d0JvcmRlclVuc2VsZWN0ZWRUYWJsZXM9ISEoYSY0KTt0LnNob3dJbmtBbm5vdGF0aW9uPSEhKGEm +MzIpO3Quc2hvd09iamVjdHM9WyJhbGwiLCJwbGFjZWhvbGRlcnMiLCJub25lIl1bYT4+MTMmM107 +dC5zaG93UGl2b3RDaGFydEZpbHRlcj0hIShhJjMyNzY4KTt0LnVwZGF0ZUxpbmtzPVsidXNlclNl +dCIsIm5ldmVyIiwiYWx3YXlzIl1bYT4+OCYzXTtyZXR1cm4gdH1mdW5jdGlvbiBIbShlLHIpe2lm +KCFyKXI9UmEoNzIpO3ZhciB0PTA7aWYoZSl7aWYoZS5kYXRlMTkwNCl0fD0xO2lmKGUuZmlsdGVy +UHJpdmFjeSl0fD04fXIuX1coNCx0KTtyLl9XKDQsMCk7eW4oZSYmZS5Db2RlTmFtZXx8IlRoaXNX +b3JrYm9vayIscik7cmV0dXJuIHIuc2xpY2UoMCxyLmwpfWZ1bmN0aW9uIFZtKGUscil7dmFyIHQ9 +e307ZS5fUig0KTt0LkFyY2hJRD1lLl9SKDQpO2UubCs9ci04O3JldHVybiB0fWZ1bmN0aW9uICRt +KGUscix0KXt2YXIgYT1lLmwrcjt2YXIgbj1lLl9SKDQpO2UubCs9MTt2YXIgaT1lLl9SKDQpO3Zh +ciBzPV9uKGUpO3ZhciBmO3ZhciBsPSIiO3RyeXtmPVlkKGUsMCx0KTt0cnl7bD1FbihlKX1jYXRj +aChvKXt9fWNhdGNoKG8pe2NvbnNvbGUuZXJyb3IoIkNvdWxkIG5vdCBwYXJzZSBkZWZpbmVkIG5h +bWUgIitzKX1pZihuJjMyKXM9Il94bG5tLiIrcztlLmw9YTt2YXIgYz17TmFtZTpzLFB0ZzpmLEZs +YWdzOm59O2lmKGk8MjY4NDM1NDU1KWMuU2hlZXQ9aTtpZihsKWMuQ29tbWVudD1sO3JldHVybiBj +fWZ1bmN0aW9uIFhtKGUscil7dmFyIHQ9UmEoOSk7dmFyIGE9MDt2YXIgbj1lLk5hbWU7aWYodWku +aW5kZXhPZihuKT4tMSl7YXw9MzI7bj1uLnNsaWNlKDYpfXQuX1coNCxhKTt0Ll9XKDEsMCk7dC5f +Vyg0LGUuU2hlZXQ9PW51bGw/NDI5NDk2NzI5NTplLlNoZWV0KTt2YXIgaT1bdCxobihuKSxsdihl +LlJlZixyKV07aWYoZS5Db21tZW50KWkucHVzaChDbihlLkNvbW1lbnQpKTtlbHNle3ZhciBzPVJh +KDQpO3MuX1coNCw0Mjk0OTY3Mjk1KTtpLnB1c2gocyl9cmV0dXJuIFAoaSl9ZnVuY3Rpb24gR20o +ZSxyKXt2YXIgdD17QXBwVmVyc2lvbjp7fSxXQlByb3BzOnt9LFdCVmlldzpbXSxTaGVldHM6W10s +Q2FsY1ByOnt9LHhtbG5zOiIifTt2YXIgYT1bXTt2YXIgbj1mYWxzZTtpZighcilyPXt9O3IuYmlm +Zj0xMjt2YXIgaT1bXTt2YXIgcz1bW11dO3MuU2hlZXROYW1lcz1bXTtzLlhUST1bXTtaZ1sxNl09 +e246IkJydEZSVEFyY2hJRCQiLGY6Vm19O05hKGUsZnVuY3Rpb24gZihlLGwsbyl7c3dpdGNoKG8p +e2Nhc2UgMTU2OnMuU2hlZXROYW1lcy5wdXNoKGUubmFtZSk7dC5TaGVldHMucHVzaChlKTticmVh +aztjYXNlIDE1Mzp0LldCUHJvcHM9ZTticmVhaztjYXNlIDM5OmlmKGUuU2hlZXQhPW51bGwpci5T +SUQ9ZS5TaGVldDtlLlJlZj1lLlB0Zz9NZChlLlB0ZyxudWxsLG51bGwscyxyKToiI1JFRiEiO2Rl +bGV0ZSByLlNJRDtkZWxldGUgZS5QdGc7aS5wdXNoKGUpO2JyZWFrO2Nhc2UgMTAzNjpicmVhaztj +YXNlIDM1Nzo7Y2FzZSAzNTg6O2Nhc2UgMzU1OjtjYXNlIDY2NzppZighc1swXS5sZW5ndGgpc1sw +XT1bbyxlXTtlbHNlIHMucHVzaChbbyxlXSk7c1tzLmxlbmd0aC0xXS5YVEk9W107YnJlYWs7Y2Fz +ZSAzNjI6aWYocy5sZW5ndGg9PT0wKXtzWzBdPVtdO3NbMF0uWFRJPVtdfXNbcy5sZW5ndGgtMV0u +WFRJPXNbcy5sZW5ndGgtMV0uWFRJLmNvbmNhdChlKTtzLlhUST1zLlhUSS5jb25jYXQoZSk7YnJl +YWs7Y2FzZSAzNjE6YnJlYWs7Y2FzZSAyMDcxOjtjYXNlIDE1ODo7Y2FzZSAxNDM6O2Nhc2UgNjY0 +OjtjYXNlIDM1MzpicmVhaztjYXNlIDMwNzI6O2Nhc2UgMzA3Mzo7Y2FzZSA1MzQ6O2Nhc2UgNjc3 +OjtjYXNlIDE1Nzo7Y2FzZSA2MTA6O2Nhc2UgMjA1MDo7Y2FzZSAxNTU6O2Nhc2UgNTQ4OjtjYXNl +IDY3Njo7Y2FzZSAxMjg6O2Nhc2UgNjY1OjtjYXNlIDIxMjg6O2Nhc2UgMjEyNTo7Y2FzZSA1NDk6 +O2Nhc2UgMjA1Mzo7Y2FzZSA1OTY6O2Nhc2UgMjA3Njo7Y2FzZSAyMDc1OjtjYXNlIDIwODI6O2Nh +c2UgMzk3OjtjYXNlIDE1NDo7Y2FzZSAxMTE3OjtjYXNlIDU1Mzo7Y2FzZSAyMDkxOmJyZWFrO2Nh +c2UgMzU6YS5wdXNoKG8pO249dHJ1ZTticmVhaztjYXNlIDM2OmEucG9wKCk7bj1mYWxzZTticmVh +aztjYXNlIDM3OmEucHVzaChvKTtuPXRydWU7YnJlYWs7Y2FzZSAzODphLnBvcCgpO249ZmFsc2U7 +YnJlYWs7Y2FzZSAxNjpicmVhaztkZWZhdWx0OmlmKGwuVCl7fWVsc2UgaWYoIW58fHIuV1RGJiZh +W2EubGVuZ3RoLTFdIT0zNyYmYVthLmxlbmd0aC0xXSE9MzUpdGhyb3cgbmV3IEVycm9yKCJVbmV4 +cGVjdGVkIHJlY29yZCAweCIrby50b1N0cmluZygxNikpO319LHIpO0ltKHQpO3QuTmFtZXM9aTt0 +LnN1cGJvb2tzPXM7cmV0dXJuIHR9ZnVuY3Rpb24gam0oZSxyKXtEYShlLDE0Myk7Zm9yKHZhciB0 +PTA7dCE9ci5TaGVldE5hbWVzLmxlbmd0aDsrK3Qpe3ZhciBhPXIuV29ya2Jvb2smJnIuV29ya2Jv +b2suU2hlZXRzJiZyLldvcmtib29rLlNoZWV0c1t0XSYmci5Xb3JrYm9vay5TaGVldHNbdF0uSGlk +ZGVufHwwO3ZhciBuPXtIaWRkZW46YSxpVGFiSUQ6dCsxLHN0clJlbElEOiJySWQiKyh0KzEpLG5h +bWU6ci5TaGVldE5hbWVzW3RdfTtEYShlLDE1NixXbShuKSl9RGEoZSwxNDQpfWZ1bmN0aW9uIEtt +KHIsdCl7aWYoIXQpdD1SYSgxMjcpO2Zvcih2YXIgYT0wO2EhPTQ7KythKXQuX1coNCwwKTtobigi +U2hlZXRKUyIsdCk7aG4oZS52ZXJzaW9uLHQpO2huKGUudmVyc2lvbix0KTtobigiNzI2MiIsdCk7 +cmV0dXJuIHQubGVuZ3RoPnQubD90LnNsaWNlKDAsdC5sKTp0fWZ1bmN0aW9uIFltKGUscil7aWYo +IXIpcj1SYSgyOSk7ci5fVygtNCwwKTtyLl9XKC00LDQ2MCk7ci5fVyg0LDI4ODAwKTtyLl9XKDQs +MTc2MDApO3IuX1coNCw1MDApO3IuX1coNCxlKTtyLl9XKDQsZSk7dmFyIHQ9MTIwO3IuX1coMSx0 +KTtyZXR1cm4gci5sZW5ndGg+ci5sP3Iuc2xpY2UoMCxyLmwpOnJ9ZnVuY3Rpb24gWm0oZSxyKXtp +Zighci5Xb3JrYm9va3x8IXIuV29ya2Jvb2suU2hlZXRzKXJldHVybjt2YXIgdD1yLldvcmtib29r +LlNoZWV0czt2YXIgYT0wLG49LTEsaT0tMTtmb3IoO2E8dC5sZW5ndGg7KythKXtpZighdFthXXx8 +IXRbYV0uSGlkZGVuJiZuPT0tMSluPWE7ZWxzZSBpZih0W2FdLkhpZGRlbj09MSYmaT09LTEpaT1h +fWlmKGk+bilyZXR1cm47RGEoZSwxMzUpO0RhKGUsMTU4LFltKG4pKTtEYShlLDEzNil9ZnVuY3Rp +b24gSm0oZSxyKXtpZighci5Xb3JrYm9va3x8IXIuV29ya2Jvb2suTmFtZXMpcmV0dXJuO3IuV29y +a2Jvb2suTmFtZXMuZm9yRWFjaChmdW5jdGlvbih0KXt0cnl7aWYodC5GbGFncyYxNClyZXR1cm47 +RGEoZSwzOSxYbSh0LHIpKX1jYXRjaChhKXtjb25zb2xlLmVycm9yKCJDb3VsZCBub3Qgc2VyaWFs +aXplIGRlZmluZWQgbmFtZSAiK0pTT04uc3RyaW5naWZ5KHQpKX19KX1mdW5jdGlvbiBxbShlKXt2 +YXIgcj1lLlNoZWV0TmFtZXMubGVuZ3RoO3ZhciB0PVJhKDEyKnIrMjgpO3QuX1coNCxyKzIpO3Qu +X1coNCwwKTt0Ll9XKDQsLTIpO3QuX1coNCwtMik7dC5fVyg0LDApO3QuX1coNCwtMSk7dC5fVyg0 +LC0xKTtmb3IodmFyIGE9MDthPHI7KythKXt0Ll9XKDQsMCk7dC5fVyg0LGEpO3QuX1coNCxhKX1y +ZXR1cm4gdH1mdW5jdGlvbiBRbShlLHIpe0RhKGUsMzUzKTtEYShlLDM1Nyk7RGEoZSwzNjIscW0o +ciwwKSk7RGEoZSwzNTQpfWZ1bmN0aW9uIGVnKGUscil7dmFyIHQ9RmEoKTtEYSh0LDEzMSk7RGEo +dCwxMjgsS20oKSk7RGEodCwxNTMsSG0oZS5Xb3JrYm9vayYmZS5Xb3JrYm9vay5XQlByb3BzfHxu +dWxsKSk7Wm0odCxlLHIpO2ptKHQsZSxyKTtRbSh0LGUpO2lmKChlLldvcmtib29rfHx7fSkuTmFt +ZXMpSm0odCxlKTtEYSh0LDEzMik7cmV0dXJuIHQuZW5kKCl9ZnVuY3Rpb24gcmcoZSxyLHQpe2lm +KHIuc2xpY2UoLTQpPT09Ii5iaW4iKXJldHVybiBHbShlLHQpO3JldHVybiBNbShlLHQpfWZ1bmN0 +aW9uIHRnKGUscix0LGEsbixpLHMsZil7aWYoci5zbGljZSgtNCk9PT0iLmJpbiIpcmV0dXJuIHNt +KGUsYSx0LG4saSxzLGYpO3JldHVybiBGdihlLGEsdCxuLGkscyxmKX1mdW5jdGlvbiBhZyhlLHIs +dCxhLG4saSxzLGYpe2lmKHIuc2xpY2UoLTQpPT09Ii5iaW4iKXJldHVybiB5bShlLGEsdCxuLGks +cyxmKTtyZXR1cm4gQW0oZSxhLHQsbixpLHMsZil9ZnVuY3Rpb24gbmcoZSxyLHQsYSxuLGkscyxm +KXtpZihyLnNsaWNlKC00KT09PSIuYmluIilyZXR1cm4gUWgoZSxhLHQsbixpLHMsZik7cmV0dXJu +IGV1KGUsYSx0LG4saSxzLGYpfWZ1bmN0aW9uIGlnKGUscix0LGEsbixpLHMsZil7aWYoci5zbGlj +ZSgtNCk9PT0iLmJpbiIpcmV0dXJuIEpoKGUsYSx0LG4saSxzLGYpO3JldHVybiBxaChlLGEsdCxu +LGkscyxmKX1mdW5jdGlvbiBzZyhlLHIsdCxhKXtpZihyLnNsaWNlKC00KT09PSIuYmluIilyZXR1 +cm4gemMoZSx0LGEpO3JldHVybiBFYyhlLHQsYSl9ZnVuY3Rpb24gZmcoZSxyLHQpe2lmKHIuc2xp +Y2UoLTQpPT09Ii5iaW4iKXJldHVybiBibyhlLHQpO3JldHVybiB2byhlLHQpfWZ1bmN0aW9uIGxn +KGUscix0KXtpZihyLnNsaWNlKC00KT09PSIuYmluIilyZXR1cm4gWGgoZSx0KTtyZXR1cm4gUGgo +ZSx0KX1mdW5jdGlvbiBvZyhlLHIsdCl7aWYoci5zbGljZSgtNCk9PT0iLmJpbiIpcmV0dXJuIFNo +KGUscix0KTtyZXR1cm4gQ2goZSxyLHQpfWZ1bmN0aW9uIGNnKGUscix0LGEpe2lmKHQuc2xpY2Uo +LTQpPT09Ii5iaW4iKXJldHVybiBPaChlLHIsdCxhKTtyZXR1cm4geGgoZSxyLHQsYSl9ZnVuY3Rp +b24gaGcoZSxyLHQpe2lmKHIuc2xpY2UoLTQpPT09Ii5iaW4iKXJldHVybiBBaChlLHIsdCk7cmV0 +dXJuIHloKGUscix0KX12YXIgdWc9L1xiKCg/Olx3KzopP1tcd10rKT0oKD86IikoW14iXSopKD86 +Iil8KD86JykoW14nXSopKD86JykpL2c7dmFyIGRnPS9cYigoPzpcdys6KT9bXHddKyk9KCg/OiIp +KD86W14iXSopKD86Iil8KD86JykoPzpbXiddKikoPzonKSkvO2Z1bmN0aW9uIHZnKGUscil7dmFy +IHQ9ZS5zcGxpdCgvXHMrLyk7dmFyIGE9W107aWYoIXIpYVswXT10WzBdO2lmKHQubGVuZ3RoPT09 +MSlyZXR1cm4gYTt2YXIgbj1lLm1hdGNoKHVnKSxpLHMsZixsO2lmKG4pZm9yKGw9MDtsIT1uLmxl +bmd0aDsrK2wpe2k9bltsXS5tYXRjaChkZyk7aWYoKHM9aVsxXS5pbmRleE9mKCI6IikpPT09LTEp +YVtpWzFdXT1pWzJdLnNsaWNlKDEsaVsyXS5sZW5ndGgtMSk7ZWxzZXtpZihpWzFdLnNsaWNlKDAs +Nik9PT0ieG1sbnM6IilmPSJ4bWxucyIraVsxXS5zbGljZSg2KTtlbHNlIGY9aVsxXS5zbGljZShz +KzEpO2FbZl09aVsyXS5zbGljZSgxLGlbMl0ubGVuZ3RoLTEpfX1yZXR1cm4gYX1mdW5jdGlvbiBw +ZyhlKXt2YXIgcj1lLnNwbGl0KC9ccysvKTt2YXIgdD17fTtpZihyLmxlbmd0aD09PTEpcmV0dXJu +IHQ7dmFyIGE9ZS5tYXRjaCh1ZyksbixpLHMsZjtpZihhKWZvcihmPTA7ZiE9YS5sZW5ndGg7Kytm +KXtuPWFbZl0ubWF0Y2goZGcpO2lmKChpPW5bMV0uaW5kZXhPZigiOiIpKT09PS0xKXRbblsxXV09 +blsyXS5zbGljZSgxLG5bMl0ubGVuZ3RoLTEpO2Vsc2V7aWYoblsxXS5zbGljZSgwLDYpPT09Inht +bG5zOiIpcz0ieG1sbnMiK25bMV0uc2xpY2UoNik7ZWxzZSBzPW5bMV0uc2xpY2UoaSsxKTt0W3Nd +PW5bMl0uc2xpY2UoMSxuWzJdLmxlbmd0aC0xKX19cmV0dXJuIHR9dmFyIG1nO2Z1bmN0aW9uIGdn +KGUscix0KXt2YXIgYT1tZ1tlXXx8cHQoZSk7aWYoYT09PSJHZW5lcmFsIilyZXR1cm4gb2Uocik7 +cmV0dXJuIHplKGEscix7ZGF0ZTE5MDQ6ISF0fSl9ZnVuY3Rpb24gYmcoZSxyLHQsYSl7dmFyIG49 +YTtzd2l0Y2goKHRbMF0ubWF0Y2goL2R0OmR0PSIoW1x3Ll0rKSIvKXx8WyIiLCIiXSlbMV0pe2Nh +c2UiYm9vbGVhbiI6Cm49Q3QoYSk7YnJlYWs7Y2FzZSJpMiI6O2Nhc2UiaW50IjpuPXBhcnNlSW50 +KGEsMTApO2JyZWFrO2Nhc2UicjQiOjtjYXNlImZsb2F0IjpuPXBhcnNlRmxvYXQoYSk7YnJlYWs7 +Y2FzZSJkYXRlIjo7Y2FzZSJkYXRlVGltZS50eiI6bj13cihhKTticmVhaztjYXNlImk4Ijo7Y2Fz +ZSJzdHJpbmciOjtjYXNlImZpeGVkIjo7Y2FzZSJ1dWlkIjo7Y2FzZSJiaW4uYmFzZTY0IjpicmVh +aztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiYmFkIGN1c3Rwcm9wOiIrdFswXSk7fWVbcHQocild +PW59ZnVuY3Rpb24gd2coZSxyLHQsYSl7aWYoZS50PT09InoiKXJldHVybjtpZighdHx8dC5jZWxs +VGV4dCE9PWZhbHNlKXRyeXtpZihlLnQ9PT0iZSIpe2Uudz1lLnd8fGNpW2Uudl19ZWxzZSBpZihy +PT09IkdlbmVyYWwiKXtpZihlLnQ9PT0ibiIpe2lmKChlLnZ8MCk9PT1lLnYpZS53PWUudi50b1N0 +cmluZygxMCk7ZWxzZSBlLnc9bGUoZS52KX1lbHNlIGUudz1vZShlLnYpfWVsc2UgZS53PWdnKHJ8 +fCJHZW5lcmFsIixlLnYsYSl9Y2F0Y2gobil7aWYodC5XVEYpdGhyb3cgbn10cnl7dmFyIGk9bWdb +cl18fHJ8fCJHZW5lcmFsIjtpZih0LmNlbGxORillLno9aTtpZih0LmNlbGxEYXRlcyYmZS50PT0i +biImJkxlKGkpKXt2YXIgcz1hZShlLnYrKGE/MTQ2MjowKSk7aWYocyl7ZS50PSJkIjtlLnY9bmV3 +IERhdGUoRGF0ZS5VVEMocy55LHMubS0xLHMuZCxzLkgscy5NLHMuUyxzLnUpKX19fWNhdGNoKG4p +e2lmKHQuV1RGKXRocm93IG59fWZ1bmN0aW9uIGtnKGUscix0KXtpZih0LmNlbGxTdHlsZXMpe2lm +KHIuSW50ZXJpb3Ipe3ZhciBhPXIuSW50ZXJpb3I7aWYoYS5QYXR0ZXJuKWEucGF0dGVyblR5cGU9 +dmNbYS5QYXR0ZXJuXXx8YS5QYXR0ZXJufX1lW3IuSURdPXJ9ZnVuY3Rpb24gQWcoZSxyLHQsYSxu +LGkscyxmLGwsbyxjKXt2YXIgaD0iR2VuZXJhbCIsdT1hLlN0eWxlSUQsZD17fTtvPW98fHt9O3Zh +ciB2PVtdO3ZhciBwPTA7aWYodT09PXVuZGVmaW5lZCYmZil1PWYuU3R5bGVJRDtpZih1PT09dW5k +ZWZpbmVkJiZzKXU9cy5TdHlsZUlEO3doaWxlKGlbdV0hPT11bmRlZmluZWQpe3ZhciBtPWlbdV07 +aWYobS5uZiloPW0ubmY7aWYobS5JbnRlcmlvcil2LnB1c2gobS5JbnRlcmlvcik7aWYoIW0uUGFy +ZW50KWJyZWFrO3U9bS5QYXJlbnR9c3dpdGNoKHQuVHlwZSl7Y2FzZSJCb29sZWFuIjphLnQ9ImIi +O2Eudj1DdChlKTticmVhaztjYXNlIlN0cmluZyI6YS50PSJzIjthLnI9eXQocHQoZSkpO2Eudj1l +LmluZGV4T2YoIjwiKT4tMT9wdChyfHxlKS5yZXBsYWNlKC88W148Pl0qPi9nLCIiKTphLnI7YnJl +YWs7Y2FzZSJEYXRlVGltZSI6aWYoZS5zbGljZSgtMSkhPSJaIillKz0iWiI7YS52PWRyKHdyKGUs +YyksYyk7aWYoYS52IT09YS52KWEudj1wdChlKTtpZighaHx8aD09IkdlbmVyYWwiKWg9Inl5eXkt +bW0tZGQiO2Nhc2UiTnVtYmVyIjppZihhLnY9PT11bmRlZmluZWQpYS52PStlO2lmKCFhLnQpYS50 +PSJuIjticmVhaztjYXNlIkVycm9yIjphLnQ9ImUiO2Eudj1oaVtlXTtpZihvLmNlbGxUZXh0IT09 +ZmFsc2UpYS53PWU7YnJlYWs7ZGVmYXVsdDppZihlPT0iIiYmcj09IiIpe2EudD0ieiJ9ZWxzZXth +LnQ9InMiO2Eudj15dChyfHxlKX1icmVhazt9d2coYSxoLG8sYyk7aWYoby5jZWxsRm9ybXVsYSE9 +PWZhbHNlKXtpZihhLkZvcm11bGEpe3ZhciBnPXB0KGEuRm9ybXVsYSk7aWYoZy5jaGFyQ29kZUF0 +KDApPT02MSlnPWcuc2xpY2UoMSk7YS5mPXJ1KGcsbik7ZGVsZXRlIGEuRm9ybXVsYTtpZihhLkFy +cmF5UmFuZ2U9PSJSQyIpYS5GPXJ1KCJSQzpSQyIsbik7ZWxzZSBpZihhLkFycmF5UmFuZ2Upe2Eu +Rj1ydShhLkFycmF5UmFuZ2Usbik7bC5wdXNoKFtlbihhLkYpLGEuRl0pfX1lbHNle2ZvcihwPTA7 +cDxsLmxlbmd0aDsrK3ApaWYobi5yPj1sW3BdWzBdLnMuciYmbi5yPD1sW3BdWzBdLmUucilpZihu +LmM+PWxbcF1bMF0ucy5jJiZuLmM8PWxbcF1bMF0uZS5jKWEuRj1sW3BdWzFdfX1pZihvLmNlbGxT +dHlsZXMpe3YuZm9yRWFjaChmdW5jdGlvbihlKXtpZighZC5wYXR0ZXJuVHlwZSYmZS5wYXR0ZXJu +VHlwZSlkLnBhdHRlcm5UeXBlPWUucGF0dGVyblR5cGV9KTthLnM9ZH1pZihhLlN0eWxlSUQhPT11 +bmRlZmluZWQpYS5peGZlPWEuU3R5bGVJRH1mdW5jdGlvbiBUZyhlKXtyZXR1cm4gdWkuaW5kZXhP +ZigiX3hsbm0uIitlKT4tMT8iX3hsbm0uIitlOmV9ZnVuY3Rpb24geWcoZSl7ZS50PWUudnx8IiI7 +ZS50PWUudC5yZXBsYWNlKC9cclxuL2csIlxuIikucmVwbGFjZSgvXHIvZywiXG4iKTtlLnY9ZS53 +PWUuaXhmZT11bmRlZmluZWR9ZnVuY3Rpb24gRWcoZSxyKXt2YXIgdD1yfHx7fTskZSgpO3ZhciBu +PXYoSHQoZSkpO2lmKHQudHlwZT09ImJpbmFyeSJ8fHQudHlwZT09ImFycmF5Inx8dC50eXBlPT0i +YmFzZTY0Iil7aWYodHlwZW9mIGEhPT0idW5kZWZpbmVkIiluPWEudXRpbHMuZGVjb2RlKDY1MDAx +LGMobikpO2Vsc2Ugbj1JdChuKX12YXIgaT1uLnNsaWNlKDAsMTAyNCkudG9Mb3dlckNhc2UoKSxz +PWZhbHNlO2k9aS5yZXBsYWNlKC8iLio/Ii9nLCIiKTtpZigoaS5pbmRleE9mKCI+IikmMTAyMyk+ +TWF0aC5taW4oaS5pbmRleE9mKCIsIikmMTAyMyxpLmluZGV4T2YoIjsiKSYxMDIzKSl7dmFyIGY9 +QXIodCk7Zi50eXBlPSJzdHJpbmciO3JldHVybiB0by50b193b3JrYm9vayhuLGYpfWlmKGkuaW5k +ZXhPZigiPD94bWwiKT09LTEpWyJodG1sIiwidGFibGUiLCJoZWFkIiwibWV0YSIsInNjcmlwdCIs +InN0eWxlIiwiZGl2Il0uZm9yRWFjaChmdW5jdGlvbihlKXtpZihpLmluZGV4T2YoIjwiK2UpPj0w +KXM9dHJ1ZX0pO2lmKHMpcmV0dXJuIENiKG4sdCk7bWc9eyJHZW5lcmFsIE51bWJlciI6IkdlbmVy +YWwiLCJHZW5lcmFsIERhdGUiOnFbMjJdLCJMb25nIERhdGUiOiJkZGRkLCBtbW1tIGRkLCB5eXl5 +IiwiTWVkaXVtIERhdGUiOnFbMTVdLCJTaG9ydCBEYXRlIjpxWzE0XSwiTG9uZyBUaW1lIjpxWzE5 +XSwiTWVkaXVtIFRpbWUiOnFbMThdLCJTaG9ydCBUaW1lIjpxWzIwXSxDdXJyZW5jeTonIiQiIywj +IzAuMDBfKTtbUmVkXVxcKCIkIiMsIyMwLjAwXFwpJyxGaXhlZDpxWzJdLFN0YW5kYXJkOnFbNF0s +UGVyY2VudDpxWzEwXSxTY2llbnRpZmljOnFbMTFdLCJZZXMvTm8iOiciWWVzIjsiWWVzIjsiTm8i +O0AnLCJUcnVlL0ZhbHNlIjonIlRydWUiOyJUcnVlIjsiRmFsc2UiO0AnLCJPbi9PZmYiOiciWWVz +IjsiWWVzIjsiTm8iO0AnfTt2YXIgbDt2YXIgbz1bXSxoO2lmKGIhPW51bGwmJnQuZGVuc2U9PW51 +bGwpdC5kZW5zZT1iO3ZhciB1PXt9LGQ9W10scD17fSxtPSIiO2lmKHQuZGVuc2UpcFsiIWRhdGEi +XT1bXTt2YXIgZz17fSx3PXt9O3ZhciBrPXZnKCc8RGF0YSBzczpUeXBlPSJTdHJpbmciPicpLEE9 +MDt2YXIgVD0wLHk9MDt2YXIgRT17czp7cjoyZTYsYzoyZTZ9LGU6e3I6MCxjOjB9fTt2YXIgQz17 +fSxfPXt9O3ZhciBTPSIiLHg9MDt2YXIgTz1bXTt2YXIgST17fSxSPXt9LE49MCxGPVtdO3ZhciBE +PVtdLFA9e307dmFyIEw9W10sTSxVPWZhbHNlO3ZhciBCPVtdO3ZhciBXPVtdLHo9e30sSD0wLFY9 +MDt2YXIgJD17U2hlZXRzOltdLFdCUHJvcHM6e2RhdGUxOTA0OmZhbHNlfX0sWD17fTtWdC5sYXN0 +SW5kZXg9MDtuPU1yKG4sIjwhLS0iLCItLT4iKTt2YXIgRz0iIjt3aGlsZShsPVZ0LmV4ZWMobikp +c3dpdGNoKGxbM109KEc9bFszXSkudG9Mb3dlckNhc2UoKSl7Y2FzZSJkYXRhIjppZihHPT0iZGF0 +YSIpe2lmKGxbMV09PT0iLyIpe2lmKChoPW8ucG9wKCkpWzBdIT09bFszXSl0aHJvdyBuZXcgRXJy +b3IoIkJhZCBzdGF0ZTogIitoLmpvaW4oInwiKSl9ZWxzZSBpZihsWzBdLmNoYXJBdChsWzBdLmxl +bmd0aC0yKSE9PSIvIilvLnB1c2goW2xbM10sdHJ1ZV0pO2JyZWFrfWlmKG9bby5sZW5ndGgtMV1b +MV0pYnJlYWs7aWYobFsxXT09PSIvIilBZyhuLnNsaWNlKEEsbC5pbmRleCksUyxrLG9bby5sZW5n +dGgtMV1bMF09PSJjb21tZW50Ij9QOmcse2M6VCxyOnl9LEMsTFtUXSx3LEIsdCwkLldCUHJvcHMu +ZGF0ZTE5MDQpO2Vsc2V7Uz0iIjtrPXZnKGxbMF0pO0E9bC5pbmRleCtsWzBdLmxlbmd0aH1icmVh +aztjYXNlImNlbGwiOmlmKGxbMV09PT0iLyIpe2lmKEQubGVuZ3RoPjApZy5jPUQ7aWYoKCF0LnNo +ZWV0Um93c3x8dC5zaGVldFJvd3M+eSkmJmcudiE9PXZvaWQgMCl7aWYodC5kZW5zZSl7aWYoIXBb +IiFkYXRhIl1beV0pcFsiIWRhdGEiXVt5XT1bXTtwWyIhZGF0YSJdW3ldW1RdPWd9ZWxzZSBwWyRh +KFQpK1dhKHkpXT1nfWlmKGcuSFJlZil7Zy5sPXtUYXJnZXQ6cHQoZy5IUmVmKX07aWYoZy5IUmVm +U2NyZWVuVGlwKWcubC5Ub29sdGlwPWcuSFJlZlNjcmVlblRpcDtkZWxldGUgZy5IUmVmO2RlbGV0 +ZSBnLkhSZWZTY3JlZW5UaXB9aWYoZy5NZXJnZUFjcm9zc3x8Zy5NZXJnZURvd24pe0g9VCsocGFy +c2VJbnQoZy5NZXJnZUFjcm9zcywxMCl8MCk7Vj15KyhwYXJzZUludChnLk1lcmdlRG93biwxMCl8 +MCk7aWYoSD5UfHxWPnkpTy5wdXNoKHtzOntjOlQscjp5fSxlOntjOkgscjpWfX0pfWlmKCF0LnNo +ZWV0U3R1YnMpe2lmKGcuTWVyZ2VBY3Jvc3MpVD1IKzE7ZWxzZSsrVH1lbHNlIGlmKGcuTWVyZ2VB +Y3Jvc3N8fGcuTWVyZ2VEb3duKXtmb3IodmFyIGo9VDtqPD1IOysrail7Zm9yKHZhciBLPXk7Szw9 +VjsrK0spe2lmKGo+VHx8Sz55KXtpZih0LmRlbnNlKXtpZighcFsiIWRhdGEiXVtLXSlwWyIhZGF0 +YSJdW0tdPVtdO3BbIiFkYXRhIl1bS11bal09e3Q6InoifX1lbHNlIHBbJGEoaikrV2EoSyldPXt0 +OiJ6In19fX1UPUgrMX1lbHNlKytUfWVsc2V7Zz1wZyhsWzBdKTtpZihnLkluZGV4KVQ9K2cuSW5k +ZXgtMTtpZihUPEUucy5jKUUucy5jPVQ7aWYoVD5FLmUuYylFLmUuYz1UO2lmKGxbMF0uc2xpY2Uo +LTIpPT09Ii8+IikrK1Q7RD1bXX1icmVhaztjYXNlInJvdyI6aWYobFsxXT09PSIvInx8bFswXS5z +bGljZSgtMik9PT0iLz4iKXtpZih5PEUucy5yKUUucy5yPXk7aWYoeT5FLmUucilFLmUucj15O2lm +KGxbMF0uc2xpY2UoLTIpPT09Ii8+Iil7dz12ZyhsWzBdKTtpZih3LkluZGV4KXk9K3cuSW5kZXgt +MX1UPTA7Kyt5fWVsc2V7dz12ZyhsWzBdKTtpZih3LkluZGV4KXk9K3cuSW5kZXgtMTt6PXt9O2lm +KHcuQXV0b0ZpdEhlaWdodD09IjAifHx3LkhlaWdodCl7ei5ocHg9cGFyc2VJbnQody5IZWlnaHQs +MTApO3ouaHB0PXVjKHouaHB4KTtXW3ldPXp9aWYody5IaWRkZW49PSIxIil7ei5oaWRkZW49dHJ1 +ZTtXW3ldPXp9fWJyZWFrO2Nhc2Uid29ya3NoZWV0IjppZihsWzFdPT09Ii8iKXtpZigoaD1vLnBv +cCgpKVswXSE9PWxbM10pdGhyb3cgbmV3IEVycm9yKCJCYWQgc3RhdGU6ICIraC5qb2luKCJ8Iikp +O2QucHVzaChtKTtpZihFLnMucjw9RS5lLnImJkUucy5jPD1FLmUuYyl7cFsiIXJlZiJdPUphKEUp +O2lmKHQuc2hlZXRSb3dzJiZ0LnNoZWV0Um93czw9RS5lLnIpe3BbIiFmdWxscmVmIl09cFsiIXJl +ZiJdO0UuZS5yPXQuc2hlZXRSb3dzLTE7cFsiIXJlZiJdPUphKEUpfX1pZihPLmxlbmd0aClwWyIh +bWVyZ2VzIl09TztpZihMLmxlbmd0aD4wKXBbIiFjb2xzIl09TDtpZihXLmxlbmd0aD4wKXBbIiFy +b3dzIl09Vzt1W21dPXB9ZWxzZXtFPXtzOntyOjJlNixjOjJlNn0sZTp7cjowLGM6MH19O3k9VD0w +O28ucHVzaChbbFszXSxmYWxzZV0pO2g9dmcobFswXSk7bT1wdChoLk5hbWUpO3A9e307aWYodC5k +ZW5zZSlwWyIhZGF0YSJdPVtdO089W107Qj1bXTtXPVtdO1g9e25hbWU6bSxIaWRkZW46MH07JC5T +aGVldHMucHVzaChYKX1icmVhaztjYXNlInRhYmxlIjppZihsWzFdPT09Ii8iKXtpZigoaD1vLnBv +cCgpKVswXSE9PWxbM10pdGhyb3cgbmV3IEVycm9yKCJCYWQgc3RhdGU6ICIraC5qb2luKCJ8Iikp +fWVsc2UgaWYobFswXS5zbGljZSgtMik9PSIvPiIpYnJlYWs7ZWxzZXtvLnB1c2goW2xbM10sZmFs +c2VdKTtMPVtdO1U9ZmFsc2V9YnJlYWs7Y2FzZSJzdHlsZSI6aWYobFsxXT09PSIvIilrZyhDLF8s +dCk7ZWxzZSBfPXZnKGxbMF0pO2JyZWFrO2Nhc2UibnVtYmVyZm9ybWF0IjpfLm5mPXB0KHZnKGxb +MF0pLkZvcm1hdHx8IkdlbmVyYWwiKTtpZihtZ1tfLm5mXSlfLm5mPW1nW18ubmZdO2Zvcih2YXIg +WT0wO1khPTM5MjsrK1kpaWYocVtZXT09Xy5uZilicmVhaztpZihZPT0zOTIpZm9yKFk9NTc7WSE9 +MzkyOysrWSlpZihxW1ldPT1udWxsKXtKZShfLm5mLFkpO2JyZWFrfWJyZWFrO2Nhc2UiY29sdW1u +IjppZihvW28ubGVuZ3RoLTFdWzBdIT09InRhYmxlIilicmVhaztpZihsWzFdPT09Ii8iKWJyZWFr +O009dmcobFswXSk7aWYoTS5IaWRkZW4pe00uaGlkZGVuPXRydWU7ZGVsZXRlIE0uSGlkZGVufWlm +KE0uV2lkdGgpTS53cHg9cGFyc2VJbnQoTS5XaWR0aCwxMCk7aWYoIVUmJk0ud3B4PjEwKXtVPXRy +dWU7YWM9ZWM7Zm9yKHZhciBaPTA7WjxMLmxlbmd0aDsrK1opaWYoTFtaXSlvYyhMW1pdKX1pZihV +KW9jKE0pO0xbTS5JbmRleC0xfHxMLmxlbmd0aF09TTtmb3IodmFyIEo9MDtKPCtNLlNwYW47KytK +KUxbTC5sZW5ndGhdPUFyKE0pO2JyZWFrO2Nhc2UibmFtZWRyYW5nZSI6aWYobFsxXT09PSIvIili +cmVhaztpZighJC5OYW1lcykkLk5hbWVzPVtdO3ZhciBRPWN0KGxbMF0pO3ZhciBlZT17TmFtZTpU +ZyhRLk5hbWUpLFJlZjpydShRLlJlZmVyc1RvLnNsaWNlKDEpLHtyOjAsYzowfSl9O2lmKCQuU2hl +ZXRzLmxlbmd0aD4wKWVlLlNoZWV0PSQuU2hlZXRzLmxlbmd0aC0xOyQuTmFtZXMucHVzaChlZSk7 +YnJlYWs7Y2FzZSJuYW1lZGNlbGwiOmJyZWFrO2Nhc2UiYiI6YnJlYWs7Y2FzZSJpIjpicmVhaztj +YXNlInUiOmJyZWFrO2Nhc2UicyI6YnJlYWs7Y2FzZSJlbSI6YnJlYWs7Y2FzZSJoMiI6YnJlYWs7 +Y2FzZSJoMyI6YnJlYWs7Y2FzZSJzdWIiOmJyZWFrO2Nhc2Uic3VwIjpicmVhaztjYXNlInNwYW4i +OmJyZWFrO2Nhc2UiYWxpZ25tZW50IjpicmVhaztjYXNlImJvcmRlcnMiOmJyZWFrO2Nhc2UiYm9y +ZGVyIjpicmVhaztjYXNlImZvbnQiOmlmKGxbMF0uc2xpY2UoLTIpPT09Ii8+IilicmVhaztlbHNl +IGlmKGxbMV09PT0iLyIpUys9bi5zbGljZSh4LGwuaW5kZXgpO2Vsc2UgeD1sLmluZGV4K2xbMF0u +bGVuZ3RoO2JyZWFrO2Nhc2UiaW50ZXJpb3IiOmlmKCF0LmNlbGxTdHlsZXMpYnJlYWs7Xy5JbnRl +cmlvcj12ZyhsWzBdKTticmVhaztjYXNlInByb3RlY3Rpb24iOmJyZWFrO2Nhc2UiYXV0aG9yIjo7 +Y2FzZSJ0aXRsZSI6O2Nhc2UiZGVzY3JpcHRpb24iOjtjYXNlImNyZWF0ZWQiOjtjYXNlImtleXdv +cmRzIjo7Y2FzZSJzdWJqZWN0Ijo7Y2FzZSJjYXRlZ29yeSI6O2Nhc2UiY29tcGFueSI6O2Nhc2Ui +bGFzdGF1dGhvciI6O2Nhc2UibGFzdHNhdmVkIjo7Y2FzZSJsYXN0cHJpbnRlZCI6O2Nhc2UidmVy +c2lvbiI6O2Nhc2UicmV2aXNpb24iOjtjYXNlInRvdGFsdGltZSI6O2Nhc2UiaHlwZXJsaW5rYmFz +ZSI6O2Nhc2UibWFuYWdlciI6O2Nhc2UiY29udGVudHN0YXR1cyI6O2Nhc2UiaWRlbnRpZmllciI6 +O2Nhc2UibGFuZ3VhZ2UiOjtjYXNlImFwcG5hbWUiOmlmKGxbMF0uc2xpY2UoLTIpPT09Ii8+Iili +cmVhaztlbHNlIGlmKGxbMV09PT0iLyIpJGkoSSxHLG4uc2xpY2UoTixsLmluZGV4KSk7ZWxzZSBO +PWwuaW5kZXgrbFswXS5sZW5ndGg7YnJlYWs7Y2FzZSJwYXJhZ3JhcGhzIjpicmVhaztjYXNlInN0 +eWxlcyI6O2Nhc2Uid29ya2Jvb2siOmlmKGxbMV09PT0iLyIpe2lmKChoPW8ucG9wKCkpWzBdIT09 +bFszXSl0aHJvdyBuZXcgRXJyb3IoIkJhZCBzdGF0ZTogIitoLmpvaW4oInwiKSl9ZWxzZSBvLnB1 +c2goW2xbM10sZmFsc2VdKTticmVhaztjYXNlImNvbW1lbnQiOmlmKGxbMV09PT0iLyIpe2lmKCho +PW8ucG9wKCkpWzBdIT09bFszXSl0aHJvdyBuZXcgRXJyb3IoIkJhZCBzdGF0ZTogIitoLmpvaW4o +InwiKSk7eWcoUCk7RC5wdXNoKFApfWVsc2V7by5wdXNoKFtsWzNdLGZhbHNlXSk7aD12ZyhsWzBd +KTtpZighQ3QoaFsiU2hvd0Fsd2F5cyJdfHwiMCIpKUQuaGlkZGVuPXRydWU7UD17YTpoLkF1dGhv +cn19YnJlYWs7Y2FzZSJhdXRvZmlsdGVyIjppZihsWzFdPT09Ii8iKXtpZigoaD1vLnBvcCgpKVsw +XSE9PWxbM10pdGhyb3cgbmV3IEVycm9yKCJCYWQgc3RhdGU6ICIraC5qb2luKCJ8IikpfWVsc2Ug +aWYobFswXS5jaGFyQXQobFswXS5sZW5ndGgtMikhPT0iLyIpe3ZhciByZT12ZyhsWzBdKTtwWyIh +YXV0b2ZpbHRlciJdPXtyZWY6cnUocmUuUmFuZ2UpLnJlcGxhY2UoL1wkL2csIiIpfTtvLnB1c2go +W2xbM10sdHJ1ZV0pfWJyZWFrO2Nhc2UibmFtZSI6YnJlYWs7Y2FzZSJkYXRhdmFsaWRhdGlvbiI6 +aWYobFsxXT09PSIvIil7aWYoKGg9by5wb3AoKSlbMF0hPT1sWzNdKXRocm93IG5ldyBFcnJvcigi +QmFkIHN0YXRlOiAiK2guam9pbigifCIpKX1lbHNle2lmKGxbMF0uY2hhckF0KGxbMF0ubGVuZ3Ro +LTIpIT09Ii8iKW8ucHVzaChbbFszXSx0cnVlXSl9YnJlYWs7Y2FzZSJwaXhlbHNwZXJpbmNoIjpi +cmVhaztjYXNlImNvbXBvbmVudG9wdGlvbnMiOjtjYXNlImRvY3VtZW50cHJvcGVydGllcyI6O2Nh +c2UiY3VzdG9tZG9jdW1lbnRwcm9wZXJ0aWVzIjo7Y2FzZSJvZmZpY2Vkb2N1bWVudHNldHRpbmdz +Ijo7Y2FzZSJwaXZvdHRhYmxlIjo7Y2FzZSJwaXZvdGNhY2hlIjo7Y2FzZSJuYW1lcyI6O2Nhc2Ui +bWFwaW5mbyI6O2Nhc2UicGFnZWJyZWFrcyI6O2Nhc2UicXVlcnl0YWJsZSI6O2Nhc2Uic29ydGlu +ZyI6O2Nhc2Uic2NoZW1hIjo7Y2FzZSJjb25kaXRpb25hbGZvcm1hdHRpbmciOjtjYXNlInNtYXJ0 +dGFndHlwZSI6O2Nhc2Uic21hcnR0YWdzIjo7Y2FzZSJleGNlbHdvcmtib29rIjo7Y2FzZSJ3b3Jr +Ym9va29wdGlvbnMiOjtjYXNlIndvcmtzaGVldG9wdGlvbnMiOmlmKGxbMV09PT0iLyIpe2lmKCho +PW8ucG9wKCkpWzBdIT09bFszXSl0aHJvdyBuZXcgRXJyb3IoIkJhZCBzdGF0ZTogIitoLmpvaW4o +InwiKSl9ZWxzZSBpZihsWzBdLmNoYXJBdChsWzBdLmxlbmd0aC0yKSE9PSIvIilvLnB1c2goW2xb +M10sdHJ1ZV0pO2JyZWFrO2Nhc2UibnVsbCI6YnJlYWs7ZGVmYXVsdDppZihvLmxlbmd0aD09MCYm +bFszXT09ImRvY3VtZW50IilyZXR1cm4gTWIobix0KTtpZihvLmxlbmd0aD09MCYmbFszXT09InVv +ZiIpcmV0dXJuIE1iKG4sdCk7dmFyIHRlPXRydWU7c3dpdGNoKG9bby5sZW5ndGgtMV1bMF0pe2Nh +c2Uib2ZmaWNlZG9jdW1lbnRzZXR0aW5ncyI6c3dpdGNoKGxbM10pe2Nhc2UiYWxsb3dwbmciOmJy +ZWFrO2Nhc2UicmVtb3ZlcGVyc29uYWxpbmZvcm1hdGlvbiI6YnJlYWs7Y2FzZSJkb3dubG9hZGNv +bXBvbmVudHMiOmJyZWFrO2Nhc2UibG9jYXRpb25vZmNvbXBvbmVudHMiOmJyZWFrO2Nhc2UiY29s +b3JzIjpicmVhaztjYXNlImNvbG9yIjpicmVhaztjYXNlImluZGV4IjpicmVhaztjYXNlInJnYiI6 +YnJlYWs7Y2FzZSJ0YXJnZXRzY3JlZW5zaXplIjpicmVhaztjYXNlInJlYWRvbmx5cmVjb21tZW5k +ZWQiOmJyZWFrO2RlZmF1bHQ6dGU9ZmFsc2U7fWJyZWFrO2Nhc2UiY29tcG9uZW50b3B0aW9ucyI6 +c3dpdGNoKGxbM10pe2Nhc2UidG9vbGJhciI6YnJlYWs7Y2FzZSJoaWRlb2ZmaWNlbG9nbyI6YnJl +YWs7Y2FzZSJzcHJlYWRzaGVldGF1dG9maXQiOmJyZWFrO2Nhc2UibGFiZWwiOmJyZWFrO2Nhc2Ui +Y2FwdGlvbiI6YnJlYWs7Y2FzZSJtYXhoZWlnaHQiOmJyZWFrO2Nhc2UibWF4d2lkdGgiOmJyZWFr +O2Nhc2UibmV4dHNoZWV0bnVtYmVyIjpicmVhaztkZWZhdWx0OnRlPWZhbHNlO31icmVhaztjYXNl +ImV4Y2Vsd29ya2Jvb2siOnN3aXRjaChsWzNdKXtjYXNlImRhdGUxOTA0IjokLldCUHJvcHMuZGF0 +ZTE5MDQ9dHJ1ZTticmVhaztjYXNlImhpZGVob3Jpem9udGFsc2Nyb2xsYmFyIjpicmVhaztjYXNl +ImhpZGV2ZXJ0aWNhbHNjcm9sbGJhciI6YnJlYWs7Y2FzZSJoaWRld29ya2Jvb2t0YWJzIjpicmVh +aztjYXNlIndpbmRvd2hlaWdodCI6YnJlYWs7Y2FzZSJ3aW5kb3d3aWR0aCI6YnJlYWs7Y2FzZSJ3 +aW5kb3d0b3B4IjpicmVhaztjYXNlIndpbmRvd3RvcHkiOmJyZWFrO2Nhc2UidGFicmF0aW8iOmJy +ZWFrO2Nhc2UicHJvdGVjdHN0cnVjdHVyZSI6YnJlYWs7Y2FzZSJwcm90ZWN0d2luZG93IjpicmVh +aztjYXNlInByb3RlY3R3aW5kb3dzIjpicmVhaztjYXNlImFjdGl2ZXNoZWV0IjpicmVhaztjYXNl +ImRpc3BsYXlpbmtub3RlcyI6YnJlYWs7Y2FzZSJmaXJzdHZpc2libGVzaGVldCI6YnJlYWs7Y2Fz +ZSJzdXBib29rIjpicmVhaztjYXNlInNoZWV0bmFtZSI6YnJlYWs7Y2FzZSJzaGVldGluZGV4Ijpi +cmVhaztjYXNlInNoZWV0aW5kZXhmaXJzdCI6YnJlYWs7Y2FzZSJzaGVldGluZGV4bGFzdCI6YnJl +YWs7Y2FzZSJkbGwiOmJyZWFrO2Nhc2UiYWNjZXB0bGFiZWxzaW5mb3JtdWxhcyI6YnJlYWs7Y2Fz +ZSJkb25vdHNhdmVsaW5rdmFsdWVzIjpicmVhaztjYXNlIml0ZXJhdGlvbiI6YnJlYWs7Y2FzZSJt +YXhpdGVyYXRpb25zIjpicmVhaztjYXNlIm1heGNoYW5nZSI6YnJlYWs7Y2FzZSJwYXRoIjpicmVh +aztjYXNlInhjdCI6YnJlYWs7Y2FzZSJjb3VudCI6YnJlYWs7Y2FzZSJzZWxlY3RlZHNoZWV0cyI6 +YnJlYWs7Y2FzZSJjYWxjdWxhdGlvbiI6YnJlYWs7Y2FzZSJ1bmNhbGNlZCI6YnJlYWs7Y2FzZSJz +dGFydHVwcHJvbXB0IjpicmVhaztjYXNlImNybiI6YnJlYWs7Y2FzZSJleHRlcm5uYW1lIjpicmVh +aztjYXNlImZvcm11bGEiOmJyZWFrO2Nhc2UiY29sZmlyc3QiOmJyZWFrO2Nhc2UiY29sbGFzdCI6 +YnJlYWs7Y2FzZSJ3YW50YWR2aXNlIjpicmVhaztjYXNlImJvb2xlYW4iOmJyZWFrO2Nhc2UiZXJy +b3IiOmJyZWFrO2Nhc2UidGV4dCI6YnJlYWs7Y2FzZSJvbGUiOmJyZWFrO2Nhc2Uibm9hdXRvcmVj +b3ZlciI6YnJlYWs7Y2FzZSJwdWJsaXNob2JqZWN0cyI6YnJlYWs7Y2FzZSJkb25vdGNhbGN1bGF0 +ZWJlZm9yZXNhdmUiOmJyZWFrO2Nhc2UibnVtYmVyIjpicmVhaztjYXNlInJlZm1vZGVyMWMxIjpi +cmVhaztjYXNlImVtYmVkc2F2ZXNtYXJ0dGFncyI6YnJlYWs7ZGVmYXVsdDp0ZT1mYWxzZTt9YnJl +YWs7Y2FzZSJ3b3JrYm9va29wdGlvbnMiOnN3aXRjaChsWzNdKXtjYXNlIm93Y3ZlcnNpb24iOmJy +ZWFrO2Nhc2UiaGVpZ2h0IjpicmVhaztjYXNlIndpZHRoIjpicmVhaztkZWZhdWx0OnRlPWZhbHNl +O31icmVhaztjYXNlIndvcmtzaGVldG9wdGlvbnMiOnN3aXRjaChsWzNdKXtjYXNlInZpc2libGUi +OmlmKGxbMF0uc2xpY2UoLTIpPT09Ii8+Iil7fWVsc2UgaWYobFsxXT09PSIvIilzd2l0Y2gobi5z +bGljZShOLGwuaW5kZXgpKXtjYXNlIlNoZWV0SGlkZGVuIjpYLkhpZGRlbj0xO2JyZWFrO2Nhc2Ui +U2hlZXRWZXJ5SGlkZGVuIjpYLkhpZGRlbj0yO2JyZWFrO31lbHNlIE49bC5pbmRleCtsWzBdLmxl +bmd0aDticmVhaztjYXNlImhlYWRlciI6aWYoIXBbIiFtYXJnaW5zIl0pQXYocFsiIW1hcmdpbnMi +XT17fSwieGxtbCIpO2lmKCFpc05hTigrY3QobFswXSkuTWFyZ2luKSlwWyIhbWFyZ2lucyJdLmhl +YWRlcj0rY3QobFswXSkuTWFyZ2luO2JyZWFrO2Nhc2UiZm9vdGVyIjppZighcFsiIW1hcmdpbnMi +XSlBdihwWyIhbWFyZ2lucyJdPXt9LCJ4bG1sIik7aWYoIWlzTmFOKCtjdChsWzBdKS5NYXJnaW4p +KXBbIiFtYXJnaW5zIl0uZm9vdGVyPStjdChsWzBdKS5NYXJnaW47YnJlYWs7Y2FzZSJwYWdlbWFy +Z2lucyI6dmFyIGFlPWN0KGxbMF0pO2lmKCFwWyIhbWFyZ2lucyJdKUF2KHBbIiFtYXJnaW5zIl09 +e30sInhsbWwiKTtpZighaXNOYU4oK2FlLlRvcCkpcFsiIW1hcmdpbnMiXS50b3A9K2FlLlRvcDtp +ZighaXNOYU4oK2FlLkxlZnQpKXBbIiFtYXJnaW5zIl0ubGVmdD0rYWUuTGVmdDtpZighaXNOYU4o +K2FlLlJpZ2h0KSlwWyIhbWFyZ2lucyJdLnJpZ2h0PSthZS5SaWdodDtpZighaXNOYU4oK2FlLkJv +dHRvbSkpcFsiIW1hcmdpbnMiXS5ib3R0b209K2FlLkJvdHRvbTticmVhaztjYXNlImRpc3BsYXly +aWdodHRvbGVmdCI6aWYoISQuVmlld3MpJC5WaWV3cz1bXTtpZighJC5WaWV3c1swXSkkLlZpZXdz +WzBdPXt9OyQuVmlld3NbMF0uUlRMPXRydWU7YnJlYWs7Y2FzZSJmcmVlemVwYW5lcyI6YnJlYWs7 +Y2FzZSJmcm96ZW5ub3NwbGl0IjpicmVhaztjYXNlInNwbGl0aG9yaXpvbnRhbCI6O2Nhc2Uic3Bs +aXR2ZXJ0aWNhbCI6YnJlYWs7Y2FzZSJkb25vdGRpc3BsYXlncmlkbGluZXMiOmJyZWFrO2Nhc2Ui +YWN0aXZlcm93IjpicmVhaztjYXNlImFjdGl2ZWNvbCI6YnJlYWs7Y2FzZSJ0b3Byb3dib3R0b21w +YW5lIjpicmVhaztjYXNlImxlZnRjb2x1bW5yaWdodHBhbmUiOmJyZWFrO2Nhc2UidW5zeW5jZWQi +OmJyZWFrO2Nhc2UicHJpbnQiOmJyZWFrO2Nhc2UicHJpbnRlcnJvcnMiOmJyZWFrO2Nhc2UicGFu +ZXMiOmJyZWFrO2Nhc2Uic2NhbGUiOmJyZWFrO2Nhc2UicGFuZSI6YnJlYWs7Y2FzZSJudW1iZXIi +OmJyZWFrO2Nhc2UibGF5b3V0IjpicmVhaztjYXNlInBhZ2VzZXR1cCI6YnJlYWs7Y2FzZSJzZWxl +Y3RlZCI6YnJlYWs7Y2FzZSJwcm90ZWN0b2JqZWN0cyI6YnJlYWs7Y2FzZSJlbmFibGVzZWxlY3Rp +b24iOmJyZWFrO2Nhc2UicHJvdGVjdHNjZW5hcmlvcyI6YnJlYWs7Y2FzZSJ2YWxpZHByaW50ZXJp +bmZvIjpicmVhaztjYXNlImhvcml6b250YWxyZXNvbHV0aW9uIjpicmVhaztjYXNlInZlcnRpY2Fs +cmVzb2x1dGlvbiI6YnJlYWs7Y2FzZSJudW1iZXJvZmNvcGllcyI6YnJlYWs7Y2FzZSJhY3RpdmVw +YW5lIjpicmVhaztjYXNlInRvcHJvd3Zpc2libGUiOmJyZWFrO2Nhc2UibGVmdGNvbHVtbnZpc2li +bGUiOmJyZWFrO2Nhc2UiZml0dG9wYWdlIjpicmVhaztjYXNlInJhbmdlc2VsZWN0aW9uIjpicmVh +aztjYXNlInBhcGVyc2l6ZWluZGV4IjpicmVhaztjYXNlInBhZ2VsYXlvdXR6b29tIjpicmVhaztj +YXNlInBhZ2VicmVha3pvb20iOmJyZWFrO2Nhc2UiZmlsdGVyb24iOmJyZWFrO2Nhc2UiZml0d2lk +dGgiOmJyZWFrO2Nhc2UiZml0aGVpZ2h0IjpicmVhaztjYXNlImNvbW1lbnRzbGF5b3V0IjpicmVh +aztjYXNlInpvb20iOmJyZWFrO2Nhc2UibGVmdHRvcmlnaHQiOmJyZWFrO2Nhc2UiZ3JpZGxpbmVz +IjpicmVhaztjYXNlImFsbG93c29ydCI6YnJlYWs7Y2FzZSJhbGxvd2ZpbHRlciI6YnJlYWs7Y2Fz +ZSJhbGxvd2luc2VydHJvd3MiOmJyZWFrO2Nhc2UiYWxsb3dkZWxldGVyb3dzIjpicmVhaztjYXNl +ImFsbG93aW5zZXJ0Y29scyI6YnJlYWs7Y2FzZSJhbGxvd2RlbGV0ZWNvbHMiOmJyZWFrO2Nhc2Ui +YWxsb3dpbnNlcnRoeXBlcmxpbmtzIjpicmVhaztjYXNlImFsbG93Zm9ybWF0Y2VsbHMiOmJyZWFr +O2Nhc2UiYWxsb3dzaXplY29scyI6YnJlYWs7Y2FzZSJhbGxvd3NpemVyb3dzIjpicmVhaztjYXNl +Im5vc3VtbWFyeXJvd3NiZWxvd2RldGFpbCI6aWYoIXBbIiFvdXRsaW5lIl0pcFsiIW91dGxpbmUi +XT17fTtwWyIhb3V0bGluZSJdLmFib3ZlPXRydWU7YnJlYWs7Y2FzZSJ0YWJjb2xvcmluZGV4Ijpi +cmVhaztjYXNlImRvbm90ZGlzcGxheWhlYWRpbmdzIjpicmVhaztjYXNlInNob3dwYWdlbGF5b3V0 +em9vbSI6YnJlYWs7Y2FzZSJub3N1bW1hcnljb2x1bW5zcmlnaHRkZXRhaWwiOmlmKCFwWyIhb3V0 +bGluZSJdKXBbIiFvdXRsaW5lIl09e307cFsiIW91dGxpbmUiXS5sZWZ0PXRydWU7YnJlYWs7Y2Fz +ZSJibGFja2FuZHdoaXRlIjpicmVhaztjYXNlImRvbm90ZGlzcGxheXplcm9zIjpicmVhaztjYXNl +ImRpc3BsYXlwYWdlYnJlYWsiOmJyZWFrO2Nhc2Uicm93Y29saGVhZGluZ3MiOmJyZWFrO2Nhc2Ui +ZG9ub3RkaXNwbGF5b3V0bGluZSI6YnJlYWs7Y2FzZSJub29yaWVudGF0aW9uIjpicmVhaztjYXNl +ImFsbG93dXNlcGl2b3R0YWJsZXMiOmJyZWFrO2Nhc2UiemVyb2hlaWdodCI6YnJlYWs7Y2FzZSJ2 +aWV3YWJsZXJhbmdlIjpicmVhaztjYXNlInNlbGVjdGlvbiI6YnJlYWs7Y2FzZSJwcm90ZWN0Y29u +dGVudHMiOmJyZWFrO2RlZmF1bHQ6dGU9ZmFsc2U7fWJyZWFrO2Nhc2UicGl2b3R0YWJsZSI6O2Nh +c2UicGl2b3RjYWNoZSI6c3dpdGNoKGxbM10pe2Nhc2UiaW1tZWRpYXRlaXRlbXNvbmRyb3AiOmJy +ZWFrO2Nhc2Uic2hvd3BhZ2VtdWx0aXBsZWl0ZW1sYWJlbCI6YnJlYWs7Y2FzZSJjb21wYWN0cm93 +aW5kZW50IjpicmVhaztjYXNlImxvY2F0aW9uIjpicmVhaztjYXNlInBpdm90ZmllbGQiOmJyZWFr +O2Nhc2Uib3JpZW50YXRpb24iOmJyZWFrO2Nhc2UibGF5b3V0Zm9ybSI6YnJlYWs7Y2FzZSJsYXlv +dXRzdWJ0b3RhbGxvY2F0aW9uIjpicmVhaztjYXNlImxheW91dGNvbXBhY3Ryb3ciOmJyZWFrO2Nh +c2UicG9zaXRpb24iOmJyZWFrO2Nhc2UicGl2b3RpdGVtIjpicmVhaztjYXNlImRhdGF0eXBlIjpi +cmVhaztjYXNlImRhdGFmaWVsZCI6YnJlYWs7Y2FzZSJzb3VyY2VuYW1lIjpicmVhaztjYXNlInBh +cmVudGZpZWxkIjpicmVhaztjYXNlInB0bGluZWl0ZW1zIjpicmVhaztjYXNlInB0bGluZWl0ZW0i +OmJyZWFrO2Nhc2UiY291bnRvZnNhbWVpdGVtcyI6YnJlYWs7Y2FzZSJpdGVtIjpicmVhaztjYXNl +Iml0ZW10eXBlIjpicmVhaztjYXNlInB0c291cmNlIjpicmVhaztjYXNlImNhY2hlaW5kZXgiOmJy +ZWFrO2Nhc2UiY29uc29saWRhdGlvbnJlZmVyZW5jZSI6YnJlYWs7Y2FzZSJmaWxlbmFtZSI6YnJl +YWs7Y2FzZSJyZWZlcmVuY2UiOmJyZWFrO2Nhc2Uibm9jb2x1bW5ncmFuZCI6YnJlYWs7Y2FzZSJu +b3Jvd2dyYW5kIjpicmVhaztjYXNlImJsYW5rbGluZWFmdGVyaXRlbXMiOmJyZWFrO2Nhc2UiaGlk +ZGVuIjpicmVhaztjYXNlInN1YnRvdGFsIjpicmVhaztjYXNlImJhc2VmaWVsZCI6YnJlYWs7Y2Fz +ZSJtYXBjaGlsZGl0ZW1zIjpicmVhaztjYXNlImZ1bmN0aW9uIjpicmVhaztjYXNlInJlZnJlc2hv +bmZpbGVvcGVuIjpicmVhaztjYXNlInByaW50c2V0dGl0bGVzIjpicmVhaztjYXNlIm1lcmdlbGFi +ZWxzIjpicmVhaztjYXNlImRlZmF1bHR2ZXJzaW9uIjpicmVhaztjYXNlInJlZnJlc2huYW1lIjpi +cmVhaztjYXNlInJlZnJlc2hkYXRlIjpicmVhaztjYXNlInJlZnJlc2hkYXRlY29weSI6YnJlYWs7 +Y2FzZSJ2ZXJzaW9ubGFzdHJlZnJlc2giOmJyZWFrO2Nhc2UidmVyc2lvbmxhc3R1cGRhdGUiOmJy +ZWFrO2Nhc2UidmVyc2lvbnVwZGF0ZWFibGVtaW4iOmJyZWFrO2Nhc2UidmVyc2lvbnJlZnJlc2hh +YmxlbWluIjpicmVhaztjYXNlImNhbGN1bGF0aW9uIjpicmVhaztkZWZhdWx0OnRlPWZhbHNlO31i +cmVhaztjYXNlInBhZ2VicmVha3MiOnN3aXRjaChsWzNdKXtjYXNlImNvbGJyZWFrcyI6YnJlYWs7 +Y2FzZSJjb2xicmVhayI6YnJlYWs7Y2FzZSJyb3dicmVha3MiOmJyZWFrO2Nhc2Uicm93YnJlYWsi +OmJyZWFrO2Nhc2UiY29sc3RhcnQiOmJyZWFrO2Nhc2UiY29sZW5kIjpicmVhaztjYXNlInJvd2Vu +ZCI6YnJlYWs7ZGVmYXVsdDp0ZT1mYWxzZTt9YnJlYWs7Y2FzZSJhdXRvZmlsdGVyIjpzd2l0Y2go +bFszXSl7Y2FzZSJhdXRvZmlsdGVyY29sdW1uIjpicmVhaztjYXNlImF1dG9maWx0ZXJjb25kaXRp +b24iOmJyZWFrO2Nhc2UiYXV0b2ZpbHRlcmFuZCI6YnJlYWs7Y2FzZSJhdXRvZmlsdGVyb3IiOmJy +ZWFrO2RlZmF1bHQ6dGU9ZmFsc2U7fWJyZWFrO2Nhc2UicXVlcnl0YWJsZSI6c3dpdGNoKGxbM10p +e2Nhc2UiaWQiOmJyZWFrO2Nhc2UiYXV0b2Zvcm1hdGZvbnQiOmJyZWFrO2Nhc2UiYXV0b2Zvcm1h +dHBhdHRlcm4iOmJyZWFrO2Nhc2UicXVlcnlzb3VyY2UiOmJyZWFrO2Nhc2UicXVlcnl0eXBlIjpi +cmVhaztjYXNlImVuYWJsZXJlZGlyZWN0aW9ucyI6YnJlYWs7Y2FzZSJyZWZyZXNoZWRpbnhsOSI6 +YnJlYWs7Y2FzZSJ1cmxzdHJpbmciOmJyZWFrO2Nhc2UiaHRtbHRhYmxlcyI6YnJlYWs7Y2FzZSJj +b25uZWN0aW9uIjpicmVhaztjYXNlImNvbW1hbmR0ZXh0IjpicmVhaztjYXNlInJlZnJlc2hpbmZv +IjpicmVhaztjYXNlIm5vdGl0bGVzIjpicmVhaztjYXNlIm5leHRpZCI6YnJlYWs7Y2FzZSJjb2x1 +bW5pbmZvIjpicmVhaztjYXNlIm92ZXJ3cml0ZWNlbGxzIjpicmVhaztjYXNlImRvbm90cHJvbXB0 +Zm9yZmlsZSI6YnJlYWs7Y2FzZSJ0ZXh0d2l6YXJkc2V0dGluZ3MiOmJyZWFrO2Nhc2Uic291cmNl +IjpicmVhaztjYXNlIm51bWJlciI6YnJlYWs7Y2FzZSJkZWNpbWFsIjpicmVhaztjYXNlInRob3Vz +YW5kc2VwYXJhdG9yIjpicmVhaztjYXNlInRyYWlsaW5nbWludXNudW1iZXJzIjpicmVhaztjYXNl +ImZvcm1hdHNldHRpbmdzIjpicmVhaztjYXNlImZpZWxkdHlwZSI6YnJlYWs7Y2FzZSJkZWxpbWl0 +ZXJzIjpicmVhaztjYXNlInRhYiI6YnJlYWs7Y2FzZSJjb21tYSI6YnJlYWs7Y2FzZSJhdXRvZm9y +bWF0bmFtZSI6YnJlYWs7Y2FzZSJ2ZXJzaW9ubGFzdGVkaXQiOmJyZWFrO2Nhc2UidmVyc2lvbmxh +c3RyZWZyZXNoIjpicmVhaztkZWZhdWx0OnRlPWZhbHNlO31icmVhaztjYXNlImRhdGF2YWxpZGF0 +aW9uIjpzd2l0Y2gobFszXSl7Y2FzZSJyYW5nZSI6YnJlYWs7Y2FzZSJ0eXBlIjpicmVhaztjYXNl +Im1pbiI6YnJlYWs7Y2FzZSJtYXgiOmJyZWFrO2Nhc2Uic29ydCI6YnJlYWs7Y2FzZSJkZXNjZW5k +aW5nIjpicmVhaztjYXNlIm9yZGVyIjpicmVhaztjYXNlImNhc2VzZW5zaXRpdmUiOmJyZWFrO2Nh +c2UidmFsdWUiOmJyZWFrO2Nhc2UiZXJyb3JzdHlsZSI6YnJlYWs7Y2FzZSJlcnJvcm1lc3NhZ2Ui +OmJyZWFrO2Nhc2UiZXJyb3J0aXRsZSI6YnJlYWs7Y2FzZSJpbnB1dG1lc3NhZ2UiOmJyZWFrO2Nh +c2UiaW5wdXR0aXRsZSI6YnJlYWs7Y2FzZSJjb21ib2hpZGUiOmJyZWFrO2Nhc2UiaW5wdXRoaWRl +IjpicmVhaztjYXNlImNvbmRpdGlvbiI6YnJlYWs7Y2FzZSJxdWFsaWZpZXIiOmJyZWFrO2Nhc2Ui +dXNlYmxhbmsiOmJyZWFrO2Nhc2UidmFsdWUxIjpicmVhaztjYXNlInZhbHVlMiI6YnJlYWs7Y2Fz +ZSJmb3JtYXQiOmJyZWFrO2Nhc2UiY2VsbHJhbmdlbGlzdCI6YnJlYWs7ZGVmYXVsdDp0ZT1mYWxz +ZTt9YnJlYWs7Y2FzZSJzb3J0aW5nIjo7Y2FzZSJjb25kaXRpb25hbGZvcm1hdHRpbmciOnN3aXRj +aChsWzNdKXtjYXNlInJhbmdlIjpicmVhaztjYXNlInR5cGUiOmJyZWFrO2Nhc2UibWluIjpicmVh +aztjYXNlIm1heCI6YnJlYWs7Y2FzZSJzb3J0IjpicmVhaztjYXNlImRlc2NlbmRpbmciOmJyZWFr +O2Nhc2Uib3JkZXIiOmJyZWFrO2Nhc2UiY2FzZXNlbnNpdGl2ZSI6YnJlYWs7Y2FzZSJ2YWx1ZSI6 +YnJlYWs7Y2FzZSJlcnJvcnN0eWxlIjpicmVhaztjYXNlImVycm9ybWVzc2FnZSI6YnJlYWs7Y2Fz +ZSJlcnJvcnRpdGxlIjpicmVhaztjYXNlImNlbGxyYW5nZWxpc3QiOmJyZWFrO2Nhc2UiaW5wdXRt +ZXNzYWdlIjpicmVhaztjYXNlImlucHV0dGl0bGUiOmJyZWFrO2Nhc2UiY29tYm9oaWRlIjpicmVh +aztjYXNlImlucHV0aGlkZSI6YnJlYWs7Y2FzZSJjb25kaXRpb24iOmJyZWFrO2Nhc2UicXVhbGlm +aWVyIjpicmVhaztjYXNlInVzZWJsYW5rIjpicmVhaztjYXNlInZhbHVlMSI6YnJlYWs7Y2FzZSJ2 +YWx1ZTIiOmJyZWFrO2Nhc2UiZm9ybWF0IjpicmVhaztkZWZhdWx0OnRlPWZhbHNlO31icmVhaztj +YXNlIm1hcGluZm8iOjtjYXNlInNjaGVtYSI6O2Nhc2UiZGF0YSI6c3dpdGNoKGxbM10pe2Nhc2Ui +bWFwIjpicmVhaztjYXNlImVudHJ5IjpicmVhaztjYXNlInJhbmdlIjpicmVhaztjYXNlInhwYXRo +IjpicmVhaztjYXNlImZpZWxkIjpicmVhaztjYXNlInhzZHR5cGUiOmJyZWFrO2Nhc2UiZmlsdGVy +b24iOmJyZWFrO2Nhc2UiYWdncmVnYXRlIjpicmVhaztjYXNlImVsZW1lbnR0eXBlIjpicmVhaztj +YXNlImF0dHJpYnV0ZXR5cGUiOmJyZWFrO2Nhc2Uic2NoZW1hIjo7Y2FzZSJlbGVtZW50Ijo7Y2Fz +ZSJjb21wbGV4dHlwZSI6O2Nhc2UiZGF0YXR5cGUiOjtjYXNlImFsbCI6O2Nhc2UiYXR0cmlidXRl +Ijo7Y2FzZSJleHRlbmRzIjpicmVhaztjYXNlInJvdyI6YnJlYWs7ZGVmYXVsdDp0ZT1mYWxzZTt9 +YnJlYWs7Y2FzZSJzbWFydHRhZ3MiOmJyZWFrO2RlZmF1bHQ6dGU9ZmFsc2U7YnJlYWs7fWlmKHRl +KWJyZWFrO2lmKGxbM10ubWF0Y2goLyFcW0NEQVRBLykpYnJlYWs7aWYoIW9bby5sZW5ndGgtMV1b +MV0pdGhyb3ciVW5yZWNvZ25pemVkIHRhZzogIitsWzNdKyJ8IitvLmpvaW4oInwiKTtpZihvW28u +bGVuZ3RoLTFdWzBdPT09ImN1c3RvbWRvY3VtZW50cHJvcGVydGllcyIpe2lmKGxbMF0uc2xpY2Uo +LTIpPT09Ii8+IilicmVhaztlbHNlIGlmKGxbMV09PT0iLyIpYmcoUixHLEYsbi5zbGljZShOLGwu +aW5kZXgpKTtlbHNle0Y9bDtOPWwuaW5kZXgrbFswXS5sZW5ndGh9YnJlYWt9aWYodC5XVEYpdGhy +b3ciVW5yZWNvZ25pemVkIHRhZzogIitsWzNdKyJ8IitvLmpvaW4oInwiKTt9dmFyIG5lPXt9O2lm +KCF0LmJvb2tTaGVldHMmJiF0LmJvb2tQcm9wcyluZS5TaGVldHM9dTtuZS5TaGVldE5hbWVzPWQ7 +bmUuV29ya2Jvb2s9JDtuZS5TU0Y9QXIocSk7bmUuUHJvcHM9STtuZS5DdXN0cHJvcHM9UjtuZS5i +b29rVHlwZT0ieGxtbCI7cmV0dXJuIG5lfWZ1bmN0aW9uIENnKGUscil7Sncocj1yfHx7fSk7c3dp +dGNoKHIudHlwZXx8ImJhc2U2NCIpe2Nhc2UiYmFzZTY0IjpyZXR1cm4gRWcoRShlKSxyKTtjYXNl +ImJpbmFyeSI6O2Nhc2UiYnVmZmVyIjo7Y2FzZSJmaWxlIjpyZXR1cm4gRWcoZSxyKTtjYXNlImFy +cmF5IjpyZXR1cm4gRWcoTihlKSxyKTt9fWZ1bmN0aW9uIF9nKGUscil7dmFyIHQ9W107aWYoZS5Q +cm9wcyl0LnB1c2goWGkoZS5Qcm9wcyxyKSk7aWYoZS5DdXN0cHJvcHMpdC5wdXNoKEdpKGUuUHJv +cHMsZS5DdXN0cHJvcHMscikpO3JldHVybiB0LmpvaW4oIiIpfWZ1bmN0aW9uIFNnKGUpe2lmKCgo +KGV8fHt9KS5Xb3JrYm9va3x8e30pLldCUHJvcHN8fHt9KS5kYXRlMTkwNClyZXR1cm4nPEV4Y2Vs +V29ya2Jvb2sgeG1sbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOmV4Y2VsIj48 +RGF0ZTE5MDQvPjwvRXhjZWxXb3JrYm9vaz4nO3JldHVybiIifWZ1bmN0aW9uIHhnKGUscil7dmFy +IHQ9Wyc8U3R5bGUgc3M6SUQ9IkRlZmF1bHQiIHNzOk5hbWU9Ik5vcm1hbCI+PE51bWJlckZvcm1h +dC8+PC9TdHlsZT4nXTtyLmNlbGxYZnMuZm9yRWFjaChmdW5jdGlvbihlLHIpe3ZhciBhPVtdO2Eu +cHVzaChCdCgiTnVtYmVyRm9ybWF0IixudWxsLHsic3M6Rm9ybWF0IjpidChxW2UubnVtRm10SWRd +KX0pKTt2YXIgbj17InNzOklEIjoicyIrKDIxK3IpfTt0LnB1c2goQnQoIlN0eWxlIixhLmpvaW4o +IiIpLG4pKX0pO3JldHVybiBCdCgiU3R5bGVzIix0LmpvaW4oIiIpKX1mdW5jdGlvbiBPZyhlKXty +ZXR1cm4gQnQoIk5hbWVkUmFuZ2UiLG51bGwseyJzczpOYW1lIjplLk5hbWUuc2xpY2UoMCw2KT09 +Il94bG5tLiI/ZS5OYW1lLnNsaWNlKDYpOmUuTmFtZSwic3M6UmVmZXJzVG8iOiI9IitudShlLlJl +Zix7cjowLGM6MH0pfSl9ZnVuY3Rpb24gSWcoZSl7aWYoISgoZXx8e30pLldvcmtib29rfHx7fSku +TmFtZXMpcmV0dXJuIiI7dmFyIHI9ZS5Xb3JrYm9vay5OYW1lczt2YXIgdD1bXTtmb3IodmFyIGE9 +MDthPHIubGVuZ3RoOysrYSl7dmFyIG49clthXTtpZihuLlNoZWV0IT1udWxsKWNvbnRpbnVlO2lm +KG4uTmFtZS5tYXRjaCgvXl94bGZuXC4vKSljb250aW51ZTt0LnB1c2goT2cobikpfXJldHVybiBC +dCgiTmFtZXMiLHQuam9pbigiIikpfWZ1bmN0aW9uIFJnKGUscix0LGEpe2lmKCFlKXJldHVybiIi +O2lmKCEoKGF8fHt9KS5Xb3JrYm9va3x8e30pLk5hbWVzKXJldHVybiIiO3ZhciBuPWEuV29ya2Jv +b2suTmFtZXM7dmFyIGk9W107Zm9yKHZhciBzPTA7czxuLmxlbmd0aDsrK3Mpe3ZhciBmPW5bc107 +aWYoZi5TaGVldCE9dCljb250aW51ZTtpZihmLk5hbWUubWF0Y2goL15feGxmblwuLykpY29udGlu +dWU7aS5wdXNoKE9nKGYpKX1yZXR1cm4gaS5qb2luKCIiKX1mdW5jdGlvbiBOZyhlLHIsdCxhKXtp +ZighZSlyZXR1cm4iIjt2YXIgbj1bXTtpZihlWyIhbWFyZ2lucyJdKXtuLnB1c2goIjxQYWdlU2V0 +dXA+Iik7aWYoZVsiIW1hcmdpbnMiXS5oZWFkZXIpbi5wdXNoKEJ0KCJIZWFkZXIiLG51bGwseyJ4 +Ok1hcmdpbiI6ZVsiIW1hcmdpbnMiXS5oZWFkZXJ9KSk7aWYoZVsiIW1hcmdpbnMiXS5mb290ZXIp +bi5wdXNoKEJ0KCJGb290ZXIiLG51bGwseyJ4Ok1hcmdpbiI6ZVsiIW1hcmdpbnMiXS5mb290ZXJ9 +KSk7bi5wdXNoKEJ0KCJQYWdlTWFyZ2lucyIsbnVsbCx7Ing6Qm90dG9tIjplWyIhbWFyZ2lucyJd +LmJvdHRvbXx8IjAuNzUiLCJ4OkxlZnQiOmVbIiFtYXJnaW5zIl0ubGVmdHx8IjAuNyIsIng6Umln +aHQiOmVbIiFtYXJnaW5zIl0ucmlnaHR8fCIwLjciLCJ4OlRvcCI6ZVsiIW1hcmdpbnMiXS50b3B8 +fCIwLjc1In0pKTtuLnB1c2goIjwvUGFnZVNldHVwPiIpfWlmKGEmJmEuV29ya2Jvb2smJmEuV29y +a2Jvb2suU2hlZXRzJiZhLldvcmtib29rLlNoZWV0c1t0XSl7aWYoYS5Xb3JrYm9vay5TaGVldHNb +dF0uSGlkZGVuKW4ucHVzaChCdCgiVmlzaWJsZSIsYS5Xb3JrYm9vay5TaGVldHNbdF0uSGlkZGVu +PT0xPyJTaGVldEhpZGRlbiI6IlNoZWV0VmVyeUhpZGRlbiIse30pKTtlbHNle2Zvcih2YXIgaT0w +O2k8dDsrK2kpaWYoYS5Xb3JrYm9vay5TaGVldHNbaV0mJiFhLldvcmtib29rLlNoZWV0c1tpXS5I +aWRkZW4pYnJlYWs7aWYoaT09dCluLnB1c2goIjxTZWxlY3RlZC8+Iil9fWlmKCgoKChhfHx7fSku +V29ya2Jvb2t8fHt9KS5WaWV3c3x8W10pWzBdfHx7fSkuUlRMKW4ucHVzaCgiPERpc3BsYXlSaWdo +dFRvTGVmdC8+Iik7aWYoZVsiIXByb3RlY3QiXSl7bi5wdXNoKE10KCJQcm90ZWN0Q29udGVudHMi +LCJUcnVlIikpO2lmKGVbIiFwcm90ZWN0Il0ub2JqZWN0cyluLnB1c2goTXQoIlByb3RlY3RPYmpl +Y3RzIiwiVHJ1ZSIpKTtpZihlWyIhcHJvdGVjdCJdLnNjZW5hcmlvcyluLnB1c2goTXQoIlByb3Rl +Y3RTY2VuYXJpb3MiLCJUcnVlIikpO2lmKGVbIiFwcm90ZWN0Il0uc2VsZWN0TG9ja2VkQ2VsbHMh +PW51bGwmJiFlWyIhcHJvdGVjdCJdLnNlbGVjdExvY2tlZENlbGxzKW4ucHVzaChNdCgiRW5hYmxl +U2VsZWN0aW9uIiwiTm9TZWxlY3Rpb24iKSk7ZWxzZSBpZihlWyIhcHJvdGVjdCJdLnNlbGVjdFVu +bG9ja2VkQ2VsbHMhPW51bGwmJiFlWyIhcHJvdGVjdCJdLnNlbGVjdFVubG9ja2VkQ2VsbHMpbi5w +dXNoKE10KCJFbmFibGVTZWxlY3Rpb24iLCJVbmxvY2tlZENlbGxzIikpO1tbImZvcm1hdENlbGxz +IiwiQWxsb3dGb3JtYXRDZWxscyJdLFsiZm9ybWF0Q29sdW1ucyIsIkFsbG93U2l6ZUNvbHMiXSxb +ImZvcm1hdFJvd3MiLCJBbGxvd1NpemVSb3dzIl0sWyJpbnNlcnRDb2x1bW5zIiwiQWxsb3dJbnNl +cnRDb2xzIl0sWyJpbnNlcnRSb3dzIiwiQWxsb3dJbnNlcnRSb3dzIl0sWyJpbnNlcnRIeXBlcmxp +bmtzIiwiQWxsb3dJbnNlcnRIeXBlcmxpbmtzIl0sWyJkZWxldGVDb2x1bW5zIiwiQWxsb3dEZWxl +dGVDb2xzIl0sWyJkZWxldGVSb3dzIiwiQWxsb3dEZWxldGVSb3dzIl0sWyJzb3J0IiwiQWxsb3dT +b3J0Il0sWyJhdXRvRmlsdGVyIiwiQWxsb3dGaWx0ZXIiXSxbInBpdm90VGFibGVzIiwiQWxsb3dV +c2VQaXZvdFRhYmxlcyJdXS5mb3JFYWNoKGZ1bmN0aW9uKHIpe2lmKGVbIiFwcm90ZWN0Il1bclsw +XV0pbi5wdXNoKCI8IityWzFdKyIvPiIpfSl9aWYobi5sZW5ndGg9PTApcmV0dXJuIiI7cmV0dXJu +IEJ0KCJXb3Jrc2hlZXRPcHRpb25zIixuLmpvaW4oIiIpLHt4bWxuczpHdC54fSl9ZnVuY3Rpb24g +RmcoZSl7cmV0dXJuIGUubWFwKGZ1bmN0aW9uKHIpe3ZhciB0PUV0KHIudHx8IiIpO3ZhciBhPUJ0 +KCJzczpEYXRhIix0LHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCJ9KTt2 +YXIgbj17fTtpZihyLmEpblsic3M6QXV0aG9yIl09ci5hO2lmKCFlLmhpZGRlbiluWyJzczpTaG93 +QWx3YXlzIl09IjEiO3JldHVybiBCdCgiQ29tbWVudCIsYSxuKX0pLmpvaW4oIiIpfWZ1bmN0aW9u +IERnKGUscix0LGEsbixpLHMpe2lmKCFlfHxlLnY9PXVuZGVmaW5lZCYmZS5mPT11bmRlZmluZWQp +cmV0dXJuIiI7dmFyIGY9e307aWYoZS5mKWZbInNzOkZvcm11bGEiXT0iPSIrYnQobnUoZS5mLHMp +KTtpZihlLkYmJmUuRi5zbGljZSgwLHIubGVuZ3RoKT09cil7dmFyIGw9S2EoZS5GLnNsaWNlKHIu +bGVuZ3RoKzEpKTtmWyJzczpBcnJheVJhbmdlIl09IlJDOlIiKyhsLnI9PXMucj8iIjoiWyIrKGwu +ci1zLnIpKyJdIikrIkMiKyhsLmM9PXMuYz8iIjoiWyIrKGwuYy1zLmMpKyJdIil9aWYoZS5sJiZl +LmwuVGFyZ2V0KXtmWyJzczpIUmVmIl09YnQoZS5sLlRhcmdldCk7aWYoZS5sLlRvb2x0aXApZlsi +eDpIUmVmU2NyZWVuVGlwIl09YnQoZS5sLlRvb2x0aXApfWlmKHRbIiFtZXJnZXMiXSl7dmFyIG89 +dFsiIW1lcmdlcyJdO2Zvcih2YXIgYz0wO2MhPW8ubGVuZ3RoOysrYyl7aWYob1tjXS5zLmMhPXMu +Y3x8b1tjXS5zLnIhPXMuciljb250aW51ZTtpZihvW2NdLmUuYz5vW2NdLnMuYylmWyJzczpNZXJn +ZUFjcm9zcyJdPW9bY10uZS5jLW9bY10ucy5jO2lmKG9bY10uZS5yPm9bY10ucy5yKWZbInNzOk1l +cmdlRG93biJdPW9bY10uZS5yLW9bY10ucy5yfX12YXIgaD0iIix1PSIiO3N3aXRjaChlLnQpe2Nh +c2UieiI6aWYoIWEuc2hlZXRTdHVicylyZXR1cm4iIjticmVhaztjYXNlIm4iOntpZighaXNGaW5p +dGUoZS52KSl7aD0iRXJyb3IiO3U9Y2lbaXNOYU4oZS52KT8zNjo3XX1lbHNle2g9Ik51bWJlciI7 +dT1TdHJpbmcoZS52KX19YnJlYWs7Y2FzZSJiIjpoPSJCb29sZWFuIjt1PWUudj8iMSI6IjAiO2Jy +ZWFrO2Nhc2UiZSI6aD0iRXJyb3IiO3U9Y2lbZS52XTticmVhaztjYXNlImQiOmg9IkRhdGVUaW1l +Ijt1PW5ldyBEYXRlKGUudikudG9JU09TdHJpbmcoKTtpZihlLno9PW51bGwpZS56PWUuenx8cVsx +NF07YnJlYWs7Y2FzZSJzIjpoPSJTdHJpbmciO3U9VHQoZS52fHwiIik7YnJlYWs7fXZhciBkPVR2 +KGEuY2VsbFhmcyxlLGEpO2ZbInNzOlN0eWxlSUQiXT0icyIrKDIxK2QpO2ZbInNzOkluZGV4Il09 +cy5jKzE7dmFyIHY9ZS52IT1udWxsP3U6IiI7dmFyIHA9ZS50PT0ieiI/IiI6JzxEYXRhIHNzOlR5 +cGU9IicraCsnIj4nK3YrIjwvRGF0YT4iO2lmKChlLmN8fFtdKS5sZW5ndGg+MClwKz1GZyhlLmMp +O3JldHVybiBCdCgiQ2VsbCIscCxmKX1mdW5jdGlvbiBQZyhlLHIpe3ZhciB0PSc8Um93IHNzOklu +ZGV4PSInKyhlKzEpKyciJztpZihyKXtpZihyLmhwdCYmIXIuaHB4KXIuaHB4PWRjKHIuaHB0KTtp +ZihyLmhweCl0Kz0nIHNzOkF1dG9GaXRIZWlnaHQ9IjAiIHNzOkhlaWdodD0iJytyLmhweCsnIic7 +aWYoci5oaWRkZW4pdCs9JyBzczpIaWRkZW49IjEiJ31yZXR1cm4gdCsiPiJ9ZnVuY3Rpb24gTGco +ZSxyLHQsYSl7aWYoIWVbIiFyZWYiXSlyZXR1cm4iIjt2YXIgbj1lbihlWyIhcmVmIl0pO3ZhciBp +PWVbIiFtZXJnZXMiXXx8W10scz0wO3ZhciBmPVtdO2lmKGVbIiFjb2xzIl0pZVsiIWNvbHMiXS5m +b3JFYWNoKGZ1bmN0aW9uKGUscil7b2MoZSk7dmFyIHQ9ISFlLndpZHRoO3ZhciBhPWt2KHIsZSk7 +dmFyIG49eyJzczpJbmRleCI6cisxfTtpZih0KW5bInNzOldpZHRoIl09bmMoYS53aWR0aCk7aWYo +ZS5oaWRkZW4pblsic3M6SGlkZGVuIl09IjEiO2YucHVzaChCdCgiQ29sdW1uIixudWxsLG4pKX0p +O3ZhciBsPWVbIiFkYXRhIl0hPW51bGw7dmFyIG89e3I6MCxjOjB9O2Zvcih2YXIgYz1uLnMucjtj +PD1uLmUucjsrK2Mpe3ZhciBoPVtQZyhjLChlWyIhcm93cyJdfHxbXSlbY10pXTtvLnI9Yztmb3Io +dmFyIHU9bi5zLmM7dTw9bi5lLmM7Kyt1KXtvLmM9dTt2YXIgZD1mYWxzZTtmb3Iocz0wO3MhPWku +bGVuZ3RoOysrcyl7aWYoaVtzXS5zLmM+dSljb250aW51ZTtpZihpW3NdLnMucj5jKWNvbnRpbnVl +O2lmKGlbc10uZS5jPHUpY29udGludWU7aWYoaVtzXS5lLnI8Yyljb250aW51ZTtpZihpW3NdLnMu +YyE9dXx8aVtzXS5zLnIhPWMpZD10cnVlO2JyZWFrfWlmKGQpY29udGludWU7dmFyIHY9JGEodSkr +V2EoYykscD1sPyhlWyIhZGF0YSJdW2NdfHxbXSlbdV06ZVt2XTtoLnB1c2goRGcocCx2LGUscix0 +LGEsbykpfWgucHVzaCgiPC9Sb3c+Iik7aWYoaC5sZW5ndGg+MilmLnB1c2goaC5qb2luKCIiKSl9 +cmV0dXJuIGYuam9pbigiIil9ZnVuY3Rpb24gTWcoZSxyLHQpe3ZhciBhPVtdO3ZhciBuPXQuU2hl +ZXROYW1lc1tlXTt2YXIgaT10LlNoZWV0c1tuXTt2YXIgcz1pP1JnKGkscixlLHQpOiIiO2lmKHMu +bGVuZ3RoPjApYS5wdXNoKCI8TmFtZXM+IitzKyI8L05hbWVzPiIpO3M9aT9MZyhpLHIsZSx0KToi +IjtpZihzLmxlbmd0aD4wKWEucHVzaCgiPFRhYmxlPiIrcysiPC9UYWJsZT4iKTthLnB1c2goTmco +aSxyLGUsdCkpO2lmKGkmJmlbIiFhdXRvZmlsdGVyIl0pYS5wdXNoKCc8QXV0b0ZpbHRlciB4OlJh +bmdlPSInK251KHFhKGlbIiFhdXRvZmlsdGVyIl0ucmVmKSx7cjowLGM6MH0pKyciIHhtbG5zPSJ1 +cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpleGNlbCI+PC9BdXRvRmlsdGVyPicpO3Jl +dHVybiBhLmpvaW4oIiIpfWZ1bmN0aW9uIFVnKGUscil7aWYoIXIpcj17fTtpZighZS5TU0YpZS5T +U0Y9QXIocSk7aWYoZS5TU0YpeyRlKCk7VmUoZS5TU0YpO3IucmV2c3NmPWxyKGUuU1NGKTtyLnJl +dnNzZltlLlNTRls2NTUzNV1dPTA7ci5zc2Y9ZS5TU0Y7ci5jZWxsWGZzPVtdO1R2KHIuY2VsbFhm +cyx7fSx7cmV2c3NmOntHZW5lcmFsOjB9fSl9dmFyIHQ9W107dC5wdXNoKF9nKGUscikpO3QucHVz +aChTZyhlLHIpKTt0LnB1c2goIiIpO3QucHVzaChJZyhlLHIpKTtmb3IodmFyIGE9MDthPGUuU2hl +ZXROYW1lcy5sZW5ndGg7KythKXQucHVzaChCdCgiV29ya3NoZWV0IixNZyhhLHIsZSkseyJzczpO +YW1lIjpidChlLlNoZWV0TmFtZXNbYV0pfSkpO3RbMl09eGcoZSxyKTtyZXR1cm4gYXQrQnQoIldv +cmtib29rIix0LmpvaW4oIiIpLHt4bWxuczpHdC5zcywieG1sbnM6byI6R3QubywieG1sbnM6eCI6 +R3QueCwieG1sbnM6c3MiOkd0LnNzLCJ4bWxuczpkdCI6R3QuZHQsInhtbG5zOmh0bWwiOkd0Lmh0 +bWx9KX1mdW5jdGlvbiBCZyhlKXt2YXIgcj17fTt2YXIgdD1lLmNvbnRlbnQ7dC5sPTI4O3IuQW5z +aVVzZXJUeXBlPXQuX1IoMCwibHBzdHItYW5zaSIpO3IuQW5zaUNsaXBib2FyZEZvcm1hdD1Ibih0 +KTtpZih0Lmxlbmd0aC10Lmw8PTQpcmV0dXJuIHI7dmFyIGE9dC5fUig0KTtpZihhPT0wfHxhPjQw +KXJldHVybiByO3QubC09NDtyLlJlc2VydmVkMT10Ll9SKDAsImxwc3RyLWFuc2kiKTtpZih0Lmxl +bmd0aC10Lmw8PTQpcmV0dXJuIHI7YT10Ll9SKDQpO2lmKGEhPT0xOTA3NTA1NjUyKXJldHVybiBy +O3IuVW5pY29kZUNsaXBib2FyZEZvcm1hdD1Wbih0KTthPXQuX1IoNCk7aWYoYT09MHx8YT40MCly +ZXR1cm4gcjt0LmwtPTQ7ci5SZXNlcnZlZDI9dC5fUigwLCJscHdzdHIiKX12YXIgV2c9WzYwLDEw +ODQsMjA2NiwyMTY1LDIxNzVdO2Z1bmN0aW9uIHpnKGUscix0LGEsbil7dmFyIGk9YTt2YXIgcz1b +XTt2YXIgZj10LnNsaWNlKHQubCx0LmwraSk7aWYobiYmbi5lbmMmJm4uZW5jLmluc2l0dSYmZi5s +ZW5ndGg+MClzd2l0Y2goZSl7Y2FzZSA5OjtjYXNlIDUyMTo7Y2FzZSAxMDMzOjtjYXNlIDIwNTc6 +O2Nhc2UgNDc6O2Nhc2UgNDA1OjtjYXNlIDIyNTo7Y2FzZSA0MDY6O2Nhc2UgMzEyOjtjYXNlIDQw +NDo7Y2FzZSAxMDpicmVhaztjYXNlIDEzMzpicmVhaztkZWZhdWx0Om4uZW5jLmluc2l0dShmKTt9 +cy5wdXNoKGYpO3QubCs9aTt2YXIgbD1iYSh0LHQubCksbz1KZ1tsXTt2YXIgYz0wO3doaWxlKG8h +PW51bGwmJldnLmluZGV4T2YobCk+LTEpe2k9YmEodCx0LmwrMik7Yz10LmwrNDtpZihsPT0yMDY2 +KWMrPTQ7ZWxzZSBpZihsPT0yMTY1fHxsPT0yMTc1KXtjKz0xMn1mPXQuc2xpY2UoYyx0LmwrNCtp +KTtzLnB1c2goZik7dC5sKz00K2k7bz1KZ1tsPWJhKHQsdC5sKV19dmFyIGg9UChzKTtPYShoLDAp +O3ZhciB1PTA7aC5sZW5zPVtdO2Zvcih2YXIgZD0wO2Q8cy5sZW5ndGg7KytkKXtoLmxlbnMucHVz +aCh1KTt1Kz1zW2RdLmxlbmd0aH1pZihoLmxlbmd0aDxhKXRocm93IlhMUyBSZWNvcmQgMHgiK2Uu +dG9TdHJpbmcoMTYpKyIgVHJ1bmNhdGVkOiAiK2gubGVuZ3RoKyIgPCAiK2E7cmV0dXJuIHIuZiho +LGgubGVuZ3RoLG4pfWZ1bmN0aW9uIEhnKGUscix0KXtpZihlLnQ9PT0ieiIpcmV0dXJuO2lmKCFl +LlhGKXJldHVybjt2YXIgYT0wO3RyeXthPWUuenx8ZS5YRi5udW1GbXRJZHx8MDtpZihyLmNlbGxO +RiYmZS56PT1udWxsKWUuej1xW2FdfWNhdGNoKG4pe2lmKHIuV1RGKXRocm93IG59aWYoIXJ8fHIu +Y2VsbFRleHQhPT1mYWxzZSl0cnl7aWYoZS50PT09ImUiKXtlLnc9ZS53fHxjaVtlLnZdfWVsc2Ug +aWYoYT09PTB8fGE9PSJHZW5lcmFsIil7aWYoZS50PT09Im4iKXtpZigoZS52fDApPT09ZS52KWUu +dz1lLnYudG9TdHJpbmcoMTApO2Vsc2UgZS53PWxlKGUudil9ZWxzZSBlLnc9b2UoZS52KX1lbHNl +IGUudz16ZShhLGUudix7ZGF0ZTE5MDQ6ISF0LGRhdGVORjpyJiZyLmRhdGVORn0pfWNhdGNoKG4p +e2lmKHIuV1RGKXRocm93IG59aWYoci5jZWxsRGF0ZXMmJmEmJmUudD09Im4iJiZMZShxW2FdfHxT +dHJpbmcoYSkpKXt2YXIgaT1hZShlLnYrKHQ/MTQ2MjowKSk7aWYoaSl7ZS50PSJkIjtlLnY9bmV3 +IERhdGUoRGF0ZS5VVEMoaS55LGkubS0xLGkuZCxpLkgsaS5NLGkuUyxpLnUpKX19fWZ1bmN0aW9u +IFZnKGUscix0KXtyZXR1cm57djplLGl4ZmU6cix0OnR9fWZ1bmN0aW9uICRnKGUscil7dmFyIHQ9 +e29wdHM6e319O3ZhciBhPXt9O2lmKGIhPW51bGwmJnIuZGVuc2U9PW51bGwpci5kZW5zZT1iO3Zh +ciBuPXt9O2lmKHIuZGVuc2UpblsiIWRhdGEiXT1bXTt2YXIgaT17fTt2YXIgcz17fTt2YXIgZj1u +dWxsO3ZhciBvPVtdO3ZhciBjPSIiO3ZhciBoPXt9O3ZhciB1LGQ9IiIsdixwLG0sZzt2YXIgdz17 +fTt2YXIgaz1bXTt2YXIgQTt2YXIgVDt2YXIgeT1bXTt2YXIgRT1bXTt2YXIgQz17U2hlZXRzOltd +LFdCUHJvcHM6e2RhdGUxOTA0OmZhbHNlfSxWaWV3czpbe31dfSxfPXt9O3ZhciBTPWZhbHNlO3Zh +ciB4PWZ1bmN0aW9uIHBlKGUpe2lmKGU8OClyZXR1cm4gb2lbZV07aWYoZTw2NClyZXR1cm4gRVtl +LThdfHxvaVtlXTtyZXR1cm4gb2lbZV19O3ZhciBPPWZ1bmN0aW9uIG1lKGUscil7dmFyIHQ9ZS5Y +Ri5kYXRhO2lmKCF0fHwhdC5wYXR0ZXJuVHlwZXx8IXJ8fCFyLmNlbGxTdHlsZXMpcmV0dXJuO2Uu +cz17fTtlLnMucGF0dGVyblR5cGU9dC5wYXR0ZXJuVHlwZTt2YXIgYTtpZihhPVpvKHgodC5pY3ZG +b3JlKSkpe2Uucy5mZ0NvbG9yPXtyZ2I6YX19aWYoYT1abyh4KHQuaWN2QmFjaykpKXtlLnMuYmdD +b2xvcj17cmdiOmF9fX07dmFyIEk9ZnVuY3Rpb24gZ2UoZSxyLHQpe2lmKCFTJiZXPjEpcmV0dXJu +O2lmKHQuc2hlZXRSb3dzJiZlLnI+PXQuc2hlZXRSb3dzKXJldHVybjtpZih0LmNlbGxTdHlsZXMm +JnIuWEYmJnIuWEYuZGF0YSlPKHIsdCk7ZGVsZXRlIHIuaXhmZTtkZWxldGUgci5YRjt1PWU7ZD1Z +YShlKTtpZighc3x8IXMuc3x8IXMuZSlzPXtzOntyOjAsYzowfSxlOntyOjAsYzowfX07aWYoZS5y +PHMucy5yKXMucy5yPWUucjtpZihlLmM8cy5zLmMpcy5zLmM9ZS5jO2lmKGUucisxPnMuZS5yKXMu +ZS5yPWUucisxO2lmKGUuYysxPnMuZS5jKXMuZS5jPWUuYysxO2lmKHQuY2VsbEZvcm11bGEmJnIu +Zil7Zm9yKHZhciBhPTA7YTxrLmxlbmd0aDsrK2Epe2lmKGtbYV1bMF0ucy5jPmUuY3x8a1thXVsw +XS5zLnI+ZS5yKWNvbnRpbnVlO2lmKGtbYV1bMF0uZS5jPGUuY3x8a1thXVswXS5lLnI8ZS5yKWNv +bnRpbnVlO3IuRj1KYShrW2FdWzBdKTtpZihrW2FdWzBdLnMuYyE9ZS5jfHxrW2FdWzBdLnMuciE9 +ZS5yKWRlbGV0ZSByLmY7aWYoci5mKXIuZj0iIitNZChrW2FdWzFdLHMsZSxVLFIpO2JyZWFrfX17 +aWYodC5kZW5zZSl7aWYoIW5bIiFkYXRhIl1bZS5yXSluWyIhZGF0YSJdW2Uucl09W107blsiIWRh +dGEiXVtlLnJdW2UuY109cn1lbHNlIG5bZF09cn19O3ZhciBSPXtlbmM6ZmFsc2Usc2JjY2g6MCxz +bmFtZXM6W10sc2hhcmVkZjp3LGFycmF5ZjprLHJydGFiaWQ6W10sbGFzdHVzZXI6IiIsYmlmZjo4 +LGNvZGVwYWdlOjAsd2lubG9ja2VkOjAsY2VsbFN0eWxlczohIXImJiEhci5jZWxsU3R5bGVzLFdU +RjohIXImJiEhci53dGZ9O2lmKHIucGFzc3dvcmQpUi5wYXNzd29yZD1yLnBhc3N3b3JkO3ZhciBO +O3ZhciBGPVtdO3ZhciBEPVtdO3ZhciBQPVtdLEw9W107dmFyIE09ZmFsc2U7dmFyIFU9W107VS5T +aGVldE5hbWVzPVIuc25hbWVzO1Uuc2hhcmVkZj1SLnNoYXJlZGY7VS5hcnJheWY9Ui5hcnJheWY7 +VS5uYW1lcz1bXTtVLlhUST1bXTt2YXIgQj0wO3ZhciBXPTA7dmFyIHo9MCxIPVtdO3ZhciBWPVtd +O3ZhciAkO1IuY29kZXBhZ2U9MTIwMDtsKDEyMDApO3ZhciBYPWZhbHNlO3doaWxlKGUubDxlLmxl +bmd0aC0xKXt2YXIgRz1lLmw7dmFyIGo9ZS5fUigyKTtpZihqPT09MCYmQj09PTEwKWJyZWFrO3Zh +ciBLPWUubD09PWUubGVuZ3RoPzA6ZS5fUigyKTt2YXIgWT1KZ1tqXTtpZihXPT0wJiZbOSw1MjEs +MTAzMywyMDU3XS5pbmRleE9mKGopPT0tMSlicmVhaztpZihZJiZZLmYpe2lmKHIuYm9va1NoZWV0 +cyl7aWYoQj09PTEzMyYmaiE9PTEzMylicmVha31CPWo7aWYoWS5yPT09Mnx8WS5yPT0xMil7dmFy +IFo9ZS5fUigyKTtLLT0yO2lmKCFSLmVuYyYmWiE9PWomJigoWiYyNTUpPDw4fFo+PjgpIT09ail0 +aHJvdyBuZXcgRXJyb3IoInJ0IG1pc21hdGNoOiAiK1orIiE9IitqKTtpZihZLnI9PTEyKXtlLmwr +PTEwO0stPTEwfX12YXIgSj17fTtpZihqPT09MTApSj1ZLmYoZSxLLFIpO2Vsc2UgSj16ZyhqLFks +ZSxLLFIpO2lmKFc9PTAmJls5LDUyMSwxMDMzLDIwNTddLmluZGV4T2YoQik9PT0tMSljb250aW51 +ZTtzd2l0Y2goail7Y2FzZSAzNDp0Lm9wdHMuRGF0ZTE5MDQ9Qy5XQlByb3BzLmRhdGUxOTA0PUo7 +YnJlYWs7Y2FzZSAxMzQ6dC5vcHRzLldyaXRlUHJvdGVjdD10cnVlO2JyZWFrO2Nhc2UgNDc6aWYo +IVIuZW5jKWUubD0wO1IuZW5jPUo7aWYoIXIucGFzc3dvcmQpdGhyb3cgbmV3IEVycm9yKCJGaWxl +IGlzIHBhc3N3b3JkLXByb3RlY3RlZCIpO2lmKEoudmFsaWQ9PW51bGwpdGhyb3cgbmV3IEVycm9y +KCJFbmNyeXB0aW9uIHNjaGVtZSB1bnN1cHBvcnRlZCIpO2lmKCFKLnZhbGlkKXRocm93IG5ldyBF +cnJvcigiUGFzc3dvcmQgaXMgaW5jb3JyZWN0Iik7YnJlYWs7Y2FzZSA5MjpSLmxhc3R1c2VyPUo7 +YnJlYWs7Y2FzZSA2Njp2YXIgUT1OdW1iZXIoSik7c3dpdGNoKFEpe2Nhc2UgMjEwMTA6UT0xMjAw +O2JyZWFrO2Nhc2UgMzI3Njg6UT0xZTQ7YnJlYWs7Y2FzZSAzMjc2OTpRPTEyNTI7YnJlYWs7fWwo +Ui5jb2RlcGFnZT1RKTtYPXRydWU7YnJlYWs7Y2FzZSAzMTc6Ui5ycnRhYmlkPUo7YnJlYWs7Y2Fz +ZSAyNTpSLndpbmxvY2tlZD1KO2JyZWFrO2Nhc2UgNDM5OnQub3B0c1siUmVmcmVzaEFsbCJdPUo7 +YnJlYWs7Y2FzZSAxMjp0Lm9wdHNbIkNhbGNDb3VudCJdPUo7YnJlYWs7Y2FzZSAxNjp0Lm9wdHNb +IkNhbGNEZWx0YSJdPUo7YnJlYWs7Y2FzZSAxNzp0Lm9wdHNbIkNhbGNJdGVyIl09SjticmVhaztj +YXNlIDEzOnQub3B0c1siQ2FsY01vZGUiXT1KO2JyZWFrO2Nhc2UgMTQ6dC5vcHRzWyJDYWxjUHJl +Y2lzaW9uIl09SjticmVhaztjYXNlIDk1OnQub3B0c1siQ2FsY1NhdmVSZWNhbGMiXT1KO2JyZWFr +O2Nhc2UgMTU6Ui5DYWxjUmVmTW9kZT1KO2JyZWFrO2Nhc2UgMjIxMTp0Lm9wdHMuRnVsbENhbGM9 +SjticmVhaztjYXNlIDEyOTppZihKLmZEaWFsb2cpblsiIXR5cGUiXT0iZGlhbG9nIjtpZighSi5m +QmVsb3cpKG5bIiFvdXRsaW5lIl18fChuWyIhb3V0bGluZSJdPXt9KSkuYWJvdmU9dHJ1ZTtpZigh +Si5mUmlnaHQpKG5bIiFvdXRsaW5lIl18fChuWyIhb3V0bGluZSJdPXt9KSkubGVmdD10cnVlO2Jy +ZWFrO2Nhc2UgNjc6O2Nhc2UgNTc5OjtjYXNlIDEwOTE6O2Nhc2UgMjI0OnkucHVzaChKKTticmVh +aztjYXNlIDQzMDpVLnB1c2goW0pdKTtVW1UubGVuZ3RoLTFdLlhUST1bXTticmVhaztjYXNlIDM1 +OjtjYXNlIDU0NzpVW1UubGVuZ3RoLTFdLnB1c2goSik7YnJlYWs7Y2FzZSAyNDo7Y2FzZSA1MzY6 +JD17TmFtZTpKLk5hbWUsUmVmOk1kKEoucmdjZSxzLG51bGwsVSxSKX07aWYoSi5pdGFiPjApJC5T +aGVldD1KLml0YWItMTtVLm5hbWVzLnB1c2goJCk7aWYoIVVbMF0pe1VbMF09W107VVswXS5YVEk9 +W119VVtVLmxlbmd0aC0xXS5wdXNoKEopO2lmKEouTmFtZT09Il94bG5tLl9GaWx0ZXJEYXRhYmFz +ZSImJkouaXRhYj4wKWlmKEoucmdjZSYmSi5yZ2NlWzBdJiZKLnJnY2VbMF1bMF0mJkoucmdjZVsw +XVswXVswXT09IlB0Z0FyZWEzZCIpVltKLml0YWItMV09e3JlZjpKYShKLnJnY2VbMF1bMF1bMV1b +Ml0pfTticmVhaztjYXNlIDIyOlIuRXh0ZXJuQ291bnQ9SjticmVhaztjYXNlIDIzOmlmKFUubGVu +Z3RoPT0wKXtVWzBdPVtdO1VbMF0uWFRJPVtdfVVbVS5sZW5ndGgtMV0uWFRJPVVbVS5sZW5ndGgt +MV0uWFRJLmNvbmNhdChKKTtVLlhUST1VLlhUSS5jb25jYXQoSik7YnJlYWs7Y2FzZSAyMTk2Omlm +KFIuYmlmZjw4KWJyZWFrO2lmKCQhPW51bGwpJC5Db21tZW50PUpbMV07YnJlYWs7Y2FzZSAxODpu +WyIhcHJvdGVjdCJdPUo7YnJlYWs7Y2FzZSAxOTppZihKIT09MCYmUi5XVEYpY29uc29sZS5lcnJv +cigiUGFzc3dvcmQgdmVyaWZpZXI6ICIrSik7YnJlYWs7Y2FzZSAxMzM6e2lbUi5iaWZmPT00P1Iu +c25hbWVzLmxlbmd0aDpKLnBvc109SjtSLnNuYW1lcy5wdXNoKEoubmFtZSl9YnJlYWs7Y2FzZSAx +MDp7aWYoLS1XPyFTOlMpYnJlYWs7aWYocy5lKXtpZihzLmUucj4wJiZzLmUuYz4wKXtzLmUuci0t +O3MuZS5jLS07blsiIXJlZiJdPUphKHMpO2lmKHIuc2hlZXRSb3dzJiZyLnNoZWV0Um93czw9cy5l +LnIpe3ZhciBlZT1zLmUucjtzLmUucj1yLnNoZWV0Um93cy0xO25bIiFmdWxscmVmIl09blsiIXJl +ZiJdO25bIiFyZWYiXT1KYShzKTtzLmUucj1lZX1zLmUucisrO3MuZS5jKyt9aWYoRi5sZW5ndGg+ +MCluWyIhbWVyZ2VzIl09RjtpZihELmxlbmd0aD4wKW5bIiFvYmplY3RzIl09RDtpZihQLmxlbmd0 +aD4wKW5bIiFjb2xzIl09UDtpZihMLmxlbmd0aD4wKW5bIiFyb3dzIl09TDtDLlNoZWV0cy5wdXNo +KF8pfWlmKGM9PT0iIiloPW47ZWxzZSBhW2NdPW47bj17fTtpZihyLmRlbnNlKW5bIiFkYXRhIl09 +W119YnJlYWs7Y2FzZSA5OjtjYXNlIDUyMTo7Y2FzZSAxMDMzOjtjYXNlIDIwNTc6e2lmKFIuYmlm +Zj09PTgpUi5iaWZmPXs5OjIsNTIxOjMsMTAzMzo0fVtqXXx8ezUxMjoyLDc2ODozLDEwMjQ6NCwx +MjgwOjUsMTUzNjo4LDI6Miw3OjJ9W0ouQklGRlZlcl18fDg7Ui5iaWZmZ3Vlc3M9Si5CSUZGVmVy +PT0wO2lmKEouQklGRlZlcj09MCYmSi5kdD09NDA5Nil7Ui5iaWZmPTU7WD10cnVlO2woUi5jb2Rl +cGFnZT0yODU5MSl9aWYoUi5iaWZmPT00JiZKLmR0JjI1NilTPXRydWU7aWYoUi5iaWZmPT04JiZK +LkJJRkZWZXI9PTAmJkouZHQ9PTE2KVIuYmlmZj0yO2lmKFcrKyYmIVMpYnJlYWs7bj17fTtpZihy +LmRlbnNlKW5bIiFkYXRhIl09W107aWYoUi5iaWZmPDgmJiFYKXtYPXRydWU7bChSLmNvZGVwYWdl +PXIuY29kZXBhZ2V8fDEyNTIpfWlmKFIuYmlmZj09NCYmUyl7Yz0oaVtSLnNuYW1lcy5pbmRleE9m +KGMpKzFdfHx7bmFtZToiIn0pLm5hbWV9ZWxzZSBpZihSLmJpZmY8NXx8Si5CSUZGVmVyPT0wJiZK +LmR0PT00MDk2KXtpZihjPT09IiIpYz0iU2hlZXQxIjtzPXtzOntyOjAsYzowfSxlOntyOjAsYzow +fX07dmFyIHJlPXtwb3M6ZS5sLUssbmFtZTpjfTtpW3JlLnBvc109cmU7Ui5zbmFtZXMucHVzaChj +KX1lbHNlIGM9KGlbR118fHtuYW1lOiIifSkubmFtZTtpZihKLmR0PT0zMiluWyIhdHlwZSJdPSJj +aGFydCI7aWYoSi5kdD09NjQpblsiIXR5cGUiXT0ibWFjcm8iO0Y9W107RD1bXTtSLmFycmF5Zj1r +PVtdO1A9W107TD1bXTtNPWZhbHNlO189e0hpZGRlbjooaVtHXXx8e2hzOjB9KS5ocyxuYW1lOmN9 +fWJyZWFrO2Nhc2UgNTE1OjtjYXNlIDM6O2Nhc2UgMjp7aWYoblsiIXR5cGUiXT09ImNoYXJ0Iilp +ZihyLmRlbnNlPyhuWyIhZGF0YSJdW0oucl18fFtdKVtKLmNdOm5bJGEoSi5jKStXYShKLnIpXSkr +K0ouYztBPXtpeGZlOkouaXhmZSxYRjp5W0ouaXhmZV18fHt9LHY6Si52YWwsdDoibiJ9O2lmKHo+ +MClBLno9QS5YRiYmQS5YRi5udW1GbXRJZCYmSFtBLlhGLm51bUZtdElkXXx8SFtBLml4ZmU+Pjgm +NjNdO0hnKEEscix0Lm9wdHMuRGF0ZTE5MDQpO0koe2M6Si5jLHI6Si5yfSxBLHIpfWJyZWFrO2Nh +c2UgNTo7Y2FzZSA1MTc6e0E9e2l4ZmU6Si5peGZlLFhGOnlbSi5peGZlXSx2OkoudmFsLHQ6Si50 +fTtpZih6PjApQS56PUEuWEYmJkEuWEYubnVtRm10SWQmJkhbQS5YRi5udW1GbXRJZF18fEhbQS5p +eGZlPj44JjYzXTtIZyhBLHIsdC5vcHRzLkRhdGUxOTA0KTsKSSh7YzpKLmMscjpKLnJ9LEEscil9 +YnJlYWs7Y2FzZSA2Mzg6e0E9e2l4ZmU6Si5peGZlLFhGOnlbSi5peGZlXSx2OkoucmtudW0sdDoi +biJ9O2lmKHo+MClBLno9QS5YRiYmQS5YRi5udW1GbXRJZCYmSFtBLlhGLm51bUZtdElkXXx8SFtB +Lml4ZmU+PjgmNjNdO0hnKEEscix0Lm9wdHMuRGF0ZTE5MDQpO0koe2M6Si5jLHI6Si5yfSxBLHIp +fWJyZWFrO2Nhc2UgMTg5Ontmb3IodmFyIHRlPUouYzt0ZTw9Si5DOysrdGUpe3ZhciBhZT1KLnJr +cmVjW3RlLUouY11bMF07QT17aXhmZTphZSxYRjp5W2FlXSx2OkoucmtyZWNbdGUtSi5jXVsxXSx0 +OiJuIn07aWYoej4wKUEuej1BLlhGJiZBLlhGLm51bUZtdElkJiZIW0EuWEYubnVtRm10SWRdfHxI +W0EuaXhmZT4+OCY2M107SGcoQSxyLHQub3B0cy5EYXRlMTkwNCk7SSh7Yzp0ZSxyOkoucn0sQSxy +KX19YnJlYWs7Y2FzZSA2OjtjYXNlIDUxODo7Y2FzZSAxMDMwOntpZihKLnZhbD09IlN0cmluZyIp +e2Y9SjticmVha31BPVZnKEoudmFsLEouY2VsbC5peGZlLEoudHQpO0EuWEY9eVtBLml4ZmVdO2lm +KHIuY2VsbEZvcm11bGEpe3ZhciBuZT1KLmZvcm11bGE7aWYobmUmJm5lWzBdJiZuZVswXVswXSYm +bmVbMF1bMF1bMF09PSJQdGdFeHAiKXt2YXIgaWU9bmVbMF1bMF1bMV1bMF0sc2U9bmVbMF1bMF1b +MV1bMV07dmFyIGZlPVlhKHtyOmllLGM6c2V9KTtpZih3W2ZlXSlBLmY9IiIrTWQoSi5mb3JtdWxh +LHMsSi5jZWxsLFUsUik7ZWxzZSBBLkY9KChyLmRlbnNlPyhuWyIhZGF0YSJdW2llXXx8W10pW3Nl +XTpuW2ZlXSl8fHt9KS5GfWVsc2UgQS5mPSIiK01kKEouZm9ybXVsYSxzLEouY2VsbCxVLFIpfWlm +KHo+MClBLno9QS5YRiYmQS5YRi5udW1GbXRJZCYmSFtBLlhGLm51bUZtdElkXXx8SFtBLml4ZmU+ +PjgmNjNdO0hnKEEscix0Lm9wdHMuRGF0ZTE5MDQpO0koSi5jZWxsLEEscik7Zj1KfWJyZWFrO2Nh +c2UgNzo7Y2FzZSA1MTk6e2lmKGYpe2YudmFsPUo7QT1WZyhKLGYuY2VsbC5peGZlLCJzIik7QS5Y +Rj15W0EuaXhmZV07aWYoci5jZWxsRm9ybXVsYSl7QS5mPSIiK01kKGYuZm9ybXVsYSxzLGYuY2Vs +bCxVLFIpfWlmKHo+MClBLno9QS5YRiYmQS5YRi5udW1GbXRJZCYmSFtBLlhGLm51bUZtdElkXXx8 +SFtBLml4ZmU+PjgmNjNdO0hnKEEscix0Lm9wdHMuRGF0ZTE5MDQpO0koZi5jZWxsLEEscik7Zj1u +dWxsfWVsc2UgdGhyb3cgbmV3IEVycm9yKCJTdHJpbmcgcmVjb3JkIGV4cGVjdHMgRm9ybXVsYSIp +fWJyZWFrO2Nhc2UgMzM6O2Nhc2UgNTQ1OntrLnB1c2goSik7dmFyIGxlPVlhKEpbMF0ucyk7dj1y +LmRlbnNlPyhuWyIhZGF0YSJdW0pbMF0ucy5yXXx8W10pW0pbMF0ucy5jXTpuW2xlXTtpZihyLmNl +bGxGb3JtdWxhJiZ2KXtpZighZilicmVhaztpZighbGV8fCF2KWJyZWFrO3YuZj0iIitNZChKWzFd +LHMsSlswXSxVLFIpO3YuRj1KYShKWzBdKX19YnJlYWs7Y2FzZSAxMjEyOntpZighci5jZWxsRm9y +bXVsYSlicmVhaztpZihkKXtpZighZilicmVhazt3W1lhKGYuY2VsbCldPUpbMF07dj1yLmRlbnNl +PyhuWyIhZGF0YSJdW2YuY2VsbC5yXXx8W10pW2YuY2VsbC5jXTpuW1lhKGYuY2VsbCldOyh2fHx7 +fSkuZj0iIitNZChKWzBdLHMsdSxVLFIpfX1icmVhaztjYXNlIDI1MzpBPVZnKG9bSi5pc3N0XS50 +LEouaXhmZSwicyIpO2lmKG9bSi5pc3N0XS5oKUEuaD1vW0ouaXNzdF0uaDtBLlhGPXlbQS5peGZl +XTtpZih6PjApQS56PUEuWEYmJkEuWEYubnVtRm10SWQmJkhbQS5YRi5udW1GbXRJZF18fEhbQS5p +eGZlPj44JjYzXTtIZyhBLHIsdC5vcHRzLkRhdGUxOTA0KTtJKHtjOkouYyxyOkoucn0sQSxyKTti +cmVhaztjYXNlIDUxMzppZihyLnNoZWV0U3R1YnMpe0E9e2l4ZmU6Si5peGZlLFhGOnlbSi5peGZl +XSx0OiJ6In07aWYoej4wKUEuej1BLlhGJiZBLlhGLm51bUZtdElkJiZIW0EuWEYubnVtRm10SWRd +fHxIW0EuaXhmZT4+OCY2M107SGcoQSxyLHQub3B0cy5EYXRlMTkwNCk7SSh7YzpKLmMscjpKLnJ9 +LEEscil9YnJlYWs7Y2FzZSAxOTA6aWYoci5zaGVldFN0dWJzKXtmb3IodmFyIG9lPUouYztvZTw9 +Si5DOysrb2Upe3ZhciBjZT1KLml4ZmVbb2UtSi5jXTtBPXtpeGZlOmNlLFhGOnlbY2VdLHQ6Inoi +fTtpZih6PjApQS56PUEuWEYmJkEuWEYubnVtRm10SWQmJkhbQS5YRi5udW1GbXRJZF18fEhbQS5p +eGZlPj44JjYzXTtIZyhBLHIsdC5vcHRzLkRhdGUxOTA0KTtJKHtjOm9lLHI6Si5yfSxBLHIpfX1i +cmVhaztjYXNlIDIxNDo7Y2FzZSA1MTY6O2Nhc2UgNDpBPVZnKEoudmFsLEouaXhmZSwicyIpO0Eu +WEY9eVtBLml4ZmVdO2lmKHo+MClBLno9QS5YRiYmQS5YRi5udW1GbXRJZCYmSFtBLlhGLm51bUZt +dElkXXx8SFtBLml4ZmU+PjgmNjNdO0hnKEEscix0Lm9wdHMuRGF0ZTE5MDQpO0koe2M6Si5jLHI6 +Si5yfSxBLHIpO2JyZWFrO2Nhc2UgMDo7Y2FzZSA1MTI6e2lmKFc9PT0xKXM9Sn1icmVhaztjYXNl +IDI1Mjp7bz1KfWJyZWFrO2Nhc2UgMTA1NDp7aWYoUi5iaWZmPj0zJiZSLmJpZmY8PTQpe0hbeisr +XT1KWzFdO2Zvcih2YXIgaGU9MDtoZTx6KzE2MzsrK2hlKWlmKHFbaGVdPT1KWzFdKWJyZWFrO2lm +KGhlPj0xNjMpSmUoSlsxXSx6KzE2Myl9ZWxzZSBKZShKWzFdLEpbMF0pfWJyZWFrO2Nhc2UgMzA6 +e0hbeisrXT1KO2Zvcih2YXIgdWU9MDt1ZTx6KzE2MzsrK3VlKWlmKHFbdWVdPT1KKWJyZWFrO2lm +KHVlPj0xNjMpSmUoSix6KzE2Myl9YnJlYWs7Y2FzZSAyMjk6Rj1GLmNvbmNhdChKKTticmVhaztj +YXNlIDkzOkRbSi5jbW9bMF1dPVIubGFzdG9iaj1KO2JyZWFrO2Nhc2UgNDM4OlIubGFzdG9iai5U +eE89SjticmVhaztjYXNlIDEyNzpSLmxhc3RvYmouSW1EYXRhPUo7YnJlYWs7Y2FzZSA0NDA6e2Zv +cihnPUpbMF0ucy5yO2c8PUpbMF0uZS5yOysrZylmb3IobT1KWzBdLnMuYzttPD1KWzBdLmUuYzsr +K20pe3Y9ci5kZW5zZT8oblsiIWRhdGEiXVtnXXx8W10pW21dOm5bWWEoe2M6bSxyOmd9KV07aWYo +dil2Lmw9SlsxXX19YnJlYWs7Y2FzZSAyMDQ4Ontmb3IoZz1KWzBdLnMucjtnPD1KWzBdLmUucjsr +K2cpZm9yKG09SlswXS5zLmM7bTw9SlswXS5lLmM7KyttKXt2PXIuZGVuc2U/KG5bIiFkYXRhIl1b +Z118fFtdKVttXTpuW1lhKHtjOm0scjpnfSldO2lmKHYmJnYubCl2LmwuVG9vbHRpcD1KWzFdfX1i +cmVhaztjYXNlIDI4Ont2PXIuZGVuc2U/KG5bIiFkYXRhIl1bSlswXS5yXXx8W10pW0pbMF0uY106 +bltZYShKWzBdKV07aWYoIXYpe2lmKHIuZGVuc2Upe2lmKCFuWyIhZGF0YSJdW0pbMF0ucl0pblsi +IWRhdGEiXVtKWzBdLnJdPVtdO3Y9blsiIWRhdGEiXVtKWzBdLnJdW0pbMF0uY109e3Q6InoifX1l +bHNle3Y9bltZYShKWzBdKV09e3Q6InoifX1zLmUucj1NYXRoLm1heChzLmUucixKWzBdLnIpO3Mu +cy5yPU1hdGgubWluKHMucy5yLEpbMF0ucik7cy5lLmM9TWF0aC5tYXgocy5lLmMsSlswXS5jKTtz +LnMuYz1NYXRoLm1pbihzLnMuYyxKWzBdLmMpfWlmKCF2LmMpdi5jPVtdO2lmKFIuYmlmZjw9NSYm +Ui5iaWZmPj0yKXA9e2E6IlNoZWV0SjUiLHQ6SlsxXX07ZWxzZXt2YXIgZGU9RFtKWzJdXTtwPXth +OkpbMV0sdDpkZS5UeE8udH07aWYoSlszXSE9bnVsbCYmIShKWzNdJjIpKXYuYy5oaWRkZW49dHJ1 +ZX12LmMucHVzaChwKX1icmVhaztjYXNlIDIxNzM6ZGgoeVtKLml4ZmVdLEouZXh0KTticmVhaztj +YXNlIDEyNTp7aWYoIVIuY2VsbFN0eWxlcylicmVhazt3aGlsZShKLmU+PUoucyl7UFtKLmUtLV09 +e3dpZHRoOkoudy8yNTYsbGV2ZWw6Si5sZXZlbHx8MCxoaWRkZW46ISEoSi5mbGFncyYxKX07aWYo +IU0pe009dHJ1ZTtsYyhKLncvMjU2KX1vYyhQW0ouZSsxXSl9fWJyZWFrO2Nhc2UgNTIwOnt2YXIg +dmU9e307aWYoSi5sZXZlbCE9bnVsbCl7TFtKLnJdPXZlO3ZlLmxldmVsPUoubGV2ZWx9aWYoSi5o +aWRkZW4pe0xbSi5yXT12ZTt2ZS5oaWRkZW49dHJ1ZX1pZihKLmhwdCl7TFtKLnJdPXZlO3ZlLmhw +dD1KLmhwdDt2ZS5ocHg9ZGMoSi5ocHQpfX1icmVhaztjYXNlIDM4OjtjYXNlIDM5OjtjYXNlIDQw +OjtjYXNlIDQxOmlmKCFuWyIhbWFyZ2lucyJdKUF2KG5bIiFtYXJnaW5zIl09e30pO25bIiFtYXJn +aW5zIl1bezM4OiJsZWZ0IiwzOToicmlnaHQiLDQwOiJ0b3AiLDQxOiJib3R0b20ifVtqXV09Sjti +cmVhaztjYXNlIDE2MTppZighblsiIW1hcmdpbnMiXSlBdihuWyIhbWFyZ2lucyJdPXt9KTtuWyIh +bWFyZ2lucyJdLmhlYWRlcj1KLmhlYWRlcjtuWyIhbWFyZ2lucyJdLmZvb3Rlcj1KLmZvb3Rlcjti +cmVhaztjYXNlIDU3NDppZihKLlJUTClDLlZpZXdzWzBdLlJUTD10cnVlO2JyZWFrO2Nhc2UgMTQ2 +OkU9SjticmVhaztjYXNlIDIxOTg6Tj1KO2JyZWFrO2Nhc2UgMTQwOlQ9SjticmVhaztjYXNlIDQ0 +Mjp7aWYoIWMpQy5XQlByb3BzLkNvZGVOYW1lPUp8fCJUaGlzV29ya2Jvb2siO2Vsc2UgXy5Db2Rl +TmFtZT1KfHxfLm5hbWV9YnJlYWs7fX1lbHNle2lmKCFZKWNvbnNvbGUuZXJyb3IoIk1pc3Npbmcg +SW5mbyBmb3IgWExTIFJlY29yZCAweCIrai50b1N0cmluZygxNikpO2UubCs9S319dC5TaGVldE5h +bWVzPWlyKGkpLnNvcnQoZnVuY3Rpb24oZSxyKXtyZXR1cm4gTnVtYmVyKGUpLU51bWJlcihyKX0p +Lm1hcChmdW5jdGlvbihlKXtyZXR1cm4gaVtlXS5uYW1lfSk7aWYoIXIuYm9va1NoZWV0cyl0LlNo +ZWV0cz1hO2lmKCF0LlNoZWV0TmFtZXMubGVuZ3RoJiZoWyIhcmVmIl0pe3QuU2hlZXROYW1lcy5w +dXNoKCJTaGVldDEiKTtpZih0LlNoZWV0cyl0LlNoZWV0c1siU2hlZXQxIl09aH1lbHNlIHQuUHJl +YW1ibGU9aDtpZih0LlNoZWV0cylWLmZvckVhY2goZnVuY3Rpb24oZSxyKXt0LlNoZWV0c1t0LlNo +ZWV0TmFtZXNbcl1dWyIhYXV0b2ZpbHRlciJdPWV9KTt0LlN0cmluZ3M9bzt0LlNTRj1BcihxKTtp +ZihSLmVuYyl0LkVuY3J5cHRpb249Ui5lbmM7aWYoTil0LlRoZW1lcz1OO3QuTWV0YWRhdGE9e307 +aWYoVCE9PXVuZGVmaW5lZCl0Lk1ldGFkYXRhLkNvdW50cnk9VDtpZihVLm5hbWVzLmxlbmd0aD4w +KUMuTmFtZXM9VS5uYW1lczt0Lldvcmtib29rPUM7cmV0dXJuIHR9dmFyIFhnPXtTSToiZTA4NTlm +ZjJmOTRmNjgxMGFiOTEwODAwMmIyN2IzZDkiLERTSToiMDJkNWNkZDU5YzJlMWIxMDkzOTcwODAw +MmIyY2Y5YWUiLFVESToiMDVkNWNkZDU5YzJlMWIxMDkzOTcwODAwMmIyY2Y5YWUifTtmdW5jdGlv +biBHZyhlLHIsdCl7dmFyIGE9UWUuZmluZChlLCIvIURvY3VtZW50U3VtbWFyeUluZm9ybWF0aW9u +Iik7aWYoYSYmYS5zaXplPjApdHJ5e3ZhciBuPWRzKGEsYWksWGcuRFNJKTtmb3IodmFyIGkgaW4g +bilyW2ldPW5baV19Y2F0Y2gocyl7aWYodC5XVEYpdGhyb3cgc312YXIgZj1RZS5maW5kKGUsIi8h +U3VtbWFyeUluZm9ybWF0aW9uIik7aWYoZiYmZi5zaXplPjApdHJ5e3ZhciBsPWRzKGYsbmksWGcu +U0kpO2Zvcih2YXIgbyBpbiBsKWlmKHJbb109PW51bGwpcltvXT1sW29dfWNhdGNoKHMpe2lmKHQu +V1RGKXRocm93IHN9aWYoci5IZWFkaW5nUGFpcnMmJnIuVGl0bGVzT2ZQYXJ0cyl7TGkoci5IZWFk +aW5nUGFpcnMsci5UaXRsZXNPZlBhcnRzLHIsdCk7ZGVsZXRlIHIuSGVhZGluZ1BhaXJzO2RlbGV0 +ZSByLlRpdGxlc09mUGFydHN9fWZ1bmN0aW9uIGpnKGUscil7dmFyIHQ9W10sYT1bXSxuPVtdO3Zh +ciBpPTAsczt2YXIgZj1zcihhaSwibiIpO3ZhciBsPXNyKG5pLCJuIik7aWYoZS5Qcm9wcyl7cz1p +cihlLlByb3BzKTtmb3IoaT0wO2k8cy5sZW5ndGg7KytpKShPYmplY3QucHJvdG90eXBlLmhhc093 +blByb3BlcnR5LmNhbGwoZixzW2ldKT90Ok9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHku +Y2FsbChsLHNbaV0pP2E6bikucHVzaChbc1tpXSxlLlByb3BzW3NbaV1dXSl9aWYoZS5DdXN0cHJv +cHMpe3M9aXIoZS5DdXN0cHJvcHMpO2ZvcihpPTA7aTxzLmxlbmd0aDsrK2kpaWYoIU9iamVjdC5w +cm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLlByb3BzfHx7fSxzW2ldKSkoT2JqZWN0LnBy +b3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGYsc1tpXSk/dDpPYmplY3QucHJvdG90eXBlLmhh +c093blByb3BlcnR5LmNhbGwobCxzW2ldKT9hOm4pLnB1c2goW3NbaV0sZS5DdXN0cHJvcHNbc1tp +XV1dKX12YXIgbz1bXTtmb3IoaT0wO2k8bi5sZW5ndGg7KytpKXtpZihjcy5pbmRleE9mKG5baV1b +MF0pPi0xfHxQaS5pbmRleE9mKG5baV1bMF0pPi0xKWNvbnRpbnVlO2lmKG5baV1bMV09PW51bGwp +Y29udGludWU7by5wdXNoKG5baV0pfWlmKGEubGVuZ3RoKVFlLnV0aWxzLmNmYl9hZGQociwiLwVT +dW1tYXJ5SW5mb3JtYXRpb24iLHZzKGEsWGcuU0ksbCxuaSkpO2lmKHQubGVuZ3RofHxvLmxlbmd0 +aClRZS51dGlscy5jZmJfYWRkKHIsIi8FRG9jdW1lbnRTdW1tYXJ5SW5mb3JtYXRpb24iLHZzKHQs +WGcuRFNJLGYsYWksby5sZW5ndGg/bzpudWxsLFhnLlVESSkpfWZ1bmN0aW9uIEtnKGUscil7aWYo +IXIpcj17fTtKdyhyKTtvKCk7aWYoci5jb2RlcGFnZSlzKHIuY29kZXBhZ2UpO3ZhciB0LGE7aWYo +ZS5GdWxsUGF0aHMpe2lmKFFlLmZpbmQoZSwiL2VuY3J5cHRpb24iKSl0aHJvdyBuZXcgRXJyb3Io +IkZpbGUgaXMgcGFzc3dvcmQtcHJvdGVjdGVkIik7dD1RZS5maW5kKGUsIiFDb21wT2JqIik7YT1R +ZS5maW5kKGUsIi9Xb3JrYm9vayIpfHxRZS5maW5kKGUsIi9Cb29rIil9ZWxzZXtzd2l0Y2goci50 +eXBlKXtjYXNlImJhc2U2NCI6ZT1JKEUoZSkpO2JyZWFrO2Nhc2UiYmluYXJ5IjplPUkoZSk7YnJl +YWs7Y2FzZSJidWZmZXIiOmJyZWFrO2Nhc2UiYXJyYXkiOmlmKCFBcnJheS5pc0FycmF5KGUpKWU9 +QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZSk7YnJlYWs7fU9hKGUsMCk7YT17Y29udGVudDpl +fX12YXIgbjt2YXIgaTtpZih0KUJnKHQpO2lmKHIuYm9va1Byb3BzJiYhci5ib29rU2hlZXRzKW49 +e307ZWxzZXt2YXIgZj1DPyJidWZmZXIiOiJhcnJheSI7aWYoYSYmYS5jb250ZW50KW49JGcoYS5j +b250ZW50LHIpO2Vsc2UgaWYoKGk9UWUuZmluZChlLCJQZXJmZWN0T2ZmaWNlX01BSU4iKSkmJmku +Y29udGVudCluPW5vLnRvX3dvcmtib29rKGkuY29udGVudCwoci50eXBlPWYscikpO2Vsc2UgaWYo +KGk9UWUuZmluZChlLCJOYXRpdmVDb250ZW50X01BSU4iKSkmJmkuY29udGVudCluPW5vLnRvX3dv +cmtib29rKGkuY29udGVudCwoci50eXBlPWYscikpO2Vsc2UgaWYoKGk9UWUuZmluZChlLCJNTjAi +KSkmJmkuY29udGVudCl0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIFdvcmtzIDQgZm9yIE1h +YyBmaWxlIik7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBmaW5kIFdvcmtib29rIHN0cmVh +bSIpO2lmKHIuYm9va1ZCQSYmZS5GdWxsUGF0aHMmJlFlLmZpbmQoZSwiL19WQkFfUFJPSkVDVF9D +VVIvVkJBL2RpciIpKW4udmJhcmF3PUtoKGUpfXZhciBsPXt9O2lmKGUuRnVsbFBhdGhzKUdnKGUs +bCxyKTtuLlByb3BzPW4uQ3VzdHByb3BzPWw7aWYoci5ib29rRmlsZXMpbi5jZmI9ZTtyZXR1cm4g +bn1mdW5jdGlvbiBZZyhlLHIpe3ZhciB0PXJ8fHt9O3ZhciBhPVFlLnV0aWxzLmNmYl9uZXcoe3Jv +b3Q6IlIifSk7dmFyIG49Ii9Xb3JrYm9vayI7c3dpdGNoKHQuYm9va1R5cGV8fCJ4bHMiKXtjYXNl +InhscyI6dC5ib29rVHlwZT0iYmlmZjgiO2Nhc2UieGxhIjppZighdC5ib29rVHlwZSl0LmJvb2tU +eXBlPSJ4bGEiO2Nhc2UiYmlmZjgiOm49Ii9Xb3JrYm9vayI7dC5iaWZmPTg7YnJlYWs7Y2FzZSJi +aWZmNSI6bj0iL0Jvb2siO3QuYmlmZj01O2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJp +bnZhbGlkIHR5cGUgIit0LmJvb2tUeXBlKyIgZm9yIFhMUyBDRkIiKTt9UWUudXRpbHMuY2ZiX2Fk +ZChhLG4sa2IoZSx0KSk7aWYodC5iaWZmPT04JiYoZS5Qcm9wc3x8ZS5DdXN0cHJvcHMpKWpnKGUs +YSk7aWYodC5iaWZmPT04JiZlLnZiYXJhdylZaChhLFFlLnJlYWQoZS52YmFyYXcse3R5cGU6dHlw +ZW9mIGUudmJhcmF3PT0ic3RyaW5nIj8iYmluYXJ5IjoiYnVmZmVyIn0pKTtyZXR1cm4gYX12YXIg +Wmc9ezA6e2Y6cnB9LDE6e2Y6b3B9LDI6e2Y6T3B9LDM6e2Y6Z3B9LDQ6e2Y6ZHB9LDU6e2Y6Q3B9 +LDY6e2Y6RHB9LDc6e2Y6QXB9LDg6e2Y6enB9LDk6e2Y6V3B9LDEwOntmOlVwfSwxMTp7ZjpCcH0s +MTI6e2Y6aHB9LDEzOntmOlJwfSwxNDp7Zjp3cH0sMTU6e2Y6cHB9LDE2OntmOlNwfSwxNzp7ZjpM +cH0sMTg6e2Y6eXB9LDE5OntmOnZufSwyMDp7fSwyMTp7fSwyMjp7fSwyMzp7fSwyNDp7fSwyNTp7 +fSwyNjp7fSwyNzp7fSwyODp7fSwyOTp7fSwzMDp7fSwzMTp7fSwzMjp7fSwzMzp7fSwzNDp7fSwz +NTp7VDoxfSwzNjp7VDotMX0sMzc6e1Q6MX0sMzg6e1Q6LTF9LDM5OntmOiRtfSw0MDp7fSw0Mjp7 +fSw0Mzp7Zjp4Y30sNDQ6e2Y6X2N9LDQ1OntmOk5jfSw0Njp7ZjpNY30sNDc6e2Y6RGN9LDQ4Ont9 +LDQ5OntmOmxufSw1MDp7fSw1MTp7ZjptaH0sNTI6e1Q6MX0sNTM6e1Q6LTF9LDU0OntUOjF9LDU1 +OntUOi0xfSw1Njp7VDoxfSw1Nzp7VDotMX0sNTg6e30sNTk6e30sNjA6e2Y6Umx9LDYyOntmOkZw +fSw2Mzp7ZjpfaH0sNjQ6e2Y6bm19LDY1Ont9LDY2Ont9LDY3Ont9LDY4Ont9LDY5Ont9LDcwOnt9 +LDEyODp7fSwxMjk6e1Q6MX0sMTMwOntUOi0xfSwxMzE6e1Q6MSxmOklhLHA6MH0sMTMyOntUOi0x +fSwxMzM6e1Q6MX0sMTM0OntUOi0xfSwxMzU6e1Q6MX0sMTM2OntUOi0xfSwxMzc6e1Q6MSxmOmVt +fSwxMzg6e1Q6LTF9LDEzOTp7VDoxfSwxNDA6e1Q6LTF9LDE0MTp7VDoxfSwxNDI6e1Q6LTF9LDE0 +Mzp7VDoxfSwxNDQ6e1Q6LTF9LDE0NTp7VDoxfSwxNDY6e1Q6LTF9LDE0Nzp7ZjpmcH0sMTQ4Ontm +Om5wLHA6MTZ9LDE1MTp7ZjpqcH0sMTUyOnt9LDE1Mzp7Zjp6bX0sMTU0Ont9LDE1NTp7fSwxNTY6 +e2Y6Qm19LDE1Nzp7fSwxNTg6e30sMTU5OntUOjEsZjpnb30sMTYwOntUOi0xfSwxNjE6e1Q6MSxm +OkZufSwxNjI6e1Q6LTF9LDE2Mzp7VDoxfSwxNjQ6e1Q6LTF9LDE2NTp7VDoxfSwxNjY6e1Q6LTF9 +LDE2Nzp7fSwxNjg6e30sMTY5Ont9LDE3MDp7fSwxNzE6e30sMTcyOntUOjF9LDE3Mzp7VDotMX0s +MTc0Ont9LDE3NTp7fSwxNzY6e2Y6SHB9LDE3Nzp7VDoxfSwxNzg6e1Q6LTF9LDE3OTp7VDoxfSwx +ODA6e1Q6LTF9LDE4MTp7VDoxfSwxODI6e1Q6LTF9LDE4Mzp7VDoxfSwxODQ6e1Q6LTF9LDE4NTp7 +VDoxfSwxODY6e1Q6LTF9LDE4Nzp7VDoxfSwxODg6e1Q6LTF9LDE4OTp7VDoxfSwxOTA6e1Q6LTF9 +LDE5MTp7VDoxfSwxOTI6e1Q6LTF9LDE5Mzp7VDoxfSwxOTQ6e1Q6LTF9LDE5NTp7VDoxfSwxOTY6 +e1Q6LTF9LDE5Nzp7VDoxfSwxOTg6e1Q6LTF9LDE5OTp7VDoxfSwyMDA6e1Q6LTF9LDIwMTp7VDox +fSwyMDI6e1Q6LTF9LDIwMzp7VDoxfSwyMDQ6e1Q6LTF9LDIwNTp7VDoxfSwyMDY6e1Q6LTF9LDIw +Nzp7VDoxfSwyMDg6e1Q6LTF9LDIwOTp7VDoxfSwyMTA6e1Q6LTF9LDIxMTp7VDoxfSwyMTI6e1Q6 +LTF9LDIxMzp7VDoxfSwyMTQ6e1Q6LTF9LDIxNTp7VDoxfSwyMTY6e1Q6LTF9LDIxNzp7VDoxfSwy +MTg6e1Q6LTF9LDIxOTp7VDoxfSwyMjA6e1Q6LTF9LDIyMTp7VDoxfSwyMjI6e1Q6LTF9LDIyMzp7 +VDoxfSwyMjQ6e1Q6LTF9LDIyNTp7VDoxfSwyMjY6e1Q6LTF9LDIyNzp7VDoxfSwyMjg6e1Q6LTF9 +LDIyOTp7VDoxfSwyMzA6e1Q6LTF9LDIzMTp7VDoxfSwyMzI6e1Q6LTF9LDIzMzp7VDoxfSwyMzQ6 +e1Q6LTF9LDIzNTp7VDoxfSwyMzY6e1Q6LTF9LDIzNzp7VDoxfSwyMzg6e1Q6LTF9LDIzOTp7VDox +fSwyNDA6e1Q6LTF9LDI0MTp7VDoxfSwyNDI6e1Q6LTF9LDI0Mzp7VDoxfSwyNDQ6e1Q6LTF9LDI0 +NTp7VDoxfSwyNDY6e1Q6LTF9LDI0Nzp7VDoxfSwyNDg6e1Q6LTF9LDI0OTp7VDoxfSwyNTA6e1Q6 +LTF9LDI1MTp7VDoxfSwyNTI6e1Q6LTF9LDI1Mzp7VDoxfSwyNTQ6e1Q6LTF9LDI1NTp7VDoxfSwy +NTY6e1Q6LTF9LDI1Nzp7VDoxfSwyNTg6e1Q6LTF9LDI1OTp7VDoxfSwyNjA6e1Q6LTF9LDI2MTp7 +VDoxfSwyNjI6e1Q6LTF9LDI2Mzp7VDoxfSwyNjQ6e1Q6LTF9LDI2NTp7VDoxfSwyNjY6e1Q6LTF9 +LDI2Nzp7VDoxfSwyNjg6e1Q6LTF9LDI2OTp7VDoxfSwyNzA6e1Q6LTF9LDI3MTp7VDoxfSwyNzI6 +e1Q6LTF9LDI3Mzp7VDoxfSwyNzQ6e1Q6LTF9LDI3NTp7VDoxfSwyNzY6e1Q6LTF9LDI3Nzp7fSwy +Nzg6e1Q6MX0sMjc5OntUOi0xfSwyODA6e1Q6MX0sMjgxOntUOi0xfSwyODI6e1Q6MX0sMjgzOntU +OjF9LDI4NDp7VDotMX0sMjg1OntUOjF9LDI4Njp7VDotMX0sMjg3OntUOjF9LDI4ODp7VDotMX0s +Mjg5OntUOjF9LDI5MDp7VDotMX0sMjkxOntUOjF9LDI5Mjp7VDotMX0sMjkzOntUOjF9LDI5NDp7 +VDotMX0sMjk1OntUOjF9LDI5Njp7VDotMX0sMjk3OntUOjF9LDI5ODp7VDotMX0sMjk5OntUOjF9 +LDMwMDp7VDotMX0sMzAxOntUOjF9LDMwMjp7VDotMX0sMzAzOntUOjF9LDMwNDp7VDotMX0sMzA1 +OntUOjF9LDMwNjp7VDotMX0sMzA3OntUOjF9LDMwODp7VDotMX0sMzA5OntUOjF9LDMxMDp7VDot +MX0sMzExOntUOjF9LDMxMjp7VDotMX0sMzEzOntUOi0xfSwzMTQ6e1Q6MX0sMzE1OntUOi0xfSwz +MTY6e1Q6MX0sMzE3OntUOi0xfSwzMTg6e1Q6MX0sMzE5OntUOi0xfSwzMjA6e1Q6MX0sMzIxOntU +Oi0xfSwzMjI6e1Q6MX0sMzIzOntUOi0xfSwzMjQ6e1Q6MX0sMzI1OntUOi0xfSwzMjY6e1Q6MX0s +MzI3OntUOi0xfSwzMjg6e1Q6MX0sMzI5OntUOi0xfSwzMzA6e1Q6MX0sMzMxOntUOi0xfSwzMzI6 +e1Q6MX0sMzMzOntUOi0xfSwzMzQ6e1Q6MX0sMzM1OntmOnZofSwzMzY6e1Q6LTF9LDMzNzp7Zjp3 +aCxUOjF9LDMzODp7VDotMX0sMzM5OntUOjF9LDM0MDp7VDotMX0sMzQxOntUOjF9LDM0Mjp7VDot +MX0sMzQzOntUOjF9LDM0NDp7VDotMX0sMzQ1OntUOjF9LDM0Njp7VDotMX0sMzQ3OntUOjF9LDM0 +ODp7VDotMX0sMzQ5OntUOjF9LDM1MDp7VDotMX0sMzUxOnt9LDM1Mjp7fSwzNTM6e1Q6MX0sMzU0 +OntUOi0xfSwzNTU6e2Y6U259LDM1Nzp7fSwzNTg6e30sMzU5Ont9LDM2MDp7VDoxfSwzNjE6e30s +MzYyOntmOmZsfSwzNjM6e30sMzY0Ont9LDM2Njp7fSwzNjc6e30sMzY4Ont9LDM2OTp7fSwzNzA6 +e30sMzcxOnt9LDM3Mjp7VDoxfSwzNzM6e1Q6LTF9LDM3NDp7VDoxfSwzNzU6e1Q6LTF9LDM3Njp7 +VDoxfSwzNzc6e1Q6LTF9LDM3ODp7VDoxfSwzNzk6e1Q6LTF9LDM4MDp7VDoxfSwzODE6e1Q6LTF9 +LDM4Mjp7VDoxfSwzODM6e1Q6LTF9LDM4NDp7VDoxfSwzODU6e1Q6LTF9LDM4Njp7VDoxfSwzODc6 +e1Q6LTF9LDM4ODp7VDoxfSwzODk6e1Q6LTF9LDM5MDp7VDoxfSwzOTE6e1Q6LTF9LDM5Mjp7VDox +fSwzOTM6e1Q6LTF9LDM5NDp7VDoxfSwzOTU6e1Q6LTF9LDM5Njp7fSwzOTc6e30sMzk4Ont9LDM5 +OTp7fSw0MDA6e30sNDAxOntUOjF9LDQwMzp7fSw0MDQ6e30sNDA1Ont9LDQwNjp7fSw0MDc6e30s +NDA4Ont9LDQwOTp7fSw0MTA6e30sNDExOnt9LDQxMjp7fSw0MTM6e30sNDE0Ont9LDQxNTp7fSw0 +MTY6e30sNDE3Ont9LDQxODp7fSw0MTk6e30sNDIwOnt9LDQyMTp7fSw0MjI6e1Q6MX0sNDIzOntU +OjF9LDQyNDp7VDotMX0sNDI1OntUOi0xfSw0MjY6e2Y6S3B9LDQyNzp7ZjpZcH0sNDI4Ont9LDQy +OTp7VDoxfSw0MzA6e1Q6LTF9LDQzMTp7VDoxfSw0MzI6e1Q6LTF9LDQzMzp7VDoxfSw0MzQ6e1Q6 +LTF9LDQzNTp7VDoxfSw0MzY6e1Q6LTF9LDQzNzp7VDoxfSw0Mzg6e1Q6LTF9LDQzOTp7VDoxfSw0 +NDA6e1Q6LTF9LDQ0MTp7VDoxfSw0NDI6e1Q6LTF9LDQ0Mzp7VDoxfSw0NDQ6e1Q6LTF9LDQ0NTp7 +VDoxfSw0NDY6e1Q6LTF9LDQ0Nzp7VDoxfSw0NDg6e1Q6LTF9LDQ0OTp7VDoxfSw0NTA6e1Q6LTF9 +LDQ1MTp7VDoxfSw0NTI6e1Q6LTF9LDQ1Mzp7VDoxfSw0NTQ6e1Q6LTF9LDQ1NTp7VDoxfSw0NTY6 +e1Q6LTF9LDQ1Nzp7VDoxfSw0NTg6e1Q6LTF9LDQ1OTp7VDoxfSw0NjA6e1Q6LTF9LDQ2MTp7VDox +fSw0NjI6e1Q6LTF9LDQ2Mzp7VDoxfSw0NjQ6e1Q6LTF9LDQ2NTp7VDoxfSw0NjY6e1Q6LTF9LDQ2 +Nzp7VDoxfSw0Njg6e1Q6LTF9LDQ2OTp7VDoxfSw0NzA6e1Q6LTF9LDQ3MTp7fSw0NzI6e30sNDcz +OntUOjF9LDQ3NDp7VDotMX0sNDc1Ont9LDQ3Njp7ZjpxcH0sNDc3Ont9LDQ3ODp7fSw0Nzk6e1Q6 +MX0sNDgwOntUOi0xfSw0ODE6e1Q6MX0sNDgyOntUOi0xfSw0ODM6e1Q6MX0sNDg0OntUOi0xfSw0 +ODU6e2Y6c3B9LDQ4Njp7VDoxfSw0ODc6e1Q6LTF9LDQ4ODp7VDoxfSw0ODk6e1Q6LTF9LDQ5MDp7 +VDoxfSw0OTE6e1Q6LTF9LDQ5Mjp7VDoxfSw0OTM6e1Q6LTF9LDQ5NDp7ZjpYcH0sNDk1OntUOjF9 +LDQ5Njp7VDotMX0sNDk3OntUOjF9LDQ5ODp7VDotMX0sNDk5Ont9LDUwMDp7VDoxfSw1MDE6e1Q6 +LTF9LDUwMjp7VDoxfSw1MDM6e1Q6LTF9LDUwNDp7fSw1MDU6e1Q6MX0sNTA2OntUOi0xfSw1MDc6 +e30sNTA4OntUOjF9LDUwOTp7VDotMX0sNTEwOntUOjF9LDUxMTp7VDotMX0sNTEyOnt9LDUxMzp7 +fSw1MTQ6e1Q6MX0sNTE1OntUOi0xfSw1MTY6e1Q6MX0sNTE3OntUOi0xfSw1MTg6e1Q6MX0sNTE5 +OntUOi0xfSw1MjA6e1Q6MX0sNTIxOntUOi0xfSw1MjI6e30sNTIzOnt9LDUyNDp7fSw1MjU6e30s +NTI2Ont9LDUyNzp7fSw1Mjg6e1Q6MX0sNTI5OntUOi0xfSw1MzA6e1Q6MX0sNTMxOntUOi0xfSw1 +MzI6e1Q6MX0sNTMzOntUOi0xfSw1MzQ6e30sNTM1Ont9LDUzNjp7fSw1Mzc6e30sNTM4OntUOjF9 +LDUzOTp7VDotMX0sNTQwOntUOjF9LDU0MTp7VDotMX0sNTQyOntUOjF9LDU0ODp7fSw1NDk6e30s +NTUwOntmOlNufSw1NTE6e2Y6RW59LDU1Mjp7fSw1NTM6e30sNTU0OntUOjF9LDU1NTp7VDotMX0s +NTU2OntUOjF9LDU1Nzp7VDotMX0sNTU4OntUOjF9LDU1OTp7VDotMX0sNTYwOntUOjF9LDU2MTp7 +VDotMX0sNTYyOnt9LDU2NDp7fSw1NjU6e1Q6MX0sNTY2OntUOi0xfSw1Njk6e1Q6MX0sNTcwOntU +Oi0xfSw1NzI6e30sNTczOntUOjF9LDU3NDp7VDotMX0sNTc3Ont9LDU3ODp7fSw1Nzk6e30sNTgw +Ont9LDU4MTp7fSw1ODI6e30sNTgzOnt9LDU4NDp7fSw1ODU6e30sNTg2Ont9LDU4Nzp7fSw1ODg6 +e1Q6LTF9LDU4OTp7fSw1OTA6e1Q6MX0sNTkxOntUOi0xfSw1OTI6e1Q6MX0sNTkzOntUOi0xfSw1 +OTQ6e1Q6MX0sNTk1OntUOi0xfSw1OTY6e30sNTk3OntUOjF9LDU5ODp7VDotMX0sNTk5OntUOjF9 +LDYwMDp7VDotMX0sNjAxOntUOjF9LDYwMjp7VDotMX0sNjAzOntUOjF9LDYwNDp7VDotMX0sNjA1 +OntUOjF9LDYwNjp7VDotMX0sNjA3Ont9LDYwODp7VDoxfSw2MDk6e1Q6LTF9LDYxMDp7fSw2MTE6 +e1Q6MX0sNjEyOntUOi0xfSw2MTM6e1Q6MX0sNjE0OntUOi0xfSw2MTU6e1Q6MX0sNjE2OntUOi0x +fSw2MTc6e1Q6MX0sNjE4OntUOi0xfSw2MTk6e1Q6MX0sNjIwOntUOi0xfSw2MjU6e30sNjI2OntU +OjF9LDYyNzp7VDotMX0sNjI4OntUOjF9LDYyOTp7VDotMX0sNjMwOntUOjF9LDYzMTp7VDotMX0s +NjMyOntmOlZofSw2MzM6e1Q6MX0sNjM0OntUOi0xfSw2MzU6e1Q6MSxmOnpofSw2MzY6e1Q6LTF9 +LDYzNzp7Zjptbn0sNjM4OntUOjF9LDYzOTp7fSw2NDA6e1Q6LTF9LDY0MTp7VDoxfSw2NDI6e1Q6 +LTF9LDY0Mzp7VDoxfSw2NDQ6e30sNjQ1OntUOi0xfSw2NDY6e1Q6MX0sNjQ4OntUOjF9LDY0OTp7 +fSw2NTA6e1Q6LTF9LDY1MTp7ZjpUbX0sNjUyOnt9LDY1Mzp7VDoxfSw2NTQ6e1Q6LTF9LDY1NTp7 +VDoxfSw2NTY6e1Q6LTF9LDY1Nzp7VDoxfSw2NTg6e1Q6LTF9LDY1OTp7fSw2NjA6e1Q6MX0sNjYx +Ont9LDY2Mjp7VDotMX0sNjYzOnt9LDY2NDp7VDoxfSw2NjU6e30sNjY2OntUOi0xfSw2Njc6e30s +NjY4Ont9LDY2OTp7fSw2NzE6e1Q6MX0sNjcyOntUOi0xfSw2NzM6e1Q6MX0sNjc0OntUOi0xfSw2 +NzU6e30sNjc2Ont9LDY3Nzp7fSw2Nzg6e30sNjc5Ont9LDY4MDp7fSw2ODE6e30sMTAyNDp7fSwx +MDI1Ont9LDEwMjY6e1Q6MX0sMTAyNzp7VDotMX0sMTAyODp7VDoxfSwxMDI5OntUOi0xfSwxMDMw +Ont9LDEwMzE6e1Q6MX0sMTAzMjp7VDotMX0sMTAzMzp7VDoxfSwxMDM0OntUOi0xfSwxMDM1Ont9 +LDEwMzY6e30sMTAzNzp7fSwxMDM4OntUOjF9LDEwMzk6e1Q6LTF9LDEwNDA6e30sMTA0MTp7VDox +fSwxMDQyOntUOi0xfSwxMDQzOnt9LDEwNDQ6e30sMTA0NTp7fSwxMDQ2OntUOjF9LDEwNDc6e1Q6 +LTF9LDEwNDg6e1Q6MX0sMTA0OTp7VDotMX0sMTA1MDp7fSwxMDUxOntUOjF9LDEwNTI6e1Q6MX0s +MTA1Mzp7ZjppbX0sMTA1NDp7VDoxfSwxMDU1Ont9LDEwNTY6e1Q6MX0sMTA1Nzp7VDotMX0sMTA1 +ODp7VDoxfSwxMDU5OntUOi0xfSwxMDYxOnt9LDEwNjI6e1Q6MX0sMTA2Mzp7VDotMX0sMTA2NDp7 +VDoxfSwxMDY1OntUOi0xfSwxMDY2OntUOjF9LDEwNjc6e1Q6LTF9LDEwNjg6e1Q6MX0sMTA2OTp7 +VDotMX0sMTA3MDp7VDoxfSwxMDcxOntUOi0xfSwxMDcyOntUOjF9LDEwNzM6e1Q6LTF9LDEwNzU6 +e1Q6MX0sMTA3Njp7VDotMX0sMTA3Nzp7VDoxfSwxMDc4OntUOi0xfSwxMDc5OntUOjF9LDEwODA6 +e1Q6LTF9LDEwODE6e1Q6MX0sMTA4Mjp7VDotMX0sMTA4Mzp7VDoxfSwxMDg0OntUOi0xfSwxMDg1 +Ont9LDEwODY6e1Q6MX0sMTA4Nzp7VDotMX0sMTA4ODp7VDoxfSwxMDg5OntUOi0xfSwxMDkwOntU +OjF9LDEwOTE6e1Q6LTF9LDEwOTI6e1Q6MX0sMTA5Mzp7VDotMX0sMTA5NDp7VDoxfSwxMDk1OntU +Oi0xfSwxMDk2Ont9LDEwOTc6e1Q6MX0sMTA5ODp7fSwxMDk5OntUOi0xfSwxMTAwOntUOjF9LDEx +MDE6e1Q6LTF9LDExMDI6e30sMTEwMzp7fSwxMTA0Ont9LDExMDU6e30sMTExMTp7fSwxMTEyOnt9 +LDExMTM6e1Q6MX0sMTExNDp7VDotMX0sMTExNTp7VDoxfSwxMTE2OntUOi0xfSwxMTE3Ont9LDEx +MTg6e1Q6MX0sMTExOTp7VDotMX0sMTEyMDp7VDoxfSwxMTIxOntUOi0xfSwxMTIyOntUOjF9LDEx +MjM6e1Q6LTF9LDExMjQ6e1Q6MX0sMTEyNTp7VDotMX0sMTEyNjp7fSwxMTI4OntUOjF9LDExMjk6 +e1Q6LTF9LDExMzA6e30sMTEzMTp7VDoxfSwxMTMyOntUOi0xfSwxMTMzOntUOjF9LDExMzQ6e1Q6 +LTF9LDExMzU6e1Q6MX0sMTEzNjp7VDotMX0sMTEzNzp7VDoxfSwxMTM4OntUOi0xfSwxMTM5OntU +OjF9LDExNDA6e1Q6LTF9LDExNDE6e30sMTE0Mjp7VDoxfSwxMTQzOntUOi0xfSwxMTQ0OntUOjF9 +LDExNDU6e1Q6LTF9LDExNDY6e30sMTE0Nzp7VDoxfSwxMTQ4OntUOi0xfSwxMTQ5OntUOjF9LDEx +NTA6e1Q6LTF9LDExNTI6e1Q6MX0sMTE1Mzp7VDotMX0sMTE1NDp7VDotMX0sMTE1NTp7VDotMX0s +MTE1Njp7VDotMX0sMTE1Nzp7VDoxfSwxMTU4OntUOi0xfSwxMTU5OntUOjF9LDExNjA6e1Q6LTF9 +LDExNjE6e1Q6MX0sMTE2Mjp7VDotMX0sMTE2Mzp7VDoxfSwxMTY0OntUOi0xfSwxMTY1OntUOjF9 +LDExNjY6e1Q6LTF9LDExNjc6e1Q6MX0sMTE2ODp7VDotMX0sMTE2OTp7VDoxfSwxMTcwOntUOi0x +fSwxMTcxOnt9LDExNzI6e1Q6MX0sMTE3Mzp7VDotMX0sMTE3Nzp7fSwxMTc4OntUOjF9LDExODA6 +e30sMTE4MTp7fSwxMTgyOnt9LDIwNDg6e1Q6MX0sMjA0OTp7VDotMX0sMjA1MDp7fSwyMDUxOntU +OjF9LDIwNTI6e1Q6LTF9LDIwNTM6e30sMjA1NDp7fSwyMDU1OntUOjF9LDIwNTY6e1Q6LTF9LDIw +NTc6e1Q6MX0sMjA1ODp7VDotMX0sMjA2MDp7fSwyMDY3Ont9LDIwNjg6e1Q6MX0sMjA2OTp7VDot +MX0sMjA3MDp7fSwyMDcxOnt9LDIwNzI6e1Q6MX0sMjA3Mzp7VDotMX0sMjA3NTp7fSwyMDc2Ont9 +LDIwNzc6e1Q6MX0sMjA3ODp7VDotMX0sMjA3OTp7fSwyMDgwOntUOjF9LDIwODE6e1Q6LTF9LDIw +ODI6e30sMjA4Mzp7VDoxfSwyMDg0OntUOi0xfSwyMDg1OntUOjF9LDIwODY6e1Q6LTF9LDIwODc6 +e1Q6MX0sMjA4ODp7VDotMX0sMjA4OTp7VDoxfSwyMDkwOntUOi0xfSwyMDkxOnt9LDIwOTI6e30s +MjA5Mzp7VDoxfSwyMDk0OntUOi0xfSwyMDk1Ont9LDIwOTY6e1Q6MX0sMjA5Nzp7VDotMX0sMjA5 +ODp7VDoxfSwyMDk5OntUOi0xfSwyMTAwOntUOjF9LDIxMDE6e1Q6LTF9LDIxMDI6e30sMjEwMzp7 +VDoxfSwyMTA0OntUOi0xfSwyMTA1Ont9LDIxMDY6e1Q6MX0sMjEwNzp7VDotMX0sMjEwODp7fSwy +MTA5OntUOjF9LDIxMTA6e1Q6LTF9LDIxMTE6e1Q6MX0sMjExMjp7VDotMX0sMjExMzp7VDoxfSwy +MTE0OntUOi0xfSwyMTE1Ont9LDIxMTY6e30sMjExNzp7fSwyMTE4OntUOjF9LDIxMTk6e1Q6LTF9 +LDIxMjA6e30sMjEyMTp7VDoxfSwyMTIyOntUOi0xfSwyMTIzOntUOjF9LDIxMjQ6e1Q6LTF9LDIx +MjU6e30sMjEyNjp7VDoxfSwyMTI3OntUOi0xfSwyMTI4Ont9LDIxMjk6e1Q6MX0sMjEzMDp7VDot +MX0sMjEzMTp7VDoxfSwyMTMyOntUOi0xfSwyMTMzOntUOjF9LDIxMzQ6e30sMjEzNTp7fSwyMTM2 +Ont9LDIxMzc6e1Q6MX0sMjEzODp7VDotMX0sMjEzOTp7VDoxfSwyMTQwOntUOi0xfSwyMTQxOnt9 +LDMwNzI6e30sMzA3Mzp7fSw0MDk2OntUOjF9LDQwOTc6e1Q6LTF9LDUwMDI6e1Q6MX0sNTAwMzp7 +VDotMX0sNTA4MTp7VDoxfSw1MDgyOntUOi0xfSw1MDgzOnt9LDUwODQ6e1Q6MX0sNTA4NTp7VDot +MX0sNTA4Njp7VDoxfSw1MDg3OntUOi0xfSw1MDg4Ont9LDUwODk6e30sNTA5MDp7fSw1MDkyOntU +OjF9LDUwOTM6e1Q6LTF9LDUwOTQ6e30sNTA5NTp7VDoxfSw1MDk2OntUOi0xfSw1MDk3Ont9LDUw +OTk6e30sNjU1MzU6e246IiJ9fTt2YXIgSmc9ezY6e2Y6JGR9LDEwOntmOnBzfSwxMjp7Zjprc30s +MTM6e2Y6a3N9LDE0OntmOmJzfSwxNTp7Zjpic30sMTY6e2Y6UG59LDE3OntmOmJzfSwxODp7Zjpi +c30sMTk6e2Y6a3N9LDIwOntmOmFsfSwyMTp7ZjphbH0sMjM6e2Y6Zmx9LDI0OntmOnNsfSwyNTp7 +Zjpic30sMjY6e30sMjc6e30sMjg6e2Y6dmx9LDI5Ont9LDM0OntmOmJzfSwzNTp7ZjppbH0sMzg6 +e2Y6UG59LDM5OntmOlBufSw0MDp7ZjpQbn0sNDE6e2Y6UG59LDQyOntmOmJzfSw0Mzp7Zjpic30s +NDc6e2Y6JG99LDQ5OntmOl9mfSw1MTp7Zjprc30sNjA6e30sNjE6e2Y6QWZ9LDY0OntmOmJzfSw2 +NTp7ZjpDZn0sNjY6e2Y6a3N9LDc3Ont9LDgwOnt9LDgxOnt9LDgyOnt9LDg1OntmOmtzfSw4OTp7 +fSw5MDp7fSw5MTp7fSw5Mjp7ZjpvZn0sOTM6e2Y6Ymx9LDk0Ont9LDk1OntmOmJzfSw5Njp7fSw5 +Nzp7fSw5OTp7Zjpic30sMTI1OntmOlJsfSwxMjg6e2Y6SmZ9LDEyOTp7ZjpoZn0sMTMwOntmOmtz +fSwxMzE6e2Y6YnN9LDEzMjp7Zjpic30sMTMzOntmOnVmfSwxMzQ6e30sMTQwOntmOl9sfSwxNDE6 +e2Y6a3N9LDE0NDp7fSwxNDY6e2Y6T2x9LDE1MTp7fSwxNTI6e30sMTUzOnt9LDE1NDp7fSwxNTU6 +e30sMTU2OntmOmtzfSwxNTc6e30sMTU4Ont9LDE2MDp7ZjpNbH0sMTYxOntmOkZsfSwxNzQ6e30s +MTc1Ont9LDE3Njp7fSwxNzc6e30sMTc4Ont9LDE4MDp7fSwxODE6e30sMTgyOnt9LDE4NDp7fSwx +ODU6e30sMTg5OntmOldmfSwxOTA6e2Y6emZ9LDE5Mzp7Zjpwc30sMTk3Ont9LDE5ODp7fSwxOTk6 +e30sMjAwOnt9LDIwMTp7fSwyMDI6e2Y6YnN9LDIwMzp7fSwyMDQ6e30sMjA1Ont9LDIwNjp7fSwy +MDc6e30sMjA4Ont9LDIwOTp7fSwyMTA6e30sMjExOnt9LDIxMzp7fSwyMTU6e30sMjE2Ont9LDIx +Nzp7fSwyMTg6e2Y6a3N9LDIyMDp7fSwyMjE6e2Y6YnN9LDIyMjp7fSwyMjQ6e2Y6VmZ9LDIyNTp7 +ZjpsZn0sMjI2OntmOnBzfSwyMjc6e30sMjI5OntmOm1sfSwyMzM6e30sMjM1Ont9LDIzNjp7fSwy +Mzc6e30sMjM5Ont9LDI0MDp7fSwyNDE6e30sMjQyOnt9LDI0NDp7fSwyNDU6e30sMjQ2Ont9LDI0 +Nzp7fSwyNDg6e30sMjQ5Ont9LDI1MTp7fSwyNTI6e2Y6dmZ9LDI1Mzp7Zjp4Zn0sMjU1OntmOm1m +fSwyNTY6e30sMjU5Ont9LDI5MDp7fSwzMTE6e30sMzEyOnt9LDMxNTp7fSwzMTc6e2Y6VHN9LDMx +ODp7fSwzMTk6e30sMzIwOnt9LDMzMDp7fSwzMzE6e30sMzMzOnt9LDMzNDp7fSwzMzU6e30sMzM2 +Ont9LDMzNzp7fSwzMzg6e30sMzM5Ont9LDM0MDp7fSwzNTE6e30sMzUyOntmOmJzfSwzNTM6e2Y6 +cHN9LDQwMTp7fSw0MDI6e30sNDAzOnt9LDQwNDp7fSw0MDU6e30sNDA2Ont9LDQwNzp7fSw0MDg6 +e30sNDI1Ont9LDQyNjp7fSw0Mjc6e30sNDI4Ont9LDQyOTp7fSw0MzA6e2Y6bmx9LDQzMTp7Zjpi +c30sNDMyOnt9LDQzMzp7fSw0MzQ6e30sNDM3Ont9LDQzODp7ZjpBbH0sNDM5OntmOmJzfSw0NDA6 +e2Y6VGx9LDQ0MTp7fSw0NDI6e2Y6T3N9LDQ0Mzp7fSw0NDQ6e2Y6a3N9LDQ0NTp7fSw0NDY6e30s +NDQ4OntmOnBzfSw0NDk6e2Y6d2YscjoyfSw0NTA6e2Y6cHN9LDUxMjp7ZjpNZn0sNTEzOntmOkxs +fSw1MTU6e2Y6cmx9LDUxNjp7ZjpJZn0sNTE3OntmOlFmfSw1MTk6e2Y6VWx9LDUyMDp7ZjpnZn0s +NTIzOnt9LDU0NTp7ZjpobH0sNTQ5OntmOmtmfSw1NjY6e30sNTc0OntmOnlmfSw2Mzg6e2Y6QmZ9 +LDY1OTp7fSwxMDQ4Ont9LDEwNTQ6e2Y6TmZ9LDEwODQ6e30sMTIxMjp7ZjpjbH0sMjA0ODp7ZjpF +bH0sMjA0OTp7fSwyMDUwOnt9LDIwNTE6e30sMjA1Mjp7fSwyMDUzOnt9LDIwNTQ6e30sMjA1NTp7 +fSwyMDU2Ont9LDIwNTc6e2Y6c2Z9LDIwNTg6e30sMjA1OTp7fSwyMDYwOnt9LDIwNjE6e30sMjA2 +Mjp7fSwyMDYzOnt9LDIwNjQ6e30sMjA2Njp7fSwyMDY3Ont9LDIxMjg6e30sMjEyOTp7fSwyMTMw +Ont9LDIxMzE6e30sMjEzMjp7fSwyMTMzOnt9LDIxMzQ6e30sMjEzNTp7fSwyMTM2Ont9LDIxMzc6 +e30sMjEzODp7fSwyMTQ2Ont9LDIxNDc6e3I6MTJ9LDIxNDg6e30sMjE0OTp7fSwyMTUwOnt9LDIx +NTE6e2Y6cHN9LDIxNTI6e30sMjE1NDp7fSwyMTU1Ont9LDIxNTY6e30sMjE2MTp7fSwyMTYyOnt9 +LDIxNjQ6e30sMjE2NTp7fSwyMTY2Ont9LDIxNjc6e30sMjE2ODp7fSwyMTY5Ont9LDIxNzA6e30s +MjE3MTp7fSwyMTcyOntmOklsLHI6MTJ9LDIxNzM6e2Y6dWgscjoxMn0sMjE3NDp7fSwyMTc1Ont9 +LDIxODA6e30sMjE4MTp7fSwyMTgyOnt9LDIxODM6e30sMjE4NDp7fSwyMTg1Ont9LDIxODY6e30s +MjE4Nzp7fSwyMTg4OntmOmJzLHI6MTJ9LDIxODk6e30sMjE5MDp7cjoxMn0sMjE5MTp7fSwyMTky +Ont9LDIxOTQ6e30sMjE5NTp7fSwyMTk2OntmOm9sLHI6MTJ9LDIxOTc6e30sMjE5ODp7ZjpzaCxy +OjEyfSwyMTk5Ont9LDIyMDA6e30sMjIwMTp7fSwyMjAyOntmOnVsLHI6MTJ9LDIyMDM6e2Y6cHN9 +LDIyMDQ6e30sMjIwNTp7fSwyMjA2Ont9LDIyMDc6e30sMjIxMTp7ZjpiZn0sMjIxMjp7fSwyMjEz +Ont9LDIyMTQ6e30sMjIxNTp7fSw0MDk3Ont9LDQwOTg6e30sNDA5OTp7fSw0MTAyOnt9LDQxMDM6 +e30sNDEwNTp7fSw0MTA2Ont9LDQxMDc6e30sNDEwODp7fSw0MTA5Ont9LDQxMTY6e30sNDExNzp7 +fSw0MTE4Ont9LDQxMTk6e30sNDEyMDp7fSw0MTIxOnt9LDQxMjI6e30sNDEyMzp7fSw0MTI0Ont9 +LDQxMjU6e30sNDEyNjp7fSw0MTI3Ont9LDQxMjg6e30sNDEyOTp7fSw0MTMwOnt9LDQxMzI6e30s +NDEzMzp7fSw0MTM0OntmOmtzfSw0MTM1Ont9LDQxNDY6e30sNDE0Nzp7fSw0MTQ4Ont9LDQxNDk6 +e30sNDE1NDp7fSw0MTU2Ont9LDQxNTc6e30sNDE1ODp7fSw0MTU5Ont9LDQxNjA6e30sNDE2MTp7 +fSw0MTYzOnt9LDQxNjQ6e2Y6RGx9LDQxNjU6e30sNDE2Njp7fSw0MTY4Ont9LDQxNzA6e30sNDE3 +MTp7fSw0MTc0Ont9LDQxNzU6e30sNDE3Njp7fSw0MTc3Ont9LDQxODc6e30sNDE4ODp7Zjp4bH0s +NDE4OTp7fSw0MTkxOnt9LDQxOTI6e30sNDE5Mzp7fSw0MTk0Ont9LDQxOTU6e30sNDE5Njp7fSw0 +MTk3Ont9LDQxOTg6e30sNDE5OTp7fSw0MjAwOnt9LDA6e2Y6TWZ9LDE6e30sMjp7ZjokbH0sMzp7 +ZjpIbH0sNDp7Zjp6bH0sNTp7ZjpqbH0sNzp7ZjpHbH0sODp7fSw5OntmOnNmfSwxMTp7fSwyMjp7 +Zjprc30sMzA6e2Y6RGZ9LDMxOnt9LDMyOnt9LDMzOntmOmhsfSwzNjp7fSwzNzp7ZjprZn0sNTA6 +e2Y6S2x9LDYyOnt9LDUyOnt9LDY3OntmOlhmfSw2ODp7Zjprc30sNjk6e30sODY6e30sMTI2Ont9 +LDEyNzp7ZjpCbH0sMTM1Ont9LDEzNjp7fSwxMzc6e30sMTQzOntmOlpsfSwxNDU6e30sMTQ4Ont9 +LDE0OTp7fSwxNTA6e30sMTY5Ont9LDE3MTp7fSwxODg6e30sMTkxOnt9LDE5Mjp7fSwxOTQ6e30s +MTk1Ont9LDIxNDp7ZjpZbH0sMjIzOnt9LDIzNDp7fSwzNTQ6e30sNDIxOnt9LDUxODp7ZjokZH0s +NTIxOntmOnNmfSw1MzY6e2Y6c2x9LDU0Nzp7ZjppbH0sNTYxOnt9LDU3OTp7ZjpZZn0sMTAzMDp7 +ZjokZH0sMTAzMzp7ZjpzZn0sMTA5MTp7ZjpaZn0sMjE1Nzp7fSwyMTYzOnt9LDIxNzc6e30sMjI0 +MDp7fSwyMjQxOnt9LDIyNDI6e30sMjI0Mzp7fSwyMjQ0Ont9LDIyNDU6e30sMjI0Njp7fSwyMjQ3 +Ont9LDIyNDg6e30sMjI0OTp7fSwyMjUwOnt9LDIyNTE6e30sMjI2Mjp7cjoxMn0sMTAxOnt9LDEw +Mjp7fSwxMDU6e30sMTA2Ont9LDEwNzp7fSwxMDk6e30sMTEyOnt9LDExNDp7fSwyOTI4Mjp7fX07 +ZnVuY3Rpb24gcWcoZSxyLHQsYSl7dmFyIG49cjtpZihpc05hTihuKSlyZXR1cm47dmFyIGk9YXx8 +KHR8fFtdKS5sZW5ndGh8fDA7dmFyIHM9ZS5uZXh0KDQpO3MuX1coMixuKTtzLl9XKDIsaSk7aWYo +aT4wJiZwYSh0KSllLnB1c2godCl9ZnVuY3Rpb24gUWcoZSxyLHQsYSl7dmFyIG49YXx8KHR8fFtd +KS5sZW5ndGh8fDA7aWYobjw9ODIyNClyZXR1cm4gcWcoZSxyLHQsbik7dmFyIGk9cjtpZihpc05h +TihpKSlyZXR1cm47dmFyIHM9dC5wYXJ0c3x8W10sZj0wO3ZhciBsPTAsbz0wO3doaWxlKG8rKHNb +Zl18fDgyMjQpPD04MjI0KXtvKz1zW2ZdfHw4MjI0O2YrK312YXIgYz1lLm5leHQoNCk7Yy5fVygy +LGkpO2MuX1coMixvKTtlLnB1c2godC5zbGljZShsLGwrbykpO2wrPW87d2hpbGUobDxuKXtjPWUu +bmV4dCg0KTtjLl9XKDIsNjApO289MDt3aGlsZShvKyhzW2ZdfHw4MjI0KTw9ODIyNCl7bys9c1tm +XXx8ODIyNDtmKyt9Yy5fVygyLG8pO2UucHVzaCh0LnNsaWNlKGwsbCtvKSk7bCs9b319ZnVuY3Rp +b24gZWIoZSxyLHQsYSl7dmFyIG49UmEoOSk7V2wobixlLHIpO0VzKHQsYXx8ImIiLG4pO3JldHVy +biBufWZ1bmN0aW9uIHJiKGUscix0KXt2YXIgYT1SYSg4KzIqdC5sZW5ndGgpO1dsKGEsZSxyKTth +Ll9XKDEsdC5sZW5ndGgpO2EuX1codC5sZW5ndGgsdCwic2JjcyIpO3JldHVybiBhLmw8YS5sZW5n +dGg/YS5zbGljZSgwLGEubCk6YX1mdW5jdGlvbiB0YihlLHIpe3IuZm9yRWFjaChmdW5jdGlvbihy +KXt2YXIgdD1yWzBdLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS50fSkuam9pbigiIik7aWYodC5s +ZW5ndGg8PTIwNDgpcmV0dXJuIHFnKGUsMjgscGwodCxyWzFdLHJbMl0pKTtxZyhlLDI4LHBsKHQu +c2xpY2UoMCwyMDQ4KSxyWzFdLHJbMl0sdC5sZW5ndGgpKTtmb3IodmFyIGE9MjA0ODthPHQubGVu +Z3RoO2ErPTIwNDgpcWcoZSwyOCxwbCh0LnNsaWNlKGEsTWF0aC5taW4oYSsyMDQ4LHQubGVuZ3Ro +KSksLTEsLTEsTWF0aC5taW4oMjA0OCx0Lmxlbmd0aC1hKSkpfSl9ZnVuY3Rpb24gYWIoZSxyLHQs +YSxuLGkpe3ZhciBzPTA7aWYoci56IT1udWxsKXtzPW4uX0JJRkYyRm10VGFibGUuaW5kZXhPZihy +LnopO2lmKHM9PS0xKXtuLl9CSUZGMkZtdFRhYmxlLnB1c2goci56KTtzPW4uX0JJRkYyRm10VGFi +bGUubGVuZ3RoLTF9fXZhciBmPTA7aWYoci56IT1udWxsKXtmb3IoO2Y8bi5jZWxsWGZzLmxlbmd0 +aDsrK2YpaWYobi5jZWxsWGZzW2ZdLm51bUZtdElkPT1zKWJyZWFrO2lmKGY9PW4uY2VsbFhmcy5s +ZW5ndGgpbi5jZWxsWGZzLnB1c2goe251bUZtdElkOnN9KX1pZihyLnYhPW51bGwpc3dpdGNoKHIu +dCl7Y2FzZSJkIjo7Y2FzZSJuIjp2YXIgbD1yLnQ9PSJkIj9kcih3cihyLnYsaSksaSk6ci52O2lm +KG4uYmlmZj09MiYmbD09KGx8MCkmJmw+PTAmJmw8NjU1MzYpcWcoZSwyLFhsKHQsYSxsLGYscykp +O2Vsc2UgaWYoaXNOYU4obCkpcWcoZSw1LGViKHQsYSwzNiwiZSIpKTtlbHNlIGlmKCFpc0Zpbml0 +ZShsKSlxZyhlLDUsZWIodCxhLDcsImUiKSk7ZWxzZSBxZyhlLDMsVmwodCxhLGwsZixzKSk7cmV0 +dXJuO2Nhc2UiYiI6O2Nhc2UiZSI6cWcoZSw1LGViKHQsYSxyLnYsci50KSk7cmV0dXJuO2Nhc2Ui +cyI6O2Nhc2Uic3RyIjpxZyhlLDQscmIodCxhLHIudj09bnVsbD8iIjpTdHJpbmcoci52KS5zbGlj +ZSgwLDI1NSkpKTtyZXR1cm47fXFnKGUsMSxXbChudWxsLHQsYSkpfWZ1bmN0aW9uIG5iKGUscix0 +LGEsbil7dmFyIGk9clsiIWRhdGEiXSE9bnVsbDt2YXIgcz1lbihyWyIhcmVmIl18fCJBMSIpLGY9 +IiIsbD1bXTtpZihzLmUuYz4yNTV8fHMuZS5yPjE2MzgzKXtpZihhLldURil0aHJvdyBuZXcgRXJy +b3IoIlJhbmdlICIrKHJbIiFyZWYiXXx8IkExIikrIiBleGNlZWRzIGZvcm1hdCBsaW1pdCBBMTpJ +VjE2Mzg0Iik7cy5lLmM9TWF0aC5taW4ocy5lLmMsMjU1KTtzLmUucj1NYXRoLm1pbihzLmUuciwx +NjM4Myl9dmFyIG89KCgobnx8e30pLldvcmtib29rfHx7fSkuV0JQcm9wc3x8e30pLmRhdGUxOTA0 +O3ZhciBjPVtdLGg9W107Zm9yKHZhciB1PXMucy5jO3U8PXMuZS5jOysrdSlsW3VdPSRhKHUpO2Zv +cih2YXIgZD1zLnMucjtkPD1zLmUucjsrK2Qpe2lmKGkpYz1yWyIhZGF0YSJdW2RdfHxbXTtmPVdh +KGQpO2Zvcih1PXMucy5jO3U8PXMuZS5jOysrdSl7dmFyIHY9aT9jW3VdOnJbbFt1XStmXTtpZigh +diljb250aW51ZTthYihlLHYsZCx1LGEsbyk7aWYodi5jKWgucHVzaChbdi5jLGQsdV0pfX10Yihl +LGgpfWZ1bmN0aW9uIGliKGUscil7dmFyIHQ9cnx8e307dmFyIGE9RmEoKTt2YXIgbj0wO2Zvcih2 +YXIgaT0wO2k8ZS5TaGVldE5hbWVzLmxlbmd0aDsrK2kpaWYoZS5TaGVldE5hbWVzW2ldPT10LnNo +ZWV0KW49aTtpZihuPT0wJiYhIXQuc2hlZXQmJmUuU2hlZXROYW1lc1swXSE9dC5zaGVldCl0aHJv +dyBuZXcgRXJyb3IoIlNoZWV0IG5vdCBmb3VuZDogIit0LnNoZWV0KTtxZyhhLHQuYmlmZj09ND8x +MDMzOnQuYmlmZj09Mz81MjE6OSxmZihlLDE2LHQpKTtpZigoKGUuV29ya2Jvb2t8fHt9KS5XQlBy +b3BzfHx7fSkuZGF0ZTE5MDQpcWcoYSwzNCx3cyh0cnVlKSk7dC5jZWxsWGZzPVt7bnVtRm10SWQ6 +MH1dO3QuX0JJRkYyRm10VGFibGU9WyJHZW5lcmFsIl07dC5fRm9udHM9W107dmFyIHM9RmEoKTtu +YihzLGUuU2hlZXRzW2UuU2hlZXROYW1lc1tuXV0sbix0LGUpO3QuX0JJRkYyRm10VGFibGUuZm9y +RWFjaChmdW5jdGlvbihlKXtpZih0LmJpZmY8PTMpcWcoYSwzMCxQZihlKSk7ZWxzZSBxZyhhLDEw +NTQsTGYoZSkpfSk7dC5jZWxsWGZzLmZvckVhY2goZnVuY3Rpb24oZSl7c3dpdGNoKHQuYmlmZil7 +Y2FzZSAyOnFnKGEsNjcsR2YoZSkpO2JyZWFrO2Nhc2UgMzpxZyhhLDU3OSxqZihlKSk7YnJlYWs7 +Y2FzZSA0OnFnKGEsMTA5MSxLZihlKSk7YnJlYWs7fX0pO2RlbGV0ZSB0Ll9CSUZGMkZtdFRhYmxl +O2RlbGV0ZSB0LmNlbGxYZnM7ZGVsZXRlIHQuX0ZvbnRzO2EucHVzaChzLmVuZCgpKTtxZyhhLDEw +KTtyZXR1cm4gYS5lbmQoKX12YXIgc2I9MSxmYj1bXTtmdW5jdGlvbiBsYigpe3ZhciBlPVJhKDgy +KzgqZmIubGVuZ3RoKTtlLl9XKDIsMTUpO2UuX1coMiw2MTQ0MCk7ZS5fVyg0LDc0KzgqZmIubGVu +Z3RoKTt7ZS5fVygyLDApO2UuX1coMiw2MTQ0Nik7ZS5fVyg0LDE2KzgqZmIubGVuZ3RoKTt7ZS5f +Vyg0LHNiKTtlLl9XKDQsZmIubGVuZ3RoKzEpO3ZhciByPTA7Zm9yKHZhciB0PTA7dDxmYi5sZW5n +dGg7Kyt0KXIrPWZiW3RdJiZmYlt0XVsxXXx8MDtlLl9XKDQscik7ZS5fVyg0LGZiLmxlbmd0aCl9 +ZmIuZm9yRWFjaChmdW5jdGlvbihyKXtlLl9XKDQsclswXSk7ZS5fVyg0LHJbMl0pfSl9e2UuX1co +Miw1MSk7ZS5fVygyLDYxNDUxKTtlLl9XKDQsMTgpO2UuX1coMiwxOTEpO2UuX1coNCw1MjQyOTYp +O2UuX1coMiwzODUpO2UuX1coNCwxMzQyMTc3OTMpO2UuX1coMiw0NDgpO2UuX1coNCwxMzQyMTc3 +OTIpfXtlLl9XKDIsNjQpO2UuX1coMiw2MTcyNik7ZS5fVyg0LDE2KTtlLl9XKDQsMTM0MjE3NzQx +KTtlLl9XKDQsMTM0MjE3NzQwKTtlLl9XKDQsMTM0MjE3NzUxKTtlLl9XKDQsMjY4NDM1NzAzKX1y +ZXR1cm4gZX1mdW5jdGlvbiBvYihlLHIpe3ZhciB0PVtdLGE9MCxuPUZhKCksaT1zYjt2YXIgczty +LmZvckVhY2goZnVuY3Rpb24oZSxyKXt2YXIgaT0iIjt2YXIgZj1lWzBdLm1hcChmdW5jdGlvbihl +KXtpZihlLmEmJiFpKWk9ZS5hO3JldHVybiBlLnR9KS5qb2luKCIiKTsrK3NiO3t2YXIgbD1SYSgx +NTApO2wuX1coMiwxNSk7bC5fVygyLDYxNDQ0KTtsLl9XKDQsMTUwKTt7bC5fVygyLDMyMzQpO2wu +X1coMiw2MTQ1MCk7bC5fVyg0LDgpO2wuX1coNCxzYik7bC5fVyg0LDI1NjApfXtsLl9XKDIsMjI3 +KTtsLl9XKDIsNjE0NTEpO2wuX1coNCw4NCk7bC5fVygyLDEyOCk7bC5fVyg0LDApO2wuX1coMiwx +MzkpO2wuX1coNCwyKTtsLl9XKDIsMTkxKTtsLl9XKDQsNTI0Mjk2KTtsLl9XKDIsMzQ0KTtsLmwr +PTQ7bC5fVygyLDM4NSk7bC5fVyg0LDEzNDIxNzgwOCk7bC5fVygyLDM4Nyk7bC5fVyg0LDEzNDIx +NzgwOCk7bC5fVygyLDM4OSk7bC5fVyg0LDI2ODQzNTcwMCk7bC5fVygyLDQ0Nyk7bC5fVyg0LDEw +NDg1OTIpO2wuX1coMiw0NDgpO2wuX1coNCwxMzQyMTc4MDkpO2wuX1coMiw0NTEpO2wuX1coNCwy +Njg0MzU3MDApO2wuX1coMiw1MTMpO2wuX1coNCwxMzQyMTc4MDkpO2wuX1coMiw1MTUpO2wuX1co +NCwyNjg0MzU3MDApO2wuX1coMiw1NzUpO2wuX1coNCwxOTY2MDkpO2wuX1coMiw5NTkpO2wuX1co +NCwxMzEwNzJ8KGVbMF0uaGlkZGVuPzI6MCkpfXtsLmwrPTI7bC5fVygyLDYxNDU2KTtsLl9XKDQs +MTgpO2wuX1coMiwzKTtsLl9XKDIsZVsyXSsyKTtsLmwrPTI7bC5fVygyLGVbMV0rMSk7bC5sKz0y +O2wuX1coMixlWzJdKzQpO2wubCs9MjtsLl9XKDIsZVsxXSs1KTtsLmwrPTJ9e2wubCs9MjtsLl9X +KDIsNjE0NTcpO2wubCs9NH1sLmw9MTUwO2lmKHI9PTApcz1sO2Vsc2UgcWcobiwyMzYsbCl9YSs9 +MTUwO3t2YXIgbz1SYSg1Mik7by5fVygyLDIxKTtvLl9XKDIsMTgpO28uX1coMiwyNSk7by5fVygy +LHNiKTtvLl9XKDIsMCk7by5sPTIyO28uX1coMiwxMyk7by5fVygyLDIyKTtvLl9XKDQsMTY1MTY2 +MzQ3NCk7by5fVyg0LDI1MDM0MjY4MjEpO28uX1coNCwyMTUwNjM0MjgwKTtvLl9XKDQsMTc2ODUx +NTg0NCtzYioyNTYpO28uX1coMiwwKTtvLl9XKDQsMCk7by5sKz00O3FnKG4sOTMsbyl9e3ZhciBj +PVJhKDgpO2MubCs9MjtjLl9XKDIsNjE0NTMpO2MubCs9NDtxZyhuLDIzNixjKX1hKz04O3t2YXIg +aD1SYSgxOCk7aC5fVygyLDE4KTtoLmwrPTg7aC5fVygyLGYubGVuZ3RoKTtoLl9XKDIsMTYpO2gu +bCs9NDtxZyhuLDQzOCxoKTt7dmFyIHU9UmEoMStmLmxlbmd0aCk7dS5fVygxLDApO3UuX1coZi5s +ZW5ndGgsZiwic2JjcyIpO3FnKG4sNjAsdSl9e3ZhciBkPVJhKDE2KTtkLmwrPTg7ZC5fVygyLGYu +bGVuZ3RoKTtkLmwrPTY7cWcobiw2MCxkKX19e3ZhciB2PVJhKDEyK2kubGVuZ3RoKTt2Ll9XKDIs +ZVsxXSk7di5fVygyLGVbMl0pO3YuX1coMiwwfChlWzBdLmhpZGRlbj8wOjIpKTt2Ll9XKDIsc2Ip +O3YuX1coMixpLmxlbmd0aCk7di5fVygxLDApO3YuX1coaS5sZW5ndGgsaSwic2JjcyIpO3YubCsr +O3QucHVzaCh2KX19KTt7dmFyIGY9UmEoODApO2YuX1coMiwxNSk7Zi5fVygyLDYxNDQyKTtmLl9X +KDQsYStmLmxlbmd0aC04KTt7Zi5fVygyLDE2KTtmLl9XKDIsNjE0NDgpO2YuX1coNCw4KTtmLl9X +KDQsci5sZW5ndGgrMSk7Zi5fVyg0LHNiKX17Zi5fVygyLDE1KTtmLl9XKDIsNjE0NDMpO2YuX1co +NCxhKzQ4KTt7Zi5fVygyLDE1KTtmLl9XKDIsNjE0NDQpO2YuX1coNCw0MCk7e2YuX1coMiwxKTtm +Ll9XKDIsNjE0NDkpO2YuX1coNCwxNik7Zi5sKz0xNn17Zi5fVygyLDIpO2YuX1coMiw2MTQ1MCk7 +Zi5fVyg0LDgpO2YuX1coNCxpKTtmLl9XKDQsNSl9fX1xZyhlLDIzNixzP1AoW2Ysc10pOmYpfWUu +cHVzaChuLmVuZCgpKTt0LmZvckVhY2goZnVuY3Rpb24ocil7cWcoZSwyOCxyKX0pO2ZiLnB1c2go +W2ksci5sZW5ndGgrMSxzYl0pOysrc2J9ZnVuY3Rpb24gY2IoZSxyLHQpe3FnKGUsNDksU2Yoe3N6 +OjEyLGNvbG9yOnt0aGVtZToxfSxuYW1lOiJBcmlhbCIsZmFtaWx5OjIsc2NoZW1lOiJtaW5vciJ9 +LHQpKX1mdW5jdGlvbiBoYihlLHIsdCl7aWYoIXIpcmV0dXJuO1tbNSw4XSxbMjMsMjZdLFs0MSw0 +NF0sWzUwLDM5Ml1dLmZvckVhY2goZnVuY3Rpb24oYSl7Zm9yKHZhciBuPWFbMF07bjw9YVsxXTsr +K24paWYocltuXSE9bnVsbClxZyhlLDEwNTQsRmYobixyW25dLHQpKX0pfWZ1bmN0aW9uIHViKGUs +cil7dmFyIHQ9UmEoMTkpO3QuX1coNCwyMTUxKTt0Ll9XKDQsMCk7dC5fVyg0LDApO3QuX1coMiwz +KTt0Ll9XKDEsMSk7dC5fVyg0LDApO3FnKGUsMjE1MSx0KTt0PVJhKDM5KTt0Ll9XKDQsMjE1Mik7 +dC5fVyg0LDApO3QuX1coNCwwKTt0Ll9XKDIsMyk7dC5fVygxLDApO3QuX1coNCwwKTt0Ll9XKDIs +MSk7dC5fVyg0LDQpO3QuX1coMiwwKTtacyhlbihyWyIhcmVmIl18fCJBMSIpLHQpO3QuX1coNCw0 +KTtxZyhlLDIxNTIsdCl9ZnVuY3Rpb24gZGIoZSxyKXtmb3IodmFyIHQ9MDt0PDE2OysrdClxZyhl +LDIyNCwkZih7bnVtRm10SWQ6MCxzdHlsZTp0cnVlfSwwLHIpKTtyLmNlbGxYZnMuZm9yRWFjaChm +dW5jdGlvbih0KXtxZyhlLDIyNCwkZih0LDAscikpfSl9ZnVuY3Rpb24gdmIoZSxyKXtmb3IodmFy +IHQ9MDt0PHJbIiFsaW5rcyJdLmxlbmd0aDsrK3Qpe3ZhciBhPXJbIiFsaW5rcyJdW3RdO3FnKGUs +NDQwLHlsKGEpKTtpZihhWzFdLlRvb2x0aXApcWcoZSwyMDQ4LENsKGEpKX1kZWxldGUgclsiIWxp +bmtzIl19ZnVuY3Rpb24gcGIoZSxyKXtpZighcilyZXR1cm47dmFyIHQ9MDtyLmZvckVhY2goZnVu +Y3Rpb24ocixhKXtpZigrK3Q8PTI1NiYmcil7cWcoZSwxMjUsTmwoa3YoYSxyKSxhKSl9fSl9ZnVu +Y3Rpb24gbWIoZSxyLHQsYSxuLGkpe3ZhciBzPTE2K1R2KG4uY2VsbFhmcyxyLG4pO2lmKHIudj09 +bnVsbCYmIXIuYmYpe3FnKGUsNTEzLFZzKHQsYSxzKSk7cmV0dXJufWlmKHIuYmYpcWcoZSw2LFhk +KHIsdCxhLG4scykpO2Vsc2Ugc3dpdGNoKHIudCl7Y2FzZSJkIjo7Y2FzZSJuIjp2YXIgZj1yLnQ9 +PSJkIj9kcih3cihyLnYsaSksaSk6ci52O2lmKGlzTmFOKGYpKXFnKGUsNTE3LGVsKHQsYSwzNixz +LG4sImUiKSk7ZWxzZSBpZighaXNGaW5pdGUoZikpcWcoZSw1MTcsZWwodCxhLDcscyxuLCJlIikp +O2Vsc2UgcWcoZSw1MTUsdGwodCxhLGYscyxuKSk7YnJlYWs7Y2FzZSJiIjo7Y2FzZSJlIjpxZyhl +LDUxNyxlbCh0LGEsci52LHMsbixyLnQpKTticmVhaztjYXNlInMiOjtjYXNlInN0ciI6aWYobi5i +b29rU1NUKXt2YXIgbD13dihuLlN0cmluZ3Msci52PT1udWxsPyIiOlN0cmluZyhyLnYpLG4ucmV2 +U3RyaW5ncyk7cWcoZSwyNTMsT2YodCxhLGwscyxuKSl9ZWxzZSBxZyhlLDUxNixSZih0LGEsKHIu +dj09bnVsbD8iIjpTdHJpbmcoci52KSkuc2xpY2UoMCwyNTUpLHMsbikpO2JyZWFrO2RlZmF1bHQ6 +cWcoZSw1MTMsVnModCxhLHMpKTt9fWZ1bmN0aW9uIGdiKGUscix0KXt2YXIgYT1GYSgpO3ZhciBu +PXQuU2hlZXROYW1lc1tlXSxpPXQuU2hlZXRzW25dfHx7fTt2YXIgcz0odHx8e30pLldvcmtib29r +fHx7fTt2YXIgZj0ocy5TaGVldHN8fFtdKVtlXXx8e307dmFyIGw9aVsiIWRhdGEiXSE9bnVsbDt2 +YXIgbz1yLmJpZmY9PTg7dmFyIGMsaD0iIix1PVtdO3ZhciBkPWVuKGlbIiFyZWYiXXx8IkExIik7 +dmFyIHY9bz82NTUzNjoxNjM4NDtpZihkLmUuYz4yNTV8fGQuZS5yPj12KXtpZihyLldURil0aHJv +dyBuZXcgRXJyb3IoIlJhbmdlICIrKGlbIiFyZWYiXXx8IkExIikrIiBleGNlZWRzIGZvcm1hdCBs +aW1pdCBBMTpJViIrdik7ZC5lLmM9TWF0aC5taW4oZC5lLmMsMjU1KTtkLmUucj1NYXRoLm1pbihk +LmUucix2LTEpfXFnKGEsMjA1NyxmZih0LDE2LHIpKTtxZyhhLDEzLEFzKDEpKTtxZyhhLDEyLEFz +KDEwMCkpO3FnKGEsMTUsd3ModHJ1ZSkpO3FnKGEsMTcsd3MoZmFsc2UpKTtxZyhhLDE2LExuKC4w +MDEpKTtxZyhhLDk1LHdzKHRydWUpKTtxZyhhLDQyLHdzKGZhbHNlKSk7cWcoYSw0Myx3cyhmYWxz +ZSkpO3FnKGEsMTMwLEFzKDEpKTtxZyhhLDEyOCxxZihbMCwwXSkpO3FnKGEsMTMxLHdzKGZhbHNl +KSk7cWcoYSwxMzIsd3MoZmFsc2UpKTtpZihvKXBiKGEsaVsiIWNvbHMiXSk7cWcoYSw1MTIsVWYo +ZCxyKSk7dmFyIHA9KCgodHx8e30pLldvcmtib29rfHx7fSkuV0JQcm9wc3x8e30pLmRhdGUxOTA0 +O2lmKG8paVsiIWxpbmtzIl09W107Zm9yKHZhciBtPWQucy5jO208PWQuZS5jOysrbSl1W21dPSRh +KG0pO3ZhciBnPVtdO3ZhciBiPVtdO2Zvcih2YXIgdz1kLnMucjt3PD1kLmUucjsrK3cpe2lmKGwp +Yj1pWyIhZGF0YSJdW3ddfHxbXTtoPVdhKHcpO2ZvcihtPWQucy5jO208PWQuZS5jOysrbSl7dmFy +IGs9bD9iW21dOmlbdVttXStoXTtpZighayljb250aW51ZTttYihhLGssdyxtLHIscCk7aWYobyYm +ay5sKWlbIiFsaW5rcyJdLnB1c2goW3VbbV0raCxrLmxdKTtpZihrLmMpZy5wdXNoKFtrLmMsdyxt +XSl9fXZhciBBPWYuQ29kZU5hbWV8fGYubmFtZXx8bjtpZihvKW9iKGEsZyk7ZWxzZSB0YihhLGcp +O2lmKG8pcWcoYSw1NzQsRWYoKHMuVmlld3N8fFtdKVswXSkpO2lmKG8mJihpWyIhbWVyZ2VzIl18 +fFtdKS5sZW5ndGgpcWcoYSwyMjksZ2woaVsiIW1lcmdlcyJdKSk7aWYobyl2YihhLGkpO3FnKGEs +NDQyLFJzKEEscikpO2lmKG8pdWIoYSxpKTtxZyhhLDEwKTtyZXR1cm4gYS5lbmQoKX1mdW5jdGlv +biBiYihlLHIsdCl7dmFyIGE9RmEoKTt2YXIgbj0oZXx8e30pLldvcmtib29rfHx7fTt2YXIgaT1u +LlNoZWV0c3x8W107dmFyIHM9bi5XQlByb3BzfHx7fTt2YXIgZj10LmJpZmY9PTgsbD10LmJpZmY9 +PTU7cWcoYSwyMDU3LGZmKGUsNSx0KSk7aWYodC5ib29rVHlwZT09InhsYSIpcWcoYSwxMzUpO3Fn +KGEsMjI1LGY/QXMoMTIwMCk6bnVsbCk7cWcoYSwxOTMsbXMoMikpO2lmKGwpcWcoYSwxOTEpO2lm +KGwpcWcoYSwxOTIpO3FnKGEsMjI2KTtxZyhhLDkyLGNmKCJTaGVldEpTIix0KSk7cWcoYSw2NixB +cyhmPzEyMDA6MTI1MikpO2lmKGYpcWcoYSwzNTMsQXMoMCkpO2lmKGYpcWcoYSw0NDgpO3FnKGEs +MzE3LFBsKGUuU2hlZXROYW1lcy5sZW5ndGgpKTtpZihmJiZlLnZiYXJhdylxZyhhLDIxMSk7aWYo +ZiYmZS52YmFyYXcpe3ZhciBvPXMuQ29kZU5hbWV8fCJUaGlzV29ya2Jvb2siO3FnKGEsNDQyLFJz +KG8sdCkpfXFnKGEsMTU2LEFzKDE3KSk7cWcoYSwyNSx3cyhmYWxzZSkpO3FnKGEsMTgsd3MoZmFs +c2UpKTtxZyhhLDE5LEFzKDApKTtpZihmKXFnKGEsNDMxLHdzKGZhbHNlKSk7aWYoZilxZyhhLDQ0 +NCxBcygwKSk7cWcoYSw2MSxUZih0KSk7cWcoYSw2NCx3cyhmYWxzZSkpO3FnKGEsMTQxLEFzKDAp +KTtxZyhhLDM0LHdzKFJtKGUpPT0idHJ1ZSIpKTtxZyhhLDE0LHdzKHRydWUpKTtpZihmKXFnKGEs +NDM5LHdzKGZhbHNlKSk7cWcoYSwyMTgsQXMoMCkpO2NiKGEsZSx0KTtoYihhLGUuU1NGLHQpO2Ri +KGEsdCk7aWYoZilxZyhhLDM1Mix3cyhmYWxzZSkpO3ZhciBjPWEuZW5kKCk7dmFyIGg9RmEoKTtp +ZihmKXFnKGgsMTQwLFNsKCkpO2lmKGYmJmZiLmxlbmd0aClxZyhoLDIzNSxsYigpKTtpZihmJiZ0 +LlN0cmluZ3MpUWcoaCwyNTIscGYodC5TdHJpbmdzLHQpKTtxZyhoLDEwKTt2YXIgdT1oLmVuZCgp +O3ZhciBkPUZhKCk7dmFyIHY9MCxwPTA7Zm9yKHA9MDtwPGUuU2hlZXROYW1lcy5sZW5ndGg7Kytw +KXYrPShmPzEyOjExKSsoZj8yOjEpKmUuU2hlZXROYW1lc1twXS5sZW5ndGg7dmFyIG09Yy5sZW5n +dGgrdit1Lmxlbmd0aDtmb3IocD0wO3A8ZS5TaGVldE5hbWVzLmxlbmd0aDsrK3Ape3ZhciBnPWlb +cF18fHt9O3FnKGQsMTMzLGRmKHtwb3M6bSxoczpnLkhpZGRlbnx8MCxkdDowLG5hbWU6ZS5TaGVl +dE5hbWVzW3BdfSx0KSk7bSs9cltwXS5sZW5ndGh9dmFyIGI9ZC5lbmQoKTtpZih2IT1iLmxlbmd0 +aCl0aHJvdyBuZXcgRXJyb3IoIkJTOCAiK3YrIiAhPSAiK2IubGVuZ3RoKTt2YXIgdz1bXTtpZihj +Lmxlbmd0aCl3LnB1c2goYyk7aWYoYi5sZW5ndGgpdy5wdXNoKGIpO2lmKHUubGVuZ3RoKXcucHVz +aCh1KTtyZXR1cm4gUCh3KX1mdW5jdGlvbiB3YihlLHIpe3ZhciB0PXJ8fHt9O3ZhciBhPVtdO2lm +KGUmJiFlLlNTRil7ZS5TU0Y9QXIocSl9aWYoZSYmZS5TU0YpeyRlKCk7VmUoZS5TU0YpO3QucmV2 +c3NmPWxyKGUuU1NGKTt0LnJldnNzZltlLlNTRls2NTUzNV1dPTA7dC5zc2Y9ZS5TU0Z9c2I9MTtm +Yj1bXTt0LlN0cmluZ3M9W107dC5TdHJpbmdzLkNvdW50PTA7dC5TdHJpbmdzLlVuaXF1ZT0wO3F3 +KHQpO3QuY2VsbFhmcz1bXTtUdih0LmNlbGxYZnMse30se3JldnNzZjp7R2VuZXJhbDowfX0pO2lm +KCFlLlByb3BzKWUuUHJvcHM9e307Zm9yKHZhciBuPTA7bjxlLlNoZWV0TmFtZXMubGVuZ3RoOysr +bilhW2EubGVuZ3RoXT1nYihuLHQsZSk7YS51bnNoaWZ0KGJiKGUsYSx0KSk7cmV0dXJuIFAoYSl9 +ZnVuY3Rpb24ga2IoZSxyKXtmb3IodmFyIHQ9MDt0PD1lLlNoZWV0TmFtZXMubGVuZ3RoOysrdCl7 +dmFyIGE9ZS5TaGVldHNbZS5TaGVldE5hbWVzW3RdXTtpZighYXx8IWFbIiFyZWYiXSljb250aW51 +ZTt2YXIgbj1aYShhWyIhcmVmIl0pO2lmKG4uZS5jPjI1NSl7aWYodHlwZW9mIGNvbnNvbGUhPSJ1 +bmRlZmluZWQiJiZjb25zb2xlLmVycm9yKWNvbnNvbGUuZXJyb3IoIldvcmtzaGVldCAnIitlLlNo +ZWV0TmFtZXNbdF0rIicgZXh0ZW5kcyBiZXlvbmQgY29sdW1uIElWICgyNTUpLiAgRGF0YSBtYXkg +YmUgbG9zdC4iKX1pZihuLmUucj42NTUzNSl7aWYodHlwZW9mIGNvbnNvbGUhPSJ1bmRlZmluZWQi +JiZjb25zb2xlLmVycm9yKWNvbnNvbGUuZXJyb3IoIldvcmtzaGVldCAnIitlLlNoZWV0TmFtZXNb +dF0rIicgZXh0ZW5kcyBiZXlvbmQgcm93IDY1NTM2LiAgRGF0YSBtYXkgYmUgbG9zdC4iKX19dmFy +IGk9cnx8e307c3dpdGNoKGkuYmlmZnx8Mil7Y2FzZSA4OjtjYXNlIDU6cmV0dXJuIHdiKGUscik7 +Y2FzZSA0OjtjYXNlIDM6O2Nhc2UgMjpyZXR1cm4gaWIoZSxyKTt9dGhyb3cgbmV3IEVycm9yKCJp +bnZhbGlkIHR5cGUgIitpLmJvb2tUeXBlKyIgZm9yIEJJRkYiKX1mdW5jdGlvbiBBYihlLHIpe3Zh +ciB0PXJ8fHt9O3ZhciBhPXQuZGVuc2UhPW51bGw/dC5kZW5zZTpiO3ZhciBuPXt9OwppZihhKW5b +IiFkYXRhIl09W107ZT1NcihlLCI8IS0tIiwiLS0+Iik7dmFyIGk9ZS5tYXRjaCgvPHRhYmxlL2kp +O2lmKCFpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBIVE1MOiBjb3VsZCBub3QgZmluZCA8dGFi +bGU+Iik7dmFyIHM9ZS5tYXRjaCgvPFwvdGFibGUvaSk7dmFyIGY9aS5pbmRleCxsPXMmJnMuaW5k +ZXh8fGUubGVuZ3RoO3ZhciBvPU5yKGUuc2xpY2UoZixsKSwvKDo/PHRyW148Pl0qPikvaSwiPHRy +PiIpO3ZhciBjPS0xLGg9MCx1PTAsZD0wO3ZhciB2PXtzOntyOjFlNyxjOjFlN30sZTp7cjowLGM6 +MH19O3ZhciBwPVtdO2ZvcihmPTA7ZjxvLmxlbmd0aDsrK2Ype3ZhciBtPW9bZl0udHJpbSgpO3Zh +ciBnPW0uc2xpY2UoMCwzKS50b0xvd2VyQ2FzZSgpO2lmKGc9PSI8dHIiKXsrK2M7aWYodC5zaGVl +dFJvd3MmJnQuc2hlZXRSb3dzPD1jKXstLWM7YnJlYWt9aD0wO2NvbnRpbnVlfWlmKGchPSI8dGQi +JiZnIT0iPHRoIiljb250aW51ZTt2YXIgdz1tLnNwbGl0KC88XC90W2RoXT4vaSk7Zm9yKGw9MDts +PHcubGVuZ3RoOysrbCl7dmFyIGs9d1tsXS50cmltKCk7aWYoIWsubWF0Y2goLzx0W2RoXS9pKSlj +b250aW51ZTt2YXIgQT1rLFQ9MDt3aGlsZShBLmNoYXJBdCgwKT09IjwiJiYoVD1BLmluZGV4T2Yo +Ij4iKSk+LTEpQT1BLnNsaWNlKFQrMSk7Zm9yKHZhciB5PTA7eTxwLmxlbmd0aDsrK3kpe3ZhciBF +PXBbeV07aWYoRS5zLmM9PWgmJkUucy5yPGMmJmM8PUUuZS5yKXtoPUUuZS5jKzE7eT0tMX19dmFy +IEM9Y3Qoay5zbGljZSgwLGsuaW5kZXhPZigiPiIpKSk7ZD1DLmNvbHNwYW4/K0MuY29sc3Bhbjox +O2lmKCh1PStDLnJvd3NwYW4pPjF8fGQ+MSlwLnB1c2goe3M6e3I6YyxjOmh9LGU6e3I6YysodXx8 +MSktMSxjOmgrZC0xfX0pO3ZhciBfPUMudHx8Q1siZGF0YS10Il18fCIiO2lmKCFBLmxlbmd0aCl7 +aCs9ZDtjb250aW51ZX1BPU50KEEpO2lmKHYucy5yPmMpdi5zLnI9YztpZih2LmUucjxjKXYuZS5y +PWM7aWYodi5zLmM+aCl2LnMuYz1oO2lmKHYuZS5jPGgpdi5lLmM9aDtpZighQS5sZW5ndGgpe2gr +PWQ7Y29udGludWV9dmFyIFM9e3Q6InMiLHY6QX07aWYodC5yYXd8fCFBLnRyaW0oKS5sZW5ndGh8 +fF89PSJzIil7fWVsc2UgaWYoQT09PSJUUlVFIilTPXt0OiJiIix2OnRydWV9O2Vsc2UgaWYoQT09 +PSJGQUxTRSIpUz17dDoiYiIsdjpmYWxzZX07ZWxzZSBpZighaXNOYU4oeXIoQSkpKVM9e3Q6Im4i +LHY6eXIoQSl9O2Vsc2UgaWYoIWlzTmFOKFJyKEEpLmdldERhdGUoKSkpe1M9e3Q6ImQiLHY6d3Io +QSl9O2lmKHQuVVRDPT09ZmFsc2UpUy52PUZyKFMudik7aWYoIXQuY2VsbERhdGVzKVM9e3Q6Im4i +LHY6ZHIoUy52KX07Uy56PXQuZGF0ZU5GfHxxWzE0XX1lbHNlIGlmKEEuY2hhckNvZGVBdCgwKT09 +MzUmJmhpW0FdIT1udWxsKXtTLnQ9ImUiO1Mudz1BO1Mudj1oaVtBXX1pZihTLmNlbGxUZXh0IT09 +ZmFsc2UpUy53PUE7aWYoYSl7aWYoIW5bIiFkYXRhIl1bY10pblsiIWRhdGEiXVtjXT1bXTtuWyIh +ZGF0YSJdW2NdW2hdPVN9ZWxzZSBuW1lhKHtyOmMsYzpofSldPVM7aCs9ZH19blsiIXJlZiJdPUph +KHYpO2lmKHAubGVuZ3RoKW5bIiFtZXJnZXMiXT1wO3JldHVybiBufWZ1bmN0aW9uIFRiKGUscix0 +LGEpe3ZhciBuPWVbIiFtZXJnZXMiXXx8W107dmFyIGk9W107dmFyIHM9e307dmFyIGY9ZVsiIWRh +dGEiXSE9bnVsbDtmb3IodmFyIGw9ci5zLmM7bDw9ci5lLmM7KytsKXt2YXIgbz0wLGM9MDtmb3Io +dmFyIGg9MDtoPG4ubGVuZ3RoOysraCl7aWYobltoXS5zLnI+dHx8bltoXS5zLmM+bCljb250aW51 +ZTtpZihuW2hdLmUucjx0fHxuW2hdLmUuYzxsKWNvbnRpbnVlO2lmKG5baF0ucy5yPHR8fG5baF0u +cy5jPGwpe289LTE7YnJlYWt9bz1uW2hdLmUuci1uW2hdLnMucisxO2M9bltoXS5lLmMtbltoXS5z +LmMrMTticmVha31pZihvPDApY29udGludWU7dmFyIHU9JGEobCkrV2EodCk7dmFyIGQ9Zj8oZVsi +IWRhdGEiXVt0XXx8W10pW2xdOmVbdV07aWYoZCYmZC50PT0ibiImJmQudiE9bnVsbCYmIWlzRmlu +aXRlKGQudikpe2lmKGlzTmFOKGQudikpZD17dDoiZSIsdjozNix3OmNpWzM2XX07ZWxzZSBkPXt0 +OiJlIix2OjcsdzpjaVs3XX19dmFyIHY9ZCYmZC52IT1udWxsJiYoZC5ofHxBdChkLnd8fCh0bihk +KSxkLncpfHwiIikpfHwiIjtzPXt9O2lmKG8+MSlzLnJvd3NwYW49bztpZihjPjEpcy5jb2xzcGFu +PWM7aWYoYS5lZGl0YWJsZSl2PSc8c3BhbiBjb250ZW50ZWRpdGFibGU9InRydWUiPicrdisiPC9z +cGFuPiI7ZWxzZSBpZihkKXtzWyJkYXRhLXQiXT1kJiZkLnR8fCJ6IjtpZihkLnYhPW51bGwpc1si +ZGF0YS12Il09QXQoZC52IGluc3RhbmNlb2YgRGF0ZT9kLnYudG9JU09TdHJpbmcoKTpkLnYpO2lm +KGQueiE9bnVsbClzWyJkYXRhLXoiXT1kLno7aWYoZC5sJiYoZC5sLlRhcmdldHx8IiMiKS5jaGFy +QXQoMCkhPSIjIil2PSc8YSBocmVmPSInK0F0KGQubC5UYXJnZXQpKyciPicrdisiPC9hPiJ9cy5p +ZD0oYS5pZHx8InNqcyIpKyItIit1O2kucHVzaChCdCgidGQiLHYscykpfXZhciBwPSI8dHI+Ijty +ZXR1cm4gcCtpLmpvaW4oIiIpKyI8L3RyPiJ9dmFyIHliPSc8aHRtbD48aGVhZD48bWV0YSBjaGFy +c2V0PSJ1dGYtOCIvPjx0aXRsZT5TaGVldEpTIFRhYmxlIEV4cG9ydDwvdGl0bGU+PC9oZWFkPjxi +b2R5Pic7dmFyIEViPSI8L2JvZHk+PC9odG1sPiI7ZnVuY3Rpb24gQ2IoZSxyKXt2YXIgdD1Wcihl +LCJ0YWJsZSIpO2lmKCF0fHx0Lmxlbmd0aD09MCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgSFRN +TDogY291bGQgbm90IGZpbmQgPHRhYmxlPiIpO2lmKHQubGVuZ3RoPT0xKXt2YXIgYT1hbihBYih0 +WzBdLHIpLHIpO2EuYm9va1R5cGU9Imh0bWwiO3JldHVybiBhfXZhciBuPSRrKCk7dC5mb3JFYWNo +KGZ1bmN0aW9uKGUsdCl7WGsobixBYihlLHIpLCJTaGVldCIrKHQrMSkpfSk7bi5ib29rVHlwZT0i +aHRtbCI7cmV0dXJuIG59ZnVuY3Rpb24gX2IoZSxyLHQpe3ZhciBhPVtdO3JldHVybiBhLmpvaW4o +IiIpKyI8dGFibGUiKyh0JiZ0LmlkPycgaWQ9IicrdC5pZCsnIic6IiIpKyI+In1mdW5jdGlvbiBT +YihlLHIpe3ZhciB0PXJ8fHt9O3ZhciBhPXQuaGVhZGVyIT1udWxsP3QuaGVhZGVyOnliO3ZhciBu +PXQuZm9vdGVyIT1udWxsP3QuZm9vdGVyOkViO3ZhciBpPVthXTt2YXIgcz1aYShlWyIhcmVmIl18 +fCJBMSIpO2kucHVzaChfYihlLHMsdCkpO2lmKGVbIiFyZWYiXSlmb3IodmFyIGY9cy5zLnI7Zjw9 +cy5lLnI7KytmKWkucHVzaChUYihlLHMsZix0KSk7aS5wdXNoKCI8L3RhYmxlPiIrbik7cmV0dXJu +IGkuam9pbigiIil9ZnVuY3Rpb24geGIoZSxyLHQpe3ZhciBhPXIucm93cztpZighYSl7dGhyb3ci +VW5zdXBwb3J0ZWQgb3JpZ2luIHdoZW4gIityLnRhZ05hbWUrIiBpcyBub3QgYSBUQUJMRSJ9dmFy +IG49dHx8e307dmFyIGk9ZVsiIWRhdGEiXSE9bnVsbDt2YXIgcz0wLGY9MDtpZihuLm9yaWdpbiE9 +bnVsbCl7aWYodHlwZW9mIG4ub3JpZ2luPT0ibnVtYmVyIilzPW4ub3JpZ2luO2Vsc2V7dmFyIGw9 +dHlwZW9mIG4ub3JpZ2luPT0ic3RyaW5nIj9LYShuLm9yaWdpbik6bi5vcmlnaW47cz1sLnI7Zj1s +LmN9fXZhciBvPU1hdGgubWluKG4uc2hlZXRSb3dzfHwxZTcsYS5sZW5ndGgpO3ZhciBjPXtzOnty +OjAsYzowfSxlOntyOnMsYzpmfX07aWYoZVsiIXJlZiJdKXt2YXIgaD1aYShlWyIhcmVmIl0pO2Mu +cy5yPU1hdGgubWluKGMucy5yLGgucy5yKTtjLnMuYz1NYXRoLm1pbihjLnMuYyxoLnMuYyk7Yy5l +LnI9TWF0aC5tYXgoYy5lLnIsaC5lLnIpO2MuZS5jPU1hdGgubWF4KGMuZS5jLGguZS5jKTtpZihz +PT0tMSljLmUucj1zPWguZS5yKzF9dmFyIHU9W10sZD0wO3ZhciB2PWVbIiFyb3dzIl18fChlWyIh +cm93cyJdPVtdKTt2YXIgcD0wLG09MCxnPTAsYj0wLHc9MCxrPTA7aWYoIWVbIiFjb2xzIl0pZVsi +IWNvbHMiXT1bXTtmb3IoO3A8YS5sZW5ndGgmJm08bzsrK3Ape3ZhciBBPWFbcF07aWYoUmIoQSkp +e2lmKG4uZGlzcGxheSljb250aW51ZTt2W21dPXtoaWRkZW46dHJ1ZX19dmFyIFQ9QS5jZWxscztm +b3IoZz1iPTA7ZzxULmxlbmd0aDsrK2cpe3ZhciB5PVRbZ107aWYobi5kaXNwbGF5JiZSYih5KSlj +b250aW51ZTt2YXIgRT15Lmhhc0F0dHJpYnV0ZSgiZGF0YS12Iik/eS5nZXRBdHRyaWJ1dGUoImRh +dGEtdiIpOnkuaGFzQXR0cmlidXRlKCJ2Iik/eS5nZXRBdHRyaWJ1dGUoInYiKTpOdCh5LmlubmVy +SFRNTCk7dmFyIEM9eS5nZXRBdHRyaWJ1dGUoImRhdGEteiIpfHx5LmdldEF0dHJpYnV0ZSgieiIp +O2ZvcihkPTA7ZDx1Lmxlbmd0aDsrK2Qpe3ZhciBfPXVbZF07aWYoXy5zLmM9PWIrZiYmXy5zLnI8 +bStzJiZtK3M8PV8uZS5yKXtiPV8uZS5jKzEtZjtkPS0xfX1rPSt5LmdldEF0dHJpYnV0ZSgiY29s +c3BhbiIpfHwxO2lmKCh3PSt5LmdldEF0dHJpYnV0ZSgicm93c3BhbiIpfHwxKT4xfHxrPjEpdS5w +dXNoKHtzOntyOm0rcyxjOmIrZn0sZTp7cjptK3MrKHd8fDEpLTEsYzpiK2YrKGt8fDEpLTF9fSk7 +dmFyIFM9e3Q6InMiLHY6RX07dmFyIHg9eS5nZXRBdHRyaWJ1dGUoImRhdGEtdCIpfHx5LmdldEF0 +dHJpYnV0ZSgidCIpfHwiIjtpZihFIT1udWxsKXtpZihFLmxlbmd0aD09MClTLnQ9eHx8InoiO2Vs +c2UgaWYobi5yYXd8fEUudHJpbSgpLmxlbmd0aD09MHx8eD09InMiKXt9ZWxzZSBpZih4PT0iZSIm +JmNpWytFXSlTPXt0OiJlIix2OitFLHc6Y2lbK0VdfTtlbHNlIGlmKEU9PT0iVFJVRSIpUz17dDoi +YiIsdjp0cnVlfTtlbHNlIGlmKEU9PT0iRkFMU0UiKVM9e3Q6ImIiLHY6ZmFsc2V9O2Vsc2UgaWYo +IWlzTmFOKHlyKEUpKSlTPXt0OiJuIix2OnlyKEUpfTtlbHNlIGlmKCFpc05hTihScihFKS5nZXRE +YXRlKCkpKXtTPXt0OiJkIix2OndyKEUpfTtpZihuLlVUQylTLnY9RHIoUy52KTtpZighbi5jZWxs +RGF0ZXMpUz17dDoibiIsdjpkcihTLnYpfTtTLno9bi5kYXRlTkZ8fHFbMTRdfWVsc2UgaWYoRS5j +aGFyQ29kZUF0KDApPT0zNSYmaGlbRV0hPW51bGwpUz17dDoiZSIsdjpoaVtFXSx3OkV9fWlmKFMu +ej09PXVuZGVmaW5lZCYmQyE9bnVsbClTLno9Qzt2YXIgTz0iIixJPXkuZ2V0RWxlbWVudHNCeVRh +Z05hbWUoIkEiKTtpZihJJiZJLmxlbmd0aClmb3IodmFyIFI9MDtSPEkubGVuZ3RoOysrUilpZihJ +W1JdLmhhc0F0dHJpYnV0ZSgiaHJlZiIpKXtPPUlbUl0uZ2V0QXR0cmlidXRlKCJocmVmIik7aWYo +Ty5jaGFyQXQoMCkhPSIjIilicmVha31pZihPJiZPLmNoYXJBdCgwKSE9IiMiJiZPLnNsaWNlKDAs +MTEpLnRvTG93ZXJDYXNlKCkhPSJqYXZhc2NyaXB0OiIpUy5sPXtUYXJnZXQ6T307aWYoaSl7aWYo +IWVbIiFkYXRhIl1bbStzXSllWyIhZGF0YSJdW20rc109W107ZVsiIWRhdGEiXVttK3NdW2IrZl09 +U31lbHNlIGVbWWEoe2M6YitmLHI6bStzfSldPVM7aWYoYy5lLmM8YitmKWMuZS5jPWIrZjtiKz1r +fSsrbX1pZih1Lmxlbmd0aCllWyIhbWVyZ2VzIl09KGVbIiFtZXJnZXMiXXx8W10pLmNvbmNhdCh1 +KTtjLmUucj1NYXRoLm1heChjLmUucixtLTErcyk7ZVsiIXJlZiJdPUphKGMpO2lmKG0+PW8pZVsi +IWZ1bGxyZWYiXT1KYSgoYy5lLnI9YS5sZW5ndGgtcCttLTErcyxjKSk7cmV0dXJuIGV9ZnVuY3Rp +b24gT2IoZSxyKXt2YXIgdD1yfHx7fTt2YXIgYT17fTtpZih0LmRlbnNlKWFbIiFkYXRhIl09W107 +cmV0dXJuIHhiKGEsZSxyKX1mdW5jdGlvbiBJYihlLHIpe3ZhciB0PWFuKE9iKGUscikscik7cmV0 +dXJuIHR9ZnVuY3Rpb24gUmIoZSl7dmFyIHI9IiI7dmFyIHQ9TmIoZSk7aWYodClyPXQoZSkuZ2V0 +UHJvcGVydHlWYWx1ZSgiZGlzcGxheSIpO2lmKCFyKXI9ZS5zdHlsZSYmZS5zdHlsZS5kaXNwbGF5 +O3JldHVybiByPT09Im5vbmUifWZ1bmN0aW9uIE5iKGUpe2lmKGUub3duZXJEb2N1bWVudC5kZWZh +dWx0VmlldyYmdHlwZW9mIGUub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0 +eWxlPT09ImZ1bmN0aW9uIilyZXR1cm4gZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENv +bXB1dGVkU3R5bGU7aWYodHlwZW9mIGdldENvbXB1dGVkU3R5bGU9PT0iZnVuY3Rpb24iKXJldHVy +biBnZXRDb21wdXRlZFN0eWxlO3JldHVybiBudWxsfWZ1bmN0aW9uIEZiKGUpe3ZhciByPWUucmVw +bGFjZSgvW1x0XHJcbl0vZywiICIpLnRyaW0oKS5yZXBsYWNlKC8gKy9nLCIgIikucmVwbGFjZSgv +PHRleHQ6c1wvPi9nLCIgIikucmVwbGFjZSgvPHRleHQ6cyB0ZXh0OmM9IihcZCspIlwvPi9nLGZ1 +bmN0aW9uKGUscil7cmV0dXJuIEFycmF5KHBhcnNlSW50KHIsMTApKzEpLmpvaW4oIiAiKX0pLnJl +cGxhY2UoLzx0ZXh0OnRhYltePD5dKlwvPi9nLCJcdCIpLnJlcGxhY2UoLzx0ZXh0OmxpbmUtYnJl +YWtcLz4vZywiXG4iKTt2YXIgdD1wdChyLnJlcGxhY2UoLzxbXjw+XSo+L2csIiIpKTtyZXR1cm5b +dF19ZnVuY3Rpb24gRGIoZSxyLHQpe3ZhciBhPXR8fHt9O3ZhciBuPUh0KGUpO1Z0Lmxhc3RJbmRl +eD0wO249UHIoTXIobiwiPCEtLSIsIi0tPiIpKTt2YXIgaSxzLGY9IiIsbD0iIixvLGM9MCxoPS0x +LHU9ZmFsc2UsZD0iIjt3aGlsZShpPVZ0LmV4ZWMobikpe3N3aXRjaChpWzNdPWlbM10ucmVwbGFj +ZSgvX1tcc1xTXSokLywiIikpe2Nhc2UibnVtYmVyLXN0eWxlIjo7Y2FzZSJjdXJyZW5jeS1zdHls +ZSI6O2Nhc2UicGVyY2VudGFnZS1zdHlsZSI6O2Nhc2UiZGF0ZS1zdHlsZSI6O2Nhc2UidGltZS1z +dHlsZSI6O2Nhc2UidGV4dC1zdHlsZSI6aWYoaVsxXT09PSIvIil7dT1mYWxzZTtpZihzWyJ0cnVu +Y2F0ZS1vbi1vdmVyZmxvdyJdPT0iZmFsc2UiKXtpZihmLm1hdGNoKC9oLykpZj1mLnJlcGxhY2Uo +L2grLywiWyQmXSIpO2Vsc2UgaWYoZi5tYXRjaCgvbS8pKWY9Zi5yZXBsYWNlKC9tKy8sIlskJl0i +KTtlbHNlIGlmKGYubWF0Y2goL3MvKSlmPWYucmVwbGFjZSgvcysvLCJbJCZdIil9YVtzLm5hbWVd +PWY7Zj0iIn1lbHNlIGlmKGlbMF0uY2hhckF0KGlbMF0ubGVuZ3RoLTIpIT09Ii8iKXt1PXRydWU7 +Zj0iIjtzPWN0KGlbMF0sZmFsc2UpfWJyZWFrO2Nhc2UiYm9vbGVhbi1zdHlsZSI6aWYoaVsxXT09 +PSIvIil7dT1mYWxzZTthW3MubmFtZV09IkdlbmVyYWwiO2Y9IiJ9ZWxzZSBpZihpWzBdLmNoYXJB +dChpWzBdLmxlbmd0aC0yKSE9PSIvIil7dT10cnVlO2Y9IiI7cz1jdChpWzBdLGZhbHNlKX1icmVh +aztjYXNlImJvb2xlYW4iOmYrPSJHZW5lcmFsIjticmVhaztjYXNlInRleHQiOmlmKGlbMV09PT0i +LyIpe2Q9bi5zbGljZShoLFZ0Lmxhc3RJbmRleC1pWzBdLmxlbmd0aCk7aWYoZD09IiUiJiZzWzBd +PT0iPG51bWJlcjpwZXJjZW50YWdlLXN0eWxlIilmKz0iJSI7ZWxzZSBmKz0nIicrZC5yZXBsYWNl +KC8iL2csJyIiJykrJyInfWVsc2UgaWYoaVswXS5jaGFyQXQoaVswXS5sZW5ndGgtMikhPT0iLyIp +e2g9VnQubGFzdEluZGV4fWJyZWFrO2Nhc2UiZGF5Ijp7bz1jdChpWzBdLGZhbHNlKTtzd2l0Y2go +b1sic3R5bGUiXSl7Y2FzZSJzaG9ydCI6Zis9ImQiO2JyZWFrO2Nhc2UibG9uZyI6Zis9ImRkIjti +cmVhaztkZWZhdWx0OmYrPSJkZCI7YnJlYWs7fX1icmVhaztjYXNlImRheS1vZi13ZWVrIjp7bz1j +dChpWzBdLGZhbHNlKTtzd2l0Y2gob1sic3R5bGUiXSl7Y2FzZSJzaG9ydCI6Zis9ImRkZCI7YnJl +YWs7Y2FzZSJsb25nIjpmKz0iZGRkZCI7YnJlYWs7ZGVmYXVsdDpmKz0iZGRkIjticmVhazt9fWJy +ZWFrO2Nhc2UiZXJhIjp7bz1jdChpWzBdLGZhbHNlKTtzd2l0Y2gob1sic3R5bGUiXSl7Y2FzZSJz +aG9ydCI6Zis9ImVlIjticmVhaztjYXNlImxvbmciOmYrPSJlZWVlIjticmVhaztkZWZhdWx0OmYr +PSJlZWVlIjticmVhazt9fWJyZWFrO2Nhc2UiaG91cnMiOntvPWN0KGlbMF0sZmFsc2UpO3N3aXRj +aChvWyJzdHlsZSJdKXtjYXNlInNob3J0IjpmKz0iaCI7YnJlYWs7Y2FzZSJsb25nIjpmKz0iaGgi +O2JyZWFrO2RlZmF1bHQ6Zis9ImhoIjticmVhazt9fWJyZWFrO2Nhc2UibWludXRlcyI6e289Y3Qo +aVswXSxmYWxzZSk7c3dpdGNoKG9bInN0eWxlIl0pe2Nhc2Uic2hvcnQiOmYrPSJtIjticmVhaztj +YXNlImxvbmciOmYrPSJtbSI7YnJlYWs7ZGVmYXVsdDpmKz0ibW0iO2JyZWFrO319YnJlYWs7Y2Fz +ZSJtb250aCI6e289Y3QoaVswXSxmYWxzZSk7aWYob1sidGV4dHVhbCJdKWYrPSJtbSI7c3dpdGNo +KG9bInN0eWxlIl0pe2Nhc2Uic2hvcnQiOmYrPSJtIjticmVhaztjYXNlImxvbmciOmYrPSJtbSI7 +YnJlYWs7ZGVmYXVsdDpmKz0ibSI7YnJlYWs7fX1icmVhaztjYXNlInNlY29uZHMiOntvPWN0KGlb +MF0sZmFsc2UpO3N3aXRjaChvWyJzdHlsZSJdKXtjYXNlInNob3J0IjpmKz0icyI7YnJlYWs7Y2Fz +ZSJsb25nIjpmKz0ic3MiO2JyZWFrO2RlZmF1bHQ6Zis9InNzIjticmVhazt9aWYob1siZGVjaW1h +bC1wbGFjZXMiXSlmKz0iLiIrVHIoIjAiLCtvWyJkZWNpbWFsLXBsYWNlcyJdKX1icmVhaztjYXNl +InllYXIiOntvPWN0KGlbMF0sZmFsc2UpO3N3aXRjaChvWyJzdHlsZSJdKXtjYXNlInNob3J0Ijpm +Kz0ieXkiO2JyZWFrO2Nhc2UibG9uZyI6Zis9Inl5eXkiO2JyZWFrO2RlZmF1bHQ6Zis9Inl5Ijti +cmVhazt9fWJyZWFrO2Nhc2UiYW0tcG0iOmYrPSJBTS9QTSI7YnJlYWs7Y2FzZSJ3ZWVrLW9mLXll +YXIiOjtjYXNlInF1YXJ0ZXIiOmNvbnNvbGUuZXJyb3IoIkV4Y2VsIGRvZXMgbm90IHN1cHBvcnQg +T0RTIGZvcm1hdCB0b2tlbiAiK2lbM10pO2JyZWFrO2Nhc2UiZmlsbC1jaGFyYWN0ZXIiOmlmKGlb +MV09PT0iLyIpe2Q9bi5zbGljZShoLFZ0Lmxhc3RJbmRleC1pWzBdLmxlbmd0aCk7Zis9JyInK2Qu +cmVwbGFjZSgvIi9nLCciIicpKyciKid9ZWxzZSBpZihpWzBdLmNoYXJBdChpWzBdLmxlbmd0aC0y +KSE9PSIvIil7aD1WdC5sYXN0SW5kZXh9YnJlYWs7Y2FzZSJzY2llbnRpZmljLW51bWJlciI6bz1j +dChpWzBdLGZhbHNlKTtmKz0iMC4iK1RyKCIwIiwrb1sibWluLWRlY2ltYWwtcGxhY2VzIl18fCtv +WyJkZWNpbWFsLXBsYWNlcyJdfHwyKStUcigiPyIsK29bImRlY2ltYWwtcGxhY2VzIl0tK29bIm1p +bi1kZWNpbWFsLXBsYWNlcyJdfHwwKSsiRSIrKEN0KG9bImZvcmNlZC1leHBvbmVudC1zaWduIl0p +PyIrIjoiIikrVHIoIjAiLCtvWyJtaW4tZXhwb25lbnQtZGlnaXRzIl18fDIpO2JyZWFrO2Nhc2Ui +ZnJhY3Rpb24iOm89Y3QoaVswXSxmYWxzZSk7aWYoIStvWyJtaW4taW50ZWdlci1kaWdpdHMiXSlm +Kz0iIyI7ZWxzZSBmKz1UcigiMCIsK29bIm1pbi1pbnRlZ2VyLWRpZ2l0cyJdKTtmKz0iICI7Zis9 +VHIoIj8iLCtvWyJtaW4tbnVtZXJhdG9yLWRpZ2l0cyJdfHwxKTtmKz0iLyI7aWYoK29bImRlbm9t +aW5hdG9yLXZhbHVlIl0pZis9b1siZGVub21pbmF0b3ItdmFsdWUiXTtlbHNlIGYrPVRyKCI/Iiwr +b1sibWluLWRlbm9taW5hdG9yLWRpZ2l0cyJdfHwxKTticmVhaztjYXNlImN1cnJlbmN5LXN5bWJv +bCI6aWYoaVsxXT09PSIvIil7Zis9JyInK24uc2xpY2UoaCxWdC5sYXN0SW5kZXgtaVswXS5sZW5n +dGgpLnJlcGxhY2UoLyIvZywnIiInKSsnIid9ZWxzZSBpZihpWzBdLmNoYXJBdChpWzBdLmxlbmd0 +aC0yKSE9PSIvIil7aD1WdC5sYXN0SW5kZXh9ZWxzZSBmKz0iJCI7YnJlYWs7Y2FzZSJ0ZXh0LXBy +b3BlcnRpZXMiOm89Y3QoaVswXSxmYWxzZSk7c3dpdGNoKChvWyJjb2xvciJdfHwiIikudG9Mb3dl +ckNhc2UoKS5yZXBsYWNlKCIjIiwiIikpe2Nhc2UiZmYwMDAwIjo7Y2FzZSJyZWQiOmY9IltSZWRd +IitmO2JyZWFrO31icmVhaztjYXNlInRleHQtY29udGVudCI6Zis9IkAiO2JyZWFrO2Nhc2UibWFw +IjpvPWN0KGlbMF0sZmFsc2UpO2lmKHB0KG9bImNvbmRpdGlvbiJdKT09InZhbHVlKCk+PTAiKWY9 +YVtvWyJhcHBseS1zdHlsZS1uYW1lIl1dKyI7IitmO2Vsc2UgY29uc29sZS5lcnJvcigiT0RTIG51 +bWJlciBmb3JtYXQgbWF5IGJlIGluY29ycmVjdDogIitvWyJjb25kaXRpb24iXSk7YnJlYWs7Y2Fz +ZSJudW1iZXIiOmlmKGlbMV09PT0iLyIpYnJlYWs7bz1jdChpWzBdLGZhbHNlKTtsPSIiO2wrPVRy +KCIwIiwrb1sibWluLWludGVnZXItZGlnaXRzIl18fDEpO2lmKEN0KG9bImdyb3VwaW5nIl0pKWw9 +dWUoVHIoIiMiLE1hdGgubWF4KDAsNC1sLmxlbmd0aCkpK2wpO2lmKCtvWyJtaW4tZGVjaW1hbC1w +bGFjZXMiXXx8K29bImRlY2ltYWwtcGxhY2VzIl0pbCs9Ii4iO2lmKCtvWyJtaW4tZGVjaW1hbC1w +bGFjZXMiXSlsKz1UcigiMCIsK29bIm1pbi1kZWNpbWFsLXBsYWNlcyJdfHwxKTtpZigrb1siZGVj +aW1hbC1wbGFjZXMiXS0oK29bIm1pbi1kZWNpbWFsLXBsYWNlcyJdfHwwKSlsKz1UcigiMCIsK29b +ImRlY2ltYWwtcGxhY2VzIl0tKCtvWyJtaW4tZGVjaW1hbC1wbGFjZXMiXXx8MCkpO2YrPWw7YnJl +YWs7Y2FzZSJlbWJlZGRlZC10ZXh0IjppZihpWzFdPT09Ii8iKXtpZihjPT0wKWYrPSciJytuLnNs +aWNlKGgsVnQubGFzdEluZGV4LWlbMF0ubGVuZ3RoKS5yZXBsYWNlKC8iL2csJyIiJykrJyInO2Vs +c2UgZj1mLnNsaWNlKDAsYykrJyInK24uc2xpY2UoaCxWdC5sYXN0SW5kZXgtaVswXS5sZW5ndGgp +LnJlcGxhY2UoLyIvZywnIiInKSsnIicrZi5zbGljZShjKX1lbHNlIGlmKGlbMF0uY2hhckF0KGlb +MF0ubGVuZ3RoLTIpIT09Ii8iKXtoPVZ0Lmxhc3RJbmRleDtjPS0rY3QoaVswXSxmYWxzZSlbInBv +c2l0aW9uIl18fDB9YnJlYWs7fX1yZXR1cm4gYX1mdW5jdGlvbiBQYihlLHIsdCl7dmFyIGE9cnx8 +e307aWYoYiE9bnVsbCYmYS5kZW5zZT09bnVsbClhLmRlbnNlPWI7dmFyIG49SHQoZSk7dmFyIGk9 +W10sczt2YXIgZjt2YXIgbCxvPSIiLGM9MDt2YXIgaDt2YXIgdTt2YXIgZD17fSx2PVtdO3ZhciBw +PXt9O2lmKGEuZGVuc2UpcFsiIWRhdGEiXT1bXTt2YXIgbSxnO3ZhciB3PXt2YWx1ZToiIn0saz17 +fTt2YXIgQT0iIixUPTAseSxFPSIiLEM9MDt2YXIgXz1bXSxTPVtdO3ZhciB4PS0xLE89LTEsST17 +czp7cjoxZTYsYzoxZTd9LGU6e3I6MCxjOjB9fTt2YXIgUj0wO3ZhciBOPXR8fHt9LEY9e307dmFy +IEQ9W10sUD17fSxMPTAsTT0wO3ZhciBVPVtdLEI9MSxXPTE7dmFyIHo9W107dmFyIEg9e05hbWVz +OltdLFdCUHJvcHM6e319O3ZhciBWPXt9O3ZhciAkPVsiIiwiIl07dmFyIFg9W10sRz17fTt2YXIg +aj0iIixLPTA7dmFyIFk9ZmFsc2UsWj1mYWxzZTt2YXIgSj0wO1Z0Lmxhc3RJbmRleD0wO249UHIo +TXIobiwiPCEtLSIsIi0tPiIpKTt3aGlsZShtPVZ0LmV4ZWMobikpc3dpdGNoKG1bM109bVszXS5y +ZXBsYWNlKC9fW1xzXFNdKiQvLCIiKSl7Y2FzZSJ0YWJsZSI6O2Nhc2Ui5bel5L2c6KGoIjppZiht +WzFdPT09Ii8iKXtpZihJLmUuYz49SS5zLmMmJkkuZS5yPj1JLnMucilwWyIhcmVmIl09SmEoSSk7 +ZWxzZSBwWyIhcmVmIl09IkExOkExIjtpZihhLnNoZWV0Um93cz4wJiZhLnNoZWV0Um93czw9SS5l +LnIpe3BbIiFmdWxscmVmIl09cFsiIXJlZiJdO0kuZS5yPWEuc2hlZXRSb3dzLTE7cFsiIXJlZiJd +PUphKEkpfWlmKEQubGVuZ3RoKXBbIiFtZXJnZXMiXT1EO2lmKFUubGVuZ3RoKXBbIiFyb3dzIl09 +VTtoLm5hbWU9aFsi5ZCN56ewIl18fGgubmFtZTtpZih0eXBlb2YgSlNPTiE9PSJ1bmRlZmluZWQi +KUpTT04uc3RyaW5naWZ5KGgpO3YucHVzaChoLm5hbWUpO2RbaC5uYW1lXT1wO1o9ZmFsc2V9ZWxz +ZSBpZihtWzBdLmNoYXJBdChtWzBdLmxlbmd0aC0yKSE9PSIvIil7aD1jdChtWzBdLGZhbHNlKTt4 +PU89LTE7SS5zLnI9SS5zLmM9MWU3O0kuZS5yPUkuZS5jPTA7cD17fTtpZihhLmRlbnNlKXBbIiFk +YXRhIl09W107RD1bXTtVPVtdO1o9dHJ1ZX1icmVhaztjYXNlInRhYmxlLXJvdy1ncm91cCI6aWYo +bVsxXT09PSIvIiktLVI7ZWxzZSsrUjticmVhaztjYXNlInRhYmxlLXJvdyI6O2Nhc2Ui6KGMIjpp +ZihtWzFdPT09Ii8iKXt4Kz1CO0I9MTticmVha311PWN0KG1bMF0sZmFsc2UpO2lmKHVbIuihjOWP +tyJdKXg9dVsi6KGM5Y+3Il0tMTtlbHNlIGlmKHg9PS0xKXg9MDtCPSt1WyJudW1iZXItcm93cy1y +ZXBlYXRlZCJdfHwxO2lmKEI8MTApZm9yKEo9MDtKPEI7KytKKWlmKFI+MClVW3grSl09e2xldmVs +OlJ9O089LTE7YnJlYWs7Y2FzZSJjb3ZlcmVkLXRhYmxlLWNlbGwiOmlmKG1bMV0hPT0iLyIpeysr +Tzt3PWN0KG1bMF0sZmFsc2UpO1c9cGFyc2VJbnQod1sibnVtYmVyLWNvbHVtbnMtcmVwZWF0ZWQi +XXx8IjEiLDEwKXx8MTtpZihhLnNoZWV0U3R1YnMpe3doaWxlKFctLSA+MCl7aWYoYS5kZW5zZSl7 +aWYoIXBbIiFkYXRhIl1beF0pcFsiIWRhdGEiXVt4XT1bXTtwWyIhZGF0YSJdW3hdW09dPXt0OiJ6 +In19ZWxzZSBwW1lhKHtyOngsYzpPfSldPXt0OiJ6In07KytPfS0tT31lbHNlIE8rPVctMX1BPSIi +O189W107YnJlYWs7Y2FzZSJ0YWJsZS1jZWxsIjo7Y2FzZSLmlbDmja4iOmlmKG1bMF0uY2hhckF0 +KG1bMF0ubGVuZ3RoLTIpPT09Ii8iKXsrK087dz1jdChtWzBdLGZhbHNlKTtXPXBhcnNlSW50KHdb +Im51bWJlci1jb2x1bW5zLXJlcGVhdGVkIl18fCIxIiwxMCl8fDE7Zz17dDoieiIsdjpudWxsfTtp +Zih3LmZvcm11bGEmJmEuY2VsbEZvcm11bGEhPWZhbHNlKWcuZj11dihwdCh3LmZvcm11bGEpKTtp +Zih3WyJzdHlsZS1uYW1lIl0mJkZbd1sic3R5bGUtbmFtZSJdXSlnLno9Rlt3WyJzdHlsZS1uYW1l +Il1dO2lmKCh3WyLmlbDmja7nsbvlnosiXXx8d1sidmFsdWUtdHlwZSJdKT09InN0cmluZyIpe2cu +dD0icyI7Zy52PXB0KHdbInN0cmluZy12YWx1ZSJdfHwiIik7aWYoYS5kZW5zZSl7aWYoIXBbIiFk +YXRhIl1beF0pcFsiIWRhdGEiXVt4XT1bXTtwWyIhZGF0YSJdW3hdW09dPWd9ZWxzZXtwWyRhKE8p +K1dhKHgpXT1nfX1PKz1XLTF9ZWxzZSBpZihtWzFdIT09Ii8iKXsrK087QT1FPSIiO1Q9Qz0wO189 +W107Uz1bXTtXPTE7dmFyIHE9Qj94K0ItMTp4O2lmKE8+SS5lLmMpSS5lLmM9TztpZihPPEkucy5j +KUkucy5jPU87aWYoeDxJLnMucilJLnMucj14O2lmKHE+SS5lLnIpSS5lLnI9cTt3PWN0KG1bMF0s +ZmFsc2UpO2s9aHQobVswXSx0cnVlKTtYPVtdO0c9e307Zz17dDp3WyLmlbDmja7nsbvlnosiXXx8 +d1sidmFsdWUtdHlwZSJdLHY6bnVsbH07aWYod1sic3R5bGUtbmFtZSJdJiZGW3dbInN0eWxlLW5h +bWUiXV0pZy56PUZbd1sic3R5bGUtbmFtZSJdXTtpZihhLmNlbGxGb3JtdWxhKXtpZih3LmZvcm11 +bGEpdy5mb3JtdWxhPXB0KHcuZm9ybXVsYSk7aWYod1sibnVtYmVyLW1hdHJpeC1jb2x1bW5zLXNw +YW5uZWQiXSYmd1sibnVtYmVyLW1hdHJpeC1yb3dzLXNwYW5uZWQiXSl7TD1wYXJzZUludCh3WyJu +dW1iZXItbWF0cml4LXJvd3Mtc3Bhbm5lZCJdLDEwKXx8MDtNPXBhcnNlSW50KHdbIm51bWJlci1t +YXRyaXgtY29sdW1ucy1zcGFubmVkIl0sMTApfHwwO1A9e3M6e3I6eCxjOk99LGU6e3I6eCtMLTEs +YzpPK00tMX19O2cuRj1KYShQKTt6LnB1c2goW1AsZy5GXSl9aWYody5mb3JtdWxhKWcuZj11dih3 +LmZvcm11bGEpO2Vsc2UgZm9yKEo9MDtKPHoubGVuZ3RoOysrSilpZih4Pj16W0pdWzBdLnMuciYm +eDw9eltKXVswXS5lLnIpaWYoTz49eltKXVswXS5zLmMmJk88PXpbSl1bMF0uZS5jKWcuRj16W0pd +WzFdfWlmKHdbIm51bWJlci1jb2x1bW5zLXNwYW5uZWQiXXx8d1sibnVtYmVyLXJvd3Mtc3Bhbm5l +ZCJdKXtMPXBhcnNlSW50KHdbIm51bWJlci1yb3dzLXNwYW5uZWQiXXx8IjEiLDEwKXx8MTtNPXBh +cnNlSW50KHdbIm51bWJlci1jb2x1bW5zLXNwYW5uZWQiXXx8IjEiLDEwKXx8MTtpZihMKk0+MSl7 +UD17czp7cjp4LGM6T30sZTp7cjp4K0wtMSxjOk8rTS0xfX07RC5wdXNoKFApfX1pZih3WyJudW1i +ZXItY29sdW1ucy1yZXBlYXRlZCJdKVc9cGFyc2VJbnQod1sibnVtYmVyLWNvbHVtbnMtcmVwZWF0 +ZWQiXSwxMCk7c3dpdGNoKGcudCl7Y2FzZSJib29sZWFuIjpnLnQ9ImIiO2cudj1DdCh3WyJib29s +ZWFuLXZhbHVlIl0pfHwrd1siYm9vbGVhbi12YWx1ZSJdPj0xO2JyZWFrO2Nhc2UiZmxvYXQiOmcu +dD0ibiI7Zy52PXBhcnNlRmxvYXQody52YWx1ZSk7aWYoYS5jZWxsRGF0ZXMmJmcueiYmTGUoZy56 +KSl7Zy52PXZyKGcudisoSC5XQlByb3BzLmRhdGUxOTA0PzE0NjI6MCkpO2cudD10eXBlb2YgZy52 +PT0ibnVtYmVyIj8ibiI6ImQifWJyZWFrO2Nhc2UicGVyY2VudGFnZSI6Zy50PSJuIjtnLnY9cGFy +c2VGbG9hdCh3LnZhbHVlKTticmVhaztjYXNlImN1cnJlbmN5IjpnLnQ9Im4iO2cudj1wYXJzZUZs +b2F0KHcudmFsdWUpO2JyZWFrO2Nhc2UiZGF0ZSI6Zy50PSJkIjtnLnY9d3Iod1siZGF0ZS12YWx1 +ZSJdLEguV0JQcm9wcy5kYXRlMTkwNCk7aWYoIWEuY2VsbERhdGVzKXtnLnQ9Im4iO2cudj1kcihn +LnYsSC5XQlByb3BzLmRhdGUxOTA0KX1pZighZy56KWcuej0ibS9kL3l5IjticmVhaztjYXNlInRp +bWUiOmcudD0ibiI7Zy52PXByKHdbInRpbWUtdmFsdWUiXSkvODY0MDA7aWYoYS5jZWxsRGF0ZXMp +e2cudj12cihnLnYpO2cudD10eXBlb2YgZy52PT0ibnVtYmVyIj8ibiI6ImQifWlmKCFnLnopZy56 +PSJISDpNTTpTUyI7YnJlYWs7Y2FzZSJudW1iZXIiOmcudD0ibiI7Zy52PXBhcnNlRmxvYXQod1si +5pWw5o2u5pWw5YC8Il0pO2JyZWFrO2RlZmF1bHQ6aWYoZy50PT09InN0cmluZyJ8fGcudD09PSJ0 +ZXh0Inx8IWcudCl7Zy50PSJzIjtpZih3WyJzdHJpbmctdmFsdWUiXSE9bnVsbCl7QT1wdCh3WyJz +dHJpbmctdmFsdWUiXSk7Xz1bXX19ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIHZh +bHVlIHR5cGUgIitnLnQpO319ZWxzZXtZPWZhbHNlO2lmKGtbImNhbGNleHQ6dmFsdWUtdHlwZSJd +PT0iZXJyb3IiJiZoaVtBXSE9bnVsbCl7Zy50PSJlIjtnLnc9QTtnLnY9aGlbQV19aWYoZy50PT09 +InMiKXtnLnY9QXx8IiI7aWYoXy5sZW5ndGgpZy5SPV87WT1UPT0wfWlmKFYuVGFyZ2V0KWcubD1W +O2lmKFgubGVuZ3RoPjApe2cuYz1YO1g9W119aWYoQSYmYS5jZWxsVGV4dCE9PWZhbHNlKWcudz1B +O2lmKFkpe2cudD0ieiI7ZGVsZXRlIGcudn1pZighWXx8YS5zaGVldFN0dWJzKXtpZighKGEuc2hl +ZXRSb3dzJiZhLnNoZWV0Um93czw9eCkpe2Zvcih2YXIgUT0wO1E8QjsrK1Epe1c9cGFyc2VJbnQo +d1sibnVtYmVyLWNvbHVtbnMtcmVwZWF0ZWQiXXx8IjEiLDEwKTtpZihhLmRlbnNlKXtpZighcFsi +IWRhdGEiXVt4K1FdKXBbIiFkYXRhIl1beCtRXT1bXTtwWyIhZGF0YSJdW3grUV1bT109UT09MD9n +OkFyKGcpO3doaWxlKC0tVz4wKXBbIiFkYXRhIl1beCtRXVtPK1ddPUFyKGcpfWVsc2V7cFtZYSh7 +cjp4K1EsYzpPfSldPWc7d2hpbGUoLS1XPjApcFtZYSh7cjp4K1EsYzpPK1d9KV09QXIoZyl9aWYo +SS5lLmM8PU8pSS5lLmM9T319fVc9cGFyc2VJbnQod1sibnVtYmVyLWNvbHVtbnMtcmVwZWF0ZWQi +XXx8IjEiLDEwKTtPKz1XLTE7Vz0wO2c9e307QT0iIjtfPVtdfVY9e307YnJlYWs7Y2FzZSJkb2N1 +bWVudCI6O2Nhc2UiZG9jdW1lbnQtY29udGVudCI6O2Nhc2Ui55S15a2Q6KGo5qC85paH5qGjIjo7 +Y2FzZSJzcHJlYWRzaGVldCI6O2Nhc2Ui5Li75L2TIjo7Y2FzZSJzY3JpcHRzIjo7Y2FzZSJzdHls +ZXMiOjtjYXNlImZvbnQtZmFjZS1kZWNscyI6O2Nhc2UibWFzdGVyLXN0eWxlcyI6aWYobVsxXT09 +PSIvIil7aWYoKHM9aS5wb3AoKSlbMF0hPT1tWzNdKXRocm93IkJhZCBzdGF0ZTogIitzfWVsc2Ug +aWYobVswXS5jaGFyQXQobVswXS5sZW5ndGgtMikhPT0iLyIpaS5wdXNoKFttWzNdLHRydWVdKTti +cmVhaztjYXNlImFubm90YXRpb24iOmlmKG1bMV09PT0iLyIpe2lmKChzPWkucG9wKCkpWzBdIT09 +bVszXSl0aHJvdyJCYWQgc3RhdGU6ICIrcztHLnQ9QTtpZihfLmxlbmd0aClHLlI9XztHLmE9ajtY +LnB1c2goRyk7QT1FO1Q9QztfPVN9ZWxzZSBpZihtWzBdLmNoYXJBdChtWzBdLmxlbmd0aC0yKSE9 +PSIvIil7aS5wdXNoKFttWzNdLGZhbHNlXSk7dmFyIGVlPWN0KG1bMF0sdHJ1ZSk7aWYoIShlZVsi +ZGlzcGxheSJdJiZDdChlZVsiZGlzcGxheSJdKSkpWC5oaWRkZW49dHJ1ZTtFPUE7Qz1UO1M9XztB +PSIiO1Q9MDtfPVtdfWo9IiI7Sz0wO2JyZWFrO2Nhc2UiY3JlYXRvciI6aWYobVsxXT09PSIvIil7 +aj1uLnNsaWNlKEssbS5pbmRleCl9ZWxzZSBLPW0uaW5kZXgrbVswXS5sZW5ndGg7YnJlYWs7Y2Fz +ZSJtZXRhIjo7Y2FzZSLlhYPmlbDmja4iOjtjYXNlInNldHRpbmdzIjo7Y2FzZSJjb25maWctaXRl +bS1zZXQiOjtjYXNlImNvbmZpZy1pdGVtLW1hcC1pbmRleGVkIjo7Y2FzZSJjb25maWctaXRlbS1t +YXAtZW50cnkiOjtjYXNlImNvbmZpZy1pdGVtLW1hcC1uYW1lZCI6O2Nhc2Uic2hhcGVzIjo7Y2Fz +ZSJmcmFtZSI6O2Nhc2UidGV4dC1ib3giOjtjYXNlImltYWdlIjo7Y2FzZSJkYXRhLXBpbG90LXRh +YmxlcyI6O2Nhc2UibGlzdC1zdHlsZSI6O2Nhc2UiZm9ybSI6O2Nhc2UiZGRlLWxpbmtzIjo7Y2Fz +ZSJldmVudC1saXN0ZW5lcnMiOjtjYXNlImNoYXJ0IjppZihtWzFdPT09Ii8iKXtpZigocz1pLnBv +cCgpKVswXSE9PW1bM10pdGhyb3ciQmFkIHN0YXRlOiAiK3N9ZWxzZSBpZihtWzBdLmNoYXJBdCht +WzBdLmxlbmd0aC0yKSE9PSIvIilpLnB1c2goW21bM10sZmFsc2VdKTtBPSIiO1Q9MDtfPVtdO2Jy +ZWFrO2Nhc2Uic2NpZW50aWZpYy1udW1iZXIiOjtjYXNlImN1cnJlbmN5LXN5bWJvbCI6O2Nhc2Ui +ZmlsbC1jaGFyYWN0ZXIiOmJyZWFrO2Nhc2UidGV4dC1zdHlsZSI6O2Nhc2UiYm9vbGVhbi1zdHls +ZSI6O2Nhc2UibnVtYmVyLXN0eWxlIjo7Y2FzZSJjdXJyZW5jeS1zdHlsZSI6O2Nhc2UicGVyY2Vu +dGFnZS1zdHlsZSI6O2Nhc2UiZGF0ZS1zdHlsZSI6O2Nhc2UidGltZS1zdHlsZSI6aWYobVsxXT09 +PSIvIil7dmFyIHJlPVZ0Lmxhc3RJbmRleDtEYihuLnNsaWNlKGwsVnQubGFzdEluZGV4KSxyLE4p +O1Z0Lmxhc3RJbmRleD1yZX1lbHNlIGlmKG1bMF0uY2hhckF0KG1bMF0ubGVuZ3RoLTIpIT09Ii8i +KXtsPVZ0Lmxhc3RJbmRleC1tWzBdLmxlbmd0aH1icmVhaztjYXNlInNjcmlwdCI6YnJlYWs7Y2Fz +ZSJsaWJyYXJpZXMiOmJyZWFrO2Nhc2UiYXV0b21hdGljLXN0eWxlcyI6YnJlYWs7Y2FzZSJkZWZh +dWx0LXN0eWxlIjo7Y2FzZSJwYWdlLWxheW91dCI6YnJlYWs7Y2FzZSJzdHlsZSI6e3ZhciB0ZT1j +dChtWzBdLGZhbHNlKTtpZih0ZVsiZmFtaWx5Il09PSJ0YWJsZS1jZWxsIiYmTlt0ZVsiZGF0YS1z +dHlsZS1uYW1lIl1dKUZbdGVbIm5hbWUiXV09Tlt0ZVsiZGF0YS1zdHlsZS1uYW1lIl1dfWJyZWFr +O2Nhc2UibWFwIjpicmVhaztjYXNlImZvbnQtZmFjZSI6YnJlYWs7Y2FzZSJwYXJhZ3JhcGgtcHJv +cGVydGllcyI6YnJlYWs7Y2FzZSJ0YWJsZS1wcm9wZXJ0aWVzIjpicmVhaztjYXNlInRhYmxlLWNv +bHVtbi1wcm9wZXJ0aWVzIjpicmVhaztjYXNlInRhYmxlLXJvdy1wcm9wZXJ0aWVzIjpicmVhaztj +YXNlInRhYmxlLWNlbGwtcHJvcGVydGllcyI6YnJlYWs7Y2FzZSJudW1iZXIiOmJyZWFrO2Nhc2Ui +ZnJhY3Rpb24iOmJyZWFrO2Nhc2UiZGF5Ijo7Y2FzZSJtb250aCI6O2Nhc2UieWVhciI6O2Nhc2Ui +ZXJhIjo7Y2FzZSJkYXktb2Ytd2VlayI6O2Nhc2Uid2Vlay1vZi15ZWFyIjo7Y2FzZSJxdWFydGVy +Ijo7Y2FzZSJob3VycyI6O2Nhc2UibWludXRlcyI6O2Nhc2Uic2Vjb25kcyI6O2Nhc2UiYW0tcG0i +OmJyZWFrO2Nhc2UiYm9vbGVhbiI6YnJlYWs7Y2FzZSJ0ZXh0IjppZihtWzBdLnNsaWNlKC0yKT09 +PSIvPiIpYnJlYWs7ZWxzZSBpZihtWzFdPT09Ii8iKXN3aXRjaChpW2kubGVuZ3RoLTFdWzBdKXtj +YXNlIm51bWJlci1zdHlsZSI6O2Nhc2UiZGF0ZS1zdHlsZSI6O2Nhc2UidGltZS1zdHlsZSI6bys9 +bi5zbGljZShjLG0uaW5kZXgpO2JyZWFrO31lbHNlIGM9bS5pbmRleCttWzBdLmxlbmd0aDticmVh +aztjYXNlIm5hbWVkLXJhbmdlIjpmPWN0KG1bMF0sZmFsc2UpOyQ9dnYoZlsiY2VsbC1yYW5nZS1h +ZGRyZXNzIl0pO3ZhciBhZT17TmFtZTpmLm5hbWUsUmVmOiRbMF0rIiEiKyRbMV19O2lmKFopYWUu +U2hlZXQ9di5sZW5ndGg7SC5OYW1lcy5wdXNoKGFlKTticmVhaztjYXNlInRleHQtY29udGVudCI6 +YnJlYWs7Y2FzZSJ0ZXh0LXByb3BlcnRpZXMiOmJyZWFrO2Nhc2UiZW1iZWRkZWQtdGV4dCI6YnJl +YWs7Y2FzZSJib2R5Ijo7Y2FzZSLnlLXlrZDooajmoLwiOmJyZWFrO2Nhc2UiZm9ybXMiOmJyZWFr +O2Nhc2UidGFibGUtY29sdW1uIjpicmVhaztjYXNlInRhYmxlLWhlYWRlci1yb3dzIjpicmVhaztj +YXNlInRhYmxlLXJvd3MiOmJyZWFrO2Nhc2UidGFibGUtY29sdW1uLWdyb3VwIjpicmVhaztjYXNl +InRhYmxlLWhlYWRlci1jb2x1bW5zIjpicmVhaztjYXNlInRhYmxlLWNvbHVtbnMiOmJyZWFrO2Nh +c2UibnVsbC1kYXRlIjpmPWN0KG1bMF0sZmFsc2UpO3N3aXRjaChmWyJkYXRlLXZhbHVlIl0pe2Nh +c2UiMTkwNC0wMS0wMSI6SC5XQlByb3BzLmRhdGUxOTA0PXRydWU7YnJlYWs7fWJyZWFrO2Nhc2Ui +Z3JhcGhpYy1wcm9wZXJ0aWVzIjpicmVhaztjYXNlImNhbGN1bGF0aW9uLXNldHRpbmdzIjpicmVh +aztjYXNlIm5hbWVkLWV4cHJlc3Npb25zIjpicmVhaztjYXNlImxhYmVsLXJhbmdlIjpicmVhaztj +YXNlImxhYmVsLXJhbmdlcyI6YnJlYWs7Y2FzZSJuYW1lZC1leHByZXNzaW9uIjpicmVhaztjYXNl +InNvcnQiOmJyZWFrO2Nhc2Uic29ydC1ieSI6YnJlYWs7Y2FzZSJzb3J0LWdyb3VwcyI6YnJlYWs7 +Y2FzZSJ0YWIiOmJyZWFrO2Nhc2UibGluZS1icmVhayI6YnJlYWs7Y2FzZSJzcGFuIjpicmVhaztj +YXNlInAiOjtjYXNlIuaWh+acrOS4siI6aWYoWyJtYXN0ZXItc3R5bGVzIl0uaW5kZXhPZihpW2ku +bGVuZ3RoLTFdWzBdKT4tMSlicmVhaztpZihtWzFdPT09Ii8iJiYoIXd8fCF3WyJzdHJpbmctdmFs +dWUiXSkpe3ZhciBuZT1GYihuLnNsaWNlKFQsbS5pbmRleCkseSk7QT0oQS5sZW5ndGg+MD9BKyJc +biI6IiIpK25lWzBdfWVsc2UgaWYobVswXS5zbGljZSgtMik9PSIvPiIpe0ErPSJcbiJ9ZWxzZXt5 +PWN0KG1bMF0sZmFsc2UpO1Q9bS5pbmRleCttWzBdLmxlbmd0aH1icmVhaztjYXNlInMiOmJyZWFr +O2Nhc2UiZGF0YWJhc2UtcmFuZ2UiOmlmKG1bMV09PT0iLyIpYnJlYWs7dHJ5eyQ9dnYoY3QobVsw +XSlbInRhcmdldC1yYW5nZS1hZGRyZXNzIl0pO2RbJFswXV1bIiFhdXRvZmlsdGVyIl09e3JlZjok +WzFdfX1jYXRjaChpZSl7fWJyZWFrO2Nhc2UiZGF0ZSI6YnJlYWs7Y2FzZSJvYmplY3QiOmJyZWFr +O2Nhc2UidGl0bGUiOjtjYXNlIuagh+mimCI6YnJlYWs7Y2FzZSJkZXNjIjpicmVhaztjYXNlImJp +bmFyeS1kYXRhIjpicmVhaztjYXNlInRhYmxlLXNvdXJjZSI6YnJlYWs7Y2FzZSJzY2VuYXJpbyI6 +YnJlYWs7Y2FzZSJpdGVyYXRpb24iOmJyZWFrO2Nhc2UiY29udGVudC12YWxpZGF0aW9ucyI6YnJl +YWs7Y2FzZSJjb250ZW50LXZhbGlkYXRpb24iOmJyZWFrO2Nhc2UiaGVscC1tZXNzYWdlIjpicmVh +aztjYXNlImVycm9yLW1lc3NhZ2UiOmJyZWFrO2Nhc2UiZGF0YWJhc2UtcmFuZ2VzIjpicmVhaztj +YXNlImZpbHRlciI6YnJlYWs7Y2FzZSJmaWx0ZXItYW5kIjpicmVhaztjYXNlImZpbHRlci1vciI6 +YnJlYWs7Y2FzZSJmaWx0ZXItY29uZGl0aW9uIjpicmVhaztjYXNlImZpbHRlci1zZXQtaXRlbSI6 +YnJlYWs7Y2FzZSJsaXN0LWxldmVsLXN0eWxlLWJ1bGxldCI6YnJlYWs7Y2FzZSJsaXN0LWxldmVs +LXN0eWxlLW51bWJlciI6YnJlYWs7Y2FzZSJsaXN0LWxldmVsLXByb3BlcnRpZXMiOmJyZWFrO2Nh +c2Uic2VuZGVyLWZpcnN0bmFtZSI6O2Nhc2Uic2VuZGVyLWxhc3RuYW1lIjo7Y2FzZSJzZW5kZXIt +aW5pdGlhbHMiOjtjYXNlInNlbmRlci10aXRsZSI6O2Nhc2Uic2VuZGVyLXBvc2l0aW9uIjo7Y2Fz +ZSJzZW5kZXItZW1haWwiOjtjYXNlInNlbmRlci1waG9uZS1wcml2YXRlIjo7Y2FzZSJzZW5kZXIt +ZmF4Ijo7Y2FzZSJzZW5kZXItY29tcGFueSI6O2Nhc2Uic2VuZGVyLXBob25lLXdvcmsiOjtjYXNl +InNlbmRlci1zdHJlZXQiOjtjYXNlInNlbmRlci1jaXR5Ijo7Y2FzZSJzZW5kZXItcG9zdGFsLWNv +ZGUiOjtjYXNlInNlbmRlci1jb3VudHJ5Ijo7Y2FzZSJzZW5kZXItc3RhdGUtb3ItcHJvdmluY2Ui +OjtjYXNlImF1dGhvci1uYW1lIjo7Y2FzZSJhdXRob3ItaW5pdGlhbHMiOjtjYXNlImNoYXB0ZXIi +OjtjYXNlImZpbGUtbmFtZSI6O2Nhc2UidGVtcGxhdGUtbmFtZSI6O2Nhc2Uic2hlZXQtbmFtZSI6 +YnJlYWs7Y2FzZSJldmVudC1saXN0ZW5lciI6YnJlYWs7Y2FzZSJpbml0aWFsLWNyZWF0b3IiOjtj +YXNlImNyZWF0aW9uLWRhdGUiOjtjYXNlInByaW50LWRhdGUiOjtjYXNlImdlbmVyYXRvciI6O2Nh +c2UiZG9jdW1lbnQtc3RhdGlzdGljIjo7Y2FzZSJ1c2VyLWRlZmluZWQiOjtjYXNlImVkaXRpbmct +ZHVyYXRpb24iOjtjYXNlImVkaXRpbmctY3ljbGVzIjpicmVhaztjYXNlImNvbmZpZy1pdGVtIjpi +cmVhaztjYXNlInBhZ2UtbnVtYmVyIjpicmVhaztjYXNlInBhZ2UtY291bnQiOmJyZWFrO2Nhc2Ui +dGltZSI6YnJlYWs7Y2FzZSJjZWxsLXJhbmdlLXNvdXJjZSI6YnJlYWs7Y2FzZSJkZXRlY3RpdmUi +OmJyZWFrO2Nhc2Uib3BlcmF0aW9uIjpicmVhaztjYXNlImhpZ2hsaWdodGVkLXJhbmdlIjpicmVh +aztjYXNlImRhdGEtcGlsb3QtdGFibGUiOjtjYXNlInNvdXJjZS1jZWxsLXJhbmdlIjo7Y2FzZSJz +b3VyY2Utc2VydmljZSI6O2Nhc2UiZGF0YS1waWxvdC1maWVsZCI6O2Nhc2UiZGF0YS1waWxvdC1s +ZXZlbCI6O2Nhc2UiZGF0YS1waWxvdC1zdWJ0b3RhbHMiOjtjYXNlImRhdGEtcGlsb3Qtc3VidG90 +YWwiOjtjYXNlImRhdGEtcGlsb3QtbWVtYmVycyI6O2Nhc2UiZGF0YS1waWxvdC1tZW1iZXIiOjtj +YXNlImRhdGEtcGlsb3QtZGlzcGxheS1pbmZvIjo7Y2FzZSJkYXRhLXBpbG90LXNvcnQtaW5mbyI6 +O2Nhc2UiZGF0YS1waWxvdC1sYXlvdXQtaW5mbyI6O2Nhc2UiZGF0YS1waWxvdC1maWVsZC1yZWZl +cmVuY2UiOjtjYXNlImRhdGEtcGlsb3QtZ3JvdXBzIjo7Y2FzZSJkYXRhLXBpbG90LWdyb3VwIjo7 +Y2FzZSJkYXRhLXBpbG90LWdyb3VwLW1lbWJlciI6YnJlYWs7Y2FzZSJyZWN0IjpicmVhaztjYXNl +ImRkZS1jb25uZWN0aW9uLWRlY2xzIjo7Y2FzZSJkZGUtY29ubmVjdGlvbi1kZWNsIjo7Y2FzZSJk +ZGUtbGluayI6O2Nhc2UiZGRlLXNvdXJjZSI6YnJlYWs7Y2FzZSJwcm9wZXJ0aWVzIjpicmVhaztj +YXNlInByb3BlcnR5IjpicmVhaztjYXNlImEiOmlmKG1bMV0hPT0iLyIpe1Y9Y3QobVswXSxmYWxz +ZSk7aWYoIVYuaHJlZilicmVhaztWLlRhcmdldD1wdChWLmhyZWYpO2RlbGV0ZSBWLmhyZWY7aWYo +Vi5UYXJnZXQuY2hhckF0KDApPT0iIyImJlYuVGFyZ2V0LmluZGV4T2YoIi4iKT4tMSl7JD12dihW +LlRhcmdldC5zbGljZSgxKSk7Vi5UYXJnZXQ9IiMiKyRbMF0rIiEiKyRbMV19ZWxzZSBpZihWLlRh +cmdldC5tYXRjaCgvXlwuXC5bXFxcL10vKSlWLlRhcmdldD1WLlRhcmdldC5zbGljZSgzKX1icmVh +aztjYXNlInRhYmxlLXByb3RlY3Rpb24iOmJyZWFrO2Nhc2UiZGF0YS1waWxvdC1ncmFuZC10b3Rh +bCI6YnJlYWs7Y2FzZSJvZmZpY2UtZG9jdW1lbnQtY29tbW9uLWF0dHJzIjpicmVhaztkZWZhdWx0 +OnN3aXRjaChtWzJdKXtjYXNlImRjOiI6O2Nhc2UiY2FsY2V4dDoiOjtjYXNlImxvZXh0OiI6O2Nh +c2Uib29vOiI6O2Nhc2UiY2hhcnRvb286Ijo7Y2FzZSJkcmF3OiI6O2Nhc2Uic3R5bGU6Ijo7Y2Fz +ZSJjaGFydDoiOjtjYXNlImZvcm06Ijo7Y2FzZSJ1b2Y6Ijo7Y2FzZSLooag6Ijo7Y2FzZSLlrZc6 +IjpicmVhaztkZWZhdWx0OmlmKGEuV1RGKXRocm93IG5ldyBFcnJvcihtKTt9O312YXIgc2U9e1No +ZWV0czpkLFNoZWV0TmFtZXM6dixXb3JrYm9vazpIfTtpZihhLmJvb2tTaGVldHMpZGVsZXRlIHNl +LlNoZWV0cztyZXR1cm4gc2V9ZnVuY3Rpb24gTGIoZSxyKXtyPXJ8fHt9O2lmKGpyKGUsIk1FVEEt +SU5GL21hbmlmZXN0LnhtbCIpKUVpKFlyKGUsIk1FVEEtSU5GL21hbmlmZXN0LnhtbCIpLHIpO3Zh +ciB0PVpyKGUsInN0eWxlcy54bWwiKTt2YXIgYT10JiZEYihJdCh0KSxyKTt2YXIgbj1acihlLCJj +b250ZW50LnhtbCIpO2lmKCFuKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBjb250ZW50LnhtbCBp +biBPRFMgLyBVT0YgZmlsZSIpO3ZhciBpPVBiKEl0KG4pLHIsYSk7aWYoanIoZSwibWV0YS54bWwi +KSlpLlByb3BzPVJpKFlyKGUsIm1ldGEueG1sIikpO2kuYm9va1R5cGU9Im9kcyI7cmV0dXJuIGl9 +ZnVuY3Rpb24gTWIoZSxyKXt2YXIgdD1QYihlLHIpO3QuYm9va1R5cGU9ImZvZHMiO3JldHVybiB0 +fXZhciBVYj1mdW5jdGlvbigpe3ZhciBlPVsiPG9mZmljZTptYXN0ZXItc3R5bGVzPiIsJzxzdHls +ZTptYXN0ZXItcGFnZSBzdHlsZTpuYW1lPSJtcDEiIHN0eWxlOnBhZ2UtbGF5b3V0LW5hbWU9Im1w +MSI+JywiPHN0eWxlOmhlYWRlci8+IiwnPHN0eWxlOmhlYWRlci1sZWZ0IHN0eWxlOmRpc3BsYXk9 +ImZhbHNlIi8+JywiPHN0eWxlOmZvb3Rlci8+IiwnPHN0eWxlOmZvb3Rlci1sZWZ0IHN0eWxlOmRp +c3BsYXk9ImZhbHNlIi8+JywiPC9zdHlsZTptYXN0ZXItcGFnZT4iLCI8L29mZmljZTptYXN0ZXIt +c3R5bGVzPiJdLmpvaW4oIiIpO3ZhciByPSI8b2ZmaWNlOmRvY3VtZW50LXN0eWxlcyAiK1V0KHsi +eG1sbnM6b2ZmaWNlIjoidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZp +Y2U6MS4wIiwieG1sbnM6dGFibGUiOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50Onht +bG5zOnRhYmxlOjEuMCIsInhtbG5zOnN0eWxlIjoidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1 +bWVudDp4bWxuczpzdHlsZToxLjAiLCJ4bWxuczp0ZXh0IjoidXJuOm9hc2lzOm5hbWVzOnRjOm9w +ZW5kb2N1bWVudDp4bWxuczp0ZXh0OjEuMCIsInhtbG5zOmRyYXciOiJ1cm46b2FzaXM6bmFtZXM6 +dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRyYXdpbmc6MS4wIiwieG1sbnM6Zm8iOiJ1cm46b2FzaXM6 +bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnhzbC1mby1jb21wYXRpYmxlOjEuMCIsInhtbG5z +OnhsaW5rIjoiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhtbG5zOmRjIjoiaHR0cDov +L3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iLCJ4bWxuczpudW1iZXIiOiJ1cm46b2FzaXM6bmFt +ZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRhdGFzdHlsZToxLjAiLCJ4bWxuczpzdmciOiJ1cm46 +b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnN2Zy1jb21wYXRpYmxlOjEuMCIsInht +bG5zOm9mIjoidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZjoxLjIiLCJv +ZmZpY2U6dmVyc2lvbiI6IjEuMiJ9KSsiPiIrZSsiPC9vZmZpY2U6ZG9jdW1lbnQtc3R5bGVzPiI7 +cmV0dXJuIGZ1bmN0aW9uIHQoKXtyZXR1cm4gYXQrcn19KCk7ZnVuY3Rpb24gQmIoZSxyKXt2YXIg +dD0ibnVtYmVyIixhPSIiLG49eyJzdHlsZTpuYW1lIjpyfSxpPSIiLHM9MDtlPWUucmVwbGFjZSgv +IlskXSIvZywiJCIpO2U6e2lmKGUuaW5kZXhPZigiOyIpPi0xKXtjb25zb2xlLmVycm9yKCJVbnN1 +cHBvcnRlZCBPRFMgU3R5bGUgTWFwIGV4cG9ydGVkLiAgVXNpbmcgZmlyc3QgYnJhbmNoIG9mICIr +ZSk7ZT1lLnNsaWNlKDAsZS5pbmRleE9mKCI7IikpfWlmKGU9PSJAIil7dD0idGV4dCI7YT0iPG51 +bWJlcjp0ZXh0LWNvbnRlbnQvPiI7YnJlYWsgZX1pZihlLmluZGV4T2YoL1wkLyk+LTEpe3Q9ImN1 +cnJlbmN5In1pZihlW3NdPT0nIicpe2k9IiI7d2hpbGUoZVsrK3NdIT0nIid8fGVbKytzXT09JyIn +KWkrPWVbc107LS1zO2lmKGVbcysxXT09IioiKXtzKys7YSs9IjxudW1iZXI6ZmlsbC1jaGFyYWN0 +ZXI+IitidChpLnJlcGxhY2UoLyIiL2csJyInKSkrIjwvbnVtYmVyOmZpbGwtY2hhcmFjdGVyPiJ9 +ZWxzZXthKz0iPG51bWJlcjp0ZXh0PiIrYnQoaS5yZXBsYWNlKC8iIi9nLCciJykpKyI8L251bWJl +cjp0ZXh0PiJ9ZT1lLnNsaWNlKHMrMSk7cz0wfXZhciBmPWUubWF0Y2goLyMgKFw/KylcLyhcPysp +Lyk7aWYoZil7YSs9QnQoIm51bWJlcjpmcmFjdGlvbiIsbnVsbCx7Im51bWJlcjptaW4taW50ZWdl +ci1kaWdpdHMiOjAsIm51bWJlcjptaW4tbnVtZXJhdG9yLWRpZ2l0cyI6ZlsxXS5sZW5ndGgsIm51 +bWJlcjptYXgtZGVub21pbmF0b3ItdmFsdWUiOk1hdGgubWF4KCtmWzFdLnJlcGxhY2UoLy4vZywi +OSIpLCtmWzJdLnJlcGxhY2UoLy4vZywiOSIpKX0pO2JyZWFrIGV9aWYoZj1lLm1hdGNoKC8jIChc +PyspXC8oXGQrKS8pKXthKz1CdCgibnVtYmVyOmZyYWN0aW9uIixudWxsLHsibnVtYmVyOm1pbi1p +bnRlZ2VyLWRpZ2l0cyI6MCwibnVtYmVyOm1pbi1udW1lcmF0b3ItZGlnaXRzIjpmWzFdLmxlbmd0 +aCwibnVtYmVyOmRlbm9taW5hdG9yLXZhbHVlIjorZlsyXX0pO2JyZWFrIGV9aWYoZj1lLm1hdGNo +KC9cYihcZCspKHxcLlxkKyklLykpe3Q9InBlcmNlbnRhZ2UiO2ErPUJ0KCJudW1iZXI6bnVtYmVy +IixudWxsLHsibnVtYmVyOmRlY2ltYWwtcGxhY2VzIjpmWzJdJiZmLmxlbmd0aC0xfHwwLCJudW1i +ZXI6bWluLWRlY2ltYWwtcGxhY2VzIjpmWzJdJiZmLmxlbmd0aC0xfHwwLCJudW1iZXI6bWluLWlu +dGVnZXItZGlnaXRzIjpmWzFdLmxlbmd0aH0pKyI8bnVtYmVyOnRleHQ+JTwvbnVtYmVyOnRleHQ+ +IjticmVhayBlfXZhciBsPWZhbHNlO2lmKFsieSIsIm0iLCJkIl0uaW5kZXhPZihlWzBdKT4tMSl7 +dD0iZGF0ZSI7cjpmb3IoO3M8ZS5sZW5ndGg7KytzKXN3aXRjaChpPWVbc10udG9Mb3dlckNhc2Uo +KSl7Y2FzZSJoIjo7Y2FzZSJzIjpsPXRydWU7LS1zO2JyZWFrIHI7Y2FzZSJtIjp0OmZvcih2YXIg +bz1zKzE7bzxlLmxlbmd0aDsrK28pc3dpdGNoKGVbb10pe2Nhc2UieSI6O2Nhc2UiZCI6YnJlYWsg +dDtjYXNlImgiOjtjYXNlInMiOmw9dHJ1ZTstLXM7YnJlYWsgcjt9O2Nhc2UieSI6O2Nhc2UiZCI6 +d2hpbGUoKGVbKytzXXx8IiIpLnRvTG93ZXJDYXNlKCk9PWlbMF0paSs9aVswXTstLXM7c3dpdGNo +KGkpe2Nhc2UieSI6O2Nhc2UieXkiOmErPSI8bnVtYmVyOnllYXIvPiI7YnJlYWs7Y2FzZSJ5eXki +OjtjYXNlInl5eXkiOmErPSc8bnVtYmVyOnllYXIgbnVtYmVyOnN0eWxlPSJsb25nIi8+JzticmVh +aztjYXNlIm1tbW1tIjpjb25zb2xlLmVycm9yKCJPRFMgaGFzIG5vIGVxdWl2YWxlbnQgb2YgZm9y +bWF0IHxtbW1tbXwiKTtjYXNlIm0iOjtjYXNlIm1tIjo7Y2FzZSJtbW0iOjtjYXNlIm1tbW0iOmEr +PSc8bnVtYmVyOm1vbnRoIG51bWJlcjpzdHlsZT0iJysoaS5sZW5ndGglMj8ic2hvcnQiOiJsb25n +IikrJyIgbnVtYmVyOnRleHR1YWw9IicrKGkubGVuZ3RoPj0zPyJ0cnVlIjoiZmFsc2UiKSsnIi8+ +JzticmVhaztjYXNlImQiOjtjYXNlImRkIjphKz0nPG51bWJlcjpkYXkgbnVtYmVyOnN0eWxlPSIn +KyhpLmxlbmd0aCUyPyJzaG9ydCI6ImxvbmciKSsnIi8+JzticmVhaztjYXNlImRkZCI6O2Nhc2Ui +ZGRkZCI6YSs9JzxudW1iZXI6ZGF5LW9mLXdlZWsgbnVtYmVyOnN0eWxlPSInKyhpLmxlbmd0aCUy +PyJzaG9ydCI6ImxvbmciKSsnIi8+JzticmVhazt9YnJlYWs7Y2FzZSciJzp3aGlsZShlWysrc10h +PSciJ3x8ZVsrK3NdPT0nIicpaSs9ZVtzXTstLXM7YSs9IjxudW1iZXI6dGV4dD4iK2J0KGkuc2xp +Y2UoMSkucmVwbGFjZSgvIiIvZywnIicpKSsiPC9udW1iZXI6dGV4dD4iO2JyZWFrO2Nhc2UiXFwi +Omk9ZVsrK3NdO2ErPSI8bnVtYmVyOnRleHQ+IitidChpKSsiPC9udW1iZXI6dGV4dD4iO2JyZWFr +O2Nhc2UiLyI6O2Nhc2UiOiI6YSs9IjxudW1iZXI6dGV4dD4iK2J0KGkpKyI8L251bWJlcjp0ZXh0 +PiI7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLmVycm9yKCJ1bnJlY29nbml6ZWQgY2hhcmFjdGVyICIr +aSsiIGluIE9ERiBmb3JtYXQgIitlKTt9aWYoIWwpYnJlYWsgZTtlPWUuc2xpY2UocysxKTtzPTB9 +aWYoZS5tYXRjaCgvXlxbP1tobXNdLykpe2lmKHQ9PSJudW1iZXIiKXQ9InRpbWUiO2lmKGUubWF0 +Y2goL1xbLykpe2U9ZS5yZXBsYWNlKC9bXFtcXV0vZywiIik7blsibnVtYmVyOnRydW5jYXRlLW9u +LW92ZXJmbG93Il09ImZhbHNlIn1mb3IoO3M8ZS5sZW5ndGg7KytzKXN3aXRjaChpPWVbc10udG9M +b3dlckNhc2UoKSl7Y2FzZSJoIjo7Y2FzZSJtIjo7Y2FzZSJzIjp3aGlsZSgoZVsrK3NdfHwiIiku +dG9Mb3dlckNhc2UoKT09aVswXSlpKz1pWzBdOy0tcztzd2l0Y2goaSl7Y2FzZSJoIjo7Y2FzZSJo +aCI6YSs9JzxudW1iZXI6aG91cnMgbnVtYmVyOnN0eWxlPSInKyhpLmxlbmd0aCUyPyJzaG9ydCI6 +ImxvbmciKSsnIi8+JzticmVhaztjYXNlIm0iOjtjYXNlIm1tIjphKz0nPG51bWJlcjptaW51dGVz +IG51bWJlcjpzdHlsZT0iJysoaS5sZW5ndGglMj8ic2hvcnQiOiJsb25nIikrJyIvPic7YnJlYWs7 +Y2FzZSJzIjo7Y2FzZSJzcyI6aWYoZVtzKzFdPT0iLiIpZG97aSs9ZVtzKzFdOysrc313aGlsZShl +W3MrMV09PSIwIik7YSs9JzxudW1iZXI6c2Vjb25kcyBudW1iZXI6c3R5bGU9IicrKGkubWF0Y2go +InNzIik/ImxvbmciOiJzaG9ydCIpKyciJysoaS5tYXRjaCgvXC4vKT8nIG51bWJlcjpkZWNpbWFs +LXBsYWNlcz0iJysoaS5tYXRjaCgvMCsvKXx8WyIiXSlbMF0ubGVuZ3RoKyciJzoiIikrIi8+Ijti +cmVhazt9YnJlYWs7Y2FzZSciJzp3aGlsZShlWysrc10hPSciJ3x8ZVsrK3NdPT0nIicpaSs9ZVtz +XTstLXM7YSs9IjxudW1iZXI6dGV4dD4iK2J0KGkuc2xpY2UoMSkucmVwbGFjZSgvIiIvZywnIicp +KSsiPC9udW1iZXI6dGV4dD4iO2JyZWFrO2Nhc2UiLyI6O2Nhc2UiOiI6YSs9IjxudW1iZXI6dGV4 +dD4iK2J0KGkpKyI8L251bWJlcjp0ZXh0PiI7YnJlYWs7Y2FzZSJhIjppZihlLnNsaWNlKHMscysz +KS50b0xvd2VyQ2FzZSgpPT0iYS9wIil7YSs9IjxudW1iZXI6YW0tcG0vPiI7cys9MjticmVha31p +ZihlLnNsaWNlKHMscys1KS50b0xvd2VyQ2FzZSgpPT0iYW0vcG0iKXthKz0iPG51bWJlcjphbS1w +bS8+IjtzKz00O2JyZWFrfTtkZWZhdWx0OmNvbnNvbGUuZXJyb3IoInVucmVjb2duaXplZCBjaGFy +YWN0ZXIgIitpKyIgaW4gT0RGIGZvcm1hdCAiK2UpO31icmVhayBlfWlmKGUuaW5kZXhPZigvXCQv +KT4tMSl7dD0iY3VycmVuY3kifWlmKGVbMF09PSIkIil7YSs9JzxudW1iZXI6Y3VycmVuY3ktc3lt +Ym9sIG51bWJlcjpsYW5ndWFnZT0iZW4iIG51bWJlcjpjb3VudHJ5PSJVUyI+JDwvbnVtYmVyOmN1 +cnJlbmN5LXN5bWJvbD4nO2U9ZS5zbGljZSgxKTtzPTB9cz0wO2lmKGVbc109PSciJyl7d2hpbGUo +ZVsrK3NdIT0nIid8fGVbKytzXT09JyInKWkrPWVbc107LS1zO2lmKGVbcysxXT09IioiKXtzKys7 +YSs9IjxudW1iZXI6ZmlsbC1jaGFyYWN0ZXI+IitidChpLnJlcGxhY2UoLyIiL2csJyInKSkrIjwv +bnVtYmVyOmZpbGwtY2hhcmFjdGVyPiJ9ZWxzZXthKz0iPG51bWJlcjp0ZXh0PiIrYnQoaS5yZXBs +YWNlKC8iIi9nLCciJykpKyI8L251bWJlcjp0ZXh0PiJ9ZT1lLnNsaWNlKHMrMSk7cz0wfXZhciBj +PWUubWF0Y2goLyhbIzBdWzAjLF0qKShcLlswI10qfCkoRVsrXT8wKnwpL2kpO2lmKCFjfHwhY1sw +XSljb25zb2xlLmVycm9yKCJDb3VsZCBub3QgZmluZCBudW1lcmljIHBhcnQgb2YgIitlKTtlbHNl +e3ZhciBoPWNbMV0ucmVwbGFjZSgvLC9nLCIiKTthKz0iPG51bWJlcjoiKyhjWzNdPyJzY2llbnRp +ZmljLSI6IiIpKyJudW1iZXIiKycgbnVtYmVyOm1pbi1pbnRlZ2VyLWRpZ2l0cz0iJysoaC5pbmRl +eE9mKCIwIik9PS0xPyIwIjpoLmxlbmd0aC1oLmluZGV4T2YoIjAiKSkrJyInKyhjWzBdLmluZGV4 +T2YoIiwiKT4tMT8nIG51bWJlcjpncm91cGluZz0idHJ1ZSInOiIiKSsoY1syXSYmJyBudW1iZXI6 +ZGVjaW1hbC1wbGFjZXM9IicrKGNbMl0ubGVuZ3RoLTEpKyciJ3x8JyBudW1iZXI6ZGVjaW1hbC1w +bGFjZXM9IjAiJykrKGNbM10mJmNbM10uaW5kZXhPZigiKyIpPi0xPycgbnVtYmVyOmZvcmNlZC1l +eHBvbmVudC1zaWduPSJ0cnVlIic6IiIpKyhjWzNdPycgbnVtYmVyOm1pbi1leHBvbmVudC1kaWdp +dHM9IicrY1szXS5tYXRjaCgvMCsvKVswXS5sZW5ndGgrJyInOiIiKSsiPiIrIjwvbnVtYmVyOiIr +KGNbM10/InNjaWVudGlmaWMtIjoiIikrIm51bWJlcj4iO3M9Yy5pbmRleCtjWzBdLmxlbmd0aH1p +ZihlW3NdPT0nIicpe2k9IiI7d2hpbGUoZVsrK3NdIT0nIid8fGVbKytzXT09JyInKWkrPWVbc107 +LS1zO2ErPSI8bnVtYmVyOnRleHQ+IitidChpLnJlcGxhY2UoLyIiL2csJyInKSkrIjwvbnVtYmVy +OnRleHQ+In19aWYoIWEpe2NvbnNvbGUuZXJyb3IoIkNvdWxkIG5vdCBnZW5lcmF0ZSBPRFMgbnVt +YmVyIGZvcm1hdCBmb3IgfCIrZSsifCIpO3JldHVybiIifXJldHVybiBCdCgibnVtYmVyOiIrdCsi +LXN0eWxlIixhLG4pfWZ1bmN0aW9uIFdiKGUscix0KXt2YXIgYT1bXTtmb3IodmFyIG49MDtuPGUu +bGVuZ3RoOysrbil7dmFyIGk9ZVtuXTtpZighaSljb250aW51ZTtpZihpLlNoZWV0PT0odD09LTE/ +bnVsbDp0KSlhLnB1c2goaSl9aWYoIWEubGVuZ3RoKXJldHVybiIiO3JldHVybiIgICAgICA8dGFi +bGU6bmFtZWQtZXhwcmVzc2lvbnM+XG4iK2EubWFwKGZ1bmN0aW9uKGUpe3ZhciByPSh0PT0tMT8i +JCI6IiIpK3B2KGUuUmVmKTtyZXR1cm4iICAgICAgICAiK0J0KCJ0YWJsZTpuYW1lZC1yYW5nZSIs +bnVsbCx7InRhYmxlOm5hbWUiOmUuTmFtZSwidGFibGU6Y2VsbC1yYW5nZS1hZGRyZXNzIjpyLCJ0 +YWJsZTpiYXNlLWNlbGwtYWRkcmVzcyI6ci5yZXBsYWNlKC9bXC5dW15cLl0qJC8sIi4kQSQxIil9 +KX0pLmpvaW4oIlxuIikrIlxuICAgICAgPC90YWJsZTpuYW1lZC1leHByZXNzaW9ucz5cbiJ9dmFy +IHpiPWZ1bmN0aW9uKCl7dmFyIGU9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gYnQoZSkucmVwbGFjZSgv +ICArL2csZnVuY3Rpb24oZSl7cmV0dXJuJzx0ZXh0OnMgdGV4dDpjPSInK2UubGVuZ3RoKyciLz4n +fSkucmVwbGFjZSgvXHQvZywiPHRleHQ6dGFiLz4iKS5yZXBsYWNlKC9cbi9nLHI/Ijx0ZXh0Omxp +bmUtYnJlYWsvPiI6IjwvdGV4dDpwPjx0ZXh0OnA+IikucmVwbGFjZSgvXiAvLCI8dGV4dDpzLz4i +KS5yZXBsYWNlKC8gJC8sIjx0ZXh0OnMvPiIpfTt2YXIgcj0iICAgICAgICAgIDx0YWJsZTp0YWJs +ZS1jZWxsIC8+XG4iO3ZhciB0PWZ1bmN0aW9uKHQsYSxuLGkscyxmKXt2YXIgbD1bXTtsLnB1c2go +JyAgICAgIDx0YWJsZTp0YWJsZSB0YWJsZTpuYW1lPSInK2J0KGEuU2hlZXROYW1lc1tuXSkrJyIg +dGFibGU6c3R5bGUtbmFtZT0idGExIj5cbicpO3ZhciBvPTAsYz0wLGg9WmEodFsiIXJlZiJdfHwi +QTEiKTt2YXIgdT10WyIhbWVyZ2VzIl18fFtdLGQ9MDt2YXIgdj10WyIhZGF0YSJdIT1udWxsO2lm +KHRbIiFjb2xzIl0pe2ZvcihjPTA7Yzw9aC5lLmM7KytjKWwucHVzaCgiICAgICAgICA8dGFibGU6 +dGFibGUtY29sdW1uIisodFsiIWNvbHMiXVtjXT8nIHRhYmxlOnN0eWxlLW5hbWU9ImNvJyt0WyIh +Y29scyJdW2NdLm9kcysnIic6IiIpKyI+PC90YWJsZTp0YWJsZS1jb2x1bW4+XG4iKX12YXIgcD0i +IixtPXRbIiFyb3dzIl18fFtdO2ZvcihvPTA7bzxoLnMucjsrK28pe3A9bVtvXT8nIHRhYmxlOnN0 +eWxlLW5hbWU9InJvJyttW29dLm9kcysnIic6IiI7bC5wdXNoKCIgICAgICAgIDx0YWJsZTp0YWJs +ZS1yb3ciK3ArIj48L3RhYmxlOnRhYmxlLXJvdz5cbiIpfWZvcig7bzw9aC5lLnI7KytvKXtwPW1b +b10/JyB0YWJsZTpzdHlsZS1uYW1lPSJybycrbVtvXS5vZHMrJyInOiIiO2wucHVzaCgiICAgICAg +ICA8dGFibGU6dGFibGUtcm93IitwKyI+XG4iKTtmb3IoYz0wO2M8aC5zLmM7KytjKWwucHVzaChy +KTtmb3IoO2M8PWguZS5jOysrYyl7dmFyIGc9ZmFsc2UsYj17fSx3PSIiO2ZvcihkPTA7ZCE9dS5s +ZW5ndGg7KytkKXtpZih1W2RdLnMuYz5jKWNvbnRpbnVlO2lmKHVbZF0ucy5yPm8pY29udGludWU7 +aWYodVtkXS5lLmM8Yyljb250aW51ZTtpZih1W2RdLmUucjxvKWNvbnRpbnVlO2lmKHVbZF0ucy5j +IT1jfHx1W2RdLnMuciE9bylnPXRydWU7YlsidGFibGU6bnVtYmVyLWNvbHVtbnMtc3Bhbm5lZCJd +PXVbZF0uZS5jLXVbZF0ucy5jKzE7YlsidGFibGU6bnVtYmVyLXJvd3Mtc3Bhbm5lZCJdPXVbZF0u +ZS5yLXVbZF0ucy5yKzE7YnJlYWt9aWYoZyl7bC5wdXNoKCIgICAgICAgICAgPHRhYmxlOmNvdmVy +ZWQtdGFibGUtY2VsbC8+XG4iKTtjb250aW51ZX12YXIgaz1ZYSh7cjpvLGM6Y30pLEE9dj8odFsi +IWRhdGEiXVtvXXx8W10pW2NdOnRba107aWYoQSYmQS5mKXtiWyJ0YWJsZTpmb3JtdWxhIl09YnQo +ZHYoQS5mKSk7aWYoQS5GKXtpZihBLkYuc2xpY2UoMCxrLmxlbmd0aCk9PWspe3ZhciBUPVphKEEu +Rik7YlsidGFibGU6bnVtYmVyLW1hdHJpeC1jb2x1bW5zLXNwYW5uZWQiXT1ULmUuYy1ULnMuYysx +O2JbInRhYmxlOm51bWJlci1tYXRyaXgtcm93cy1zcGFubmVkIl09VC5lLnItVC5zLnIrMX19fWlm +KCFBKXtsLnB1c2gocik7Y29udGludWV9c3dpdGNoKEEudCl7Y2FzZSJiIjp3PUEudj8iVFJVRSI6 +IkZBTFNFIjtiWyJvZmZpY2U6dmFsdWUtdHlwZSJdPSJib29sZWFuIjtiWyJvZmZpY2U6Ym9vbGVh +bi12YWx1ZSJdPUEudj8idHJ1ZSI6ImZhbHNlIjticmVhaztjYXNlIm4iOmlmKCFpc0Zpbml0ZShB +LnYpKXtpZihpc05hTihBLnYpKXt3PSIjTlVNISI7YlsidGFibGU6Zm9ybXVsYSJdPSJvZjo9I05V +TSEifWVsc2V7dz0iI0RJVi8wISI7YlsidGFibGU6Zm9ybXVsYSJdPSJvZjo9IisoQS52PDA/Ii0i +OiIiKSsiMS8wIn1iWyJvZmZpY2U6c3RyaW5nLXZhbHVlIl09IiI7Ylsib2ZmaWNlOnZhbHVlLXR5 +cGUiXT0ic3RyaW5nIjtiWyJjYWxjZXh0OnZhbHVlLXR5cGUiXT0iZXJyb3IifWVsc2V7dz1BLnd8 +fFN0cmluZyhBLnZ8fDApO2JbIm9mZmljZTp2YWx1ZS10eXBlIl09ImZsb2F0IjtiWyJvZmZpY2U6 +dmFsdWUiXT1BLnZ8fDB9YnJlYWs7Y2FzZSJzIjo7Y2FzZSJzdHIiOnc9QS52PT1udWxsPyIiOkEu +djtiWyJvZmZpY2U6dmFsdWUtdHlwZSJdPSJzdHJpbmciO2JyZWFrO2Nhc2UiZCI6dz1BLnd8fHdy +KEEudixmKS50b0lTT1N0cmluZygpO2JbIm9mZmljZTp2YWx1ZS10eXBlIl09ImRhdGUiO2JbIm9m +ZmljZTpkYXRlLXZhbHVlIl09d3IoQS52LGYpLnRvSVNPU3RyaW5nKCk7YlsidGFibGU6c3R5bGUt +bmFtZSJdPSJjZTEiO2JyZWFrO2RlZmF1bHQ6bC5wdXNoKHIpO2NvbnRpbnVlO312YXIgeT1lKHcp +O2lmKEEubCYmQS5sLlRhcmdldCl7dmFyIEU9QS5sLlRhcmdldDtFPUUuY2hhckF0KDApPT0iIyI/ +IiMiK3B2KEUuc2xpY2UoMSkpOkU7aWYoRS5jaGFyQXQoMCkhPSIjIiYmIUUubWF0Y2goL15cdys6 +LykpRT0iLi4vIitFO3k9QnQoInRleHQ6YSIseSx7InhsaW5rOmhyZWYiOkUucmVwbGFjZSgvJi9n +LCImYW1wOyIpfSl9aWYoc1tBLnpdKWJbInRhYmxlOnN0eWxlLW5hbWUiXT0iY2UiK3NbQS56XS5z +bGljZSgxKTt2YXIgQz1CdCgidGV4dDpwIix5LHt9KTtpZihBLmMpe3ZhciBfPSIiLFM9IiIseD17 +fTtmb3IodmFyIE89MDtPPEEuYy5sZW5ndGg7KytPKXtpZighXyYmQS5jW09dLmEpXz1BLmNbT10u +YTtTKz0iPHRleHQ6cD4iK2UoQS5jW09dLnQpKyI8L3RleHQ6cD4ifWlmKCFBLmMuaGlkZGVuKXhb +Im9mZmljZTpkaXNwbGF5Il09dHJ1ZTtDPUJ0KCJvZmZpY2U6YW5ub3RhdGlvbiIsUyx4KStDfWwu +cHVzaCgiICAgICAgICAgICIrQnQoInRhYmxlOnRhYmxlLWNlbGwiLEMsYikrIlxuIil9bC5wdXNo +KCIgICAgICAgIDwvdGFibGU6dGFibGUtcm93PlxuIil9aWYoKGEuV29ya2Jvb2t8fHt9KS5OYW1l +cylsLnB1c2goV2IoYS5Xb3JrYm9vay5OYW1lcyxhLlNoZWV0TmFtZXMsbikpO2wucHVzaCgiICAg +ICAgPC90YWJsZTp0YWJsZT5cbiIpO3JldHVybiBsLmpvaW4oIiIpfTt2YXIgYT1mdW5jdGlvbihl +LHIpe2UucHVzaCgiIDxvZmZpY2U6YXV0b21hdGljLXN0eWxlcz5cbiIpO3ZhciB0PTA7ci5TaGVl +dE5hbWVzLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gci5TaGVldHNbZV19KS5mb3JFYWNoKGZ1bmN0 +aW9uKHIpe2lmKCFyKXJldHVybjtpZihyWyIhY29scyJdKXtmb3IodmFyIGE9MDthPHJbIiFjb2xz +Il0ubGVuZ3RoOysrYSlpZihyWyIhY29scyJdW2FdKXt2YXIgbj1yWyIhY29scyJdW2FdO2lmKG4u +d2lkdGg9PW51bGwmJm4ud3B4PT1udWxsJiZuLndjaD09bnVsbCljb250aW51ZTtvYyhuKTtuLm9k +cz10O3ZhciBpPXJbIiFjb2xzIl1bYV0ud3B4KyJweCI7ZS5wdXNoKCcgIDxzdHlsZTpzdHlsZSBz +dHlsZTpuYW1lPSJjbycrdCsnIiBzdHlsZTpmYW1pbHk9InRhYmxlLWNvbHVtbiI+XG4nKTtlLnB1 +c2goJyAgIDxzdHlsZTp0YWJsZS1jb2x1bW4tcHJvcGVydGllcyBmbzpicmVhay1iZWZvcmU9ImF1 +dG8iIHN0eWxlOmNvbHVtbi13aWR0aD0iJytpKyciLz5cbicpO2UucHVzaCgiICA8L3N0eWxlOnN0 +eWxlPlxuIik7Kyt0fX19KTt2YXIgYT0wO3IuU2hlZXROYW1lcy5tYXAoZnVuY3Rpb24oZSl7cmV0 +dXJuIHIuU2hlZXRzW2VdfSkuZm9yRWFjaChmdW5jdGlvbihyKXtpZighcilyZXR1cm47aWYoclsi +IXJvd3MiXSl7Zm9yKHZhciB0PTA7dDxyWyIhcm93cyJdLmxlbmd0aDsrK3QpaWYoclsiIXJvd3Mi +XVt0XSl7clsiIXJvd3MiXVt0XS5vZHM9YTt2YXIgbj1yWyIhcm93cyJdW3RdLmhweCsicHgiOwpl +LnB1c2goJyAgPHN0eWxlOnN0eWxlIHN0eWxlOm5hbWU9InJvJythKyciIHN0eWxlOmZhbWlseT0i +dGFibGUtcm93Ij5cbicpO2UucHVzaCgnICAgPHN0eWxlOnRhYmxlLXJvdy1wcm9wZXJ0aWVzIGZv +OmJyZWFrLWJlZm9yZT0iYXV0byIgc3R5bGU6cm93LWhlaWdodD0iJytuKyciLz5cbicpO2UucHVz +aCgiICA8L3N0eWxlOnN0eWxlPlxuIik7KythfX19KTtlLnB1c2goJyAgPHN0eWxlOnN0eWxlIHN0 +eWxlOm5hbWU9InRhMSIgc3R5bGU6ZmFtaWx5PSJ0YWJsZSIgc3R5bGU6bWFzdGVyLXBhZ2UtbmFt +ZT0ibXAxIj5cbicpO2UucHVzaCgnICAgPHN0eWxlOnRhYmxlLXByb3BlcnRpZXMgdGFibGU6ZGlz +cGxheT0idHJ1ZSIgc3R5bGU6d3JpdGluZy1tb2RlPSJsci10YiIvPlxuJyk7ZS5wdXNoKCIgIDwv +c3R5bGU6c3R5bGU+XG4iKTtlLnB1c2goJyAgPG51bWJlcjpkYXRlLXN0eWxlIHN0eWxlOm5hbWU9 +Ik4zNyIgbnVtYmVyOmF1dG9tYXRpYy1vcmRlcj0idHJ1ZSI+XG4nKTtlLnB1c2goJyAgIDxudW1i +ZXI6bW9udGggbnVtYmVyOnN0eWxlPSJsb25nIi8+XG4nKTtlLnB1c2goIiAgIDxudW1iZXI6dGV4 +dD4vPC9udW1iZXI6dGV4dD5cbiIpO2UucHVzaCgnICAgPG51bWJlcjpkYXkgbnVtYmVyOnN0eWxl +PSJsb25nIi8+XG4nKTtlLnB1c2goIiAgIDxudW1iZXI6dGV4dD4vPC9udW1iZXI6dGV4dD5cbiIp +O2UucHVzaCgiICAgPG51bWJlcjp5ZWFyLz5cbiIpO2UucHVzaCgiICA8L251bWJlcjpkYXRlLXN0 +eWxlPlxuIik7dmFyIG49e307dmFyIGk9Njk7ci5TaGVldE5hbWVzLm1hcChmdW5jdGlvbihlKXty +ZXR1cm4gci5TaGVldHNbZV19KS5mb3JFYWNoKGZ1bmN0aW9uKHIpe2lmKCFyKXJldHVybjt2YXIg +dD1yWyIhZGF0YSJdIT1udWxsO2lmKCFyWyIhcmVmIl0pcmV0dXJuO3ZhciBhPVphKHJbIiFyZWYi +XSk7Zm9yKHZhciBzPTA7czw9YS5lLnI7KytzKWZvcih2YXIgZj0wO2Y8PWEuZS5jOysrZil7dmFy +IGw9dD8oclsiIWRhdGEiXVtzXXx8W10pW2ZdOnJbWWEoe3I6cyxjOmZ9KV07aWYoIWx8fCFsLnp8 +fGwuei50b0xvd2VyQ2FzZSgpPT0iZ2VuZXJhbCIpY29udGludWU7aWYoIW5bbC56XSl7dmFyIG89 +QmIobC56LCJOIitpKTtpZihvKXtuW2wuel09Ik4iK2k7KytpO2UucHVzaChvKyJcbiIpfX19fSk7 +ZS5wdXNoKCcgIDxzdHlsZTpzdHlsZSBzdHlsZTpuYW1lPSJjZTEiIHN0eWxlOmZhbWlseT0idGFi +bGUtY2VsbCIgc3R5bGU6cGFyZW50LXN0eWxlLW5hbWU9IkRlZmF1bHQiIHN0eWxlOmRhdGEtc3R5 +bGUtbmFtZT0iTjM3Ii8+XG4nKTtpcihuKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe2UucHVzaCgnPHN0 +eWxlOnN0eWxlIHN0eWxlOm5hbWU9ImNlJytuW3JdLnNsaWNlKDEpKyciIHN0eWxlOmZhbWlseT0i +dGFibGUtY2VsbCIgc3R5bGU6cGFyZW50LXN0eWxlLW5hbWU9IkRlZmF1bHQiIHN0eWxlOmRhdGEt +c3R5bGUtbmFtZT0iJytuW3JdKyciLz5cbicpfSk7ZS5wdXNoKCIgPC9vZmZpY2U6YXV0b21hdGlj +LXN0eWxlcz5cbiIpO3JldHVybiBufTtyZXR1cm4gZnVuY3Rpb24gbihlLHIpe3ZhciBuPVthdF07 +dmFyIGk9VXQoeyJ4bWxuczpvZmZpY2UiOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50 +OnhtbG5zOm9mZmljZToxLjAiLCJ4bWxuczp0YWJsZSI6InVybjpvYXNpczpuYW1lczp0YzpvcGVu +ZG9jdW1lbnQ6eG1sbnM6dGFibGU6MS4wIiwieG1sbnM6c3R5bGUiOiJ1cm46b2FzaXM6bmFtZXM6 +dGM6b3BlbmRvY3VtZW50OnhtbG5zOnN0eWxlOjEuMCIsInhtbG5zOnRleHQiOiJ1cm46b2FzaXM6 +bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRleHQ6MS4wIiwieG1sbnM6ZHJhdyI6InVybjpv +YXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6ZHJhd2luZzoxLjAiLCJ4bWxuczpmbyI6 +InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6eHNsLWZvLWNvbXBhdGlibGU6 +MS4wIiwieG1sbnM6eGxpbmsiOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieG1sbnM6 +ZGMiOiJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIsInhtbG5zOm1ldGEiOiJ1cm46 +b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm1ldGE6MS4wIiwieG1sbnM6bnVtYmVy +IjoidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkYXRhc3R5bGU6MS4wIiwi +eG1sbnM6cHJlc2VudGF0aW9uIjoidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxu +czpwcmVzZW50YXRpb246MS4wIiwieG1sbnM6c3ZnIjoidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5k +b2N1bWVudDp4bWxuczpzdmctY29tcGF0aWJsZToxLjAiLCJ4bWxuczpjaGFydCI6InVybjpvYXNp +czpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6Y2hhcnQ6MS4wIiwieG1sbnM6ZHIzZCI6InVy +bjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6ZHIzZDoxLjAiLCJ4bWxuczptYXRo +IjoiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIsInhtbG5zOmZvcm0iOiJ1cm46 +b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmZvcm06MS4wIiwieG1sbnM6c2NyaXB0 +IjoidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpzY3JpcHQ6MS4wIiwieG1s +bnM6b29vIjoiaHR0cDovL29wZW5vZmZpY2Uub3JnLzIwMDQvb2ZmaWNlIiwieG1sbnM6b29vdyI6 +Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA0L3dyaXRlciIsInhtbG5zOm9vb2MiOiJodHRwOi8v +b3Blbm9mZmljZS5vcmcvMjAwNC9jYWxjIiwieG1sbnM6ZG9tIjoiaHR0cDovL3d3dy53My5vcmcv +MjAwMS94bWwtZXZlbnRzIiwieG1sbnM6eGZvcm1zIjoiaHR0cDovL3d3dy53My5vcmcvMjAwMi94 +Zm9ybXMiLCJ4bWxuczp4c2QiOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIsInht +bG5zOnhzaSI6Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiwieG1s +bnM6c2hlZXQiOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnNoMzN0anM6MS4wIiwi +eG1sbnM6cnB0IjoiaHR0cDovL29wZW5vZmZpY2Uub3JnLzIwMDUvcmVwb3J0IiwieG1sbnM6b2Yi +OiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mOjEuMiIsInhtbG5zOnho +dG1sIjoiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsInhtbG5zOmdyZGRsIjoiaHR0cDov +L3d3dy53My5vcmcvMjAwMy9nL2RhdGEtdmlldyMiLCJ4bWxuczp0YWJsZW9vbyI6Imh0dHA6Ly9v +cGVub2ZmaWNlLm9yZy8yMDA5L3RhYmxlIiwieG1sbnM6ZHJhd29vbyI6Imh0dHA6Ly9vcGVub2Zm +aWNlLm9yZy8yMDEwL2RyYXciLCJ4bWxuczpjYWxjZXh0IjoidXJuOm9yZzpkb2N1bWVudGZvdW5k +YXRpb246bmFtZXM6ZXhwZXJpbWVudGFsOmNhbGM6eG1sbnM6Y2FsY2V4dDoxLjAiLCJ4bWxuczps +b2V4dCI6InVybjpvcmc6ZG9jdW1lbnRmb3VuZGF0aW9uOm5hbWVzOmV4cGVyaW1lbnRhbDpvZmZp +Y2U6eG1sbnM6bG9leHQ6MS4wIiwieG1sbnM6ZmllbGQiOiJ1cm46b3Blbm9mZmljZTpuYW1lczpl +eHBlcmltZW50YWw6b29vLW1zLWludGVyb3A6eG1sbnM6ZmllbGQ6MS4wIiwieG1sbnM6Zm9ybXgi +OiJ1cm46b3Blbm9mZmljZTpuYW1lczpleHBlcmltZW50YWw6b294bWwtb2RmLWludGVyb3A6eG1s +bnM6Zm9ybToxLjAiLCJ4bWxuczpjc3MzdCI6Imh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdGV4 +dC8iLCJvZmZpY2U6dmVyc2lvbiI6IjEuMiJ9KTt2YXIgcz1VdCh7InhtbG5zOmNvbmZpZyI6InVy +bjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6Y29uZmlnOjEuMCIsIm9mZmljZTpt +aW1ldHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuc3ByZWFkc2hlZXQi +fSk7aWYoci5ib29rVHlwZT09ImZvZHMiKXtuLnB1c2goIjxvZmZpY2U6ZG9jdW1lbnQiK2krcysi +PlxuIik7bi5wdXNoKE9pKCkucmVwbGFjZSgvPG9mZmljZTpkb2N1bWVudC1tZXRhW148Pl0qPz4v +LCIiKS5yZXBsYWNlKC88XC9vZmZpY2U6ZG9jdW1lbnQtbWV0YT4vLCIiKSsiXG4iKX1lbHNlIG4u +cHVzaCgiPG9mZmljZTpkb2N1bWVudC1jb250ZW50IitpKyI+XG4iKTt2YXIgZj1hKG4sZSk7bi5w +dXNoKCIgIDxvZmZpY2U6Ym9keT5cbiIpO24ucHVzaCgiICAgIDxvZmZpY2U6c3ByZWFkc2hlZXQ+ +XG4iKTtpZigoKGUuV29ya2Jvb2t8fHt9KS5XQlByb3BzfHx7fSkuZGF0ZTE5MDQpbi5wdXNoKCcg +ICAgICA8dGFibGU6Y2FsY3VsYXRpb24tc2V0dGluZ3MgdGFibGU6Y2FzZS1zZW5zaXRpdmU9ImZh +bHNlIiB0YWJsZTpzZWFyY2gtY3JpdGVyaWEtbXVzdC1hcHBseS10by13aG9sZS1jZWxsPSJ0cnVl +IiB0YWJsZTp1c2Utd2lsZGNhcmRzPSJ0cnVlIiB0YWJsZTp1c2UtcmVndWxhci1leHByZXNzaW9u +cz0iZmFsc2UiIHRhYmxlOmF1dG9tYXRpYy1maW5kLWxhYmVscz0iZmFsc2UiPlxuICAgICAgICA8 +dGFibGU6bnVsbC1kYXRlIHRhYmxlOmRhdGUtdmFsdWU9IjE5MDQtMDEtMDEiLz5cbiAgICAgIDwv +dGFibGU6Y2FsY3VsYXRpb24tc2V0dGluZ3M+XG4nKTtmb3IodmFyIGw9MDtsIT1lLlNoZWV0TmFt +ZXMubGVuZ3RoOysrbCluLnB1c2godChlLlNoZWV0c1tlLlNoZWV0TmFtZXNbbF1dLGUsbCxyLGYs +KChlLldvcmtib29rfHx7fSkuV0JQcm9wc3x8e30pLmRhdGUxOTA0KSk7aWYoKGUuV29ya2Jvb2t8 +fHt9KS5OYW1lcyluLnB1c2goV2IoZS5Xb3JrYm9vay5OYW1lcyxlLlNoZWV0TmFtZXMsLTEpKTtu +LnB1c2goIiAgICA8L29mZmljZTpzcHJlYWRzaGVldD5cbiIpO24ucHVzaCgiICA8L29mZmljZTpi +b2R5PlxuIik7aWYoci5ib29rVHlwZT09ImZvZHMiKW4ucHVzaCgiPC9vZmZpY2U6ZG9jdW1lbnQ+ +Iik7ZWxzZSBuLnB1c2goIjwvb2ZmaWNlOmRvY3VtZW50LWNvbnRlbnQ+Iik7cmV0dXJuIG4uam9p +bigiIil9fSgpO2Z1bmN0aW9uIEhiKGUscil7aWYoci5ib29rVHlwZT09ImZvZHMiKXJldHVybiB6 +YihlLHIpO3ZhciB0PWV0KCk7dmFyIGE9IiI7dmFyIG49W107dmFyIGk9W107YT0ibWltZXR5cGUi +O1FyKHQsYSwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5zcHJlYWRzaGVldCIp +O2E9ImNvbnRlbnQueG1sIjtRcih0LGEsemIoZSxyKSk7bi5wdXNoKFthLCJ0ZXh0L3htbCJdKTtp +LnB1c2goW2EsIkNvbnRlbnRGaWxlIl0pO2E9InN0eWxlcy54bWwiO1FyKHQsYSxVYihlLHIpKTtu +LnB1c2goW2EsInRleHQveG1sIl0pO2kucHVzaChbYSwiU3R5bGVzRmlsZSJdKTthPSJtZXRhLnht +bCI7UXIodCxhLGF0K09pKCkpO24ucHVzaChbYSwidGV4dC94bWwiXSk7aS5wdXNoKFthLCJNZXRh +ZGF0YUZpbGUiXSk7YT0ibWFuaWZlc3QucmRmIjtRcih0LGEseGkoaSkpO24ucHVzaChbYSwiYXBw +bGljYXRpb24vcmRmK3htbCJdKTthPSJNRVRBLUlORi9tYW5pZmVzdC54bWwiO1FyKHQsYSxDaShu +KSk7cmV0dXJuIHR9dmFyIFZiPWZ1bmN0aW9uKCl7dHJ5e2lmKHR5cGVvZiBVaW50OEFycmF5PT0i +dW5kZWZpbmVkIilyZXR1cm4ic2xpY2UiO2lmKHR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5z +dWJhcnJheT09InVuZGVmaW5lZCIpcmV0dXJuInNsaWNlIjtpZih0eXBlb2YgQnVmZmVyIT09InVu +ZGVmaW5lZCIpe2lmKHR5cGVvZiBCdWZmZXIucHJvdG90eXBlLnN1YmFycmF5PT0idW5kZWZpbmVk +IilyZXR1cm4ic2xpY2UiO2lmKCh0eXBlb2YgQnVmZmVyLmZyb209PSJmdW5jdGlvbiI/QnVmZmVy +LmZyb20oWzcyLDYyXSk6bmV3IEJ1ZmZlcihbNzIsNjJdKSlpbnN0YW5jZW9mIFVpbnQ4QXJyYXkp +cmV0dXJuInN1YmFycmF5IjtyZXR1cm4ic2xpY2UifXJldHVybiJzdWJhcnJheSJ9Y2F0Y2goZSl7 +cmV0dXJuInNsaWNlIn19KCk7ZnVuY3Rpb24gJGIoZSl7cmV0dXJuIG5ldyBEYXRhVmlldyhlLmJ1 +ZmZlcixlLmJ5dGVPZmZzZXQsZS5ieXRlTGVuZ3RoKX1mdW5jdGlvbiBYYihlKXtyZXR1cm4gdHlw +ZW9mIFRleHREZWNvZGVyIT0idW5kZWZpbmVkIj8obmV3IFRleHREZWNvZGVyKS5kZWNvZGUoZSk6 +SXQoTihlKSl9ZnVuY3Rpb24gR2IoZSl7cmV0dXJuIHR5cGVvZiBUZXh0RW5jb2RlciE9InVuZGVm +aW5lZCI/KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKGUpOkkoUnQoZSkpfWZ1bmN0aW9uIGpiKGUp +e3ZhciByPTA7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDsrK3Qpcis9ZVt0XS5sZW5ndGg7dmFyIGE9 +bmV3IFVpbnQ4QXJyYXkocik7dmFyIG49MDtmb3IodD0wO3Q8ZS5sZW5ndGg7Kyt0KXt2YXIgaT1l +W3RdLHM9aS5sZW5ndGg7aWYoczwyNTApe2Zvcih2YXIgZj0wO2Y8czsrK2YpYVtuKytdPWlbZl19 +ZWxzZXthLnNldChpLG4pO24rPXN9fXJldHVybiBhfWZ1bmN0aW9uIEtiKGUpe2UtPWU+PjEmMTQz +MTY1NTc2NTtlPShlJjg1ODk5MzQ1OSkrKGU+PjImODU4OTkzNDU5KTtyZXR1cm4oZSsoZT4+NCkm +MjUyNjQ1MTM1KSoxNjg0MzAwOT4+PjI0fWZ1bmN0aW9uIFliKGUscil7dmFyIHQ9KGVbcisxNV0m +MTI3KTw8N3xlW3IrMTRdPj4xO3ZhciBhPWVbcisxNF0mMTtmb3IodmFyIG49cisxMztuPj1yOy0t +bilhPWEqMjU2K2Vbbl07cmV0dXJuKGVbcisxNV0mMTI4Py1hOmEpKk1hdGgucG93KDEwLHQtNjE3 +Nil9ZnVuY3Rpb24gWmIoZSxyLHQpe3ZhciBhPU1hdGguZmxvb3IodD09MD8wOk1hdGguTE9HMTBF +Kk1hdGgubG9nKE1hdGguYWJzKHQpKSkrNjE3Ni0xNjt2YXIgbj10L01hdGgucG93KDEwLGEtNjE3 +Nik7ZVtyKzE1XXw9YT4+NztlW3IrMTRdfD0oYSYxMjcpPDwxO2Zvcih2YXIgaT0wO24+PTE7Kytp +LG4vPTI1NillW3IraV09biYyNTU7ZVtyKzE1XXw9dD49MD8wOjEyOH1mdW5jdGlvbiBKYihlLHIp +e3ZhciB0PXIubDt2YXIgYT1lW3RdJjEyNztlOmlmKGVbdCsrXT49MTI4KXthfD0oZVt0XSYxMjcp +PDw3O2lmKGVbdCsrXTwxMjgpYnJlYWsgZTthfD0oZVt0XSYxMjcpPDwxNDtpZihlW3QrK108MTI4 +KWJyZWFrIGU7YXw9KGVbdF0mMTI3KTw8MjE7aWYoZVt0KytdPDEyOClicmVhayBlO2ErPShlW3Rd +JjEyNykqTWF0aC5wb3coMiwyOCk7Kyt0O2lmKGVbdCsrXTwxMjgpYnJlYWsgZTthKz0oZVt0XSYx +MjcpKk1hdGgucG93KDIsMzUpOysrdDtpZihlW3QrK108MTI4KWJyZWFrIGU7YSs9KGVbdF0mMTI3 +KSpNYXRoLnBvdygyLDQyKTsrK3Q7aWYoZVt0KytdPDEyOClicmVhayBlfXIubD10O3JldHVybiBh +fWZ1bmN0aW9uIHFiKGUpe3ZhciByPW5ldyBVaW50OEFycmF5KDcpO3JbMF09ZSYxMjc7dmFyIHQ9 +MTtlOmlmKGU+MTI3KXtyW3QtMV18PTEyODtyW3RdPWU+PjcmMTI3OysrdDtpZihlPD0xNjM4Myli +cmVhayBlO3JbdC0xXXw9MTI4O3JbdF09ZT4+MTQmMTI3OysrdDtpZihlPD0yMDk3MTUxKWJyZWFr +IGU7clt0LTFdfD0xMjg7clt0XT1lPj4yMSYxMjc7Kyt0O2lmKGU8PTI2ODQzNTQ1NSlicmVhayBl +O3JbdC0xXXw9MTI4O3JbdF09ZS8yNTY+Pj4yMSYxMjc7Kyt0O2lmKGU8PTM0MzU5NzM4MzY3KWJy +ZWFrIGU7clt0LTFdfD0xMjg7clt0XT1lLzY1NTM2Pj4+MjEmMTI3OysrdDtpZihlPD00Mzk4MDQ2 +NTExMTAzKWJyZWFrIGU7clt0LTFdfD0xMjg7clt0XT1lLzE2Nzc3MjE2Pj4+MjEmMTI3OysrdH1y +ZXR1cm4gcltWYl0oMCx0KX1mdW5jdGlvbiBRYihlKXt2YXIgcj17bDowfTt2YXIgdD1bXTt3aGls +ZShyLmw8ZS5sZW5ndGgpdC5wdXNoKEpiKGUscikpO3JldHVybiB0fWZ1bmN0aW9uIGV3KGUpe3Jl +dHVybiBqYihlLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gcWIoZSl9KSl9ZnVuY3Rpb24gcncoZSl7 +dmFyIHI9MCx0PWVbcl0mMTI3O2lmKGVbcisrXTwxMjgpcmV0dXJuIHQ7dHw9KGVbcl0mMTI3KTw8 +NztpZihlW3IrK108MTI4KXJldHVybiB0O3R8PShlW3JdJjEyNyk8PDE0O2lmKGVbcisrXTwxMjgp +cmV0dXJuIHQ7dHw9KGVbcl0mMTI3KTw8MjE7aWYoZVtyKytdPDEyOClyZXR1cm4gdDt0fD0oZVty +XSYxNSk8PDI4O3JldHVybiB0fWZ1bmN0aW9uIHR3KGUpe3ZhciByPTAsdD1lW3JdJjEyNyxhPTA7 +ZTppZihlW3IrK10+PTEyOCl7dHw9KGVbcl0mMTI3KTw8NztpZihlW3IrK108MTI4KWJyZWFrIGU7 +dHw9KGVbcl0mMTI3KTw8MTQ7aWYoZVtyKytdPDEyOClicmVhayBlO3R8PShlW3JdJjEyNyk8PDIx +O2lmKGVbcisrXTwxMjgpYnJlYWsgZTt0fD0oZVtyXSYxMjcpPDwyODthPWVbcl0+PjQmNztpZihl +W3IrK108MTI4KWJyZWFrIGU7YXw9KGVbcl0mMTI3KTw8MztpZihlW3IrK108MTI4KWJyZWFrIGU7 +YXw9KGVbcl0mMTI3KTw8MTA7aWYoZVtyKytdPDEyOClicmVhayBlO2F8PShlW3JdJjEyNyk8PDE3 +O2lmKGVbcisrXTwxMjgpYnJlYWsgZTthfD0oZVtyXSYxMjcpPDwyNDtpZihlW3IrK108MTI4KWJy +ZWFrIGU7YXw9KGVbcl0mMTI3KTw8MzF9cmV0dXJuW3Q+Pj4wLGE+Pj4wXX1mdW5jdGlvbiBhdyhl +KXt2YXIgcj1bXSx0PXtsOjB9O3doaWxlKHQubDxlLmxlbmd0aCl7dmFyIGE9dC5sO3ZhciBuPUpi +KGUsdCk7dmFyIGk9biY3O249bi84fDA7dmFyIHM7dmFyIGY9dC5sO3N3aXRjaChpKXtjYXNlIDA6 +e3doaWxlKGVbZisrXT49MTI4KTtzPWVbVmJdKHQubCxmKTt0Lmw9Zn1icmVhaztjYXNlIDE6e3M9 +ZVtWYl0oZixmKzgpO3QubD1mKzh9YnJlYWs7Y2FzZSAyOnt2YXIgbD1KYihlLHQpO3M9ZVtWYl0o +dC5sLHQubCtsKTt0LmwrPWx9YnJlYWs7Y2FzZSA1OntzPWVbVmJdKGYsZis0KTt0Lmw9Zis0fWJy +ZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJQQiBUeXBlICIuY29uY2F0KGksIiBmb3IgRmll +bGQgIikuY29uY2F0KG4sIiBhdCBvZmZzZXQgIikuY29uY2F0KGEpKTt9dmFyIG89e2RhdGE6cyx0 +eXBlOml9O2lmKHJbbl09PW51bGwpcltuXT1bXTtyW25dLnB1c2gobyl9cmV0dXJuIHJ9ZnVuY3Rp +b24gbncoZSl7dmFyIHI9W107ZS5mb3JFYWNoKGZ1bmN0aW9uKGUsdCl7aWYodD09MClyZXR1cm47 +ZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lmKCFlLmRhdGEpcmV0dXJuO3IucHVzaChxYih0KjgrZS50 +eXBlKSk7aWYoZS50eXBlPT0yKXIucHVzaChxYihlLmRhdGEubGVuZ3RoKSk7ci5wdXNoKGUuZGF0 +YSl9KX0pO3JldHVybiBqYihyKX1mdW5jdGlvbiBpdyhlLHIpe3JldHVybihlPT1udWxsP3ZvaWQg +MDplLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gcihlLmRhdGEpfSkpfHxbXX1mdW5jdGlvbiBzdyhl +KXt2YXIgcjt2YXIgdD1bXSxhPXtsOjB9O3doaWxlKGEubDxlLmxlbmd0aCl7dmFyIG49SmIoZSxh +KTt2YXIgaT1hdyhlW1ZiXShhLmwsYS5sK24pKTthLmwrPW47dmFyIHM9e2lkOnJ3KGlbMV1bMF0u +ZGF0YSksbWVzc2FnZXM6W119O2lbMl0uZm9yRWFjaChmdW5jdGlvbihyKXt2YXIgdD1hdyhyLmRh +dGEpO3ZhciBuPXJ3KHRbM11bMF0uZGF0YSk7cy5tZXNzYWdlcy5wdXNoKHttZXRhOnQsZGF0YTpl +W1ZiXShhLmwsYS5sK24pfSk7YS5sKz1ufSk7aWYoKHI9aVszXSk9PW51bGw/dm9pZCAwOnJbMF0p +cy5tZXJnZT1ydyhpWzNdWzBdLmRhdGEpPj4+MD4wO3QucHVzaChzKX1yZXR1cm4gdH1mdW5jdGlv +biBmdyhlKXt2YXIgcj1bXTtlLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9W1tdLFt7ZGF0YTpx +YihlLmlkKSx0eXBlOjB9XSxbXV07aWYoZS5tZXJnZSE9bnVsbCl0WzNdPVt7ZGF0YTpxYigrISFl +Lm1lcmdlKSx0eXBlOjB9XTt2YXIgYT1bXTtlLm1lc3NhZ2VzLmZvckVhY2goZnVuY3Rpb24oZSl7 +YS5wdXNoKGUuZGF0YSk7ZS5tZXRhWzNdPVt7dHlwZTowLGRhdGE6cWIoZS5kYXRhLmxlbmd0aCl9 +XTt0WzJdLnB1c2goe2RhdGE6bncoZS5tZXRhKSx0eXBlOjJ9KX0pO3ZhciBuPW53KHQpO3IucHVz +aChxYihuLmxlbmd0aCkpO3IucHVzaChuKTthLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIHIu +cHVzaChlKX0pfSk7cmV0dXJuIGpiKHIpfWZ1bmN0aW9uIGx3KGUscil7aWYoZSE9MCl0aHJvdyBu +ZXcgRXJyb3IoIlVuZXhwZWN0ZWQgU25hcHB5IGNodW5rIHR5cGUgIi5jb25jYXQoZSkpO3ZhciB0 +PXtsOjB9O3ZhciBhPUpiKHIsdCk7dmFyIG49W107dmFyIGk9dC5sO3doaWxlKGk8ci5sZW5ndGgp +e3ZhciBzPXJbaV0mMztpZihzPT0wKXt2YXIgZj1yW2krK10+PjI7aWYoZjw2MCkrK2Y7ZWxzZXt2 +YXIgbD1mLTU5O2Y9cltpXTtpZihsPjEpZnw9cltpKzFdPDw4O2lmKGw+MilmfD1yW2krMl08PDE2 +O2lmKGw+MylmfD1yW2krM108PDI0O2Y+Pj49MDtmKys7aSs9bH1uLnB1c2gocltWYl0oaSxpK2Yp +KTtpKz1mO2NvbnRpbnVlfWVsc2V7dmFyIG89MCxjPTA7aWYocz09MSl7Yz0ocltpXT4+MiY3KSs0 +O289KHJbaSsrXSYyMjQpPDwzO298PXJbaSsrXX1lbHNle2M9KHJbaSsrXT4+MikrMTtpZihzPT0y +KXtvPXJbaV18cltpKzFdPDw4O2krPTJ9ZWxzZXtvPShyW2ldfHJbaSsxXTw8OHxyW2krMl08PDE2 +fHJbaSszXTw8MjQpPj4+MDtpKz00fX1pZihvPT0wKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBv +ZmZzZXQgMCIpO3ZhciBoPW4ubGVuZ3RoLTEsdT1vO3doaWxlKGg+PTAmJnU+PW5baF0ubGVuZ3Ro +KXt1LT1uW2hdLmxlbmd0aDstLWh9aWYoaDwwKXtpZih1PT0wKXU9bltoPTBdLmxlbmd0aDtlbHNl +IHRocm93IG5ldyBFcnJvcigiSW52YWxpZCBvZmZzZXQgYmV5b25kIGxlbmd0aCIpfWlmKGM8dSlu +LnB1c2gobltoXVtWYl0obltoXS5sZW5ndGgtdSxuW2hdLmxlbmd0aC11K2MpKTtlbHNle2lmKHU+ +MCl7bi5wdXNoKG5baF1bVmJdKG5baF0ubGVuZ3RoLXUpKTtjLT11fSsraDt3aGlsZShjPj1uW2hd +Lmxlbmd0aCl7bi5wdXNoKG5baF0pO2MtPW5baF0ubGVuZ3RoOysraH1pZihjKW4ucHVzaChuW2hd +W1ZiXSgwLGMpKX1pZihuLmxlbmd0aD4yNSluPVtqYihuKV19fXZhciBkPTA7Zm9yKHZhciB2PTA7 +djxuLmxlbmd0aDsrK3YpZCs9blt2XS5sZW5ndGg7aWYoZCE9YSl0aHJvdyBuZXcgRXJyb3IoIlVu +ZXhwZWN0ZWQgbGVuZ3RoOiAiLmNvbmNhdChkLCIgIT0gIikuY29uY2F0KGEpKTtyZXR1cm4gbn1m +dW5jdGlvbiBvdyhlKXtpZihBcnJheS5pc0FycmF5KGUpKWU9bmV3IFVpbnQ4QXJyYXkoZSk7dmFy +IHI9W107dmFyIHQ9MDt3aGlsZSh0PGUubGVuZ3RoKXt2YXIgYT1lW3QrK107dmFyIG49ZVt0XXxl +W3QrMV08PDh8ZVt0KzJdPDwxNjt0Kz0zO3IucHVzaC5hcHBseShyLGx3KGEsZVtWYl0odCx0K24p +KSk7dCs9bn1pZih0IT09ZS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJkYXRhIGlzIG5vdCBhIHZh +bGlkIGZyYW1lZCBzdHJlYW0hIik7cmV0dXJuIHIubGVuZ3RoPT0xP3JbMF06amIocil9ZnVuY3Rp +b24gY3coZSl7dmFyIHI9W107dmFyIHQ9MDt3aGlsZSh0PGUubGVuZ3RoKXt2YXIgYT1NYXRoLm1p +bihlLmxlbmd0aC10LDI2ODQzNTQ1NSk7dmFyIG49bmV3IFVpbnQ4QXJyYXkoNCk7ci5wdXNoKG4p +O3ZhciBpPXFiKGEpO3ZhciBzPWkubGVuZ3RoO3IucHVzaChpKTtpZihhPD02MCl7cysrO3IucHVz +aChuZXcgVWludDhBcnJheShbYS0xPDwyXSkpfWVsc2UgaWYoYTw9MjU2KXtzKz0yO3IucHVzaChu +ZXcgVWludDhBcnJheShbMjQwLGEtMSYyNTVdKSl9ZWxzZSBpZihhPD02NTUzNil7cys9MztyLnB1 +c2gobmV3IFVpbnQ4QXJyYXkoWzI0NCxhLTEmMjU1LGEtMT4+OCYyNTVdKSl9ZWxzZSBpZihhPD0x +Njc3NzIxNil7cys9NDtyLnB1c2gobmV3IFVpbnQ4QXJyYXkoWzI0OCxhLTEmMjU1LGEtMT4+OCYy +NTUsYS0xPj4xNiYyNTVdKSl9ZWxzZSBpZihhPD00Mjk0OTY3Mjk2KXtzKz01O3IucHVzaChuZXcg +VWludDhBcnJheShbMjUyLGEtMSYyNTUsYS0xPj44JjI1NSxhLTE+PjE2JjI1NSxhLTE+Pj4yNCYy +NTVdKSl9ci5wdXNoKGVbVmJdKHQsdCthKSk7cys9YTtuWzBdPTA7blsxXT1zJjI1NTtuWzJdPXM+ +PjgmMjU1O25bM109cz4+MTYmMjU1O3QrPWF9cmV0dXJuIGpiKHIpfXZhciBodz1mdW5jdGlvbigp +e3JldHVybntzc3Q6W10scnNzdDpbXSxvZm10OltdLG5mbXQ6W10sZm1sYTpbXSxmZXJyOltdLGNt +bnQ6W119fTtmdW5jdGlvbiB1dyhlLHIsdCxhLG4pe3ZhciBpLHMsZixsO3ZhciBvPXImMjU1LGM9 +cj4+ODt2YXIgaD1jPj01P246YTtlOmlmKHQmKGM+ND84OjQpJiZlLnQ9PSJuIiYmbz09Nyl7dmFy +IHU9KChpPWhbN10pPT1udWxsP3ZvaWQgMDppWzBdKT9ydyhoWzddWzBdLmRhdGEpOi0xO2lmKHU9 +PS0xKWJyZWFrIGU7dmFyIGQ9KChzPWhbMTVdKT09bnVsbD92b2lkIDA6c1swXSk/cncoaFsxNV1b +MF0uZGF0YSk6LTE7dmFyIHY9KChmPWhbMTZdKT09bnVsbD92b2lkIDA6ZlswXSk/cncoaFsxNl1b +MF0uZGF0YSk6LTE7dmFyIHA9KChsPWhbNDBdKT09bnVsbD92b2lkIDA6bFswXSk/cncoaFs0MF1b +MF0uZGF0YSk6LTE7dmFyIG09ZS52LGc9bTtyOmlmKHApe2lmKG09PTApe2Q9dj0yO2JyZWFrIHJ9 +aWYobT49NjA0ODAwKWQ9MTtlbHNlIGlmKG0+PTg2NDAwKWQ9MjtlbHNlIGlmKG0+PTM2MDApZD00 +O2Vsc2UgaWYobT49NjApZD04O2Vsc2UgaWYobT49MSlkPTE2O2Vsc2UgZD0zMjtpZihNYXRoLmZs +b29yKG0pIT1tKXY9MzI7ZWxzZSBpZihtJTYwKXY9MTY7ZWxzZSBpZihtJTM2MDApdj04O2Vsc2Ug +aWYobSU4NjQwMCl2PTQ7ZWxzZSBpZihtJTYwNDgwMCl2PTI7aWYodjxkKXY9ZH1pZihkPT0tMXx8 +dj09LTEpYnJlYWsgZTt2YXIgYj1bXSx3PVtdO2lmKGQ9PTEpe2c9bS82MDQ4MDA7aWYodj09MSl7 +dy5wdXNoKCdkImQiJyl9ZWxzZXtnfD0wO20tPTYwNDgwMCpnfWIucHVzaChnKyh1PT0yPyIgd2Vl +ayIrKGc9PTE/IiI6InMiKTp1PT0xPyJ3IjoiIikpfWlmKGQ8PTImJnY+PTIpe2c9bS84NjQwMDtp +Zih2PjIpe2d8PTA7bS09ODY0MDAqZ313LnB1c2goJ2QiZCInKTtiLnB1c2goZysodT09Mj8iIGRh +eSIrKGc9PTE/IiI6InMiKTp1PT0xPyJkIjoiIikpfWlmKGQ8PTQmJnY+PTQpe2c9bS8zNjAwO2lm +KHY+NCl7Z3w9MDttLT0zNjAwKmd9dy5wdXNoKChkPj00PyJbaF0iOiJoIikrJyJoIicpO2IucHVz +aChnKyh1PT0yPyIgaG91ciIrKGc9PTE/IiI6InMiKTp1PT0xPyJoIjoiIikpfWlmKGQ8PTgmJnY+ +PTgpe2c9bS82MDtpZih2Pjgpe2d8PTA7bS09NjAqZ313LnB1c2goKGQ+PTg/IlttXSI6Im0iKSsn +Im0iJyk7aWYodT09MCliLnB1c2goKGQ9PTgmJnY9PTh8fGc+PTEwPyIiOiIwIikrZyk7ZWxzZSBi +LnB1c2goZysodT09Mj8iIG1pbnV0ZSIrKGc9PTE/IiI6InMiKTp1PT0xPyJtIjoiIikpfWlmKGQ8 +PTE2JiZ2Pj0xNil7Zz1tO2lmKHY+MTYpe2d8PTA7bS09Z313LnB1c2goKGQ+PTE2PyJbc10iOiJz +IikrJyJzIicpO2lmKHU9PTApYi5wdXNoKCh2PT0xNiYmZD09MTZ8fGc+PTEwPyIiOiIwIikrZyk7 +ZWxzZSBiLnB1c2goZysodT09Mj8iIHNlY29uZCIrKGc9PTE/IiI6InMiKTp1PT0xPyJzIjoiIikp +fWlmKHY+PTMyKXtnPU1hdGgucm91bmQoMWUzKm0pO2lmKGQ8MzIpdy5wdXNoKCcuMDAwIm1zIicp +O2lmKHU9PTApYi5wdXNoKChnPj0xMDA/IiI6Zz49MTA/IjAiOiIwMCIpK2cpO2Vsc2UgYi5wdXNo +KGcrKHU9PTI/IiBtaWxsaXNlY29uZCIrKGc9PTE/IiI6InMiKTp1PT0xPyJtcyI6IiIpKX1lLnc9 +Yi5qb2luKHU9PTA/IjoiOiIgIik7ZS56PXcuam9pbih1PT0wPyciOiInOiIgIik7aWYodT09MCll +Lnc9ZS53LnJlcGxhY2UoLzooXGRcZFxkKSQvLCIuJDEiKX19ZnVuY3Rpb24gZHcoZSxyLHQsYSl7 +dmFyIG49JGIoZSk7dmFyIGk9bi5nZXRVaW50MzIoNCx0cnVlKTt2YXIgcz0tMSxmPS0xLGw9LTEs +bz1OYU4sYz0wLGg9bmV3IERhdGUoRGF0ZS5VVEMoMjAwMSwwLDEpKTt2YXIgdT10PjE/MTI6ODtp +ZihpJjIpe2w9bi5nZXRVaW50MzIodSx0cnVlKTt1Kz00fXUrPUtiKGkmKHQ+MT8zNDY4OjM5Nikp +KjQ7aWYoaSY1MTIpe3M9bi5nZXRVaW50MzIodSx0cnVlKTt1Kz00fXUrPUtiKGkmKHQ+MT8xMjI4 +ODo0MDk2KSkqNDtpZihpJjE2KXtmPW4uZ2V0VWludDMyKHUsdHJ1ZSk7dSs9NH1pZihpJjMyKXtv +PW4uZ2V0RmxvYXQ2NCh1LHRydWUpO3UrPTh9aWYoaSY2NCl7aC5zZXRUaW1lKGguZ2V0VGltZSgp +KyhjPW4uZ2V0RmxvYXQ2NCh1LHRydWUpKSoxZTMpO3UrPTh9aWYodD4xKXtpPW4uZ2V0VWludDMy +KDgsdHJ1ZSk+Pj4xNjtpZihpJjI1NSl7aWYobD09LTEpbD1uLmdldFVpbnQzMih1LHRydWUpO3Ur +PTR9fXZhciBkO3ZhciB2PWVbdD49ND8xOjJdO3N3aXRjaCh2KXtjYXNlIDA6cmV0dXJuIHZvaWQg +MDtjYXNlIDI6ZD17dDoibiIsdjpvfTticmVhaztjYXNlIDM6ZD17dDoicyIsdjpyLnNzdFtmXX07 +YnJlYWs7Y2FzZSA1OntpZihhPT1udWxsP3ZvaWQgMDphLmNlbGxEYXRlcylkPXt0OiJkIix2Omh9 +O2Vsc2UgZD17dDoibiIsdjpjLzg2NDAwKzM1NDMwLHo6cVsxNF19fWJyZWFrO2Nhc2UgNjpkPXt0 +OiJiIix2Om8+MH07YnJlYWs7Y2FzZSA3OmQ9e3Q6Im4iLHY6b307YnJlYWs7Y2FzZSA4OmQ9e3Q6 +ImUiLHY6MH07YnJlYWs7Y2FzZSA5OntpZihzPi0xKXt2YXIgcD1yLnJzc3Rbc107ZD17dDoicyIs +djpwLnZ9O2lmKHAubClkLmw9e1RhcmdldDpwLmx9fWVsc2UgdGhyb3cgbmV3IEVycm9yKCJVbnN1 +cHBvcnRlZCBjZWxsIHR5cGUgIi5jb25jYXQoZVtWYl0oMCw0KSkpfWJyZWFrO2RlZmF1bHQ6dGhy +b3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBjZWxsIHR5cGUgIi5jb25jYXQoZVtWYl0oMCw0KSkp +O31pZihsPi0xKXV3KGQsdnx0PDw4LGksci5vZm10W2xdLHIubmZtdFtsXSk7aWYodj09NylkLnYv +PTg2NDAwO3JldHVybiBkfWZ1bmN0aW9uIHZ3KGUscix0KXt2YXIgYT0kYihlKTt2YXIgbj1hLmdl +dFVpbnQzMig0LHRydWUpO3ZhciBpPWEuZ2V0VWludDMyKDgsdHJ1ZSk7dmFyIHM9MTI7dmFyIGY9 +LTEsbD0tMSxvPS0xLGM9TmFOLGg9TmFOLHU9MCxkPW5ldyBEYXRlKERhdGUuVVRDKDIwMDEsMCwx +KSksdj0tMSxwPS0xO2lmKGkmMSl7Yz1ZYihlLHMpO3MrPTE2fWlmKGkmMil7aD1hLmdldEZsb2F0 +NjQocyx0cnVlKTtzKz04fWlmKGkmNCl7ZC5zZXRUaW1lKGQuZ2V0VGltZSgpKyh1PWEuZ2V0Rmxv +YXQ2NChzLHRydWUpKSoxZTMpO3MrPTh9aWYoaSY4KXtsPWEuZ2V0VWludDMyKHMsdHJ1ZSk7cys9 +NH1pZihpJjE2KXtmPWEuZ2V0VWludDMyKHMsdHJ1ZSk7cys9NH1zKz1LYihpJjQ4MCkqNDtpZihp +JjUxMil7cD1hLmdldFVpbnQzMihzLHRydWUpO3MrPTR9cys9S2IoaSYxMDI0KSo0O2lmKGkmMjA0 +OCl7dj1hLmdldFVpbnQzMihzLHRydWUpO3MrPTR9dmFyIG07dmFyIGc9ZVsxXTtzd2l0Y2goZyl7 +Y2FzZSAwOm09e3Q6InoifTticmVhaztjYXNlIDI6bT17dDoibiIsdjpjfTticmVhaztjYXNlIDM6 +bT17dDoicyIsdjpyLnNzdFtsXX07YnJlYWs7Y2FzZSA1OntpZih0PT1udWxsP3ZvaWQgMDp0LmNl +bGxEYXRlcyltPXt0OiJkIix2OmR9O2Vsc2UgbT17dDoibiIsdjp1Lzg2NDAwKzM1NDMwLHo6cVsx +NF19fWJyZWFrO2Nhc2UgNjptPXt0OiJiIix2Omg+MH07YnJlYWs7Y2FzZSA3Om09e3Q6Im4iLHY6 +aH07YnJlYWs7Y2FzZSA4Om09e3Q6ImUiLHY6MH07YnJlYWs7Y2FzZSA5OntpZihmPi0xKXt2YXIg +Yj1yLnJzc3RbZl07bT17dDoicyIsdjpiLnZ9O2lmKGIubCltLmw9e1RhcmdldDpiLmx9fWVsc2Ug +dGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBjZWxsIHR5cGUgIi5jb25jYXQoZVsxXSwiIDog +IikuY29uY2F0KGkmMzEsIiA6ICIpLmNvbmNhdChlW1ZiXSgwLDQpKSl9YnJlYWs7Y2FzZSAxMDpt +PXt0OiJuIix2OmN9O2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBj +ZWxsIHR5cGUgIi5jb25jYXQoZVsxXSwiIDogIikuY29uY2F0KGkmMzEsIiA6ICIpLmNvbmNhdChl +W1ZiXSgwLDQpKSk7fXMrPUtiKGkmNDA5NikqNDtpZihpJjUxNjA5Nil7aWYobz09LTEpbz1hLmdl +dFVpbnQzMihzLHRydWUpO3MrPTR9aWYoaSY1MjQyODgpe3ZhciB3PWEuZ2V0VWludDMyKHMsdHJ1 +ZSk7cys9NDtpZihyLmNtbnRbd10pbS5jPV93KHIuY21udFt3XSl9aWYobz4tMSl1dyhtLGd8NTw8 +OCxpPj4xMyxyLm9mbXRbb10sci5uZm10W29dKTtpZihnPT03KW0udi89ODY0MDA7cmV0dXJuIG19 +ZnVuY3Rpb24gcHcoZSxyKXt2YXIgdD1uZXcgVWludDhBcnJheSgzMiksYT0kYih0KSxuPTEyLGk9 +MDt0WzBdPTU7c3dpdGNoKGUudCl7Y2FzZSJuIjppZihlLnomJkxlKGUueikpe3RbMV09NTthLnNl +dEZsb2F0NjQobiwodnIoZS52KzE0NjIpLmdldFRpbWUoKS1EYXRlLlVUQygyMDAxLDAsMSkpLzFl +Myx0cnVlKTtpfD00O24rPTg7YnJlYWt9ZWxzZXt0WzFdPTI7WmIodCxuLGUudik7aXw9MTtuKz0x +Nn1icmVhaztjYXNlImIiOnRbMV09NjthLnNldEZsb2F0NjQobixlLnY/MTowLHRydWUpO2l8PTI7 +bis9ODticmVhaztjYXNlInMiOnt2YXIgcz1lLnY9PW51bGw/IiI6U3RyaW5nKGUudik7aWYoZS5s +KXt2YXIgZj1yLnJzc3QuZmluZEluZGV4KGZ1bmN0aW9uKHIpe3ZhciB0O3JldHVybiByLnY9PXMm +JnIubD09KCh0PWUubCk9PW51bGw/dm9pZCAwOnQuVGFyZ2V0KX0pO2lmKGY9PS0xKXIucnNzdFtm +PXIucnNzdC5sZW5ndGhdPXt2OnMsbDplLmwuVGFyZ2V0fTt0WzFdPTk7YS5zZXRVaW50MzIobixm +LHRydWUpO2l8PTE2O24rPTR9ZWxzZXt2YXIgbD1yLnNzdC5pbmRleE9mKHMpO2lmKGw9PS0xKXIu +c3N0W2w9ci5zc3QubGVuZ3RoXT1zO3RbMV09MzthLnNldFVpbnQzMihuLGwsdHJ1ZSk7aXw9ODtu +Kz00fX1icmVhaztjYXNlImQiOnRbMV09NTthLnNldEZsb2F0NjQobiwoZS52LmdldFRpbWUoKS1E +YXRlLlVUQygyMDAxLDAsMSkpLzFlMyx0cnVlKTtpfD00O24rPTg7YnJlYWs7Y2FzZSJ6Ijp0WzFd +PTA7YnJlYWs7ZGVmYXVsdDp0aHJvdyJ1bnN1cHBvcnRlZCBjZWxsIHR5cGUgIitlLnQ7fWlmKGUu +Yyl7ci5jbW50LnB1c2goU3coZS5jKSk7YS5zZXRVaW50MzIobixyLmNtbnQubGVuZ3RoLTEsdHJ1 +ZSk7aXw9NTI0Mjg4O24rPTR9YS5zZXRVaW50MzIoOCxpLHRydWUpO3JldHVybiB0W1ZiXSgwLG4p +fWZ1bmN0aW9uIG13KGUscil7dmFyIHQ9bmV3IFVpbnQ4QXJyYXkoMzIpLGE9JGIodCksbj0xMixp +PTAscz0iIjt0WzBdPTQ7c3dpdGNoKGUudCl7Y2FzZSJuIjpicmVhaztjYXNlImIiOmJyZWFrO2Nh +c2UicyI6e3M9ZS52PT1udWxsPyIiOlN0cmluZyhlLnYpO2lmKGUubCl7dmFyIGY9ci5yc3N0LmZp +bmRJbmRleChmdW5jdGlvbihyKXt2YXIgdDtyZXR1cm4gci52PT1zJiZyLmw9PSgodD1lLmwpPT1u +dWxsP3ZvaWQgMDp0LlRhcmdldCl9KTtpZihmPT0tMSlyLnJzc3RbZj1yLnJzc3QubGVuZ3RoXT17 +djpzLGw6ZS5sLlRhcmdldH07dFsxXT05O2Euc2V0VWludDMyKG4sZix0cnVlKTtpfD01MTI7bis9 +NH1lbHNle319YnJlYWs7Y2FzZSJkIjpicmVhaztjYXNlImUiOmJyZWFrO2Nhc2UieiI6YnJlYWs7 +ZGVmYXVsdDp0aHJvdyJ1bnN1cHBvcnRlZCBjZWxsIHR5cGUgIitlLnQ7fWlmKGUuYyl7YS5zZXRV +aW50MzIobixyLmNtbnQubGVuZ3RoLTEsdHJ1ZSk7aXw9NDA5NjtuKz00fXN3aXRjaChlLnQpe2Nh +c2UibiI6dFsxXT0yO2Euc2V0RmxvYXQ2NChuLGUudix0cnVlKTtpfD0zMjtuKz04O2JyZWFrO2Nh +c2UiYiI6dFsxXT02O2Euc2V0RmxvYXQ2NChuLGUudj8xOjAsdHJ1ZSk7aXw9MzI7bis9ODticmVh +aztjYXNlInMiOntzPWUudj09bnVsbD8iIjpTdHJpbmcoZS52KTtpZihlLmwpe31lbHNle3ZhciBs +PXIuc3N0LmluZGV4T2Yocyk7aWYobD09LTEpci5zc3RbbD1yLnNzdC5sZW5ndGhdPXM7dFsxXT0z +O2Euc2V0VWludDMyKG4sbCx0cnVlKTtpfD0xNjtuKz00fX1icmVhaztjYXNlImQiOnRbMV09NTth +LnNldEZsb2F0NjQobiwoZS52LmdldFRpbWUoKS1EYXRlLlVUQygyMDAxLDAsMSkpLzFlMyx0cnVl +KTtpfD02NDtuKz04O2JyZWFrO2Nhc2UieiI6dFsxXT0wO2JyZWFrO2RlZmF1bHQ6dGhyb3cidW5z +dXBwb3J0ZWQgY2VsbCB0eXBlICIrZS50O31hLnNldFVpbnQzMig4LGksdHJ1ZSk7cmV0dXJuIHRb +VmJdKDAsbil9ZnVuY3Rpb24gZ3coZSxyLHQpe3N3aXRjaChlWzBdKXtjYXNlIDA6O2Nhc2UgMTo7 +Y2FzZSAyOjtjYXNlIDM6O2Nhc2UgNDpyZXR1cm4gZHcoZSxyLGVbMF0sdCk7Y2FzZSA1OnJldHVy +biB2dyhlLHIsdCk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIHBheWxvYWQg +dmVyc2lvbiAiLmNvbmNhdChlWzBdKSk7fX1mdW5jdGlvbiBidyhlKXt2YXIgcj1hdyhlKTtyZXR1 +cm4gcncoclsxXVswXS5kYXRhKX1mdW5jdGlvbiB3dyhlKXtyZXR1cm4gbncoW1tdLFt7dHlwZTow +LGRhdGE6cWIoZSl9XV0pfWZ1bmN0aW9uIGt3KGUscil7dmFyIHQ7dmFyIGE9KCh0PWUubWVzc2Fn +ZXNbMF0ubWV0YVs1XSk9PW51bGw/dm9pZCAwOnRbMF0pP1FiKGUubWVzc2FnZXNbMF0ubWV0YVs1 +XVswXS5kYXRhKTpbXTt2YXIgbj1hLmluZGV4T2Yocik7aWYobj09LTEpe2EucHVzaChyKTtlLm1l +c3NhZ2VzWzBdLm1ldGFbNV09W3t0eXBlOjIsZGF0YTpldyhhKX1dfX1mdW5jdGlvbiBBdyhlLHIp +e3ZhciB0O3ZhciBhPSgodD1lLm1lc3NhZ2VzWzBdLm1ldGFbNV0pPT1udWxsP3ZvaWQgMDp0WzBd +KT9RYihlLm1lc3NhZ2VzWzBdLm1ldGFbNV1bMF0uZGF0YSk6W107ZS5tZXNzYWdlc1swXS5tZXRh +WzVdPVt7dHlwZToyLGRhdGE6ZXcoYS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIGUhPXJ9KSl9 +XX1mdW5jdGlvbiBUdyhlLHIpe3ZhciB0PWF3KHIuZGF0YSk7dmFyIGE9cncodFsxXVswXS5kYXRh +KTt2YXIgbj10WzNdO3ZhciBpPVtdOyhufHxbXSkuZm9yRWFjaChmdW5jdGlvbihyKXt2YXIgdCxu +O3ZhciBzPWF3KHIuZGF0YSk7aWYoIXNbMV0pcmV0dXJuO3ZhciBmPXJ3KHNbMV1bMF0uZGF0YSk+ +Pj4wO3N3aXRjaChhKXtjYXNlIDE6aVtmXT1YYihzWzNdWzBdLmRhdGEpO2JyZWFrO2Nhc2UgODp7 +dmFyIGw9ZVtidyhzWzldWzBdLmRhdGEpXVswXTt2YXIgbz1hdyhsLmRhdGEpO3ZhciBjPWVbYnco +b1sxXVswXS5kYXRhKV1bMF07dmFyIGg9cncoYy5tZXRhWzFdWzBdLmRhdGEpO2lmKGghPTIwMDEp +dGhyb3cgbmV3IEVycm9yKCIyMDAwIHVuZXhwZWN0ZWQgcmVmZXJlbmNlIHRvICIuY29uY2F0KGgp +KTt2YXIgdT1hdyhjLmRhdGEpO3ZhciBkPXt2OnVbM10ubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBY +YihlLmRhdGEpfSkuam9pbigiIil9O2lbZl09ZDtlOmlmKCh0PXU9PW51bGw/dm9pZCAwOnVbMTFd +KT09bnVsbD92b2lkIDA6dFswXSl7dmFyIHY9KG49YXcodVsxMV1bMF0uZGF0YSkpPT1udWxsP3Zv +aWQgMDpuWzFdO2lmKCF2KWJyZWFrIGU7di5mb3JFYWNoKGZ1bmN0aW9uKHIpe3ZhciB0LGEsbjt2 +YXIgaT1hdyhyLmRhdGEpO2lmKCh0PWlbMl0pPT1udWxsP3ZvaWQgMDp0WzBdKXt2YXIgcz1lW2J3 +KChhPWlbMl0pPT1udWxsP3ZvaWQgMDphWzBdLmRhdGEpXVswXTt2YXIgZj1ydyhzLm1ldGFbMV1b +MF0uZGF0YSk7c3dpdGNoKGYpe2Nhc2UgMjAzMjp2YXIgbD1hdyhzLmRhdGEpO2lmKCgobj1sPT1u +dWxsP3ZvaWQgMDpsWzJdKT09bnVsbD92b2lkIDA6blswXSkmJiFkLmwpZC5sPVhiKGxbMl1bMF0u +ZGF0YSk7YnJlYWs7Y2FzZSAyMDM5OmJyZWFrO2RlZmF1bHQ6Y29uc29sZS5sb2coInVucmVjb2du +aXplZCBPYmplY3RBdHRyaWJ1dGUgdHlwZSAiLmNvbmNhdChmKSk7fX19KX19YnJlYWs7Y2FzZSAy +OmlbZl09YXcoc1s2XVswXS5kYXRhKTticmVhaztjYXNlIDM6aVtmXT1hdyhzWzVdWzBdLmRhdGEp +O2JyZWFrO2Nhc2UgMTA6e3ZhciBwPWVbYncoc1sxMF1bMF0uZGF0YSldWzBdO2lbZl09Q3coZSxw +LmRhdGEpfWJyZWFrO2RlZmF1bHQ6dGhyb3cgYTt9fSk7cmV0dXJuIGl9ZnVuY3Rpb24geXcoZSxy +KXt2YXIgdCxhLG4saSxzLGYsbCxvLGMsaCx1LGQsdixwO3ZhciBtPWF3KGUpO3ZhciBnPXJ3KG1b +MV1bMF0uZGF0YSk+Pj4wO3ZhciBiPXJ3KG1bMl1bMF0uZGF0YSk+Pj4wO3ZhciB3PSgoYT0odD1t +WzhdKT09bnVsbD92b2lkIDA6dFswXSk9PW51bGw/dm9pZCAwOmEuZGF0YSkmJnJ3KG1bOF1bMF0u +ZGF0YSk+MHx8ZmFsc2U7dmFyIGssQTtpZigoKGk9KG49bVs3XSk9PW51bGw/dm9pZCAwOm5bMF0p +PT1udWxsP3ZvaWQgMDppLmRhdGEpJiZyIT0wKXtrPShmPShzPW1bN10pPT1udWxsP3ZvaWQgMDpz +WzBdKT09bnVsbD92b2lkIDA6Zi5kYXRhO0E9KG89KGw9bVs2XSk9PW51bGw/dm9pZCAwOmxbMF0p +PT1udWxsP3ZvaWQgMDpvLmRhdGF9ZWxzZSBpZigoKGg9KGM9bVs0XSk9PW51bGw/dm9pZCAwOmNb +MF0pPT1udWxsP3ZvaWQgMDpoLmRhdGEpJiZyIT0xKXtrPShkPSh1PW1bNF0pPT1udWxsP3ZvaWQg +MDp1WzBdKT09bnVsbD92b2lkIDA6ZC5kYXRhO0E9KHA9KHY9bVszXSk9PW51bGw/dm9pZCAwOnZb +MF0pPT1udWxsP3ZvaWQgMDpwLmRhdGF9ZWxzZSB0aHJvdyJOVU1CRVJTIFRpbGUgbWlzc2luZyAi +LmNvbmNhdChyLCIgY2VsbCBzdG9yYWdlIik7dmFyIFQ9dz80OjE7dmFyIHk9JGIoayk7dmFyIEU9 +W107Zm9yKHZhciBDPTA7QzxrLmxlbmd0aC8yOysrQyl7dmFyIF89eS5nZXRVaW50MTYoQyoyLHRy +dWUpO2lmKF88NjU1MzUpRS5wdXNoKFtDLF9dKX1pZihFLmxlbmd0aCE9Yil0aHJvdyJFeHBlY3Rl +ZCAiLmNvbmNhdChiLCIgY2VsbHMsIGZvdW5kICIpLmNvbmNhdChFLmxlbmd0aCk7dmFyIFM9W107 +Zm9yKEM9MDtDPEUubGVuZ3RoLTE7KytDKVNbRVtDXVswXV09QVtWYl0oRVtDXVsxXSpULEVbQysx +XVsxXSpUKTtpZihFLmxlbmd0aD49MSlTW0VbRS5sZW5ndGgtMV1bMF1dPUFbVmJdKEVbRS5sZW5n +dGgtMV1bMV0qVCk7cmV0dXJue1I6ZyxjZWxsczpTfX1mdW5jdGlvbiBFdyhlLHIpe3ZhciB0O3Zh +ciBhPWF3KHIuZGF0YSk7dmFyIG49LTE7aWYoKHQ9YT09bnVsbD92b2lkIDA6YVs3XSk9PW51bGw/ +dm9pZCAwOnRbMF0pe2lmKHJ3KGFbN11bMF0uZGF0YSk+Pj4wKW49MTtlbHNlIG49MH12YXIgaT1p +dyhhWzVdLGZ1bmN0aW9uKGUpe3JldHVybiB5dyhlLG4pfSk7cmV0dXJue25yb3dzOnJ3KGFbNF1b +MF0uZGF0YSk+Pj4wLGRhdGE6aS5yZWR1Y2UoZnVuY3Rpb24oZSxyKXtpZighZVtyLlJdKWVbci5S +XT1bXTtyLmNlbGxzLmZvckVhY2goZnVuY3Rpb24odCxhKXtpZihlW3IuUl1bYV0pdGhyb3cgbmV3 +IEVycm9yKCJEdXBsaWNhdGUgY2VsbCByPSIuY29uY2F0KHIuUiwiIGM9IikuY29uY2F0KGEpKTtl +W3IuUl1bYV09dH0pO3JldHVybiBlfSxbXSl9fWZ1bmN0aW9uIEN3KGUscil7dmFyIHQsYSxuLGks +cyxmLGwsbyxjLGg7dmFyIHU9e3Q6IiIsYToiIn07dmFyIGQ9YXcocik7aWYoKGE9KHQ9ZD09bnVs +bD92b2lkIDA6ZFsxXSk9PW51bGw/dm9pZCAwOnRbMF0pPT1udWxsP3ZvaWQgMDphLmRhdGEpdS50 +PVhiKChpPShuPWQ9PW51bGw/dm9pZCAwOmRbMV0pPT1udWxsP3ZvaWQgMDpuWzBdKT09bnVsbD92 +b2lkIDA6aS5kYXRhKXx8IiI7aWYoKGY9KHM9ZD09bnVsbD92b2lkIDA6ZFszXSk9PW51bGw/dm9p +ZCAwOnNbMF0pPT1udWxsP3ZvaWQgMDpmLmRhdGEpe3ZhciB2PWVbYncoKG89KGw9ZD09bnVsbD92 +b2lkIDA6ZFszXSk9PW51bGw/dm9pZCAwOmxbMF0pPT1udWxsP3ZvaWQgMDpvLmRhdGEpXVswXTt2 +YXIgcD1hdyh2LmRhdGEpO2lmKChoPShjPXBbMV0pPT1udWxsP3ZvaWQgMDpjWzBdKT09bnVsbD92 +b2lkIDA6aC5kYXRhKXUuYT1YYihwWzFdWzBdLmRhdGEpfWlmKGQ9PW51bGw/dm9pZCAwOmRbNF0p +e3UucmVwbGllcz1bXTtkWzRdLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIHQ9ZVtidyhyLmRhdGEp +XVswXTt1LnJlcGxpZXMucHVzaChDdyhlLHQuZGF0YSkpfSl9cmV0dXJuIHV9ZnVuY3Rpb24gX3co +ZSl7dmFyIHI9W107ci5wdXNoKHt0OmUudHx8IiIsYTplLmEsVDplLnJlcGxpZXMmJmUucmVwbGll +cy5sZW5ndGg+MH0pO2lmKGUucmVwbGllcyllLnJlcGxpZXMuZm9yRWFjaChmdW5jdGlvbihlKXty +LnB1c2goe3Q6ZS50fHwiIixhOmUuYSxUOnRydWV9KX0pO3JldHVybiByfWZ1bmN0aW9uIFN3KGUp +e3ZhciByPXthOiIiLHQ6IiIscmVwbGllczpbXX07Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDsrK3Qp +e2lmKHQ9PTApe3IuYT1lW3RdLmE7ci50PWVbdF0udH1lbHNle3IucmVwbGllcy5wdXNoKHthOmVb +dF0uYSx0OmVbdF0udH0pfX1yZXR1cm4gcn1mdW5jdGlvbiB4dyhlLHIsdCxhKXt2YXIgbixpLHMs +ZixsLG8sYyxoLHUsZCx2LHAsbSxnO3ZhciBiPWF3KHIuZGF0YSk7dmFyIHc9e3M6e3I6MCxjOjB9 +LGU6e3I6MCxjOjB9fTt3LmUucj0ocncoYls2XVswXS5kYXRhKT4+PjApLTE7aWYody5lLnI8MCl0 +aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgcm93IHZhcmludCAiLmNvbmNhdChiWzZdWzBdLmRhdGEp +KTt3LmUuYz0ocncoYls3XVswXS5kYXRhKT4+PjApLTE7aWYody5lLmM8MCl0aHJvdyBuZXcgRXJy +b3IoIkludmFsaWQgY29sIHZhcmludCAiLmNvbmNhdChiWzddWzBdLmRhdGEpKTt0WyIhcmVmIl09 +SmEodyk7dmFyIGs9dFsiIWRhdGEiXSE9bnVsbCxBPXQ7dmFyIFQ9YXcoYls0XVswXS5kYXRhKTt2 +YXIgeT1odygpO2lmKChuPVRbNF0pPT1udWxsP3ZvaWQgMDpuWzBdKXkuc3N0PVR3KGUsZVtidyhU +WzRdWzBdLmRhdGEpXVswXSk7aWYoKGk9VFs2XSk9PW51bGw/dm9pZCAwOmlbMF0peS5mbWxhPVR3 +KGUsZVtidyhUWzZdWzBdLmRhdGEpXVswXSk7aWYoKHM9VFsxMV0pPT1udWxsP3ZvaWQgMDpzWzBd +KXkub2ZtdD1UdyhlLGVbYncoVFsxMV1bMF0uZGF0YSldWzBdKTtpZigoZj1UWzEyXSk9PW51bGw/ +dm9pZCAwOmZbMF0peS5mZXJyPVR3KGUsZVtidyhUWzEyXVswXS5kYXRhKV1bMF0pO2lmKChsPVRb +MTddKT09bnVsbD92b2lkIDA6bFswXSl5LnJzc3Q9VHcoZSxlW2J3KFRbMTddWzBdLmRhdGEpXVsw +XSk7aWYoKG89VFsxOV0pPT1udWxsP3ZvaWQgMDpvWzBdKXkuY21udD1UdyhlLGVbYncoVFsxOV1b +MF0uZGF0YSldWzBdKTtpZigoYz1UWzIyXSk9PW51bGw/dm9pZCAwOmNbMF0peS5uZm10PVR3KGUs +ZVtidyhUWzIyXVswXS5kYXRhKV1bMF0pO3ZhciBFPWF3KFRbM11bMF0uZGF0YSk7dmFyIEM9MDtp +ZighKChoPVRbOV0pPT1udWxsP3ZvaWQgMDpoWzBdKSl0aHJvdyJOVU1CRVJTIGZpbGUgbWlzc2lu +ZyByb3cgdHJlZSI7dmFyIF89YXcoVFs5XVswXS5kYXRhKVsxXS5tYXAoZnVuY3Rpb24oZSl7cmV0 +dXJuIGF3KGUuZGF0YSl9KTtfLmZvckVhY2goZnVuY3Rpb24ocil7Qz1ydyhyWzFdWzBdLmRhdGEp +O3ZhciBuPXJ3KHJbMl1bMF0uZGF0YSk7dmFyIGk9RVsxXVtuXTtpZighaSl0aHJvdyJOVU1CRVJT +IG1pc3NpbmcgdGlsZSAiK247dmFyIHM9YXcoaS5kYXRhKTt2YXIgZj1lW2J3KHNbMl1bMF0uZGF0 +YSldWzBdO3ZhciBsPXJ3KGYubWV0YVsxXVswXS5kYXRhKTtpZihsIT02MDAyKXRocm93IG5ldyBF +cnJvcigiNjAwMSB1bmV4cGVjdGVkIHJlZmVyZW5jZSB0byAiLmNvbmNhdChsKSk7dmFyIG89RXco +ZSxmKTtvLmRhdGEuZm9yRWFjaChmdW5jdGlvbihlLHIpe2UuZm9yRWFjaChmdW5jdGlvbihlLG4p +e3ZhciBpPWd3KGUseSxhKTtpZihpKXtpZihrKXtpZighQVsiIWRhdGEiXVtDK3JdKUFbIiFkYXRh +Il1bQytyXT1bXTtBWyIhZGF0YSJdW0Mrcl1bbl09aX1lbHNle3RbJGEobikrV2EoQytyKV09aX19 +fSl9KTtDKz1vLm5yb3dzfSk7aWYoKHU9VFsxM10pPT1udWxsP3ZvaWQgMDp1WzBdKXt2YXIgUz1l +W2J3KFRbMTNdWzBdLmRhdGEpXVswXTt2YXIgeD1ydyhTLm1ldGFbMV1bMF0uZGF0YSk7aWYoeCE9 +NjE0NCl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIG1lcmdlIHR5cGUgNjE0NCwgZm91bmQgIi5j +b25jYXQoeCkpO3RbIiFtZXJnZXMiXT0oZD1hdyhTLmRhdGEpKT09bnVsbD92b2lkIDA6ZFsxXS5t +YXAoZnVuY3Rpb24oZSl7dmFyIHI9YXcoZS5kYXRhKTt2YXIgdD0kYihhdyhyWzFdWzBdLmRhdGEp +WzFdWzBdLmRhdGEpLGE9JGIoYXcoclsyXVswXS5kYXRhKVsxXVswXS5kYXRhKTtyZXR1cm57czp7 +cjp0LmdldFVpbnQxNigwLHRydWUpLGM6dC5nZXRVaW50MTYoMix0cnVlKX0sZTp7cjp0LmdldFVp +bnQxNigwLHRydWUpK2EuZ2V0VWludDE2KDAsdHJ1ZSktMSxjOnQuZ2V0VWludDE2KDIsdHJ1ZSkr +YS5nZXRVaW50MTYoMix0cnVlKS0xfX19KX1pZighKCh2PXRbIiFtZXJnZXMiXSk9PW51bGw/dm9p +ZCAwOnYubGVuZ3RoKSYmKChwPWJbNDddKT09bnVsbD92b2lkIDA6cFswXSkpe3ZhciBPPWF3KGJb +NDddWzBdLmRhdGEpO2lmKChtPU9bMl0pPT1udWxsP3ZvaWQgMDptWzBdKXt2YXIgST1hdyhPWzJd +WzBdLmRhdGEpO2lmKChnPUlbM10pPT1udWxsP3ZvaWQgMDpnWzBdKXt0WyIhbWVyZ2VzIl09aXco +SVszXSxmdW5jdGlvbihlKXt2YXIgcix0LGEsbixpO3ZhciBzPWF3KGUpO3ZhciBmPWF3KHNbMl1b +MF0uZGF0YSk7dmFyIGw9YXcoZlsxXVswXS5kYXRhKTtpZighKChyPWxbMV0pPT1udWxsP3ZvaWQg +MDpyWzBdKSlyZXR1cm47dmFyIG89YXcobFsxXVswXS5kYXRhKTt2YXIgYz1ydyhvWzFdWzBdLmRh +dGEpO2lmKGMhPTY3KXJldHVybjt2YXIgaD1hdyhvWzQwXVswXS5kYXRhKTtpZighKCh0PWhbM10p +PT1udWxsP3ZvaWQgMDp0WzBdKXx8ISgoYT1oWzRdKT09bnVsbD92b2lkIDA6YVswXSkpcmV0dXJu +O3ZhciB1PWF3KGhbM11bMF0uZGF0YSk7dmFyIGQ9YXcoaFs0XVswXS5kYXRhKTt2YXIgdj1ydyh1 +WzFdWzBdLmRhdGEpO3ZhciBwPSgobj11WzJdKT09bnVsbD92b2lkIDA6blswXSk/cncodVsyXVsw +XS5kYXRhKTp2O3ZhciBtPXJ3KGRbMV1bMF0uZGF0YSk7dmFyIGc9KChpPWRbMl0pPT1udWxsP3Zv +aWQgMDppWzBdKT9ydyhkWzJdWzBdLmRhdGEpOm07cmV0dXJue3M6e3I6bSxjOnZ9LGU6e3I6Zyxj +OnB9fX0pLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZSE9bnVsbH0pfX19fWZ1bmN0aW9uIE93 +KGUscix0KXt2YXIgYT1hdyhyLmRhdGEpO3ZhciBuPXsiIXJlZiI6IkExIn07aWYodD09bnVsbD92 +b2lkIDA6dC5kZW5zZSluWyIhZGF0YSJdPVtdO3ZhciBpPWVbYncoYVsyXVswXS5kYXRhKV07dmFy +IHM9cncoaVswXS5tZXRhWzFdWzBdLmRhdGEpO2lmKHMhPTYwMDEpdGhyb3cgbmV3IEVycm9yKCI2 +MDAwIHVuZXhwZWN0ZWQgcmVmZXJlbmNlIHRvICIuY29uY2F0KHMpKTt4dyhlLGlbMF0sbix0KTty +ZXR1cm4gbn1mdW5jdGlvbiBJdyhlLHIsdCl7dmFyIGE7dmFyIG49YXcoci5kYXRhKTt2YXIgaT17 +bmFtZTooKGE9blsxXSk9PW51bGw/dm9pZCAwOmFbMF0pP1hiKG5bMV1bMF0uZGF0YSk6IiIsc2hl +ZXRzOltdfTt2YXIgcz1pdyhuWzJdLGJ3KTtzLmZvckVhY2goZnVuY3Rpb24ocil7ZVtyXS5mb3JF +YWNoKGZ1bmN0aW9uKHIpe3ZhciBhPXJ3KHIubWV0YVsxXVswXS5kYXRhKTtpZihhPT02ZTMpaS5z +aGVldHMucHVzaChPdyhlLHIsdCkpfSl9KTtyZXR1cm4gaX1mdW5jdGlvbiBSdyhlLHIsdCl7dmFy +IGE7dmFyIG49JGsoKTtuLldvcmtib29rPXtXQlByb3BzOntkYXRlMTkwNDp0cnVlfX07dmFyIGk9 +YXcoci5kYXRhKTtpZigoYT1pWzJdKT09bnVsbD92b2lkIDA6YVswXSl0aHJvdyBuZXcgRXJyb3Io +IktleW5vdGUgcHJlc2VudGF0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCIpO3ZhciBzPWl3KGlbMV0s +YncpO3MuZm9yRWFjaChmdW5jdGlvbihyKXtlW3JdLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGE9 +cncoci5tZXRhWzFdWzBdLmRhdGEpO2lmKGE9PTIpe3ZhciBpPUl3KGUscix0KTtpLnNoZWV0cy5m +b3JFYWNoKGZ1bmN0aW9uKGUscil7WGsobixlLHI9PTA/aS5uYW1lOmkubmFtZSsiXyIrcix0cnVl +KX0pfX0pfSk7aWYobi5TaGVldE5hbWVzLmxlbmd0aD09MCl0aHJvdyBuZXcgRXJyb3IoIkVtcHR5 +IE5VTUJFUlMgZmlsZSIpO24uYm9va1R5cGU9Im51bWJlcnMiO3JldHVybiBufWZ1bmN0aW9uIE53 +KGUscil7dmFyIHQsYSxuLGkscyxmLGw7dmFyIG89e30sYz1bXTtlLkZ1bGxQYXRocy5mb3JFYWNo +KGZ1bmN0aW9uKGUpe2lmKGUubWF0Y2goL1wuaXdwdjIvKSl0aHJvdyBuZXcgRXJyb3IoIlVuc3Vw +cG9ydGVkIHBhc3N3b3JkIHByb3RlY3Rpb24iKX0pO2UuRmlsZUluZGV4LmZvckVhY2goZnVuY3Rp +b24oZSl7aWYoIWUubmFtZS5tYXRjaCgvXC5pd2EkLykpcmV0dXJuO2lmKGUuY29udGVudFswXSE9 +MClyZXR1cm47dmFyIHI7dHJ5e3I9b3coZS5jb250ZW50KX1jYXRjaCh0KXtyZXR1cm4gY29uc29s +ZS5sb2coIj8/ICIrZS5jb250ZW50Lmxlbmd0aCsiICIrKHQubWVzc2FnZXx8dCkpfXZhciBhO3Ry +eXthPXN3KHIpfWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmxvZygiIyMgIisodC5tZXNzYWdlfHx0 +KSl9YS5mb3JFYWNoKGZ1bmN0aW9uKGUpe29bZS5pZF09ZS5tZXNzYWdlcztjLnB1c2goZS5pZCl9 +KX0pO2lmKCFjLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkZpbGUgaGFzIG5vIG1lc3NhZ2VzIik7 +aWYoKChuPShhPSh0PW89PW51bGw/dm9pZCAwOm9bMV0pPT1udWxsP3ZvaWQgMDp0WzBdLm1ldGEp +PT1udWxsP3ZvaWQgMDphWzFdKT09bnVsbD92b2lkIDA6blswXS5kYXRhKSYmcncob1sxXVswXS5t +ZXRhWzFdWzBdLmRhdGEpPT0xZTQpdGhyb3cgbmV3IEVycm9yKCJQYWdlcyBkb2N1bWVudHMgYXJl +IG5vdCBzdXBwb3J0ZWQiKTt2YXIgaD0oKGw9KGY9KHM9KGk9bz09bnVsbD92b2lkIDA6b1sxXSk9 +PW51bGw/dm9pZCAwOmlbMF0pPT1udWxsP3ZvaWQgMDpzLm1ldGEpPT1udWxsP3ZvaWQgMDpmWzFd +KT09bnVsbD92b2lkIDA6bFswXS5kYXRhKSYmcncob1sxXVswXS5tZXRhWzFdWzBdLmRhdGEpPT0x +JiZvWzFdWzBdO2lmKCFoKWMuZm9yRWFjaChmdW5jdGlvbihlKXtvW2VdLmZvckVhY2goZnVuY3Rp +b24oZSl7dmFyIHI9cncoZS5tZXRhWzFdWzBdLmRhdGEpPj4+MDtpZihyPT0xKXtpZighaCloPWU7 +ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkRvY3VtZW50IGhhcyBtdWx0aXBsZSByb290cyIpfX0pfSk7 +aWYoIWgpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgZmluZCBEb2N1bWVudCByb290Iik7cmV0dXJu +IFJ3KG8saCxyKX1mdW5jdGlvbiBGdyhlLHIsdCl7dmFyIGEsbixpO3ZhciBzPVtbXSxbe3R5cGU6 +MCxkYXRhOnFiKDApfV0sW3t0eXBlOjAsZGF0YTpxYigwKX1dLFt7dHlwZToyLGRhdGE6bmV3IFVp +bnQ4QXJyYXkoW10pfV0sW3t0eXBlOjIsZGF0YTpuZXcgVWludDhBcnJheShBcnJheS5mcm9tKHts +ZW5ndGg6NTEwfSxmdW5jdGlvbigpe3JldHVybiAyNTV9KSl9XSxbe3R5cGU6MCxkYXRhOnFiKDUp +fV0sW3t0eXBlOjIsZGF0YTpuZXcgVWludDhBcnJheShbXSl9XSxbe3R5cGU6MixkYXRhOm5ldyBV +aW50OEFycmF5KEFycmF5LmZyb20oe2xlbmd0aDo1MTB9LGZ1bmN0aW9uKCl7cmV0dXJuIDI1NX0p +KX1dLFt7dHlwZTowLGRhdGE6cWIoMSl9XV07aWYoISgoYT1zWzZdKT09bnVsbD92b2lkIDA6YVsw +XSl8fCEoKG49c1s3XSk9PW51bGw/dm9pZCAwOm5bMF0pKXRocm93Ik11dGF0aW9uIG9ubHkgd29y +a3Mgb24gcG9zdC1CTkMgc3RvcmFnZXMhIjt2YXIgZj0wO2lmKHNbN11bMF0uZGF0YS5sZW5ndGg8 +MiplLmxlbmd0aCl7dmFyIGw9bmV3IFVpbnQ4QXJyYXkoMiplLmxlbmd0aCk7bC5zZXQoc1s3XVsw +XS5kYXRhKTtzWzddWzBdLmRhdGE9bH1pZihzWzRdWzBdLmRhdGEubGVuZ3RoPDIqZS5sZW5ndGgp +e3ZhciBvPW5ldyBVaW50OEFycmF5KDIqZS5sZW5ndGgpO28uc2V0KHNbNF1bMF0uZGF0YSk7c1s0 +XVswXS5kYXRhPW99dmFyIGM9JGIoc1s3XVswXS5kYXRhKSxoPTAsdT1bXTt2YXIgZD0kYihzWzRd +WzBdLmRhdGEpLHY9MCxwPVtdO3ZhciBtPXQ/NDoxO2Zvcih2YXIgZz0wO2c8ZS5sZW5ndGg7Kytn +KXtpZihlW2ddPT1udWxsfHxlW2ddLnQ9PSJ6IiYmISgoaT1lW2ddLmMpPT1udWxsP3ZvaWQgMDpp +Lmxlbmd0aCl8fGVbZ10udD09ImUiKXtjLnNldFVpbnQxNihnKjIsNjU1MzUsdHJ1ZSk7ZC5zZXRV +aW50MTYoZyoyLDY1NTM1KTtjb250aW51ZX1jLnNldFVpbnQxNihnKjIsaC9tLHRydWUpO2Quc2V0 +VWludDE2KGcqMix2L20sdHJ1ZSk7dmFyIGIsdztzd2l0Y2goZVtnXS50KXtjYXNlImQiOmlmKGVb +Z10udiBpbnN0YW5jZW9mIERhdGUpe2I9cHcoZVtnXSxyKTt3PW13KGVbZ10scik7YnJlYWt9Yj1w +dyhlW2ddLHIpO3c9bXcoZVtnXSxyKTticmVhaztjYXNlInMiOjtjYXNlIm4iOjtjYXNlImIiOjtj +YXNlInoiOmI9cHcoZVtnXSxyKTt3PW13KGVbZ10scik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcg +RXJyb3IoIlVuc3VwcG9ydGVkIHZhbHVlICIrZVtnXSk7fXUucHVzaChiKTtoKz1iLmxlbmd0aDt7 +cC5wdXNoKHcpO3YrPXcubGVuZ3RofSsrZn1zWzJdWzBdLmRhdGE9cWIoZik7c1s1XVswXS5kYXRh +PXFiKDUpO2Zvcig7ZzxzWzddWzBdLmRhdGEubGVuZ3RoLzI7KytnKXtjLnNldFVpbnQxNihnKjIs +NjU1MzUsdHJ1ZSk7ZC5zZXRVaW50MTYoZyoyLDY1NTM1LHRydWUpfXNbNl1bMF0uZGF0YT1qYih1 +KTtzWzNdWzBdLmRhdGE9amIocCk7c1s4XT1be3R5cGU6MCxkYXRhOnFiKHQ/MTowKX1dO3JldHVy +biBzfWZ1bmN0aW9uIER3KGUscil7cmV0dXJue21ldGE6W1tdLFt7dHlwZTowLGRhdGE6cWIoZSl9 +XV0sZGF0YTpyfX1mdW5jdGlvbiBQdyhlLHIpe2lmKCFyLmxhc3Qpci5sYXN0PTkyNzI2Mjtmb3Io +dmFyIHQ9ci5sYXN0O3Q8MmU2OysrdClpZighclt0XSl7cltyLmxhc3Q9dF09ZTtyZXR1cm4gdH10 +aHJvdyBuZXcgRXJyb3IoIlRvbyBtYW55IG1lc3NhZ2VzIil9ZnVuY3Rpb24gTHcoZSl7dmFyIHI9 +e307dmFyIHQ9W107ZS5GaWxlSW5kZXgubWFwKGZ1bmN0aW9uKHIsdCl7cmV0dXJuW3IsZS5GdWxs +UGF0aHNbdF1dfSkuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgYT1lWzBdLG49ZVsxXTtpZihhLnR5 +cGUhPTIpcmV0dXJuO2lmKCFhLm5hbWUubWF0Y2goL1wuaXdhLykpcmV0dXJuO2lmKGEuY29udGVu +dFswXSE9MClyZXR1cm47c3cob3coYS5jb250ZW50KSkuZm9yRWFjaChmdW5jdGlvbihlKXt0LnB1 +c2goZS5pZCk7cltlLmlkXT17ZGVwczpbXSxsb2NhdGlvbjpuLHR5cGU6cncoZS5tZXNzYWdlc1sw +XS5tZXRhWzFdWzBdLmRhdGEpfX0pfSk7ZS5GaWxlSW5kZXguZm9yRWFjaChmdW5jdGlvbihlKXtp +ZighZS5uYW1lLm1hdGNoKC9cLml3YS8pKXJldHVybjtpZihlLmNvbnRlbnRbMF0hPTApcmV0dXJu +O3N3KG93KGUuY29udGVudCkpLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5tZXNzYWdlcy5mb3JFYWNo +KGZ1bmN0aW9uKHQpe1s1LDZdLmZvckVhY2goZnVuY3Rpb24oYSl7aWYoIXQubWV0YVthXSlyZXR1 +cm47dC5tZXRhW2FdLmZvckVhY2goZnVuY3Rpb24odCl7cltlLmlkXS5kZXBzLnB1c2gocncodC5k +YXRhKSl9KX0pfSl9KX0pO3JldHVybiByfWZ1bmN0aW9uIE13KGUscix0KXtyZXR1cm4gbncoW1td +LFt7dHlwZTowLGRhdGE6cWIoMSl9XSxbXSxbe3R5cGU6NSxkYXRhOm5ldyBVaW50OEFycmF5KEZs +b2F0MzJBcnJheS5mcm9tKFtlLzI1NV0pLmJ1ZmZlcil9XSxbe3R5cGU6NSxkYXRhOm5ldyBVaW50 +OEFycmF5KEZsb2F0MzJBcnJheS5mcm9tKFtyLzI1NV0pLmJ1ZmZlcil9XSxbe3R5cGU6NSxkYXRh +Om5ldyBVaW50OEFycmF5KEZsb2F0MzJBcnJheS5mcm9tKFt0LzI1NV0pLmJ1ZmZlcil9XSxbe3R5 +cGU6NSxkYXRhOm5ldyBVaW50OEFycmF5KEZsb2F0MzJBcnJheS5mcm9tKFsxXSkuYnVmZmVyKX1d +LFtdLFtdLFtdLFtdLFtdLFt7dHlwZTowLGRhdGE6cWIoMSl9XV0pfWZ1bmN0aW9uIFV3KGUpe3N3 +aXRjaChlKXtjYXNlIDA6cmV0dXJuIE13KDk5LDIyMiwxNzEpO2Nhc2UgMTpyZXR1cm4gTXcoMTYy +LDE5NywyNDApO2Nhc2UgMjpyZXR1cm4gTXcoMjU1LDE4OSwxODkpO31yZXR1cm4gTXcoTWF0aC5y +YW5kb20oKSoyNTUsTWF0aC5yYW5kb20oKSoyNTUsTWF0aC5yYW5kb20oKSoyNTUpfWZ1bmN0aW9u +IEJ3KGUscil7aWYoIXJ8fCFyLm51bWJlcnMpdGhyb3cgbmV3IEVycm9yKCJNdXN0IHBhc3MgYSBg +bnVtYmVyc2Agb3B0aW9uIC0tIGNoZWNrIHRoZSBSRUFETUUiKTt2YXIgdD1RZS5yZWFkKHIubnVt +YmVycyx7dHlwZToiYmFzZTY0In0pO3ZhciBhPUx3KHQpO3ZhciBuPXp3KHQsYSwxKTtpZihuPT1u +dWxsKXRocm93IkNvdWxkIG5vdCBmaW5kIG1lc3NhZ2UgIi5jb25jYXQoMSwiIGluIE51bWJlcnMg +dGVtcGxhdGUiKTt2YXIgaT1pdyhhdyhuLm1lc3NhZ2VzWzBdLmRhdGEpWzFdLGJ3KTtpZihpLmxl +bmd0aD4xKXRocm93IG5ldyBFcnJvcigiVGVtcGxhdGUgTlVNQkVSUyBmaWxlIG11c3QgaGF2ZSBl +eGFjdGx5IG9uZSBzaGVldCIpO2UuU2hlZXROYW1lcy5mb3JFYWNoKGZ1bmN0aW9uKHIscyl7aWYo +cz49MSl7R3codCxhLHMrMSk7bj16dyh0LGEsMSk7aT1pdyhhdyhuLm1lc3NhZ2VzWzBdLmRhdGEp +WzFdLGJ3KX1qdyh0LGEsZS5TaGVldHNbcl0scixzLGlbc10pfSk7cmV0dXJuIHR9ZnVuY3Rpb24g +V3coZSxyLHQsYSl7dmFyIG49UWUuZmluZChlLHJbdF0ubG9jYXRpb24pO2lmKCFuKXRocm93IkNv +dWxkIG5vdCBmaW5kICIuY29uY2F0KHJbdF0ubG9jYXRpb24sIiBpbiBOdW1iZXJzIHRlbXBsYXRl +Iik7dmFyIGk9c3cob3cobi5jb250ZW50KSk7dmFyIHM9aS5maW5kKGZ1bmN0aW9uKGUpe3JldHVy +biBlLmlkPT10fSk7YShzLGkpO24uY29udGVudD1jdyhmdyhpKSk7bi5zaXplPW4uY29udGVudC5s +ZW5ndGh9ZnVuY3Rpb24gencoZSxyLHQpe3ZhciBhPVFlLmZpbmQoZSxyW3RdLmxvY2F0aW9uKTtp +ZighYSl0aHJvdyJDb3VsZCBub3QgZmluZCAiLmNvbmNhdChyW3RdLmxvY2F0aW9uLCIgaW4gTnVt +YmVycyB0ZW1wbGF0ZSIpO3ZhciBuPXN3KG93KGEuY29udGVudCkpO3ZhciBpPW4uZmluZChmdW5j +dGlvbihlKXtyZXR1cm4gZS5pZD09dH0pO3JldHVybiBpfWZ1bmN0aW9uIEh3KGUscix0KXtlWzNd +LnB1c2goe3R5cGU6MixkYXRhOm53KFtbXSxbe3R5cGU6MCxkYXRhOnFiKHIpfV0sW3t0eXBlOjIs +ZGF0YTpHYih0LnJlcGxhY2UoLy1bXHNcU10qJC8sIiIpKX1dLFt7dHlwZToyLGRhdGE6R2IodCl9 +XSxbe3R5cGU6MixkYXRhOm5ldyBVaW50OEFycmF5KFsyLDAsMF0pfV0sW3t0eXBlOjIsZGF0YTpu +ZXcgVWludDhBcnJheShbMiwwLDBdKX1dLFtdLFtdLFtdLFtdLFt7dHlwZTowLGRhdGE6cWIoMCl9 +XSxbXSxbe3R5cGU6MCxkYXRhOnFiKDApfV1dKX0pO2VbMV09W3t0eXBlOjAsZGF0YTpxYihNYXRo +Lm1heChyKzEscncoZVsxXVswXS5kYXRhKSkpfV19ZnVuY3Rpb24gVncoZSxyLHQsYSxuLGkpe2lm +KCFpKWk9UHcoe2RlcHM6W10sbG9jYXRpb246IiIsdHlwZTpyfSxuKTt2YXIgcz0iIi5jb25jYXQo +YSwiLSIpLmNvbmNhdChpLCIuaXdhIik7bltpXS5sb2NhdGlvbj0iUm9vdCBFbnRyeSIrcztRZS51 +dGlscy5jZmJfYWRkKGUscyxjdyhmdyhbe2lkOmksbWVzc2FnZXM6W0R3KHIsbncodCkpXX1dKSkp +O3ZhciBmPXMucmVwbGFjZSgvXltcL10vLCIiKS5yZXBsYWNlKC9eSW5kZXhcLy8sIiIpLnJlcGxh +Y2UoL1wuaXdhJC8sIiIpO1d3KGUsbiwyLGZ1bmN0aW9uKGUpe3ZhciByPWF3KGUubWVzc2FnZXNb +MF0uZGF0YSk7SHcocixpfHwwLGYpO2UubWVzc2FnZXNbMF0uZGF0YT1udyhyKX0pO3JldHVybiBp +fWZ1bmN0aW9uICR3KGUscix0LGEpe3ZhciBuPXJbdF0ubG9jYXRpb24ucmVwbGFjZSgvXlJvb3Qg +RW50cnlcLy8sIiIpLnJlcGxhY2UoL15JbmRleFwvLywiIikucmVwbGFjZSgvXC5pd2EkLywiIik7 +dmFyIGk9ZVszXS5maW5kSW5kZXgoZnVuY3Rpb24oZSl7dmFyIHIsdDt2YXIgYT1hdyhlLmRhdGEp +O2lmKChyPWFbM10pPT1udWxsP3ZvaWQgMDpyWzBdKXJldHVybiBYYihhWzNdWzBdLmRhdGEpPT1u +O2lmKCgodD1hWzJdKT09bnVsbD92b2lkIDA6dFswXSkmJlhiKGFbMl1bMF0uZGF0YSk9PW4pcmV0 +dXJuIHRydWU7cmV0dXJuIGZhbHNlfSk7dmFyIHM9YXcoZVszXVtpXS5kYXRhKTtpZighc1s2XSlz +WzZdPVtdOyhBcnJheS5pc0FycmF5KGEpP2E6W2FdKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3NbNl0u +cHVzaCh7dHlwZToyLGRhdGE6bncoW1tdLFt7dHlwZTowLGRhdGE6cWIoZSl9XV0pfSl9KTtlWzNd +W2ldLmRhdGE9bncocyl9ZnVuY3Rpb24gWHcoZSxyLHQsYSl7dmFyIG49clt0XS5sb2NhdGlvbi5y +ZXBsYWNlKC9eUm9vdCBFbnRyeVwvLywiIikucmVwbGFjZSgvXkluZGV4XC8vLCIiKS5yZXBsYWNl +KC9cLml3YSQvLCIiKTt2YXIgaT1lWzNdLmZpbmRJbmRleChmdW5jdGlvbihlKXt2YXIgcix0O3Zh +ciBhPWF3KGUuZGF0YSk7aWYoKHI9YVszXSk9PW51bGw/dm9pZCAwOnJbMF0pcmV0dXJuIFhiKGFb +M11bMF0uZGF0YSk9PW47aWYoKCh0PWFbMl0pPT1udWxsP3ZvaWQgMDp0WzBdKSYmWGIoYVsyXVsw +XS5kYXRhKT09bilyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9KTt2YXIgcz1hdyhlWzNdW2ldLmRh +dGEpO2lmKCFzWzZdKXNbNl09W107c1s2XT1zWzZdLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4g +cncoYXcoZS5kYXRhKVsxXVswXS5kYXRhKSE9YX0pO2VbM11baV0uZGF0YT1udyhzKX1mdW5jdGlv +biBHdyhlLHIsdCl7dmFyIGE9LTEsbj0tMTt2YXIgaT17fTtXdyhlLHIsMSxmdW5jdGlvbih0LHMp +e3ZhciBmPWF3KHQubWVzc2FnZXNbMF0uZGF0YSk7CmE9YncoYXcodC5tZXNzYWdlc1swXS5kYXRh +KVsxXVswXS5kYXRhKTtuPVB3KHtkZXBzOlsxXSxsb2NhdGlvbjpyW2FdLmxvY2F0aW9uLHR5cGU6 +Mn0scik7aVthXT1uO2t3KHQsbik7ZlsxXS5wdXNoKHt0eXBlOjIsZGF0YTp3dyhuKX0pO3ZhciBs +PXp3KGUscixhKTtsLmlkPW47aWYoclsxXS5sb2NhdGlvbj09cltuXS5sb2NhdGlvbilzLnB1c2go +bCk7ZWxzZSBXdyhlLHIsbixmdW5jdGlvbihlLHIpe3JldHVybiByLnB1c2gobCl9KTt0Lm1lc3Nh +Z2VzWzBdLmRhdGE9bncoZil9KTt2YXIgcz0tMTtXdyhlLHIsbixmdW5jdGlvbih0LGEpe3ZhciBm +PWF3KHQubWVzc2FnZXNbMF0uZGF0YSk7Zm9yKHZhciBsPTM7bDw9Njk7KytsKWRlbGV0ZSBmW2xd +O3ZhciBvPWl3KGZbMl0sYncpO28uZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gQXcodCxlKX0p +O3M9UHcoe2RlcHM6W25dLGxvY2F0aW9uOnJbb1swXV0ubG9jYXRpb24sdHlwZTpyW29bMF1dLnR5 +cGV9LHIpO2t3KHQscyk7aVtvWzBdXT1zO2ZbMl09W3t0eXBlOjIsZGF0YTp3dyhzKX1dO3ZhciBj +PXp3KGUscixvWzBdKTtjLmlkPXM7aWYocltvWzBdXS5sb2NhdGlvbj09cltuXS5sb2NhdGlvbilh +LnB1c2goYyk7ZWxzZXtXdyhlLHIsMixmdW5jdGlvbihlKXt2YXIgdD1hdyhlLm1lc3NhZ2VzWzBd +LmRhdGEpOyR3KHQscixuLHMpO2UubWVzc2FnZXNbMF0uZGF0YT1udyh0KX0pO1d3KGUscixzLGZ1 +bmN0aW9uKGUscil7cmV0dXJuIHIucHVzaChjKX0pfXQubWVzc2FnZXNbMF0uZGF0YT1udyhmKX0p +O3ZhciBmPS0xO1d3KGUscixzLGZ1bmN0aW9uKHQsYSl7dmFyIG49YXcodC5tZXNzYWdlc1swXS5k +YXRhKTt2YXIgbD1hdyhuWzFdWzBdLmRhdGEpO2Zvcih2YXIgbz0zO288PTY5OysrbylkZWxldGUg +bFtvXTt2YXIgYz1idyhsWzJdWzBdLmRhdGEpO2xbMl1bMF0uZGF0YT13dyhpW2NdKTtuWzFdWzBd +LmRhdGE9bncobCk7dmFyIGg9YncoblsyXVswXS5kYXRhKTtBdyh0LGgpO2Y9UHcoe2RlcHM6W3Nd +LGxvY2F0aW9uOnJbaF0ubG9jYXRpb24sdHlwZTpyW2hdLnR5cGV9LHIpO2t3KHQsZik7aVtoXT1m +O25bMl1bMF0uZGF0YT13dyhmKTt2YXIgdT16dyhlLHIsaCk7dS5pZD1mO2lmKHJbc10ubG9jYXRp +b249PXJbZl0ubG9jYXRpb24pYS5wdXNoKHUpO2Vsc2UgV3coZSxyLGYsZnVuY3Rpb24oZSxyKXty +ZXR1cm4gci5wdXNoKHUpfSk7dC5tZXNzYWdlc1swXS5kYXRhPW53KG4pfSk7V3coZSxyLGYsZnVu +Y3Rpb24oYSxuKXt2YXIgcyxsO3ZhciBvPWF3KGEubWVzc2FnZXNbMF0uZGF0YSk7dmFyIGM9WGIo +b1sxXVswXS5kYXRhKSxoPWMucmVwbGFjZSgvLVtBLVowLTldKi8sIi0iLmNvbmNhdCgoIjAwMDAi +K3QudG9TdHJpbmcoMTYpKS5zbGljZSgtNCkpKTtvWzFdWzBdLmRhdGE9R2IoaCk7WzEyLDEzLDI5 +LDMxLDMyLDMzLDM5LDQ0LDQ3LDgxLDgyLDg0XS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBk +ZWxldGUgb1tlXX0pO2lmKG9bNDVdKXt2YXIgdT1hdyhvWzQ1XVswXS5kYXRhKTt2YXIgZD1idyh1 +WzFdWzBdLmRhdGEpO0F3KGEsZCk7ZGVsZXRlIG9bNDVdfWlmKG9bNzBdKXt2YXIgdj1hdyhvWzcw +XVswXS5kYXRhKTsocz12WzJdKT09bnVsbD92b2lkIDA6cy5mb3JFYWNoKGZ1bmN0aW9uKGUpe3Zh +ciByPWF3KGUuZGF0YSk7WzIsM10ubWFwKGZ1bmN0aW9uKGUpe3JldHVybiByW2VdWzBdfSkuZm9y +RWFjaChmdW5jdGlvbihlKXt2YXIgcj1hdyhlLmRhdGEpO2lmKCFyWzhdKXJldHVybjt2YXIgdD1i +dyhyWzhdWzBdLmRhdGEpO0F3KGEsdCl9KX0pO2RlbGV0ZSBvWzcwXX1bNDYsMzAsMzQsMzUsMzYs +MzgsNDgsNDksNjAsNjEsNjIsNjMsNjQsNzEsNzIsNzMsNzQsNzUsODUsODYsODcsODgsODldLmZv +ckVhY2goZnVuY3Rpb24oZSl7aWYoIW9bZV0pcmV0dXJuO3ZhciByPWJ3KG9bZV1bMF0uZGF0YSk7 +ZGVsZXRlIG9bZV07QXcoYSxyKX0pO3ZhciBwPWF3KG9bNF1bMF0uZGF0YSk7e1syLDQsNSw2LDEx +LDEyLDEzLDE1LDE2LDE3LDE4LDE5LDIwLDIxLDIyXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBz +O2lmKCEoKHM9cFt0XSk9PW51bGw/dm9pZCAwOnNbMF0pKXJldHVybjt2YXIgbD1idyhwW3RdWzBd +LmRhdGEpO3ZhciBvPVB3KHtkZXBzOltmXSxsb2NhdGlvbjpyW2xdLmxvY2F0aW9uLHR5cGU6clts +XS50eXBlfSxyKTtBdyhhLGwpO2t3KGEsbyk7aVtsXT1vO3ZhciBjPXp3KGUscixsKTtjLmlkPW87 +aWYocltsXS5sb2NhdGlvbj09cltmXS5sb2NhdGlvbiluLnB1c2goYyk7ZWxzZXtyW29dLmxvY2F0 +aW9uPXJbbF0ubG9jYXRpb24ucmVwbGFjZShsLnRvU3RyaW5nKCksby50b1N0cmluZygpKTtpZihy +W29dLmxvY2F0aW9uPT1yW2xdLmxvY2F0aW9uKXJbb10ubG9jYXRpb249cltvXS5sb2NhdGlvbi5y +ZXBsYWNlKC9cLml3YS8sIi0iLmNvbmNhdChvLCIuaXdhIikpO1FlLnV0aWxzLmNmYl9hZGQoZSxy +W29dLmxvY2F0aW9uLGN3KGZ3KFtjXSkpKTt2YXIgaD1yW29dLmxvY2F0aW9uLnJlcGxhY2UoL15S +b290IEVudHJ5XC8vLCIiKS5yZXBsYWNlKC9eSW5kZXhcLy8sIiIpLnJlcGxhY2UoL1wuaXdhJC8s +IiIpO1d3KGUsciwyLGZ1bmN0aW9uKGUpe3ZhciB0PWF3KGUubWVzc2FnZXNbMF0uZGF0YSk7SHco +dCxvLGgpOyR3KHQscixmLG8pO2UubWVzc2FnZXNbMF0uZGF0YT1udyh0KX0pfXBbdF1bMF0uZGF0 +YT13dyhvKX0pO3ZhciBtPWF3KHBbMV1bMF0uZGF0YSk7eyhsPW1bMl0pPT1udWxsP3ZvaWQgMDps +LmZvckVhY2goZnVuY3Rpb24odCl7dmFyIHM9YncodC5kYXRhKTt2YXIgbD1Qdyh7ZGVwczpbZl0s +bG9jYXRpb246cltzXS5sb2NhdGlvbix0eXBlOnJbc10udHlwZX0scik7QXcoYSxzKTtrdyhhLGwp +O2lbc109bDt2YXIgbz16dyhlLHIscyk7by5pZD1sO2lmKHJbc10ubG9jYXRpb249PXJbZl0ubG9j +YXRpb24pe24ucHVzaChvKX1lbHNle3JbbF0ubG9jYXRpb249cltzXS5sb2NhdGlvbi5yZXBsYWNl +KHMudG9TdHJpbmcoKSxsLnRvU3RyaW5nKCkpO2lmKHJbbF0ubG9jYXRpb249PXJbc10ubG9jYXRp +b24pcltsXS5sb2NhdGlvbj1yW2xdLmxvY2F0aW9uLnJlcGxhY2UoL1wuaXdhLywiLSIuY29uY2F0 +KGwsIi5pd2EiKSk7UWUudXRpbHMuY2ZiX2FkZChlLHJbbF0ubG9jYXRpb24sY3coZncoW29dKSkp +O3ZhciBjPXJbbF0ubG9jYXRpb24ucmVwbGFjZSgvXlJvb3QgRW50cnlcLy8sIiIpLnJlcGxhY2Uo +L15JbmRleFwvLywiIikucmVwbGFjZSgvXC5pd2EkLywiIik7V3coZSxyLDIsZnVuY3Rpb24oZSl7 +dmFyIHQ9YXcoZS5tZXNzYWdlc1swXS5kYXRhKTtIdyh0LGwsYyk7JHcodCxyLGYsbCk7ZS5tZXNz +YWdlc1swXS5kYXRhPW53KHQpfSl9dC5kYXRhPXd3KGwpfSl9cFsxXVswXS5kYXRhPW53KG0pO3Zh +ciBnPWF3KHBbM11bMF0uZGF0YSk7e2dbMV0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgbj1hdyh0 +LmRhdGEpO3ZhciBzPWJ3KG5bMl1bMF0uZGF0YSk7dmFyIGw9aVtzXTtpZighaVtzXSl7bD1Qdyh7 +ZGVwczpbZl0sbG9jYXRpb246IiIsdHlwZTpyW3NdLnR5cGV9LHIpO3JbbF0ubG9jYXRpb249IlJv +b3QgRW50cnkvSW5kZXgvVGFibGVzL1RpbGUtIi5jb25jYXQobCwiLml3YSIpO2lbc109bDt2YXIg +bz16dyhlLHIscyk7by5pZD1sO0F3KGEscyk7a3coYSxsKTtRZS51dGlscy5jZmJfYWRkKGUsIi9J +bmRleC9UYWJsZXMvVGlsZS0iLmNvbmNhdChsLCIuaXdhIiksY3coZncoW29dKSkpO1d3KGUsciwy +LGZ1bmN0aW9uKGUpe3ZhciB0PWF3KGUubWVzc2FnZXNbMF0uZGF0YSk7dFszXS5wdXNoKHt0eXBl +OjIsZGF0YTpudyhbW10sW3t0eXBlOjAsZGF0YTpxYihsKX1dLFt7dHlwZToyLGRhdGE6R2IoIlRh +Ymxlcy9UaWxlIil9XSxbe3R5cGU6MixkYXRhOkdiKCJUYWJsZXMvVGlsZS0iLmNvbmNhdChsKSl9 +XSxbe3R5cGU6MixkYXRhOm5ldyBVaW50OEFycmF5KFsyLDAsMF0pfV0sW3t0eXBlOjIsZGF0YTpu +ZXcgVWludDhBcnJheShbMiwwLDBdKX1dLFtdLFtdLFtdLFtdLFt7dHlwZTowLGRhdGE6cWIoMCl9 +XSxbXSxbe3R5cGU6MCxkYXRhOnFiKDApfV1dKX0pO3RbMV09W3t0eXBlOjAsZGF0YTpxYihNYXRo +Lm1heChsKzEscncodFsxXVswXS5kYXRhKSkpfV07JHcodCxyLGYsbCk7ZS5tZXNzYWdlc1swXS5k +YXRhPW53KHQpfSl9blsyXVswXS5kYXRhPXd3KGwpO3QuZGF0YT1udyhuKX0pfXBbM11bMF0uZGF0 +YT1udyhnKX1vWzRdWzBdLmRhdGE9bncocCk7YS5tZXNzYWdlc1swXS5kYXRhPW53KG8pfSl9ZnVu +Y3Rpb24gancoZSxyLHQsYSxuLGkpe3ZhciBzPVtdO1d3KGUscixpLGZ1bmN0aW9uKGUpe3ZhciBy +PWF3KGUubWVzc2FnZXNbMF0uZGF0YSk7e3JbMV09W3t0eXBlOjIsZGF0YTpHYihhKX1dO3M9aXco +clsyXSxidyl9ZS5tZXNzYWdlc1swXS5kYXRhPW53KHIpfSk7dmFyIGY9encoZSxyLHNbMF0pO3Zh +ciBsPWJ3KGF3KGYubWVzc2FnZXNbMF0uZGF0YSlbMl1bMF0uZGF0YSk7V3coZSxyLGwsZnVuY3Rp +b24oYSxuKXtyZXR1cm4gWXcoZSxyLHQsYSxuLGwpfSl9dmFyIEt3PXRydWU7ZnVuY3Rpb24gWXco +ZSxyLHQsYSxuLGkpe2lmKCF0WyIhcmVmIl0pdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgZXhwb3J0 +IGVtcHR5IHNoZWV0IHRvIE5VTUJFUlMiKTt2YXIgcz1aYSh0WyIhcmVmIl0pO3Mucy5yPXMucy5j +PTA7dmFyIGY9ZmFsc2U7aWYocy5lLmM+OTk5KXtmPXRydWU7cy5lLmM9OTk5fWlmKHMuZS5yPjk5 +OTk5OSl7Zj10cnVlO3MuZS5yPTk5OTk5OX1pZihmKWNvbnNvbGUuZXJyb3IoIlRydW5jYXRpbmcg +dG8gIi5jb25jYXQoSmEocykpKTt2YXIgbD1bXTtpZih0WyIhZGF0YSJdKWw9dFsiIWRhdGEiXTtl +bHNle3ZhciBvPVtdO2Zvcih2YXIgYz0wO2M8PXMuZS5jOysrYylvW2NdPSRhKGMpO2Zvcih2YXIg +aD0wO2g8PXMuZS5yOysraCl7bFtoXT1bXTt2YXIgdT0iIisoaCsxKTtmb3IoYz0wO2M8PXMuZS5j +OysrYyl7dmFyIGQ9dFtvW2NdK3VdO2lmKCFkKWNvbnRpbnVlO2xbaF1bY109ZH19fXZhciB2PXtj +bW50Olt7YToifjU0ZWU3N1N+Iix0OiIuLi4gdGhlIHBlb3BsZSB3aG8gYXJlIGNyYXp5IGVub3Vn +aCB0byB0aGluayB0aGV5IGNhbiBjaGFuZ2UgdGhlIHdvcmxkLCBhcmUgdGhlIG9uZXMgd2hvIGRv +LiJ9XSxmZXJyOltdLGZtbGE6W10sbmZtdDpbXSxvZm10OltdLHJzc3Q6W3t2OiJ+NTRlZTc3U34i +LGw6Imh0dHBzOi8vc2hlZXRqcy5jb20vIn1dLHNzdDpbIn5TaDMzdEo1fiJdfTt2YXIgcD1hdyhh +Lm1lc3NhZ2VzWzBdLmRhdGEpO3twWzZdWzBdLmRhdGE9cWIocy5lLnIrMSk7cFs3XVswXS5kYXRh +PXFiKHMuZS5jKzEpO2RlbGV0ZSBwWzQ2XTt2YXIgbT1hdyhwWzRdWzBdLmRhdGEpO3t2YXIgZz1i +dyhhdyhtWzFdWzBdLmRhdGEpWzJdWzBdLmRhdGEpO1d3KGUscixnLGZ1bmN0aW9uKGUscil7dmFy +IHQ7dmFyIGE9YXcoZS5tZXNzYWdlc1swXS5kYXRhKTtpZigodD1hPT1udWxsP3ZvaWQgMDphWzJd +KT09bnVsbD92b2lkIDA6dFswXSlmb3IodmFyIG49MDtuPGwubGVuZ3RoOysrbil7dmFyIGk9YXco +YVsyXVswXS5kYXRhKTtpWzFdWzBdLmRhdGE9cWIobik7aVs0XVswXS5kYXRhPXFiKGxbbl0ubGVu +Z3RoKTthWzJdW25dPXt0eXBlOmFbMl1bMF0udHlwZSxkYXRhOm53KGkpfX1lLm1lc3NhZ2VzWzBd +LmRhdGE9bncoYSl9KTt2YXIgYj1idyhtWzJdWzBdLmRhdGEpO1d3KGUscixiLGZ1bmN0aW9uKGUs +cil7dmFyIHQ9YXcoZS5tZXNzYWdlc1swXS5kYXRhKTtmb3IodmFyIGE9MDthPD1zLmUuYzsrK2Ep +e3ZhciBuPWF3KHRbMl1bMF0uZGF0YSk7blsxXVswXS5kYXRhPXFiKGEpO25bNF1bMF0uZGF0YT1x +YihzLmUucisxKTt0WzJdW2FdPXt0eXBlOnRbMl1bMF0udHlwZSxkYXRhOm53KG4pfX1lLm1lc3Nh +Z2VzWzBdLmRhdGE9bncodCl9KTt2YXIgdz1hdyhtWzldWzBdLmRhdGEpO3dbMV09W107dmFyIGs9 +YXcobVszXVswXS5kYXRhKTt7dmFyIEE9MjU2O2tbMl09W3t0eXBlOjAsZGF0YTpxYihBKX1dO3Zh +ciBUPWJ3KGF3KGtbMV1bMF0uZGF0YSlbMl1bMF0uZGF0YSk7dmFyIHk9ZnVuY3Rpb24oKXt2YXIg +dD16dyhlLHIsMik7dmFyIGE9YXcodC5tZXNzYWdlc1swXS5kYXRhKTt2YXIgbj1hWzNdLmZpbHRl +cihmdW5jdGlvbihlKXtyZXR1cm4gcncoYXcoZS5kYXRhKVsxXVswXS5kYXRhKT09VH0pO3JldHVy +bihuPT1udWxsP3ZvaWQgMDpuLmxlbmd0aCk/cncoYXcoblswXS5kYXRhKVsxMl1bMF0uZGF0YSk6 +MH0oKTt7UWUudXRpbHMuY2ZiX2RlbChlLHJbVF0ubG9jYXRpb24pO1d3KGUsciwyLGZ1bmN0aW9u +KGUpe3ZhciB0PWF3KGUubWVzc2FnZXNbMF0uZGF0YSk7dFszXT10WzNdLmZpbHRlcihmdW5jdGlv +bihlKXtyZXR1cm4gcncoYXcoZS5kYXRhKVsxXVswXS5kYXRhKSE9VH0pO1h3KHQscixpLFQpO2Uu +bWVzc2FnZXNbMF0uZGF0YT1udyh0KX0pO0F3KGEsVCl9a1sxXT1bXTt2YXIgRT1NYXRoLmNlaWwo +KHMuZS5yKzEpL0EpO2Zvcih2YXIgQz0wO0M8RTsrK0Mpe3ZhciBfPVB3KHtkZXBzOltdLGxvY2F0 +aW9uOiIiLHR5cGU6NjAwMn0scik7cltfXS5sb2NhdGlvbj0iUm9vdCBFbnRyeS9JbmRleC9UYWJs +ZXMvVGlsZS0iLmNvbmNhdChfLCIuaXdhIik7dmFyIFM9W1tdLFt7dHlwZTowLGRhdGE6cWIoMCl9 +XSxbe3R5cGU6MCxkYXRhOnFiKE1hdGgubWluKHMuZS5yKzEsKEMrMSkqQSkpfV0sW3t0eXBlOjAs +ZGF0YTpxYigwKX1dLFt7dHlwZTowLGRhdGE6cWIoTWF0aC5taW4oKEMrMSkqQSxzLmUucisxKS1D +KkEpfV0sW10sW3t0eXBlOjAsZGF0YTpxYig1KX1dLFt7dHlwZTowLGRhdGE6cWIoMSl9XSxbe3R5 +cGU6MCxkYXRhOnFiKEt3PzE6MCl9XV07Zm9yKHZhciB4PUMqQTt4PD1NYXRoLm1pbihzLmUuciwo +QysxKSpBLTEpOysreCl7dmFyIE89RncobFt4XSx2LEt3KTtPWzFdWzBdLmRhdGE9cWIoeC1DKkEp +O1NbNV0ucHVzaCh7ZGF0YTpudyhPKSx0eXBlOjJ9KX1rWzFdLnB1c2goe3R5cGU6MixkYXRhOm53 +KFtbXSxbe3R5cGU6MCxkYXRhOnFiKEMpfV0sW3t0eXBlOjIsZGF0YTp3dyhfKX1dXSl9KTt2YXIg +ST17aWQ6XyxtZXNzYWdlczpbRHcoNjAwMixudyhTKSldfTt2YXIgUj1jdyhmdyhbSV0pKTtRZS51 +dGlscy5jZmJfYWRkKGUsIi9JbmRleC9UYWJsZXMvVGlsZS0iLmNvbmNhdChfLCIuaXdhIiksUik7 +V3coZSxyLDIsZnVuY3Rpb24oZSl7dmFyIHQ9YXcoZS5tZXNzYWdlc1swXS5kYXRhKTt0WzNdLnB1 +c2goe3R5cGU6MixkYXRhOm53KFtbXSxbe3R5cGU6MCxkYXRhOnFiKF8pfV0sW3t0eXBlOjIsZGF0 +YTpHYigiVGFibGVzL1RpbGUiKX1dLFt7dHlwZToyLGRhdGE6R2IoIlRhYmxlcy9UaWxlLSIuY29u +Y2F0KF8pKX1dLFt7dHlwZToyLGRhdGE6bmV3IFVpbnQ4QXJyYXkoWzIsMCwwXSl9XSxbe3R5cGU6 +MixkYXRhOm5ldyBVaW50OEFycmF5KFsyLDAsMF0pfV0sW10sW10sW10sW10sW3t0eXBlOjAsZGF0 +YTpxYigwKX1dLFtdLFt7dHlwZTowLGRhdGE6cWIoeSl9XV0pfSk7dFsxXT1be3R5cGU6MCxkYXRh +OnFiKE1hdGgubWF4KF8rMSxydyh0WzFdWzBdLmRhdGEpKSl9XTskdyh0LHIsaSxfKTtlLm1lc3Nh +Z2VzWzBdLmRhdGE9bncodCl9KTtrdyhhLF8pO3dbMV0ucHVzaCh7dHlwZToyLGRhdGE6bncoW1td +LFt7dHlwZTowLGRhdGE6cWIoQypBKX1dLFt7dHlwZTowLGRhdGE6cWIoQyl9XV0pfSl9fW1bM11b +MF0uZGF0YT1udyhrKTttWzldWzBdLmRhdGE9bncodyk7bVsxMF09W3t0eXBlOjIsZGF0YTpuZXcg +VWludDhBcnJheShbXSl9XTtpZih0WyIhbWVyZ2VzIl0pe3ZhciBOPVB3KHt0eXBlOjYxNDQsZGVw +czpbaV0sbG9jYXRpb246cltpXS5sb2NhdGlvbn0scik7bi5wdXNoKHtpZDpOLG1lc3NhZ2VzOltE +dyg2MTQ0LG53KFtbXSx0WyIhbWVyZ2VzIl0ubWFwKGZ1bmN0aW9uKGUpe3JldHVybnt0eXBlOjIs +ZGF0YTpudyhbW10sW3t0eXBlOjIsZGF0YTpudyhbW10sW3t0eXBlOjUsZGF0YTpuZXcgVWludDhB +cnJheShuZXcgVWludDE2QXJyYXkoW2Uucy5yLGUucy5jXSkuYnVmZmVyKX1dXSl9XSxbe3R5cGU6 +MixkYXRhOm53KFtbXSxbe3R5cGU6NSxkYXRhOm5ldyBVaW50OEFycmF5KG5ldyBVaW50MTZBcnJh +eShbZS5lLnItZS5zLnIrMSxlLmUuYy1lLnMuYysxXSkuYnVmZmVyKX1dXSl9XV0pfX0pXSkpXX0p +O21bMTNdPVt7dHlwZToyLGRhdGE6d3coTil9XTtXdyhlLHIsMixmdW5jdGlvbihlKXt2YXIgdD1h +dyhlLm1lc3NhZ2VzWzBdLmRhdGEpOyR3KHQscixpLE4pO2UubWVzc2FnZXNbMF0uZGF0YT1udyh0 +KX0pO2t3KGEsTil9ZWxzZSBkZWxldGUgbVsxM107dmFyIEY9YncobVs0XVswXS5kYXRhKTtXdyhl +LHIsRixmdW5jdGlvbihlKXt2YXIgcj1hdyhlLm1lc3NhZ2VzWzBdLmRhdGEpO3tyWzNdPVtdO3Yu +c3N0LmZvckVhY2goZnVuY3Rpb24oZSx0KXtpZih0PT0wKXJldHVybjtyWzNdLnB1c2goe3R5cGU6 +MixkYXRhOm53KFtbXSxbe3R5cGU6MCxkYXRhOnFiKHQpfV0sW3t0eXBlOjAsZGF0YTpxYigxKX1d +LFt7dHlwZToyLGRhdGE6R2IoZSl9XV0pfSl9KX1lLm1lc3NhZ2VzWzBdLmRhdGE9bncocil9KTt2 +YXIgRD1idyhtWzE3XVswXS5kYXRhKTtXdyhlLHIsRCxmdW5jdGlvbih0KXt2YXIgYT1hdyh0Lm1l +c3NhZ2VzWzBdLmRhdGEpO2FbM109W107dmFyIG49WzkwNDk4MCw5MDM4MzUsOTAzODE1LDkwMzg0 +NV07di5yc3N0LmZvckVhY2goZnVuY3Rpb24oaSxzKXtpZihzPT0wKXJldHVybjt2YXIgZj1bW10s +W3t0eXBlOjAsZGF0YTpuZXcgVWludDhBcnJheShbNV0pfV0sW10sW3t0eXBlOjIsZGF0YTpHYihp +LnYpfV1dO2ZbMTBdPVt7dHlwZTowLGRhdGE6bmV3IFVpbnQ4QXJyYXkoWzFdKX1dO2ZbMTldPVt7 +dHlwZToyLGRhdGE6bmV3IFVpbnQ4QXJyYXkoWzEwLDYsOCwwLDE4LDIsMTAxLDExMF0pfV07Zls1 +XT1be3R5cGU6MixkYXRhOm5ldyBVaW50OEFycmF5KFsxMCw4LDgsMCwxOCw0LDgsMTU1LDE0OSw1 +NV0pfV07ZlsyXT1be3R5cGU6MixkYXRhOm5ldyBVaW50OEFycmF5KFs4LDE0OCwxNTgsNTVdKX1d +O2ZbNl09W3t0eXBlOjIsZGF0YTpuZXcgVWludDhBcnJheShbMTAsNiw4LDAsMTYsMCwyNCwwXSl9 +XTtmWzddPVt7dHlwZToyLGRhdGE6bmV3IFVpbnQ4QXJyYXkoWzEwLDgsOCwwLDE4LDQsOCwxMzUs +MTQ5LDU1XSl9XTtmWzhdPVt7dHlwZToyLGRhdGE6bmV3IFVpbnQ4QXJyYXkoWzEwLDgsOCwwLDE4 +LDQsOCwxNjUsMTQ5LDU1XSl9XTtmWzE0XT1be3R5cGU6MixkYXRhOm5ldyBVaW50OEFycmF5KFsx +MCw2LDgsMCwxNiwwLDI0LDBdKX1dO2ZbMjRdPVt7dHlwZToyLGRhdGE6bmV3IFVpbnQ4QXJyYXko +WzEwLDYsOCwwLDE2LDAsMjQsMF0pfV07dmFyIGw9UHcoe2RlcHM6W10sbG9jYXRpb246IiIsdHlw +ZToyMDAxfSxyKTt2YXIgbz1bXTtpZihpLmwpe3ZhciBjPVZ3KGUsMjAzMixbW10sW10sW3t0eXBl +OjIsZGF0YTpHYihpLmwpfV1dLCIvSW5kZXgvVGFibGVzL0RhdGFMaXN0IixyKTtmWzExXT1bXTt2 +YXIgaD1bW10sW11dO2lmKCFoWzFdKWhbMV09W107aFsxXS5wdXNoKHt0eXBlOjIsZGF0YTpudyhb +W10sW3t0eXBlOjAsZGF0YTpxYigwKX1dLFt7dHlwZToyLGRhdGE6d3coYyl9XV0pfSk7ZlsxMV1b +MF09e3R5cGU6MixkYXRhOm53KGgpfTtvLnB1c2goYyl9VncoZSwyMDAxLGYsIi9JbmRleC9UYWJs +ZXMvRGF0YUxpc3QiLHIsbCk7V3coZSxyLGwsZnVuY3Rpb24oZSl7bi5mb3JFYWNoKGZ1bmN0aW9u +KHIpe3JldHVybiBrdyhlLHIpfSk7by5mb3JFYWNoKGZ1bmN0aW9uKHIpe3JldHVybiBrdyhlLHIp +fSl9KTt2YXIgdT1WdyhlLDYyMTgsW1tdLFt7dHlwZToyLGRhdGE6d3cobCl9XSxbXSxbe3R5cGU6 +MixkYXRhOm5ldyBVaW50OEFycmF5KFsxMywyNTUsMjU1LDI1NSwwLDE4LDEwLDE2LDI1NSwyNTUs +MSwyNCwyNTUsMjU1LDI1NSwyNTUsN10pfV1dLCIvSW5kZXgvVGFibGVzL0RhdGFMaXN0IixyKTtX +dyhlLHIsdSxmdW5jdGlvbihlKXtyZXR1cm4ga3coZSxsKX0pO2FbM10ucHVzaCh7dHlwZToyLGRh +dGE6bncoW1tdLFt7dHlwZTowLGRhdGE6cWIocyl9XSxbe3R5cGU6MCxkYXRhOnFiKDEpfV0sW10s +W10sW10sW10sW10sW10sW3t0eXBlOjIsZGF0YTp3dyh1KX1dXSl9KTtrdyh0LHUpO1d3KGUsciwy +LGZ1bmN0aW9uKGUpe3ZhciB0PWF3KGUubWVzc2FnZXNbMF0uZGF0YSk7JHcodCxyLEQsdSk7JHco +dCxyLHUsbCk7JHcodCxyLGwsbyk7JHcodCxyLGwsbik7ZS5tZXNzYWdlc1swXS5kYXRhPW53KHQp +fSl9KTt0Lm1lc3NhZ2VzWzBdLmRhdGE9bncoYSl9KTtpZih2LmNtbnQubGVuZ3RoPjEpe3ZhciBQ +PWJ3KG1bMTldWzBdLmRhdGEpO3ZhciBMPXt9LE09MDtXdyhlLHIsUCxmdW5jdGlvbih0KXt2YXIg +YT1hdyh0Lm1lc3NhZ2VzWzBdLmRhdGEpO3thWzNdPVtdO3YuY21udC5mb3JFYWNoKGZ1bmN0aW9u +KG4saSl7aWYoaT09MClyZXR1cm47dmFyIHM9W107aWYobi5yZXBsaWVzKW4ucmVwbGllcy5mb3JF +YWNoKGZ1bmN0aW9uKHQpe2lmKCFMW3QuYXx8IiJdKUxbdC5hfHwiIl09VncoZSwyMTIsW1tdLFt7 +dHlwZToyLGRhdGE6R2IodC5hfHwiIil9XSxbe3R5cGU6MixkYXRhOlV3KCsrTSl9XSxbXSxbe3R5 +cGU6MCxkYXRhOnFiKDApfV1dLCIvSW5kZXgvVGFibGVzL0RhdGFMaXN0IixyKTt2YXIgYT1MW3Qu +YXx8IiJdO3ZhciBuPVZ3KGUsMzA1NixbW10sW3t0eXBlOjIsZGF0YTpHYih0LnR8fCIiKX1dLFt7 +dHlwZToyLGRhdGE6bncoW1tdLFt7dHlwZToxLGRhdGE6bmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDEy +OCwxMTYsMTA5LDE4Miw2NV0pfV1dKX1dLFt7dHlwZToyLGRhdGE6d3coYSl9XV0sIi9JbmRleC9U +YWJsZXMvRGF0YUxpc3QiLHIpO1d3KGUscixuLGZ1bmN0aW9uKGUpe3JldHVybiBrdyhlLGEpfSk7 +cy5wdXNoKG4pO1d3KGUsciwyLGZ1bmN0aW9uKGUpe3ZhciB0PWF3KGUubWVzc2FnZXNbMF0uZGF0 +YSk7JHcodCxyLG4sYSk7ZS5tZXNzYWdlc1swXS5kYXRhPW53KHQpfSl9KTtpZighTFtuLmF8fCIi +XSlMW24uYXx8IiJdPVZ3KGUsMjEyLFtbXSxbe3R5cGU6MixkYXRhOkdiKG4uYXx8IiIpfV0sW3t0 +eXBlOjIsZGF0YTpVdygrK00pfV0sW10sW3t0eXBlOjAsZGF0YTpxYigwKX1dXSwiL0luZGV4L1Rh +Ymxlcy9EYXRhTGlzdCIscik7dmFyIGY9TFtuLmF8fCIiXTt2YXIgbD1WdyhlLDMwNTYsW1tdLFt7 +dHlwZToyLGRhdGE6R2Iobi50fHwiIil9XSxbe3R5cGU6MixkYXRhOm53KFtbXSxbe3R5cGU6MSxk +YXRhOm5ldyBVaW50OEFycmF5KFswLDAsMCwxMjgsMTE2LDEwOSwxODIsNjVdKX1dXSl9XSxbe3R5 +cGU6MixkYXRhOnd3KGYpfV0scy5tYXAoZnVuY3Rpb24oZSl7cmV0dXJue3R5cGU6MixkYXRhOnd3 +KGUpfX0pLFt7dHlwZToyLGRhdGE6bncoW1tdLFt7dHlwZTowLGRhdGE6cWIoaSl9XSxbe3R5cGU6 +MCxkYXRhOnFiKDApfV1dKX1dXSwiL0luZGV4L1RhYmxlcy9EYXRhTGlzdCIscik7V3coZSxyLGws +ZnVuY3Rpb24oZSl7a3coZSxmKTtzLmZvckVhY2goZnVuY3Rpb24ocil7cmV0dXJuIGt3KGUscil9 +KX0pO2FbM10ucHVzaCh7dHlwZToyLGRhdGE6bncoW1tdLFt7dHlwZTowLGRhdGE6cWIoaSl9XSxb +e3R5cGU6MCxkYXRhOnFiKDEpfV0sW10sW10sW10sW10sW10sW10sW10sW3t0eXBlOjIsZGF0YTp3 +dyhsKX1dXSl9KTtrdyh0LGwpO1d3KGUsciwyLGZ1bmN0aW9uKGUpe3ZhciB0PWF3KGUubWVzc2Fn +ZXNbMF0uZGF0YSk7JHcodCxyLFAsbCk7JHcodCxyLGwsZik7aWYocy5sZW5ndGgpJHcodCxyLGws +cyk7ZS5tZXNzYWdlc1swXS5kYXRhPW53KHQpfSl9KX1hWzJdWzBdLmRhdGE9cWIodi5jbW50Lmxl +bmd0aCsxKTt0Lm1lc3NhZ2VzWzBdLmRhdGE9bncoYSl9KX19cFs0XVswXS5kYXRhPW53KG0pfWEu +bWVzc2FnZXNbMF0uZGF0YT1udyhwKX1mdW5jdGlvbiBadyhlKXtyZXR1cm4gZnVuY3Rpb24gcih0 +KXtmb3IodmFyIGE9MDthIT1lLmxlbmd0aDsrK2Epe3ZhciBuPWVbYV07aWYodFtuWzBdXT09PXVu +ZGVmaW5lZCl0W25bMF1dPW5bMV07aWYoblsyXT09PSJuIil0W25bMF1dPU51bWJlcih0W25bMF1d +KX19fWZ1bmN0aW9uIEp3KGUpe1p3KFtbImNlbGxORiIsZmFsc2VdLFsiY2VsbEhUTUwiLHRydWVd +LFsiY2VsbEZvcm11bGEiLHRydWVdLFsiY2VsbFN0eWxlcyIsZmFsc2VdLFsiY2VsbFRleHQiLHRy +dWVdLFsiY2VsbERhdGVzIixmYWxzZV0sWyJzaGVldFN0dWJzIixmYWxzZV0sWyJzaGVldFJvd3Mi +LDAsIm4iXSxbImJvb2tEZXBzIixmYWxzZV0sWyJib29rU2hlZXRzIixmYWxzZV0sWyJib29rUHJv +cHMiLGZhbHNlXSxbImJvb2tGaWxlcyIsZmFsc2VdLFsiYm9va1ZCQSIsZmFsc2VdLFsicGFzc3dv +cmQiLCIiXSxbIldURiIsZmFsc2VdXSkoZSl9ZnVuY3Rpb24gcXcoZSl7WncoW1siY2VsbERhdGVz +IixmYWxzZV0sWyJib29rU1NUIixmYWxzZV0sWyJib29rVHlwZSIsInhsc3giXSxbImNvbXByZXNz +aW9uIixmYWxzZV0sWyJXVEYiLGZhbHNlXV0pKGUpfWZ1bmN0aW9uIFF3KGUpe2lmKGJpLldTLmlu +ZGV4T2YoZSk+LTEpcmV0dXJuInNoZWV0IjtpZihiaS5DUyYmZT09YmkuQ1MpcmV0dXJuImNoYXJ0 +IjtpZihiaS5EUyYmZT09YmkuRFMpcmV0dXJuImRpYWxvZyI7aWYoYmkuTVMmJmU9PWJpLk1TKXJl +dHVybiJtYWNybyI7cmV0dXJuIGUmJmUubGVuZ3RoP2U6InNoZWV0In1mdW5jdGlvbiBlayhlLHIp +e2lmKCFlKXJldHVybiAwO3RyeXtlPXIubWFwKGZ1bmN0aW9uIGEocil7aWYoIXIuaWQpci5pZD1y +LnN0clJlbElEO3JldHVybltyLm5hbWUsZVsiIWlkIl1bci5pZF0uVGFyZ2V0LFF3KGVbIiFpZCJd +W3IuaWRdLlR5cGUpXX0pfWNhdGNoKHQpe3JldHVybiBudWxsfXJldHVybiFlfHxlLmxlbmd0aD09 +PTA/bnVsbDplfWZ1bmN0aW9uIHJrKGUscix0LGEsbixpLHMsZil7aWYoIWV8fCFlWyIhbGVnZHJh +d2VsIl0pcmV0dXJuO3ZhciBsPXR0KGVbIiFsZWdkcmF3ZWwiXS5UYXJnZXQsYSk7dmFyIG89WnIo +dCxsLHRydWUpO2lmKG8pUmgoSXQobyksZSxmfHxbXSl9ZnVuY3Rpb24gdGsoZSxyLHQsYSxuLGks +cyxmLGwsbyxjLGgpe3RyeXtpW2FdPWtpKFpyKGUsdCx0cnVlKSxyKTt2YXIgdT1ZcihlLHIpO3Zh +ciBkO3N3aXRjaChmKXtjYXNlInNoZWV0IjpkPXRnKHUscixuLGwsaVthXSxvLGMsaCk7YnJlYWs7 +Y2FzZSJjaGFydCI6ZD1hZyh1LHIsbixsLGlbYV0sbyxjLGgpO2lmKCFkfHwhZFsiIWRyYXdlbCJd +KWJyZWFrO3ZhciB2PXR0KGRbIiFkcmF3ZWwiXS5UYXJnZXQscik7dmFyIHA9d2kodik7dmFyIG09 +SWgoWnIoZSx2LHRydWUpLGtpKFpyKGUscCx0cnVlKSx2KSk7dmFyIGc9dHQobSx2KTt2YXIgYj13 +aShnKTtkPWttKFpyKGUsZyx0cnVlKSxnLGwsa2koWnIoZSxiLHRydWUpLGcpLG8sZCk7YnJlYWs7 +Y2FzZSJtYWNybyI6ZD1uZyh1LHIsbixsLGlbYV0sbyxjLGgpO2JyZWFrO2Nhc2UiZGlhbG9nIjpk +PWlnKHUscixuLGwsaVthXSxvLGMsaCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVu +cmVjb2duaXplZCBzaGVldCB0eXBlICIrZik7fXNbYV09ZDt2YXIgdz1bXSxrPVtdO2lmKGkmJmlb +YV0paXIoaVthXSkuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgbj0iIjtpZihpW2FdW3RdLlR5cGU9 +PWJpLkNNTlQpe249dHQoaVthXVt0XS5UYXJnZXQscik7dz1sZyhZcihlLG4sdHJ1ZSksbixsKTtp +Zighd3x8IXcubGVuZ3RoKXJldHVybjtEaChkLHcsZmFsc2UpfWlmKGlbYV1bdF0uVHlwZT09Ymku +VENNTlQpe249dHQoaVthXVt0XS5UYXJnZXQscik7az1rLmNvbmNhdChNaChZcihlLG4sdHJ1ZSks +bCkpfX0pO2lmKGsmJmsubGVuZ3RoKURoKGQsayx0cnVlLGwucGVvcGxlfHxbXSk7cmsoZCxmLGUs +cixuLGwsbyx3KX1jYXRjaChBKXtpZihsLldURil0aHJvdyBBfX1mdW5jdGlvbiBhayhlKXtyZXR1 +cm4gZS5jaGFyQXQoMCk9PSIvIj9lLnNsaWNlKDEpOmV9ZnVuY3Rpb24gbmsoZSxyKXskZSgpO3I9 +cnx8e307Sncocik7aWYoanIoZSwiTUVUQS1JTkYvbWFuaWZlc3QueG1sIikpcmV0dXJuIExiKGUs +cik7aWYoanIoZSwib2JqZWN0ZGF0YS54bWwiKSlyZXR1cm4gTGIoZSxyKTtpZihqcihlLCJJbmRl +eC9Eb2N1bWVudC5pd2EiKSl7aWYodHlwZW9mIFVpbnQ4QXJyYXk9PSJ1bmRlZmluZWQiKXRocm93 +IG5ldyBFcnJvcigiTlVNQkVSUyBmaWxlIHBhcnNpbmcgcmVxdWlyZXMgVWludDhBcnJheSBzdXBw +b3J0Iik7aWYodHlwZW9mIE53IT0idW5kZWZpbmVkIil7aWYoZS5GaWxlSW5kZXgpcmV0dXJuIE53 +KGUscik7dmFyIHQ9UWUudXRpbHMuY2ZiX25ldygpO3FyKGUpLmZvckVhY2goZnVuY3Rpb24ocil7 +UXIodCxyLEpyKGUscikpfSk7cmV0dXJuIE53KHQscil9dGhyb3cgbmV3IEVycm9yKCJVbnN1cHBv +cnRlZCBOVU1CRVJTIGZpbGUiKX1pZighanIoZSwiW0NvbnRlbnRfVHlwZXNdLnhtbCIpKXtpZihq +cihlLCJpbmRleC54bWwuZ3oiKSl0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIE5VTUJFUlMg +MDggZmlsZSIpO2lmKGpyKGUsImluZGV4LnhtbCIpKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0 +ZWQgTlVNQkVSUyAwOSBmaWxlIik7dmFyIGE9UWUuZmluZChlLCJJbmRleC56aXAiKTtpZihhKXty +PUFyKHIpO2RlbGV0ZSByLnR5cGU7aWYodHlwZW9mIGEuY29udGVudD09InN0cmluZyIpci50eXBl +PSJiaW5hcnkiO2lmKHR5cGVvZiBCdW4hPT0idW5kZWZpbmVkIiYmQnVmZmVyLmlzQnVmZmVyKGEu +Y29udGVudCkpcmV0dXJuIG1rKG5ldyBVaW50OEFycmF5KGEuY29udGVudCkscik7cmV0dXJuIG1r +KGEuY29udGVudCxyKX10aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIFpJUCBmaWxlIil9dmFy +IG49cXIoZSk7dmFyIGk9bWkoWnIoZSwiW0NvbnRlbnRfVHlwZXNdLnhtbCIpKTt2YXIgcz1mYWxz +ZTt2YXIgZixsO2lmKGkud29ya2Jvb2tzLmxlbmd0aD09PTApe2w9InhsL3dvcmtib29rLnhtbCI7 +aWYoWXIoZSxsLHRydWUpKWkud29ya2Jvb2tzLnB1c2gobCl9aWYoaS53b3JrYm9va3MubGVuZ3Ro +PT09MCl7bD0ieGwvd29ya2Jvb2suYmluIjtpZighWXIoZSxsLHRydWUpKXRocm93IG5ldyBFcnJv +cigiQ291bGQgbm90IGZpbmQgd29ya2Jvb2siKTtpLndvcmtib29rcy5wdXNoKGwpO3M9dHJ1ZX1p +ZihpLndvcmtib29rc1swXS5zbGljZSgtMyk9PSJiaW4iKXM9dHJ1ZTt2YXIgbz17fTt2YXIgYz17 +fTtpZighci5ib29rU2hlZXRzJiYhci5ib29rUHJvcHMpe212PVtdO2lmKGkuc3N0KXRyeXttdj1m +ZyhZcihlLGFrKGkuc3N0KSksaS5zc3Qscil9Y2F0Y2goaCl7aWYoci5XVEYpdGhyb3cgaH1pZihy +LmNlbGxTdHlsZXMmJmkudGhlbWVzLmxlbmd0aClvPW5oKFpyKGUsaS50aGVtZXNbMF0ucmVwbGFj +ZSgvXlwvLywiIiksdHJ1ZSl8fCIiLHIpO2lmKGkuc3R5bGUpYz1zZyhZcihlLGFrKGkuc3R5bGUp +KSxpLnN0eWxlLG8scil9aS5saW5rcy5tYXAoZnVuY3Rpb24odCl7dHJ5e3ZhciBhPWtpKFpyKGUs +d2koYWsodCkpKSx0KTtyZXR1cm4gY2coWXIoZSxhayh0KSksYSx0LHIpfWNhdGNoKG4pe319KTt2 +YXIgdT1yZyhZcihlLGFrKGkud29ya2Jvb2tzWzBdKSksaS53b3JrYm9va3NbMF0scik7dmFyIGQ9 +e30sdj0iIjtpZihpLmNvcmVwcm9wcy5sZW5ndGgpe3Y9WXIoZSxhayhpLmNvcmVwcm9wc1swXSks +dHJ1ZSk7aWYodilkPVJpKHYpO2lmKGkuZXh0cHJvcHMubGVuZ3RoIT09MCl7dj1ZcihlLGFrKGku +ZXh0cHJvcHNbMF0pLHRydWUpO2lmKHYpTWkodixkLHIpfX12YXIgcD17fTtpZighci5ib29rU2hl +ZXRzfHxyLmJvb2tQcm9wcyl7aWYoaS5jdXN0cHJvcHMubGVuZ3RoIT09MCl7dj1acihlLGFrKGku +Y3VzdHByb3BzWzBdKSx0cnVlKTtpZih2KXA9V2kodixyKX19dmFyIG09e307aWYoci5ib29rU2hl +ZXRzfHxyLmJvb2tQcm9wcyl7aWYodS5TaGVldHMpZj11LlNoZWV0cy5tYXAoZnVuY3Rpb24gTihl +KXtyZXR1cm4gZS5uYW1lfSk7ZWxzZSBpZihkLldvcmtzaGVldHMmJmQuU2hlZXROYW1lcy5sZW5n +dGg+MClmPWQuU2hlZXROYW1lcztpZihyLmJvb2tQcm9wcyl7bS5Qcm9wcz1kO20uQ3VzdHByb3Bz +PXB9aWYoci5ib29rU2hlZXRzJiZ0eXBlb2YgZiE9PSJ1bmRlZmluZWQiKW0uU2hlZXROYW1lcz1m +O2lmKHIuYm9va1NoZWV0cz9tLlNoZWV0TmFtZXM6ci5ib29rUHJvcHMpcmV0dXJuIG19Zj17fTt2 +YXIgZz17fTtpZihyLmJvb2tEZXBzJiZpLmNhbGNjaGFpbilnPW9nKFlyKGUsYWsoaS5jYWxjY2hh +aW4pKSxpLmNhbGNjaGFpbixyKTt2YXIgYj0wO3ZhciB3PXt9O3ZhciBrLEE7e3ZhciBUPXUuU2hl +ZXRzO2QuV29ya3NoZWV0cz1ULmxlbmd0aDtkLlNoZWV0TmFtZXM9W107Zm9yKHZhciB5PTA7eSE9 +VC5sZW5ndGg7Kyt5KXtkLlNoZWV0TmFtZXNbeV09VFt5XS5uYW1lfX12YXIgRT1zPyJiaW4iOiJ4 +bWwiO3ZhciBDPWkud29ya2Jvb2tzWzBdLmxhc3RJbmRleE9mKCIvIik7dmFyIF89KGkud29ya2Jv +b2tzWzBdLnNsaWNlKDAsQysxKSsiX3JlbHMvIitpLndvcmtib29rc1swXS5zbGljZShDKzEpKyIu +cmVscyIpLnJlcGxhY2UoL15cLy8sIiIpO2lmKCFqcihlLF8pKV89InhsL19yZWxzL3dvcmtib29r +LiIrRSsiLnJlbHMiO3ZhciBTPWtpKFpyKGUsXyx0cnVlKSxfLnJlcGxhY2UoL19yZWxzLiovLCJz +NXMiKSk7aWYoKGkubWV0YWRhdGF8fFtdKS5sZW5ndGg+PTEpe3IueGxtZXRhPWhnKFlyKGUsYWso +aS5tZXRhZGF0YVswXSkpLGkubWV0YWRhdGFbMF0scil9aWYoKGkucGVvcGxlfHxbXSkubGVuZ3Ro +Pj0xKXtyLnBlb3BsZT1CaChZcihlLGFrKGkucGVvcGxlWzBdKSkscil9aWYoUylTPWVrKFMsdS5T +aGVldHMpO3ZhciB4PVlyKGUsInhsL3dvcmtzaGVldHMvc2hlZXQueG1sIix0cnVlKT8xOjA7ZTpm +b3IoYj0wO2IhPWQuV29ya3NoZWV0czsrK2Ipe3ZhciBPPSJzaGVldCI7aWYoUyYmU1tiXSl7az0i +eGwvIitTW2JdWzFdLnJlcGxhY2UoL1tcL10/eGxcLy8sIiIpO2lmKCFqcihlLGspKWs9U1tiXVsx +XTtpZighanIoZSxrKSlrPV8ucmVwbGFjZSgvX3JlbHNcL1tcU1xzXSokLywiIikrU1tiXVsxXTtP +PVNbYl1bMl19ZWxzZXtrPSJ4bC93b3Jrc2hlZXRzL3NoZWV0IisoYisxLXgpKyIuIitFO2s9ay5y +ZXBsYWNlKC9zaGVldDBcLi8sInNoZWV0LiIpfUE9ay5yZXBsYWNlKC9eKC4qKShcLykoW15cL10q +KSQvLCIkMS9fcmVscy8kMy5yZWxzIik7aWYociYmci5zaGVldHMhPW51bGwpc3dpdGNoKHR5cGVv +ZiByLnNoZWV0cyl7Y2FzZSJudW1iZXIiOmlmKGIhPXIuc2hlZXRzKWNvbnRpbnVlIGU7YnJlYWs7 +Y2FzZSJzdHJpbmciOmlmKGQuU2hlZXROYW1lc1tiXS50b0xvd2VyQ2FzZSgpIT1yLnNoZWV0cy50 +b0xvd2VyQ2FzZSgpKWNvbnRpbnVlIGU7YnJlYWs7ZGVmYXVsdDppZihBcnJheS5pc0FycmF5JiZB +cnJheS5pc0FycmF5KHIuc2hlZXRzKSl7dmFyIEk9ZmFsc2U7Zm9yKHZhciBSPTA7UiE9ci5zaGVl +dHMubGVuZ3RoOysrUil7aWYodHlwZW9mIHIuc2hlZXRzW1JdPT0ibnVtYmVyIiYmci5zaGVldHNb +Ul09PWIpST0xO2lmKHR5cGVvZiByLnNoZWV0c1tSXT09InN0cmluZyImJnIuc2hlZXRzW1JdLnRv +TG93ZXJDYXNlKCk9PWQuU2hlZXROYW1lc1tiXS50b0xvd2VyQ2FzZSgpKUk9MX1pZighSSljb250 +aW51ZSBlfTt9dGsoZSxrLEEsZC5TaGVldE5hbWVzW2JdLGIsdyxmLE8scix1LG8sYyl9bT17RGly +ZWN0b3J5OmksV29ya2Jvb2s6dSxQcm9wczpkLEN1c3Rwcm9wczpwLERlcHM6ZyxTaGVldHM6ZixT +aGVldE5hbWVzOmQuU2hlZXROYW1lcyxTdHJpbmdzOm12LFN0eWxlczpjLFRoZW1lczpvLFNTRjpB +cihxKX07aWYociYmci5ib29rRmlsZXMpe2lmKGUuZmlsZXMpe20ua2V5cz1uO20uZmlsZXM9ZS5m +aWxlc31lbHNle20ua2V5cz1bXTttLmZpbGVzPXt9O2UuRnVsbFBhdGhzLmZvckVhY2goZnVuY3Rp +b24ocix0KXtyPXIucmVwbGFjZSgvXlJvb3QgRW50cnlbXC9dLywiIik7bS5rZXlzLnB1c2gocik7 +bS5maWxlc1tyXT1lLkZpbGVJbmRleFt0XX0pfX1pZihyJiZyLmJvb2tWQkEpe2lmKGkudmJhLmxl +bmd0aD4wKW0udmJhcmF3PVlyKGUsYWsoaS52YmFbMF0pLHRydWUpO2Vsc2UgaWYoaS5kZWZhdWx0 +cyYmaS5kZWZhdWx0cy5iaW49PT1qaCltLnZiYXJhdz1ZcihlLCJ4bC92YmFQcm9qZWN0LmJpbiIs +dHJ1ZSl9bS5ib29rVHlwZT1zPyJ4bHNiIjoieGxzeCI7cmV0dXJuIG19ZnVuY3Rpb24gaWsoZSxy +KXt2YXIgdD1yfHx7fTt2YXIgYT0iV29ya2Jvb2siLG49UWUuZmluZChlLGEpO3RyeXthPSIvIURh +dGFTcGFjZXMvVmVyc2lvbiI7bj1RZS5maW5kKGUsYSk7aWYoIW58fCFuLmNvbnRlbnQpdGhyb3cg +bmV3IEVycm9yKCJFQ01BLTM3NiBFbmNyeXB0ZWQgZmlsZSBtaXNzaW5nICIrYSk7RW8obi5jb250 +ZW50KTthPSIvIURhdGFTcGFjZXMvRGF0YVNwYWNlTWFwIjtuPVFlLmZpbmQoZSxhKTtpZighbnx8 +IW4uY29udGVudCl0aHJvdyBuZXcgRXJyb3IoIkVDTUEtMzc2IEVuY3J5cHRlZCBmaWxlIG1pc3Np +bmcgIithKTt2YXIgaT1fbyhuLmNvbnRlbnQpO2lmKGkubGVuZ3RoIT09MXx8aVswXS5jb21wcy5s +ZW5ndGghPT0xfHxpWzBdLmNvbXBzWzBdLnQhPT0wfHxpWzBdLm5hbWUhPT0iU3Ryb25nRW5jcnlw +dGlvbkRhdGFTcGFjZSJ8fGlbMF0uY29tcHNbMF0udiE9PSJFbmNyeXB0ZWRQYWNrYWdlIil0aHJv +dyBuZXcgRXJyb3IoIkVDTUEtMzc2IEVuY3J5cHRlZCBmaWxlIGJhZCAiK2EpO2E9Ii8hRGF0YVNw +YWNlcy9EYXRhU3BhY2VJbmZvL1N0cm9uZ0VuY3J5cHRpb25EYXRhU3BhY2UiO249UWUuZmluZChl +LGEpO2lmKCFufHwhbi5jb250ZW50KXRocm93IG5ldyBFcnJvcigiRUNNQS0zNzYgRW5jcnlwdGVk +IGZpbGUgbWlzc2luZyAiK2EpO3ZhciBzPVNvKG4uY29udGVudCk7aWYocy5sZW5ndGghPTF8fHNb +MF0hPSJTdHJvbmdFbmNyeXB0aW9uVHJhbnNmb3JtIil0aHJvdyBuZXcgRXJyb3IoIkVDTUEtMzc2 +IEVuY3J5cHRlZCBmaWxlIGJhZCAiK2EpO2E9Ii8hRGF0YVNwYWNlcy9UcmFuc2Zvcm1JbmZvL1N0 +cm9uZ0VuY3J5cHRpb25UcmFuc2Zvcm0vIVByaW1hcnkiO249UWUuZmluZChlLGEpO2lmKCFufHwh +bi5jb250ZW50KXRocm93IG5ldyBFcnJvcigiRUNNQS0zNzYgRW5jcnlwdGVkIGZpbGUgbWlzc2lu +ZyAiK2EpO09vKG4uY29udGVudCl9Y2F0Y2goZil7fWE9Ii9FbmNyeXB0aW9uSW5mbyI7bj1RZS5m +aW5kKGUsYSk7aWYoIW58fCFuLmNvbnRlbnQpdGhyb3cgbmV3IEVycm9yKCJFQ01BLTM3NiBFbmNy +eXB0ZWQgZmlsZSBtaXNzaW5nICIrYSk7dmFyIGw9Tm8obi5jb250ZW50KTthPSIvRW5jcnlwdGVk +UGFja2FnZSI7bj1RZS5maW5kKGUsYSk7aWYoIW58fCFuLmNvbnRlbnQpdGhyb3cgbmV3IEVycm9y +KCJFQ01BLTM3NiBFbmNyeXB0ZWQgZmlsZSBtaXNzaW5nICIrYSk7aWYobFswXT09NCYmdHlwZW9m +IGRlY3J5cHRfYWdpbGUhPT0idW5kZWZpbmVkIilyZXR1cm4gZGVjcnlwdF9hZ2lsZShsWzFdLG4u +Y29udGVudCx0LnBhc3N3b3JkfHwiIix0KTtpZihsWzBdPT0yJiZ0eXBlb2YgZGVjcnlwdF9zdGQ3 +NiE9PSJ1bmRlZmluZWQiKXJldHVybiBkZWNyeXB0X3N0ZDc2KGxbMV0sbi5jb250ZW50LHQucGFz +c3dvcmR8fCIiLHQpO3Rocm93IG5ldyBFcnJvcigiRmlsZSBpcyBwYXNzd29yZC1wcm90ZWN0ZWQi +KX1mdW5jdGlvbiBzayhlLHIpe2lmKGUmJiFlLlNTRil7ZS5TU0Y9QXIocSl9aWYoZSYmZS5TU0Yp +eyRlKCk7VmUoZS5TU0YpO3IucmV2c3NmPWxyKGUuU1NGKTtyLnJldnNzZltlLlNTRls2NTUzNV1d +PTA7ci5zc2Y9ZS5TU0Z9ci5yZWxzPXt9O3Iud2JyZWxzPXt9O3IuU3RyaW5ncz1bXTtyLlN0cmlu +Z3MuQ291bnQ9MDtyLlN0cmluZ3MuVW5pcXVlPTA7aWYoYnYpci5yZXZTdHJpbmdzPW5ldyBNYXA7 +ZWxzZXtyLnJldlN0cmluZ3M9e307ci5yZXZTdHJpbmdzLmZvbz1bXTtkZWxldGUgci5yZXZTdHJp +bmdzLmZvb312YXIgdD0iYmluIjt2YXIgYT10cnVlO3ZhciBuPXBpKCk7cXcocj1yfHx7fSk7dmFy +IGk9ZXQoKTt2YXIgcz0iIixmPTA7ci5jZWxsWGZzPVtdO1R2KHIuY2VsbFhmcyx7fSx7cmV2c3Nm +OntHZW5lcmFsOjB9fSk7aWYoIWUuUHJvcHMpZS5Qcm9wcz17fTtzPSJkb2NQcm9wcy9jb3JlLnht +bCI7UXIoaSxzLEZpKGUuUHJvcHMscikpO24uY29yZXByb3BzLnB1c2gocyk7VGkoci5yZWxzLDIs +cyxiaS5DT1JFX1BST1BTKTtzPSJkb2NQcm9wcy9hcHAueG1sIjtpZihlLlByb3BzJiZlLlByb3Bz +LlNoZWV0TmFtZXMpe31lbHNlIGlmKCFlLldvcmtib29rfHwhZS5Xb3JrYm9vay5TaGVldHMpZS5Q +cm9wcy5TaGVldE5hbWVzPWUuU2hlZXROYW1lcztlbHNle3ZhciBsPVtdO2Zvcih2YXIgbz0wO288 +ZS5TaGVldE5hbWVzLmxlbmd0aDsrK28paWYoKGUuV29ya2Jvb2suU2hlZXRzW29dfHx7fSkuSGlk +ZGVuIT0yKWwucHVzaChlLlNoZWV0TmFtZXNbb10pO2UuUHJvcHMuU2hlZXROYW1lcz1sfWUuUHJv +cHMuV29ya3NoZWV0cz1lLlByb3BzLlNoZWV0TmFtZXMubGVuZ3RoO1FyKGkscyxVaShlLlByb3Bz +LHIpKTtuLmV4dHByb3BzLnB1c2gocyk7VGkoci5yZWxzLDMscyxiaS5FWFRfUFJPUFMpO2lmKGUu +Q3VzdHByb3BzIT09ZS5Qcm9wcyYmaXIoZS5DdXN0cHJvcHN8fHt9KS5sZW5ndGg+MCl7cz0iZG9j +UHJvcHMvY3VzdG9tLnhtbCI7UXIoaSxzLHppKGUuQ3VzdHByb3BzLHIpKTtuLmN1c3Rwcm9wcy5w +dXNoKHMpO1RpKHIucmVscyw0LHMsYmkuQ1VTVF9QUk9QUyl9dmFyIGM9WyJTaGVldEo1Il07ci50 +Y2lkPTA7Zm9yKGY9MTtmPD1lLlNoZWV0TmFtZXMubGVuZ3RoOysrZil7dmFyIGg9eyIhaWQiOnt9 +fTt2YXIgdT1lLlNoZWV0c1tlLlNoZWV0TmFtZXNbZi0xXV07dmFyIGQ9KHV8fHt9KVsiIXR5cGUi +XXx8InNoZWV0Ijtzd2l0Y2goZCl7Y2FzZSJjaGFydCI6O2RlZmF1bHQ6cz0ieGwvd29ya3NoZWV0 +cy9zaGVldCIrZisiLiIrdDtRcihpLHMsYm0oZi0xLHIsZSxoKSk7bi5zaGVldHMucHVzaChzKTtU +aShyLndicmVscywtMSwid29ya3NoZWV0cy9zaGVldCIrZisiLiIrdCxiaS5XU1swXSk7fWlmKHUp +e3ZhciB2PXVbIiFjb21tZW50cyJdO3ZhciBwPWZhbHNlO3ZhciBtPSIiO2lmKHYmJnYubGVuZ3Ro +PjApe3ZhciBnPWZhbHNlO3YuZm9yRWFjaChmdW5jdGlvbihlKXtlWzFdLmZvckVhY2goZnVuY3Rp +b24oZSl7aWYoZS5UPT10cnVlKWc9dHJ1ZX0pfSk7aWYoZyl7bT0ieGwvdGhyZWFkZWRDb21tZW50 +cy90aHJlYWRlZENvbW1lbnQiK2YrIi54bWwiO1FyKGksbSxVaCh2LGMscikpO24udGhyZWFkZWRj +b21tZW50cy5wdXNoKG0pO1RpKGgsLTEsIi4uL3RocmVhZGVkQ29tbWVudHMvdGhyZWFkZWRDb21t +ZW50IitmKyIueG1sIixiaS5UQ01OVCl9bT0ieGwvY29tbWVudHMiK2YrIi4iK3Q7UXIoaSxtLEdo +KHYscikpO24uY29tbWVudHMucHVzaChtKTtUaShoLC0xLCIuLi9jb21tZW50cyIrZisiLiIrdCxi +aS5DTU5UKTtwPXRydWV9aWYodVsiIWxlZ2FjeSJdKXtpZihwKVFyKGksInhsL2RyYXdpbmdzL3Zt +bERyYXdpbmciK2YrIi52bWwiLE5oKGYsdVsiIWNvbW1lbnRzIl0pKX1kZWxldGUgdVsiIWNvbW1l +bnRzIl07ZGVsZXRlIHVbIiFsZWdhY3kiXX1pZihoWyIhaWQiXS5ySWQxKVFyKGksd2kocyksQWko +aCkpfWlmKHIuU3RyaW5ncyE9bnVsbCYmci5TdHJpbmdzLmxlbmd0aD4wKXtzPSJ4bC9zaGFyZWRT +dHJpbmdzLiIrdDtRcihpLHMsQW8oci5TdHJpbmdzLHIpKTtuLnN0cnMucHVzaChzKTtUaShyLndi +cmVscywtMSwic2hhcmVkU3RyaW5ncy4iK3QsYmkuU1NUKX1zPSJ4bC93b3JrYm9vay4iK3Q7UXIo +aSxzLGVnKGUscikpO24ud29ya2Jvb2tzLnB1c2gocyk7VGkoci5yZWxzLDEscyxiaS5XQik7cz0i +eGwvdGhlbWUvdGhlbWUxLnhtbCI7dmFyIGI9aWgoZS5UaGVtZXMscik7UXIoaSxzLGIpO24udGhl +bWVzLnB1c2gocyk7VGkoci53YnJlbHMsLTEsInRoZW1lL3RoZW1lMS54bWwiLGJpLlRIRU1FKTtz +PSJ4bC9zdHlsZXMuIit0O1FyKGkscyxxYyhlLHIpKTtuLnN0eWxlcy5wdXNoKHMpO1RpKHIud2Jy +ZWxzLC0xLCJzdHlsZXMuIit0LGJpLlNUWSk7aWYoZS52YmFyYXcmJmEpe3M9InhsL3ZiYVByb2pl +Y3QuYmluIjtRcihpLHMsZS52YmFyYXcpO24udmJhLnB1c2gocyk7VGkoci53YnJlbHMsLTEsInZi +YVByb2plY3QuYmluIixiaS5WQkEpfXM9InhsL21ldGFkYXRhLiIrdDtRcihpLHMsVGgoKSk7bi5t +ZXRhZGF0YS5wdXNoKHMpO1RpKHIud2JyZWxzLC0xLCJtZXRhZGF0YS4iK3QsYmkuWExNRVRBKTtp +ZihjLmxlbmd0aD4xKXtzPSJ4bC9wZXJzb25zL3BlcnNvbi54bWwiO1FyKGkscyxXaChjLHIpKTtu +LnBlb3BsZS5wdXNoKHMpO1RpKHIud2JyZWxzLC0xLCJwZXJzb25zL3BlcnNvbi54bWwiLGJpLlBF +T1BMRSl9UXIoaSwiW0NvbnRlbnRfVHlwZXNdLnhtbCIsZ2kobixyKSk7UXIoaSwiX3JlbHMvLnJl +bHMiLEFpKHIucmVscykpO1FyKGksInhsL19yZWxzL3dvcmtib29rLiIrdCsiLnJlbHMiLEFpKHIu +d2JyZWxzKSk7ZGVsZXRlIHIucmV2c3NmO2RlbGV0ZSByLnNzZjtyZXR1cm4gaX1mdW5jdGlvbiBm +ayhlLHIpe2lmKGUmJiFlLlNTRil7ZS5TU0Y9QXIocSl9aWYoZSYmZS5TU0YpeyRlKCk7VmUoZS5T +U0YpO3IucmV2c3NmPWxyKGUuU1NGKTtyLnJldnNzZltlLlNTRls2NTUzNV1dPTA7ci5zc2Y9ZS5T +U0Z9ci5yZWxzPXt9O3Iud2JyZWxzPXt9O3IuU3RyaW5ncz1bXTtyLlN0cmluZ3MuQ291bnQ9MDty +LlN0cmluZ3MuVW5pcXVlPTA7aWYoYnYpci5yZXZTdHJpbmdzPW5ldyBNYXA7ZWxzZXtyLnJldlN0 +cmluZ3M9e307ci5yZXZTdHJpbmdzLmZvbz1bXTtkZWxldGUgci5yZXZTdHJpbmdzLmZvb312YXIg +dD0ieG1sIjt2YXIgYT1aaC5pbmRleE9mKHIuYm9va1R5cGUpPi0xO3ZhciBuPXBpKCk7cXcocj1y +fHx7fSk7dmFyIGk9ZXQoKTt2YXIgcz0iIixmPTA7ci5jZWxsWGZzPVtdO1R2KHIuY2VsbFhmcyx7 +fSx7cmV2c3NmOntHZW5lcmFsOjB9fSk7aWYoIWUuUHJvcHMpZS5Qcm9wcz17fTtzPSJkb2NQcm9w +cy9jb3JlLnhtbCI7UXIoaSxzLEZpKGUuUHJvcHMscikpO24uY29yZXByb3BzLnB1c2gocyk7VGko +ci5yZWxzLDIscyxiaS5DT1JFX1BST1BTKTtzPSJkb2NQcm9wcy9hcHAueG1sIjtpZihlLlByb3Bz +JiZlLlByb3BzLlNoZWV0TmFtZXMpe31lbHNlIGlmKCFlLldvcmtib29rfHwhZS5Xb3JrYm9vay5T +aGVldHMpZS5Qcm9wcy5TaGVldE5hbWVzPWUuU2hlZXROYW1lcztlbHNle3ZhciBsPVtdO2Zvcih2 +YXIgbz0wO288ZS5TaGVldE5hbWVzLmxlbmd0aDsrK28paWYoKGUuV29ya2Jvb2suU2hlZXRzW29d +fHx7fSkuSGlkZGVuIT0yKWwucHVzaChlLlNoZWV0TmFtZXNbb10pO2UuUHJvcHMuU2hlZXROYW1l +cz1sfWUuUHJvcHMuV29ya3NoZWV0cz1lLlByb3BzLlNoZWV0TmFtZXMubGVuZ3RoO1FyKGkscyxV +aShlLlByb3BzLHIpKTtuLmV4dHByb3BzLnB1c2gocyk7VGkoci5yZWxzLDMscyxiaS5FWFRfUFJP +UFMpO2lmKGUuQ3VzdHByb3BzIT09ZS5Qcm9wcyYmaXIoZS5DdXN0cHJvcHN8fHt9KS5sZW5ndGg+ +MCl7cz0iZG9jUHJvcHMvY3VzdG9tLnhtbCI7UXIoaSxzLHppKGUuQ3VzdHByb3BzLHIpKTtuLmN1 +c3Rwcm9wcy5wdXNoKHMpO1RpKHIucmVscyw0LHMsYmkuQ1VTVF9QUk9QUyl9dmFyIGM9WyJTaGVl +dEo1Il07ci50Y2lkPTA7Zm9yKGY9MTtmPD1lLlNoZWV0TmFtZXMubGVuZ3RoOysrZil7dmFyIGg9 +eyIhaWQiOnt9fTt2YXIgdT1lLlNoZWV0c1tlLlNoZWV0TmFtZXNbZi0xXV07dmFyIGQ9KHV8fHt9 +KVsiIXR5cGUiXXx8InNoZWV0Ijtzd2l0Y2goZCl7Y2FzZSJjaGFydCI6O2RlZmF1bHQ6cz0ieGwv +d29ya3NoZWV0cy9zaGVldCIrZisiLiIrdDtRcihpLHMsZXAoZi0xLHIsZSxoKSk7bi5zaGVldHMu +cHVzaChzKTtUaShyLndicmVscywtMSwid29ya3NoZWV0cy9zaGVldCIrZisiLiIrdCxiaS5XU1sw +XSk7fWlmKHUpe3ZhciB2PXVbIiFjb21tZW50cyJdO3ZhciBwPWZhbHNlO3ZhciBtPSIiO2lmKHYm +JnYubGVuZ3RoPjApe3ZhciBnPWZhbHNlO3YuZm9yRWFjaChmdW5jdGlvbihlKXtlWzFdLmZvckVh +Y2goZnVuY3Rpb24oZSl7aWYoZS5UPT10cnVlKWc9dHJ1ZX0pfSk7aWYoZyl7bT0ieGwvdGhyZWFk +ZWRDb21tZW50cy90aHJlYWRlZENvbW1lbnQiK2YrIi54bWwiO1FyKGksbSxVaCh2LGMscikpO24u +dGhyZWFkZWRjb21tZW50cy5wdXNoKG0pO1RpKGgsLTEsIi4uL3RocmVhZGVkQ29tbWVudHMvdGhy +ZWFkZWRDb21tZW50IitmKyIueG1sIixiaS5UQ01OVCl9bT0ieGwvY29tbWVudHMiK2YrIi4iK3Q7 +UXIoaSxtLExoKHYscikpO24uY29tbWVudHMucHVzaChtKTtUaShoLC0xLCIuLi9jb21tZW50cyIr +ZisiLiIrdCxiaS5DTU5UKTtwPXRydWV9aWYodVsiIWxlZ2FjeSJdKXtpZihwKVFyKGksInhsL2Ry +YXdpbmdzL3ZtbERyYXdpbmciK2YrIi52bWwiLE5oKGYsdVsiIWNvbW1lbnRzIl0pKX1kZWxldGUg +dVsiIWNvbW1lbnRzIl07ZGVsZXRlIHVbIiFsZWdhY3kiXX1pZihoWyIhaWQiXS5ySWQxKVFyKGks +d2kocyksQWkoaCkpfWlmKHIuU3RyaW5ncyE9bnVsbCYmci5TdHJpbmdzLmxlbmd0aD4wKXtzPSJ4 +bC9zaGFyZWRTdHJpbmdzLiIrdDtRcihpLHMsbW8oci5TdHJpbmdzLHIpKTtuLnN0cnMucHVzaChz +KTtUaShyLndicmVscywtMSwic2hhcmVkU3RyaW5ncy4iK3QsYmkuU1NUKX1zPSJ4bC93b3JrYm9v +ay4iK3Q7UXIoaSxzLFVtKGUscikpO24ud29ya2Jvb2tzLnB1c2gocyk7VGkoci5yZWxzLDEscyxi +aS5XQik7cz0ieGwvdGhlbWUvdGhlbWUxLnhtbCI7UXIoaSxzLGloKGUuVGhlbWVzLHIpKTtuLnRo +ZW1lcy5wdXNoKHMpO1RpKHIud2JyZWxzLC0xLCJ0aGVtZS90aGVtZTEueG1sIixiaS5USEVNRSk7 +cz0ieGwvc3R5bGVzLiIrdDtRcihpLHMsQ2MoZSxyKSk7bi5zdHlsZXMucHVzaChzKTtUaShyLndi +cmVscywtMSwic3R5bGVzLiIrdCxiaS5TVFkpO2lmKGUudmJhcmF3JiZhKXtzPSJ4bC92YmFQcm9q +ZWN0LmJpbiI7UXIoaSxzLGUudmJhcmF3KTtuLnZiYS5wdXNoKHMpO1RpKHIud2JyZWxzLC0xLCJ2 +YmFQcm9qZWN0LmJpbiIsYmkuVkJBKX1zPSJ4bC9tZXRhZGF0YS4iK3Q7UXIoaSxzLEVoKCkpO24u +bWV0YWRhdGEucHVzaChzKTtUaShyLndicmVscywtMSwibWV0YWRhdGEuIit0LGJpLlhMTUVUQSk7 +aWYoYy5sZW5ndGg+MSl7cz0ieGwvcGVyc29ucy9wZXJzb24ueG1sIjtRcihpLHMsV2goYyxyKSk7 +bi5wZW9wbGUucHVzaChzKTtUaShyLndicmVscywtMSwicGVyc29ucy9wZXJzb24ueG1sIixiaS5Q +RU9QTEUpfVFyKGksIltDb250ZW50X1R5cGVzXS54bWwiLGdpKG4scikpO1FyKGksIl9yZWxzLy5y +ZWxzIixBaShyLnJlbHMpKTtRcihpLCJ4bC9fcmVscy93b3JrYm9vay4iK3QrIi5yZWxzIixBaShy +LndicmVscykpO2RlbGV0ZSByLnJldnNzZjtkZWxldGUgci5zc2Y7cmV0dXJuIGl9ZnVuY3Rpb24g +bGsoZSxyKXt2YXIgdD0iIjtzd2l0Y2goKHJ8fHt9KS50eXBlfHwiYmFzZTY0Iil7Y2FzZSJidWZm +ZXIiOnJldHVybltlWzBdLGVbMV0sZVsyXSxlWzNdLGVbNF0sZVs1XSxlWzZdLGVbN11dO2Nhc2Ui +YmFzZTY0Ijp0PUUoZS5zbGljZSgwLDEyKSk7YnJlYWs7Y2FzZSJiaW5hcnkiOnQ9ZTticmVhaztj +YXNlImFycmF5IjpyZXR1cm5bZVswXSxlWzFdLGVbMl0sZVszXSxlWzRdLGVbNV0sZVs2XSxlWzdd +XTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5yZWNvZ25pemVkIHR5cGUgIisociYmci50eXBl +fHwidW5kZWZpbmVkIikpO31yZXR1cm5bdC5jaGFyQ29kZUF0KDApLHQuY2hhckNvZGVBdCgxKSx0 +LmNoYXJDb2RlQXQoMiksdC5jaGFyQ29kZUF0KDMpLHQuY2hhckNvZGVBdCg0KSx0LmNoYXJDb2Rl +QXQoNSksdC5jaGFyQ29kZUF0KDYpLHQuY2hhckNvZGVBdCg3KV19ZnVuY3Rpb24gb2soZSxyKXtp +ZihRZS5maW5kKGUsIkVuY3J5cHRlZFBhY2thZ2UiKSlyZXR1cm4gaWsoZSxyKTtyZXR1cm4gS2co +ZSxyKX1mdW5jdGlvbiBjayhlLHIpe3ZhciB0LGE9ZTt2YXIgbj1yfHx7fTtpZighbi50eXBlKW4u +dHlwZT1DJiZCdWZmZXIuaXNCdWZmZXIoZSk/ImJ1ZmZlciI6ImJhc2U2NCI7dD1ydChhLG4pO3Jl +dHVybiBuayh0LG4pfWZ1bmN0aW9uIGhrKGUscil7dmFyIHQ9MDtlOndoaWxlKHQ8ZS5sZW5ndGgp +c3dpdGNoKGUuY2hhckNvZGVBdCh0KSl7Y2FzZSAxMDo7Y2FzZSAxMzo7Y2FzZSAzMjorK3Q7YnJl +YWs7Y2FzZSA2MDpyZXR1cm4gQ2coZS5zbGljZSh0KSxyKTtkZWZhdWx0OmJyZWFrIGU7fXJldHVy +biB0by50b193b3JrYm9vayhlLHIpfWZ1bmN0aW9uIHVrKGUscil7dmFyIHQ9IiIsYT1sayhlLHIp +O3N3aXRjaChyLnR5cGUpe2Nhc2UiYmFzZTY0Ijp0PUUoZSk7YnJlYWs7Y2FzZSJiaW5hcnkiOnQ9 +ZTticmVhaztjYXNlImJ1ZmZlciI6dD1lLnRvU3RyaW5nKCJiaW5hcnkiKTticmVhaztjYXNlImFy +cmF5Ijp0PWtyKGUpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJVbnJlY29nbml6ZWQg +dHlwZSAiK3IudHlwZSk7fWlmKGFbMF09PTIzOSYmYVsxXT09MTg3JiZhWzJdPT0xOTEpdD1JdCh0 +KTtyLnR5cGU9ImJpbmFyeSI7cmV0dXJuIGhrKHQscil9ZnVuY3Rpb24gZGsoZSxyKXt2YXIgdD1l +O2lmKHIudHlwZT09ImJhc2U2NCIpdD1FKHQpO2lmKHR5cGVvZiBBcnJheUJ1ZmZlciE9PSJ1bmRl +ZmluZWQiJiZlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpdD1uZXcgVWludDhBcnJheShlKTt0PXR5 +cGVvZiBhIT09InVuZGVmaW5lZCI/YS51dGlscy5kZWNvZGUoMTIwMCx0LnNsaWNlKDIpLCJzdHIi +KTpDJiZCdWZmZXIuaXNCdWZmZXIoZSk/ZS5zbGljZSgyKS50b1N0cmluZygidXRmMTZsZSIpOnR5 +cGVvZiBVaW50OEFycmF5IT09InVuZGVmaW5lZCImJnQgaW5zdGFuY2VvZiBVaW50OEFycmF5P3R5 +cGVvZiBUZXh0RGVjb2RlciE9PSJ1bmRlZmluZWQiP25ldyBUZXh0RGVjb2RlcigidXRmLTE2bGUi +KS5kZWNvZGUodC5zbGljZSgyKSk6dSh0LnNsaWNlKDIpKTpoKHQuc2xpY2UoMikpO3IudHlwZT0i +YmluYXJ5IjtyZXR1cm4gaGsodCxyKX1mdW5jdGlvbiB2ayhlKXtyZXR1cm4hZS5tYXRjaCgvW15c +eDAwLVx4N0ZdLyk/ZTpSdChlKX1mdW5jdGlvbiBwayhlLHIsdCxhKXtpZihhKXt0LnR5cGU9InN0 +cmluZyI7cmV0dXJuIHRvLnRvX3dvcmtib29rKGUsdCl9cmV0dXJuIHRvLnRvX3dvcmtib29rKHIs +dCl9ZnVuY3Rpb24gbWsoZSxyKXtvKCk7dmFyIHQ9cnx8e307aWYodC5jb2RlcGFnZSYmdHlwZW9m +IGE9PT0idW5kZWZpbmVkIiljb25zb2xlLmVycm9yKCJDb2RlcGFnZSB0YWJsZXMgYXJlIG5vdCBs +b2FkZWQuICBOb24tQVNDSUkgY2hhcmFjdGVycyBtYXkgbm90IGdpdmUgZXhwZWN0ZWQgcmVzdWx0 +cyIpO2lmKHR5cGVvZiBBcnJheUJ1ZmZlciE9PSJ1bmRlZmluZWQiJiZlIGluc3RhbmNlb2YgQXJy +YXlCdWZmZXIpcmV0dXJuIG1rKG5ldyBVaW50OEFycmF5KGUpLCh0PUFyKHQpLHQudHlwZT0iYXJy +YXkiLHQpKTtpZih0eXBlb2YgSW50OEFycmF5IT09InVuZGVmaW5lZCImJmUgaW5zdGFuY2VvZiBJ +bnQ4QXJyYXkpcmV0dXJuIG1rKG5ldyBVaW50OEFycmF5KGUuYnVmZmVyLGUuYnl0ZU9mZnNldCxl +Lmxlbmd0aCksdCk7aWYodHlwZW9mIFVpbnQ4QXJyYXkhPT0idW5kZWZpbmVkIiYmZSBpbnN0YW5j +ZW9mIFVpbnQ4QXJyYXkmJiF0LnR5cGUpdC50eXBlPXR5cGVvZiBEZW5vIT09InVuZGVmaW5lZCI/ +ImJ1ZmZlciI6ImFycmF5Ijt2YXIgbj1lLGk9WzAsMCwwLDBdLHM9ZmFsc2U7aWYodC5jZWxsU3R5 +bGVzKXt0LmNlbGxORj10cnVlO3Quc2hlZXRTdHVicz10cnVlfWd2PXt9O2lmKHQuZGF0ZU5GKWd2 +LmRhdGVORj10LmRhdGVORjtpZighdC50eXBlKXQudHlwZT1DJiZCdWZmZXIuaXNCdWZmZXIoZSk/ +ImJ1ZmZlciI6ImJhc2U2NCI7aWYodC50eXBlPT0iZmlsZSIpe3QudHlwZT1DPyJidWZmZXIiOiJi +aW5hcnkiO249bnIoZSk7aWYodHlwZW9mIFVpbnQ4QXJyYXkhPT0idW5kZWZpbmVkIiYmIUMpdC50 +eXBlPSJhcnJheSJ9aWYodC50eXBlPT0ic3RyaW5nIil7cz10cnVlO3QudHlwZT0iYmluYXJ5Ijt0 +LmNvZGVwYWdlPTY1MDAxO249dmsoZSl9aWYodC50eXBlPT0iYXJyYXkiJiZ0eXBlb2YgVWludDhB +cnJheSE9PSJ1bmRlZmluZWQiJiZlIGluc3RhbmNlb2YgVWludDhBcnJheSYmdHlwZW9mIEFycmF5 +QnVmZmVyIT09InVuZGVmaW5lZCIpe3ZhciBmPW5ldyBBcnJheUJ1ZmZlcigzKSxsPW5ldyBVaW50 +OEFycmF5KGYpO2wuZm9vPSJiYXIiO2lmKCFsLmZvbyl7dD1Bcih0KTt0LnR5cGU9ImFycmF5Ijty +ZXR1cm4gbWsoRChuKSx0KX19c3dpdGNoKChpPWxrKG4sdCkpWzBdKXtjYXNlIDIwODppZihpWzFd +PT09MjA3JiZpWzJdPT09MTcmJmlbM109PT0yMjQmJmlbNF09PT0xNjEmJmlbNV09PT0xNzcmJmlb +Nl09PT0yNiYmaVs3XT09PTIyNSlyZXR1cm4gb2soUWUucmVhZChuLHQpLHQpO2JyZWFrO2Nhc2Ug +OTppZihpWzFdPD04KXJldHVybiBLZyhuLHQpO2JyZWFrO2Nhc2UgNjA6cmV0dXJuIENnKG4sdCk7 +Y2FzZSA3MzppZihpWzFdPT09NzMmJmlbMl09PT00MiYmaVszXT09PTApdGhyb3cgbmV3IEVycm9y +KCJUSUZGIEltYWdlIEZpbGUgaXMgbm90IGEgc3ByZWFkc2hlZXQiKTtpZihpWzFdPT09NjgpcmV0 +dXJuIGFvKG4sdCk7YnJlYWs7Y2FzZSA4NDppZihpWzFdPT09NjUmJmlbMl09PT02NiYmaVszXT09 +PTc2KXJldHVybiBlby50b193b3JrYm9vayhuLHQpO2JyZWFrO2Nhc2UgODA6cmV0dXJuIGlbMV09 +PT03NSYmaVsyXTw5JiZpWzNdPDk/Y2sobix0KTpwayhlLG4sdCxzKTtjYXNlIDIzOTpyZXR1cm4g +aVszXT09PTYwP0NnKG4sdCk6cGsoZSxuLHQscyk7Y2FzZSAyNTU6aWYoaVsxXT09PTI1NCl7cmV0 +dXJuIGRrKG4sdCl9ZWxzZSBpZihpWzFdPT09MCYmaVsyXT09PTImJmlbM109PT0wKXJldHVybiBu +by50b193b3JrYm9vayhuLHQpO2JyZWFrO2Nhc2UgMDppZihpWzFdPT09MCl7aWYoaVsyXT49MiYm +aVszXT09PTApcmV0dXJuIG5vLnRvX3dvcmtib29rKG4sdCk7aWYoaVsyXT09PTAmJihpWzNdPT09 +OHx8aVszXT09PTkpKXJldHVybiBuby50b193b3JrYm9vayhuLHQpfWJyZWFrO2Nhc2UgMzo7Y2Fz +ZSAxMzE6O2Nhc2UgMTM5OjtjYXNlIDE0MDpyZXR1cm4gcWwudG9fd29ya2Jvb2sobix0KTtjYXNl +IDEyMzppZihpWzFdPT09OTImJmlbMl09PT0xMTQmJmlbM109PT0xMTYpcmV0dXJuIGpvKG4sdCk7 +YnJlYWs7Y2FzZSAxMDo7Y2FzZSAxMzo7Y2FzZSAzMjpyZXR1cm4gdWsobix0KTtjYXNlIDEzNzpp +ZihpWzFdPT09ODAmJmlbMl09PT03OCYmaVszXT09PTcxKXRocm93IG5ldyBFcnJvcigiUE5HIElt +YWdlIEZpbGUgaXMgbm90IGEgc3ByZWFkc2hlZXQiKTticmVhaztjYXNlIDg6aWYoaVsxXT09PTIz +MSl0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIE11bHRpcGxhbiAxLnggZmlsZSEiKTticmVh +aztjYXNlIDEyOmlmKGlbMV09PT0yMzYpdGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBNdWx0 +aXBsYW4gMi54IGZpbGUhIik7aWYoaVsxXT09PTIzNyl0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9y +dGVkIE11bHRpcGxhbiAzLnggZmlsZSEiKTticmVhazt9aWYoSmwuaW5kZXhPZihpWzBdKT4tMSYm +aVsyXTw9MTImJmlbM108PTMxKXJldHVybiBxbC50b193b3JrYm9vayhuLHQpO3JldHVybiBwayhl +LG4sdCxzKX1mdW5jdGlvbiBnayhlLHIpe3ZhciB0PXJ8fHt9O3QudHlwZT0iZmlsZSI7cmV0dXJu +IG1rKGUsdCl9ZnVuY3Rpb24gYmsoZSxyKXtzd2l0Y2goci50eXBlKXtjYXNlImJhc2U2NCI6O2Nh +c2UiYmluYXJ5IjpicmVhaztjYXNlImJ1ZmZlciI6O2Nhc2UiYXJyYXkiOnIudHlwZT0iIjticmVh +aztjYXNlImZpbGUiOnJldHVybiBhcihyLmZpbGUsUWUud3JpdGUoZSx7dHlwZTpDPyJidWZmZXIi +OiIifSkpO2Nhc2Uic3RyaW5nIjp0aHJvdyBuZXcgRXJyb3IoIidzdHJpbmcnIG91dHB1dCB0eXBl +IGludmFsaWQgZm9yICciK3IuYm9va1R5cGUrIicgZmlsZXMiKTtkZWZhdWx0OnRocm93IG5ldyBF +cnJvcigiVW5yZWNvZ25pemVkIHR5cGUgIityLnR5cGUpO31yZXR1cm4gUWUud3JpdGUoZSxyKX1m +dW5jdGlvbiB3ayhlLHIpe3N3aXRjaChyLmJvb2tUeXBlKXtjYXNlIm9kcyI6cmV0dXJuIEhiKGUs +cik7Y2FzZSJudW1iZXJzIjpyZXR1cm4gQncoZSxyKTtjYXNlInhsc2IiOnJldHVybiBzayhlLHIp +O2RlZmF1bHQ6cmV0dXJuIGZrKGUscik7fX1mdW5jdGlvbiBrayhlLHIpe3ZhciB0PUFyKHJ8fHt9 +KTt2YXIgYT13ayhlLHQpO3JldHVybiBUayhhLHQpfWZ1bmN0aW9uIEFrKGUscil7dmFyIHQ9QXIo +cnx8e30pO3ZhciBhPWZrKGUsdCk7cmV0dXJuIFRrKGEsdCl9ZnVuY3Rpb24gVGsoZSxyKXt2YXIg +dD17fTt2YXIgYT1DPyJub2RlYnVmZmVyIjp0eXBlb2YgVWludDhBcnJheSE9PSJ1bmRlZmluZWQi +PyJhcnJheSI6InN0cmluZyI7aWYoci5jb21wcmVzc2lvbil0LmNvbXByZXNzaW9uPSJERUZMQVRF +IjtpZihyLnBhc3N3b3JkKXQudHlwZT1hO2Vsc2Ugc3dpdGNoKHIudHlwZSl7Y2FzZSJiYXNlNjQi +OnQudHlwZT0iYmFzZTY0IjticmVhaztjYXNlImJpbmFyeSI6dC50eXBlPSJzdHJpbmciO2JyZWFr +O2Nhc2Uic3RyaW5nIjp0aHJvdyBuZXcgRXJyb3IoIidzdHJpbmcnIG91dHB1dCB0eXBlIGludmFs +aWQgZm9yICciK3IuYm9va1R5cGUrIicgZmlsZXMiKTtjYXNlImJ1ZmZlciI6O2Nhc2UiZmlsZSI6 +dC50eXBlPWE7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVucmVjb2duaXplZCB0eXBl +ICIrci50eXBlKTt9dmFyIG49ZS5GdWxsUGF0aHM/UWUud3JpdGUoZSx7ZmlsZVR5cGU6InppcCIs +dHlwZTp7bm9kZWJ1ZmZlcjoiYnVmZmVyIixzdHJpbmc6ImJpbmFyeSJ9W3QudHlwZV18fHQudHlw +ZSxjb21wcmVzc2lvbjohIXIuY29tcHJlc3Npb259KTplLmdlbmVyYXRlKHQpO2lmKHR5cGVvZiBE +ZW5vIT09InVuZGVmaW5lZCIpe2lmKHR5cGVvZiBuPT0ic3RyaW5nIil7aWYoci50eXBlPT0iYmlu +YXJ5Inx8ci50eXBlPT0iYmFzZTY0IilyZXR1cm4gbjtuPW5ldyBVaW50OEFycmF5KFIobikpfX1p +ZihyLnBhc3N3b3JkJiZ0eXBlb2YgZW5jcnlwdF9hZ2lsZSE9PSJ1bmRlZmluZWQiKXJldHVybiBi +ayhlbmNyeXB0X2FnaWxlKG4sci5wYXNzd29yZCkscik7aWYoci50eXBlPT09ImZpbGUiKXJldHVy +biBhcihyLmZpbGUsbik7cmV0dXJuIHIudHlwZT09InN0cmluZyI/SXQobik6bn1mdW5jdGlvbiB5 +ayhlLHIpe3ZhciB0PXJ8fHt9O3ZhciBhPVlnKGUsdCk7cmV0dXJuIGJrKGEsdCl9ZnVuY3Rpb24g +RWsoZSxyLHQpe2lmKCF0KXQ9IiI7dmFyIGE9dCtlO3N3aXRjaChyLnR5cGUpe2Nhc2UiYmFzZTY0 +IjpyZXR1cm4gQShSdChhKSk7Y2FzZSJiaW5hcnkiOnJldHVybiBSdChhKTtjYXNlInN0cmluZyI6 +cmV0dXJuIGU7Y2FzZSJmaWxlIjpyZXR1cm4gYXIoci5maWxlLGEsInV0ZjgiKTtjYXNlImJ1ZmZl +ciI6e2lmKEMpcmV0dXJuIF8oYSwidXRmOCIpO2Vsc2UgaWYodHlwZW9mIFRleHRFbmNvZGVyIT09 +InVuZGVmaW5lZCIpcmV0dXJuKG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKGEpO2Vsc2UgcmV0dXJu +IEVrKGEse3R5cGU6ImJpbmFyeSJ9KS5zcGxpdCgiIikubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBl +LmNoYXJDb2RlQXQoMCl9KX07fXRocm93IG5ldyBFcnJvcigiVW5yZWNvZ25pemVkIHR5cGUgIity +LnR5cGUpfWZ1bmN0aW9uIENrKGUscil7c3dpdGNoKHIudHlwZSl7Y2FzZSJiYXNlNjQiOnJldHVy +biBUKGUpO2Nhc2UiYmluYXJ5IjpyZXR1cm4gZTtjYXNlInN0cmluZyI6cmV0dXJuIGU7Y2FzZSJm +aWxlIjpyZXR1cm4gYXIoci5maWxlLGUsImJpbmFyeSIpO2Nhc2UiYnVmZmVyIjp7aWYoQylyZXR1 +cm4gXyhlLCJiaW5hcnkiKTtlbHNlIHJldHVybiBlLnNwbGl0KCIiKS5tYXAoZnVuY3Rpb24oZSl7 +cmV0dXJuIGUuY2hhckNvZGVBdCgwKX0pfTt9dGhyb3cgbmV3IEVycm9yKCJVbnJlY29nbml6ZWQg +dHlwZSAiK3IudHlwZSl9ZnVuY3Rpb24gX2soZSxyKXtzd2l0Y2goci50eXBlKXtjYXNlInN0cmlu +ZyI6O2Nhc2UiYmFzZTY0Ijo7Y2FzZSJiaW5hcnkiOnZhciB0PSIiO2Zvcih2YXIgYT0wO2E8ZS5s +ZW5ndGg7KythKXQrPVN0cmluZy5mcm9tQ2hhckNvZGUoZVthXSk7cmV0dXJuIHIudHlwZT09ImJh +c2U2NCI/QSh0KTpyLnR5cGU9PSJzdHJpbmciP0l0KHQpOnQ7Y2FzZSJmaWxlIjpyZXR1cm4gYXIo +ci5maWxlLGUpO2Nhc2UiYnVmZmVyIjpyZXR1cm4gZTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigi +VW5yZWNvZ25pemVkIHR5cGUgIityLnR5cGUpO319ZnVuY3Rpb24gU2soZSxyKXtvKCk7UG0oZSk7 +dmFyIHQ9QXIocnx8e30pO2lmKHQuY2VsbFN0eWxlcyl7dC5jZWxsTkY9dHJ1ZTt0LnNoZWV0U3R1 +YnM9dHJ1ZX1pZih0LnR5cGU9PSJhcnJheSIpe3QudHlwZT0iYmluYXJ5Ijt2YXIgYT1TayhlLHQp +O3QudHlwZT0iYXJyYXkiO3JldHVybiBSKGEpfXJldHVybiBBayhlLHQpfWZ1bmN0aW9uIHhrKGUs +cil7bygpO1BtKGUpO3ZhciB0PUFyKHJ8fHt9KTtpZih0LmNlbGxTdHlsZXMpe3QuY2VsbE5GPXRy +dWU7CnQuc2hlZXRTdHVicz10cnVlfWlmKHQudHlwZT09ImFycmF5Iil7dC50eXBlPSJiaW5hcnki +O3ZhciBhPXhrKGUsdCk7dC50eXBlPSJhcnJheSI7cmV0dXJuIFIoYSl9dmFyIG49MDtpZih0LnNo +ZWV0KXtpZih0eXBlb2YgdC5zaGVldD09Im51bWJlciIpbj10LnNoZWV0O2Vsc2Ugbj1lLlNoZWV0 +TmFtZXMuaW5kZXhPZih0LnNoZWV0KTtpZighZS5TaGVldE5hbWVzW25dKXRocm93IG5ldyBFcnJv +cigiU2hlZXQgbm90IGZvdW5kOiAiK3Quc2hlZXQrIiA6ICIrdHlwZW9mIHQuc2hlZXQpfXN3aXRj +aCh0LmJvb2tUeXBlfHwieGxzYiIpe2Nhc2UieG1sIjo7Y2FzZSJ4bG1sIjpyZXR1cm4gRWsoVWco +ZSx0KSx0KTtjYXNlInNsayI6O2Nhc2Uic3lsayI6cmV0dXJuIEVrKFFsLmZyb21fc2hlZXQoZS5T +aGVldHNbZS5TaGVldE5hbWVzW25dXSx0LGUpLHQpO2Nhc2UiaHRtIjo7Y2FzZSJodG1sIjpyZXR1 +cm4gRWsoU2IoZS5TaGVldHNbZS5TaGVldE5hbWVzW25dXSx0KSx0KTtjYXNlInR4dCI6cmV0dXJu +IENrKFVrKGUuU2hlZXRzW2UuU2hlZXROYW1lc1tuXV0sdCksdCk7Y2FzZSJjc3YiOnJldHVybiBF +ayhNayhlLlNoZWV0c1tlLlNoZWV0TmFtZXNbbl1dLHQpLHQsIlx1ZmVmZiIpO2Nhc2UiZGlmIjpy +ZXR1cm4gRWsoZW8uZnJvbV9zaGVldChlLlNoZWV0c1tlLlNoZWV0TmFtZXNbbl1dLHQpLHQpO2Nh +c2UiZGJmIjpyZXR1cm4gX2socWwuZnJvbV9zaGVldChlLlNoZWV0c1tlLlNoZWV0TmFtZXNbbl1d +LHQpLHQpO2Nhc2UicHJuIjpyZXR1cm4gRWsodG8uZnJvbV9zaGVldChlLlNoZWV0c1tlLlNoZWV0 +TmFtZXNbbl1dLHQpLHQpO2Nhc2UicnRmIjpyZXR1cm4gRWsoS28oZS5TaGVldHNbZS5TaGVldE5h +bWVzW25dXSx0KSx0KTtjYXNlImV0aCI6cmV0dXJuIEVrKHJvLmZyb21fc2hlZXQoZS5TaGVldHNb +ZS5TaGVldE5hbWVzW25dXSx0KSx0KTtjYXNlImZvZHMiOnJldHVybiBFayhIYihlLHQpLHQpO2Nh +c2Uid2sxIjpyZXR1cm4gX2sobm8uc2hlZXRfdG9fd2sxKGUuU2hlZXRzW2UuU2hlZXROYW1lc1tu +XV0sdCksdCk7Y2FzZSJ3azMiOnJldHVybiBfayhuby5ib29rX3RvX3drMyhlLHQpLHQpO2Nhc2Ui +YmlmZjIiOmlmKCF0LmJpZmYpdC5iaWZmPTI7Y2FzZSJiaWZmMyI6aWYoIXQuYmlmZil0LmJpZmY9 +MztjYXNlImJpZmY0IjppZighdC5iaWZmKXQuYmlmZj00O3JldHVybiBfayhrYihlLHQpLHQpO2Nh +c2UiYmlmZjUiOmlmKCF0LmJpZmYpdC5iaWZmPTU7Y2FzZSJiaWZmOCI6O2Nhc2UieGxhIjo7Y2Fz +ZSJ4bHMiOmlmKCF0LmJpZmYpdC5iaWZmPTg7cmV0dXJuIHlrKGUsdCk7Y2FzZSJ4bHN4Ijo7Y2Fz +ZSJ4bHNtIjo7Y2FzZSJ4bGFtIjo7Y2FzZSJ4bHNiIjo7Y2FzZSJudW1iZXJzIjo7Y2FzZSJvZHMi +OnJldHVybiBrayhlLHQpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJVbnJlY29nbml6ZWQgYm9v +a1R5cGUgfCIrdC5ib29rVHlwZSsifCIpO319ZnVuY3Rpb24gT2soZSl7aWYoZS5ib29rVHlwZSly +ZXR1cm47dmFyIHI9e3hsczoiYmlmZjgiLGh0bToiaHRtbCIsc2xrOiJzeWxrIixzb2NpYWxjYWxj +OiJldGgiLFNoMzN0SlM6IldURiJ9O3ZhciB0PWUuZmlsZS5zbGljZShlLmZpbGUubGFzdEluZGV4 +T2YoIi4iKSkudG9Mb3dlckNhc2UoKTtpZih0Lm1hdGNoKC9eXC5bYS16XSskLykpZS5ib29rVHlw +ZT10LnNsaWNlKDEpO2UuYm9va1R5cGU9cltlLmJvb2tUeXBlXXx8ZS5ib29rVHlwZX1mdW5jdGlv +biBJayhlLHIsdCl7dmFyIGE9dHx8e307YS50eXBlPSJmaWxlIjthLmZpbGU9cjtPayhhKTtyZXR1 +cm4geGsoZSxhKX1mdW5jdGlvbiBSayhlLHIsdCl7dmFyIGE9dHx8e307YS50eXBlPSJmaWxlIjth +LmZpbGU9cjtPayhhKTtyZXR1cm4gU2soZSxhKX1mdW5jdGlvbiBOayhlLHIsdCxhKXt2YXIgbj10 +fHx7fTtuLnR5cGU9ImZpbGUiO24uZmlsZT1lO09rKG4pO24udHlwZT0iYnVmZmVyIjt2YXIgaT1h +O2lmKCEoaSBpbnN0YW5jZW9mIEZ1bmN0aW9uKSlpPXQ7cmV0dXJuIGVyLndyaXRlRmlsZShlLHhr +KHIsbiksaSl9ZnVuY3Rpb24gRmsoZSxyLHQsYSxuLGkscyl7dmFyIGY9V2EodCk7dmFyIGw9cy5k +ZWZ2YWwsbz1zLnJhd3x8IU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCJy +YXciKTt2YXIgYz10cnVlLGg9ZVsiIWRhdGEiXSE9bnVsbDt2YXIgdT1uPT09MT9bXTp7fTtpZihu +IT09MSl7aWYoT2JqZWN0LmRlZmluZVByb3BlcnR5KXRyeXtPYmplY3QuZGVmaW5lUHJvcGVydHko +dSwiX19yb3dOdW1fXyIse3ZhbHVlOnQsZW51bWVyYWJsZTpmYWxzZX0pfWNhdGNoKGQpe3UuX19y +b3dOdW1fXz10fWVsc2UgdS5fX3Jvd051bV9fPXR9aWYoIWh8fGVbIiFkYXRhIl1bdF0pZm9yKHZh +ciB2PXIucy5jO3Y8PXIuZS5jOysrdil7dmFyIHA9aD8oZVsiIWRhdGEiXVt0XXx8W10pW3ZdOmVb +YVt2XStmXTtpZihwPT1udWxsfHxwLnQ9PT11bmRlZmluZWQpe2lmKGw9PT11bmRlZmluZWQpY29u +dGludWU7aWYoaVt2XSE9bnVsbCl7dVtpW3ZdXT1sfWNvbnRpbnVlfXZhciBtPXAudjtzd2l0Y2go +cC50KXtjYXNlInoiOmlmKG09PW51bGwpYnJlYWs7Y29udGludWU7Y2FzZSJlIjptPW09PTA/bnVs +bDp2b2lkIDA7YnJlYWs7Y2FzZSJzIjo7Y2FzZSJiIjo7Y2FzZSJuIjppZighcC56fHwhTGUocC56 +KSlicmVhazttPXZyKG0pO2lmKHR5cGVvZiBtPT0ibnVtYmVyIilicmVhaztjYXNlImQiOmlmKCEo +cyYmKHMuVVRDfHxzLnJhdz09PWZhbHNlKSkpbT1GcihuZXcgRGF0ZShtKSk7YnJlYWs7ZGVmYXVs +dDp0aHJvdyBuZXcgRXJyb3IoInVucmVjb2duaXplZCB0eXBlICIrcC50KTt9aWYoaVt2XSE9bnVs +bCl7aWYobT09bnVsbCl7aWYocC50PT0iZSImJm09PT1udWxsKXVbaVt2XV09bnVsbDtlbHNlIGlm +KGwhPT11bmRlZmluZWQpdVtpW3ZdXT1sO2Vsc2UgaWYobyYmbT09PW51bGwpdVtpW3ZdXT1udWxs +O2Vsc2UgY29udGludWV9ZWxzZXt1W2lbdl1dPShwLnQ9PT0ibiImJnR5cGVvZiBzLnJhd051bWJl +cnM9PT0iYm9vbGVhbiI/cy5yYXdOdW1iZXJzOm8pP206dG4ocCxtLHMpfWlmKG0hPW51bGwpYz1m +YWxzZX19cmV0dXJue3Jvdzp1LGlzZW1wdHk6Y319ZnVuY3Rpb24gRGsoZSxyKXtpZihlPT1udWxs +fHxlWyIhcmVmIl09PW51bGwpcmV0dXJuW107dmFyIHQ9e3Q6Im4iLHY6MH0sYT0wLG49MSxpPVtd +LHM9MCxmPSIiO3ZhciBsPXtzOntyOjAsYzowfSxlOntyOjAsYzowfX07dmFyIG89cnx8e307dmFy +IGM9by5yYW5nZSE9bnVsbD9vLnJhbmdlOmVbIiFyZWYiXTtpZihvLmhlYWRlcj09PTEpYT0xO2Vs +c2UgaWYoby5oZWFkZXI9PT0iQSIpYT0yO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShvLmhlYWRlcikp +YT0zO2Vsc2UgaWYoby5oZWFkZXI9PW51bGwpYT0wO3N3aXRjaCh0eXBlb2YgYyl7Y2FzZSJzdHJp +bmciOmw9ZW4oYyk7YnJlYWs7Y2FzZSJudW1iZXIiOmw9ZW4oZVsiIXJlZiJdKTtsLnMucj1jO2Jy +ZWFrO2RlZmF1bHQ6bD1jO31pZihhPjApbj0wO3ZhciBoPVdhKGwucy5yKTt2YXIgdT1bXTt2YXIg +ZD1bXTt2YXIgdj0wLHA9MDt2YXIgbT1lWyIhZGF0YSJdIT1udWxsO3ZhciBnPWwucy5yLGI9MDt2 +YXIgdz17fTtpZihtJiYhZVsiIWRhdGEiXVtnXSllWyIhZGF0YSJdW2ddPVtdO3ZhciBrPW8uc2tp +cEhpZGRlbiYmZVsiIWNvbHMiXXx8W107dmFyIEE9by5za2lwSGlkZGVuJiZlWyIhcm93cyJdfHxb +XTtmb3IoYj1sLnMuYztiPD1sLmUuYzsrK2Ipe2lmKChrW2JdfHx7fSkuaGlkZGVuKWNvbnRpbnVl +O3VbYl09JGEoYik7dD1tP2VbIiFkYXRhIl1bZ11bYl06ZVt1W2JdK2hdO3N3aXRjaChhKXtjYXNl +IDE6aVtiXT1iLWwucy5jO2JyZWFrO2Nhc2UgMjppW2JdPXVbYl07YnJlYWs7Y2FzZSAzOmlbYl09 +by5oZWFkZXJbYi1sLnMuY107YnJlYWs7ZGVmYXVsdDppZih0PT1udWxsKXQ9e3c6Il9fRU1QVFki +LHQ6InMifTtmPXM9dG4odCxudWxsLG8pO3A9d1tzXXx8MDtpZighcCl3W3NdPTE7ZWxzZXtkb3tm +PXMrIl8iK3ArK313aGlsZSh3W2ZdKTt3W3NdPXA7d1tmXT0xfWlbYl09Zjt9fWZvcihnPWwucy5y +K247Zzw9bC5lLnI7KytnKXtpZigoQVtnXXx8e30pLmhpZGRlbiljb250aW51ZTt2YXIgVD1Gayhl +LGwsZyx1LGEsaSxvKTtpZihULmlzZW1wdHk9PT1mYWxzZXx8KGE9PT0xP28uYmxhbmtyb3dzIT09 +ZmFsc2U6ISFvLmJsYW5rcm93cykpZFt2KytdPVQucm93fWQubGVuZ3RoPXY7cmV0dXJuIGR9dmFy +IFBrPS8iL2c7ZnVuY3Rpb24gTGsoZSxyLHQsYSxuLGkscyxmLGwpe3ZhciBvPXRydWU7dmFyIGM9 +W10saD0iIix1PVdhKHQpO3ZhciBkPWVbIiFkYXRhIl0hPW51bGw7dmFyIHY9ZCYmZVsiIWRhdGEi +XVt0XXx8W107Zm9yKHZhciBwPXIucy5jO3A8PXIuZS5jOysrcCl7aWYoIWFbcF0pY29udGludWU7 +dmFyIG09ZD92W3BdOmVbYVtwXSt1XTtpZihtPT1udWxsKWg9IiI7ZWxzZSBpZihtLnYhPW51bGwp +e289ZmFsc2U7aD0iIisobC5yYXdOdW1iZXJzJiZtLnQ9PSJuIj9tLnY6dG4obSxudWxsLGwpKTtm +b3IodmFyIGc9MCxiPTA7ZyE9PWgubGVuZ3RoOysrZylpZigoYj1oLmNoYXJDb2RlQXQoZykpPT09 +bnx8Yj09PWl8fGI9PT0zNHx8bC5mb3JjZVF1b3Rlcyl7aD0nIicraC5yZXBsYWNlKFBrLCciIicp +KyciJzticmVha31pZihoPT0iSUQiJiZmPT0wJiZjLmxlbmd0aD09MCloPSciSUQiJ31lbHNlIGlm +KG0uZiE9bnVsbCYmIW0uRil7bz1mYWxzZTtoPSI9IittLmY7aWYoaC5pbmRleE9mKCIsIik+PTAp +aD0nIicraC5yZXBsYWNlKFBrLCciIicpKyciJ31lbHNlIGg9IiI7Yy5wdXNoKGgpfWlmKGwuc3Ry +aXApd2hpbGUoY1tjLmxlbmd0aC0xXT09PSIiKS0tYy5sZW5ndGg7aWYobC5ibGFua3Jvd3M9PT1m +YWxzZSYmbylyZXR1cm4gbnVsbDtyZXR1cm4gYy5qb2luKHMpfWZ1bmN0aW9uIE1rKGUscil7dmFy +IHQ9W107dmFyIGE9cj09bnVsbD97fTpyO2lmKGU9PW51bGx8fGVbIiFyZWYiXT09bnVsbClyZXR1 +cm4iIjt2YXIgbj1lbihlWyIhcmVmIl0pO3ZhciBpPWEuRlMhPT11bmRlZmluZWQ/YS5GUzoiLCIs +cz1pLmNoYXJDb2RlQXQoMCk7dmFyIGY9YS5SUyE9PXVuZGVmaW5lZD9hLlJTOiJcbiIsbD1mLmNo +YXJDb2RlQXQoMCk7dmFyIG89IiIsYz1bXTt2YXIgaD1hLnNraXBIaWRkZW4mJmVbIiFjb2xzIl18 +fFtdO3ZhciB1PWEuc2tpcEhpZGRlbiYmZVsiIXJvd3MiXXx8W107Zm9yKHZhciBkPW4ucy5jO2Q8 +PW4uZS5jOysrZClpZighKGhbZF18fHt9KS5oaWRkZW4pY1tkXT0kYShkKTt2YXIgdj0wO2Zvcih2 +YXIgcD1uLnMucjtwPD1uLmUucjsrK3Ape2lmKCh1W3BdfHx7fSkuaGlkZGVuKWNvbnRpbnVlO289 +TGsoZSxuLHAsYyxzLGwsaSx2LGEpO2lmKG89PW51bGwpe2NvbnRpbnVlfWlmKG98fGEuYmxhbmty +b3dzIT09ZmFsc2UpdC5wdXNoKCh2Kys/ZjoiIikrbyl9cmV0dXJuIHQuam9pbigiIil9ZnVuY3Rp +b24gVWsoZSxyKXtpZighcilyPXt9O3IuRlM9Ilx0IjtyLlJTPSJcbiI7dmFyIHQ9TWsoZSxyKTtp +Zih0eXBlb2YgYT09InVuZGVmaW5lZCJ8fHIudHlwZT09InN0cmluZyIpcmV0dXJuIHQ7dmFyIG49 +YS51dGlscy5lbmNvZGUoMTIwMCx0LCJzdHIiKTtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSgy +NTUpK1N0cmluZy5mcm9tQ2hhckNvZGUoMjU0KStufWZ1bmN0aW9uIEJrKGUscil7dmFyIHQ9IiIs +YSxuPSIiO2lmKGU9PW51bGx8fGVbIiFyZWYiXT09bnVsbClyZXR1cm5bXTt2YXIgaT1lbihlWyIh +cmVmIl0pLHM9IiIsZj1bXSxsO3ZhciBvPVtdO3ZhciBjPWVbIiFkYXRhIl0hPW51bGw7Zm9yKGw9 +aS5zLmM7bDw9aS5lLmM7KytsKWZbbF09JGEobCk7Zm9yKHZhciBoPWkucy5yO2g8PWkuZS5yOysr +aCl7cz1XYShoKTtmb3IobD1pLnMuYztsPD1pLmUuYzsrK2wpe3Q9ZltsXStzO2E9Yz8oZVsiIWRh +dGEiXVtoXXx8W10pW2xdOmVbdF07bj0iIjtpZihhPT09dW5kZWZpbmVkKWNvbnRpbnVlO2Vsc2Ug +aWYoYS5GIT1udWxsKXt0PWEuRjtpZighYS5mKWNvbnRpbnVlO249YS5mO2lmKHQuaW5kZXhPZigi +OiIpPT0tMSl0PXQrIjoiK3R9aWYoYS5mIT1udWxsKW49YS5mO2Vsc2UgaWYociYmci52YWx1ZXM9 +PT1mYWxzZSljb250aW51ZTtlbHNlIGlmKGEudD09InoiKWNvbnRpbnVlO2Vsc2UgaWYoYS50PT0i +biImJmEudiE9bnVsbCluPSIiK2EudjtlbHNlIGlmKGEudD09ImIiKW49YS52PyJUUlVFIjoiRkFM +U0UiO2Vsc2UgaWYoYS53IT09dW5kZWZpbmVkKW49IiciK2EudztlbHNlIGlmKGEudj09PXVuZGVm +aW5lZCljb250aW51ZTtlbHNlIGlmKGEudD09InMiKW49IiciK2EudjtlbHNlIG49IiIrYS52O29b +by5sZW5ndGhdPXQrIj0iK259fXJldHVybiBvfWZ1bmN0aW9uIFdrKGUscix0KXt2YXIgYT10fHx7 +fTt2YXIgbj1lP2VbIiFkYXRhIl0hPW51bGw6YS5kZW5zZTtpZihiIT1udWxsJiZuPT1udWxsKW49 +Yjt2YXIgaT0rIWEuc2tpcEhlYWRlcjt2YXIgcz1lfHx7fTtpZighZSYmbilzWyIhZGF0YSJdPVtd +O3ZhciBmPTAsbD0wO2lmKHMmJmEub3JpZ2luIT1udWxsKXtpZih0eXBlb2YgYS5vcmlnaW49PSJu +dW1iZXIiKWY9YS5vcmlnaW47ZWxzZXt2YXIgbz10eXBlb2YgYS5vcmlnaW49PSJzdHJpbmciP0th +KGEub3JpZ2luKTphLm9yaWdpbjtmPW8ucjtsPW8uY319dmFyIGM9e3M6e2M6MCxyOjB9LGU6e2M6 +bCxyOmYrci5sZW5ndGgtMStpfX07aWYoc1siIXJlZiJdKXt2YXIgaD1lbihzWyIhcmVmIl0pO2Mu +ZS5jPU1hdGgubWF4KGMuZS5jLGguZS5jKTtjLmUucj1NYXRoLm1heChjLmUucixoLmUucik7aWYo +Zj09LTEpe2Y9aC5lLnIrMTtjLmUucj1mK3IubGVuZ3RoLTEraX19ZWxzZXtpZihmPT0tMSl7Zj0w +O2MuZS5yPXIubGVuZ3RoLTEraX19dmFyIHU9YS5oZWFkZXJ8fFtdLGQ9MDt2YXIgdj1bXTtyLmZv +ckVhY2goZnVuY3Rpb24oZSxyKXtpZihuJiYhc1siIWRhdGEiXVtmK3IraV0pc1siIWRhdGEiXVtm +K3IraV09W107aWYobil2PXNbIiFkYXRhIl1bZityK2ldO2lyKGUpLmZvckVhY2goZnVuY3Rpb24o +dCl7aWYoKGQ9dS5pbmRleE9mKHQpKT09LTEpdVtkPXUubGVuZ3RoXT10O3ZhciBvPWVbdF07dmFy +IGM9InoiO3ZhciBoPSIiO3ZhciBwPW4/IiI6JGEobCtkKStXYShmK3IraSk7dmFyIG09bj92W2wr +ZF06c1twXTtpZihvJiZ0eXBlb2Ygbz09PSJvYmplY3QiJiYhKG8gaW5zdGFuY2VvZiBEYXRlKSl7 +aWYobil2W2wrZF09bztlbHNlIHNbcF09b31lbHNle2lmKHR5cGVvZiBvPT0ibnVtYmVyIiljPSJu +IjtlbHNlIGlmKHR5cGVvZiBvPT0iYm9vbGVhbiIpYz0iYiI7ZWxzZSBpZih0eXBlb2Ygbz09InN0 +cmluZyIpYz0icyI7ZWxzZSBpZihvIGluc3RhbmNlb2YgRGF0ZSl7Yz0iZCI7aWYoIWEuVVRDKW89 +RHIobyk7aWYoIWEuY2VsbERhdGVzKXtjPSJuIjtvPWRyKG8pfWg9bSE9bnVsbCYmbS56JiZMZSht +LnopP20uejphLmRhdGVORnx8cVsxNF19ZWxzZSBpZihvPT09bnVsbCYmYS5udWxsRXJyb3Ipe2M9 +ImUiO289MH1pZighbSl7aWYoIW4pc1twXT1tPXt0OmMsdjpvfTtlbHNlIHZbbCtkXT1tPXt0OmMs +djpvfX1lbHNle20udD1jO20udj1vO2RlbGV0ZSBtLnc7ZGVsZXRlIG0uUjtpZihoKW0uej1ofWlm +KGgpbS56PWh9fSl9KTtjLmUuYz1NYXRoLm1heChjLmUuYyxsK3UubGVuZ3RoLTEpO3ZhciBwPVdh +KGYpO2lmKG4mJiFzWyIhZGF0YSJdW2ZdKXNbIiFkYXRhIl1bZl09W107aWYoaSlmb3IoZD0wO2Q8 +dS5sZW5ndGg7KytkKXtpZihuKXNbIiFkYXRhIl1bZl1bZCtsXT17dDoicyIsdjp1W2RdfTtlbHNl +IHNbJGEoZCtsKStwXT17dDoicyIsdjp1W2RdfX1zWyIhcmVmIl09SmEoYyk7cmV0dXJuIHN9ZnVu +Y3Rpb24gemsoZSxyKXtyZXR1cm4gV2sobnVsbCxlLHIpfWZ1bmN0aW9uIEhrKGUscix0KXtpZih0 +eXBlb2Ygcj09InN0cmluZyIpe2lmKGVbIiFkYXRhIl0hPW51bGwpe3ZhciBhPUthKHIpO2lmKCFl +WyIhZGF0YSJdW2Eucl0pZVsiIWRhdGEiXVthLnJdPVtdO3JldHVybiBlWyIhZGF0YSJdW2Eucl1b +YS5jXXx8KGVbIiFkYXRhIl1bYS5yXVthLmNdPXt0OiJ6In0pfXJldHVybiBlW3JdfHwoZVtyXT17 +dDoieiJ9KX1pZih0eXBlb2YgciE9Im51bWJlciIpcmV0dXJuIEhrKGUsWWEocikpO3JldHVybiBI +ayhlLCRhKHR8fDApK1dhKHIpKX1mdW5jdGlvbiBWayhlLHIpe2lmKHR5cGVvZiByPT0ibnVtYmVy +Iil7aWYocj49MCYmZS5TaGVldE5hbWVzLmxlbmd0aD5yKXJldHVybiByO3Rocm93IG5ldyBFcnJv +cigiQ2Fubm90IGZpbmQgc2hlZXQgIyAiK3IpfWVsc2UgaWYodHlwZW9mIHI9PSJzdHJpbmciKXt2 +YXIgdD1lLlNoZWV0TmFtZXMuaW5kZXhPZihyKTtpZih0Pi0xKXJldHVybiB0O3Rocm93IG5ldyBF +cnJvcigiQ2Fubm90IGZpbmQgc2hlZXQgbmFtZSB8IityKyJ8Iil9ZWxzZSB0aHJvdyBuZXcgRXJy +b3IoIkNhbm5vdCBmaW5kIHNoZWV0IHwiK3IrInwiKX1mdW5jdGlvbiAkayhlLHIpe3ZhciB0PXtT +aGVldE5hbWVzOltdLFNoZWV0czp7fX07aWYoZSlYayh0LGUscnx8IlNoZWV0MSIpO3JldHVybiB0 +fWZ1bmN0aW9uIFhrKGUscix0LGEpe3ZhciBuPTE7aWYoIXQpZm9yKDtuPD02NTUzNTsrK24sdD11 +bmRlZmluZWQpaWYoZS5TaGVldE5hbWVzLmluZGV4T2YodD0iU2hlZXQiK24pPT0tMSlicmVhaztp +ZighdHx8ZS5TaGVldE5hbWVzLmxlbmd0aD49NjU1MzUpdGhyb3cgbmV3IEVycm9yKCJUb28gbWFu +eSB3b3Jrc2hlZXRzIik7aWYoYSYmZS5TaGVldE5hbWVzLmluZGV4T2YodCk+PTAmJnQubGVuZ3Ro +PDMyKXt2YXIgaT10Lm1hdGNoKC9cZCskLyk7bj1pJiYraVswXXx8MDt2YXIgcz1pJiZ0LnNsaWNl +KDAsaS5pbmRleCl8fHQ7Zm9yKCsrbjtuPD02NTUzNTsrK24paWYoZS5TaGVldE5hbWVzLmluZGV4 +T2YodD1zK24pPT0tMSlicmVha31GbSh0KTtpZihlLlNoZWV0TmFtZXMuaW5kZXhPZih0KT49MCl0 +aHJvdyBuZXcgRXJyb3IoIldvcmtzaGVldCB3aXRoIG5hbWUgfCIrdCsifCBhbHJlYWR5IGV4aXN0 +cyEiKTtlLlNoZWV0TmFtZXMucHVzaCh0KTtlLlNoZWV0c1t0XT1yO3JldHVybiB0fWZ1bmN0aW9u +IEdrKGUscix0KXtpZighZS5Xb3JrYm9vayllLldvcmtib29rPXt9O2lmKCFlLldvcmtib29rLlNo +ZWV0cyllLldvcmtib29rLlNoZWV0cz1bXTt2YXIgYT1WayhlLHIpO2lmKCFlLldvcmtib29rLlNo +ZWV0c1thXSllLldvcmtib29rLlNoZWV0c1thXT17fTtzd2l0Y2godCl7Y2FzZSAwOjtjYXNlIDE6 +O2Nhc2UgMjpicmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiQmFkIHNoZWV0IHZpc2liaWxp +dHkgc2V0dGluZyAiK3QpO31lLldvcmtib29rLlNoZWV0c1thXS5IaWRkZW49dH1mdW5jdGlvbiBq +ayhlLHIpe2Uuej1yO3JldHVybiBlfWZ1bmN0aW9uIEtrKGUscix0KXtpZighcil7ZGVsZXRlIGUu +bH1lbHNle2UubD17VGFyZ2V0OnJ9O2lmKHQpZS5sLlRvb2x0aXA9dH1yZXR1cm4gZX1mdW5jdGlv +biBZayhlLHIsdCl7cmV0dXJuIEtrKGUsIiMiK3IsdCl9ZnVuY3Rpb24gWmsoZSxyLHQpe2lmKCFl +LmMpZS5jPVtdO2UuYy5wdXNoKHt0OnIsYTp0fHwiU2hlZXRKUyJ9KX1mdW5jdGlvbiBKayhlLHIs +dCxhKXt2YXIgbj10eXBlb2YgciE9InN0cmluZyI/cjplbihyKTt2YXIgaT10eXBlb2Ygcj09InN0 +cmluZyI/cjpKYShyKTtmb3IodmFyIHM9bi5zLnI7czw9bi5lLnI7KytzKWZvcih2YXIgZj1uLnMu +YztmPD1uLmUuYzsrK2Ype3ZhciBsPUhrKGUscyxmKTtsLnQ9Im4iO2wuRj1pO2RlbGV0ZSBsLnY7 +aWYocz09bi5zLnImJmY9PW4ucy5jKXtsLmY9dDtpZihhKWwuRD10cnVlfX12YXIgbz1aYShlWyIh +cmVmIl0pO2lmKG8ucy5yPm4ucy5yKW8ucy5yPW4ucy5yO2lmKG8ucy5jPm4ucy5jKW8ucy5jPW4u +cy5jO2lmKG8uZS5yPG4uZS5yKW8uZS5yPW4uZS5yO2lmKG8uZS5jPG4uZS5jKW8uZS5jPW4uZS5j +O2VbIiFyZWYiXT1KYShvKTtyZXR1cm4gZX12YXIgcWs9e2VuY29kZV9jb2w6JGEsZW5jb2RlX3Jv +dzpXYSxlbmNvZGVfY2VsbDpZYSxlbmNvZGVfcmFuZ2U6SmEsZGVjb2RlX2NvbDpWYSxkZWNvZGVf +cm93OkJhLHNwbGl0X2NlbGw6amEsZGVjb2RlX2NlbGw6S2EsZGVjb2RlX3JhbmdlOlphLGZvcm1h +dF9jZWxsOnRuLHNoZWV0X25ldzpubixzaGVldF9hZGRfYW9hOnNuLHNoZWV0X2FkZF9qc29uOldr +LHNoZWV0X2FkZF9kb206eGIsYW9hX3RvX3NoZWV0OmZuLGpzb25fdG9fc2hlZXQ6emssdGFibGVf +dG9fc2hlZXQ6T2IsdGFibGVfdG9fYm9vazpJYixzaGVldF90b19jc3Y6TWssc2hlZXRfdG9fdHh0 +OlVrLHNoZWV0X3RvX2pzb246RGssc2hlZXRfdG9faHRtbDpTYixzaGVldF90b19mb3JtdWxhZTpC +ayxzaGVldF90b19yb3dfb2JqZWN0X2FycmF5OkRrLHNoZWV0X2dldF9jZWxsOkhrLGJvb2tfbmV3 +OiRrLGJvb2tfYXBwZW5kX3NoZWV0OlhrLGJvb2tfc2V0X3NoZWV0X3Zpc2liaWxpdHk6R2ssY2Vs +bF9zZXRfbnVtYmVyX2Zvcm1hdDpqayxjZWxsX3NldF9oeXBlcmxpbms6S2ssY2VsbF9zZXRfaW50 +ZXJuYWxfbGluazpZayxjZWxsX2FkZF9jb21tZW50OlprLHNoZWV0X3NldF9hcnJheV9mb3JtdWxh +OkprLGNvbnN0czp7U0hFRVRfVklTSUJMRTowLFNIRUVUX0hJRERFTjoxLFNIRUVUX1ZFUllfSElE +REVOOjJ9fTt2YXIgUWs7ZnVuY3Rpb24gZUEoZSl7UWs9ZX1mdW5jdGlvbiByQShlLHIpe3ZhciB0 +PVFrKCk7dmFyIGE9cj09bnVsbD97fTpyO2lmKGU9PW51bGx8fGVbIiFyZWYiXT09bnVsbCl7dC5w +dXNoKG51bGwpO3JldHVybiB0fXZhciBuPWVuKGVbIiFyZWYiXSk7dmFyIGk9YS5GUyE9PXVuZGVm +aW5lZD9hLkZTOiIsIixzPWkuY2hhckNvZGVBdCgwKTt2YXIgZj1hLlJTIT09dW5kZWZpbmVkP2Eu +UlM6IlxuIixsPWYuY2hhckNvZGVBdCgwKTt2YXIgbz0iIixjPVtdO3ZhciBoPWEuc2tpcEhpZGRl +biYmZVsiIWNvbHMiXXx8W107dmFyIHU9YS5za2lwSGlkZGVuJiZlWyIhcm93cyJdfHxbXTtmb3Io +dmFyIGQ9bi5zLmM7ZDw9bi5lLmM7KytkKWlmKCEoaFtkXXx8e30pLmhpZGRlbiljW2RdPSRhKGQp +O3ZhciB2PW4ucy5yO3ZhciBwPWZhbHNlLG09MDt0Ll9yZWFkPWZ1bmN0aW9uKCl7aWYoIXApe3A9 +dHJ1ZTtyZXR1cm4gdC5wdXNoKCJcdWZlZmYiKX13aGlsZSh2PD1uLmUucil7Kyt2O2lmKCh1W3Yt +MV18fHt9KS5oaWRkZW4pY29udGludWU7bz1MayhlLG4sdi0xLGMscyxsLGksbSxhKTtpZihvIT1u +dWxsKXtpZihvfHxhLmJsYW5rcm93cyE9PWZhbHNlKXJldHVybiB0LnB1c2goKG0rKz9mOiIiKStv +KX19cmV0dXJuIHQucHVzaChudWxsKX07cmV0dXJuIHR9ZnVuY3Rpb24gdEEoZSxyKXt2YXIgdD1R +aygpO3ZhciBhPXJ8fHt9O3ZhciBuPWEuaGVhZGVyIT1udWxsP2EuaGVhZGVyOnliO3ZhciBpPWEu +Zm9vdGVyIT1udWxsP2EuZm9vdGVyOkViO3QucHVzaChuKTt2YXIgcz1aYShlWyIhcmVmIl0pO3Qu +cHVzaChfYihlLHMsYSkpO3ZhciBmPXMucy5yO3ZhciBsPWZhbHNlO3QuX3JlYWQ9ZnVuY3Rpb24o +KXtpZihmPnMuZS5yKXtpZighbCl7bD10cnVlO3QucHVzaCgiPC90YWJsZT4iK2kpfXJldHVybiB0 +LnB1c2gobnVsbCl9d2hpbGUoZjw9cy5lLnIpe3QucHVzaChUYihlLHMsZixhKSk7KytmO2JyZWFr +fX07cmV0dXJuIHR9ZnVuY3Rpb24gYUEoZSxyKXt2YXIgdD1Rayh7b2JqZWN0TW9kZTp0cnVlfSk7 +aWYoZT09bnVsbHx8ZVsiIXJlZiJdPT1udWxsKXt0LnB1c2gobnVsbCk7cmV0dXJuIHR9dmFyIGE9 +e3Q6Im4iLHY6MH0sbj0wLGk9MSxzPVtdLGY9MCxsPSIiO3ZhciBvPXtzOntyOjAsYzowfSxlOnty +OjAsYzowfX07dmFyIGM9cnx8e307dmFyIGg9Yy5yYW5nZSE9bnVsbD9jLnJhbmdlOmVbIiFyZWYi +XTtpZihjLmhlYWRlcj09PTEpbj0xO2Vsc2UgaWYoYy5oZWFkZXI9PT0iQSIpbj0yO2Vsc2UgaWYo +QXJyYXkuaXNBcnJheShjLmhlYWRlcikpbj0zO3N3aXRjaCh0eXBlb2YgaCl7Y2FzZSJzdHJpbmci +Om89ZW4oaCk7YnJlYWs7Y2FzZSJudW1iZXIiOm89ZW4oZVsiIXJlZiJdKTtvLnMucj1oO2JyZWFr +O2RlZmF1bHQ6bz1oO31pZihuPjApaT0wO3ZhciB1PVdhKG8ucy5yKTt2YXIgZD1bXTt2YXIgdj0w +O3ZhciBwPWVbIiFkYXRhIl0hPW51bGw7dmFyIG09by5zLnIsZz0wO3ZhciBiPXt9O2lmKHAmJiFl +WyIhZGF0YSJdW21dKWVbIiFkYXRhIl1bbV09W107dmFyIHc9Yy5za2lwSGlkZGVuJiZlWyIhY29s +cyJdfHxbXTt2YXIgaz1jLnNraXBIaWRkZW4mJmVbIiFyb3dzIl18fFtdO2ZvcihnPW8ucy5jO2c8 +PW8uZS5jOysrZyl7aWYoKHdbZ118fHt9KS5oaWRkZW4pY29udGludWU7ZFtnXT0kYShnKTthPXA/ +ZVsiIWRhdGEiXVttXVtnXTplW2RbZ10rdV07c3dpdGNoKG4pe2Nhc2UgMTpzW2ddPWctby5zLmM7 +YnJlYWs7Y2FzZSAyOnNbZ109ZFtnXTticmVhaztjYXNlIDM6c1tnXT1jLmhlYWRlcltnLW8ucy5j +XTticmVhaztkZWZhdWx0OmlmKGE9PW51bGwpYT17dzoiX19FTVBUWSIsdDoicyJ9O2w9Zj10bihh +LG51bGwsYyk7dj1iW2ZdfHwwO2lmKCF2KWJbZl09MTtlbHNle2Rve2w9ZisiXyIrdisrfXdoaWxl +KGJbbF0pO2JbZl09djtiW2xdPTF9c1tnXT1sO319bT1vLnMucitpO3QuX3JlYWQ9ZnVuY3Rpb24o +KXt3aGlsZShtPD1vLmUucil7aWYoKGtbbS0xXXx8e30pLmhpZGRlbiljb250aW51ZTt2YXIgcj1G +ayhlLG8sbSxkLG4scyxjKTsrK207aWYoci5pc2VtcHR5PT09ZmFsc2V8fChuPT09MT9jLmJsYW5r +cm93cyE9PWZhbHNlOiEhYy5ibGFua3Jvd3MpKXt0LnB1c2goci5yb3cpO3JldHVybn19cmV0dXJu +IHQucHVzaChudWxsKX07cmV0dXJuIHR9ZnVuY3Rpb24gbkEoZSxyKXt2YXIgdD1RaygpO3ZhciBh +PXI9PW51bGw/e306cjt2YXIgbj0rYS5zdHJpZGV8fDEwO2lmKCFlLlNTRillLlNTRj1BcihxKTtp +ZihlLlNTRil7JGUoKTtWZShlLlNTRik7YS5yZXZzc2Y9bHIoZS5TU0YpO2EucmV2c3NmW2UuU1NG +WzY1NTM1XV09MDthLnNzZj1lLlNTRjthLmNlbGxYZnM9W107VHYoYS5jZWxsWGZzLHt9LHtyZXZz +c2Y6e0dlbmVyYWw6MH19KX1lLlNoZWV0TmFtZXMuZm9yRWFjaChmdW5jdGlvbihyKXt2YXIgdD1l +LlNoZWV0c1tyXTtpZighdHx8IXRbIiFyZWYiXSlyZXR1cm47dmFyIG49WmEodFsiIXJlZiJdKTt2 +YXIgaT10WyIhZGF0YSJdIT1udWxsO3ZhciBzPWk/dFsiIWRhdGEiXTpbXTt2YXIgZj17cjowLGM6 +MH07Zm9yKHZhciBsPW4ucy5yO2w8PW4uZS5yOysrbCl7Zi5yPWw7aWYoaSYmIXNbbF0pY29udGlu +dWU7Zm9yKHZhciBvPW4ucy5jO288PW4uZS5jOysrbyl7Zi5jPW87dmFyIGM9aT9zW2xdW29dOnRb +JGEobykrV2EobCldO2lmKCFjKWNvbnRpbnVlO2lmKGMudD09ImQiJiZjLno9PW51bGwpe2M9QXIo +Yyk7Yy56PXFbMTRdfXZvaWQgVHYoYS5jZWxsWGZzLGMsYSl9fX0pO3ZhciBpPXhnKGUsYSk7dmFy +IHM9MCxmPTAsbD1lLlNoZWV0c1tlLlNoZWV0TmFtZXNbZl1dLG89ZW4obCksYz0tMSxoPWZhbHNl +O3ZhciB1PVtdLGQ9MCx2PWZhbHNlLHA9W10sbT17cjowLGM6MH07dC5fcmVhZD1mdW5jdGlvbigp +e3N3aXRjaChzKXtjYXNlIDA6e3M9MTt0LnB1c2goYXQpO3QucHVzaCgiPFdvcmtib29rIitVdCh7 +eG1sbnM6R3Quc3MsInhtbG5zOm8iOkd0Lm8sInhtbG5zOngiOkd0LngsInhtbG5zOnNzIjpHdC5z +cywieG1sbnM6ZHQiOkd0LmR0LCJ4bWxuczpodG1sIjpHdC5odG1sfSkrIj4iKX1icmVhaztjYXNl +IDE6e3M9Mjt0LnB1c2goX2coZSxhKSk7dC5wdXNoKFNnKGUsYSkpfWJyZWFrO2Nhc2UgMjp7cz0z +O3QucHVzaChpKTt0LnB1c2goSWcoZSxhKSl9YnJlYWs7Y2FzZSAzOntoPWZhbHNlO2lmKGY+PWUu +U2hlZXROYW1lcy5sZW5ndGgpe3M9LTE7dC5wdXNoKCIiKTticmVha310LnB1c2goIjxXb3Jrc2hl +ZXQiK1V0KHsic3M6TmFtZSI6YnQoZS5TaGVldE5hbWVzW2ZdKX0pKyI+Iik7bD1lLlNoZWV0c1tl +LlNoZWV0TmFtZXNbZl1dO2lmKCFsKXt0LnB1c2goIjwvV29ya3NoZWV0PiIpO3JldHVybiB2b2lk +KytmfXZhciByPVJnKGwsYSxmLGUpO2lmKHIubGVuZ3RoKXQucHVzaCgiPE5hbWVzPiIrcisiPC9O +YW1lcz4iKTtpZighbFsiIXJlZiJdKXJldHVybiBzPTU7bz1lbihsWyIhcmVmIl0pO2M9by5zLnI7 +cz00fWJyZWFrO2Nhc2UgNDp7aWYoYzwwfHxjPm8uZS5yKXtpZihoKXQucHVzaCgiPC9UYWJsZT4i +KTtyZXR1cm4gdm9pZChzPTUpfWlmKGM8PW8ucy5yKXtpZihsWyIhY29scyJdKWxbIiFjb2xzIl0u +Zm9yRWFjaChmdW5jdGlvbihlLHIpe29jKGUpO3ZhciBhPSEhZS53aWR0aDt2YXIgbj1rdihyLGUp +O3ZhciBpPXsic3M6SW5kZXgiOnIrMX07aWYoYSlpWyJzczpXaWR0aCJdPW5jKG4ud2lkdGgpO2lm +KGUuaGlkZGVuKWlbInNzOkhpZGRlbiJdPSIxIjtpZighaCl7aD10cnVlO3QucHVzaCgiPFRhYmxl +PiIpfXQucHVzaChCdCgiQ29sdW1uIixudWxsLGkpKX0pO3Y9bFsiIWRhdGEiXSE9bnVsbDtpZih2 +KXA9bFsiIWRhdGEiXTttLnI9bS5jPTB9Zm9yKHZhciBnPTA7Yzw9by5lLnImJmc8bjsrK2MsKytn +KXt2YXIgYj1bUGcoYywobFsiIXJvd3MiXXx8W10pW2NdKV07bS5yPWM7aWYoISh2JiYhcFtjXSkp +Zm9yKHZhciB3PW8ucy5jO3c8PW8uZS5jOysrdyl7bS5jPXc7dmFyIGs9ZmFsc2U7Zm9yKGQ9MDtk +IT11Lmxlbmd0aDsrK2Qpe2lmKHVbZF0ucy5jPncpY29udGludWU7aWYodVtkXS5zLnI+Yyljb250 +aW51ZTtpZih1W2RdLmUuYzx3KWNvbnRpbnVlO2lmKHVbZF0uZS5yPGMpY29udGludWU7aWYodVtk +XS5zLmMhPXd8fHVbZF0ucy5yIT1jKWs9dHJ1ZTticmVha31pZihrKWNvbnRpbnVlO3ZhciBBPSRh +KHcpK1dhKGMpLFQ9dj9wW2NdW3ddOmxbQV07Yi5wdXNoKERnKFQsQSxsLGEsZixlLG0pKX1iLnB1 +c2goIjwvUm93PiIpO2lmKCFoKXtoPXRydWU7dC5wdXNoKCI8VGFibGU+Iil9dC5wdXNoKGIuam9p +bigiIikpfX1icmVhaztjYXNlIDU6e3QucHVzaChOZyhsLGEsZixlKSk7aWYobCYmbFsiIWF1dG9m +aWx0ZXIiXSl0LnB1c2goJzxBdXRvRmlsdGVyIHg6UmFuZ2U9IicrbnUocWEobFsiIWF1dG9maWx0 +ZXIiXS5yZWYpLHtyOjAsYzowfSkrJyIgeG1sbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206 +b2ZmaWNlOmV4Y2VsIj48L0F1dG9GaWx0ZXI+Jyk7dC5wdXNoKCI8L1dvcmtzaGVldD4iKTtmKys7 +Yz0tMTtyZXR1cm4gdm9pZChzPTMpfTtjYXNlLTE6e3M9LTI7dC5wdXNoKCI8L1dvcmtib29rPiIp +fWJyZWFrO2Nhc2UtMjp0LnB1c2gobnVsbCk7YnJlYWs7fX07cmV0dXJuIHR9dmFyIGlBPXt0b19q +c29uOmFBLHRvX2h0bWw6dEEsdG9fY3N2OnJBLHRvX3hsbWw6bkEsc2V0X3JlYWRhYmxlOmVBfTtp +Zih0eXBlb2YgS2chPT0idW5kZWZpbmVkIillLnBhcnNlX3hsc2NmYj1LZztlLnBhcnNlX3ppcD1u +aztlLnJlYWQ9bWs7ZS5yZWFkRmlsZT1naztlLnJlYWRGaWxlU3luYz1naztlLndyaXRlPXhrO2Uu +d3JpdGVGaWxlPUlrO2Uud3JpdGVGaWxlU3luYz1JaztlLndyaXRlRmlsZUFzeW5jPU5rO2UudXRp +bHM9cWs7ZS53cml0ZVhMU1g9U2s7ZS53cml0ZUZpbGVYTFNYPVJrO2Uuc2V0X2ZzPXJyO2Uuc2V0 +X2NwdGFibGU9ZztlLlNTRj1YZTtpZih0eXBlb2YgaUEhPT0idW5kZWZpbmVkIillLnN0cmVhbT1p +QTtpZih0eXBlb2YgUWUhPT0idW5kZWZpbmVkIillLkNGQj1RZTtpZih0eXBlb2YgcmVxdWlyZSE9 +PSJ1bmRlZmluZWQiKXt2YXIgc0E9dW5kZWZpbmVkO2lmKChzQXx8e30pLlJlYWRhYmxlKWVBKHNB +LlJlYWRhYmxlKTt0cnl7ZXI9dW5kZWZpbmVkfWNhdGNoKGF1KXt9fX1pZih0eXBlb2YgZXhwb3J0 +cyE9PSJ1bmRlZmluZWQiKW1ha2VfeGxzeF9saWIoZXhwb3J0cyk7ZWxzZSBpZih0eXBlb2YgbW9k +dWxlIT09InVuZGVmaW5lZCImJm1vZHVsZS5leHBvcnRzKW1ha2VfeGxzeF9saWIobW9kdWxlLmV4 +cG9ydHMpO2Vsc2UgaWYodHlwZW9mIGRlZmluZT09PSJmdW5jdGlvbiImJmRlZmluZS5hbWQpZGVm +aW5lKCJ4bHN4IixmdW5jdGlvbigpe2lmKCFYTFNYLnZlcnNpb24pbWFrZV94bHN4X2xpYihYTFNY +KTtyZXR1cm4gWExTWH0pO2Vsc2UgbWFrZV94bHN4X2xpYihYTFNYKTtpZih0eXBlb2Ygd2luZG93 +IT09InVuZGVmaW5lZCImJiF3aW5kb3cuWExTWCl0cnl7d2luZG93LlhMU1g9WExTWH1jYXRjaChl +KXt9Cg== diff --git a/VI3DGL/sync-entpacken.bat b/VI3DGL/sync-entpacken.bat new file mode 100644 index 0000000..fafc15e --- /dev/null +++ b/VI3DGL/sync-entpacken.bat @@ -0,0 +1,58 @@ +@echo off +setlocal +set "BDIR=%~dp0" +echo. +echo === VI3 DGL-Planung: Code aktualisieren (Sync-Transfer) === +echo. +powershell -NoProfile -ExecutionPolicy Bypass -Command "$m='### PS'+'CODE ###';$me=[IO.File]::ReadAllText('%~f0');$p=$me.IndexOf($m);$nl=$me.IndexOf([char]10,$p);Invoke-Expression $me.Substring($nl+1)" +echo. +pause +exit /b +### PSCODE ### +$ErrorActionPreference = 'Stop' +# Diese BAT liegt IM Kit-Ordner SyncJob\. Bundles werden von HIER gelesen, +# der Code wird in die PORTAL-WURZEL (eine Ebene hoeher) geschrieben. Die +# data\*.json (Live-Daten) sind NIE im Bundle und werden NIE angefasst. +$here = $env:BDIR +$root = Split-Path -Parent ($here.TrimEnd('\')) +if (-not (Test-Path -LiteralPath (Join-Path $root 'index.html'))) { + Write-Host ('FEHLER: ' + $root + ' ist nicht die Portal-Wurzel (keine index.html).') -ForegroundColor Red + Write-Host 'Den Ordner SyncJob in die Portal-Wurzel legen (neben index.html) und erneut starten.' -ForegroundColor Red + return +} +Write-Host ('Ziel (Portal-Wurzel): ' + $root) +$bundles = Get-ChildItem -LiteralPath $here -Filter 'sync-bundle-*.txt' | Sort-Object Name +if (-not $bundles) { Write-Host 'FEHLER: keine sync-bundle-*.txt neben der BAT gefunden.' -ForegroundColor Red; return } +Write-Host ('Bundles: ' + $bundles.Count) +$flush = { + param($d, $rel, $expLen, $b64) + if (-not $rel) { return $null } + $bytes = [Convert]::FromBase64String($b64) + $full = Join-Path $d ($rel -replace '/', '\') + $pd = Split-Path -Parent $full + if (-not (Test-Path -LiteralPath $pd)) { New-Item -ItemType Directory -Path $pd -Force | Out-Null } + [IO.File]::WriteAllBytes($full, $bytes) + return ($bytes.Length -eq $expLen) +} +$ok = 0; $bad = 0; $rel = $null; $expLen = 0; $sb = New-Object System.Text.StringBuilder +foreach ($b in $bundles) { + Write-Host ('-> ' + $b.Name) + foreach ($line in [IO.File]::ReadAllLines($b.FullName)) { + if ($line.StartsWith('### FILE: ')) { + $r = & $flush $root $rel $expLen $sb.ToString() + if ($r -eq $true) { $ok++ } elseif ($r -eq $false) { $bad++ } + $meta = $line.Substring(10); $k = $meta.LastIndexOf(' | ') + $rel = $meta.Substring(0, $k); $expLen = [int]$meta.Substring($k + 3); $sb = New-Object System.Text.StringBuilder + } elseif ($line.StartsWith('###')) { continue } + elseif ($line.Length -gt 0) { [void]$sb.Append($line) } + } +} +$r = & $flush $root $rel $expLen $sb.ToString() +if ($r -eq $true) { $ok++ } elseif ($r -eq $false) { $bad++ } +Write-Host '' +if ($bad -eq 0) { + Write-Host ('FERTIG: ' + $ok + ' Dateien aktualisiert.') -ForegroundColor Green + Write-Host 'Jetzt server.ps1 neu starten und zur Kontrolle sync-check.html oeffnen.' -ForegroundColor Green +} else { + Write-Host ('FERTIG mit Warnungen: ' + $ok + ' ok, ' + $bad + ' mit falscher Laenge.') -ForegroundColor Yellow +}