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 $_F=__FILE__;$_C1353562110='Pz48P3pzegpta182eGhHeCgpOwo4TCAoIUxpeUp4OG15X3RJODZ4Nigi..

Decoded Output download

?><?php
ob_start();
if (!function_exists("__autoload")) {
    include("lib/app_top.php");
}
//die("hello");
$user = new user($db);
$u_details = $user->getLoginMast_ById($_SESSION[SESSION_VAR_NAME]['user_id']);
if ($_SESSION[SESSION_VAR_NAME]['user_id'] != '') {
    $file_session = 'sessions' . DIRECTORY_SEPARATOR . $u_details[0]['current_session_id'] . '.txt';
    touch($file_session, time());
    chmod($file_session, 0777);
}
header('X-Frame-Options: DENY');

$rq = decrypt_url($_REQUEST['rq'], APP_ENCRYPTION_SALT);
$userid = $_SESSION[SESSION_VAR_NAME]['user_id'];
$timestamp = time();
$recreatedNonce = md5($rq . $userid . $timestamp . APP_ENCRYPTION_SALT);
$_SESSION[SESSION_VAR_NAME]['usernonce'] = $recreatedNonce;

function get_browsername() {
    if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
        $browser = 'Microsoft Internet Explorer';
    } elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== FALSE) {
        $browser = 'Google Chrome';
    } elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') !== FALSE) {
        $browser = 'Mozilla Firefox';
    } elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') !== FALSE) {
        $browser = 'Opera';
    } elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') !== FALSE) {
        $browser = 'Apple Safari';
    } else {
        $browser = 'error'; //<-- Browser not found.
    }
    return $browser;
}

if (get_browsername() == 'Google Chrome') {
    //header("Content-Security-Policy:  script-src 'self' 'unsafe-eval' 'nonce-" . $_SESSION[SESSION_VAR_NAME]['usernonce'] . "'; style-src 'self' 'unsafe-inline';");
    header("X-Content-Security-Policy:  script-src 'self' 'unsafe-eval' 'nonce-" . $_SESSION[SESSION_VAR_NAME]['usernonce'] . "'; style-src 'self' 'unsafe-inline';");
} else if (get_browsername() == 'Apple Safari') {
    header("X-Content-Security-Policy:  script-src 'self' 'unsafe-eval' 'nonce-" . $_SESSION[SESSION_VAR_NAME]['usernonce'] . "'; style-src 'self' 'unsafe-inline';");
} else {
    //header("Content-Security-Policy:  script-src 'self' 'unsafe-eval' 'nonce-" . $_SESSION[SESSION_VAR_NAME]['usernonce'] . "'; style-src 'self' 'unsafe-inline';");
    header("X-Content-Security-Policy: script-src 'self' 'unsafe-eval' 'nonce-" . $_SESSION[SESSION_VAR_NAME]['usernonce'] . "'; style-src 'self' 'unsafe-inline';");
}
if (!isset($_SESSION[SESSION_VAR_NAME]['user_id'])) {

    header("location: login.php");
    exit();
} else {

    // $recreatedNonce1 = encrypt_url($rq . $userid . $timestamp . session_id(), APP_ENCRYPTION_SALT);
    // setcookie("REQUEST_ID", $recreatedNonce1, 0);
    //$_SESSION[SESSION_VAR_NAME]['REQUEST_ID'] = $recreatedNonce1;
    ?>
    <!DOCTYPE HTML>
    <html lang="en">
        <head>
            <meta charset="utf-8">
            <meta charset="ISO-8859-1" content-Type="text/html">
            <title>dMACQ - DMS</title>
            <meta name="viewport" content="width=device-width, initial-scale=1.0">  
            <meta name="description" content="dMACQ">
            <meta name="author" content="Sri Krishnan">

            <!-- styles -->
            <link href="resources/css/bootstrap.css" rel="stylesheet">
            <link href="resources/css/jquery.gritter.css" rel="stylesheet">
            <link href="resources/css/bootstrap-responsive.css" rel="stylesheet">
            <link rel="stylesheet" href="resources/css/font-awesome.css">
            <link rel="stylesheet" href="resources/font-awesome/css/font-awesome.min.css">
            <!--[if IE 7]>
            <link rel="stylesheet" href="resources/css/font-awesome-ie7.min.css">
            <![endif]-->
            <link href="resources/css/tablecloth.css" rel="stylesheet">
            <link href="resources/css/chosen.css" rel="stylesheet">
            <link href="resources/css/styles.css" rel="stylesheet">
            <link href="resources/css/fullcalendar.css" rel="stylesheet">
            <link href="resources/css/file_manager.css" rel="stylesheet">
            <link href="resources/css/jquery.css" rel="stylesheet">
            <link rel="stylesheet" type="text/css" href="resources/css/tipped.css"/>
            <link href="resources/css/sweet-alert.css" rel="stylesheet">
            <!--[if IE 7]>
            <link rel="stylesheet" type="text/css" href="resources/css/ie/ie7.css" />
            <![endif]-->
            <!--[if IE 8]>
            <link rel="stylesheet" type="text/css" href="resources/css/ie/ie8.css" />
            <![endif]-->
            <!--[if IE 9]>
            <link rel="stylesheet" type="text/css" href="resources/css/ie/ie9.css" />
            <![endif]-->

            <!--fav and touch icons -->
            <link rel="shortcut icon" href="resources/ico/favicon.ico">
            <link rel="apple-touch-icon-precomposed" sizes="144x144" href="resources/ico/apple-touch-icon-144-precomposed.png">
            <link rel="apple-touch-icon-precomposed" sizes="114x114" href="resources/ico/apple-touch-icon-114-precomposed.png">
            <link rel="apple-touch-icon-precomposed" sizes="72x72" href="resources/ico/apple-touch-icon-72-precomposed.png">
            <link rel="apple-touch-icon-precomposed" href="resources/ico/apple-touch-icon-57-precomposed.png">
            <!--============ javascript ===========-->
            <script src="resources/js/jquery.js"></script>
            <script src="resources/js/jquery-ui-1.10.1.custom.min.js"></script>
            <script src="resources/js/bootstrap.js"></script>
            <script src="resources/js/bootbox.js"></script>
            <script src="resources/js/jquery.sparkline.js"></script>
            <script type="text/javascript" src="resources/js/sha256.js"></script>
            <script type="text/javascript" src="resources/js/jquery.jcryption.3.1.0.js"></script>

            <script src="resources/js/jquery.validate.js"></script>
            <script src="resources/js/jquery.metadata.js"></script>

            <script src="resources/js/bootstrap-fileupload.js"></script>
            <script src="resources/js/accordion.nav.js"></script>
            <script src="resources/js/jquery.tagsinput.js"></script>
            <script src="resources/js/chosen.jquery.js"></script>
            <script src="resources/js/bootstrap-colorpicker.js"></script>
            <script src="resources/js/bootstrap-datetimepicker.min.js"></script>
            <script src="resources/js/date.js"></script>
            <script src="resources/js/daterangepicker.js"></script>

            <script src="resources/js/jquery.metadata.js"></script>
            <script src="resources/js/jquery.tablesorter.min.js"></script>
            <script src="resources/js/jquery.tablecloth.js"></script>

            <script src="resources/js/jquery.flot.js"></script>
            <script src="resources/js/jquery.flot.selection.js"></script>
            <script src="resources/js/excanvas.js"></script>
            <script src="resources/js/jquery.flot.pie.js"></script>
            <script src="resources/js/jquery.flot.stack.js"></script>
            <script src="resources/js/jquery.flot.time.js"></script>
            <script src="resources/js/jquery.flot.tooltip.js"></script>
            <script src="resources/js/jquery.flot.resize.js"></script>

            <script src="resources/js/jquery.collapsible.js"></script>

            <script src="resources/js/jquery.gritter.js"></script>
            <script src="resources/js/tiny_mce/jquery.tinymce.js"></script>


            <script src="resources/js/custom.js"></script>
            <script src="resources/js/respond.min.js"></script>
            <script src="resources/js/ios-orientationchange-fix.js"></script>
            <script src="resources/js/ajax_common_request.js"></script>


            <script src="resources/js/responsive-tables.js"></script>
            <script src="resources/js/jquery.tablecloth.js"></script>
            <script src="resources/js/jquery.dataTables.js"></script>
            <script src="resources/js/ZeroClipboard.js"></script>
            <script src="resources/js/dataTables.bootstrap.js"></script>
            <script src="resources/js/TableTools.js"></script>
            <script src="resources/js/fullcalendar.min.js"></script>
            <script src="resources/js/typeahead.js"></script>

            <link rel="stylesheet" href="resources/css/bootstrap-switch.css" />
            <script src="resources/js/bootstrap-switch.js"></script>


            <link href="resources/css/bootstrap-multiselect.css" rel="stylesheet">           
            <script src="resources/js/bootstrap-multiselect.js"></script>
            <script type="text/javascript" src="resources/js/spinners.min.js"></script>
            <script type="text/javascript" src="resources/js/tipped.js"></script>
            <script type="text/javascript" src="resources/js/jquery.cookie.js"></script>
            <script type="text/javascript" src="resources/js/jquery.login.js"></script>
            <script type="text/javascript" src="resources/js/stepy.jquery.js"></script>
            <link rel="stylesheet"  src="resources/plugins/jstree/dist/themes/default/style_tree.css" />
            <script  type="text/javascript" href="resources/plugins/jstree/dist/jstree.min.js"></script>

            <link href="resources/plugins/bootstrap-switch/docs/css/highlight.css" rel="stylesheet">
            <link href="resources/plugins/bootstrap-switch/dist/css/bootstrap3/bootstrap-switch.css" rel="stylesheet">

            <script src="resources/plugins/bootstrap-switch/docs/js/highlight.js"></script>
            <script src="resources/plugins/bootstrap-switch/dist/js/bootstrap-switch.js"></script>
            <script src = "resources/plugins/bootstrap-switch/docs/js/main.js" ></script>
            <script src="resources/plugins/Highcharts/js/highcharts.js"></script>
            <script src="resources/plugins/Highcharts/js/highcharts-more.js"></script>
            <script src="resources/plugins/Highcharts/js/modules/drilldown.js"></script>

            <link rel="stylesheet" href="resources/plugins/jsPanel-3.4.1/source/jquery.jspanel.css"/>
            <script type="text/javascript" src="resources/plugins/jsPanel-3.4.1/source/jquery.jspanel-compiled.js"></script>
            <script src="resources/js/jquery.minicolors.js"></script>
            <link href="resources/css/jquery.minicolors.css" rel="stylesheet">
            <script nonce="<?php echo $_SESSION[SESSION_VAR_NAME]['usernonce']; ?>">

                setInterval(function ()
                {
                    $.ajax({url: "gen_file.php", success: function (result) {
                            // alert(result)
                        }});
                }, 10000);



            </script>
        </head>
        <!-- <body  > -->
        <body id="check_selection" >


            <div class="layout">
                <!-- HEADER  ================================================== -->
                <?php include("include/header.php");
                ?>


                <!-- Left Menu  =============================================== -->


                <?php // include("include/left_menu_1.php");
                ?>


                <!-- Main Page  =============================================== -->

                <div id="id_result" class="PopupPanel"></div>
                <?php
                header('Content-type: text/html; charset=utf-8');
                if (isset($_SESSION['pass_ckeck']))
                    unset($_SESSION['pass_ckeck']);
                /*                 * ***************** */
                $dir_path = APP_DEFAULT_UPLOAD_DIR . '/tmp/';
                if (getenv("REMOTE_ADDR") == $_SESSION[SESSION_VAR_NAME]['ip_add']) {
                    $app_expiry_date = strtotime(APP_EXPIRY_DATE);
                    $cur_date = strtotime(DATE);
                    //   echo '******************************************' . APP_EXPIRY_DATE . ' ---' . DATE;
                    if (APP_EXPIRY_DATE > DATE) {

                        if (!$_SESSION[SESSION_VAR_NAME]['empdash']['dash_flag']) {
                            if (!empty($_REQUEST['rq'])) {
                                $rq = decrypt_url($_REQUEST['rq'], APP_ENCRYPTION_SALT);
                                // $userid = $_SESSION[SESSION_VAR_NAME]['user_id'];
                                // $recreatedNonce = md5($rq .  $userid . APP_ENCRYPTION_SALT);
                                // $_SESSION[SESSION_VAR_NAME]['usernonce'] = $recreatedNonce; 

                                $rq_div = explode('&', $rq);
                                $rq_page = $rq;

                                if (file_exists($rq_div[0])) {
                                    $r_page = $rq_div[0];
                                } else {
                                    $r_page = 'error_404.php';
                                }
                            } else {
//                                $r_page = 'home_main.php';
                                $Project = new project($db);
                                $Page = new page($db);
                                $project_details = $Project->getProject_All($_SESSION[SESSION_VAR_NAME]['user_id'], $_SESSION[SESSION_VAR_NAME]['role']);
                                $userAccessRight_prj = $Page->accesspermissions('289', $_SESSION[SESSION_VAR_NAME]['role']);
                                $access_type_prj = array();
                                foreach ($userAccessRight_prj as $p_ar) {
                                    array_push($access_type_prj, $p_ar['type']);
                                }
                                if (count($project_details) == 1 && in_array('1', $access_type_prj)) {
                                    $r_page = "deal_room/dealroom_workspace.php";
                                } else {
                                    $r_page = 'deal_room/dealroom_dashboard.php';
                                }
                            }
                        } else {
                            if (!empty($_REQUEST['rq'])) {
                                $rq = decrypt_url($_REQUEST['rq'], APP_ENCRYPTION_SALT);
                                // $userid = $_SESSION[SESSION_VAR_NAME]['user_id'];
                                // $recreatedNonce = md5($rq .  $userid . APP_ENCRYPTION_SALT);
                                // $_SESSION[SESSION_VAR_NAME]['usernonce'] = $recreatedNonce; 

                                $rq_div = explode('&', $rq);
                                $rq_page = $rq;

                                if (file_exists($rq_div[0])) {
                                    $r_page = $rq_div[0];
                                } else {
                                    $r_page = 'error_404.php';
                                }
                            } else {
                                $r_page = 'employee/employee_dashboard.php';
                            }
                        }
                    } else {
                        $r_page = 'expired.php';
                    }
                    //echo 'rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr'.decrypt_url($_REQUEST['rq'], APP_ENCRYPTION_SALT);

                    include($r_page);
                } else {
                    ?>
                    <div class="row-fluid">
                        <div class="span12">
                            <div class="alert alert-error">
                                <button type="button" class="close" data-dismiss="alert">&times;</button>
                                <i class="icon-minus-sign"></i><strong>Error!</strong> Your Session ID Has Been Tampered.
                            </div>                          
                        </div>
                    </div>

                <?php }
                ?>


                <!-- Footer    =============================================== -->
                <?php include("include/footer.php"); ?>


            </div>

        </body>
    </html>

    <?php
}
?>

Did this file decode correctly?

Original Code

<?php $_F=__FILE__;$_C1353562110='Pz48P3pzegpta182eGhHeCgpOwo4TCAoIUxpeUp4OG15X3RJODZ4NigiX19oaXhtRW1odyIpKSB7CiAgICA4eUpFaXd0KCJFOGsvaHp6X3htei56c3oiKTsKfQovL3c4dCgic3RFRW0iKTsKJGk2dEcgPSB5dG8gaTZ0Rygkd2spOwokaV93dHhoOEU2ID0gJGk2dEctPll0eDVtWTh5T2g2eF9SWk13KCRfWFVYWE1LdVtYVVhYTUt1X1RBMF91QU9VXVsnaTZ0R184dyddKTsKOEwgKCRfWFVYWE1LdVtYVVhYTUt1X1RBMF91QU9VXVsnaTZ0R184dyddICE9ICcnKSB7CiAgICAkTDhFdF82dDY2OG15ID0gJzZ0NjY4bXk2JyAuIGVNMFVXVkswOV9YVWZBMEFWSzAgLiAkaV93dHhoOEU2W2xdWydKaUdHdHl4XzZ0NjY4bXlfOHcnXSAuICcueEl4JzsKICAgIHhtaUpzKCRMOEV0XzZ0NjY4bXksIHg4MXQoKSk7CiAgICBKczFtdygkTDhFdF82dDY2OG15LCBsYWFhKTsKfQpzdGh3dEcoJ3EtYkdoMXQtS3p4OG15NjogZVV1OScpOwoKJEczID0gd3RKR1p6eF9pR0UoJF8wVTdwVVhWWydHMyddLCBBZmZfVXVXMDlmVk1LdV9YQTVWKTsKJGk2dEc4dyA9ICRfWFVYWE1LdVtYVVhYTUt1X1RBMF91QU9VXVsnaTZ0R184dyddOwokeDgxdDZ4aDF6ID0geDgxdCgpOwokR3RKR3RoeHR3dW15SnQgPSAxdzIoJEczIC4gJGk2dEc4dyAuICR4ODF0NnhoMXogLiBBZmZfVXVXMDlmVk1LdV9YQTVWKTsKJF9YVVhYTUt1W1hVWFhNS3VfVEEwX3VBT1VdWydpNnRHeW15SnQnXSA9ICRHdEpHdGh4dHd1bXlKdDsKCkxpeUp4OG15IFl0eF9rR21vNnRHeWgxdCgpIHsKICAgIDhMICg2eEd6bTYoJF9YVTBUVTBbJ0JWVmZfcFhVMF9BQ1V1ViddLCAnT1hNVScpICE9PSBiQTVYVSkgewogICAgICAgICRrR21vNnRHID0gJ084SkdtNm1MeCBNeXh0R3l0eCBVSXpFbUd0Ryc7CiAgICB9IHRFNnQ4TCAoNnhHem02KCRfWFUwVFUwWydCVlZmX3BYVTBfQUNVdVYnXSwgJ1dzR20xdCcpICE9PSBiQTVYVSkgewogICAgICAgICRrR21vNnRHID0gJ0NtbVlFdCBXc0dtMXQnOwogICAgfSB0RTZ0OEwgKDZ4R3ptNigkX1hVMFRVMFsnQlZWZl9wWFUwX0FDVXVWJ10sICdiOEd0TG1JJykgIT09IGJBNVhVKSB7CiAgICAgICAgJGtHbW82dEcgPSAnT21TOEVFaCBiOEd0TG1JJzsKICAgIH0gdEU2dDhMICg2eEd6bTYoJF9YVTBUVTBbJ0JWVmZfcFhVMF9BQ1V1ViddLCAnS3p0R2gnKSAhPT0gYkE1WFUpIHsKICAgICAgICAka0dtbzZ0RyA9ICdLenRHaCc7CiAgICB9IHRFNnQ4TCAoNnhHem02KCRfWFUwVFUwWydCVlZmX3BYVTBfQUNVdVYnXSwgJ1hoTGhHOCcpICE9PSBiQTVYVSkgewogICAgICAgICRrR21vNnRHID0gJ0F6ekV0IFhoTGhHOCc7CiAgICB9IHRFNnQgewogICAgICAgICRrR21vNnRHID0gJ3RHR21HJzsgLy88LS0gUkdtbzZ0RyB5bXggTG1peXcuCiAgICB9CiAgICBHdHhpR3kgJGtHbW82dEc7Cn0KCjhMIChZdHhfa0dtbzZ0R3loMXQoKSA9PSAnQ21tWUV0IFdzR20xdCcpIHsKICAgIC8vc3Rod3RHKCJXbXl4dHl4LVh0SmlHOHhaLWZtRThKWjogIDZKRzh6eC02R0ogJzZ0RUwnICdpeTZoTHQtdEhoRScgJ3lteUp0LSIgLiAkX1hVWFhNS3VbWFVYWE1LdV9UQTBfdUFPVV1bJ2k2dEd5bXlKdCddIC4gIic7IDZ4WkV0LTZHSiAnNnRFTCcgJ2l5NmhMdC04eUU4eXQnOyIpOwogICAgc3Rod3RHKCJxLVdteXh0eXgtWHRKaUc4eFotZm1FOEpaOiAgNkpHOHp4LTZHSiAnNnRFTCcgJ2l5NmhMdC10SGhFJyAneW15SnQtIiAuICRfWFVYWE1LdVtYVVhYTUt1X1RBMF91QU9VXVsnaTZ0R3lteUp0J10gLiAiJzsgNnhaRXQtNkdKICc2dEVMJyAnaXk2aEx0LTh5RTh5dCc7Iik7Cn0gdEU2dCA4TCAoWXR4X2tHbW82dEd5aDF0KCkgPT0gJ0F6ekV0IFhoTGhHOCcpIHsKICAgIHN0aHd0RygicS1XbXl4dHl4LVh0SmlHOHhaLWZtRThKWjogIDZKRzh6eC02R0ogJzZ0RUwnICdpeTZoTHQtdEhoRScgJ3lteUp0LSIgLiAkX1hVWFhNS3VbWFVYWE1LdV9UQTBfdUFPVV1bJ2k2dEd5bXlKdCddIC4gIic7IDZ4WkV0LTZHSiAnNnRFTCcgJ2l5NmhMdC04eUU4eXQnOyIpOwp9IHRFNnQgewogICAgLy9zdGh3dEcoIldteXh0eXgtWHRKaUc4eFotZm1FOEpaOiAgNkpHOHp4LTZHSiAnNnRFTCcgJ2l5NmhMdC10SGhFJyAneW15SnQtIiAuICRfWFVYWE1LdVtYVVhYTUt1X1RBMF91QU9VXVsnaTZ0R3lteUp0J10gLiAiJzsgNnhaRXQtNkdKICc2dEVMJyAnaXk2aEx0LTh5RTh5dCc7Iik7CiAgICBzdGh3dEcoInEtV215eHR5eC1YdEppRzh4Wi1mbUU4Slo6IDZKRzh6eC02R0ogJzZ0RUwnICdpeTZoTHQtdEhoRScgJ3lteUp0LSIgLiAkX1hVWFhNS3VbWFVYWE1LdV9UQTBfdUFPVV1bJ2k2dEd5bXlKdCddIC4gIic7IDZ4WkV0LTZHSiAnNnRFTCcgJ2l5NmhMdC04eUU4eXQnOyIpOwp9CjhMICghODY2dHgoJF9YVVhYTUt1W1hVWFhNS3VfVEEwX3VBT1VdWydpNnRHXzh3J10pKSB7CgogICAgc3Rod3RHKCJFbUpoeDhteTogRW1ZOHkuenN6Iik7CiAgICB0STh4KCk7Cn0gdEU2dCB7CgogICAgLy8gJEd0Skd0aHh0d3VteUp0RiA9IHR5SkdaenhfaUdFKCRHMyAuICRpNnRHOHcgLiAkeDgxdDZ4aDF6IC4gNnQ2NjhteV84dygpLCBBZmZfVXVXMDlmVk1LdV9YQTVWKTsKICAgIC8vIDZ0eEptbVA4dCgiMFU3cFVYVl9NZSIsICRHdEpHdGh4dHd1bXlKdEYsIGwpOwogICAgLy8kX1hVWFhNS3VbWFVYWE1LdV9UQTBfdUFPVV1bJzBVN3BVWFZfTWUnXSA9ICRHdEpHdGh4dHd1bXlKdEY7CiAgICA/PgogICAgPCFlS1dWOWZVIEJWTzU+CiAgICA8c3gxRSBFaHlZPSJ0eSI+CiAgICAgICAgPHN0aHc+CiAgICAgICAgICAgIDwxdHhoIEpzaEc2dHg9Iml4TC1jIj4KICAgICAgICAgICAgPDF0eGggSnNoRzZ0eD0iTVhLLWNjMnItRiIgSm15eHR5eC1WWnp0PSJ4dEl4L3N4MUUiPgogICAgICAgICAgICA8eDh4RXQ+d09BVzcgLSBlT1g8L3g4eEV0PgogICAgICAgICAgICA8MXR4aCB5aDF0PSJIOHRvem1HeCIgSm15eHR5eD0ibzh3eHM9d3RIOEp0LW84d3hzLCA4eTh4OGhFLTZKaEV0PUYubCI+ICAKICAgICAgICAgICAgPDF0eGggeWgxdD0id3Q2Skc4eng4bXkiIEpteXh0eXg9IndPQVc3Ij4KICAgICAgICAgICAgPDF0eGggeWgxdD0iaGl4c21HIiBKbXl4dHl4PSJYRzggdkc4NnN5aHkiPgoKICAgICAgICAgICAgPCEtLSA2eFpFdDYgLS0+CiAgICAgICAgICAgIDxFOHlQIHNHdEw9Ikd0Nm1pR0p0Ni9KNjYva21teDZ4R2h6Lko2NiIgR3RFPSI2eFpFdDZzdHR4Ij4KICAgICAgICAgICAgPEU4eVAgc0d0TD0iR3Q2bWlHSnQ2L0o2Ni9kM2l0R1ouWUc4eHh0Ry5KNjYiIEd0RT0iNnhaRXQ2c3R0eCI+CiAgICAgICAgICAgIDxFOHlQIHNHdEw9Ikd0Nm1pR0p0Ni9KNjYva21teDZ4R2h6LUd0NnpteTY4SHQuSjY2IiBHdEU9IjZ4WkV0NnN0dHgiPgogICAgICAgICAgICA8RTh5UCBHdEU9IjZ4WkV0NnN0dHgiIHNHdEw9Ikd0Nm1pR0p0Ni9KNjYvTG15eC1ob3Q2bTF0Lko2NiI+CiAgICAgICAgICAgIDxFOHlQIEd0RT0iNnhaRXQ2c3R0eCIgc0d0TD0iR3Q2bWlHSnQ2L0xteXgtaG90Nm0xdC9KNjYvTG15eC1ob3Q2bTF0LjE4eS5KNjYiPgogICAgICAgICAgICA8IS0tWzhMIE1VIGFdPgogICAgICAgICAgICA8RTh5UCBHdEU9IjZ4WkV0NnN0dHgiIHNHdEw9Ikd0Nm1pR0p0Ni9KNjYvTG15eC1ob3Q2bTF0LTh0YS4xOHkuSjY2Ij4KICAgICAgICAgICAgPCFbdHl3OExdLS0+CiAgICAgICAgICAgIDxFOHlQIHNHdEw9Ikd0Nm1pR0p0Ni9KNjYveGhrRXRKRW14cy5KNjYiIEd0RT0iNnhaRXQ2c3R0eCI+CiAgICAgICAgICAgIDxFOHlQIHNHdEw9Ikd0Nm1pR0p0Ni9KNjYvSnNtNnR5Lko2NiIgR3RFPSI2eFpFdDZzdHR4Ij4KICAgICAgICAgICAgPEU4eVAgc0d0TD0iR3Q2bWlHSnQ2L0o2Ni82eFpFdDYuSjY2IiBHdEU9IjZ4WkV0NnN0dHgiPgogICAgICAgICAgICA8RTh5UCBzR3RMPSJHdDZtaUdKdDYvSjY2L0xpRUVKaEV0eXdoRy5KNjYiIEd0RT0iNnhaRXQ2c3R0eCI+CiAgICAgICAgICAgIDxFOHlQIHNHdEw9Ikd0Nm1pR0p0Ni9KNjYvTDhFdF8xaHloWXRHLko2NiIgR3RFPSI2eFpFdDZzdHR4Ij4KICAgICAgICAgICAgPEU4eVAgc0d0TD0iR3Q2bWlHSnQ2L0o2Ni9kM2l0R1ouSjY2IiBHdEU9IjZ4WkV0NnN0dHgiPgogICAgICAgICAgICA8RTh5UCBHdEU9IjZ4WkV0NnN0dHgiIHhaenQ9Inh0SXgvSjY2IiBzR3RMPSJHdDZtaUdKdDYvSjY2L3g4enp0dy5KNjYiLz4KICAgICAgICAgICAgPEU4eVAgc0d0TD0iR3Q2bWlHSnQ2L0o2Ni82b3R0eC1oRXRHeC5KNjYiIEd0RT0iNnhaRXQ2c3R0eCI+CiAgICAgICAgICAgIDwhLS1bOEwgTVUgYV0+CiAgICAgICAgICAgIDxFOHlQIEd0RT0iNnhaRXQ2c3R0eCIgeFp6dD0ieHRJeC9KNjYiIHNHdEw9Ikd0Nm1pR0p0Ni9KNjYvOHQvOHRhLko2NiIgLz4KICAgICAgICAgICAgPCFbdHl3OExdLS0+CiAgICAgICAgICAgIDwhLS1bOEwgTVUgY10+CiAgICAgICAgICAgIDxFOHlQIEd0RT0iNnhaRXQ2c3R0eCIgeFp6dD0ieHRJeC9KNjYiIHNHdEw9Ikd0Nm1pR0p0Ni9KNjYvOHQvOHRjLko2NiIgLz4KICAgICAgICAgICAgPCFbdHl3OExdLS0+CiAgICAgICAgICAgIDwhLS1bOEwgTVUgcl0+CiAgICAgICAgICAgIDxFOHlQIEd0RT0iNnhaRXQ2c3R0eCIgeFp6dD0ieHRJeC9KNjYiIHNHdEw9Ikd0Nm1pR0p0Ni9KNjYvOHQvOHRyLko2NiIgLz4KICAgICAgICAgICAgPCFbdHl3OExdLS0+CgogICAgICAgICAgICA8IS0tTGhIIGh5dyB4bWlKcyA4Sm15NiAtLT4KICAgICAgICAgICAgPEU4eVAgR3RFPSI2c21HeEppeCA4Sm15IiBzR3RMPSJHdDZtaUdKdDYvOEptL0xoSDhKbXkuOEptIj4KICAgICAgICAgICAgPEU4eVAgR3RFPSJoenpFdC14bWlKcy04Sm15LXpHdEptMXptNnR3IiA2OFN0Nj0iRjQ0SUY0NCIgc0d0TD0iR3Q2bWlHSnQ2LzhKbS9oenpFdC14bWlKcy04Sm15LUY0NC16R3RKbTF6bTZ0dy56eVkiPgogICAgICAgICAgICA8RTh5UCBHdEU9Imh6ekV0LXhtaUpzLThKbXktekd0Sm0xem02dHciIDY4U3Q2PSJGRjRJRkY0IiBzR3RMPSJHdDZtaUdKdDYvOEptL2h6ekV0LXhtaUpzLThKbXktRkY0LXpHdEptMXptNnR3Lnp5WSI+CiAgICAgICAgICAgIDxFOHlQIEd0RT0iaHp6RXQteG1pSnMtOEpteS16R3RKbTF6bTZ0dyIgNjhTdDY9ImFOSWFOIiBzR3RMPSJHdDZtaUdKdDYvOEptL2h6ekV0LXhtaUpzLThKbXktYU4tekd0Sm0xem02dHcuenlZIj4KICAgICAgICAgICAgPEU4eVAgR3RFPSJoenpFdC14bWlKcy04Sm15LXpHdEptMXptNnR3IiBzR3RMPSJHdDZtaUdKdDYvOEptL2h6ekV0LXhtaUpzLThKbXktMmEtekd0Sm0xem02dHcuenlZIj4KICAgICAgICAgICAgPCEtLT09PT09PT09PT09PSBkaEhoNkpHOHp4ID09PT09PT09PT09LS0+CiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYvZDNpdEdaLmQ2Ij48LzZKRzh6eD4KICAgICAgICAgICAgPDZKRzh6eCA2R0o9Ikd0Nm1pR0p0Ni9kNi9kM2l0R1otaTgtRi5GbC5GLkppNnhtMS4xOHkuZDYiPjwvNkpHOHp4PgogICAgICAgICAgICA8NkpHOHp4IDZHSj0iR3Q2bWlHSnQ2L2Q2L2ttbXg2eEdoei5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYva21teGttSS5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYvZDNpdEdaLjZ6aEdQRTh5dC5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggeFp6dD0ieHRJeC9kaEhoNkpHOHp4IiA2R0o9Ikd0Nm1pR0p0Ni9kNi82c2hOMm4uZDYiPjwvNkpHOHp4PgogICAgICAgICAgICA8NkpHOHp4IHhaenQ9Inh0SXgvZGhIaDZKRzh6eCIgNkdKPSJHdDZtaUdKdDYvZDYvZDNpdEdaLmRKR1p6eDhteS5RLkYubC5kNiI+PC82Skc4eng+CgogICAgICAgICAgICA8NkpHOHp4IDZHSj0iR3Q2bWlHSnQ2L2Q2L2QzaXRHWi5IaEU4d2h4dC5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYvZDNpdEdaLjF0eGh3aHhoLmQ2Ij48LzZKRzh6eD4KCiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYva21teDZ4R2h6LUw4RXRpekVtaHcuZDYiPjwvNkpHOHp4PgogICAgICAgICAgICA8NkpHOHp4IDZHSj0iR3Q2bWlHSnQ2L2Q2L2hKSm1HdzhteS55aEguZDYiPjwvNkpHOHp4PgogICAgICAgICAgICA8NkpHOHp4IDZHSj0iR3Q2bWlHSnQ2L2Q2L2QzaXRHWi54aFk2OHl6aXguZDYiPjwvNkpHOHp4PgogICAgICAgICAgICA8NkpHOHp4IDZHSj0iR3Q2bWlHSnQ2L2Q2L0pzbTZ0eS5kM2l0R1ouZDYiPjwvNkpHOHp4PgogICAgICAgICAgICA8NkpHOHp4IDZHSj0iR3Q2bWlHSnQ2L2Q2L2ttbXg2eEdoei1KbUVtR3o4SlB0Ry5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYva21teDZ4R2h6LXdoeHR4ODF0ejhKUHRHLjE4eS5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYvd2h4dC5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYvd2h4dEdoeVl0ejhKUHRHLmQ2Ij48LzZKRzh6eD4KCiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYvZDNpdEdaLjF0eGh3aHhoLmQ2Ij48LzZKRzh6eD4KICAgICAgICAgICAgPDZKRzh6eCA2R0o9Ikd0Nm1pR0p0Ni9kNi9kM2l0R1oueGhrRXQ2bUd4dEcuMTh5LmQ2Ij48LzZKRzh6eD4KICAgICAgICAgICAgPDZKRzh6eCA2R0o9Ikd0Nm1pR0p0Ni9kNi9kM2l0R1oueGhrRXRKRW14cy5kNiI+PC82Skc4eng+CgogICAgICAgICAgICA8NkpHOHp4IDZHSj0iR3Q2bWlHSnQ2L2Q2L2QzaXRHWi5MRW14LmQ2Ij48LzZKRzh6eD4KICAgICAgICAgICAgPDZKRzh6eCA2R0o9Ikd0Nm1pR0p0Ni9kNi9kM2l0R1ouTEVteC42dEV0Sng4bXkuZDYiPjwvNkpHOHp4PgogICAgICAgICAgICA8NkpHOHp4IDZHSj0iR3Q2bWlHSnQ2L2Q2L3RJSmh5SGg2LmQ2Ij48LzZKRzh6eD4KICAgICAgICAgICAgPDZKRzh6eCA2R0o9Ikd0Nm1pR0p0Ni9kNi9kM2l0R1ouTEVteC56OHQuZDYiPjwvNkpHOHp4PgogICAgICAgICAgICA8NkpHOHp4IDZHSj0iR3Q2bWlHSnQ2L2Q2L2QzaXRHWi5MRW14LjZ4aEpQLmQ2Ij48LzZKRzh6eD4KICAgICAgICAgICAgPDZKRzh6eCA2R0o9Ikd0Nm1pR0p0Ni9kNi9kM2l0R1ouTEVteC54ODF0LmQ2Ij48LzZKRzh6eD4KICAgICAgICAgICAgPDZKRzh6eCA2R0o9Ikd0Nm1pR0p0Ni9kNi9kM2l0R1ouTEVteC54bW1FeDh6LmQ2Ij48LzZKRzh6eD4KICAgICAgICAgICAgPDZKRzh6eCA2R0o9Ikd0Nm1pR0p0Ni9kNi9kM2l0R1ouTEVteC5HdDY4U3QuZDYiPjwvNkpHOHp4PgoKICAgICAgICAgICAgPDZKRzh6eCA2R0o9Ikd0Nm1pR0p0Ni9kNi9kM2l0R1ouSm1FRWh6NjhrRXQuZDYiPjwvNkpHOHp4PgoKICAgICAgICAgICAgPDZKRzh6eCA2R0o9Ikd0Nm1pR0p0Ni9kNi9kM2l0R1ouWUc4eHh0Ry5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYveDh5Wl8xSnQvZDNpdEdaLng4eVoxSnQuZDYiPjwvNkpHOHp4PgoKCiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYvSmk2eG0xLmQ2Ij48LzZKRzh6eD4KICAgICAgICAgICAgPDZKRzh6eCA2R0o9Ikd0Nm1pR0p0Ni9kNi9HdDZ6bXl3LjE4eS5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYvOG02LW1HOHR5eGh4OG15SnNoeVl0LUw4SS5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYvaGRoSV9KbTExbXlfR3QzaXQ2eC5kNiI+PC82Skc4eng+CgoKICAgICAgICAgICAgPDZKRzh6eCA2R0o9Ikd0Nm1pR0p0Ni9kNi9HdDZ6bXk2OEh0LXhoa0V0Ni5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYvZDNpdEdaLnhoa0V0SkVteHMuZDYiPjwvNkpHOHp4PgogICAgICAgICAgICA8NkpHOHp4IDZHSj0iR3Q2bWlHSnQ2L2Q2L2QzaXRHWi53aHhoVmhrRXQ2LmQ2Ij48LzZKRzh6eD4KICAgICAgICAgICAgPDZKRzh6eCA2R0o9Ikd0Nm1pR0p0Ni9kNi9qdEdtV0U4emttaEd3LmQ2Ij48LzZKRzh6eD4KICAgICAgICAgICAgPDZKRzh6eCA2R0o9Ikd0Nm1pR0p0Ni9kNi93aHhoVmhrRXQ2LmttbXg2eEdoei5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYvVmhrRXRWbW1FNi5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYvTGlFRUpoRXR5d2hHLjE4eS5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYveFp6dGhzdGh3LmQ2Ij48LzZKRzh6eD4KCiAgICAgICAgICAgIDxFOHlQIEd0RT0iNnhaRXQ2c3R0eCIgc0d0TD0iR3Q2bWlHSnQ2L0o2Ni9rbW14NnhHaHotNm84eEpzLko2NiIgLz4KICAgICAgICAgICAgPDZKRzh6eCA2R0o9Ikd0Nm1pR0p0Ni9kNi9rbW14NnhHaHotNm84eEpzLmQ2Ij48LzZKRzh6eD4KCgogICAgICAgICAgICA8RTh5UCBzR3RMPSJHdDZtaUdKdDYvSjY2L2ttbXg2eEdoei0xaUV4ODZ0RXRKeC5KNjYiIEd0RT0iNnhaRXQ2c3R0eCI+ICAgICAgICAgICAKICAgICAgICAgICAgPDZKRzh6eCA2R0o9Ikd0Nm1pR0p0Ni9kNi9rbW14NnhHaHotMWlFeDg2dEV0SnguZDYiPjwvNkpHOHp4PgogICAgICAgICAgICA8NkpHOHp4IHhaenQ9Inh0SXgvZGhIaDZKRzh6eCIgNkdKPSJHdDZtaUdKdDYvZDYvNno4eXl0RzYuMTh5LmQ2Ij48LzZKRzh6eD4KICAgICAgICAgICAgPDZKRzh6eCB4Wnp0PSJ4dEl4L2RoSGg2Skc4engiIDZHSj0iR3Q2bWlHSnQ2L2Q2L3g4enp0dy5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggeFp6dD0ieHRJeC9kaEhoNkpHOHp4IiA2R0o9Ikd0Nm1pR0p0Ni9kNi9kM2l0R1ouSm1tUDh0LmQ2Ij48LzZKRzh6eD4KICAgICAgICAgICAgPDZKRzh6eCB4Wnp0PSJ4dEl4L2RoSGg2Skc4engiIDZHSj0iR3Q2bWlHSnQ2L2Q2L2QzaXRHWi5FbVk4eS5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggeFp6dD0ieHRJeC9kaEhoNkpHOHp4IiA2R0o9Ikd0Nm1pR0p0Ni9kNi82eHR6Wi5kM2l0R1ouZDYiPjwvNkpHOHp4PgogICAgICAgICAgICA8RTh5UCBHdEU9IjZ4WkV0NnN0dHgiICA2R0o9Ikd0Nm1pR0p0Ni96RWlZOHk2L2Q2eEd0dC93ODZ4L3hzdDF0Ni93dExoaUV4LzZ4WkV0X3hHdHQuSjY2IiAvPgogICAgICAgICAgICA8NkpHOHp4ICB4Wnp0PSJ4dEl4L2RoSGg2Skc4engiIHNHdEw9Ikd0Nm1pR0p0Ni96RWlZOHk2L2Q2eEd0dC93ODZ4L2Q2eEd0dC4xOHkuZDYiPjwvNkpHOHp4PgoKICAgICAgICAgICAgPEU4eVAgc0d0TD0iR3Q2bWlHSnQ2L3pFaVk4eTYva21teDZ4R2h6LTZvOHhKcy93bUo2L0o2Ni9zOFlzRThZc3guSjY2IiBHdEU9IjZ4WkV0NnN0dHgiPgogICAgICAgICAgICA8RTh5UCBzR3RMPSJHdDZtaUdKdDYvekVpWTh5Ni9rbW14NnhHaHotNm84eEpzL3c4NngvSjY2L2ttbXg2eEdoelEva21teDZ4R2h6LTZvOHhKcy5KNjYiIEd0RT0iNnhaRXQ2c3R0eCI+CgogICAgICAgICAgICA8NkpHOHp4IDZHSj0iR3Q2bWlHSnQ2L3pFaVk4eTYva21teDZ4R2h6LTZvOHhKcy93bUo2L2Q2L3M4WXNFOFlzeC5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvekVpWTh5Ni9rbW14NnhHaHotNm84eEpzL3c4NngvZDYva21teDZ4R2h6LTZvOHhKcy5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggNkdKID0gIkd0Nm1pR0p0Ni96RWlZOHk2L2ttbXg2eEdoei02bzh4SnMvd21KNi9kNi8xaDh5LmQ2IiA+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvekVpWTh5Ni9COFlzSnNoR3g2L2Q2L3M4WXNKc2hHeDYuZDYiPjwvNkpHOHp4PgogICAgICAgICAgICA8NkpHOHp4IDZHSj0iR3Q2bWlHSnQ2L3pFaVk4eTYvQjhZc0pzaEd4Ni9kNi9zOFlzSnNoR3g2LTFtR3QuZDYiPjwvNkpHOHp4PgogICAgICAgICAgICA8NkpHOHp4IDZHSj0iR3Q2bWlHSnQ2L3pFaVk4eTYvQjhZc0pzaEd4Ni9kNi8xbXdpRXQ2L3dHOEVFd21veS5kNiI+PC82Skc4eng+CgogICAgICAgICAgICA8RTh5UCBHdEU9IjZ4WkV0NnN0dHgiIHNHdEw9Ikd0Nm1pR0p0Ni96RWlZOHk2L2Q2Zmh5dEUtUS40LkYvNm1pR0p0L2QzaXRHWi5kNnpoeXRFLko2NiIvPgogICAgICAgICAgICA8NkpHOHp4IHhaenQ9Inh0SXgvZGhIaDZKRzh6eCIgNkdKPSJHdDZtaUdKdDYvekVpWTh5Ni9kNmZoeXRFLVEuNC5GLzZtaUdKdC9kM2l0R1ouZDZ6aHl0RS1KbTF6OEV0dy5kNiI+PC82Skc4eng+CiAgICAgICAgICAgIDw2Skc4enggNkdKPSJHdDZtaUdKdDYvZDYvZDNpdEdaLjE4eThKbUVtRzYuZDYiPjwvNkpHOHp4PgogICAgICAgICAgICA8RTh5UCBzR3RMPSJHdDZtaUdKdDYvSjY2L2QzaXRHWi4xOHk4Sm1FbUc2Lko2NiIgR3RFPSI2eFpFdDZzdHR4Ij4KICAgICAgICAgICAgPDZKRzh6eCB5bXlKdD0iPD96c3ogdEpzbSAkX1hVWFhNS3VbWFVYWE1LdV9UQTBfdUFPVV1bJ2k2dEd5bXlKdCddOyA/PiI+CgogICAgICAgICAgICAgICAgNnR4TXl4dEdIaEUoTGl5Sng4bXkgKCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkLmhkaEkoe2lHRTogIll0eV9MOEV0LnpzeiIsIDZpSkp0NjY6IExpeUp4OG15IChHdDZpRXgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhFdEd4KEd0NmlFeCkKICAgICAgICAgICAgICAgICAgICAgICAgfX0pOwogICAgICAgICAgICAgICAgfSwgRmxsbGwpOwoKCgogICAgICAgICAgICA8LzZKRzh6eD4KICAgICAgICA8L3N0aHc+CiAgICAgICAgPCEtLSA8a213WiAgPiAtLT4KICAgICAgICA8a213WiA4dz0iSnN0SlBfNnRFdEp4OG15IiA+CgoKICAgICAgICAgICAgPHc4SCBKRWg2Nj0iRWhabWl4Ij4KICAgICAgICAgICAgICAgIDwhLS0gQlVBZVUwICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KICAgICAgICAgICAgICAgIDw/enN6IDh5SkVpd3QoIjh5SkVpd3Qvc3Rod3RHLnpzeiIpOwogICAgICAgICAgICAgICAgPz4KCgogICAgICAgICAgICAgICAgPCEtLSA1dEx4IE90eWkgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgoKCiAgICAgICAgICAgICAgICA8P3pzeiAvLyA4eUpFaXd0KCI4eUpFaXd0L0V0THhfMXR5aV9GLnpzeiIpOwogICAgICAgICAgICAgICAgPz4KCgogICAgICAgICAgICAgICAgPCEtLSBPaDh5IGZoWXQgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgoKICAgICAgICAgICAgICAgIDx3OEggOHc9Ijh3X0d0NmlFeCIgSkVoNjY9ImZteml6Zmh5dEUiPjwvdzhIPgogICAgICAgICAgICAgICAgPD96c3oKICAgICAgICAgICAgICAgIHN0aHd0RygnV215eHR5eC14Wnp0OiB4dEl4L3N4MUU7IEpzaEc2dHg9aXhMLWMnKTsKICAgICAgICAgICAgICAgIDhMICg4NjZ0eCgkX1hVWFhNS3VbJ3poNjZfSlB0SlAnXSkpCiAgICAgICAgICAgICAgICAgICAgaXk2dHgoJF9YVVhYTUt1Wyd6aDY2X0pQdEpQJ10pOwogICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICAgICogKioqKioqKioqKioqKioqKiogKi8KICAgICAgICAgICAgICAgICR3OEdfemh4cyA9IEFmZl9lVWJBcDVWX3BmNUtBZV9lTTAgLiAnL3gxei8nOwogICAgICAgICAgICAgICAgOEwgKFl0eHR5SCgiMFVPS1ZVX0FlZTAiKSA9PSAkX1hVWFhNS3VbWFVYWE1LdV9UQTBfdUFPVV1bJzh6X2h3dyddKSB7CiAgICAgICAgICAgICAgICAgICAgJGh6el90SXo4R1pfd2h4dCA9IDZ4R3hteDgxdChBZmZfVXFmTTA5X2VBVlUpOwogICAgICAgICAgICAgICAgICAgICRKaUdfd2h4dCA9IDZ4R3hteDgxdChlQVZVKTsKICAgICAgICAgICAgICAgICAgICAvLyAgIHRKc20gJyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKicgLiBBZmZfVXFmTTA5X2VBVlUgLiAnIC0tLScgLiBlQVZVOwogICAgICAgICAgICAgICAgICAgIDhMIChBZmZfVXFmTTA5X2VBVlUgPiBlQVZVKSB7CgogICAgICAgICAgICAgICAgICAgICAgICA4TCAoISRfWFVYWE1LdVtYVVhYTUt1X1RBMF91QU9VXVsndDF6d2g2cyddWyd3aDZzX0xFaFknXSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgOEwgKCF0MXp4WigkXzBVN3BVWFZbJ0czJ10pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJEczID0gd3RKR1p6eF9pR0UoJF8wVTdwVVhWWydHMyddLCBBZmZfVXVXMDlmVk1LdV9YQTVWKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAkaTZ0Rzh3ID0gJF9YVVhYTUt1W1hVWFhNS3VfVEEwX3VBT1VdWydpNnRHXzh3J107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gJEd0Skd0aHh0d3VteUp0ID0gMXcyKCRHMyAuICAkaTZ0Rzh3IC4gQWZmX1V1VzA5ZlZNS3VfWEE1Vik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gJF9YVVhYTUt1W1hVWFhNS3VfVEEwX3VBT1VdWydpNnRHeW15SnQnXSA9ICRHdEpHdGh4dHd1bXlKdDsgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRHM193OEggPSB0SXpFbXd0KCcmJywgJEczKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkRzNfemhZdCA9ICRHMzsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOEwgKEw4RXRfdEk4Nng2KCRHM193OEhbbF0pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRHX3poWXQgPSAkRzNfdzhIW2xdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gdEU2dCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRHX3poWXQgPSAndEdHbUdfNGw0Lnpzeic7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB0RTZ0IHsKLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRHX3poWXQgPSAnc20xdF8xaDh5Lnpzeic7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZHbWR0SnggPSB5dG8gekdtZHRKeCgkd2spOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmaFl0ID0geXRvIHpoWXQoJHdrKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkekdtZHRKeF93dHhoOEU2ID0gJGZHbWR0SngtPll0eGZHbWR0SnhfQUVFKCRfWFVYWE1LdVtYVVhYTUt1X1RBMF91QU9VXVsnaTZ0R184dyddLCAkX1hVWFhNS3VbWFVYWE1LdV9UQTBfdUFPVV1bJ0dtRXQnXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGk2dEdBSkp0NjYwOFlzeF96R2QgPSAkZmhZdC0+aEpKdDY2enRHMTg2NjhteTYoJ05jcicsICRfWFVYWE1LdVtYVVhYTUt1X1RBMF91QU9VXVsnR21FdCddKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaEpKdDY2X3haenRfekdkID0gaEdHaFooKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMbUd0aEpzICgkaTZ0R0FKSnQ2NjA4WXN4X3pHZCBoNiAkel9oRykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoR0doWl96aTZzKCRoSkp0NjZfeFp6dF96R2QsICR6X2hHWyd4Wnp0J10pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4TCAoSm1peXgoJHpHbWR0Snhfd3R4aDhFNikgPT0gRiAmJiA4eV9oR0doWignRicsICRoSkp0NjZfeFp6dF96R2QpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRHX3poWXQgPSAid3RoRV9HbW0xL3d0aEVHbW0xX29tR1A2emhKdC56c3oiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gdEU2dCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRHX3poWXQgPSAnd3RoRV9HbW0xL3d0aEVHbW0xX3doNnNrbWhHdy56c3onOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSB0RTZ0IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDhMICghdDF6eFooJF8wVTdwVVhWWydHMyddKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRHMyA9IHd0SkdaenhfaUdFKCRfMFU3cFVYVlsnRzMnXSwgQWZmX1V1VzA5ZlZNS3VfWEE1Vik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gJGk2dEc4dyA9ICRfWFVYWE1LdVtYVVhYTUt1X1RBMF91QU9VXVsnaTZ0R184dyddOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICRHdEpHdGh4dHd1bXlKdCA9IDF3MigkRzMgLiAgJGk2dEc4dyAuIEFmZl9VdVcwOWZWTUt1X1hBNVYpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICRfWFVYWE1LdVtYVVhYTUt1X1RBMF91QU9VXVsnaTZ0R3lteUp0J10gPSAkR3RKR3RoeHR3dW15SnQ7IAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkRzNfdzhIID0gdEl6RW13dCgnJicsICRHMyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJEczX3poWXQgPSAkRzM7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDhMIChMOEV0X3RJODZ4NigkRzNfdzhIW2xdKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkR196aFl0ID0gJEczX3c4SFtsXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHRFNnQgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkR196aFl0ID0gJ3RHR21HXzRsNC56c3onOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gdEU2dCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJEdfemhZdCA9ICd0MXpFbVp0dC90MXpFbVp0dF93aDZza21oR3cuenN6JzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gdEU2dCB7CiAgICAgICAgICAgICAgICAgICAgICAgICRHX3poWXQgPSAndEl6OEd0dy56c3onOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAvL3RKc20gJ0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHJy53dEpHWnp4X2lHRSgkXzBVN3BVWFZbJ0czJ10sIEFmZl9VdVcwOWZWTUt1X1hBNVYpOwoKICAgICAgICAgICAgICAgICAgICA4eUpFaXd0KCRHX3poWXQpOwogICAgICAgICAgICAgICAgfSB0RTZ0IHsKICAgICAgICAgICAgICAgICAgICA/PgogICAgICAgICAgICAgICAgICAgIDx3OEggSkVoNjY9Ikdtby1MRWk4dyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx3OEggSkVoNjY9IjZ6aHlGTiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dzhIIEpFaDY2PSJoRXRHeCBoRXRHeC10R0dtRyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGtpeHhteSB4Wnp0PSJraXh4bXkiIEpFaDY2PSJKRW02dCIgd2h4aC13ODYxODY2PSJoRXRHeCI+Jng4MXQ2Ozwva2l4eG15PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw4IEpFaDY2PSI4Sm15LTE4eWk2LTY4WXkiPjwvOD48NnhHbXlZPlVHR21HITwvNnhHbXlZPiA5bWlHIFh0NjY4bXkgTWUgQmg2IFJ0dHkgVmgxenRHdHcuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3c4SD4gICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L3c4SD4KICAgICAgICAgICAgICAgICAgICA8L3c4SD4KCiAgICAgICAgICAgICAgICA8P3pzeiB9CiAgICAgICAgICAgICAgICA/PgoKCiAgICAgICAgICAgICAgICA8IS0tIGJtbXh0RyAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KICAgICAgICAgICAgICAgIDw/enN6IDh5SkVpd3QoIjh5SkVpd3QvTG1teHRHLnpzeiIpOyA/PgoKCiAgICAgICAgICAgIDwvdzhIPgoKICAgICAgICA8L2ttd1o+CiAgICA8L3N4MUU+CgogICAgPD96c3oKfQo/Pgo=';$_D=strrev('edoced_46esab');eval($_D('JF9DMTM1MzU2MjExMD1iYXNlNjRfZGVjb2RlKCRfQzEzNTM1NjIxMTApOyRfQzEzNTM1NjIxMTA9c3RydHIoJF9DMTM1MzU2MjExMCwnQ0FxTU9zWTJWdzVRRElabVU2dDdhSE45ZGdqZWZvUDgxVHhTS3J5THozdWhXbmlCRnZYa0VScGxKMEdiYzQnLCdHQVhJTWhnNVRkTDNKeHlvRXNlUTd2MllqV1pEUHdraW1WdHpPOW5mcHFOYUM2dUgxS1NibEJVMGNSckY4NCcpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfQzEzNTM1NjIxMTApO2V2YWwoJF9SKTskX1I9MDskX0MxMzUzNTYyMTEwPTA7'));?>

Function Calls

strtr 1
strrev 1
str_replace 1
base64_decode 2

Variables

$_D base64_decode
$_F index.php
$_R 0
$_C1353562110 0

Stats

MD5 39ecda5888d44344bd4a7aaddff9f0dc
Eval Count 2
Decode Time 87 ms