loadstring(game:HttpGet('https://roblox-obfuscator.vercel.app/api/script?c=LS0gR3VpIHRvIEx1YQotLSBWZXJzaW9uOiAzLjIKCi0tIEluc3RhbmNlczoKCmxvY2FsIFNjcmVlbkd1aTIgPSBJbnN0YW5jZS5uZXcoIlNjcmVlbkd1aSIpCmxvY2FsIEltYWdlTGFiZWwgPSBJbnN0YW5jZS5uZXcoIkltYWdlTGFiZWwiKQpsb2NhbCBUZXh0TGFiZWwgPSBJbnN0YW5jZS5uZXcoIlRleHRMYWJlbCIpCmxvY2FsIFRleHRCdXR0b24gPSBJbnN0YW5jZS5uZXcoIlRleHRCdXR0b24iKQpsb2NhbCBUZXh0QnV0dG9uXzIgPSBJbnN0YW5jZS5uZXcoIlRleHRCdXR0b24iKQpsb2NhbCBUZXh0QnV0dG9uXzMgPSBJbnN0YW5jZS5uZXcoIlRleHRCdXR0b24iKQpsb2NhbCBUZXh0QnV0dG9uXzQgPSBJbnN0YW5jZS5uZXcoIlRleHRCdXR0b24iKQpsb2NhbCBUZXh0QnV0dG9uXzUgPSBJbnN0YW5jZS5uZXcoIlRleHRCdXR0b24iKQpsb2NhbCBUZXh0QnV0dG9uXzYgPSBJbnN0YW5jZS5uZXcoIlRleHRCdXR0b24iKQpsb2NhbCBUZXh0QnV0dG9uXzcgPSBJbnN0YW5jZS5uZXcoIlRleHRCdXR0b24iKQpsb2NhbCBUZXh0QnV0dG9uMSA9IEluc3RhbmNlLm5ldygiVGV4dEJ1dHRvbiIpCgotLVByb3BlcnRpZXM6CgpTY3JlZW5HdWkyLk5hbWUgPSAiU2NyZWVuR3VpMiIKU2NyZWVuR3VpMi5QYXJlbnQgPSBnYW1lLlBsYXllcnMuTG9jYWxQbGF5ZXI6V2FpdEZvckNoaWxkKCJQbGF5ZXJHdWkiKQpTY3JlZW5HdWkyLlpJbmRleEJlaGF2aW9yID0gRW51bS5aSW5kZXhCZWhhdmlvci5TaWJsaW5nCgpJbWFnZUxhYmVsLlBhcmVudCA9IFNjcmVlbkd1aTIKSW1hZ2VMYWJlbC5CYWNrZ3JvdW5kQ29sb3IzID0gQ29sb3IzLmZyb21SR0IoMjU1LCAyNTUsIDI1NSkKSW1hZ2VMYWJlbC5Cb3JkZXJDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigwLCAwLCAwKQpJbWFnZUxhYmVsLkJvcmRlclNpemVQaXhlbCA9IDAKSW1hZ2VMYWJlbC5Qb3NpdGlvbiA9IFVEaW0yLm5ldygwLjIzMTg4NDA2MiwgMCwgMC4zNDM5NDEyNDIsIDApCkltYWdlTGFiZWwuU2l6ZSA9IFVEaW0yLm5ldygwLCA2NjIsIDAsIDM4MykKSW1hZ2VMYWJlbC5JbWFnZSA9ICJyYnhhc3NldGlkOi8vNzI4MzMyMTgzNjE5NTUiCgpUZXh0TGFiZWwuUGFyZW50ID0gSW1hZ2VMYWJlbApUZXh0TGFiZWwuQmFja2dyb3VuZENvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDI1NSwgMjIwLCA5NCkKVGV4dExhYmVsLkJvcmRlckNvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDAsIDAsIDApClRleHRMYWJlbC5Cb3JkZXJTaXplUGl4ZWwgPSAwClRleHRMYWJlbC5Qb3NpdGlvbiA9IFVEaW0yLm5ldygwLjM0ODk0MjYwOCwgMCwgMC4wMjM0OTg2OTUzLCAwKQpUZXh0TGFiZWwuU2l6ZSA9IFVEaW0yLm5ldygwLCAyMDAsIDAsIDUwKQpUZXh0TGFiZWwuRm9udCA9IEVudW0uRm9udC5Tb3VyY2VTYW5zClRleHRMYWJlbC5UZXh0ID0gIlJPTUFOSUEgR1VJIFY5IgpUZXh0TGFiZWwuVGV4dENvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDAsIDAsIDApClRleHRMYWJlbC5UZXh0U2l6ZSA9IDE0LjAwMAoKVGV4dEJ1dHRvbi5QYXJlbnQgPSBJbWFnZUxhYmVsClRleHRCdXR0b24uQmFja2dyb3VuZENvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDMwLCAwLCAxMTgpClRleHRCdXR0b24uQm9yZGVyQ29sb3IzID0gQ29sb3IzLmZyb21SR0IoMCwgMCwgMCkKVGV4dEJ1dHRvbi5Cb3JkZXJTaXplUGl4ZWwgPSAwClRleHRCdXR0b24uUG9zaXRpb24gPSBVRGltMi5uZXcoMC4wMTY2MTYzMTQ2LCAwLCAwLjIxNDA5OTIxMywgMCkKVGV4dEJ1dHRvbi5TaXplID0gVURpbTIubmV3KDAsIDIwMCwgMCwgNTApClRleHRCdXR0b24uRm9udCA9IEVudW0uRm9udC5Tb3VyY2VTYW5zClRleHRCdXR0b24uVGV4dCA9ICJEZWNhbCBTcGFtIgpUZXh0QnV0dG9uLlRleHRDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigyNTUsIDI1NSwgMjU1KQpUZXh0QnV0dG9uLlRleHRTY2FsZWQgPSB0cnVlClRleHRCdXR0b24uVGV4dFNpemUgPSAxNC4wMDAKVGV4dEJ1dHRvbi5UZXh0V3JhcHBlZCA9IHRydWUKClRleHRCdXR0b25fMi5QYXJlbnQgPSBJbWFnZUxhYmVsClRleHRCdXR0b25fMi5CYWNrZ3JvdW5kQ29sb3IzID0gQ29sb3IzLmZyb21SR0IoMzAsIDAsIDExOCkKVGV4dEJ1dHRvbl8yLkJvcmRlckNvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDAsIDAsIDApClRleHRCdXR0b25fMi5Cb3JkZXJTaXplUGl4ZWwgPSAwClRleHRCdXR0b25fMi5Qb3NpdGlvbiA9IFVEaW0yLm5ldygwLjAxNjYxNjMxNDYsIDAsIDAuNDMzNDIwMzYsIDApClRleHRCdXR0b25fMi5TaXplID0gVURpbTIubmV3KDAsIDIwMCwgMCwgNTApClRleHRCdXR0b25fMi5Gb250ID0gRW51bS5Gb250LlNvdXJjZVNhbnMKVGV4dEJ1dHRvbl8yLlRleHQgPSAiU2t5Qm94IgpUZXh0QnV0dG9uXzIuVGV4dENvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDI1NSwgMjU1LCAyNTUpClRleHRCdXR0b25fMi5UZXh0U2NhbGVkID0gdHJ1ZQpUZXh0QnV0dG9uXzIuVGV4dFNpemUgPSAxNC4wMDAKVGV4dEJ1dHRvbl8yLlRleHRXcmFwcGVkID0gdHJ1ZQoKVGV4dEJ1dHRvbl8zLlBhcmVudCA9IEltYWdlTGFiZWwKVGV4dEJ1dHRvbl8zLkJhY2tncm91bmRDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigzMCwgMCwgMTE4KQpUZXh0QnV0dG9uXzMuQm9yZGVyQ29sb3IzID0gQ29sb3IzLmZyb21SR0IoMCwgMCwgMCkKVGV4dEJ1dHRvbl8zLkJvcmRlclNpemVQaXhlbCA9IDAKVGV4dEJ1dHRvbl8zLlBvc2l0aW9uID0gVURpbTIubmV3KDAuMDE2NjE2MzE0NiwgMCwgMC42MjkyNDI4MzcsIDApClRleHRCdXR0b25fMy5TaXplID0gVURpbTIubmV3KDAsIDIwMCwgMCwgNTApClRleHRCdXR0b25fMy5Gb250ID0gRW51bS5Gb250LlNvdXJjZVNhbnMKVGV4dEJ1dHRvbl8zLlRleHQgPSAiUGFydGljbGVzIgpUZXh0QnV0dG9uXzMuVGV4dENvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDI1NSwgMjU1LCAyNTUpClRleHRCdXR0b25fMy5UZXh0U2NhbGVkID0gdHJ1ZQpUZXh0QnV0dG9uXzMuVGV4dFNpemUgPSAxNC4wMDAKVGV4dEJ1dHRvbl8zLlRleHRXcmFwcGVkID0gdHJ1ZQoKVGV4dEJ1dHRvbl80LlBhcmVudCA9IEltYWdlTGFiZWwKVGV4dEJ1dHRvbl80LkJhY2tncm91bmRDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigyNTUsIDIyMCwgOTQpClRleHRCdXR0b25fNC5Cb3JkZXJDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigwLCAwLCAwKQpUZXh0QnV0dG9uXzQuQm9yZGVyU2l6ZVBpeGVsID0gMApUZXh0QnV0dG9uXzQuUG9zaXRpb24gPSBVRGltMi5uZXcoMC4zNDg5NDI2MDgsIDAsIDAuMjE0MDk5MjEzLCAwKQpUZXh0QnV0dG9uXzQuU2l6ZSA9IFVEaW0yLm5ldygwLCAyMDAsIDAsIDUwKQpUZXh0QnV0dG9uXzQuRm9udCA9IEVudW0uRm9udC5Tb3VyY2VTYW5zClRleHRCdXR0b25fNC5UZXh0ID0gIkp1bXBTY2FyZSIKVGV4dEJ1dHRvbl80LlRleHRDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigyNTUsIDI1NSwgMjU1KQpUZXh0QnV0dG9uXzQuVGV4dFNjYWxlZCA9IHRydWUKVGV4dEJ1dHRvbl80LlRleHRTaXplID0gMTQuMDAwClRleHRCdXR0b25fNC5UZXh0V3JhcHBlZCA9IHRydWUKClRleHRCdXR0b25fNS5QYXJlbnQgPSBJbWFnZUxhYmVsClRleHRCdXR0b25fNS5CYWNrZ3JvdW5kQ29sb3IzID0gQ29sb3IzLmZyb21SR0IoMjU1LCAyMjAsIDk0KQpUZXh0QnV0dG9uXzUuQm9yZGVyQ29sb3IzID0gQ29sb3IzLmZyb21SR0IoMCwgMCwgMCkKVGV4dEJ1dHRvbl81LkJvcmRlclNpemVQaXhlbCA9IDAKVGV4dEJ1dHRvbl81LlBvc2l0aW9uID0gVURpbTIubmV3KDAuMzQ4OTQyNjA4LCAwLCAwLjM5NDI1NTg3NywgMCkKVGV4dEJ1dHRvbl81LlNpemUgPSBVRGltMi5uZXcoMCwgMjAwLCAwLCAxNzkpClRleHRCdXR0b25fNS5Gb250ID0gRW51bS5Gb250LlNvdXJjZVNhbnMKVGV4dEJ1dHRvbl81LlRleHQgPSAiSnVtcHNjYXJlIDIiClRleHRCdXR0b25fNS5UZXh0Q29sb3IzID0gQ29sb3IzLmZyb21SR0IoMjU1LCAyNTUsIDI1NSkKVGV4dEJ1dHRvbl81LlRleHRTY2FsZWQgPSB0cnVlClRleHRCdXR0b25fNS5UZXh0U2l6ZSA9IDE0LjAwMApUZXh0QnV0dG9uXzUuVGV4dFdyYXBwZWQgPSB0cnVlCgpUZXh0QnV0dG9uXzYuUGFyZW50ID0gSW1hZ2VMYWJlbApUZXh0QnV0dG9uXzYuQmFja2dyb3VuZENvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDI1NSwgNzEsIDcxKQpUZXh0QnV0dG9uXzYuQm9yZGVyQ29sb3IzID0gQ29sb3IzLmZyb21SR0IoMCwgMCwgMCkKVGV4dEJ1dHRvbl82LkJvcmRlclNpemVQaXhlbCA9IDAKVGV4dEJ1dHRvbl82LlBvc2l0aW9uID0gVURpbTIubmV3KDAuNjg0MjkwMDUxLCAwLCAwLjIxNDA5OTIxMywgMCkKVGV4dEJ1dHRvbl82LlNpemUgPSBVRGltMi5uZXcoMCwgMjAwLCAwLCA1MCkKVGV4dEJ1dHRvbl82LkZvbnQgPSBFbnVtLkZvbnQuU291cmNlU2FucwpUZXh0QnV0dG9uXzYuVGV4dCA9ICJmYWNlIGFsbCByb21hbmlhIgpUZXh0QnV0dG9uXzYuVGV4dENvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDI1NSwgMjU1LCAyNTUpClRleHRCdXR0b25fNi5UZXh0U2NhbGVkID0gdHJ1ZQpUZXh0QnV0dG9uXzYuVGV4dFNpemUgPSAxNC4wMDAKVGV4dEJ1dHRvbl82LlRleHRXcmFwcGVkID0gdHJ1ZQoKVGV4dEJ1dHRvbl83LlBhcmVudCA9IEltYWdlTGFiZWwKVGV4dEJ1dHRvbl83LkJhY2tncm91bmRDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigyNTUsIDcxLCA3MSkKVGV4dEJ1dHRvbl83LkJvcmRlckNvbG9yMyA9IENvbG9yMy5mcm9tUkdCKDAsIDAsIDApClRleHRCdXR0b25fNy5Cb3JkZXJTaXplUGl4ZWwgPSAwClRleHRCdXR0b25fNy5Qb3NpdGlvbiA9IFVEaW0yLm5ldygwLjY4NDI5MDA1MSwgMCwgMC40MDk5MjE2NzYsIDApClRleHRCdXR0b25fNy5TaXplID0gVURpbTIubmV3KDAsIDIwMCwgMCwgNjcpClRleHRCdXR0b25fNy5Gb250ID0gRW51bS5Gb250LlNvdXJjZVNhbnMKVGV4dEJ1dHRvbl83LlRleHQgPSAiSGludCAiClRleHRCdXR0b25fNy5UZXh0Q29sb3IzID0gQ29sb3IzLmZyb21SR0IoMjU1LCAyNTUsIDI1NSkKVGV4dEJ1dHRvbl83LlRleHRTY2FsZWQgPSB0cnVlClRleHRCdXR0b25fNy5UZXh0U2l6ZSA9IDE0LjAwMApUZXh0QnV0dG9uXzcuVGV4dFdyYXBwZWQgPSB0cnVlCgpUZXh0QnV0dG9uMS5OYW1lID0gIlRleHRCdXR0b24xIgpUZXh0QnV0dG9uMS5QYXJlbnQgPSBJbWFnZUxhYmVsClRleHRCdXR0b24xLkJhY2tncm91bmRDb2xvcjMgPSBDb2xvcjMuZnJvbVJHQigyNTUsIDcxLCA3MSkKVGV4dEJ1dHRvbjEuQm9yZGVyQ29sb3IzID0gQ29sb3IzLmZyb21SR0IoMCwgMCwgMCkKVGV4dEJ1dHRvbjEuQm9yZGVyU2l6ZVBpeGVsID0gMApUZXh0QnV0dG9uMS5Qb3NpdGlvbiA9IFVEaW0yLm5ldygwLjY4NDI5MDA1MSwgMCwgMC42MDMxMzMxNDIsIDApClRleHRCdXR0b24xLlNpemUgPSBVRGltMi5uZXcoMCwgMjAwLCAwLCAxMzApClRleHRCdXR0b24xLkZvbnQgPSBFbnVtLkZvbnQuU291cmNlU2FucwpUZXh0QnV0dG9uMS5UZXh0ID0gIlRlYW1zIgpUZXh0QnV0dG9uMS5UZXh0Q29sb3IzID0gQ29sb3IzLmZyb21SR0IoMjU1LCAyNTUsIDI1NSkKVGV4dEJ1dHRvbjEuVGV4dFNjYWxlZCA9IHRydWUKVGV4dEJ1dHRvbjEuVGV4dFNpemUgPSAxNC4wMDAKVGV4dEJ1dHRvbjEuVGV4dFdyYXBwZWQgPSB0cnVlCgotLSBTY3JpcHRzOgoKbG9jYWwgZnVuY3Rpb24gS1BIS0ZfZmFrZV9zY3JpcHQoKSAtLSBUZXh0QnV0dG9uLlNjcmlwdCAKCWxvY2FsIHNjcmlwdCA9IEluc3RhbmNlLm5ldygnU2NyaXB0JywgVGV4dEJ1dHRvbikKCglmdW5jdGlvbiBjbGljaygpCgkJZnVuY3Rpb24gZXhQcm8ocm9vdCkKCQkJZm9yIF8sIHYgaW4gcGFpcnMocm9vdDpHZXRDaGlsZHJlbigpKSBkbwoJCQkJaWYgdjpJc0EoIkRlY2FsIikgYW5kIHYuVGV4dHVyZSB+PSAiaHR0cDovL3d3dy5yb2Jsb3guY29tL2Fzc2V0Lz9pZD03MjgzMzIxODM2MTk1NSIgdGhlbgoJCQkJCXYuUGFyZW50ID0gbmlsCgkJCQllbHNlaWYgdjpJc0EoIkJhc2VQYXJ0IikgdGhlbgoJCQkJCXYuTWF0ZXJpYWwgPSAiUGxhc3RpYyIKCQkJCQl2LlRyYW5zcGFyZW5jeSA9IDAKCQkJCQlsb2NhbCBPbmUgPSBJbnN0YW5jZS5uZXcoIkRlY2FsIiwgdikKCQkJCQlsb2NhbCBUd28gPSBJbnN0YW5jZS5uZXcoIkRlY2FsIiwgdikKCQkJCQlsb2NhbCBUaHJlZSA9IEluc3RhbmNlLm5ldygiRGVjYWwiLCB2KQoJCQkJCWxvY2FsIEZvdXIgPSBJbnN0YW5jZS5uZXcoIkRlY2FsIiwgdikKCQkJCQlsb2NhbCBGaXZlID0gSW5zdGFuY2UubmV3KCJEZWNhbCIsIHYpCgkJCQkJbG9jYWwgU2l4ID0gSW5zdGFuY2UubmV3KCJEZWNhbCIsIHYpCgkJCQkJT25lLlRleHR1cmUgPSAiaHR0cDovL3d3dy5yb2Jsb3guY29tL2Fzc2V0Lz9pZD03MjgzMzIxODM2MTk1NSIKCQkJCQlUd28uVGV4dHVyZSA9ICJodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTcyODMzMjE4MzYxOTU1IgoJCQkJCVRocmVlLlRleHR1cmUgPSAiaHR0cDovL3d3dy5yb2Jsb3guY29tL2Fzc2V0Lz9pZD03MjgzMzIxODM2MTk1NSIKCQkJCQlGb3VyLlRleHR1cmUgPSAiaHR0cDovL3d3dy5yb2Jsb3guY29tL2Fzc2V0Lz9pZD03MjgzMzIxODM2MTk1NSIKCQkJCQlGaXZlLlRleHR1cmUgPSAiaHR0cDovL3d3dy5yb2Jsb3guY29tL2Fzc2V0Lz9pZD03MjgzMzIxODM2MTk1NSIKCQkJCQlTaXguVGV4dHVyZSA9ICJodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTcyODMzMjE4MzYxOTU1IgoJCQkJCU9uZS5GYWNlID0gIkZyb250IgoJCQkJCVR3by5GYWNlID0gIkJhY2siCgkJCQkJVGhyZWUuRmFjZSA9ICJSaWdodCIKCQkJCQlGb3VyLkZhY2UgPSAiTGVmdCIKCQkJCQlGaXZlLkZhY2UgPSAiVG9wIgoJCQkJCVNpeC5GYWNlID0gIkJvdHRvbSIKCQkJCWVuZAoJCQkJZXhQcm8odikKCQkJZW5kCgkJZW5kCgkJZnVuY3Rpb24gYXNkZihyb290KQoJCQlmb3IgXywgdiBpbiBwYWlycyhyb290OkdldENoaWxkcmVuKCkpIGRvCgkJCQlhc2RmKHYpCgkJCWVuZAoJCWVuZAoJCWV4UHJvKGdhbWUuV29ya3NwYWNlKQoJCWFzZGYoZ2FtZS5Xb3Jrc3BhY2UpCgllbmQKCQoJc2NyaXB0LlBhcmVudC5Nb3VzZUJ1dHRvbjFEb3duOmNvbm5lY3QoY2xpY2spCmVuZApjb3JvdXRpbmUud3JhcChLUEhLRl9mYWtlX3NjcmlwdCkoKQpsb2NhbCBmdW5jdGlvbiBFQ0FGX2Zha2Vfc2NyaXB0KCkgLS0gVGV4dEJ1dHRvbl8yLlNjcmlwdCAKCWxvY2FsIHNjcmlwdCA9IEluc3RhbmNlLm5ldygnU2NyaXB0JywgVGV4dEJ1dHRvbl8yKQoKCS0tNzI4MzMyMTgzNjE5NTUKCWZ1bmN0aW9uIGNsaWNrKCkKCQlzID0gSW5zdGFuY2UubmV3KCJTa3kiKQoJCXMuTmFtZSA9ICJTa3kiCgkJcy5QYXJlbnQgPSBnYW1lLkxpZ2h0aW5nCgkJcy5Ta3lib3hCayA9ICJodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTcyODMzMjE4MzYxOTU1IgoJCXMuU2t5Ym94RG4gPSAiaHR0cDovL3d3dy5yb2Jsb3guY29tL2Fzc2V0Lz9pZD03MjgzMzIxODM2MTk1NSIKCQlzLlNreWJveEZ0ID0gImh0dHA6Ly93d3cucm9ibG94LmNvbS9hc3NldC8/aWQ9NzI4MzMyMTgzNjE5NTUiCgkJcy5Ta3lib3hMZiA9ICJodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTcyODMzMjE4MzYxOTU1IgoJCXMuU2t5Ym94UnQgPSAiaHR0cDovL3d3dy5yb2Jsb3guY29tL2Fzc2V0Lz9pZD03MjgzMzIxODM2MTk1NSIKCQlzLlNreWJveFVwID0gImh0dHA6Ly93d3cucm9ibG94LmNvbS9hc3NldC8/aWQ9NzI4MzMyMTgzNjE5NTUiCgkJZ2FtZS5MaWdodGluZy5UaW1lT2ZEYXkgPSAxMgoJZW5kCgkKCXNjcmlwdC5QYXJlbnQuTW91c2VCdXR0b24xRG93bjpjb25uZWN0KGNsaWNrKQplbmQKY29yb3V0aW5lLndyYXAoRUNBRl9mYWtlX3NjcmlwdCkoKQpsb2NhbCBmdW5jdGlvbiBIT0tHR09VX2Zha2Vfc2NyaXB0KCkgLS0gVGV4dEJ1dHRvbl8zLlNjcmlwdCAKCWxvY2FsIHNjcmlwdCA9IEluc3RhbmNlLm5ldygnU2NyaXB0JywgVGV4dEJ1dHRvbl8zKQoKCS0tZAoJc2NyaXB0LlBhcmVudC5Nb3VzZUJ1dHRvbjFDbGljazpDb25uZWN0KGZ1bmN0aW9uKCkKCQlmb3IgaSwgdiBpbiBwYWlycyhnYW1lLldvcmtzcGFjZTpHZXREZXNjZW5kYW50cygpKSBkbwoJCQllbWl0ID0gSW5zdGFuY2UubmV3KCJQYXJ0aWNsZUVtaXR0ZXIiKQoJCQllbWl0LlBhcmVudCA9IHYKCQkJZW1pdC5UZXh0dXJlID0gInJieGFzc2V0aWQ6Ly83MjgzMzIxODM2MTk1NSIKCQkJZW1pdC5WZWxvY2l0eVNwcmVhZCA9IDEKCQllbmQKCWVuZCkKZW5kCmNvcm91dGluZS53cmFwKEhPS0dHT1VfZmFrZV9zY3JpcHQpKCkKbG9jYWwgZnVuY3Rpb24gRVhTUV9mYWtlX3NjcmlwdCgpIC0tIFRleHRCdXR0b25fNC5TY3JpcHQgCglsb2NhbCBzY3JpcHQgPSBJbnN0YW5jZS5uZXcoJ1NjcmlwdCcsIFRleHRCdXR0b25fNCkKCglzY3JpcHQuUGFyZW50Lk1vdXNlQnV0dG9uMUNsaWNrOkNvbm5lY3QoZnVuY3Rpb24oKQoJCWZvciBpLHYgaW4gcGFpcnMoZ2FtZS5QbGF5ZXJzOkdldFBsYXllcnMoKSkgZG8KCQkJaWYgdi5OYW1lIH49IG1lIGFuZCBub3Qgdi5QbGF5ZXJHdWk6RmluZEZpcnN0Q2hpbGQoIlNjcmVhbWVyIikgYW5kIHY6RmluZEZpcnN0Q2hpbGQoIlBsYXllckd1aSIpIHRoZW4KCQkJCXNwYXduKGZ1bmN0aW9uKCkKCQkJCQlsb2NhbCBuZXdndWkgPSBJbnN0YW5jZS5uZXcoIlNjcmVlbkd1aSIsdi5QbGF5ZXJHdWkpCgkJCQkJbmV3Z3VpLk5hbWUgPSAiU2NyZWFtZXIiCgkJCQkJbG9jYWwgbmV3aW1hZ2UgPSBJbnN0YW5jZS5uZXcoIkltYWdlTGFiZWwiLG5ld2d1aSkKCQkJCQluZXdpbWFnZS5JbWFnZSA9ICJodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTcyODMzMjE4MzYxOTU1IgoJCQkJCW5ld2ltYWdlLlNpemUgPSBVRGltMi5uZXcoMSwxLDEsMSkKCQkJCQlsb2NhbCBzID0gSW5zdGFuY2UubmV3KCJTb3VuZCIsbmV3Z3VpKQoJCQkJCXMuU291bmRJZCA9ICJyYnhhc3NldGlkOi8vMTg0MDg4NjgzMSIKCQkJCQlzLlZvbHVtZSA9IDk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTkKCQkJCQlzLkxvb3BlZCA9IHRydWUKCQkJCQlzOlBsYXkoKQoJCQkJCXByaW50KCJTY3JlYW1lZCAiLi52Lk5hbWUpCgkJCQkJd2hpbGUgd2FpdCg5KSBkbwoJCgkJCQkJCW5ld2ltYWdlLlBhcmVudDpEZXN0cm95KCkKCQoJCQkJCWVuZAoJCQkJZW5kKQoJCQllbmQKCQllbmQKCWVuZCkKCQplbmQKY29yb3V0aW5lLndyYXAoRVhTUV9mYWtlX3NjcmlwdCkoKQpsb2NhbCBmdW5jdGlvbiBPR1FDWl9mYWtlX3NjcmlwdCgpIC0tIFRleHRCdXR0b25fNS5TY3JpcHQgCglsb2NhbCBzY3JpcHQgPSBJbnN0YW5jZS5uZXcoJ1NjcmlwdCcsIFRleHRCdXR0b25fNSkKCglzY3JpcHQuUGFyZW50Lk1vdXNlQnV0dG9uMUNsaWNrOkNvbm5lY3QoZnVuY3Rpb24oKQoJCWZvciBpLHYgaW4gcGFpcnMoZ2FtZS5QbGF5ZXJzOkdldFBsYXllcnMoKSkgZG8KCQkJaWYgdi5OYW1lIH49IG1lIGFuZCBub3Qgdi5QbGF5ZXJHdWk6RmluZEZpcnN0Q2hpbGQoIlNjcmVhbWVyIikgYW5kIHY6RmluZEZpcnN0Q2hpbGQoIlBsYXllckd1aSIpIHRoZW4KCQkJCXNwYXduKGZ1bmN0aW9uKCkKCQkJCQlsb2NhbCBuZXdndWkgPSBJbnN0YW5jZS5uZXcoIlNjcmVlbkd1aSIsdi5QbGF5ZXJHdWkpCgkJCQkJbmV3Z3VpLk5hbWUgPSAiU2NyZWFtZXIiCgkJCQkJbG9jYWwgbmV3aW1hZ2UgPSBJbnN0YW5jZS5uZXcoIkltYWdlTGFiZWwiLG5ld2d1aSkKCQkJCQluZXdpbWFnZS5JbWFnZSA9ICJodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTExNDcwNDA4NDkyNjEzMiIKCQkJCQluZXdpbWFnZS5TaXplID0gVURpbTIubmV3KDEsMSwxLDEpCgkJCQkJbG9jYWwgcyA9IEluc3RhbmNlLm5ldygiU291bmQiLG5ld2d1aSkKCQkJCQlzLlNvdW5kSWQgPSAicmJ4YXNzZXRpZDovLzE4NDA4ODY4MzEiCgkJCQkJcy5Wb2x1bWUgPSA5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5CgkJCQkJcy5Mb29wZWQgPSB0cnVlCgkJCQkJczpQbGF5KCkKCQkJCQlwcmludCgiU2NyZWFtZWQgIi4udi5OYW1lKQoJCQkJCXdoaWxlIHdhaXQoOSkgZG8KCQoJCQkJCQluZXdpbWFnZS5QYXJlbnQ6RGVzdHJveSgpCgkKCQkJCQllbmQKCQkJCWVuZCkKCQkJZW5kCgkJZW5kCgllbmQpCgkKZW5kCmNvcm91dGluZS53cmFwKE9HUUNaX2Zha2Vfc2NyaXB0KSgpCmxvY2FsIGZ1bmN0aW9uIEVTUVZHX2Zha2Vfc2NyaXB0KCkgLS0gVGV4dEJ1dHRvbl82LlNjcmlwdCAKCWxvY2FsIHNjcmlwdCA9IEluc3RhbmNlLm5ldygnU2NyaXB0JywgVGV4dEJ1dHRvbl82KQoKCWZ1bmN0aW9uIGNsaWNrKCkKCQlmb3IgaSx2IGluIHBhaXJzKGdhbWUuUGxheWVyczpHZXRDaGlsZHJlbigpKSBkbwoJCQlpZiB2LkNoYXJhY3RlcjpGaW5kRmlyc3RDaGlsZCgiSGVhZCIpIHRoZW4KCQkJCWd1aTE9SW5zdGFuY2UubmV3KCJCaWxsYm9hcmRHdWkiKQoJCQkJZ3VpMS5QYXJlbnQgPSB2LkNoYXJhY3Rlci5IZWFkCgkJCQlndWkxLkFkb3JuZWUgPSB2LkNoYXJhY3Rlci5IZWFkCgkJCQlndWkxLlNpemU9VURpbTIubmV3KDIuNSwwLDIuNSwwKQoJCQkJZ3VpMS5TdHVkc09mZnNldD1WZWN0b3IzLm5ldygwLDAuMiwwKQoJCQkJZ3VpMS5BbHdheXNPblRvcCA9IHRydWUKCQkJCXRleHQxPUluc3RhbmNlLm5ldygiSW1hZ2VMYWJlbCIpCgkJCQl0ZXh0MS5JbWFnZSA9ICJodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTcyODMzMjE4MzYxOTU1IgoJCQkJdGV4dDEuU2l6ZT1VRGltMi5uZXcoMSwwLDEsMCkKCQkJCXRleHQxLlBvc2l0aW9uPVVEaW0yLm5ldygwLDAsMCwwKQoJCQkJdGV4dDEuQmFja2dyb3VuZFRyYW5zcGFyZW5jeSA9IDEKCQkJCXRleHQxLlBhcmVudD1ndWkxCgkJCQl2LkNoYXJhY3Rlci5IZWFkLlRyYW5zcGFyZW5jeSA9IDEKCQkJZW5kCgkJZW5kCgkJZW5kCgkKCQlzY3JpcHQuUGFyZW50Lk1vdXNlQnV0dG9uMURvd246Y29ubmVjdChjbGljaykKZW5kCmNvcm91dGluZS53cmFwKEVTUVZHX2Zha2Vfc2NyaXB0KSgpCmxvY2FsIGZ1bmN0aW9uIE1DVk9SQV9mYWtlX3NjcmlwdCgpIC0tIFRleHRCdXR0b25fNi5Mb2NhbFNjcmlwdCAKCWxvY2FsIHNjcmlwdCA9IEluc3RhbmNlLm5ldygnTG9jYWxTY3JpcHQnLCBUZXh0QnV0dG9uXzYpCgoJc2NyaXB0LlBhcmVudC5Nb3VzZUJ1dHRvbjFDbGljazpDb25uZWN0KGZ1bmN0aW9uKCkKCQlzY3JpcHQuUGFyZW50LlJlbW90ZUV2ZW50OkZpcmVTZXJ2ZXIoKQoJZW5kKQplbmQKY29yb3V0aW5lLndyYXAoTUNWT1JBX2Zha2Vfc2NyaXB0KSgpCmxvY2FsIGZ1bmN0aW9uIEdQSUpJTU9fZmFrZV9zY3JpcHQoKSAtLSBUZXh0QnV0dG9uXzcuU2NyaXB0IAoJbG9jYWwgc2NyaXB0ID0gSW5zdGFuY2UubmV3KCdTY3JpcHQnLCBUZXh0QnV0dG9uXzcpCgoJc2NyaXB0LlBhcmVudC5Nb3VzZUJ1dHRvbjFDbGljazpDb25uZWN0KGZ1bmN0aW9uKCkKCQlsb2NhbCBtID0gSW5zdGFuY2UubmV3KCJIaW50IiwgZ2FtZS53b3Jrc3BhY2UpCgkJbS5UZXh0ID0gIvCfpJFOSUdHRVJTIElUUyBHQU1FIEdPVCBSRUtUIEJZIFJPTUFOSUHwn6SRIgoJZW5kKQplbmQKY29yb3V0aW5lLndyYXAoR1BJSklNT19mYWtlX3NjcmlwdCkoKQpsb2NhbCBmdW5jdGlvbiBBUFBSUk5EX2Zha2Vfc2NyaXB0KCkgLS0gVGV4dEJ1dHRvbjEuU2NyaXB0IAoJbG9jYWwgc2NyaXB0ID0gSW5zdGFuY2UubmV3KCdTY3JpcHQnLCBUZXh0QnV0dG9uMSkKCglmdW5jdGlvbiBjbGljaygpCgkJd2hpbGUgdHJ1ZSBkbwoJCQlsb2NhbCB0ZWFtMSA9IEluc3RhbmNlLm5ldygiVGVhbSIsIGdhbWUuVGVhbXMpCgkJCXRlYW0xLk5hbWUgPSAiUk9NQU5JQSIKCQkJdGVhbTEuVGVhbUNvbG9yID0gQnJpY2tDb2xvci5yYW5kb20oKQoJCQlnYW1lOnNlcnZpY2UnRGVicmlzJzpBZGRJdGVtKHRlYW0xLDAuMykKCQkJd2FpdCgpCgkJZW5kCgllbmQKCQoJc2NyaXB0LlBhcmVudC5Nb3VzZUJ1dHRvbjFEb3duOmNvbm5lY3QoY2xpY2spCmVuZApjb3JvdXRpbmUud3JhcChBUFBSUk5EX2Zha2Vfc2NyaXB0KSgpCmxvY2FsIGZ1bmN0aW9uIE1UV05OX2Zha2Vfc2NyaXB0KCkgLS0gVGV4dEJ1dHRvbjEuTG9jYWxTY3JpcHQgCglsb2NhbCBzY3JpcHQgPSBJbnN0YW5jZS5uZXcoJ0xvY2FsU2NyaXB0JywgVGV4dEJ1dHRvbjEpCgoJc2NyaXB0LlBhcmVudC5Nb3VzZUJ1dHRvbjFDbGljazpDb25uZWN0KGZ1bmN0aW9uKCkKCQlzY3JpcHQuUGFyZW50LlJlbW90ZUV2ZW50OkZpcmVTZXJ2ZXIoKQoJZW5kKQplbmQKY29yb3V0aW5lLndyYXAoTVRXTk5fZmFrZV9zY3JpcHQpKA=='))()