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 /* WARNING: This script is protected. Any attempt to reverse engineer, debug or de-..

Decoded Output download

 $codelock_active_key="niezlysklep"; @extract($_REQUEST); error_reporting(E_ALL ^ E_NOTICE); if ($codelock_act >= 1) { } else { @set_time_limit(240); } if ($codelock_enc == "") { $codelock_enc="codelock.php"; } else {} if ($codelock_act >= 1) { 		$codelock_testsize=@filesize($codelock_filed/$codelock_enc); 		if($codelock_testsize != $codelock_mastersize){ 		@chmod("$codelock_filed/$codelock_enc", 0777); 		if (@copy ("$codelock_rfiled/$codelock_enc","$codelock_filed/$codelock_enc")){}else{ 			$codelock_fp2 = @fopen("$codelock_filed/$codelock_enc", "wb"); 			if ($codelock_fp2) { } else { @unlink($codelock_filed/$codelock_enc); $codelock_fp2 = @fopen("$codelock_filed/$codelock_enc", "wb"); } 			if ($codelock_fp2) { 			@fwrite($codelock_fp2, $codelock_masterdata); 			@fclose($codelock_fp2); 			} 		} 		@chmod("$codelock_enc", 0777); } } else {} $codelock_encbrowser=""; $codelock_usezlib=""; $codelock_scname=""; $codelock_coname=""; $codelock_extranotes=""; if (!function_exists('gzdeflate') AND $codelock_usezlib=="^") { 	echo"<font face='verdana' size='2'><br><b>Error!</b> You need to install the ZLIB module for PHP to run this script!</font>"; 	die(); } else {}  if (function_exists('codelock_enc_int')) { } else { function codelock_enc_int($codelock_enc_int_code,$codelock_enc_key) { $codelock_encint_code=base64_encode($codelock_enc_int_code);  if ($codelock_enc_key == "") { } else { $codelock_enc_key=base64_encode($codelock_enc_key); $codelock_k1=substr($codelock_enc_key,0,1); $codelock_k2=substr($codelock_enc_key,1,1); $codelock_k3=substr($codelock_enc_key,2,1); $codelock_encint_code=str_replace("$codelock_k1", "$", $codelock_encint_code); $codelock_encint_code=str_replace("$codelock_k2", "(", $codelock_encint_code); $codelock_encint_code=str_replace("$codelock_k3", ")", $codelock_encint_code); } return $codelock_encint_code; } }  if (function_exists('codelock_dec_int')) { } else { function codelock_dec_int($codelock_decint_code,$codelock_calc_key) {  if ($codelock_calc_key == "") { } else { $codelock_calc_key=base64_encode($codelock_calc_key); $codelock_k1=substr($codelock_calc_key,0,1); $codelock_k2=substr($codelock_calc_key,1,1); $codelock_k3=substr($codelock_calc_key,2,1); $codelock_decint_code=str_replace("$", "$codelock_k1", $codelock_decint_code); $codelock_decint_code=str_replace("(", "$codelock_k2", $codelock_decint_code); $codelock_decint_code=str_replace(")", "$codelock_k3", $codelock_decint_code); } $codelock_decint_code=base64_decode($codelock_decint_code);  return $codelock_decint_code; } } if (function_exists('codelock_dec')) { } else { function codelock_dec($codelock_v){ switch($codelock_v){ case "A":$dv=0;break; case "B":$dv=1;break; case "C":$dv=2;break; case "D":$dv=3;break; case "E":$dv=4;break; case "F":$dv=5;break; case "G":$dv=6;break; case "H":$dv=7;break;	case "I":$dv=8;break; case "J":$dv=9;break; case "K":$dv=10;break; case "L":$dv=11;break; case "M":$dv=12;break; case "N":$dv=13;break; case "O":$dv=14;break; case "P":$dv=15;break; case "Q":$dv=16;break; case "R":$dv=17;break; case "S":$dv=18;break; case "T":$dv=19;break; case "U":$dv=20;break; case "V":$dv=21;break; case "W":$dv=22;break; case "X":$dv=23;break; case "Y":$dv=24;break; case "Z":$dv=25;break; case "a":$dv=26;break; case "b":$dv=27;break; case "c":$dv=28;break; case "d":$dv=29;break; case "e":$dv=30;break; case "f":$dv=31;break; case "g":$dv=32;break; case "h":$dv=33;break; case "i":$dv=34;break; case "j":$dv=35;break; case "k":$dv=36;break; case "l":$dv=37;break; case "m":$dv=38;break; case "n":$dv=39;break;	case "o":$dv=40;break; case "p":$dv=41;break; case "q":$dv=42;break; case "r":$dv=43;break; case "s":$dv=44;break; case "t":$dv=45;break; case "u":$dv=46;break; case "v":$dv=47;break; case "w":$dv=48;break; case "x":$dv=49;break; case "y":$dv=50;break; case "z":$dv=51;break; case "0":$dv=52;break; case "1":$dv=53;break; case "2":$dv=54;break; case "3":$dv=55;break;	case "4":$dv=56;break; case "5":$dv=57;break; case "6":$dv=58;break; case "7":$dv=59;break; case "8":$dv=60;break; case "9":$dv=61;break; case "+":$dv=62;break; case "/":$dv=63;break; case "=":$dv=64;break; default: $dv=0;break; } return $dv; } } if (function_exists('codelock_run')) { } else { function codelock_run($ciph,$key){ $m=0; $abc=""; for($i=0;$i<strlen($ciph);$i++){ $c=substr($ciph,$i,1); $dv=codelock_dec($c); $dv=($dv-$m)/4; $fb=decbin($dv); while(strlen($fb)<4){ $fb="0".$fb; } $abc=$abc.$fb; $m++; if($m>3){ $m=0; } } $kl=0; $pd=""; for($j=0;$j<strlen($abc);$j=$j+8){ $c=substr($abc,$j,8); $k=substr($key,$kl,1); $dc=bindec($c); $dc=$dc - strlen($key); $c=chr($dc); $kl++; if($kl>=strlen($key)){ $kl=0; } $dc=ord($c)^ord($k); $p=chr($dc); $pd=$pd.$p; } return $pd; } }  if (substr($codelock_active_key, 0, 15) != "codelock_active") { 	if ($codelock_enc == "") { $codelock_enc="codelock.php"; } else {} 		if($codelock_fixpath==""){ 			$codelock_located_file_temp=$codelock_filed."/".$codelock_enc; 		}else{ 			$codelock_located_file_temp=$codelock_fixpath."/".$codelock_enc; 		} 	$codelock_fp3 = @fopen("$codelock_located_file_temp", "rb"); 	$codelock_skip = fgets($codelock_fp3, 8192); 	$codelock_skip2 = fgets($codelock_fp3, 8192); 	$codelock_skip3 = fgets($codelock_fp3, 65536); 	$codelock_key_data = fread($codelock_fp3, filesize("$codelock_located_file_temp")); 	fclose ($codelock_fp3); 	if ($codelock_usezlib == "^") { 	$codelock_key_data=base64_decode($codelock_key_data); 	$codelock_key_data=gzinflate($codelock_key_data); 	} else {} 	$codelock_key_data=codelock_dec_int($codelock_key_data,$codelock_active_key); 	eval($codelock_key_data); 	if ($codelock_act >= 1) { 	} else { 	return; 	} } else {  	$codelock_askforkey="n"; 	if($codelock_askforkey == "y") { 	} else { 	$codelock_unlock="niezlysklep"; 	$codelock_sub="y"; 	}  	 if ($codelock_enc == "") { $codelock_enc="codelock.php"; } else {} 		if($codelock_fixpath==""){ 		$codelock_openthisfile2=$codelock_filed."/".$codelock_enc; 		}else{ 		$codelock_openthisfile2=$codelock_fixpath."/".$codelock_enc; 		} 	 	if($codelock_sub == "y") { 		$codelock_fp = @fopen("$codelock_openthisfile2", "rb"); 		$codelock_skip = fgets($codelock_fp, 8192); 		$codelock_skip2 = fgets($codelock_fp, 8192); 		$codelock_skip3 = fgets($codelock_fp, 65536); 		$codelock_key_data = fread($codelock_fp, filesize("$codelock_openthisfile2")); 		fclose ($codelock_fp); 			if ($codelock_usezlib == "^") { 			$codelock_key_data=base64_decode($codelock_key_data); 			$codelock_key_data=gzinflate($codelock_key_data); 			} else {} 		$codelock_exec=codelock_run($codelock_key_data,$codelock_unlock); 		if (eregi("codelock_decrypted", $codelock_exec)) {  			if ($codelock_usezlib == "^") { 			$codelock_codeii=$codelock_lock; 			for ($codelock_ii=0; $codelock_ii < 11; $codelock_ii++) { 			$codelock_codeii=gzinflate(base64_decode($codelock_codeii)); 			$codelock_codeii=str_replace("eval(gzinf"."late(base64_de"."code('", "", $codelock_codeii); 			$codelock_codeii=str_replace("')));", "", $codelock_codeii); 			} 			$codelock_lock=$codelock_codeii; 			} else { 			$codelock_lock=base64_decode($codelock_lock); 			}  			$codelock_skip3=$codelock_lock; 			$codelock_skip3=str_replace("codelock_ac"."tive_key_text", $codelock_unlock, $codelock_skip3); 			$pres_codelock_skip3=$codelock_skip3; 	 			if ($codelock_usezlib == "^") { 			$codelock_codeii=$codelock_skip3; 			$codelock_codeii=gzdeflate($codelock_codeii); $codelock_codeii=base64_encode($codelock_codeii); 			for ($codelock_ii=0; $codelock_ii < 10; $codelock_ii++) { 			$codelock_codeii="eval(gzinflate(base64_decode('".$codelock_codeii."')));"; 			$codelock_codeii=gzdeflate($codelock_codeii); $codelock_codeii=base64_encode($codelock_codeii); 			} 			$codelock_skip3=$codelock_codeii; 			} else { 			$codelock_skip3=base64_encode($codelock_skip3); 			}  		$codelock_nskip3=$codelock_skip3; 		$codelock_nnskip3=""; 		if ($codelock_exp == "") { } else { $codelock_nnskip3.="$"."codelock_exp=\"$codelock_exp\"; "; }  			if ($codelock_usezlib == "^") { 			$codelock_nnnskip3="if ("."$"."codelock_file == '') { echo \"<font face='verdana' size='2'><br><b>Error!</b> You cannot run codelock directly...</font>\"; die(); } else {} ".$codelock_nnskip3."$"."codelock_lock=\"$codelock_nskip3\"; eval(gzinflate(base64_decode("."$"."codelock_lock))); return; ?".chr(62).chr(13).chr(10); 			} else { 			$codelock_nnnskip3="if ("."$"."codelock_file == '') { echo \"<font face='verdana' size='2'><br><b>Error!</b> You cannot run codelock directly...</font>\"; die(); } else {} ".$codelock_nnskip3."$"."codelock_lock=\"$codelock_nskip3\"; eval(base64_decode("."$"."codelock_lock)); return; ?".chr(62).chr(13).chr(10); 			} 		$codelock_exec2=codelock_enc_int($codelock_exec,$codelock_unlock);  		if ($codelock_usezlib == "^") { 			$codelock_exec2=gzdeflate($codelock_exec2); 			$codelock_exec2=base64_encode($codelock_exec2); 			} else {} 		$codelock_fdata=$codelock_skip.$codelock_skip2.'$codelock_rfiled=dirname(__FILE__); '.$codelock_nnnskip3.$codelock_exec2; 		$codelock_masterdata=$codelock_fdata; 		@chmod("$codelock_enc", 0777); 		$codelock_fp2 = @fopen("$codelock_enc", "wb"); 		if ($codelock_fp2) { } else { echo "<br><b>Error!</b> There is a write permission problem.  You need to CHMOD the file: <b>$codelock_enc</b> to 777."; die(); } 		@fwrite($codelock_fp2, $codelock_fdata); 		@fclose ($codelock_fp2); 		@chmod("$codelock_enc", 0777); 		$codelock_mastersize=@filesize($codelock_enc);         ob_start(); phpinfo(INFO_GENERAL); $codelock_op_string = ob_get_contents();         ob_end_clean(); if (strstr($codelock_op_string, "indows")) { $codelock_w_op="y"; } else {} 		if ($codelock_w_op == "y") { $codelock_sep_str=";"; } else { $codelock_sep_str=":"; } 		$include_curr_dir=$codelock_filed; 		$include_dir_write=ini_get('include_path'); $include_dir_write=$include_dir_write.$codelock_sep_str.$include_curr_dir; 		ini_set('include_path', $include_dir_write); 		eval($codelock_exec); 		} else {} 		} else {}  if ($codelock_act >= 1) { 	return; 	} else { 		echo"



























"; 		echo"<br><table width=\"600\" border=\"1\" cellspacing=\"10\" cellpadding=\"10\" bgcolor=\"#E1EAFF\" bordercolor=\"#006699\"><tr><td>"; 	if($codelock_frun == ""){ 	$codelock_openthisfile=$codelock_file; 	}else{ 	$codelock_openthisfile='http://'.$_SERVER['HTTP_HOST']."/".$codelock_frun."/".$codelock_file; 	} 		echo"<form method=\"post\" action=\"$codelock_openthisfile\"><div align=\"center\">"; 			if ($codelock_scname == "") { 			echo "<font face=\"arial\" color=\"#006699\" size=\"4\"><b>This script is protected</b></font><br><br>"; 			} else { 			echo "<font face=\"arial\" color=\"#006699\" size=\"4\"><b>$codelock_scname is protected</b></font><br><br>"; 			} 		if ($codelock_sub == "y") { 		echo "<font face=\"arial\" color=\"#cc0000\" size=\"4\"><b>error </b></font><font face=\"arial\" color=\"#006699\" size=\"2\"><b>wrong unlock key</b></font><br><br>"; 		} else {} 		echo"<font face=\"Arial\" size=\"2\">Please enter your unlock key to proceed:</font><br><input type=\"text\" name=\"codelock_unlock\" size=\"32\" maxlength=\"64\">"; 		echo"<input type=\"hidden\" name=\"codelock_sub\" value=\"y\">"; 		echo"<input type=\"hidden\" name=\"codelock_encbrowser\" value=\"$codelock_encbrowser\">"; 		echo"<input type=\"hidden\" name=\"codelock_enc\" value=\"$codelock_enc\">"; 		echo"<br><br><input type=\"submit\" name=\"Submit\" value=\"Unlock Now >>>\">"; 		if ($codelock_coname == "") { } else {  		echo "<br><br><font face=\"arial\" color=\"#000000\" size=\"2\">This software is licensed to: $codelock_coname</font>"; 		} 		if ($codelock_extranotes == "") {} else { 		echo "<br><font face=\"arial\" color=\"#000000\" size=\"2\"><b>Note: </b>$codelock_extranotes</font>"; 			} 		echo"</div></form></td></tr></table>"; 	} } return;

Did this file decode correctly?

Original Code

<?PHP
/* WARNING: This script is protected. Any attempt to reverse engineer, debug or de-code this file or its dependent files is strictly prohibited */
$codelock_rfiled=dirname(__FILE__); if ($codelock_file == '') { echo "<font face='verdana' size='2'><br><b>Error!</b> You cannot run codelock directly...</font>"; die(); } else {} $codelock_lock="ICRjb2RlbG9ja19hY3RpdmVfa2V5PSJuaWV6bHlza2xlcCI7IEBleHRyYWN0KCRfUkVRVUVTVCk7IGVycm9yX3JlcG9ydGluZyhFX0FMTCBeIEVfTk9USUNFKTsgaWYgKCRjb2RlbG9ja19hY3QgPj0gMSkgeyB9IGVsc2UgeyBAc2V0X3RpbWVfbGltaXQoMjQwKTsgfSBpZiAoJGNvZGVsb2NrX2VuYyA9PSAiIikgeyAkY29kZWxvY2tfZW5jPSJjb2RlbG9jay5waHAiOyB9IGVsc2Uge30gaWYgKCRjb2RlbG9ja19hY3QgPj0gMSkgeyAJCSRjb2RlbG9ja190ZXN0c2l6ZT1AZmlsZXNpemUoJGNvZGVsb2NrX2ZpbGVkLyRjb2RlbG9ja19lbmMpOyAJCWlmKCRjb2RlbG9ja190ZXN0c2l6ZSAhPSAkY29kZWxvY2tfbWFzdGVyc2l6ZSl7IAkJQGNobW9kKCIkY29kZWxvY2tfZmlsZWQvJGNvZGVsb2NrX2VuYyIsIDA3NzcpOyAJCWlmIChAY29weSAoIiRjb2RlbG9ja19yZmlsZWQvJGNvZGVsb2NrX2VuYyIsIiRjb2RlbG9ja19maWxlZC8kY29kZWxvY2tfZW5jIikpe31lbHNleyAJCQkkY29kZWxvY2tfZnAyID0gQGZvcGVuKCIkY29kZWxvY2tfZmlsZWQvJGNvZGVsb2NrX2VuYyIsICJ3YiIpOyAJCQlpZiAoJGNvZGVsb2NrX2ZwMikgeyB9IGVsc2UgeyBAdW5saW5rKCRjb2RlbG9ja19maWxlZC8kY29kZWxvY2tfZW5jKTsgJGNvZGVsb2NrX2ZwMiA9IEBmb3BlbigiJGNvZGVsb2NrX2ZpbGVkLyRjb2RlbG9ja19lbmMiLCAid2IiKTsgfSAJCQlpZiAoJGNvZGVsb2NrX2ZwMikgeyAJCQlAZndyaXRlKCRjb2RlbG9ja19mcDIsICRjb2RlbG9ja19tYXN0ZXJkYXRhKTsgCQkJQGZjbG9zZSgkY29kZWxvY2tfZnAyKTsgCQkJfSAJCX0gCQlAY2htb2QoIiRjb2RlbG9ja19lbmMiLCAwNzc3KTsgfSB9IGVsc2Uge30gJGNvZGVsb2NrX2VuY2Jyb3dzZXI9IiI7ICRjb2RlbG9ja191c2V6bGliPSIiOyAkY29kZWxvY2tfc2NuYW1lPSIiOyAkY29kZWxvY2tfY29uYW1lPSIiOyAkY29kZWxvY2tfZXh0cmFub3Rlcz0iIjsgaWYgKCFmdW5jdGlvbl9leGlzdHMoJ2d6ZGVmbGF0ZScpIEFORCAkY29kZWxvY2tfdXNlemxpYj09Il4iKSB7IAllY2hvIjxmb250IGZhY2U9J3ZlcmRhbmEnIHNpemU9JzInPjxicj48Yj5FcnJvciE8L2I+IFlvdSBuZWVkIHRvIGluc3RhbGwgdGhlIFpMSUIgbW9kdWxlIGZvciBQSFAgdG8gcnVuIHRoaXMgc2NyaXB0ITwvZm9udD4iOyAJZGllKCk7IH0gZWxzZSB7fSAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnY29kZWxvY2tfZW5jX2ludCcpKSB7IH0gZWxzZSB7IGZ1bmN0aW9uIGNvZGVsb2NrX2VuY19pbnQoJGNvZGVsb2NrX2VuY19pbnRfY29kZSwkY29kZWxvY2tfZW5jX2tleSkgeyAkY29kZWxvY2tfZW5jaW50X2NvZGU9YmFzZTY0X2VuY29kZSgkY29kZWxvY2tfZW5jX2ludF9jb2RlKTsgIGlmICgkY29kZWxvY2tfZW5jX2tleSA9PSAiIikgeyB9IGVsc2UgeyAkY29kZWxvY2tfZW5jX2tleT1iYXNlNjRfZW5jb2RlKCRjb2RlbG9ja19lbmNfa2V5KTsgJGNvZGVsb2NrX2sxPXN1YnN0cigkY29kZWxvY2tfZW5jX2tleSwwLDEpOyAkY29kZWxvY2tfazI9c3Vic3RyKCRjb2RlbG9ja19lbmNfa2V5LDEsMSk7ICRjb2RlbG9ja19rMz1zdWJzdHIoJGNvZGVsb2NrX2VuY19rZXksMiwxKTsgJGNvZGVsb2NrX2VuY2ludF9jb2RlPXN0cl9yZXBsYWNlKCIkY29kZWxvY2tfazEiLCAiJCIsICRjb2RlbG9ja19lbmNpbnRfY29kZSk7ICRjb2RlbG9ja19lbmNpbnRfY29kZT1zdHJfcmVwbGFjZSgiJGNvZGVsb2NrX2syIiwgIigiLCAkY29kZWxvY2tfZW5jaW50X2NvZGUpOyAkY29kZWxvY2tfZW5jaW50X2NvZGU9c3RyX3JlcGxhY2UoIiRjb2RlbG9ja19rMyIsICIpIiwgJGNvZGVsb2NrX2VuY2ludF9jb2RlKTsgfSByZXR1cm4gJGNvZGVsb2NrX2VuY2ludF9jb2RlOyB9IH0gIGlmIChmdW5jdGlvbl9leGlzdHMoJ2NvZGVsb2NrX2RlY19pbnQnKSkgeyB9IGVsc2UgeyBmdW5jdGlvbiBjb2RlbG9ja19kZWNfaW50KCRjb2RlbG9ja19kZWNpbnRfY29kZSwkY29kZWxvY2tfY2FsY19rZXkpIHsgIGlmICgkY29kZWxvY2tfY2FsY19rZXkgPT0gIiIpIHsgfSBlbHNlIHsgJGNvZGVsb2NrX2NhbGNfa2V5PWJhc2U2NF9lbmNvZGUoJGNvZGVsb2NrX2NhbGNfa2V5KTsgJGNvZGVsb2NrX2sxPXN1YnN0cigkY29kZWxvY2tfY2FsY19rZXksMCwxKTsgJGNvZGVsb2NrX2syPXN1YnN0cigkY29kZWxvY2tfY2FsY19rZXksMSwxKTsgJGNvZGVsb2NrX2szPXN1YnN0cigkY29kZWxvY2tfY2FsY19rZXksMiwxKTsgJGNvZGVsb2NrX2RlY2ludF9jb2RlPXN0cl9yZXBsYWNlKCIkIiwgIiRjb2RlbG9ja19rMSIsICRjb2RlbG9ja19kZWNpbnRfY29kZSk7ICRjb2RlbG9ja19kZWNpbnRfY29kZT1zdHJfcmVwbGFjZSgiKCIsICIkY29kZWxvY2tfazIiLCAkY29kZWxvY2tfZGVjaW50X2NvZGUpOyAkY29kZWxvY2tfZGVjaW50X2NvZGU9c3RyX3JlcGxhY2UoIikiLCAiJGNvZGVsb2NrX2szIiwgJGNvZGVsb2NrX2RlY2ludF9jb2RlKTsgfSAkY29kZWxvY2tfZGVjaW50X2NvZGU9YmFzZTY0X2RlY29kZSgkY29kZWxvY2tfZGVjaW50X2NvZGUpOyAgcmV0dXJuICRjb2RlbG9ja19kZWNpbnRfY29kZTsgfSB9IGlmIChmdW5jdGlvbl9leGlzdHMoJ2NvZGVsb2NrX2RlYycpKSB7IH0gZWxzZSB7IGZ1bmN0aW9uIGNvZGVsb2NrX2RlYygkY29kZWxvY2tfdil7IHN3aXRjaCgkY29kZWxvY2tfdil7IGNhc2UgIkEiOiRkdj0wO2JyZWFrOyBjYXNlICJCIjokZHY9MTticmVhazsgY2FzZSAiQyI6JGR2PTI7YnJlYWs7IGNhc2UgIkQiOiRkdj0zO2JyZWFrOyBjYXNlICJFIjokZHY9NDticmVhazsgY2FzZSAiRiI6JGR2PTU7YnJlYWs7IGNhc2UgIkciOiRkdj02O2JyZWFrOyBjYXNlICJIIjokZHY9NzticmVhazsJY2FzZSAiSSI6JGR2PTg7YnJlYWs7IGNhc2UgIkoiOiRkdj05O2JyZWFrOyBjYXNlICJLIjokZHY9MTA7YnJlYWs7IGNhc2UgIkwiOiRkdj0xMTticmVhazsgY2FzZSAiTSI6JGR2PTEyO2JyZWFrOyBjYXNlICJOIjokZHY9MTM7YnJlYWs7IGNhc2UgIk8iOiRkdj0xNDticmVhazsgY2FzZSAiUCI6JGR2PTE1O2JyZWFrOyBjYXNlICJRIjokZHY9MTY7YnJlYWs7IGNhc2UgIlIiOiRkdj0xNzticmVhazsgY2FzZSAiUyI6JGR2PTE4O2JyZWFrOyBjYXNlICJUIjokZHY9MTk7YnJlYWs7IGNhc2UgIlUiOiRkdj0yMDticmVhazsgY2FzZSAiViI6JGR2PTIxO2JyZWFrOyBjYXNlICJXIjokZHY9MjI7YnJlYWs7IGNhc2UgIlgiOiRkdj0yMzticmVhazsgY2FzZSAiWSI6JGR2PTI0O2JyZWFrOyBjYXNlICJaIjokZHY9MjU7YnJlYWs7IGNhc2UgImEiOiRkdj0yNjticmVhazsgY2FzZSAiYiI6JGR2PTI3O2JyZWFrOyBjYXNlICJjIjokZHY9Mjg7YnJlYWs7IGNhc2UgImQiOiRkdj0yOTticmVhazsgY2FzZSAiZSI6JGR2PTMwO2JyZWFrOyBjYXNlICJmIjokZHY9MzE7YnJlYWs7IGNhc2UgImciOiRkdj0zMjticmVhazsgY2FzZSAiaCI6JGR2PTMzO2JyZWFrOyBjYXNlICJpIjokZHY9MzQ7YnJlYWs7IGNhc2UgImoiOiRkdj0zNTticmVhazsgY2FzZSAiayI6JGR2PTM2O2JyZWFrOyBjYXNlICJsIjokZHY9Mzc7YnJlYWs7IGNhc2UgIm0iOiRkdj0zODticmVhazsgY2FzZSAibiI6JGR2PTM5O2JyZWFrOwljYXNlICJvIjokZHY9NDA7YnJlYWs7IGNhc2UgInAiOiRkdj00MTticmVhazsgY2FzZSAicSI6JGR2PTQyO2JyZWFrOyBjYXNlICJyIjokZHY9NDM7YnJlYWs7IGNhc2UgInMiOiRkdj00NDticmVhazsgY2FzZSAidCI6JGR2PTQ1O2JyZWFrOyBjYXNlICJ1IjokZHY9NDY7YnJlYWs7IGNhc2UgInYiOiRkdj00NzticmVhazsgY2FzZSAidyI6JGR2PTQ4O2JyZWFrOyBjYXNlICJ4IjokZHY9NDk7YnJlYWs7IGNhc2UgInkiOiRkdj01MDticmVhazsgY2FzZSAieiI6JGR2PTUxO2JyZWFrOyBjYXNlICIwIjokZHY9NTI7YnJlYWs7IGNhc2UgIjEiOiRkdj01MzticmVhazsgY2FzZSAiMiI6JGR2PTU0O2JyZWFrOyBjYXNlICIzIjokZHY9NTU7YnJlYWs7CWNhc2UgIjQiOiRkdj01NjticmVhazsgY2FzZSAiNSI6JGR2PTU3O2JyZWFrOyBjYXNlICI2IjokZHY9NTg7YnJlYWs7IGNhc2UgIjciOiRkdj01OTticmVhazsgY2FzZSAiOCI6JGR2PTYwO2JyZWFrOyBjYXNlICI5IjokZHY9NjE7YnJlYWs7IGNhc2UgIisiOiRkdj02MjticmVhazsgY2FzZSAiLyI6JGR2PTYzO2JyZWFrOyBjYXNlICI9IjokZHY9NjQ7YnJlYWs7IGRlZmF1bHQ6ICRkdj0wO2JyZWFrOyB9IHJldHVybiAkZHY7IH0gfSBpZiAoZnVuY3Rpb25fZXhpc3RzKCdjb2RlbG9ja19ydW4nKSkgeyB9IGVsc2UgeyBmdW5jdGlvbiBjb2RlbG9ja19ydW4oJGNpcGgsJGtleSl7ICRtPTA7ICRhYmM9IiI7IGZvcigkaT0wOyRpPHN0cmxlbigkY2lwaCk7JGkrKyl7ICRjPXN1YnN0cigkY2lwaCwkaSwxKTsgJGR2PWNvZGVsb2NrX2RlYygkYyk7ICRkdj0oJGR2LSRtKS80OyAkZmI9ZGVjYmluKCRkdik7IHdoaWxlKHN0cmxlbigkZmIpPDQpeyAkZmI9IjAiLiRmYjsgfSAkYWJjPSRhYmMuJGZiOyAkbSsrOyBpZigkbT4zKXsgJG09MDsgfSB9ICRrbD0wOyAkcGQ9IiI7IGZvcigkaj0wOyRqPHN0cmxlbigkYWJjKTskaj0kais4KXsgJGM9c3Vic3RyKCRhYmMsJGosOCk7ICRrPXN1YnN0cigka2V5LCRrbCwxKTsgJGRjPWJpbmRlYygkYyk7ICRkYz0kZGMgLSBzdHJsZW4oJGtleSk7ICRjPWNocigkZGMpOyAka2wrKzsgaWYoJGtsPj1zdHJsZW4oJGtleSkpeyAka2w9MDsgfSAkZGM9b3JkKCRjKV5vcmQoJGspOyAkcD1jaHIoJGRjKTsgJHBkPSRwZC4kcDsgfSByZXR1cm4gJHBkOyB9IH0gIGlmIChzdWJzdHIoJGNvZGVsb2NrX2FjdGl2ZV9rZXksIDAsIDE1KSAhPSAiY29kZWxvY2tfYWN0aXZlIikgeyAJaWYgKCRjb2RlbG9ja19lbmMgPT0gIiIpIHsgJGNvZGVsb2NrX2VuYz0iY29kZWxvY2sucGhwIjsgfSBlbHNlIHt9IAkJaWYoJGNvZGVsb2NrX2ZpeHBhdGg9PSIiKXsgCQkJJGNvZGVsb2NrX2xvY2F0ZWRfZmlsZV90ZW1wPSRjb2RlbG9ja19maWxlZC4iLyIuJGNvZGVsb2NrX2VuYzsgCQl9ZWxzZXsgCQkJJGNvZGVsb2NrX2xvY2F0ZWRfZmlsZV90ZW1wPSRjb2RlbG9ja19maXhwYXRoLiIvIi4kY29kZWxvY2tfZW5jOyAJCX0gCSRjb2RlbG9ja19mcDMgPSBAZm9wZW4oIiRjb2RlbG9ja19sb2NhdGVkX2ZpbGVfdGVtcCIsICJyYiIpOyAJJGNvZGVsb2NrX3NraXAgPSBmZ2V0cygkY29kZWxvY2tfZnAzLCA4MTkyKTsgCSRjb2RlbG9ja19za2lwMiA9IGZnZXRzKCRjb2RlbG9ja19mcDMsIDgxOTIpOyAJJGNvZGVsb2NrX3NraXAzID0gZmdldHMoJGNvZGVsb2NrX2ZwMywgNjU1MzYpOyAJJGNvZGVsb2NrX2tleV9kYXRhID0gZnJlYWQoJGNvZGVsb2NrX2ZwMywgZmlsZXNpemUoIiRjb2RlbG9ja19sb2NhdGVkX2ZpbGVfdGVtcCIpKTsgCWZjbG9zZSAoJGNvZGVsb2NrX2ZwMyk7IAlpZiAoJGNvZGVsb2NrX3VzZXpsaWIgPT0gIl4iKSB7IAkkY29kZWxvY2tfa2V5X2RhdGE9YmFzZTY0X2RlY29kZSgkY29kZWxvY2tfa2V5X2RhdGEpOyAJJGNvZGVsb2NrX2tleV9kYXRhPWd6aW5mbGF0ZSgkY29kZWxvY2tfa2V5X2RhdGEpOyAJfSBlbHNlIHt9IAkkY29kZWxvY2tfa2V5X2RhdGE9Y29kZWxvY2tfZGVjX2ludCgkY29kZWxvY2tfa2V5X2RhdGEsJGNvZGVsb2NrX2FjdGl2ZV9rZXkpOyAJZXZhbCgkY29kZWxvY2tfa2V5X2RhdGEpOyAJaWYgKCRjb2RlbG9ja19hY3QgPj0gMSkgeyAJfSBlbHNlIHsgCXJldHVybjsgCX0gfSBlbHNlIHsgIAkkY29kZWxvY2tfYXNrZm9ya2V5PSJuIjsgCWlmKCRjb2RlbG9ja19hc2tmb3JrZXkgPT0gInkiKSB7IAl9IGVsc2UgeyAJJGNvZGVsb2NrX3VubG9jaz0ibmllemx5c2tsZXAiOyAJJGNvZGVsb2NrX3N1Yj0ieSI7IAl9ICAJIGlmICgkY29kZWxvY2tfZW5jID09ICIiKSB7ICRjb2RlbG9ja19lbmM9ImNvZGVsb2NrLnBocCI7IH0gZWxzZSB7fSAJCWlmKCRjb2RlbG9ja19maXhwYXRoPT0iIil7IAkJJGNvZGVsb2NrX29wZW50aGlzZmlsZTI9JGNvZGVsb2NrX2ZpbGVkLiIvIi4kY29kZWxvY2tfZW5jOyAJCX1lbHNleyAJCSRjb2RlbG9ja19vcGVudGhpc2ZpbGUyPSRjb2RlbG9ja19maXhwYXRoLiIvIi4kY29kZWxvY2tfZW5jOyAJCX0gCSAJaWYoJGNvZGVsb2NrX3N1YiA9PSAieSIpIHsgCQkkY29kZWxvY2tfZnAgPSBAZm9wZW4oIiRjb2RlbG9ja19vcGVudGhpc2ZpbGUyIiwgInJiIik7IAkJJGNvZGVsb2NrX3NraXAgPSBmZ2V0cygkY29kZWxvY2tfZnAsIDgxOTIpOyAJCSRjb2RlbG9ja19za2lwMiA9IGZnZXRzKCRjb2RlbG9ja19mcCwgODE5Mik7IAkJJGNvZGVsb2NrX3NraXAzID0gZmdldHMoJGNvZGVsb2NrX2ZwLCA2NTUzNik7IAkJJGNvZGVsb2NrX2tleV9kYXRhID0gZnJlYWQoJGNvZGVsb2NrX2ZwLCBmaWxlc2l6ZSgiJGNvZGVsb2NrX29wZW50aGlzZmlsZTIiKSk7IAkJZmNsb3NlICgkY29kZWxvY2tfZnApOyAJCQlpZiAoJGNvZGVsb2NrX3VzZXpsaWIgPT0gIl4iKSB7IAkJCSRjb2RlbG9ja19rZXlfZGF0YT1iYXNlNjRfZGVjb2RlKCRjb2RlbG9ja19rZXlfZGF0YSk7IAkJCSRjb2RlbG9ja19rZXlfZGF0YT1nemluZmxhdGUoJGNvZGVsb2NrX2tleV9kYXRhKTsgCQkJfSBlbHNlIHt9IAkJJGNvZGVsb2NrX2V4ZWM9Y29kZWxvY2tfcnVuKCRjb2RlbG9ja19rZXlfZGF0YSwkY29kZWxvY2tfdW5sb2NrKTsgCQlpZiAoZXJlZ2koImNvZGVsb2NrX2RlY3J5cHRlZCIsICRjb2RlbG9ja19leGVjKSkgeyAgCQkJaWYgKCRjb2RlbG9ja191c2V6bGliID09ICJeIikgeyAJCQkkY29kZWxvY2tfY29kZWlpPSRjb2RlbG9ja19sb2NrOyAJCQlmb3IgKCRjb2RlbG9ja19paT0wOyAkY29kZWxvY2tfaWkgPCAxMTsgJGNvZGVsb2NrX2lpKyspIHsgCQkJJGNvZGVsb2NrX2NvZGVpaT1nemluZmxhdGUoYmFzZTY0X2RlY29kZSgkY29kZWxvY2tfY29kZWlpKSk7IAkJCSRjb2RlbG9ja19jb2RlaWk9c3RyX3JlcGxhY2UoImV2YWwoZ3ppbmYiLiJsYXRlKGJhc2U2NF9kZSIuImNvZGUoJyIsICIiLCAkY29kZWxvY2tfY29kZWlpKTsgCQkJJGNvZGVsb2NrX2NvZGVpaT1zdHJfcmVwbGFjZSgiJykpKTsiLCAiIiwgJGNvZGVsb2NrX2NvZGVpaSk7IAkJCX0gCQkJJGNvZGVsb2NrX2xvY2s9JGNvZGVsb2NrX2NvZGVpaTsgCQkJfSBlbHNlIHsgCQkJJGNvZGVsb2NrX2xvY2s9YmFzZTY0X2RlY29kZSgkY29kZWxvY2tfbG9jayk7IAkJCX0gIAkJCSRjb2RlbG9ja19za2lwMz0kY29kZWxvY2tfbG9jazsgCQkJJGNvZGVsb2NrX3NraXAzPXN0cl9yZXBsYWNlKCJjb2RlbG9ja19hYyIuInRpdmVfa2V5X3RleHQiLCAkY29kZWxvY2tfdW5sb2NrLCAkY29kZWxvY2tfc2tpcDMpOyAJCQkkcHJlc19jb2RlbG9ja19za2lwMz0kY29kZWxvY2tfc2tpcDM7IAkgCQkJaWYgKCRjb2RlbG9ja191c2V6bGliID09ICJeIikgeyAJCQkkY29kZWxvY2tfY29kZWlpPSRjb2RlbG9ja19za2lwMzsgCQkJJGNvZGVsb2NrX2NvZGVpaT1nemRlZmxhdGUoJGNvZGVsb2NrX2NvZGVpaSk7ICRjb2RlbG9ja19jb2RlaWk9YmFzZTY0X2VuY29kZSgkY29kZWxvY2tfY29kZWlpKTsgCQkJZm9yICgkY29kZWxvY2tfaWk9MDsgJGNvZGVsb2NrX2lpIDwgMTA7ICRjb2RlbG9ja19paSsrKSB7IAkJCSRjb2RlbG9ja19jb2RlaWk9ImV2YWwoZ3ppbmZsYXRlKGJhc2U2NF9kZWNvZGUoJyIuJGNvZGVsb2NrX2NvZGVpaS4iJykpKTsiOyAJCQkkY29kZWxvY2tfY29kZWlpPWd6ZGVmbGF0ZSgkY29kZWxvY2tfY29kZWlpKTsgJGNvZGVsb2NrX2NvZGVpaT1iYXNlNjRfZW5jb2RlKCRjb2RlbG9ja19jb2RlaWkpOyAJCQl9IAkJCSRjb2RlbG9ja19za2lwMz0kY29kZWxvY2tfY29kZWlpOyAJCQl9IGVsc2UgeyAJCQkkY29kZWxvY2tfc2tpcDM9YmFzZTY0X2VuY29kZSgkY29kZWxvY2tfc2tpcDMpOyAJCQl9ICAJCSRjb2RlbG9ja19uc2tpcDM9JGNvZGVsb2NrX3NraXAzOyAJCSRjb2RlbG9ja19ubnNraXAzPSIiOyAJCWlmICgkY29kZWxvY2tfZXhwID09ICIiKSB7IH0gZWxzZSB7ICRjb2RlbG9ja19ubnNraXAzLj0iJCIuImNvZGVsb2NrX2V4cD1cIiRjb2RlbG9ja19leHBcIjsgIjsgfSAgCQkJaWYgKCRjb2RlbG9ja191c2V6bGliID09ICJeIikgeyAJCQkkY29kZWxvY2tfbm5uc2tpcDM9ImlmICgiLiIkIi4iY29kZWxvY2tfZmlsZSA9PSAnJykgeyBlY2hvIFwiPGZvbnQgZmFjZT0ndmVyZGFuYScgc2l6ZT0nMic+PGJyPjxiPkVycm9yITwvYj4gWW91IGNhbm5vdCBydW4gY29kZWxvY2sgZGlyZWN0bHkuLi48L2ZvbnQ+XCI7IGRpZSgpOyB9IGVsc2Uge30gIi4kY29kZWxvY2tfbm5za2lwMy4iJCIuImNvZGVsb2NrX2xvY2s9XCIkY29kZWxvY2tfbnNraXAzXCI7IGV2YWwoZ3ppbmZsYXRlKGJhc2U2NF9kZWNvZGUoIi4iJCIuImNvZGVsb2NrX2xvY2spKSk7IHJldHVybjsgPyIuY2hyKDYyKS5jaHIoMTMpLmNocigxMCk7IAkJCX0gZWxzZSB7IAkJCSRjb2RlbG9ja19ubm5za2lwMz0iaWYgKCIuIiQiLiJjb2RlbG9ja19maWxlID09ICcnKSB7IGVjaG8gXCI8Zm9udCBmYWNlPSd2ZXJkYW5hJyBzaXplPScyJz48YnI+PGI+RXJyb3IhPC9iPiBZb3UgY2Fubm90IHJ1biBjb2RlbG9jayBkaXJlY3RseS4uLjwvZm9udD5cIjsgZGllKCk7IH0gZWxzZSB7fSAiLiRjb2RlbG9ja19ubnNraXAzLiIkIi4iY29kZWxvY2tfbG9jaz1cIiRjb2RlbG9ja19uc2tpcDNcIjsgZXZhbChiYXNlNjRfZGVjb2RlKCIuIiQiLiJjb2RlbG9ja19sb2NrKSk7IHJldHVybjsgPyIuY2hyKDYyKS5jaHIoMTMpLmNocigxMCk7IAkJCX0gCQkkY29kZWxvY2tfZXhlYzI9Y29kZWxvY2tfZW5jX2ludCgkY29kZWxvY2tfZXhlYywkY29kZWxvY2tfdW5sb2NrKTsgIAkJaWYgKCRjb2RlbG9ja191c2V6bGliID09ICJeIikgeyAJCQkkY29kZWxvY2tfZXhlYzI9Z3pkZWZsYXRlKCRjb2RlbG9ja19leGVjMik7IAkJCSRjb2RlbG9ja19leGVjMj1iYXNlNjRfZW5jb2RlKCRjb2RlbG9ja19leGVjMik7IAkJCX0gZWxzZSB7fSAJCSRjb2RlbG9ja19mZGF0YT0kY29kZWxvY2tfc2tpcC4kY29kZWxvY2tfc2tpcDIuJyRjb2RlbG9ja19yZmlsZWQ9ZGlybmFtZShfX0ZJTEVfXyk7ICcuJGNvZGVsb2NrX25ubnNraXAzLiRjb2RlbG9ja19leGVjMjsgCQkkY29kZWxvY2tfbWFzdGVyZGF0YT0kY29kZWxvY2tfZmRhdGE7IAkJQGNobW9kKCIkY29kZWxvY2tfZW5jIiwgMDc3Nyk7IAkJJGNvZGVsb2NrX2ZwMiA9IEBmb3BlbigiJGNvZGVsb2NrX2VuYyIsICJ3YiIpOyAJCWlmICgkY29kZWxvY2tfZnAyKSB7IH0gZWxzZSB7IGVjaG8gIjxicj48Yj5FcnJvciE8L2I+IFRoZXJlIGlzIGEgd3JpdGUgcGVybWlzc2lvbiBwcm9ibGVtLiAgWW91IG5lZWQgdG8gQ0hNT0QgdGhlIGZpbGU6IDxiPiRjb2RlbG9ja19lbmM8L2I+IHRvIDc3Ny4iOyBkaWUoKTsgfSAJCUBmd3JpdGUoJGNvZGVsb2NrX2ZwMiwgJGNvZGVsb2NrX2ZkYXRhKTsgCQlAZmNsb3NlICgkY29kZWxvY2tfZnAyKTsgCQlAY2htb2QoIiRjb2RlbG9ja19lbmMiLCAwNzc3KTsgCQkkY29kZWxvY2tfbWFzdGVyc2l6ZT1AZmlsZXNpemUoJGNvZGVsb2NrX2VuYyk7ICAgICAgICAgb2Jfc3RhcnQoKTsgcGhwaW5mbyhJTkZPX0dFTkVSQUwpOyAkY29kZWxvY2tfb3Bfc3RyaW5nID0gb2JfZ2V0X2NvbnRlbnRzKCk7ICAgICAgICAgb2JfZW5kX2NsZWFuKCk7IGlmIChzdHJzdHIoJGNvZGVsb2NrX29wX3N0cmluZywgImluZG93cyIpKSB7ICRjb2RlbG9ja193X29wPSJ5IjsgfSBlbHNlIHt9IAkJaWYgKCRjb2RlbG9ja193X29wID09ICJ5IikgeyAkY29kZWxvY2tfc2VwX3N0cj0iOyI7IH0gZWxzZSB7ICRjb2RlbG9ja19zZXBfc3RyPSI6IjsgfSAJCSRpbmNsdWRlX2N1cnJfZGlyPSRjb2RlbG9ja19maWxlZDsgCQkkaW5jbHVkZV9kaXJfd3JpdGU9aW5pX2dldCgnaW5jbHVkZV9wYXRoJyk7ICRpbmNsdWRlX2Rpcl93cml0ZT0kaW5jbHVkZV9kaXJfd3JpdGUuJGNvZGVsb2NrX3NlcF9zdHIuJGluY2x1ZGVfY3Vycl9kaXI7IAkJaW5pX3NldCgnaW5jbHVkZV9wYXRoJywgJGluY2x1ZGVfZGlyX3dyaXRlKTsgCQlldmFsKCRjb2RlbG9ja19leGVjKTsgCQl9IGVsc2Uge30gCQl9IGVsc2Uge30gIGlmICgkY29kZWxvY2tfYWN0ID49IDEpIHsgCXJldHVybjsgCX0gZWxzZSB7IAkJZWNobyIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKIjsgCQllY2hvIjxicj48dGFibGUgd2lkdGg9XCI2MDBcIiBib3JkZXI9XCIxXCIgY2VsbHNwYWNpbmc9XCIxMFwiIGNlbGxwYWRkaW5nPVwiMTBcIiBiZ2NvbG9yPVwiI0UxRUFGRlwiIGJvcmRlcmNvbG9yPVwiIzAwNjY5OVwiPjx0cj48dGQ+IjsgCWlmKCRjb2RlbG9ja19mcnVuID09ICIiKXsgCSRjb2RlbG9ja19vcGVudGhpc2ZpbGU9JGNvZGVsb2NrX2ZpbGU7IAl9ZWxzZXsgCSRjb2RlbG9ja19vcGVudGhpc2ZpbGU9J2h0dHA6Ly8nLiRfU0VSVkVSWydIVFRQX0hPU1QnXS4iLyIuJGNvZGVsb2NrX2ZydW4uIi8iLiRjb2RlbG9ja19maWxlOyAJfSAJCWVjaG8iPGZvcm0gbWV0aG9kPVwicG9zdFwiIGFjdGlvbj1cIiRjb2RlbG9ja19vcGVudGhpc2ZpbGVcIj48ZGl2IGFsaWduPVwiY2VudGVyXCI+IjsgCQkJaWYgKCRjb2RlbG9ja19zY25hbWUgPT0gIiIpIHsgCQkJZWNobyAiPGZvbnQgZmFjZT1cImFyaWFsXCIgY29sb3I9XCIjMDA2Njk5XCIgc2l6ZT1cIjRcIj48Yj5UaGlzIHNjcmlwdCBpcyBwcm90ZWN0ZWQ8L2I+PC9mb250Pjxicj48YnI+IjsgCQkJfSBlbHNlIHsgCQkJZWNobyAiPGZvbnQgZmFjZT1cImFyaWFsXCIgY29sb3I9XCIjMDA2Njk5XCIgc2l6ZT1cIjRcIj48Yj4kY29kZWxvY2tfc2NuYW1lIGlzIHByb3RlY3RlZDwvYj48L2ZvbnQ+PGJyPjxicj4iOyAJCQl9IAkJaWYgKCRjb2RlbG9ja19zdWIgPT0gInkiKSB7IAkJZWNobyAiPGZvbnQgZmFjZT1cImFyaWFsXCIgY29sb3I9XCIjY2MwMDAwXCIgc2l6ZT1cIjRcIj48Yj5lcnJvciA8L2I+PC9mb250Pjxmb250IGZhY2U9XCJhcmlhbFwiIGNvbG9yPVwiIzAwNjY5OVwiIHNpemU9XCIyXCI+PGI+d3JvbmcgdW5sb2NrIGtleTwvYj48L2ZvbnQ+PGJyPjxicj4iOyAJCX0gZWxzZSB7fSAJCWVjaG8iPGZvbnQgZmFjZT1cIkFyaWFsXCIgc2l6ZT1cIjJcIj5QbGVhc2UgZW50ZXIgeW91ciB1bmxvY2sga2V5IHRvIHByb2NlZWQ6PC9mb250Pjxicj48aW5wdXQgdHlwZT1cInRleHRcIiBuYW1lPVwiY29kZWxvY2tfdW5sb2NrXCIgc2l6ZT1cIjMyXCIgbWF4bGVuZ3RoPVwiNjRcIj4iOyAJCWVjaG8iPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwiY29kZWxvY2tfc3ViXCIgdmFsdWU9XCJ5XCI+IjsgCQllY2hvIjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cImNvZGVsb2NrX2VuY2Jyb3dzZXJcIiB2YWx1ZT1cIiRjb2RlbG9ja19lbmNicm93c2VyXCI+IjsgCQllY2hvIjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cImNvZGVsb2NrX2VuY1wiIHZhbHVlPVwiJGNvZGVsb2NrX2VuY1wiPiI7IAkJZWNobyI8YnI+PGJyPjxpbnB1dCB0eXBlPVwic3VibWl0XCIgbmFtZT1cIlN1Ym1pdFwiIHZhbHVlPVwiVW5sb2NrIE5vdyA+Pj5cIj4iOyAJCWlmICgkY29kZWxvY2tfY29uYW1lID09ICIiKSB7IH0gZWxzZSB7ICAJCWVjaG8gIjxicj48YnI+PGZvbnQgZmFjZT1cImFyaWFsXCIgY29sb3I9XCIjMDAwMDAwXCIgc2l6ZT1cIjJcIj5UaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHRvOiAkY29kZWxvY2tfY29uYW1lPC9mb250PiI7IAkJfSAJCWlmICgkY29kZWxvY2tfZXh0cmFub3RlcyA9PSAiIikge30gZWxzZSB7IAkJZWNobyAiPGJyPjxmb250IGZhY2U9XCJhcmlhbFwiIGNvbG9yPVwiIzAwMDAwMFwiIHNpemU9XCIyXCI+PGI+Tm90ZTogPC9iPiRjb2RlbG9ja19leHRyYW5vdGVzPC9mb250PiI7IAkJCX0gCQllY2hvIjwvZGl2PjwvZm9ybT48L3RkPjwvdHI+PC90YWJsZT4iOyAJfSB9IHJldHVybjs="; eval(base64_decode($codelock_lock)); return; ?>
JGNvZGVs$2NrX2V4cG)yeV9tZXNzYWd)PSJWR2hwY3)Ca(IyU(xJR2x6SUhCeWIzU(xZM1JsWkNFPSI7IGVyc(9yX3J)cG9ydG)uZyhFX0FMTCBeIEVfTk9USUNFKTsNC(V4dHJhY3QoJF9QT1NUKTsNCiRj$2R)$G9ja19kZWNyeXB0ZWQ9IiI7DQokY29kZWxvY2tfYWN0aXZ)X2V4cG)yeT0iY29kZWxvY2tfYWN0aXZ)X2V4cG)yeV90ZXh0IjsNC()(ICgkY29kZWxvY2tfaXAgPT0gIiIpIHsgfSB)$HN)IHsgJGNvZGVs$2NrX2)wPWNvZGVs$2NrX2R)Y19p$nQoJGNvZGVs$2NrX2)wLCIiKTsgfQ0KJGNvZGVs$2NrX2V4cD1j$2R)$G9ja19kZWNfaW50KCRj$2R)$G9ja19)eHAsIiIpOw0KDQppZiAoJGNvZGVs$2NrX2V4cCA9PSAiMCIg$3IgJGNvZGVs$2NrX2V4cCA9PSAiIikgew0KfSB)$HN)IHsNCgkkY29kZWxvY2tfZXhwaXJ5X21)c3NhZ2U9Y29kZWxvY2tfZGVjX2)udCgkY29kZWxvY2tfZXhwaXJ5X21)c3NhZ2UsIiIpOw0KCSRj$2R)$G9ja19)eHBpcn)f$WVzc2FnZT1zdHJpcHNsYXNoZXMoJGNvZGVs$2NrX2V4cG)yeV9tZXNzYWd)KTsNCgkkY29kZWxvY2tfdG9kYXk9ZGF0ZSgiWW1kIix0aW1)KCkpOw0KCW)(ICggc3Vic3RyKCRj$2R)$G9ja19)eHAsIDgsIDEpID09ICIqIikgew0KCSRj$2R)$G9ja19keT1zdWJzdHIoJGNvZGVs$2NrX2V4cCwgNiwgMik7DQoJJGNvZGVs$2NrX21uPXN1YnN0cigkY29kZWxvY2tfZXhwLCA0LCAyKTsNCgkkY29kZWxvY2tfeXI9c3Vic3RyKCRj$2R)$G9ja19)eHAsIDAsIDQpOw0KCSRj$2R)$G9ja190$2RheV9hZGQ9c3RyZnRp$WUoIiVZJW0)ZCIsIG1rdG)tZSgwLDAsMCwkY29kZWxvY2tf$W4sJGNvZGVs$2NrX2R5LCRj$2R)$G9ja195cikpOw0KCX0gZWxzZSB7DQoJJGNvZGVs$2NrX2R5PXN1YnN0cigkY29kZWxvY2tfdG9kYXksIDYsIDIpOw0KCSRj$2R)$G9ja19t$j1zdWJzdHIoJGNvZGVs$2NrX3RvZGF5LCA0LCAyKTsNCgkkY29kZWxvY2tfeXI9c3Vic3RyKCRj$2R)$G9ja190$2RheSwgMCwgNCk7DQoJJGNvZGVs$2NrX3RvZGF5X2FkZD1zdHJ(dG)tZSgiJVk)$SVkIiwg$Wt0aW1)KDAsMCwwLCRj$2R)$G9ja19t$iwkY29kZWxvY2tfZHkrJGNvZGVs$2NrX2V4cCwkY29kZWxvY2tfeXIpKTsNCg)9DQoJJGNvZGVs$2NrX3RvZGF5X3dyaXR)PWJhc2U2NF9)$(NvZGUoJGNvZGVs$2NrX3RvZGF5X2FkZCk7DQoJaWYgKHN1YnN0cigkY29kZWxvY2tfYWN0aXZ)X2V4cG)yeSwgMCwgOCkgPT0gI(NvZGVs$2NrIiBBTkQgc3Vic3RyKCRj$2R)$G9ja19)eHAsIDgsIDEpICE9ICIqIikgew0KJGNvZGVs$2NrX2V4ZWM9c3RyX3J)cGxhY2UoI(NvZGVs$2NrX2FjdGkiLiJ2ZV9)eHBpcn)fdGV4dCIsIiRj$2R)$G9ja190$2RheV93c()0ZSIsJGNvZGVs$2NrX2V4ZWMpOw0KDQoJJGNvZGVs$2NrX2V4ZWMyPWNvZGVs$2NrX2VuY19p$nQoJGNvZGVs$2NrX2V4ZWMsJGNvZGVs$2NrX3Vu$G9jayk7DQoNC()(ICgkY29kZWxvY2tfdXN)e(xpYiA9PSAiXiIpIHsNCiRj$2R)$G9ja19)eGVjMj1ne(R)Z(xhdGUoJGNvZGVs$2NrX2V4ZWMyKTsNCiRj$2R)$G9ja19)eGVjMj1iYXN)NjRfZW5j$2R)KCRj$2R)$G9ja19)eGVjMik7DQp9IGVsc2Uge30NCg0KJGNvZGVs$2NrX3NraXAzPSRwc(VzX2NvZGVs$2NrX3NraXAzOw0KaWYgKCRj$2R)$G9ja191c2V6$G)iID09ICJeIikgew0KCSRj$2R)$G9ja19j$2R)aWk9JGNvZGVs$2NrX3NraXAzOw0KCSRj$2R)$G9ja19j$2R)aWk9Z3pkZWZsYXR)KCRj$2R)$G9ja19j$2R)aWkpOyAkY29kZWxvY2tfY29kZW)pPWJhc2U2NF9)$(NvZGUoJGNvZGVs$2NrX2NvZGVpaSk7DQoJZ(9yICgkY29kZWxvY2tfaWk9MDsgJGNvZGVs$2NrX2)pIDwgMTA7ICRj$2R)$G9ja19paSsrKSB7DQoJJGNvZGVs$2NrX2NvZGVpaT0iZXZh$Chne()uZ(xhdGUoY(FzZTY0X2R)Y29kZSgnIi4kY29kZWxvY2tfY29kZW)pLiInKSkpOyI7DQoJJGNvZGVs$2NrX2NvZGVpaT1ne(R)Z(xhdGUoJGNvZGVs$2NrX2NvZGVpaSk7ICRj$2R)$G9ja19j$2R)aWk9Y(FzZTY0X2VuY29kZSgkY29kZWxvY2tfY29kZW)pKTsNCg)9DQoJJGNvZGVs$2NrX3NraXAzPSRj$2R)$G9ja19j$2R)aWk7DQoJfSB)$HN)IHsNCgkkY29kZWxvY2tfc2tpcDM9Y(FzZTY0X2VuY29kZSgkY29kZWxvY2tfc2tpcDMpOw0KCX0NCg0KCSRj$2R)$G9ja19uc2tpcDM9JGNvZGVs$2NrX3NraXAzOw0KaWYgKCRj$2R)$G9ja191c2V6$G)iID09ICJeIikgew0KCSRj$2R)$G9ja19u$(5za2)wMz0iaWYgKCIuIiQiLiJj$2R)$G9ja19(aWx)ID09ICcnKSB7IGVjaG8gXCI8Z(9udCB(YWN)PSd2ZXJkYW5hJyBzaXp)PScyJz48YnI+PGI+RXJy$3IhPC9iPiBZ$3UgY2Fu$(90IHJ1$iBj$2R)$G9jayBkaXJ)Y3RseS4uLjwvZ(9udD5cIjsgZG))KCk7IH0gZWxzZSB7fSAiLiRj$2R)$G9ja19u$nNraXAzLiIkIi4iY29kZWxvY2tf$G9jaz1cIiRj$2R)$G9ja19uc2tpcDNcIjsgZXZh$Chne()uZ(xhdGUoY(FzZTY0X2R)Y29kZSgiLiIkIi4iY29kZWxvY2tf$G9jaykpKTsgc(V0dXJuOyA/Ii5jaHIoNjIpL(NocigxMykuY2hyKDEwKTsNCg)9IGVsc2Ugew0KCSRj$2R)$G9ja19u$(5za2)wMz0iaWYgKCIuIiQiLiJj$2R)$G9ja19(aWx)ID09ICcnKSB7IGVjaG8gXCI8Z(9udCB(YWN)PSd2ZXJkYW5hJyBzaXp)PScyJz48YnI+PGI+RXJy$3IhPC9iPiBZ$3UgY2Fu$(90IHJ1$iBj$2R)$G9jayBkaXJ)Y3RseS4uLjwvZ(9udD5cIjsgZG))KCk7IH0gZWxzZSB7fSAiLiRj$2R)$G9ja19u$nNraXAzLiIkIi4iY29kZWxvY2tf$G9jaz1cIiRj$2R)$G9ja19uc2tpcDNcIjsgZXZh$ChiYXN)NjRfZGVj$2R)KCIuIiQiLiJj$2R)$G9ja19s$2NrKSk7IHJ)dHVy$jsgPyIuY2hyKDYyKS5jaHIoMTMpL(NocigxMCk7DQoJfQ0KCSRj$2R)$G9ja19(ZGF0YT0kY29kZWxvY2tfc2tpcC4kY29kZWxvY2tfc2tpcDIuJGNvZGVs$2NrX25u$nNraXAzLiRj$2R)$G9ja19)eGVjMjsNCg)AY2ht$2QoIiRj$2R)$G9ja19)$(MiLCAwNzc3KTsNCgkkY29kZWxvY2tfZnAyID0gQGZvcGVuKCIkY29kZWxvY2tfZW5jIiwgIndiIik7DQoJaWYgKCRj$2R)$G9ja19(cDIpIHsgfSB)$HN)IHsgZWNo$yAiPGJyPjxiPkVyc(9yITwvYj4gVGh)c(UgaXMgYSB3c()0ZSBwZXJtaXNzaW9uIHBy$2JsZW0uICBZ$3Ug$(V)ZCB0$yBDSE1PRCB0aGUgZ()sZTogPGI+JGNvZGVs$2NrX2VuYzwvYj4gdG8gNzc1LiI7IGRpZSgpOyB9DQoJQGZ3c()0ZSgkY29kZWxvY2tfZnAyLCAkY29kZWxvY2tfZ(RhdGEpOw0KCUB(Y2xvc2UgKCRj$2R)$G9ja19(cDIpOw0KCUBjaG1vZCgiJGNvZGVs$2NrX2VuYyIsIDA3NzcpOw0KCX0gZWxzZSB7DQoJaWYgKHN1YnN0cigkY29kZWxvY2tfZXhwLCA4LCAxKSA9PSAiKiIpIHsNCgkkY29kZWxvY2tfYWN0aXZ)X2V4cG)yeT1zdWJzdHIoJGNvZGVs$2NrX2V4cCwgMCwgOCk7DQoJfSB)$HN)IHsgJGNvZGVs$2NrX2FjdG)2ZV9)eHBpcnk9Y29kZWxvY2tfZGVjX2)udCgkY29kZWxvY2tfYWN0aXZ)X2V4cG)yeSwiIik7IH0NCg)9DQoJaWYgKCRj$2R)$G9ja19hY3Rpd(VfZXhwaXJ5IDw9ICRj$2R)$G9ja190$2RheSkgew0KCWVjaG8gIjxicj48YnI+Ii4kY29kZWxvY2tfZXhwaXJ5X21)c3NhZ2U7DQoJZWNo$yAiPGJyPkV4cG)yeSBkYXR)OiAiLiRj$2R)$G9ja19hY3Rpd(VfZXhwaXJ5Ow0KCWRpZSgpOw0KCX0gZWxzZSB7fQ0KfQ0KDQppZiAoJGNvZGVs$2NrX2)wID09ICIiKSB7DQp9IGVsc2Ugew0KCSRj$2R)$G9ja19pcD1zdHJfc(Vw$GFjZSgiaHR0Ii4icDovLyIsICIiLCAkY29kZWxvY2tfaXApOw0KCSRj$2R)$G9ja19jaGVja19pcD0kSFRUUF9TRVJWRVJfVkFSU1siU0VSVkVSX0FERFIiXTsNCgkkY29kZWxvY2tfaG9zdD0kSFRUUF9TRVJWRVJfVkFSU1siU0VSVkVSX05BTUUiXTsNCg)pZigkY29kZWxvY2tfY2h)Y2tfaXA9PSIiKSB7ICRj$2R)$G9ja19jaGVja19pcD0kX1NFU)ZFU)siU0VSVkVSX0FERFIiXTsgfQ0KCW)(KCRj$2R)$G9ja19o$3N0PT0iIikgeyAkY29kZWxvY2tfaG9zdD0kX1NFU)ZFU)siU0VSVkVSX05BTUUiXTsgfQ0KCSRj$2R)$G9ja19pcD1zdHJfc(Vw$GFjZSgiICIsICIiLCAkY29kZWxvY2tfaXApOw0KCSRj$2R)$G9ja19tYXg9c3Vic3RyX2NvdW50KCRj$2R)$G9ja19pcCwgIiwiKTsNCgkkY29kZWxvY2tfY29tcF9pcD1)eHBs$2R)KCIsIiwkY29kZWxvY2tfaXApOw0KCWZvcigkY29kZWxvY2tfaT0wOyRj$2R)$G9ja19pPCgkY29kZWxvY2tf$WF4KzEpOyRj$2R)$G9ja19pKyspew0KCQ)pZiAoZXJ)Z2koJGNvZGVs$2NrX2Nv$XBfaXB$JGNvZGVs$2NrX2)dLCAkY29kZWxvY2tfY2h)Y2tfaXApKSB7ICRj$2R)$G9ja19(PSJ5IjsgfSB)$HN)IHt9DQoJCW)(ICh)c(VnaSgkY29kZWxvY2tfY29tcF9pcFskY29kZWxvY2tfaV0sICRj$2R)$G9ja19o$3N0KSkgeyAkY29kZWxvY2tfZj0ieSI7IH0gZWxzZSB7fQ0KCX0NCg)pZiAoJGNvZGVs$2NrX2YgPT0gInkiKSB7IH0gZWxzZSB7IA0KCWVjaG8gIjx($250IGZhY2U9XCJ2ZXJkYW5hXCIgc2)6ZT1cIjJcIj48YnI+PGI+RXJy$3IhPC9iPiBZ$3VyIE)QIEFkZHJ)c3Mg$3IgSG9zdG5h$WUgZG9)cyBu$3Qg$WF0Y2ggdGh)IHJ)cXVpc(VkIE)QPC9($250Pjxicj48YnI+IjsNCg))Y2hvICJUaG)zIHNjc()wdCBpcyByZXN0c()jdGVkIHRvIHRoZSBJUCBvciBVUkw6ICI7IGZvcigkY29kZWxvY2tfaT0wOyRj$2R)$G9ja19pPCgkY29kZWxvY2tf$WF4KzEpOyRj$2R)$G9ja19pKyspeyB)Y2hvIiRj$2R)$G9ja19j$21wX2)wWyRj$2R)$G9ja19pXSwgIjsgfSB)Y2hvIjxCUj48YnI+WW91ciBJUDogJGNvZGVs$2NrX2NoZWNrX2)wIGhvc3Q6ICRj$2R)$G9ja19o$3N0IjsNCg)kaWUoKTsgfQ0KfQ0KDQppZiAoJGNvZGVs$2NrX2FjdG)2ZV9rZXkgPT0gI(NvZGVs$2NrX2FjdG)2ZV9rZX)fdGV4dCIpIHsgJGNvZGVs$2NrX2FjdG)2ZV9rZXk9JGNvZGVs$2NrX3Vu$G9jazsgfSB)$HN)IHt9DQoNCiRj$2R)$G9ja19hY3Rfc3ViZG)yPSRj$2R)$G9ja19(aWx)ZDsNCg0KJGNvZGVs$2NrX25)d2NvZGU9IiI7DQokY29kZWxvY2tfaHRt$D0iIjsNCiRj$2R)$G9ja19odG1sX25)dz0iIjsNCkB1$(xp$(soJGNvZGVs$2NrX3RtcGZuYW1)KTsgDQokY29kZWxvY2tfY3dkdGVtcD1nZXRjd2QoKTsNCiRj$2R)$G9ja19hY3Rfc3ViZG)yPSRj$2R)$G9ja19(aWx)ZDsNCg0KLy8gVGhpcyBjYXVzZXMgaW5j$HVkZSBwc(9i$GVtcy4uLg0KI0BjaGRpcigkY29kZWxvY2tfYWN0X3N1Y(Rpcik7DQoNCiRj$2R)$G9ja19hY3Q9JGNvZGVs$2NrX2FjdCsxOw0KDQpvY)9zdGFydCgpOyBwaHBp$(ZvKE)ORk9fR0VORVJBTCk7ICRj$2R)$G9ja19vcF9zdHJp$(cgPSBvY)9nZXRfY29udGVudHMoKTsNC(9iX2VuZF9j$GVh$igpOyBpZiAoc3Ryc3RyKCRj$2R)$G9ja19vcF9zdHJp$(csICJp$(Rvd3MiKSkgeyAkY29kZWxvY2tfd19vcD0ieSI7IH0gDQppZiAoJGNvZGVs$2NrX3df$3AgPT0gInkiKSB7ICRj$2R)$G9ja19zZXBfc3RyPSI7IjsgfSB)$HN)IHsgJGNvZGVs$2NrX3N)cF9zdHI9IjoiOyB9DQokaW5j$HVkZV9jdXJyX2Rpcj0kY29kZWxvY2tfZ()sZWQ7DQokaW5j$HVkZV9kaXJfd3JpdGU9aW5pX2d)dCgnaW5j$HVkZV9wYXRoJyk7ICRp$(NsdWR)X2Rpc)93c()0ZT0kaW5j$HVkZV9kaXJfd3JpdGUuJGNvZGVs$2NrX3N)cF9zdHIuJG)uY2x1ZGVfY3Vyc)9kaXI7DQpp$()fc2V0KCdp$(NsdWR)X3BhdGgnLCAkaW5j$HVkZV9kaXJfd3JpdGUpOw0KDQokY29kZWxvY2tfaW5j$HVkZV9hZGRyZXNzPXN0c)9yZXBsYWN)KCRj$2R)$G9ja19jd2R0ZW1wLCAiIiwgJGNvZGVs$2NrX2Zp$GVkKTsNC()(KCRj$2R)$G9ja19p$(NsdWR)X2FkZHJ)c3M9PSIiKSB7fSB)$HN)IHsgJGNvZGVs$2NrX2)uY2x1ZGVfYWRkc(Vzcy49Ii8iOyB9DQoNCkB1$(xp$(soJGNvZGVs$2NrX3RtcGZuYW1)KTsNCiMJaWYoJGNvZGVs$2NrX2FjdCA+PTEpIHsgQGNoZG)yKCRj$2R)$G9ja19p$(NsdWR)X2FkZHJ)c3MpOyB9IGVsc2UgeyBjaGRpcigkY29kZWxvY2tfZ()sZWQpOyB9DQojCUB1$(xp$(soJGNvZGVs$2NrX3RtcGZuYW1)KTsgDQoNC(ds$2Jh$CAkY29kZWxvY2tfZ()4cGF0aDsNC()(KCRj$2R)$G9ja19(aXhwYXRoPT0iIi)7DQoJJGNvZGVs$2Nr$3B)$nRoaXN(aWx)PSRj$2R)$G9ja19(aWx)ZC4iLyIuJGNvZGVs$2NrX2Zp$GU7DQp9ZWxzZXsNCgkkY29kZWxvY2tvcGVudGhpc2Zp$GU9JGNvZGVs$2NrX2ZpeHBhdGguIi8iLiRj$2R)$G9ja19(aWx)Ow0KfQ0KCSRj$2R)$G9ja19(cD1AZ(9wZW4oJGNvZGVs$2Nr$3B)$nRoaXN(aWx)LCAic(IiKTsNC()(KCRj$2R)$G9ja19(cC)7DQp9ZWxzZXsNCiR2dGNvZGVs$2NrX2Zp$GUgPSBzdHJfc(Vw$GFjZSgnXFwnLCAnLycsIF9fRk)MRV9fKTsNCiRj$2R)$G9ja19p$(NsdWR)ZF9kaXJ)Y3RvcnkgPSBzdWJzdHIoJHZ0Y29kZWxvY2tfZ()sZSwgMCwgc3RycnBvcygkdnRj$2R)$G9ja19(aWx)LCAnLycpKTsNCiRj$2R)$G9ja29wZW50aG)zZ()sZT0kY29kZWxvY2tfaW5j$HVkZWRfZG)yZWN0$3J5LiIvIi4kdnRj$2R)$G9ja19(aWx)Ow0KJGNvZGVs$2NrX2ZwPUB($3B)$igkY29kZWxvY2tvcGVudGhpc2Zp$GUsICJyYiIpOw0KfQ0KCSRj$2R)$G9ja19pZ249Z(d)dHMoJGNvZGVs$2NrX2ZwLCA4MTkyKTsNCgkkY29kZWxvY2tfaWduMj1(Z2V0cygkY29kZWxvY2tfZnAsIDgxOTIpOw0KCSRj$2R)$G9ja19za2)wPWZnZXRzKCRj$2R)$G9ja19(cCwgNjU1MzYpOw0KCSRj$2R)$G9ja19kYXRhPWZyZWFkKCRj$2R)$G9ja19(cCwgZ()sZXNpe(UoIiRj$2R)$G9ja29wZW50aG)zZ()sZSIpKTsNCg)(Y2xvc2UgKCRj$2R)$G9ja19(cCk7DQoJaWYgKCRj$2R)$G9ja191c2V6$G)iID09ICJeIikgew0KCQkkY29kZWxvY2tfZGF0YT1iYXN)NjRfZGVj$2R)KCRj$2R)$G9ja19kYXRhKTsNCgkJJGNvZGVs$2NrX2RhdGE9Z3pp$(ZsYXR)KCRj$2R)$G9ja19kYXRhKTsNCg)9IGVsc2Uge30NCg0KCSRj$2R)$G9ja19wYWd)PWNvZGVs$2NrX2R)Y19p$nQoJGNvZGVs$2NrX2RhdGEsJGNvZGVs$2NrX2FjdG)2ZV9rZXkpOw0KDQogICAJaWYgKGVyZWdpKCJzZXNzaW8iLiJuX3N)dF9zYXZ)X2hh$(RsZXIoKSIsICRj$2R)$G9ja19wYWd)KSkgew0KCSRj$2R)$G9ja19(aXJzdD1jaHIoNjApLiI/cGhwIEBvY)9zdGFydCgpOyBAc2Vzc2)vIi4i$)9zZXRfc2F2ZV9oYW5k$GVyKCk7ID8iL(Nocig2MikuY2hyKDEzKS5jaHIoMTApOw0KCSRj$2R)$G9ja19wYWd)PXN0c)9yZXBsYWN)KCJzZXNzaW8iLiJuX3N)dF9zYXZ)X2hh$(RsZXIoKSIsICIjIiwgJGNvZGVs$2NrX3BhZ2UpOw0KCSRj$2R)$G9ja19wYWd)PSRj$2R)$G9ja19(aXJzdC4kY29kZWxvY2tfcGFnZTsNCg)9IGVsc2Uge30NCg0KIw)pZigkY29kZWxvY2tfZW5jYnJvd3N)ciA9PSAiXiIgQU5EICRj$2R)$G9ja19p$(NfdHJ1ZSAhPSAieSIpIHsNCg)pZigkY29kZWxvY2tfZW5jYnJvd3N)ciA9PSAiXiIpIHsNCgkkY29kZWxvY2tfaHRt$D0iIjsNCgkkY29kZWxvY2tfc2F(ZW1vZGU9QG)uaV9nZXQgKCdzYWZ)X21vZGUnKTsgDQojCUBjaGRpcigkY29kZWxvY2tfYWN0X2Rpcik7DQoJQHVu$G)uaygkY29kZWxvY2tfdG1wZ(5h$WUpOw0KCW)(ICh(aWx)X2V4aXN0cygidGVtcCIpKSB7DQoJJGNvZGVs$2NrX2Zp$GV0$XBz$(FtZT1zdWJzdHIoJGNvZGVs$2NrX2Zp$GUsIDAsIDMpOw0KIwkkY29kZWxvY2tfdG1wZ(5h$WU9InR)$XAvJGNvZGVs$2NrX2FjdC5jZGsiOw0KCSRj$2R)$G9ja190$XB($(FtZT1AdGVtcG5h$SgiL3RtcCIsIiIpOw0KCSRj$2R)$G9ja19(cDMgPSBAZ(9wZW4oJGNvZGVs$2NrX3RtcGZuYW1)LCJ3YiIpOw0KCX0gZWxzZSB7DQojCSRj$2R)$G9ja190$XB($(FtZT0iJGNvZGVs$2NrX2FjdC5jZGsiOw0KCSRj$2R)$G9ja190$XB($(FtZT1AdGVtcG5h$SgiL3RtcCIsIiIpOw0KCSRj$2R)$G9ja19(cDMgPSBAZ(9wZW4oJGNvZGVs$2NrX3RtcGZuYW1)LCJ3YiIpOw0KCX0NCg)pZiAoJGNvZGVs$2NrX2ZwMykgeyB9IGVsc2Ugew0KCQ)pZiAoJGNvZGVs$2NrX3NhZ(Vt$2R)ID09ICIxIikgeyB9IGVsc2Ugew0KIwkJJGNvZGVs$2NrX3RtcGZuYW1)PSIkY29kZWxvY2tfYWN0L(NkayI7DQoJCSRj$2R)$G9ja190$XB($(FtZT1AdGVtcG5h$SgiL3RtcCIsIiIpOw0KCQkkY29kZWxvY2tfZnAzPUB($3B)$igkY29kZWxvY2tfdG1wZ(5h$WUsIndiIik7DQoJCX0NCg)9DQoJ$2Jfc3RhcnQoKTsNCg)pZiAoZXJ)Z2koI(RpIi4iZSIsJGNvZGVs$2NrX3BhZ2UpIE9SIGVyZWdpKCJ)eGkiLiJ0IiwkY29kZWxvY2tfcGFnZSkpIHsgQGZj$G9zZSgkY29kZWxvY2tfZnAzKTsgJGNvZGVs$2NrX2ZwMz0iIjsNCgkgQHVu$G)uaygkY29kZWxvY2tfdG1wZ(5h$WUpOw0KCSB9IGVsc2Uge30NCg)pZigkY29kZWxvY2tfZnAzKSB7DQoJQGZ3c()0ZSgkY29kZWxvY2tfZnAzLCAkY29kZWxvY2tfcGFnZSk7DQoJQGZj$G9zZSgkY29kZWxvY2tfZnAzKTsgaW5j$HVkZSgkY29kZWxvY2tfdG1wZ(5h$WUpOw0KCUB1$(xp$(soJGNvZGVs$2NrX3RtcGZuYW1)KTsgDQojCW)(ICgkY29kZWxvY2tfYWN0ID49MSkgeyBAY2hkaXIoJGNvZGVs$2NrX2)uY2x1ZGVfYWRkc(Vzcyk7IH0gZWxzZSB7IEBjaGRpcigkY29kZWxvY2tfZ()sZWQpOyB9DQoJJGNvZGVs$2NrX3BhZ2U9IiI7DQoJfSB)$HN)IHsNCg))d(FsKCI/Ii5jaHIoNjIpLiRj$2R)$G9ja19wYWd)L(Nocig2MCkuIj9QSFAgIik7DQojCW)(ICgkY29kZWxvY2tfYWN0ID49MSkgeyBAY2hkaXIoJGNvZGVs$2NrX2)uY2x1ZGVfYWRkc(Vzcyk7IH0gZWxzZSB7IEBjaGRpcigkY29kZWxvY2tfZ()sZWQpOyB9DQoJfQ0KCSRj$2R)$G9ja19h$GwgPSBvY)9nZXRfY29udGVudHMoKTsNCg)vY)9)$(RfY2x)YW4oKTsNCg)9IGVsc2Uge30NCg0KCW)(KCRj$2R)$G9ja19)$(Nic(93c2VyID09ICJeIikgew0KCSRj$2R)$G9ja19odG1sX25)dz0iIjsNCgkkY29kZWxvY2tfaHRt$D0gJGNvZGVs$2NrX2Fs$DsNCgkkY29kZWxvY2tf$GVuZ3RoID0gc3Ry$GVuKCRj$2R)$G9ja19odG1sKTsNCgkkY29kZWxvY2tf$(V3Y29kZT0iIjsNCg)($3IgKCRj$2R)$G9ja19n$z0wOyAkY29kZWxvY2tfZ28gPCAkY29kZWxvY2tf$GVuZ3RoOyAkY29kZWxvY2tfZ28rKykgew0KCSRj$2R)$G9ja19jdXJyX3N0c()uZz0kY29kZWxvY2tfaHRt$FskY29kZWxvY2tfZ29dOw0KCW)(IChvc(QoJGNvZGVs$2NrX2N1cnJfc3RyaW5nKSA8IDEyOCkgeyAkY29kZWxvY2tfaHRt$F9uZXcuPSRj$2R)$G9ja19jdXJyX3N0c()uZzsgfSB)$HN)IHsNCgkkY29kZWxvY2tfaHRt$F9uZXcuPSI(IyIu$3JkKCRj$2R)$G9ja19jdXJyX3N0c()uZykuIjsiOw0KCX0gfQ0KCSRj$2R)$G9ja19kaXNhY(x)c()naHRj$G)jaz0i$iI7DQoJJGNvZGVs$2NrX2h0$Ww9JGNvZGVs$2NrX2h0$Wxf$(V3Ow0KCW)(ICgkY29kZWxvY2tfZG)zYWJsZXJpZ2h0Y2xpY2s9PSJ5Iikgew0KCSRj$2R)$G9ja19odG1sLj0iPHNjc()wdCBsYW5ndWFnZT1KYXZhU2NyaXB0PnZhciBtZXNzYWd)PVwiVGhpcyBj$2R)IG)zIHBy$3R)Y3R)ZCFcIjsgZnVuY3Rp$24gY2xpY2tJRTQoKXsgaWYgKGV2ZW50L(J1dHRv$j09Mi)7IGFsZXJ0KG1)c3NhZ2UpOyByZXR1c(4gZ(Fsc2U7IH0gfSB(dW5jdG)v$iBj$G)ja05TNCh)KXsgaWYgKGRvY3VtZW50L(xheWVyc3x8ZG9jdW1)$nQuZ2V0RWx)$WVudEJ5SWQ(JiFk$2N1$WVudC5h$GwpeyBpZiAoZS53aG)jaD09Mnx8ZS53aG)jaD09My)7IGFsZXJ0KG1)c3NhZ2UpOyByZXR1c(4gZ(Fsc2U7IH0gfSB9IG)(IChk$2N1$WVudC5sYX))cnMpeyBk$2N1$WVudC5jYXB0dXJ)RXZ)$nRzKEV2ZW50Lk1PVVNFRE9XTik7IGRvY3VtZW50L(9u$W91c2Vk$3duPWNsaWNrT)M0OyB9IGVsc2UgaWYgKGRvY3VtZW50L(Fs$CY(IWRvY3VtZW50L(d)dEVsZW1)$nRCeU)kKXsgZG9jdW1)$nQu$25t$3VzZWRvd249Y2xpY2tJRTQ7IH0gZG9jdW1)$nQu$25j$250ZXh0$WVudT1uZXcgRnVuY3Rp$24oXCJh$GVydChtZXNzYWd)KTtyZXR1c(4gZ(Fsc2VcIikgPC9zY3JpcHQ+IjsNCg)9IGVsc2Uge30NCgkkY29kZWxvY2tf$GVuZ3RoID0gc3Ry$GVuKCRj$2R)$G9ja19odG1sKTsNCgkkY29kZWxvY2tf$nRfaD1iYXN)NjRfZW5j$2R)KCRj$2R)$G9ja19odG1sKTsNCgkkY29kZWxvY2tf$nRfaD1zdHJfc(Vw$GFjZSgiQ0FnSSIsICIqIiwgJGNvZGVs$2NrX250X2gpOw0KCSRj$2R)$G9ja19udF9oPXN0c)9yZXBsYWN)KCJXNSIsICIhIiwgJGNvZGVs$2NrX250X2gpOw0KCSRj$2R)$G9ja19udF9oPXN0c)9yZXBsYWN)KCJDQWciLCAiQCIsICRj$2R)$G9ja19udF9oKTsNCgkkY29kZWxvY2tfY(9keT0id(FyJTIwY29kZWxvY2tfY(FzJTNEJTI3QUJDREVGR0hJSktMTU5PUFFSU1RVV)dYWVphY(NkZWZnaG)qa2xt$(9wcXJzdHV2d3h5ejAxMjM0NTY3ODk)MkI)MkY)Mjc)M0I)MjB(dW5jdG)v$iUyMGNvZGVs$2NrX2R)YyUyOHN0ciUyOSUyMCU3QiUyMHN0ciUzRHN0ci5zcGxpdCUyOCUyNyU0MCUyNyUyOS5q$2)uJTI4JTI3Q0FnJTI3JTI5JTNCJTIwc3RyJTNEc3RyLnNw$G)0JTI4JTI3JTIxJTI3JTI5L(pvaW4)Mjg)MjdXNSUyNyUyOSUzQiUyMHN0ciUzRHN0ci5zcGxpdCUyOCUyNyUyQSUyNyUyOS5q$2)uJTI4JTI3Q0FnSSUyNyUyOSUzQiUyMHZhciUyMGJ0JTJDJTIwZHQ)MjA)M0Q)MjA)Mjc)Mjc)M0I)MjB($3I)MjhpJTNEMCUzQiUyMGk)M0NzdHIu$GVuZ3RoJTNCJTIwaSUyMCUyQiUzRCUyMDQ)Mjk)MjA)N0I)MjBidCUyMCUzRCUyMCUyOGNvZGVs$2NrX2Jhcy5p$(R)eE9(JTI4c3RyL(NoYXJBdCUyOGk)Mjk)Mjk)MjA)MjY)MjAweGZ(JTI5JTIwJTNDJTNDMTg)MjA)N0M)MjA)Mjhj$2R)$G9ja19iYXMuaW5kZXhPZiUyOHN0ci5jaGFyQXQ)MjhpJTIwJTJCMSUyOSUyOSUyMCUyNiUyMDB4Z(Y)Mjk)MjA)M0M)M0MxMiUyMCU3QyUyMCUyOGNvZGVs$2NrX2Jhcy5p$(R)eE9(JTI4c3RyL(NoYXJBdCUyOGk)MjA)MkIyJTI5JTI5JTIwJTI2JTIwMHh(ZiUyOSUyMCUzQyUzQyUyMDY)MjA)N0M)MjBj$2R)$G9ja19iYXMuaW5kZXhPZiUyOHN0ci5jaGFyQXQ)MjhpJTIwJTJCMyUyOSUyOSUyMCUyNiUyMDB4Z(Y)M0I)MjBkdCUyMCUyQiUzRCUyMFN0c()uZy5(c(9tQ2hhckNvZGU)Mjg)MjhidCUyMCUyNiUyMDB4Z(YwMDAwJTI5JTIwJTNFJTNFMTY)MkM)MjA)MjhidCUyMCUyNiUyMDB4Z(YwMCUyOSUyMCUzRSUzRTg)MkM)MjBidCUyMCUyNiUyMDB4Z(Y)Mjk)M0I)MjA)N0Q)MjBpZiUyOHN0ci5jaGFyQ29kZUF0JTI4aSUyMC0yJTI5JTIwJTNEJTNEJTIwNjE)Mjk)MjA)N0I)MjByZXR1c(4)MjhkdC5zdWJzdHJp$(c)MjgwJTJDJTIwZHQu$GVuZ3RoJTIwLTI)Mjk)Mjk)M0I)MjA)N0Q)MjB)$HN)JTIwaWY)MjhzdHIuY2hhckNvZGVBdCUyOGk)MjAtMSUyOSUyMCUzRCUzRCUyMDYxJTI5JTIwJTdCJTIwc(V0dXJuJTI4ZHQuc3Vic3RyaW5nJTI4MCUyQyUyMGR0L(x)$(d0aCUyMC0xJTI5JTI5JTNCJTIwJTdEJTIwZWxzZSUyMCU3QnJ)dHVy$iUyOGR0JTI5JTdEJTNCJTIwJTdEIjsNCgkkY29kZWxvY2tf$(V3Y29kZS49ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NyaXB0IGxh$(d1YWd)PUphd(FTY3JpcHQ+ZXZh$Ch1$(VzY2FwZSgnJGNvZGVs$2NrX2JvZHknKSk7IGRvY3VtZW50LndyaXR)KGNvZGVs$2NrX2R)YygnJGNvZGVs$2NrX250X2gnKSk7IDwvc2NyaXB0PiIuY2hyKDEzKS5jaHIoMTApOw0KCWVjaG8gJGNvZGVs$2NrX25)d2NvZGU7DQoJc(V0dXJuOw0KCX0gZWxzZSB7DQojCUBjaGRpcigkY29kZWxvY2tfYWN0X2Rpcik7DQoJQHVu$G)uaygkY29kZWxvY2tfdG1wZ(5h$WUpOw0KCSRj$2R)$G9ja19zYWZ)$W9kZT1AaW5pX2d)dCAoJ3NhZ(Vf$W9kZScpOyANCg)pZiAoZ()sZV9)eG)zdHMoInR)$XAiKSkgew0KCSRj$2R)$G9ja19(aWx)dG1wc25h$WU9c3Vic3RyKCRj$2R)$G9ja19(aWx)LCAwLCAzKTsNCiMJJGNvZGVs$2NrX3RtcGZuYW1)PSJ0ZW1wLyRj$2R)$G9ja19hY3QuY2RrIjsgDQoJJGNvZGVs$2NrX3RtcGZuYW1)PUB0ZW1w$(FtKCIvdG1wIiwiIik7DQoJJGNvZGVs$2NrX2ZwMyA9IEB($3B)$igkY29kZWxvY2tfdG1wZ(5h$WUsIndiIik7DQoJfSB)$HN)IHsNCiMJJGNvZGVs$2NrX3RtcGZuYW1)PSIkY29kZWxvY2tfYWN0L(NkayI7DQoJJGNvZGVs$2NrX3RtcGZuYW1)PUB0ZW1w$(FtKCIvdG1wIiwiIik7DQoJICRj$2R)$G9ja19(cDMgPSBAZ(9wZW4oJGNvZGVs$2NrX3RtcGZuYW1)LCJ3YiIpOw0KCX0NCg)pZiAoJGNvZGVs$2NrX2ZwMykgeyB9IGVsc2Ugew0KCQ)pZiAoJGNvZGVs$2NrX3NhZ(Vt$2R)ID09ICIxIikgeyB9IGVsc2Ugew0KIwkJJGNvZGVs$2NrX3RtcGZuYW1)PSIkY29kZWxvY2tfYWN0L(NkayI7DQoJCSRj$2R)$G9ja190$XB($(FtZT1AdGVtcG5h$SgiL3RtcCIsIiIpOw0KCQkgJGNvZGVs$2NrX2ZwMz1AZ(9wZW4oJGNvZGVs$2NrX3RtcGZuYW1)LCJ3YiIpOw0KCQ)9DQoJfQ0KCW)(ICh)c(VnaSgiZGkiLiJ)IiwkY29kZWxvY2tfcGFnZSkgT1IgZXJ)Z2koI(V4aSIuInQiLCRj$2R)$G9ja19wYWd)KSkgeyBAZ(Ns$3N)KCRj$2R)$G9ja19(cDMpOyAkY29kZWxvY2tfZnAzPSIiOw0KIEB1$(xp$(soJGNvZGVs$2NrX3RtcGZuYW1)KTsgDQp9IGVsc2Uge30NCg)pZigkY29kZWxvY2tfZnAzKSB7DQoJQGZ3c()0ZSgkY29kZWxvY2tfZnAzLCAkY29kZWxvY2tfcGFnZSk7IEB(Y2xvc2UoJGNvZGVs$2NrX2ZwMyk7IG)uY2x1ZGUoJGNvZGVs$2NrX3RtcGZuYW1)KTsNCg0KCUB1$(xp$(soJGNvZGVs$2NrX3RtcGZuYW1)KTsgDQojCW)(ICgkY29kZWxvY2tfYWN0ID49MSkgeyBAY2hkaXIoJGNvZGVs$2NrX2)uY2x1ZGVfYWRkc(Vzcyk7IEB1$(xp$(soJGNvZGVs$2NrX3RtcGZuYW1)KTsgfSB)$HN)IHsgQGNoZG)yKCRj$2R)$G9ja19(aWx)ZCk7IEB1$(xp$(soJGNvZGVs$2NrX3RtcGZuYW1)KTsgfQ0KCSRj$2R)$G9ja19wYWd)PSIiOw0KCX0gZWxzZSB7DQoJZXZh$CgiPyIuY2hyKDYyKS4kY29kZWxvY2tfcGFnZS5jaHIoNjApLiI/UEhQICIpOw0KIw)pZiAoJGNvZGVs$2NrX2FjdCA+PTEpIHsgQGNoZG)yKCRj$2R)$G9ja19p$(NsdWR)X2FkZHJ)c3MpOyBAdW5saW5rKCRj$2R)$G9ja190$XB($(FtZSk7IH0gZWxzZSB7IEBjaGRpcigkY29kZWxvY2tfZ()sZWQpOyBAdW5saW5rKCRj$2R)$G9ja190$XB($(FtZSk7IH0NCg)9DQoJc(V0dXJuOw0KCX0=

Function Calls

dirname 1
base64_decode 1

Variables

$codelock_lock ICRjb2RlbG9ja19hY3RpdmVfa2V5PSJuaWV6bHlza2xlcCI7IEBleHRyYWN0..
$codelock_rfiled /

Stats

MD5 21b4ede7db6a61835a926e43b18c5b67
Eval Count 1
Decode Time 109 ms