-- Obfuscated Lua script for Delta X local function ICylnT(data) local t = 'ABCDEFGHIJ' .. 'KLMNOPQRSTUVWXYZ' .. 'abcdefghijklmnopqrstuvwxyz' .. '0123456789+/' return string.gsub(data, '[^'..t..'=]', '') end local function JVqdwf(x) local t = 'ABCDEFGHIJ' .. 'KLMNOPQRSTUVWXYZ' .. 'abcdefghijklmnopqrstuvwxyz' .. '0123456789+/' if x == '=' then return '' end local r, f = '', (t:find(x)-1) for i=6, 1, -1 do r = r .. (f%2^i-f%2^(i-1)>0 and '1' or '0') end return r end local function wjOzrE(input) local s1 = ICylnT(input) local s2 = s1:gsub('.', function(x) return JVqdwf(x) end) return s2:gsub('%d%d%d?%d?%d?%d?%d?%d?', function(x) if #x ~= 8 then return '' end local c = 0 for i=1, 8 do c = c + (x:sub(i,i)=='1' and 2^(8-i) or 0) end return string.char(c) end) end local sWRYke = "LS0gS2V5IFN5c3RlbSBHVUkgU2NyaXB0IGZvciBEZWx0YSBYIEluamVjdG9yCi0tIFVwZGF0ZWQgdmVyc2lvbiB3aXRoIGltcHJvdmVkIEdVSSwgZGVidWcgcHJpbnRzLCBhbmQgZW5zdXJlZCBrZXkgbG9hZGluZwotLSBOZXc6IExvYWQgYm90TGluayBmcm9tIGtleXMubHVhIGZvciBHZXQgS2V5IGJ1dHRvbgotLSBOZXc6IERlZmF1bHQgbGFuZ3VhZ2UgaXMgUnVzc2lhbiwgZmxhZyBzdGFydHMgYXMgQnJpdGlzaCAo8J+HrPCfh6cpLCB0b2dnbGVzIHRvIFJ1c3NpYW4gKPCfh7fwn4e6KSBhbmQgYmFjawoKbG9jYWwgSHR0cFNlcnZpY2UgPSBnYW1lOkdldFNlcnZpY2UoIkh0dHBTZXJ2aWNlIikKbG9jYWwgUGxheWVycyA9IGdhbWU6R2V0U2VydmljZSgiUGxheWVycyIpCmxvY2FsIFR3ZWVuU2VydmljZSA9IGdhbWU6R2V0U2VydmljZSgiVHdlZW5TZXJ2aWNlIikKbG9jYWwgVXNlcklucHV0U2VydmljZSA9IGdhbWU6R2V0U2VydmljZSgiVXNlcklucHV0U2VydmljZSIpCmxvY2FsIHBsYXllciA9IFBsYXllcnMuTG9jYWxQbGF5ZXIKbG9jYWwgcGxheWVyR3VpID0gcGxheWVyOldhaXRGb3JDaGlsZCgiUGxheWVyR3VpIikKCi0tIFNjYWxpbmcgZmFjdG9yIGZvciBHVUkgKHJlZHVjZWQgYnkgMS4yNSB0aW1lczogb3JpZ2luYWwgMi8zIOKJiDAuNjY2LCBuZXcg4omIMC41MzMpCmxvY2FsIHNjYWxlID0gMi8zLjc1ICAtLSAyLzMgLyAxLjI1ID0gMi8zLjc1IOKJiDAuNTMzCgotLSBMYW5ndWFnZSB0b2dnbGU6IGZhbHNlIGZvciBSdXNzaWFuIChkZWZhdWx0KSwgdHJ1ZSBmb3IgRW5nbGlzaApsb2NhbCBpc0VuZ2xpc2ggPSBmYWxzZQoKLS0gQ3JlYXRlIFNjcmVlbkd1aQpsb2NhbCBzY3JlZW5HdWkgPSBJbnN0YW5jZS5uZXcoIlNjcmVlbkd1aSIpCnNjcmVlbkd1aS5OYW1lID0gIktleVN5c3RlbUdVSSIKc2NyZWVuR3VpLlBhcmVudCA9IHBsYXllckd1aQpzY3JlZW5HdWkuUmVzZXRPblNwYXduID0gZmFsc2UKCi0tIE1haW4gRnJhbWUgd2l0aCBpbXByb3ZlZCBzdHlsaW5nIChkYXJrZXIgdGhlbWUsIGJvcmRlcnMpCmxvY2FsIG1haW5GcmFtZSA9IEluc3RhbmNlLm5ldygiRnJhbWUiKQptYWluRnJhbWUuTmFtZSA9ICJNYWluRnJhbWUiCm1haW5GcmFtZS5TaXplID0gVURpbTIubmV3KDAsIDQ1MCAqIHNjYWxlLCAwLCA0MDAgKiBzY2FsZSkgIC0tIEluY3JlYXNlZCBoZWlnaHQgZm9yIG5ldyBidXR0b24KbWFpbkZyYW1lLlBvc2l0aW9uID0gVURpbTIubmV3KDAuNSwgLTIyNSAqIHNjYWxlLCAwLjUsIC0yMDAgKiBzY2FsZSkKbWFpbkZyYW1lLkJhY2tncm91bmRDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigyMCwgMjAsIDIwKSAgLS0gRGFya2VyIGJhY2tncm91bmQKbWFpbkZyYW1lLkJvcmRlclNpemVQaXhlbCA9IDAKbWFpbkZyYW1lLkFjdGl2ZSA9IHRydWUKbWFpbkZyYW1lLkRyYWdnYWJsZSA9IHRydWUKbWFpbkZyYW1lLlBhcmVudCA9IHNjcmVlbkd1aQoKbG9jYWwgY29ybmVyID0gSW5zdGFuY2UubmV3KCJVSUNvcm5lciIpCmNvcm5lci5Db3JuZXJSYWRpdXMgPSBVRGltLm5ldygwLCAxMiAqIHNjYWxlKSAgLS0gU29mdGVyIGNvcm5lcnMKY29ybmVyLlBhcmVudCA9IG1haW5GcmFtZQoKLS0gQWRkIGEgc3VidGxlIHN0cm9rZSBmb3IgYm9yZGVyIGVmZmVjdApsb2NhbCBzdHJva2UgPSBJbnN0YW5jZS5uZXcoIlVJU3Ryb2tlIikKc3Ryb2tlLkNvbG9yID0gQ29sb3IzLmZyb21SR0IoNTAsIDUwLCA1MCkKc3Ryb2tlLlRoaWNrbmVzcyA9IDEKc3Ryb2tlLlRyYW5zcGFyZW5jeSA9IDAuNQpzdHJva2UuUGFyZW50ID0gbWFpbkZyYW1lCgotLSBUaXRsZSBMYWJlbCB3aXRoIGdyYWRpZW50CmxvY2FsIHRpdGxlTGFiZWwgPSBJbnN0YW5jZS5uZXcoIlRleHRMYWJlbCIpCnRpdGxlTGFiZWwuTmFtZSA9ICJUaXRsZUxhYmVsIgp0aXRsZUxhYmVsLlNpemUgPSBVRGltMi5uZXcoMSwgMCwgMCwgNjAgKiBzY2FsZSkKdGl0bGVMYWJlbC5Qb3NpdGlvbiA9IFVEaW0yLm5ldygwLCAwLCAwLCAwKQp0aXRsZUxhYmVsLkJhY2tncm91bmRUcmFuc3BhcmVuY3kgPSAxCnRpdGxlTGFiZWwuVGV4dCA9ICJLZXkgU3lzdGVtIgp0aXRsZUxhYmVsLlRleHRDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigyNTUsIDI1NSwgMjU1KQp0aXRsZUxhYmVsLlRleHRTY2FsZWQgPSB0cnVlCnRpdGxlTGFiZWwuRm9udCA9IEVudW0uRm9udC5Hb3RoYW1CbGFjayAgLS0gQm9sZGVyIGZvbnQKdGl0bGVMYWJlbC5QYXJlbnQgPSBtYWluRnJhbWUKCmxvY2FsIGdyYWRpZW50ID0gSW5zdGFuY2UubmV3KCJVSUdyYWRpZW50IikKZ3JhZGllbnQuQ29sb3IgPSBDb2xvclNlcXVlbmNlLm5ld3sKICAgIENvbG9yU2VxdWVuY2VLZXlwb2ludC5uZXcoMCwgQ29sb3IzLmZyb21SR0IoMjU1LCAyNTUsIDI1NSkpLAogICAgQ29sb3JTZXF1ZW5jZUtleXBvaW50Lm5ldygxLCBDb2xvcjMuZnJvbVJHQigxNTAsIDE1MCwgMjU1KSkKfQpncmFkaWVudC5QYXJlbnQgPSB0aXRsZUxhYmVsCgotLSBMYW5ndWFnZSBUb2dnbGUgQnV0dG9uICh0b3AtbGVmdCwgc3RhcnRzIGFzIEJyaXRpc2ggZmxhZykKbG9jYWwgZmxhZ0J1dHRvbiA9IEluc3RhbmNlLm5ldygiVGV4dEJ1dHRvbiIpCmZsYWdCdXR0b24uTmFtZSA9ICJGbGFnQnV0dG9uIgpmbGFnQnV0dG9uLlNpemUgPSBVRGltMi5uZXcoMCwgNDAgKiBzY2FsZSwgMCwgNDAgKiBzY2FsZSkKZmxhZ0J1dHRvbi5Qb3NpdGlvbiA9IFVEaW0yLm5ldygwLCAxMCAqIHNjYWxlLCAwLCAxMCAqIHNjYWxlKQpmbGFnQnV0dG9uLkJhY2tncm91bmRUcmFuc3BhcmVuY3kgPSAxCmZsYWdCdXR0b24uVGV4dCA9ICLwn4es8J+HpyIgIC0tIFN0YXJ0IHdpdGggQnJpdGlzaCBmbGFnCmZsYWdCdXR0b24uVGV4dENvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDI1NSwgMjU1LCAyNTUpCmZsYWdCdXR0b24uVGV4dFNjYWxlZCA9IHRydWUKZmxhZ0J1dHRvbi5Gb250ID0gRW51bS5Gb250LkdvdGhhbUJvbGQKZmxhZ0J1dHRvbi5QYXJlbnQgPSBtYWluRnJhbWUKCi0tIEtleSBJbnB1dCB3aXRoIHBsYWNlaG9sZGVyIGFuZCBib3JkZXIKbG9jYWwga2V5SW5wdXQgPSBJbnN0YW5jZS5uZXcoIlRleHRCb3giKQprZXlJbnB1dC5OYW1lID0gIktleUlucHV0IgprZXlJbnB1dC5TaXplID0gVURpbTIubmV3KDAuODUsIDAsIDAsIDUwICogc2NhbGUpCmtleUlucHV0LlBvc2l0aW9uID0gVURpbTIubmV3KDAuMDc1LCAwLCAwLCA4MCAqIHNjYWxlKQprZXlJbnB1dC5CYWNrZ3JvdW5kQ29sb3IzID0gQ29sb3IzLmZyb21SR0IoNDAsIDQwLCA0MCkKa2V5SW5wdXQuQm9yZGVyU2l6ZVBpeGVsID0gMAprZXlJbnB1dC5UZXh0ID0gIiIKa2V5SW5wdXQuUGxhY2Vob2xkZXJUZXh0ID0gItCS0LLQtdC00LjRgtC1INC60LvRjtGHINC30LTQtdGB0YwuLi4iICAtLSBEZWZhdWx0IHRvIFJ1c3NpYW4Ka2V5SW5wdXQuUGxhY2Vob2xkZXJDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigxNTAsIDE1MCwgMTUwKQprZXlJbnB1dC5UZXh0Q29sb3IzID0gQ29sb3IzLmZyb21SR0IoMjU1LCAyNTUsIDI1NSkKa2V5SW5wdXQuVGV4dFNjYWxlZCA9IHRydWUKa2V5SW5wdXQuRm9udCA9IEVudW0uRm9udC5Hb3RoYW1TZW1pYm9sZAprZXlJbnB1dC5QYXJlbnQgPSBtYWluRnJhbWUKCmxvY2FsIGlucHV0Q29ybmVyID0gSW5zdGFuY2UubmV3KCJVSUNvcm5lciIpCmlucHV0Q29ybmVyLkNvcm5lclJhZGl1cyA9IFVEaW0ubmV3KDAsIDggKiBzY2FsZSkKaW5wdXRDb3JuZXIuUGFyZW50ID0ga2V5SW5wdXQKCmxvY2FsIGlucHV0U3Ryb2tlID0gSW5zdGFuY2UubmV3KCJVSVN0cm9rZSIpCmlucHV0U3Ryb2tlLkNvbG9yID0gQ29sb3IzLmZyb21SR0IoNjAsIDYwLCA2MCkKaW5wdXRTdHJva2UuVGhpY2tuZXNzID0gMQppbnB1dFN0cm9rZS5QYXJlbnQgPSBrZXlJbnB1dAoKLS0gVmVyaWZ5IEJ1dHRvbiAobGVmdCBzaWRlKQpsb2NhbCB2ZXJpZnlCdXR0b24gPSBJbnN0YW5jZS5uZXcoIlRleHRCdXR0b24iKQp2ZXJpZnlCdXR0b24uTmFtZSA9ICJWZXJpZnlCdXR0b24iCnZlcmlmeUJ1dHRvbi5TaXplID0gVURpbTIubmV3KDAuNCwgMCwgMCwgNTAgKiBzY2FsZSkKdmVyaWZ5QnV0dG9uLlBvc2l0aW9uID0gVURpbTIubmV3KDAuMDc1LCAwLCAwLCAxNTAgKiBzY2FsZSkKdmVyaWZ5QnV0dG9uLkJhY2tncm91bmRDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigwLCAyMDAsIDApICAtLSBCcmlnaHRlciBncmVlbgp2ZXJpZnlCdXR0b24uQm9yZGVyU2l6ZVBpeGVsID0gMAp2ZXJpZnlCdXR0b24uVGV4dCA9ICLQn9GA0L7QstC10YDQuNGC0Ywg0JrQu9GO0YciICAtLSBEZWZhdWx0IHRvIFJ1c3NpYW4KdmVyaWZ5QnV0dG9uLlRleHRDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigyNTUsIDI1NSwgMjU1KQp2ZXJpZnlCdXR0b24uVGV4dFNjYWxlZCA9IHRydWUKdmVyaWZ5QnV0dG9uLkZvbnQgPSBFbnVtLkZvbnQuR290aGFtQm9sZAp2ZXJpZnlCdXR0b24uUGFyZW50ID0gbWFpbkZyYW1lCgpsb2NhbCBidXR0b25Db3JuZXIgPSBJbnN0YW5jZS5uZXcoIlVJQ29ybmVyIikKYnV0dG9uQ29ybmVyLkNvcm5lclJhZGl1cyA9IFVEaW0ubmV3KDAsIDggKiBzY2FsZSkKYnV0dG9uQ29ybmVyLlBhcmVudCA9IHZlcmlmeUJ1dHRvbgoKLS0gTmV3IEdldCBLZXkgQnV0dG9uIChyaWdodCBzaWRlLCBkaWZmZXJlbnQgY29sb3I6IGJsdWUpCmxvY2FsIGdldEtleUJ1dHRvbiA9IEluc3RhbmNlLm5ldygiVGV4dEJ1dHRvbiIpCmdldEtleUJ1dHRvbi5OYW1lID0gIkdldEtleUJ1dHRvbiIKZ2V0S2V5QnV0dG9uLlNpemUgPSBVRGltMi5uZXcoMC40LCAwLCAwLCA1MCAqIHNjYWxlKQpnZXRLZXlCdXR0b24uUG9zaXRpb24gPSBVRGltMi5uZXcoMC41MjUsIDAsIDAsIDE1MCAqIHNjYWxlKQpnZXRLZXlCdXR0b24uQmFja2dyb3VuZENvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDAsIDEwMCwgMjU1KSAgLS0gQmx1ZSBjb2xvcgpnZXRLZXlCdXR0b24uQm9yZGVyU2l6ZVBpeGVsID0gMApnZXRLZXlCdXR0b24uVGV4dCA9ICLQn9C+0LvRg9GH0LjRgtGMINC60LvRjtGHIiAgLS0gRGVmYXVsdCB0byBSdXNzaWFuCmdldEtleUJ1dHRvbi5UZXh0Q29sb3IzID0gQ29sb3IzLmZyb21SR0IoMjU1LCAyNTUsIDI1NSkKZ2V0S2V5QnV0dG9uLlRleHRTY2FsZWQgPSB0cnVlCmdldEtleUJ1dHRvbi5Gb250ID0gRW51bS5Gb250LkdvdGhhbUJvbGQKZ2V0S2V5QnV0dG9uLlBhcmVudCA9IG1haW5GcmFtZQoKbG9jYWwgZ2V0S2V5Q29ybmVyID0gSW5zdGFuY2UubmV3KCJVSUNvcm5lciIpCmdldEtleUNvcm5lci5Db3JuZXJSYWRpdXMgPSBVRGltLm5ldygwLCA4ICogc2NhbGUpCmdldEtleUNvcm5lci5QYXJlbnQgPSBnZXRLZXlCdXR0b24KCi0tIFN0YXR1cyBMYWJlbCAobW92ZWQgbG93ZXIpCmxvY2FsIHN0YXR1c0xhYmVsID0gSW5zdGFuY2UubmV3KCJUZXh0TGFiZWwiKQpzdGF0dXNMYWJlbC5OYW1lID0gIlN0YXR1c0xhYmVsIgpzdGF0dXNMYWJlbC5TaXplID0gVURpbTIubmV3KDAuODUsIDAsIDAsIDEyMCAqIHNjYWxlKSAgLS0gSW5jcmVhc2VkIGZvciBtdWx0aS1saW5lCnN0YXR1c0xhYmVsLlBvc2l0aW9uID0gVURpbTIubmV3KDAuMDc1LCAwLCAwLCAyMTAgKiBzY2FsZSkKc3RhdHVzTGFiZWwuQmFja2dyb3VuZFRyYW5zcGFyZW5jeSA9IDEKc3RhdHVzTGFiZWwuVGV4dCA9ICLQktCy0LXQtNC40YLQtSDQutC70Y7RhyDQuCDQvdCw0LbQvNC40YLQtSDQutC90L7Qv9C60YMuIiAgLS0gRGVmYXVsdCB0byBSdXNzaWFuCnN0YXR1c0xhYmVsLlRleHRDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigyMDAsIDIwMCwgMjAwKQpzdGF0dXNMYWJlbC5UZXh0U2NhbGVkID0gdHJ1ZQpzdGF0dXNMYWJlbC5UZXh0V3JhcHBlZCA9IHRydWUKc3RhdHVzTGFiZWwuRm9udCA9IEVudW0uRm9udC5Hb3RoYW0Kc3RhdHVzTGFiZWwuUGFyZW50ID0gbWFpbkZyYW1lCgotLSBDbG9zZSBCdXR0b24gKGltcHJvdmVkOiBsYXJnZXIsIGNpcmN1bGFyKQpsb2NhbCBjbG9zZUJ1dHRvbiA9IEluc3RhbmNlLm5ldygiVGV4dEJ1dHRvbiIpCmNsb3NlQnV0dG9uLk5hbWUgPSAiQ2xvc2VCdXR0b24iCmNsb3NlQnV0dG9uLlNpemUgPSBVRGltMi5uZXcoMCwgNDAgKiBzY2FsZSwgMCwgNDAgKiBzY2FsZSkKY2xvc2VCdXR0b24uUG9zaXRpb24gPSBVRGltMi5uZXcoMSwgLTQ1ICogc2NhbGUsIDAsIDEwICogc2NhbGUpCmNsb3NlQnV0dG9uLkJhY2tncm91bmRDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigyNTUsIDUwLCA1MCkgIC0tIEJyaWdodGVyIHJlZApjbG9zZUJ1dHRvbi5Cb3JkZXJTaXplUGl4ZWwgPSAwCmNsb3NlQnV0dG9uLlRleHQgPSAiWCIKY2xvc2VCdXR0b24uVGV4dENvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDI1NSwgMjU1LCAyNTUpCmNsb3NlQnV0dG9uLlRleHRTY2FsZWQgPSB0cnVlCmNsb3NlQnV0dG9uLkZvbnQgPSBFbnVtLkZvbnQuR290aGFtQm9sZApjbG9zZUJ1dHRvbi5QYXJlbnQgPSBtYWluRnJhbWUKCmxvY2FsIGNsb3NlQ29ybmVyID0gSW5zdGFuY2UubmV3KCJVSUNvcm5lciIpCmNsb3NlQ29ybmVyLkNvcm5lclJhZGl1cyA9IFVEaW0ubmV3KDEsIDApICAtLSBGdWxseSBjaXJjdWxhcgpjbG9zZUNvcm5lci5QYXJlbnQgPSBjbG9zZUJ1dHRvbgoKLS0gTG9hZCBrZXlzLmx1YSBpbW1lZGlhdGVseSBhZnRlciBzY3JpcHQgbG9hZApsb2NhbCBLRVlTX1VSTCA9ICJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20va2ltcGxlcjEvc2NyaXB0a2V5L21haW4va2V5cy5sdWEiCnByaW50KCJBdHRlbXB0aW5nIHRvIGxvYWQga2V5cy5sdWEgZnJvbTogIiAuLiBLRVlTX1VSTCkKbG9jYWwgc3VjY2Vzc0tleXMsIHJlc3VsdCA9IHBjYWxsKGZ1bmN0aW9uKCkKICAgIHJldHVybiBsb2Fkc3RyaW5nKGdhbWU6SHR0cEdldChLRVlTX1VSTCkpKCkKZW5kKQppZiBub3Qgc3VjY2Vzc0tleXMgdGhlbgogICAgd2FybigiRmFpbGVkIHRvIGxvYWQga2V5cy5sdWE6ICIgLi4gdG9zdHJpbmcocmVzdWx0KSkKICAgIF9HLkN1cnJlbnRLZXkgPSBuaWwKICAgIF9HLkJvdExpbmsgPSBuaWwKICAgIHN0YXR1c0xhYmVsLlRleHQgPSBpc0VuZ2xpc2ggYW5kICJFcnJvciBsb2FkaW5nIGtleS4gVHJ5IGFnYWluIGxhdGVyLiIgb3IgItCe0YjQuNCx0LrQsCDQt9Cw0LPRgNGD0LfQutC4INC60LvRjtGH0LAuINCf0L7Qv9GA0L7QsdGD0LnRgtC1INC/0L7Qt9C20LUuIgogICAgc3RhdHVzTGFiZWwuVGV4dENvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDI1NSwgMCwgMCkKZWxzZQogICAgaWYgdHlwZShyZXN1bHQpID09ICJ0YWJsZSIgYW5kIHJlc3VsdC5rZXkgYW5kIHJlc3VsdC5ib3RMaW5rIHRoZW4KICAgICAgICBwcmludCgiS2V5cy5sdWEgbG9hZGVkIHN1Y2Nlc3NmdWxseS4gQ3VycmVudCBrZXk6ICIgLi4gdG9zdHJpbmcocmVzdWx0LmtleSkgLi4gIiwgQm90IGxpbms6ICIgLi4gdG9zdHJpbmcocmVzdWx0LmJvdExpbmspKQogICAgICAgIF9HLkN1cnJlbnRLZXkgPSByZXN1bHQua2V5ICAtLSBTdG9yZSBrZXkKICAgICAgICBfRy5Cb3RMaW5rID0gcmVzdWx0LmJvdExpbmsgIC0tIFN0b3JlIGJvdCBsaW5rCiAgICBlbHNlCiAgICAgICAgcHJpbnQoIktleXMubHVhIGZhbGxiYWNrOiB0cmVhdGluZyByZXN1bHQgYXMga2V5IG9ubHkiKQogICAgICAgIF9HLkN1cnJlbnRLZXkgPSByZXN1bHQgIC0tIEZhbGxiYWNrIGZvciBvbGQgZm9ybWF0CiAgICAgICAgX0cuQm90TGluayA9IG5pbAogICAgZW5kCmVuZAoKLS0gRnVuY3Rpb24gdG8gdG9nZ2xlIGxhbmd1YWdlCmxvY2FsIGZ1bmN0aW9uIHRvZ2dsZUxhbmd1YWdlKCkKICAgIGlzRW5nbGlzaCA9IG5vdCBpc0VuZ2xpc2gKICAgIGlmIGlzRW5nbGlzaCB0aGVuCiAgICAgICAgdGl0bGVMYWJlbC5UZXh0ID0gIktleSBTeXN0ZW0iCiAgICAgICAga2V5SW5wdXQuUGxhY2Vob2xkZXJUZXh0ID0gIkVudGVyIGtleSBoZXJlLi4uIgogICAgICAgIHZlcmlmeUJ1dHRvbi5UZXh0ID0gIlZlcmlmeSBLZXkiCiAgICAgICAgZ2V0S2V5QnV0dG9uLlRleHQgPSAiR2V0IEtleSIKICAgICAgICBzdGF0dXNMYWJlbC5UZXh0ID0gIkVudGVyIGtleSBhbmQgdmVyaWZ5LiIKICAgICAgICBmbGFnQnV0dG9uLlRleHQgPSAi8J+Ht/Cfh7oiICAtLSBTaG93IFJ1c3NpYW4gZmxhZyB3aGVuIEVuZ2xpc2gKICAgIGVsc2UKICAgICAgICB0aXRsZUxhYmVsLlRleHQgPSAiS2V5IFN5c3RlbSIgIC0tIEtlZXAgdGl0bGUgc2FtZSBvciB0cmFuc2xhdGUgaWYgbmVlZGVkCiAgICAgICAga2V5SW5wdXQuUGxhY2Vob2xkZXJUZXh0ID0gItCS0LLQtdC00LjRgtC1INC60LvRjtGHINC30LTQtdGB0YwuLi4iCiAgICAgICAgdmVyaWZ5QnV0dG9uLlRleHQgPSAi0J/RgNC+0LLQtdGA0LjRgtGMINCa0LvRjtGHIgogICAgICAgIGdldEtleUJ1dHRvbi5UZXh0ID0gItCf0L7Qu9GD0YfQuNGC0Ywg0LrQu9GO0YciCiAgICAgICAgc3RhdHVzTGFiZWwuVGV4dCA9ICLQktCy0LXQtNC40YLQtSDQutC70Y7RhyDQuCDQvdCw0LbQvNC40YLQtSDQutC90L7Qv9C60YMuIgogICAgICAgIGZsYWdCdXR0b24uVGV4dCA9ICLwn4es8J+HpyIgIC0tIFNob3cgQnJpdGlzaCBmbGFnIHdoZW4gUnVzc2lhbgogICAgZW5kCmVuZAoKLS0gRmxhZyBidXR0b24gbG9naWM6IFRvZ2dsZSBsYW5ndWFnZQpmbGFnQnV0dG9uLk1vdXNlQnV0dG9uMUNsaWNrOkNvbm5lY3QodG9nZ2xlTGFuZ3VhZ2UpCgotLSBWZXJpZnkgbG9naWMgd2l0aCBkZWJ1ZyBwcmludHMKdmVyaWZ5QnV0dG9uLk1vdXNlQnV0dG9uMUNsaWNrOkNvbm5lY3QoZnVuY3Rpb24oKQogICAgbG9jYWwgaW5wdXRLZXkgPSBzdHJpbmcuZ3N1YihrZXlJbnB1dC5UZXh0LCAiJXMrIiwgIiIpICAtLSBUcmltIHdoaXRlc3BhY2UKICAgIHByaW50KCJWZXJpZnkgY2xpY2tlZCEgSW5wdXQga2V5OiAnIiAuLiBpbnB1dEtleSAuLiAiJyB8IEN1cnJlbnQga2V5OiAnIiAuLiB0b3N0cmluZyhfRy5DdXJyZW50S2V5KSAuLiAiJyIpCgogICAgaWYgaW5wdXRLZXkgPT0gIiIgdGhlbgogICAgICAgIHN0YXR1c0xhYmVsLlRleHQgPSBpc0VuZ2xpc2ggYW5kICJFbnRlciBhIGtleSEiIG9yICLQktCy0LXQtNC40YLQtSDQutC70Y7RhyEiCiAgICAgICAgc3RhdHVzTGFiZWwuVGV4dENvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDI1NSwgMCwgMCkKICAgICAgICBwcmludCgiRW1wdHkga2V5IGlucHV0IikKICAgICAgICByZXR1cm4KICAgIGVuZAoKICAgIGlmIF9HLkN1cnJlbnRLZXkgYW5kIGlucHV0S2V5ID09IF9HLkN1cnJlbnRLZXkgdGhlbgogICAgICAgIHByaW50KCJLZXkgaXMgdmFsaWQhIikKICAgICAgICBzdGF0dXNMYWJlbC5UZXh0ID0gaXNFbmdsaXNoIGFuZCAiWW91ciBzY3JpcHQgaXMgYWN0aXZhdGVkISIgb3IgItCS0LDRiCDRgdC60YDQuNC/0YIg0LDQutGC0LjQstC40YDQvtCy0LDQvSEiCiAgICAgICAgc3RhdHVzTGFiZWwuVGV4dENvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDAsIDI1NSwgMCkKICAgICAgICAtLSBMb2FkIHRoZSBtYWluIHNjcmlwdCBhZnRlciB2ZXJpZmljYXRpb24KICAgICAgICBsb2Fkc3RyaW5nKGdhbWU6SHR0cEdldCgiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL1NlcmlvdXNseTU2Lzk5LU5pZ2h0cy9yZWZzL2hlYWRzL21haW4vOTklMjBuaWdodHMiLCB0cnVlKSkoKQogICAgICAgIHdhaXQoMikKICAgICAgICBzY3JlZW5HdWk6RGVzdHJveSgpCiAgICBlbHNlCiAgICAgICAgcHJpbnQoIktleSBpcyBpbnZhbGlkIG9yIEN1cnJlbnRLZXkgaXMgbmlsIikKICAgICAgICBzdGF0dXNMYWJlbC5UZXh0ID0gaXNFbmdsaXNoIGFuZCAiSW52YWxpZCBrZXkhIiBvciAi0J3QtdCy0LXRgNC90YvQuSDQutC70Y7RhyEiCiAgICAgICAgc3RhdHVzTGFiZWwuVGV4dENvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDI1NSwgMCwgMCkKICAgICAgICBrZXlJbnB1dC5UZXh0ID0gIiIKICAgIGVuZAplbmQpCgotLSBHZXQgS2V5IGJ1dHRvbiBsb2dpYzogQ29weSBib3QgbGluayB0byBjbGlwYm9hcmQKZ2V0S2V5QnV0dG9uLk1vdXNlQnV0dG9uMUNsaWNrOkNvbm5lY3QoZnVuY3Rpb24oKQogICAgbG9jYWwgYm90TGluayA9IF9HLkJvdExpbmsgb3IgImh0dHBzOi8vdC5tZS9rZXlyYl9ib3QiICAtLSBGYWxsYmFjayB0byBkZWZhdWx0IGlmIG5vdCBsb2FkZWQKICAgIGlmIHNldGNsaXBib2FyZCB0aGVuCiAgICAgICAgc2V0Y2xpcGJvYXJkKGJvdExpbmspCiAgICAgICAgc3RhdHVzTGFiZWwuVGV4dCA9IGlzRW5nbGlzaCBhbmQgIkxpbmsgY29waWVkIHRvIGNsaXBib2FyZDogIiAuLiBib3RMaW5rIG9yICLQodGB0YvQu9C60LAg0YHQutC+0L/QuNGA0L7QstCw0L3QsCDQsiDQsdGD0YTQtdGAINC+0LHQvNC10L3QsDogIiAuLiBib3RMaW5rCiAgICAgICAgc3RhdHVzTGFiZWwuVGV4dENvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDAsIDI1NSwgMCkKICAgICAgICBwcmludCgiQ29waWVkIHRvIGNsaXBib2FyZDogIiAuLiBib3RMaW5rKQogICAgZWxzZQogICAgICAgIHN0YXR1c0xhYmVsLlRleHQgPSBpc0VuZ2xpc2ggYW5kICJzZXRjbGlwYm9hcmQgdW5hdmFpbGFibGUuIExpbms6ICIgLi4gYm90TGluayBvciAic2V0Y2xpcGJvYXJkINC90LXQtNC+0YHRgtGD0L/QtdC9LiDQodGB0YvQu9C60LA6ICIgLi4gYm90TGluawogICAgICAgIHN0YXR1c0xhYmVsLlRleHRDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigyNTUsIDAsIDApCiAgICAgICAgcHJpbnQoInNldGNsaXBib2FyZCBub3QgYXZhaWxhYmxlIikKICAgIGVuZAplbmQpCgotLSBDbG9zZSBidXR0b24gbG9naWMKY2xvc2VCdXR0b24uTW91c2VCdXR0b24xQ2xpY2s6Q29ubmVjdChmdW5jdGlvbigpCiAgICBwcmludCgiQ2xvc2UgYnV0dG9uIGNsaWNrZWQiKQogICAgc2NyZWVuR3VpOkRlc3Ryb3koKQplbmQpCgotLSBFbnRlciBrZXkgcHJlc3MgdG8gdmVyaWZ5CmtleUlucHV0LkZvY3VzTG9zdDpDb25uZWN0KGZ1bmN0aW9uKGVudGVyUHJlc3NlZCkKICAgIGlmIGVudGVyUHJlc3NlZCB0aGVuCiAgICAgICAgdmVyaWZ5QnV0dG9uLk1vdXNlQnV0dG9uMUNsaWNrOkZpcmUoKQogICAgZW5kCmVuZCkKCi0tIEFkZCBob3ZlciBlZmZlY3QgdG8gdmVyaWZ5IGJ1dHRvbgp2ZXJpZnlCdXR0b24uTW91c2VFbnRlcjpDb25uZWN0KGZ1bmN0aW9uKCkKICAgIFR3ZWVuU2VydmljZTpDcmVhdGUodmVyaWZ5QnV0dG9uLCBUd2VlbkluZm8ubmV3KDAuMiksIHtCYWNrZ3JvdW5kQ29sb3IzID0gQ29sb3IzLmZyb21SR0IoMCwgMjU1LCAwKX0pOlBsYXkoKQplbmQpCnZlcmlmeUJ1dHRvbi5Nb3VzZUxlYXZlOkNvbm5lY3QoZnVuY3Rpb24oKQogICAgVHdlZW5TZXJ2aWNlOkNyZWF0ZSh2ZXJpZnlCdXR0b24sIFR3ZWVuSW5mby5uZXcoMC4yKSwge0JhY2tncm91bmRDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigwLCAyMDAsIDApfSk6UGxheSgpCmVuZCkKCi0tIEFkZCBob3ZlciBlZmZlY3QgdG8gZ2V0IGtleSBidXR0b24KZ2V0S2V5QnV0dG9uLk1vdXNlRW50ZXI6Q29ubmVjdChmdW5jdGlvbigpCiAgICBUd2VlblNlcnZpY2U6Q3JlYXRlKGdldEtleUJ1dHRvbiwgVHdlZW5JbmZvLm5ldygwLjIpLCB7QmFja2dyb3VuZENvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDAsIDE1MCwgMjU1KX0pOlBsYXkoKQplbmQpCmdldEtleUJ1dHRvbi5Nb3VzZUxlYXZlOkNvbm5lY3QoZnVuY3Rpb24oKQogICAgVHdlZW5TZXJ2aWNlOkNyZWF0ZShnZXRLZXlCdXR0b24sIFR3ZWVuSW5mby5uZXcoMC4yKSwge0JhY2tncm91bmRDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigwLCAxMDAsIDI1NSl9KTpQbGF5KCkKZW5kKQoKLS0gRmFkZS1pbiBhbmltYXRpb24gZm9yIGFsbCBlbGVtZW50cwpsb2NhbCBmdW5jdGlvbiBmYWRlSW4oZWxlbWVudCwgcHJvcHMpCiAgICBUd2VlblNlcnZpY2U6Q3JlYXRlKGVsZW1lbnQsIFR3ZWVuSW5mby5uZXcoMC41LCBFbnVtLkVhc2luZ1N0eWxlLlF1YWQsIEVudW0uRWFzaW5nRGlyZWN0aW9uLk91dCksIHByb3BzKTpQbGF5KCkKZW5kCgptYWluRnJhbWUuQmFja2dyb3VuZFRyYW5zcGFyZW5jeSA9IDEKZmFkZUluKG1haW5GcmFtZSwge0JhY2tncm91bmRUcmFuc3BhcmVuY3kgPSAwfSkKCnRpdGxlTGFiZWwuVGV4dFRyYW5zcGFyZW5jeSA9IDEKZmFkZUluKHRpdGxlTGFiZWwsIHtUZXh0VHJhbnNwYXJlbmN5ID0gMH0pCgprZXlJbnB1dC5CYWNrZ3JvdW5kVHJhbnNwYXJlbmN5ID0gMQprZXlJbnB1dC5UZXh0VHJhbnNwYXJlbmN5ID0gMQpmYWRlSW4oa2V5SW5wdXQsIHtCYWNrZ3JvdW5kVHJhbnNwYXJlbmN5ID0gMCwgVGV4dFRyYW5zcGFyZW5jeSA9IDB9KQoKdmVyaWZ5QnV0dG9uLkJhY2tncm91bmRUcmFuc3BhcmVuY3kgPSAxCnZlcmlmeUJ1dHRvbi5UZXh0VHJhbnNwYXJlbmN5ID0gMQpmYWRlSW4odmVyaWZ5QnV0dG9uLCB7QmFja2dyb3VuZFRyYW5zcGFyZW5jeSA9IDAsIFRleHRUcmFuc3BhcmVuY3kgPSAwfSkKCmdldEtleUJ1dHRvbi5CYWNrZ3JvdW5kVHJhbnNwYXJlbmN5ID0gMQpnZXRLZXlCdXR0b24uVGV4dFRyYW5zcGFyZW5jeSA9IDEKZmFkZUluKGdldEtleUJ1dHRvbiwge0JhY2tncm91bmRUcmFuc3BhcmVuY3kgPSAwLCBUZXh0VHJhbnNwYXJlbmN5ID0gMH0pCgpzdGF0dXNMYWJlbC5UZXh0VHJhbnNwYXJlbmN5ID0gMQpmYWRlSW4oc3RhdHVzTGFiZWwsIHtUZXh0VHJhbnNwYXJlbmN5ID0gMH0pCgpjbG9zZUJ1dHRvbi5CYWNrZ3JvdW5kVHJhbnNwYXJlbmN5ID0gMQpjbG9zZUJ1dHRvbi5UZXh0VHJhbnNwYXJlbmN5ID0gMQpmYWRlSW4oY2xvc2VCdXR0b24sIHtCYWNrZ3JvdW5kVHJhbnNwYXJlbmN5ID0gMCwgVGV4dFRyYW5zcGFyZW5jeSA9IDB9KQoKZmxhZ0J1dHRvbi5UZXh0VHJhbnNwYXJlbmN5ID0gMQpmYWRlSW4oZmxhZ0J1dHRvbiwge1RleHRUcmFuc3BhcmVuY3kgPSAwfSk=" local qIkXjj = wjOzrE(sWRYke) if qIkXjj then loadstring(qIkXjj)() else error("Failed to decode script") end