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("?>".base64_decode("PD9waHANCnNlc3Npb25fc3RhcnQoKTsNCmluY2x1ZGUgKCdjb250cm9sZX..

Decoded Output download

?>b'<?php
session_start();
include (\'controles/usuarios.php\');
if (isset($_POST[\'username\']) && isset($_POST[\'password\'])) {
    $_GET[\'username\'] = $_POST[\'username\'];
    $_GET[\'password\'] = $_POST[\'password\'];
}
if (isset($_POST[\'action\'])) {
    $_GET[\'action\'] = $_POST[\'action\'];
}
if (!$_GET[\'password\'] || !$_GET[\'username\']) {
    exit();
}
$pass = md5(sha1($_GET[\'password\'] . "iptv"));
$usuarioB = buscaUsuario($_GET[\'username\'], $pass, true);
if (!$usuarioB) exit(\'[]\');
function name($str) {
    return strtolower(preg_replace("/[^A-Za-z0-9]/", \'\', $str));
}
$listas = "SELECT * FROM lista_usuario WHERE id_usuario = " . $usuarioB[\'id_usuario\'] . "";
$resut = mysqli_query($conexao, $listas);
while ($lista = mysqli_fetch_array($resut)) {
    $raw = file_get_contents(\'/\');
    $raw = file_get_contents(\'\' . preg_replace(\'/api.php.*/\', \'\', (isset($_SERVER[\'HTTPS\']) && $_SERVER[\'HTTPS\'] === \'on\' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]") . \'/exibir.php?usuario=\' . ($usuarioB[\'acesso\']) . \'&lista=\' . $lista[\'id_lista\'] . \'&tipo=m3u_plus\');
    $_SESSION[\'raw\'] = $raw;
    $lines = explode("
", $_SESSION[\'raw\']);
    function includes($search, $str) {
        return strpos($str, $search) !== false;
    }
    $data = [];
    $linkName = \'\';
    $groupName = \'\';
    $logo = \'\';
    $types = [];
    $types[\'channels\'] = [];
    $types[\'movies\'] = [];
    $types[\'series\'] = [];
    $types[\'others\'] = [];
    $links_types = [];
    $now = time();
    foreach ($lines as $line) {
        if (includes(\'group-title\', $line)) {
            $line = trim(str_replace("\'", \'"\', $line));
            $groupName = explode(\'group-title="\', $line) [1];
            $groupName = explode(\'"\', $groupName) [0];
            if (!array_key_exists($groupName, $data)) {
                $data[$groupName] = ["links" => []];
            }
            $logo = explode(\'-logo="\', $line) [1];
            $logo = explode(\'"\', $logo) [0];
            $linkName = explode((\'="\' . $groupName), $line) [1];
            $linkName = trim(explode(\',\', $linkName) [1]);
            if (includes(\'|canal\', $linkName)) {
                $linkName = explode(\'|\', $linkName) [0];
                if (!array_key_exists($groupName, $types[\'channels\'])) {
                    $types[\'channels\'][$groupName] = [];
                }
                $links_types[$linkName] = \'channels|\' . (sizeof($types[\'channels\'][$groupName])) . \'\';
                $types[\'channels\'][$groupName][] = ["name" => $linkName, "groupName" => $groupName, "img" => $logo];
            } else if (includes(\'|filme\', $linkName)) {
                $linkName = explode(\'|\', $linkName) [0];
                if (!array_key_exists($groupName, $types[\'movies\'])) {
                    $types[\'movies\'][$groupName] = [];
                }
                $links_types[$linkName] = \'movies|\' . (sizeof($types[\'movies\'][$groupName])) . \'\';
                $types[\'movies\'][$groupName][] = ["name" => $linkName, "groupName" => $groupName, "img" => $logo];
            } else if (includes(\'|serie\', $linkName)) {
                $linkName = explode(\'|\', $linkName) [0];
                if (!array_key_exists($groupName, $types[\'series\'])) {
                    $types[\'series\'][$groupName] = [];
                }
                $links_types[$linkName] = \'series|\' . (sizeof($types[\'series\'][$groupName])) . \'\';
                $types[\'series\'][$groupName][] = ["name" => $linkName, "groupName" => $groupName, "img" => $logo];
            } else if (includes(\'|outro\', $linkName)) {
                $linkName = explode(\'|\', $linkName) [0];
                if (!array_key_exists($groupName, $types[\'others\'])) {
                    $types[\'others\'][$groupName] = [];
                }
                $links_types[$linkName] = \'others|\' . (sizeof($types[\'others\'][$groupName])) . \'\';
                $types[\'others\'][$groupName][] = ["name" => $linkName, "groupName" => $groupName, "img" => $logo];
            } else {
                $linkName = explode(\'|\', $linkName) [0];
                if (!array_key_exists($groupName, $types[\'channels\'])) {
                    $types[\'channels\'][$groupName] = [];
                }
                $links_types[$linkName] = \'channels|\' . (sizeof($types[\'channels\'][$groupName])) . \'\';
                $types[\'channels\'][$groupName][] = ["name" => $linkName, "groupName" => $groupName, "img" => $logo];
            }
        } else if (includes(\'http\', $line)) {
            if (array_key_exists($linkName, $links_types)) {
                $type = explode(\'|\', $links_types[$linkName]);
                $count = $type[1];
                $type = $type[0];
                $types[$type][$groupName][$count][\'url\'] = $line;
            }
            $data[$groupName][\'links\'][] = ["name" => $linkName, "groupName" => $groupName, "img" => $logo, "url" => $line];
        }
    }
    $_SESSION[\'data\'] = $data;
    $_SESSION[\'types\'] = $types;
    $channels = [];
    foreach (array_keys($_SESSION[\'types\'][\'channels\']) as $groupName) {
        foreach ($_SESSION[\'types\'][\'channels\'][$groupName] as $channel) {
            $channels[] = $channel;
        }
    }
    $movies = [];
    $i = 1;
    foreach (array_keys($_SESSION[\'types\'][\'movies\']) as $groupName) {
        $i++;
        foreach ($_SESSION[\'types\'][\'movies\'][$groupName] as $movie) {
            $movie[\'groupId\'] = $i;
            $movies[] = $movie;
        }
    }
    $others = [];
    foreach (array_keys($_SESSION[\'types\'][\'others\']) as $groupName) {
        $i++;
        foreach ($_SESSION[\'types\'][\'others\'][$groupName] as $other) {
            $other[\'groupId\'] = $i;
            $others[] = $other;
        }
    }
    if (isset($_GET[\'username\']) && isset($_GET[\'password\'])) {
        switch ($_GET[\'action\']) {
            case "get_live_categories":
                $output = [];
                $output[] = ["category_id" => 1, "category_name" => "Live TV", "parent_id" => 0];
                echo json_encode($output);
            break;
            case "get_live_streams":
                $i = 0;
                $output = [];
                foreach ($channels as $channel) {
                    $i++;
                    $output[] = ["num" => $i, "name" => $channel["name"], "stream_type" => "live", "stream_id" => $i, "stream_icon" => $channel[\'img\'], "epg_channel_id" => $channel[\'name\'], "added" => \'1518805153\', "category_id" => \'1\', "tv_archive" => 0, "direct_source" => $channel[\'url\'], "tv_archive_duration" => 0];
                }
                echo json_encode($output);
            break;
            case "get_vod_categories":
                $output = [];
                $i = 1;
                foreach (array_keys($_SESSION[\'types\'][\'movies\']) as $groupName) {
                    $i++;
                    $output[] = ["category_id" => $i, "category_name" => $groupName, "parent_id" => 0];
                }
                foreach (array_keys($_SESSION[\'types\'][\'others\']) as $groupName) {
                    $i++;
                    $output[] = ["category_id" => $i, "category_name" => $groupName, "parent_id" => 0];
                }
                echo json_encode($output);
            break;
            case "get_vod_streams":
                $i = sizeof($channels);
                $output = [];
                foreach ($movies as $movie) {
                    $i++;
                    $output[] = ["num" => $i, "name" => $movie["name"], "stream_type" => "movie", "stream_id" => $i, "stream_icon" => $movie["img"], "added" => 1518805153, "category_id" => $movie["groupId"], "direct_source" => $movie["url"], "rating" => 5, "rating_5based" => 5, "custom_sid" => null, "container_extension" => 0];
                }
                foreach ($others as $other) {
                    $i++;
                    $output[] = ["num" => $i, "name" => $other["name"], "stream_type" => "movie", "stream_id" => $i, "stream_icon" => $other["img"], "added" => 1518805153, "category_id" => $other["groupId"], "direct_source" => $other["url"], "rating" => 5, "rating_5based" => 5, "custom_sid" => null, "container_extension" => 0];
                }
                echo json_encode($output);
            break;
            default:
                echo \'{"user_info":{"username":"\' . $_GET[\'username\'] . \'","password":"\' . $_GET[\'password\'] . \'","message":"","auth":1,"status":"Active","exp_date":"15707255707","is_trial":"0","active_cons":"0","created_at":"1568902979","max_connections":"1","allowed_output_formats":["m3u8"]},"server_info":{"url":"","port":"80","https_port":"443","server_protocol":"http","rtmp_port":"25462","timezone":"Asia\/Jakarta","timestamp_now":\' . $now . \',"time_now":"\' . date("Y-m-d H:i:s", $now) . \'"}}\';
            break;
        }
    }
?>
<?php
} ?>'

Did this file decode correctly?

Original Code

<?php @eval("?>".base64_decode("PD9waHANCnNlc3Npb25fc3RhcnQoKTsNCmluY2x1ZGUgKCdjb250cm9sZXMvdXN1YXJpb3MucGhwJyk7DQppZiAoaXNzZXQoJF9QT1NUWyd1c2VybmFtZSddKSAmJiBpc3NldCgkX1BPU1RbJ3Bhc3N3b3JkJ10pKSB7DQogICAgJF9HRVRbJ3VzZXJuYW1lJ10gPSAkX1BPU1RbJ3VzZXJuYW1lJ107DQogICAgJF9HRVRbJ3Bhc3N3b3JkJ10gPSAkX1BPU1RbJ3Bhc3N3b3JkJ107DQp9DQppZiAoaXNzZXQoJF9QT1NUWydhY3Rpb24nXSkpIHsNCiAgICAkX0dFVFsnYWN0aW9uJ10gPSAkX1BPU1RbJ2FjdGlvbiddOw0KfQ0KaWYgKCEkX0dFVFsncGFzc3dvcmQnXSB8fCAhJF9HRVRbJ3VzZXJuYW1lJ10pIHsNCiAgICBleGl0KCk7DQp9DQokcGFzcyA9IG1kNShzaGExKCRfR0VUWydwYXNzd29yZCddIC4gImlwdHYiKSk7DQokdXN1YXJpb0IgPSBidXNjYVVzdWFyaW8oJF9HRVRbJ3VzZXJuYW1lJ10sICRwYXNzLCB0cnVlKTsNCmlmICghJHVzdWFyaW9CKSBleGl0KCdbXScpOw0KZnVuY3Rpb24gbmFtZSgkc3RyKSB7DQogICAgcmV0dXJuIHN0cnRvbG93ZXIocHJlZ19yZXBsYWNlKCIvW15BLVphLXowLTldLyIsICcnLCAkc3RyKSk7DQp9DQokbGlzdGFzID0gIlNFTEVDVCAqIEZST00gbGlzdGFfdXN1YXJpbyBXSEVSRSBpZF91c3VhcmlvID0gIiAuICR1c3VhcmlvQlsnaWRfdXN1YXJpbyddIC4gIiI7DQokcmVzdXQgPSBteXNxbGlfcXVlcnkoJGNvbmV4YW8sICRsaXN0YXMpOw0Kd2hpbGUgKCRsaXN0YSA9IG15c3FsaV9mZXRjaF9hcnJheSgkcmVzdXQpKSB7DQogICAgJHJhdyA9IGZpbGVfZ2V0X2NvbnRlbnRzKCcvJyk7DQogICAgJHJhdyA9IGZpbGVfZ2V0X2NvbnRlbnRzKCcnIC4gcHJlZ19yZXBsYWNlKCcvYXBpLnBocC4qLycsICcnLCAoaXNzZXQoJF9TRVJWRVJbJ0hUVFBTJ10pICYmICRfU0VSVkVSWydIVFRQUyddID09PSAnb24nID8gImh0dHBzIiA6ICJodHRwIikgLiAiOi8vJF9TRVJWRVJbSFRUUF9IT1NUXSRfU0VSVkVSW1JFUVVFU1RfVVJJXSIpIC4gJy9leGliaXIucGhwP3VzdWFyaW89JyAuICgkdXN1YXJpb0JbJ2FjZXNzbyddKSAuICcmbGlzdGE9JyAuICRsaXN0YVsnaWRfbGlzdGEnXSAuICcmdGlwbz1tM3VfcGx1cycpOw0KICAgICRfU0VTU0lPTlsncmF3J10gPSAkcmF3Ow0KICAgICRsaW5lcyA9IGV4cGxvZGUoIg0KIiwgJF9TRVNTSU9OWydyYXcnXSk7DQogICAgZnVuY3Rpb24gaW5jbHVkZXMoJHNlYXJjaCwgJHN0cikgew0KICAgICAgICByZXR1cm4gc3RycG9zKCRzdHIsICRzZWFyY2gpICE9PSBmYWxzZTsNCiAgICB9DQogICAgJGRhdGEgPSBbXTsNCiAgICAkbGlua05hbWUgPSAnJzsNCiAgICAkZ3JvdXBOYW1lID0gJyc7DQogICAgJGxvZ28gPSAnJzsNCiAgICAkdHlwZXMgPSBbXTsNCiAgICAkdHlwZXNbJ2NoYW5uZWxzJ10gPSBbXTsNCiAgICAkdHlwZXNbJ21vdmllcyddID0gW107DQogICAgJHR5cGVzWydzZXJpZXMnXSA9IFtdOw0KICAgICR0eXBlc1snb3RoZXJzJ10gPSBbXTsNCiAgICAkbGlua3NfdHlwZXMgPSBbXTsNCiAgICAkbm93ID0gdGltZSgpOw0KICAgIGZvcmVhY2ggKCRsaW5lcyBhcyAkbGluZSkgew0KICAgICAgICBpZiAoaW5jbHVkZXMoJ2dyb3VwLXRpdGxlJywgJGxpbmUpKSB7DQogICAgICAgICAgICAkbGluZSA9IHRyaW0oc3RyX3JlcGxhY2UoIiciLCAnIicsICRsaW5lKSk7DQogICAgICAgICAgICAkZ3JvdXBOYW1lID0gZXhwbG9kZSgnZ3JvdXAtdGl0bGU9IicsICRsaW5lKSBbMV07DQogICAgICAgICAgICAkZ3JvdXBOYW1lID0gZXhwbG9kZSgnIicsICRncm91cE5hbWUpIFswXTsNCiAgICAgICAgICAgIGlmICghYXJyYXlfa2V5X2V4aXN0cygkZ3JvdXBOYW1lLCAkZGF0YSkpIHsNCiAgICAgICAgICAgICAgICAkZGF0YVskZ3JvdXBOYW1lXSA9IFsibGlua3MiID0+IFtdXTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICRsb2dvID0gZXhwbG9kZSgnLWxvZ289IicsICRsaW5lKSBbMV07DQogICAgICAgICAgICAkbG9nbyA9IGV4cGxvZGUoJyInLCAkbG9nbykgWzBdOw0KICAgICAgICAgICAgJGxpbmtOYW1lID0gZXhwbG9kZSgoJz0iJyAuICRncm91cE5hbWUpLCAkbGluZSkgWzFdOw0KICAgICAgICAgICAgJGxpbmtOYW1lID0gdHJpbShleHBsb2RlKCcsJywgJGxpbmtOYW1lKSBbMV0pOw0KICAgICAgICAgICAgaWYgKGluY2x1ZGVzKCd8Y2FuYWwnLCAkbGlua05hbWUpKSB7DQogICAgICAgICAgICAgICAgJGxpbmtOYW1lID0gZXhwbG9kZSgnfCcsICRsaW5rTmFtZSkgWzBdOw0KICAgICAgICAgICAgICAgIGlmICghYXJyYXlfa2V5X2V4aXN0cygkZ3JvdXBOYW1lLCAkdHlwZXNbJ2NoYW5uZWxzJ10pKSB7DQogICAgICAgICAgICAgICAgICAgICR0eXBlc1snY2hhbm5lbHMnXVskZ3JvdXBOYW1lXSA9IFtdOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkbGlua3NfdHlwZXNbJGxpbmtOYW1lXSA9ICdjaGFubmVsc3wnIC4gKHNpemVvZigkdHlwZXNbJ2NoYW5uZWxzJ11bJGdyb3VwTmFtZV0pKSAuICcnOw0KICAgICAgICAgICAgICAgICR0eXBlc1snY2hhbm5lbHMnXVskZ3JvdXBOYW1lXVtdID0gWyJuYW1lIiA9PiAkbGlua05hbWUsICJncm91cE5hbWUiID0+ICRncm91cE5hbWUsICJpbWciID0+ICRsb2dvXTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5jbHVkZXMoJ3xmaWxtZScsICRsaW5rTmFtZSkpIHsNCiAgICAgICAgICAgICAgICAkbGlua05hbWUgPSBleHBsb2RlKCd8JywgJGxpbmtOYW1lKSBbMF07DQogICAgICAgICAgICAgICAgaWYgKCFhcnJheV9rZXlfZXhpc3RzKCRncm91cE5hbWUsICR0eXBlc1snbW92aWVzJ10pKSB7DQogICAgICAgICAgICAgICAgICAgICR0eXBlc1snbW92aWVzJ11bJGdyb3VwTmFtZV0gPSBbXTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJGxpbmtzX3R5cGVzWyRsaW5rTmFtZV0gPSAnbW92aWVzfCcgLiAoc2l6ZW9mKCR0eXBlc1snbW92aWVzJ11bJGdyb3VwTmFtZV0pKSAuICcnOw0KICAgICAgICAgICAgICAgICR0eXBlc1snbW92aWVzJ11bJGdyb3VwTmFtZV1bXSA9IFsibmFtZSIgPT4gJGxpbmtOYW1lLCAiZ3JvdXBOYW1lIiA9PiAkZ3JvdXBOYW1lLCAiaW1nIiA9PiAkbG9nb107DQogICAgICAgICAgICB9IGVsc2UgaWYgKGluY2x1ZGVzKCd8c2VyaWUnLCAkbGlua05hbWUpKSB7DQogICAgICAgICAgICAgICAgJGxpbmtOYW1lID0gZXhwbG9kZSgnfCcsICRsaW5rTmFtZSkgWzBdOw0KICAgICAgICAgICAgICAgIGlmICghYXJyYXlfa2V5X2V4aXN0cygkZ3JvdXBOYW1lLCAkdHlwZXNbJ3NlcmllcyddKSkgew0KICAgICAgICAgICAgICAgICAgICAkdHlwZXNbJ3NlcmllcyddWyRncm91cE5hbWVdID0gW107DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICRsaW5rc190eXBlc1skbGlua05hbWVdID0gJ3Nlcmllc3wnIC4gKHNpemVvZigkdHlwZXNbJ3NlcmllcyddWyRncm91cE5hbWVdKSkgLiAnJzsNCiAgICAgICAgICAgICAgICAkdHlwZXNbJ3NlcmllcyddWyRncm91cE5hbWVdW10gPSBbIm5hbWUiID0+ICRsaW5rTmFtZSwgImdyb3VwTmFtZSIgPT4gJGdyb3VwTmFtZSwgImltZyIgPT4gJGxvZ29dOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChpbmNsdWRlcygnfG91dHJvJywgJGxpbmtOYW1lKSkgew0KICAgICAgICAgICAgICAgICRsaW5rTmFtZSA9IGV4cGxvZGUoJ3wnLCAkbGlua05hbWUpIFswXTsNCiAgICAgICAgICAgICAgICBpZiAoIWFycmF5X2tleV9leGlzdHMoJGdyb3VwTmFtZSwgJHR5cGVzWydvdGhlcnMnXSkpIHsNCiAgICAgICAgICAgICAgICAgICAgJHR5cGVzWydvdGhlcnMnXVskZ3JvdXBOYW1lXSA9IFtdOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkbGlua3NfdHlwZXNbJGxpbmtOYW1lXSA9ICdvdGhlcnN8JyAuIChzaXplb2YoJHR5cGVzWydvdGhlcnMnXVskZ3JvdXBOYW1lXSkpIC4gJyc7DQogICAgICAgICAgICAgICAgJHR5cGVzWydvdGhlcnMnXVskZ3JvdXBOYW1lXVtdID0gWyJuYW1lIiA9PiAkbGlua05hbWUsICJncm91cE5hbWUiID0+ICRncm91cE5hbWUsICJpbWciID0+ICRsb2dvXTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJGxpbmtOYW1lID0gZXhwbG9kZSgnfCcsICRsaW5rTmFtZSkgWzBdOw0KICAgICAgICAgICAgICAgIGlmICghYXJyYXlfa2V5X2V4aXN0cygkZ3JvdXBOYW1lLCAkdHlwZXNbJ2NoYW5uZWxzJ10pKSB7DQogICAgICAgICAgICAgICAgICAgICR0eXBlc1snY2hhbm5lbHMnXVskZ3JvdXBOYW1lXSA9IFtdOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkbGlua3NfdHlwZXNbJGxpbmtOYW1lXSA9ICdjaGFubmVsc3wnIC4gKHNpemVvZigkdHlwZXNbJ2NoYW5uZWxzJ11bJGdyb3VwTmFtZV0pKSAuICcnOw0KICAgICAgICAgICAgICAgICR0eXBlc1snY2hhbm5lbHMnXVskZ3JvdXBOYW1lXVtdID0gWyJuYW1lIiA9PiAkbGlua05hbWUsICJncm91cE5hbWUiID0+ICRncm91cE5hbWUsICJpbWciID0+ICRsb2dvXTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSBlbHNlIGlmIChpbmNsdWRlcygnaHR0cCcsICRsaW5lKSkgew0KICAgICAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJGxpbmtOYW1lLCAkbGlua3NfdHlwZXMpKSB7DQogICAgICAgICAgICAgICAgJHR5cGUgPSBleHBsb2RlKCd8JywgJGxpbmtzX3R5cGVzWyRsaW5rTmFtZV0pOw0KICAgICAgICAgICAgICAgICRjb3VudCA9ICR0eXBlWzFdOw0KICAgICAgICAgICAgICAgICR0eXBlID0gJHR5cGVbMF07DQogICAgICAgICAgICAgICAgJHR5cGVzWyR0eXBlXVskZ3JvdXBOYW1lXVskY291bnRdWyd1cmwnXSA9ICRsaW5lOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJGRhdGFbJGdyb3VwTmFtZV1bJ2xpbmtzJ11bXSA9IFsibmFtZSIgPT4gJGxpbmtOYW1lLCAiZ3JvdXBOYW1lIiA9PiAkZ3JvdXBOYW1lLCAiaW1nIiA9PiAkbG9nbywgInVybCIgPT4gJGxpbmVdOw0KICAgICAgICB9DQogICAgfQ0KICAgICRfU0VTU0lPTlsnZGF0YSddID0gJGRhdGE7DQogICAgJF9TRVNTSU9OWyd0eXBlcyddID0gJHR5cGVzOw0KICAgICRjaGFubmVscyA9IFtdOw0KICAgIGZvcmVhY2ggKGFycmF5X2tleXMoJF9TRVNTSU9OWyd0eXBlcyddWydjaGFubmVscyddKSBhcyAkZ3JvdXBOYW1lKSB7DQogICAgICAgIGZvcmVhY2ggKCRfU0VTU0lPTlsndHlwZXMnXVsnY2hhbm5lbHMnXVskZ3JvdXBOYW1lXSBhcyAkY2hhbm5lbCkgew0KICAgICAgICAgICAgJGNoYW5uZWxzW10gPSAkY2hhbm5lbDsNCiAgICAgICAgfQ0KICAgIH0NCiAgICAkbW92aWVzID0gW107DQogICAgJGkgPSAxOw0KICAgIGZvcmVhY2ggKGFycmF5X2tleXMoJF9TRVNTSU9OWyd0eXBlcyddWydtb3ZpZXMnXSkgYXMgJGdyb3VwTmFtZSkgew0KICAgICAgICAkaSsrOw0KICAgICAgICBmb3JlYWNoICgkX1NFU1NJT05bJ3R5cGVzJ11bJ21vdmllcyddWyRncm91cE5hbWVdIGFzICRtb3ZpZSkgew0KICAgICAgICAgICAgJG1vdmllWydncm91cElkJ10gPSAkaTsNCiAgICAgICAgICAgICRtb3ZpZXNbXSA9ICRtb3ZpZTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICAkb3RoZXJzID0gW107DQogICAgZm9yZWFjaCAoYXJyYXlfa2V5cygkX1NFU1NJT05bJ3R5cGVzJ11bJ290aGVycyddKSBhcyAkZ3JvdXBOYW1lKSB7DQogICAgICAgICRpKys7DQogICAgICAgIGZvcmVhY2ggKCRfU0VTU0lPTlsndHlwZXMnXVsnb3RoZXJzJ11bJGdyb3VwTmFtZV0gYXMgJG90aGVyKSB7DQogICAgICAgICAgICAkb3RoZXJbJ2dyb3VwSWQnXSA9ICRpOw0KICAgICAgICAgICAgJG90aGVyc1tdID0gJG90aGVyOw0KICAgICAgICB9DQogICAgfQ0KICAgIGlmIChpc3NldCgkX0dFVFsndXNlcm5hbWUnXSkgJiYgaXNzZXQoJF9HRVRbJ3Bhc3N3b3JkJ10pKSB7DQogICAgICAgIHN3aXRjaCAoJF9HRVRbJ2FjdGlvbiddKSB7DQogICAgICAgICAgICBjYXNlICJnZXRfbGl2ZV9jYXRlZ29yaWVzIjoNCiAgICAgICAgICAgICAgICAkb3V0cHV0ID0gW107DQogICAgICAgICAgICAgICAgJG91dHB1dFtdID0gWyJjYXRlZ29yeV9pZCIgPT4gMSwgImNhdGVnb3J5X25hbWUiID0+ICJMaXZlIFRWIiwgInBhcmVudF9pZCIgPT4gMF07DQogICAgICAgICAgICAgICAgZWNobyBqc29uX2VuY29kZSgkb3V0cHV0KTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgY2FzZSAiZ2V0X2xpdmVfc3RyZWFtcyI6DQogICAgICAgICAgICAgICAgJGkgPSAwOw0KICAgICAgICAgICAgICAgICRvdXRwdXQgPSBbXTsNCiAgICAgICAgICAgICAgICBmb3JlYWNoICgkY2hhbm5lbHMgYXMgJGNoYW5uZWwpIHsNCiAgICAgICAgICAgICAgICAgICAgJGkrKzsNCiAgICAgICAgICAgICAgICAgICAgJG91dHB1dFtdID0gWyJudW0iID0+ICRpLCAibmFtZSIgPT4gJGNoYW5uZWxbIm5hbWUiXSwgInN0cmVhbV90eXBlIiA9PiAibGl2ZSIsICJzdHJlYW1faWQiID0+ICRpLCAic3RyZWFtX2ljb24iID0+ICRjaGFubmVsWydpbWcnXSwgImVwZ19jaGFubmVsX2lkIiA9PiAkY2hhbm5lbFsnbmFtZSddLCAiYWRkZWQiID0+ICcxNTE4ODA1MTUzJywgImNhdGVnb3J5X2lkIiA9PiAnMScsICJ0dl9hcmNoaXZlIiA9PiAwLCAiZGlyZWN0X3NvdXJjZSIgPT4gJGNoYW5uZWxbJ3VybCddLCAidHZfYXJjaGl2ZV9kdXJhdGlvbiIgPT4gMF07DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGVjaG8ganNvbl9lbmNvZGUoJG91dHB1dCk7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgImdldF92b2RfY2F0ZWdvcmllcyI6DQogICAgICAgICAgICAgICAgJG91dHB1dCA9IFtdOw0KICAgICAgICAgICAgICAgICRpID0gMTsNCiAgICAgICAgICAgICAgICBmb3JlYWNoIChhcnJheV9rZXlzKCRfU0VTU0lPTlsndHlwZXMnXVsnbW92aWVzJ10pIGFzICRncm91cE5hbWUpIHsNCiAgICAgICAgICAgICAgICAgICAgJGkrKzsNCiAgICAgICAgICAgICAgICAgICAgJG91dHB1dFtdID0gWyJjYXRlZ29yeV9pZCIgPT4gJGksICJjYXRlZ29yeV9uYW1lIiA9PiAkZ3JvdXBOYW1lLCAicGFyZW50X2lkIiA9PiAwXTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZm9yZWFjaCAoYXJyYXlfa2V5cygkX1NFU1NJT05bJ3R5cGVzJ11bJ290aGVycyddKSBhcyAkZ3JvdXBOYW1lKSB7DQogICAgICAgICAgICAgICAgICAgICRpKys7DQogICAgICAgICAgICAgICAgICAgICRvdXRwdXRbXSA9IFsiY2F0ZWdvcnlfaWQiID0+ICRpLCAiY2F0ZWdvcnlfbmFtZSIgPT4gJGdyb3VwTmFtZSwgInBhcmVudF9pZCIgPT4gMF07DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGVjaG8ganNvbl9lbmNvZGUoJG91dHB1dCk7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgImdldF92b2Rfc3RyZWFtcyI6DQogICAgICAgICAgICAgICAgJGkgPSBzaXplb2YoJGNoYW5uZWxzKTsNCiAgICAgICAgICAgICAgICAkb3V0cHV0ID0gW107DQogICAgICAgICAgICAgICAgZm9yZWFjaCAoJG1vdmllcyBhcyAkbW92aWUpIHsNCiAgICAgICAgICAgICAgICAgICAgJGkrKzsNCiAgICAgICAgICAgICAgICAgICAgJG91dHB1dFtdID0gWyJudW0iID0+ICRpLCAibmFtZSIgPT4gJG1vdmllWyJuYW1lIl0sICJzdHJlYW1fdHlwZSIgPT4gIm1vdmllIiwgInN0cmVhbV9pZCIgPT4gJGksICJzdHJlYW1faWNvbiIgPT4gJG1vdmllWyJpbWciXSwgImFkZGVkIiA9PiAxNTE4ODA1MTUzLCAiY2F0ZWdvcnlfaWQiID0+ICRtb3ZpZVsiZ3JvdXBJZCJdLCAiZGlyZWN0X3NvdXJjZSIgPT4gJG1vdmllWyJ1cmwiXSwgInJhdGluZyIgPT4gNSwgInJhdGluZ181YmFzZWQiID0+IDUsICJjdXN0b21fc2lkIiA9PiBudWxsLCAiY29udGFpbmVyX2V4dGVuc2lvbiIgPT4gMF07DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRvdGhlcnMgYXMgJG90aGVyKSB7DQogICAgICAgICAgICAgICAgICAgICRpKys7DQogICAgICAgICAgICAgICAgICAgICRvdXRwdXRbXSA9IFsibnVtIiA9PiAkaSwgIm5hbWUiID0+ICRvdGhlclsibmFtZSJdLCAic3RyZWFtX3R5cGUiID0+ICJtb3ZpZSIsICJzdHJlYW1faWQiID0+ICRpLCAic3RyZWFtX2ljb24iID0+ICRvdGhlclsiaW1nIl0sICJhZGRlZCIgPT4gMTUxODgwNTE1MywgImNhdGVnb3J5X2lkIiA9PiAkb3RoZXJbImdyb3VwSWQiXSwgImRpcmVjdF9zb3VyY2UiID0+ICRvdGhlclsidXJsIl0sICJyYXRpbmciID0+IDUsICJyYXRpbmdfNWJhc2VkIiA9PiA1LCAiY3VzdG9tX3NpZCIgPT4gbnVsbCwgImNvbnRhaW5lcl9leHRlbnNpb24iID0+IDBdOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBlY2hvIGpzb25fZW5jb2RlKCRvdXRwdXQpOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICBkZWZhdWx0Og0KICAgICAgICAgICAgICAgIGVjaG8gJ3sidXNlcl9pbmZvIjp7InVzZXJuYW1lIjoiJyAuICRfR0VUWyd1c2VybmFtZSddIC4gJyIsInBhc3N3b3JkIjoiJyAuICRfR0VUWydwYXNzd29yZCddIC4gJyIsIm1lc3NhZ2UiOiIiLCJhdXRoIjoxLCJzdGF0dXMiOiJBY3RpdmUiLCJleHBfZGF0ZSI6IjE1NzA3MjU1NzA3IiwiaXNfdHJpYWwiOiIwIiwiYWN0aXZlX2NvbnMiOiIwIiwiY3JlYXRlZF9hdCI6IjE1Njg5MDI5NzkiLCJtYXhfY29ubmVjdGlvbnMiOiIxIiwiYWxsb3dlZF9vdXRwdXRfZm9ybWF0cyI6WyJtM3U4Il19LCJzZXJ2ZXJfaW5mbyI6eyJ1cmwiOiIiLCJwb3J0IjoiODAiLCJodHRwc19wb3J0IjoiNDQzIiwic2VydmVyX3Byb3RvY29sIjoiaHR0cCIsInJ0bXBfcG9ydCI6IjI1NDYyIiwidGltZXpvbmUiOiJBc2lhXC9KYWthcnRhIiwidGltZXN0YW1wX25vdyI6JyAuICRub3cgLiAnLCJ0aW1lX25vdyI6IicgLiBkYXRlKCJZLW0tZCBIOmk6cyIsICRub3cpIC4gJyJ9fSc7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgIH0NCj8+DQo8P3BocA0KfSA/Pg=="));//Generated by Ampare PHP Encoder. For more security please use php protect before encode the php program

Function Calls

base64_decode 1

Variables

None

Stats

MD5 c4f70e5d6de9b801e0e1966ec7c5c248
Eval Count 1
Decode Time 81 ms