Help
RSS
API
Feed
Maltego
Contact
Domain > 91spw10.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-06-27
154.207.77.46
(
ClassC
)
2025-10-06
154.207.127.8
(
ClassC
)
Port 443
HTTP/1.1 200 OKDate: Mon, 06 Oct 2025 07:41:25 GMTContent-Type: text/html; charsetUTF-8Transfer-Encoding: chunkedConnection: keep-aliveServer: cloudflarecf-cache-status: DYNAMICNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Report-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sl8%2Fyv1VFuqx7hbvgakha8lwqyG8cEcKZ76dlowGr%2FPg2JEJ8QBF4vDUNdihXCf%2BPlY12GZSSV%2BIMjPNx57uxA1dShxTCPqxKag%3D%3D}}CF-RAY: 98a384284f1b1ef3-PDXalt-svc: h3:443; ma86400 script>Base64{_keyStr:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/,encode:function(a){var d,c0;for(aBase64._utf8_encode(a);ca.length;){var ba.charCodeAt(c++);var ea.charCodeAt(c++);var fa.charCodeAt(c++);var gb>>2;b(b&3)4|e>>4;var h(e&15)2|f>>6;var kf&63;isNaN(e)?hk64:isNaN(f)&&(k64);dd+Base64._keyStr.charAt(g)+Base64._keyStr.charAt(b)+Base64._keyStr.charAt(h)+Base64._keyStr.charAt(k)}return d},decode:function(a){var d,c0;for(aa.replace(/^A-Za-z0-9\+\//g,);ca.length;){var bBase64._keyStr.indexOf(a.charAt(c++));var eBase64._keyStr.indexOf(a.charAt(c++));var fBase64._keyStr.indexOf(a.charAt(c++));var gBase64._keyStr.indexOf(a.charAt(c++));bb2|e>>4;e(e&15)4|f>>2;var h(f&3)6|g;d+String.fromCharCode(b);64!f&&(d+String.fromCharCode(e));64!g&&(d+String.fromCharCode(h))}return dBase64._utf8_decode(d)},_utf8_encode:function(a){aa.replace(/\\r\\n/g,\n);for(var d,c0;ca.length;c++){var ba.charCodeAt(c);128>b?d+String.fromCharCode(b):(127b&&2048>b?d+String.fromCharCode(b>>6|192):(d+String.fromCharCode(b>>12|224),d+String.fromCharCode(b>>6&63|128)),d+String.fromCharCode(b&63|128))}return d},_utf8_decode:function(a){for(var d,c0,b,e,f;ca.length;)ba.charCodeAt(c),128>b?(d+String.fromCharCode(b),c++):191b&&224>b?(ea.charCodeAt(c+1),d+String.fromCharCode((b&31)6|e&63),c+2):(ea.charCodeAt(c+1),fa.charCodeAt(c+2),d+String.fromCharCode((b&15)12|(e&63)6|f&63),c+3);return d}};/script>noscript>error ../noscript>script>document.write(Base64.decode(PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InpoLUNOIj4KPGh0bWw+CjxoZWFkPgogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlLGNocm9tZT0xIiAvPgogICAgPG1ldGEgbmFtZT0icmVuZGVyZXIiIGNvbnRlbnQ9IndlYmtpdCIgLz4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT0wIiAvPgogICAgPHRpdGxlPjkx6KeG6aKRPC90aXRsZT4gICAgPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9Ijkx6KeG6aKR5Lit6L2s6aG1LCA5Mei3s+i9rOmTvuaOpSwg6KeG6aKR5a+86Iiq5YWl5Y+jLCDng63pl6jlhoXlrrnkuK3ovaznq5ksIOWunuaXtuabtOaWsOS4rei9rOmhtSwgOTHotYTmupDlv6vov5ssIOinhumikeS8oOmAgemXqCwg56eB5a+G5YWl5Y+j5a+86IiqLCDnsr7lk4Hop4bpopHlr7zoiKrpobUsIOW/q+mAn+i3s+i9rDkx56uZ54K5IiAvPiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iOTHop4bpopEsIDkx6KeG6aKR5Lit6L2s56uZLCA5MeacgOaWsOWcsOWdgCwgOTHot7PovazlhaXlj6MsIDkxc2hpcGluMDEsIDkx5Y6f5Yib6KeG6aKRLCDmtbflpJY5MemVnOWDjywgOTHnn63op4bpopEsIDkx6auY6YCf5YWl5Y+jIiAvPiAgICA8bWV0YSBuYW1lPSJyZWZlcnJlciIgY29udGVudD0ibm8tcmVmZXJyZXIiPiAgICA8bGluayByZWw9Imljb24iIHR5cGU9ImltYWdlL3gtaWNvbiIgaHJlZj0iL2Zhdmljb24uaWNvIj4KICAgIDxiYXNlIHRhcmdldD0iX2JsYW5rIiAvPgogICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgICAgICAqIHsKICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIH0KICAgICAgICBib2R5IHsKICAgICAgICAgICAgd2lkdGg6IDEwMHZ3OwogICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmEyYSAhaW1wb3J0YW50OwogICAgICAgIH0KICAgICAgICAuYmcgewogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgbWluLWhlaWdodDogOTB2aDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIHBhZGRpbmc6IDJ2dzsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICB9CgogICAgICAgIC5ib3ggewogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICBmbGV4OiAxOwogICAgICAgIH0KICAgICAgICAubG9nbyB7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB9CiAgICAgICAgLmxvZ28gaW1nIHsKICAgICAgICAgICAgd2lkdGg6IDcwJTsKICAgICAgICB9CiAgICAgICAgLmxpc3QgewogICAgICAgICAgICB3aWR0aDogOTYlOwogICAgICAgICAgICBtaW4taGVpZ2h0OiAzMiU7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDA7CiAgICAgICAgfQogICAgICAgIC5saXN0IGEgewogICAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMWQxZDFkOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMjU1LCAwLCA3MSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDc1cHg7CiAgICAgICAgfQogICAgICAgIC5saXN0IGEgaW1nIHsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgfQogICAgICAgIC5saXN0IGEgLnRleHQgewogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7CiAgICAgICAgICAgIGNvbG9yOiByZ2IoMjU1LCAwLCA3MSk7CiAgICAgICAgfQogICAgICAgIC5saXN0IGEgLnRleHQgLmJ0blRpdGxlIHsKICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICB9CiAgICAgICAgLmxpc3QgYSAudGV4dCAuYnRuTGluayB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB9CiAgICAgICAgLmVtYWlsLWJveCBhIHsKICAgICAgICAgICAgY29sb3I6IHJnYigyNTUsIDAsIDcxKTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgfQogICAgICAgIC5mb290ZXIgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgfQogICAgICAgIC5ub3RpZnkgewogICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7CiAgICAgICAgICAgIHotaW5kZXg6IDExMDsKICAgICAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwcHg7CiAgICAgICAgICAgIHRvcDogMHB4OwogICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgICAgICAgfQogICAgICAgICNsb2FkLXdyYXAgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgICAgICAgICB3aWR0aDogOTAlOwogICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7CiAgICAgICAgICAgIGNvbG9yOiAjMjExZjFmOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87CiAgICAgICAgfQogICAgICAgIC5jb250YWN0IHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgICAgZ2FwOiAyMHB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIH0KICAgICAgICAuY29udGFjdCBhIHsKICAgICAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogMTBweDsKICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIH0KICAgICAgICAuY29udGFjdCBpbWcgewogICAgICAgICAgICB3aWR0aDogMi42MjVyZW07CiAgICAgICAgfQogICAgICAgIC5lbWFpbC1ib3ggewogICAgICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICAgICAgcGFkZGluZzogMXJlbTsKICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJpbWFnZXMvYmcucG5nIik7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtOwogICAgICAgICAgICB3aWR0aDogOTYlOwogICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsKICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMTVweDsKICAgICAgICB9CiAgICAgICAgI2FwcC1idG5zIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICAgICAgd2lkdGg6IDk2JTsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgICAgICNhcHAtYnRucyBhIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiKDM0LCAzNCwgMzQpOwogICAgICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDEwcHgpIC8gMik7CiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDA7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICAgICAgfQogICAgICAgICNhcHAtYnRucyBhOmxhc3QtY2hpbGQgewogICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICAgICAgfQogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogICAgICAgICAgICAuYmcgewogICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0NTBweDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8c2NyaXB0IHNyYz0iLi9qcy9WeC5qcz90PXY4Ij48L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KPGRpdiBjbGFzcz0iYmciPgogICAgPGRpdiBjbGFzcz0iYm94Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvIj48aW1nIHNyYz0iL2ltYWdlcy9sb2dvLnBuZz92PTIiICBhbHQ9IiIvPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Imxpc3QiIGlkPSJsaXN0LXdyYXAiIHN0eWxlPSJkaXNwbGF5OiBmbGV4Ij4KICAgICAgICAgICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0blRpdGxlIj45MeinhumikS3nur/ot688L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG5MaW5rIj4uPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4gPC9hCiAgICAgICAgICAgID48YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRuVGl0bGUiPjkx6KeG6aKRLee6v+i3rzwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bkxpbmsiPi48L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PiA8L2EKICAgICAgICAgICAgPjxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG5UaXRsZSI+OTHop4bpopEt57q/6LevPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRuTGluayI+LjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGlkPSJhcHAtYnRucyI+CiAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSI+5LiL6L29OTHop4bpopFBUFA8L2E+CiAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSI+OTHop4bpopHlrpjmlrl0Z+e+pDwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJlbWFpbC1ib3giPgogICAgICAgICAgICA8cD7lj5HpgIHku7vmhI/mtojmga/liLDpgq7nrrHvvIzoh6rliqjojrflj5Y5MeinhumikeacgOaWsDwvcD4KICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICDjgJDlhY3nv7vlopnjgJHlnLDlnYDvvJo8YSBocmVmPSJtYWlsdG86OTFobC5jb21AZ21haWwuY29tIiAgICAgICAgICAgICAgICA+OTFobC5jb21AZ21haWwuY29tPC9hCiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0IiBpZD0iY29udGFjdExpc3QiPgogICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiCiAgICAgICAgICAgID48aW1nIGFsdD0iIiBzcmM9Ii9pbWFnZXMvYm9vay5wbmciIC8+PHNwYW4+5Zue5a6255qE6LevPC9zcGFuPjwvYQogICAgICAgICAgICA+CiAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIKICAgICAgICAgICAgPjxpbWcgYWx0PSIiIHNyYz0iL2ltYWdlcy94LnBuZyIgLz48c3Bhbj7lrpjmlrnmjqjnibk8L3NwYW4+PC9hCiAgICAgICAgICAgID4KICAgICAgICAgICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIgogICAgICAgICAgICA+PGltZyBhbHQ9IiIgc3JjPSIvaW1hZ2VzL3FxLnBuZyIgLz48c3Bhbj7lrpjmlrlRUee+pDwvc3Bhbj48L2EKICAgICAgICAgICAgPgogICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiCiAgICAgICAgICAgID48aW1nIGFsdD0iIiBzcmM9Ii9pbWFnZXMvZ2l0aHViLnBuZyIgLz48c3Bhbj7lnLDlnYDlj5HluIPpobU8L3NwYW4+PC9hCiAgICAgICAgICAgID4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZm9vdGVyIj4KICAgICAgICA8cD4KICAgICAgICAgICAg5pys56uZ5Y+q5Li65rW35aSW5Y2O5Lq65o+Q5L6b5pyN5Yqh77yM6Z2e5rOV5b6L5YWB6K645Zyw5Yy65Lul5Y+KMTjlsoHku6XkuIvnlKjmiLfnpoHmraLorr/pl67vvIEgICAgICAgIDwvcD4gICAgICAgIDxwPiAgICAgICAgICAgICZjb3B5OyAyMDI1IDkx6KeG6aKRICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuOTFzcDAwMS5jb20iIHN0eWxlPSJjb2xvcjogI2ZmZiIgICAgICAgICAgICA+aHR0cHM6Ly93d3cuOTFzcDAwMS5jb208L2EKICAgICAgICAgICAgPgogICAgICAgICAgICBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICAgICAgICA8L3A+CiAgICA8L2Rpdj4KPC9kaXY+CjwvYm9keT4KCjxzY3JpcHQgdHlwZT0idGV4dC9odG1sIiBpZD0idGVtcGxldCI+CiAgICA8YSBocmVmPSIke3VybH0iPgogICAgICAgIDwhLS0gICAgICAgIDxpbWcgc3JjPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWhNQUFBQ3JDQU1BQUFEcmUrNG5BQUFCVTFCTVZFVUFBQUNPRnh1T0Z4dU9GeHVPRnh1T0Z4dU9GeHVPRnh1T0Z4dU9GeHVPRnh1T0Z4dU9GeHVPRnh1T0Z4dU9GeHVPRnh1T0Z4dU9GeHVPRnh1T0Z4dU9GeHYvNXVhT0Z4dU9GeHVPRnh2Ly92Nys1ZVg5Ky92ejVlWC8vZjM2M2QzOCtQajExZFhYblo2K2IzSGN0cmYvLy8vNzM5LysvUHo3OS9manRiYnc0T0QrNWVYOTVPVDc0ZUg5K3ZyMzZPbm51cnZ0eTh6bXVicjM3L0R5NCtQMzhQRDA2T25qd01HNWFXeWVOVGlVSWlYRmg0bXpZMmIrOWZYLy8vLy83T3orOVBUODhmSDc3dTc1NCtQNTZ1cjgrdnJ5M2Q3cndzUGhyN0RmcTZ6YnFLcng0dUxQajVIcDB0UHAwZExmdmI3VHBLYi85dmIzMk5qMjE5Zi8vdjc4NHVMOTd1Nzc0dUw2NCtQMzJObnZ5c3Jyd2NMRGVYdkhmNEd1VWxXc1RsR2pRa1gvLy8vLzZPai8vUHovOXZiLzh2TC83ZTMvL3Y3Lytmbi8rL3YvNit2LzgvUC83dTcvOFBELzlmWC8rUGovNnVwWVAvK1lBQUFBWVhSU1RsTUFCUWtFQ3hJSENpa3VEUkFVSVJvZUhDTW5MQmdsL0JZWEgvVDF5bHpsemJTdlhrRW8vTlhUbzJ4SDhlbmF3WkNBZVhkMmMycGxVVEl3SnlZVDgvbjE2TlhFdWJDcGhJUnhabE5TVVVVNkxSbjB2cnZ2NStiT3hyZWFqRWhEUERrYndsaU1kZ0FBREh4SlJFRlVlTnJzMnoyT28wQVFobUhQRnV4S2pVK0FBQkZnZ1FpWWdJSEV5SmtqeXovQlhLRHZmNG1kdGpBRms3WDU3ZGIzbk9GVlZUV2UyUUVBQUFBQUFBQUFBRmlQWUZHN0RhUE9CeXhtczIwZ2hmVnRLWXpmT2Z5RmhYMndMWFJCUHdZeC9JRVZETkpZTlFzT1lsakRQMWpRc0l4MXMrZ0gwV3ZCZ2NYMTJ1QXNscTZDaTJoN2VOYnd5S3ZQYzVGRzM3NkVoZmpmVVZxY1A2djg4U3lqN1dLTktuNEg0VFI1R1VjU1ZoVEZaZDQ0d3l5V3E0S0lWNFlLSXFsaVRJWk44T01xVVZud0VwbS9DaTZpQytKUkZRY0ptM0VvcWtlYnhWSlZFTkdyQ0hWUFhqTk1pTTN4czZ1Nk85c3FacjhyaGtXRWdZUk5Dc0poRmJ0WjhOcG9peEJoS21HejBsQzBWY3k1UUhoSXFCbVJZMFpzWEpDcldhRXhLa2F0RGNkSnpoSTI3NXc0em53TGhKTlFSWWdTbDZVUi9GSTREbytLT1pKbzE4WWRhOE1Zd2IxZElCekZERVBDcVRFa0RPTFh6Z3lqZ29lRVNxTEpKQmdsYTFRVVBDb21UVUlOaVFSN3d6aEJva1lGUnpGdEV1S0dIN29NRk4yRVJoU2FTVnh3U2hqSnYwd2FCUkUvUWNPVEJDT2RRbjZVRWsyV2hCQTFmZ0ExMXFFV2dxT1lMSWtRU1Jqc0VFNFJCU2VoOW9hNFlIRVk3WFFSYW45d0ZPUE9TNVhFRGVlbDRmeWJpbUxzb2RtOU9JUkk4QWcxWHBRSTBiMCt4aWZSNEZPVkJZSm1iQlJFWFJJZVBtaGJJZk82S0loR0psRkxzRUk5TGdycXZsNTZkOXlYbHZEdlh2ZEZrOTQ4SnA1SnVEZ21yQkc0enlqNHBORGZIQ29KcjVSZ2pkSlRVYnkxUFhySFJJTE5ZUkUvNlowVTJrbThOa2Nzd1NMeGEzdG9Sa0hFeDBRdXdTbzVueFJFYjJ3T3ozUHhuejJXU1YzUDQrM3h6cGdJSlZnbWZHZFE4SnZEM1dOTVdDZmR1L3oyME40Y0dCTldDdlczUjI5ejRIT1ZqUUszdHowMHg0VHJYaVZZNk9xNlBDaDB4d1IrRDdWUzFoOFVtbVBpaUUrWVZ2S1AvVUdoTnlhK0pGanBTMnRRRVBHWTJCY1NyRlRzZVZBUTZZeUpJLzU2L3o5NzU5TFROaEJGWWJWUnU2RzI0OGdvY1N1Vmw0cUVLRUpCU0lFZ3hGTWdzV1BEWTRGRXh3NlRqQi9KLzEvVjEyTXpOZ3U0WnVlcmUzN0RwKytjWENjTzBmdzV3b3JDbkRDMUpyZzZ5R1pmaThJY016RW5UR0NDbjRpU3pTb3dnVHhtbHBxQXMvWXpmK29nbTUvUGNPQXVSZkZoZGJ3dXpKSDh4eUVhT1hwZG1WQWUyS2RmL1N0bWdtemtWUi83Skt5Nk1QdXJrcUVnR2lsWCs5V1ZpYTJPd2UrQW1TQWFHZndlMU1vRFdSMUhRY0Npb0JrcGcrQ29WaDdJNmhnRkFZdUNaaklrZ3BFcER6UVRnLzBaaTRKbVFCT3ovUUdLaVU3SEhLejYzdTZNUlVFem9JblpydGMzWjZ0TzV3Tk42RG5oWFU1bnpBVEpnQ2FtbDU0ZUZJVW9VTlZobjArNVBFaEc1a3ljMjZZODBFeWNUVmtVSkpNak1UM0RNbUd1RTU1OXlrelFqR2JpMVBhcUY0b1BKeWJNQ2Z0NHl1VkJNVkl6Y1d6RG9EQWpFekV4N2U3dG5FVkJNUnFKK1czWC9uaGttam14QkhPaUd6SVRKRk13RVhaaFVDeVpRWUdZbU4wUW9PRHlvQmFvRGtCQ00vR3RHUlBITEFxS0tUVngyNWdKRDVnSW1RbDYwVXlFNFhIWDlsQk1mSzB3Y2NybFFUQmxkYVNuRlNhK1lwam9lN1p6bHVhaVlDWklSVXF0aWZUTXNiMCtpZ2x6bm5ET296U2NjM2tRQzFRSGFDSTZkOHlCNGowbXZsZVp1SXh5VVRBVHBBTFZBWnFJTHF0TWZFY3lzUnVCS0xnOFNFWEtRaFBSYm5NbXVzNlFtYUFYdzhUUTZUWm5ZalRKb09EeW9KVzhPZ0NKeWFnNUU3WnprRXkwS0pnSk9pazFNVWtPUHJNbi9Mc2tpc0tReTROUTh1b0l3eWhLN253a0UxOXFURnhvVVhCNTBBbFVoOWJFUllVSi9NM0t2MG95S0xnOEtFVlhSNFpFY3VYamIxYm10dTNmeEVrU3BWd2VkS0tySTQyU0pMN3hxN2R0N0RNd3h6MkpNMUZ3ZWRDSkRBS3RpZmpFZFF3VCtHZmxqblhCb2lDVmlpWXVySXlKd1NlWUdNWXNDa294bW9pSFRabFlLcGc0VUhITW9pQ1RWMDNFc1Rxd0hQeDM3OHgzZEIzZmVuakpvQUJSTUJNRUlpVm9BcEI0ZWJCOEIvY2QzYmRISzJ1b1hxQTlXQlFVb2pVQnpmR2lodGJiazFVSDlac2ZLSThUZ0NKS1dSUUVrbXNpalFDSkU2aU90eDlGa1NQVFdsTXFqbGtVRkZKcUlvNlZXclBxRTdNUkV6ZEtLUkFGZi9Sb2ZXUlFhRUlwZGRPVUNmTzAzTGZjZXdYdHdhSm9mUXBOUUhPb2V4Y21adjFkQTdoM2tvQW8zSzNGSW9OaWtvYjhCZTVXUjRJbXduU1NJYkZZYkxtZ2lUZnZKTUdYeDNnSG9PRDJhSHZLNWdBa2RzYjQ2cWd6b1M4VTdwWVFDOFh0MGZLOE5vZGFDTEhsNnVzRW1nbHpvZERsTWQ0VUl0K1ozQjd0alc2T2ZGOEtzVG5XMVlGOUZ5SmNLT3JsNGE0TElmSkpNV2NvV2hxcG13UEdoQkJpM1RYVllkNloycWc4bGg5ektESlI4TzkvV2hvWjZPYklrWGhjZnFjNmNPVmh1UnUvY2loNFVyUTFVbGFRK0xYaFd1OVVCNlk4UUJUWElndnZ6TGJHN0V1UjVWcHJBbDhkcGp3cUs5TWRyekFVN1kxR0lpMlFXQm03bFlWcHFnTlhIbVpsTGo5dGF5Z20vRldLMXFWQVlxS1IySDVhTmdzVC9kOVA5WlZwT3lDSzNwNG9vZURmQ3JZck9STHpFZ214MXdOTk9IWjlZWFlhL0pma0Q2OFFSVzlOc0NuYW1Mb2x4Rm9QTkdFZWt5T3F3enp6cUluQ2NudUhtd1lLZm10bVc1SVJVVU5pODdEbldqVk5tR2NkelVUaGd5ZzIvb3B5YURJVS85bTVuNVhXZ1RBSzRJdTc2R1FsR2xxNFpCR2FRa0hhUXVtdVQyQUxYU2x1VkJSR1MvOWN0WDMvMWZYa204bnBHTG9ZaldtRU9WeGZRSDZjODJYZytrc0NFdmFMQXhuMlVCTi92V3FDSmxnVXhYb3Nrb0RpZCtVemlXUlJMQWRyUWt4NEZBWGZLTTR2MUx5amtUMGVyL0puN3FDaXlWbkpnemFlcXZZYTZjd1ZEa3krVGJBbXZsd1U2dEtnQ0VmRkw4akJLV0ZJWEtxak5lRmZGQVdLQ1ZBVSt4R3Fvcm1Sa2pDN0lTUW1CUW52bW5DTFFoNHp6WHBJVTlqOVFGVUVGWTNNeXBhRTdJWnRDVmtPODRUcFV4UGx4MHlpVUdxZTZJT3EyQVVWRFl3UnNaT1NrQ1J6cFVqQzR3bVQrWE5zUGRSaXFHMVZ2QzZEaXVhRklwYXZ0aVQwY0tHT0xRZE5lSzFIL3UxaFVmVDYybVFiVkRRdWpvaXROdW4zTEluOG02TzBITjVGd2ZVUUZOT3VkbFc4ckFPTFJzU0FXTCs0SW5SM0tpUzRITDQxd2FJNGdpS2VEQTVWNE5yY0NZdmc0bVJaV1JBN1hKYUhJZ2FUK0FnSjFvVHZlcFJScUlkVUkvYTFBaXpRRm5EeHZBb3k2czBLZVlZSE5BUkE0RVdpU1BxZ3lpUzRISDRtK08yUjM1a09pdmdxMGN3V0xKWndzVnREeG1iekhGSmJOaHRvV08vZ1lRa1FXODBrVjdGRElyOHYrYzBCRTU1RndaTUNkNmFEb25lakViWUYvbERGRy83dzd2djdTMGl0K2ZpVi8vdmdnRDhya1RjRWM5TnpTT0MrNURIQm12QmZqeklLSEJWeDF0ZWZXT0IvbGtJR3NneXBJMi9MTitRVkhMWUNndWxuTVU2Sk1na3VoN2NKbmhRdUNyeG9Rc1ZzcEV2Wjc3ZXc4ZkV2NU9jRENEbUdRZ016bWtFRVhpOUp3ajBtWUtJNkZHMUJFYzFTSGRMSXBMTklTTFNySThHVGdpamswRHdURktJaXpycjV0ZGx4ZmtMcVRQbVhuM1N6V0VRSWlUTTVMMG1DeDBSVktGZ1ZVUEUwVHEyQ1R2aXAvNmNrSXgwL1FRUkxvaklTWEE5OGtWb1VlS2NvOXNPcWlIcmptMFJMZ281VC9IUXNqZVI2M0l1c2lHSTM4QzRoSk9RcmxNdnhEUlF0UVNHUFY3SWZqb280bW1iMzE3ZGE2N0FkSjh2dDlYMDJqV0pIaE95R1BGVUppUlpKZkxjcFdnVUtYSnFvQ3Fvd0xLTG9NUnZmZGRQUmNKRG9rSnFTRElhanRIczN6aDZqeUlDZ0NKUUVyc3VDUklzdFVSVUtlMVRZcXdJcXlBSXdRazRUY0NBSWlMQ1hoRDBsS2lMaG9yRFAzTElmTWlCVVlWd0VHcldGR09pQkltUTJaRGZNZzdaRG9pb1UzQStwQ3FqQWdvQUZYQWlNa05xanJBZUF3R3BBaEpRRWQ2TWlFa1FobjZSMlA2aEM3Z3F3UUZUSXlYSmhRTWdkUVJGU0V2WkJteVNxUXlIN0lRT0NCWUVLc0lBTHdBZzBhcytGcEEwUEFBRVJXQTB6RzdJYkZaTWdDbGFGb3dJczRBSnBRMFpJcldtRGcvRUFFSTRJbGdSSlZJbmlzQ3E0SUdRQkdFdzc1SWR6TGpFY0NJS3JjVmdTRG9scTkrTi91M1dVZ2pBUUEyRVlXVkJvUmZvZzJQdWYxQTRUbUtiUEpxMHcveEhDeCt6R1ZFZ0ZXY0JGd0FnZHJqWkpJQWQ0SUlnUW9aRTR2QnRGVXlFVndRSXVDR09qNFJvU0JuQ2dod0FoRVhVamtWRmtGV1N4dVFBTXlIRHRMZWdGRHdTUlJXUVNaVk1SS3ZZczRJSXRyakZpb0ljOWlCQlJOeEpDd1Y5RnFPQllvQ2RoUU1abXd6V0dpNi9rUUErY2lCQ0JuMFFoQ1UxRlVrRVdkQUVaYU4zM2RqOXQzZmRCVHdRUEJDRVJHb25LUmxaQkZuSUJHcTQ1M1g0T0VGbEVKUWxOQlZXSUJWd0FoanV0R1UwQ1FSSDFJNUZWaUFWZEJBenJhRXdYbitoQklQcEVTQVhIUWl3SWc4MnVQbEVnQjRIZ1JGQkVZK1BJZ2pEWTVGcVNCWEk0Z09nVklSVjZSQUFETWx4N0QzTFFreUVSM1EyeG9Jdm80UnJUM2U4Q2NZNkl6SUl3SU1PZDBKMGNMZ0NDRGJrZ0RkZmNUWTBMZ0lnR1liZ1RHeGZ5a0dBWVIxK2ljRWtPcWVFYStnOEx6am5ubkhQT09lZWNjODQ1VjlNWDJ3TUlQS2QrM1ZVQUFBQUFTVVZPUks1Q1lJST0iIC8+LS0+CiAgICAgICAgPGRpdiBjbGFzcz0idGV4dCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0blRpdGxlIj4ke3RleHR9PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bkxpbmsiPiR7dXJsX2hvc3R9PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2E+Cjwvc2NyaXB0Pgo8c2NyaXB0ID4KICAgIHZhciBiYXNlVGltZSA9IHBhcnNlSW50KCgobmV3IERhdGUoKSkuZ2V0VGltZSgpIC8gNzIwMDAwMCkgKyAiIiwgMTApLGxpbmVBcnk9W10sYmFja3VwTGluZT1bXQogICAgd29yZHMgPSAnYWJhbmRvbixhYmlsaXR5LGFibGUsYWJvdmUsYWJyb2FkLGFic2VuY2UsYWJzb3JiLGFidXNlLGFjY2VwdCxhY2Nlc3MsYWNjb3VudCxhY2N1c2UsYWNoaWV2ZSxhY2lkLGFjcXVpcmUsYWNyb3NzLGFjdCxhY3Rpb24sYWN0aXZlLGFjdG9yLGFjdHJlc3MsYWN0dWFsLGFkLGFkYXB0LGFkZCxhZGRyZXNzLGFkanVzdCxhZG1pcmUsYWRtaXQsYWRvcHQsYWR1bHQsYWR2YW5jZSxhZHZpY2UsYWR2aXNlLGFkdmlzZXIsYWZmYWlyLGFmZmVjdCxhZmZvcmQsYWZyYWlkLGFmcmljYW4sYWZ0ZXIsYWdhaW4sYWdhaW5zdCxhZ2UsYWdlbmN5LGFnZW5kYSxhZ2VudCxhZ28sYWdyZWUsYWgsYWhlYWQsYWlkLGFpZGUsYWlkcyxhaXIsYWlybGluZSxhaXJwb3J0LGFsYnVtLGFsY29ob2wsYWxpdmUsYWxsLGFsbG93LGFsbHksYWxtb3N0LGFsb25lLGFscmVhZHksYWxzbyxhbHRlcixhbHdheXMsYW0sYW1hemluZyxhbW9uZyxhbW91bnQsYW5hbHlzdCxhbmFseXplLGFuY2llbnQsYW5kLGFuZ2VyLGFuZ2xlLGFuZ3J5LGFuaW1hbCxhbm51YWwsYW5vdGhlcixhbnN3ZXIsYW54aWV0eSxhbnksYW55Ym9keSxhbnltb3JlLGFueW9uZSxhbnl3YXksYXBhcnQsYXBwZWFsLGFwcGVhcixhcHBsZSxhcHBseSxhcHBvaW50LGFwcHJvdmUsYXJhYixhcmVhLGFyZ3VlLGFyaXNlLGFybSxhcm1lZCxhcm15LGFyb3VuZCxhcnJhbmdlLGFycmVzdCxhcnJpdmFsLGFycml2ZSxhcnQsYXJ0aWNsZSxhcnRpc3QsYXMsYXNpYW4sYXNpZGUsYXNrLGFzbGVlcCxhc3BlY3QsYXNzYXVsdCxhc3NlcnQsYXNzZXNzLGFzc2V0LGFzc2lnbixhc3Npc3QsYXNzdW1lLGFzc3VyZSxhdCxhdGhsZXRlLGF0dGFjaCxhdHRhY2ssYXR0ZW1wdCxhdHRlbmQsYXR0cmFjdCxhdXRob3IsYXV0byxhdmVyYWdlLGF2b2lkLGF3YXJkLGF3YXJlLGF3YXksYXdmdWwsYmFieSxiYWNrLGJhZCxiYWRseSxiYWcsYmFrZSxiYWxhbmNlLGJhbGwsYmFuLGJhbmQsYmFuayxiYXIsYmFyZWx5LGJhcnJlbCxiYXJyaWVyLGJhc2UsYmFzaWMsYmFzaXMsYmFza2V0LGJhdHRlcnksYmF0dGxlLGJlLGJlYWNoLGJlYW4sYmVhcixiZWF0LGJlYXV0eSxiZWNhdXNlLGJlY29tZSxiZWQsYmVlcixiZWZvcmUsYmVnaW4sYmVoaW5kLGJlaW5nLGJlbGllZixiZWxpZXZlLGJlbGwsYmVsb25nLGJlbG93LGJlbHQsYmVuY2gsYmVuZCxiZW5lYXRoLGJlbmVmaXQsYmVzaWRlLGJlc2lkZXMsYmVzdCxiZXQsYmV0dGVyLGJldHdlZW4sYmV5b25kLGJpYmxlLGJpZyxiaWtlLGJpbGwsYmlsbGlvbixiaW5kLGJpcmQsYmlydGgsYml0LGJpdGUsYmxhY2ssYmxhZGUsYmxhbWUsYmxhbmtldCxibGluZCxibG9jayxibG9vZCxibG93LGJsdWUsYm9hcmQsYm9hdCxib2R5LGJvbWIsYm9tYmluZyxib25kLGJvbmUsYm9vayxib29tLGJvb3QsYm9yZGVyLGJvcm4sYm9ycm93LGJvc3MsYm90aCxib3RoZXIsYm90dGxlLGJvdHRvbSxib3dsLGJveCxib3ksYnJhaW4sYnJhbmNoLGJyYW5kLGJyZWFkLGJyZWFrLGJyZWFzdCxicmVhdGgsYnJlYXRoZSxicmljayxicmlkZ2UsYnJpZWYsYnJpZWZseSxicmlnaHQsYnJpbmcsYnJpdGlzaCxicm9hZCxicm9rZW4sYnJvdGhlcixicm93bixicnVzaCxidWNrLGJ1ZGdldCxidWlsZCxidWxsZXQsYnVuY2gsYnVyZGVuLGJ1cm4sYnVyeSxidXMsYnVzeSxidXQsYnV0dGVyLGJ1eSxidXllcixieSxjYWJpbixjYWJpbmV0LGNhYmxlLGNha2UsY2FsbCxjYW1lcmEsY2FtcCxjYW1wdXMsY2FuLGNhbmNlcixjYXAsY2FwYWJsZSxjYXBpdGFsLGNhcHRhaW4sY2FwdHVyZSxjYXIsY2FyYm9uLGNhcmQsY2FyZSxjYXJlZXIsY2FyZWZ1bCxjYXJyaWVyLGNhcnJ5LGNhc2UsY2FzaCxjYXN0LGNhdCxjYXRjaCxjYXVzZSxjZWlsaW5nLGNlbGwsY2VudGVyLGNlbnRyYWwsY2VudHVyeSxjZW8sY2VydGFpbixjaGFpbixjaGFpcicuc3BsaXQoJywnKSwKICAgICAgICBhZmZfY29kZSA9IGZ1bmN0aW9uKG51bWJlcikgewogICAgICAgICAgICBpZiAobnVtYmVyIDwgMCkKICAgICAgICAgICAgICAgIHJldHVybiAnJzsKICAgICAgICAgICAgdmFyIG91dCA9ICIiLCBjb2RlcyA9ICJhYmNkZWZnaGprbW5wcXJzdHV2d3h5MjM0NTY3ODkiLCBrZXk7CiAgICAgICAgICAgIHdoaWxlIChudW1iZXIgPiAyOSkgewogICAgICAgICAgICAgICAga2V5ID0gbnVtYmVyICUgMzA7CiAgICAgICAgICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29yKG51bWJlciAvIDMwKSAtIDE7CiAgICAgICAgICAgICAgICBvdXQgPSBjb2Rlcy5jaGFyQXQoa2V5KSArIG91dDsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gY29kZXMuY2hhckF0KG51bWJlcikgKyBvdXQ7CiAgICAgICAgfTsKICAgICAgICAgICAgbGluZUFyeSA9IFZ4Lm1hcChWeC5yYW5nZSgxLCAzKSwgZnVuY3Rpb24gKHZhbHVlLCBpbmRleCwgYXJyYXkpIHsgICAgICAgIHJldHVybiBsb2NhdGlvbi5wcm90b2NvbCArICcvLycgKyBhZmZfY29kZShiYXNlVGltZSkgKyAneicgKyB2YWx1ZSArICcudHdlYWNrbnouY29tJyAgICB9KTsgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpPDM7IGkrKykgeyAgICAgICAgYmFja3VwTGluZVtpXSA9ICdodHRwczovL2Qydmd6Y3Jua21mZ3VvLmNsb3VkZnJvbnQubmV0JzsgICAgfSAgICAgICAgICAgIHZhciBjb250YWN0TGluZXMgPVt7Im5hbWUiOiJcdTU2ZGVcdTViYjZcdTc2ODRcdThkZWYiLCJ1cmwiOiJ5Ym1sLmh0bWwiLCJpY29uIjoiYm9vay5wbmcifSx7Im5hbWUiOiJcdTViOThcdTY1YjlcdTYzYThcdTcyNzkiLCJ1cmwiOiJ0d2l0dGVyLmh0bWwiLCJpY29uIjoieC5wbmcifSx7Im5hbWUiOiJcdTViOThcdTY1YjlRUVx1N2ZhNCIsInVybCI6InF1bi5odG1sIiwiaWNvbiI6InFxLnBuZyJ9LHsibmFtZSI6Ilx1NTczMFx1NTc0MFx1NTNkMVx1NWUwM1x1OTg3NSIsInVybCI6ImdpdGh1Yi5odG1sIiwiaWNvbiI6ImdpdGh1Yi5wbmcifV07ICAgIHZhciBhcHBCdG5zID1beyJuYW1lIjoiXHU0ZTBiXHU4ZjdkOTFcdTg5YzZcdTk4OTFBUFAiLCJ1cmwiOiJhcHAuaHRtbCJ9LHsibmFtZSI6IjkxXHU4OWM2XHU5ODkxXHU1Yjk4XHU2NWI5dGdcdTdmYTQiLCJ1cmwiOiJ0ZWxlZ3JhbS5odG1sIn1dOwo8L3NjcmlwdD4KPHNjcmlwdD4KICAgIChmdW5jdGlvbiAoZG9jKSB7CiAgICAgICAgY29uc3QgY2hpbmVzZU51bWJlcnMgPSBbIuS4gCIsICLkuowiLCAi5LiJIl07CiAgICAgICAgY29uc3QgbGlzdFdyYXAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGlzdC13cmFwIik7CiAgICAgICAgbGV0IGdldFBhcmFtcyA9IFtdOwogICAgICAgIGxldCBwYXRoID0gVngucXVlcnkoInBhdGgiKTsKICAgICAgICBpZiAocGF0aC5sZW5ndGggJiYgcGF0aC5zdWJzdHJpbmcoMCwgMSkgIT09ICIvIikgewogICAgICAgICAgICBwYXRoID0gIi8iICsgcGF0aDsKICAgICAgICB9CgogICAgICAgIGNvbnN0IHBpbmdMaW5rID0gYXN5bmMgKHVybCwgaW5kZXgpID0+IHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHt9KTsKICAgICAgICB9OwoKICAgICAgICBjb25zdCBleGVjdXRlVGFza3MgPSBhc3luYyAoKSA9PiB7CiAgICAgICAgICAgIC8vIOajgOafpSBsaW5lQXJ5IOS4reavj+S4qumTvuaOpeaYr+WQpuWPr+eUqAogICAgICAgICAgICBjb25zdCBwcm9taXNlcyA9IFtdOwogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmVBcnkubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIHByb21pc2VzLnB1c2goCiAgICAgICAgICAgICAgICAgICAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICBWeC5waW5nKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZUFyeVtpXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXJnKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UGFyYW1zLnB1c2goeyB0OiAieC1zdWNjZXNzIiwgdTogZW5jb2RlVVJJKGFyZy51cmwpIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoeyB1cmw6IGFyZy51cmwsIGluZGV4OiBpIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcmcpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRQYXJhbXMucHVzaCh7IHQ6ICJ4LWVycm9yIiwgdTogZW5jb2RlVVJJKGFyZy51cmwpIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdCh7IHVybDogYXJnLnVybCwgaW5kZXg6IGkgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsU2V0dGxlZChwcm9taXNlcyk7CiAgICAgICAgfTsKCiAgICAgICAgY29uc3QgcGluZ0Vycm9yTGluayA9ICh1cmwsIGkpID0+IHsKICAgICAgICAgICAgVngucGluZygKICAgICAgICAgICAgICAgIHVybCwKICAgICAgICAgICAgICAgIGksCiAgICAgICAgICAgICAgICAoYXJnKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgZ2V0UGFyYW1zLnB1c2goeyB0OiAieC1zdWNjZXNzIiwgdTogZW5jb2RlVVJJKGFyZy51cmwpIH0pOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIChhcmcpID0+IHsKICAgICAgICAgICAgICAgICAgICBnZXRQYXJhbXMucHVzaCh7IHQ6ICJ4LWVycm9yIiwgdTogZW5jb2RlVVJJKGFyZy51cmwpIH0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApOwogICAgICAgIH07CgogICAgICAgIGNvbnN0IHJlbmRlckFwcEJ0biA9IChsaXN0KSA9PiB7CiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRVcmwgPSBsaXN0LnJhbmRvbSgpOwogICAgICAgICAgICBjb25zdCBhcHBDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXBwLWJ0bnMiKTsKICAgICAgICAgICAgY29uc3QgYXBwTGluayA9IGFwcENvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCJhIik7CiAgICAgICAgICAgIGFwcEJ0bnMubWFwKChidG4sIGluZGV4KSA9PiB7CiAgICAgICAgICAgICAgICBsZXQgZWxtID0gYXBwTGlua1tpbmRleF07CiAgICAgICAgICAgICAgICBlbG0uaHJlZiA9IGAke2N1cnJlbnRVcmwudXJsfS8ke2J0bi51cmx9YDsKICAgICAgICAgICAgICAgIGVsbS50ZXh0Q29udGVudCA9IGJ0bi5uYW1lOwogICAgICAgICAgICB9KTsKICAgICAgICB9OwoKICAgICAgICBjb25zdCByZW5kZXJDb250YWN0ID0gKGxpc3QpID0+IHsKICAgICAgICAgICAgY29uc3QgY3VycmVudFVybCA9IGxpc3QucmFuZG9tKCk7CiAgICAgICAgICAgIGNvbnN0IGNvbnRhY3RDb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIjY29udGFjdExpc3QiKTsKICAgICAgICAgICAgY29uc3QgY29udGFjdExpbmsgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIjY29udGFjdExpc3QgYSIpOwogICAgICAgICAgICBjb250YWN0TGluZXMubWFwKChsaW5lLCBpbmRleCkgPT4gewogICAgICAgICAgICAgICAgY29uc3QgZWxtID0gY29udGFjdExpbmtbaW5kZXhdOwogICAgICAgICAgICAgICAgbGV0IGNvbnRhY3RJbWcgPSBlbG0ucXVlcnlTZWxlY3RvcigiaW1nIik7CiAgICAgICAgICAgICAgICBsZXQgY29udGFjdFNwYW4gPSBlbG0ucXVlcnlTZWxlY3Rvcigic3BhbiIpOwogICAgICAgICAgICAgICAgY29udGFjdEltZy5zcmMgPSBgL2ltYWdlcy8ke2xpbmUuaWNvbn1gOwogICAgICAgICAgICAgICAgZWxtLmhyZWYgPSBgJHtjdXJyZW50VXJsLnVybH0vJHtsaW5lLnVybH1gOwogICAgICAgICAgICAgICAgY29udGFjdFNwYW4udGV4dENvbnRlbnQgPSBsaW5lLm5hbWU7CiAgICAgICAgICAgIH0pOwogICAgICAgIH07CgogICAgICAgIGNvbnN0IHJlcG9ydExpbmUgPSAoKSA9PiB7CiAgICAgICAgICAgIGxldCBpbWcgPSBuZXcgSW1hZ2UoKTsKICAgICAgICAgICAgaW1nLnNyYyA9ICIvbG9neC5waHA/dD1qc29uJnU9IiArIGVuY29kZVVSSUNvbXBvbmVudChCYXNlNjQuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGdldFBhcmFtcykpKTsKICAgICAgICB9OwoKICAgICAgICBjb25zdCByZW5kZXJMaW5rQXJ5ID0gKCkgPT4gewoKICAgICAgICAgICAgbGV0IG5ld0xpbmsgPSBbXTsKICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lQXJ5Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICBuZXdMaW5rLnB1c2goewogICAgICAgICAgICAgICAgICAgIHVybDogbGluZUFyeVtpXSwKICAgICAgICAgICAgICAgICAgICB0ZXh0OiBgOTHop4bpopEt57q/6LevJHtjaGluZXNlTnVtYmVyc1tpXX1gLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY29uc3QgbGlzdFdyYXBzID0gbGlzdFdyYXAucXVlcnlTZWxlY3RvckFsbCgiYSIpOwogICAgICAgICAgICBuZXdMaW5rLm1hcCgoaXRlbSwgaW5kZXgpID0+IHsKICAgICAgICAgICAgICAgIGxldCBlbG0gPSBsaXN0V3JhcHNbaW5kZXhdOwogICAgICAgICAgICAgICAgZWxtLmhyZWYgPSBpdGVtLnVybCArIHBhdGg7CiAgICAgICAgICAgICAgICBsZXQgYnRuVGl0bGUgPSBlbG0ucXVlcnlTZWxlY3RvcigiZGl2LmJ0blRpdGxlIik7CiAgICAgICAgICAgICAgICBsZXQgYnRuTGluayA9IGVsbS5xdWVyeVNlbGVjdG9yKCJkaXYuYnRuTGluayIpOwogICAgICAgICAgICAgICAgY29uc3QgbGlua1Jlc3VsdCA9IGl0ZW0udXJsCiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL15odHRwcz86XC9cLy8sICIiKQogICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cLyQvLCAiIik7CiAgICAgICAgICAgICAgICBidG5UaXRsZS50ZXh0Q29udGVudCA9IGl0ZW0udGV4dDsKICAgICAgICAgICAgICAgIGJ0bkxpbmsudGV4dENvbnRlbnQgPSBsaW5rUmVzdWx0OwogICAgICAgICAgICB9KTsKICAgICAgICB9OwoKICAgICAgICByZW5kZXJMaW5rQXJ5KCk7CgogICAgICAgIGV4ZWN1dGVUYXNrcygpLnRoZW4oKHJlc3VsdHMpID0+IHsKICAgICAgICAgICAgbGV0IG5ld0xpc3QgPSBbXTsKICAgICAgICAgICAgcmVzdWx0cy5mb3JFYWNoKChyZXN1bHQpID0+IHsKICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09ICJmdWxmaWxsZWQiKSB7CiAgICAgICAgICAgICAgICAgICAgbmV3TGlzdC5wdXNoKHsKICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiByZXN1bHQudmFsdWUudXJsLAogICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBgOTHop4bpopEt57q/6LevJHtjaGluZXNlTnVtYmVyc1tyZXN1bHQudmFsdWUuaW5kZXhdfWAsCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGNvbnN0IGJhY2tMaW5rID0gYmFja3VwTGluZS5zaGlmdCgpOwogICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gcmVzdWx0LnJlYXNvbi5pbmRleDsKICAgICAgICAgICAgICAgICAgICBuZXdMaXN0LnB1c2goewogICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGJhY2tMaW5rLAogICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBgOTHop4bpopEt5aSH55So57q/6LevJHtjaGluZXNlTnVtYmVyc1tpbmRleF19YCwKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICBwaW5nRXJyb3JMaW5rKGJhY2tMaW5rLCBpbmRleCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgY29uc3QgbGlzdFdyYXBzID0gbGlzdFdyYXAucXVlcnlTZWxlY3RvckFsbCgiYSIpOwogICAgICAgICAgICAvLyDmm7TmlLnnur/ot6/mjInpkq7mlofmnKwKICAgICAgICAgICAgbmV3TGlzdC5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7CiAgICAgICAgICAgICAgICBsZXQgZWxtID0gbGlzdFdyYXBzW2luZGV4XTsKICAgICAgICAgICAgICAgIGVsbS5ocmVmID0gaXRlbS51cmwgKyBwYXRoOwogICAgICAgICAgICAgICAgbGV0IGJ0blRpdGxlID0gZWxtLnF1ZXJ5U2VsZWN0b3IoImRpdi5idG5UaXRsZSIpOwogICAgICAgICAgICAgICAgbGV0IGJ0bkxpbmsgPSBlbG0ucXVlcnlTZWxlY3RvcigiZGl2LmJ0bkxpbmsiKTsKICAgICAgICAgICAgICAgIGNvbnN0IGxpbmtSZXN1bHQgPSBpdGVtLnVybAogICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9eaHR0cHM/OlwvXC8vLCAiIikKICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvXC8kLywgIiIpOwogICAgICAgICAgICAgICAgYnRuVGl0bGUudGV4dENvbnRlbnQgPSBpdGVtLnRleHQ7CiAgICAgICAgICAgICAgICBidG5MaW5rLnRleHRDb250ZW50ID0gbGlua1Jlc3VsdDsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIC8vIGFwcCBkb3dubG9hZAogICAgICAgICAgICByZW5kZXJBcHBCdG4obmV3TGlzdCk7CiAgICAgICAgICAgIC8vIOiBlOezu+S6ugogICAgICAgICAgICByZW5kZXJDb250YWN0KG5ld0xpc3QpOwogICAgICAgICAgICAvLyDkuIrmiqXnur/ot6/mg4XlhrUKICAgICAgICAgICAgcmVwb3J0TGluZSgpOwogICAgICAgIH0pOwogICAgfSkoZG9jdW1lbnQpOwo8L3NjcmlwdD4KPCEtLSBHb29nbGUgdGFnIChndGFnLmpzKSAtLT4NCjxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPUctUEpNUDVFUTgyWCI+PC9zY3JpcHQ+DQo8c2NyaXB0Pg0KICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsNCiAgZnVuY3Rpb24gZ3RhZygpe2RhdGFMYXllci5wdXNoKGFyZ3VtZW50cyk7fQ0KICBndGFnKCdqcycsIG5ldyBEYXRlKCkpOw0KDQogIGd0YWcoJ2NvbmZpZycsICdHLVBKTVA1RVE4MlgnKTsNCjwvc2NyaXB0PjwvaHRtbD4));/script>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]