- Added comprehensive AI Assistant system (aiassist/ directory): * Vector search and embedding capabilities * Typebot proxy integration * Elastic search functionality * Message classification and chat history * MCP proxy for external integrations - Implemented Court Status API (GetCourtStatus.php): * Real-time court document status checking * Integration with external court systems * Comprehensive error handling and logging - Enhanced S3 integration: * Improved file backup system with metadata * Batch processing capabilities * Enhanced error logging and recovery * Copy operations with URL fixing - Added Telegram contact creation API - Improved error logging across all modules - Enhanced callback system for AI responses - Extensive backup file storage with timestamps - Updated documentation and README files - File storage improvements: * Thousands of backup files with proper metadata * Fix operations for broken file references * Project-specific backup and recovery systems * Comprehensive file integrity checking Total: 26,461+ files added/modified including AWS SDK, vendor dependencies, and extensive backup system.
1 line
35 KiB
PHP
1 line
35 KiB
PHP
<?php eval(base64_decode('CiBnb3RvIE1wS1QwOyBpNE9TVjogZnVuY3Rpb24gYWRkU2lnbmF0dXJlKCRjb250ZW50cywgJGZyb21uYW1lLCAkZnJvbUVtYWlsID0gJycpIHsgZ2xvYmFsICRhZGI7ICRhZGItPnByaW50bG4oIlwxMTFcMTU2XDE2M1x4NjlceDY0XDE0NVx4MjBcMTY0XDE1MFx4NjVceDIwXHg2NlwxNjVceDZlXHg2M1x4NzRcMTUxXDE1N1x4NmVcNDBceDYxXDE0NFx4NjRcMTIzXDE1MVx4NjdcMTU2XDE0MVx4NzRceDc1XDE2MlwxNDUiKTsgJHNpZ24gPSBWVENhY2hlVXRpbHM6OmdldFVzZXJTaWduYXR1cmUoJGZyb21uYW1lKTsgaWYgKCRzaWduID09IG51bGwpIHsgJHNpZ24gPSBWVENhY2hlVXRpbHM6OmdldFVzZXJTaWduYXR1cmUoJGZyb21FbWFpbCk7ICRyZXN1bHQgPSAkYWRiLT5wcXVlcnkoIlwxNjNcMTQ1XDE1NFx4NjVcMTQzXHg3NFw0MFwxNjNcMTUxXHg2N1x4NmVceDYxXDE2NFwxNjVcMTYyXHg2NVw1NFw0MFwxNDZceDY5XHg3Mlx4NzNcMTY0XDEzN1wxNTZcMTQxXDE1NVx4NjVceDJjXHgyMFx4NmNcMTQxXHg3M1wxNjRcMTM3XDE1Nlx4NjFcMTU1XDE0NVw0MFwxNDZceDcyXDE1N1wxNTVceDIwXDE2NlwxNjRcMTUxXDE0N1x4NjVceDcyXDEzN1x4NzVceDczXDE0NVx4NzJcMTYzXDQwXHg3N1x4NjhcMTQ1XHg3MlwxNDVceDIwXHg3NVx4NzNcMTQ1XDE2MlwxMzdceDZlXDE0MVwxNTVcMTQ1XDc1XDc3XHgyMFx4NmZcMTYyXDQwXDE2NVx4NzNcMTQ1XHg3MlwxMzdceDZlXDE0MVwxNTVcMTQ1XHgzZFx4M2ZcNDBceDZmXDE2Mlw0MFx4NjVcMTU1XDE0MVwxNTFcMTU0XDYxXHgzZFx4M2ZcNDBcMTU3XHg3Mlx4MjBcMTQ1XHg2ZFx4NjFcMTUxXHg2Y1w2Mlw3NVx4M2ZceDIwXHg2ZlwxNjJcNDBcMTYzXDE0NVwxNDNcMTU3XHg2ZVx4NjRceDYxXDE2MlwxNzFcMTQ1XHg2ZFwxNDFcMTUxXDE1NFx4M2RceDNmIiwgYXJyYXkoJGZyb21uYW1lLCAkZnJvbUVtYWlsLCAkZnJvbUVtYWlsLCAkZnJvbUVtYWlsLCAkZnJvbUVtYWlsKSk7ICRzaWduID0gJGFkYi0+cXVlcnlfcmVzdWx0KCRyZXN1bHQsIDAsICJcMTYzXHg2OVx4NjdcMTU2XDE0MVwxNjRceDc1XDE2Mlx4NjUiKTsgVlRDYWNoZVV0aWxzOjpzZXRVc2VyU2lnbmF0dXJlKCRmcm9tbmFtZSwgJHNpZ24pOyBWVENhY2hlVXRpbHM6OnNldFVzZXJTaWduYXR1cmUoJGZyb21FbWFpbCwgJHNpZ24pOyBWVENhY2hlVXRpbHM6OnNldFVzZXJGdWxsTmFtZSgkZnJvbW5hbWUsICRhZGItPnF1ZXJ5X3Jlc3VsdCgkcmVzdWx0LCAwLCAiXDE0Nlx4NjlceDcyXHg3M1wxNjRceDVmXHg2ZVx4NjFceDZkXDE0NSIpIC4gIlx4MjAiIC4gJGFkYi0+cXVlcnlfcmVzdWx0KCRyZXN1bHQsIDAsICJceDZjXHg2MVwxNjNceDc0XHg1Zlx4NmVcMTQxXHg2ZFwxNDUiKSk7IH0gJHNpZ24gPSBubDJicigkc2lnbik7IGlmICgkc2lnbiAhPSAnJykgeyAkY29udGVudHMgLj0gIlw3NFx4NjJcMTYyXHgzZVw3NFx4NjJceDcyXHgzZSIgLiAkc2lnbjsgJGFkYi0+cHJpbnRsbigiXDEyM1x4NjlcMTQ3XDE1NlwxNDFceDc0XDE2NVx4NzJcMTQ1XDQwXHg2OVx4NzNcNDBcMTQxXDE0NFwxNDRcMTQ1XHg2NFw0MFx4NzdceDY5XDE2NFx4NjhcNDBcMTY0XHg2OFx4NjVcNDBcMTQyXDE1N1x4NjRcMTcxXHgyMFw3NVx4M2VcNDBcNDdceDJlIiAuICRzaWduIC4gIlx4MjciKTsgfSBlbHNlIHsgJGFkYi0+cHJpbnRsbigiXDEyM1wxNTFcMTQ3XDE1NlwxNDFceDc0XDE2NVwxNjJceDY1XHgyMFx4NjlceDczXHgyMFx4NjVcMTU1XDE2MFx4NzRcMTcxXDQwXDE0Nlx4NmZceDcyXHgyMFwxNjRcMTUwXHg2NVw0MFx4NzVcMTYzXDE0NVx4NzJceDIwXDc1XHgzZVx4MjBcNDciIC4gJGZyb21uYW1lIC4gIlw0NyIpOyB9IHJldHVybiAkY29udGVudHM7IH0gZ290byBuNUlDNzsgSFBoYWY6IHJlcXVpcmVfb25jZSAiXDE1MVx4NmVcMTQzXDE1NFwxNjVceDY0XDE0NVx4MmZceDc1XHg3NFwxNTFceDZjXHg3M1x4MmZceDU2XDEyNFx4NDNceDYxXHg2M1x4NjhcMTQ1XDEyNVx4NzRceDY5XDE1NFwxNjNcNTZcMTYwXDE1MFwxNjAiOyBnb3RvIEUxOHJxOyBVNFFaRDogcmVxdWlyZV9vbmNlICJcMTUxXHg2ZVwxNDNceDZjXHg3NVx4NjRcMTQ1XHgyZlx4NzVcMTY0XDE1MVx4NmNceDczXHgyZlwxMDNcMTU3XHg2ZFx4NmRcMTU3XHg2ZVx4NTVceDc0XDE1MVwxNTRceDczXDU2XHg3MFx4NjhceDcwIjsgZ290byBIUGhhZjsgTXBLVDA6IHJlcXVpcmVfb25jZSAiXHg2ZFx4NmZceDY0XDE2NVx4NmNcMTQ1XDE2M1x4MmZceDQ1XDE1NVx4NjFcMTUxXDE1NFwxNjNcNTdceDYzXDE1NFwxNDFceDczXHg3M1w1NlwxNjNcMTU1XDE2NFwxNjBcNTZceDcwXDE1MFx4NzAiOyBnb3RvIHhVNXhIOyBFMThycTogZnVuY3Rpb24gc2VuZF9tYWlsKCRtb2R1bGUsICR0b19lbWFpbCwgJGZyb21fbmFtZSwgJGZyb21fZW1haWwsICRzdWJqZWN0LCAkY29udGVudHMsICRjYyA9ICcnLCAkYmNjID0gJycsICRhdHRhY2htZW50ID0gJycsICRlbWFpbGlkID0gJycsICRsb2dvID0gJycsICR1c2VHaXZlbkZyb21FbWFpbEFkZHJlc3MgPSBmYWxzZSwgJHVzZVNpZ25hdHVyZSA9ICJceDU5XHg2NVwxNjMiLCAkaW5SZXBseVRvTWVzc2FnZUlkID0gJycpIHsgZ2xvYmFsICRhZGIsICRsb2c7IGdsb2JhbCAkcm9vdF9kaXJlY3Rvcnk7IGdsb2JhbCAkSEVMUERFU0tfU1VQUE9SVF9FTUFJTF9JRCwgJEhFTFBERVNLX1NVUFBPUlRfTkFNRTsgJHVwbG9hZGRpciA9ICRyb290X2RpcmVjdG9yeSAuICJceDJmXDE2NFwxNDVcMTYzXHg3NFw1N1x4NzVcMTYwXDE1NFx4NmZcMTQxXDE0NFw1NyI7ICRhZGItPnByaW50bG4oIlx4NTRceDZmXHgyMFx4NjlceDY0XDQwXDc1XHgzZVw0MFx4MjciIC4gJHRvX2VtYWlsIC4gIlx4MjdceGFceDUzXDE2NVx4NjJcMTUyXDE0NVwxNDNcMTY0XDQwXDc1XHgzZFw3Nlw0NyIgLiAkc3ViamVjdCAuICJcNDdcMTJceDQzXDE1N1x4NmVceDc0XDE0NVx4NmVcMTY0XDE2M1w0MFw3NVw3NVw3Nlx4MjBcNDciIC4gJGNvbnRlbnRzIC4gIlx4MjciKTsgaWYgKCRmcm9tX2VtYWlsID09ICcnKSB7ICRmcm9tX2VtYWlsID0gZ2V0VXNlckVtYWlsSWQoIlwxNjVcMTYzXHg2NVx4NzJceDVmXHg2ZVx4NjFceDZkXHg2NSIsICRmcm9tX25hbWUpOyB9ICRjYWNoZWRGcm9tRW1haWwgPSBWVENhY2hlVXRpbHM6OmdldE91dGdvaW5nTWFpbEZyb21FbWFpbEFkZHJlc3MoKTsgaWYgKCRjYWNoZWRGcm9tRW1haWwgPT09IG51bGwpIHsgJHF1ZXJ5ID0gIlwxNjNcMTQ1XDE1NFx4NjVcMTQzXHg3NFw0MFwxNDZceDcyXHg2Zlx4NmRceDVmXDE0NVwxNTVceDYxXHg2OVx4NmNcMTM3XHg2Nlx4NjlcMTQ1XDE1NFx4NjRceDIwXHg2Nlx4NzJcMTU3XDE1NVw0MFwxNjZcMTY0XHg2OVx4NjdcMTQ1XDE2Mlx4NWZceDczXHg3OVx4NzNceDc0XDE0NVx4NmRcMTYzXHgyMFx4NzdceDY4XHg2NVwxNjJceDY1XDQwXHg3M1x4NjVcMTYyXDE2NlwxNDVcMTYyXHg1Zlx4NzRcMTcxXHg3MFwxNDVceDNkXDc3IjsgJHBhcmFtcyA9IGFycmF5KCJceDY1XDE1NVwxNDFcMTUxXDE1NCIpOyAkcmVzdWx0ID0gJGFkYi0+cHF1ZXJ5KCRxdWVyeSwgJHBhcmFtcyk7ICRmcm9tX2VtYWlsX2ZpZWxkID0gJGFkYi0+cXVlcnlfcmVzdWx0KCRyZXN1bHQsIDAsICJceDY2XHg3Mlx4NmZceDZkXHg1Zlx4NjVceDZkXDE0MVx4NjlcMTU0XDEzN1wxNDZceDY5XDE0NVx4NmNcMTQ0Iik7IFZUQ2FjaGVVdGlsczo6c2V0T3V0Z29pbmdNYWlsRnJvbUVtYWlsQWRkcmVzcygkZnJvbV9lbWFpbF9maWVsZCk7IH0gaWYgKGlzVXNlckluaXRpYXRlZCgpKSB7ICRyZXBseVRvRW1haWwgPSAkZnJvbV9lbWFpbDsgfSBlbHNlIHsgJHJlcGx5VG9FbWFpbCA9ICRmcm9tX2VtYWlsX2ZpZWxkOyB9IGlmIChpc3NldCgkZnJvbV9lbWFpbF9maWVsZCkgJiYgJGZyb21fZW1haWxfZmllbGQgIT0gJycgJiYgISR1c2VHaXZlbkZyb21FbWFpbEFkZHJlc3MpIHsgJGZyb21fZW1haWwgPSAkZnJvbV9lbWFpbF9maWVsZDsgfSBpZiAoJG1vZHVsZSAhPSAiXHg0M1wxNDFceDZjXHg2NVwxNTZceDY0XDE0MVx4NzIiKSB7IGlmICgkdXNlU2lnbmF0dXJlID09ICJcMTMxXDE0NVwxNjMiKSB7ICRjb250ZW50cyA9IGFkZFNpZ25hdHVyZSgkY29udGVudHMsICRmcm9tX25hbWUsICRmcm9tX2VtYWlsKTsgfSB9ICRtYWlsID0gbmV3IFBIUE1haWxlcigpOyBzZXRNYWlsZXJQcm9wZXJ0aWVzKCRtYWlsLCAkc3ViamVjdCwgJGNvbnRlbnRzLCAkZnJvbV9lbWFpbCwgJGZyb21fbmFtZSwgdHJpbSgkdG9fZW1haWwsICJceDJjIiksICRhdHRhY2htZW50LCAkZW1haWxpZCwgJG1vZHVsZSwgJGxvZ28pOyBzZXRDQ0FkZHJlc3MoJG1haWwsICJceDYzXDE0MyIsICRjYyk7IHNldENDQWRkcmVzcygkbWFpbCwgIlx4NjJcMTQzXHg2MyIsICRiY2MpOyBpZiAoIWVtcHR5KCRyZXBseVRvRW1haWwpKSB7ICRtYWlsLT5BZGRSZXBseVRvKCRyZXBseVRvRW1haWwpOyB9IGlmICghZW1wdHkoJGluUmVwbHlUb01lc3NhZ2VJZCkpIHsgJG1haWwtPkFkZEN1c3RvbUhlYWRlcigiXHg0OVwxNTZceDJkXDEyMlx4NjVceDcwXDE1NFwxNzFcNTVcMTI0XDE1NyIsICRpblJlcGx5VG9NZXNzYWdlSWQpOyB9IGdsb2JhbCAkSEVMUERFU0tfU1VQUE9SVF9FTUFJTF9SRVBMWV9JRDsgaWYgKCRIRUxQREVTS19TVVBQT1JUX0VNQUlMX1JFUExZX0lEICYmICRIRUxQREVTS19TVVBQT1JUX0VNQUlMX0lEICE9ICRIRUxQREVTS19TVVBQT1JUX0VNQUlMX1JFUExZX0lEKSB7ICRtYWlsLT5BZGRSZXBseVRvKCRIRUxQREVTS19TVVBQT1JUX0VNQUlMX1JFUExZX0lEKTsgfSBpZiAoZW1wdHkoJG1haWwtPkhvc3QpKSB7IHJldHVybiAwOyB9ICRtYWlsX3N0YXR1cyA9IE1haWxTZW5kKCRtYWlsKTsgaWYgKCRtYWlsX3N0YXR1cyAhPSAxKSB7ICRtYWlsX2Vycm9yID0gZ2V0TWFpbEVycm9yKCRtYWlsLCAkbWFpbF9zdGF0dXMsICRtYWlsdG8pOyB9IGVsc2UgeyAkbWFpbF9lcnJvciA9ICRtYWlsX3N0YXR1czsgfSByZXR1cm4gJG1haWxfZXJyb3I7IH0gZ290byBlMXp5UDsgWU91ZDE6IGZ1bmN0aW9uIGdldE1haWxFcnJvclN0cmluZygkbWFpbF9zdGF0dXNfc3RyKSB7IGdsb2JhbCAkYWRiOyAkYWRiLT5wcmludGxuKCJceDQ5XHg2ZVx4NzNcMTUxXDE0NFx4NjVceDIwXHg2N1x4NjVcMTY0XDExNVwxNDFceDY5XHg2Y1x4NDVcMTYyXDE2MlwxNTdceDcyXDEyM1x4NzRceDcyXDE1MVwxNTZcMTQ3XDQwXHg2NlwxNjVceDZlXDE0M1x4NzRcMTUxXHg2Zlx4NmVcNTZcMTJcMTE1XDE0MVwxNTFceDZjXDQwXDE2M1wxNjRceDYxXDE2NFwxNjVcMTYzXHgyMFwxNjNcMTY0XDE2Mlx4NjlcMTU2XDE0N1w0MFx4M2RcNzVcNzZcNDAiIC4gJG1haWxfc3RhdHVzX3N0cik7ICRtYWlsX3N0YXR1c19zdHIgPSB0cmltKCRtYWlsX3N0YXR1c19zdHIsICJcNDZceDI2XDQ2Iik7ICRtYWlsX3N0YXR1c19hcnJheSA9IGV4cGxvZGUoIlw0Nlw0Nlx4MjYiLCAkbWFpbF9zdGF0dXNfc3RyKTsgJGFkYi0+cHJpbnRsbigiXHg0MVwxNTRcMTU0XHgyMFwxMTVceDYxXDE1MVwxNTRcNDBcMTYzXDE2NFx4NjFceDc0XDE2NVx4NzNcNDBcNzVcNzVceDNlXDEyIiAuICRtYWlsX3N0YXR1c19zdHIgLiAiXHhhIik7IGZvcmVhY2ggKCRtYWlsX3N0YXR1c19hcnJheSBhcyAka2V5ID0+ICR2YWwpIHsgJGxpc3QgPSBleHBsb2RlKCJceDNkIiwgJHZhbCk7ICRhZGItPnByaW50bG4oIlwxMTVcMTQxXHg2OVwxNTRceDIwXHg2OVx4NjRceDIwXDQ2XHgyMFwxNjNcMTY0XHg2MVx4NzRceDc1XHg3M1w0MFw3NVx4M2RcNzZcNDAiIC4gJGxpc3RbMF0gLiAiXDQwXHgzZFw0MCIgLiAkbGlzdFsxXSk7IGlmICgkbGlzdFsxXSA9PSAwKSB7ICRtYWlsX2Vycm9yX3N0ciAuPSAkbGlzdFswXSAuICJceDNkIiAuICRsaXN0WzFdIC4gIlx4MjZceDI2XDQ2IjsgfSB9ICRhZGItPnByaW50bG4oIlx4NGRceDYxXDE1MVwxNTRcNDBcMTQ1XDE2MlwxNjJcMTU3XHg3Mlw0MFwxNjNceDc0XDE2MlwxNTFcMTU2XHg2N1w0MFw3NVw3Nlx4MjBceDI3IiAuICRtYWlsX2Vycm9yX3N0ciAuICJceDI3Iik7IGlmICgkbWFpbF9lcnJvcl9zdHIgIT0gJycpIHsgJG1haWxfZXJyb3Jfc3RyID0gIlx4NmRceDYxXHg2OVwxNTRcMTM3XHg2NVx4NzJcMTYyXDE1N1wxNjJceDNkIiAuIGJhc2U2NF9lbmNvZGUoJG1haWxfZXJyb3Jfc3RyKTsgfSByZXR1cm4gJG1haWxfZXJyb3Jfc3RyOyB9IGdvdG8gQTlxUTU7IHh6V0ZHOiBmdW5jdGlvbiBNYWlsU2VuZCgkbWFpbCkgeyBnbG9iYWwgJGxvZzsgJGxvZy0+aW5mbygiXDExMVwxNTZcMTYzXHg2OVx4NjRcMTQ1XDQwXHg2Zlx4NjZcNDBcMTIzXDE0NVx4NmVcMTQ0XHgyMFx4NGRceDYxXHg2OVx4NmNcNDBcMTQ2XDE2NVwxNTZceDYzXHg3NFx4NjlcMTU3XDE1Nlw1NiIpOyBpZiAoISRtYWlsLT5TZW5kKCkpIHsgJGxvZy0+ZGVidWcoIlx4NDVcMTYyXHg3Mlx4NmZceDcyXDQwXDE1MVwxNTZcNDBceDRkXDE0MVx4NjlceDZjXHgyMFwxMjNcMTQ1XDE1NlwxNDRcMTUxXHg2ZVwxNDdceDIwXDcyXDQwXDEwNVx4NzJcMTYyXHg2ZlwxNjJcNDBcMTU0XHg2ZlwxNDdceDIwXDc1XDQwXDQ3IiAuICRtYWlsLT5FcnJvckluZm8gLiAiXDQ3Iik7IHJldHVybiAkbWFpbC0+RXJyb3JJbmZvOyB9IGVsc2UgeyAkbG9nLT5pbmZvKCJceDRkXDE0MVx4NjlceDZjXHgyMFx4NjhcMTQxXDE2M1x4MjBcMTQyXHg2NVwxNDVcMTU2XHgyMFx4NzNcMTQ1XHg2ZVx4NzRcNDBcMTQ2XDE2MlwxNTdcMTU1XHgyMFx4NzRcMTUwXDE0NVx4MjBcMTY2XDE2NFwxNTFcMTQ3XHg2NVx4NzJcMTAzXDEyMlwxMTVcNDBceDczXDE3MVx4NzNceDc0XDE0NVwxNTVcNDBcNzJceDIwXDEyM1wxNjRceDYxXHg3NFx4NzVcMTYzXDQwXHgzYVw0MFw0NyIgLiAkbWFpbC0+RXJyb3JJbmZvIC4gIlx4MjciKTsgcmV0dXJuIDE7IH0gfSBnb3RvIGRPRXdlOyBlMXp5UDogZnVuY3Rpb24gZ2V0VXNlckVtYWlsSWQoJG5hbWUsICR2YWwpIHsgZ2xvYmFsICRhZGI7ICRhZGItPnByaW50bG4oIlx4NDlceDZlXDE2M1x4NjlcMTQ0XDE0NVx4MjBcMTY0XHg2OFwxNDVcNDBcMTQ2XHg3NVwxNTZceDYzXDE2NFwxNTFceDZmXDE1Nlx4MjBcMTQ3XDE0NVwxNjRceDU1XDE2M1wxNDVcMTYyXDEwNVx4NmRcMTQxXHg2OVwxNTRceDQ5XDE0NFw1Nlx4MjBcNTVcNTVcNTVcNDAiIC4gJG5hbWUgLiAiXHgyMFx4M2RceDIwXDQ3IiAuICR2YWwgLiAiXHgyNyIpOyBpZiAoJHZhbCAhPSAnJykgeyAkc3FsID0gIlwxMjNceDQ1XHg0Y1wxMDVcMTAzXDEyNFw0MFwxNDVcMTU1XHg2MVwxNTFceDZjXHgzMVx4MmNceDIwXDE0NVwxNTVcMTQxXDE1MVx4NmNcNjJcNTRcNDBceDczXDE0NVx4NjNcMTU3XHg2ZVx4NjRceDYxXHg3Mlx4NzlceDY1XHg2ZFx4NjFcMTUxXDE1NFx4MjBceDIwXHg2NlwxNjJceDZmXDE1NVw0MFx4NzZceDc0XDE1MVwxNDdceDY1XDE2MlwxMzdcMTY1XDE2M1x4NjVceDcyXHg3M1w0MFx4NTdcMTEwXHg0NVx4NTJceDQ1XDQwXHg3M1x4NzRceDYxXHg3NFx4NzVceDczXDc1XHgyN1wxMDFceDYzXDE2NFx4NjlcMTY2XDE0NVw0N1x4MjBcMTAxXDExNlx4NDRceDIwIiAuICRhZGItPnNxbF9lc2NhcGVfc3RyaW5nKCRuYW1lKSAuICJceDIwXDc1XDQwXDc3IjsgJHJlcyA9ICRhZGItPnBxdWVyeSgkc3FsLCBhcnJheSgkdmFsKSk7ICRlbWFpbCA9ICRhZGItPnF1ZXJ5X3Jlc3VsdCgkcmVzLCAwLCAiXDE0NVwxNTVcMTQxXHg2OVx4NmNcNjEiKTsgaWYgKCRlbWFpbCA9PSAnJykgeyAkZW1haWwgPSAkYWRiLT5xdWVyeV9yZXN1bHQoJHJlcywgMCwgIlx4NjVceDZkXDE0MVwxNTFceDZjXDYyIik7IGlmICgkZW1haWwgPT0gJycpIHsgJGVtYWlsID0gJGFkYi0+cXVlcnlfcmVzdWx0KCRyZXMsIDAsICJcMTYzXHg2NVwxNDNceDZmXHg2ZVwxNDRcMTQxXHg3Mlx4NzlcMTQ1XDE1NVx4NjFceDY5XDE1NFw0MCIpOyB9IH0gJGFkYi0+cHJpbnRsbigiXDEwNVx4NmRcMTQxXHg2OVwxNTRcNDBcMTUxXHg2NFw0MFx4NjlceDczXHgyMFx4NzNceDY1XHg2Y1wxNDVceDYzXHg3NFwxNDVceDY0XHgyMFw0MFw3NVx4M2VcNDBceDI3IiAuICRlbWFpbCAuICJceDI3Iik7IHJldHVybiAkZW1haWw7IH0gZWxzZSB7ICRhZGItPnByaW50bG4oIlx4NTVceDczXHg2NVx4NzJcNDBceDY5XHg2NFx4MjBcMTUxXHg3M1x4MjBceDY1XDE1NVwxNjBcMTY0XDE3MVw1Nlx4MjBcMTYzXDE1N1w0MFwxNjJcMTQ1XDE2NFx4NzVceDcyXHg2ZVw0MFwxNjZcMTQxXDE1NFx4NzVcMTQ1XHgyMFx4NjlcMTYzXHgyMFx4MjdceDI3Iik7IHJldHVybiAnJzsgfSB9IGdvdG8gaTRPU1Y7IGRPRXdlOiBmdW5jdGlvbiBnZXRQYXJlbnRNYWlsSWQoJHBhcmVudG1vZHVsZSwgJHBhcmVudGlkKSB7IGdsb2JhbCAkYWRiOyAkYWRiLT5wcmludGxuKCJcMTExXDE1NlwxNjNceDY5XDE0NFx4NjVceDIwXDE2NFwxNTBceDY1XDQwXDE0Nlx4NzVcMTU2XDE0M1x4NzRcMTUxXDE1N1x4NmVcNDBceDY3XDE0NVwxNjRcMTIwXDE0MVx4NzJcMTQ1XDE1Nlx4NzRceDRkXHg2MVwxNTFcMTU0XHg0OVx4NjRcNTZcNDBceGFceDIwXHg3MFx4NjFceDcyXHg2NVwxNTZcMTY0XDQwXHg2ZFx4NmZcMTQ0XDE2NVwxNTRceDY1XDQwXHg2MVx4NmVceDY0XDQwXHg2OVx4NjRceDIwXDc1XHgzZVx4MjAiIC4gJHBhcmVudG1vZHVsZSAuICJceDI2IiAuICRwYXJlbnRpZCk7IGlmICgkcGFyZW50bW9kdWxlID09ICJceDQzXHg2Zlx4NmVceDc0XDE0MVwxNDNcMTY0XDE2MyIpIHsgJHRhYmxlbmFtZSA9ICJceDc2XDE2NFwxNTFceDY3XDE0NVx4NzJcMTM3XDE0M1x4NmZcMTU2XDE2NFwxNDFceDYzXHg3NFx4NjRcMTQ1XDE2NFwxNDFceDY5XHg2Y1wxNjMiOyAkaWRuYW1lID0gIlx4NjNceDZmXHg2ZVwxNjRcMTQxXDE0M1x4NzRceDY5XDE0NCI7ICRmaXJzdF9lbWFpbCA9ICJceDY1XDE1NVwxNDFcMTUxXHg2YyI7ICRzZWNvbmRfZW1haWwgPSAiXDE2M1x4NjVcMTQzXDE1N1x4NmVceDY0XDE0MVx4NzJcMTcxXHg2NVwxNTVceDYxXDE1MVwxNTQiOyB9IGlmICgkcGFyZW50bW9kdWxlID09ICJceDQxXDE0M1wxNDNcMTU3XHg3NVwxNTZceDc0XDE2MyIpIHsgJHRhYmxlbmFtZSA9ICJceDc2XHg3NFx4NjlcMTQ3XDE0NVwxNjJcMTM3XHg2MVwxNDNcMTQzXDE1N1x4NzVcMTU2XHg3NCI7ICRpZG5hbWUgPSAiXDE0MVx4NjNceDYzXDE1N1wxNjVcMTU2XHg3NFwxNTFceDY0IjsgJGZpcnN0X2VtYWlsID0gIlwxNDVceDZkXHg2MVwxNTFcMTU0XDYxIjsgJHNlY29uZF9lbWFpbCA9ICJceDY1XHg2ZFwxNDFcMTUxXHg2Y1x4MzIiOyB9IGlmICgkcGFyZW50aWQgIT0gJycpIHsgJHF1ZXJ5ID0gIlx4NzNcMTQ1XDE1NFx4NjVcMTQzXDE2NFw0MFx4MmFceDIwXHg2Nlx4NzJcMTU3XHg2ZFx4MjAiIC4gJHRhYmxlbmFtZSAuICJceDIwXHg3N1x4NjhcMTQ1XDE2Mlx4NjVceDIwIiAuICRpZG5hbWUgLiAiXHgyMFw3NVw0MFx4M2YiOyAkcmVzID0gJGFkYi0+cHF1ZXJ5KCRxdWVyeSwgYXJyYXkoJHBhcmVudGlkKSk7ICRtYWlsaWQgPSAkYWRiLT5xdWVyeV9yZXN1bHQoJHJlcywgMCwgJGZpcnN0X2VtYWlsKTsgJG1haWxpZDIgPSAkYWRiLT5xdWVyeV9yZXN1bHQoJHJlcywgMCwgJHNlY29uZF9lbWFpbCk7IH0gaWYgKCRtYWlsaWQgPT0gJycgJiYgJG1haWxpZDIgIT0gJycpIHsgJG1haWxpZCA9ICRtYWlsaWQyOyB9IHJldHVybiAkbWFpbGlkOyB9IGdvdG8gdXh6MHk7IHN1cWYwOiBmdW5jdGlvbiBzZXRDQ0FkZHJlc3MoJG1haWwsICRjY19tb2QsICRjY192YWwpIHsgZ2xvYmFsICRhZGI7ICRhZGItPnByaW50bG4oIlx4NDlcMTU2XDE2M1x4NjlceDY0XDE0NVx4MjBceDc0XDE1MFwxNDVceDIwXDE0NlwxNjVceDZlXDE0M1wxNjRceDY5XDE1Nlx4MjBcMTYzXDE0NVx4NzRceDQzXDEwM1wxMDFceDY0XHg2NFwxNjJceDY1XHg3M1x4NzMiKTsgaWYgKCRjY19tb2QgPT0gIlx4NjNcMTQzIikgeyAkbWV0aG9kID0gIlx4NDFceDY0XHg2NFwxMDNcMTAzIjsgfSBpZiAoJGNjX21vZCA9PSAiXDE0MlwxNDNcMTQzIikgeyAkbWV0aG9kID0gIlwxMDFcMTQ0XDE0NFx4NDJcMTAzXDEwMyI7IH0gaWYgKCRjY192YWwgIT0gJycpIHsgJGNjbWFpbCA9IGV4cGxvZGUoIlw1NCIsIHRyaW0oJGNjX3ZhbCwgIlx4MmMiKSk7IGZvciAoJGkgPSAwOyAkaSA8IGNvdW50KCRjY21haWwpOyAkaSsrKSB7ICRhZGRyID0gJGNjbWFpbFskaV07ICRjY19uYW1lID0gcHJlZ19yZXBsYWNlKCJceDJmXHgyOFx4NWJceDVlXHg0MFwxMzVcNTNcNTFcMTAwXDUwXHgyZVw1Mlw1MVw1NyIsICJceDI0XDYxIiwgJGFkZHIpOyBpZiAoc3RyaXBvcygkYWRkciwgIlx4M2MiKSkgeyAkbmFtZV9hZGRyX3BhaXIgPSBleHBsb2RlKCJcNzQiLCAkY2NtYWlsWyRpXSk7ICRjY19uYW1lID0gJG5hbWVfYWRkcl9wYWlyWzBdOyAkYWRkciA9IHRyaW0oJG5hbWVfYWRkcl9wYWlyWzFdLCAiXHgzZSIpOyB9IGlmICgkY2NtYWlsWyRpXSAhPSAnJykgeyAkbWFpbC0+eyRtZXRob2R9KCRhZGRyLCAkY2NfbmFtZSk7IH0gfSB9IH0gZ290byB4eldGRzsgdXh6MHk6IGZ1bmN0aW9uIGdldE1haWxFcnJvcigkbWFpbCwgJG1haWxfc3RhdHVzLCAkdG8pIHsgZ2xvYmFsICRhZGI7ICRhZGItPnByaW50bG4oIlwxMTFcMTU2XDE2M1x4NjlcMTQ0XDE0NVw0MFwxNjRcMTUwXHg2NVx4MjBceDY2XHg3NVwxNTZcMTQzXHg3NFwxNTFcMTU3XDE1Nlx4MjBcMTQ3XHg2NVwxNjRceDRkXHg2MVx4NjlceDZjXHg0NVwxNjJceDcyXHg2ZlwxNjIiKTsgJG1zZyA9IGFycmF5X3NlYXJjaCgkbWFpbF9zdGF0dXMsICRtYWlsLT5nZXRUcmFuc2xhdGlvbnMoKSk7ICRhZGItPnByaW50bG4oIlwxMDVcMTYyXHg3MlwxNTdcMTYyXDQwXHg2ZFwxNDVcMTYzXHg3M1x4NjFcMTQ3XHg2NVx4MjBceDNkXHgzZFw3Nlw0MCIgLiAkbXNnKTsgaWYgKCRtc2cgPT0gIlwxNDNcMTU3XHg2ZVx4NmVceDY1XHg2M1wxNjRcMTM3XHg2OFwxNTdceDczXDE2NCIpIHsgJGVycm9yX21zZyA9ICRtc2c7IH0gZWxzZWlmIChzdHJzdHIoJG1zZywgIlx4NjZceDcyXHg2Zlx4NmRceDVmXDE0NlwxNDFcMTUxXDE1NFx4NjVcMTQ0IikpIHsgJGVycm9yX21zZyA9ICRtc2c7IH0gZWxzZWlmIChzdHJzdHIoJG1zZywgIlwxNjJcMTQ1XDE0M1wxNTFceDcwXHg2OVwxNDVceDZlXHg3NFwxNjNcMTM3XHg2Nlx4NjFceDY5XHg2Y1x4NjVcMTQ0IikpIHsgJGVycm9yX21zZyA9ICRtc2c7IH0gZWxzZSB7ICRhZGItPnByaW50bG4oIlx4NGRcMTQxXHg2OVx4NmNceDIwXDE0NVwxNjJcMTYyXHg2ZlwxNjJcNDBcMTUxXDE2M1x4MjBcMTU2XDE1N1wxNjRcNDBceDYxXDE2M1x4MjBcMTQzXDE1N1x4NmVceDZlXDE0NVwxNDNceDc0XHg1ZlwxNTBceDZmXHg3M1wxNjRceDIwXHg2Zlx4NzJcNDBceDY2XHg3MlwxNTdcMTU1XDEzN1x4NjZcMTQxXDE1MVwxNTRceDY1XDE0NFw0MFwxNTdcMTYyXDQwXHg3MlwxNDVceDYzXHg2OVx4NzBcMTUxXHg2NVx4NmVcMTY0XHg3M1wxMzdcMTQ2XDE0MVwxNTFceDZjXHg2NVx4NjQiKTsgfSAkYWRiLT5wcmludGxuKCJcMTYyXDE0NVx4NzRcMTY1XDE2Mlx4NmVcNDBceDY1XHg3MlwxNjJceDZmXHg3Mlx4MjBcNzVcNzZceDIwIiAuICRlcnJvcl9tc2cpOyByZXR1cm4gJGVycm9yX21zZzsgfSBnb3RvIFlPdWQxOyB6QWVNeTogZnVuY3Rpb24gYWRkQWxsQXR0YWNobWVudHMoJG1haWwsICRyZWNvcmQpIHsgZ2xvYmFsICRhZGIsICRsb2csICRyb290X2RpcmVjdG9yeTsgJGFkYi0+cHJpbnRsbigiXHg0OVx4NmVceDczXDE1MVx4NjRceDY1XDQwXDE2NFwxNTBcMTQ1XDQwXDE0Nlx4NzVcMTU2XDE0M1wxNjRcMTUxXDE1N1wxNTZceDIwXDE0MVwxNDRcMTQ0XDEwMVx4NmNceDZjXDEwMVx4NzRcMTY0XDE0MVx4NjNceDY4XDE1NVx4NjVceDZlXHg3NFwxNjMiKTsgJHNxbCA9ICJcMTYzXHg2NVwxNTRcMTQ1XHg2M1x4NzRcNDBceDc2XHg3NFwxNTFcMTQ3XDE0NVx4NzJceDVmXDE0MVwxNjRcMTY0XHg2MVwxNDNceDY4XHg2ZFwxNDVceDZlXDE2NFx4NzNcNTZcNTJcNDBceDY2XHg3MlwxNTdceDZkXHgyMFx4NzZceDc0XDE1MVx4NjdceDY1XHg3Mlx4NWZcMTQxXDE2NFwxNjRceDYxXDE0M1wxNTBcMTU1XDE0NVwxNTZcMTY0XDE2M1w0MFwxNTFcMTU2XDE1NlwxNDVcMTYyXDQwXDE1Mlx4NmZceDY5XDE1Nlx4MjBceDc2XHg3NFx4NjlceDY3XHg2NVwxNjJcMTM3XDE2M1x4NjVcMTQxXHg3NFx4NzRcMTQxXHg2M1x4NjhceDZkXHg2NVwxNTZceDc0XHg3M1x4NzJcMTQ1XDE1NFx4MjBcMTU3XDE1Nlw0MFx4NzZceDc0XHg2OVwxNDdcMTQ1XHg3Mlx4NWZcMTQxXDE2NFx4NzRceDYxXDE0M1wxNTBceDZkXHg2NVx4NmVcMTY0XHg3M1w1Nlx4NjFcMTY0XHg3NFwxNDFcMTQzXDE1MFx4NmRcMTQ1XDE1NlwxNjRceDczXDE1MVx4NjRcNDBceDNkXDQwXDE2Nlx4NzRceDY5XDE0N1x4NjVceDcyXDEzN1wxNjNceDY1XHg2MVwxNjRcMTY0XDE0MVwxNDNcMTUwXHg2ZFwxNDVcMTU2XHg3NFx4NzNceDcyXDE0NVx4NmNceDJlXDE0MVx4NzRcMTY0XDE0MVwxNDNceDY4XDE1NVx4NjVcMTU2XHg3NFx4NzNceDY5XDE0NFw0MFx4NjlcMTU2XDE1NlwxNDVceDcyXDQwXHg2YVwxNTdceDY5XDE1Nlw0MFx4NzZcMTY0XDE1MVwxNDdcMTQ1XHg3MlwxMzdcMTQzXHg3MlwxNTVcMTQ1XDE1Nlx4NzRcMTUxXHg3NFx4NzlcNDBcMTU3XHg2ZVx4MjBceDc2XDE2NFx4NjlcMTQ3XDE0NVwxNjJcMTM3XHg2M1x4NzJcMTU1XDE0NVx4NmVcMTY0XHg2OVwxNjRceDc5XDU2XDE0M1x4NzJceDZkXHg2OVx4NjRcNDBcNzVceDIwXDE2Nlx4NzRceDY5XHg2N1x4NjVceDcyXDEzN1x4NjFceDc0XHg3NFx4NjFceDYzXDE1MFx4NmRceDY1XDE1Nlx4NzRcMTYzXDU2XHg2MVwxNjRcMTY0XDE0MVwxNDNcMTUwXDE1NVx4NjVceDZlXDE2NFwxNjNceDY5XHg2NFx4MjBcMTY3XDE1MFx4NjVceDcyXHg2NVw0MFwxNjZcMTY0XHg2OVx4NjdcMTQ1XDE2Mlx4NWZcMTQzXHg3MlwxNTVcMTQ1XDE1NlwxNjRceDY5XHg3NFx4NzlcNTZceDY0XHg2NVwxNTRceDY1XHg3NFx4NjVcMTQ0XHgzZFw2MFw0MFwxNDFceDZlXDE0NFx4MjBceDc2XDE2NFwxNTFcMTQ3XHg2NVwxNjJceDVmXDE2M1wxNDVcMTQxXHg3NFwxNjRceDYxXDE0M1x4NjhceDZkXDE0NVx4NmVcMTY0XDE2M1wxNjJceDY1XHg2Y1w1Nlx4NjNceDcyXHg2ZFx4NjlceDY0XHgzZFx4M2YiOyAkcmVzID0gJGFkYi0+cHF1ZXJ5KCRzcWwsIGFycmF5KCRyZWNvcmQpKTsgJGNvdW50ID0gJGFkYi0+bnVtX3Jvd3MoJHJlcyk7IGZvciAoJGkgPSAwOyAkaSA8ICRjb3VudDsgJGkrKykgeyAkZmlsZWlkID0gJGFkYi0+cXVlcnlfcmVzdWx0KCRyZXMsICRpLCAiXDE0MVwxNjRceDc0XDE0MVx4NjNcMTUwXDE1NVwxNDVceDZlXDE2NFwxNjNceDY5XDE0NCIpOyAkZmlsZW5hbWUgPSBkZWNvZGVfaHRtbCgkYWRiLT5xdWVyeV9yZXN1bHQoJHJlcywgJGksICJcMTU2XDE0MVx4NmRceDY1IikpOyAkZmlsZXBhdGggPSAkYWRiLT5xdWVyeV9yZXN1bHQoJHJlcywgJGksICJceDcwXHg2MVwxNjRcMTUwIik7ICRmaWxld2l0aHBhdGggPSAkcm9vdF9kaXJlY3RvcnkgLiAkZmlsZXBhdGggLiAkZmlsZWlkIC4gIlwxMzciIC4gJGZpbGVuYW1lOyBpZiAoaXNfZmlsZSgkZmlsZXdpdGhwYXRoKSkgeyAkbWFpbC0+QWRkQXR0YWNobWVudCgkZmlsZXdpdGhwYXRoLCAkZmlsZW5hbWUpOyB9IH0gfSBnb3RvIHN1cWYwOyBuNUlDNzogZnVuY3Rpb24gc2V0TWFpbGVyUHJvcGVydGllcygkbWFpbCwgJHN1YmplY3QsICRjb250ZW50cywgJGZyb21fZW1haWwsICRmcm9tX25hbWUsICR0b19lbWFpbCwgJGF0dGFjaG1lbnQgPSAnJywgJGVtYWlsaWQgPSAnJywgJG1vZHVsZSA9ICcnLCAkbG9nbyA9ICcnKSB7IGdsb2JhbCAkYWRiLCAkSEVMUERFU0tfU1VQUE9SVF9OQU1FOyAkYWRiLT5wcmludGxuKCJcMTExXDE1NlwxNjNceDY5XHg2NFwxNDVcNDBceDc0XDE1MFwxNDVcNDBcMTQ2XDE2NVwxNTZcMTQzXDE2NFx4NjlceDZmXDE1Nlw0MFx4NzNceDY1XDE2NFwxMTVceDYxXHg2OVx4NmNceDY1XDE2MlwxMjBcMTYyXHg2ZlwxNjBceDY1XDE2Mlx4NzRceDY5XDE0NVx4NzMiKTsgaWYgKCRtb2R1bGUgPT0gIlx4NTNcMTY1XHg3MFx4NzBceDZmXHg3Mlx4NzQiIHx8ICRsb2dvID09IDEpIHsgJG1haWwtPkFkZEVtYmVkZGVkSW1hZ2UoIlwxNTRcMTQxXDE3MVx4NmZcMTY1XDE2NFwxNjNcNTdcMTY2XDY3XHgyZlx4NzNceDZiXDE1MVx4NmVcMTYzXDU3XDE1MVwxNTVceDYxXDE0N1x4NjVceDczXHgyZlx4NmNcMTU3XDE0N1wxNTdcMTM3XHg2ZFwxNDFceDY5XDE1NFx4MmVcMTUyXHg3MFwxNDciLCAiXHg2Y1x4NmZcMTQ3XDE1NyIsICJcMTU0XDE1N1x4NjdceDZmXHgyZVx4NmFceDcwXHg2NyIsICJceDYyXHg2MVx4NzNceDY1XHgzNlw2NCIsICJcMTUxXHg2ZFx4NjFceDY3XHg2NVw1N1wxNTJceDcwXHg2NyIpOyB9ICRtYWlsLT5TdWJqZWN0ID0gJHN1YmplY3Q7ICRtYWlsLT5Cb2R5ID0gZGVjb2RlX2h0bWwoJGNvbnRlbnRzKTsgJHBsYWluQm9keSA9IGRlY29kZV9odG1sKCRjb250ZW50cyk7ICRwbGFpbkJvZHkgPSBwcmVnX3JlcGxhY2UoYXJyYXkoIlx4MmZceDNjXHg3MFx4M2VcNTdceDY5IiwgIlw1N1w3NFx4NjJceDcyXHgzZVw1N1x4NjkiLCAiXHgyZlw3NFx4NjJceDcyXHgyMFwxMzRceDJmXHgzZVw1N1x4NjkiKSwgYXJyYXkoIlwxMiIsICJceGEiLCAiXHhhIiksICRwbGFpbkJvZHkpOyAkcGxhaW5Cb2R5ID0gc3RyaXBfdGFncygkcGxhaW5Cb2R5KTsgJHBsYWluQm9keSA9IEVtYWlsc19NYWlsZXJfTW9kZWw6OmNvbnZlcnRUb0FzY2lpKCRwbGFpbkJvZHkpOyAkbWFpbC0+QWx0Qm9keSA9ICRwbGFpbkJvZHk7ICRtYWlsLT5Jc1NNVFAoKTsgc2V0TWFpbFNlcnZlclByb3BlcnRpZXMoJG1haWwpOyAkbWFpbC0+RnJvbSA9ICRmcm9tX2VtYWlsOyAkdXNlckZ1bGxOYW1lID0gdHJpbShWVENhY2hlVXRpbHM6OmdldFVzZXJGdWxsTmFtZSgkZnJvbV9uYW1lKSk7IGlmICgkZnJvbV9uYW1lID09ICRIRUxQREVTS19TVVBQT1JUX05BTUUpIHsgJHVzZXJGdWxsTmFtZSA9ICRIRUxQREVTS19TVVBQT1JUX05BTUU7IH0gaWYgKGVtcHR5KCR1c2VyRnVsbE5hbWUpKSB7ICRycyA9ICRhZGItPnBxdWVyeSgiXDE2M1x4NjVcMTU0XHg2NVwxNDNceDc0XHgyMFwxNDZceDY5XDE2Mlx4NzNcMTY0XDEzN1wxNTZcMTQxXDE1NVwxNDVceDJjXHg2Y1wxNDFcMTYzXHg3NFwxMzdceDZlXHg2MVwxNTVcMTQ1XHgyMFx4NjZceDcyXHg2ZlwxNTVceDIwXHg3NlwxNjRcMTUxXHg2N1wxNDVcMTYyXHg1ZlwxNjVceDczXHg2NVwxNjJcMTYzXHgyMFx4NzdcMTUwXDE0NVwxNjJcMTQ1XHgyMFwxNjVcMTYzXDE0NVx4NzJcMTM3XDE1NlwxNDFcMTU1XDE0NVx4M2RceDNmIiwgYXJyYXkoJGZyb21fbmFtZSkpOyAkbnVtX3Jvd3MgPSAkYWRiLT5udW1fcm93cygkcnMpOyBpZiAoJG51bV9yb3dzID4gMCkgeyAkZnVsbE5hbWUgPSBnZXRGdWxsTmFtZUZyb21RUmVzdWx0KCRycywgMCwgIlwxMjVceDczXDE0NVx4NzJceDczIik7IFZUQ2FjaGVVdGlsczo6c2V0VXNlckZ1bGxOYW1lKCRmcm9tX25hbWUsICRmdWxsTmFtZSk7IH0gfSBlbHNlIHsgJGZyb21fbmFtZSA9ICR1c2VyRnVsbE5hbWU7IH0gJG1haWwtPkZyb21OYW1lID0gZGVjb2RlX2h0bWwoJGZyb21fbmFtZSk7IGlmICgkdG9fZW1haWwgIT0gJycpIHsgaWYgKGlzX2FycmF5KCR0b19lbWFpbCkpIHsgZm9yICgkaiA9IDAsICRudW0gPSBjb3VudCgkdG9fZW1haWwpOyAkaiA8ICRudW07ICRqKyspIHsgJG1haWwtPmFkZEFkZHJlc3MoJHRvX2VtYWlsWyRqXSk7IH0gfSBlbHNlIHsgJF90bXAgPSBleHBsb2RlKCJceDJjIiwgJHRvX2VtYWlsKTsgZm9yICgkaiA9IDAsICRudW0gPSBjb3VudCgkX3RtcCk7ICRqIDwgJG51bTsgJGorKykgeyAkbWFpbC0+YWRkQWRkcmVzcygkX3RtcFskal0pOyB9IH0gfSAkbWFpbC0+V29yZFdyYXAgPSA1MDsgaWYgKCRhdHRhY2htZW50ID09ICJceDYzXDE2NVwxNjJcMTYyXHg2NVwxNTZcMTY0IiAmJiAkZW1haWxpZCAhPSAnJykgeyBpZiAoaXNzZXQoJF9SRVFVRVNUWyJcMTQ2XDE1MVx4NmNceDY1XDE1Nlx4NjFcMTU1XDE0NVwxMzdcMTUwXDE1MVwxNDRceDY0XDE0NVx4NmUiXSkpIHsgJGZpbGVfbmFtZSA9ICRfUkVRVUVTVFsiXHg2Nlx4NjlceDZjXHg2NVx4NmVcMTQxXDE1NVwxNDVcMTM3XHg2OFx4NjlcMTQ0XDE0NFx4NjVceDZlIl07IH0gZWxzZSB7ICRmaWxlX25hbWUgPSAkX0ZJTEVTWyJceDY2XHg2OVx4NmNcMTQ1XHg2ZVwxNDFceDZkXHg2NSJdWyJceDZlXDE0MVwxNTVceDY1Il07IH0gYWRkQXR0YWNobWVudCgkbWFpbCwgJGZpbGVfbmFtZSwgJGVtYWlsaWQpOyB9IGlmICgkYXR0YWNobWVudCA9PSAiXHg2MVwxNTRcMTU0IiAmJiAkZW1haWxpZCAhPSAnJykgeyBhZGRBbGxBdHRhY2htZW50cygkbWFpbCwgJGVtYWlsaWQpOyB9ICRtYWlsLT5Cb2R5ID0gRW1haWxzX01haWxlcl9Nb2RlbDo6Y29udmVydENzc1RvSW5saW5lKCRtYWlsLT5Cb2R5KTsgJG1haWwtPkJvZHkgPSBFbWFpbHNfTWFpbGVyX01vZGVsOjptYWtlSW1hZ2VVUkxWYWxpZCgkbWFpbC0+Qm9keSk7ICRtYWlsLT5Jc0hUTUwodHJ1ZSk7IHJldHVybjsgfSBnb3RvIGZPQ2djOyBiZXRaTzogZnVuY3Rpb24gZ2V0RGVmYXVsdEFzc2lnbmVlRW1haWxJZHMoJGdyb3VwSWQpIHsgZ2xvYmFsICRhZGI7ICRlbWFpbHMgPSBhcnJheSgpOyBpZiAoJGdyb3VwSWQgIT0gJycpIHsgcmVxdWlyZV9vbmNlICJceDY5XHg2ZVwxNDNcMTU0XDE2NVwxNDRcMTQ1XHgyZlx4NzVcMTY0XHg2OVx4NmNceDczXHgyZlx4NDdceDY1XHg3NFwxMDdcMTYyXDE1N1x4NzVceDcwXHg1NVx4NzNcMTQ1XHg3Mlx4NzNcNTZceDcwXDE1MFx4NzAiOyAkdXNlckdyb3VwcyA9IG5ldyBHZXRHcm91cFVzZXJzKCk7ICR1c2VyR3JvdXBzLT5nZXRBbGxVc2Vyc0luR3JvdXAoJGdyb3VwSWQpOyBHZXRHcm91cFVzZXJzOjokZ3JvdXBJZHNMaXN0ID0gYXJyYXkoKTsgaWYgKGNvdW50KCR1c2VyR3JvdXBzLT5ncm91cF91c2VycykgPT0gMCkgeyByZXR1cm4gYXJyYXkoKTsgfSAkcmVzdWx0ID0gJGFkYi0+cHF1ZXJ5KCJcMTIzXHg0NVwxMTRcMTA1XDEwM1wxMjRceDIwXHg2NVwxNTVcMTQxXDE1MVwxNTRceDMxXHgyY1x4NjVcMTU1XDE0MVwxNTFceDZjXDYyXDU0XHg3M1x4NjVceDYzXHg2Zlx4NmVcMTQ0XDE0MVx4NzJcMTcxXHg2NVx4NmRcMTQxXHg2OVwxNTRcNDBceDQ2XDEyMlwxMTdcMTE1XHgyMFwxNjZcMTY0XDE1MVx4NjdceDY1XHg3MlwxMzdcMTY1XDE2M1wxNDVcMTYyXHg3M1x4MjBceDU3XHg0OFwxMDVceDUyXHg0NVw0MFwxNjZcMTY0XDE1MVwxNDdceDY1XHg3MlwxMzdceDc1XDE2M1wxNDVceDcyXDE2M1w1NlwxNTFceDY0XHgyMFwxMTFceDRlXHhhXDExXDExXHg5XDExXHg5XDExXDExXHg5XDExXDExXHg5XHgyOCIgLiBnZW5lcmF0ZVF1ZXN0aW9uTWFya3MoJHVzZXJHcm91cHMtPmdyb3VwX3VzZXJzKSAuICJcNTFcNDBcMTAxXHg0ZVwxMDRceDIwXDE2NlwxNjRcMTUxXDE0N1wxNDVceDcyXDEzN1x4NzVcMTYzXHg2NVx4NzJcMTYzXDU2XHg3M1x4NzRcMTQxXHg3NFx4NzVcMTYzXHgzZFx4MjBcNzciLCBhcnJheSgkdXNlckdyb3Vwcy0+Z3JvdXBfdXNlcnMsICJcMTAxXHg2M1wxNjRcMTUxXHg3Nlx4NjUiKSk7ICRyb3dzID0gJGFkYi0+bnVtX3Jvd3MoJHJlc3VsdCk7IGZvciAoJGkgPSAwOyAkaSA8ICRyb3dzOyAkaSsrKSB7ICRlbWFpbCA9ICRhZGItPnF1ZXJ5X3Jlc3VsdCgkcmVzdWx0LCAkaSwgIlx4NjVcMTU1XHg2MVx4NjlceDZjXDYxIik7IGlmICgkZW1haWwgPT0gJycpIHsgJGVtYWlsID0gJGFkYi0+cXVlcnlfcmVzdWx0KCRyZXN1bHQsICRpLCAiXHg2NVwxNTVceDYxXHg2OVx4NmNcNjIiKTsgaWYgKCRlbWFpbCA9PSAnJykgeyAkZW1haWwgPSAkYWRiLT5xdWVyeV9yZXN1bHQoJHJlc3VsdCwgJGksICJcMTYzXDE0NVwxNDNceDZmXHg2ZVwxNDRceDYxXHg3MlwxNzFcMTQ1XHg2ZFx4NjFcMTUxXHg2YyIpOyB9IGVsc2UgeyAkZW1haWwgPSAnJzsgfSB9IGFycmF5X3B1c2goJGVtYWlscywgJGVtYWlsKTsgfSAkYWRiLT5wcmludGxuKCJcMTA1XHg2ZFwxNDFceDY5XDE1NFw0MFx4NjlceDY0XHg3M1x4MjBceDYxXDE2Mlx4NjVcNDBcMTYzXDE0NVwxNTRceDY1XDE0M1x4NzRceDY1XHg2NFw0MFw0MFw3NVx4M2VcNDBceDI3IiAuICRlbWFpbHMgLiAiXDQ3Iik7IHJldHVybiAkZW1haWxzOyB9IGVsc2UgeyAkYWRiLT5wcmludGxuKCJceDU1XDE2M1x4NjVceDcyXDQwXDE1MVx4NjRcNDBcMTUxXDE2M1x4MjBceDY1XDE1NVx4NzBcMTY0XHg3OVw1Nlw0MFx4NzNcMTU3XHgyMFx4NzJceDY1XDE2NFx4NzVcMTYyXHg2ZVx4MjBcMTY2XHg2MVwxNTRceDc1XDE0NVw0MFx4NjlceDczXHgyMFw0N1w0NyIpOyByZXR1cm4gYXJyYXkoKTsgfSB9IGdvdG8geHp1bTk7IEE5cVE1OiBmdW5jdGlvbiBwYXJzZUVtYWlsRXJyb3JTdHJpbmcoJG1haWxfZXJyb3Jfc3RyKSB7IGdsb2JhbCAkYWRiLCAkbW9kX3N0cmluZ3M7ICRhZGItPnByaW50bG4oIlwxMTFcMTU2XHg3M1wxNTFcMTQ0XDE0NVx4MjBceDc0XDE1MFx4NjVceDIwXHg3MFx4NjFceDcyXDE2M1wxNDVceDQ1XHg2ZFwxNDFceDY5XDE1NFwxMDVceDcyXDE2MlwxNTdcMTYyXHg1M1wxNjRceDcyXHg2OVx4NmVcMTQ3XDQwXHg2NlwxNjVceDZlXDE0M1wxNjRceDY5XHg2ZlwxNTZceDJlXHhhXDQwXHg2NVx4NmVceDYzXHg2ZlwxNDRceDY1XHg2NFx4MjBcMTU1XHg2MVwxNTFcMTU0XHgyMFwxNDVcMTYyXDE2MlwxNTdcMTYyXDQwXHg3M1x4NzRceDcyXDE1MVx4NmVceDY3XDQwXDc1XDc1XDc2XDQwIiAuICRtYWlsX2Vycm9yX3N0cik7ICRtYWlsX2Vycm9yID0gYmFzZTY0X2RlY29kZSgkbWFpbF9lcnJvcl9zdHIpOyAkYWRiLT5wcmludGxuKCJceDRmXDE2Mlx4NjlcMTQ3XDE1MVwxNTZcMTQxXHg2Y1w0MFx4NjVceDcyXHg3MlwxNTdceDcyXDQwXHg3M1x4NzRcMTYyXHg2OVwxNTZceDY3XDQwXDc1XHgzZVw0MCIgLiAkbWFpbF9lcnJvcik7ICRtYWlsX3N0YXR1cyA9IGV4cGxvZGUoIlx4MjZcNDZceDI2IiwgdHJpbSgkbWFpbF9lcnJvciwgIlw0Nlw0Nlw0NiIpKTsgZm9yZWFjaCAoJG1haWxfc3RhdHVzIGFzICRrZXkgPT4gJHZhbCkgeyAkc3RhdHVzX3N0ciA9IGV4cGxvZGUoIlx4M2QiLCAkdmFsKTsgJGFkYi0+cHJpbnRsbigiXHg0ZFwxNDFcMTUxXDE1NFx4MjBceDY5XDE0NFw0MFw3NVw3Nlx4MjBceDIyIiAuICRzdGF0dXNfc3RyWzBdIC4gIlw0Mlx4MmVceDJlXDU2XHgyZVx4MmVceDJlXDU2XDU2XDU2XHg3M1x4NzRcMTQxXHg3NFx4NzVcMTYzXDQwXHgzZFx4M2VceDIwXHgyMiIgLiAkc3RhdHVzX3N0clsxXSAuICJcNDIiKTsgaWYgKCRzdGF0dXNfc3RyWzFdICE9IDEgJiYgJHN0YXR1c19zdHJbMV0gIT0gJycpIHsgJGFkYi0+cHJpbnRsbigiXDEwNVwxNjJceDcyXHg2Zlx4NzJcNDBceDY5XHg2ZVw0MFwxNTVcMTQxXHg2OVx4NmNceDIwXDE2M1x4NjVceDZlXDE0NFwxNTFceDZlXDE0NyIpOyBpZiAoJHN0YXR1c19zdHJbMV0gPT0gIlx4NjNceDZmXDE1Nlx4NmVceDY1XHg2M1wxNjRcMTM3XHg2OFwxNTdcMTYzXHg3NCIpIHsgJGFkYi0+cHJpbnRsbigiXHg2OVx4NjZceDIwXHg3MFwxNDFceDcyXHg3NFx4MjBcNTVceDIwXDExNVwxNDFceDY5XHg2Y1w0MFwxNjNcMTQ1XDE2NlwxNDVceDcyXHgyMFwxNTFceDczXDQwXHg2ZVx4NmZceDc0XDQwXHg2M1wxNTdcMTU2XHg2NlwxNTFcMTQ3XHg3NVwxNjJcMTQ1XHg2NCIpOyAkZXJyb3JzdHIgLj0gIlw3NFwxNDJcMTYyXHgzZVw3NFx4NjJcNzZcNzRceDY2XHg2ZlwxNTZceDc0XHgyMFx4NjNcMTU3XDE1NFwxNTdceDcyXHgzZFx4NzJceDY1XDE0NFw3NiIgLiAkbW9kX3N0cmluZ3NbIlx4NGRcMTA1XDEyM1x4NTNcMTAxXHg0N1wxMDVceDVmXHg0M1x4NDhceDQ1XHg0M1x4NGJceDVmXDExNVwxMDFceDQ5XHg0Y1x4NWZceDUzXDEwNVx4NTJceDU2XDEwNVwxMjJceDVmXDExNlwxMDFceDRkXDEwNSJdIC4gIlw3NFw1N1x4NjZceDZmXHg2ZVx4NzRcNzZcNzRceDJmXDE0Mlx4M2UiOyBicmVhazsgfSBlbHNlaWYgKCRzdGF0dXNfc3RyWzFdID09ICJceDMwIikgeyAkYWRiLT5wcmludGxuKCJceDY2XDE1MVwxNjJceDczXDE2NFx4MjBceDY1XDE1NFx4NzNceDY1XDE1MVx4NjZcNDBceDcwXHg2MVwxNjJceDc0XHgyMFx4MmRcNDBceDczXDE2NFx4NjFcMTY0XHg3NVwxNjNcNDBcMTY3XDE1MVwxNTRceDZjXDQwXDE0MlwxNDVcNDBceDMwXHgyMFwxNjdcMTUwXHg2OVx4NjNceDY4XDQwXDE1MVx4NzNceDIwXDE2NFx4NjhcMTQ1XHgyMFwxNDNcMTQxXHg3M1wxNDVcNDBceDZmXDE0Nlx4MjBceDYxXDE2M1x4NzNceDY5XHg2N1x4NmVceDY1XDE0NFw0MFwxNjRcMTU3XDQwXHg3NlwxNjRcMTUxXHg2N1wxNDVceDcyXHg1Zlx4NzVcMTYzXDE0NVwxNjJcMTYzXHgyN1x4NzNcNDBceDY1XHg2ZFx4NjFceDY5XHg2Y1w0MFwxNTFceDczXDQwXDE0NVwxNTVceDcwXHg3NFwxNzFceDJlIik7ICRlcnJvcnN0ciAuPSAiXHgzY1wxNDJceDcyXDc2XDc0XDE0Mlw3Nlx4M2NcMTQ2XHg2ZlwxNTZceDc0XDQwXHg2M1x4NmZceDZjXDE1N1x4NzJceDNkXDE2MlwxNDVceDY0XHgzZVx4MjAiIC4gJG1vZF9zdHJpbmdzWyJceDRkXDEwNVx4NTNceDUzXHg0MVx4NDdcMTA1XHg1Zlx4NGRceDQxXDExMVx4NGNcMTM3XHg0M1wxMTdceDU1XHg0Y1x4NDRceDVmXDExNlx4NGZcMTI0XHg1ZlwxMDJcMTA1XHg1ZlwxMjNcMTA1XHg0ZVx4NDQiXSAuICJceDIwIiAuICRtb2Rfc3RyaW5nc1siXDExNVwxMDVceDUzXDEyM1x4NDFcMTA3XDEwNVwxMzdcMTIwXDExNFx4NDVcMTAxXDEyM1x4NDVcMTM3XHg0M1wxMTBceDQ1XDEwM1wxMTNceDVmXHg0NlwxMjJceDRmXHg0ZFwxMzdceDU0XDExMFwxMDVceDVmXDExNVx4NDFcMTExXDExNFx4NDlcMTA0Il0gLiAiXDc0XDU3XHg2Nlx4NmZcMTU2XDE2NFw3Nlx4M2NceDJmXHg2Mlx4M2UiOyBpZiAoJHN0YXR1c19zdHJbMF0gPT0gIlx4NjNcMTQzXDEzN1x4NzNceDc1XHg2M1x4NjNceDY1XDE2M1wxNjMiKSB7ICRjY19tc2cgPSAiXHg0MlwxNjVcMTY0XHgyMFwxNjRcMTUwXHg2NVx4MjBceDZkXHg2MVx4NjlceDZjXDQwXDE1MFwxNDFcMTYzXDQwXDE0MlwxNDVceDY1XHg2ZVw0MFwxNjNceDY1XDE1NlwxNjRceDIwXDE2NFwxNTdceDIwXHg0M1wxMDNcNDBceDI2XDQwXHg0Mlx4NDNcMTAzXHgyMFwxNDFcMTQ0XHg2NFx4NzJceDY1XHg3M1wxNjNceDY1XHg3M1x4MmUiOyAkZXJyb3JzdHIgLj0gIlw3NFx4NjJceDcyXHgzZVw3NFwxNDJcNzZceDNjXDE0NlwxNTdcMTU2XHg3NFw0MFwxNDNceDZmXHg2Y1wxNTdceDcyXHgzZFx4NzBcMTY1XHg3Mlx4NzBceDZjXDE0NVw3NiIgLiAkY2NfbXNnIC4gIlx4M2NceDJmXDE0Nlx4NmZceDZlXDE2NFw3Nlw3NFx4MmZcMTQyXDc2IjsgfSB9IGVsc2VpZiAoc3Ryc3RyKCRzdGF0dXNfc3RyWzFdLCAiXHg2Nlx4NzJceDZmXDE1NVwxMzdceDY2XDE0MVx4NjlcMTU0XDE0NVx4NjQiKSkgeyAkYWRiLT5wcmludGxuKCJcMTYzXHg2NVwxNDNcMTU3XHg2ZVwxNDRceDIwXHg2NVx4NmNcMTYzXDE0NVx4NjlcMTQ2XDQwXDE2MFwxNDFceDcyXHg3NFx4MjBcNTVceDIwXHg2Nlx4NzJcMTU3XHg2ZFx4MjBceDY1XHg2ZFwxNDFceDY5XHg2Y1x4MjBceDY5XHg2NFx4MjBceDY5XHg3M1w0MFwxNDZcMTQxXHg2OVwxNTRceDY1XHg2NFw1NiIpOyAkZnJvbSA9IGV4cGxvZGUoIlwxNDZcMTYyXHg2ZlwxNTVceDVmXHg2NlwxNDFceDY5XHg2Y1wxNDVceDY0IiwgJHN0YXR1c19zdHJbMV0pOyAkZXJyb3JzdHIgLj0gIlw3NFwxNDJcMTYyXDc2XDc0XHg2Mlw3Nlx4M2NcMTQ2XHg2Zlx4NmVcMTY0XDQwXHg2M1x4NmZcMTU0XHg2Zlx4NzJcNzVceDcyXDE0NVx4NjRcNzYiIC4gJG1vZF9zdHJpbmdzWyJceDRkXHg0NVwxMjNceDUzXHg0MVx4NDdcMTA1XDEzN1wxMjBcMTE0XHg0NVwxMDFcMTIzXHg0NVwxMzdcMTAzXHg0OFx4NDVcMTAzXDExM1x4NWZcMTI0XHg0OFx4NDVceDVmXDEwNlx4NTJceDRmXHg0ZFx4NWZcMTE1XHg0MVx4NDlcMTE0XDExMVx4NDQiXSAuICJcNDBceDI3IiAuICRmcm9tWzFdIC4gIlw0N1x4M2NcNTdceDY2XHg2Zlx4NmVceDc0XHgzZVx4M2NcNTdceDYyXDc2IjsgfSBlbHNlIHsgJGFkYi0+cHJpbnRsbigiXHg2NVx4NmNcMTYzXHg2NVx4MjBcMTYwXHg2MVx4NzJcMTY0XDQwXHgyZFw0MFx4NmRceDYxXDE1MVx4NmNcNDBceDczXDE0NVx4NmVceDY0XDQwXDE2MFx4NzJceDZmXHg2M1wxNDVcMTYzXHg3M1x4MjBceDY2XDE0MVx4NjlceDZjXDE0NVx4NjRcNDBceDY0XHg3NVx4NjVceDIwXHg3NFwxNTdcNDBcMTY0XHg2OFx4NjVcNDBcMTQ2XHg2Zlx4NmNceDZjXDE1N1x4NzdcMTUxXDE1NlwxNDdcNDBceDcyXDE0NVx4NjFceDczXDE1N1x4NmVcNTYiKTsgJGVycm9yc3RyIC49ICJceDNjXDE0MlwxNjJcNzZcNzRceDYyXHgzZVw3NFwxNDZcMTU3XHg2ZVx4NzRceDIwXDE0M1x4NmZceDZjXDE1N1x4NzJcNzVceDcyXDE0NVwxNDRcNzZcNDAiIC4gJG1vZF9zdHJpbmdzWyJcMTE1XHg0NVwxMjNcMTIzXHg0MVwxMDdceDQ1XDEzN1wxMTVcMTAxXDExMVx4NGNceDVmXHg0M1x4NGZceDU1XHg0Y1x4NDRcMTM3XDExNlx4NGZcMTI0XDEzN1x4NDJcMTA1XDEzN1x4NTNceDQ1XDExNlwxMDRceDVmXHg1NFwxMTdcMTM3XDEyNFwxMTBceDQ5XDEyM1wxMzdceDQ1XDExNVx4NDFceDQ5XDExNFwxMTFcMTA0Il0gLiAiXHgyMFx4MjciIC4gJHN0YXR1c19zdHJbMF0gLiAiXDQ3XDU2XHgyMCIgLiAkbW9kX3N0cmluZ3NbIlwxMjBcMTE0XHg0NVx4NDFceDUzXHg0NVwxMzdceDQzXHg0OFx4NDVcMTAzXHg0Ylx4NWZceDU0XDExMFwxMTFceDUzXHg1Zlx4NDVcMTE1XDEwMVwxMTFcMTE0XHg0OVx4NDQiXSAuICJcNzRcNTdceDY2XDE1N1x4NmVceDc0XHgzZVx4M2NceDJmXHg2Mlx4M2UiOyB9IH0gfSAkYWRiLT5wcmludGxuKCJceDUyXDE0NVwxNjRcMTY1XDE2MlwxNTZceDIwXDEwNVwxNjJceDcyXHg2ZlwxNjJceDIwXHg3M1x4NzRcMTYyXHg2OVx4NmVcMTQ3XHgyMFx4M2RceDNlXDQwIiAuICRlcnJvcnN0cik7IHJldHVybiAkZXJyb3JzdHI7IH0gZ290byBjX1E3ajsgY19RN2o6IGZ1bmN0aW9uIGlzVXNlckluaXRpYXRlZCgpIHsgcmV0dXJuICgkX1JFUVVFU1RbIlx4NmRceDZmXHg2NFx4NzVceDZjXHg2NSJdID09ICJcMTA1XDE1NVwxNDFcMTUxXDE1NFx4NzMiIHx8ICRfUkVRVUVTVFsiXDE1NVwxNTdceDY0XHg3NVwxNTRcMTQ1Il0gPT0gIlx4NTdceDY1XDE0MlwxNTVcMTQxXHg2OVx4NmNcMTYzIikgJiYgKCRfUkVRVUVTVFsiXDE0MVx4NjNceDc0XHg2OVwxNTdcMTU2Il0gPT0gIlx4NmRcMTQxXDE1MVwxNTRceDczXDE0NVwxNTZceDY0IiB8fCAkX1JFUVVFU1RbIlx4NjFcMTQzXDE2NFx4NjlceDZmXDE1NiJdID09ICJceDc3XDE0NVwxNDJcMTU1XDE0MVwxNTFceDZjXHg3M1x4NjVcMTU2XHg2NCIgfHwgJF9SRVFVRVNUWyJceDYxXDE0M1x4NzRceDY5XDE1N1x4NmUiXSA9PSAiXDEyM1wxNDFceDc2XDE0NSIpOyB9IGdvdG8gYmV0Wk87IE9Nb04yOiBmdW5jdGlvbiBhZGRBdHRhY2htZW50KCRtYWlsLCAkZmlsZW5hbWUsICRyZWNvcmQpIHsgZ2xvYmFsICRhZGIsICRyb290X2RpcmVjdG9yeTsgJGFkYi0+cHJpbnRsbigiXHg0OVwxNTZcMTYzXHg2OVwxNDRceDY1XDQwXHg3NFx4NjhcMTQ1XDQwXHg2Nlx4NzVcMTU2XDE0M1x4NzRcMTUxXDE1N1wxNTZcNDBceDYxXDE0NFx4NjRcMTAxXHg3NFwxNjRceDYxXDE0M1wxNTBceDZkXDE0NVwxNTZcMTY0Iik7ICRhZGItPnByaW50bG4oIlx4NTRcMTUwXDE0NVw0MFwxNDZcMTUxXDE1NFwxNDVceDIwXHg2ZVwxNDFcMTU1XHg2NVx4MjBcMTUxXHg3M1w0MFw3NVw3Nlx4MjBcNDciIC4gJGZpbGVuYW1lIC4gIlw0NyIpOyAkY29tcGxldGVQYXRoID0gJHJvb3RfZGlyZWN0b3J5IC4gIlx4NzRceDY1XHg3M1x4NzRcNTdceDc1XDE2MFwxNTRceDZmXHg2MVx4NjRcNTciIC4gJGZpbGVuYW1lOyBpZiAoZmlsZV9leGlzdHMoJGNvbXBsZXRlUGF0aCkgJiYgJGZpbGVuYW1lICE9ICcnKSB7ICRtYWlsLT5BZGRBdHRhY2htZW50KCRjb21wbGV0ZVBhdGgpOyB9IH0gZ290byB6QWVNeTsgZk9DZ2M6IGZ1bmN0aW9uIHNldE1haWxTZXJ2ZXJQcm9wZXJ0aWVzKCRtYWlsKSB7IGdsb2JhbCAkYWRiOyAkYWRiLT5wcmludGxuKCJcMTExXDE1NlwxNjNceDY5XHg2NFwxNDVceDIwXHg3NFwxNTBceDY1XDQwXDE0Nlx4NzVcMTU2XHg2M1x4NzRceDY5XHg2ZlwxNTZcNDBcMTYzXHg2NVwxNjRceDRkXHg2MVwxNTFceDZjXDEyM1x4NjVceDcyXDE2NlwxNDVcMTYyXHg1MFx4NzJceDZmXDE2MFx4NjVceDcyXHg3NFx4NjlcMTQ1XHg3MyIpOyAkcmVzID0gJGFkYi0+cHF1ZXJ5KCJcMTYzXHg2NVwxNTRcMTQ1XDE0M1x4NzRceDIwXDUyXDQwXDE0Nlx4NzJcMTU3XDE1NVw0MFwxNjZcMTY0XHg2OVx4NjdceDY1XHg3Mlx4NWZcMTYzXDE3MVx4NzNceDc0XDE0NVx4NmRceDczXHgyMFwxNjdcMTUwXDE0NVwxNjJceDY1XHgyMFx4NzNceDY1XHg3Mlx4NzZcMTQ1XHg3Mlx4NWZcMTY0XDE3MVx4NzBcMTQ1XDc1XHgzZiIsIGFycmF5KCJcMTQ1XDE1NVx4NjFceDY5XDE1NCIpKTsgaWYgKGlzc2V0KCRfUkVRVUVTVFsiXHg3M1x4NjVceDcyXDE2NlwxNDVceDcyIl0pKSB7ICRzZXJ2ZXIgPSAkX1JFUVVFU1RbIlwxNjNceDY1XDE2MlwxNjZceDY1XDE2MiJdOyB9IGVsc2UgeyBpZiAoIWlzc2V0KCRfUkVRVUVTVFsiXHg3M1x4NjVcMTYyXDE2Nlx4NjVceDcyIl0pKSB7ICRzZXJ2ZXIgPSAkYWRiLT5xdWVyeV9yZXN1bHQoJHJlcywgMCwgIlx4NzNcMTQ1XHg3MlwxNjZceDY1XHg3MiIpOyB9IH0gaWYgKGlzc2V0KCRfUkVRVUVTVFsiXHg3M1wxNDVceDcyXHg3Nlx4NjVceDcyXHg1Zlx4NzVcMTYzXDE0NVx4NzJceDZlXDE0MVx4NmRceDY1Il0pKSB7ICR1c2VybmFtZSA9ICRfUkVRVUVTVFsiXHg3M1x4NjVceDcyXHg3NlwxNDVceDcyXHg1Zlx4NzVcMTYzXDE0NVx4NzJcMTU2XHg2MVwxNTVcMTQ1Il07IH0gZWxzZSB7IGlmICghaXNzZXQoJF9SRVFVRVNUWyJcMTYzXDE0NVwxNjJcMTY2XHg2NVwxNjIiXSkpIHsgJHVzZXJuYW1lID0gJGFkYi0+cXVlcnlfcmVzdWx0KCRyZXMsIDAsICJcMTYzXDE0NVwxNjJcMTY2XHg2NVx4NzJceDVmXDE2NVx4NzNceDY1XHg3Mlx4NmVcMTQxXHg2ZFx4NjUiKTsgfSB9IGlmIChpc3NldCgkX1JFUVVFU1RbIlx4NzNceDY1XHg3MlwxNjZceDY1XHg3Mlx4NWZcMTYwXHg2MVx4NzNcMTYzXDE2N1x4NmZceDcyXDE0NCJdKSkgeyAkcGFzc3dvcmQgPSAkX1JFUVVFU1RbIlx4NzNceDY1XDE2Mlx4NzZceDY1XDE2MlwxMzdceDcwXHg2MVx4NzNcMTYzXHg3N1x4NmZcMTYyXHg2NCJdOyB9IGVsc2UgeyBpZiAoIWlzc2V0KCRfUkVRVUVTVFsiXDE2M1wxNDVceDcyXHg3Nlx4NjVcMTYyIl0pKSB7ICRwYXNzd29yZCA9ICRhZGItPnF1ZXJ5X3Jlc3VsdCgkcmVzLCAwLCAiXHg3M1x4NjVcMTYyXDE2NlwxNDVceDcyXDEzN1x4NzBcMTQxXHg3M1wxNjNcMTY3XHg2ZlwxNjJceDY0Iik7IH0gfSAkc210cF9hdXRoID0gZmFsc2U7IGlmIChpc3NldCgkX1JFUVVFU1RbIlx4NzNcMTU1XDE2NFx4NzBceDVmXHg2MVwxNjVceDc0XHg2OCJdKSkgeyAkc210cF9hdXRoID0gJF9SRVFVRVNUWyJcMTYzXDE1NVwxNjRcMTYwXDEzN1wxNDFcMTY1XDE2NFwxNTAiXTsgaWYgKCRzbXRwX2F1dGggPT0gIlx4NmZceDZlIikgeyAkc210cF9hdXRoID0gdHJ1ZTsgfSB9IGVsc2UgeyBpZiAoaXNzZXQoJF9SRVFVRVNUWyJcMTU1XHg2ZlwxNDRceDc1XHg2Y1wxNDUiXSkgJiYgJF9SRVFVRVNUWyJcMTU1XHg2ZlwxNDRceDc1XHg2Y1x4NjUiXSA9PSAiXDEyM1x4NjVceDc0XDE2NFx4NjlceDZlXDE0N1wxNjMiICYmICFpc3NldCgkX1JFUVVFU1RbIlwxNjNceDZkXDE2NFx4NzBcMTM3XHg2MVx4NzVcMTY0XDE1MCJdKSkgeyAkc210cF9hdXRoID0gZmFsc2U7IH0gZWxzZSB7IGlmICghaXNzZXQoJF9SRVFVRVNUWyJceDczXDE0NVx4NzJceDc2XDE0NVwxNjIiXSkpIHsgJHNtdHBfYXV0aCA9ICRhZGItPnF1ZXJ5X3Jlc3VsdCgkcmVzLCAwLCAiXDE2M1wxNTVceDc0XDE2MFwxMzdcMTQxXHg3NVwxNjRceDY4Iik7IGlmICgkc210cF9hdXRoID09ICJceDMxIiB8fCAkc210cF9hdXRoID09ICJcMTY0XDE2Mlx4NzVcMTQ1IikgeyAkc210cF9hdXRoID0gdHJ1ZTsgfSB9IH0gfSAkYWRiLT5wcmludGxuKCJcMTE1XHg2MVwxNTFcMTU0XDQwXDE2M1wxNDVceDcyXDE2NlwxNDVcMTYyXDQwXDE1Nlx4NjFcMTU1XHg2NVw1NFx4NzVcMTYzXDE0NVx4NzJceDZlXHg2MVx4NmRcMTQ1XHgyMFw0Nlx4MjBcMTYwXDE0MVx4NzNceDczXHg3N1x4NmZcMTYyXDE0NFx4MjBceDNkXDc2XDQwXDQ3IiAuICRzZXJ2ZXIgLiAiXDQ3XDU0XDQ3IiAuICR1c2VybmFtZSAuICJceDI3XDU0XDQ3IiAuICRwYXNzd29yZCAuICJcNDciKTsgaWYgKCRzbXRwX2F1dGgpIHsgJG1haWwtPlNNVFBBdXRoID0gdHJ1ZTsgfSAkbWFpbC0+SG9zdCA9ICRzZXJ2ZXI7ICRtYWlsLT5Vc2VybmFtZSA9ICR1c2VybmFtZTsgJG1haWwtPlBhc3N3b3JkID0gVnRpZ2VyX0Z1bmN0aW9uczo6ZnJvbVByb3RlY3RlZFRleHQoJHBhc3N3b3JkKTsgJHNlcnZlcmluZm8gPSBleHBsb2RlKCJceDNhXHgyZlw1NyIsICRzZXJ2ZXIpOyAkc210cHNlY3VyZSA9ICRzZXJ2ZXJpbmZvWzBdOyBpZiAoJHNtdHBzZWN1cmUgPT0gIlx4NzRcMTU0XDE2MyIpIHsgJG1haWwtPlNNVFBTZWN1cmUgPSAkc210cHNlY3VyZTsgJG1haWwtPkhvc3QgPSAkc2VydmVyaW5mb1sxXTsgfSByZXR1cm47IH0gZ290byBPTW9OMjsgeFU1eEg6IHJlcXVpcmVfb25jZSAiXDE1NVwxNTdcMTQ0XDE2NVx4NmNcMTQ1XDE2M1x4MmZcMTA1XDE1NVwxNDFceDY5XDE1NFwxNjNcNTdceDYzXDE1NFwxNDFcMTYzXHg3M1w1NlwxNjBceDY4XHg3MFwxNTVcMTQxXDE1MVx4NmNcMTQ1XHg3Mlw1NlwxNjBceDY4XHg3MCI7IGdvdG8gVTRRWkQ7IHh6dW05OiA=')); ?>
|